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