用于相對于每個用戶的視點來渲染共享數(shù)字界面的系統(tǒng)的制作方法
【專利摘要】一種頭戴式設備提供用于觀看數(shù)據(jù)和使得能在多個用戶間進行協(xié)作的身臨其境的虛擬或擴增現(xiàn)實體驗。在虛擬或擴增現(xiàn)實系統(tǒng)中渲染圖像可包括用身佩式相機和傳感器陣列捕捉圖像和空間數(shù)據(jù),接收指示第一錨表面的輸入,計算相對于該身佩式相機的參數(shù),并且顯示虛擬對象以使得該虛擬對象顯現(xiàn)為錨定于所選的第一錨表面。進一步的渲染操作可包括接收指示捕捉到的圖像內(nèi)與第一錨表面不同的一第二錨表面的第二輸入,計算相對于第二錨表面的參數(shù),并顯示虛擬對象以使得該虛擬對象顯現(xiàn)為錨定于所選的第二錨表面并從第一錨表面移過來。
【專利說明】用于相對于每個用戶的視點來渲染共享數(shù)字界面的系統(tǒng)
[0001]相關(guān)專利申請的交叉引用
[0002]本專利申請要求于2011年3月29日提交的題為“Systems and Methods forGesture Driven Interaction for Digitally Augmented Physical Spaces (用于數(shù)字擴增物理空間的姿勢驅(qū)動式交互的系統(tǒng)和方法)”的美國臨時專利申請S/N.:61/468, 937的優(yōu)先權(quán)權(quán)益,其全部內(nèi)容通過援弓I納入于此以用于所有目的。
發(fā)明領(lǐng)域
[0003]本申請涉及使用頭戴式顯示器、或諸如智能電話或平板計算機之類的其他移動設備的擴增或虛擬現(xiàn)實系統(tǒng),其可將虛擬對象或界面置于所選物理表面上,以使得單個用戶或多個用戶能進行協(xié)作以觀看該物理表面上的虛擬對象或者與之交互。背景
[0004]人們越來越多地在地球各處針對包括演示、文檔、視頻、圖表和照片等的各種媒體進行協(xié)作。一般而言,會議室中的大型平板顯示器是觀看媒體(包括Microsoft? PowerPoint?演示)的極好的源。此外,一些家具可包括觸摸屏輸入設備,因此用戶能直接在桌面的表面上觀看視頻。通常,此類大型物品非常昂貴并且為處于遠程位置的各用戶之間的協(xié)作所提供的支持是有限的。個人將從能夠擺脫這些約束并獲得既在共處一地的各用戶也在各遠程用戶之間共享的大屏幕虛擬或擴增現(xiàn)實體驗中獲益。
[0005]發(fā)明概述
[0006]各種實施例包括在包括第一和第二身佩式設備的擴增現(xiàn)實系統(tǒng)中渲染圖像的方法,該第一和第二身佩式設備各自包括身佩式相機和頭戴式顯不器,該方法包括:用第一身佩式設備的身佩式相機捕捉場景的第一場景圖像;在第一身佩式設備的頭戴式顯示器上顯示虛擬對象的第一圖像,該第一圖像將該虛擬對象顯示為在對第一身佩式設備的佩戴者而言恰適的第一取向上錨定于所捕捉到的第一場景圖像內(nèi)的第一錨表面;以及在第二身佩式設備的頭戴式顯示器上顯示該虛擬對象的第二圖像,該第二圖像將該虛擬對象顯示為在對第二身佩式設備的佩戴者而言恰適的第二取向上錨定于第二錨表面。在一進一步的實施例中,該方法可包括從第一身佩式設備向第二身佩式設備發(fā)送該虛擬對象,在第二身佩式設備中接收該虛擬對象,用第二身佩式設備的身佩式相機捕捉該場景的第二場景圖像,以及分析捕捉到的第二場景圖像以標識第二場景圖像內(nèi)在接近于第二身佩式設備的佩戴者正看著的方向的方向上的合適錨表面,其中在第二身佩式設備的頭戴式顯示器上顯示第二圖像可包括顯示第二圖像以使得該虛擬對象被錨定于所標識出的合適錨表面。
[0007]在一實施例中,該方法可包括從第一身佩式設備向第二身佩式設備傳送指示虛擬對象的取向的信號,其中顯示第二圖像可包括顯示第二圖像以使得該虛擬對象是部分地基于從第一身佩式設備接收的該信號來取向的。在一進一步的實施例中,該方法可包括從第一身佩式設備向第二身佩式設備傳送指示虛擬對象的優(yōu)選取向的信號,向第二身佩式設備的佩戴者通告所指示的優(yōu)選取向,以及從第二身佩式設備的佩戴者接收接受或拒絕所指示的優(yōu)選取向的輸入,其中在第二身佩式設備的頭戴式顯示器上顯示虛擬對象的第二圖像可包括:顯示第二圖像以使得當收到的輸入接受所指示的優(yōu)選取向時該虛擬對象是部分地基于所指示的優(yōu)選取向來取向的,并且使得當收到的輸入拒絕所指示的優(yōu)選取向時該虛擬對象以不同于所指示的優(yōu)選取向的方式來取向。
[0008]在一進一步的實施例中,第一錨表面和第二錨表面可以是相同表面。在一進一步的實施例中,該方法可包括從第一身佩式設備向第二身佩式設備傳送虛擬對象,其中在第二身佩式設備的頭戴式顯示器上顯示虛擬對象的第二圖像可包括將第二圖像顯示為以第二取向錨定于第一錨表面。在一進一步的實施例中,第一和第二身佩式設備可位于不同位置,該方法進一步包括經(jīng)由網(wǎng)絡將該虛擬對象傳送至第一和第二身佩式設備中的每一者。
[0009]在一進一步的實施例中,該方法包括用第二身佩式設備的身佩式相機捕捉第二場景圖像,并且在第二身佩式設備上接收指示捕捉到的第二場景圖像中的第二錨表面的輸入,所指示的第二錨表面不同于第一錨表面,其中在第二身佩式設備的頭戴式顯示器上顯示第二圖像可包括以適合于所指示的第二錨表面以及第二身佩式設備的佩戴者的配置來將虛擬對象顯示為錨定于所指示的第二錨表面。在一進一步的實施例中,該方法可包括從第二身佩式設備向第一身佩式設備傳送第二虛擬對象,并且在第一身佩式設備的頭戴式顯示器上顯示第三圖像,該第三圖像將第二虛擬對象顯示為錨定于第一錨表面。
[0010]進一步的實施例包括一種系統(tǒng),該系統(tǒng)可包括第一頭戴式或身佩式設備和第二頭戴式或身佩式設備,其中第一頭戴式或身佩式設備可包括第一頭戴式或身佩式相機、第一頭戴式或身佩式顯示器、第一收發(fā)機、以及耦合到該第一相機、第一顯示器和第一收發(fā)機的第一頭戴式或身佩式設備處理器;第二頭戴式或身佩式設備包括第二頭戴式或身佩式相機、第二頭戴式或身佩式顯示器、第二收發(fā)機、以及耦合到該第二相機、第二顯示器和第二收發(fā)機的第二頭戴式或身佩式設備處理器。在進一步的實施例中,該第一和第二頭戴式或身佩式設備可用處理器可執(zhí)行指令配置成執(zhí)行與以上討論的方法操作相對應的各種操作。更進一步的實施例可包括服務器,該服務器可包括存儲器以及耦合到該存儲器的服務器處理器,該服務器處理器用服務器可執(zhí)行指令配置成執(zhí)行與以上討論的各種方法相對應的操作和/或用于經(jīng)由網(wǎng)絡將信息傳送給該第一或第二頭戴式或身佩式設備的操作。
[0011]進一步的實施例包括計算設備,該計算設備可包括用處理器可執(zhí)行指令配置成執(zhí)行與以上討論的方法相對應的各種操作的處理器。進一步的實施例包括計算設備,該計算設備可包括用于執(zhí)行與以上討論的方法操作相對應的功能的各種裝置。
[0012]進一步的實施例包括非瞬態(tài)處理器可讀存儲介質(zhì),其上存儲有處理器可執(zhí)行指令,這些處理器可執(zhí)行指令配置成使處理器執(zhí)行與以上討論的方法相對應的各種操作。
[0013]附圖簡述
[0014]納入于此且構(gòu)成本說明書一部分的附圖解說了本發(fā)明的示例性實施例,并與以上給出的概括描述和下面給出的詳細描述一起用來解釋本發(fā)明的特征。
[0015]圖1是適合與各種實施例聯(lián)用的頭戴式設備的解說,其中有虛擬對象被錨定在物理表面上。
[0016]圖2是兩個用戶彼此并排站在桌邊并佩戴著用于與虛擬對象交互的兩個頭戴式設備的解說。
[0017]圖3是兩個用戶彼此坐在桌子對面并佩戴著用于與虛擬對象交互的兩個頭戴式設備且該虛擬對象為每一用戶均正確取向的解說。
[0018]圖4是在兩個不同遠程位置處的兩個用戶佩戴著兩個頭戴式設備并進行協(xié)作且研究為每一用戶均正確取向的相同虛擬對象的解說。
[0019]圖5A是頭戴式設備的數(shù)個用于與虛擬對象交互以及生成虛擬對象的組件的高級組件框圖。
[0020]圖5B是根據(jù)另一實施例的使佩戴頭戴式設備的用戶能與服務器通信的系統(tǒng)的高級組件框圖。
[0021]圖6是用于使用頭戴式設備來將虛擬對象錨定在錨表面上的實施例方法的過程流程圖,其中該虛擬對象在頭戴式顯示器上保持固定于該錨表面。
[0022]圖7A是用于將虛擬對象錨定在頭戴式設備的顯示器中可見的物理表面上的實施例方法的過程流程圖。
[0023]圖7B是用于藉由輸入命令使虛擬對象在至少兩個不同錨點或表面之間移動的實施例方法的過程流程圖。
[0024]圖8A是由頭戴式設備來投影虛擬對象以使其看起來錨定在物理表面上、并在第二頭戴式設備上投影第二虛擬對象以使其對于第二用戶而言看起來錨定在一不同物理表面上的實施例方法的過程流程圖。
[0025]圖8B是渲染對于每個用戶的視點而言均取向正確的共享虛擬對象的實施例方法的過程流程圖。
[0026]圖9A和9B是用于使用坐標地圖來將虛擬對象錨定在物理表面上并用于使用第二設備來使用坐標地圖將第二虛擬對象錨定在一不同的物理表面上的實施例方法的過程流程圖。
[0027]圖10是用于發(fā)現(xiàn)其他頭戴式設備來鏈接和共享數(shù)據(jù)的實施例方法的過程流程圖。
[0028]圖11是用于識別來自用戶的姿勢和音頻兩者作為用于控制頭戴式設備的經(jīng)確認輸入命令的實施例方法的過程流程圖。
[0029]圖12是用于使用頭戴式設備的捕捉用戶的圖像以識別姿勢來作為輸入命令的實施例方法的過程流程圖。
[0030]圖13是用于控制某些對象在圖像內(nèi)的渲染的實施例方法的過程流程圖。
[0031]圖14是用于使用頭戴式設備來捕捉與用戶相關(guān)聯(lián)的圖像并檢測該用戶的以及其他個人的特征、并且當檢測到這些其他個人的特征時將虛擬對象疊加在這些其他個人的特征之上以便不遮蔽該虛擬對象的實施例方法的過程流程圖。
[0032]圖15是示出虛擬對象的頭戴式顯示器輸出的俯視圖,其中用戶的手以及其他個人的手遮蔽了該虛擬對象,并且該虛擬對象顯示為疊加在這些其他個人的手之上以使這些其他個人的手看起來是透明的。
[0033]圖16是頭戴式設備的側(cè)視圖,其中該頭戴式設備經(jīng)由高速無線數(shù)據(jù)鏈路來與移動通信設備通信,從而在該頭戴式設備處的傳感器捕捉數(shù)據(jù)時在該移動通信設備上執(zhí)行軟件。
[0034]圖17是用于使用頭戴式設備來無線地鏈接到移動通信設備以交換數(shù)據(jù)的實施例方法的過程流程圖。
[0035]圖18是用于使用頭戴式設備來掃描區(qū)域、計算區(qū)域的參數(shù)、以及將所計算出的該區(qū)域的參數(shù)上傳至共享存儲器以供另一設備訪問的實施例方法的過程流程圖。[0036]圖19是使用頭戴式設備來生成區(qū)域的三維模型、用位置數(shù)據(jù)來給該數(shù)據(jù)作標簽、并上傳該模型以與其他設備共享該數(shù)據(jù)的實施例方法的過程流程圖。
[0037]圖20是使用頭戴式設備來在服務器上執(zhí)行應用并與其他設備共享該數(shù)據(jù)的實施例方法的過程流程圖。
[0038]圖21是使用頭戴式設備藉由目錄來發(fā)現(xiàn)其他頭戴式設備以與其他設備共享數(shù)據(jù)并進行協(xié)作的實施例方法的過程流程圖。
[0039]圖22 - 23解說了兩個頭戴式設備訪問共享服務或共享存儲器以交換掃描的數(shù)據(jù)并與彼此協(xié)作。
[0040]圖24是使用頭戴式設備來掃描區(qū)域、渲染虛擬對象、用位置數(shù)據(jù)來給計算出的參數(shù)作標簽、以及將作了標簽的參數(shù)上傳到共享存儲器以惠及其他頭戴式設備的實施例方法的過程流程圖。
[0041]圖25A是若干移動設備與云服務器通信以向該云服務器提供共享數(shù)據(jù)并允許新的設備利用該共享數(shù)據(jù)來掃描區(qū)域并對其進行地圖繪制的高級解說。
[0042]圖25B是將作了標簽且掃描的參數(shù)存儲在云服務器中以供第二頭戴式設備用來渲染虛擬對象的方法的過程流程圖。
[0043]圖26 - 28B是使用頭戴式設備在顯示器上渲染虛擬對象并在該顯示器上將該虛擬對象疊加在身體部位之上的實施例方法的過程流程圖。
[0044]圖29是使用頭戴式設備和云服務器來與若干其他頭戴式設備共享掃描的和計算出的數(shù)據(jù)參數(shù)的實施例方法的過程流程圖。
[0045]圖30是使用兩個不同的頭戴式設備以及服務器來通過使用兩個用到虛擬對象輸入設備的不同軟件應用來共享數(shù)據(jù)和協(xié)作的實施例方法的過程流程圖,藉由該方法,在這兩個不同軟件應用之間的沖突得以解決。
[0046]圖31是若干用戶使用不同軟件應用來共享數(shù)據(jù)并進行協(xié)作的高級框圖。
[0047]圖32是使用兩個不同的計算設備以使用兩個不同的文字處理應用來共享數(shù)據(jù)并進行協(xié)作的實施例方法的過程流程圖。
[0048]圖33— 34是使用頭戴式設備來識別姿勢和音頻命令兩者、并在相繼檢測到第一命令和第二命令時將這些命令作為經(jīng)確認的輸入命令來處理的實施例方法的過程流程圖。
[0049]圖35-36是使用頭戴式設備來識別姿勢命令以在所生成的虛擬對象上渲染“虛擬對象輸入設備”以使用戶可使用該虛擬輸入設備來控制該虛擬對象的實施例方法的過程流程圖。
[0050]圖37是使用姿勢跟蹤相機和/或RGB和距離測量相機(或若干此類相機)來提供“虛擬對象輸入設備”的實施例的高級框圖,該“虛擬對象輸入設備”是受用戶的手指控制以選擇虛擬對象上的圖標的虛擬指針設備。
[0051]圖38-39示出使用頭戴式設備和服務器來共享數(shù)據(jù)并使用戶能夠協(xié)作的基于對等的系統(tǒng)和基于中央云配置的系統(tǒng)的高級框圖。
[0052]圖40A是使用姿勢跟蹤相機及一相機來提供形成虛擬指針設備的“虛擬對象輸入設備”的實施例系統(tǒng)的高級框圖,其中虛擬對象可在頭戴式顯示器上被渲染得很大。
[0053]圖40B-40C示出使用模塊化微微型投影儀來渲染虛擬對象的另一實施例,該模塊化微微型投影儀可檢測姿勢并為用戶輸出投影。[0054]圖40D示出通過檢測一個或多個姿勢用微微型投影儀來為用戶在適宜的位置上投影圖像的實施例方法的過程流程圖。
[0055]圖41是適于與各個實施例聯(lián)用的移動計算設備的組件框圖。
[0056]圖42是適于與各個實施例聯(lián)用的服務器計算設備的組件框圖。
[0057]詳細描述
[0058]將參照附圖詳細描述各種實施例。在任何可能的地方,相同附圖標記用于在附圖中通篇指代相同或類似部分。對特定示例和實現(xiàn)所作的引用是用于解說性的目的,而無意限定本發(fā)明或權(quán)利要求的范圍。
[0059]措辭“示例性”在本文中用于表示“用作示例、實例或解說”。本文中描述為“示例性”的任何實現(xiàn)不必然被解釋為優(yōu)于或勝過其它實現(xiàn)。
[0060]如本文中所使用的,術(shù)語“移動電話”和“手持式設備”是指以下設備中的任何一個:蜂窩電話、智能電話、平板計算機、個人數(shù)據(jù)助理(PDA)、無線電子郵件接收機、有因特網(wǎng)能力的多媒體蜂窩電話、全球定位系統(tǒng)(GPS)接收機、無線游戲控制器、上網(wǎng)本、以及包括可編程處理器和存儲器、并配置成與無線通信網(wǎng)絡通信、且具有web瀏覽器的類似個人電子設備。
[0061]如本文中所使用的,術(shù)語“計算機”、“個人計算機”和“計算設備”是指已知的或者將來將被開發(fā)的任何可編程計算機系統(tǒng)。在優(yōu)選實施例中,計算機將被耦合至諸如本文中所描述的網(wǎng)絡。計算機系統(tǒng)可被配置有處理器可執(zhí)行軟件指令以執(zhí)行本文中所描述的各過程。
[0062]如本文中所使用的,術(shù)語“組件”、“模塊”、以及“系統(tǒng)”旨在指代計算機相關(guān)實體,無論該計算機相關(guān)實體是硬件、硬件與軟件的組合、軟件、還是執(zhí)行中的軟件。例如,組件可以是但不限于在處理器上運行的進程、處理器、對象、可執(zhí)行件、執(zhí)行的線程、程序、和/或計算機。作為解說,運行在服務器上的應用和該服務器兩者都可以是組件。一個或多個組件可駐留在進程和/或執(zhí)行的線程內(nèi),并且組件可局部化在一臺計算機上和/或分布在兩臺或更多臺計算機之間。
[0063]如本文中所使用的,術(shù)語“頭戴式設備”(HMD)是指捕捉距離傳感器數(shù)據(jù)并具有鏈接到移動處理器的顯示能力的設備,該移動處理器可以是相對于該頭戴式設備而言分開的設備,并如圖16中所不。在一實施例中,頭戴式設備10可以是用于移動設備CPU (例如蜂窩電話、平板計算機、智能電話等的處理器)的配件,其中頭戴式設備控制系統(tǒng)1610(附圖中的“VIRT (虛擬)控制系統(tǒng)”)的主處理在移動設備1605的處理器上執(zhí)行。在另一個實施例中,頭戴式設備可包括處理器、存儲器、顯示器和相機。在一實施例中,頭戴式設備10可以是包括用于從環(huán)境(例如房間等)掃描或收集信息的一個或多個傳感器(例如深度傳感器、相機等)以及用于向另一個設備(例如服務器、第二移動設備等)傳送所收集到的信息的電路系統(tǒng)的移動設備(例如智能電話等)。
[0064]在另一個實施例中,頭戴式設備可包括用于與因特網(wǎng)、局部無線網(wǎng)絡、或另一計算設備連接的無線接口。在另一個實施例中,微微型投影儀可以被關(guān)聯(lián)在頭戴式設備中以使得能夠?qū)D像投影到表面上。頭戴式設備優(yōu)選地為輕質(zhì)的且被構(gòu)造為避免使用重組件,重組件可能使得該設備佩戴起來不舒適。頭戴式設備還可以能操作用于從用戶接收音頻/姿勢輸入。此類姿勢或音頻輸入可以是說出的語音命令或識別出的用戶姿勢,其在由計算設備識別出時可使得該設備執(zhí)行對應的命令。
[0065]術(shù)語“對等網(wǎng)絡”旨在涵蓋任何形式的已知的或?qū)砜杀婚_發(fā)的對等網(wǎng)絡技術(shù)。盡管一些實施例提及使用超文本傳輸協(xié)議(HTTP)消息接發(fā)的對等網(wǎng)絡,但是此類參引僅僅旨在用作示例,而并不意圖將權(quán)利要求的范圍限定到任何特定聯(lián)網(wǎng)技術(shù)。
[0066]為了便于參引,解說各種實施例的功能運作的各示例可將網(wǎng)絡稱為第一網(wǎng)絡和第二網(wǎng)絡或第一和第二用戶,或者稱為網(wǎng)絡A和網(wǎng)絡B以及用戶A和用戶B。例如,第一用戶可被稱為“用戶A”,并且第二用戶可被稱為“用戶B”。附圖和說明書中的此類參引是任意的并被用來簡化網(wǎng)絡和用戶參引,由此并不旨在將權(quán)利要求的范圍限定到僅僅兩個網(wǎng)絡或者僅僅兩個用戶,或者將特定用戶限定到特定網(wǎng)絡,因為各種實施例支持任何數(shù)目的網(wǎng)絡和用戶。
[0067]各種實施例將以可包括數(shù)個組件以及模塊的系統(tǒng)的形式來呈現(xiàn)。應該理解并領(lǐng)會,各種系統(tǒng)可包括附加組件、模塊等,并且可以并不包括結(jié)合附圖討論的組件、模塊等的全部。也可以使用這些辦法的組合。
[0068]轉(zhuǎn)到圖1,各種實施例使得頭戴式設備10能夠渲染顯示在錨定表面16上的虛擬對象14以提供擴增現(xiàn)實體驗,擴增現(xiàn)實體驗能促成與計算設備的交互以及與其他用戶的協(xié)作。各種實施例可包括用頭戴式或者身佩式(例如佩戴在用戶的頸部、肩膀或手臂上的、或者手持的)相機來捕捉圖像。為了便于參引,如本文中和權(quán)利要求中所使用的術(shù)語“身佩式”涵蓋頭戴式。在一個實施例中,該相機可以是頭戴式或者身佩式立體相機,其可生成圖像數(shù)據(jù),處理器能分析該圖像數(shù)據(jù)以通過對立體圖像進行三角分析來估計距圖像中的物體的距離。替換地或附加地,頭戴式設備可包括能測量距圖像內(nèi)各個表面的距離的一個或多個距離測量傳感器(例如激光或聲波測距儀)。如以下更詳細討論的,在各種實施例中,各式各樣的不同類型的距離測量傳感器和算法可被用于要測量的所成像場景以測量距用戶觀看的場景內(nèi)的各物體的距離。而且,頭戴式設備中可使用不止一個傳感器和不止一種類型的傳感器。因此,為了便于描述和前后一致,頭戴式設備上可包括的各種集合和類型的距離測量傳感器在本文中被共同地或個體地稱為“距離傳感器”。
[0069]此外,頭戴式設備10可包括取向傳感器,諸如加速計、陀螺儀、磁性傳感器、光學傳感器、機械或電子水平傳感器、和慣性傳感器,這些傳感器單獨或組合起來可向設備的處理器提供關(guān)于該設備的上/下/水平取向的數(shù)據(jù)(例如通過感測重力取向)以及由此提供用戶的頭部位置/取向(以及從中提供視角)。此外,頭戴式設備可包括旋轉(zhuǎn)取向傳感器,諸如電子羅盤和加速計,這些旋轉(zhuǎn)取向傳感器能向設備的處理器提供關(guān)于左/右取向和移動的數(shù)據(jù)。配置成提供關(guān)于頭戴式設備的上/下和旋轉(zhuǎn)取向的數(shù)據(jù)(以及由此提供用戶的視角)的傳感器(包括加速計、陀螺儀、磁性傳感器、光學傳感器、機械或電子水平傳感器、慣性傳感器、和電子羅盤)在本文中被共同地稱為“取向傳感器”。
[0070]系統(tǒng)可被配置成識別用戶輸入,并且標識表面或位置以用于在所成像場景內(nèi)放置虛擬對象,其中用戶輸入可以通過可由相機成像的姿勢做出。距圖像內(nèi)識別出的物體的距離可以根據(jù)從立體圖像和/或距離傳感器匯集的數(shù)據(jù)來確定。頭戴式設備10可向移動處理器提供圖像和距離傳感器數(shù)據(jù)以及從移動處理器接收顯示信息,該移動處理器可以是與頭戴式設備分開的,諸如在智能電話或其他移動設備中,如以下參照圖16更詳細討論的。相對于周圍環(huán)境對頭戴式設備進行取向、并確定距各種表面的距離以及各種表面的取向的該過程可由數(shù)個用戶佩戴著的每個設備來完成,從而每個用戶從對每個用戶而言合適的視角看到所顯示的虛擬對象。此外,該過程可被持續(xù)地貫徹,從而每個頭戴式設備能隨著它在空間中移動通過不斷地參照所掃描的三維(3D)環(huán)境的地形移位來對其自己的位置和觀看角度作三角測量,由此執(zhí)行同步定位和地圖繪制(SLAM)操作。
[0071]在一實施例中,頭戴式設備10可接收指示所捕捉到的圖像中的第一錨表面16的第一用戶輸入。該輸入可以是各式各樣的用戶輸入中的任何輸入,諸如是按鈕按壓、在頭戴式相機的視野中執(zhí)行的可識別姿勢、用戶目光集中的凝視(其識別為保持相對靜止達預定時期的圖像)、或者其他可識別輸入的形式。第一錨表面16可以對應于位于由頭戴式設備10的相機所獲得的圖像中的第一表面。耦合至頭戴式設備10或者在其內(nèi)的處理器可生成虛擬對象14并計算與顯示相關(guān)的參數(shù),包括與虛擬對象14的顯示位置相對應的、相對于頭戴式或身佩式相機的距離和取向。當用戶選擇顯示錨定到指定錨表面的虛擬對象14時,耦合至頭戴式設備10或者在其內(nèi)的處理器可在顯示器上(或通過投影儀)渲染該虛擬對象14,從而在通過該顯示器觀看該虛擬對象時,該虛擬對象看起來是在第一錨表面16上。虛擬對象14可以是任何虛擬對象14,包括例如文本、圖形、圖像和3D形狀。當以此方式來呈現(xiàn)時,放置在周圍環(huán)境內(nèi)的指定位置處/上的虛擬對象的投影能創(chuàng)建虛擬現(xiàn)實的體驗并使得用戶能夠與該虛擬對象進行交互。各個實施例使得能夠與虛擬對象和數(shù)字資產(chǎn)(文檔、圖片、視頻等)進行自然的交互。與虛擬對象和數(shù)字資產(chǎn)的此類自然交互可包括對該虛擬對象的姿勢控制、觸摸操縱、對其被觸摸的部分的高亮強調(diào)等??勺R別姿勢可以用可由頭戴式設備訪問的姿勢字典的形式來存儲或組織。此類姿勢字典可存儲用于識別姿勢的運動數(shù)據(jù)或模式,這些姿勢可包括戳、輕拍、叩擊、推、指引、彈拂、轉(zhuǎn)向、旋轉(zhuǎn)、抓和拉、兩手的手掌打開以搖攝圖像、繪圖(例如手指繪畫)、用手指形成形狀(例如“0K”手勢)、以及揮擊,所有這些姿勢可以在所生成顯示中的虛擬對象的視在位置上、緊鄰該視在位置、或往該視在位置的方向(相對于用戶而言)來完成。以此方式,各種實施例使得能夠與虛擬對象進行自然的交互,這些交互可包括姿勢控制或者其他合適的控制輸入方法。
[0072]可使用不同類型的頭戴式顯示器來實現(xiàn)各種實施例。一些頭戴式顯示器可以是半透明的,以使得用戶能夠觀看到越過顯示器外的場景,其中所投影的圖像顯現(xiàn)為被疊加在背景場景上。在其他實施例中,頭戴式顯示器完全阻擋用戶看到房間。在此實施例中,頭戴式顯示器提供虛擬或擴增現(xiàn)實體驗。為了看到房間中的物體,由用戶佩戴的一個或多個相機所獲得的圖像可被用來將房間的視圖投影到頭戴式顯示器上。在該實施例中,虛擬對象可被添加到投影在頭戴式顯示器上的圖像,由此顯現(xiàn)為與由相機獲得的實際圖像一樣真實。
[0073]在頭戴式顯示器為不透明(S卩,完全遮蔽)的實施例中,頭戴式設備10可以顯示用戶前面的場景的圖像,且14處的各虛擬對象被包括在顯示器中,以使得它們顯現(xiàn)為錨定到所選錨表面16上。在該實施例中,成像傳感器和頭戴式設備將用戶前面的場景的圖像投影到不透明顯示器上。為由用戶對該場景進行導航,用戶在頭戴式顯示器上觀看從頭戴式相機獲得的圖像。這可包括將用戶的手的圖像渲染到顯示器中,尤其是在該用戶正在移動他或她的手作為控制姿勢的一部分時。如果虛擬對象14被錨定到特定表面,則當用戶從錨表面移開目光時,該虛擬對象將不顯現(xiàn)在顯示器中。由于頭戴式顯示器呈現(xiàn)由頭戴式設備生成的圖像(包括從身佩式相機獲得的圖像),因此該系統(tǒng)可以顯示場景的各個部分,以使虛擬對象顯現(xiàn)在背景的前面。因此,在該實現(xiàn)中,如果虛擬圖像在頭戴式顯示器上被呈現(xiàn)在用戶的手前面,則用戶的手對于該用戶將是不可見的。結(jié)果,該虛擬對象可顯現(xiàn)為實體的且不透明的。該實施例提供了虛擬或擴增現(xiàn)實體驗,其包括將用戶佩戴的相機獲得的真實圖像與呈現(xiàn)在相同顯示器上的虛擬對象相結(jié)合地顯示。
[0074]在頭戴式顯示器為半透明(S卩,用戶能透過該顯示器看到背景場景)的實施例中,頭戴式設備10可顯示所生成的虛擬對象,以使該虛擬對象顯現(xiàn)為錨定到由用戶透過該顯示器看到的第一錨表面16。以此方式,用戶可以用部分透明的頭戴式顯示器來觀看場景,其中真實世界物體(像是書桌、桌子和墻壁)透過頭戴式顯示器是部分可見的,該頭戴式顯示器還將虛擬對象放置在該可見場景內(nèi)。可見虛擬對象14可被錨定到或連接到真實世界物體16。該實施例提供了擴增現(xiàn)實體驗,其中顯示器是穿透式的或視頻穿透式的,以允許用戶透過該顯示器看到真實世界,且虛擬對象顯現(xiàn)為固定在真實位置中或真實表面上。
[0075]舉例而言,虛擬對象14可以仿效平板屏幕電視并且可連接到或“錨定”到真實世界物體或真實世界墻壁16,如圖1中所解說的。隨著用戶移動他或她的頭,虛擬對象14通常會隨著用戶的視域而在顯示器10上移動。然而,在該實施例中,虛擬對象14顯現(xiàn)為保持在錨表面16上,類似于真實世界的平板顯示在用戶轉(zhuǎn)動他或她的頭的情況下會保持在表面上的樣子。
[0076]在一實施例中,用戶可按與用戶如何選擇了第一錨表面類似的方式來移動錨表面16。用戶可能發(fā)現(xiàn)對于某個任務而言,一不同的錨表面將會更好。頭戴式設備10可以接收指示該圖像內(nèi)的不同于第一錨表面16的一新的或第二錨表面16的第二輸入(姿勢、音頻、來自輸入設備的等等)。第二錨表面16可以與位于該圖像中的第二不同表面相對應。此外,第一和第二錨表面可以不毗鄰,并且當指定第二 /替換表面時,第一表面可以不在頭戴式設備相機的視野中。例如,一個表面可能是如圖2中所示的桌面16,而另一個表面可以是如圖1中所示的橫向墻壁16或天花板。例如,第一用戶可以選擇第一錨表面16供個人使用,并且隨后為處于一不同地理位置的第二用戶選擇第二錨表面16。在一實施例中,用戶輸入可以是語音輸入、使用有形輸入設備(鍵盤或鼠標)提供的輸入、所檢測到的姿勢,或者可由各不同用戶提供。頭戴式設備10內(nèi)或耦合至頭戴式設備10的處理器可以計算參數(shù),包括與第二錨表面16相對應的、相對于頭戴式或身佩式相機的距離和取向。頭戴式設備10內(nèi)或耦合至頭戴式設備10的處理器可以隨后顯示所生成的虛擬對象14,以使得該虛擬對象對用戶顯現(xiàn)為被錨定到所選第二錨表面16。在另一個實施例中,作為頭戴式設備10的替代或補充,微微型投影儀可被用來將虛擬對象14投影到所選錨表面16上。該微微型投影儀可以是分開的模塊化設備,并且或者可以被包括在頭戴式設備10內(nèi)。
[0077]圖1解說了用戶使用頭戴式設備10。頭戴式設備10可以使得用戶能夠?qū)⒔缘谋砻?諸如墻壁12)指定為虛擬“平板屏幕”16。用戶可使用輸入命令來標識近旁的表面16。當多個用戶裝備有連接到共用網(wǎng)絡或數(shù)據(jù)庫的頭戴式設備10時,那些用戶中的一些或全部可以同時看到相同的虛擬對象14,這使得能夠進行關(guān)于該虛擬對象的協(xié)作和群討論,就像它是真實世界物體一樣。
[0078]驅(qū)動頭戴式設備10上的顯示器的處理器可以持續(xù)地更新所生成的虛擬對象14的所顯示圖像,從而在用戶轉(zhuǎn)動他/她的頭和相對于所選錨表面16移動時,虛擬對象14顯現(xiàn)為錨定到錨表面16。因此,當用戶在房間中四處移動和走動時,虛擬對象14可以顯現(xiàn)為保持固定在物理表面16上。作為維持該印象的一部分,處理器可以修改虛擬對象14的外觀,從而它的形狀、大小和取向與用戶對該錨表面的視角相匹配。調(diào)整虛擬對象的形狀、大小和取向可以幫助提供身臨其境的虛擬或擴增現(xiàn)實體驗。除非用戶輸入了預定義的特定輸入以將虛擬對象14移至另一個錨表面,否則虛擬對象14可以保持靜止并且看似被附著到該錨表面。這對于在用戶群當中進行協(xié)作會是有益的,因為虛擬對象14可以是會話的協(xié)作焦點,而不論每個用戶的位置和視角如何。例如,第一用戶可以閱讀另一錨表面上的媒體或者觀看由第二用戶給出的演示。這將給予第一用戶該虛擬對象14是類似于平板屏幕的真實世界或物理物體的觀感,只不過第一用戶可以在無需中斷的情況下將錨表面16改變成房間中的一不同表面或物體。
[0079]在非限定示例中,虛擬對象14可以是旨在用于協(xié)作的軟件應用的顯示輸出。舉例而言,虛擬對象14可包括文本、媒體、電視頻道、電影、文檔文字處理應用、電子郵件、視頻、電話呼叫、社交網(wǎng)絡張貼、RSS內(nèi)容源等。此類對象可以呈現(xiàn)在顯示器上以顯現(xiàn)為固定到錨表面或固定在錨表面上,類似于這些對象在常規(guī)平板顯示器上所會顯現(xiàn)的那樣,只不過任何表面均可用作顯示器。附加地,錨定到所選表面的虛擬對象的大小可由用戶控制以使得所顯示的對象能夠被放大或縮小。在另一個實施例中,虛擬對象14可以具有不同的外觀,諸如被渲染在非平面和非矩形表面上、或者渲染為具有球形或看似三維的形狀。虛擬對象14在頭戴式顯示器上的呈現(xiàn)允許用戶觀看該對象和與該對象交互,就好像它是物理環(huán)境的一部分一樣。在一實施例中,虛擬對象14可以對每個用戶而言看起來不同。
[0080]在一個實施例中,虛擬對象14可以是不錨定到物理表面16的三維模型。在該實施例中,虛擬對象14可以是顯現(xiàn)為漂浮在空間中的三維模型。在該實施例中,用戶可以觀看自由空間中的所顯示的虛擬對象14,其中虛擬對象14被錨定到自由空間中可相對于墻壁、地板、家具等而言的所選三維位置。在該實施例中,當虛擬對象14被錨定到空間中的特定位置時,在用戶移動他/她的頭和圍繞錨位置并由此圍繞虛擬對象移動時,該對象將不會顯現(xiàn)為在移動。例如,虛擬對象14可以被呈現(xiàn)在部分透明的顯示器上,從而它顯現(xiàn)為在自由空間中錨定在預定的3-D坐標處。在該實施例中,顯示器可以顯示提示以使用戶輸入該系統(tǒng)應當將虛擬對象14顯示為自由漂浮在何處的地方或坐標。處理器可以經(jīng)由所檢測到的姿勢(例如指向空間中的點的手指)來識別輸入命令或者可以識別音頻命令以將虛擬對象14放置為自由漂浮在自由空間中。處理器可以將虛擬對象14顯示為錨定到所指示空間點,或者可以將虛擬對象14連接到頭戴式顯示器的位置,以使得虛擬對象14具有在空間中漂浮的幻象。當用戶在自由空間中相對于虛擬對象14移動時,虛擬對象14的視角、大小、和取向也可相應地改變。例如,虛擬對象14可以被錨定到位于毗鄰于墻壁的空白空間或者在外面漂浮于地面上方和窗戶外。以此方式,用戶可以通過在房間中圍繞自由漂浮的虛擬對象14走動來查看虛擬對象14的所有側(cè)面。
[0081]在各種實施例中,將虛擬對象14錨定在空間中的所選錨表面或錨點上的輸入可以用數(shù)種不同方式來提供。舉例而言,與頭戴式設備10相關(guān)聯(lián)的相機、或者操作地連接到頭戴式設備10的第二相機也可跟蹤用戶的運動。處理器可接收圖像并可向所跟蹤到的運動應用檢測算法以檢測由用戶作出的預定姿勢。例如,用戶可以指向表面,系統(tǒng)可將此解讀為對處理器的特定輸入。
[0082]例如,用戶可以用姿勢指示旨在使房間中的特定真實世界表面成為錨表面。當檢測到預定姿勢時,處理器可以執(zhí)行與該預定姿勢相對應的命令。例如,處理器可以檢測到用戶正指向特定表面。處理器可以檢測該表面并且確定該表面相對于用戶視線的角度,并且將虛擬對象14錨定在該特定表面上用戶所指之處,且其取向和視角與該表面的所確定角
度一致。
[0083]例如,用戶可指向桌面。處理器可以跟蹤用戶的移動并且可以向所跟蹤到的圖像應用檢測算法。當系統(tǒng)成像出用戶的手臂伸出以食指進行指點并且剩余手指形成拳頭,則處理器可將此類圖像識別為用戶姿勢并應用對應命令以將虛擬對象14錨定在桌面上用戶正指點之處。例如,如果用戶的指尖接觸表面以將其標識為錨表面,則頭戴式設備可以將虛擬對象14顯示為錨定到該表面。
[0084]在另一個示例中,用戶可能期望移動虛擬對象14以將其“放置”在一不同的錨表面16上。為了完成此目的,用戶可以提供或執(zhí)行耦合到頭戴式設備10的處理器可識別的第二預定姿勢。第二預定姿勢可以與用來指定第一錨表面的姿勢相同,諸如將所捕捉到的圖像內(nèi)的表面指定為錨表面16的通用命令,或者可以是一不同的姿勢??勺鞒鲈S多不同的姿勢,并且在本公開的范圍內(nèi)。例如,所檢測到的預定姿勢可以是“0K”手勢、拳頭、打開的手、用一個手指進行指點、用兩個手指進行指點、用三個或四個手指進行指點、向外伸出的手、手旋轉(zhuǎn)、揮手、一個或多個手指的移動、身體部位的移動(例如腳的移動)、或者其他任意的移動。
[0085]而且,對錨表面16的指定以及其他輸入或命令可以用由話筒所接收到的輸入來口頭地提供,該話筒在頭戴式設備10上或與之耦合、或者耦合至處理器,該處理器進而耦合到頭戴式設備。頭戴式設備內(nèi)或與之耦合的處理器可以從話筒接收音頻信號,并且可使用語音識別過程來處理此類信號。處理器可以將所接收到的音頻信號與存儲器中所存儲的一個或多個命令的音頻模式作比較以識別所說出的命令。例如,處理器可以監(jiān)視音頻輸入以發(fā)現(xiàn)幾個預定的命令單詞。以此方式,用戶可以與同事以及其他聯(lián)網(wǎng)用戶說話以諸如討論虛擬對象,而不說命令關(guān)鍵字。處理器可以向收到音頻應用檢測算法,以使得它僅僅響應于特定的預定義音頻命令、或者跟在預定義的注意命令(例如,“計算機”或“執(zhí)行”等)后的命令。例如,用戶可以說“將圖像錨定在書桌上”以使得處理器將虛擬對象錨定到頭戴式設備相機的視野內(nèi)的書桌。頭戴式設備10內(nèi)或者耦合到頭戴式設備10的處理器可以將這些說出的單詞識別為命令輸入,并且實現(xiàn)對應的動作以將虛擬對象14錨定在書桌或錨表面16 “上”。
[0086]在另一個實施例中,處理器可被編程以檢測命令輸入,但隨后在實現(xiàn)任何命令之前等待確認。該確認可以有利地避免在關(guān)于虛擬對象14進行群協(xié)作期間因無意的姿勢或者因不經(jīng)意的音頻命令而不經(jīng)意地移動該虛擬對象14。在該實施例中,虛擬對象14將不會響應于命令被放置、移動或錨定到表面,除非接收到確認或確認命令。例如,處理器可以處理來自相機的圖像以標識姿勢命令和/或處理從話筒接收到的音頻信號以標識說出的命令,諸如單個單詞或句子。當識別出姿勢或者所說出的命令時,處理器可以提示用戶確認該命令并等待確認輸入,該確認輸入可以是按鈕按壓、說出的單詞、物理姿勢、或者其組合的形式。當處理器識別出合適的確認或確認命令時,它可執(zhí)行與第一識別出的姿勢或可聽命令相關(guān)聯(lián)的命令。如果未接收到確認命令,則處理器可以忽略所檢測到的姿勢或可聽命令。
[0087]在另一實施例中,移動計算設備(諸如帶相機的智能電話)可以為并未佩戴頭戴式顯示器的用戶起到“魔術(shù)鏡頭”的作用。在該實施例中,具有經(jīng)由無線數(shù)據(jù)鏈路連接到系統(tǒng)的計算設備的用戶可以在該設備的顯示器上觀看虛擬對象。這允許那些沒有頭戴式設備的用戶觀看虛擬對象和圖像中的結(jié)構(gòu)(諸如錨表面),其觀看方式類似于它在頭戴式顯示器上顯現(xiàn)的方式。舉例而言,第一用戶可以在頭戴式顯示器上觀看連接到墻壁的虛擬對象14,該頭戴式顯示器將此圖像數(shù)據(jù)傳達給第二用戶的智能電話或PDA顯示器,從而第二用戶可觀看到該虛擬對象14顯現(xiàn)為錨定在墻壁或其他表面上的樣子。在另一實施例中,模塊化微微型投影儀可被鏈接到移動設備并被用來投影虛擬對象的圖像。
[0088]在各種實施例中,頭戴式設備10包括無線通信能力,其使得能夠在兩個或更多個設備之間交換數(shù)據(jù)以使得兩個或更多個用戶能與文檔、文件和虛擬對象交互以及針對文檔、文件和虛擬對象進行協(xié)作。以此方式,頭戴式設備10能促成多個用戶在各虛擬對象上的協(xié)作,諸如提供使得用戶能夠與三維虛擬對象交互并從各種視角觀看這些三維虛擬對象的虛擬或擴增現(xiàn)實體驗。為能實現(xiàn)這種協(xié)作體驗,頭戴式設備10可向彼此傳送三維虛擬對象模型和/或數(shù)據(jù)集以供在它們各自的顯示器上進行渲染。頭戴式設備10還可從其他計算設備(諸如網(wǎng)絡服務器)接收數(shù)據(jù)文件,諸如坐標地圖和三維虛擬對象模型和/或數(shù)據(jù)集。此外,由參與協(xié)作的頭戴式設備中的一個或多個所生成的圖像數(shù)據(jù)可被傳送給非參與方所使用的頭戴式設備或其他移動設備(諸如智能電話或平板計算機)并在其上顯示,以使得其他人能夠觀看虛擬或擴增現(xiàn)實體驗中的協(xié)作。佩戴頭戴式設備或使用另一移動設備(諸如智能電話或平板計算機)來觀看協(xié)作會話的其他人可以不僅僅看到虛擬對象以及用戶與這些虛擬對象的交互,而且還能具有有限的與由這些頭戴式設備用戶之一看到的虛擬擴增進行交互的能力。該有限的交互可包括觸摸該擴增以產(chǎn)生影響,定義物理表面上的交互區(qū)域或錨點(有效地向共享體驗添加新擴增),和經(jīng)由姿勢和/或音頻輸入與共享的混合現(xiàn)實場景進行交互。虛擬體驗中的任何此類改變可反映在由其他用戶佩戴的頭戴式顯示器中。
[0089]圖2解說了兩個用戶使用第一和第二頭戴式設備10a、10b來觀看錨定到表面(諸如書桌桌面16)的虛擬對象。在所解說的示例中,錨表面16對應于桌面表面16,其位于由第一頭戴式設備IOa所顯示的圖像內(nèi)。頭戴式設備IOa可生成虛擬對象14a (其在該圖解中示為虛擬屏幕),并且顯示虛擬對象14a,就像它被連接到桌面表面16—樣。如果第一用戶看向左邊、看向右邊或后面,則虛擬對象14a將不會在頭戴式設備IOa的視野內(nèi)游弋,而是代之以將保持顯示在桌面表面16上錨定于原位。舉例而言,如果第一用戶的目光從錨表面16移開,則虛擬對象14a將不再顯現(xiàn)在頭戴式設備屏幕內(nèi)。此外,虛擬對象14a可以按就像它在錨表面16為平板顯示器的情況下所將顯現(xiàn)的那樣的取向、形狀和大小被呈現(xiàn)給第一用戶。因此,虛擬對象14a可以按從該用戶的視角將該對象的形狀投影到錨表面上所得到的形狀和大小來被顯示。為完成此目的,頭戴式設備IOa內(nèi)或耦合到頭戴式設備IOa的處理器可計算形狀參數(shù),包括相對于頭戴式或身佩式相機IOa和距離傳感器的距離和取向,以在錨表面處或錨表面上生成虛擬對象圖像。此類計算可實現(xiàn)眾所周知的矢量投影算法以得出呈現(xiàn)在頭戴式顯示器中的圖像。通過對圖像應用與正常體驗一致的矢量處理(例如,常規(guī)歐幾里得幾何投影)并在半透明顯示器上呈現(xiàn)結(jié)果所得的虛擬對象14b (該半透明顯示器還使得用戶能夠看到越過該顯示器外的物體),其結(jié)果就能混淆用戶的感官,使得虛擬對象的行為看起來就像真實物體那樣。
[0090]為了協(xié)作目的,第二用戶可佩戴第二頭戴式設備IOb以在相同物理空間內(nèi)觀看相同虛擬對象。第二頭戴式設備IOb內(nèi)或耦合到第二頭戴式設備IOb的處理器可在用戶選定的錨表面16上渲染該虛擬對象。第二頭戴式設備IOb可在與為第一頭戴式設備IOa所指定的相同的錨表面或位置上顯示虛擬對象14b。第二用戶也可指定不同的位置或錨表面用來渲染如通過第二頭戴式設備IOb所看到的虛擬對象14b。為了使第二頭戴式設備IOb能從第二用戶的視角正確地在錨表面上渲染虛擬對象14b,從第一頭戴式設備向第二頭戴式設備傳送的數(shù)據(jù)可包括形狀或?qū)ο髷?shù)據(jù)。此數(shù)據(jù)可使得第二頭戴式設備處理器能渲染該虛擬對象的與第二用戶的視角相對應的所顯示圖像。該虛擬對象數(shù)據(jù)可以是幾何模型、坐標和填充數(shù)據(jù)、或可用在第二頭戴式設備IOb內(nèi)的處理器中所實現(xiàn)的三維對象渲染模塊中的類似渲染數(shù)據(jù)的形式。
[0091]在一些實現(xiàn)或境況中,第二頭戴式設備IOb可從第一頭戴式設備IOa接收示出該虛擬對象錨定到錨表面16的圖像數(shù)據(jù)。在此類情形中,第二頭戴式設備IOa內(nèi)或耦合到第二頭戴式設備IOa的處理器可經(jīng)由無線數(shù)據(jù)鏈路接收由第一頭戴式設備IOa生成的視頻數(shù)據(jù),并簡單地將收到的視頻數(shù)據(jù)作為輸出視頻圖像來顯示。在此應用中,第二用戶在第二頭戴式顯示器上觀看到從第一用戶的視角來看的場景和錨定的虛擬對象14a。由此,在此實現(xiàn)中,第二用戶可體驗到第一用戶的觀看體驗,就像電影或電視視頻那樣。此第一用戶視角在一些境況中可能是非常有用的,諸如當?shù)谝挥脩粽跒檫M行訓練而向第二用戶展示如何做某件事、或者第二用戶正在監(jiān)督第一用戶的活動時。在此境況中,在數(shù)據(jù)鏈路之上發(fā)送的數(shù)據(jù)可以是簡單的視頻和音頻流,并且第二頭戴式設備可簡單地將收到的圖像投影到頭戴式顯示器上并進一步進行虛擬對象的處理和渲染。如以下所描述,來自第一頭戴式設備的視頻和圖像數(shù)據(jù)還可(例如,經(jīng)由網(wǎng)絡、服務器或?qū)Φ葻o線數(shù)據(jù)鏈路)被傳送到其他計算設備,諸如智能電話、平板計算機、膝上型計算機或大型視頻顯示器,以使其他人能觀看并分享第一用戶的虛擬/擴增現(xiàn)實體驗。
[0092]第二頭戴式設備IOb可在桌面表面16上顯示虛擬對象14b。替換地,第二用戶可指定應在上面顯示虛擬對象14的另一錨表面。當虛擬對象14a顯示在第一錨表面16上時,第二頭戴式設備IOb可修改該對象的大小和形狀,以使其看起來適合于第二用戶的視角。例如,如果兩個用戶正在桌子或書桌的兩側(cè)觀看相同對象,則該對象對其中一個用戶可能顯現(xiàn)為顛倒的,就像它是真實物體一樣。替換地,這兩個用戶可以按相同方式觀看到相同對象,從而雙方都觀看到該對象正面朝上。
[0093]例如,如果第二用戶IOb移到離桌面錨表面16越近,則虛擬對象14b可變得越大。如果第二用戶IOb移到離桌面錨表面16越遠,則虛擬對象14b可變得越小。此外,如果第二用戶IOb相對于水平面旋轉(zhuǎn)了顯示器,則虛擬對象14b可類似地補償該旋轉(zhuǎn)以顯現(xiàn)為錨定于該桌面錨表面16。作為進一步的示例,用戶可以按看起來與對象14b交互的方式移動他/她的手臂和手以將其關(guān)閉或從顯示器移走,諸如掃動手臂就像要把虛擬對象拂到旁邊去、圍著虛擬對象合攏手指、或猛擊虛擬對象14b。作為進一步的示例,第二用戶IOb可執(zhí)行試圖拖拉或推動虛擬對象14b的姿勢,并且此拖拉或推動可被解讀為輸入命令。如以上所提及,可識別的姿勢可被存儲在姿勢字典中,姿勢字典可存儲用于識別姿勢的運動數(shù)據(jù)或模式,這些姿勢可包括戳、輕拍、叩擊、推、指引、彈拂、轉(zhuǎn)向、旋轉(zhuǎn)、抓和拉、兩手的手掌打開以搖攝圖像、繪圖(例如手指繪畫)、用手指形成形狀(例如“0K”手勢)、以及揮掃,所有這些姿勢可以在所生成顯示中的虛擬對象的視在位置上或緊鄰該視在位置地來完成。以此方式,用戶可使用將適合于真實世界物體的姿勢來與錨定到表面16的虛擬對象14b交互,由此使得與虛擬對象的交互是直觀的且易于學會。
[0094]在以下更詳細地描述的實施例中,這些頭戴式顯示器可被投影儀所替代,由此圖像被投影到表面上。在此類實施例中,用戶的操作和體驗可與如上討論的使用頭戴式顯示器的操作和體驗類似。而且,隨著新的圖像呈現(xiàn)技術(shù)被開發(fā)出來,此類技術(shù)可與各種實施例一起實現(xiàn)以協(xié)同真實世界錨表面來渲染虛擬對象,并由用戶從其視角來觀看。
[0095]圖3解說了向兩個佩戴頭戴式設備10a、IOb的用戶呈現(xiàn)虛擬對象14a,以使得盡管這兩個用戶彼此面對,但該虛擬對象對每個用戶看起來均是正面向上的(即,不是顛倒的)。虛擬對象的這種自取向允許這兩個用戶均能正確地觀看對象數(shù)據(jù)(例如,柱狀圖)。
[0096]如上文所提及,虛擬對象14a、14b的這種呈現(xiàn)可由利用頭戴式或身佩式相機來捕捉桌子16的圖像的頭戴式設備IOa來完成。該圖像可顯示在頭戴式顯示器IOa中,或者可透過半透明顯示器來觀看該桌子。第一用戶的虛擬對象14a可顯示在頭戴式設備IOa上。第一用戶可使用第一頭戴式設備IOa來編制指示應為第二用戶生成第二虛擬對象14b的信號。第一用戶還可提供指示捕捉到的圖像中的錨表面16的輸入。頭戴式設備IOa內(nèi)或耦合至頭戴式設備IOa的處理器可以計算參數(shù),這些參數(shù)包括與第一用戶所選擇的錨桌面表面16相對應的、相對于頭戴式或身佩式相機IOa的距離和取向。頭戴式設備IOa顯示所生成的虛擬對象14a,以使得該虛擬對象14a被錨定到該錨表面16并包括該第一取向。第一虛擬對象14a隨后可由該顯示器顯示在第一頭戴式顯示器IOa上,就像連接到第一錨表面16a那樣。
[0097]在圖3中,佩戴第二頭戴式設備IOb的第二用戶坐在第一用戶對面。第二頭戴式設備IOb可接收輸入以選擇該桌面作為錨表面16,或可從第一頭戴式設備IOa接收標識所選錨表面16的數(shù)據(jù)。使用此信息,第二頭戴式設備IOb就可生成該虛擬對象14b的重取向成看起來正面朝上且具有對第二用戶而言正確的視角的顯示。為了生成此顯示,第二頭戴式設備IOb可接收與要被渲染的虛擬對象有關(guān)的數(shù)據(jù),諸如其內(nèi)容以及與其大體形狀和取向有關(guān)的數(shù)據(jù)。第二頭戴式設備IOb可使用由第一用戶所選擇的錨表面(或由第二用戶所選擇的另一錨表面)來決定用于顯示該虛擬對象的位置、取向和視角。這可包括確定該對象的正確頂部以及該對象的投影角度以匹配于錨表面,其結(jié)果得到所渲染對象的正確視角。由此,如圖3中所解說的,第二用戶觀看到錨定于桌面表面16的、但是從第二用戶的視角來看正面向上的相同虛擬對象14b。
[0098]在一替換實施例中,第一頭戴式設備IOa或另一與這兩個頭戴式設備處于通信中的計算設備可為第二頭戴式設備IOb確定虛擬對象14b的正確取向和視角。在此情形中,第一頭戴式設備IOa可接收足以使該設備能確定第二用戶或第二頭戴式設備IOb的取向的信息。例如,第二用戶的圖像可由第一頭戴式設備上的相機捕捉,并使用解剖學模型來處理以確定第二用戶的位置和視角。第一頭戴式設備IOa可隨后按照基于所確定的用戶取向為第二用戶IOb對虛擬對象14b進行正確取向的方式向第二頭戴式設備傳送虛擬對象數(shù)據(jù)。
[0099]在各種實施例中,第二用戶可向第二頭戴式設備IOb提供輸入以控制或改變虛擬對象14b的取向、大小以及形狀(例如,視角)。例如,利用檢測到的姿勢輸入命令的第二用戶可拖曳虛擬對象14b的角以使其更大或更小。作為另一示例,第二用戶可使虛擬對象IOb最小化并打開新的應用或虛擬對象。[0100]如圖4中所解說的,觀看相同虛擬對象的兩個用戶無需在相同房間中。例如,身處第一位置(例如,英國劍橋)佩戴第一頭戴式設備IOa的第一用戶可觀看錨定在第一錨表面16a (例如,墻壁)上的虛擬對象14a (例如,演示或圖表)并且與身處第二位置(例如,加州圣地亞哥)佩戴第二頭戴式設備IOb的第二用戶關(guān)于該虛擬對象進行協(xié)作,而第二用戶可觀看到錨定到一極不相同的錨表面16b (諸如桌面)的該虛擬對象14b。頭戴式設備IOa可經(jīng)由本領(lǐng)域中所知的任何計算機網(wǎng)絡來與第二頭戴式設備IOb通信,該計算機網(wǎng)絡將設備IOa和IOb互連并允許用戶通過有線和無線通信鏈路來共享資源。
[0101]例如,第一頭戴式設備IOa可經(jīng)由通信網(wǎng)絡傳送為第二頭戴式設備IOb正確地對第二虛擬對象14b取向的信號、以及為第二用戶IOb生成經(jīng)取向的第二虛擬對象14b的信號。第二頭戴式設備IOb可從該通信網(wǎng)絡接收該信號并可為第二用戶IOb生成第二虛擬對象 14b。
[0102]在另一實施例中,可由頭戴式或身佩式相機隨時間推移來捕捉第一和/或第二用戶的圖像并使用其來確定虛擬對象的恰適取向??上虿蹲降降膱D像應用解剖學分析以確定用戶的當前姿態(tài)和取向,諸如相對于指定的錨表面的姿態(tài)和取向。例如,可將這些圖像與存儲在存儲器中的解剖學數(shù)據(jù)進行比較以檢測這些圖像內(nèi)的身體部位并確定用戶的取向。第二頭戴式設備IOb的第二虛擬對象14b可基于在這些圖像中檢測到的第一用戶(即,以按該圖像向第一用戶所顯現(xiàn)的方式向第二用戶呈現(xiàn)該圖像)或第二用戶(即,以按適合于第二用戶的姿態(tài)的方式來呈現(xiàn)該圖像)的身體部位來正確地取向。例如,第二用戶的圖像可被捕捉、跟蹤并與存儲在存儲器中的解剖學數(shù)據(jù)進行比較,其中第二用戶的頭、肩、手臂、軀干、腿或任何其他身體部位或其部分可被檢測。第二頭戴式設備IOb可基于檢測到的身體部位來對虛擬對象進行取向。第二虛擬對象14b可被取向在第一取向上并被顯示。
[0103]一段時間以后,第二用戶可能移動了,并且基于此不同的取向以及該用戶的新位置,第一取向可能不合適了。例如,可以計算參數(shù),包括與第二錨表面16b(其具有位于該圖像中的所識別出的物體)相對應的、相對于第二頭戴式或身佩式相機IOb的距離和取向。可以確定圖像大小和取向,其與所確定的第二虛擬對象14b在此類移動之后的取向相對應。第二頭戴式設備IOb可隨后顯示所生成的第二虛擬對象14b,從而第二虛擬對象14b顯現(xiàn)為錨定于并連接到第二錨表面16b。例如,可利用所檢測到的身體部位來確定第二用戶正看著哪里,并且可基于第二用戶所看之處來正確地對第二虛擬對象14b進行取向。
[0104]在另一實施例中,可以利用所檢測到的身體部位來確定第二用戶是正坐著還是站著?;诖舜_定,可將第二虛擬對象14b生成為錨定到并取向于毗鄰第二用戶的平面表面上。如果基于所檢測到的身體部位確定了第二用戶正站著,則可將第二虛擬對象14b生成在毗鄰第二用戶的縱向表面上。
[0105]在圖4的解說中,錨表面16a是位于由頭戴式設備IOa顯示的圖像內(nèi)的墻壁。對于第一用戶,頭戴式設備IOa可生成虛擬對象14a并將虛擬對象14a顯示為就像固定在或連接到墻壁表面16a那樣,并取向成使其對于第一用戶而言是正面朝上的。頭戴式設備IOa處理器可計算用于渲染該虛擬對象的參數(shù),包括從頭戴式設備IOa到被第一用戶選為錨表面的墻壁16的距離和取向。頭戴式設備IOa可包括或被耦合到移動CPU,該移動CPU被耦合到收發(fā)機,該收發(fā)機配置成與路由器通信以經(jīng)由網(wǎng)絡(諸如因特網(wǎng))將數(shù)據(jù)傳達給第二頭戴式設備10b。類似地,第二頭戴式設備IOb也可包括收發(fā)機以與網(wǎng)絡通信,從而經(jīng)由網(wǎng)絡(諸如因特網(wǎng)、內(nèi)聯(lián)網(wǎng)、無線網(wǎng)絡或任何其他合適的電信網(wǎng)絡)來發(fā)送/接收數(shù)據(jù)。
[0106]第一和第二頭戴式設備10a、10b中任一者均可發(fā)起協(xié)作會話,并經(jīng)由網(wǎng)絡(諸如因特網(wǎng))向另一方發(fā)送對此類會話的請求(諸如通過向與該另一頭戴式設備相關(guān)聯(lián)的IP地址發(fā)送消息)。在另一實施例中,頭戴式設備IOa可經(jīng)由服務器來與第二頭戴式設備IOb通信,該服務器包括程序指令以執(zhí)行服務來在這兩個設備IOa和IOb間共享資源。
[0107]作為示例,雙方均裝備有頭戴式設備的第一和第二用戶之間的協(xié)作會話可如下進行。當一個用戶將資產(chǎn)或虛擬對象添加或錨定到表面時,該用戶的頭戴式設備可向另一用戶的頭戴式設備傳送消息,該消息以相對于已顯不在先前選定的錨表面上的現(xiàn)有資產(chǎn)或虛擬對象的方式指示該新資產(chǎn)或?qū)ο蟮膬?yōu)選擺放。如果在原始錨表面上沒有足夠空間給這兩個對象,則該新資產(chǎn)或?qū)ο蟮拇藘?yōu)選擺放可隨后被系統(tǒng)自動地或被用戶通過用戶輸入(例如,所識別出的運動姿勢)來忽略。同樣地或替換地,這兩個用戶之一或其兩者可執(zhí)行輸入或姿勢以手動地將該新資產(chǎn)或虛擬對象重定位到其所偏好的位置或表面。
[0108]在另一實施例中,第一頭戴式設備IOa可向第二頭戴式設備IOb遞送消息數(shù)據(jù),其指示虛擬對象14b的優(yōu)選或建議擺放。例如,第一用戶可指示虛擬對象14b的優(yōu)選擺放應發(fā)生在書桌16b上或墻壁上。例如,可從第一頭戴式設備IOa向第二頭戴式設備IOb發(fā)送指示“優(yōu)選墻壁表面”或“優(yōu)選桌面表面”的消息。第二頭戴式設備IOb可在顯示器上生成第二虛擬對象14b該消息還可包括用于為第二用戶正確地對虛擬對象14進行取向的一個或多個程序指令。第二頭戴式設備IOb可接收輸入以選擇該桌面作為錨表面16b,或可從第一頭戴式設備IOa接收錨表面16被選為墻壁的數(shù)據(jù)。在后一替換方案的情形中,第二頭戴式設備IOb內(nèi)或耦合到第二頭戴式設備IOb的處理器可在由該設備上的相機獲得的圖像內(nèi)檢測可匹敵的墻壁。還可向該處理器傳達程序指令,以由用戶來接受或拒絕由另一用戶所建議的錨表面。頭戴式顯示器IOb可從第二用戶接收所說出的音頻信號形式的、接受或拒絕所建議的錨表面的輸入命令。第二頭戴式設備IOb可接收指示第二虛擬對象14b的優(yōu)選擺放的消息,并且第二用戶可向第二頭戴式設備IOb提供確認或拒絕第二虛擬對象14b的該優(yōu)選擺放的輸入。例如,第二用戶可提供指示旋轉(zhuǎn)并重取向第二虛擬對象14b的愿望的輸入。該處理器可基于該輸入來為第二虛擬對象14確定距離和取向,并可用期望的取向來生成第二虛擬對象14b。
[0109]第二頭戴式設備IOb可將虛擬對象14b顯示在桌面表面16b上第二位置處。第二用戶可進一步提供輸入以改變虛擬對象IOb的取向、大小、以及形狀來適應于錨表面16b。虛擬對象14b與虛擬對象14a看起來一樣,并且協(xié)作可得以在這些用戶之間進行。由一個用戶在一個位置處所作的改變可在第一和第二位置兩者處更新并被示出,即,對在一個位置的虛擬對象14a的改變將被反映在顯示在另一位置的虛擬對象14b上。例如,第二用戶可刪除虛擬對象14b上的一柱狀圖,并且虛擬對象IOa上的相同柱狀圖可在第一位置同樣被刪除。
[0110]在又一實施例中,佩戴第三頭戴式設備的第三用戶可加入?yún)f(xié)作,并且將所顯示的虛擬對象錨定在由第三用戶所選擇的或由第一或第二用戶任一者所建議的表面上。同樣,如以上所描述,由參與協(xié)作的這些頭戴式設備中的一者或多者所生成的圖像數(shù)據(jù)可被傳送到其他頭戴式設備或其他計算設備(諸如由非參與者所使用的智能電話或平板計算機)并在其上顯示。此實施例使得其他人能觀看虛擬或擴增現(xiàn)實體驗中的該協(xié)作。佩戴頭戴式設備或使用另一移動設備(諸如智能電話或平板計算機)來觀看協(xié)作會話的其他人可以不僅僅看到虛擬對象以及用戶與這些虛擬對象的交互,而且還可具有有限的與由這些頭戴式設備用戶之一看到的虛擬擴增進行交互的能力。該有限的交互可包括觸摸該擴增以產(chǎn)生影響,定義物理表面上的交互區(qū)域或錨點(有效地向共享體驗添加新擴增),和經(jīng)由姿勢和/或音頻輸入與共享混合現(xiàn)實場景進行交互。虛擬體驗中的任何此類改變可反映在由其他用戶佩戴的頭戴式顯示器中。
[0111]在一實施例中,佩戴第二頭戴式設備IOb的第二用戶可提供輸入以從個人數(shù)據(jù)空間(例如,云或移動設備)召喚一新的虛擬對象,并將該新的虛擬對象添加到共享顯示中,從而第一用戶也在第一頭戴式設備IOa中看到該新的虛擬對象。在一實施例中,第一頭戴式設備IOa可接收通知該用戶有一第三虛擬對象在場并請求接受并顯示該第三虛擬對象的用戶輸入或命令的提示。該用戶可選擇新的物理表面來將該新的虛擬對象錨定到該新的物理表面,或可接受由第二用戶所選擇的錨表面。
[0112]在一實施例中,頭戴式設備IOa內(nèi)或耦合到頭戴式設備IOa的處理器可接收指示虛擬對象14的待命位置的輸入。該待命位置可以是可將虛擬對象14的初始狀態(tài)顯示為未錨定或固定到真實世界表面的一位置。該待命位置可以是虛擬對象14在該顯示上“自由漂浮”而未連接到真實世界物體的位置。替換地,該待命位置可以是位于該圖像中的一不同錨表面16,例如,在天花板上、或在反復且為用戶所熟悉的位置上。該待命位置可以是對象可被“存儲”直至用戶采取將虛擬對象14錨定到錨表面的進一步行動的位置或表面。頭戴式設備IOa內(nèi)或耦合到頭戴式設備IOa的處理器可計算參數(shù),包括與該待命位置相對應的、相對于頭戴式或身佩式相機的距離和取向,并且該處理器可用對于該待命位置而言正確的視角來顯示該虛擬對象14。該待命位置可被顯示為自由漂浮,并且可隨著用戶轉(zhuǎn)動他/她的頭以及在房間里四處移動而顯現(xiàn)為可移動的且未連接到圖像中的表面。
[0113]在一實施例中,頭戴式設備IOa內(nèi)或耦合到頭戴式設備IOa的處理器可用一個或多個頭戴式或身佩式相機(其可為全彩攝像機)來捕捉圖像。距被成像場景內(nèi)的物體的距離可經(jīng)由對經(jīng)立體相機組裝件獲得的兩幅(或更多幅)圖像的三角法處理來確定。替換地或補充地,頭戴式設備可使用測量從該設備到圖像中的物體和表面的距離的距離傳感器來獲得空間數(shù)據(jù)(即,距圖像中的物體的距離)。在一實施例中,該距離傳感器可以是紅外光發(fā)射器(例如,激光器或二極管)以及紅外傳感器。在此實施例中,頭戴式設備可投影呈脈沖或結(jié)構(gòu)化光圖案形式的紅外光,這些脈沖或結(jié)構(gòu)化光圖案從該設備的相機的視野內(nèi)的物體反射。反射的紅外激光可在傳感器中被接收,并且可基于測得的在發(fā)射與收到光之間的時間或相移來計算空間數(shù)據(jù)。在另一實施例中,距離傳感器可以是超聲發(fā)射器和接收器。在此實施例中,頭戴式設備可發(fā)射超聲脈沖,這些超聲脈沖從該設備的相機的視野內(nèi)的物體反射。超聲接收器感測反射的超聲,并基于測得的在聲音發(fā)射與收到的反射超聲之間的時間來計算空間數(shù)據(jù)。在第三實施例中,可通過測量視頻流中的后續(xù)圖像中隨著用戶的頭移動而發(fā)生的角度改變并對該圖像序列應用三角法分析來估計距物體的距離。通過在頭戴式設備中包括運動和/或相對位置傳感器,就可將觀看角度變化與相機位置變化進行相關(guān),從中可使用三角法算法來計算物體/表面距離和位置。這些距離測量方法的任何組合可被組合以進一步細化由頭戴式設備所獲得的距離測量。
[0114]在一實施例中,頭戴式設備10內(nèi)或耦合到頭戴式設備10的處理器可將空間數(shù)據(jù)存儲在存儲器中,并可基于捕捉到的視頻以及測得或計算出的空間數(shù)據(jù)來構(gòu)建在該設備鄰域內(nèi)的物體和表面的三維地圖??膳c在鄰域內(nèi)或經(jīng)由網(wǎng)絡連接的其他頭戴式設備共享與此三維地圖,和/或可將其上傳至服務器。共享此類三維地圖數(shù)據(jù)可協(xié)助其他頭戴式設備IOb(或更具體而言是這些其他頭戴式設備內(nèi)或耦合到這些其他頭戴式設備的處理器)在無需對房間進行成像和處理的情況下渲染錨定到指定的錨表面的虛擬對象。此類三維地圖數(shù)據(jù)的共享還可使得多個頭戴式設備能協(xié)作地創(chuàng)建這多個用戶的鄰域的整體地圖,并通過避免需要掃描相同環(huán)境多次(即,該三維地圖僅需生成一次即可)來減少強加于任一個頭戴式設備的工作負荷。在一進一步的應用中,圖像和空間數(shù)據(jù)(諸如在第一用戶的鄰域中的物體的三維地圖)的共享可使得其他用戶即便在位于很遠處時也能觀看到與第一用戶所觀看的相同的圖像。例如,第二設備可利用該地圖,其中與所捕捉到的空間數(shù)據(jù)相對應的數(shù)據(jù)可被傳送,從而佩戴第二頭戴式設備的另一用戶可以與第一用戶相同的方式來顯示虛擬對象14。
[0115]如以上所解釋的,與頭戴式設備IOa或IOb相關(guān)聯(lián)的顯示器可以是部分透明的或可以基本上遮蔽用戶視野的全部或部分。在另一實施例中,頭戴式設備IOa顯示器可被定位在僅一只眼睛之上,從而其僅遮蔽用戶視線的一部分,諸如呈單目顯示器的形式,以使得用戶的一只眼睛能夠無遮擋地觀看房間。在另一實施例中,頭戴式設備IOa或IOb可向計算設備顯示器輸出虛擬對象14a或14b,從而由頭戴式或身佩式相機所獲得的圖像以及任何虛擬對象可一起在常規(guī)計算機顯示器上被觀看。
[0116]如上文所提及,這些頭戴式顯示器可由將圖像投影到表面上的投影儀、或由可被開發(fā)出來的其他圖像生成技術(shù)所替代。在此類實施例中,用戶的操作和體驗可與如上討論的使用頭戴式顯示器的操作和體驗類似。
[0117]圖5A解說可被包括在頭戴式設備10的實施例中的組件。圖5B解說頭戴式設備10如何可作為系統(tǒng)的一部分來操作,在該系統(tǒng)中,傳感器陣列500可向移動處理器507提供數(shù)據(jù),移動處理器507執(zhí)行本文中所描述的各種實施例的操作,并向/從服務器564傳達和接收數(shù)據(jù)。應當注意到,處理器507頭戴式設備10可包括不止一個處理器(或多核處理器),其中核心處理器可執(zhí)行整體控制功能,而協(xié)處理器(有時稱為應用處理器)執(zhí)行應用。核心處理器和應用處理器可配置在相同微芯片封裝中(諸如多核處理器),或配置在分別的芯片中。同樣,處理器507可與關(guān)聯(lián)于其他功能的處理器(諸如關(guān)聯(lián)于無線通信的處理器(即,調(diào)制解調(diào)器處理器)、關(guān)聯(lián)于導航的處理器(例如,GPS接收機內(nèi)的處理器)、以及關(guān)聯(lián)于圖形處理的處理器(例如,圖形處理單元或稱“GPU”))封裝在相同微芯片封裝中。
[0118]頭戴式設備10可與通信系統(tǒng)或網(wǎng)絡通信,該通信系統(tǒng)或網(wǎng)絡可包括其他計算設備,諸如可訪問因特網(wǎng)的個人計算機和移動設備之類。此類個人計算機和移動設備可包括耦合到處理器507的天線551、發(fā)射機/接收機或收發(fā)機552、以及模數(shù)轉(zhuǎn)換器553,以使得該處理器能經(jīng)由無線通信網(wǎng)絡發(fā)送和接收數(shù)據(jù)。例如,移動設備(諸如蜂窩電話)可經(jīng)由無線通信網(wǎng)絡(例如,W1-Fi或蜂窩電話數(shù)據(jù)通信網(wǎng)絡)來訪問因特網(wǎng)。此類無線通信網(wǎng)絡可包括耦合到網(wǎng)關(guān)或因特網(wǎng)訪問服務器的多個基站,而該網(wǎng)關(guān)或因特網(wǎng)訪問服務器耦合到因特網(wǎng)。個人計算機可按任何常規(guī)方式耦合到因特網(wǎng),諸如由有線連接經(jīng)由因特網(wǎng)網(wǎng)關(guān)(未示出)或由無線通信網(wǎng)絡來耦合到因特網(wǎng)。
[0119]參見圖5A,頭戴式設備10可包括耦合到控制系統(tǒng)處理器507的場景傳感器500和音頻傳感器505,其中控制系統(tǒng)處理器507可配置成具有數(shù)個軟件模塊510 - 550。在一實施例中,處理器507或場景傳感器500可對圖像應用解剖特征識別算法以檢測一個或多個解剖特征。與該控制系統(tǒng)相關(guān)聯(lián)的處理器507可審閱所檢測到的解剖特征以識別一個或多個姿勢并將所識別出的姿勢作為輸入命令來處理。例如,如以下更詳細討論的,用戶可執(zhí)行與一輸入命令對應的運動姿勢,諸如用手指指著虛擬對象以關(guān)閉該虛擬對象。響應于識別出此示例姿勢,處理器507可將該虛擬對象從顯示中移除。作為另一示例,用戶可將一個手的食指與拇指相觸以形成“OK”手勢,以確認呈現(xiàn)在顯示器上的指令或選項。
[0120]可包括立體相機、取向傳感器(例如,加速計和電子羅盤)以及距離傳感器的場景傳感器500可向?qū)崿F(xiàn)在處理器507內(nèi)的場景管理器510提供場景有關(guān)數(shù)據(jù)(例如,圖像),其中場景管理器510可被配置成解讀三維場景信息。在各種實施例中,場景傳感器500可包括立體相機(如以下所描述)以及距離傳感器,其可包括用于為紅外相機進行場景照明的紅外光發(fā)射器。例如,在圖5A中所解說的實施例中,場景傳感器500可包括用于搜集立體圖像的立體紅綠藍(RGB)相機503a、以及配置成在紅外光下對場景進行成像的紅外相機503b,其中紅外光可由結(jié)構(gòu)化紅外光發(fā)射器503c提供。如以下所討論的,結(jié)構(gòu)化紅外光發(fā)射器可配置成發(fā)射紅外光脈沖,這些紅外光脈沖可由紅外相機503b成像,其中收到像素的時間被記錄并用來通過使用渡越時間計算來確定距圖像元素的距離。立體RGB相機503a、紅外相機503b以及紅外發(fā)射器503c可合稱為RGB-D (D代表距離)相機503。
[0121]場景管理器模塊510可掃描由場景傳感器500提供的距離測量和圖像以產(chǎn)生該圖像內(nèi)的各物體的三維重構(gòu),包括距立體相機的距離以及表面取向信息。在一實施例中,場景傳感器500 (并且更具體而言是RGB-D相機503)可指向與用戶和頭戴式設備10的視野對準的方向。場景傳感器500可提供全身三維動作捕捉和姿勢識別。場景傳感器500可以具有與紅外相機503c (諸如單目CMOS傳感器)相組合的紅外光發(fā)射器503c。場景傳感器500可進一步包括捕捉三維視頻數(shù)據(jù)的立體相機503a。場景傳感器500可在環(huán)境光、日光或完全黑暗的情況下工作并可包括如本文中所描述的RGB-D相機。場景傳感器500可包括近紅夕KNIR)脈沖照明組件、以及具有快速閘選機構(gòu)的圖像傳感器。可為每個像素收集脈沖信號,并且其對應于反射該脈沖的位置,并可被用來計算距捕捉到的主體上的對應點的距離。
[0122]在另一實施例中,場景傳感器500可使用其他距離測量技術(shù)(S卩,不同類型的距離傳感器)來捕捉圖像內(nèi)的物體的距離,例如可使用超聲回波定位、雷達、對立體景深圖像的三角測量等等。如以上所討論的,在一實施例中,場景傳感器500可包括測距相機、閃光LIDAR相機、渡越時間(ToF)相機、和/或RGB-D相機503,其可使用距離閘選式ToF感測、RF調(diào)制式ToF感測、脈沖光ToF感測、以及投影光立體感測中的至少一者來確定距物體的距離。在另一實施例中,場景傳感器500可使用立體相機503a來捕捉場景的立體圖像,并基于該圖像內(nèi)所包含的捕捉到的像素的輝度來確定距離。如以上所提及,為一致性,這些類型的距離測量傳感器和技術(shù)中的任一者或全部在本文中統(tǒng)稱為“距離傳感器”??梢杂卸鄠€不同能力和分辨率的場景傳感器以輔助對物理環(huán)境進行地圖繪制、以及對用戶在該環(huán)境內(nèi)的位置進行準確跟蹤。
[0123]頭戴式設備10還可包括音頻傳感器505,諸如話筒或話筒陣列。音頻傳感器505使頭戴式設備10能記錄音頻,并實行聲源定域和環(huán)境噪聲抑制。音頻傳感器505可捕捉音頻并將這些音頻信號轉(zhuǎn)換成音頻數(shù)字信號。與控制系統(tǒng)相關(guān)聯(lián)的處理器可審閱該音頻數(shù)字數(shù)據(jù)并應用語音識別算法來將該數(shù)據(jù)轉(zhuǎn)換成可搜索的文本數(shù)據(jù)。該處理器還可審閱所生成的文本數(shù)據(jù)以尋找某些識別出的命令或關(guān)鍵字,并將所識別出的命令或關(guān)鍵字用作輸入命令來執(zhí)行一個或多個任務。例如,用戶可說出諸如“錨定虛擬對象”之類的命令來將所顯示的虛擬對象錨定到選定的表面上。例如,用戶可說出“關(guān)閉應用”來關(guān)閉顯示在顯示器上的應用。
[0124]頭戴式設備10還可包括顯示器540。顯示器540可顯示由場景傳感器500內(nèi)的相機所獲得的或由頭戴式設備10內(nèi)或耦合到頭戴式設備10的處理器所生成的圖像。在一實施例中,顯示器540可以是微型顯示器。該顯示器540可以是完全遮蔽式顯示器。在另一實施例中,顯示器540可以是半透明顯示器,其可在屏幕上顯示圖像,而用戶能透過該屏幕觀看到周圍房間。顯示器540可被配置成單目或立體(B卩,雙目)配置。替換地,頭戴式設備10可以是戴在頭上、或作為頭盔的一部分的頭盔搭載式顯示器設備,其可在一只眼睛的前方具有小型顯示器540光學器件(單目)或在兩只眼睛的前方均具有小型顯示器540光學器件(即,雙目或立體顯示器)。替換地,頭戴式設備10還可包括兩個顯示單元540,它們是小型化的且可以是陰極射線管(CRT)顯示器、液晶顯示器(IXD)、液晶覆硅(LCos)顯示器、有機發(fā)光二極管(OLED)顯示器、基于干涉測量調(diào)制器(IMOD)元件(其為簡單的微機電系統(tǒng)(MEMS)器件)的Mirasol (向日葵)顯示器、光導顯示器和波導顯示器、以及已存在的和可能被開發(fā)出來的其他顯不技術(shù)中的任何一者或多者。在另一實施例中,顯不器540可包括多個微型顯示器540以提高總的整體分辨率以及增大視野。
[0125]頭戴式設備10還可包括音頻輸出設備550以輸出音頻,其可以是合起來示為參考標號550的頭戴式受話器和/或揚聲器。頭戴式設備10還可以包括一個或多個處理器,其可向頭戴式設備10提供控制功能以及生成圖像,諸如虛擬對象14的圖像。例如,設備10可包括核心處理器、應用處理器、圖形處理器以及導航處理器。替換地,頭戴式顯示器10可耦合到單獨的處理器,諸如智能電話或其他移動計算設備中的處理器之類。視頻/音頻輸出可由該處理器或由(經(jīng)由有線或無線網(wǎng)絡)連接到頭戴式設備10的移動CPU來處理。頭戴式設備10還可包括場景管理器塊510、用戶控制塊515、表面管理器塊520、音頻管理器塊525、以及信息訪問塊530,它們可以是分開的電路模塊或以軟件模塊的形式實現(xiàn)在該處理器內(nèi)。頭戴式設備10可進一步包括本地存儲器以及用于與其他設備或本地無線或有線網(wǎng)絡通信以從遠程存儲器555接收數(shù)字數(shù)據(jù)的無線或有線接口。使用系統(tǒng)中的遠程存儲器555可通過減少頭戴式設備10中的存儲器芯片和電路板來使該設備能被制作得更為輕質(zhì)。
[0126]控制器的場景管理器塊510可從場景傳感器500接收數(shù)據(jù)并構(gòu)造物理環(huán)境的虛擬表示。例如,可以使用激光器來發(fā)射激光,該激光從房間中的物體反射并在相機中被捕捉至IJ,其中該光的往返行程時間被用來計算距該房間中的各個物體和表面的距離。此類距離測量可被用來確定房間中的物體的位置、大小和形狀,并用來生成該場景的地圖。一旦編制出地圖,場景管理器塊510就可將該地圖鏈接到其他所生成的地圖以形成預定區(qū)域的更大的地圖。在一實施例中,該場景和距離數(shù)據(jù)可被傳送給服務器或其他計算設備,該服務器或其他計算設備可基于接收自數(shù)個頭戴式設備(且隨著時間推移當用戶在該場景內(nèi)四處移動所得到)的圖像、距離以及地圖數(shù)據(jù)來生成合并的或整合的地圖。經(jīng)由無線數(shù)據(jù)鏈路來使此類整合的地圖數(shù)據(jù)可供頭戴式設備處理器獲得。其他地圖可以是由當下的設備或由其他頭戴式設備所掃描的地圖,或可從云服務接收。場景管理器510可基于來自場景傳感器500的數(shù)據(jù)來標識各表面并跟蹤用戶的當前位置。用戶控制塊515可搜集用戶對該系統(tǒng)的控制輸入,例如音頻命令、姿勢、以及輸入設備(例如,鍵盤、鼠標)。在一實施例中,用戶控制塊515可包括姿勢詞典或被配置成訪問姿勢詞典以解讀由場景管理器510所標識出的用戶身體部位運動。如以上所討論的,姿勢字典可存儲用于識別姿勢的運動數(shù)據(jù)或模式,這些姿勢可包括戳、輕拍、叩擊、推、指引、彈拂、轉(zhuǎn)向、旋轉(zhuǎn)、抓和拉、兩手的手掌打開以搖攝圖像、繪圖(例如手指繪畫)、用手指形成形狀(例如“OK”手勢)、以及揮掃,所有這些姿勢可以在所生成顯示中的虛擬對象的視在位置上或緊鄰該視在位置來完成。用戶控制塊515還可識別復合命令。這可包括兩個或更多個命令。例如,姿勢與聲音(例如,拍手)或者語音控制命令(例如,檢測到的結(jié)合語音命令或說出的單詞所做的“OK”手勢以確認一操作)。當用戶控制515被標識出時,控制器可向該設備10的另一子組件提供請求。
[0127]頭戴式設備10還可包括表面管理器塊520。表面管理器塊520可基于捕捉到的圖像(如由場景管理器塊510所管理)和來自距離傳感器的測量來持續(xù)地跟蹤場景內(nèi)各表面的位置。表面管理器塊520還可持續(xù)地更新錨定到所捕捉到的圖像內(nèi)的各表面上的虛擬對象的位置。表面管理器塊520可負責有效的表面和窗口。音頻管理器塊525可提供針對音頻輸入和音頻輸出的控制指令。音頻管理器塊525可構(gòu)造遞送給頭戴式受話器和揚聲器550的音頻流。
[0128]信息訪問塊530可提供控制指令以仲裁對數(shù)字信息的訪問。數(shù)據(jù)可被存儲在頭戴式設備10上的本地存儲器存儲介質(zhì)上。數(shù)據(jù)也可被存儲在可訪問的數(shù)字設備上的遠程數(shù)據(jù)存儲介質(zhì)555上,或者數(shù)據(jù)可被存儲在可由頭戴式設備10訪問的分布式云存儲存儲器上。信息訪問塊530與數(shù)據(jù)存儲555通信,數(shù)據(jù)存儲555可以是存儲器、盤、遠程存儲器、云計算資源、或集成存儲器555。
[0129]圖6解說了用于基于用戶輸入在錨定表面上渲染虛擬對象的實施例方法600。方法600可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法600的操作的處理器的計算設備中實現(xiàn)。在方法600中,處理器可在框610中著手從頭戴式設備傳感器接收與頭戴式設備的取向有關(guān)的數(shù)據(jù)。在框602中,處理器可從頭戴式設備上或用戶的肩膀或身體上的立體相機接收數(shù)據(jù)。在框603中,處理器可計算收到的立體圖像內(nèi)的各物體的距離和取向數(shù)據(jù)。在框604中,處理器可使用來自距離和取向傳感器、以及相機的數(shù)據(jù)來處理用于顯示的內(nèi)容。
[0130]在確定框605中,處理器可審閱用戶輸入或姿勢命令以決定是否要在該圖像中錨定虛擬對象。例如,可從輸入設備(諸如按鍵板或觸摸屏輸入)接收用戶輸入。作為另一示例,可接收在圖像序列中識別出的檢測到的姿勢的形式的用戶輸入,諸如指示將虛擬對象錨定在位于該圖像內(nèi)的所指示表面上的愿望的姿勢。用戶輸入的第三示例可以是可由頭戴式設備上的話筒接收的音頻命令。用戶輸入可以是指示應從第二用戶的頭戴式設備接收用于將虛擬對象錨定到特定位置的輸入的命令。例如,該輸入可在協(xié)作會話期間從第二頭戴式設備IOb接收。
[0131]如果處理器確定其已接收到要將該虛擬對象錨定在特定位置(例如,錨表面16)的輸入(即,確定框605= “是”),則處理器可在框606中確定從該用戶的位置來看該虛擬對象相對于該錨表面的距離和取向。例如,頭戴式設備10可確定錨表面16包括輪廓以及距用戶的某一距離。一般而言,虛擬對象14可以是三維虛擬對象,諸如是三維數(shù)學模型(例如,球體、圓錐體、圓柱體等)、三維數(shù)據(jù)集(例如,定義頂點、緯度、以及其他坐標和素材數(shù)據(jù)的數(shù)據(jù)表)、或兩者的組合的形式,處理器可用其來生成該對象的圖像。為了使得處理器能夠?qū)⑻摂M對象14顯示成連接在錨表面16上,虛擬對象14可被調(diào)整到將該虛擬對象疊加在錨表面16上的大小、視角、以及取向。例如,三維虛擬對象將需要被渲染為二維圖像才能被呈現(xiàn)在常規(guī)顯示器上,或需要被渲染為兩個稍有不同的二維圖像才能被呈現(xiàn)在頭戴式設備的3D顯示器上。
[0132]在框607,處理器可處理虛擬對象以將該虛擬對象放置在虛擬空間中并具有使其看起來連接到錨定表面的視角、取向和大小。在框608,處理器可在頭戴式設備顯示器上渲染該虛擬對象。
[0133]例如,該顯示器可以是半透明顯示器,其中圖像的某些特征是透過該顯示器可見的。虛擬對象14可被疊加于或添加到顯示器上的圖像的特征上,從而使虛擬對象14隨用戶移動而保持錨定到或固定到期望的錨定表面。替換地,虛擬對象14a可以被錨定在自由空間中。例如,虛擬對象14a可位于窗戶外,或者虛擬對象14a可被懸掛在半空中或地面上方的一定距離處。
[0134]如果處理器確定其沒有接收到要錨定虛擬對象的輸入(B卩,確定框605= “否”)(這可指示該用戶未準備好或不想要將該虛擬對象錨定到錨表面),則處理器可將該虛擬對象渲染在待命位置上。替換地,用戶可在框609中選擇不渲染該虛擬對象14。
[0135]在場景內(nèi)(諸如在錨表面上)渲染虛擬對象的這些過程可被持續(xù)地執(zhí)行,從而即使在用戶轉(zhuǎn)動他/她的頭以及四處移動時該虛擬對象仍顯現(xiàn)為駐定的。如以上所提及的,相對于周圍環(huán)境來對頭戴式設備進行取向、并確定距各個表面的距離以及各個表面的相對取向的過程可藉由監(jiān)視取向傳感器(例如,加速計和陀螺儀)、并隨著該設備在空間中移動通過不斷參照所掃描的三維(3D)環(huán)境的地形移位來對其自己的位置和觀看角度進行三角測量來持續(xù)地完成,由此執(zhí)行同步定位和地圖繪制(SLAM)操作。
[0136]圖7A解說了用于渲染帶有錨定的虛擬對象的圖像的實施例方法700。方法700可在具有帶有處理器可執(zhí)行指令以執(zhí)行方法700的操作的處理器的計算設備中實現(xiàn)。在方法700中,虛擬對象14可以是隨用戶的位置在一區(qū)域(諸如房間)內(nèi)到處移動而呈錨定的。例如,用戶可在房間中四處行走和移動,但是該虛擬對象在該房間中的一表面上的所顯示位置可保持固定。在方法700中,在框701,處理器可通過接收用戶位置數(shù)據(jù)來著手進行操作,該用戶位置數(shù)據(jù)諸如是用戶位置的坐標、與用戶在房間內(nèi)的位置有關(guān)的信息(例如,距各個表面的距離)、以及與用戶頭部的取向有關(guān)的信息。在框701接收到的位置數(shù)據(jù)可以是從各種各樣的傳感器數(shù)據(jù)計算出來的,包括距離傳感器(例如,紅外發(fā)射器/接收器,配置成用快速閘選機構(gòu)來計算所發(fā)射的紅外信號從用戶的視角內(nèi)的各表面反彈的往返行程時間)。替換地或補充地,位置數(shù)據(jù)可由GPS接收機單元(其可返回地理坐標)、對來自處于已知位置處的發(fā)射機(例如,蜂窩電話塔臺)的RF信號的三角測量、接收自第二頭戴式設備的輸入(例如,提供這兩個用戶的分隔距離和/或與這兩個用戶的相對位置有關(guān)的信息)等來提供。位置數(shù)據(jù)還可基于場景圖像和距離傳感器數(shù)據(jù)來計算,或從云計算布局中的服務器下載。替換地或補充地,用戶可輸入該用戶的位置的坐標,諸如通過鍵入物理地址和/或房間號、或者觸摸或點擊地圖顯示以指示該用戶在該地圖上的位置。在框702中,處理器可計算收到的相機圖像內(nèi)的各物體的距離和取向數(shù)據(jù)。在框703中,處理器可計算該用戶相對于錨定的虛擬對象的位置。
[0137]圖5A的場景傳感器500可以具有近紅外(NIR)脈沖照明組件。場景傳感器500還可具有帶有快速閘選機構(gòu)的圖像傳感器。還可在場景傳感器500內(nèi)實現(xiàn)其他圖像傳感器,正如本文中所描述的?;诩t外脈沖的已知速度、這些坐標、以及來自照明器的紅外脈沖波發(fā)射的定時連同傳感器500的閘選,從期望距離范圍以內(nèi)反射的信號就被捕捉到。在此實施例中,可為每個像素收集紅外脈沖的抵達時間,并將其用來計算從該傳感器到該圖像中的每個點的距離。對圖像的此類處理可使用經(jīng)由計算機網(wǎng)絡連接到場景傳感器500的遠程處理器來執(zhí)行。方法700不限于實現(xiàn)在頭戴式顯示器上,并且可與其他計算設備聯(lián)用,諸如與頭戴式顯示器或身佩式傳感器處于通信中的移動通信設備(例如,智能電話)或固定的計算設備(例如,個人計算機或服務器)。
[0138]在確定框704中,處理器可確定用戶或錨表面的位置是否已改變。例如,用戶可將圖像錨定在表面(諸如墻壁)上或錨定在自由空間中,并且該用戶可能在與另一用戶協(xié)作期間從該墻壁走開,由此改變了位置。如果位置已改變了(即,確定框704= “是”)(這指示了用戶已從錨定的虛擬對象走開,或者錨表面已經(jīng)移動了),則處理器可在框705基于此新位置來確定并計算錨定的虛擬對象的改變。在框706,處理器可在頭戴式顯示器上渲染帶有此錨定的虛擬對象的該圖像。如果處理器確定該虛擬對象未曾移動(即,確定框704= “否”),則此錨定的虛擬對象可被沒有改變地渲染。處理器可在框706在頭戴式顯示器上針對此當前位置在圖像中渲染該虛擬對象。
[0139]圖7B解說用于在各錨表面之間移動虛擬對象的實施例方法720。方法720可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法720的操作的處理器的計算設備中實現(xiàn)??商峁⑻摂M對象錨定在第一錨表面上的第一輸入。此后,處理器可接收將該虛擬對象錨定在一不同的第二錨表面上的第二輸入。在方法720中,處理器可在框707中通過捕捉圖像來著手進行操作。在框708中,處理器可捕捉空間數(shù)據(jù)并識別該圖像內(nèi)的各物體。在框709,處理器可確定該圖像中的這些物體的距離參數(shù)。在框710,處理器可接收指示該圖像內(nèi)的錨表面的輸入。
[0140]例如,該處理器可從輸入設備接收輸入、或可檢測姿勢輸入、或可接收語音命令,以在該圖像內(nèi)錨定虛擬對象14。在框711,處理器可生成虛擬對象14,該虛擬對象是諸如通過使用對象模型和/或?qū)ο髨D像數(shù)據(jù)集來顯示的。在框712中,處理器可計算包括對應于該錨表面的距離和取向之類的參數(shù),并可將該虛擬對象的圖像調(diào)整為與那些參數(shù)相符以與觀看者的視角一致。在框713,處理器可在頭戴式顯示器上顯示該虛擬對象,以使得該虛擬對象顯現(xiàn)為連接到該錨表面。
[0141]用戶可因偏好或與其他用戶進行協(xié)作過程的需要而選擇改變錨表面。各種實施例使得每個用戶能選擇相同或不同的錨表面來在其上觀看虛擬對象14。因此,在確定框714中,處理器可監(jiān)視用戶輸入(例如,按鈕、識別出的運動姿勢和/或所說出的命令),并確定是否接收到為虛擬對象14指示了一不同的第二錨表面的第二輸入。如果沒有接收到第二輸入(即,確定框714= “否”),則處理器可返回到框711以繼續(xù)在該圖像中生成連接到該第一錨表面的虛擬對象。
[0142]如果接收到第二輸入(即,確定框714=“是”),則在框715中,處理器可檢測一個或多個指示新的錨表面的輸入。當指示了新的錨表面時,處理器可計算包括對應于在框715中所選擇的新的錨表面的距離和取向,并且在框716中,處理器可生成呈現(xiàn)在該頭戴式顯示器上的圖像,以使得虛擬對象14顯現(xiàn)為從第一錨表面移到了此新的第二錨表面。在框717,處理器可修改虛擬對象的圖像以對應于用戶的位置改變,并因此對應于用戶視角的改變。例如,如果用戶走近虛擬對象,則圖像大小可增大。如果用戶從虛擬對象走開一定距離,則該虛擬對象的圖像大小可減小???17中修改虛擬對象的圖像以匹配于用戶的視角變化、以及確定框714中監(jiān)視用戶輸入的這些過程可在整個協(xié)作會話期間繼續(xù)在持續(xù)的過程中被執(zhí)行。
[0143]圖8A解說用于為在一區(qū)域(諸如舉例而言,一房間)中的兩個用戶渲染帶有錨定的虛擬對象的圖像的實施例方法800。在此實施例中,所顯示的錨定的虛擬對象14保持錨定到所選的錨表面。方法800可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法800的操作的處理器的計算設備中實現(xiàn)。
[0144]在方法800中,處理器可通過在框801中使用來自距離傳感器的數(shù)據(jù)、相機數(shù)據(jù)和計算出的距離數(shù)據(jù)處理圖像來著手進行操作。在框802,處理器可計算參數(shù)并可將虛擬對象固定到錨表面并將該虛擬對象固定到呈現(xiàn)在頭戴式顯示器上的圖像中。在框803中,處理器可渲染帶有該虛擬對象的用于顯示的圖像。在框804中,處理器可控制發(fā)射機/接收機或收發(fā)機向第二頭戴式顯示器傳送圖像和/或虛擬對象數(shù)據(jù)。在框804中,第一頭戴式設備可向第二頭戴式設備傳送定義該虛擬對象的三維模型和/或三維數(shù)據(jù)集,該三維模型和/或三維數(shù)據(jù)集是以使第二設備能生成相同虛擬對象的圖像的格式。同樣在框804中,處理器可向第二頭戴式設備傳送包括位置坐標信息的地圖。頭戴式設備可向/從服務器上傳和/或下載房間坐標地圖,或可直接向第二頭戴式設備傳送地圖。在框805中,第二處理器可渲染該虛擬對象的圖像以供投影在第二頭戴式顯示器上。該圖像可包括錨定到或固定到錨表面的虛擬對象,該錨表面是由第一用戶在框802中選擇的。例如,第一用戶可將該虛擬對象錨定在桌面表面上。在框805中,處理器可渲染該圖像。在所渲染的圖像中,該虛擬對象將顯現(xiàn)在該桌面表面上,因為第一用戶在框802中通過輸入選擇了該桌面表面。
[0145]在各種實施例中,第二頭戴式設備可顯示錨定到如由第一頭戴式設備的用戶所指定的相同錨表面、或錨定到由第二用戶標識的一不同錨表面的該虛擬對象的圖像。在框806中,對于第二頭戴式設備,第二處理器可確定第二用戶正看著的位置和取向(其與該頭戴式設備的取向有關(guān)),以確定在所顯示的圖像內(nèi),錨定的虛擬對象應被渲染在何處。例如,如果第二用戶正看著由第一用戶所指定的錨表面,則第二頭戴式設備可在該頭戴式顯示器中渲染該虛擬對象的圖像。然而,如果第二用戶的目光從該錨表面移開,則第二頭戴式設備將不渲染該虛擬對象的圖像,因為該錨表面將落在呈現(xiàn)在該頭戴式顯示器上的該用戶的視野之外。
[0146]確定用戶頭部和頭戴式設備的取向可通過由第二用戶所佩戴的各相機捕捉圖像并捕捉來自第二用戶的頭戴式設備的取向傳感器(例如,傾度計、陀螺儀和/或加速計)的數(shù)據(jù)、并處理此信息以推斷第二用戶的觀看角度和視角來完成。如以上所討論,該過程可被持續(xù)地貫徹,從而每個頭戴式設備能隨著它在空間中移動通過不斷地參照所掃描的三維(3D)環(huán)境的地形移位來對其自己的位置和觀看角度作三角測量,由此執(zhí)行同步定位和地圖繪制(SLAM)操作。同樣,如果第二用戶的解剖結(jié)構(gòu)的一部分在來自第二用戶的頭戴式或身佩式相機的圖像中被捕捉到,則這也可以包括向所捕捉到的圖像應用檢測算法以識別身體部位,并從中推斷該身體部位的視野位于何處。
[0147]在框807中,處理器可處理虛擬對象數(shù)據(jù)以生成可供在渲染該對象的圖像時使用的圖像數(shù)據(jù)。在此操作中,處理器可從該第二用戶的視角恰當?shù)劁秩驹撎摂M對象,并且由此第二用戶可舒適地讀取內(nèi)容并觀看該虛擬對象。在框808中,處理器可基于該錨表面相對于該用戶的位置和取向在第二頭戴式顯示器中生成圖像。
[0148]在確定框809中,處理器可確定第二用戶是否想要確定一新的錨表面。此確定可來源于接收到指示想要在該圖像中錨定虛擬對象14的愿望的輸入信號。例如,第二用戶可能希望將該圖像錨定在與當前錨表面不同的一表面上。例如,該圖像可在與多個用戶的協(xié)作過程期間被固定于墻壁,并且然后被移到桌面。
[0149]如上文所提及,第二頭戴式設備的用戶可選擇改變錨表面,并由此將虛擬對象的圖像移到由第二用戶所指定的另一表面。如果頭戴式設備處理器接收到指示要將虛擬對象錨定到新的表面的愿望的用戶輸入(即,確定框809= “是”)(這指示該第二用戶想要為虛擬對象14確定新的錨),則該處理器可在框810確定該虛擬對象在第二預定表面上的新錨的距離和取向參數(shù)。在框811,處理器可將該虛擬對象改變或修改到該新錨表面的參數(shù)。在框812中,處理器可基于距離和取向來處理虛擬對象14。在框813中,第二處理器可在第二頭戴式顯示器上渲染該圖像,其中錨定的虛擬對象固定在該第二錨表面上。
[0150]如果處理器沒有接收到指示想要將虛擬對象錨定在新的表面上的愿望的用戶輸入(即,確定框809= “否”),則處理器可處理框807中的用于渲染的虛擬對象使其在錨位置上沒有變化,但卻是針對第二用戶的視角來渲染的。以類似方式,第一或第二用戶可添加另一虛擬對象并將該附加虛擬對象錨定在第三錨表面上。
[0151]圖SB解說用于在第一用戶的顯示器上所輸出的圖像中從第一用戶的視點來看正確地對錨定的虛擬對象進行取向,并且在另一顯示器上針對第二用戶的視點來正確地對錨定的虛擬對象進行取向的實施例方法815。方法815可在具有用處理器可執(zhí)行指令配置成執(zhí)行該方法的操作的處理器的計算設備中實現(xiàn)。在方法815中,在框820中,處理器可隨著用戶掃描房間而接收到圖像數(shù)據(jù),并且處理該圖像數(shù)據(jù)以標識/識別各表面,包括適合為虛擬對象用作錨的各表面。例如,處理器可從頭戴式或身佩式設備捕捉圖像。此類頭戴式或身佩式設備的處理器還可從其他類型的傳感器(諸如距離傳感器)接收關(guān)于房間內(nèi)的各物體的距離和取向的信息。在框822中,處理器可選擇虛擬對象以供在頭戴式顯示器上顯示,諸如從生成虛擬對象以供渲染的另一計算機來選擇虛擬對象。在框824中,處理器可從用戶接收指示要在框824中將該虛擬對象錨定在其上的表面的輸入。處理器可在框826對虛擬對象進行取向以將其錨定到第一錨表面,并在框828中在第一頭戴式顯示器上生成該虛擬對象的圖像。處理器還可在框830中更新虛擬對象的位置和取向以補償用戶的運動,諸如補償或容適用戶頭部的運動。
[0152]在確定框832中,第一頭戴式設備的處理器可確定由第一頭戴式設備選擇或渲染的內(nèi)容是否將被傳送給第二設備。如果為否(即,確定框832= “否”),則處理器可返回到框820以重復該過程,以便生成連續(xù)顯示,其中即使用戶移動或轉(zhuǎn)動他/她的頭,該虛擬對象仍看起來保持錨定到相同表面。
[0153]如果處理器確定應將由第一頭戴式設備生成的選定內(nèi)容與第二頭戴式設備共享(即,確定框832= “是”),則在任選框834中第一頭戴式設備的處理器可從第二用戶接收指示第二錨表面的第二輸入。在任選框836中,處理器可任選地執(zhí)行計算以確定顯示位置和取向,以將該虛擬對象錨定到所標識出的第二錨表面。在任選框838中,第一或第二頭戴式設備的處理器可確定第二用戶的視覺取向,諸如通過本文中所描述的基于傳感器數(shù)據(jù)和所獲得圖像的方法來確定。如以上所提及的,相對于周圍環(huán)境來對頭戴式設備進行取向、并確定距各個表面的距離以及各個表面的相對取向的過程可藉由監(jiān)視取向傳感器(例如,加速計和陀螺儀)、并隨著該設備在空間中移動通過不斷參照所掃描的三維(3D)環(huán)境的地形移位來對其自己的位置和觀看角度進行三角測量來持續(xù)地完成,由此執(zhí)行同步定位和地圖繪制(SLAM)操作。
[0154]在進一步的實施例中,第一頭戴式設備內(nèi)的處理器可基于由其自己的立體相機所獲得的第二用戶的圖像并使用解剖模型來確定第二用戶的取向。在任選框840中,第一頭戴式設備可將關(guān)于該虛擬對象的數(shù)據(jù)傳送給第二頭戴式設備,其中該虛擬對象是處于基于框838中確定的第二用戶的取向的取向上。第二頭戴式設備可隨后如本文中所描述地在第二頭戴式顯示器上渲染該虛擬對象的圖像。此確定用戶取向并生成顯示的過程可按循環(huán)方式繼續(xù),從而在第一和第二用戶移動并轉(zhuǎn)動他們的頭部時,該圖像持續(xù)顯現(xiàn)為錨定到所選表面。
[0155]在各種實施例中,任一頭戴式設備可執(zhí)行使得能在對于第二用戶而言正確的視角中渲染該虛擬對象的計算。例如,第一頭戴式設備的處理器可向第二頭戴式設備傳送數(shù)據(jù),該數(shù)據(jù)按照為第二用戶正確地對第二虛擬對象取向的方式來提供虛擬對象數(shù)據(jù)。由第一頭戴式設備來對該虛擬對象取向的過程可基于從第二頭戴式設備向第一頭戴式設備傳送的所確定的第二用戶的取向。換言之,第二頭戴式設備可向第一頭戴式設備作出關(guān)于其位置和取向的通知,并且第一頭戴式設備可使用此信息來對虛擬對象數(shù)據(jù)進行取向。替換地,第一頭戴式設備可基于第二用戶的圖像來確定第二頭戴式設備的取向,并使用此確定來對虛擬對象數(shù)據(jù)進行取向。例如,處理器可通過隨時間推移捕捉第二用戶的圖像并對這些圖像應用解剖分析以檢測這些圖像內(nèi)的身體部位來為該虛擬對象確定正確的取向。使用此信息,第一頭戴式設備的處理器可將與虛擬對象有關(guān)的數(shù)據(jù)傳送給第二頭戴式設備,以使其處理器能渲染該虛擬對象的位于第二錨表面的與第二用戶的視角一致的圖像。
[0156]處理器還可基于視野中檢測到的身體部位和結(jié)構(gòu)來對第二虛擬對象進行取向。例如,可能在由第一頭戴式設備捕捉到的圖像中檢測到第二用戶的頭部、頸部和軀干,并且第一頭戴式設備的處理器可能確定在第二用戶近旁有一正被或已被第二用戶選為錨表面的橫向墻壁或縱向桌子。作為另一實例,第一頭戴式設備的處理器可能在所獲得的圖像中識別出第二用戶的頭部、頸部和軀干,并且從這些身體部位的位置確定虛擬對象應當如何被取向以使第二用戶能閱讀與該虛擬對象相關(guān)聯(lián)的文本。例如,第二用戶的頭部和軀干的圖像可被分析以定義橫向(例如,從肩到肩)以及縱向(例如,從軀干到頭部)坐標軸,這些坐標軸隨后可被用來確定用于渲染該虛擬對象的正確取向。補充地,可以確定虛擬對象圖像的觀看角度,諸如是如呈現(xiàn)在頭戴式顯示器上的該虛擬對象的每個像素距第二用戶的頭部和軀干的距離的形式。該處理可包括變化對象亮度使之與從第二用戶的視角來看該虛擬對象上的各個表面的觀看角度一致。
[0157]在另一實施例中,處理器可隨時間推移捕捉第二用戶的圖像,并可對這些圖像應用解剖分析以在這些圖像內(nèi)檢測身體部位。例如,可能檢測到第二用戶的一雙眼睛(或頭戴式設備)以及鼻子。處理器可利用該身體部位并確定第二用戶正在看著的位置,并基于第二用戶正看著何處來對第二虛擬對象進行取向。在又一實施例中,處理器可從捕捉到的圖像確定第二用戶是正坐著還是站著。如果是站著,則處理器可將第二虛擬對象生成為錨定到毗鄰于第二用戶的平面表面。如果是坐著,則處理器可將第二虛擬對象生成為看起來錨定到毗鄰于第二用戶的近旁表面。
[0158]如果處理器在框832中確定不從第一用戶向第二用戶遞送內(nèi)容(即,確定框832= “否”),則處理器可在框838為第一用戶顯示虛擬對象并可在框840中針對第一用戶的運動來更新該虛擬對象。
[0159]在一實施例中,處理器可傳達為第二用戶正確地對第二虛擬對象取向的信號。處理器還可傳達為第二用戶生成經(jīng)取向的第二虛擬對象的信號。這些信號可被傳達給通信網(wǎng)絡。該通信網(wǎng)絡可接收該信號,并且可為在離第一用戶一定距離處的第二用戶生成第二虛擬對象。例如,第一和第二用戶可位于相同房間或不同城市。在又一實施例中,第二用戶可藉由檢測到的姿勢或音頻命令來提供附加輸入以移動或重新取向該虛擬對象。處理器還可從第二用戶接收指示是要確認還是拒絕第二虛擬對象的優(yōu)選擺放的輸入。第二用戶還可提供按需旋轉(zhuǎn)和重取向該虛擬對象的輸入。
[0160]除了使得能在佩戴頭戴式設備的兩個或更多個用戶之間實現(xiàn)共享體驗之外,由參與協(xié)作的這些頭戴式設備中的一者或多者所生成的圖像數(shù)據(jù)還可被傳送給由非參與者使用的頭戴式設備或其他移動設備(諸如智能電話或平板計算機)并在其上顯示,以使得其他人能觀看虛擬或擴增現(xiàn)實體驗中的協(xié)作。如以上所描述,佩戴頭戴式設備或使用另一移動設備(諸如智能電話或平板計算機)來觀看協(xié)作會話的其他人可以不僅僅看到虛擬對象以及用戶與這些虛擬對象的交互,而且還能具有有限的與由這些頭戴式設備用戶之一看到的虛擬擴增進行交互的能力。該有限的交互可包括觸摸該擴增以產(chǎn)生影響,定義物理表面上的交互區(qū)域或錨點(有效地向共享體驗添加新擴增),和經(jīng)由姿勢和/或音頻輸入與共享混合現(xiàn)實場景進行交互。虛擬體驗中的任何此類改變可反映在由其他用戶佩戴的頭戴式顯示器中。
[0161]圖9A解說了用于為在分隔很遠的位置上的兩個用戶渲染一錨定的虛擬對象的圖像的實施例方法900。例如,一位用戶可能位于加州圣地亞哥,并且第二用戶可能位于第二位置,諸如舉例而言英國劍橋。然而,在這兩個位置上,所顯示的錨定的虛擬對象14均保持錨定于每個位置上的固定到圖像的預定區(qū)域的錨表面。在一些實施例中,一位用戶可為多位其他用戶選擇用于一虛擬對象的錨表面。圖9A中解說的方法900可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法900的操作的處理器的計算設備中實現(xiàn)。在方法900的框901中,處理器可通過使用來自距離傳感器的數(shù)據(jù)、相機數(shù)據(jù)和計算出的距離數(shù)據(jù)處理圖像來著手進行操作。
[0162]以上參考圖5A描述的場景傳感器500可包括近紅外(NIR)脈沖發(fā)射器503c和紅外相機503b,其具有能夠確定反射的紅外脈沖的渡越時間信息的快速閘選機構(gòu)?;诠馑僖约皝碜哉彰髌?03c的紅外發(fā)射脈沖的定時以及紅外相機503b的閘選,就可基于收到脈沖的定時來確定距捕捉到的圖像內(nèi)的各物體的距離??蔀閳D像中的每個像素或各像素群收集脈沖信號,并將其用來確定從距離傳感器到該場景中的各物體的距離,該距離可被記錄并存儲在存儲介質(zhì)中。
[0163]在框902中,處理器可計算用于在該圖像中顯示錨定的虛擬對象的參數(shù)。該虛擬對象可能旨在要在處理器接收到輸入之后才被固定于預定表面,并且所計算出的參數(shù)可與期望表面有關(guān)。在框903中,處理器可渲染帶有該虛擬對象的用于顯示的圖像。在框904中,處理器可控制發(fā)射機/接收機或收發(fā)機以向/從服務器上傳和/或下載房間坐標地圖。此類坐標地圖可以是任何形式的位置定義信息,其使得這些頭戴式設備能在適宜的坐標系中確定該房間內(nèi)的各結(jié)構(gòu)的位置。例如,為了此類房間坐標地圖的目的,可用笛卡爾坐標的形式來定義正方形房間,其中X和Y維對應于地板的主軸,而Z坐標對應于縱向維(即,地板到天花板)。由于頭戴式設備內(nèi)的相機和其他傳感器(和/或身佩式相機)可定位到房間的主結(jié)構(gòu)維(諸如墻壁、地板和天花板),因此可容易地將房間坐標的取向?qū)实皆摲块g的墻壁和地板。以此方式,這些系統(tǒng)無需關(guān)心地理坐標(例如,來自GPS傳感器)或羅盤坐標。另一方面,當用戶在戶外或在缺乏便利的笛卡爾參考系的空間內(nèi)時,可將笛卡爾坐標對準到GPS和羅盤坐標。
[0164]在標識出了參考坐標系的情況下,就可通過使用來自用戶的(例如,來自距離傳感器和/或?qū)αⅢw圖像的處理)對到各種定義坐標的表面(例如,墻壁、地板和天花板)以及到在頭戴式顯示器的視野中的各種物體和表面的距離測量,來將在各用戶的視野內(nèi)的結(jié)構(gòu)和表面標識或鏈接到該坐標系。然后可使用簡單的幾何坐標變換算法來將物體和表面的用戶相對坐標變換到通用房間坐標地圖。由此,此處理的結(jié)果可以是在通用參考系內(nèi)為房間內(nèi)的每個物體或表面生成坐標矢量(例如,3個坐標距離)的數(shù)據(jù)集。頭戴式設備可使用此坐標數(shù)據(jù)庫來確定其自己在該房間內(nèi)的位置。在得知其自己在該房間的坐標數(shù)據(jù)庫內(nèi)的位置的情況下,處理器隨即可使用簡單的笛卡爾坐標變換算法來計算從該頭戴式設備到該房間內(nèi)的所有物體和表面的距離和方向。在用戶身處室外的境況中,通用參考系可基于地理坐標,其可被任意性地選擇并聯(lián)系到GPS系統(tǒng)測量或從GPS系統(tǒng)測量來確定。
[0165]在另一實施例中,可將房間坐標地圖存儲在頭戴式設備可訪問的本地存儲器中,諸如存儲在耦合到該設備的處理器的存儲器中,或存儲在無線地耦合到該頭戴式設備的移動計算設備(例如,智能電話)中。在框916中,該虛擬對象可在顯示器上被渲染在第一錨定表面上,并且處理器可隨著用戶移動以及轉(zhuǎn)動頭戴式顯示器而繼續(xù)將該虛擬對象渲染在該第一錨定表面上。在框917中,可在第一和第二頭戴式音頻設備之間建立音頻鏈路以用于通信和協(xié)作。
[0166]轉(zhuǎn)到圖9B,在框905中,可位于離第一用戶有一定地理距離處的第二頭戴式設備中的處理器可確定第二用戶的位置和觀看取向。這可通過使用本文中所描述的任何定位方法來完成,包括獲得坐標位置數(shù)據(jù)、羅盤數(shù)據(jù)、以及加速計數(shù)據(jù)來確定該頭戴式設備的位置和觀看角度。在一些情形中,第二頭戴式設備可通過識別出現(xiàn)在圖像內(nèi)的用戶身體部位來確定其觀看角度,并使用解剖模型來從中推斷有可能的視角。在另一實施例中,第二用戶可提供指定要在其上渲染虛擬對象的表面、并指示用戶視角的輸入。在框906中,處理器可處理該虛擬對象以從第二用戶的視角來恰當?shù)劁秩驹撎摂M對象以供顯示。在框907中,處理器可基于第二用戶的位置和取向在第二頭戴式顯示器中生成圖像。
[0167]在確定框908中,第二頭戴式設備的處理器可確定第二用戶是否想要在所顯示的圖像中選擇一新的錨表面來錨定該虛擬對象。例如,第二用戶可能希望將該圖像錨定在所顯示的圖像中的在協(xié)作期間可能便利的表面(諸如物理桌面)上。在一實施例中,該虛擬對象可被錨定在可顯現(xiàn)在所渲染的圖像內(nèi)的虛擬物理表面(諸如舉例而言,虛擬桌子)上。
[0168]如果處理器確定第二用戶想要改變用于該虛擬對象的錨表面(例如,經(jīng)由輸入)(即,確定框908= “是”),處理器可在框909確定此新指定的錨表面的距離和取向參數(shù)。在框910中,處理器可基于該錨表面(桌面)的參數(shù)來改變該虛擬對象的渲染,并在框911中基于第二預定表面的錨表面的距離和取向來處理該虛擬對象。在框912中,第二處理器可在第二頭戴式設備的顯示器中渲染該圖像,其中錨定的虛擬對象在該錨表面上。
[0169]在框913中,可將從佩戴第二頭戴式顯示器的用戶接收的對該虛擬對象的更新傳送給第一頭戴式顯示器以用于渲染。以此方式,這兩個頭戴式顯示器的用戶可在協(xié)作會話期間協(xié)作地與該虛擬對象進行交互。這些更新可在這兩個頭戴式設備之間傳送,以使得每個設備顯示反映由任一方用戶所作的所有改變的經(jīng)更新虛擬圖像。例如,在文字處理應用中,該虛擬對象可按協(xié)作方式反映來自雙方用戶的改變。在框914中,可在第二和第一頭戴式設備之間建立音頻鏈路。這些用戶可利用該音頻鏈路以音頻會議格式來與彼此以及其他用戶講話。此會議可發(fā)生于在兩個不同的地理位置上的顯示器上觀看該虛擬對象的同時。在一實施例中,頭戴式設備可使用視頻和音頻會議軟件。
[0170]如果處理器確定第二用戶不希望將虛擬對象錨定在新位置上(B卩,確定框908= “否”),則處理器可在框915中渲染該虛擬對象。例如,第二用戶可僅簡單地選擇在該頭戴式顯示器上在原始錨表面上、或以自由漂浮布局來顯示該虛擬對象。例如,處理器可在框915中以“待命模式”來顯示該虛擬對象。
[0171]圖10解說用于發(fā)起第一頭戴式設備和第二頭戴式設備之間的對等發(fā)現(xiàn)的實施例方法1000。方法1000可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法1000的操作的處理器的計算設備中實現(xiàn)。一旦兩個頭戴式設備通過對等通信鏈路被鏈接起來,這兩個頭戴式設備就可共享資源并可在這些設備之間共享和交換數(shù)據(jù)。方法1000不限于將頭戴式設備鏈接在一起,并且還可應用于可與一個或多個頭戴式設備鏈接的其他計算設備。在一實施例中,頭戴式設備10可以能作為具有CPU的移動設備(例如,電話、平板計算機等)的配件,并且方法1000中的一部分操作可由該移動設備的CPU來執(zhí)行而頭戴式設備可執(zhí)行較少操作,其中該頭戴式設備用作“終端”并可經(jīng)由無線接口接收來自該移動設備的輸出。例如,處理可在第一移動設備上執(zhí)行,并且可將顯示輸出遞送給頭戴式顯示器,由頭戴式顯示器生成錨定的虛擬對象的可視圖象。
[0172]在方法1000的框1002中,處理器可從與頭戴式設備相關(guān)聯(lián)的定位設備(諸如全球定位單元(GPS)或任何其他基于空間的全球?qū)Ш叫l(wèi)星系統(tǒng)(GNSS)接收機)、或與該頭戴式設備相關(guān)聯(lián)的導航設備接收位置數(shù)據(jù)。例如,該定位設備可以是從無線電網(wǎng)絡基站來確定位置的設備。在另一實施例中,頭戴式設備可從本地設備(諸如云服務器)、或從無線通信網(wǎng)絡基站接收本地位置數(shù)據(jù)。在進一步的實施例中,用戶可提供指示該頭戴式設備正在進入新位置和/或開始新的協(xié)作會話的輸入(例如,語音命令或按鈕按壓)。在一進一步的實施例中,頭戴式設備可接收來自其他設備的對等網(wǎng)絡通告,并且從新的通告確定該設備已進入了新位置。
[0173]在確定框1004,處理器可基于位置數(shù)據(jù)或其他指示來確定第一頭戴式設備是否已進入了新位置。若是如此(即,確定框1004= “是”),則該頭戴式設備可在框1006發(fā)起對等發(fā)現(xiàn),以確定是否有其他計算設備或頭戴式設備在附近并且能經(jīng)由無線數(shù)據(jù)連接來鏈接???006中發(fā)起對等發(fā)現(xiàn)的過程可繼續(xù)直至從能被鏈接的設備接收到響應(即,只要確定框1008= “否”,框1006就繼續(xù))。當能夠建立對等通信鏈路的設備被標識出(即,確定框1008= “是”)時,可在框1010中協(xié)商對等通信鏈路,并且在框1012中在這兩個設備之間建
立雙向通信。
[0174]在框1014中,頭戴式設備可從該頭戴式設備已與之建立了通信鏈路的計算設備接收地圖數(shù)據(jù)。在此操作中,頭戴式設備可下載已存儲在該另一計算設備(例如,另一頭戴式設備、另一計算設備或遠處服務器等)上的任何地圖數(shù)據(jù),從而該頭戴式設備能立即在此新位置內(nèi)對自己進行取向。例如,如果頭戴式設備已與之建立了通信鏈路的計算設備能訪問網(wǎng)絡或因特網(wǎng),則可從遠程服務器(例如,從“云”)下載地圖數(shù)據(jù)。頭戴式設備還可掃描其自己的內(nèi)部存儲器以確定此新位置的地圖數(shù)據(jù)是否已存儲在存儲器中。如果地圖數(shù)據(jù)已存儲在存儲器中,則作為框1014中的操作的一部分,頭戴式設備可與該頭戴式設備已與之建立了通信鏈路的計算設備共享該地圖數(shù)據(jù)中的一些數(shù)據(jù)。同樣,在交換地圖數(shù)據(jù)之前,這些在通信的頭戴式設備可確定它們是否彼此靠近,并且僅在它們足夠近地靠近在一起從而使得共享地圖數(shù)據(jù)將減少一方或雙方設備處理器的處理負擔的情況下才交換地圖、距離和取向數(shù)據(jù)。由此,如果頭戴式設備和鏈接著的計算設備不在相同房間中,則共享將與另一方設備不相關(guān)的位置、地圖或取向數(shù)據(jù)可能是沒有意義的。
[0175]在框1016中,處理器可接收來自頭戴式或身佩式立體相機的數(shù)據(jù)、以及可由距離傳感器獲得的距離測量。在框1018中,處理器可使用在框1014中接收的任何地圖數(shù)據(jù)協(xié)同相機圖像以及任何距離測量來在該地圖和場景內(nèi)對該設備進行取向。任選地,在框1018,處理器可為在這些圖像中所見的、未顯現(xiàn)在收到的地圖數(shù)據(jù)內(nèi)的任何物品或結(jié)構(gòu)生成或更新三維地圖數(shù)據(jù)。如果沒有從另一計算設備接收到地圖數(shù)據(jù),并且該設備在存儲器中沒有該位置的地圖,則處理器可在框1018生成新地圖。
[0176]在框1020中,頭戴式設備處理器可使用來自各種傳感器(包括距離傳感器和取向傳感器)的數(shù)據(jù)來處理由相機獲得的圖像。此處理可使得該設備能在地圖數(shù)據(jù)內(nèi)的坐標或位置內(nèi)定位自己。此處理還可包括確定到錨表面的距離及錨表面的取向以在渲染虛擬對象時使用。
[0177]在框1022中,頭戴式設備處理器可與鏈接著的計算設備交換顯示和虛擬對象數(shù)據(jù),以使得這些設備能生成可在協(xié)作中使用的顯示。在框1024中,頭戴式設備可開始支持用戶進行協(xié)作,諸如通過在錨服務上顯示虛擬對象,檢測并響應于用戶命令姿勢,以及將改變和輸入傳達給其他耦合著的計算設備,如本文中關(guān)于各個實施例所描述的。
[0178]圖11解說用于將所識別出的姿勢和檢測到的音頻作為輸入命令來處理的實施例方法1100。這些姿勢和檢測到的音頻可在頭戴式顯示器上執(zhí)行任務和指令。方法1100可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法1100的操作的處理器的計算設備中實現(xiàn)。
[0179]在此實施例方法中,以一種形式(諸如所識別出的用戶姿勢)接收到的用戶輸入命令可由另一種形式(諸如由話筒接收到的口頭命令)的用戶輸入來確認。例如,如果頭戴式設備的處理器識別出第一命令(諸如通過處理圖像數(shù)據(jù)來識別姿勢),則處理器可監(jiān)視短時期里其他的用戶輸入以尋找是否有確認所識別出的第一命令的第二命令。在此實施例中,處理器可能并不實現(xiàn)與第一識別出的用戶輸入對應的動作或執(zhí)行與第一識別出的用戶輸入對應的任務,除非該動作或任務得到第二用戶輸入的確認。第二用戶輸入可以是由話筒接收的語音命令、或在由身佩式相機搜集的圖像內(nèi)識別出的第二姿勢。此實施例可以是很有用的,因為數(shù)個正常的用戶運動可能被誤讀為命令姿勢;從而要求在姿勢命令被執(zhí)行之前由用戶確認這些姿勢命令并防止非有意的命令被執(zhí)行。等待確認性用戶輸入的過程可于在圖像內(nèi)識別出由用戶作出的姿勢時、或者在處理器相信其已接收到口頭命令時被調(diào)用。一般而言,該雙命令確認過程可避免頭戴式設備無意地對雜散姿勢或不經(jīng)意地說出的命令采取行動的境況。取而代之的是,頭戴式設備將等待第二命令才采取行動。此雙命令過程還可基于所識別出的命令的類型來實現(xiàn),諸如當與所識別出的命令相關(guān)聯(lián)的動作涉及可能非愿望或不可逆的操作(像是刪除一條內(nèi)容)時。
[0180]在方法1100的框1101中,處理器可通過接收與頭戴式設備的取向有關(guān)的傳感器數(shù)據(jù)來著手進行操作。在框1102中,處理器可從相機接收與捕捉到的圖像有關(guān)的數(shù)據(jù)。在框1103中,處理器可計算圖像內(nèi)的各物體的距離和取向。在框1104中,處理器可使用傳感器數(shù)據(jù)、相機數(shù)據(jù)和距離傳感器數(shù)據(jù)來處理該圖像。在框1105,處理器可在顯示器上渲染該圖像,其中虛擬對象被包含在該圖像中。
[0181]在框1106中,相機數(shù)據(jù)可被處理以用于確定是否有任何解剖特征包含在該相機的視野內(nèi)。一般而言,可向捕捉到的相機圖像數(shù)據(jù)應用解剖特征檢測算法以確定是否有任何特征被識別為是人體部位。例如,解剖識別算法可掃描從身佩式相機接收到的圖像以確定是否識別出解剖特征,諸如具有五指的手以及手臂。此識別解剖特征的過程還可確定這些特征在捕捉到的圖像內(nèi)的取向,諸如用戶的手臂的角度之類??稍谝粫r段上在圖像中跟蹤所識別出的解剖特征的位置和取向,并將其與用戶姿勢的數(shù)據(jù)庫或字典作比較以確定所跟蹤到的解剖特征的運動對應于所識別出的姿勢。如果識別出了用戶姿勢,則處理器可響應于檢測到的姿勢來輸出命令。例如,該命令可以打開軟件應用,或可向軟件應用提供信號或輸入。
[0182]在確定框1107中,處理器識別用戶姿勢可通過將所識別出的解剖特征的運動與預定義解剖運動的數(shù)據(jù)庫(諸如可在姿勢字典中維護)作比較來完成。例如,可在捕捉到的圖像中識別出身體部位(諸如手),并在預定時間區(qū)間上跟蹤其運動。例如,如果處理器使用解剖模型識別出用戶的手和手指位于身佩式相機的前面,其中兩個手指向外伸出并且三個手指朝著用戶的手掌向下收起,則處理器可通過將用戶的手和手指的這一取向與姿勢字典作比較來確定該用戶正在表達要處理器采取一行動的愿望。處理器可通過將圖像模式和運動與存儲在姿勢字典中的運動數(shù)據(jù)或模式作比較來識別身體部位的姿勢布局。此類姿勢字典可存儲關(guān)于運動的姿勢數(shù)據(jù),這些運動可包括戳、輕拍、叩擊、推、指引、彈拂、轉(zhuǎn)向、旋轉(zhuǎn)、抓和拉、兩手的手掌打開以搖攝圖像、繪圖(例如手指繪畫)、用手指形成形狀(例如“0K”手勢)、以及揮掃,所有這些運動可以在所生成顯示中的虛擬對象的視在位置上或緊鄰該視在位置來完成。如果頭戴式顯示器在相機圖像數(shù)據(jù)中識別出匹配于姿勢字典內(nèi)的條目的姿勢(即,確定框1107= “是”),則處理器可在框1108中處理與所識別出的姿勢相對應的輸入命令。在框1109中,該輸入命令可由處理器來執(zhí)行。此輸入還可以是傳達給軟件應用、或計算設備的任何信號或數(shù)據(jù),或者是要提供指示的信號。
[0183]同樣,如以上所討論的,基于識別出的姿勢對命令的執(zhí)行可以不被完成,直至接收到第二確認用戶輸入。由此,在此類實施例中,處理器不是執(zhí)行該命令,而是可代之以在框1109中顯示(或生成)要用戶確認所識別出的姿勢命令的提示(或音調(diào))。在確定框1110,處理器可確定在姿勢命令的識別之后是否在短時期里從話筒接收到任何音頻(或其他用戶輸入)。如果在該時期內(nèi)接收到音頻,則處理器可處理該音頻以確定是否說出了確認所檢測出的姿勢的確認性命令。為此目的,接收自話筒的音頻輸入可被數(shù)字化,并且將結(jié)果所得的數(shù)據(jù)與語音命令識別數(shù)據(jù)庫作比較以尋找與一個或多個輸入命令對應的單詞。當處理器確定音頻輸入匹配于與命令確認相對應的語音命令模式(g卩,確定框1110= “是”)時,處理器可在框1111中處理輸入命令,其結(jié)果導致與該音頻對應的行動。在框1112中,處理器可執(zhí)行所識別出的命令,并且在框1113中可在頭戴式顯示器上顯示指示或所識別出的任務。
[0184]例如,用戶可通過指點來作出要將虛擬對象14錨定在物理表面上的姿勢。一旦識別出此姿勢,處理器即可生成請求用戶確認該命令的提示(諸如可聽的音調(diào)或呈現(xiàn)在頭戴式顯示器中的消息)。為此,用戶可說出像是“0K (好)”、“確認”、或“就這么做”之類的單詞來確認由頭戴式設備所識別出的姿勢命令應被執(zhí)行。由此,當處理器檢測到確認性或可聽命令時,處理器可在頭戴式顯示器中呈現(xiàn)示出該虛擬對象錨定在用戶正指向的物理表面上的圖像。
[0185]如果沒有接收到被識別為對應于說出的音頻命令的音頻(即,確定框1110=“否”),則處理器可確定所檢測到的姿勢是無意的,并且處理器可忽略所識別出的姿勢和輸入命令,并可繼續(xù)處理相機數(shù)據(jù)以在框1107尋找解剖姿勢。
[0186]返回到確定框1107,如果處理器沒有在圖像數(shù)據(jù)內(nèi)識別出姿勢(B卩,確定框1107= “否”),則處理器可在框1106中繼續(xù)處理相機數(shù)據(jù)以尋找解剖姿勢持續(xù)進一步的附加時間區(qū)間。處理器可在框1113中在頭戴式顯示器上顯示指示未曾識別出姿勢的任務標識符或圖標。替換地,一接收到姿勢命令,處理器即可顯示任務標識符或圖標,其可用作要用戶發(fā)出確認性命令(諸如口頭命令或“0K”姿勢命令)的提示。
[0187]在另一實施例中,可以使用不同的第一和第二命令。在另一實施例中,處理器可被配置成首先檢測音頻命令,并在接收到的圖像內(nèi)尋找確認性姿勢命令,這在實效上調(diào)換了確認框1107和1110中執(zhí)行的操作。在進一步的實施例中,可能需要不止一種類型的確認性輸入,諸如可聽命令與按鈕按壓相組合,等等。
[0188]圖12解說用于將識別出的姿勢作為輸入命令來處理以在頭戴式設備上執(zhí)行軟件任務的實施例方法1200。方法1200可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法1200的操作的處理器的計算設備中實現(xiàn)。
[0189]在方法1200中,處理器可在框1201中通過接收與頭戴式設備10的取向有關(guān)的傳感器數(shù)據(jù)來著手進行操作。在框1202中,處理器可如上所描述地接收來自立體相機的立體圖像數(shù)據(jù)、以及來自頭戴式設備10中所包括的任何距離傳感器的數(shù)據(jù)。由此,在框1202中,處理器可獲得由頭戴式設備搜集的關(guān)于圖像以及距在(諸)相機的視野內(nèi)的表面的距離的所有信息。在框1203中,處理器可計算所捕捉到的圖像中的各物體的距離和取向數(shù)據(jù)。這些計算可使用眾所周知的三角測量方法(當在框1202中提供了立體圖像時),使用直接測量(當使用了距離傳感器來提供距離數(shù)據(jù)時),以及使用從傳感器獲得的以及從立體圖像計算出的距離信息的組合。在框1204中,處理器可使用距離傳感器數(shù)據(jù)、相機數(shù)據(jù)以及距離和取向數(shù)據(jù)來處理該圖像。在框1205,處理器可在頭戴式顯示器上渲染帶有虛擬對象的該圖像。在框1206中,可由處理器跟蹤相機數(shù)據(jù)。所捕捉到的圖像可被處理,并且處理器可確定在這些捕捉到的圖像內(nèi)是否包含有解剖特征。處理器可對捕捉到的圖像應用解剖特征檢測算法來確定是否有任何特征或至少一個身體部位位于該數(shù)據(jù)內(nèi)。處理器可在一時間區(qū)間上跟蹤該身體部位以確定是否識別出預定姿勢。[0190]在確定框1207中,處理器可確定是否在所捕捉到的圖像中識別出任何姿勢。若是如此(即,確定框1207= “是”)(這指示處理器已在該圖像中識別出姿勢),則處理器可在框1208中將所確定的姿勢與存儲在存儲器中的輸入命令基本匹配。處理器可在框1209中執(zhí)行與檢測到的姿勢相對應的輸入命令。在框1210中,處理器可執(zhí)行與該輸入命令相對應的任務。如果處理器得出沒有識別出的姿勢的判定(即,確定框1207=“否”),則處理器可在框1211中繼續(xù)跟蹤所捕捉到的圖像,并對所捕捉到的圖像應用檢測算法以跟蹤輸入。
[0191]圖13解說用于在立體景深圖像中檢測物體并基于此檢測以及對所檢測到的物體的解讀來提供有趣的視覺虛擬現(xiàn)實效果的實施例方法1300。方法1300可在頭戴式顯示器上顯示“據(jù)信必不可少的物體”,而方法1300可在頭戴式顯示器上將其他“非必不可少的物體”渲染為透明的。方法1300可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法1300的操作的處理器的計算設備中實現(xiàn)。在方法1300中,處理器可通過在框1301中接收與相機和頭戴式設備的取向有關(guān)的傳感器數(shù)據(jù)來著手進行操作。在框1302中,處理器可捕捉圖像并從相機接收數(shù)據(jù)。在框1303中,處理器可計算圖像內(nèi)的各物體的距離和取向。在框1304中,處理器可使用距離傳感器數(shù)據(jù)、相機數(shù)據(jù)、取向、以及距離數(shù)據(jù)來處理該圖像。
[0192]在框1305中,該過程可在顯示器上渲染帶有虛擬對象14的圖像。在確定框1306中,處理器可確定是否在這些圖像內(nèi)識別出任何物體。例如,可對所檢測到的圖像和數(shù)據(jù)應用解剖檢測算法以確定是否在這些圖像中檢測到身體部位。例如,可對所捕捉到的圖像應用解剖或骨骼檢測算法來檢測身體部位(諸如手臂或手),其可被渲染為可見或渲染為透明的。如果處理器確定檢測到其他物體(即,確定框1306= “是”)(這指示檢測到了物體),則處理器可確定是否要通過將虛擬對象疊加在該物體上以使得該物體看似就像已從該圖像中被略去那樣來將該物體渲染為透明的。
[0193]在各種實施例中,可用各種透明性特性來呈現(xiàn)各虛擬對象。在一些實施例中,虛擬對象可被顯示為出現(xiàn)在真實世界物體(手臂、手、手指、和臉)的輪廓之上。在此類實施例中,可在形狀上改變虛擬對象以與真實世界物體匹配或覆蓋在真實世界物體之上。以此方式,真實世界物體就在頭戴式顯示器上的圖像輸出中顯現(xiàn)為“穿透”的。在一實施例中,如果有不必要的物體在墻壁或桌子前面,則可生成仿效該墻壁和/或桌子的虛擬對象并將該虛擬墻壁/桌子覆蓋在此不必要的物體之上。如果處理器確定沒有檢測到其他物體(即,確定框1306= “否”),則在框1310處理器可繼續(xù)工作并渲染帶有該虛擬對象的該圖像。
[0194]在確定框1307中,處理器可確定在這些圖像內(nèi)識別出的任何物體是否是必要的。例如,據(jù)信“必要的物體”可被顯示,而其他據(jù)信“不必要的物體”可被渲染為透明的以從該圖像中略去該物體。例如,據(jù)信必要的物體可以是圖像中用戶自己的手,但另一據(jù)信不必要的物體可以是位于該虛擬對象之上的第二個人的手。不必要的物體可以用輪廓形式來顯示,而虛擬對象疊加在此不必要的物體之上。術(shù)語必要和不必要可由用戶利用下拉菜單或任何受支持的由用戶指示偏好的姿勢或方法(諸如凝視檢測、可被頭戴式或身佩式相機識別的手指點姿勢、等等)來任意性地編程和選擇。用戶可將頭戴式設備編程為將“其他用戶的特征”顯示為透明的并總是顯示出“我的特征”,或者反之。如果處理器確定這些物體是必要的(即,確定框1307= “是”),則處理器可提供程序指令以在框1310渲染具有該必要物體和該虛擬對象的該圖像。例如,用戶自己的手可被認為是必要的并且顯示在圖像中。術(shù)語必要的和不必要的是任意性的參數(shù),并且可由用戶來確定。例如,用戶在建立操作規(guī)程時可指示必要的物體以及不必要的且應被渲染為透明的物體。例如,用戶可使用下拉菜單和輸入設備來確定該用戶的手是必要的,并且圖像中其他用戶的身體部位不是必要的。例如,許多不同的用戶可能出現(xiàn)在該圖像中并且在錨定的虛擬對象之上進行協(xié)作。該場景可能充斥著許多用戶和許多虛擬對象。因此,其中一些用戶可被渲染為透明的,以便減輕擁擠以增強協(xié)作。
[0195]如果處理器確定這些物體是不必要的(B卩,確定框1307= “否”),則在框1308處理器可渲染使該物體為透明的圖像。在框1309中,處理器還可以按將不必要的物體渲染為透明的或?qū)⑻摂M對象顯示在不必要的物體之上的方式來顯示虛擬對象。在另一實施例中,可僅在該物體遮擋了虛擬對象14時才將該物體渲染為部分透明的,并可在該物體并不遮擋虛擬對象14時將其渲染為實體的。
[0196]圖14解說用于在頭戴式顯示器上渲染圖像的實施例方法1400,其將可能出現(xiàn)在圖像場景中的手、手臂和其他人類特征(例如,用戶和另一個人的那些特征)考慮在內(nèi)。在此實施例中,頭戴式設備處理器可捕捉要在其中要顯示虛擬對象的場景的圖像,識別出現(xiàn)在所捕捉到的圖像中的身體部位(諸如通過使用解剖模型來處理該圖像),并基于所識別出的身體部位來調(diào)整該虛擬對象的顯示。對顯示的調(diào)整可涉及在所識別出的身體部位的前面、后面、或與之混在一起地渲染虛擬對象。例如,處理器可在用戶的特征(例如,手和手臂)遮蔽了虛擬對象之處將虛擬對象渲染為部分透明的,并在用戶的特征并不遮蔽虛擬對象之處將虛擬對象渲染為非透明的。以此方式,用戶可看見他/她的手在虛擬對象的圖像附近,而該虛擬對象的其余部分看起來就像真實的那樣是實體的。替換地,處理器可渲染虛擬對象以使得該用戶自己的特征顯現(xiàn)在虛擬對象的前面或上方(即,實體的),而另一個人的手和手臂(以及其他身體部位)被渲染為透明的,從而虛擬對象的圖像會使得它們不可見(即,虛擬對象遮擋了用戶對該另一人的手/手臂的視線),或使得該虛擬對象能透過該另一人的手和手臂被觀看。
[0197]例如,頭戴式或身佩式相機可捕捉場景的圖像,其包括該用戶和另一個人的手和手臂。該設備的處理器可對所捕捉到的圖像數(shù)據(jù)應用解剖算法以識別在所捕捉到的圖像內(nèi)的身體部位。例如,處理器可通過將圖像形狀與解剖模型作比較來在所捕捉到的圖像中檢測用戶的手和第二個人的手。
[0198]這兩組手都可能遮擋虛擬對象。例如,可為該圖像審閱五個手指和手的大小數(shù)據(jù)。處理器可推斷捕捉到的圖像上取向為自頂向下的手是此第二個人的手,而捕捉到的圖像內(nèi)取向為自底向上的其他手則是該用戶的手。附加地,處理器可捕捉所識別出的物體的距離數(shù)據(jù)以編制推斷。例如,當處理器確定解剖特征(例如,手臂和手)離該用戶至少有預定距離(十二英尺)時,則處理器可從此信息推斷出那些特征屬于另一個人。附加的感測到的參數(shù)也是可行的并且在本公開的范圍之內(nèi)。例如,物體的高度、物體的取向、以及物體的大小全都可被利用。
[0199]在方法1400中,處理器可在框1401中通過接收與這些相機的取向有關(guān)的傳感器數(shù)據(jù)來著手進行操作。在框1402中,處理器可從這些相機接收數(shù)據(jù)。在框1403中,處理器可計算圖像內(nèi)的各物體的距離和取向。在框1404中,處理器可使用距離傳感器數(shù)據(jù)、相機數(shù)據(jù)、圖像的取向、以及距離數(shù)據(jù)來處理所捕捉到的圖像。在確定框1405中,處理器可確定在該圖像內(nèi)是否識別出與用戶的特征(例如,用戶的手、手臂、腿、軀干等)相對應的物體。此確定可涉及通過識別捕捉到的圖像內(nèi)的物體、將所識別出的物體與存儲在存儲器中的骨骼模型作比較、以及響應于將所識別出的物體與該骨骼模型作比較來確定是否有任何識別出的物體匹配于該骨骼模型的一部分來對該圖像應用解剖分析。該骨骼模型可包括關(guān)于人類骨骼的關(guān)鍵關(guān)節(jié)、骨、和肢的相對位置信息。
[0200]如果在圖像中識別出人的特征(B卩,確定框1405=“是”),則在框1409,處理器可渲染該圖像,其中該虛擬對象和該用戶的特征在該圖像中。如果在圖像內(nèi)沒有檢測到用戶的特征(即,確定框1405= “否”),則處理器可在確定框1406中確定該特征是否為第二個人的特征。
[0201]在確定框1406中,處理器可確定是否檢測到第二個人的特征。此確定可涉及響應于識別出出現(xiàn)在所捕捉到的圖像中的身體部位而確定該身體部位屬于第一個人還是屬于第二個人,確定虛擬對象的位置和所包圍區(qū)域、以及確定所識別出的身體部位是否與被該虛擬對象所包圍的區(qū)域的至少一部分交疊。這些特征可被處理器渲染成透明的。處理器可通過生成虛擬對象并將其疊加在所檢測到的特征上來略去該(諸)物體。例如,處理器可在顯示器上將虛擬對象渲染在第二個人的手之上。若是如此(即,確定框1406= “是”)(這指示第二個人的手在圖像中被檢測到且其不是必要的),則處理器可在框1407中將虛擬對象渲染為在該圖像中疊加在第二個人的手之上。
[0202]如果處理器不能確定該物體是否為第二個人的手(即,確定框1406=“否”),則處理器可在框1408中渲染帶有該虛擬對象的該圖像。處理器可確定該圖像中對應于期望物體的數(shù)個像素,并且隨后將期望物體的輪廓保留為顯示的,但用虛擬對象14來替換該圖像中的像素。輪廓大小可以變化,并且可包括物體圖像長度的約I個百分點。
[0203]圖15解說頭戴式設備10的顯示輸出的解說的高級俯視圖。該顯示輸出示出虛擬對象14。虛擬對象14被解說為輸出數(shù)據(jù)的虛擬平板屏幕。在此實施例中,虛擬屏幕輸出具有數(shù)個柱狀圖的圖形表。多個用戶可在虛擬現(xiàn)實框架中在該虛擬對象之上協(xié)作,其中虛擬對象14僅出現(xiàn)在該顯示的輸出中,但對觀看者而言看起來是有形的真實物體。
[0204]在所解說的示例中,處理器在立體景深圖像內(nèi)檢測到用戶的特征或手1502,并且檢測到另外兩個人的特征或手1500和1501在虛擬對象14之上。如圖15中所解說的,處理器允許該用戶的手作為該顯示中的必不可少的元素而被顯示。用戶的手將顯現(xiàn)在虛擬對象14之上并將遮擋虛擬對象14。另外,其他兩個人的特征可被渲染為在虛擬對象14的各部分上仿佛是透明的,因為這些元素被認為不是必不可少的,并且會分散或充斥頭戴式設備10的用戶的視線。虛擬對象14可由處理器顯示為疊加并覆在手1500和1501之上,由此手1500和1501并不遮蔽所生成的虛擬對象14。
[0205]在所解說的示例中,第二用戶的手1501被處理器渲染為“透明的”,并且如由第二個人的手1501的輪廓所示地渲染在虛擬對象14之上。虛擬對象14正常情況下應被遮蔽的部分可被直接渲染在第二個人的手1501上。在所解說的示例中,第二用戶的手1501看起來是透明的,只有手1501的輪廓被示出。另一用戶的手1502在所解說的示例中被渲染為“實體物體”,其中那些手1502被渲染在虛擬對象14之上并遮蔽了虛擬對象14。在所解說的示例中,手1502看起來是實體的并且底下的虛擬對象14可能不可見。在一實施例中,其他人的手可被檢測到并與手1500和1501的輪廓一起渲染。手1500和1501的其余部分被解說為被渲染在虛擬對象14之下。[0206]頭戴式或身佩式相機可捕捉圖像并對捕捉到的圖像數(shù)據(jù)應用解剖模型來識別身體部位。例如,這可以是在虛擬對象14之上的用戶的手1502、以及第二個人的手1500和第三個人的手1501。例如,可以審閱五個手指、手大小數(shù)據(jù)、手臂的一部分、手的取向、手指的取向、距離數(shù)據(jù)以及取向數(shù)據(jù)。處理器可推斷取向為從圖像的頂部向著圖像的底部延伸的手是第二個人的手1500。處理器還可推斷取向為從圖像的右側(cè)離相機1501有一定距離的手是另一個人的手1501。處理器還可推斷取向成從圖像的底部向上延伸的第三組手1502如果在一定距離范圍以內(nèi)并且在該圖像中相對于頭戴式設備10的取向定位成與解剖模型一致則是該用戶的手。附加的感測到的參數(shù)也可被處理器用來識別身體部位。例如,當該用戶的手或手臂已被跟蹤到時,處理器可推斷所顯示的圖像中所有其他的手屬于其他用戶,并且因此該處理器可在呈現(xiàn)在頭戴式顯示器中的圖像中將那些其余的手渲染為輪廓或透明的。
[0207]圖16解說跨高速數(shù)據(jù)鏈路與移動設備1605通信以利用處理資源的頭戴式設備1600的另一實施例。圖16解說頭戴式設備1600的數(shù)個子組件。頭戴式設備1600可作為移動CPU (電話、平板計算機等)的配件來工作,其中主處理在移動CPU上執(zhí)行。一般而言,可將頭戴式設備1600制作得盡可能輕質(zhì)以便舒適地佩戴在用戶的頭周圍。頭戴式設備1600可利用移動設備1605的處理和數(shù)據(jù)存儲資源,并且VIRT控制系統(tǒng)1610可被實現(xiàn)在移動設備1605上運行著的軟件應用內(nèi)。移動設備1605可通過在移動設備1605處執(zhí)行處理來提供處理功能,增加存儲器,以及節(jié)約頭戴式設備1600的電池壽命。
[0208]頭戴式設備1600包括連接到處理器的場景傳感器(RGB-D相機)1615。頭戴式設備1600還可包括音頻傳感器(話筒)1620和立體景深顯示器1625。顯示器1625可以是半透明OLED視頻顯示器1625。頭戴式設備1600還可包括納入揚聲器的耳塞,或可替換地包括一對頭戴式受話器1630。在另一實施例中,頭戴式設備1600可包括裸機設備1600以便使其輕質(zhì)。設備1600可包括無線接口、場景傳感器1615、電池以及顯示器1625。無線接口可向移動設備1605中的處理器傳達數(shù)據(jù),該移動設備可被配置成運行VIRT控制系統(tǒng)1610以使得頭戴式裝置保持輕質(zhì)并且用戶佩戴舒適。如以下參考圖41更詳細地描述的,移動設備1605包括處理器和存儲器,并且在一實施例中,處理器可配置成具有VIRT控制軟件模塊1610,該模塊可配置成與頭戴式設備1600互操作。移動設備1605和頭戴式設備1600可使用高速數(shù)據(jù)鏈路1612來通信,該鏈路可以是有線的或無線的。例如,高速數(shù)據(jù)鏈路1612可以是選自以下任何一項或多項的短程無線數(shù)據(jù)鏈路1612:藍牙?、W1-Fi?、高通的Peanut?、以及ZigBee?無線協(xié)議。
[0209]例如,可利用傳感器1615、1620和1630來捕捉傳感器數(shù)據(jù)并將其轉(zhuǎn)換成數(shù)字數(shù)據(jù)。可將該數(shù)字數(shù)據(jù)傳達給無線設備,并且可將該數(shù)字數(shù)據(jù)沿鏈路傳達給能在移動設備1605上操作的控制系統(tǒng)1610??刂葡到y(tǒng)1610可處理感測到的數(shù)據(jù)并可渲染顯示數(shù)據(jù)。例如,控制系統(tǒng)1610可接收該區(qū)域的掃描圖像和距離數(shù)據(jù),并在房間中的至少一個表面上生成虛擬對象。顯示數(shù)據(jù)可沿該鏈路被傳回,并且在頭戴式顯示器1625上輸出。
[0210]圖17解說使用移動設備與頭戴式設備之間的高速鏈路來使得能夠?qū)鞲衅鲾?shù)據(jù)處理卸載到移動設備的實施例方法1700。方法1700可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法1700的操作的處理器的計算設備中實現(xiàn)。在框1701中,處理器可接收與頭戴式設備及其相機的取向有關(guān)的傳感器數(shù)據(jù)。在框1702中,處理器可從該設備的各相機接收圖像數(shù)據(jù)。在確定框1704中,處理器可確定是否有無線地與頭戴式設備通信、并且能夠協(xié)助進行處理和存儲器存儲的移動設備在場。若非如此(即,確定框=“否”),則在框1710中,這些圖像可由頭戴式設備處理,正如在其他實施例中所描述的。
[0211]如果有無線地與頭戴式設備通信、并且能夠協(xié)助進行處理和存儲器存儲的移動設備在場(即確定框=“是”),則在框1705中該頭戴式設備可向移動設備發(fā)送傳感器數(shù)據(jù)以供由移動設備處理器來處理。在框1706中,移動設備處理器可基于收到的數(shù)據(jù)來計算圖像內(nèi)各物體的距離和取向數(shù)據(jù)。在框1707中,移動設備處理器可使用接收自頭戴式設備的傳感器和相機數(shù)據(jù)來處理該圖像數(shù)據(jù)。在框1708中,移動設備處理器可使用接收自頭戴式設備的傳感器和圖像數(shù)據(jù)來生成虛擬對象的顯示數(shù)據(jù),并將所生成的顯示數(shù)據(jù)傳送給頭戴式設備。在框1709中,頭戴式設備可使用接收自移動設備的顯示數(shù)據(jù)在頭戴式顯示器上渲染圖像。此過程可通過返回到框1701來繼續(xù)進行,盡管一旦頭戴式設備確定了有移動設備在場(即,確定框1704= “是”),對于當前會話就可以不重復進行確定。
[0212]圖18解說用于向共享用戶存儲器傳達數(shù)據(jù)以使得第二頭戴式設備可訪問共享數(shù)據(jù)的方法1800。方法1800可減少用于渲染圖像的處理時間或者可減少用于在正確地取向的顯示器上生成虛擬對象的處理時間。例如,在一些實施例中,處理器可處理圖像數(shù)據(jù)并且還可從存儲介質(zhì)接收圖像數(shù)據(jù)或位置數(shù)據(jù)以更快地渲染虛擬對象。方法1800可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法1800的操作的處理器的計算設備中實現(xiàn)。
[0213]在方法1800中,處理器可通過接收與這些相機的取向有關(guān)的傳感器數(shù)據(jù)來著手進行操作。在框1802中,可捕捉圖像并且處理器可從各相機接收立體圖像數(shù)據(jù)。在框1803中,處理器可計算圖像內(nèi)的各物體的距離和取向。在框1804中,處理器可處理來自各傳感器的圖像數(shù)據(jù)。在框1805中,可渲染帶有虛擬對象的該圖像。在框1806中,可作出關(guān)于是否要將數(shù)據(jù)共享到遠程存儲介質(zhì)以使得其他頭戴式設備可接收此共享數(shù)據(jù)并利用此共享數(shù)據(jù)的決定。例如,其他頭戴式設備可獲得位置數(shù)據(jù),或者可使用此共享數(shù)據(jù)來渲染該圖像和虛擬對象。
[0214]如果處理器決定要將數(shù)據(jù)共享到遠程存儲介質(zhì)(B卩,確定1806^是”),則在框1807可將數(shù)據(jù)傳達到共享存儲器。如`果處理器決定不要將數(shù)據(jù)共享到遠程存儲介質(zhì)(即,確定框1812= “否”),則處理器可繼續(xù)前行至框1801以繼續(xù)捕捉數(shù)據(jù)。第二頭戴式設備IOb可在框1808中從該存儲介質(zhì)訪問數(shù)據(jù)并可在框1809中接收該數(shù)據(jù)。在框1810中,可計算距離數(shù)據(jù),并且在框1811可處理圖像。在確定框1812可得出要共享由第二頭戴式設備IOb聚集的數(shù)據(jù)的決定。例如,該數(shù)據(jù)可以是掃描的傳感器數(shù)據(jù)或其他要協(xié)作的數(shù)據(jù)。此數(shù)據(jù)可由處理器傳送并存儲在存儲介質(zhì)處。如果處理器決定要共享由第二頭戴式設備聚集的數(shù)據(jù)(即,確定框1812= “是”),則在框1813中可將數(shù)據(jù)傳達到共享存儲器。如果處理器決定不要共享第二頭戴式設備所聚集的數(shù)據(jù)(即,確定框1812= “否”),則處理器可繼續(xù)前行至框1809以繼續(xù)接收關(guān)于圖像的數(shù)據(jù)。
[0215]圖19解說用于在通信網(wǎng)絡上共享數(shù)據(jù)并供多個設備使用的實施例方法1900。頭戴式設備10可與第二移動通信設備IOb共享資源。方法1900可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法1900的操作的處理器的計算設備中實現(xiàn)。
[0216]在方法1900中,處理器可通過接收與各相機的取向有關(guān)的傳感器數(shù)據(jù)來著手進行操作。在框1902中,處理器可從相機接收立體圖像數(shù)據(jù)。在框1903中,處理器可計算圖像內(nèi)的各物體的距離和取向。處理器可轉(zhuǎn)換圖像數(shù)據(jù)以及位置和取向數(shù)據(jù)。數(shù)據(jù)可用位置數(shù)據(jù)作標簽以供第二頭戴式設備使用。第二頭戴式設備可接收該距離、圖像、以及作了標簽的位置數(shù)據(jù)。第二頭戴式設備可利用該數(shù)據(jù)以用最小限度的處理來渲染圖像,其中有該虛擬對象在該圖像中。
[0217]在框1904中,處理器可對圖像中的各物體作標簽以將作了標簽的信息存儲在幾何三維模型中。該標簽可包括可從GPS設備獲得的地理位置數(shù)據(jù)。在一實施例中,該位置數(shù)據(jù)可描述房間中的物體以及各物體相對于彼此的相對位置。在另一實施例中,每個物體可被指派包括物體取向的GPS坐標。在一實施例中,該標簽可包括至少四個分開的位置坐標。在一進一步的實施例中,與虛擬對象相關(guān)聯(lián)的數(shù)據(jù)也可用位置數(shù)據(jù)作標簽。在框1905中,處理器可使用傳感器數(shù)據(jù)、相機數(shù)據(jù)、圖像的取向、以及距離數(shù)據(jù)來處理圖像。在框1906中,處理器可將物理環(huán)境渲染在模型中。該模型可由處理器上傳并傳送到存儲介質(zhì),該存儲介質(zhì)可由其他頭戴式設備、或連接到其他頭戴式設備的各單獨的處理器訪問。如本文中所提及的,通過利用外部處理器和存儲介質(zhì)(例如,智能電話、個人計算機、或經(jīng)由本地無線網(wǎng)絡可訪問的服務器),頭戴式設備可被配置成輕質(zhì)的。第二頭戴式設備可確定其位置并可向存儲介質(zhì)形成訪問與當前位置有關(guān)的掃描數(shù)據(jù)的請求。該存儲介質(zhì)可接收該請求。該存儲介質(zhì)可基于該位置將數(shù)據(jù)傳達給頭戴式設備。
[0218]在確定框1907中,處理器可決定是否要共享該數(shù)據(jù)。若是如此(即,確定框1907= “是”),則處理器可共享該數(shù)據(jù)并將該數(shù)據(jù)傳達給與第二用戶相關(guān)聯(lián)的移動設備(框1908),或傳達給存儲介質(zhì)(其中計算設備可向該存儲介質(zhì)請求數(shù)據(jù))。例如,該存儲介質(zhì)可包括另一計算設備、服務器、或網(wǎng)絡分布式計算設備。如果處理器決定不要共享該數(shù)據(jù)(即,確定框1907= “否”),則處理器可繼續(xù)前行到框1901以繼續(xù)從各傳感器接收與相機的取向有關(guān)的數(shù)據(jù)并在框1902中捕捉圖像。在框1908中,第二頭戴式設備可訪問該共享數(shù)據(jù)。在框1909中處理器可利用該共享數(shù)據(jù)來顯示虛擬對象,同時減少用于渲染該虛擬對象的處理量。
[0219]圖20解說使用服務器來在至少兩個頭戴式設備之間共享位置坐標數(shù)據(jù)和掃描數(shù)據(jù)以渲染虛擬對象的實施例方法2000。例如,處理器可在通信網(wǎng)絡上共享數(shù)據(jù)以供多個設備使用,從而這些設備可通過獲得共享數(shù)據(jù)來處理圖像數(shù)據(jù)、位置數(shù)據(jù)、取向數(shù)據(jù)、距離數(shù)據(jù),以及更迅速地在圖像中渲染虛擬對象,或可在軟件應用之間共享其他對于協(xié)作目的而言有用的數(shù)據(jù)。例如,一位用戶或許能夠訪問存儲在存儲器中的另一用戶的文件。方法2000使得處理器能夠與其他設備協(xié)作和共享資源。方法2000可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法2000的操作的處理器的計算設備中實現(xiàn)。在框2001中,處理器可通過執(zhí)行與第一頭戴式設備相關(guān)聯(lián)的應用來著手進行操作。
[0220]在框2002中,處理器可打開與該頭戴式設備相關(guān)聯(lián)的輸入/輸出信道。處理器可在框2003用第二頭戴式設備來執(zhí)行應用,并在框2004中打開該信道以在該信道上通信。在框2005中處理器可在共享服務器上執(zhí)行應用。在框2007中,處理器可使用RF信道來創(chuàng)建至服務器以及這兩個頭戴式設備的連接。在框2008中處理器可使用第一和第二頭戴式設備以及服務器來協(xié)作。在框2009中,處理器可共享音頻數(shù)據(jù)。在框2010中,處理器可在服務器處共享數(shù)據(jù)文件并同步文檔。在框2011中,處理器可在各移動設備處檢測音頻姿勢以發(fā)現(xiàn)新命令。[0221]同樣,如以上所描述的,將由其中一個或多個頭戴式設備所生成的圖像和音頻數(shù)據(jù)與服務器共享可使得其他人能通過佩戴從該服務器接收圖像和音頻數(shù)據(jù)的頭戴式設備來看到和聽到與參與者相同的事物來觀察虛擬或擴增現(xiàn)實體驗中的協(xié)作。通過使得能在觀察者的頭戴式設備之間以及在服務器與參與者頭戴式設備之間進行雙向通信,佩戴頭戴式設備的觀察者還能具有與在頭戴式顯示器中看見的虛擬對象進行交互的能力。觀察者與虛擬對象的交互可包括觸摸該擴增以產(chǎn)生影響,定義物理表面上的交互區(qū)域或錨點(有效地向共享體驗添加新擴增),和經(jīng)由姿勢和/或音頻輸入與共享混合現(xiàn)實場景進行交互??墒沟锰摂M體驗中由觀察者作出的任何此類改變都反映在由參與者和其他觀察者佩戴的頭戴式顯示器中。
[0222]圖21解說使用服務器來經(jīng)由可標識目錄在至少兩個設備之間共享數(shù)據(jù)的實施例方法2100。該目錄可標識在預定區(qū)域中的其他有能力的設備和頭戴式設備。一旦一頭戴式設備進入一區(qū)域,該頭戴式設備就可注冊并可在目錄上存儲地址信息,該目錄可與其他頭戴式設備共享。在替換實施例中或在這些實施例的可能實現(xiàn)中,可由附連的處理器單元(諸如智能電話)來執(zhí)行掃描功能。使用由分開的設備對區(qū)域進行的掃描在使用輕質(zhì)的頭戴式設備時可能尤為合適。以此方式,頭戴式設備可從集中位置迅速確定是否有其他頭戴式設備可用以進行協(xié)作以及共享掃描資源。方法2100可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法2100的操作的處理器的計算設備中實現(xiàn)。該目錄可以是提供關(guān)于可用設備的信息的計算機可讀數(shù)據(jù)。這促成了在通信網(wǎng)絡上共享數(shù)據(jù)以供多個設備使用。例如,該目錄可包括關(guān)于建筑物中的各掃描區(qū)域的信息,其中有地理標簽與該目錄相關(guān)聯(lián),由此知道自己位置的設備10可查看該目錄以獲得用于渲染虛擬對象14的掃描數(shù)據(jù)。例如,該數(shù)據(jù)可包括關(guān)于虛擬對象14的數(shù)據(jù),可包括關(guān)于該區(qū)域中的一個或多個表面的數(shù)據(jù)、取向數(shù)據(jù)、物體位置數(shù)據(jù)、或任何其他有用的或處理器密集型數(shù)據(jù),這些數(shù)據(jù)能被迅速獲得。
[0223]實施例方法2100使得能夠協(xié)作并共享資源,以使得由頭戴式設備自身執(zhí)行的處理量最小化。在方法2100中,處理器可通過在框2101中從可能正在運行應用的第一頭戴式設備接收要進行協(xié)作的輸入請求來著手進行操作。在框2102中,處理器可發(fā)起對附近設備的對等搜索以進行協(xié)作。在確定框2103中,處理器可決定是否要與所發(fā)現(xiàn)的設備協(xié)作。若是如此(即,確定框2103=“是”),則處理器可創(chuàng)建這些設備之間的連接。處理器可使用雙向通信鏈路來進行協(xié)作。在框2104中,可在第一和第二頭戴式設備10和IOb之間形成通信鏈路。
[0224]處理器可訪問服務器中的目錄。在框2105中,利用該目錄的處理器可通過掃描該目錄來確定是否有其他用戶可用于進行協(xié)作。在確定框2106中,處理器可決定是否要選擇新用戶。處理器可基于輸入或基于決策規(guī)則引擎來決定是否要選擇可基于一個或多個預定義的關(guān)系規(guī)則進行協(xié)作的新用戶。如果處理器決定要選擇新用戶(即,確定框2106=“是”),則處理器可行進至確定框2107以確定是否要創(chuàng)建至該新用戶的連接以用于進行協(xié)作。在確定框2107中,處理器可決定是否要與該新用戶協(xié)作。如果處理器決定要與該新用戶協(xié)作(即,確定框2107=“是”),則在框2108中處理器可創(chuàng)建到各相關(guān)設備的連接,并可使用第一和第二頭戴式設備來進行協(xié)作。
[0225]如果處理器決定不要與該新用戶進行協(xié)作(即,確定框2106=“否”),則處理器將向用戶輸出預期沒有更多用戶的消息,并且在框2019中與現(xiàn)有參與者著手進行協(xié)作。如果處理器決定不要選擇新用戶(即,確定框2107=“否”),則處理器將假定該協(xié)作被拒絕。處理器可輸出預期沒有更多用戶的消息,并在框2109中與現(xiàn)有參與者著手進行協(xié)作。
[0226]圖22示出第一頭戴式設備2205和第二頭戴式設備2210位于兩個不同地理位置的高級解說。圖22解說第一和第二頭戴式設備2205、2210的數(shù)個組件,并且還解說可提供頭戴式設備2205、2210之間的數(shù)據(jù)交換功能的VIRT服務組件2265。第一和第二頭戴式設備2205和2210可共享包括掃描區(qū)域的三維地圖在內(nèi)的數(shù)字資產(chǎn),以減少進入新位置的新頭戴式設備處的處理。此共享可延長電池壽命,并可協(xié)助以迅速的方式來渲染圖像。在另一實施例中,一個用戶的掃描三維地圖可補充第二用戶的地圖。在另一實施例中,一個用戶的地圖可替換第二用戶的地圖。在一進一步的實施例中,一個用戶的地圖可被參考并用來檢查另一用戶的掃描數(shù)據(jù)。例如,此參考可發(fā)生在預定時間范圍內(nèi)。
[0227]在該時間范圍期滿時或在處理約束繁重的情況下,第二用戶可利用第一用戶的地圖。在另一實施例中,第一頭戴式設備2205和第二頭戴式設備2210可位于兩個相對于彼此而言遙遠的地理位置處,并且可能不會掃描相似區(qū)域。因此,盡管將在頭戴式設備2205和2210之間共享數(shù)字資產(chǎn)和虛擬對象,但是可能沒有必要共享地圖數(shù)據(jù),因為此類信息對于協(xié)作而言將是無關(guān)的。取而代之的是,在頭戴式設備2205和2210被要求掃描一區(qū)域時,三維地圖的共享對于位于近旁或在相同建筑物中的用戶可能是最有用的。
[0228]第一用戶操作第一頭戴式顯不設備2205,該設備可具有顯不器2215、揚聲器2220、圖像場景傳感器2225以及音頻傳感器2230。第一頭戴式設備2205還可包括無線或有線接口 2260以及包括數(shù)個控制組件的控制器。在另一實施例中,頭戴式設備可包括顯示器2215、無線接口 2260、電池(未示出)、揚聲器2220、以及話筒/音頻傳感器2230。各組件包括場景管理器塊2235、用戶控制塊2240、表面管理器塊2245、音頻管理器塊2250、以及信息訪問塊2255。
[0229]第二用戶還操作第二頭戴式設備2210,其包括類似組件。第二設備2210可具有顯示器2215a、揚聲器2220a、圖像場景傳感器2225a以及音頻傳感器2230a。第二設備2210還可包括無線或有線接口 2240a和控制器??刂破靼〝?shù)個控制組件,包括場景管理器2235a、用戶控制塊2240a、表面管理器塊2245a、音頻管理器塊2250a、以及信息訪問塊2255a。
[0230]設備2205和2210各自與控制提供器2265通信,控制提供器2265可為設備2205和2210每一者提供服務功能性??刂铺峁┢?265可輔助這兩個設備2205和2210,并可代表這些設備來提供服務,從而設備2205和2210保持輕質(zhì)并且未必需要在本地執(zhí)行計算密集型處理。就像任何兩個連接著因特網(wǎng)的設備一樣,控制提供器2265可能不得不實現(xiàn)防火墻2285和2285a來保護這些設備防止黑客攻擊以及惡意軟件(例如,防火墻可由本地軟件、因特網(wǎng)服務供應商和/或企業(yè)服務供應商提供)。防火墻2285和2285a限制對控制提供器2265的訪問。在另一實施例中,防火墻2285和2285a是任選的并且是缺失的。
[0231]控制提供器2265可包括目錄2280,該目錄包含與許多設備有關(guān)的數(shù)據(jù),這些數(shù)據(jù)包括對于設備2205和2210的標識和路由信息??刂铺峁┢?265還可包括場景存儲塊2270。場景存儲塊2270處理與掃描圖像的表面和輪廓信息有關(guān)的數(shù)據(jù)。此表面和輪廓數(shù)據(jù)可包括距離、形狀以及取向數(shù)據(jù)。場景存儲塊2270可準許第一用戶對第一區(qū)域進行地圖繪制,并存儲該數(shù)據(jù)以惠及第二用戶的頭戴式設備以更迅速地渲染場景或驗證掃描的數(shù)據(jù)參數(shù)。控制提供器2265促成共享數(shù)字資產(chǎn)。控制提供器2265可提供無線接口 2260與2260a之間的數(shù)據(jù)鏈路,該數(shù)據(jù)鏈路可被最優(yōu)化。控制提供器2265還可促成由不同網(wǎng)絡拓撲、防火墻和IP尋址架構(gòu)來實現(xiàn)的連通性。
[0232]每個設備2205和2210可將位置數(shù)據(jù)內(nèi)嵌到所收集的與地圖繪制和掃描的圖像以及掃描的表面有關(guān)的數(shù)據(jù)中。例如,第一頭戴式設備2205可掃描一房間,包括該房間中的各物體。此掃描可導致對各物體的位置數(shù)據(jù)、各物體的輪廓數(shù)據(jù)、從物體到頭戴式設備的距離數(shù)據(jù)、以及頭戴式設備和各物體的取向數(shù)據(jù)的聚集和收集。此掃描可得到數(shù)據(jù),該數(shù)據(jù)可被傳達給路由器2275。與此數(shù)據(jù)一起地,第一頭戴式設備2205處理器可將位置數(shù)據(jù)嵌入在所掃描的數(shù)據(jù)中。該位置數(shù)據(jù)可以是經(jīng)度、緯度、以及海拔形式的坐標。第一通信設備2205指定本地物理環(huán)境中的每個表面。處理器可以能夠標識哪個共享數(shù)據(jù)可被擺放在每個表面上從而使得另一設備可迅速地能夠定位到并利用該數(shù)據(jù)。
[0233]第一頭戴式設備2205可將數(shù)據(jù)寫到基于云的服務2265。此類服務2265可為頭戴式設備提供計算、軟件、數(shù)據(jù)訪問、以及存儲服務。頭戴式設備不要求最終用戶知曉服務2265的物理位置和配置?;谠频姆?265上可能存儲有查找目錄2280。服務2265駐留在服務器上。服務2265資源可經(jīng)由能在頭戴式設備上執(zhí)行的web應用/web服務在因特網(wǎng)上在細粒度的自助的基礎上被動態(tài)地置備給頭戴式設備。服務2265可位于場外第三方供應商上。目錄2280協(xié)助第一設備2205并促成遠程用戶2205、2210之間經(jīng)由路由器2275的連通性。以此方式,第二頭戴式設備2210可確定頭戴式設備2210處于特定位置并可將此位置傳達給路由器2275。服務2265可涉及動態(tài)可伸縮資源的置備。頭戴式設備可加載有基于web的工具或應用,其可由用戶通過web瀏覽器來訪問和使用,就好像該程序是本地安裝在他們自己的頭戴式設備上那樣。服務2265可經(jīng)由因特網(wǎng)來遞送應用,這些應用是從web瀏覽器來訪問的,而軟件和數(shù)據(jù)存儲在遠程位置處的服務器上。服務2265可通過共享數(shù)據(jù)中心來傳送,并且對頭戴式設備而言看起來像是單個訪問點。響應于此,來自場景存儲2270的從第一頭戴式設備2205生成的數(shù)據(jù)可被傳送給場景管理器和表面管理器塊2235a和2245a,以避免要用額外的計算處理來渲染圖像。第二頭戴式設備2210可驗證由場景傳感器塊2225a所生成的數(shù)據(jù),或可利用從場景存儲塊2270傳送而來的數(shù)據(jù)在顯示器2215a上渲染圖像,以避免要用額外的計算處理來渲染圖像。
[0234]圖23解說第一頭戴式設備2205的高級圖示。第一頭戴式設備2205可位于第二頭戴式設備2210近處。頭戴式設備2205和2210可經(jīng)由一個或多個快速無線數(shù)據(jù)鏈路來交換數(shù)據(jù)。第一頭戴式顯示設備2205可具有顯示器2215、揚聲器2220、圖像場景傳感器2225以及音頻傳感器2230。第一頭戴式設備2205還可包括至用戶數(shù)據(jù)存儲2301的有線接口連接,在用戶數(shù)據(jù)存儲2301處,數(shù)據(jù)可被寫入以供訪問。第一設備2205還可包括至共享數(shù)據(jù)存儲2302的有線或無線連接,該共享數(shù)據(jù)存儲2302可以是第二移動通信設備可訪問的存儲器。第一設備2205還可具有控制器,該控制器包括數(shù)個控制組件,包括場景管理器2235、用戶控制塊2240、表面管理器塊2245、音頻管理器塊2250、以及信息訪問塊2255。
[0235]第二用戶還操作第二頭戴式設備2210,其包括與第一頭戴式設備2205類似的組件。第二設備2210可具有顯示器2215a、揚聲器2220a、圖像場景傳感器2225a以及音頻傳感器2230a。第二設備2210還可包括無線或有線接口。第二設備2210可向/從用戶數(shù)據(jù)存儲存儲器2303讀取/寫入數(shù)據(jù)。第二設備2210還可從/向可由第一設備2205訪問的共享數(shù)據(jù)存儲存儲器2302讀取和寫入數(shù)據(jù)。第二設備2210還可具有包括數(shù)個控制組件或模塊的控制器。第二設備2210可包括場景管理器塊2235a、用戶控制塊2240a、表面管理器塊2245a、音頻管理器塊2250a、以及信息訪問塊2255a。
[0236]鑒于此,各用戶可共享已被指定的掃描表面數(shù)據(jù)集合。各用戶可與作為虛擬對象擺放在這些表面上的虛擬資產(chǎn)進行交互。第一和第二設備2205和2210可在本地快速無線數(shù)據(jù)載體(例如,W1-Fi?、高通? Peanut?短程通信標準、以及高通? FlashLinQ?)上通信。如果有更多用戶在場,則設備2205、2210可進一步經(jīng)由對等連接或廣播、單播、或多播來通信。
[0237]圖24解說使用服務器來用位置信息對數(shù)據(jù)作標簽并經(jīng)由目錄在至少兩個頭戴式設備之間共享作了標簽的數(shù)據(jù)的實施例方法2400。方法2400可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法2400的操作的處理器的計算設備中實現(xiàn)。該目錄可提供關(guān)于掃描的三維地圖的信息。例如,頭戴式設備可發(fā)射紅外光并經(jīng)由快速閘選機構(gòu)來計算該紅外光的渡越時間,并可存儲這些計算以確定某些物體距該頭戴式設備10的距離。另外,頭戴式設備10可掃描一區(qū)域以確定各物體的取向、確定各表面、以及各物體的結(jié)構(gòu)信息及高度、寬度、長度和距離信息。
[0238]在方法2400的框2401中,處理器可通過從頭戴式設備接收數(shù)據(jù)來著手進行操作。在框2402中,處理器可接收圖像數(shù)據(jù)。在框2403中,處理器可計算距離和取向。在框2404中,處理器可處理該內(nèi)容以供顯示。在框2405中,處理器可渲染該圖像,其中有虛擬對象包含在所顯示的圖像內(nèi)。在確定框2406中,處理器可決定是否要用位置信息來對該圖像作標簽,從而使得另一頭戴式設備可利用該圖像數(shù)據(jù)。
[0239]第二設備可包括第二處理器,該第二處理器可計算圖像數(shù)據(jù)并可利用第一設備掃描能力作為資源來驗證所掃描的參數(shù)以作為參考。在另一實施例中,第二設備可導入掃描的數(shù)據(jù)。使用此導入的數(shù)據(jù),第二設備可渲染所顯示的圖像,其中有虛擬對象錨定在所顯示的圖像中的至少一個表面上。這可發(fā)生在第二頭戴式設備IOb進入一位置時。第二頭戴式設備IOb可確定其在一區(qū)域(例如,房間)中的位置,并且然后傳達該位置數(shù)據(jù)以藉此形成對第一頭戴式設備10的掃描數(shù)據(jù)的請求。
[0240]如果處理器決定要用位置信息來對圖像作標簽(B卩,確定框2406= “是”),則在框2407中處理器可用位置信息來為該目錄對掃描的數(shù)據(jù)作標簽,并將該數(shù)據(jù)存儲在服務器上,從而另一頭戴式設備IOb可訪問此掃描的數(shù)據(jù)。在替換方案中,在框2407中不是將數(shù)據(jù)存儲在服務器上,而是可將數(shù)據(jù)存儲在共享存儲器中,諸如存儲在經(jīng)由共享網(wǎng)絡可訪問的存儲器中。如果處理器決定不要用位置信息對圖像作標簽(即,確定框2406=“否”),則在框2408中處理器可確定沒有其他設備可用于利用該共享數(shù)據(jù)并且將繼續(xù)掃描該區(qū)域來為當下的用戶渲染該虛擬對象。
[0241 ] 圖25A解說具有三個移動設備2501、2502和2503以及服務器2504的系統(tǒng)2500的實施例。設備2501 - 2503以及服務器2054交換掃描的數(shù)據(jù)以及地圖信息。該地圖可包括房間的掃描參數(shù)。該地圖可包括圖像中各表面(諸如平板屏幕顯示器2530和桌子2532)的標識,包括圖像中各物體的形狀和大小。該地圖還可包括從該設備來看各物體所位于的距離和角度、或是在鏈接到房間的參考系內(nèi)的坐標位置、或是任意坐標。例如,該地圖可以用從原點出發(fā)沿三條垂直坐標軸(諸如沿定義該房間的特定一角的三條軸(例如,長度、寬度、高度))的米數(shù)的形式來標識各物體的位置。該地圖可包括與這些物體被捕捉時該設備的三維位置和場所有關(guān)的標題。地圖數(shù)據(jù)可從該設備掃描圖像數(shù)據(jù)的每個位置被上傳到服務器2504,并且該服務器可使用來自所有頭戴式設備以及來自所有位置的距離測量和圖像來構(gòu)建基于鏈接到該房間的參考系的地圖。為此,服務器2504可對所有收到的位置數(shù)據(jù)執(zhí)行坐標變換,以將距離測量從以頭戴式設備為中心的球面坐標(即,從該頭戴式設備出發(fā)到每一物體的距離和角度)變換到任意直線坐標系,諸如相對于房間長度、寬度和高度坐標來定位各物體。用于完成此類坐標變換的數(shù)學和算法是本領(lǐng)域眾所周知的。
[0242]系統(tǒng)2500的此實施例不限于頭戴式設備而是可進一步應用于不同的計算設備。替換地,頭戴式設備10可以是移動CPU (電話、平板計算機等)的配件,其中主處理在移動CPU上執(zhí)行,而數(shù)據(jù)是由移動電話和頭戴式設備(未示出)并在其間交換的。圖25A解說可如何使用集中式數(shù)據(jù)庫服務器2504來進行協(xié)作以迅速掃描以及渲染圖像。例如,設備2501、2502和2503可包括用于發(fā)射和感測光或超聲以經(jīng)由渡越時間計算來測量距房間中各物體和表面的距離的設備。在另一實施例中,RGB-D相機可捕捉圖像數(shù)據(jù)。設備2501、2502和2503可利用掃描的數(shù)據(jù)來生成虛擬對象并將該虛擬對象錨定在該圖像的至少一個表面上,并將該虛擬對象與所捕捉到的圖像一起渲染以提供虛擬或擴增現(xiàn)實體驗。
[0243]第一設備2501可創(chuàng)建局部地圖并將該地圖上傳到服務器2504。該局部地圖可包括與針對位置52.23.0.14的圖像中的第一和第二物體有關(guān)的數(shù)據(jù)。該地圖可包括標識該位置的標題。該地圖還可包括關(guān)于所掃描的圖像的大量數(shù)據(jù),包括距設備2501的距離、物體長度、物體寬度以及物體高度、各物體的取向、以及各物體離墻壁、天花板、門道的距離等。每個物體的個體坐標和位置數(shù)據(jù)也可被記錄并存儲在地圖中。
[0244]第二設備2502可經(jīng)由坐標(52.23.0.14)將其位置報告給服務器2504,該坐標對應于預定位置,該預定位置可能已被第一設備2501掃描過。第二設備2502可將該位置數(shù)據(jù)上傳到服務器2504。服務器2504可接收該位置數(shù)據(jù)。第二設備2502可接收有局部地圖可用的消息。第二設備2502可下載由第一設備2501形成的局部地圖?;就瑫r地,第二設備2502可能正在掃描該房間的一不同部分。例如,第二設備2502可掃描該房間中毗鄰第一桌子的部分。第二設備2502可利用所掃描的數(shù)據(jù)并將所掃描的數(shù)據(jù)與下載的地圖融合以渲染帶有虛擬對象的所顯示圖像。第二設備2502還可將經(jīng)更新的地圖上傳到服務器2504。
[0245]第三設備2503還可以用請求的形式來提供其位置數(shù)據(jù)52.23.0.14。服務器2504可接收該位置數(shù)據(jù)52.23.0.14以及坐標,并且選擇恰當?shù)臄?shù)據(jù)集并將該掃描數(shù)據(jù)的數(shù)據(jù)集以地圖的形式傳送給第三設備2503。第三設備2503可下載包括第一設備2501所掃描的數(shù)據(jù)以及第二設備2502所掃描的數(shù)據(jù)(其可補充第一設備2501所掃描的數(shù)據(jù))的地圖數(shù)據(jù)。在另一實施例中,該數(shù)據(jù)可能并不是用來補充的,而是第二設備2502可掃描以確定第一數(shù)據(jù)集是否準確并可驗證該數(shù)據(jù)集。在另一實施例中,如果該數(shù)據(jù)不準確,則第二設備2502可替換第一設備2501所掃描的數(shù)據(jù)。
[0246]第三設備2503可利用該地圖以渲染帶有虛擬對象的所顯示圖像。如圖所示,第三設備2503可利用經(jīng)更新的地圖來迅速確定該圖像中各物體(包括平板屏幕電視2530和桌子2532)的位置。第三設備2503可進一步捕捉圖像數(shù)據(jù),并可掃描該房間的新區(qū)域,并且還可將與對地圖的更新相對應的數(shù)據(jù)上傳到服務器2504。以此方式,設備2501、2502和2503中的每一者并不需要在本地處理整個圖像,而是可獲得服務以更迅速地渲染虛擬對象和所顯示的圖像。
[0247]設備2501、2502和2503中的每一者以及服務器2504可被彼此優(yōu)化以迅速接收地圖并將所掃描的數(shù)據(jù)與地圖組成部分拼湊在一起以迅速地渲染該場景。例如,如果設備2501在新位置上,并且沒有掃描的圖像被記錄過,則設備2501可掃描整個區(qū)域。例如,設備2501可替換地確定掃描數(shù)據(jù)是舊的并且是在一段時間前被記錄的。設備2501可確定掃描數(shù)據(jù)是陳舊的,并且決定掃描整個區(qū)域。
[0248]替換地,設備2501可將掃描數(shù)據(jù)的新舊程度與閾值作比較并可作出是否要掃描整個區(qū)域的決定。例如,設備2501可計算掃描整個房間所要的時間,并且如果掃描整個房間所要的時間高于預定限度,則可基于處理要求來接受或拒絕陳舊的地圖。替換地,設備2501可監(jiān)視其他設備2502、2503的位置并形成要接收基于所監(jiān)視位置的掃描圖像的請求。例如,設備2501可確定設備2502、2503正處在位于遠處的一不同的遠區(qū)域中,并且對地圖的請求很有可能渲染出不相關(guān)的數(shù)據(jù)(沒有用)并且編制請求是不必要的。在又一實施例中,如果有若干設備2501、2502和2503在場,則每個設備可掃描該房間中的不同區(qū)域以用更迅速的方式來掃描房間。
[0249]圖25B解說用于云存儲以及檢索用來在頭戴式顯示器上生成虛擬對象的數(shù)據(jù)的實施例方法2506。方法2506可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法2506的操作的處理器的計算設備中實現(xiàn)。生成虛擬對象可能要求對房間中的各表面進行密集的掃描以確定各物體的距離、各物體的形狀、以及各物體的取向以便將虛擬圖像錨定到該房間中的一個或多個表面。一些頭戴式設備可將它們的位置下載到云并立即接收到準確數(shù)據(jù)以協(xié)助在一表面上渲染虛擬對象,以避免在本地處理該數(shù)據(jù)并驗證掃描數(shù)據(jù)。在方法2506中,處理器可在框2508中通過用頭戴式或身佩式相機捕捉用戶的圖像來著手進行操作。在框2510中,處理器可提供程序指令以用傳感器陣列掃描一房間的區(qū)域來捕捉空間數(shù)據(jù)。這可通過用紅外光發(fā)射設備進行掃描并測量從各表面反射的紅外光的渡越時間來完成。
[0250]此數(shù)據(jù)還可被提供給處理器,該處理器可生成該房間的三維地圖。在框2512中處理器可識別所捕捉到的圖像中的各物體,并可確定所捕捉到的圖像中的各物體的距離參數(shù),并且還可確定圖像內(nèi)所包含的各表面的取向。在框2514中處理器可生成虛擬對象。在一實施例中,虛擬對象14可仿效發(fā)射內(nèi)容的協(xié)作式平面屏幕三維對象14。該虛擬對象14可被錨定到圖像中的表面16并且用戶可在房間中四處移動,但該虛擬對象顯示參數(shù)改變以使得該虛擬對象保持錨定到期望的錨表面。處理器可在框2516中計算包括距離和取向的參數(shù)以顯示虛擬對象并可在框2518中對計算出的參數(shù)作標簽并將計算出的參數(shù)上傳到云服務器。處理器可用位置標簽(其可為地理標簽)來對計算出的參數(shù)作標簽。在另一實施例中,該地理標簽可包括緯度坐標、經(jīng)度坐標、海拔坐標、方位坐標、距離坐標、以及準確性數(shù)據(jù)。地理坐標給所上傳的各種參數(shù)添加地理標識元數(shù)據(jù)。地理標簽可幫助用戶在已掃描區(qū)域的三維地圖中找到各種各樣的因位置而異的信息。
[0251]在確定框2520中,處理器可確定第二頭戴式設備是否已進入了要為其接收補充共享數(shù)據(jù)以便為特定位置更快地生成虛擬對象的位置。例如,第二頭戴式設備可在相同房間中,并且可向第一頭戴式設備發(fā)射信號,或可向云服務器發(fā)射信號,云服務器確定第二設備已進入了特定位置。處理圖像對于一些設備而言可能是繁重的。同樣,掃描房間也可能是耗時的。因此,第二頭戴式設備可對第一頭戴式設備已經(jīng)完成的工作加以利用,并接收與房間中的各物體及各表面有關(guān)的計算出的參數(shù)來為第二用戶更快地生成虛擬對象。
[0252]如果處理器確定其已進入了新房間(B卩,確定框2520=“是”),則在框2522,第二頭戴式設備可傳送其來自導航設備的位置數(shù)據(jù)并可從服務器下載作了標簽的計算出的參數(shù)。在框2524中,第二頭戴式設備的處理器可使用所訪問到的并且加了標簽的計算出的參數(shù)來生成虛擬對象。如果處理器確定其沒有改變位置(即,確定框2520=“否”),則處理器在有另一第三頭戴式設備已掃描過該區(qū)域并且生成了錨定的虛擬對象的情況下可執(zhí)行操作以驗證這些計算出的參數(shù)是正確的。在框2526中,第一頭戴式設備可傳送其來自導航設備的位置并可從服務器下載計算出的參數(shù)。在框2528中,處理器可用從服務器下載的計算出的參數(shù)來驗證計算出的參數(shù)。
[0253]在另一實施例中,三維地圖可以不是由包括各物體的距離和取向的計算出的參數(shù)來形成,而是代之以由特定區(qū)域來形成并被上傳到云服務器。標簽或位置數(shù)據(jù)可以用標題的形式嵌入在三維地圖消息中,并且該三維地圖可被傳送并存儲在云服務器中以供第二頭戴式設備訪問。例如,當?shù)诙^戴式設備進入一區(qū)域時,第二頭戴式設備可上傳其位置坐標,并可下載房間或預定區(qū)域的三維地圖。第二頭戴式設備可識別該圖像內(nèi)的各物體并可利用三維地圖來確定該圖像內(nèi)的各物體的距離參數(shù)。這可以用對在第二頭戴式計算設備處捕捉到的空間數(shù)據(jù)和圖像的最低限度的處理來進行。在另一實施例中,元數(shù)據(jù)可被存儲到云服務器。該元數(shù)據(jù)可包括所捕捉到的各物體的距離和取向,其可由不同的頭戴式設備來訪問。該元數(shù)據(jù)還可包括與房間中的各物體的位置有關(guān)的室內(nèi)位置數(shù)據(jù)、以及能被處理器用來確定該數(shù)據(jù)是否陳舊的指示。
[0254]圖26解說用于顯示疊加在檢測到的身體部位之上的虛擬對象的實施例方法2600,此檢測到的身體部位是通過對所跟蹤的圖像應用解剖模型并將解剖模型與所跟蹤的圖像作比較來在所跟蹤的圖像中檢測到的。方法2600可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法2600的操作的處理器的計算設備中實現(xiàn)。在方法2600的框2601中,處理器可通過從頭戴式設備接收數(shù)據(jù)來著手進行操作,該頭戴式設備包括提供關(guān)于該設備的取向的數(shù)據(jù)的傳感器(例如,加速計、陀螺儀、電子羅盤、等等)。在框2602中,處理器可接收圖像數(shù)據(jù)。在框2603中,處理器可計算距離和取向并在框2604中利用距離傳感器數(shù)據(jù)、相機數(shù)據(jù)、取向數(shù)據(jù)和距離數(shù)據(jù)來處理內(nèi)容以供顯示。在框2605中處理器可渲染帶有虛擬對象的該圖像。
[0255]在確定框2606處,可得出關(guān)于是否要在頭戴式顯示器的所顯示圖像內(nèi)所包含的檢測到的身體部位的表面之上疊加虛擬對象的決定。如果處理器決定要在檢測到的身體部位的表面之上疊加虛擬對象(即,確定框2606= “是”),則在框2607中處理器可在身體部位之上疊加虛擬對象。如果處理器決定不要在檢測到的身體部位的表面之上疊加虛擬對象(即,確定框2606=“否”),則處理器在框2608中將不把該對象疊加在該身體部位上,并且可允許該身體部位遮蔽該虛擬對象或可將該虛擬對象渲染在該顯示的一不同位置上。例如,該虛擬對象可根據(jù)處理器所接收的由用戶所作的輸入來被疊加。
[0256]圖27解說了其中可通過跟蹤圖像并對所跟蹤的圖像應用解剖模型來檢測該圖像中所包含的身體部位來將用戶的手遮蔽在虛擬對象之上的實施例方法2700。在方法2700的框2701中,處理器可通過從頭戴式設備接收數(shù)據(jù)來著手進行操作,該頭戴式設備包括提供關(guān)于取向的數(shù)據(jù)的傳感器。在框2702中,處理器可跟蹤圖像。在框2703中,處理器可對跟蹤到的圖像應用解剖模型。在框2704中,處理器可標識用戶的手,并在框2706中渲染圖像。例如,處理器可將在跟蹤到的圖像中自底向上出現(xiàn)的手指、手和手臂標識為用戶的手。而與此同時,可應用解剖或骨骼跟蹤算法來檢測第二身體部位。該第二身體部位也可包括手指、手和手臂。處理器可推斷在圖像中從頂部出現(xiàn)并且向下延伸的第二身體部位可能是另一個用戶的身體部位。另外,處理器可推斷基于在圖像中的大小和取向來看離用戶太遠(有預定距離)的手臂和手可能是確定為另一用戶的身體部位。
[0257]在確定框2706中,可得出關(guān)于是否要將用戶的手遮蔽在虛擬對象之上的決定。如果處理器決定要在虛擬對象之上渲染用戶的手(即,確定框2706=“是”),則在框2707中,處理器可以用使用戶的手選擇性地遮蔽在虛擬對象之上的方式來渲染虛擬對象。例如,該用戶的手可將虛擬對象從觀看者遮擋掉。在框2708中,可由處理器更新圖像。如果處理器決定不要在虛擬對象之上渲染用戶的手(即,確定框2706=“否”),則在框2709中,處理器將把虛擬對象顯示成疊加在用戶的身體部位之上,以使得該身體部位看起來是透明的。例如,用戶可將他的手拂過虛擬對象。然而,該虛擬對象可被顯示在身體部位之上并且疊加在手的表面之上,以使得該虛擬對象的內(nèi)容保持可見,盡管事實上用戶的手應遮擋住該虛擬對象。在框2709中,一旦檢測到命令并通過檢測到的姿勢或輸入命令來從用戶得到確認,則此輸入導致檢測到的命令的任務和行動被執(zhí)行,并且虛擬對象內(nèi)容可被更新。
[0258]圖28A解說其中第二個人的手可被渲染為透明或不在虛擬對象之上的實施例方法2800。方法2800可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法2800的操作的處理器的計算設備中實現(xiàn)。在方法2800中,在框2801中,處理器可通過從頭戴式設備接收數(shù)據(jù)來著手進行操作,該頭戴式設備包括提供關(guān)于取向的數(shù)據(jù)的傳感器。在框2802中,處理器可跟蹤捕捉到的圖像。在框2803中,處理器可對跟蹤到的圖像應用解剖模型。例如,解剖模型可以是骨骼跟蹤算法,其將跟蹤到的物體與骨骼模型作比較以確定是否有任何身體部位包含在該圖像內(nèi)。如果一物體沒有被處理器檢測為是身體部位,則處理器可忽略該物體。
[0259]在框2804中,處理器可標識用戶的手以及第二個人的手。處理器可在框2805中在圖像中所包含的錨表面上(例如,在桌面或在墻壁上)渲染圖像。在確定框2806中,處理器可確定是否要將虛擬對象疊加在身體部位上。如果處理器確定要將虛擬對象疊加在身體部位上(即,確定框2806=“是”),則在框2807中,處理器可將第二個人的手渲染為透明的或不在虛擬對象之上,或者當該身體部位遮擋該虛擬對象時,該虛擬對象可被顯示在該身體部位的頂表面之上以使得該身體部位顯現(xiàn)為透明的。在另一實施例中,在虛擬對象疊加在身體部位表面之上的情況下,身體部位的輪廓可仍保持可見。在框2808中,虛擬對象的所顯示圖像可由處理器更新以將內(nèi)容變化和身體部位移動考慮在內(nèi)。如果處理器決定不要將虛擬對象疊加在身體部位之上(即,確定框2806= “否”),則處理器將在框2809中顯示該虛擬對象并為用戶的移動對虛擬對象進行更新。
[0260]圖28B解說其中處理器可推斷哪些手是用戶的手以及哪些手是其他用戶的手并且處理器可在其他用戶的手遮蔽虛擬對象時將其他用戶的手渲染為透明的或不顯現(xiàn)的實施例方法2810。方法2810可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法2810的操作的處理器的計算設備中實現(xiàn)。在方法2810中,在框2811中,處理器可通過從頭戴式設備接收數(shù)據(jù)來著手進行操作,該數(shù)據(jù)包括捕捉到的圖像數(shù)據(jù)。在框2812中,處理器可用傳感器陣列來捕捉空間數(shù)據(jù)。在框2813中,處理器可識別圖像中的各物體并確定該圖像中各物體的距離參數(shù)。在框2814中,處理器可處理圖像以跟蹤物體,并且處理器可對所跟蹤的圖像應用經(jīng)由骨骼模型實現(xiàn)的解剖分析。在相機搭載在用戶身上時或在另一用戶在傳感器的視野中只是局部可見的場合,這可包括對局部解剖的標識。例如,解剖模型可以是骨骼跟蹤算法,其將跟蹤到的物體與骨骼模型作比較以確定是否有任何身體部位包含在該圖像內(nèi)。如果一物體沒有被處理器檢測為是身體部位,則處理器可忽略該物體。例如,處理器可對圖像應用解剖分析以確定是否有身體部位在該圖像內(nèi)。處理器可參考存儲器內(nèi)存儲著的解剖或骨骼模型,并將其與視頻圖像中跟蹤到的物體作比較。存儲著的骨骼模型可包括解剖數(shù)據(jù),例如人類骨骼中的關(guān)鍵關(guān)節(jié)、骨和肢的相對位置、以及其他數(shù)據(jù)。處理器可將圖像中所跟蹤到的物體與存儲著的骨骼模型作比較以確定是否有身體部位在圖像中。
[0261]例如,處理器可通過檢測在第一取向上的手臂以及從手延伸出的數(shù)個手指、或以從圖像的底部向上逐步展現(xiàn)的手臂、手腕和手指來檢測用戶的手臂。處理器可通過檢測在第二不同取向上的第二手臂以及從第二只手延伸出的第二數(shù)個手指、或以從圖像的頂部向下逐步展現(xiàn)的手臂、手腕和手指來檢測第二個人的手臂。在另一實施例中,處理器可通過審閱所跟蹤的圖像中的取向、物體大小、離用戶的距離,或通過對圖像內(nèi)的身體部位的數(shù)目進行計數(shù)來在用戶與另一人的身體部位之間加以區(qū)分。
[0262]在框2815中,處理器可渲染圖像,其中在該圖像中有錨定的虛擬對象。在確定框2816中,處理器可確定檢測到的身體部位是屬于用戶還是屬于另一個人。處理器可將虛擬對象疊加在另一個用戶的身體部位之上。在所顯示的圖像中,只有用戶的手遮蔽虛擬對象,而其他的手、手臂和身體部位將不會遮蔽該虛擬對象,而是將顯現(xiàn)為透明的。
[0263]用戶可看到虛擬對象是疊加在其他用戶的身體部位之上的,從而其他用戶的身體部位被渲染為透明的。處理器可確定圖像中與其他個人的身體部位有關(guān)的區(qū)域,并可僅在其他個人的身體部位遮蔽錨定的虛擬對象時才將虛擬對象顯示在該圖像之上。如果處理器確定檢測到的身體部位屬于用戶(即,確定框2816= “是”),則在框2818中,處理器可在框2817中在用戶的身體部位遮蔽該圖像時將用戶的身體部位渲染為實體的。如果處理器確定檢測到的身體部位屬于另一個人(即,確定框2816= “否”),則在框2819中當所檢測到的身體部位遮蔽虛擬對象時處理器將把虛擬對象或其部分顯示為疊加在該身體部位之上。
[0264]例如,處理器可確定圖像中定義為在其他個人的身體部位之上的區(qū)域(以像素計)的區(qū)域。處理器可在該區(qū)域之上形成疊加的虛擬對象而不將該虛擬對象渲染在身體部位的周界之上。當該身體部位位于錨定的虛擬對象之上時,第二個人的該身體部位的輪廓可仍被示出并渲染。因此,在錨定的虛擬對象之上,此輪廓可以是可見的,而其余部分則可被渲染為透明的。在框2819中,處理器可針對用戶移動來更新虛擬對象以將內(nèi)容變化和身體部位移動考慮在內(nèi)。例如,處理器可在一表面上將錨定的虛擬對象顯示為矩形的虛擬顯示。如以上所描述,處理器可分析捕捉到的圖像以檢測用戶姿勢??捎傻诙€人和該用戶與錨定的虛擬對象發(fā)生仿佛虛擬的現(xiàn)實交互。在另一實施例中,處理器可能檢測到第三個人的身體部位。處理器可在該第三個人的身體部位位于錨定的虛擬對象之上時在該第三個人的該身體部位之上顯示疊加的虛擬對象。在第三個人的身體部位被確定為位于離開錨定的虛擬對象之處且并不遮蔽虛擬對象時,處理器也可不在第三個人的身體部位之上顯示疊加的虛擬對象,并允許該身體部位被顯示。[0265]圖29解說其中可從服務器向多個設備傳送數(shù)據(jù)以提供服務并減輕頭戴式設備處的處理的實施例方法2900。方法2900可實現(xiàn)在像是以上參考圖25A所描述的那樣的系統(tǒng)內(nèi),該系統(tǒng)可包括用處理器可執(zhí)行指令配置成執(zhí)行方法2900的操作的服務器以及一個或多個頭戴式設備。在方法2900中,服務器2504可在框2901中從頭戴式設備接收圖像和位置數(shù)據(jù),該頭戴式設備包括提供關(guān)于譜數(shù)據(jù)和圖像的數(shù)據(jù)的傳感器。在框2902中,處理器可將數(shù)據(jù)上傳到服務器,其中該數(shù)據(jù)帶有與該數(shù)據(jù)被掃描時的位置有關(guān)的位置信息。服務器可將掃描數(shù)據(jù)輸出至數(shù)個不同的頭戴式設備。在框2903中,處理器可將數(shù)據(jù)輸出至第二頭戴式顯示器以作為參考。
[0266]在框2904中,處理器可將數(shù)據(jù)輸出至第三頭戴式設備以補充第三頭戴式設備掃描的數(shù)據(jù)并驗證所捕捉到的掃描數(shù)據(jù)。在框2905中,服務器可將數(shù)據(jù)輸出至第四頭戴式設備以增強該設備上存在的數(shù)據(jù),并且在框2906中,服務器可上傳數(shù)據(jù)以節(jié)約電池電量及處理?;就瑫r地,上述每個頭戴式設備可進行它們自己對該區(qū)域的掃描以確定關(guān)于該區(qū)域中的各物體的信息。例如,頭戴式設備可掃描該區(qū)域以確定圖像中的各物體的形狀和維度,并且可掃描該區(qū)域以確定圖像中各物體的取向以及圖像中各表面的相對位置,這可以有助于錨定虛擬對象以便實現(xiàn)身臨其境的虛擬或擴增現(xiàn)實體驗。在確定框2907中,處理器可確定是否要從各設備向服務器上傳經(jīng)更新的掃描位置數(shù)據(jù)以供存儲在該服務器上。如果處理器確定要將掃描位置數(shù)據(jù)上傳到服務器(即,確定框2907=“是”),則處理器可上傳經(jīng)更新的數(shù)據(jù),并且將各頭戴式設備掃描的數(shù)據(jù)與存儲在服務器上的數(shù)據(jù)融合并組合。如果處理器決定不要將掃描位置數(shù)據(jù)上傳到服務器(即,確定框2907= “否”),則處理器可在框2908中顯示該虛擬對象并針對用戶移動對虛擬對象進行更新。
[0267]在另一替換性實施例中,圖29的處理器可起到“魔術(shù)鏡頭”的作用。以此方式,顯示在房間中的物理表面上的虛擬對象可在常規(guī)智能電話或計算設備上被觀看。此類智能電話可向服務器輸出數(shù)據(jù)并可進一步鏈接到服務器。沒有頭戴式設備而是使用移動通信設備的用戶可使用該移動通信設備或智能電話來與佩戴頭戴式設備的用戶進行協(xié)作。例如,用戶可通過看智能電話顯示器來觀看錨定在物理表面上的虛擬對象的輸出,并可經(jīng)由無線音頻鏈路來與利用頭戴式顯示器的用戶通信。
[0268]智能電話可經(jīng)由無線RF鏈路(諸如蜂窩數(shù)據(jù)鏈路(例如,3G、4G、LTE、UTMS等))被可操作地連接到服務器。智能電話可在該智能電話的顯示器上輸出圖像。該圖像可完全對應于另一用戶的頭戴式顯示器輸出。觀看智能電話上的顯示的用戶可觀看到在各物理表面上示出的擴增和虛擬對象。在智能電話的顯示器上,此顯示可以兩維或三維來發(fā)生。該智能電話還可以能操作用于與使用移動通信設備和無線接口從服務器接收信號的頭戴式設備10進行協(xié)作。替換地,智能電話可使用短程通信協(xié)議來直接從頭戴式設備10接收RF數(shù)據(jù)信號。以此方式,用戶可拿起智能電話并觀看頭戴式顯示器的用戶的虛擬或擴增現(xiàn)實體驗以進行協(xié)作。在此實施例中,智能電話可操縱圖像以通過使用與本文中所描述的類似的方法來針對該智能電話自身相對于近旁表面的位置和取向來進行校正。
[0269]圖30解說其中用戶可使用兩個頭戴式設備來進行協(xié)作的實施例方法3000。這兩個頭戴式設備可正在運行來自兩個不同的軟件供應商的不同的不兼容的軟件應用。一般而言,使用第一文字處理器的第一用戶不能以協(xié)作式方式與同時使用第二不同的不兼容文字處理器的另一用戶一起工作。在方法3000中,處理器可調(diào)和并轉(zhuǎn)譯數(shù)據(jù)以使得使用第一軟件應用的第一用戶與使用第二軟件應用的第二用戶能彼此協(xié)作并輸入實時可見的數(shù)據(jù)。
[0270]方法3000不限于頭戴式設備,而是可實現(xiàn)在其他類型的計算設備中。在方法3000中,處理器可通過在框3001中打開第一應用并在框3002中打開第二應用來著手進行操作。在確定框3003中,處理器可決定是否要與其他設備協(xié)作。如果處理器決定要與其他設備協(xié)作(即,確定框3003= “是”),則在框3004中,處理器可協(xié)作并提供這些設備之間的雙向通信。如果處理器決定不要與其他設備協(xié)作(即,確定框3003= “否”),則處理器將在框3010中顯示虛擬對象并針對用戶移動對虛擬對象進行更新。
[0271]在框3005中,處理器將渲染虛擬屏幕作為虛擬對象。該虛擬屏幕可提供軟件應用的顯示輸出。該虛擬屏幕針對由至少兩個不同用戶輸入的改變而進行更新。在框3006中,處理器將應用針對兩個不同的軟件應用的沖突解決程序。該沖突解決可提供這兩個不兼容的軟件程序的輸入和輸出向普適格式的轉(zhuǎn)譯,該普適格式可被加載到第三普適軟件程序,該第三普適軟件程序以該普適格式來調(diào)和改變,并將經(jīng)調(diào)和的數(shù)據(jù)轉(zhuǎn)譯回到第一和第二不兼容格式。第三軟件程序可提供普適格式回到第一和第二軟件程序的轉(zhuǎn)譯以便渲染這些改變,并且這些改變可由各用戶在原始的本機程序中觀看。
[0272]例如,可從第一軟件程序收集與第一用戶的輸入有關(guān)的數(shù)據(jù),并將其傳達給普適格式,并傳達給第三軟件程序。接著,可從第二軟件程序收集與第二用戶的輸入有關(guān)的數(shù)據(jù),并將其傳達給普適格式,并傳達給第三軟件程序。
[0273]第三軟件程序可調(diào)和這些改變并可將這些改變存儲在存儲器中?,F(xiàn)在,每個用戶將想要實時觀看彼此對文檔所作的改變。第三軟件程序可將這些改變轉(zhuǎn)譯成第一和第二軟件程序各自所理解的格式。第三軟件程序可將經(jīng)轉(zhuǎn)譯的改變輸出回到第一和第二軟件程序以使得每個用戶均可以按其本機程序的格式化來觀看到整體的改變。在框3007中,處理器還可標識這些改變的作者。在框3008中,處理器將更新文檔地圖并在框3009中將渲染文檔圖像作為虛擬對象,并且在框3005中處理器可更新虛擬屏幕。
[0274]圖31示出三個不同用戶操作示為參考標號3100、3101和3102的計算設備的高級框圖。每個人可正在使用一不同的軟件應用。來自每個軟件程序的數(shù)據(jù)可被存儲在服務器3103上。例如,各第一本地改變可在相關(guān)的軟件程序中作出,正如常規(guī)所知的那樣。還可作出各第二遠程改變并將其寫到共享存儲介質(zhì)3106。例如,各第二遠程數(shù)據(jù)改變可被傳達給庫3104。庫3104可將來自每個應用的源于各遠程改變的輸入數(shù)據(jù)和輸出數(shù)據(jù)轉(zhuǎn)換成能由普適軟件程序來輸入和讀取的普適格式。該普適格式可存儲在庫3104上,并且可被寫到存儲介質(zhì)3106上的共享文檔格式。
[0275]存儲在存儲介質(zhì)3106上的共享文檔格式可將各改變聚集到單個普適程序中。該單個普適程序還可將由每個用戶渲染的改變以可因相關(guān)軟件應用而異且為其所理解的格式轉(zhuǎn)譯并在單個數(shù)據(jù)流中輸出回到每個軟件應用,以使得每個用戶3100、3101和3102能觀看由其他用戶作出的改變。
[0276]例如,共享文檔格式3106可包括沖突解決功能性,其可提供各軟件程序的輸入和輸出向普適格式的轉(zhuǎn)譯,該普適格式可被加載到第三獨立軟件程序3106。在那里,來自所有用戶的改變被輸入并存儲。數(shù)個不同軟件文字處理程序的轉(zhuǎn)譯可被存儲在服務器3103上。處理器可提供具有所有改變的普適格式回到第一、第二和第三軟件程序3100、3101和3102的轉(zhuǎn)譯以便在其中渲染和圖解這些改變。[0277]圖32解說其中用戶可使用兩個計算機系統(tǒng)來進行協(xié)作的實施例方法3200。這些用戶可利用來自兩個不同的軟件供應商的不同的不兼容軟件程序來彼此協(xié)作。方法3200可調(diào)和數(shù)據(jù)的輸入和輸出,由此任何以及所有改變均能由利用多個不同的不兼容計算機軟件應用的用戶來觀看。
[0278]在方法3200中,處理器可通過在框3201中打開第一應用并在框3202中打開第二應用來著手進行操作。在確定框3203中,可得出關(guān)于是否要從各設備向服務器進行協(xié)作的決定。如果處理器決定要與服務器協(xié)作(即,確定框3203=“是”),則處理器輸出用于進行協(xié)作的程序指令并提供這些設備之間的雙向通信(框3204)。例如,在每個不兼容軟件應用上的改變可在本地被渲染并且還被傳送到遠程位置,在那里這些改變可被聚集并輸入到第三軟件程序中。如果處理器決定不要與服務器協(xié)作(即,確定框3203=“否”),則處理器將不在各設備之間建立雙向通信,并且在框3210中渲染屏幕并更新以非協(xié)作式方式作出的改變。
[0279]在框3205中,處理器將渲染屏幕并針對改變更新該屏幕。例如,在每個軟件應用上的改變可被傳送到該遠程位置,在那里這些改變被聚集并輸入到第三兼容軟件程序中。在框3206中,處理器將應用針對兩個不同的軟件應用的沖突解決程序。這些改變隨后被轉(zhuǎn)譯成本機格式,并且隨后以本機格式被傳送給每個用戶以用于在各自的應用上顯示。在框3207中,處理器將標識這些改變的作者。在框3208中,處理器將更新文檔圖像并渲染文檔圖像。在框3209中,處理器將更新文檔圖像。
[0280]圖33解說其中可使用檢測到的姿勢來處理和確認音頻命令的實施例方法3300。方法3300可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法3300的操作的處理器的計算設備中實現(xiàn)。在方法3300中,處理器可在框3301中通過從傳感器接收掃描數(shù)據(jù)來著手進行操作,這些傳感器提供關(guān)于頭戴式設備的取向的數(shù)據(jù)。在框3302中,處理器可從相機接收關(guān)于圖像的圖像數(shù)據(jù)。在框3303中,處理器可計算圖像內(nèi)的各物體的距離和取向。在框3304中,處理器可使用來自各傳感器的數(shù)據(jù)、相機數(shù)據(jù)和距離數(shù)據(jù)來處理該圖像,并且在框3305中,處理器可渲染帶有虛擬對象的該圖像。另外,在框3305中,處理器可跟蹤用戶的運動以確定是否有要被執(zhí)行的姿勢輸入命令。在框3306中,處理器可接收音頻信號。
[0281]在確定框3307中,處理器可確定是否識別出由用戶說出的音頻命令。例如,用戶可能想要將虛擬對象的大小放大到渲染在顯示器上的更大的虛擬對象,并可說出單詞“放大虛擬對象”。例如,用戶可替換地希望將虛擬對象的形狀從矩形改變?yōu)橐徊煌螤?,并可說出單詞“將虛擬對象改變?yōu)闄E圓形”。其他類似命令也是可預見的并且是可行的,且落在本公開的范圍之內(nèi)。如果處理器識別出由用戶說出的音頻命令(即,確定框3307=“是”),則在框3308中,處理器可跟蹤視頻數(shù)據(jù)達預定時期以尋找姿勢??衫米藙菝顏泶_認第一音頻命令。例如,用戶可正在說話并且可能只是在向第二用戶所說的句子中不經(jīng)意地提及了 “放大”和“虛擬對象”,這可能被話筒接收到并傳達給處理器。此后,不是盲目地執(zhí)行該命令,而是可等待檢測到的姿勢形式的確認。例如,用戶可指向一方向或者用戶可用拇指和食指作圈并且其余手指向外伸出來給出“0K”手勢。此第二命令將確認該第一命令。在確定框3309中,處理器可確定是否識別出確認音頻命令的姿勢。如果處理器識別出一姿勢是確認該音頻命令的(即,確認框3309= “是”),則處理器可在框3310中執(zhí)行該任務。
[0282]如果處理器沒有識別出由用戶說出的音頻命令(B卩,確定框3307= “否”),則處理器可繼續(xù)接收音頻。如果處理器沒有識別出有一姿勢是確認音頻命令的(即,確定框3309= “否”),則處理器可繼續(xù)接收和分析音頻數(shù)據(jù)。例如,如果用戶可能正在說話并且可能只是在向第二用戶說出的句子里不經(jīng)意地提到了“放大”和“虛擬對象”。然而,如果沒有檢測到有檢測到的姿勢(指點、OK手勢、向外伸出的手)形式的確認,則處理器將不會執(zhí)行第一命令并且可只是簡單地繼續(xù)監(jiān)視音頻以尋找更多的新命令。許多姿勢可提供確認并且不限于本文中所公開的任何內(nèi)容。而且,可由處理器接受并處理口頭命令(例如,經(jīng)由語音識另Ij)和通過用戶按鈕按壓(例如,在鍵盤上)輸入的命令。例如,可接受口頭命令以確認或表達與姿勢命令相同的信息,藉此使頭戴式設備和系統(tǒng)能更準確地解讀用戶的意圖。
[0283]圖34解說其中姿勢命令可被處理并使用檢測到的音頻命令來確認的實施例方法3400,這可以是與以上所公開的不同的操作次序。方法3400可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法3400的操作的處理器的計算設備中實現(xiàn)。在方法3400中,在框3401中,處理器可通過從頭戴式設備接收數(shù)據(jù)來著手進行操作,該頭戴式設備包括提供關(guān)于取向的數(shù)據(jù)的傳感器。在框3402中,處理器可從相機接收關(guān)于圖像的數(shù)據(jù)。
[0284]在框3403中,處理器可計算圖像內(nèi)的各物體的距離和取向。在框3404中,處理器可使用來自取向傳感器的數(shù)據(jù)、相機數(shù)據(jù)、以及距離數(shù)據(jù)來處理圖像。在框3405中,處理器可渲染帶有虛擬對象的該圖像并且在框3406中處理器可控制相機以跟蹤用戶的運動。
[0285]在確定框3407中,可得出關(guān)于是否識別出姿勢命令的決定,例如通過識別包括以下一個或多個選定姿勢:指點、拍手、打響指、通過將拇指與手指連起來作出“0K手勢”。這可使用可應用于所跟蹤的視頻數(shù)據(jù)的解剖模型來執(zhí)行。如果檢測到姿勢(即,確定框3407= “是”),則處理器可在框3408中跟蹤音頻數(shù)據(jù)一時段以尋找命令來確認所檢測到的姿勢命令。
[0286]在確定框3409中,可得出關(guān)于是否識別出音頻命令作為對姿勢命令的確認的決定。如果接收到確認(即,確定框3409= “是”),則處理器可在框3410中執(zhí)行該任務。
[0287]如果沒有識別出姿勢(B卩,確定框3407= “否”)(這可在姿勢是不經(jīng)意被檢測到時發(fā)生),則處理器可繼續(xù)跟蹤捕捉到的視頻圖像以尋找新的姿勢命令。而且,如果沒有識別出音頻確認(即,確認框3409= “否”),則處理器可繼續(xù)接收視頻并跟蹤該視頻,并忽略該姿勢命令,因為沒有檢測到確認。而且,如以上所提及的,口頭命令和由用戶按鈕按壓輸入的命令可單獨地或與姿勢命令協(xié)同地被處理器接受并處理,以使得頭戴式設備和系統(tǒng)能更準確地解讀用戶的意圖。
[0288]圖35解說其中可處理和識別姿勢命令的實施例方法3500。響應于姿勢命令,處理器可在虛擬對象上渲染“虛擬輸入設備”,以使得用戶可利用該虛擬輸入設備來操縱該虛擬對象。該虛擬輸入設備可以是所生成的可通過跟蹤用戶的運動來控制的虛擬對象。例如,該虛擬對象可以是虛擬指針、或圖標或任何其他被用戶選擇的可控虛擬對象。
[0289]方法3500可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法3500的操作的處理器的計算設備中實現(xiàn)。例如,該輸入設備可以是虛擬現(xiàn)實指針對象。該指針可在從姿勢/跟蹤相機和連接到錨表面的虛擬對象測量到的視線上自動生成。在方法3500中,在框3501中,處理器可通過從頭戴式設備接收數(shù)據(jù)來著手進行操作,該頭戴式設備包括提供關(guān)于取向的數(shù)據(jù)的傳感器。在框3502中,處理器可從相機接收關(guān)于立體圖像的捕捉到的圖像數(shù)據(jù)。
[0290]在框3503中,處理器可計算圖像內(nèi)的各物體的距離和取向。在框3504中,處理器可使用來自取向傳感器的數(shù)據(jù)、相機數(shù)據(jù)、以及距離數(shù)據(jù)來處理圖像。在框3505中,處理器可渲染帶有虛擬對象的該圖像并且在框3506中處理器可控制相機以跟蹤用戶的運動。
[0291]在確定框3507中,處理器可確定是否識別出姿勢命令,諸如通過對所跟蹤的圖像應用解剖識別算法。處理器可在該圖像內(nèi)識別出一個或多個選定姿勢,包括指點、拍手、打響指、通過將拇指與手指連起來作出“0K手勢”等。如果處理器識別出姿勢(即,確定框3507= “是”),則在框3508中處理器可得到要執(zhí)行虛擬指針任務的指示。
[0292]該指針可以是“輸入設備相關(guān)虛擬對象”(鼠標圖標、激光筆虛擬對象、箭頭輸入設備),其以三維顯示在顯示器上并且擺放在虛擬對象上且可允許用戶將文本設為高亮、選擇、作出輸入命令并向頭戴式設備的處理器提供輸入。在確定框3508,可得出關(guān)于是否要執(zhí)行指針任務的決定。如果處理器決定要執(zhí)行指針任務(即,確定框3508#是”),則在框3509中處理器可執(zhí)行該任務并且可從多個不同的虛擬輸入設備中選擇指針類型。在框3510上,可計算從頭戴式或身佩式相機到用戶的手指以及到虛擬對象的矢量。該矢量可被用來在框3511中在虛擬對象上渲染指針。在框3512中,虛擬對象和虛擬輸入設備的顯示可被更新。
[0293]如果處理器沒有識別出姿勢(B卩,確定框3507=“否”),則處理器可繼續(xù)處理視頻圖像以識別預定姿勢。而且,如果處理器決定不要執(zhí)行指針任務(即,確定框3508= “否”),則處理器可繼續(xù)跟蹤視頻并忽略姿勢命令,因為沒有任務將被執(zhí)行。
[0294]圖36解說其中可識別和處理姿勢命令并且可在虛擬對象上渲染三維虛擬現(xiàn)實類型的輸入設備以提供輸入命令的實施例方法3600。另外,處理器可識別個人的特征,在這些特征/身體部位遮蔽虛擬對象時這些特征可被渲染為透明的。方法3600可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法3600的操作的處理器的計算設備中實現(xiàn)。例如,輸入設備可以是虛擬現(xiàn)實指針對象,其僅顯示在頭戴式顯示器上。該對象可被顯示在顯示器上,并且可在視線上或在可從姿勢/跟蹤相機至連接在錨表面上的虛擬對象來測量的矢量上生成。例如,可形成從相機/或用戶的手指到顯示器上的虛擬對象的矢量。該虛擬指針對象可被擺放并顯示為連接到該矢量。用戶可藉由一個或多個檢測到的姿勢、音頻命令、藉由輸入設備、或藉由另一輸入命令來控制虛擬指針對象。在方法3600中,在框3601中處理器可通過從相機接收關(guān)于立體圖像的數(shù)據(jù)來著手進行操作。
[0295]在框3602中,處理器可計算圖像內(nèi)的各物體的距離和取向。在框3603中,處理器可使用來自取向傳感器的數(shù)據(jù)、相機數(shù)據(jù)、以及距離數(shù)據(jù)來處理該圖像。在框3604中,處理器可渲染帶有虛擬對象的該圖像。在框3605中,處理器可提供控制相機的指令以通過對所跟蹤到的圖像應用解剖算法以檢測身體部位來跟蹤用戶的運動,并可在預定的時間區(qū)間上跟蹤該身體部位。
[0296]在確定框3606處,處理器可決定是否識別出姿勢命令,這可發(fā)生在當在姿勢字典中的一個或多個姿勢與跟蹤到的圖像內(nèi)的形狀和運動之間有匹配之時,處理器可將檢測到的姿勢與輸入命令相關(guān)以執(zhí)行軟件應用、或采取某個預定義的行動。如果處理器識別出姿勢命令(即,確定框3606= “是”),則在框3607中處理器可執(zhí)行指針任務。
[0297]該指針可以是顯示在頭戴式顯示器上的虛擬輸入設備(鼠標圖標、激光筆虛擬對象)??蓪⒃撎摂M輸入設備與虛擬對象相關(guān)聯(lián),這可允許用戶將文本設為高亮,選擇超鏈接,編制輸入命令,以及形成相對于虛擬對象的輸入。例如,虛擬輸入設備可以是顯示在頭戴式顯示器上的三維虛擬現(xiàn)實箭頭。在此類實施例中,該箭頭可在該顯示器上響應于用戶姿勢在自由空間中可移動。例如,響應于用于將手移向左邊,該系統(tǒng)可在頭戴式顯示器上渲染該箭頭移向左邊的圖像。作為另一示例,用戶可輸入命令并且該箭頭可解說該命令得到執(zhí)行。例如,用戶可在該箭頭毗鄰于虛擬對象上的文本時說出單詞“選擇”,并且該箭頭可指示該文本被選中。
[0298]在確定框3607中,處理器可決定是否要執(zhí)行指針任務以及是否要從數(shù)個預定義的替換物(例如,箭頭、指針設備、或各種虛擬圖標)中選擇虛擬輸入設備對象。若是如此(即,確定框3607= “是”),則在框3608中處理器可執(zhí)行該任務并且可從存儲在存儲器中的一批不同指針類型中選擇虛擬輸入設備。在框3609中,可計算從相機到用戶的手以及到虛擬對象的矢量。該虛擬輸入設備可被渲染并直接擺放在演算出的矢量上,并且可以通過跟蹤用戶的手的運動而在顯示器上可移動,以提供虛擬或擴增現(xiàn)實體驗。在框3610中,可使用該虛擬現(xiàn)實輸入設備/指針來移動、選擇、放大或高亮顯示該顯示器上的虛擬對象的一部分。
[0299]在框3611中,任選地,用戶的特征可能與虛擬對象發(fā)生接觸并且可能遮蔽了虛擬對象。例如,用戶的手可能掠過虛擬對象之上并且可能從用戶的視點來看遮蔽或遮擋了虛擬對象被觀看,這可能是不可取的。處理器可將虛擬對象疊加在用戶的身體部位上,以使得該虛擬對象可保持對用戶可見,即使該用戶的身體部位應當正遮擋著顯示器上的該虛擬對象。以此方式,身體部位可被渲染為仿佛透明的,而僅是該身體部位的輪廓被示出。在框3612中,矢量可被用來在虛擬對象上渲染指針。在框3613中,該虛擬輸入設備可被更新。在框3614中,該虛擬輸入設備可隨該虛擬對象一起被顯示。
[0300]如果沒有識別出姿勢命令(B卩,確認框3606= “否”),處理器可繼續(xù)跟蹤視頻以確定處理器是否識別出姿勢。而且,如果處理器決定不要執(zhí)行或使用指針(即,確定框3607= “否”),則處理器可繼續(xù)跟蹤視頻并將不生成和顯示虛擬輸入設備。
[0301]圖37解說包括在頭戴式顯示器3704上可見的虛擬對象現(xiàn)實輸入設備或虛擬指針3706的系統(tǒng)3700的高級解說、以及虛擬對象14的高級圖示。頭戴式顯示器3704可包括處理器以及含天線(未示出)的無線通信設備。如以上參考圖5A所討論的,頭戴式設備3704可包括核心處理器,其可包括用于執(zhí)行應用的協(xié)處理器,有時稱為應用處理器。
[0302]頭戴式設備3704還可包括與重要設備能力相關(guān)聯(lián)的多個對等處理器,這些能力包括通信(例如,無線調(diào)制解調(diào)器處理器)、導航(例如,GPS接收機處理器)、以及圖形(例如,圖形處理器單元(GPU))。頭戴式設備3704還可包括蜂窩收發(fā)機或調(diào)制解調(diào)器(未示出),其在許多情形中包括主要任務是管理無線通信的一個或多個處理器。頭戴式設備3704還可包括用于在其他類型的無線通信網(wǎng)絡上通信的其他無線收發(fā)機,諸如可以是單獨的收發(fā)機芯片的W1-Fi調(diào)制解調(diào)器(未示出),在此情形中其還可包括單獨的可編程處理器。具有嵌入式可編程處理器的其他無線收發(fā)機(未示出)可被包括以連接到其他類型的無線通信鏈路,諸如近場通信(NFC)鏈路、藍牙?鏈路、以及基于其他無線協(xié)議的鏈路。
[0303]除了通信處理器以外,頭戴式設備3704還可包括GPS接收機(未示出),其可具有專用處理器。而且,圖形處理器可被包括以提供高分辨率圖形。頭戴式設備3704還可包括與有線通信相關(guān)聯(lián)的處理器,諸如USB端口。如以上參考圖5A所描述的,頭戴式顯示器3701可包括RGB-D相機系統(tǒng),其本身可將RGB相機3704a與紅外相機3704b以及結(jié)構(gòu)化紅外光紅外發(fā)射器3704c相組合。
[0304]處理器測量可從頭戴式或身佩式相機3701至用戶的手指3705以及從手指3705至虛擬對象14捕捉的矢量。使用該矢量,輸入設備虛擬對象3706可被生成并可被擺放在該矢量上。該虛擬輸入設備3706可被生成,且該虛擬輸入設備3706的取向可被計算。該虛擬輸入設備3706可被生成為連接到錨表面3703,該錨表面可以是虛擬對象14所連接之處。在此實施例中,虛擬對象14可被渲染以顯示為非常大的大小,例如,如顯示在頭戴式顯示器上的建筑物的大小。使用虛擬輸入設備3706的用戶可選擇虛擬對象或隨其虛擬對象14顯示的內(nèi)容的文本或部分。
[0305]圖38解說第一和第二頭戴式設備系統(tǒng)3800和3800a的高級圖示,其解說第二頭戴式設備如何可提供可供第一頭戴式設備實現(xiàn)的定點坐標和姿勢控制。主頭戴式設備系統(tǒng)3800可包括第一頭戴式或身佩式相機陣列3801以及能以基于對等的布局來操作的第一處理器3804。第一處理器3804可以能作為宿主處理器來操作并且第二處理器3805可作為副系統(tǒng)來操作。第二頭戴式設備系統(tǒng)3800a可充當從主系統(tǒng)3800接收所生成的圖像以供顯示的系統(tǒng)。第二頭戴式設備系統(tǒng)3800a可包括頭戴式或身佩式相機陣列3802和第二處理器3805。還可設有顯示器系統(tǒng)3803供用戶觀看三維圖像。頭戴式或身佩式相機陣列3801可將圖像和距離數(shù)據(jù)提供給第一處理器3804,第一處理器生成圖像數(shù)據(jù)并將其提供給顯示器系統(tǒng)3803。主處理器3804可將該圖像提供給第二處理器3805,并且第二頭戴式設備可向主處理器3804提供點坐標和姿勢控制。圖像和距離數(shù)據(jù)被提供給處理器3804和3805,藉此主處理器生成虛擬對象并在顯示器系統(tǒng)3803上顯示該圖像,并且還將該圖像傳達給第二處理器3805以供顯示。第二處理器3805可檢測用戶姿勢作為用戶輸入,諸如指向用作錨表面的位置,或移動對象及控制命令,并將這些點和姿勢控制提供給第一處理器,在那里這些輸入可得到處理。
[0306]圖39解說在云配置中操作的系統(tǒng)3900,其中點和姿勢控制和圖像數(shù)據(jù)信息可被存儲在云服務器3906上并由其(例如,在多播中)中繼到其他各方。此系統(tǒng)使得能夠?qū)⑻摂M對象和顯示數(shù)據(jù)無線地傳達給正在進行協(xié)作的頭戴式顯示器系統(tǒng)3900a和3900b。系統(tǒng)3900還使得其他計算設備(包括其他頭戴式設備)能監(jiān)視在正在進行協(xié)作的頭戴式顯示器系統(tǒng)3900a和3900b之間發(fā)生的數(shù)據(jù)交換。以此方式,此協(xié)作可被更廣泛的觀眾所觀看。
[0307]系統(tǒng)3900可包括能在中央服務器3906上操作的中央處理器。第一頭戴式設備3900a可包括頭戴式或身佩式相機3902和第一處理器3903。第二頭戴式設備3900b可包括頭戴式或身佩式相機3904和第二處理器3905。還可設有顯示器系統(tǒng)3901??蓮姆掌?906向顯示器系統(tǒng)3901提供圖像。還可將圖像提供給第一處理器3903。第一處理器3903向服務器3906傳送數(shù)據(jù),包括姿勢、點坐標、距離數(shù)據(jù)、圖像數(shù)據(jù)、取向數(shù)據(jù)、以及感測到的參數(shù)。還可將圖像提供給第二處理器3905。第二處理器3905也可向服務器3906提供數(shù)據(jù),包括姿勢、點坐標、距離數(shù)據(jù)、圖像數(shù)據(jù)、取向數(shù)據(jù)、以及感測到的參數(shù)。能在中央服務器3906上操作的中央處理器可向頭戴式設備提供服務以減輕第一和第二處理器3903和3905上用于渲染虛擬指針對象和虛擬對象的計算處理。
[0308]例如,第一用戶系統(tǒng)3900a可用紅外光掃描一區(qū)域,并可測量反射的紅外光到閘選機構(gòu)的渡越時間??衫么朔绞絹泶_定預定區(qū)域中各物體的形狀,并且還可利用此方式來確定各物體的距離參數(shù)。第一用戶系統(tǒng)3900a可向服務器3906無線地傳達距離參數(shù)。云服務器3906可利用掃描數(shù)據(jù)來生成包括虛擬對象的圖像。可在圖像中生成虛擬對象并將其與預定區(qū)域的掃描數(shù)據(jù)一起無線地傳達給顯示器系統(tǒng)3901和第二頭戴式設備3900b。[0309]回到圖37,可由頭戴式設備跟蹤的姿勢的一示例是指示或選擇虛擬對象的指點姿勢。例如,用戶可用手指3705指向虛擬對象14,并且頭戴式顯示器的相機系統(tǒng)可確定從頭戴式或身佩式相機3708到用戶的手指3705以及從手指3705到虛擬對象14的矢量。使用此矢量,處理器可生成輸入設備虛擬對象。
[0310]例如,可以確定虛擬對象14的取向以用于在頭戴式顯示器上顯示。虛擬輸入設備對象14可被連接到錨表面3704并可連接到虛擬對象14以使得用戶可控制虛擬輸入設備對象14。在渲染在頭戴式顯示器上的圖像內(nèi),虛擬對象14可被錨定在錨表面3703上。在此實施例中,虛擬對象14可被渲染以供顯示,并且使用虛擬對象輸入設備,用戶可選擇虛擬對象14的文本或部分,這些文本或部分是用利用姿勢跟蹤相機3708所跟蹤的視頻以及捕捉到的姿勢來識別的。在此實施例中,虛擬輸入設備對象14可被顯示為在用戶周圍的、或用戶能圍繞其行走的可移動三維對象。虛擬對象14可在所顯示的圖像中被渲染為非常大的虛擬對象,諸如是建筑物的大小。用戶可利用虛擬輸入設備在所顯示的圖像中的非常大的虛擬對象14上指定空間中的位置。
[0311]圖40A - 40B解說另一實施例,其中圖1中示出的頭戴式顯示器設備10可用微微型投影儀4005來替換或補充,該微微型投影儀4005可被無線地連接到移動智能電話4010并可在一表面上生成投影圖像,其中可以利用用戶的姿勢來提供輸入命令。在此實施例中,用戶不佩戴任何頭戴式裝置,并且僅可在橫向或縱向表面上觀看投影圖像。可將手持式投影儀4005 (亦稱為口袋投影儀4005、移動投影儀或微微型投影儀)與手持式設備4010聯(lián)用以輸出如圖40A和40B中所示的虛擬對象14a。手持式投影儀4005可包括小型化的硬件和軟件,其能將數(shù)字圖像14a投影到任何近旁的觀看表面16上,諸如圖1中所示的墻壁16或是圖40B中所示的桌面16a。
[0312]微微型投影儀4005可包括電池4015、電子主板4005、二極管激光器、激光器或其他光源4030、組合器光學元件4035、以及掃描鏡4040。手持式投影儀4005中的組件的各種配置均是可能的并且在本公開的范圍之內(nèi)。處理器4020可被耦合到主板4020。處理器4020可控制激光器二極管4030以及投影儀在由處理器4020利用鏡和光學器件4040和4035來控制的地方輸出圖像。
[0313]轉(zhuǎn)到圖40A,微微型投影儀4005可包括投影儀元件4006、輸入傳感器4007、連接器4008、以及用于連接到移動設備4010或其他計算設備的無線接口 4009。輸入感測微微型投影儀可以用模塊化方式連接到相同類型的其他單元。該投影儀可為用戶之間的實時本地數(shù)字協(xié)作而創(chuàng)建渲染為虛擬對象14a和14b的多個位置知悉式共享投影顯示。微微型投影儀4005可捕捉第一用戶的圖像并對捕捉到的圖像應用解剖算法。處理器可檢測第一用戶并將第一虛擬對象14a投影在對第一用戶而言處于便利位置的桌面表面16上。使用對等或其他RF無線通信鏈路、或使用捕捉到的圖像數(shù)據(jù)的微微型投影儀4005可檢測到第二用戶已加入該協(xié)作。微微型投影儀4005可基于捕捉到的圖像數(shù)據(jù)來輸出為第二用戶正確取向的第二虛擬對象14b。
[0314]每個投影儀4005可經(jīng)由高速無線數(shù)據(jù)鏈路(例如,4G、W1-Fi或藍牙?)連接至移動計算設備4010 (或其他計算設備)和/或經(jīng)由對等通信協(xié)議來鏈接。每個投影儀4005還可經(jīng)由有線數(shù)據(jù)鏈路來鏈接到移動計算設備4010 (或其他計算設備)。移動計算設備4010可為微微型投影儀4005充當處理單元和數(shù)據(jù)存儲設備,并可生成投影圖像并將該圖像傳達給微微型投影儀4005。微微型投影儀4005可替換地物理連接到其他微微型投影儀,諸如經(jīng)由每個投影儀4005的外殼上策略地定位的連接器4008來連接。例如,兩個微微型投影儀4005可經(jīng)由各自的連接器4008來連接。當兩個微微型投影儀4005彼此連接時,這些連接器4008可為每個微微型投影儀4005提供參考數(shù)據(jù)點。微微型投影儀4005可在表面16a上顯示投影圖像,該表面16a可距參考數(shù)據(jù)點有預定距離。
[0315]每個投影儀4005的外殼上的連接4008既可提供物理支持又可包括用于各投影儀4005之間的高速數(shù)據(jù)鏈路的電路,以橋接每個投影儀的無線地連接的移動計算設備4010之間的通信。該連接器4008和電路可支持USB、Firewire?、或本領(lǐng)域中所知的任何其他高速連接器4008。
[0316]另外,這些連接可向軟件提供關(guān)于每個投影儀相對于經(jīng)由圖40A中所示的連接器4008連接的其他投影儀的物理取向的參考數(shù)據(jù)點。這些連接器4008可用來提供接口軟件和跨各投影儀4005轉(zhuǎn)移數(shù)字資產(chǎn)的能力。投影儀4005可輸出虛擬對象14a作為在表面上的投影。投影儀4005還可使用捕捉到的圖像數(shù)據(jù)來感測圖像中的各物體以用于跟蹤以及用于姿勢識別。投影圖像14a可以是虛擬觸摸屏14a并且還可包括虛擬對象上的虛擬輸入設備。與投影圖像相關(guān)聯(lián)的姿勢可被檢測,并且處理器可基于檢測到的姿勢來編制輸入命令。此姿勢識別功能性可提供用戶可能正在控制虛擬輸入設備的仿真表觀。
[0317]圖40B解說微微型投影儀4005渲染第一虛擬對象14a和第二虛擬對象14b。在一實施例中,單個微微型投影儀4005可為每個用戶投影至少兩個不同的圖像。在另一實施例中,可將微微型投影儀4005與第二微微型投影儀配對,此配對完成了這兩個投影儀之間的電子連接。這兩個不同的微微型投影儀4005可與移動計算設備4010或其他可用計算設備無線地連接,并且各自可輸出兩個不同的圖像,每個用戶一個圖像。鏈接到移動計算設備4010的投影儀4005可使用每個移動計算設備4010的處理器來渲染虛擬對象14a和14b。移動計算設備4010的處理器、以及圖像傳感器可檢測與每個用戶相關(guān)聯(lián)的參數(shù)來渲染虛擬對象14a和14b,并為每個用戶確定虛擬對象14a和14b的正確取向。
[0318]輸入傳感器4007可將圖像轉(zhuǎn)換成電子信號。該電子信號可驅(qū)動光源以沿不同光學路徑具有不同顏色和強度。在組合器光學器件4035中,這些不同的光路可被組合成展示數(shù)種顏色的一條路徑。各個鏡4040逐像素地反射圖像并投影圖像。手持式投影儀4005可投影清楚的圖像,而無論觀看表面16的物理特性如何。例如,虛擬對象14a的投影圖像可以是“虛擬對象輸入設備”,諸如對于文字處理應用而言是鍵盤??蓹z測對應于在虛擬對象14a - 14c上的輸入設備位置的用戶姿勢并將其識別為一個或多個輸入命令。
[0319]在所解說的實施例中,圖像可在圖40B中所示的表面16a上投影虛擬對象14a,并且用戶可將虛擬對象14a錨定在物理表面16a上。隨著用戶移動,基于傳感器4007的輸出,虛擬對象14a可在形狀、取向和大小上發(fā)生改變以保持錨定于物理表面16a。例如,用戶可被傳感器4007檢測為相對于投影儀4005正在向后或向前、或者向左或向右移動。輸入傳感器4007可傳達由用戶作出的位置改變,并且處理器4020可控制投影圖像變得更大或更小,或?qū)⑼队皥D像移到與用戶的新位置相關(guān)聯(lián)的舒適的觀看位置。例如,可將投影圖像從橫向表面移到縱向表面以跟隨用戶。
[0320]移動計算設備4010 (諸如智能電話)可被配置成支持投影儀4005的姿勢用戶界面功能性,該投影儀將計算機生成的圖像(諸如演示幻燈片、文本文檔或照片)投影到投影表面16上。耦合到移動計算設備4010的相機(圖像傳感器)4007 (圖40A)可被定位成使其視野涵蓋所顯示圖像的至少一部分。在另一實施例中,用戶還可使用激光筆來將激光斑點投放到所顯示的圖像上,該激光斑點可由相機4007檢測。
[0321]相機4007可獲得激光斑點以及至少一部分所顯示圖像的數(shù)字圖像,并將該相機圖像提供給移動計算設備4010的處理器4020,其中該激光斑點的位置在該圖像內(nèi)。移動計算設備4010處理器4020可被配置成具有軟件指令來分析由相機4007生成的圖像(在本文中稱為“收到相機圖像”)以識別正被投影到投影表面16上的顯示內(nèi)容的至少一部分,并確定激光斑點相對于該內(nèi)容的位置。由于激光筆以特定波長發(fā)射很亮的光束,因此激光斑點能基于強度和/或色彩元素容易地被處理器4020識別并與投影圖像區(qū)別開來。相機4007可被進一步配置成跟蹤激光斑點的移動并將該移動與預定義的激光姿勢相關(guān)。當激光姿勢被識別出來時,處理器4020可執(zhí)行對應的功能。
[0322]圖40C是投影儀基于一個或多個檢測到的用戶來輸出多個不同的投影圖像的高級圖示。圖40C解說使用移動通信設備處理器4010 (圖40A)從跟蹤到的已加入?yún)f(xié)作的更多用戶的圖像來檢測姿勢的投影儀4005。響應于檢測到新用戶,處理器可以用模塊化方式渲染正確地取向到第三用戶的第三虛擬對象14c。類似地,如果又一用戶加入并被檢測到,則處理器可以用模塊化方式渲染第四虛擬對象(未示出),其中至少兩個投影圖像可渲染相同內(nèi)容和圖像。進一步,第三或第四用戶可使用移動計算設備4010來改變投影圖像14a、14b和14c的顯示。例如,用戶可關(guān)閉第三對象14c并打開具有不同內(nèi)容的新對象。
[0323]使用投影儀4005,就可通過提供高度可遷移的大型輸入和顯示環(huán)境來增強移動用戶體驗??赏ㄟ^使用各移動設備4010來以自組織(ad hoc)方式為多個用戶建立數(shù)字協(xié)作式環(huán)境。各投影儀4005上的物理連接器4008可提供各投影儀之間的相對位置知悉。此位置數(shù)據(jù)可以高準確度來提供。這允許用戶能使用多個投影虛擬對象14a - 14c來容易地創(chuàng)建協(xié)作式數(shù)據(jù)演示及操縱。
[0324]圖40D解說用于基于檢測到的物體/姿勢來以便利方式為用戶投影圖像的實施例方法4045。方法4045可在具有用處理器可執(zhí)行指令配置成執(zhí)行方法4045的操作的處理器的計算設備中實現(xiàn)。在方法4045中,處理器可在框4046和4047中捕捉用戶的圖像并可用傳感器陣列捕捉空間數(shù)據(jù)。在框4048中,處理器可識別圖像中的各物體并確定距該圖像中各物體的距離。在框4049中,處理器可跟蹤該圖像中的各物體并可應用解剖分析來確定該圖像內(nèi)是否有身體部位。
[0325]例如,處理器可對捕捉到的圖像應用解剖分析來確定捕捉到的圖像是否包括頭和肩、軀干、和手臂等、或是將指示用戶或指示用戶正在看著的方向的任何其他身體部位。如果檢測到了身體部位,則處理器可確定所檢測到的身體部位隨時間推移是否符合存儲在存儲器中(例如,存儲在姿勢字典中)的姿勢,并可在識別出姿勢的情況下應用命令。在一實施例中,微微型投影儀可在特定位置投影圖像以使得用戶能便利地看到投影圖像并與投影圖像交互。例如,如果確定了頭和肩在圖像中,則微微型投影儀可將圖像投影在便利地靠近該用戶的墻壁上或桌面上。
[0326]在一進一步的實施例中,用戶可在單手或雙手或手腕上應用或佩戴上手套、戒指、手鐲、以及其他被著色成或具備能被距離傳感器和相機中的一者或其兩者識別的反射性特征的物品,以協(xié)助區(qū)別用戶的手和手指并識別運動姿勢。例如,用戶可佩戴在每個手指上顯現(xiàn)不同顏色的手套,并且頭戴式設備可被配置成基于場景圖像的像素內(nèi)每個手指顏色各自的紅-綠-藍強度值來識別每個手指顏色。
[0327]在框4050和4051中,處理器分別從第一和第二微微型投影儀接收第一和第二信號以在這些微微型投影儀與處理器之間進行鏈接和傳達數(shù)據(jù)。例如,微微型投影儀可與移動通信設備鏈接以使得與移動通信設備存儲器相關(guān)聯(lián)的存儲器的數(shù)據(jù)內(nèi)容可被訪問和顯示或共享。在確定框4052中,處理器決定是否要基于檢測到的身體部位來從微微型投影儀投影圖像。若是如此(即,確定框4052= “是”),則處理器可在框4053在對用戶而言便利的表面處利用投影圖像來顯示內(nèi)容。在框4054中,處理器可經(jīng)由微微型投影儀之間的無線數(shù)據(jù)鏈路在用戶之間共享數(shù)據(jù)。例如,圖像文件、文字處理文件、電子郵件或任何其他數(shù)據(jù)可作為投影圖像來被共享或顯示。如果處理器決定不要基于檢測到的身體部位來投影圖像(即,確定框4052=“否”),則處理器可在框4055和4056中顯示要投影圖像的提示并以便利的方式投影該圖像。例如,微微型投影儀可暫緩投影這些投影,直至接收到輸入并且用戶可手動地檢測投影圖像。投影圖像可包括虛擬對象,并且頭戴式設備可被配置成識別與投影的虛擬對象圖像交互或相關(guān)的用戶手勢作為用戶輸入。在此類實施例中,處理器可應用與識別出的手勢相對應的命令,該手勢是在利用投影的虛擬輸入設備時作出的。
[0328]例如,可顯示能夠用跟蹤到的用戶的手的運動來移動的虛擬鼠標或虛擬指針。另夕卜,使用檢測到的姿勢,處理器可將投影圖像正確地取向在縱向或橫向表面上。以此方式,可基于檢測到的身體部位將投影圖像投影成正面朝上。例如,可以用背對背配置將第一微微型投影儀連接到第二投影儀,并且這些投影儀可投影至少兩個不同的投影圖像,其中這些投影圖像相對于彼此分隔至少一百八十度。在又一實施例中,處理器可定義參考點并基于該參考點來確定第一和第二投影儀各自的取向。處理器可基于參考點以及第一和第二投影儀的取向來為各用戶對投影圖像進行取向。
[0329]在又一實施例中,處理器可檢測第三用戶并且基于檢測到的身體部位來至少投影第三投影圖像。而且,處理器可從與第三用戶相關(guān)聯(lián)的第三計算設備接收數(shù)據(jù)以用于協(xié)作。在另一實施例中,可設置第四微微型投影儀以及至少第四不同的投影圖像。
[0330]各種實施例可包括從耦合到計算設備的第一和第二微微型投影儀投影圖像的方法,這些方法通過如下動作實現(xiàn):捕捉在該第一和第二投影儀附近的場景的圖像,用傳感器陣列捕捉在該第一和第二投影儀附近的空間數(shù)據(jù),分析捕捉到的場景圖像以識別身體部位,以及從該第一和第二投影儀中的每一者以基于所識別出的身體部位決定的形狀和取向來投影圖像。在一實施例中,該第一和第二投影儀可以是微微型投影儀。在一進一步的實施例中,從該第一和第二投影儀中的每一者以基于所識別出的身體部位決定的形狀和取向來投影圖像可包括在這些投影儀附近的用戶前面的表面上投影圖像。
[0331 ] 在一進一步的實施例中,該方法可包括將所投影的圖像取向在對于在這些投影儀附近的用戶而言恰適的縱向或橫向表面上。在一進一步的實施例中,該方法可包括跟蹤所識別出的身體部位的運動,對所跟蹤到的運動應用檢測算法以檢測預定姿勢,應用與所檢測到的預定姿勢相對應的命令,以及響應于所應用的命令來修改所投影的圖像。在一進一步的實施例中,分析捕捉到的圖像以識別身體部位可包括向這些圖像應用解剖分析以確定在所捕捉到的圖像內(nèi)的物體是否匹配于解剖模型的一部分。
[0332]在一進一步的實施例中,所投影的圖像可以是虛擬輸入設備的圖像,并且應用與所檢測到的預定姿勢相對應的命令可包括應用與用戶輸入設備的命令相符的命令。在一進一步的實施例中,應用與所檢測到的預定姿勢相對應的命令可包括應用與移動虛擬對象相對應的命令,并且響應于所應用的命令來修改所投影的圖像可包括響應于檢測到該預定姿勢將該虛擬對象顯示為從第一位置移到第二位置。在一進一步的實施例中,該方法可包括經(jīng)由在每個投影儀外部的連接器以背對背配置將第一投影儀連接到第二投影儀,其中從該第一和第二投影儀中的每一者以基于所識別出的身體部位決定的形狀和取向來投影圖像可包括在大致相反的方向上投影至少兩個圖像。
[0333]在一進一步的實施例中,該方法可包括經(jīng)由在投影儀外部的連接器將第一投影儀連接到第三投影儀,并經(jīng)由在投影儀外部的連接器將第三投影儀連接到第二投影儀,其中從該第一和第二投影儀中的每一者以基于所識別出的身體部位決定的形狀和取向來投影圖像可包括投影至少三個所投影的圖像,以使得它們分隔大致九十度。
[0334]在一進一步的實施例中,該方法可包括經(jīng)由在投影儀外部的連接器將第一投影儀連接到第三投影儀和第四投影儀,并經(jīng)由在投影儀外部的連接器將第三和第四投影儀連接到第二投影儀,其中從該第一和第二投影儀中的每一者以基于所識別出的身體部位決定的形狀和取向來投影圖像可包括投影四個圖像,以使得它們分隔大致九十度。
[0335]在一進一步的實施例中,該方法可包括定義該場景中的參考點,基于所定義的參考點來確定該第一和第二投影儀中每一者的取向,以及基于所定義的參考點以及該第一和第二投影儀的取向來對所投影的圖像進行取向。在一進一步的實施例中,定義該場景中的參考點可包括由連接點來將該第一投影儀連接到該第二投影儀,并將該連接點定義為該參考點。
[0336]各種實施例可包括在擴增現(xiàn)實系統(tǒng)中渲染虛擬圖像的方法,這些方法是通過如下動作來實現(xiàn)的:用身佩式相機捕捉圖像,用身佩式傳感器陣列捕捉空間數(shù)據(jù),識別所捕捉到的圖像內(nèi)的物體,接收指示所捕捉到的圖像中對應于位于該圖像中的第一表面的第一錨表面的第一用戶輸入,計算包括與第一錨表面相對應的相對于該身佩式相機的距離和取向等的參數(shù),顯示虛擬對象以使得該虛擬對象顯現(xiàn)為錨定于所選的第一錨表面,接收指示捕捉到的圖像內(nèi)與第一錨表面不同的第二錨表面的第二輸入,其中該第二錨表面對應于位于該圖像中的第二表面并且第一和第二表面是不同的,計算包括與第二錨表面相對應的相對于該身佩式相機的距離和取向等的參數(shù),以及顯示該虛擬對象以使得該虛擬對象對用戶而言顯現(xiàn)為被錨定到所選的第二錨表面并且是從第一錨表面移過來的。
[0337]在一實施例中,該方法可包括隨著用戶轉(zhuǎn)動他/她的頭并關(guān)于所選第一或第二錨表面移動而持續(xù)更新所生成的虛擬對象的顯示以使得該虛擬對象顯現(xiàn)為錨定于所選第一或第二錨表面。在一進一步的實施例中,顯示虛擬對象可包括顯示虛擬頭戴式顯示器。該方法可進一步包括將視頻圖像輸出為就像在頭戴式顯示器上顯現(xiàn)為錨定于所選的第一或第二錨表面那樣。在一進一步的實施例中,顯示所生成的虛擬對象以使得該虛擬對象對用戶而言顯現(xiàn)為錨定于所選的第二錨表面并且是從第一錨表面移過來的可包括:將該虛擬對象生成為仿效平面屏幕顯示器的矩形形狀的虛擬對象,并將所生成的虛擬對象顯示在半透明顯示器上,其中該虛擬對象疊加在透過該半透明顯示器可見的真實世界表面上。
[0338]在一進一步的實施例中,第一或第二錨表面可包括房間中的墻壁,并且其中隨著用戶在該房間中四處移動該虛擬對象保持錨定在該房間中的該墻壁上。在一進一步的實施例中,顯示所生成的虛擬對象以使得該虛擬對象顯現(xiàn)為錨定于所選的第一或第二錨表面可包括:生成虛擬對象以使其顯現(xiàn)為接觸第一或第二錨表面并且使得第一和第二錨表面顯現(xiàn)為是對所錨定的虛擬對象的剛性支撐點。在一進一步的實施例中,顯示所生成的虛擬對象以使得該虛擬對象顯現(xiàn)為錨定到所選錨表面可包括:生成虛擬對象以使其顯現(xiàn)為與第一或第二錨表面間隔開但懸浮在相對于第一或第二錨表面間隔開的固定位置中。
[0339]在一進一步的實施例中,該方法可包括通過捕捉到的空間數(shù)據(jù)、所生成的虛擬對象和該圖像將數(shù)據(jù)傳送到第二頭戴式顯示器。在一進一步的實施例中,該方法可包括利用話筒從用戶接收音頻,對接收到的音頻應用檢測算法以檢測預定音頻信號,并在檢測到預定音頻信號時實現(xiàn)預定義的用戶輸入。在一進一步的實施例中,對接收到的音頻應用檢測算法以檢測預定音頻信號可包括對接收到的音頻應用檢測算法以檢測由用戶說出的與預定義用戶輸入相對應的預定音頻信號。在一進一步的實施例中,與檢測到的預定音頻信號相對應的預定義用戶輸入是以下之一:第一輸入、第二輸入、或?qū)Φ谝缓偷诙斎胫坏拇_認。
[0340]在一進一步的實施例中,該方法可包括用與頭戴式顯示器搭載和布置在一起的身佩式相機來捕捉圖像,并在頭戴式顯示器上顯示虛擬對象。在一進一步的實施例中,身佩式相機和頭戴式顯示器包括身佩式設備。該方法還可進一步包括在該身佩式設備與第二身佩式設備之間建立無線數(shù)據(jù)鏈路,經(jīng)由該無線數(shù)據(jù)鏈路從第二身佩式設備接收音頻數(shù)據(jù),以及使用接收到的音頻數(shù)據(jù)來向用戶輸出音頻。在一進一步的實施例中,該方法可包括經(jīng)由該無線數(shù)據(jù)鏈路來接收視頻數(shù)據(jù),以及使用接收到的視頻數(shù)據(jù)在頭戴式顯示器上輸出從第二身佩式設備接收到的視頻圖像,其中該視頻顯示了錨定的虛擬對象。
[0341]在一進一步的實施例中,經(jīng)由該無線數(shù)據(jù)鏈路接收視頻數(shù)據(jù)可包括接收以下一項或多項:虛擬對象的三維模型數(shù)據(jù)、錨表面的三維數(shù)據(jù)、錨定點的三維數(shù)據(jù)、三維深度數(shù)據(jù)、以及三維距離數(shù)據(jù)。在一進一步的實施例中,該方法可包括接收指示虛擬對象的待命位置的第三輸入,其中該待命位置不同于第一和第二錨表面,計算包括與該待命位置相對應的相對于該身佩式相機的距離和取向等的參數(shù),以及在該待命位置顯示該虛擬對象。在一進一步的實施例中,該待命位置被顯示為自由漂浮在顯示器上,其中隨著用戶轉(zhuǎn)動他/她的頭并移動,該虛擬對象在該顯示器上顯現(xiàn)為可移動的且未連接到該圖像中的各表面。
[0342]在一進一步的實施例中,用身佩式相機捕捉圖像可包括由全彩攝像機來捕捉視頻數(shù)據(jù),并且用身佩式傳感器陣列來捕捉空間數(shù)據(jù)可包括利用距離傳感器來捕捉空間數(shù)據(jù)以確定距該圖像中各物體的距離。在一進一步的實施例中,用身佩式傳感器陣列來捕捉空間數(shù)據(jù)可包括使用紅外激光器和紅外傳感器來捕捉該圖像中各物體的距離信息。在一進一步的實施例中,該方法可包括基于捕捉到的視頻數(shù)據(jù)和計算出的空間數(shù)據(jù)來構(gòu)建三維地圖。在一進一步的實施例中,該方法可包括利用身佩式相機來跟蹤用戶的運動,對跟蹤到的用戶運動應用檢測算法以檢測預定姿勢,以及在檢測到預定姿勢時執(zhí)行與該預定姿勢對應的命令。
[0343]在一進一步的實施例中,所檢測到的預定姿勢是從下組中選擇的,包括“0K”手勢、拳頭、打開的手、用一個手指指點、用兩個手指指點、用三個或四個手指指點、向外伸出的手、手旋轉(zhuǎn)、揮手、一個或多個手指的移動、身體部位或腳的移動、或其任何組合。在一進一步的實施例中,預定姿勢是從姿勢字典中檢索的。在一進一步的實施例中,姿勢字典定義以下一項或多項:用于目標選擇或來回切換的戳姿勢、輕拍姿勢、或叩擊姿勢,用于引導屏幕對象越過屏幕的推姿勢,用于向屏幕對象賦予動量的彈拂姿勢,用于旋轉(zhuǎn)屏幕對象的轉(zhuǎn)向姿勢,用于縮放操作的抓姿勢或拉姿勢,用于搖攝操作的雙手移動姿勢,用于調(diào)整屏幕對象大小的將雙手分開姿勢,以及用于在媒體中水平滾動或穿梭的揮掃姿勢。
[0344]在一進一步的實施例中,接收指示捕捉到的圖像中的第一錨表面的第一輸入可包括:檢測由用戶作出的與將捕捉到的圖像內(nèi)的一表面指定為錨表面的命令相對應的第一預定姿勢、并應用該命令,并且接收要在圖像中錨定虛擬對象的第二輸入可包括:檢測由用戶作出的與將錨表面移到捕捉到的圖像中的另一表面的命令相對應的第二預定姿勢、并應用該命令。在一進一步的實施例中,第一和第二檢測到的預定姿勢中的任一者可包括用戶指向捕捉到的圖像中的一表面。在一進一步的實施例中,該方法可包括在接收到第一輸入之后繼續(xù)跟蹤用戶的運動,對跟蹤到的運動應用檢測算法以檢測與確認該第一輸入的用戶輸入對應的第三預定姿勢,并響應于第三預定姿勢將虛擬對象錨定在所選錨表面上。
[0345]各種實施例可包括用于存儲空間數(shù)據(jù)以供在擴增現(xiàn)實系統(tǒng)中使用的方法,這些方法通過如下動作來實現(xiàn):基于從第一身佩式傳感器設備搜集的圖像和空間數(shù)據(jù)來生成關(guān)于場景中各表面和物體的位置的數(shù)據(jù),基于所生成的數(shù)據(jù)生成該場景的三維地圖,向該場景的三維地圖添加地理標識元數(shù)據(jù),將該地理標識元數(shù)據(jù)和三維地圖存儲在存儲器中,以及將該地理標識元數(shù)據(jù)和三維地圖的至少一部分傳送給第二身佩式傳感器設備。在一實施例中,基于從第一身佩式傳感器設備搜集的圖像和空間數(shù)據(jù)生成關(guān)于場景中各表面和物體的位置的數(shù)據(jù)可包括:用身佩式相機捕捉該場景的場景圖像,用身佩式傳感器陣列捕捉該場景內(nèi)各物體的空間數(shù)據(jù),識別捕捉到的場景圖像內(nèi)的各物體,以及確定從第一身佩式傳感器設備到該場景圖像內(nèi)識別出的各物體的距離,并且向該場景的三維地圖添加地理標識元數(shù)據(jù)可包括:將所確定的距離與該場景圖像內(nèi)識別出的各物體相關(guān)聯(lián)。
[0346]在一實施例中,該方法可包括確定第二身佩式傳感器設備的位置,其中將地理標識元數(shù)據(jù)和三維地圖的至少一部分傳送給第二身佩式傳感器設備可包括傳送該地理標識元數(shù)據(jù)和三維地圖中與第二身佩式傳感器設備的位置有關(guān)的一部分。在一進一步的實施例中,該方法可包括在第二身佩式傳感器設備中接收該地理標識元數(shù)據(jù)和三維地圖的所傳送部分,并至少部分地基于該地理標識元數(shù)據(jù)和三維地圖的所接收部分在第二身佩式傳感器設備上的顯示器上生成虛擬圖像。
[0347]在一進一步的實施例中,該方法可包括確定第二身佩式傳感器設備的位置,基于從第二身佩式傳感器設備搜集的圖像和空間數(shù)據(jù)來生成關(guān)于該場景中各表面和物體的位置的數(shù)據(jù),以及基于由第二身佩式傳感器設備生成的數(shù)據(jù)來細化該地理標識元數(shù)據(jù)和三維地圖。在一進一步的實施例中,向該場景的三維地圖添加地理標識元數(shù)據(jù)可包括用地理標簽來對該三維地圖作標簽。在一進一步的實施例中,基于從第一身佩式傳感器設備搜集的圖像和空間數(shù)據(jù)生成關(guān)于場景中各表面和物體的位置的數(shù)據(jù)、基于所生成的數(shù)據(jù)生成該場景的三維地圖、以及向該場景的三維地圖添加地理標識元數(shù)據(jù)是在第一身佩式傳感器設備內(nèi)的處理器中完成的。
[0348]在一進一步的實施例中,該方法可包括將由第一身佩式傳感器設備搜集的圖像和空間數(shù)據(jù)中繼給與第一身佩式傳感器設備處于通信中的處理器,其中基于從第一身佩式傳感器設備搜集的圖像和空間數(shù)據(jù)生成關(guān)于場景中各表面和物體的位置的數(shù)據(jù)、基于所生成的數(shù)據(jù)生成該場景的三維地圖、以及向該場景的三維地圖添加地理標識元數(shù)據(jù)是在與第一身佩式傳感器設備處于通信中的該處理器中完成的。在一進一步的實施例中,該方法可包括經(jīng)由網(wǎng)絡將由第一身佩式傳感器設備搜集的圖像和空間數(shù)據(jù)傳送給服務器,其中基于從第一身佩式傳感器設備搜集的圖像和空間數(shù)據(jù)生成關(guān)于場景中各表面和物體的位置的數(shù)據(jù)、基于所生成的數(shù)據(jù)生成該場景的三維地圖、以及向該場景的三維地圖添加地理標識元數(shù)據(jù)是在該服務器中基于從第一身佩式傳感器設備接收到的圖像和空間數(shù)據(jù)來完成的。
[0349]在一進一步的實施例中,該方法可包括確定第二身佩式傳感器設備的位置,并且從第二身佩式傳感器設備向該服務器傳送對該地理標識元數(shù)據(jù)和三維地圖的一部分的請求,該請求包括所確定的第二身佩式傳感器設備的位置,其中將該地理標識元數(shù)據(jù)和三維地圖的至少一部分傳送給第二身佩式傳感器設備可包括:從該服務器向第二身佩式傳感器設備傳送該地理標識元數(shù)據(jù)和三維地圖中與第二身佩式傳感器設備的位置有關(guān)的一部分。在一進一步的實施例中,生成該場景的三維地圖可包括開發(fā)該場景內(nèi)各三維表面的數(shù)學表示,并且將地理標識元數(shù)據(jù)寫到該數(shù)學表示中。在一進一步的實施例中,將該地理標識元數(shù)據(jù)和三維地圖存儲到存儲器可包括將該數(shù)學表示存儲在可由第一和第二身佩式傳感器設備訪問的服務器上。
[0350]在一進一步的實施例中,基于從第一身佩式傳感器設備搜集的圖像和空間數(shù)據(jù)生成關(guān)于場景中各表面和物體的位置的數(shù)據(jù)可包括:確定第一身佩式傳感器設備的位置,用身佩式相機捕捉該場景的場景圖像,用身佩式傳感器陣列捕捉該場景內(nèi)各物體的空間數(shù)據(jù),識別捕捉到的場景圖像內(nèi)的各物體,以及確定在該場景圖像內(nèi)識別出的各物體的位置;并且向該場景的三維地圖添加地理標識元數(shù)據(jù)可包括將所確定的位置與在該場景圖像內(nèi)識別出的各物體相關(guān)聯(lián)。在一進一步的實施例中,確定在圖像內(nèi)識別出的各物體的位置可包括確定各物體相對于所確定的第一身佩式傳感器設備的位置而言的位置。在一進一步的實施例中,確定在圖像內(nèi)識別出的各物體的位置可包括確定各物體在確定第一身佩式傳感器設備的位置時使用的坐標系內(nèi)的位置。
[0351]各個實施例可包括通過捕捉要在其中顯示虛擬對象的場景的圖像、識別出現(xiàn)在捕捉到的圖像中的身體部位、以及基于所識別出的身體部位調(diào)整虛擬對象的顯示來在擴增現(xiàn)實系統(tǒng)中渲染圖像的方法。在一實施例中,調(diào)整虛擬對象的顯示可包括標識該虛擬對象與識別出的身體部位交疊的部分,以及抑制所標識出的部分以使得所識別出的身體部位顯現(xiàn)為遮蔽該虛擬對象的所標識出的部分。在一進一步的實施例中,調(diào)整虛擬對象的顯示可包括標識該虛擬對象與識別出的身體部位交疊的部分,以及將虛擬對象疊加在此識別出的身體部位上以使得該虛擬對象的所標識出的部分顯現(xiàn)為遮蔽所識別出的身體部位。
[0352]在一進一步的實施例中,調(diào)整所顯示的虛擬對象可包括調(diào)整該虛擬對象與所識別出的身體部位交疊的所顯示部分,以使得該虛擬對象是透過所識別出的身體部位可見的并使得所識別出的身體部位顯現(xiàn)為半透明的。在一進一步的實施例中,該方法可包括在身佩式半透明顯示器上顯示該虛擬對象,該身佩式半透明顯示器配置成使得佩戴該身佩式半透明顯示器的個人能透過該顯示器觀看場景。在一進一步的實施例中,捕捉要在其中顯示虛擬對象的場景的圖像可包括用第一個人所佩戴的身佩式相機來捕捉圖像。該方法可進一步包括用第一個人所佩戴的身佩式傳感器陣列來捕捉空間數(shù)據(jù),識別所捕捉到的圖像內(nèi)的各物體,以及確定距所捕捉到的圖像內(nèi)各識別出的物體的距離。在一進一步的實施例中,該方法可包括在頭戴式顯示器上顯示虛擬對象和捕捉到的圖像,以使得該場景對于佩戴身佩式半透明顯示器的個人是可見的。
[0353]在一進一步的實施例中,識別出現(xiàn)在所捕捉到的圖像中的身體部位可包括對所捕捉到的圖像應用解剖分析。在一進一步的實施例中,對圖像應用解剖分析可包括識別所捕捉到的圖像內(nèi)的各物體,將所識別出的物體與存儲在存儲器中的骨骼模型作比較,所存儲著的骨骼模型包括關(guān)于人類骨骼的關(guān)鍵關(guān)節(jié)、骨和肢的相對位置信息,以及響應于將所識別出的物體與骨骼模型作比較來確定是否有任何識別出的物體匹配于骨骼模型的一部分。在一進一步的實施例中,該方法可包括響應于識別出出現(xiàn)在所捕捉到的圖像中的身體部位而確定該身體部位是屬于第一個人還是屬于第二個人,確定虛擬對象的位置和所包圍區(qū)域、以及確定所識別出的身體部位是否與被該虛擬對象所包圍的區(qū)域的至少一部分交疊。
[0354]在一進一步的實施例中,確定身體部位是屬于第一個人還是第二個人可包括基于所識別出的身體部位的取向來確定該身體部位是屬于第一個人還是第二個人。在一進一步的實施例中,確定身體部位是屬于第一個人還是第二個人可包括基于所識別出的身體部位距身佩式相機的距離來確定該身體部位是屬于第一個人還是第二個人。在一進一步的實施例中,確定身體部位是屬于第一個人還是第二個人可包括基于確定在所捕捉到的圖像中的身體部位的數(shù)目來確定該身體部位是屬于第一個人還是第二個人。
[0355]在一進一步的實施例中,調(diào)整虛擬對象的顯示可包括當確定該身體部位屬于第二個人時將該虛擬對象顯示為疊加在所識別出的第二個人的身體部位之上,并且當確定該身體部位屬于第一個人時顯示該虛擬對象以使得該虛擬對象看起來位于所識別出的身體部位之下。在一進一步的實施例中,顯示虛擬對象以使得該虛擬對象顯現(xiàn)為位于所識別出的身體部位之下可包括不渲染該虛擬對象的與所識別出的身體部位交疊的部分。在一進一步的實施例中,該方法可包括顯示所識別出的第二個人的身體部位與被虛擬對象包圍的顯示區(qū)域交疊的部分的輪廓,以使得在顯示器中該輪廓在虛擬對象之上可見。
[0356]各種實施例可包括由各自包括身佩式相機和頭戴式顯示器的第一和第二身佩式設備在擴增現(xiàn)實系統(tǒng)中渲染圖像的方法。該方法可包括用第一身佩式設備的身佩式相機捕捉場景的第一場景圖像,在第一身佩式設備的頭戴式顯示器上顯示虛擬對象的第一圖像,該第一圖像將該虛擬對象顯示為以適合于第一身佩式設備的用戶的第一取向來錨定于捕捉到的第一場景圖像內(nèi)的第一錨表面,并在第二身佩式設備的頭戴式顯示器上顯示該虛擬對象的第二圖像,該第二圖像將該虛擬對象顯示為以適合于第二身佩式設備的用戶的第二取向來錨定于第二錨表面。
[0357]在一進一步的實施例中,該方法可包括從第一身佩式設備向第二身佩式設備發(fā)送該虛擬對象,在第二身佩式設備中接收該虛擬對象,用第二身佩式設備的身佩式相機捕捉該場景的第二場景圖像,以及分析捕捉到的第二場景圖像以標識第二場景圖像內(nèi)在接近于第二身佩式設備的用戶正看著的方向的方向上的合適錨表面,其中在第二身佩式設備的頭戴式顯示器上顯示第二圖像可包括顯示第二圖像以使得該虛擬對象被錨定于所標識出的合適錨表面。在一實施例中,該方法可包括從第一身佩式設備向第二身佩式設備傳送指示虛擬對象的取向的信號,其中顯示第二圖像可包括顯示第二圖像以使得該虛擬對象是部分地基于從第一身佩式設備接收的該信號來取向的。
[0358]在一進一步的實施例中,該方法可包括從第一身佩式設備向第二身佩式設備傳送指示虛擬對象的優(yōu)選取向的信號,向第二身佩式設備的用戶通告所指示的優(yōu)選取向,以及從第二身佩式設備的用戶接收接受或拒絕所指示的優(yōu)選取向的輸入,其中在第二身佩式設備的頭戴式顯示器上顯示虛擬對象的第二圖像可包括:顯示第二圖像以使得當收到的輸入接受所指示的優(yōu)選取向時該虛擬對象是部分地基于所指示的優(yōu)選取向來取向的并且使得當收到的輸入拒絕所指示的優(yōu)選取向時該虛擬對象以不同于所指示的優(yōu)選取向的方式來取向。
[0359]在一進一步的實施例中,第一錨表面和第二錨表面是相同表面。在一進一步的實施例中,該方法可包括從第一身佩式設備向第二身佩式設備傳送虛擬對象,其中在第二身佩式設備的頭戴式顯示器上顯示虛擬對象的第二圖像可包括將第二圖像顯示為以第二取向錨定于第一錨表面。在一進一步的實施例中,第一和第二身佩式設備位于不同位置上,該方法可進一步包括經(jīng)由網(wǎng)絡將該虛擬對象傳送至第一和第二身佩式設備中的每一者。
[0360]在一進一步的實施例中,該方法可包括用第二身佩式設備的身佩式相機捕捉第二場景圖像,并且在第二身佩式設備上接收指示捕捉到的第二場景圖像中的第二錨表面的輸入,所指示的第二錨表面不同于第一錨表面,其中在第二身佩式設備的頭戴式顯示器上顯示第二圖像可包括以適合于所指示的第二錨表面以及第二身佩式設備的用戶的配置來將虛擬對象顯示為錨定于所指示的第二錨表面。在一進一步的實施例中,該方法可包括從第二身佩式設備向第一身佩式設備傳送第二虛擬對象,并且在第一身佩式設備的頭戴式顯示器上顯示第三圖像,該第三圖像將第二虛擬對象顯示為錨定于第一錨表面。
[0361]進一步的實施例可包括配置成執(zhí)行與以上討論的各種實施例方法和/或操作相對應的各種操作的系統(tǒng)、服務器、和/或計算設備。更進一步的實施例可包括非瞬態(tài)處理器可讀存儲介質(zhì),其上存儲有處理器可執(zhí)行指令,用于使處理器執(zhí)行與以上討論的各種實施例方法和/或操作相對應的操作。
[0362]圖41是適于與其中任何實施例聯(lián)用的接收器設備的系統(tǒng)框圖。典型的接收器設備4100可包括耦合到內(nèi)部存儲器4102、顯示器4103并耦合到揚聲器4154的處理器4101。另外,接收器設備4100可包括可連接到無線數(shù)據(jù)鏈路的用于發(fā)送和接收電磁輻射的天線4104、和/或耦合到處理器4101的蜂窩電話收發(fā)機4105、以及耦合到處理器4101的移動多媒體廣播接收機4106。接收器設備4100典型情況下還包括用于接收用戶輸入的菜單選擇按鈕或搖桿開關(guān)4108。
[0363]各種實施例可實現(xiàn)在各種市售的服務器設備中的任何設備上,諸如圖42中所解說的服務器4200。此類服務器4200典型地可包括耦合至易失性存儲器4202和大容量非易失性存儲器(諸如盤驅(qū)動器4203)的處理器4201。服務器4200還可包括耦合至處理器4201的軟盤驅(qū)動器、壓縮碟(⑶)或DVD碟驅(qū)動器4206。服務器4200還可包括耦合到處理器4201以用于與網(wǎng)絡4205 (諸如耦合到其他廣播系統(tǒng)計算機和服務器的局域網(wǎng)絡)建立數(shù)據(jù)連接的網(wǎng)絡接入端口 4204。
[0364]處理器3903、3905、4101、4201可以是能由軟件指令(應用)配置以執(zhí)行包括上述各種實施例的功能在內(nèi)的各種功能的任何可編程微處理器、微型計算機或一個或多個多處理器芯片。在一些設備中,可提供多個處理器3903、3905、4101,諸如一個處理器專用于無線通信功能并且一個處理器專用于運行其他應用。通常,在軟件應用被訪問并被加載到處理器4101、4201中之前,這些軟件應用可被存儲在內(nèi)部存儲器4102、4202、4203中。處理器4101、4201可包括足以存儲應用軟件指令的內(nèi)部存儲器。在許多設備中,內(nèi)部存儲器可以是易失性或非易失性存儲器(諸如閃存.),或這兩者的混合。為本描述之故,對存儲器的一般性引述是指可由處理器3903、3905、4101、4201訪問的存儲器,包括插入該設備的內(nèi)部存儲器或可移動存儲器、以及在處理器3903、3905、4101、4201本身內(nèi)部的存儲器。
[0365]上述方法描述和過程流程圖僅作為解說性示例提供,且并非旨在要求或暗示各種實施例的步驟必須按所給出的次序來執(zhí)行。如本領(lǐng)域技術(shù)人員將領(lǐng)會的,前述實施例中的步驟次序可按任何次序來執(zhí)行。諸如“其后”、“然后”、“接著”等的措辭并非旨在限定步驟的次序;這些措辭僅是簡單地用以指引讀者遍歷方法的描述。進一步地,對單數(shù)形式的權(quán)利要求元素的任何引述,例如使用冠詞“一”、“某”或“該”的引述不應解釋為將該元素限定為單數(shù)。
[0366]結(jié)合本文中所公開的實施例來描述的各種解說性邏輯框、模塊、電路、和算法步驟可實現(xiàn)為電子硬件、計算機軟件、或這兩者的組合。為清楚地解說硬件與軟件的這一可互換性,各種解說性組件、框、模塊、電路、和步驟在上面是以其功能性的形式作一般化描述的。此類功能性是被實現(xiàn)為硬件還是軟件取決于具體應用和施加于整體系統(tǒng)的設計約束。技術(shù)人員對于每種特定應用可用不同的方式來實現(xiàn)所描述的功能性,但這樣的實現(xiàn)決策不應被解讀成導致脫離了本發(fā)明的范圍。
[0367]用以實現(xiàn)結(jié)合本文中公開的實施例描述的各種解說性邏輯、邏輯框、模塊、以及電路的硬件可用通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或其他可編程邏輯器件、分立的門或晶體管邏輯、分立的硬件組件、或其設計成執(zhí)行本文中描述的功能的任何組合來實現(xiàn)或執(zhí)行。通用處理器可以是微處理器,但在替換方案中,處理器可以是任何常規(guī)的處理器、控制器、微控制器、或狀態(tài)機。處理器還可以被實現(xiàn)為計算設備的組合,例如DSP與微處理器的組合、多個微處理器、與DSP核心協(xié)作的一個或多個微處理器、或任何其他此類配置。替代地,一些步驟或方法可由專用于給定功能的電路系統(tǒng)來執(zhí)行。
[0368]在一個或多個示例性實施例中,所描述的功能可在硬件、軟件、固件或其任何組合中實現(xiàn)。如果在軟件中實現(xiàn),則這些功能可作為一條或多條指令或代碼存儲在非瞬態(tài)計算機可讀介質(zhì)上。本文中公開的方法或算法的步驟可實施在可駐留在非瞬態(tài)計算機可讀介質(zhì)上的被執(zhí)行的處理器可執(zhí)行軟件模塊中。非瞬態(tài)計算機可讀介質(zhì)包括可被計算機訪問的任何存儲介質(zhì)。作為示例而非限定,此類非瞬態(tài)計算機可讀介質(zhì)可以包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲、磁盤存儲或其它磁存儲設備、或者可用以攜帶或者存儲指令或數(shù)據(jù)結(jié)構(gòu)形式的期望程序代碼且可由計算機訪問的任何其它介質(zhì)。如本文所用的盤(disk)和碟(disc)包括壓縮碟(⑶)、激光碟、光碟、數(shù)字多用碟(DVD)、軟盤和藍光碟,其中盤(disk)常常磁性地再現(xiàn)數(shù)據(jù),而碟(disc)用激光來光學地再現(xiàn)數(shù)據(jù)。以上的組合也應被包括在非瞬態(tài)計算機可讀介質(zhì)的范圍內(nèi)。另外,方法或算法的操作可作為一條代碼和/或指令或者代碼和/或指令的任何組合或集合而駐留在可被納入計算機程序產(chǎn)品中的非瞬態(tài)機器可讀介質(zhì)和/或非瞬態(tài)計算機可讀介質(zhì)上。
[0369]提供所公開的實施例的先前描述是為了使本領(lǐng)域任何技術(shù)人員皆能制作或使用本發(fā)明。對這些實施例的各種修改對于本領(lǐng)域技術(shù)人員將是顯而易見的,并且本文中定義的普適原理可被應用于其他實施例而不會脫離本發(fā)明的精神或范圍。由此,本發(fā)明并非旨在限定于本文中示出的實施例,而是應被授予與所附權(quán)利要求和本文中公開的原理和新穎性特征一致的最廣義的范圍。
【權(quán)利要求】
1.一種在包括第一和第二身佩式設備的擴增現(xiàn)實系統(tǒng)中渲染圖像的方法,所述第一和第二身佩式設備各自包括身佩式相機和頭戴式顯示器,所述方法包括: 用所述第一身佩式設備的身佩式相機捕捉場景的第一場景圖像; 在所述第一身佩式設備的頭戴式顯示器上顯示虛擬對象的第一圖像,所述第一圖像將所述虛擬對象顯示為在對所述第一身佩式設備的佩戴者而言恰適的第一取向上錨定于所捕捉到的第一場景圖像內(nèi)的第一錨表面;以及 在所述第二身佩式設備的頭戴式顯示器上顯示所述虛擬對象的第二圖像,所述第二圖像將所述虛擬對象顯示為在對所述第二身佩式設備的佩戴者而言恰適的第二取向上錨定于第二錨表面。
2.如權(quán)利要求1所述的方法,其特征在于,進一步包括: 從所述第一身佩式設備向所述第二身佩式設備發(fā)送所述虛擬對象; 在所述第二身佩式設備中接收所述虛擬對象; 用所述第二身佩式設備的身佩式相機捕捉所述場景的第二場景圖像;以及分析所捕捉到的第二場景圖像以標識所述第二場景圖像內(nèi)在接近于所述第二身佩式設備的佩戴者正看著的方向的方向上的合適錨表面, 其中在所述第二身佩式設備的頭戴式顯示器上顯示第二圖像包括顯示所述第二圖像以使得所述虛擬對象被錨定于所標識出的合適錨表面。
3.如權(quán)利要求1所述的方 法,其特征在于,進一步包括: 從所述第一身佩式設備向所述第二身佩式設備傳送指示所述虛擬對象的取向的信號,其中顯示所述第二圖像包括顯示所述第二圖像以使得虛擬對象是部分地基于從所述第一身佩式設備接收到的所述信號來取向的。
4.如權(quán)利要求1所述的方法,其特征在于,進一步包括: 從所述第一身佩式設備向所述第二身佩式設備傳送指示所述虛擬對象的優(yōu)選取向的信號; 向所述第二身佩式設備的佩戴者通告所指示的優(yōu)選取向;以及 從所述第二身佩式設備的佩戴者接收接受或拒絕所指示的優(yōu)選取向的輸入, 其中在所述第二身佩式設備的頭戴式顯示器上顯示所述虛擬對象的第二圖像包括:顯示所述第二圖像以使得當收到的輸入接受所指示的優(yōu)選取向時所述虛擬對象是部分地基于所指示的優(yōu)選取向來取向的,并且使得當收到的輸入拒絕所指示的優(yōu)選取向時所述虛擬對象以不同于所指示的優(yōu)選取向的方式來取向。
5.如權(quán)利要求1所述的方法,其特征在于,所述第一錨表面和所述第二錨表面是同一表面。
6.如權(quán)利要求1所述的方法,其特征在于,進一步包括: 從所述第一身佩式設備向所述第二身佩式設備傳送所述虛擬對象, 其中在所述第二身佩式設備的頭戴式顯示器上顯示所述虛擬對象的第二圖像包括:將所述第二圖像顯示為在所述第二取向上錨定于所述第一錨表面。
7.如權(quán)利要求1所述的方法,其特征在于,所述第一和第二身佩式設備位于不同位置,所述方法進一步包括經(jīng)由網(wǎng)絡將所述虛擬對象傳送至所述第一和第二身佩式設備中的每一者O
8.如權(quán)利要求1所述的方法,其特征在于,進一步包括: 用所述第二身佩式設備的身佩式相機捕捉第二場景圖像;以及 在所述第二身佩式設備上接收指示所捕捉到的第二場景圖像中的所述第二錨表面的輸入,所指示的第二錨表面不同于所述第一錨表面, 其中在所述第二身佩式設備的頭戴式顯示器上顯示第二圖像包括:以適合于所指示的第二錨表面以及所述第二身佩式設備的佩戴者的配置來將所述虛擬對象顯示為錨定于所指示的第二錨表面。
9.如權(quán)利要求8所述的方法,其特征在于,進一步包括: 從所述第二身佩式設備向所述第一身佩式設備傳送第二虛擬對象;以及在所述第一身佩式設備的頭戴式顯示器上顯示第三圖像,所述第三圖像將所述第二虛擬對象顯示為錨定于所述第一錨表面。
10.一種系統(tǒng),包括: 第一身佩式設備,其包括第一身佩式相機、第一頭戴式顯不器、第一收發(fā)機、以及I禹合到所述第一相機、第一顯示器和第一收發(fā)機的第一身佩式設備處理器;以及 第二身佩式設備,其包括第二身佩式相機、第二頭戴式顯示器、第二收發(fā)機、以及耦合到所述第二相機、第二顯示器和第二收發(fā)機的第二身佩式設備處理器; 其中所述第一身佩式設備處理器用處理器可執(zhí)行指令配置成執(zhí)行操作,所述操作包括: 用所述第一相機捕捉場景的第一場景圖像;以及 在所述第一顯示器上顯示虛擬對象的第一圖像,所述第一圖像將所述虛擬對象顯示為在對所述第一身佩式設備的佩戴者而言恰適的第一取向上錨定于所捕捉到的第一場景圖像內(nèi)的第一錨表面,并且 其中所述第二身佩式設備處理器用處理器可執(zhí)行指令配置成執(zhí)行操作,所述操作包括: 在所述第二顯示器上顯示所述虛擬對象的第二圖像,所述第二圖像將所述虛擬對象顯示為在對所述第二身佩式設備的佩戴者而言恰適的第二取向上錨定于第二錨表面。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于: 所述第二身佩式設備處理器用處理器可執(zhí)行指令配置成執(zhí)行操作,所述操作進一步包括: 從所述第一身佩式設備接收所述虛擬對象; 用所述第二相機捕捉第二場景圖像;以及 分析所捕捉到的第二場景圖像以標識所述第二場景圖像內(nèi)在接近于所述第二身佩式設備的佩戴者正看著的方向的方向上的合適錨表面,并且所述第二身佩式設備處理器用處理器可執(zhí)行指令配置成執(zhí)行操作以使得顯示所述虛擬對象的所述第二圖像包括:將所述虛擬對象顯示為錨定于所標識出的合適錨表面。
12.如權(quán)利要求10所述的系統(tǒng),其特征在于: 所述第一身佩式設備處理器用處理器可執(zhí)行指令配置成執(zhí)行操作,所述操作進一步包括向所述第二身佩式設備傳送指示所述虛擬對象的取向的信號;并且 所述第二身佩式設備處理器用處理器可執(zhí)行指令配置成執(zhí)行操作以使得顯示所述第二圖像包括:在部分地基于由所述第一身佩式設備傳送的所述信號中所指示的虛擬對象的取向來確定的取向上顯示所述虛擬對象。
13.如權(quán)利要求10所述的系統(tǒng),其特征在于: 所述第一身佩式設備處理器用處理器可執(zhí)行指令配置成執(zhí)行操作,所述操作進一步包括向所述第二身佩式設備傳送指示所述虛擬對象的優(yōu)選取向的信號;并且 所述第二身佩式設備處理器用處理器可執(zhí)行指令配置成執(zhí)行操作,所述操作包括: 向所述第二身佩式設備的佩戴者通告所指示的優(yōu)選取向;以及 從所述第二身佩式設備的佩戴者接收接受或拒絕所指示的優(yōu)選取向的輸入, 其中所述第二身佩式設備處理器進一步用處理器可執(zhí)行指令配置成執(zhí)行操作以使得: 在第二顯示器上顯示所述虛擬對象的第二圖像包括:顯示所述第二圖像以使得當收到的輸入接受所指示的優(yōu)選取向時所述虛擬對象是部分地基于所指示的優(yōu)選取向來取向的,并且使得當收到的輸入拒絕所指示的優(yōu)選取向時所述虛擬對象以不同于所指示的優(yōu)選取向的方式來取向。
14.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述第二身佩式設備處理器用處理器可執(zhí)行指令配置成執(zhí)行操作以使得將所述虛擬對象顯示為錨定于第二錨表面包括:將所述虛擬對象顯示為錨定于與所述第一錨表面基本相同的表面。
15.如權(quán)利要求10所述的系統(tǒng),其特征在于: 所述第一身佩式設備處理器用處理器可執(zhí)行指令配置成執(zhí)行操作,所述操作包括向所述第二身佩式設備傳送所述虛擬對象;并且 所述第二身佩式設備處理器用處理器可執(zhí)行指令配置成執(zhí)行操作以使得顯示所述虛擬對象的所述第二圖像包括:將所述第二圖像顯示為在所述第二取向上錨定于所述第一錨表面。
16.如權(quán)利要求10所述的系統(tǒng),其特征在于,進一步包括: 服務器,包括: 存儲器;以及 耦合至所述存儲器的服務器處理器,其中所述服務器處理器用服務器可執(zhí)行指令配置成執(zhí)行操作,所述操作包括: 經(jīng)由網(wǎng)絡向所述第一和第二身佩式設備中的每一者傳送所述虛擬對象。
17.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述第二身佩式設備處理器用處理器可執(zhí)行指令配置成執(zhí)行操作,所述操作進一步包括: 用所述第二相機捕捉第二場景圖像;以及 接收指示位于所捕捉到的第二場景圖像中的第二錨表面的輸入,所指示的第二錨表面是不同于所述第一錨表面的表面,并且 其中所述第二身佩式設備處理器 用處理器可執(zhí)行指令配置成執(zhí)行操作以使得顯示第二圖像包括:將所述虛擬對象顯示為以對所指示的第二錨表面以及所述第二身佩式設備的佩戴者而言恰適的配置錨定于所指示的第二錨表面。
18.如權(quán)利要求17所述的系統(tǒng),其特征在于: 所述第二身佩式設備處理器用處理器可執(zhí)行指令配置成執(zhí)行操作,所述操作進一步包括從所述第二身佩式設備向所述第一身佩式設備傳送第二虛擬對象;并且 所述第一身佩式設備處理器用處理器可執(zhí)行指令配置成執(zhí)行操作,所述操作進一步包括在所述第一身佩式設備的頭戴式顯示器上顯示第三圖像,所述第三圖像將所述第二虛擬對象顯示為錨定于所述第一錨表面。
19.一種身佩式計算設備,包括: 存儲器; 身佩式相機; 頭戴式顯示器; 收發(fā)機;以及 耦合到所述存儲器、相機、顯示器和收發(fā)機的處理器,其中所述處理器用處理器可執(zhí)行指令配置成執(zhí)行操作,所述操作包括: 用所述相機捕捉場景的場景圖像; 在所述顯示器上顯示虛擬對象的第一圖像,所述第一圖像將所述虛擬對象顯示為在對所述身佩式計算設備的佩戴者而言恰適的第一取向上錨定于所捕捉到的場景圖像內(nèi)的第一錨表面;以及 向第二身佩式計算設備傳送信號,以使所述第二身佩式計算設備在第二頭戴式顯示器上顯示所述虛擬對象的第二圖像,所述第二圖像將所述虛擬對象顯示為在對所述第二身佩式設備的佩戴者而言恰適的第二取向上錨定于第二錨表面。
20.如權(quán)利要求19所述的身佩式計算設備,其特征在于,所述處理器用處理器可執(zhí)行指令配置成執(zhí)行操作,所述操作進一步包括: 分析所捕捉到的場景圖像以標識所述場景圖像內(nèi)在接近于所述身佩式設備的佩戴者正看著的方向的方向上的合適錨表面,并且 其中所述處理器用處理器可執(zhí)行指令配置成執(zhí)行操作以使得在所述顯示器上顯示虛擬對象的第一圖像包括:將所述虛擬對象顯示為錨定于所標識出的合適錨表面。
21.如權(quán)利要求19所述的身佩式計算設備,其特征在于,所述處理器用處理器可執(zhí)行指令配置成執(zhí)行操作以使得向第二身佩式計算設備傳送信號包括:向所述第二身佩式設備傳送指示所述虛擬對象的取向的信號,以使得使所述第二身佩式計算設備顯示所述第二圖像包括使所述第二身佩式計算設備在部分地基于由所述第一身佩式設備傳送的所述信號中所指示的所述虛擬對象的取向來確定的取向上顯示所述虛擬對象。
22.如權(quán)利要求19所述的身佩式計算設備,其特征在于,所述處理器用處理器可執(zhí)行指令配置成執(zhí)行操作以使得向第二身佩式計算設備傳送信號包括: 向所述第二身佩式設備傳送指示所述虛擬對象的優(yōu)選取向的信號,所述信號包括用于使所述第二計算設備向所述第二身佩式設備的佩戴者通告所指示的優(yōu)選取向的信息,所述通告所指示的優(yōu)選取向的方式使得所述第二身佩式設備的佩戴者能接受或拒絕所指示的優(yōu)選取向來使所述第二圖像被顯示在所述第二頭戴式顯示器上,以使得當所述優(yōu)選取向被接受時所述虛擬對象是基于所指示的優(yōu)選取向來取向的,并且當所述優(yōu)選取向被拒絕時,所述虛擬對象是以不同于所指示的優(yōu)選取向的方式來取向的。
23.如權(quán)利要求22所述的身佩式計算設備,其特征在于,所述處理器用處理器可執(zhí)行指令配置成執(zhí)行操作以使得向第二身佩式計算設備傳送信號包括:傳送使所述第二計算設備將所述虛擬對象顯示為錨定于與所述第一錨表面基本上相同的表面的信號。
24.如權(quán)利要求19所述的身佩式計算設備,其特征在于,所述處理器用處理器可執(zhí)行指令配置成執(zhí)行操作以使得向第二身佩式計算設備傳送信號包括:向所述第二身佩式設備傳送所述虛擬對象,從而使得顯示所述第二圖像包括將所述虛擬對象顯示為在所述第二取向上錨定于所述第一錨表面。
25.如權(quán)利要求19所述的身佩式計算設備,其特征在于,所述處理器用處理器可執(zhí)行指令配置成執(zhí)行操作,所述操作進一步包括: 從網(wǎng)絡接收所述虛擬對象。
26.如權(quán)利要求19所述的身佩式計算設備,其特征在于,所述處理器用處理器可執(zhí)行指令配置成執(zhí)行操作,所述操作進一步包括: 向所述第二身佩式計算設備傳送所述虛擬對象。
27.一種計算設備,包括: 用于用相機捕捉場景的場景圖像的裝置; 用于在顯示器上顯示虛擬對象的第一圖像的裝置,所述第一圖像將所述虛擬對象顯示為在對身佩式計算設備的佩戴者而言恰適的第一取向上錨定于所捕捉到的場景圖像內(nèi)的第一錨表面;以及 用于向第二身佩式計算設備傳送信號的裝置,以使所述第二身佩式計算設備在第二頭戴式顯示器上顯示所述虛擬對象的第二圖像,所述第二圖像將所述虛擬對象顯示為在對所述第二身佩式設備的佩戴者而言恰適的第二取向上錨定于第二錨表面。
28.如權(quán)利要求27所述的計算設備,進一步包括用于分析所捕捉到的場景圖像以標識所述場景圖像內(nèi)在接近于所述身佩式設備的佩戴者正看著的方向的方向上的合適錨表面的裝置,并且其中用于在所述顯示器上顯示虛擬對象的第一圖像的裝置包括用于將所述虛擬對象顯示為錨定于所標識出的合適錨表面的裝置。
29.如權(quán)利要求27所述的計算設備,其特征在于,用于向第二身佩式計算設備傳送信號的裝置包括:用于向所述第二身佩式設備傳送指示所述虛擬對象的取向的信號的裝置,以使得使所述第二身佩式計算設備顯示所述第二圖像包括使所述第二身佩式計算設備在部分地基于由所述第一身佩式設備傳送的所述信號中所指示的所述虛擬對象的取向來確定的取向上顯示所述虛擬對象。
30.如權(quán)利要求27所述的計算設備,其特征在于,用于向第二身佩式計算設備傳送信號的裝置包括用于向所述第二身佩式設備傳送指示所述虛擬對象的優(yōu)選取向的信號的裝置。
31.如權(quán)利要求30所述的計算設備,其特征在于,用于向第二身佩式計算設備傳送信號的裝置包括:用于傳送使所述第二計算設備將所述虛擬對象顯示為錨定于與所述第一錨表面基本相同的表面的信號的裝置。
32.如權(quán)利要求27所述的計算設備,其特征在于,用于向第二身佩式計算設備傳送信號的裝置包括:用于向所述第二身佩式設備傳送所述虛擬對象以使得顯示所述第二圖像包括將所述虛擬對象顯示為在所述第二取向上錨定于所述第一錨表面的的裝置。
33.如權(quán)利要求27 所述的計算設備,進一步包括用于從網(wǎng)絡接收所述虛擬對象的裝置。
34.如權(quán)利要求27所述的計算設備,進一步包括用于向所述第二身佩式計算設備傳送所述虛擬對象的裝置。
35.一種其上存儲有處理器可執(zhí)行軟件指令的非瞬態(tài)計算機可讀存儲介質(zhì),所述處理器可執(zhí)行軟件指令被配置成使處理器執(zhí)行操作,所述操作包括: 捕捉場景的場景圖像; 在電子顯示器上顯示虛擬對象的第一圖像,所述第一圖像將所述虛擬對象顯示為在對身佩式計算設備的佩戴者而言恰適的第一取向上錨定于所捕捉到的場景圖像內(nèi)的第一錨表面;以及 向第二身佩式計算設備傳送信號,以使所述第二身佩式計算設備在第二頭戴式顯示器上顯示所述虛擬對象的第二圖像,所述第二圖像將所述虛擬對象顯示為在對所述第二身佩式設備的佩戴者而言恰適的第二取向上錨定于第二錨表面。
36.如權(quán)利要求35所述的非瞬態(tài)計算機可讀存儲介質(zhì),其中所存儲的處理器可執(zhí)行軟件指令配置成使處理器執(zhí)行操作,所述操作進一步包括: 分析所捕捉到的場景圖像以標識所述場景圖像內(nèi)在接近于所述身佩式設備的佩戴者正看著的方向的方向上的合適錨表面,并且其中所存儲的處理器可執(zhí)行軟件指令配置成使處理器執(zhí)行操作以使得在所述顯示器上顯示虛擬對象的第一圖像包括將所述虛擬對象顯不為錨定于所標識出的合適錨表面。
37.如權(quán)利要求35所述的非瞬態(tài)計算機可讀存儲介質(zhì),其特征在于,所存儲的處理器可執(zhí)行指令配置成使處理器執(zhí)行操作以使得向第二身佩式計算設備傳送信號包括:向所述第二身佩式設備傳送指示所述虛擬對象的取向的信號,以使得使所述第二身佩式計算設備顯示所述第二圖像包括使所述第二身佩式計算設備在部分地基于由所述第一身佩式設備傳送的所述信號中所指示的所述虛擬對象的取向來確定的取向上顯示所述虛擬對象。
38.如權(quán)利要求35所述的非瞬態(tài)計算機可讀存儲介質(zhì),其中所存儲的處理器可執(zhí)行軟件指令配置成使處理器執(zhí)行操作,所述操作包括: 向所述第二身佩式設備傳送指示所述虛擬對象的優(yōu)選取向的信號,所述信號包括用于使所述第二計算設備向所述第二身佩式設備的佩戴者通告所指示的優(yōu)選取向的信息,所述通告所指示的優(yōu)選取向的方式使得所述第二身佩式設備的佩戴者能接受或拒絕所指示的優(yōu)選取向來使所述第二圖像被顯示在所述第二頭戴式顯示器上,以使得當所述優(yōu)選取向被接受時所述虛擬對象是基于所指示的優(yōu)選取向來取向的,并且當所述優(yōu)選取向被拒絕時,所述虛擬對象是以不同于所指示的優(yōu)選取向的方式來取向的。
39.如權(quán)利要求38所述的非瞬態(tài)計算機可讀存儲介質(zhì),其特征在于,所存儲的處理器可執(zhí)行軟件指令配置成使處理器執(zhí)行操作以使得向第二身佩式計算設備傳送信號包括:傳送使所述第二計算設備將所述虛擬對象顯示為錨定于與所述第一錨表面基本上相同的表面的信號。
40.如權(quán)利要求35所述的非瞬態(tài)計算機可讀存儲介質(zhì),其特征在于,所存儲的處理器可執(zhí)行軟件指令配置成使處理器執(zhí)行操作以使得向第二身佩式計算設備傳送信號包括:向所述第二身佩式設備傳送所述虛擬對象,以使得顯示所述第二圖像包括將所述虛擬對象顯示為在所述第二取向上錨定于所述第一錨表面。
41.如權(quán)利要求35所述的非瞬態(tài)計算機可讀存儲介質(zhì),其中所存儲的處理器可執(zhí)行軟件指令配置成使處理器執(zhí)行操作,所述操作包括: 從網(wǎng)絡接收所述虛擬對象。
42.如權(quán)利要求35所述的非瞬態(tài)計算機可讀存儲介質(zhì),其中所存儲的處理器可執(zhí)行軟件指令配置成使處理器執(zhí)行操作,所述操作包括: 向所述第二身佩式計算`設備傳送所述虛擬對象。
【文檔編號】G06T19/00GK103562968SQ201280026127
【公開日】2014年2月5日 申請日期:2012年3月29日 優(yōu)先權(quán)日:2011年3月29日
【發(fā)明者】G·瑪克西齊, A·J·艾法利特, P·瑪布特, D·T·貝瑞 申請人:高通股份有限公司