用于沉浸式和交互式多媒體生成的系統和方法
【專利摘要】本發明公開一種設備。所述設備包括光學感測系統,其包括至少一個相機,所述至少一個相機被配置為獲取物理環境的圖像。所述設備還包括處理系統。所述處理系統包括取向和位置確定模塊,其被配置為從所述圖像檢測顯著特征,并且基于所述所檢測到的顯著特征確定所述設備相對于所述物理環境的取向和/或位置變化。所述處理系統還包括渲染模塊,其被配置為基于所述圖像和所述設備的所述所確定的取向和/或位置變化來確定所述物理環境的渲染,并且將與所述物理環境的所述渲染有關的數據提供給顯示系統。
【專利說明】用于沉浸式和交互式多媒體生成的系統和方法
[0001]相關申請的交叉引用
[0002]本申請要求2014年10月24日提交的美國第62/068,423號臨時申請的權益,在此通過援引的方式并入本申請。
技術領域
[0003]本公開涉及人機交互的技術領域,并且具體地,涉及沉浸式和交互式多媒體生成。
【背景技術】
[0004]沉浸式多媒體通常包括提供與環境有關的多媒體數據(以音頻和視頻的形式),其使得接收多媒體數據的人員能夠具有身在那個環境中的體驗。沉浸式多媒體的生成通常是交互式的,使得提供給人員的多媒體數據能夠基于(例如)人員的物理位置、人員所執行的活動等來自動更新。交互式沉浸式多媒體能夠通過(例如)使得體驗更逼真來改進用戶體驗。
[0005]存在兩種主要類型的交互式沉浸式多媒體。第一種類型是虛擬現實(VR),其中多媒體數據復制模擬在(例如)真實世界或想象世界中的各地方處的物理存在的環境。對環境的渲染還反映了用戶所執行的動作,從而使得用戶能夠與環境交互。用戶的動作(例如,身體移動)可通常由運動傳感器來檢測。虛擬現實人工地創建感官體驗,其可包括視覺、聽覺、觸摸等。
[0006]第二種類型的交互式沉浸式多媒體是增強現實(AR),其中多媒體數據包括人員所位于的物理環境的實時圖形圖像以及額外數字信息。額外數字信息通常位于實時圖形圖像之上,但不更改或增強對物理環境的實時圖形圖像的渲染。額外數字信息還可以是虛擬對象的圖像,然而,虛擬對象的圖像通常僅僅位于實時圖形圖像之上,而非混合到物理環境中來創建真實感渲染。對物理環境的渲染還可反映用戶所執行的動作和/或人員的位置以實現交互。用戶的動作(例如,身體移動)可通常通過運動傳感器來檢測,而人員的位置可通過從圖形圖像檢測并跟蹤物理環境的特征來確定。增強現實可復制人員在存在于物理環境中時的一些感官體驗,同時向人員提供額外數字信息。
[0007]當前不存在這樣一種系統,其可提供創建虛擬對象的圖像與物理環境的圖像的逼真混合的虛擬現實與增強現實的組合。此外,盡管當前增強現實系統可復制用戶的感官體驗,但此類系統通常無法增強用戶的感知能力。
【發明內容】
[0008]本公開的實施例的其他方面和優點將部分地在以下詳細描述中進行陳述,并且部分地將從所述描述內容看出,或者可通過本公開實施例的實踐來認識到。
[0009]根據一些實施例,一種設備包括光學感測系統,所述光學感測系統包括至少一個相機,所述至少一個相機被配置為獲取物理環境的圖像。所述設備還包括處理系統。所述處理系統包括取向和位置確定模塊,其被配置為從所述圖像檢測顯著特征,并且基于所檢測到的顯著特征確定設備相對于物理環境的取向和/或位置變化。處理系統還包括渲染模塊,其被配置為基于圖像和設備的所確定的取向和/或位置變化來確定物理環境的渲染,并且將與物理環境的渲染有關的數據提供給顯示系統。
[0010]根據一些實施例,所述光學感測系統包括第一相機和第二相機,所述第一相機被配置為獲取所述物理環境的第一圖像,并且所述第二相機被配置為獲取所述物理環境的第二圖像。所述取向和位置確定模塊被配置為當所述設備在所述物理環境中處于第一位置時,從所述第一圖像和第二圖像檢測第一顯著特征,確定與所述第一顯著特征相關聯的第一組坐標,當所述設備在所述物理環境中處于第二位置時,從所述第一圖像和第二圖像檢測第二顯著特征,確定與所述第二顯著特征相關聯的第二組坐標,并且響應于確定所述第一顯著特征和第二顯著特征彼此對應,基于所述第一組和第二組坐標來確定所述設備相對于所述物理環境的取向和/或位置變化。所述渲染模塊被配置為基于所述第一圖像和第二圖像并且基于所述設備的所述所確定的取向和/或位置變化來確定所述物理環境的立體渲染。根據一些實施例,所述第一相機和第二相機中的每一者包括紅-綠-藍-紅夕KRGB-1RMf素傳感器。
[0011 ]根據一些實施例,所述光學感測系統包括第一相機、第二相機和反射鏡,所述第一相機被配置為獲取紅外(IR)圖像,所述第二相機被配置為獲取紅-綠-藍(RGB)圖像,并且所述反射鏡被配置為將IR光反射離開所述第二相機并且將所述IR圖像與所述RGB圖像對齊。在一些實施例中,所述第一相機是飛行時間相機。在一些實施例中,所述第一相機是IR相機。
[0012]根據一些實施例,所述光學感測系統包括IR照明器,其被配置為將一個或多個圖案投射到所述物理環境中;其中所述所檢測到的顯著特征包括所述一個或多個圖案。
[0013]根據一些實施例,所述處理系統還包括手勢確定模塊,其被配置為從所述圖像檢測手勢,并且確定與所述手勢相關聯的用戶指令。所述渲染模塊被配置為基于所述所確定的用戶指令確定所述物理環境的所述渲染。在一些實施例中,所述手勢確定模塊被配置為確定所述用戶指令與被渲染的對象的選擇相關聯;并且所述渲染模塊被配置為基于所述用戶指令確定所述對象的所述渲染的變化。在一些實施例中,所述對象是虛擬對象。在一些實施例中,所述對象是存在于所述物理環境中的物理對象。
[0014]根據一些實施例,所述渲染模塊被配置為在所述物理環境的所述渲染中將虛擬對象的圖像與位于所述物理環境中的物理對象的圖像混合;其中所述混合是基于與所述虛擬對象相關聯的第一組坐標和與所述物理對象相關聯的第二組坐標。在一些實施例中,所述混合包括與所述虛擬對象相關聯的音頻數據和源自所述物理環境的音頻信號的渲染。
[0015]根據一些實施例,所述設備還包括被配置為連接到智能電話的連接器。在一些實施例中,所述智能電話包括所述處理系統的至少一部分。在一些實施例中,所述智能電話被配置為提供附加內容;并且所述渲染模塊被配置為基于所述圖像和所述附加內容確定所述物理環境的渲染。
【附圖說明】
[0016]現將參考附圖,附圖示出了本申請的實例性實施例,并且在附圖中:
[0017]圖1是可用以實施本公開的實施例的示例性計算裝置的框圖。
[0018]圖2A至2B是根據本公開實施例的示出沉浸式多媒體生成的示例性渲染的圖解。
[0019]圖3是根據本公開實施例的用于沉浸式和交互式多媒體生成的示例性系統的框圖。
[0020]圖4A至4E是根據本公開實施例的用于支持沉浸式和交互式多媒體生成的示例性相機系統的不意圖。
[0021]圖5是根據本公開實施例的用于感測相機的位置和姿勢以支持沉浸式和交互式多媒體生成的示例性方法的流程圖。
[0022]圖6是根據本公開實施例的用于基于手勢更新多媒體渲染的示例性方法的流程圖。
[0023]圖7A至7B是根據本公開實施例的將3D虛擬對象的圖像混合到物理環境的實時圖形圖像中的圖解。
[0024]圖8是根據本公開實施例的用于將3D虛擬對象的圖像混合到物理環境的實時圖形圖像中的示例性方法的流程圖。
[0025]圖9A至9B是示出根據本公開實施例的示例性頭戴式交互式沉浸式多媒體生成系統的示意圖。
【具體實施方式】
[0026]下面將詳細參考實施例,并參考附圖描述示例性實施例。盡可能地,附圖通篇將使用相同參考標號來指代相同或相似部分。
[0027]實施例的描述僅僅是示例性的,并非出于限制目的。
[0028]圖1是可用以實施本公開的實施例的示例性計算裝置100的框圖。如圖1所示,計算裝置100包括處理器121和主存儲器122。處理器121可為對從主存儲器122取出的指令做出響應并進行處理的任何邏輯電路。處理器221可為單個或多個通用微處理器、現場可編程門陣列(FPGA)或數字信號處理器(DSP),其能夠執行存儲在存儲器(例如,主存儲器122)中的指令,或專用集成電路(ASIC),使得處理器221被配置為執行特定任務。
[0029]存儲器122包括有形和/或非暫態計算機可讀媒體,諸如軟盤、硬盤、CD-ROM(緊致磁盤只讀存儲器)、M0(磁光)驅動器、DVD-ROM(數字多用磁盤只讀存儲器)、DVD-RAM(數字多用磁盤隨機存取存儲器)、快閃驅動器、快閃存儲器、寄存器、高速緩沖存儲器或半導體存儲器。主存儲器122可為一個或多個存儲器芯片,其能夠存儲數據并且允許處理器121直接訪問任何存儲位置。主存儲器122可為任何類型的隨機存取存儲器(RAM),或能夠如本文所述那樣操作的任何其它可用存儲器芯片。在圖1所示的示例性實施例中,處理器121經由系統總線150與主存儲器122通信。
[0030]計算裝置100還可包括存儲裝置28,諸如一個或多個硬盤驅動器,其用于存儲操作系統和其它相關軟件,用于存儲應用軟件程序,并且用于存儲待由應用軟件程序使用的應用程序數據。例如,應用程序數據可包括多媒體數據,而軟件可包括被配置為渲染多媒體數據的渲染引擎。軟件程序可包括一個或多個指令,其可從存儲裝置128取出到存儲器122以由處理器121處理。軟件程序可包括不同的軟件模塊,其可包括,舉例來說,部件(諸如軟件部件、面向對象的軟件部件、類部件和任務部件)、進程、函數、字段、程序、子例程、程序代碼片段、驅動程序、固件、微代碼、電路、數據、數據庫、數據結構、表、陣列和變量。
[0031]通常,這里使用的“模塊”一詞,是指硬件或固件實現的邏輯,或者以編程語言寫成的可能具有入口和出口點的軟件指令集合,所述編程語言例如Java,Lua,C或C++。軟件模塊可以被編譯并鏈接到一個可執行程序中,安裝在動態鏈接庫中,或寫入解釋的編程語言,例如BASIC,Perl或Python。應當理解,軟件模塊可以從其他模塊或從其本身被調用,和/或可以響應于檢測到的事件或中斷來調用。配置為執行在計算設備上的軟件模塊可提供于一種計算機可讀介質上,諸如光盤、數字視頻盤、閃存驅動器、磁盤,或任何其他有形介質,或者作為數字下載(可以以在執行前需要安裝、解壓縮、或解密的壓縮或可安裝的格式的形式來原始存儲)。這樣的軟件代碼可被部分或完全地存儲在執行計算設備的存儲設備上,用于由計算設備執行。軟件指令可嵌入在固件中,諸如EPR0M。將進一步理解的是,硬件模塊(例如,在處理器221是ASIC的情況下),可以包括連接的邏輯單元,例如門和觸發器,和/或可以包括可編程單元,如可編程門陣列或處理器。本文所描述的模塊或計算裝置的功能被優選實現為軟件模塊,但可以以硬件或固件來表示。一般而言,本文所描述的模塊指的是可與其它模塊組合或者被分為子模塊的邏輯模塊,而不考慮其物理組織和存儲器。
[0032]如本文所用的術語“非臨時性的介質”是指任何非臨時性媒體存儲數據和/或指令,其可以導致機器以特定方式操作。這樣的非臨時性介質可以包括非易失性介質和/或易失性介質。非易失性介質可包括,例如存儲器128。易失性介質可包括,例如,存儲器122。非臨時性介質的常見形式包括,例如,軟盤,柔性盤,硬盤,固態驅動器,磁帶,或任何其它磁性數據存儲介質,CD-ROM,任意其它光學數據存儲介質,任意孔形圖案的行物理介質,RAM,PR0M、EPR0M,FLASH-EPR0M,NVRAM,任意其它存儲器芯片或盒,及其聯網形式。
[0033]計算裝置100還可包括一個或多個輸入裝置123和一個或多個輸出裝置124。輸入裝置123可包括,例如,相機、麥克風、運動傳感器等,而輸出裝置124可包括,例如,顯示單元和揚聲器。輸入裝置123和輸出裝置124兩者通過I/O控制器125連接到系統總線150,從而使得處理器121能夠與輸入裝置123和輸出裝置124通信。處理器121與輸入裝置123和輸出裝置124之間的通信可由(例如)執行從存儲器122取出的指令的處理器121來執行。
[0034]在一些實施例中,處理器121還可經由I/O控制125與一個或多個智能裝置130通信。智能裝置130可包括具有處理和生成多媒體數據的能力的系統(例如,智能電話)。在一些實施例中,處理器121可從輸入裝置123接收數據,將數據取出到智能裝置130用于處理,從智能裝置130接收作為處理結果的多媒體數據(以例如音頻信號、視頻信號等的形式),并且接著將多媒體數據提供給輸出裝置124。在一些實施例中,智能裝置130可充當多媒體內容源并且將與多媒體內容有關的數據提供給處理器121。處理器121可接著添加從智能裝置130接收的多媒體內容以輸出待提供給輸出裝置124的數據。處理器121與智能裝置130之間的通信可由,例如,執行從存儲器122取出的指令的處理器121實施。
[0035]在一些實施例中,計算裝置100可被配置為生成交互式和沉浸式多媒體,包括虛擬現實、增強現實或兩者的組合。例如,存儲裝置128可存儲用于渲染圖形圖像的多媒體數據和用于產生虛擬現實體驗的音頻效果,并且處理器121可被配置為通過輸出裝置124提供多媒體數據的至少一部分以產生虛擬現實體驗。處理器121還可接收從輸入裝置123(例如,運動傳感器)接收的數據,所述數據使得處理器121能夠確定,例如,用戶的位置的變化、用戶所執行的動作(例如,身體移動)等。處理器121可被配置為基于所述確定來通過輸出裝置124渲染多媒體數據,以便為用戶創建交互式體驗。
[0036]此外,計算裝置100還可被配置為提供增強現實。例如,輸入裝置123可包括被配置為捕獲用戶所位于的物理環境的圖形圖像的一個或多個相機,以及被配置為從物理環境捕獲音頻信號的一個或多個麥克風。處理器121可從相機接收表示所捕獲的圖形圖像和音頻信息的數據。處理器121還可處理表示待提供給用戶的附加內容的數據。附加內容可為,例如,與從物理環境的圖形圖像檢測到的一個或多個對象有關的信息。處理器121可被配置為通過輸出裝置124渲染包括所捕獲的圖形圖像、音頻信息以及附加內容的多媒體數據,以產生增強現實體驗。表示附加內容的數據可存儲在存儲裝置128中,或可由外部源(例如,智能裝置130)提供。
[0037]處理器121還可被配置為通過,例如獲取關于用戶動作的信息來為用戶創建交互式體驗,并且通過輸出裝置124渲染多媒體數據可基于用戶動作來進行。在一些實施例中,用戶動作可包括用戶的位置變化,其可由處理器121基于,例如,來自運動傳感器的數據以及來自圖形圖像的顯著特征的跟蹤來確定。在一些實施例中,用戶動作還可包括手勢,其可由處理器121基于由相機捕獲的手勢的圖像來確定。處理器121可被配置為基于位置信息和/或手勢信息來更新多媒體數據的渲染以創建交互式體驗。在一些實施例中,處理器121還可被配置為通過,例如,基于用戶的手勢放大到物理環境中的特定位置、增大源自那個特定位置的音頻信號的音量等來更新多媒體數據的渲染以增強用戶的感知能力。
[0038]現在參考圖2A和2B,其示出根據本公開實施例的用于提供增強現實的示例性多媒體渲染200a和200b。如圖2A和2B所示,渲染200a和200b反映用戶所位于的物理環境的圖形表示。在一些實施例中,渲染200a和200b可由計算裝置100的處理器221基于由一個或多個相機(例如,輸入裝置123)捕獲的圖形圖像來構造。處理器221還可被配置為從圖形圖像檢測手勢,并且更新渲染以包括與手勢有關的附加內容。作為說明性實例,如圖2A和2B所示,渲染200a和200b可分別包括表示手勢創建所涉及的手指的移動的虛線204a和204b。在一些實施例中,所檢測到的手勢可觸發圖形圖像的額外處理以增強用戶的感知能力(例如,視覺)。作為說明性實例,如圖2A所示,在渲染200a中所渲染的物理環境包括對象204。對象204可基于第一手勢的檢測和創建第一手勢的手指的移動(例如,如虛線202a指示)之間的重疊來選擇。所述重疊可基于,例如,表示物理環境的3D圖中的虛線202a的3D坐標與對象204的3D坐標之間的關系來確定。
[0039]在選擇對象204之后,用戶可提供第二手勢(如虛線202b所指示),其也可由處理器221檢測。處理器221可基于在時間和空間上緊挨發生的兩個手勢的檢測來確定第二手勢將指示處理器221在物理環境的渲染中提供對象204的放大且夸大的圖像。這可導致渲染200b,其中連同用戶所位于的物理環境一起渲染表示對象204的放大且夸大的圖像的圖像206。通過向用戶提供對象的夸大圖像,從而允許用戶感知比他或她將用裸眼在物理環境內的同一位置處所感知的細節多的關于對象的細節,可增強用戶的感官能力。
[0040]在一些實施例中,對象204還可為插入在物理環境的渲染中的虛擬對象,并且圖像206可為響應于對象204的選擇和由虛線202b表示的手勢的檢測而提供的任何圖像(或僅僅是疊加在物理環境的渲染之上的文字)。
[0041]返回參看圖1,在一些實施例中,計算裝置100還可包括網絡接口 140以通過多種鏈路介接到LAN、WAN、MAN或因特網,所述鏈路包括但不限于標準電話線、LAN或WAN鏈路(例如,802.11、T1、T3、56kb、X.25)、寬帶鏈路(例如,ISDN、幀中繼、ATM)、無線連接(W1-F1、藍牙、Z-Wave、Zigbee)或上述任何或全部鏈路的某種組合。網絡接口 140可包括內置網絡適配器、網絡接口卡、PCMCIA網絡卡、卡總線網絡適配器、無線網絡適配器、USB網絡適配器、調制解調器或適于將計算裝置100介接到能夠通信并且執行本文所述的操作的任何類型的網絡的任何其它裝置。在一些實施例中,處理器121可經由網絡接口 140將所生成的多媒體數據不僅傳輸到輸出裝置124,而且還傳輸到其它裝置(例如,另一個計算裝置100)。
[0042]圖3是根據本公開實施例的用于沉浸式和交互式多媒體生成的示例性系統300的框圖。如圖3所示,系統300包括感測系統310、處理系統320、音頻/視頻系統330和供電系統340。在一些實施例中,系統300的至少一部分是用圖1的計算裝置100來實施的。
[0043]在一些實施例中,感測系統310被配置為提供用于生成交互式和沉浸式多媒體的數據。感測系統310包括圖像感測系統312、音頻感測系統313和運動感測系統314。
[0044]在一些實施例中,光學感測系統312可被配置為接收從物理環境反射或發射的各種波長的光(包括可見光和不可見光兩者)。在一些實施例中,光學感測系統312包括例如一個或多個灰度紅外(灰度IR)相機、一個或多個紅-綠-藍(RGB)相機、一個或多個RGB-1R相機、一個或多個飛行時間(TOF)相機或其組合。基于相機的輸出,系統300可獲取物理環境的圖像數據(例如,以RGB像素和IR像素的形式表示)。光學感測系統312可包括一對相同的相機(例如,一對RGB相機、一對IR相機、一對RGB-1R相機等),其中每個相機捕獲左眼或右眼的視點。正如下文將論述,每個相機所捕獲的圖像數據可接著由系統300組合以創建物理環境的立體3D渲染。
[0045]在一些實施例中,光學感測系統312可包括被配置為照明對象的IR投影儀。所述照明可用以支持測距成像,所述測距成像使得系統300能夠還基于立體匹配算法來確定物理環境中的相機與對象的不同部分之間的距離。基于所述距離信息,可創建對象的三維(3D)深度圖以及物理環境的3D圖。正如下文將論述,對象的深度圖可用以創建表示對象的3D點云;如RGB相機所捕獲的對象的RGB數據可接著被映射到3D點云以創建對象的3D渲染以用于產生虛擬現實和增強現實效果。另一方面,物理環境的3D圖可用于位置和取向確定以創建交互式體驗。在一些實施例中,還可包括飛行時間相機用于測距成像,所述測距成像允許確定相機與對象的各種部分之間的距離,并且可基于所述距離信息來創建物理環境的深度圖。
[0046]在一些實施例中,IR投影儀還被配置為將某些圖案(例如,條形碼、拐角圖案等)投射到物理環境的一個或多個表面上。正如下文將論述,用戶的運動(如相機的運動所反映)可通過跟蹤由相機捕獲的各種顯著特征點來確定,并且已知圖案的投射(其接著由相機捕獲并且由系統跟蹤)實現高效且穩健的跟蹤。
[0047]現在參看圖4A至4F,其是分別示出根據本公開實施例的示例性相機系統400、420、440、460、480和494的示意圖。圖4A至4F的每個相機系統可為圖3的光學感測系統312的一部分。
[0048]如圖4A所示,相機系統400包括RGB相機402、IR相機404和IR照明器406,其全部附接到板408上。如上文論述,RGB相機402被配置為捕獲RGB圖像數據,IR相機404被配置為捕獲IR圖像數據,而IR相機404與IR照明器406的組合可用以創建正被成像的對象的深度圖。如前文論述,在對象的3D渲染期間,可將RGB圖像數據映射到從深度圖創建的對象的3D點云表示。然而,在一些情況下,由于RGB相機與IR相機之間的位置差異,并不是可將RGB圖像數據中的所有RGB像素均映射到3D點云。因而,可在對象的3D渲染中引入不精確性和偏差。
[0049]圖4B示出相機系統420,所述相機系統420包括RGB-1R相機422和IR照明器424,其全部附接到板426上。RGB-1R相機442包括RGB-1R傳感器,其包括聯合在一起以形成像素群組的RGB像素傳感器和IR像素傳感器。在RGB像素傳感器和IR像素傳感器大體上位于共同位置的情況下,可消除RGB傳感器與IR傳感器之間的位置差異的上述影響。然而,在一些情況下,由于RGB光譜的一部分與IR光譜的一部分的重疊,使RGB像素傳感器和IR像素傳感器位于共同位置可導致RGB像素傳感器的顏色產生以及RGB像素傳感器所產生的彩色圖像品質的降級。
[0050]圖4C示出相機系統440,所述相機系統440包括IR相機442、RGB相機444、反射鏡446和IR照明器448,其全部附接到板450上。在一些實施例中,反射鏡446是半透明的,其具有IR反射涂層452。在光(包括可見光和由IR照明器448照明的對象所反射的IR光)入射在反射鏡446上時,IR光可由反射鏡446反射并且由IR相機442捕獲,而可見光可穿過反射鏡446并且由RGB相機444捕獲。IR相機442、RGB相機444和反射鏡446可被定位成使得IR相機442所捕獲的IR圖像(由IR反射涂層的反射造成)和RGB相機444所捕獲的RGB圖像(來自穿過反射鏡446的可見光)可被對齊以消除IR相機442與RGB相機444之間的位置差異的影響。此外,由于IR光被反射離開RGB相機444,所以可改進RGB相機444所產生的彩色產品以及彩色圖像品質。[0051 ] 圖4D示出相機系統460,所述相機系統460包括RGB相機462、T0F相機464和IR照明器466,其全部附接到板468上。類似于相機系統400、420和440,RGB相機462被配置為捕獲RGB圖像數據。另一方面,TOF相機464和IR照明器406被同步以執行圖像測距,所述圖像測距可用以創建正被成像的對象的深度圖,可從所述深度圖創建對象的3D點云。類似于相機系統400,在一些情況下,歸因于RGB相機與TOF相機之間的位置差異,并不是可將RGB圖像數據中的所有RGB像素均映射到基于TOF相機的輸出來創建的3D點云。因而,可在對象的3D渲染中引入不精確性和偏差。
[0052]圖4E示出相機系統480,所述相機系統480包括TOF相機482、RGB相機484、反射鏡486和IR照明器488,其全部附接到板490上。在一些實施例中,反射鏡486是半透明的,其具有IR反射涂層492。在光(包括可見光和由IR照明器488照明的對象所反射的IR光)入射在反射鏡446上時,IR光可由反射鏡446反射并且由TOF相機482捕獲,而可見光可穿過反射鏡486并且由RGB相機484捕獲。TOF相機482、RGB相機484和反射鏡486可被定位成使得TOF相機442所捕獲的IR圖像(由IR反射涂層的反射造成)和RGB相機484所捕獲的RGB圖像(來自穿過反射鏡486的可見光)可被對齊以消除TOF相機482與RGB相機484之間的位置差異的影響。此夕卜,由于IR光被反射離開RGB相機484,所以還可改進RGB相機484所產生的彩色產品以及彩色圖像品質。
[0053]圖4F示出相機系統494,所述相機系統494包括兩個RGB-1R相機495和496,其中每個相機被配置為模擬人眼的視點。RGB-1R相機495和496的組合可用以生成立體圖像并且生成物理環境中的對象的深度信息,如下文將論述。由于每個相機使RGB像素和IR像素位于共同位置,所以可減輕導致像素映射降級的RGB相機與IR相機之間的位置差異的影響。相機系統494還包括IR照明器497,其具有與上文論述的其它IR照明器類似的功能性。如圖4F所示,RGB-1R相機495和496以及IR照明器497附接到板498。
[0054]返回參看圖3,感測系統310還包括音頻感測系統313和運動感測系統314。音頻感測系統313可被配置為接收源自物理環境的音頻信號。在一些實施例中,音頻感測系統313包括(例如)一個或多個麥克風陣列。運動感測系統314可被配置為檢測用戶(以及系統,如果系統附接到用戶的話)的運動和/或姿勢。在一些實施例中,運動感測系統314可包括(例如)慣性運動傳感器(MU)。在一些實施例中,感測系統310可為圖1的輸入裝置123的一部分。
[0055]在一些實施例中,處理系統320被配置為處理來自光學感測系統312的圖形圖像數據、來自音頻感測系統313的音頻數據和來自運動感測系統314的運動數據,并且生成多媒體數據以用于渲染物理環境來創建虛擬現實和/或增強現實體驗。處理系統320包括取向和位置確定模塊322、手勢確定系統模塊323以及圖形和音頻渲染引擎模塊324。如前文所論述,這些模塊中的每一者可為由處理器(例如,圖1的處理器121)執行的軟件模塊,或被配置為執行特定功能的硬件模塊(例如,ASIC)。
[0056]在一些實施例中,取向和位置確定模塊322可基于感測系統310的至少一些輸出來確定用戶的取向和位置,可基于所述取向和位置來渲染多媒體數據以產生虛擬現實和/或增強現實效果。在系統300由用戶穿戴(例如,護目鏡)的情況下,取向和位置確定模塊322可確定系統的一部分(例如,相機)的取向和位置,其可用以推斷用戶的取向和位置。所確定的取向和位置可相對于在移動發生之前的用戶的先前取向和位置來說。
[0057]現在參看圖5,其是示出根據本公開實施例的用于確定(例如,感測系統310的)一對相機的取向和位置的示例性方法500的流程圖。將容易理解,可更改所示出的程序以刪除若干步驟或進一步包括額外步驟。盡管方法500被描述為由處理器(例如,取向和位置確定模塊322)執行,但應當理解,方法500可由其它裝置單獨執行或結合處理器來執行。
[0058]在步驟502中,處理器可獲得來自第一相機的第一左側圖像和來自第二相機的第一右側圖像。左側相機可為(例如)圖4F的RGB-1R相機495,而右側相機可為例如圖4F的RGB-1R相機496。第一左側圖像可表示來自用戶的左眼的對物理環境的視點,而第一右側圖像可表示來自用戶的右眼的對物理環境的視點。兩個圖像均可為IR圖像、RGB圖像或兩者的組合(例如,RGB-1R)。
[0059]在步驟504中,處理器可從第一左側圖像數據和從右側圖像數據識別一組第一顯著特征點。在一些情況下,顯著特征可為預先存在于物理環境中的物理特征(例如,墻壁上的特定標記、衣服的特征等),并且基于與這些特征相關聯的RGB像素和/或IR像素識別顯著特征。在一些情況下,所述顯著特征可由IR照明器(例如,圖4F的IR照明器497)創建,所述IR照明器將特定IR圖案(例如,圓點)投射到物理環境的一個或多個表面上。所述一個或多個表面可將IR反射回到相機。如前文所論述,那些IR圖案可被設計用于實現高效檢測和跟蹤,諸如均勻分布并且包括銳利的邊緣和拐角。在一些情況下,所述顯著特征可通過放置固定在物理環境內的某些位置處并且在環境內投射IR圖案的一個或多個IR投影儀來創建。
[0060]在步驟506中,處理器可基于用于三角測量的立體約束來從所識別的第一顯著特征查找對應對。所述立體約束可包括(例如)基于立體屬性、偏差容忍限度等來限制每個圖像內的用于對應對第一顯著特征的搜索范圍。對應對的識別可基于候選特征的IR像素、候選特征的RGB像素和/或兩者的組合來進行。在識別一對對應第一顯著特征之后,可確定其在左側圖像和右側圖像內的位置差異。基于所述位置差異和第一相機與第二相機之間的距離,可經由線性三角測量來確定第一顯著特征(在其出現于物理環境中時)與第一相機和第二相機之間的距離。
[0061]在步驟508中,基于通過線性三角測量所確定的第一顯著特征與第一相機和第二相機之間的距離以及第一顯著特征在左側圖像和右側圖像中的位置,處理器可確定第一顯著特征的一個或多個3D坐標。
[0062]在步驟510中,處理器可在表示物理環境的3D圖中添加或更新在步驟508中所確定的第一顯著特征的3D坐標和關于第一顯著特征的信息。所述更新可基于(例如)同時定位與映射算法(SLAM)來執行。所存儲的信息可包括(例如)與第一顯著特征相關聯的IR像素和RGB像素信息。
[0063]在步驟512中,在相機的移動(例如,由攜帶相機的用戶的移動造成)之后,處理器可獲得第二左側圖像和第二右側圖像,并且在所述移動之后從第二左側和右側圖像識別第二顯著特征。所述識別過程可類似于步驟504。正被識別的第二顯著特征與同第二左側圖像相關聯的第一 2D空間和同第二右側圖像相關聯的第二 2D空間內的2D坐標相關聯。
[0064]在步驟514中,處理器可將第一顯著特征的3D坐標(在步驟508中確定的)重新投影到第一 2D空間和第二 2D空間中。
[0065]在步驟516中,處理器可基于(例如)位置接近性、特征接近性和立體約束來識別對應于第一顯著特征的一個或多個第二顯著特征。
[0066]在步驟518中,處理器可確定第一2D空間和第二2D空間中的每一者內的第一顯著特征的重新投影位置與第二顯著特征的2D坐標之間的距離。可接著基于所述距離來確定在移動之前和之后的第一相機和第二相機的相對3D坐標和取向,使得(例如)如此確定的該組3D坐標和取向使第一 2D空間和第二 2D空間兩者中的距離減到最小。
[0067]在一些實施例中,方法500還包括一個步驟(圖5中未示出),其中處理器可執行3D圖中的顯著特征的坐標的光束平差以使左側圖像與右側圖像之間的顯著特征的位置差異減到最小。所述調整可與方法500的任何步驟同時執行,并且可僅對關鍵幀執行。
[0068]在一些實施例中,處理器還可使用來自我們的輸入裝置的數據以促進方法500的執行。例如,處理器可獲得來自一個或多個運動傳感器(例如,運動感測系統314)的數據,處理器可從所述數據確定已經發生相機的運動。基于這個確定,處理器可執行步驟512。在一些實施例中,處理器還可使用來自運動傳感器的數據來促進步驟518中的對相機的位置和取向的計算。
[0069]返回參看圖3,處理系統320還包括手勢確定模塊323。在一些實施例中,手勢確定模塊323可從來自光學感測系統312的圖形圖像數據檢測手勢。所述手勢信息技術與2013年9月23日申請的第14/034,286號美國申請和2014年8月18日申請的第14/462,324號美國申請中所描述的那些技術有關。上文提及的申請以引用的方式并入本文中。如此確定的手勢信息可用以更新物理環境的渲染(圖形和音頻兩者)以提供附加內容且/或增強用戶的感官能力,如前文在圖2A至2B中論述。例如,在一些實施例中,手勢確定模塊323可確定與手勢相關聯的解釋(例如,以選擇用于放大的對象),并且接著將所述解釋和其它相關信息提供給下游邏輯(例如,圖形和音頻渲染模塊324)以更新渲染。
[0070]現在參看圖6,其是示出根據本公開實施例的用于基于所檢測到的手勢更新多媒體渲染的示例性方法600的流程圖。將容易理解,可更改所示出的程序以刪除若干步驟或進一步包括額外步驟。盡管方法600被描述為由處理器(例如,手勢確定模塊323)執行,但應當理解,方法600可由其它裝置單獨執行或結合處理器來執行。
[0071]在步驟602中,處理器可接收來自(例如,光學感測系統312的)一個或多個相機的圖像數據。在相機是灰度IR相機的情況下,處理器可獲得IR相機圖像。在相機是RGB-1R相機的情況下,處理器可獲得IR像素數據。
[0072]在步驟604中,處理器可基于上文所論述的技術從圖像數據確定手勢。所述確定還包括確定手勢的類型(其可指示特定命令)和手指的軌線的3D坐標(在創建手勢的過程中)兩者。
[0073]在步驟606中,處理器可確定與所檢測到的手勢有關的對象,其被渲染為沉浸式多媒體數據的一部分。例如,在手勢發信號通知選擇的情況下,確定正由所述手勢選擇的渲染對象。所述確定可基于3D圖中的手勢的軌線的3D坐標與對象的3D坐標之間的關系,所述關系指示在用戶的角度來看手勢的某個部分與對象的至少一部分重疊。
[0074]在步驟608中,處理器可基于關于步驟604中所確定的手勢和步驟608中所確定的對象的信息來確定更改多媒體數據的渲染。作為說明性實例,基于確定在步驟604中所檢測到的手勢與選擇對象(不管其是位于物理環境中的真實對象,還是插入在渲染中的虛擬對象)用于縮放動作的命令相關聯,處理器可將對象的夸大圖像提供給下游邏輯(例如,圖形和音頻渲染模塊324)用于渲染。作為另一個說明性實例,如果手勢與用于顯示關于對象的額外信息的命令相關聯,則處理器可將所述額外信息提供給圖形和音頻渲染模塊324用于渲染。
[0075]返回參看圖3,基于關于相機的取向和位置的信息(由(例如)取向和位置確定模塊322提供)和關于所檢測到的手勢的信息(由(例如)手勢確定模塊323提供),圖形和音頻渲染模塊324可渲染沉浸式多媒體數據(圖形和音頻兩者)以創建交互式虛擬現實和/或增強現實體驗。各種方法可用于渲染。在一些實施例中,圖形和音頻渲染模塊324可創建與捕獲用于左眼的圖像的第一相機相關聯的第一 3D網格(可為平面的或彎曲的)以及與捕獲用于右眼的圖像的第二相機相關聯的第二 3D網格(也可為平面的或彎曲的)。可將3D網格放置在距相機的特定虛想距離處,并且可確定3D網格的大小以使得其適合相機在那個虛想距離處的視見體的大小。圖形和音頻渲染模塊324可接著將左側圖像(由第一相機獲得)映射到第一 3D網格,并且將右側圖像(由第二相機獲得)映射到第二 3D網格。圖形和音頻渲染模塊324可被配置為在渲染用于左眼的場景時僅顯示第一 3D網格(和映射到其的內容)并且在渲染用于右眼的場景時僅顯示第二 3D網格(和映射到其的內容)。
[0076]在一些實施例中,圖形和音頻渲染模塊324還可使用3D點云執行渲染。如前文所論述,在確定位置和取向期間,可基于IR像素數據確定物理環境內的顯著特征(和相關聯對象)的深度圖。可接著基于深度圖生成物理環境的3D點云。圖形和音頻渲染模塊324可將物理環境的RGB像素數據(例如,由RGB相機或RGB-1R傳感器的RGB像素獲得)映射到3D點云以創建環境的3D渲染。
[0077]在一些實施例中,在3D虛擬對象的圖像將與物理環境的實時圖形圖像混合的情況下,圖形和音頻渲染模塊324可被配置為基于虛擬3D對象和物理環境的深度信息以及相機的位置和取向來確定渲染。現在參看圖7A和7B,其示出根據本公開實施例的將3D虛擬對象的圖像混合到物理環境的實時圖形圖像中。如圖7A所示,環境700包括物理對象702和物理對象706。圖形和音頻渲染模塊324被配置為在渲染環境700時將虛擬對象704插入在物理對象702與物理對象706之間。環境700的圖形圖像由相機708沿著從位置A到位置B的路線710捕獲。在位置A處,物理對象706在渲染環境內相對于虛擬對象704來說較靠近相機708,并且遮蔽虛擬對象704的一部分,而在位置B處,虛擬對象704在渲染環境內相對于物理對象706來說較靠近相機708。
[0078]圖形和音頻渲染模塊324可被配置為基于其深度信息以及相機的位置和取向來確定虛擬對象704和物理對象706的渲染。現在參看圖8,其是示出根據本公開實施例的用于將虛擬對象圖像與物理環境的圖形圖像混合的示例性方法800的流程圖。盡管方法800被描述為由處理器(例如,圖形和音頻渲染模塊324)執行,但應當理解,方法800可由其它裝置單獨執行或結合處理器來執行。
[0079]在步驟802中,處理器可接收與虛擬對象(例如,圖7A的虛擬對象704)的第一圖像的像素相關聯的深度信息。所述深度信息可基于由(例如)圖3的取向和位置確定模塊322確定的相機708的位置和取向來生成。例如,基于3D圖內的虛擬對象的預定位置和那個3D圖中的相機的位置,處理器可確定相機與虛擬對象之間的距離。
[0080]在步驟804中,處理器可確定與物理對象(例如,圖7A的物理對象706)的第二圖像的像素相關聯的深度信息。所述深度信息可基于由(例如)圖3的取向和位置確定模塊322確定的相機708的位置和取向來生成。例如,基于3D圖內的物理對象的先前確定的位置(例如,使用SLAM算法)和那個3D圖中的相機的位置,可確定相機與物理對象之間的距離。
[0081 ] 在步驟806中,處理器可比較兩個像素的深度信息,并且接著在步驟808中,基于比較結果確定渲染所述像素中的一者。例如,如果處理器確定物理對象的像素比虛擬對象的像素更靠近相機(例如,在圖7B的位置A處),則處理器可確定虛擬對象的像素被物理對象的像素遮蔽,并且確定渲染物理對象的像素。
[0082]返回參看圖3,在一些實施例中,圖形和音頻渲染模塊324還可提供音頻數據用于渲染。音頻數據可從例如音頻感測系統313(諸如麥克風陣列)收集。在一些實施例中,為了提供增強的感官能力,可基于用戶指令(例如,經由手勢檢測到)夸大一些音頻數據。例如,使用麥克風陣列,圖形和音頻渲染模塊324可確定音頻數據源的位置,并且可基于用戶指令確定增大或減小與那個特定源相關聯的音頻數據的音量。在音頻數據的虛擬源將與源自物理環境的音頻信號混合的情況下,圖形和音頻渲染模塊324還可以與方法800相似的方式確定麥克風與虛擬源之間的距離以及麥克風與物理對象之間的距離。基于所述距離,圖形和音頻渲染模塊324可確定來自虛擬源的音頻數據是否被物理對象阻斷,并且相應地調整音頻數據的渲染。
[0083]在確定待渲染的圖形和音頻數據之后,圖形和音頻渲染模塊324可接著將圖形和音頻數據提供給音頻/視頻系統330,所述音頻/視頻系統330包括被配置為顯示所渲染的圖形數據的顯示系統332(例如,顯示屏)以及被配置為播放所渲染的音頻數據的音頻輸出系統334(例如,揚聲器)。圖形和音頻渲染模塊324還可將圖形和音頻數據存儲在存儲裝置(例如,圖1的存儲裝置128)處,或將數據提供給網絡接口(例如,圖1的網絡接口 140)以傳輸到另一個裝置用于渲染。
[0084]另外,系統300還包括供電系統340,其通常包括電池和供電管理系統(圖3中未示出)。
[0085]系統300的一些部件(軟件或硬件)可分布在不同平臺上。例如,如圖1所論述,計算系統100(可基于其實施系統300)可連接到智能裝置130(例如,智能電話)。智能裝置130可被配置為執行處理系統320的一些功能。例如,智能裝置130可被配置為執行圖形和音頻渲染模塊324的功能性。作為說明性實例,智能裝置130可接收來自取向和位置確定模塊322的關于相機的取向和位置的信息和來自手勢確定模塊323的手勢信息,以及來自感測系統310的關于物理環境的圖形和音頻信息,并且接著執行圖形和音頻的渲染。作為另一個說明性實例,智能裝置130可正在操作另一個軟件(例如,應用程序),所述軟件可生成待添加到多媒體渲染的附加內容。智能裝置130可接著將附加內容提供給系統300(其經由圖形和音頻渲染模塊324執行渲染),或可僅僅將附加內容添加到圖形和音頻數據的渲染。
[0086]圖9A至9B是示出根據本公開實施例的示例性頭戴式交互式沉浸式多媒體生成系統900的示意圖。在一些實施例中,系統900包括計算裝置100、系統300和圖4F的相機系統494的實施例。
[0087]如圖9A所示,系統900包括具有一對開口 904的外殼902和頭帶906。外殼902被配置為固持被配置為生成交互式沉浸式多媒體數據的一個或多個硬件系統。例如,外殼902可固持電路板950(如圖9B示出),其包括一對相機954a和954b、一個或多個麥克風956、處理系統960、運動傳感器962、供電管理系統964、一個或多個連接器968以及IR投影儀/照明器970。相機954a和954b被配置為生成物理環境的圖形數據,并且可各自包括RGB-1R相機。麥克風956被配置為收集來自環境的音頻數據以渲染為沉浸式多媒體數據的一部分。處理系統960可為通用處理器、FPGA、ASIC等,其被配置為執行圖3的處理系統300的至少一些功能。連接器968被配置為將系統900連接到移動裝置(例如,智能電話),所述移動裝置充當圖1的智能裝置130以提供額外能力(例如,渲染音頻和圖形數據、提供附加內容用于渲染等),使得處理系統960可與移動裝置通信。在此類情況下,外殼902還提供用以固持移動裝置的內部空間。外殼902還包括一對透鏡(圖中未示出)以及任選地,顯示裝置(其可由移動裝置提供),所述顯示裝置被配置為顯示由移動裝置和/或由處理系統960渲染的立體3D圖像。外殼902還包括開口 904,相機954可通過所述開口捕獲系統900所位于的物理環境的圖像。
[0088]如圖9A所示,系統900還包括一組頭帶906。所述頭帶可被配置為允許人們將系統900穿戴在她的頭上,使她的眼睛暴露到顯示裝置和透鏡。在一些實施例中,電池可位于頭帶中,所述頭帶還可提供電池與容納在外殼902中的系統之間的電連接。
[0089]利用本公開的實施例,可提供用戶(和相機)的3D位置和取向的精確跟蹤。基于用戶的位置和取向信息,可提供交互式沉浸式多媒體體驗。所述信息還實現虛擬對象的圖像與物理環境的圖像的逼真混合以創建增強現實和虛擬現實的組合體驗。本公開的實施例還使得用戶能夠有效地更新物理環境的多個部分的圖形和音頻渲染以增強用戶的感官能力。
[0090]在前述的說明書中,已參照可根據各種實現方式變化的多個具體細節來描述實施例。可以對所描述的實施例進行特定的修改和變型。考慮到本文公開的本發明的說明書和實踐,其他實施例對于本領域技術人員是顯而易見的。本發明意在將說明書和實施例被認為是僅示例性的,由所附權利要求來指示本發明的真正范圍和意旨。本發明還意在在圖中所示的步驟順序僅用于說明的目的,并不意在限制步驟的任何特定順序。正因為如此,本領域技術人員可以理解,這些步驟可以以不同的順序來實施相同的方法。
【主權項】
1.一種設備,包括: 光學感測系統,其包括至少一個相機,所述至少一個相機被配置為獲取物理環境的圖像; 處理系統,其包括: 取向和位置確定模塊,其被配置為: 從所述圖像檢測顯著特征,并且 基于所述所檢測到的顯著特征確定所述設備相對于所述物理環境的取向和/或位置變化; 以及 渲染模塊,其被配置為: 基于所述圖像和所述所確定的所述設備的取向和/或位置變化來確定所述物理環境的渲染,并且 將與所述物理環境的所述渲染有關的數據提供給顯示系統。2.根據權利要求1所述的設備,其中: 所述光學感測系統包括第一相機和第二相機,所述第一相機被配置為獲取所述物理環境的第一圖像,并且所述第二相機被配置為獲取所述物理環境的第二圖像; 所述取向和位置確定模塊被配置為: 當所述設備在所述物理環境中處于第一位置時,從所述第一圖像和第二圖像檢測第一顯著特征, 確定與所述第一顯著特征相關聯的第一組坐標, 當所述設備在所述物理環境中處于第二位置時,從所述第一圖像和第二圖像檢測第二顯著特征, 確定與所述第二顯著特征相關聯的第二組坐標,并且 響應于確定所述第一顯著特征和第二顯著特征彼此對應,基于所述第一組和第二組坐標來確定所述設備相對于所述物理環境的取向和/或位置變化; 并且 所述渲染模塊被配置為基于所述第一圖像和第二圖像并且基于所述設備的所述所確定的取向和/或位置變化來確定所述物理環境的立體渲染。3.根據權利要求2所述的設備,其中所述第一相機和第二相機中的每一者包括紅-綠-藍-紅外(RGB-1R)像素傳感器。4.根據權利要求1所述的設備,其中所述光學感測系統包括第一相機、第二相機和反射鏡,所述第一相機被配置為獲取紅外(IR)圖像,所述第二相機被配置為獲取紅-綠-藍(RGB)圖像,并且所述反射鏡被配置為將IR光反射離開所述第二相機并且將所述IR圖像與所述RGB圖像對齊。5.根據權利要求4所述的設備,其中所述第一相機是飛行時間相機。6.根據權利要求4所述的設備,其中所述第一相機是IR相機。7.根據權利要求1所述的設備,其中所述光學感測系統包括IR照明器,其被配置為將一個或多個圖案投射到所述物理環境中;其中所述所檢測到的顯著特征包括所述一個或多個圖案。8.根據權利要求1所述的設備,其中: 所述處理系統還包括手勢確定模塊,其被配置為: 從所述圖像檢測手勢,并且 確定與所述手勢相關聯的用戶指令; 并且 所述渲染模塊被配置為基于所述所確定的用戶指令確定所述物理環境的所述渲染。9.根據權利要求8所述的設備,其中: 所述手勢確定模塊被配置為確定所述用戶指令與被渲染的對象的選擇相關聯;并且 所述渲染模塊被配置為基于所述用戶指令確定所述對象的所述渲染的變化。10.根據權利要求9所述的設備,其中所述對象是虛擬對象。11.根據權利要求9所述的設備,其中所述對象是存在于所述物理環境中的物理對象。12.根據權利要求1所述的設備,其中所述渲染模塊被配置為在所述物理環境的所述渲染中將虛擬對象的圖像與位于所述物理環境中的物理對象的圖像混合;其中所述混合是基于與所述虛擬對象相關聯的第一組坐標和與所述物理對象相關聯的第二組坐標。13.根據權利要求12所述的設備,其中所述混合包括與所述虛擬對象相關聯的音頻數據和源自所述物理環境的音頻信號的渲染。14.根據權利要求1所述的設備,還包括被配置為連接到智能電話的連接器。15.根據權利要求14所述的設備,其中所述智能電話包括所述處理系統的至少一部分。16.根據權利要求14所述的設備,其中: 所述智能電話被配置為提供附加內容; 并且所述渲染模塊被配置為基于所述圖像和所述附加內容確定所述物理環境的渲染。
【文檔編號】G09G5/00GK106062862SQ201580005780
【公開日】2016年10月26日
【申請日】2015年10月23日
【發明人】費越, 何安莉
【申請人】何安莉, 費越