(57)【要約】  ＶＲシステムにおいてハンドコントローラを追跡する技術は、ＨＭＤの拡散ＬＥＤによって生成された拡散放射のパターンをハンドコントローラのフォトダイオードによって検出することを含む。このような技術は、検出されたパターンを、以前にオフラインでシミュレートされ、ルックアップテーブル（ＬＵＴ）で表されたパターンと比較することも含む。検出されたパターンをＬＵＴで探索することにより、ＶＲシステムは、サブミリメートルの精度でハンドコントローラの位置および／または向きを判断し得る。改良された技術のいくつかの利点は、ハンドコントローラの位置および向きを導き出す際の精度を犠牲にすることなく、コンポーネントが単純であり、および／または低コストであることができることである。
2020518808.tif 000002
【特許請求の範囲】
【請求項１】
ハンドコントローラとヘッドマウントディスプレイ（ＨＭＤ）とを含む仮想現実（ＶＲ）システムにおいて、前記ハンドコントローラの位置および向きを追跡する方法であって、
処理回路が、前記ＨＭＤに配置された複数の放射トランスミッタからの拡散電磁放射のパルスを受け取ることと、
前記処理回路が、前記拡散電磁放射からデジタル信号を生成することと、
前記処理回路が、前記デジタル信号に基づいて前記ハンドコントローラの位置および向きを取得することとを備える、方法。
【請求項２】
前記デジタル信号に基づいて前記ハンドコントローラの位置および向きを取得することは、
前記デジタル信号をルックアップテーブル（ＬＵＴ）の複数の信号表現と比較することを含み、前記複数の信号表現の各々は前記ハンドコントローラのそれぞれの位置および向きに対応する、請求項１に記載の方法。
【請求項３】
前記ＬＵＴの前記複数の信号表現の各所定の信号表現は、前記ＨＭＤに配置された前記複数の放射トランスミッタの各々に対するそれぞれの信号部分を含む、請求項１または２に記載の方法。
【請求項４】
前記ＬＵＴの前記複数の信号表現の各所定の信号表現は、拡散放射のパルスが前記ＨＭＤの前記複数の拡散放射トランスミッタから送信される時間に対応する、請求項２または３に記載の方法。
【請求項５】
前記デジタル信号は、第１の部分と第２の部分とを含み、
前記デジタル信号を前記ＬＵＴの前記複数の信号表現の前記所定の信号表現と比較することは、
前記拡散放射のパルスが前記ＨＭＤの前記複数の拡散放射トランスミッタから送信される時間を前記デジタル信号の前記第１の部分に基づいて生成することと、
前記信号の前記第２の部分と、前記拡散放射のパルスが前記ＨＭＤの前記複数の拡散放射トランスミッタから送信される時間とに基づいて、前記ハンドコントローラの位置および向きを生成することとを含む、請求項４に記載の方法。
【請求項６】
前記複数の拡散放射トランスミッタは、前記ＨＭＤ内に特定の角度パターンで配置される、請求項２〜５のいずれか１項に記載の方法。
【請求項７】
前記処理回路はフォトダイオードを含み、
前記方法は、さらに、前記ＨＭＤの各拡散放射トランスミッタからの照明に対する前記フォトダイオードの応答のシミュレーションを実行することにより、前記ＬＵＴをオフラインで生成することを備え、前記フォトダイオードの応答は、ノイズプロファイルと信号プロファイルとを有する伝達関数を有し、前記信号プロファイルは、上側周波数と下側周波数とを有する特定の周波数帯域外では０であり、前記ノイズプロファイルは前記信号プロファイルの前記周波数帯域の前記下側周波数を下回る臨界周波数を下回る１／ｆノイズを含む、請求項２〜６のいずれか１項に記載の方法。
【請求項８】
前記デジタル信号を前記ＬＵＴの複数の信号表現と比較することは、検出された拡散放射のパターンに対する前記ＬＵＴの信号表現の近さを示すヒートマップを生成することを含み、
前記ヒートマップは、信号表現が前記検出された拡散放射のパターンに対応するホット領域と、信号表現が前記検出された拡散放射のパターンに対応しないクール領域とを含み、前記デジタル信号を前記ＬＵＴの複数の信号表現と比較することはさらに、
前記ヒートマップの前記ホット領域において信号表現を選択することを含む、請求項２〜７のいずれか１項に記載の方法。
【請求項９】
前記ヒートマップは３次元位置空間にプロットされ、
前記ＬＵＴの前記ホット領域内で前記信号表現を選択することは、前記ハンドコントローラの位置を前記ヒートマップの前記ホット領域における座標トリプレットとして識別することを含む、請求項８に記載の方法。
【請求項１０】
前記ＬＵＴの前記ホット領域内で前記信号表現を選択することは、
前記ハンドコントローラの位置として識別される前記ヒートマップの前記ホット領域内の前記座標トリプレットで第２のヒートマップを生成することをさらに含み、前記第２のヒートマップは３次元のピッチヨーロール角空間にプロットされ、前記第２のヒートマップは、信号表現が検出された拡散放射のパターンに対応するホット領域と、信号表現が前記検出された拡散放射のパターンに対応しないクール領域とを含み、前記ＬＵＴの前記ホット領域内で前記信号表現を選択することはさらに、
前記第２のヒートマップの前記ホット領域で信号表現を選択することを含む、請求項９に記載の方法。
【請求項１１】
前記ハンドコントローラは、（ｉ）前記拡散電磁放射のパルスから第１の電流を生成し、前記ＨＭＤに配置された前記複数の放射トランスミッタの外部の放射源から受け取った外部放射から第２の電流を生成するように構成されたトランスインピーダンス増幅器（ＴＩＡ）と、（ｉｉ）前記第２の電流を打ち消すように構成された誤差増幅器とを含み、
前記方法は、さらに、
前記誤差増幅器で前記第２の電流を受け取ることをさらに備え、前記第２の電流は前記誤差増幅器で第２の電圧を生成し、前記方法はさらに、
前記第２の電流を受け取ることに応じて、前記第２の電圧と基準電圧との差に比例する制御電圧を生成することと、
前記制御電圧から負の電流を生成することとを備え、前記負の電流は前記ＴＩＡから前記第２の電流を引き抜く、請求項２から１０のいずれか１項に記載の方法。
【請求項１２】
非一時的記憶媒体を備えるコンピュータプログラム製品であって、ヘッドマウントディスプレイ（ＨＭＤ）も含む仮想現実（ＶＲ）システムのハンドコントローラの処理回路によって実行されると、前記処理回路に方法を実行させるコードを含み、前記方法は、
前記ＨＭＤに配置された複数の放射トランスミッタからの拡散電磁放射のパルスを受け取ることと、
前記拡散電磁放射からデジタル信号を生成することと、
前記デジタル信号に基づいて前記ハンドコントローラの位置および向きを取得することとを備える、コンピュータプログラム製品。
【請求項１３】
前記デジタル信号に基づいて前記ハンドコントローラの位置および向きを取得することは、
前記デジタル信号をルックアップテーブル（ＬＵＴ）の複数の信号表現と比較することを含み、前記複数の信号表現の各々は前記ハンドコントローラのそれぞれの位置および向きに対応する、請求項１２に記載のコンピュータプログラム製品。
【請求項１４】
前記ＬＵＴの前記複数の信号表現の各所定の信号表現は、前記ＨＭＤに配置された前記複数の放射トランスミッタの各々に対するそれぞれの信号部分を含む、請求項１３に記載のコンピュータプログラム製品。
【請求項１５】
ヘッドマウントディスプレイ（ＨＭＤ）とハンドコントローラとを含む仮想現実（ＶＲ）システムであって、
メモリと、
前記メモリに結合される制御回路とを備え、前記制御回路は、
前記ＨＭＤに配置された複数の放射トランスミッタからの拡散電磁放射のパルスを受け取り、
前記拡散電磁放射からデジタル信号を生成し、
前記デジタル信号に基づいて前記ハンドコントローラの位置および向きを取得するよう構成される、仮想現実（ＶＲ）システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本出願は、２０１８年４月２７日に出願された米国特許出願第１５／９６４，４９９号の優先権を主張し、かつその継続出願であり、それは、２０１７年５月１日に出願された米国特許出願第６２／４９２，８０１号の優先権を主張し、これらの開示はいずれもその全体が本明細書に引用により援用される。
【０００２】
技術分野
本記載は、仮想現実（ＶＲ）システムで用いられる現実の物体の３次元の位置および向きの追跡に関する。
【背景技術】
【０００３】
背景
一部のＶＲシステムでは、ユーザはヘッドマウントディスプレイ（ＨＭＤ）と一対のハンドコントローラとを用いて、仮想環境内で任意の数の仮想オブジェクトと対話する。そのようなＶＲシステムでは、ユーザがＨＭＤで仮想オブジェクトを見たり聞いたりする一方で、ＶＲシステムがハンドコントローラを用いてコントローラの位置および向きを追跡する。ＶＲシステムは、コントローラの６自由度（６ＤＯＦ）、つまり３次元の位置および向きをＨＭＤにフィードバックして、仮想環境内のユーザのビューを更新する。
【０００４】
概要
１つの一般的な態様では、ＶＲシステムはハンドコントローラとＨＭＤとを備えることができる。このＶＲシステムでは、方法は、処理回路が、ＨＭＤに配置された複数の放射トランスミッタからの拡散電磁放射のパルスを受信することを備えることができる。この方法は、処理回路が、拡散電磁放射からデジタル信号を生成することを備えることもできる。この方法は、さらに、処理回路が、デジタル信号に基づいてハンドコントローラの位置および向きを取得することを備えることができる。
【０００５】
１つまたは複数の実装例の詳細は、添付の図面および以下の記載に記載される。他の特徴は、記載および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【０００６】
【図１Ａ】ＶＲシステムにおける例示的なＨＭＤおよびハンドコントローラを示す図である。
【図１Ｂ】ＨＭＤに含まれるＬＥＤトランスミッタの例を示す図である。
【図１Ｃ】典型的なＬＥＤの輝度プロファイルの例を示す図である。
【図１Ｄ】ＬＥＤの別の輝度プロファイルの例を示す図である。
【図２】図１Ｂに示される輝度プロファイルが与えられたＬＥＤの例示的なシミュレートされたプロットを示す図である。
【図３Ａ】バンドパスフィルタリング前における、図１に示されるＬＥＤから放出されるパルス放射の例示的な時間プロファイルを示す図である。
【図３Ｂ】バンドパスフィルタリング後における、図１に示されるＬＥＤから放出されるパルス放射の例示的な時間プロファイルを示す図である。
【図４Ａ】ハンドコントローラに位置するフォトダイオードの例示的なセットの図である。
【図４Ｂ】ハンドコントローラにおける典型的なフォトダイオードの例示的な応答の図である。
【図４Ｃ】ハンドコントローラにおける典型的なフォトダイオードのためにバンドパスフィルタリングを与える例示的な回路の図である。
【図５Ａ】ハンドコントローラが空間内で占めることができる可能な３次元座標の例示的なセットの図である。
【図５Ｂ】ハンドコントローラが空間内で占めることができる可能な３次元座標の例示的なセットの図である。
【図５Ｃ】ハンドコントローラが空間内で占めることができる可能な３次元座標の例示的なセットの図である。
【図５Ｄ】ハンドコントローラが空間内で占めることができる可能な３次元座標の例示的なセットの図である。
【図６】ＨＭＤにおけるＬＥＤからの拡散放射の受け取りから生じる例示的な信号を示す図である。
【図７】ハンドコントローラの位置および向きを導出することができる例示的なルックアップテーブル（ＬＵＴ）を示す図である。
【図８】ＬＵＴおよびＬＥＤからの拡散放射の受光に応答してフォトダイオードによって生成される信号からヒートマップを導出するための例示的なプロセスを示すフローチャートである。
【図９Ａ】外部光源からのＤＣ光を阻止するための例示的な回路トポロジーを示す図である。
【図９Ｂ】外部光源からのＤＣ光を阻止するための例示的な回路を示す図である。
【図１０】本明細書で説明する回路とともに用いることができるコンピュータデバイスおよびモバイルコンピュータデバイスの例を示す。
【図１１】例示的なＶＲヘッドマウントディスプレイ（ＨＭＤ）を示す図である。
【図１２Ａ】例示的なＶＲ  ＨＭＤおよびコントローラを示す図である。
【図１２Ｂ】例示的なＶＲ  ＨＭＤおよびコントローラを示す図である。
【図１２Ｃ】例示的なＶＲ  ＨＭＤおよびコントローラを示す図である。
【発明を実施するための形態】
【０００７】
詳細な説明
従来のＶＲシステムでは、ハンドコントローラなどの物体の追跡データを提供する外部システムが必要である。そのような外部システムの例は、例えば部屋の両角に配置された一対の固定されたトランスミッタ（「基地局」）の形式をとる。このようなトランスミッタは、コリメートされた近赤外線（ＮＩＲ）レーザーまたはＬＥＤ照明を用い、回転モーター構成を用いてシーンをラスタスキャンする。本明細書で説明する実装形態では、集束照明データを収集し、照明データから物体の位置および向きを生成する高帯域幅センサを介して物体を追跡しなくてもよい。本明細書で説明する実装形態では、大きな空間つまり部屋全体を必要とする固定されたトランスミッタ、および照明をコリメートする高価な光学機器を必要としなくてもよい。さらに、本明細書で説明する実装形態では、光ノイズに対する望ましくない感度を導入し得る高帯域幅センサを排除することができる。
【０００８】
本明細書に記載の実装形態によれば、ＶＲシステムにおいてハンドコントローラを追跡する改善された技術は、ハンドコントローラのフォトダイオードが、ＨＭＤにおいて拡散ＬＥＤにより生成される拡散放射のパターンを検出することを含む。装置および方法は、検出されたパターンを、以前にオフラインでシミュレートされ、ルックアップテーブル（ＬＵＴ）で表されたパターンと比較することも含むことができる。ＬＵＴにおいて検出されたパターンを探索することにより、ＶＲシステムは、サブミリメートルの精度でハンドコントローラの位置および／または向きを判断し得る。改良された技術のいくつかの利点は、ハンドコントローラの位置および向きを導出する際の精度を犠牲にすることなく、コンポーネントが単純および／または低コストであることにある。改良されたＶＲシステムを用いるために大きな空間を確保する必要はない。拡散放射を生成する光学素子およびハンドコントローラのフォトダイオードは、コリメーションに必要なものよりも安価である。さらに、フォトダイオードに適用される新規な回路は、改良されたＶＲシステムの、外部光に対する低感度を提供する。
【０００９】
図１Ａは、ＨＭＤ１０５およびハンドコントローラ１０３を含む例示的なＶＲシステム１００を示す。ＨＭＤ１００は、ユーザの頭の上にフィットし、ユーザの前に突出されるように示されるディスプレイ２０４で彼／彼女の目を覆う。ＨＭＤ１０５内のディスプレイ２０４は、仮想環境１１５をユーザに示す。この特定のユーザ環境１１５には、仮想オブジェクト１２０がある。ユーザは、ハンドコントローラ１０３を用いて仮想オブジェクト１２０を操作してもよい。
【００１０】
ＶＲシステム１００は、ハンドコントローラ１０３を用いて、ユーザの動きを追跡し、したがって、仮想環境１１５に何を表示するかを判断する。特に、ＶＲシステム１００は、ハンドコントローラ１０３の位置および場合によっては向きを追跡するように構成される。したがって、ＶＲシステムが、典型的には１ミリメートル以内の十分な精度でハンドコントローラ１０３の位置および向きを追跡できることが重要である。
【００１１】
改良された技術によれば、ＶＲシステム１００は、ＨＭＤ１０５における放射源１３０（たとえばＬＥＤ）によって生成された拡散電磁放射（たとえば近赤外線放射）を用いてハンドコントローラ１０３を追跡する。そのような放射源１３０は、ヘルメット内、例えば、ＨＭＤ１０５のハウジング内にアレイ状に配置することができる。
【００１２】
ハンドコントローラのこの追跡の一部として、ハンドコントローラ１０３は放射検出器１４０を含む。本明細書に記載されるものなどのいくつかの実装形態では、放射検出器はフォトダイオードを含む。いくつかの実装形態では、放射検出器は、光電子増倍管、電荷結合デバイスなどを含んでもよい。
【００１３】
図１Ａに示されるように、ＨＭＤは処理回路１３２も含む。処理回路１２２は、放出された放射を受け取ることに応答してハンドコントローラ１０３において放射検出器１４０によって生成された信号を検出し、検出された信号に基づいてハンドコントローラ１０３の位置および／または向きを判断するように構成される。いくつかの構成では、処理回路１３２は、ＬＵＴ１３８を格納するメモリ１３６に結合もされる。そのような構成では、処理回路１３２は、検出された信号とメモリ１３６内のＬＵＴ１３８との比較動作を実行するように構成される。
【００１４】
本明細書で説明するように、ＶＲシステム１００は、プロセッサ１３２を介して、放射源１３０および放射検出器１４０のシミュレーション、ならびに検出器で回路によって生成される信号を処理して、ＬＵＴ１３８を構築するように構成される。
【００１５】
いくつかの構成では、処理回路１３２およびメモリ１３６は、ＨＭＤの外部において、例えば、ハンドコントローラ１０３、またはハンドコントローラ１０３およびＨＭＤ１０５の外部のコンピュータ内に配置される。
【００１６】
図１Ｂは、ＨＭＤ１０５（図１Ａ）などのＨＭＤに含まれ得る例示的なＬＥＤトランスミッタを示す。図１Ｂにおいて、ＨＭＤに埋め込まれる曲面に配置された１２個のＬＥＤがある。各ＬＥＤはプリント回路基板にはんだ付けされ、ＨＭＤから電力を引き出す。いくつかの実装形態では、ＬＥＤは、近赤外（ＮＩＲ）波長（たとえば７００ｎｍと１０００ｎｍとの間）で電磁放射を放出する。いくつかの実装形態では、ＬＥＤは、そのような放射を、光学波長、中赤外線波長、遠赤外線波長、およびマイクロ波波長で放出する。
【００１７】
本明細書で実証されるように、ＨＭＤ１０５内の放射源によって放出される放射パターンをシミュレートして、実際の放射パターンが、ハンドコントローラ１０３で検出されたときに、ハンドコントローラ１０３の位置および向きを判断できるようにすることは、有利である。このために、各放射源１３０は、放射を既知の輝度プロファイルに従って放出し、そのようなプロファイルは、ハンドコントローラ１０３で受け取られた輝度を判断するために用いられ得る。ハンドコントローラ１０３は放射検出器１４０、例えば放射エネルギーを電気エネルギーに変換するフォトダイオードを含むため、ハンドコントローラ１０３の位置および向きは、検出器１４０で受信される放射プロファイルを決定する。検出器１４０の回路は、受信プロファイルに基づいて、これもシミュレートされてもよい、電気信号を生成する。メモリ１３６内でＬＵＴ１３８に記録されるのは、この回路によって生成される信号である。本明細書で論じられるものを含むいくつかの実装形態では、ハンドコントローラ１０３内に複数の放射検出器があってもよい。
【００１８】
図１Ｃおよび図１Ｄは、ＮＩＲ波長について、図１Ｂに示されるＬＥＤに典型的な放射輝度グラフの例示的な対を示す図である。そのような輝度プロファイルは、本明細書で説明される実装形態において、ハンドコントローラ１０３によって受信される放射信号をシミュレートするよう用いることができる。各グラフには、左側に極座標プロットおよび右側にデカルトプロットの、プロットの対がある。極座標プロットは、輝度がＬＥＤの垂直軸に対する極角の関数である放射プロファイルの半分を示す。デカルトプロットは同じプロットを示すが、輝度の、より小さな値の、より詳細な検査を示す。
【００１９】
図１Ｃに示されるように、グラフは比較的狭い輝度プロファイルを示す。すなわち、輝度はＬＥＤの垂直軸から比較的速く減少する。しかしながら、デカルトプロットは、輝度がＬＥＤの水平軸に向かってよりゆっくりと減少することを示す。対照的に、図１Ｄのグラフは、比較的広いプロファイルを示す。つまり、輝度はＬＥＤの垂直軸から比較的ゆっくりと減少する。しかしながら、デカルトプロットは、輝度がＬＥＤの水平軸に向かってより速く減少することを示す。
【００２０】
図２は、各ＬＥＤ放射トランスミッタについて、ハンドコントローラ１０３内のフォトダイオードで受け取られた、シミュレートされた放射のプロットの配列を示す図である。シミュレーションでは、図１Ｂに示される１２個のＬＥＤの位置および向きを、図１Ｃおよび図１Ｄに例が示されている輝度データとともに用いた。各プロットは平面のヒートマップであり、明るい部分は最も高い受信強度の領域を表し、暗い部分は最も低い受信強度の領域を表す。各プロットの水平軸および垂直軸は、ハンドコントローラの受信領域に沿った位置、たとえばフォトダイオードのすぐ上の位置を表す。
【００２１】
図３Ａは、ミリ秒の時間スケールにわたる例示的なシミュレートされた放射パルス列のプロットを示す図である。図３Ａのプロットは、ＬＥＤから受け取られ、フォトダイオードに入射し、その後アナログ‐デジタル変換（ＡＤＣ）される拡散電磁放射のパルスから生じるパルス列の積分強度（フォトダイオードの領域にわたる）を表す。デジタルパルスの周期は、０．１ミリ秒より少し大きい。
【００２２】
拡散放射に起因するパルス信号の時間的側面は、ＬＵＴにおけるパターンが時間依存であることを意味する。したがって、本明細書で実証されるように、実信号をＬＵＴにおけるパターンと比較するプロセスは、実信号をＬＵＴに同期させて、パターンの正しい位相を判断することを含む。
【００２３】
上のプロットのパルス列の周波数成分は、約１０００Ｈｚ（パルス列の１／周期）を中心とする大量の周波数を含み得るが、ある程度の低周波数（信号のＤＣ部分に関連付けられる）および少量の高周波も伴う。低周波数成分および高周波数成分は、両方とも、望ましくないさまざまなノイズの寄与に関連付けられる可能性があり、ハンドコントローラ１０３の位置および向きの導出に不正確さを引き起こす可能性がある。したがって、ＶＲシステム１００は、いくつかの実装形態では、バンドパスフィルタを含んでもよい。例示のパルス列に適用された例示のバンドパスフィルタの結果が、下のプロットに示される。
【００２４】
図３Ｂは、ミリ秒単位の時間に対するフィルタリングされた信号電圧をボルト単位で示すプロットである。フィルタリングされたパルス列の周期はフィルタリングされていないパルス列と同じであるが、振幅および位相が変わっている。ＬＵＴ１３８におけるパターンの位相を判断するのは、このバンドパスフィルタリングされたパルス列である。
【００２５】
上述のように、ハンドコントローラでの放射のシミュレーションは、ハンドコントローラ１０５がＨＭＤ１０５の放射源１３０から放射を受け取ることに応じて、ハンドコントローラの位置および向きを判断するために用いられるＬＵＴ１３８を構築するために必要である。上記の議論は、ハンドコントローラ１０３で受け取られる放射の空間的および時間的特性を示した。加えて、ＶＲシステム１００によって受信される実際の電気信号の正確なシミュレーションのために、受信機の特性も必要になる場合がある。
【００２６】
図４Ａは、ハンドコントローラ１０３におけるフォトダイオード放射検出器１４０（図１Ａ参照）の例示的なセットを示す。フォトダイオードは、事前に指定されたパターンでハンドコントローラ１０３の表面に沿って配置され、各フォトダイオードは、その表面に入射する放射に応じて独自の信号を生成する。
【００２７】
図４Ｂは、ハンドコントローラにおけるフォトダイオードの例示的な伝達関数のプロットである。このプロットでは、伝達関数はバンドパスフィルタに典型的であり、低周波数ｆＨおよび高周波数ｆＬより下では０である。このプロットは、さらに、フォトダイオードのノイズプロファイルを示しており、１／ｆノイズは臨界周波数ｆｃ＜ｆＨ未満であり、ＤＣノイズは臨界周波数ｆｃより上であると予想される。
【００２８】
図４Ｃは、フォトダイオードおよびバンドパスフィルタの概略回路図である。回路図には、２つのオペアンプが示される。第１のオペアンプは拡散放射の入射パルスによって生成された信号を増幅し、第２のオペアンプは周囲光によって生成された電流を打ち消す。このような構成により、ハンドコントローラで用いられるフォトダイオードは、周囲光やその他のＤＣノイズに対して堅牢とされる。
【００２９】
ＶＲシステム１００がハンドコントローラ１０３を介して受信および処理される信号を判断すると、ＶＲシステム１００は次にハンドコントローラ１０３の位置を判断する。通常は、可能なハンドコントローラの位置のセットは、ＶＲシステムの構成（たとえば、ハンドコントローラのＶＲシステムへの接続など）によって制約される。
【００３０】
図５Ａは、ハンドコントローラ位置の例示的な制限された空間を示す図である。図５Ａの制限された空間は、３次元座標空間において立体オブジェクトの形をとる。逆ピラミッドのような形をした立体オブジェクトは、ハンドコントローラが占有できる空間内のすべての可能な位置のセットを表す。この立体オブジェクトの各点には、その点に対してハンドコントローラを保持できる、可能なすべての向きのセットがある。離散サンプリングの場合、可能な各離散位置は、ボクセルまたはボリュームピクセル、つまり３次元ピクセルとして表される。図５Ｂ、図５Ｃ、および図５Ｄは、それぞれ、制限された空間の上面図、側面図、および正面図を示す。
【００３１】
図４Ａでは、典型的には、ハンドコントローラ１０３において複数のフォトダイオードがあることが想起される。各フォトダイオードは、ＶＲシステム用の独自のパルス列信号を生成する。ＬＵＴは最終的に各信号を個別に表してもよい。ＬＵＴ１３８は、例えば平均化することにより、複数の信号を単一の信号に結合してもよい。
【００３２】
図６は、ＨＭＤ１０５におけるＬＥＤからのパルス拡散放射の受け取りでハンドコントローラ１０３におけるフォトダイオードによって出力される例示的なパルス列を示す図である。この例では、９つのフォトダイオードがある。この例の各フォトダイオードは、図１Ｂに示す１２個のＬＥＤの各々から、それぞれの相異なる信号を生成する。各フォトダイオードはＬＥＤに対して異なる遠近関係を持つため、各フォトダイオードは異なる信号列を生成する。
【００３３】
図７は、例示的なＬＵＴ１３８を示す図である。図７に示すＬＵＴ１３９は、カラープロットとして表示されるが、実際にはボクセルインデックスと時間とでインデックス付けされた一連の離散パターンである。ボクセルインデックスは、ハンドコントローラが取り得る、可能な離散的な位置および向きの整数関数である。たとえば、ボクセルインデックスは、３つの位置座標（Ｘ、Ｙ、Ｚ）の各々と３つの角度座標（ピッチ、ヨー、ロール）との、丸められた重み付き一次結合であってもよい。これらの３つの位置座標および３つの角度座標は、ボクセルインデックスから一意に判断されるべきである。
【００３４】
図７のＬＵＴ１３８の各離散的要素は、ハンドコントローラに配置された各フォトダイオードに１つずつの、９つのパターンのセットである。これらのラインに沿って、ＡＤＣおよびバンドパスフィルタから出力される信号は２つの部分に分割される。第１の短い部分はパターンの時間または位相を判断するために用いられ、第２の長い部分は最適のボクセルインデックスを判断するために用いられる。図７に示すＬＵＴ１３８の場合、最適な行は、パターンの第１の部分を特定の列におけるパターンの各々にマッチングさせることに基づいて判断される。いくつかの構成では、時間は、たとえば列全体のパターンを平均することにより、複数の列にわたって最適な行を見つけることによって、判断される。次に、最適な行を検索して、最適なボクセルインデックスを見つける。
【００３５】
図８は、ハンドコントローラ１０３が取っている可能性が最も高い位置を判断する例示的なプロセスを示す図である。図８に示すように、フォトダイオードの配列は、各々、拡散放射のパルスの受信に応じて、それぞれのＡＤＣに信号を出力する。次いで、各ＡＤＣはデジタル信号を出力し、デジタル信号はデジタル信号プロセッサに入力されてノイズを軽減し、他の信号との干渉を検出する。次に、最終デジタル信号が検出され、ＬＵＴ１３８との相関演算に入力される。相関演算の出力は、図５に示すボクセルのヒートマップである。
【００３６】
ボクセルの３次元ヒートマップは、ボクセルインデックスを３次元オブジェクトにおける位置に逆マッピングした結果である。この３次元ヒートマップは、ボクセルで表される位置にハンドコントローラが存在する可能性を表す。図８に示す例では、明るい領域は、ハンドコントローラがとる可能性が最も高い位置を表し、暗い領域は、ハンドコントローラがとる可能性が最も低い位置を表す。
【００３７】
一部の実装形態では、相関演算によるヒートマップの生成を、各フォトダイオードで生成された信号をＬＵＴで表された信号で差分し、差分の二乗または絶対値を平均してメトリックを生成することにより行う。ヒートマップの色は、その場合、メトリックの値に基づいてもよい。
【００３８】
最も可能性の高い位置から、第２の３次元ヒートマップを、ボクセルインデックスに基づく向きについて、同様の方法で生成してもよく、ハンドコントローラの最も可能性の高い向きをこの第２のヒートマップから導出してもよい。
【００３９】
最も可能性の高い姿勢が３Ｄヒートマップから導出されると、ボクセルおよび外部信号によって引き起こされるノイズを除去するために、さらに時間的な追跡およびフィルタリングが行われる。次に、このフィルタリングされた結果は、特定の瞬間のハンドコントローラの姿勢としてＶＲシステム１００に入力される。
【００４０】
図９Ａは、フォトダイオード回路のトランスインピーダンス増幅器（ＴＩＡ）部分からＤＣノイズ電流を差し引くための回路トポロジーの例示的なセットを示す図である。示されている第１のトポロジー（「トポロジー１」）では、このようなＤＣ電流を差し引く追加の回路はなく、回路のゲインプロファイルには、周囲光に対する感度を表し得る非常に大きく不要な低周波数成分がある。示されている第２のトポロジー（「トポロジー２」）では、回路が変更され、分圧器の両側に２つの抵抗が配置される。このような分圧器は、ＴＩＡ出力から低周波電流を引き離すのに役立ち得る。その結果、低周波数での回路のゲインが減少し、第１のトポロジーよりも改善される。
【００４１】
第３のトポロジー（「トポロジー３」）は、ＴＩＡの出力に接続されＴＩＡにフィードバックされるサーボループを有する。その結果は、しきい値周波数を下回る０ゲインであり、低周波およびＤＣ電流がＴＩＡから必要に応じて打ち消されたことを示す。サーボループのさらなる詳細が図９ｂに示されている。
【００４２】
図９Ｂは、ＴＩＡにおいて低周波およびＤＣ電流を打ち消す図９Ａのサーボループを示す図である。サーボループは、ＴＩＡ出力に接続される第２のオペアンプと、オペアンプの出力に接続され、ＴＩＡに入力し戻されるローパスフィルタとを含む。低周波電流がオペアンプで受け取られ、低周波電流は誤差増幅器で低周波電圧を生成する。低周波電流の受け取りに応じて、オペアンプは低周波電圧と基準電圧との差に比例する制御電圧を生成する。次いで、制御電圧はローパスフィルタに入力され、制御電圧から負電流が生成される。負電流は、低周波数電流を分圧器単独よりも効果的にＴＩＡから引き抜く。
【００４３】
本明細書で開示する要素およびインターフェイスの１つまたは複数を複製し、並列に実装し、単数で実装し、組み合わせ、分割し、再構成し、省略し、除去し、および／または他の方法で実装することができる。さらに、開示される要素およびインターフェイスのいずれも、図１０に関連して以下で説明する例示的なプロセッサプラットフォームＰ００およびＰ５０などのプロセッサ、コンピュータおよび／またはプロセッサを有するマシンによって実装されてもよい。プロセッサの例には、回路、プログラマブルプロセッサ、ヒューズ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックデバイス（ＰＬＤ）、フィールドプログラマブルロジックデバイス（ＦＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、グラフィックス処理装置（ＧＰＵ）、中央処理装置（ＣＰＵ）、マイクロコントローラ、コントローラなどが含まれるが、これらに限定はされない。本明細書で開示される要素およびインターフェイスのいずれも、例えば、プロセッサ、コンピュータ、および／またはプロセッサを有するマシンのうちの１つまたは複数によって実行される命令、プログラムコード、機械可読命令などとして実装されてもよい。プロセッサ、コンピュータおよび／またはプロセッサを有するマシンを使用、構成および／またはプログラミングして、本明細書に開示される例を実行してもよい。例えば、例のいずれも、図１０に関連して以下で説明する例示的なプロセッサプラットフォームＰ００およびＰ５０などのプロセッサ、コンピュータおよび／またはプロセッサを有するマシンによってアクセス可能な有形および／または非一時的なコンピュータ可読媒体に格納された命令、プログラムコード、機械可読命令などで具現化されてもよい。機械可読命令には、たとえば、プロセッサ、コンピュータ、および／またはプロセッサを有するマシンに１つまたは複数の特定のプロセスまたは方法を実行させる命令が含まれる。図１０の要素の１つまたは複数を組み込んだこの特許の請求項が純粋にソフトウェアおよび／またはファームウェアの実装形態を保護するように読まれる場合、図１０の要素のうちの少なくとも１つは、本明細書により、ファームウェアおよび／またはソフトウェアなどの機械可読命令を記憶する有形の機械可読媒体などの有形の製造品を含むように明示的に定義される。
【００４４】
本明細書で開示される例示的な方法は、例えば、プロセッサ、コンピュータ、および／またはプロセッサを有する他のマシンによって実行される命令、プログラムコード、機械可読命令として実現されてもよい。プロセッサ、コントローラ、および／または図１０に示されているような他の任意の適切な処理デバイスは、例示的な方法を実行するよう使用、構成、および／またはプログラムされてもよい。例えば、それらは、図１０との関連で以下に論じられるもののような、プロセッサ、コンピュータおよび／またはプロセッサを有する他のマシンによってアクセス可能な有形および／または非一時的なコンピュータ可読媒体に格納された命令、プログラムコード、および／または機械可読命令において実施されてもよい。例示的な方法を実現する他の多くの方法が採用されてもよい。例えば、実行の順序を変更することができ、および／または説明したブロックおよび／または対話の１つまたは複数を変更、削除、再分割、または組み合わせることができる。加えて、例示的な方法のいずれかまたは全体は、例えば、別個の処理スレッド、プロセッサ、デバイス、離散的ロジック、回路などによって、順次および／または並列で実行されてもよい。
【００４５】
本明細書で用いられる「コンピュータ可読媒体」および「機械可読媒体」という用語は、伝搬信号を明示的に除外する。コンピュータ可読媒体または機械可読媒体の例には、揮発性および／または不揮発性メモリ、揮発性および／または不揮発性メモリデバイス、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、フラッシュドライブ、フロッピー（登録商標）ディスク、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ＲＡＭＢＵＳダイナミックランダムアクセスメモリ（ＲＤＲＡＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、電子的にプログラム可能なＲＯＭ（ＥＰＲＯＭ）、電子的に消去可能なＰＲＯＭ（ＥＥＰＲＯＭ）、ソリッドステート（ＳＳ）メモリ、ソリッドステートディスク（ＳＳＤ）、光学式ストレージディスク、光学式ストレージデバイス、磁気ストレージディスク、ネットワーク接続ストレージ（ＮＡＳ）デバイス、磁気ストレージデバイス、キャッシュ、および／または情報が任意の期間（例：長期間、永続的、短い瞬間、一時的なバッファリング、および／または情報のキャッシュ用に）格納されプロセッサ、コンピュータ、および／またはプロセッサを有する他のマシンからアクセスできるその他の記憶媒体の１つまたは任意の組み合わせが含まれるが、これらに限定はされない。
【００４６】
図１０は、ここに記載される技術とともに用いられてもよい汎用コンピュータデバイスＰ００および汎用モバイルコンピュータデバイスＰ５０の例を示す。コンピューティングデバイスＰ００は、ラップトップ、デスクトップ、タブレット、ワークステーション、携帯情報端末、テレビ、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピューティングデバイスといった、様々な形態のデジタルコンピュータを表わすことを意図している。コンピューティングデバイスＰ５０は、携帯情報端末、セルラー電話、スマートフォン、および他の同様のコンピューティングデバイスといった、様々な形態のモバイルデバイスを表わすことを意図している。ここに示すコンポーネント、それらの接続および関係、ならびにそれらの機能は例示であることが意図されているに過ぎず、本文書に記載のおよび／または請求項に記載の本発明の実現例を限定することを意図していない。
【００４７】
コンピューティングデバイスＰ００は、プロセッサＰ０２、メモリＰ０４、記憶装置Ｐ０６、メモリＰ０４および高速拡張ポートＰ１０に接続している高速インターフェイスＰ０８、ならびに低速バスＰ１４および記憶装置Ｐ０６に接続している低速インターフェイスＰ１２を含む。プロセッサＰ０２は、半導体ベースのプロセッサであることができる。メモリＰ０４は、半導体ベースのメモリであることができる。コンポーネントＰ０２，Ｐ０４，Ｐ０６，Ｐ０８，Ｐ１０およびＰ１２の各々は様々なバスを用いて相互に接続されており、共通のマザーボード上にまたは他の態様で適宜搭載され得る。プロセッサＰ０２は、コンピューティングデバイスＰ００内で実行される命令を処理可能であり、この命令には、ＧＵＩのためのグラフィック情報を高速インターフェイスＰ０８に結合されているディスプレイＰ１６などの外部入出力デバイス上に表示するためにメモリＰ０４内または記憶装置Ｐ０６上に記憶されている命令が含まれる。他の実現例では、複数のプロセッサおよび／または複数のバスが、複数のメモリおよび複数種類のメモリとともに必要に応じて用いられ得る。また、複数のコンピューティングデバイスＰ００が接続され得、各デバイスは（例えばサーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして）必要な動作の一部を提供する。
【００４８】
メモリＰ０４は情報をコンピューティングデバイスＰ００内に記憶する。一実現例では、メモリＰ０４は１つまたは複数の揮発性メモリユニットである。別の実現例では、メモリＰ０４は１つまたは複数の不揮発性メモリユニットである。また、メモリＰ０４は、磁気ディスクまたは光ディスクといった別の形態のコンピュータ読取可能媒体であってもよい。
【００４９】
記憶装置Ｐ０６は、コンピューティングデバイスＰ００に大容量記憶を提供可能である。一実現例では、記憶装置Ｐ０６は、フロッピー（登録商標）ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他のコンフィギュレーションにおけるデバイスを含む多数のデバイスといった、コンピュータ読取可能媒体であってもよく、または当該コンピュータ読取可能媒体を含んでいてもよい。コンピュータプログラムプロダクトが情報媒体内に有形に具体化され得る。また、コンピュータプログラムプロダクトは、実行されると上述のような１つ以上の方法を実行する命令を含み得る。情報媒体は、メモリＰ０４、記憶装置Ｐ０６、またはプロセッサＰ０２上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体である。
【００５０】
高速コントローラＰ０８はコンピューティングデバイスＰ００のための帯域幅集約的な動作を管理するのに対して、低速コントローラＰ１２はより低い帯域幅集約的な動作を管理する。そのような機能の割当ては例示に過ぎない。一実現例では、高速コントローラＰ０８はメモリＰ０４、ディスプレイＰ１６に（例えばグラフィックスプロセッサまたはアクセラレータを介して）、および様々な拡張カード（図示せず）を受付け得る高速拡張ポートＰ１０に結合される。当該実現例では、低速コントローラＰ１２は記憶装置Ｐ０６および低速拡張ポートＰ１４に結合される。様々な通信ポート（例えばＵＳＢ、ブルートゥース（登録商標）、イーサネット（登録商標）、無線イーサネット）を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータといったネットワーキングデバイスなどの１つ以上の入出力デバイスに、例えばネットワークアダプタを介して結合され得る。
【００５１】
コンピューティングデバイスＰ００は、図に示すように多数の異なる形態で実現されてもよい。例えば、コンピューティングデバイスＰ００は標準的なサーバＰ２０として、またはそのようなサーバのグループ内で複数回実現されてもよい。また、コンピューティングデバイスＰ００はラックサーバシステムＰ２４の一部として実現されてもよい。さらに、コンピューティングデバイスＰ００はラップトップコンピュータＰ２２などのパーソナルコンピュータにおいて実現されてもよい。あるいは、コンピューティングデバイスＰ００からのコンポーネントは、デバイスＰ５０などのモバイルデバイス（図示せず）内の他のコンポーネントと組合されてもよい。そのようなデバイスの各々がコンピューティングデバイスＰ００，Ｐ５０の１つ以上を含んでいてもよく、システム全体が、互いに通信する複数のコンピューティングデバイスＰ００，Ｐ５０で構成されてもよい。
【００５２】
コンピューティングデバイスＰ５０は、数あるコンポーネントの中でも特に、プロセッサＰ５２、メモリＰ６４、ディスプレイＰ５４などの入出力デバイス、通信インターフェイスＰ６６、およびトランシーバＰ６８を含む。また、デバイスＰ５０には、マイクロドライブまたは他のデバイスなどの記憶装置が提供されて付加的なストレージが提供されてもよい。コンポーネントＰ５０，Ｐ５２，Ｐ６４，Ｐ５４，Ｐ６６およびＰ６８の各々は様々なバスを用いて相互に接続されており、当該コンポーネントのいくつかは共通のマザーボード上にまたは他の態様で適宜搭載され得る。
【００５３】
プロセッサＰ５２は、メモリＰ６４に記憶されている命令を含む、コンピューティングデバイスＰ５０内の命令を実行可能である。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、例えば、ユーザインターフェイス、デバイスＰ５０が実行するアプリケーション、およびデバイスＰ５０による無線通信の制御といった、デバイスＰ５０の他のコンポーネントの協調を提供し得る。
【００５４】
プロセッサＰ５２は、ディスプレイＰ５４に結合された制御インターフェイスＰ５８およびディスプレイインターフェイスＰ５６を介してユーザと通信し得る。ディスプレイＰ５４は、例えば、ＴＦＴ  ＬＣＤ（薄膜トランジスタ液晶ディスプレイ）もしくはＯＬＥＤ（有機発光ダイオード）ディスプレイ、または他の適切なディスプレイ技術であり得る。ディスプレイインターフェイスＰ５６は、ディスプレイＰ５４を駆動してグラフィックおよび他の情報をユーザに提示するための適切な回路を含み得る。制御インターフェイスＰ５８はユーザからコマンドを受信し、当該コマンドをプロセッサＰ５２に提出するために変換し得る。さらに、外部インターフェイスＰ６２が、デバイスＰ５０と他のデバイスとの隣接通信を可能にするために、プロセッサＰ５２と通信した状態で提供されてもよい。外部インターフェイスＰ６２は、例えば、ある実現例では有線通信を提供し、他の実現例では無線通信を提供してもよく、また、複数のインターフェイスが用いられてもよい。
【００５５】
メモリＰ６４は情報をコンピューティングデバイスＰ５０内に記憶する。メモリＰ６４は、１つもしくは複数のコンピュータ読取可能媒体、１つもしくは複数の揮発性メモリユニット、または１つもしくは複数の不揮発性メモリユニットの１つ以上として実現され得る。さらに、拡張メモリＰ７４が提供され、例えばＳＩＭＭ（Single In Line Memory Module）カードインターフェイスを含み得る拡張インターフェイスＰ７２を介してデバイスＰ５０に接続されてもよい。このような拡張メモリＰ７４はデバイスＰ５０に余分のストレージスペースを提供し得るか、またはデバイスＰ５０のためのアプリケーションもしくは他の情報をさらに記憶し得る。具体的には、拡張メモリＰ７４は上述のプロセスを実行または補足するための命令を含み得、さらにセキュア情報を含み得る。ゆえに、例えば、拡張メモリＰ７４はデバイスＰ５０のためのセキュリティモジュールとして提供されてもよく、デバイスＰ５０のセキュアな使用を許可する命令でプログラムされてもよい。さらに、ハッキング不可能なようにＳＩＭＭカード上に識別情報を置くといったように、セキュアなアプリケーションが付加的な情報とともにＳＩＭＭカードを介して提供されてもよい。
【００５６】
メモリは、以下に記載のように、例えばフラッシュメモリおよび／またはＮＶＲＡＭメモリを含み得る。一実現例では、コンピュータプログラムプロダクトが情報媒体内に有形に具体化される。コンピュータプログラムプロダクトは、実行されると上述のような１つ以上の方法を実行する命令を含む。情報媒体は、メモリＰ６４、拡張メモリＰ７４、またはプロセッサＰ５２上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体であり、これは、例えばトランシーバＰ６８または外部インターフェイスＰ６２上で受信され得る。
【００５７】
デバイスＰ５０は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイスＰ６６を介して無線通信し得る。通信インターフェイスＰ６６は、とりわけ、ＧＳＭ（登録商標）音声通話、ＳＭＳ、ＥＭＳ、またはＭＭＳメッセージング、ＣＤＭＡ、ＴＤＭＡ、ＰＤＣ、ＷＣＤＭＡ（登録商標）、ＣＤＭＡ２０００、またはＧＰＲＳといった、様々なモードまたはプロトコル下の通信を提供し得る。そのような通信は、例えば無線周波数トランシーバＰ６８を介して起こり得る。さらに、ブルートゥース、Ｗｉ−Ｆｉ、または他のそのようなトランシーバ（図示せず）を用いるなどして、短距離通信が起こり得る。さらに、ＧＰＳ（全地球測位システム）レシーバモジュールＰ７０が付加的なナビゲーション関連および位置関連の無線データをデバイスＰ５０に提供し得、当該データはデバイスＰ５０上で実行されるアプリケーションによって適宜用いられ得る。
【００５８】
また、デバイスＰ５０は、ユーザから口頭情報を受信して当該情報を使用可能なデジタル情報に変換し得る音声コーデックＰ６０を用いて可聴的に通信し得る。音声コーデックＰ６０も同様に、例えばデバイスＰ５０のハンドセット内で、スピーカを介すなどしてユーザに可聴音を生成し得る。そのような音は音声電話からの音を含んでいてもよく、録音された音（例えば音声メッセージ、音楽ファイル等）を含んでいてもよく、さらに、デバイスＰ５０上で実行されるアプリケーションが生成する音を含んでいてもよい。
【００５９】
コンピューティングデバイスＰ５０は、図に示すように多数の異なる形態で実現されてもよい。例えば、コンピューティングデバイスＰ５０はセルラー電話Ｐ８０として実現されてもよい。また、コンピューティングデバイスＰ５０は、スマートフォンＰ８２、携帯情報端末、または他の同様のモバイルデバイスの一部として実現されてもよい。
【００６０】
図１１は、図１Ａに示される頭部装着型ディスプレイの例示的実現例である。図１１において、ＨＭＤ７００を装着しているユーザはポータブルハンドヘルド電子デバイス７０２を保持している。ハンドヘルド電子デバイス７０２は、例えば、ＨＭＤ７００によって生成される没入型仮想環境における対話のためにＨＭＤ７００とペアにされ通信することができるスマートフォン、コントローラ、ジョイスティック、または他のポータブルハンドヘルド電子デバイスとすることができる。ハンドヘルド電子デバイス７０２は、例えば、有線接続、または例えばＷｉＦｉもしくはＢｌｕｅｔｏｏｔｈ（登録商標）接続などの無線接続を介して、ＨＭＤ７００と動作可能に結合されるか、またはペアリングされることができる。ハンドヘルド電子デバイス７０２とＨＭＤ７００とのこのペアリングまたは動作可能な結合は、ハンドヘルド電子デバイス７０２とＨＭＤ７００との間の通信、およびハンドヘルド電子デバイス７０２とＨＭＤ７００との間のデータの交換を提供することができる。これにより、ハンドヘルド電子デバイス６０２は、ＨＭＤ７００によって生成された没入型仮想環境内で対話するためにＨＭＤ７００と通信するコントローラとして機能することが可能になる。すなわち、たとえば、ハンドヘルド電子デバイス７０２によって放出され、選択のために仮想オブジェクトもしくは機能に向けられたビームもしくは光線など、および／またはハンドヘルド電子デバイス７０２のタッチ面で受信された入力、および／またはハンドヘルド電子デバイス７０２の動きなどのような、ハンドヘルド電子デバイス７０２の操作は、ＨＭＤ７００によって生成される没入型仮想環境において、対応する選択、移動、または他の種類の対話に変換することができる。例えば、ＨＭＤ７００は、ハンドヘルド電子デバイス７０２とともに、上述のような仮想環境を生成してもよく、ハンドヘルド電子デバイス７０２は、上述の仮想環境内の仮想機能に対するユーザーのスケールまたは遠近感における変化をもたらすように操作されてもよい。
【００６１】
図１２Ａおよび図１２Ｂは、例えば図１１のユーザが着用するＨＭＤ７００などの例示的なＨＭＤの斜視図であり、図１２Ｃは、例えば図１１に示されるハンドヘルド電子デバイス７０２などの例示的なハンドヘルド電子デバイスを示す。
【００６２】
ハンドヘルド電子デバイス８０２は、デバイス８０２の内部コンポーネントが収容されるハウジング８０３と、ユーザがアクセス可能なハウジング８０３の外側のユーザインターフェイス８０４とを含むことができる。ユーザインターフェイス８０４は、ユーザタッチ入力を受信するように構成されたタッチセンシティブ面８０６を含むことができる。ユーザインターフェイス８０４は、例えば、作動ボタン、ノブ、ジョイスティックなど、ユーザによる操作のための他のコンポーネントも含むことができる。いくつかの実装形態では、ユーザインターフェイス８０４の少なくとも一部をタッチスクリーンとして構成することができ、ユーザインターフェイス８０４のその部分は、ユーザインターフェイスアイテムをユーザに表示し、また、タッチセンシティブ面８０６でユーザからタッチ入力を受信するように構成される。ハンドヘルド電子デバイス８０２は、例えば、ユーザインターフェイス８０４で受信されたユーザ入力に応じて、ハウジング８０３におけるポートを通して、例えばビームまたは光線などの光を選択的に発光するように構成された光源８０８を含むこともできる。
【００６３】
ＨＭＤ８００は、フレーム８２０に結合されるハウジング８１０を含むことができ、例えば、ヘッドホンに取り付けられるスピーカを含む音声出力装置８３０も、フレーム８２０に結合されてもよい。図８Ｂにおいて、ハウジング８１０の前部分８１０ａは、ハウジング８１０のベース部分８１０ｂから離れるように回転され、ハウジング８１０に収容されたコンポーネントのいくつかが見える。ディスプレイ８４０は、ハウジング８１０の前部分８１０ａの内部に面する側に取り付けられてもよい。前部分８１０ａがハウジング８１０のベース部分８１０ｂに対して閉位置にあるときに、レンズ８５０は、ハウジング８１０においてユーザの目とディスプレイ８４０との間に取り付けられてもよい。いくつかの実装形態では、ＨＭＤ８００は、ＨＭＤ８００の動作を容易にするよう、様々なセンサを含む検知システム８６０と、プロセッサ８９０および様々な制御システムデバイスを含む制御システム８７０とを含んでもよい。
【００６４】
いくつかの実装形態では、ＨＭＤ８００は、静止画像および動画像をキャプチャするようカメラ８８０を含んでもよい。カメラ８８０によってキャプチャされた画像は、現実世界、もしくは仮想環境に対する物理的環境における、ユーザおよび／もしくはハンドヘルド電子デバイス８０２の物理的位置の追跡を支援するために使用されてもよく、ならびに／またはディスプレイ８４０上においてパススルーモードでユーザに表示され、ＨＭＤ８００を取り外したり、もしくはそうでなければＨＭＤ８００の構成を変更してハウジング８１０をユーザの視線から移動させることなく、ユーザが一時的に仮想環境を離れて物理的環境に戻ることを可能にしてもよい。
【００６５】
いくつかの実装形態では、ＨＭＤ８００は、ユーザの目での注視を検出および追跡するための注視追跡装置８６５を含んでもよい。注視追跡装置８６５は、例えば、ユーザの目の画像、例えば、瞳孔のようなユーザの目の特定の部分の画像をキャプチャして、ユーザの注視の方向および移動を検出ならびに追跡するよう、画像センサ８６５Ａまたは複数の画像センサ８６５Ａを含んでもよい。いくつかの実装形態では、ＨＭＤ８００は、検出された注視が没入型仮想体験における対応する対話に変換されるべきユーザ入力として処理されるように構成されてもよい。
【００６６】
本明細書に記載のシステムおよび技術の様々な実現例は、デジタル電子回路、集積回路、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはそれらの組合せで実現され得る。これらの様々な実現例は、少なくとも１つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および／または解釈可能な１つ以上のコンピュータプログラムにおける実現例を含んでいてもよく、当該プロセッサは専用であっても汎用であってもよく、ストレージシステム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信するように、かつこれらにデータおよび命令を送信するように結合されている。
【００６７】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても公知）はプログラマブルプロセッサのための機械命令を含んでおり、高レベル手続きおよび／もしくはオブジェクト指向プログラミング言語で、ならびに／またはアセンブリ／機械言語で実現され得る。本明細書において使用する「機械読取可能媒体」「コンピュータ読取可能媒体」という用語は、機械命令および／またはデータをプログラマブルプロセッサに提供するために用いられる任意のコンピュータプログラムプロダクト、装置および／またはデバイス（例えば磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス（ＰＬＤ））を指し、機械命令を機械読取可能信号として受信する機械読取可能媒体を含む。「機械読取可能信号」という用語は、機械命令および／またはデータをプログラマブルプロセッサに提供するために用いられる任意の信号を指す。
【００６８】
ユーザとの相互作用を提供するために、本明細書に記載のシステムおよび技術は、情報をユーザに表示するためのディスプレイデバイス（例えばＣＲＴ（陰極線管）またはＬＣＤ（液晶ディスプレイ）モニタ）と、ユーザが入力をコンピュータに提供する際に使用可能なキーボードおよびポインティングデバイス（例えばマウスまたはトラックボール）とを有するコンピュータ上で実現され得る。他の種類のデバイスを用いてユーザとの相互作用を提供することもでき、例えば、ユーザに提供されるフィードバックは任意の形態の感覚フィードバック（例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバック）であり得、ユーザからの入力は、音響、スピーチ、または触覚入力を含む任意の形態で受信され得る。
【００６９】
本明細書に記載のシステムおよび技術は、バックエンドコンポーネントを（例えばデータサーバとして）含む、またはミドルウェアコンポーネントを（例えばアプリケーションサーバとして）含む、またはフロントエンドコンポーネント（例えば、ユーザが上記のシステムおよび技術の実現例と相互に作用する際に使用可能なグラフィックユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータ）、またはそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組合せを含むコンピューティングシステムにおいて実現され得る。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信（例えば通信ネットワーク）によって相互に接続され得る。通信ネットワークの例として、ローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、およびインターネットが挙げられる。
【００７０】
コンピューティングシステムはクライアントおよびサーバを含み得る。クライアントおよびサーバは一般に互いにリモートであり、典型的に通信ネットワークを介して相互に作用する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されて互いにクライアント−サーバ関係を有するコンピュータプログラムによって生じる。
【００７１】
多数の実施形態を説明した。しかしながら、本発明の精神および範囲から逸脱することなく様々な変更がなされ得ることが理解されるであろう。
【００７２】
ある要素が他の要素の上にある、他の要素に接続されている、他の要素に電気的に接続されている、他の要素に結合されている、または他の要素に電気的に結合されていると称される場合、それは他の要素の直接上にある、他の要素に直接接続される、もしくは他の要素に直接結合されてもよく、または１つ以上の介在要素が存在してもよいことも理解される。対照的に、ある要素が他の要素の直接上にある、他の要素に直接接続されている、または他の要素に直接結合されていると称される場合、介在する要素は存在しない。詳細な説明全体を通して、直接上にある、直接接続されている、または直接結合されているという表現は使用されない場合があるが、直接上にある、直接接続されている、または直接結合されていると図示されている要素は、そのように称され得る。本願の請求項は、明細書に記載されているかまたは図面に示されている例示的な関係を記載するよう補正される場合がある。
【００７３】
記載された実現例の特定の特徴が本明細書に記載されているように示されているが、当業者には多くの修正、置換、変更および均等物がここで思い浮かぶであろう。したがって、特許請求の範囲は、実現例の範囲内にあるすべてのそのような修正および変更を包含するように意図されていることを理解されたい。それらは限定ではなく単なる例として提示されたものであり、形態および細部の様々な変更がなされ得ることを理解されたい。相互排他的な組み合わせを除いて、本明細書に記載の装置および／または方法の任意の部分を、任意の組み合わせで組み合わせることができる。本明細書で説明される実現例は、説明される異なる実現例の機能、構成要素、および／または特徴の様々な組合せおよび／または下位組合せを含むことができる。
【００７４】
加えて、図面において示される論理フローは、望ましい結果を達成するために、示された特定の順序または連続する順序を必要としない。さらに、説明されたフローから、他のステップが与えられてもよく、またはステップが削除されてもよく、他の構成要素が、説明されたシステムに追加され、またはそこから除去されてもよい。従って、他の実施形態は以下の請求の範囲内にある。
【００７５】
実施形態の例：
実施形態１：
ハンドコントローラとヘッドマウントディスプレイ（ＨＭＤ）とを含む仮想現実（ＶＲ）システムにおいて、ハンドコントローラの位置および向きを追跡する方法であって、
処理回路が、ＨＭＤに配置された複数の放射トランスミッタからの拡散電磁放射のパルスを受け取ることと、
処理回路が、拡散電磁放射からデジタル信号を生成することと、
処理回路が、デジタル信号に基づいてハンドコントローラの位置および向きを取得することとを備える、方法。
【００７６】
実施形態２：
デジタル信号に基づいてハンドコントローラの位置および向きを取得することは、
デジタル信号をルックアップテーブル（ＬＵＴ）の複数の信号表現と比較することを含み、複数の信号表現の各々はハンドコントローラのそれぞれの位置および向きに対応する、実施形態１の方法。
【００７７】
実施形態３：
ＬＵＴの複数の信号表現の各所定の信号表現は、ＨＭＤに配置された複数の放射トランスミッタの各々に対するそれぞれの信号部分を含む、実施形態１または２の方法。
【００７８】
実施形態４：
ＬＵＴの複数の信号表現の各所定の信号表現は、拡散放射のパルスがＨＭＤの複数の拡散放射トランスミッタから送信される時間に対応する、実施形態２または３の方法。
【００７９】
実施形態５：
デジタル信号は、第１の部分と第２の部分とを含み、
デジタル信号をＬＵＴの複数の信号表現の所定の信号表現と比較することは、
拡散放射のパルスがＨＭＤの複数の拡散放射トランスミッタから送信される時間をデジタル信号の第１の部分に基づいて生成することと、
信号の第２の部分と、拡散放射のパルスがＨＭＤの複数の拡散放射トランスミッタから送信される時間とに基づいて、ハンドコントローラの位置および向きを生成することとを含む、実施形態４の方法。
【００８０】
実施形態６：
複数の拡散放射トランスミッタは、ＨＭＤ内に特定の角度パターンで配置される、実施形態２〜５のいずれか１つの方法。
【００８１】
実施形態７：
処理回路はフォトダイオードを含み、
方法は、さらに、ＨＭＤの各拡散放射トランスミッタからの照明に対するフォトダイオードの応答のシミュレーションを実行することにより、ＬＵＴをオフラインで生成することを備え、フォトダイオードの応答は、ノイズプロファイルと信号プロファイルとを有する伝達関数を有し、信号プロファイルは、上側周波数と下側周波数とを有する特定の周波数帯域外では０であり、ノイズプロファイルは信号プロファイルの周波数帯域の下側周波数を下回る臨界周波数を下回る１／ｆノイズを含む、実施形態２〜６のいずれか１つの方法。
【００８２】
実施形態８：
デジタル信号をＬＵＴの複数の信号表現と比較することは、
検出された拡散放射のパターンに対するＬＵＴの信号表現の近さを示すヒートマップを生成することを含み、ヒートマップは、信号表現が検出された拡散放射のパターンに対応するホット領域と、信号表現が検出された拡散放射のパターンに対応しないクール領域とを含み、デジタル信号をＬＵＴの複数の信号表現と比較することはさらに、
ヒートマップのホット領域において信号表現を選択することを含む、実施形態２〜７のいずれか１つの方法。
【００８３】
実施形態９：
ヒートマップは３次元位置空間にプロットされ、
ＬＵＴのホット領域内で信号表現を選択することは、ハンドコントローラの位置をヒートマップのホット領域における座標トリプレットとして識別することを含む、実施形態８の方法。
【００８４】
実施形態１０：
ＬＵＴのホット領域内で信号表現を選択することは、
ハンドコントローラの位置として識別されるヒートマップのホット領域内の座標トリプレットで第２のヒートマップを生成することをさらに含み、第２のヒートマップは３次元のピッチヨーロール角空間にプロットされ、第２のヒートマップは、信号表現が検出された拡散放射のパターンに対応するホット領域と、信号表現が検出された拡散放射のパターンに対応しないクール領域とを含み、ＬＵＴのホット領域内で信号表現を選択することはさらに、
第２のヒートマップのホット領域で信号表現を選択することを含む、実施形態９の方法。
【００８５】
実施形態１１：
ハンドコントローラは、（ｉ）拡散電磁放射のパルスから第１の電流を生成し、ＨＭＤに配置された複数の放射トランスミッタの外部の放射源から受け取った外部放射から第２の電流を生成するように構成されたトランスインピーダンス増幅器（ＴＩＡ）と、（ｉｉ）第２の電流を打ち消すように構成された誤差増幅器とを含み、
方法はさらに、
誤差増幅器で第２の電流を受け取ることをさらに備え、第２の電流は誤差増幅器で第２の電圧を生成し、方法はさらに、
第２の電流を受け取ることに応じて、第２の電圧と基準電圧との差に比例する制御電圧を生成することと、
制御電圧から負の電流を生成することとを備え、負の電流はＴＩＡから第２の電流を引き抜く、実施形態２から１０のいずれか１つの方法。
【００８６】
実施形態１２：
非一時的記憶媒体を備えるコンピュータプログラム製品であって、ヘッドマウントディスプレイ（ＨＭＤ）も含む仮想現実（ＶＲ）システムのハンドコントローラの処理回路によって実行されると、処理回路に方法を実行させるコードを含み、方法は、
ＨＭＤに配置された複数の放射トランスミッタからの拡散電磁放射のパルスを受け取ることと、
拡散電磁放射からデジタル信号を生成することと、
デジタル信号に基づいてハンドコントローラの位置および向きを取得することとを備える、コンピュータプログラム製品。
【００８７】
実施形態１３：
デジタル信号に基づいてハンドコントローラの位置および向きを取得することは、
デジタル信号をルックアップテーブル（ＬＵＴ）の複数の信号表現と比較することを含み、複数の信号表現の各々はハンドコントローラのそれぞれの位置および向きに対応する、実施形態１２のコンピュータプログラム製品。
【００８８】
実施形態１４：
ＬＵＴの複数の信号表現の各所定の信号表現は、ＨＭＤに配置された複数の放射トランスミッタの各々に対するそれぞれの信号部分を含む、実施形態１３のコンピュータプログラム製品。
【００８９】
実施形態１５：
ヘッドマウントディスプレイ（ＨＭＤ）とハンドコントローラとを含む仮想現実（ＶＲ）システムであって、
メモリと、
メモリに結合される制御回路とを備え、制御回路は、
ＨＭＤに配置された複数の放射トランスミッタからの拡散電磁放射のパルスを受け取り、
拡散電磁放射からデジタル信号を生成し、
デジタル信号に基づいてハンドコントローラの位置および向きを取得するよう構成される、仮想現実（ＶＲ）システム。
【図１Ａ】
2020518808.tif 000003
【図１Ｂ】
2020518808.tif 000004
【図１Ｃ】
2020518808.tif 000005
【図１Ｄ】
2020518808.tif 000006
【図２】
2020518808.tif 000007
【図３Ａ】
2020518808.tif 000008
【図３Ｂ】
2020518808.tif 000009
【図４Ａ】
2020518808.tif 000010
【図４Ｂ】
2020518808.tif 000011
【図４Ｃ】
2020518808.tif 000012
【図５Ａ】
2020518808.tif 000013
【図５Ｂ】
2020518808.tif 000014
【図５Ｃ】
2020518808.tif 000015
【図５Ｄ】
2020518808.tif 000016
【図６】
2020518808.tif 000017
【図７】
2020518808.tif 000018
【図８】
2020518808.tif 000019
【図９Ａ】
2020518808.tif 000020
【図９Ｂ】
2020518808.tif 000021
【図１０】
2020518808.tif 000022
【図１１】
2020518808.tif 000023
【図１２Ａ】
2020518808.tif 000024
【図１２Ｂ】
2020518808.tif 000025
【図１２Ｃ】
2020518808.tif 000026
【国際調査報告】
2020518808.tif 000027
2020518808.tif 000028
2020518808.tif 000029