亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

生成并執(zhí)行計(jì)算機(jī)應(yīng)用的Miniapp的方法和系統(tǒng)的制作方法

文檔序號(hào):6526333閱讀:283來源:國(guó)知局
生成并執(zhí)行計(jì)算機(jī)應(yīng)用的Miniapp的方法和系統(tǒng)的制作方法
【專利摘要】在云計(jì)算系統(tǒng)上執(zhí)行第一應(yīng)用第一時(shí)間段。記錄與在所述第一時(shí)間段期間第一應(yīng)用的執(zhí)行相關(guān)的用戶輸入信號(hào)。生成對(duì)應(yīng)于如在所述第一時(shí)間段的第二時(shí)間段期間執(zhí)行的第一應(yīng)用的一部分的第二應(yīng)用。第二應(yīng)用由在所述第二時(shí)間段期間執(zhí)行的第一應(yīng)用的程序指令定義。生成miniapp以包括在所述第二時(shí)間段期間第一應(yīng)用的執(zhí)行期間記錄的第二應(yīng)用和用戶輸入信號(hào)。
【專利說明】生成并執(zhí)行計(jì)算機(jī)應(yīng)用的M i n i app的方法和系統(tǒng)
【背景技術(shù)】
[0001]存在用于執(zhí)行和再現(xiàn)視頻游戲的幾種模型。在大部分簡(jiǎn)單的模型中,游戲在游戲玩家在本地特有的計(jì)算設(shè)備上被執(zhí)行和再現(xiàn)。在另一模型中,游戲狀態(tài)被維持在中央服務(wù)器處并通過計(jì)算網(wǎng)絡(luò)傳遞到視頻的再現(xiàn)發(fā)生的客戶端。這個(gè)模型通常由多玩家游戲使用,在多玩家游戲中,游戲狀態(tài)取決于通過計(jì)算網(wǎng)絡(luò)從游戲的多個(gè)玩家接收的輸入。在第三種模型中,游戲狀態(tài)被維持在也再現(xiàn)通過計(jì)算網(wǎng)絡(luò)作為視頻流傳送給客戶端的視頻的中央服務(wù)器處。

【發(fā)明內(nèi)容】

[0002]在一個(gè)實(shí)施方案中,公開了用于生成miniapp的方法。該方法包括在云計(jì)算系統(tǒng)上執(zhí)行第一應(yīng)用一時(shí)間段。該方法還包括記錄與在所述時(shí)間段期間第一應(yīng)用的執(zhí)行相關(guān)的用戶輸入信號(hào)。該方法還包括記錄在所述時(shí)間段期間執(zhí)行的第一應(yīng)用的可執(zhí)行指令和狀態(tài)數(shù)據(jù)。該方法還包括生成對(duì)應(yīng)于在所述時(shí)間段的一部分期間執(zhí)行的第一應(yīng)用的一個(gè)或多個(gè)部分的第二應(yīng)用。第二應(yīng)用由如在所述時(shí)間段的所述部分期間記錄的第一應(yīng)用的可執(zhí)行指令和狀態(tài)數(shù)據(jù)定義。該方法還包括生成miniapp以包括在所述時(shí)間段的所述部分期間第一應(yīng)用的執(zhí)行期間記錄的第二應(yīng)用和用戶輸入信號(hào)。
[0003]在一個(gè)實(shí)施方案中,公開了 miniapp系統(tǒng)。miniapp系統(tǒng)包括miniapp生成模塊,其被定義為生成miniapp作為第一應(yīng)用的程序指令的子集和在第一應(yīng)用的程序指令的子集的執(zhí)行期間接收的用戶輸入信號(hào)的集合和應(yīng)用狀態(tài)數(shù)據(jù)。miniapp系統(tǒng)還包括被定義成為到miniapp的鏈接的公開作準(zhǔn)備的miniapp公開模塊,miniapp公開模塊在激活時(shí)將基于用戶輸入信號(hào)的集合和在miniapp內(nèi)的應(yīng)用狀態(tài)數(shù)據(jù)而發(fā)起第一應(yīng)用的程序指令的子集的自動(dòng)執(zhí)行。Miniapp系統(tǒng)還包括被定義為基于用戶輸入信號(hào)的新集合提供第一應(yīng)用的程序指令的子集的執(zhí)行的miniapp執(zhí)行模塊。
[0004]在一個(gè)實(shí)施方案中,公開了用于生成miniapp的數(shù)據(jù)存儲(chǔ)設(shè)備,其具有存儲(chǔ)在其上的程序指令。數(shù)據(jù)存儲(chǔ)設(shè)備包括用于在云計(jì)算系統(tǒng)上執(zhí)行第一應(yīng)用一時(shí)間段的程序指令。數(shù)據(jù)存儲(chǔ)設(shè)備還包括用于記錄與在所述時(shí)間段期間第一應(yīng)用的執(zhí)行相關(guān)的用戶輸入信號(hào)的程序指令。數(shù)據(jù)存儲(chǔ)設(shè)備還包括用于記錄在所述時(shí)間段期間執(zhí)行的第一應(yīng)用的可執(zhí)行指令和狀態(tài)數(shù)據(jù)的程序指令。數(shù)據(jù)存儲(chǔ)設(shè)備還包括用于生成對(duì)應(yīng)于在所述時(shí)間段的一部分期間執(zhí)行的第一應(yīng)用的一個(gè)或多個(gè)部分的第二應(yīng)用的程序指令。第二應(yīng)用由如在所述時(shí)間段的所述部分期間記錄的第一應(yīng)用的可執(zhí)行指令和狀態(tài)數(shù)據(jù)定義。數(shù)據(jù)存儲(chǔ)系統(tǒng)還包括用于生成miniapp以包括在所述時(shí)間段的所述部分期間第一應(yīng)用的執(zhí)行期間記錄的第二應(yīng)用和用戶輸入信號(hào)的程序指令。
[0005]結(jié)合附圖,本發(fā)明的其它方面根據(jù)下面的詳細(xì)描述將變得更明顯,附圖作為例子說明本發(fā)明。
【專利附圖】

