JP2024503247A - 仮想または拡張現実システムのための較正 - Google Patents
仮想または拡張現実システムのための較正 Download PDFInfo
- Publication number
- JP2024503247A JP2024503247A JP2023537547A JP2023537547A JP2024503247A JP 2024503247 A JP2024503247 A JP 2024503247A JP 2023537547 A JP2023537547 A JP 2023537547A JP 2023537547 A JP2023537547 A JP 2023537547A JP 2024503247 A JP2024503247 A JP 2024503247A
- Authority
- JP
- Japan
- Prior art keywords
- poses
- headset
- group
- miscalibration
- time
- 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
- 230000003190 augmentative effect Effects 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 62
- 230000036544 posture Effects 0.000 claims description 25
- 238000013519 translation Methods 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 12
- 230000007423 decrease Effects 0.000 claims description 9
- 238000006073 displacement reaction Methods 0.000 claims description 4
- 238000009877 rendering Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 14
- 230000005489 elastic deformation Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 210000003128 head Anatomy 0.000 description 7
- 230000002441 reversible effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000002207 retinal effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Studio Devices (AREA)
- Controls And Circuits For Display Device (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
仮想または拡張ヘッドセットにおける変形に対処するための技法が、説明される。いくつかの実装では、ヘッドセット内のカメラは、ヘッドセットがヘッドセットの一連の姿勢を通して移動する際、異なる時間において画像データを取得することができる。ヘッドセットが一連の姿勢を通して移動した際に生じたヘッドセットに関する1つまたはそれを上回る誤較正条件が、検出されることができる。一連の姿勢は、1つまたはそれを上回る誤較正条件に基づいて、姿勢のグループに分割されることができ、姿勢のグループに関するバンドル調節が、カメラ較正データの別個のセットを使用して実施されることができる。各グループにおける姿勢に関するバンドル調節は、グループに関する較正データの同一のセットを使用して実施される。グループ毎のカメラ較正データは、グループにおける姿勢に関するバンドル調節推定と共同で推定される。
Description
(関連出願の相互参照)
本願は、35 U.S.C. § 119(e)(米国特許法第119条(e))下、参照することによってその全体として本明細書に組み込まれる、米国仮特許出願第63/129316号の利益を主張する。
本願は、35 U.S.C. § 119(e)(米国特許法第119条(e))下、参照することによってその全体として本明細書に組み込まれる、米国仮特許出願第63/129316号の利益を主張する。
本明細書は、概して、画像処理およびセンサ較正に関する。
仮想または拡張現実(VAR)システムは、仮想コンテンツを用いて物理的現実ビューを拡張し得る、ディスプレイデバイスを含む。ディスプレイデバイスは、ディスプレイインターフェースを使用して、画像をユーザに投影することができる。多くのシステムでは、表示される画像は、1つまたはそれを上回るカメラからの画像データ等のセンサデータに基づく。しかしながら、センサが、誤較正される場合、またはセンサの整合が、予期せず変化する場合、発生される出力画像は、所望されるように現れない場合がある。
本明細書に説明される主題の革新的な側面は、VARシステムにおいて使用されるデバイスの較正に関する。特に、VARヘッドセットが、ユーザによって装着されるとき、ヘッドセットは、ヘッドセット上のカメラおよび他のセンサの不整合を引き起こし得る、いくつかの熱的および機械的変形を被り得る。ある場合には、これらの変形は、本質的に一時的である、または以前の較正方法が考慮し得ない小さい不整合をもたらし得る。
本開示は、使用の間の本デバイスに対する弾性または一時的変形を補償するための連続的較正を含む、バンドル調節技法を使用して、VARデバイスに対する変形に対処するためのシステムおよび方法を説明する。較正は、センサデータを捕捉し、出力をユーザに提供するためのVARデバイスの動作と並行して実施されることができ、例えば、較正は、ユーザが本デバイスを使用する際、リアルタイムまたは実質的にリアルタイムで、行われる。本技法では、画像データが、ヘッドセットシステムのカメラまたは他のセンサの整合および配向を示すセンサデータとともに収集される。ヘッドセットシステムは、ヘッドセットが一連の姿勢を通して移動する際、誤較正条件が生じたかどうかを決定するために条件もまた監視しながら、画像データを収集することができる。ヘッドセットが、移動する際、本システムは、受信された画像データのグループを処理し、較正パラメータは、潜在的に、グループ毎に調節または精緻化される。誤較正条件の発生は、グループに関する境界を定義するために使用されることができる。例えば、誤較正条件が、生じる場合、ヘッドセットシステムは、現在のグループを終了し、処理のためのデータの新しいグループを開始する。これは、同一の物理的センサ整合を共有する姿勢に関する収集されたデータが、グループの開始および/または終了を設定するための誤較正条件のタイミング等の所定の基準を使用して、同一のグループにおいて処理されることを可能にする。本システムは、デバイス姿勢のグループ毎のセンサの位置を表す、外部パラメータを決定する。姿勢情報、外部パラメータ、および基準画像点が、誤差最適化を実施し、誤差最適化の結果に従ってヘッドセットを較正するために使用される。
説明される実装によると、較正方法が、VARヘッドセットにおける変形に適応するために使用されることができる。いくつかの実装では、本方法は、ヘッドセットの複数のカメラのそれぞれから画像データを取得することを含む。画像データは、ヘッドセットがヘッドセットの一連の姿勢を通して移動する際、異なる時間において取得される。本方法はまた、ヘッドセットに関する1つまたはそれを上回る誤較正条件が、ヘッドセットが一連の姿勢を通して移動した際に生じたことを検出することと、1つまたはそれを上回る誤較正条件に基づいて、一連の姿勢を姿勢のグループに分割することと、姿勢のグループ毎にカメラ較正データの別個のセットを使用して、姿勢のグループに関するバンドル調節を実施することとを含む。各グループにおける姿勢に関するバンドル調節は、グループに関する較正データの同一のセットを使用して実施される。グループ毎のカメラ較正データは、グループにおける姿勢に関するバンドル調節推定と共同で推定される。複数のカメラのうちの1つまたはそれを上回るものの整合および配向のうちの1つまたはそれを上回るものが、バンドル調節に基づいて変更され、ヘッドセットを較正する。
実装はそれぞれ、随意に、以下の特徴のうちの1つまたはそれを上回るものを含むことができる。例えば、いくつかの実装では、ヘッドセットがヘッドセットの一連の姿勢を通して移動する際、異なる時間において画像データを取得することは、ヘッドセットの姿勢毎のマップ基準点に対するヘッドセットのカメラ毎の位置および配向値を決定することを含む。
いくつかの実装では、ヘッドセットがヘッドセットの一連の姿勢を通して移動する際、異なる時間において画像データを取得することは、画像データの選択されたフレーム毎にヘッドセットの姿勢を決定することと、一連の姿勢として姿勢のサブセットを選択することとを含む。
いくつかの実装では、ヘッドセットに関する1つまたはそれを上回る誤較正条件が生じたことを検出することは、1つまたはそれを上回る動作を含む。これらの動作は、(i)ヘッドセットがユーザの頭部上に設置された、またはそれから取り外されたことを決定することと、(ii)ヘッドセットの場所が変化したことを決定することと、(iii)ヘッドセットを囲繞する周囲温度における増減を検出することと、(iv)ヘッドセットの温度における増減を検出することと、(v)ヘッドセットの一部の機械的変位を検出することとを含む。
いくつかの実装では、一連の姿勢を姿勢のグループに分割することは、第1の誤較正条件が生じた第1の時間を決定することと、第1の誤較正条件が生じたときの第1の時間に先立つヘッドセットの全ての姿勢を識別することと、第1の時間に先立つヘッドセットの姿勢を第1の姿勢グループにグループ化することとを含む。
いくつかの実装では、一連の姿勢を姿勢のグループに分割することは、第2の誤較正条件が生じた第2の時間を決定することと、第1の時間後かつ第2の誤較正条件が生じたときの第2の時間に先立つヘッドセットの全ての姿勢を識別することと、第1の時間と第2の時間との間のヘッドセットの姿勢を第2の姿勢グループにグループ化することとを含む。
いくつかの実装では、第2の姿勢グループにおける姿勢の数は、第1の姿勢グループにおける姿勢の数と異なる。
いくつかの実装では、姿勢のグループ毎にカメラ較正データの別個のセットを使用して、姿勢のグループに関するバンドル調節を実施することは、姿勢のグループ毎に別個の外部パラメータを決定することを含む。別個の外部パラメータは、ヘッドセットの少なくとも2つのカメラと関連付けられる回転および平行移動パラメータ値の少なくとも2つの行列を含む。
いくつかの実装では、姿勢のグループ毎にカメラ較正データの別個のセットを使用して、姿勢のグループに関するバンドル調節を実施することは、姿勢のグループ毎にカメラ較正データの別個のセットを最適化し、ヘッドセットを拡張現実画像内のマッピング基準点のセットに整合させることを含む。
いくつかの実装では、姿勢のグループ毎にカメラ較正データの別個のセットを最適化することは、回転閾値未満であるように姿勢の2つのグループのカメラ較正データの回転パラメータの間の差異を限定する、第1の制約を適用することと、平行移動閾値未満であるように姿勢の2つのグループのカメラ較正データの平行移動パラメータの間の差異を限定する、第2の制約を適用することとを含む。
いくつかの実装では、回転閾値は、2分角であり、平行移動閾値は、3mmである。
いくつかの実装では、本方法は、バンドル調節を実施することに応答して、ヘッドセットのディスプレイに拡張現実画像を表示することを含む。
本明細書に説明される主題の側面はまた、ヘッドセットと、プロセッサとを含む、仮想または拡張現実システムを含む。ヘッドセットは、拡張現実画像を表示するように構成される、ディスプレイデバイスと、拡張現実画像をレンダリングするためのデータを取得するように構成される、カメラとを含む。プロセッサは、ヘッドセットに結合され、ヘッドセットのカメラのそれぞれから画像データを取得するように構成される。画像データは、ヘッドセットがヘッドセットの一連の姿勢を通して移動する際、異なる時間において取得される。プロセッサはまた、ヘッドセットに関する1つまたはそれを上回る誤較正条件が、ヘッドセットが一連の姿勢を通して移動した際に生じたことを検出し、1つまたはそれを上回る誤較正条件に基づいて、一連の姿勢を姿勢のグループに分割し、姿勢のグループ毎にカメラ較正データの別個のセットを使用して、姿勢のグループに関するバンドル調節を実施するように構成される。各グループにおける姿勢に関するバンドル調節は、グループに関する較正データの同一のセットを使用して実施される。グループ毎のカメラ較正データは、グループにおける姿勢に関するバンドル調節推定と共同で推定される。カメラのうちの1つまたはそれを上回るものの整合および配向のうちの1つまたはそれを上回るものが、バンドル調節に基づいて変更され、ヘッドセットを較正する。
本明細書に説明される主題の側面はまた、1つまたはそれを上回るプロセッサによって実行されると、1つまたはそれを上回るプロセッサに動作を実施させる、命令を備える、非一過性コンピュータ可読記憶媒体を含む。動作は、ヘッドセットの複数のカメラのそれぞれから画像データを取得することを含む。画像データは、ヘッドセットがヘッドセットの一連の姿勢を通して移動する際、異なる時間において取得される。動作はまた、ヘッドセットに関する1つまたはそれを上回る誤較正条件が、ヘッドセットが一連の姿勢を通して移動した際に生じたことを検出することと、1つまたはそれを上回る誤較正条件に基づいて、一連の姿勢を姿勢のグループに分割することと、姿勢のグループ毎にカメラ較正データの別個のセットを使用して、姿勢のグループに関するバンドル調節を実施することとを含む。各グループにおける姿勢に関するバンドル調節は、グループに関する較正データの同一のセットを使用して実施される。グループ毎のカメラ較正データは、グループにおける姿勢に関するバンドル調節推定と共同で推定される。複数のカメラのうちの1つまたはそれを上回るものの整合および配向のうちの1つまたはそれを上回るものが、バンドル調節に基づいて変更され、ヘッドセットを較正する。
説明される較正技法は、それらが、変形に迅速に応答し、小さい可逆的な変形を補償するために較正を適用し得る点において、有利である。画像データのグループを用いて較正を繰り返し実施することによって、レンダリングされたVAR出力画像に対する変形の効果は、最小限にされ、それによって、ユーザの視認体験を改良することができる。さらに、較正は、ユーザによって検出されることなく、リアルタイムで実施されることができる。
本システムは、動的に定寸されるグループを可能にすることによって、高い正確度および汎用性を提供しながら、捕捉された画像データのグループに関する較正パラメータを共有することによって、高い効率を提供することができる。較正パラメータの共有は、較正が生じる複雑性および回数を低減させることによって、全体的な算出要件を限定する。検出された条件に基づいてグループのサイズを調節するための能力は、グループをセンサの特定の物理的整合を表すデータ捕捉の部分に整合させることができる。例えば、一連の画像捕捉に関して、データは、第1のグループが、カメラの間の第1の物理的関係を伴う捕捉を含み、第2のグループが、カメラの間の第2の物理的関係(例えば、力がヘッドセットをわずかに変形させた後)を伴う捕捉を含み、第3のグループが、カメラの間の第3の物理的関係(例えば、力が低下し、ヘッドセットが少なくとも部分的にその無負荷状態に戻った後)を伴う捕捉を含むようにグループ化されることができる。較正は、較正が、整合が変化していないときの時間に多くの不必要な較正プロセスを回避しながら、カメラの異なる整合のために調節されるように、グループ毎に最適化されることができる。(例えば、画像捕捉の数、デバイス姿勢の数、または表される時間の量の観点にかかわらず)処理される画像データのグループのサイズを変更するための能力は、本システムが、多くの異なる状況に応答し、ヘッドセットに対する変形が生じる頻度を用いて較正処理の頻度を調節することを可能にする。
本側面の他の実装は、それぞれ、本方法の動作を実施するように構成される、対応するシステム、装置、およびコンピュータ記憶デバイス上に記録されるコンピュータプログラムを含む。
本明細書に説明される主題の1つまたはそれを上回る実装の詳細が、付随の図面および下記の説明に記載される。本主題の他の特徴、側面、および利点が、説明、図面、および請求項から明白となるであろう。
種々の図面における同様の参照番号および指定は、同様の要素を示す。
詳細な説明
VARシステムは、概して、ユーザの頭部上に装着されるヘッドセットを含む。ユーザ体験を改良するために、市場において、ヘッドセットに関するより軽量かつより可撓性のフレーム構造に関する需要が、存在している。しかしながら、より軽量かつより可撓性のフレーム構造はまた、より変形しやすい。
VARシステムは、概して、ユーザの頭部上に装着されるヘッドセットを含む。ユーザ体験を改良するために、市場において、ヘッドセットに関するより軽量かつより可撓性のフレーム構造に関する需要が、存在している。しかしながら、より軽量かつより可撓性のフレーム構造はまた、より変形しやすい。
一般に、フレーム構造は、3つのタイプの変形を受け得る。塑性変形が、フレーム構造が落下される、手荒く取り扱われる、または摩耗および引裂を被るときに生じ得る。塑性変形は、概して、可逆的ではない、または少なくとも、修理または他の調節を伴わずに自力で逆転されない。熱的変形が、温度増減に起因して生じ得る。熱的変形は、概して、可逆的であり、したがって、温度変化が、センサ整合を改変する場合であっても、デバイスは、温度が通常に戻った後に適切な整合を取り戻す。機械負荷変形が、ケーブルの引っ張りまたはヘッドセット着用等の種々の因子に起因して生じ得る。機械負荷変形は、概して、小さく、可逆的であり、短い期間にわたって持続する。熱的変形と同様に、機械負荷変形は、通常、外部負荷が除去された後に自動的に逆転される。VARシステムの感度および精密さに起因して、これらのタイプの変形のうちのいずれか1つでも、VARシステムの出力の品質を劣化させる潜在性を有する。これらの変形のうちの2つまたはそれを上回るものが、並行して生じると、変形は、増幅し、画像品質、その結果、VARシステムのユーザ体験における有意な変動を導入し得る。
例えば、2つのカメラが、ロール軸またヨー軸に沿って整合されていない場合、不整合は、画像処理に影響を及ぼし、提示される仮想コンテンツとユーザが視認する実環境との間の平行移動および/または回転不整合を有する出力画像をもたらし得る。例えば、拡張現実画像では、仮想アイテムが、ユーザが見る現実の非仮想物体に対して誤った位置に現れ得る。一貫しない表示出力をもたらす不整合はまた、ユーザの眼に対する生理学的な負担を引き起こし得る。さらに、より一般的には、人間は、それぞれ、4、6、および10分角までのピッチ、ロール、およびヨー軸を中心とする仮想画像の両眼回転不整合に感受性があり得る。本問題に対処するために、ヘッドセット上のカメラおよび/またはセンサの不整合は、推定および補償されることができる。カメラおよび他のセンサの較正は、本システムによる画像処理の正確度および使用性を増加させるために、バンドル調節処理と共同で実施されることができる。
本開示は、熱的および機械負荷変形を含み得、ヘッドセットの使用の間に頻繁に生じる、または大きさにおいて変動し得る、変形、特に、弾性変形に起因して生じ得る、不整合を補正するための較正方法およびシステムを説明する。
図1を参照すると、シナリオ105では、ユーザが、自身の頭部上にVARヘッドセット100を装着している。ヘッドセット100は、ユーザによって視認されている環境を捕捉するために、前方に向く複数のカメラを含む。シナリオ105では、ヘッドセット100上のカメラは、VARシステムが、いかなる不整合も伴わずにヘッドセット100のディスプレイ上に画像をレンダリングするように、最初に整合されることができる。
太陽等の環境要素への暴露の期間後、ヘッドセット100は、加熱し得、カメラをわずかに不整合にさせる、熱膨張を受け得る。例えば、一方または両方のカメラが、シナリオ110におけるように、0.2°の回転角だけオフセットされ得る。そのような弾性変形が、生じると、レンダリングされたVAR画像の品質は、損なわれ得る。例えば、図1に示されるように、変形に起因して、画像115は、損なわれた品質を有し、ユーザによって明確に視認され得ない、1つまたはそれを上回るオブジェクトを含む、またはオブジェクトは、ユーザが実世界環境内で見る物体に対して不正確な位置に表示され得る。
弾性変形に対処し、結果として生じる損なわれた画像品質を回避するために、センサ較正およびバンドル調節方法(SCBA)が、実施されることができる。SCBA方法の詳細は、図2-5に関して説明される。SCBAは、周期的に、スケジューリングされた、または所定の間隔において、誤較正トリガに応答して、条件に応答して、またはユーザ要求に応答して、実施されることができる。種々の好適な条件が、SCBA方法を実施するべきときを決定するために使用されることができる。実施例は、限定ではないが、ヘッドセットを装着するユーザの眼が閉じられているとき、ユーザが眠っているとき、またはヘッドセットシステムがSCBAを実施するための利用可能なリソースを有するときを含む。
結果として、種々の補償技法が、弾性変形および結果として生じる不整合を考慮するために、ヘッドセット100に適用されることができる。例えば、仮想コンテンツの表示(例えば、その場所またはサイズ)は、SCBA方法によって決定された較正値に基づいて、調節され得る。別の実施例では、ヘッドセット100上のセンサまたはカメラの配向または整合は、調節または補償されることができる。ヘッドセット100のそのような較正および補償は、仮想コンテンツが、仮想コンテンツをヘッドセット100を通して視認される実世界コンテンツと正しく整合させる、ヘッドセット100のディスプレイにおける位置に表示されるように、連続的または周期的に実施されることができる。このように、レンダリングされた画像120は、整合問題によって殆ど影響を受けないことができ、より高い品質レベルにおいてレンダリングされることができる。
図2は、SCBAを実装するための例示的ヘッドセットシステム200を描写する。ヘッドセットシステム200は、フレーム構造(図示せず)と、ディスプレイシステム210と、1つまたはそれを上回るプロセッサ220と、記憶装置230と、誤較正検出器240と、1つまたはそれを上回るセンサ250と、1つまたはそれを上回るカメラ260とを含む。ディスプレイシステム210、1つまたはそれを上回るプロセッサ220、記憶装置230、誤較正検出器240、1つまたはそれを上回るセンサ250、および1つまたはそれを上回るカメラ260は、フレーム構造に統合される、またはそれに結合されてもよい。
一般に、ヘッドセットシステム200は、カメラまたは他のセンサを使用し、ヘッドセットシステム200を装着するユーザの周囲の3次元環境についての情報を入手し、画面、仮想網膜ディスプレイ、または他の表示技術上にデジタル要素を追加するデバイスである。例えば、ヘッドセットシステム200または関連付けられる電子機器は、複数のカメラおよびセンサからの情報を使用し、実世界物体の位置を決定し、3次元空間におけるサイズおよび位置をマッピングし、環境のビューに統合される3次元コンピュータ発生像を発生させ、提示することができる。本プロセスは、コンピュータ発生像が、ユーザの現在のビューと統合される、またはそれと整合して示されるように、リアルタイム様式で実施される。
例えば、ヘッドセットシステム200の装着者が、部屋の異なる部分を視認するために自身の頭部を移動させる際、デジタル的に発生された要素の表示は、部屋内のそれらの適切な見掛け上の位置を維持するように調節される。正しい空間位置にあるように現れるように像を発生させ、表示するプロセスは、環境のマップを発生させ、環境内のヘッドセットシステム200の現在の位置を決定するためにデータを提供するカメラまたは他のセンサの正しい整合に大いに依存する。結果として、ヘッドセットシステム200の変形または別の原因に起因するかにかかわらず、カメラまたはセンサの誤った整合または配向は、ヘッドセットシステム200を用いたユーザの体験の品質を劣化させ得る。例えば、デジタル的に追加された像は、実世界環境に対して誤った、または一貫しない位置に表示され得る。
ディスプレイシステム210は、高品質2次元(2D)または3次元(3D)画像コンテンツを伴って、物理的現実への拡張物として快適に知覚され得る、写真ベースの放射パターンをユーザの眼に提示するように構成される。ディスプレイシステム210は、画面、仮想網膜ディスプレイ、または他の好適なコンテンツ表示技術を含むことができ、単一のコヒーレントな場面の知覚を提供するために、高周波数においてフレームのシーケンスを出力することができる。ディスプレイシステム210は、左接眼レンズと、右接眼レンズと、左投影システムと、右投影システムとを含むことができる。
左および右接眼レンズは、部分的に透明であり得、画像がそれらの上に投影されるとき、ディスプレイ画面またはディスプレイインターフェースとして効果的に動作することができる。いくつかの実装では、左および右接眼レンズは、それを通してユーザが透明(または半透明)要素を介して実物体からの光を直接視認し得る、光学シースルーディスプレイであり得る。透明要素は、実世界のユーザのビューにわたって左および右投影システムからの光を重畳することができる。接眼レンズは、ユーザの眼の前に設置される。
左および右投影システムは、それぞれ、左および右接眼レンズ上に左および右画像を投影することができる。投影システムは、光ファイバ走査ベースの投影デバイスとして実装されることができる。
記憶装置230は、ヘッドセットシステム200のための任意の好適なデータを記憶することができる。例えば、記憶装置230は、本明細書に説明されるSCBA方法等のヘッドセットシステム200の動作を促進するために、ヘッドセットシステム200の1つまたはそれを上回るコンポーネントによって使用され得る、コンピュータプログラム、コード、アプリケーション、ソフトウェア、またはデータを記憶することができる。いくつかの実装では、ディスプレイシステム210上にレンダリングされるべき視聴覚データが、少なくとも一時的に、記憶装置230内に記憶されることができる。記憶装置230は、1つまたはそれを上回るフレームバッファ118と、3次元場面データを記憶するための3Dデータベース120とを含むことができる。記憶装置230は、例えば、光学およびメモリチップを含む、種々の好適な方法で実装されることができる。記憶装置230は、コンピュータ可読媒体または複数の媒体、揮発性メモリユニットまたは複数のユニット、または不揮発性メモリユニットまたは複数のユニットを含むことができる。
1つまたはそれを上回るセンサ250が、ユーザの頭部の移動および/またはユーザの眼位置および眼間距離を感知するために、ヘッドセットシステム200のフレームに搭載されることができる。1つまたはそれを上回るセンサ250は、限定ではないが、慣性測定ユニット、配向センサ、加速度計、コンパス、ジャイロスコープ、光センサ、マイクロホン、および/またはタッチセンサを含むことができる。1つまたはそれを上回るセンサ250は、1つまたはそれを上回るカメラ260等のヘッドセットシステム100の1つまたはそれを上回るコンポーネントの整合または配向を示すデータを提供することができる。例えば、センサ250は、カメラ260のロール、ピッチ、およびヨー値等の回転および配向設定を検出することができる。センサ250は、連続的に、周期的に、またはプロセッサによって命令されるとき、センサデータを収集することができる。マイクロホンは、ユーザを囲繞する環境における音を示すオーディオデータを取得することができる。
1つまたはそれを上回るカメラ260は、ユーザを囲繞する環境の画像データを捕捉することができる。例えば、カメラ260は、ユーザが知覚する画像に対応する1つまたはそれを上回るビューを捕捉することができる。カメラ260は、マイクロホン等のオーディオセンサと統合される、またはそれに結合されることができる。1つまたはそれを上回るカメラ260によって捕捉された画像データは、1つまたはそれを上回るプロセッサ220および記憶装置230またはサーバ等のヘッドセットシステム200の他のコンポーネントに提供されることができる。いくつかの実装では、画像データ110は、画像のシーケンス等のビデオフィードとして取得される。例えば、画像データ110は、ビデオシーケンスにおける画像フレームであり得る。カメラ260からの画像データは、ピクセルに関する値として表されることができる。ヘッドセット102の基準フレームにおいて、カメラ260は、水平および垂直軸(例えば、x次元およびy次元)に関するピクセル値を伴う画像を示す。
誤較正検出器240は、1つまたはそれを上回る誤較正条件を検出するように構成される。誤較正条件は、カメラ260またはセンサ250のうちの1つ等のヘッドセットシステム200のコンポーネントが整合されていないことに対応する、またはそれを示す条件であり得る。誤較正条件が生じることにつながり得る事象の実施例は、限定ではないが、1つまたはそれを上回るケーブルがヘッドセット上で引き下げられるとき、熱的増減が生じるとき、ヘッドセットシステム200が閾値距離を上回って変位される、または特定の場所を越えて移動されるとき、またはユーザがヘッドセットシステム200を着ける、または取り外すときを含む。
いくつかの実装では、誤較正検出器240は、センサ250またはカメラ260のうちの1つまたはそれを上回るものに結合されることができ、センサ250および/またはカメラ260からデータを受信することができる。センサ250および/またはカメラ260から受信されたデータに基づいて、誤較正検出器240は、誤較正条件が存在するかどうかを決定することができる。誤較正条件が存在することを決定することに応じて、誤較正検出器240は、誤較正信号を発生させ、これをプロセッサに伝送することができる。いくつかの実装では、誤較正検出器240は、プロセッサが、少なくとも誤較正検出器240の動作を実施するように、プロセッサと統合されてもよい。
ヘッドセットシステム200は、上記に記述されるコンポーネントに限定されず、例えば、オーディオ信号を放出するための1つまたはそれを上回るスピーカ、ヘッドセットシステム100とサーバ、データベース、およびコンピューティングシステム等の他の電子デバイスとの間の無線通信を促進するための通信インターフェース等の種々の他の回路網を含むことができる。
ヘッドセットシステム200はまた、1つまたはそれを上回るプロセッサ220を含むことができる。プロセッサ220は、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、コントローラ、デジタル信号プロセッサ、特定用途向け集積回路(ASIC)、プログラマブルゲートアレイ(PGA)、フィールドPGA(FPGA)、および/またはプログラマブル論理コントローラ(PLC)を含むことができる。プロセッサ220は、ヘッドセットシステム200の全体的動作を制御し、本明細書に説明される動作を実施するために、種々のソフトウェアおよびハードウェアコンポーネントを含むことができる。
プロセッサ220は、フレームをレンダリングし(例えば、3D場面を2D画像に変換する)、レンダリングされたフレームをバッファに、または記憶装置230内での記憶のために提供し得る、GPUを含むことができる。GPUは、フレームバッファから1つまたはそれを上回るフレームを読み込む、および/または読み出すことができる。GPUは、画像またはフレームデータをディスプレイシステム210の左および右投影サブシステムに提供することができる。
プロセッサ220はまた、SCBA方法の1つまたはそれを上回る動作を実行することができる。例えば、図3-5に関してより詳細に解説されるように、プロセッサ220は、カメラ260からビデオデータを受信し、センサ250からセンサデータを受信し、誤較正検出器240から誤較正信号を受信する。プロセッサ220は、データをグループに編成し、グループ毎に外部パラメータを決定し、部分的に、外部パラメータに基づいて、グループ毎に誤差を最適化することができる。最適化されたパラメータを使用して、プロセッサ220は、例えば、1つまたはそれを上回る制御信号をカメラ260に送信し、それらの配向および整合を調節することによって、ヘッドセットシステム200の1つまたはそれを上回るコンポーネントを較正することができる。カメラ260の配向および整合を調節することによって、弾性変形に起因する画像劣化は、補償されることができ、ユーザは、変形に起因して劣化されていない画像を視認することができる。いくつかの実装では、制御信号はまた、ディスプレイシステムの左および右投影サブシステムに送信され、表示される画像の整合が正しく、いずれの誤較正条件によっても殆ど影響を受けないことを確実にすることができる。
より詳細には、図3は、カメラおよび/またはセンサからヘッドセットシステム内の1つまたはそれを上回るプロセッサ(以降では「プロセッサ」と称される)によって収集されるデータを表す、グラフィカルモデルを図示する。図3では、三角形は、3D画像点に対応する基準点を表す。長円形は、ヘッドセットのカメラ姿勢を表す。正方形は、最適化ノードと関連付けられる基準点毎のカメラ姿勢を最適化するための最適化値を含む、最適化ノードを表す。
姿勢情報、例えば、カメラ位置および配向情報が、センサおよび/またはカメラから取得されることができ、例えば、30Hzまたは60Hz周波数において、フレーム毎に決定されることができる。決定された数の姿勢、例えば、1つまたは2つの決定された姿勢が、所定の期間にわたって選択され、グラフィカルモデルを発生させ、SCBAを実施する目的のために利用されることができる。
いくつかの実装では、姿勢、最適化、および基準点データは、連続的または周期的に取得されることができる。いくつかの実装では、姿勢、最適化、および基準点データは、固定された期間にわたって取得されることができる。図3は、データが時間tAとtEとの間の期間から取得される、実施例を図示する。時間tAにおいて、2つの最左基準点は、利用可能な基準マッピング点である。これらの点に関する長円形tAによって表される姿勢情報が、取得され、姿勢情報に基づく2つの基準点に関する最適化値が、決定されることができる。同様に、時間tB、tC、tD、およびtEにおいて、姿勢、基準点、および最適化データが、決定されることができる。
上記に記述されるデータが、収集されている間、ヘッドセットシステムはまた、誤較正の事例を監視することができる。プロセッサは、上記に説明されるように、誤較正検出器が、誤較正条件が生じたことを決定することに応答して、誤較正検出器から誤較正信号を受信することができる。いくつかの実装では、プロセッサは、誤較正検出器を組み込んでもよく、誤較正検出動作を実施することができる。
誤較正事例に加えて、プロセッサはまた、ヘッドセットシステムリソースの可用性を追跡してもよく、閾値量の算出リソースが、利用可能であるとき、プロセッサは、SCBA方法が実施されるべきであることを示す、較正トリガ信号を発生させてもよい。算出リソースは、記憶およびプロセッサリソースおよびSCBAを実施するための閾値量のデータを記憶および処理するためのそれらの容量を指し得る。ある場合には、算出または記憶リソースは、ある数のデータ点またはある時間量にわたるデータのみが、SCBAを実施するために利用され得るように、実践的な限界を設定することができる。
プロセッサはまた、較正を実施するために好ましい期間を識別し、そのような時間が利用可能であるとき、較正トリガ信号を発生させてもよい。例えば、ヘッドセットシステムのセンサおよび/またはカメラから受信されたデータに基づいて、プロセッサは、ユーザの眼が現在閉じられている、または閾値期間にわたって閉じられていることを決定してもよい。ユーザの眼が現在閉じられている、または閾値期間にわたって閉じられていることを決定することに応答して、プロセッサは、SCBA方法が実施されるべきであることを示す、較正トリガ信号を発生させることができる。
一般に、較正トリガ信号は、種々の構成可能な設定および条件に応答して発生されることができる。例えば、プロセッサは、ユーザがヘッドセットシステムを較正することを所望することを示すユーザ入力に応答して、較正トリガ信号を発生させるように構成されることができる。別の実施例では、プロセッサは、ある期間が経過した後、スケジューリングされた時間において、またはある量のデータがセンサおよび/またはカメラから取得された後、較正トリガ信号を自動的に発生させるように構成されることができる。
誤較正信号または較正トリガ信号に応答して、プロセッサは、図3に示される姿勢およびノードをグループに分割することができる。データのグループ化は、誤較正トリガまたはグループの最大サイズに対する閾値限界に基づくことができる。例えば、グループ限界が、3つの姿勢である場合、第1の3つの姿勢(例えば、図3および4の姿勢tA、tB、tCおよび関連する最適化ノードおよび基準点)は、第1のグループ「グループ1」においてともにグループ化され、次の3つまたはそれを下回る姿勢のセット(例えば、図3および4の姿勢tDおよびtEおよび関連する最適化ノードおよび基準点)は、第2のグループ「グループ2」においてともにグループ化される。
別の実施例として、第1の誤較正トリガが、時間tCの後に検出された場合、プロセッサは、第1の誤較正トリガに先立って受信された全てのデータを1つのグループにグループ化し、第1の誤較正トリガおよび第2の誤較正トリガの後に受信されたデータを第2のグループにグループ化してもよい。
外部パラメータが、センサおよび/またはカメラからのデータを使用して、グループ毎に決定される。外部パラメータは、五角形形状記号によって表され、図4に示されるように、最適化ノードにリンクされる。外部パラメータは、不整合および弾性変形から生じる誤差を補償するために使用されることができる。
外部パラメータは、回転および平行移動パラメータの1つまたはそれを上回る行列を含むことができる。外部パラメータは、「6自由度」情報、すなわち、3つの回転パラメータおよび3つの平行移動パラメータを提供することができ、生じた、不整合をもたらし得る、いずれの変形も考慮することができる。いくつかの実装では、行列は、ヘッドセットシステムの中心位置または中心カメラに対するヘッドセットシステム上の左カメラおよび右カメラの位置および配向を示す、2つの行列を含むことができる。
いくつかの実装では、連続するグループに関する個別の外部パラメータの間の差異は、閾値差によって境界されることができる。例えば、グループ1に関する外部パラメータとグループ2に関する外部パラメータとの間の変動は、閾値差を下回る、またはそれに等しくなければならない。実施例として、グループ1の外部特性における回転パラメータは、閾値量を上回ってグループ2の外部特性における回転パラメータから変動することができない。別の実施例として、連続する外部パラメータの間の変動は、平行移動において2~3mmおよび/または回転において1~2分角の閾値に限定されてもよい。閾値を下回る変動は、センサを通した周辺の3D再構築の品質に影響を及ぼさず、したがって、システム性能に対する全体的影響を人間の眼に知覚不能にする。
ヘッドセットシステムを較正するために、外部パラメータ情報、姿勢情報、および基準点情報が、以下の方程式を使用して、最適化を実施するために使用される。
上記に記述される方程式では、Xは、基準点を指し、Pは、姿勢を指し、シータ(θ)は、外部パラメータに対応し、Jは、姿勢カウントを指し、Kは、外部パラメータカウントを指し、iは、基準マッピング点カウントを指す。いくつかの実装では、初期誤較正トリガは、工場設定に従ってデフォルトで設定されることができる。上記の方程式は、回転における誤差er値および平行移動における誤差eθ値を計算するために使用されることができる。
最適化の後、プロセッサは、弾性変形から生じるヘッドセットシステム内のカメラの整合を補正するために、最適化された誤差値を使用してカメラを較正することができる。本動作は、全ての3D画像点およびカメラパラメータに対する全再投影誤差を最小限にすることができる。いくつかの実装では、ディスプレイシステムの左および右投影サブシステムに関する較正パラメータもまた、決定され、投影サブシステムに適用され、(例えば、仮想コンテンツがカメラによって捕捉された画像とともに表示されるべきであるとき、画像劣化を最小限にするために)表示される画像の整合を確実にすることができる。
図5は、SCBAを実施するための方法のフローチャートを描写する。本方法は、図1および2に関して上記に説明されるようなヘッドセットシステムの1つまたはそれを上回るプロセッサ(以降ではプロセッサと称される)によって実施されることができる。
動作510において、プロセッサは、ヘッドセットシステム上のカメラから画像データを取得することができる。いくつかの実装では、ヘッドセットシステムは、2つのカメラを含むことができ、1つは、ヘッドセットシステムの左側で前方に向き、第2のものは、ヘッドセットシステムの右側で前方に向く。カメラは、ヘッドセットフレームの中心点から等距離に離間されることができる。
画像データは、その間にヘッドセットが移動する、いくつかの期間にわたって取得されてもよい。画像データに加えて、プロセッサは、ヘッドセットシステムの1つまたはそれを上回るセンサからデータを取得してもよい。ヘッドセットシステムが、移動する際、ヘッドセット姿勢は、画像データおよびセンサから受信されたデータを使用して決定されることができる(動作520)。ヘッドセット姿勢は、画像データが取得されたときの期間の間にレンダリングされた画像内の1つまたはそれを上回る基準マッピング点に基づいて決定されることができる。姿勢毎に、プロセッサは、1つまたはそれを上回るマップ基準点に対するヘッドセットのカメラ毎の位置および配向値を決定することができる。いくつかの実装では、ヘッドセット姿勢が、画像データの選択されたフレーム毎に決定されることができ、姿勢のサブセットが、較正目的のために選択されることができる。
画像データを収集する間、プロセッサはまた、ヘッドセットシステムのセンサおよびカメラから受信されたデータを使用して、誤較正条件が生じたかどうかを検出することができる(動作530)。誤較正条件の実施例が、上記に説明されており、例えば、ヘッドセットがユーザの頭部上に設置される、またはそれから取り外されること、ヘッドセットの場所が変化すること、ヘッドセットを囲繞する周囲温度における増減、ヘッドセットの温度における増減、およびヘッドセットの一部の機械的変位を含む。
誤較正条件が、生じたとき、プロセッサは、誤較正条件または1つまたはそれを上回る基準に基づいて、取得された姿勢および関連付けられる最適化ノードおよび基準点をグループに分割することができる(動作540)。例えば、いくつかの実装では、プロセッサは、第1の誤較正条件が生じた第1の時間を決定し、第1の誤較正条件が生じた第1の時間に先立つ全ての姿勢を識別し、第1の時間に先立つ姿勢を第1の姿勢グループにグループ化することができる。
いくつかの実装では、第2の誤較正条件もまた、生じた場合、プロセッサは、第2の誤較正条件が生じた第2の時間を決定し、第1の時間後かつ第2の誤較正条件が生じた第2の時間の前に生じた全ての姿勢を識別することができる。プロセッサは、次いで、第1の時間と第2の時間との間の姿勢を第2の姿勢グループにグループ化することができる。
図4に示されるように、姿勢のグループは、異なる数の姿勢を有することができる。いくつかの実装では、ヘッドセットシステムは、姿勢、基準マップ点、または姿勢の任意のグループに関する期間の数に対する最大または最小限界を有することができる。
図5に示されないが、いくつかの実装では、姿勢は、較正トリガ信号の発生に応答して、グループ化されることができる。上記に説明されるように、較正トリガ信号が、閾値量の算出リソースが利用可能であるとき、較正を実施するためのユーザ要求が受信されるとき、ある期間が経過した後、スケジューリングされた時間において、またはある量のデータがセンサおよび/またはカメラからから取得された後等、ある条件が満たされるときに発生されることができる。
動作540において姿勢がグループ化された後、プロセッサは、姿勢のグループ毎にバンドル調節を実施することができる(550)。バンドル調節を実施する際、プロセッサは、グループ毎に別個の外部パラメータを決定することができる。決定された外部パラメータは、連続する外部パラメータが、特定の閾値量を超えて変動することができないように、制約される。例えば、第1の外部特性の回転パラメータは、回転閾値量、例えば、2分角を上回って第2の外部特性の回転パラメータから変動することができない。別の実施例として、第1の外部特性の平行移動パラメータは、平行移動閾値量、例えば、3mmを上回って第2の外部特性の平行移動パラメータから変動することができない。
上記に説明される外部パラメータおよび姿勢および基準点を使用して、ヘッドセットシステムのカメラの回転および平行移動誤差が、最適化されることができる。最適化は、カメラの位置および配向における誤差を最小限にし、ヘッドセットシステム内のカメラを拡張現実画像におけるマッピング基準点のセットに整合させることを伴う。このように、単一のグループにおける全ての姿勢に関する較正が、共同で実施されることができるが、姿勢の各グループは、較正データの別個のセットを有する。
回転および平行移動誤差を最適化した後、カメラの整合および/または配向は、誤差を除去するために較正される。そのために、プロセッサは、カメラの整合および/または配向が調節されるべきである量を示すデータを伴う1つまたはそれを上回る制御信号をカメラに送信することができる。
上記に説明されるSCBAを実施することに応答して、コントローラは、フレームを発生させるために、信号をヘッドセットシステムのディスプレイシステムに伝送することができる(動作560)。フレームは、誤差が、SCBA方法を実施することによって補償されたため、弾性変形に起因する誤差に悩まされないはずである画像を含む。
説明されるシステム、方法、および技法は、デジタル電子回路網、コンピュータハードウェア、ファームウェア、ソフトウェア、またはこれらの要素の組み合わせにおいて実装されてもよい。これらの技法を実装する装置は、適切な入力および出力デバイスと、コンピュータプロセッサと、プログラマブルプロセッサによる実行のために機械可読記憶デバイスにおいて有形に具現化される、コンピュータプログラム製品とを含んでもよい。これらの技法を実装するプロセスは、入力データに対して動作し、適切な出力を発生させることによって所望の機能を実施するために、命令のプログラムを実行する、プログラマブルプロセッサによって実施されてもよい。技法は、データ記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、そこにデータおよび命令を伝送するために結合される、少なくとも1つのプログラマブルプロセッサを含む、プログラマブルシステム上で実行可能である命令を含む、1つまたはそれを上回るコンピュータプログラムまたは非一過性コンピュータ可読記憶媒体を使用して実装されてもよい。
各コンピュータプログラムは、高レベル手続き型またはオブジェクト指向プログラミング言語において、または所望される場合、アセンブリまたは機械言語において実装されてもよく、いずれの場合も、言語は、コンパイル型または解釈型言語であってもよい。好適なプロセッサは、実施例として、汎用および専用マイクロプロセッサの両方を含む。概して、プロセッサは、読取専用メモリおよび/またはランダムアクセスメモリから命令およびデータを受信するであろう。コンピュータプログラム命令およびデータを有形に具現化するために好適な記憶デバイスは、実施例として、消去可能プログラマブル読取専用メモリ(EPROM)、電気的消去可能プログラマブル読取専用メモリ(EEPROM)、およびフラッシュメモリデバイス等の半導体メモリデバイス、内部ハードディスクおよびリムーバブルディスク等の磁気ディスク、光磁気ディスク、およびコンパクトディスク読取専用メモリ(CD-ROM)を含む、あらゆる形態の不揮発性メモリを含む。前述のうちのいずれかは、特別に設計されたASIC(特定用途向け集積回路)によって補完される、またはその中に組み込まれてもよい。
コンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝搬信号をもたらす組成物、またはそれらのうちの1つまたはそれを上回るものの組み合わせであってもよい。用語「プロセッサ」は、実施例として、プログラマブルプロセッサまたは複数のプロセッサを含む、データを処理するための全ての装置、デバイス、および機械を包含する。本装置は、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたはそれを上回るものの組み合わせを成すコードを含んでもよい。伝搬信号は、発生された信号、例えば、好適な受信機装置への伝送のために情報をエンコードするために発生される、機械発生電気、光学、または電磁信号である。
プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、プラグイン、またはコードとしても公知である、コンピュータプログラムは、コンパイル型または解釈型言語を含む、任意の形態のプログラミング言語で記述されてもよく、これは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境内での使用のために好適な他のユニットとしてを含む、任意の形態で展開されてもよい。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応しない。プログラムは、他のプログラムまたはデータを保持するファイルの一部内に、当該プログラム専用である単一のファイル内に、または複数の協調ファイル内に記憶されてもよい。コンピュータプログラムは、1つのコンピュータ上で、または1つの地点に位置する、または複数の地点を横断して分散され、通信ネットワークによって相互接続される、複数のコンピュータ上で実行されてもよい。
本明細書に説明されるプロセスおよび論理フローは、入力データに対して動作し、出力を発生させることによってアクションを実施するために、1つまたはそれを上回るコンピュータプログラムを実行する、1つまたはそれを上回るプログラマブルプロセッサによって実施されてもよい。プロセスおよび論理フローはまた、専用論理回路網、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実施されてもよく、装置はまた、それとして実装されてもよい。
コンピュータプログラムの実行のために好適なプロセッサは、実施例として、汎用および専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータのいずれか1つまたはそれを上回るプロセッサを含む。概して、プロセッサは、読取専用メモリまたはランダムアクセスメモリまたは両方から命令およびデータを受信するであろう。
本明細書は、多くの詳細を含有するが、これらは、本開示または請求され得る内容の範囲に対する限定として解釈されるべきではなく、むしろ、特定の実施形態に特有な特徴の説明として解釈されるべきである。別個の実施形態の文脈において本明細書に説明されるある特徴はまた、単一の実施形態において組み合わせて実装され得る。逆に、単一の実施形態の文脈において説明される種々の特徴はまた、複数の実施形態において別個に、または任意の好適な副次的組み合わせにおいて実装され得る。また、特徴が、ある組み合わせにおいて作用するものとして上記に説明され得、さらにはそのように請求され得るが、請求される組み合わせからの1つまたはそれを上回る特徴は、ある場合には、組み合わせから削除され得、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。
同様に、上記に説明される実施形態における種々のシステムコンポーネントの分離は、全ての実施形態においてそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムが、概して、ともに統合され得ることを理解されたい。
本明細書に、特に、添付される請求項(例えば、添付される請求項の本文)に使用される用語は、概して、「非制限」用語として意図される(例えば、用語「~を含む(including)」は、「限定ではないが、~を含む(including, but not limited to)」として解釈されるべきであり、用語「~を有する(having)」は、「少なくとも~を有する(having at least)」として解釈されるべきであり、用語「~を含む(includes)」は、「限定ではないが、~を含む(includes, but is not limited to)として解釈されるべきである等となる)。
加えて、具体的な数の導入される請求項列挙が、意図される場合、そのような意図は、請求項内に明示的に列挙され、そのような列挙の不在下では、いかなるそのような意図も、存在しない。例えば、理解の一助として、以下の添付される請求項は、請求項列挙を導入するための導入語句「少なくとも1つ」および「1つまたはそれを上回る」の使用を含有し得る。しかしながら、そのような語句の使用は、同一の請求項が、導入語句「1つまたはそれを上回る」または「少なくとも1つ」および「a」または「an」等の不定冠詞(例えば、「a」および/または「an」は、「少なくとも1つ」または「1つまたはそれを上回る」を意味するように解釈されるべきである)を含むときであっても、不定冠詞「a」または「an」による請求項列挙の導入が、そのような導入される請求項列挙を含有する任意の特定の請求項を、1つのそのような列挙のみを含有する実施形態に限定することを含意するように解釈されるべきではなく、同じことが、請求項列挙を導入するために使用される、定冠詞の使用に当てはまる。
加えて、具体的な数の導入される請求項列挙が、明示的に列挙される場合であっても、当業者は、そのような列挙が、少なくとも列挙される数を意味する(例えば、他の修飾語句を伴わない「2つの列挙」のそのままの列挙は、少なくとも2つの列挙または2つまたはそれを上回る列挙を意味する)ように解釈されるべきであることを認識するであろう。さらに、「A、B、およびC等のうちの少なくとも1つ」または「A、B、およびC等のうちの1つまたはそれを上回るもの」に類似する表記法が使用される、それらの事例では、一般に、そのような構造は、Aを単独で、Bを単独で、Cを単独で、Aと、Bとをともに、Aと、Cとをともに、Bと、Cとをともに、またはAと、Bと、Cとをともに含むことを意図している。用語「および/または」もまた、このように解釈されることを意図している。
用語「第1」、「第2」、「第3」等の使用は、必ずしも、具体的な順序または要素の数を暗示するように本明細書で使用されない。概して、用語「第1」、「第2」、「第3」等は、一般的な識別子として異なる要素を区別するために使用される。用語「第1」、「第2」、「第3」等が、具体的な順序を暗示することを示すものがない限り、これらの用語は、具体的な順序を暗示するように理解されるべきではない。さらに、用語「第1」、「第2」、「第3」等が、具体的な要素の数を暗示することを示すものがない限り、これらの用語は、具体的な要素の数を暗示するように理解されるべきではない。例えば、第1の機械装置が、第1の側を有するものとして説明され得、第2の機械装置が、第2の側を有するものとして説明され得る。第2の機械装置に対する用語「第2の側」の使用は、第2の機械装置のそのような側を第1の機械装置の「第1の側」から区別するためのものであり得、第2の機械装置が2つの側を有することを暗示するためのものではない。
特許請求の範囲
本明細書に説明される主題の1つまたはそれを上回る実装の詳細が、付随の図面および下記の説明に記載される。本主題の他の特徴、側面、および利点が、説明、図面、および請求項から明白となるであろう。
本発明は、例えば、以下を提供する。
(項目1)
方法であって、
ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において画像データを取得することを含む、前記ヘッドセットの複数のカメラから画像データを取得することと、
前記ヘッドセットに関する1つまたはそれを上回る誤較正条件が、前記ヘッドセットが前記一連の姿勢を通して移動した際に生じたことを検出することと、
前記1つまたはそれを上回る誤較正条件に基づいて、前記一連の姿勢を姿勢のグループに分割することと、
姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することであって、各グループにおける前記姿勢に関する前記バンドル調節は、前記グループに関する較正データの同一のセットを使用して実施され、グループ毎の前記カメラ較正データは、前記グループにおける前記姿勢に関するバンドル調節推定と共同で推定される、ことと、
前記バンドル調節に基づいて、前記複数のカメラのうちの1つまたはそれを上回るものの整合および配向のうちの1つまたはそれを上回るものを変更し、前記ヘッドセットを較正することと
を含む、方法。
(項目2)
前記ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において前記画像データを取得することは、
前記ヘッドセットの姿勢毎のマップ基準点に対する前記ヘッドセットのカメラ毎の位置および配向値を決定すること
を含む、項目1に記載の方法。
(項目3)
前記ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において前記画像データを取得することは、
画像データの選択されたフレーム毎に前記ヘッドセットの姿勢を決定することと、
前記一連の姿勢として姿勢のサブセットを選択することと
を含む、項目1に記載の方法。
(項目4)
前記ヘッドセットに関する前記1つまたはそれを上回る誤較正条件が生じたことを検出することは、
ヘッドセットがユーザの頭部上に設置されたかまたはそれから取り外されたことを決定することと、
前記ヘッドセットの場所が変化したことを決定することと、
前記ヘッドセットを囲繞する周囲温度における増減を検出することと、
前記ヘッドセットの温度における増減を検出することと、
前記ヘッドセットの一部の機械的変位を検出することと
のうちの1つまたはそれを上回るものを含む、項目1に記載の方法。
(項目5)
前記一連の姿勢を前記姿勢のグループに分割することは、
第1の誤較正条件が生じた第1の時間を決定することと、
前記第1の誤較正条件が生じたときの前記第1の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間に先立つ前記ヘッドセットの姿勢を第1の姿勢グループにグループ化することと
を含む、項目1に記載の方法。
(項目6)
前記一連の姿勢を前記姿勢のグループに分割することは、
第2の誤較正条件が生じた第2の時間を決定することと、
前記第1の時間後かつ前記第2の誤較正条件が生じたときの前記第2の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間と前記第2の時間との間の前記ヘッドセットの姿勢を第2の姿勢グループにグループ化することと
を含む、項目5に記載の方法。
(項目7)
前記第2の姿勢グループにおける姿勢の数は、前記第1の姿勢グループにおける姿勢の数と異なる、項目6に記載の方法。
(項目8)
姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することは、
姿勢のグループ毎に別個の外部パラメータを決定することであって、前記別個の外部パラメータは、前記ヘッドセットの少なくとも2つのカメラと関連付けられる回転および平行移動パラメータ値の少なくとも2つの行列を備える、こと
を含む、項目1に記載の方法。
(項目9)
姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することは、
姿勢のグループ毎に前記カメラ較正データの別個のセットを最適化し、前記ヘッドセットを拡張現実画像内のマッピング基準点のセットに整合させること
を含む、項目1に記載の方法。
(項目10)
姿勢のグループ毎に前記カメラ較正データの別個のセットを最適化することは、
回転閾値未満であるように姿勢の2つのグループの前記カメラ較正データの回転パラメータの間の差異を限定する第1の制約を適用することと、
平行移動閾値未満であるように姿勢の2つのグループの前記カメラ較正データの平行移動パラメータの間の差異を限定する第2の制約を適用することと
を含む、項目9に記載の方法。
(項目11)
前記回転閾値は、2分角であり、
前記平行移動閾値は、3mmである、
項目10に記載の方法。
(項目12)
前記ヘッドセットの較正に応答して、前記ヘッドセットのディスプレイに拡張現実画像を表示すること
を含む、項目1に記載の方法。
(項目13)
仮想または拡張現実システムであって、
ヘッドセットであって、前記ヘッドセットは、拡張現実画像を表示するように構成されるディスプレイデバイスと、前記拡張現実画像をレンダリングするための画像データを取得するように構成されるカメラとを備える、ヘッドセットと、
前記ヘッドセットに結合されるプロセッサであって、前記プロセッサは、
前記ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において取得される画像データを含む、前記画像データを前記カメラから取得することと、
前記ヘッドセットに関する1つまたはそれを上回る誤較正条件が、前記ヘッドセットが前記一連の姿勢を通して移動した際に生じたことを検出することと、
前記1つまたはそれを上回る誤較正条件に基づいて、前記一連の姿勢を姿勢のグループに分割することと、
姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することであって、各グループにおける前記姿勢に関する前記バンドル調節は、前記グループに関する較正データの同一のセットを使用して実施され、グループ毎の前記カメラ較正データは、前記グループにおける前記姿勢に関するバンドル調節推定と共同で推定される、ことと、
前記バンドル調節に基づいて、前記カメラのうちの1つまたはそれを上回るものの整合および配向のうちの1つまたはそれを上回るものを変更し、前記ヘッドセットを較正することと
を行うように構成される、プロセッサと
を備える、仮想または拡張現実システム。
(項目14)
前記ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において前記画像データを取得するために、前記プロセッサは、
画像データの選択されたフレーム毎に前記ヘッドセットの姿勢を決定することと、
前記一連の姿勢として姿勢のサブセットを選択することと
を行うように構成される、項目13に記載の仮想または拡張現実システム。
(項目15)
前記一連の姿勢を前記姿勢のグループに分割するために、前記プロセッサは、
第1の誤較正条件が生じた第1の時間を決定することと、
前記第1の誤較正条件が生じたときの前記第1の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間に先立つ前記ヘッドセットの姿勢を第1の姿勢グループにグループ化することと、
第2の誤較正条件が生じた第2の時間を決定することと、
前記第1の時間後かつ前記第2の誤較正条件が生じたときの前記第2の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間と前記第2の時間との間の前記ヘッドセットの姿勢を第2の姿勢グループにグループ化することと
を行うように構成される、項目13に記載の仮想または拡張現実システム。
(項目16)
姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施するために、前記プロセッサは、
姿勢のグループ毎に別個の外部パラメータを決定することであって、前記別個の外部パラメータは、前記ヘッドセットの少なくとも2つのカメラと関連付けられる回転および平行移動パラメータ値の少なくとも2つの行列を備える、ことと、
姿勢のグループ毎に前記カメラ較正データの別個のセットを最適化し、前記ヘッドセットを拡張現実画像内のマッピング基準点のセットに整合させることと
を行うように構成される、項目13に記載の仮想または拡張現実システム。
(項目17)
非一過性コンピュータ可読記憶媒体であって、前記非一過性コンピュータ可読記憶媒体は、命令を備え、前記命令は、1つまたはそれを上回るプロセッサによって実行されると、前記1つまたはそれを上回るプロセッサに、
ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において画像データを取得することを含む、前記ヘッドセットの複数のカメラから画像データを取得することと、
前記ヘッドセットに関する1つまたはそれを上回る誤較正条件が、前記ヘッドセットが前記一連の姿勢を通して移動した際に生じたことを検出することと、
前記1つまたはそれを上回る誤較正条件に基づいて、前記一連の姿勢を姿勢のグループに分割することと、
姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することであって、各グループにおける前記姿勢に関する前記バンドル調節は、前記グループに関する較正データの同一のセットを使用して実施され、グループ毎の前記カメラ較正データは、前記グループにおける前記姿勢に関するバンドル調節推定と共同で推定される、ことと、
前記バンドル調節に基づいて、前記複数のカメラのうちの1つまたはそれを上回るものの整合および配向のうちの1つまたはそれを上回るものを変更し、前記ヘッドセットを較正することと
を含む動作を実施させる、非一過性コンピュータ可読記憶媒体。
(項目18)
前記ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において前記画像データを取得することは、
画像データの選択されたフレーム毎に前記ヘッドセットの姿勢を決定することと、
前記一連の姿勢として姿勢のサブセットを選択することと
を含む、項目17に記載の非一過性コンピュータ可読記憶媒体。
(項目19)
前記一連の姿勢を前記姿勢のグループに分割することは、
第1の誤較正条件が生じた第1の時間を決定することと、
前記第1の誤較正条件が生じたときの前記第1の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間に先立つ前記ヘッドセットの姿勢を第1の姿勢グループにグループ化することと、
第2の誤較正条件が生じた第2の時間を決定することと、
前記第1の時間後かつ前記第2の誤較正条件が生じたときの前記第2の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間と前記第2の時間との間の前記ヘッドセットの姿勢を第2の姿勢グループにグループ化することと
を含む、項目17に記載の非一過性コンピュータ可読記憶媒体。
(項目20)
姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することは、
姿勢のグループ毎に別個の外部パラメータを決定することであって、前記別個の外部パラメータは、前記ヘッドセットの少なくとも2つのカメラと関連付けられる回転および平行移動パラメータ値の少なくとも2つの行列を備える、ことと、
姿勢のグループ毎に前記カメラ較正データの別個のセットを最適化し、前記ヘッドセットを拡張現実画像内のマッピング基準点のセットに整合させることと
を含む、項目17に記載の非一過性コンピュータ可読記憶媒体。
本発明は、例えば、以下を提供する。
(項目1)
方法であって、
ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において画像データを取得することを含む、前記ヘッドセットの複数のカメラから画像データを取得することと、
前記ヘッドセットに関する1つまたはそれを上回る誤較正条件が、前記ヘッドセットが前記一連の姿勢を通して移動した際に生じたことを検出することと、
前記1つまたはそれを上回る誤較正条件に基づいて、前記一連の姿勢を姿勢のグループに分割することと、
姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することであって、各グループにおける前記姿勢に関する前記バンドル調節は、前記グループに関する較正データの同一のセットを使用して実施され、グループ毎の前記カメラ較正データは、前記グループにおける前記姿勢に関するバンドル調節推定と共同で推定される、ことと、
前記バンドル調節に基づいて、前記複数のカメラのうちの1つまたはそれを上回るものの整合および配向のうちの1つまたはそれを上回るものを変更し、前記ヘッドセットを較正することと
を含む、方法。
(項目2)
前記ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において前記画像データを取得することは、
前記ヘッドセットの姿勢毎のマップ基準点に対する前記ヘッドセットのカメラ毎の位置および配向値を決定すること
を含む、項目1に記載の方法。
(項目3)
前記ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において前記画像データを取得することは、
画像データの選択されたフレーム毎に前記ヘッドセットの姿勢を決定することと、
前記一連の姿勢として姿勢のサブセットを選択することと
を含む、項目1に記載の方法。
(項目4)
前記ヘッドセットに関する前記1つまたはそれを上回る誤較正条件が生じたことを検出することは、
ヘッドセットがユーザの頭部上に設置されたかまたはそれから取り外されたことを決定することと、
前記ヘッドセットの場所が変化したことを決定することと、
前記ヘッドセットを囲繞する周囲温度における増減を検出することと、
前記ヘッドセットの温度における増減を検出することと、
前記ヘッドセットの一部の機械的変位を検出することと
のうちの1つまたはそれを上回るものを含む、項目1に記載の方法。
(項目5)
前記一連の姿勢を前記姿勢のグループに分割することは、
第1の誤較正条件が生じた第1の時間を決定することと、
前記第1の誤較正条件が生じたときの前記第1の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間に先立つ前記ヘッドセットの姿勢を第1の姿勢グループにグループ化することと
を含む、項目1に記載の方法。
(項目6)
前記一連の姿勢を前記姿勢のグループに分割することは、
第2の誤較正条件が生じた第2の時間を決定することと、
前記第1の時間後かつ前記第2の誤較正条件が生じたときの前記第2の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間と前記第2の時間との間の前記ヘッドセットの姿勢を第2の姿勢グループにグループ化することと
を含む、項目5に記載の方法。
(項目7)
前記第2の姿勢グループにおける姿勢の数は、前記第1の姿勢グループにおける姿勢の数と異なる、項目6に記載の方法。
(項目8)
姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することは、
姿勢のグループ毎に別個の外部パラメータを決定することであって、前記別個の外部パラメータは、前記ヘッドセットの少なくとも2つのカメラと関連付けられる回転および平行移動パラメータ値の少なくとも2つの行列を備える、こと
を含む、項目1に記載の方法。
(項目9)
姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することは、
姿勢のグループ毎に前記カメラ較正データの別個のセットを最適化し、前記ヘッドセットを拡張現実画像内のマッピング基準点のセットに整合させること
を含む、項目1に記載の方法。
(項目10)
姿勢のグループ毎に前記カメラ較正データの別個のセットを最適化することは、
回転閾値未満であるように姿勢の2つのグループの前記カメラ較正データの回転パラメータの間の差異を限定する第1の制約を適用することと、
平行移動閾値未満であるように姿勢の2つのグループの前記カメラ較正データの平行移動パラメータの間の差異を限定する第2の制約を適用することと
を含む、項目9に記載の方法。
(項目11)
前記回転閾値は、2分角であり、
前記平行移動閾値は、3mmである、
項目10に記載の方法。
(項目12)
前記ヘッドセットの較正に応答して、前記ヘッドセットのディスプレイに拡張現実画像を表示すること
を含む、項目1に記載の方法。
(項目13)
仮想または拡張現実システムであって、
ヘッドセットであって、前記ヘッドセットは、拡張現実画像を表示するように構成されるディスプレイデバイスと、前記拡張現実画像をレンダリングするための画像データを取得するように構成されるカメラとを備える、ヘッドセットと、
前記ヘッドセットに結合されるプロセッサであって、前記プロセッサは、
前記ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において取得される画像データを含む、前記画像データを前記カメラから取得することと、
前記ヘッドセットに関する1つまたはそれを上回る誤較正条件が、前記ヘッドセットが前記一連の姿勢を通して移動した際に生じたことを検出することと、
前記1つまたはそれを上回る誤較正条件に基づいて、前記一連の姿勢を姿勢のグループに分割することと、
姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することであって、各グループにおける前記姿勢に関する前記バンドル調節は、前記グループに関する較正データの同一のセットを使用して実施され、グループ毎の前記カメラ較正データは、前記グループにおける前記姿勢に関するバンドル調節推定と共同で推定される、ことと、
前記バンドル調節に基づいて、前記カメラのうちの1つまたはそれを上回るものの整合および配向のうちの1つまたはそれを上回るものを変更し、前記ヘッドセットを較正することと
を行うように構成される、プロセッサと
を備える、仮想または拡張現実システム。
(項目14)
前記ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において前記画像データを取得するために、前記プロセッサは、
画像データの選択されたフレーム毎に前記ヘッドセットの姿勢を決定することと、
前記一連の姿勢として姿勢のサブセットを選択することと
を行うように構成される、項目13に記載の仮想または拡張現実システム。
(項目15)
前記一連の姿勢を前記姿勢のグループに分割するために、前記プロセッサは、
第1の誤較正条件が生じた第1の時間を決定することと、
前記第1の誤較正条件が生じたときの前記第1の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間に先立つ前記ヘッドセットの姿勢を第1の姿勢グループにグループ化することと、
第2の誤較正条件が生じた第2の時間を決定することと、
前記第1の時間後かつ前記第2の誤較正条件が生じたときの前記第2の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間と前記第2の時間との間の前記ヘッドセットの姿勢を第2の姿勢グループにグループ化することと
を行うように構成される、項目13に記載の仮想または拡張現実システム。
(項目16)
姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施するために、前記プロセッサは、
姿勢のグループ毎に別個の外部パラメータを決定することであって、前記別個の外部パラメータは、前記ヘッドセットの少なくとも2つのカメラと関連付けられる回転および平行移動パラメータ値の少なくとも2つの行列を備える、ことと、
姿勢のグループ毎に前記カメラ較正データの別個のセットを最適化し、前記ヘッドセットを拡張現実画像内のマッピング基準点のセットに整合させることと
を行うように構成される、項目13に記載の仮想または拡張現実システム。
(項目17)
非一過性コンピュータ可読記憶媒体であって、前記非一過性コンピュータ可読記憶媒体は、命令を備え、前記命令は、1つまたはそれを上回るプロセッサによって実行されると、前記1つまたはそれを上回るプロセッサに、
ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において画像データを取得することを含む、前記ヘッドセットの複数のカメラから画像データを取得することと、
前記ヘッドセットに関する1つまたはそれを上回る誤較正条件が、前記ヘッドセットが前記一連の姿勢を通して移動した際に生じたことを検出することと、
前記1つまたはそれを上回る誤較正条件に基づいて、前記一連の姿勢を姿勢のグループに分割することと、
姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することであって、各グループにおける前記姿勢に関する前記バンドル調節は、前記グループに関する較正データの同一のセットを使用して実施され、グループ毎の前記カメラ較正データは、前記グループにおける前記姿勢に関するバンドル調節推定と共同で推定される、ことと、
前記バンドル調節に基づいて、前記複数のカメラのうちの1つまたはそれを上回るものの整合および配向のうちの1つまたはそれを上回るものを変更し、前記ヘッドセットを較正することと
を含む動作を実施させる、非一過性コンピュータ可読記憶媒体。
(項目18)
前記ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において前記画像データを取得することは、
画像データの選択されたフレーム毎に前記ヘッドセットの姿勢を決定することと、
前記一連の姿勢として姿勢のサブセットを選択することと
を含む、項目17に記載の非一過性コンピュータ可読記憶媒体。
(項目19)
前記一連の姿勢を前記姿勢のグループに分割することは、
第1の誤較正条件が生じた第1の時間を決定することと、
前記第1の誤較正条件が生じたときの前記第1の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間に先立つ前記ヘッドセットの姿勢を第1の姿勢グループにグループ化することと、
第2の誤較正条件が生じた第2の時間を決定することと、
前記第1の時間後かつ前記第2の誤較正条件が生じたときの前記第2の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間と前記第2の時間との間の前記ヘッドセットの姿勢を第2の姿勢グループにグループ化することと
を含む、項目17に記載の非一過性コンピュータ可読記憶媒体。
(項目20)
姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することは、
姿勢のグループ毎に別個の外部パラメータを決定することであって、前記別個の外部パラメータは、前記ヘッドセットの少なくとも2つのカメラと関連付けられる回転および平行移動パラメータ値の少なくとも2つの行列を備える、ことと、
姿勢のグループ毎に前記カメラ較正データの別個のセットを最適化し、前記ヘッドセットを拡張現実画像内のマッピング基準点のセットに整合させることと
を含む、項目17に記載の非一過性コンピュータ可読記憶媒体。
Claims (20)
- 方法であって、
ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において画像データを取得することを含む、前記ヘッドセットの複数のカメラから画像データを取得することと、
前記ヘッドセットに関する1つまたはそれを上回る誤較正条件が、前記ヘッドセットが前記一連の姿勢を通して移動した際に生じたことを検出することと、
前記1つまたはそれを上回る誤較正条件に基づいて、前記一連の姿勢を姿勢のグループに分割することと、
姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することであって、各グループにおける前記姿勢に関する前記バンドル調節は、前記グループに関する較正データの同一のセットを使用して実施され、グループ毎の前記カメラ較正データは、前記グループにおける前記姿勢に関するバンドル調節推定と共同で推定される、ことと、
前記バンドル調節に基づいて、前記複数のカメラのうちの1つまたはそれを上回るものの整合および配向のうちの1つまたはそれを上回るものを変更し、前記ヘッドセットを較正することと
を含む、方法。 - 前記ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において前記画像データを取得することは、
前記ヘッドセットの姿勢毎のマップ基準点に対する前記ヘッドセットのカメラ毎の位置および配向値を決定すること
を含む、請求項1に記載の方法。 - 前記ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において前記画像データを取得することは、
画像データの選択されたフレーム毎に前記ヘッドセットの姿勢を決定することと、
前記一連の姿勢として姿勢のサブセットを選択することと
を含む、請求項1に記載の方法。 - 前記ヘッドセットに関する前記1つまたはそれを上回る誤較正条件が生じたことを検出することは、
ヘッドセットがユーザの頭部上に設置されたかまたはそれから取り外されたことを決定することと、
前記ヘッドセットの場所が変化したことを決定することと、
前記ヘッドセットを囲繞する周囲温度における増減を検出することと、
前記ヘッドセットの温度における増減を検出することと、
前記ヘッドセットの一部の機械的変位を検出することと
のうちの1つまたはそれを上回るものを含む、請求項1に記載の方法。 - 前記一連の姿勢を前記姿勢のグループに分割することは、
第1の誤較正条件が生じた第1の時間を決定することと、
前記第1の誤較正条件が生じたときの前記第1の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間に先立つ前記ヘッドセットの姿勢を第1の姿勢グループにグループ化することと
を含む、請求項1に記載の方法。 - 前記一連の姿勢を前記姿勢のグループに分割することは、
第2の誤較正条件が生じた第2の時間を決定することと、
前記第1の時間後かつ前記第2の誤較正条件が生じたときの前記第2の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間と前記第2の時間との間の前記ヘッドセットの姿勢を第2の姿勢グループにグループ化することと
を含む、請求項5に記載の方法。 - 前記第2の姿勢グループにおける姿勢の数は、前記第1の姿勢グループにおける姿勢の数と異なる、請求項6に記載の方法。
- 姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することは、
姿勢のグループ毎に別個の外部パラメータを決定することであって、前記別個の外部パラメータは、前記ヘッドセットの少なくとも2つのカメラと関連付けられる回転および平行移動パラメータ値の少なくとも2つの行列を備える、こと
を含む、請求項1に記載の方法。 - 姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することは、
姿勢のグループ毎に前記カメラ較正データの別個のセットを最適化し、前記ヘッドセットを拡張現実画像内のマッピング基準点のセットに整合させること
を含む、請求項1に記載の方法。 - 姿勢のグループ毎に前記カメラ較正データの別個のセットを最適化することは、
回転閾値未満であるように姿勢の2つのグループの前記カメラ較正データの回転パラメータの間の差異を限定する第1の制約を適用することと、
平行移動閾値未満であるように姿勢の2つのグループの前記カメラ較正データの平行移動パラメータの間の差異を限定する第2の制約を適用することと
を含む、請求項9に記載の方法。 - 前記回転閾値は、2分角であり、
前記平行移動閾値は、3mmである、
請求項10に記載の方法。 - 前記ヘッドセットの較正に応答して、前記ヘッドセットのディスプレイに拡張現実画像を表示すること
を含む、請求項1に記載の方法。 - 仮想または拡張現実システムであって、
ヘッドセットであって、前記ヘッドセットは、拡張現実画像を表示するように構成されるディスプレイデバイスと、前記拡張現実画像をレンダリングするための画像データを取得するように構成されるカメラとを備える、ヘッドセットと、
前記ヘッドセットに結合されるプロセッサであって、前記プロセッサは、
前記ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において取得される画像データを含む、前記画像データを前記カメラから取得することと、
前記ヘッドセットに関する1つまたはそれを上回る誤較正条件が、前記ヘッドセットが前記一連の姿勢を通して移動した際に生じたことを検出することと、
前記1つまたはそれを上回る誤較正条件に基づいて、前記一連の姿勢を姿勢のグループに分割することと、
姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することであって、各グループにおける前記姿勢に関する前記バンドル調節は、前記グループに関する較正データの同一のセットを使用して実施され、グループ毎の前記カメラ較正データは、前記グループにおける前記姿勢に関するバンドル調節推定と共同で推定される、ことと、
前記バンドル調節に基づいて、前記カメラのうちの1つまたはそれを上回るものの整合および配向のうちの1つまたはそれを上回るものを変更し、前記ヘッドセットを較正することと
を行うように構成される、プロセッサと
を備える、仮想または拡張現実システム。 - 前記ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において前記画像データを取得するために、前記プロセッサは、
画像データの選択されたフレーム毎に前記ヘッドセットの姿勢を決定することと、
前記一連の姿勢として姿勢のサブセットを選択することと
を行うように構成される、請求項13に記載の仮想または拡張現実システム。 - 前記一連の姿勢を前記姿勢のグループに分割するために、前記プロセッサは、
第1の誤較正条件が生じた第1の時間を決定することと、
前記第1の誤較正条件が生じたときの前記第1の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間に先立つ前記ヘッドセットの姿勢を第1の姿勢グループにグループ化することと、
第2の誤較正条件が生じた第2の時間を決定することと、
前記第1の時間後かつ前記第2の誤較正条件が生じたときの前記第2の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間と前記第2の時間との間の前記ヘッドセットの姿勢を第2の姿勢グループにグループ化することと
を行うように構成される、請求項13に記載の仮想または拡張現実システム。 - 姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施するために、前記プロセッサは、
姿勢のグループ毎に別個の外部パラメータを決定することであって、前記別個の外部パラメータは、前記ヘッドセットの少なくとも2つのカメラと関連付けられる回転および平行移動パラメータ値の少なくとも2つの行列を備える、ことと、
姿勢のグループ毎に前記カメラ較正データの別個のセットを最適化し、前記ヘッドセットを拡張現実画像内のマッピング基準点のセットに整合させることと
を行うように構成される、請求項13に記載の仮想または拡張現実システム。 - 非一過性コンピュータ可読記憶媒体であって、前記非一過性コンピュータ可読記憶媒体は、命令を備え、前記命令は、1つまたはそれを上回るプロセッサによって実行されると、前記1つまたはそれを上回るプロセッサに、
ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において画像データを取得することを含む、前記ヘッドセットの複数のカメラから画像データを取得することと、
前記ヘッドセットに関する1つまたはそれを上回る誤較正条件が、前記ヘッドセットが前記一連の姿勢を通して移動した際に生じたことを検出することと、
前記1つまたはそれを上回る誤較正条件に基づいて、前記一連の姿勢を姿勢のグループに分割することと、
姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することであって、各グループにおける前記姿勢に関する前記バンドル調節は、前記グループに関する較正データの同一のセットを使用して実施され、グループ毎の前記カメラ較正データは、前記グループにおける前記姿勢に関するバンドル調節推定と共同で推定される、ことと、
前記バンドル調節に基づいて、前記複数のカメラのうちの1つまたはそれを上回るものの整合および配向のうちの1つまたはそれを上回るものを変更し、前記ヘッドセットを較正することと
を含む動作を実施させる、非一過性コンピュータ可読記憶媒体。 - 前記ヘッドセットが前記ヘッドセットの一連の姿勢を通して移動する際、異なる時間において前記画像データを取得することは、
画像データの選択されたフレーム毎に前記ヘッドセットの姿勢を決定することと、
前記一連の姿勢として姿勢のサブセットを選択することと
を含む、請求項17に記載の非一過性コンピュータ可読記憶媒体。 - 前記一連の姿勢を前記姿勢のグループに分割することは、
第1の誤較正条件が生じた第1の時間を決定することと、
前記第1の誤較正条件が生じたときの前記第1の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間に先立つ前記ヘッドセットの姿勢を第1の姿勢グループにグループ化することと、
第2の誤較正条件が生じた第2の時間を決定することと、
前記第1の時間後かつ前記第2の誤較正条件が生じたときの前記第2の時間に先立つ前記ヘッドセットの全ての姿勢を識別することと、
前記第1の時間と前記第2の時間との間の前記ヘッドセットの姿勢を第2の姿勢グループにグループ化することと
を含む、請求項17に記載の非一過性コンピュータ可読記憶媒体。 - 姿勢のグループ毎にカメラ較正データの別個のセットを使用して、前記姿勢のグループに関するバンドル調節を実施することは、
姿勢のグループ毎に別個の外部パラメータを決定することであって、前記別個の外部パラメータは、前記ヘッドセットの少なくとも2つのカメラと関連付けられる回転および平行移動パラメータ値の少なくとも2つの行列を備える、ことと、
姿勢のグループ毎に前記カメラ較正データの別個のセットを最適化し、前記ヘッドセットを拡張現実画像内のマッピング基準点のセットに整合させることと
を含む、請求項17に記載の非一過性コンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063129316P | 2020-12-22 | 2020-12-22 | |
US63/129,316 | 2020-12-22 | ||
PCT/US2021/064655 WO2022140419A1 (en) | 2020-12-22 | 2021-12-21 | Calibration for virtual or augmented reality systems |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024503247A true JP2024503247A (ja) | 2024-01-25 |
Family
ID=82160083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023537547A Pending JP2024503247A (ja) | 2020-12-22 | 2021-12-21 | 仮想または拡張現実システムのための較正 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240062482A1 (ja) |
EP (1) | EP4268193A1 (ja) |
JP (1) | JP2024503247A (ja) |
CN (1) | CN116888563A (ja) |
WO (1) | WO2022140419A1 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9367960B2 (en) * | 2013-05-22 | 2016-06-14 | Microsoft Technology Licensing, Llc | Body-locked placement of augmented reality objects |
US10296812B2 (en) * | 2017-01-04 | 2019-05-21 | Qualcomm Incorporated | Systems and methods for mapping based on multi-journey data |
-
2021
- 2021-12-21 CN CN202180094253.8A patent/CN116888563A/zh active Pending
- 2021-12-21 JP JP2023537547A patent/JP2024503247A/ja active Pending
- 2021-12-21 EP EP21912060.7A patent/EP4268193A1/en active Pending
- 2021-12-21 US US18/266,937 patent/US20240062482A1/en active Pending
- 2021-12-21 WO PCT/US2021/064655 patent/WO2022140419A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022140419A1 (en) | 2022-06-30 |
CN116888563A (zh) | 2023-10-13 |
EP4268193A1 (en) | 2023-11-01 |
US20240062482A1 (en) | 2024-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10848745B2 (en) | Head-mounted display tracking system | |
CN109146965B (zh) | 信息处理装置、计算机可读介质和头戴式显示装置 | |
JP6866297B2 (ja) | ヘッドマウントディスプレイの電子ディスプレイ安定化 | |
CN111512574B (zh) | 用于校准增强现实设备的方法 | |
EP3051525B1 (en) | Display | |
JP6514089B2 (ja) | 情報処理装置、情報処理システム、および情報処理方法 | |
CN108885342B (zh) | 虚拟图像生成系统及其操作方法 | |
CN114647318A (zh) | 跟踪设备的位置的方法 | |
JP2018511098A (ja) | 複合現実システム | |
CN114945853A (zh) | 用于头戴式显示系统中的变形的补偿 | |
JP2010128986A5 (ja) | 複合現実感提示システムおよび複合現実感提示方法、プログラム | |
JPWO2013128612A1 (ja) | ヘッドマウントディスプレイ、校正方法及び校正プログラム、並びに記録媒体 | |
US10997741B2 (en) | Scene camera retargeting | |
CN112655202B (zh) | 用于头戴式显示器的鱼眼镜头的减小带宽立体失真校正 | |
JP2020003898A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US11218691B1 (en) | Upsampling content for head-mounted displays | |
CN111902859B (zh) | 信息处理装置、信息处理方法和程序 | |
JP2024503247A (ja) | 仮想または拡張現実システムのための較正 | |
WO2023108016A1 (en) | Augmented reality using a split architecture | |
JP2023099494A (ja) | 仮想現実のためのデータ処理装置、データ処理方法およびコンピュータソフトウェア | |
JP2016057634A (ja) | ヘッドマウントディスプレイ、校正方法及び校正プログラム、並びに記録媒体 | |
KR20220093985A (ko) | 이미지 지연 보정 방법 및 이를 이용한 장치 | |
US11838486B1 (en) | Method and device for perspective correction using one or more keyframes | |
WO2023162504A1 (ja) | 情報処理装置、情報処理方法およびプログラム | |
WO2023243305A1 (ja) | 情報処理装置、情報処理方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231221 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231221 |