欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

將現(xiàn)實世界比例應用于虛擬內(nèi)容的制作方法

文檔序號:11288215閱讀:317來源:國知局
將現(xiàn)實世界比例應用于虛擬內(nèi)容的制造方法與工藝

背景

混合現(xiàn)實是一種允許將虛擬圖像與現(xiàn)實世界物理環(huán)境相混合的技術。用戶可佩戴透視、頭戴式、混合現(xiàn)實顯示設備來查看顯示在用戶的視野中的現(xiàn)實對象和虛擬對象的混合圖像。創(chuàng)建虛擬內(nèi)容并與虛擬內(nèi)容一起工作可能是有挑戰(zhàn)性的,因為虛擬內(nèi)容不具有固有的單位比例(scale)。內(nèi)容創(chuàng)建者通常在創(chuàng)建內(nèi)容時定義其自己的比例,并期望他人使用相同的比例來消費該內(nèi)容。這進而導致難以理解虛擬內(nèi)容比例和現(xiàn)實世界比例之間的關系。其在嘗試使用有限的2d顯示器來查看虛擬內(nèi)容時還要復雜,并且還可使得進行詳盡的內(nèi)容編輯變得困難。

概述

本技術的各實施例涉及一種用于從虛擬內(nèi)容內(nèi)的查看視角查看、探索、體驗虛擬內(nèi)容以及與虛擬內(nèi)容進行交互的系統(tǒng)和方法。實際上,用戶被縮小并被插入到虛擬內(nèi)容中,使得用戶可體驗虛擬內(nèi)容的實物大小視圖。用于在虛擬環(huán)境內(nèi)創(chuàng)建虛擬對象的系統(tǒng)一般包括耦合至至少一個處理單元的透視、頭戴式顯示設備。處理單元與(諸)頭戴式顯示設備協(xié)作能夠顯示用戶正作用于的或以其他方式希望體驗的虛擬工件。

本技術允許用戶選擇查看虛擬工件的模式,在本文中被稱為沉浸模式。在沉浸模式中,用戶能夠選擇虛擬化身,該虛擬化身可以是用戶放置在虛擬工件中或虛擬工件附近的某處的該用戶的經(jīng)縮小的模型。那時,向用戶顯示的視圖是來自該化身的視角的視圖。實際上,用戶被收縮并沉浸在虛擬內(nèi)容中。用戶可在實物大小比例上查看、探索、體驗虛擬內(nèi)容中的工件以及與其進行交互,例如與以同用戶在現(xiàn)實世界中的大小一比一的大小比例出現(xiàn)的工件進行交互。

除了得到對虛擬工件的實物大小視角外,以沉浸模式查看虛擬工件還在用戶與工件的交互方面提供了更大的精度。例如,在從實際的現(xiàn)實世界空間查看虛擬工件時(在本文中被稱為現(xiàn)實世界模式),用戶從多個小虛擬件中選擇一個小虛擬件并與其進行交互的能力可受到限制。然而,當處于沉浸模式時,用戶正在查看工件的實物大小的比例,并且能夠以更大的精度與各小件進行交互。

提供本概述以便以簡化的形式介紹以下在詳細描述中進一步描述的一些概念。本概述并非旨在標識出要求保護的主題的關鍵特征或必要特征,亦非旨在用作輔助確定要求保護的主題的范圍。

附圖簡述

圖1是包括現(xiàn)實和虛擬對象的虛擬現(xiàn)實環(huán)境的圖解。

圖2是頭戴式顯示單元的一個實施例的透視圖。

圖3是頭戴式顯示單元的一個實施例的一部分的側視圖。

圖4是頭戴式顯示單元的各組件的一個實施例的框圖。

圖5是與頭戴式顯示單元相關聯(lián)的處理單元的各組件的一個實施例的框圖。

圖6是與頭戴式顯示單元相關聯(lián)的處理單元的各軟件組件的一個實施例的框圖。

圖7是示出與本系統(tǒng)的頭戴式顯示單元相關聯(lián)的一個或多個處理單元的操作的流程圖。

圖8-12是圖7的流程圖中所示的各步驟的示例的更詳細的流程圖。

圖13-16解說用戶通過現(xiàn)實世界模式查看虛擬環(huán)境中的工件的示例。

圖17-19解說根據(jù)本技術的各方面的從沉浸模式內(nèi)查看到的虛擬環(huán)境的示例。

詳細描述

現(xiàn)在將參考各附圖描述本技術的各實施例,這些圖一般涉及用于在混合現(xiàn)實環(huán)境中通過虛擬對象的沉浸式視圖來查看、探索、體驗這些虛擬對象并與其進行交互的系統(tǒng)和方法(本文中也被稱為全息圖)。在各實施例中,該系統(tǒng)和方法可使用移動混合現(xiàn)實組裝件來生成三維混合現(xiàn)實環(huán)境?;旌犀F(xiàn)實組裝件包括耦合到具有相機和顯示元件的頭戴式顯示設備(或其他合適的裝置)的移動處理單元。

處理單元可執(zhí)行經(jīng)縮放的沉浸軟件應用,該應用允許用戶通過將用戶控制的化身插入到虛擬內(nèi)容中并從該化身的視角顯示該虛擬內(nèi)容來使他或她自己沉浸在該虛擬內(nèi)容中。如以下所描述的,用戶可用現(xiàn)實世界模式和沉浸模式兩者來與虛擬工件的虛擬對象進行交互。

頭戴式顯示設備的顯示元件在一定程度上是透明的,使得用戶可透過該顯示元件看到在該用戶的視野(fov)內(nèi)的現(xiàn)實世界對象。該顯示元件還提供將虛擬圖像投影到該用戶的fov中以使得所述虛擬圖像也可出現(xiàn)在現(xiàn)實世界對象旁邊的能力。在現(xiàn)實世界模式中,系統(tǒng)自動地跟蹤用戶所看之處,從而該系統(tǒng)可確定將虛擬圖像插入到該用戶的fov中的何處。一旦該系統(tǒng)知曉要將該虛擬圖像投影至何處,就使用該顯示元件投影該圖像。

在沉浸模式中,用戶將用戶控制的化身放置在虛擬內(nèi)容中。該虛擬內(nèi)容包括(諸)虛擬工件和附屬于(諸)虛擬工件的區(qū)域。虛擬工件可以是部分構造虛擬對象,或在其正被創(chuàng)建時用戶可查看到的對象的集合。虛擬工件也可以是完整虛擬對象,或用戶正在查看的對象的集合。

當以沉浸模式操作時,系統(tǒng)跟蹤用戶正在看現(xiàn)實世界中的何處,并隨后使用經(jīng)縮放的沉浸矩陣將虛擬內(nèi)容的經(jīng)顯示視圖變換到虛擬化身的經(jīng)縮放的視角。用戶在現(xiàn)實世界中的移動導致在沉浸式視圖中化身的查看視角的相應經(jīng)縮放改變。這些特征在以下被解釋。

在各實施例中,處理單元可構建包括房間或其它環(huán)境中的用戶、現(xiàn)實世界對象和虛擬三維對象的x、y、z笛卡爾位置的環(huán)境的三維模型。該三維模型可由移動處理單元自身或者同其他處理設備合作工作來生成,如此后所解釋的。

在現(xiàn)實世界模式中,經(jīng)由頭戴式顯示設備從該頭戴式顯示設備的視角以及用戶自己的眼睛向用戶顯示虛擬內(nèi)容。該視角在本文中被稱為現(xiàn)實世界視圖。在沉浸模式中,查看視角被縮放、旋轉(zhuǎn)、轉(zhuǎn)換到虛擬內(nèi)容內(nèi)的位置和定向。該查看視角在本文中被稱為沉浸視圖。

從概念上講,沉浸視圖是一旦化身被用戶定位在虛擬內(nèi)容內(nèi)并在虛擬內(nèi)容內(nèi)被設定大小,該化身將“看見”的視圖。用戶可如以下所解釋的那樣移動化身,使得化身在沉浸視圖中“看見”的虛擬內(nèi)容改變。因此,在本文中,有時沉浸視圖是按照化身對虛擬內(nèi)容的視圖或視角來描述的。然而,從軟件視角來說,如以下所解釋的,沉浸視圖是從笛卡爾空間中的點xi,yi,zi開始的視錐體以及從該點開始的單位向量(俯仰i,偏航i和滾轉(zhuǎn)i)。如以下還解釋的,那個點和單位向量是從由用戶在虛擬內(nèi)容中設置的化身的初始位置和定向以及由用戶設置的化身的經(jīng)縮放的大小中導出的。

如以下所描述的,用戶可用現(xiàn)實世界模式和沉浸模式兩者來與虛擬工件的虛擬對象進行交互。如本文中所使用的,術語“交互”包含物理和口頭姿勢兩者。物理姿勢包括用戶使用他或她的手指、手和/或其他身體部位執(zhí)行由混合現(xiàn)實系統(tǒng)識別為使該系統(tǒng)執(zhí)行預定義動作的用戶命令的預定義姿勢。這樣的預定義姿勢可包括但不限于頭部瞄準、眼睛瞄準(注視)、指向、抓握、推動、重設大小和塑造虛擬對象。

