(57)【特許請求の範囲】
【請求項１】
プロジェクタに対する光検出器の方位を判定するための方法であって、
プロジェクタのビーム発生器によって、ビームを生成することと、
複数の軸に関して正弦曲線で動作し、あるパターンを生成する微小電気機械システム（ＭＥＭＳ）ミラーを使用して、前記ビームの進行方向を修正することと、
前記光検出器によって、前記ビームを検出することと、
前記ビームが検出されたヒット時間を計算することと、
前記パターン及び前記ヒット時間に基づいて、前記プロジェクタに対する前記光検出器の３次元の方位を判定することと、
を含む、方法。
【請求項２】
前記パターンは、リサージュパターンである、請求項１に記載の方法。
【請求項３】
前記ビームは、レーザビームである、請求項１に記載の方法。
【請求項４】
前記パターン及び前記ヒット時間に基づいて前記光検出器の前記方位を判定することは、
前記パターンの開始時間、前記ＭＥＭＳミラーの第１の軸に沿った前記ＭＥＭＳミラーの周波数、前記ＭＥＭＳミラーの第２の軸に沿った前記ＭＥＭＳミラーの周波数、及び前記ヒット時間に基づいて、前記パターンの範囲内の前記ビームの場所を計算することと、
前記パターンの範囲内の前記ビームの前記場所に基づいて、前記プロジェクタの第１の軸、前記プロジェクタの第２の軸、及び前記プロジェクタの第３の軸に対する前記ビームの角度を判定することと、
を含む、請求項１に記載の方法。
【請求項５】
前記ビームを検出するコントローラによって生成されたクロック信号を前記プロジェクタによって生成されたクロック信号と同期させることをさらに含み、前記開始時間は、前記プロジェクタによって生成された前記クロック信号を使用して計算される、請求項４に記載の方法。
【請求項６】
前記ビームを検出するコントローラによって生成されたクロック信号を前記プロジェクタによって生成されたクロック信号と同期させることをさらに含む、請求項１に記載の方法。
【請求項７】
前記ビームを検出するコントローラによって生成されたクロック信号を前記プロジェクタによって生成されたクロック信号と同期させることをさらに含み、前記ヒット時間は、前記コントローラによって生成された前記クロック信号を使用して計算される、請求項１に記載の方法。
【請求項８】
プロジェクタに対する光検出器の方位を判定するためのシステムであって、
ビームを生成するように構成されるビーム発生器を含む前記プロジェクタであって、前記ビームの進行方向を修正するために、複数の軸に関して正弦曲線で動作し、あるパターンを生成するように構成される微小電気機械システム（ＭＥＭＳ）ミラーを含む、前記プロジェクタと、
前記プロジェクタと通信するコントローラであって、前記コントローラは、前記光検出器を有し、前記光検出器は、前記ビームを検出するように構成され、前記コントローラは、前記ビームが検出されたヒット時間を計算するように構成される、前記コントローラと、
前記プロジェクタ及び前記コントローラと通信するコンピューティングデバイスであって、前記パターン及び前記ヒット時間に基づいて、前記プロジェクタに対する前記光検出器の３次元の方位を判定するように構成される、前記コンピューティングデバイスと、
を備える、システム。
【請求項９】
前記パターンは、リサージュパターンである、請求項８に記載のシステム。
【請求項１０】
前記ビームは、レーザビームである、請求項８に記載のシステム。
【請求項１１】
前記パターン及び前記ヒット時間に基づいて前記光検出器の前記方位を判定するために、前記コンピューティングデバイスは、
前記パターンの開始時間、前記ＭＥＭＳミラーの第１の軸に沿った前記ＭＥＭＳミラーの周波数、前記ＭＥＭＳミラーの第２の軸に沿った前記ＭＥＭＳミラーの周波数、及び前記ヒット時間に基づいて、前記パターンの範囲内の前記ビームの場所を計算し、
前記パターンの範囲内の前記ビームの前記場所に基づいて、前記プロジェクタの第１の軸、前記プロジェクタの第２の軸、及び前記プロジェクタの第３の軸に対する前記ビームの角度を判定するように構成される、請求項８に記載のシステム。
【請求項１２】
前記コンピューティングデバイスは、前記ビームを検出するコントローラによって生成されたクロック信号を前記プロジェクタによって生成されたクロック信号と同期させるように構成され、前記開始時間は、前記プロジェクタによって生成された前記クロック信号を使用して計算される、請求項１１に記載のシステム。
【請求項１３】
前記コンピューティングデバイスは、前記ビームを検出するコントローラによって生成されたクロック信号を前記プロジェクタによって生成されたクロック信号と同期させるように構成される、請求項８に記載のシステム。
【請求項１４】
前記コンピューティングデバイスは、前記ビームを検出するコントローラによって生成されたクロック信号を前記プロジェクタによって生成されたクロック信号と同期させるように構成され、前記ヒット時間は、前記コントローラによって生成された前記クロック信号を使用して計算される、請求項８に記載のシステム。
【請求項１５】
システムであって、
光検出器を有するコントローラであって、前記光検出器は、ビームを検出し検出ビームヒット信号を生成するように構成され、前記コントローラは、前記ビームが検出されたヒット時間を計算するように構成される、前記コントローラと、
前記コントローラと通信するコンピューティングデバイスであって、微小電気機械システム（ＭＥＭＳ）ミラーの複数の軸に関する正弦曲線の動作から生成されたパターン及び前記ヒット時間に基づいて、ｘｙｚ座標系に対する前記ビームの３次元の方位を判定するように構成される、前記コンピューティングデバイスと、
を備える、システム。
【請求項１６】
前記パターンは、リサージュパターンである、請求項１５に記載のシステム。
【請求項１７】
前記ビームは、レーザビームである、請求項１５に記載のシステム。
【請求項１８】
前記パターン及び前記ヒット時間に基づいて前記ビームの前記方位を判定するために、前記コンピューティングデバイスは、
前記パターンの開始時間、前記ＭＥＭＳミラーの第１の軸に沿った前記ＭＥＭＳミラーの周波数、前記ＭＥＭＳミラーの第２の軸に沿った前記ＭＥＭＳミラーの周波数、及び前記ヒット時間に基づいて、前記パターンの範囲内の前記ビームの場所を計算し、
前記パターンの範囲内の前記ビームの前記場所に基づいて、前記ビームの前記方位を定義する複数の角度を判定するように構成される、請求項１５に記載のシステム。
【請求項１９】
前記コントローラは、ユーザによって装着されるように構成されるヘッドマウントディスプレイである、請求項１５に記載のシステム。
【請求項２０】
前記コンピューティングデバイスは、前記光検出器によって検出された前記ビームの前記方位及び前記コントローラの別の光検出器によって検出された前記ビームの方位に基づいて、前記光検出器の位置を判定するように構成される、請求項１５に記載のシステム。
【請求項２１】
複数のプロジェクタに対する光検出器の位置を判定するための方法であって、
プロジェクタのビーム発生器によって、ビームを生成することと、
複数の軸に関して正弦曲線で動作し、あるパターンを生成する微小電気機械システム（ＭＥＭＳ）ミラーを使用して、前記ビームの進行方向を修正することと、
前記光検出器によって、前記ビームを検出することと、
前記ビームが検出されたヒット時間を計算することと、
前記パターン及び前記ヒット時間に基づいて、前記プロジェクタに対する前記光検出器の３次元の方位を判定することと、
追加プロジェクタのビーム発生器によって、追加ビームを生成することと、
追加パターンを生成するように動作する追加ＭＥＭＳミラーを使用して、前記追加ビームの進行方向を修正することと、
前記追加ビームが検出された追加時間を計算することと、
前記追加パターン及び前記追加時間に基づいて、前記追加ビームの方位を判定することと、
前記ビームの前記方位及び前記追加ビームの前記方位に基づいて、前記プロジェクタに対する前記光検出器の位置を判定することと、
を含む、方法。
【請求項２２】
前記ＭＥＭＳミラーの動作から生成された前記パターンは、リサージュパターンであり、前記追加ＭＥＭＳミラーの動作から生成された前記追加パターンは、前記リサージュパターンまたはラスタ走査パターンである、請求項２１に記載の方法。
【請求項２３】
前記ビームは、レーザビームであり、前記追加ビームは、レーザビームである、請求項２１に記載の方法。
【請求項２４】
第１のビットパターンで前記ビームを変調することと、
第２のビットパターンで前記追加ビームを変調することと、
をさらに含む、請求項２１に記載の方法。
【請求項２５】
前記第１のビットパターンに基づいて、前記ビームが前記プロジェクタによって生成されたことを判定することと、
前記第２のビットパターンに基づいて、前記追加ビームが前記追加プロジェクタによって生成されたことを判定することと、
をさらに含む、請求項２４に記載の方法。
【請求項２６】
前記ビームを検出するコントローラによって生成されたクロック信号を前記プロジェクタによって生成されたクロック信号と同期させることをさらに含む、請求項２１に記載の方法。
【請求項２７】
前記ビーム及び前記追加ビームは、相互に時分割多重化される、請求項２１に記載の方法。
【請求項２８】
複数のプロジェクタに対する光検出器の位置を判定するシステムであって、
ビームを生成するように構成されるビーム発生器を含むプロジェクタであって、前記ビームの進行方向を修正するために、複数の軸に関して正弦曲線で動作し、あるパターンを生成するように構成される微小電気機械システム（ＭＥＭＳ）ミラーを含む、前記プロジェクタと、
前記プロジェクタと通信するコントローラであって、前記コントローラは、光検出器を有し、前記光検出器は、前記ビームを検出するように構成され、前記コントローラは、前記ビームが検出されたヒット時間を計算するように構成される、前記コントローラと、
前記プロジェクタ及び前記コントローラと通信するコンピューティングデバイスであって、前記パターン及び前記ヒット時間に基づいて、前記プロジェクタに対する前記光検出器の３次元の方位を判定するように構成される、前記コンピューティングデバイスと、
前記コンピューティングデバイスと通信する追加プロジェクタであって、追加ビームを生成するように構成されるビーム発生器を含む、前記追加プロジェクタと、を備え、
前記追加プロジェクタは、前記追加ビームの進行方向を修正するために、追加パターンを生成するように動作するように構成される追加微小電気機械システム（ＭＥＭＳ）ミラーを含み、
前記コントローラは、前記追加ビームが検出された追加時間を計算するように構成され、
前記コンピューティングデバイスは、前記追加パターン及び前記追加時間に基づいて、前記追加ビームの方位を判定するように構成され、
前記コンピューティングデバイスは、前記ビームの前記方位及び前記追加ビームの前記方位に基づいて、前記プロジェクタに対する前記光検出器の位置を判定するように構成される、システム。
【請求項２９】
前記ＭＥＭＳミラーの動作から生成された前記パターンは、リサージュパターンであり、前記追加ＭＥＭＳミラーの動作から生成された前記追加パターンは、前記リサージュパターンまたはラスタ走査パターンである、請求項２８に記載のシステム。
【請求項３０】
前記ビームは、レーザビームであり、前記追加ビームは、レーザビームである、請求項２８に記載のシステム。
【請求項３１】
前記プロジェクタは、第１のビットパターンで前記ビームを変調するように構成され、
前記プロジェクタは、第２のビットパターンで前記追加ビームを変調するように構成される、
請求項２８に記載のシステム。
【請求項３２】
前記コンピューティングデバイスは、前記第１のビットパターンに基づいて、前記ビームが前記プロジェクタによって生成されたことを判定し、
前記コンピューティングデバイスは、前記第２のビットパターンに基づいて、前記追加ビームが前記追加プロジェクタによって生成されたことを判定する、
請求項３１に記載のシステム。
【請求項３３】
前記コンピューティングデバイスは、前記ビームを検出するコントローラによって生成されたクロック信号を前記プロジェクタによって生成されたクロック信号と同期させるように構成される、請求項２８に記載のシステム。
【請求項３４】
前記ビーム及び前記追加ビームは、相互に時分割多重化される、請求項２８に記載のシステム。
【請求項３５】
システムであって、
ビームを検出するように構成される光検出器を有するコントローラであって、前記ビームが検出されたヒット時間を計算するように構成される、前記コントローラと、
前記コントローラと通信するコンピューティングデバイスであって、微小電気機械システム（ＭＥＭＳ）ミラーの複数の軸に関する正弦曲線の動作から生成されたパターン及び前記ヒット時間に基づいて、前記ビームの３次元の方位を判定するように構成される、前記コンピューティングデバイスと、を備え、
前記コントローラは、追加ビームを検出し、追加ビームヒット信号を生成するように構成され、前記コントローラは、前記追加ビームが検出された追加ヒット時間を計算するように構成され、
前記コンピューティングデバイスは、追加微小電気機械システム（ＭＥＭＳ）ミラーの動作から生成された追加パターン及び前記追加ヒット時間に基づいて、前記追加ビームの追加方位を判定するように構成され、
前記コンピューティングデバイスは、前記ビームの前記方位及び前記追加ビームの前記方位に基づいて、前記光検出器の位置を判定するように構成される、システム。
【請求項３６】
前記ＭＥＭＳミラーの動作から生成された前記パターンは、リサージュパターンであり、前記追加ＭＥＭＳミラーの動作から生成された前記追加パターンは、前記リサージュパターンまたはラスタ走査パターンである、請求項３５に記載のシステム。
【請求項３７】
前記ビームは、レーザビームであり、前記追加ビームは、レーザビームである、請求項３５に記載のシステム。
【請求項３８】
前記ビームは、第１のビットパターンでエンコードされ、前記追加ビームは、第２のビットパターンでエンコードされる、請求項３５に記載のシステム。
【請求項３９】
前記ビーム及び前記追加ビームは、相互に時分割多重化される、請求項３５に記載のシステム。
【請求項４０】
前記コントローラは、ヘッドマウントディスプレイである、請求項３５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コントローラの光検出器の方位を判定するために、微小電気機械システム（ＭＥＭＳ）ミラーを使用するためのシステム及び方法に関する。
【背景技術】
【０００２】
ビデオゲーム業界は、勢いが増している。時が経つにつれて、多くの人々が、装置(例えば、コントローラ、携帯電話、ヘッドマウントディスプレイ等）を使用して、ビデオゲームを楽しんでいる。ビデオゲームをプレイするために、ユーザの位置が判定されることがある。
【０００３】
本開示に説明される実施形態は、この文脈内に現れる。
【発明の概要】
【０００４】
一実施形態では、微小電気機械システム（ＭＥＭＳ）ミラーを含むシステムは、測定空間を横切ってビームを探知するために使用される。ビーム操縦の多くのパターンは、ＭＥＭＳミラーを使用することで可能になる。しかしながら、例として、リサージュ可変パターンが適用される。リサージュ可変パターンは、操作の共振モードでＭＥＭＳミラーを駆動させるためのものであり、例えば、ＭＥＭＳミラーの共振周波数よりも低いＭＥＭＳミラーのｙ軸に沿ってＭＥＭＳミラーを移動させ、ＭＥＭＳミラーの共振周波数よりも高いもＭＥＭＳミラーのｘ軸に沿ってＭＥＭＳミラーを移動させるためのものである。リサージュ可変パターンの繰り返しの基準が設定されている。ＭＥＭＳミラーが回転ミラーであるとき、測定（例えば、検出ビームヒット信号のパルス等）は、リサージュ可変パターンの既定の周波数（例えば、６０ヘルツ、５５ヘルツ〜６５ヘルツの範囲のもの等）に限定される。
【０００５】
ビームを使用することによって、全測定空間（例えば、体積等）は、このレートで１つまたは２つの回転ＭＥＭＳミラーで掃引される。ビームは、線よりも速く移動し、全測定空間を走査する。その共振周波数に近いＭＥＭＳミラーを駆動させることによって、ビームが使用され、ビームを追跡するための所望の更新レートに達することができる。ＭＥＭＳミラーは、ｘ軸及びｙ軸に沿ったＭＥＭＳミラーの移動周波数が共振ピークの数パーセント以内にある限り、共振モードで移動する。例えば、約１／１８０、１／２００、１／１７０等の、ｘ軸及びｙ軸に沿ったＭＥＭＳミラーの移動周波数のわずかな差異により、全測定空間を満たすリサージュ可変パターンが生成される。
【０００６】
線の代わりにビームを使用することによって、システムの同期タイミングは、ビームの方位を判定するために使用される。本システムは、１つ以上の光検出器を含む受信器（例えば、ヘッドマウントディスプレイ、ハンドヘルドコントローラ等）をさらに含み、本システムは、ビームの方位を判定するＭＥＭＳミラーを有するプロジェクタを含む。プロジェクタと受信器との両方のクロック信号は、ビーム方位を判定するために同期される。ある実施形態では、剛体トポロジの複数の光検出器または既知の基準値を伴う複数のプロジェクタは、三角形分割またはＰｅｒｓｐｅｃｔｉｖｅ−ｎ−Ｐｏｉｎｔの方法を容易にし、プロジェクタ（複数可）に対して光検出器（複数可）の３次元（３Ｄ）姿勢を判定する。
【０００７】
リサージュ可変パターンは、光検出器の検出ビームヒット信号のタイミングからビームの方位の導出を容易するために実行される。リサージュパターンに関連するＭＥＭＳミラーのビーム幅及び周波数幅の構成により、光検出器は、測定周期毎（例えば、リサージュパターン繰り返しの周波数等）に強度ピークを数回検出する。強度ピークのタイミングは、ビームの方位の良好な全平均化を可能にする。したがって、強度ピークのタイミングの精度においてノイズがある場合であっても、リサージュパターンの周波数の測定周期毎の強度ピークの既定数（例えば、３〜５等）を有することによって、ビームの方位を取得するためにノイズが減らされる。
【０００８】
一実施形態では、プロジェクタは、ビームとして、赤外光または可視光を生成する。
【０００９】
一実施形態において、複数のプロジェクタは、時分割多重化を行うように構成される。例えば、２つのプロジェクタがビームを交互に発射することにより、１つのプロジェクタは、リサージュ可変パターンの掃引を行い、その後、別の１つのプロジェクタが、リサージュ可変パターンの掃引を行う。
【００１０】
一実施形態では、時分割多重化は、微小な期間（例えば、操作の共振モードの周期等）で行われる。
【００１１】
ある実施形態では、同期を達成するために、リサージュパターンの各掃引中または掃引のわずかな期間中に、全ストロボ照明が使用される。一実施形態では、同期を達成するために、有線通信または無線周波数（ＲＦ）通信が使用される。
【００１２】
一実施形態では、繰り返しビットコードをビーム内に組み込むことによって、ビームが変調される。このように、光検出器は、数ビットの繰り返しビットコードを検出し、複数の一意にコード化されたプロジェクタを区別する。
【００１３】
ある実施形態では、繰り返しビットコードを判定する相関関係は、時間同期を改善することにより、光検出器によって検出されたときのビーム方位の測定を改善するために使用される。
【００１４】
時分割多重化の代替として、周波数分割多重化が使用される。例えば、２つの異なる光周波数が使用され、その後、フィルタが光検出器上に置かれることにより、光検出器の１つは、複数のプロジェクタのうちの第１のプロジェクタ（ただし、複数のプロジェクタのうちの第２のプロジェクタではないもの）から複数の周波数のうちの１つのものを検出し、光検出器の別の１つは、第２のプロジェクタ（ただし、第１のプロジェクタではないもの）から複数の周波数のうちの別の１つのものを検出する。第１及び第２のプロジェクタの両方は、同時に使用される。
【図面の簡単な説明】
【００１５】
【図１Ａ】ビームのビーム方位の判定を例示し、さらに、プロジェクタに対するヘッドマウントディスプレイ（ＨＭＤ）の位置を判定するための、システムの実施形態の図である。
【００１６】
【図１Ｂ】微小電気機械システム（ＭＥＭＳ）ミラーの移動周波数を例示する実施形態の図である。
【００１７】
【図２】ＨＭＤの代わりに、ハンドヘルドコントローラが、ビーム方向を判定し、さらに、プロジェクタに対するハンドヘルドコントローラの姿勢を判定するために、プロジェクタによって発射されるビームによって走査されることを例示する、システムの実施形態の図である。
【００１８】
【図３】本明細書に説明される１つ以上の操作を実行するプロセッサを含むコンピューティングデバイスを例示するブロック図である。
【００１９】
【図４Ａ】ビーム方位を判定するための方法の実施形態のフローチャートである。
【００２０】
【図４Ｂ】ビーム方位及びＨＭＤの姿勢を判定するための方法の実施形態のフローチャートである。
【００２１】
【図４Ｃ】図４Ｂのフローチャートの続きである。
【００２２】
【図４Ｄ】ビーム方位の判定を例示するシステムの実施形態の図である。
【００２３】
【図４Ｅ】ビームが生成された各時間がプロジェクタのｘｙｚ座標系に対するビームの異なる方位に対応することを例示する、システムの実施形態の図である。
【００２４】
【図５】リサージュパターンの実施形態の図である。
【００２５】
【図６Ａ】ビーム径内のビームヒットの場所を判定するために、光検出器の実際の場所に対する光検出器の測定場所を例示する、実施形態の図である。
【００２６】
【図６Ｂ】検出間に光検出器の感知可能な移動がないとき、リサージュパターンの一部の径及びリサージュパターンの別の部分の径の交点を使用して、ビームヒットの場所が判定されることを例示する、実施形態の図である。
【００２７】
【図６Ｃ】光検出器の移動があるとき、リサージュパターンの一部の径及びリサージュパターンの別の部分の径の交点を使用して判定されたビームヒットの場所の線形補正を例示する、実施形態の図である。
【００２８】
【図６Ｄ】リサージュカーブの公式に基づいたより一般化された補正であって、当該補正は単純な線形補正よりも正確であることを示す。
【００２９】
【図７Ａ】プロジェクタに対する光検出器の位置を判定する三角形分割法を例示するための及びビームがＨＭＤの光検出器によって検出されたプロジェクタの１つを識別するための複数のプロジェクタ間の時分割多重化を例示するための、実施形態の図である。
【００３０】
【図７Ｂ】Ｐｅｒｓｐｅｃｔｉｖｅ−ｎ−Ｐｏｉｎｔ等の方法を使用する単一のプロジェクタに対する光検出器の剛体トポロジの姿勢を判定する別の方法を例示するための、システムの実施形態の図である。
【００３１】
【図８Ａ】プロジェクタを識別するためにプロジェクタによって発射されるビームの変調を例示する、システムの実施形態の図である。
【００３２】
【図８Ｂ】ビームが光検出器を横切って移動するとき、ビームからビームヒットを検出すると、光検出器によって生成された検出ビームヒット信号の変調パルスの実施形態の図である。
【００３３】
【図８Ｃ】プロジェクタに関する最長系列（ＭＬＳ）ビットシーケンスがリサージュパターンに従って何度も繰り返すことを例示する図である。
【００３４】
【図８Ｄ】ＭＬＳビットシーケンスの一部を検出するコンピューティングデバイスのプロセッサによって適用される相関フィルタの実施形態の図である。
【００３５】
【図８Ｅ】ＭＬＳビットシーケンスの一部の一致を判定するために使用される相関フィルタへの閾値の適用を例示する、実施形態の図である。
【００３６】
【図８Ｆ】相関フィルタとＭＬＳビットシーケンスとの一致がリサージュパターンに従って何度も発生することを例示する、リサージュパターンの一部の実施形態の図である。
【００３７】
【図８Ｇ】検出されたＭＬＳビットシーケンスの長さがリサージュパターンの径内の光検出器の改善場所を判定するために使用されるＭＬＳシーケンス技術を例示する、リサージュパターンの一部の実施形態の図である。
【００３８】
【図９】あるデバイスと別のデバイスとの間のクロック信号の同期方法を例示する、システムの実施形態の図である。
【００３９】
【図１０】変調信号の周波数を光検出器によって生成された検出ビームヒット信号から抽出することによって、プロジェクタ及びＨＭＤのクロック信号を同期させるための方法の実施形態のフローチャートである。
【００４０】
【図１１】ビームの方位を判定するために、検出ビームヒット信号の強度を平均化するための方法を例示する、実施形態の図である。
【００４１】
【図１２】ＨＭＤ内で生成されたクロック信号をプロジェクタ内で生成されたクロック信号と同期させるための方法の実施形態のフローチャートである。
【００４２】
【図１３】ＨＭＤの実施形態の等角図である。
【００４３】
【図１４】ＨＭＤ及びハンドヘルドコントローラを使用することによって仮想環境とのユーザの相互作用を例示する、システムの実施形態の図である。
【００４４】
【図１５】ＨＭＤの実施形態の等角図である。
【００４５】
【図１６】コンピュータネットワークを介した、仮想環境のアクセスを例示するために使用される図である。
【００４６】
【図１７】仮想環境にアクセスするＨＭＤを装着するユーザを例示する。
【００４７】
【図１８】ＨＭＤの例示的構成要素を例示する図である。
【００４８】
【図１９】情報サービスプロバイダアーキテクチャの実施形態を例示する。
【００４９】
【図２０】複数の光検出器を有するＨＭＤの実施形態の図である。
【発明を実施するための形態】
【００５０】
図１Ａは、ビーム方向θの判定を例示し、さらに、プロジェクタ１０４に対するヘッドマウントディスプレイ（ＨＭＤ）１０２の位置を判定するための、システム１００の実施形態の図である。システム１００は、プロジェクタ１０４、ＨＭＤ１０２、コンピューティングデバイス１０７、及びハンドヘルドコントローラ１１５を含む。ＨＭＤ１０２は、ユーザ１０６の頭上に装着され、プロジェクタ１０４は、ユーザ１０６が位置する環境（例えば、部屋、居所等）内に位置する。
【００５１】
コンピューティングデバイス１０７は、リンク１０９を介して、ＨＭＤ１０２に連結される。本明細書に使用されるようなリンクの例は、有線リンク（例えば、ケーブル等）を含む。リンクの別の例は無線リンクである。例えば、コンピューティングデバイス１０７内に位置する無線通信デバイスは、無線通信プロトコル（Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、無線周波数（ＲＦ）プロトコル等）を利用し、ＨＭＤ１０２内に位置する無線通信リンクを用いて、無線リンクを介して通信する。
【００５２】
同様に、コンピューティングデバイス１０７は、リンク１１１を介して、プロジェクタ１０４に連結される。例えば、コンピューティングデバイス１０７内に位置する無線通信デバイスは、無線通信プロトコルを適用し、プロジェクタ１０４内に位置する無線通信デバイスを用いて、無線リンクを介して通信する。さらに、コンピューティングデバイス１０７は、リンク１１３を介して、ハンドヘルドコントローラ１１５に連結される。例えば、コンピューティングデバイス１０７内に位置する無線通信デバイスは、無線通信プロトコル等を適用し、ハンドヘルドコントローラ１１５内の無線通信リンクデバイスを用いて、無線リンクを介して通信する。
【００５３】
一実施形態では、本明細書に使用されるような無線通信リンクデバイスは、プロセッサである。
【００５４】
プロジェクタ１０４のビーム発生器１０８は、ビーム１１０を発射し、微小電気機械システム（ＭＥＭＳ）ミラー１１２によってＨＭＤ１０２に向かって反射される。ＭＥＭＳミラー１１２は、デバイス１１４（例えば、アクチュエータ、電磁アクチュエータ、熱アクチュエータ、磁石等）によって１つ以上の周波数で駆動される。例えば、ＭＥＭＳミラー１１２は、ＭＥＭＳミラー１１２のＸ軸に対して及び／またはＭＥＭＳミラー１１２のＹ軸に対して、移動（例えば、平行移動、回転、揺動等）するために駆動される。いくつかの実施形態では、ＭＥＭＳミラー１１２の軸（例えば、Ｘ軸、Ｙ軸等）は、プロジェクタの軸（例えば、Ｘ軸、Ｙ軸等）と異なることに留意されたい。ビーム発生器１０８の例は、レーザビーム光源、不可視光源、可視光源等を含む。ＭＥＭＳミラー１０８は、２軸ミラー（例えば、マイクロスキャナ等）である。一実施形態では、ドライバ１１４は、プロジェクタ１０４のプロセッサに接続され、プロジェクタ１０４のプロセッサは、制御信号をドライバ１１４に提供し、繰り返し周波数等（例えば、あるパターン（例えば、リサージュパターン、ラスタ走査パターン等）がＭＥＭＳミラー１１２によって繰り返される）で、ＭＥＭＳミラー１１２を駆動させる。制御信号を受信すると、ドライバ１１４は、電界（例えば、磁場、電場等）を生成し、ＭＥＭＳミラー１１２の移動を制御する。
【００５５】
ＭＥＭＳミラー１１２の移動により、ビーム１１０は、プロジェクタ１０４のｘ軸に対する角度θｘ、プロジェクタ１０４のｙ軸に対する角度θｙで、及びプロジェクタ１０４のｚ軸に対する角度θｚで反射する。いくつかの実施形態では、プロジェクタ１０４のｚ軸は、ＭＥＭＳミラー１１２の変位がないとき、ＭＥＭＳミラー１１２から反射された後に、ビーム１１０の方向によって定義される。角度θｘ、θｙ、及びθｚは、プロジェクタ１０４のｘｙｚ座標系の原点に対するビーム１１０の方位を提供する。ｘｙｚ座標系の原点は、プロジェクタ１０４のｘ軸、プロジェクタ１０４のｙ軸、及びプロジェクタ１０４のｚ軸の交点である。ｙ軸は、ｘ軸に垂直であり、ｘ軸とｙ軸との両方はｚ軸に垂直である。光検出器１０５ａによって検出されたときのビーム１１０の方位は、プロジェクタ１０４のｘｙｚ座標系の原点に対する光検出器１０５ａの方位を提供する。
【００５６】
複数の光検出器１０５ａ、１０５ｂ、１０５ｃ（例えば、フォトダイオード等）は、ＨＭＤ１０２の外面に（例えば、適合される、置かれる、添着される等）位置付けられ、ビーム１１０を検出し電気センサ信号を生成し、その後、その信号は、プロジェクタ１０４からのＨＭＤ１０２の姿勢（例えば、プロジェクタ１０４のｘｙｚ座標系の原点からビーム１１０に沿った距離等）及びｘｙｚ座標系に対するＨＭＤ１０２の方位を判定するために、コンピューティングデバイス１０７によって使用される。
【００５７】
一実施形態では、ＨＭＤ１０２は、ビーム１１０を感知するためにその外面上に任意の他の数の光検出器を含む。ＨＭＤ１０２の外面は、ＨＭＤ１０２の内面の反対側に位置することに留意されたい。ＨＭＤ１０２の内面は、ＨＭＤ１０２がユーザ１０２によって装着されるとき、ユーザ１０６の目に対面する。
【００５８】
ある実施形態では、リサージュパターンに代わりに、ラスタ走査が使用される。
【００５９】
一実施形態では、ビーム方向（例えば、角度θｘ、θｙ、及びθｚ等）は、水平軸（例えば、プロジェクタ１０４等のｘ軸、プロジェクタ１０４の垂直ｙ軸、及びプロジェクタ１０４の前方ｚ軸等）に対して測定される。
【００６０】
ある実施形態では、本明細書に説明されるプロバイダによって生成されたビームは、可視光ビーム、赤外光ビーム、または別の光周波数のビームである。
【００６１】
一実施形態では、プロジェクタ１０４に対する光検出器１０５ａにヒットするビームの方位は、ビーム１１０が光検出器１０５ａによって検出されたとき、プロジェクタ１０４の対応するｘ軸、ｙ軸、及びｚ軸に対してビーム１１０によって形成される角度θｘ、θｙ、及びθｚによって表される。
【００６２】
ある実施形態では、プロジェクタ１０４に対するＨＭＤ１０２の位置は、ｘｙｚ座標系の原点に対するＨＭＤ１０２の位置と同じである。さらに、プロジェクタ１０４に対するＨＭＤ１０２の方位は、ｘｙｚ座標系に対するＨＭＤ１０２の方位と同じである。
【００６３】
一実施形態では、広角は、ビーム１１０を掃引することによって取得される。例えば、ＭＥＭＳミラー１１２が十分な既定量の偏向がないとき、プロジェクタ１０４から広角でビーム１１０を出力するために、広角レンズがＭＥＭＳミラー１１２とプロジェクタ１０４の出力との間で使用される。
【００６４】
ある実施形態では、広角レンズのビーム広がりの影響が判定される。
【００６５】
一実施形態において、ビーム１１０は、ガウシアンビームとしてモデル化される。
【００６６】
ある実施形態では、リサージュパターンの他の部分と比較してまばらであるリサージュパターンの一部は、プロジェクタ１０４のｚ軸に沿っている。
【００６７】
一実施形態において、ビーム１１０は、間隙を避けるように空間を満たす。その空間は、ある環境の一部である。例えば、その空間は、ある環境内のビーム１１０の移動の範囲になる環境の量である。別の例として、その空間は、ＨＭＤ１０２の移動がビーム１１０の掃引によって検出された環境の量である。ビーム１１０によって満たされた空間の量は、ビーム１１０の径、プロジェクタ１０４からのビーム１１０の分岐、及び光検出器１０５ａの集合エリアに依存する。光検出器１０５ａの集合エリアは、ビーム１１０を検出する。ビーム１１０の径が増加することで、対象範囲の拡大を可能にするが、測定精度及びビーム１１０を生成する所要電力を犠牲にする。
【００６８】
一実施形態では、ビーム１１０の径の代わりに、またはそれに加えて、光検出器１０５ａの径は増加する。
【００６９】
ある実施形態では、光検出器１０５ａがビーム１１０に対して斜角にあり、または、ＨＭＤ１１２の設計によってさらに部分的に塞がれることにより、光検出器１０５ａは、ビーム１１０を検出することができない。光検出器１０５ａ上の任意のレンズキャップがなければ、ビーム１１０の光の平面円盤形状は、プロジェクタ１０４からそれるように光検出器１０５ａ上にかかるにつれ楕円になる。レンズキャップは、光検出器１０５ａの角感度を改善する。
【００７０】
ある実施形態では、ビーム１１０の分岐が光学投影円錐分岐に一致することにより、プロジェクタ１０４からの任意の特定の距離において、リサージュパターンは、同じ割合の満たされた空間を有する。しかしながら、一致が発生しない一実施形態では、例えば、プロジェクタ１０４から、１メートルの範囲で重なりがあり、３メートルの範囲で重なりがないなど、重なりの相違があることが把握される。
【００７１】
一実施形態では、ＨＭＤ１０２は、リンク１１７を介して、プロジェクタ１０４に連結される。
【００７２】
いくつかの実施形態では、用語「姿勢」及び「位置」は、本明細書で同義的に使用される。
【００７３】
図１Ｂは、ＭＥＭＳミラー１１２の様々な移動周波数を例示する、ＭＥＭＳミラー１１２の実施形態の図である。ＭＥＭＳミラー１１２は、周波数ｆ１でＭＥＭＳミラー１１２のＸ軸に対して（例えば、そのＸ軸を中心に）駆動され、周波数ｆ２でＭＥＭＳミラー１１２のＹ軸に対して駆動される。ある実施形態では、周波数ｆ２は、周波数ｆ１と異なる。例えば、ｆ１が３５０６０Ｈｚ（ヘルツ）であるとき、ｆ２は３５０００Ｈｚである。別の例として、ｆ１が３４，６２０Ｈｚであるとき、ｆ２は３４，５６０Ｈｚである。さらに別の例として、ｆ１がＭＥＭＳミラー１１２の共振周波数であるとき、ｆ２は共振周波数よりも遅くなる。さらに別の例として、ＭＥＭＳミラー１１２の共振周波数は、ｆ１及びｆ２の平均値である。
【００７４】
ｆ１がｆ２よりも相当な規定量だけ小さいとき、ＨＭＤ１０２の近似のラスタ走査がビーム１１０によって行われる。ｆ１がｆ２と実質的に同じであるとき、より対称なリサージュ走査パターンが現れる。
【００７５】
一実施形態では、ＭＥＭＳミラー１１２は、様々なモードで駆動される。例えば、ＭＥＭＳミラー１１２の大きい角変位で速く走査するために、あるモードは、ＭＥＭＳミラー１１２がドライバ１１４によって駆動される駆動周波数がＭＥＭＳミラー１１２の自然機械的共振に近い、共振モードである。したがって、リサージュパターンは、一定の時間フレームで空間の全対象範囲に関して効率的である。
【００７６】
図２は、ＨＭＤ１０２の代わりに、またはそれに加えて、ハンドヘルドコントローラ２０２が、角度θｘ、θｙ、及びθｚを含むビーム方位を判定し、さらに、プロジェクタ１０４に対するハンドヘルドコントローラ２０２の姿勢を判定するために、プロジェクタ１０４のビーム１１０によって走査されることを例示する、システム２００の実施形態の図である。本明細書に使用されるようなハンドヘルドコントローラの例は、ゲームコントローラ、ゲームパッド、パドル、ジョイスティック、トラックボール、ガン型コントローラ、弓型コントローラ、操縦ハンドル、ヨーク、キーボード、マウス、タブレット、携帯電話等を含む。一実施形態では、ＨＭＤ１０２は、コントローラの例である。
【００７７】
ハンドヘルドコントローラ２０２は、ビーム１１０を感知するために、その表面上に複数の光検出器２０４ａ及び２０４ｂ（例えば、フォトダイオード等）を有する。いくつかの実施形態では、ハンドヘルドコントローラ２０２は、ビーム１１０を感知するために、その表面上に任意の他の数の光検出器（例えば、３、４、５、１０、２０等）を含む。プロジェクタ１０４は、上記に説明されるものと同じ様式で動作し、ビーム１１０を生成し、プロジェクタ１０４に対して角度θｘ、θｙ、及びθｚでビーム１１０を導く。ハンドヘルドコントローラ２０２上の光検出器２０４ａは、ビーム１１０を感知し電気センサ信号を生成し、その後、その信号は、光検出器２０４ａがビーム１１０を感知すると、プロジェクタ１０４に対するビーム１１０の角度θｘ、θｙ、及びθｚを含む方位を判定されるために使用される。ビーム１１０が光検出器２０４ａによって感知されるときのプロジェクタ１０４に対するビーム１１０の方位は、プロジェクタ１０４のｘｙｚ座標系の原点に対する光検出器２０４ａの方位を提供する。そのとき、その方位は、プロジェクタ１０４のｘｙｚ座標系の原点から光検出器２０４ａの位置を判定するために使用される。このように、プロジェクタ１０４のｘｙｚ座標系に対するハンドヘルドコントローラ２０２の姿勢を判定するために、プロジェクタ１０４のｘｙｚ座標系に対する光検出器２０４ａ及び２０４ｂの方位が判定される。ハンドヘルドコントローラ上の少なくとも３つの光検出器が、ある技術（例えば、Ｐｅｒｓｐｅｃｔｉｖｅ−ｎ−Ｐｏｉｎｔ等）を使用して、プロジェクタの座標系に対する方向を把握しているとき、ハンドヘルドコントローラの姿勢が予測される。例示するために、光検出器１０５ａと１０５ｂとの間の距離の２乗は、ｌ２ａｂ＝ａ２＋ｂ２−２ａｂ（ｃｏｓθａｂ）として表される第１の関係式として表現される。式中、ａは、プロジェクタ１０４のｘｙｚ座標系の原点からの光検出器１０５ａの距離であり、ｂは、プロジェクタ１０４のｘｙｚ座標系の原点からの光検出器１０５ｂの距離であり、ｃｏｓは余弦関数であり、θａｂは、距離ａと距離ｂとの間の角度である。さらに、光検出器１０５ｂと１０５ｃとの間の距離の２乗は、ｌ２ｂｃ＝ｂ２＋ｃ２−２ｂｃ（ｃｏｓθｂｃ）として表される第２の関係式として表現される。式中、ｃは、プロジェクタ１０４のｘｙｚ座標系の原点からの光検出器１０５ｃの距離であり、θｂｃは、距離ｂと距離ｃとの間の角度である。また、光検出器１０５ａと１０５ｃとの間の距離の２乗は、ｌ２ａｃ＝ａ２＋ｃ２−２ａｂ（ｃｏｓθａｃ）として表される第３の関係式として表現される。式中、θａｃは、距離ａと距離ｃとの間の角度である。距離ｌａｂ、ｌｂｃ、及びｌａｃは、プロセッサ３０２によって事前に判定される。さらに、角度θａｃ、θｂｃ、及びθａｃは、プロジェクタ１０４のｘｙｚ座標系の原点に対する光検出器１０５ａ、１０５ｂ、及び１０５ｃの方位から、プロセッサ３０２によって判定される。プロセッサ３０２は、３つの関係式を解くことによって、距離ａ、ｂ、及びｃの値を求める。
【００７８】
ある実施形態では、プロジェクタ１０４に対するハンドヘルドコントローラ２０２の位置は、プロジェクタ１０４のｘｙｚ座標系の原点に対するハンドヘルドコントローラ２０２の位置と同じである。さらに、プロジェクタ１０４に対するハンドヘルドコントローラ２０２の方位は、プロジェクタ１０４のｘｙｚ座標系に対するハンドヘルドコントローラ２０２の方位と同じである。
【００７９】
ある実施形態では、ハンドヘルドコントローラ２０２は、ハンドヘルドコントローラ２０２が複数の光検出器２０４ａ、２０４ｂ他を含むことを除いて、ハンドヘルドコントローラ１１５（図１Ａ）と同じである。
【００８０】
図３は、本明細書に説明される１つ以上の操作（例えば、数学演算、演算動作、判定動作等）を行うコンピューティングデバイス１０７を例示するブロック図である。コンピューティングデバイス１０７は、プロセッサ３０２、メモリデバイス３０４、ネットワークインターフェースコントローラ３０６、ならびに複数の入力／出力（Ｉ／Ｏ）ポート３０８ａ、３０８ｂ、３０８ｃ、及び３０８ｄを含む。ネットワークインターフェースコントローラ３０６は、コンピュータネットワーク（例えば、ローカルエリアネットワーク（ＬＡＮ）、インターネット等の広域ネットワーク（ＷＡＮ）等）、またはそれらの組み合わせ等にアクセスするためのネットワークインターフェースカード（ＮＩＣ）を含む。Ｉ／Ｏポート３０８ａ〜３０８ｄのそれぞれの例は、シリアルポート、パラレルポート、ユニバーサルシリアルバス（ＵＳＢ）を含む。シリアルポートは、プロセッサ３０２とシリアルポートに連結されるＩ／Ｏデバイス（例えば、ＨＭＤ１０２、ハンドヘルドコントローラ１１５（図１Ａ）、プロジェクタ１０４（図１Ａ）等）との間で、連続様式（例えば、１回当たり１ビット等）でデータを転送する。パラレルポートは、プロセッサ３０２とパラレルポートに連結されるＩ／Ｏデバイスとの間で、並行様式（例えば、１回当たり複数のビット等）でデータを転送する。ＵＳＢポートは、ＵＳＢプロトコルを適用し、プロセッサ３０２とＵＳＢポートに連結されるＩ／Ｏデバイスとの間でデータを転送する。本明細書に使用されるようなプロセッサは、中央演算処理装置（ＣＰＵ）を指し、特定用途向け集積回路（ＡＳＩＣ）またはプログラム可能論理回路（ＰＬＤ）が使用され、これらの用語は、本明細書で同義的に使用される。本明細書に使用されるようなメモリデバイスの例は、読取専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ハードディスク、揮発性メモリ、不揮発性メモリ、冗長アレイ記憶ディスク、フラッシュメモリ等を含む。コンピューティングデバイスの例は、ゲーム機、デスクトップコンピュータ、ラップトップコンピュータ、多機能テレビ、タブレット、携帯電話等を含む。
【００８１】
一実施形態では、コンピューティングデバイス１０７は、ＨＭＤ１０２及び／またはプロジェクタ１０４によって、コンピュータネットワークを介してアクセス可能である。例えば、コンピューティングデバイス３００は、ネットワークまたはサーバラックの一部である。
【００８２】
ある実施形態では、コンピューティングデバイス１０７によって行われるような本明細書に説明される任意の処理操作は、クラウドネットワーク内で行われる。
【００８３】
図４Ａは、ｘｙｚ座標系の原点に対する光検出器１０５ａの方位を判定するための方法４００の実施形態のフローチャートである。ＨＭＤ１０２上に位置する光検出器１０５ａは、工程４０２において、ビーム１１０が光検出器１０５ａによって感知されるとき、検出ビームヒット信号（例えば、光線強度ピークを含むパルスを有する信号、光線極大を含むパルスを有する信号、電気センサ信号、最大振幅を含むパルスを有する信号等）を生成する。光検出器１０５ａは、検出ビームヒット信号をコンピューティングデバイス１０７のプロセッサ３０２に送信する。プロセッサ３０２は、工程４０４において、図４Ｂに関して下記に説明される方法４５０に従って、検出ビームヒット信号に基づいて、ｘｙｚ座標系の原点に対する光検出器１０５ａの方位を判定する。
【００８４】
図４Ｂは、プロジェクタ１０４のｘｙｚ座標系の原点に対する光検出器１０５ａの方位を判定するための方法４５０の実施形態のフローチャートである。プロジェクタ１０４（図１Ａ）からのビーム１１０の投影及びスキャニングの間、プロジェクタ１０４のクロックソース（例えば、水晶振動子、クロック発振器、クロック信号発生器等）によって生成されたクロック信号は、工程４５２において、ＨＭＤ１０２のクロックソース（例えば、水晶振動子、クロック発振器、クロック信号発生器等）によって生成されたクロック信号と連続的に同期されることに留意されたい。例えば、ＨＭＤ１０２のクロックソースによって生成されたクロック信号は、プロジェクタ１０４のクロックソースによって生成されたクロック信号との規定の位相差内にある。別の例として、ＨＭＤ１０２のクロック信号は、プロジェクタ１０４のクロック信号のものと同じ位相を有する。あるパターン（リサージュパターン、ラスタ走査パターン等）でのＭＥＭＳミラー１１２及びビーム１１０の移動場所は、光検出器１０５ａによって、プロジェクタ１０４内で生成されたクロック信号及びビーム１１０の検出時間（例えば、ビーム１１０のパルスのピーク強度の時間、パルスの最大振幅の時間、パルスの振幅ピークの時間等）を使用して判定される。ビーム１１０の検出時間は、ＨＭＤ１０２内で生成されたクロック信号によって測定される。
【００８５】
プロジェクタ１０４内で生成されたクロック信号とＨＭＤ１０２内で生成されたクロック信号との同期は、コンピューティングデバイス１０７のプロセッサ３０２によって行われる。例えば、コンピューティングデバイス１０７のプロセッサ３０２は、リンク１１１（図１Ａ）を介してプロジェクタ１０４のプロセッサと通信し、プロジェクタ１０４のクロック信号の位相を受信する。プロジェクタ１０４のプロセッサは、プロジェクタ１０４のクロックソースに連結される。さらに、コンピューティングデバイス１０７のプロセッサ３０２は、リンク１０９（図１Ａ）を介してＨＭＤ１０２のプロセッサと通信し、ＨＭＤ１０２のクロック信号の位相を提供する。位相を受信すると、ＨＭＤ１０２のプロセッサは、信号をＨＭＤ１０２のクロックソースに送信し、ＨＭＤ１０２のクロック信号の位相を修正することにより、プロジェクタ１０４のクロック信号及びＨＭＤ１０２のクロック信号の位相は同期される。
【００８６】
一実施形態では、プロジェクタ１０４のプロセッサは、プロジェクタ１０４のクロックソースによって生成されたクロック信号の位相を、リンク１１７（例えば、プロジェクタ１０４とＨＭＤ１０２との間の無線周波数信号リンク、無線リンク、有線通信媒体等）を介して、ＨＭＤ１０２のプロセッサに送信する。ＨＭＤ１０２のプロセッサは、プロジェクタ１０４のクロック信号の位相を受信し、ＨＭＤ１０２のクロックソースによって生成されたクロック信号の位相を修正し、プロジェクタ１０４のクロック信号と一致させる。
【００８７】
ある実施形態では、ＨＭＤ１０２のプロセッサは、ＨＭＤ１０２のクロックソースによって生成されたクロック信号の位相を、プロジェクタ１０４とＨＭＤ１０２との間のリンク１１７を介して、プロジェクタ１０４のプロセッサに送信する。プロジェクタ１０４のプロセッサは、ＨＭＤ１０２のクロック信号の位相を受信し、プロジェクタ１０４のクロックソースによって生成されたクロック信号の位相を修正し、ＨＭＤ１０２のクロック信号の位相と一致させる。
【００８８】
一実施形態では、ＨＭＤ１０２及びプロジェクタ１０４のクロック信号は同期され、クロック信号の位相間の規定の位相差よりも小さくなる。
【００８９】
ある実施形態では、デバイス（例えば、ＨＭＤ１０２、プロジェクタ１０４等）のプロセッサは、別のデバイス（例えば、プロジェクタ１０４、ＨＭＤ１０２等）から受信されたクロック信号の位相を、そのデバイスの位相ロックループ（ＰＬＬ）に送信し、ＰＬＬは、その位相をそのデバイスによって生成されたクロック信号の位相に一致させる。
【００９０】
光検出器１０５ａは、検出ビームヒット信号をＨＭＤ１０２のプロセッサに送信する。ＨＭＤ１０２のプロセッサは、検出ビームヒット信号をアナログ形式からデジタル形式に変換し、デジタル形式のビームヒット信号タイミングを、リンク１０９（図１Ａ）を介して、コンピューティングデバイス１０７に送信する。さらに、ＨＭＤ１０２のプロセッサは、光検出器１０５ａ上のビーム１１０のヒット時間（例えば、ビーム１１０のパルスの最大振幅の発生時間、ビーム１１０のパルスの強度極大の発生時間、既定の限度を超えるビーム１１０の強度の増加時間、検出ビームヒット信号のパルスの生成時間等）を、ＨＭＤ１０２のクロックソースから取得し、ヒット時間を、リンク１０９を介して、コンピューティングデバイス１０７のプロセッサ３０２に送信する。コンピューティングデバイス１０７のプロセッサ３０２は、工程４５４において、検出ビームヒット信号及び光検出器１０５ａ上のビーム１１０のヒット時間を受信する。ビーム１１０のヒット時間は、ビーム１１０が光検出器１０５ａによって検出されＨＭＤ１０２のクロックソースによって測定される時間である。
【００９１】
プロセッサ３０２は、工程４５６において、ヒット時間及びパターンの開始時間に基づいて、ビーム１１０の場所を判定する。一実施形態では、パターンの開始時間は、プロジェクタ１０４のプロセッサから１１１（図１Ａ）を介してプロセッサ３０２によって取得され、ＭＥＭＳミラー１１２がパターンを作りまたは繰り返すように移動する時間である。プロジェクタ１０４のプロセッサは、パターンの開始時間を、プロジェクタ１０４のクロックソースから取得する。プロジェクタ１０４のクロックソースは、パターンの開始時間を測定する。パターン内のビーム１１０の場所の判定の例として、コンピューティングデバイス１０７のプロセッサ３０２は、パターンの開始時間、周波数ｆ１、周波数ｆ２、及びヒット時間から、パターン内のビーム１１０の場所を判定する。例示するために、コンピューティングデバイス１０７のプロセッサ３０２は、開始時間がパターン内のビーム１１０の初期場所に対応することを判定する。さらに、プロセッサ３０２は、初期場所がＭＥＭＳミラー１１２の周波数ｆ１及びｆ２によって変化し、ヒット時間においてパターン１１０上のビームの場所に達する。一実施形態では、周波数ｆ１及びｆ２と、ヒット時間と、開始時間と、パターン内のビーム１１０の場所との間の対応関係（例えば、１対１の関係等）は、コンピューティングデバイス１０７のメモリデバイス３０４内に記憶される。その対応関係はプロセッサ３０２によってアクセスされ、パターン内のビーム１１０の場所を開始時間、周波数ｆ１及びｆ２、及びヒット時間から判定する。
【００９２】
図４Ｃは、図４Ｂのフローチャート及び図４Ｂの方法４５０の続きである。工程４５８において、コンピューティングデバイス１０７のプロセッサ３０２は、プロジェクタ１０４のｘｙｚ座標系の原点に対する光検出器１０５ａの方位をそのパターンの場所から判定する。例えば、図４Ｄに示されるように、プロジェクタ１０４及びＨＭＤ４７０のクロック信号は同期される。ＨＭＤ４７０は、ＨＭＤ１０２（図１Ａ）の例である。ビーム１１０がパターンに従うように、プロジェクタ１０４は、時間Ｔ１〜Ｔ８においてビーム１１０を発射する。時間Ｔ１〜Ｔ８は、プロジェクタ１０４のクロックソースによって測定される。各時間Ｔ１〜Ｔ８は、プロジェクタ１０４のｘｙｚ座標系に対するビーム１１０の異なる方位に対応する。ビーム１１０の生成は、簡単に説明するために、プロジェクタ１０４のｙ軸に沿って示されることに留意されたい。ビーム１１０は、図４Ｄのｘｙｚ座標系によって示されるような、プロジェクタ１０４のｘ軸、またプロジェクタ１０４のｙ軸に沿ってパターンを形成するように走査する。光検出器１０５ａは、時間Ｔ３において、ビーム１１０を検出する。図４Ｅを参照して例示されるように、時間Ｔ３で、１対１の対応関係（例えば、マッピング、関係式、リンク等）に基づいて、コンピューティングデバイス１０７のプロセッサ３０２は、ビーム１１０の方位がプロジェクタ１０４のｘｙｚ座標系の原点に対する角度θｘ１、θｙ１、及びθｚ１であることを判定する。パターンの繰り返し毎に、ヒット時間と、角度θｘ、θｙ、及びθｚと、パターン内のビーム１１０の場所との間に１対１の対応関係がある。そのとき、ユーザ１０６は、プロジェクタ１０４のｘｙｚ座標系の原点に対してＨＭＤ１０２を移動させるように動く。ＨＭＤ１０２の移動後、光検出器１０５ａは、時間Ｔ４において、ビーム１１０を検出する。時間Ｔ４での１対１の対応関係から、プロセッサ３０２は、ビーム１１０の方位がプロジェクタ１０４のｘｙｚ座標系の原点に対して角度θｘ２、θｙ２、及びθｚ２にあることを判定する。
【００９３】
図４Ｅに示されるように、ＨＭＤ４７０の光検出器のそれぞれは、ＨＭＤ１０２の例であるＨＭＤ４７０の前面に対して角度付けられる。例えば、光検出器１０５ａは、ＨＭＤ４７０のｙ軸に対して角度Φ１を形成するように角度付けられる。ＨＭＤ４７０のｙ軸の方位は、ＨＭＤ４７０の移動とともに変化する。
【００９４】
図４Ｃに戻ってそれを参照すると、プロセッサ３０２はさらに、工程４６０において、ビーム１１０を検出する光検出器１０５ａがビーム１１０に沿ったいずれかの場所に位置することを判定する。プロセッサ３０２は、工程４６２において、下記に説明される三角形分割法を適用し、プロジェクタ１０４（図１Ａ）のｘｙｚ座標系に対する光検出器１０５ａの位置を判定する。
【００９５】
いくつかの実施形態では、ＨＭＤ４７０の前面に対して角度付けられてない（例えば、平行であるなど）光検出器の方位から、ビーム１１０が既定のビーム１１０のものと同じであると判定する。これらの実施形態では、光検出器及びビーム１１０の方位は、プロジェクタ１０４のｘｙｚ座標系に対して角度付けられる。様々な実施形態では、ＨＭＤ４７０の前面に対して角度付けられた光検出器の方位は、ＨＭＤ４７０の前面に対して光検出器によって形成される角度と、プロジェクタ１０４のｘｙｚ座標系に対してビーム１１０によって形成される角度との組み合わせである。
【００９６】
図４Ｄは、プロジェクタ１０４に対する光検出器１０５ａの方位の判定を例示するシステムの実施形態の図である。図４Ｄに例示されるようなシステムは、ＨＭＤ４７０及びプロジェクタ１０４を含む。プロジェクタ１０４は、走査中に、時間Ｔ１〜Ｔ８においてビーム１１０を発射してパターンを形成し、ビーム１１０がＨＭＤ４７０の１つ以上の光検出器によって検出される。
【００９７】
図４Ｅは、ビーム１１０が生成された各時間Ｔ１〜Ｔ８がプロジェクタ１０４のｘｙｚ座標系に対するビーム１１０の異なる方位に対応することを例示する、システムの実施形態の図である。例えば、時間Ｔ３は、角度θｘ、θｙ、及びθｚの値の第１の組み合わせに対応し、時間Ｔ４は、角度θｘ、θｙ、及びθｚの値の第２の組み合わせに対応する。第１の組み合わせの少なくとも１つの値は、第２の組み合わせの少なくとも１つの対応する値と異なることに留意されたい。例えば、第１の組み合わせの角度θｘの値は、第２の組み合わせの角度θｘの値と異なり、及び／または第１の組み合わせの角度θｙの値は、第２の組み合わせの角度θｙの値と異なり、及び／または第１の組み合わせの角度θｚの値は、第２の組み合わせの角度θｚの値と異なる。
【００９８】
図５は、リサージュパターン５００の実施形態の図である。リサージュパターン５００は、中央領域５０２及びエッジ領域５０４を含む。示されるように、中央領域５０２内のリサージュパターン５００の交差角度は、エッジ領域５０４内のリサージュパターン５００の交差角度よりも大きい。例えば、リサージュパターン５００の部分５０６ａとリサージュパターン５００の部分５０６ｂとの間の角度は、リサージュパターン５００の部分５０６ｂと部分５０６ｃとの間の角度よりも大きい。例えば、中央領域５０２内の部分５０６ａと部分５０６ｂとの間の角度は、８０度〜９０度であり、エッジ領域５０４内の部分５０６ｂと部分５０６ｃとの間の角度は、４５度未満である。別の例として、エッジ領域５０４内のリサージュパターン５００の部分５１０ａとエッジ領域５０４内のリサージュパターン５００の部分５１０ｂとの間の角度は、４５度未満である。
【００９９】
リサージュパターン５００は、プロジェクタ１０４のｘｙｚ座標系に対してビーム１１０の角変位がゼロである原点に５１２を有する。リサージュパターン５００は、原点５１２で始まり、原点５１２で終了し、その後、連続的方法で繰り返す。
【０１００】
ある実施形態では、リサージュパターン５００は、ＭＥＭＳミラー１１２のＸ軸に沿ったものについて、
ｘ＝Ａｓｉｎ（ω１ｔ＋δ）．．．（方程式１）として表され、
ＭＥＭＳミラー１１２のＹ軸に沿ったものについて、
ｙ＝Ｂｓｉｎ（ω２ｔ）．．．（方程式２）として表される。
式中、ω１＝２πｔｆ１及びω２＝２πｔｆ２、ｔは時間であり、Ａは、ＭＥＭＳミラー１１２のＸ軸に沿ったリサージュパターン５００の振幅であり、Ｂは、ＭＥＭＳミラー１１２のＹ軸に沿ったパターン５００の振幅であり、δは、ＭＥＭＳミラー１１２のＹ軸と比較したＭＥＭＳミラー１１２のＸ軸に沿ったリサージュパターン５００の位相差である。
【０１０１】
一実施形態では、位相δは必要とされない。したがって、方程式（１）は、
ｘ＝Ａｓｉｎ（ω１ｔ）．．．（方程式３）になる。
ｆ１がｆ２よりも大きい実施形態では、リサージュパターン５００のフレームが繰り返される繰り返し周波数Ｆは、ｆ１とｆ２との間の差に等しい。ｆ１の値及び／またはｆ２の値は、リサージュパターン５００の密度である。
【０１０２】
図６Ａは、リサージュパターン５００のビームヒットの場所を判定するために、光検出器１０５ａの実際の場所６０４に対する光検出器１０５ａの測定場所６０２を例示する、実施形態の図である。光検出器１０５の測定場所６０２は、プロジェクタ１０４のｘｙｚ座標系の原点を基準にして判定される。ビーム１１０のリサージュパターン５００は、プロジェクタ１０５ａ上に入射されるように示され、リサージュパターン５００が続く方向をもたらすリサージュ軸６０６を有する。リサージュパターン５００の径は、ｄ１、例えば、１０ミリメートル、５ミリメートル、８ミリメートル等である。実際の場所６０４の代わりに、プロセッサ３０２は、リサージュ軸６０６に直交する軸６０８に沿ったいずれかの位置にある、プロジェクタ１０４のｘｙｚ座標系の原点に対する光検出器１０５ａの場所を判定する。例えば、プロセッサ３０２は、測定場所６０２の点である、プロジェクタ１０４のｘｙｚ座標系の原点に対する光検出器１０５ａの場所を判定する。測定場所６０２の点は、リサージュ軸６０６及び軸６０８の交点にある。軸６０８は、ビームヒットが検出された実際の場所６０４を通って延在する。このように、読み取りは、ビーム１１０の掃引に従った精度があるであろうが、ビーム１１０に直交するその精度は、ビーム１１０の直径ｄ１及び光検出器１０５ａのサイズ（例えば、直径等）に依存する。示されるように、光検出器１０５の直径は、ビーム１１０が続くリサージュパターン５００の直径ｄ１よりも小さい。
【０１０３】
図６Ｂは、示されるリサージュパターン掃引のそれぞれによって光検出器１０５ａの点灯の間に移動がないとき、リサージュパターン５００の部分５０６ａの直径ｄ１及び部分５０６ｂの直径ｄ１の交点を使用して、ビームヒットの場所が判定されることを例示する、実施形態の図である。ビームヒットの場所は、部分５０６ａの直径ｄ１及び部分５０６ｂの直径ｄ１の交点である実際の場所６０４である。光検出器１０５ａは、リサージュパターン５００の部分５０６ａの期間の時間Ｔ１において検出ビームヒット信号を生成し、リサージュパターン５００の部分５０６ｂの期間の時間Ｔ２において別の検出ビームヒット信号を生成する。部分５０６ａは、部分５０６ｂが横断する方向に対して、ある方向角（例えば、９０度、８０度〜９５度等）で横断する。さらに、リサージュパターン５００がその角度方向で横断するとき、光検出器１０５ａの移動がない。光検出器１０５ａがビームヒットを複数回検出するとき（例えば、時間Ｔ１及びＴ２等）、リサージュパターン５００のフレーム期間（例えば、実行の１周期等）、ビームヒットの場所が判定される。
【０１０４】
一実施形態では、リサージュパターン５００及び光検出器１０５ａのサイズが一致する場合（例えば、同じ直径、相互に既定範囲内の直径になるなど）、部分５０６ａが光検出器１０５ａを横切って掃引するとき（例えば、第１の掃引の期間等）、第１の検出ビームヒット信号は、フレーム期間に取得され、ビーム１１０が第１の掃引にほぼ直交して掃引するとき（例えば、第２の掃引の期間等）、第２の検出ビームヒット信号は、フレーム期間に取得される。部分５０６ｂが光検出器１０５ａを横切って掃引すると、第２の掃引が発生する。ＨＭＤ１０２のクロックソースは、第１の検出ビームヒット信号が生成された時間を測定し、第２の検出ビームヒット信号が生成された時間を測定する。プロセッサ３０２は、第１及び第２の検出ビームヒット信号に関連する時間から、プロジェクタ１０４のｘｙｚ座標系の原点に対する光検出器１０５ａの方位を判定する。例えば、プロセッサ３０２は、第１の検出ビームヒット信号が生成された時間に基づいて、プロジェクタ１０４のｘｙｚ座標系の原点に対するビーム１１０の対応する第１の方位を判定する。さらに、プロセッサ３０２は、第２の検出ビームヒット信号が生成された時間に基づいて、プロジェクタ１０４のｘｙｚ座標系の原点に対するビーム１１０の対応する第２の方位を判定する。プロセッサ３０２は、統計値（第１の方位と第２の方位との間にあるｄ１の交点の不確実性等）を計算し、プロジェクタ１０４のｘｙｚ座標系の原点に対するビーム１１０の方位を判定する。一実施形態では、プロセッサ３０２によって判定されたビーム１１０の方位は、プロジェクタ１０４のｘｙｚ座標系の原点に対する光検出器１０５ａのものと同じである。
【０１０５】
図６Ｃは、光検出器１０５ａの移動があるとき、リサージュパターン５００の部分５０６ａの直径ｄ１及び部分５０６ｂの直径ｄ１の交点を使用して、ビームヒットの場所が判定され、その場所が補正されることを例示する、実施形態の図である。リサージュパターン５００の部分５０６ａから部分５０６ｂへの移動の間に、光検出器１０５ａは、量６１０だけ、位置Ｐ１から位置Ｐ２に移動する。位置Ｐ１において、光検出器１０５ａは、リサージュパターン５００の部分５０６ａの期間の時間ｔａにおいて検出ビームヒット信号を生成し、位置Ｐ２において、光検出器１０５ｂは、リサージュパターン５００の部分５０６ａの期間の時間ｔｂにおいて別の検出ビームヒット信号を生成する。光検出器１０５ａが位置Ｐ１にあるときの直径ｄ１と、光検出器１０５ａが位置Ｐ２にあるときの直径ｄ１との交点は、プロジェクタ１０４のｘｙｚ座標系の原点に対する光検出器１０５ａの誤り位置である。誤り位置が移動６１０に基づいてプロセッサ３０２によって補正されることにより、誤り位置６１２の誤差６１４が除去され、プロジェクタ１０４のｘｙｚ座標系の原点に対する光検出器１０５ａの場所に達する。コンピューティングデバイス１０７のメモリデバイス３０４内に記録され及び慣性計測装置（ＩＭＵ）等（例えば、加速度計及びジャイロスコープ等）の他の測定センサとのセンサフュージョンの結果であり得る、光検出器１０５ａの事前に記憶された移動に基づいて、移動６１０は、プロセッサ３０２によって予測される。
【０１０６】
ある実施形態では、直径ｄ１の交点が使用された図６Ｂまたは図６Ｃを参照して上記に説明される方法は、光検出器１０５ａがリサージュパターン５００のエッジ領域５０４（図５）内のビーム１１０に直面するとき、プロジェクタ１０４のｘｙｚ座標系の原点に対する光検出器１０５ａの場所を判定するために使用される。
【０１０７】
図６Ｄは、光検出器１０５ａが静止しリサージュパターン５００のエッジ領域５０４（図５）内のビーム１１０に直面するとき、プロジェクタ１０４のｘｙｚ座標系の原点に対する光検出器１０５ａの場所の判定を例示するために、リサージュパターン５００の部分５１０ａ及び５１０ｂを示す。ビーム１１０を検出する光検出器１０５ａの場所は、部分５１０ａの区間ｉａ及び部分５１０ｂの区間ｉｂの交点６２０になることをプロセッサ３０２によって判定される。例えば、光検出器１０５ａがビーム１１０の区間ｉａの一部を検出したときの時間ｔｃにおいて、プロセッサ３０２は、リサージュパターン区分５１０ａの曲線軌道を計算し、同様に、光検出器１０５ａがビーム１１０の区間ｉｂの一部を検出したときの時間ｔｄにおいて、プロセッサ３０２は、リサージュパターン区分５１０ｂの曲線軌道を計算する。プロジェクタ１０４のｘｙｚ座標系の原点に対する光検出器１０５ａの測定場所は、２つの測定された曲線軌道（例えば、区分等）を交差させることによって、プロセッサ３０２によって計算される。
【０１０８】
図７Ａは、プロジェクタ１０４に対する光検出器１０５ａの位置を判定する三角形分割法を例示するためのシステム７００の実施形態の図である。システム７００は、プロジェクタ１０４及びプロジェクタ７０２（例えば、１つの代わりの２つのプロジェクタ等）を含む。プロジェクタ７０２は、構造及び機能において、プロジェクタ１０４と同じである。プロジェクタ１０４及びプロジェクタ７０２は、三角形分割の既知の基準値を提供するために、相互に対して、剛体及び既知のトポロジに固定される。プロジェクタ１０４から発射されたビーム１１０の方向は、プロジェクタ１０４のｚ軸に対して角度θａであり、プロジェクタ７０２から発射されたビーム７０４（例えば、レーザビーム、可視光ビーム、赤外光ビーム、不可視光ビーム等）の方向は、プロジェクタ７０２のｚ軸に対して角度θｂであり、角度θａとθｂとの両方は、方位を判定する工程４５８（図４Ｃ）を適用することによって、コンピューティングデバイス１０７のプロセッサ３０２によって判定される。プロジェクタ７０２は、プロジェクタ１０４のＭＥＭＳミラー１１２と同じであるＭＥＭＳミラーを含む。プロジェクタ７０２のｚ軸は、プロジェクタ７０２のｘ軸に垂直であり、プロジェクタ７０２のｚ軸とｘ軸との両方は、プロジェクタ７０２のｙ軸に垂直である。
【０１０９】
プロセッサ３０２は、三角形分割法を角度θａ及びθｂに適用させ、ビーム７０４とのビーム１１０の交点（または、２直線の最接近点）を判定し、交点がビーム１１０及び７０４を検出するＨＭＤ１０２の光検出器１０５ａの位置であることを判定する。光検出器１０５ａの位置は、プロジェクタ１０４のｘｙｚ座標系及び／またはプロジェクタ７０２のｘｙｚ座標系の原点に対して測定される。プロジェクタ７０２のｘｙｚ座標系は、プロジェクタ７０２のｘ軸、プロジェクタ７０２のｙ軸、及びプロジェクタ７０２のｚ軸を含む。
【０１１０】
ある実施形態では、プロジェクタ１０２及び７０２は、ビーム１１０及び７０４の時分割多重生成を行ない、ＨＭＤ１０２の光検出器１０５ａによって検出されたビーム１１０及び７０４の対応する１つのものから、プロジェクタ１０４及び７０２のうちの１つを識別する。プロジェクタ１０４は、リサージュパターン走査の周波数（例えば、リサージュパターンがＭＥＭＳミラー１１２によって繰り返される周波数等）である周波数（例えば、６０Ｈｚ等）において、ビーム１１０を発射する。その後、パターンがプロジェクタ１０４によって実行された後に、プロジェクタ１０４は、ビーム１１０の発射を停止し、プロジェクタ７０２は、ビーム１１０によって形成されるものと同じプロジェクタ７０２のＭＥＭＳミラーのパターンを形成するように、ビーム１０４が発射されたものと同じ周波数で、ビーム７０４を発射する。その後、パターンがビーム７０４によって形成された後、プロジェクタ７０２は、ビーム７０４の発射を停止し、プロジェクタ１０４は、ビーム７０４が発射されたものと同じ周波数でビーム１１０を発射する。これは、プロジェクタ１０４及び７０２が時分割多重を行う方法である。
【０１１１】
一実施形態では、６０Ｈｚの周波数での時分割多重の代わりに、プロジェクタ１０４及び７０２は、数千ヘルツの周波数（例えば、ＭＥＭＳミラー１１２がＭＥＭＳミラー１１２の共振周波数に対して移動する周波数）で時分割多重を行う。
【０１１２】
ある実施形態では、プロジェクタ１０４のプロセッサは、制御信号をコンピューティングデバイス１０７のプロセッサ３０２にリンク１１１を介して送信し、プロジェクタ１０４のビーム発生器１０８がビーム１１０の発射を停止させていることを示し、プロジェクタ７０２のプロセッサは、制御信号をプロセッサ３０２にリンク７０６（リンク１１１と同じ構造及び機能のもの）を介して送信し、プロジェクタ７０２のビーム発生器がビーム７０４の発射を停止させていることを示す。さらに、プロジェクタ１０４のプロセッサは、制御信号をコンピューティングデバイス３００のプロセッサ３０２にリンク１１１を介して送信し、プロジェクタ１０４のビーム発生器１０８がビーム１１０の発射を停止させていることを示し、プロジェクタ７０２のプロセッサは、制御信号をプロセッサ３０２にリンク７０６を介して送信し、プロジェクタ７０２のビーム発生器がビーム７０４の発射を停止させていることを示す。プロジェクタ１０４のプロセッサは、ビーム発生器１０８に連結され、プロジェクタ７０２のプロセッサは、プロジェクタ７０２のビーム発生器に連結される。プロジェクタ１０４によってプロセッサ３０２に送信される制御信号は、プロジェクタ１０４の識別情報を含み、プロジェクタ７０２によってプロセッサ３０２に送信される制御信号は、プロジェクタ７０２の識別情報を含む。制御信号をプロジェクタ１０４から受信すると、プロセッサ３０２は、プロジェクタ１０４をプロジェクタ１０４の識別情報から識別する。同様に、制御信号をプロジェクタ７０２から受信すると、プロセッサ３０２は、プロジェクタ７０２をプロジェクタ７０２の識別情報から識別する。
【０１１３】
ある実施形態では、コンピューティングデバイス１０７のプロセッサ３０２は、制御信号をプロジェクタ１０４及び７０２のプロセッサに送信し、プロジェクタ１０４のビーム発生器１０８をオンにし、プロジェクタ７０２のビーム発生器をオンにし、制御信号をプロジェクタ１０４及び７０２のプロセッサに送信し、プロジェクタ１０４のビーム発生器１０８をオフにし、プロジェクタ７０２のビーム発生器をオンにし、ビーム１１０及び７０４の時分割多重生成を行う。例えば、コンピューティングデバイス１０７は、制御信号をプロジェクタ１０４に送信し、ある時間（例えば、クロックサイクルの間、クロックサイクルの立ち上がりエッジの間、クロックサイクルの立ち下がりエッジの間等）で、プロジェクタ１０４をオンにし、同時に、制御信号をプロジェクタ７０２に送信し、プロジェクタ７０２をオフにする。別の例として、コンピューティングデバイス１０７は、制御信号をプロジェクタ７０２に送信し、ある時間（例えば、クロックサイクルの間、クロックサイクルの立ち上がりエッジの間、クロックサイクルの立ち下がりエッジの間等）で、プロジェクタ７０２をオンにし、同時に、制御信号をプロジェクタ１０４に送信し、プロジェクタ１０４をオフにする。プロジェクタのプロセッサは、制御信号を受信しプロジェクタをオンにし、制御信号をプロジェクタのビーム発生器のドライバ（例えば、１つ以上のトランジスタ等）に送信することにより、ドライバがオンになり、電流信号を生成し、ビーム発生器のビーム源（例えば、発光ダイオード（ＬＥＤ）灯、白熱灯、ネオン放電灯、ガス放電灯、キセノンアーク燈、レーザ発光体、電磁放射発光体、ガスレーザ光源、化学レーザ光源、固体レーザ光源、ファイバーレーザ光源、光子クリスタルレーザ光源、半導体レーザ光源、ダイオード等）を駆動させる。ビーム源をオンにするためのドライバから電流信号を受信すると、ビーム源は、光線を発射する。同様に、プロジェクタのプロセッサは、制御信号を受信しプロジェクタをオフにし、制御信号をプロジェクタのドライバに送信することにより、ドライバがオフになり電流信号を生成することを中断する。電流信号が生成されたことが中止されると、ビーム源は、光線を発射することをやめる。
【０１１４】
コンピューティングデバイス１０７は、リンク７０６を介して、プロジェクタ７０２に連結され、リンク７０６を介して、制御信号をプロジェクタ７０２に送信する。同様に、プロジェクタ７０２は、リンク７０６を介して、コンピューティングデバイス１０７と通信する。さらに、コンピューティングデバイス１０７は、リンク１１１を介して、制御信号をプロジェクタ１０４に送信する。同様に、プロジェクタ１０４は、リンク１１１を介して、コンピューティングデバイス１０７と通信する。
【０１１５】
いくつかの実施形態では、図４Ａ〜４Ｅを参照して上記に説明された方法は、プロジェクタ１０４とＨＭＤ１０２の代わりに、プロジェクタ７０２及びＨＭＤ１０２に適用可能であることに留意されたい。例えば、図４Ａの方法は、プロジェクタ７０２のｘｙｚ座標系に対するビーム７０４の方位を判定するために使用され、図４Ｂ及び図４Ｃを参照して説明された方法は、プロジェクタ７０２のｘｙｚ座標系に対するビーム７０４の方位と、プロジェクタ７０２のｘｙｚ座標系に対する光検出器１０５ａの位置とを判定するために使用される。
【０１１６】
図７Ｂは、プロジェクタ１０４に対する光検出器１０５ａの位置を判定する別の方法を例示するためのシステム７５０の実施形態の図である。光検出器１０５ａ、１０５ｂ、及び１０５ｃにビーム１１０がヒットすると、コンピューティングデバイス１０７のプロセッサ３０２は、検出ビームヒット信号の生成タイミングをＨＭＤ１０２のプロセッサから受信する。そのタイミングは、ＨＭＤ１０２のクロックソースによって測定され、ＨＭＤ１０２のクロックソースから、ＨＭＤ１０２のプロセッサによって取得される。プロセッサ３０２は、光検出器１０５ａ、１０５ｂ、及び１０５ｃの方位を、工程４５８（図４Ｃ）の方位の判定と同様の様式のタイミングから判定する。プロセッサ３０２は、Ｐｅｒｓｐｅｃｔｉｖｅ−ｎ−Ｐｏｉｎｔ等の方法を適用し、プロジェクタ１０４のｘｙｚ座標系の原点に対するＨＭＤ１０２の姿勢を推定する。
【０１１７】
図８Ａは、プロジェクタ１０４及び７０２を識別するためにビーム１１０及び７０４の変調を例示する、システム７００の実施形態の図である。プロジェクタ１０４の変調器（例えば、デジタル変調器等）は、プロジェクタ１０４のビーム発生器１０８のビーム源に連結され、プロジェクタ１０４のビーム源によって発射されるビームを、第１のビットコード（例えば、ビットパターン、Ｌビットシーケンス等（Ｌは２よりも大きい整数））で変調する。例えば、ビーム発生器１０８のビーム源によって発射されるビームは、ビットシーケンスで重ねられることにより、光検出器１０５ａによって生成された検出ビームヒット信号のパルスが、第１のＬビットシーケンスで重ねられる。プロジェクタ１０４のビーム源によって発射されるビームは、ビーム１１０を生成するために変調される。
【０１１８】
同様に、プロジェクタ７０２のビーム発生器のビーム源によって発射されるビームは、ビットシーケンスで重ねられることにより、ビーム７０４を検出するときの光検出器１０５ａによって生成された検出ビームヒット信号のパルスは、第２のビットコード（例えば、ビットパターン、第２のＬビットシーケンス等）で重ねられる。第２のビットコードは、第１のビットコードと異なる組み合わせを有し、ビーム７０４とビーム１１０を区別する。例えば、第１のシーケンスは、０１１００１１のビット組み合わせを有し、第２のシーケンスは、１００１１００のビット組み合わせを有する。プロジェクタ７０２の変調器（例えば、デジタル変調器等）は、プロセッサ７０２のビーム発生器のビーム源に連結され、プロジェクタ７０２のビーム源によって発射されるビームを、ビットシーケンスで変調することにより、光検出器１０５ａによって発射される検出ビームヒット信号のパルスが第２のビットコードでその上に重ねられる。第１及び第２のビットコードの例は、下記に与えられる。
【０１１９】
ある実施形態では、対応するビットシーケンスでの変調の後に生成されたビーム１１０とビーム７０４との両方は、常に発射される。例えば、プロジェクタ１０４のビーム発生器１０８及びプロジェクタ７０２のビーム発生器は、それらの各ビームを連続的に発射する。ビーム１１０及び７０４を生成するために、プロジェクタ１０４及び７０２による時分割多重が行われない。２つのビーム１１０及び７０４が同時に光検出器１０５ａにヒットする衝突は稀であり、これらの場合は、誤差ケースとして考慮しなくてもよい。
【０１２０】
一実施形態では、衝突を避けるために、対応するビットシーケンスでの変調の後に生成されたビーム１１０とビーム７０４との両方は、異なる時間で発射される。例えば、プロジェクタ７０２のビーム発生器がビーム７０４を発射しないとき、プロジェクタ１０４のビーム発生器１０８は、ビーム１１０を発射し、プロジェクタ７０２のビーム発生器がビーム７０４を発射するとき、プロジェクタ１０４のビーム発生器１０８は、ビーム１１０を発射しない。ビーム１１０及び７０４を生成するために、プロジェクタ１０４及び７０２による時分割多重が行われる。
【０１２１】
ビーム１１０及び７０４が光検出器１０５ａ上に入射すると、ＨＭＤ１０２の光検出器１０５ａは、ビーム１１０を検出して第１の検出ビームヒット信号を生成し、ビーム７０４を検出して第２の検出ビームヒット信号を生成する。光検出器１０５ａによって生成された第１及び第２の検出ビームヒット信号は、光検出器１０５ａからＨＭＤ１０２の復調器に提供される。ＨＭＤ１０２の復調器は、第１の検出ビームヒット信号を復調し、第１のＬビットシーケンスを第１の検出ビームヒット信号から抽出し、第２の検出ビームヒット信号ｂを復調し、第２のＬビットシーケンスを第２の検出ビームヒット信号から抽出する。コンピューティングデバイス１０７のプロセッサ３０２は、第１及び第２のＬビットシーケンスをＨＭＤ１０２の復調器からリンク１０９（図１Ａ）を介して受信し、第１のビットシーケンスが第２のビットシーケンスと比較して異なる組み合わせ（例えば、パターン等）を有することを判定し、第１の検出ビームヒット信号がプロジェクタ１０４によって生成されたビーム１１０から生成され、第２の検出ビームヒット信号がプロジェクタ７０２によって生成されたビーム７０４から生成されたことを判定する。プロジェクタ１１０及びプロジェクタ７０２と第１のシーケンス及び第２のシーケンスとの間の対応関係（例えば、マッピング、関連付け等）は、コンピューティングデバイス１０７のメモリデバイス３０４内に記憶される。例えば、プロジェクタ１０４の識別方法は、第１のビットシーケンスのものと同じ行にあり、プロジェクタ７０２の識別情報は、第２のビットシーケンスのものと同じ行にある。その対応関係はプロセッサ３０２によってアクセスされ、第１のシーケンスがプロジェクタ１０４またはプロジェクタ７０２によって生成されたかどうかを判定し、及び第２のシーケンスがプロジェクタ１０４またはプロジェクタ７０２によって生成されたかどうかを判定する。したがって、プロジェクタ１０４及び７０２は、プロセッサ３０２によって識別される。
【０１２２】
一実施形態では、一意のビットコードを有する変調器によって生成された変調信号の周波数は、高い（例えば、１００ＭＨｚ、９０ＭＨｚ、９０ＭＨｚ〜１１０ＭＨｚ、１ＧＨｚ以上等の周波数）。変調信号の例は、ビットシーケンス（例えば、第１のビットシーケンス、第２のビットシーケンス等）である。
【０１２３】
ある実施形態では、プロジェクタの変調器は、プロジェクタのプロセッサによって実行されるコンピュータソフトウェアであり、プロジェクタのビーム源によって生成されたビームを変調する。例えば、プロジェクタ１０４の変調器は、プロジェクタ１０４のプロセッサによって実行されるコンピュータソフトウェアルーチンであり、プロジェクタ７０２の変調器は、プロジェクタ７０２のプロセッサによって実行されるコンピュータソフトウェアルーチンである。ある実施形態では、ＨＭＤ１０２の復調器は、ＨＭＤ１０２のプロセッサによって実行されるコンピュータソフトウェアであり、ＨＭＤ１０２の光検出器１０５ａによって生成された検出ビームヒット信号を復調する。
【０１２４】
一実施形態では、変調器は電気回路であり、復調器は電気回路である。
【０１２５】
ある実施形態では、パターンのフレーム期間のプロジェクタ１０４のｘｙｚ座標系の原点に対するプロジェクタ１０５ａの方位の判定と同様の様式で、ＨＭＤ１０２の残りの光検出器（例えば、光検出器１０５ｂ及び１０５ｃ等）によって生成された複数の検出ビームヒット信号が、プロジェクタ１０４のｘｙｚ座標系に対するＨＭＤ１０２の光検出器の方位を判定するために使用される。プロセッサ７０２のｘｙｚ座標系に対するＨＭＤ１０２の残りの光検出器の方位は、プロセッサ３０２によって判定される。三角形分割またはＰｅｒｓｐｅｃｔｉｖｅ−ｎ−Ｐｏｉｎｔの方法は、プロジェクタ１０４のｘｙｚ座標系及びプロジェクタ７０２のｘｙｚ座標系に対するＨＭＤ１０２の光検出器（例えば、光検出器１０５ａ、光検出器１０５ｂ、光検出器１０５ｃ等）の方位にプロセッサ３０２によって適用され、プロジェクタ１０４のｘｙｚ座標系またはプロジェクタ７０２のｘｙｚ座標系に対するＨＭＤ１０２の方位及び位置を判定する。
【０１２６】
ある実施形態では、プロジェクタ１０４のｘｙｚ座標系またはプロジェクタ７０２のｘｙｚ座標系の原点に対するＨＭＤ１０２の方位及び位置を判定するために、ＨＭＤ１０２の動きは、プロセッサ３０２によって考慮に入れられる。
【０１２７】
複数のプロジェクタ（例えば、プロジェクタ１０４及び７０２等）の場合、ある実施形態では、プロジェクタによって発射されたビーム（例えば、ビーム１０４及び７０４等）間で、ビーム衝突が発生する。光検出器１０５ａが２つ以上のプロジェクタビーム（例えば、ビーム１０４及び７０４等）によって同時にヒットされると、ビーム衝突が発生する。プロジェクタ数の増加、プロジェクタによって発射されるビーム径の増加、及びＨＭＤ１０２とプロジェクタとの間の距離の減少に伴って、衝突機会が増加する。ビーム衝突は、シミュレーションでモデル化される。ビームの異なる光周波数を使用することによって及びノッチフィルタを伴う複数の光検出器を使用することによって、ビーム衝突が減る。例えば、ビーム１１０の周波数は、ビーム７０４の周波数と異なる。
【０１２８】
一実施形態では、リサージュパターン５００（図５）の境界（例えば、エッジ領域５０４等）でプロジェクタによって発射されるビームのスイッチを切ることによって、衝突が減らされ、そこでは、リサージュパターン５００が中央領域５０２（図５）とより深く比較される。例えば、ビーム１１０がリサージュパターン５００の中央領域５０２からエッジ領域５０４に到着する時間において、ビーム発生器１０８がオフ（例えば、電源オフ等）になり、ビーム７０４がリサージュパターン５００の中央領域５０２からエッジ領域５０４に到着する時間において、プロジェクタ７０２のビーム発生器がオフになる。ある実施形態では、プロジェクタのプロセッサは、制御信号をプロジェクタの電源（例えば、バッテリ、交流電流源、発電機等）に送信し、プロセッサが、ビームがリサージュパターン５００の中央領域５０２からエッジ領域５０４に到着することを判定する時間において、電源をオフにする。その電源は、プロセッサに連結される。その電源は、電力をビーム発生器に提供するために、プロセッサのビーム発生器に結合される。
【０１２９】
ある実施形態では、ビーム１１０がリサージュパターン５００のエッジ領域５０４から中央領域５０２に到着する時間において、プロジェクタ１０４がオンになり、ビーム７０４がリサージュパターン５００のエッジ領域５０４から中央領域５０２に到着する時間において、プロジェクタ７０２がオン（例えば、電源オン等）になる。ある実施形態では、プロジェクタのプロセッサは、制御信号をプロジェクタの電源に送信し、プロセッサが、ビームがリサージュパターン５００のエッジ領域５０４から中央領域５０２に到着することを判定する時間において、電源をオンにする。
【０１３０】
一実施形態では、ビーム１１０の第１の変調周波数（例えば、ビーム１１０がビットシーケンスで変調される周波数等）は、ビーム７０４の第２の変調周波数（ビーム７０４がビットシーケンス等で変調される周波数）と異なる。プロセッサ３０２は、２つの変調周波数を表す第１及び第２の検出ビームヒット信号を受信し、第１及び第２の検出ビームヒット信号を時間領域から周波数領域に変換するフーリエ変換を適用し、２つの異なる変調周波数を検出ビームヒット信号から抽出する。プロセッサ３０２は、第１の変調周波数と、第１の変調周波数とプロジェクタ１０４の識別情報との間の記憶された対応関係とから、第１の検出ビームヒット信号がプロジェクタ１０４から発射されたビーム１１０から生成されたことを識別する。同様に、プロセッサ３０２は、第２の変調周波数と、第２の変調周波数とプロジェクタ７０２の識別情報との間の記憶された対応関係とから、第２の検出ビームヒット信号がプロジェクタ７０２から発射されたビーム７０４から生成されたことを識別する。
【０１３１】
ある実施形態では、第１の周波数でフィルタ処理を行う第１のフィルタは、光検出器１０５ａに接続され、第２の周波数でフィルタ処理を行う第２のフィルタは、光検出器１０５ａに近接する別の光検出器（例えば、光検出器１０５ｂ等）に接続される。第１のフィルタは、第１の周波数を有する第１の検出ビームヒット信号を光検出器１０５ａから受信し第１のフィルタ信号を出力し、第２の周波数を有する第２の検出ビームヒット信号を他の光検出器から受信し第２のフィルタ信号を出力する。プロセッサ３０２は、第１のフィルタ信号を第１のフィルタからリンク１０９（図１Ａ）を介して受信し、第２のフィルタ信号を第２のフィルタからリンク１０９を介して受信する。第１のフィルタ信号が第１のフィルタから受信したこと及び第２のフィルタ信号が第２のフィルタから受信したことを判定すると、プロセッサ３０２は、第１のフィルタ信号がプロジェクタ１０４から発射されたビーム１１０に基づいて生成されたこと及び第２のフィルタ信号がプロジェクタ７０２から発射されたビーム７０４に基づいて生成されたことを識別する。第１及び第２のプロジェクタは、ＨＭＤ１０２内に位置する。
【０１３２】
図８Ｂは、ビーム１１０からビームヒットを検出すると、光検出器１０５ａによって生成された検出ビームヒット信号のパルス８１０の実施形態の図である。例示されるようなパルス８１０は、Ｌビットシーケンスで重ねられる。
【０１３３】
ある実施形態では、グローバル一意Ｍビットウィンドウを伴うＫ個の独立ビットシーケンスが生成され、Ｋ個の独立ビットシーケンスのそれぞれは、長さＬを有する。ここで、Ｋは、一意に識別されるプロジェクタ１０４及び７０２の個数であり、Ｌは、そのシーケンス自体が繰り返すためのビットパターンの前のビット数である。例えば、光検出器１０５ａは、検出ビームヒット信号を生成し、検出ビームヒット信号の各パルスは、Ｌビットシーケンスで重ねられるように、プロジェクタ１０４の変調器によって変調される。別の例として、光検出器１０５ａは、検出ビームヒット信号を生成し、検出ビームヒット信号の各パルスは、Ｌビットシーケンスで重ねられるように、プロジェクタ７０２の変調器によって変調される。これらのＬビットシーケンスのそれぞれの範囲内において、Ｍビットの任意のサブウィンドウは、そのシーケンス内で一意であり、また、Ｋ個の独立ビットシーケンスの全てにわたってグローバル的に一意である。例えば、光検出器１０５ａは、検出ビームヒット信号を生成し、検出ビームヒット信号の第１のパルスは、第１のＬビットシーケンスで重ねられるように、プロジェクタ１０４の変調器によって変調され、検出ビームヒット信号の第２のパルスは、第２のＬビットシーケンスで重ねられるように、プロジェクタ１０４の変調器によって変調される。第２のＬビットシーケンスは、第１のＬビットシーケンス内のビットのＭビットシーケンスと異なる及び第２のＬビットシーケンス内の任意の他のＭビットシーケンスと異なる、ビットのＭビットシーケンスを有する。光検出器１０５ａは、検出ビームヒット信号を生成し、検出ビームヒット信号の第３のパルスは、第３のＬビットシーケンスで重ねられるように、プロジェクタ７０２の変調器によって変調され、検出ビームヒット信号の第４のパルスは、第４のＬビットシーケンスで重ねられるように、プロジェクタ７０２の変調器によって変調される。第４のＬビットシーケンスは、第４のＬビットシーケンス内の任意の残りのＭビットシーケンスと異なる、第３のＬビットシーケンス内のビットの任意のＭビットシーケンスと異なる、第１のＬビットシーケンス内の任意のＭビットシーケンスと異なる、及び第２のＬビットシーケンス内の任意のＭビットシーケンスと異なる、ビットのＭビットシーケンスを有する。
【０１３４】
ある実施形態では、任意のＭビットシーケンスは、復調器によってデコードされる。デコードを達成するために、変調器がビームを変調することにより、任意のＭビットシーケンスは、同じビットの既定数のインスタンス未満であるものを有し、スイッチ２値パターンの０１０及び１０１の少なくとも１つが、任意のＭビットシーケンスに導入され、誤り耐性により、２値パターンの識別を容易にする。
【０１３５】
ある実施形態では、変調器がビームを変調することにより、各Ｍビットシーケンスは、少なくとも２ビットだけ、任意の別のＭビットシーケンスと異なるように拘束される。この制限により、誤り耐性の改善を可能にする。
【０１３６】
一実施形態では、ビットシーケンスをビーム上へ重ねるためにプロジェクタ１０４の変調器によって適用されるビットレートは、プロジェクタ１０４からのＨＭＤ１０２の最大可能距離、ならびに周波数ｆ１及びｆ２に基づいて判定される。例えば、プロジェクタ１０４の変調器は、高ビットレートを適用し、ビットシーケンスをビーム発生器１０８のビーム源によって生成されたビーム上へ重ねることにより、ビーム１１０が空間を走査するために速く移動し及び光検出器１０５ａが最大定義距離に置かれたとき、光検出器１０５ａがＭビットシーケンスを含有する検出ビームヒット信号を生成する時間が十分にある。最大定義距離の例は、ＨＭＤ１０２が位置する部屋の２つの対壁間の距離である。最大定義距離の別の例は、プロジェクタ１０４と壁との間の距離であり、その壁は、プロジェクタ１０４が位置する部屋の別の側と比較して、ＨＭＤ１０２が位置する部屋の側に位置する。空間内のビーム１１０の移動は、ＭＥＭＳミラー１１２の移動周波数ｆ１及びｆ２に依存することに留意されたい。
【０１３７】
ある実施形態では、ビーム１１０が光検出器１０５ａ上でわずかにヒットすることにより、プロジェクタ１０４のビーム源によって生成されたビームを変調する時間が短縮する。時間短縮によって、Ｍビットシーケンスが光検出器１０５ａによって生成された検出ビームヒット信号のパルス内に組み込まれる機会を減らすことになる。本実施形態では、Ｍビットシーケンスは、プロジェクタ１０４のビーム源によって生成されたビームの半径を横切るがプロジェクタ１０４のビーム源によって生成されたビームの直径を横切らないように、プロジェクタ１０４の変調器によって配列される。プロジェクタ１０４のビーム源によって生成されたビームがプロジェクタ１０４の変調器によって変調されるビットレートは、最大定義距離及び最大可能距離でのビーム半径に基づいて、変調器によって判定される。検出器１０５ａによって生成された検出ビームヒット信号の各パルスがＭビットシーケンスを有するように、ビットレートが判定される。
【０１３８】
一実施形態では、光検出器１０５ａは、半径ｒの円盤形状としてモデル化され、時々、本明細書にグレージングビームヒットとして参照されるように、ビーム１１０が円盤形状の中心側をわずかに横断すると、検出ビームヒット信号が光検出器１０５ａによって生成される。円盤形状の半径の例として、ビーム１１０に曝される光検出器１０５ａのレンズの半径が挙げられる。さらに、ビーム１１０の横断距離は、円盤形状の半径に等しい。これは、妥当な対象範囲または妥当な数のグレージングビームヒットを可能にする。円盤がパターンの中心にあるとき、ビーム１１０は、ＭＥＭＳミラー１１２の正弦波の動きの特質により、その最大スピードで素早く掃引する。最大速度において、円盤形状の半径にわたって、プロジェクタ１０４の変調器は、プロジェクタ１０４のビーム源によって生成されたビームをＭビットシーケンスで変調することにより、光検出器１０５ａがＭビットシーケンスを有する検出ビームヒット信号を生成する。したがって、円盤形状の半径及び最大速度により、プロジェクタ１０４の変調器によって行われる変調器のビットレートが定義される。
【０１３９】
一実施形態では、ビットシーケンスをプロジェクタのビームソースによって生成されたビーム上へ重ねるためにプロジェクタの変調器によって適用されるビットレートは、高データレートである。例えば、ｆ１＝２１，０６０Ｈｚ及びｆ２＝２１，０００Ｈｚ、ならびに、パターン（例えば、正方形パターン等）は、左右の変位に対して６０度（例えば、正方形パターンの中心から＋／−３０度）の振幅があり、ならびに光検出器１０５ａが１ミリメートルの直径を有し、ビーム１１０の半径がプロジェクタ１４０から３メートルの距離において５ミリメートルであり、ならびにＭ＝１０ビットシーケンスが使用されるとき、長さ６１ビットの２つのバラバラなシーケンスは、復調後にプロセッサ３０２によって識別される。２つのシーケンスは、Ｌ＝６１ビットの長さであり、Ｍ＝１０ビットシーケンスである。繰り返しシーケンスと任意のＭ＝１０ビットシーケンスとの両方のＬビットシーケンスは、各ビットシーケンス内及び両方のＬビットシーケンスにわたって、一意である。加えて、各Ｍビットシーケンスは、２つのもの（例えば、ｎｏ０００またはｎｏ１１１等）よりも長い同じビットの連続シーケンスを有しないように、変調器によって拘束され、少なくとも１つのビットフリップパターン（例えば、１０１または０１０等）を含むように、変調器によって拘束される。２つのＬビットシーケンスの第１のシーケンスの例は、００１００１００１０１００１００１１００１００１０１１００１００１１０１００１０１０１０１００１１０１０１０１１０１１０１であり、２つのＬビットシーケンスの第２のシーケンスの例は、００１０１０１１０１００１１０１１０１０１００１０１１０１０１０１０１０１１００１１０１０１１０１０１１００１０１１０１１である。ビームを変調するプロジェクタの変調器によって適用されるビットレートの例は、３７０メガビット／秒（Ｍｂｐｓ）である。ビームを変調するプロジェクタの変調器によって適用されるビットレートの別の例は、５００Ｍｂｐｓである。
【０１４０】
ある実施形態では、復調器が少なくとも１０ビットの長さＬの６１ビットシーケンスをデコードし及びＨＭＤ１２０によって生成されたクロック信号とプロジェクタ１０４によって生成されたクロック信号との同期があるとき、ＬビットシーケンスのＭビットシーケンスは、６１ビットシーケンス内の正確な場所を識別し、さらにビームヒットの正確な時間を提供するために使用される。
【０１４１】
ある実施形態では、ＭビットシーケンスがＫプロジェクタのＬビットシーケンスにわたって一意であるため、Ｍビットシーケンスがエンコードされるビームを生成するプロジェクタが識別される。例えば、ＨＭＤ１０２の復調器（デコーダ等）は、検出ビームヒット信号をデコードし、少なくともＭビットのＬビットシーケンスを抽出する。Ｌビットシーケンスは、復調器からリンク１０９（図１Ａ）を介して、コンピューティングデバイス１０７のプロセッサ３０２に提供される。プロセッサ３０２は、Ｌビットから、プロジェクタ１０４及び７０２の全てのＬビットシーケンスに一意であるＭビットシーケンスを識別する。プロセッサ３０２は、Ｍビットシーケンスをメモリデバイス３０４内に事前に記憶されたシーケンスと比較し、２つのシーケンス間で一致があるかどうか判定し、そのように判定が行われると、Ｍビットシーケンスが、プロジェクタ１０４がビーム１１０を発射するときに生成された検出ビームヒット信号のパルス上で重ねられたことを判定する。プロジェクタとＭビットシーケンスとの間の対応関係（例えば、１対１の関係等）は、メモリデバイス３０４内に記憶される。
【０１４２】
ある実施形態では、より長いＭビットシーケンスは、より長いＬビットシーケンス及び時間同期の許容範囲の改善を可能にし、より長いＭビットシーケンスは、より大きい値のＭ、したがって、より高いビットレートを意味する。
【０１４３】
一実施形態では、プロジェクタ１０４の変調器は、プロジェクタ１０４のビーム源によって生成されたビームを、ＭビットシーケンスのＭシーケンスウィンドウで変調する。Ｍシーケンスウィンドウ内では、任意のＭビットシーケンスは一意である。光検出器１０５ａが１つ以上のＭビットシーケンスを含むパルスを有する検出ビームヒット信号を生成するとき、プロセッサ３０２は、Ｍシーケンス内のＭビットシーケンスの１つの場所を判定する。ＨＭＤ１０２のクロックソースは、ＭビットシーケンスがＭシーケンスウィンドウ内で始まる時間ｔｓを測定する。Ｍビットシーケンスの１つは、Ｍシーケンスウィンドウ内の全てのＭビットシーケンスのうち、検出ビームヒット信号のパルス８１０のピークの中心に最も近い。ＨＭＤ１０２のクロックソースは、さらに、時間ｔｓとＭビットシーケンスの１つの中心がパルス内で発生する時間との間の時間差である、オフセット時間ｔｏｆｆを測定する。値ｔｓ、ｔｏｆｆ、及びＭビットシーケンスの１つは、ＨＭＤ１０２のプロセッサからプロジェクタ１０４のプロセッサに、リンク１１７（例えば、Ｂｌｕｅｔｏｏｔｈリンク、ＲＦリンク等）を介して、送信される。プロジェクタ１０４のプロセッサは、時間ｔｓに基づいて、プロジェクタ１０４が伝送されるＭシーケンスウィンドウ内のビット位置を発見する。プロジェクタ１０４のプロセッサは、Ｍシーケンスウィンドウ内の前後をビット位置から検索することで、Ｍビットシーケンスの１つの場所を発見し、プロジェクタ１０４のメモリデバイスから、ビーム１１０内に組み込まれるようにＭビットシーケンスの１つがプロジェクタ１０４から送信される時間ｔａを判定する。時間ｔａは、プロジェクタ１０４のクロックソースによって測定され、プロジェクタ１０４のプロセッサによって、プロセッサ１０４のメモリデバイス内に記憶される。プロジェクタ１０４のプロセッサは、その後、時間ｔｓを時間ｔａに補正し、時間ｔａをプロセッサ３０２に送信する。プロセッサ３０２は、工程４５６及び４５８（図４Ｂ及び図４Ｃ）に説明された様式で、時間ｔａに基づいて、プロジェクタ１０４のｘｙｚ座標系に対する光検出器１０５ａの方位を判定する。例えば、時間ｔａは、プロジェクタ１０４のｘｙｚ座標系の原点を基準にして、光検出器１０５ａの方位を判定するためのヒット時間として使用される。
【０１４４】
ある実施形態では、プロジェクタ１０４のプロセッサは、ｔｓ及びｔａの時間差ｔｓ−ｔａを計算する。時間差ｔｓ−ｔａは、ＨＭＤ１０２のクロック信号とプロジェクタ１０４のクロック信号との間のクロック誤差であり、プロジェクタ１０４のプロセッサは、ＨＭＤ１０２のプロセッサに対する時間差を示す信号を送信する。ＨＭＤ１０２のプロセッサは、制御信号をプロジェクタ１０４のクロックソースに送信し、時間差を除去することにより、プロジェクタ１０４のクロック信号をＨＭＤ１０２のクロック信号を同期させる。
【０１４５】
ある実施形態では、プロジェクタ１０４のプロセッサは、時間差ｔａ‐ｔｏｆｆである論理オフセットを算出し、ビーム１１０が光検出器１０５ａの円盤形状の中心にヒットする時間であるｔｒを取得する。時間ｔｒは、プロジェクタ１０４のプロセッサからプロセッサ３０２にリンク１１１を介して送信する。時間ｔｒを受信すると、プロセッサ３０２は、工程４５６及び４５８（図４Ｂ及び図４Ｃ）を適用させ、プロジェクタ１０４のｘｙｚ座標系に対する光検出器１０５ａの方位を判定する。例えば、時間ｔｒは、プロジェクタ１０４のｘｙｚ座標系の原点を基準にして、光検出器１０５ａの方位を判定するためのヒット時間として使用される。
【０１４６】
図８Ｃは、プロジェクタに関するＬビットシーケンスがリサージュパターン５００に従って何度も繰り返すことを例示する図である。各シーケンスＳ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５、Ｓ６、及びＳ７は、Ｌビットシーケンスである。
【０１４７】
ある実施形態では、各シーケンスＳ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５、Ｓ６、及びＳ７は、リサージュパターン５００の対角部（例えば、左対角部８３０）から反対側に位置する対角部（例えば、右対角部８３２等）までの掃引中に、任意のいずれかの回数（例えば、１５０回、１００回、２００回等）を繰り返す。一実施形態では、リサージュパターン５００は、図８Ｃに示されるものと比較して、Ｌビットシーケンスの任意の他の数（例えば、８、９、１０等）を有する。
【０１４８】
図８Ｄは、Ｌビットシーケンスを検出するコンピューティングデバイス１０７のプロセッサ３０２によって適用される相関フィルタ８６４の実施形態の図である。ビットシーケンスが重ねられる検出ビームヒット信号が光検出器１０５ａによって生成されたとき、相関フィルタ８６４は、プロセッサ３０２によって適用され、ＨＭＤ１０２の復調器は、検出ビームヒット信号を復調しビットシーケンスをプロセッサ３０２に提供する。相関フィルタ８６４は、メモリデバイス３０２内に記憶される。一実施形態では、相関フィルタは、事前に記憶されたＬビットシーケンスである。プロセッサ３０２が相関フィルタ８６４とＨＭＤ１０２の復調器から受信されたビットシーケンス内の連続ビットシーケンスとの間で一致が発生していることを判定するとき、プロセッサ３０２は、Ｌビットシーケンスが発見されたことを判定する。図８Ｄに例示されるように、プロセッサ３０２は、ＬビットシーケンスのＭビットよりも少ない部分が復調器から受信されたビットシーケンス８６２内でＡ、Ｂ、Ｃ、Ｄ、及びＥのようにラベルで示される５箇所で発見されたことを判定する。
【０１４９】
一実施形態では、相関フィルタ８６４とビットシーケンス８６２との間での一致数が１または別の既定数を超えたことを判定すると、不十分なビットがＬビットシーケンスを一意に識別するためにデコードされたため、プロセッサ３０２は、その一致を無視する。
【０１５０】
図８Ｅは、相関フィルタ８６４への閾値の適用を例示する、実施形態の図である。プロセッサ３０２は、リンク１０９を介してＨＭＤ１０２の復調器から受信されたビットシーケンス８７２内の連続ビットシーケンスと相関フィルタ８６４との間の一意の一致を判定し、Ｌビットシーケンスが検出ビームヒット信号内で受信されたことを判定する。復調シーケンス内のビット数がＭよりも多い数に増加するにつれて、Ｌビットシーケンスがビームヒット信号内で検出される可能性が高くなる。図８Ｅに示されるように、シーケンス８６４内でＡのラベルで示される場所で一致が発生する。
【０１５１】
ビットシーケンスが重ねられる検出ビームヒット信号が光検出器１０５ａによって生成されたとき、相関フィルタ８６４は、プロセッサ３０２によって適用され、ＨＭＤ１０２の復調器は、検出ビームヒット信号を復調しビットシーケンスをプロセッサ３０２に提供する。相関フィルタ８６４は、メモリデバイス３０２内に記憶される。一実施形態では、相関フィルタは、事前に記憶されたＬビットシーケンスである。プロセッサ３０２が、相関フィルタ８６４とＨＭＤ１０２の復調器から受信されたビットシーケンス内の連続ビットシーケンスとの間で一致が発生していることを判定するとき、プロセッサ３０２は、Ｌビットシーケンスが発見されたことを判定する。
【０１５２】
一実施形態では、検出ビームヒット信号のパルスの時間ｔＡ（例えば、最大振幅時間、ピーク強度時間等）は、Ｌビットシーケンス内のビットシーケンスウィンドウの識別の時間ｔＢに基づいて、プロセッサ３０２によって修正される。Ｌビットシーケンスは、相関フィルタ８６４を使用することによって識別される。例えば、プロセッサ３０２は、時間ｔＡを、パルスのピーク強度が発生する時間として判定し、相関フィルタ８６４を適用させることによって、時間ｔＢを、プロセッサ３０２がビットシーケンス内のビットシーケンスウィンドウ位置を識別する時間として判定する。Ｌビットシーケンスは、ＨＭＤ１０２のプロセッサからプロセッサ３０２によってリンク１０９（図１Ａ）を介して受信される。時間ｔＡは、ＨＭＤ１０２のクロックソースによって測定され、時間ｔＢは、コンピューティングデバイス１０７のクロックソースによって測定される。時間ｔＡを使用する代わりに、プロセッサ３０２は、時間ｔＢをヒット時間に対する補正として、工程４５６及び４５８（図４Ｂ及び図４Ｃ）に適用し、プロジェクタ１０４のｘｙｚ座標系の原点に対するビーム１１０の対応する方位を判定する。
【０１５３】
図８Ｆは、相関フィルタとＬビットシーケンスとの一致がリサージュパターン５００に従って何度も発生することを例示する、リサージュパターン５００の一部の実施形態の図である。例えば、相関フィルタとＬビットシーケンスとの一致は、リサージュパターン５００にわたって、図８Ｆの点で示されるように、何度も発生する。
【０１５４】
図８Ｇは、Ｌビットシーケンスがリサージュパターン５００の直径ｄ１内の光検出器１０５ａの場所を判定するために使用されるＭシーケンス技術を例示する、リサージュパターン５００の部分５０６ａの実施形態の図である。プロジェクタ１０４のｘｙｚ座標系に対する光検出器１０５ａの方位を判定するために使用される検出ビームヒット信号の強度（例えば、最大振幅、ピーク強度、最大振幅等）が検出されると、光検出器１０５の場所は、リサージュパターン５００の直径ｄ１に沿ったいずれかの位置にある。例えば、ＨＭＤ１０２のクロックソースは、検出ビームヒット信号のパルスの中心における時間を測定し、その時間をプロセッサ３０２に提供し、その時間における光検出器１０５ａの場所を判定する。直径ｄ１に沿ったいずれかの位置にある光検出器１０５ａの場所は、リサージュパターン５００の軌道（例えば、リサージュ軸等）からビーム１１０の半径をある量（例えば、＋／−数ミリメートル等）だけ延在する不確実な区間を提供する。Ｍシーケンス技術では、プロジェクタ１０４の変調器が、プロジェクタのビーム源によって生成されたビームを変調することにより、検出ビームヒット信号が、リサージュパターン５００の直径に沿って複数のＬビットシーケンスで変調され、ＬビットシーケンスのＰ個が変調される。この値Ｐは、ビーム１１０の中心に沿った最大のものであり、ビーム１１０の端部に向かって小さくなるであろう。不確実な区間は、リサージュパターン５００の軌跡の片側の２つのミラー領域（例えば、領域１及び領域２等）に限定されるようになる。Ｍシーケンス技術では、プロセッサ３０２は、直径ｄ１に沿った光検出器１０５ａの場所を領域１または領域２になるように狭くする。ある実施形態では、空間内のビーム１１０の分岐及びビーム１１０の範囲に関する情報の一部が使用される。
【０１５５】
一実施形態では、単一のビームヒット（例えば、ビームヒット信号のパルスが生成されたときなどのもの）で、複数の場所（例えば、領域１及び領域２等）は、Ｌビットシーケンスの繰り返しによりリサージュパターン５００にわたって取得される。複数のビームヒットがあると、リサージュパターン５００にわたる複数のセットが、プロセッサ３０２によって判定される。リサージュパターン５００にわたる場所が、複数のビームヒットにわたって共通である１つ以上の場所を選択することによって、プロセッサ３０２によって狭くされる。例えば、プロセッサ３０２が、第１のビームヒットに関する領域１が第２のビームヒットに関するものと同じであることを判定するとき、プロセッサ３０２は、光検出器１０５ａの場所が、領域２の代わりに、第１のビームヒットの期間、直径ｄ１に沿った領域１にあることを判定する。複数領域が存在する可能性をなくすような十分なビームヒットが取得されるとき、プロジェクタ１０４のクロック信号とＨＭＤ１０２のクロック信号との同期を行う必要がない。ある実施形態では、リサージュパターン５００の軌跡に沿ったＬビットシーケンスによって占有された距離が、より小さい高密度領域（例えば、リサージュパターン５００の中央領域５０２等）内でリサージュパターン５００の交差部間の距離を超えると、多重可能領域の数が、プロセッサ３０２によって減らされる。
【０１５６】
ある実施形態では、あるアプローチは、いくつかの比較的粗いレベルのものに対する時間同期（例えば、プロジェクタ１０４のクロック信号とＨＭＤ１０２のクロック信号との同期等）の組み合わせを使用するためのものであり、ひいては、Ｍシーケンス技術を使用して、タイミングを改良し、結果として、プロジェクタ１０４のｘｙｚ座標系に対する光検出器１０５ａの方位を改良する。
【０１５７】
一実施形態では、バラバラなシーケンスウィンドウ内と、全てのバラバラなシーケンスウィンドウ（例えば、Ｋ個のＬビットシーケンスの全てのバラバラなシーケンスウィンドウ等）にわたることとの両方において、Ｋ個のＬビットシーケンスのＭビットサブシーケンスは一意である。プロジェクタ１０４及び７０２は、異なるＬビットシーケンスウィンドウを使用する。例えば、プロジェクタ１０４の変調器がプロジェクタ１０４のビーム源によって生成されたビームを変調することにより、第１のＬビットシーケンスの第１のシーケンスウィンドウがプロジェクタ１０４を識別するビットの一意の組み合わせを有し、また、プロジェクタ７０２の変調器がプロジェクタ７０２のビーム源によって生成されたビームを変調することにより、第２のＬビットシーケンスの第２のシーケンスウィンドウがプロジェクタ７０２を識別するビットの一意の組み合わせを有する。ＨＭＤ１０２の復調器が第２のＬビットシーケンスをプロセッサ３０２に提供すると、プロセッサ３０２は、第２のシーケンスウィンドウから、プロジェクタ７０２を識別するために第２のＬビットシーケンスがプロジェクタ７０２から送信されたことを判定する。一方、ＨＭＤ１０２の復調器が第１のＬビットシーケンスをプロセッサ３０２に提供すると、プロセッサ３０２は、第１のウィンドウから、第１のＬビットシーケンスがプロジェクタ１０４を識別するためにプロジェクタ１０４から送信されたことを判定する。プロセッサ３０２によってプロジェクタの識別が使用され、光検出器１０５ａの方位が一方のプロジェクタのｘｙｚ座標系の原点または別のプロジェクタのｘｙｚ座標系の原点に対するものであるかどうかを判定する。
【０１５８】
ある実施形態では、リサージュパターン５００のフレーム周波数、ビーム１１０の直径、ビーム１１０の発散、リサージュパターン５００の光掃引幅、ビーム源によって生成されたビームの変調器のビットレート、ＬビットＭシーケンス内のＭ及びＬの値、光検出器１０５ａの円盤形状のサイズに関する多くのパラメータ選択がある。他のパラメータは、リサージュパターン５００の光検出器の場所を含む。これらのパラメータは、プロジェクタ１０４のｘｙｚ座標系に対する光検出器１０５ａの測定された方位に影響を及ぼす。ある例が以下に提供される。仮に、リサージュ基本周波数（例えば、周波数ｆ１は、３４，０００ヘルツ）、リサージュ第２の周波数（周波数ｆ２は、３４，０６０ヘルツ）、リサージュ繰り返し周期（例えば、フレーム周波数が１／６０秒）、光掃引幅が６０度（中心から＋／−３０度）、光検出器１０５ａの円盤形状の半径が１ミリメートル、プロジェクタ１０４から３メートルにおいて、ビーム１１０の直径が４ミリメートル、Ｍが１０であり長さＬの２つのウィンドウを伴い、Ｌが６１ビットであるとする。また、光検出器１０５ａの円盤形状は、プロジェクタ１０４の円錐の中心から３メートルの距離におけるプロジェクタ１０４に対して平坦である。ビーム１１０が光検出器の半径に等しい長さの光検出器１０５ａの端部を横切って距離ｄｉｓｔを横断する大体の時間が、以下のようにプロセッサ３０２によって計算される。掃引速度は、６０度を掃引するのに約０．００００１４７である。掃引速度は、４，０８０，０００度／秒に達する。プロジェクタ１０４からｄ＝３メートルの範囲では、光検出器１０５ａの距離ｄｉｓｔにわたる角距離は、２＊ａｒｃｔａｎ（０．５＊ｄｉｓｔ／ｄ）＝０．０１９１度である。その結果として、光検出器１０５ａの円盤形状を横切って距離ｄｉｓｔを横断することにかかる時間は、４．６８ｘ１０−９秒（約５ナノ秒）である。約５ナノ秒で１０ビットのデータを取得するために、プロジェクタ１０４の変調器は、２．１４ギガビット／秒（Ｇｂｐｓ）のビットレートで変調する。したがって、プロジェクタ１０４のビーム源によって生成されたビームを６１ビットシーケンスで変調するプロジェクタ１０４の変調器に関してプロセッサ３０２によって計算された時間は、２８ナノ秒である。その結果として、プロジェクタ１０４によって生成されたクロック信号とＨＭＤ１０２によって生成されたクロック信号との同期は、最大１４ナノ秒の誤差がある可能性があり、さらに、絶大なる自信を持って、ｘｙｚ座標系の原点に対する光検出器１０５ａの方位を取得することを可能にするＬビットウィンドウ内に含まれるように一義的に判定される。例えば、ビーム１１０の掃引に沿う精度は、１ビットよりも優れている（１ビットは、約１／１０ミリメートルである）。
【０１５９】
ある実施形態では、長さＬ（例えば、６１ビット等）のシーケンス内に対して正確であるグローバル同期イベント（例えば、無線周波数（ＲＦ）パルスまたはグローバル光パルス等）がある。例えば、プロジェクタ１０４のプロセッサは、ＲＦパルスをプロジェクタ７０２及びＨＭＤ１０２に送信し、ＨＭＤ１０２及びプロジェクタ７０２（図７Ａ）のクロックソースを、プロジェクタ１０４のクロックソースと同期させる。例示するために、プロジェクタ１０４のクロック信号がある状態から別の状態まで（例えば、高い状態から低い状態に、低い状態から高い状態等）パルスを発する時間において、プロジェクタ１０４のプロセッサは、ＲＦパルスを、リンク１１７（図１Ａ）を介してＨＭＤ１０２に送信し、プロジェクタ１０４とプロジェクタ７０２との間のリンクを介してプロジェクタ７０２に送信する。ＲＦパルスを受信すると、ＨＭＤ１０２のプロセッサは、信号をＨＭＤ１０２のクロックソースに送信し、ＨＭＤ１０２のクロックソースのクロック信号を、プロジェクタ１０４のクロック信号と同期させる。さらに、プロジェクタ７０２のプロセッサは、信号をプロジェクタ７０２のクロックソースに送信し、プロジェクタ７０２のクロックソースのクロック信号を、プロジェクタ１０４のクロック信号と同期させる。別の例として、プロジェクタ１０４のビーム発生器（例えば、ビーム１０８等以外のもの）は、ビームのストロボを発生し、ビームのストロボは、光検出器１０５ａによって検出される。ビームのストロボが検出された時間において、ＨＭＤ１０２のクロック信号は、プロジェクタ１０４のクロック信号と同期される。グローバル同期イベントは、各フレーム期間に１回または各フレーム期間に複数回、発生する。
【０１６０】
ある実施形態では、ビーム１１０及び７０４は、異なる光周波数を有し、光検出器１０５ａ及び１０５ｂのそれぞれは、異なるフィルタを有し、異なる周波数を検出する。例えば、プロジェクタ１０４は、第１の周波数を有するビーム１１０を生成し、プロジェクタ７０２は、第１の周波数と異なる第２の周波数を有するビーム７０４を生成する。光検出器１０５ａは、第１のフィルタに連結され、光検出器１０５ｂは、第２のフィルタに接続される。第１のフィルタは、第１の周波数（ただし、第２の周波数ではない）でフィルタ処理を行い、第２のフィルタは、第２の周波数（ただし、第１の周波数ではない）でフィルタ処理を行う。光検出器１０５ａは、第１の周波数を第１のフィルタから受信し第１の検出ビームヒット信号を生成し、光検出器１０５ｂは、第２の周波数を第２のフィルタから受信し第２の検出ビームヒット信号を生成する。第１の検出ビームヒット信号が第１の周波数を有することを判定すると、プロセッサ３０２は、第１の検出ビームヒット信号がプロジェクタ１０４から受信されたビーム１１０から生成されたことを判定する。同様に、第２の検出ビームヒット信号が第２の周波数を有することを判定すると、プロセッサ３０２は、第２の検出ビームヒット信号がプロジェクタ７０２から受信されたビーム７０４から生成されたことを判定する。第１の周波数とプロジェクタ１０４の識別との間の対応関係（例えば、１対１の関係、関連付け、マッピング等）は、メモリデバイス３０４内に記憶され、第２の周波数とプロジェクタ７０２の識別との間の別の対応関係は、メモリデバイス３０４内に記憶される。
【０１６１】
図９は、デバイス９０２と別のデバイス９０４との間の同期方法を例示する、システム９００の実施形態の図である。デバイス９０２の例は、プロジェクタ１０４であり、デバイス９０４は、ＨＭＤ１０２である。デバイス９０２の別の例は、プロジェクタ７０２であり、デバイス９０４は、ＨＭＤ１０２である。
【０１６２】
ある実施形態では、デバイス９０２及び９０４のクロック信号は、ナノ秒レベル精度まで同期される。例えば、コンピュータネットワークのネットワークタイムプロトコル（ＮＴＰ）に関連するプロトコルが使用される。デバイス９０２は、ローカル時間Ａ１で、パケットＸを送信し、ローカル時間Ａ２で、応答パケットＹをデバイス９０４から受信する。ローカル時間Ａ１及びＡ２は、デバイス９０２のクロックソースによって測定される。パケットＸは、時間Ａ１を含む。デバイス９０４がパケットＸを受信すると、デバイス９０４のクロックソースは、パケットＸが受信された時間Ｂ１のタイムスタンプを記録する。その後、デバイス９０４は、時間Ｂ２でパケットＹを伝送し、パケットＹに時間Ｂ１及び時間Ｂ２を含む。時間Ｂ２は、デバイス９０４のクロックソースによって測定される。デバイス９０２は、時間Ａ２でパケットＹを受信する。いったんデバイス９０２がパケットＹを取得すると、デバイス９０２のプロセッサは、デバイス９０４によって費やされる合計時間と処理時間との差として、往復ネットワーク時間を計算する。合計時間は、（Ａ２−Ａ１）であり、処理時間は、（Ｂ２−Ｂ１）である。往復ネットワーク時間は対称的に考えられ、したがって、片方のネットワーク時間は、Ｔ１＝０．５［（Ａ２−Ａ１）−（Ｂ２−Ｂ１）］である。したがって、時間Ａ２における実時間は、Ｂ２＋Ｔ１である。したがって、オフセット時間Ｔｏｆｆ＝Ｂ２＋Ｔ１−Ａ２が、デバイス９０２のクロック信号をデバイス９０４のクロック信号と同期させるために、デバイス９０２のプロセッサによって、デバイス９０２のクロックソースのクロック信号に加えられる。パケットがデバイスのプロセッサによって生成されたことに留意されたい。例えば、パケットＸは、デバイス９０２のプロセッサによって生成され、パケットＹは、デバイス９０４のプロセッサによって生成される。ある実施形態では、パケットＸの代わりに、リクエスト信号が使用され、パケットＹの代わりに、リクエスト信号が使用される。
【０１６３】
ある実施形態では、いくつかの統計もまた、プロジェクタ１０４及びＨＭＤ１０２のクロック信号を同期するために使用される。
【０１６４】
一実施形態では、時間Ｂ２及びＢ１の測定において、いくつかの誤差があり、ひいては、Ｂ２−Ｂ１の計算で求められる。本実施形態では、時間Ａ１及びＡ２の測定において、いくつかの誤差が発生するであろう。本実施形態では、デバイス９０２のクロック信号の調整の決定がデバイス９０２のプロセッサによって行われる前に、数回の伝送時間を測定し及び数回の受信時間を測定するために、パケットＸ及びＹが数回送信され、または、伝送時間及び受信時間は、均等化及びフィルタ処理される。例えば、デバイス９０２は、ローカル時間Ａ３で、パケットＸを送信し、ローカル時間Ａ４で、応答パケットＹをデバイス９０４から受信する。ローカル時間Ａ３及びＡ４は、デバイス９０２のクロックソースによって測定される。パケットＸは、時間Ａ３を含む。デバイス９０４がパケットＸを受信すると、デバイス９０４のクロックソースは、パケットＸが受信された時間Ｂ３のタイムスタンプを記録する。その後、デバイス９０４は、時間Ｂ４でパケットＹを伝送し、パケットＹに時間Ｂ３及び時間Ｂ４を含む。時間Ｂ４は、デバイス９０４のクロックソースによって測定される。デバイス９０２は、時間Ａ４でパケットＹを受信する。いったんデバイス９０２がパケットＹを取得すると、デバイス９０２のプロセッサは、デバイス９０４によって費やされる合計時間と処理時間との差として、往復ネットワーク時間を計算する。合計時間は、（Ａ４−Ａ３）であり、処理時間は、（Ｂ４−Ｂ３）である。往復ネットワーク時間は対称的に考えられ、したがって、片方のネットワーク時間は、Ｔ２＝０．５［（Ａ４−Ａ３）−（Ｂ４−Ｂ３）］である。したがって、時間Ａ４における実時間は、Ｂ４＋Ｔ２である。オフセット時間Ｔｏｆｆ１＝Ｂ４＋Ｔ２−Ａ４の代わりに、オフセット時間Ｔｏｆｆ及びＴｏｆｆ１の平均値が、デバイス９０２のクロック信号をデバイス９０４のクロック信号と同期させるために、デバイス９０２のプロセッサによって、デバイス９０２のクロックソースのクロック信号に加えられる。
【０１６５】
Ｌビットシーケンス及びＭシーケンスウィンドウが使用される実施形態では、Ｌビットシーケンスは、ＨＭＤ１０２のプロセッサまたはプロセッサ３０２によって識別される。ｆ１＝２１，０６０Ｈｚ、ｆ２＝２１，０００Ｈｚ、及びリサージュパターン５００が３０度の振幅を有し、長さＬのシーケンスがプロジェクタ１０４のビーム源によって生成されたビームを変調するために使用され、６１ビット、Ｍ＝１０であり、ビームを変調するデータレートが５００メガビット／秒（Ｍｂｐｓ）であるとき、ビームを変調するプロジェクタ１０４の変調器によって費やされる時間は、１２２ナノ秒である。ビームヒットから復調されたＭ以上のビットシーケンスは、Ｌ＝６１ビットの長さのシーケンス内で一意である。プロジェクタ１０４のプロセッサは、プロジェクタ１０４のクロック信号を使用し、隣接するＬビットシーケンスに最も近いＭビットシーケンスを前後にわたり検索する。ＨＭＤ１０２のクロック信号とプロジェクタ１０４のクロック信号との同期における誤差が１２２ナノ秒未満である限り、最も近いＬビットシーケンスが発見される。いくつかの許容値を用いることで、これは、同期に関する制限を１００ナノ秒まで減らせる。このレベルにおいて、一実施形態では、ＨＭＤ１０２及びプロジェクタ１０４のクロック信号は、ある周波数帯のＲＦ通信の範囲外のＮＴＰスタイルを使用して、フレームごとに１回補正される。
【０１６６】
図１０は、光検出器１０５ａによって生成された検出ビームヒット信号から、ビーム発生器１０８のビーム源によって生成されたビームを変調するために使用される変調信号の周波数を抽出することによって、プロジェクタ１０４のクロックソースのクロック信号とＨＭＤ１０２のクロックソースのクロック信号を同期させるための方法１０００の実施形態のフローチャートである。変調信号は、プロジェクタのクロック信号と同期される。例えば、変調信号のビット０は、プロジェクタ１０４のクロックソースのクロック信号の第１の立ち上がりエッジにおいて、プロジェクタ１０４の変調器によって生成され、ビット１が、クロック信号の第２の立ち上がりエッジにおいて、プロジェクタ１０４の変調器によって生成される。第１の立ち上がりエッジは、第２の立ち上がりエッジに先行し、ビット０は、変調信号のビットシーケンス内でビット１に先行する。別の例として、変調信号のビット０は、プロジェクタ１０４のクロックソースのクロック信号の第１の立ち下がりエッジにおいて、プロジェクタ１０４の変調器によって生成され、ビット１が、クロック信号の第２の立ち下がりエッジにおいて、プロジェクタ１０４の変調器によって生成される。第１の立ち下がりエッジは、第２の立ち下がりエッジに先行し、ビット０は、変調信号のビットシーケンス内でビット１に先行する。
【０１６７】
ＨＭＤ１０２の復調器は、光検出器１０５ａに連結され、ビーム１１０を感知することによって、光検出器１０５ａによって生成された検出ビームヒット信号を受信する。ＨＭＤ１０２の復調器は、検出ビームヒット信号を復調し、変調信号を生成する。変調信号は、ＨＭＤ１０２の復調器からコンピューティングデバイス１０７のプロセッサ３０２に、リンク１０９（図１Ａ）を介して提供される。プロセッサ３０２は、工程１００２において、変調信号の周波数を判定し、プロジェクタ１０４内に生成されたクロック信号の位相（例えば、タイミング等）を判定する。プロセッサ３０２によって判定されるクロック信号の位相は、プロセッサ３０２に連結されるＰＬＬに提供される。ＰＬＬは、コンピューティングデバイス１０７内に位置する。ＰＬＬは、工程１００４において、プロジェクタ１０４のクロックソースによって生成されたクロック信号の位相を、ＨＭＤ１０２内に生成されたクロック信号の位相と比較する。ＨＭＤ１０２内で生成されたクロック信号の位相は、ＨＭＤ１０２のプロセッサから、プロセッサ３０２によってリンク１０９を介して受信される。
【０１６８】
ＰＰＬは、工程１００６において、ＨＭＤ１０２内に生成されたクロック信号の位相をプロジェクタ１０４のクロック信号の位相と同期させる。例えば、ＨＭＤ１０２のクロック信号の位相は、プロジェクタ１０４のクロック信号の位相より遅れまたは進むとき、ＰＬＬは、位相差を示す位相差信号をコンピューティングデバイス１０７のプロセッサ３０２に送信し、プロセッサ３０２は、位相差信号をＨＭＤ１０２のクロックソースにリンク１０９を介して送信し、ＨＭＤ１０２のクロック信号の位相をプロジェクタ１０４のクロック信号の位相と一致させる。例示するために、位相差信号は、プロセッサ３０２から、ＨＭＤ１０２のプロセッサにリンク１０９を介して送信され、また、位相差信号の受信に応答して、ＨＭＤ１０２のプロセッサは、信号をＨＭＤ１０２のクロックソースに送信し、ＨＭＤ１０２のクロックソースによって生成されたクロック信号の位相を、プロジェクタ１０４のクロックソースによって生成されたクロック信号の位相と同期させる。別の例として、ＨＭＤ１０２のクロック信号の位相は、プロジェクタ１０４のクロック信号の位相より遅れまたは進むとき、ＰＬＬは、位相差信号をコンピューティングデバイス１０７のプロセッサ３０２に送信し、プロセッサ３０２は、位相差信号をプロジェクタ１０４のクロックソースにリンク１１１（図１Ａ）を介して送信し、プロジェクタ１０４のクロック信号の位相をＨＭＤ１０２のクロック信号の位相と一致させる。例示するために、位相差信号は、プロセッサ３０２から、プロジェクタ１０４のプロセッサにリンク１１１を介して送信され、また、位相差信号の受信に応答して、プロジェクタ１０４のプロセッサは、信号をプロジェクタ１０４のクロックソースに送信し、ＨＭＤ１０２のクロックソースによって生成されたクロック信号の位相を、プロジェクタ１０４のクロックソースによって生成されたクロック信号の位相と同期させる。
【０１６９】
同期は、プロジェクタ１０４のｘｙｚ座標系の原点に対する、ビーム１１０の方位（例えば、ビーム角θｘ、θｙ、及びθｚ等）及び光検出器１０５ａの位置の精度を改善するために行われる。ビーム１１０の方位と光検出器１０５ａの位置との両方は、図４Ｂを参照して上記に説明されたように、検出ビームヒット信号が光検出器１０５ａに生成されたタイミングに依存する。
【０１７０】
一実施形態では、ビーム１１０が光検出器１０５ａに連結されたヒット時間は、ビーム１１０を検知するときに検出ビームヒット信号が光検出器１０５ａによって生成された時間と同じである。
【０１７１】
ある実施形態では、ビームヒット信号を生成する光検出器１０５ａの立ち上がり時間周期は、ヒット時間を判定する際にプロセッサ３０２によって構成される。例えば、光検出器１０５ａがビームヒット信号を検出することを始動する始動時間は、ヒット時間として、プロセッサ３０２によって受信され、プロセッサ３０２は、立ち上がり時間周期を、始動時間（ヒット時間を修正し及びその修正されたヒット時間を修正する光検出器１０５ａがヒット時間の代わりにプロジェクタ１０４のｘｙｚ座標系の原点に対する光検出器１０５ａの方位を判定するために使用されるもの）から差し引く。
【０１７２】
ある実施形態では、プロジェクタ１０４のｘｙｚ座標系の原点に対する光検出器１０５ａの方位の精度は、ＨＭＤ１０２及びプロジェクタ１０４のクロック信号の同期に依存する。例えば、プロジェクタ１０４から３メートルの距離において１ミリメートルの精度を取得するために、ビーム１１０は、プロジェクタ１０４のｘｙｚ座標系の原点を横切ってまたはプロジェクタ１０４のｘｙｚ座標系のｚ軸を中心に、速く移動する。３メートルの距離において、１ミリメートルは、０．０００３３ラジアン変位を表す。プロジェクタ１０４の錐台は６０度、ｆ１＝２１，０６０ヘルツ、及びｆ２＝２１，０００ヘルツであるとき、ＭＥＭＳミラー１１２のＸ軸に沿ったＭＥＭＳミラー１１２の移動は、ｘ＝Ａｓｉｎ（２πｔｆ１）として表され、ＭＥＭＳミラー１１２のＸ軸に沿ったＭＥＭＳミラー１１２の移動速度は、ｄｘ／ｄｔである。
ｄｘ／ｄｔ＝Ａ２πｆ１ｃｏｓ（２πｔｆ１）．．．方程式（４）
式中、Ａは、リサージュパターン５００（図５）を形成するＭＥＭＳミラー１１２のＸ軸に沿って、ＭＥＭＳミラー１１２の移動振幅であり、ｔは時間である。コサインが１．０及び最大速度が６９，２８５ラジアン／秒であるとき、速度はｔ＝０で最大であるであろう。したがって、０．０００３３ラジアンを横断するために、ＭＥＭＳミラー１１２に関して４．８ナノ秒かかる。プロジェクタ１０４及びＨＭＤ１０２のクロック信号が４．８ナノ秒間、同期されないとき、ｘｙｚ座標系の原点に対する光検出器１０５ａに関連する１ミリメートルの精度と同等のものが低下する。
【０１７３】
一実施形態では、プロジェクタ１０４のクロックソースは、温度補償水晶発振器（ＴＣＸＯ）であり、ＨＭＤ１０２のクロックソースは、ＴＣＸＯである。ＴＣＸＯのそれぞれにおいて、ｐｐｍ（百万分の１）ドリフト当たり１〜３の部分が到達される。したがって、ＴＣＸＯが同時に起動する場合、それらは、起動の１秒後に２マイクロ秒間ドリフトする。ある実施形態では、ドリフトは、フレーム毎（例えば、１６．６６７ミリ秒等）に補正される。したがって、１６．６６７ミリ秒の終わりにおけるドリフトは、３３ナノ秒である。本実施形態では、ＨＭＤ１０２及びプロジェクタ１０４のクロック信号は、フレーム毎に３３回補正される。
【０１７４】
図１１は、プロジェクタ１０４のｘｙｚ座標系の原点に対する光検出器１０５ａの方位を判定するために、検出ビーム信号の強度（例えば、振幅等）の平均化を例示する図である。リサージュパターン５００の端部（例えば、端部１１０２等）において、ビーム１１０が光検出器１０５ａを横断することにより、ビーム１１０が第１の方向から第２の方向に方向転換するとき、ビーム１１０によって覆われる光検出器１０５ａのエリアに間隙がなくなる。第２の方向は、第１の方向の反対方向である。例えば、第１の方向がｙ軸の＋ｙ方向であるとき、第２の方向はｙ軸の−ｙ方向である。別の例として、第１の方向がｘ軸の＋ｘ方向であるとき、第２の方向はｘ軸の−ｘ方向である。別の例として、リサージュパターン５００の端部１１０２の方向転換の結果として、ビーム１１０は方向転換する。
【０１７５】
ＨＭＤ１０２の光検出器１０５ａは、ビーム１１０が第１の方向で横断すると、第１の強度を検出し、ビーム１１０が第２の方向で横断すると、第２の強度を検出し、ＨＭＤ１０２のプロセッサに提供される検出ビームヒット信号を生成する。さらに、ＨＭＤ１０２のプロセッサは、ＨＭＤ１０２のクロックソースから、第１及び第２の強度が検出された時間（例えば、第１の強度が検出された第１の時間及び第２の強度が検出された第２の時間）を受信する。時間は、ＨＭＤ１０２のプロセッサによって、コンピューティングデバイス１０７のプロセッサ３０２に、リンク１０９（図１Ａ）を介して送信される。プロセッサ３０２は、第１及び第２のビーム強度の検出時間を平均化し、平均時間を計算する。
【０１７６】
プロセッサ３０２は、工程４５６（図４Ｂ）に説明されたものと同様の様式で、平均時間、リサージュパターン５００の開始時間、及びＭＥＭＳミラー１１２の周波数ｆ１及びｆ２に基づいて、リサージュパターン５００内のビーム１１０の場所を判定する。例えば、プロセッサ３０２は、パターンの開始時間、周波数ｆ１、周波数ｆ２、及び平均時間から、リサージュパターン５００上のビーム１１０の場所を判定する。例示するために、コンピューティングデバイス１０７のプロセッサ３０２は、開始時間がリサージュパターン５００内の初期場所に対応することを判定する。さらに、プロセッサ３０２は、初期場所が、ＭＥＭＳミラー１１２の周波数ｆ１及びｆ２によって変化し、リサージュパターン５００上のビーム１１０の場所に達することを判定する。ビーム１１０の場所は、平均時間に対応する。一実施形態では、周波数ｆ１及びｆ２と、平均時間と、開始時間と、リサージュパターン５００上のビーム１１０の場所との間の対応関係（例えば、１対１の関係等）は、コンピューティングデバイス１０７のメモリデバイス３０４内に記憶される。その対応関係はプロセッサ３０２によってアクセスされ、リサージュパターン５００上のビーム１１０の場所を、開始時間、周波数ｆ１及びｆ２、及び平均時間から判定する。リサージュパターン５００上のビーム１１０の場所は、プロジェクタ１０４のｘｙｚ座標系の原点に対する、ビーム１１０の方位（例えば、ビーム角θｘ、θｙ、及びθｚ等）を提供する。２回の平均値を使用することによって、プロジェクタ１０４のｘｙｚ座標系の原点に対するビーム１１０の方位は、単一のビーム強度がリサージュパターン５００の端部１１０２において使用される場合よりも正確である。
【０１７７】
図１２は、ＨＭＤ１０２内で生成されたクロック信号をプロジェクタ１０４内で生成されたクロック信号と同期させるための方法１２００の実施形態のフローチャートである。ＭＥＭＳミラー１１２上のパターンに続くビーム１１０は、検出ビームヒット信号を生成するパターンのフレーム期間（例えば、実行の１周期等）に複数回、光検出器１０５ａによって感知される。光検出器１０５ａは、検出ビームヒット信号の強度をコンピューティングデバイス１０７のプロセッサ３０２に、ＨＭＤ１０２のプロセッサ及びリンク１０９（図１Ａ）を介して、送信する。また、ＨＭＤ１０２のプロセッサは、工程１２０２において、ＨＭＤ１０２のクロックソースから強度が検出された時間を受信し、その時間をプロセッサ３０２にリンク１０９を介して送信する。プロセッサ３０２は、工程１２０４において、その時間をバックトラックし（例えば、入れ替える等）、パターンの開始時間（例えば、パターンが開始する時間、フレームが開始する時間等）を判定する。例えば、プロセッサ３０２は、強度が検出された時間と周波数ｆ１及びｆ２とから、パターンの開始時間を判定する。例示するために、プロセッサ３０２は、強度が検出された時間と、周波数ｆ１及びｆ２におけるＭＥＭＳミラー１１２の移動に関連する時間とから、パターンの開始時間を判定する。別の例示として、強度の１つが検出された時間ｔと、周波数ｆ１及びｆ２におけるＭＥＭＳミラー１１２の移動に関連する時間と、パターンの開始時間との間の対応関係（例えば、１対１の関係、関連時間等）は、コンピューティングデバイス１０７のメモリデバイス３０４内に記憶され、プロセッサ３０２は、対応関係にアクセスし開始時間を判定する。
【０１７８】
一実施形態では、２つの時間の相対的時間差は、パターンの開始時間を判定するために、プロセッサ３０２によってバックトラックされる一意のシグネチャを提供する。ある例示として、２つの連続的強度が光検出器１０５ａによって検出された時間と、周波数ｆ１及びｆ２におけるＭＥＭＳミラー１１２の移動に関連する時間と、パターンの開始時間との間の時間差の間の対応関係（例えば、１対１の関係、関連時間等）は、コンピューティングデバイス１０７のメモリデバイス３０４内に記憶され、プロセッサ３０２は、対応関係にアクセスし開始時間を判定する。
【０１７９】
プロセッサ３０２は、工程１２０６において、プロジェクタ１０４のクロック信号が工程１２０４で判定された開始時間に同期されたかどうかを判定する。例えば、プロセッサ３０２は、プロジェクタ１０４のクロック信号の位相をプロジェクタ１０４のプロセッサ及びリンク１１１（図１Ａ）を介して受信し、開始時間がクロック信号の位相と同相であるかどうかを判定する。プロジェクタ１０４のクロック信号が工程１２０４で判定された開始時間に同期されないことを判定すると、プロセッサ３０２は、制御信号をプロジェクタ１０４のクロックソースに、プロジェクタ１０４のプロセッサ及びリンク１１１を介して送信し、クロック信号を開始時間に同期させる。ある例として、プロジェクタ１０４のプロセッサが制御信号をプロジェクタ１０４のクロックソースに送信することにより、クロックソースによって生成されたクロック信号は、開始時間と同相になる。例示するために、クロック信号の立ち上がりエッジまたは立下りエッジが開始時間と同時に発生するとき、プロジェクタ１０４のクロックソースによって生成されたクロック信号は、開始時間と同期される。
【０１８０】
ある実施形態では、クロック信号と工程１２０４で判定された開始時間との同期は、プロジェクタ１０４のＰＬＬによって行われる。例えば、プロジェクタ１０４のプロセッサは、開始時間を有する制御信号をプロジェクタ１０４のＰＬＬに送信する。プロジェクタ１０４のＰＬＬは、プロジェクタ１０４のプロセッサ及びプロジェクタ１０４のクロックソースに連結される。プロジェクタ１０４のＰＬＬは、パターンの開始時間を、プロジェクタ１０４のクロックソースのクロック信号と比較し、開始時間をクロック信号と同期させ、ＰＬＬ信号を生成する。ＰＬＬ信号がプロジェクタ１０４のクロックソースに送信されることにより、開始時間とプロジェクタ１０４のクロックソースのクロック信号との間に位相遅れまたは位相進みがないようになる。
【０１８１】
ある実施形態では、信号（例えば、検出ビームヒット信号等）がプロセッサに提供されると、信号は、プロセッサに送信される前に、アナログ形式からデジタル形式に変換されることに留意されたい。例えば、アナログデジタル変換器は、光検出器１０５ａとプロセッサとの間に接続され、検出ビームヒット信号をアナログ形式からデジタル形式に変換する。
【０１８２】
一実施形態では、フレームは、既定の繰り返し間隔（例えば、６０ヘルツ（Ｈｚ）、５０Ｈｚ、４０Ｈｚ等）で繰り返される。
【０１８３】
図１３は、ＨＭＤ１０２（図１Ａ）の例である、ＨＭＤ１３００の等角図である。ＨＭＤ１３００は、ユーザ１０６によって装着されるとき、ユーザの後頭部まで届くバンド１３０２及びバンド１３０４を含む。さらに、ＨＭＤ１３００は、コンピュータプログラム（例えば、ゲームプログラム、仮想環境生成プログラム等）の実行によって生成された仮想環境（例えば、ゲーム環境、仮想ツアー環境等）に関連するサウンドを発するイヤホン１３０６Ａ及び１３０６Ｂ（例えば、スピーカ等）を含む。ＨＭＤ１３００は、ユーザがＨＭＤ１３００の表示画面上に表示される仮想環境を視認することを可能にする、レンズ１３０８Ａ及び１３０８Ｂを含む。溝部１３８０は、ユーザ１０６の鼻上にあり、鼻上のＨＭＤ１３００を支持する。
【０１８４】
いくつかの実施形態では、ＨＭＤ１３００は、サングラス、眼鏡、または老眼鏡がユーザ１０６によって装着されるものに同様の様式で、ユーザ１０６によって装着される。
【０１８５】
図１４は、本開示に説明される実施形態に従った、ビデオゲームの対話型ゲームプレイに関するシステムを例示する。ＨＭＤ１０２を装着するユーザ１０６が示される。ＨＭＤ１０２は、眼鏡、ゴーグル、またはヘルメットと同様の様式で装着され、ビデオゲームまたは他のコンテンツをユーザ１０６に表示するように構成される。ＨＭＤ１０２は、ユーザ１０６の目に近接した表示機構（例えば、光学素子及び表示画面）及びＨＭＤ１０２に提供されるコンテンツのフォーマットの提供によって、ユーザ１０６に没入型体験を提供する。一例では、ＨＭＤ１０２は、表示領域をユーザ１０６の目のそれぞれに提供し、その表示領域は、ユーザ１０６の視野の大部分またはさらに全体を占める。
【０１８６】
一実施形態において、ＨＭＤ１０２は、コンピューティングデバイス１０７に接続される。コンピューティングデバイス１０７への接続は、有線または無線である。コンピューティングデバイス１０７は、一実施形態では、ゲーム機、パーソナルコンピュータ、ラップトップ、タブレット、携帯デバイス、スマートフォン、タブレット、シンクライアント、セットトップボックス、メディアストリーミングデバイス、多機能テレビ等を含むがそれに限定されない、任意の汎用または専用コンピュータである。いくつかの実施形態では、ＨＭＤ１０２は、コンピュータネットワーク１４１０（例えば、インターネット、イントラネット、ローカルエリアネットワーク、ワイドエリアネットワーク等）に直接接続し、それによって、別個のローカルコンピュータを必要とすることなくクラウドゲームが可能になる。一実施形態では、コンピューティングデバイス１０７は、ビデオゲーム（及び他のデジタルコンテンツ）を実行し、ＨＭＤ１０２によるレンダリングのために、映像及び音声をビデオゲームから出力する。また、コンピューティングデバイス１０７は、時々、本明細書においてクライアントシステムとも称され、一例ではビデオゲームコンソールである。
【０１８７】
コンピューティングデバイス１０７は、いくつかの実施形態では、ローカルまたはリモートコンピュータであり、コンピュータはエミュレーションソフトウェアを起動させる。クラウドゲームの実施形態では、コンピューティングデバイス１０７は、リモートであり、データセンタ内で仮想化される複数のコンピューティングサービスによって表され、ゲームシステム／論理は仮想化され、コンピュータネットワーク１４１０を介してユーザ１０６に分配される。
【０１８８】
ユーザ１０６は、ハンドヘルドコントローラ１１５を動作させ、入力を仮想環境に提供する。一例では、ハンドヘルドコントローラ１１５は、ユーザ１０６が位置する環境（例えば、実世界環境）の画像を取り込む。これらの取込画像を分析して、ユーザ１０６、ＨＭＤ１０２、及びコントローラ１１５の位置及び移動を判定する。一実施形態では、コントローラ１１５は、その位置及び方位を判定するために追跡される光（または複数の光）を含む。加えて、下記にさらに詳細に説明されるように、ＨＭＤ１０２は、仮想環境の表示中に実質的にリアルタイムで、ＨＭＤ１０２の位置及び方位を判定するためにマーカとして追跡される１つ以上の光を含む。
【０１８９】
ハンドヘルドコントローラ１１５は、一実施形態では、サウンドを実世界環境から取り込む１つ以上のマイクロホンを含む。マイクロホンアレイによって取り込まれたサウンドは、音源の場所を識別するために処理される。識別場所からのサウンドは、識別場所からではない他のサウンドを除外するために、選択的に利用するか、または処理される。さらに、一実施形態では、ハンドヘルドコントローラ１１５またはＨＭＤ１０２は、複数の画像取込装置（例えば、ステレオペアのカメラ）、赤外線（ＩＲ）カメラ、デプスカメラ、及びその組み合わせを含む。
【０１９０】
いくつかの実施形態において、コンピューティングデバイス１０７は、コンピューティングデバイス１０７の処理ハードウェア上においてゲームをローカルで実行する。ゲームまたはコンテンツは、物理媒体形式等（例えば、デジタルディスク、テープ、カード、サムドライブ、ソリッドステートチップまたはカード等）の任意の形式で、またはコンピュータネットワーク１４１０からのダウンロードによって取得される。
【０１９１】
ある実施形態では、コンピューティングデバイス１０７は、コンピュータネットワーク１４１０を通じて、クラウドゲームプロバイダ１４１２と通信するクライアントとして機能する。クラウドゲームプロバイダ１４１２は、ユーザ１０６がプレイしているビデオゲームを持続し実行する。コンピューティングデバイス１０７は、ＨＭＤ１０２及びコントローラ１４０４からの入力をクラウドゲームプロバイダ１４１２に送信し、クラウドゲームプロバイダ１４１２は入力を処理して、実行されるビデオゲームのゲーム状態に影響を与える。映像データ、音声データ、及び触覚フィードバックデータ等の実行するビデオゲームからの出力は、コンピューティングデバイス１０７に伝送される。コンピューティングデバイス１０７はさらに、伝送前のデータを処理し、または、データを関連デバイスに直接送信する。例えば、映像及び音声ストリームがＨＭＤ１０２に提供される一方で、振動フィードバックコマンドが、ハンドヘルドコントローラ１１５に提供される。
【０１９２】
一実施形態では、ＨＭＤ１０２及びハンドヘルドコントローラ１１５は、コンピュータネットワーク１４１０に接続しクラウドゲームプロバイダ１４１２と通信するネットワークデバイスである。例えば、コンピューティングデバイス１０７は、他の方法ではビデオゲーム処理を実行しないが、ネットワークトラフィックの流れを促進する、ルータ等のローカルネットワークデバイスである。ＨＭＤ１０２及びハンドヘルドコントローラ１１５によるコンピュータネットワーク１４１０への接続は、有線または無線である。
【０１９３】
いくつかの実施形態では、ＨＭＤ１０２上で実行されるか、または表示デバイス１４１４上で表示可能なコンテンツを、コンテンツソース１４１６のいずれかから取得される。例示的なコンテンツソースは、例えば、ダウンロード可能なコンテンツ及び／またはストリーミングコンテンツを提供するインターネットウェブサイトを含むことができる。いくつかの例では、コンテンツは、映画、ゲーム、静的／動的コンテンツ、ピクチャ、ソーシャルメディアコンテンツ、ソーシャルメディアウェブサイト等の任意の種類のマルチメディアコンテンツを含むことができる。
【０１９４】
一実施形態では、ユーザ１０６は、ＨＭＤ１０２上でゲームをプレイしており、そのようなコンテンツは、没入型３次元（３Ｄ）対話型コンテンツである。ＨＭＤ１０２上のコンテンツは、ユーザ１０６がプレイしている間、表示デバイス１４１４に共有される。一実施形態では、表示デバイス１４１４に共有されるコンテンツにより、ユーザ１０６の近くのまたはユーザ１０６から離れた他のユーザが、ユーザ１０６のゲームプレイを一緒に見ることが可能になる。さらに別の実施形態では、表示デバイス１４１４上のユーザ１０６のゲームプレイを視認する別のプレイヤは、ユーザ１０６と対話形式で参加する。例えば、表示デバイス１４１４上でゲームプレイを視認する別のユーザは、ゲームシーン内のキャラクタを制御し、フィードバックを提供し、ソーシャル対話を提供し、及び／または、（テキストを介し、音声を介し、行動を介し、ジェスチャを介するなどして）コメントを提供することにより、ＨＭＤ１０２を装着していない他のユーザが、ユーザ１０６とソーシャル上で対話することを可能にする。
【０１９５】
一実施形態では、ハンドヘルドコントローラ１１５の代わりに、または、それに加えて、プロジェクタ１０４に対するＨＭＤ１０２の位置／方位は、本明細書に説明される方法を使用することによって判定される。
【０１９６】
図１５は、本開示に説明される実施形態に従った、ヘッドマウントディスプレイ（ＨＭＤ）１５００を例示する。ＨＭＤ１５００は、ＨＭＤ１０２（図１Ａ）の例である。示されるように、ＨＭＤ１５００は、複数の光検出器１５０２Ａ−Ｈ、Ｊ、及びＫを含む（例えば、１５０２Ｋ及び１５０２Ｊは、ＨＭＤヘッドバンドの後部または背面に向かって位置する）。これらの検出器のそれぞれは、特有の形状及び／または位置を有するように構成される。光検出器１５０２Ａ、１５０２Ｂ、１５０２Ｃ、及び１５０２Ｄは、ＨＭＤ１５００の正面（例えば、前面等）に配列される。光検出器１５０２Ｅ及び１５０２Ｆは、ＨＭＤ１５００の側面に配列される。また、光検出器１５０２Ｇ及び１５０２Ｈは、ＨＭＤ１５００の正面及び側面に及ぶように、ＨＭＤ１５００の角部に配列される。
【０１９７】
１つ以上の光検出器１５０２Ａ−Ｈ、Ｊ、及びＫによって検出された１つ以上のビーム１１０及び７０４に基づいて、環境内のＨＭＤ１５００の場所が判定される。光検出器の一部は、光検出器１０４及び７０２のうちの１つに対するＨＭＤ１５００の特定の方位に応じて、ビームを確認できないことをさらに理解されたい。いくつかの実施形態では、慣性センサは、ＨＭＤ１５００内に配置され、光検出器１５０２Ａ−Ｈ、Ｊ、及びＫの代わりに位置付けに関するフィードバックを提供する。いくつかの実施形態では、光検出器１５０２Ａ−Ｈ、Ｊ、及びＫならびに慣性センサは共に連動し、位置／動作データのミキシング及び選択を可能にする。
【０１９８】
ＨＭＤ１５００は、一実施形態では、加えて、１つ以上のマイクロホンを含む。例示される実施形態では、ＨＭＤ１５００は、ＨＭＤ１５００の正面に位置するマイクロホン１５０４Ａ及び１５０４Ｂと、ＨＭＤ１５００の側面に位置するマイクロホンとを含む。マイクロホンの配列を利用することによって、マイクロホンのそれぞれからのサウンドは、音源の場所を判定するために処理される。この情報は、不要な音源の除去、視覚識別との音源との関連付け等を含む、様々な方法で利用される。
【０１９９】
ある実施形態では、ＨＭＤ１５００は、１つ以上の画像取込デバイスを含む。例示される実施形態では、ＨＭＤ１５００は、画像取込デバイス１５０６Ａ及び１５０６Ｂを含むことが示される。ある実施形態では、画像取込デバイスの立体画像を利用することによって、実世界環境の３Ｄ画像及び映像は、ＨＭＤ１５００の視点から取り込まれる。そのような映像は、ユーザ１０６にＨＭＤ１５００を装着している間の「映像シースルー」能力を提供するために、ユーザ１０６に提示される。すなわち、ユーザ１０６が厳密にＨＭＤ１５００を透視できないにもかかわらず、それでも、画像取込デバイス１５０６Ａ及び１５０６Ｂによって取り込まれた映像は、ＨＭＤ１５００全体を見るようなＨＭＤ１５００の外部の実世界環境を確認することが可能であるものに同等の機能を提供する。
【０２００】
そのような映像は、一実施形態では、拡張現実環境を提供するために仮想要素で拡張され、または、他の方法で仮想要素と組み合わせられ、もしくは混成される。例示される実施形態では、２つのカメラがＨＭＤ１５００の正面に示されるが、外部に向いている任意の数のカメラがあってもよく、単一のカメラが、ＨＭＤ１５００に設置され、任意の方向に向けられることができることが理解されるであろう。例えば、別の実施形態では、環境の追加のパノラマ画像取込を提供するために、ＨＭＤ１５００側に搭載されたカメラがあってもよい。
【０２０１】
図１６は、ユーザ１０６によって動作するＨＭＤ１５００のビデオゲームコンテンツをレンダリングすることが可能であるクライアントシステム１６０２を使用する、ゲームプレイの一例を例示する。この例示では、ＨＭＤ１５００に提供される仮想オブジェクト（例えば、ゲームコンテンツ等）の状態は、豊富な対話型３Ｄ空間内に存在する。上記に説明されたように、仮想オブジェクトの状態がクライアントシステム１６０２にダウンロードされ、または、クラウド処理システムによって、一環境で実行される。クラウドゲームサービス１６３２は、特定のゲーム１６３０にアクセスし、体験を他の友人と共有し、コメントを投稿し、それらのアカウント情報を管理することが可能であるユーザ１６０４のデータベースを含む。
【０２０２】
クラウドゲームサービス１６３２は、ゲームプレイ中、今後のゲームプレイ中、ソーシャルメディアネットワークでの共有時に、または、トロフィー、賞、ステータス、ランキング等の記憶するために使用されるときに、利用可能であり得る特定のユーザのゲームデータ１６０６を記憶することができる。ソーシャルデータ１６０８は、クラウドゲームサービス１６３２によって管理される。一実施形態では、ソーシャルデータ１６０８は、コンピュータネットワーク１４１０を通して、クラウドゲームサービス１６３２とインターフェースされる別個のソーシャルメディアネットワークによって管理される。コンピュータネットワーク１４１０を通して、任意の数のクライアントシステム１６１０は、コンテンツへのアクセス及び他のユーザとの対話のために接続される。
【０２０３】
図１６の例を続けて説明すると、ＨＭＤ１０２で視認される３次元対話型シーンは、３Ｄビュー、または他の仮想環境で示されるキャラクタ等のゲームプレイを含む。あるキャラクタ（例えば、Ｐ１等）は、ＨＭＤ１０２を装着するユーザ１０６によって制御される。この例は、２人のプレイヤ間のバスケットのボールシーンを示し、ユーザ１０６は、３Ｄビューで別のキャラクタの上部で、ボールをダンクシュートしている。他のキャラクタは、ゲームのＡＩ（人工知能）のキャラクタであることができ、または、別の１人のプレイヤまたは複数のプレイヤ（Ｐｎ）によって制御されることができる。ＨＭＤ１０２を装着しているユーザ１０６は、ユーザの空間を中心に移動していることを示され、ＨＭＤ１０２は、ユーザ１０６の頭部の動き及び体位に基づいて周囲を移動する。室内の表示デバイス１４１４上にわたって位置付けられたカメラ１６１２が示されるが、しかしながら、ＨＭＤ１０２を使用するために、ＨＭＤ１０２の画像を取り込むことができるカメラ１６１２は、任意の場所に置かれる。したがって、カメラ１６１２の視点から、ＨＭＤ１０２内でレンダリングされるコンテンツがＨＭＤ１０２に位置付けられる方向に依存するように、カメラ１６１２及び表示デバイス１４１４から約９０度回転されたユーザ１０６が示される。当然ながら、ＨＭＤ１２０の使用中、ユーザ１０６は、ＨＭＤ１０２によってレンダリングされた動的仮想シーンを活用する必要性に応じて、動き回り、ユーザの頭部の向きを変え、様々な方向に目を向けるであろう。
【０２０４】
一実施形態では、カメラ１６１２の代わりに、または、それに加えて、プロジェクタ１０４に対するＨＭＤ１０２の位置及び／または方位は、本明細書に説明される方法を使用することによって判定される。
【０２０５】
図１７は、一実施形態に従って、使用中のＨＭＤ１０２を装着するユーザを例示する。この例では、ＨＭＤ１０２がカメラ１６１２によって取り込まれたビデオフレームから取得された画像データを使用して追跡されることが示される（１７０２）。加えて、ハンドヘルドコントローラ１１５がカメラ１６１２によって取り込まれたビデオフレームから取得された画像データを使用して追跡されることも示される（１７０４）。また、ＨＭＤ１０２がケーブル１７１０を介してコンピューティングシステム２２０２に接続される構成が示される。コンピューティングシステム２２０２は、コンピューティングシステム１０７の例である。一実施形態において、ＨＭＤ１０２は、電力を同じケーブルから取得し、または、別のケーブルに接続することができる。さらに別の実施形態では、ＨＭＤ１０２は、追加の電源コードを回避するように、再充電可能であるバッテリを有する。
【０２０６】
図１８を参照すると、本開示に説明される実施形態に従った、ＨＭＤ１８００の例示的構成要素を例示する図が示される。ＨＭＤ１８００は、図１Ａに示されるＨＭＤ１０２の例である。ＨＭＤ１８００がいくつかのカメラを含まないとき、ＨＭＤ１８００は、ＨＭＤ１０２（図１Ａ）の例である。構成及び可能になる機能に応じて、多少の構成要素がＨＭＤ１８００に含まれる、または含まれない可能性があることを理解されたい。ＨＭＤ１８００は、プログラム命令を実行するためのプロセッサ１８０２を含む。メモリデバイス１８０４は、記憶する目的で提供され、一実施形態では、揮発性と不揮発性メモリとの両方を含む。ユーザが視認する視覚インターフェースを提供する、ディスプレイ１８０６が含まれる。
【０２０７】
ディスプレイ１８０６は、１つの単一の表示画面によって、またはユーザ１０６の目毎に別個の表示画面の形態で定義される。２つの画面表示が提供されるとき、左目及び右目に映像コンテンツを別個に提供することが可能である。各目への映像コンテンツの別個の提示は、例えば、３Ｄコンテンツの没入型制御の改善をもたらす。本明細書に説明されるように、一実施形態では、第２の画面には、片方の目に対する出力を使用し、その後、２次元（２Ｄ）形式での表示のためにコンテンツをフォーマットすることによって、ＨＭＤ１８００の第２のスクリーンコンテンツが提供される。片方の目は、一実施形態では、左目の映像フィードであるが、他の実施形態では、右目の映像フィードである。
【０２０８】
バッテリ１８０８は、ＨＭＤ１８００用電源として提供される。他の実施形態では、電源は、電気系統へのコンセント接続口を含む。他の実施形態では、電気系統へのコンセント接続及びバッテリ１８０８は提供される。動き検出モジュール１８１０は、磁気計１８１２、加速度計１８１４、及びジャイロスコープ１８１６等の任意の様々な種類の動き感知ハードウェアを含む。
【０２０９】
加速度計１８１４は、加速度及び重力誘導反応力を測定するためのデバイスである。単一及び複数軸（例えば、６軸）モデルは、異なる方向の加速度の大きさ及び方向を検出することが可能である。加速度計１８１４は、傾き、振動、及び衝撃を感知するために使用される。一実施形態では、３つの加速度計は、２つの角度（ワールド空間ピッチ及びワールド空間ローラ）に関する絶対参照を与える重力方向を提供するために使用される。
【０２１０】
磁気計１８１２は、ＨＭＤ１８００の近くの磁界の強度及び方向を測定する。一実施形態では、３つの磁気計は、ＨＭＤ１８００内で使用され、ワールド空間のヨー角の絶対参照を確保する。一実施形態では、磁気計１８１２は、地磁界（±８０マイクロテルサ）に及ぶように設計される。磁気計は、金属によって影響を及ぼされ、実際のヨーで単調であるヨー測定を提供する。磁界は、ヨー測定で歪みを生じさせる環境内の金属に起因して歪められる。必要に応じて、この歪みは、ジャイロスコープまたはカメラ等の他のセンサからの情報を使用して校正される。一実施例では、加速度計１８１４は、磁気計１８１２と一緒に使用され、ＨＭＤ１８００の傾き及びアジマスを取得する。
【０２１１】
ジャイロスコープ１８１６は、角運動量の原理に基づいて、方位を測定または維持するためのデバイスである。一実施形態では、３つのジャイロスコープは、慣性感知に基づいて、それぞれの軸（ｘ、ｙ、及びｚ）にわたる移動についての情報を提供する。ジャイロスコープは、高速回転を検出することに役立つ。しかしながら、ジャイロスコープは、絶対参照の存在なしで、時間超過してドリフトする。ドリフトを減らすために、ジャイロスコープは、周期的にリセットされ、物体、加速度計、磁気計等の視覚追跡に基づいて位置／方位判定等の他の利用可能情報を使用して行われることができる。
【０２１２】
カメラ１８１８は、実世界環境の画像及び画像ストリームを取り込むために提供される。一実施形態では、２つ以上のカメラ（選択式）は、ＨＭＤ１８００内に含まれ、後向きカメラ（ユーザがＨＭＤ１８００のディスプレイを視認しているときにユーザから離れるような向きになる）と、前向きカメラ（ユーザがＨＭＤ１８００のディスプレイを視認しているときにユーザに向かった向きになる）とを含む。加えて、ある実施形態では、デプスカメラ１８２０は、実世界環境内の物体の深さ情報を感知するために、ＨＭＤ１８００内に含まれる。
【０２１３】
ＨＭＤ１８００は、音声出力を提供するためのスピーカ１８２２を含む。また、一実施形態では、マイクロホン１８２４は、周囲環境からのサウンド、ユーザによって行われるスピーチ等を含む、音声を実世界環境から取り込むために含まる。ある実施形態では、ＨＭＤ１８００は、触覚フィードバックをユーザに提供するための触覚フィードバックモジュール１８２６を含む。一実施形態では、触覚フィードバックモジュール１８２６は、触覚フィードバックをユーザに提供するように、ＨＭＤ１８００の移動及び／または振動を生じさせることが可能である。
【０２１４】
光検出器１８３０は、１つ以上のビームを検出するために提供される。カードリーダ１８３２は、ＨＭＤ１８００が、情報をメモリカードから読み取り及び情報をメモリカードに書き込むことを可能にするために提供される。ＵＳＢインターフェース１８３４は、周辺デバイスの接続または他の携帯デバイス、コンピュータ等の他のデバイスへの接続を可能にするためのインターフェースの一例として含まれる。ＨＭＤ１８００の様々な実施形態では、任意の様々な種類のインターフェースは、ＨＭＤ１８００の良好な接続性を可能にするために含まれてもよい。
【０２１５】
ある実施形態では、Ｗｉ−Ｆｉモジュール１８３６は、無線ネットワーキング技術を介して、コンピュータネットワークへの接続を可能にするために含まれる。また、ある実施形態では、ＨＭＤ１８００は、他デバイスへの無線通信を可能にするためのＢｌｕｅｔｏｏｔｈモジュール１８３８を含む。通信リンク１８４０は、他のデバイスへの接続のために含まれる。一実施形態では、通信リンク１８４０は、無線通信のための赤外線伝送を利用する。他の実施形態では、通信リンク１８４０は、他のデバイスとの通信のために、任意の様々な無線または有線伝送プロトコルを利用する。
【０２１６】
入力ボタン／センサ１８４２は、入力インターフェースをユーザに提供するために含まれる。ボタン、ジェスチャ、タッチパッド、ジョイスティック、トラックボール等の、任意の様々な種類の入力インターフェースが含まれてもよい。一実施形態では、超音波通信モジュール１８４４は、超音波技術を介して他のデバイスとの通信を容易にするために、ＨＭＤ１８００内に含まれる。
【０２１７】
ある実施形態では、生物学的センサ１８４６は、ユーザからの生理学的データの検出を可能にするために含まれる。一実施形態では、生物学的センサ１８４６は、ユーザ／外形を識別するために、ユーザの皮膚、音声検出、目の網膜検出によってユーザの生体電気信号を検出するための１つ以上の乾電極を含む。
【０２１８】
ＨＭＤ１８００の前述の構成要素は、ＨＭＤ１８００内に含み得る単なる例示的構成要素として説明されている。本開示に説明される様々な実施形態では、ＨＭＤ１８００は、様々な後述の構成要素の一部を含んでもよく、または含まなくてもよい。ＨＭＤ１８００の実施形態は、加えて、本明細書に説明されるような本発明の態様を容易にする目的のために、現在説明されないが当技術分野で既知である他の構成要素を含んでもよい。
【０２１９】
一実施形態では、ＨＭＤ１８００は、発光ダイオードを含み、その発光ダイオードは、ＨＭＤ１８００の位置及び／または方位を判定するために、光検出器１８３０に追加されて使用される。例えば、ＨＭＤ１８００が位置する環境内に位置するＬＥＤ及びカメラが、光検出器１８３０及び本明細書に説明される方法を使用して判定された位置及び／または方位を承認または拒否するために使用される。
【０２２０】
本開示に説明される様々な実施形態では、後述のハンドヘルドデバイスは、様々な対話機能を提供するために、ディスプレイ上に表示される対話型アプリケーションと併せて利用されることは、当業者によって理解されるであろう。本明細書に説明される例示的実施形態は、一例としてのみ提供されるが、これに限定されるものではない。
【０２２１】
一実施形態では、本明細書に参照されるようなクライアント及び／またはクライアントデバイスは、ＨＭＤ、端末、パーソナルコンピュータ、ゲームコンソール、タブレットコンピュータ、電話、セットトップボックス、キオスク、無線デバイス、デジタルパッド、スタンドアローンデバイス、ハンドヘルドゲームプレイデバイス、及び／または同等物を含んでもよい。通常、クライアントは、エンコードされたビデオストリームを受信し、ビデオストリームをデコードし、ユーザ（例えば、ゲームのプレイヤ）に結果として得られた映像を提示するように構成される。エンコードされたビデオストリームの受信及び／またはビデオストリームのデコードの処理は通常、クライアントの受信バッファ内に個別の映像フレームを記憶することを含む。ビデオストリームは、クライアントと一体化されたディスプレイ上で、または、モニタもしくはテレビ等の別個のデバイス上で、ユーザに提示されてもよい。
【０２２２】
クライアントは、随意に、２人以上のゲームプレイヤをサポートするように構成される。例えば、ゲームコンソールは、２人、３人、４人、またはそれ以上の同時プレイヤ（例えば、Ｐ１、Ｐ２、・・・Ｐｎ）をサポートするように構成されてもよい。これらのプレイヤのそれぞれがビデストリームを受信もしくは共有し、または単一のビデオストリームが、プレイヤごとに特別に生成された（例えば、各プレイヤの視点に基づき生成された）フレームの領域を含んでもよい。任意の数のクライアントは、ローカル（例えば、同一場所）に存在し、または地理的に分散される。ゲームシステムに含まれるクライアントの数は、１または２〜数千、数万以上まで、大きく変化する。本明細書において使用されるように、用語「ゲームプレイヤ」は、ゲームをプレイする人を指し、「ゲームプレイデバイス」は、ゲームをプレイするために使用されるデバイスを指す。いくつかの実施形態では、ゲームプレイデバイスは、ゲーム体験をユーザに提供するために協働する複数のコンピューティングデバイスを指してもよい。
【０２２３】
例えば、ゲームコンソール及びＨＭＤは、映像サーバシステムと協働して、ＨＭＤを通じて視認されるゲームを提供する。一実施形態では、ゲームコンソールは、ビデオストリームを映像サーバシステムから受信し、ゲームコンソールは、レンダリングのために、ＨＭＤ及び／またはテレビに対して、ビデオストリームを転送するか、またはビデオストリームを更新する。
【０２２４】
さらに、ＨＭＤは、任意の種類のコンテンツ（ビデオゲームコンテンツ、映画コンテンツ、ビデオクリップコンテンツ、ウェブコンテンツ、広告コンテンツ、コンテストコンテンツ、跳ね回りゲーム、電話会議／ミーティングコンテンツ、ソーシャルメディア（例えば、投稿、メッセージ、メディアストリーム、友人のイベント、及び／またはゲームプレイ）、ビデオポーション、及び／または音声コンテンツのような作成または使用されたもの）と、ブラウザ及びアプリケーションを介してインターネットを通してソースから消費されたコンテンツと、任意の種類のストリーミングコンテンツとを視認するために、及び／または、それらと相互作用するために使用される。当然ながら、任意の種類のコンテンツがＨＭＤ内で視認されることができる、または、ある画面もしくはＨＭＤの画面にレンダリングされることができる限り、レンダリングされることができるように、前述のコンテンツリストは限定されていない。
【０２２５】
一実施形態では、クライアントはさらに、受信された映像を修正するためのシステムを含む。例えば、クライアントは、１つの映像を別の映像に重ね、映像をクロップし、及び／または同等のことをするために、さらなるレンダリングを行う。別の例として、クライアントは、Ｉフレーム、Ｐフレーム、及びＢフレーム等の様々な種類の映像フレームを受信し、ユーザに表示するために、これらのフレームを画像に処理する。いくつかの実施形態において、クライアントの要素は、レンダリング、シェーディング、３Ｄへの変換、２Ｄへの変換、歪み除去、サイジング、またはビデオストリーム上で同様の動作をさらに行うように構成される。クライアントの要素は、随意に、２つ以上の音声またはビデオストリームを受信するように構成される。
【０２２６】
クライアントの入力デバイスは、例えば、片手ゲームコントローラ、両手ゲームコントローラ、ジェスチャ認識システム、視線認識システム、音声認識システム、キーボード、ジョイスティック、ポインティングデバイス、力フィードバックデバイス、動き、及び／もしくは場所感知装置、マウス、タッチスクリーン、ニュートラルインターフェース、カメラ、まだ開発されていない入力デバイス、ならびに／または同等物を含む。
【０２２７】
映像ソースは、レンダリング論理、例えば、ハードウェア、ファームウェア、及び／または、記憶装置等のコンピュータ可読媒体上に記憶されるソフトウェアを含む。このレンダリングロジックは、ゲーム映像状態に基づいて、ビデオストリームの映像フレームを作成するように構成される。レンダリング論理の全部または一部は、１つ以上のグラフィック処理ユニット（ＧＰＵ）内に随意に配置される。レンダリング論理は通常、ゲーム状態及び視点に基づいて、対象物間の３次元空間的関係を決定するために及び／または適切なテクスチャを付与するように構成される処理ステージを含む。レンダリング論理は、エンコードされた生映像を生成する。例えば、生映像は、Ａｄｏｂｅ  Ｆｌａｓｈ（登録商標）規格、ＨＴＭＬ−５、．ｗａｖ、Ｈ．２６４、Ｈ．２６３、Ｏｎ２、ＶＰ６、ＶＣ−１、ＷＭＡ、Ｈｕｆｆｙｕｖ、Ｌａｇａｒｉｔｈ、ＭＰＧ−ｘ、Ｘｖｉｄ、ＦＦｍｐｅｇ、ｘ２６４、ＶＰ６−８、ｒｅａｌ  ｖｉｄｅｏ、ｍｐ３、または同等物によってエンコードされる。エンコード処理により、デバイス上のデコーダへの提供のために随意にパッケージされるビデオストリームが作成される。ビデオストリームは、フレームサイズ及びフレームレートによって特徴付けられる。典型的なフレームサイズは、８００ｘ６００、１２８０ｘ７２０（例えば、７２０ｐ）、１０２４ｘ７６８、１０８０ｐを含むが、任意の他のフレームサイズが使用されてもよい。フレームレートは、毎秒の映像フレームの数である。一実施形態では、ビデオストリームは、異なる種類の映像フレームを含む。例えば、Ｈ．２６４規格は、「Ｐ」フレーム及び「Ｉ」フレームを含む。Ｉフレームは、表示デバイス上の全てのマクロブロック／画素をリフレッシュする情報を含む一方、Ｐフレームは、そのサブセットをリフレッシュする情報を含む。Ｐフレームのデータサイズは、通常、Ｉフレームよりも小さい。本明細書に使用されるように、用語「フレームサイズ」は、フレーム内の画素数を指すことを意味する。用語「フレームデータサイズ」は、フレームを記憶するために必要なバイト数を指すために使用される。
【０２２８】
いくつかの実施形態では、クライアントは、汎用コンピュータ、専用コンピュータ、ゲーム機、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、モバイルコンピューティングデバイス、携帯ゲーム機、携帯電話、セットトップボックス、ストリーミングメディアインターフェース／デバイス、多機能テレビもしくはネットワークディスプレイ、または本明細書に定義されるようなクライアントの機能を満足するように構成することが可能である任意の他のコンピューティングデバイスである。一実施形態では、クラウドゲームサーバは、ユーザによって利用されているクライアントデバイスの種類を検出するように構成され、ユーザのクライアントデバイスに適切であるクラウドゲーム環境を提供するように構成される。例えば、画像設定、音声設定、及び他の種類の設定は、ユーザのクライアントデバイス向けに最適化されてもよい。
【０２２９】
図１９は、情報サービスプロバイダアーキテクチャの実施形態を例示する。情報サービスプロバイダ（ＩＳＰ）１９０２は、多数の情報サービスをユーザ１９００−１、１９００−２、１９００−３、１９００−４（例えば、コンピュータネットワーク１４１０を介して、地理的に分散され及び接続される）に提供する。一実施形態では、ＩＳＰは、株価最新情報等の一種類のサービス、または放送メディア、ニュース、スポーツ、ゲーム等の様々なサービスを提供する。加えて、各ＩＳＰによって提供されるサービスは動的であり、すなわち、そのサービスは、時間内に任意の点において追加され、または取り除かれることができる。したがって、特定の種類のサービスを特定の個人に提供するＩＳＰは、経時的に変化することができる。例えば、ユーザがホームタウンにいる間、ＩＳＰがユーザの近くでユーザのための役割を果たし、ユーザが異なる町で旅行しているとき、異なるＩＳＰがユーザのための役割を果たす。ホームタウンＩＳＰが必要情報及びデータを新しいＩＳＰを転送することにより、ユーザ情報は新しい町までユーザに「随行」し、ユーザにより近く及びよりアクセスしやすいデータを作る。別の実施形態では、マスターサーバの関係性は、ユーザ用の情報を管理するマスターＩＳＰと、マスターＩＳＰからの制御下でのユーザと直接インターフェース接続するサーバＩＳＰとの間で確立される。別の実施形態では、クライアントが世界中を移動しＩＳＰを良好な位置にさせ、これらのサービスを提供するものをユーザにサービスを行うとき、データは、あるＩＳＰから別のＩＳＰに転送される。
【０２３０】
ＩＳＰ１９０２は、コンピュータベースのサービスを顧客にコンピュータネットワーク１４１０を介して提供する、アプリケーションサービスプロバイダ（ＡＳＰ）１９０６を含む。また、ＡＳＰモデルを使用して提供されたソフトは、時々、オンデマンドソフトウェアまたはサービス型ソフトウェア（ＳａａＳ）と呼ばれる。特定のアプリケーションプログラム（顧客関係管理等）へのアクセスを提供するための単純形式は、ＨＴＴＰ等の標準プロトコルを使用するものである。アプリケーションソフトウェアは、ベンダシステム上に存在し、ベンダによって提供される特殊用途クライアントソフトウェアまたはシンクライアント等の他のリモートインターフェースによって、ＨＴＭＬを使用してウェブブラウザを経由してユーザによってアクセスされる。
【０２３１】
広い地理的エリアを通して提供されるサービスは、多くの場合、クラウドコンピューティングを使用する。クラウドコンピューティングは、動的に拡張可能で及びほとんどの場合仮想化されたリソースがコンピュータネットワーク１４１０を通したサービスとして提供される、コンピューティングのスタイルである。ユーザは、ユーザをサポートする「クラウド」内の技術基盤における専門家である必要はない。一実施形態では、クラウドコンピューティングは、サービス型インフラストラクチャ（ＩａａＳ）、サービス型プラットフォーム（ＰａａＳ）、及びサービス型ソフトウェア（ＳａａＳ）等の異なるサービスで分けられる。クラウドコンピューティングサービスは、多くの場合、ウェブブラウザからアクセスされる共通ビジネスアプリケーションオンラインを提供する一方、ソフトウェア及びデータは、サーバ上に記憶される。用語「クラウド」は、インターネットがコンピュータネットワーク図にどのように描写されたかと、隠される複雑なインフラストラクチャに関する抽出されたものとに基づく、インターネット（例えば、使用サーバ、ストレージ、及び論理回路）の比喩として使用される。
【０２３２】
さらに、ＩＳＰ１９０２は、１人用及び多人数参加型ビデオゲームをプレイするゲームクライアントによって使用されるゲーム処理サーバ（ＧＰＳ）１９０８を含む。インターネットを通してプレイする大部分のビデオゲームは、ゲームサーバへの接続を介して動作する。通常、ゲームは、データをプレイヤから収集し及び他のプレイヤに分配する、専用サーバアプリケーションを使用する。これは、ピアツーピア配列よりも効率的及び効果的であるが、サーバアプリケーションをホストする別個のサーバを必要とする。別の実施形態では、ＧＰＳは、プレイヤ間の通信を確立し、プレイヤのそれぞれのゲームプレイデバイスは、集中ＧＰＳに頼ることなく、情報交換を行う。
【０２３３】
専用ＧＰＳは、クライアントから独立して起動するサーバである。そのようなサーバは、通常、データセンタ内に位置する専用ハードウェア上で起動し、より大きい帯域幅及び専用処理能力を提供する。専用サーバは、大部分のＰＣベースの多人数参加型ゲーム用のゲームサーバをホストする推奨方法である。多人数同時参加型オンラインゲームは、通常、ゲームタイトルを所有するソフトウェア会社によってホストされ、サーバがコンテンツを制御及び更新することを可能にする。
【０２３４】
放送処理サーバ（ＢＰＳ）１９１０は、音声信号またはビデオ信号を視聴者に分配する。視聴者の非常に狭い範囲への放送は、時々、ナローキャスティングと呼ばれる。放送分配の最終行程は、信号が聴取者または視聴者にどのように届けるかの方法が考察される。ラジオ局もしくはテレビ局と同様に、信号がアンテナ及び受信器に電波で届けられ、または、放送局を介してもしくはネットワークから直接、ケーブルテレビもしくはケーブルラジオ（または「無線ケーブル」）を経由して、信号が届けられる。また、インターネットは、特に、信号及び帯域幅が共有されることを可能にするマルチキャストで、ラジオまたはテレビのどちらか一方を受信者に届ける。歴史的に、放送は、全国放送または地方放送等の地理的領域によって区切られている。しかしながら、高速インターネットの普及により、コンテンツが世界中のほとんど全ての国に届くことができるように、放送は地理によって定義されていない。
【０２３５】
ストレージサービスプロバイダ（ＳＳＰ）１９１２は、コンピュータストレージスペース及び関連管理サービスを提供する。ＳＳＰは、また、定期的なバックアップ及びアーカイブを提供する。ストレージをサービスとして提供することによって、ユーザは、必要に応じて、より多くのストレージを注文することができる。別の大きな利点は、ＳＳＰがバックアップサービスを含み、ユーザのコンピュータのハードディスクが機能しなくなる場合、ユーザは全てのユーザデータを失わないであろうことである。さらに、ある実施形態では、複数のＳＳＰは、ユーザデータの全部または一部のコピーを有し、ユーザが位置する場所またはデバイスがデータにアクセスするために使用される場所から独立して、ユーザが効率的方法でデータにアクセスすることを可能にする。例えば、ユーザが移動中に、ユーザがホームコンピュータ内及び携帯電話内の個人ファイルにアクセスすることできる。
【０２３６】
通信プロバイダ１９１４は、ユーザへの接続性を提供する。ある種類の通信プロバイダは、インターネットへのアクセスを提供する、インターネットサービスプロバイダ（ＩＳＰ）である。ダイアルアップ、ＤＳＬ、ケーブルモデム、ファイバー、無線、または専用高速相互接続等のインターネットプロトコルデータグラムを提供するために適切なデータ伝送技術を使用して、ＩＳＰは、その顧客を接続させる。通信プロバイダは、また、ｅメール、インスタントメッセージ、及びＳＭＳテキストメッセージ等のメッセージサービスを提供することができる。別の種類の通信プロバイダは、インターネットへの直接バックボーンアクセスを提供することによって帯域幅またはネットワークアクセスを販売するネットワークサービスプロバイダ（ＮＳＰ）である。ネットワークサービスプロバイダは、一実施形態では、電気通信会社、データキャリア、無線通信プロバイダ、インターネットサービスプロバイダ、高速インターネットアクセスを提供するケーブルテレビ運営業者等を含む。
【０２３７】
データ交換器１９０４は、ＩＳＰ１９０２内の数個のモジュールを相互接続させ、これらのモジュールをユーザ１９００にコンピュータネットワーク１４１０を介して接続する。データ交換器１９０４は、ＩＳＰ１９０２の全てのモジュールが近接する小さいエリアが範囲となり、または、異なるモジュールが地理的に分散されるとき、大きいエリアが範囲となる。例えば、データ交換器１９８８は、データセンタのキャビネット内の高速ギガビットイーサネット（登録商標）（または、さらに高速なもの）、または大陸間仮想エリアネットワーク（ＶＬＡＮ）を含む。
【０２３８】
ユーザ１９００は、少なくとも、ＣＰＵ、ディスプレイ、及び入力／出力（Ｉ／Ｏ）デバイスを含むクライアントデバイス１９２０で、リモートサービスにアクセスする。クライアントデバイスは、パーソナルコンピュータ（ＰＣ）、携帯電話、ノートブック、タブレット、ゲーム機、パーソナルデジタルアシスタント（ＰＤＡ）等であることができる。一実施形態では、ＩＳＰ１９０２は、クライアントによって使用されるデバイスの種類を認識し、採用される通信方法を調整する。他の場合、クライアントデバイスは、標準の通信方法（例えば、ｈｔｍｌ）を使用し、ＩＳＰ１９０２にアクセスする。
【０２３９】
図２０は、ＨＭＤ２０００の実施形態の図である。ＨＭＤ２０００は、ＨＭＤ１０２（図１Ａ）の例である。ＨＭＤ２０００は、光検出器の配列を含む。光検出器の一部は、２００６としてラベルで示される。ＨＭＤ２０００の光検出器の全てが、混乱を避けるためにラベルで示されるとは限らない。光検出器２００６は、光検出器１０５ａの例である。ＨＭＤ２０００の光検出器は、ＨＭＤ２０００の前面２００２の幅に沿って垂直に分散され、また、ＨＭＤ２０００の前面２００２の高さにわたって水平に分配される。また、ある実施形態では、ＨＭＤ２０００の光検出器の一部が、ＨＭＤ２０００のヘッドバンド２００４上に位置する。プロジェクタ１０４に対する２つ以上の光検出器の方位が把握されたとき、プロジェクタ１０４に対するＨＭＤ２０００の方位は、コンピューティングデバイス１０７のプロセッサ３０２によって判定される。一実施形態では、ＨＭＤ２０００の各光検出器２００６は、一意の識別コードを用いて、コンピューティングデバイス１０７のプロセッサ３０２によって識別される。
【０２４０】
矢印は、光検出器２００６が向いている方向を示すために提供される。例えば、ＨＭＤ２０００の上左角部の光検出器２００６のレンズは上向きであるが、垂直線２００７に対して角度付けられる。別の例として、ＨＭＤ２０００の中間左角部の光検出器２００６のレンズは、垂直線２００７に対して９０度の角度に向いている。さらなる別の例として、ＨＭＤ２０００の中間上角部の光検出器２００６のレンズは、垂直線２００７に対して０度の角度を形成するように垂直に上に向いている。さらに別の例として、ＨＭＤ２０００の中間下角部の光検出器２００６のレンズは、垂直線２００７に対して１８０度の角度を形成するように垂直に下に向いている。さらに別の例として、ＨＭＤ２０００の中間部の光検出器２００６のレンズは、垂直線２００７に対して９０度の角度を形成するように、図２０の紙面の外側に向いている。
【０２４１】
いくつかの実施形態では、光検出器２００６が前面２００２の表面の置かれたパターンの例は、ランダム非平面パターン、ジグザグパターン、曲線パターン、直線パターン、曲線及び直線パターンの組み合わせ等を含む。様々な実施形態では、光検出器２００６は、図２０に例示されるものに比べて、前面２００２及び／または垂直線２００７に対して異なる角度で置かれる。
【０２４２】
一実施形態では、ＨＭＤ２０００は、前面カバー２０１０（例えば、ガラスカバー、プラスチックカバー、影付きカバー、色付きカバー等）を有し、前面カバーは、前面２００２の上を通るような埋め込まれたレンズ２００８を有する。各レンズ２００８は、ＨＭＤ２０００の対応する光検出器２００６の上部に位置する。レンズ２００８は、迷光をビーム１１０から指向（例えば、屈折等）させ、レンズ下部に位置する対応する光検出器２００６上へのビーム１１０の入射を容易にする。
【０２４３】
ある実施形態では、光検出器の１つは、光検出器の別の１つと比較して、ＨＭＤ２０００の前面２００２に対して異なる角度を形成する。
【０２４４】
一実施形態では、ＨＭＤ２０００の光検出器の全ては、ＨＭＤ２０００の前面（例えば、正面等）に対して同じ角度を有する。
【０２４５】
ある実施形態では、各光検出器２００６は、湾曲を有する。一実施形態において、その湾曲は、光に曝され、または曝されない。
【０２４６】
本開示に説明される実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースの家電製品またはプログラム可能な家電製品、ミニコンピュータ、メインフレームコンピュータ、及び同等物を含む、様々なコンピュータシステム構成によって実施されてもよい。本開示に説明される実施形態は、また、有線ベースネットワークまたは無線ネットワークを経由してリンクされる遠隔処理デバイスによってタスクが行われる分散型コンピューティング環境内で実施されることができる。
【０２４７】
上述の実施形態を考慮し、本開示に説明される実施形態が、コンピュータシステムに記憶されたデータを含有する様々なコンピュータ実装動作を採用することができることを理解されたい。これらの動作は、物理量の物理的操作を必要とするものである。本開示に説明される実施形態の一部を形成する本明細書に説明される動作のいずれかは、有用な機械動作である。本明細書に説明されるいくつかの実施形態は、また、これらの動作を実行するためのデバイスまたは装置に関する。本装置は、必要な目的のために特別に構築されることができ、または、本装置は、コンピュータ内に記憶されたコンピュータプログラムによって選択的に作動もしくは構成される汎用コンピュータであることができる。特に、様々な汎用機械は、本明細書の教示に従って、書き込まれたコンピュータプログラムを用いて使用されることができる、または、より特殊な装置を構築し必要動作を行うことがより便利になり得る。
【０２４８】
本開示に説明されるいくつかの実施形態は、また、コンピュータ可読媒体上のコンピュータ可読コードとして具現化されることができる。コンピュータ可読媒体は、コンピュータシステムが後で読み取ることができるデータを記憶することができる任意のデータ記憶装置である。コンピュータ可読媒体の例は、ハードドライブ、ＮＡＳ、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、光学データストレージデバイス、及び非光学データストレージデバイス等を含む。コンピュータ可読媒体は、コンピュータ可読コードが記憶され、ある分散方式で実行されるように、ネットワーク接続コンピュータシステム上で分散されるコンピュータ可読有形媒体を含むことができる。
【０２４９】
いくつかの実施形態では、本開示に説明される実施形態のいずれかは、残りの実施形態のいずれかと組み合わせられることに留意されたい。
【０２５０】
さらに、上記に説明された実施形態の一部がゲーム環境に関して説明されるが、いくつかの実施形態では、ゲームの代わりに、他の実施形態（例えば、ビデオ会議等）が使用される。
【０２５１】
本方法の動作は特定の順番で記載されていたが、動作の間で他のハウスキーピング動作が行われてもよいこと、または、動作が若干異なる回数で発生するように調節されてもよいこと、または、システム内で分散され、それによって、オーバーレイ動作の処理が所望の方法で実行される限りは、処理に関連する様々な間隔で処理動作の発生が可能になってもよいことを理解されたい。
【０２５２】
本開示に説明される前述の実施形態について、理解を明確にするために、ある程度詳細に説明してきたが、特定の変更および修正が、添付の特許請求の範囲内で実施され得ることは明らかである。したがって、記載された実施形態は例示であり、限定するものではないと考えられるべきであり、本実施形態は、本明細書に与えられた詳細に限定されるものではなく、添付の特許請求の範囲および均等物内で修正されてもよい。
【図１Ａ】
0006599544.tif 000002
【図１Ｂ】
0006599544.tif 000003
【図２】
0006599544.tif 000004
【図３】
0006599544.tif 000005
【図４Ａ】
0006599544.tif 000006
【図４Ｂ】
0006599544.tif 000007
【図４Ｃ】
0006599544.tif 000008
【図４Ｄ】
0006599544.tif 000009
【図４Ｅ】
0006599544.tif 000010
【図５】
0006599544.tif 000011
【図６Ａ】
0006599544.tif 000012
【図６Ｂ】
0006599544.tif 000013
【図６Ｃ】
0006599544.tif 000014
【図６Ｄ】
0006599544.tif 000015
【図７Ａ】
0006599544.tif 000016
【図７Ｂ】
0006599544.tif 000017
【図８Ａ】
0006599544.tif 000018
【図８Ｂ】
0006599544.tif 000019
【図８Ｃ】
0006599544.tif 000020
【図８Ｄ】
0006599544.tif 000021
【図８Ｅ】
0006599544.tif 000022
【図８Ｆ】
0006599544.tif 000023
【図８Ｇ】
0006599544.tif 000024
【図９】
0006599544.tif 000025
【図１０】
0006599544.tif 000026
【図１１】
0006599544.tif 000027
【図１２】
0006599544.tif 000028
【図１３】
0006599544.tif 000029
【図１４】
0006599544.tif 000030
【図１５】
0006599544.tif 000031
【図１６】
0006599544.tif 000032
【図１７】
0006599544.tif 000033
【図１８】
0006599544.tif 000034
【図１９】
0006599544.tif 000035
【図２０】
0006599544.tif 000036