在308,方法300包括基于BLDV來(lái)定位虛擬對(duì)象。如圖1A中所示,例如,基于BLDV108在用戶104視野中定位全息TV 110。在此示例中,全息TV 110被定位以使得全息TV的主要表面(例如顯示屏)的中心與BLDV 108相交。然而,要領(lǐng)會(huì),虛擬對(duì)象可相對(duì)于所確定的BLDV被定位在任何適當(dāng)位置和/或定向,且這種位置和/或定向可以是與該虛擬對(duì)象相關(guān)聯(lián)的屬性或策略。進(jìn)一步,一些場(chǎng)景中的虛擬對(duì)象可相對(duì)于所確定的BLDV被定位但是在用戶視野之外(例如,在用戶后面)。
[0033]在310,方法300包括接收來(lái)自傳感器的附加傳感器數(shù)據(jù)。附加傳感器數(shù)據(jù)可按照任何適當(dāng)頻率接收,例如在HDM或其它計(jì)算設(shè)備上執(zhí)行的應(yīng)用的更新間隔時(shí)。作為非限制性示例,傳感器數(shù)據(jù)可每秒接收30次,這可允許平滑外觀運(yùn)動(dòng)跟蹤。
[0034]在312,確定在310接收的附加傳感器數(shù)據(jù)是否滿足運(yùn)動(dòng)閾值。該閾值例如可對(duì)應(yīng)于關(guān)于該附加傳感器數(shù)據(jù)可能對(duì)應(yīng)于頭部運(yùn)動(dòng)還是身體運(yùn)動(dòng)的試探法。運(yùn)動(dòng)閾值可以是與用戶頭部的旋轉(zhuǎn)定向相對(duì)應(yīng)的旋轉(zhuǎn)閾值、平移閾值、和/或任何其它適當(dāng)閾值。
[0035]如果在312確定在310接收的附加傳感器數(shù)據(jù)不滿足運(yùn)動(dòng)閾值,則方法300返回310。在一些實(shí)施例中,在310接收的附加傳感器數(shù)據(jù)可被累積且所得到的累積總和可與該運(yùn)動(dòng)閾值進(jìn)行比較。
[0036]如果轉(zhuǎn)而在312確定附加傳感器數(shù)據(jù)滿足運(yùn)動(dòng)閾值(是),則方法300前進(jìn)到314。在314,方法300包括更新BLDV,且在316,基于更新后的BLDV重定位虛擬對(duì)象。任何適當(dāng)方法可被用來(lái)基于更新后的BLDV重定位虛擬對(duì)象。作為非限制性示例,通過(guò)基于從傳感器接收到的傳感器數(shù)據(jù)首先獲得HDV、確定與所估計(jì)的用戶身體位置相對(duì)應(yīng)的偏移(例如,豎直偏移)、以及向該HDV添加該偏移以形成偏移HDV,虛擬對(duì)象可被重定位在用戶前方一米。隨后,如上所述地確定的BLDV的幅度可被縮放到一米(例如),且該BLDV可被添加到該偏移BLDV以形成第三結(jié)果向量。隨后可基于該第三結(jié)果向量重定位該虛擬對(duì)象。
[0037]在一些示例中,虛擬對(duì)象可在確定更新后的BLDV之后被立即重定位。在其它示例中,虛擬對(duì)象的重定位可按更平滑和漸變的方式執(zhí)行,并可按因?qū)ο蠖惖姆绞綀?zhí)行。例如,類似于影子(ghost)的對(duì)象可在確定更新后的BLDV之后通過(guò)在煙霧云的經(jīng)更新視野中重現(xiàn)而被重定位。而且,在另一示例中,虛擬對(duì)象可通過(guò)按照與更新后的BLDV和先前BLDV之間的差別成比例的速度進(jìn)入更新后的視野而被重定位。
[0038]如在圖3中的316所指示的,重定位虛擬對(duì)象可包括在用戶視野中平移虛擬對(duì)象和/或旋轉(zhuǎn)該虛擬對(duì)象的一個(gè)或多個(gè)維度。在一些方法中,虛擬對(duì)象可被定位或重定位以使得該對(duì)象基于現(xiàn)實(shí)世界環(huán)境中的特征而不是用戶的位置而被定向。例如,全息電視可被定位成使得全息電視平行于該環(huán)境中的現(xiàn)實(shí)物理墻壁,而不是與該BLDV正交。
[0039]作為另一非限制性示例,表示重力的信息(例如,被加速度計(jì)變得可用的重力向量)可被用來(lái)維持從用戶的視角看全息電視的向上的定向。而且,虛擬對(duì)象的一個(gè)或多個(gè)維度可被旋轉(zhuǎn)以將虛擬對(duì)象的所選擇的方面自動(dòng)朝用戶的身體定向。對(duì)象的被準(zhǔn)許的旋轉(zhuǎn)和平移運(yùn)動(dòng)可以是與所選擇的虛擬對(duì)象和/或虛擬對(duì)象類型相關(guān)聯(lián)的屬性或策略。
[0040]繼續(xù)圖3,在318,在一些實(shí)施例中,傳感器數(shù)據(jù)可被用來(lái)確定與語(yǔ)音輸入相關(guān)聯(lián)的置信度得分。這種置信度得分例如可通過(guò)將HDV與BLDV進(jìn)行比較來(lái)確定。HDV和BLDV之間的更高的角度可指示用戶當(dāng)前沒(méi)有看向該BLDV附近放置的身體鎖定的用戶界面,并且因此該語(yǔ)音不太可能旨在作為語(yǔ)音輸入。從而,在一些示例中,更高的角度可導(dǎo)致更低的置信度得分。
[0041]在一些實(shí)施例中,離散的角度區(qū)域可對(duì)應(yīng)于導(dǎo)致不同動(dòng)作的執(zhí)行的離散的、不同的置信度等級(jí)。例如,在一個(gè)具體示例中,如果確定HDV和BLDV之間的角度在0°和30°之間,則語(yǔ)音輸入命令可被執(zhí)行而無(wú)需進(jìn)一步確認(rèn)。如果該角度在30°和60°之間,則語(yǔ)音輸入的執(zhí)行可能需要附加的確認(rèn)(例如,附加的語(yǔ)音輸入)。如果該角度為60°或更大,則語(yǔ)音輸入可被忽略。在其它實(shí)施例中,可以使用更連續(xù)的方法。
[0042]置信度得分的確定可利用任何其它適當(dāng)信息。例如,置信度得分確定可利用與用戶相關(guān)聯(lián)的HDV與對(duì)象(例如,可讀文檔,諸如虛擬報(bào)紙)相交的歷時(shí),以使得置信度得分根據(jù)增加的時(shí)間而增加。更一般地,可以認(rèn)為,用戶與對(duì)象接洽越長(zhǎng)(在以上示例中通過(guò)HDV-對(duì)象相交來(lái)測(cè)量),則語(yǔ)音輸入更可能旨在針對(duì)該環(huán)境的一對(duì)象或方面。
[0043]圖4示出描繪在增強(qiáng)現(xiàn)實(shí)環(huán)境中定位身體鎖定虛擬對(duì)象的方法400的另一實(shí)施例的流程圖。圖4的實(shí)施例跟蹤附加向量,在此處該向量被稱為最后有效運(yùn)動(dòng)向量(LSMV)。與方法300 —樣,方法400可在被配置成呈現(xiàn)增強(qiáng)現(xiàn)實(shí)環(huán)境的任何適當(dāng)設(shè)備(包括但不限于HMD)上執(zhí)行。
[0044]在402,方法400包括初始化BLDV和LSMV,例如,在HDM或其它計(jì)算設(shè)備的初始化期間。LSMV可被用來(lái)跟蹤用戶的平移運(yùn)動(dòng)以及更新BLDV,如下所述。
[0045]在404,在傳感器數(shù)據(jù)中記錄的用戶運(yùn)動(dòng)被檢測(cè),其中用戶運(yùn)動(dòng)可對(duì)應(yīng)于平移和/或旋轉(zhuǎn)運(yùn)動(dòng)。在406,確定是否滿足累積運(yùn)動(dòng)閾值。該閾值可以是平移閾值,并且可對(duì)應(yīng)于該用戶橫穿的現(xiàn)實(shí)世界距離(例如,一米)。
[0046]如果在406確定尚未滿足該累積閾值,則方法400返回404,其中基于接收到的傳感器數(shù)據(jù),用戶運(yùn)動(dòng)被再次檢測(cè)到。如此,在累積閾值未滿足的同時(shí)用戶運(yùn)動(dòng)可被累積。從而,在各實(shí)例中,基本對(duì)應(yīng)于單個(gè)動(dòng)作的平移用戶運(yùn)動(dòng)(例如,滿足該閾值的前向方向上的一系列連續(xù)步伐)和對(duì)應(yīng)于一系列時(shí)間上分開(kāi)的步伐的平移用戶運(yùn)動(dòng)兩者均可能滿足該閾值。
[0047]如果確定累積閾值已被滿足,則方法400前進(jìn)到408,在該步驟更新LSMV。LSMV可被賦予任何適當(dāng)?shù)母潞笾?。例如,更新后LSMV可包括與基于用戶身體面向用戶移動(dòng)閾值距離的方向的假設(shè)確定的用戶身體平移的方向相對(duì)應(yīng)的方向。
[0048]在410繼續(xù),方法400包括在一個(gè)或多個(gè)更新間隔中的每一個(gè)時(shí)確定LSMV和HDV之間的角度。HDV可從HMD傳感器數(shù)據(jù)確定,而該一個(gè)或多個(gè)更新間隔可對(duì)應(yīng)于在該HDM或其它計(jì)算設(shè)備上經(jīng)歷執(zhí)行的應(yīng)用的更新間隔,如上所述。
[0049]在412,方法400包括確定該角度是否滿足閾值條件(例如,滿足或超過(guò)閾值角度、或任何其它適當(dāng)閾值條件)。如果確定該角度滿足閾值條件,則方法400返回404,在該步驟檢測(cè)進(jìn)一步用戶運(yùn)動(dòng)。如果轉(zhuǎn)而確定該角度不滿足閾值條件,則方法400前進(jìn)到414,在該步驟基于LSMV更新BLDV。從而,如果該用戶經(jīng)歷平移運(yùn)動(dòng)的閾值量且正看向基本類似于平移運(yùn)動(dòng)的方向的方向,則可確定該用戶的身體可能正沿該方向移動(dòng)(例如,用戶正在走路),并且從而B(niǎo)LDV (例如,身體方向)可被設(shè)置為該LSVM或以其它方式用該LSMV來(lái)更新。另一方面,如果平移運(yùn)動(dòng)和頭部方向之間的角度滿足閾值條件(例如,角度),則用戶的身體朝向的可能方向可能較不清晰。如此,BLDV不被更新。
[0050]在414基于LSMV更新BLDV可任選地包括內(nèi)插(interpolate)針對(duì)在LSMV和先前BLDV之間的更新后BLDV的方向。這可有助于在用戶隨時(shí)間移動(dòng)時(shí)平滑身體鎖定虛擬對(duì)象的運(yùn)動(dòng)。方法400進(jìn)一步包括,在416,基于更新后BLDV重定位虛擬對(duì)象。
[0051]圖5解說(shuō)根據(jù)方法400的示例向量確定,并且示出在初始化各向量之后在時(shí)間h與該用戶相關(guān)聯(lián)的HDV、BLDV和LSMV。在時(shí)間t2,用戶104已經(jīng)歷在由箭頭502表示的方向上的平移運(yùn)動(dòng),且該平移運(yùn)動(dòng)的量滿足平移運(yùn)動(dòng)閾值(例如,在方法400的406評(píng)估的累積閾值),連同一定的旋轉(zhuǎn)運(yùn)動(dòng)。LSMV相應(yīng)地已被更新以指向箭頭502所表示的平移方向。在此示例中,用戶104頭部方向在順時(shí)針?lè)较蛏下晕⑿D(zhuǎn)。相應(yīng)地,與LSMV相比,此例中示出的HDV反映頭部的此旋轉(zhuǎn)運(yùn)動(dòng),而LSMV反映了平移運(yùn)動(dòng)而不反映旋轉(zhuǎn)運(yùn)動(dòng)。
[0052]在t2,BLDV至此保留其在圖1中示出的先前值(例如,方向和幅度)。接下來(lái),HDV和LSMV之間的角度504被確定并被與一閾值相比較。此處,角度504不滿足該閾值。如此,BLDV在時(shí)間&被更新。在所描繪的示例中,BLDV被更新以匹配LSMV的方向。在其它實(shí)施例中,BLDV可被更新以匹配在LSMV和先前BLDV