物理交互可進一步包括用戶對虛擬對象的接觸。例如,用戶可將他或她的手定位在三維空間中與虛擬對象的位置相對應的位置處。用戶可此后執(zhí)行諸如抓握或推動之類的姿勢,該姿勢被混合現(xiàn)實系統(tǒng)解釋,并且相應的動作對虛擬對象執(zhí)行,例如該對象可被抓握并可此后被拿在用戶的手中,或者該對象可被推動并且被移動與推動運動的程度相對應的量。作為進一步示例,用戶可通過推動虛擬按鈕來與虛擬按鈕進行交互。

用戶還可以用他的或她的眼睛來與虛擬對象物理地交互。在一些實例中,眼睛注視數(shù)據(jù)標識用戶正關注于fov中的何處,并且因而可以標識用戶正在看某一特定虛擬對象。持續(xù)的眼睛注視,或者一次眨眼或眨眼序列,因而可以是用戶借助來選擇一個或多個虛擬對象的物理交互。

用戶可替換地或附加地使用口頭姿勢來與虛擬對象進行交互,口頭姿勢為諸如舉例來說被該混合現(xiàn)實系統(tǒng)識別為使該系統(tǒng)執(zhí)行預定義動作的用戶命令的口述單詞或短語。口頭姿勢可連同物理姿勢一起使用以與虛擬環(huán)境中的一個或多個虛擬對象交互。

圖1解說了用于通過將虛擬內(nèi)容21與每一用戶的fov內(nèi)的現(xiàn)實內(nèi)容23融合來向用戶提供混合現(xiàn)實體驗的混合現(xiàn)實環(huán)境10。圖1示出兩個用戶18a和18b,每一用戶均佩戴頭戴式顯示設備2,并且每一用戶均在查看調(diào)整到其視角的虛擬內(nèi)容21。應理解,圖1中示出的特定虛擬內(nèi)容僅作為示例,并且可以是形成如以下所解釋的虛擬工件的各種各樣的虛擬對象中的任一者。如圖2中所示出的,每一頭戴式顯示設備2可包括其自己的處理單元4或例如經(jīng)由軟線6與其自己的處理單元4通信。頭戴式顯示設備可替換地與處理單元4無線地通信。在進一步實施例中,處理單元4可被集成到頭戴式顯示設備2中。在一個實施例中為眼鏡形狀的頭戴式顯示設備2被佩戴在用戶的頭上,使得用戶可以透過顯示器進行觀看,并且從而具有該用戶前方的空間的實際直接視圖。下面提供頭戴式顯示設備2和處理單元4的更多細節(jié)。

在處理單元4沒有被并入頭戴式顯示設備2中的情況下,處理單元4可以是例如佩戴在用戶的手腕上或儲放在用戶的口袋中的小型便攜式設備。處理單元4可包括執(zhí)行諸如游戲應用、非游戲應用等應用的硬件組件和/或軟件組件。在一個實施例中,處理單元4可包括可執(zhí)行存儲在處理器可讀存儲設備上的用于執(zhí)行本文中描述的過程的指令的處理器,如標準化處理器、專用處理器、微處理器等。在各實施例中,處理單元4與一個或多個遠程計算系統(tǒng)無線地(例如,wifi、藍牙、紅外、或其他無線通信手段)通信。這些遠程計算系統(tǒng)可包括計算機、游戲系統(tǒng)或控制臺或遠程服務提供者。

頭戴式顯示設備2和處理單元4可彼此協(xié)作以在混合現(xiàn)實環(huán)境10中向用戶呈現(xiàn)虛擬內(nèi)容21。以下解釋了用于構建虛擬對象的本系統(tǒng)的細節(jié)?,F(xiàn)將參考圖2-6來解釋使得能夠構建虛擬對象的移動頭戴式顯示設備2和處理單元4的細節(jié)。

圖2和3示出了頭戴式顯示設備2的透視圖和側視圖。圖3僅僅示出了頭戴式顯示設備2的右側,其包括具有鏡腿102和鼻梁104的那部分。在鼻梁104中置入了話筒110用于記錄聲音以及將音頻數(shù)據(jù)傳送給處理單元4,如下所述。在頭戴式顯示設備2的前方是朝向房間的視頻相機112,該視頻相機112可以捕捉視頻和靜止圖像。那些圖像被傳送至處理單元4,如下所述。

頭戴式顯示設備2的鏡架的一部分將圍繞顯示器(顯示器包括一個或多個透鏡)。為了示出頭戴式顯示設備2的組件,未描繪圍繞顯示器的鏡架部分。該顯示器包括光導光學元件115、不透明濾光器114、透視透鏡116和透視透鏡118。在一個實施例中,不透明度濾光器114處于透視透鏡116之后并與其對齊,光導光學元件115處于不透明度濾光器114之后并與其對齊,而透視透鏡118處于光導光學元件115之后并與其對齊。透視透鏡116和118是眼鏡中使用的標準鏡片,并且可根據(jù)任何驗光單(包括無驗光單)來制作。在一個實施例中,透視透鏡116和118可由可變處方透鏡取代。不透明度濾光器114濾除自然光(要么以每像素為基礎,要么均勻地)以增強虛擬圖像的對比度。光導光學元件115將人造光引導到眼睛。下面提供不透光濾光器114和光導光學元件115的更多細節(jié)。

在鏡腿102處或鏡腿102內(nèi)安裝有圖像源,該圖像源(在一個實施例中)包括用于對虛擬圖像進行投影的微顯示器120、以及用于將圖像從微顯示器120引導到光導光學元件115中的透鏡122。在一個實施例中,透鏡122是準直透鏡。

控制電路136提供支持頭戴式顯示設備2的其他組件的各種電子裝置??刂齐娐?36的更多細節(jié)在下文參照圖4提供。處于鏡腿102內(nèi)部或安裝到鏡腿102的是耳機130、慣性測量單元132、以及溫度傳感器138。在圖4中所示的一個實施例中,慣性測量單元132(或imu132)包括慣性傳感器,諸如三軸磁力計132a、三軸陀螺儀132b以及三軸加速度計132c。慣性測量單元132感測頭戴式顯示設備2的位置、定向和突然加速度(俯仰、滾轉(zhuǎn)和偏航)。除了磁力計132a、陀螺儀132b和加速度計132c之外或者取代磁力計132a、陀螺儀132b和加速度計132c,imu132還可包括其他慣性傳感器。

微顯示器120通過透鏡122來投影圖像。存在著可被用于實現(xiàn)微顯示器120的不同的圖像生成技術。例如,微顯示器120可以使用透射投影技術來實現(xiàn),其中光源由光學活性材料來調(diào)制,用白光從背后照亮。這些技術通常使用具有強大背光和高光能量密度的lcd型顯示器來實現(xiàn)。微顯示器120還可使用反射技術來實現(xiàn),其中外部光被光學活性材料反射并調(diào)制。取決于該技術,照明是由白光源或rgb源來向前點亮的。數(shù)字光處理(dlp)、硅上液晶(lcos)、以及來自qualcomm有限公司的顯示技術是高效的反射技術的示例(因為大多數(shù)能量從已調(diào)制結構反射離開)并且可被用在本系統(tǒng)中。附加地,微顯示器120可以使用發(fā)射技術來實現(xiàn),其中光由該顯示器生成。例如,來自microvision有限公司的picoptm顯示引擎使用微型鏡面舵來將激光信號發(fā)射到擔當透射元件的小型屏幕上或直接將光束(例如,激光)發(fā)射到眼睛。

光導光學元件115將來自微顯示器120的光傳送到佩戴頭戴式顯示設備2的用戶的眼睛140。光導光學元件115還允許如箭頭142所描繪的那樣將光從頭戴式顯示設備2的前方通過光導光學元件115傳送到眼睛140,從而除了接收來自微顯示器120的虛擬圖像之外還允許用戶具有頭戴式顯示設備2的前方的空間的實際直接視圖。從而,光導光學元件115的壁是透視的。光導光學元件115包括第一反射表面124(例如鏡面或其他表面)。來自微顯示器120的光穿過透鏡122并入射在反射表面124上。反射表面124反射來自微顯示器120的入射光,使得光通過內(nèi)反射被陷在包括光導光學元件115的平面基底內(nèi)。在基底的表面上進行若干次反射之后,被陷的光波到達選擇性反射表面126的陣列。注意,五個表面中只有一個表面被標記為126以防止附圖太過擁擠。反射表面126將從基底出射并入射在這些反射表面上的光波耦合進用戶的眼睛140。

