(57)【要約】  複合現実環境において共有仮想オブジェクトおよびプライベート仮想オブジェクトを含む仮想オブジェクトを表示するためのシステムおよび方法が開示される。複数の使用者が共に協力して共有仮想オブジェクトとインタラクトすることができる。プライベート仮想オブジェクトは単一の使用者に対し可視であり得る。例において、それぞれの使用者のプライベート仮想オブジェクトは、１つまたは複数の共有仮想オブジェクトとの使用者の協力的なインタラクションを容易にすることができる。
2016525741.tif 000002
【特許請求の範囲】
【請求項１】
複合現実体験を提示するためのシステムであって、
共有仮想オブジェクトおよびプライベート仮想オブジェクトを含む仮想オブジェクトを表示するためのディスプレイ装置を備える第１のディスプレイデバイスと、
前記第１のディスプレイデバイスおよび第２のディスプレイデバイスに動作可能に結合されるコンピューティングシステムであって、前記コンピューティングシステムは、前記第１のディスプレイデバイス上に表示するための前記共有仮想オブジェクトおよび前記プライベート仮想オブジェクトを生成し、前記コンピューティングシステムは、第２のディスプレイデバイス上に表示するための前記共有仮想オブジェクトを生成するが、前記プライベート仮想オブジェクトを生成しない、コンピューティングシステムと、
を備える、システム。
【請求項２】
前記共有仮想オブジェクトおよび前記プライベート仮想オブジェクトは単一のハイブリッド仮想オブジェクトの一部である、請求項１に記載のシステム。
【請求項３】
前記共有仮想オブジェクトおよび前記プライベート仮想オブジェクトは別個の仮想オブジェクトである、請求項１に記載のシステム。
【請求項４】
前記プライベート仮想オブジェクトとのインタラクションは前記共有仮想オブジェクトにおける変更に影響を及ぼす、請求項１に記載のシステム。
【請求項５】
前記共有仮想オブジェクトは、前記第１のディスプレイデバイス上に表示されるコンテンツを有する仮想表示スレートを含む、請求項１に記載のシステム。
【請求項６】
複合現実体験を提示するためのシステムであって、
仮想オブジェクトを表示するためのディスプレイ装置を備える第１のディスプレイデバイスと、
仮想オブジェクトを表示するためのディスプレイ装置を備える第２のディスプレイデバイスと、
前記第１のディスプレイデバイスおよび前記第２のディスプレイデバイスに動作可能に結合されるコンピューティングシステムであって、前記コンピューティングシステムは、前記第１のディスプレイデバイスおよび前記第２のディスプレイデバイス上に表示するための共有仮想オブジェクトを、前記共有仮想オブジェクトを定義する状態データから生成し、前記コンピューティングシステムは、前記第１のディスプレイデバイス上に表示するが、前記第２のディスプレイデバイス上に表示しない第１のプライベート仮想オブジェクトと、前記第２のディスプレイデバイス上に表示するが前記第１のディスプレイデバイス上に表示しない第２のプライベート仮想オブジェクトと、をさらに生成し、前記コンピューティングシステムは、前記第１のディスプレイデバイスおよび前記第２のディスプレイデバイスの双方における前記共有仮想オブジェクトの前記状態データおよび前記表示を変更するインタラクションを受信する、コンピューティングシステムと、
を備える、システム。
【請求項７】
前記第１のプライベート仮想オブジェクトは、前記共有仮想オブジェクトとのインタラクションを制御するための仮想オブジェクトの第１の組を含む、請求項６に記載のシステム。
【請求項８】
前記第２のプライベート仮想オブジェクトは、前記共有仮想オブジェクトとのインタラクションを制御するための仮想オブジェクトの第２の組を含む、請求項７に記載のシステム。
【請求項９】
複合現実体験を提示するための方法であって、
（ａ）共有仮想オブジェクトを第１のディスプレイデバイスおよび第２のディスプレイデバイスに表示することであって、前記共有仮想オブジェクトは前記第１のディスプレイデバイスおよび前記第２のディスプレイデバイスについて同じである状態データによって定義されることと、
（ｂ）第１のプライベート仮想オブジェクトを前記第１のディスプレイデバイスに表示することと、
（ｃ）第２のプライベート仮想オブジェクトを前記第２のディスプレイデバイスに表示することと、
（ｄ）前記第１のプライベート仮想オブジェクトおよび前記第２のプライベート仮想オブジェクトのうちの一方とのインタラクションを受信することと、
（ｅ）前記ステップ（ｄ）において受信した前記第１のプライベート仮想オブジェクトおよび前記第２のプライベート仮想オブジェクトのうちの一方との前記インタラクションに基づいて前記共有仮想オブジェクトにおける変更に影響を及ぼすことと、
を含む、方法。
【請求項１０】
前記第１のプライベート仮想オブジェクトおよび前記第２のプライベート仮想オブジェクトとの複数のインタラクションを受信する前記ステップ（ｆ）は、複数のインタラクションを受信して画像を協力して構築、表示または変更することを含む、請求項９に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
複合現実は、ホログラフィック画像すなわち仮想画像が現実世界の物理環境と混合されることを可能にする技術である。シースルーのヘッドマウント型複合現実ディスプレイデバイスを使用者が装着して、使用者の視野内に表示される現実オブジェクトおよび仮想オブジェクトの混合画像を見ることができる。使用者はさらに、例えば、手、頭部または声のジェスチャを行うことによって仮想オブジェクトとインタラクトし、仮想オブジェクトを動かすか、仮想オブジェクトの外見を変えるか、または単に仮想オブジェクトを見ることができる。複数の使用者がいる場合、それぞれが独自の観点からシーン内の仮想オブジェクトを見ることができる。しかしながら、仮想オブジェクトが何らかの形でインタラクティブであるとき、同時に複数の使用者がインタラクトすることによってシステムの使用が厄介になり得る。
【発明の概要】
【課題を解決するための手段】
【０００２】
本技術の実施形態は、本明細書においてホログラムとも呼ばれる仮想オブジェクトとの複数の使用者のインタラクションのためのシステムおよび方法に関する。複合現実環境を作成するためのシステムは、概して、各使用者によって装着され、１つまたは複数の処理装置に結合されるシースルーのヘッドマウント型ディスプレイデバイスを備える。処理装置は、ヘッドマウント型ディスプレイ装置と協働して、各使用者によって独自の観点から見ることができる仮想オブジェクトを表示することができる。また、処理装置は、ヘッドマウント型ディスプレイ装置と協働して、１人または複数人の使用者によって行われるジェスチャを介して仮想オブジェクトとの使用者のインタラクションを検出することもできる。
【０００３】
本技術の態様によれば、ある仮想オブジェクトは共有されるように設計され、複数の使用者がこれらの共有仮想オブジェクトを見て、複数の使用者が共に協力して共有仮想オブジェクトとインタラクトすることができるようにされてもよい。他の仮想オブジェクトは、特定の使用者に対しプライベートであるように設計されてもよい。プライベート仮想オブジェクトは単一の使用者に対し可視であってもよい。実施形態では、プライベート仮想オブジェクトは様々な目的で提供され得るが、それぞれの使用者のプライベート仮想オブジェクトは、１つまたは複数の共有仮想オブジェクトとの使用者の協力的インタラクションを容易にすることもできる。
【０００４】
例において、本技術は、複合現実体験を提示するためのシステムに関する。このシステムは、共有仮想オブジェクトおよびプライベート仮想オブジェクトを含む仮想オブジェクトを表示するためのディスプレイ装置を備える第１のディスプレイデバイスと、第１のディスプレイデバイスおよび第２のディスプレイデバイスに動作可能に結合されるコンピューティングシステムとを備える。このコンピューティングシステムは、第１のディスプレイデバイス上に表示するための共有仮想オブジェクトおよびプライベート仮想オブジェクトを生成し、このコンピューティングシステムは、第２のディスプレイデバイス上に表示するための共有仮想オブジェクトを生成するが、プライベート仮想オブジェクトを生成しない。
【０００５】
さらなる例では、本技術は、複合現実体験を提示するためのシステムに関する。このシステムは、仮想オブジェクトを表示するためのディスプレイ装置を備える第１のディスプレイデバイスと、仮想オブジェクトを表示するためのディスプレイ装置を備える第２のディスプレイデバイスと、第１のディスプレイデバイスおよび第２のディスプレイデバイスに動作可能に結合されるコンピューティングシステムとを備える。このコンピューティングシステムは、第１のディスプレイデバイスおよび第２のディスプレイデバイス上に表示するための共有仮想オブジェクトを、この共有仮想オブジェクトを定義する状態データから生成し、このコンピューティングシステムは、第１のディスプレイデバイス上に表示するが第２のディスプレイデバイス上に表示しない第１のプライベート仮想オブジェクトと、第２のディスプレイデバイス上に表示するが第１のディスプレイデバイス上に表示しない第２のプライベート仮想オブジェクトと、をさらに生成し、このコンピューティングシステムは、第１のディスプレイデバイスおよび第２のディスプレイデバイスの双方における共有仮想オブジェクトの状態データおよび表示を変更するインタラクションを受信する。
【０００６】
別の例では、本技術は、複合現実体験を提示するための方法に関する。この方法は、（ａ）共有仮想オブジェクトを第１のディスプレイデバイスおよび第２のディスプレイデバイスに表示することであって、共有仮想オブジェクトは第１のディスプレイデバイスおよび第２のディスプレイデバイスについて同じである状態データによって定義されることと、（ｂ）第１のプライベート仮想オブジェクトを第１のディスプレイデバイスに表示することと、（ｃ）第２のプライベート仮想オブジェクトを第２のディスプレイデバイスに表示することと、（ｄ）第１のプライベート仮想オブジェクトおよび第２のプライベート仮想オブジェクトのうちの一方とのインタラクションを受信することと、（ｅ）ステップ（ｄ）において受信した第１のプライベート仮想オブジェクトおよび第２のプライベート仮想オブジェクトのうちの一方とのインタラクションに基づいて共有仮想オブジェクトにおける変更に影響を及ぼすことと、を含む。
【０００７】
この概要は、以下の詳細な説明においてさらに説明する単純な形態の概念の抜粋を紹介するために提供されている。本概要は、特許請求される主題の主要な特徴または本質的な特徴を特定することを意図するものでなく、また、特許請求される主題の範囲を画定する助けとして用いられることを意図するものでもない。
【図面の簡単な説明】
【０００８】
【図１】複合現実環境を１人または複数人の使用者に提示するためのシステムの１つの実施形態の例示的なコンポーネントの図である。
【図２】ヘッドマウント型ディスプレイ装置の１つの実施形態の斜視図である。
【図３】ヘッドマウント型ディスプレイ装置の１つの実施形態の一部分の側面図である。
【図４】ヘッドマウント型ディスプレイ装置のコンポーネントの１つの実施形態のブロック図である。
【図５】ヘッドマウント型ディスプレイ装置に関連付けられた処理装置のコンポーネントの１つの実施形態のブロック図である。
【図６】ヘッドマウント型ディスプレイ装置と共に用いられるハブコンピューティングシステムのコンポーネントの１つの実施形態のブロック図である。
【図７】本明細書において説明されるハブコンピューティングシステムを実施するのに用いることができるコンピューティングシステムの１つの実施形態のブロック図である。
【図８】共有仮想オブジェクトおよびプライベート仮想オブジェクトを含む複合現実環境の例の図である。
【図９】共有仮想オブジェクトおよびプライベート仮想オブジェクトを含む複合現実環境の例の図である。
【図１０】共有仮想オブジェクトおよびプライベート仮想オブジェクトを含む複合現実環境の例の図である。
【図１１】共有仮想オブジェクトおよびプライベート仮想オブジェクトを含む複合現実環境の例の図である。
【図１２】共有仮想オブジェクトおよびプライベート仮想オブジェクトを含む複合現実環境の例の図である。
【図１３】共有仮想オブジェクトおよびプライベート仮想オブジェクトを含む複合現実環境の例の図である。
【図１４】本システムのハブコンピューティングシステム、１つまたは複数の処理装置、および１つまたは複数のヘッドマウント型ディスプレイ装置の動作および協力を示すフローチャートである。
【図１５】図１４のフローチャートに示す様々なステップの例のより詳細なフローチャートである。
【図１６】図１４のフローチャートに示す様々なステップの例のより詳細なフローチャートである。
【図１７】図１４のフローチャートに示す様々なステップの例のより詳細なフローチャートである。
【発明を実施するための形態】
【０００９】
次に、本技術の実施形態を、図１〜図１７を参照して説明する。図１〜図１７は、概して、協力する共有仮想オブジェクトと、共有仮想オブジェクトにおける協力を容易にするようにインタラクトすることができるプライベート仮想オブジェクトとを含む複合現実環境に関する。複合現実環境を実施するためのシステムは、ハブコンピューティングシステムと通信するモバイルディスプレイデバイスを備えることができる。モバイルディスプレイデバイスは、ヘッドマウント型ディスプレイデバイス（または他の適切な装置）に結合されたモバイル処理装置を含むことができる。
【００１０】
ヘッドマウント型ディスプレイデバイスは、表示素子を備えることができる。表示素子は、ある程度透明であり、使用者が表示素子を通してこの使用者の視野（ＦＯＶ）内の現実世界オブジェクトを見ることができるようになっている。表示素子は、使用者のＦＯＶ内に仮想画像を投影する機能も提供し、現実世界オブジェクトと一緒に仮想画像も見えるようにする。システムは、使用者が見ている場所を自動的に追跡し、システムが使用者のＦＯＶ内のどこに仮想画像を挿入するかを判断できるようにする。システムが仮想画像を投影するべき場所を認識すると、表示素子を用いて画像が投影される。
【００１１】
実施形態において、ハブコンピューティングシステムと、処理装置のうちの１つまたは複数とが協働して、部屋内または他の環境内の全ての使用者、現実世界オブジェクトおよび仮想３次元オブジェクトのｘ、ｙ、ｚデカルト位置を含む環境のモデルを構築することができる。環境内の使用者によって装着される各ヘッドマウント型ディスプレイデバイスの位置は、環境のモデルに対し、かつ互いに対し較正され得る。これによって、システムが、各使用者の視線および環境のＦＯＶを求めることが可能になる。このため、仮想画像は、各使用者に表示することができるが、システムは、各使用者の観点からの仮想画像の表示を画定し、環境内の他のオブジェクトからの視差および他のオブジェクトによる任意の遮蔽について仮想画像を調整する。本明細書においてシーンマップと呼ばれる環境のモデル、および使用者のＦＯＶおよび環境内のオブジェクトの全ての追跡は、連動してまたは個々に機能するハブおよびモバイル処理装置によって生成され得る。
【００１２】
以下で説明するように、１人または複数人の使用者は、使用者のＦＯＶ内に現れる共有仮想オブジェクトまたはプライベート仮想オブジェクトとインタラクトすることを選択することができる。本明細書において用いられるとき、「インタラクト」という用語は、使用者と仮想オブジェクトとの物理的インタラクションおよび口頭のインタラクションの双方を包含する。物理的インタラクションは、使用者が、自身の指、手、頭部および／または他の身体部分を用いて所定のジェスチャを実行することを含む。これらのジェスチャは、複合現実システムによって、システムが所定のアクションを実行することの使用者要求として認識される。そのような所定のジェスチャは、限定ではないが、仮想オブジェクトを指し示す、掴むおよび押すことを含むことができる。そのような所定のジェスチャは、仮想遠隔制御またはキーボード等の仮想制御オブジェクトとのインタラクションをさらに含むことができる。
【００１３】
使用者は、自身の眼を用いて仮想オブジェクトと物理的にインタラクトすることもできる。いくつかの例では、注視データは、使用者がＦＯＶ内のどこに注意を集中しているかを特定し、このため、使用者が特定の仮想オブジェクトを見ていることを特定することができる。このため、持続的注視または瞬きまたは瞬きの連続を物理的インタラクションとすることができ、これによって使用者は１つまたは複数の仮想オブジェクトを選択する。
【００１４】
本明細書において用いられるとき、使用者が、共有仮想オブジェクト内のコンテンツを見る等、仮想オブジェクトに単に注目することは、使用者と仮想オブジェクトとの物理インタラクションのさらなる例である。
【００１５】
使用者は、この代わりにまたはこれに加えて、例えば発話語または発話語句等の口頭のジェスチャを用いて仮想オブジェクトとインタラクトすることができる。これらのジェスチャは、複合現実システムによって、システムが所定のアクションを実行することの使用者要求として認識される。口頭のジェスチャを、物理的ジェスチャと組み合わせて用いて、複合現実環境内の１つまたは複数の仮想オブジェクトとインタラクトすることができる。
【００１６】
使用者が複合現実環境内を動き回るとき、仮想オブジェクトはワールドまたは本体をロックされたままとすることができる。ワールドロックされた仮想オブジェクトは、デカルト空間内の固定位置に留まる仮想オブジェクトである。使用者は、そのようなワールドロックされた仮想オブジェクトの近くに、またはこれらの仮想オブジェクトから離れて、またはこれらの仮想オブジェクトの回りを移動し、これらの仮想オブジェクトを異なる視点から見ることができる。実施形態において、共有仮想オブジェクトはワールドロックされ得る。
【００１７】
他方で、本体ロックされた仮想オブジェクトは、特定の使用者とともに移動する仮想オブジェクトである。１つの例として、本体ロックされた仮想オブジェクトは、使用者の手に対して固定位置に留まることができる。実施形態では、プライベート仮想オブジェクトは本体をロックすることができる。さらなる例では、プライベート仮想オブジェクト等の仮想オブジェクトは、ワールドロック／本体ロックされたハイブリッド仮想オブジェクトとすることができる。そのようなハイブリッド仮想オブジェクトは、例えば、２０１３年６月１８日付で出願された、「Ｈｙｂｒｉｄ  Ｗｏｒｌｄ／Ｂｏｄｙ  Ｌｏｃｋｅｄ  ＨＵＤ  ｏｎ  ａｎ  ＨＭＤ」と題する米国特許出願第１３／９２１，１１６号において記載されている。
【００１８】
図１は、仮想オブジェクト２１を使用者のＦＯＶ内の現実のコンテンツと融合することによって複合現実体験を提供するためのシステム１０を示している。図１は、独自の観点から仮想オブジェクト２１等の仮想オブジェクトを見るためのヘッドマウント型ディスプレイデバイス２をそれぞれ装着している複数の使用者１８ａ、１８ｂ、１８ｃを示す。さらなる例では、３人よりも多いかまたは少ない使用者が存在してもよい。図２および図３に示すように、ヘッドマウント型ディスプレイデバイス２は、統合処理装置４を備えることができる。他の実施形態では、処理装置４は、ヘッドマウント型ディスプレイデバイス２と別個であってもよく、有線通信または無線通信を介してヘッドマウント型ディスプレイデバイス２と通信してもよい。
【００１９】
１つの実施形態では眼鏡の形状であるヘッドマウント型ディスプレイデバイス２は、使用者の頭部に装着され、使用者がディスプレイを透かして見ることができ、それによって使用者の正面の空間の実際の直接的なビューを得るようにする。「実際の直接的なビュー」という用語は、現実世界オブジェクトを、オブジェクトの作成された画像表現を見るのではなく、人間の眼で直接見る能力を指す。例えば、眼鏡を通して部屋を見ることによって、使用者は、部屋の実際の直接ビューを有することができる一方で、テレビで部屋のビデオを見ることは、部屋の実際の直接ビューではない。ヘッドマウント型ディスプレイデバイス２のさらなる詳細を以下に提供する。
【００２０】
処理装置４は、ヘッドマウント型ディスプレイデバイス２を動作させるのに用いられる計算能力の多くを含むことができる。実施形態において、処理装置４は、１つまたは複数のハブコンピューティングシステム１２と無線（例えば、WiFi、Bluetooth、赤外線または他の無線通信手段）で通信する。以下で説明するように、ハブコンピューティングシステム１２は、処理装置４から遠隔に設けられ、ハブコンピューティングシステム１２および処理装置４がＬＡＮまたはＷＡＮ等の無線ネットワークを介して通信するようにされてもよい。さらなる実施形態では、ヘッドマウント型ディスプレイデバイス２および処理装置４を用いてモバイル複合現実体験を提供するために、ハブコンピューティングシステム１２を省くことができる。
【００２１】
ハブコンピューティングシステム１２は、コンピュータ、ゲームシステムまたはコンソール等であり得る。例示的な実施形態によれば、ハブコンピューティングシステム１２は、ハードウェアコンポーネントおよび／またはソフトウェアコンポーネントを含むことができ、これにより、ハブコンピューティングシステム１２を用いて、ゲームアプリケーション、非ゲームアプリケーション等のようなアプリケーションを実行することができる。１つの実施形態では、ハブコンピューティングシステム１２は、本明細書に記載されているプロセスを実行するために、プロセッサ可読ストレージデバイス上に記憶された命令を実行することができる標準化されたプロセッサ、専用プロセッサ、マイクロプロセッサ等を含むことができる。
【００２２】
ハブコンピューティングシステム１２は、そのＦＯＶ内のシーンの部分から画像データを捕捉するための捕捉デバイス２０をさらに備える。本明細書において用いられるとき、シーンは使用者が動き回る環境であり、この環境は、捕捉デバイス２０のＦＯＶおよび／または各ヘッドマウント型ディスプレイデバイス２のＦＯＶ内に捕捉される。図１は単一の捕捉デバイス２０を示しているが、さらなる実施形態では、複数の捕捉デバイス２０の複合ＦＯＶ内のシーンから画像データを集合的に捕捉するように協働する複数の捕捉デバイスが存在し得る。捕捉デバイス２０は、使用者１８および周囲空間を視覚的に監視する１つまたは複数のカメラを備えることができ、それによって、使用者によって行われるジェスチャおよび／または動き、ならびに周囲空間の構造を捕捉、解析および追跡して、アプリケーション内の１つもしくは複数の制御もしくはアクションを実行し、かつ／またはアバターもしくはスクリーン上のキャラクターをアニメーション化することができる。
【００２３】
ハブコンピューティングシステム１２は、ゲームまたはアプリケーションの視覚要素を提供することができる、テレビ、モニタ、高精細テレビ（HDTV）等のような視聴覚デバイス１６に接続され得る。１つの例では、視聴覚デバイス１６は内部スピーカを備える。他の実施形態では、視聴覚デバイス１６およびハブコンピューティングシステム１２は、外部スピーカ２２に接続することができる。
【００２４】
ハブコンピューティングシステム１２は、ヘッドマウント型ディスプレイデバイス２および処理装置４と共に複合現実体験を提供することができる。複合現実体験では、図１における仮想オブジェクト２１等の１つまたは複数の仮想画像をシーン内の現実世界オブジェクトと共に混合することができる。図１は、使用者のＦＯＶ内に見える現実世界オブジェクトとしての植物２３または使用者の手２３の例を示す。
【００２５】
図２および図３は、ヘッドマウント型ディスプレイデバイス２の斜視図および側面図を示す。図３は、テンプル１０２およびノーズブリッジ１０４を有するデバイスの一部分を含む、ヘッドマウント型ディスプレイデバイス２の右側面を示す。ノーズブリッジ１０４には、以下で記載するように、音を記録し、そのオーディオデータを処理装置４に送信するためのマイクロフォン１１０が組み込まれる。ヘッドマウント型ディスプレイデバイス２の正面には、ビデオおよび静止画像を捕捉することができる部屋に向いたビデオカメラ１１２がある。これらの画像は、以下で記載するように、処理装置４に送信される。
【００２６】
ヘッドマウント型ディスプレイデバイス２のフレームの一部分がディスプレイ（１つまたは複数のレンズを備える）を取り囲む。ヘッドマウント型ディスプレイデバイス２のコンポーネントを示すために、ディスプレイを取り囲むフレームの一部分は描かれていない。ディスプレイは、導光光学素子１１５、不透過フィルタ１１４、シースルーレンズ１１６およびシースルーレンズ１１８を備える。１つの実施形態では、不透過フィルタ１１４はシースルーレンズ１１６の後ろにあり、シースルーレンズ１１６と位置合わせされており、導光光学素子１１５は不透過フィルタ１１４の後ろにあり、不透過フィルタ１１４と位置合わせされており、シースルーレンズ１１８は導光光学素子１１５の後ろにあり、導光光学素子１１５と位置合わせされている。シースルーレンズ１１６および１１８は、眼鏡に用いられる標準的なレンズであり、任意の処方に沿って（処方なしを含む）作成され得る。導光光学素子１１５は、人工光を眼に向ける。不透過フィルタ１１４および導光光学素子１１５のさらなる詳細は、２０１２年５月２４日に公開された、「Ｈｅａｄ−Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ  Ｄｅｖｉｃｅ  Ｗｈｉｃｈ  Ｐｒｏｖｉｄｅｓ  Ｓｕｒｒｏｕｎｄ  Ｖｉｄｅｏ」と題する米国特許出願公開第２０１２／０１２７２８４号において提供される。
【００２７】
制御回路１３６は、ヘッドマウント型ディスプレイデバイス２の他のコンポーネントをサポートする様々な電子機器を提供する。制御回路１３６のさらなる詳細は、以下で図４を参照して提供される。イヤフォン１３０、慣性測定装置１３２および温度センサ１３８がテンプル１０２の内部にあるかまたはテンプル１０２に搭載される。図４に示す１つの実施形態では、慣性測定装置１３２（すなわちＩＭＵ１３２）は、３軸磁力計１３２Ａ、３軸ジャイロ１３２Ｂおよび３軸加速度計１３２Ｃ等の慣性センサを備える。慣性測定装置１３２は、ヘッドマウント型ディスプレイデバイス２の位置、向きおよび急な加速（ピッチ、ロールおよびヨー）を感知する。ＩＭＵ１３２は、磁力計１３２Ａ、ジャイロ１３２Ｂおよび軸加速度計１３２Ｃに加えて、またはこれらの代わりに他の慣性センサを備えることができる。
【００２８】
マイクロディスプレイ１２０は、レンズ１２２を通じて画像を投影する。マイクロディスプレイ１２０を実施するのに用いることができる様々な画像生成技術が存在する。例えば、マイクロディスプレイ１２０は、白色光で背後から照明された光学活性材料によって光源が変調される透過投影技術を用いる際に実装することができる。これらの技術は通常、強力なバックライトおよび高い光エネルギー密度を有するＬＣＤ型のディスプレイを用いて実施される。マイクロディスプレイ１２０は、外部光が光学活性材料によって反射および変調される反射技術を用いて実装することもできる。照明は、技術に依拠して白色光源またはＲＧＢ光源のいずれかによって前方に照射される。Ｑｕａｌｃｏｍｍ，Ｉｎｃ．からのデジタル光処理（DLP）、反射型液晶素子（LCOS）およびＭｉｒａｓｏｌ（登録商標）ディスプレイ技術は全て、反射技術の例である。これらは、ほとんどのエネルギーが変調構造から離れるように反射され、本システムにおいて用いることができるため効率的である。さらに、マイクロディスプレイ１２０は、光がディスプレイによって生成される発光技術を用いて実装することができる。例えば、Ｍｉｃｒｏｖｉｓｉｏｎ，Ｉｎｃ．からのＰｉｃｏＰ（商標）ディスプレイエンジンは、マイクロミラーステアリングにより、透過型素子として動作する小さなスクリーン上にレーザ信号を放出するか、または眼の中に直接ビームを放出する（例えば、レーザ）。
【００２９】
導光光学素子１１５は、マイクロディスプレイ１２０からの光を、ヘッドマウント型ディスプレイデバイス２を装着している使用者の眼１４０に伝達する。導光光学素子１１５は、矢印１４２によって示されるように、光がヘッドマウント型ディスプレイデバイス２の正面から導光光学素子１１５を通じて眼１４０まで伝達されることも可能にし、それによって、使用者が、マイクロディスプレイ１２０から仮想画像を受信するのに加えて、ヘッドマウント型ディスプレイ２の正面において空間の実際の直接ビューを有することを可能にする。このため、導光光学素子１１５の壁はシースルーである。導光光学素子１１５は、第１の反射面１２４（例えば、ミラーまたは他の表面）を含む。マイクロディスプレイ１２０からの光はレンズ１２２を通過し、反射面１２４に入射する。反射面１２４は、マイクロディスプレイ１２０からの入射光を反射し、それによって、光が内部反射によって導光光学素子１１５を含む平坦な基板の内部にトラップされる。基板の表面からの数回の反射の後に、トラップされた光波が選択的反射面１２６のアレイに到達する。過密な描画を阻止するために、５つの表面のうちの１つが１２６をラベル付けされることに留意されたい。反射面１２６は、これらの反射面に入射した光波を基板から出して使用者の眼１４０へと結合する。導光光学素子のさらなる詳細は、２００８年１１月２０日付で公開された、「Ｓｕｂｓｔｒａｔｅ−Ｇｕｉｄｅｄ  Ｏｐｔｉｃａｌ  Ｄｅｖｉｃｅｓ」と題する米国特許出願公開第２００８／０２８５１４０号に見出すことができる。
【００３０】
ヘッドマウント型ディスプレイデバイス２は、使用者の眼の位置を追跡するためのシステムも備える。以下で説明するように、システムは使用者の位置および向きを追跡し、システムが使用者のＦＯＶを画定することができるようにする。しかしながら、人間は、目の前にある全てのものを知覚するわけではない。代わりに、使用者の眼は環境のサブセットに向けられることになる。したがって、１つの実施形態では、システムは、使用者のＦＯＶの測定を精緻化するために、使用者の眼の位置を追跡するための技術を含む。例えば、ヘッドマウント型ディスプレイデバイス２は視標追跡アセンブリ１３４（図３）を備え、視標追跡アセンブリ１３４は視標追跡照明デバイス１３４Ａおよび視標追跡カメラ１３４Ｂ（図４）を有する。１つの実施形態では、視標追跡照明デバイス１３４Ａは、眼に向けてＩＲ光を放出する１つまたは複数の赤外線（IR）エミッタを備える。視標追跡カメラ１３４Ｂは、反射したＩＲ光を感知する１つまたは複数のカメラを備える。瞳孔の位置は、角膜の反射を検出する既知のイメージング技法によって特定することができる。例えば、２００８年７月２２日に発行された、「Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｅｙｅ  Ｔｒａｃｋｉｎｇ  ａｎｄ  Ｄｉｓｐｌａｙ  Ｓｙｓｔｅｍ」と題する米国特許出願第７，４０１，９２０号を参照されたい。そのような技法は、追跡カメラに対する眼の中心の位置を突き止めることができる。通常、視標追跡は、眼の画像を取得することと、コンピュータビジョン技法を用いて眼窩内の瞳孔の位置を求めることとを伴う。１つの実施形態では、眼は通常一体となって動くので、一方の眼の位置を追跡すれば十分である。しかしながら、各眼を別個に追跡することが可能である。
【００３１】
１つの実施形態では、システムは、碁盤目配列で４つのＩＲ  ＬＥＤおよび４つのＩＲ光検出器を用い、ヘッドマウント型ディスプレイデバイス２のレンズの各角に１つのＩＲ  ＬＥＤおよびＩＲ光検出器が存在するようにする。ＬＥＤからの光は眼から反射する。４つのＩＲ光検出器のそれぞれにおいて検出される赤外光の量によって瞳孔の方向が求められる。すなわち、眼における白対黒の量によって、その特定の光検出器について眼から反射される光量が求められる。このため、光検出器は、眼における白または黒の量の測定値を有することになる。４つのサンプルから、システムは眼の方向を求めることができる。
【００３２】
別の代替形態は、上記で検討したような４つの赤外線ＬＥＤであるが、１つの赤外線ＣＣＤがヘッドマウント型ディスプレイデバイス２のレンズの側面にあるものを用いることである。ＣＣＤは、眼鏡フレームから可視の眼の最大で７５％をイメージングすることができるように小さなミラーおよび／またはレンズ（魚眼）を用いる。次に、ＣＣＤは、上記で検討したのとほとんど同じように、画像を感知し、コンピュータビジョンを用いて画像を見つける。このため、図３は１つのＩＲ送信機を有する１つのアセンブリを示しているが、図３の構造は、４つのＩＲ送信機および／または４つのＩＲセンサを有するように調整することができる。４つより多くのもしくは４つ未満の送信機、および／または４つより多くのもしくは４つ未満のＩＲセンサも用いることができる。
【００３３】
視線の方向を追跡するための別の実施形態は、電荷追跡に基づく。この概念は、網膜が測定可能な正電荷を保持し、角膜が負電荷を有するという観測に基づく。センサは、眼が動き回っている間に電位を検出し、眼が行っていることをリアルタイムで効果的に読み出すために使用者の耳（イヤフォン１３０の近く）に取り付けられる。眼を追跡するための他の実施形態も用いることができる。
【００３４】
図３は、ヘッドマウント型ディスプレイデバイス２の半分を示している。フルヘッドマウント型ディスプレイデバイスは、別のシースルーレンズのセット、別の不透過フィルタ、別の導光光学素子、別のマイクロディスプレイ１２０、別のレンズ１２２、部屋に向けられたカメラ、視標追跡アセンブリ、マイクロディスプレイ、イヤフォンおよび温度センサを備える。
【００３５】
図４は、ヘッドマウント型ディスプレイデバイス２の様々なコンポーネントを示すブロック図である。図５は、処理装置４の様々なコンポーネントを示すブロック図である。図４にコンポーネントが示されるヘッドマウント型ディスプレイデバイス２を用いて、１つまたは複数の仮想画像を現実世界の使用者のビューとシームレスに融合することによって、複合現実体験を使用者に提供する。さらに、図４のヘッドマウント型ディスプレイデバイスコンポーネントは、様々な状態を追跡する多くのセンサを備える。ヘッドマウント型ディスプレイデバイス２は、処理装置４から仮想画像に関する命令を受信し、処理装置４にセンサ情報を提供する。図４にコンポーネントが示される処理装置４は、ヘッドマウント型ディスプレイデバイス２からセンサ情報を受信し、情報およびデータをハブコンピューティングシステム１２（図１）と交換する。情報およびデータのその交換に基づいて、処理装置４は仮想画像を使用者にいつどこで提供するかを決定し、それに応じて図４のヘッドマウント型ディスプレイデバイスに命令を送信する。
【００３６】
図４のコンポーネントのうちのいくつか（例えば、部屋に向けられたカメラ１１２、視標追跡カメラ１３４Ｂ、マイクロディスプレイ１２０、不透過フィルタ１１４、視標追跡照明１３４Ａ、イヤフォン１３０および温度センサ１３８）が陰に示され（shown in shadow）、これらのデバイスのそれぞれが、ヘッドマウント型ディスプレイデバイスの左側用に１つと、右側用に１つとの２つ存在することを示している。図４は、電力管理回路２０２と通信する制御回路２００を示す。制御回路２００は、プロセッサ２１０と、メモリ２１４（例えば、Ｄ−ＲＡＭ）と通信するメモリコントローラ２１２と、カメラインターフェース２１６と、カメラバッファ２１８と、ディスプレイドライバ２２０と、ディスプレイフォーマッタ２２２と、タイミング発生器２２６と、ディスプレイ出力インターフェース２２８と、ディスプレイ入力インターフェース２３０とを備える。
【００３７】
１つの実施形態では、制御回路２００のコンポーネントの全てが専用線または１もしくは複数のバスを介して互いに通信している。別の実施形態では、制御回路２００のコンポーネントのそれぞれがプロセッサ２１０と通信している。カメラインターフェース２１６は、部屋に向けられた２つのカメラ１１２へのインターフェースを提供し、これらの部屋に向けられたカメラから受信した画像をカメラバッファ２１８内に記憶する。ディスプレイドライバ２２０はマイクロディスプレイ１２０を駆動する。ディスプレイフォーマッタ２２２は、マイクロディスプレイ１２０上に表示されている仮想画像に関する情報を不透過制御回路２２４に提供する。不透過制御回路２２４は不透過フィルタ１１４を制御する。タイミング発生器２２６を用いてシステムにタイミングデータを提供する。ディスプレイ出力インターフェース２２８は、部屋に向けられたカメラ１１２から処理装置４に画像を提供するためのバッファである。ディスプレイ入力インターフェース２３０は、マイクロディスプレイ１２０に表示される仮想画像等の画像を受信するためのバッファである。ディスプレイ出力インターフェース２２８およびディスプレイ入力インターフェース２３０は、処理装置４へのインターフェースであるバンドインターフェース２３２と通信する。
【００３８】
電力管理回路２０２は、電圧レギュレータ２３４と、視標追跡照明ドライバ２３６と、オーディオＤＡＣおよび増幅器２３８と、マイクロフォン前置増幅器およびオーディオＡＤＣ２４０と、温度センサインターフェース２４２と、クロック発生器２４４とを備える。電圧レギュレータ２３４は、バンドインターフェース２３２を介して処理装置４から電力を受信し、この電力をヘッドマウント型ディスプレイデバイス２の他のコンポーネントに提供する。視標追跡照明ドライバ２３６は、上記で記載したように、視標追跡照明１３４ＡのためのＩＲ光源を提供する。オーディオＤＡＣおよび増幅器２３８はオーディオ情報をイヤフォン１３０に出力する。マイクロフォン前置増幅器およびオーディオＡＤＣ２４０は、マイクロフォン１１０のためのインターフェースを提供する。温度センサインターフェース２４２は、温度センサ１３８のためのインターフェースである。電力管理回路２０２はまた、３軸磁力計１３２Ａ、３軸ジャイロ１３２Ｂおよび３軸加速度計１３２Ｃに電力を提供し、これらから返されるデータを受信する。
【００３９】
図５は、処理装置４の様々なコンポーネントを示すブロック図である。図５は、電力管理回３０６と通信する制御回路３０４を示す。制御回路３０４は、中央処理装置（ＣＰＵ）３２０と、グラフィック処理装置（ＧＰＵ）３２２と、キャッシュ３２４と、ＲＡＭ３２６と、メモリ３３０（例えば、Ｄ−ＲＡＭ）と通信するメモリコントローラ３２８と、フラッシュメモリ３３４（または他のタイプの不揮発性ストレージ）と通信するフラッシュメモリコントローラ３３２と、バンドインターフェース３０２およびバンドインターフェース２３２を介してヘッドマウント型ディスプレイデバイス２と通信するディスプレイ出力バッファ３３６と、バンドインターフェース３０２およびバンドインターフェース２３２を介してヘッドマウント型ディスプレイデバイス２と通信するディスプレイ入力バッファ３３８と、マイクロフォンと接続するために外部マイクロフォンコネクタ３４２と通信するマイクロフォンインターフェース３４０と、無線通信デバイス３４６と接続するためのＰＣＩエクスプレスインターフェースと、ＵＳＢポート（複数の場合もある）３４８とを備える。１つの実施形態では、無線通信デバイス３４６は、Ｗｉ−Ｆｉ対応通信デバイス、ＢｌｕｅＴｏｏｔｈ通信デバイス、赤外線通信デバイス等を備えることができる。ＵＳＢポートは、データまたはソフトウェアを処理装置４にロードし、また処理装置４を充電するために、処理装置４をハブコンピューティングシステム１２にドッキングするのに用いることができる。１つの実施形態では、ＣＰＵ３２０およびＧＰＵ３２２は、どこで、いつ、どのように使用者のビュー内に仮想３次元オブジェクトを挿入するかを決定するための主力要素である。さらなる詳細を以下で提供する。
【００４０】
電力管理回路３０６は、クロック発生器３６０と、アナログ／デジタル変換器３６２と、バッテリ充電器３６４と、電圧レギュレータ３６６と、ヘッドマウント型ディスプレイ電源３７６と、温度センサ３７４（場合によっては処理装置４のリストバンドに位置する）と通信する温度センサインターフェース３７２とを備える。アナログ／デジタル変換器３６２は、バッテリ電圧、温度センサを監視し、バッテリ充電機能を制御するのに用いられる。電圧レギュレータ３６６は、システムに電力を供給するためにバッテリ３６８と通信する。バッテリ充電器３６４は、充電ジャック３７０から電力を受け取ると、（電圧レギュレータ３６６を介して）バッテリ３６８を充電するのに用いられる。ＨＭＤ電源３７６は、ヘッドマウント型ディスプレイデバイス２に電力を提供する。
【００４１】
図６は、捕捉デバイス２０を有するハブコンピューティングシステム１２の例示的な実施形態を示す。例示的な実施形態によれば、捕捉デバイス２０は、例えば、飛行時間、構造化光、ステレオ画像等を含む任意の適切な技法により奥行き値を含むことができる奥行き画像を含む奥行き情報と共にビデオを捕捉するように構成することができる。１つの実施形態によれば、捕捉デバイス２０は奥行き情報を「Ｚレイヤ」、すなわち、奥行きカメラからその見通し線に沿って延在するＺ軸に対し直交することができるレイヤに編成することができる。
【００４２】
図６に示すように、捕捉デバイス２０は、カメラコンポーネント４２３を備えることができる。例示的な実施形態によれば、カメラコンポーネント４２３は、シーンの奥行き画像を捕捉することができる奥行きカメラとすることができるか、この奥行きカメラを備えることができる。奥行き画像は、捕捉されたシーンの２次元（２Ｄ）ピクセル領域を含むことができ、２Ｄピクセル領域内の各ピクセルが、カメラから捕捉されたシーン内のオブジェクトの、例えばセンチメートル、ミリメートル等の単位の距離等の奥行き値を表すことができる。
【００４３】
カメラコンポーネント４２３は、赤外（IR）光コンポーネント４２５と、３次元（３Ｄ）カメラ４２６と、シーンの奥行き画像を捕捉するのに用いることができるＲＧＢ（視覚画像）カメラ４２８とを備えることができる。例えば、飛行時間解析において、捕捉デバイス２０のＩＲ光コンポーネント４２５は、赤外光をシーン上に放出することができ、次に、センサ（いくつかの実施形態では、図示しないセンサを含む）を用いて、シーン内の１つまたは複数のターゲットおよびオブジェクトの表面からの後方散乱光を、例えば３Ｄカメラ４２６および／またはＲＧＢカメラ４２８を用いて検出することができる。
【００４４】
例示的な実施形態では、捕捉デバイス２０は、画像カメラコンポーネント４２３と通信することができるプロセッサ４３２をさらに備えることができる。プロセッサ４３２は、標準化されたプロセッサ、専門プロセッサ、マイクロプロセッサ等を含むことができ、これらは、例えば、奥行き画像を受信し、適したデータフォーマット（例えば、フレーム）を生成し、データをハブコンピューティングシステム１２に送信するための命令を含む命令を実行することができる。
【００４５】
捕捉デバイス２０は、プロセッサ４３２によって実行される命令、３Ｄカメラおよび／もしくはＲＧＢカメラによって捕捉される画像もしくは画像フレーム、または任意の他の適切な情報、画像等を記憶することができるメモリ４３４をさらに備えることができる。例示的な実施形態によれば、メモリ４３４は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、キャッシュ、フラッシュメモリ、ハードディスク、または任意の他の適切なストレージコンポーネントを含むことができる。図６に示すように、１つの実施形態において、メモリ４３４は、画像カメラコンポーネント４２３およびプロセッサ４３２と通信する別個のコンポーネントとすることができる。別の実施形態によれば、メモリ４３４はプロセッサ４３２および／または画像カメラコンポーネント４２３に統合することができる。
【００４６】
捕捉デバイス２０は、通信リンク４３６を介してハブコンピューティングシステム１２と通信する。通信リンク４３６は、例えば、ＵＳＢ接続、Ｆｉｒｅｗｉｒｅ接続、イーサネットケーブル接続等を含む有線接続、および／または無線８０２．１１ｂ、ｇ、ａもしくはｎ接続等の無線接続とすることができる。１つの実施形態によれば、ハブコンピューティングシステム１２は、例えばシーンを、通信リンク４３６を介していつ捕捉するかを判断するのに用いることができるクロックを捕捉デバイス２０に提供することができる。さらに、捕捉デバイス２０は、例えば３Ｄカメラ４２６および／またはＲＧＢカメラ４２８によって捕捉される奥行き情報および視覚（例えば、ＲＧＢ）画像を、通信リンク４３６を介してハブコンピューティングシステム１２に提供する。１つの実施形態では、奥行き画像および視覚画像は、毎秒３０フレームで送信されるが、他のフレームレートを用いてもよい。次に、ハブコンピューティングシステム１２は、モデル、奥行き情報および捕捉された画像を作成し、これらを用いて、例えば、ゲームまたはワードプロセッサ等のアプリケーションを制御し、かつ／またはアバターもしくはスクリーン上のキャラクターをアニメーション化することができる。
【００４７】
上記で説明したハブコンピューティングシステム１２は、ヘッドマウント型ディスプレイデバイス２および処理装置４と合わせて、仮想３次元オブジェクトを１人または複数人の使用者のＦＯＶに挿入し、仮想３次元オブジェクトが現実世界のビューを拡張および／または置換するようにすることができる。１つの実施形態では、ヘッドマウント型ディスプレイデバイス２、処理装置４およびハブコンピューティングシステム１２は、これらのデバイスのそれぞれが、どこで、いつ、どのように仮想３次元オブジェクトを挿入するかを決定するためのデータを取得するのに用いられるセンサのサブセットを備えているので、一緒に機能する。１つの実施形態では、どこで、いつ、どのように仮想３次元オブジェクトを挿入するかを決定する計算は、互いに連動して機能するハブコンピューティングシステム１２および処理装置４によって行われる。しかしながら、さらなる実施形態では、全ての計算は、単独で機能するハブコンピューティングシステム１２または単独で機能する処理装置４によって行われてもよい。他の実施形態では、計算のうちの少なくともいくらかは、ヘッドマウント型ディスプレイ２によって実行することができる。
【００４８】
ハブ１２は、別の使用者のＦＯＶ内の使用者を認識および追跡するための骨格追跡モジュール４５０をさらに備えることができる。広範にわたる骨格追跡技法が存在するが、いくつかのそのような技法が、２０１３年５月７日付で発行された、「Ｓｙｓｔｅｍ  Ｆｏｒ  Ｆａｓｔ，  Ｐｒｏｂａｂｉｌｉｓｔｉｃ  Ｓｋｅｌｅｔａｌ  Ｔｒａｃｋｉｎｇ」と題する米国特許第８，４３７，５０６号に開示されている。ハブ１２は、使用者によって実行されるジェスチャを認識するためのジェスチャ認識エンジン４５４をさらに備えることができる。ジェスチャ認識エンジン４５４に関するさらなる情報は、２００９年４月１３日付で出願された米国特許出願第２０１０／０１９９２３０号、「Ｇｅｓｔｕｒｅ  Ｒｅｃｏｇｎｉｚｅｒ  Ｓｙｓｔｅｍ  Ａｒｃｈｉｔｅｃｔｕｒｅ」に見ることができる。
【００４９】
１つの例示的な実施形態では、ハブコンピューティングシステム１２および処理装置４は一緒に機能して、１人または複数人の使用者が中にいる環境のシーンマップまたはモデルを作成し、その環境内の様々な動いているオブジェクトを追跡する。さらに、ハブコンピューティングシステム１２および／または処理装置４は、使用者１８が装着しているヘッドマウント型ディスプレイデバイス２のＦＯＶを、ヘッドマウント型ディスプレイデバイス２の位置および向きを追跡することによって追跡する。ヘッドマウント型ディスプレイデバイス２によって取得されるセンサ情報は処理装置４に送信される。１つの例では、その情報はハブコンピューティングシステム１２に送信され、ハブコンピューティングシステム１２はシーンモデルを更新し、このシーンモデルを処理装置に返送する。次に、処理装置４は、ヘッドマウント型ディスプレイデバイス２から受信する追加のセンサ情報を用いて使用者のＦＯＶを精緻化し、どこで、いつ、どのように仮想オブジェクトを挿入するかに関する命令をヘッドマウント型ディスプレイデバイス２に提供する。捕捉デバイス２０およびヘッドマウント型ディスプレイデバイス２内のカメラからのセンサ情報に基づいて、シーンモデルおよび追跡情報は、以下で説明するような閉ループフィードバックシステムにおいてハブコンピューティングシステム１２と処理装置４との間で周期的に更新され得る。
【００５０】
図７は、ハブコンピューティングシステム１２を実施するのに用いることができるコンピューティングシステムの例示的な実施形態を示す。図７に示すように、マルチメディアコンソール５００は、レベル１キャッシュ５０２と、レベル２キャッシュ５０４と、フラッシュＲＯＭ（リードオンリメモリ）５０６とを有する中央処理装置（ＣＰＵ）５０１を有する。レベル１キャッシュ５０２およびレベル２キャッシュ５０４はデータを一時的に記憶し、このためメモリアクセスサイクル数を低減し、これによって処理速度およびスループットを改善する。２つ以上のコアを有し、このため追加のレベル１キャッシュ５０２およびレベル２キャッシュ５０４を有するＣＰＵ５０１を提供することができる。フラッシュＲＯＭ５０６は、マルチメディアコンソール５００が電源オンにされたときに、ブートプロセスの初期フェーズ中にロードされる実行可能なコードを記憶することができる。
【００５１】
グラフィック処理装置（ＧＰＵ）５０８およびビデオエンコーダ／ビデオコーデック（コーダ／デコーダ）５１４が、高速かつ高解像度のグラフィック処理のためのビデオ処理パイプラインを形成する。データはグラフィック処理装置５０８からバスを介してビデオエンコーダ／ビデオコーデック５１４に搬送される。ビデオ処理パイプラインは、データをテレビまたは他のディスプレイに送信するためのＡ／Ｖ（オーディオ／ビデオ）ポート５４０に出力する。メモリコントローラ５１０は、限定ではないが、ＲＡＭ（ランダムアクセスメモリ）等の様々なタイプのメモリ５１２へのプロセッサアクセスを容易にするためにＧＰＵ５０８に接続される。
【００５２】
マルチメディアコンソール５００は、モジュール５１８上に実装されることが好ましい、Ｉ／Ｏコントローラ５２０、システム管理コントローラ５２２、オーディオ処理装置５２３、ネットワークインターフェース５２４、第１のＵＳＢホストコントローラ５２６、第２のＵＳＢコントローラ５２８およびフロントパネルＩ／Ｏサブアセンブリ５３０を備える。ＵＳＢコントローラ５２６および５２８は、周辺機器コントローラ５４２（ｌ）−５４２（２）、無線アダプタ５４８および外部メモリデバイス５４６（例えば、フラッシュメモリ、外部ＣＤ／ＤＶＤ  ＲＯＭドライブ、リムーバブルメディア等）のためのホストとしての役割を果たす。ネットワークインターフェース５２４および／または無線アダプタ５４８は、ネットワーク（例えば、インターネット、ホームネットワーク等）へのアクセスを提供し、イーサネットカード、モデム、Ｂｌｕｅｔｏｏｔｈモジュール、ケーブルモデム等を含む広範にわたる様々な有線または無線アダプタコンポーネントのうちの任意のものとすることができる。
【００５３】
システムメモリ５４３は、ブートプロセス中にロードされるアプリケーションデータを記憶するように提供される。メディアドライブ５４４が設けられ、ＤＶＤ／ＣＤドライブ、ブルーレイドライブ、ハードディスクドライブまたは他の取外し可能メディアドライブ等を含むことができる。メディアドライブ５４４は、マルチメディアコンソール５００の内部にあっても外部にあってもよい。アプリケーションデータは、マルチメディアコンソール５００による実行、再生等のためにメディアドライブ５４４を介してアクセスすることができる。メディアドライブ５４４は、シリアルＡＴＡバスまたは他の高速接続（例えば、ＩＥＥＥ１３９４）等のバスを介してＩ／Ｏコントローラ５２０に接続される。
【００５４】
システム管理コントローラ５２２は、マルチメディアコンソール５００の利用可能性を確保することに関する多岐にわたるサービス機能を提供する。オーディオ処理装置５２３およびオーディオコーデック５３２は、高い忠実性およびステレオ処理を有する対応するオーディオ処理パイプラインを形成する。オーディオ処理装置５２３とオーディオコーデック５３２との間で通信リンクを介してオーディオデータが搬送される。オーディオ処理パイプラインは、オーディオ機能を有する外部オーディオ使用者またはデバイスによる再生のために、データをＡ／Ｖポート５４０に出力する。
【００５５】
フロントパネルＩ／Ｏサブアセンブリ５０３は、電力ボタン５５０およびイジェクトボタン５５２、ならびにマルチメディアコンソール５００の外面上に露出する任意のＬＥＤ（発光ダイオード）または他のインジケータをサポートする。システム電力供給モジュール５３６は、マルチメディアコンソール５００のコンポーネントに電力を提供する。ファン５３８は、マルチメディアコンソール５００内の回路を冷却する。
【００５６】
マルチメディアコンソール５００内のＣＰＵ５０１、ＧＰＵ５０８、メモリコントローラ５１０、および様々な他のコンポーネントは、シリアルバスおよびパラレルバス、メモリバス、周辺バス、およびプロセッサまたはローカルバスを含む１つまたは複数のバスを介して、多岐にわたるバスアーキテクチャのうちの任意のものを用いて相互接続される。例として、そのようなアーキテクチャは、周辺コンポーネント相互接続（ＰＣＩ）バス、ＰＣＩ−Ｅｘｐｒｅｓｓバス等を含むことができる。
【００５７】
マルチメディアコンソール５００が電源オンにされると、アプリケーションデータをシステムメモリ５４３からメモリ５１２および／またはキャッシュ５０２、５０４内にロードし、ＣＰＵ５０１において実行することができる。アプリケーションは、マルチメディアコンソール５００上で利用可能な様々なメディアタイプにナビゲートするときに一貫したユーザ体験を提供するグラフィカルユーザインターフェースを表すことができる。動作時に、メディアドライブ５４４内に含まれるアプリケーションおよび／または他のメディアは、マルチメディアコンソール５００にさらなる機能を提供するためにメディアドライブ５４４から起動または再生することができる。
【００５８】
マルチメディアコンソール５００は、システムをテレビまたは他のディスプレイに単に接続することによってスタンドアロンシステムとして動作することができる。このスタンドアロンモードでは、マルチメディアコンソール５００は、１人または複数人の使用者がシステムとインタラクトするか、映画を見るか、または音楽を聴くことを可能にする。しかしながら、ネットワークインターフェース５２４または無線アダプタ５４８を通じてブロードバンド接続性の統合が利用可能になると、マルチメディアコンソール５００はさらに、より大型のネットワークコミュニティの参加者として動作することができる。さらに、マルチメディアコンソール５００は無線アダプタ５４８を介して処理装置４と通信することができる。
【００５９】
オプションの入力デバイス（例えば、コントローラ５４２（１）および５４２（２））が、ゲームアプリケーションおよびシステムアプリケーションによって共有される。入力デバイスは予約済みリソースではないが、システムアプリケーションとゲームアプリケーションとの間で、それぞれがデバイスのフォーカスを有するように切り替えられる。アプリケーションマネージャーは、ゲームアプリケーションの知識を知ることなく入力ストリームの切替えを制御することが好ましく、ドライバはフォーカスの切替えに関する状態情報を保持する。捕捉デバイス２０は、ＵＳＢコントローラ５２６または他のインターフェースを介してコンソール５００のための追加の入力デバイスを定義することができる。他の実施形態では、ハブコンピューティングシステム１２は、他のハードウェアアーキテクチャを用いて実施することができる。ハードウェアアーキテクチャは１つも必要とされない。
【００６０】
図１に示すヘッドマウント型ディスプレイデバイス２および処理装置４（合わせてモバイルディスプレイデバイスと呼ばれることもある）は、１つのハブコンピューティングシステム１２（ハブ１２とも呼ばれる）と通信する。モバイルディスプレイデバイスのそれぞれは、上記で説明したように、無線通信を用いてハブと通信することができる。そのような一実施形態では、モバイルディスプレイデバイスに有用な情報のうちの多くがハブにおいて計算および記憶され、モバイルディスプレイデバイスのそれぞれに送信されると考えられる。例えば、ハブは環境のモデルを生成し、このモデルを、ハブと通信するモバイルディスプレイデバイスの全てに提供する。さらに、ハブは部屋内のモバイルディスプレイデバイスおよび移動オブジェクトの位置および向きを追跡し、その情報をモバイルディスプレイデバイスのそれぞれに転送することができる。
【００６１】
別の実施形態では、システムは複数のハブ１２を備えることができ、それぞれのハブが１つまたは複数のモバイルディスプレイデバイスを備える。ハブは、互いに直接またはインターネット（または他のネットワーク）を介して通信することができる。そのような実施形態は、２０１０年１０月１５日付で出願された、「Ｆｕｓｉｎｇ  Ｖｉｒｔｕａｌ  Ｃｏｎｔｅｎｔ  Ｉｎｔｏ  Ｒｅａｌ  Ｃｏｎｔｅｎｔ」と題するＦｌａｋｓ他の米国特許出願第１２／９０５，９５２号に開示されている。
【００６２】
また、さらなる実施形態では、ハブ１２は完全に省くことができる。そのような実施形態の１つの利点は、本システムの複合現実体験が完全に移動性となり、屋内または屋外双方の設定で用いることができることである。そのような実施形態では、以下に続く説明においてハブ１２によって実行される全ての機能を、代替的に、処理装置４のうちの１つによって実行することができる。これらの処理装置４のうちのいくつかが連動して動作するか、または処理装置４の全てが連動して動作する。そのような実施形態では、それぞれのモバイルディスプレイデバイス２がシステム１０の全ての機能を実行する。これらの機能は、状態データ、シーンマップ、各使用者のシーンマップのビュー、全てのテクスチャおよびレンダリング情報、ビデオおよびオーディオデータ、ならびに本明細書において説明される動作を実行するための他の情報の生成および更新を含む。以下で図９のフローチャートに関して説明する実施形態は、ハブ１２を含む。しかしながら、そのような各実施形態において、１つまたは複数の処理装置４は代替的にハブ１２の全ての説明される機能を実行することができる。
【００６３】
図８は、共有仮想オブジェクト４６０およびプライベート仮想オブジェクト４６２ａ、４６２ｂ（合わせて、プライベート仮想オブジェクト４６２）を含む本技術の例を示す。図８および他の図に示す仮想オブジェクト４６０、４６２は、ヘッドマウント型ディスプレイデバイス２を通じて可視である。
【００６４】
共有仮想オブジェクト４６０は可視であり、様々な使用者、図８の例では２人の使用者１８ａ、１８ｂ間で共有される。各使用者は、自身の観点から同じ共有オブジェクト４６０を見ることができ、使用者は、以下で説明するように、共有オブジェクト４６０と協力してインタラクトすることができる。図８は単一の共有仮想オブジェクト４６０を示しているが、さらなる実施形態では２つ以上の共有仮想オブジェクトが存在することができることが理解される。複数の共有仮想オブジェクトが存在する場合、これらは互いに関係付けることができるか、または互いに独立することができる。
【００６５】
共有仮想オブジェクトは、例えば、３次元空間における外観、コンテンツ、位置、オブジェクトがインタラクティブである度合い、またはこれらの属性のうちのいくつかを含む状態データによって定義することができる。状態データは、時折、例えば、共有仮想オブジェクトが動かされたとき、コンテンツが変更されたとき、または何らかの形でインタラクトされたときに変化することができる。使用者１８ａ、１８ｂ（および存在する場合、他の使用者）はそれぞれ、共有仮想オブジェクト４６０について同じ状態データを受信することができ、それぞれが状態データに対する同じ更新を受信することができる。したがって、使用者は、独自の観点からであるが同じ共有仮想オブジェクトを見ることができ、使用者は、使用者および／または共有仮想オブジェクト４６０を制御するソフトウェアアプリケーションのうちの１つまたは複数によって共有仮想オブジェクト４６０に対し変更が行われる度に、それぞれがその同じ変更を見ることができる。
【００６６】
多くの例のうちの１つとして、図８に示す共有仮想オブジェクト４６０は仮想カルーセルであり、この仮想カルーセルの外縁の回りに複数の仮想表示スレート４６４を備える。各表示スレート４６４は、異なるコンテンツ４６６を表示することができる。（上記で説明した）不透過フィルタ１１４を用いて、現実世界オブジェクトおよび各仮想表示スレート４６４の（使用者の視点から）後ろの光をマスキングし、各仮想表示スレート４６４がコンテンツを表示するための仮想スクリーンとして見えるようにする。図８に示す表示スレート４６４の数は例であり、さらなる実施形態では変動する場合がある。各使用者のヘッドマウント型ディスプレイデバイス２は、各使用者の観点から仮想表示スレート４６４を表示し、仮想表示スレート上にコンテンツ４６６を表示することが可能である。上記に示したように、３次元空間における仮想カルーセルのコンテンツおよび位置は、各使用者１８ａ、１８ｂについて同じとすることができる。
【００６７】
各仮想表示スレート４６４に表示されるコンテンツは、写真、イラスト、テキストおよびグラフィック、またはビデオ等の動的コンテンツを含む、広範にわたるコンテンツとすることができる。仮想表示スレート４６４は、コンピュータモニタとしてさらに動作することができ、それによって、コンテンツ４６６は、電子メール、ウェブページ、ゲーム、またはモニタ上に提示される任意の他のコンテンツとすることができる。ハブ１２上で実行されるソフトウェアアプリケーションは、仮想表示スレート４６４上に表示されるコンテンツを決定することができる。代替的にまたはさらに、使用者は、仮想表示スレート４６４に対し、コンテンツ４６６の追加、変更または除去を行うことができる。
【００６８】
各使用者１８ａ、１８ｂは、仮想カルーセルを歩き回って様々な表示スレート４６４上の様々なコンテンツ４６６を見ることができる。以下でさらに詳細に説明するように、各それぞれの表示スレート４６４の位置がシーンの３次元空間内で既知であり、各ヘッドマウント型ディスプレイデバイス２のＦＯＶが既知である。このため、各ヘッドマウント型ディスプレイは、使用者がどこを見ているか、いずれの表示スレート４６４が使用者のＦＯＶ内にあるか、およびコンテンツ４６６がこれらの表示スレート４６４上でどのように見えるかを判断することができる。
【００６９】
本技術の特徴は、使用者が、例えば独自のプライベート仮想オブジェクト（以下で説明する）を用いて、共有仮想オブジェクトに対し共に協力することができることである。図８の例では、使用者１８ａ、１８ｂは仮想カルーセルとインタラクトしてこの仮想カルーセルを回転し、様々な表示スレート４６４上の様々なコンテンツ４６６を見ることができる。使用者１８ａ、１８ｂのうちの１人が仮想カルーセルとインタラクトしてこの仮想カルーセルを回転させると、共有仮想オブジェクト４６０の状態データが使用者ごとに更新される。正味の影響は、１人の使用者が仮想カルーセルを回転させると、仮想カルーセルが、この仮想カルーセルを見ている全ての使用者について同じように回転することである。
【００７０】
いくつかの実施形態では、使用者は、共有仮想オブジェクト４６０内のコンテンツ４６６とインタラクトして、表示されたコンテンツを除去、追加および／または変更することが可能であり得る。コンテンツが使用者または共有仮想オブジェクト４６０を制御するソフトウェアアプリケーションによって変更されると、これらの変更は各使用者１８ａ、１８ｂに可視になる。
【００７１】
実施形態において、各使用者は、共有仮想オブジェクトを見てこの共有仮想オブジェクトとインタラクトする同じ能力を有することができる。さらなる実施形態では、異なる使用者は、これらの異なる使用者が共有仮想オブジェクト４６０とインタラクトすることができる度合いを定義する異なる許可ポリシを有してもよい。許可ポリシは、共有仮想オブジェクト４６０を提示するソフトウェアアプリケーションおよび／または１人または複数人の使用者によって定義することができる。例として、使用者１８ａ、１８ｂのうちの１人は、スライドショーまたは他のプレゼンテーションを他の使用者に提示している場合がある。そのような例では、スライドショーを提示している使用者は、仮想カルーセルを回転させる能力を有することができる一方、他の使用者は回転させることができない。
【００７２】
使用者の許可ポリシにおける定義に応じて、共有仮想コンテンツのいくつかの部分が何人かの使用者に可視であるが、他の使用者には可視でないことも考えられる。ここでもまた、これらの許可ポリシは、共有仮想オブジェクト４６０を提示するソフトウェアアプリケーションおよび／または１人または複数人の使用者によって定義することができる。スライドショーの例を続けると、スライドショーを提示する使用者は、提示者には可視であるが他者には可視でないノートをスライドショー上に表示することができる。スライドショーの説明は単なる例であり、異なる使用者が、共有仮想オブジェクト４６０を見てこの共有仮想オブジェクト４６０とインタラクトするための異なる許可を有する広範にわたる他のシナリオが存在し得る。
【００７３】
共有仮想オブジェクトに加えて、本技術は、プライベート仮想オブジェクト４６２を含むことができる。使用者１８ａはプライベート仮想オブジェクト４６２ａを有し、使用者１８ｂはプライベート仮想オブジェクト４６２ｂを有する。さらなる使用者を含む例では、そのような各使用者は独自のプライベート仮想オブジェクト４６２を有することができる。さらなる実施形態において、使用者は、２つ以上のプライベート仮想オブジェクト４６２を有することができる。
【００７４】
共有仮想オブジェクトと異なり、プライベート仮想オブジェクト４６２は、このプライベート仮想オブジェクト４６２が関連付けられた使用者にのみ可視とすることができる。このため、プライベート仮想オブジェクト４６２ａは、使用者１８ａに可視であるが使用者１８ｂには可視でないものとすることができる。プライベート仮想オブジェクト４６２ｂは、使用者１８ｂに可視であるが使用者１８ａには可視でないものとすることができる。さらに、実施形態では、使用者のプライベート仮想オブジェクト４６２のために、使用者のプライベート仮想オブジェクト４６２によって、または使用者のプライベート仮想オブジェクト４６２に関係して生成された状態データは、複数の使用者間で共有されない。
【００７５】
さらなる実施形態では、プライベート仮想オブジェクトのための状態データが２人以上の使用者間で共有され、プライベート仮想オブジェクトが２人以上の使用者に可視であることも考えられる。状態データの共有および使用者１８が別のプライベート仮想オブジェクト４６２を見る能力は、その使用者の許可ポリシにおいて定義することができる。上記のように、許可ポリシは、プライベート仮想オブジェクト４６２を提示するアプリケーションおよび／または１人または複数人の使用者１８によって設定することができる。
【００７６】
プライベート仮想オブジェクト４６２は、広範にわたる目的で提供することができ、広範にわたる形態をとるかまたは広範にわたるコンテンツを含むことができる。１つの例では、プライベート仮想オブジェクト４６２を用いて共有仮想オブジェクト４６０とインタラクトすることができる。図８の例では、プライベート仮想オブジェクト４６２ａは、使用者１８ａが共有仮想オブジェクト４６０とインタラクトすることを可能にする制御部またはコンテンツ等の仮想オブジェクト４６８ａを含むことができる。例えば、プライベート仮想オブジェクト４６２ａは、使用者１８ａが共有仮想オブジェクト４６０上のコンテンツを追加、削除または変更することを可能にするか、または共有仮想オブジェクト４６０のカルーセルを回転させることを可能にする仮想制御部を有することができる。同様に、プライベート仮想オブジェクト４６２ｂは、使用者１８ｂが共有仮想オブジェクト４６０上のコンテンツを追加、削除または変更することを可能にするか、または共有仮想オブジェクト４６０のカルーセルを回転させることを可能にする仮想制御部を有することができる。
【００７７】
プライベート仮想オブジェクト４６８は、広範にわたる方式で共有仮想オブジェクト４６０とのインタラクションを可能にすることができる。一般的に、使用者のプライベート仮想オブジェクト４６８とのインタラクションは、そのプライベート仮想オブジェクト４６８を制御するソフトウェアアプリケーションによって定義することができる。使用者が定義された方式で自身のプライベート仮想オブジェクト４６８とインタラクトするとき、ソフトウェアアプリケーションは、共有仮想オブジェクト４６０における関連付けられた変化またはインタラクションに影響を及ぼす場合がある。図８の例では、各使用者のプライベート仮想オブジェクト４６８は、使用者が自身の指をバー上でスワイプすると、仮想カルーセルが指のスワイプ方向に回転するようなスワイプバーを備えることができる。使用者が自身のプライベート仮想オブジェクト４６８とインタラクトして共有仮想オブジェクト４６０における何らかの変更またはインタラクションに影響を与えるための広範にわたる他の制御部および定義されたインタラクションを提供することができる。
【００７８】
プライベート仮想オブジェクト４６８を用いると、共有オブジェクト４６０との様々な使用者のインタラクションが互いに対立する場合があることが生じ得る。例えば、図８の例では、ある使用者は仮想カルーセルを１つの方向に回転させることを試みる場合がある一方、他の使用者は、仮想カルーセルを反対方向に回転させることを試みる場合がある。共有仮想オブジェクト４６０および／またはプライベート仮想オブジェクト４６２を制御するソフトウェアアプリケーションは、そのような対立を扱うための対立解決方式を有することができる。例えば、使用者のうちの１人は、使用者のそれぞれの許可ポリシにおいて規定されているように、共有オブジェクト４６０とのインタラクトに関して他者よりも高い優先度を有してもよい。代替的に、対立に関して双方の使用者に警告し、これを解消する機会をこれらの使用者に与える新たな共有仮想オブジェクト４６０が双方の使用者に対し現れてもよい。
【００７９】
プライベート仮想オブジェクト４６８は、共有仮想オブジェクト４６０とのインタラクション以外の使用法を有することができる。プライベート仮想オブジェクト４６８を用いて、多岐にわたる情報およびコンテンツを使用者に表示することができる。この情報およびコンテンツはその使用者に対しプライベートなままにされる。
【００８０】
共有仮想オブジェクトは、多岐にわたる形態のうちの任意のものとすることができ、および／または多岐にわたる異なるコンテンツのうちの任意のものを提示することができる。図９は図８に類似した例であるが、図９では、仮想表示スレート４６４は、仮想カルーセルに組み立てられる代わりに使用者のそばを漂流していくことができる。図８の例のように、各使用者は共有仮想オブジェクト４６０とインタラクトするためのプライベート仮想オブジェクト４６２を有することができる。例えば、各プライベート仮想オブジェクト４６２ａ、４６２ｂは、いずれかの方向に仮想表示スレート４６４をスクロールする制御部を備えることができる。プライベート仮想オブジェクト４６２ａ、４６２ｂは、仮想表示スレート４６４または共有仮想オブジェクト４６０と他の形でインタラクトする、例えば共有仮想オブジェクトに対し、コンテンツを変更、追加または除去するための制御部をさらに備えることができる。
【００８１】
実施形態では、共有仮想オブジェクト４６０およびプライベート仮想オブジェクト４６２は、共有仮想オブジェクト４６０における使用者間の協力を容易にするように提供することができる。図８および図９に示す例において、使用者は、様々な仮想表示スレート４６４におけるコンテンツ４６６を見ることおよび目を通すことにおいて協力することができる。使用者のうちの１人がスライドショーまたはプレゼンテーションを提示していてもよく、または複数の使用者１８が単にコンテンツを一緒に見ていてもよい。図１０は、使用者１８が仮想表示スレート４６４におけるコンテンツ４６６を作成する際に共に協力することができる一実施形態である。
【００８２】
例えば、使用者１８は、ペイント、写真または他の画像の作成に一緒に取り組むことができる。各使用者は、自身がインタラクトすることができ、共有仮想オブジェクト４６０にコンテンツを加えることができるプライベート仮想オブジェクト４６２ａ、４６２ｂを有することができる。さらなる実施形態では、共有仮想オブジェクト４６０は異なる領域に分断することができ、各使用者が割り当てられた領域に自身のプライベート仮想オブジェクト４６２を介してコンテンツを追加する。
【００８３】
図８および図９の例では、共有仮想オブジェクト４６０は複数の仮想表示スレート４６４の形態をとり、図１０の例において、共有仮想オブジェクト４６０は単一の仮想表示スレート４６４の形態をとる。しかしながら、共有仮想オブジェクトは、さらなる実施形態において仮想表示スレートである必要がない。１つのそのような例が図１１に示されている。この実施形態では、使用者１８は、共に協力して、仮想自動車の形態の共有仮想オブジェクト４６０を作成および／または変更する。上記で説明したように、使用者は、それぞれ自身のプライベート仮想オブジェクト４６２ａ、４６２ｂとインタラクトすることによって協力して仮想自動車を作成および／または変更することができる。
【００８４】
上記で説明した実施形態において、共有仮想オブジェクト４６０およびプライベート仮想オブジェクト４６２は空間において分離している。これらはさらなる実施形態では分離している必要がない。図１２は、プライベート仮想オブジェクト４６２である部分と、共有仮想オブジェクト４６０である部分とを含むハイブリッド仮想オブジェクト４６８を含む実施形態を示す。プライベート仮想オブジェクト４６２および共有仮想オブジェクト４６０の双方の位置がハイブリッド仮想オブジェクト４６８において変動する場合があることが理解されよう。この例において、使用者１８は、共有仮想オブジェクト４６０においてゲームをプレイしている場合があり、各使用者のプライベート仮想オブジェクト４６２は、共有仮想オブジェクト４６０上で生じるものを制御する。上記のように、各使用者は独自のプライベート仮想オブジェクト４６２を見ることができるが、他の使用者のプライベート仮想オブジェクト４６２を見ることが可能であってはならない。
【００８５】
上記に示したように、実施形態において、全ての使用者１８は単一の共通の共有仮想オブジェクト４６０を見て、この共有仮想オブジェクト４６０において協力することができる。共有仮想オブジェクト４６０は、３次元空間内のデフォルト位置に位置決めすることができ、このため、共有仮想オブジェクト４６０を提供するソフトウェアアプリケーションまたは１人もしくは複数人の使用者によって初期設定され得る。したがって、共有仮想オブジェクト４６０は３次元空間において固定のままであってもよく、１人もしくは複数人の使用者１８および／または共有仮想オブジェクト４６０を提供するソフトウェアアプリケーションによって移動可能であってもよい。
【００８６】
使用者１８のうちの１人が、例えばそれぞれの使用者の許可ポリシにおいて定義されているように共有仮想オブジェクト４６０の制御を有する場合、共有仮想オブジェクト４６０がこの共有仮想オブジェクト４６０の制御を有する使用者に本体をロックされていることが想定される。そのような実施形態では、共有仮想オブジェクト４６０は、制御している使用者１８と共に動く場合があり、残りの使用者１８は、自身の共有仮想オブジェクト４６０のビューを維持するために、制御している使用者１８と共に動く場合がある。
【００８７】
図１４に示すさらなる実施形態では、各使用者は単一の共有仮想オブジェクト４６０の独自のコピーを有することができる。すなわち、共有仮想オブジェクト４６０のコピーごとの状態データは、使用者１８のそれぞれについて同じままである場合がある。このため、例えば、使用者１８のうちの１人が仮想表示スレート４６４のコンテンツを変更する場合、この変更は共有仮想オブジェクト４６０の全てのコピー上に現れ得る。一方、各使用者１８は共有仮想オブジェクト４６０の自身のコピーと自由にインタラクトする。図１２の例では、１人の使用者１８は、仮想カルーセルの自身のコピーを他の使用者と異なる向きに回転した場合がある。図１２の例では、使用者１８ａ、１８ｂは同じ画像を見ており、例えば、画像を変更するように協力している。一方、上記の例におけるように、各使用者は、異なる画像を見て、かつ／または異なる距離および観点から共有オブジェクト４６０を見るために、共有仮想オブジェクト４６０の自身のコピーをあちこちに動かす場合がある。各使用者が共有仮想オブジェクト４６０の独自のコピーを有する場合、ある使用者の共有仮想オブジェクト４６０のコピーは、他の使用者に可視であっても可視でなくてもよい。
【００８８】
図８〜図１３は、１つまたは複数の共有仮想オブジェクト４６０およびプライベート仮想オブジェクト４６２をどのように使用者１８に提示することができるか、ならびに、使用者が１つまたは複数の共有仮想オブジェクト４６０およびプライベート仮想オブジェクト４６２とどのようにインタラクトすることができるかのいくつかの例を示す。１つまたは複数の共有仮想オブジェクト４６０およびプライベート仮想オブジェクト４６２が広範にわたる他の外観、インタラクティブな特徴および機能を有し得ることが理解されよう。
【００８９】
図１４は、各使用者に対し画像データの単一フレームを生成し、レンダリングし、表示するのにかかる時間等の離散時間期間中のハブコンピューティングシステム１２、処理装置４およびヘッドマウント型ディスプレイデバイス２の動作およびインタラクティブ性の高レベルフローチャートである。実施形態では、データは６０Ｈｚのレートでリフレッシュすることができるが、さらなる実施形態ではより高い頻度またはより低い頻度でリフレッシュしてもよい。
【００９０】
通常、システムは、環境、ならびに使用者、現実世界オブジェクトおよび仮想オブジェクト等の環境内のオブジェクトのｘ、ｙ、ｚ座標を有するシーンマップを生成する。上記で示したように、共有仮想オブジェクト４６０およびプライベート仮想オブジェクト４６２は、ハブコンピューティングシステム１２上で実行されているアプリケーションまたは１人または複数人の使用者１８によって環境内に仮想的に配置することができる。システムは各使用者のＦＯＶも追跡する。全ての使用者がシーンの同じ面を見ている可能性があり得る一方で、使用者はこれらを異なる観点から見ている。このため、システムはシーンの各人物のＦＯＶを生成して、ここでも使用者ごとに異なる場合がある、仮想世界オブジェクトまたは現実世界オブジェクトの視差および遮蔽を調整する。
【００９１】
画像データの所与のフレームについて、使用者のビューは、１つまたは複数の現実オブジェクトおよび／または仮想オブジェクトを含むことができる。使用者が頭部を、例えば左から右にまたは上下に回すと、使用者のＦＯＶ内の現実世界オブジェクトの相対位置がその使用者のＦＯＶ内で固有に動く。例えば、図１の植物２３は、最初に使用者のＦＯＶの右側に現れる場合がある。しかし、次に使用者が頭部を右に向けて回すと、植物２３は結果的にこの使用者のＦＯＶの左側にあることになる場合がある。
【００９２】
しかしながら、使用者が頭部を動かすときの、この使用者に対する仮想オブジェクトの表示はより困難な問題である。使用者が自身のＦＯＶ内にワールドロックされた仮想オブジェクトを見ている例では、使用者がＦＯＶを左に動かすように頭部を左に動かした場合、仮想オブジェクトの表示も使用者のＦＯＶシフト分だけ右側にシフトされ、それによって、仮想オブジェクトがＦＯＶ内で安定したままであることが正味の影響となるようにする必要がある。ワールドおよび本体をロックされた仮想オブジェクトを適切に表示するためのシステムを、以下で図１４〜図１７のフローチャートに関して説明する。
【００９３】
１人または複数人の使用者１８に複合現実を提示するためのシステムをステップ６００において構成することができる。例えば、使用者１８またはシステムのオペレータは、例えば共有仮想オブジェクト４６０を含む、提示される仮想オブジェクトを指定することができる。使用者は、共有仮想オブジェクト４６０および／または独自のプライベート仮想オブジェクト４６２のコンテンツ、ならびに、これらがどのように、いつおよびどこで提示されるかも構成することができる。
【００９４】
ステップ６０４および６３０において、ハブ１２および処理装置４はシーンからデータを収集する。ハブ１２の場合、これは、捕捉デバイス２０の奥行きカメラ４２６およびＲＧＢカメラ４２８によって感知される画像およびオーディオデータとすることができる。処理装置４の場合、これは、ヘッドマウント型ディスプレイデバイス２、特にカメラ１１２、指標追跡アセンブリ１４およびＩＭＵ１３２によってステップ６５６において感知される画像データとすることができる。ヘッドマウント型ディスプレイデバイス２によって収集されるデータは、ステップ６５６において処理装置４に送信される。処理装置４がこのデータを処理し、そしてステップ６３０においてこのデータをハブ１２に送信する。
【００９５】
ステップ６０８において、ハブ１２は、ハブ１２が自身の捕捉デバイス２０および１つまたは複数の処理装置４の画像データを連係させることを可能にする様々なセットアップ動作を実行する。特に、シーンに関して捕捉デバイス２０の位置が知られている場合であっても（そうでない場合もある）、ヘッドマウント型ディスプレイデバイス２上のカメラはシーン内を動き回っている。したがって、実施形態では、撮像カメラのそれぞれの位置および時間のキャプチャが、シーンに対し、互いに対し、およびハブ１２に対し較正される必要がある。次に、図１５のフローチャートを参照してステップ６０８のさらなる詳細を説明する。
【００９６】
ステップ６０８の１つの動作は、ステップ６７０においてシステム１０内の様々な撮像デバイスのクロックオフセットを求めることを含む。特に、システム内のカメラのそれぞれからの画像データを連係させるために、連係されている画像データが同じ時点のものであることが確認され得る。画像データのクロックオフセットおよび同期を求めることに関する詳細は、２０１０年５月３日付で出願された、「Ｈｅｔｅｒｏｇｅｎｅｏｕｓ  Ｉｍａｇｅ  Ｓｅｎｓｏｒ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ」と題する米国特許出願第１２／７７２，８０２号、および２０１０年６月３日付で出願された、「Ｓｙｎｔｈｅｓｉｓ  Ｏｆ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｆｒｏｍ  Ｍｕｌｔｉｐｌｅ  Ａｕｄｉｏｖｉｓｕａｌ  Ｓｏｕｒｃｅｓ」と題する米国特許出願第１２／７９２，９６１号に開示されている。通常、捕捉デバイス２０からの画像データ、および１つまたは複数の処理装置４から到来する画像データは、ハブ１２における単一のマスタークロックからタイムスタンプ処理される。所与のフレームの全てのそのようなデータに対しタイムスタンプを用い、また、カメラのそれぞれについて既知の解像度を用いて、ハブ１２は、システム内の撮像カメラのそれぞれについて時間オフセットを求める。これにより、ハブ１２は、各カメラから受信した画像間の差を求め、これらの画像に対する調整を求めることができる。
【００９７】
ハブ１２は、カメラの受信フレームのうちの１つから基準タイムスタンプを選択することができる。次に、ハブ１２は、全ての他のカメラから受信した画像データに対し時間を加算または減算し、基準タイムスタンプと同期させることができる。時間オフセットを求めるために、かつ／または較正プロセスのために異なるカメラを共に同期させるために、多岐にわたる他の動作を用いることができることが理解されよう。時間オフセットの決定は、全てのカメラからの画像データの最初の受信時に１回行うことができる。代替的に、この決定は、例えば各フレームまたはある数のフレーム等、周期的に行ってもよい。
【００９８】
ステップ６０８は、シーンのｘ、ｙ、ｚデカルト空間において互いに対し全てのカメラの位置を較正する動作をさらに含む。この情報がわかると、ハブ１２および／または１つもしくは複数の処理装置４は、シーンのジオメトリ、およびシーン内のオブジェクト（使用者を含む）のジオメトリおよび位置を特定するシーンマップまたはモデルを形成することができる。全てのカメラの画像データを互いに対し較正する際、奥行きおよび／またはＲＧＢデータを用いることができる。ＲＧＢ情報のみを用いてカメラビューを較正するための技術は、２００７年５月１７日付で公開された「Ｎａｖｉｇａｔｉｎｇ  Ｉｍａｇｅｓ  Ｕｓｉｎｇ  Ｉｍａｇｅ  Ｂａｓｅｄ  Ｇｅｏｍｅｔｒｉｃ  Ａｌｉｇｎｍｅｎｔ  ａｎｄ  Ｏｂｊｅｃｔ  Ｂａｓｅｄ  Ｃｏｎｔｒｏｌｓ」と題する米国特許出願公開第２００７／０１１０３３８号に記載されている。
【００９９】
システム１０における撮像カメラはそれぞれ、異なるカメラからの画像を較正するために補正される必要があるいくらかのレンズ歪みを有する場合がある。ステップ６０４および６３０においてシステム内の様々なカメラからの全ての画像データが受信されると、画像データは、ステップ６７４において、様々なカメラのレンズ歪みを計上するように調整することができる。所与のカメラの歪み（奥行きまたはＲＧＢ）は、カメラ製造者によって提供される既知の特性とすることができる。そうでない場合、例えば、カメラのＦＯＶ内の異なるロケーションにおけるチェッカー盤パターン等の既知の寸法のオブジェクトを撮像することを含む、カメラの歪みを計算するためのアルゴリズムが知られている。その画像内の点のカメラビュー座標内のずれは、カメラレンズ歪みの結果として生じるものである。レンズ歪みの度合いがわかると、既知の逆行列変換によって歪みを補正することができ、この結果、所与のカメラのためのポイントクラウド内の点の一様カメラビューマップが得られる。
【０１００】
次に、ハブ１２は、カメラビューから各カメラによって捕捉された、歪み補正された画像データポイントを、ステップ６７８において直交３Ｄワールドビューに変換することができる。この直交３Ｄワールドビューは、直交ｘ、ｙ、ｚデカルト座標系において捕捉デバイス２０およびヘッドマウント型ディスプレイデバイスカメラによって捕捉される全ての画像データのポイントクラウドマップである。カメラビューを直交３Ｄワールドビューに変換するための行列変換式が知られている。例えば、Ｄａｖｉｄ  Ｈ．Ｅｂｅｒｌｙ「３ｄ  Ｇａｍｅ  Ｅｎｇｉｎｅ  Ｄｅｓｉｇｎ：Ａ  Ｐｒａｃｔｉｃａｌ  Ａｐｐｒｏａｃｈ  Ｔｏ  Ｒｅａｌ−Ｔｉｍｅ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ」Ｍｏｒｇａｎ  Ｋａｕｆｍａｎ  Ｐｕｂｌｉｓｈｅｒｓ（２０００）を参照されたい。また、上述した米国特許出願第１２／７９２，９６１号も参照されたい。
【０１０１】
システム１０内の各カメラは、ステップ６７８において直交３Ｄワールドビューを構成することができる。所与のカメラからのデータポイントのｘ、ｙ、ｚワールド座標は、依然としてステップ６７８の結果におけるカメラの観点からのものであり、システム１０内の他のカメラからのデータポイントのｘ、ｙ、ｚワールド座標にまだ相関していない。次のステップは、異なるカメラの様々な直交３Ｄワールドビューを、システム１０内の全てのカメラによって共有される単一の全体３Ｄワールドビューに変換することである。
【０１０２】
これを達成するために、ハブ１２の実施形態は次に、ステップ６８２においてそれぞれのカメラのワールドビューのポイントクラウドにおいて、キーポイント不連続性またはキューを探すことができ、次に、ステップ６８４において、様々なカメラの様々なポイントクラウド間で同じであるキューを特定する。ハブ１２は、２つの異なるカメラの２つのワールドビューが同じキューを含むと判断することができた時点で、ステップ６８８において、２つのカメラの位置、向きおよび焦点距離を、互いに対しおよびキューに対し求めることができる。実施形態において、システム１０内の全てのカメラが同じ共通キューを共有するわけではない。しかしながら、第１のカメラおよび第２のカメラが共有キューを有し、これらのカメラのうちの少なくとも１つが第３のカメラとの共有ビューを有する限り、ハブ１２は、第１のカメラ、第２のカメラおよび第３のカメラの位置、向きおよび焦点距離を、互いに対しおよび単一の全体３Ｄワールドビューに対し求めることができる。システム内のさらなるカメラについて同じことが当てはまる。
【０１０３】
画像ポイントクラウドからキューを特定するための様々な既知のアルゴリズムが存在する。そのようなアルゴリズムは、例えば、Ｍｉｋｏｌａｊｃｚｙｋ，Ｋ．およびＳｃｈｍｉｄ，Ｃ．「Ａ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｅｖａｌｕａｔｉｏｎ  ｏｆ  Ｌｏｃａｌ  Ｄｅｓｃｒｉｐｔｏｒｓ」ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ＆  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，２７，１０，１６１５−１６３０．（２００５）に示されている。画像データを用いてキューを検出するさらなる方法は、スケール不変特徴変換（SIFT）アルゴリズムである。ＳＩＦＴアルゴリズムは、例えば、２００４年３月２３日付で発行された、「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｉｄｅｎｔｉｆｙｉｎｇ  Ｓｃａｌｅ  Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅｓ  ｉｎ  ａｎ  Ｉｍａｇｅ  ａｎｄ  Ｕｓｅ  ｏｆ  Ｓａｍｅ  ｆｏｒ  Ｌｏｃａｔｉｎｇ  ａｎ  Ｏｂｊｅｃｔ  ｉｎ  ａｎ  Ｉｍａｇｅ」と題する米国特許第６，７１１，２９３号に記載されている。別のキュー検出器方法は、最大安定極値領域（MSER）アルゴリズムである。ＭＳＥＲアルゴリズムについては、例えば、Ｊ．Ｍａｔａｓ、Ｏ．Ｃｈｕｍ、Ｍ．ＵｒｂａおよびＴ．Ｐａｊｄｌａによる論文「Ｒｏｂｕｓｔ  Ｗｉｄｅ  Ｂａｓｅｌｉｎｅ  Ｓｔｅｒｅｏ  Ｆｒｏｍ  Ｍａｘｉｍａｌｌｙ  Ｓｔａｂｌｅ  Ｅｘｔｒｅｍａｌ  Ｒｅｇｉｏｎｓ」Ｐｒｏｃ．ｏｆ  Ｂｒｉｔｉｓｈ  Ｍａｃｈｉｎｅ  Ｖｉｓｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ，ｐａｇｅｓ  ３８４−３９６（２００２）に記載されている。
【０１０４】
ステップ６８４において、２つ以上のカメラからのポイントクラウド間で共有されるキューが特定される。概念上、第１のカメラと第１のカメラのデカルト座標系内の１組のキューとの間に第１のベクトル組が存在し、第２のカメラと、第２のカメラのデカルト座標系内の同じ１組のキューとの間に第２のベクトル組が存在する場合、２つの系を互いに対し変形して（resolve）、双方のカメラを含む単一のデカルト座標系にすることができる。２つ以上のカメラからポイントクラウド間の共有キューを発見するための複数の既知の技法が存在する。そのような技法は、例えばＡｒｙａ，  Ｓ．、Ｍｏｕｎｔ，Ｄ．Ｍ．、Ｎｅｔａｎｙａｈｕ，Ｎ．Ｓ．、Ｓｉｌｖｅｒｍａｎ，Ｒ．およびＷｕ，Ａ．Ｙ．「Ａｎ  Ｏｐｔｉｍａｌ  Ａｌｇｏｒｉｔｈｍ  Ｆｏｒ  Ａｐｐｒｏｘｉｍａｔｅ  Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ  Ｓｅａｒｃｈｉｎｇ  Ｆｉｘｅｄ  Ｄｉｍｅｎｓｉｏｎｓ」Ｊｏｕｒｎａｌ  ｏｆ  ｔｈｅ  ＡＣＭ４５，６，８９１−９２３（１９９８）に示されている。上述したＡｒｙａ他の概算最近傍解決法の代わりに、またはこれに加えて、限定ではないがハッシングまたは文脈依存ハッシングを含む他の技法を用いてもよい。
【０１０５】
２つの異なるカメラからのポイントクラウドが十分多くのマッチしたキューを共有する場合、２つのポイントクラウドを共に相関付ける行列を、例えばランダムサンプリングコンセンサス（RANSAC）または多岐にわたる他の推定技法によって推定することができる。次に、復元した基本行列に対する外れ値であるマッチを除去することができる。１対のポイントクラウド間で想定される幾何学的に一貫したマッチを見つけた後、これらのマッチはそれぞれのポイントクラウドのための１組のトラックに編成することができ、トラックは、ポイントクラウド間の１組の相互にマッチするキューである。組内の第１のトラックは、第１のポイントクラウド内の各共通キューの投影を含むことができる。組内の第２のトラックは、第２のポイントクラウド内の各共通キューの投影を含むことができる。次に、異なるカメラからのポイントクラウドを変形して、単一の直交３Ｄ現実世界ビューにおける単一のポイントクラウドにすることができる。
【０１０６】
全てのカメラの位置および向きは、この単一のポイントクラウドおよび単一の直交３Ｄ現実世界ビューに対して較正される。様々なポイントクラウドを共に変形するために、２つのポイントクラウドのトラック組内のキューの投影が解析される。これらの投影から、ハブ１２は、キューに対する第１のカメラの観点を決定することができ、キューに対する第２のカメラの観点も決定することができる。そこから、ハブ１２はポイントクラウドを変形して、双方のポイントクラウドからのキューおよび他のデータポイントを含む単一のポイントクラウドおよび単一の直交３Ｄ現実世界ビューの推定値にすることができる。
【０１０７】
このプロセスは、単一の直交３Ｄ現実世界ビューが全てのカメラを含むまで、任意の他のカメラについて繰り返される。これが行われると、ハブ１２は、単一の直交３Ｄ現実世界ビューおよび互いに対するカメラの相対位置および向きを求めることができる。ハブ１２は、単一の直交３Ｄ現実世界ビューに対する各カメラの焦点距離をさらに求めることができる。
【０１０８】
ステップ６０８においてシステムが較正されると、ステップ６１０において、シーンのジオメトリ、ならびにシーン内のオブジェクトのジオメトリおよび位置を特定するシーンマップを展開することができる。実施形態では、所与のフレーム内に生成されるシーンマップは、シーン内の全ての使用者、現実世界オブジェクトおよび仮想オブジェクトのｘ、ｙおよびｚ位置を含むことができる。この情報は、画像データ収集ステップ６０４、６３０および６５６の間に取得することができ、ステップ６０８において共に較正される。
【０１０９】
少なくとも、捕捉デバイス２０は、シーンの奥行き（壁によって境界される場合があるところまで等）およびシーン内のオブジェクトの奥行き位置を求めるための奥行きカメラを備える。以下で説明するように、シーンマップは、シーン内の仮想オブジェクトを位置決めし、適切な遮蔽（仮想３次元オブジェクトは遮蔽される場合があるか、または仮想３次元オブジェクトは現実世界オブジェクトまたは別の仮想３次元オブジェクトを遮蔽する場合がある）を用いて仮想３次元オブジェクトを表示する際に用いられる。
【０１１０】
システム１０は、シーンから全ての奥行き画像を取得するために複数の奥行き画像カメラを備えることができるか、またはシーンから全ての奥行き画像を取得するために捕捉デバイス２０の奥行き画像カメラ４２６等の単一の奥行き画像カメラで十分である場合がある。未知の環境内のシーンマップを求めるための類似の方法は、同時位置特定およびマッピング（SLAM）として知られる。ＳＬＡＭの１つの例が、２０１０年８月１０日付で発行された、「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｌａｎｄｍａｒｋ  Ｇｅｎｅｒａｔｉｏｎ  ｆｏｒ  Ｖｉｓｕａｌ  Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ」と題する米国特許第７，７７４，１５８号に開示されている。
【０１１１】
ステップ６１２において、システムは、部屋内で動く人間等の、動いているオブジェクトを検出および追跡し、動いているオブジェクトの位置に基づいてシーンマップを更新することができる。これは、上記のように、シーン内の使用者の骨格モデルの使用を含む。
【０１１２】
ステップＳ６１４において、ハブは様々な使用者１８のヘッドマウント型ディスプレイデバイス２のｘ、ｙおよびｚ位置、向きおよびＦＯＶを求める。次に、ステップ６１４のさらなる詳細が図１６のフローチャートに関して説明される。図１６のステップは、単一の使用者に関して以下に説明される。しかしながら、図１６のステップはシーン内の使用者ごとに実行されてもよい。
【０１１３】
ステップ７００において、シーンのための較正された画像データがハブにおいて解析され、使用者の頭部位置と、使用者の顔の正面から見た顔ユニットベクトル（face unit vector）との双方が求められる。頭部位置は骨格モデルにおいて特定される。顔ユニットベクトルは、骨格モデルから使用者の顔の平面を画定し、この平面に直交するベクトルをとることによって求めることができる。この平面は、使用者の眼、鼻、口、耳または他の顔の特徴の位置を求めることによって特定することができる。顔ユニットベクトルは、使用者の頭部の向きを定義するのに用いることができ、例では、使用者のＦＯＶの中心とみなすことができる。さらにまたは代替的に、顔ユニットベクトルは、ヘッドマウント型ディスプレイデバイス２上のカメラ１１２から返されたカメラ画像データから特定されてもよい。特に、ヘッドマウント型ディスプレイ２上のカメラ１１２から何が見えるかに基づいて、関連付けられた処理装置４および／またはハブ１２は、使用者の頭部の向きを表す顔ユニットベクトルを求めることができる。
【０１１４】
ステップ７０４において、さらにまたは代替的に、使用者の頭部の位置および向きは、より早期の時点から（フレーム内においてより早期または以前のフレームから）の使用者の頭部の位置および向きの解析から求め、次にＩＭＵ１３２からの慣性情報を用いて使用者の頭部の位置および向きを更新してもよい。ＩＭＵ１３２からの情報は、使用者の頭部の正確な運動学的データを提供することができるが、ＩＭＵは通常、使用者の頭部に関する絶対的な位置情報を提供しない。「グランドトゥルース」とも呼ばれるこの絶対的な位置情報は、捕捉デバイス２０、対象の使用者のヘッドマウント型ディスプレイデバイス２上のカメラおよび／または他の使用者のヘッドマウント型ディスプレイデバイス２から得られた画像データから提供され得る。
【０１１５】
実施形態では、使用者の頭部の位置および向きは、連動して機能するステップ７００および７０４によって求めることができる。さらなる実施形態では、ステップ７００および７０４のうちの一方または他方を用いて、使用者の頭部の頭部位置および向きを求めることができる。
【０１１６】
使用者が真っ直ぐ前を見ていない場合が起こり得る。したがって、使用者の頭部の位置および向きを特定することに加えて、ハブは使用者の頭部における使用者の眼の位置をさらに考慮することができる。この情報は、上記の視標追跡アセンブリ１３４によって提供され得る。視標追跡アセンブリは、使用者の眼の位置を特定することができる。この位置は、使用者の眼が中心にあり真っ直ぐ前を見ている位置（すなわち、顔ユニットベクトル）からの、左、右、上および／または下方向のずれを示す眼ユニットベクトルとして表すことができる。顔ユニットベクトルは、使用者が見ている場所を定義するように眼ユニットベクトルに対し調整され得る。
【０１１７】
ステップ７１０において、次に使用者のＦＯＶを求めることができる。ヘッドマウント型ディスプレイデバイス２の使用者のビューの範囲は、仮説的な使用者の上、下、左および右の周辺視野に基づいて予め画定され得る。所与の使用者について計算されたＦＯＶが、特定の使用者がＦＯＶの範囲に見ることが可能であり得るオブジェクトを含むことを確実にするために、この仮想的な使用者は、可能な限り最大の周辺視野を有するとみなされ得る。いくらかの所定の余分なＦＯＶをこれに追加して、実施形態において所与の使用者のための十分なデータが捕捉されることを確実にすることができる。
【０１１８】
次に、ビューの範囲を取得し、これを、眼ユニットベクトルの任意のずれによって調整された顔ユニットベクトルを中心に配置することによって、所与の時点における使用者のＦＯＶを計算することができる。所与の時点において使用者が見ているものを定義することに加えて、この使用者のＦＯＶの決定は、使用者が何を見ることができないかを決定するのにも有用である。以下で説明するように、仮想オブジェクトの処理を、特定の使用者が見ることができるエリアに限定することによって、処理速度が改善し、レイテンシが低減する。
【０１１９】
上記で説明した実施形態において、ハブ１２は、シーン内の１人または複数人の使用者のＦＯＶを計算する。さらなる実施形態において、使用者のための処理装置４は、このタスクにおいて共有することができる。例えば、使用者の頭部位置および眼の向きが推定されると、この情報を処理装置に送信することができ、処理装置は、より近時のデータに基づいて、（ＩＭＵ１３２からの）頭部位置および（視標追跡アセンブリ１３４からの）眼の位置に基づいて、位置、向き等を更新することができる。
【０１２０】
次に図１４に戻ると、ステップ６１８において、ハブ１２は、仮想オブジェクトとの使用者のインタラクションおよび／または仮想オブジェクトの位置を求めることができる。これらの仮想オブジェクトは、共有仮想オブジェクト４６０および／または各使用者のプライベート仮想オブジェクト４６２を含むことができる。例えば、単一の使用者または複数の使用者によって見られる共有仮想オブジェクト４６０が動かされた場合がある。ステップ６１８のさらなる詳細が図１７のフローチャートに示される。
【０１２１】
ステップ７１４において、ハブは、１つまたは複数の仮想オブジェクトがインタラクトされたかまたは動かされたか否かを判断することができる。そうである場合、ハブは、３次元空間内の影響を受けた仮想オブジェクトの新たな外観および／または位置を求める。上記で示したように、様々なジェスチャは、シーン内の仮想オブジェクトに対し、定義された影響を有することができる。１つの例として、使用者は、自身のプライベート仮想オブジェクト４６２とインタラクトすることができ、そして仮想オブジェクト４６２は共有仮想オブジェクト４６０との何らかのインタラクションに影響を及ぼす。これらのインタラクションはステップ７１４において感知され、プライベート仮想オブジェクト４６２および共有仮想オブジェクト４６０の双方に対するこれらのインタラクションの効果がステップ７１８において実施される。
【０１２２】
ステップ７２２において、ハブ１２は、動かされたかまたはインタラクトされたのが複数の使用者によって共有されている仮想オブジェクト４６０であるか否かをチェックする。そうである場合、ハブは、ステップ７２６において、仮想オブジェクト４６０を共有している使用者ごとに、共有状態データにおける仮想オブジェクト４６０の外観および／または位置を更新する。特に、上記で検討したように、複数の使用者は共有仮想オブジェクト４６０について同じ状態データを共有して、複数の使用者間の仮想オブジェクトに対する協力を容易にすることができる。複数の使用者間で共有されている単一のコピーが存在する場合、この単一のコピーの外観または位置の変更が共有仮想オブジェクトのための状態データに記憶され、これが複数の使用者のそれぞれに提供される。代替的に、複数の使用者は、共有仮想オブジェクト４６０の複数のコピーを有する場合がある。この場合、共有仮想オブジェクトの外観の変更を共有仮想オブジェクトのための状態データに記憶することができ、これが複数の使用者のそれぞれに提供される。
【０１２３】
しかしながら、位置の変更は、動かされた共有仮想オブジェクトのコピーにのみ反映され、共有仮想オブジェクトの他のコピーには反映されない場合がある。換言すれば、共有仮想オブジェクトの１つのコピーの位置の変更は、共有仮想オブジェクト４６０の他のコピーに反映されない場合がある。代替的な実施形態では、共有仮想オブジェクトの複数のコピーが存在する場合、１つのコピーの変更を、共有仮想オブジェクト４６０の全てのコピーにわたって実施し、それぞれが外観および位置に関して同じ状態データを維持するようにすることができる。
【０１２４】
図１７において説明したように仮想オブジェクトの位置および外観が設定されると、ハブ１２は、ステップ６２６（図１４）において、決定された情報を１つまたは複数の処理装置４に送信することができる。ステップ６２６において送信される情報は、全ての使用者の処理装置４へのシーンマップの送信を含む。送信される情報は、それぞれのヘッドマウント型ディスプレイデバイス２の処理装置４への、各ヘッドマウント型ディスプレイデバイス２の決定されたＦＯＶの送信をさらに含むことができる。送信される情報は、決定された位置、向き、形状および外観を含む、仮想オブジェクトの特性の送信をさらに含むことができる。
【０１２５】
処理ステップ６００〜６２６は上記で例として説明された。さらなる実施形態では、これらのステップのうちの１つまたは複数を省いてもよく、ステップは異なる順序で実行されてもよく、さらなるステップが追加されてもよいことが理解されよう。処理ステップ６０４〜６１８は計算コストが高いが、強力なハブ１２は、これらのステップを６０ヘルツフレームで数回実行することができる。代替的にまたはさらに、さらなる実施形態では、ステップ６０４〜６１８のうちの１つまたは複数は、処理装置４のうちの１つまたは複数によって実行されてもよい。さらに、図１４は様々なパラメータの決定、次いでステップ６２６におけるこれらのパラメータの一度に全ての送信を示しているが、決定されたパラメータは、決定されるやいなや非同期に処理装置４に送信されてもよいことが理解されよう。
【０１２６】
ここで、処理装置４およびヘッドマウント型ディスプレイデバイス２の動作をステップ６３０〜６５８を参照して説明する。以下の説明は、単一の処理装置４およびヘッドマウント型ディスプレイデバイス２のものである。しかしながら、以下の説明は、システム内の各処理装置４およびディスプレイデバイス２に適用されてもよい。
【０１２７】
上記で示したように、初期ステップ６５６において、ヘッドマウント型ディスプレイデバイス２は画像およびＩＭＵデータを生成し、これがステップ６３０において処理装置４を介してハブ１２に送信される。ハブ１２が画像データを処理している間、処理装置４も画像データを処理し、画像のレンダリングを準備するステップを実行している。
【０１２８】
ステップ６３４において、処理装置４はレンダリング動作を抜粋し、ヘッドマウント型ディスプレイデバイス２の最終的なＦＯＶ内に現れる可能性があり得る仮想オブジェクトのみがレンダリングされるようにすることができる。他の仮想オブジェクトの位置も依然として追跡される場合があるが、これらはレンダリングされない。また、さらなる実施形態において、ステップ６３４が完全にスキップされる場合があり、画像全体がレンダリングされることも考えられる。
【０１２９】
次に、処理装置４はレンダリングセットアップステップ６３８を実行することができる。このステップにおいて、セットアップレンダリング動作は、ステップ６２６において受信したシーンマップおよびＦＯＶを用いて行われる。仮想オブジェクトデータが受信されると、処理装置は、ステップ６３８において、ＦＯＶ内にレンダリングされることになる仮想オブジェクトについてレンダリングセットアップ動作を実行することができる。ステップ６３８におけるセットアップレンダリング動作は、最終的なＦＯＶ内に表示されることになる仮想オブジェクトに関連付けられた共通レンダリングタスクを含むことができる。これらのレンダリングタスクは、例えば、シャドウマップ生成、照明およびアニメーションを含むことができる。実施形態では、レンダリングセットアップステップ６３８は、予測される最終的なＦＯＶ内に表示されることになる仮想オブジェクトの頂点バッファ、テクスチャおよび状態等の描かれる可能性が高い情報の編集をさらに含むことができる。
【０１３０】
ステップ６２６においてハブ１２から受信した情報を用いて、処理装置４は次に、ステップ６４４において、使用者のＦＯＶ内の遮蔽およびシャドウイングを求めることができる。特に、スクリーンマップは、動いているオブジェクトおよび動いていないオブジェクトならびに仮想オブジェクトを含む、シーン内の全てのオブジェクトのｘ、ｙおよびｚ位置を有する。使用者のロケーションおよびＦＯＶ内のオブジェクトに対する使用者の見通し線がわかると、処理装置４は次に、仮想オブジェクトが現実世界オブジェクトの使用者のビューを部分的にまたは完全に遮蔽するか否かを判断することができる。さらに、処理装置４は、現実世界オブジェクトが仮想オブジェクトの使用者のビューを部分的にまたは完全に遮蔽するか否かを判断することができる。遮蔽は使用者に固有である。仮想オブジェクトは、第１の使用者のビューにおいてブロックするかまたはブロックされる場合があるが、第２の使用者のビューにおいてはそうでない場合がある。したがって、遮蔽の判断は、各使用者の処理装置４において行うことができる。しかしながら、さらにまたは代替的に、遮蔽の判断はハブ１２によって行われてもよいことが理解されよう。
【０１３１】
ステップ６４６において、次に、処理装置４のＧＰＵ３２２は使用者に表示されることになる画像をレンダリングすることができる。レンダリング動作の一部分は、既にレンダリングセットアップステップ６４８において実行されており、周期的に更新されている場合がある。ステップ６４６のさらなる詳細は、「Ｌｏｗ−Ｌａｔｅｎｃｙ  Ｆｕｓｉｎｇ  ｏｆ  Ｖｉｒｔｕａｌ  Ａｎｄ  Ｒｅａｌ  Ｃｏｎｔｅｎｔ」と題する米国特許出願公開第２０１２／０１０５４７３号に記載されている。
【０１３２】
ステップ６５０において、処理装置４は、レンダリングされた画像をヘッドマウント型ディスプレイデバイス２に送信する時点であるか否か、または依然として、ハブ１２および／もしくはヘッドマウント型ディスプレイデバイス２からのより近時の位置フィードバックデータを用いて画像のさらなる精緻化を行う時間があるか否かをチェックする。６０ヘルツフレームのリフレッシュレートを用いるシステムにおいて、単一のフレームは約１６ｍｓであり得る。
【０１３３】
ステップ６５０において、フレームを表示する時点である場合、合成画像がマイクロディスプレイ１２０に送信される。この時点において、不透過フィルタ１１４を制御するための、不透過フィルタ制御データも処理装置４からヘッドマウント型ディスプレイデバイス２に送信される。次に、ステップ６５８において、ヘッドマウント型ディスプレイは画像を使用者に表示することができる。
【０１３４】
他方で、ステップ６５０において、まだ表示されることになる画像データのフレームを送信する時点でない場合、処理装置は、最終的なＦＯＶおよびこのＦＯＶ内のオブジェクトの最終的な位置の予測をさらに精緻化するために、さらなる更新データを求めてループバックすることができる。特に、ステップ６５０において依然として時間があるとき、処理装置４はステップ６０８に戻り、ハブ１２からより近時のセンサデータを得ることができ、ステップ６５６に戻り、ヘッドマウント型ディスプレイデバイス２からより近時のセンサデータを得ることができる。
【０１３５】
処理ステップ６３０〜６５２は上記で例として説明された。さらなる実施形態では、これらのステップのうちの１つまたは複数を省いてもよく、ステップは異なる順序で実行されてもよく、さらなるステップが追加されてもよいことが理解されよう。
【０１３６】
さらに、図１４における処理装置ステップのフローチャートは、ハブ１２およびヘッドマウント型ディスプレイデバイス２からの全てのデータが単一のステップ６３４において周期的に処理装置４に提供されることを示している。しかしながら、処理装置４は、ハブ１２およびヘッドマウント型ディスプレイデバイス２の異なるセンサから、異なる時点に非同期でデータ更新を受信してもよいことが理解されよう。ヘッドマウント型ディスプレイデバイス２は、カメラ１１２から画像データを提供し、ＩＭＵ１３２から慣性データを提供する。これらのセンサからのデータのサンプリングは、異なるレートで行ってもよく、異なる時点に処理装置４に送信されてもよい。同様に、ハブ１２からの処理済みデータは、カメラ１１２およびＩＭＵ１３２双方からのデータと異なる時点にかつ異なる周期で処理装置４に送信されてもよい。一般に、処理装置４はフレーム中にハブ１２およびヘッドマウント型ディスプレイデバイス２から更新データを複数回非同期で受信することができる。処理装置はステップを循環する際、ＦＯＶおよびオブジェクト位置の最終的な予測を推定するとき、受信した最も近時のデータを用いる。
【０１３７】
主題が構造的特徴および／または方法動作に固有の言語で説明されたが、添付の特許請求の範囲において規定される主題は、上記で記載した特定の特徴および動作に必ずしも限定されないことが理解されよう。そうではなく、上記で記載した特定の特徴および動作は、特許請求の範囲を実施する例示的な形態として開示されている。本発明の範囲は、本明細書に添付された特許請求の範囲によって画定されることが意図される。
【図１】
2016525741.tif 000003
【図２】
2016525741.tif 000004
【図３】
2016525741.tif 000005
【図４】
2016525741.tif 000006
【図５】
2016525741.tif 000007
【図６】
2016525741.tif 000008
【図７】
2016525741.tif 000009
【図８】
2016525741.tif 000010
【図９】
2016525741.tif 000011
【図１０】
2016525741.tif 000012
【図１１】
2016525741.tif 000013
【図１２】
2016525741.tif 000014
【図１３】
2016525741.tif 000015
【図１４】
2016525741.tif 000016
【図１５】
2016525741.tif 000017
【図１６】
2016525741.tif 000018
【図１７】
2016525741.tif 000019
【手続補正書】
【提出日】平成27年1月30日(2015.1.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複合現実体験を提示するためのシステムであって、
共有仮想オブジェクトおよびプライベート仮想オブジェクトを含む仮想オブジェクトを表示するためのディスプレイ装置を備える第１のディスプレイデバイスと、
前記第１のディスプレイデバイスおよび第２のディスプレイデバイスに動作可能に結合されるコンピューティングシステムであって、
前記第１のディスプレイデバイス上に表示するための前記共有仮想オブジェクトおよび前記プライベート仮想オブジェクトを生成し、
前記第２のディスプレイデバイス上に表示するための前記共有仮想オブジェクトを生成するが、前記プライベート仮想オブジェクトを生成せず、
前記共有仮想オブジェクトにおける変更に影響を及ぼす前記プライベート仮想オブジェクトとのインタラクションを受信し、
前記変更が、前記共有仮想オブジェクトの外観における変更であるとき、前記第１のディスプレイデバイスおよび前記第２のディスプレイデバイスにおける表示に関して前記共有仮想オブジェクトにおける前記変更に影響を及ぼし、
前記変更が、前記共有仮想オブジェクトの位置における変更であるとき、前記第１のディスプレイデバイスにおける表示に関して前記共有仮想オブジェクトにおける前記変更に影響を及ぼすが、前記第２のディスプレイデバイスにおける表示に関して前記共有仮想オブジェクトにおける前記変更に影響を及ぼさない、コンピューティングシステムと、
を備える、システム。
【請求項２】
前記共有仮想オブジェクトおよび前記プライベート仮想オブジェクトは単一のハイブリッド仮想オブジェクトの一部である、請求項１に記載のシステム。
【請求項３】
前記共有仮想オブジェクトおよび前記プライベート仮想オブジェクトは別個の仮想オブジェクトである、請求項１に記載のシステム。
【請求項４】
前記コンピューティングシステムは、前記第１のディスプレイデバイス上に表示するための前記共有仮想オブジェクトの第１のコピーと、前記第２のディスプレイデバイス上に表示するための前記共有仮想オブジェクトの第２のコピーとを維持する、請求項１に記載のシステム。
【請求項５】
前記共有仮想オブジェクトは、前記第１のディスプレイデバイス上に表示されるコンテンツを有する仮想表示スレートを含む、請求項１に記載のシステム。
【請求項６】
前記第２のディスプレイデバイスは仮想オブジェクトを表示するためのディスプレイ装置を備え、
前記コンピューティングシステムは、前記第２のディスプレイデバイス上に表示するが前記第１のディスプレイデバイス上に表示しない第２のプライベート仮想オブジェクトをさらに生成し、
前記インタラクションは、前記共有仮想オブジェクトを定義する状態データを変更する、請求項１に記載のシステム。
【請求項７】
前記第１のプライベート仮想オブジェクトは、前記共有仮想オブジェクトとのインタラクションを制御するための仮想オブジェクトの第１の組を含む、請求項６に記載のシステム。
【請求項８】
前記第２のプライベート仮想オブジェクトは、前記共有仮想オブジェクトとのインタラクションを制御するための仮想オブジェクトの第２の組を含む、請求項７に記載のシステム。
【請求項９】
複合現実体験を提示するための方法であって、
（ａ）共有仮想オブジェクトを第１のディスプレイデバイスおよび第２のディスプレイデバイスに表示することであって、前記共有仮想オブジェクトは前記第１のディスプレイデバイスおよび前記第２のディスプレイデバイスについて同じである状態データによって定義されることと、
（ｂ）第１のプライベート仮想オブジェクトを前記第１のディスプレイデバイスに表示することと、
（ｃ）第２のプライベート仮想オブジェクトを前記第２のディスプレイデバイスに表示することと、
（ｄ）前記第１のプライベート仮想オブジェクトおよび前記第２のプライベート仮想オブジェクトのうちの一方とのインタラクションを受信して前記共有仮想オブジェクトにおける変更に影響を及ぼすことと、
（ｅ）前記変更が、前記共有仮想オブジェクトの外観における変更であるとき、前記第１のディスプレイデバイスおよび前記第２のディスプレイデバイスに表示される前記共有仮想オブジェクトにおける前記変更に影響を及ぼすことと、
（ｆ）前記変更が、前記共有仮想オブジェクトの位置における変更であるとき、前記第１のディスプレイデバイスに表示される前記共有仮想オブジェクトにおける前記変更に影響を及ぼすが、前記第２のディスプレイデバイスに表示される前記共有仮想オブジェクトにおける前記変更に影響を及ぼさないことと、
を含む、方法。
【請求項１０】
前記第１のプライベート仮想オブジェクトおよび前記第２のプライベート仮想オブジェクトのうちの一方とのインタラクションを受信する前記ステップ（ｄ）は、前記第１のプライベート仮想オブジェクトおよび前記第２のプライベート仮想オブジェクトとの複数のインタラクションを受信して画像を協力して構築、表示または変更することを含む、請求項９に記載の方法。
【国際調査報告】
2016525741.tif 000020
2016525741.tif 000021
2016525741.tif 000022