专利名称:基于实时视频流媒体编码的游戏运行方法
技术领域:
本发明涉及高性能并行图形渲染,实时视频流媒体编码技术等领域。更具体地说, 涉及一种基于实时视频流媒体编码的游戏运行方法。
背景技术:
现有游戏运行方式都是本地运行,既需要将游戏软件安装在本地计算机之上,并且运行时依赖于本地计算机提供的计算资源。目前这种情况下,现有游戏的运行是需要对本地运行的计算机的性能提出一定的要求,比如,当利用一些现有的硬件设备,如电视机顶盒、手机、个人电脑等,来玩复杂的游戏时,可能就需要对这些设备进行硬件升级。硬件升级一定程度上会限制很多游戏用户的积极性,而且硬件升级还需要增加游戏玩家的投入。因此,当游戏运行要求高于游戏用户现有的计算资源时,就需要对硬件资源进行更新换代。而且,由于现有游戏的更新周期比较短,游戏用户在硬件计算资源上的投入与日俱增。本发明基于实时视频流媒体编码的游戏运行方法,正是克服了现有技术的上述缺陷,采用将游戏运行在服务器端,将游戏视频音效以流媒体下传到游戏终端机的方式,从而使游戏玩家无需不断地对游戏终端机进行硬件升级或投入,仍能运行各类复杂的游戏。
发明内容
本发明提供了一种基于实时视频流媒体编码的游戏运行方法,该方法包含如下步骤服务器端游戏中心在一个游戏终端机通过输入设备接入时,产生对应的游戏软件的运行实例,各运行实例有各自的视频、音频、控制代理模块,游戏运行过程中输出的视频数据、 音频数据、控制数据分别输出到各视频代理模块、音频代理模块、控制代理模块中,其中视、 音频代理模块的数据将合并、编码后生成流媒体数据通过网络下传到游戏终端机,同时控制代理模块将来自各运行实例的控制反馈通过网络下传到对应的游戏终端机的控制适配器中,控制适配器根据终端机实际情况决定是否将控制反馈发送给输入设备;用户的输入通过输入设备发送给控制适配器,各种输入被翻译成专有控制协议上传到服务端控制代理模块,进而输入到各游戏运行实例中,实现对游戏的控制。本发明中的“服务器端游戏中心”是指服务端的游戏运行服务器,可以包括有媒体编码模块,控制交互,用户认证,游戏管理等服务器端业务功能。本发明中的“输入设备”是指键盘,遥控器,游戏手柄等用户用于向游戏终端机输入符号或者指令的设备。本发明中的“专有控制协议”是指在服务端控制代理模块和游戏终端机的控制适配器之间通过网络传递控制指令的协议,用户描述用户的输入和来自游戏运行实例的控制反馈。本发明中的“控制适配器”是指为了兼容不同的输入设备,把来自各种游戏终端机的各种输入设备的控制信号,翻译为本发明专用的控制协议而开发的软件模块。
本发明包括有视频、音频、控制三个代理模块,该代理模块可以是硬件也可以是软件。该代理模块的作用是使得游戏视频、音频、控制反馈不输出到显卡、声卡等传统硬件。该代理模块是对传统游戏运行模式中的显卡、声卡作用的一种替代处理。本发明中的“运行实例”是指游戏中心创建的新的游戏进程,包括其需要的各种资源。本发明基于实时视频流媒体编码的游戏运行方法,其中,所述视频、音频代理模块将数据合并输出到所述游戏中心的编码模块,由编码模块编码后生成的流媒体数据,流媒体数据通过网络下传到所述游戏终端机的解码播放模块。本发明基于实时视频流媒体编码的游戏运行方法,其中,所述编码模块将数据编码成指定格式的流媒体数据,编码模块由软件实现,也可以由硬件实现,还可以软、硬件协同实现。本发明改变了现有游戏运行方式对游戏宿主机计算资源的依赖,采用将游戏运行在服务器端,游戏视频音效以流媒体下传到游戏终端机的方式,使得具有网络访问能力、具有视频解码能力、具有输入接口的计算设备都可以作为游戏终端机运行复杂游戏。本发明中的“游戏宿主机”是指传统游戏运行方式中安装有游戏软件的计算设备。本发明中的“计算资源”是指完成指定计算任务需要的条件,通常包括内存容量, 外存容量,CPU性能,协处理器性能等。本发明中的“游戏终端机”是指具有网络访问能力,具有音、视频解码能力,具有输入输出设备接口,具有流媒体解码能力的所有计算设备,并不局限于某一具体的设备类型。 本发明的“游戏终端机”,可以包括但不限于手机,电视机顶盒,个人计算机,上网本,平板电脑,便携游戏机,PDA等满足上述要求的设备。本发明基于实时视频流媒体编码的游戏运行方法,其中,所述视频代理模块、音频代理模块、控制代理模块由软件实现,也可由硬件实现。本发明基于实时视频流媒体编码的游戏运行方法,其中,所述控制适配器为了兼容不同的输入设备,把来自游戏终端机的各种输入设备的控制信号,翻译为所述基于实时视频流媒体编码的游戏运行方法专用的控制协议而开发的软件模块。本发明基于实时视频流媒体编码的游戏运行方法,包括如下特征1)游戏软件不需要安装在宿主机上,只需部署在服务器端游戏中心上。2)输入设备输入通过专有控制协议发送到服务器端游戏中心服务器,通过控制适配器传递给运行中的游戏实例。3)游戏运行实例将视频,音频输出到对应的代理模块。一个物理主机可以运行若干个游戏运行实例。4)游戏画面实时编码生成视频流媒体发送到游戏终端机。5)专有控制协议支持传感器信息和动作反馈。与现有游戏软件运行方式相比,本发明的游戏运行方法极大地降低了对游戏终端机的计算资源要求,而且完全兼容目前的游戏终端机硬件。具有部署简单,维护方便,监管容易,可以跨越设备,跨越平台连续运行等优点。
图1是表示系统运行时某个游戏运行实例的功能块关系和数据流向的示意图;图2显示了若干个运行实例的关系图;图3是显示了编码模块的软硬件结构的示意图;图4是说明游戏终端机中控制适配器的原理的示意图;图5为描述实施本发明的一种典型的网络部署方式中的使用情景的示意图。
具体实施例方式下面结合附图和具体实施方式
对本发明的方案作进一步描述。图1展示了系统运行时某个游戏运行实例的功能模块关系和数据流向。首先游戏软件运行过程中输出的视频数据、音频数据、控制数据分别输出到视频代理模块、音频代理模块、控制代理模块。其中视、音频代理模块将数据合并输出到编码模块,产出的流媒体数据通过网络下传到游戏终端机的解码播放模块。同时控制代理模块将来自游戏实例的控制反馈通过网络下传到游戏终端机的控制适配器,控制适配器根据终端机实际情况是否将控制反馈发送给输入设备。用户的输入通过输入设备发送给控制适配器,各种输入被翻译成专有控制协议上传到服务端控制代理模块,进而输入到游戏运行实例中,实现对游戏的控制。本发明中,游戏只要部署在服务器端,每个用户接入游戏中心的时候,都会产生一个游戏软件的运行实例,运行实例有各自的视频、音频、控制代理模块,以此实现运行实例之间的隔离,使每个用户都互相独立。图2显示了若干个运行实例的关系图。其中视频代理模块、音频代理模块、控制代理模块这三个模块可以通过软件来实现,也可以通过硬件来实现。其中视频和音频代理模块是单向的,游戏运行实例的视频输出和音频输出通过对应的代理模块传递给流媒体编码模块。控制过滤层是双向的,运行实例可以通过代理模块获得用户的输入,也可以通过它给用户发送控制反馈。图3显示了编码模块的软硬件结构,编码模块统筹各种并行计算资源进行实时编码。编码模块支持MPEG2/4,RMVB, WMV等常用的流媒体编码格式,可以使用C++,Java, C# 等多种技术进行纯软件的实现。也可以使用OpenCL,CUDA等技术协调CPU,GPU, DSP等并行计算资源进行软硬件协同实现。或者采用其他专用编码芯片,FPGA(大规模可编程门电路)等硬件实现。图4说明了游戏终端机中控制适配器的原理将来自输入设备的用户输入(2)被控制适配器翻译为专有控制协议(1),发送到游戏中心,作为游戏运行实例的输入。同时接收来自游戏运行实例的控制反馈(3),并且控制反馈被翻译为实际游戏终端机特定的信号 (4),发送给输入设备,如果输入设备不支持控制反馈,则不发送。图5为描述实施本发明的一种典型的网络部署方式中的使用情景的示意图,用户游戏终端以电视机顶盒为例进行描述,具体步骤如下1)电视机顶盒向EGG(电子游戏指南)服务器请求游戏列表,EGG服务器接收到来自电视机顶盒的请求之后,2)向游戏内容管理服务器查询游戏列表,幻游戏内容管理服务器将游戏中心可以提供的游戏列表返回给 EGG服务器,4)EGG服务器将查询到的结果返回给电视机顶盒,到这一步结束,用户就在电视画面上看到有哪些游戏可以选择。用户通过电视机顶盒遥控器的操作选择想运行的游戏,5)电视机顶盒向EGG服务器发送请求运行指定的游戏,同时电视机顶盒会向实时通信服务器发起连接,从此时开始,用户在遥控器上的操作都会被采集并发送到实时通信服务器。EGG收到游戏运行性请求之后,立即6)给游戏运行服务器发送游戏载入指令,游戏运行服务器收到游戏载入指令,立即从游戏内容管理服务器7)载入指定的游戏,并且开始运行。游戏运行服务器按照设定的帧率,8)将游戏画面发送到实时流媒体服务器进行编码,9) 编码的结果就发送到电视机顶盒上,这时候用户电视机就开始显示游戏画面了。用户开始通过遥控器操作游戏,10)这些用户操作指令被发送到实时通信服务器,11)实时通信服务器将用户控制指令翻译成游戏控制指令发送到游戏运行服务器,以达到控制游戏的效果, 这样用户电视机上的画面就随之改变了。如果游戏中有需要给用户体感反馈,则有游戏运行服务器将这种反馈指令η)发送给实时通信服务器,η+1)实时通信服务器将反馈指令翻译为遥控器控制信号发送到电视机顶盒,用户就能够感受到遥控器的反馈效果(比如振动)了。其中步骤8)到11)构成了游戏运行过程中的核心环路,步骤η)和η+1)是在有需要的时候才发生。因根据游戏的实际进展不同而产生的控制反馈是不定期的,可用步骤η)
来表不。实例中EGG服务器,游戏内容管理服务器,实时通信服务器,实时流媒体服务器可以根据需要集成到游戏运行服务器中,可以不单独部署。上述仅为本发明的较佳实施例,并非用来限定本发明的保护范围。因此,在不背离本发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以权利要求书为保护范围。
权利要求
1.一种基于实时视频流媒体编码的游戏运行方法,其特征在于,该方法包含如下步骤 服务器端游戏中心在游戏终端机通过输入设备接入时,产生对应的游戏软件的运行实例, 各运行实例有各自的视频、音频、控制代理模块,游戏运行过程中输出的视频数据、音频数据、控制数据分别输出到各视频代理模块、音频代理模块、控制代理模块中,其中,视、音频代理模块的数据将合并、编码后生成流媒体数据通过网络下传到游戏终端机,同时控制代理模块将来自各运行实例的控制反馈通过网络下传到对应的游戏终端机的控制适配器中, 控制适配器根据终端机实际情况决定是否将控制反馈发送给输入设备;用户的输入通过输入设备发送给控制适配器,各种输入被翻译成专有控制协议上传到服务端控制代理模块, 进而输入到各游戏运行实例中,实现对游戏的控制。
2.如权利要求1所述的基于实时视频流媒体编码的游戏运行方法,其特征在于,所述音、视频代理模块将数据合并输出到所述游戏中心的编码模块,由编码模块编码后生成的流媒体数据,流媒体数据通过网络下传到所述游戏终端机的解码播放模块。
3.如权利要求1所述的基于实时视频流媒体编码的游戏运行方法,其特征在于,所述编码模块由软件实现,由硬件实现,或由软、硬件协同实现。
4.如权利要求1所述的基于实时视频流媒体编码的游戏运行方法,其特征在于,所述游戏终端机为具有网络访问能力,具有音、视频解码能力,具有输入输出设备接口,具有计算能力的设备。
5.如权利要求4所述的基于实时视频流媒体编码的游戏运行方法,其特征在于,所述游戏终端机为电视机顶盒。
6.如权利要求4所述的基于实时视频流媒体编码的游戏运行方法,其特征在于,所述游戏终端机为手机。
7.如权利要求4所述的基于实时视频流媒体编码的游戏运行方法,其特征在于,所述游戏终端机为个人计算机。
8.如权利要求1所述的基于实时视频流媒体编码的游戏运行方法,其特征在于,所述视频代理模块、音频代理模块、控制代理模块由软件实现。
9.如权利要求1所述的基于实时视频流媒体编码的游戏运行方法,其特征在于,所述视频代理模块、音频代理模块、控制代理模块由硬件实现。
10.如权利要求1所述的基于实时视频流媒体编码的游戏运行方法,其特征在于,所述控制适配器为了兼容不同的输入设备,把来自游戏终端机的各种输入设备的控制信号,翻译为所述基于实时视频流媒体编码的游戏运行方法专用的控制协议而开发的软件模块。
全文摘要
本发明提供了一种基于实时视频流媒体编码的游戏运行方法,包含如下步骤服务器端游戏中心在一个游戏终端机通过输入设备接入时,产生对应的游戏软件的运行实例,各运行实例有各自的视频、音频、控制代理模块,游戏运行过程中输出的视频数据、音频数据、控制数据分别输出到各视频代理模块、音频代理模块、控制代理模块中,合成的流媒体和控制反馈通过网络下传到对应的游戏终端机的控制适配器中,控制适配器根据终端机实际情况是否将控制反馈发送给输入设备;用户的输入通过输入设备发送给控制适配器,各种输入被翻译成专有控制协议上传到服务端控制代理模块,进而输入到各游戏运行实例中,实现对游戏的控制。
文档编号H04L29/06GK102299900SQ201010208359
公开日2011年12月28日 申请日期2010年6月24日 优先权日2010年6月24日
发明者史建琦, 徐刚, 王振辉, 王江涛 申请人:王江涛