由于不同光線將以不同視角傳播并彈離襯底的內(nèi)部,因此這些不同的光線將以不同視角擊中各個反射面126。因此,不同光線將被所述反射面中的不同反射面從基底反射出。關于哪些光線將被哪個表面126從基底反射出的選擇是通過選擇表面126的合適視角來設計的。光導光學元件的更多細節(jié)可在于2008年11月20日公開的題為“substrate-guidedopticaldevices”(基底導向的光學設備)的美國專利公開號2008/0285140中找到。在一個實施例中,每只眼睛將具有其自己的光導光學元件115。當頭戴式顯示設備2具有兩個光導光學元件時,每只眼睛都可以具有其自己的微顯示器120,該微顯示器120可以在兩只眼睛中顯示相同圖像或者在兩只眼睛中顯示不同圖像。在另一實施例中,可以存在將光反射到兩只眼睛中的一個光導光學元件。

與光導光學元件115對齊的不透明濾光器114要么均勻地、要么以每像素為基礎來選擇性地阻擋自然光,以免其穿過光導光學元件115。于2010年9月21日提交的bar-zeev等人的題為“opacityfilterforsee-throughmounteddisplay(用于透視安裝顯示器的不透明度濾光器)”的美國專利公開號2012/0068913中提供了不透明度濾光器114的示例的細節(jié)。然而,一般而言,不透明濾光器114的一實施例可以是透視lcd面板、電致變色膜(electrochromicfilm)或能夠充當不透明濾光器的類似設備。不透明度濾光器114可以包括致密的像素網(wǎng)格,其中每個像素的透光率能夠在最小和最大透光率之間被單獨地控制。盡管0-100%的透光率范圍是理想的,然而更受限的范圍也是可接受的,諸如例如每像素約50%到90%。

在用代理為現(xiàn)實世界對象進行z-緩沖(z-buffering)之后,可以使用來自渲染流水線的阿爾法值的掩碼(mask)。當系統(tǒng)為混合現(xiàn)實顯示器渲染場景時,該系統(tǒng)記錄哪些現(xiàn)實世界對象處于哪些虛擬對象之前,如同下面解釋的。如果虛擬對象處于現(xiàn)實世界對象之前,則不透明度對于該虛擬對象的覆蓋區(qū)域而言可以是開啟的。如果虛擬對象(虛擬地)處于現(xiàn)實世界對象之后,則不透明度以及該像素的任何顏色都可被關閉,使得對于現(xiàn)實光的該相應區(qū)域(其大小為一個像素或更多)而言,用戶將會看到現(xiàn)實世界對象。覆蓋將是以逐像素為基礎的,所以該系統(tǒng)可以處置虛擬對象的一部分處于現(xiàn)實世界對象之前、該虛擬對象的一部分處于現(xiàn)實世界對象之后、以及該虛擬對象的一部分與現(xiàn)實世界對象相重合的情況。對這種用途而言,最期望的是能夠以低的成本、功率和重量來從0%開始直至100%不透明度的顯示器。此外,不透明度濾光器可以比如用彩色lcd或用諸如有機led等其他顯示器來以彩色進行呈現(xiàn)。

頭戴式顯示設備2還包括用于跟蹤用戶的眼睛的位置的系統(tǒng)。如下面將會解釋的那樣,該系統(tǒng)將跟蹤用戶的位置和定向,使得該系統(tǒng)可以確定用戶的fov。然而,人類將不會感知到他們前方的一切。而是,用戶的眼睛將被導向該環(huán)境的一子集。因此,在一個實施例中,該系統(tǒng)將包括用于跟蹤用戶的眼睛的位置以便細化對該用戶的fov的測量的技術。例如,頭戴式顯示設備2包括眼睛跟蹤組件134(圖3),該眼睛跟蹤組件134具有眼睛跟蹤照明設備134a和眼睛跟蹤相機134b(圖4)。在一個實施例中,眼睛跟蹤照明設備134a包括一個或多個紅外(ir)發(fā)射器,這些紅外發(fā)射器向眼睛發(fā)射ir光。眼睛跟蹤相機134b包括一個或多個感測反射的ir光的相機。通過檢測角膜的反射的已知成像技術,可以標識出瞳孔的位置。例如,參見于2008年7月22日頒發(fā)的題為“headmountedeyetrackinganddisplaysystem”(頭戴式眼睛跟蹤和顯示系統(tǒng))的美國專利號7,401,920。此類技術可以定位眼睛的中心相對于跟蹤相機的位置。一般而言,眼睛跟蹤涉及獲得眼睛的圖像并使用計算機視覺技術來確定瞳孔在眼眶內(nèi)的位置。在一個實施例中,跟蹤一只眼睛的位置就足夠了,因為雙眼通常一致地移動。然而,單獨地跟蹤每只眼睛是可能的。

在一個實施例中,該系統(tǒng)將使用以矩形布置的4個irled和4個ir光電檢測器,使得在頭戴式顯示設備2的透鏡的每個角處存在一個irled和ir光電檢測器。來自led的光從眼睛反射離開。由在4個ir光電檢測器中的每個處所檢測到的紅外光的量來確定瞳孔方向。也就是說,眼睛中眼白相對于眼黑的量將確定對于該特定光電檢測器而言從眼睛反射離開的光量。因此,光電檢測器將具有對眼睛中的眼白或眼黑的量的度量。從這4個采樣中,該系統(tǒng)可確定眼睛的方向。

另一替代方案是如上面所討論的那樣使用4個紅外led,但是在頭戴式顯示設備2的透鏡的一側上使用一個紅外ccd。ccd可使用小鏡子和/或透鏡(魚眼),以使得ccd可對來自眼鏡框的可見眼睛的多達75%成像。然后,該ccd將感測圖像并且使用計算機視覺來找出該圖像,就像上文所討論的那樣。因此,盡管圖3示出了具有一個ir發(fā)射器的一個部件,但是圖3的結構可以被調(diào)整為具有4個ir發(fā)射器和/或4個ir傳感器。也可以使用多于或少于4個的ir發(fā)射器和/或多于或少于4個的ir傳感器。

用于跟蹤眼睛的方向的另一實施例基于電荷跟蹤。此概念基于以下觀察:視網(wǎng)膜攜帶可測量的正電荷而角膜具有負電荷。傳感器被安裝在用戶的耳朵旁(靠近耳機130)以檢測眼睛在轉(zhuǎn)動時的電勢并且高效地實時讀出眼睛正在干什么。也可以使用用于跟蹤眼睛的其他實施例。

圖3僅僅示出了頭戴式顯示設備2的一半。完整的頭戴式顯示設備可包括另一組透視透鏡、另一不透明度濾光器、另一光導光學元件、另一微顯示器120、另一透鏡122、面向房間的相機、眼睛跟蹤組裝件134、耳機、和溫度傳感器。

圖4是描繪了頭戴式顯示設備2的各個組件的框圖。圖5是描述處理單元4的各種組件的框圖。頭戴式顯示設備2(其組件在圖4中被描繪)被用于通過將一個或多個虛擬圖像無縫地與用戶對現(xiàn)實世界的視圖融合來向用戶提供虛擬體驗。另外,圖4的頭戴式顯示設備組件包括跟蹤各種狀況的許多傳感器。頭戴式顯示設備2將從處理單元4接收關于虛擬圖像的指令,并且將把傳感器信息提供回給處理單元4。處理單元4將確定在何處以及在何時向用戶提供虛擬圖像并相應地將指令發(fā)送給圖4的頭戴式顯示設備。

圖4的組件中的一些(例如朝向房間的相機112、眼睛跟蹤相機134b、微顯示器120、不透明濾光器114、眼睛跟蹤照明134a、耳機130和溫度傳感器138)是以陰影示出的,以指示這些設備中的每個都存在兩個,其中一個用于頭戴式顯示設備2的左側,而一個用于頭戴式顯示設備2的右側。圖4示出與電源管理電路202通信的控制電路200??刂齐娐?00包括處理器210、與存儲器214(例如d-ram)進行通信的存儲器控制器212、相機接口216、相機緩沖器218、顯示驅(qū)動器220、顯示格式化器222、定時生成器226、顯示輸出接口228、以及顯示輸入接口230。

在一個實施例中,控制電路200的組件都通過專用線路或一個或多個總線彼此進行通信。在另一實施例中,控制電路200的各組件與處理器210通信。相機接口216提供到兩個朝向房間的相機112的接口,并且將從朝向房間的相機所接收到的圖像存儲在相機緩沖器218中。顯示驅(qū)動器220將驅(qū)動微顯示器120。顯示格式化器222向控制不透明濾光器114的不透明度控制電路224提供關于微顯示器120上所正顯示的虛擬圖像的信息。定時生成器226被用來為該系統(tǒng)提供定時數(shù)據(jù)。顯示輸出接口228是用于將圖像從朝向房間的相機112提供給處理單元4的緩沖器。顯示輸入接口230是用于接收諸如要在微顯示器120上顯示的虛擬圖像之類的圖像的緩沖器。顯示輸出接口228和顯示輸入接口230與作為到處理單元4的接口的帶接口232通信。

