<strike id="r1pl9"></strike>
<strike id="r1pl9"><dl id="r1pl9"><cite id="r1pl9"></cite></dl></strike> <strike id="r1pl9"><i id="r1pl9"></i></strike>
<span id="r1pl9"><dl id="r1pl9"><ruby id="r1pl9"></ruby></dl></span>
<span id="r1pl9"><dl id="r1pl9"></dl></span>
<strike id="r1pl9"></strike>
<strike id="r1pl9"><i id="r1pl9"><cite id="r1pl9"></cite></i></strike>
<strike id="r1pl9"></strike>
<strike id="r1pl9"></strike>
<strike id="r1pl9"></strike><strike id="r1pl9"></strike><span id="r1pl9"><i id="r1pl9"></i></span>
<strike id="r1pl9"><i id="r1pl9"></i></strike>
<span id="r1pl9"><dl id="r1pl9"><ruby id="r1pl9"></ruby></dl></span><strike id="r1pl9"><dl id="r1pl9"></dl></strike>
<strike id="r1pl9"></strike>
專題欄目:ARVRMR虛擬現實

微軟專利分享為多個定位追蹤設備共享數據實現6DoF統一坐標

六自由度追蹤是設備使用傳感器確定其相對于周圍物理環境位置的方法。例如,混合現實頭顯或智能手機可以使用這種位置理解來放置全息圖或數字內容,以便看起來世界鎖定在物理世界中的特定位置。為了支持兩個或多個這樣的設備加入至相同的體驗,兩臺設備需要對位置具有共同的理解。所以,可以在設備之間共享映射數據。

在名為“Sharing neighboring map data across devices”的專利申請中,微軟就介紹了一種相關的技術。

追蹤設備位置的一種方法是外向內追蹤。盡管這種方法可以確定兩個或多個設備的位置,但它需要在外部定位傳感器,這在某些情況下可能不方便或不切實際。

追蹤設備位置的另二種方法是為內向外追蹤。內向外追蹤無需借助環境中的外部傳感器即可確定其位置的方法。盡不過,位置數據是在每個設備內確定。因此,協調設備之間的相對對齊是一個挑戰。

兩個或多個內向外追蹤設備實現六自由度坐標對準的一種傳統方法是,使用識別的標記以及物理環境中理解的相互參考點,以便每個設備確定其相對于特定點的位置。然而,一個局限性是,每增加一個標記,物理環境都需要改變,這會增加成本和設置時間,并減少自發性。

另外,如果標記移動或更改,設備之間關于標記的任何常見空間理解都必須更改,從而降低可靠性。這種方法同時限制了共享坐標的物理范圍,因為設備需要在物理環境中標記的操作范圍內。

另一種傳統方法是設備獨立生成映射,然后傳輸到中央服務器并拼合在一起,形成一個公共映射,然后將其重新傳輸回每個相應的設備。

但這種方法的缺點是傳輸時間變慢,因為需要通過網絡進行大量數據傳輸。另外,加載公共映射的設備可能會遇到本地映射數據的意外丟失,因為在與所有目標設備共享公共映射的過程中,每個目標設備中以前存在的映射數據可能會被覆蓋、刪除或刪除,并且公共映射可能不會100%保真度地保留來自每個貢獻設備的映射數據。

所以對于微軟而言,由設備共享映射數據是一種合適的解決方案。

圖4是根服務器計算設備與設備和交互的示意圖。服務器計算設備可用于生成位于目標虛擬位置處錨56的虛擬位置。目標虛擬位置可以被世界鎖定到一個位置。或者,目標虛擬位置可以被世界鎖定到相對于真實世界三維環境中的對象位置。

服務器計算設備可以包括錨程序和錨傳輸程序,錨傳輸程序可以存儲在計算設備的大容量存儲器中。錨程序和錨傳輸程序可加載到存儲器中,并由服務器計算設備的處理器執行,以生成位于錨56的虛擬位置,并將錨數據54和相鄰映射數據58從第一設備傳輸到第二設備。

服務器計算設備可以配置無線收發器。收發器230與第一設備和第二設備無線通信,以接收指令52并從顯示設備傳輸請求48,并將映射數據傳輸到顯示設備。可以理解,相鄰映射數據58是虛擬位置錨56所在的虛擬位置周圍的鄰近映射數據。

服務器計算設備可以通過與網絡的有線連接或無線連接與一個或多個其他設備進行通信耦合。在一個實施例中,網絡可以采取局域網(LAN)、廣域網(WAN)、有線網絡、無線網絡、個人區域網絡或其組合的形式,并且可以包括Internet。

在圖4的示例中,服務器計算設備通過一個或多個網絡通信地耦合到第一設備和第二設備。在其他示例中,服務器計算設備可以與更少或更多的設備進行操作連接。第一設備的顯示器和第二設備的顯示器可以從各自設備的有利位置在位于錨56的虛擬位置顯示一個或多個全息圖。

在一個示例中,位于虛擬地點的錨56的虛擬位置可以被世界鎖定到一個虛擬位置。在其他示例中,位于錨56的虛擬地點的虛擬位置可以被世界鎖定到相對于真實世界三維環境中的對象的虛擬位置。

第一設備和第二設備的處理器執行公共錨傳輸程序38。第一設備將本地映射數據32存儲到本地存儲器中,而第二設備將本地映射信息36存儲到本地內存中。本地映射數據可能包括顯示設備中視覺傳感器和/或慣性測量傳感器追蹤的顯示設備旋轉和平移運動。錨傳輸程序38以兩種模式之一執行:導出錨模式和導入錨模式。