【附圖說明】[0006]圖1是根據(jù)本發(fā)明的各種實(shí)施方案的游戲系統(tǒng)的方框圖。
[0007]圖2是配置成供應(yīng)多個(gè)視頻游戲的視頻源的實(shí)施方案的方框圖。
[0008]圖3示出根據(jù)本發(fā)明的各種實(shí)施方案的在游戲視頻(視頻幀)上的覆蓋。
[0009]圖4示出根據(jù)本發(fā)明的各種實(shí)施方案的配置成將用戶輸入映射到游戲命令的輸入映射的部分。
[0010]圖5示出根據(jù)本發(fā)明的各種實(shí)施方案的使用覆蓋的方法。
[0011]圖6示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的用于生成并執(zhí)行遠(yuǎn)程供應(yīng)的計(jì)算機(jī)應(yīng)用和遠(yuǎn)程供應(yīng)的計(jì)算機(jī)應(yīng)用的miniapp的云計(jì)算系統(tǒng)的圖。
[0012]圖7示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的與圖2的視頻DEP245A通過接口連接的miniapp 模塊。
[0013]圖8示出用戶終端顯示器,其上顯示視頻游戲的視頻序列。
[0014]圖9示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的包括可顯示在用戶的顯示器上的一組miniapp生成⑶I控制的miniapp生成模式的例子。
[0015]圖10示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的當(dāng)用戶激活重放按鈕時(shí)發(fā)起的miniapp重放模式。
[0016]圖11示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的可顯示在用戶的顯示器上的一組示例性miniapp保存⑶I控制。
[0017]圖12示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的可顯示在用戶的顯示器上的一組示例性miniapp公開⑶I控制。
[0018]圖13示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的包括數(shù)據(jù)字段的顯示圖像,用戶可通過這些數(shù)據(jù)字段輸入他們對(duì)選定的網(wǎng)站的登錄證書。
[0019]圖14示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的當(dāng)用戶成功地登錄到選定的網(wǎng)站上時(shí)在用戶的顯示器上再現(xiàn)的miniapp公開顯示圖像。
[0020]圖15示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的用戶的社會(huì)媒體網(wǎng)頁(yè)的顯示圖像,該網(wǎng)頁(yè)具有在其上作為圖標(biāo)公開的用戶的miniapp。
[0021]圖16示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的第二用戶的社會(huì)媒體網(wǎng)頁(yè)的顯示圖像,在該網(wǎng)頁(yè)上,第一用戶的所公開的miniapp作為圖標(biāo)是可訪問的。
[0022]圖17示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的基于第一用戶的所記錄的用戶輸入信號(hào)在第二用戶的顯示器上執(zhí)行的第一用戶的所公開的miniapp。
[0023]圖18示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的玩第一用戶所生成的miniapp的第二用戶。
[0024]圖19示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的用于生成miniapp的方法的流程圖。
[0025]圖20示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的miniapp系統(tǒng)的方框圖。
【具體實(shí)施方式】
[0026]在下面的描述中,闡述了很多特定的細(xì)節(jié),以便提供對(duì)本發(fā)明的徹底理解。然而對(duì)本領(lǐng)域中的技術(shù)人員明顯的是,本發(fā)明可在沒有這些特定細(xì)節(jié)的一些或全部的情況下被實(shí)踐。在其它實(shí)例中,并未詳細(xì)描述了公知的過程操作,以便不使本發(fā)明不必要地難理解。
[0027]從遠(yuǎn)程計(jì)算平臺(tái)例如在云計(jì)算系統(tǒng)上執(zhí)行的虛擬機(jī)提供計(jì)算機(jī)應(yīng)用。在遠(yuǎn)程計(jì)算平臺(tái)上執(zhí)行的miniapp模塊被定義為提供miniapp相關(guān)的圖形用戶界面元素和在通過網(wǎng)絡(luò)傳輸?shù)接脩舻挠?jì)算機(jī)應(yīng)用的顯示幀內(nèi)的相應(yīng)功能。Miniapp模塊提供用戶可激活的元素,計(jì)算機(jī)應(yīng)用的執(zhí)行歷史的一部分可通過該元素被保存為miniapp片斷。Miniapp模塊還為將miniapp片斷貼到網(wǎng)站例如社會(huì)媒體網(wǎng)站作準(zhǔn)備。Miniapp片斷沒有限制地包括:1)計(jì)算機(jī)應(yīng)用執(zhí)行歷史的部分的記錄,以及2)與計(jì)算機(jī)應(yīng)用執(zhí)行歷史的所記錄的部分相關(guān)的計(jì)算機(jī)應(yīng)用功能的一部分的編索引。miniapp片斷通過它被貼到的網(wǎng)站來激活沒有限制地為下列項(xiàng)作準(zhǔn)備:1)計(jì)算機(jī)應(yīng)用執(zhí)行歷史的所記錄的部分的查看,2)計(jì)算機(jī)應(yīng)用的被編索引的部分的新執(zhí)行,3)作為額外的miniapp片斷的被編索引的計(jì)算機(jī)應(yīng)用的新執(zhí)行的記錄,4)顯示控制以為完全的計(jì)算機(jī)應(yīng)用的采購(gòu)作準(zhǔn)備,以及5)顯示控制以為除在miniapp片斷中示出的功能以外的計(jì)算機(jī)應(yīng)用功能的擴(kuò)展部分的選擇和采購(gòu)作準(zhǔn)備。
[0028]圖1是根據(jù)本發(fā)明的各種實(shí)施方案的游戲系統(tǒng)100的方框圖。游戲系統(tǒng)100配置成例如經(jīng)由網(wǎng)絡(luò)115向被單獨(dú)地編號(hào)為110A、IlOB等的一個(gè)或多個(gè)客戶端110提供視頻流。游戲系統(tǒng)100—般包括視頻服務(wù)器系統(tǒng)120和可選的游戲服務(wù)器125。視頻服務(wù)器系統(tǒng)120可配置成提供以各種可選的視頻格式——包括還沒有被定義的格式——的視頻流。此外,視頻流可包括配置成以各種幀率向用戶顯現(xiàn)的視頻幀。一般幀率是每秒30幀、每秒60幀和每秒120幀。雖然更高或更低的幀率包括在本發(fā)明的替代實(shí)施方案中。
[0029]客戶端110,即,110AU10B等可包括端子、個(gè)人計(jì)算機(jī)、游戲控制臺(tái)、平板計(jì)算機(jī)、電話、機(jī)頂盒、信息廳、無線設(shè)備、指墊、獨(dú)立設(shè)備、手持游戲設(shè)備和/或類似物。一般,客戶端110配置成接收編碼的視頻流,對(duì)視頻流解碼并向用戶例如游戲的玩家顯現(xiàn)因而生成的視頻。接收編碼的視頻流和/或?qū)σ曨l流解碼的過程一般包括將單獨(dú)的視頻幀存儲(chǔ)在客戶端110的接收緩沖器中。視頻流可在與客戶端Iio成一整體的顯示器上或在單獨(dú)的設(shè)備例如監(jiān)視器或電視機(jī)上顯現(xiàn)給用戶。
[0030]客戶端110配置成經(jīng)由網(wǎng)絡(luò)115接收視頻流。網(wǎng)絡(luò)115可以是任何類型的通信網(wǎng)絡(luò),包括電話網(wǎng)絡(luò)、互聯(lián)網(wǎng)、無線網(wǎng)絡(luò)、輸電線網(wǎng)絡(luò)、局域網(wǎng)、廣域網(wǎng)、專用網(wǎng)絡(luò)和/或類似物。在一些實(shí)施方案中,視頻流經(jīng)由標(biāo)準(zhǔn)協(xié)議例如TCP/IP或UDP/IP被傳遞??蛇x地,視頻流可經(jīng)由專用標(biāo)準(zhǔn)被傳遞。
[0031]客戶端110的一般例子是包括處理器、非易失性存儲(chǔ)器、顯示器、解碼邏輯、網(wǎng)絡(luò)通信能力和輸入設(shè)備的個(gè)人計(jì)算機(jī)。解碼邏輯可包括硬件、固件和/或存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,即,非臨時(shí)數(shù)據(jù)存儲(chǔ)設(shè)備上的軟件。用于對(duì)視頻流解碼(和編碼)的系統(tǒng)在本領(lǐng)域中是公知的,且根據(jù)所使用的特定編碼方案而變化。
[0032]由客戶端110接收的視頻流(和可選地音頻流)由視頻服務(wù)器系統(tǒng)120生成并提供。視頻流包括視頻幀(而音頻流包括音頻幀)。視頻幀配置(例如,它們包括在適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)中的像素信息)成有意義地促進(jìn)被顯示給用戶的圖像。如本文使用的,術(shù)語“視頻幀”用于指主要包括信息的幀,該信息配置成例如促進(jìn)通過在視覺顯示器中再現(xiàn)幀信息來實(shí)現(xiàn)顯示給用戶的圖像。在本文關(guān)于“視頻幀”提供的大部分公開也可應(yīng)用于“音頻幀”。
[0033]客戶端110 —般配置成從用戶接收輸入。這些輸入可包括配置成改變視頻游戲的狀態(tài)或以另外方式影響游戲玩耍的游戲命令。游戲命令可使用輸入設(shè)備而被接收和/或可通過在客戶端110上執(zhí)行的計(jì)算指令來自動(dòng)產(chǎn)生。客戶端110的輸入設(shè)備可包括例如鍵盤、操縱桿、指示設(shè)備、力反饋設(shè)備、運(yùn)動(dòng)和/或位置感測(cè)設(shè)備、鼠標(biāo)、觸摸屏、神經(jīng)接口、攝像機(jī)、待發(fā)展的輸入設(shè)備和/或類似物。所接收的游戲命令經(jīng)由網(wǎng)絡(luò)115從客戶端110傳遞到視頻服務(wù)器系統(tǒng)120和/或游戲服務(wù)器125。
[0034]游戲服務(wù)器125可以可選地由與視頻服務(wù)器系統(tǒng)120不同的實(shí)體操作。例如,游戲服務(wù)器125可由多玩家游戲的出版商操作。在本實(shí)例中,視頻服務(wù)器系統(tǒng)120可選地被游戲服務(wù)器125視為客戶端,并可選地配置成,從游戲服務(wù)器125的觀點(diǎn)來看,好像是執(zhí)行游戲引擎的客戶端。在視頻服務(wù)器系統(tǒng)120和游戲服務(wù)器125之間的通信可選地經(jīng)由網(wǎng)絡(luò)115而出現(xiàn)。因此,游戲服務(wù)器125可以是將游戲狀態(tài)信息發(fā)送到多個(gè)客戶端的多玩家游戲服務(wù)器,其中一個(gè)客戶端是視頻服務(wù)器系統(tǒng)120。
[0035]視頻服務(wù)器系統(tǒng)120包括視頻源130、I/O (輸入/輸出)設(shè)備145、處理器150和非臨時(shí)數(shù)據(jù)存儲(chǔ)裝置155。視頻服務(wù)器系統(tǒng)120可包括一個(gè)計(jì)算設(shè)備或分布在多個(gè)計(jì)算設(shè)備中。這些計(jì)算設(shè)備可選地經(jīng)由通信系統(tǒng)例如局域網(wǎng)來連接。
[0036]視頻源130配置成提供視頻流,例如形成電影的流式視頻或一系列視頻幀。在一些實(shí)施方案中,視頻源130包括視頻游戲引擎和再現(xiàn)邏輯。視頻游戲引擎配置成從玩家接收游戲命令并基于所接收的命令來維持視頻游戲的狀態(tài)的拷貝。該游戲狀態(tài)包括在游戲環(huán)境中的對(duì)象的位置,并且還包括用戶的觀察點(diǎn)。游戲狀態(tài)還可包括對(duì)象的特性、圖像、顏色和/或紋理。一般基于游戲規(guī)則以及游戲命令例如移動(dòng)、旋轉(zhuǎn)、攻擊、設(shè)置焦點(diǎn)、交互作用、使用和/或類似命令來維持游戲狀態(tài)。游戲引擎的部分可選地布置在游戲服務(wù)器125內(nèi)。游戲服務(wù)器125可基于從多個(gè)玩家接收的游戲命令使用地理上分散的客戶端來維持游戲狀態(tài)的拷貝。在這些情況下,游戲狀態(tài)由游戲服務(wù)器125提供給視頻源130,其中游戲狀態(tài)的拷貝被存儲(chǔ)且再現(xiàn)被執(zhí)行。游戲服務(wù)器125可經(jīng)由網(wǎng)絡(luò)115直接從客戶端110接收游戲命令,和/或可經(jīng)由視頻服務(wù)器系統(tǒng)120接收游戲命令。
[0037]視頻源130可包括再現(xiàn)邏輯,例如硬件、固件和/或存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,即,非臨時(shí)數(shù)據(jù)存儲(chǔ)裝置155上的軟件。這個(gè)再現(xiàn)邏輯配置成基于游戲狀態(tài)來創(chuàng)建視頻流的視頻幀。再現(xiàn)邏輯的全部或部分可選地布置在圖形處理單元(GPU)內(nèi)。再現(xiàn)邏輯一般包括配置成基于游戲狀態(tài)和觀察點(diǎn)來確定對(duì)象之間的三維空間關(guān)系和/或應(yīng)用適當(dāng)?shù)募y理等的處理級(jí)。再現(xiàn)邏輯產(chǎn)生原始視頻,其接著通常在傳遞到客戶端110之前被編碼。編碼過程產(chǎn)生可選地被封裝用于傳送到遠(yuǎn)程設(shè)備上的解碼器的視頻流。應(yīng)理解,編碼過程可使用本質(zhì)上任何編碼方法來實(shí)現(xiàn)。
[0038]視頻流以幀尺寸和幀率為特征。一般幀尺寸包括800x600、1280x720(例如720p)、1024x768,雖然可使用任何其它幀尺寸。幀率是每秒視頻幀的數(shù)量。視頻流可包括不同類型的視頻幀。如本文使用的,術(shù)語“幀尺寸”意指幀內(nèi)的多個(gè)像素。術(shù)語“幀數(shù)據(jù)尺寸”用于指存儲(chǔ)幀所需的多個(gè)字節(jié)。
[0039]視頻源130可選地配置成提供覆蓋,其配置成放置其它視頻上。例如,這些覆蓋可包括命令界面、登錄指令、到游戲玩家的消息、其他游戲玩家的圖像、其他游戲玩家的視頻傳輸(例如,webcam視頻)。在至少一個(gè)客戶端110包括觸摸屏界面的示例性實(shí)施方案中,覆蓋可包括虛擬鍵盤、操縱桿、觸摸板和/或類似物。此外,在一個(gè)示例性實(shí)施方案中,玩家的話音的覆蓋重疊在視頻流上。視頻源130還可包括一個(gè)或多個(gè)音頻源。
[0040]在各種實(shí)施方案中,I/O設(shè)備145可為視頻服務(wù)器系統(tǒng)120配置成發(fā)送和/或接收信息例如視頻、命令、對(duì)信息的請(qǐng)求、游戲狀態(tài)、客戶端身份、玩家身份、游戲命令、安全信息、音頻和/或類似物。I/o設(shè)備145可包括通信硬件例如網(wǎng)卡或調(diào)制解調(diào)器。I/O設(shè)備145配置成與游戲服務(wù)器125、網(wǎng)絡(luò)115和/或客戶端110通信。
[0041]處理器150配置成執(zhí)行被包括在本文討論的視頻服務(wù)器系統(tǒng)120的各種部件內(nèi)的邏輯,例如軟件。例如,處理器150可使用軟件而被編程,以便執(zhí)行視頻源130、游戲服務(wù)器125和/或客戶端限定器160的功能。視頻服務(wù)器系統(tǒng)120可選地包括處理器150的多于一個(gè)實(shí)例。處理器150也可使用軟件指令而被編程,以便執(zhí)行由視頻服務(wù)器120接收的命令,或協(xié)調(diào)本文討論的游戲系統(tǒng)100的各種元件的操作。處理器150可包括一個(gè)或多個(gè)硬件設(shè)備。應(yīng)理解,處理器150是電子處理器,即,計(jì)算機(jī)處理器。
[0042]視頻服務(wù)器系統(tǒng)120可選地包括配置成遠(yuǎn)程地確定客戶端110的能力的客戶端限定器160。這些能力可包括給定客戶端110本身的能力和在給定客戶端110與視頻服務(wù)器系統(tǒng)120之間的一個(gè)或多個(gè)通信通道的能力。例如,客戶端限定器160可配置成通過網(wǎng)絡(luò)115測(cè)試通信通道。
[0043]圖2是配置成供應(yīng)多個(gè)視頻游戲的視頻源130的實(shí)施方案的方框圖。多個(gè)視頻游戲可包括同一視頻游戲的多個(gè)實(shí)例和/或不同的視頻游戲的實(shí)例。視頻游戲可選地是多玩家游戲。例如,一個(gè)或多個(gè)視頻游戲的游戲狀態(tài)可由游戲服務(wù)器125的一個(gè)或多個(gè)實(shí)例維持,每個(gè)實(shí)例基于從多個(gè)客戶端HO接收的輸入。
[0044]使用游戲邏輯210的不同實(shí)例來執(zhí)行視頻游戲,這些實(shí)例被單獨(dú)地標(biāo)為210A、210B、210C等。游戲邏輯210配置成使用游戲狀態(tài)來確定可被再現(xiàn)給視頻流的游戲環(huán)境,視頻流配置成顯現(xiàn)給游戲玩家。在一些實(shí)施方案中,游戲環(huán)境是包括游戲?qū)ο?、化身、?duì)象的位置、其形狀、紋理和其間的空間關(guān)系等的三維虛擬環(huán)境。游戲環(huán)境可包括頂點(diǎn)數(shù)據(jù)、轉(zhuǎn)換數(shù)據(jù)和紋理數(shù)據(jù)和/或類似數(shù)據(jù)。
[0045]再現(xiàn)一般基于與特定的游戲玩家相關(guān)的一個(gè)或多個(gè)觀察點(diǎn)。視頻源130可包括游戲邏輯210的多個(gè)實(shí)例。游戲邏輯210可以可選地是游戲服務(wù)器125的客戶端,并可配置成經(jīng)由網(wǎng)絡(luò)115與游戲服務(wù)器125通信。
[0046]游戲邏輯210配置成從一個(gè)或多個(gè)客戶端110接收游戲命令,并根據(jù)一組游戲規(guī)則處理所接收的命令。這些規(guī)則涵蓋例如化身如何與其他化身或在游戲?qū)ο笾薪换プ饔?、化身運(yùn)動(dòng)、游戲?qū)嵗芾砗?或類似物。游戲邏輯210包括硬件、固件和/或存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上的軟件。
[0047]游戲邏輯210的每個(gè)實(shí)例可布置在單獨(dú)的計(jì)算設(shè)備上,或游戲邏輯210的幾個(gè)實(shí)例可布置在同一計(jì)算設(shè)備上,或游戲邏輯210的單個(gè)實(shí)例可布置在多個(gè)計(jì)算設(shè)備中。游戲?qū)嵗蓜?dòng)態(tài)地改變根據(jù)用戶當(dāng)前正經(jīng)歷的游戲環(huán)境的要求而使用的計(jì)算設(shè)備的數(shù)量和/或身份。布置在同一計(jì)算設(shè)備上的游戲邏輯210的實(shí)例可選地在單獨(dú)的虛擬機(jī)或虛擬I/O外殼內(nèi)執(zhí)行。在一些實(shí)施方案中,游戲邏輯210的不同實(shí)例配置成將游戲命令和/或游戲狀態(tài)信息直接傳遞到彼此,例如不一定通過游戲服務(wù)器125傳遞。
[0048]執(zhí)行游戲邏輯210可在操作系統(tǒng)(OS) 215之上執(zhí)行。操作系統(tǒng)215可包括Windows?, Linux、Unix、Mac OS?、Solaris?和/或類似物。在一些實(shí)施方案中,操作系統(tǒng)215和游戲邏輯210可操作一個(gè)或多個(gè)虛擬機(jī)平臺(tái),例如ESX、Hyper-V和/或類似物。在這些實(shí)施方案中,可在虛擬機(jī)內(nèi)執(zhí)行游戲邏輯210的一個(gè)或多個(gè)實(shí)例。此外,游戲邏輯210的多個(gè)實(shí)例可在操作系統(tǒng)210的同一實(shí)例上執(zhí)行。例如,圖2示出都在同一操作系統(tǒng)215上執(zhí)行的游戲邏輯210A和游戲邏輯210B。在同一操作系統(tǒng)215上執(zhí)行的游戲邏輯210的多個(gè)實(shí)例可以或可以不配置成玩同一視頻游戲。
[0049]在一些實(shí)施方案中,由游戲邏輯210確定的游戲環(huán)境被傳遞到可選的虛擬3D視頻驅(qū)動(dòng)器220。虛擬3D視頻驅(qū)動(dòng)器220配置成,從游戲邏輯210的觀點(diǎn)看,好像是控制圖形處理單元的非虛擬3D視頻驅(qū)動(dòng)器。游戲邏輯210的每個(gè)實(shí)例可與虛擬3D視頻驅(qū)動(dòng)器220的其自己的實(shí)例相關(guān),或虛擬3D視頻驅(qū)動(dòng)器220可由游戲邏輯210的兩個(gè)或多個(gè)實(shí)例共享。
[0050]虛擬3D視頻驅(qū)動(dòng)器220還配置成將所接收的游戲環(huán)境傳遞到(非虛擬)3D驅(qū)動(dòng)器230。可選地,游戲環(huán)境傳送到3D驅(qū)動(dòng)器230由虛擬3D視頻驅(qū)動(dòng)器220的各種實(shí)例協(xié)調(diào)。例如,傳送可被協(xié)調(diào),使得3D驅(qū)動(dòng)器230 —次從一個(gè)(或最小數(shù)量的)虛擬3D視頻驅(qū)動(dòng)器220接收游戲環(huán)境。在一些實(shí)施方案中,每個(gè)虛擬3D視頻驅(qū)動(dòng)器220配置成使得它們好像是單獨(dú)的過程和到3D驅(qū)動(dòng)器230的視頻數(shù)據(jù)的單獨(dú)源。因此,3D驅(qū)動(dòng)器230配置成隨時(shí)知道哪個(gè)視頻數(shù)據(jù)導(dǎo)致在再現(xiàn)之后的視頻幀。
[0051]由3D驅(qū)動(dòng)器230接收的視頻數(shù)據(jù)傳遞到圖形處理單元(GPU)235用于再現(xiàn)到原始視頻幀中。圖形處理單元235可選地用于并行地再現(xiàn)多于一個(gè)視頻流。視頻流的并行產(chǎn)生包括這些流的同時(shí)生成。然而,視頻流的并行產(chǎn)生可以但不一定包括同時(shí)在圖形處理單元235內(nèi)的單獨(dú)幀的處理。例如,在一些實(shí)施方案中,3D驅(qū)動(dòng)器230將各種成員游戲邏輯210所生成的視頻數(shù)據(jù)傳遞到圖形處理單元235。由游戲邏輯210A生成的數(shù)據(jù)用于產(chǎn)生視頻幀,且隨后游戲邏輯210B所生成的數(shù)據(jù)用于產(chǎn)生視頻幀,等等。在這種情況下,視頻流并行地闡述,而單獨(dú)的幀連續(xù)地產(chǎn)生。
[0052]虛擬3D視頻驅(qū)動(dòng)器220可配置成管理原始再現(xiàn)的視頻幀從3D驅(qū)動(dòng)器230的傳輸。例如,虛擬3D驅(qū)動(dòng)器220可用于協(xié)調(diào)視頻幀從3D驅(qū)動(dòng)器230的控制到共享的存儲(chǔ)器240的傳輸。在再現(xiàn)之后,視頻幀在圖形處理單元235的存儲(chǔ)器中或在由3D驅(qū)動(dòng)器230管理的存儲(chǔ)器中。在任一情況下,它們都在3D驅(qū)動(dòng)器230的控制下。因?yàn)樘摂M3D視頻驅(qū)動(dòng)器220管理視頻數(shù)據(jù)和幀到和從3D驅(qū)動(dòng)器230的傳遞,在一些實(shí)施方案中,它們能夠?qū)⒁曨l幀放置在與特定的視頻動(dòng)態(tài)編碼管道(DEP) 245相關(guān)的共享存儲(chǔ)器240的部分內(nèi)。視頻DEP245單獨(dú)地被標(biāo)識(shí)為視頻DEP245A、DEP245B、DEP245C等。在一些實(shí)施方案中,每個(gè)視頻DEP245被分配在共享存儲(chǔ)器240內(nèi)的特定存儲(chǔ)器位置,并配置成從那些存儲(chǔ)器位置取回視頻數(shù)據(jù)。
[0053]共享存儲(chǔ)器240包括隨機(jī)存取存儲(chǔ)器(RAM)或配置成有效地讀和寫視頻數(shù)據(jù)的類似的存儲(chǔ)器。共享存儲(chǔ)器240配置成存儲(chǔ)多個(gè)不同的視頻DEP245的視頻數(shù)據(jù)。不同視頻DEP245的視頻數(shù)據(jù)可選地同時(shí)存儲(chǔ)在共享存儲(chǔ)器240中。共享存儲(chǔ)器240可由單個(gè)硬件設(shè)備組成或可包括多個(gè)設(shè)備。
[0054]視頻DEP245被動(dòng)態(tài)地分配編碼管道,每個(gè)編碼管道配置成使用圖形處理單元235對(duì)再現(xiàn)的視頻數(shù)據(jù)編碼。視頻DEP245的每個(gè)成員配置成對(duì)在視頻DEP245被提供時(shí)指定的視頻格式編碼。這個(gè)格式規(guī)范一般基于客戶端110之一的需要和/或在視頻服務(wù)器系統(tǒng)120和客戶端110之間的通信路徑的能力。視頻DEP245可選地響應(yīng)于來自客戶端110之一的請(qǐng)求而被動(dòng)態(tài)地提供。視頻DEP245的成員可以可選地配置成使用多于一種編碼方案。
[0055]每個(gè)視頻DEP245包括配置成從共享存儲(chǔ)器240抓取視頻數(shù)據(jù)并將該視頻數(shù)據(jù)傳輸?shù)揭曨lDEP245的存儲(chǔ)器的抓取器247。每個(gè)視頻DEP245可選地包括預(yù)處理器(PRE)250,其配置成執(zhí)行顏色空間轉(zhuǎn)換例如RGB到Y(jié)UV和/或比例調(diào)整操作以增加或降低視頻幀的分辨率。在圖形處理單元235的輸出在YUV顏色空間或某個(gè)其它期望的顏色空間中的實(shí)施方案中,預(yù)處理器250是可選的。多個(gè)預(yù)處理器250可被包括在視頻DEP245中,視頻DEP245配置成產(chǎn)生具有不同尺寸的視頻幀的多個(gè)視頻流。每個(gè)視頻DEP245包括至少一個(gè)編碼器(ENC) 255。在圖2中作為例子,編碼器255單獨(dú)地被標(biāo)識(shí)為編碼器255A、編碼器255B等。每個(gè)編碼器255配置成根據(jù)特定的編碼譯碼器和可選地特定的顏色深度和/或幀尺寸來對(duì)視頻數(shù)據(jù)編碼。
[0056]在一些實(shí)施方案中,視頻DEP245配置成使用兩個(gè)或多個(gè)不同的編碼器來同時(shí)生成兩個(gè)或多個(gè)不同的視頻流。這些視頻流基于由圖形處理單元255再現(xiàn)的同一游戲環(huán)境,且因此本質(zhì)上包括相同的材料(可能覆蓋除外)并可被發(fā)送到不同的地方。例如,一個(gè)視頻幀可被發(fā)送到客戶端110A,而另一視頻幀被發(fā)送到客戶端110B??蛇x地,一個(gè)視頻幀可被發(fā)送到客戶端110A,而另一視頻幀被發(fā)送到網(wǎng)站,其中第三方可觀看視頻。這個(gè)網(wǎng)站可選地是社交聯(lián)網(wǎng)網(wǎng)站或游戲玩家的網(wǎng)站的部分。兩個(gè)不同的視頻流可以在幀率、編碼類型、幀尺寸、顏色深度等方面是不同的。例如,被傳送到社交聯(lián)網(wǎng)網(wǎng)站的視頻流可具有比被傳送到正使用客戶端IlOA玩游戲的游戲玩家的視頻流低得多的質(zhì)量。第二視頻流可被引導(dǎo)到正玩游戲的游戲玩家或僅僅觀看游戲玩耍的人。視頻流可選地被引導(dǎo)到多于一個(gè)地方。
[0057]視頻DEP245A可以可選地包括一個(gè)或多個(gè)張貼處理器(Post)260。張貼處理器260的單獨(dú)例子被標(biāo)為260A和260B。張貼處理器260配置成將編碼的視頻幀以適合于根據(jù)公共或?qū)S镁W(wǎng)絡(luò)協(xié)議通過網(wǎng)絡(luò)傳遞的格式封裝在容器中。例如,一些協(xié)議例如Adobe RTMP需要張貼處理,而其它視頻標(biāo)準(zhǔn)例如H.264Annex B不需要張貼處理。每個(gè)張貼處理器260可與特定數(shù)量的編碼器255相關(guān),或幾個(gè)張貼處理器260可配置成從編碼器255的一個(gè)成員接收編碼的視頻幀。
[0058]張貼處理器260的輸出被引導(dǎo)到I/O設(shè)備145用于傳送到一個(gè)或多個(gè)客戶端110。本文討論的視頻DEP245的元件包括硬件、固件和/或存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上的軟件。例如,每個(gè)視頻DEP245可代表裝入存儲(chǔ)器中并使用電子處理器來執(zhí)行的一組軟件。
[0059]視頻源130的操作一般由控制器265管理。控制器265包括硬件、固件和/或存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上的軟件。例如,控制器265可包括存儲(chǔ)在存儲(chǔ)器中并使用微處理器來執(zhí)行的軟件。
[0060]圖3示出根據(jù)本發(fā)明的各種實(shí)施方案的在游戲視頻(視頻幀)上的覆蓋。三個(gè)覆蓋310A.310B和310C (被共同標(biāo)識(shí)為覆蓋310)應(yīng)用于由視頻游戲生成的視頻。這些覆蓋310可被應(yīng)用為單個(gè)覆蓋或幾個(gè)單獨(dú)的覆蓋。
[0061]在一個(gè)示例性實(shí)施方案中,每個(gè)覆蓋310代表如其中的文本指示的不同的游戲控制輸入。覆蓋310A代表回車,覆蓋310B代表?yè)Q碼鍵(escape key),而覆蓋310C代表tab鍵。應(yīng)認(rèn)識(shí)到,在其它實(shí)施方案中,覆蓋810可識(shí)別控制器命令。例如,覆蓋810A、810B和810C可使用相應(yīng)的描述性行動(dòng)項(xiàng)來顯示對(duì)不同的游戲控制器行動(dòng)(例如,按鈕按下、粘貼運(yùn)動(dòng)、傾斜方向、搖動(dòng)等)的圖標(biāo)。在一些實(shí)施方案中,這些覆蓋310與視頻幀的特定區(qū)域相關(guān),且這些特定的區(qū)域被映射到所代表的游戲控制輸入。例如,被覆蓋310C占據(jù)的圖像的區(qū)域映射到tab鍵,使得在這個(gè)區(qū)域中點(diǎn)擊或以另外方式進(jìn)行選擇被解釋為tab鍵擊。選擇可通過使用指示設(shè)備例如操縱桿或鼠標(biāo)或通過在觸敏屏幕上觸摸這個(gè)區(qū)域來實(shí)現(xiàn)。[0062]圖3還包括代表游戲菜單的覆蓋320,例如可用于管理游戲房間或游戲執(zhí)行的其它方面。覆蓋320包括映射到不同的游戲命令(輸入)的多個(gè)活動(dòng)區(qū)域。例如,在覆蓋320內(nèi)由詞“搜索”占據(jù)的區(qū)域映射到搜索命令,而由詞“加入”占據(jù)的區(qū)域映射到加入游戲房間的命令。
[0063]圖3還包括覆蓋330,其包括游戲玩家的圖像。覆蓋330可以是另一游戲玩家的靜止或?qū)崟r(shí)圖像。例如,如果圖3所示的視頻幀被發(fā)送到客戶端110A,則覆蓋330可包括客戶端IlOB的玩家的實(shí)時(shí)視頻幀。覆蓋330可以可選地包括從另一玩家的觀察點(diǎn)看的視頻游戲的視圖、從同一玩家的第二觀察點(diǎn)看的視圖或某個(gè)現(xiàn)實(shí)事件的視圖。在一個(gè)例子中,覆蓋330包括基于同一玩家的第二觀察點(diǎn)的視頻幀,該同一玩家的第一觀察點(diǎn)用于生成基本圖像。第二觀察點(diǎn)可使用第二視頻DEP245來生成。可放置在視頻數(shù)據(jù)上的覆蓋的數(shù)量、形狀、尺寸和特征可廣泛地變化。覆蓋可以或可以不映射到游戲命令。覆蓋可應(yīng)用于任一服務(wù)器和/或客戶端側(cè)。一些實(shí)施方案包括應(yīng)用于服務(wù)器和客戶端側(cè)的覆蓋。
[0064]用戶輸入到游戲命令的映射不限于應(yīng)用,其中客戶端110包括觸摸屏或指示設(shè)備。用戶輸入到特定的游戲命令的映射可出現(xiàn)在客戶端110處或視頻服務(wù)器系統(tǒng)120處。例如,來自蘋果計(jì)算機(jī)公司的iPad?配置成將對(duì)其屏幕的觸摸、運(yùn)動(dòng)和觸摸的組合轉(zhuǎn)換成特定的命令。iPad?和iPhone?也配置成將設(shè)備本身的運(yùn)動(dòng)轉(zhuǎn)換成特定的命令。然而,其它類型的客戶端110可以沒有這些能力,在這種情況下映射可出現(xiàn)在視頻服務(wù)器系統(tǒng)120處。
[0065]可選地使用查找表或其它類型的輸入映射來執(zhí)行用戶輸入到游戲命令的映射。圖4示出配置成根據(jù)本發(fā)明的各種實(shí)施方案來將用戶輸入映射到游戲命令的輸入映射1010。應(yīng)理解,用于命令映射的輸入映射1010可包括比圖4所示的更多或更少的條目。
[0066]在輸入映射1010中所示的第一映射是描繪“D”到“K”的映射的直接符號(hào)。這種類型的映射可能在配置成幾個(gè)玩家共享鍵盤的游戲中是有用的,作為例子,每個(gè)玩家使用其自己的鍵的子集。當(dāng)這樣的游戲由地理上分散的游戲玩家玩耍時(shí),每個(gè)玩家可使用相同的鍵,但玩家之一的輸入被映射到鍵盤的不同部分。
[0067]在輸入映射1010中所示的第二映射包括屏幕區(qū)域到鍵的映射。具體地,具有在(100,200)和(400,500)處的角的矩形被映射到Fl功能鍵。坐標(biāo)可以在圖像、窗口或屏幕像素中。當(dāng)觸摸屏或指示設(shè)備用作輸入時(shí),這種類型的映射是有用的。這種類型的映射可用于將覆蓋內(nèi)的圖像映射到特定的游戲命令。這種類型的映射也可取決于手指或光標(biāo)在屏幕上的運(yùn)動(dòng)或觸摸屏被觸摸的點(diǎn)的數(shù)量。
[0068]在輸入映射1010中所示的第三類型的映射包括控制器按鈕到鍵的映射。具體地,“Redbutton”被映射到“Spacebar (空格桿)”。這種類型的映射可用于將游戲控制器輸入映射到特定的游戲命令。應(yīng)理解,在本發(fā)明的一些實(shí)施方案中,游戲控制器和其任何功能(例如,按鈕、粘貼、傾斜、搖動(dòng)等)可被映射到相應(yīng)的游戲命令。
[0069]在輸入映射1010中所示的第四類型的映射包括輸入設(shè)備到鍵的映射運(yùn)動(dòng)(“直角傾斜”)。這種類型的映射可與操縱桿、iPhones?、iPads?、NintendoWii?或具有運(yùn)動(dòng)或
位置感測(cè)能力的其它類型的客戶端110 —起使用。
[0070]在輸入映射1010中所示的第五類型的映射包括如外部設(shè)備例如攝像機(jī)所探測(cè)到的對(duì)象到鍵“A”的運(yùn)動(dòng)的映射。這種類型的映射可選地在客戶端110中被使用,客戶端110包括音頻或視頻運(yùn)動(dòng)探測(cè)系統(tǒng)。使用這種類型的映射允許被設(shè)計(jì)成使用鍵盤玩耍的游戲使用新類型的輸入設(shè)備例如來自微軟的Kinect?來玩耍。
[0071 ] 第六類型的映射可以是動(dòng)態(tài)的。例如,在手指在觸摸屏上的運(yùn)動(dòng)被映射到操縱桿運(yùn)動(dòng)的實(shí)施方案中,其中手指首先觸摸屏幕可被動(dòng)態(tài)地映射到操縱桿“中心”位置。恰好在第一觸摸位置之上、之下、右邊、左邊等的屏幕位置分別被映射到向上、向下、向左、向右等的操縱桿位置。因此,可通過首先將手指放置在屏幕上并接著在某個(gè)方向上滑動(dòng)手指來進(jìn)入操縱桿運(yùn)動(dòng)。動(dòng)態(tài)映射也可包括對(duì)屏幕的多手指觸摸。例如,在屏幕的第一點(diǎn)上的觸摸可確定用于將第二觸摸轉(zhuǎn)換成游戲命令的映射的位置和方位。
[0072]圖5示出根據(jù)本發(fā)明的各種實(shí)施方案的使用覆蓋的方法。覆蓋可以是音頻或視頻。在圖5的方法中,視頻幀使用圖形處理單元235來生成,且覆蓋在編碼之前被添加到這個(gè)視頻幀。可以可選地使用幾個(gè)游戲邏輯210、幾個(gè)視頻DEP245和/或幾個(gè)音頻DEP270來并行地執(zhí)行圖5所示的方法操作。
[0073]具體地,在生成步驟1110中,游戲環(huán)境基于經(jīng)由網(wǎng)絡(luò)115和客戶端110從一個(gè)或多個(gè)游戲玩家接收的游戲規(guī)則和游戲命令來生成。例如,在客戶端IlOA處的游戲玩家和在客戶端IlOB處的游戲玩家可每個(gè)提供用于更新游戲狀態(tài)的游戲命令,游戲環(huán)境從游戲狀態(tài)生成。生成步驟1110可包括接收狀態(tài)步驟515和確定3D數(shù)據(jù)步驟520,如關(guān)于圖4討論的。在一些實(shí)施方案中,生成步驟1110包括基于游戲內(nèi)的事件、游戲規(guī)則和/或所接收的游戲命令來生成音頻數(shù)據(jù)。
[0074]在可選的再現(xiàn)步驟1120中,在生成步驟1110中生成的游戲環(huán)境使用圖形處理單元235來再現(xiàn)。再現(xiàn)步驟1120是關(guān)于圖4討論的再現(xiàn)步驟525的實(shí)施方案。再現(xiàn)步驟1120的結(jié)果是視頻幀。在生成步驟1110的結(jié)果只包括音頻數(shù)據(jù)和/或不包括3D游戲環(huán)境的實(shí)施方案中,再現(xiàn)步驟1120是可選的。
[0075]在提供步驟1130中,在再現(xiàn)步驟1120中生成的視頻幀和/或在生成步驟1110中生成的音頻數(shù)據(jù)被提供給一個(gè)或多個(gè)編碼管道,例如視頻DEP245A和/或音頻DEP270A。例如,視頻幀可被提供到DEP245A,而音頻幀被提供到音頻DEP270A。提供步驟1130是如關(guān)于圖4討論的傳輸步驟527的實(shí)施方案。
[0076]在添加覆蓋步驟1140中,視頻覆蓋被添加到在提供步驟1130中提供的視頻幀,和/或音頻覆蓋被添加到在提供步驟1130中提供的音頻幀。一般使用如關(guān)于圖2討論的覆蓋邏輯290和/或覆蓋邏輯295來執(zhí)行添加覆蓋步驟1140。多于一個(gè)視頻覆蓋和多于一個(gè)音頻覆蓋可選地在添加覆蓋步驟1140中被添加。音頻覆蓋可選地包括經(jīng)由網(wǎng)絡(luò)115作為分組從一個(gè)或多個(gè)客戶端110接收的音頻數(shù)據(jù)。例如,音頻覆蓋可包括從多個(gè)客戶端110接收的游戲玩家的話音數(shù)據(jù)。
[0077]在一些實(shí)施方案中,視頻源130從很多客戶端110接收音頻數(shù)據(jù),且添加覆蓋步驟1140包括確定哪個(gè)音頻數(shù)據(jù)應(yīng)在特定的音頻覆蓋中被使用。例如,雖然10個(gè)游戲玩家可使用視頻源130,只有這些玩家中的兩個(gè)或三個(gè)的話音數(shù)據(jù)可被包括在音頻覆蓋中。哪個(gè)音頻數(shù)據(jù)包括在覆蓋中的確定可選地基于在游戲玩家之間的社會(huì)關(guān)系。例如,一個(gè)游戲玩家可選擇他希望接收哪個(gè),即,誰的話音數(shù)據(jù)。社會(huì)關(guān)系可包括在同一戰(zhàn)場(chǎng)或游戲?qū)嵗械暮?或在同一游戲環(huán)境中具有位于彼此附近的化身的協(xié)會(huì)、黨派中的成員關(guān)系及其它。在一些實(shí)施方案中,音頻數(shù)據(jù)的容量響應(yīng)于兩個(gè)化身之間的游戲內(nèi)距離而被調(diào)節(jié)。[0078]在編碼步驟1150中,視頻幀和/或音頻數(shù)據(jù)以及任何覆蓋被編碼。這可使用編碼器255和/或音頻編碼器280來實(shí)現(xiàn)。編碼步驟1150是編碼步驟535的實(shí)施方案??稍谔砑痈采w步驟1150之前或之后執(zhí)行編碼步驟1150。
[0079]在傳送步驟1160中,在編碼步驟1150中編碼的視頻幀和/或音頻數(shù)據(jù)經(jīng)由網(wǎng)絡(luò)115被提供到客戶端110之一。視頻幀和/或音頻數(shù)據(jù)可選地被提供到多于一個(gè)位置。例如,相同的數(shù)據(jù)可被提供給多于一個(gè)游戲玩家。傳送步驟1160是關(guān)于圖4討論的提供步驟545的實(shí)施方案。
[0080]在可選的映射步驟1170中,在添加覆蓋步驟1140中應(yīng)用的視頻覆蓋的部分被映射到游戲命令。例如,視頻覆蓋被添加到的視頻幀的區(qū)域可在輸入映射1010中被設(shè)置為映射到特定的游戲命令。覆蓋可應(yīng)用于顯示器或視頻幀的多于一個(gè)區(qū)域。每個(gè)區(qū)域可選地被映射到不同的游戲命令。輸入映射1010可位于視頻服務(wù)器系統(tǒng)120或一個(gè)客戶端110上。
[0081]在可選的接收步驟1180中,映射的游戲命令在視頻源130處或內(nèi)被接收。映射的游戲命令可選地是從覆蓋所應(yīng)用于的視頻幀的區(qū)域映射的命令。所接收的游戲命令可在一個(gè)客戶端110處或在視頻服務(wù)器系統(tǒng)120處被映射。所接收的游戲命令可選地用于更新視頻游戲的狀態(tài)。
[0082]圖6示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的云計(jì)算系統(tǒng)600的圖,云計(jì)算系統(tǒng)600用于生成并執(zhí)行遠(yuǎn)程供應(yīng)的計(jì)算機(jī)應(yīng)用和遠(yuǎn)程供應(yīng)的計(jì)算機(jī)應(yīng)用的miniapp。云計(jì)算系統(tǒng)600包括被定義為執(zhí)行計(jì)算活動(dòng)所必須的操作的各種物理部件601,即,計(jì)算硬件部件。物理部件601可包括多個(gè)計(jì)算機(jī)處理器601A、大量計(jì)算機(jī)存儲(chǔ)器601B、大量持久性數(shù)據(jù)存儲(chǔ)裝置601C和多個(gè)網(wǎng)絡(luò)接口卡/芯片(NIC) 601D。上面提到的各種物理部件601可對(duì)應(yīng)于本領(lǐng)域中已知的任何這樣的物理部件601。此外,應(yīng)理解,上面提到的各種物理部件601作為例子被提供。云計(jì)算系統(tǒng)600的各種實(shí)施方案可包括比上面提到的例子更多或更少的部件601,并可包括上面未提到的物理部件601,例如電源、冷卻系統(tǒng)等,只要物理部件601的集成計(jì)算能力足以確保云計(jì)算系統(tǒng)600的正確的性能。
[0083]云計(jì)算系統(tǒng)600還包括被定義為使用各種物理部件601來生成并執(zhí)行多個(gè)虛擬機(jī)的管理程序603或類似的控制層。由管理程序603生成并執(zhí)行的每個(gè)虛擬機(jī)本質(zhì)上是特定的計(jì)算結(jié)構(gòu)的軟件仿真。使用各種物理部件601,管理程序603可同時(shí)生成并執(zhí)行多個(gè)不同的虛擬機(jī)。給定的虛擬機(jī)可被弓I導(dǎo)來根據(jù)對(duì)應(yīng)于由給定的虛擬機(jī)仿真的特定計(jì)算結(jié)構(gòu)的多個(gè)操作系統(tǒng)605中的一個(gè)或多個(gè)來操作。各種類型的操作系統(tǒng)的例子包括Windows、MacOS X、Linux、Play Stationl (PSl)、Play Station2 (PS2)、Play Station3 (PS3)及其它。例如,關(guān)于圖6,如果操作系統(tǒng)OSl是PS3操作系統(tǒng),則OSl可在由管理程序603生成的虛擬機(jī)上執(zhí)行以仿真PS3計(jì)算結(jié)構(gòu)。類似地,如果操作系統(tǒng)0S5是Mac OS X操作系統(tǒng),則0S5可在由管理程序603生成的虛擬機(jī)上執(zhí)行以仿真Mac計(jì)算結(jié)構(gòu)。
[0084]以上面描述的方式,管理程序603可利用物理部件601來生成并執(zhí)行用于仿真本質(zhì)上任何數(shù)量的不同類型的計(jì)算結(jié)構(gòu)的本質(zhì)上任何數(shù)量的不同類型的虛擬機(jī),各種相應(yīng)的操作系統(tǒng)可在這些計(jì)算結(jié)構(gòu)上執(zhí)行。因此,云計(jì)算系統(tǒng)600可提供如在其要求的計(jì)算結(jié)構(gòu)上執(zhí)行的特定的操作系統(tǒng)所定義的本質(zhì)上任何計(jì)算系統(tǒng)的實(shí)例。雖然圖6的例子作為例子示出六個(gè)操作系統(tǒng)0S1-0S6,應(yīng)理解,云計(jì)算系統(tǒng)600不以任何方式限于設(shè)定數(shù)量的操作系統(tǒng)。管理程序603可被定義為對(duì)本質(zhì)上任何可想得到的計(jì)算結(jié)構(gòu)生成虛擬機(jī),以便執(zhí)行本質(zhì)上任何相應(yīng)的可想得到的操作系統(tǒng)。因此,應(yīng)理解,云計(jì)算系統(tǒng)600關(guān)于物理部件601、管理程序603的能力(即,虛擬機(jī)仿真的數(shù)量和類型)以及操作系統(tǒng)準(zhǔn)備的數(shù)量和類型是可升級(jí)的。
[0085]云計(jì)算系統(tǒng)600還包括被定義為通過多個(gè)操作系統(tǒng)605中的一個(gè)或多個(gè)執(zhí)行的多個(gè)不同的計(jì)算機(jī)應(yīng)用607。各種計(jì)算機(jī)應(yīng)用607可存儲(chǔ)在云計(jì)算系統(tǒng)600的存儲(chǔ)裝置60IC中,并可裝入存儲(chǔ)器601B中用于根據(jù)需要結(jié)合通過管理程序603準(zhǔn)備特定的虛擬機(jī)的給定實(shí)例和相應(yīng)的操作系統(tǒng)來執(zhí)行。應(yīng)理解,為任何操作系統(tǒng)605存在的任何計(jì)算機(jī)應(yīng)用607可由云計(jì)算系統(tǒng)600執(zhí)行。
[0086]圖6還示出多個(gè)主機(jī)609(主機(jī)1-主機(jī)N)。主機(jī)609代表訪問云計(jì)算系統(tǒng)600以訪問特定的虛擬機(jī)的實(shí)例和相應(yīng)的操作系統(tǒng)以便執(zhí)行選定的應(yīng)用607的用戶的實(shí)例。應(yīng)理解,云計(jì)算系統(tǒng)600可被定義和管理來以很多不同的方式提供虛擬機(jī)和操作系統(tǒng)。例如,在一些情況下,訪問云計(jì)算系統(tǒng)600的每個(gè)用戶可被提供有專用虛擬機(jī)和相應(yīng)的操作系統(tǒng),用戶可在該操作系統(tǒng)上執(zhí)行期望的應(yīng)用607。此外,在一些情況下,可使訪問云計(jì)算系統(tǒng)600的多個(gè)用戶共享虛擬機(jī)和相應(yīng)的操作系統(tǒng),每個(gè)用戶可在該操作系統(tǒng)上執(zhí)行期望的應(yīng)用607。給定可用的物理部件601,云計(jì)算系統(tǒng)600的操作和管理可被優(yōu)化以給訪問云計(jì)算系統(tǒng)600的每個(gè)用戶提供可能的最佳服務(wù)質(zhì)量。
[0087]在各種實(shí)施方案中,云計(jì)算系統(tǒng)600是云游戲系統(tǒng)。在一個(gè)實(shí)施方案中,云游戲系統(tǒng)配置成探測(cè)與用戶相關(guān)的客戶端設(shè)備的類型,以及還有用戶可用來向基于云的視頻游戲提供輸入的控制器的類型。例如,在一個(gè)實(shí)施方案中,當(dāng)用戶登錄到云游戲系統(tǒng)時(shí),可給他們顯現(xiàn)指定客戶端設(shè)備的類型的選項(xiàng),他們使用客戶端設(shè)備來訪問云游戲系統(tǒng)。在一個(gè)實(shí)施方案中,一系列客戶端設(shè)備選項(xiàng)被顯現(xiàn),用戶可從這些客戶端設(shè)備選項(xiàng)選擇對(duì)應(yīng)于其客戶端設(shè)備的一個(gè)客戶端設(shè)備選項(xiàng)。也可給用戶顯現(xiàn)指定他們將使用來玩視頻游戲的控制器設(shè)備的類型的選項(xiàng)。在一個(gè)實(shí)施方案中,一系列控制器選項(xiàng)可被顯現(xiàn)給用戶,用戶可從這些選項(xiàng)選擇指定對(duì)應(yīng)于其控制器硬件的控制器類型。在其它實(shí)施方案中,云游戲系統(tǒng)可配置成自動(dòng)探測(cè)客戶端設(shè)備類型和/或控制器設(shè)備類型。
[0088]例如,在登錄時(shí),客戶端設(shè)備可將信息發(fā)送到識(shí)別本身以及所連接的控制器設(shè)備的云游戲服務(wù)器(例如,響應(yīng)于來自云游戲服務(wù)器的請(qǐng)求)?;谶@個(gè)信息,云游戲服務(wù)器可確定適當(dāng)?shù)囊曨l游戲輸出配置和輸入?yún)?shù)配置以提供為用戶的客戶端設(shè)備和控制器設(shè)備優(yōu)化的游戲體驗(yàn)。在一個(gè)實(shí)施方案中,查找表用來基于探測(cè)到的客戶端設(shè)備和探測(cè)到的控制器設(shè)備來確定視頻游戲配置和輸入?yún)?shù)配置。
[0089]應(yīng)認(rèn)識(shí)到,可為特定的平臺(tái)和特定的相關(guān)控制器設(shè)備來開發(fā)給定的視頻游戲。然而,當(dāng)這樣的游戲經(jīng)由如本文提出的云游戲系統(tǒng)變得可用時(shí),用戶可使用不同的控制器設(shè)備來訪問視頻游戲。例如,可為游戲控制臺(tái)及其相關(guān)的控制器開發(fā)游戲,而用戶可利用鍵盤和鼠標(biāo)來訪問來自個(gè)人計(jì)算機(jī)的游戲的基于云的版本。在這樣的情況下,輸入?yún)?shù)配置可定義從可由用戶的可用控制器設(shè)備(在這種情況下是鍵盤和鼠標(biāo))生成的輸入到視頻游戲的執(zhí)行可接受的輸入的映射。
[0090]在另一例子中,用戶可經(jīng)由平板計(jì)算設(shè)備、觸摸屏智能電話或其它觸摸屏驅(qū)動(dòng)設(shè)備訪問云游戲系統(tǒng)。在這種情況下,客戶端設(shè)備和控制器設(shè)備一起集成在同一設(shè)備中,輸入通過所探測(cè)的觸摸屏輸入/手勢(shì)被提供。對(duì)于這樣的設(shè)備,輸入?yún)?shù)配置可定義對(duì)應(yīng)于視頻游戲的游戲輸入的特定的觸摸屏輸入。例如,按鈕、定向板或其它類型的輸入元件可在視頻游戲的運(yùn)行期間被顯示或重疊以在觸摸屏上指示用戶可觸摸來生成游戲輸入的位置。手勢(shì)例如在特定的方向或特定的觸摸運(yùn)動(dòng)中的揮擊也可被探測(cè)為游戲輸入。在一個(gè)實(shí)施方案中,可向用戶提供導(dǎo)師,其指示例如在開始玩視頻游戲之前如何經(jīng)由用于玩游戲的觸摸屏提供輸入,以便使用戶適應(yīng)于觸摸屏上的控制的操作。
[0091]在一些實(shí)施方案中,客戶端設(shè)備用作控制器設(shè)備的連接點(diǎn)。也就是說,控制器設(shè)備經(jīng)由與客戶端設(shè)備的無線或有線連接來通信以將輸入從控制器設(shè)備傳輸客戶端設(shè)備??蛻舳嗽O(shè)備又可處理這些輸入,并接著經(jīng)由網(wǎng)絡(luò)(例如,經(jīng)由本地聯(lián)網(wǎng)設(shè)備例如路由器來訪問)將輸入數(shù)據(jù)傳輸?shù)皆朴螒蚍?wù)器。然而,在其它實(shí)施方案中,控制器本身可以是聯(lián)網(wǎng)設(shè)備,具有經(jīng)由網(wǎng)絡(luò)將輸入直接傳遞到云游戲服務(wù)器的能力,而不需要首先通過客戶端設(shè)備傳遞這樣的輸入。例如,控制器可連接到本地聯(lián)網(wǎng)設(shè)備(例如前述路由器)以將數(shù)據(jù)發(fā)送到云游戲服務(wù)器并從云游戲服務(wù)器接收數(shù)據(jù)。因此,雖然客戶端設(shè)備仍然可能需要從基于云的視頻游戲接收視頻輸出并在本地顯示器上再現(xiàn)它,輸入時(shí)延可通過允許控制器通過網(wǎng)絡(luò)將輸入直接發(fā)送到云游戲服務(wù)器來減小,繞過了客戶端設(shè)備。
[0092]在一個(gè)實(shí)施方案中,聯(lián)網(wǎng)控制器和客戶端設(shè)備可配置成將某些類型的輸入直接從控制器發(fā)送到云游戲服務(wù)器,并經(jīng)由客戶端設(shè)備發(fā)送其它類型的輸入。例如,輸入(其探測(cè)不取決于除了控制器本身以外的任何額外的硬件或處理)可經(jīng)由網(wǎng)絡(luò)從控制器直接發(fā)送到云游戲服務(wù)器,繞過客戶端設(shè)備。這樣的輸入可包括按鈕輸入、操縱桿輸入、嵌入式運(yùn)動(dòng)探測(cè)輸入(例如,加速度計(jì)、磁強(qiáng)計(jì)、陀螺儀)等。然而,利用額外的硬件或需要通過客戶端設(shè)備進(jìn)行處理的輸入可由客戶端設(shè)備發(fā)送到云游戲服務(wù)器。這些可能包括從游戲環(huán)境捕獲的視頻或音頻,其可在發(fā)送到云游戲服務(wù)器之前被客戶端設(shè)備處理。此外,來自控制器的運(yùn)動(dòng)探測(cè)硬件的輸入可結(jié)合所捕獲的視頻由客戶端設(shè)備處理以探測(cè)控制器的位置和運(yùn)動(dòng),其隨后由客戶端設(shè)備傳遞到云游戲服務(wù)器。應(yīng)認(rèn)識(shí)到,根據(jù)各種實(shí)施方案的控制器設(shè)備也可從客戶端設(shè)備或直接從云游戲服務(wù)器接收數(shù)據(jù)(例如,反饋數(shù)據(jù))。
[0093]應(yīng)理解,例如云計(jì)算系統(tǒng)600或類似的計(jì)算系統(tǒng)可給用戶提供對(duì)遠(yuǎn)程供應(yīng)的計(jì)算應(yīng)用的訪問用于通過用戶的計(jì)算終端來執(zhí)行,只要用戶的計(jì)算終端能夠通過網(wǎng)絡(luò),即,通過有線網(wǎng)絡(luò)、無線網(wǎng)絡(luò)或其組合來訪問計(jì)算系統(tǒng)600。換句話說,云計(jì)算系統(tǒng)600允許用戶執(zhí)行他們通過用戶的終端使用基本硬件、操作系統(tǒng)和云計(jì)算系統(tǒng)600提供的計(jì)算機(jī)應(yīng)用來在云計(jì)算系統(tǒng)600上選擇的計(jì)算機(jī)應(yīng)用。
[0094]因?yàn)橛脩暨x擇的計(jì)算機(jī)應(yīng)用存在于云計(jì)算系統(tǒng)600上并在按需基礎(chǔ)上被提供給用戶,所以用戶選擇的計(jì)算機(jī)應(yīng)用的制造商可在云計(jì)算系統(tǒng)600上提供補(bǔ)充的計(jì)算機(jī)應(yīng)用以結(jié)合用戶選擇的計(jì)算機(jī)應(yīng)用來執(zhí)行,以便修改和/或提高用戶選擇的計(jì)算機(jī)應(yīng)用的性能/行為,當(dāng)它好像是在用戶的計(jì)算終端處的用戶時(shí)。例如,miniapp模塊可被提供為在云計(jì)算系統(tǒng)600上執(zhí)行的計(jì)算機(jī)應(yīng)用以修改和/或提高用戶選擇的計(jì)算機(jī)應(yīng)用的性能/行為,當(dāng)它好像是在用戶的計(jì)算終端處的用戶時(shí)。
[0095]miniapp模塊被定義為給用戶提供生成用戶正執(zhí)行的計(jì)算機(jī)應(yīng)用的miniapp,即,微型計(jì)算機(jī)應(yīng)用的能力。為了描述的容易,此后主要在視頻游戲計(jì)算機(jī)應(yīng)用執(zhí)行的上下文內(nèi)描述miniapp模塊及其相關(guān)的功能。然而,應(yīng)理解,如本文描述的miniapp模塊及其相關(guān)的功能可同樣應(yīng)用于任何計(jì)算機(jī)應(yīng)用、視頻游戲或不應(yīng)用。[0096]在視頻游戲玩耍的示例性上下文內(nèi),miniapp模塊可在用于視頻游戲的云計(jì)算系統(tǒng)600上被執(zhí)行,用戶正在云計(jì)算系統(tǒng)600上播放該視頻游戲。使用如本文所述的視頻覆蓋技術(shù),miniapp模塊可在用戶玩的視頻游戲的視頻巾貞序列上提供miniapp生成按鈕(或其它適當(dāng)?shù)膱D形用戶界面(⑶I)元素),對(duì)miniapp生成按鈕有相應(yīng)的輸入映射。當(dāng)用戶激活miniapp生成按鈕時(shí),miniapp模塊給用戶提供被表示為各種⑶I元素的一組miniapp生成工具,各種⑶I元素通過視頻覆蓋被提供有相應(yīng)的輸入映射。用戶可接著激活這組miniapp生成工具以創(chuàng)建對(duì)應(yīng)于用戶已經(jīng)執(zhí)行的視頻游戲的一部分的視頻游戲的微型版本,其在下文中被稱為miniapp。
[0097]Miniapp由實(shí)際程序指令定義,實(shí)際程序指令被執(zhí)行并對(duì)在對(duì)應(yīng)于miniapp的視頻游戲的部分的用戶執(zhí)行期間的執(zhí)行是可用的。Miniapp還包括在對(duì)應(yīng)于miniapp的所執(zhí)行的視頻游戲的部分期間從用戶接收的輸入信號(hào)的記錄。在一個(gè)實(shí)施方案中,miniapp還包括在對(duì)應(yīng)于miniapp的視頻游戲的部分的用戶執(zhí)行期間再現(xiàn)和記錄的一序列視頻圖像。在這個(gè)實(shí)施方案中,視頻圖像的所記錄的序列可被顯示以顯示對(duì)應(yīng)于miniapp的視頻游戲的部分的用戶的以前執(zhí)行。在另一實(shí)施方案中,miniapp的程序指令可基于用戶的所記錄的輸入信號(hào)來執(zhí)行以有效地顯示視頻游戲的用戶執(zhí)行的視頻回放,如可應(yīng)用于視頻游戲的miniapp部分的。
[0098]此外,因?yàn)閙iniapp由被執(zhí)行并對(duì)在對(duì)應(yīng)于miniapp的視頻游戲的部分的用戶執(zhí)行期間的執(zhí)行是可用的實(shí)際程序指令定義,miniapp對(duì)基于新的用戶輸入信號(hào)的執(zhí)行是可用的。因此,miniapp允許視頻游戲的其相應(yīng)部分由同一用戶或不同的用戶在任何時(shí)間重新玩。而且,通過云計(jì)算系統(tǒng)600,所生成的miniapp可本質(zhì)上由任何用戶在任何時(shí)間存儲(chǔ)和執(zhí)行。此外,miniapp模塊可提供各種⑶I元素和相應(yīng)的輸入映射和視頻覆蓋以允許用戶向例如社會(huì)媒體網(wǎng)站公開所生成的miniapp,和/或?qū)⑺傻膍iniapp保存到特定的存儲(chǔ)位置,和/或執(zhí)行所生成的miniapp。
[0099]圖7示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的與圖2的視頻DEP245A交互作用的miniapp模塊2000。Miniapp模塊2000被定義根據(jù)關(guān)于圖2提供的視頻DEP245A和覆蓋邏輯290的描述生成各種視頻覆蓋圖像并通過DEP245A根據(jù)需要提供各種視頻覆蓋圖像以實(shí)現(xiàn)miniapp模塊2000的功能。Miniapp模塊2000還被定義為根據(jù)圖4和5的描述提供通過DEP245A提供的各種視頻覆蓋圖像的輸入映射,以實(shí)現(xiàn)miniapp模塊2000的功能。
[0100]miniapp模塊2000包括miniapp生成邏輯2001,其被定義成為基于視頻游戲或通常計(jì)算機(jī)應(yīng)用的用戶執(zhí)行而生成miniapp作準(zhǔn)備。miniapp生成邏輯2001被定義為提供miniapp生成⑶I按鈕或其它適當(dāng)?shù)目刂疲鳛樵谟捎脩魣?zhí)行的視頻游戲上的視頻覆蓋。例如,圖8示出用戶終端顯示器801,視頻游戲的視頻序列803顯示在用戶終端顯示器801上。用戶通過經(jīng)由控制器802提供用戶輸入信號(hào)響應(yīng)于在顯示器801中示出的視頻序列803來執(zhí)行視頻游戲。Miniapp生成⑶I按鈕805顯示在顯示器801上??赏ㄟ^在視頻序列803上應(yīng)用視頻覆蓋來顯示miniapp生成⑶I按鈕805。在一個(gè)實(shí)施方案中,miniapp生成⑶I按鈕805被示為繼續(xù)存在于屏幕上的固定位置上。在另一實(shí)施方案中,miniapp生成⑶I按鈕805可響應(yīng)于接收到的用戶輸入信號(hào)例如菜單選擇信號(hào)、控制器802的激活信號(hào)、在屏幕上的規(guī)定位置上的虛擬控制元素的懸停等而顯示。
[0101]當(dāng)激活miniapp生成⑶I按鈕805時(shí),miniapp生成邏輯2001起作用來進(jìn)入miniapp生成模式以提供一組miniapp生成⑶I控制作為在用戶的顯示器801上的視頻覆蓋。圖9示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的包括可顯示在用戶的顯示器801上的一組miniapp生成⑶I控制的miniapp生成模式的例子。這組miniapp生成⑶I控制包括miniapp生成條812,其顯示已消逝的,即在圖9的例子中從O到65:33的視頻游戲執(zhí)行的整體的時(shí)間線813。miniapp生成條812還包括miniapp開始標(biāo)志器815、miniapp結(jié)束標(biāo)志器817和miniapp持續(xù)時(shí)間標(biāo)志器819,其中miniapp持續(xù)時(shí)間標(biāo)志器819是在miniapp開始標(biāo)志器815和miniapp結(jié)束標(biāo)志器817之間沿伸的時(shí)間線813的修改的段。
[0102]在一個(gè)實(shí)施方案中,miniapp持續(xù)時(shí)間標(biāo)志器819具有固定的長(zhǎng)度,并可沿著時(shí)間線813由用戶拖動(dòng),該用戶沿著時(shí)間線813拖miniapp開始標(biāo)志器815、miniapp結(jié)束標(biāo)志器817和miniapp持續(xù)時(shí)間標(biāo)志器819。在這個(gè)實(shí)施方案中,miniapp開始標(biāo)志器815的拖動(dòng)將導(dǎo)致miniapp持續(xù)時(shí)間標(biāo)志器819和miniapp結(jié)束標(biāo)志器817的相應(yīng)運(yùn)動(dòng)。此外,在這個(gè)實(shí)施方案中,miniapp持續(xù)時(shí)間標(biāo)志器819的拖動(dòng)將導(dǎo)致miniapp開始標(biāo)志器815和miniapp結(jié)束標(biāo)志器817的相應(yīng)運(yùn)動(dòng)。此外,在這個(gè)實(shí)施方案中,miniapp結(jié)束標(biāo)志器817的拖動(dòng)將導(dǎo)致miniapp持續(xù)時(shí)間標(biāo)志器819和miniapp開始標(biāo)志器815的相應(yīng)運(yùn)動(dòng)。應(yīng)理解,miniapp的最大可允許的持續(xù)時(shí)間可基于很多不同的因素例如經(jīng)濟(jì)性能和計(jì)算資源的消耗及其它因素由計(jì)算機(jī)應(yīng)用提供商固定。
[0103]此外,在一些實(shí)施方案中,miniapp開始標(biāo)志器815和/或miniapp結(jié)束標(biāo)志器817可朝著彼此由用戶移動(dòng)以減小如miniapp持續(xù)時(shí)間標(biāo)志器819所表示的miniapp的持續(xù)時(shí)間。在一些實(shí)施方案中,miniapp生成邏輯2001可施行最低要求的miniapp持續(xù)時(shí)間以便確保所生成的miniapp包括某個(gè)數(shù)量的有意義的內(nèi)容。此外,在一些實(shí)施方案中,miniapp開始標(biāo)志器815和/或miniapp結(jié)束標(biāo)志器817可由用戶移動(dòng)遠(yuǎn)離彼此以增加如miniapp持續(xù)時(shí)間標(biāo)志器819所表示的miniapp的持續(xù)時(shí)間。在一些實(shí)施方案中,miniapp生成邏輯2001可施行最大允許的miniapp持續(xù)時(shí)間。最大允許的miniapp持續(xù)時(shí)間可被指定為確保所生成的miniapp不消耗太多的計(jì)算資源或確保視頻游戲的值不被減少,miniapp從該值生成。
[0104]這組miniapp生成⑶I控制可包括重放按鈕805,其在由用戶激活時(shí)將允許用戶重放如miniapp生成條812指定的miniapp。圖10示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的當(dāng)用戶激活重放按鈕805時(shí)發(fā)起的miniapp重放模式。Miniapp重放模式基于在對(duì)應(yīng)于miniapp持續(xù)時(shí)間的視頻游戲的部分期間記錄的用戶輸入信號(hào)來為對(duì)應(yīng)于如miniapp生成條812指定的miniapp的視頻游戲的用戶執(zhí)行的重放作準(zhǔn)備。
[0105]圖10示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的可顯示在用戶的顯示器801上的一組示例性miniapp重放⑶I控制。在一些實(shí)施方案中,這組miniapp重放⑶I控制可包括miniapp生成條812,其上顯示有當(dāng)前執(zhí)行狀態(tài)標(biāo)志器829以指示在miniapp的執(zhí)行內(nèi)的時(shí)間位置。在一個(gè)實(shí)施方案中,miniapp開始標(biāo)志器815、miniapp結(jié)束標(biāo)志器817和miniapp持續(xù)時(shí)間標(biāo)志器819在miniapp重放過程期間在miniapp生成條812內(nèi)是不活動(dòng)的。在另一實(shí)施方案中,miniapp開始標(biāo)志器815、miniapp結(jié)束標(biāo)志器817和miniapp持續(xù)時(shí)間標(biāo)志器819在miniapp重放過程期間在miniapp生成條812內(nèi)是活動(dòng)的,從而允許在重放過程期間miniapp時(shí)間規(guī)范的調(diào)整。
[0106]這組miniapp重放⑶I控制還包括回放按鈕821,其在激活時(shí)將從如當(dāng)前執(zhí)行狀態(tài)標(biāo)志器829所指示的當(dāng)前執(zhí)行狀態(tài)運(yùn)行miniapp。這組miniapp重放⑶I控制還包括暫停按鈕823,其在激活時(shí)將在如當(dāng)前執(zhí)行狀態(tài)標(biāo)志器829所指示的當(dāng)前執(zhí)行狀態(tài)停止miniapp的執(zhí)行。這組miniapp重放⑶I控制還包括倒回按鈕825以將miniapp的執(zhí)行移動(dòng)到相對(duì)于如當(dāng)前執(zhí)行狀態(tài)標(biāo)志器829所指示的當(dāng)前執(zhí)行狀態(tài)的以前執(zhí)行狀態(tài)。這組miniapp重放GUI控制還包括向前按鈕827以將miniapp的執(zhí)行移動(dòng)到相對(duì)于如當(dāng)前執(zhí)行狀態(tài)標(biāo)志器829所指示的當(dāng)前執(zhí)行狀態(tài)的提前的執(zhí)行狀態(tài)。此外,在一些實(shí)施方案中,miniapp的當(dāng)前執(zhí)行狀態(tài)可通過用戶沿著時(shí)間線813拖當(dāng)前執(zhí)行狀態(tài)標(biāo)志器829來改變。此外,這組miniapp重放GUI控制包括返回按鈕828,其在激活時(shí)將用戶從miniapp重放模式返回到如圖9所示的miniapp生成模式。
[0107]在圖9的miniapp生成模式中的這組miniapp重放⑶I控制還包括保存按鈕807,其在激活時(shí)允許用戶將如miniapp生成條812指定的miniapp保存在用戶選擇的存儲(chǔ)位置。圖11示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的可顯示在用戶的顯示器801上的一組示例性miniapp保存⑶I控制。用戶可從數(shù)據(jù)存儲(chǔ)位置的列表選擇數(shù)據(jù)存儲(chǔ)位置833,在這些數(shù)據(jù)存儲(chǔ)位置處存儲(chǔ)與如miniapp生成條812指定的miniapp相關(guān)的數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)位置833可由用戶指定或基于用戶計(jì)算系統(tǒng)的配置來指定。在一些實(shí)施方案中,可給用戶提供數(shù)據(jù)輸入字段831,用戶可通過數(shù)據(jù)輸入字段831指定URL (通用資源位置),在這些URL處存儲(chǔ)與如miniapp生成條812指定的miniapp相關(guān)的數(shù)據(jù)。此外,可給用戶提供miniapp名稱字段835,用戶可通過miniapp名稱字段835指定miniapp的名稱。還提供保存按鈕836,其在激活時(shí)將使miniapp數(shù)據(jù)保存在特定的數(shù)據(jù)存儲(chǔ)位置處。在一些實(shí)施方案中,保存按鈕836可以變得不可激活,直到數(shù)據(jù)存儲(chǔ)位置被選擇/輸入。
[0108]Miniapp的存儲(chǔ)包括指定執(zhí)行視頻游戲的miniapp部分所需的視頻游戲的程序指令的一個(gè)或多個(gè)部分的數(shù)據(jù)的存儲(chǔ)。對(duì)應(yīng)于miniapp的視頻游戲的程序指令的一個(gè)或多個(gè)指定的部分可以是程序指令的連續(xù)段或可以是程序指令的分開的段。此外,miniapp的存儲(chǔ)包括如在對(duì)應(yīng)于miniapp的視頻游戲的用戶執(zhí)行期間記錄的用戶的輸入信號(hào)的存儲(chǔ)。此夕卜,miniapp的存儲(chǔ)可包括定義miniapp的初始執(zhí)行狀態(tài)的數(shù)據(jù)。應(yīng)理解,miniapp的存儲(chǔ)包括下列操作所需的任何程序指令和應(yīng)用狀態(tài)數(shù)據(jù)的識(shí)別:I)執(zhí)行對(duì)應(yīng)于miniapp的視頻游戲的部分和2)重新創(chuàng)建對(duì)應(yīng)于miniapp的視頻游戲的部分的用戶的所記錄的執(zhí)行。此夕卜,這組miniapp保存⑶I控制包括返回按鈕832,其在一個(gè)實(shí)施方案中當(dāng)激活時(shí)將用戶從miniapp保存模式返回到如圖9所示的miniapp生成模式,或在另一實(shí)施方案中將用戶返回到miniapp生成模式最初被進(jìn)入的視頻游戲狀態(tài)。
[0109]在各種實(shí)施方案中,可以以二進(jìn)制格式作為機(jī)器可執(zhí)行代碼、以預(yù)先編譯的源代碼格式、以可解釋的源代碼格式和/或其任何組合和/或其它類型的計(jì)算機(jī)可執(zhí)行代碼格式來指定對(duì)應(yīng)于miniapp的程序指令。此外,在一些實(shí)施方案中,元數(shù)據(jù)可用于識(shí)別在定義miniapp時(shí)使用所必需的程序指令的部分。元數(shù)據(jù)可以是代碼標(biāo)志器或嵌入視頻游戲的程序指令內(nèi)的任何其它類型的標(biāo)志。元數(shù)據(jù)可嵌入機(jī)器可執(zhí)行代碼內(nèi)、預(yù)先編譯的源代碼內(nèi)、可解釋的源代碼內(nèi)和/或其任何組合。在這樣的實(shí)施方案中,元數(shù)據(jù)可被使用和存儲(chǔ)以指定執(zhí)行視頻游戲的miniapp部分所需的視頻游戲的程序指令的一個(gè)或多個(gè)部分。在一些實(shí)施方案中,元數(shù)據(jù)可用于識(shí)別生成對(duì)應(yīng)于miniapp的視頻游戲的完全狀態(tài)所必需(例如,使用、執(zhí)行和/或參考等)的所有代碼。[0110]在圖9的miniapp生成模式中的這組miniapp生成⑶I控制還包括公開按鈕809,其在激活時(shí)允許用戶將如miniapp生成條812指定的miniapp公開到網(wǎng)站,例如用戶選擇的社會(huì)媒體網(wǎng)站。在一些實(shí)施方案中,公開按鈕809可能變得不可激活,直到miniapp被保存到數(shù)據(jù)存儲(chǔ)位置。參考圖7,miniapp模塊2000包括被定義成為將所生成的miniapp公開到網(wǎng)站作準(zhǔn)備的miniapp公開邏輯2003。
[0111]圖12示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的可顯示在用戶的顯示器801上的一組示例性miniapp公開⑶I控制。用戶可從網(wǎng)站的列表選擇要公開miniapp的網(wǎng)站837。網(wǎng)站837可由用戶指定或基于用戶的計(jì)算系統(tǒng)的配置來指定。在一些實(shí)施方案中,可給用戶提供數(shù)據(jù)輸入字段839,用戶可通過數(shù)據(jù)輸入字段839指定對(duì)應(yīng)于要公開如miniapp生成條812指定的miniapp的網(wǎng)站的URL (通用資源位置)。
[0112]Miniapp可被公開的網(wǎng)站可包括社會(huì)媒體網(wǎng)站,作為例子,例如Facebook連同其它類型的網(wǎng)站。用戶可選擇在社會(huì)媒體網(wǎng)站上公開他們的miniapp以便于將miniapp共享給在線熟人。當(dāng)選擇要公開miniapp的網(wǎng)站時(shí),用戶可被提示對(duì)選定的網(wǎng)站輸入他們的證書。例如,圖13示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的包括數(shù)據(jù)字段的顯示圖形841,用戶可通過這些數(shù)據(jù)字段對(duì)選定的網(wǎng)站(網(wǎng)站I)輸入他們的登錄證書(登錄ID和口令)。圖14示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的當(dāng)用戶成功地登陸到選定的網(wǎng)站時(shí)在用戶的顯示器上再現(xiàn)的miniapp公開顯示圖像843。miniapp公開顯示圖像843包括數(shù)據(jù)字段,用戶可通過該數(shù)據(jù)字段提供他們的miniapp的說明文字和將被放置在他們的miniapp的圖標(biāo)附近的標(biāo)簽。顯示圖像843還包括共享⑶I按鈕845,其當(dāng)激活時(shí)將用戶的miniapp公開到選定的網(wǎng)站的他們的個(gè)人頁(yè)面,并將用戶從miniapp公開模式返回到miniapp生成模式最初被進(jìn)入時(shí)的視頻游戲狀態(tài)。顯示圖像843還可包括返回⑶I按鈕847,其在激活時(shí)將用戶從miniapp公開模式返回到miniapp生成模式最初被進(jìn)入時(shí)的視頻游戲狀態(tài)。
[0113]圖15示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的用戶的社會(huì)媒體網(wǎng)頁(yè)的顯示圖像849,社會(huì)媒體網(wǎng)頁(yè)具有在其上公開的作為圖標(biāo)850,即,鏈接的用戶的miniapp。當(dāng)激活圖標(biāo)850時(shí),相應(yīng)的miniapp在用戶的終端上被執(zhí)行以顯示對(duì)應(yīng)于如所記錄的用戶輸入信號(hào)指示的miniapp的視頻游戲部分的用戶的以前執(zhí)行。參考圖7,miniapp模塊2000包括被定義成為所保存的miniapp的執(zhí)行作準(zhǔn)備的miniapp執(zhí)行邏輯2005。miniapp執(zhí)行邏輯2005根據(jù)需要引導(dǎo)在云計(jì)算系統(tǒng)600上的計(jì)算資源的提供,以為在用戶計(jì)算終端上的所保存的miniapp的執(zhí)行作準(zhǔn)備。
[0114]圖16示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的第二用戶的社會(huì)媒體網(wǎng)頁(yè)的顯示圖像853,第一用戶的公開的miniapp在該社會(huì)媒體網(wǎng)頁(yè)上作為圖標(biāo)854,即,鏈接是可訪問的。在一個(gè)實(shí)施方案中,當(dāng)?shù)诙脩艏せ顖D標(biāo)854時(shí),相應(yīng)的miniapp在第二用戶的終端上被執(zhí)行以顯示對(duì)應(yīng)于如所記錄的用戶輸入信號(hào)指示的miniapp的視頻游戲部分的第一用戶的以前執(zhí)行。在另一實(shí)施方案中,當(dāng)?shù)诙脩艏せ顖D標(biāo)854時(shí),所記錄的視頻序列顯示在第二用戶的終端上以顯示對(duì)應(yīng)于miniapp的視頻游戲部分的第一用戶的以前執(zhí)行。
[0115]圖17示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的基于第一用戶的所記錄的用戶輸入信號(hào)在第二用戶的顯示器851上執(zhí)行的第一用戶的公開的miniapp803。第二用戶的顯示器851還顯示播放按鈕859,其當(dāng)執(zhí)行時(shí)將允許第二用戶根據(jù)第二用戶所提供的新用戶輸入信號(hào)來播放視頻游戲的miniapp部分。圖18示出第二用戶根據(jù)本發(fā)明的一個(gè)實(shí)施方案播放由第一用戶生成的miniapp。還給第二用戶提供miniapp生成按鈕871,其在激活時(shí)允許第二用戶生成對(duì)應(yīng)于由第一用戶生成的原始miniapp的新miniapp,但使用用于控制新miniapp的執(zhí)行的第二用戶的輸入信號(hào)而不是第一用戶的輸入信號(hào)。也可給第二用戶提供miniapp保存和/或公開能力,例如上面關(guān)于保存按鈕807和公開按鈕809討論的能力,如關(guān)于圖9討論的。
[0116]而且在一些實(shí)施方案中,第二用戶的顯示器851包括購(gòu)買按鈕861,其將允許第二用戶采購(gòu)整個(gè)視頻游戲,miniapp從該視頻游戲生成。而且在一些實(shí)施方案中,第二用戶的顯示器851包括擴(kuò)展按鈕863,其將允許第二用戶采購(gòu)miniapp的擴(kuò)展版本。miniapp的擴(kuò)展版本包括對(duì)應(yīng)于miniapp的視頻游戲的原始部分和在miniapp部分之前、在miniapp部分之后或在miniapp部分之前和之后的額外數(shù)量的視頻游戲。在一些實(shí)施方案中,為了考慮和選擇,各種擴(kuò)展選項(xiàng)和相關(guān)的采購(gòu)價(jià)格可被顯示給第二用戶。
[0117]此外,回來參考圖9,在miniapp生成模式中的這組miniapp生成⑶I控制還包括取消按鈕811,其在激活時(shí)將用戶從miniapp生成模式返回到miniapp生成模式最初被進(jìn)入時(shí)的視頻游戲狀態(tài)。
[0118]圖19示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的用于生成miniapp的方法的流程圖。該方法包括用于在云計(jì)算系統(tǒng)上執(zhí)行第一應(yīng)用一段時(shí)間的操作1901。該方法還包括用于記錄與在所述時(shí)間段期間第一應(yīng)用的執(zhí)行相關(guān)的用戶輸入信號(hào)的操作1903。該方法還包括用于記錄在所述時(shí)間段期間執(zhí)行的第一應(yīng)用的可執(zhí)行指令和狀態(tài)數(shù)據(jù)的操作1904。該方法還包括用于生成對(duì)應(yīng)于在所述時(shí)間段的一部分期間執(zhí)行的第一應(yīng)用的一個(gè)或多個(gè)部分的第二應(yīng)用的操作1905。第二應(yīng)用由如在所述時(shí)間段的所述部分期間記錄的第一應(yīng)用的可執(zhí)行指令和狀態(tài)數(shù)據(jù)定義。該方法還包括用于生成miniapp的操作1907以包括在所述時(shí)間段的所述部分期間第一應(yīng)用的執(zhí)行期間記錄的第二應(yīng)用和用戶輸入信號(hào)。
[0119]應(yīng)理解,圖19的方法包括將第一應(yīng)用的視頻流從云計(jì)算系統(tǒng)傳輸?shù)娇蛻舳擞?jì)算機(jī)系統(tǒng)。在一個(gè)實(shí)施方案中,該方法包括再現(xiàn)miniapp生成控制作為在第一應(yīng)用的視頻流內(nèi)的覆蓋圖像。此外,在這個(gè)實(shí)施方案中,該方法包括當(dāng)激活miniapp生成控制時(shí)傳輸一組miniapp生成控制作為在視頻流內(nèi)的一個(gè)或多個(gè)覆蓋圖像。
[0120]這組miniapp生成控制包括用于選擇在第一時(shí)間段內(nèi)的第二時(shí)間段的miniapp生成條,例如關(guān)于圖9討論的miniapp生成條812。此外,這組miniapp生成控制可包括基于在所述時(shí)間段期間第一應(yīng)用的執(zhí)行期間記錄的用戶輸入信號(hào)來發(fā)起第二應(yīng)用的自動(dòng)執(zhí)行的重放控制,例如關(guān)于圖9討論的重放控制805。應(yīng)理解,第二應(yīng)用的自動(dòng)執(zhí)行包括第二應(yīng)用自動(dòng)執(zhí)行的視頻流從云計(jì)算系統(tǒng)傳輸?shù)娇蛻舳擞?jì)算機(jī)系統(tǒng)。此外,這組miniapp生成控制可包括將所生成的miniapp的存儲(chǔ)引導(dǎo)到指定的數(shù)據(jù)存儲(chǔ)位置的保存控制,例如關(guān)于圖9討論的保存控制807。在一個(gè)實(shí)施方案中,所指定的數(shù)據(jù)存儲(chǔ)位置在云計(jì)算系統(tǒng)內(nèi)。此外,在一個(gè)實(shí)施方案中,所指定的數(shù)據(jù)存儲(chǔ)位置由通過客戶端計(jì)算機(jī)系統(tǒng)接收的通用資源定位符指定。
[0121]此外,這組miniapp生成控制可包括公開控制,例如關(guān)于圖9討論的公開控制809,以將所生成的miniapp的鏈接的公開引導(dǎo)到網(wǎng)站上。在一個(gè)實(shí)施方案中,miniapp被公開到的網(wǎng)站是社會(huì)媒體網(wǎng)站。在一個(gè)實(shí)施方案中,在網(wǎng)站內(nèi)的所公開的鏈接的激活基于所述時(shí)間段期間第一應(yīng)用的執(zhí)行期間記錄的用戶輸入信號(hào)而發(fā)起第二應(yīng)用的自動(dòng)執(zhí)行。第二應(yīng)用的自動(dòng)執(zhí)行包括第二應(yīng)用自動(dòng)執(zhí)行的視頻流傳輸?shù)降诙蛻舳擞?jì)算機(jī)系統(tǒng),網(wǎng)站在該第二客戶端計(jì)算機(jī)系統(tǒng)上被再現(xiàn)。第二應(yīng)用自動(dòng)執(zhí)行的視頻流實(shí)際上是通過miniapp的生成器對(duì)第二應(yīng)用的執(zhí)行的視頻回放。在另一實(shí)施方案中,在網(wǎng)站內(nèi)的公開的鏈接的激活發(fā)起在所述時(shí)間段期間第一應(yīng)用的miniapp生成器的執(zhí)行的所記錄的視頻回放在第二客戶端計(jì)算機(jī)系統(tǒng)上的顯示。
[0122]該方法還可包括提供播放控制,例如關(guān)于圖17討論的播放控制859,作為在如傳輸?shù)降诙蛻舳擞?jì)算機(jī)系統(tǒng)的第二應(yīng)用自動(dòng)執(zhí)行的視頻流內(nèi)的覆蓋圖像,網(wǎng)站在該第二客戶端計(jì)算機(jī)系統(tǒng)上被再現(xiàn)。播放控制的激活基于通過第二客戶端計(jì)算機(jī)系統(tǒng)接收的新用戶輸入信號(hào)來引導(dǎo)第二應(yīng)用的執(zhí)行,網(wǎng)站在該第二客戶端計(jì)算機(jī)系統(tǒng)上被再現(xiàn),例如關(guān)于圖18討論的。該方法還可包括提供保存控制作為在傳輸?shù)降诙蛻舳擞?jì)算機(jī)系統(tǒng)的視頻流內(nèi)的覆蓋圖像以引導(dǎo)在第二應(yīng)用的執(zhí)行期間記錄的新用戶輸入信號(hào)的存儲(chǔ)。此外,該方法可包括提供公開控制作為在傳輸?shù)降诙蛻舳擞?jì)算機(jī)系統(tǒng)的視頻流內(nèi)的覆蓋圖像以基于新用戶輸入信號(hào)來引導(dǎo)miniapp的鏈接的公開。
[0123]在一些實(shí)施方案中,該方法可包括提供購(gòu)買控制,例如關(guān)于圖17討論的購(gòu)買控制861,作為傳輸?shù)降诙蛻舳擞?jì)算機(jī)系統(tǒng)的視頻流內(nèi)的覆蓋圖像以實(shí)現(xiàn)來自云計(jì)算系統(tǒng)的第一應(yīng)用的采購(gòu)和下載。在一個(gè)實(shí)施方案中,購(gòu)買控制可為來自云計(jì)算系統(tǒng)的第一應(yīng)用的整體的采購(gòu)和下載作準(zhǔn)備。然而,在其它實(shí)施方案中,購(gòu)買控制可為來自云計(jì)算系統(tǒng)的第一應(yīng)用的指定部分的采購(gòu)和下載作準(zhǔn)備。指定部分可基于構(gòu)成公開的miniapp的第二應(yīng)用的擴(kuò)展,使得該擴(kuò)展包括第一應(yīng)用的更多部分,第二應(yīng)用從第一應(yīng)用得到。而且,第二應(yīng)用的擴(kuò)展可被編索引到在第一應(yīng)用的執(zhí)行內(nèi)的指定描畫器,例如游戲水平或游戲里程碑。在一些實(shí)施方案中,采購(gòu)該擴(kuò)展的用戶可以是給定的用戶或關(guān)于擴(kuò)展以及相稱的采購(gòu)定價(jià)如何被定義的選項(xiàng)。
[0124]圖20示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的miniapp系統(tǒng)3000的方框圖。miniapp系統(tǒng)3000被定義為實(shí)現(xiàn)關(guān)于圖7的miniapp模塊2000討論的功能。miniapp系統(tǒng)3000包括被定義為生成miniapp作為I)第一應(yīng)用的程序指令的子集和2)在第一應(yīng)用的程序指令的子集的執(zhí)行期間接收的用戶輸入數(shù)據(jù)和應(yīng)用狀態(tài)數(shù)據(jù)的集合的miniapp生成模塊3010。miniapp生成模塊3010被定義為實(shí)現(xiàn)關(guān)于圖7討論的miniapp生成邏輯2001。miniapp系統(tǒng)3000包括被定義成為到miniapp的鏈接的公開作準(zhǔn)備的miniapp公開模塊3020,其在激活時(shí)將基于在miniapp內(nèi)的用戶輸入的集合而發(fā)起第一應(yīng)用的程序指令的子集的自動(dòng)執(zhí)行。miniapp公開模塊3020被定義為關(guān)于圖7討論的miniapp公開邏輯2003。
[0125]此外,miniapp系統(tǒng)3000包括被定義成為基于一組新的用戶輸入信號(hào)執(zhí)行第一應(yīng)用的程序指令的子集作準(zhǔn)備的miniapp執(zhí)行模塊3030。miniapp執(zhí)行模塊3030被定義為實(shí)現(xiàn)關(guān)于圖7討論的miniapp執(zhí)行邏輯2005。miniapp執(zhí)行模塊被定義為引導(dǎo)在第一應(yīng)用的程序指令的子集的執(zhí)行期間記錄的這組新的用戶輸入信號(hào)的存儲(chǔ)。在一些實(shí)施方案中,miniapp執(zhí)行模塊3030被定義成為對(duì)如云計(jì)算系統(tǒng)所供應(yīng)的第一應(yīng)用的完全訪問的采購(gòu)作準(zhǔn)備。
[0126]關(guān)于miniapp系統(tǒng)3000,應(yīng)理解,第一應(yīng)用由云計(jì)算系統(tǒng)供應(yīng)到客戶端計(jì)算系統(tǒng)。此外,在一個(gè)實(shí)施方案中,miniapp生成模塊、miniapp公開模塊和miniapp執(zhí)行模塊中的每個(gè)由云計(jì)算系統(tǒng)供應(yīng)到客戶端計(jì)算系統(tǒng)。[0127]本文公開的實(shí)施方案涉及用于應(yīng)用的云處理和云處理的視頻幀到遠(yuǎn)程客戶端的流式傳輸?shù)南到y(tǒng)和方法。云處理可包括處理并輸出第一應(yīng)用(例如,視頻游戲)的視頻巾貞以檢查圖像內(nèi)容的應(yīng)用,且基于該檢查,覆蓋內(nèi)容可合并到傳輸?shù)竭h(yuǎn)程客戶端的視頻幀中。在一個(gè)實(shí)施方案中,覆蓋內(nèi)容可與由第一應(yīng)用輸出的現(xiàn)有圖像內(nèi)容合并。該合并可以用各種方式被處理,且沒有限制地,合并可包括代替特定幀或幀的集合中的像素,跟蹤探測(cè)到的圖像對(duì)象并代替探測(cè)到的圖像對(duì)象的像素,當(dāng)它們從一個(gè)幀到另一幀或隨著時(shí)間的過去而移動(dòng)時(shí)。
[0128]在一些例子中,覆蓋過程被優(yōu)化,使得客戶端設(shè)備的用戶所接收的視頻幀將不探測(cè)到覆蓋處理被執(zhí)行(例如,在客戶端的顯示器上),且輸出看起來好像固有的應(yīng)用(例如,第一應(yīng)用)產(chǎn)生幀一樣。在各個(gè)例子中,第一應(yīng)用可以是視頻游戲應(yīng)用。在允許在線網(wǎng)絡(luò)播放的系統(tǒng)中,可給具有帳戶的用戶提供大視頻游戲庫(kù)以從中選擇可被認(rèn)為是第一應(yīng)用的視頻游戲。在這個(gè)上下文中,可給很多用戶提供帳戶,且很多用戶可選擇游戲并同時(shí)單獨(dú)地或在多玩家模式中與社會(huì)網(wǎng)絡(luò)的朋友一起玩。在第一應(yīng)用的遠(yuǎn)程執(zhí)行中,一個(gè)或多個(gè)遠(yuǎn)程執(zhí)行的應(yīng)用檢查并處理作為第一應(yīng)用的輸出的視頻幀。這些遠(yuǎn)程執(zhí)行的應(yīng)用執(zhí)行覆蓋過程,并可與游戲同步以提供最初不是固有應(yīng)用的部分的新體驗(yàn)。
[0129]如在本文討論的,遠(yuǎn)程地處理應(yīng)用的服務(wù)器可被稱為云處理系統(tǒng)。云處理系統(tǒng)可利用很多服務(wù)器,其可使用虛擬化硬件和軟件,且云處理系統(tǒng)可分布在多于一個(gè)數(shù)據(jù)中心當(dāng)中。良好放置的數(shù)據(jù)中心在通過其地理分布的流式傳輸中允許減小的延遲。在一些實(shí)施方案中,負(fù)載平衡可用于減小延遲并提高遠(yuǎn)程游戲玩耍的性能。
[0130]在本文特別示出和/或描述了幾個(gè)實(shí)施方案。然而,將認(rèn)識(shí)到,修改和改變被上述教導(dǎo)涵蓋且在所附權(quán)利要求的范圍內(nèi),而不偏離其精神和預(yù)期范圍。例如,雖然本文提供的例子目的在于視頻游戲,但是所討論的系統(tǒng)和方法可應(yīng)用于其它互動(dòng)式視頻系統(tǒng)。雖然本文提供的例子主要目的在于視頻的傳送,但是本文描述的系統(tǒng)和方法可應(yīng)用于音頻幀的生成和音頻流的傳送。在一些實(shí)施方案中,音頻和視頻流一起作為音頻-視頻流的部分被生成和傳送。
[0131]本文討論的實(shí)施方案說明本發(fā)明。因?yàn)閰⒖祭C描述本發(fā)明的這些實(shí)施方案,所以本文描述的方法和/或特定的結(jié)構(gòu)的各種修改或改編可對(duì)本領(lǐng)域中的技術(shù)人員變得明顯。所有這樣的修改、改編或改變(其依賴于本發(fā)明的教導(dǎo),且通過其,這些教導(dǎo)使本技術(shù)進(jìn)步)被認(rèn)為在本發(fā)明的精神和范圍內(nèi)。因此,本文提供的描述和附圖不應(yīng)在限制的意義上被考慮,因?yàn)閼?yīng)理解,本發(fā)明決不只限于本文描述的實(shí)施方案。
[0132]本文所指的計(jì)算系統(tǒng)可包括集成電路、微處理器、個(gè)人計(jì)算機(jī)、服務(wù)器、分布式計(jì)算系統(tǒng)、通信設(shè)備、網(wǎng)絡(luò)設(shè)備等及其的各種組合。計(jì)算系統(tǒng)還可包括易失性和/或非易失性存儲(chǔ)器,例如隨機(jī)存取存儲(chǔ)器(RAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、磁性介質(zhì)、光學(xué)介質(zhì)、納米介質(zhì)、硬盤驅(qū)動(dòng)器、光盤、數(shù)字通用盤(DVD)和/或配置成將模擬或數(shù)字信息存儲(chǔ)在數(shù)據(jù)庫(kù)中的其它設(shè)備。上面提到的邏輯的各種例子可包括硬件、固件或存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上的軟件或其組合。如本文使用的計(jì)算機(jī)可讀介質(zhì)明確地不包括紙。本文提到的方法的計(jì)算機(jī)實(shí)現(xiàn)的步驟可包括存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上的一組指令,其當(dāng)被執(zhí)行時(shí)使計(jì)算系統(tǒng)執(zhí)行步驟。
[0133]被編程為按照來自程序軟件的指令執(zhí)行特定功能的計(jì)算系統(tǒng)是用于執(zhí)行那些特定功能的專用計(jì)算系統(tǒng)。由專用計(jì)算系統(tǒng)操縱同時(shí)執(zhí)行那些特定功能的數(shù)據(jù)至少電子地保存在計(jì)算系統(tǒng)的緩沖器中,將專用計(jì)算系統(tǒng)從一種狀態(tài)物理地改變到下一狀態(tài),每個(gè)狀態(tài)對(duì)所存儲(chǔ)的數(shù)據(jù)有改變。本文討論的邏輯可包括硬件、固件或存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上的軟件。這個(gè)邏輯可在電子設(shè)備中實(shí)現(xiàn)以產(chǎn)生專用計(jì)算系統(tǒng)。
[0134]本發(fā)明的實(shí)施方案可使用各種計(jì)算機(jī)系統(tǒng)配置(包括手持設(shè)備、微處理器系統(tǒng)、基于微處理器的或可編程的消費(fèi)電子設(shè)備、微計(jì)算機(jī)、大型計(jì)算機(jī)等)來實(shí)施。本發(fā)明還可在分布式計(jì)算環(huán)境中實(shí)施,在分布式計(jì)算環(huán)境中,任務(wù)由通過網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來執(zhí)行。
[0135]記住上述實(shí)施方案,應(yīng)理解,本發(fā)明可使用涉及存儲(chǔ)在計(jì)算機(jī)系統(tǒng)中的數(shù)據(jù)的各種計(jì)算機(jī)實(shí)現(xiàn)的操作。這些操作是需要物理量的物理操縱的那些操作。形成本發(fā)明的部分的本文描述的任何操作是有用的機(jī)器操作。本發(fā)明還涉及用于執(zhí)行這些操作的設(shè)備或裝置。裝置可特別為了所需的目的例如專用計(jì)算機(jī)而構(gòu)造。當(dāng)被定義為專用計(jì)算機(jī)時(shí),計(jì)算機(jī)也可執(zhí)行其它處理、不是專用目的的部分的程序執(zhí)行或例程,雖然仍然能夠?yàn)榱藢S媚康亩僮???蛇x地,操作可由選擇性地由存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器、高速緩沖存儲(chǔ)器中或通過網(wǎng)絡(luò)得到的一個(gè)或多個(gè)計(jì)算機(jī)程序啟動(dòng)或配置的通用計(jì)算機(jī)處理。當(dāng)數(shù)據(jù)通過網(wǎng)絡(luò)得到時(shí),數(shù)據(jù)也許由網(wǎng)絡(luò)上的其它計(jì)算機(jī)例如計(jì)算資源的云處理。
[0136]本發(fā)明的實(shí)施方案也可被定義為將數(shù)據(jù)從一種狀態(tài)轉(zhuǎn)換到另一狀態(tài)的機(jī)器。所轉(zhuǎn)換的數(shù)據(jù)可被保存到存儲(chǔ)器并接著由處理器操縱。處理器因此將數(shù)據(jù)從一種情形轉(zhuǎn)換到另一情形。仍然進(jìn)一步地,方法可由可通過網(wǎng)絡(luò)連接的一個(gè)或多個(gè)機(jī)器或處理器處理。每個(gè)機(jī)器可將數(shù)據(jù)從一種狀態(tài)或情形轉(zhuǎn)換到另一狀態(tài)或情形,并且也可處理數(shù)據(jù),將數(shù)據(jù)保存到存儲(chǔ)器,通過網(wǎng)絡(luò)傳輸數(shù)據(jù),顯示結(jié)果或?qū)⒔Y(jié)果傳遞到另一機(jī)器。
[0137]本發(fā)明也可被體現(xiàn)為非臨時(shí)計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)可讀代碼。非臨時(shí)計(jì)算機(jī)可讀介質(zhì)是可存儲(chǔ)數(shù)據(jù)的任何數(shù)據(jù)存儲(chǔ)設(shè)備,該數(shù)據(jù)可其后由計(jì)算機(jī)系統(tǒng)讀取。非臨時(shí)計(jì)算機(jī)可讀介質(zhì)的例子包括硬盤驅(qū)動(dòng)器、網(wǎng)絡(luò)附加存儲(chǔ)器(NAS)、只讀存儲(chǔ)器、隨機(jī)存取存儲(chǔ)器、CD-ROM、CD-R、CD-RW、磁帶以及其它光學(xué)和非光學(xué)數(shù)據(jù)存儲(chǔ)設(shè)備。非臨時(shí)計(jì)算機(jī)可讀介質(zhì)可包括分布在網(wǎng)絡(luò)耦合的計(jì)算機(jī)系統(tǒng)上的計(jì)算機(jī)可讀有形介質(zhì),使得計(jì)算機(jī)可讀代碼以分布式方式被存儲(chǔ)和執(zhí)行。
[0138]雖然以特定的順序描述了方法操作,但是應(yīng)理解,其它主持事務(wù)的操作可在操作之間執(zhí)行,或操作可被調(diào)節(jié),使得它們?cè)谏晕⒉煌臅r(shí)間出現(xiàn),或可分布在允許處理操作以與處理相關(guān)的各種間隔出現(xiàn)的系統(tǒng)中,只要方法操作的處理以期望的方式被執(zhí)行。
[0139]雖然為了理解的清楚詳細(xì)描述了前述發(fā)明,但是將明顯的是,某些改變和修改可在所附權(quán)利要求的范圍內(nèi)被實(shí)施。因此,當(dāng)前的實(shí)施方案應(yīng)被考慮為例證性的而不是限制性的,且本發(fā)明不應(yīng)限于本文給出的細(xì)節(jié),而是可在所附權(quán)利要求的范圍和等效形式內(nèi)被修改。
【權(quán)利要求】
1.一種用于生成miniapp的方法,包括: 在云計(jì)算系統(tǒng)上執(zhí)行第一應(yīng)用一時(shí)間段; 記錄與在所述時(shí)間段期間所述第一應(yīng)用的執(zhí)行相關(guān)的用戶輸入信號(hào); 記錄在所述時(shí)間段期間執(zhí)行的所述第一應(yīng)用的可執(zhí)行指令和狀態(tài)數(shù)據(jù); 生成對(duì)應(yīng)于在所述時(shí)間段的一部分期間執(zhí)行的所述第一應(yīng)用的一個(gè)或多個(gè)部分的第二應(yīng)用,所述第二應(yīng)用由如在所述時(shí)間段的所述部分期間記錄的所述第一應(yīng)用的可執(zhí)行指令和狀態(tài)數(shù)據(jù)定義;以及 生成miniapp以包括在所述時(shí)間段的所述部分期間所述第一應(yīng)用的執(zhí)行期間記錄的所述第二應(yīng)用和所述用戶輸入信號(hào)。
2.如權(quán)利要求1所述的用于產(chǎn)生miniapp的方法,還包括: 將所述第一應(yīng)用的視頻流傳輸?shù)娇蛻舳擞?jì)算機(jī)系統(tǒng); 再現(xiàn)miniapp生成控制作為在所述第一應(yīng)用的所述視頻流內(nèi)的覆蓋圖像;以及 當(dāng)激活所述miniapp生成控制時(shí),傳輸一組miniapp生成控制作為在所述視頻流內(nèi)的一個(gè)或多個(gè)覆蓋圖像。
3.如權(quán)利要求2所述 的用于產(chǎn)生miniapp的方法,其中所述miniapp生成控制組包括用于選擇所述時(shí)間段的所述部分的miniapp生成條。
4.如權(quán)利要求2所述的用于產(chǎn)生miniapp的方法,其中所述miniapp生成控制組包括重放控制以基于在所述時(shí)間段的所述部分期間所述第一應(yīng)用的執(zhí)行期間記錄的所述用戶輸入信號(hào)來發(fā)起所述第二應(yīng)用的自動(dòng)執(zhí)行,所述第二應(yīng)用的所述自動(dòng)執(zhí)行包括所述第二應(yīng)用自動(dòng)執(zhí)行的視頻流到所述客戶端計(jì)算機(jī)系統(tǒng)的傳輸。
5.如權(quán)利要求2所述的用于產(chǎn)生miniapp的方法,其中所述miniapp生成控制組包括保存控制以將所生成的miniapp的存儲(chǔ)引導(dǎo)到指定的數(shù)據(jù)存儲(chǔ)位置。
6.如權(quán)利要求5所述的用于產(chǎn)生miniapp的方法,其中所述指定的數(shù)據(jù)存儲(chǔ)位置在所述云計(jì)算系統(tǒng)內(nèi)。
7.如權(quán)利要求6所述的用于產(chǎn)生miniapp的方法,其中所述指定的數(shù)據(jù)存儲(chǔ)位置由通過所述客戶端計(jì)算機(jī)系統(tǒng)接收的通用資源定位符指定。
8.如權(quán)利要求2所述的用于產(chǎn)生miniapp的方法,其中所述miniapp生成控制組包括公開控制以將所生成的miniapp的鏈接的公開引導(dǎo)到網(wǎng)站上。
9.如權(quán)利要求8所述的用于產(chǎn)生miniapp的方法,其中所述網(wǎng)站是社會(huì)媒體網(wǎng)站。
10.如權(quán)利要求8所述的用于產(chǎn)生miniapp的方法,其中在所述網(wǎng)站內(nèi)的所述鏈接的激活基于在所述時(shí)間段的所述部分期間所述第一應(yīng)用的執(zhí)行期間記錄的所述用戶輸入信號(hào)而發(fā)起所述第二應(yīng)用的自動(dòng)執(zhí)行,所述第二應(yīng)用的所述自動(dòng)執(zhí)行包括第二應(yīng)用自動(dòng)執(zhí)行的視頻流到第二客戶端計(jì)算機(jī)系統(tǒng)的傳輸,所述網(wǎng)站在所述第二客戶端計(jì)算機(jī)系統(tǒng)上被再現(xiàn)。
11.如權(quán)利要求10所述的用于產(chǎn)生miniapp的方法,還包括: 提供播放控制作為在傳輸?shù)剿龅诙蛻舳擞?jì)算機(jī)系統(tǒng)的第二應(yīng)用自動(dòng)執(zhí)行的視頻流內(nèi)的覆蓋圖像,所述網(wǎng)站在所述第二客戶端計(jì)算機(jī)系統(tǒng)上被再現(xiàn),所述播放控制的激活基于通過第二客戶端計(jì)算機(jī)系統(tǒng)接收的新用戶輸入信號(hào)來引導(dǎo)所述第二應(yīng)用的執(zhí)行,所述網(wǎng)站在所述第二客戶端計(jì)算機(jī)系統(tǒng)上被再現(xiàn)。
12.如權(quán)利要求11所述的用于產(chǎn)生miniapp的方法,還包括: 提供保存控制作為在傳輸?shù)剿龅诙蛻舳擞?jì)算機(jī)系統(tǒng)的視頻流內(nèi)的覆蓋圖像以引導(dǎo)在所述第二應(yīng)用的執(zhí)行期間記錄的所述新用戶輸入信號(hào)的存儲(chǔ)。
13.如權(quán)利要求11所述的用于產(chǎn)生miniapp的方法,還包括: 提供公開控制作為在傳輸?shù)剿龅诙蛻舳擞?jì)算機(jī)系統(tǒng)的視頻流內(nèi)的覆蓋圖像以基于所述新用戶輸入信號(hào)來引導(dǎo)miniapp的鏈接的公開。
14.如權(quán)利要求11所述的用于產(chǎn)生miniapp的方法,還包括: 提供購(gòu)買控制作為傳輸?shù)剿龅诙蛻舳擞?jì)算機(jī)系統(tǒng)的視頻流內(nèi)的覆蓋圖像以實(shí)現(xiàn)來自所述云計(jì)算系統(tǒng)的所述第一應(yīng)用的購(gòu)買和下載。
15.如權(quán)利要求14所述的用于產(chǎn)生miniapp的方法,其中所述購(gòu)買控制為來自所述云計(jì)算系統(tǒng)的所述第一應(yīng)用的指定部分的采購(gòu)和下載作準(zhǔn)備。
16.一種miniapp系統(tǒng),包括: miniapp生成模塊,其被定義為生成miniapp作為第一應(yīng)用的程序指令的子集和在所述第一應(yīng)用的程序指令的所述子集的執(zhí)行期間接收的用戶輸入信號(hào)的集合和應(yīng)用狀態(tài)數(shù)據(jù); miniapp公開模塊,其被定義成為到miniapp的鏈接的公開作準(zhǔn)備,所述miniapp公開模塊在激活時(shí)將基于用戶輸入信號(hào)的所述集合和在所述miniapp內(nèi)的應(yīng)用狀態(tài)數(shù)據(jù)而發(fā)起所述第一應(yīng)用的程序指令的所述子集的自動(dòng)執(zhí)行;以及 miniapp執(zhí)行模塊,其被定義為基于用戶輸入信號(hào)的新集合提供所述第一應(yīng)用的程序指令的所述子集的執(zhí)行。
17.如權(quán)利要求16所述的miniapp系統(tǒng),其中所述第一應(yīng)用由云計(jì)算設(shè)備供應(yīng)到客戶端計(jì)算系統(tǒng)。
18.如權(quán)利要求17所述的miniapp系統(tǒng),其中所述miniapp生成模塊、所述miniapp公開模塊和所述miniapp執(zhí)行模塊由所述云計(jì)算設(shè)備供應(yīng)到所述客戶端計(jì)算系統(tǒng)。
19.如權(quán)利要求18所述的miniapp系統(tǒng),其中所述miniapp執(zhí)行模塊被定義成為對(duì)如由所述云計(jì)算系統(tǒng)供應(yīng)的所述第一應(yīng)用的完全訪問的采購(gòu)作準(zhǔn)備。
20.如權(quán)利要求16所述的miniapp系統(tǒng),其中所述miniapp執(zhí)行模塊被定義為引導(dǎo)在所述第一應(yīng)用的程序指令的所述子集的執(zhí)行期間記錄的用戶輸入信號(hào)的所述新集合的存儲(chǔ)。
21.一種用于生成miniapp的數(shù)據(jù)存儲(chǔ)設(shè)備,其具有存儲(chǔ)在其上的程序指令,所述數(shù)據(jù)存儲(chǔ)設(shè)備包括: 用于在云計(jì)算系統(tǒng)上執(zhí)行第一應(yīng)用一時(shí)間段的程序指令; 用于記錄與在所述時(shí)間段期間所述第一應(yīng)用的執(zhí)行相關(guān)的用戶輸入信號(hào)的程序指令; 用于記錄在所述時(shí)間段期間執(zhí)行的所述第一應(yīng)用的可執(zhí)行指令和狀態(tài)數(shù)據(jù)的程序指令; 用于生成對(duì)應(yīng)于在所述時(shí)間段的一部分期間執(zhí)行的所述第一應(yīng)用的一個(gè)或多個(gè)部分的第二應(yīng)用的程序指令, 所述第二應(yīng)用由如在所述時(shí)間段的所述部分期間記錄的所述第一應(yīng)用的可執(zhí)行指令和狀態(tài)數(shù)據(jù)定義;以及用于生成miniapp以包括在所述時(shí)間段的所述部分期間所述第一應(yīng)用的執(zhí)行期間記錄的所述第二應(yīng)用和所述 用戶輸入信號(hào)的程序指令。
【文檔編號(hào)】G06F13/38GK103902489SQ201310740909
【公開日】2014年7月2日 申請(qǐng)日期:2013年12月27日 優(yōu)先權(quán)日:2012年12月27日
【發(fā)明者】D.佩里, V.O.S.繆拉 申請(qǐng)人:索尼電腦娛樂美國(guó)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1