背景技術(shù):
基于分組的通信系統(tǒng)允許設(shè)備(例如,個(gè)人計(jì)算機(jī))的用戶使用諸如互聯(lián)網(wǎng)協(xié)議(ip)的分組協(xié)議跨計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行通信。基于分組的通信系統(tǒng)能夠用于各種類型的通信事件。能夠被建立的通信事件包括語音通話、視頻通話、即時(shí)消息傳遞、語音郵件、文件傳送、以及其它。這些系統(tǒng)對(duì)用戶有益,因?yàn)橄啾扔诠潭ň€路或移動(dòng)網(wǎng)絡(luò),這些系統(tǒng)經(jīng)常是顯著地較低成本的。長距離通信可以尤其是這種情況。為了使用基于分組的系統(tǒng),用戶在他們的設(shè)備上安裝并執(zhí)行客戶端軟件??蛻舳塑浖峁┗诜纸M的連接以及其它功能,例如,注冊(cè)和認(rèn)證。
通信系統(tǒng)允許設(shè)備的用戶跨諸如互聯(lián)網(wǎng)的計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行通信。能夠被建立的通信事件包括語音通話、視頻通話、即時(shí)消息傳遞、語音郵件、文件傳送、以及其它。利用視頻通話,呼叫者能夠查看視頻圖像。
技術(shù)實(shí)現(xiàn)要素:
提供本發(fā)明內(nèi)容以便以簡化的形式引入下面在具體實(shí)施方式中進(jìn)一步描述的概念的選擇。本發(fā)明內(nèi)容并非旨在識(shí)別所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也并非旨在用于限制所要求保護(hù)的主題的范圍。所要求保護(hù)的主題也并非限于解決在背景技術(shù)部分中指出的缺點(diǎn)中的任何缺點(diǎn)或全部缺點(diǎn)的實(shí)現(xiàn)方式。
本公開的實(shí)施例與共享場景(例如,在協(xié)作混合現(xiàn)實(shí)應(yīng)用中生成的)內(nèi)的對(duì)象的管理和同步有關(guān)。在協(xié)作混合現(xiàn)實(shí)應(yīng)用中,參與者能夠可視化、放置共享場景中的對(duì)象,并與共享場景中的對(duì)象進(jìn)行交互。共享場景典型地是參與者中的一個(gè)參與者的周圍空間的表示,例如,場景可以包括來自參與者中的一個(gè)參與者的視點(diǎn)的視頻圖像。對(duì)象或視覺對(duì)象能夠被“放置”在場景內(nèi),并且可以具有能夠被參與者“看到”并與其進(jìn)行交互的視覺表示。此外,對(duì)象能夠具有相關(guān)聯(lián)的內(nèi)容。例如,對(duì)象可以具有諸如音頻/視頻或文本的相關(guān)聯(lián)的內(nèi)容。例如,參與者可以將視頻播放器對(duì)象放置在共享場景中,并且與其進(jìn)行交互以開始播放視頻以供所有參與者觀看。然后,另一參與者可以與視頻播放器對(duì)象進(jìn)行交互以控制回放或改變其在場景中的位置。
發(fā)明者已經(jīng)認(rèn)識(shí)到,為了維持方案內(nèi)的這些對(duì)象的同步,表面重建數(shù)據(jù)(也被稱為網(wǎng)格數(shù)據(jù))的高效傳送可以是有意義的。
根據(jù)本公開的第一方面,提供了一種在通信架構(gòu)內(nèi)的用戶設(shè)備,該用戶設(shè)備包括:圖像捕獲設(shè)備,其被配置為確定圖像數(shù)據(jù)以及內(nèi)在/外在捕獲設(shè)備數(shù)據(jù)以用于創(chuàng)建定義共享場景的視頻信道;表面重構(gòu)實(shí)體,其被配置為確定與來自圖像捕獲設(shè)備的圖像數(shù)據(jù)相關(guān)聯(lián)的表面重構(gòu)數(shù)據(jù);視頻信道,其被配置為對(duì)圖像數(shù)據(jù)以及內(nèi)在/外在捕獲設(shè)備數(shù)據(jù)進(jìn)行編碼和分包;表面重構(gòu)信道,其被配置為對(duì)表面重構(gòu)數(shù)據(jù)進(jìn)行編碼和分包;發(fā)射機(jī),其被配置為發(fā)送視頻信道分組和表面重構(gòu)信道分組;以及帶寬控制器,其被配置為對(duì)分配給視頻信道和表面重構(gòu)信道的帶寬進(jìn)行控制。
根據(jù)本公開的另一方面,提供了一種在通信架構(gòu)內(nèi)實(shí)現(xiàn)的方法,該方法包括:確定來自圖像捕獲設(shè)備的圖像數(shù)據(jù)以及內(nèi)在/外在捕獲設(shè)備數(shù)據(jù)以用于創(chuàng)建定義共享場景的視頻信道;確定與來自圖像捕獲設(shè)備的圖像數(shù)據(jù)相關(guān)聯(lián)的表面重構(gòu)數(shù)據(jù);對(duì)視頻信道內(nèi)的圖像數(shù)據(jù)以及內(nèi)在/外在捕獲設(shè)備數(shù)據(jù)進(jìn)行編碼和分包;對(duì)表面重構(gòu)信道內(nèi)的表面重構(gòu)數(shù)據(jù)進(jìn)行編碼和分包;發(fā)送視頻信道分組和表面重構(gòu)信道分組;以及對(duì)分配給視頻信道和表面重構(gòu)信道的帶寬進(jìn)行控制。
根據(jù)本公開的另一方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品被實(shí)施在非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)上,并且被配置為當(dāng)在共享場景架構(gòu)內(nèi)的協(xié)議端點(diǎn)實(shí)體的處理器上被執(zhí)行時(shí)進(jìn)行以下操作:確定來自圖像捕獲設(shè)備的圖像數(shù)據(jù)以及內(nèi)在/外在捕獲設(shè)備數(shù)據(jù)以用于創(chuàng)建定義共享場景的視頻信道;確定與來自圖像捕獲設(shè)備的圖像數(shù)據(jù)相關(guān)聯(lián)的表面重構(gòu)數(shù)據(jù);對(duì)視頻信道內(nèi)的圖像數(shù)據(jù)以及內(nèi)在/外在捕獲設(shè)備數(shù)據(jù)進(jìn)行編碼和分包;對(duì)表面重構(gòu)信道內(nèi)的表面重構(gòu)數(shù)據(jù)進(jìn)行編碼和分包;發(fā)送視頻信道分組和表面重構(gòu)信道分組;以及對(duì)分配給視頻信道和表面重構(gòu)信道的帶寬進(jìn)行控制。
附圖說明
為了更好地理解本公開以及示出如何可以使本公開生效,現(xiàn)在將通過示例的方式參考以下附圖,在附圖中:
圖1示出了通信系統(tǒng)的示意圖;
圖2示出了用戶設(shè)備的示意圖;
圖3示出了如可佩戴耳機(jī)的用戶設(shè)備的示意圖;
圖4a和4b示出了用于組合的視頻和表面重構(gòu)(sr)數(shù)據(jù)的示例發(fā)送方和接收方管線的示意圖;
圖5a示出了用于共享場景內(nèi)的對(duì)象遞交的示例端點(diǎn)架構(gòu)的示意圖;
圖5b示出了用于同步對(duì)象更新的示例架構(gòu)處理協(xié)議的示意圖;
圖6示出了在協(xié)議端點(diǎn)上執(zhí)行的會(huì)話管理實(shí)體應(yīng)用與消息遞送實(shí)體/分組遞送實(shí)體應(yīng)用之間的示意性的示例通信;
圖7示出了用戶設(shè)備內(nèi)的發(fā)送路徑對(duì)象消息控制的過程的流程圖;
圖8示出了用戶設(shè)備內(nèi)的接收路徑對(duì)象消息控制的過程的流程圖;以及
圖9a和9b示出了用于嵌入和取回圖像數(shù)據(jù)流內(nèi)的照相機(jī)內(nèi)在和外在數(shù)據(jù)的示意架構(gòu)。
具體實(shí)施方式
僅通過示例的方式來描述本公開的實(shí)施例。
圖1示出了通信系統(tǒng)100,其包括與用戶終端或設(shè)備102相關(guān)聯(lián)的第一用戶104(用戶a)以及與第二用戶終端或設(shè)備108相關(guān)聯(lián)的第二用戶110(用戶b)。用戶設(shè)備102和用戶設(shè)備108能夠通過通信系統(tǒng)100中的通信網(wǎng)絡(luò)106進(jìn)行通信,由此允許用戶104和用戶110通過通信網(wǎng)絡(luò)106彼此通信。通信網(wǎng)絡(luò)106可以是具有提供用戶設(shè)備102與第二用戶設(shè)備108之間的通信信道的能力的任何合適的網(wǎng)絡(luò)。例如,通信網(wǎng)絡(luò)106可以是互聯(lián)網(wǎng)或另一類型的網(wǎng)絡(luò),例如,高數(shù)據(jù)速率蜂窩或移動(dòng)網(wǎng)絡(luò)(例如,第三代(“3g”)移動(dòng)網(wǎng)絡(luò))。
注意,在替代實(shí)施例中,用戶設(shè)備能夠經(jīng)由附加的中間網(wǎng)絡(luò)(圖1中未示出)連接到通信網(wǎng)絡(luò)106。例如,如果用戶設(shè)備102是移動(dòng)設(shè)備,則其能夠經(jīng)由蜂窩或移動(dòng)網(wǎng)絡(luò)(圖1中未示出)連接到通信網(wǎng)絡(luò)106,例如,gsm、umts、4g、或類似的網(wǎng)絡(luò)。
用戶設(shè)備102和104可以是任何合適的設(shè)備,并且可以是例如,移動(dòng)電話、個(gè)人數(shù)字助理(“pda”)、個(gè)人計(jì)算機(jī)(“pc”)(例如,包括windowstm、macostm、以及l(fā)inuxtmpc)、平板計(jì)算機(jī)、游戲設(shè)備、可佩戴設(shè)備、或能夠連接到通信網(wǎng)絡(luò)106的其它嵌入式設(shè)備??膳宕髟O(shè)備可以包括可佩戴耳機(jī)。
應(yīng)當(dāng)意識(shí)到,用戶設(shè)備中的一個(gè)或多個(gè)用戶設(shè)備可以由單個(gè)設(shè)備提供。用戶設(shè)備中的一個(gè)或多個(gè)用戶設(shè)備可以由合作以提供用戶設(shè)備或終端的兩個(gè)或更多個(gè)設(shè)備提供。
用戶設(shè)備102被布置為接收來自用戶a104的信息并向用戶a104輸出信息。
用戶設(shè)備102執(zhí)行通信客戶端應(yīng)用112,通信客戶端應(yīng)用112由與通信系統(tǒng)100相關(guān)聯(lián)的軟件提供方提供。通信客戶端應(yīng)用112是在用戶設(shè)備102中的本地處理器上執(zhí)行的軟件程序。通信客戶端應(yīng)用112執(zhí)行在用戶設(shè)備102處所需要的處理,以便于用戶設(shè)備102通過通信系統(tǒng)100發(fā)送和接收數(shù)據(jù)。在用戶設(shè)備102處執(zhí)行的通信客戶端應(yīng)用112可以通過呈現(xiàn)數(shù)字證書(例如,以證明用戶104是通信系統(tǒng)的真正訂戶——在wo2005/009019中更詳細(xì)地進(jìn)行了描述)被認(rèn)證為通過通信系統(tǒng)進(jìn)行通信。
第二用戶設(shè)備108可以與用戶設(shè)備102相同或不同。第二用戶設(shè)備108在本地處理器上執(zhí)行通信客戶端應(yīng)用114,通信客戶端應(yīng)用114對(duì)應(yīng)于在用戶終端102處執(zhí)行的通信客戶端應(yīng)用112。第二用戶設(shè)備108處的通信客戶端應(yīng)用114執(zhí)行所需要的處理以允許用戶b110通過網(wǎng)絡(luò)106進(jìn)行通信,以與用戶設(shè)備102處的通信客戶端應(yīng)用112執(zhí)行所需要的處理以允許用戶a104通過網(wǎng)絡(luò)106進(jìn)行通信相同的方式。用戶設(shè)備102和用戶設(shè)備108是通信系統(tǒng)中的端點(diǎn)。為了清楚起見,圖1僅示出了兩個(gè)用戶(104和110)以及兩個(gè)用戶設(shè)備(102和108),但是許多更多的用戶和用戶設(shè)備可以包括在通信系統(tǒng)100中,并且可以使用在相應(yīng)的用戶設(shè)備上執(zhí)行的相應(yīng)的通信客戶端來通過通信系統(tǒng)100進(jìn)行通信,如本領(lǐng)域中已知的。
圖2示出了用戶設(shè)備102的示意圖,通信客戶端應(yīng)用在用戶設(shè)備102上執(zhí)行以用于通過通信系統(tǒng)100進(jìn)行通信。用戶設(shè)備102包括中央處理單元(“cpu”)202,諸如屏幕或觸摸屏的顯示器204、諸如用戶接口206的輸入設(shè)備(例如,鍵板)、照相機(jī)208、以及觸摸屏204連接到中央處理單元。
在一些實(shí)施例中,用戶接口206可以是鍵板、鍵盤、鼠標(biāo)、定點(diǎn)設(shè)備、觸摸板、或類似物。然而,用戶接口206可以是任何合適的用戶接口輸入設(shè)備,例如,手勢或運(yùn)動(dòng)控制用戶輸入、頭部跟蹤或眼睛跟蹤用戶輸入。此外,在一些實(shí)施例中,用戶接口206可以是被配置為確定用戶與顯示器204的接近度的“觸摸”或“接近度”檢測輸入。
在下面描述的實(shí)施例中,照相機(jī)208可以是常規(guī)的網(wǎng)絡(luò)照相機(jī)(webcam),其集成到用戶設(shè)備102中,或者經(jīng)由有線或無線連接耦合到用戶設(shè)備??商娲兀障鄼C(jī)208可以是深度感知照相機(jī),例如,飛行時(shí)間或結(jié)構(gòu)光照相機(jī)。此外,照相機(jī)208可以包括多個(gè)圖像捕獲元件。圖像捕獲元件可以位于不同的位置處或者指向不同的點(diǎn)或視線,以使得來自圖像捕獲元件中的每個(gè)圖像捕獲元件的圖像可以被處理或組合。例如,可以對(duì)圖像捕獲元件圖像進(jìn)行比較,以便基于視差誤差來確定深度或離圖像的對(duì)象距離。此外,在一些示例中,可以對(duì)圖像進(jìn)行組合以產(chǎn)生與可能來自單個(gè)圖像捕獲元件的圖像相比具有更高的分辨率或更大的視角的圖像。
輸出音頻設(shè)備210(例如,揚(yáng)聲器、多個(gè)揚(yáng)聲器、頭戴式耳機(jī)、聽筒)和輸入音頻設(shè)備212(例如,麥克風(fēng)、或多個(gè)麥克風(fēng))連接到cpu202。顯示器204、用戶接口206、照相機(jī)208、輸出音頻設(shè)備210、以及輸入音頻設(shè)備212可以集成到用戶設(shè)備102中,如圖2中所示出的。在替代用戶設(shè)備中,顯示器204、用戶接口206、照相機(jī)208、輸出音頻設(shè)備210、以及輸入音頻設(shè)備212中的一個(gè)或多個(gè)可以不集成到用戶設(shè)備102中,并且可以經(jīng)由相應(yīng)的接口連接到cpu202。這種接口的一個(gè)示例是usb接口。
cpu202連接到諸如調(diào)制解調(diào)器的網(wǎng)絡(luò)接口224,以用于與通信網(wǎng)絡(luò)106進(jìn)行通信。網(wǎng)絡(luò)接口224可以集成到用戶設(shè)備102中,如圖2中所示出的。在替代用戶設(shè)備中,網(wǎng)絡(luò)接口224不集成到用戶設(shè)備102中。用戶設(shè)備102還包括用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器226,如本領(lǐng)域中所已知的。存儲(chǔ)器226可以是永久存儲(chǔ)器,例如,rom。存儲(chǔ)器226可以替代地是臨時(shí)存儲(chǔ)器,例如,ram。
用戶設(shè)備102安裝有通信客戶端應(yīng)用112,因?yàn)橥ㄐ趴蛻舳藨?yīng)用112存儲(chǔ)在存儲(chǔ)器226中并且被布置用于在cpu202上執(zhí)行。圖2還示出了在cpu202上執(zhí)行的操作系統(tǒng)(“os”)214。在os214的頂部上運(yùn)行的是用于上面提到的通信客戶端應(yīng)用112的軟件堆棧216。軟件堆棧示出了i/o層218、客戶端引擎層220、以及客戶端用戶接口層(“ui”)222。每層都負(fù)責(zé)特定的功能。由于每層通常與其它兩層進(jìn)行通信,因此它們被視為布置在堆棧中,如圖2中所示出的。操作系統(tǒng)214管理計(jì)算機(jī)的硬件資源,并且處理經(jīng)由網(wǎng)絡(luò)接口224發(fā)送到通信網(wǎng)絡(luò)106和從通信網(wǎng)絡(luò)106發(fā)送的數(shù)據(jù)。i/o層218包括音頻和/或視頻編解碼器,其接收傳入的已編碼流并對(duì)它們進(jìn)行解碼以用于在適當(dāng)時(shí)輸出到揚(yáng)聲器210和/或顯示器204,并且接收來自麥克風(fēng)212和/或照相機(jī)208的未編碼音頻和/或視頻數(shù)據(jù)并對(duì)它們進(jìn)行編碼以用于作為流傳輸?shù)酵ㄐ畔到y(tǒng)100的其它終端用戶設(shè)備??蛻舳艘鎸?20如上面所討論地處理voip系統(tǒng)的連接管理功能,例如,通過基于服務(wù)器的或端對(duì)端(p2p)的地址查找和認(rèn)證來建立通話或其它連接??蛻舳艘孢€可以負(fù)責(zé)本文中未討論的其它次要功能??蛻舳艘?20還與客戶端用戶接口層222進(jìn)行通信。客戶端引擎220可以被布置為對(duì)客戶端用戶接口層222進(jìn)行控制,以經(jīng)由在顯示器204上顯示的通信客戶端應(yīng)用112的用戶接口向用戶設(shè)備102的用戶呈現(xiàn)信息,以及經(jīng)由用戶接口接收來自用戶設(shè)備102的用戶的信息。
也在os214的頂部上運(yùn)行的是另外的應(yīng)用230。下面參考另外的應(yīng)用230來描述實(shí)施例,并且通信客戶端應(yīng)用112是分離的應(yīng)用,然而,下面更詳細(xì)地描述的另外的應(yīng)用230的功能能夠并入到通信客戶端應(yīng)用112中。
在圖3所示出的一個(gè)實(shí)施例中,用戶設(shè)備102是以耳機(jī)或安裝在頭部的用戶設(shè)備形式的。安裝在頭部的用戶設(shè)備包括框架302,其具有旨在擬合在佩戴者的鼻梁上的中心部分304,以及旨在擬合在用戶的耳朵上的左側(cè)支撐延伸部和右側(cè)支撐延伸部306、308。盡管支撐延伸部306、308被示為基本上筆直的,但是它們可以終端具有彎曲的部分來以常規(guī)眼鏡的方式更舒服地?cái)M合在耳朵上。
框架302支撐左側(cè)光學(xué)部件和右側(cè)光學(xué)部件(標(biāo)記為310l和310r),它們可以是例如由玻璃或聚合物形成的波導(dǎo)。
中心部分304可以存放cpu303、存儲(chǔ)器328、以及網(wǎng)絡(luò)接口324,例如,圖2中所描述的。此外,框架302可以存放以微顯示器形式的光引擎以及以凸透鏡和準(zhǔn)直透鏡形式的成像光學(xué)器件。在一些實(shí)施例中,光引擎可以包括另外的處理器,或者采用cpu303來生成用于微顯示器的圖像。微顯示器能夠是任何類型的圖像源的光,例如,液晶顯示器(lcd)、背光式lcd、led矩陣陣列(不管是有機(jī)的還是無機(jī)的)、以及任何其它合適的顯示器。顯示器可以由激活顯示器的單獨(dú)的像素以生成圖像的電路來驅(qū)動(dòng)。來自每個(gè)顯示器的基本上準(zhǔn)直的光通過在每個(gè)部件上提供的相應(yīng)的內(nèi)耦合(in-coupling)區(qū)域312l、312r輸出或耦合到每個(gè)光學(xué)部件310l、310r中。然后,內(nèi)耦合的光可以通過涉及衍射和tir的機(jī)制被指引,橫向地經(jīng)過相應(yīng)的中間(折疊)區(qū)域314l、314r中的光學(xué)部件,并且還向下進(jìn)入到相應(yīng)的退出區(qū)域316l、316r中,在退出區(qū)域316l、316r中內(nèi)耦合的光朝向用戶的眼睛退出。
光學(xué)部件310可以是基本上透明的,以使得用戶不僅能夠查看來自光引擎的圖像,而且還能夠通過光學(xué)部件查看真實(shí)世界視圖。
光學(xué)部件可具有折射率n,其使得總的內(nèi)部反射發(fā)生以指引來自光引擎的光束沿著中間擴(kuò)展區(qū)域314,并朝著退出區(qū)域316向下。
以耳機(jī)或安裝在頭部的設(shè)備形式的用戶設(shè)備102還可以包括被配置為捕獲佩戴耳機(jī)的用戶的視野的至少一個(gè)照相機(jī)。例如,圖3中所示出的耳機(jī)包括被配置為分別從用戶的左眼和右眼捕獲適當(dāng)?shù)囊暰€(或視野)的立體照相機(jī)318l和318r。在一些實(shí)施例中,一個(gè)照相機(jī)可以被配置為捕獲合適的視頻圖像,并且另一個(gè)照相機(jī)或范圍感測傳感器被配置為捕獲或確定從用戶到用戶的環(huán)境中的對(duì)象的距離。
類似地,以耳機(jī)形式的用戶設(shè)備102可以包括安裝在耳機(jī)的框架306上的多個(gè)麥克風(fēng)。圖3中所示出的示例示出了分別位于支撐延伸部或臂部306和308的“前”端處的左側(cè)麥克風(fēng)322l和右側(cè)麥克風(fēng)322r。此外,支撐延伸部或臂部306和308可以包括“左側(cè)”和“右側(cè)”通道揚(yáng)聲器、聽筒、或其它音頻輸出轉(zhuǎn)換器。例如,圖3中所示出的耳機(jī)包括起到左側(cè)音頻通道輸出揚(yáng)聲器和右側(cè)音頻通道輸出揚(yáng)聲器作用的一對(duì)骨傳導(dǎo)音頻轉(zhuǎn)換器320l和320r。
本文中描述了關(guān)于混合現(xiàn)實(shí)(mr)應(yīng)用的概念,然而,在其它實(shí)施例中,相同的概念可以應(yīng)用于任何多方通信應(yīng)用。例如,混合現(xiàn)實(shí)應(yīng)用可以涉及場景的共享,其中,包括照相機(jī)的設(shè)備被配置為捕獲圖像或視頻并將該圖像或多個(gè)圖像發(fā)送到其它設(shè)備。此外,圖像或視頻可以通過對(duì)對(duì)象進(jìn)行添加、刪除、以及交互來加強(qiáng)或注釋。這些對(duì)象或虛擬對(duì)象能夠被“放置”在圖像場景內(nèi)并且可以具有能夠被參與者(包括場景所有者)“看到”并與其進(jìn)行交互的視覺表示。對(duì)象可以不僅通過位置來定義,而是包括其它屬性,例如,對(duì)象類型和狀態(tài)。例如,對(duì)象可以具有諸如音頻/視頻/文本內(nèi)容的相關(guān)聯(lián)的內(nèi)容。例如,參與者可以將視頻播放器對(duì)象放置在共享場景中。然后,相同的參與者可以與對(duì)象進(jìn)行交互以開始播放視頻以供所有參與者觀看。然后,另一參與者可以與視頻播放器對(duì)象進(jìn)行交互以控制回放或改變其在場景中的位置。
對(duì)象的放置可以關(guān)于場景以及此外場景的三維表示來進(jìn)行。為了使得對(duì)象的準(zhǔn)確放置能夠在遠(yuǎn)程設(shè)備上被表示或渲染,可以將與場景相關(guān)聯(lián)的表面重制(sr)或網(wǎng)格數(shù)據(jù)傳遞到共享場景的參與者中的全部。
關(guān)于圖4a是用于用戶設(shè)備的合適的發(fā)送(媒體堆棧)管線架構(gòu)的示例。在這樣的實(shí)施例中,如本文中所描述的用戶設(shè)備被配置為生成圖像(視頻數(shù)據(jù))和表面重制(sr)或網(wǎng)格數(shù)據(jù)。
在所示出的示例中,用于生成共享場景的圖像由(紅-綠-藍(lán))rgb傳感器/照相機(jī)403捕獲。rgb傳感器/照相機(jī)403可以被配置為傳遞所捕獲的rgb原始數(shù)據(jù),以及此外將任何照相機(jī)位姿(pose)/投影矩陣信息傳遞到合適的設(shè)備視頻源405。
此外,圖4a中所示出的示例架構(gòu)包括被配置為捕獲深度信息的深度傳感器/照相機(jī)401,深度信息能夠被傳遞到表面重制(sr)引擎和數(shù)據(jù)庫402。sr引擎和數(shù)據(jù)庫402可以被配置為接收深度信息并根據(jù)已知的網(wǎng)格/sr方法來生成sr原始數(shù)據(jù)。然后,sr原始數(shù)據(jù)能夠被傳遞到設(shè)備視頻源405。
視頻源405可以被配置為接收sr原始數(shù)據(jù)和rgb原始數(shù)據(jù)以及任何照相機(jī)位姿/投影矩陣信息。此外,視頻源405可以被配置為將以sr原始數(shù)據(jù)形式的視頻原始數(shù)據(jù)輸出到合適的sr信道編碼器407,并且將依照原始幀的視頻圖像數(shù)據(jù)以及照相機(jī)位姿/投射矩陣數(shù)據(jù)輸出到合適的h.264信道編碼器409。在本文中所描述的示例中,h.264信道編碼器409是合適的視頻編碼器的示例??梢岳斫猓谝恍┢渌鼘?shí)施例中,所采用的視頻編解碼器是任何合適的編解碼器。例如,編碼器和解碼器可以采用高效率視頻編碼hevc實(shí)現(xiàn)方式。
sr信道編碼器407可以被配置為接收sr原始數(shù)據(jù)并對(duì)sr原始數(shù)據(jù)進(jìn)行編碼以生成合適的已編碼sr數(shù)據(jù)。然后,sr信道編碼器407可以被配置為將已編碼sr數(shù)據(jù)傳遞到分組生成器411。具體地,已編碼數(shù)據(jù)可以被傳遞給sr分組創(chuàng)建器413。
h.264信道編碼器409可以類似地被配置為接收原始圖像/視頻幀和照相機(jī)位姿/投影矩陣數(shù)據(jù)并對(duì)它們進(jìn)行處理以生成已編碼的幀和sei(補(bǔ)充增強(qiáng)信息)消息數(shù)據(jù)??梢詫⒁丫幋a的幀和sei消息數(shù)據(jù)傳遞到分組生成器411,并且具體地,傳遞到h.264分組創(chuàng)建器415。
關(guān)于圖9a示出了用于對(duì)幀(原始圖像/視頻幀)和照相機(jī)位姿/投影矩陣信息進(jìn)行組合并對(duì)它們進(jìn)行處理以生成已編碼的幀和sei(補(bǔ)充增強(qiáng)信息)消息數(shù)據(jù)的示例管線架構(gòu)。照相機(jī)內(nèi)在(集成到照相機(jī)本身的)和外在(照相機(jī)位于3d環(huán)境中的部分)數(shù)據(jù)或信息(例如,照相機(jī)位姿(外在的)和投影矩陣(內(nèi)在的)數(shù)據(jù))描述了照相機(jī)捕獲性質(zhì)。諸如幀時(shí)間戳和幀取向的該信息應(yīng)當(dāng)與視頻幀同步,因?yàn)樗赡軓膸綆淖儭?shí)施例中所采用的管線架構(gòu)(例如,圖9a中所示出的)應(yīng)當(dāng)支持到其它平臺(tái)的容易可擴(kuò)展性以及編解碼器可交換性。
如這里描述的概念用于對(duì)視頻信道中的照相機(jī)內(nèi)在和外在數(shù)據(jù)進(jìn)行編碼并將其作為sei消息在帶內(nèi)運(yùn)輸。管線架構(gòu)應(yīng)當(dāng)以平臺(tái)不可知的方式將數(shù)據(jù)運(yùn)輸?shù)浇獯a器。例如,針對(duì)發(fā)送方管線描述了應(yīng)用程序接口(api)調(diào)用順序。
如圖9a中所示出的,為了實(shí)現(xiàn)編解碼器獨(dú)立的實(shí)現(xiàn)方式,sei可以由視頻編碼器嵌入到比特流中并由視頻解碼器讀出。
例如,硬件部件rgb照相機(jī)901可以被配置為生成rgb幀數(shù)據(jù)。然后,rgb幀數(shù)據(jù)能夠被傳遞到os/平臺(tái)層以及傳遞到媒體捕獲(和源讀取器)903。媒體捕獲實(shí)體903此外可以被配置為接收照相機(jī)位姿和投影矩陣并將這些照相機(jī)內(nèi)在和外在值附接為自定義屬性。然后,媒體樣本和自定義屬性可以被傳遞到媒體管線層,并且經(jīng)由捕獲實(shí)體905傳遞到視頻編碼器907。例如,視頻編碼器907可以是圖4a中示出的h.264信道編碼器。然后,視頻編碼器907可以將照相機(jī)位姿和投影矩陣作為用戶數(shù)據(jù)未注冊(cè)sei消息在帶內(nèi)運(yùn)送。例如,sei消息可以與從h.264編碼器909輸出的視頻幀數(shù)據(jù)在sei附加實(shí)體911中進(jìn)行組合。示例sei消息定義如下:
其中
f(1位)是forbidden_zero_bit,例如,在[frc6184]、章節(jié)1.3中指定的,
nri(2位)是nal_ref_idc,例如,在[rfc6184]、章節(jié)1.3中指定的,
類型(5位)是nal_unit_type,例如,在[rfc6184]、章節(jié)1.3中指定的,在一些實(shí)施例中,其被設(shè)置為6,
payloadtype(1字節(jié))是sei有效載荷類型,并且在一些實(shí)施例中被設(shè)置為5,以指示用戶數(shù)據(jù)未注冊(cè)sei消息。由該協(xié)議使用的語法是如在[iso/iec14496-10:2010]、章節(jié)7.3.2.3.1中所定義的,
payloadsize(1字節(jié))是sei有效載荷大小。由該協(xié)議使用的針對(duì)該字段的語法與在[iso/iec14496-10:2010]、章節(jié)7.3.2.3.1中所定義的相同。payloadsize值是排除f、nri、類型、payloadtype、以及payloadsize字段的流布局sei消息的大小,
uuid_iso_iec_11578(16字節(jié))是通用唯一標(biāo)識(shí)符(uuid),用于指示sei消息是流布局,并且在一些實(shí)施例中被設(shè)置為{0f5dd509-cf7e-4ac4-9e9a-406b68973c42},
t(1字節(jié))是類型字節(jié),并且在一些實(shí)施例中,值1用于標(biāo)識(shí)照相機(jī)位姿信息,并且值2用于標(biāo)識(shí)照相機(jī)投影矩陣信息,
l(1字節(jié))是以隨后的值字段的字節(jié)減1的長度,并且具有指示1-255字節(jié)的0-254的有效值范圍。
v(n字節(jié))是值,并且值的長度被指定為l字段的值。
與分組生成器411相關(guān)聯(lián)的概念用于控制視頻和sr數(shù)據(jù)的打包,以便數(shù)據(jù)的接收方能夠產(chǎn)生可靠且高效的混合現(xiàn)實(shí)體驗(yàn)。
例如,分組生成器411可以包括sr分組創(chuàng)建器413。sr分組創(chuàng)建器413可以被配置為生成能夠被傳遞到分組類型敏感成形器419的sr片段分組。此外,可以對(duì)sr分組創(chuàng)建器413進(jìn)行控制以用于重新發(fā)送反饋目的。在一些實(shí)施例中,使用nack方法來進(jìn)行重新發(fā)送反饋可能是不合適的,并且因此可以實(shí)現(xiàn)ack方法。
因此,在一些實(shí)施例中,sr分組創(chuàng)建器413可以被配置為將任何sr數(shù)據(jù)分組的引用保留在未決緩沖器中,直到它們被發(fā)送為止。一旦分組被發(fā)送,則可以將引用移動(dòng)到未確認(rèn)緩沖器。
在這樣的實(shí)施例中,未確認(rèn)緩沖器可以具有限制發(fā)送方與接收方之間的流量的窗口大小。
然后,可以維護(hù)sr數(shù)據(jù)分組的引用,直到接收方確認(rèn)分組被接收為止。
在一些實(shí)施例中,未確認(rèn)緩沖器窗口大小可以根據(jù)接收方緩沖器深度來動(dòng)態(tài)地調(diào)整。在一些實(shí)施例中,未確認(rèn)緩沖器窗口大小可以是靜態(tài)值,例如,32。
在一些實(shí)施例中,sr分組創(chuàng)建器413可以被配置為當(dāng)sr幀到達(dá)時(shí),保持發(fā)送來自未決緩沖器的sr數(shù)據(jù)分組,即使當(dāng)沒有任何反饋消息(例如,包括acknowledgmentbitmap的消息)被接收時(shí)。實(shí)現(xiàn)保持發(fā)送方法表示在接收方處的互斥等待(starvation)不應(yīng)當(dāng)發(fā)生。
反饋消息可以包括值(例如,acknowledgmentbitmap消息中的值basesequence)。增加的值暗示一直到值-1(basesequence-1)并且包括值-1的所有分組已經(jīng)由接收方確認(rèn)。
在一些實(shí)施例中,sr分組創(chuàng)建器413可以被配置為僅當(dāng)存在足夠的帶寬時(shí)發(fā)送超出所學(xué)習(xí)的接收方緩沖器深度的數(shù)據(jù)分組。
在一些實(shí)施例中,發(fā)送速度可以由雙向信道的rtt(往返時(shí)間)來進(jìn)行限制。例如,當(dāng)未確認(rèn)緩沖器窗口大小是128個(gè)分組、并且rtt是200ms、并且mpu(應(yīng)用于sr數(shù)據(jù)分段的最大分組單元)是1000時(shí),則最大發(fā)送速度將被限于128*1000*(1000/200)=5000kb/s.
因此,在一些實(shí)施例中,可以對(duì)未確認(rèn)緩沖器窗口大小、連同(acknowledgmentbitmap)反饋消息的長度進(jìn)行調(diào)整以改變最大速率。
類似地,分組生成器411可以包括h.264分組創(chuàng)建器415。h.264分組創(chuàng)建器415可以被配置為生成合適的h.264分組片段,并將這些分組片段傳遞到分組類型敏感成形器419。
此外,分組生成器411可以包括帶寬(bw)控制器417,其被配置為控制分組片段的生成和輸出。bw控制器417可以負(fù)責(zé)分割sr分組創(chuàng)建器413與h.264分組創(chuàng)建器415之間的帶寬分配。在一些實(shí)施例中,bw控制器417維護(hù)用于視頻的最小帶寬。
在一些實(shí)施例中,bw控制器417可以被配置為最初在并發(fā)運(yùn)行的每個(gè)并行信道之間均勻地分配數(shù)據(jù)。例如,對(duì)于h.264信道和單個(gè)sr信道而言,數(shù)據(jù)分割可以以50/50開始。然而,bw控制器417可以被配置為在確定的時(shí)間段之后確定或估計(jì)針對(duì)h.264和sr帶寬需求的短期和長期平均。例如,針對(duì)h.264和sr帶寬需求的短期和長期平均可以在2.5秒之后確定。
應(yīng)當(dāng)注意,在h.264/視頻與sr帶寬之間的這些值之間存在行為上的差異。對(duì)于視頻而言,帶寬值是被傳遞到h.264(視頻)編碼器409并應(yīng)當(dāng)被h.264(視頻)編碼器409遵守的分配。而sr帶寬值可以是這樣的帶寬的觀測:由sr信道使用,并且媒體平臺(tái)可以對(duì)其進(jìn)行監(jiān)測以確定如何調(diào)整sr編碼器407內(nèi)的細(xì)節(jié)級(jí)別的參數(shù)。
然后,分組敏感成形器419可以被配置為接收sr分組片段和h.264分組片段,并且生成傳遞到輸送處(transport)421的合適的數(shù)據(jù)分組。分組敏感成形器419可以是知道h.264和sr數(shù)據(jù)分組的不同的實(shí)時(shí)需求的(網(wǎng)絡(luò)流量)成形器。例如,成形器可以被實(shí)現(xiàn)為h.264與sr分組之間的循環(huán)(round-robin)。
輸送處421接收數(shù)據(jù)分組并經(jīng)由合適的輸出流輸出這些數(shù)據(jù)分組。
關(guān)于圖4b示出了用于被配置為接收?qǐng)D像(視頻數(shù)據(jù))和表面重制(sr)或網(wǎng)格數(shù)據(jù)的用戶設(shè)備的合適的接收管線(媒體堆棧)架構(gòu)。
用戶設(shè)備可以包括被配置為接收視頻流數(shù)據(jù)并將該信息傳遞到接收方/分組匯編器的輸送處451。
分組匯編器可以包括sr分組匯編器453和h.264分組匯編器455。可以將sr分組片段傳遞到sr分組匯編器453以用于生成已編碼sr數(shù)據(jù)分組。h.264分組匯編器455可以被配置為接收h.264分組片段并生成已編碼幀數(shù)據(jù)。
sr分組匯編器453可以被配置為生成合適的反饋消息(例如,acknowledgmentbitmap反饋消息),其可以被發(fā)送到sr分組創(chuàng)建器,以便于控制sr數(shù)據(jù)的重新發(fā)送。當(dāng)檢測到內(nèi)容開始事件時(shí)(例如,當(dāng)檢測到sr1_content_start_flag時(shí)),或者當(dāng)檢測到內(nèi)容停止事件時(shí)(例如,當(dāng)檢測到sr1_content_stop_flag時(shí)),或者當(dāng)檢測到文件事件的結(jié)束時(shí)(例如,當(dāng)檢測到sr1_content_eof_flag時(shí)),可以生成反饋消息。此外,在一些實(shí)施例中,當(dāng)新的sr分組到達(dá)sr分組匯編器453并且自從先前的分組經(jīng)過了預(yù)先確定的時(shí)間段(例如,250ms)時(shí),生成反饋消息。在一些實(shí)施例中,針對(duì)每第7個(gè)(或者其它確定的數(shù)量)接收到的分組來生成反饋消息。在一些實(shí)施例中,分組的經(jīng)確定的數(shù)量的可以包括重新發(fā)送的分組。此外,在一些實(shí)施例中,反饋消息可以在反饋值指示最后接收的分組(basesequence)已經(jīng)提前了經(jīng)確定的數(shù)量(例如,7)個(gè)分組之后生成。在一些實(shí)施例中,當(dāng)由sr信道解碼器457報(bào)告了錯(cuò)誤時(shí),生成反饋消息。
如本文中所描述的,sr分組創(chuàng)建器被配置為接收反饋消息(acknowledgmentbitmap)并控制經(jīng)緩沖的分組的重新發(fā)送。
然后,可以將已編碼sr數(shù)據(jù)分組傳遞到sr信道解碼器457以生成sr原始數(shù)據(jù)。
h.264信道解碼器459可以被配置為接收來自h.264分組匯編器455的已編碼幀,并輸出合適的原始幀和照相機(jī)位姿/投影矩陣數(shù)據(jù)。然后,能夠?qū)r原始數(shù)據(jù)和原始幀以及照相機(jī)位姿/投影信息傳遞到視頻池(videosink)461。
然后,視頻池461可以被配置為將所接收的sr原始數(shù)據(jù)和原始幀以及照相機(jī)位姿/投影數(shù)據(jù)輸出到任何合適的遠(yuǎn)程視頻應(yīng)用463或庫以用于合適的3d場景渲染(在3d場景渲染器465處)和視頻服務(wù)渲染(在視頻表面渲染器467處)。
關(guān)于圖9b示出了用于從已編碼的幀和sei(補(bǔ)充增強(qiáng)信息)消息數(shù)據(jù)中提取原始圖像/視頻幀和照相機(jī)內(nèi)在和外在數(shù)據(jù)(例如,位姿/投影矩陣數(shù)據(jù))的示例管線架構(gòu)。該管線架構(gòu)是由圖9a中所示出的示例管線架構(gòu)執(zhí)行的過程的反向。
例如,媒體管線層可以包括視頻解碼器960。這在一些實(shí)施例中由h.264信道解碼器459(例如,圖4b中所示出的)來實(shí)現(xiàn)。視頻解碼器960可以包括sei提取器951,其被配置為從h.264幀數(shù)據(jù)中檢測并提取與照相機(jī)內(nèi)在和外在數(shù)據(jù)值(照相機(jī)位姿和/或投影矩陣數(shù)據(jù))相關(guān)聯(lián)的任何已接收sei數(shù)據(jù)。這可以通過解碼器掃描傳入的網(wǎng)絡(luò)抽象層單元(nalu)并從每個(gè)幀所附加的sei消息中提取照相機(jī)內(nèi)在和外在數(shù)據(jù)(如果存在)而在視頻(sliq)解碼器內(nèi)實(shí)現(xiàn)。然后,可以經(jīng)由解碼器選項(xiàng)使得照相機(jī)內(nèi)在和外在數(shù)據(jù)可用于解碼器擴(kuò)展和解碼器回調(diào)。
然后,視頻解碼器(例如,h.264解碼器953)可以對(duì)不包含sei消息的h.264比特流進(jìn)行解碼。
媒體管線層可以進(jìn)一步包括渲染器955,其被配置為對(duì)內(nèi)在和外在數(shù)據(jù)以及幀數(shù)據(jù)進(jìn)行同步并將其傳遞到os/平臺(tái)層。
此外,如圖9b中所示出的,os/平臺(tái)層可以包括3d渲染引擎957,其被配置為變換視頻幀圖像,并利用內(nèi)在和外在數(shù)據(jù)以及sr數(shù)據(jù)來生成適于傳遞到顯示器或屏幕959的合適的3d渲染??梢岳斫猓谝恍?shí)施例中,可以將3d渲染引擎實(shí)現(xiàn)為應(yīng)用。
在諸如本文中所描述的實(shí)現(xiàn)架構(gòu)中,可以將以視頻或者圖像數(shù)據(jù)形式的mr場景和要生成場景的3d渲染所需要的數(shù)據(jù)可靠地并且使用可用的帶寬高效地從一個(gè)設(shè)備傳送到另一設(shè)備。
如本文中所描述的,mr的方面中的一個(gè)方面是共享并注釋所捕獲的場景的能力。例如,由場景中的一個(gè)參與者捕獲的視頻可以通過添加對(duì)象來進(jìn)行注釋。對(duì)象可以位于場景中,具有經(jīng)定義的位置和/或取向。此外,如本文中所描述的對(duì)象可以與媒體類型相關(guān)聯(lián)——例如,視頻、圖像、音頻、或文本。在一些情況下,對(duì)象可以是交互式對(duì)象,這是因?yàn)閷?duì)象可以是可移動(dòng)的、或改變的。例如,交互式對(duì)象可以與視頻文件相關(guān)聯(lián),并且當(dāng)對(duì)象被參與者“觸摸”或者選擇時(shí),視頻播放給共享場景的參與者中的全部。
添加、移除、以及修改場景內(nèi)的對(duì)象可能是有問題的。然而,這些問題可以根據(jù)用于本文中進(jìn)一步詳細(xì)描述的對(duì)象信息的示例架構(gòu)和協(xié)議來進(jìn)行處理。
關(guān)于圖5a示出了這樣的示例架構(gòu):該示例架構(gòu)示出了適于處理交互式對(duì)象以及與其它參與者共享混合現(xiàn)實(shí)(mr)場景的協(xié)議端點(diǎn)。在圖5a所示出的示例(以及本文中所描述的示例)中,場景所有者491是與其它參與者共享其混合現(xiàn)實(shí)場景的協(xié)議端點(diǎn)。例如,場景所有者491可以包括操作諸如圖3中所示的用戶設(shè)備并捕獲用戶a的環(huán)境的用戶。還可以允許場景所有者添加、移除、以及操縱(虛擬)對(duì)象(也被稱為注釋)到場景視圖。在一些實(shí)施例中,添加、移除、或操縱對(duì)象可以使用用戶接口來實(shí)現(xiàn)。
場景參與者495可以是被配置為接收由場景所有者491生成的混合現(xiàn)實(shí)場景的協(xié)議端點(diǎn)。場景參與者495可以進(jìn)一步被配置為能夠添加、移除、以及操縱場景中的對(duì)象。
對(duì)共享場景中這些對(duì)象進(jìn)行可視化、定位、以及與其交互(如先前所描述的)可能呈現(xiàn)問題。對(duì)象可以具有視覺表示并且具有相關(guān)聯(lián)的內(nèi)容(例如,音頻/視頻/文本)。例如,參與者可以將視頻播放器對(duì)象放置在共享場景中,并與其進(jìn)行交互以開始播放視頻以供所有參與者觀看。另一參與者可以嘗試與相同的對(duì)象進(jìn)行交互以控制回放或改變對(duì)象在場景中的位置。如此,對(duì)象應(yīng)當(dāng)相對(duì)于視頻或圖像內(nèi)的現(xiàn)實(shí)世界對(duì)象以及針對(duì)參與者中的全部的其它(虛擬)對(duì)象出現(xiàn)在相同位置處。
此外,受制于可接受的延遲,對(duì)象的狀態(tài)對(duì)于參與者中的全部而言還應(yīng)當(dāng)是一致的。因此,例如當(dāng)為所有參與者播放視頻時(shí),視頻對(duì)象在大致相同的位置處應(yīng)當(dāng)顯示相同的視頻。
共享場景或混合現(xiàn)實(shí)應(yīng)用也應(yīng)當(dāng)被實(shí)現(xiàn)為使得在任何時(shí)候加入?yún)f(xié)作會(huì)話的參與者都能夠?qū)λ麄兊膱鼍暗脑噲D與其它參與者的試圖進(jìn)行同步。換言之,場景對(duì)于參與者中的全部而言是相同的,獨(dú)立于參與者何時(shí)加入會(huì)話。
類似地,混合現(xiàn)實(shí)應(yīng)用應(yīng)當(dāng)能夠使得場景能夠被暫停或拍快照,以使得會(huì)話可以被中止并且然后可以通過恢復(fù)快照來在以后的時(shí)間繼續(xù)。換言之,即使當(dāng)沒有用戶使用場景時(shí),場景也應(yīng)當(dāng)具有持續(xù)性。
本文中所描述的架構(gòu)可以用于實(shí)現(xiàn)被設(shè)計(jì)為高效地滿足上面所描述的需求的消息協(xié)議和通信機(jī)制的集合。概念因此能夠涉及諸如“僅最新的可靠消息遞送”和“基于對(duì)象的”流控制的通信機(jī)制。“僅最新的消息遞送”的實(shí)現(xiàn)方式可以減少所發(fā)送的和/或所接收的對(duì)象信息流量的量,并且因此高效地利用處理器和網(wǎng)絡(luò)帶寬。這對(duì)于其中使處理器利用和網(wǎng)絡(luò)帶寬最小化是共同的設(shè)計(jì)目的的移動(dòng)且可佩戴的設(shè)備而言是重要且可期望的成就。類似地,基于對(duì)象的流控制允許發(fā)射機(jī)和接收機(jī)選擇性地限制流量需求以用于對(duì)給定對(duì)象的狀態(tài)進(jìn)行同步。
如圖5a中所示出的,在一些實(shí)施例中,可以采用場景服務(wù)器493協(xié)議端點(diǎn)。場景服務(wù)器493可以被配置為在場景所有者419與參與者495之間中繼消息。
場景所有者491、參與者495、或服務(wù)器493可以采用作為協(xié)議客戶端實(shí)體操作的應(yīng)用(或app)。協(xié)議客戶端實(shí)體可以被配置為控制協(xié)議端點(diǎn)以用于傳達(dá)并控制協(xié)議端點(diǎn)之間的數(shù)據(jù)流。
在以下示例中,對(duì)象消息交換使用諸如圖5a中所示出的場景服務(wù)器中介架構(gòu)來執(zhí)行。換言之,消息經(jīng)由場景服務(wù)器493傳遞,場景服務(wù)器493將每條消息轉(zhuǎn)發(fā)至其目的地。如圖5a中所示出的,能夠?qū)鼍胺?wù)器看作與場景所有者491或參與者495分離的協(xié)議端點(diǎn)。然而,場景服務(wù)器493可以在場景所有者用戶設(shè)備、參與者用戶設(shè)備、或?qū)S梅?wù)器設(shè)備中的一個(gè)內(nèi)實(shí)現(xiàn)。
可以理解,在一些實(shí)施例中,消息交換在端對(duì)端的基礎(chǔ)上執(zhí)行。由于端對(duì)端消息交換情況在概念上是服務(wù)器中介情況的特殊情況,其中,場景所有者端點(diǎn)和服務(wù)器端點(diǎn)共同位于相同的設(shè)備上,然后以下示例也可以應(yīng)用于端對(duì)端實(shí)施例。
本文中的數(shù)據(jù)模型可以用于促進(jìn)對(duì)用于同步本文中所描述的對(duì)象(或注釋)的協(xié)議的描述。在每個(gè)協(xié)議端點(diǎn)(例如,場景服務(wù)器、場景所有者、以及參與者)處,會(huì)話管理實(shí)體或會(huì)話管理實(shí)體應(yīng)用可以維護(hù)共享場景的視圖。場景的視圖可以是場景內(nèi)的對(duì)象(或注釋)的表示。對(duì)象表示可以包括數(shù)據(jù)對(duì)象,其包括諸如對(duì)象類型、坐標(biāo)、以及在空間或場景中的取向的屬性。然后,協(xié)議端點(diǎn)可以使用會(huì)話管理實(shí)體應(yīng)用來維護(hù)使用對(duì)象表示的一致的場景視圖。以這種方式,對(duì)場景對(duì)象的表示的任何更新都能夠被版本化并使用協(xié)議消息傳達(dá)到其它端點(diǎn)。場景服務(wù)器可以中繼這些消息中的全部并基于其中可應(yīng)用的陳舊版本來丟棄更新。
能夠?qū)⒂糜诮粨Q消息的協(xié)議劃分成數(shù)據(jù)平面和控制平面。在每個(gè)協(xié)議端點(diǎn)處,數(shù)據(jù)平面可以實(shí)現(xiàn)消息遞送實(shí)體應(yīng)用和分組遞送實(shí)體應(yīng)用,它們負(fù)責(zé)維護(hù)消息隊(duì)列/分組隊(duì)列并對(duì)經(jīng)排隊(duì)的發(fā)送和/或接收消息和分組的遞送狀態(tài)保持跟蹤。在以下實(shí)施例中,突出的出站消息是已經(jīng)被發(fā)送但是尚未被接收方確認(rèn)的消息。突出的入站消息是已經(jīng)被接收但是尚未被遞送到本地端點(diǎn)(例如,會(huì)話管理實(shí)體)的消息。
控制平面要求能夠在場景服務(wù)器端點(diǎn)內(nèi)實(shí)現(xiàn)并且可以被配置為在場景所有者與其它參與者之間維護(hù)場景的狀態(tài)。例如,場景服務(wù)器493可以被配置為針對(duì)每個(gè)連接的端點(diǎn)維護(hù)協(xié)議版本和端點(diǎn)能力。
關(guān)于圖5a示出了在包括對(duì)象信息的共享場景混合現(xiàn)實(shí)應(yīng)用的初始化中所涉及的消息協(xié)議的示例。
在以下示例中,場景所有者491可以被配置為使用協(xié)議客戶端實(shí)體來創(chuàng)建端點(diǎn)以及獲得服務(wù)器端點(diǎn)493的地址。地址確定可以通過靜態(tài)配置地址或通過域名系統(tǒng)(dns)查詢來進(jìn)行。
然后,協(xié)議客戶端實(shí)體應(yīng)用可以通過發(fā)出連接請(qǐng)求消息并向服務(wù)器493發(fā)送連接請(qǐng)求消息以注冊(cè)場景用于共享來宣稱其本身為場景所有者。
在圖5a中通過步驟471示出了將來自場景所有者491的連接請(qǐng)求消息發(fā)送到服務(wù)器493的操作。
然后,服務(wù)器493可以利用合適的確認(rèn)消息對(duì)場景所有者491進(jìn)行響應(yīng)。
圖5a中通過步驟473示出了向場景所有者491發(fā)送確認(rèn)消息的服務(wù)器的操作。
然后,場景所有者491可以被配置為生成場景通告消息并將其發(fā)送到服務(wù)器493。
在圖5a中通過步驟475示出了發(fā)送場景通告消息的操作。
然后,服務(wù)器493可以向受邀者中繼場景通告消息。換言之,場景通告消息可以包括由服務(wù)器使用以向正確的位置發(fā)送場景通告消息的地址或合適的用戶標(biāo)識(shí)符。
在圖5a中通過步驟477示出了將來自服務(wù)器493的場景通告消息發(fā)送到參與者495的操作。
然后,參與者端點(diǎn)可以使用其協(xié)議客戶端應(yīng)用來生成連接請(qǐng)求消息并向服務(wù)器493發(fā)送該消息以注冊(cè)有興趣加入場景。
在圖5a中通過步驟479示出了發(fā)送連接請(qǐng)求消息的操作。
然后,服務(wù)器493能夠轉(zhuǎn)發(fā)連接請(qǐng)求或生成參與請(qǐng)求消息并向場景所有者491發(fā)送該消息。
在圖5a中通過步驟481示出了將來自服務(wù)器493的參與請(qǐng)求消息發(fā)送到場景所有者491的操作。
然后,場景所有者491可以確定參與者是否被授權(quán)參與并生成參與響應(yīng)消息。然后可以將參與響應(yīng)消息發(fā)送到服務(wù)器493。
在圖5a中通過步驟483示出了將來自場景所有者491的參與響應(yīng)消息發(fā)送到服務(wù)器493的操作。
然后,服務(wù)器493可以被配置為根據(jù)參與響應(yīng)消息生成連接響應(yīng)消息,并向參與者495發(fā)送連接響應(yīng)消息。
在圖5a中通過步驟485示出了發(fā)送連接響應(yīng)消息485的操作。
服務(wù)器和其它端點(diǎn)可以維護(hù)合適的定時(shí)器。例如,連接/加入狀態(tài)機(jī)定時(shí)器可以在交換連接/加入消息的兩個(gè)端點(diǎn)處使用。此外,在一些實(shí)施例中,可以采用保活(keepalive)定時(shí)器來觸發(fā)?;钕⒌陌l(fā)送。類似地,重新發(fā)送定時(shí)器可以被實(shí)現(xiàn)為僅針對(duì)可靠消息觸發(fā)重新發(fā)送。
關(guān)于圖5b進(jìn)一步詳細(xì)示出了用戶設(shè)備內(nèi)的控制架構(gòu)。邏輯層501能夠包括處理對(duì)象信息的任何合適的應(yīng)用,例如,會(huì)話管理實(shí)體應(yīng)用、消息遞送實(shí)體應(yīng)用、分組遞送實(shí)體應(yīng)用、以及連接狀態(tài)實(shí)體應(yīng)用。
邏輯層501可以被配置為經(jīng)由(出站)發(fā)送路徑502和(入站)接收路徑504來與i/o或客戶端層503進(jìn)行通信。
i/o或客戶端層503可以包括資源管理器511。資源管理器可以控制對(duì)象數(shù)據(jù)的處理。此外,資源管理器可以被配置為控制(出站消息)發(fā)送隊(duì)列513和(入站消息)接收隊(duì)列515。
此外,資源管理器511可以被配置為向os層505和nic驅(qū)動(dòng)器507發(fā)送控制信號(hào)。例如,這些控制信號(hào)可以是取消發(fā)送(cancelsend)和/或設(shè)置接收速率限制(setreceiveratelimit)信號(hào)517,其可以經(jīng)由控制路徑516、526發(fā)送到os層505和nic驅(qū)動(dòng)器507。
發(fā)送隊(duì)列513可以被配置為接收來自資源管理器的分組并通過發(fā)送路徑512向os層發(fā)送分組。接收隊(duì)列515可以被配置為經(jīng)由接收路徑514接收來自os層505的消息。
os層505可以接收來自發(fā)送隊(duì)列513的出站消息并經(jīng)由發(fā)送路徑522將這些出站消息傳遞到nic驅(qū)動(dòng)器507。此外,os層505能夠通過接收路徑524接收來自nic驅(qū)動(dòng)器507的消息,并且進(jìn)一步經(jīng)由接收路徑514將這些消息傳遞到接收隊(duì)列515。
關(guān)于圖6進(jìn)一步詳細(xì)示出了會(huì)話管理實(shí)體應(yīng)用600與消息遞送實(shí)體和分組遞送實(shí)體601以及連接狀態(tài)實(shí)體603的交互的示例。
會(huì)話管理實(shí)體600可以被配置為維護(hù)或接收對(duì)象表示屬性并且此外對(duì)何時(shí)接收到任何對(duì)象交互指令進(jìn)行檢測。例如,用戶可以移動(dòng)對(duì)象或與對(duì)象進(jìn)行交互,使得對(duì)象的屬性中的一個(gè)屬性改變。會(huì)話管理實(shí)體600可以被配置為處理對(duì)象交互指令/輸入并生成或輸出要傳遞到消息遞送實(shí)體/分組遞送實(shí)體601的經(jīng)修改的對(duì)象屬性。此外,連接狀態(tài)實(shí)體應(yīng)用600可以被配置為對(duì)消息遞送實(shí)體/分組遞送實(shí)體進(jìn)行控制。
因此,例如,圖7示出了示例流程圖700,其示出了針對(duì)發(fā)送路徑的消息遞送實(shí)體/分組遞送實(shí)體601的操作。在該示例中,會(huì)話管理實(shí)體600可以生成新的或經(jīng)修改的對(duì)象屬性消息。
在圖7中通過步驟s702示出了生成對(duì)象屬性消息的操作。
對(duì)象屬性消息可以傳遞到消息遞送實(shí)體/分組遞送實(shí)體,并且消息被戳記(stamp)或者與序列號(hào)和對(duì)象標(biāo)識(shí)值相關(guān)聯(lián)。對(duì)象標(biāo)識(shí)值可以標(biāo)識(shí)對(duì)象,并且序列號(hào)標(biāo)識(shí)修改的序列內(nèi)的位置。
在圖7中通過步驟s704示出了戳記消息/關(guān)聯(lián)消息與序列號(hào)和對(duì)象id值的操作。
然后,消息遞送實(shí)體/分組遞送實(shí)體601可以被配置為確定視頻幀周期或其它視頻幀相關(guān)的周期是否已經(jīng)結(jié)束。
在圖7中通過步驟s706示出了確定幀或周期結(jié)束的操作。
當(dāng)周期尚未結(jié)束時(shí),方法能夠傳遞回生成下一條經(jīng)修改的對(duì)象屬性消息的操作。
然而,當(dāng)幀或周期已經(jīng)被確定時(shí),則消息遞送實(shí)體/分組遞送實(shí)體可以被配置為針對(duì)當(dāng)前視頻幀或周期檢查具有經(jīng)確定的對(duì)象標(biāo)識(shí)符值的消息中的全部。
在步驟s708中示出了針對(duì)幀或周期檢查具有經(jīng)確定的對(duì)象標(biāo)識(shí)符的所有消息的操作。
然后,消息遞送實(shí)體/分組遞送實(shí)體601可以被配置為基于序列號(hào)從幀周期或其它周期內(nèi)的消息中確定消息的最新數(shù)量(或最新消息)。
在圖7中通過步驟s710示出了基于序列號(hào)來確定最新消息的操作。
然后,消息遞送實(shí)體/分組遞送實(shí)體601可以被配置為在發(fā)送路徑中刪除在該特定幀周期或其它周期內(nèi)的具有對(duì)象標(biāo)識(shí)值的其它消息中的全部。
在圖7中通過步驟s712示出了在幀周期或其它周期中的具有對(duì)象id的所有其它對(duì)象屬性消息的刪除。
然后,方法能夠傳遞回檢查另外的對(duì)象交互指令或輸入。
在實(shí)現(xiàn)這樣的實(shí)施例時(shí),能夠?qū)υ诮o定的視頻幀周期或其它周期內(nèi)的針對(duì)特定對(duì)象的對(duì)象屬性消息的消息流進(jìn)行控制,以使得存在更新狀態(tài)或給定對(duì)象的位置的至少一條消息的傳輸,但是網(wǎng)絡(luò)并不充滿消息。此外,可以使得發(fā)送路徑api在所有層對(duì)于應(yīng)用可用,以用于丟棄利用針對(duì)給定對(duì)象id的發(fā)送路徑排隊(duì)的多余消息。
此外,在一些實(shí)施例中,發(fā)送方可以被配置為提供關(guān)于所嘗試的或所取消的發(fā)送的反饋。
實(shí)現(xiàn)如本文中所描述的這樣的實(shí)施例的服務(wù)器可以被配置為在不超過接收方的消息速率限制的情況下提供或執(zhí)行應(yīng)用層多播。
關(guān)于圖8示出了示例流程圖800,其示出了針對(duì)接收路徑的消息遞送實(shí)體/分組遞送實(shí)體601的操作。接收路徑指代在端點(diǎn)處具有應(yīng)用的輸送層實(shí)體、底層操作系統(tǒng)、以及網(wǎng)絡(luò)驅(qū)動(dòng)器的所有傳入隊(duì)列階段。
在一些實(shí)施例中,諸如關(guān)于發(fā)送路徑所描述的對(duì)象屬性消息被接收。
在圖8中通過步驟s802示出了接收對(duì)象屬性消息的操作。
消息遞送實(shí)體/分組遞送實(shí)體601此外可以被配置為確定視頻幀周期(或其它經(jīng)確定的周期)是否已經(jīng)結(jié)束。
在圖8中通過步驟804示出了確定經(jīng)確定的幀(或其它周期)的結(jié)束的操作。
當(dāng)周期尚未結(jié)束時(shí),則方法可以循環(huán)回接收另外的對(duì)象屬性消息。
當(dāng)周期已經(jīng)結(jié)束時(shí),則連接狀態(tài)實(shí)體應(yīng)用603然后可以被配置為確定在其上可以做出接收消息的控制的一些參數(shù)估計(jì)和判決變量。
例如,在一些實(shí)施例中,連接狀態(tài)實(shí)體應(yīng)用603可以被配置為確定每個(gè)更新過程所需要或消耗的cpu周期的數(shù)量。
在圖8中通過步驟s806示出了估計(jì)每次更新所消耗的cpu周期的操作。
在一些實(shí)施例中,連接狀態(tài)實(shí)體應(yīng)用603可以被配置為確定或估計(jì)當(dāng)前cpu負(fù)載和/或網(wǎng)絡(luò)帶寬。
在圖8中通過步驟s808示出了確定當(dāng)前cpu負(fù)載/網(wǎng)絡(luò)帶寬的操作。
此外,在一些實(shí)施例中,連接狀態(tài)實(shí)體應(yīng)用603可以被配置為確定特定對(duì)象的對(duì)象優(yōu)先級(jí)。例如,對(duì)象優(yōu)先級(jí)能夠基于對(duì)象是否在視圖內(nèi)、對(duì)象最近是否被查看、或者對(duì)象最近是否被交互。
在圖8中通過步驟s810示出了確定至少一個(gè)判決變量的操作。
然后,在一些實(shí)施例中,連接狀態(tài)實(shí)體應(yīng)用603可以被配置為基于所確定的變量和容量確定中的至少一個(gè)來設(shè)置對(duì)象更新的“速率限制”。
在圖8中通過步驟s812示出了設(shè)置速率限制的操作。
然后,消息遞送實(shí)體/分組遞送實(shí)體601可以被配置為確定在周期內(nèi)的針對(duì)對(duì)象的最后“n”條消息,其中“n”是速率限制。例如,這可以通過確定關(guān)于在周期內(nèi)的針對(duì)對(duì)象id所接收的消息的最后“n”個(gè)序列號(hào)來執(zhí)行。
在圖8中通過步驟814示出了確定最后“n”條消息的操作。
然后,應(yīng)用能夠在所接收的路徑中刪除在該周期內(nèi)的針對(duì)該對(duì)象id的消息中的全部,而不是最后“n”條消息。
在圖8中通過步驟s816示出了刪除周期中的具有對(duì)象id的其它消息中的全部的操作。
然后,方法可以傳遞回接收另外的對(duì)象消息的操作。
以這樣的方式,接收方不過載對(duì)象屬性消息。
盡管已經(jīng)參考由用戶做出的與關(guān)于傳入的實(shí)時(shí)視頻的幀所定位的對(duì)象的交互描述了實(shí)施例,但是本公開的實(shí)施例延伸到在由計(jì)算機(jī)生成的圖像上的交互。
一般地,本文中所描述的功能中的任何功能能夠使用軟件、固件、硬件(例如,固定邏輯電路)、或者這些實(shí)現(xiàn)方式的組合來實(shí)現(xiàn)。如本文中所使用的術(shù)語“控制器”、“功能”、“部件”、以及“應(yīng)用”一般表示軟件、固件、硬件、或者其組合。在軟件實(shí)現(xiàn)方式的情況下,控制器、功能、部件、或應(yīng)用表示當(dāng)在處理器(例如,cpu或多個(gè)cpu)上被執(zhí)行時(shí)執(zhí)行特定任務(wù)的程序代碼。程序代碼能夠存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)器設(shè)備中。下面所描述的技術(shù)的特征是獨(dú)立于平臺(tái)的,表示技術(shù)可以在具有各種處理器的各種商業(yè)計(jì)算平臺(tái)上實(shí)現(xiàn)。
例如,用戶終端還可以包括使得用戶終端的硬件執(zhí)行操作(例如,處理器功能塊等)的實(shí)體(例如,軟件)。例如,用戶終端可以包括計(jì)算機(jī)可讀介質(zhì),其可以被配置為維護(hù)指令,該指令使得用戶終端以及更具體地用戶終端的操作系統(tǒng)和相關(guān)聯(lián)的硬件執(zhí)行操作。因此,指令起作用以將操作系統(tǒng)和相關(guān)聯(lián)的硬件配置為執(zhí)行操作,并且以這種方式產(chǎn)生操作系統(tǒng)和相關(guān)聯(lián)的硬件的轉(zhuǎn)換以執(zhí)行功能。指令可以通過各種不同的配置由計(jì)算機(jī)可讀介質(zhì)提供給用戶終端。
計(jì)算機(jī)可讀介質(zhì)的一種這樣的配置是信號(hào)承載介質(zhì),并且因此被配置為將指令(例如,作為載波)傳輸?shù)接?jì)算設(shè)備,例如,經(jīng)由網(wǎng)絡(luò)。計(jì)算機(jī)可讀介質(zhì)還可以被配置為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)并且因此不是信號(hào)承載介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的示例包括隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、光盤、閃速存儲(chǔ)器、硬盤存儲(chǔ)器、以及可以使用磁的、光的、以及其它技術(shù)來存儲(chǔ)指令和其它數(shù)據(jù)的其它存儲(chǔ)器設(shè)備。
提供了一種在通信架構(gòu)內(nèi)的用戶設(shè)備,該用戶設(shè)備包括:圖像捕獲設(shè)備,其被配置為確定用于創(chuàng)建定義共享場景的視頻信道的圖像數(shù)據(jù)以及內(nèi)在/外在捕獲設(shè)備數(shù)據(jù);表面重構(gòu)實(shí)體,其被配置為確定與來自圖像捕獲設(shè)備的圖像數(shù)據(jù)相關(guān)聯(lián)的表面重構(gòu)數(shù)據(jù);視頻信道,其被配置為對(duì)圖像數(shù)據(jù)以及內(nèi)在/外在捕獲設(shè)備數(shù)據(jù)進(jìn)行編碼和分包;表面重構(gòu)信道,其被配置為對(duì)表面重構(gòu)數(shù)據(jù)進(jìn)行編碼和分包;發(fā)射機(jī),其被配置為發(fā)送視頻信道分組和表面重構(gòu)信道分組;以及帶寬控制器,其被配置為對(duì)分配給視頻信道和表面重構(gòu)信道的帶寬進(jìn)行控制。
帶寬控制器可以被配置為:確定初始帶寬容量;以及在表面重構(gòu)信道與視頻信道之間均等地劃分初始帶寬。
帶寬控制器可以被配置為:在預(yù)先確定的時(shí)間段之后確定針對(duì)表面重構(gòu)信道和視頻信道的短期帶寬容量估計(jì)和長期帶寬容量估計(jì);以及基于針對(duì)表面重構(gòu)信道和視頻信道的短期帶寬容量估計(jì)和長期帶寬容量估計(jì)來控制在對(duì)表面重構(gòu)數(shù)據(jù)進(jìn)行編碼和分包之內(nèi)的細(xì)節(jié)級(jí)別的參數(shù)。
帶寬控制器可以被配置為基于針對(duì)表面重構(gòu)信道和視頻信道的短期帶寬容量估計(jì)和長期帶寬容量估計(jì)來分配帶寬以用于對(duì)視頻信道內(nèi)的圖像數(shù)據(jù)以及內(nèi)在/外在捕獲設(shè)備數(shù)據(jù)進(jìn)行編碼和分包。
帶寬控制器還可以被配置為基于ack控制系統(tǒng)來控制表面重構(gòu)分組片段的重新發(fā)送。
用戶設(shè)備還可以包括:未決緩沖器,其用于保留任何表面重構(gòu)數(shù)據(jù)分組的引用直到它們被發(fā)送為止;以及未確認(rèn)緩沖器,其用于一旦任何表面重構(gòu)數(shù)據(jù)分組被發(fā)送則保留分組的引用,其中,帶寬控制器被配置為基于未確認(rèn)緩沖器的窗口大小來限制被發(fā)送的表面重構(gòu)分組。
發(fā)射機(jī)可以被配置為獨(dú)立于接收反饋消息而發(fā)送在未決緩沖器中引用的表面重構(gòu)分組。
一種通信架構(gòu),包括:本文中所描述的用戶設(shè)備;以及另外的用戶設(shè)備,該另外的用戶設(shè)備包括:接收機(jī),其被配置為接收針對(duì)定義共享場景的視頻信道以及與視頻信道內(nèi)的來自圖像捕獲設(shè)備的圖像數(shù)據(jù)相關(guān)聯(lián)的表面重構(gòu)信道的分組;視頻分組提取器,其被配置為從視頻信道內(nèi)提取圖像數(shù)據(jù)以及內(nèi)在/外在捕獲設(shè)備數(shù)據(jù);表面重構(gòu)分組提取器,其被配置為從表面重構(gòu)信道內(nèi)提取表面重構(gòu)數(shù)據(jù)分組;反饋消息生成器,其被配置為至少生成反饋消息以用于對(duì)分配給視頻信道和表面重構(gòu)信道的帶寬進(jìn)行控制。
根據(jù)另外的方面,提供了一種在通信架構(gòu)內(nèi)實(shí)現(xiàn)的方法,該方法包括:確定用于創(chuàng)建定義共享場景的視頻信道的來自圖像捕獲設(shè)備的圖像數(shù)據(jù)以及內(nèi)在/外在捕獲設(shè)備數(shù)據(jù);確定與來自圖像捕獲設(shè)備的圖像數(shù)據(jù)相關(guān)聯(lián)的表面重構(gòu)數(shù)據(jù);對(duì)視頻信道內(nèi)的圖像數(shù)據(jù)以及內(nèi)在/外在捕獲設(shè)備數(shù)據(jù)進(jìn)行編碼和分包;對(duì)表面重構(gòu)信道內(nèi)的表面重構(gòu)數(shù)據(jù)進(jìn)行編碼和分包;發(fā)送視頻信道分組和表面重構(gòu)信道分組;以及對(duì)分配給視頻信道和表面重構(gòu)信道的帶寬進(jìn)行控制。
對(duì)分配給視頻信道和表面重構(gòu)信道的帶寬進(jìn)行控制可以包括:確定初始帶寬容量;以及在表面重構(gòu)信道與視頻信道之間均等地劃分初始帶寬。
對(duì)分配給視頻信道和表面重構(gòu)信道的帶寬進(jìn)行控制可以包括:在預(yù)先確定的時(shí)間段之后確定針對(duì)表面重構(gòu)信道和視頻信道的短期帶寬容量估計(jì)和長期帶寬容量估計(jì);基于針對(duì)表面重構(gòu)的長期帶寬容量估計(jì)來對(duì)分配給表面重構(gòu)信道的帶寬進(jìn)行控制包括:基于針對(duì)表面重構(gòu)信道和視頻信道的短期帶寬容量估計(jì)和長期帶寬容量估計(jì)來控制在對(duì)表面重構(gòu)數(shù)據(jù)進(jìn)行編碼和分包之內(nèi)的細(xì)節(jié)級(jí)別的參數(shù)。
對(duì)分配給視頻信道的帶寬進(jìn)行控制可以包括:基于針對(duì)表面重構(gòu)信道和視頻信道的短期帶寬容量估計(jì)和長期帶寬容量估計(jì)來分配帶寬以用于對(duì)視頻信道內(nèi)的圖像數(shù)據(jù)以及內(nèi)在/外在捕獲設(shè)備數(shù)據(jù)進(jìn)行編碼和分包。
對(duì)分配給視頻信道和表面重構(gòu)信道的帶寬進(jìn)行控制還可以包括基于ack控制系統(tǒng)來控制表面重構(gòu)分組片段的重新發(fā)送。
該方法還可以包括:維護(hù)未決緩沖器,其用于保留任何表面重構(gòu)數(shù)據(jù)分組的引用直到它們被發(fā)送為止;以及維護(hù)未確認(rèn)緩沖器,其用于一旦任何表面重構(gòu)數(shù)據(jù)分組被發(fā)送則保留分組的引用,其中,對(duì)分配給視頻信道和表面重構(gòu)信道的帶寬進(jìn)行控制包括基于未確認(rèn)緩沖器的窗口大小來限制被發(fā)送的表面重構(gòu)分組。
根據(jù)第三方面,可以提供一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品被實(shí)施在非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)上,并且被配置為使得當(dāng)在共享場景架構(gòu)內(nèi)的協(xié)議端點(diǎn)實(shí)體的處理器上被執(zhí)行時(shí)進(jìn)行以下操作:確定用于創(chuàng)建定義共享場景的視頻信道的來自圖像捕獲設(shè)備的圖像數(shù)據(jù)以及內(nèi)在/外在捕獲設(shè)備數(shù)據(jù);確定與來自圖像捕獲設(shè)備的圖像數(shù)據(jù)相關(guān)聯(lián)的表面重構(gòu)數(shù)據(jù);對(duì)視頻信道內(nèi)的圖像數(shù)據(jù)以及內(nèi)在/外在捕獲設(shè)備數(shù)據(jù)進(jìn)行編碼和分包;對(duì)表面重構(gòu)信道內(nèi)的表面重構(gòu)數(shù)據(jù)進(jìn)行編碼和分包;發(fā)送視頻信道分組和表面重構(gòu)信道分組;以及對(duì)分配給視頻信道和表面重構(gòu)信道的帶寬進(jìn)行控制。
盡管已經(jīng)以特定于結(jié)構(gòu)特征和/或方法行為的語言描述了主題,但是應(yīng)當(dāng)理解,在所附權(quán)利要求中限定的主題并非必須限于上面所描述的特定特征或行為。相反,上面所描述的特定特征和行為作為實(shí)現(xiàn)權(quán)利要求的示例形式公開。