電源管理電路202包括電壓調(diào)節(jié)器234、眼睛跟蹤照明驅(qū)動器236、音頻dac和放大器238、話筒前置放大器和音頻adc240、溫度傳感器接口242、以及時鐘發(fā)生器244。電壓調(diào)節(jié)器234通過帶接口232從處理單元4接收電力,并將該電力提供給頭戴式顯示設備2的其他組件。每個眼睛跟蹤照明驅(qū)動器236都如上面所述的那樣為眼睛跟蹤照明134a提供ir光源。音頻dac和放大器238向耳機130輸出音頻信息。話筒前置放大器和音頻adc240提供用于話筒110的接口。溫度傳感器接口242是用于溫度傳感器138的接口。電源管理電路202還向三軸磁力計132a、三軸陀螺儀132b以及三軸加速度計132c提供電能并從其接收回數(shù)據(jù)。

圖5是描述處理單元4的各種組件的框圖。圖5示出與電源管理電路306通信的控制電路304??刂齐娐?04包括:中央處理單元(cpu)320、圖形處理單元(gpu)322、高速緩存324、ram326、與存儲器330(例如d-ram)進行通信的存儲器控制器328、與閃存334(或其他類型的非易失性存儲)進行通信的閃存控制器332、通過帶接口302和帶接口232與頭戴式顯示設備2進行通信的顯示輸出緩沖器336、通過帶接口302和帶接口232與頭戴式顯示設備2進行通信的顯示輸入緩沖器338、與用于連接到話筒的外部話筒連接器342進行通信的話筒接口340、用于連接到無線通信設備346的pciexpress接口、以及(一個或多個)usb端口348。在一個實施例中,無線通信設備346可包括啟用wi-fi的通信設備、藍牙通信設備、紅外通信設備等。usb端口可以用于將處理單元4對接到處理單元計算系統(tǒng)22,以便將數(shù)據(jù)或軟件加載到處理單元4上以及對處理單元4進行充電。在一個實施例中,cpu320和gpu322是用于確定在何處、何時以及如何向用戶的視野內(nèi)插入虛擬三維對象的主要力量。以下提供更多的細節(jié)。

電源管理電路306包括時鐘發(fā)生器360、模數(shù)轉(zhuǎn)換器362、電池充電器364、電壓調(diào)節(jié)器366、頭戴式顯示器電源376、以及與溫度傳感器374進行通信的溫度傳感器接口372(其可能位于處理單元4的腕帶上)。模數(shù)轉(zhuǎn)換器362被用于監(jiān)視電池電壓、溫度傳感器,以及控制電池充電功能。電壓調(diào)節(jié)器366與用于向該系統(tǒng)提供電力的電池368進行通信。電池充電器364被用來在從充電插孔370接收到電力時(通過電壓調(diào)節(jié)器366)對電池368進行充電。hmd電源376向頭戴式顯示設備2提供電力。

圖6解說了包括顯示設備2的面向房間的相機112和處理單元4上的一些軟件模塊的移動混合現(xiàn)實組裝件30的高級框圖。這些軟件模塊中的一些或全部可替換地被實現(xiàn)在頭戴式顯示設備2的處理器210上。如圖所示,面向房間的相機112向頭戴式顯示設備2中的處理器210提供圖像數(shù)據(jù)。在一個實施例中,面向房間的相機112可包括深度相機、rgb相機和ir光組件以捕捉場景的圖像數(shù)據(jù)。如以下所解釋的,面向房間的相機112可包括少于全部的這些組件。

例如使用飛行時間分析,ir光組件可將紅外光發(fā)射到場景上,并且可隨后使用傳感器(未示出)用例如深度相機和/或rgb相機來檢測從場景中的一個或多個對象的表面反向散射的光。在一些實施例中,可以使用脈沖紅外光,使得可以測量出射光脈沖與相應入射光脈沖之間的時間,并且將其用于確定從面向房間的相機112到場景中的對象(包括例如用戶的手)上的特定位置的物理距離。另外,在其他示例實施例中,可以將出射光波的相位與入射光波的相位相比較來確定相移。然后可以使用該相移來確定從捕捉設備到目標或?qū)ο笊系奶囟ㄎ恢玫奈锢砭嚯x。

根據(jù)另一示例性實施例,可以使用飛行時間分析來通過經(jīng)由包括例如快門式光脈沖成像在內(nèi)的各種技術分析反射光束隨時間的強度來間接地確定從面向房間的相機112到對象上的特定位置的物理距離。

在另一示例實施例中,面向房間的相機112可使用結構化光來捕捉深度信息。在這樣的分析中,圖案化光(即,被顯示為諸如網(wǎng)格圖案、條紋圖案、或不同圖案之類的已知圖案的光)可經(jīng)由例如ir光組件被投影到場景上。在落到場景中的一個或多個目標或?qū)ο蟮谋砻嫔弦院?,作為響應,圖案可以變?yōu)樽冃蔚?。圖案的這種變形可由例如3-d相機和/或rgb相機(和/或其他傳感器)來捕捉,并可隨后被分析以確定從面向房間的相機112到對象上的特定位置的物理距離。在一些實現(xiàn)中,ir光組件從深度和/或rgb相機移位,使得可以使用三角測量來確定與深度和/或rgb相機的距離。在一些實現(xiàn)中,面向房間的相機112可包括感測ir光的專用ir傳感器或具有ir濾波器的傳感器。

應理解,本技術可在沒有深度相機、rgb相機和ir光組件中的每一者的情況下感測對象和對象的三維位置。在各實施例中,面向房間的相機112可例如只與標準圖像相機(rgb或黑白)一起工作。這樣的實施例可通過單獨或組合使用的各種圖像跟蹤技術來操作。例如,單個、標準圖像面向房間的相機112可使用特征標識和跟蹤。即,使用來自標準相機的圖像數(shù)據(jù),有可能提取場景的感興趣區(qū)域或特征。通過查找那些相同的特征達某一時間段,可在三維空間中確定針對對象的信息。

在各實施例中,頭戴式顯示設備2可包括兩個間隔開的標準圖像面向房間的相機112。在該實例中,到場景中對象的深度可依據(jù)兩個相機的立體效果來確定。每一相機都可成像某一重疊的特征集,并且深度可從其視野中的視差差異中被計算出。

一種用于確定未知環(huán)境內(nèi)具有位置信息的現(xiàn)實世界模型的進一步方法被稱為同時定位和映射(slam)。slam的一個示例題為“systemsandmethodsforlandmarkgenerationforvisualsimultaneouslocalizationandmapping”(用于可視同時定位和映射的地標生成的系統(tǒng)和方法)的美國專利no.7,774,158中被公開。此外,來自imu的數(shù)據(jù)可被用于更準確地解釋視覺跟蹤數(shù)據(jù)。

處理單元4可包括現(xiàn)實世界建模模塊452。使用以上所描述的來自(諸)面向前面的相機112的數(shù)據(jù),現(xiàn)實世界建模模塊能夠?qū)鼍爸械母鲗ο?包括用戶的一只或兩只手)映射到三維參考幀。以下描述了現(xiàn)實世界建模模塊的進一步細節(jié)。

為了跟蹤用戶在場景內(nèi)的位置,可從圖像數(shù)據(jù)中識別用戶。處理單元4可實現(xiàn)骨架識別和跟蹤模塊448。題為“skeletaljointrecognitionandtrackingsystem(骨架關節(jié)識別和跟蹤系統(tǒng))”的美國專利公開no.2012/0162065中公開了骨架跟蹤模塊448的一示例。這樣的系統(tǒng)還可跟蹤用戶的手。然而,在各實施例中,處理單元4還可執(zhí)行手部識別和跟蹤模塊450。該模塊450接收來自面向房間的相機112的圖像數(shù)據(jù),并且能夠標識fov中的用戶的手以及用戶的手的位置。題為“systemforrecognizinganopenorclosedhand(用于識別張開或閉合的手的系統(tǒng))”的美國專利公開no.2012/0308140中公開了手部識別和跟蹤模塊450的一示例。一般來說,模塊450可檢查圖像數(shù)據(jù)以辨別可以為手指、手指之間的間距以及在手指并在一起的情況下的指間的對象的寬度和長度,以便標識并跟蹤處于其各位置的用戶的手。

處理單元4還可以包括姿勢識別引擎454以用于接收場景中的一個或多個用戶的骨架模型和/或手數(shù)據(jù),并確定該用戶是否正在執(zhí)行預定義的姿勢或影響在處理單元4上運行的應用的應用控制移動。關于姿勢識別引擎454的更多信息可以在2009年4月13日提交的題為“gesturerecognizersystemarchitecture(姿勢識別器系統(tǒng)架構)”的美國專利申請no.12/422,661中找到。