在圖4中,第一設備描繪為正在執行錨傳輸程序38的導出錨模式,其中,第一設備向第二設備發送錨數據54和序列化的相鄰映射數據66。第二設備描繪為在執行錨傳輸程序38的導入錨模式。其中,第二顯示設備從另一設備接收錨數據54并序列化相鄰映射數據,使得第二設備最終將映射數據66合并到現有的本地映射數據36之中,以及使得第二設備的顯示器從第二用戶的有利位置向操作顯示一個或多個全息圖。

第一設備和第二設備可以通過與網絡的有線連接或無線連接與一個或多個其他設備進行通信耦合,但通信耦合并不特別受限,并且可以包括任何形式的數據流,包括Wi-Fi、電子郵件、外部數據存儲設備、云存儲設備等。

如圖5所示,第一用戶302可以穿著第一顯示設備30站在餐廳306中,在本示例中,第一顯示設備可以是頭戴式顯示器。

第一顯示設備30和第二顯示設備34可以包括錨傳輸程序38的程序邏輯,錨傳輸程序配置為發送和接收餐廳306的映射數據。在這個示例中,全息圖50使用目標錨56投影在桌子308上。另一全息圖的另一個相鄰錨64位于時鐘312中。第一用戶302和第二用戶304在房間306周圍漫游,分別操作第一顯示設備30和第二顯示設備34,以便從各自的有利位置從房間306中的不同角度查看全息圖50。

當用戶在房間306周圍漫游時,第一顯示設備30和第二顯示設備34內的傳感器18捕獲視覺和/或慣性追蹤數據,從而通過傳感器設備18追蹤顯示設備的旋轉和平移運動。它們觀察傳感器設備18的三維旋轉和平移,將其記錄為姿勢62A-G和關鍵幀60A-G,隨后分別作為本地映射數據32和本地映射數據36存儲在第一顯示設備30和第二顯示設備34中。

為了幫助每個顯示設備在房間內定位,顯示設備可以配置為觀察其環境中的角落,例如所示兩個窗口中每個窗口的四個角落,并可以使用檢測到的窗口角落的位置來校正其估計位置,。因此,可由每個設備存儲的本地映射數據的一個示例是指示房間中檢測到的窗口角落的特征匹配數據。

在圖5的示例中,第一用戶302可能希望指定一個虛擬位置,并在所述虛擬位置顯示藝術品圖像的全息圖50。為了設置全息圖50,第一用戶302可以通過操作第一顯示設備30,通過用戶輸入指定位于虛擬位置的錨56的虛擬位置,第一顯示設備執行錨傳輸程序38,向服務器計算設備200發送指令52,以生成位于圖片310一角的虛擬位置錨56。

服務器計算設備200實例化錨程序214以接收指令52。響應接收指令52,服務器計算設備20生成位于圖片310旁邊墻上的錨56的虛擬位置,并將錨56的錨數據54發送回第一顯示設備30,然后使用錨定數據54查看藝術品圖像的全息圖50。

或者,第一顯示設備30可以編程方式為位于世界鎖定虛擬位置的錨56處的虛擬位置生成指令52。例如,第一顯示設備30可以使用傳感器數據以編程方式將餐廳306中的圖片310識別為虛擬位置,從而生成虛擬位置定位錨。

響應于識別圖片310,第一顯示設備30可編程地向計算設備200發送指令52,以生成位于與圖片310的角對應的世界鎖定虛擬位置處的錨56的虛擬位置。

第一用戶302可能希望與正在使用第二顯示設備34的第二用戶304共享全息圖50。在這種情況下,第一用戶302向計算設備200發送傳輸請求48,以將對應于目標錨56的相鄰映射數據58傳輸到第二顯示設備34。在一個實施例中,從第二顯示設備34到第一顯示設備30的原始傳輸請求47可以致使第一顯示設備發送傳輸請求48。

計算設備200接收傳輸與目標錨56對應的相鄰映射數據58的請求48。設備檢索、序列化,并將相鄰映射數據58作為串行化的相鄰映射數據66發送到第一顯示設備30。串行化處理將鄰近映射數據58編碼為專有格式,只有計算設備200才能反串行化為對執行錨傳輸程序38的顯示設備可讀的格式。序列化的相鄰映射數據66可以以二進制文件或數據流的形式打包。

計算設備200可以應用錨傳輸程序216的程序邏輯來定義錨56的鄰域,以適當地確定對應于錨56的相鄰映射數據58。所述鄰域可以包括姿勢62A-G、關鍵幀60A-D、目標錨56附近的相鄰錨64。

第一顯示設備30接收序列化的相鄰映射數據66,然后將錨定數據54和序列化的相鄰映射數據66發送給第二顯示設備34。第二顯示設備34接收錨定數據64和序列化的鄰近映射數據66。然后將序列化的相鄰映射數據66發送到計算設備200。

計算設備200接收序列化的相鄰映射數據66,然后反序列化相鄰映射數據58,并將反序列化的相鄰映射數據68發送回第二顯示設備34。第二顯示設備34接收反序列化的鄰近映射數據68,然后,將反序列化的相鄰映射數據68縫合到存儲在第二顯示設備34中的本地映射數據36中,以創建集成映射數據。第二顯示設備34使用集成的映射數據在顯示器35渲染全息圖50圖像。

通過這種方式,兩人都可以以合適的角度在同一體驗中查看全息內容。

相關專利:Microsoft Patent | Sharing neighboring map data across devices

名為“Sharing neighboring map data across devices”的微軟專利申請最初在2022年6月提交,并在日前由美國專利商標局公布。

發表評論

相關文章

调教室体罚小尿奴男男h