用于交互式圖形流傳輸?shù)姆椒ê拖到y(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種將交互式計(jì)算機(jī)圖形從服務(wù)器流傳輸至客戶端設(shè)備的方法。該方法包括以下步驟:攔截從應(yīng)用傳輸去往在該服務(wù)器處的圖形處理單元(GPU)的多條圖形指令;在該服務(wù)器處對(duì)這些圖形指令進(jìn)行處理以生成圖形數(shù)據(jù);在該服務(wù)器處至少針對(duì)該圖像數(shù)據(jù)中的部分圖形數(shù)據(jù)生成索引信息;代替該圖形數(shù)據(jù)將該索引信息傳輸至客戶端設(shè)備;利用該索引信息提取存儲(chǔ)在該客戶端設(shè)備處的相應(yīng)圖形數(shù)據(jù);并且使用該相應(yīng)圖形數(shù)據(jù)在該客戶端設(shè)備處的圖形處理單元(GPU)處渲染計(jì)算機(jī)圖形。還披露了一種用于對(duì)交互式計(jì)算機(jī)圖形進(jìn)行流傳輸?shù)南到y(tǒng)。
【專利說明】
用于交互式圖形流傳輸?shù)姆椒ê拖到y(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明是交互式圖形流傳輸領(lǐng)域。更具體地但并非排他性地,本發(fā)明涉及來自服 務(wù)器上的應(yīng)用的用于在遠(yuǎn)程客戶端上由GPU顯示的交互式圖形流傳輸。
【背景技術(shù)】
[0002] 在交互式圖形應(yīng)用(如電腦游戲)領(lǐng)域中,用戶通常下載或通過物理介質(zhì)獲得這些 應(yīng)用并且在他們的設(shè)備上本地執(zhí)行這些應(yīng)用。
[0003] 然而,交互式圖形應(yīng)用的一些提供商期望在服務(wù)器處執(zhí)行圖形應(yīng)用并跨網(wǎng)絡(luò)將經(jīng) 渲染的圖形從應(yīng)用流傳輸至用戶用于在用戶設(shè)備上顯示的靈活性和控制力。
[0004] 采用這種對(duì)圖形內(nèi)容進(jìn)行流傳輸?shù)男问降默F(xiàn)有技術(shù)的當(dāng)前狀態(tài)為在專業(yè)服務(wù)器 上執(zhí)行應(yīng)用,該專門服務(wù)器提供了CPU、存儲(chǔ)器、后備存儲(chǔ)器和圖形處理單元(GPU),該圖形 處理單元用于將該應(yīng)用的輸出渲染到像素的幀緩沖區(qū)中。然后,所產(chǎn)生的像素被檢索并被 編碼成傳統(tǒng)的視頻流(例如h.264),并且被發(fā)送至客戶端。
[0005] 這種方法存在許多缺點(diǎn)。首先,服務(wù)器必須極其強(qiáng)大,足以同時(shí)為許多用戶運(yùn)行計(jì) 算和圖形密集型應(yīng)用;這導(dǎo)致高電力使用(并因此還導(dǎo)致高冷卻成本),這是決定商業(yè)可行 性的重大問題。
[0006] 其次,現(xiàn)有的視頻標(biāo)準(zhǔn)(如h.264)是固有地'有損',意味著它們?cè)诰幋a過程中會(huì)丟 失圖像保真度??梢酝ㄟ^增加流的帶寬需求來減少壓縮假象,但是存在對(duì)進(jìn)入用戶住處的 帶寬的硬限制以及對(duì)從服務(wù)器共同定位的數(shù)據(jù)中心出來的帶寬量的軟限制。這意味著這些 系統(tǒng)必須接受將壓縮假象引入將可行的內(nèi)容流中。
[0007] 第三,實(shí)時(shí)視頻壓縮是巨大的計(jì)算密集型過程,其中,所產(chǎn)生的流的帶寬需求是已 經(jīng)分配的壓縮處理量的函數(shù)。這增加了服務(wù)器負(fù)載和系統(tǒng)等待時(shí)間。
[0008] 第四,成千上萬的消費(fèi)者設(shè)備(例如,平板計(jì)算機(jī)、移動(dòng)設(shè)備和智能電視)越來越多 地包含強(qiáng)大的GPU,當(dāng)所有的應(yīng)用圖形處理發(fā)生在服務(wù)器上時(shí),這些GPU是遠(yuǎn)遠(yuǎn)沒有被充分 利用的資源。
[0009] 第五,隨著現(xiàn)在許多設(shè)備提供2560*1600像素并且"4k智能電視"(4096像素寬顯示 器)即將到來,顯示分辨率正在快速地增長(zhǎng)?;谙袼氐膲嚎s系統(tǒng)(如h.264)意味著:要得到 這些顯示所需要的保真度意味著要增加經(jīng)編碼的視頻流的帶寬。
[0010]因此,如果可以開發(fā)這樣一種交互式圖形流系統(tǒng)則將是所期望的:在該系統(tǒng)中,在 服務(wù)器上執(zhí)行應(yīng)用并且在客戶端設(shè)備上由本地GPU渲染圖形。
[0011 ] 在P ·艾澤特(P Eisert)與P ·費(fèi)希特勒(P Fechteler)的以下文章中描述了一個(gè) 這樣的系統(tǒng):"計(jì)算機(jī)圖形的低時(shí)延流傳輸(Low Delay Streaming of Computer Graphics)",第十五屆IEEE圖像處理國(guó)際會(huì)議(IEEE International Conference on Image Processing),ICIP 2008。然而,在這篇文章中描述的方法包括在客戶端處消隱服務(wù) 器存儲(chǔ)器。這種消隱是帶寬密集型的,并且甚至可以不必消隱整個(gè)圖形數(shù)據(jù)(例如,特定客 戶端設(shè)備的分辨率限制可能不支持高分辨率紋理)。
[0012] MPEG-4標(biāo)準(zhǔn)描述了將壓縮的幾何網(wǎng)格和紋理傳輸?shù)竭h(yuǎn)程設(shè)備并且可以被適配成 提供一種交互式圖形流傳輸系統(tǒng)。然而,要針對(duì)單獨(dú)的交互式應(yīng)用實(shí)現(xiàn)MPEG-4將需要對(duì)該 應(yīng)用進(jìn)行修改。此外,MPEG-4標(biāo)準(zhǔn)將導(dǎo)致針對(duì)每個(gè)新流潛在地將圖形數(shù)據(jù)從服務(wù)器重傳到 客戶端,導(dǎo)致服務(wù)器與客戶端之間的帶寬的低效率使用。
[0013]因此,期望一種交互式圖形流傳輸系統(tǒng),該系統(tǒng)提供了對(duì)服務(wù)器與客戶端之間的 帶寬的改善的使用,可適應(yīng)不同的客戶端設(shè)備能力,并且極少需要或者不需要對(duì)交互式圖 形應(yīng)用進(jìn)行重新編程。
[0014] 本發(fā)明的目的是提供一種滿足以上期望同時(shí)克服現(xiàn)有技術(shù)的缺點(diǎn)或至少提供有 用的替代方案的用于交互式圖形流傳輸?shù)姆椒ê拖到y(tǒng)。
【發(fā)明內(nèi)容】
[0015] 根據(jù)本發(fā)明的第一方面,提供了一種將交互式計(jì)算機(jī)圖形從服務(wù)器流傳輸至客戶 端設(shè)備的方法,該方法包括:
[0016] a)攔截從應(yīng)用傳輸去往在該服務(wù)器處的圖形處理單元(GPU)的多條圖形指令; [0017] b)在該服務(wù)器處對(duì)這些圖形指令進(jìn)行處理以生成圖形數(shù)據(jù);
[0018] c)在該服務(wù)器處至少針對(duì)該圖形數(shù)據(jù)中的部分圖形數(shù)據(jù)生成索引信息;
[0019] d)代替該圖形數(shù)據(jù)將該索引信息傳輸至客戶端設(shè)備;
[0020] e)利用該索引信息提取存儲(chǔ)在該客戶端設(shè)備處的相應(yīng)圖形數(shù)據(jù);并且
[0021] f)使用該相應(yīng)圖形數(shù)據(jù)在該客戶端設(shè)備處的圖形處理單元(GPU)處渲染計(jì)算機(jī)圖 形。
[0022] 該圖形數(shù)據(jù)可以包括圖形狀態(tài)、靜態(tài)資源和動(dòng)態(tài)資源的集合中的一者或多者。
[0023] 可以對(duì)在該圖形數(shù)據(jù)內(nèi)的多個(gè)對(duì)象進(jìn)行散列以生成該索引信息。
[0024] 該動(dòng)態(tài)資源可以包括頂點(diǎn)緩沖區(qū),并且可以針對(duì)該頂點(diǎn)緩沖區(qū)的多個(gè)經(jīng)修改的部 分生成索引信息。該頂點(diǎn)緩沖區(qū)可以被劃分成多個(gè)塊,并且針對(duì)多個(gè)經(jīng)修改的塊的運(yùn)行生 成索引信息。可以針對(duì)多個(gè)經(jīng)修改的塊的修正運(yùn)行生成索引信息,從而使得該運(yùn)行從在該 運(yùn)行中的第一個(gè)塊內(nèi)的第一個(gè)經(jīng)修改的位延伸到在該運(yùn)行中的最后一個(gè)塊內(nèi)的最后一個(gè) 經(jīng)修改的位。該頂點(diǎn)緩沖區(qū)可以被劃分成對(duì)應(yīng)于多個(gè)頂點(diǎn)字段的多個(gè)條帶,并且針對(duì)多個(gè) 經(jīng)修改的條帶可以生成索引信息。
[0025] 該第一方面的方法可以進(jìn)一步包括在該服務(wù)器與該客戶端之間同步該圖形數(shù)據(jù) 的步驟。當(dāng)該圖形數(shù)據(jù)包括紋理時(shí),可以僅同步所使用的這些紋理的數(shù)據(jù)。該客戶端設(shè)備的 配置文件可以確定圖形數(shù)據(jù)同步。該客戶端設(shè)備的該配置文件可以通過在該客戶端設(shè)備處 為多個(gè)較高分辨率圖形分配多個(gè)較低分辨率圖形來確定圖形數(shù)據(jù)同步。
[0026] 可以在該客戶端設(shè)備處的顯示器上顯示這些經(jīng)渲染的圖形。該客戶端設(shè)備可以響 應(yīng)于這些顯示的圖形接收用戶輸入,并且該用戶輸入可以被傳輸回至在該服務(wù)器上正執(zhí)行 的應(yīng)用。可以使用UDP至少部分地傳輸該用戶輸入??梢栽谠摲?wù)器上合成狀態(tài)轉(zhuǎn)換事件。 [0027]該應(yīng)用可以是由用戶從多個(gè)應(yīng)用中選擇出來用于在該服務(wù)器上執(zhí)行的。
[0028]根據(jù)本發(fā)明的進(jìn)一步的方面,提供了一種用于對(duì)交互式計(jì)算機(jī)圖形流傳輸?shù)南?統(tǒng),包括:
[0029]服務(wù)器,該服務(wù)器被配置成用于攔截從應(yīng)用傳輸去往在該服務(wù)器處的圖形處理單 元(GPU)的多條圖形指令、處理這些圖形指令以生成圖形數(shù)據(jù)、至少針對(duì)該圖形數(shù)據(jù)中的部 分圖形數(shù)據(jù)生成索引信息、代替該圖形數(shù)據(jù)將該索引信息傳輸至客戶端設(shè)備;以及
[0030] 客戶端設(shè)備,該客戶端設(shè)備被配置成用于利用該索引信息提取存儲(chǔ)在該客戶端設(shè) 備處的相應(yīng)圖形數(shù)據(jù)并且使用該相應(yīng)圖形數(shù)據(jù)在該客戶端設(shè)備處的圖形處理單元(GPU)處 渲染多個(gè)計(jì)算機(jī)圖形。
[0031] 在權(quán)利要求書中描述了本發(fā)明的其他方面。
【附圖說明】
[0032] 現(xiàn)在將僅通過舉例并且參考附圖描述本發(fā)明的實(shí)施例,在附圖中:
[0033 ]圖1:示出了展示根據(jù)本發(fā)明的實(shí)施例的系統(tǒng)的硬件圖;
[0034] 圖2:示出了展示根據(jù)本發(fā)明的實(shí)施例的處理流水線的框圖;
[0035] 圖3:示出了展示根據(jù)本發(fā)明的實(shí)施例的方法的流程圖;
[0036] 圖4:示出了展示根據(jù)本發(fā)明的實(shí)施例的在客戶端播放器與服務(wù)器之間的交互的 框圖;
[0037] 圖5:示出了展示根據(jù)本發(fā)明的實(shí)施例的攔截圖形指令的流程圖;
[0038]圖6:示出了展示根據(jù)本發(fā)明的實(shí)施例創(chuàng)建散列鍵集合的流程圖;
[0039] 圖7:示出了展示根據(jù)本發(fā)明的實(shí)施例的圖形命令壓縮的流程圖;并且
[0040] 圖8:示出了展示根據(jù)本發(fā)明的實(shí)施例的頂點(diǎn)緩沖區(qū)塊的散列法的框圖。
【具體實(shí)施方式】
[0041] 本發(fā)明提供了一種用于將交互式圖形從服務(wù)器流傳輸至客戶端設(shè)備的方法和系 統(tǒng)。
[0042] 該系統(tǒng)采集在服務(wù)器上執(zhí)行的應(yīng)用的輸出并且使用語義驅(qū)動(dòng)的壓縮來使能在客 戶端上使用其自身的圖形處理單元(GPU)實(shí)時(shí)地本地渲染該輸出。客戶端設(shè)備上的用戶輸 入被反饋至服務(wù)器以使能與正執(zhí)行的應(yīng)用進(jìn)行交互。
[0043] 驅(qū)動(dòng)應(yīng)用的數(shù)據(jù)以及對(duì)該數(shù)據(jù)的處理在服務(wù)器上保持安全,同時(shí)圖形結(jié)果被流傳 輸用于在客戶端設(shè)備上進(jìn)行渲染。
[0044]這使得客戶端設(shè)備能夠利用其GPU來將處理成本從服務(wù)器上轉(zhuǎn)移,同時(shí)保留客戶 端-服務(wù)器架構(gòu)的安全性優(yōu)勢(shì)。
[0045] 在圖1中,示出了根據(jù)本發(fā)明的實(shí)施例的交互式圖形流傳輸系統(tǒng)100。
[0046] 系統(tǒng)100包括服務(wù)器101和至少一個(gè)客戶端設(shè)備102。服務(wù)器101和客戶端設(shè)備102 可以經(jīng)由通信網(wǎng)絡(luò)103進(jìn)行通信。
[0047] 服務(wù)器101可以包括中央處理單元104,該中央處理單元被配置成用于執(zhí)行應(yīng)用模 塊、攔截器模塊、處理模塊和通信模塊。
[0048]客戶端設(shè)備102可以包括中央處理單元105,該中央處理單元被配置成用于執(zhí)行第 二處理模塊、被配置成用于存儲(chǔ)索引圖形數(shù)據(jù)的本地存儲(chǔ)器106和被配置成渲染圖形的圖 形處理單元(GPU) 107??蛻舳嗽O(shè)備102還可以包括用戶輸入108和顯示設(shè)備109。顯示設(shè)備 109可以被配置成用于向用戶顯示經(jīng)渲染的圖形??蛻舳嗽O(shè)備102可以被進(jìn)一步配置成用于 響應(yīng)于顯示的圖形接收來自用戶的輸入并且將該輸入傳輸至服務(wù)器101。
[0049]在圖2中,將描述根據(jù)本發(fā)明的實(shí)施例的圖形處理流水線200。
[0050]示出了應(yīng)用模塊201。應(yīng)用模塊201可以是應(yīng)用的標(biāo)準(zhǔn)軟件部署,該應(yīng)用響應(yīng)于用 戶輸入而生成圖像,如計(jì)算機(jī)游戲應(yīng)用。
[0051]應(yīng)用模塊201生成用于預(yù)期傳輸至本地圖形處理單元(GPU)的圖形指令。
[0052]這些指令可以被攔截器模塊202攔截,并且,因此有用地,應(yīng)用模塊201不必被修改 成在本發(fā)明的圖形處理系統(tǒng)的實(shí)施例中發(fā)揮作用。
[0053]攔截器模塊202可以將所有這些指令轉(zhuǎn)向至處理模塊203。因此,執(zhí)行應(yīng)用模塊201 的裝置不需要圖形處理單元(GPU)或不需要使用圖形處理單元。
[0054]處理模塊203可以處理圖形指令以生成圖形數(shù)據(jù),例如圖形狀態(tài)、靜態(tài)資源或動(dòng)態(tài) 資源。
[0055] 然后,處理模塊203可以利用此圖形數(shù)據(jù)來生成索引信息。
[0056] 索引信息可以經(jīng)由通信模塊204被傳輸至遠(yuǎn)程設(shè)備。
[0057]在遠(yuǎn)程設(shè)備上的第二處理模塊205可以接收此索引信息并且可以在遠(yuǎn)程設(shè)備處從 本地存儲(chǔ)器中檢索對(duì)應(yīng)于索引信息的圖形數(shù)據(jù)。
[0058] 此圖形數(shù)據(jù)可以在遠(yuǎn)程設(shè)備處在圖形處理單元(GPU)處被渲染器206利用以渲染 圖形。
[0059]在圖3中,將描述將交互式圖形從服務(wù)器流傳輸至客戶端設(shè)備的方法300。
[0060] 在步驟301中,在服務(wù)器上執(zhí)行的交互式圖形應(yīng)用生成用于圖形處理單元(GPU)的 圖形指令。
[0061 ]在步驟302中,這些指令例如被攔截器模塊攔截。
[0062]在步驟303中,這些被攔截的指令例如被處理模塊處理以生成圖形數(shù)據(jù)。圖形數(shù)據(jù) 可以包括圖形狀態(tài)、靜態(tài)資源和/或動(dòng)態(tài)資源。
[0063] 在步驟304中,生成針對(duì)圖形數(shù)據(jù)的索引信息。例如,在圖形數(shù)據(jù)中的對(duì)象可以被 散列以生成散列碼。
[0064] 在一個(gè)實(shí)施例中,當(dāng)動(dòng)態(tài)資源是頂點(diǎn)緩沖區(qū)時(shí),該頂點(diǎn)緩沖區(qū)可以被分區(qū)并且被 散列以減少變化之后的對(duì)于整個(gè)頂點(diǎn)緩沖區(qū)的不必要的重傳。例如,頂點(diǎn)緩沖區(qū)可以被劃 分成多個(gè)塊,并且可以針對(duì)多個(gè)經(jīng)修改的塊的每個(gè)運(yùn)行生成散列。塊的運(yùn)行可以是塊的修 正運(yùn)行,從而使得生成從該運(yùn)行的第一個(gè)塊的第一改變到該運(yùn)行的最后一個(gè)塊的最后改變 的散列。
[0065]在步驟305中,代替圖形數(shù)據(jù)將此索引信息傳輸至客戶端設(shè)備。
[0066]在步驟306中,索引信息用于在客戶端設(shè)備處檢索相應(yīng)的圖形數(shù)據(jù)。
[0067]在步驟307中,此圖形數(shù)據(jù)被傳輸至在客戶端設(shè)備處的圖形處理單元(GPU)以對(duì)圖 形進(jìn)行渲染。
[0068] 在步驟308中,可以向用戶顯示圖形。
[0069]在步驟309中,用戶可以提供輸入,該輸入被反饋至在服務(wù)器上正執(zhí)行的交互式圖 形應(yīng)用。
[0070]在一個(gè)實(shí)施例中,該方法進(jìn)一步包括在服務(wù)器與客戶端之間同步圖形數(shù)據(jù)的步 驟。在同步過程中,只有一部分圖形數(shù)據(jù)可以被傳輸。例如,mipmap可以在傳輸之前被從圖 形數(shù)據(jù)中刪除并且在客戶端處重新生成,可以基于客戶端設(shè)備的分辨率能力代替高分辨率 紋理發(fā)送降低分辨率的紋理,并且可以將實(shí)際利用的紋理數(shù)據(jù)傳輸至客戶端設(shè)備。
[0071] 將參照?qǐng)D4至圖8描述本發(fā)明的一個(gè)實(shí)施例。
[0072] 此實(shí)施例準(zhǔn)許服務(wù)器提供可以從客戶端設(shè)備遠(yuǎn)程調(diào)用的多個(gè)應(yīng)用。在服務(wù)器上運(yùn) 行的應(yīng)用邏輯以及該應(yīng)用的圖形輸出通過互聯(lián)網(wǎng)被流傳輸至客戶端設(shè)備進(jìn)行本地渲染。
[0073] 將理解的是,所描述的與此實(shí)施例有關(guān)的各種特征可以被全部實(shí)現(xiàn)以呈現(xiàn)該系統(tǒng) 或者可以被部分地實(shí)現(xiàn)以呈現(xiàn)潛在的不太有效的系統(tǒng)。
[0074]如圖4所示,進(jìn)程開始于正在客戶端設(shè)備(PC、平板計(jì)算機(jī)、智能電視機(jī)、移動(dòng)設(shè)備) 上運(yùn)行的客戶端播放器應(yīng)用程序。此播放器應(yīng)用程序使用TCP/IP連接到在服務(wù)器上運(yùn)行提 供當(dāng)前可用應(yīng)用的"轉(zhuǎn)盤(Carousel)"。選擇應(yīng)用并且利用切換至該啟動(dòng)的應(yīng)用的TCP連接 發(fā)起針對(duì)客戶端的會(huì)話,因此該應(yīng)用可以繼續(xù)與客戶端進(jìn)行通信。
[0075]這個(gè)實(shí)施例需要無損下行通信。因此,TCP或無損UDP協(xié)議可以有利地用于下行通 信,并且(有損但是低時(shí)延的)UDP協(xié)議可以用于上行客戶端輸入通信。上行客戶端輸入(如 定位器設(shè)備、鍵盤、操縱桿)可以全部以一種"絕對(duì)形式"與正在服務(wù)器上合成的實(shí)際"狀態(tài) 轉(zhuǎn)換事件"一起被發(fā)送以用于正運(yùn)行的應(yīng)用。這種方法可以準(zhǔn)許丟掉UDP數(shù)據(jù)包而不漏掉改 變應(yīng)用行為的潛在重要的狀態(tài)轉(zhuǎn)換事件。例如,鼠標(biāo)隨著按鈕被按壓移動(dòng),而不是鼠標(biāo)在按 鈕沒有被按壓的情況下移動(dòng)。
[0076] 在正常操作中,應(yīng)用調(diào)用3D圖形驅(qū)動(dòng)程序的邊際效應(yīng)(side effect)將會(huì)是對(duì)寫 入幀緩存中并且被顯示的像素的計(jì)算。如圖5所示,這個(gè)實(shí)施例的過程通過利用代理對(duì)在服 務(wù)器上運(yùn)行的現(xiàn)有應(yīng)用進(jìn)行干預(yù)來運(yùn)作,該代理將圖形命令流以及所有相關(guān)聯(lián)的資源引導(dǎo) 到本發(fā)明的系統(tǒng)中。
[0077]該代理管理將數(shù)據(jù)傳輸?shù)綄?duì)數(shù)據(jù)進(jìn)行渲染并創(chuàng)建當(dāng)前圖像所在的遠(yuǎn)程客戶端設(shè) 備。
[0078] 從應(yīng)用流到3d圖形系統(tǒng)的數(shù)據(jù)量通常很大,并且如果不借助以下描述的語義驅(qū)動(dòng) 的壓縮處理則難以傳遞至遠(yuǎn)程客戶端。
[0079] 本發(fā)明的這個(gè)實(shí)施例通過利用從應(yīng)用流至圖形系統(tǒng)的數(shù)據(jù)表示什么以及怎樣以 一種有效的方式處理該數(shù)據(jù)的知識(shí)來運(yùn)作。這個(gè)數(shù)據(jù)流可以被視為用于在遠(yuǎn)程設(shè)備上的擴(kuò) 展?fàn)顟B(tài)、演變狀態(tài)和邊際效應(yīng)(通常是GHJ命令)。
[0080] 這個(gè)實(shí)施例使得觀察到:當(dāng)以30Hz生成幀時(shí),圖形資產(chǎn)的工作集以更加適度的速 度演變,因?yàn)橥ǔ4嬖趲缀螏g相干。發(fā)明人還觀察到:因?yàn)樵摂?shù)據(jù)流是由在某種粒度程度 上具有固定的調(diào)度序列的應(yīng)用所生成的,這可以用于避免傳輸之前發(fā)送至客戶端設(shè)備的數(shù) 據(jù)。
[0081] 當(dāng)客戶端連接到服務(wù)時(shí),作為握手協(xié)議的一部分,其為服務(wù)器給出:
[0082] ?客戶端配置文件,該客戶端配置文件詳細(xì)描述其圖形能力和所請(qǐng)求分辨率。這 些圖形能力用于確保代理仿效客戶端能夠執(zhí)行的。
[0083] ?散列鍵集合,其中,每個(gè)鍵唯一地標(biāo)識(shí)客戶端已本地緩存的數(shù)據(jù)的blob。這個(gè)緩 存可以不確定地從CDN(內(nèi)容傳遞網(wǎng)絡(luò))或從可移除介質(zhì)(如USB閃盤)由之前的會(huì)話填充。
[0084]散列鍵集合確保服務(wù)器將總是使用散列鍵(也被稱為數(shù)據(jù)摘要)而不是重發(fā)數(shù)據(jù), 從而減小了帶寬需求。圖6示出了通用技術(shù)。
[0085]散列鍵通常比其所表示的數(shù)據(jù)要小得多,通常是64位或128位鍵。然而,通過保持 到最近使用的數(shù)據(jù)blob的散列鍵的索引的較小附加緩存(例如,256個(gè)條目),可以進(jìn)一步減 小帶寬。這允許減小"發(fā)送資源更新"命令的大小。
[0086] 圖形命令
[0087] 如圖7所示,圖形命令隨著其由應(yīng)用下發(fā)而被采集并且被延遲直到盡可能晚才使 用無損熵編碼(如霍夫曼編碼)被編碼、相對(duì)于客戶端歷史圖形命令被去重并且使用滑窗字 典被壓縮。
[0088] 用于發(fā)射命令流的觸發(fā)器是邊際效應(yīng)命令(如繪制命令或幀結(jié)束命令)的表現(xiàn),在 該點(diǎn)處已經(jīng)被應(yīng)用改變的所有相關(guān)狀態(tài)被分辨以確保其在遠(yuǎn)程設(shè)備上被同步。
[0089] 應(yīng)用圖形命令幀所需要的數(shù)據(jù)量(當(dāng)明顯地是應(yīng)用依賴型時(shí))通常很低,因?yàn)樵诋?dāng) 前幀中所使用的圖形命令(但不必是圖形參數(shù))與前一幀的圖形命令非常相似。
[0090] 分辨改變的狀態(tài)
[0091] 存在多種類型的用于實(shí)時(shí)圖形中的狀態(tài),并且每個(gè)狀態(tài)可以被區(qū)別處理:
[0092] ?圖形狀態(tài)
[0093] ?靜態(tài)資源
[0094] ?動(dòng)態(tài)資源
[0095]圖形狀態(tài)
[0096] 圖形狀態(tài)包括控制客戶端圖形系統(tǒng)操作的所有狀態(tài)。其包括渲染狀態(tài) (RenderState)和雜項(xiàng)固定功能控制(例如,視口大小(Viewport size)、幀緩沖區(qū)清除顏 色)以及著色器和著色器常量。通過逐漸消隱服務(wù)器-客戶端狀態(tài)來處理這些狀態(tài),以減少 不必要的傳輸以及由圖形應(yīng)用使用的進(jìn)入自定義代碼中的包裝公共渲染狀態(tài)突發(fā)傳 送一一例如,當(dāng)創(chuàng)建新的待使用紋理時(shí),幾乎所有圖形程序還設(shè)定縮小倍數(shù)過濾和放大倍 數(shù)過濾以及包裝模式。所有這些可以被壓縮到單個(gè)低開銷命令中。
[0097] 著色器常量(也稱為均勻性)是由圖形應(yīng)用使用以對(duì)其著色器代碼進(jìn)行參數(shù)的方 法。其作為具有N個(gè)4元組的線性寄存器文件呈現(xiàn)給該應(yīng)用,其中,N通常大于128。這個(gè)寄存 器文件以任何該應(yīng)用覺得合適的方式被使用,意味著本發(fā)明的這個(gè)實(shí)施例需要仔細(xì)處理這 個(gè)文件以確保例如并非每次使用著色器時(shí)都傳輸整個(gè)寄存器文件。許多過程可以被用于減 小帶寬:
[0098] ?標(biāo)識(shí)常用值,如0·0和1.0
[0099] ?有損重編碼至更低的精度(例如半浮點(diǎn)數(shù)和有范圍整數(shù))
[0100] ?每個(gè)著色器地消隱寄存器文件以減少抖動(dòng)
[0101] ?游程長(zhǎng)度編碼變化
[0102] 靜態(tài)資源
[0103] 靜態(tài)資源的生命周期為使得:一旦被創(chuàng)建,這些靜態(tài)資源就被簡(jiǎn)單地引用作為圖 形處理的一部分,直到這些靜態(tài)資源不再被需要時(shí)對(duì)其進(jìn)行處置。
[0104] 針對(duì)靜態(tài)資產(chǎn),這是以直接的方式運(yùn)作的,因?yàn)閼?yīng)用對(duì)于資產(chǎn)做出的任何讀/寫都 可以被干預(yù)并且散列的內(nèi)容可以對(duì)照散列鍵集合被檢查。
[0105] 作為標(biāo)準(zhǔn)3d圖形API(應(yīng)用程序編程接口)的一部分,當(dāng)應(yīng)用與圖形資源進(jìn)行交互 時(shí),該應(yīng)用必須提供指示其意圖的標(biāo)志。這些標(biāo)志被規(guī)則的圖形驅(qū)動(dòng)器用來優(yōu)化本地機(jī)器 的性能。
[0106]在這個(gè)實(shí)施例中,可以重新改變標(biāo)志的用途以幫助標(biāo)識(shí)可能不變的資源。在當(dāng)前 實(shí)施例中,如果資源被標(biāo)記為"WRITE_0NLY"并且已經(jīng)涉及這個(gè)資源的所有存儲(chǔ)器,則可以 猜測(cè)這是靜態(tài)資源一一例如,靜態(tài)幾何網(wǎng)格。此靜態(tài)資源可以被散列、進(jìn)行散列鍵集合檢查 并且被可選擇地傳遞至客戶端設(shè)備。
[0107]如上所述,著色器代碼永遠(yuǎn)是靜態(tài)的并且進(jìn)行散列鍵集合探測(cè)。客戶端設(shè)備使用 不同的著色器語言,因此可以在服務(wù)器上使用自動(dòng)的著色器譯碼功能以在散列之前將用 HLSL寫的著色器轉(zhuǎn)換成用GLSL寫的著色器。
[0108] 同樣地,頂點(diǎn)聲明描述了頂點(diǎn)緩沖區(qū)的布局是靜態(tài)的。
[0109] 大多數(shù)的紋理也是靜態(tài)資產(chǎn),但是造成其是大型資源的問題。當(dāng)前實(shí)施例通過以 下方式減輕這個(gè)問題:
[0110] ?只傳輸實(shí)際使用的紋理。進(jìn)一步細(xì)化可以是通過檢查幾何紋理坐標(biāo)來標(biāo)識(shí)實(shí)際 使用的紋理部分,該坐標(biāo)將紋理圖集的區(qū)域指定在地圖上。 Com] ?控制代理圖形驅(qū)動(dòng)器的能力以減小將被從應(yīng)用接受的表觀最小紋理尺寸。這利 用了以下事實(shí):在應(yīng)用可以基于用戶的圖形驅(qū)動(dòng)器的特征和性能改變保真度的一般要求 下,圖形應(yīng)用被設(shè)計(jì)成用于在廣泛的性能配置文件上運(yùn)行。通過改變代理驅(qū)動(dòng)器能力,應(yīng)用 可被間接地控制。
[0112] ?將在其中可以在客戶端上生成mipmap的紋理從頂層紋理中標(biāo)識(shí)出來從而減少 33%的發(fā)送數(shù)據(jù)量。進(jìn)一步細(xì)化可以是:從確定實(shí)際使用紋理的哪個(gè)mipmap的之前的游戲 會(huì)話中收集數(shù)據(jù)。對(duì)于3d內(nèi)容而言,具有比運(yùn)行時(shí)需要的分辨率高得多的分辨率的紋理并 不少見。
[0113] ?使用散列鍵集合來替代更低分辨率資產(chǎn)更好地匹配于客戶端設(shè)備能力。這可以 被驅(qū)除出客戶端配置文件并且在每個(gè)應(yīng)用上執(zhí)行。
[0114] 動(dòng)態(tài)資源
[0115] 和靜態(tài)資源一樣,3d應(yīng)用經(jīng)常具有隨時(shí)間演變的資源,并且這些3d應(yīng)用造成了針 對(duì)帶寬受限制的客戶端設(shè)備的挑戰(zhàn)。最常見的動(dòng)態(tài)資源編輯是使用被稱為頂點(diǎn)緩沖區(qū)的包 含幾何信息的特殊緩沖區(qū)。這個(gè)頂點(diǎn)緩沖區(qū)的格式靈活并且由之前聲明的頂點(diǎn)聲明定義, 該頂點(diǎn)聲明描述了頂點(diǎn)緩沖區(qū)的不同字段和偏移,使得圖形硬件可以解釋數(shù)據(jù)。
[0116]由應(yīng)用動(dòng)態(tài)地更新的資源使用鎖定/解鎖范式以確保數(shù)據(jù)、圖形硬件的消費(fèi)者以 及數(shù)據(jù)、應(yīng)用的生產(chǎn)者不發(fā)生沖突。
[0117] 對(duì)于3d應(yīng)用而言,鎖定包含幾何結(jié)構(gòu)的頂點(diǎn)緩沖區(qū)、做出改變并且然后使用那個(gè) 數(shù)據(jù)來繪制顯示的某個(gè)元素很常見。鎖定API-般提供用于指示頂點(diǎn)緩沖區(qū)的哪個(gè)部分將 被編輯的參數(shù),然而,這些參數(shù)經(jīng)常由應(yīng)用為整個(gè)緩沖區(qū)設(shè)定,因?yàn)樵搼?yīng)用與鎖定操作達(dá)成 的"協(xié)定"僅僅是保證不改變由圖形硬件正在使用的數(shù)據(jù)。
[0118] 這個(gè)問題可以通過在應(yīng)用與頂點(diǎn)緩沖區(qū)之間引入散列的鎖定緩沖區(qū)來解決。正如 本發(fā)明的其他部分,可以利用關(guān)于如何從已經(jīng)被聲明的先前結(jié)構(gòu)中處理頂點(diǎn)緩沖區(qū)的信息 以及關(guān)于如何在實(shí)踐中使用頂點(diǎn)緩沖區(qū)的經(jīng)驗(yàn)知識(shí)。
[0119]散列的鎖定緩沖區(qū)將頂點(diǎn)緩沖區(qū)分割成固定長(zhǎng)度的塊。在當(dāng)前實(shí)施例中,使用 1024字節(jié)塊,但是這可以出于性能原因被調(diào)節(jié)。每個(gè)塊追蹤其是否是"污染的"(已經(jīng)被改變 并因此將需要與客戶端設(shè)備同步)、其是否可以是"干凈的"(已經(jīng)被同步、應(yīng)用是否曾經(jīng)可 以重寫該數(shù)據(jù))以及在該污染塊中改變是從哪里開始的。
[0120]隨著應(yīng)用執(zhí)行鎖定-編輯-解鎖操作,每個(gè)塊的此元數(shù)據(jù)被累積。在因?yàn)閿?shù)據(jù)將要 被繪制命令使用而必須對(duì)其進(jìn)行解析時(shí),客戶端設(shè)備必須與服務(wù)員同步。
[0121]為了確保在散列鍵集合中獲得匹配,必須精確地標(biāo)識(shí)出變化的數(shù)據(jù)的相同運(yùn)行。 標(biāo)識(shí)包括在內(nèi)的運(yùn)行將產(chǎn)生不同的散列并因此不允許避免發(fā)送大量數(shù)據(jù)。當(dāng)前實(shí)施例使用 污染塊的運(yùn)行來識(shí)別需要更新的區(qū)域。
[0122] 通過使用第一個(gè)塊的開始以及最后一個(gè)塊的結(jié)束進(jìn)一步細(xì)化這些區(qū)域,其中,數(shù) 據(jù)不同于產(chǎn)生的"污染塊的修正運(yùn)行"。此外,使用確保以正確的粒度處理數(shù)據(jù)的當(dāng)前有效 的頂點(diǎn)聲明,也就是說,因?yàn)榍皫讉€(gè)字節(jié)恰好沒有不同,所以散列并非開始于頂點(diǎn)結(jié)構(gòu)的中 間。通過使用頂點(diǎn)聲明,此實(shí)施例回退到完整頂點(diǎn)的開始并且在完整頂點(diǎn)的末尾完成。
[0123] 下一個(gè)問題是,對(duì)于圖形應(yīng)用而言,在頂點(diǎn)緩沖區(qū)中交叉存儲(chǔ)不同的頂點(diǎn)數(shù)據(jù)類 型是常見且被鼓勵(lì)的。然而,并非更新頂點(diǎn)的所有字段也是常見的。例如,頂點(diǎn)顏色和頂點(diǎn) 紋理坐標(biāo)可以是常量,但是頂點(diǎn)的位置是變化的。
[0124] (偽碼)頂點(diǎn)聲明可能看起來如此:
[0126]當(dāng)污染塊的修正運(yùn)行可以被散列并且該系統(tǒng)的這種實(shí)施例將運(yùn)行時(shí),可以在每個(gè) 條帶的基礎(chǔ)上在用于處理污染塊的修正運(yùn)行的操作中通過使用頂點(diǎn)聲明來進(jìn)一步減小帶 寬。
[0128] 也就是說,該系統(tǒng)可以跨過頂點(diǎn)緩沖區(qū)(選擇性地壓縮)并且將相似類型的數(shù)據(jù)散 列到一起,使得在此示例中該系統(tǒng)為每個(gè)頂點(diǎn)具有的3個(gè)字段生成3個(gè)散列。結(jié)果是該系統(tǒng) 將在鍵集合中找到顏色條帶以及紋理坐標(biāo)條帶并且不需要將這些條帶發(fā)送至客戶端設(shè)備。 當(dāng)且僅當(dāng)該系統(tǒng)還未看到頂點(diǎn)位置之前,將需要發(fā)送變化的頂點(diǎn)位置。例如,對(duì)于循環(huán)動(dòng)畫 而言,這將用匹配的散列快速地填充鍵集合。
[0129] 緩沖區(qū)重用
[0130]在當(dāng)前實(shí)施例中,該系統(tǒng)對(duì)微軟DirectX 3d圖形API進(jìn)行干預(yù)并且利用從標(biāo)志參 數(shù)中得獲得的附加語義洞悉,該標(biāo)志參數(shù)是當(dāng)該應(yīng)用鎖定頂點(diǎn)緩沖區(qū)以及由微軟支持的 "最佳實(shí)踐"調(diào)用序列時(shí)提供的。
[0131]頂點(diǎn)緩沖區(qū)鎖定的常見用例是用動(dòng)態(tài)生成的幾何結(jié)構(gòu)逐漸填充緩沖區(qū),直到該緩 沖區(qū)被填滿并且然后從頭再次開始。為了確保圖形硬件可以繼續(xù)全速運(yùn)作,圖形API引進(jìn)針 對(duì)該應(yīng)用的2個(gè)附加標(biāo)志:N0_0VERWRI TE和DISCARD。
[0132] N0_0VERWRITE意味著該應(yīng)用承諾永不重寫其之前已經(jīng)寫入緩沖區(qū)中的任何數(shù)據(jù)。 這個(gè)承諾的原因在于圖形硬件可以在使用存儲(chǔ)器映像、直接存儲(chǔ)器存取(DMA)或存取此數(shù) 據(jù)的任何其他手段時(shí)保持自信并且保證不過時(shí)。
[0133] DISCARD意味著該應(yīng)用指示緩沖區(qū)是"一次性寫入"并且隨后將不再?gòu)闹凶x取。這 個(gè)承諾的原因在于其允許當(dāng)應(yīng)用填充新的緩沖區(qū)時(shí)并且當(dāng)緩沖區(qū)是解鎖時(shí)圖形硬件繼續(xù) 在現(xiàn)有緩沖區(qū)上運(yùn)作、安靜地交換驅(qū)動(dòng)器內(nèi)部的緩沖區(qū)并且處置已知其將永遠(yuǎn)不再被需要 的其他緩沖區(qū)。
[0134] 鼓勵(lì)應(yīng)用開發(fā)人員通過用圖形數(shù)據(jù)逐漸填充N0_0VERWRITE緩沖區(qū)、提取其一些部 分來一起使用這兩個(gè)標(biāo)志。當(dāng)達(dá)到不能再將數(shù)據(jù)裝入緩沖區(qū)中的點(diǎn)時(shí),開發(fā)人員用DISCARD 標(biāo)志鎖定該緩沖區(qū)并且從該緩沖區(qū)的開始再次開始填充。這個(gè)系統(tǒng)允許圖形硬件以最高的 效率運(yùn)作。
[0135] 如圖8所示,本發(fā)明的這個(gè)實(shí)施例利用這個(gè)知識(shí)來在針對(duì)OVERWRITE鎖定的相同緩 沖區(qū)極有可能被關(guān)聯(lián)之后在DISCARD緩沖區(qū)的開始處標(biāo)識(shí)該系統(tǒng)何時(shí)檢測(cè)到塊的短污染運(yùn) 行。在DISCARD緩沖區(qū)中的塊的此短污染運(yùn)行將很可能不與散列鍵集合匹配并且需要進(jìn)行 發(fā)送。
[0136] 因此,新的DISCARD緩沖區(qū)運(yùn)行可以被當(dāng)做在緩沖區(qū)結(jié)尾處的前一運(yùn)行的繼續(xù)從 而確保散列鍵集合匹配。
[0137] 本發(fā)明的一些實(shí)施例的潛在優(yōu)點(diǎn)在于:
[0138] a)服務(wù)器上不需要專業(yè)高耗電GPU并且因此可以使用一般的服務(wù)器。這進(jìn)而意味 著每個(gè)服務(wù)器的用戶數(shù)量可以更高,從而減小運(yùn)行成本。
[0139] b)本發(fā)明可以是分辨率無關(guān)的,并且不像基于像素的視頻壓縮,本發(fā)明可以在不 增加流帶寬需求的情況下以高分辨率進(jìn)行播放。
[0140] c)對(duì)于以高分辨率運(yùn)行的一些應(yīng)用,帶寬需求可以極低(<lMbs),因?yàn)橐揽苛死?用了關(guān)于什么被壓縮了的知識(shí)的壓縮。
[0141] d)本發(fā)明可以不需要對(duì)現(xiàn)有可執(zhí)行應(yīng)用的改變,并且因此不需要訪問用于修改的 源代碼,因此可以在現(xiàn)有的和遺留的軟件上被使用。
[0142] e)可以將任意的新內(nèi)容實(shí)時(shí)注入流中以將其重新用于新的設(shè)備和平臺(tái)。例如,針 對(duì)虛擬按鈕的覆蓋當(dāng)在平板計(jì)算機(jī)上運(yùn)行時(shí)可以被創(chuàng)建、圍繞內(nèi)容的標(biāo)語廣告可以被引 入、并且用于將廣告插入視頻游戲的虛擬世界內(nèi)部的圖像可以被替換。
[0143] f)可以收集來自用戶的細(xì)粒度資源使用信息以幫助細(xì)化哪里的資產(chǎn)被保持在CDN (內(nèi)容傳遞網(wǎng)絡(luò))上并且為了未來的用戶將冗余數(shù)據(jù)從流中去除。
[0144] 雖然已經(jīng)通過其實(shí)施例的描述說明了本發(fā)明,并且雖然已經(jīng)相當(dāng)詳細(xì)地描述了實(shí) 施例,但是
【申請(qǐng)人】并不意在將所附權(quán)利要求書的范圍限定或者以任何方式限制于這些細(xì) 節(jié)。本領(lǐng)域技術(shù)人員將易于想到附加優(yōu)勢(shì)和修改。因此,本發(fā)明在其較寬的方面并不限于示 出和描述的特定細(xì)節(jié)、代表性裝置和方法以及說明性示例。因此,可以在不偏離
【申請(qǐng)人】的總 體發(fā)明概念的精神或范圍的情況下偏離這些細(xì)節(jié)。
【主權(quán)項(xiàng)】
1. 一種用于將交互式計(jì)算機(jī)圖形從服務(wù)器流傳輸至客戶端設(shè)備的方法,該方法包括: a) 攔截從應(yīng)用傳輸去往在該服務(wù)器處的圖形處理單元(GRJ)的多條圖形指令; b) 在該服務(wù)器處對(duì)這些圖形指令進(jìn)行處理以生成圖形數(shù)據(jù); c) 在該服務(wù)器處至少針對(duì)該圖形數(shù)據(jù)中的部分圖形數(shù)據(jù)生成索引信息; d) 代替該圖形數(shù)據(jù)將該索引信息傳輸至客戶端設(shè)備; e) 利用該索引信息提取存儲(chǔ)在該客戶端設(shè)備處的相應(yīng)圖形數(shù)據(jù);并且 f) 使用該相應(yīng)圖形數(shù)據(jù)在該客戶端設(shè)備處的圖形處理單元(GRJ)處渲染計(jì)算機(jī)圖形。2. 如權(quán)利要求1所述的方法,其中,該圖形數(shù)據(jù)包括圖形狀態(tài)、靜態(tài)資源和動(dòng)態(tài)資源的 集合中的一者或多者。3. 如前述權(quán)利要求中任一項(xiàng)所述的方法,其中,在該圖形數(shù)據(jù)中的多個(gè)對(duì)象被散列以 生成該索引信息。4. 如前述權(quán)利要求中任一項(xiàng)所述的方法,其中,這些動(dòng)態(tài)資源包括頂點(diǎn)緩沖區(qū)。5. 如權(quán)利要求4所述的方法,其中,針對(duì)該頂點(diǎn)緩沖區(qū)的多個(gè)經(jīng)修改的部分生成索引信 息。6. 如權(quán)利要求5所述的方法,其中,該頂點(diǎn)緩沖區(qū)被劃分成多個(gè)塊,并且針對(duì)多個(gè)經(jīng)修 改的塊的運(yùn)行生成索引信息。7. 如權(quán)利要求6所述的方法,其中,針對(duì)多個(gè)經(jīng)修改的塊的修正運(yùn)行生成索引信息,從 而使得該運(yùn)行從在該運(yùn)行中的第一個(gè)塊內(nèi)的第一個(gè)經(jīng)修改的位延伸到在該運(yùn)行中的最后 一個(gè)塊內(nèi)的最后一個(gè)經(jīng)修改的位。8. 如權(quán)利要求4至7中任一項(xiàng)所述的方法,其中,該頂點(diǎn)緩沖區(qū)被劃分成對(duì)應(yīng)于多個(gè)頂 點(diǎn)字段的多個(gè)條帶,并且針對(duì)多個(gè)經(jīng)修改的條帶生成索引信息。9. 如前述權(quán)利要求中任一項(xiàng)所述的方法,進(jìn)一步包括在該服務(wù)器與該客戶端之間同步 該圖形數(shù)據(jù)的步驟。10. 如權(quán)利要求9所述的方法,其中,當(dāng)該圖形數(shù)據(jù)包括紋理時(shí),僅同步所使用的這些紋 理的數(shù)據(jù)。11. 如權(quán)利要求9至10中任一項(xiàng)所述的方法,其中,該客戶端設(shè)備的配置文件確定所述 圖形數(shù)據(jù)同步。12. 如權(quán)利要求11所述的方法,其中,該客戶端設(shè)備的該配置文件通過在該客戶端設(shè)備 處為多個(gè)較高分辨率圖形分配多個(gè)較低分辨率圖形來確定所述圖形數(shù)據(jù)同步。13. 如前述權(quán)利要求中任一項(xiàng)所述的方法,其中,這些經(jīng)渲染的圖形被顯示在該客戶端 設(shè)備處的顯示器上。14. 如權(quán)利要求13所述的方法,其中,該客戶端設(shè)備響應(yīng)于這些顯示的圖形接收用戶輸 入,并且該用戶輸入被傳輸回至在該服務(wù)器上的該正執(zhí)行中的應(yīng)用。15. 如權(quán)利要求14所述的方法,其中,可以使用UDP至少部分地傳輸該用戶輸入。16. 如權(quán)利要求15所述的方法,其中,在該服務(wù)器上合成多個(gè)狀態(tài)轉(zhuǎn)換事件。17. 如前述權(quán)利要求中任一項(xiàng)所述的方法,其中,該應(yīng)用是由用戶從多個(gè)應(yīng)用中選擇出 來用于在該服務(wù)器上執(zhí)行的。18. -種用于對(duì)交互式計(jì)算機(jī)圖形進(jìn)行流傳輸?shù)南到y(tǒng),該系統(tǒng)包括: 服務(wù)器,該服務(wù)器被配置成用于攔截從應(yīng)用傳輸去往在該服務(wù)器處的圖形處理單元 (GPU)的多條圖形指令、處理這些圖形指令以生成圖形數(shù)據(jù)、至少針對(duì)該圖形數(shù)據(jù)中的部分 圖形數(shù)據(jù)生成索引信息、代替該圖形數(shù)據(jù)將該索引信息傳輸至客戶端設(shè)備;以及 客戶端設(shè)備,該客戶端設(shè)備被配置成用于利用該索引信息提取存儲(chǔ)在該客戶端設(shè)備處 的相應(yīng)圖形數(shù)據(jù)并且使用該相應(yīng)圖形數(shù)據(jù)在該客戶端設(shè)備處的圖形處理單元(GPU)處渲染 多個(gè)計(jì)算機(jī)圖形。19. 一種服務(wù)器,該服務(wù)器被配置成用于如權(quán)利要求18所述的系統(tǒng)。20. -種客戶端設(shè)備,該客戶端設(shè)備被配置成用于如權(quán)利要求18所述的系統(tǒng)。21. 如本文中參照附圖所描述的一種用于對(duì)交互式計(jì)算機(jī)圖形進(jìn)行流傳輸?shù)姆椒ê拖?統(tǒng)。
【文檔編號(hào)】G06T15/00GK105917382SQ201580004994
【公開日】2016年8月31日
【申請(qǐng)日】2015年1月21日
【發(fā)明人】亞當(dāng)·比里亞德
【申請(qǐng)人】艾麗卡滑翔有限公司