(57)【要約】本開示の実施例は、３Ｄモデルを分解および共有するためのシステムおよび方法を説明する。例示的方法では、仮想３次元モデルの第１のバージョンが、ウェアラブルヘッドデバイスのディスプレイを介して表示される。要求が、仮想３次元モデルの第２のバージョンと関連付けられるデータに関してホストデバイスに行われ、仮想３次元モデルの第２のバージョンは、構成部分を備える。仮想３次元モデルの第１のバージョンが構成部分を備えるかどうかが、決定される。仮想３次元モデルの第１のバージョンが構成部分を備えないという決定に従って、要求が、構成部分と関連付けられるデータに関してホストデバイスに行われる。仮想３次元モデルの第２のバージョンは、ウェアラブルヘッドデバイスのディスプレイを介して表示される。
2022502749.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
ホストコンピューティングシステムと、
頭部搭載型ディスプレイシステムを備えるクライアントコンピューティングシステムと
を備え、
前記ホストコンピューティングシステムは、
メモリ内に記憶された仮想３次元モデルにアクセスすることと、
前記３次元モデルを１つ以上の構成部分に分解することと、
前記１つ以上の構成部分のリストを前記クライアントコンピューティングシステムに送信することと、
前記クライアントコンピューティングシステムから構成部分要求を受信することと、
前記構成部分要求に対応する１つ以上の構成部分を前記クライアントコンピューティングシステムに送信することと
を含む方法を実行するように構成される１つ以上のプロセッサ
を備え、
前記クライアントコンピューティングシステムは、
前記ホストコンピューティングシステムから前記１つ以上の構成部分のリストを受信することと、
前記構成部分要求を前記ホストコンピューティングシステムに送信することと、
前記ホストコンピューティングシステムから前記構成部分要求に対応する前記構成部分のうちの１つ以上のものを受信することと、
前記構成部分要求に対応する前記構成部分のうちの１つ以上のものから、前記仮想３次元モデルのコピーを構成することと
を含む方法を実行するように構成される１つ以上のプロセッサ
を備える、システム。
【請求項２】
前記構成部分は、メッシュデータを備える、請求項１に記載のシステム。
【請求項３】
前記構成部分は、テクスチャデータを備える、請求項１に記載のシステム。
【請求項４】
前記ホストコンピューティングシステムは、サーバを備える、請求項１に記載のシステム。
【請求項５】
前記ホストコンピューティングシステムは、頭部搭載型ディスプレイシステムを備える、請求項１に記載のシステム。
【請求項６】
前記方法はさらに、メモリ内に前記１つ以上の構成部分を記憶することを含む、請求項１に記載のシステム。
【請求項７】
前記方法はさらに、前記１つ以上の構成部分を分解することを含む、請求項１に記載のシステム。
【請求項８】
方法であって、
メモリ内に記憶された仮想３次元モデルにアクセスすることと、
前記３次元モデルを１つ以上の構成部分に分解することと、
前記１つ以上の構成部分のリストを、頭部搭載型ディスプレイを備えるクライアントコンピューティングシステムに送信することと、
前記クライアントコンピューティングシステムから構成部分要求を受信することと、
前記構成部分要求に対応する１つ以上の構成部分を前記クライアントコンピューティングシステムに送信することと、
ホストコンピューティングシステムから前記１つ以上の構成部分のリストを受信することと、
前記構成部分要求を前記ホストコンピューティングシステムに送信することと、
前記ホストコンピューティングシステムから前記構成部分要求に対応する前記構成部分のうちの１つ以上のものを受信することと、
前記構成部分要求に対応する前記構成部分のうちの１つ以上のものから、前記仮想３次元モデルのコピーを構成することと
を含む、方法。
【請求項９】
前記構成部分は、メッシュデータを備える、請求項８に記載の方法。
【請求項１０】
前記構成部分は、テクスチャデータを備える、請求項８に記載の方法。
【請求項１１】
前記ホストコンピューティングシステムは、サーバを備える、請求項８に記載の方法。
【請求項１２】
前記ホストコンピューティングシステムは、頭部搭載型ディスプレイシステムを備える、請求項８に記載の方法。
【請求項１３】
前記方法はさらに、メモリ内に前記１つ以上の構成部分を記憶することを含む、請求項８に記載の方法。
【請求項１４】
前記方法はさらに、前記１つ以上の構成部分を分解することを含む、請求項８に記載の方法。
【請求項１５】
非一過性のコンピュータ可読媒体であって、前記非一過性のコンピュータ可読媒体は、１つ以上の命令を記憶しており、前記１つ以上の命令は、１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、
メモリ内に記憶された仮想３次元モデルにアクセスすることと、
前記３次元モデルを１つ以上の構成部分に分解することと、
前記１つ以上の構成部分のリストを、頭部搭載型ディスプレイを備えるクライアントコンピューティングシステムに送信することと、
前記クライアントコンピューティングシステムから構成部分要求を受信することと、
前記構成部分要求に対応する１つ以上の構成部分を前記クライアントコンピューティングシステムに送信することと、
ホストコンピューティングシステムから前記１つ以上の構成部分のリストを受信することと、
前記構成部分要求を前記ホストコンピューティングシステムに送信することと、
前記ホストコンピューティングシステムから前記構成部分要求に対応する前記構成部分のうちの１つ以上のものを受信することと、
前記構成部分要求に対応する前記構成部分のうちの１つ以上のものから、前記仮想３次元モデルのコピーを構成することと
を含む方法を実施させる、非一過性のコンピュータ可読媒体。
【請求項１６】
前記構成部分は、メッシュデータを備える、請求項１５に記載の非一過性のコンピュータ可読媒体。
【請求項１７】
前記構成部分は、テクスチャデータを備える、請求項１５に記載の非一過性のコンピュータ可読媒体。
【請求項１８】
前記ホストコンピューティングシステムは、サーバを備える、請求項１５に記載の非一過性のコンピュータ可読媒体。
【請求項１９】
前記ホストコンピューティングシステムは、頭部搭載型ディスプレイシステムを備える、請求項１５に記載の非一過性のコンピュータ可読媒体。
【請求項２０】
前記方法はさらに、メモリ内に前記１つ以上の構成部分を記憶することを含む、請求項１５に記載の非一過性のコンピュータ可読媒体。
【請求項２１】
前記方法はさらに、前記１つ以上の構成部分を分解することを含む、請求項１５に記載の非一過性のコンピュータ可読媒体。
【請求項２２】
方法であって、
メモリ内に記憶された仮想３次元モデルにアクセスすることと、
前記仮想３次元モデルを１つ以上の構成部分に分解することと、
１つ以上のアレイ内に前記１つ以上の構成部分を記憶することであって、前記１つ以上の構成部分は、前記仮想３次元モデルと別個に記憶される、ことと、
ウェアラブルヘッドデバイスから接続要求を受信することと、
利用可能な構成部分のリストを前記ウェアラブルヘッドデバイスに送信することと、
前記ウェアラブルヘッドデバイスから構成部分要求を受信することと、
前記構成部分要求に基づいて、要求された構成部分を前記ウェアラブルヘッドデバイスに送信することと
を含む、方法。
【請求項２３】
方法であって、
ウェアラブルヘッドデバイスを介して、接続要求をホストデバイスに送信することと、
前記ホストデバイスから利用可能な構成部分のリストを受信することと、
構成部分要求を前記ホストデバイスに送信することと、
前記ホストデバイスから、前記構成部分要求に基づいて、要求された構成部分を受信することと、
前記要求された構成部分に基づいて、仮想３次元モデルのコピーを再構成することと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、その内容が、参照することによってそれらの全体として本明細書に組み込まれる、２０１８年９月２４に出願された、米国仮出願第６２／７３５，６７５号の優先権を主張する。
【０００２】
本開示は、複合現実、結像、および可視化システムを含む、２つ以上のコンピューティングシステムの間で３次元モデルを共有することに関する。
【背景技術】
【０００３】
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」、「拡張現実」、および「複合現実」体験のためのシステムの開発を促進しており、デジタル的に再現された画像が、現実であるように見える、またはそのように知覚され得る様式でユーザに提示される。仮想現実（ＶＲ）シナリオは、典型的には、他の実際の実世界の視覚的入力に対する透過性を伴わずに、コンピュータ生成仮想画像情報の提示を伴う。拡張現実（ＡＲ）シナリオは、典型的には、ユーザの周囲の実際の世界の可視化に対する拡張としての仮想画像情報の提示を伴う。複合現実（ＭＲ）は、物理的および仮想オブジェクトが、共存し、リアルタイムで相互作用し得る、拡張現実のタイプである。本明細書に開示されるシステムおよび方法は、ＶＲ、ＡＲ、およびＭＲ技術に関連する種々の課題に対処する。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示の実施例は、３Ｄモデルを分解および共有するためのシステムおよび方法を説明する。例示的方法では、仮想３次元モデルの第１のバージョンが、ウェアラブルヘッドデバイスのディスプレイを介して表示される。要求が、仮想３次元モデルの第２のバージョンと関連付けられるデータに関してホストデバイスに行われ、仮想３次元モデルの第２のバージョンは、構成部分を備える。仮想３次元モデルの第１のバージョンが構成部分を備えるかどうかが、決定される。仮想３次元モデルの第１のバージョンが構成部分を備えないという決定に従って、要求が、構成部分と関連付けられるデータに関してホストデバイスに行われる。仮想３次元モデルの第２のバージョンは、ウェアラブルヘッドデバイスのディスプレイを介して表示される。仮想３次元モデルの第１のバージョンが構成部分を備えるという決定に従って、要求が、構成部分と関連付けられるデータに関してホストデバイスに行われない。
【図面の簡単な説明】
【０００５】
本明細書に説明される主題の１つ以上の実装の詳細が、付随の図面および下記の説明に記載される。他の特徴、側面、および利点も、説明、図面、および請求項から明白となるであろう。
【０００６】
【図１】図１は、人物によって視認されるある仮想現実オブジェクトおよびある物理的オブジェクトを伴う、複合現実シナリオの例証を描写する。
【０００７】
【図２】図２は、ウェアラブルシステムの実施例を図式的に図示する。
【０００８】
【図３】図３は、ウェアラブルシステムの例示的コンポーネントを図式的に図示する。
【０００９】
【図４】図４は、画像情報をユーザに出力するためのウェアラブルデバイスの導波管スタックの実施例を図式的に図示する。
【００１０】
【図５】図５は、仮想ユーザインターフェースと相互作用するための方法の実施例のプロセスフロー図である。
【００１１】
【図６Ａ】図６Ａは、アバタ処理およびレンダリングシステムを備え得る、ウェアラブルシステムの別の実施例のブロック図である。
【００１２】
【図６Ｂ】図６Ｂは、アバタ処理およびレンダリングシステムの例示的コンポーネントを図示する。
【００１３】
【図７】図７は、ウェアラブルシステムの中への種々の入力を含む、ウェアラブルシステムの実施例のブロック図である。
【００１４】
【図８】図８は、認識されるオブジェクトに関連して仮想コンテンツをレンダリングする方法の実施例のプロセスフロー図である。
【００１５】
【図９】図９は、相互に相互作用する複数のウェアラブルシステムを描写する、全体的システム図を図式的に図示する。
【００１６】
【図１０】図１０は、本明細書に説明されるシステムおよび方法を使用して、３Ｄアセットを共有する例示的プロセスを図示する。
【００１７】
【図１１】図１１は、本明細書に説明されるシステムおよび方法を使用して、３Ｄアセットを共有するための例示的３Ｄモデル共有システム構成を図示する。
【００１８】
【図１２】図１２は、本明細書に説明されるシステムおよび方法を使用する、サーバとクライアントとの間の例示的３Ｄモデル共有プロセスを図示する。
【００１９】
【図１３】図１３は、本明細書に説明されるシステムおよび方法を使用して、３Ｄアセットを共有するための例示的３Ｄモデル共有システム構成を図示する。
【００２０】
【図１４】図１４は、本明細書に説明されるシステムおよび方法を使用して、完全３Ｄモデルを分解するための例示的プロセスを図示する。
【００２１】
【図１５】図１５は、本明細書に説明されるシステムおよび方法を使用する、例示的完全３Ｄモデルを図示する。
【００２２】
【図１６】図１６は、本明細書に説明されるシステムおよび方法を使用して、３Ｄモデルの構成部分を記憶するために３Ｄモデル共有アプリケーションで利用される、ライブラリの例示的セットを図示する。
【００２３】
【図１７】図１７は、本明細書に説明されるシステムおよび方法を使用して、その構成部分から完全３Ｄモデルを再構成するための例示的プロセスを図示する。
【００２４】
【図１８】図１８は、本明細書に説明されるシステムおよび方法を使用する、例示的完全３Ｄモデルを図示する。
【００２５】
【図１９Ａ】図１９Ａ−１９Ｃは、例示的複合現実環境を図示する。
【図１９Ｂ】図１９Ａ−１９Ｃは、例示的複合現実環境を図示する。
【図１９Ｃ】図１９Ａ−１９Ｃは、例示的複合現実環境を図示する。
【００２６】
図面の全体を通して、参照番号が、参照される要素間の対応を示すために再使用され得る。図面は、本明細書に説明される例示的実施形態を図示するために提供され、本開示の範囲を限定することを意図していない。
【発明を実施するための形態】
【００２７】
複合現実環境
【００２８】
全ての人々のように、複合現実システムのユーザは、実環境、すなわち、「実世界」の３次元部分、およびユーザによって知覚可能であるそのコンテンツの全てに存在する。例えば、ユーザは、通常のヒトの感覚のうちの１つ、すなわち、視覚、音、接触、味、匂いを使用して、実環境を知覚し、実環境内で自分自身の身体を移動させることによって、実環境と相互作用する。実環境内の場所は、座標空間内の座標として説明されることができ、例えば、座標は、緯度、経度、および海面に対する標高、参照点からの３つの直交次元における距離、または他の好適な値を備えることができる。同様に、ベクトルは、座標空間内の方向および規模を有する数量を説明することができる。
【００２９】
コンピューティングデバイスは、例えば、デバイスと関連付けられるメモリ内に、仮想環境の表現を維持することができる。本明細書で使用されるように、仮想環境は、３次元空間の計算表現である。仮想環境は、任意のオブジェクト、アクション、信号、パラメータ、座標、ベクトル、またはその空間と関連付けられる他の特性の表現を含むことができる。いくつかの実施例では、コンピューティングデバイスの回路（例えば、プロセッサ）は、仮想環境の状態を維持および更新することができる、すなわち、プロセッサは、第１の時間ｔ０において、仮想環境と関連付けられるデータおよび／またはユーザによって提供される入力に基づいて、第２の時間ｔ１における仮想環境の状態を決定することができる。例えば、仮想環境内のオブジェクトが、時間ｔ０において第１の座標に位置し、あるプログラムされた物理的パラメータ（例えば、質量、摩擦係数）を有し、ユーザから受信される入力が、力が方向ベクトルにおいてオブジェクトに印加されるべきであることを示す場合、プロセッサは、運動学の法則を適用し、基本力学を使用して、時間ｔ１におけるオブジェクトの場所を決定することができる。プロセッサは、仮想環境について公知である任意の好適な情報、および／または任意の好適な入力（例えば、実世界パラメータ）を使用し、時間ｔ１における仮想環境の状態を決定することができる。仮想環境の状態を維持および更新する際に、プロセッサは、仮想環境内の仮想オブジェクトの作成および削除に関するソフトウェア、仮想環境内の仮想オブジェクトまたはキャラクタの挙動を定義するためのソフトウェア（例えば、スクリプト）、仮想環境内の信号（例えば、オーディオ信号）の挙動を定義するためのソフトウェア、仮想環境と関連付けられるパラメータを作成および更新するためのソフトウェア、仮想環境内でオーディオ信号を生成するためのソフトウェア、入力および出力を取り扱うためのソフトウェア、ネットワーク動作を実装するためのソフトウェア、アセットデータ（例えば、経時的に仮想オブジェクトを移動させるためのアニメーションデータ）を適用するためのソフトウェア、または多くの他の可能性を含む、任意の好適なソフトウェアを実行することができる。
【００３０】
ディスプレイまたはスピーカ等の出力デバイスは、仮想環境の任意または全ての側面をユーザに提示することができる。例えば、仮想環境は、ユーザに提示され得る、仮想オブジェクト（無生物オブジェクト、人、動物、ライト等の表現を含み得る）を含んでもよい。プロセッサは、仮想環境のビュー（例えば、原点座標、視認軸、および錐台を伴う「カメラ」に対応する）を決定し、そのビューに対応する仮想環境の視認可能な場面をディスプレイにレンダリングすることができる。任意の好適なレンダリング技術が、本目的のために使用されてもよい。いくつかの実施例では、視認可能な場面は、仮想環境内のいくつかの仮想オブジェクトのみを含み、ある他の仮想オブジェクトを除外してもよい。同様に、仮想環境は、１つ以上のオーディオ信号としてユーザに提示され得る、オーディオ側面を含んでもよい。例えば、仮想環境内の仮想オブジェクトは、オブジェクトの場所座標から生じる音を生成し得る（例えば、仮想キャラクタが、話す、または音響効果を引き起こし得る）、または仮想環境は、特定の場所と関連付けられる場合とそうではない場合がある、音楽的キューまたは周囲音と関連付けられ得る。プロセッサは、「聴取者」座標に対応するオーディオ信号、例えば、仮想環境内の音の複合物に対応し、聴取者座標において聴取者によって聞かれるであろうオーディオ信号をシミュレートするように混合および処理される、オーディオ信号を決定し、１つ以上のスピーカを介して、オーディオ信号をユーザに提示することができる。
【００３１】
仮想環境が、計算構造としてのみ存在するため、ユーザは、その通常の感覚を使用して、仮想環境を直接知覚することができない。代わりに、ユーザは、例えば、ディスプレイ、スピーカ、触知出力デバイス等によって、ユーザに提示されるような、仮想環境を間接的にのみ知覚することができる。同様に、ユーザは、仮想環境に直接触れる、それを操作する、または別様にそれと相互作用することができないが、入力デバイスまたはセンサを介して、デバイスまたはセンサデータを使用し、仮想環境を更新し得るプロセッサに、入力データを提供することができる。例えば、カメラセンサは、ユーザが仮想環境内でオブジェクトを移動させようとしていることを示す、光学データを提供することができ、プロセッサは、そのデータを使用し、オブジェクトを、それに応じて仮想環境内で応答させることができる。
【００３２】
複合現実システムは、例えば、透過型ディスプレイおよび／または１つ以上のスピーカ（例えば、ウェアラブルヘッドデバイスの中に組み込まれ得る）を使用して、実環境および仮想環境の側面を組み合わせる複合現実（「ＭＲ」）環境をユーザに提示することができる。いくつかの実施形態では、１つ以上のスピーカは、頭部搭載型ウェアラブルユニットの外部にあり得る。本明細書で使用されるように、ＭＲ環境は、実環境および対応する仮想環境の同時表現である。いくつかの実施例では、対応する実および仮想環境は、単一の座標空間を共有し、いくつかの実施例では、実座標空間および１つ以上の対応する仮想座標空間は、１つ以上の変換行列（または他の好適な表現）によって相互に関連する。故に、いくつかの実施形態では、単一の座標は（いくつかの実施例では、変換行列とともに）、実環境内の第１の場所、また、仮想環境内の第２の対応する場所を定義することができ、その逆も同様である。
【００３３】
ＭＲ環境では、（例えば、ＭＲ環境と関連付けられる仮想環境内の）仮想オブジェクトは、（例えば、ＭＲ環境と関連付けられる実環境内の）実際のオブジェクトに対応することができる。例えば、ＭＲ環境の実環境が、場所座標において実際の街灯（実際のオブジェクト）を備える場合、ＭＲ環境の仮想環境は、対応する場所座標において対応する仮想街灯（仮想オブジェクト）を備えてもよい。本明細書で使用されるように、実際のオブジェクトは、その対応する仮想オブジェクトと組み合わせて、「複合現実オブジェクト」をともに構成する。仮想オブジェクトが、対応する実際のオブジェクトと完全に合致または整合する必要はない。いくつかの実施例では、仮想オブジェクトは、対応する実際のオブジェクトの簡略化されたバージョンであり得る。例えば、実環境が、実際の街灯を含む場合、対応する仮想オブジェクトは、（街灯が略円筒形であり得ることを反映して）実際の街灯とほぼ同一の高さおよび半径の円柱を備えてもよい。このように仮想オブジェクトを単純化することは、計算効率を可能にすることができ、そのような仮想オブジェクトに実施されるべき計算を単純化することができる。さらに、ＭＲ環境のいくつかの実施例では、実環境内の全ての実際のオブジェクトが、対応する仮想オブジェクトと関連付けられるわけではない場合がある。同様に、ＭＲ環境のいくつかの実施例では、仮想環境内の全ての仮想オブジェクトが、対応する実際のオブジェクトと関連付けられるわけではない場合がある。すなわち、いくつかの仮想オブジェクトが、いずれの実世界対応物も伴わずに、単独でＭＲ環境の仮想環境内にあってもよい。いくつかの実施例では、全ての実際のオブジェクトが、対応する実際のオブジェクトと関連付けられるわけではない場合がある。
【００３４】
いくつかの実施例では、仮想オブジェクトは、対応する実際のオブジェクトのものと時として著しく異なる、特性を有し得る。例えば、ＭＲ環境内の実環境が、緑色で２本腕のサボテン、すなわち、とげのある無生物オブジェクトを備え得る一方、ＭＲ環境内の対応する仮想オブジェクトは、ヒトの顔特徴および無愛想な態度を伴う緑色で２本腕の仮想キャラクタの特性を有し得る。本実施例では、仮想オブジェクトは、ある特性（色、腕の数）においてその対応する実際のオブジェクトに類似するが、他の特性（顔特徴、性格）において実際のオブジェクトと異なる。このように、仮想オブジェクトは、独創的、抽象的、誇張された、または空想的様式で、実際のオブジェクトを表す、または挙動（例えば、ヒトの性格）をそうでなければ無生物の実際のオブジェクトに付与する潜在性を有する。いくつかの実施例では、仮想オブジェクトは、実世界対応物がない、純粋に空想的な創作物（例えば、おそらく、実環境内の空虚な空間に対応する場所における、仮想環境内の仮想モンスター）であってもよい。
【００３５】
実環境を覆い隠しながら、ユーザに仮想環境を提示する、ＶＲシステムと比較して、ＭＲ環境を提示する複合現実システムは、仮想環境が提示されている間に、実環境が知覚可能なままであるという利点をもたらす。故に、複合現実システムのユーザは、実環境と関連付けられる視覚およびオーディオキューを使用し、対応する仮想環境を体験し、それと相互作用することができる。実施例として、上記のように、ユーザが仮想環境を直接知覚すること、またはそれと相互作用することができないため、ＶＲシステムのユーザは、仮想環境内に表示される仮想オブジェクトを知覚する、またはそれと相互作用することに苦戦し得るが、ＭＲシステムのユーザは、自身の実環境内の対応する実際のオブジェクトを見る、聞く、および触れることによって、仮想オブジェクトと相互作用することが直観的かつ自然であると見出し得る。本レベルの双方向性は、仮想環境とのユーザの没入感、関連、および関与を高めることができる。同様に、実環境および仮想環境を同時に提示することによって、複合現実システムは、ＶＲシステムと関連付けられる負の心理的感覚（例えば、認知的不協和）および負の身体的感覚（例えば、乗り物酔い）を低減させることができる。複合現実システムはさらに、我々の実世界の体験を拡張または改変し得る用途のための多くの可能性を提供する。
【００３６】
図１９Ａは、ユーザ１９１０が複合現実システム１９１２を使用する、例示的実環境１９００を図示する。複合現実システム１９１２は、例えば、下記に説明されるように、ディスプレイ（例えば、透過型ディスプレイ）と、１つ以上のスピーカと、１つ以上のセンサ（例えば、カメラ）とを備えてもよい。示される実環境１９００は、ユーザ１９１０が立っている長方形の部屋１９０４Ａと、実際のオブジェクト１９２２Ａ（ランプ）、１９２４Ａ（テーブル）、１９２６Ａ（ソファ）、および１９２８Ａ（絵画）とを備える。部屋１９０４Ａはさらに、実環境１９００の原点と見なされ得る、場所座標１９０６を備える。図１９Ａに示されるように、点１９０６（世界座標）にその原点を伴う環境／世界座標系１９０８（ｘ軸１９０８Ｘ、ｙ軸１９０８Ｙ、およびｚ軸１９０８Ｚを備える）が、実環境１９００のための座標空間を定義することができる。いくつかの実施形態では、環境／世界座標系１９０８の原点１９０６は、複合現実システム１９１２の電源が入れられた場所に対応し得る。いくつかの実施形態では、環境／世界座標系１９０８の原点１９０６は、動作の間にリセットされ得る。いくつかの実施例では、ユーザ１９１０は、実環境１９００内の実際のオブジェクトと見なされ得、同様に、ユーザ１９１０の身体部分（例えば、手、足）は、実環境１９００内の実際のオブジェクトと見なされ得る。いくつかの実施例では、点１９１５（例えば、ユーザ／聴取者／頭部座標）にその原点を伴うユーザ／聴取者／頭部座標系１９１４（ｘ軸１９１４Ｘ、ｙ軸１９１４Ｙ、およびｚ軸１９１４Ｚを備える）が、複合現実システム１９１２が位置する、ユーザ／聴取者／頭部のための座標空間を定義することができる。ユーザ／聴取者／頭部座標系１９１４の原点１９１５は、複合現実システム１９１２の１つ以上の成分に対して定義され得る。例えば、ユーザ／聴取者／頭部座標系１９１４の原点１９１５は、複合現実システム１９１２の初期較正の間等に、複合現実システム１９１２のディスプレイに対して定義され得る。行列（平行移動行列およびクォータニオン行列または他の回転行列を含み得る）、または他の好適な表現が、ユーザ／聴取者／頭部座標系１９１４空間と環境／世界座標系１９０８空間との間の変換を特徴付けることができる。いくつかの実施形態では、左耳座標１９１６および右耳座標１９１７が、ユーザ／聴取者／頭部座標系１９１４の原点１９１５に対して定義され得る。行列（平行移動行列およびクォータニオン行列または他の回転行列を含み得る）、または他の好適な表現が、左耳座標１９１６および右耳座標１９１７とユーザ／聴取者／頭部座標系１９１４空間との間の変換を特徴付けることができる。ユーザ／聴取者／頭部座標系１９１４は、ユーザの頭部または頭部搭載型デバイスに対する、例えば、環境／世界座標系１９０８に対する場所の表現を単純化することができる。同時位置特定およびマッピング（ＳＬＡＭ）、視覚的走行距離計測法、または他の技法を使用して、ユーザ座標系１９１４と環境座標系１９０８との間の変換が、リアルタイムで決定および更新されることができる。
【００３７】
図１９Ｂは、実環境１９００に対応する例示的仮想環境１９３０を図示する。示される仮想環境１９３０は、実際の長方形の部屋１９０４Ａに対応する仮想長方形の部屋１９０４Ｂと、実際のオブジェクト１９２２Ａに対応する仮想オブジェクト１９２２Ｂと、実際のオブジェクト１９２４Ａに対応する仮想オブジェクト１９２４Ｂと、実際のオブジェクト１９２６Ａに対応する仮想オブジェクト１９２６Ｂとを備える。仮想オブジェクト１９２２Ｂ、１９２４Ｂ、１９２６Ｂと関連付けられるメタデータは、対応する実際のオブジェクト１９２２Ａ、１９２４Ａ、１９２６Ａから導出される情報を含むことができる。仮想環境１９３０は、加えて、実環境１９００内のいずれの実際のオブジェクトにも対応しない、仮想モンスター１９３２を備える。実環境１９００内の実際のオブジェクト１９２８Ａは、仮想環境１９３０内のいずれの仮想オブジェクトにも対応しない。点１９３４（持続的座標）にその原点を伴う持続的座標系１９３３（軸１９３３Ｘ、ｙ軸１９３３Ｙ、およびｚ軸１９３３Ｚを備える）は、仮想コンテンツのための座標空間を定義することができる。持続的座標系１９３３の原点１９３４は、実際のオブジェクト１９２６Ａ等の１つ以上の実際のオブジェクトに対して／関して定義され得る。行列（平行移動行列およびクォータニオン行列または他の回転行列を含み得る）、または他の好適な表現が、持続的座標系１９３３空間と環境／世界座標系１９０８空間との間の変換を特徴付けることができる。いくつかの実施形態では、仮想オブジェクト１９２２Ｂ、１９２４Ｂ、１９２６Ｂ、および１９３２はそれぞれ、持続的座標系１９３３の原点１９３４に対してそれらの独自の持続的座標点を有し得る。いくつかの実施形態では、複数の持続的座標系が存在し得、仮想オブジェクト１９２２Ｂ、１９２４Ｂ、１９２６Ｂ、および１９３２はそれぞれ、１つ以上の持続的座標系に対してそれらの独自の持続的座標点を有し得る。
【００３８】
図１９Ａおよび１９Ｂに関して、環境／世界座標系１９０８は、実環境１９００および仮想環境１９３０の両方のための共有座標空間を定義する。示される実施例では、座標空間は、点１９０６にその原点を有する。さらに、座標空間は、同一の３つの直交軸（１９０８Ｘ、１９０８Ｙ、１９０８Ｚ）によって定義される。故に、実環境１９００内の第１の場所および仮想環境１９３０内の第２の対応する場所が、同一の座標空間に関して説明されることができる。これは、同一の座標が両方の場所を識別するために使用されることができるため、実および仮想環境内の対応する場所を識別および表示することを単純化する。しかしながら、いくつかの実施例では、対応する実および仮想環境は、共有座標空間を使用する必要はない。例えば、いくつかの実施例（図示せず）では、行列（平行移動行列およびクォータニオン行列または他の回転行列を含み得る）、または他の好適な表現が、実環境座標空間と仮想環境座標空間との間の変換を特徴付けることができる。
【００３９】
図１９Ｃは、複合現実システム１９１２を介して、実環境１９００および仮想環境１９３０の側面をユーザ１９１０に同時に提示する、例示的ＭＲ環境１９５０を図示する。示される実施例では、ＭＲ環境１９５０は、（例えば、複合現実システム１９１２のディスプレイの透過型部分を介して）実環境１９００からの実際のオブジェクト１９２２Ａ、１９２４Ａ、１９２６Ａ、および１９２８Ａ、および（例えば、複合現実システム１９１２のディスプレイのアクティブディスプレイ部分を介して）仮想環境１９３０からの仮想オブジェクト１９２２Ｂ、１９２４Ｂ、１９２６Ｂ、および１９３２をユーザ１９１０に同時に提示する。上記のように、原点１９０６は、ＭＲ環境１９５０に対応する座標空間のための原点として作用し、座標系１９０８は、座標空間のためのｘ軸、ｙ軸、およびｚ軸を定義する。
【００４０】
示される実施例では、複合現実オブジェクトは、座標空間１９０８内の対応する場所を占有する、対応する対の実際のオブジェクトおよび仮想オブジェクト（すなわち、１９２２Ａ／１９２２Ｂ、１９２４Ａ／１９２４Ｂ、１９２６Ａ／１９２６Ｂ）を備える。いくつかの実施例では、実際のオブジェクトおよび仮想オブジェクトは両方とも、同時にユーザ１９１０に可視であり得る。これは、例えば、（仮想オブジェクトが古代の損傷した彫刻の欠落部分を提示する、博物館アプリケーションにおいて等）仮想オブジェクトが対応する実際のオブジェクトのビューを拡張するように設計される情報を提示する事例において、望ましくあり得る。いくつかの実施例では、仮想オブジェクト（１９２２Ｂ、１９２４Ｂ、および／または１９２６Ｂ）は、対応する実際のオブジェクト（１９２２Ａ、１９２４Ａ、および／または１９２６Ａ）を閉塞するように、（例えば、ピクセル化閉塞シャッタを使用する、アクティブピクセル化閉塞を介して）表示されてもよい。これは、例えば、（無生物の実際のオブジェクトが「生きている」キャラクタになる、双方向朗読アプリケーション等の）仮想オブジェクトが対応する実際のオブジェクトの視覚代替物として作用する事例において、望ましくあり得る。
【００４１】
いくつかの実施例では、実際のオブジェクト（例えば、１９２２Ａ、１９２４Ａ、１９２６Ａ）は、必ずしも仮想オブジェクトを構成しない場合がある、仮想コンテンツまたはヘルパデータと関連付けられ得る。仮想コンテンツまたはヘルパデータは、複合現実環境内の仮想オブジェクトの処理またはハンドリングを促進することができる。例えば、そのような仮想コンテンツは、対応する実際のオブジェクトの２次元表現、対応する実際のオブジェクトと関連付けられるカスタムアセットタイプ、または対応する実際のオブジェクトと関連付けられる統計データを含み得る。本情報は、不必要な計算オーバーヘッドを負担することなく、実際のオブジェクトを伴う計算を可能にする、または促進することができる。
【００４２】
いくつかの実施例では、上記に説明される提示はまた、オーディオ側面も組み込み得る。例えば、ＭＲ環境１９５０では、仮想モンスター１９３２は、モンスターがＭＲ環境１９５０を歩き回るにつれて生成される足音効果等の１つ以上のオーディオ信号と関連付けられ得る。下記にさらに説明されるように、複合現実システム１９１２のプロセッサは、ＭＲ環境１９５０内の全てのそのような音の混合および処理された複合物に対応する、オーディオ信号を算出し、複合現実システム１９１２に含まれる１つ以上のスピーカおよび／または１つ以上の外部スピーカを介して、オーディオ信号をユーザ１９１０に提示することができる。
【００４３】
（複合現実オブジェクト共有）
【００４４】
オブジェクトの３Ｄデジタルモデルが、仮想オブジェクトとして、ＡＲ／ＶＲ／ＭＲ（以降では簡単にするためにＭＲと称される）環境内で１人以上の実際またはデジタルの人々に表示されてもよい。例えば、自動車技師が、その毎週のチーム会議で新しい車の設計を同僚と共有することを所望し得る。従来的に、設計共有は、視認者が３Ｄオブジェクトを想像することができるように、設計のいくつかの異なるビューを提供することによって遂行され得る。この場合、自動車技師は、会議の間に同僚に配布するべき透視図面をプリントアウトし得る。これは、単純な設計には役立ち得るが、３Ｄオブジェクトが複雑な形状または設計を有する場合、視認者が視認者の頭の中で３Ｄオブジェクトをともに繋ぎ合わせることは、困難であり得る。代替として、または加えて、３Ｄ設計またはモデルを共有する従来的方法は、物理的プロトタイプを作成するステップを伴い得る。本実施例では、自動車技師は、物理的プロトタイプを作成することに時間および金を費やす必要があろう。物理的プロトタイプは、設計者の意図を理解することをより容易にし得るが、設計の基本バージョンのみを示し得る（視認者は、設計の外側のみが見ることができるが、例えば、それを開いて内部コンポーネントを視認することができない）。
【００４５】
開示されるシステムおよび方法の実施形態は、コンピューティングシステムの間の改良された３Ｄモデル共有を提供し得る。上記の実施例を継続すると、本発明は、自動車技師が、車の新しいデジタル３Ｄモデルを作成し、次いで、会議の間にモデルを同僚と迅速かつ効率的に共有することを可能にし得る。本発明はまた、高速かつ容易な計画外の共有を可能にすることもできる。例えば、自動車技師のマネージャが、自動車技師と協力するために、マネージャが前もって設計していた３Ｄ設計を共有することを所望し得る。いくつかの実施形態では、マネージャは、古い３Ｄ車設計にアクセスし、人々が設計をダウンロードすること、またはアクセスするためのリンクをクリックすることを要求することなく、会議に出席している全員と共有することができる。
【００４６】
典型的には、例えば、ゲームでは、３Ｄモデル（代替として、３Ｄアセットまたは３Ｄコンテンツと呼ばれる）は、ユーザがゲームを始動するときに、ユーザによって視認されるであろう３Ｄアセットの全てが、すでにデバイス上にあるように、ゲームアプリケーションに事前ロードされる。更新が必要とされるとき、アプリケーションは、オフラインで新しいコンテンツを追加するであろう。例えば、ゲームは、ゲームが起動していないときにパッチを適用してもよく、アプリケーションが次に開かれるときに、新しいコンテンツが、インストールされ、使用の準備ができている。新しい３Ｄモデルを２つ以上のコンピューティングシステムと共有する本システムは、頻繁な計画された更新のためには便宜的であるが、新しい３Ｄモデルが頻繁または予想外に要求されるときには非実用的である。
【００４７】
ＭＲゲームまたはアプリケーションは、学校でカエルの生体構造について学習する生徒の群全体等の複数の人々が共通の目標に向けて貢献する、協調的であり得る。教師が概念を解説しようとし、生徒が理解しない場合、教師が説明しているものが見え得るように、教師がカエルの仮想３Ｄモデルを生徒に表示することが望ましくあり得る。従来的システムは、教師が新しいカエルモデル更新を生徒にプッシュし得るように、生徒が３Ｄモデルをダウンロードすること、またはアプリケーションを終了させて再入力することを要求するであろう。加えて、そのような方法は、３Ｄアセットデータの全てを収納するために、大量のディスク記憶装置を要求し得る。ディスク空間を使用することなく、３Ｄモデルにアクセスする代替方法が、望ましくあり得る。
【００４８】
これらの問題は、サーバと１人以上のクライアントとの間のネットワークを経由してデータをストリーミングするための方法およびシステムによって、解決され得る。サーバは、１つ以上の３Ｄモデルへのアクセスを有してもよく、３Ｄモデル共有サーバアプリケーションをダウンロードさせて起動させてもよい。３Ｄモデル共有アプリケーションは、モデルを構成データ部分に分解し、構成データ部分を圧縮し、パッケージ化し、ネットワーク上のクライアントに送信してもよい。クライアントは、３Ｄモデル共有クライアントアプリケーションランタイムの間に構成部分を受信し、３Ｄモデルを再構築し、３Ｄモデルを視認することができる。いくつかの実施形態では、ランタイムは、ゲームまたはアプリケーションループが動作しているとき、画面がアプリケーションコンテンツを表示しているとき、および／またはコンピューティングシステムがアプリケーションのフレームワークとともに動作しているときであってもよい。任意の数のクライアントが、ネットワークの一部であってもよい。任意の数の３Ｄモデルが、クライアントに送信されてもよい。２人以上のクライアントは、２つ以上のデバイス（例えば、コンピューティングシステム）を伴う１人の人物であってもよい、またはそれぞれ１つのデバイスを伴う２人以上の人々であってもよい。
【００４９】
本願の利点は、ランタイムの間に３Ｄコンテンツ共有を可能にすることである。
【００５０】
用語「ホスト」は、サーバと同義的に使用されてもよい。用語「３Ｄモデル」、「３Ｄアセット」、「３Ｄコンテンツ」、および「３Ｄモデル」は、同義的に使用されてもよい。
（ウェアラブルシステムの３Ｄディスプレイの実施例）
【００５１】
ウェアラブルシステム（本明細書では、拡張現実（ＡＲ）システムとも称される）は、２Ｄまたは３Ｄ仮想画像をユーザに提示するように構成されることができる。画像は、組み合わせまたは同等物における、静止画像、ビデオのフレーム、またはビデオであってもよい。ウェアラブルシステムの少なくとも一部は、ユーザ相互作用のために、単独で、または組み合わせて、ＶＲ、ＡＲ、またはＭＲ環境を提示し得る、ウェアラブルデバイス上に実装されることができる。ウェアラブルデバイスは、ＡＲデバイス（ＡＲＤ）と同義的に使用されることができる。さらに、本開示の目的のために、用語「ＡＲ」は、用語「ＭＲ」と同義的に使用される。
【００５２】
図１は、人物によって視認される、ある仮想現実オブジェクトおよびある物理的オブジェクトを伴う、複合現実シナリオの例証を描写する。図１では、ＭＲ場面１００が、描写され、ＭＲ技術のユーザには、人々、木々、背景における建物、およびコンクリートプラットフォーム１２０を特徴とする、実世界公園状設定１１０が見える。これらのアイテムに加えて、ＭＲ技術のユーザはまた、実世界プラットフォーム１２０上に立っているロボット像１３０と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ１４０とが「見える」と知覚するが、これらの要素は、実世界には存在しない。
【００５３】
３Ｄディスプレイが、真の深度感覚、より具体的には、表面深度のシミュレートされた感覚を生産するために、ディスプレイの視野内の点毎に、その仮想深度に対応する遠近調節応答を生成することが望ましくあり得る。ディスプレイ点に対する遠近調節応答が、収束および立体視の両眼深度キューによって決定されるようなその点の仮想深度に対応しない場合、ヒトの眼は、遠近調節衝突を体験し、不安定な結像、有害な眼精疲労、頭痛、および遠近調節情報の不在下では、表面深度のほぼ完全な欠如をもたらし得る。
【００５４】
ＶＲ、ＡＲ、およびＭＲ体験は、複数の深度平面に対応する画像が視認者に提供されるディスプレイを有する、ディスプレイシステムによって提供されることができる。画像は、深度平面毎に異なってもよく（例えば、場面またはオブジェクトの若干異なる提示を提供する）、視認者の眼によって別個に集束され、それによって、異なる深度平面上に位置する場面に関する異なる画像特徴に合焦させるために要求される眼の遠近調節に基づいて、または合焦からずれている異なる深度平面上の異なる画像特徴を観察することに基づいて、ユーザに深度キューを提供することに役立ち得る。本明細書のいずれかに議論されるように、そのような深度キューは、信用できる深度の知覚を提供することができる。
【００５５】
図２は、ＡＲ／ＶＲ／ＭＲ場面を提供するように構成され得る、ウェアラブルシステム２００の実施例を図示する。ウェアラブルシステム２００はまた、ＡＲシステム２００とも称され得る。ウェアラブルシステム２００は、ディスプレイ２２０と、ディスプレイ２２０の機能をサポートするための種々の機械的および電子的モジュールおよびシステムとを含むことができる。ディスプレイ２２０は、フレーム２３０に結合されてもよく、これは、ユーザ、装着者、または視認者２１０によって装着可能である。ディスプレイ２２０は、ユーザ２１０の眼の正面に位置付けられることができる。ディスプレイ２２０は、ＡＲ／ＶＲ／ＭＲコンテンツをユーザに提示することができる。ディスプレイ２２０は、ユーザの頭部上に装着される、頭部搭載型ディスプレイ（ＨＭＤ）を備えることができる。
【００５６】
いくつかの実施形態では、スピーカ２４０が、フレーム２３０に結合され、ユーザの外耳道に隣接して位置付けられることができる（いくつかの実施形態では、示されない別のスピーカが、ユーザの他方の外耳道に隣接して位置付けられ、ステレオ／成形可能音制御を提供することができる）。ディスプレイ２２０は、環境からオーディオストリームを検出し、周囲音を捕捉するためのオーディオセンサ（例えば、マイクロホン）２３２を含むことができる。いくつかの実施形態では、示されていない１つ以上の他のオーディオセンサが、ステレオ音受信を提供するために位置付けられることができる。ステレオ音受信は、音源の場所を決定するために使用されることができる。ウェアラブルシステム２００は、音声または発話認識をオーディオストリームに実施することができる。
【００５７】
ウェアラブルシステム２００は、ユーザの周囲の環境内の世界を観察する、外向きに向いた結像システム４６４（図４に示される）を含むことができる。ウェアラブルシステム２００はまた、ユーザの眼移動を追跡し得る、内向きに向いた結像システム４６２（図４に示される）を含むこともできる。内向きに向いた結像システムは、一方の眼の移動または両方の眼の移動のいずれかを追跡し得る。内向きに向いた結像システム４６２は、フレーム２３０に取り付けられてもよく、内向きに向いた結像システムによって入手された画像情報を処理し、例えば、ユーザ２１０の眼の瞳孔直径または配向、眼の移動、または眼姿勢を決定し得る、処理モジュール２６０または２７０と電気通信してもよい。内向きに向いた結像システム４６２は、１つ以上のカメラを含んでもよい。例えば、少なくとも１つのカメラは、各眼を結像するために使用されてもよい。カメラによって入手された画像は、眼毎に、別個に、瞳孔サイズまたは眼姿勢を決定し、それによって、各眼への画像情報の提示が、その眼に対して動的に調整されることを可能にするために使用されてもよい。
【００５８】
実施例として、ウェアラブルシステム２００は、外向きに向いた結像システム４６４または内向きに向いた結像システム４６２を使用して、ユーザの姿勢の画像を入手することができる。画像は、静止画像、ビデオのフレーム、またはビデオであってもよい。
【００５９】
ディスプレイ２２０は、有線導線または無線コネクティビティ等によって、ローカルデータ処理モジュール２６０に動作可能に結合され、これは、フレーム２３０に固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様にユーザ２１０に除去可能に取り付けられる（例えば、リュック式構成において、ベルト結合式構成において）等、種々の構成において搭載され得る（２５０）。
【００６０】
ローカル処理およびデータモジュール２６０は、ハードウェアプロセッサおよび不揮発性メモリ（例えば、フラッシュメモリ）等のデジタルメモリを備えてもよく、その両方とも、データの処理、キャッシュ、および記憶を補助するために利用され得る。データは、（ａ）画像捕捉デバイス（例えば、内向きに向いた結像システムおよび／または外向きに向いた結像システム内のカメラ）、オーディオセンサ（例えば、マイクロホン）、慣性測定ユニット（ＩＭＵ）、加速度計、コンパス、全地球測位システム（ＧＰＳ）ユニット、無線デバイス、またはジャイロスコープ等の（例えば、フレーム２３０に動作可能に結合される、または別様にユーザ２１０に取り付けられ得る）センサから捕捉されるデータ、または（ｂ）可能性として、処理または読出後にディスプレイ２２０への通過のために、遠隔処理モジュール２７０または遠隔データリポジトリ２８０を使用して入手または処理されるデータを含んでもよい。ローカル処理およびデータモジュール２６０は、これらの遠隔モジュールがローカル処理およびデータモジュール２６０へのリソースとして利用可能であり得るように、有線または無線通信リンク等を介して、通信リンク２６２または２６４によって、遠隔処理モジュール２７０または遠隔データリポジトリ２８０に動作可能に結合されてもよい。加えて、遠隔処理モジュール２８０および遠隔データリポジトリ２８０は、相互に動作可能に結合されてもよい。
【００６１】
いくつかの実施形態では、遠隔処理モジュール２７０は、データまたは画像情報を分析および処理するように構成される、１つ以上のプロセッサを備えてもよい。いくつかの実施形態では、遠隔データリポジトリ２８０は、デジタルデータ記憶設備を備えてもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータが、記憶されることができ、全ての算出が、ローカル処理およびデータモジュールにおいて実施され、遠隔モジュールからの完全に自律的な使用を可能にすることができる。
（ウェアラブルシステムの例示的コンポーネント）
【００６２】
図３は、ウェアラブルシステムの例示的コンポーネントを図式的に図示する。図３は、ディスプレイ２２０と、フレーム２３０とを含み得る、ウェアラブルシステム２００を示す。引き伸ばし図２０２は、ウェアラブルシステム２００の種々のコンポーネントを図式的に図示する。ある実装では、図３に図示されるコンポーネントのうちの１つ以上のものは、ディスプレイ２２０の一部であり得る。種々のコンポーネントは、単独で、または組み合わせて、ウェアラブルシステム２００のユーザまたはユーザの環境と関連付けられる種々のデータ（例えば、オーディオまたは視覚データ等）を収集することができる。他の実施形態は、ウェアラブルシステムが使用される用途に応じて、付加的またはより少ないコンポーネントを有し得ることを理解されたい。なお、図３は、ウェアラブルシステムを通して収集、分析、および記憶され得る、種々のコンポーネントおよびデータのタイプのうちのいくつかの基本概念を提供する。
【００６３】
図３は、ディスプレイ２２０を含み得る、例示的ウェアラブルシステム２００を示す。ディスプレイ２２０は、ユーザの頭部、またはフレーム２３０に対応する、筐体またはフレーム２３０に搭載され得る、ディスプレイレンズ２２６を備えることができる。ディスプレイレンズ２２６は、筐体２３０によって、ユーザの眼３０２、３０４の正面に位置付けられる、１つ以上の透明ミラーまたは回折光学要素を備えてもよく、投影された光３３８を眼３０２、３０４の中に指向し、ビーム成形を促進しながら、また、ローカル環境からの少なくとも一部の光の透過を可能にするように構成されてもよい。投影された光ビーム３３８の波面は、投影された光の所望の焦点距離と一致するように発散し得る。図示されるように、２つの広視野マシンビジョンカメラ３１６（世界カメラとも称される）が、筐体２３０に結合され、ユーザの周囲の環境を結像することができる。これらのカメラ３１６は、二重捕捉式可視光／非可視（例えば、赤外線）光カメラであり得る。カメラ３１６は、図４に示される外向きに向いた結像システム４６４の一部であってもよい。世界カメラ３１６によって入手された画像は、姿勢プロセッサ３３６によって処理されることができる。例えば、姿勢プロセッサ３３６は、１つ以上のオブジェクト認識装置７０８（例えば、図７に示される）を実装し、ユーザまたはユーザの環境内の別の人物の姿勢を識別する、またはユーザの環境内の物理的オブジェクトを識別することができる。
【００６４】
図３を継続して参照すると、光３３８を眼３０２、３０４の中に指向するように構成される、ディスプレイ光学系およびレンズを伴う、一対の光プロジェクタモジュールが、示される。描写される図はまた、ユーザの眼３０２、３０４を追跡し、レンダリングおよびユーザ入力をサポートすることが可能であるように構成されることができる、赤外線光（発光ダイオード「ＬＥＤ」等）とペアリングされる、２つの小型赤外線カメラ３２４を示す。カメラ３２４は、図４に示される、内向きに向いた結像システム４６２の一部であってもよい。ウェアラブルシステム２００はさらに、Ｘ、Ｙ、およびＺ軸加速度計能力および磁気コンパスおよびＸ、Ｙ、およびＺ軸ジャイロスコープ能力を備え、好ましくは、２００Ｈｚ等の比較的に高い周波数でデータを提供し得る、センサアセンブリ３３９を特徴とすることができる。センサアセンブリ３３９は、図２Ａを参照して説明される、ＩＭＵの一部であってもよい。描写されるシステム２００はまた、リアルタイムまたは近リアルタイムユーザ頭部姿勢を捕捉デバイス３１６から出力された広視野画像情報から計算するように構成され得る、ＡＳＩＣ（特定用途向け集積回路）、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、またはＡＲＭプロセッサ（高度縮小命令セット機械）等の頭部姿勢プロセッサ３３６を備えることができる。頭部姿勢プロセッサ３３６は、ハードウェアプロセッサであり得、図２Ａに示されるローカル処理およびデータモジュール２６０の一部として実装されることができる。
【００６５】
ウェアラブルシステムはまた、１つ以上の深度センサ２３４を含むこともできる。深度センサ２３４は、環境内のオブジェクトとウェアラブルデバイスとの間の距離を測定するように構成されることができる。深度センサ２３４は、レーザスキャナ（例えば、ライダ）、超音波深度センサ、または深度感知カメラを含んでもよい。カメラ３１６が深度感知能力を有する、ある実装では、カメラ３１６はまた、深度センサ２３４と見なされ得る。
【００６６】
また、示されるものは、デジタルまたはアナログ処理を実行し、姿勢をセンサアセンブリ３３９からのジャイロスコープ、コンパス、または加速度計データから導出するように構成され得る、プロセッサ３３２である。プロセッサ３３２は、図２に示される、ローカル処理およびデータモジュール２６０の一部であってもよい。図３に示されるようなウェアラブルシステム２００はまた、例えば、ＧＰＳ３３７（全地球測位システム）等の測位システムを含み、姿勢および測位分析を補助することができる。加えて、ＧＰＳはさらに、ユーザの環境についての遠隔ベース（例えば、クラウドベース）の情報を提供してもよい。本情報は、ユーザの環境内のオブジェクトまたは情報を認識するために使用されてもよい。
【００６７】
ウェアラブルシステムは、ユーザの環境についてのより多くの情報を提供し得る、ＧＰＳ３３７および遠隔コンピューティングシステム（例えば、遠隔処理モジュール２７０、別のユーザのＡＲＤ等）によって入手されるデータを組み合わせてもよい。一実施例として、ウェアラブルシステムは、ＧＰＳデータに基づいて、ユーザの場所を決定し、（例えば、遠隔処理モジュール２７０と通信することによって）ユーザの場所と関連付けられた仮想オブジェクトを含む、世界マップを読み出すことができる。別の実施例として、ウェアラブルシステム２００は、世界カメラ３１６（図４に示される外向きに向いた結像システム４６４の一部であり得る）を使用して、環境を監視することができる。世界カメラ３１６によって入手される画像に基づいて、ウェアラブルシステム２００は、（例えば、図７に示される１つ以上のオブジェクト認識装置７０８を使用することによって）環境内のオブジェクトを検出することができる。ウェアラブルシステムはさらに、ＧＰＳ３３７によって入手されるデータを使用して、文字を解釈することができる。
【００６８】
ウェアラブルシステム２００はまた、ユーザの世界のビューのために、ユーザにローカルであるレンダリング情報を提供し、スキャナの動作およびユーザの眼の中への結像を促進するように構成され得る、レンダリングエンジン３３４を備えてもよい。レンダリングエンジン３３４は、ハードウェアプロセッサ（例えば、中央処理ユニットまたはグラフィック処理ユニット等）によって実装されてもよい。いくつかの実施形態では、レンダリングエンジンは、ローカル処理およびデータモジュール２６０の一部である。レンダリングエンジン３３４は、ウェアラブルシステム２００の他のコンポーネントに（例えば、有線または無線リンクを介して）通信可能に結合されることができる。例えば、レンダリングエンジン３３４は、通信リンク２７４を介して、眼カメラ３２４に結合され、通信リンク２７２を介して、投影サブシステム３１８（網膜走査ディスプレイに類似する様式において、走査レーザ配列を介して、光をユーザの眼３０２、３０４の中に投影し得る）に結合されることができる。レンダリングエンジン３３４はまた、それぞれ、リンク２７６および２９４を介して、例えば、センサ姿勢プロセッサ３３２および画像姿勢プロセッサ３３６等の他の処理ユニットと通信することもできる。
【００６９】
カメラ３２４（例えば、小型赤外線カメラ）は、眼姿勢を追跡し、レンダリングおよびユーザ入力をサポートするために利用されてもよい。いくつかの例示的眼姿勢は、ユーザが見ている場所または合焦させている深度（眼の輻輳・開散運動を用いて推定され得る）を含んでもよい。ＧＰＳ３３７、ジャイロスコープ、コンパス、および加速度計３３９は、大まかなまたは高速姿勢推定を提供するために利用されてもよい。カメラ３１６のうちの１つ以上のものは、関連付けられるクラウドコンピューティングリソースからのデータと併せて、ローカル環境をマッピングし、ユーザビューを他者と共有するために利用され得る、画像および姿勢を入手することができる。
【００７０】
図３に描写される例示的コンポーネントは、例証目的のみのためのものである。複数のセンサおよび他の機能モジュールが、例証および説明の容易性のために、ともに示される。いくつかの実施形態は、これらのセンサまたはモジュールの１つのみまたはサブセットを含んでもよい。さらに、これらのコンポーネントの場所は、図３に描写される位置に限定されない。いくつかのコンポーネントは、ベルト搭載型コンポーネント、ハンドヘルドコンポーネント、またはヘルメットコンポーネント等の他のコンポーネントに搭載される、またはその中に収納されてもよい。一実施例として、画像姿勢プロセッサ３３６、センサ姿勢プロセッサ３３２、およびレンダリングエンジン３３４は、ベルトパック内に位置付けられ、超広帯域、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の無線通信を介して、または有線通信を介して、ウェアラブルシステムの他のコンポーネントと通信するように構成されてもよい。描写される筐体２３０は、好ましくは、ユーザによって頭部搭載可能かつ装着可能である。しかしながら、ウェアラブルシステム２００のいくつかのコンポーネントは、ユーザの身体の他の部分に装着されてもよい。例えば、スピーカ２４０が、ユーザの耳の中に挿入され、音をユーザに提供してもよい。
【００７１】
ユーザの眼３０２、３０４の中への光３３８の投影に関して、いくつかの実施形態では、カメラ３２４は、一般に、眼の焦点の位置または「焦点深度」と一致する、ユーザの眼の中心が幾何学的に輻輳される場所を測定するために利用されてもよい。眼が輻輳する全ての点の３次元表面は、「単視軌跡」と称され得る。焦点距離は、有限数の深度をとり得る、または無限に変動し得る。輻輳・開散運動距離から投影される光は、対象の眼３０２、３０４に集束されるように現れる一方、輻輳・開散運動距離の正面または背後の光は、ぼかされる。
【００７２】
ヒト視覚系は、複雑であって、深度の現実的知覚を提供することは、困難である。オブジェクトの視認者は、輻輳・開散運動と遠近調節の組み合わせに起因して、オブジェクトを３次元として知覚し得る。相互に対する２つの眼の輻輳・開散運動（例えば、眼の視線を収束させ、オブジェクトを固視するための相互に向かった、またはそこから離れる瞳孔の回転移動）は、眼の水晶体の合焦（または「遠近調節」）と密接に関連付けられる。通常条件下、焦点を１つのオブジェクトから異なる距離における別のオブジェクトに変化させるための眼の水晶体の焦点の変化または眼の遠近調節は、「遠近調節−輻輳・開散運動反射」として知られる関係下、同一距離への輻輳・開散運動の合致する変化を自動的に生じさせるであろう。同様に、輻輳・開散運動の変化は、通常条件下、遠近調節の合致する変化を誘起するであろう。遠近調節と輻輳・開散運動との間のより良好な合致を提供するディスプレイシステムが、３次元画像のより現実的かつ快適なシミュレーションを形成し得る。
【００７３】
さらに、約０．７ミリメートル未満のビーム直径を伴う、空間的にコヒーレントな光は、眼が合焦する場所にかかわらず、ヒトの眼によって正しく分解されることができる。したがって、適切な焦点深度の錯覚を作成するために、眼の輻輳・開散運動が、カメラ３２４を用いて追跡されてもよく、レンダリングエンジン３３４および投影サブシステム３１８は、輻輳・開散運動上またはそれに近接する全てのオブジェクトを合焦させてレンダリングし、全ての他のオブジェクトを種々の程度の可変分解能でレンダリングするために利用されてもよい。好ましくは、システム２２０は、ユーザに、約６０フレーム／秒以上のフレームレートでレンダリングする。上記に説明されるように、好ましくは、カメラ３２４は、眼追跡のために利用されてもよく、ソフトウェアは、輻輳・開散運動幾何学形状だけではなく、また、ユーザ入力としての役割を果たすための焦点場所キューも取り上げるように構成されてもよい。好ましくは、そのようなディスプレイシステムは、昼間または夜間の使用のために好適な明度およびコントラストを用いて構成される。
【００７４】
いくつかの実施形態では、ディスプレイシステムは、好ましくは、視覚的オブジェクト整合のために約２０ミリ秒未満の待ち時間、約０．１度未満の角度整合、および約１弧分の分解能を有し、これは、理論によって限定されるわけではないが、ヒトの眼のほぼ限界であると考えられる。ディスプレイシステム２２０は、ＧＰＳ要素、光学追跡、コンパス、加速度計、または他のデータソースを伴い、位置および姿勢決定を補助し得る、位置特定システムと統合されてもよい。位置特定情報は、ユーザの関連世界のビュー内で正確なレンダリングを促進するために利用されてもよい（例えば、そのような情報は、眼鏡が実世界に対して存在する場所を把握することを促進するであろう）。
【００７５】
いくつかの実施形態では、ウェアラブルシステム２００は、ユーザの眼の遠近調節に基づいて、１つ以上の仮想画像を表示するように構成される。ユーザに画像が投影されている場所に合焦させるように強制する、従来の３Ｄディスプレイアプローチと異なり、いくつかの実施形態では、ウェアラブルシステムは、投影された仮想コンテンツの焦点を自動的に変動させ、ユーザに提示される１つ以上の画像のより快適な視認を可能にするように構成されることができる。例えば、ユーザの眼が、１ｍの現在の焦点を有する場合、画像は、ユーザの焦点と一致するように投影されてもよい。ユーザが、焦点を３ｍに偏移させる場合、画像は、新しい焦点と一致するように投影されることができる。したがって、ユーザに所定の焦点を強制するのではなく、いくつかの実施形態のウェアラブルシステム２００は、ユーザの眼がより自然な様式において機能することを可能にすることができる。
【００７６】
そのようなウェアラブルシステム２００は、仮想現実デバイスに対して典型的に観察される、眼精疲労、頭痛、および他の生理学的症状の発生率を排除または低減させ得る。これを達成するために、ウェアラブルシステム２００の種々の実施形態は、１つ以上の可変焦点要素（ＶＦＥ）を通して、仮想画像を種々の焦点距離に投影するように構成されることができる。１つ以上の実施形態では、３Ｄ知覚は、画像をユーザから離れた固定焦点面に投影する、多平面焦点システムを通して達成され得る。他の実施形態は、可変平面焦点を採用することができ、焦点面は、ユーザの焦点の現在の状態と一致するように、ｚ−方向に往復して移動してもよい。
【００７７】
多平面焦点システムおよび可変平面焦点システムの両方において、ウェアラブルシステム２００は、眼追跡を採用し、ユーザの眼の輻輳・開散運動を決定し、ユーザの現在の焦点を決定し、仮想画像を決定された焦点に投影してもよい。他の実施形態では、ウェアラブルシステム２００は、ファイバスキャナまたは他の光生成源を通して、網膜を横断して、変動焦点の光ビームをラスタパターンで可変に投影する、光変調器を備えることができる。したがって、画像を変動する焦点距離に投影するウェアラブルシステム２００のディスプレイの能力は、ユーザがオブジェクトを３Ｄにおいて視認するための遠近調節を容易にするだけではなく、ユーザの眼球異常を補償するためにも使用されてもよい。いくつかの他の実施形態では、空間光変調器は、種々の光学コンポーネントを通して、画像をユーザに投影してもよい。例えば、下記にさらに説明されるように、空間光変調器は、画像を１つ以上の導波管上に投影してもよく、これは、次いで、画像をユーザに伝送する。
（導波管スタックアセンブリ）
【００７８】
図４は、画像情報をユーザに出力するための導波管スタックの実施例を図示する。ウェアラブルシステム４００は、複数の導波管４３２ｂ、４３４ｂ、４３６ｂ、４３８ｂ、４４００ｂを使用して、３次元知覚を眼／脳に提供するために利用され得る、導波管のスタックまたはスタックされた導波管アセンブリ４８０を含むことができる。いくつかの実施形態では、ウェアラブルシステム４００は、図２のウェアラブルシステム２００に対応し得、図４Ａは、そのウェアラブルシステム２００のいくつかの部分をより詳細に図式的に示す。例えば、いくつかの実施形態では、導波管アセンブリ４８０は、図２のディスプレイ２２０の中に統合されてもよい。
【００７９】
図４を継続して参照すると、導波管アセンブリ４８０はまた、複数の特徴４５８、４５６、４５４、４５２を導波管の間に含んでもよい。いくつかの実施形態では、特徴４５８、４５６、４５４、４５２は、レンズであってもよい。他の実施形態では、特徴４５８、４５６、４５４、４５２は、レンズではなくてもよい。むしろ、それらは、単に、スペーサであってもよい（例えば、空気間隙を形成するためのクラッディング層または構造）。
【００８０】
導波管４３２ｂ、４３４ｂ、４３６ｂ、４３８ｂ、４４０ｂ、または複数のレンズ４５８、４５６、４５４、４５２は、種々のレベルの波面曲率または光線発散を用いて、画像情報を眼に送信するように構成されてもよい。各導波管レベルは、特定の深度平面と関連付けられてもよく、その深度平面に対応する画像情報を出力するように構成されてもよい。画像投入デバイス４２０、４２２、４２４、４２６、４２８は、それぞれ、眼４１０に向かって出力するために、各個別の導波管を横断して入射光を分散させるように構成され得る、導波管４４０ｂ、４３８ｂ、４３６ｂ、４３４ｂ、４３２ｂの中に画像情報を投入するために利用されてもよい。光は、画像投入デバイス４２０、４２２、４２４、４２６、４２８の出力表面から出射することができ、導波管４４０ｂ、４３８ｂ、４３６ｂ、４３４ｂ、４３２ｂの対応する入力縁の中に投入されることができる。いくつかの実施形態では、光の単一ビーム（例えば、コリメートされたビーム）が、各導波管の中に投入され、特定の導波管と関連付けられる深度平面に対応する特定の角度（および発散量）において眼４１０に向かって指向され得る、サンプル射出瞳ビームの場全体を出力してもよい。
【００８１】
いくつかの実施形態では、画像投入デバイス４２０、４２２、４２４、４２６、４２８は、それぞれ、対応する導波管４４０ｂ、４３８ｂ、４３６ｂ、４３４ｂ、４３２ｂの中への投入のための画像情報をそれぞれ生産する、離散ディスプレイであり得る。いくつかの他の実施形態では、画像投入デバイス４２０、４２２、４２４、４２６、４２８は、例えば、１つ以上の光学導管（光ファイバケーブル等）を介して、画像情報を画像投入デバイス４２０、４２２、４２４、４２６、４２８のそれぞれに送り得る、単一の多重化されたディスプレイの出力端であり得る。
【００８２】
コントローラ４６０が、ディスプレイおよび画像投入デバイス４２０、４２２、４２４、４２６、４２８の動作を制御することができる。コントローラ４６０は、導波管４４０ｂ、４３８ｂ、４３６ｂ、４３４ｂ、４３２ｂへの画像情報のタイミングおよび提供を調整する、プログラミング（例えば、非一過性コンピュータ可読媒体内の命令）を含むことができる。いくつかの実施形態では、コントローラ４６０は、単一の一体型デバイス、または有線または無線通信チャネルによって接続される分散型システムであってもよい。コントローラ４６０は、いくつかの実施形態では、処理モジュール２６０または２７０（図２に図示される）の一部であってもよい。
【００８３】
導波管４４０ｂ、４３８ｂ、４３６ｂ、４３４ｂ、４３２ｂは、全内部反射（ＴＩＲ）によって各個別の導波管内で光を伝搬するように構成されてもよい。導波管４４０ｂ、４３８ｂ、４３６ｂ、４３４ｂ、４３２ｂはそれぞれ、主要上部表面および底部表面およびそれらの主要上部表面と底部表面との間に延在する縁を伴う、平面である、または別の形状（例えば、湾曲）を有してもよい。図示される構成では、導波管４４０ｂ、４３８ｂ、４３６ｂ、４３４ｂ、４３２ｂはそれぞれ、各個別の導波管内で伝搬する光を回折または別様に再指向することによって、光を導波管から外部結合するように構成され得る、光学要素４４０ａ、４３８ａ、４３６ａ、４３４ａ、４３２ａを含んでもよい。外部結合された光は、例えば、導波管によって、導波管内で伝搬する光が回折格子等の光再指向要素に衝打する場所において出力されることができる。光学要素（４４０ａ、４３８ａ、４３６ａ、４３４ａ、４３２ａ）は、例えば、反射または回折光学特徴であってもよい。説明を容易にし、図面を明確にするために、導波管４４０ｂ、４３８ｂ、４３６ｂ、４３４ｂ、４３２ｂの底部主要表面に配置されて図示されるが、いくつかの実施形態では、光学要素４４０ａ、４３８ａ、４３６ａ、４３４ａ、４３２ａは、上部または底部主要表面に配置されてもよく、または導波管４４０ｂ、４３８ｂ、４３６ｂ、４３４ｂ、４３２ｂの容積内に直接配置されてもよい。いくつかの実施形態では、光学要素４４０ａ、４３８ａ、４３６ａ、４３４ａ、４３２ａは、透明基板に取り付けられ、導波管４４０ｂ、４３８ｂ、４３６ｂ、４３４ｂ、４３２ｂを形成する、材料の層内に形成されてもよい。いくつかの他の実施形態では、導波管４４０ｂ、４３８ｂ、４３６ｂ、４３４ｂ、４３２ｂは、材料のモノリシック片であってもよく、光学要素４４０ａ、４３８ａ、４３６ａ、４３４ａ、４３２ａは、その材料片の表面上および／または内部に形成されてもよい。
【００８４】
図４を継続して参照すると、本明細書に議論されるように、いくつかの実施形態では、各導波管４４０ｂ、４３８ｂ、４３６ｂ、４３４ｂ、４３２ｂは、光を出力し、特定の深度平面に対応する画像を形成するように構成されることができる。例えば、眼の最近傍の導波管４３２ｂは、そのような導波管４３２ｂの中に投入されるにつれて、コリメートされた光を眼４１０に送達するように構成されてもよい。コリメートされた光は、光学無限遠焦点面を表し得る。次の上方の導波管４３４ｂは、眼４１０に到達し得る前に、第１のレンズ４５２（例えば、負のレンズ）を通して通過する、コリメートされた光を送出するように構成されてもよい。第１のレンズ４５２は、眼／脳が、その次の上方の導波管４３４ｂから生じる光を光学無限遠から眼４１０に向かって内向きにより近い第１の焦点面から生じるものとして解釈するように、若干の凸面波面曲率を作成するように構成されてもよい。同様に、第３の上方の導波管４３６ｂは、眼４１０に到達する前に、その出力光を第１のレンズ４５２および第２のレンズ４５４の両方を通して通過させることができる。第１および第２のレンズ４５２および４５４の組み合わせられた屈折力は、眼／脳が、第３の上方の導波管４３６ｂから生じる光が次の上方の導波管４３４ｂからの光であったよりも光学無限遠から人物に向かって内向きにさらに近い第２の焦点面から生じるものとして解釈するように、別の漸増量の波面曲率を作成するように構成されてもよい。
【００８５】
他の導波管層（例えば、導波管４３８ｂ、４４０ｂ）およびレンズ（例えば、レンズ４５６、４５８）も同様に構成されることができ、スタック内の最高導波管４４０ｂが、人物に最も近い焦点面を表す集約焦点力のために、その出力をそれと眼との間のレンズの全てを通して送出する。スタックされた導波管アセンブリ４８０の他側の世界４７０から生じる光を視認／解釈するとき、レンズ４５８、４５６、４５４、４５２のスタックを補償するために、補償レンズ層４３０が、スタックの上部に配置され、下方のレンズスタック４５８、４５６、４５４、４５２の集約力を補償してもよい。そのような構成は、利用可能な導波管／レンズ対と同じ数の知覚される焦点面を提供することができる。導波管の光抽出光学要素およびレンズの集束側面は両方とも、静的であってもよい（例えば、動的または電気活性ではない）。いくつかの代替実施形態では、一方または両方とも、電気活性特徴を使用して動的であってもよい。
【００８６】
図４を継続して参照すると、光抽出光学要素４４０ａ、４３８ａ、４３６ａ、４３４ａ、４３２ａは、導波管と関連付けられる特定の深度平面のために、光をそれらの個別の導波管から再指向し、かつ本光を適切な量の発散またはコリメーションを伴って出力するように構成されてもよい。その結果、異なる関連付けられる深度平面を有する導波管は、関連付けられる深度平面に応じて、異なる量の発散を伴って光を出力する、異なる構成の光抽出光学要素を有してもよい。いくつかの実施形態では、本明細書に議論されるように、光抽出光学要素４４０ａ、４３８ａ、４３６ａ、４３４ａ、４３２ａは、光を具体的角度で出力するように構成され得る、立体または表面特徴であってもよい。例えば、光抽出光学要素４４０ａ、４３８ａ、４３６ａ、４３４ａ、４３２ａは、立体ホログラム、表面ホログラム、および／または回折格子であってもよい。
【００８７】
いくつかの実施形態では、光抽出光学要素４４０ａ、４３８ａ、４３６ａ、４３４ａ、４３２ａは、回折パターンを形成する回折特徴または「回折光学要素」（本明細書では、「ＤＯＥ」とも称される）であり得る。好ましくは、ＤＯＥは、ビームの光の一部のみがＤＯＥの各交差部で眼４１０に向かって偏向される一方、残りが、全内部反射を介して、導波管を通して移動し続けるように、比較的に低回折効率を有する。画像情報を搬送する光は、したがって、複数の場所において導波管から出射する、いくつかの関連出射ビームに分割されることができ、その結果、導波管内でバウンスする本特定のコリメートされたビームに関して、眼３０４に向かって非常に均一なパターンの出射放出となる。
【００８８】
いくつかの実施形態では、１つ以上のＤＯＥは、それらが能動的に回折する「オン」状態と有意に回折しない「オフ」状態との間で切替可能であり得る。例えば、切替可能なＤＯＥは、微小液滴がホスト媒体内に回折パターンを備えることができる、ポリマー分散液晶の層を備えてもよく、微小液滴の屈折率は、ホスト材料の屈折率に実質的に合致するように切り替えられることができる（その場合、パターンは、入射光を著しく回折させない）、または微小液滴は、ホスト媒体のものに合致しない屈折率に切り替えられることができる（その場合、パターンは、入射光を能動的に回折させる）。
【００８９】
いくつかの実施形態では、深度平面または被写界深度の数および分布は、視認者の眼の瞳孔サイズまたは配向に基づいて、動的に変動され得る。被写界深度は、視認者の瞳孔サイズと反比例して変化し得る。結果として、視認者の眼の瞳孔のサイズが減少するにつれて、被写界深度は、その平面の場所が眼の焦点深度を越えるため判別不能である１つの平面が、判別可能となり、瞳孔サイズの低減および被写界深度の相当する増加に伴って、より合焦して現れ得るように増加する。同様に、異なる画像を視認者に提示するために使用される、離間された深度平面の数は、減少された瞳孔サイズに伴って減少され得る。例えば、視認者は、一方の深度平面から他方の深度平面への眼の遠近調節を調節することなく、第１の深度平面および第２の深度平面の両方の詳細を１つの瞳孔サイズにおいて明確に知覚することが可能ではない場合がある。しかしながら、これらの２つの深度平面は、同時に、遠近調節を変化させることなく、別の瞳孔サイズにおいてユーザにとって十分に合焦し得る。
【００９０】
いくつかの実施形態では、ディスプレイシステムは、瞳孔サイズまたは配向の決定に基づいて、または特定の瞳孔サイズまたは配向を示す電気信号の受信に応じて、画像情報を受信する導波管の数を変動させ得る。例えば、ユーザの眼が、２つの導波管と関連付けられる２つの深度平面間間を区別不能である場合、コントローラ４６０（ローカル処理およびデータモジュール２６０の実施形態であり得る）は、これらの導波管のうちの１つへの画像情報の提供を停止するように構成またはプログラムされることができる。有利なこととして、これは、システムへの処理負担を低減させ、それによって、システムの応答性を増加させ得る。導波管のためのＤＯＥがオンおよびオフ状態間で切替可能である実施形態では、ＤＯＥは、導波管が画像情報を受信するとき、オフ状態に切り替えられてもよい。
【００９１】
いくつかの実施形態では、出射ビームに視認者の眼の直径未満の直径を有するという条件を満たさせることが望ましくあり得る。しかしながら、本条件を満たすことは、視認者の瞳孔のサイズの変動性に照らして、困難であり得る。いくつかの実施形態では、本条件は、視認者の瞳孔のサイズの決定に応答して出射ビームのサイズを変動させることによって、広範囲の瞳孔サイズにわたって満たされる。例えば、瞳孔サイズが減少するにつれて、出射ビームのサイズもまた、減少し得る。いくつかの実施形態では、出射ビームサイズは、可変開口を使用して変動されてもよい。
【００９２】
ウェアラブルシステム４００は、世界４７０の一部を結像する、外向きに向いた結像システム４６４（例えば、デジタルカメラ）を含むことができる。世界４７０の本部分は、世界カメラの視野（ＦＯＶ）と称され得、結像システム４６４は、時として、ＦＯＶカメラとも称される。世界カメラのＦＯＶは、視認者２１０が所与の時間に知覚する、世界４７０の一部を包含する、視認者２１０のＦＯＶと同一である場合とそうではない場合がある。例えば、いくつかの状況では、世界カメラのＦＯＶは、ウェアラブルシステム４００の視認者２１０の視野より大きくあり得る。視認者による視認または結像のために利用可能な領域全体は、動眼視野（ＦＯＲ）と称され得る。ＦＯＲは、装着者が、その身体、頭部、または眼を移動させ、空間内の実質的に任意の方向を知覚することができるため、ウェアラブルシステム４００を囲繞する４πステラジアンの立体角を含んでもよい。他のコンテキストでは、装着者の移動は、より抑制されてもよく、それに応じて、装着者のＦＯＲは、より小さい立体角に接し得る。外向きに向いた結像システム４６４から取得される画像は、ユーザによって行われるジェスチャ（例えば、手または指のジェスチャ）を追跡する、ユーザの正面における世界４７０内のオブジェクトを検出する等のために、使用されることができる。
【００９３】
ウェアラブルシステム４００は、オーディオセンサ２３２、例えば、マイクロホンを含み、周囲音を捕捉することができる。上記に説明されるように、いくつかの実施形態では、１つ以上の他のオーディオセンサが、発話源の場所の決定に有用なステレオ音受信を提供するために位置付けられることができる。オーディオセンサ２３２は、別の実施例として、オーディオ源が位置する場所に関するそのような有用な指向性情報を提供し得る、指向性マイクロホンを備えることができる。ウェアラブルシステム４００は、発話源を位置特定する際、または特定の瞬間におけるアクティブ話者を決定するために等、外向きに向いた結像システム４６４およびオーディオセンサ２３０の両方からの情報を使用することができる。例えば、ウェアラブルシステム４００は、単独で、または（例えば、鏡に見られるような）話者の反射された画像と組み合わせて、音声認識を使用して、話者の身元を決定することができる。別の実施例として、ウェアラブルシステム４００は、指向性マイクロホンから入手される音に基づいて、環境内の話者の位置を決定することができる。ウェアラブルシステム４００は、発話認識アルゴリズムを用いて、話者の位置から生じる音を解析し、発話のコンテンツを決定し、音声認識技法を使用して、話者の身元（例えば、名前または他の人口統計情報）を決定することができる。
【００９４】
ウェアラブルシステム４００はまた、眼移動および顔移動等のユーザの移動を観察する、内向きに向いた結像システム４６６（例えば、デジタルカメラ）を含むこともできる。内向きに向いた結像システム４６６は、眼４１０の画像を捕捉し、眼３０４の瞳孔のサイズおよび／または配向を決定するために使用されてもよい。内向きに向いた結像システム４６６は、ユーザが見ている方向（例えば、眼姿勢）を決定する際に使用するため、またはユーザのバイオメトリック識別（例えば、虹彩識別を介して）のため、画像を取得するために使用されることができる。いくつかの実施形態では、少なくとも１つのカメラが、眼毎に、独立して、各眼の瞳孔サイズまたは眼姿勢を別個に決定し、それによって、各眼への画像情報の提示がその眼に対して動的に調整されることを可能にするために利用されてもよい。いくつかの他の実施形態では、単一の眼４１０のみの瞳孔直径または配向（例えば、一対の眼あたり単一カメラのみを使用して）が、決定され、ユーザの両眼に関して類似すると仮定される。内向きに向いた結像システム４６６によって取得される画像は、ユーザに提示されるべきオーディオまたは視覚的コンテンツを決定するためにウェアラブルシステム４００によって使用され得る、ユーザの眼姿勢または気分を決定するために分析されてもよい。ウェアラブルシステム４００はまた、ＩＭＵ、加速度計、ジャイロスコープ等のセンサを使用して、頭部姿勢（例えば、頭部位置または頭部配向）を決定してもよい。
【００９５】
ウェアラブルシステム４００は、ユーザが、コマンドをコントローラ４６０に入力し、ウェアラブルシステム４００と相互作用し得る、ユーザ入力デバイス４６６を含むことができる。例えば、ユーザ入力デバイス４６６は、トラックパッド、タッチスクリーン、ジョイスティック、多自由度（ＤＯＦ）コントローラ、容量感知デバイス、ゲームコントローラ、キーボード、マウス、指向性パッド（Ｄパッド）、ワンド、触知デバイス、トーテム（例えば、仮想ユーザ入力デバイスとして機能する）等を含むことができる。マルチＤＯＦコントローラは、コントローラのいくつかまたは全ての可能性として考えられる平行移動（例えば、左／右、前方／後方、または上／下）または回転（例えば、ヨー、ピッチ、またはロール）におけるユーザ入力を感知することができる。平行移動をサポートする、マルチＤＯＦコントローラは、３ＤＯＦと称され得る一方、平行移動および回転をサポートする、マルチＤＯＦコントローラは、６ＤＯＦと称され得る。ある場合には、ユーザは、指（例えば、親指）を使用して、タッチセンサ式入力デバイスを押下するかまたはその上でスワイプし、入力をウェアラブルシステム４００に提供してもよい（例えば、ユーザ入力をウェアラブルシステム４００によって提供されるユーザインターフェースに提供するために）。ユーザ入力デバイス４６６は、ウェアラブルシステム４００の使用の間に、ユーザの手によって保持されてもよい。ユーザ入力デバイス４６６は、ウェアラブルシステム４００と有線または無線通信することができる。
（ウェアラブルシステムの他のコンポーネント）
【００９６】
多くの実装では、ウェアラブルシステムは、上記に説明されるウェアラブルシステムのコンポーネントに加えて、またはその代替として、他のコンポーネントを含んでもよい。ウェアラブルシステムは、例えば、１つ以上の触知デバイスまたはコンポーネントを含んでもよい。触知デバイスまたはコンポーネントは、触覚をユーザに提供するように動作可能であってもよい。例えば、触知デバイスまたはコンポーネントは、仮想コンテンツ（例えば、仮想オブジェクト、仮想ツール、他の仮想構造）に触れると、圧力またはテクスチャの触覚を提供してもよい。触覚は、仮想オブジェクトが表す物理的オブジェクトの触覚を再現してもよい、または仮想コンテンツが表す想像上のオブジェクトまたはキャラクタ（例えば、ドラゴン）の感覚を再現してもよい。いくつかの実装では、触知デバイスまたはコンポーネントは、ユーザによって装着されてもよい（例えば、ユーザウェアラブルグローブ）。いくつかの実装では、触知デバイスまたはコンポーネントは、ユーザによって保持されてもよい。
【００９７】
ウェアラブルシステムは、例えば、ユーザによって操作可能であって、ウェアラブルシステムへの入力またはそれとの相互作用を可能にする、１つ以上の物理的オブジェクトを含んでもよい。これらの物理的オブジェクトは、本明細書では、トーテムと称され得る。いくつかのトーテムは、無生物オブジェクト、例えば、金属またはプラスチック片、壁、テーブルの表面の形態をとってもよい。ある実装では、トーテムは、実際には、任意の物理的入力構造（例えば、キー、トリガ、ジョイスティック、トラックボール、ロッカスイッチ）を有していなくてもよい。代わりに、トーテムは、単に、物理的表面を提供してもよく、ウェアラブルシステムは、ユーザにトーテムの１つ以上の表面上にあるように見えるように、ユーザインターフェースをレンダリングしてもよい。例えば、ウェアラブルシステムは、トーテムの１つ以上の表面上に常駐するように見えるように、コンピュータキーボードおよびトラックパッドの画像をレンダリングしてもよい。例えば、ウェアラブルシステムは、トーテムとしての役割を果たす、アルミニウムの薄い長方形プレートの表面上に見えるように、仮想コンピュータキーボードおよび仮想トラックパッドをレンダリングしてもよい。長方形プレート自体は、いずれの物理的キーまたはトラックパッドまたはセンサも有していなくてもよい。しかしながら、ウェアラブルシステムは、仮想キーボードまたは仮想トラックパッドを介して行われた選択または入力として、長方形プレートを用いたユーザ操作または相互作用またはタッチを検出し得る。ユーザ入力デバイス４６６（図４に示される）は、トラックパッド、タッチパッド、トリガ、ジョイスティック、トラックボール、ロッカまたは仮想スイッチ、マウス、キーボード、多自由度コントローラ、または別の物理的入力デバイスを含み得る、トーテムの実施形態であってもよい。ユーザは、単独で、または姿勢と組み合わせて、トーテムを使用し、ウェアラブルシステムまたは他のユーザと相互作用してもよい。
（ウェアラブルシステムとのユーザ相互作用の例示的プロセス）
【００９８】
図５は、仮想ユーザインターフェースと相互作用するための方法５００の実施例のプロセスフロー図である。方法５００は、本明細書に説明されるウェアラブルシステムによって実施されてもよい。方法５００の実施形態は、ウェアラブルシステムによって使用され、ウェアラブルシステムのＦＯＶ内の人物またはドキュメントを検出することができる。
【００９９】
ブロック５１０では、ウェアラブルシステムは、特定のＵＩを識別してもよい。ＵＩのタイプは、ユーザによって事前決定されてもよい。ウェアラブルシステムは、ユーザ入力（例えば、ジェスチャ、視覚データ、オーディオデータ、感覚データ、直接コマンド等）に基づいて、特定のＵＩが取り込まれる必要があることを識別してもよい。ＵＩは、システムの装着者がドキュメントを装着者に提示するユーザを観察している（例えば、旅行者検問所において）、セキュリティシナリオに特有であり得る。ブロック５２０では、ウェアラブルシステムは、仮想ＵＩのためのデータを生成してもよい。例えば、ＵＩの境界、一般的構造、形状等と関連付けられるデータが、生成されてもよい。加えて、ウェアラブルシステムは、ウェアラブルシステムがＵＩをユーザの物理的場所に関連して表示し得るように、ユーザの物理的場所のマップ座標を決定してもよい。例えば、ＵＩが、身体中心である場合、ウェアラブルシステムは、リングＵＩがユーザの周囲に表示され得る、または平面ＵＩが壁上またはユーザの正面に表示され得るように、ユーザの物理的立ち位置、頭部姿勢、または眼姿勢の座標を決定してもよい。本明細書に説明されるセキュリティコンテキストでは、ＵＩは、装着者が、旅行者および旅行者のドキュメントを見ながら、ＵＩを容易に視認し得るように、ＵＩがドキュメントをシステムの装着者に提示している旅行者を囲繞しているかのように表示されてもよい。ＵＩが、手中心である場合、ユーザの手のマップ座標が、決定されてもよい。これらのマップ点は、ＦＯＶカメラ、感覚入力を通して受信されるデータ、または任意の他のタイプの収集されたデータを通して、導出されてもよい。
【０１００】
ブロック５３０では、ウェアラブルシステムは、データをクラウドからディスプレイに送信してもよい、またはデータは、ローカルデータベースからディスプレイコンポーネントに送信されてもよい。ブロック５４０では、ＵＩは、送信されたデータに基づいて、ユーザに表示される。例えば、ライトフィールドディスプレイは、仮想ＵＩをユーザの眼の一方または両方の中に投影することができる。いったん仮想ＵＩが作成されると、ウェアラブルシステムは、単に、ブロック５５０において、ユーザからのコマンドを待機し、より多くの仮想コンテンツを仮想ＵＩ上に生成してもよい。例えば、ＵＩは、ユーザの身体またはユーザの環境内の人物（例えば、旅行者）の身体の周囲の身体中心リングであってもよい。ウェアラブルシステムは、次いで、コマンド（ジェスチャ、頭部または眼移動、音声コマンド、ユーザ入力デバイスからの入力等）を待機してもよく、それが認識される場合（ブロック５６０）、コマンドと関連付けられる仮想コンテンツが、ユーザに表示されてもよい（ブロック５７０）。
（複合現実におけるアバタレンダリングの実施例）
【０１０１】
ウェアラブルシステムは、高被写界深度をレンダリングされたライトフィールド内で達成するために、種々のマッピング関連技法を採用してもよい。仮想世界をマッピングする際、実世界内の全ての特徴および点を把握し、仮想オブジェクトを実世界に関連して正確に描くことが有利である。この目的を達成するために、ウェアラブルシステムのユーザから捕捉されるＦＯＶ画像が、実世界の種々の点および特徴についての情報を伝達する新しい写真を含むことによって、世界モデルに追加されることができる。例えば、ウェアラブルシステムは、マップ点（２Ｄ点または３Ｄ点等）のセットを収集し、新しいマップ点を見出し、世界モデルのより正確なバージョンをレンダリングすることができる。第１のユーザの世界モデルは、第２のユーザが第１のユーザを囲繞する世界を体験し得るように、（例えば、クラウドネットワーク等のネットワークを経由して）第２のユーザに通信されることができる。
【０１０２】
図６Ａは、複合現実環境内のアバタ処理およびレンダリングシステム６９０を備え得る、ウェアラブルシステムの別の実施例のブロック図である。ウェアラブルシステム６００は、図２に示されるウェアラブルシステム２００の一部であってもよい。本実施例では、ウェアラブルシステム６００は、マップデータベース７１０（図７に示される）内のデータの少なくとも一部を含み得る、マップ６２０を備えることができる。マップは、部分的に、ウェアラブルシステム上にローカルで常駐してもよく、部分的に、有線または無線ネットワークによってアクセス可能なネットワーク化された記憶場所に（例えば、クラウドシステム内に）常駐してもよい。姿勢プロセス６１０は、ウェアラブルコンピューティングアーキテクチャ（例えば、処理モジュール２６０またはコントローラ４６０）上で実行され、マップ６２０からのデータを利用して、ウェアラブルコンピューティングハードウェアまたはユーザの位置および配向を決定してもよい。姿勢データは、ユーザが、システムを体験し、世界内で動作するにつれてオンザフライで収集されるデータから、算出されてもよい。データは、画像、センサ（概して、加速度計およびジャイロスコープコンポーネントを備える、慣性測定ユニット等）からのデータ、および実または仮想環境内のオブジェクトと関連する表面情報を備えてもよい。
【０１０３】
疎点表現は、同時位置特定およびマッピング（例えば、入力が画像／視覚のみである構成を指す、ＳＬＡＭまたはｖＳＬＡＭ）プロセスの出力であってもよい。本システムは、種々のコンポーネントが存在する世界内の場所だけではなく、世界が成る内容も見出すように構成されることができる。姿勢は、マップの取込およびマップからのデータの使用を含む、多くの目標を達成する、構築ブロックであり得る。
【０１０４】
一実施形態では、疎点位置は、それ自体では完全には適正ではない場合があり、さらなる情報が、多焦点ＡＲ、ＶＲ、またはＭＲ体験を生産するために必要とされ得る。概して、深度マップ情報を指す、稠密表現が、少なくとも部分的に、本間隙を充填するために利用されてもよい。そのような情報は、ステレオ６４０と称される、プロセスから算出されてもよく、深度情報は、三角測量または飛行時間感知等の技法を使用して決定される。画像情報およびアクティブパターン（アクティブプロジェクタを使用して作成される赤外線パターン等）、画像カメラから入手される画像、または手のジェスチャ／トーテム６５０が、ステレオプロセス６４０への入力としての役割を果たし得る。有意な量の深度マップ情報が、ともに融合され得、そのうちの一部は、表面表現を用いて要約され得る。例えば、数学的に定義可能な表面は、ゲームエンジンのような他の処理デバイスへの効率的（例えば、大規模点群に対して）かつ要約しやすい入力であってもよい。したがって、立体視プロセス（例えば、深度マップ）６４０の出力は、融合プロセス６３０において組み合わせられてもよい。姿勢６１０も同様に、本融合プロセス６３０への入力であってもよく、融合６３０の出力は、マップ取込プロセス６２０への入力となる。サブ表面が、トポグラフィマッピング等において相互と接続し、より大きい表面を形成し得、マップは、点および表面の大規模ハイブリッドとなる。
【０１０５】
複合現実プロセス６６０における種々の側面を解決するために、種々の入力が、利用されてもよい。例えば、図６Ａに描写される実施形態では、ゲームパラメータが、入力され、システムのユーザが、種々の場所における１匹以上のモンスター、種々の条件下で死にかけている、または逃げているモンスター（ユーザがモンスターを射撃する場合等）、種々の場所における壁または他のオブジェクト、および同等物を伴った状態で、モンスターバトルゲームをプレーしていることを決定し得る。世界マップは、オブジェクトの場所に関する情報またはオブジェクトの意味論情報（例えば、オブジェクトが、平坦または丸いかどうか、水平または垂直であるか、テーブルまたはランプであるかどうか等の分類）を含んでもよく、世界マップは、複合現実への別の有益な入力であり得る。世界に対する姿勢も同様に、入力となることができ、ほぼあらゆる双方向システムに対して重要な役割を担うことができる。
【０１０６】
ユーザからの制御または入力は、ウェアラブルシステム６００への別の入力であり得る。本明細書に説明されるように、ユーザ入力は、視覚的入力、ジェスチャ、トーテム、オーディオ入力、感覚入力等を含むことができる。動き回る、またはゲームをプレーするために、例えば、ユーザは、自らが所望する内容に関して、ウェアラブルシステム６００に命令する必要があり得る。単に自らを空間内で移動させる以外にも、利用され得る種々の形態のユーザ制御が、存在し得る。一実施形態では、トーテム（例えば、ユーザ入力デバイス）または玩具銃等のオブジェクトが、ユーザによって保持され、システムによって追跡されてもよい。本システムは、好ましくは、ユーザがアイテムを保持していることを把握し、ユーザがアイテムと行っている相互作用の種類を理解するように構成されるであろう（例えば、トーテムまたはオブジェクトが、銃である場合、本システムは、場所および配向、および、そのようなアクティビティがカメラのいずれかの視野内にないときでも、生じている内容を決定することを補助し得る、ＩＭＵ等のセンサを装備し得る、トリガまたは他の感知ボタンまたは要素をユーザがクリックしているかどうかを理解するように構成されてもよい）。
【０１０７】
手のジェスチャの追跡または認識もまた、入力情報を提供し得る。ウェアラブルシステム６００は、ボタン押下、左または右、停止、握持、保持のジェスチャ等に関して、手のジェスチャを追跡および解釈するように構成されてもよい。例えば、１つの構成では、ユーザは、非ゲーム用環境において電子メールまたはカレンダを通してフリップする、または「フィストバンプ」を別の人物またはプレーヤと行うことを所望し得る。ウェアラブルシステム６００は、動的である場合とそうではない場合がある、最小量の手のジェスチャを活用するように構成されてもよい。例えば、ジェスチャは、停止のために手を開く、ＯＫのために親指を上げる、ＯＫではないことのために親指を下げる、または指向性コマンドのための右または左または上／下への手のフリップのような単純な静的ジェスチャであってもよい。
【０１０８】
眼追跡は、別の入力であり得る（例えば、ユーザが見ている場所を追跡し、ディスプレイ技術を制御し、具体的深度または範囲にレンダリングする）。一実施形態では、眼の輻輳・開散運動が、三角測量を使用して、決定されてもよく、次いで、その特定の人物に関して開発された輻輳・開散運動／遠近調節モデルを使用して、遠近調節が、決定されてもよい。眼追跡は、眼カメラによって実施され、眼視線（例えば、片眼または両眼の方向または配向）を決定することができる。例えば、眼の近傍に設置された電極による電位の測定（例えば、電気眼球図記録）等の他の技法も、眼追跡のために使用されることができる。
【０１０９】
発話追跡は、別の入力であり得、単独で、または他の入力（例えば、トーテム追跡、眼追跡、ジェスチャ追跡等）と組み合わせて使用されることができる。発話追跡は、単独で、または組み合わせて、発話認識、音声認識を含んでもよい。システム６００は、オーディオストリームを環境から受信する、オーディオセンサ（例えば、マイクロホン）を含むことができる。システム６００は、発話している人物（例えば、発話が、ＡＲＤの装着者からのものであるか、または別の人物からのものであるか、または音声（例えば、環境内のラウドスピーカによって伝送される録音された音声）からのものであるか）を決定するための音声認識技術、および話されている内容を決定するための発話認識技術を組み込むことができる。ローカルデータおよび処理モジュール２６０または遠隔処理モジュール２７０は、例えば、隠れマルコフモデル、動的時間伸縮法（ＤＴＷ）ベースの発話認識、ニューラルネットワーク、ディープフィードフォワードおよび再帰ニューラルネットワーク等の深層学習アルゴリズム、エンドツーエンド自動発話認識、機械学習アルゴリズム（図７を参照して説明される）、または音響モデル化または言語モデル化を使用する他のアルゴリズム等の種々の発話認識アルゴリズムを適用することによって、マイクロホンからのオーディオデータ（または、例えば、ユーザによって鑑賞されているビデオストリーム等の別のストリーム内のオーディオデータ）を処理し、発話のコンテンツを識別することができる。
【０１１０】
ローカルデータおよび処理モジュール２６０または遠隔処理モジュール２７０はまた、話者がウェアラブルシステム６００のユーザ２１０であるかまたはユーザが会話している別の人物であるか等の話者の身元を識別し得る、音声認識アルゴリズムを適用することもできる。いくつかの例示的音声認識アルゴリズムは、周波数推定、隠れマルコフモデル、ガウス混合物モデル、パターンマッチングアルゴリズム、ニューラルネットワーク、行列表現、ベクトル量子化、話者ダイアライゼーション、決定ツリー、および動的時間伸縮法（ＤＴＷ）技法を含むことができる。音声認識技法はまた、コホートモデルおよび世界モデル等のアンチ話者技法を含むこともできる。スペクトル特徴が、話者特性を表す際に使用されてもよい。ローカルデータおよび処理モジュールまたは遠隔データ処理モジュール２７０は、図７を参照して説明される、種々の機械学習アルゴリズムを使用して、音声認識を実施することができる。
【０１１１】
ウェアラブルシステムの実装は、ＵＩを介したこれらのユーザ制御または入力を使用することができる。ＵＩ要素（例えば、制御、ポップアップウィンドウ、吹き出し、データエントリフィールド等）は、例えば、情報、例えば、オブジェクトのグラフィックまたは意味論情報のディスプレイを閉じるために使用されることができる。
【０１１２】
カメラシステムに関して、図６Ａに示される例示的ウェアラブルシステム６００は、３対のカメラ、すなわち、ユーザの顔の側面に配列される、相対的広ＦＯＶまたは受動ＳＬＡＭ対のカメラと、立体視結像プロセス６４０をハンドリングし、また、ユーザの顔の正面における手のジェスチャおよびトーテム／オブジェクト追跡を捕捉するために、ユーザの顔の正面に配向される、異なる対のカメラとを含むことができる。ＦＯＶカメラおよび立体視プロセス６４０のための一対のカメラは、外向きに向いた結像システム４６４（図４に示される）の一部であってもよい。ウェアラブルシステム６００は、眼ベクトルおよび他の情報を三角測量するために、ユーザの眼に向かって配向される、眼追跡カメラ（図４に示される内向きに向いた結像システム４６２の一部であり得る）を含むことができる。ウェアラブルシステム６００はまた、１つ以上のテクスチャ化光プロジェクタ（赤外線（ＩＲ）プロジェクタ等）を備え、テクスチャを場面の中に投入してもよい。
【０１１３】
ウェアラブルシステム６００は、アバタ処理およびレンダリングシステム６９０を備えることができる。アバタ処理およびレンダリングシステム６９０は、コンテキスト情報に基づいて、アバタを生成し、更新し、アニメーション化し、レンダリングするように構成されることができる。アバタ処理およびレンダリングシステム６９０の一部または全部は、単独で、または組み合わせて、ローカル処理およびデータモジュール２６０または遠隔処理モジュール２６２、２６４の一部として実装されることができる。種々の実施形態では、複数のアバタ処理およびレンダリングシステム６９０（例えば、異なるウェアラブルデバイス上に実装されるような）が、仮想アバタ６７０をレンダリングするために使用されることができる。例えば、第１のユーザのウェアラブルデバイスが、第１のユーザの意図を決定するために使用されてもよい一方、第２のユーザのウェアラブルデバイスは、アバタの特性を決定し、第１のユーザのウェアラブルデバイスから受信される意図に基づいて、第１のユーザのアバタをレンダリングすることができる。第１のユーザのウェアラブルデバイスおよび第２のユーザのウェアラブルデバイス（または他のそのようなウェアラブルデバイス）は、例えば、図９を参照して説明されるであろうように、ネットワークを介して通信することができる。
【０１１４】
図６Ｂは、例示的アバタ処理およびレンダリングシステム６９０を図示する。例示的アバタ処理およびレンダリングシステム６９０は、単独で、または組み合わせて、３Ｄモデル処理システム６８０と、コンテキスト情報分析システム６８８と、アバタ自動スケーラ６９２と、意図マッピングシステム６９４と、生体構造調節システム６９８と、刺激応答システム６９６とを備えることができる。システム６９０は、アバタ処理およびレンダリングのための機能性を図示することを意図しており、限定的であることを意図していない。例えば、ある実装では、これらのシステムのうちの１つ以上のものは、別のシステムの一部であってもよい。例えば、コンテキスト情報分析システム６８８の一部は、個々に、または組み合わせて、アバタ自動スケーラ６９２、意図マッピングシステム６９４、刺激応答システム６９６、または生体構造調節システム６９８の一部であってもよい。
【０１１５】
コンテキスト情報分析システム６８８は、図２および３を参照して説明される、１つ以上のデバイスセンサに基づいて、環境およびオブジェクト情報を決定するように構成されることができる。例えば、コンテキスト情報分析システム６８８は、ユーザまたはユーザのアバタの視認者の外向きに向いた結像システム４６４によって入手される画像を使用して、環境およびユーザの環境のオブジェクト（物理的または仮想オブジェクトを含む）またはユーザのアバタがレンダリングされる環境を分析することができる。コンテキスト情報分析システム６８８は、単独で、または場所データまたは世界マップ（例えば、マップ６２０、７１０、９１０）から入手されるデータと組み合わせて、そのような画像を分析し、環境内のオブジェクトの場所およびレイアウトを決定することができる。コンテキスト情報分析システム６８８はまた、仮想アバタ６７０を現実的にアニメーション化するために、ユーザまたはヒト全般の生物学的特徴にアクセスすることができる。例えば、コンテキスト情報分析システム６８８は、ユーザのアバタの身体の一部（例えば、頭部）が、ユーザの身体の他の部分に対して違和感のある（または非現実的）位置にあり得ない（例えば、アバタの頭部が、２７０度方向転換されない）ように、アバタに適用され得る、違和感曲線を生成し得る。ある実装では、１つ以上のオブジェクト認識装置７０８（図７に示される）は、コンテキスト情報分析システム６８８の一部として実装されてもよい。
【０１１６】
アバタ自動スケーラ６９２、意図マッピングシステム６９４、および刺激応答システム６９６、および生体構造調節システム６９８は、コンテキスト情報に基づいて、アバタの特性を決定するように構成されることができる。アバタのいくつかの例示的特性は、サイズ、外観、位置、配向、移動、姿勢、表情等を含むことができる。アバタ自動スケーラ６９２は、ユーザがアバタを不快な姿勢で見る必要がないように、アバタを自動的にスケーリングするように構成されることができる。例えば、アバタ自動スケーラ６９２は、ユーザが、それぞれ、アバタを見下ろす、またはアバタを見上げる必要がないように、アバタのサイズを増加または減少させ、アバタをユーザの眼の高さに持って来ることができる。意図マッピングシステム６９４は、アバタがその中にレンダリングされる環境に基づいて、ユーザの相互作用の意図を決定し、（正確なユーザ相互作用ではなく）意図をアバタにマッピングすることができる。例えば、第１のユーザの意図は、テレプレゼンスセッションにおいて第２のユーザと通信することであり得る（例えば、図９Ｂ参照）。典型的には、２人が、通信するときに相互に向かい合う。第１のユーザのウェアラブルシステムの意図マッピングシステム６９４は、テレプレゼンスセッションの間に存在するそのような対面意図を決定することができ、第１のユーザのウェアラブルシステムに、第２のユーザのアバタを第１のユーザに向かってレンダリングさせることができる。第２のユーザが、物理的に方向転換しようとした場合、第２のユーザのアバタを方向転換された位置にレンダリングする代わりに（第２のユーザのアバタの背面を第１のユーザに対してレンダリングさせるであろう）、第１のユーザの意図マッピングシステム６９４は、第２のアバタの顔を第１のユーザに対してレンダリングし続けることができ、これは、テレプレゼンスセッションの推測される意図（例えば、本実施例では、対面意図）である。
【０１１７】
刺激応答システム６９６は、環境内の着目オブジェクトを識別し、着目オブジェクトに対するアバタの応答を決定することができる。例えば、刺激応答システム６９６は、アバタの環境内の音源を識別し、音源を見るようにアバタを自動的に方向転換させることができる。刺激応答システム６９６はまた、閾値終了条件を決定することもできる。例えば、刺激応答システム６９６は、音源が消失した後に、またはある時間周期が経過した後に、アバタをそのオリジナル姿勢に戻らせることができる。
【０１１８】
生体構造調節システム６９８は、生物学的特徴に基づいて、ユーザの姿勢を調節するように構成されることができる。例えば、生体構造調節システム６９８は、違和感曲線に基づいて、ユーザの頭部とユーザの胴体との間またはユーザの上半身と下半身との間の相対的位置を調節するように構成されることができる。
【０１１９】
３Ｄモデル処理システム６８０は、仮想アバタ６７０をアニメーション化し、ディスプレイ２２０にレンダリングさせるように構成されることができる。３Ｄモデル処理システム６８０は、仮想キャラクタ処理システム６８２と、移動処理システム６８４とを含むことができる。仮想キャラクタ処理システム６８２は、ユーザの３Ｄモデルを生成し、（仮想アバタを作成およびアニメーション化するために）更新するように構成されることができる。移動処理システム６８４は、例えば、アバタの姿勢を変化させることによって、アバタをユーザの環境内で動き回らせることによって、またはアバタの顔の表情をアニメーション化することによって等、アバタをアニメーション化するように構成されることができる。本明細書にさらに説明されるであろうように、仮想アバタは、リギング技法を使用して、アニメーション化されることができる。いくつかの実施形態では、アバタは、２つの部分、すなわち、仮想アバタの外向き外観をレンダリングするために使用される表面表現（例えば、変形可能メッシュ）と、メッシュをアニメーション化するための相互接続された関節の階層セット（例えば、コア骨格）とにおいて表される。いくつかの実装では、仮想キャラクタ処理システム６８２は、表面表現を編集または生成させるように構成されることができる一方、移動処理システム６８４は、アバタを移動させること、メッシュを変形させること等によって、アバタをアニメーション化するために使用されることができる。
（ユーザの環境をマッピングする実施例）
【０１２０】
図７は、ＭＲ環境７００の実施例のブロック図である。ＭＲ環境７００は、入力（例えば、ユーザのウェアラブルシステムからの視覚的入力７０２、室内カメラ等の定常入力７０４、種々のセンサからの感覚入力７０６、ユーザ入力デバイス４６６からのジェスチャ、トーテム、眼追跡、ユーザ入力等）を、１つ以上のユーザウェアラブルシステム（例えば、ウェアラブルシステム２００またはディスプレイシステム２２０）または定常室内システム（例えば、室内カメラ等）から受信するように構成されてもよい。ウェアラブルシステムは、種々のセンサ（例えば、加速度計、ジャイロスコープ、温度センサ、移動センサ、深度センサ、ＧＰＳセンサ、内向きに向いた結像システム、外向きに向いた結像システム等）を使用して、ユーザの環境の場所および種々の他の属性を決定することができる。本情報はさらに、異なる視点からの画像または種々のキューを提供し得る、部屋内の定常カメラからの情報で補完されてもよい。カメラ（室内カメラおよび／または外向きに向いた結像システムのカメラ等）によって入手される画像データは、マッピング点のセットに変えられてもよい。
【０１２１】
１つ以上のオブジェクト認識装置７０８が、受信されたデータ（例えば、点の集合）を通してクローリングし、点を認識またはマッピングし、画像をタグ付けし、マップデータベース７１０を用いて、意味論情報をオブジェクトに添付することができる。マップデータベース７１０は、経時的に収集される種々の点およびそれらの対応するオブジェクトを備えてもよい。種々のデバイスおよびマップデータベースは、ネットワーク（例えば、ＬＡＮ、ＷＡＮ等）を通して相互に接続され、クラウドにアクセスすることができる。
【０１２２】
本情報およびマップデータベース内の点集合に基づいて、オブジェクト認識装置７０８ａ−７０８ｎは、環境内のオブジェクトを認識してもよい。例えば、オブジェクト認識装置は、顔、人物、窓、壁、ユーザ入力デバイス、テレビ、ドキュメント（例えば、本明細書におけるセキュリティ実施例において説明されるような旅券、運転免許証、パスポート）、ユーザの環境内の他のオブジェクト等を認識することができる。１つ以上のオブジェクト認識装置が、ある特性を伴うオブジェクトのために特殊化されてもよい。例えば、オブジェクト認識装置７０８ａは、顔を認識するために使用されてもよい一方、別のオブジェクト認識装置は、ドキュメントを認識するために使用されてもよい。
【０１２３】
オブジェクト認識は、種々のコンピュータビジョン技法を使用して実施されてもよい。例えば、ウェアラブルシステムは、外向きに向いた結像システム４６４（図４に示される）によって入手される画像を分析し、場面再構成、イベント検出、ビデオ追跡、オブジェクト認識（例えば、人物またはドキュメント）、オブジェクト姿勢推定、顔認識（例えば、環境内の人物またはドキュメント上の画像から）、学習、インデックス化、運動推定、または画像分析（例えば、写真、署名、識別情報、旅行情報等のドキュメント内の印を識別する）等を実施することができる。１つ以上のコンピュータビジョンアルゴリズムが、これらのタスクを実施するために使用されてもよい。コンピュータビジョンアルゴリズムの非限定的実施例は、スケール不変特徴変換（ＳＩＦＴ）、スピードアップロバスト特徴（ＳＵＲＦ）、配向ＦＡＳＴおよび回転ＢＲＩＥＦ（ＯＲＢ）、バイナリロバスト不変スケーラブルキーポイント（ＢＲＩＳＫ）、高速網膜キーポイント（ＦＲＥＡＫ）、Ｖｉｏｌａ−Ｊｏｎｅｓアルゴリズム、Ｅｉｇｅｎｆａｃｅｓアプローチ、Ｌｕｃａｓ−Ｋａｎａｄｅアルゴリズム、Ｈｏｒｎ−Ｓｃｈｕｎｋアルゴリズム、Ｍｅａｎ−ｓｈｉｆｔアルゴリズム、視覚的同時位置特定およびマッピング（ｖＳＬＡＭ）技法、シーケンシャルベイズ推定器（例えば、カルマンフィルタ、拡張カルマンフィルタ等）、バンドル調節、適応閾値化（および他の閾値化技法）、反復最近傍点（ＩＣＰ）、セミグローバルマッチング（ＳＧＭ）、セミグローバルブロックマッチング（ＳＧＢＭ）、特徴点ヒストグラム、種々の機械学習アルゴリズム（例えば、サポートベクトルマシン、ｋ最近傍アルゴリズム、単純ベイズ、ニューラルネットワーク（畳み込みまたは深層ニューラルネットワークを含む）、または他の教師あり／教師なしモデル等）等を含む。
【０１２４】
オブジェクト認識は、加えて、または代替として、種々の機械学習アルゴリズムによって実施されることができる。いったん訓練されると、機械学習アルゴリズムは、ＨＭＤによって記憶されることができる。機械学習アルゴリズムのいくつかの実施例は、回帰アルゴリズム（例えば、通常の最小２乗回帰等）、インスタンスベースのアルゴリズム（例えば、学習ベクトル量子化等）、決定ツリーアルゴリズム（例えば、分類および回帰ツリー等）、ベイズアルゴリズム（例えば、単純ベイズ等）、クラスタリングアルゴリズム（例えば、ｋ−平均クラスタリング等）、関連付けルール学習アルゴリズム（例えば、アプリオリアルゴリズム等）、人工ニューラルネットワークアルゴリズム（例えば、Ｐｅｒｃｅｐｔｒｏｎ等）、深層学習アルゴリズム（例えば、Ｄｅｅｐ  Ｂｏｌｔｚｍａｎｎ  Ｍａｃｈｉｎｅ、すなわち、深層ニューラルネットワーク等）、次元削減アルゴリズム（例えば、主成分分析等）、アンサンブルアルゴリズム（例えば、Ｓｔａｃｋｅｄ  Ｇｎｅｒａｌｉｚａｔｉｏｎ等）、および／または他の機械学習アルゴリズムを含む、教師ありまたは教師なし機械学習アルゴリズムを含むことができる。いくつかの実施形態では、個々のモデルは、個々のデータセットのためにカスタマイズされることができる。例えば、ウェアラブルデバイスは、ベースモデルを生成または記憶することができる。ベースモデルは、開始点として使用され、データタイプ（例えば、テレプレゼンスセッション内の特定のユーザ）、データセット（例えば、テレプレゼンスセッション内のユーザの取得される付加的画像のセット）、条件付き状況、または他の変形例に特有の付加的モデルを生成してもよい。いくつかの実施形態では、ウェアラブルＨＭＤは、複数の技法を利用して、集約されたデータの分析のためのモデルを生成するように構成されることができる。他の技法は、事前に定義された閾値またはデータ値を使用するステップを含んでもよい。
【０１２５】
マップデータベース内の本情報および点の集合に基づいて、オブジェクト認識装置７０８ａ−７０８ｎは、オブジェクトを認識し、オブジェクトを意味論情報で補完し、オブジェクトに動作性を与えてもよい。例えば、オブジェクト認識装置が、点のセットがドアであることを認識する場合、本システムは、ある意味論情報を添付してもよい（例えば、ドアは、ヒンジを有し、ヒンジを中心として９０度移動を有する）。オブジェクト認識装置が、点のセットが鏡であることを認識する場合、本システムは、鏡が、部屋内のオブジェクトの画像を反射し得る、反射表面を有するという意味論情報を添付してもよい。意味論情報は、本明細書に説明されるように、オブジェクトのアフォーダンスを含むことができる。例えば、意味論情報は、オブジェクトの法線を含んでもよい。本システムは、ベクトルを割り当てることができ、その方向は、オブジェクトの法線を示す。経時的に、マップデータベースは、システム（ローカルに常駐し得る、または無線ネットワークを通してアクセス可能であり得る）がより多くのデータを世界から累積するにつれて成長することができる。いったんオブジェクトが認識されると、情報は、１つ以上のウェアラブルシステムに伝送されてもよい。例えば、ＭＲ環境７００は、Ｃａｌｉｆｏｒｎｉａで起こっている場面についての情報を含んでもよい。環境７００は、Ｎｅｗ  Ｙｏｒｋにおける１人以上のユーザに伝送されてもよい。ＦＯＶカメラおよび他の入力から受信されるデータに基づいて、オブジェクト認識装置および他のソフトウェアコンポーネントは、場面が世界の異なる部分に存在し得る第２のユーザに正確に「パス」され得るように、種々の画像から収集される点をマッピングし、オブジェクトを認識すること等ができる。環境７００はまた、位置特定目的のために、トポロジマップを使用してもよい。
【０１２６】
図８は、認識されたオブジェクトに関連して仮想コンテンツをレンダリングする方法８００の実施例のプロセスフロー図である。方法８００は、仮想場面がウェアラブルシステムのユーザに提示され得る方法を説明する。ユーザは、その場面から地理的に遠隔に存在し得る。例えば、ユーザは、Ｎｅｗ  Ｙｏｒｋに存在し得るが、Ｃａｌｉｆｏｒｎｉａで現在起こっている場面を視認することを所望し得る、またはＣａｌｉｆｏｒｎｉａに居住する友人と散歩に行くことを所望し得る。
【０１２７】
ブロック８１０では、ウェアラブルシステムは、ユーザの環境に関する入力をユーザおよび他のユーザから受信してもよい。これは、種々の入力デバイスおよびマップデータベース内にすでに保有されている知識を通して達成され得る。ユーザのＦＯＶカメラ、センサ、ＧＰＳ、眼追跡等が、ブロック８１０において、情報をシステムに伝達する。本システムは、ブロック８２０において、本情報に基づいて、疎点を決定してもよい。疎点は、ユーザの周囲における種々のオブジェクトの配向および位置を表示および理解する際に使用され得る、姿勢データ（例えば、頭部姿勢、眼姿勢、身体姿勢、または手のジェスチャ）を決定する際に使用されてもよい。オブジェクト認識装置７０８ａ−７０８ｎは、ブロック８３０において、これらの収集された点を通してクローリングし、マップデータベースを使用して、１つ以上のオブジェクトを認識してもよい。本情報は、次いで、ブロック８４０において、ユーザの個々のウェアラブルシステムに伝達されてもよく、所望の仮想場面が、それに応じて、ブロック８５０においてユーザに表示されてもよい。例えば、所望の仮想場面（例えば、ＣＡにおけるユーザ）が、Ｎｅｗ  Ｙｏｒｋにおけるユーザの種々のオブジェクトおよび他の周囲に関連して、適切な配向、位置等において表示されてもよい。
（複数のウェアラブルシステム間の例示的通信）
【０１２８】
図９は、相互と相互作用する複数のユーザデバイスを描写する、全体的システム図を図式的に図示する。コンピューティング環境９００は、ユーザデバイス９３０ａ、９３０ｂ、９３０ｃを含む。ユーザデバイス９３０ａ、９３０ｂ、および９３０ｃは、ネットワーク９９０を通して、相互と通信することができる。ユーザデバイス９３０ａ−９３０ｃはそれぞれ、ネットワークインターフェースを含み、ネットワーク９９０を介して、遠隔コンピューティングシステム９２０（ネットワークインターフェース９７１も含み得る）と通信することができる。ネットワーク９９０は、ＬＡＮ、ＷＡＮ、ピアツーピアネットワーク、無線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、または任意の他のネットワークであってもよい。コンピューティング環境９００はまた、１つ以上の遠隔コンピューティングシステム９２０を含むこともできる。遠隔コンピューティングシステム９２０は、クラスタ化され、異なる地理的場所に位置する、サーバコンピュータシステムを含んでもよい。ユーザデバイス９３０ａ、９３０ｂ、および９３０ｃは、ネットワーク９９０を介して、遠隔コンピューティングシステム９２０と通信してもよい。
【０１２９】
遠隔コンピューティングシステム９２０は、具体的ユーザの物理および／または仮想世界についての情報を維持し得る、遠隔データリポジトリ９８０を含んでもよい。データ記憶装置９８０は、ユーザ、ユーザの環境（例えば、ユーザの環境の世界マップ）、またはユーザのアバタの構成に関連する情報を記憶することができる。遠隔データリポジトリは、図２に示される遠隔データリポジトリ２８０の実施形態であってもよい。遠隔コンピューティングシステム９２０はまた、遠隔処理モジュール９７０を含んでもよい。遠隔処理モジュール９７０は、図２に示される遠隔処理モジュール２７０の実施形態であってもよい。遠隔処理モジュール９７０は、ユーザデバイス（９３０ａ、９３０ｂ、９３０ｃ）および遠隔データリポジトリ９８０と通信し得る、１つ以上のプロセッサを含んでもよい。プロセッサは、ユーザデバイスおよび他のソースから取得される情報を処理することができる。いくつかの実装では、処理または記憶の少なくとも一部は、ローカル処理およびデータモジュール２６０（図２に示されるような）によって提供されることができる。遠隔コンピューティングシステム９２０は、所与のユーザが、具体的ユーザ自身の物理的および／または仮想世界についての情報を別のユーザと共有することを可能にし得る。
【０１３０】
ユーザデバイスは、単独で、または組み合わせて、ウェアラブルデバイス（ＨＭＤまたはＡＲＤ等）、コンピュータ、モバイルデバイス、または任意の他のデバイスであってもよい。例えば、ユーザデバイス９３０ｂおよび９３０ｃは、ＡＲ／ＶＲ／ＭＲコンテンツを提示するように構成され得る、図２に示されるウェアラブルシステム２００（または図４に示されるウェアラブルシステム４００）の実施形態であってもよい。
【０１３１】
ユーザデバイスのうちの１つ以上のものは、図４に示されるユーザ入力デバイス４６６と併用されることができる。ユーザデバイスは、（例えば、図４に示される外向きに向いた結像システム４６４を使用して）ユーザおよびユーザの環境についての情報を取得することができる。ユーザデバイスおよび／または遠隔コンピューティングシステム１２２０は、ユーザデバイスから取得される情報を使用して、画像、点、および他の情報の集合を構築、更新、および建造することができる。例えば、ユーザデバイスは、入手される未加工情報を処理し、さらなる処理のために、処理された情報を遠隔コンピューティングシステム１２２０に送信してもよい。ユーザデバイスはまた、処理のために、未加工情報を遠隔コンピューティングシステム１２２０に送信してもよい。ユーザデバイスは、処理された情報を遠隔コンピューティングシステム１２２０から受信し、ユーザに投影する前に、最終処理を提供してもよい。ユーザデバイスはまた、取得された情報を処理し、処理された情報を他のユーザデバイスにパスしてもよい。ユーザデバイスは、入手された情報を処理しながら、遠隔データリポジトリ１２８０と通信してもよい。複数のユーザデバイスおよび／または複数のサーバコンピュータシステムが、入手された画像の構築および／または処理に関与してもよい。
【０１３２】
物理的世界に関する情報は、経時的に展開されてもよく、異なるユーザデバイスによって収集される情報に基づいてもよい。仮想世界のモデルはまた、経時的に展開され、異なるユーザの入力に基づいてもよい。そのような情報およびモデルは、時として、本明細書では、世界マップまたは世界モデルと称され得る。図６および７を参照して説明されるように、ユーザデバイスによって入手される情報は、世界マップ９１０を構築するために使用されてもよい。世界マップ９１０は、図６Ａに説明されるマップ６２０の少なくとも一部を含んでもよい。種々のオブジェクト認識装置（例えば、７０８ａ、７０８ｂ、７０８ｃ…７０８ｎ）が、オブジェクトおよびタグ画像を認識するため、および意味論情報をオブジェクトに添付するために使用されてもよい。これらのオブジェクト認識装置はまた、図７に説明される。
【０１３３】
遠隔データリポジトリ９８０は、データを記憶し、世界マップ９１０の構築を促進するために使用されることができる。ユーザデバイスは、ユーザの環境についての情報を常に更新し、世界マップ９１０についての情報を受信することができる。世界マップ９１０は、ユーザによって、または別の人物によって作成されてもよい。本明細書に議論されるように、ユーザデバイス（例えば、９３０ａ、９３０ｂ、９３０ｃ）および遠隔コンピューティングシステム９２０は、単独で、または組み合わせて、世界マップ９１０を構築および／または更新してもよい。例えば、ユーザデバイスは、遠隔処理モジュール９７０および遠隔データリポジトリ９８０と通信してもよい。ユーザデバイスは、ユーザおよびユーザの環境についての情報を入手および／または処理してもよい。遠隔処理モジュール９７０は、遠隔データリポジトリ９８０およびユーザデバイス（例えば、９３０ａ、９３０ｂ、９３０ｃ）と通信し、ユーザおよびユーザの環境についての情報を処理してもよい。遠隔コンピューティングシステム９２０は、例えば、ユーザの画像を選択的にクロッピングすること、ユーザの背景を修正すること、仮想オブジェクトをユーザの環境に追加すること、ユーザの発話に補助情報で注釈を付けること等、ユーザデバイス（例えば、９３０ａ、９３０ｂ、９３０ｃ）によって入手される情報を修正することができる。遠隔コンピューティングシステム９２０は、処理された情報を同一および／または異なるユーザデバイスに送信することができる。
（３Ｄモデル共有のための例示的プロセス）
【０１３４】
図１０は、本明細書に説明されるシステムおよび方法を使用して、３Ｄアセットを共有する例示的プロセス１０００を図示する。ステップ１００１では、３Ｄ共有ホストアプリケーションが、ホストシステムから３Ｄモデルファイルにアクセスすることができる。ホストは、ホストシステム上に新しい３Ｄアセットを作成すること、または外部システムから３Ｄアセットを取得することのいずれかによって、これを行ってもよい。３Ｄアセットは、ＡｕｔｏＣａｄまたは３Ｄ  Ｓｔｕｄｉｏ  Ｍａｘ等の３Ｄモデル化アプリケーションにおいて生じ得、任意のファイルタイプであってもよい。ホストは、アセットインポートプラグイン（例えば、ＡＳＳＩＭＰ）を利用し、グラフィック形式交換を可能にし得る。ＡＳＳＩＭＰプラグインは、例えば、．ｆｂｘ形式におけるＦｉｌｍｂｏｘ（ＦＢＸ）、または．３ｄｓ形式におけるＡｕｔｏｄｅｓｋ  Ｍａｘ  ３Ｄモデル化（３ＤＳ）等の最大４０個の異なるファイル形式をサポートし得る。いくつかの実施形態では、カスタムプログラムが、ファイル形式交換を可能にするように書かれてもよい。任意の他の好適なファイル形式変換方法が、ホスト３Ｄ共有アプリケーション内で使用するためのファイル再フォーマットを可能にするために使用されてもよい。
【０１３５】
ステップ１００３では、３Ｄ共有ホストアプリケーションが、３Ｄアセットを構成部分に分解することができる。構成部分の実施例は、地理データ、材料データ、頂点テーブル、１つ以上のテクスチャ、三角形インデックス、または３Ｄモデルの完全な表現を最終的に定義するために使用される任意の他のデータであってもよい。
【０１３６】
ステップ１００５では、構成部分が、ホストとのネットワークの一部であるクライアントに送信されることができる。いくつかの実施形態では、１つだけのクライアントが存在し得る。いくつかの実施形態では、２つ以上のクライアントが存在し得る。好ましい実施形態では、ローカルエリアネットワークが、ＵＤＰプロトコルを利用して、利用されてもよい。ネットワークは、ＬＡＮ、ＷＡＮ、ピアツーピアネットワーク、無線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、アドホック、または任意の他のネットワークであってもよい。いくつかの実施形態では、ネットワークは、上記に説明されるようなネットワーク９９０であってもよい。ホストは、９２０との関連で上記に説明されるように、クラスタ化され、異なる地理的場所に位置する、サーバコンピュータシステムを含み得る、遠隔コンピューティングシステムであってもよい。クライアントは、上記に説明されるようなユーザデバイス９３０ａ、９３０ｂ、および／または９３０ｃであってもよい。いくつかの実施形態では、１つのホストが存在し得る。いくつかの実施形態では、２つ以上のホストが存在し得る。いくつかの実施形態では、ネットワークに接続される各デバイスは、事実上、ネットワーク上の他のデバイスからの３Ｄアセットの共有および受信の両方を行う、ホストおよびクライアントの両方であってもよい。
【０１３７】
ステップ１００７では、クライアントが、構成部分を受信することができる。
【０１３８】
ステップ１００９では、クライアントが、ホストから受信される構成部分から３Ｄアセットを再構成することができる。いくつかの実施形態では、３Ｄアセットは、クライアントデバイスのメモリ内に記憶されることができる。いくつかの実施形態では、３Ｄアセットは、デバイスによって後で使用するために保存されてもよい。
【０１３９】
ステップ１０１１では、クライアントが、再構成された３Ｄアセットを表示することができる。いくつかの実施形態では、クライアントは、再構成された３Ｄアセットを表示しなくてもよい、または、例えば、ユーザ要求に応じて、後の時間にアセットを表示してもよい。いくつかの実施形態では、クライアントは、再構成された３Ｄアセットを表示してもよいが、ユーザは、ユーザのＦＯＶの外側にあるため、再構成された３Ｄアセットが見ることができない場合がある。
（例示的３Ｄモデル共有システム構成）
【０１４０】
図１１は、本明細書に説明されるシステムおよび方法を使用して、３Ｄアセットを共有するための例示的３Ｄモデル共有システム構成１１００を図示する。図１１は、１つのクライアント（「遠隔」と呼ばれ得る）システム１１１６と、１つのサーバ（「ホスト」と呼ばれ得る）システム１１１８とを備える、システム構成１１００を描写する。クライアントシステムおよびホストシステムは、システムを物理的に分離する必要はなく、例えば、いくつかの実施形態では、クライアントおよびサーバは、（例えば、同一のコンピュータシステムの１つ以上のプロセッサによって並行して実行される、クライアントおよびサーバスレッドとして）同一の物理的デバイス上に存在することができる。実践では、３Ｄ共有システム１１００は、概して、分解された３Ｄアセットのソースとして機能し得る、少なくとも１つのホストシステム１１１８を要求し得る。ホストシステム１１１８は、３Ｄ共有アプリケーション内で利用可能な３Ｄモデルのタイプおよび数量に対して権威的制御を有し得る。３Ｄ共有システム１１００は、通信ネットワーク１１１４を通してホストシステム１１１８に動作可能に接続される、任意の数（例えば、０、１、１０個等）のクライアントシステム１１１６を有してもよい。通信ネットワーク１１１４は、例えば、ユーザデータグラムプロトコル（ＵＤＰ）を利用する、ＬＡＮであってもよい。ホストシステム１１１８は、少なくとも１つのディスプレイに動作可能に結合され、他のコンピューティングシステムから通信を受信することが可能である、１つ以上のプロセッサを備えてもよい。いくつかの実施形態では、ホストシステム１１１８は、ネットワークインターフェースを用いてコンピュータモニタにアタッチされたＰＣデスクトップコンピュータであってもよい。いくつかの実施形態では、ホストシステム１１１８は、上記に説明されるようなシステム２００、９３０ａ、９３０ｂ、または９３０ｃであってもよい。ユーザデバイス２００、９３０ａ、９３０ｂ、および９３０ｃは、通信ネットワーク１１１４を通して、相互および他のコンピューティングシステムと通信することができる。ユーザデバイス９３０ａ−９３０ｃはそれぞれ、ネットワーク１１１４を介して９２０等の遠隔コンピューティングシステムと通信するためのネットワークインターフェース（ネットワークインターフェース９７１も含み得る）を含むことができる。クライアントシステム１１１６は、少なくとも１つのディスプレイに動作可能に結合され、他のコンピューティングシステムから通信を受信することが可能である、１つ以上のプロセッサを備えてもよい。いくつかの実施形態では、クライアントシステム１１１６は、ネットワークインターフェースを用いてコンピュータモニタにアタッチされたＰＣデスクトップコンピュータであってもよい。いくつかの実施形態では、クライアントシステム１１１８は、上記に説明されるようなシステム２００、９３０ａ、９３０ｂ、または９３０ｃであってもよい。ユーザデバイス２００、９３０ａ、９３０ｂ、および９３０ｃは、通信ネットワーク１１１４を通して、相互および他のコンピューティングシステムと通信することができる。ユーザデバイス９３０ａ−９３０ｃはそれぞれ、ネットワーク１１１４を介して９２０等の遠隔コンピューティングシステムと通信するためのネットワークインターフェース（ネットワークインターフェース９７１も含み得る）を含むことができる。
【０１４１】
ホストシステム１１１８は、３Ｄ共有ホストアプリケーションをインストールされてもよい。３Ｄ共有ホストアプリケーションは、３つの主要モジュール、すなわち、アセットモジュール１１０８と、分解モジュール１１１０と、伝送モジュール１１１２とを備えてもよい。アセットモジュール１１０８は、１つ以上の完全３Ｄモデルを備えてもよい。分解モジュール１１１０は、完全３Ｄモデルを構成部分に分解し、随意に、構成部分を圧縮し、構成部分を、異なるシステムに送信する準備ができている１つ以上のアレイの中に設置するように機能してもよい。アレイは、１つ以上の分解された３Ｄモデルを含有し得る、１つ以上のライブラリ内に記憶されてもよい。伝送モジュール１１１２は、分解モジュール１１１０からの構成部分をデータの転送可能な部分に分解するように機能してもよく、伝送プロトコルおよびプロセスを管理してもよい。伝送モジュール１１１２は、データの転送可能な部分を、通信ネットワーク１１１４上に接続される他のシステムに送信してもよい。
【０１４２】
クライアントまたは遠隔システム１１１６は、３Ｄ共有クライアントアプリケーションをインストールされてもよい。３Ｄ共有クライアントアプリケーションは、３つの主要モジュール、すなわち、伝送モジュール１１０６と、再構成モジュール１１０４と、アセットモジュール１１０２とを備えてもよい。伝送モジュール１１０６は、１つ以上の分解された３Ｄモデルを受信するように機能してもよく、クライアントシステム１１１６のための伝送およびネットワーキングプロセスを管理してもよい。伝送モジュール１１０６は、メッセージングプロトコルを通して、３Ｄモデル共有ホストアプリケーションと通信してもよい。これらのプロトコルは、特注のプロトコルであってもよい、または一般的に使用されているプロトコルを利用してもよい。再構成モジュール１１０４は、ネットワーク上の他のシステムからの受信される分解された３Ｄモデルを組み立て直すように機能してもよい。アセットモジュール１１０２は、１つ以上の完全３Ｄモデルを備えてもよい。
（３Ｄモデル共有のための例示的プロセス）
【０１４３】
図１２は、本明細書に説明されるシステムおよび方法を使用する、サーバとクライアントとの間の例示的３Ｄモデル共有プロセス１２００を図示する。プロセス１２００は、サーバシステム１１１８等のサーバシステムが３Ｄモデル共有ホストアプリケーションを開くときに、ステップ１２０２から開始し得る。
【０１４４】
ステップ１２０４では、サーバが、１つ以上の完全３Ｄモデルファイルを３Ｄモデル共有ホストアプリケーションにロードしてもよい。完全３Ｄモデルファイルは、例えば、ＡｕｔｏＣａｄ等のホストシステム１１１８上にダウンロードされる異なる３Ｄモデル化ソフトウェアから、ホストシステム１１１８上に生じてもよい。いくつかの実施形態では、３Ｄモデルファイルは、外部ハードドライブ、遠隔コンピューティングシステム（例えば、上記の図９からの９２０）等の外部ソースから、またはクラウド記憶装置からインポートされてもよい。いくつかの実施形態では、３Ｄモデルファイルは、３Ｄスキャナまたは類似デバイスから生じてもよい。３Ｄモデルファイルは、ＡＳＳＩＭＰまたは同等のプラグインを使用して、インポートされてもよい。プラグインは、１つの形式から３Ｄモデル共有ホストアプリケーションと互換性がある異なるファイルフォーマットに３Ｄモデルファイルを変換してもよい。ファイルフォーマット化が、下記により詳細に説明されるように、分解プロセスの間にサーバにおいて消失し得るため、プラグインは、例えば、ホストシステム１１１８等のホストシステムのみによって利用されてもよい。
【０１４５】
ステップ１２０６では、サーバシステムが、３Ｄモデルをその構成部分に分解してもよい。３Ｄモデルを分解するステップは、３Ｄモデル内の構成部分を識別するステップを含むことができる。３Ｄモデルを分解するステップは、３Ｄモデル自体の変化（例えば、３Ｄモデル内の情報の損失）または３Ｄモデルが視認のためにレンダリングされる方法の変化をもたらさないという点で、非破壊的であり得る。３Ｄモデルを分解するステップは、データレベル変更を３Ｄモデルおよび／またはその構成部分に適用するステップ（例えば、データフォーマット化変更を適用するステップ、または構成部分を圧縮し、共有を促進するステップ）を含むことができる。分解プロセスは、上記に説明されるように、分解モジュール１１１０内で生じてもよい。構成部分は、３Ｄモデルを完全に定義するために要求されるデータのサブセットであってもよい。構成部分サブセットは、頂点テーブル、地理データ、材料データ等の３Ｄモデルを備えるデータの既存のバンドルによって定義され得る。いくつかの実施形態では、構成部分サブセットは、３Ｄモデル共有アプリケーションプログラマ等によって、他の方法で定義され得る。
【０１４６】
ステップ１２１４では、クライアントシステムが、３Ｄモデル共有クライアントアプリケーションを開いてもよい。これは、ネットワーキングプロトコル、通信、および発見に関連する一連のステップを開始してもよい。
【０１４７】
ステップ１２１６では、３Ｄモデル共有クライアントアプリケーションが、ホストが存在する場合、ネットワークを介して３Ｄモデル共有ホストを発見し得る。ネットワークは、ＬＡＮ（例えば、ＵＤＰ）であってもよい。いくつかの実施形態では、ローカルネットワークは、私設である。いくつかの実施形態では、クラウドサービスが、使用されない。
【０１４８】
ステップ１２０８では、サーバが、クライアントから接続要求を受信してもよく、サーバが、接続要求を容認してもよい。
【０１４９】
ステップ１２１０では、サーバが、クライアント情報要求をクライアントに返送してもよい。クライアント情報要求は、３Ｄモデル共有ホストアプリケーションのライブラリ内に全てのリストを含有してもよい。クライアント情報要求は、代替として、アセット保有量またはコンテンツのテーブルと呼ばれ得る。
【０１５０】
ステップ１２１８では、クライアントが、３Ｄモデル共有サーバアプリケーションライブラリと比較すると、３Ｄモデル共有クライアントアプリケーションライブラリから欠落しているアイテムを規定するデータを用いて、サーバに返信してもよい。
【０１５１】
ステップ１２１２では、サーバが、３Ｄモデル共有クライアントアプリケーションから欠落しているアイテムをクライアントに送信することによって応答してもよい。いくつかの実施形態では、クライアントは、最近、３Ｄモデル共有アプリケーションを開いている場合があり、したがって、そのライブラリ内にゼロ個のアイテムを伴って開始することができる。本状況では、ホストは、そのライブラリ全体をクライアントに送信してもよい。いくつかの実施形態では、ライブラリは、メモリ内に設置されてもよく、したがって、３Ｄモデル共有アプリケーションが閉じられるときに消去されてもよい。いくつかの実施形態では、ライブラリは、３Ｄモデルが後の日付にアクセスされ得るように、クライアントシステムハードドライブ等のディスクに保存されてもよい。いくつかの実施形態では、クライアントに送信される３Ｄモデルデータは、ファイル形式を伴わないデータ構造である。本ステップの終わりに、３Ｄモデル共有ホストライブラリは、３Ｄモデル共有クライアントライブラリに合致し得る。換言すると、ホストシステムおよびクライアントシステムは両方とも、ここで、３Ｄモデルの同一のセットのための同一の構成部分を含有してもよい。
【０１５２】
いくつかの実施形態では、クライアントが、サーバ内に記憶されたアイテムと比較すると旧式であるアイテムを更新してもよい。例えば、クライアント情報要求は、アセット保有量内の個々のアセットと関連付けられるバージョン番号を含んでもよい。サーバのアセット保有量内の１つ以上のアセットは、クライアントとともに記憶されたアセットに対応することができる。クライアントは、サーバのアセット保有量内の対応するアイテムよりも小さいバージョン番号を有する、クライアントアセットライブラリ内に記憶されたアイテムを識別することができる。クライアントは、更新を要求するアイテムを識別するサーバにデータを送信することができ、サーバは、対応する更新されたアイテムをクライアントに送信することによって応答することができる。
【０１５３】
ステップ１２２０では、クライアントが、サーバから送信される新しいアイテムから、１つ以上の３Ｄモデルを再構成してもよい。いくつかの実施形態では、クライアントは、ここで、サーバと同一の完全３Ｄモデルを有してもよい。
【０１５４】
ステップ１２２２では、クライアントシステムのユーザが、ここで、ホストシステムによって共有される３Ｄモデルを視認してもよい。
（例示的３Ｄモデル共有システム構成）
【０１５５】
図１３は、本明細書に説明されるシステムおよび方法を使用して、３Ｄアセットを共有するための例示的３Ｄモデル共有システム構成１３００を図示する。
【０１５６】
３Ｄモデル共有システム構成１３００は、ネットワーク等の通信リンク１３０２によって動作可能に結合される、ホストシステム１３０６と、クライアントシステム１３０４とを備えてもよい。クライアントシステム１３０４は、３Ｄモデル共有クライアントアプリケーションを開かせて起動させ、したがって、ランタイム環境内で動作させてもよい。ホストシステム１３０６は、３Ｄモデル共有ホストアプリケーションを開かせて起動させ、したがって、ランタイム環境内で動作させてもよい。図１３は、１つのサーバシステムおよび１つのホストシステムを描写するが、これは、範囲が限定的であるように意図されず、例証を容易にするために行われる。実践では、３Ｄモデル共有システム構成１３００は、１つだけのホストシステム１３０６、１つを上回るホストシステム１３０６、１つのクライアントシステム１３０４、１つを上回るクライアントシステム１３０４、および／またはホスト（例えば、通信１３０２を介して３Ｄモデルデータを他のシステムに送信する）およびクライアント（例えば、通信１３０２を介して他のシステムから３Ｄモデルデータを受信する）の両方として機能する、１つ以上のシステムを有してもよい。さらに、いくつかの実施形態では、単一のシステムが、ホストシステムおよびクライアントシステムの両方を備えることができる。いくつかの実施形態では、ホストシステム１３０６は、ホストシステム１１１８であってもよい。いくつかの実施形態では、クライアントシステム１３０４は、クライアントシステム１１１６であってもよい。ホストシステム１３０６は、少なくとも１つのディスプレイ、例えば、コンピュータモニタにアタッチされたＰＣデスクトップコンピュータに動作可能に結合される、１つ以上のプロセッサを備えてもよい。いくつかの実施形態では、ホストシステム１３０６は、上記に説明されるようなシステム２００、９３０ａ、９３０ｂ、または９３０ｃであってもよい。クライアントシステム１３０４は、少なくとも１つのディスプレイ、例えば、コンピュータモニタにアタッチされたＰＣデスクトップコンピュータに動作可能に結合される、１つ以上のプロセッサを備えてもよい。いくつかの実施形態では、クライアントシステム１３０４は、上記に説明されるようなシステム２００、９３０ａ、９３０ｂ、または９３０ｃであってもよい。
【０１５７】
ホストシステム１３０６は、サーバモジュール１３１６を備えてもよい。サーバモジュール１３１６は、伝送およびネットワーキングプロトコル等のサーバであることに特有の機能およびプロセスを管理してもよい。サーバモジュール１３１６は、プロセス１２００におけるステップ１２０８、１２１０、および／または１２１２のように、接続要求を受信および処理してもよい。いくつかの実施形態では、サーバモジュール１３１６は、伝送モジュール１１１２を備えてもよい。
【０１５８】
ホストシステム１３０６は、ホストロードモジュール１３２０を備えてもよい。ロードモジュールは、３Ｄモデル共有ホストアプリケーションが、３Ｄアセットを３Ｄモデル共有ホストアプリケーションの中に、またはホストシステム１３０６上に、インポートまたはロードすることを可能にする、機能およびプロセスを含有してもよい。ロードモジュール１３２０は、ＡＳＳＩＭＰプラグインを備えてもよい。いくつかの実施形態では、プロセス１２００からのステップ１２０４は、ロードモジュール１３２０内で生じてもよい。いくつかの実施形態では、プロセス１０００からのステップ１００１は、ロードモジュール１３２０内で生じてもよい。いくつかの実施形態では、アセットモジュール１１０８は、ロードモジュール１３２０を備えてもよい。
【０１５９】
ホストシステム１３０６は、ホストライブラリマネージャモジュール１３１８を備えてもよい。ライブラリマネージャモジュール１３１８は、３Ｄアセット共有ホストアプリケーションにすでにロードされている３Ｄアセットに対応する、データおよびプロセスを含有および管理してもよい。ライブラリマネージャモジュール１３１８は、３Ｄアセット共有ホストアプリケーションのライブラリに対応する、データおよびプロセスを含有および管理してもよい。これは、コンテンツのライブラリテーブル等を維持する、分解プロセスを含んでもよい。いくつかの実施形態では、プロセス１２００からのステップ１２０６は、ライブラリマネージャモジュール１３１８内で生じてもよい。いくつかの実施形態では、プロセス１０００からのステップ１００３は、ライブラリマネージャモジュール１３１８内で生じてもよい。いくつかの実施形態では、ライブラリマネージャモジュール１３１８は、システム１１００からの分解モジュール１１１０を備えてもよい。
【０１６０】
ホストシステム１３０６は、ホスト世界モジュール１３２２を備えてもよい。ホスト世界モジュール１３２２は、完全３Ｄアセット、３Ｄ仮想世界、実世界のメッシュ化等、およびこれらの間の統合を管理してもよい。いくつかの実施形態では、ホスト世界モジュール１３２２は、シーングラフ、またはシーングラフの機能的均等物と見なされ得る。いくつかの実施形態では、世界は、世界ライブラリから得られるアイテム（すなわち、完全に再構成された３Ｄモデル）から描き、それらから世界オブジェクトを作成することができる。いくつかの実施形態では、３Ｄ仮想世界内の全てのものが、世界オブジェクトとして表されることができる。世界オブジェクトは、世界「クラス」の一部であってもよい。いくつかの実施形態では、ホスト世界モジュール１３２２は、プロセス１２００のステップ１２２２によって、またはプロセス１０００のステップ１０１１によって（すなわち、３Ｄモデルがクライアントにおいてローカルで共有および再構成された後に）、クライアント世界モジュール１３１２と同一のデータを含有する。ホスト世界モジュール１３２２からの出力は、レンダリングパスモジュール１３２４の中にフィードされてもよい。
【０１６１】
ホストシステム１３０６は、ホストレンダリングパスモジュール１３２４を備えてもよい。レンダリングパスモジュール１３２４は、ホスト世界モジュール１３２２からのデータを入力として受け入れ、それをホストシステム１３０６レンダリングパイプラインに通してもよく、ホストシステム１３０６のディスプレイ上に１つ以上の３Ｄモデルを表示してもよい。
【０１６２】
クライアントシステム１３０４は、クライアントモジュール１３０８を備えてもよい。クライアントモジュール１３０４は、伝送およびネットワーキングおよび／またはサーバ／クライアントプロトコル等のクライアントであることに特有の機能およびプロセスを管理してもよい。クライアントモジュール１３０８は、サーバ発見プロセスおよび他の接続プロトコルを管理してもよい。いくつかの実施形態では、これは、プロセス１２００におけるステップ１２１６および／または１２１８を含んでもよい。いくつかの実施形態では、クライアントモジュール１３０８は、伝送モジュール１１０６を備えてもよい。
【０１６３】
クライアントシステム１３０４は、クライアントライブラリマネージャモジュール１３１０を備えてもよい。ライブラリマネージャモジュール１３１０は、３Ｄアセット共有ホストアプリケーションから受信された３Ｄアセット構成部分に対応する、データおよびプロセスを含有および管理してもよい。ライブラリマネージャモジュール１３１０は、３Ｄアセット共有クライアントアプリケーションのライブラリに対応する、データおよびプロセスを含有および管理してもよい。これは、再構成プロセスを含んでもよい。いくつかの実施形態では、プロセス１２００からのステップ１２２０は、ライブラリマネージャモジュール１３１０内で生じてもよい。いくつかの実施形態では、プロセス１０００からのステップ１００９は、ライブラリマネージャモジュール１３１０内で生じてもよい。いくつかの実施形態では、ライブラリマネージャモジュール１３１０は、システム１１００からの再構成モジュール１１０４を備えてもよい。いくつかの実施形態では、クライアントライブラリは、プロセス１２００のステップ１２２２によって、またはプロセス１０００のステップ１０１１によって（すなわち、３Ｄモデルがクライアントにおいてローカルで共有および再構成された後に）、ホストライブラリと同一のデータを含有する。
【０１６４】
クライアントシステム１３０４は、クライアント世界モジュール１３１２を備えてもよい。クライアント世界モジュール１３１２は、完全に再構成された３Ｄアセット、３Ｄ仮想世界、実世界のメッシュ化等、およびこれらの間の統合を管理してもよい。いくつかの実施形態では、クライアント世界モジュール１３１２は、シーングラフ、またはシーングラフの機能的均等物と見なされ得る。いくつかの実施形態では、世界は、世界ライブラリから得られるアイテム（すなわち、完全に再構成された３Ｄモデル）から描き、それらから世界オブジェクトを作成する。いくつかの実施形態では、３Ｄ仮想世界内の全てのものが、世界オブジェクトとして表される。世界オブジェクトは、世界「クラス」の一部であってもよい。いくつかの実施形態では、クライアント世界モジュール１３１２は、プロセス１２００のステップ１２２２によって、またはプロセス１０００のステップ１０１１によって（すなわち、３Ｄモデルがクライアントにおいてローカルで共有および再構成された後に）、ホスト世界モジュール１３２２と同一のデータを含有することができる。クライアント世界モジュール１３１２からの出力は、レンダリングパスモジュール１３１４の中にフィードされてもよい。
【０１６５】
クライアントシステム１３０４は、クライアントレンダリングパスモジュール１３１４を備えてもよい。レンダリングパスモジュール１３１４は、クライアント世界モジュール１３１２からのデータを入力として受け入れ、それをクライアントシステム１３０４レンダリングパイプラインに通してもよく、クライアントシステム１３０４のディスプレイ上に１つ以上の仮想３Ｄモデルを表示してもよい。
【０１６６】
例示的３Ｄモデル共有システム構成１３００は、２つ以上のデバイスがランタイムの間に完全３Ｄモデルを共有することを可能にすることができる。これは、アプリケーションが閉じられるまで更新が待機する必要があり得る従来的システムよりも速く、新しいアセットをコンピューティングシステム上のアプリケーションに追加するという利点を有することができる。
（３Ｄモデルを分解するための例示的プロセス）
【０１６７】
図１４は、本明細書に説明されるシステムおよび方法を使用して、完全３Ｄモデルを分解するための例示的プロセス１４００を図示する。いくつかの実施形態では、分解プロセス１４００は、ホストライブラリマネージャモジュール１３１８内で生じてもよい。いくつかの実施形態では、分解プロセス１４００は、分解モジュール１１１０内で生じてもよい。いくつかの実施形態では、分解プロセス１４００は、プロセス１０００におけるステップ１００３であってもよい。いくつかの実施形態では、分解プロセス１４００は、プロセス１２００におけるステップ１２０６であってもよい。
【０１６８】
プロセス１４００は、３Ｄモデル共有ホストアプリケーション内にロードされ得る、完全３Ｄモデルから開始し得る。ステップ１４０２では、３Ｄモデル共有ホストアプリケーションが、３Ｄモデルの１つの構成部分をコピーし、構成部分を表すデータをアレイの中に設置してもよい。いくつかの例示的構成部分は、１つ以上の頂点位置、頂点テーブル、地理データ、材料データ、テクスチャ、三角形インデックステーブル等であってもよい。構成部分は、完全３Ｄモデルを表すために要求されるデータの一部であってもよい。
【０１６９】
ステップ１４０４では、構成部分が、随意に、圧縮されてもよい。標準圧縮技法が、使用されてもよい。
【０１７０】
ステップ１４０６では、構成部分が、パッケージ化されてもよい。
【０１７１】
ステップ１４０８では、パッケージが、３Ｄモデル共有ホストアプリケーションのライブラリのうちの１つの中に記憶されてもよい。３Ｄモデル共有ホストアプリケーションは、パッケージを記憶および編成するために使用される、１つ以上のライブラリを有してもよい。いくつかの実施形態では、ライブラリは、図１６に示されるように、３つのライブラリ、すなわち、メッシュライブラリ、材料ライブラリ、およびテクスチャライブラリを備えてもよい。代替ライブラリ構成が、使用されてもよい。パッケージは、対応するライブラリ内に記憶されてもよい（例えば、テクスチャは、テクスチャライブラリ内に記憶されてもよい）。
【０１７２】
ステップ１４１０では、プロセスが、３Ｄモデルをチェックし、ライブラリに追加される必要がある付加的構成部分が存在するかどうかを確認してもよい。ライブラリに追加されていない、さらなる構成部分が存在する場合、プロセスは、全ての構成部分がライブラリに追加されるまで、ステップ１４０２において最初から再び開始することができる。全ての構成部分が追加されたとき、ライブラリは、ステップ１４１２のように、完全３Ｄモデルの完全な記録を含有してもよい。
【０１７３】
いくつかの実施形態では、３Ｄモデルが、３Ｄモデルアプリケーションによって事前に定義される構成部分に分解されることができる。例えば、３Ｄモデルアプリケーション（例えば、コンピュータ支援設計プログラム）が、それぞれ、１つ以上の定義された構成部分（例えば、三角形アレイまたはテクスチャ）を備え得る、異なるデータ要素（例えば、メッシュおよびメッシュレンダリング）の観点から、３Ｄモデルを定義することができる。その場合に３Ｄモデルを分解するステップは、動作（例えば、データフォーマット化）を各構成部分に適用し、それをメモリ内に記憶するステップを構成することができる。いくつかの実施形態では、本明細書に説明される方法およびシステムが、３Ｄモデルを、ユーザによって定義される１つ以上の下位群に分解するために使用されることができる。例えば、車の３Ｄモデルに関して、ユーザが、頂点／部分／構造の集合を「エンジン」として、頂点／部分／構造の集合を「シャーシ」として、頂点／部分／構造の集合を「駆動列」として、および頂点／部分／構造の集合を「車輪」として、指定することができる。各下位群は、次いで、随意に、圧縮され、別個にデバイスに送信されることができる。いくつかの実施形態では、３Ｄモデルが、アルゴリズムで定義された下位群に分解されることができる。例えば、アルゴリズムが、頂点／部分／構造の集合を「エンジン」として識別するために（例えば、手動で、半自動的に、および／または、例えば、機械学習を通して、自動的に）開発されている可能性がある。アルゴリズムは、初期識別に基づいて限定されたプールから頂点／部分／構造の集合を分類しようとする前に、最初に、３Ｄモデル全体を識別することができる（例えば、最初に、モデルを車として識別する）。アルゴリズムはまた、頂点／部分／構造の集合を直接分類しようとすることもできる。
（完全３Ｄモデルの実施例）
【０１７４】
図１５は、本明細書に説明されるシステムおよび方法を使用する、例示的完全３Ｄモデル１５００を図示する。いくつかの実施形態では、完全３Ｄモデルは、３Ｄレンダリング可能デジタルオブジェクトを説明するデータの完全なセットであってもよい。いくつかの実施形態では、完全３Ｄモデルは、互換性があるレンダリングパイプラインに追加されたときに表示が可能である、デジタルまたは仮想オブジェクトを表すデータのセットであってもよい。
【０１７５】
３Ｄモデルコンポーネント１５０２では、３Ｄモデルは、名称を割り当てられることができる。名称は、ユーザ、インポートプロセスによって割り当てられてもよい、および／またはＡｕｔｏＣａｄにおいて３Ｄモデルに与えられるファイル名等の３Ｄモデル作成ソフトウェアで使用されるオリジナルファイル名であってもよい。３Ｄモデルは、２つの主要なタイプのデータ、すなわち、メッシュデータ１５０４およびメッシュレンダラデータ１５０６を有してもよい。メッシュデータは、データのサブセット、または構成部分Ａ１５０８、構成部分Ｂ１５１０、構成部分１５１２、および構成部分１５１４等の構成部分にさらに分解されてもよい。材料データ１５１６は、データのサブセット、または材料性質１５２２、テクスチャ１  １５１８、およびテクスチャ２  １５２２等の構成部分にさらに分解されてもよい。３Ｄモデルデータの正確なレイアウト、カテゴリ化、および下位群化は、図１５に示されるものから変動し得る。いくつかの実施形態では、メッシュ１５０４の下に、２、３、または１０個の構成部分等の任意の数の構成部分が存在し得る。いくつかの実施形態では、１つだけの代わりに、材料データ１５１６の下に性質１５２２の複数のサブセットが存在し得る。いくつかの実施形態では、図１５に示されるよりも多いまたは少ないテクスチャ構成部分１５１８、１５２０が存在し得る。任意の好適な数およびカテゴリ化が、完全３Ｄモデルを構成部分に分解するために使用されてもよい。
【０１７６】
いくつかの実施形態では、例示的完全３Ｄモデル１５００は、例示的分解プロセス１４００を使用して分解されることができる。完全３Ｄモデル１５００は、１つ以上の構成部分（例えば、構成部分Ａ１５０８、構成部分Ｂ１５１０、構成部分Ｃ１５１２、構成部分Ｄ１５１４、テクスチャ１  １５１８、テクスチャ２  １５２０、および／または材料性質１５２２）を備えることができる。完全３Ｄモデル１５００の１つの構成部分（例えば、テクスチャ１）が、分解プロセス１４００のステップ１４０２においてコピーされることができる。構成部分は、随意に、分解プロセス１４００のステップ１４０４において圧縮されることができる。構成部分は、分解プロセス１４００のステップ１４０６においてパッケージ化されることができる。構成部分は、（例えば、ライブラリ１６００の例示的セット内に）分解プロセス１４００のステップ１４０８において記憶されることができる。ステップ１４０２、１４０４、１４０６、および１４０８は、完全３Ｄモデル１５００の全ての構成部分が（例えば、ライブラリ１６００のセット内に）記憶されるまで、完全３Ｄモデル１５００の構成部分毎に繰り返されることができる。
（３Ｄモデル共有アプリケーションにおけるライブラリの実施例）
【０１７７】
図１６は、本明細書に説明されるシステムおよび方法を使用して、３Ｄモデルの構成部分を記憶するために３Ｄモデル共有アプリケーションで利用される、ライブラリ１６００の例示的セットを図示する。ライブラリ１６００のセットは、３Ｄモデル構成部分を記憶および編成するために、１つ以上のライブラリを備えてもよい。いくつかの実施形態では、３つのライブラリ、すなわち、メッシュライブラリ１６０２、材料ライブラリ１６０４、およびテクスチャライブラリ１６０６が存在し得る。メッシュライブラリ１６０２は、３Ｄモデルメッシュを説明する、アレイの形態の構成部分のセットを含有してもよい。メッシュライブラリ内に記憶され得る例示的アレイは、頂点バッファアレイ１６０８、法線バッファアレイ１６１０、ＵＶバッファアレイ１６１２、および／または三角形アレイ１６１４である。メッシュライブラリはまた、随意に、材料「名称」１６１６、ビットマップテクスチャ１「名称」１６１８、およびビットマップテクスチャ２「名称」１６２０等の１つ以上の文字列値を含有してもよい。これらの文字列値１６１６、１６１８、１６２０は、材料ライブラリ１６０４およびテクスチャライブラリ１６０６等の他のライブラリを参照し得る。いくつかの実施形態では、完全３Ｄモデルは、データの全てがメッシュライブラリ１６０２からプルまたは参照されるときに表されてもよい。いくつかの実施形態では、「名称」のための完全３Ｄモデルが、データの全てが記録または単一の３Ｄモデル「名称」に対応するライブラリ１６０２、１６０４、１６０６の全てからプルまたは参照されるときに表されてもよい。
【０１７８】
材料ライブラリ１６０４は、３Ｄモデルのための材料の性質および性質関連値を表す、データを含有してもよい。いくつかの実施形態では、テクスチャライブラリ１６０６は、１つ以上のテクスチャ１６２２、１６２４を含有してもよい。いくつかの実施形態では、テクスチャライブラリ１６０６は、１つ以上のビットマップを含有してもよい。いくつかの実施形態では、テクスチャライブラリ１６０６は、１つ以上のＵＶマップ、ＵＶ座標、または他のＵＶ空間データを含有してもよい。
【０１７９】
３Ｄ共有アプリケーションのライブラリ１６００に含有されるデータの全てが、完全なレンダリング可能３Ｄモデルを表すように組み合わせられてもよい。
（３Ｄモデルを再構成するための例示的プロセス）
【０１８０】
図１７は、本明細書に説明されるシステムおよび方法を使用して、その構成部分から完全３Ｄモデルを再構成するための例示的プロセス１７００を図示する。いくつかの実施形態では、本プロセスは、プロセス１２００におけるステップ１２２０であってもよい。いくつかの実施形態では、プロセス１７００は、プロセス１０００におけるステップ１００９であってもよい。いくつかの実施形態では、プロセス１７００は、再構成モジュール１１０４内で生じてもよい。いくつかの実施形態では、プロセス１７００は、ライブラリマネージャモジュール１３１０内で生じてもよい。
【０１８１】
プロセス１７００は、時として、空のゲームオブジェクトと呼ばれることもある、空のオブジェクトを作成することによって、ステップ１７０２から開始し得る。いくつかの実施形態では、空のゲームオブジェクトは、参照座標系を伴う空間内の空の容積を備えてもよい。いくつかの実施形態では、空のオブジェクトは、本質的に、空間内に存在する変換、すなわち、位置および配向である。いくつかの実施形態では、空のオブジェクトは、空の角柱である。いくつかの実施形態では、空のオブジェクトは、図１５の１５０２に対応し得る。
【０１８２】
空のオブジェクトが作成された１７０２後、新しいメッシュ１７０４および新しいメッシュレンダラ１７０８が、空のゲームオブジェクトに追加されてもよい。いくつかの実施形態では、新しいメッシュ１７０４を追加するステップは、図１５のメッシュ１５０４に対応し得、新しいメッシュレンダラ１７０８を追加するステップは、図１５のメッシュレンダラ１５０６に対応し得る。
【０１８３】
プロセス１７００は、空のメッシュバッファが、メッシュデータに対応する３Ｄモデル構成部分で充填され得、空のメッシュレンダラバッファが、メッシュレンダリングデータに対応する３Ｄモデル構成部分で充填され得る、ステップ１７０６および１７１０に進んでもよい。いくつかの実施形態では、ステップ１７０６および／または１７１０が、圧縮されたデータを圧縮解除してもよい。いくつかの実施形態では、メッシュデータは、図１５からの構成部分１５０８、１５１０、１５１２、１５１４に対応し得る。いくつかの実施形態では、メッシュレンダリングデータは、構成部分１５１８、１５２０、１５２２に対応し得る。バッファは、単一の３Ｄモデルに対応する３Ｄモデルアプリケーションのライブラリからのデータで充填されてもよい。いくつかの実施形態では、空のメッシュバッファは、メッシュライブラリ１６０２からのデータで充填されてもよい１７０６。いくつかの実施形態では、空のメッシュレンダリングバッファは、材料ライブラリ１６０４およびテクスチャライブラリ１６０６からのデータで充填されてもよい１７１０。プロセス１７００は、単一の３Ｄモデル（すなわち、３Ｄモデル共有アプリケーションのライブラリ内の単一の記録）に対応するデータの全てが空のオブジェクトに追加されたときに、完了し得る。
【０１８４】
図１８は、本明細書に説明されるシステムおよび方法を使用する、例示的完全３Ｄモデル１８００を図示する。いくつかの実施形態では、完全３Ｄモデル１８００は、プロセス１７００の出力であってもよい。いくつかの実施形態では、完全３Ｄモデル１８００は、例示的完全３Ｄモデル１５００のより詳細なバージョンであり得、一般的構成コンポーネントＡは、頂点バッファ１８０８であり得、一般的構成コンポーネントＢは、法線バッファ１８１０であり得、一般的構成コンポーネントＣは、ＵＶバッファ１８１２であり得、一般的構成コンポーネントＤは、三角形インデックス１８１４であり得る。いくつかの実施形態では、三角形インデックス１８１４は、最後に充填される必要があり得る。
【０１８５】
いくつかの実施形態では、完全３Ｄモデル１８００は、そこから構成部分がコピーされる、プロセス１４００への入力であってもよい。いくつかの実施形態では、完全３Ｄモデル１８００は、世界オブジェクトとして世界モジュール１３２２および／または１３１２内に記憶されてもよい。いくつかの実施形態では、完全３Ｄモデル１８００は、プロセス１２００のステップ１２０４および／またはプロセス１０００のステップ１００１において、３Ｄモデル共有サーバアプリケーションにロードされる３Ｄモデルであってもよい。いくつかの実施形態では、完全３Ｄモデル１８００は、プロセス１２００のステップ１２２０および／またはプロセス１０００のステップ１００９から出力されてもよい。いくつかの実施形態では、完全３Ｄモデル１８００は、アセットモジュール１１０２および／または１１０８内に記憶されたアセットであってもよい。オブジェクト「名称」１８０２は、３ＤモデルがもはやＦＢＸファイル形式ではなくなっても、３Ｄモデル共有アプリケーションにロードされたオリジナルファイル名、例えば、ｃａｒ．ｆｂｘに合致し得る。
（３Ｄモデル共有の他の実施例）
【０１８６】
いくつかの実施形態では、３Ｄモデルが、ＭＲデバイス（例えば、ウェアラブルシステム２００）から生じることができる。ＭＲデバイスは、物理的オブジェクトについての情報を捕捉し、物理的オブジェクトの３Ｄモデルを生成し、３Ｄモデルを構成部分に分解し、構成部分をクライアントデバイスに送信することができ、クライアントデバイスは、構成部分に基づいて３Ｄモデルを生成することができる。例えば、オブジェクト認識装置７０８が、外向きに向いた結像システム４６４、ライダセンサ、深度センサ、ＲＧＢカメラ、赤外線カメラ、飛行時間カメラ、および／またはＭＲデバイス上の他のセンサから入力を受信することができる。本入力は、物理的オブジェクトに基づいて３Ｄモデルを生成するために、コンピュータビジョンアルゴリズムおよび／または機械学習訓練アルゴリズムで使用されることができる。アルゴリズムが、最初に、物理的オブジェクトを識別し、次いで、物理的オブジェクトと関連付けられる３Ｄモデルのライブラリに基づいて、３Ｄモデルを生成することによって、３Ｄモデルを生成することができる。いくつかの実施形態では、３Ｄモデルが、３Ｄモデルのライブラリ内の事前に定義された下位群に基づいて、下位群を組み立てることによって、物理的オブジェクトから生成されることができる。いくつかの実施形態では、３Ｄモデルが、ユーザによって定義される下位群に分解されることができる。いくつかの実施形態では、３Ｄモデルが、アルゴリズムで定義された下位群に分解されることができる。例えば、アルゴリズムが、頂点／部分／構造の集合を下位群として識別するために（例えば、手動で、半自動的に、および／または、例えば、機械学習を通して、自動的に）開発されている可能性がある。
【０１８７】
いくつかの実施形態では、アルゴリズムはまた、物理的オブジェクトから直接、３Ｄモデルを生成することもできる。例えば、アルゴリズムが、物理的オブジェクトの表面および頂点を識別し、物理的オブジェクトの観察された特性に基づいて、物理的オブジェクト全体の３Ｄモデルを生成することができる。いくつかの実施形態では、アルゴリズムが、物理的オブジェクトの位置特定された表面および頂点を識別し、位置特定された部分の３Ｄモデルを生成する、および／または下位群のライブラリに基づいて物理的オブジェクトの下位群を定義することができる。アルゴリズムが、下位群の関連付けに関するデータを記憶し、構成部分に基づいて完全な３Ｄモデルを形成することができる。
【０１８８】
本開示に説明される３Ｄモデル共有システムおよび方法は、ランタイムの間にレンダリング可能３Ｄモデルを１つのコンピューティングシステムから異なるコンピューティングシステムに移動させる方法の技術的問題の具体的解決策を提供することができる。これは、オフラインで新しいレンダリング可能３Ｄモデルのみをアプリケーションに追加する、既存の技術と比べた改良を提示することができる。
【０１８９】
３Ｄモデルが本明細書に議論されるが、本願に説明されるシステムおよび方法は、３Ｄモデル以外の他のデジタルアセットに適用され得ることも検討される。例えば、２Ｄモデルが、本明細書に説明されるシステムおよび方法を使用して、（例えば、輪郭およびテクスチャに）分解、転送、および再構築されることができる。いくつかの実施形態では、アニメーションが、本明細書に説明されるシステムおよび方法を使用して、（例えば、それぞれ、本明細書に説明されるようにさらに分解され得る、一連のメッシュに）分解、転送、および再構築されることができる。いくつかの実施形態では、３Ｄモデルが、（例えば、２Ｄ画面上に表示するように、または２Ｄマップを作成するように）２Ｄモデルに平坦化されることができる。
（他の考慮点）
【０１９０】
本明細書に説明される、および／または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、１つ以上の物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および／または電子ハードウェアによって実行される、コードモジュールにおいて具現化され、それによって完全または部分的に自動化され得る。例えば、コンピューティングシステムは、具体的コンピュータ命令とともにプログラムされた汎用コンピュータ（例えば、サーバ）または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされ得る、動的リンクライブラリ内にインストールされ得る、またはインタープリタ型プログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特有の回路によって実施され得る。
【０１９１】
さらに、本開示の機能性のある実装は、十分に数学的、コンピュータ的、または技術的に複雑であるため、（適切な特殊化された実行可能命令を利用する）特定用途向けハードウェアまたは１つ以上の物理的コンピューティングデバイスは、例えば、関与する計算の量または複雑性に起因して、または結果を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、アニメーションまたはビデオは、多くのフレームを含み、各フレームは、数百万のピクセルを有し得、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスクまたは用途を提供するようにビデオデータを処理する必要がある。
【０１９２】
コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、光学ディスク、揮発性または不揮発性記憶装置、同一物の組み合わせ、および／または同等物を含む、物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ可読媒体上に記憶され得る。本方法およびモジュール（またはデータ）はまた、無線ベースおよび有線／ケーブルベースの媒体を含む、種々のコンピュータ可読伝送媒体上で生成されたデータ信号として（例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として）伝送され得、種々の形態（例えば、単一または多重化アナログ信号の一部として、または複数の離散デジタルパケットまたはフレームとして）をとり得る。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的または別様に記憶され得る、またはコンピュータ可読伝送媒体を介して通信され得る。
【０１９３】
本明細書に説明される、および／または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、または機能性は、プロセスにおいて具体的機能（例えば、論理または算術）またはステップを実装するための１つ以上の実行可能命令を含む、コードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられる、再配列される、本明細書に提供される例証的実施例に追加される、そこから削除される、修正される、または別様にそこから変更されることができる。いくつかの実施形態では、付加的または異なるコンピューティングシステムまたはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスはまた、いずれの特定のシーケンスにも限定されず、それに関連するブロック、ステップ、または状態は、適切である他のシーケンスで、例えば、連続して、並行して、またはある他の様式で実施されることができる。タスクまたはイベントが、開示される例示的実施形態に追加される、またはそこから除去され得る。さらに、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証目的のためであり、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品においてともに統合される、または複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変形例が、可能である。
【０１９４】
本プロセス、方法、およびシステムは、ネットワーク（または分散）コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線または無線ネットワークまたは任意の他のタイプの通信ネットワークであり得る。
【０１９５】
本開示のシステムおよび方法は、それぞれ、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与しない、またはそのために要求されない。上記に説明される種々の特徴およびプロセスは、相互に独立して使用され得る、または種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される本開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。
【０１９６】
別個の実装の文脈において本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴もまた、複数の実装において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴がある組み合わせにおいて作用するものとして上記に説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの１つ以上の特徴は、いくつかの場合では、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。いかなる単一の特徴または特徴のグループも、あらゆる実施形態に必要または必須ではない。
【０１９７】
とりわけ、「〜できる（ｃａｎ）」、「〜し得る（ｃｏｕｌｄ）」、「〜し得る（ｍｉｇｈｔ）」、「〜し得る（ｍａｙ）」、「例えば（ｅ．ｇ．）」、および同等物等、本明細書で使用される条件文は、別様に具体的に記載されない限り、または使用されるような文脈内で別様に理解されない限り、概して、ある実施形態が、ある特徴、要素、および／またはステップを含む一方、他の実施形態がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、および／またはステップが、１つ以上の実施形態に対していかようにも要求されること、または１つ以上の実施形態が、著者の入力または促しの有無を問わず、これらの特徴、要素、および／またはステップが任意の特定の実施形態において含まれる、または実施されるべきかどうかを決定するための論理を必然的に含むことを合意することを意図されない。用語「〜を備える（ｃｏｍｐｒｉｓｉｎｇ）」、「〜を含む（ｉｎｃｌｕｄｉｎｇ）」、「〜を有する（ｈａｖｉｎｇ）」、および同等物は、同義語であり、非限定的方式で包括的に使用され、付加的要素、特徴、行為、動作等を除外しない。また、用語「または」は、その包括的意味において使用され（およびその排他的意味において使用されず）、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの１つ、いくつか、または全てを意味する。加えて、本願および添付される請求項で使用されるような冠詞「ａ」、「ａｎ」、および「ｔｈｅ」は、別様に規定されない限り、「１つ以上の」または「少なくとも１つ」を意味するように解釈されるべきである。
【０１９８】
本明細書で使用されるように、項目のリスト「〜のうちの少なくとも１つ」を指す語句は、単一の要素を含む、それらの項目の任意の組み合わせを指す。ある実施例として、「Ａ、Ｂ、またはＣのうちの少なくとも１つ」は、Ａ、Ｂ、Ｃ、ＡおよびＢ、ＡおよびＣ、ＢおよびＣ、およびＡ、Ｂ、およびＣを網羅することが意図される。語句「Ｘ、Ｙ、およびＺのうちの少なくとも１つ」等の接続文は、別様に具体的に記載されない限り、概して、項目、用語等が、Ｘ、Ｙ、またはＺのうちの少なくとも１つであり得ることを伝えるために使用されるような文脈で別様に理解される。したがって、そのような接続文は、概して、ある実施形態が、Ｘのうちの少なくとも１つ、Ｙのうちの少なくとも１つ、およびＺのうちの少なくとも１つがそれぞれ存在するように要求することを示唆することを意図されない。
【０１９９】
同様に、動作は、特定の順序で図面に描写され得るが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序で、または連続的順序で実施される、または全ての図示される動作が実施される必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で１つ以上の例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、１つ以上の付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。
（例示的実施形態）
【０２００】
１．方法であって、
【０２０１】
頭部搭載型デバイスのディスプレイを介して、仮想３次元モデルの第１のバージョンを表示するステップであって、仮想３次元モデルの第１のバージョンは、構成部分の第１のバージョンを備える、ステップと、
【０２０２】
ホストデバイスから仮想３次元モデルの第２のバージョンと関連付けられるデータを要求するステップであって、仮想３次元モデルの第２のバージョンは、構成部分の第２のバージョンを備える、ステップと、
【０２０３】
構成部分の第２のバージョンに基づいて、構成部分の第１のバージョンが更新を要求するかどうかを決定するステップと、
【０２０４】
構成部分の第２のバージョンに基づいて、構成部分の第１のバージョンが更新を要求するという決定に従って、
【０２０５】
ホストデバイスから構成部分の第２のバージョンと関連付けられるデータを要求するステップと、
【０２０６】
頭部搭載型デバイスのディスプレイを介して、仮想３次元モデルの第２のバージョンを表示するステップと、
【０２０７】
構成部分の第２のバージョンに基づいて、構成部分の第１のバージョンが更新を要求しないという決定に従って、
【０２０８】
ホストデバイスから構成部分の第２のバージョンと関連付けられるデータを要求することを控えるステップと、
を含む、方法。
【０２０９】
２．構成部分は、メッシュデータを備える、実施形態１に記載の方法。
【０２１０】
３．構成部分は、テクスチャデータを備える、実施形態１に記載の方法。
【０２１１】
４．ホストデバイスは、サーバである、実施形態１に記載の方法。
【０２１２】
５．頭部搭載型デバイスは、第１の頭部搭載型デバイスであり、ホストデバイスは、第２の頭部搭載型デバイスである、実施形態１に記載の方法。
【０２１３】
６．方法はさらに、メモリ内に構成部分の第２のバージョンと関連付けられるデータを記憶するステップを含む、実施形態１に記載の方法。
【０２１４】
７．方法はさらに、構成部分の第２のバージョンと関連付けられるデータを展開するステップを含む、実施形態１に記載の方法。
【０２１５】
８．システムであって、
【０２１６】
ディスプレイを備える、頭部搭載型デバイスと、
【０２１７】
１つ以上のプロセッサであって、
【０２１８】
ディスプレイを介して、仮想３次元モデルの第１のバージョンを表示するステップであって、仮想３次元モデルの第１のバージョンは、構成部分の第１のバージョンを備える、ステップと、
【０２１９】
ホストデバイスから仮想３次元モデルの第２のバージョンと関連付けられるデータを要求するステップであって、仮想３次元モデルの第２のバージョンは、構成部分の第２のバージョンを備える、ステップと、
【０２２０】
構成部分の第２のバージョンに基づいて、構成部分の第１のバージョンが更新を要求するかどうかを決定するステップと、
【０２２１】
構成部分の第２のバージョンに基づいて、構成部分の第１のバージョンが更新を要求するという決定に従って、
【０２２２】
ホストデバイスから構成部分の第２のバージョンと関連付けられるデータを要求するステップと、
【０２２３】
ディスプレイを介して、仮想３次元モデルの第２のバージョンを表示するステップと、
【０２２４】
構成部分の第２のバージョンに基づいて、構成部分の第１のバージョンが更新を要求しないという決定に従って、
【０２２５】
ホストデバイスから構成部分の第２のバージョンと関連付けられるデータを要求することを控えるステップと、
を含む、方法を実行するように構成される、１つ以上のプロセッサと、
を備える、システム。
【０２２６】
９．構成部分は、メッシュデータを備える、実施形態８に記載のシステム。
【０２２７】
１０．構成部分は、テクスチャデータを備える、実施形態８に記載のシステム。
【０２２８】
１１．ホストデバイスは、サーバである、実施形態８に記載のシステム。
【０２２９】
１２．頭部搭載型デバイスは、第１の頭部搭載型デバイスであり、ホストデバイスは、第２の頭部搭載型デバイスである、実施形態８に記載のシステム。
【０２３０】
１３．方法はさらに、メモリ内に構成部分の第２のバージョンと関連付けられるデータを記憶するステップを含む、実施形態８に記載のシステム。
【０２３１】
１４．方法はさらに、構成部分の第２のバージョンと関連付けられるデータを展開するステップを含む、実施形態８に記載のシステム。
【０２３２】
１５．非一過性のコンピュータ可読媒体であって、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに、
【０２３３】
頭部搭載型デバイスのディスプレイを介して、仮想３次元モデルの第１のバージョンを表示するステップであって、仮想３次元モデルの第１のバージョンは、構成部分の第１のバージョンを備える、ステップと、
【０２３４】
ホストデバイスから仮想３次元モデルの第２のバージョンと関連付けられるデータを要求するステップであって、仮想３次元モデルの第２のバージョンは、構成部分の第２のバージョンを備える、ステップと、
【０２３５】
構成部分の第２のバージョンに基づいて、構成部分の第１のバージョンが更新を要求するかどうかを決定するステップと、
【０２３６】
構成部分の第２のバージョンに基づいて、構成部分の第１のバージョンが更新を要求するという決定に従って、
【０２３７】
ホストデバイスから構成部分の第２のバージョンと関連付けられるデータを要求するステップと、
【０２３８】
頭部搭載型デバイスのディスプレイを介して、仮想３次元モデルの第２のバージョンを表示するステップと、
【０２３９】
構成部分の第２のバージョンに基づいて、構成部分の第１のバージョンが更新を要求しないという決定に従って、
【０２４０】
ホストデバイスから構成部分の第２のバージョンと関連付けられるデータを要求することを控えるステップと、
を含む、方法を実行させる命令を記憶する、非一過性のコンピュータ可読媒体。
【０２４１】
１６．構成部分は、メッシュデータを備える、実施形態１５に記載の非一過性のコンピュータ可読媒体。
【０２４２】
１７．構成部分は、テクスチャデータを備える、実施形態１５に記載の非一過性のコンピュータ可読媒体。
【０２４３】
１８．ホストデバイスは、サーバである、実施形態１５に記載の非一過性のコンピュータ可読媒体。
【０２４４】
１９．頭部搭載型デバイスは、第１の頭部搭載型デバイスであり、ホストデバイスは、第２の頭部搭載型デバイスである、実施形態１５に記載の非一過性のコンピュータ可読媒体。
【０２４５】
２０．方法はさらに、メモリ内に構成部分の第２のバージョンと関連付けられるデータを記憶するステップを含む、実施形態１５に記載の非一過性のコンピュータ可読媒体。
【０２４６】
２１．方法はさらに、構成部分の第２のバージョンと関連付けられるデータを展開するステップを含む、実施形態１５に記載の非一過性のコンピュータ可読媒体。
【０２４７】
２２．方法であって、
【０２４８】
メモリ内に記憶された仮想３次元モデルにアクセスするステップと、
【０２４９】
仮想３次元モデルの１つ以上の構成部分を決定するステップと、
【０２５０】
１つ以上のアレイ内に１つ以上の構成部分を記憶するステップであって、１つ以上の構成部分は、仮想３次元モデルと別個に記憶される、ステップと、
【０２５１】
頭部搭載型デバイスから接続要求を受信するステップと、
【０２５２】
利用可能な構成部分のリストを頭部搭載型デバイスに送信するステップと、
【０２５３】
頭部搭載型デバイスから構成部分要求を受信するステップと、
【０２５４】
構成部分要求に基づいて、要求された構成部分を頭部搭載型デバイスに送信するステップと、
を含む、方法。
【０２５５】
２３．構成部分は、メッシュデータを備える、実施形態２２に記載の方法。
【０２５６】
２４．構成部分は、テクスチャデータを備える、実施形態２２に記載の方法。
【０２５７】
２５．方法はさらに、１つ以上の構成部分を圧縮するステップを含む、実施形態２２に記載の方法。
【０２５８】
２６．仮想３次元モデルは、第１の仮想３次元モデルであり、方法はさらに、要求された構成部分に基づいて、仮想３次元モデルのコピーを生成するステップを含む、実施形態２２に記載の方法。
【０２５９】
２７．方法はさらに、頭部搭載型デバイスのディスプレイを介して、要求された構成部分を表示するステップを含む、実施形態２２に記載の方法。
【０２６０】
２８．方法はさらに、
【０２６１】
新しい仮想３次元モデルのためのプレースホルダを作成するステップと、
【０２６２】
要求された構成部分に基づいて、新しい仮想３次元モデルのためのプレースホルダを更新するステップと、
を含む、実施形態２２に記載の方法。
【０２６３】
２９．システムであって、
【０２６４】
頭部搭載型デバイスと、
【０２６５】
１つ以上のプロセッサであって、
【０２６６】
メモリ内に記憶された仮想３次元モデルにアクセスするステップと、
【０２６７】
仮想３次元モデルの１つ以上の構成部分を決定するステップと、
【０２６８】
１つ以上のアレイ内に１つ以上の構成部分を記憶するステップであって、１つ以上の構成部分は、仮想３次元モデルと別個に記憶される、ステップと、
【０２６９】
頭部搭載型デバイスから接続要求を受信するステップと、
【０２７０】
利用可能な構成部分のリストを頭部搭載型デバイスに送信するステップと、
【０２７１】
頭部搭載型デバイスから構成部分要求を受信するステップと、
【０２７２】
構成部分要求に基づいて、要求された構成部分を頭部搭載型デバイスに送信するステップと、
を含む、方法を実行するように構成される、１つ以上のプロセッサと、
を備える、システム。
【０２７３】
３０．構成部分は、メッシュデータを備える、実施形態２９に記載のシステム。
【０２７４】
３１．構成部分は、テクスチャデータを備える、実施形態２９に記載のシステム。
【０２７５】
３２．方法はさらに、１つ以上の構成部分を圧縮するステップを含む、実施形態２９に記載のシステム。
【０２７６】
３３．仮想３次元モデルは、第１の仮想３次元モデルであり、方法はさらに、要求された構成部分に基づいて、仮想３次元モデルのコピーを生成するステップを含む、実施形態２９に記載のシステム。
【０２７７】
３４．方法はさらに、頭部搭載型デバイスのディスプレイを介して、要求された構成部分を表示するステップを含む、実施形態２９に記載のシステム。
【０２７８】
３５．方法はさらに、
【０２７９】
新しい仮想３次元モデルのためのプレースホルダを作成するステップと、
【０２８０】
要求された構成部分に基づいて、新しい仮想３次元モデルのためのプレースホルダを更新するステップと、
を含む、実施形態２９に記載のシステム。
【０２８１】
３６．非一過性のコンピュータ可読媒体であって、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに、
【０２８２】
メモリ内に記憶された仮想３次元モデルにアクセスするステップと、
【０２８３】
仮想３次元モデルの１つ以上の構成部分を決定するステップと、
【０２８４】
１つ以上のアレイ内に１つ以上の構成部分を記憶するステップであって、１つ以上の構成部分は、仮想３次元モデルと別個に記憶される、ステップと、
【０２８５】
頭部搭載型デバイスから接続要求を受信するステップと、
【０２８６】
利用可能な構成部分のリストを頭部搭載型デバイスに送信するステップと、
【０２８７】
頭部搭載型デバイスから構成部分要求を受信するステップと、
【０２８８】
構成部分要求に基づいて、要求された構成部分を頭部搭載型デバイスに送信するステップと、
を含む、方法を実行させる命令を記憶する、非一過性のコンピュータ可読媒体。
【０２８９】
３７．構成部分は、メッシュデータを備える、実施形態３６に記載の非一過性のコンピュータ可読媒体。
【０２９０】
３８．構成部分は、テクスチャデータを備える、実施形態３６に記載の非一過性のコンピュータ可読媒体。
【０２９１】
３９．方法はさらに、１つ以上の構成部分を圧縮するステップを含む、実施形態３６に記載の非一過性のコンピュータ可読媒体。
【０２９２】
４０．仮想３次元モデルは、第１の仮想３次元モデルであり、方法はさらに、要求された構成部分に基づいて、仮想３次元モデルのコピーを生成するステップを含む、実施形態３６に記載の非一過性のコンピュータ可読媒体。
【０２９３】
４１．方法はさらに、頭部搭載型デバイスのディスプレイを介して、要求された構成部分を表示するステップを含む、実施形態３６に記載の非一過性のコンピュータ可読媒体。
【０２９４】
４２．方法はさらに、
【０２９５】
新しい仮想３次元モデルのためのプレースホルダを作成するステップと、
【０２９６】
要求された構成部分に基づいて、新しい仮想３次元モデルのためのプレースホルダを更新するステップと、
を含む、実施形態３６に記載の非一過性のコンピュータ可読媒体。
【０２９７】
４３．システムであって、
【０２９８】
ホストコンピューティングシステムと、
【０２９９】
頭部搭載型ディスプレイシステムを備える、クライアントコンピューティングシステムと、
を備え、
【０３００】
ホストコンピューティングシステムは、
【０３０１】
メモリ内に記憶された仮想３次元モデルにアクセスするステップと、
【０３０２】
３次元モデルを１つ以上の構成部分に分解するステップと、
【０３０３】
１つ以上の構成部分のリストをクライアントコンピューティングシステムに送信するステップと、
【０３０４】
クライアントコンピューティングシステムから構成部分要求を受信するステップと、
【０３０５】
構成部分要求に対応する１つ以上の構成部分をクライアントコンピューティングシステムに送信するステップと、
を含む、方法を実行するように構成される、１つ以上のプロセッサを備え、
【０３０６】
クライアントコンピューティングシステムは、
【０３０７】
ホストコンピューティングシステムから１つ以上の構成部分のリストを受信するステップと、
【０３０８】
構成部分要求をホストコンピューティングシステムに送信するステップと、
【０３０９】
ホストコンピューティングシステムから構成部分要求に対応する構成部分のうちの１つ以上のものを受信するステップと、
【０３１０】
構成部分要求に対応する構成部分のうちの１つ以上のものから、仮想３次元モデルのコピーを構成するステップと、
を含む、方法を実行するように構成される、１つ以上のプロセッサを備える、
システム。
【０３１１】
４４．構成部分は、メッシュデータを備える、実施形態４３に記載のシステム。
【０３１２】
４５．構成部分は、テクスチャデータを備える、実施形態４３に記載のシステム。
【０３１３】
４６．ホストコンピューティングシステムは、サーバである、実施形態４３に記載のシステム。
【０３１４】
４７．ホストコンピューティングシステムは、頭部搭載型ディスプレイシステムを備える、実施形態４３に記載のシステム。
【０３１５】
４８．方法はさらに、メモリ内に１つ以上の構成部分を記憶するステップを含む、実施形態４３に記載のシステム。
【０３１６】
４９．方法はさらに、１つ以上の構成部分を展開するステップを含む、実施形態４３に記載のシステム。
【０３１７】
５０．方法であって、
【０３１８】
メモリ内に記憶された仮想３次元モデルにアクセスするステップと、
【０３１９】
３次元モデルを１つ以上の構成部分に分解するステップと、
【０３２０】
１つ以上の構成部分のリストを、頭部搭載型ディスプレイを備えるクライアントコンピューティングシステムに送信するステップと、
【０３２１】
クライアントコンピューティングシステムから構成部分要求を受信するステップと、
【０３２２】
構成部分要求に対応する１つ以上の構成部分をクライアントコンピューティングシステムに送信するステップと、
【０３２３】
ホストコンピューティングシステムから１つ以上の構成部分のリストを受信するステップと、
【０３２４】
構成部分要求をホストコンピューティングシステムに送信するステップと、
【０３２５】
ホストコンピューティングシステムから構成部分要求に対応する構成部分のうちの１つ以上のものを受信するステップと、
【０３２６】
構成部分要求に対応する構成部分のうちの１つ以上のものから、仮想３次元モデルのコピーを構成するステップと、
を含む、方法。
【０３２７】
５１．構成部分は、メッシュデータを備える、実施形態５０に記載の方法。
【０３２８】
５２．構成部分は、テクスチャデータを備える、実施形態５０に記載の方法。
【０３２９】
５３．ホストコンピューティングシステムは、サーバである、実施形態５０に記載の方法。
【０３３０】
５４．ホストコンピューティングシステムは、頭部搭載型ディスプレイシステムを備える、実施形態５０に記載の方法。
【０３３１】
５５．方法はさらに、メモリ内に１つ以上の構成部分を記憶するステップを含む、実施形態５０に記載の方法。
【０３３２】
５６．方法はさらに、１つ以上の構成部分を展開するステップを含む、実施形態５０に記載の方法。
【０３３３】
５７．非一過性のコンピュータ可読媒体であって、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに、
【０３３４】
メモリ内に記憶された仮想３次元モデルにアクセスするステップと、
【０３３５】
３次元モデルを１つ以上の構成部分に分解するステップと、
【０３３６】
１つ以上の構成部分のリストを、頭部搭載型ディスプレイを備えるクライアントコンピューティングシステムに送信するステップと、
【０３３７】
クライアントコンピューティングシステムから構成部分要求を受信するステップと、
【０３３８】
構成部分要求に対応する１つ以上の構成部分をクライアントコンピューティングシステムに送信するステップと、
【０３３９】
ホストコンピューティングシステムから１つ以上の構成部分のリストを受信するステップと、
【０３４０】
構成部分要求をホストコンピューティングシステムに送信するステップと、
【０３４１】
ホストコンピューティングシステムから構成部分要求に対応する構成部分のうちの１つ以上のものを受信するステップと、
【０３４２】
構成部分要求に対応する構成部分のうちの１つ以上のものから、仮想３次元モデルのコピーを構成するステップと、
を含む、方法を実施させる、１つ以上の命令を記憶する、非一過性のコンピュータ可読媒体。
【０３４３】
５８．構成部分は、メッシュデータを備える、実施形態５７に記載の非一過性のコンピュータ可読媒体。
【０３４４】
５９．構成部分は、テクスチャデータを備える、実施形態５７に記載の非一過性のコンピュータ可読媒体。
【０３４５】
６０．ホストコンピューティングシステムは、サーバである、実施形態５７に記載の非一過性のコンピュータ可読媒体。
【０３４６】
６１．ホストコンピューティングシステムは、頭部搭載型ディスプレイシステムを備える、実施形態５７に記載の非一過性のコンピュータ可読媒体。
【０３４７】
６２．方法はさらに、メモリ内に１つ以上の構成部分を記憶するステップを含む、実施形態５７に記載の非一過性のコンピュータ可読媒体。
【０３４８】
６３．方法はさらに、１つ以上の構成部分を展開するステップを含む、実施形態５７に記載の非一過性のコンピュータ可読媒体。
【０３４９】
６４．システムであって、
【０３５０】
ホストコンピューティングシステムであって、ホストコンピューティングシステムは、
【０３５１】
ホストアセットモジュールを介して、第１の仮想３次元モデルにアクセスするステップと、
【０３５２】
分解モジュールを介して、１つ以上の構成部分を識別するステップと、
【０３５３】
分解モジュールを介して、１つ以上の構成部分をライブラリにコピーするステップと、
【０３５４】
ホスト伝送モジュールを介して、１つ以上の構成部分にアクセスするステップと、
【０３５５】
ホスト伝送モジュールを介して、１つ以上の構成部分をクライアントコンピューティングシステムに送信するステップと、
を含む、方法を実行するように構成される、１つ以上のプロセッサを備える、ホストコンピューティングシステムと、
【０３５６】
クライアントコンピューティングシステムであって、クライアントコンピューティングシステムは、頭部搭載型ディスプレイシステムを備え、クライアントコンピューティングシステムは、
【０３５７】
クライアント伝送モジュールを介して、ホストコンピューティングシステムから１つ以上の構成部分を受信するステップと、
【０３５８】
構成モジュールを介して、空のオブジェクトを作成するステップと、
【０３５９】
構成モジュールを介して、１つ以上のデータタイプを空のオブジェクトに追加するステップと、
【０３６０】
構成モジュールを介して、１つ以上の構成部分を空のオブジェクトに追加するステップと、
【０３６１】
クライアントアセットモジュールを介して、仮想３次元モデルのコピーを記憶するステップと、
を含む、方法を実行するように構成される、１つ以上のプロセッサを備える、クライアントコンピューティングシステムと、
を備え、
【０３６２】
ホストコンピューティングシステムおよびクライアントコンピューティングシステムは、通信リンクを介して通信可能に接続される、
システム。
【０３６３】
６５．構成部分は、メッシュデータを備える、実施形態６４に記載のシステム。
【０３６４】
６６．構成部分は、テクスチャデータを備える、実施形態６４に記載のシステム。
【０３６５】
６７．ホストコンピューティングシステムは、サーバである、実施形態６４に記載のシステム。
【０３６６】
６８．ホストコンピューティングシステムは、頭部搭載型ディスプレイシステムを備える、実施形態６４に記載のシステム。
【０３６７】
６９．方法はさらに、メモリ内に１つ以上の構成部分を記憶するステップを含む、実施形態６４に記載のシステム。
【０３６８】
７０．方法はさらに、１つ以上の構成部分を展開するステップを含む、実施形態６４に記載のシステム。
【０３６９】
７１．方法であって、
【０３７０】
ホストコンピューティングシステムにおけるステップであって、ホストコンピューティングシステムは、
【０３７１】
ホストアセットモジュールを介して、第１の仮想３次元モデルにアクセスするステップと、
【０３７２】
分解モジュールを介して、１つ以上の構成部分を識別するステップと、
【０３７３】
分解モジュールを介して、１つ以上の構成部分をライブラリにコピーするステップと、
【０３７４】
ホスト伝送モジュールを介して、１つ以上の構成部分にアクセスするステップと、
【０３７５】
ホスト伝送モジュールを介して、１つ以上の構成部分をクライアントコンピューティングシステムに送信するステップと、
を含む、方法を実行するように構成される、１つ以上のプロセッサを備える、ステップと、
【０３７６】
クライアントコンピューティングシステムにおけるステップであって、クライアントコンピューティングシステムは、頭部搭載型ディスプレイシステムを備え、クライアントコンピューティングシステムは、
【０３７７】
クライアント伝送モジュールを介して、ホストコンピューティングシステムから１つ以上の構成部分を受信するステップと、
【０３７８】
構成モジュールを介して、空のオブジェクトを作成するステップと、
【０３７９】
構成モジュールを介して、１つ以上のデータタイプを空のオブジェクトに追加するステップと、
【０３８０】
構成モジュールを介して、１つ以上の構成部分を空のオブジェクトに追加するステップと、
【０３８１】
クライアントアセットモジュールを介して、仮想３次元モデルのコピーを記憶するステップと、
を含む、方法を実行するように構成される、１つ以上のプロセッサを備える、ステップと、
を含み、
【０３８２】
ホストコンピューティングシステムおよびクライアントコンピューティングシステムは、通信リンクを介して通信可能に接続される、
方法。
【０３８３】
７２．構成部分は、メッシュデータを備える、実施形態７１に記載の方法。
【０３８４】
７３．構成部分は、テクスチャデータを備える、実施形態７１に記載の方法。
【０３８５】
７４．ホストコンピューティングシステムは、サーバである、実施形態７１に記載の方法。
【０３８６】
７５．ホストコンピューティングシステムは、頭部搭載型ディスプレイシステムを備える、実施形態７１に記載の方法。
【０３８７】
７６．方法はさらに、メモリ内に１つ以上の構成部分を記憶するステップを含む、実施形態７１に記載の方法。
【０３８８】
７７．方法はさらに、１つ以上の構成部分を展開するステップを含む、実施形態７１に記載の方法。
【０３８９】
７８．非一過性のコンピュータ可読媒体であって、１つ以上のプロセッサによって実行されると、プロセッサに、
【０３９０】
ホストコンピューティングシステムにおいて、
【０３９１】
ホストアセットモジュールを介して、第１の仮想３次元モデルにアクセスするステップと、
【０３９２】
分解モジュールを介して、１つ以上の構成部分を識別するステップと、
【０３９３】
分解モジュールを介して、１つ以上の構成部分をライブラリにコピーするステップと、
【０３９４】
ホスト伝送モジュールを介して、１つ以上の構成部分にアクセスするステップと、
【０３９５】
ホスト伝送モジュールを介して、１つ以上の構成部分をクライアントコンピューティングシステムに送信するステップと、
【０３９６】
クライアントコンピューティングシステムであって、クライアントコンピューティングシステムは、頭部搭載型ディスプレイシステムを備える、クライアントコンピューティングシステムにおいて、
【０３９７】
クライアント伝送モジュールを介して、ホストコンピューティングシステムから１つ以上の構成部分を受信するステップと、
【０３９８】
構成モジュールを介して、空のオブジェクトを作成するステップと、
【０３９９】
構成モジュールを介して、１つ以上のデータタイプを空のオブジェクトに追加するステップと、
【０４００】
構成モジュールを介して、１つ以上の構成部分を空のオブジェクトに追加するステップと、
【０４０１】
クライアントアセットモジュールを介して、仮想３次元モデルのコピーを記憶するステップと、
【０４０２】
を含む、方法を実施させる、１つ以上の命令を記憶し、ホストコンピューティングシステムおよびクライアントコンピューティングシステムは、通信リンクを介して通信可能に接続される、
非一過性のコンピュータ可読媒体。
【０４０３】
７９．構成部分は、メッシュデータを備える、実施形態７８に記載の非一過性のコンピュータ可読媒体。
【０４０４】
８０．構成部分は、テクスチャデータを備える、実施形態７８に記載の非一過性のコンピュータ可読媒体。
【０４０５】
８１．ホストコンピューティングシステムは、サーバである、実施形態７８に記載の非一過性のコンピュータ可読媒体。
【０４０６】
８２．ホストコンピューティングシステムは、頭部搭載型ディスプレイシステムを備える、実施形態７８に記載の非一過性のコンピュータ可読媒体。
【０４０７】
８３．方法はさらに、メモリ内に１つ以上の構成部分を記憶するステップを含む、実施形態７８に記載の非一過性のコンピュータ可読媒体。
【０４０８】
８４．方法はさらに、１つ以上の構成部分を展開するステップを含む、実施形態７８に記載の非一過性のコンピュータ可読媒体。
【０４０９】
８５．システムであって、
【０４１０】
ホストコンピューティングシステムであって、
【０４１１】
ロードモジュールを介して、第１の仮想３次元モデルにアクセスするステップと、
【０４１２】
ホストライブラリマネージャモジュールを介して、１つ以上の構成部分を識別するステップと、
【０４１３】
ホストライブラリマネージャモジュールを介して、１つ以上の構成部分をライブラリにコピーするステップと、
【０４１４】
ホスト世界モジュールを介して、第１の仮想３次元モデルを記憶するステップと、
【０４１５】
ホストレンダリングパスモジュールを介して、第１の仮想３次元モデルをレンダリングするステップと、
【０４１６】
サーバモジュールを介して、１つ以上の構成部分にアクセスするステップと、
【０４１７】
サーバモジュールを介して、１つ以上の構成部分をクライアントコンピューティングシステムに送信するステップと、
を含む、方法を実行するように構成される、１つ以上のプロセッサを備える、ホストコンピューティングシステムと、
【０４１８】
クライアントコンピューティングシステムであって、クライアントコンピューティングシステムは、頭部搭載型ディスプレイシステムを備え、クライアントコンピューティングシステムは、
【０４１９】
クライアントモジュールを介して、ホストコンピューティングシステムから１つ以上の構成部分を受信するステップと、
【０４２０】
仮想３次元モデルのコピーを生成するステップであって、仮想３次元モデルを生成するステップは、
【０４２１】
クライアントライブラリマネージャモジュールを介して、空のオブジェクトを作成するステップと、
【０４２２】
クライアントライブラリマネージャモジュールを介して、１つ以上の構成部分を空のオブジェクトに追加するステップとを含む、
ステップと、
【０４２３】
クライアント世界モジュールを介して、仮想３次元モデルのコピーを記憶するステップと、
【０４２４】
クライアントレンダリングパスモジュールを介して、仮想３次元モデルのコピーをレンダリングするステップと、
を含む、方法を実行するように構成される、１つ以上のプロセッサを備える、クライアントコンピューティングシステムと、
【０４２５】
を備え、ホストコンピューティングシステムおよびクライアントコンピューティングシステムは、通信リンクを介して通信可能に接続される、
システム。
【０４２６】
８６．構成部分は、メッシュデータを備える、実施形態８５に記載のシステム。
【０４２７】
８７．構成部分は、テクスチャデータを備える、実施形態８５に記載のシステム。
【０４２８】
８８．ホストコンピューティングシステムは、サーバである、実施形態８５に記載のシステム。
【０４２９】
８９．ホストコンピューティングシステムは、頭部搭載型ディスプレイシステムを備える、実施形態８５に記載のシステム。
【０４３０】
９０．方法はさらに、メモリ内に１つ以上の構成部分を記憶するステップを含む、実施形態８５に記載のシステム。
【０４３１】
９１．方法はさらに、１つ以上の構成部分を展開するステップを含む、実施形態８５に記載のシステム。
【０４３２】
９２．方法であって、
【０４３３】
ホストコンピューティングシステムにおいて、
【０４３４】
ロードモジュールを介して、第１の仮想３次元モデルにアクセスするステップと、
【０４３５】
ホストライブラリマネージャモジュールを介して、１つ以上の構成部分を識別するステップと、
【０４３６】
ホストライブラリマネージャモジュールを介して、１つ以上の構成部分をライブラリにコピーするステップと、
【０４３７】
ホスト世界モジュールを介して、第１の仮想３次元モデルを記憶するステップと、
【０４３８】
ホストレンダリングパスモジュールを介して、第１の仮想３次元モデルをレンダリングするステップと、
【０４３９】
サーバモジュールを介して、１つ以上の構成部分にアクセスするステップと、
【０４４０】
サーバモジュールを介して、１つ以上の構成部分をクライアントコンピューティングシステムに送信するステップと、
【０４４１】
クライアントコンピューティングシステムであって、クライアントコンピューティングシステムは、頭部搭載型ディスプレイシステムを備える、クライアントコンピューティングシステムにおいて、
【０４４２】
クライアントモジュールを介して、ホストコンピューティングシステムから１つ以上の構成部分を受信するステップと、
【０４４３】
仮想３次元モデルのコピーを生成するステップであって、仮想３次元モデルのコピーを生成するステップは、
【０４４４】
クライアントライブラリマネージャモジュールを介して、空のオブジェクトを作成するステップと、
【０４４５】
クライアントライブラリマネージャモジュールを介して、１つ以上の構成部分を空のオブジェクトに追加するステップとを含む、
ステップと、
【０４４６】
クライアント世界モジュールを介して、仮想３次元モデルのコピーを記憶するステップと、
【０４４７】
クライアントレンダリングパスモジュールを介して、仮想３次元モデルのコピーをレンダリングするステップと、
【０４４８】
を含み、ホストコンピューティングシステムおよびクライアントコンピューティングシステムは、通信リンクを介して通信可能に接続される、
方法。
【０４４９】
９３．構成部分は、メッシュデータを備える、実施形態９２に記載の方法。
【０４５０】
９４．構成部分は、テクスチャデータを備える、実施形態９２に記載の方法。
【０４５１】
９５．ホストコンピューティングシステムは、サーバである、実施形態９２に記載の方法。
【０４５２】
９６．ホストコンピューティングシステムは、頭部搭載型ディスプレイシステムを備える、実施形態９２に記載の方法。
【０４５３】
９７．方法はさらに、メモリ内に１つ以上の構成部分を記憶するステップを含む、実施形態９２に記載の方法。
【０４５４】
９８．方法はさらに、１つ以上の構成部分を展開するステップを含む、実施形態９２に記載の方法。
【０４５５】
９９．１つ以上のプロセッサによって実行されると、プロセッサに方法を実施させる、１つ以上の命令を記憶する、非一過性のコンピュータ可読媒体であって、
【０４５６】
ホストコンピューティングシステムであって、ホストコンピューティングシステムは、
【０４５７】
ロードモジュールを介して、第１の仮想３次元モデルにアクセスするステップと、
【０４５８】
ホストライブラリマネージャモジュールを介して、１つ以上の構成部分を識別するステップと、
【０４５９】
ホストライブラリマネージャモジュールを介して、１つ以上の構成部分をライブラリにコピーするステップと、
【０４６０】
ホスト世界モジュールを介して、第１の仮想３次元モデルを記憶するステップと、
【０４６１】
ホストレンダリングパスモジュールを介して、第１の仮想３次元モデルをレンダリングするステップと、
【０４６２】
サーバモジュールを介して、１つ以上の構成部分にアクセスするステップと、
【０４６３】
サーバモジュールを介して、１つ以上の構成部分をクライアントコンピューティングシステムに送信するステップと、
を含む、方法を実行するように構成される、１つ以上のプロセッサを備える、ホストコンピューティングシステムと、
【０４６４】
クライアントコンピューティングシステムであって、クライアントコンピューティングシステムは、頭部搭載型ディスプレイシステムを備え、クライアントコンピューティングシステムは、
【０４６５】
クライアントモジュールを介して、ホストコンピューティングシステムから１つ以上の構成部分を受信するステップと、
【０４６６】
仮想３次元モデルのコピーを生成するステップであって、仮想３次元モデルのコピーを生成するステップは、
【０４６７】
クライアントライブラリマネージャモジュールを介して、空のオブジェクトを作成するステップと、
【０４６８】
クライアントライブラリマネージャモジュールを介して、１つ以上の構成部分を空のオブジェクトに追加するステップとを含む、
ステップと、
【０４６９】
クライアント世界モジュールを介して、仮想３次元モデルのコピーを記憶するステップと、
【０４７０】
クライアントレンダリングパスモジュールを介して、仮想３次元モデルのコピーをレンダリングするステップと、
【０４７１】
を含む、方法を実行するように構成される、１つ以上のプロセッサを備える、クライアントコンピュータと、
を備え、
ホストコンピューティングシステムおよびクライアントコンピューティングシステムは、通信リンクを介して通信可能に接続される、
非一過性のコンピュータ可読媒体。
【０４７２】
１００．構成部分は、メッシュデータを備える、実施形態９９に記載の非一過性のコンピュータ可読媒体。
【０４７３】
１０１．構成部分は、テクスチャデータを備える、実施形態９９に記載の非一過性のコンピュータ可読媒体。
【０４７４】
１０３．ホストコンピューティングシステムは、サーバである、実施形態９９に記載の非一過性のコンピュータ可読媒体。
【０４７５】
１０４．ホストコンピューティングシステムは、頭部搭載型ディスプレイシステムを備える、実施形態９９に記載の非一過性のコンピュータ可読媒体。
【０４７６】
１０５．方法はさらに、メモリ内に１つ以上の構成部分を記憶するステップを含む、実施形態９９に記載の非一過性のコンピュータ可読媒体。
【０４７７】
１０６．方法はさらに、１つ以上の構成部分を展開するステップを含む、実施形態９９に記載の非一過性のコンピュータ可読媒体。
【０４７８】
１０７．システムであって、
【０４７９】
１つ以上の構成部分を備える、３次元モデルを記憶する、非一過性のコンピュータ可読メモリと、
【０４８０】
ホストコンピューティングシステムであって、非一過性のコンピュータ可読メモリから３次元モデルにアクセスするように構成され、さらに、
【０４８１】
非一過性のコンピュータ可読メモリ内に記憶されたアレイの中に３次元モデルの１つ以上の構成部分のうちの１つを記憶するステップと、
【０４８２】
ホストコンピューティングシステムのライブラリ内のパッケージの中にアレイをパッケージ化するステップと、
を含む、方法を実行するように構成される、１つ以上のプロセッサを備える、ホストコンピューティングシステムと、
を備える、システム。
【０４８３】
１０８．構成部分は、メッシュデータを備える、実施形態１０７に記載のシステム。
【０４８４】
１０９．構成部分は、テクスチャデータを備える、実施形態１０７に記載のシステム。
【０４８５】
１１０．ホストコンピューティングシステムは、サーバである、実施形態１０７に記載のシステム。
【０４８６】
１１１．ホストコンピューティングシステムは、頭部搭載型ディスプレイシステムを備える、実施形態１０７に記載のシステム。
【０４８７】
１１２．方法はさらに、メモリ内に１つ以上の構成部分を記憶するステップを含む、実施形態１０７に記載のシステム。
【０４８８】
１１３．方法はさらに、１つ以上の構成部分を展開するステップを含む、実施形態１０７に記載のシステム。
【０４８９】
１１４．方法であって、
【０４９０】
非一過性のコンピュータ可読メモリを介して、１つ以上の構成部分を備える、３次元モデルを記憶するステップと、
【０４９１】
非一過性のコンピュータ可読メモリから３次元モデルにアクセスするステップと、
【０４９２】
非一過性のコンピュータ可読メモリ内に記憶されたアレイの中に３次元モデルの１つ以上の構成部分のうちの１つを記憶するステップと、
【０４９３】
ホストコンピューティングシステムのライブラリ内のパッケージの中にアレイをパッケージ化するステップと、
を含む、方法。
【０４９４】
１１５．構成部分は、メッシュデータを備える、実施形態１１４に記載の方法。
【０４９５】
１１６．構成部分は、テクスチャデータを備える、実施形態１１４に記載の方法。
【０４９６】
１１７．非一過性のコンピュータ可読メモリは、サーバの一部である、実施形態１１４に記載の方法。
【０４９７】
１１８．非一過性のコンピュータ可読メモリは、頭部搭載型ディスプレイシステムの一部である、実施形態１１４に記載の方法。
【０４９８】
１１９．方法はさらに、メモリ内に１つ以上の構成部分を記憶するステップを含む、実施形態１１４に記載の方法。
【０４９９】
１２０．方法はさらに、１つ以上の構成部分を展開するステップを含む、実施形態１１４に記載の方法。
【０５００】
１２１．非一過性のコンピュータ可読媒体であって、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに、
【０５０１】
非一過性のコンピュータ可読メモリを介して、１つ以上の構成部分を備える、３次元モデルを記憶するステップと、
【０５０２】
非一過性のコンピュータ可読メモリから３次元モデルにアクセスするステップと、
【０５０３】
非一過性のコンピュータ可読メモリ内に記憶されたアレイの中に３次元モデルの１つ以上の構成部分のうちの１つを記憶するステップと、
【０５０４】
ホストコンピューティングシステムのライブラリ内のパッケージの中にアレイをパッケージ化するステップと、
を含む、方法を実施させる、１つ以上の命令を記憶する、非一過性のコンピュータ可読媒体。
【０５０５】
１２２．構成部分は、メッシュデータを備える、実施形態１２１に記載の非一過性のコンピュータ可読媒体。
【０５０６】
１２３．構成部分は、テクスチャデータを備える、実施形態１２１に記載の非一過性のコンピュータ可読媒体。
【０５０７】
１２４．非一過性のコンピュータ可読メモリは、サーバの一部である、実施形態１２１に記載の非一過性のコンピュータ可読媒体。
【０５０８】
１２５．非一過性のコンピュータ可読メモリは、頭部搭載型ディスプレイシステムの一部である、実施形態１２１に記載の非一過性のコンピュータ可読媒体。
【０５０９】
１２６．方法はさらに、メモリ内に１つ以上の構成部分を記憶するステップを含む、実施形態１２１に記載の非一過性のコンピュータ可読媒体。
【０５１０】
１２７．方法はさらに、１つ以上の構成部分を展開するステップを含む、実施形態１２１に記載の非一過性のコンピュータ可読媒体。
【０５１１】
構成部分の実施例は、地理データ、材料データ、頂点テーブル、１つ以上のテクスチャ、三角形インデックス、または３Ｄモデルの完全な表現を最終的に定義するために使用される任意の他のデータであってもよい。
【図１】
2022502749.tif 000003
【図２】
2022502749.tif 000004
【図３】
2022502749.tif 000005
【図４】
2022502749.tif 000006
【図５】
2022502749.tif 000007
【図６Ａ】
2022502749.tif 000008
【図６Ｂ】
2022502749.tif 000009
【図７】
2022502749.tif 000010
【図８】
2022502749.tif 000011
【図９】
2022502749.tif 000012
【図１０】
2022502749.tif 000013
【図１１】
2022502749.tif 000014
【図１２】
2022502749.tif 000015
【図１３】
2022502749.tif 000016
【図１４】
2022502749.tif 000017
【図１５】
2022502749.tif 000018
【図１６】
2022502749.tif 000019
【図１７】
2022502749.tif 000020
【図１８】
2022502749.tif 000021
【図１９Ａ】
2022502749.tif 000022
【図１９Ｂ】
2022502749.tif 000023
【図１９Ｃ】
2022502749.tif 000024
【国際調査報告】
2022502749.tif 000025