如上所述,用戶可例如以口述命令的形式執(zhí)行各種口頭姿勢以選擇對象并可能修改那些對象。因此,本系統(tǒng)進一步包括語音識別引擎456。語音識別引擎456可根據(jù)各種已知技術中的任一者來操作。

在一個示例實施例中,頭戴式顯示設備2和處理單元4一起工作以創(chuàng)建用戶所在的環(huán)境的現(xiàn)實世界模型并且跟蹤該環(huán)境中各個移動的或靜止的對象。此外,處理單元4通過跟蹤用戶18所佩戴的頭戴式顯示設備2的位置和定向來跟蹤該頭戴式顯示設備2的fov。由頭戴式顯示設備2獲得的例如來自面向房間的相機112和imu132的傳感器信息被傳送到處理單元4。處理單元4處理數(shù)據(jù)并更新現(xiàn)實世界模型。處理單元4進一步向頭戴式顯示設備2提供關于在何處、在何時以及如何插入任何虛擬三維對象的指令。根據(jù)本技術,處理單元4進一步實現(xiàn)縮放的沉浸軟件引擎458,縮放的沉浸軟件引擎458用于經(jīng)由頭戴式顯示設備2從虛擬內(nèi)容中的化身的視角向用戶顯示虛擬內(nèi)容?,F(xiàn)將參考圖7的流程圖更詳細地描述上述操作中的每一者。

圖7是處理單元4和頭戴式顯示設備2在離散時間段(比如為了生成、渲染和向每個用戶顯示單幀圖像數(shù)據(jù)所花費的時間)期間的操作和交互性的高級流程圖在各實施例中,數(shù)據(jù)可以以60hz的速率刷新,但是在另外的實施例中可以以更高或更低的頻度刷新。

可以在步驟600配置用于將虛擬環(huán)境呈現(xiàn)給一個或多個用戶18的系統(tǒng)。根據(jù)本技術的各方面,步驟600可包括從存儲器檢索用戶的虛擬化身,諸如例如圖13中示出的化身500。在各實施例中,如果尚未被存儲,則化身500可由處理單元4和頭戴式顯示設備2在步驟604生成,如以下所解釋的。化身可以是(在先前或當前時間捕捉的)用戶的副本并且隨后被存儲。在進一步實施例中,化身不需要是用戶的副本?;?00可以是另一個人或一般的人的副本。在進一步實施例中,化身500可以是除人以外的具有外觀的對象。

在步驟604,處理單元4收集來自場景的數(shù)據(jù)。該數(shù)據(jù)可以是由頭戴式顯示設備2感測到的圖像數(shù)據(jù),且具體而言,是由面向房間的相機112、眼睛跟蹤組裝件134和imu132感測到的圖像數(shù)據(jù)。在各實施例中,步驟604可包括掃描用戶以如以下所解釋的那樣渲染該用戶的化身以及確定該用戶的高度。如以下所解釋的,一旦在虛擬內(nèi)容中設定了化身的大小并對其進行了放置,就可使用用戶的高度來確定該化身的縮放比例。步驟604可進一步包括掃描用戶在其中操作移動混合現(xiàn)實組裝件30的房間,并確定房間的尺寸。如以下所解釋的,已知的房間尺寸可被用于確定化身的經(jīng)縮放的大小和位置是否將允許用戶完全地探索化身被放置在其中的虛擬內(nèi)容。

現(xiàn)實世界模型可在步驟610中被開發(fā)出,從而標識其中使用移動混合現(xiàn)實組裝件30的空間的幾何結構以及對象的幾何結構和對象在場景內(nèi)的位置。在各實施例中,在給定幀中生成的現(xiàn)實世界模型可包括該場景中用戶的(諸)手、其他現(xiàn)實世界對象和虛擬對象的x、y和z位置。以上解釋了用于收集深度和位置數(shù)據(jù)的方法。

處理單元4可接著將傳感器所捕捉到的圖像數(shù)據(jù)點轉(zhuǎn)換為場景的正交3d現(xiàn)實世界模型或圖。此正交3d現(xiàn)實世界模型可以是由頭戴式顯示設備相機所捕捉的所有圖像數(shù)據(jù)在正交x,y,z笛卡爾坐標系中的點云圖。使用將相機視圖轉(zhuǎn)化成正交3-d世界視圖的矩陣變換等式的方法是已知的。例如參見davidh.eberly的“3dgameenginedesign:apracticalapproachtoreal-timecomputergraphics”(3d游戲引擎設計:實時計算機圖形的實用方法),morgankaufman(摩根考夫曼)出版社(2000)。

在步驟612,該系統(tǒng)可檢測并跟蹤用戶的骨架和/或手(如以上所描述的),并基于移動身體部位和其他移動對象的位置來更新現(xiàn)實世界模型。在步驟614,處理單元4確定頭戴式顯示設備2在場景內(nèi)的x、y和z位置、定向以及fov?,F(xiàn)在參考附圖8的流程圖描述步驟614的進一步細節(jié)。

在步驟700,由處理單元4分析場景的圖像數(shù)據(jù)以確定用戶頭部位置、以及從用戶的面部向外直視的面部單位向量二者。頭部位置可從來自頭戴式顯示設備2的反饋中標識出,并且根據(jù)該反饋,可構造面部單位向量。面部單位向量可被用來定義用戶的頭部定向,且在一些示例中可被認為是用戶的fov的中心。也可或替代地根據(jù)從頭戴式顯示設備2上的面向房間的相機112返回的相機圖像數(shù)據(jù)來標識面部單位向量。特別而言,基于頭戴式顯示設備2上的相機112所看到的,處理單元4能夠確定表示用戶的頭部定向的面部單位向量。

在步驟704,用戶的頭部的位置和定向還可或替代地通過如下方式來被確定:分析來自較早時間(要么在幀中較早,要么來自前一幀)的用戶的頭部的位置和定向,以及然后使用來自imu132的慣性信息來更新用戶的頭部的位置和定向。來自imu132的信息可以提供用戶的頭部的精確動力學數(shù)據(jù),但是imu典型地不提供關于用戶的頭部的絕對位置信息。該絕對位置信息也被稱為“地面實況”,其可提供自從頭戴式顯示設備2上的相機處獲得的圖像數(shù)據(jù)。

在各實施例中,用戶的頭部的位置和定向可以通過聯(lián)合作用的步驟700和704來確定。在又一些實施例中,步驟700和704中的一者或另一者可被用來確定用戶的頭部的頭部位置和定向。

可能發(fā)生的是,用戶未向前平看。因此,除了標識出用戶頭部位置和定向以外,處理單元可進一步考慮用戶的眼睛在其頭部中的位置。該信息可由上述眼睛跟蹤組件134提供。眼睛跟蹤組件能夠標識出用戶的眼睛的位置,該位置可以被表示成眼睛單位向量,該眼睛單位向量示出了與用戶的眼睛聚焦所在且向前看的位置的向左、向右、向上和/或向下的偏離(即面部單位向量)。面部單位向量可以被調(diào)整為定義用戶正在看向何處的眼睛單位向量。

在步驟710,接著可以確定用戶的fov。頭戴式顯示設備2的用戶的視圖范圍可以基于假想用戶的向上、向下、向左和向右的邊界視力(peripheralvision)來預定義。為了確保針對給定用戶計算得到的fov包括特定用戶或許能夠在該fov的范圍內(nèi)看到的對象,這一假想用戶可不被當作具有最大可能邊界視力的人。在一些實施例中,某一預定的額外fov可被添加于此以確保對給定用戶捕捉足夠的數(shù)據(jù)。

然后,可以通過取得視圖范圍并且將其中心定在調(diào)整了眼睛單位向量的任何偏離的面部單位向量周圍來計算該用戶在給定時刻的fov。除了定義用戶在給定時刻正在看什么之外,用戶的fov的這一確定還有用于確定什么可能對用戶是不可見的。如以下所解釋的,將對虛擬對象的處理限制于特定用戶的fov內(nèi)的那些區(qū)域可提高處理速度并降低延遲。

如以下還解釋的,本發(fā)明可以用沉浸模式操作,其中該視圖是來自用戶控制的化身的視角的經(jīng)縮放的視圖。在一些實施例中,當以沉浸模式操作時,確定現(xiàn)實世界模型的fov的步驟710可被跳過。

本技術的各方面(包括從沉浸模式內(nèi)查看虛擬內(nèi)容的選項)可由在處理單元4上執(zhí)行的縮放的沉浸軟件引擎458(圖6)基于經(jīng)由頭戴式顯示設備2接收到的輸入來實現(xiàn)?,F(xiàn)在將參考圖9-18更詳細地解釋經(jīng)由內(nèi)容生成引擎458、處理單元4和顯示設備2從現(xiàn)實世界和沉浸模式內(nèi)查看內(nèi)容。盡管以下描述了由處理單元4執(zhí)行的處理步驟,但應理解,這些步驟可附加地或替換地由頭戴式顯示設備2和/或一些其他計算設備內(nèi)的處理器來執(zhí)行。

