(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-04
(45)【発行日】2023-08-15
(54)【発明の名称】光学式位置追跡デバイスの電力管理
(51)【国際特許分類】
G06F 3/01 20060101AFI20230807BHJP
【FI】
G06F3/01 510
(21)【出願番号】P 2020557159
(86)(22)【出願日】2019-05-14
(86)【国際出願番号】 US2019032202
(87)【国際公開番号】W WO2019222203
(87)【国際公開日】2019-11-21
【審査請求日】2022-04-22
(32)【優先日】2018-05-18
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517160525
【氏名又は名称】バルブ コーポレーション
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】リドバーグ、ロブ
【審査官】酒井 優一
(56)【参考文献】
【文献】特開2018-054504(JP,A)
【文献】特開2015-175615(JP,A)
【文献】特開2005-227018(JP,A)
【文献】中国特許出願公開第106959762(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
(57)【特許請求の範囲】
【請求項1】
エミッタ及び位置追跡デバイスを用いる方法であって、前記エミッタは、複数のエミッタサイクルのそれぞれの間に、前記位置追跡デバイスの位置情報を決定するために使用される光信号を放射するように構成されていること、前記位置追跡デバイスは、光学センサを含むこと、前記光学センサによって受信された前記光信号に基づいて、前記位置追跡デバイスの位置情報の決定を可能にするために、前記光学センサは前記光信号を受信するように配置されていること、
前記位置追跡デバイスの
前記光学センサが、第1のエミッタサイクルの間に、
前記エミッタからの第1の光信号を受信しなかったと判定することと、
前記第1のエミッタサイクルの間に前記光学センサが前記第1の光信号を受信しなかったとの判定の少なくとも部分的に基づき電力消費を削減するために、
前記第1のエミッタサイクルに続く第2のエミッタサイクルの少なくとも一部の間中、
前記位置追跡デバイスによって前記光学センサを無効にし、前記エミッタは、前記第2のエミッタサイクルの間中、第2の光信号を放射するように構成されることと
を含む、方法。
【請求項2】
前記
位置追跡デバイスの第2の光学センサが、前記第1のエミッタサイクルの間に、前記エミッタから前記第1の光信号を受信したと判定することと、
前記第2の光学センサが、前記第1のエミッタサイクルの間に前記第1の光信号を受信しなかった前記
位置追跡デバイスの第3の光学センサに隣接していると判定することと、
前記第1のエミッタサイクルの間、前記第2の光学センサが前記第1の光信号を受信したとの判定の少なくとも部分的に基づき、前記第3の光学センサを、前記第2のエミッタサイクルの間中、有効にすることと
を更に含む、請求項1に記載の方法。
【請求項3】
前記第1のエミッタサイクルが、
全方向同期パルスと、
空間中を掃引するレーザラインと
を含む、請求項1に記載の方法。
【請求項4】
前記第1のエミッタサイクルが、空間を掃引するレーザラインを含み、
前記レーザラインが、前記レーザラインの現在の投射角を示すように符号化される、請求項1に記載の方法。
【請求項5】
予想性能を示すデータを受信することと、
前記第1のエミッタサイクル後、予め定められた数のエミッタサイクルの間、前記光学センサを無効にすることであって、前記エミッタサイクルの前記予め定められた数は、前記第2のエミッタサイクルを含み、少なくとも部分的に前記予想性能に基づいていることと
を更に含む、請求項1に記載の方法。
【請求項6】
前記
位置追跡デバイスの移動を検出すること、
前記第2のエミッタサイクルの少なくとも一部の間中、前記光学センサを無効にすることは、前記
位置追跡デバイスの移動の少なくとも部分的に基づいていること
を更に含む、請求項1に記載の方法。
【請求項7】
前記
位置追跡デバイスの速度を判定すること、
前記第2のエミッタサイクルの少なくとも一部の間、前記光学センサを無効にすることは、少なくとも部分的に前記
位置追跡デバイスの前記速度に基づいていること
を更に含む、請求項1に記載の方法。
【請求項8】
前記光学センサが第1の光学センサを含む、方法であって、
前記第1のエミッタサイクルの間、前記
位置追跡デバイスの第2の光学センサが、前記第1の光信号を受信したことを判定することと、
前記第1のエミッタサイクル中に前記第2の光学センサで観測された前記第1の光信号の到着時間に少なくとも部分的に基づいて、前記第2のエミッタサイクルに関連する前記第2の光信号の予想到着時間を判定することと、
前記予想到着時間を含む前記第2のエミッタサイクル中に期間を判定することと、
前記期間の間中、前記第1の光学センサを有効にすること、を更に含み、前記期間は、前記第1の光学センサが無効とされている間、前記第2のエミッタサイクルの少なくとも部分的に一致しないこと、
請求項1に記載の方法。
【請求項9】
前記期間は、第1の期間であって、
前記予想到着時間を含む第2の期間を判定することと、
前記
位置追跡デバイスの第3の光学センサが、前記第1のエミッタサイクルの間に、前記
第1の光信号を受信しなかったと判定することと、
前記第2の期間の間を除いて、前記第2のエミッタサイクルの間に、前記第3の光学センサを無効にすることと
を更に含み、
前記第2の期間が前記第1の期間よりも長い、請求項8に記載の方法。
【請求項10】
プロセッサにより実行されるとき、前記プロセッサに
エミッタ及び位置追跡デバイスに係る動作を実行させるコンピュータが実行可能な命令を有する非一時的なコンピュータが読取り可能な記憶媒体であって、
前記エミッタは、複数のエミッタサイクルのそれぞれの間に、前記位置追跡デバイスの位置情報を決定するために使用される光信号を放射するように構成されていること、前記位置追跡デバイスは、1つ以上の光学センサを含むこと、前記1つ以上の光学センサによって受信された前記光信号に基づいて、前記位置追跡デバイスの位置情報の決定を可能にするために、前記1つ以上の光学センサは前記光信号を受信するように配置されていること、
前記位置追跡デバイスの
前記1つ以上の
光学センサが、第1のエミッタサイクルの間に、
前記エミッタから第1の信号を受信しなかったと判定することと、
前記第1のエミッタサイクルの間に、前記1つ以上の
光学センサが前記第1の信号を受信しなかったという判定に少なくとも部分的に基づき
前記第1のエミッタサイクルに続く第2のエミッタサイクルの少なくとも一部の間中、前記1つ以上の
光学センサを
前記位置追跡デバイスによって無効にすることであって、前記エミッタは、前記第2のエミッタサイクルの間に第2の信号を放射するように構成されること、
を含む、記憶媒体。
【請求項11】
前記非一時的なコンピュータが読取り可能な記憶媒体であって、前記動作は、
前記
位置追跡デバイスの1つ以上の追加のセンサが同期信号を受信したと判定することと、
前記1つ以上の追加のセンサが前記第1のエミッタサイクルの間に、前記第1の信号を受信したと判定することと、
前記1つ以上の追加のセンサで受信された前記同期信号と、前記第1のエミッタサイクルの間に、前記1つ以上の追加のセンサで受信した前記第1の信号の少なくとも部分的に基づき、前記
位置追跡デバイスの座標位置が判定されることと、
を更に含む、
請求項10に記載の記憶媒体。
【請求項12】
前記非一時的なコンピュータが読取り可能な記憶媒体であって、
前記第1の信号は、空間を掃引する第1のレーザラインを具備し、前記第1のレーザラインは前記第1のレーザラインの第1の投射角度を示すように符号化される、請求項10に記載の記憶媒体。
【請求項13】
前記非一時的なコンピュータが読取り可能な記憶媒体であって、前記動作は、
前記第2のエミッタサイクルに関連する前記第2の信号の予想到着時間を判定することと、
前記第2の信号の前記予想到着時間を含む前記第2のエミッタサイクルの間中、期間を判定することと、
前記期間の間中、前記1つ以上のセンサを有効にさせ、前記期間は、前記1つ以上のセンサが無効とされている間、前記第2のエミッタサイクルの少なくとも部分的に一致しないこと、
を更に含む、請求項10に記載の記憶媒体。
【請求項14】
前記非一時的なコンピュータが読取り可能な記憶媒体であって、前記期間は第1の期間であり、前記動作は、
前記第2のエミッタサイクルの間、第2の期間を判定することであって、前記第2の期間が前記第1の期間よりも長く、前記第2の期間が前記第1の期間を含むことと、
前記
位置追跡デバイスの追加のセンサが、前記第1のエミッタサイクルの間、前記第1の信号を検出したと判定することと、
前記第2の期間の間中、前記追加のセンサを有効にすることと
を更に含む、請求項13に記載の記憶媒体。
【請求項15】
光学センサを含
んでいる位置追跡デバイス、
複数のエミッタサイクルのそれぞれの間に、前記光学センサによって受信されたエミッタから放射された光信号に基づいて、前記位置追跡デバイスの位置情報の決定を可能にするために、前記光学センサは前記光信号を受信するように配置されていること、
1つ以上のプロセッサと、
実行されるとき、前記1つ以上のプロセッサに動作を実行させるコンピュータが実行可能な命令を格納する1つ以上のコンピュータが読取り可能な媒体と、
を具備し、前記動作は、
第1のエミッタサイクルの間に、前記
光学センサが
前記エミッタから第1の
光信号を受信しなかったとの表示を受信することと、
前記表示の受信の少なくとも部分的に基づき、前記第1のエミッタサイクルに続く第2のエミッタサイクルの少なくとも一部の間中、前記
光学センサを
前記位置追跡デバイスによって無効にすることとであって、前記エミッタは、前記第2のエミッタサイクルの間、第2の信号を投射するように構成されること、
を備える、システム。
【請求項16】
前記第1のエミッタサイクルが、
全方向同期パルスと、
空間中を掃引するレーザラインと
を含む、請求項15に記載のシステム。
【請求項17】
前記第1のエミッタサイクルが、空間を掃引するレーザラインを含み、
前記レーザラインが、前記レーザラインの現在の投射角を示すように符号化される、請求項15に記載のシステム。
【請求項18】
前記動作が、
予想性能を示すデータを受信することと、
前記第1のエミッタサイクル後の予め定められた数のエミッタサイクルの間、前記
光学センサを無効にすることであって、前記エミッタサイクルの前記予め定められた数が前記第2のエミッタサイクルを含み、少なくとも部分的に前記予想性能に基づいていることとを更に含む、請求項15に記載のシステム。
【請求項19】
前記動作が、
前記
位置追跡デバイスの速度を決定することと、
前記第2のエミッタサイクルの少なくとも一部の間、前記
光学センサを無効にすることは、少なくとも部分的に前記
位置追跡デバイスの前記速度に基づくことと、
を更に含む、請求項15に記載のシステム。
【請求項20】
前記
位置追跡デバイスは、慣性計測装置(IMU)を更に含み、前記動作が、
第3のエミッタサイクルの間に、前記エミッタからの第3信号を受信しなかった、前記
位置追跡デバイスの第2のセンサを特定することと、
前記IMUから、前記
位置追跡デバイスが移動しているとの表示を受信することと、
前記
位置追跡デバイスが移動しているとの前記表示を受信することに応答して、第4のエミッタサイクルの間中、前記第2のセンサを有効に保つことと
を更に含む、請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2018年5月18日提出の「Power Management for Optical Position Tracking Devices」と題する米国特許出願第15/984,130号に対する優先権を主張し、その全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
バーチャルリアリティ(VR)システムは、バーチャル環境を表示すること、ユーザの位置及び動きを感知すること、ならびにユーザの位置及び動きに応答することにより、ユーザのバーチャル環境への没入化を可能にする。VRゲームは、多くの場合、ユーザの自然な動きを感知するウェアラブルデバイスまたはその他のデバイスに依存している。例えば、ボクシングゲームでは、ジョイスティックを操作してパンチを繰り出すのではなく、ユーザの手の実際の位置及び動きに関する入力を受けて、ユーザが実際に腕や手でパンチすることによってゲームをプレイできるようにしてもよい。同様に、バーチャルリアリティシステムでは、ユーザは、物理的なステップを踏むことにより、表示されたバーチャル環境の中を移動すること、対象を把持すること、バーチャルボタンを押すことなどが可能になり得る。
【0003】
いくつかのシステムでは、ユーザが、VRコントローラと呼ばれるものを着用する、または手に持つ場合がある。VRコントローラは、オーディオやビデオなどの出力をユーザに提供するデバイスである。例えば、ユーザが、バーチャル環境をユーザに表示するVRヘッドセットを着用してもよい。VRコントローラは、ユーザ入力を受け入れ得、または検出し得、VRコントローラによって、ユーザは、バーチャル環境の要素とインタラクトすること、または要素に対して移動することが可能になる。特に、VRコントローラの中には、ユーザの位置及び動きを検出するものもある。
【0004】
ユーザの位置及び動きを、様々な手法で検出し得る。いくつかのシステムでは、ユーザの動きを検出するために光学技術が使用されている。具体的には、いくつかのシステムでは、VRヘッドセットまたはVRハンドコントローラなどのウェアラブルデバイスまたはハンドヘルドデバイスに配置された光センサを使用して、位置情報を伝達する光信号を検出し得る。
【0005】
VRコントローラは、一般的には、電源に充電式バッテリを使用してワイヤレスで動作する。したがって、VRコントローラの使用可能時間は、利用できるバッテリ容量によって制限される。そのため、VRコントローラの電力消費を最小限に抑えること、または制限することが重要である。
【0006】
発明を実施するための形態を、添付の図面を参照しながら説明する。図中、参照番号の左端の数字(複数可)は、その参照番号が最初に現れる図を特定する。異なる図面で同じ参照番号を使用する場合は、類似または同一の構成要素または特徴であることを意味する。
【図面の簡単な説明】
【0007】
【
図1】バーチャルリアリティ(VR)システムが動作する空間を示す図である。
【
図3】例示的なVRハンドコントローラの図である。
【
図4】一実施形態における固定エミッタによって放出された光信号とVRコントローラによって受信された対応する光信号とを示すタイミング図である。
【
図5】別の実施形態における固定エミッタによって放出された光信号とVRコントローラによって受信された対応する光信号とを示すタイミング図である。
【
図6】更に別の実施形態における固定エミッタによって放出された光信号とVRコントローラによって受信された対応する光信号とを示すタイミング図である。
【
図7】VRコントローラの電力消費を削減するために光センサを無効にする例示的な方法を記述する流れ図である。
【
図8A】VRコントローラの電力消費を削減するためにセンサを無効にすることの更なる詳細を説明する流れ図である。
【
図8B】VRコントローラの電力消費を削減するためにセンサを無効にすることの更なる詳細を説明する流れ図である。
【
図8C】VRコントローラの電力消費を削減するためにセンサを無効にすることの更なる詳細を説明する流れ図である。
【
図8D】VRコントローラの電力消費を削減するためにセンサを無効にすることの更なる詳細を説明する流れ図である。
【
図9】代替実施形態におけるセンサを無効にすることの更に更なる詳細を説明する流れ図である。
【
図10】本明細書に記載された方法及び技法を実施し得るVRコントローラのブロック図である。
【発明を実施するための形態】
【0008】
本明細書に記載されているのは、特に、対象の3次元の位置及び姿勢を検出するための技法、ならびに位置及び姿勢を検出するための技法を実施するためのデバイス及びシステムである。
【0009】
本明細書に開示される実施形態によれば、部屋の中またはその他の空間内の固定された位置に光エミッタが取り付けられる。光エミッタは、その部屋中にレーザラインを走査して、位置情報を室内の位置追跡デバイスに伝達するように構成されている。例えば、レーザラインの走査は、任意の瞬間にレーザラインが投射している角度が同期パルス後の経過時間の関数であるように制御され得る。別の実施例を挙げると、レーザラインが空間にわたり、または空間中を走査するときに、レーザラインは、その現在の瞬間的な投射角を伝達するように変調され得るか、または別の方法で符号化され得る。
【0010】
記載された実施形態では、バーチャルリアリティ(VR)コントローラ、またはその他の移動可能な、もしくは着用可能な位置追跡デバイスは、上記の1つ以上の固定光エミッタから光信号を受信するように配置された光センサを有する。詳細に述べると、個々の光センサは、レーザラインが光センサを横切った瞬間にレーザラインを検出し得る。次に、レーザラインに関する情報が解析されて、VRコントローラの位置座標が決定される。例えば、VRコントローラは、光同期パルスを受信してから、その次に、走査レーザラインを検出するまでの時間差を測定してもよく、その後、レーザラインがVRコントローラによって検出された瞬間のレーザラインの投射角を、この時間差の関数として計算することができる。別の実施例を挙げると、VRコントローラは、受信したレーザライン信号の復調または復号を行って、レーザライン信号に埋め込まれた角座標値を取得し得、その場合、角座標は、レーザラインがVRコントローラによって検出された瞬間のレーザラインの投射された角度に対応する。
【0011】
任意の時点において、特定の固定エミッタから投射されたレーザラインを受信して検出することができるように、任意の数の光センサを配置し、向かわせてもよい。VRコントローラ及び/または支援コンピューティングデバイスは、複数の光センサ及び複数の固定エミッタからの信号を解析することによって得られた角度位置情報を使用して、VRコントローラの3次元の位置及び姿勢を決定する。
【0012】
単一の場所にある単一のエミッタは、VRコントローラが、発光デバイスに対する水平及び垂直の両方の角座標を決定できるように、水平軸及び垂直軸などに沿った複数のそれぞれの方向に走査されるレーザラインを生成するように構成され得る。レーザは、エミッタサイクルと呼ばれるサイクルで走査され、その場合、各エミッタサイクルの光信号が、現在の位置情報または新しい位置情報を提示する。
【0013】
光センサによる電力消費を削減するために、これらの光センサが次のレーザラインを検出できそうにない特定の状況では、一部の光センサを無効化することができる。例えば、個々のセンサは、特定のエミッタに面していない場合があり、またはエミッタからの信号の受信を妨害されている場合がある。VRコントローラは、そのセンサのうちのどのセンサが特定のエミッタサイクルのレーザラインを検出しなかったかを判定するとともに、後続の1つ以上のエミッタサイクルの間、これらのセンサを無効にするように構成されている。いくつかの事例では、VRコントローラが移動していない場合にのみ、このようなセンサを無効化する場合がある。いくつかの事例では、センサからの入力が、特定のアプリケーションとは無関係であったり、または他のセンサからの入力と重複していたりするために、センサを無効化する場合がある。いくつかの事例では、センサが無効化される後続のエミッタサイクルの数を、VRコントローラが移動している速度に応じて変化させてもよい。いくつかの事例では、特定のセンサが、前のエミッタサイクルの間に走査レーザラインを実際に検出した別のセンサの近くにある場合には、VRコントローラは、そのセンサを無効化しない場合がある。いくつかの事例では、センサは、エミッタサイクルの大部分で無効にされ得るが、レーザラインが交差してVRコントローラに当たると予想される期間中には有効にされ得る。これら及び他の詳しい内容については、下記の解説で更に詳細に説明する。
【0014】
図1は、例示的な実施形態でのバーチャルリアリティ(VR)コントローラの使用を記述する。具体的に、
図1は、物理的空間102(本実施例では部屋)と、空間102内のユーザ104とを示す。ユーザ104は、VRヘッドセット106と、一対のVRハンドコントローラ108とを装着している。VRヘッドセット106及びVRハンドコントローラ108は、VRコントローラまたはVRモーションコントローラと呼ばれ、より一般には可動位置追跡デバイスと呼ばれるウェアラブル構成要素の実施例である。
【0015】
VRヘッドセット106は、バーチャル環境の模擬ビューを提示する内部ディスプレイ(図示せず)を有する。例えば、模擬ビューは、部屋またはその他の空間を示す場合があり、バーチャル空間内の対象を示す場合もある。ユーザ104が動くと、VRヘッドセット106がその動きを感知し、バーチャル空間内でのユーザ104の新しい位置または向きを反映させるように、模擬ビューが変化する。例えば、頭部を回すことにより、ユーザ104は、バーチャル環境内の様々な方向及び/または様々な対象を見る場合がある。
【0016】
VRハンドコントローラ108は、同様に、ユーザ104の手の動きを感知する。VRヘッドセット106によって表示されるバーチャル環境には、ユーザの実際の手の動きに従って動くシミュレートされた手が含まれ得る。いくつかの実施形態では、VRハンドコントローラ108が指の動きを感知する場合もあり、ユーザ104が、バーチャル環境内のバーチャルボタンを押すこと、表面を押すこと、対象の把持及び保持を行うことなどができるようになる。
【0017】
ゲームコンソールと呼ばれることも多いコンピュータ110が、計算を実行し、ユーザの動きに応答してバーチャル環境のビューを生成してVRヘッドセット106で表示するために、VRコントローラ106及び108と連動して使用され得る。VRコントローラは、ブルートゥース(登録商標)、WiFi、またはその他のワイヤレス技術を使用して、コンピュータ110とワイヤレスで通信し得る。VRコントローラはまた、VRヘッドセット106経由でコンピュータ110と通信し得、VRヘッドセット106は、1つ以上のワイヤを介してコンピュータ110に接続されてもよく、またはワイヤレスで接続されてもよい。
【0018】
物理的空間102には、
図1に第1のエミッタ112(a)及び第2のエミッタ112(b)として示されて、空間102の壁または天井に取り付けられ、部屋に対して内部へ向けられた複数の固定エミッタ112が備えられている。各エミッタ112は、角度位置情報を決定するために、VRコントローラ106及び108によって受信される光基準信号を放出する。具体的には、VRコントローラは、エミッタ112及び空間102に対するユーザ104の位置及び姿勢を決定するために、放出された光基準信号を受信して解析する光学センサ(
図1には示さず)を有する。記載されている実施形態では、光信号は赤外線範囲にあり、ユーザ104には見えない。
【0019】
図2は、VRヘッドセット106を更に詳細に示す。ヘッドセット106は、様々な方向からの赤外線光信号を受信できるように分散して配置された複数の光学センサ204を有する前部外面202を有する。ヘッドセット106は、ヘッドバンド206を備え、ヘッドバンド206に沿って、追加のセンサ(図示せず)を配置してもよい。いくつかの実施形態では、VRヘッドセット106は、ヘルメットまたはキャップを備えてもよく、別の方向からの光信号を受信するために、ヘルメットまたはキャップの上部の様々な追加の位置にセンサを設置してもよい。
【0020】
図3は、VRハンドコントローラ108の1つを更に詳細に示す。VRハンドコントローラ108は、光学センサ302が配置される様々な表面を有する。光学センサ302は、様々な異なる方向から光信号を受信するように配置されている。VRハンドコントローラ108は、ボタン、センサ、照明、コントロール部、ノブ、インジケータ、ディスプレイなどを有し得、様々な形でのユーザ104によるインタラクションを可能にする。
【0021】
本明細書に記載されている技法は、VRコントローラに限定されるものではなく、様々なタイプの位置追跡デバイスに使用してもよい。また、いくつかのVRコントローラは、動き検出に使用できる慣性計測装置(IMU)を搭載している場合がある。
【0022】
再び
図1を参照すると、各エミッタ112は、空間102中にレーザライン114を繰り返し掃引するように構成され得る。レーザライン114は、一実施例として、回転ミラーと組み合わせたライン投射型レーザエミッタによって生成されてもよい。
図1では、レーザライン114は、垂直上向きに掃引する水平ラインとして投射される。また、個々のエミッタ112は、水平方向に掃引する垂直ラインとしてレーザラインを投射してもよい。いくつかの実施形態では、各エミッタ112は、垂直方向に掃引するレーザラインと水平方向に掃引するレーザラインとを交互に投射してもよい。
【0023】
レーザライン114が空間102を横断するとき、または通過するときに、ある時点で、レーザライン114の一部がユーザ104に投射され、VRコントローラ106及び108のセンサ204及び302のうちの1つ以上に当たる。レーザライン114は、エミッタ112に概ね対向しており、ユーザ104または他の物体によって遮られていないセンサのいずれかによって検出される。
【0024】
レーザライン114の任意の掃引または走査について、センサ204または302の1つ以上が、レーザライン114の受信または検出を行わないことが起こり得る。以下に更に詳細に説明するように、これらのセンサは、電力消費を削減するために、後続の1回以上のレーザライン掃引の間中、無効にされ得る。例えば、所与のセンサが、レーザラインの1回目の掃引時にレーザラインを検出しなかった場合、そのセンサは、その後のレーザラインの2回目の掃引の間中は無効にされ、その後、レーザラインの3回目の掃引のために再度有効化されてもよい。光学センサは、かなりの電力を消費するので、いずれかのセンサを無効にすることで、VRコントローラのバッテリ寿命を大幅に改善することができる。
【0025】
図4は、上記の構成要素を使用して実行され得るような、単一の固定エミッタに対するVRコントローラまたはその他の位置追跡デバイスの角座標を決定するための技法を記述する。
図4の上部、ならびに
図5及び
図6の上部は、単一のエミッタサイクル中の固定エミッタによる光信号送信を示すタイムラインである。
図4の下部、ならびに
図5及び
図6の下部は、エミッタサイクル中のVRコントローラの光学センサによる光信号受信を示すタイムラインである。
【0026】
複数のエミッタサイクルのそれぞれの間に、エミッタは、短期間の全方向同期パルス402と、より長期間の掃引レーザライン404とを生成する。図示の実施例では、レーザライン404は、同期パルス402の後の固定された既知の時間から開始して、一定の既知の角速度で、10°から170°までの角度にかけて掃引される。任意の時間におけるレーザラインの投射角度は、直近の同期パルスからの経過時間の線形関数である。いくつかの実施形態では、複数の同期パルス402が存在してもよいことを留意されたい。
【0027】
光学センサは、全方向同期パルス402に対応する第1の信号406と、レーザラインが比較的短い時間だけ光学センサを横切って光学センサに当たるとき、そのレーザラインに対応する第2の信号408とを検出する。レーザラインが光学センサに当たるときのレーザラインの角度は、第1の信号406と第2の信号408との間の時間taの線形関数である。
【0028】
図5は、単一のエミッタが、水平方向及び垂直方向をそれぞれ掃引する2つの掃引レーザラインを生成するように構成され得ることを示す。この場合、単一のエミッタサイクルは、第1の同期パルス502と、対応する水平方向またはX方向のレーザラインの掃引504と、第2の同期パルス506と、対応する垂直方向またはY方向のレーザラインの掃引508とを含み得る。光学センサは、水平同期信号510と、水平方向に掃引されたレーザラインがセンサ上を通過するときに、対応する水平方向レーザパルス512とを受信する。エミッタに対するセンサの水平角は、水平同期信号510と水平方向レーザパルス512との間の時間t
xに基づいて計算される。同じセンサは、垂直同期信号514と、垂直方向に掃引されたレーザラインがセンサ上を通過するときに、対応する垂直方向レーザパルス516とを受信する。エミッタに対するセンサの垂直角は、垂直同期信号514と垂直方向レーザパルス516との間の時間t
yに基づいて計算される。
【0029】
第1のエミッタ112(a)及び第2のエミッタ112(b)のエミッタサイクルはインタリーブされてもよく、VRコントローラが、第1のエミッタ112(a)及び第2のエミッタ112(b)の一方または両方に対する角座標を決定できるようになる。エミッタ112(a)及び112(b)の位置が既知であるとすれば、複数のセンサを監視することから得られたこれらの座標に基づいて、VRコントローラの3次元の位置及び姿勢を計算することができる。
【0030】
図6は、単一の固定エミッタに対するVRコントローラまたはその他の位置追跡デバイスの角座標を指定するための別の技法を記述する。本実施例では、エミッタのレーザ送信は、掃引レーザラインの現在の角座標を示すように、連続的に変調及び/または符号化が行われる。具体的には、レーザ放射は、いずれかの時点で、エミッタに対するレーザラインの瞬間的な投射角度を示すように符号化される。それによって同期パルスを不要にし、エミッタサイクルが、レーザラインの水平掃引またはX掃引602と、それに続くレーザラインの垂直掃引またはY掃引604とを含むようにする。センサが、606及び608でレーザラインを検出すると、レーザ信号の復調または復号が行われて、レーザラインの現在の角度方向が決定される。
【0031】
図7は、位置検出のための光基準信号を検出する例示的な方法700を記述する。方法700は、複数の方向から赤外線光信号を受信するように取り付けられた複数の光学センサを有する位置追跡デバイスの制御論理によって実行され得る。上記のVRコントローラは、位置追跡デバイスの実施例である。
【0032】
方法700は、複数のエミッタサイクルのそれぞれに対して実行される。本明細書に記載されている実施例では、
図4~
図6に示すように、各エミッタサイクルは、共通の場所にある1つ以上のエミッタによって生成された1つ以上の掃引レーザラインを含む。いくつかの実施形態では、エミッタサイクルは、1つ以上の同期パルスを含む場合もある。
【0033】
図4の実施例では、各エミッタサイクルは、全方向同期パルスと、空間中を掃引して、レーザラインがセンサ上を通過する際にパルス408を発生させる後続のレーザラインとを含む。
【0034】
図5の実施例では、各エミッタサイクルは、水平方向測定サイクル及び垂直方向測定サイクルを含む。水平方向測定サイクルは、全方向同期パルスと、空間を水平方向に掃引して、レーザラインがセンサ上を通過する際に、パルス512を発生させる後続のレーザラインとを含む。垂直方向測定サイクルは、全方向同期パルスと、空間を垂直方向に掃引して、レーザラインがセンサ上を通過する際に、パルス516を発生させる後続のレーザラインとを含む。
【0035】
図6の実施例では、各エミッタサイクルは、空間を水平方向に掃引して、レーザラインがセンサ上を通過する際に、レーザパルス606を発生させる第1のレーザラインと、空間を垂直方向に掃引して、レーザラインがセンサ上を通過する際に、レーザパルス608を発生させる後続の第2のレーザラインとを含む。
図6の実施例では、各レーザラインは、レーザラインの現在の瞬間的な投射角を表示するために、変調されるか、または別の方法で符号化される。
【0036】
図7は、単一の固定エミッタから放出された信号、または単一の場所にある複数のエミッタから放出された信号に関して実行されるアクションを記述する。いくつかの実施形態は、様々な場所に複数の固定エミッタを含んでもよく、方法700は、各エミッタまたはエミッタの場所のエミッタサイクルに対して独立して実行されてもよい。
【0037】
アクション702は、位置追跡デバイスに取り付けられた複数の光学センサのうちの少なくとも1つを使用して、固定エミッタから光基準信号を受信することを含む。本明細書に記載された実施形態では、アクション702は、位置追跡デバイスのセンサを使用して、掃引レーザラインを受信して検出することを含む。レーザラインは、位置追跡デバイスの現在有効にされている複数のセンサによって受信されて検出され得、個々のセンサは、
図7の後続のアクションに従って有効化及び無効化される。ある事例では、掃引レーザラインは、レーザラインの現在の投射角に応じて変化する位置座標を指定するようにコード化されたレーザ信号を使用して作成されてもよい。
【0038】
アクション704は、固定エミッタに対する位置座標を決定するために、光基準信号を解析することを含む。上記のように、光基準信号は掃引レーザラインを構成してもよく、アクション704は、(a)掃引レーザラインの検出と直前の同期信号の受信との間の時間差を決定すること、及び(b)少なくとも部分的に時間差に基づいて、位置追跡デバイスの角度位置座標を決定することを含んでもよい。他の事例では、アクション704は、受信したレーザ信号から角度位置情報を復号化することを含んでもよい。
【0039】
アクション704は、
図1のコンピュータ110など、VRコントローラ以外の支援構成要素によって、部分的に実行されてもよいことに留意されたい。例えば、いくつかの事例では、VRコントローラは、時間差をコンピュータ110に伝えてもよく、コンピュータ110は、その時間差を使用して角度位置座標を計算してもよい。更に、コンピュータ110は、複数の場所にある複数のエミッタからの計算された角度位置座標を使用して、VRコントローラの3次元の位置及び姿勢を決定してもよい。
【0040】
アクション706は、エミッタサイクル中に光基準信号を受信しなかった、または検出しなかった複数の光学センサのいずれかを特定することを含む。これらの光学センサは、本明細書では非受信センサと呼ばれる。
【0041】
アクション708は、非受信センサを特定するアクション706に少なくとも部分的に基づいて、電力消費を削減するために、個々のセンサを有効にすること、または無効にすることを含む。一般に、アクション708は、後続のエミッタサイクルの間、非受信センサを無効にし、次に、この後続のエミッタサイクルの後に、非受信センサを再び有効にすることを含む。いくつかの実施形態では、アクション708は、いくつかの後続のエミッタサイクルの間、各非受信センサを無効にすることを含んでもよい。いくつかの事例では、センサが無効にされる後続のエミッタサイクルのサイクル数は、位置追跡デバイスが移動しているかどうか、及び/または位置追跡デバイスが移動している速度によって決まってもよい。
【0042】
図8A、
図8B、
図8C、及び
図8Dは、アクション708が実施され得るいくつかの方法を記述する。これらの図のそれぞれの記述されたアクションは、VRコントローラまたはその他の位置追跡デバイスの各センサに関して実行され、エミッタサイクル毎に繰り返される。
【0043】
図8Aにおいて、アクション802は、センサが、現在のエミッタサイクルの光基準信号を受信して検出したかどうかを判定することを含む。センサが光基準信号を実際に受信して検出した場合、後続のエミッタサイクルの間、センサを有効にするアクション804が実行される。
【0044】
センサが光基準信号の受信及び検出を行わなかった場合、アクション806が実行される。アクション806は、現在のエミッタサイクルの間にセンサが無効にされたかどうかを判定することを含む。センサが無効にされた場合、後続のエミッタサイクルの間、センサを有効にするアクション804が実行される。
【0045】
現在のエミッタサイクルの間にセンサが無効にされなかった場合、後続のエミッタサイクルの間、センサを無効にするアクション808が実行される。
【0046】
図8Bは、追加のアクション810を除き、
図8Aの実施態様と同様である例示的な実施態様を示す。非受信センサを無効にするアクション806を実行する前に、この非受信センサが、エミッタサイクル中に、実際に光基準信号を受信した別のセンサに隣接しているかどうかを判定するために、アクション810が実行される。アクション808は、センサが、実際に光基準信号を受信した別のセンサに隣接していない場合に実行される。センサが、実際に光基準信号を受信した別のセンサに隣接しているとの判定に応答して、センサが、現在のエミッタサイクルで光基準信号を受信し得なかったにも関わらず、後続のエミッタサイクルの間、センサを有効にするアクション804が実行される。
【0047】
図8Cは、記述された他のアクションの前に、最初に実行されるアクション812を追加することを除けば、
図8Aの実施態様と同様である例示的な実施態様を示す。アクション812は、位置追跡デバイスが移動しているかどうかを判定することを含む。位置追跡デバイスが移動している場合、センサが受信センサであるか非受信センサであるかに関わらず、後続のエミッタサイクルの間、センサを有効にするアクション804が実行される。
図8Cの他のアクションは、位置追跡デバイスが移動していない場合に実行される。
【0048】
位置追跡デバイスが移動しているかどうかは、一実施例として、位置追跡デバイスの加速度計または慣性監視デバイス(IMU)を監視することによって判定してもよい。別の実施例を挙げると、位置追跡デバイスの移動は、以前に決定された角座標を使用して行われた以前の位置計算を監視することによって判定されてもよい。
【0049】
図8Dは、
図8Aの実施態様と同様である例示的な実施態様を示す。この実施例では、非受信センサを無効にするアクション808を実行する前に、非受信センサが、その間は無効にされるようになる可変のエミッタサイクル数を決定するアクション814が実行される。その場合、アクション808は、決定したエミッタサイクル数の間、非受信センサを無効にすることを含む。アクション806は、方法800の各反復時に、非受信センサが、決定したサイクル数Nの間だけ無効にされたかどうかを判定するように修正される。非受信センサが、決定したサイクル数の間だけ無効にされている場合、センサを有効にするアクション804が実行される。非受信センサが、Nエミッタサイクル数の間、まだ無効にされていない場合、アクション814が実行される。すでに無効にされているセンサの場合、アクション814は、エミッタが無効にされている間のサイクル数を追跡するために、Nをインクリメント/デクリメントすることなどによって、カウンタをインクリメントするか、またはデクリメントすることを含み得る。
【0050】
アクション814は、様々な要因に基づいてもよい。例えば、変数Nは、以前に検出された位置追跡デバイスの移動を考慮したものであってもよく、位置追跡デバイスが移動しているか、または移動していた場合には、Nを小さくしてもよい。別の実施例を挙げると、アクション814は、位置追跡デバイスが移動している速度を検出することを含んでもよく、Nは、位置追跡デバイスの速度に少なくとも部分的に基づいてもよい。すなわち、位置追跡デバイスの移動速度が遅い場合にはNを大きくし、位置追跡デバイスの移動速度が速い場合にはNを小さくしてもよい。また、Nは、期待される位置検出性能に関する入力、例えば、感度、精度、及び/または待ち時間などの外部入力によって決まってもよい。例えば、VRコントローラから提供された情報に基づいて生成される情報を利用するゲームまたはその他のアプリケーションでは、期待される位置検出性能の可変レベルを、動作中に指定してもよい。Nは、高パフォーマンスを実現するために小さくしてもよく、バッテリ使用量を節約するために、そのようなパフォーマンスが必要でない場合には、大きくしてもよい。
【0051】
図8A、
図8B、
図8C、及び
図8Dに示す変形形態、ならびに他の変形形態は、個別に用いられてもよく、または組み合わされて併用されてもよい。
【0052】
図9は、いくつかの実施形態で使用され得るセンサの有効化及び無効化を行う例示的な方法を記述する。ある実施形態では、各センサは、全エミッタサイクルの間に有効化され得るか、または無効化され得る。他の実施形態では、
図9に示すように、センサは、エミッタサイクルのある部分の間に無効にされ得、エミッタサイクルの別の部分の間に有効にされ得る。
図9のアクションは、センサごとに個別に実行される。
【0053】
アクション902は、以前のエミッタサイクル中に観測された光基準信号の到着時間に基づいて、光基準信号の予想到着時間を予測することを含む。多くの場合、以前のエミッタサイクルでの以前の到着時間と同じか、またはそれに近い時間に光信号が到着することを確実に予測することができる。そのため、所与のエミッタサイクルに対する予測された到着時間は、以前のエミッタサイクルにおける光基準信号の実際の到着時間であると決定され得る。
【0054】
アクション904は、センサが、
図8A、
図8B、
図8C、または
図8Dによって示す方法のいずれかを使用して無効にされるなど、現在のエミッタサイクルの間、別の方法で無効にされたかどうかを判定することを含む。センサが無効にされている場合、現在のエミッタサイクル内の第1の期間を指定するアクション906が実行される。ただし、第1の期間は、光基準信号の予測された到着時間を含む。次に、指定された第1の期間以外のエミッタサイクルの一部の間に、センサを無効にするアクション908が実行される。つまり、センサは、第1の期間以外のエミッタサイクル中の時間帯に無効にされるが、第1の期間中には有効にされる。
【0055】
センサが、
図8A、
図8B、
図8C、または
図8Dのアクションにより、別の方法で無効にされていない場合は、現在のエミッタサイクル内の第2の期間を指定するアクション910が実行される。ただし、第2の期間は第1の期間よりも長い。特定の実施形態において、第2の期間は、予測された到着時間と第1の期間との両方を含んでもよい。その後、指定された第2の期間以外のエミッタサイクルの一部の間にセンサを無効にするアクション908が実行される。つまり、センサは、第2の期間中は有効にされるが、第1の期間以外のエミッタサイクル中の時間帯には無効にされる。
【0056】
第2の期間は、エミッタサイクル間の時間における位置追跡デバイスの起こり得る移動を考慮するために、第1の期間よりも長い期間として指定され得る。場合によっては、第2の期間が、エミッタサイクルの大部分または全てを構成してもよい。
【0057】
図10は、本明細書に記載された特徴及び技法を実施し得るVRヘッドセット1000の例示的な構成要素を記述する。VRヘッドセットは、記載された特徴及び技法と組み合わせて使用され得る、様々な異なるタイプのVRコントローラ、ウェアラブルデバイス、及び/または位置追跡デバイスの実施例として記述されている。
【0058】
VRヘッドセット1000は、ユーザが着用することになるスタンドアロンデバイスとして実装されてもよい。いくつかの実施形態において、VRヘッドセット1000は、ニアアイディスプレイ(複数可)またはニアトゥアイディスプレイ(複数可)を含むバーチャルリアリティ(VR)ヘッドセットまたは拡張現実(AR)ヘッドセットを備える。
【0059】
図示の実施態様において、VRヘッドセット1000は、1つ以上のプロセッサ1002及びメモリ1004(例えば、コンピュータ可読媒体)を含む。いくつかの実施形態において、プロセッサ(複数可)1002は、中央処理装置(CPU)、グラフィック処理装置(GPU)、CPU及びGPUの両方、マイクロプロセッサ、デジタル信号プロセッサ、または当技術分野で知られている他の処理装置もしくは他の処理構成要素を含み得る。代わりに、または加えて、本明細書に記載された機能は、少なくとも部分的には、1つ以上のハードウェア論理構成要素によって実行されることができる。例えば、限定はしないが、使用できるハードウェア論理構成要素の例示的なタイプとしては、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップシステム(SOC)、複雑なプログラム可能論理デバイス(CPLD)などが含まれる。更に、プロセッサ(複数可)1002のそれぞれは、それ自体のローカルメモリを持っていてもよく、このローカルメモリはまた、プログラムモジュール、プログラムデータ、及び/または1つ以上のオペレーティングシステムを格納し得る。
【0060】
メモリ1004は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶するための任意の方法または技術で実装された、揮発性メモリ及び不揮発性メモリ、リムーバブル媒体及び非リムーバブル媒体を含んでもよい。このようなメモリには、RAM、ROM、EEPROM、フラッシュメモリ、もしくはその他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)、もしくはその他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくはその他の磁気記憶装置、RAIDストレージシステム、または所望の情報を格納するために使用することができ、コンピューティングデバイスからアクセスすることができる他の任意の媒体が含まれるが、これらに限定されない。メモリ1004は、コンピュータ可読記憶媒体(「CRSM」)として実装されてもよく、このCRSMは、メモリ1004に格納された命令を実行するためにプロセッサ(複数可)1002によってアクセスすることができる任意の利用可能な物理媒体であってもよい。1つの基本的な実施態様では、CRSMは、ランダムアクセスメモリ(「RAM」)及びフラッシュメモリを含んでもよい。他の実施態様において、CRSMは、読み出し専用メモリ(「ROM」)、電気的に消去可能なプログラマブル読み出し専用メモリ(「EEPROM」)、または所望の情報を格納するために使用することができ、プロセッサ(複数可)1002によってアクセスすることができる他の任意の有形媒体を含み得るが、これらに限定されない。
【0061】
命令、データストアなどのいくつかのモジュールは、メモリ1004内に格納され、プロセッサ(複数可)1002上で実行されるように構成されてもよい。いくつかの例示的な機能モジュールが、メモリ1004に格納され、プロセッサ(複数可)1002上で実行されるアプリケーションとして示されているが、同じ機能が、代替的に、ハードウェア、ファームウェアにおいて、またはシステムオンチップ(SOC)として、実装されてもよい。
【0062】
オペレーティングシステムモジュール1006は、他のモジュールのために、VRヘッドセット1000内のハードウェアと、VRヘッドセット1000に結合されたハードウェアとを管理するように構成されてもよい。更に、場合によっては、VRヘッドセット1000は、メモリ1004に格納されているか、または別の方法でVRヘッドセット1000にアクセス可能な1つ以上のアプリケーション1008を含んでもよい。本実施態様において、アプリケーション(複数可)1008は、ゲーミングアプリケーション1010を含む。ただし、VRヘッドセット1000は、任意の数または種類のアプリケーションを含んでもよく、ここに示す特定の実施例に限定されない。ゲーミングアプリケーション1010は、ユーザによってプレイ可能なビデオベースのインタラクティブゲーム(例えば、VRゲーム)のゲームプレイを開始するように構成されてもよい。
【0063】
一般に、VRヘッドセット1000は、入力デバイス1012及び出力デバイス1014を有する。入力デバイス1012は、操作ボタンを含んでもよい。いくつかの実施態様では、1つ以上のマイクロフォンが、ユーザ音声入力などのオーディオ入力を受信するための入力デバイス1012として機能してもよい。いくつかの実施態様では、1つ以上のカメラまたはその他のタイプのセンサ(例えば、慣性計測装置(IMU))が、ユーザの手及び/または頭部の動きなどのジェスチャ入力を受信する入力デバイス1012として機能してもよい。ある実施形態では、追加の入力デバイス1012が、キーボード、キーパッド、マウス、タッチスクリーン、ジョイスティックなどの形態で提供されてもよい。他の実施形態において、VRヘッドセット1000は、キーボード、キーパッド、または他の同様の形態の機械的入力を省略してもよい。その代わりに、VRヘッドセット1000は、入力デバイス1012、ネットワークインタフェース(ワイヤレスまたはワイヤベース)、電力、及び処理機能/メモリ機能の比較的単純な形態を使用して実装されてもよい。例えば、VRヘッドセット1000を、その後使用できるように、1つ以上の入力構成要素の限られたセット(例えば、構成を開始するための専用ボタン、電源をオン/オフするための専用ボタンなど)を採用してもよい。一実施態様では、入力デバイス(複数可)1012は、音量を上げる/下げるための基本的な音量調節ボタン(複数可)、ならびに電源ボタン及びリセットボタンなどの制御機構を含んでもよい。
【0064】
出力デバイス1014は、ディスプレイ1016、照明要素(例えば、LED)、触覚の感覚を作り出すための振動器、スピーカ(複数可)(例えば、ヘッドホン)、及び/または同種のものを含んでもよい。また、例えば、電源がオンになっているときなどの状態を表示するためのシンプルな照明要素(例えば、LED)があってもよい。
図10に示す電子ディスプレイ(複数可)1016は、視覚的出力/グラフィック出力を出力するための出力デバイス1014として機能し得る。
【0065】
VRヘッドセット1000は、ネットワークへのワイヤレス接続を容易にするために、アンテナ1020に結合されたワイヤレスユニット1018を更に含んでもよい。ワイヤレスユニット1018は、Wi-Fi、ブルートゥースなどの様々なワイヤレス技術のうちの1つ以上を実装してもよい。VRヘッドセット1000は、ネットワーク、接続された周辺デバイス、または他のワイヤレスネットワークと通信するプラグインネットワークデバイスへのワイヤード接続を容易にするための物理ポートを更に含み得ることが理解されよう。
【0066】
VRヘッドセット1000は、1つ以上の光学要素を使用して、電子ディスプレイ1016からの光をユーザの眼(複数可)へ向かわせる光学サブシステム1022を更に含んでもよい。光学サブシステム1022は、アパーチャ、レンズ(例えば、フレネルレンズ、凸レンズ、凹レンズなど)、フィルタなどを含むが、これらに限定されない、各種の異なった光学要素、及び異なった光学要素の組み合わせを含み得る。いくつかの実施形態において、光学サブシステム1022内の1つ以上の光学要素は、反射防止コーティングなどの1つ以上のコーティングを有し得る。光学サブシステム1022による画像光の拡大により、電子ディスプレイ1016は、大型ディスプレイよりも物理的に小さく、軽量であり、消費電力を少なくすることができる。更に、画像光の拡大は、表示されたコンテンツ(例えば、画像)の視野(FOV)を増加させる場合がある。例えば、表示されたコンテンツのFOVは、表示されたコンテンツが、ユーザのFOVのほぼ全て(例えば、対角120~150度)、場合によっては全てを使用して提示されるようなものである。ARアプリケーションでは、FOVが狭くなっている場合がある(例えば、FOVが40度程度)。光学サブシステム1022は、これらに限定されないが、樽形歪曲、ピンクッション歪曲、軸上色収差、横色収差、球面収差、色収差、像面湾曲、非点収差などの1つ以上の光学誤差を補正するように設計され得る。いくつかの実施形態において、表示のために電子ディスプレイ1016に提供されるコンテンツは、事前に歪められており、光学サブシステム1022は、コンテンツに基づいて生成された電子ディスプレイ1016からの画像光を受信する際に、その歪みを修正する。
【0067】
VRヘッドセット1000は、動き、位置、及び向きのデータを生成するために使用されるセンサなどの1つ以上のセンサ1024を更に含んでもよい。これらのセンサ1024は、ジャイロスコープ、加速度計、磁力計、ビデオカメラ、カラーセンサ、または他のモーションセンサ、位置センサ、及び方位センサであってもよく、またはこれらを含んでもよい。センサ1024はまた、動き、位置、及び向きのデータを生成するために、カメラまたはカラーセンサによって外部から見え得る一連のアクティブマーカまたはパッシブマーカなど、センサのサブ部分を含んでもよい。
【0068】
一実施例においては、センサ(複数可)1024は、慣性計測装置(IMU)1026を含み得る。IMU1026は、加速度計、ジャイロスコープ、磁力計、及び/またはIMU1026に関連する動きを検出し、誤差を補正するのに適した他のセンサ、またはそれらの何らかの組み合わせから受信した測定信号に基づいて動きデータを生成する電子デバイスであってもよい。IMU1026などのそのようなモーションベースセンサは、測定信号に基づいて、VRヘッドセット1000の初期位置に対するVRヘッドセット1000の推定位置を示す較正データを生成してもよい。例えば、複数の加速度計が並進運動(前方/後方、上/下、左/右)を測定してもよく、複数のジャイロスコープが回転運動(例えば、ピッチ、ヨー、及びロール)を測定してもよい。IMU1026は、例えば、測定信号を迅速にサンプリングし、サンプリングされたデータからVRヘッドセット1000の推定位置を計算することができる。例えば、IMU1026は、経時的に加速度計から受信した測定信号を積分して速度ベクトルを推定し、経時的に速度ベクトルを積分して、VRヘッドセット1000上の基準点の推定位置を決定してもよい。
【0069】
別の実施例を挙げると、センサ1024は、光学光センサ1028を含んでもよく、この光学光センサ1028は、光信号を検出し、VRヘッドセット1000の位置及び姿勢を決定するために、上記のように使用され得る。光センサ1028は、一実施例として、赤外線感光性フォトダイオードを含んでもよい。
【0070】
VRヘッドセット1000は、視標追跡モジュール1030を更に含んでもよい。VRヘッドセット1000内のカメラまたはその他の光学センサは、ユーザの眼の画像情報を取り込み得、視標追跡モジュール1030は、取り込まれた情報を使用して、瞳孔間距離と、眼間距離と、(例えば、歪み調整の目的で)ねじれ及び回転(すなわち、ロール、ピッチ、及びヨー)の大きさを含む、VRヘッドセット1000に対する各眼の3次元(3D)位置と、各眼の注視方向とを決定し得る。一実施例では、赤外光は、VRヘッドセット1000内で放出され、各眼から反射される。反射光は、VRヘッドセット1000のカメラで受光され、または検出され、各眼で反射された赤外光の変化から眼球回転を抽出するための解析が行われる。
【0071】
ユーザの眼を追跡するための多くの方法が、視標追跡モジュール1030によって使用され得る。それに伴って、視標追跡モジュール1030は、各眼の最大で6つまでの自由度(すなわち、3D位置、ロール、ピッチ、及びヨー)を追跡し得、追跡された量の少なくともサブセットが、ユーザの2つの眼から組み合わされて、注視点(すなわち、ユーザが見ているバーチャルシーン内の3Dの場所または位置)を推定し得る。例えば、視標追跡モジュール1030は、過去の測定値からの情報、ユーザの頭部の位置を特定する測定値、及び電子ディスプレイ1016によって提示されるシーンを描写する3D情報を統合してもよい。このようにして、ユーザの眼の位置及び向きに関する情報は、ユーザが見ているVRヘッドセット1000によって提示されるバーチャルシーンにおける注視点を決定するために使用される。
【0072】
VRヘッドセット1000は、頭部追跡モジュール1032を更に含んでもよい。頭部追跡モジュール1032は、上記のように、ユーザの頭部の動きを追跡するために、センサ1024の1つ以上を活用してもよい。
【0073】
本主題は、構造的特徴に固有の言語で記載されてきたが、添付の特許請求の範囲で定義された本主題は、必ずしも記載された特定の特徴に限定されるものではないことが理解されよう。むしろ、特定の特徴は、特許請求の範囲を実施する例示的形態として開示される。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]
複数のエミッタサイクルのそれぞれの間に、複数の光学センサの少なくとも1つを使用して固定エミッタから光信号を受信することと、
前記固定エミッタに対する位置座標を決定するために、第1のエミッタサイクルの間に受信した前記光信号を解析することと、
前記複数の光学センサのうちの第1の光学センサが、前記第1のエミッタサイクルの間に、前記光信号を受信しなかったと判定することと、
前記判定することに応答して、電力消費を削減するために、第2のエミッタサイクルの少なくとも第1の部分の間中、前記第1の光学センサを無効にすることと
を含む、方法。
[2]
前記複数の光学センサのうちの第2の光学センサが、前記第1のエミッタサイクルの間に、前記光信号を受信しなかったと判定することと、
前記第2の光学センサが、前記第1のエミッタサイクルの間に光信号を受信した第3の光学センサに隣接していると判定することと、
前記第2の光学センサが前記第3の光学センサに隣接しているとの判定に応答して、前記第2のエミッタサイクルの間中、前記第2の光学センサを有効にすることと
を更に含む、[1]に記載の方法。
[3]
各エミッタサイクルが、
全方向同期パルスと、
空間中を掃引するレーザラインと
を含む、[1]に記載の方法。
[4]
各エミッタサイクルが、空間を掃引するレーザラインを含み、
前記レーザラインが、前記レーザラインの現在の投射角を示すように符号化される、[1]に記載の方法。
[5]
予想性能に関する情報を受信することと、
前記第1のエミッタサイクル後のある数のエミッタサイクルの間、前記第1の光学センサを無効にすることであって、前記数が、少なくとも部分的に前記予想性能に基づいた、前記無効にすることと
を更に含む、[1]に記載の方法。
[6]
前記複数の光学センサが可動デバイスのものであり、
前記可動デバイスが移動しているかどうかを判定することと、
前記第1のエミッタサイクル後のある数のエミッタサイクルの間、前記第1の光学センサを無効にすることであって、前記数が、少なくとも部分的に前記可動デバイスが移動しているかどうかに基づいた、前記無効にすることと
を更に含む、[1]に記載の方法。
[7]
前記光学センサが可動デバイスのものであり、
前記可動デバイスの速度を検出することと、
前記第1のエミッタサイクル後のある数のエミッタサイクルの間、前記第1の光学センサを無効にすることであって、前記数が、少なくとも部分的に前記可動デバイスの前記速度に基づいた、前記無効にすることと
を更に含む、[1]に記載の方法。
[8]
前記第1のエミッタサイクル中に観測された前記光信号の到着時間に少なくとも部分的に基づいて、前記光信号の予想到着時間を予測することと、
第2のエミッタサイクル内の第1の期間を指定することであって、前記第1の期間が、前記光信号の前記予想到着時間を含む、前記指定することと、
前記第1の期間の間中、前記第1の光学センサを有効にすることと
を更に含む、[1]に記載の方法。
[9]
前記光信号の前記予想到着時間を含む第2の期間を指定することと、
前記複数の光学センサのうちの第2の光学センサが、前記第1のエミッタサイクルの間に、前記光信号を受信しなかったと判定することと、
前記第2の期間の間を除いて、前記第2のエミッタサイクルの間に、前記第2の光学センサを無効にすることと
を更に含み、
前記第2の期間が前記第1の期間よりも長い、[8]に記載の方法。
[10]
複数のエミッタサイクルのそれぞれの間に、複数の光学センサのうちの少なくとも1つを使用して、掃引レーザラインを検出することと、
第1のエミッタサイクルの間に検出された前記掃引レーザラインに少なくとも部分的に基づいて、位置座標を決定することと、
前記複数の光学センサのうちの第1の光学センサが、前記第1のエミッタサイクルの間に、前記掃引レーザラインを検出しなかったと判定することと、
前記第1の光学センサが、前記第1のエミッタサイクルの間に、前記掃引レーザラインを検出しなかったとの判定に応答して、電力消費を削減するために、第2のエミッタサイクルの少なくとも第1の部分の間中、前記第1の光学センサを無効にすることと
を含む、方法。
[11]
同期信号を受信することと、
前記同期信号の受信と前記掃引レーザラインの検出との間の時間差を決定することと
を更に含み、
前記位置座標の決定が、少なくとも部分的に前記時間差に基づいている、[10]に記載の方法。
[12]
前記掃引レーザラインの検出が、前記位置座標を指定するように符号化されたレーザ信号を受信することを含む、[10]に記載の方法。
[13]
前記第1のエミッタサイクルでの前記掃引レーザラインが検出された時間に少なくとも部分的に基づいて、前記第2のエミッタサイクル内の第1の期間を指定することと、
前記第1の期間の間中、前記第1の光学センサを有効にすることと
を更に含む、[10]に記載の方法。
[14]
前記第2のエミッタサイクル内の第2の期間を指定することであって、前記第2の期間が前記第1の期間よりも長く、前記第2の期間が前記第1の期間を含む、前記指定することと、
前記複数の光学センサのうちの第2の光学センサが、前記第1のエミッタサイクルの間に、前記掃引レーザラインを検出したと判定することと、
前記第2の期間の間中、前記第2の光学センサを有効にすることと
を更に含む、[13]に記載の方法。
[15]
位置追跡デバイスであって、
複数の方向から光信号を受信するように取り付けられた複数の光学センサと、
制御論理であって、
複数のエミッタサイクルのそれぞれの間に、前記光学センサの少なくとも1つを使用して固定エミッタから光信号を受信することと、
前記固定エミッタに対する前記位置追跡デバイスの位置座標を決定するために、第1のエミッタサイクルの間に受信した前記光信号を解析することと、
前記複数の光学センサのうちの第1の光学センサが、前記第1のエミッタサイクルの間に、前記光信号を受信しなかったと判定することと、
前記判定することに応答して、電力消費を削減するために、第2のエミッタサイクルの少なくとも第1の部分の間中、前記第1の光学センサを無効にすることと
を含むアクションを実行するように構成されている、前記制御論理と
を備える、前記位置追跡デバイス。
[16]
各エミッタサイクルが、
全方向同期パルスと、
空間中を掃引するレーザラインと
を含む、[15]に記載の位置追跡デバイス。
[17]
各エミッタサイクルが、空間を掃引するレーザラインを含み、
前記レーザラインが、前記レーザラインの現在の投射角を示すように符号化される、[15]に記載の位置追跡デバイス。
[18]
前記アクションが、
予想性能に関する情報を受信することと、
前記第1のエミッタサイクル後のある数のエミッタサイクルの間、前記第1の光学センサを無効にすることであって、前記数が、少なくとも部分的に前記予想性能に基づいた、前記無効にすることと
を更に含む、[15]に記載の位置追跡デバイス。
[19]
前記アクションが、
前記位置追跡デバイスの速度を決定することと、
前記第1のエミッタサイクル後のある数のエミッタサイクルの間、前記第1の光学センサを無効にすることであって、前記数が、少なくとも部分的に前記位置追跡デバイスの前記速度に基づいた、前記無効にすることと
を更に含む、[15]に記載の位置追跡デバイス。
[20]
慣性計測装置(IMU)を更に含み、前記アクションが、
第3のエミッタサイクルの間に、前記光信号を受信しなかった、前記複数の光学センサのうちの第2の光学センサを特定することと、
前記IMUから、前記位置追跡デバイスが移動しているとの表示を受信することと、
前記位置追跡デバイスが移動しているとの前記表示を受信することに応答して、第4のエミッタサイクルの間中、前記第2の光学センサを有効に保つことと
を更に含む、[15]に記載の位置追跡デバイス。