(57)【要約】本発明は、概して、ユーザが装着するための頭部ユニットと、ユーザが、その手に保持し、ユーザによって見られる仮想オブジェクトの場所を決定する、トーテムとを有する、ユーザ相互作用システムに関する。融合ルーチンが、ＥＭ波およびトーテムＩＭＵデータの組み合わせに基づいて、世界フレーム内のトーテムの融合場所を生成する。融合姿勢は、センサのモデル不整合に起因して、経時的にドリフトし得る。非融合姿勢決定モデラは、世界フレームに対するトーテムの非融合姿勢をルーチン的に確立する。ドリフトは、融合姿勢と非融合姿勢との間の差異が所定の最大距離を上回るときに宣言される。
2021533479.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ相互作用システムであって、
トーテムであって、
トーテム本体と、
前記トーテム本体上の電磁（ＥＭ）伝送機と、
前記トーテム上に位置し、前記トーテムの移動に起因して、トーテムＩＭＵ信号を生成する、トーテム慣性測定ユニット（ＩＭＵ）と
を有する、トーテムと、
頭部ユニットであって、
頭部ユニット本体と、
前記頭部ユニット本体上にあって、前記ＥＭ伝送機によって伝送されるＥＭ波を受信するＥＭ受信機であって、前記ＥＭ波は、前記トーテムの場所を示す、ＥＭ受信機と
を有する、頭部ユニットと、
プロセッサと、
前記プロセッサに接続される記憶デバイスと、
命令のセットであって、前記命令のセットは、
世界フレームと、
融合ルーチンであって、前記融合ルーチンは、前記ＥＭ受信機および前記トーテムＩＭＵに接続され、前記ＥＭ波、前記頭部ユニット姿勢、および前記トーテムＩＭＵデータの組み合わせに基づいて、前記世界フレーム内の前記トーテムの融合姿勢を生成する、融合ルーチンと、
非融合姿勢決定モデラであって、前記非融合姿勢決定モデラは、前記頭部ユニットに対する前記トーテムの姿勢および前記世界フレームに対する前記頭部ユニットの姿勢を決定し、前記世界フレームに対する前記トーテムの非融合姿勢を確立する、非融合姿勢決定モデラと、
融合姿勢決定モデラおよび前記非融合姿勢決定モデラに接続され、融合姿勢と非融合姿勢を比較するコンパレータと、
前記コンパレータに接続され、前記融合姿勢が前記非融合姿勢から所定の距離を上回る場合のみ、ドリフトを宣言するドリフトディクレアラと、
前記ドリフトディクレアラに接続され、前記ドリフトが宣言される場合のみ、前記トーテムＩＭＵの姿勢をリセットし、前記非融合場所にマッチングさせる場所補正ルーチンと、
画像データを搬送するデータソースと、
前記データソースに接続され、前記画像データを使用して、仮想オブジェクトをユーザに表示するディスプレイシステムであって、前記仮想オブジェクトの場所は、前記トーテムの融合場所に基づく、ディスプレイシステムと
を含む、前記記憶デバイス上にあって、前記プロセッサによって実行可能である、命令のセットと
を備える、ユーザ相互作用システム。
【請求項２】
前記データチャネルに接続され、前記画像データを受信する入力と、前記ディスプレイシステムへの出力とを有するレンダリングエンジンであって、前記レンダリングエンジンは、前記融合姿勢に位置付けられる前記仮想オブジェクトを含むデータストリームを前記ディスプレイシステムに提供する、レンダリングエンジン
をさらに備える、請求項１に記載のユーザ相互作用システム。
【請求項３】
前記トーテムＩＭＵは、前記仮想オブジェクトのジッタを低減させる、請求項１に記載のユーザ相互作用システム。
【請求項４】
前記トーテムＩＭＵは、ジャイロスコープおよび加速度計のうちの少なくとも１つを含む、請求項１に記載のユーザ相互作用システム。
【請求項５】
前記融合ルーチンは、第１の周波数において実行し、前記非融合姿勢決定モデラは、前記第１の周波数と異なる第２の周波数において実行する、請求項１に記載のユーザ相互作用システム。
【請求項６】
前記ＥＭ受信機は、前記ＥＭ受信機に対する前記ＥＭ伝送機の６自由度（「６ｄｏｆ」）移動を検出する、請求項１に記載のユーザ相互作用システム。
【請求項７】
前記所定の距離は、１００ｍｍ未満である、請求項１に記載のユーザ相互作用システム。
【請求項８】
前記頭部ユニット本体上のカメラであって、前記カメラは、前記トーテムの画像を捕捉するように位置付けられる、カメラと、
前記カメラに接続され、前記トーテムの画像を受信する同時位置特定およびマッピング（ＳＬＡＭ）システムであって、前記ＳＬＡＭシステムは、前記トーテムの画像に基づいて、前記非融合姿勢を決定する、ＳＬＡＭシステムと
をさらに備える、請求項１に記載のユーザ相互作用システム。
【請求項９】
前記ディスプレイシステムは、
透明導波管であって、前記透明導波管は、前記トーテムからの光を前記頭部ユニット本体を装着しているユーザの眼に通過させる前記頭部ユニット本体に固着される、透明導波管と、
その画像データを光に変換するプロジェクタであって、前記プロジェクタからの光は、入射瞳において、前記導波管の中に入射し、射出瞳において、前記導波管から前記ユーザの眼に出射する、プロジェクタと
を含む、請求項１に記載のユーザ相互作用システム。
【請求項１０】
前記頭部搭載可能フレームの移動を検出する頭部ユニット検出デバイス
をさらに備え、前記命令のセットは、
ディスプレイ調節アルゴリズムであって、前記ディスプレイ調節アルゴリズムは、前記頭部ユニット検出デバイスに接続され、前記頭部ユニット検出デバイスによって検出された移動に基づいて、測定値を受信し、設置値を計算する、ディスプレイ調節アルゴリズムと、
前記設置値に基づいて、前記眼のビュー内の前記仮想オブジェクトの位置を修正するレンダリングエンジンと
を含む、請求項１に記載のユーザ相互作用システム。
【請求項１１】
前記頭部ユニット検出デバイスは、
前記頭部搭載可能フレームに搭載される頭部ユニットＩＭＵであって、前記頭部ユニットＩＭＵは、前記頭部搭載可能フレームの移動を検出する運動センサを含み、前記頭部ユニットＩＭＵは、ジャイロスコープおよび加速度計のうちの少なくとも１つを含む、頭部ユニットＩＭＵ
を含む、請求項１０に記載のユーザ相互作用システム。
【請求項１２】
前記頭部ユニット検出デバイスは、
前記頭部搭載可能フレームに搭載される頭部ユニットカメラであって、前記頭部ユニットカメラは、前記頭部ユニットカメラのビュー内のオブジェクトの画像を撮影することによって、前記頭部搭載可能フレームの移動を検出する、頭部ユニットカメラ
を含み、前記命令のセットは、
前記カメラに接続され、前記オブジェクトの画像を受信し、前記頭部ユニット本体の姿勢位置を検出する同時位置特定およびマッピング（ＳＬＡＭ）システムであって、前記レンダリングエンジンは、前記姿勢位置に基づいて、前記仮想オブジェクトの位置を修正する、ＳＬＡＭシステム
を含む、請求項１０に記載のユーザ相互作用システム。
【請求項１３】
前記場所補正ルーチンは、
リグフレームを記憶することであって、前記リグフレームは、前記頭部ユニットの接眼レンズ間に位置する数学的オブジェクトであり、オブジェクトが前記頭部ユニットに対して存在する場所を定義するための基礎としての役割を果たす、ことと、
前記リグフレームが前記世界フレームに対して取っているリグフレーム姿勢を決定するための測定を行うことと、
前記ＥＭ受信機と前記リグフレームとの間の関係に関する工場レベル較正によって提供されるような既知の付帯性質を使用して、世界に対する受信機姿勢を導出することと、
前記ＥＭ受信機とＥＭ伝送機との間のＥＭ関係を推定し、世界内伝送機姿勢を導出することと、
前記ＥＭ伝送機と前記トーテムＩＭＵとの間の関係に関する前記トーテムの既知の付帯性質を使用して、世界内トーテムＩＭＵ姿勢を非融合姿勢として導出することと
を含む方法を行うように実行可能である、請求項１に記載のユーザ相互作用システム。
【請求項１４】
ユーザ相互作用システムであって、
トーテム本体上のＥＭ伝送機を用いて、電磁（ＥＭ）波を伝送することと、
トーテムの移動に起因して、前記トーテム本体上のトーテムＩＭＵを用いて、トーテム慣性測定ユニット（ＩＭＵ）信号を生成することと、
ユーザの頭部上の頭部ユニット本体を位置特定することと、
前記頭部ユニット本体上のＥＭ受信機によって、前記ＥＭ伝送機によって伝送される前記ＥＭ波を受信することであって、前記ＥＭ波は、前記トーテムの姿勢を示す、ことと、
世界フレームを記憶することと、
プロセッサを用いて、融合ルーチンを実行し、前記ＥＭ波、頭部ユニット姿勢、および前記トーテムＩＭＵデータの組み合わせに基づいて、前記世界フレーム内の前記トーテムの融合姿勢を生成することと、
前記プロセッサを用いて、前記頭部ユニットに対する前記トーテムの姿勢および前記世界フレームに対する前記頭部ユニットの場所を決定し、前記世界フレームに対する前記トーテムの非融合姿勢を確立する、非融合姿勢決定モデラを実行することと、
前記プロセッサを用いて、コンパレータを実行し、前記融合姿勢と前記非融合姿勢を比較することと、
前記プロセッサを用いて、ドリフトディクレアラを実行し、前記融合姿勢が前記非融合姿勢から所定の姿勢を上回る場合のみ、ドリフトを宣言することと、
前記プロセッサを用いて、姿勢補正ルーチンを実行し、前記ドリフトが宣言される場合のみ、前記トーテムＩＭＵの姿勢をリセットし、前記非融合姿勢にマッチングさせることと、
画像データをデータソースから受信することと、
前記データソースに接続されるディスプレイシステムを用いて、前記画像データを使用して、仮想オブジェクトをユーザに表示することであって、前記仮想オブジェクトの場所は、前記トーテムの融合姿勢に基づく、ことと
を含む、ユーザ相互作用システム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、その全てが、参照することによってその全体として本明細書に組み込まれる、２０１８年８月３日に出願された米国仮特許出願第６２／７１４，６０９号および２０１９年３月１３日に出願された米国仮特許出願第６２／８１８，０３２号の優先権を主張する。
【０００２】
本発明は、６自由度（「６ｄｏｆ」）姿勢、すなわち、ユーザによって知覚される仮想オブジェクトの姿勢を定義する、トーテムを有する、ユーザ相互作用システムに関する。
【背景技術】
【０００３】
現代のコンピューティングおよびディスプレイ技術は、「拡張現実」視認デバイスを含む、ユーザ相互作用システムの開発を促進している。そのような視認デバイスは、通常、ユーザの頭部に搭載可能であって、ユーザの各眼の正面に１つずつ、２つの導波管を含む場合が多い、頭部ユニット本体を伴う、頭部ユニットを有する。導波管は、実世界オブジェクトからの周囲光が導波管を通して透過し得、ユーザに実世界オブジェクトが見え得るように、透明である。各導波管はまた、プロジェクタから投影された光をユーザの個別の眼に透過させる役割を果たす。投影された光は、画像を眼の網膜上に形成する。眼の網膜は、したがって、周囲光および投影された光を受光する。ユーザには、同時に、実世界オブジェクトと、投影された光によって作成される、１つ以上の仮想オブジェクトとが見える。
【０００４】
そのようなユーザ相互作用システムは、多くの場合、トーテムを含む。ユーザは、例えば、トーテムをその右手に保持し、３次元空間内で６自由度を伴って、トーテムを移動させてもよい。仮想オブジェクトは、トーテムに取り付けられており、３次元空間内のトーテムに伴って移動するように、ユーザによって知覚されてもよい、または仮想オブジェクトは、壁に衝打する光ビームまたはユーザが壁を横断して移動させる別のオブジェクトの知覚であってもよい。
【０００５】
仮想オブジェクトが、トーテムに対してその現実的姿勢のままであることが重要である。例えば、トーテムが、ラケットの柄を表し、仮想オブジェクトが、ラケットのヘッドを表す場合、ラケットのヘッドは、経時的に、ラケットの柄に「取り付けられた」ままである必要がある。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明は、トーテム本体と、トーテム本体上の電磁（ＥＭ）伝送機と、トーテム上に位置し、トーテムの移動に起因して、トーテムＩＭＵ信号を生成する、トーテム慣性測定ユニット（ＩＭＵ）とを有する、トーテムと、頭部ユニット本体と、頭部ユニット本体上にあって、ＥＭ伝送機によって伝送されるＥＭ波であって、トーテムの場所を示す、ＥＭ波を受信する、ＥＭ受信機とを有する、頭部ユニットと、プロセッサと、プロセッサに接続される、記憶デバイスと、記憶デバイス上にあって、プロセッサによって実行可能である、命令のセットとを含む、ユーザ相互作用システムを提供する。命令のセットは、世界フレームと、ＥＭ受信機およびトーテムＩＭＵに接続され、ＥＭ波、頭部ユニット姿勢、およびトーテムＩＭＵデータの組み合わせに基づいて、世界フレーム内のトーテムの融合姿勢を生成する、融合ルーチンと、頭部ユニットに対するトーテムの姿勢および世界フレームに対する頭部ユニットの姿勢を決定し、世界フレームに対するトーテムの非融合姿勢を確立する、非融合姿勢決定モデラ（ｍｏｄｅｌｅｒ）と、融合姿勢決定モデラおよび非融合姿勢決定モデラに接続され、融合姿勢と非融合姿勢を比較する、コンパレータ（ｃｏｍｐａｒａｔｏｒ）と、コンパレータに接続され、融合姿勢が非融合姿勢から所定の距離を上回る場合のみ、ドリフトを宣言する、ドリフトディクレアラ（ｄｅｃｌａｒｅｒ）と、ドリフトディクレアラに接続され、ドリフトが宣言される場合のみ、トーテムＩＭＵの姿勢をリセットし、非融合場所にマッチングさせる、場所補正ルーチンと、画像データを搬送する、データソースと、データソースに接続され、画像データを使用して、仮想オブジェクトをユーザに表示する、ディスプレイシステムであって、仮想オブジェクトの場所は、トーテムの融合場所に基づく、ディスプレイシステムとを含む。
【０００７】
本発明はまた、トーテム本体上のＥＭ伝送機を用いて、電磁（ＥＭ）波を伝送するステップと、トーテムの移動に起因して、トーテム本体上のトーテムＩＭＵを用いて、トーテム慣性測定ユニット（ＩＭＵ）信号を生成するステップと、ユーザの頭部上の頭部ユニット本体を位置特定するステップと、頭部ユニット本体上のＥＭ受信機によって、ＥＭ伝送機によって伝送されるＥＭ波を受信するステップであって、ＥＭ波は、トーテムの姿勢を示す、ステップと、世界フレームを記憶するステップと、プロセッサを用いて、融合ルーチンを実行し、ＥＭ波、頭部ユニット姿勢、およびトーテムＩＭＵデータの組み合わせに基づいて、世界フレーム内のトーテムの融合姿勢を生成するステップと、プロセッサを用いて、頭部ユニットに対するトーテムの姿勢および世界フレームに対する頭部ユニットの場所を決定し、世界フレームに対するトーテムの非融合姿勢を確立する、非融合姿勢決定モデラを実行するステップと、プロセッサを用いて、コンパレータを実行し、融合姿勢と非融合姿勢を比較するステップと、プロセッサを用いて、ドリフトディクレアラを実行し、融合姿勢が非融合姿勢から所定の姿勢を上回る場合のみ、ドリフトを宣言するステップと、プロセッサを用いて、姿勢補正ルーチンを実行し、ドリフトが宣言される場合のみ、トーテムＩＭＵの姿勢をリセットし、非融合姿勢にマッチングさせるステップと、画像データをデータソースから受信するステップと、データソースに接続されるディスプレイシステムを用いて、画像データを使用して、仮想オブジェクトをユーザに表示するステップであって、仮想オブジェクトの場所は、トーテムの融合場所に基づく、ステップとを含む、ユーザ相互作用システムを提供する。
【図面の簡単な説明】
【０００８】
本発明はさらに、付随の図面を参照して、一例として説明される。
【０００９】
【図１】図１は、本発明の実施形態による、ユーザ相互作用システムを図示する、斜視図である。
【００１０】
【図２】図２は、頭部ユニットに関連するようなユーザ相互作用システムのコンポーネントおよび頭部ユニットのための視覚アルゴリズムを図示する、ブロック図である。
【００１１】
【図３】図３は、トーテムに関連するようなユーザ相互作用システムおよびトーテムのための視覚アルゴリズムのブロック図である。
【００１２】
【図４】図４は、ユーザに、実および仮想オブジェクトがどのように見え、知覚されるかを図示する、正面図である。
【００１３】
【図５】図５は、仮想オブジェクトがユーザのビュー内でドリフトした後の、図４に類似する図である。
【００１４】
【図６】図６は、融合場所の経時的ドリフトを図示する、斜視図である。
【００１５】
【図７】図７は、ドリフトが距離計算を使用して補正され得る方法を図示する、グラフである。
【００１６】
【図８】図８は、融合場所と非融合場所との間の差異を検出することによってドリフトが補正される方法を図示する、グラフである。
【００１７】
【図９】図９は、ドリフトが補正される方法を図示する、斜視図である。
【００１８】
【図１０】図１０は、本発明の一実施形態による、本発明のシステム内で用途を見出し得る、コンピュータの形態における機械のブロック図である。
【発明を実施するための形態】
【００１９】
付随の図面の図１は、ユーザ１０と、本発明の実施形態による、ユーザ相互作用システム１２と、テーブルの形態における実世界オブジェクト１４と、図の視点から不可視であるが、ユーザ１０には可視である、仮想オブジェクト１６とを図示する。
【００２０】
ユーザ相互作用システム１２は、頭部ユニット１８と、ベルトパック２０と、ネットワーク２２と、サーバ２４とを含む。
【００２１】
頭部ユニット１８は、頭部ユニット本体２６と、ディスプレイシステム２８とを含む。頭部ユニット本体２６は、ユーザの頭部１０にわたって適合する、形状を有する。ディスプレイシステム２８は、頭部ユニット本体２６に固着される。
【００２２】
ベルトパック２０は、プロセッサと、プロセッサに接続される、記憶デバイスとを有する。視覚アルゴリズムが、記憶デバイス上に記憶され、プロセッサによって実行可能である。ベルトパック２０は、ケーブル接続３０を用いて、ディスプレイシステム２８に通信可能に接続される。ベルトパック２０はさらに、ベルトパック２０が、ネットワーク２２とのリンク３２を経由して、無線で接続することを可能にする、ネットワークインターフェースデバイスを含む。サーバ２４は、ネットワーク２２に接続される。
【００２３】
使用時、ユーザ１０は、頭部ユニット本体２６をその頭部に固着させる。ディスプレイシステム２８は、ユーザ１０に、導波管を通して、実世界オブジェクト１４が見え得るように、透明である、光学導波管（図示せず）を含む。
【００２４】
ベルトパック２０は、ネットワーク２２およびリンク３２を経由して、画像データをサーバ２４からダウンロードしてもよい。ベルトパック２０は、画像データを、ケーブル接続３０を通して、ディスプレイシステム２８に提供する。ディスプレイシステム２８は、画像データに基づいて光を作成する、１つ以上のプロジェクタを有する。光は、１つ以上の光学導波管を通して、ユーザ１０の眼に伝搬する。各導波管は、眼に仮想オブジェクト１６がディスプレイシステム２８の背後のある距離において見えるように、光を個別の眼の網膜上の特定の焦点距離に作成する。眼には、したがって、仮想オブジェクト１６が３次元空間内に見える。加えて、若干異なる画像が、ユーザ１０の脳が３次元空間内の仮想オブジェクト１６を知覚するように、眼毎に作成される。ユーザ１０には、したがって、３次元空間内に仮想オブジェクト１６で拡張された実世界オブジェクト１４が見える。
【００２５】
ユーザ相互作用システム１２はさらに、トーテム３４を含む。使用時、ユーザ１０は、トーテム３４をその手のうちの一方に保持する。仮想オブジェクト１６は、トーテム３４の位置付けに基づいて、３次元空間内に位置付けられる。一例として、トーテム３４は、ラケットの柄であってもよく、仮想オブジェクト１６は、ラケットのヘッドを含んでもよい。ユーザ１０は、トーテム３４を３次元空間内で６自由度において移動させることができる。トーテム３４は、したがって、実世界オブジェクト１４および頭部ユニット本体２６に対して３次元空間内を移動する。頭部ユニット１８およびベルトパック２０内の種々のコンポーネントは、トーテム３４の移動を追跡し、仮想オブジェクト１６をトーテム３４とともに移動させる。ラケットのヘッドは、したがって、ユーザ１０のビュー内でハンドルに取り付けられたままである。
【００２６】
図２は、視覚アルゴリズム３８とともに、ディスプレイシステム２８をさらに詳細に図示する。視覚アルゴリズム３８は、主に、図１におけるベルトパック２０内に常駐する。他の実施形態では、視覚アルゴリズム３８は、頭部ユニット内に全体的に常駐してもよい、または頭部ユニットとベルトパックとの間に分裂されてもよい。図２はさらに、データソース４０を含む。本実施例では、データソース４０は、ベルトパック２０の記憶デバイス上に記憶される、画像データを含む。画像データは、例えば、仮想オブジェクト１６をレンダリングするために使用され得る、３次元画像データであってもよい。代替実施形態では、画像データは、２または３次元で移動するビデオの作成を可能にする、時系列画像データであってもよく、その目的として、トーテムとの結び付きを有する、実世界オブジェクト上に位置する、またはユーザがその頭部を移動させると、ユーザの正面の固定位置にあってもよい。
【００２７】
視覚アルゴリズム３８は、レンダリングエンジン４２と、立体視分析器４４と、ディスプレイ調節アルゴリズム４６と、同時位置特定およびマッピング（ＳＬＡＭ）システム４８とを含む。
【００２８】
レンダリングエンジン４２は、データソース４０およびディスプレイ調節アルゴリズム４６に接続される。レンダリングエンジン４２は、種々のシステム、本実施例では、ディスプレイ調節アルゴリズム４６からの入力を受信し、ディスプレイ調節アルゴリズム４６に基づいて、画像データをユーザ１０によって視認されることになるフレーム内に位置付けることが可能である。ディスプレイ調節アルゴリズム４６は、ＳＬＡＭシステム４８に接続される。ＳＬＡＭシステム４８は、画像データを受信し、画像データの画像内のオブジェクトを決定する目的のために、画像データを分析し、オブジェクトの場所を画像データ内に記録することが可能である。
【００２９】
立体視分析器４４は、レンダリングエンジン４２に接続される。立体視分析器４４は、レンダリングエンジン４２によって提供されるデータストリームから、左および右画像データセットを決定することが可能である。
【００３０】
ディスプレイシステム２８は、左および右プロジェクタ４８Ａおよび４８Ｂと、左および右導波管５０Ａおよび５０Ｂと、検出デバイス５２とを含む。左および右プロジェクタ４８Ａおよび４８Ｂは、電力供給源に接続される。各プロジェクタ４８Ａまたは４８Ｂは、画像データが個別のプロジェクタ４８Ａまたは４８Ｂに提供されるための個別の入力を有する。個別のプロジェクタ４８Ａまたは４８Ｂは、給電されると、光を２次元パターンで生成し、光をそこから発出する。左および右導波管５０Ａおよび５０Ｂは、それぞれ、左および右プロジェクタ４８Ａおよび４８Ｂからの光を受光するように位置付けられる。左および右導波管５０Ａおよび５０Ｂは、透明導波管である。
【００３１】
検出デバイス５２は、頭部ユニット慣性運動ユニット（ＩＭＵ）６０と、１つ以上の頭部ユニットカメラ６２とを含む。頭部ユニットＩＭＵ６０は、１つ以上のジャイロスコープと、１つ以上の加速度計とを含む。ジャイロスコープおよび加速度計は、典型的には、半導体チップ内に形成され、３つの直交軸に沿った移動と、３つの直交軸を中心とする回転とを含む、頭部ユニットＩＭＵ６０および頭部ユニット本体２６の移動を検出することが可能である。
【００３２】
頭部ユニットカメラ６２は、画像を頭部ユニット本体２６の周囲の環境から継続的に捕捉する。画像は、相互に比較され、頭部ユニット本体２６およびユーザの頭部１０の移動を検出することができる。
【００３３】
ＳＬＡＭシステム４８は、頭部ユニットカメラ６２に接続される。ディスプレイ調節アルゴリズム４６は、頭部ユニットＩＭＵ６０に接続される。当業者は、検出デバイス５２と視覚アルゴリズム３８との間の接続が、ハードウェア、ファームウェア、およびソフトウェアの組み合わせを通して遂行されることを理解されるであろう。視覚アルゴリズム３８のコンポーネントは、サブルーチンまたはコールを通して相互にリンクされる。
【００３４】
使用時、ユーザ１０は、頭部ユニット本体２６をその頭部に搭載する。頭部ユニット本体２６のコンポーネントは、例えば、ユーザの頭部１０の背面の周囲に巻着する、ストラップ（図示せず）を含んでもよい。左および右導波管５０Ａおよび５０Ｂは、次いで、ユーザ１０の左および右眼１２０Ａおよび１２０Ｂの正面に位置する。
【００３５】
レンダリングエンジン４２は、画像データをデータソース４０から受信する。レンダリングエンジン４２は、画像データを立体視分析器４４の中に入力する。画像データは、図１における仮想オブジェクト１６の３次元画像データである。立体視分析器４４は、画像データを分析し、画像データに基づいて、左および右画像データセットを決定する。左および右画像データセットは、ユーザ１０に３次元レンダリングの知覚を与える目的のために、相互に若干異なる、２次元画像を表す、データセットである。本実施形態では、画像データは、経時的に変化しない、静的データセットである。
【００３６】
立体視分析器４４は、左および右画像データセットを左および右プロジェクタ４８Ａおよび４８Ｂの中に入力する。左および右プロジェクタ４８Ａおよび４８Ｂは、次いで、左および右光パターンを作成する。ディスプレイシステム２８のコンポーネントは、平面図に示されるが、左および右パターンは、正面立面図に示されるとき、２次元パターンであることを理解されたい。各光パターンは、複数のピクセルを含む。例証目的のために、ピクセルのうちの２つからの光線１２４Ａおよび１２６Ａが、左プロジェクタ４８Ａから出射し、左導波管５０Ａに入射するように示される。光線１２４Ａおよび１２６Ａは、左導波管５０Ａの側面から反射する。光線１２４Ａおよび１２６Ａは、左導波管５０Ａ内で左から右に内部反射を通して伝搬することが示されるが、光線１２４Ａおよび１２６Ａはまた、屈折性および反射性システムを使用して、紙面の向こう側への方向にも伝搬することを理解されたい。
【００３７】
光線１２４Ａおよび１２６Ａは、瞳孔１２８Ａを通して、左光導波管５０Ａから出射し、次いで、左眼１２０Ａの瞳孔１３０Ａを通して、左眼１２０Ａに入射する。光線１２４Ａおよび１２６Ａは、次いで、左眼１２０Ａの網膜１３２Ａに当たる。このように、左光パターンは、左眼１２０Ａの網膜１３２Ａに当たる。ユーザ１０は、網膜１３２Ａ上に形成されるピクセルが、ユーザ１０が左眼１２０Ａに対向する左導波管５０Ａの側のある距離にあると知覚する、ピクセル１３４Ａおよび１３６Ａであるという知覚を与えられる。深度知覚は、光の焦点距離を操作することによって作成される。
【００３８】
同様に、立体視分析器４４は、右画像データセットを右プロジェクタ４８Ｂの中に入力する。右プロジェクタ４８Ｂは、光線１２４Ｂおよび１２６Ｂの形態におけるピクセルによって表される、右光パターンを伝送する。光線１２４Ｂおよび１２６Ｂは、右導波管５０Ｂ内で反射し、瞳孔１２８Ｂを通して出射する。光線１２４Ｂおよび１２６Ｂは、次いで、右眼１２０Ｂの瞳孔１３０Ｂを通して入射し、右眼１２０Ｂの網膜１３２Ｂに当たる。光線１２４Ｂおよび１２６Ｂのピクセルは、右導波管５０Ｂの背後のピクセル１３４Ｂおよび１３６Ｂとして知覚される。
【００３９】
網膜１３２Ａおよび１３２Ｂ上に作成されたパターンは、左および右画像として個々に知覚される。左および右画像は、立体視分析器４４の機能に起因して、相互に若干異なる。左および右画像は、ユーザ１０の頭では、３次元レンダリングとして知覚される。
【００４０】
述べられたように、左および右導波管５０Ａおよび５０Ｂは、透明である。眼１２０Ａおよび１２０Ｂに対向する左および右導波管５０Ａおよび５０Ｂの側の実在のオブジェクトからの光は、左および右導波管５０Ａおよび５０Ｂを通して投影され、網膜１３２Ａおよび１３２Ｂに当たることができる。特に、図１における実世界オブジェクト１４からの光は、ユーザ１０に実世界オブジェクト１４が見え得るように、網膜１３２Ａおよび１３２Ｂに当たる。加えて、ユーザ１０には、トーテム３４が見え得、拡張現実が、作成され、実世界オブジェクト１４およびトーテム３４が、組み合わせてユーザ１０によって知覚される、左および右画像に起因して、ユーザ１０によって知覚される仮想オブジェクト１６の３次元レンダリングで拡張される。
【００４１】
頭部ユニットＩＭＵ６０は、ユーザ１０の頭部のあらゆる移動を検出する。ユーザ１０が、例えば、その頭部を反時計回りに移動させ、同時に、その身体をその頭部とともに右に向かって移動させる場合、そのような移動は、頭部ユニットＩＭＵ６０内のジャイロスコープおよび加速度計によって検出されるであろう。頭部ユニットＩＭＵ６０は、ジャイロスコープおよび加速度計からの測定値をディスプレイ調節アルゴリズム４６に提供する。ディスプレイ調節アルゴリズム４６は、設置値を計算し、設置値をレンダリングエンジン４２に提供する。レンダリングエンジン４２は、データソース４０から受信された画像データを修正し、ユーザ１０の頭部の移動を補償する。レンダリングエンジン４２は、ユーザ１０への表示のために、修正された画像データを立体視分析器４４に提供する。
【００４２】
頭部ユニットカメラ６２は、ユーザ１０がその頭部を移動させるにつれて、画像を継続的に捕捉する。ＳＬＡＭシステム４８は、画像を分析し、画像内のオブジェクトの画像を識別する。ＳＬＡＭシステム４８は、オブジェクトの移動を分析し、頭部ユニット本体２６の姿勢位置を決定する。ＳＬＡＭシステム４８は、姿勢位置をディスプレイ調節アルゴリズム４６に提供する。ディスプレイ調節アルゴリズム４６は、姿勢位置を使用して、ディスプレイ調節アルゴリズム４６がレンダリングエンジン４２に提供する、設置値をさらに精緻化する。レンダリングエンジン４２は、したがって、頭部ユニットＩＭＵ６０内の運動センサと頭部ユニットカメラ６２によって撮影された画像の組み合わせに基づいて、データソース４０から受信された画像データを修正する。実践的実施例として、ユーザ１０が、その頭部を右に回転させる場合、仮想オブジェクト１６の場所は、ユーザ１０の視野内で左に回転し、したがって、ユーザ１０に、仮想オブジェクト１６の場所が実世界オブジェクト１４およびトーテム３４に対して定常のままであるという印象を与える。
【００４３】
図３は、頭部ユニット１８、トーテム３４、および視覚アルゴリズム３８のさらなる詳細を図示する。頭部ユニット１８はさらに、頭部ユニット本体２６に固着される、電磁（ＥＭ）受信機１５０を含む。ディスプレイシステム２８、頭部ユニットカメラ６２、およびＥＭ受信機１５０は、頭部ユニット本体２６に対して固定位置に搭載される。ユーザ１０が、その頭部を移動させる場合、頭部ユニット本体２６は、ユーザ１０の頭部とともに移動し、ディスプレイシステム２８、頭部ユニットカメラ６２、およびＥＭ受信機１５０は、頭部ユニット本体２６とともに移動する。
【００４４】
トーテム３４は、トーテム本体１５２と、ＥＭ伝送機１５４と、トーテムＩＭＵ１５６とを有する。ＥＭ伝送機１５４およびトーテムＩＭＵ１５６は、トーテム本体１５２に対して固定位置に搭載される。ユーザ１０は、トーテム本体１５２を保持し、ユーザ１０がトーテム本体１５２を移動させると、ＥＭ伝送機１５４およびトーテムＩＭＵ１５６は、トーテム本体１５２とともに移動する。ＥＭ伝送機１５４は、ＥＭ波を伝送することが可能であって、ＥＭ受信機１５０は、ＥＭ波を受信することが可能である。トーテムＩＭＵ１５６は、１つ以上のジャイロスコープと、１つ以上の加速度計とを有する。ジャイロスコープおよび加速度計は、典型的には、半導体チップ内に形成され、３つの直交軸に沿った移動および３つの直交軸を中心とする回転を含む、トーテムＩＭＵ１５６およびトーテム本体１５２の移動を検出することが可能である。
【００４５】
視覚アルゴリズム３８はさらに、図２を参照して説明される、データソース４０、レンダリングエンジン４２、立体視分析器４４、およびＳＬＡＭシステム４８に加え、融合ルーチン１６０と、非融合姿勢決定モデラ１６２と、コンパレータ１６４と、ドリフトディクレアラ１６６と、姿勢補正ルーチン１６８と、逐次制御器１７０とを含む。
【００４６】
頭部ユニットカメラ６２は、実世界オブジェクト１４の画像を捕捉する。実世界オブジェクト１４の画像は、図２を参照して説明されるように、ＳＬＡＭシステム４８によって処理され、世界フレーム１７２を確立する。ＳＬＡＭシステム４８が世界フレーム１７２を確立する方法の詳細は、図面を不明瞭にしないように、図３に示されない。
【００４７】
ＥＭ伝送機１５４は、ＥＭ受信機１５０によって受信される、ＥＭ波を伝送する。ＥＭ受信機１５０によって受信される、ＥＭ波は、ＥＭ伝送機１５４の姿勢または姿勢の変化を示す。ＥＭ受信機１５０は、ＥＭ波のデータを融合ルーチン１６０の中に取り込む。
【００４８】
トーテムＩＭＵ１５６は、トーテム本体１５２の移動を継続的に監視する。トーテムＩＭＵ１５６からのデータは、融合ルーチン１６０の中に取り込まれる。
【００４９】
逐次制御器１７０は、融合ルーチン１６０を２５０Ｈｚの周波数で実行する。融合ルーチン１６０は、ＥＭ受信機１５０からのデータとトーテムＩＭＵ１５６およびＳＬＡＭシステム４８からのデータを組み合わせる。ＥＭ受信機１５０によって受信される、ＥＭ波は、６自由度（「６ｄｏｆ」）において、ＥＭ受信機１５０に対するＥＭ伝送機１５４の姿勢を比較的に正確に表す、データを含む。しかしながら、ＥＭ測定雑音に起因して、測定されたＥＭ波は、ＥＭ受信機１５０に対するＥＭ伝送機１５４の姿勢を正確に表さない場合がある。ＥＭ測定雑音は、図１における仮想オブジェクト１６のジッタをもたらし得る。トーテムＩＭＵ１５６からのデータを組み合わせる目的は、ジッタを低減させることである。融合ルーチン１６０は、融合姿勢１７４を世界フレーム１７２内に提供する。融合姿勢１７４は、データソース４０からの画像データを使用して図１における仮想オブジェクト１６の姿勢を決定する目的のために、レンダリングエンジン４２によって使用される。
【００５０】
図４に示されるように、仮想オブジェクト１６は、トーテム３４に対して正しい姿勢に示される。さらに、ユーザ１０が、トーテム３４を移動させる場合、仮想オブジェクト１６は、最小量のジッタを伴って、トーテム３４とともに移動する。
【００５１】
トーテムＩＭＵ１５６は、本質的に、６自由度において、加速および角速度を測定する。加速および角速度は、トーテムＩＭＵ１５６の場所および配向を決定するように統合される。統合誤差に起因して、融合姿勢１７４は、経時的にドリフトし得る。
【００５２】
図５は、仮想オブジェクト１６がトーテム３４に対するその正しい姿勢からドリフトしたことを図示する。ドリフトは、いわゆる「モデル不整合」、すなわち、物理的量（例えば、６ｄｏｆ、加速、および角速度）と実際に測定された信号（ＥＭ波測定値およびＩＭＵ信号等）との間の関係を説明する、不完全な数学的モデルによって生じ得る。また、そのようなドリフトは、融合アルゴリズムを発散させる状態にさえつながり得る、高動的運動に関して増幅され得る（すなわち、仮想オブジェクトは、実際のオブジェクトから「吹き飛ばされた」ようになるであろう）。本実施例では、仮想オブジェクト１６は、トーテム３４に対して右にドリフトしている。図３における融合姿勢１７４は、トーテム３４が実際に位置する場所より右に位置するというシステムによる確信に基づく。融合データは、したがって、仮想オブジェクト１６が図４に示されるようにトーテム３４に対するその正しい場所に再び配置されるように、補正されている。
【００５３】
図３では、逐次制御器１７０は、非融合姿勢決定モデラ１６２を２４０Ｈｚの周波数で実行する。非融合姿勢決定モデラ１６２は、したがって、融合ルーチン１６０に対して非同期して実行する。本実施例では、非融合姿勢決定モデラ１６２は、ＳＬＡＭシステム４８を利用して、トーテム３４の場所を決定する。他のシステムは、他の技法を使用して、トーテム３４の場所を決定してもよい。
【００５４】
頭部ユニットカメラ６２は、実世界オブジェクト１４等の実世界オブジェクトの画像とともに、トーテム３４の画像をルーチン的に捕捉する。頭部ユニットカメラ６２によって捕捉される、画像は、ＳＬＡＭシステム４８の中に取り込まれる。ＳＬＡＭシステム４８はまた、実世界オブジェクト１４等の実世界オブジェクトの場所を決定することに加え、トーテム３４の場所を決定する。したがって、ＳＬＡＭシステム４８は、頭部ユニット１８に対するトーテム３４の関係１８０を確立する。ＳＬＡＭシステム４８はまた、関係１８０を確立するために、ＥＭ受信機１５０からのデータに依拠する。
【００５５】
ＳＬＡＭシステム４８はまた、世界フレーム１７２に対する頭部ユニットの関係１８２を確立する。上述のように、融合ルーチン１６０は、入力を受信する。付随の図面の図１は、ユーザ１０と、本発明の実施形態による、ユーザ相互作用システム１２と、テーブルの形態における実世界オブジェクト１４と、図の視点から不可視であるが、ユーザ１０には可視である、仮想オブジェクト１６とを図示する。
【００５６】
ユーザ相互作用システム１２は、頭部ユニット１８と、ベルトパック２０と、ネットワーク２２と、サーバ２４とを含む。
【００５７】
頭部ユニット１８は、頭部ユニット本体２６と、ディスプレイシステム２８とを含む。頭部ユニット本体２６は、ユーザの頭部１０にわたって適合する、形状を有する。ディスプレイシステム２８は、頭部ユニット本体２６に固着される。
【００５８】
ベルトパック２０は、プロセッサと、プロセッサに接続される、記憶デバイスとを有する。視覚アルゴリズムが、記憶デバイス上に記憶され、プロセッサによって実行可能である。ベルトパック２０は、ケーブル接続３０を用いて、ディスプレイシステム２８に通信可能に接続される。ベルトパック２０はさらに、ベルトパック２０が、ネットワーク２２とのリンク３２を経由して、無線で接続することを可能にする、ネットワークインターフェースデバイスを含む。サーバ２４は、ネットワーク２２に接続される。
【００５９】
使用時、ユーザ１０は、頭部ユニット本体２６をその頭部に固着させる。ディスプレイシステム２８は、ユーザ１０に、導波管を通して、実世界オブジェクト１４が見え得るように、透明である、光学導波管（図示せず）を含む。
【００６０】
ベルトパック２０は、ネットワーク２２およびリンク３２を経由して、画像データをサーバ２４からダウンロードしてもよい。ベルトパック２０は、画像データを、ケーブル接続３０を通して、ディスプレイシステム２８に提供する。ディスプレイシステム２８は、画像データに基づいて光を作成する、１つ以上のプロジェクタを有する。光は、１つ以上の光学導波管を通して、ユーザ１０の眼に伝搬する。各導波管は、眼に仮想オブジェクト１６がディスプレイシステム２８の背後のある距離において見えるように、光を個別の眼の網膜上の特定の焦点距離に作成する。眼には、したがって、仮想オブジェクト１６が３次元空間内に見える。加えて、若干異なる画像が、ユーザ１０の脳が３次元空間内の仮想オブジェクト１６を知覚するように、眼毎に作成される。ユーザ１０には、したがって、３次元空間内に仮想オブジェクト１６で拡張された実世界オブジェクト１４が見える。
【００６１】
ユーザ相互作用システム１２はさらに、トーテム３４を含む。使用時、ユーザ１０は、トーテム３４をその手のうちの一方に保持する。仮想オブジェクト１６は、トーテム３４の位置付けに基づいて、３次元空間内に位置付けられる。一例として、トーテム３４は、ラケットの柄であってもよく、仮想オブジェクト１６は、ラケットのヘッドを含んでもよい。ユーザ１０は、トーテム３４を３次元空間内で６自由度において移動させることができる。トーテム３４は、したがって、実世界オブジェクト１４および頭部ユニット本体２６に対して３次元空間内を移動する。頭部ユニット１８およびベルトパック２０内の種々のコンポーネントは、トーテム３４の移動を追跡し、仮想オブジェクト１６をトーテム３４とともに移動させる。ラケットのヘッドは、したがって、ユーザ１０のビュー内でハンドルに取り付けられたままである。
【００６２】
図２は、視覚アルゴリズム３８とともに、ディスプレイシステム２８をさらに詳細に図示する。視覚アルゴリズム３８は、主に、図１におけるベルトパック２０内に常駐する。他の実施形態では、視覚アルゴリズム３８は、頭部ユニット内に全体的に常駐してもよい、または頭部ユニットとベルトパックとの間に分裂されてもよい。図２はさらに、データソース４０を含む。本実施例では、データソース４０は、ベルトパック２０の記憶デバイス上に記憶される、画像データを含む。画像データは、例えば、仮想オブジェクト１６をレンダリングするために使用され得る、３次元画像データであってもよい。代替実施形態では、画像データは、２または３次元で移動するビデオの作成を可能にする、時系列画像データであってもよく、その目的として、トーテムとの結び付きを有する、実世界オブジェクト上に位置する、またはユーザがその頭部を移動させると、ユーザの正面の固定位置にあってもよい。
【００６３】
視覚アルゴリズム３８は、レンダリングエンジン４２と、立体視分析器４４と、ディスプレイ調節アルゴリズム４６と、同時位置特定およびマッピング（ＳＬＡＭ）システム４８とを含む。
【００６４】
レンダリングエンジン４２は、データソース４０およびディスプレイ調節アルゴリズム４６に接続される。レンダリングエンジン４２は、種々のシステム、本実施例では、ディスプレイ調節アルゴリズム４６からの入力を受信し、ディスプレイ調節アルゴリズム４６に基づいて、画像データをユーザ１０によって視認されることになるフレーム内に位置付けることが可能である。ディスプレイ調節アルゴリズム４６は、ＳＬＡＭシステム４８に接続される。ＳＬＡＭシステム４８は、画像データを受信し、画像データの画像内のオブジェクトを決定する目的のために、画像データを分析し、オブジェクトの場所を画像データ内に記録することが可能である。
【００６５】
立体視分析器４４は、レンダリングエンジン４２に接続される。立体視分析器４４は、レンダリングエンジン４２によって提供されるデータストリームから、左および右画像データセットを決定することが可能である。
【００６６】
ディスプレイシステム２８は、左および右プロジェクタ４８Ａおよび４８Ｂと、左および右導波管５０Ａおよび５０Ｂと、検出デバイス５２とを含む。左および右プロジェクタ４８Ａおよび４８Ｂは、電力供給源に接続される。各プロジェクタ４８Ａまたは４８Ｂは、画像データが個別のプロジェクタ４８Ａまたは４８Ｂに提供されるための個別の入力を有する。個別のプロジェクタ４８Ａまたは４８Ｂは、給電されると、光を２次元パターンで生成し、光をそこから発出する。左および右導波管５０Ａおよび５０Ｂは、それぞれ、左および右プロジェクタ４８Ａおよび４８Ｂからの光を受光するように位置付けられる。左および右導波管５０Ａおよび５０Ｂは、透明導波管である。
【００６７】
検出デバイス５２は、頭部ユニット慣性運動ユニット（ＩＭＵ）６０と、１つ以上の頭部ユニットカメラ６２とを含む。頭部ユニットＩＭＵ６０は、１つ以上のジャイロスコープと、１つ以上の加速度計とを含む。ジャイロスコープおよび加速度計は、典型的には、半導体チップ内に形成され、３つの直交軸に沿った移動と、３つの直交軸を中心とする回転とを含む、頭部ユニットＩＭＵ６０および頭部ユニット本体２６の移動を検出することが可能である。
【００６８】
頭部ユニットカメラ６２は、画像を頭部ユニット本体２６の周囲の環境から継続的に捕捉する。画像は、相互に比較され、頭部ユニット本体２６およびユーザの頭部１０の移動を検出することができる。
【００６９】
ＳＬＡＭシステム４８は、頭部ユニットカメラ６２に接続される。ディスプレイ調節アルゴリズム４６は、頭部ユニットＩＭＵ６０に接続される。当業者は、検出デバイス５２と視覚アルゴリズム３８との間の接続が、ハードウェア、ファームウェア、およびソフトウェアの組み合わせを通して遂行されることを理解されるであろう。視覚アルゴリズム３８のコンポーネントは、サブルーチンまたはコールを通して相互にリンクされる。
【００７０】
使用時、ユーザ１０は、頭部ユニット本体２６をその頭部に搭載する。頭部ユニット本体２６のコンポーネントは、例えば、ユーザの頭部１０の背面の周囲に巻着する、ストラップ（図示せず）を含んでもよい。左および右導波管５０Ａおよび５０Ｂは、次いで、ユーザ１０の左および右眼１２０Ａおよび１２０Ｂの正面に位置する。
【００７１】
レンダリングエンジン４２は、画像データをデータソース４０から受信する。レンダリングエンジン４２は、画像データを立体視分析器４４の中に入力する。画像データは、図１における仮想オブジェクト１６の３次元画像データである。立体視分析器４４は、画像データを分析し、画像データに基づいて、左および右画像データセットを決定する。左および右画像データセットは、ユーザ１０に３次元レンダリングの知覚を与える目的のために、相互に若干異なる、２次元画像を表す、データセットである。本実施形態では、画像データは、経時的に変化しない、静的データセットである。
【００７２】
立体視分析器４４は、左および右画像データセットを左および右プロジェクタ４８Ａおよび４８Ｂの中に入力する。左および右プロジェクタ４８Ａおよび４８Ｂは、次いで、左および右光パターンを作成する。ディスプレイシステム２８のコンポーネントは、平面図に示されるが、左および右パターンは、正面立面図に示されるとき、２次元パターンであることを理解されたい。各光パターンは、複数のピクセルを含む。例証目的のために、ピクセルのうちの２つからの光線１２４Ａおよび１２６Ａが、左プロジェクタ４８Ａから出射し、左導波管５０Ａに入射するように示される。光線１２４Ａおよび１２６Ａは、左導波管５０Ａの側面から反射する。光線１２４Ａおよび１２６Ａは、左導波管５０Ａ内で左から右に内部反射を通して伝搬することが示されるが、光線１２４Ａおよび１２６Ａはまた、屈折性および反射性システムを使用して、紙面の向こう側への方向にも伝搬することを理解されたい。
【００７３】
光線１２４Ａおよび１２６Ａは、瞳孔１２８Ａを通して、左光導波管５０Ａから出射し、次いで、左眼１２０Ａの瞳孔１３０Ａを通して、左眼１２０Ａに入射する。光線１２４Ａおよび１２６Ａは、次いで、左眼１２０Ａの網膜１３２Ａに当たる。このように、左光パターンは、左眼１２０Ａの網膜１３２Ａに当たる。ユーザ１０は、網膜１３２Ａ上に形成されるピクセルが、ユーザ１０が左眼１２０Ａに対向する左導波管５０Ａの側のある距離にあると知覚する、ピクセル１３４Ａおよび１３６Ａであるという知覚を与えられる。深度知覚は、光の焦点距離を操作することによって作成される。
【００７４】
同様に、立体視分析器４４は、右画像データセットを右プロジェクタ４８Ｂの中に入力する。右プロジェクタ４８Ｂは、光線１２４Ｂおよび１２６Ｂの形態におけるピクセルによって表される、右光パターンを伝送する。光線１２４Ｂおよび１２６Ｂは、右導波管５０Ｂ内で反射し、瞳孔１２８Ｂを通して出射する。光線１２４Ｂおよび１２６Ｂは、次いで、右眼１２０Ｂの瞳孔１３０Ｂを通して入射し、右眼１２０Ｂの網膜１３２Ｂに当たる。光線１２４Ｂおよび１２６Ｂのピクセルは、右導波管５０Ｂの背後のピクセル１３４Ｂおよび１３６Ｂとして知覚される。
【００７５】
網膜１３２Ａおよび１３２Ｂ上に作成されたパターンは、左および右画像として個々に知覚される。左および右画像は、立体視分析器４４の機能に起因して、相互に若干異なる。左および右画像は、ユーザ１０の頭では、３次元レンダリングとして知覚される。
【００７６】
述べられたように、左および右導波管５０Ａおよび５０Ｂは、透明である。眼１２０Ａおよび１２０Ｂに対向する左および右導波管５０Ａおよび５０Ｂの側の実在のオブジェクトからの光は、左および右導波管５０Ａおよび５０Ｂを通して投影され、網膜１３２Ａおよび１３２Ｂに当たることができる。特に、図１における実世界オブジェクト１４からの光は、ユーザ１０に実世界オブジェクト１４が見え得るように、網膜１３２Ａおよび１３２Ｂに当たる。加えて、ユーザ１０には、トーテム３４が見え得、拡張現実が、作成され、実世界オブジェクト１４およびトーテム３４が、組み合わせてユーザ１０によって知覚される、左および右画像に起因して、ユーザ１０によって知覚される仮想オブジェクト１６の３次元レンダリングで拡張される。
【００７７】
頭部ユニットＩＭＵ６０は、ユーザ１０の頭部のあらゆる移動を検出する。ユーザ１０が、例えば、その頭部を反時計回りに移動させ、同時に、その身体をその頭部とともに右に向かって移動させる場合、そのような移動は、頭部ユニットＩＭＵ６０内のジャイロスコープおよび加速度計によって検出されるであろう。頭部ユニットＩＭＵ６０は、ジャイロスコープおよび加速度計からの測定値をディスプレイ調節アルゴリズム４６に提供する。ディスプレイ調節アルゴリズム４６は、設置値を計算し、設置値をレンダリングエンジン４２に提供する。レンダリングエンジン４２は、データソース４０から受信された画像データを修正し、ユーザ１０の頭部の移動を補償する。レンダリングエンジン４２は、ユーザ１０への表示のために、修正された画像データを立体視分析器４４に提供する。
【００７８】
頭部ユニットカメラ６２は、ユーザ１０がその頭部を移動させるにつれて、画像を継続的に捕捉する。ＳＬＡＭシステム４８は、画像を分析し、画像内のオブジェクトの画像を識別する。ＳＬＡＭシステム４８は、オブジェクトの移動を分析し、頭部ユニット本体２６の姿勢位置を決定する。ＳＬＡＭシステム４８は、姿勢位置をディスプレイ調節アルゴリズム４６に提供する。ディスプレイ調節アルゴリズム４６は、姿勢位置を使用して、ディスプレイ調節アルゴリズム４６がレンダリングエンジン４２に提供する、設置値をさらに精緻化する。レンダリングエンジン４２は、したがって、頭部ユニットＩＭＵ６０内の運動センサと頭部ユニットカメラ６２によって撮影された画像の組み合わせに基づいて、データソース４０から受信された画像データを修正する。実践的実施例として、ユーザ１０が、その頭部を右に回転させる場合、仮想オブジェクト１６の場所は、ユーザ１０の視野内で左に回転し、したがって、ユーザ１０に、仮想オブジェクト１６の場所が実世界オブジェクト１４およびトーテム３４に対して定常のままであるという印象を与える。
【００７９】
図３は、頭部ユニット１８、トーテム３４、および視覚アルゴリズム３８のさらなる詳細を図示する。頭部ユニット１８はさらに、頭部ユニット本体２６に固着される、電磁（ＥＭ）受信機１５０を含む。ディスプレイシステム２８、頭部ユニットカメラ６２、およびＥＭ受信機１５０は、頭部ユニット本体２６に対して固定位置に搭載される。ユーザ１０が、その頭部を移動させる場合、頭部ユニット本体２６は、ユーザ１０の頭部とともに移動し、ディスプレイシステム２８、頭部ユニットカメラ６２、およびＥＭ受信機１５０は、頭部ユニット本体２６とともに移動する。
【００８０】
トーテム３４は、トーテム本体１５２と、ＥＭ伝送機１５４と、トーテムＩＭＵ１５６とを有する。ＥＭ伝送機１５４およびトーテムＩＭＵ１５６は、トーテム本体１５２に対して固定位置に搭載される。ユーザ１０は、トーテム本体１５２を保持し、ユーザ１０がトーテム本体１５２を移動させると、ＥＭ伝送機１５４およびトーテムＩＭＵ１５６は、トーテム本体１５２とともに移動する。ＥＭ伝送機１５４は、ＥＭ波を伝送することが可能であって、ＥＭ受信機１５０は、ＥＭ波を受信することが可能である。トーテムＩＭＵ１５６は、１つ以上のジャイロスコープと、１つ以上の加速度計とを有する。ジャイロスコープおよび加速度計は、典型的には、半導体チップ内に形成され、３つの直交軸に沿った移動および３つの直交軸を中心とする回転を含む、トーテムＩＭＵ１５６およびトーテム本体１５２の移動を検出することが可能である。
【００８１】
視覚アルゴリズム３８はさらに、図２を参照して説明される、データソース４０、レンダリングエンジン４２、立体視分析器４４、およびＳＬＡＭシステム４８に加え、融合ルーチン１６０と、非融合姿勢決定モデラ１６２と、コンパレータ１６４と、ドリフトディクレアラ１６６と、姿勢リセットルーチン１６８と、逐次制御器１７０とを含む。
【００８２】
頭部ユニットカメラ６０は、実世界オブジェクト１４の画像を捕捉する。実世界オブジェクト１４の画像は、図２を参照して説明されるように、ＳＬＡＭシステム４８によって処理され、世界フレーム１７２を確立する。ＳＬＡＭシステム４８が世界フレーム１７２を確立する方法の詳細は、図面を不明瞭にしないように、図３に示されない。
【００８３】
ＥＭ伝送機１５４は、ＥＭ受信機１５０によって受信される、ＥＭ波を伝送する。ＥＭ受信機１５０によって受信される、ＥＭ波は、ＥＭ伝送機１５４の姿勢または姿勢の変化を示す。ＥＭ受信機１５０は、ＥＭ波のデータを融合ルーチン１６０の中に取り込む。
【００８４】
トーテムＩＭＵ１５６は、トーテム本体１５２の移動を継続的に監視する。トーテムＩＭＵ１５６からのデータは、融合ルーチン１６０の中に取り込まれる。
【００８５】
逐次制御器１７０は、融合ルーチン１６０を２５０Ｈｚの周波数で実行する。融合ルーチン１６０は、ＥＭ受信機１５０からのデータとトーテムＩＭＵ１５６およびＳＬＡＭシステム４８からのデータを組み合わせる。ＥＭ受信機１５０によって受信される、ＥＭ波は、６自由度（「６ｄｏｆ」）において、ＥＭ受信機１５０に対するＥＭ伝送機１５４の姿勢を比較的に正確に表す、データを含む。しかしながら、ＥＭ測定雑音に起因して、測定されたＥＭ波は、ＥＭ受信機１５０に対するＥＭ伝送機１５４の姿勢を正確に表さない場合がある。ＥＭ測定雑音は、図１における仮想オブジェクト１６のジッタをもたらし得る。トーテムＩＭＵ１５６からのデータを組み合わせる目的は、ジッタを低減させることである。融合ルーチン１６０は、融合姿勢１７４を世界フレーム１７２内に提供する。融合姿勢１７４は、データソース４０からの画像データを使用して図１における仮想オブジェクト１６の姿勢を決定する目的のために、レンダリングエンジン４２によって使用される。
【００８６】
図４に示されるように、仮想オブジェクト１６は、トーテム３４に対して正しい姿勢に示される。さらに、ユーザ１０が、トーテム３４を移動させる場合、仮想オブジェクト１６は、最小量のジッタを伴って、トーテム３４とともに移動する。
【００８７】
トーテムＩＭＵ１５６は、本質的に、６自由度において、加速および角速度を測定する。加速および角速度は、トーテムＩＭＵ１５６の場所および配向を決定するように統合される。統合誤差に起因して、融合姿勢１７４は、経時的にドリフトし得る。
【００８８】
図５は、仮想オブジェクト１６がトーテム３４に対するその正しい姿勢からドリフトしたことを図示する。ドリフトは、いわゆる「モデル不整合」、すなわち、物理的量（例えば、６ｄｏｆ、加速、および角速度）と実際に測定された信号（ＥＭ波測定値およびＩＭＵ信号等）との間の関係を説明する、不完全な数学的モデルによって生じ得る。また、そのようなドリフトは、融合アルゴリズムを発散させる状態にさえつながり得る、高動的運動に関して増幅され得る（すなわち、仮想オブジェクトは、実際のオブジェクトから「吹き飛ばされた」ようになるであろう）。本実施例では、仮想オブジェクト１６は、トーテム３４に対して右にドリフトしている。図３における融合姿勢１７４は、トーテム３４が実際に位置する場所より右に位置するというシステムによる確信に基づく。融合データは、したがって、仮想オブジェクト１６が図４に示されるようにトーテム３４に対するその正しい場所に再び配置されるように、補正されている。
【００８９】
図３では、逐次制御器１７０は、非融合姿勢決定モデラ１６２を２４０Ｈｚの周波数で実行する。非融合姿勢決定モデラ１６２は、したがって、融合ルーチン１６０に対して非同期して実行する。本実施例では、非融合姿勢決定モデラ１６２は、ＳＬＡＭシステム４８を利用して、トーテム３４の場所を決定する。他のシステムは、他の技法を使用して、トーテム３４の場所を決定してもよい。
【００９０】
頭部ユニットカメラ６２は、実世界オブジェクト１４等の実世界オブジェクトの画像とともに、トーテム３４の画像をルーチン的に捕捉する。頭部ユニットカメラ６２によって捕捉される、画像は、ＳＬＡＭシステム４８の中に取り込まれる。ＳＬＡＭシステム４８はまた、実世界オブジェクト１４等の実世界オブジェクトの場所を決定することに加え、トーテム３４の場所を決定する。したがって、ＳＬＡＭシステム４８は、頭部ユニット１８に対するトーテム３４の関係１８０を確立する。ＳＬＡＭシステム４８はまた、関係１８０を確立するために、ＥＭ受信機１５０からのデータに依拠する。
【００９１】
ＳＬＡＭシステム４８はまた、世界フレーム１７２に対する頭部ユニットの関係１８２を確立する。前述のように、融合ルーチン６０は、ＳＬＡＭシステム４８からの入力を受信する。融合ルーチンは、頭部ユニットと世界フレームの関係１８２、すなわち、頭部姿勢を、トーテム３４の姿勢の融合モデルの計算の一部として使用する。
【００９２】
頭部ユニット１８に対するトーテム３４の相対的姿勢は、ＥＭ双極子モデルをＥＭ受信機１５０による測定値から求めることによって確立される。２つの関係１８０および１８２が、したがって、世界フレーム１７２内のトーテム３４の姿勢を確立する。トーテム３４および世界フレーム１７２の関係は、世界フレーム１７２内に非融合姿勢１８４として記憶される。
【００９３】
コンパレータ１６４は、非融合姿勢決定モデラ１６２とともに同期して実行する。コンパレータ１６４は、融合姿勢１７４と非融合場所１８４を比較する。コンパレータ１６４は、次いで、融合姿勢１７４と非融合姿勢１８４との間の差異をドリフトディクレアラ１６６の中に取り込む。ドリフトディクレアラ１６６は、融合姿勢１７４と非融合姿勢１８４との間の差異が視覚アルゴリズム３８内に記憶される所定の最大距離１８８を上回る場合のみ、ドリフトを宣言する。所定の最大距離１８８は、典型的には、１００ｍｍ未満、好ましくは、３０ｍｍ、２０ｍｍ、またはより好ましくは、１０ｍｍのオーダーであって、センサ融合システムのデータ分析を通して決定または調整される。ドリフトディクレアラ１６６は、融合姿勢１７４と非融合姿勢１８４との間の差異が所定の最大距離１８８未満である場合、ドリフトを宣言しない。
【００９４】
ドリフトディクレアラ１６６が、ドリフトを宣言すると、ドリフトディクレアラ１６６は、姿勢リセットルーチン１６８に入る。姿勢リセットルーチン１６８は、非融合姿勢１８４を使用して、融合ルーチン１６０内の融合姿勢１７４をリセットし、したがって、ドリフトは、停止され、融合ルーチン１６０は、ドリフトが排除された状態で姿勢追跡を再開する。
【００９５】
図６は、リグフレーム１９６と、世界フレーム１７２と、融合姿勢１７４との間の関係を図示する。リグフレーム１９６は、頭部ユニット１８の頭部フレームを表す、数学的オブジェクトである。リグフレーム１９６は、導波管５０Ａと５０Ｂとの間に位置する。高動的運動シナリオでは、融合姿勢１７４は、実際のＥＭ受信機測定値の不完全なモデル化に起因して、経時的に（Ｔ１；Ｔ２；Ｔ３；Ｔ４）ドリフトし得る。融合姿勢１７４は、最初に、トーテム３４の実際の姿勢を表すが、そのような高動的運動シナリオでは、徐々に、トーテム３４の実際の姿勢から経時的にさらにドリフトするにつれて、トーテム３４の実際の姿勢を表すことに失敗し得る。
【００９６】
図７は、ドリフトを補正する１つの方法を図示する。図７に図示される方法は、距離ベースのユーザドリフト検出閾値を有する。一例として、トーテム３４が、頭部ユニット１８から２メートルを上回って離れる場合、ユーザ１０がトーテム３４をそのような距離に保持することは、不可能であって、ドリフトが、宣言される。ユーザ１０が、例えば、その腕を０．５メートル延在させることができる場合、システムは、ドリフトがさらに１．５メートルに到達したときのみ、ドリフトを宣言するであろう。そのような大ドリフトは、望ましくない。ドリフトがより迅速に宣言される、システムが、より望ましい。
【００９７】
図８は、ドリフトが図３における実施形態に従って宣言される、様式を図示する。図３を参照して記載されるように、非融合姿勢決定モデラ１６２は、非融合姿勢１８４を２４０Ｈｚの周波数で計算する。上記に述べられたように、ドリフトは、融合姿勢１７４と非融合場所１８４との間の差異が、上記に説明されるように、１００ｍｍまたはそれ未満である場合、宣言され得る。ｔ１では、例えば、１００ｍｍのシステム誤差検出閾値に到達し、ドリフトが、宣言される。ｔ２では、ドリフトは、直ちに補正された。ドリフトは、したがって、図８におけるシステムでは、図７のシステムより小さい距離誤差に関して補正されることができる。加えて、ドリフトは、再び、ｔ３において補正されてもよい。ドリフトは、したがって、図８のシステムでは、図７のシステムより頻繁に補正されることができる。
【００９８】
図９は、ドリフトが補正される方法を示す。Ａでは、関係が、世界フレーム１７２とリグフレーム１９６との間に確立される。リグフレーム１９６は、ＥＭ受信機１５０と同一位置に位置しない。工場較正に起因して、リグフレーム１９６に対するＥＭ受信機１５０の場所は、既知である。Ｂでは、調節が、行われ、ＥＭ受信機１５０の場所に対するリグフレーム１９６を計算する。Ｃでは、推定が、ＥＭ伝送機１５４に対するＥＭ受信機１５０の場所から行われる。上記に述べられたように、そのような推定は、ＳＬＡＭシステム４８を使用して行われてもよい。工場較正に起因して、ＥＭ伝送機１５４の場所は、トーテムＩＭＵ１５６の場所に対して既知である。Ｄでは、調節が、行われ、ＥＭ伝送機１５４に対するトーテムＩＭＵ１５６の場所を決定する。Ａ、Ｂ、Ｃ、およびＤにおいて行われる計算は、したがって、世界フレーム１７２内のトーテムＩＭＵ１５６の場所を確立する。トーテムＩＭＵ１５６の姿勢は、次いで、計算されるような世界フレーム１７２内のトーテムＩＭＵ１５６の場所に基づいて、リセットされることができる。
【００９９】
図１０は、機械に本明細書で議論される方法論のうちの任意の１つ以上のものを実施させるための命令のセットがいくつかの実施形態に従って実行され得る、コンピュータシステム９００の例示的形態における機械の概略表現を示す。代替実施形態では、機械は、独立型デバイスとして動作する、または他の機械に接続（例えば、ネットワーク化）されてもよい。さらに、単一機械のみが、図示されるが、用語「機械」はまた、個々にまたはともに、命令のセット（または複数のセット）を実行し、本明細書で議論される方法論のうちの任意の１つ以上のものを実施する、機械の任意の集合を含むものと捉えられるものとする。
【０１００】
例示的コンピュータシステム９００は、プロセッサ９０２（例えば、中央処理ユニット（ＣＰＵ）、グラフィック処理ユニット（ＧＰＵ）、または両方）と、メインメモリ９０４（例えば、読取専用メモリ（ＲＯＭ）、フラッシュメモリ、動的ランダムアクセスメモリ（ＤＲＡＭ）、例えば、同期ＤＲＡＭ（ＳＤＲＡＭ）またはＲａｍｂｕｓ  ＤＲＡＭ（ＲＤＲＡＭ）等）と、静的メモリ９０６（例えば、フラッシュメモリ、静的ランダムアクセスメモリ（ＳＲＡＭ）等）とを含み、これらは、バス９０８を介して、相互に通信する。
【０１０１】
コンピュータシステム９００はさらに、ディスクドライブユニット９１６と、ネットワークインターフェースデバイス９２０とを含んでもよい。
【０１０２】
ディスクドライブユニット９１６は、その上に本明細書に説明される方法論または機能のうちの任意の１つ以上のものを具現化する１つ以上の命令のセット９２４（例えば、ソフトウェア）が記憶される、機械可読媒体９２２を含む。ソフトウェアはまた、コンピュータシステム９００、メインメモリ９０４、およびプロセッサ９０２によるその実行の間、完全または少なくとも部分的に、メインメモリ９０４および／またはプロセッサ９０２内に常駐し、また、機械可読媒体を構成してもよい。
【０１０３】
ソフトウェアはさらに、ネットワークインターフェースデバイス９２０を介して、ネットワーク９２８を経由して、伝送または受信されてもよい。
【０１０４】
コンピュータシステム９００は、プロジェクタを駆動し、レーザ光を生成するために使用される、レーザドライバチップ９５０を含む。レーザドライバチップ９５０は、その独自のデータ記憶装置９６０と、その独自のプロセッサ９６２とを含む。
【０１０５】
世界フレーム、すなわち、頭部姿勢を、トーテム３４の姿勢の融合モデルの計算の一部として使用する。
【０１０６】
頭部ユニット１８に対するトーテム３４の相対的姿勢は、ＥＭ双極子モデルをＲＭ受信機１５０による測定値から求めることによって確立される。２つの関係１８０および１８２が、したがって、世界フレーム１７２内のトーテム３４の姿勢を確立する。トーテム３４および世界フレーム１７２の関係は、世界フレーム１７２内に非融合姿勢１８４として記憶される。
【０１０７】
コンパレータ１６４は、非融合姿勢決定モデラ１６２とともに同期して実行する。コンパレータ１６４は、融合姿勢１７４と非融合姿勢１８４を比較する。コンパレータ１６４は、次いで、融合姿勢１７４と非融合姿勢１８４との間の差異をドリフトディクレアラ１６６の中に取り込む。ドリフトディクレアラ１６６は、融合姿勢１７４と非融合姿勢１８４との間の差異が視覚アルゴリズム３８内に記憶される所定の最大距離１８８を上回る場合のみ、ドリフトを宣言する。所定の最大距離１８８は、典型的には、１００ｍｍ未満、好ましくは、３０ｍｍ、２０ｍｍ、またはより好ましくは、１０ｍｍのオーダーであって、センサ融合システムのデータ分析を通して決定または調整される。ドリフトディクレアラ１６６は、融合姿勢１７４と非融合姿勢１８４との間の差異が所定の最大距離１８８未満である場合、ドリフトを宣言しない。
【０１０８】
ドリフトディクレアラ１６６が、ドリフトを宣言すると、ドリフトディクレアラ１６６は、姿勢リセットルーチン１６８に入る。姿勢リセットルーチン１６８は、非融合姿勢１８４を使用して、融合ルーチン１６０内の融合姿勢１７４をリセットし、したがって、ドリフトは、停止され、融合ルーチン１６０は、ドリフトが排除された状態で姿勢追跡を再開する。
【０１０９】
図６は、リグフレーム１９６と、世界フレーム１７２と、融合姿勢１７４との間の関係を図示する。リグフレーム１９６は、頭部ユニット１８の頭部フレームを表す、数学的オブジェクトである。リグフレーム１９６は、導波管５０Ａと５０Ｂとの間に位置する。高動的運動シナリオでは、融合姿勢１７４は、実際のＥＭ受信機測定値の不完全なモデル化に起因して、経時的に（Ｔ１；Ｔ２；Ｔ３；Ｔ４）ドリフトし得る。融合姿勢１７４は、最初に、トーテム３４の実際の姿勢を表すが、そのような高動的運動シナリオでは、徐々に、トーテム３４の実際の姿勢から経時的にさらにドリフトするにつれて、トーテム３４の実際の姿勢を表すことに失敗し得る。
【０１１０】
図７は、ドリフトを補正する１つの方法を図示する。図７に図示される方法は、距離ベースのユーザドリフト検出閾値を有する。一例として、トーテム３４が、頭部ユニット１８から２メートルを上回って離れる場合、ユーザ１０がトーテム３４をそのような距離に保持することは、不可能であって、ドリフトが、宣言される。ユーザ１０が、例えば、その腕を０．５メートル延在させることができる場合、システムは、ドリフトがさらに１．５メートルに到達したときのみ、ドリフトを宣言するであろう。そのような大ドリフトは、望ましくない。ドリフトがより迅速に宣言される、システムが、より望ましい。
【０１１１】
図８は、ドリフトが図３における実施形態に従って宣言される、様式を図示する。図３を参照して記載されるように、非融合姿勢決定モデラ１６２は、非融合姿勢１８４を２４０Ｈｚの周波数で計算する。上記に述べられたように、ドリフトは、融合場所１７４と非融合姿勢１８４との間の差異が、上記に説明されるように、１００ｍｍまたはそれ未満である場合、宣言され得る。ｔ１では、例えば、１００ｍｍのシステム誤差検出閾値に到達し、ドリフトが、宣言される。ｔ２では、ドリフトは、直ちに補正された。ドリフトは、したがって、図８におけるシステムでは、図７のシステムより小さい距離誤差に関して補正されることができる。加えて、ドリフトは、再び、ｔ３において補正されてもよい。ドリフトは、したがって、図８のシステムでは、図７のシステムより頻繁に補正されることができる。
【０１１２】
図９は、ドリフトが補正される方法を示す。Ａでは、関係が、世界フレーム１７２とリグフレーム１９６との間に確立される。リグフレーム１９６は、ＥＭ受信機１５０と同一位置に位置しない。工場較正に起因して、リグフレーム１９６に対するＥＭ受信機１５０の場所は、既知である。Ｂでは、調節が、行われ、ＥＭ受信機１５０の場所に対するリグフレーム１９６を計算する。Ｃでは、推定が、ＥＭ伝送機１５４に対するＥＭ受信機１５０の場所から行われる。上記に述べられたように、そのような推定は、ＳＬＡＭシステム４８を使用して行われてもよい。工場較正に起因して、ＥＭ伝送機１５４の場所は、トーテムＩＭＵ１５６の場所に対して既知である。Ｄでは、調節が、行われ、ＥＭ伝送機１５４に対するトーテムＩＭＵ１５６の場所を決定する。Ａ、Ｂ、Ｃ、およびＤにおいて行われる計算は、したがって、世界フレーム１７２内のトーテムＩＭＵ１５６の場所を確立する。トーテムＩＭＵ１５６の姿勢は、次いで、計算されるような世界フレーム１７２内のトーテムＩＭＵ１５６の場所に基づいて、リセットされることができる。
【０１１３】
図１０は、機械に本明細書で議論される方法論のうちの任意の１つ以上のものを実施させるための命令のセットがいくつかの実施形態に従って実行され得る、コンピュータシステム９００の例示的形態における機械の概略表現を示す。代替実施形態では、機械は、独立型デバイスとして動作する、または他の機械に接続（例えば、ネットワーク化）されてもよい。さらに、単一機械のみが、図示されるが、用語「機械」はまた、個々にまたはともに、命令のセット（または複数のセット）を実行し、本明細書で議論される方法論のうちの任意の１つ以上のものを実施する、機械の任意の集合を含むものと捉えられるものとする。
【０１１４】
例示的コンピュータシステム９００は、プロセッサ９０２（例えば、中央処理ユニット（ＣＰＵ）、グラフィック処理ユニット（ＧＰＵ）、または両方）と、メインメモリ９０４（例えば、読取専用メモリ（ＲＯＭ）、フラッシュメモリ、動的ランダムアクセスメモリ（ＤＲＡＭ）、例えば、同期ＤＲＡＭ（ＳＤＲＡＭ）またはＲａｍｂｕｓ  ＤＲＡＭ（ＲＤＲＡＭ）等）と、静的メモリ９０６（例えば、フラッシュメモリ、静的ランダムアクセスメモリ（ＳＲＡＭ）等）とを含み、これらは、バス９０８を介して、相互に通信する。
【０１１５】
コンピュータシステム９００はさらに、ディスクドライブユニット９１６と、ネットワークインターフェースデバイス９２０とを含んでもよい。
【０１１６】
ディスクドライブユニット９１６は、その上に本明細書に説明される方法論または機能のうちの任意の１つ以上のものを具現化する１つ以上の命令のセット９２４（例えば、ソフトウェア）が記憶される、機械可読媒体９２２を含む。ソフトウェアはまた、コンピュータシステム９００、メインメモリ９０４、およびプロセッサ９０２によるその実行の間、完全または少なくとも部分的に、メインメモリ９０４および／またはプロセッサ９０２内に常駐し、また、機械可読媒体を構成してもよい。
【０１１７】
ソフトウェアはさらに、ネットワークインターフェースデバイス９２０を介して、ネットワーク９２８を経由して、伝送または受信されてもよい。
【０１１８】
コンピュータシステム９００は、プロジェクタを駆動し、レーザ光を生成するために使用される、レーザドライバチップ９５０を含む。レーザドライバチップ９５０は、その独自のデータ記憶装置９６０と、その独自のプロセッサ９６２とを含む。
【０１１９】
機械可読媒体９２４は、例示的実施形態では、単一媒体であるように示されるが、用語「機械可読媒体」は、１つ以上の命令のセットを記憶する、単一媒体または複数の媒体（例えば、集中型または分散型データベースおよび／または関連付けられるキャッシュおよびサーバ）を含むものと捉えられるべきである。用語「機械可読媒体」はまた、機械による実行のための命令のセットを記憶、エンコーディング、または搬送することが可能であって、機械に本発明の方法論のうちの任意の１つ以上のものを実施させる、任意の媒体を含むものと捉えられるものとする。用語「機械可読媒体」は、故に、限定ではないが、ソリッドステートメモリ、光学および磁気媒体、および搬送波信号を含むものと捉えられるものとする。
【０１２０】
ある例示的実施形態が、説明され、付随の図面に示されたが、そのような実施形態は、単に、本発明の例証であって、制限ではなく、本発明は、修正が当業者に想起され得るため、図示および説明される具体的構造および配列に制限されないことを理解されたい。
【図１】
2021533479.tif 000003
【図２】
2021533479.tif 000004
【図３】
2021533479.tif 000005
【図４】
2021533479.tif 000006
【図５】
2021533479.tif 000007
【図６】
2021533479.tif 000008
【図７】
2021533479.tif 000009
【図８】
2021533479.tif 000010
【図９】
2021533479.tif 000011
【図１０】
2021533479.tif 000012
【国際調査報告】
2021533479.tif 000013