JP2023527357A - 角加速の決定 - Google Patents
角加速の決定 Download PDFInfo
- Publication number
- JP2023527357A JP2023527357A JP2022572567A JP2022572567A JP2023527357A JP 2023527357 A JP2023527357 A JP 2023527357A JP 2022572567 A JP2022572567 A JP 2022572567A JP 2022572567 A JP2022572567 A JP 2022572567A JP 2023527357 A JP2023527357 A JP 2023527357A
- Authority
- JP
- Japan
- Prior art keywords
- head device
- inertial
- measurement unit
- wearable head
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000001133 acceleration Effects 0.000 title claims abstract description 114
- 238000005259 measurement Methods 0.000 claims abstract description 173
- 238000000034 method Methods 0.000 claims abstract description 49
- 230000010354 integration Effects 0.000 claims description 16
- 230000001052 transient effect Effects 0.000 claims 1
- 230000002085 persistent effect Effects 0.000 description 36
- 210000003128 head Anatomy 0.000 description 21
- 230000000007 visual effect Effects 0.000 description 16
- 230000033001 locomotion Effects 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 12
- 230000005236 sound signal Effects 0.000 description 12
- 239000013598 vector Substances 0.000 description 12
- 230000009466 transformation Effects 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 8
- 238000013507 mapping Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 201000003152 motion sickness Diseases 0.000 description 5
- 210000001747 pupil Anatomy 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000007654 immersion Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001953 sensory effect Effects 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000035807 sensation Effects 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 241000219357 Cactaceae Species 0.000 description 1
- 206010019233 Headaches Diseases 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 241000153282 Theope Species 0.000 description 1
- 230000004308 accommodation Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008045 co-localization Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 208000004209 confusion Diseases 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 206010013395 disorientation Diseases 0.000 description 1
- 210000003027 ear inner Anatomy 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 231100000869 headache Toxicity 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 150000003014 phosphoric acid esters Chemical class 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P15/00—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
- G01P15/02—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses
- G01P15/08—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses with conversion into electric or magnetic values
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P15/00—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
- G01P15/16—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by evaluating the time-derivative of a measured speed signal
- G01P15/165—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by evaluating the time-derivative of a measured speed signal for measuring angular accelerations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
Abstract
本明細書に開示されるものは、2つまたはそれを上回る慣性測定ユニット(IMU)を使用して、慣性データに基づいて、角加速を計算するためのシステムおよび方法である。計算された角加速は、IMUを備える、ウェアラブル頭部デバイスの位置を推定するために使用されてもよい。仮想コンテンツは、ウェアラブル頭部デバイスの位置に基づいて、提示されてもよい。いくつかの実施形態では、第1のIMUおよび第2のIMUは、一致する測定軸を共有する。
Description
(関連出願の相互参照)
本願は、その内容が参照することによってその全体として本明細書に組み込まれる、2020年5月29日に出願された、米国仮出願第63/031,985号の利益を請求する。
本願は、その内容が参照することによってその全体として本明細書に組み込まれる、2020年5月29日に出願された、米国仮出願第63/031,985号の利益を請求する。
本開示は、一般に、視覚的情報をマッピングおよび表示するためのシステムおよび方法に関し、特に、複合現実環境内で視覚的情報をマッピングおよび表示するためのシステムおよび方法に関する。
仮想環境は、コンピューティング環境において普遍的であって、ビデオゲーム(仮想環境が、ゲーム世界を表し得る)、マップ(仮想環境が、ナビゲートされるべき地形を表し得る)、シミュレーション(仮想環境が、実環境をシミュレートし得る)、デジタルストーリーテリング(仮想キャラクタが、仮想環境内で相互に相互作用し得る)、および多くの他の用途において使用を見出している。現代のコンピュータユーザは、概して、快適に仮想環境を知覚し、それと相互作用する。しかしながら、仮想環境を伴うユーザの体験は、仮想環境を提示するための技術によって限定され得る。例えば、従来のディスプレイ(例えば、2Dディスプレイ画面)およびオーディオシステム(例えば、固定スピーカ)は、人を引き付け、現実的で、かつ没入型の体験を作成するように、仮想環境を実現することが不可能であり得る。
仮想現実(「VR」)、拡張現実(「AR」)、複合現実(「MR」)、および関連技術(集合的に、「XR」)は、XRシステムのユーザにコンピュータシステム内のデータによって表される仮想環境に対応する感覚情報を提示する能力を共有する。本開示は、VR、AR、およびMRシステム間の特異性を考慮する(但し、いくつかのシステムは、一側面(例えば、視覚的側面)では、VRとしてカテゴリ化され、同時に、別の側面(例えば、オーディオ側面)では、ARまたはMRとしてカテゴリ化され得る)。本明細書で使用されるように、VRシステムは、少なくとも1つの側面においてユーザの実環境を置換する、仮想環境を提示する。例えば、VRシステムは、ユーザに、仮想環境のビューを提示し得る一方、同時に、光遮断頭部搭載型ディスプレイ等を用いて、実環境のそのビューを不明瞭にする。同様に、VRシステムは、ユーザに、仮想環境に対応するオーディオを提示し得る一方、同時に、実環境からのオーディオを遮断する(減衰させる)。
VRシステムは、ユーザの実環境を仮想環境と置換することから生じる、種々の短所を被り得る。1つの短所は、仮想環境内のユーザの視野が(仮想環境ではなく)実環境内におけるその平衡および配向を検出する、その内耳の状態にもはや対応しなくなるときに生じ得る、乗り物酔いを感じることである。同様に、ユーザは、自身の身体および四肢(そのビューは、ユーザが実環境内において「地に足が着いている」と感じるために依拠するものである)が直接可視ではない場合、VR環境内において失見当識を被り得る。別の短所は、特に、ユーザを仮想環境内に没入させようとする、リアルタイム用途において、完全3D仮想環境を提示しなければならない、VRシステムに課される算出負担(例えば、記憶、処理力)である。同様に、そのような環境は、ユーザが、仮想環境内のわずかな不完全性にさえ敏感である傾向にあって、そのいずれも、仮想環境内のユーザの没入感を破壊し得るため、没入していると見なされるために、非常に高水準の現実性に到達する必要があり得る。さらに、VRシステムの別の短所は、システムのそのような用途が、実世界内で体験する、種々の光景および音等の実環境内の広範囲の感覚データを利用することができないことである。関連短所は、実環境内の物理的空間を共有するユーザが、仮想環境内で直接見る、または相互に相互作用することが不可能であり得るため、VRシステムが、複数のユーザが相互作用し得る、共有環境を作成することに苦戦し得ることである。
本明細書で使用されるように、ARシステムは、少なくとも1つの側面において実環境に重複またはオーバーレイする、仮想環境を提示する。例えば、ARシステムは、表示される画像を提示する一方、光が、ディスプレイを通してユーザの眼の中に通過することを可能にする、透過性頭部搭載型ディスプレイ等を用いて、ユーザに、実環境のユーザのビュー上にオーバーレイされる仮想環境のビューを提示し得る。同様に、ARシステムは、ユーザに、仮想環境に対応するオーディオを提示し得る一方、同時に、実環境からのオーディオを混合させる。同様に、本明細書で使用されるように、MRシステムは、ARシステムと同様に、少なくとも1つの側面において実環境に重複またはオーバーレイする、仮想環境を提示し、加えて、MRシステム内の仮想環境が、少なくとも1つの側面において実環境と相互作用し得ることを可能にし得る。例えば、仮想環境内の仮想キャラクタが、実環境内の照明スイッチを切り替え、実環境内の対応する電球をオンまたはオフにさせてもよい。別の実施例として、仮想キャラクタが、実環境内のオーディオ信号に反応してもよい(顔の表情等を用いて)。実環境の提示を維持することによって、ARおよびMRシステムは、VRシステムの前述の短所のうちのいくつかを回避し得る。例えば、ユーザにおける乗り物酔いは、実環境からの視覚的キュー(ユーザ自身の身体を含む)が、可視のままであり得、そのようなシステムが、没入型であるために、ユーザに、完全に実現された3D環境を提示する必要がないため、低減される。さらに、ARおよびMRシステムは、実世界感覚入力(例えば、景色、オブジェクト、および他のユーザのビューおよび音)を利用して、その入力を拡張させる、新しい用途を作成することができる。
実環境に重複またはオーバーレイする、仮想環境を提示することは、困難であり得る。例えば、仮想環境と実環境を混合することは、仮想環境内のオブジェクトが実環境内のオブジェクトと競合しないように、実環境の複合的かつ完全な理解を要求し得る。さらに、実環境内の一貫性と対応する、仮想環境内の持続性を維持することが望ましくあり得る。例えば、物理的テーブル上に表示される仮想オブジェクトは、ユーザが、視線を逸らし、動き回り、次いで、物理的テーブルに視線を戻す場合でも、同一場所に現れることが望ましくあり得る。本タイプの没入感を達成するために、オブジェクトが実世界内に存在する場所およびユーザが実世界内に存在する場所の正確かつ精密な推定値を展開することが、有益であり得る。
本明細書に開示されるものは、2つまたはそれを上回る慣性測定ユニット(IMU)を使用して、慣性データに基づいて、角加速を計算するためのシステムおよび方法である。計算された角加速は、IMUを備える、ウェアラブル頭部デバイスの位置を推定するために使用されてもよい。仮想コンテンツは、ウェアラブル頭部デバイスの位置に基づいて、提示されてもよい。いくつかの実施形態では、第1のIMUおよび第2のIMUは、一致する測定軸を共有する。
いくつかの実施形態では、システムが、第1の慣性測定ユニットと、第2の慣性測定ユニットと、第1の慣性測定ユニットを介して、第1の慣性データを受信することと、第2の慣性測定ユニットを介して、第2の慣性データを受信することと、第1の慣性データに基づいて、かつ、さらに第2の慣性データに基づいて、角加速を計算することと、角加速に基づいて、ウェアラブル頭部デバイスの第1の位置を推定することと、ウェアラブル頭部デバイスの第1の位置に基づいて、仮想コンテンツを提示することとを含む、方法を実行するように構成される、1つまたはそれを上回るプロセッサとを備える。
いくつかの実施形態では、第1の慣性測定ユニットおよび第2の慣性測定ユニットは、一致する測定軸を共有する。
いくつかの実施形態では、本システムはさらに、一致する測定軸を第1の慣性測定ユニットおよび第2の慣性測定ユニットと共有しない、第3の慣性測定ユニットを備える。
いくつかの実施形態では、本方法はさらに、第3の慣性測定ユニットを介して、第3の慣性データを生成することを含み、角加速は、さらに第3の慣性データに基づいて計算される。
いくつかの実施形態では、角加速に基づいて、ウェアラブル頭部デバイスの第1の位置を推定することは、角加速に基づいて、予備積分項を計算することを含む。
いくつかの実施形態では、予備積分項は、ウェアラブル頭部デバイスの第1の状態をウェアラブル頭部デバイスの第2の状態に関連させ、各状態は、個別の位置データ、個別の速度データ、個別の加速度計バイアスデータ、および個別のジャイロスコープバイアスデータを備える。
いくつかの実施形態では、本方法はさらに、角加速に基づいて、かつ、さらにウェアラブル頭部デバイスの第1の位置に基づいて、ウェアラブル頭部デバイスの将来的位置を予測することと、ウェアラブル頭部デバイスの将来的位置に基づいて、仮想コンテンツの提示を更新することとを含む。
いくつかの実施形態では、方法が、第1の慣性測定ユニットを介して、第1の慣性データを受信することと、第2の慣性測定ユニットを介して、第2の慣性データを受信することと、第1の慣性データに基づいて、かつ、さらに第2の慣性データに基づいて、角加速を計算することと、角加速に基づいて、ウェアラブル頭部デバイスの第1の位置を推定することと、ウェアラブル頭部デバイスの第1の位置に基づいて、仮想コンテンツを提示することとを含む。
いくつかの実施形態では、第1の慣性測定ユニットおよび第2の慣性測定ユニットは、一致する測定軸を共有する。
いくつかの実施形態では、本方法はさらに、一致する測定軸を第1の慣性測定ユニットおよび第2の慣性測定ユニットと共有しない、第3の慣性測定ユニットを介して、第3の慣性データを生成することを含む。
いくつかの実施形態では、角加速は、さらに第3の慣性データに基づいて計算される。
いくつかの実施形態では、角加速に基づいて、ウェアラブル頭部デバイスの第1の位置を推定することは、角加速に基づいて、予備積分項を計算することを含む。
いくつかの実施形態では、予備積分項は、ウェアラブル頭部デバイスの第1の状態をウェアラブル頭部デバイスの第2の状態に関連させ、各状態は、個別の位置データ、個別の速度データ、個別の加速度計バイアスデータ、および個別のジャイロスコープバイアスデータを備える。
いくつかの実施形態では、本方法はさらに、角加速に基づいて、かつ、さらにウェアラブル頭部デバイスの第1の位置に基づいて、ウェアラブル頭部デバイスの将来的位置を予測することと、ウェアラブル頭部デバイスの将来的位置に基づいて、仮想コンテンツの提示を更新することとを含む。
いくつかの実施形態では、非一過性コンピュータ可読媒体が、電子デバイスの1つまたはそれを上回るプロセッサによって実行されると、1つまたはそれを上回るプロセッサに、第1の慣性測定ユニットを介して、第1の慣性データを受信することと、第2の慣性測定ユニットを介して、第2の慣性データを受信することと、第1の慣性データに基づいて、かつ、さらに第2の慣性データに基づいて、角加速を計算することと、角加速に基づいて、ウェアラブル頭部デバイスの第1の位置を推定することと、ウェアラブル頭部デバイスの第1の位置に基づいて、仮想コンテンツを提示することとを含む、方法を実施させる、1つまたはそれを上回る命令を記憶する。
いくつかの実施形態では、第1の慣性測定ユニットおよび第2の慣性測定ユニットは、一致する測定軸を共有する。
いくつかの実施形態では、本方法はさらに、一致する測定軸を第1の慣性測定ユニットおよび第2の慣性測定ユニットと共有しない、第3の慣性測定ユニットを介して、第3の慣性データを生成することを含む。
いくつかの実施形態では、角加速は、さらに第3の慣性データに基づいて計算される。
いくつかの実施形態では、角加速に基づいて、ウェアラブル頭部デバイスの第1の位置を推定することは、角加速に基づいて、予備積分項を計算することを含む。
いくつかの実施形態では、予備積分項は、ウェアラブル頭部デバイスの第1の状態をウェアラブル頭部デバイスの第2の状態に関連させ、各状態は、個別の位置データ、個別の速度データ、個別の加速度計バイアスデータ、および個別のジャイロスコープバイアスデータを備える。
いくつかの実施形態では、本方法はさらに、角加速に基づいて、かつ、さらにウェアラブル頭部デバイスの第1の位置に基づいて、ウェアラブル頭部デバイスの将来的位置を予測することと、ウェアラブル頭部デバイスの将来的位置に基づいて、仮想コンテンツの提示を更新することとを含む。
詳細な説明
実施例の以下の説明では、本明細書の一部を形成し、例証として、実践され得る具体的実施例が示される、付随の図面を参照する。他の実施例も、使用されることができ、構造変更が、開示される実施例の範囲から逸脱することなく、行われることができることを理解されたい。
実施例の以下の説明では、本明細書の一部を形成し、例証として、実践され得る具体的実施例が示される、付随の図面を参照する。他の実施例も、使用されることができ、構造変更が、開示される実施例の範囲から逸脱することなく、行われることができることを理解されたい。
複合現実環境
全ての人々と同様に、複合現実システムのユーザは、実環境内に存在する、すなわち、「実世界」の3次元部分と、そのコンテンツの全てとが、ユーザによって知覚可能である。例えば、ユーザは、通常の人間の感覚、すなわち、視覚、聴覚、触覚、味覚、嗅覚を使用して、実環境を知覚し、実環境内で自身の身体を移動させることによって、実環境と相互作用する。実環境内の場所は、座標空間内の座標として説明されることができる。例えば、座標は、緯度、経度、および海抜に対する高度、基準点から3つの直交次元における距離、または他の好適な値を備えることができる。同様に、ベクトルは、座標空間内の方向および大きさを有する、量を説明することができる。
コンピューティングデバイスは、例えば、デバイスと関連付けられるメモリ内に、仮想環境の表現を維持することができる。本明細書で使用されるように、仮想環境は、3次元空間の算出表現である。仮想環境は、任意のオブジェクトの表現、アクション、信号、パラメータ、座標、ベクトル、またはその空間と関連付けられる他の特性を含むことができる。いくつかの実施例では、コンピューティングデバイスの回路(例えば、プロセッサ)は、仮想環境の状態を維持および更新することができる。すなわち、プロセッサは、第1の時間t0において、仮想環境と関連付けられるデータおよび/またはユーザによって提供される入力に基づいて、第2の時間t1における仮想環境の状態を決定することができる。例えば、仮想環境内のオブジェクトが、時間t0において、第1の座標に位置し、あるプログラムされた物理的パラメータ(例えば、質量、摩擦係数)を有し、ユーザから受信された入力が、力がある方向ベクトルにおいてオブジェクトに印加されるべきであることを示す場合、プロセッサは、運動学の法則を適用し、基本力学を使用して、時間t1におけるオブジェクトの場所を決定することができる。プロセッサは、仮想環境について既知の任意の好適な情報および/または任意の好適な入力を使用して、時間t1における仮想環境の状態を決定することができる。仮想環境の状態を維持および更新する際、プロセッサは、仮想環境内の仮想オブジェクトの作成および削除に関連するソフトウェア、仮想環境内の仮想オブジェクトまたはキャラクタの挙動を定義するためのソフトウェア(例えば、スクリプト)、仮想環境内の信号(例えば、オーディオ信号)の挙動を定義するためのソフトウェア、仮想環境と関連付けられるパラメータを作成および更新するためのソフトウェア、仮想環境内のオーディオ信号を生成するためのソフトウェア、入力および出力をハンドリングするためのソフトウェア、ネットワーク動作を実装するためのソフトウェア、アセットデータ(例えば、仮想オブジェクトを経時的に移動させるためのアニメーションデータ)を適用するためのソフトウェア、または多くの他の可能性を含む、任意の好適なソフトウェアを実行することができる。
ディスプレイまたはスピーカ等の出力デバイスは、仮想環境のいずれかまたは全ての側面をユーザに提示することができる。例えば、仮想環境は、ユーザに提示され得る、仮想オブジェクト(無生物オブジェクト、人々、動物、光等の表現を含み得る)を含んでもよい。プロセッサは、仮想環境のビュー(例えば、原点座標、視軸、および錐台を伴う、「カメラ」に対応する)を決定し、ディスプレイに、そのビューに対応する仮想環境の視認可能場面をレンダリングすることができる。任意の好適なレンダリング技術が、本目的のために使用されてもよい。いくつかの実施例では、視認可能場面は、仮想環境内のいくつかの仮想オブジェクトを含み、ある他の仮想オブジェクトを除外してもよい。同様に、仮想環境は、ユーザに1つまたはそれを上回るオーディオ信号として提示され得る、オーディオ側面を含んでもよい。例えば、仮想環境内の仮想オブジェクトは、オブジェクトの場所座標から生じる音を生成してもよい(例えば、仮想キャラクタが、発話する、または音効果を生じさせ得る)、または仮想環境は、特定の場所と関連付けられる場合とそうではない場合がある、音楽キューまたは周囲音と関連付けられてもよい。プロセッサは、「聴取者」座標に対応するオーディオ信号、例えば、仮想環境内の音の合成に対応し、聴取者座標において聴取者によって聞こえるであろうオーディオ信号をシミュレートするように混合および処理される、オーディオ信号を決定し、ユーザに、1つまたはそれを上回るスピーカを介して、オーディオ信号を提示することができる。
仮想環境は、算出構造として存在するため、ユーザは、直接、通常の感覚を使用して、仮想環境を知覚し得ない。代わりに、ユーザは、例えば、ディスプレイ、スピーカ、触覚的出力デバイス等によって、ユーザに提示されるように、間接的に、仮想環境を知覚することができる。同様に、ユーザは、直接、仮想環境に触れる、それを操作する、または別様に、それと相互作用し得ないが、入力データを、入力デバイスまたはセンサを介して、デバイスまたはセンサデータを使用して、仮想環境を更新し得る、プロセッサに提供することができる。例えば、カメラセンサは、ユーザが仮想環境のオブジェクトを移動させようとしていることを示す、光学データを提供することができ、プロセッサは、そのデータを使用して、仮想環境内において、適宜、オブジェクトを応答させることができる。
複合現実システムは、ユーザに、例えば、透過型ディスプレイおよび/または1つまたはそれを上回るスピーカ(例えば、ウェアラブル頭部デバイスの中に組み込まれ得る)を使用して、実環境および仮想環境の側面を組み合わせる、複合現実環境(「MRE」)を提示することができる。いくつかの実施形態では、1つまたはそれを上回るスピーカは、頭部装着型頭部デバイスの外部にあってもよい。本明細書で使用されるように、MREは、実環境および対応する仮想環境の同時表現である。いくつかの実施例では、対応する実および仮想環境は、単一座標空間を共有する。いくつかの実施例では、実座標空間および対応する仮想座標空間は、変換行列(または他の好適な表現)によって相互に関連する。故に、単一座標(いくつかの実施例では、変換行列とともに)は、実環境内の第1の場所と、また、仮想環境内の第2の対応する場所とを定義し得、その逆も同様である。
MREでは(例えば、MREと関連付けられる仮想環境内の)仮想オブジェクトは(例えば、MREと関連付けられる実環境内の)実オブジェクトに対応し得る。例えば、MREの実環境が、実街灯柱(実オブジェクト)をある場所座標に備える場合、MREの仮想環境は、仮想街灯柱(仮想オブジェクト)を対応する場所座標に備えてもよい。本明細書で使用されるように、実オブジェクトは、その対応する仮想オブジェクトとともに組み合わせて、「複合現実オブジェクト」を構成する。仮想オブジェクトが対応する実オブジェクトに完璧に合致または整合することは、必要ではない。いくつかの実施例では、仮想オブジェクトは、対応する実オブジェクトの簡略化されたバージョンであることができる。例えば、実環境が、実街灯柱を含む場合、対応する仮想オブジェクトは、実街灯柱と概ね同一高さおよび半径の円筒形を備えてもよい(街灯柱が略円筒形形状であり得ることを反映する)。仮想オブジェクトをこのように簡略化することは、算出効率を可能にすることができ、そのような仮想オブジェクト上で実施されるための計算を簡略化することができる。さらに、MREのいくつかの実施例では、実環境内の全ての実オブジェクトが、対応する仮想オブジェクトと関連付けられなくてもよい。同様に、MREのいくつかの実施例では、仮想環境内の全ての仮想オブジェクトが、対応する実オブジェクトと関連付けられなくてもよい。すなわち、いくつかの仮想オブジェクトが、任意の実世界対応物を伴わずに、MREの仮想環境内にのみ存在し得る。
いくつかの実施例では、仮想オブジェクトは、時として著しく、対応する実オブジェクトのものと異なる、特性を有してもよい。例えば、MRE内の実環境は、緑色の2本の枝が延びたサボテン、すなわち、とげだらけの無生物オブジェクトを備え得るが、MRE内の対応する仮想オブジェクトは、人間の顔特徴および無愛想な態度を伴う、緑色の2本の腕の仮想キャラクタの特性を有してもよい。本実施例では、仮想オブジェクトは、ある特性(色、腕の数)において、その対応する実オブジェクトに類似するが、他の特性(顔特徴、性格)において、実オブジェクトと異なる。このように、仮想オブジェクトは、創造的、抽象的、誇張された、または架空の様式において、実オブジェクトを表す、または挙動(例えば、人間の性格)をそうでなければ無生物である実オブジェクトに付与する潜在性を有する。いくつかの実施例では、仮想オブジェクトは、実世界対応物を伴わない、純粋に架空の創造物(例えば、おそらく、実環境内の虚空に対応する場所における、仮想環境内の仮想モンスタ)であってもよい。
ユーザに、実環境を不明瞭にしながら、仮想環境を提示する、VRシステムと比較して、MREを提示する、複合現実システムは、仮想環境が提示される間、実環境が知覚可能なままであるであるという利点をもたらす。故に、複合現実システムのユーザは、実環境と関連付けられる視覚的およびオーディオキューを使用して、対応する仮想環境を体験し、それと相互作用することが可能である。実施例として、VRシステムのユーザは、本明細書に述べられたように、ユーザが、直接、仮想環境を知覚する、またはそれと相互作用し得ないため、仮想環境内に表示される仮想オブジェクトを知覚する、またはそれと相互作用することに苦戦し得るが、MRシステムのユーザは、その自身の実環境内の対応する実オブジェクトが見え、聞こえ、触れることによって、仮想オブジェクトと相互作用することがより直感的および自然であると見出し得る。本レベルの相互作用は、ユーザの仮想環境との没入感、つながり、および関与の感覚を向上させ得る。同様に、実環境および仮想環境を同時に提示することによって、複合現実システムは、VRシステムと関連付けられる負の心理学的感覚(例えば、認知的不協和)および負の物理的感覚(例えば、乗り物酔い)を低減させ得る。複合現実システムはさらに、実世界の我々の体験を拡張または改変し得る用途に関する多くの可能性をもたらす。
図1Aは、ユーザ110が複合現実システム112を使用する、例示的実環境100を図示する。複合現実システム112は、ディスプレイ(例えば、透過型ディスプレイ)および1つまたはそれを上回るスピーカと、例えば、本明細書に説明されるような1つまたはそれを上回るセンサ(例えば、カメラ)とを備えてもよい。示される実環境100は、その中にユーザ110が立っている、長方形の部屋104Aと、実オブジェクト122A(ランプ)、124A(テーブル)、126A(ソファ)、および128A(絵画)とを備える。部屋104Aは、場所座標(例えば、場所座標108)を用いて空間的に説明され得、実環境100の場所は、場所座標の原点(例えば、点106)に対して説明され得る。図1Aに示されるように、その原点を点106(世界座標)に伴う、環境/世界座標系108(x-軸108X、y-軸108Y、およびz-軸108Zを備える)は、実環境100のための座標空間を定義し得る。いくつかの実施形態では、環境/世界座標系108の原点106は、複合現実システム112の電源がオンにされた場所に対応してもよい。いくつかの実施形態では、環境/世界座標系108の原点106は、動作の間、リセットされてもよい。いくつかの実施例では、ユーザ110は、実環境100内の実オブジェクトと見なされ得る。同様に、ユーザ110の身体部分(例えば、手、足)は、実環境100内の実オブジェクトと見なされ得る。いくつかの実施例では、その原点を点115(例えば、ユーザ/聴取者/頭部座標)に伴う、ユーザ/聴取者/頭部座標系114(x-軸114X、y-軸114Y、およびz-軸114Zを備える)は、その上に複合現実システム112が位置する、ユーザ/聴取者/頭部のための座標空間を定義し得る。ユーザ/聴取者/頭部座標系114の原点115は、複合現実システム112の1つまたはそれを上回るコンポーネントに対して定義されてもよい。例えば、ユーザ/聴取者/頭部座標系114の原点115は、複合現実システム112の初期較正等の間、複合現実システム112のディスプレイに対して定義されてもよい。行列(平行移動行列および四元数行列または他の回転行列を含み得る)または他の好適な表現が、ユーザ/聴取者/頭部座標系114空間と環境/世界座標系108空間との間の変換を特性評価することができる。いくつかの実施形態では、左耳座標116および右耳座標117が、ユーザ/聴取者/頭部座標系114の原点115に対して定義されてもよい。行列(平行移動行列および四元数行列または他の回転行列を含み得る)または他の好適な表現が、左耳座標116および右耳座標117とユーザ/聴取者/頭部座標系114空間との間の変換を特性評価することができる。ユーザ/聴取者/頭部座標系114は、ユーザの頭部または頭部搭載型デバイスに対する、例えば、環境/世界座標系108に対する場所の表現を簡略化することができる。同時位置特定およびマッピング(SLAM)、ビジュアルオドメトリ、または他の技法を使用して、ユーザ座標系114と環境座標系108との間の変換が、リアルタイムで決定および更新されることができる。
図1Bは、実環境100に対応する、例示的仮想環境130を図示する。示される仮想環境130は、実長方形部屋104Aに対応する仮想長方形部屋104Bと、実オブジェクト122Aに対応する仮想オブジェクト122Bと、実オブジェクト124Aに対応する仮想オブジェクト124Bと、実オブジェクト126Aに対応する仮想オブジェクト126Bとを備える。仮想オブジェクト122B、124B、126Bと関連付けられるメタデータは、対応する実オブジェクト122A、124A、126Aから導出される情報を含むことができる。仮想環境130は、加えて、仮想モンスタ132を備え、これは、実環境100内の任意の実オブジェクトに対応し得ない。実環境100内の実オブジェクト128Aは、仮想環境130内の任意の仮想オブジェクトに対応し得ない。その原点を点134(持続的座標)に伴う、持続的座標系133(x-軸133X、y-軸133Y、およびz-軸133Zを備える)は、仮想コンテンツのための座標空間を定義し得る。持続的座標系133の原点134は、実オブジェクト126A等の1つまたはそれを上回る実オブジェクトと相対的に/それに対して定義されてもよい。行列(平行移動行列および四元数行列または他の回転行列を含み得る)または他の好適な表現は、持続的座標系133空間と環境/世界座標系108空間との間の変換を特性評価することができる。いくつかの実施形態では、仮想オブジェクト122B、124B、126B、および132はそれぞれ、持続的座標系133の原点134に対するその自身の持続的座標点を有してもよい。いくつかの実施形態では、複数の持続的座標系が存在してもよく、仮想オブジェクト122B、124B、126B、および132はそれぞれ、1つまたはそれを上回る持続的座標系に対するその自身の持続的座標点を有してもよい。
持続座標データは、物理的環境に対して存続する、座標データであり得る。持続座標データは、MRシステム(例えば、MRシステム112、200)によって、持続仮想コンテンツを設置するために使用されてもよく、これは、その上に仮想オブジェクトが表示されている、ディスプレイの移動に結び付けられなくてもよい。例えば、2次元画面は、仮想オブジェクトを画面上のある位置に対して表示し得る。2次元画面が、移動するにつれて、仮想コンテンツは、画面とともに移動し得る。いくつかの実施形態では、持続仮想コンテンツが、部屋の角に表示され得る。MRユーザが、角を見ると、仮想コンテンツが見え、角から眼を逸らし(仮想コンテンツは、仮想コンテンツが、ユーザの頭部の運動に起因して、ユーザの視野内から場所の外側のユーザの視野外の場所に移動している場合があるため、もはや可視ではなくなり得る)、眼を戻すと、仮想コンテンツが角に見え得る(実オブジェクトが挙動し得る方法に類似する)。
いくつかの実施形態では、持続座標データ(例えば、持続座標系および/または持続座標フレーム)は、原点と、3つの軸とを含むことができる。例えば、持続座標系は、MRシステムによって、部屋の中心に割り当てられてもよい。いくつかの実施形態では、ユーザが、部屋を動き回り、部屋から外に出て、部屋に再進入する等を行い得るが、持続座標系は、部屋の中心にあるままであり得る(例えば、物理的環境に対して存続するため)。いくつかの実施形態では、仮想オブジェクトは、持続座標データへの変換を使用して表示されてもよく、これは、持続仮想コンテンツを表示することを可能にし得る。いくつかの実施形態では、MRシステムは、同時位置特定およびマッピングを使用して、持続座標データを生成してもよい(例えば、MRシステムは、持続座標系を空間内の点に割り当ててもよい)。いくつかの実施形態では、MRシステムは、持続座標データを規則的インターバルで生成することによって、環境をマッピングしてもよい(例えば、MRシステムは、持続座標系をグリッド内に割り当ててもよく、持続座標系は、別の持続座標系の少なくとも5フィート以内にあり得る)。
いくつかの実施形態では、持続座標データは、MRシステムによって生成され、遠隔サーバに伝送されてもよい。いくつかの実施形態では、遠隔サーバは、持続座標データを受信するように構成されてもよい。いくつかの実施形態では、遠隔サーバは、複数の観察インスタンスからの持続座標データを同期させるように構成されてもよい。例えば、複数のMRシステムが、持続座標データで同一部屋をマッピングし、そのデータを遠隔サーバに伝送してもよい。いくつかの実施形態では、遠隔サーバは、本観察データを使用して、規準持続座標データを生成してもよく、これは、1つまたはそれを上回る観察に基づいてもよい。いくつかの実施形態では、規準持続座標データは、持続座標データの単一観察より正確および/または信頼性があり得る。いくつかの実施形態では、規準持続座標データは、1つまたはそれを上回るMRシステムに伝送されてもよい。例えば、MRシステムは、画像認識および/または場所データを使用して、それが、対応する規準持続座標データを有する、部屋内に位置することを認識してもよい(例えば、他のMRシステムが、その部屋を以前にマッピングしているため)。いくつかの実施形態では、MRシステムは、その場所に対応する規準持続座標データを遠隔サーバから受信してもよい。
図1Aおよび1Bに関して、環境/世界座標系108は、実環境100および仮想環境130の両方のための共有座標空間を定義する。示される実施例では、座標空間は、その原点を点106に有する。さらに、座標空間は、同一の3つの直交軸(108X、108Y、108Z)によって定義される。故に、実環境100内の第1の場所および仮想環境130内の第2の対応する場所は、同一座標空間に関して説明されることができる。これは、同一座標が両方の場所を識別するために使用され得るため、実および仮想環境内の対応する場所を識別および表示することを簡略化する。しかしながら、いくつかの実施例では、対応する実および仮想環境は、共有座標空間を使用する必要がない。例えば、いくつかの実施例では(図示せず)、行列(平行移動行列および四元数行列または他の回転行列を含み得る)または他の好適な表現は、実環境座標空間と仮想環境座標空間との間の変換を特性評価することができる。
図1Cは、同時に、実環境100および仮想環境130の側面をユーザ110に複合現実システム112を介して提示する、例示的MRE150を図示する。示される実施例では、MRE150は、同時に、ユーザ110に、実環境100からの実オブジェクト122A、124A、126A、および128A(例えば、複合現実システム112のディスプレイの透過性部分を介して)と、仮想環境130からの仮想オブジェクト122B、124B、126B、および132(例えば、複合現実システム112のディスプレイのアクティブディスプレイ部分を介して)とを提示する。本明細書に説明されるように、原点106は、MRE150に対応する座標空間のための原点として作用し、座標系108は、座標空間のためのx-軸、y-軸、およびz-軸を定義する。
示される実施例では、複合現実オブジェクトは、座標空間108内の対応する場所を占有する、対応する対の実オブジェクトおよび仮想オブジェクト(例えば、122A/122B、124A/124B、126A/126B)を備える。いくつかの実施例では、実オブジェクトおよび仮想オブジェクトは両方とも、同時に、ユーザ110に可視であってもよい。これは、例えば、仮想オブジェクトが対応する実オブジェクトのビューを拡張させるように設計される情報を提示する、インスタンスにおいて望ましくあり得る(仮想オブジェクトが古代の損傷された彫像の欠けた部分を提示する、博物館用途等)。いくつかの実施例では、仮想オブジェクト(122B、124B、および/または126B)は、対応する実オブジェクト(122A、124A、および/または126A)をオクルードするように、表示されてもよい(例えば、ピクセル化オクルージョンシャッタを使用する、アクティブピクセル化オクルージョンを介して)。これは、例えば、仮想オブジェクトが対応する実オブジェクトのための視覚的置換として作用する、インスタンスにおいて望ましくあり得る(無生物実オブジェクトが「生きている」キャラクタとなる、双方向ストーリーテリング用途等)。
いくつかの実施例では、実オブジェクト(例えば、122A、124A、126A)は、必ずしも、仮想オブジェクトを構成するとは限らない、仮想コンテンツまたはヘルパデータと関連付けられてもよい。仮想コンテンツまたはヘルパデータは、複合現実環境内の仮想オブジェクトの処理またはハンドリングを促進することができる。例えば、そのような仮想コンテンツは、対応する実オブジェクトの2次元表現、対応する実オブジェクトと関連付けられるカスタムアセットタイプ、または対応する実オブジェクトと関連付けられる統計的データを含み得る。本情報は、不必要な算出オーバーヘッドを被ることなく、実オブジェクトに関わる計算を可能にする、または促進することができる。
いくつかの実施例では、本明細書に説明される提示はまた、オーディオ側面を組み込んでもよい。例えば、MRE150では、仮想モンスタ132は、モンスタがMRE150の周囲を歩き回るにつれて生成される、足音効果等の1つまたはそれを上回るオーディオ信号と関連付けられ得る。本明細書に説明されるように、複合現実システム112のプロセッサは、MRE150内の全てのそのような音の混合および処理された合成に対応するオーディオ信号を算出し、複合現実システム112内に含まれる1つまたはそれを上回るスピーカおよび/または1つまたはそれを上回る外部スピーカを介して、オーディオ信号をユーザ110に提示することができる。
例示的複合現実システム
例示的複合現実システム112は、ディスプレイ(接眼ディスプレイであり得る、左および右透過型ディスプレイと、ディスプレイからの光をユーザの眼に結合するための関連付けられるコンポーネントとを備え得る)と、左および右スピーカ(例えば、それぞれ、ユーザの左および右耳に隣接して位置付けられる)と、慣性測定ユニット(IMU)(例えば、頭部デバイスのつるのアームに搭載される)と、直交コイル電磁受信機(例えば、左つる部品に搭載される)と、ユーザから離れるように配向される、左および右カメラ(例えば、深度(飛行時間)カメラ)と、ユーザに向かって配向される、左および右眼カメラ(例えば、ユーザの眼移動を検出するため)とを備える、ウェアラブル頭部デバイス(例えば、ウェアラブル拡張現実または複合現実頭部デバイス)を含むことができる。しかしながら、複合現実システム112は、任意の好適なディスプレイ技術および任意の好適なセンサ(例えば、光学、赤外線、音響、LIDAR、EOG、GPS、磁気)を組み込むことができる。加えて、複合現実システム112は、ネットワーキング特徴(例えば、Wi-Fi能力、モバイルネットワーク(例えば、4G、5G)能力)を組み込み、他の複合現実システムを含む、他のデバイスおよびシステムと通信してもよい。複合現実システム112はさらに、バッテリ(ユーザの腰部の周囲に装着されるように設計されるベルトパック等の補助ユニット内に搭載されてもよい)と、プロセッサと、メモリとを含んでもよい。複合現実システム112のウェアラブル頭部デバイスは、ユーザの環境に対するウェアラブル頭部デバイスの座標セットを出力するように構成される、IMUまたは他の好適なセンサ等の追跡コンポーネントを含んでもよい。いくつかの実施例では、追跡コンポーネントは、入力をプロセッサに提供し、同時位置特定およびマッピング(SLAM)および/またはビジュアルオドメトリアルゴリズムを実施してもよい。いくつかの実施例では、複合現実システム112はまた、ハンドヘルドコントローラ300、および/または本明細書に説明されるように、ウェアラブルベルトパックであり得る補助ユニット320を含んでもよい。
図2A-2Dは、MRE(MRE150に対応し得る)または他の仮想環境をユーザに提示するために使用され得る、例示的複合現実システム200(複合現実システム112に対応し得る)のコンポーネントを図示する。図2Aは、例示的複合現実システム200内に含まれるウェアラブル頭部デバイス2102の斜視図を図示する。図2Bは、ユーザの頭部2202上に装着されるウェアラブル頭部デバイス2102の上面図を図示する。図2Cは、ウェアラブル頭部デバイス2102の正面図を図示する。図2Dは、ウェアラブル頭部デバイス2102の例示的接眼レンズ2110の縁視図を図示する。図2A-2Cに示されるように、例示的ウェアラブル頭部デバイス2102は、例示的左接眼レンズ(例えば、左透明導波管セット接眼レンズ)2108と、例示的右接眼レンズ(例えば、右透明導波管セット接眼レンズ)2110とを含む。各接眼レンズ2108および2110は、それを通して実環境が可視となる、透過性要素と、実環境に重複するディスプレイ(例えば、画像毎に変調された光を介して)を提示するためのディスプレイ要素とを含むことができる。いくつかの実施例では、そのようなディスプレイ要素は、画像毎に変調された光の流動を制御するための表面回折光学要素を含むことができる。例えば、左接眼レンズ2108は、左内部結合格子セット2112と、左直交瞳拡張(OPE)格子セット2120と、左出射(出力)瞳拡張(EPE)格子セット2122とを含むことができる。同様に、右接眼レンズ2110は、右内部結合格子セット2118と、右OPE格子セット2114と、右EPE格子セット2116とを含むことができる。画像毎に変調された光は、内部結合格子2112および2118、OPE2114および2120、およびEPE2116および2122を介して、ユーザの眼に転送されることができる。各内部結合格子セット2112、2118は、光をその対応するOPE格子セット2120、2114に向かって偏向させるように構成されることができる。各OPE格子セット2120、2114は、光をその関連付けられるEPE2122、2116に向かって下方に漸次的に偏向させ、それによって、形成されている射出瞳を水平に延在させるように設計されることができる。各EPE2122、2116は、その対応するOPE格子セット2120、2114から受信された光の少なくとも一部を、接眼レンズ2108、2110の背後に定義される、ユーザアイボックス位置(図示せず)に外向きに漸次的に再指向し、アイボックスに形成される射出瞳を垂直に延在させるように構成されることができる。代替として、内部結合格子セット2112および2118、OPE格子セット2114および2120、およびEPE格子セット2116および2122の代わりに、接眼レンズ2108および2110は、ユーザの眼への画像毎に変調された光の結合を制御するための格子および/または屈折および反射性特徴の他の配列を含むことができる。
いくつかの実施例では、ウェアラブル頭部デバイス2102は、左つるのアーム2130と、右つるのアーム2132とを含むことができ、左つるのアーム2130は、左スピーカ2134を含み、右つるのアーム2132は、右スピーカ2136を含む。直交コイル電磁受信機2138は、左こめかみ部品またはウェアラブル頭部ユニット2102内の別の好適な場所に位置することができる。慣性測定ユニット(IMU)2140は、右つるのアーム2132またはウェアラブル頭部デバイス2102内の別の好適な場所に位置することができる。ウェアラブル頭部デバイス2102はまた、左深度(例えば、飛行時間)カメラ2142と、右深度カメラ2144とを含むことができる。深度カメラ2142、2144は、好適には、ともにより広い視野を網羅するように、異なる方向に配向されることができる。
図2A-2Dに示される実施例では、画像毎に変調された光2124の左源は、左内部結合格子セット2112を通して、左接眼レンズ2108の中に光学的に結合されることができ、画像毎に変調された光2126の右源は、右内部結合格子セット2118を通して、右接眼レンズ2110の中に光学的に結合されることができる。画像毎に変調された光2124、2126の源は、例えば、光ファイバスキャナ、デジタル光処理(DLP)チップまたはシリコン上液晶(LCoS)変調器等の電子光変調器を含む、プロジェクタ、または側面あたり1つまたはそれを上回るレンズを使用して、内部結合格子セット2112、2118の中に結合される、マイクロ発光ダイオード(μLED)またはマイクロ有機発光ダイオード(μOLED)パネル等の発光型ディスプレイを含むことができる。入力結合格子セット2112、2118は、画像毎に変調された光2124、2126の源からの光を、接眼レンズ2108、2110のための全内部反射(TIR)に関する臨界角を上回る角度に偏向させることができる。OPE格子セット2114、2120は、伝搬する光をTIRによってEPE格子セット2116、2122に向かって下方に漸次的に偏向させる。EPE格子セット2116、2122は、ユーザの眼の瞳孔を含む、ユーザの顔に向かって、光を漸次的に結合する。
いくつかの実施例では、図2Dに示されるように、左接眼レンズ2108および右接眼レンズ2110はそれぞれ、複数の導波管2402を含む。例えば、各接眼レンズ2108、2110は、複数の個々の導波管を含むことができ、それぞれ、個別の色チャネル(例えば、赤色、青色、および緑色)専用である。いくつかの実施例では、各接眼レンズ2108、2110は、複数のセットのそのような導波管を含むことができ、各セットは、異なる波面曲率を放出される光に付与するように構成される。波面曲率は、例えば、ユーザの正面のある距離(例えば、波面曲率の逆数に対応する距離)に位置付けられる仮想オブジェクトを提示するように、ユーザの眼に対して凸面であってもよい。いくつかの実施例では、EPE格子セット2116、2122は、各EPEを横断して出射する光のPoyntingベクトルを改変することによって凸面波面曲率をもたらすために、湾曲格子溝を含むことができる。
いくつかの実施例では、表示されるコンテンツが3次元である知覚を作成するために、立体視的に調節される左および右眼画像は、画像毎に光変調器2124、2126および接眼レンズ2108、2110を通して、ユーザに提示されることができる。3次元仮想オブジェクトの提示の知覚される現実性は、仮想オブジェクトが立体視左および右画像によって示される距離に近似する距離に表示されるように、導波管(したがって、対応する波面曲率)を選択することによって向上されることができる。本技法はまた、立体視左および右眼画像によって提供される深度知覚キューと人間の眼の自動遠近調節(例えば、オブジェクト距離依存焦点)との間の差異によって生じ得る、一部のユーザによって被られる乗り物酔いを低減させ得る。
図2Dは、例示的ウェアラブル頭部デバイス2102の右接眼レンズ2110の上部からの縁視図を図示する。図2Dに示されるように、複数の導波管2402は、3つの導波管2404の第1のサブセットと、3つの導波管2406の第2のサブセットとを含むことができる。導波管2404、2406の2つのサブセットは、異なる波面曲率を出射する光に付与するために異なる格子線曲率を特徴とする、異なるEPE格子によって区別されることができる。導波管2404、2406のサブセットのそれぞれ内において、各導波管は、異なるスペクトルチャネル(例えば、赤色、緑色、および青色スペクトルチャネルのうちの1つ)をユーザの右眼2206に結合するために使用されることができる。図2Dには図示されないが、左接眼レンズ2108の構造は、右接眼レンズ2110の構造に対して鏡像化され得る。
図3Aは、複合現実システム200の例示的ハンドヘルドコントローラコンポーネント300を図示する。いくつかの実施例では、ハンドヘルドコントローラ300は、把持部分346と、上部表面348に沿って配置される、1つまたはそれを上回るボタン350とを含む。いくつかの実施例では、ボタン350は、例えば、カメラまたは他の光学センサ(複合現実システム200の頭部ユニット(例えば、ウェアラブル頭部デバイス2102)内に搭載され得る)と併せて、ハンドヘルドコントローラ300の6自由度(6DOF)運動を追跡するための光学追跡標的として使用するために構成されてもよい。いくつかの実施例では、ハンドヘルドコントローラ300は、ウェアラブル頭部デバイス2102に対する位置または配向等の位置または配向を検出するための追跡コンポーネント(例えば、IMUまたは他の好適なセンサ)を含む。いくつかの実施例では、そのような追跡コンポーネントは、ハンドヘルドコントローラ300のハンドル内に位置付けられてもよく、および/またはハンドヘルドコントローラに機械的に結合されてもよい。ハンドヘルドコントローラ300は、ボタンの押下状態、またはハンドヘルドコントローラ300の位置、配向、および/または運動(例えば、IMUを介して)のうちの1つまたはそれを上回るものに対応する、1つまたはそれを上回る出力信号を提供するように構成されることができる。そのような出力信号は、複合現実システム200のプロセッサへの入力として使用されてもよい。そのような入力は、ハンドヘルドコントローラの位置、配向、および/または移動(さらに言うと、コントローラを保持するユーザの手の位置、配向、および/または移動)に対応し得る。そのような入力はまた、ユーザがボタン350を押下したことに対応し得る。
図3Bは、複合現実システム200の例示的補助ユニット320を図示する。補助ユニット320は、エネルギーを提供し、システム200を動作するためのバッテリを含むことができ、プログラムを実行し、システム200を動作させるためのプロセッサを含むことができる。示されるように、例示的補助ユニット320は、補助ユニット320をユーザのベルトに取り付ける等のためのクリップ2128を含む。他の形状因子も、補助ユニット320のために好適であって、ユニットをユーザのベルトに搭載することを伴わない、形状因子を含むことも明白となるであろう。いくつかの実施例では、補助ユニット320は、例えば、電気ワイヤおよび光ファイバを含み得る、多管式ケーブルを通して、ウェアラブル頭部デバイス2102に結合される。補助ユニット320とウェアラブル頭部デバイス2102との間の無線接続もまた、使用されることができる。
いくつかの実施例では、複合現実システム200は、1つまたはそれを上回るマイクロホンを含み、音を検出し、対応する信号を複合現実システムに提供することができる。いくつかの実施例では、マイクロホンは、ウェアラブル頭部デバイス2102に取り付けられる、またはそれと統合されてもよく、ユーザの音声を検出するように構成されてもよい。いくつかの実施例では、マイクロホンは、ハンドヘルドコントローラ300および/または補助ユニット320に取り付けられる、またはそれと統合されてもよい。そのようなマイクロホンは、環境音、周囲雑音、ユーザまたは第三者の音声、または他の音を検出するように構成されてもよい。
図4は、本明細書に説明される複合現実システム200(図1に関する複合現実システム112に対応し得る)等の例示的複合現実システムに対応し得る、例示的機能ブロック図を示す。図4に示されるように、例示的ハンドヘルドコントローラ400B(ハンドヘルドコントローラ300(「トーテム」)に対応し得る)は、トーテム/ウェアラブル頭部デバイス6自由度(6DOF)トーテムサブシステム404Aを含み、例示的ウェアラブル頭部デバイス400A(ウェアラブル頭部デバイス2102に対応し得る)は、トーテム/ウェアラブル頭部デバイス6DOFサブシステム404Bを含む。実施例では、6DOFトーテムサブシステム404Aおよび6DOFサブシステム404Bは、協働し、ウェアラブル頭部デバイス400Aに対するハンドヘルドコントローラ400Bの6つの座標(例えば、3つの平行移動方向におけるオフセットおよび3つの軸に沿った回転)を決定する。6自由度は、ウェアラブル頭部デバイス400Aの座標系に対して表されてもよい。3つの平行移動オフセットは、そのような座標系内におけるX、Y、およびZオフセット、平行移動行列、またはある他の表現として表されてもよい。回転自由度は、ヨー、ピッチ、およびロール回転のシーケンスとして、回転行列として、四元数として、またはある他の表現として表されてもよい。いくつかの実施例では、ウェアラブル頭部デバイス400A、ウェアラブル頭部デバイス400A内に含まれる、1つまたはそれを上回る深度カメラ444(および/または1つまたはそれを上回る非深度カメラ)、および/または1つまたはそれを上回る光学標的(例えば、本明細書に説明されるようなハンドヘルドコントローラ400Bのボタン350またはハンドヘルドコントローラ400B内に含まれる専用光学標的)は、6DOF追跡のために使用されることができる。いくつかの実施例では、ハンドヘルドコントローラ400Bは、本明細書に説明されるようなカメラを含むことができ、ウェアラブル頭部デバイス400Aは、カメラと併せた光学追跡のための光学標的を含むことができる。いくつかの実施例では、ウェアラブル頭部デバイス400Aおよびハンドヘルドコントローラ400Bはそれぞれ、3つの直交して配向されるソレノイドのセットを含み、これは、3つの区別可能な信号を無線で送信および受信するために使用される。受信するために使用される、コイルのそれぞれ内で受信される3つの区別可能な信号の相対的大きさを測定することによって、ハンドヘルドコントローラ400Bに対するウェアラブル頭部デバイス400Aの6DOFが、決定され得る。加えて、6DOFトーテムサブシステム404Aは、改良された正確度および/またはハンドヘルドコントローラ400Bの高速移動に関するよりタイムリーな情報を提供するために有用である、慣性測定ユニット(IMU)を含むことができる。
いくつかの実施形態では、ウェアラブルシステム400は、マイクロホンアレイ407を含むことができ、これは、ヘッドギヤデバイス400A上に配列される、1つまたはそれを上回るマイクロホンを含むことができる。いくつかの実施形態では、マイクロホンアレイ407は、4つのマイクロホンを含むことができる。2つのマイクロホンは、ヘッドギヤ400Aの正面上に設置されることができ、2つのマイクロホンは、頭部ヘッドギヤ400Aの背面に設置されることができる(例えば、左後方に1つ、および右後方に1つ)。いくつかの実施形態では、マイクロホンアレイ407によって受信された信号は、DSP408に伝送されることができる。DSP408は、信号処理をマイクロホンアレイ407から受信された信号上で実施するように構成されることができる。例えば、DSP408は、雑音低減、音響エコーキャンセル、および/またはビーム形成をマイクロホンアレイ407から受信された信号上で実施するように構成されることができる。DSP408は、信号をプロセッサ416に伝送するように構成されることができる。
いくつかの実施例では、例えば、座標系108に対する(例えば、MRシステム112の)ウェアラブル頭部デバイス400Aの移動を補償するために、座標をローカル座標空間(例えば、ウェアラブル頭部デバイス400Aに対して固定される座標空間)から慣性座標空間(例えば、実環境に対して固定される座標空間)に変換することが必要になり得る。例えば、そのような変換は、ウェアラブル頭部デバイス400Aのディスプレイが、ディスプレイ上の固定位置および配向(例えば、ディスプレイの右下角における同一位置)ではなく仮想オブジェクトを実環境に対する予期される位置および配向に提示し(例えば、ウェアラブル頭部デバイスの位置および配向にかかわらず、前方に向いた実椅子に着座している仮想人物)、仮想オブジェクトが実環境内に存在する(かつ、例えば、ウェアラブル頭部デバイス400Aが偏移および回転するにつれて、実環境内に不自然に位置付けられて現れない)という錯覚を保存するために必要であり得る。いくつかの実施例では、座標空間間の補償変換が、座標系108に対するウェアラブル頭部デバイス400Aの変換を決定するために、SLAMおよび/またはビジュアルオドメトリプロシージャを使用して、深度カメラ444からの画像を処理することによって決定されることができる。図4に示される実施例では、深度カメラ444は、SLAM/ビジュアルオドメトリブロック406に結合され、画像をブロック406に提供することができる。SLAM/ビジュアルオドメトリブロック406実装は、本画像を処理し、次いで、頭部座標空間と別の座標空間(例えば、慣性座標空間)との間の変換を識別するために使用され得る、ユーザの頭部の位置および配向を決定するように構成される、プロセッサを含むことができる。同様に、いくつかの実施例では、ユーザの頭部姿勢および場所に関する情報の付加的源が、IMU409から取得される。IMU409からの情報は、SLAM/ビジュアルオドメトリブロック406からの情報と統合され、改良された正確度および/またはユーザの頭部姿勢および位置の高速調節に関するよりタイムリーな情報を提供することができる。
いくつかの実施例では、深度カメラ444は、ウェアラブル頭部デバイス400Aのプロセッサ内に実装され得る、手のジェスチャトラッカ411に、3D画像を供給することができる。手のジェスチャトラッカ411は、例えば、深度カメラ444から受信された3D画像を手のジェスチャを表す記憶されたパターンに合致させることによって、ユーザの手のジェスチャを識別することができる。ユーザの手のジェスチャを識別する他の好適な技法も、明白となるであろう。
いくつかの実施例では、1つまたはそれを上回るプロセッサ416は、ウェアラブル頭部デバイスの6DOFヘッドギヤサブシステム404B、IMU409、SLAM/ビジュアルオドメトリブロック406、深度カメラ444、および/または手のジェスチャトラッカ411からのデータを受信するように構成されてもよい。プロセッサ416はまた、制御信号を6DOFトーテムシステム404Aに送信し、そこから受信することができる。プロセッサ416は、ハンドヘルドコントローラ400Bがテザリングされない実施例等では、無線で、6DOFトーテムシステム404Aに結合されてもよい。プロセッサ416はさらに、オーディオ/視覚的コンテンツメモリ418、グラフィカル処理ユニット(GPU)420、および/またはデジタル信号プロセッサ(DSP)オーディオ空間化装置422等の付加的コンポーネントと通信してもよい。DSPオーディオ空間化装置422は、頭部関連伝達関数(HRTF)メモリ425に結合されてもよい。GPU420は、画像毎に変調された光の左源424に結合される、左チャネル出力と、画像毎に変調された光の右源426に結合される、右チャネル出力とを含むことができる。GPU420は、例えば、図2A-2Dに関して本明細書に説明されるように、立体視画像データを画像毎に変調された光の源424、426に出力することができる。DSPオーディオ空間化装置422は、オーディオを左スピーカ412および/または右スピーカ414に出力することができる。DSPオーディオ空間化装置422は、プロセッサ419から、ユーザから仮想音源(例えば、ハンドヘルドコントローラ320を介して、ユーザによって移動され得る)への方向ベクトルを示す入力を受信することができる。方向ベクトルに基づいて、DSPオーディオ空間化装置422は、対応するHRTFを決定することができる(例えば、HRTFにアクセスすることによって、または複数のHRTFを補間することによって)。DSPオーディオ空間化装置422は、次いで、決定されたHRTFを仮想オブジェクトによって生成された仮想音に対応するオーディオ信号等のオーディオ信号に適用することができる。これは、複合現実環境内の仮想音に対するユーザの相対的位置および配向を組み込むことによって、すなわち、その仮想音が実環境内の実音である場合に聞こえるであろうもののユーザの予期に合致する仮想音を提示することによって、仮想音の信憑性および現実性を向上させることができる。
図4に示されるようないくつかの実施例では、プロセッサ416、GPU420、DSPオーディオ空間化装置422、HRTFメモリ425、およびオーディオ/視覚的コンテンツメモリ418のうちの1つまたはそれを上回るものは、補助ユニット400C(本明細書に説明される補助ユニット320に対応し得る)内に含まれてもよい。補助ユニット400Cは、バッテリ427を含み、そのコンポーネントを給電し、および/または電力をウェアラブル頭部デバイス400Aまたはハンドヘルドコントローラ400Bに供給してもよい。そのようなコンポーネントを、ユーザの腰部に搭載され得る、補助ユニット内に含むことは、ウェアラブル頭部デバイス400Aのサイズおよび重量を限定することができ、これは、ひいては、ユーザの頭部および頸部の疲労を低減させることができる。
図4は、例示的ウェアラブルシステム400の種々のコンポーネントに対応する要素を提示するが、これらのコンポーネントの種々の他の好適な配列も、当業者に明白となるであろう。例えば、図示されるヘッドギヤデバイス400Aは、プロセッサおよび/またはバッテリ(図示せず)を含んでもよい。含まれるプロセッサおよび/またはバッテリは、補助ユニット400Cのプロセッサおよび/またはバッテリとともに動作する、またはその代わりに動作してもよい。概して、別の実施例として、補助ユニット400Cと関連付けられるように図4に関して提示される要素または説明される機能性は、代わりに、ヘッドギヤデバイス400Aまたはハンドヘルドコントローラ400Bと関連付けられ得る。さらに、いくつかのウェアラブルシステムは、ハンドヘルドコントローラ400Bまたは補助ユニット400Cを完全に省略してもよい。そのような変更および修正は、開示される実施例の範囲内に含まれるものとして理解されるべきである。
同時位置特定およびマッピング
仮想コンテンツが実コンテンツに対応するように、仮想コンテンツを複合現実環境内に表示することは、困難であり得る。例えば、図1Cにおける仮想オブジェクト122Bを実オブジェクト122Aと同一場所に表示することが望ましくあり得る。そうすることは、複合現実システム112のいくつかの能力を伴い得る。例えば、複合現実システム112は、実環境104Aおよび実環境104A内の実オブジェクト(例えば、ランプ122A)の3次元マップを作成してもよい。複合現実システム112はまた、実環境104A内のその場所(実環境内のユーザの場所に対応し得る)を確立してもよい。複合現実システム112はさらに、実環境104A内のその配向(実環境内のユーザの配向に対応し得る)を確立してもよい。複合現実システム112はまた、実環境104Aに対するその移動、例えば、線形および/または角速度および線形および/または角加速(実環境に対するユーザの移動に対応し得る)を確立してもよい。SLAMは、ユーザ110が、部屋104Aを動き回り、実オブジェクト122Aから視線を逸らし、実オブジェクト122Aに視線を戻す場合でも、仮想オブジェクト122Bを実オブジェクト122Aと同一場所に表示するための1つの方法であり得る。
さらに、正確であるが、算出上効率的かつ短待ち時間様式において、SLAMを起動させることが望ましくあり得る。本明細書で使用されるように、待ち時間は、複合現実システムのコンポーネントの位置(例えば、場所および/または配向)の変化(例えば、ウェアラブル頭部デバイスの回転)と、複合現実システム内に表されるようなその変化(例えば、ウェアラブル頭部デバイスのディスプレイに提示される視野の表示角度)の反映との間の時間遅延を指し得る。不正確なSLAM計算および/または長待ち時間性能は、複合現実システム112を用いるユーザの体験に悪影響を及ぼし得る。例えば、ユーザ110が、部屋104Aを見回す場合、仮想オブジェクトは、ユーザの運動、不正確なSLAM計算、および/または長待ち時間の結果として、「ジッタ」として現れ得る。同様に、仮想オブジェクトは、SLAM計算が正確ではない場合、経時的に「ドリフト」するように現れ得る。「ドリフト」するオブジェクトは、仮想オブジェクトが環境100に対して定常のままであるように意図されるとき、環境100に対して位置を移動および/または偏移させるように現れる、仮想オブジェクトであり得る。正確度は、したがって、没入型の複合現実環境を生産するために必須であり得、そうでなければ、実コンテンツと競合する、仮想コンテンツは、ユーザに、仮想コンテンツと実コンテンツとの間の特異性を再認識させ、ユーザの没入感を減少させ得る。さらに、ある場合には、待ち時間は、一部のユーザにとって、乗り物酔い、頭痛、または他の負の物理的体験をもたらし得る。したがって、SLAM正確度を増加させ、および/または待ち時間を低減させるためのシステムおよび方法を開発することが望ましくあり得る(例えば、仮想オブジェクト持続性の錯覚を作成するために適切な場所に仮想コンテンツをレンダリングする際)。
1つの方法は、複合現実システム112の角加速を計算することを含むことができる。角加速は、SLAM計算をより正確に算出するために、他の測定値(線形加速、線形速度、および/または角速度等)と組み合わせられ得る、付加的測定値であることができる。角加速はまた、仮想コンテンツが、実際に必要とされる前に、事前にレンダリングされ得るように、複合現実システム112の将来的位置を予期するために使用されることができる。本事前レンダリングは、複合現実システム112のユーザによって知覚される待ち時間を低減させることができる。
しかしながら、角加速を直接測定することは、全ての慣性測定ユニット(「IMU」)内に含まれ得るわけではない、付加的ハードウェアを要求し得る。付加的ハードウェアを複合現実システムに追加することは、負担となり得る。例えば、複合現実システムは、大量のセンサおよび/またはプロセッサに起因して、電力要求を有し得るが、複合現実システムのユーザはまた、可搬性および長バッテリ寿命を要求し得る。より複雑なセンサを追加することはまた、望ましくないことに、複合現実システムのコストを増加させ得る。したがって、2つまたはそれを上回るIMUを使用して、角加速を計算するためのシステムおよび方法を開発することが有益であり得る。いくつかの実施形態では、3つの軸に沿って、それぞれ、線形加速および/または角速度を直接測定し得る、2つのIMUからのデータは、全3つの軸に沿って、複合現実システムの角加速を計算するために十分ではない場合がある。いくつかの実施形態では、2つのそのようなIMUは、第1のIMUからの測定軸が第2のIMUの測定軸と一致するように構成されてもよい。いくつかの実施形態では、本IMU構成は、直接または間接的に、測定軸が別のIMUと一致しない、2つの軸に沿って、角加速の計算を可能にし得る。
図5は、いくつかの実施形態による、複合現実システム上のIMU構成を図示する。MRシステム500(MRシステム112、200に対応し得る)は、IMU502と、IMU506とを含むことができる。いくつかの実施形態では、IMU502およびIMU506は、3つの軸に沿って、測定値を取得するように構成されることができる。例えば、IMU502は、測定軸504x、504y、および504zに沿って、測定値を取得するように構成されてもよい。同様に、IMU506は、測定軸508x、508y、および508zに沿って、測定値を取得するように構成されることができる。いくつかの実施形態では、IMU502および/またはIMU506は、直接、各測定軸を中心とする線形加速(例えば、加速度計を介して)および/または角速度(例えば、ジャイロスコープを介して)を測定するように構成されることができる。いくつかの実施形態では、IMU502および/またはIMU506は、任意の測定軸を中心とする角加速を測定するように構成される、ハードウェアを直接含まなくてもよい(例えば、IMUは、加えて、角加速を測定するように具体的に構成される、ハードウェアを含まなくてもよい)。
いくつかの実施形態では、IMU502およびIMU506は、相互に硬直的に結合されてもよい。例えば、IMU502およびIMU506は、最小限の曲げを有し、移動および/または変形するように構成されない、硬直構造を介して、接続されてもよい。MRシステム500が移動および/または回転する方法にかかわらず、硬直結合は、IMU502およびIMU506が、常時、相互に対して同一(または実質的に同一)相対的位置を維持するであろうと仮定する。硬直結合は、角加速を計算するために使用され得る、IMU502とIMU506との間の自由度を低減させることができる。方程式(1)は、IMU506およびIMU502が硬直的に結合されると仮定して、線形加速
の観点からの角加速
、角速度
、およびIMU502に対するIMU506の位置を説明するベクトル
を説明する。いくつかの実施形態では
は、点504oから点508oまでのベクトルを表し得る。
方程式(1):
3次元に拡張すると、方程式(1)は、連立方程式(2)(3)、および(4)をもたらす。
方程式(2):
方程式(3):
方程式(4):
方程式(1):
方程式(2):
方程式(2)(3)、および(4)は、線形依存系を表し、これは、1つを上回る解を含み得る。しかしながら、いくつかの実施形態では、IMU502およびIMU506は、2つの測定軸に沿って、角加速を求めるように構成されることができる。例えば、図5は、測定軸504xが測定軸508xと一致する、ある実施形態を描写する。本明細書で使用されるように、一致する軸は(例えば、軸510に沿って)共線形である、2つの線(例えば、測定軸504xおよび測定軸508x)を指し得る。いくつかの実施形態では、各IMUからの少なくとも1つの測定軸が他のIMUからの別の測定軸と一致するように、IMU502のための場所およびIMU506のための場所を構成することは、方程式(2)、(3)、および(5)における、いくつかの未知の変数を低減させることができる。図5に描写される構成では、ベクトル
は、方程式(6)として表されることができ、(c)は、点504oと508oとの間の距離を表す。
方程式(6):
方程式(6)(例えば、式中、ry=rz=0)と方程式(2)(3)、および(4)を組み合わせることは、以下の方程式をもたらし得、これは、2つの回転軸に沿って、可解系を表し得る。
方程式(7):
方程式(8):
方程式(9):
角加速
を求めることは、次いで、以下の2つの方程式をもたらし得る。
方程式(10):
方程式(11):
故に、角加速
は、IMU502および506が、線形加速
および角速度
を測定するように構成される場合、かつIMU502およびIMU506が、1つの一致する測定軸(例えば、軸510に沿った測定軸504xおよび508x)を共有する場合、IMU502およびIMU506を用いて、方程式(10)および(11)を使用して、計算されることができる(少なくとも2つの軸に対して)。
方程式(6):
方程式(7):
方程式(10):
図5は、IMU502およびIMU506の特定の配向を描写するが、任意の配向が、本明細書に開示される技法および方法のために好適であり得ることが検討される。例えば、IMU506は、IMU502を横断して完全に水平であるように描写されるが、IMU506はまた、IMU502の上方に垂直に、または概して、IMU502から任意の既知の角度に配向される。いくつかの実施形態では、IMU502およびIMU506は、それらが、相対的場所にかかわらず、少なくとも1つの一致する測定軸を共有するように配向されることができる。いくつかの実施形態では、非垂直整合(例えば、図5に描写される水平整合)は、垂直整合が、ヨー軸を中心として観察不可能な角加速をもたらし得るため、好ましくあり得る。これは、重力が、他の軸(例えば、ピッチまたはロール)と異なり、ヨー軸を中心として観察可能ではない場合があるため、望ましくない可能性がある。いくつかの実施形態では、依然として、一致する測定軸を維持しながら、IMU502およびIMU506を可能な限り離れて(例えば、軸510に沿って、MRシステム500の最遠点に)設置することが望ましくあり得る。例えば、rxが、0に接近するにつれて、測定値における誤差は、拡大された状態になり得る。いくつかの実施形態では、IMU502およびIMU506をMRシステム500の1つまたはそれを上回るカメラの近くに設置することが望ましくあり得る。これは、カメラによって捕捉された視覚的情報とIMU502およびIMU506によって捕捉された慣性情報を組み合わせることによって、SLAM計算のための正確度を増加させることができる。
角加速を計算することは、いくつかの点において、複合現実のためのSLAM計算にとって有益であり得る。例えば、角加速は、IMU測定のためのより正確な予備積分項を計算するために使用されることができる。IMU測定値を予備積分することは、単一の相対的運動制約をIMUから取得される一連の慣性測定値から決定することを含むことができる。IMU測定値を予備積分し、一連の慣性測定値全体を積分する算出複雑性を低減させることが望ましくあり得る。例えば、ビデオ記録内で捕捉されたシーケンシャルフレーム(また、キーフレームでもあり得る)間で収集された慣性測定値は、IMUによって進行される、経路全体についてのデータを含み得る。キーフレームは、時間(例えば、前のキーフレーム選択以降の時間)、識別される特徴(例えば、前のキーフレームと比較して、十分な新しい識別される特徴を有する)、または他の基準に基づいて特別に選択される、フレームであり得る。しかしながら、いくつかの実施形態では、SLAM方法は、(例えば、第1のフレームにおける)開始点と(例えば、第2のフレームにおける)終了点とについてのデータのみを必要とし得る。いくつかの実施形態では、SLAM方法は、現在の時点(例えば、直近のフレーム)と、前の状態(例えば、前のフレーム)とについてのデータのみを必要とし得る。SLAM算出は、慣性測定値データを予備積分し(例えば、第1のフレームから第2のフレームまでの)単一の相対的運動制約を生産することによって、簡略化され得る。
図6Aは、SLAM計算の例示的グラフを図示する。例示的グラフは、いくつかの変数の関数の非線形因数分解を視覚的に描写する。例えば、変数(例えば、602aおよび602b)は、円形ノードとして表されることができ、変数(例えば、604、因数とも呼ばれる)の関数は、正方形ノードとして表されることができる。各因数は、任意の結び付けられる変数の関数であることができる。ノード602aおよび602bは、時間i=0において捕捉されたキーリグと関連付けられる、データを表すことができる。いくつかの実施形態では、キーリグは、マルチカメラシステム(例えば、2つまたはそれを上回るカメラを伴う、MRシステム)からのキーフレームのセットを含むことができ、これは、ある時間において捕捉されている場合がある。キーリグは、任意の基準に基づいて、選択されることができる。例えば、キーリグは、キーリグ間の経過時間に基づいて、時間ドメイン内で選択されることができる(例えば、0.5秒毎に1つのフレームが、キーリグとして選択されることができる)。別の実施例では、キーリグは、識別された特徴に基づいて、空間ドメイン内で選択されることができる(例えば、フレームは、前のキーリグと比較して、十分に類似または異なる特徴を有する場合、キーリグとして選択されることができる)。キーリグは、メモリに記憶および保存されることができる。キーリグの使用は、算出負荷を増加させずに、より長いタイムフレームにわたって、より疎であるデータにつながり得る(例えば、SLAM計算をカメラによって記録される各フレーム上で実施するように算出上実行可能ではない場合がある)ため、SLAM計算のためにキーリグを使用することは、有益であり得る。
ノード602aは、IMU状態を表す、データを含むことができ、これは、線形加速測定、角速度測定、および所与の時間におけるIMU測定値の誤差(例えば、バイアス)の1つまたはそれを上回る推定値を含むことができる。バイアスは、測定された値と予期される値との間のオフセットを含むことができる(例えば、加速が存在しないが、加速度計が、0.2の値を記録するとき、0.2は、加速度計のバイアスと見なされ得る)。ノード602bは、特定のキーリグと関連付けられるキーリグ姿勢を表す、データを含むことができる。キーリグ姿勢は、バンドル調整の出力に基づくことができる。ノード606は、IMU付帯性質を表す、データ(複合現実システムに対するIMUの精度および配向に対応し得る)を含むことができ、ノード608は、重力推定値(重力ベクトルの推定される方向および/または大きさを含むことができる)を含むことができる。ノード604は、IMU項エッジを含むことができ、これは、予備積分項を含むことができる。ノード604はまた、他の結び付けられるノードを相互に関連させる、誤差関数を定義し得る。予備積分項は、測定された値(例えば、線形加速および/または角速度)と状態変数を関連させることができる。いくつかの実施形態では、システム状態が、ノード602aおよび/または602bを含むことができる。システム状態は、MRシステムの場所、四元数(MRシステムの回転および/または配向を表し得る)、速度(線形および/または角速度を含んでもよい)、1つまたはそれを上回る加速度計のバイアス、および/または1つまたはそれを上回るジャイロスコープのバイアスとして定義されることができる。いくつかの実施形態では、角加速データは、より正確な予備積分項を計算するために使用されることができる。
図6Bは、いくつかの実施形態による、角加速を予備積分項に含むことの利益の例示的可視化を図示する。図6Bでは、曲線610は、経時的グラウンドトゥルース角加速を表すことができる。これは、例えば、ユーザが環境を歩き回るにつれた、MRシステム500に関するグラウンドトゥルース角加速であることができる。曲線610についての情報を可能な限り正確に捕捉することが望ましくあり得る。測定値614は、時間t=-0.6における角速度の測定された値を表すことができる。いくつかの実施形態では、測定値614は、直接、IMU502および/またはIMU506から出力されることができる。しかしながら、測定614は、曲線610がサンプル間で角速度を急速に変化させ得るため、サンプルレート間で曲線610を正確に表さない場合がある(例えば、図6Bは、0.2時間単位あたり1つのサンプルのサンプルレートを描写する)。
測定値612は、角加速項を含む、角速度を表すことができる。例えば、測定値612は、直接、時間t=-0.6における角速度をIMU502から取得し、本明細書に説明される技法を使用して、その時点での角加速を計算してもよい。角加速は、次いで、サンプル間のより正確な角速度推定値を作成するために使用されることができる(例えば、測定値612は、測定値614より曲線610を近似的に追跡するため、測定値612は、特定の時間における曲線610の傾きであり得る)。角速度は、より正確に推定され得るため、曲線610のサンプリングレートは、低減され得る。
方程式(12)(13)、および(14)は、予備積分項の成分を表すことができ、これは、2つのシステム状態と2つのシステム状態間で捕捉されたIMUセンサデータを関連させ得る。いくつかの実施形態では、方程式(12)(13)、および(14)は、角加速項を含む必要はない。具体的には、方程式(12)は、2つの四元数(例えば、2つのシステム回転状態)を相互に関連させることができ、式中(bg)は、ジャイロスコープのバイアス値を表すことができる。
方程式(12):
方程式(13)は、2つの速度推定値(例えば、線形速度測定値)を相互に関連させることができ、式中、(ba)は、線形加速度計のバイアス値を表すことができる。
方程式(13):
方程式(14)は、2つの場所推定値(例えば、3次元空間内の場所)を相互に関連させることができる。
方程式(14):
いくつかの実施形態では、方程式(15)は、2つの四元数を関連させる予備積分項の一部として、方程式(12)に取って代わることができる。方程式(15)は、例えば、本明細書に説明されるように計算され得る、角加速項を含むため、より正確なSLAM推定値をもたらし得る。
方程式(15):
いくつかの実施形態では、
項を含むことは、より正確な
項をもたらし得、これは、他の予備積分項を通して伝搬し得る。より正確な予備積分項は、より良好なSLAM結果をもたらし得る(例えば、MRシステム500は、同時に、その環境をマッピングしながら、その位置をより正確に識別し得る)。これは、より少ないジッタおよび/またはドリフトを仮想オブジェクトにもたらし得る。
方程式(12):
方程式(13):
方程式(14):
方程式(15):
いくつかの実施形態では、角加速はまた、仮想オブジェクトを事前にレンダリングすることによって、MRシステムのユーザによって知覚される待ち時間を低減させるために使用されることができる。図6Bに示されるように、角加速項は、MRシステムの将来的移動および/または位置をより正確に追跡および/または予測し得る。MRシステム500が、ユーザが近い将来に見ているであろう場所を予測することが可能である場合、MRシステム500は、それがユーザの視野に進入する必要がある前に、仮想コンテンツをレンダリングしてもよい。例えば、MRシステム500の現在の位置および/または軌道に基づいて、MRシステム500は、その将来的位置を予測し得る。MRシステム500は、次いで、将来的位置において可視となるであろう仮想コンテンツを決定し、それが将来的位置に到達する前に、仮想コンテンツのレンダリングを開始してもよい。事前レンダリングパイプラインを用いることで、MRシステム500は、必要ベースでレンダリングされるため、仮想コンテンツの表示を待機する代わりに、それがユーザの視野に進入するにつれて、瞬時(またはほぼ瞬時)に、仮想コンテンツを表示することが可能であり得る。
図7は、いくつかの実施形態による、2つを上回るIMUを伴う、例示的MRシステムを図示する。付加的IMUは、いくつかの利益、例えば、3つの軸(2つの代わりに)に沿った角加速の解法および/または雑音低減/誤差軽減をもたらすことができる。いくつかの実施形態では、位置702oおよび704oにおける2つのIMUの場所および配向は、軸701を除く、任意の軸を中心とした角加速の計算を可能にし得る。いくつかの実施形態では、付加的センサが、MRシステム700(MRシステム112、200、500に対応し得る)に追加されてもよく、これは、同様に、軸701を中心とした角加速の解法を可能にし得る。例えば、第3のIMUが、位置706oに設置されてもよい。位置706oに設置されたIMUは、一致する測定軸を位置702oまたは704oに設置されたIMUのいずれかと共有する必要はない。いくつかの実施形態では、第3のIMUは、方程式(2)(3)、および(4)を使用して、角加速の完全解法を可能にし得る。より小さい
ベクトルが測定誤差を拡大し得るため、第3のIMUを他の2つのIMUから可能な限り離れて設置することが有益であり得る。
いくつかの実施形態では、第3のIMUは、位置708oに設置されることができる。位置702oおよび704oに対する本設置は、他の2つのIMUから離れるほど、より大きい
ベクトルをもたらすため、有利であり得る。第3のIMUが参照されるが、1つ、2つ、3つ、4つ、またはそれを上回る、任意の数のIMUが、使用されてもよいことが検討される。いくつかの実施形態では、付加的および/または冗長IMUセンサは、有利なこととして、誤差検出(例えば、1つまたはそれを上回るIMUが正しくない値を測定するときを検出する)、雑音低減等のために活用されることができる。
図7に図示されるIMUの場所および数は、限定することを意味するものではないことを理解されたい。例えば、IMUは、N個のIMUに関する角加速を導出するために、正確度を最大限にするように設置されてもよい。
図8は、いくつかの実施形態による、複合現実SLAMのために角加速を活用するための例示的プロセス800を図示する。ステップ802では、第1の慣性データが、3つの測定軸を含み得る、第1の慣性測定ユニット(例えば、図5または7に関して説明されるIMU)を介して生成される。いくつかの実施形態では、第1の慣性測定ユニットは、ウェアラブル頭部デバイスの近位端の近く(および/またはウェアラブル頭部デバイスのカメラの近く)に設置されることができる。いくつかの実施形態では、第1の慣性測定ユニットは、MRシステムのウェアラブル頭部デバイスの中に統合されてもよい。いくつかの実施形態では、第1の慣性データは、線形加速(例えば、3つの測定軸に沿って)と、角速度(例えば、3つの測定軸に沿って)とを含むことができる。いくつかの実施形態では、第1の慣性データは、線形速度(例えば、3つの測定軸に沿って)を含むことができる。いくつかの実施形態では、第1の慣性データは、角加速(例えば、3つの測定軸に沿って)を含むことができる。
ステップ804では、第2の慣性データが、3つの測定軸を含み得る、第2の慣性測定ユニット(例えば、図5または7に関して説明されるIMU)を介して、生成される。いくつかの実施形態では、第2の慣性測定ユニットは、MRシステムのウェアラブル頭部デバイスの中に統合されてもよい。いくつかの実施形態では、第2の慣性測定ユニットは、1つの測定軸が第1の慣性測定ユニットの測定軸と一致するように構成されてもよい。いくつかの実施形態では、第2の慣性測定ユニットは、ウェアラブル頭部デバイスの遠位端の近く(および/またはウェアラブル頭部デバイスのカメラの近く)に設置されてもよい。第2の慣性測定ユニットは、約4~8インチの距離だけ、第1の慣性測定ユニットから分離されてもよく、第1の慣性測定ユニットに実質的に硬直的に結合されてもよい。いくつかの実施形態では、第2の慣性データは、線形加速(例えば、3つの測定軸に沿って)と、角速度(例えば、3つの測定軸に沿って)とを含むことができる。いくつかの実施形態では、第2の慣性データは、線形速度(例えば、3つの測定軸に沿って)を含むことができる。いくつかの実施形態では、第2の慣性データは、角加速(例えば、3つの測定軸に沿って)を含むことができる。
ステップ806では、角加速が、第1の慣性データおよび第2の慣性データに基づいて、計算されることができる。いくつかの実施形態では、角加速は、本明細書に説明されるように、MRシステムのウェアラブル頭部デバイスの中に統合される、1つまたはそれを上回るプロセッサを介して、計算されることができる。いくつかの実施形態では、角加速は、MRシステムの補助デバイス(例えば、ベルトパックおよび/または補助ユニット320)の中に統合される、1つまたはそれを上回るプロセッサを介して、計算されることができる。いくつかの実施形態では、角加速は、MRシステムまたは補助デバイスと異なる、第2のデバイス(例えば、クラウドコンピューティングデバイス)を使用して、計算されることができる。いくつかの実施形態では、角加速は、第1の慣性測定ユニットおよび/または第2の慣性測定ユニットの2つの測定軸に沿って、計算されることができる。いくつかの実施形態では、角加速は、第1の慣性測定ユニットと第2の慣性測定ユニット(例えば、位置702oまたは704oに位置するIMUと位置706oまたは708oに位置するIMU)との間で一致する測定軸に沿って、計算される必要はない。
ステップ808では、ウェアラブル頭部デバイスの第1の位置が、角加速に基づいて、推定されることができる。例えば、測定値612(例えば、角加速)が、特定の時間における曲線610を推定するために使用されてもよい。いくつかの実施形態では、第1の位置は、MRシステムのウェアラブル頭部デバイスの中に統合される、1つまたはそれを上回るプロセッサを介して、推定されてもよい。いくつかの実施形態では、第1の位置は、MRシステムの補助デバイスの中に統合される、1つまたはそれを上回るプロセッサを介して、推定されてもよい。いくつかの実施形態では、ウェアラブル頭部デバイスの第1の位置は、SLAMを使用して、推定されることができる。いくつかの実施形態では、第1の位置は、角加速項を含み得る、1つまたはそれを上回る予備積分項を使用して、推定されてもよい。
ステップ810では、仮想コンテンツが、ウェアラブル頭部デバイスの第1の位置に基づいて、提示されることができる。例えば、第1の位置に基づいて、いくつかの実施形態では、仮想コンテンツは、ウェアラブル頭部デバイスの1つまたはそれを上回る透過型ディスプレイを介して、提示されることができる。いくつかの実施形態では、MRシステムは、第1の位置(場所および/または配向データを含むことができる)に基づいて、ユーザの視野を決定してもよく、仮想コンテンツは、ユーザの視野内に位置する場合、提示されることができる。いくつかの実施形態では、MRシステムは、第1の位置および角加速を使用して、ウェアラブル頭部デバイスの将来的位置を予測してもよい。例えば、将来的位置は、現在の位置(例えば、第1の位置)と、軌道(角加速に基づいてもよい)とに基づいて、予測されることができる。いくつかの実施形態では、仮想コンテンツは、将来的位置および/または将来的位置におけるユーザの視野に基づいて、生成されることができる。
いくつかの実施形態によると、システムが、第1の慣性測定ユニットと、第2の慣性測定ユニットと、第1の慣性測定ユニットを介して、第1の慣性データを受信することと、第2の慣性測定ユニットを介して、第2の慣性データを受信することと、第1の慣性データに基づいて、かつ、さらに第2の慣性データに基づいて、角加速を計算することと、角加速に基づいて、ウェアラブル頭部デバイスの第1の位置を推定することと、ウェアラブル頭部デバイスの第1の位置に基づいて、仮想コンテンツを提示することとを含む、方法を実行するように構成される、1つまたはそれを上回るプロセッサとを備える。
いくつかの実施形態によると、第1の慣性測定ユニットおよび第2の慣性測定ユニットは、一致する測定軸を共有する。
いくつかの実施形態によると、本システムはさらに、一致する測定軸を第1の慣性測定ユニットおよび第2の慣性測定ユニットと共有しない、第3の慣性測定ユニットを備える。
いくつかの実施形態によると、本方法はさらに、第3の慣性測定ユニットを介して、第3の慣性データを生成することを含み、角加速は、さらに第3の慣性データに基づいて計算される。
いくつかの実施形態によると、角加速に基づいて、ウェアラブル頭部デバイスの第1の位置を推定することは、角加速に基づいて、予備積分項を計算することを含む。
いくつかの実施形態によると、予備積分項は、ウェアラブル頭部デバイスの第1の状態をウェアラブル頭部デバイスの第2の状態に関連させ、各状態は、個別の位置データ、個別の速度データ、個別の加速度計バイアスデータ、および個別のジャイロスコープバイアスデータを備える。
いくつかの実施形態によると、本方法はさらに、角加速に基づいて、かつ、さらにウェアラブル頭部デバイスの第1の位置に基づいて、ウェアラブル頭部デバイスの将来的位置を予測することと、ウェアラブル頭部デバイスの将来的位置に基づいて、仮想コンテンツの提示を更新することとを含む。
いくつかの実施形態によると、方法が、第1の慣性測定ユニットを介して、第1の慣性データを受信することと、第2の慣性測定ユニットを介して、第2の慣性データを受信することと、第1の慣性データに基づいて、かつ、さらに第2の慣性データに基づいて、角加速を計算することと、角加速に基づいて、ウェアラブル頭部デバイスの第1の位置を推定することと、ウェアラブル頭部デバイスの第1の位置に基づいて、仮想コンテンツを提示することとを含む。
いくつかの実施形態によると、第1の慣性測定ユニットおよび第2の慣性測定ユニットは、一致する測定軸を共有する。
いくつかの実施形態によると、本方法はさらに、一致する測定軸を第1の慣性測定ユニットおよび第2の慣性測定ユニットと共有しない、第3の慣性測定ユニットを介して、第3の慣性データを生成することを含む。
いくつかの実施形態によると、角加速は、さらに第3の慣性データに基づいて計算される。
いくつかの実施形態によると、角加速に基づいて、ウェアラブル頭部デバイスの第1の位置を推定することは、角加速に基づいて、予備積分項を計算することを含む。
いくつかの実施形態によると、予備積分項は、ウェアラブル頭部デバイスの第1の状態をウェアラブル頭部デバイスの第2の状態に関連させ、各状態は、個別の位置データ、個別の速度データ、個別の加速度計バイアスデータ、および個別のジャイロスコープバイアスデータを備える。
いくつかの実施形態によると、本方法はさらに、角加速に基づいて、かつ、さらにウェアラブル頭部デバイスの第1の位置に基づいて、ウェアラブル頭部デバイスの将来的位置を予測することと、ウェアラブル頭部デバイスの将来的位置に基づいて、仮想コンテンツの提示を更新することとを含む。
いくつかの実施形態によると、非一過性コンピュータ可読媒体が、電子デバイスの1つまたはそれを上回るプロセッサによって実行されると、1つまたはそれを上回るプロセッサに、第1の慣性測定ユニットを介して、第1の慣性データを受信することと、第2の慣性測定ユニットを介して、第2の慣性データを受信することと、第1の慣性データに基づいて、かつ、さらに第2の慣性データに基づいて、角加速を計算することと、角加速に基づいて、ウェアラブル頭部デバイスの第1の位置を推定することと、ウェアラブル頭部デバイスの第1の位置に基づいて、仮想コンテンツを提示することとを含む、方法を実施させる、1つまたはそれを上回る命令を記憶する。
いくつかの実施形態によると、第1の慣性測定ユニットおよび第2の慣性測定ユニットは、一致する測定軸を共有する。
いくつかの実施形態によると、本方法はさらに、一致する測定軸を第1の慣性測定ユニットおよび第2の慣性測定ユニットと共有しない、第3の慣性測定ユニットを介して、第3の慣性データを生成することを含む。
いくつかの実施形態によると、角加速は、さらに第3の慣性データに基づいて計算される。
いくつかの実施形態によると、角加速に基づいて、ウェアラブル頭部デバイスの第1の位置を推定することは、角加速に基づいて、予備積分項を計算することを含む。
いくつかの実施形態によると、予備積分項は、ウェアラブル頭部デバイスの第1の状態をウェアラブル頭部デバイスの第2の状態に関連させ、各状態は、個別の位置データ、個別の速度データ、個別の加速度計バイアスデータ、および個別のジャイロスコープバイアスデータを備える。
いくつかの実施形態によると、本方法はさらに、角加速に基づいて、かつ、さらにウェアラブル頭部デバイスの第1の位置に基づいて、ウェアラブル頭部デバイスの将来的位置を予測することと、ウェアラブル頭部デバイスの将来的位置に基づいて、仮想コンテンツの提示を更新することとを含む。
開示される実施例は、付随の図面を参照して完全に説明されたが、種々の変更および修正が、当業者に明白となるであろうことに留意されたい。例えば、1つまたはそれを上回る実装の要素は、組み合わせられ、削除され、修正され、または補完され、さらなる実装を形成してもよい。そのような変更および修正は、添付の請求項によって定義されるような開示される実施例の範囲内に含まれるものとして理解されるべきである。
Claims (20)
- システムであって、
第1の慣性測定ユニットと、
第2の慣性測定ユニットと、
1つまたはそれを上回るプロセッサであって、
前記第1の慣性測定ユニットを介して、第1の慣性データを受信することと、
前記第2の慣性測定ユニットを介して、第2の慣性データを受信することと、
前記第1の慣性データに基づいて、かつ、さらに前記第2の慣性データに基づいて、角加速を計算することと、
前記角加速に基づいて、ウェアラブル頭部デバイスの第1の位置を推定することと、
前記ウェアラブル頭部デバイスの第1の位置に基づいて、仮想コンテンツを提示することと
を含む方法を実行するように構成される、1つまたはそれを上回るプロセッサと
を備える、システム。 - 前記第1の慣性測定ユニットおよび前記第2の慣性測定ユニットは、一致する測定軸を共有する、請求項1に記載のシステム。
- 前記一致する測定軸を前記第1の慣性測定ユニットおよび前記第2の慣性測定ユニットと共有しない第3の慣性測定ユニットをさらに備える、請求項2に記載のシステム。
- 前記方法はさらに、
前記第3の慣性測定ユニットを介して、第3の慣性データを生成すること
を含み、
前記角加速は、さらに前記第3の慣性データに基づいて計算される、
請求項3に記載のシステム。 - 前記角加速に基づいて、前記ウェアラブル頭部デバイスの第1の位置を推定することは、前記角加速に基づいて、予備積分項を計算することを含む、請求項1に記載のシステム。
- 前記予備積分項は、前記ウェアラブル頭部デバイスの第1の状態を前記ウェアラブル頭部デバイスの第2の状態に関連させ、各状態は、個別の位置データ、個別の速度データ、個別の加速度計バイアスデータ、および個別のジャイロスコープバイアスデータを備える、請求項5に記載のシステム。
- 前記方法はさらに、
前記角加速に基づいて、かつ、さらに前記ウェアラブル頭部デバイスの第1の位置に基づいて、前記ウェアラブル頭部デバイスの将来的位置を予測することと、
前記ウェアラブル頭部デバイスの将来的位置に基づいて、前記仮想コンテンツの提示を更新することと
を含む、請求項1に記載のシステム。 - 方法であって、
第1の慣性測定ユニットを介して、第1の慣性データを受信することと、
第2の慣性測定ユニットを介して、第2の慣性データを受信することと、
前記第1の慣性データに基づいて、かつ、さらに前記第2の慣性データに基づいて、角加速を計算することと、
前記角加速に基づいて、ウェアラブル頭部デバイスの第1の位置を推定することと、
前記ウェアラブル頭部デバイスの第1の位置に基づいて、仮想コンテンツを提示することと
を含む、方法。 - 前記第1の慣性測定ユニットおよび前記第2の慣性測定ユニットは、一致する測定軸を共有する、請求項8に記載の方法。
- 前記一致する測定軸を前記第1の慣性測定ユニットおよび前記第2の慣性測定ユニットと共有しない第3の慣性測定ユニットを介して、第3の慣性データを生成することをさらに含む、請求項9に記載の方法。
- 前記角加速は、さらに前記第3の慣性データに基づいて計算される、請求項10に記載の方法。
- 前記角加速に基づいて、前記ウェアラブル頭部デバイスの第1の位置を推定することは、前記角加速に基づいて、予備積分項を計算することを含む、請求項8に記載の方法。
- 前記予備積分項は、前記ウェアラブル頭部デバイスの第1の状態を前記ウェアラブル頭部デバイスの第2の状態に関連させ、各状態は、個別の位置データ、個別の速度データ、個別の加速度計バイアスデータ、および個別のジャイロスコープバイアスデータを備える、請求項12に記載の方法。
- 前記角加速に基づいて、かつ、さらに前記ウェアラブル頭部デバイスの第1の位置に基づいて、前記ウェアラブル頭部デバイスの将来的位置を予測することと、
前記ウェアラブル頭部デバイスの将来的位置に基づいて、前記仮想コンテンツの提示を更新することと
をさらに含む、請求項8に記載の方法。 - 非一過性コンピュータ可読媒体であって、前記非一過性コンピュータ可読媒体は、1つまたはそれを上回る命令を記憶しており、前記1つまたはそれを上回る命令は、電子デバイスの1つまたはそれを上回るプロセッサによって実行されると、前記1つまたはそれを上回るプロセッサに、
第1の慣性測定ユニットを介して、第1の慣性データを受信することと、
第2の慣性測定ユニットを介して、第2の慣性データを受信することと、
前記第1の慣性データに基づいて、かつ、さらに前記第2の慣性データに基づいて、角加速を計算することと、
前記角加速に基づいて、ウェアラブル頭部デバイスの第1の位置を推定することと、
前記ウェアラブル頭部デバイスの第1の位置に基づいて、仮想コンテンツを提示することと
を含む方法を実施させる、非一過性コンピュータ可読媒体。 - 前記第1の慣性測定ユニットおよび前記第2の慣性測定ユニットは、一致する測定軸を共有する、請求項15に記載の非一過性コンピュータ可読媒体。
- 前記方法はさらに、前記一致する測定軸を前記第1の慣性測定ユニットおよび前記第2の慣性測定ユニットと共有しない、第3の慣性測定ユニットを介して、第3の慣性データを生成することを含む、請求項16に記載の非一過性コンピュータ可読媒体。
- 前記角加速に基づいて、前記ウェアラブル頭部デバイスの第1の位置を推定することは、前記角加速に基づいて、予備積分項を計算することを含む、請求項15に記載の非一過性コンピュータ可読媒体。
- 前記予備積分項は、前記ウェアラブル頭部デバイスの第1の状態を前記ウェアラブル頭部デバイスの第2の状態に関連させ、各状態は、個別の位置データ、個別の速度データ、個別の加速度計バイアスデータ、および個別のジャイロスコープバイアスデータを備える、請求項18に記載の非一過性コンピュータ可読媒体。
- 前記方法はさらに、
前記角加速に基づいて、かつ、さらに前記ウェアラブル頭部デバイスの第1の位置に基づいて、前記ウェアラブル頭部デバイスの将来的位置を予測することと、
前記ウェアラブル頭部デバイスの将来的位置に基づいて、前記仮想コンテンツの提示を更新することと
を含む、請求項15に記載の非一過性コンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063031985P | 2020-05-29 | 2020-05-29 | |
US63/031,985 | 2020-05-29 | ||
PCT/US2021/034647 WO2021243103A1 (en) | 2020-05-29 | 2021-05-27 | Determining angular acceleration |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023527357A true JP2023527357A (ja) | 2023-06-28 |
JPWO2021243103A5 JPWO2021243103A5 (ja) | 2024-04-24 |
Family
ID=78706260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022572567A Pending JP2023527357A (ja) | 2020-05-29 | 2021-05-27 | 角加速の決定 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11561613B2 (ja) |
EP (1) | EP4158615A4 (ja) |
JP (1) | JP2023527357A (ja) |
CN (1) | CN116210021A (ja) |
WO (1) | WO2021243103A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114830182A (zh) | 2019-10-18 | 2022-07-29 | 奇跃公司 | 视觉惯性里程计的重力估计和光束法平差 |
US11816757B1 (en) * | 2019-12-11 | 2023-11-14 | Meta Platforms Technologies, Llc | Device-side capture of data representative of an artificial reality environment |
WO2021243103A1 (en) | 2020-05-29 | 2021-12-02 | Magic Leap, Inc. | Determining angular acceleration |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4852988A (en) | 1988-09-12 | 1989-08-01 | Applied Science Laboratories | Visor and camera providing a parallax-free field-of-view image for a head-mounted eye movement measurement system |
US5933125A (en) * | 1995-11-27 | 1999-08-03 | Cae Electronics, Ltd. | Method and apparatus for reducing instability in the display of a virtual environment |
US6847336B1 (en) | 1996-10-02 | 2005-01-25 | Jerome H. Lemelson | Selectively controllable heads-up display system |
US6433760B1 (en) | 1999-01-14 | 2002-08-13 | University Of Central Florida | Head mounted display with eyetracking capability |
US6491391B1 (en) | 1999-07-02 | 2002-12-10 | E-Vision Llc | System, apparatus, and method for reducing birefringence |
CA2316473A1 (en) | 1999-07-28 | 2001-01-28 | Steve Mann | Covert headworn information display or data display or viewfinder |
CA2362895A1 (en) | 2001-06-26 | 2002-12-26 | Steve Mann | Smart sunglasses or computer information display built into eyewear having ordinary appearance, possibly with sight license |
DE10132872B4 (de) | 2001-07-06 | 2018-10-11 | Volkswagen Ag | Kopfmontiertes optisches Durchsichtssystem |
US20030030597A1 (en) | 2001-08-13 | 2003-02-13 | Geist Richard Edwin | Virtual display apparatus for mobile activities |
CA2388766A1 (en) | 2002-06-17 | 2003-12-17 | Steve Mann | Eyeglass frames based computer display or eyeglasses with operationally, actually, or computationally, transparent frames |
US6943754B2 (en) | 2002-09-27 | 2005-09-13 | The Boeing Company | Gaze tracking system, eye-tracking assembly and an associated method of calibration |
US7347551B2 (en) | 2003-02-13 | 2008-03-25 | Fergason Patent Properties, Llc | Optical system for monitoring eye movement |
US7500747B2 (en) | 2003-10-09 | 2009-03-10 | Ipventure, Inc. | Eyeglasses with electrical components |
EP1755441B1 (en) | 2004-04-01 | 2015-11-04 | Eyefluence, Inc. | Biosensors, communicators, and controllers monitoring eye movement and methods for using them |
WO2006076499A1 (en) * | 2005-01-13 | 2006-07-20 | Analog Devices, Inc. | Five degree of freedom inertial measurement unit |
US20070081123A1 (en) | 2005-10-07 | 2007-04-12 | Lewis Scott W | Digital eyewear |
US20110213664A1 (en) | 2010-02-28 | 2011-09-01 | Osterhout Group, Inc. | Local advertising content on an interactive head-mounted eyepiece |
US8890946B2 (en) | 2010-03-01 | 2014-11-18 | Eyefluence, Inc. | Systems and methods for spatially controlled scene illumination |
US8531355B2 (en) | 2010-07-23 | 2013-09-10 | Gregory A. Maltz | Unitized, vision-controlled, wireless eyeglass transceiver |
US20120078570A1 (en) * | 2010-09-29 | 2012-03-29 | Apple Inc. | Multiple accelerometer system |
US9292973B2 (en) | 2010-11-08 | 2016-03-22 | Microsoft Technology Licensing, Llc | Automatic variable virtual focus for augmented reality displays |
US8929589B2 (en) | 2011-11-07 | 2015-01-06 | Eyefluence, Inc. | Systems and methods for high-resolution gaze tracking |
US8611015B2 (en) | 2011-11-22 | 2013-12-17 | Google Inc. | User interface |
US8235529B1 (en) | 2011-11-30 | 2012-08-07 | Google Inc. | Unlocking a screen using eye tracking information |
US8638498B2 (en) | 2012-01-04 | 2014-01-28 | David D. Bohn | Eyebox adjustment for interpupillary distance |
US10013053B2 (en) | 2012-01-04 | 2018-07-03 | Tobii Ab | System for gaze interaction |
US9274338B2 (en) | 2012-03-21 | 2016-03-01 | Microsoft Technology Licensing, Llc | Increasing field of view of reflective waveguide |
US8989535B2 (en) | 2012-06-04 | 2015-03-24 | Microsoft Technology Licensing, Llc | Multiple waveguide imaging structure |
US10025379B2 (en) | 2012-12-06 | 2018-07-17 | Google Llc | Eye tracking wearable devices and methods for use |
EP2951811A4 (en) | 2013-01-03 | 2016-08-17 | Meta Co | DIGITAL EYES FOR EXTRAMISSIVE SPATIAL IMAGING, PROCESSES AND SYSTEMS FOR VIRTUAL OR ENLARGED VISIBILITY, MANIPULATION, PRODUCTION OR INTERACTION WITH OBJECTS, MATERIALS, OR OTHER UNITS |
US20140195918A1 (en) | 2013-01-07 | 2014-07-10 | Steven Friedlander | Eye tracking user interface |
KR102292031B1 (ko) * | 2015-06-12 | 2021-08-20 | 구글 엘엘씨 | 헤드 장착 디스플레이를 위한 전자 디스플레이 안정화 |
US10191561B2 (en) | 2015-06-15 | 2019-01-29 | Facebook Technologies, Llc | Tracking controllers of a virtual reality system |
KR102501752B1 (ko) | 2015-09-21 | 2023-02-20 | 삼성전자주식회사 | 헤드 마운트 디스플레이의 움직임을 보상하는 방법 및 이를 위한 장치 |
US10839547B2 (en) | 2017-09-28 | 2020-11-17 | Samsung Electronics Co., Ltd. | Camera pose determination and tracking |
KR102440358B1 (ko) * | 2017-10-12 | 2022-09-05 | 한화디펜스 주식회사 | 관성 기반 항법 장치 및 상대사전적분에 따른 관성 기반 항법 방법 |
US10970425B2 (en) | 2017-12-26 | 2021-04-06 | Seiko Epson Corporation | Object detection and tracking |
US10444932B2 (en) * | 2018-01-25 | 2019-10-15 | Institute For Information Industry | Virtual space positioning method and apparatus |
US11210804B2 (en) | 2018-02-23 | 2021-12-28 | Sony Group Corporation | Methods, devices and computer program products for global bundle adjustment of 3D images |
JP2020020631A (ja) | 2018-07-31 | 2020-02-06 | セイコーエプソン株式会社 | 姿勢推定方法、姿勢推定装置及び移動体 |
CN114830182A (zh) | 2019-10-18 | 2022-07-29 | 奇跃公司 | 视觉惯性里程计的重力估计和光束法平差 |
WO2021243103A1 (en) | 2020-05-29 | 2021-12-02 | Magic Leap, Inc. | Determining angular acceleration |
-
2021
- 2021-05-27 WO PCT/US2021/034647 patent/WO2021243103A1/en unknown
- 2021-05-27 JP JP2022572567A patent/JP2023527357A/ja active Pending
- 2021-05-27 EP EP21813271.0A patent/EP4158615A4/en active Pending
- 2021-05-27 CN CN202180060739.XA patent/CN116210021A/zh active Pending
- 2021-05-27 US US17/332,917 patent/US11561613B2/en active Active
-
2022
- 2022-12-19 US US18/068,392 patent/US20230126026A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021243103A1 (en) | 2021-12-02 |
US11561613B2 (en) | 2023-01-24 |
US20210373654A1 (en) | 2021-12-02 |
CN116210021A (zh) | 2023-06-02 |
EP4158615A4 (en) | 2023-11-15 |
US20230126026A1 (en) | 2023-04-27 |
EP4158615A1 (en) | 2023-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7445720B2 (ja) | 拡張現実のためのシステムおよび方法 | |
JP7446420B2 (ja) | 反響フィンガプリント推定 | |
JP7252965B2 (ja) | 複合現実のための二重聴取者位置 | |
EP3000020B1 (en) | Hologram anchoring and dynamic positioning | |
JP7464694B2 (ja) | 複合現実における空間命令およびガイド | |
US11561613B2 (en) | Determining angular acceleration | |
US11935180B2 (en) | Dual IMU SLAM | |
KR20160021126A (ko) | 공유된 홀로그램 객체 및 사적 홀로그램 객체 | |
JP2023514572A (ja) | セッションマネージャ | |
JP2023513250A (ja) | 仮想コンテンツの動的併置 | |
JP2023527561A (ja) | 表面の適切な衝突 | |
US11961194B2 (en) | Non-uniform stereo rendering | |
JP2024512211A (ja) | Lidar同時位置特定およびマッピング |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240412 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240412 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20240412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240502 |