如以下所解釋的那樣通過現(xiàn)實世界和沉浸模式與虛擬工件交互可通過用戶執(zhí)行各種預定義姿勢來完成。物理和/或口頭姿勢可被用于選擇虛擬工具(包括化身500)或工件的各部分,諸如例如通過觸摸、指向、抓握或注視虛擬工具或工件的部分。物理和口頭姿勢可被用于修改化身或工件,諸如例如說“將化身放大20%”。這些姿勢僅作為示例,并且各種各樣的其他姿勢可被用于與化身、其他虛擬工具和/或工件進行交互。

在步驟622,處理單元4檢測用戶是否正在發(fā)起沉浸模式。這樣的發(fā)起可例如由于用戶指向、抓握或注視化身500而被檢測到,當沉浸模式中沒有使用化身500時,可將其存放在虛擬工作臺502(圖13)上。如果在步驟622檢測到對沉浸模式的選擇,則處理單元4在步驟626設置并驗證沉浸模式。現(xiàn)在將參考附圖9來解釋步驟626的進一步細節(jié)。

在步驟712,用戶可將化身500定位在虛擬內(nèi)容504中的某處,如圖14所示出的。如所陳述的,虛擬內(nèi)容504可包括一個或多個工件506以及在該工件之中和周圍的空間。一般來說,虛擬內(nèi)容504還可包括任何虛擬對象以及這樣的虛擬對象周圍的空間。一個或多個工件506可坐落在工作表面508上,該工作表面508可以是現(xiàn)實或虛擬的?;?00可在虛擬內(nèi)容中被定位在工作表面508上或工件506的表面上。還構想了虛擬對象510(圖15)被放置在工作表面508上作為基座,并且化身500被放置在對象510頂部以改變化身的高度并因此改變化身的視野。

一旦化身500被放置在期望位置,化身500就可被旋轉(zhuǎn)(圖16)和/或縮放(圖17)到期望定向和大小。當化身500被放置在一表面上時,該化身可對齊該表面的一法線。即,該化身可沿著垂直于該化身所放置在其上的表面的射線定向。如果化身500被放置在水平工作表面508上,則該化身可垂直站立。如果化身500被放置在虛擬的山或其他坡度表面上,則該化身可與其放置的位置垂直地定向??梢韵胂?,附連到工件506的懸垂部分的化身具有懸垂部分,使得化身500被顛倒定位。

化身500在虛擬內(nèi)容504中的縮放是相關的,因為它可被用于在圖9的步驟718中確定虛擬內(nèi)容504的比例以及縮放比例。具體地,如上所述,處理單元4和頭戴式設備2可協(xié)作以用現(xiàn)實世界坐標確定用戶的高度。用戶的現(xiàn)實世界高度與由該用戶設置的化身(沿著其長軸)的大小的比較在步驟718提供縮放比例。例如,在六英尺高的用戶將化身的z軸高度設置為6英寸時,這提供了12:1的縮放比例。該縮放比例僅作為示例,并且基于用戶的高度和化身500在虛擬內(nèi)容504中的高度設置可使用各種各樣的縮放比例。一旦縮放比例被設置,該縮放比例就可被用于現(xiàn)實世界視圖和經(jīng)縮放的沉浸視圖之間的所有變換,直到化身的大小被改變的時間。

圖10的流程圖提供用于確定縮放比例的一些細節(jié)。取代用戶的高度,應理解,用戶可在步驟740和744獨立于用戶的高度和/或為化身500設置的高度設置并指明縮放比例。還應理解,取代用戶的高度,一些其他現(xiàn)實世界參考尺寸可由用戶提供,并與化身500的設置高度一起被用于根據(jù)本技術確定縮放比例。步驟746和748示出了上述掃描用戶的高度并基于測量到的用戶高度和由用戶設置的化身的高度來確定縮放比例的步驟。在各實施例中,虛擬標尺或其他測量工具(未示出)可沿著化身被拉伸或收縮的軸被顯示在化身500旁邊,以在化身被重設大小時示出化身的大小。

在本技術中可按幾種方式來使用步驟718的縮放比例。例如,工件通常被創(chuàng)建而沒有任何比例。然而,一旦縮放比例被確定,該縮放比例就可被用來提供虛擬內(nèi)容504中的一個或多個工件的比例。由此,在以上示例中,在工件506包括例如具有12英寸的z軸高度的墻壁的情況下,該墻壁在現(xiàn)實世界尺寸中將縮放到12英尺。

縮放比例也可被用于針對用戶在現(xiàn)實世界中的位置的給定變化來定義在化身500的視角視圖中的位置的變化。具體地,當處于沉浸模式時,頭戴式顯示設備2從化身500的視角顯示虛擬內(nèi)容504的視圖。該視角由現(xiàn)實世界中的用戶控制。隨著用戶的頭部在現(xiàn)實世界中平移(x、y和z)或旋轉(zhuǎn)(俯仰、偏航和滾轉(zhuǎn)),這導致在化身在虛擬內(nèi)容504中的視角中的相應縮放改變(就好像化身正在執(zhí)行與用戶相同的相應移動,但根據(jù)縮放比例被縮放)。

再次參考圖9,在步驟722,一個或多個沉浸矩陣的集合被生成以用于在任一給定時刻將用戶在現(xiàn)實世界中的查看視角轉(zhuǎn)換為化身在虛擬內(nèi)容504中的查看視角。這些沉浸矩陣是使用縮放比例、用戶在現(xiàn)實世界模型中的查看視角的位置(x,y,z)和定向(俯仰、偏航、滾轉(zhuǎn))以及在化身被放置在虛擬內(nèi)容中時由用戶設置的化身的查看視角的位置(xi,yi,zi)和定向(俯仰i,偏航i,滾轉(zhuǎn)i)來生成的。當化身被定位在虛擬內(nèi)容中時,位置(xi,yi,zi)可以是在化身的臉部中心(例如,在眼睛之間)的點的位置。該點可根據(jù)化身的已知位置和經(jīng)縮放的高度來確定。

定向(俯仰i,偏航i,滾轉(zhuǎn)i)可依據(jù)從那個點開始的被定向為垂直于化身的臉部平面的單位向量給出。在各示例中,當化身被定向為處于虛擬內(nèi)容中時,面部平面可以是與化身的身體和/或頭部的前表面平行的平面。如上所述,化身可對齊該化身被定位在其上的表面的一法線。面部平面可被定義為包括該法線以及用戶定義的化身繞該法線的旋轉(zhuǎn)位置。

一旦用戶的位置和定向、化身的位置和定向以及縮放比例已知,就可確定用于在用戶的視圖和化身的視圖之間變換的縮放變換矩陣。如以上所解釋的,變換矩陣已知用于在六個自由度上將第一視圖視角轉(zhuǎn)換成第二視圖視角。例如參見davidh.eberly的“3dgameenginedesign:apracticalapproachtoreal-timecomputergraphics”(3d游戲引擎設計:實時計算機圖形的實用方法),morgankaufman(摩根考夫曼)出版社(2000)??s放比例在沉浸(變換)矩陣中被應用,使得用戶在現(xiàn)實世界中的查看視角的x、y、z、俯仰、偏航和/或滾轉(zhuǎn)移動將導致化身在虛擬內(nèi)容504中的查看視角的相應xi、yi、zi、俯仰i、偏航i和/或滾轉(zhuǎn)i移動,但根據(jù)縮放比例被縮放。

由此,作為使用以上為12:1的縮放比例的簡單示例,一旦在圖9的步驟722定義了沉浸矩陣,如果現(xiàn)實世界中的用戶沿著x軸邁了為18英寸的一步,則化身500的視角將沿著虛擬內(nèi)容504中的x軸具有相應1.5英寸的改變。

當在現(xiàn)實世界中到處移動,并以沉浸模式探索虛擬內(nèi)容時,可能會發(fā)生的是,在虛擬內(nèi)容504中化身500的特定放置和比例導致次優(yōu)體驗。在圖9的步驟724中,處理單元4可確認沉浸參數(shù)的有效性以確保該體驗是最優(yōu)的?,F(xiàn)在將參考附圖11的流程圖解釋步驟724的進一步細節(jié)。

在步驟750,處理單元4確定用戶是否已將化身500定位在固體對象內(nèi)(現(xiàn)實或虛擬)。如上所述,處理單元4維護現(xiàn)實世界中的所有現(xiàn)實和虛擬對象的圖,并且能夠確定用戶何時跨現(xiàn)實或虛擬對象的表面定位了化身。如果在步驟750確定化身的眼睛或頭部被定位在固體對象內(nèi),則處理單元4可使得頭戴式顯示設備2在步驟754提供該放置不合適的消息。用戶可隨后返回到步驟712和圖9以調(diào)整化身500的放置和/或比例。

