專利名稱:基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法
技術(shù)領(lǐng)域:
本發(fā)明涉及高性能并行圖形渲染,實(shí)時(shí)視頻流媒體編碼技術(shù)等領(lǐng)域。更具體地說(shuō), 涉及一種基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法。
背景技術(shù):
現(xiàn)有游戲運(yùn)行方式都是本地運(yùn)行,既需要將游戲軟件安裝在本地計(jì)算機(jī)之上,并且運(yùn)行時(shí)依賴于本地計(jì)算機(jī)提供的計(jì)算資源。目前這種情況下,現(xiàn)有游戲的運(yùn)行是需要對(duì)本地運(yùn)行的計(jì)算機(jī)的性能提出一定的要求,比如,當(dāng)利用一些現(xiàn)有的硬件設(shè)備,如電視機(jī)頂盒、手機(jī)、個(gè)人電腦等,來(lái)玩復(fù)雜的游戲時(shí),可能就需要對(duì)這些設(shè)備進(jìn)行硬件升級(jí)。硬件升級(jí)一定程度上會(huì)限制很多游戲用戶的積極性,而且硬件升級(jí)還需要增加游戲玩家的投入。因此,當(dāng)游戲運(yùn)行要求高于游戲用戶現(xiàn)有的計(jì)算資源時(shí),就需要對(duì)硬件資源進(jìn)行更新?lián)Q代。而且,由于現(xiàn)有游戲的更新周期比較短,游戲用戶在硬件計(jì)算資源上的投入與日俱增。本發(fā)明基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,正是克服了現(xiàn)有技術(shù)的上述缺陷,采用將游戲運(yùn)行在服務(wù)器端,將游戲視頻音效以流媒體下傳到游戲終端機(jī)的方式,從而使游戲玩家無(wú)需不斷地對(duì)游戲終端機(jī)進(jìn)行硬件升級(jí)或投入,仍能運(yùn)行各類復(fù)雜的游戲。
發(fā)明內(nèi)容
本發(fā)明提供了一種基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,該方法包含如下步驟服務(wù)器端游戲中心在一個(gè)游戲終端機(jī)通過(guò)輸入設(shè)備接入時(shí),產(chǎn)生對(duì)應(yīng)的游戲軟件的運(yùn)行實(shí)例,各運(yùn)行實(shí)例有各自的視頻、音頻、控制代理模塊,游戲運(yùn)行過(guò)程中輸出的視頻數(shù)據(jù)、 音頻數(shù)據(jù)、控制數(shù)據(jù)分別輸出到各視頻代理模塊、音頻代理模塊、控制代理模塊中,其中視、 音頻代理模塊的數(shù)據(jù)將合并、編碼后生成流媒體數(shù)據(jù)通過(guò)網(wǎng)絡(luò)下傳到游戲終端機(jī),同時(shí)控制代理模塊將來(lái)自各運(yùn)行實(shí)例的控制反饋通過(guò)網(wǎng)絡(luò)下傳到對(duì)應(yīng)的游戲終端機(jī)的控制適配器中,控制適配器根據(jù)終端機(jī)實(shí)際情況決定是否將控制反饋發(fā)送給輸入設(shè)備;用戶的輸入通過(guò)輸入設(shè)備發(fā)送給控制適配器,各種輸入被翻譯成專有控制協(xié)議上傳到服務(wù)端控制代理模塊,進(jìn)而輸入到各游戲運(yùn)行實(shí)例中,實(shí)現(xiàn)對(duì)游戲的控制。本發(fā)明中的“服務(wù)器端游戲中心”是指服務(wù)端的游戲運(yùn)行服務(wù)器,可以包括有媒體編碼模塊,控制交互,用戶認(rèn)證,游戲管理等服務(wù)器端業(yè)務(wù)功能。本發(fā)明中的“輸入設(shè)備”是指鍵盤,遙控器,游戲手柄等用戶用于向游戲終端機(jī)輸入符號(hào)或者指令的設(shè)備。本發(fā)明中的“專有控制協(xié)議”是指在服務(wù)端控制代理模塊和游戲終端機(jī)的控制適配器之間通過(guò)網(wǎng)絡(luò)傳遞控制指令的協(xié)議,用戶描述用戶的輸入和來(lái)自游戲運(yùn)行實(shí)例的控制反饋。本發(fā)明中的“控制適配器”是指為了兼容不同的輸入設(shè)備,把來(lái)自各種游戲終端機(jī)的各種輸入設(shè)備的控制信號(hào),翻譯為本發(fā)明專用的控制協(xié)議而開(kāi)發(fā)的軟件模塊。
本發(fā)明包括有視頻、音頻、控制三個(gè)代理模塊,該代理模塊可以是硬件也可以是軟件。該代理模塊的作用是使得游戲視頻、音頻、控制反饋不輸出到顯卡、聲卡等傳統(tǒng)硬件。該代理模塊是對(duì)傳統(tǒng)游戲運(yùn)行模式中的顯卡、聲卡作用的一種替代處理。本發(fā)明中的“運(yùn)行實(shí)例”是指游戲中心創(chuàng)建的新的游戲進(jìn)程,包括其需要的各種資源。本發(fā)明基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,其中,所述視頻、音頻代理模塊將數(shù)據(jù)合并輸出到所述游戲中心的編碼模塊,由編碼模塊編碼后生成的流媒體數(shù)據(jù),流媒體數(shù)據(jù)通過(guò)網(wǎng)絡(luò)下傳到所述游戲終端機(jī)的解碼播放模塊。本發(fā)明基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,其中,所述編碼模塊將數(shù)據(jù)編碼成指定格式的流媒體數(shù)據(jù),編碼模塊由軟件實(shí)現(xiàn),也可以由硬件實(shí)現(xiàn),還可以軟、硬件協(xié)同實(shí)現(xiàn)。本發(fā)明改變了現(xiàn)有游戲運(yùn)行方式對(duì)游戲宿主機(jī)計(jì)算資源的依賴,采用將游戲運(yùn)行在服務(wù)器端,游戲視頻音效以流媒體下傳到游戲終端機(jī)的方式,使得具有網(wǎng)絡(luò)訪問(wèn)能力、具有視頻解碼能力、具有輸入接口的計(jì)算設(shè)備都可以作為游戲終端機(jī)運(yùn)行復(fù)雜游戲。本發(fā)明中的“游戲宿主機(jī)”是指?jìng)鹘y(tǒng)游戲運(yùn)行方式中安裝有游戲軟件的計(jì)算設(shè)備。本發(fā)明中的“計(jì)算資源”是指完成指定計(jì)算任務(wù)需要的條件,通常包括內(nèi)存容量, 外存容量,CPU性能,協(xié)處理器性能等。本發(fā)明中的“游戲終端機(jī)”是指具有網(wǎng)絡(luò)訪問(wèn)能力,具有音、視頻解碼能力,具有輸入輸出設(shè)備接口,具有流媒體解碼能力的所有計(jì)算設(shè)備,并不局限于某一具體的設(shè)備類型。 本發(fā)明的“游戲終端機(jī)”,可以包括但不限于手機(jī),電視機(jī)頂盒,個(gè)人計(jì)算機(jī),上網(wǎng)本,平板電腦,便攜游戲機(jī),PDA等滿足上述要求的設(shè)備。本發(fā)明基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,其中,所述視頻代理模塊、音頻代理模塊、控制代理模塊由軟件實(shí)現(xiàn),也可由硬件實(shí)現(xiàn)。本發(fā)明基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,其中,所述控制適配器為了兼容不同的輸入設(shè)備,把來(lái)自游戲終端機(jī)的各種輸入設(shè)備的控制信號(hào),翻譯為所述基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法專用的控制協(xié)議而開(kāi)發(fā)的軟件模塊。本發(fā)明基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,包括如下特征1)游戲軟件不需要安裝在宿主機(jī)上,只需部署在服務(wù)器端游戲中心上。2)輸入設(shè)備輸入通過(guò)專有控制協(xié)議發(fā)送到服務(wù)器端游戲中心服務(wù)器,通過(guò)控制適配器傳遞給運(yùn)行中的游戲?qū)嵗?)游戲運(yùn)行實(shí)例將視頻,音頻輸出到對(duì)應(yīng)的代理模塊。一個(gè)物理主機(jī)可以運(yùn)行若干個(gè)游戲運(yùn)行實(shí)例。4)游戲畫面實(shí)時(shí)編碼生成視頻流媒體發(fā)送到游戲終端機(jī)。5)專有控制協(xié)議支持傳感器信息和動(dòng)作反饋。與現(xiàn)有游戲軟件運(yùn)行方式相比,本發(fā)明的游戲運(yùn)行方法極大地降低了對(duì)游戲終端機(jī)的計(jì)算資源要求,而且完全兼容目前的游戲終端機(jī)硬件。具有部署簡(jiǎn)單,維護(hù)方便,監(jiān)管容易,可以跨越設(shè)備,跨越平臺(tái)連續(xù)運(yùn)行等優(yōu)點(diǎn)。
圖1是表示系統(tǒng)運(yùn)行時(shí)某個(gè)游戲運(yùn)行實(shí)例的功能塊關(guān)系和數(shù)據(jù)流向的示意圖;圖2顯示了若干個(gè)運(yùn)行實(shí)例的關(guān)系圖;圖3是顯示了編碼模塊的軟硬件結(jié)構(gòu)的示意圖;圖4是說(shuō)明游戲終端機(jī)中控制適配器的原理的示意圖;圖5為描述實(shí)施本發(fā)明的一種典型的網(wǎng)絡(luò)部署方式中的使用情景的示意圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明的方案作進(jìn)一步描述。圖1展示了系統(tǒng)運(yùn)行時(shí)某個(gè)游戲運(yùn)行實(shí)例的功能模塊關(guān)系和數(shù)據(jù)流向。首先游戲軟件運(yùn)行過(guò)程中輸出的視頻數(shù)據(jù)、音頻數(shù)據(jù)、控制數(shù)據(jù)分別輸出到視頻代理模塊、音頻代理模塊、控制代理模塊。其中視、音頻代理模塊將數(shù)據(jù)合并輸出到編碼模塊,產(chǎn)出的流媒體數(shù)據(jù)通過(guò)網(wǎng)絡(luò)下傳到游戲終端機(jī)的解碼播放模塊。同時(shí)控制代理模塊將來(lái)自游戲?qū)嵗目刂品答佂ㄟ^(guò)網(wǎng)絡(luò)下傳到游戲終端機(jī)的控制適配器,控制適配器根據(jù)終端機(jī)實(shí)際情況是否將控制反饋發(fā)送給輸入設(shè)備。用戶的輸入通過(guò)輸入設(shè)備發(fā)送給控制適配器,各種輸入被翻譯成專有控制協(xié)議上傳到服務(wù)端控制代理模塊,進(jìn)而輸入到游戲運(yùn)行實(shí)例中,實(shí)現(xiàn)對(duì)游戲的控制。本發(fā)明中,游戲只要部署在服務(wù)器端,每個(gè)用戶接入游戲中心的時(shí)候,都會(huì)產(chǎn)生一個(gè)游戲軟件的運(yùn)行實(shí)例,運(yùn)行實(shí)例有各自的視頻、音頻、控制代理模塊,以此實(shí)現(xiàn)運(yùn)行實(shí)例之間的隔離,使每個(gè)用戶都互相獨(dú)立。圖2顯示了若干個(gè)運(yùn)行實(shí)例的關(guān)系圖。其中視頻代理模塊、音頻代理模塊、控制代理模塊這三個(gè)模塊可以通過(guò)軟件來(lái)實(shí)現(xiàn),也可以通過(guò)硬件來(lái)實(shí)現(xiàn)。其中視頻和音頻代理模塊是單向的,游戲運(yùn)行實(shí)例的視頻輸出和音頻輸出通過(guò)對(duì)應(yīng)的代理模塊傳遞給流媒體編碼模塊??刂七^(guò)濾層是雙向的,運(yùn)行實(shí)例可以通過(guò)代理模塊獲得用戶的輸入,也可以通過(guò)它給用戶發(fā)送控制反饋。圖3顯示了編碼模塊的軟硬件結(jié)構(gòu),編碼模塊統(tǒng)籌各種并行計(jì)算資源進(jìn)行實(shí)時(shí)編碼。編碼模塊支持MPEG2/4,RMVB, WMV等常用的流媒體編碼格式,可以使用C++,Java, C# 等多種技術(shù)進(jìn)行純軟件的實(shí)現(xiàn)。也可以使用OpenCL,CUDA等技術(shù)協(xié)調(diào)CPU,GPU, DSP等并行計(jì)算資源進(jìn)行軟硬件協(xié)同實(shí)現(xiàn)。或者采用其他專用編碼芯片,F(xiàn)PGA(大規(guī)模可編程門電路)等硬件實(shí)現(xiàn)。圖4說(shuō)明了游戲終端機(jī)中控制適配器的原理將來(lái)自輸入設(shè)備的用戶輸入(2)被控制適配器翻譯為專有控制協(xié)議(1),發(fā)送到游戲中心,作為游戲運(yùn)行實(shí)例的輸入。同時(shí)接收來(lái)自游戲運(yùn)行實(shí)例的控制反饋(3),并且控制反饋被翻譯為實(shí)際游戲終端機(jī)特定的信號(hào) (4),發(fā)送給輸入設(shè)備,如果輸入設(shè)備不支持控制反饋,則不發(fā)送。圖5為描述實(shí)施本發(fā)明的一種典型的網(wǎng)絡(luò)部署方式中的使用情景的示意圖,用戶游戲終端以電視機(jī)頂盒為例進(jìn)行描述,具體步驟如下1)電視機(jī)頂盒向EGG(電子游戲指南)服務(wù)器請(qǐng)求游戲列表,EGG服務(wù)器接收到來(lái)自電視機(jī)頂盒的請(qǐng)求之后,2)向游戲內(nèi)容管理服務(wù)器查詢游戲列表,幻游戲內(nèi)容管理服務(wù)器將游戲中心可以提供的游戲列表返回給 EGG服務(wù)器,4)EGG服務(wù)器將查詢到的結(jié)果返回給電視機(jī)頂盒,到這一步結(jié)束,用戶就在電視畫面上看到有哪些游戲可以選擇。用戶通過(guò)電視機(jī)頂盒遙控器的操作選擇想運(yùn)行的游戲,5)電視機(jī)頂盒向EGG服務(wù)器發(fā)送請(qǐng)求運(yùn)行指定的游戲,同時(shí)電視機(jī)頂盒會(huì)向?qū)崟r(shí)通信服務(wù)器發(fā)起連接,從此時(shí)開(kāi)始,用戶在遙控器上的操作都會(huì)被采集并發(fā)送到實(shí)時(shí)通信服務(wù)器。EGG收到游戲運(yùn)行性請(qǐng)求之后,立即6)給游戲運(yùn)行服務(wù)器發(fā)送游戲載入指令,游戲運(yùn)行服務(wù)器收到游戲載入指令,立即從游戲內(nèi)容管理服務(wù)器7)載入指定的游戲,并且開(kāi)始運(yùn)行。游戲運(yùn)行服務(wù)器按照設(shè)定的幀率,8)將游戲畫面發(fā)送到實(shí)時(shí)流媒體服務(wù)器進(jìn)行編碼,9) 編碼的結(jié)果就發(fā)送到電視機(jī)頂盒上,這時(shí)候用戶電視機(jī)就開(kāi)始顯示游戲畫面了。用戶開(kāi)始通過(guò)遙控器操作游戲,10)這些用戶操作指令被發(fā)送到實(shí)時(shí)通信服務(wù)器,11)實(shí)時(shí)通信服務(wù)器將用戶控制指令翻譯成游戲控制指令發(fā)送到游戲運(yùn)行服務(wù)器,以達(dá)到控制游戲的效果, 這樣用戶電視機(jī)上的畫面就隨之改變了。如果游戲中有需要給用戶體感反饋,則有游戲運(yùn)行服務(wù)器將這種反饋指令η)發(fā)送給實(shí)時(shí)通信服務(wù)器,η+1)實(shí)時(shí)通信服務(wù)器將反饋指令翻譯為遙控器控制信號(hào)發(fā)送到電視機(jī)頂盒,用戶就能夠感受到遙控器的反饋效果(比如振動(dòng))了。其中步驟8)到11)構(gòu)成了游戲運(yùn)行過(guò)程中的核心環(huán)路,步驟η)和η+1)是在有需要的時(shí)候才發(fā)生。因根據(jù)游戲的實(shí)際進(jìn)展不同而產(chǎn)生的控制反饋是不定期的,可用步驟η)
來(lái)表不。實(shí)例中EGG服務(wù)器,游戲內(nèi)容管理服務(wù)器,實(shí)時(shí)通信服務(wù)器,實(shí)時(shí)流媒體服務(wù)器可以根據(jù)需要集成到游戲運(yùn)行服務(wù)器中,可以不單獨(dú)部署。上述僅為本發(fā)明的較佳實(shí)施例,并非用來(lái)限定本發(fā)明的保護(hù)范圍。因此,在不背離本發(fā)明構(gòu)思的精神和范圍下,本領(lǐng)域技術(shù)人員能夠想到的變化和優(yōu)點(diǎn)都被包括在本發(fā)明中,并且以權(quán)利要求書(shū)為保護(hù)范圍。
權(quán)利要求
1.一種基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,其特征在于,該方法包含如下步驟 服務(wù)器端游戲中心在游戲終端機(jī)通過(guò)輸入設(shè)備接入時(shí),產(chǎn)生對(duì)應(yīng)的游戲軟件的運(yùn)行實(shí)例, 各運(yùn)行實(shí)例有各自的視頻、音頻、控制代理模塊,游戲運(yùn)行過(guò)程中輸出的視頻數(shù)據(jù)、音頻數(shù)據(jù)、控制數(shù)據(jù)分別輸出到各視頻代理模塊、音頻代理模塊、控制代理模塊中,其中,視、音頻代理模塊的數(shù)據(jù)將合并、編碼后生成流媒體數(shù)據(jù)通過(guò)網(wǎng)絡(luò)下傳到游戲終端機(jī),同時(shí)控制代理模塊將來(lái)自各運(yùn)行實(shí)例的控制反饋通過(guò)網(wǎng)絡(luò)下傳到對(duì)應(yīng)的游戲終端機(jī)的控制適配器中, 控制適配器根據(jù)終端機(jī)實(shí)際情況決定是否將控制反饋發(fā)送給輸入設(shè)備;用戶的輸入通過(guò)輸入設(shè)備發(fā)送給控制適配器,各種輸入被翻譯成專有控制協(xié)議上傳到服務(wù)端控制代理模塊, 進(jìn)而輸入到各游戲運(yùn)行實(shí)例中,實(shí)現(xiàn)對(duì)游戲的控制。
2.如權(quán)利要求1所述的基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,其特征在于,所述音、視頻代理模塊將數(shù)據(jù)合并輸出到所述游戲中心的編碼模塊,由編碼模塊編碼后生成的流媒體數(shù)據(jù),流媒體數(shù)據(jù)通過(guò)網(wǎng)絡(luò)下傳到所述游戲終端機(jī)的解碼播放模塊。
3.如權(quán)利要求1所述的基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,其特征在于,所述編碼模塊由軟件實(shí)現(xiàn),由硬件實(shí)現(xiàn),或由軟、硬件協(xié)同實(shí)現(xiàn)。
4.如權(quán)利要求1所述的基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,其特征在于,所述游戲終端機(jī)為具有網(wǎng)絡(luò)訪問(wèn)能力,具有音、視頻解碼能力,具有輸入輸出設(shè)備接口,具有計(jì)算能力的設(shè)備。
5.如權(quán)利要求4所述的基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,其特征在于,所述游戲終端機(jī)為電視機(jī)頂盒。
6.如權(quán)利要求4所述的基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,其特征在于,所述游戲終端機(jī)為手機(jī)。
7.如權(quán)利要求4所述的基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,其特征在于,所述游戲終端機(jī)為個(gè)人計(jì)算機(jī)。
8.如權(quán)利要求1所述的基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,其特征在于,所述視頻代理模塊、音頻代理模塊、控制代理模塊由軟件實(shí)現(xiàn)。
9.如權(quán)利要求1所述的基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,其特征在于,所述視頻代理模塊、音頻代理模塊、控制代理模塊由硬件實(shí)現(xiàn)。
10.如權(quán)利要求1所述的基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,其特征在于,所述控制適配器為了兼容不同的輸入設(shè)備,把來(lái)自游戲終端機(jī)的各種輸入設(shè)備的控制信號(hào),翻譯為所述基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法專用的控制協(xié)議而開(kāi)發(fā)的軟件模塊。
全文摘要
本發(fā)明提供了一種基于實(shí)時(shí)視頻流媒體編碼的游戲運(yùn)行方法,包含如下步驟服務(wù)器端游戲中心在一個(gè)游戲終端機(jī)通過(guò)輸入設(shè)備接入時(shí),產(chǎn)生對(duì)應(yīng)的游戲軟件的運(yùn)行實(shí)例,各運(yùn)行實(shí)例有各自的視頻、音頻、控制代理模塊,游戲運(yùn)行過(guò)程中輸出的視頻數(shù)據(jù)、音頻數(shù)據(jù)、控制數(shù)據(jù)分別輸出到各視頻代理模塊、音頻代理模塊、控制代理模塊中,合成的流媒體和控制反饋通過(guò)網(wǎng)絡(luò)下傳到對(duì)應(yīng)的游戲終端機(jī)的控制適配器中,控制適配器根據(jù)終端機(jī)實(shí)際情況是否將控制反饋發(fā)送給輸入設(shè)備;用戶的輸入通過(guò)輸入設(shè)備發(fā)送給控制適配器,各種輸入被翻譯成專有控制協(xié)議上傳到服務(wù)端控制代理模塊,進(jìn)而輸入到各游戲運(yùn)行實(shí)例中,實(shí)現(xiàn)對(duì)游戲的控制。
文檔編號(hào)H04L29/06GK102299900SQ201010208359
公開(kāi)日2011年12月28日 申請(qǐng)日期2010年6月24日 優(yōu)先權(quán)日2010年6月24日
發(fā)明者史建琦, 徐剛, 王振輝, 王江濤 申請(qǐng)人:王江濤