圖像編碼和顯示的製作方法
2023-09-20 21:27:35 4

本發明涉及圖像編碼和顯示。
背景技術:
本文所提供的「背景技術」描述是為了一般地呈現本公開的背景的目的。以在背景技術中所描述的範圍的當前提名的發明人的工作、以及該描述中可能不符合提交之時的現有技術的方面,既不明示地也不暗示地認為是本公開的現有技術。
作為背景技術,將討論示例的可頭戴式顯示器(HMD),儘管(如以下進一步所描述的)本發明也適用於其他類型的顯示器。
HMD是可以在頭部上佩戴或作為頭盔的一部分的圖像或視頻顯示設備。任一隻眼睛或雙眼都被提供有小的電子顯示設備。
一些HMD允許將已顯示的圖像疊加在真實世界視圖上。這種類型的HMD的可以被稱為光透視HMD並且通常需要將顯示設備放置在除了直接在用戶的眼睛前方之外的某處。然後需要某種方式來偏轉(deflect)已顯示的圖像以使得用戶可以看到它。這可以通過使用放置在用戶眼睛的前方的部分反射鏡以便允許用戶透過該鏡子觀看,但是也看到顯示設備的輸出的反射。在EP-A-1 731 943和US-A-2010/0157433中公開的另一布置中,將採用全內反射的波導裝置用於傳送來自布置在用戶頭部的一側的顯示設備的已顯示的圖像,以使得用戶可以看到已顯示的圖像,但是仍然透過波導看到真實世界的視圖。再次,在任一種這些類型的布置中,創建(使用已知技術)該顯示的虛擬圖像以使得用戶以合適的大小和距離看到該虛擬圖像,以允許放鬆的觀看。例如,即使物理顯示設備可能是微小的(例如,10毫米×10毫米)並且可能離用戶的眼睛只有幾毫米,虛擬圖像也可被布置為使得用戶將其感知在離該用戶(例如)20m的距離處,具有5米×5米的感觀大小。
然而,其他的HMD允許用戶只看到顯示的圖像,也就是說,它們遮蓋了用戶周圍的真實世界環境。這種類型的HMD可以將實際的顯示裝置置於用戶的眼睛前方,與合適的透鏡相關聯,該透鏡將虛擬的顯示圖像放置在對於該用戶合適的距離處,用於以放鬆的方式聚焦——例如,以與以上所討論的光透視HMD相類似的虛擬距離和感觀大小。這種類型的設備可以用於觀看電影或類似的記錄的內容,或者用於觀看表示該用戶周圍的虛擬空間的所謂的虛擬實境內容。然而當然可能的是,能夠通過例如使用前向攝像機來生成用於在該顯示設備上顯示的圖像,在這種類型的HMD上顯示真實世界視圖。
儘管HMD的原始開發可能是由這些設備的軍事和專業應用推動的,然而HMD在例如電腦遊戲或家庭計算應用中對於普通用戶變得更加流行。
技術實現要素:
本發明由權利要求1限定。
本發明的另外的各個方面和特徵在所附的權利要求中限定。
附圖說明
現在將參考附圖描述本發明的實施例,其中:
圖1示意性地示出了由用戶佩戴的HMD;
圖2是HMD的示意性主視圖;
圖3示意性地示出HMD的虛擬圖像的形成;
圖4示意性地示出了用於在HMD中使用的另一類型的顯示;
圖5示意性地示出了一對立體圖像;
圖6示意性地示出了HMD的用戶的視圖的改變;
圖7a和圖7b示意性地示出了具有運動感測的HMD;
圖8示意性地示出了基於光流檢測的位置傳感器;
圖9示意性地示出了響應於HMD位置或運動檢測的圖像的生成;
圖10示意性地示出了攝像機的圖像的捕捉;
圖11示意性地示出了捕捉到的圖像的重新投影;
圖12示意性地示出了圖像旋轉;
圖13示意性地示出了圖像旋轉和平移;
圖14示意性地示出了HMD圖像顯示的延遲問題;
圖15是示出圖像處理技術的示意性流程圖;
圖16示意性地示出了HMD的旋轉;
圖17示意性地示出了圖像位置減法;
圖18示意性地示出了深度圖;
圖19和圖20示意性地示出了根據各自不同的視點的圖像;
圖21示意性地示出了用於圖像渲染和重新投影來補償HMD運動的技術;
圖22是關於圖21所示的技術的示意性流程圖;
圖23示意性地示出了用於圖像捕捉和重新投影以補償不同的攝像機和HMD位置的技術;
圖24是關於圖23所示的技術的示意性流程圖;
圖25示意性地示出了全景圖像的觀看;
圖26示意性地示出了在已顯示的圖像中的攝像機視點調整;
圖27示意性地示出了攝像機裝置;
圖28示意性地示出了觀看者觀察顯示屏幕;
圖29示意性地示出了用戶佩戴頭部方向檢測器;
圖30示意性地示出了被動式頭部方向檢測技術;
圖31示意性地示出了使用多個屏幕的顯示布置;
圖32示意性地示出了顯示圖像的示例;
圖33和圖34示意性地示出了圖像的各自不同的視場(FOV)的版本;
圖35示意性地示出了高FOV圖像和低FOV圖像的組合;
圖36示意性地示出了將多FOV圖像編碼為連續合成圖像;
圖37示意性地示出了將多FOV圖像編碼為虛擬3D圖像;
圖38是示出涉及生成、編碼、解碼和使用多FOV圖像的操作的示意性流程圖。
圖39示意性地示出了所謂的幀撕裂;
圖40示意性地示出了元數據編碼技術;
圖41示意性地表示已編碼的元數據;
圖42和圖43是示出圍繞幀撕裂的組合圖像的兩種不同的方式的示意性流程圖;
圖44示意性地示出了幀撕裂時的重新投影處理;
圖45示意性地示出了圖像生成器的一部分;以及
圖46示意性地示出了HMD的一部分。
具體實施方式
本發明的實施例可以提供一種使用可操作為向觀看者顯示圖像的顯示器的顯示方法和裝置。在一些實施例中,該顯示器是可頭戴式顯示器並且通過檢測可頭戴式顯示器的位置和/或方向來檢測觀看者頭部的位置和/或方向。可頭戴式顯示器可以具有被安裝到觀看者頭部上的框架,該框架限定了在使用中定位於觀看者的各隻眼睛前面的一個或兩個眼睛顯示位置,並且相對於每個眼睛顯示位置安裝各自的顯示元件,該顯示元件向觀看者的該隻眼睛提供來自視頻信號源的視頻信號的視頻顯示的虛擬圖像。在其他示例中,該顯示器不是可頭戴式顯示器。在一些實施例中,該顯示器(不論是否為可頭戴式的)可以被稱為沉浸式(immersive)顯示器,這是由於在正常使用中它至少覆蓋了用戶的視場(filed of view)的閾值角度範圍(例如,至少40度)。示例包括多投影器顯示器、環繞(彎曲)式顯示器等。
現參照圖1,用戶10在用戶的頭部30上佩戴HMD 20。該HMD包括框架40,在本示例中由後帶和頂帶構成,以及顯示部分50。
圖1的HMD完全遮蓋了用戶的周圍環境的視圖。用戶能夠看到的全部是在該HMD內顯示的一對圖像。
該HMD具有相關聯的頭戴電話耳機60,其被放入用戶的左耳和右耳70。耳機60重放從外部源提供的音頻信號,該外部源可以與向用戶的眼睛提供用於顯示的視頻信號的視頻信號源相同。
在操作中,提供用於由該HMD顯示的視頻信號。這可以通過諸如視頻遊戲機或數據處理裝置(諸如個人計算機)的外部視頻信號源80提供,在該情況下,可以通過有線或無線連接將該信號傳輸到HMD。合適的無線連接的示例包括藍牙(R)連接。用於耳機60的音頻信號可以通過該相同的連接進行傳送。類似地,任何從該HMD傳遞到視頻(音頻)信號源的控制信號可以通過該相同的連接進行傳送。
因此,圖1的布置提供了包括被安裝在觀察者頭部上的框架的可頭戴式顯示系統的示例,該框架限定了在使用中定位於觀察者的相應眼睛前面的一個或兩個眼睛顯示位置以及相對於每個眼睛顯示位置安裝的顯示元件,該顯示元件向觀察者的該隻眼睛提供來自視頻信號源的視頻信號的視頻顯示的虛擬圖像。
圖1僅示出了HMD的一個示例。其他樣式是可能的:例如HMD可以使用更類似於與傳統眼鏡相關的框架,即從顯示部分往回延伸至用戶的耳後上部的基本上水平的腿,有可能地在耳朵後向下彎曲。在其他的示例中,用戶的外部環境的視圖實際上可能未被完全遮蓋;已顯示的圖像可以被布置為使得被疊加(從用戶的視點來看)在外部環境之上。以下將參考圖4描述這種布置的示例。
在圖1的示例中,對於用戶的每隻眼睛提供單獨各自的顯示。如圖2所示提供了這是如何實現的示意性平面視圖,其示出了用戶眼睛的位置100和用戶鼻子的相對位置110。以示意的形式,顯示部分50包括從用戶眼睛遮蔽周圍的光的外部屏蔽120和防止一隻眼睛看到用於另一隻眼睛的顯示的內部屏蔽130。用戶的臉、外部屏蔽120和內部屏蔽130的組合形成兩個隔室140,其中每一個針對每一隻眼睛。在每個隔室中,提供了顯示元件150和一個或多個光學元件160。將參考圖3描述該顯示元件和(多個)光學元件協作以向用戶提供顯示的方式。
參照圖3,顯示元件150生成顯示的圖像,該圖像(在本示例中)被光學元件160(示意性地表示為凸透鏡,但其可以包括複合透鏡或其他元件)折射以便生成虛擬圖像170,用戶看起來該虛擬圖像170要比由顯示元件150生成的真實圖像更大並且明顯地更遠。作為示例,虛擬圖像可能具有大於1米的視在圖像大小(圖像對角線),並且可能置於離用戶眼睛(或者離HMD的框架)超過1米的距離處。總體而言,取決於該HMD的目的,期望的是使虛擬圖像置於離用戶明顯的距離。例如,如果該HMD用於觀看電影等,期望的是在這種觀看期間用戶的眼睛是放鬆的,這需要至少幾米的(到虛擬圖像的)距離。在圖3中,實線(諸如線180)用於表示真實光照射,而虛線(諸如線190)用於表示虛擬照射。
圖4中示出了替代的布置。其中期望用戶對外部環境的視圖未被完全遮蓋時可以使用這種布置。然而,它也可適用於其中用戶的外部視圖被完全遮蓋的HMD。在圖4的布置中,顯示元件150和光學元件200協作以提供圖像,該圖像被投影到鏡子210上,該鏡子210朝向用戶的眼睛位置220偏轉該圖像。用戶感觀到虛擬圖像位於用戶前面並且離用戶適當距離處的位置230處。
在其中用戶的外部環境的視圖被完全遮蓋的HMD的情況下,鏡子210可以是基本上100%的反射鏡。則圖4的布置具有的優點是顯示元件和光學元件可以位於更靠近於用戶頭部的重心和用戶眼睛的側面,其可以產生一個不那麼龐大的HMD用於用戶佩戴。另外,如果該HMD被設計為未完全遮蓋用戶的外部環境的視圖,鏡子210可以做成部分反射的,以使得用戶透過鏡子210看到外部環境、以及疊加在真實外部環境之上的虛擬圖像。
在對於用戶的每隻眼睛提供單獨各自的顯示的情況下,能夠顯示立體圖像。圖5中示出用於顯示給左眼和右眼的一對立體圖像的示例。該圖像相對於彼此表現出橫向位移,其中圖像特徵的位移取決於捕捉該圖像的攝像機的(真實的或模擬的)橫向間隔、攝像機的角度收斂以及每個圖像特徵離攝像機位置的(真實的或模擬的)距離。
注意,圖5中的橫向位移(以及以下將在圖15中描述的那些)可能實際上是相反的,也就是說,所繪製的左眼圖像可能實際上是右眼圖像,並且所繪製的右眼圖像可能實際上是左眼圖像。這是因為一些立體顯示器傾向於在右眼圖像中向右移動對象和在左眼圖像中向左移動對象,以便模擬該用戶透過立體窗口眺望遠處場景的想法。然而,一些HMD使用圖5所示的布置,因為這給予用戶該用戶透過雙筒望遠鏡觀看該場景的印象。在這兩種布置之間的選擇由系統設計人員自由裁量。
在一些情況下,HMD可以簡單地用於觀看電影等。在這種情況下,當用戶例如從一側到另一側時轉動用戶頭部時,已顯示的圖像的視在(apparent)視點不需要改變。然而,在諸如與虛擬實境(VR)或增強現實(AR)系統相關的那些其他使用中,用戶的視點需要跟蹤相對於用戶位於其中的真實或虛擬空間的移動。
此跟蹤通過檢測HMD的運動並且改變已顯示的圖像的視在視點,使得視在視點跟蹤該運動。
圖6示意性地示出了VR或AR系統中用戶頭部移動的效果。
參照圖6,虛擬環境由用戶周圍的(虛擬)球形外殼250表示。因為需要在二維圖紙上表示這種布置,因此該外殼由離用戶相當於已顯示的虛擬圖像離用戶的間隔的距離處的圓的一部分表示。用戶最初在第一位置260處並且方向朝向虛擬環境的一部分270。正是這一部分270在用戶的HMD的顯示元件150上顯示的圖像中予以表示。
考慮其中用戶隨後將他的頭部移動到新的位置和/或方向280的情況。為了保持該虛擬實境或增強現實顯示的正確感觀,虛擬環境的已顯示的部分也移動,以使得在移動結束時由該HMD顯示一個新部分290。
因此,在這種布置中,虛擬環境內的視在視點隨著頭部移動而移動。如果頭部旋轉到右側,例如,如圖6所示,視在視點也從用戶的視點移動到右側。如果從諸如已顯示的對象300的已顯示的對象的方面考慮該情況,這將實際上在與頭部移動相反的方向上移動。因此,如果頭部移動是向右,則視在視點向右移動,但諸如在虛擬環境中靜止的已顯示的對象300的對象將朝向已顯示的圖像的左側移動,並且最終將消失在已顯示的圖像的左手側,原因很簡單,該虛擬環境的已顯示的部分已經移動到右側,然而已顯示的對象300在虛擬環境中沒有移動。
圖7a和圖7b示意性地示出了具有運動感測的HMD。這兩個附圖類似於圖2中所示的樣式。也就是說,該附圖是HMD的示意性平面視圖,其中顯示元件150和光學元件160由簡單的盒子形狀表示。為了該圖形的清楚,圖2的許多特徵未予以示出。兩個附圖均示出具有用於檢測觀察者頭部的運動的運動檢測器的HMD的示例。
在圖7a中,在該HMD的前面上提供前向攝像機320。這並不一定向用戶提供用於顯示的圖像(儘管它可以在增強現實布置中這樣做)。相反,在本實施例中它的主要目的是允許運動感測。以下將結合圖8描述用於使用由攝像機320捕捉的圖像的用於運動感測的技術。在這些布置中,運動檢測器包括安裝成隨框架移動的攝像機;以及可操作為將由該攝像機捕捉的連續圖像進行比較以便檢測圖像間運動的圖像比較器。
圖7b利用硬體運動檢測器330。這可以安裝在該HMD內或該HMD上的任何地方。合適的硬體運動檢測器的示例為壓電加速計或光纖陀螺儀。當然應理解的是,在同一設備中可以使用硬體運動檢測和基於攝像機的運動檢測兩者,在這種情況下,一個感測裝置可以用作當另一個不可用時的備份,或者一個感測裝置(諸如攝像機)可以提供用於改變已顯示的圖像的視在視點的數據,而另一個(諸如加速度計)可以提供用於圖像穩定的數據。
圖8示意性地示出了使用圖7a的攝像機320的運動檢測的一個示例。
攝像機320是以例如每秒25個圖像的圖像捕捉速率來捕捉圖像的視頻攝像機。當捕捉到每個圖像時,其被傳遞給用於存儲的圖像存儲400並且還由圖像比較器410將其與從該圖像存儲檢索到的先前圖像相比較。該比較使用已知的塊匹配技術(所謂的「光流」檢測)以確定自從捕捉到該先前圖像的時刻起整個圖像是否移動。局部運動可能指示的攝像機320的視場內的移動對象,但是基本上整個圖像的全局運動將傾向於指示該攝像機的運動,而不是該捕捉的場景中單獨特徵的運動,並且在這種情況下,由於攝像機安裝在HMD上,攝像機的運動對應於HMD的運動,進而對應於用戶頭部的運動。
由圖像比較器410檢測到的一個圖像和下一個圖像之間的位移由運動檢測器420轉換為指示運動的信號。如果需要的話,該運動信號由積分器430轉換為位置信號。
如上所述,作為通過檢測由與HMD相關聯的視頻攝像機捕捉的圖像之間的圖像間運動的運動的檢測的替代或額外地,HMD可以使用諸如加速度計的機械或固態檢測器330檢測頭部運動。實際上這可以給出關於運動的指示的更快的響應,考慮到基於視頻的系統的最佳的響應時間為圖像捕捉速率的倒數。因此,在一些情況下,檢測器330可以更好地適合於具有更高頻率運動檢測的使用。然而,在其他情況下,例如如果使用高圖像速率攝像機(諸如200赫茲捕捉速率攝像機),基於攝像機的系統可能更適合。就圖8而言,檢測器330可以取代攝像機320、圖像存儲400和比較器410,以便直接向運動檢測器420提供輸入。或者檢測器330還可以取代運動檢測器420,直接提供指示物理運動的輸出信號。
其他位置或運動檢測技術當然也是可能的。例如,可以使用通過可移動的縮放臂(pantograph arm)將HMD連接至固定點(例如,數據處理設備上的或在一件家具上的)的機械裝置、以及檢測該縮放臂的偏轉的變化的位置和方向的傳感器。在其他實施例中,可以使用具有安裝在HMD上和固定點上的一個或多個發送器和接收器的系統,以允許通過三角測量技術檢測HMD的位置和方向。例如,HMD可以攜帶一個或多個定向發送器,並且與已知或固定點相關聯的接收器的陣列能夠檢測來自該一個或多個發送器的相關信號。或者發送器可以是固定的並且接收器可以在HMD上。發送器和接收器的示例包括紅外換能器、超聲換能器和射頻換能器。射頻換能器可以具有雙重目的,在於它們也可以形成到和/或來自HMD的射頻數據鏈路的一部分,諸如鏈路。
圖9示意性地示出了響應於HMD的檢測到的位置或位置的改變而執行的圖像處理。
如以上結合圖6所述,在諸如虛擬實境和增強現實布置的一些應用中,正在向HMD的用戶顯示的視頻的視在視點響應於用戶頭部的實際位置或方向的改變而改變。
參考圖9,這是通過運動傳感器450(諸如圖8的布置和/或圖7b的運動檢測器330)向所需圖像位置檢測器460提供指示運動和/或當前位置的數據來實現的,其中該所需圖像位置檢測器460將HMD的實際位置轉換成限定用於顯示所需的圖像的數據。如果需要的話,圖像生成器480訪問存儲在圖像存儲470中的圖像數據,並且從用於由HMD顯示的合適的視點生成所需的圖像。外部視頻信號源可以提供圖像生成器480的功能並且作為控制器來通過改變已顯示的圖像的視點以便在與檢測到的運動相反的方向上移動該已顯示的圖像以便在檢測到的運動的方向上改變觀察者的視在視點而補償觀察者的頭部的運動的低頻分量。
圖像生成器480可以以下面將描述的方式在元數據的基礎上動作以執行包括重新投影的各種功能。
為了示意性地示出一些與本技術相關聯的一般概念,圖10示意性示出了攝像機的圖像的捕捉,並且圖11示意性地示出了捕捉到的圖像的重新投影。
參照圖10,攝像機500捕捉真實世界場景的一部分510的圖像。攝像機500的視場示意性地表示為大致三角形形狀520,使得該攝像機在大致三角形形狀的一個頂點處,該攝像機的相鄰側示意性地指示視場的左和右極端,並且該攝像機的相對側示意性地示出了被捕捉的該部分場景。這種示意性表示法將在以下幾個附圖中使用。
為了討論圖像重新投影的一般概念,假定在圖10的布置中,不僅捕捉了圖像而且也捕捉了限定攝像機的「視圖矩陣」的信息。這裡,視圖矩陣可以指攝像機在空間中或者相對於假想的固定點和方向、或者表示為相對於在先前時刻(例如,其可以是與先前捕捉到的圖像相關聯的時刻)適用的位置和/或方向的改變的位置和/或方向。因此,在一個表達式中,視圖矩陣可以被認為是攝像機的x、y和z空間位置以及其表示為偏擺(yaw)、俯仰(pitch)、滾轉(roll)(指示三正交旋轉自由度的一般術語)的旋轉方向及其視錐體(viewing frustum)(指示範圍在寬角度視場與窄角度或攝遠視場之間的攝像機的視場的一般術語,並且其可以表示為對應於例如圖10所示的角度530的角度範圍)。視圖矩陣數據不需要包括這些數據貢獻的全部。例如,在一些布置中,可能只與橫向旋轉方向(偏擺)相關。因此,考慮到捕捉到的圖像和視圖矩陣數據的預期使用將哪個數據項目包括在視圖矩陣數據內的選擇是系統設計人員的問題。
在本發明的實施例中,視圖矩陣數據與捕捉到的圖像相關聯地存儲,例如作為所謂的以整個圖像數據包的一部分存儲和/或發送的元數據,例如通過諸如以下參考圖27描述的包括用於捕捉圖像的圖像捕捉設備的攝像機裝置;用於檢測在該圖像的捕捉的時刻的攝像機裝置的位置和/或方向的位置和/或方向檢測器;以及用於將元數據與該圖像相關聯的元數據生成器,該元數據指示在該圖像的捕捉的時刻該攝像機裝置的檢測到的位置和/或方向。
注意,攝像機500可以是靜態攝像機或者捕捉由時間間隔隔開的連續圖像的視頻攝像機。
圖11示意性地示出了圖10的攝像機捕捉的圖像根據觀看者的視點的重新投影。視點540示意性地由眼睛符號和大致三角形形狀550示出,該大致三角形形狀550類似於上面所討論的三角形形狀520。為了顯示由攝像機500捕捉到的圖像以便它適合於根據圖11所示的視點來觀看,執行將該視點的視圖矩陣(如上所討論的)與攝像機500的視圖矩陣相關聯的處理。將參考圖12和圖13描述這種技術的示例。
圖12示意性地示出了從第一視圖矩陣560到第二視圖矩陣570的圖像旋轉。這種類型的重新投影涉及簡單地旋轉和縮放圖像,以便校正攝像機的視圖矩陣與用戶視點的視圖矩陣之間的視場和方向中的任何差異。以下將參考圖16和圖17討論這種類型的重新投影的示例。
圖13示意性地示出了從第一視圖矩陣580到第二視圖矩陣590的圖像旋轉和平移。這裡,該處理稍微較複雜,並且還可以使用指示捕捉到的圖像中的不同圖像特徵的圖像深度的深度圖,以允許將用戶視點相對於攝像機的視點進行轉換。以下將參考圖18-20討論深度圖的使用的示例。
注意,該圖像不必須是攝像機捕捉的圖像。這些技術都同樣適用於機器生成的圖像,諸如由電腦遊戲機產生的用於顯示給用戶的作為玩電腦遊戲的過程的一部分的圖像。
圖14示意性地示出了HMD圖像顯示的延遲問題。如上所述,例如參考圖9所討論的,可以使用HMD的位置和/或方向,使得根據檢測到的HMD的位置和/或方向渲染用於顯示的圖像。在觀看較寬的捕捉到的圖像的一部分或者生成作為電腦遊戲玩法的一部分的所需的圖像情況下,參考圖9所討論的布置涉及檢測HMD的當前位置和/或方向並且渲染合適的圖像用於顯示。
然而,這個處理中涉及的延遲可能導致生成不正確的圖像。
參照圖14,考慮在經過HMD中使用的圖像顯示的圖像重複周期的數量級的時間間隔的過程中(例如,1/25秒),用戶的視點從第一視點600旋轉(如圖14中示意性示出為以順時針方向)到第二視點610的情況。注意,圖14中的兩個表示被示為並排的,但這僅是繪圖的目的,而並不一定指示用戶視點的平移(儘管在這兩個視點之間可能涉及一些平移)。
為了允許有時間以用於渲染下一個輸出圖像,當HMD在視點600處時,檢測HMD的位置和/或方向。然後渲染用於顯示的下一個輸出圖像,但是到該圖像實際顯示的時候,視點已經旋轉到視點610。其結果是,被顯示的圖像對於用戶在顯示該圖像的時刻的視點610是不正確的。這可能給用戶提供主觀上較差的體驗,並且可能對用戶的該部分導致迷失方向感或者甚至噁心。
現將討論解決這個問題的技術。
圖15是示出圖像處理技術的示意性流程圖。首先將以較高的層次討論該技術,然後將在下面給出更多細節。
圖15所示的該技術的特徵涉及根據攝像機的視圖矩陣(在捕捉的圖像的情況下)或HMD的視圖矩陣(在例如由計算機遊戲渲染的圖像的情況下)捕捉或渲染圖像(在步驟620中)。
在後者的示例中,將根據對應於圖14中的視點600的視圖矩陣渲染圖像。換句話說,該技術涉及檢測觀看者頭部的初始位置和/或方向,並根據檢測到的位置和/或方向生成用於顯示的圖像。然後將該圖像與限定該視圖矩陣(也就是說,根據其捕捉或第一次渲染該圖像的視圖矩陣)的元數據一起發送或傳遞到HMD。在顯示的時刻,再次檢測該HMD視圖矩陣(換句話說,在該圖像被顯示的時刻檢測觀看者頭部的當前位置和/或方向),並且在步驟630中,基於指示原始視圖矩陣的元數據和在顯示的時刻從HMD檢測的視圖矩陣(以圖14的術語,這將是對應於視點610的視圖矩陣,從而該技術涉及將元數據與生成的圖像相關聯,其中該元數據指示觀看者頭部的初始位置和/或方向)來將該圖像重新投影。因此,該技術涉及根據觀看者頭部的初始位置和/或方向與當前位置和/或方向之間的差異來對生成的圖像進行重新投影並使用該顯示來顯示重新投影的圖像。
在捕捉的圖像的情況下,攝像機的視圖矩陣一般不在顯示裝置的控制範圍內,因此該技術提供了補償這兩個視圖矩陣之間的差異的方式。然而,在圖像渲染的情況下問題稍有不同。然而,明顯特徵是,處理重新投影操作所花費的時間可以比完整的渲染操作以生成輸出圖像所花費的時間少得多。進而,這意味著渲染操作必須相對於顯示的時刻更早開始,如參考圖14的所討論的,其中該顯示可能導致關於對用於渲染操作的合適的視點的檢測的延遲問題。相比之下,使用參考圖15描述的技術,渲染操作相對於在啟動該渲染操作的時刻正確的視點(諸如視點600)發生,但隨後在顯示的時刻對該視點調整(例如,調整到視點610)。這避免了嘗試提前預測視點610的需要,其中該預測也可能導致視點的錯誤,但是以對應於顯示時刻的合適的視點向用戶提供用於顯示的圖像。因此,該技術可以涉及接收圖像和相關聯的元數據、在圖像被顯示的時刻檢測觀看者頭部的當前位置和/或方向、根據由元數據指示的位置和/或方向與觀看者頭部的當前位置和/或方向之間的任何差異重新投影所接收的圖像、以及顯示該重新投影的圖像。
以下將討論這項技術的工作示例。
圖16示意性地示出了HMD視點650在順時針方向上的旋轉。
圖16類似於以上討論的圖6,在於用於顯示的圖像被視為位於半徑r的球體的表面上,其中r基本上等於從用戶的眼睛到由HMD顯示系統生成的虛擬圖像的距離。在這種布置下,視點650以角度θ的旋轉可以被認為是半徑r的球體的表面以橫向距離d的橫向移動。在圖17中示意性地示出了這種位移d。如果假定在步驟620中生成的圖像由圖16中的圖像660表示,在本步驟630中生成的圖像由圖16中的圖像670表示,可以看出這兩個圖像可以從用戶的視點表示為並排的(注意,在圖17中,示出了小的垂直位移僅為了允許在附圖中允許不同的圖像彼此區分)。
在簡單的示例中,為了生成(在步驟630中)用於向用戶顯示的合適的圖像670,執行「減法」操作,其中該「減法」操作是示意性的術語,用來說明檢測圖像670的所需的顯示部分和圖像660的實際位置之間的重疊的操作,以便在圖像670內顯示圖像660的重疊部分680(圖17中的陰影部分)。換句話說,重新投影包括檢測生成的圖像和所需的重新投影的圖像之間的重疊部分,並且再現該重疊部分作為重新投影的圖像的一部分。
在本發明的實施例中,圖像670中缺少的區域(未示出為陰影的那些部分)可以使用來自例如為此目的捕捉或準備的並由顯示裝置存儲的全景圖像的圖像數據進行遮蔽或者填充。因此,該技術的實施例可以因此包括利用來自另外的圖像源的圖像材料來填充重新投影圖像中除了重疊部分的部分。
為了通過考慮視點的平移而對圖像重新投影,本發明的實施例可以使用與該圖像相關聯的深度信息。圖18示意性地示出了可以從例如由3-D(雙目)攝像機或所謂的Z-攝像機捕捉的圖像數據得到的、或者可以作為電腦遊戲機的渲染引擎的操作的一部分而生成的深度圖。
在圖18的示意性示例中,標記為對象A、B和C的三個圖像對象被示為在從任意深度位置700測量的各自的圖像深度zA、zB和zC處。示出了兩個潛在的視點,分別標記為視點v1和視點v2。
圖19和圖20示意性地示出了分別根據視點v1和視點v2的圖像的部分。在渲染階段中,在生成該圖像中對每個圖像對象的深度予以考慮。然而,該技術也可以在諸如由以上討論的步驟630所限定的重新投影階段中使用,以使圖像對象可以根據它們各自的圖像深度在重新投影的圖像中相對於彼此移動。因此,該技術可以涉及提供指示一個或多個圖像特徵的圖像深度的深度數據,並且重新投影可以包括根據該深度數據在重新投影的圖像內重新定位一個或多個圖像特徵。
圖21示意性地示出了用於圖像渲染和重新投影來補償HMD運動的技術。以類似於圖14的方式,用戶視點從以圖15的步驟620的一部分所檢測到的視點710移動或旋轉到以圖15的步驟630的一部分所檢測到的視點720,並且根據其對用於顯示的圖像進行重新投影。以這種方式,根據正確的視點720的圖像被顯示給用戶。
更詳細地,圖22是關於圖21所示的技術的示意性流程圖。在圖22中,示出了處理步驟800、810、820、830、840和850。在這些之中,步驟800、810和820大致對應於圖15的步驟620。其餘的步驟830、840和850大致對應於圖15的步驟630。
在步驟800中,檢測HMD的當前位置(對應於圖21的位置710),並且在步驟810中,將其存儲(例如,在形成HMD或電腦遊戲機的一部分的臨時工作存儲器中)。在步驟820中,根據視點710渲染用於顯示的圖像。
在渲染的圖像被顯示的時刻,或者在該圖像被顯示的時刻之前的時間間隔t時,其中t是重新投影操作所需的時間長度,在步驟830中,再次檢測HMD位置,在本示例中將檢測位置720。在步驟840中如上所討論的將用於顯示的圖像重新投影,並在步驟850中將其顯示給用戶。
現在將討論關於捕捉的圖像的類似的示例。圖23示意性地示出了用於圖像捕捉和重新投影來補償不同的攝像機和HMD位置的技術。在圖23中攝像機視點730不同於HMD視點740。
圖24是關於圖23所示的技術的示意性流程圖。
在圖24中,示出了處理步驟900、910、920、930、940和950。這些之中,步驟900和910大致對應於圖15的步驟620。其餘的步驟920、930、940和950大致對應於圖15的步驟630。
在步驟900中,檢測攝像機的當前位置(對應於圖23的位置730),並且在步驟910中,將其作為元數據與捕捉到的圖像一起傳送。
在該圖像被顯示的時刻,或者在該圖像被顯示的時刻之前的時間間隔t,其中t是重新投影操作所需的時間長度,在步驟920中檢測HMD位置,在本示例中將檢測位置740。在步驟930中如上所討論的將用於顯示的圖像重新投影,並對其渲染(在步驟940中)以在步驟950中顯示給用戶。
圖25示意性地示出了對通過將由各個攝像機或攝像機位置1000、1010、1020捕捉到的圖像組合或拼接在一起所形成的全景圖像1030的觀看。應注意的是不必須涉及真實的攝像機;該全景圖像可以通過將多個計算機生成的具有各自不同的視點的圖像拼接在一起而形成。以類似於以上所討論的步驟910的方式,攝像機、攝像機位置或用來捕捉該全景圖像的虛擬相機中的每個的視點與該全景圖像或對應於該視點的各自的圖像部分相關聯來作為圖像元數據。在顯示的時刻,根據用戶視點1040,根據以上所討論的技術通過將各自的圖像部分或整個全景圖像重新投影生成用於顯示的圖像1050。
圖26示意性地示出在已顯示的圖像中的攝像機視點調整,其可以允許在相對於觀看者以原始大小和位置再現圖像。圖26的左側示意性地示出了用戶使用手持攝像機捕捉(在本示例中)高的建築物的圖像。如上所討論的,將攝像機視點記錄並且與捕捉到的圖像相關聯作為元數據。對於圖26的右側,用戶通過HMD觀看捕捉到的圖像。將該捕捉到的圖像根據用戶的視點使用以上所討論的技術進行重新投影。
以上所述的數據處理操作可以在視頻信號源80(例如,電腦遊戲機)和/或HMD處執行(關於圖22的所有的步驟和圖24的步驟920……950)。在HMD處的處理和在源80處的處理之間的劃分是系統設計人員的問題;可能期望的是為了用戶舒適度而減小HMD的大小、重量和功率消耗,這將使它適合於將儘可能多的處理移動到源80。可替代地,為了減少需要在HMD和源80之間傳送的數據量,一些處理可以全部在HMD處發生。在任一情況下,該處理可以通過例如合適的可編程硬體在軟體控制下操作來執行。圖24的步驟900、910可以由攝像機或(類似於以上的討論的方式)由與攝像機相關聯的裝置來執行。為示例的目的,圖27示意性地示出了具有此功能的攝像機1100。在圖27中,攝像機1100包括透鏡結構1110、布置為透過透鏡結構1110來接收光並且將光轉換成圖像信號的圖像傳感器1120、位置、方向和/或運動檢測器1130、其可以是以上結合檢測HMD的位置、方向和/或運動所討論的類型、以及可操作為使用來自檢測器1130的數據至少執行步驟900、910並且輸出具有如以上所討論的相關聯的視點元數據的圖像信號1150。注意,如果如之前所述使用光流運動檢測,則針對這個處理的圖像數據可以簡單地從傳感器1120得到,從而避免了需要單獨的檢測器1130。
根據本發明的至少一些實施例,通過在視頻信號中增加額外的數據,諸如頭戴式顯示器(HMD)的沉浸式視頻顯示器或者多屏幕投影器能夠向觀看者再現與實物大小相同的並且在它們正確的方向上的圖像。對於交互式應用,圖像重新投影可以快速進行並且最遲在顯示之前。這可以減少由渲染延遲導致的不需要的圖像移動。對於任何應用,該技術能夠穩定攝像機運動以減少觀看者噁心並且保持對象的真實世界方向,以提高沉浸和真實感。
在本發明的至少一些實施例中,可以使用該相同的技術將單個HMD用於對交互式內容和廣播電視信號兩者重新投影。如果觀看者正在以不同於攝像機的方向觀看則可能看到一些幀邊緣(frame border),儘管這可以使用補充的全景靜止圖像填補間隙得以緩解。
本發明的實施例還可以解決關於由搖晃的攝像機捕捉到的視頻的問題,例如由手持攝像機或其運動受到外界影響的攝像機,諸如安裝在機械設備上或在風流的路徑中的攝像機。通過將元數據與指示攝像機在圖像捕捉期間的運動的(如上所述的)圖像相關聯,在顯示的時刻使用以上所討論的技術進行重新投影。以這種方式,可以對圖像的中央區域進行攝像機運動的補償並且使觀看者看起來是穩定的,儘管該補償的結果可能是圖像的外邊界可能到處移動。
至此所描述的實施例主要涉及可頭戴式顯示器。現將描述其中顯示器或多個顯示器不是可頭戴式的另外的布置。
圖28示意性地示出觀看者1200觀察顯示屏幕1210。顯示屏幕1210可以是前向投影屏幕(在這種情況下,未示出可以位於屏幕1210的與用戶相同側的一個或多個投影器)、或者是背面投影屏幕(在這種情況下,未示出可以位於屏幕1210的相對於用戶側的另一側的一個或多個投影器)、或者形成為一個或多個諸如液晶顯示器(LCD)面板的顯示面板。本領域技術人員將理解,用於在顯示屏幕1210上實現圖像的顯示的特定技術對於本實施例並不重要。
許多以上結合HMD設備討論的技術還可以同樣地就圖28的布置而言加以使用。在之前對HMD系統的討論中,通過各種技術檢測HMD的方向。圖28的布置中的類似考慮涉及對用戶頭部的方向的檢測。應當理解,頭部方向不一定指示用戶正在觀看的方向,但它通常被認為指示觀看1220的方向的良好近似。
因此,在一些實施例中,就更大的顯示器1210和對用戶頭部方向的檢測而言可以使用與以上(結合HMD系統)所討論的相同的技術。以下將討論可以檢測頭部方向的各種方式。
圖29示意性地示出了用戶1300佩戴頭部方向檢測器1310。頭部方向檢測器1310被示意性地示為頭帶1320和安裝在頭帶上的方向檢測器1330。在實踐中,可以該布置做的更加周到,例如將其組合成可附連到一副常規眼鏡1340的配件或者形成帽子或一對耳機的一部分。
在功能上,如果所有各種替代方案是之前結合圖8的描述所討論的,則方向檢測器1330根據圖8所示的技術進行操作。在這方面,方向檢測器1330包括HMD的大部分功能,但沒有圖像顯示功能。
方向檢測器1330可以包括處理器以從任何其使用的數據源(例如,周圍的場景的圖像或加速度計數據)得到方向,以便方向檢測器1330將指示該方向的數據發送到接收器1350,例如通過諸如藍牙鏈路的無線鏈路。當然,可以代替地使用有線鏈路。可替代地,方向檢測器1330可以將「原始」獲得的數據發送到接收器1350,諸如捕捉到的周圍的圖像或者來自加速度計的原始數據,以便接收器1350(或者未示出的另外的下遊處理設備)從自方向檢測器1330接收到的原始數據得到方向信息。
圖30示意性地示出了被動式頭部方向檢測技術。這種布置不一定需要用戶1400佩戴或攜帶任何特定的設備或物品。視頻攝像機1410捕捉用戶1400的圖像,並將該圖像傳遞到處理器1420。處理器1420可以以各種方式進行操作。在一個示例中,處理器1420可以應用已知的面部檢測技術,以檢測用戶的面部相對於攝像機1410的方向。例如,這種技術可能涉及將包含該用戶的面部的圖像部分(歸一化到標準比例)與每個指示出面部在相對於該攝像機的不同方向上的特徵的各種本徵(Eigen)圖像相比較。該本徵圖像之中最接近的匹配可以被當作指示用戶面部的當前方向。可以利用限定攝像機1410和所使用的顯示屏幕的相對方向的信息對處理器1420進行校準,以便其能夠提供指示該用戶的面部相對於顯示屏幕的當前方向的輸出。
在另一示例中,用戶可以佩戴一個或多個諸如反射或逆反射標記的被動標記(圖30中未示出)以協助處理器1420檢測用戶面部相對於攝像機的方向。例如,如果用戶眼鏡的側臂1430提供有不同的(即,可由攝像機1410區分的)反射標記,可以對各個標記在捕捉到的圖像中的相對大小進行處理來提供用戶面部的方向的指示。可選地,攝像機1410可以包括布置為消除該標記的照射源。可選地,該照射可以是用戶不可見的或基本上不可見的,例如紅外照射。
圖31示意性地示出了使用多投影器的顯示布置。
在圖31中,以示例的方式提供四個投影器,即投影器1500A、1500B、1500C和1500D。該投影器具有各自的視場,它們一起覆蓋整個顯示屏幕1510。各自的視場由各自的虛線1520A-D示意性地指示,為了繪圖起見,在投影屏幕後面予以示出。實際上,當然要考慮的重要區域是在投影器屏幕1510的平面處的投影的範圍。
四個投影器由顯示控制器1530驅動,其向投影器1500A-D中的每個提供各自的顯示信號。現將討論該信號的形成。
對於觀察顯示屏幕1510的觀看者(圖31中未示出),布置有頭部方向檢測器1540來檢測觀看者頭部相對於顯示屏幕1510的方向。以上所討論的各種技術都適用於該檢測。也如以上所討論的,這提供了觀看者正在觀看的方向的指示。圖31所示的系統的目的是,在遍及整個顯示屏幕1510上顯示由圖像信號1550提供的較低解析度背景場景,但是疊加由圖像信號1560提供的較高解析度插入圖像,以便替換較低解析度背景場景的一部分(如果未檢測到觀看者的頭部方向,則可以假定-在仿真環境中並不少見的-固定的頭部位置)。
在圖32中示意性地示出了一個示例,其可能形成關於沿著由樹木包圍的道路駕駛(非常示意性地在圖32中示出)的視頻或視頻遊戲的一部分。這裡,以低於插入圖像1600的解析度生成和顯示背景場景,其中該插入圖像1600是以較高解析度生成和顯示的。插入圖像1600涉及整體場景中用戶將集中注意力的部分,即(在本示例中)緊前方的道路和任何迎面而來的車輛。其餘的背景圖像(在插入圖像的插入之後)涉及整體場景中對於用戶的注意力不那麼重要的其他部分。使用這種圖像解析度的差異的一個原因是由於在以高解析度生成覆蓋整個顯示的整體場景的高的處理開銷。相反,可以以較低解析度生成背景(並且可以被布置為比插入圖像較不頻繁地改變)以便節省處理開銷。
需要注意的是,指示插入圖像1600的範圍的虛線只是為了附圖的清楚,並且不存在於實際顯示的圖像上。
返回到圖31,根據檢測到的觀看者的頭部方向,通過重新投影邏輯1570將由信號1560表示的插入圖像在適當的圖像顯示位置處重新投影。重新投影的插入信號被提供給顯示控制器,該顯示控制器在適當的顯示位置處將其與由信號1550表示的較低解析度背景場景相組合。
類似於圖31的布置可以參考體育賽事等的電視轉播。背景顯示可以是,例如,整個運動場地的圖像(儘管在同一時刻可能不一定向用戶顯示運動場地的全部)。將被重新投影到主顯示內的插入圖像是來自從跟隨著例如運動員的移動的運動動作的攝像機的快照(shot)。使用元數據和上述技術將該插入圖像重新投影到背景圖像中的適當位置。這向觀看者提供了在整個場地的範圍內哪裡正在發生動作的指示。
作為以上處理的一部分,隨著重新投影的圖像到處移動,本發明的實施例可以使用重新投影的圖像的非變化部分(或某種顏色或紋理的部分,可能代表草的視圖)來填充背景圖像。在一些示例中,當重新投影的圖像到處移動時,可以利用表示運動場地的較高解析度圖像材料,通過從重新投影的圖像複製來對低解析度背景圖像進行填充。如果多攝像機視圖是可用的(如一些運動賽事等的廣播轉播的情況下),那麼(a)該用戶可以選擇一個或多個這樣的視圖進行重新投影,和(b)這將允許通過從多於一個這樣的視圖提取材料進行背景圖像的更快填充。
在其它示例中,如果背景和插入圖像提供有深度圖或者其它深度數據,用戶可以在三維中在整個場景到處移動,以響應於用戶的虛擬位置對重新投影進行調整。
另外的示例涉及視頻遊戲,使得整個背景圖像可以表示虛擬世界的一部分或者全部。關於玩家的特定遊戲動作的場景被重新投影到虛擬世界內的正確位置作為該插入圖像。
圖33和圖34示意性地示出了圖像的各自不同的視場(FOV)版本。
現在將描述的涉及圖像的多個FOV版本的系統的基本原則是,許多圖像尤其是在視頻遊戲的範圍內具有主要感興趣的點或區域。為了實現對於該用戶主觀上有吸引力的圖像,但無需以非常高的解析度發送整個圖像的過高的帶寬要求,以下將描述的技術涉及提供圖像的兩個版本。
第一版本,諸如圖33中所示,提供了整個圖像的特定解析度(例如,可能為720或更多視頻行的高解析度)表示。該表示被稱為大或高FOV圖像,由於該圖像的FOV包括(例如)整個原始渲染的圖像。
另一個版本,諸如圖34中所示,具有較低或較小的FOV,因此未包括原始渲染的圖像的全部。相反,表示了感興趣的區域。在圖34的示例中,感興趣的區域涉及直升機的客艙和機身,但一般來講,在視頻遊戲的情況下,感興趣區域通常將涉及視頻遊戲中玩家的角色周圍的區域,或者在「第一人稱視點」視頻遊戲的情況下,為與最重要或當前最危險的敵人相距(例如)預定的邊界距離的周圍的區域。其他系統(除了視頻遊戲)也可以具有可以以自動的方式識別的感興趣的區域。例如,視頻商業廣告可以具有限定感興趣的產品的圖像位置的相關聯的元數據。或者,在HMD的情況下,眼睛跟蹤可以用來檢測用戶當前正在觀看該圖像的哪一部分,以便該圖像的所識別的部分(無論它包含圖像材料或內容如何)被視為感興趣的區域。默認的可能是感興趣的區域是較高FOV圖像的位於中心的區域。注意,至少在一些實施例中,已經使用HMD位置和/或方向(作為參考圖22和圖24所討論的兩階段重新投影處理的一部分)作為元數據來影響每個圖像的生成,因此發送和使用眼睛位置元數據來影響將渲染的圖像編碼成高和低FOV部分不是過度的處理負擔。
可以以與圖33的圖像相同的基本的解析度提供圖34的圖像,例如720或更多視頻行的高解析度。但是由於圖34的圖像的FOV小於圖33的圖像的FOV,所以圖34的圖像中表示的每個特定圖像特徵事實上是以比圖33的圖像中的該特徵的相應表示較高的解析度表示的。
兩個圖像(圖33和圖34)提供表示相同的底層(underlying)場景或渲染圖像的圖像、但是以兩種不同的方式表示的對。這是兩個或更多個這種圖像的示例。
圖35示意性地示出了高FOV圖像和低FOV圖像的組合。這裡,圖34的圖像或圖33的圖像的任一者(或兩者)被縮放以便使圖33和圖34的圖像的比例相等。例如,如果低FOV圖像(圖34)包括在高FOV圖像(圖33)的範圍的每個線性方向上的50%,則應用到圖34的圖像的示例性縮放操作是在每個線性方向上以50%的係數進行的。在示出的特定示例中,其目的是對圖像中的一個或兩者進行縮放,以使直升機在兩個圖像中大小相同。然後這允許將來自低FOV圖像的圖像內容插入到高FOV圖像的較寬FOV但較低解析度的視圖。
在圖35中示意性地示出了圖像內容的這種插入,其中虛線1700指示圖34的低FOV圖像的原始邊界。在基本層次上,邊界1700內的圖像內容可以從低FOV圖像提供,並且除邊界1700外的圖像內容可以從高FOV圖像提供。
但是在更複雜的布置中,為了避免邊界1700處的圖像質量的突然轉變,在邊界1700和位於邊界1700內的邊界輪廓1710之間定義邊界區域。在該邊界區域中將兩個圖像按比例混合,其中該比例在輪廓1710和邊界1700之間變化,使得在輪廓1710處圖35的合成圖像是完全從圖34的低FOV圖像得到的,在邊界1700處合成圖像是完全從圖33的高FOV圖像得到的,並且在輪廓1710和邊界1700之間,兩個圖像的比例隨著輪廓1710和邊界1700之間的距離變化,例如以線性變化。這提供了從兩個貢獻圖像得到的合成圖像35的各部分之間的更平滑的轉變。
在操作的另外可能的模式中,邊界1700和/或輪廓1710的尖角可以是圓滑的,可能通過應用延伸超過90°並且具有半徑為圖34的(縮放的)圖像的橫向寬度的(例如)5%的倒圓(radiused)的部分圓形的外形。在圖35示出關於一個角的這種倒圓的輪廓的示例1720,但應理解的是,如果使用的話,相同的輪廓可以應用於以下的一者或兩者(a)邊界1700的所有四個角、以及(b)輪廓1710的所有四個角中。使用倒圓或其他方式的平滑輪廓或邊界可以避免與在尖角處產生的圖像的混合有關的可見的偽像(artefact)。
應該理解的是,可以使用兩個以上具有各自不同的FOV的圖像,以便然後以類似於參考圖35描述的方式將該圖像組合以形成合成圖像。如果使用兩個以上不同的FOV,該組圖像可以(例如)包括:
(a)一連串不同FOV圖像,其中心在相同位置上,也就是說,相同的感興趣的點或區域;和/或
(b)覆蓋(例如)整個原始渲染的圖像的高FOV圖像,加上兩個或更多個關於各自不同的感興趣的區域的較低FOV圖像。
現在將描述用於對多FOV圖像編碼的技術,以該種方式,可以使用諸如HDMI接口和電纜的常規樣式傳輸介質將它們從例如遊戲控制臺傳遞到用於顯示的HMD。
一項示例性技術涉及將圖像對(高FOV和低FOV)格式化和偽裝成「虛擬(dummy)」3-D高清晰度圖像,例如用於經過諸如HDMI 1.4視頻鏈路的鏈路傳輸。另一示例性技術涉及以高於圖像生成的速率的幀速率對該對圖像編碼。
因此,參考圖35所描述的技術提供以下一個或多個的示例:就由低FOV表示所表示的圖像區域而言主要使用來自該低FOV表示的圖像內容,對於其它圖像區域使用來自相應的高FOV表示的圖像內容;至少針對低FOV表示的中心區域,通過低FOV表示的相應圖像內容來替換高FOV表示的圖像內容;以及至少針對低FOV表示的周邊區域,將低和高FOV表示的圖像內容混合。還可以使用以上所討論的重新投影技術,以使圖像的組合包括重新投影以根據期望的顯示視點形成各自的顯示圖像。
圖36示意性地示出了對多FOV圖像編碼為連續的合成圖像。
在以下將描述的圖36和圖37這兩個圖中,假設顯示器(在本示例中為HMD)是立體顯示器,因此生成左和右圖像兩者。以(例如)30赫茲的幀速率和(例如)1440×1620×2的解析度在例如視頻遊戲控制臺的渲染緩衝器中生成的左和右圖像被標記為圖像1800、1810。據此,編碼器(以下參照圖45描述的)生成相應的高FOV和低FOV的圖像。
針對左和右分量中的每個的高和低FOV圖像中的每個具有與這四個圖像中的每個其他的相同的解析度。它們也具有與原始的1440×1620圖像相同的縱橫比(在本示例中)。通過編碼器將它們成對地組合以使得從原始圖像對1800、1810生成的四個圖像中的兩個被編碼為第一高清晰度60赫茲幀1820,其餘的兩個被編碼為下一個高清晰度60赫茲幀1830。以這種方式,生成的所有四個圖像(左、右、高FOV、低FOV)可以以生成原始圖像1800、1810所根據的原始30赫茲幀周期被發送。然後可以對這些圖像處理,並且由HMD以30赫茲或其它幀速率進行顯示。
圖36示出一個示例性的置換(permutation),其中這四個圖像被劃分成兩個高清晰度60赫茲幀1820、1830。當然應理解的是,也可以使用其他可用的置換代替。
在HMD處,左和右圖像中的每個的高FOV和低FOV部分被再次組合,並且在本發明的實施例中,被重新投影以顯示給用戶的左眼和右眼。在本發明的實施例中,利用以上參考圖22和圖24所討論的技術進行重新投影,也就是說,獲取最新的HMD位置並且基於最新的HMD位置和適合該圖像原始生成時刻的位置將用於顯示給每隻眼睛的圖像重新投影。用於由HMD顯示的輸出圖像指示為1840、1850。
圖37示意性地示出了對多FOV圖像編碼為虛擬3D圖像。這裡,術語「虛擬」意味著使用適用於3D圖像的傳輸格式,但由該傳輸格式實際所編碼的圖像可能是或可能不是可觀看(例如,在3D電視顯示器上)為立體圖像對的。然而,注意在諸如圖37所示的一些布置中,「虛擬」圖像實際上是在3D顯示器上可立體地觀看的,但是或許圖像內容在觀看者看來有些奇怪,由於該顯示器將會在低FOV圖像旁邊示出高FOV圖像。
再一次,該處理開始於生成的左和右圖像1800、1810,(本示例中)每個大小為1440×1620像素並且以830赫茲幀速率生成。從左和右圖像1800、1810中的每個形成低和高FOV圖像。然而,相比於圖36,該對左圖像被格式化成單個幀1860並且該對右圖像被格式化成單個幀1870,使得這兩個幀1860、1870形成例如為720p(720行,逐行掃描)解析度的3-D視頻信號的左和右圖像。3-D視頻信號的幀速率可以例如是60赫茲。再一次,這允許使用諸如HDMI電纜的標準視頻連接將每個圖像對的低和高FOV部分發送到HMD,但這裡使用3-D視頻傳輸標準。
如前所述,將低和高FOV部分在HMD處組合併且重新投影,以形成用於由HMD顯示的左和右圖像1840、1850。
圖38是示出涉及生成、編碼、解碼和使用多FOV圖像的操作的示意性的流程圖,垂直虛線1900左側的步驟(在實施例中)由遊戲控制臺或其它數據處理系統執行,並且線1900右側的步驟由HMD執行。以下將參考圖45和圖46討論用於執行這些步驟的合適的裝置。
在步驟1910中,遊戲控制臺生成左和右圖像,例如如上面所討論的將它們存儲在渲染緩衝器中。
在步驟1920中,遊戲控制臺對於每個所生成的左和右圖像生成高FOV和低FOV圖像。
在步驟1930中,將四個產生的圖像編碼成例如「虛擬」3-D視頻或者具有比在步驟1910中生成原始左和右圖像的速率更高的幀速率的視頻流中的替代圖像。在任一情況下,例如使用諸如HDMI接口和電纜的標準連接將已編碼的圖像傳遞到HMD。
在步驟1940中,HMD接收並且解碼該四個圖像,將它們存儲在合適的緩衝器中。
最後,在步驟1950中,HMD根據最新的HMD位置將該左和右圖像組合併且重新投影(使用圖22和圖24的技術)。
因此,圖36-38及其所附描述提供一種圖像編碼方法的示例,包括:對於一對立體圖像的左和右圖像中的每個,在輸入圖像中識別感興趣的區域;生成該輸入圖像的至少兩個生成表示,使得該表示中的一個是基本上包括輸入圖像的全部的高視場(FOV)表示,並且另一個表示是具有比該高FOV表示更低的FOV的低FOV表示,並且至少包括該感興趣的區域;其中對於高FOV表示和低FOV表示,像素解析度和圖像大小之間的關係為,使得關於該感興趣的區域,低FOV表示提供了比高FOV表示更多數量的圖像細節;通過將左和右、高FOV和低FOV表示的至少一些部分並置(juxtapose)來生成一個或多個複合圖像,以便在少於四個的複合圖像中包括該左和右、高FOV和低FOV表示的圖像內容的全部;以及發送和/或存儲(或簡稱為「輸出」)該複合圖像。
在顯示器側,這些技術提供一種圖像顯示方法的示例,包括:接收由以上限定的方法發送和/或存儲的複合圖像;對該複合圖像解複合(demutiplex)以生成左和右、高FOV和低FOV表示的組;並且將左和右圖像中的每個的低FOV表示和高FOV表示組合以提供相應的左和右顯示圖像。
以下參照圖44-45描述適用於執行這些方法(其可以或可以不至少部分地在軟體控制下操作)的裝置。該編碼方法可以由視頻遊戲機執行。該顯示方法可以由可頭戴式顯示器執行。
本發明的實施例還包括包含連續複合圖像的圖像信號以及將這種圖像信號進行存儲的存儲介質,使得該複合圖像包括輸入立體圖像對的左和右、高視場(FOV)和低FOV表示的並置的部分,以便在少於四個的複合圖像中包括該左和右、高FOV和低FOV表示的圖像內容的全部,其中對於高FOV表示和低FOV表示,像素解析度和圖像大小之間的關係為,使得關於該感興趣的區域,低FOV表示提供了比高FOV表示更多數量的圖像細節。
如上述所提到的,在複合圖像中不同圖像的各種置換是可能的,從而本發明的實施例包括生成一個或多個複合圖像,其包括通過將左和右、高FOV和低FOV表示中的第一個的整體並置至緊挨著左和右、高FOV和低FOV表示中的第二個的整體而生成第一複合圖像,以及通過將左和右、高FOV和低FOV表示中的第三個的整體並置至緊挨著左和右、高FOV和低FOV表示中的第四個的整體而生成第二複合圖像。
在本發明的實施例中,複合圖像可以以比輸入圖像的圖像重複速率較高的圖像重複速率進行輸出(發送、存儲等)、或者可以輸出為相應的左和右虛擬3D圖像。
圖39示意性地示出了所謂的幀撕裂。
幀撕裂是一種可能發生在視頻遊戲系統中的現象,其中導致用於顯示的圖像的生成和渲染的處理與圖像顯示周期並不時間同步。
考慮一個假設的示例,如果用於顯示的圖像正在以例如30赫茲的幀速率生成,那麼每1/30秒或33.3(循環的)毫秒需要新的圖像。如果生成該圖像所需的處理花費略少於該時間,那麼圖像生成可以在必須啟動下一個圖像的處理之前及時地完成。在這種系統中,它確實能夠使圖像生成和圖像輸出同步。
然而,考慮如果圖像生成花費(比如說)37毫秒的情況。如果該處理在生成圖像後暫停並且在下一個圖像周期等待同步,則將是大量的處理時間的浪費,並且僅可以實現15赫茲的圖像輸出速率。特別是,該系統將在每個圖像的生成後花費大約30毫秒等待。實際上,生成每個圖像所花費的時間可能是可變的,以使得等待時間將必須基於最壞情況的可能性,從而導致潛在的更多浪費的處理時間。因此,為了避免這種處理時間的浪費,在許多系統中,一旦系統已經生成一個圖像,其被布置為開始下一個圖像的生成,在本示例再花費37毫秒。
這種布置將避免處理能力的浪費,但應記住的是,需要以定期和固定速率以每1/30秒輸出圖像。,這種缺乏圖像生成和圖像輸出之間的同步的結果因此是,當每個圖像從渲染緩衝器輸出時,在許多情況下,它將部分地由一個圖像(一個部分完成的新生成的圖像)和部分地由之前的圖像(關於那些尚未被新生成的圖像重寫的部分)構成。在圖39中示意性地示出這種情形,其中,就所生成的圖像1960的任意一個而言,一個部分1970是新生成的圖像(圖像n)的一部分,但另一部分1980是之前生成的圖像(圖像n-1)的一部分。
這種類型的布置是在視頻遊戲系統中相對常見的,而且在許多情況下不會導致困難。然而,在使用重新投影的系統中,它可能會導致問題。
這是由於每個圖像是初始地對應於在啟動該圖像的生成的時刻取樣的HMD的視點生成的(可以回顧的是在該圖像的顯示的時刻將重新投影用於將視點改變為當前HMD視點)。但是,如果如圖39所示,圖像由不同部分構成,可能的是適合於構成的圖像(圖像n和圖像n-1)中的每個的各自的視點是不同的。這可能導致關於上述的重新投影技術的一個大問題。
為了解決這個問題,在本發明的實施例中使用一種特定類型的圖像元數據編碼。將參考圖40和圖41描述這種編碼。這尤其與其中與預定圖像輸出周期同步地周期地執行生成連續輸出圖像、但相對於生成連續輸出圖像的步驟不同步地執行生成圖像內容的布置相關。
圖40示意性地示出了元數據編碼技術,該技術對可能經受所謂的幀撕裂的系統而言尤其有用。圖41示意性地表示根據本技術的已編碼的元數據。
參考圖40,在步驟2000中,在已編碼的圖像的頂部,將對應於待編碼的圖像的上部分的視圖矩陣的視圖矩陣數據(限定圖像生成所依據的視圖矩陣的元數據)進行編碼。在圖41的示例中,該編碼藉助於已編碼的圖像中的虛擬像素行2010,使得代替於這些數據位置由像素數據所佔據,它們替代地由已編碼的視圖矩陣元數據所佔據。在圖39-41的示例中,行2010將攜帶圖像n的視圖矩陣元數據。
作為步驟2020,在圖像的側面向下對圖像標識符進行編碼,例如在一列虛擬像素2030中。例如,該圖像標識符可以形成為滾動的七或八位(bit)值(因此在一些編碼技術中,這將佔據一列像素),其表示以滾動為基礎的連續幀。幀標識符值在一些實施例中至少存在於每行像素,以使得在圖像撕裂情況下,存在每行像素初始源自於哪個圖像的逐行的定義。在本示例中,像素列2030的上部分編碼為圖像編號n(或至少在這些示例中,該編號的模數27或28計數)像素列2030的下部分編碼為圖像編號n-1。
當然,在列2030中並非每行必須具有虛擬像素;該編碼可以適用於行的組合(例如,八位虛擬像素值的組合,該八位值的四個兩位像素部分中的每個可能指示四個各自的行中的每個的圖像編號(模數4))。或者實際上由列2030提供的數據可以提供一次,例如作為在該圖像的頂部或底部處、或者在其他地方的行中的虛擬像素數據,。
元數據編碼處理的最後階段是在圖40中的步驟2040中,其中,在圖像的底部對該圖像的下部分的視圖矩陣數據進行編碼。在本示例中,編碼藉助於一個或多個虛擬像素行2050,並且攜帶圖像n-1的視圖矩陣數據。
因此,在假設幀撕裂將導致不多於兩個圖像貢獻成特定的輸出圖像(換言之,圖39的示例)的情況下,目前的布置提供了兩組視圖矩陣數據,一個在對應於上部分的視圖矩陣(或者具體地,適用於頂部真實像素行的視圖矩陣數據)的圖像的頂部,以及一個在對應於下部分的視圖矩陣(或者具體地,適用於底部真實像素行的視圖矩陣數據)的圖像的底部。虛擬像素列2030中的圖像標識符用於識別這些視圖矩陣數據組中的哪個適用於每行像素。如果涉及三個或更多個圖像,各個位置(諸如,在圖像的底部處的另外的像素行)可以用於與第三或後續的圖像相關聯的視點數據。
應理解的是,不一定使用虛擬像素對這些項目進行編碼。可以使用單獨的相關聯的數據代替。然而,使用所描述的虛擬像素的優點在於,它們總是與圖像一起攜帶,然而相關聯但單獨的元數據可能或者不能通過某些傳輸路由而從圖像剝離或分離。然而,如果使用虛擬像素數據,認為其優點在於將其置於圖像的最外邊緣(頂部、底部、左、右),以減少其對圖像的視覺部分的影響並允許它在顯示之前被移除。
本發明的實施例可以提供將至少一部分元數據編碼為各自的輸出圖像內的像素數據。例如,指示該輸出圖像的哪些部分是根據每個視點生成的元數據可以被編碼為該輸出圖像中的像素行的至少一個子集中的每個的一個邊緣處的像素數據。例如,指示該輸出圖像的哪些部分是根據每個視點生成的元數據可以被提供為該輸出圖像中的每個像素行的一個邊緣處的像素數據,以便指示關於該像素行的視點。例如,指示關於包含在該輸出圖像中的圖像內容的每個視點可以被編碼為各自的輸出圖像內的像素數據。例如,指示關於包含在該輸出圖像中的圖像內容的每個視點可以在該輸出圖像的頂部和/或底部邊緣處被編碼為各自的輸出圖像內的一行或多行像素數據中的像素數據。
因此,結合之前所討論的圖像傳輸技術,圖39-圖41提供用於處理幀撕裂的技術,通過(a)能夠限定使用該圖像固有的數據,並且是以原始圖像由每行像素表示的逐行的基礎;以及(b)能夠限定適用於圖像的不同部分的多組視圖矩陣數據。然後這些特徵有利地允許即使已發生幀撕裂時使用重新投影。以下將描述實現此的技術。
因此,圖39-圖41(結合以下討論的圖42-圖43)和其所附描述提供一種圖像編碼方法的示例,包括:根據由圖像視點數據限定的視點生成圖像內容;生成連續輸出圖像,使得每個輸出圖像包括根據一個或多個視點生成的圖像內容;以及對與每個輸出圖像相關聯的元數據進行編碼,其中該元數據指示關於包含在該輸出圖像中的圖像內容的每個視點,並且限定了該輸出圖像的那些部分是根據這些視點中的每個而生成的;以及一種圖像顯示方法的示例,用於從連續輸入圖像生成每個包括根據一個或多個視點生成的圖像內容的連續顯示圖像,該輸入圖像每個具有相關聯的元數據,該元數據指示關於包含在該輸入圖像中的圖像內容的每個視點,並且限定了該輸入圖像的哪些部分是根據這些視點中的每個而生成的,該方法包括:根據期望的顯示視點和由與該輸入圖像相關聯的元數據對於該部分限定的視點之間的任何差異,對每個輸入圖像的各部分重新投影以形成各自的顯示圖像。圖44-圖45提供可能(儘管不一定)至少部分地在合適的計算機軟體的控制下執行這種方法的裝置的示例。該編碼方法可以由視頻遊戲機執行。該顯示方法可以由可頭戴式顯示系統執行。
本發明的實施例還包括使用這些技術所生成的圖像信號,例如包括連續輸出圖像的圖像信號,以及通過其存儲這種信號的存儲介質(諸如磁碟或存儲器介質),使得每個輸出圖像包括根據一個或多個視點生成的圖像內容和與每個輸出圖像相關聯的元數據,該元數據指示關於包含在該輸出圖像中的圖像內容的每個視點,並且限定了該輸出圖像的哪些部分是根據這些視點中的每個而生成的。
當然,就特定圖像而言,在幀撕裂並不發生的情況下,行2010、2050中的兩組視圖矩陣數據將是相同的。
圖42和圖43是示意性流程圖,示出了圍繞幀撕裂的組合圖像的兩種不同的方式。討論會提到幀撕裂圖像的「第一」和「第二」部分。哪個部分對應於圖39所示的部分是任意選擇的。為了討論起見,第一部分將被認為指代圖39中的部分1970,而第二部分將被認為指代圖39中的部分1980,但如果將該部分倒過來則討論同樣是有效的。
參考圖42,基於行2010和2050中的兩組視圖矩陣數據,在步驟2100中,將幀撕裂圖像的第二部分重新投影到第一部分的視點。在步驟2110中,將重新投影的第二部分與第一部分組合。然後,在步驟2120中,將從步驟2110中產生的組合的圖像重新投影到HMD在顯示的時刻的視點。
在圖43示意性示出不同的布置,其中,在步驟2130中,將第一部分利用其各自的視圖矩陣數據重新投影到當前HMD視點。在步驟2140中,將第二部分重新投影到相同的當前HMD視點。在步驟2150中,將兩個重新投影的部分組合以用於顯示。
作為圖42的步驟2120的示例,圖44示意性地示出了幀撕裂時的重新投影處理。這裡,圖像2160已經在其生成期間經歷了幀撕裂,產生了部分A和B。儘管將哪個部分重新投影到另一部分是任意選擇的,本示例中,將較舊的幀部分(B)的重新投影到較新的幀部分(A)的視點,部分原因是更可能的是較新獲取的部分A的視點更接近於HMD的當前視點。結合本示例圖像,根據各自不同的視點生成的圖像的部分是上部和下部圖像部分;以及指示適用於上部圖像部分的元數據可以被編碼為該輸出圖像的一個或多個最頂端的像素行中的像素數據,而指示適用於下部圖像部分的元數據可以被編碼在該輸出圖像的一個或多個最底端的像素行中。
注意,作為重新投影和/或顯示處理的一部分,將任何虛擬像素元數據移除或遮蔽(或另外地在該處理的任何階段中省略),以便不被顯示。
重新投影的視點可以通過檢測觀看者的頭部的當前位置和/或方向來獲得;以及根據檢測到的用戶頭部的當前位置和/或方向得到顯示視點。
(類似地,如之前所討論的,可以通過檢測觀看者頭部的初始位置和/或方向得到用於圖像生成的視點;並且將檢測到的初始位置和/或方向提供給圖像生成器以根據該初始位置和/或方向作為視點來生成圖像內容。)
這些技術當然對於單個圖像或以上所討論類型的低和高FOV圖像操作相同。
作為執行以上所討論的各種操作的實施例的示例,圖45示意性地示出了圖像生成器的一部分;以及圖46示意性地示出了HMD的一部分。
在圖45中,渲染引擎2200響應於遊戲參數2210以生成適當的輸出圖像,其被存儲在渲染緩衝器2220中。輸出編碼器2230生成以上所討論類型的輸出圖像。
在圖46中,解碼器和緩衝器2240接收由輸出編碼器2230提供的已編碼的圖像,對它們進行解碼和緩衝。如果適當的話,解碼器和緩衝器2240還對如以上所討論的低和高FOV圖像組合。重新投影單元2250響應於當前HMD視點2260以生成輸出圖像,其在顯示器(例如,每隻眼睛一個顯示器)2270上進行顯示。
以上所述技術可以在硬體、軟體或兩者的組合中實現。在採用軟體控制數據處理裝置以實現實施例的一個或多個特徵的情況下,將理解的是這種軟體、以及提供的這種軟體的諸如非瞬時性機器可讀存儲介質的存儲器或傳輸介質,也被認為是本發明的實施例。
數據信號
應當理解通過以上所討論的裝置的變體生成的數據信號、以及攜帶這種信號的存儲器或傳輸介質,被認為代表本公開的實施例。
就以上所討論的處理、編碼或解碼的方法,應理解,配置為執行這種方法的裝置也被認為代表本公開的實施例。還將理解的是,包括這種技術的視頻存儲器、傳輸、捕捉和/或顯示裝置被認為代表本公開的實施例。
對於已被描述為至少部分地由軟體控制數據處理裝置實現的本公開的實施例,應理解,攜帶這種軟體的非瞬時性機器可讀介質,諸如光碟、磁碟、半導體存儲器等也被認為代表本公開的實施例。
根據上述教導,清楚的是本公開的許多修改和變型是可能的。因此應理解,在所附的權利要求的範圍內,該技術可以以不同於這裡所具體描述予以實踐。