在給定用戶正在其中使用移動混合現(xiàn)實組裝件30的現(xiàn)實世界房間的大小的情況下,也可能發(fā)生的是,用戶已將化身的比例設置得對于使用戶完全地探索虛擬內(nèi)容504而言太小了。作為任何數(shù)目的示例之一,用戶可沿著現(xiàn)實世界中的y軸遠離物理墻壁10英尺。然而,隨著用戶設置了化身500的比例,在化身的視角將到達虛擬內(nèi)容的y軸邊界之前,用戶將需要在y方向上走15英尺。由此,在給定房間的物理邊界和用戶設置的比例的情況下,可能存在虛擬內(nèi)容中用戶將可能無法探索的部分。

因此,在圖11的步驟756,處理單元4和頭戴式設備2可掃描其中存在該用戶的房間的大小。如所述的,該步驟可能在圖7的步驟604中收集場景數(shù)據(jù)時已經(jīng)被完成,并且可能不需要作為步驟724的一部分來執(zhí)行。接著,在步驟760,使用已知的房間大小、縮放比例和化身500相對于(諸)工件的放置,處理單元4確定當處于沉浸模式時,用戶是否將能夠探索(諸)工件506的所有部分。具體地,處理單元確定現(xiàn)實世界中是否存在足夠的物理空間來完成在沉浸模式中從化身的視角對虛擬世界的任何部分的探索。

如果物理世界中不存在足夠的空間,則處理單元4可促使頭戴式顯示設備2提供化身500的放置和/或比例阻止對虛擬內(nèi)容504進行完全探索的消息。用戶可隨后返回到圖9中的步驟712以調(diào)整化身500的放置和/或比例。

如果在步驟724檢測到化身500的放置和/或比例沒有問題,則化身的初始位置和定向可在圖9的步驟732中被與確定的縮放比例和沉浸矩陣存儲在一起。應理解,在進一步實施例中,可忽略步驟724的用于確認沉浸參數(shù)的有效性的至少各部分。

再次參考圖7,一旦沉浸模式已在步驟626被設置并被驗證,處理單元4就可檢測用戶是否正在沉浸模式中操作。如上所述,這可在化身已經(jīng)被選擇并且被定位在虛擬內(nèi)容504中時被檢測到。在進一步實施例中,到沉浸模式的切換可由某個其他預定義的姿勢來觸發(fā)。如果在步驟630中以沉浸模式操作,則處理單元4可在步驟634查找離開沉浸模式的預定義姿勢命令。如果在步驟630中不在以沉浸模式操作或者離開沉浸模式的命令在步驟634被接收到,則要向用戶顯示的視角可在步驟642被設置到現(xiàn)實世界視圖。如此后參考步驟644-656解釋的,圖像可隨后被渲染。

在本技術的替換實施例中,當用戶在步驟634提供離開沉浸模式的命令時,幾件不同的事情可相對于化身500發(fā)生?,F(xiàn)實世界視圖可被顯示給用戶,并且化身500被從虛擬內(nèi)容移除并被返回到工作臺502。

在進一步實施例中,現(xiàn)實世界視圖可被顯示給用戶,并且化身500以用戶選擇退出沉浸模式時的視角的位置和定向被示出。具體地,如以上所討論的,在處于沉浸模式時用戶已到處移動了的情況下,化身500的位置改變相應的縮放量。使用在用戶離開沉浸模式時用戶的位置和定向以及沉浸矩陣,處理單元4可確定化身500在現(xiàn)實世界模型中的現(xiàn)實位置。在退出沉浸模式之際,化身可以以那個位置和定向顯示。

在進一步實施例中,在退出沉浸模式之際,現(xiàn)實世界視圖可被顯示給用戶,并且化身500被示為處于在用戶最后進入沉浸模式時由用戶設置的初始位置。如上所述,該初始位置在于步驟626設置并驗證沉浸模式之際被存儲在存儲器中。

再次參考圖7,如果用戶在步驟630正以沉浸模式操作并且沒有退出命令在步驟634被接收到,則該模式在步驟638被設置為沉浸模式視圖。當處于沉浸模式時,頭戴式顯示設備2從化身的視角和定向顯示虛擬內(nèi)容504。該位置和定向以及化身的視圖的錐體可在步驟640被設置?,F(xiàn)在將參考附圖12的流程圖解釋步驟640的進一步細節(jié)。

在步驟770,處理單元4可根據(jù)存儲的沉浸矩陣以及在現(xiàn)實世界中的當前用戶視角來確定當前化身視角(關于六個自由度的位置和定向)。具體地,如以上結合圖8中的步驟700討論的,處理單元4能夠基于來自頭戴式顯示設備2的數(shù)據(jù)來確定表示用戶在現(xiàn)實世界中的頭部位置和定向的面部單位向量。在將沉浸矩陣應用于用戶的x、y和z頭部位置和單位向量之際,處理單元4能夠確定在沉浸模式中虛擬內(nèi)容的視角的xi、yi和zi位置。使用沉浸矩陣,處理單元4能夠確定表示在沉浸模式中查看虛擬內(nèi)容的定向的沉浸模式單位向量。

在步驟772,處理單元4可確定錐體(類似于頭戴式顯示設備的fov)的范圍。該錐體可以以沉浸模式單位向量為中心。處理單元4還可在步驟772設置沉浸模式視圖的錐體的邊界。如以上結合設置現(xiàn)實世界視圖中的fov所描述的(圖8步驟710),錐體的邊界可被預定義為基于假想用戶的上、下、左和右周邊視覺的查看范圍,該范圍以沉浸模式單位向量為中心。使用在步驟770和772確定的信息,處理單元4能夠根據(jù)化身的視圖的視角和錐體顯示虛擬內(nèi)容504。

可發(fā)生的是,近距離地持久查看對象(虛擬或現(xiàn)實)可導致眼疲勞。因此,在步驟774,處理單元可檢查處于沉浸模式的視圖是否太接近工件506的一部分。如果如此,則處理單元4可使得頭戴式顯示設備2在步驟776向用戶提供進一步遠離工件506移動的消息。在進一步實施例中,可省略步驟774和776。

再次參考圖7,在步驟644,處理單元4可精選渲染操作使得僅僅有可能在該頭戴式顯示設備2的最終fov或錐體內(nèi)出現(xiàn)的那些虛擬對象被渲染。如果用戶正以現(xiàn)實世界模式操作,則在步驟644從用戶的視角獲得虛擬對象。如果用戶正以沉浸模式操作,則在步驟644從化身的視角獲得虛擬對象。在fov/錐體外部的其他虛擬對象的位置仍可被跟蹤,但是它們不被渲染。還可設想,在進一步實施例中,步驟644可以被完全跳過且整個圖像根據(jù)現(xiàn)實世界視圖或沉浸視圖來渲染。

處理單元4可接著執(zhí)行渲染設置步驟648,在步驟648,使用在步驟610和614接收到的現(xiàn)實世界視圖和fov或者使用在步驟770和772接收到的沉浸視圖和錐體來執(zhí)行設置渲染操作。一旦接收到虛擬對象數(shù)據(jù),處理單元就可在步驟648對要被渲染的虛擬對象執(zhí)行渲染設置操作。步驟648中的設置渲染操作可包括與要在最終fov/錐體中顯示的(諸)虛擬對象相關聯(lián)的常見渲染任務。這些渲染任務可包括例如陰影圖生成、光照和動畫。在一些實施例中,渲染設置步驟648可進一步包括對可能的繪制信息的編譯,諸如要在預測的最終fov中顯示的虛擬對象的頂點緩沖區(qū)、紋理和狀態(tài)。

使用關于對象在3d現(xiàn)實世界模型中的位置的信息,處理單元4可接著在步驟654確定用戶的fov或化身的錐體中的遮擋和陰影。具體地,處理單元4具有虛擬內(nèi)容的對象的三維位置。對于現(xiàn)實世界模式,已知用戶的位置以及他們對該fov中的對象的視線的情況下,處理單元4隨后可確定虛擬對象是否部分或全部遮擋用戶的現(xiàn)實或虛擬對象的視圖。此外,處理單元4可確定某一現(xiàn)實世界對象是否部分或全部地遮擋了該用戶的虛擬對象的視圖。

類似地,如果正以沉浸模式操作,則確定的化身500的視角允許處理單元4根據(jù)該視角確定到錐體中的對象的視線,以及虛擬對象是否部分或全部遮擋了化身對現(xiàn)實或虛擬對象的視角。此外,處理單元4可確定現(xiàn)實世界對象是否部分或全部遮擋了化身的虛擬對象的視圖。

在步驟656,處理單元4的gpu322可以接下來渲染要向該用戶顯示的圖像。渲染操作的各部分可能已經(jīng)在渲染設置步驟648中被執(zhí)行并且被周期性地更新。任何被遮擋的虛擬對象可能不被渲染,或者它們可被渲染。在被渲染的情況下,被遮擋的對象將被不透明濾光器114從顯示中省略,如以上所解釋的。

