之間內(nèi)插的方向。
[0053]圖6示出描繪基于來自一個(gè)或多個(gè)傳感器的周期性運(yùn)動(dòng)的檢測(cè)和評(píng)估來在增強(qiáng)現(xiàn)實(shí)環(huán)境中定位身體鎖定虛擬對(duì)象的方法600的實(shí)施例的流程圖。
[0054]方法600包括,在602,接收來自一個(gè)或多個(gè)傳感器的傳感器數(shù)據(jù),以及在604,檢測(cè)并評(píng)估在所接收的傳感器數(shù)據(jù)中記錄的周期性運(yùn)動(dòng)。各種類型的周期性運(yùn)動(dòng)可被檢測(cè)并評(píng)估。作為第一非限制性示例,在與身體方向基本垂直的方向上的與用戶頭部相對(duì)應(yīng)的周期性運(yùn)動(dòng)可被檢測(cè)并評(píng)估。圖7A示出此周期性運(yùn)動(dòng)的一示例,其可通過方法600來檢測(cè)并評(píng)估。當(dāng)用戶經(jīng)歷運(yùn)動(dòng)時(shí),該用戶的頭部702可周期性地按側(cè)到側(cè)的方式振蕩(例如,在沿基本水平軸的從左到右的方向上)。此振蕩的幅度在圖7A中在704處示出。因?yàn)檫@種側(cè)到側(cè)振蕩的最大值可能出現(xiàn)在與用戶正在行走的方向基本垂直的方向上,所以對(duì)此最大值確定的方向(由水平軸706示出)可被用來確定所估計(jì)的用戶身體方向并從而設(shè)置BLDV。
[0055]沿豎直軸的周期性頭部運(yùn)動(dòng)也可被檢測(cè)并評(píng)估。圖7B示出用戶的頭部702可沿豎直軸708按上下方式周期性地振蕩,這種振蕩的距離由豎直距離710表示。沿豎直軸708的這種振蕩的檢測(cè)可指示用戶正在行走、跑步等。在這種運(yùn)動(dòng)的實(shí)例中,當(dāng)前HDV可被評(píng)估并被分配到BLDV。
[0056]進(jìn)一步,在傳感器數(shù)據(jù)中記錄的周期性運(yùn)動(dòng)可被檢測(cè)并評(píng)估以確定在所選的時(shí)間歷時(shí)上用戶的平均頭部位置。例如,該平均頭部位置可以是加權(quán)平均,以使得基于在某些時(shí)間(例如,與最小頭部運(yùn)動(dòng)相對(duì)應(yīng)的時(shí)間)的傳感器數(shù)據(jù)確定的頭部位置可比基于在其它時(shí)間(例如,與顯著頭部運(yùn)動(dòng)相對(duì)應(yīng)的時(shí)間)的傳感器數(shù)據(jù)確定的頭部位置更高地被加權(quán)。BLDV隨后可基于在所選擇的歷時(shí)上的用戶的頭部位置的加權(quán)平均來確定。
[0057]在又一些實(shí)施例中,對(duì)周期性頭部運(yùn)動(dòng)的其它分析可被執(zhí)行。例如,可執(zhí)行分析以確定最小化頭部沿前后方向的運(yùn)動(dòng)的周期性頭部運(yùn)動(dòng)的方向,因?yàn)榇朔较蚩杀患俣閷?duì)應(yīng)于該用戶行走的方向(由于行走的周期性運(yùn)動(dòng)在側(cè)到側(cè)方向上是最大的)。所確定的方向隨后可被分配給BLDV。
[0058]在一些實(shí)施例中,附加傳感器數(shù)據(jù)可被從用戶穿戴、持有、或以其它方式附接于除了頭部之外的位置的輔助設(shè)備傳感器接收。作為一個(gè)非限制性示例,智能電話可被攜帶在用戶前褲袋中。智能電話中包括的羅盤和IMU可被用來確定智能電話的定向。所估計(jì)的用戶身體方向由此可基于智能電話定向來確定。
[0059]在其它場(chǎng)景中,附加周期性運(yùn)動(dòng)數(shù)據(jù)可被從在用戶的褲袋中放置的輔助、分離的設(shè)備中包括一個(gè)或多個(gè)傳感器接收。以下周期性運(yùn)動(dòng)示例將參考這樣的場(chǎng)景來描述,但是要領(lǐng)會(huì),該方法可適用于相對(duì)于用戶身體位于其它位置的其它設(shè)備。
[0060]在一個(gè)示例方法中,由智能電話或其它輔助設(shè)備的加速度計(jì)記錄的傳感器數(shù)據(jù)可被評(píng)估,如在604處所示,以確定用戶正經(jīng)歷的平移運(yùn)動(dòng)的方向。如果用戶正在行走,則用戶的腿可周期性地在前后方向上移動(dòng)。此運(yùn)動(dòng)可在來自智能電話的傳感器的數(shù)據(jù)中檢測(cè)至IJ,以尋找主要運(yùn)動(dòng)方向。主要方向隨后可被分配給BLDV。圖7C示出了步伐箭頭712,其表示用戶的腿可能經(jīng)歷的運(yùn)動(dòng)的方向,其中主軸可基本對(duì)應(yīng)于步伐箭頭712。這種方法可促進(jìn)BLDV的確定,而無需知道智能電話的定向。
[0061]在另一方法中,由用戶的口袋中的智能電話的陀螺儀記錄的傳感器數(shù)據(jù)可被評(píng)估以確定平移用戶運(yùn)動(dòng)的方向。當(dāng)用戶行走時(shí),用戶的腿可周期性地繞髖關(guān)節(jié)和在用戶的髖關(guān)節(jié)之間延伸的髖軸旋轉(zhuǎn)。從而,來自陀螺儀的傳感器數(shù)據(jù)可被評(píng)估來確定髖軸,且BLDV可被確定為為基本垂直于髖軸的向量。圖7C示出在平移運(yùn)動(dòng)期間用戶的腿和/或髖可繞其旋轉(zhuǎn)的髖軸714的示例。
[0062]繼續(xù),方法600可包括,在606,校正來自獨(dú)立的設(shè)備的傳感器信號(hào)中的偏航旋轉(zhuǎn)(yaw rotat1n)的至少一部分。智能電話或在褲帶中攜帶的其它設(shè)備的上下文中的偏航旋轉(zhuǎn)可對(duì)應(yīng)于繞豎直軸(例如,從頭到腳趾延伸的軸)的用戶旋轉(zhuǎn)。要理解,與用戶方向的改變相對(duì)應(yīng)的偏航旋轉(zhuǎn)數(shù)據(jù)對(duì)于確定BLDV可能是有用的,而其它類型的偏航旋轉(zhuǎn)數(shù)據(jù)(例如對(duì)應(yīng)于例如行走期間周期性的髖擺動(dòng)的偏航旋轉(zhuǎn)數(shù)據(jù))在確定BLDV時(shí)可能是相對(duì)較不有用的。
[0063]圖7D示出解說不同類型的偏航旋轉(zhuǎn)的兩個(gè)圖,其中豎直軸表示距參考方向(例如,在時(shí)間0時(shí)的用戶身體方向)的徑向距離,而水平軸表示時(shí)間。作為時(shí)間的函數(shù)的來自髖擺動(dòng)的周期性偏航運(yùn)動(dòng)可看上去如在716處示出的那樣,而對(duì)應(yīng)于用戶身體定向的改變的偏航運(yùn)動(dòng)可看上去如在718處示出的那樣。從而,糾正總偏航旋轉(zhuǎn)信號(hào)以獲得偏航數(shù)據(jù)中的周期性運(yùn)動(dòng)可允許恢復(fù)在718中示出的數(shù)據(jù),其可被用來確定身體定向的指示,并從而確定BLDV。
[0064]而且,偏航旋轉(zhuǎn)數(shù)據(jù)的周期性分量也可被用來確定BLDV。例如,用戶的腿的速度可根據(jù)其在步伐中的位置而改變,因?yàn)橥仍诓椒サ闹虚g期間可實(shí)現(xiàn)其最大速度,且在步伐的開始和結(jié)束點(diǎn)上可實(shí)現(xiàn)其最小速度。因?yàn)椴椒サ闹虚g的移動(dòng)方向可對(duì)應(yīng)于用戶正行走的方向,所以周期性偏航運(yùn)動(dòng)可被評(píng)估以確定步伐速度在其最大值時(shí)步伐中的位置。此位置處的運(yùn)動(dòng)的方向則可被用來確定BLDV。
[0065]要領(lǐng)會(huì),糾正周期性運(yùn)動(dòng)以獲得髖擺動(dòng)偏航旋轉(zhuǎn)可按任何適當(dāng)方式來執(zhí)行,包括但不限于算術(shù)方法。而且,在一些實(shí)施例中,可對(duì)周期性偏航旋轉(zhuǎn)數(shù)據(jù)執(zhí)行周期到頻率變換(例如,傅立葉變換)來確定一個(gè)或多個(gè)特征頻率,所述特征頻率隨后可被從總傳感器數(shù)據(jù)移除。
[0066]繼續(xù)圖6,方法600包括,在608,基于該周期性運(yùn)動(dòng)來確定BLDV。這可按任何適當(dāng)方式執(zhí)行,包括但不限于上述方式中的任一個(gè)或多個(gè)方式。進(jìn)而,在610,方法600包括基于所確定的BLDV定位一個(gè)或多個(gè)虛擬對(duì)象。
[0067]在一些實(shí)施例中,時(shí)間閾值可被用來幫助在用戶不活動(dòng)的時(shí)間段期間維持BLDV。例如,如果用戶在一閾值時(shí)間內(nèi)沒有執(zhí)行在所定義的范圍外的任何平移或旋轉(zhuǎn)移動(dòng),則BLDV可被鎖定到隨時(shí)間的平均HDV以阻止BLDV的漂移,直到顯著運(yùn)動(dòng)再次發(fā)生。
[0068]在一些實(shí)施例中,上述的方法和過程可以涉及具有一個(gè)或多個(gè)計(jì)算設(shè)備的計(jì)算系統(tǒng)。尤其地,這樣的方法和過程可被實(shí)現(xiàn)為計(jì)算機(jī)應(yīng)用程序或服務(wù)、應(yīng)用編程接口(API)、庫(kù)和/或其他計(jì)算機(jī)程序產(chǎn)品。
[0069]圖8示意性地示出計(jì)算系統(tǒng)800的非限制性實(shí)施例,該計(jì)算系統(tǒng)可以進(jìn)行上述方法和過程中的一個(gè)或多個(gè)。計(jì)算系統(tǒng)800以簡(jiǎn)化形式示出。應(yīng)該理解,可以使用實(shí)際上任何計(jì)算機(jī)架構(gòu),而不偏離本發(fā)明的范圍。在不同的實(shí)施例中,計(jì)算系統(tǒng)800可以采取大型計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、平板計(jì)算機(jī)、家庭娛樂計(jì)算機(jī)、網(wǎng)絡(luò)計(jì)算設(shè)備、游戲設(shè)備、移動(dòng)計(jì)算設(shè)備、移動(dòng)通信設(shè)備(例如智能電話)、頭戴式顯示器等等的形式。
[0070]計(jì)算系統(tǒng)800包括邏輯子系統(tǒng)802和存儲(chǔ)子系統(tǒng)804。計(jì)算系統(tǒng)800可任選地包括顯示子系統(tǒng)806、輸入子系統(tǒng)808、通信子系統(tǒng)810和/或在圖8中未示出的其他組件。
[0071]邏輯子系統(tǒng)802包括被配置為執(zhí)行指令的一個(gè)或多個(gè)物理設(shè)備。例如,邏輯子系統(tǒng)可以被配置為執(zhí)行作為一個(gè)或多個(gè)應(yīng)用、服務(wù)、程序、例程、庫(kù)、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)或其它邏輯構(gòu)造的一部分的指令??梢詫?shí)現(xiàn)這樣的指令為執(zhí)行任務(wù)、實(shí)現(xiàn)數(shù)據(jù)類型、變換一個(gè)或多個(gè)組件的狀態(tài)或以其它方式達(dá)到所需的結(jié)果。
[0072]邏輯子系統(tǒng)可包括被配置成執(zhí)行軟件指令的一個(gè)或多個(gè)處理器。附加地或可替代地,邏輯子系統(tǒng)可以包括被配置為執(zhí)行硬件或固件指令的一個(gè)或多個(gè)硬件或固件邏輯機(jī)器。邏輯子系統(tǒng)的處理器可以是單核或多核的,而其上執(zhí)行的程序可以被配置為進(jìn)行串行、并行或分布式處理。邏輯子系統(tǒng)可以任選地包括分布在兩個(gè)或更多設(shè)備之間的獨(dú)立組件,這些獨(dú)立組件在一些實(shí)施例中可以位于遠(yuǎn)程和/或被配置用于進(jìn)行協(xié)調(diào)處理。邏輯子系統(tǒng)的各方面可由以云計(jì)算配置進(jìn)行配置的可遠(yuǎn)程訪問的聯(lián)網(wǎng)計(jì)算設(shè)備來虛擬化和執(zhí)行。
[0073]存儲(chǔ)子系統(tǒng)804包括一個(gè)或多個(gè)物理設(shè)備,該一個(gè)或多個(gè)物理設(shè)備被配置成保持邏輯子系統(tǒng)可執(zhí)行來實(shí)現(xiàn)本文中所述的方法和過程的數(shù)據(jù)和/或指令。在實(shí)現(xiàn)此類方法和過程時(shí),存儲(chǔ)子系統(tǒng)804的狀態(tài)可以被變換一一例如,以保持不同的數(shù)據(jù)。
[0074]存儲(chǔ)子系統(tǒng)804可以包括可移動(dòng)介質(zhì)和/或內(nèi)置設(shè)備。存儲(chǔ)子系統(tǒng)804可包括光學(xué)存儲(chǔ)設(shè)備(例如,⑶、DVD、HD - DVD、藍(lán)光盤等)、半導(dǎo)體存儲(chǔ)器設(shè)備(例如,RAM、EPROM,EEPR0M等)和/或磁性存儲(chǔ)設(shè)