隨著AR/VR的興起,人們暢想的一個用例是足不出戶就能身臨其境地參加各種活動,比如說音樂會。對于所述情景,可以在音樂會現場使用多臺攝像設備來錄制內容并生成XR環境。以這種方式,即便沒有親自出席,AR/VR用戶都可以通過相關體驗來獲得一種身臨其境的感覺。但由于網絡和處理能力等多方面的限制,如何有效交付多攝像頭內容成為了廠商需要解決的一個問題。
在名為“Efficient delivery of multi-camera interactive content”的專利申請中,蘋果就介紹了一種用于更有效傳送多攝像頭交互式內容的方法和系統。
在各種實施例中,在物理環境中捕獲內容的錄制設備可以確定其在物理環境中的位置,并在可用于流式傳輸錄制內容的清單中對其位置進行編碼。然后,基于錄制內容呈現XR環境的設備可以使用編碼位置來確定是否基于用戶在XR環境中查看內容的位置來流式傳輸錄制內容。
以音樂會作為示例,如果用戶嘗試在XR環境中的音樂會舞臺附近位置查看內容,則呈現設備可以下載于音樂會舞臺附近錄制的內容,因為所述內容可能與用戶的當前視場相關。作為對比,在遠離音樂會舞臺位置所錄制的內容可能與用戶的當前視場無關,所以呈現設備可以基于所述內容的編碼位置來確定不下載內容。
在一個實施例中,錄制設備同時可以在錄制內容時確定其姿勢,并在清單中對姿勢進行編碼,以便呈現設備可以確定錄制設備在物理環境中的方向,以便確定其是否與用戶的視場相關。例如,當錄制設備的姿勢指向舞臺時,若用戶選擇的位置朝向音樂會觀眾席,則錄制內容可能與用戶的視場不太相關。
簡單來說,蘋果構思的方法是:活動現場有多臺攝像頭錄制內容。對于XR頭顯體驗,可以確定用戶在XR環境中的位置和方向;接下來,選擇與之最為匹配的機位所錄制的內容;然后,頭顯下載并呈現基于所述機位錄制內容渲染的沉浸式體驗。所以,這種選擇性下載和處理機位錄制內容,而不是完整下載和處理所有機位錄制內容能夠有效交付多攝像頭交互是內容。
蘋果指出,能夠根據物理環境中錄制設備的編碼位置和姿勢來快速智能地確定用于顯示的錄制內容,這可以幫助XR設備大大減少流式傳輸的內容量,從而節省寶貴的網絡帶寬。
圖1示出了內容遞送系統10。在所示實施例中,系統10包括多個攝像頭110A-C、存儲器120和呈現設備130。攝像頭110可以包括編碼器112。存儲器120可以包括清單122A-C和視頻片段124A-C。呈現設備130可以包括流式應用132。
攝像頭110可以從空間100內的不同位置錄制物理環境的內容,例如音樂會場館。攝像頭110可以放置在音樂會場館不同的位置,以從不同的角度實時捕獲流媒體內容。為了便于將物理環境中錄制的內容分發到呈現相應XR環境的設備,攝像頭110可各自使用相應的編碼器112。
編碼器112可以包括一個或多個視頻和/或音頻編解碼器,并用于以各種格式和質量級別生成編碼內容118。為了便于生成相應的XR環境,編碼器112可以確定攝像頭110的一個或多個位置114和姿勢116,并將所述信息編碼到內容118中,以便于流媒體設備選擇內容。
在各種實施例中,位置114是攝像頭110在物理環境中錄制內容時的位置。例如在所示實施例中,可以使用在空間100內定義的笛卡爾坐標X、Y和Z來指定位置114。在各種實施例中,姿勢116是攝像頭110在物理環境中錄制內容時的姿勢/方向。
由于給定攝像頭110可以隨時間改變其位置114或姿勢116,攝像頭110可以對多個位置114和/或姿勢116以及多個參考時間進行編碼,以指示攝像頭110所在的位置及其在給定時間點的當前姿勢。參考時間同時可以基于攝像頭110之間共享的公共時間參考,以便能夠確定一個編碼內容118的錄制時間相對于另一個編碼內容118的錄制時間。
在各種實施例中,存儲器120配置為存儲從攝像頭110A-110C接收的編碼內容118A-C,并促進對編碼內容118進行流式傳輸。存儲器120可以以清單122和相應視頻片段124的形式存儲編碼內容118。在各種實施例中,清單122包括關于每個視頻片段124的元數據,以便接收器可以選擇適當的視頻片段124。
在各種實施例中,諸如頭戴式顯示器的呈現設備130配置為向用戶呈現基于攝像頭110編碼內容118相對應的沉浸式環境。
圖2描繪了編碼內容134的選擇200。在所示示例中,流媒體應用132正在從由攝像頭110創建的三組編碼內容118中執行選擇200。具體而言,由攝像頭110A產生的視頻片段124A可以描繪第一幀212A中的內容,由攝像頭110B產生的視頻片段124B可以描繪第二幀212B中的內容,而由攝像頭110C產生的視頻片段124C可以描繪第三幀212C中的內容。如圖所示,選擇200可以從流媒體應用132下載清單122并確定位置202和姿勢204。
在各種實施例中,位置202是頭顯設備用戶在XR環境中查看內容時的位置。姿勢204是用戶在XR環境中查看內容時的姿勢。
基于位置202和姿勢204,流媒體應用132可以讀取清單122以識別視頻片段124的位置114和姿勢116,以確定哪個視頻片段124與用戶的當前視場相關。
在一個示例中,流媒體應用132可以確定幀212A-C都與用戶的當前視場相關。但基于所描繪的位置202和姿勢204,流媒體應用132可以確定幀212C位于幀212A或幀212B后面,從而確定下載視頻片段124A或124B,而不下載視頻片段124C。
當用戶的當前位置202和/或姿勢204改變時,流媒體應用132可以確定停止流式傳輸由一個攝像頭錄制的內容,并轉而流式傳輸由另一個攝像頭所錄制的內容。例如,如果用戶沿著姿勢204的路徑向前移動到音樂會舞臺,這時幀212A和212B將位于用戶當前視場的后面,但幀212C依然直接位于視圖的前面。所以,流媒體應用132可以開始下載對應于幀212C的視頻片段124C,但停止下載分別對應于幀212A和212B的段124A和124B。類似地,如果用戶保持在相同的位置202但改變姿勢204,這時幀212A-C不再在用戶的當前視場中,則流媒體應用132可以停止下載視頻片段124A-C。
在一個實施例中,流媒體應用132可以進一步將多個幀212的內容拼接在一起,以便向用戶呈現連續視圖。如圖所示,流應用132可以根據清單122并基于用戶的當前視場,確定幀212B可以部分地與幀212A重疊。在幀212A沒有完全占據用戶的當前視場的情況下,流應用132可以決定依然使用幀212A作為主幀,然后使用幀212B(假設它能夠提供一定的缺失內容)作為補丁幀,使得補丁部分214A與主幀212A結合以產生連續視圖。然而,幀212B的重疊部分214B可以丟棄。在幀212A和212B沒有實時流傳輸的情況下,流媒體應用132可以讀取清單122中包括的參考時間,以便幀212A和212B是在重疊的時間幀期間所創建,亦即可以拼接在一起。
圖4示出了呈現設備130中的組件框圖。在所示實施例中,呈現設備130包括一個或多個用戶輸入設備410、姿勢傳感器420、包括內容預測器430的流媒體應用132、顯示器440、揚聲器450。
在各種實施例中,用戶輸入設備410配置為從用戶收集信息,以便確定用戶在XR環境中的位置202。例如,當體驗開始時,用戶的查看位置202最初可以設置為某個默認位置202。然后,用戶可能想要改變位置202,并向用戶輸入設備410提供相應的輸入,以使位置202改變。例如,在用戶輸入設備410包括搖桿的實施例中,用戶可以向前推動搖桿,以向前移動查看位置202。
在各種實施例中,姿勢傳感器420配置為從用戶收集信息,以便確定用戶在XR環境中的姿勢204。姿勢傳感器420可以包括基于當前頭部位置和眼睛位置確定用戶姿勢204的頭部姿勢傳感器和眼動追蹤傳感器。在一個實施例中,姿勢傳感器420可對應于前面討論的用戶輸入設備410。例如,用戶可以通過向前或向后推動搖桿來調整姿勢204。
如上所述,流媒體應用132可以考慮用戶的位置202和姿態204來選擇用于呈現的編碼內容134。在所示的實施例中,流媒體應用132可以通過向存儲器120發送請求432以流式傳輸由攝像頭110錄制的內容,從而啟動其與存儲器120的交換并獲得所選內容134。響應于請求432,流媒體應用132可以接收一個或多個可用于流式傳輸由攝像頭110錄制的內容134的清單122。
基于在清單中標識的攝像頭110的位置114和姿勢116,流媒體應用132可以向存儲器120發送請求434,以提供基于位置202和姿勢204所選擇的錄制內容118的視頻片段124。
在一個實施例中,流媒體應用132可以基于預測器430的預測來進一步發送針對視頻片段124的請求434。其中,預測器430可以基于未來位置202和204預測可能需要視頻片段124。然后,流媒體應用132可以從存儲器120接收請求的視頻片段124并進行相應的處理,以產生經由顯示器440呈現的相應XR視圖436和經由揚聲器450呈現的相應XR音頻438。
在各種實施例中,預測器430追蹤位置202和姿勢204信息的先前歷史,并嘗試使用諸如線性回歸的機器學習算法來推斷未來的位置202和姿勢204。在一個實施例中,預測器430的推斷可以基于正在流式傳輸的基礎內容的屬性。例如,如果用戶正在查看內容,并且已知一個項目將出現在可能會引起用戶注意的內容中,例如爆炸,這時預測器430可以假設用戶可能改變位置202和/或姿勢204來查看所述項目,例如爆炸。在其他實施例中,可以使用其他技術來預測未來內容118,以便從存儲器120中進行選擇。
圖5A示出了第一計算設備110執行的方法500,第一計算設備可以是攝像頭。在步驟505,第一計算設備錄制第一計算設備所在的物理環境的內容。在各種實施例中,內容可交付給第二計算設備,所述第二計算設備可以是頭戴式攝像頭。。
在步驟510,第一計算設備確定第一計算設備在物理環境中的位置(例如位置114)和姿勢(例如姿勢116)和/或確定第一計算設備錄制內容時的參考時間(例如參考時間332)。
在步驟515,第一計算設備對清單中的位置進行編碼,清單可用于將第一計算設備錄制的內容流式傳輸到第二計算設備。在各種實施例中,編碼位置可由第二計算設備用于確定是否流式傳輸由第一計算設備錄制的內容。在一個實施例中,第一計算設備同時對清單中的姿勢進行編碼,編碼后的姿勢可由第二計算設備使用,以確定在呈現相應環境的同時是否基于第二計算設備的姿勢來流傳輸由第一計算設備錄制的內容。在一個實施例中,第一計算設備同時對清單中的參考時間進行編碼,所述參考時間可由所述第二計算設備使用,以便其將所述第一計算設備錄制的內容與所述一個或多個附加計算設備錄制的內容拼接在一起,從而呈現相應的沉浸式環境。
相關專利:Apple Patent | Efficient delivery of multi-camera interactive content
名為“Efficient delivery of multi-camera interactive content”的蘋果專利申請最初在2021年5月提交,并在日前由美國專利商標局公布。