在步驟660,處理單元4檢查:是否到了該將經(jīng)渲染的圖像發(fā)送給頭戴式顯示設備2的時間、或者是否還有時間使用來自頭戴式顯示設備2的更新近的位置反饋數(shù)據(jù)來進一步細化圖像。在使用60赫茲幀刷新率的系統(tǒng)中,單幀大約為16毫秒。

如果到了顯示經(jīng)更新的圖像的時間,則針對該一個或多個虛擬對象的圖像被發(fā)送至微顯示器120以在恰適像素處顯示,同時計入視角和遮擋。在此時,用于不透明濾光器的控制數(shù)據(jù)也從處理單元4被傳送至頭戴式顯示設備2以控制不透明濾光器114。該頭戴式顯示器隨后將在步驟662中向該用戶顯示該圖像。

另一方面,在步驟660還沒到發(fā)送要被顯示的圖像數(shù)據(jù)幀的時間的情況下,處理單元可循環(huán)回去以獲得更新的傳感器數(shù)據(jù)來細化對最終fov及fov中的對象的最終位置的預測。具體而言,如果在步驟660中仍舊有時間,則處理單元4可返回至步驟604以從頭戴式顯示設備2獲得更新近的傳感器數(shù)據(jù)。

上面僅以示例的方式描述了處理步驟600至662。理解到,這些步驟中的一個或多個步驟在另外的實施例中可被省略,這些步驟可以按不同次序來執(zhí)行,或者可以添加附加步驟。

圖18解說了在給定圖17中示出的化身位置和定向的情況下,沉浸模式中的可向用戶顯示的虛擬內(nèi)容504的視圖。虛擬內(nèi)容504處于沉浸模式時的視圖提供實物大小視圖,其中用戶能夠辨別內(nèi)容的詳細特征。此外,沉浸模式中虛擬內(nèi)容的視圖提供其中用戶能夠看見虛擬對象實物大小有多大的視角。

用戶在現(xiàn)實世界中的移動可導致化身朝向工件506移動,并且化身對工件506的視角相應地變得更大,如圖19中所示出的。用戶的其他移動可導致化身遠離工件506移動和/或探索虛擬內(nèi)容504的其他部分。

除了從沉浸模式內(nèi)查看并探索虛擬內(nèi)容504外,在各實施例中,用戶能夠從沉浸模式內(nèi)與虛擬內(nèi)容504進行交互并修改虛擬內(nèi)容504。用戶可具有對各種虛擬工件和控件的訪問權。用戶可使用預定義的姿勢來選擇工件的一部分、作為整體的工件或多個工件506,并在此后應用虛擬工具或控件來修改工件的該部分或多個工件。作為幾個示例,用戶可根據(jù)所選的工具或控件來移動、旋轉(zhuǎn)、上色、移除、復制、黏合、復印等(諸)工件的一個或多個所選部分。

本技術的沉浸模式的進一步優(yōu)點在于它允許用戶以增加的精度與虛擬內(nèi)容504進行交互。作為示例,在用戶正嘗試例如使用指向或眼睛注視來從現(xiàn)實世界視圖中選擇虛擬內(nèi)容504的一部分的情況下,頭戴式顯示設備的傳感器能夠分辨虛擬內(nèi)容上可作為用戶的指向或注視的主題的給定大小的區(qū)域。可發(fā)生的是,該區(qū)域可具有一個以上可選的虛擬對象,在該情況下,用戶可能難以選擇用戶希望選擇的特定對象。

然而,當以其中用戶的視角被縮放到虛擬內(nèi)容的尺寸的沉浸模式操作時,相同的指向或注視姿勢將導致作為用戶的指向或注視的主題的更小、更精確的區(qū)域。由此,用戶可更容易地用更大的精度選擇物品。

附加地,在沉浸模式中,可用更大的精度來執(zhí)行對工件的虛擬對象的修改。作為示例,用戶可希望小量移動工件中的所選虛擬對象。在現(xiàn)實世界模式中,最小增量移動可以是某個給定距離,并且可能發(fā)生該最小增量距離仍大于用戶期望。然而,當以沉浸模式操作時,移動的最小增量距離可能比現(xiàn)實世界模式中小。由此,用戶可能能夠在沉浸模式內(nèi)對虛擬對象作出更細、更精確的調(diào)整。

使用預定義的姿勢命令,用戶可在來自現(xiàn)實世界的虛擬內(nèi)容504的視圖和來自化身的沉浸視圖的虛擬內(nèi)容504的視圖之間進行切換。進一步構想了用戶可將多個化身500定位在虛擬內(nèi)容504中。在該實例中,用戶可在來自現(xiàn)實世界的虛擬內(nèi)容504的視圖和來自化身中的任一者的視角的虛擬內(nèi)容504的視圖之間進行切換。

總之,本技術的一示例涉及一種用于呈現(xiàn)虛擬環(huán)境的系統(tǒng),所述虛擬環(huán)境與現(xiàn)實世界空間共同延伸,所述系統(tǒng)包括:頭戴式顯示設備,所述頭戴式顯示設備包括用于在所述虛擬環(huán)境中顯示三維虛擬內(nèi)容的顯示單元;以及,操作地耦合到所述顯示設備的處理單元,所述處理單元接收確定所述虛擬內(nèi)容由所述頭戴式顯示設備以第一模式顯示還是由所述頭戴式顯示設備以第二模式顯示的輸入,在所述第一模式中,所述虛擬內(nèi)容是從所述頭戴式顯示設備的現(xiàn)實世界視角顯示的,在所述第二模式中,所述虛擬內(nèi)容是從所述虛擬內(nèi)容內(nèi)的位置和定向的經(jīng)縮放視角顯示的。

在另一示例中,本技術涉及一種用于呈現(xiàn)虛擬環(huán)境的系統(tǒng),所述虛擬環(huán)境與現(xiàn)實世界空間共同延伸,所述系統(tǒng)包括:頭戴式顯示設備,所述頭戴式顯示設備包括用于在所述虛擬環(huán)境中顯示三維虛擬內(nèi)容的顯示單元;以及,操作地耦合到所述顯示設備的處理單元,所述處理單元接收以相對于所述虛擬內(nèi)容的一位置和定向并以相對于所述虛擬內(nèi)容縮放的大小來將虛擬化身放置在所述虛擬內(nèi)容之中或周圍的第一輸入,所述處理單元確定來自所述頭戴式顯示設備的所述虛擬內(nèi)容的現(xiàn)實世界視圖和來自所述化身的視角的所述虛擬內(nèi)容的沉浸視圖之間的變換,所述變換基于以下來確定:所述化身的位置、定向和大小,所述頭戴式顯示設備的位置和定向,以及接收或確定的參考大??;所述處理單元至少接收用于在由所述頭戴式顯示設備顯示所述現(xiàn)實世界視圖和所述沉浸視圖之間切換的第二輸入。

在又一示例中,本技術涉及一種用于呈現(xiàn)虛擬環(huán)境的方法,所述虛擬環(huán)境與現(xiàn)實世界空間共同延伸,所述虛擬環(huán)境由頭戴式顯示設備呈現(xiàn),所述方法包括:接收虛擬對象在所述虛擬內(nèi)容中的一位置處的放置;(b)接收所述虛擬對象的定向;(b)接收所述虛擬對象的縮放;(d)基于所述頭戴式顯示器的位置和定向、在所述步驟(a)接收到的所述虛擬對象的位置以及在所述步驟(b)接收到的所述虛擬對象的定向來確定一個或多個變換矩陣的集合;(e)基于所述用戶的移動在所述虛擬內(nèi)容內(nèi)四處移動所述虛擬對象;以及,(f)基于所述一個或多個變換矩陣的集合將所述頭戴式顯示設備所進行的顯示從來自所述頭戴式顯示設備的視圖變換為在所述步驟(e)移動之前和/或之后從所述虛擬對象取得的視圖。

盡管用結構特征和/或方法動作專用的語言描述了本發(fā)明主題,但可以理解,所附權利要求書中定義的主題不必限于上述具體特征或動作。更確切而言,上述具體特征和動作是作為實現(xiàn)權利要求的示例形式公開的。本發(fā)明的范圍由所附的權利要求進行定義。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
泸溪县| 齐齐哈尔市| 新建县| 防城港市| 方城县| 永清县| 长沙市| 油尖旺区| 汝城县| 金门县| 阜城县| 商洛市| 南川市| 双江| 防城港市| 香格里拉县| 南城县| 瓮安县| 浦城县| 宾阳县| 梁平县| 哈巴河县| 泰宁县| 河曲县| 广灵县| 通渭县| 治多县| 海宁市| 沁水县| 丰宁| 尼玛县| 海阳市| 会宁县| 保康县| 乌拉特后旗| 乌拉特前旗| 松原市| 景东| 天柱县| 宣恩县| 永和县|