(57)【要約】開示されるのは、３Ｄ複合現実環境内のブラウザウィンドウのナビゲーションおよび操作のための改良されたシステムおよび方法である。改良されたアプローチが、１つ以上の以前に開いていたウィンドウに対するユーザに関する現在の場所にかかわらず、ユーザのウィンドウを閲覧するために提供される。ウィンドウをコンピューティング環境内に表示するための方法は、複数の開いているウィンドウを選択するための命令を受信するステップを含む。本方法はまた、複数の開いているウィンドウに関する情報を読み出すステップを含み、複数の開いているウィンドウは、異なる物理的場所と関連付けられる。本方法はさらに、複数の開いているウィンドウの表現を単一ユーザインターフェース内に表示するステップを含む。
2021514088.tif 000002
【特許請求の範囲】
【請求項１】
ウィンドウをコンピューティング環境内に表示するための方法であって、
複数の開いているウィンドウを選択するための命令を受信することと、
前記複数の開いているウィンドウに関する情報を読み出すことであって、前記複数の開いているウィンドウは、異なる物理的場所と関連付けられる、ことと、
前記複数の開いているウィンドウの表現を単一ユーザインターフェース内に表示することと、
前記複数の開いているウィンドウの選択されたウィンドウの選択の受信に応じて、前記選択されたウィンドウをユーザのための視野の前景の中にロードすることと
を含む、方法。
【請求項２】
前記複数の開いているウィンドウの表現は、前記ユーザのための現在の物理的環境内の場所に対して複数の開いているウィンドウに関する場所パラメータを変化させることによって、前記単一ユーザインターフェース内に表示される、請求項１に記載の方法。
【請求項３】
前記複数の開いているウィンドウは、前記単一ユーザインターフェース内の前記複数の開いているウィンドウに割り当てられる座標において、前記ユーザにレンダリングおよび表示される、請求項２に記載の方法。
【請求項４】
前記複数の開いているウィンドウは、プレビュー形態、サムネイル形態、またはフル形態のうちの少なくとも１つにおいてレンダリングされる、請求項３に記載の方法。
【請求項５】
全ての開いているウィンドウは、前記単一ユーザインターフェース内での表示のために選択される、請求項１に記載の方法。
【請求項６】
前記複数の開いているウィンドウはそれぞれ、仮想コンテンツの設置のために、別個のプリズムの中にレンダリングされる、請求項１に記載の方法。
【請求項７】
ホバリング状態が、実装され、ホバリングされているウィンドウは、前景の中に移動する一方、他のウィンドウは、視覚的に後退する、請求項１に記載の方法。
【請求項８】
前記選択されたウィンドウの選択の受信に応じて、非選択ウィンドウは、閉じられる、請求項１に記載の方法。
【請求項９】
コンピューティング環境内でウィンドウを操作するためのシステムであって、
３次元コンテンツを表示する複合現実ディスプレイデバイスと、
プロセッサと、
前記プロセッサによって実行可能なプログラマブルコードを保持するためのメモリであって、前記プログラマブルコードは、複数の開いているウィンドウを選択するための命令を受信することと、前記複数の開いているウィンドウに関する情報を読み出すことであって、前記複数の開いているウィンドウは、異なる物理的場所と関連付けられる、ことと、前記複数の開いているウィンドウの表現を前記複合現実ディスプレイデバイス内の単一ユーザインターフェース内に表示することと、前記複数の開いているウィンドウの選択されたウィンドウの選択の受信に応じて、前記選択されたウィンドウをユーザのための視野の前景の中にロードすることとを行うための命令を含む、メモリと
を備える、システム。
【請求項１０】
前記複数の開いているウィンドウの表現は、前記ユーザのための現在の物理的環境内の場所に対して複数の開いているウィンドウに関する場所パラメータを変化させることによって、前記単一ユーザインターフェース内に表示される、請求項９に記載のシステム。
【請求項１１】
前記複数の開いているウィンドウは、前記単一ユーザインターフェース内の前記複数の開いているウィンドウに割り当てられる座標において、前記ユーザにレンダリングおよび表示される、請求項１０に記載のシステム。
【請求項１２】
前記複数の開いているウィンドウは、プレビュー形態、サムネイル形態、またはフル形態のうちの少なくとも１つにおいてレンダリングされる、請求項１１に記載のシステム。
【請求項１３】
全ての開いているウィンドウは、前記単一ユーザインターフェース内での表示のために選択される、請求項９に記載のシステム。
【請求項１４】
前記複数の開いているウィンドウはそれぞれ、仮想コンテンツの設置のために境界された体積の中にレンダリングされる、請求項９に記載のシステム。
【請求項１５】
ホバリング状態が、実装され、ホバリングされているウィンドウは、前景の中に移動する一方、他のウィンドウは、視覚的に後退する、請求項９に記載のシステム。
【請求項１６】
前記選択されたウィンドウの選択の受信に応じて、非選択ウィンドウは、閉じられる、請求項９に記載のシステム。
【請求項１７】
コンピュータ可読媒体上に具現化されるコンピュータプログラム製品であって、前記コンピュータ可読媒体は、その上に記憶される命令のシーケンスを有し、前記命令のシーケンスは、プロセッサによって実行されると、前記プロセッサに、
複数の開いているウィンドウを選択するための命令を受信することと、
前記複数の開いているウィンドウに関する情報を読み出すことであって、前記複数の開いているウィンドウは、異なる物理的場所と関連付けられる、ことと、
前記複数の開いているウィンドウの表現を単一ユーザインターフェース内に表示することと、
前記複数の開いているウィンドウの選択されたウィンドウの選択の受信に応じて、前記選択されたウィンドウをユーザのための視野の前景の中にロードすることと
を含む方法を実行させる、コンピュータプログラム製品。
【請求項１８】
仮想コンテンツをコンピューティング環境内に表示するための方法であって、
複数の開かれたアプリケーションを選択するための命令を受信することと、
前記複数の開かれたアプリケーションに関する情報を読み出すことであって、前記複数の開かれたアプリケーションは、異なる物理的場所と関連付けられる、ことと、
前記複数の開かれたアプリケーションの表現を単一ユーザインターフェース内に表示することと、
前記複数の開かれたアプリケーションの選択されたアプリケーションの選択の受信に応じて、前記選択されたアプリケーションをユーザのための視野の前景の中にロードすることと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、空間３Ｄ環境内にブラウジング技術を実装するためのシステムおよび方法に関する。
【背景技術】
【０００２】
ウェブページを閲覧する典型的方法は、コンピュータ、スマートフォン、タブレット等のモニタ上でウェブページを開くことである。ユーザは、ウェブページを通してスクロールし、ウェブページ上に表示される異なるコンテンツを閲覧するであろう。通常、ユーザが、コンピュータモニタ、スマートフォン、またはタブレットを見ているかどうかにかかわらず、コンテンツがモニタ上で表示される方法に関して、固定フォーマットが存在する。
【０００３】
仮想現実、拡張現実、および／または複合現実システム（以降、集合的に、「複合現実」システムと称される）を用いることで、３次元環境が、ユーザへのコンテンツの表示のために提供される。問題は、２Ｄコンテンツをブラウザ内に表示するための従来のアプローチが、３Ｄ環境内で使用されるとき、あまり良好に機能しないことである。この理由の１つは、従来の２Ｄウェブブラウザを用いると、ディスプレイデバイスの表示エリアが、コンテンツを表示しているモニタの画面エリアに限定されるためである。その結果、従来のブラウザは、コンテンツをそのモニタ表示エリア内に編成および表示する方法のみを把握するように構成される。対照的に、３Ｄ環境は、モニタ表示エリアの厳密な範囲内に限定されない。したがって、従来の２Ｄブラウザは、従来のブラウジング技術が、コンテンツを表示するために３Ｄ環境を利用するための機能性または能力を有していないだけのために、３Ｄ環境内で使用されるとき、準最適に性能を発揮する。
【０００４】
例えば、ユーザが、複合現実機器を使用しており、異なる物理的場所と関連付けられた複数のブラウザウィンドウを設置しているときの状況を検討する。例えば、ユーザは、第１のブラウザウィンドウを第１の部屋内で開いており、第２のブラウザウィンドウを第２の部屋に居る間に開いている場合がある。従来の２Ｄベースのブラウザは、所与のモニタエリアの表示に限定されるため、これは、従来のブラウザが、物理的に遠隔のウィンドウの見当を付けるための技術さえ有しておらず、まして、複数の物理的場所内で開かれている複数のウィンドウを伴う本状況に対処する能力など有しておらず、ユーザが、これらの複数のウィンドウを効果的に閲覧し、そこにナビゲートし、使用することを不可能にすることを意味する。
【０００５】
したがって、３Ｄ環境内でブラウジング技術を実装するための改良されたアプローチの必要性が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
改良されたシステムおよび方法が、３Ｄ複合現実環境内でのブラウザウィンドウのナビゲーションおよび操作のために提供される。いくつかの実施形態は、１つ以上の以前に開かれたウィンドウに対するユーザの現在の場所にかかわらず、ユーザのウィンドウを閲覧するための改良されたアプローチを対象とする。
【課題を解決するための手段】
【０００７】
ブラウザウィンドウのナビゲーションおよび操作のための改良されたシステムおよび方法は、分解され、空間的に編成された３Ｄ環境内に表示される、２Ｄコンテンツのコンテキストにおいて適用されてもよい。これは、２Ｄコンテンツを識別するステップと、２Ｄコンテンツ内の要素を識別するステップと、周囲表面を識別するステップと、識別された要素を識別された周囲表面にマッピングするステップと、要素を仮想コンテンツとして周囲表面上に表示するステップとを含んでもよい。
【０００８】
一実施形態では、ウィンドウをコンピューティング環境内に表示するための方法は、複数の開いているウィンドウを選択するための命令を受信するステップを含む。本方法はまた、複数の開いているウィンドウに関する情報を読み出すステップであって、複数の開いているウィンドウは、異なる物理的場所と関連付けられる、ステップを含む。本方法はさらに、複数の開いているウィンドウの表現を単一ユーザインターフェース内に表示するステップを含む。さらに、本方法は、複数の開いているウィンドウの選択されたウィンドウの選択の受信に応じて、選択されたウィンドウをユーザのための視野の前景の中にロードするステップを含む。
【０００９】
１つ以上の実施形態では、複数の開いているウィンドウの表現は、ユーザのための現在の物理的環境内の場所に対して複数の開いているウィンドウに関する場所パラメータを変化させることによって、単一ユーザインターフェース内に表示される。複数の開いているウィンドウは、単一ユーザインターフェース内の複数の開いているウィンドウに割り当てられる座標において、ユーザにレンダリングおよび表示されてもよい。複数の開いているウィンドウは、プレビュー形態、サムネイル形態、またはフル形態のうちの少なくとも１つにおいてレンダリングされてもよい。全ての開いているウィンドウは、単一ユーザインターフェース内での表示のために選択されてもよい。複数の開いているウィンドウはそれぞれ、仮想コンテンツの設置のために、別個のプリズムの中にレンダリングされてもよい。ホバリングされているウィンドウは、前景の中に移動し得る一方、他のウィンドウは、視覚的に後退し得る。選択されたウィンドウの選択の受信に応じて、非選択ウィンドウは、閉じられてもよい。
【００１０】
別の実施形態では、コンピューティング環境内でウィンドウを操作するためのシステムは、３次元コンテンツを表示する、複合現実ディスプレイデバイスを含む。本システムはまた、プロセッサを含む。本システムはさらに、プロセッサによって実行可能なプログラマブルコードを保持するためのメモリを含む。プログラマブルコードは、複数の開いているウィンドウを選択するための命令を受信することと、複数の開いているウィンドウに関する情報を読み出すことであって、複数の開いているウィンドウは、異なる物理的場所と関連付けられる、ことと、複数の開いているウィンドウの表現を複合現実ディスプレイデバイス内の単一ユーザインターフェース内に表示することと、複数の開いているウィンドウの選択されたウィンドウの選択の受信に応じて、選択されたウィンドウをユーザのための視野の前景の中にロードすることとを行うための命令を含む。
【００１１】
１つ以上の実施形態では、複数の開いているウィンドウの表現は、ユーザのための現在の物理的環境内の場所に対して複数の開いているウィンドウに関する場所パラメータを変化させることによって、単一ユーザインターフェース内に表示される。複数の開いているウィンドウは、単一ユーザインターフェース内の複数の開いているウィンドウに割り当てられる座標において、ユーザにレンダリングおよび表示されてもよい。複数の開いているウィンドウは、プレビュー形態、サムネイル形態、またはフル形態のうちの少なくとも１つにおいてレンダリングされてもよい。全ての開いているウィンドウは、単一ユーザインターフェース内での表示のために選択されてもよい。複数の開いているウィンドウはそれぞれ、仮想コンテンツの設置のために境界された体積の中にレンダリングされてもよい。ホバリング状態が、実装されてもよく、ホバリングされているウィンドウは、前景の中に移動する一方、他のウィンドウは、視覚的に後退する。選択されたウィンドウの選択の受信に応じて、非選択ウィンドウは、閉じられてもよい。
【００１２】
さらに別の実施形態では、コンピュータ可読媒体上に具現化されるコンピュータプログラム製品であって、コンピュータ可読媒体は、その上に記憶される命令のシーケンスを有し、命令のシーケンスは、プロセッサによって実行されると、プロセッサに、複数の開いているウィンドウを選択するための命令を受信するステップと、複数の開いているウィンドウに関する情報を読み出すステップであって、複数の開いているウィンドウは、異なる物理的場所と関連付けられる、ステップと、複数の開いているウィンドウの表現を単一ユーザインターフェース内に表示するステップと、複数の開いているウィンドウの選択されたウィンドウの選択の受信に応じて、選択されたウィンドウをユーザのための視野の前景の中にロードするステップとを含む、方法を実行させる。
【００１３】
１つ以上の実施形態では、複数の開いているウィンドウの表現は、ユーザのための現在の物理的環境内の場所に対して複数の開いているウィンドウに関する場所パラメータを変化させることによって、単一ユーザインターフェース内に表示される。複数の開いているウィンドウは、単一ユーザインターフェース内の複数の開いているウィンドウに割り当てられる座標において、ユーザにレンダリングおよび表示されてもよい。複数の開いているウィンドウは、プレビュー形態、サムネイル形態、またはフル形態のうちの少なくとも１つにおいてレンダリングされてもよい。全ての開いているウィンドウは、単一ユーザインターフェース内での表示のために選択されてもよい。複数の開いているウィンドウはそれぞれ、仮想コンテンツの設置のために境界された体積の中にレンダリングされてもよい。ホバリング状態が、実装されてもよく、ホバリングされているウィンドウは、前景の中に移動する一方、他のウィンドウは、視覚的に後退する。選択されたウィンドウの選択の受信に応じて、非選択ウィンドウは、閉じられてもよい。
【００１４】
さらに別の実施形態では、仮想コンテンツをコンピューティング環境内に表示するための方法は、複数の開かれたアプリケーションを選択するための命令を受信するステップを含む。本方法はまた、複数の開かれたアプリケーションに関する情報を読み出すステップであって、複数の開かれたアプリケーションは、異なる物理的場所と関連付けられる、ステップを含む。本方法はさらに、複数の開かれたアプリケーションの表現を単一ユーザインターフェース内に表示するステップを含む。さらに、本方法は、複数の開かれたアプリケーションの選択されたアプリケーションの選択の受信に応じて、選択されたアプリケーションをユーザのための視野の前景の中にロードするステップを含む。
【００１５】
１つ以上の実施形態では、複数の開かれたアプリケーションの表現は、ユーザための現在の物理的環境内の場所に対する複数の開かれたアプリケーションのための場所パラメータを変化させることによって、単一ユーザインターフェース内に表示される。複数の開かれたアプリケーションは、単一ユーザインターフェース内の複数の開かれたアプリケーションに割り当てられる座標において、ユーザにレンダリングおよび表示されてもよい。複数の開かれたアプリケーションは、プレビュー形態、サムネイル形態、またはフル形態のうちの少なくとも１つにおいてレンダリングされてもよい。全ての開かれたアプリケーションは、単一ユーザインターフェース内での表示のために選択されてもよい。複数の開かれたアプリケーションはそれぞれ、仮想コンテンツの設置のために、別個のプリズムの中にレンダリングされてもよい。ホバリング状態が、実装されてもよく、ホバリングされているアプリケーションは、前景の中に移動する一方、他のアプリケーションは、視覚的に後退する。選択されたアプリケーションの選択の受信に応じて、非選択アプリケーションは、閉じられてもよい。
【００１６】
実施形態の側面、目的、および利点のさらなる詳細は、下記の詳細な説明、図面、および請求項に説明される。前述の一般的説明および以下の詳細な説明は両方とも、例示的および説明的であって、請求項の範囲に関して限定することを意図するものではない。
【００１７】
図面は、本開示の種々の実施形態の設計および有用性を図示する。図は、縮尺通りに描かれておらず、類似構造または機能の要素は、図全体を通して同様の参照番号によって表されることに留意されたい。本開示の種々の実施形態の上記に列挙されたものおよび他の利点および目的を得る方法をより深く理解するために、上記で簡単に説明された本開示のより詳細な説明が、添付の図面に図示される、その具体的実施形態を参照して与えられるであろう。これらの図面は、本開示の典型的実施形態のみを描写し、したがって、その範囲の限定と見なされないという理解の上、本開示は、添付の図面の使用を通して、付加的具体性および詳細とともに説明および解説されるであろう。
【図面の簡単な説明】
【００１８】
【図１】図１は、いくつかの実施形態による、ユーザの３Ｄ環境内に表示されるべき２Ｄコンテンツを分解するための拡張現実環境を図示する。
【００１９】
【図２】図２は、いくつかの実施形態による、２Ｄコンテンツの要素とユーザの３Ｄ環境の例示的マッピングを図示する。
【００２０】
【図３】図３は、いくつかの実施形態による、３Ｄ環境内に表示されるべき２Ｄコンテンツを分解するための方法を図示する、フロー図である。
【００２１】
【図４】図４は、いくつかの実施形態による、２Ｄコンテンツ内の要素を識別するための方法を図示する、フロー図である。
【００２２】
【図５】図５は、いくつかの実施形態による、２Ｄコンテンツから分解された要素を記憶するためのテーブルの実施例を示す。
【００２３】
【図６】図６は、いくつかの実施形態による、ユーザのローカル環境から表面を識別するための方法を図示する、フロー図である。
【００２４】
【図７】図７は、いくつかの実施形態による、ユーザのローカル環境から識別された表面のインベントリを記憶するためのテーブルの実施例を示す。
【００２５】
【図８】図８は、いくつかの実施形態による、２Ｄコンテンツからの要素を利用可能な表面にマッピングするための方法を図示する、フロー図である。
【００２６】
【図９】図９は、いくつかの実施形態による、２Ｄコンテンツからの要素のユーザのローカル環境からの表面へのマッピングを記憶するためのテーブルの実施例を示す。
【００２７】
【図１０】図１０は、ユーザのウィンドウの閲覧を実装するためのアプローチのフローチャートを図示する。
【００２８】
【図１１Ａ】図１１Ａ−Ｂは、ウィンドウの以前の物理的場所にかかわらず、ユーザのためにウィンドウを表示するためのプロセスを図示する。
【図１１Ｂ】図１１Ａ−Ｂは、ウィンドウの以前の物理的場所にかかわらず、ユーザのためにウィンドウを表示するためのプロセスを図示する。
【００２９】
【図１２】図１２−１３は、複数のウィンドウを複合現実インターフェース内に表示するための可能性として考えられるアプローチの例証を提供する。
【図１３】図１２−１３は、複数のウィンドウを複合現実インターフェース内に表示するための可能性として考えられるアプローチの例証を提供する。
【００３０】
【図１４】図１４は、複数のプリズムを複合現実システム内に表示するための可能性として考えられるアプローチを図示する。
【００３１】
【図１５】図１５は、本開示の実施形態を実装するために好適な例証的コンピューティングシステムのブロック図である。
【発明を実施するための形態】
【００３２】
種々の実施形態が、ここで、当業者が本開示を実践することを可能にするように本開示の例証的実施例として提供される、図面を参照して詳細に説明されるであろう。着目すべきこととして、下記の図および実施例は、本開示の範囲を限定することを意味するものではない。本開示のある要素が、公知のコンポーネント（または方法またはプロセス）を使用して、部分的または完全に実装される場合、本開示の理解のために必要なそのような公知のコンポーネント（または方法またはプロセス）のその部分のみが、説明され、そのような公知のコンポーネント（または方法またはプロセス）の他の部分の詳細な説明は、本開示を曖昧にしないように省略されるであろう。さらに、種々の実施形態は、例証として本明細書に参照されるコンポーネントの現在および将来的公知の均等物を包含する。
【００３３】
下記に説明されるようなシステムおよび方法は、主に、ブラウザアプリケーションのコンテキスト内で説明されるが、当業者は、本明細書に説明されるシステムおよび方法はまた、１つ以上の他のアプリケーションのコンテキスト内にも同様に適用されてもよいことを理解するであろう。いくつかの実施形態では、ユーザの写真および／またはビデオを管理するためのアプリケーションが、下記に説明されるシステムおよび方法を利用してもよい。いくつかの実施形態では、カードゲームをプレーするためのアプリケーションが、下記に説明されるシステムおよび方法を利用してもよい。いくつかの実施形態では、天候アプリケーションが、下記に説明されるシステムおよび方法を利用してもよい。いくつかの実施形態では、３Ｄ仮想コンテンツをユーザに表示することが可能なデバイスおよび／またはシステム上でインストールおよび／または起動され得る、任意の他のアプリケーションが、下記に説明されるシステムおよび方法を利用してもよい。いくつかの実施形態では、単一アプリケーションが、下記に説明されるシステムおよび方法を利用してもよい。いくつかの実施形態では、１つを上回るアプリケーションが、下記に説明されるシステムおよび方法を利用してもよい。いくつかの実施形態では、３Ｄ仮想コンテンツをユーザに表示することが可能なデバイスおよび／またはシステム上でインストールおよび／または起動される、全てのアプリケーションが、下記に説明されるシステムおよび方法を利用してもよい。
【００３４】
下記に説明されるようなシステムおよび方法は、主に、ブラウザアプリケーションのコンテキスト内で説明されるが、当業者は、本明細書に説明されるシステムおよび方法がまた、１つ以上の他のアプリケーションのコンテキスト内にも同様に適用されてもよいことを理解するであろう。いくつかの実施形態では、ユーザの写真および／またはビデオを管理するためのアプリケーションが、下記に説明されるシステムおよび方法を利用してもよい。いくつかの実施形態では、カードゲームをプレーするためのアプリケーションが、下記に説明されるシステムおよび方法を利用してもよい。いくつかの実施形態では、天候アプリケーションが、下記に説明されるシステムおよび方法を利用してもよい。いくつかの実施形態では、３Ｄ仮想コンテンツをユーザに表示することが可能なデバイスおよび／またはシステム上でインストールおよび／または起動され得る、任意の他のアプリケーションが、下記に説明されるシステムおよび方法を利用してもよい。いくつかの実施形態では、単一アプリケーションが、下記に説明されるシステムおよび方法を利用してもよい。いくつかの実施形態では、１つを上回るアプリケーションが、下記に説明されるシステムおよび方法を利用してもよい。いくつかの実施形態では、３Ｄ仮想コンテンツをユーザに表示することが可能なデバイスおよび／またはシステム上でインストールおよび／または起動される、全てのアプリケーションが、下記に説明されるシステムおよび方法を利用してもよい。いくつかの実施形態では、アプリケーションの複数のインスタンスが、下記に説明されるシステムおよび方法を利用してもよい。
【００３５】
本開示の実施形態は、空間的に編成された３Ｄ環境内に表示されるべき２Ｄウェブページを分解するであろう。２Ｄウェブページは、頭部搭載型システム、モバイルデバイス（例えば、携帯電話）、タブレット、テレビ、アプリケーション、および同等物のウェブブラウザ上で生じ得る。いくつかの実施形態では、２Ｄウェブページは、ラップトップコンピュータ、デスクトップコンピュータ、２Ｄウェブページへのリンクを伴う電子メールアプリケーション、２Ｄウェブページへのリンクを参照する、または含む、電子メッセージ、および同等物等の別のアプリケーションまたはデバイスから受信されてもよい。
【００３６】
図１を参照すると、環境１００は、物理的環境と、下記に説明されるプロセス（例えば、ユーザの物理的環境１０５内の３Ｄ表面上に表示されるべきウェブページから２Ｄコンテンツを分解する）を実装するためのシステムとを表す。環境１００の代表的物理的環境およびシステムは、頭部搭載型システム１６０を通してユーザ１０８によって視認されるようなユーザの物理的環境１０５を含む。環境１００の代表的システムはさらに、ネットワーク１２０に動作可能に結合されるウェブブラウザ１１０を介して、２Ｄコンテンツ（例えば、ウェブページ）にアクセスするステップを含む。ネットワーク１２０は、インターネット、内部ネットワーク、プライベートクラウドネットワーク、パブリッククラウドネットワーク等であってもよい。ウェブブラウザ１１０はまた、ネットワーク１２０を介して、プロセッサ１７０に動作可能に結合される。プロセッサ１７０は、頭部搭載型システム１６０から別個の隔離されたコンポーネントとして示されるが、代替実施形態では、プロセッサ１７０は、頭部搭載型システム１６０の１つ以上のコンポーネントと統合されてもよく、および／または、例えば、ネットワーク１２０等の環境１００内の他のシステムコンポーネントの中に統合され、コンピューティングネットワーク１２５および記憶デバイス１３０にアクセスしてもよい。プロセッサ１７０は、頭部搭載型システム１６０、ローカル記憶デバイス１４０、ウェブブラウザ１１０、コンピューティングネットワーク１２５、および記憶デバイス１３０から受信されるビデオ、オーディオ、コンテンツ等の情報を受信および処理するためのソフトウェア１５０とともに構成されてもよい。ソフトウェア１５０は、ネットワーク１２０を介して、コンピューティングネットワーク１２５および記憶デバイス１３０と通信してもよい。ソフトウェア１５０は、プロセッサ１７０上にインストールされてもよい、または別の実施形態では、ソフトウェアの特徴および機能性は、プロセッサ１７０の中に統合されてもよい。プロセッサ１７０はまた、ユーザ１０８の近傍からの外部記憶デバイス上に遠隔で記憶された情報に依拠せずに、迅速なアクセスのために、プロセッサ１７０によって使用される情報を記憶するためのローカル記憶デバイス１４０とともに構成されてもよい。他の実施形態では、プロセッサ１７０は、頭部搭載型システム１６０内に統合されてもよい。
【００３７】
ユーザの物理的環境１０５は、ユーザが、動き回り、頭部搭載型システム１６０を通してユーザの物理的環境１０５を視認するにつれた、ユーザ１０８の物理的周囲である。例えば、図１を参照すると、ユーザの物理的環境１０５は、２つの壁（例えば、主壁１８０および側壁１８４であって、主壁および側壁は、ユーザのビューに相対的である）と、テーブル１８８とを伴う、部屋を示す。主壁１８０上には、２Ｄコンテンツをその上に投影するための候補表面であり得る、物理的境界を伴う物理的表面（例えば、壁に掛けられた、またはそれに取り付けられた絵画、または窓等）を示すように黒色実線によって描写される、長方形表面１８２が、存在する。側壁１８４上には、物理的境界を伴う物理的表面（例えば、壁に掛けられた、またはそれに取り付けられた絵画、または窓等）を示すように黒色実線によって描写される、第２の長方形表面１８６が、存在する。テーブル１８８上には、異なるオブジェクト、すなわち、１）ある２Ｄコンテンツが記憶および表示され得る、仮想Ｒｏｌｏｄｅｘ１９０、２）ある２Ｄコンテンツをその上に投影するための物理的境界を伴う物理的表面を表すように黒色実線によって描写される、水平表面１９２、および３）例えば、ある２Ｄコンテンツが記憶および表示され得る、スタックされた仮想新聞を表すように黒色点線によって描写される、仮想四角形表面１９４の複数のスタックが存在してもよい。
【００３８】
ウェブブラウザ１１０はまた、インターネットから、またはイントラネット／プライベートネットワーク内のブログページを表示してもよい。加えて、ウェブブラウザ１１０はまた、デジタル２Ｄコンテンツを表示する、任意の技術であってもよい。２Ｄコンテンツは、例えば、ウェブページ、ブログ、デジタル写真、ビデオ、ニュース記事、ニュースレター、または音楽を含んでもよい。２Ｄコンテンツは、ネットワーク１２０を介してユーザ１０８によってアクセス可能な記憶デバイス１３０内に記憶されてもよい。いくつかの実施形態では、２Ｄコンテンツはまた、ストリーミングコンテンツ、例えば、ライブビデオフィードまたはライブオーディオフィードであってもよい。記憶デバイス１３０は、例えば、データベース、ファイルシステム、持続的メモリデバイス、フラッシュドライブ、キャッシュ等を含んでもよい。いくつかの実施形態では、２Ｄコンテンツ（例えば、ウェブページ）を含有する、ウェブブラウザ１１０は、コンピューティングネットワーク１２５を介して表示される。
【００３９】
コンピューティングネットワーク１２５は、記憶デバイス１３０にアクセスし、ウェブブラウザ１１０上のウェブページ内に表示するための２Ｄコンテンツを読み出し、記憶する。いくつかの実施形態では、ローカル記憶デバイス１４０は、着目２Ｄコンテンツをユーザ１０８に提供してもよい。ローカル記憶デバイス１４０は、例えば、フラッシュドライブ、キャッシュ、ハードドライブ、データベース、ファイルシステム等を含んでもよい。ローカル記憶デバイス１４０内に記憶される情報は、最近アクセスされた２Ｄコンテンツまたは３Ｄ空間内に最近表示されたコンテンツを含んでもよい。ローカル記憶デバイス１４０は、２Ｄコンテンツを分解し、２Ｄコンテンツを３Ｄ空間環境（例えば、ユーザの物理的環境１０５内の３Ｄ表面）上に表示することに役立てるためのソフトウェア１５０に、あるコンテンツをローカルで提供することによって、環境１００のシステムに対して性能において改良を可能にする。
【００４０】
ソフトウェア１５０は、非一過性コンピュータ可読媒体内に記憶され、ユーザの物理的環境１０５内に表示されるべき２Ｄコンテンツを分解する機能を果たす、ソフトウェアプログラムを含む。ソフトウェア１５０は、プロセッサ１７０上で起動されてもよく、プロセッサ１７０は、ユーザ１０８にローカルで取り付けられる、またはいくつかの実施形態では、ソフトウェア１５０およびプロセッサ１７０は、頭部搭載型システム１６０内に含まれてもよい。いくつかの実施形態では、ソフトウェア１５０の特徴および機能の一部は、ユーザ１０８から遠隔のコンピューティングネットワーク１２５上で記憶および実行されてもよい。例えば、いくつかの実施形態では、２Ｄコンテンツを分解するステップは、コンピューティングネットワーク１２５上で生じてもよく、分解の結果は、記憶デバイス１３０内に記憶されてもよく、分解された２Ｄコンテンツをその上に提示するためのユーザのローカル環境の表面のインベントリ化は、プロセッサ１７０内で生じてもよく、表面およびマッピングのインベントリは、ローカル記憶デバイス１４０内に記憶される。一実施形態では、２Ｄコンテンツを分解し、ローカル表面をインベントリ化し、２Ｄコンテンツの要素をローカル表面にマッピングし、２Ｄコンテンツの要素を表示するプロセスは全て、プロセッサ１７０およびソフトウェア１５０内でローカルで生じてもよい。
【００４１】
頭部搭載型システム１６０は、ユーザインターフェースと、ユーザ感知システムと、環境感知システムと、プロセッサと（全て図示せず）を含む、仮想現実（ＶＲ）または拡張現実（ＡＲ）頭部搭載型システムであってもよい。頭部搭載型システム１６０は、ユーザ１０８に、デジタル世界と相互作用し、それを体験するためのインターフェースを提示する。そのような相互作用は、ユーザおよびデジタル世界、環境１００とインターフェースをとる１人以上の他のユーザ、およびデジタルおよび物理的世界内のオブジェクトを伴い得る。
ウェブページ分解
【００４２】
ユーザインターフェースは、２Ｄコンテンツを受信するステップと、ユーザインターフェースを通したユーザ入力によって、２Ｄコンテンツ内の要素を選択するステップとを含んでもよい。ユーザインターフェースは、触覚的インターフェースデバイス、キーボード、マウス、ジョイスティック、運動捕捉コントローラ、光学追跡デバイス、およびオーディオ入力デバイスのうちの少なくとも１つまたはそれらの組み合わせであってもよい。触覚的インターフェースデバイスは、人間が、身体感覚および移動を通してコンピュータと相互作用することを可能にする、デバイスである。触覚的とは、アクションまたはコンピューティングデバイス上でプロセスを実施するための触知的フィードバックまたは他の身体感覚を包含する、人間とコンピュータの相互作用技術のタイプを指す。いくつかの実施形態では、制御インターフェースは、例えば、ユーザ入力をシステムに提供し、システムが対応するコマンドを実行することにより応答することによって、ユーザが、ＭＲディスプレイシステムと相互作用し得るような、ユーザインターフェースであってもよい。
【００４３】
ユーザ感知システムは、頭部搭載型システム１６０を装着しているユーザ１０８に関連する、ある特徴、特性、または情報を検出するように動作可能な１つ以上のセンサ１６２を含んでもよい。例えば、いくつかの実施形態では、センサ１６２は、例えば、以下、すなわち、縮瞳／散瞳、各瞳孔の角度測定値／位置付け、球形度、眼形状（眼形状は、経時的に変化するため）、および他の解剖学的データのうちの１つ以上のもの等、ユーザ１０８のリアルタイム光学特性／測定値を検出することが可能なカメラまたは光学検出／走査回路を含んでもよい。本データは、頭部搭載型システム１６０によって使用され、ユーザの視認体験を向上させ得る、情報（例えば、ユーザの視覚的視点）を提供する、または計算するために使用されてもよい。
【００４４】
環境感知システムは、データをユーザの物理的環境１０５から取得するために、１つ以上のセンサ１６４を含んでもよい。センサ１６４によって検出されるオブジェクトまたは情報は、頭部搭載型システム１６０への入力として提供されてもよい。いくつかの実施形態では、本入力は、仮想世界とのユーザ相互作用を表してもよい。例えば、デスク（例えば、テーブル１８８）上の仮想キーボードを視認しているユーザ（例えば、ユーザ１０８）は、ユーザが仮想キーボード上でタイプしているかのように、その指を用いてジェスチャしてもよい。移動している指の運動が、センサ１６４によって捕捉され、頭部搭載型システム１６０に入力として提供されてもよく、入力は、仮想世界を変化させるために使用されてもよい、または、新しい仮想オブジェクトを作成するために使用されてもよい。
【００４５】
センサ１６４は、例えば、持続的および／または断続的に投影される赤外線構造化光を通して、例えば、場面情報を解釈するための概して外向きに面したカメラまたはスキャナを含んでもよい。環境感知システムは、静的オブジェクト、動的オブジェクト、人々、ジェスチャおよび種々の照明、周囲および音響条件を含む、ローカル環境を検出し、位置合わせすることによって、ユーザ１０８の周囲のユーザの物理的環境１０５の１つ以上の要素をマッピングするために使用されてもよい。したがって、いくつかの実施形態では、環境感知システムは、ローカルコンピューティングシステム（例えば、プロセッサ１７０）内に埋め込まれ、センサ１６４によって検出された１つ以上のオブジェクトまたは情報をデジタル的に再構築するように動作可能である、画像ベースの３Ｄ再構築ソフトウェアを含んでもよい。
【００４６】
一例示的実施形態では、環境感知システムは、以下、すなわち、モーションキャプチャデータ（ジェスチャ認識を含む）、深度感知、顔認識、オブジェクト認識、一意のオブジェクト特徴認識、音声／オーディオ認識および処理、音響源位置特定、雑音低減、赤外線または類似レーザ投影、およびモノクロおよび／またはカラーＣＭＯＳセンサ（または他の類似センサ）、視野センサ、および種々の他の光学増強センサのうちの１つ以上のものを提供する。環境感知システムは、上記に議論されるもの以外の他のコンポーネントを含んでもよいことを理解されたい。
【００４７】
上記に述べられたように、プロセッサ１７０は、いくつかの実施形態では、頭部搭載型システム１６０の他のコンポーネントと統合されてもよい、環境１００のシステムの他のコンポーネントと統合されてもよい、または図１に示されるように、隔離されたデバイス（ウェアラブルまたはユーザ１０８と別個）であってもよい。プロセッサ１７０は、物理的有線接続を通して、または、例えば、モバイルネットワーク接続（携帯電話およびデータネットワークを含む）、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、または任意の他の無線接続プロトコル等の無線接続を通して、頭部搭載型システム１６０の種々のコンポーネントに接続されてもよい。プロセッサ１７０は、メモリモジュール、統合されたおよび／または付加的グラフィック処理ユニット、無線および／または有線インターネットコネクティビティ、およびソース（例えば、コンピューティングネットワーク１２５、および頭部搭載型システム１６０からのユーザ感知システムおよび環境感知システム）からのデータを画像およびオーディオデータに変換することが可能なコーデックおよび／またはファームウェアを含んでもよく、画像／ビデオおよびオーディオは、ユーザインターフェース（図示せず）を介して、ユーザ１０８に提示されてもよい。
【００４８】
プロセッサ１７０は、頭部搭載型システム１６０の種々のコンポーネントのためのデータ処理と、頭部搭載型システム１６０とウェブブラウザ１１０およびコンピューティングネットワーク１２５によって表示またはアクセスされ得るウェブページからの２Ｄコンテンツとの間のデータ交換とをハンドリングする。例えば、プロセッサ１７０は、ユーザ１０８とコンピューティングネットワーク１２５との間のデータストリーミングをバッファおよび処理するために使用され、それによって、スムーズで、持続的で、かつ高忠実性のユーザ体験を可能にすることができる。
【００４９】
ウェブページからの２Ｄコンテンツを要素に分解し、要素を３Ｄ環境内の表面に表示されるようにマッピングするステップは、知的かつ論理的様式において遂行されてもよい。所定のルールのセットが、２Ｄコンテンツ／ウェブページ内で識別されたあるタイプの要素／コンテンツを設置すべき場所を推奨、提案、または決定付けるために利用可能であり得る。例えば、あるタイプの２Ｄコンテンツ要素は、１つ以上の要素を記憶および表示するために適している物理的または仮想オブジェクト表面にマッピングされる必要があり得る、１つ以上の要素を有し得る一方、他のタイプの２Ｄコンテンツ要素は、ウェブページ内のメインビデオまたはメイン記事等の単一オブジェクトであり得、その場合、単一オブジェクトは、単一オブジェクトをユーザに表示するために最も道理にかなう表面にマッピングされ得る。
【００５０】
図２は、いくつかの実施形態による、２Ｄコンテンツの要素のユーザの３Ｄ環境への例示的マッピングを図示する。環境２００は、ウェブブラウザ１１０によって表示またはアクセスされる、２Ｄコンテンツ（例えば、ウェブページ）と、ユーザの物理的環境１０５とを描写する。矢印を伴う点線は、ユーザの物理的環境１０５上にマッピングおよび表示される、２Ｄコンテンツ（例えば、ウェブページ）からの要素（例えば、特定のタイプのコンテンツ）を描写する。２Ｄコンテンツからのある要素は、ウェブ設計者ヒントまたは事前に定義されたブラウザルールのいずれかに基づいて、ユーザの物理的環境１０５内のある物理的または仮想オブジェクトにマッピングされる。
【００５１】
実施例として、ウェブブラウザ１１０によってアクセスまたは表示される、２Ｄコンテンツは、複数のタブを有する、ウェブページであってもよく、現在のアクティブなタブ２６０は、表示され、二次タブ２５０は、現在、隠蔽されており、ウェブブラウザ１１０上に表示するために選択されるまで隠蔽される。アクティブタブ２６０内に表示されるのは、典型的には、ウェブページである。本特定の実施例では、アクティブタブ２６０は、メインビデオ２２０と、ユーザコメント２３０と、提案されるビデオ２４０とを含む、ＹＯＵＴＵＢＥ（登録商標）ページを表示する。本例示的実施例である図２に描写されるように、メインビデオ２２０は、垂直表面１８２上に表示されるようにマッピングされてもよく、ユーザコメント２３０は、水平表面１９２上に表示されるようにマッピングされてもよく、提案されるビデオ２４０は、垂直表面１８２と異なる垂直表面１８６上に表示されるようにマッピングされてもよい。加えて、二次タブ２５０は、仮想Ｒｏｌｏｄｅｘ１９０および／またはマルチスタック仮想オブジェクト１９４上に表示されるようにマッピングされてもよい。いくつかの実施形態では、二次タブ２５０内の具体的コンテンツは、マルチスタック仮想オブジェクト１９４内に記憶されてもよい。他の実施形態では、二次タブ２５０内に常駐するコンテンツ全体が、マルチスタック仮想オブジェクト１９４上に記憶および／または表示されてもよい。同様に、仮想Ｒｏｌｏｄｅｘ１９０は、二次タブ２５０からの具体的コンテンツを含有してもよい、または仮想Ｒｏｌｏｄｅｘ１９０は、二次タブ２５０内に常駐するコンテンツ全体を含有してもよい。
【００５２】
垂直表面１８２は、窓ガラスまたは写真フレーム等の部屋（ユーザの物理的環境１０５として描写される）の主壁１８０上にすでにあり得る、任意のタイプの構造であってもよい。いくつかの実施形態では、垂直表面１８２は、空壁であってもよく、頭部搭載型システム１６０は、ユーザ１０８がメインビデオ２２０を閲覧するために適切な垂直表面１８２のフレームの最適サイズを決定する。垂直表面１８２のサイズの本決定は、少なくとも部分的に、主壁１８０からのユーザ１０８の距離、メインビデオ２２０のサイズおよび寸法、メインビデオ２２０の品質、非被覆壁空間の量、および／または主壁１８０を見ているときのユーザの姿勢に基づいてもよい。例えば、メインビデオ２２０の品質が、高精細である場合、垂直表面１８２のサイズは、メインビデオ２２０の品質が垂直表面１８２によって悪影響を受けないであろうため、より大きくてもよい。しかしながら、メインビデオ２２０のビデオ品質が、不良品質である場合、大垂直表面１８２を有することは、ビデオ品質を著しく下げ得、その場合、本開示の方法およびシステムは、垂直表面１８２をより小さくサイズ変更／再定義し、ピクシレーションからの不良ビデオ品質を最小限にしてもよい。
【００５３】
垂直表面１８６は、垂直表面１８２のように、ユーザの物理的環境１０５内の隣接する壁（例えば、側壁１８４）上の垂直表面である。いくつかの実施形態では、ユーザ１０８の配向に基づいて、側壁１８４および垂直表面１８６は、勾配が付けられた傾斜表面であるように現れてもよい。勾配が付けられた傾斜表面は、垂直および水平表面に加えた、表面の配向のタイプであってもよい。ＹＯＵＴＵＢＥ（登録商標）ウェブページから提案されるビデオ２４０は、側壁１８４上の垂直表面１８６上に設置され、ユーザ１０８が、本実施例では、単に、その頭部を若干右に移動させることによって、提案されるビデオを閲覧することが可能となることを可能にしてもよい。
【００５４】
仮想Ｒｏｌｏｄｅｘ１９０は、頭部搭載型システム１６０によって作成され、ユーザ１０８に表示される、仮想オブジェクトである。仮想Ｒｏｌｏｄｅｘ１９０は、ユーザ１０８が、仮想ページのセットを通して双方向にサイクルさせる能力を有してもよい。仮想Ｒｏｌｏｄｅｘ１９０は、ウェブページ全体を含有してもよい、または個々の記事またはビデオまたはオーディオを含有してもよい。本実施例に示されるように、仮想Ｒｏｌｏｄｅｘ１９０は、二次タブ２５０からのコンテンツの一部を含有してもよい、またはいくつかの実施形態では、仮想Ｒｏｌｏｄｅｘ１９０は、二次タブ２５０のページ全体を含有してもよい。ユーザ１０８は、単に、仮想Ｒｏｌｏｄｅｘ１９０内の特定のタブに合焦することによって、仮想Ｒｏｌｏｄｅｘ１９０内のコンテンツを通して双方向にサイクルさせてもよく、頭部搭載型システム１６０内の１つ以上のセンサ（例えば、センサ１６２）は、ユーザ１０８の眼焦点を検出し、仮想Ｒｏｌｏｄｅｘ１９０内のタブを通してサイクルさせ、故に、ユーザ１０８のために、関連情報を取得するであろう。いくつかの実施形態では、ユーザ１０８は、仮想Ｒｏｌｏｄｅｘ１９０からの関連情報を選定し、頭部搭載型システム１６０に、関連情報を利用可能な周囲表面またはユーザ１０８に近接近する仮想ディスプレイ等のさらに別の仮想オブジェクト（図示せず）のいずれか上に表示するように命令してもよい。
【００５５】
仮想Ｒｏｌｏｄｅｘ１９０に類似する、マルチスタック仮想オブジェクト１９４は、１つ以上のタブからのフルコンテンツ、またはユーザ１０８が、ブックマークした、将来的閲覧のために保存した、または開いている（すなわち、非アクティブタブ）、種々のウェブページまたはタブからの特定のコンテンツに及ぶ、コンテンツを含有してもよい。マルチスタック仮想オブジェクト１９４はまた、新聞の実世界スタックに類似する。マルチスタック仮想オブジェクト１９４内の各スタックは、特定の新聞記事、ページ、雑誌発行物、レシピ等に関連してもよい。当業者は、２Ｄコンテンツ要素または２Ｄコンテンツソースからのコンテンツを設置するための表面を提供する本同一目的を遂行するために、複数のタイプの仮想オブジェクトが存在し得ることを理解し得る。
【００５６】
当業者は、ウェブブラウザ１１０によってアクセスまたは表示される２Ｄコンテンツが、単に、ウェブページ以上のものであってもよいことを理解し得る。いくつかの実施形態では、２Ｄコンテンツは、写真アルバムからの写真、映画からのビデオ、ＴＶ番組、ＹＯＵＴＵＢＥ（登録商標）ビデオ、双方向フォーム等であってもよい。さらに他の実施形態では、２Ｄコンテンツは、電子書籍または書籍を表示する任意の電子手段であってもよい。最後に、他の実施形態では、２Ｄコンテンツは、２Ｄコンテンツが、概して、情報が現在提示される方法であるため、これまで説明されていない他のタイプのコンテンツであってもよい。電子デバイスが、２Ｄコンテンツを消費することができる場合、２Ｄコンテンツは、頭部搭載型システム１６０によって、２Ｄコンテンツを分解し、３Ｄ設定（例えば、ＡＲ）内に表示するために使用されることができる。
【００５７】
いくつかの実施形態では、アクセスされた２Ｄコンテンツをマッピングするステップは、２Ｄコンテンツを抽出するステップ（例えば、ブラウザから）と、それを表面上に載上するステップ（コンテンツが、もはやブラウザ内になく、表面上にのみあるように）とを含んでもよく、いくつかの実施形態では、マッピングは、コンテンツを複製するステップ（例えば、ブラウザから）と、それを表面上に載上するステップ（コンテンツが、ブラウザ内および表面上の両方にあるように）とを含むことができる。
【００５８】
２Ｄコンテンツを分解するステップは、インターネットおよびコンピュータ関連技術の領域に存在する、技術的問題である。ウェブページ等の２Ｄコンテンツは、ＨＴＭＬ等のあるタイプのプログラミング言語を使用して構築され、コンピュータプロセッサおよび技術的コンポーネントに、ウェブページ内の要素をユーザのための画面上に表示する場所および方法を命令する。上記に議論されるように、ウェブ設計者は、典型的には、２Ｄキャンバス（例えば、画面）の限界内で作業し、要素（例えば、コンテンツ）を２Ｄキャンバス内で設置および表示する。ＨＴＭＬタグは、ＨＴＭＬドキュメントまたはＨＴＭＬドキュメント内の一部がフォーマットされる方法を決定するために使用される。いくつかの実施形態では、（抽出または複製された）２Ｄコンテンツは、ＨＴＭＬタグ参照を維持することができ、いくつかの実施形態では、ＨＴＭＬタグ参照は、再定義されてもよい。
【００５９】
図３は、いくつかの実施形態による、３Ｄ環境内に表示されるべき２Ｄコンテンツを分解するための方法を図示する、フロー図である。本方法は、３１０において、２Ｄコンテンツを識別するステップと、３２０において、２Ｄコンテンツ内の要素を識別するステップと、３３０において、周囲表面を識別するステップと、３４０において、識別された２Ｄコンテンツ内の識別された要素を周囲表面を識別するステップから識別された表面にマッピングするステップと、３５０において、要素を仮想コンテンツとして選択された表面上に表示するステップとを含み、選択された表面は、要素の識別された表面へのマッピングから選択される。
【００６０】
３１０において、２Ｄコンテンツを識別するステップは、デジタルコンテンツを検索するために、頭部搭載型システム１６０の使用を伴ってもよい。３１０において、２Ｄコンテンツを識別するステップはまた、ネットワーク１２０に接続されるサーバ（例えば、記憶デバイス１３０）上のデジタルコンテンツにアクセスするステップを含んでもよい。３１０において、２Ｄコンテンツを識別するステップは、ユーザ１０８に関心があるウェブページに関して、インターネットをブラウジングするステップを含んでもよい。いくつかの実施形態では、３１０において、２Ｄコンテンツを識別するステップは、インターネット上でコンテンツを検索するためにユーザ１０８によって与えられる、音声アクティブ化コマンドを含んでもよい。例えば、ユーザ１０８は、デバイス（例えば、頭部搭載型システム１６０）と相互作用してもよく、ユーザ１０８は、ビデオを検索するためのコマンドを発し、次いで、ビデオの名称およびビデオの簡単な説明を伝えることにより、デバイスに特定のビデオを検索するように求めることによって、インターネット上の特定のビデオを検索する。デバイスは、次いで、インターネットを検索し、ビデオを２Ｄブラウザ上に取り込み、ユーザ１０８が、デバイスの２Ｄブラウザ上に表示されるにつれて、ビデオを見ることを可能にしてもよい。ユーザ１０８は、次いで、ビデオがユーザ１０８が空間３Ｄ環境内で閲覧することを所望するであろうビデオであることを確認してもよい。
【００６１】
いったん２Ｄコンテンツが、識別されると、本方法は、３２０において、２Ｄコンテンツ内の要素を識別し、ユーザ１０８に表示するために、２Ｄコンテンツ内の利用可能な要素をインベントリ化する。２Ｄコンテンツ内の要素は、例えば、ウェブページ上に掲載されたビデオ、記事、およびニュースレター、ソーシャルメディアウェブサイト上のコメントおよびポスティング、ブログポスト、種々のウェブサイト上に掲載された写真、オーディオ書籍等を含んでもよい。２Ｄコンテンツ（例えば、ウェブページ）内のこれらの要素は、特定の要素が設置されるウェブページ上の場所、およびある場合には、要素がウェブページ上に表示されるべき時間および方法を定義するために、コンテンツ設計者によって提供されるＨＴＭＬタグと関連付けられた属性を有する、ＨＴＭＬタグを含有してもよい。いくつかの実施形態では、本開示の方法およびシステムは、３４０におけるマッピングプロセスを補助し、要素を３Ｄ設定内に表示するための場所および方法を決定するために、これらのＨＴＭＬタグおよび属性をコンテンツ設計者によって提供されるヒントおよび提案として利用するであろう。例えば、下記は、ウェブページ開発者によって提供される、例示的ＨＴＭＬウェブページコードである。
【化１】
2021514088.tif 000003
【００６２】
ウェブページ開発者によって提供される、例示的ＨＴＭＬウェブページコードは、メインビデオをウェブページ上に表示する方法に関する選好と、推奨される（または提案される）ビデオを表示する方法に関する選好とを含む。特に、本ＨＴＭＬウェブページコードは、「ｖｉｒｔｉｃａｌ」のタイプ値を使用して、ビデオを表示するための垂直表面を指定する、「ｓｔｙｌｅ」のタグを使用して、メインビデオを表示するための方法を規定する。加えて、「ｓｔｙｌｅ」タグ内に、ウェブページ開発者によって提供される付加的ヒントが、どのウェブページ（例えば、メインビデオ）内のＨＴＭＬ要素／コンテンツがどの潜在的表面積にマッピングされるべきかを優先順位化するために使用するためのマッチングアルゴリズムに関する「ｐｒｉｏｒｉｔｙ」選好を含んでもよい。例示的ＨＴＭＬウェブページコードでは、優先順位は、垂直平面レイアウトを有するビデオに関して、１００の値に設定され、本実施例では、より高い優先順位値は、より高い優先順位を示す。加えて、本実施例では、選好は、提案されるビデオを「ｈｏｒｉｚｏｎｔａｌ」のタイプ値を有するスタック内にスタックレイアウトで設置するように、ウェブページ開発者によって示され、スタックされたオブジェクト（例えば、この場合、別の提案されるビデオに関連して提案されるビデオ）間の距離は、２０ｃｍとなるべきである。
【００６３】
図４は、いくつかの実施形態による、２Ｄコンテンツ内の要素を識別するための方法を図示する、フロー図である。図４は、いくつかの実施形態による、図３の３２０における２Ｄコンテンツ内の要素を識別するステップを開示する、詳細なフローである。図４は、４１０において、図３の３２０において２Ｄコンテンツ内の要素を識別するステップに類似する、２Ｄコンテンツ内の要素を識別するステップから開始する。本方法は、４２０において、タグからコンテンツの設置に関する属性を識別する次のステップに進む。上記に議論されるように、ウェブページ設計者は、ウェブページを設計および構成する際、ウェブページ内の要素とＨＴＭＬタグを関連付け、各要素を表示するための場所および方法を定義し得る。これらのＨＴＭＬタグはまた、ウェブページの特定の部分上への要素の設置に関する属性を含んでもよい。頭部搭載型システム１６０が、検出し、システムの他のコンポーネントと協調し、特定の要素が表示され得る場所に関する入力として使用するであろうものは、これらのＨＴＭＬタグおよびその属性である。
【００６４】
ヒントまたはタグを各要素から抽出するステップが、４３０において実施される。ヒントまたはタグは、典型的には、２Ｄコンテンツ／ウェブページのコンテンツ設計者および／またはウェブページ開発者によって提供される、フォーマット化ヒントまたはフォーマット化タグである。上記に議論されるように、コンテンツ設計者は、例えば、「ウェブページ開発者によって提供される例示的ＨＴＭＬウェブページコード」に示されるように、ＨＴＭＬタグの形態において、命令またはヒントを提供し、ウェブブラウザ１１０に、２Ｄコンテンツの要素をページまたは画面の特定の部分内に表示するように命令してもよい。いくつかの実施形態では、ウェブページ設計者は、付加的ＨＴＭＬタグ属性を使用して、付加的フォーマット化ルールを定義してもよい。例えば、ユーザが、具体的色（例えば、赤色）に対して低減された感度を有する場合、赤色を表示せず、代わりに、別の色を使用する、または上記に議論されるように、垂直表面上に表示されるべき選好を有するビデオが、垂直表面上に表示されることができない場合、代替として、ビデオを別の（物理的）表面上に表示する、または仮想表面を作成し、ビデオを仮想表面上に表示する。下記は、ＨＴＭＬページを通して解析し、ヒント／タグをＨＴＭＬページ内の各要素から抽出するためにブラウザ内に実装される、例示的ＨＴＭＬページパーサである。
【化２−１】
2021514088.tif 000004
【化２−２】
2021514088.tif 000005
【化２−３】
2021514088.tif 000006
【００６５】
例示的ＨＴＭＬページパーサは、２Ｄコンテンツ（例えば、ウェブページ）内の特定の要素／オブジェクトに関する表示選好を提供するために使用される、ＨＴＭＬタグを含有するＨＴＭＬページが、解析および識別および／または抽出／複製され得る方法を示す。例示的ＨＴＭＬページパーサに開示されるように、２Ｄコンテンツ（例えば、ウェブページ）内の要素は、開示されるサンプルコードを使用して解析されることができる。種々の要素名および値を使用する、あるＨＴＭＬタグが、ＨＴＭＬページパーサ（例えば、ＭＬ．ｌａｙｏｕｔ、ＭＬ．ｃｏｎｔａｉｎｅｒ等）によって識別／抽出され、特定の要素が３Ｄ環境内でユーザに表示されるための方法（例えば、要素を特定の表面にマッピングすることによって）を決定してもよい。
【００６６】
１つ以上の要素のための代替表示形態をルックアップ／検索するステップが、４４０において実施される。あるフォーマット化ルールが、ウェブページ上の画像のために規定されてもよい。例えば、ウェブブラウザ１１０が、画像の３Ｄバージョンを表示することが可能である場合、ウェブページ設計者は、付加的タグを設置し、または特定のタグのある属性を定義し、ウェブブラウザ１１０が、画像が画像の代替バージョン（例えば、画像の３Ｄバージョン）を有し得ることを認識することを可能にしてもよい。ウェブブラウザ１１０は、次いで、３Ｄ対応ブラウザ内に表示されるべき画像の代替バージョン（例えば、画像の３Ｄバージョン）にアクセスしてもよい。
【００６７】
２Ｄコンテンツ内の識別された要素を記憶するステップが、４５０において実施される。本方法は、マッピングルーチン（例えば、図３の３４０における要素を識別された表面にマッピングするステップ）によって使用され、要素を特定の表面にマッピングするために、識別された要素を非一過性記憶媒体の中に記憶してもよい。非一過性記憶媒体は、記憶デバイス１３０またはローカル記憶デバイス１４０等のデータ記憶デバイスを含んでもよい。要素は、下記に説明される図５に開示されるテーブル等の特定のテーブル内に記憶されてもよい。いくつかの実施形態では、２Ｄコンテンツ内の識別された要素は、一過性記憶媒体内に記憶されてもよい。
【００６８】
図５は、いくつかの実施形態による、２Ｄコンテンツから分解された要素を記憶するためのテーブルの実施例を示す。要素テーブル５００は、図４の４１０において２Ｄコンテンツ内の要素を識別するステップの結果をデータベース内に記憶し得る、例示的テーブルである。要素テーブル５００は、例えば、要素識別（ＩＤ）５１０、要素が３Ｄ表面上に設置され得る場所に関する選好インジケータ５２０、特定の要素が親要素内に含まれる場合の親要素ＩＤ５３０、要素が子要素を含有し得る場合の子要素ＩＤ５４０、および要素を表示するために使用される表面または仮想オブジェクトに要素の複数のバージョンを表示することと互換性を持たせる必要性を正当化し得る、要素が複数の実施形態を含有するかどうかを示すための多重エンティティインジケータ５５０を含む、２Ｄコンテンツ内の１つ以上の要素についての情報を含む。親要素は、サブ要素（例えば、子要素）を含有し得る、２Ｄコンテンツ内の要素／オブジェクトである。例えば、２２０の値を有する、要素ＩＤ（例えば、メインビデオ２２０）は、２６０の親要素ＩＤ値（例えば、アクティブタブ２６０）を有し、これは、メインビデオ２２０が、アクティブタブ２６０の子要素であることを示す。または換言すると、メインビデオ２２０は、アクティブタブ２６０内に含まれる。同一実施例を継続すると、メインビデオ２２０は、子要素ＩＤ２３０（例えば、ユーザコメント２３０）を有し、これは、ユーザコメント２３０がメインビデオ２２０と関連付けられることを示す。当業者は、要素テーブル５００が、関係データベースまたは任意のタイプのデータベース内のテーブルであってもよいことを理解し得る。加えて、要素テーブル５００は、図４の４１０において２Ｄコンテンツ内の要素を識別するステップの結果を含有する、コンピュータメモリ（例えば、キャッシュ）内のアレイであってもよい。
【００６９】
要素テーブル５００内の行５６０の各行は、ウェブページ内からの要素に対応する。要素ＩＤ５１０は、要素毎の一意の識別子（例えば、要素ＩＤ）を含有する、列である。いくつかの実施形態では、要素の一意性は、テーブル内の要素ＩＤ５１０列と別の列（例えば、コンテンツ設計者によって識別される１つを上回る選好が存在する場合の選好５２０列）の組み合わせとして定義されてもよい。選好５２０は、その値が、少なくとも部分的に、コンテンツ設計者／開発者（例えば、ウェブページ設計者）によって定義され、図４の４３０においてヒントまたはタグを各要素から抽出するステップに開示されるように、本システムおよび方法によって識別される、ＨＴＭＬタグおよび属性に基づいて決定され得る、列である。他の実施形態では、選好５２０列は、少なくとも部分的に、所定のブラウザルールに基づいて決定され、ウェブページ内のあるタイプの要素が３Ｄ環境内に表示されるべき場所を規定してもよい。これらの所定のルールは、本システムおよび方法に、要素を３Ｄ環境内に最良に設置するための場所を決定するための提案を提供し得る。
【００７０】
親要素ＩＤ５３０は、本行内の本特定の要素が、その中に表示される、またはそれに関連する、親要素の要素ＩＤを含有する、列である。ウェブページ内の特定の要素は、埋め込まれ得る、ページの別の要素内に設置され得る、またはページ上の別の要素に関連し得る。例えば、本実施形態では、要素ＩＤ５１０列の第１のエントリは、図２のメインビデオ２２０に対応する要素ＩＤ２２０の値を記憶する。メインビデオ２２０に対応する選好５２０列内の選好値は、ＨＴＭＬタグおよび／または属性に基づいて決定され、本実施形態では、本要素が、ユーザの物理的環境１０５の「主要」な場所内に設置されるべきであるとされる。ユーザ１０８の現在の場所に応じて、その主要な場所は、居間内の壁、またはユーザ１０８が現在見ている台所のコンロの上のフードであってもよい、または広開放空間内に居る場合、メインビデオ２２０がその上に投影され得る、ユーザ１０８の視線の表面に投影される仮想オブジェクトであってもよい。２Ｄコンテンツの要素がユーザ１０８に表示される方法に関するさらなる情報は、後の節に開示されるであろう。本実施例を継続すると、親要素ＩＤ５３０列は、図２のアクティブタブ２６０に対応する、要素ＩＤ２６０の値を記憶する。したがって、メインビデオ２２０は、アクティブタブ２６０の子である。
【００７１】
子要素ＩＤ５４０は、本行内の本特定の要素が、その中に表示されている、またはそれに関連する、子要素の要素ＩＤを含有する、列である。ウェブページ内の特定の要素は、内蔵される、ページの別の要素内に設置される、またはページ上の別の要素に関連してもよい。本実施例を継続すると、子要素ＩＤ５４０列は、図２のユーザコメント２３０に対応する、要素ＩＤ２３０の値を記憶する。
【００７２】
多重エンティティインジケータ５５０は、要素を表示するために使用される表面または仮想オブジェクトに要素の複数のバージョンを表示することと互換性を持たせる必要性を正当化し得る、要素が多重エンティティを含有するかどうかを示す、列である（例えば、要素は、ユーザコメント２３０であってもよく、メインビデオ２２０に関して、利用可能な１つを上回るコメントが存在してもよい）。本実施例を継続すると、多重エンティティインジケータ５５０列は、「Ｎ」の値を記憶し、メインビデオ２２０が、複数のメインビデオをアクティブタブ２６０内に有していない、またはそれに対応しない（例えば、メインビデオ２２０の複数のバージョンが「ない」）ことを示す。
【００７３】
本実施例を継続すると、要素ＩＤ５１０列の第２のエントリは、図２のユーザコメント２３０に対応する、要素ＩＤ２３０の値を記憶する。ユーザコメント２３０に対応する、選好５２０列内の選好値は、「水平」の選好を示し、ユーザコメント２３０が、ユーザの物理的環境１０５内のいずれかの場所の「水平」表面上に設置されるべきであることを示す。上記に議論されるように、水平表面は、ユーザの物理的環境１０５内の利用可能な水平表面に基づいて決定されるであろう。いくつかの実施形態では、ユーザの物理的環境１０５は、水平表面を有していない場合があり、その場合、本開示のシステムおよび方法は、水平表面を伴う仮想オブジェクトを識別／作成し、ユーザコメント２３０を表示してもよい。本実施例を継続すると、親要素ＩＤ５３０列は、図２のメインビデオ２２０に対応する、値要素ＩＤ２２０を記憶し、多重エンティティインジケータ５５０列は、「Ｙ」の値を記憶し、ユーザコメント２３０が１つを上回る値（例えば、１つを上回るユーザコメント）を含有し得ることを示す。
【００７４】
要素テーブル５００内の残りの行は、ユーザ１０８に関心がある残りの要素に関する情報を含有する。当業者は、４１０において２Ｄコンテンツ内の要素を識別するステップの結果を記憶することが、いったん本分析が２Ｄコンテンツ上で実施されると、別のユーザが同一２Ｄコンテンツに関心がある場合に、２Ｄコンテンツの将来的分析のために本システムおよび方法によって留保され得るため、コンピュータ自体の機能を改良することを理解し得る。本特定の２Ｄコンテンツを分解するためのシステムおよび方法は、以前にすでに完了されているため、回避されてもよい。
【００７５】
いくつかの実施形態では、要素テーブル５００は、記憶デバイス１３０内に記憶されてもよい。他の実施形態では、要素テーブル５００は、最近閲覧した２Ｄコンテンツへの迅速なアクセスのために、または最近閲覧された２Ｄコンテンツへの可能性として考えられる再訪問のために、ローカル記憶デバイス１４０内に記憶されてもよい。さらに他の実施形態では、要素テーブル５００は、ユーザ１０８から遠隔に位置する記憶デバイス１３０と、ユーザ１０８のローカルに位置するローカル記憶デバイス１４０との両方に記憶されてもよい。
【００７６】
図３に戻ると、本方法は、３３０において、周囲表面を識別するステップを継続する。ユーザ１０８は、頭部搭載型システム１６０を通して、ユーザの物理的環境１０５を視認し、頭部搭載型システム１６０が、壁、テーブル、絵画、窓枠、コンロ、冷蔵庫、ＴＶ等の周囲表面を捕捉および識別することを可能にしてもよい。頭部搭載型システム１６０は、頭部搭載型システム１６０上のセンサおよびカメラのため、または任意の他のタイプの類似デバイスを用いて、ユーザの物理的環境１０５内の実オブジェクトを認知する。いくつかの実施形態では、頭部搭載型システム１６０は、ユーザの物理的環境１０５内で観察される実オブジェクトと記憶デバイス１３０またはローカル記憶デバイス１４０内に記憶される仮想オブジェクトをマッチングさせ、そのような仮想オブジェクトとともに利用可能な表面を識別してもよい。実オブジェクトは、ユーザの物理的環境１０５内で識別されたオブジェクトである。仮想オブジェクトは、ユーザの物理的環境内に物理的に存在しないが、仮想オブジェクトがユーザの物理的環境内に存在するかのように現れるようにユーザに表示され得る、オブジェクトである。例えば、頭部搭載型システム１６０は、ユーザの物理的環境１０５内のテーブルの画像を検出してもよい。テーブル画像は、記憶デバイス１３０またはローカル記憶デバイス１４０における迅速かつ効率的比較およびマッチングのために、３Ｄ点群オブジェクトに縮小されてもよい。実オブジェクトと（例えば、テーブルの）３Ｄ点群オブジェクトのマッチングが、検出される場合、本システムおよび方法は、テーブルを表す３Ｄ点群オブジェクトが水平表面を有するように定義されるため、水平表面を有するとテーブルを識別するであろう。周囲表面を識別するステップのより詳細な説明は、下記の図６に開示される。
【００７７】
いくつかの実施形態では、仮想オブジェクトは、抽出されたオブジェクトであってもよく、抽出されたオブジェクトは、ユーザの物理的環境１０５内で識別された物理的オブジェクトであってもよいが、付加的処理および関連付けが、物理的オブジェクト自体上で行われることが不可能であろう、抽出されたオブジェクトに行われ得るように（例えば、物理的オブジェクトの色を変化させ、物理的オブジェクトの特定の特徴をハイライトする等のために）、物理的オブジェクトの場所内の仮想オブジェクトとしてユーザに表示される。加えて、抽出されたオブジェクトは、２Ｄコンテンツ（例えば、ブラウザからのウェブページ）から抽出され、ユーザ１０８に表示される、仮想オブジェクトであってもよい。例えば、ユーザ１０８は、ユーザの物理的環境１０５内に表示されるように、２Ｄコンテンツ／ウェブページ上に表示されるウェブページからの長椅子等のオブジェクトを選定してもよい。システムは、選定されたオブジェクト（例えば、長椅子）を認識し、抽出されたオブジェクト（例えば、長椅子）がユーザの物理的環境１０５内に物理的に存在するかのように、抽出されたオブジェクト（例えば、長椅子）をユーザ１０８に表示してもよい。加えて、仮想オブジェクトはまた、ユーザの物理的環境１０５に物理的に存在さえしないが、２Ｄコンテンツからのコンテンツを表示する観点から、あるコンテンツをユーザに提示するために理想的ディスプレイ表面であり得る、コンテンツを表示するための表面（例えば、あるコンテンツを閲覧するためにユーザに近接近する透明ディスプレイ画面）を有する、オブジェクトを含んでもよい。
【００７８】
図６は、いくつかの実施形態による、ユーザのローカル環境からの表面を識別するための方法を図示する、フロー図である。図６は、図３の３３０において周囲表面を識別するステップを開示する、詳細なフローである。図６は、６１０において、図３の３３０における周囲表面を識別するステップに類似する、ユーザの現在の周囲を識別するステップから開始する。本方法は、６２０において、ユーザの姿勢を決定する次のステップに進む。
【００７９】
６２０において、ユーザの姿勢を決定するステップは、ユーザの姿勢が、ユーザの物理的環境１０５内のオブジェクトに関連してユーザ１０８に関する目線を提供するであろうため、ユーザの現在の周囲を識別するための重要なステップである。例えば、図１に戻って参照すると、ユーザ１０８は、頭部搭載型システム１６０を使用して、ユーザの物理的環境１０５を観察する。６２０において、ユーザの姿勢（すなわち、世界に対するベクトルおよび／または原位置情報）を決定するステップは、頭部搭載型システム１６０が、例えば、（１）接地面に関連したユーザ１０８の身長、（２）ユーザ１０８が、部屋を動き回り、その画像を捕捉するために、その頭部を回転させる必要がある角度、および（３）ユーザ１０８と、テーブル１８８、主壁１８０、および側壁１８４との間の距離を理解することに役立つであろう。加えて、ユーザ１０８の姿勢はまた、垂直表面１８２および１８６を、ユーザの物理的環境１０５内の他の表面とともに観察するとき、頭部搭載型システム１６０の角度を決定するために有用である。
【００８０】
６３０では、本方法は、周囲表面の寸法を識別する。ユーザの物理的環境１０５内の各候補表面は、タグ付けされ、対応する寸法とともにカテゴリ化される。いくつかの実施形態では、ユーザの物理的環境１０５内の各候補表面はまた、タグ付けされ、対応する配向とともにカテゴリ化される。本情報は、少なくとも部分的に、表面の寸法、表面の配向、特定の表面から離れたユーザ１０８の距離、および要素のために表示される必要がある情報のタイプに基づいて、どの要素がどの表面にマッピングされるべきであるかを識別するために有用であろう。例えば、ビデオは、記事のテキストサイズが、小寸法を伴う離れた壁上に表示される場合、小さすぎてユーザが見ることができない場合がある、豊富な情報を含有し得る、ブログまたは記事より離れて示され得る。
【００８１】
６４０では、本方法は、要素を特定の表面にマッピングするために、マッピングルーチン（例えば、要素を図３の識別された表面３４０にマッピングするステップ）によって使用されるために、周囲表面のインベントリを非一過性記憶媒体の中に記憶する。非一過性記憶媒体は、記憶デバイス１３０またはローカル記憶デバイス１４０等のデータ記憶デバイスを含んでもよい。識別された表面は、下記に説明される図７に開示されるテーブル等の特定のテーブル内に記憶されてもよい。いくつかの実施形態では、識別された表面は、一過性記憶媒体内に記憶されてもよい。
【００８２】
図７は、いくつかの実施形態による、ユーザのローカル環境から識別された表面のインベントリを記憶するためのテーブルの実施例を示す。表面テーブル７００は、周囲表面を識別するプロセスの結果をデータベース内に記憶し得る、例示的テーブルである。表面テーブル７００は、例えば、表面ＩＤ７１０、幅７２０、高さ７３０、配向７４０、実または仮想インジケータ７５０、多重性７６０、および位置７７０を含む、データ列を有する、ユーザの物理的環境１０５内の表面についての情報を含む。当業者は、表面テーブル７００が、関係データベースまたは任意のタイプのデータベース内のテーブルであってもよいことを理解し得る。加えて、表面テーブル７００は、図３の３３０において周囲表面を識別するステップの結果を記憶する、コンピュータメモリ（例えば、キャッシュ）内のアレイであってもよい。
【００８３】
表面テーブル７００内の行７８０の各行は、ユーザの物理的環境１０５からの表面、またはユーザの物理的環境１０５内でユーザ１０８に表示され得る、仮想表面に対応してもよい。表面ＩＤ７１０は、特定の表面を一意に識別するための一意の識別子（例えば、表面ＩＤ）を含有する、列である。特定の表面の寸法は、幅７２０および高さ７３０列内に記憶される。
【００８４】
配向７４０は、ユーザ１０８に対する表面の配向（例えば、垂直、水平等）を示す、列である。実／仮想インジケータ７５０は、特定の表面が、ユーザ１０８によって頭部搭載型システム１６０を使用して知覚されるようなユーザの物理的環境１０５内の実オブジェクト上に位置するかどうか、または特定の表面が、頭部搭載型システム１６０によって生成され、ユーザの物理的環境１０５内に表示されるであろう、仮想オブジェクト上に位置するかどうかを示す、列である。頭部搭載型システム１６０は、ユーザの物理的環境１０５が、ユーザ１０８が表示することを所望するコンテンツの量を表示するための十分な表面を含有し得ない状況のために、仮想オブジェクトを生成する必要があり得る。これらの実施形態では、頭部搭載型システム１６０は、表示のために識別されたあるタイプの要素を表示するための適切な表面寸法を有し得る、既存の仮想オブジェクトのデータベースから検索してもよい。データベースは、記憶デバイス１３０またはローカル記憶デバイス１４０からのものであってもよい。
【００８５】
多重性７６０は、表面／オブジェクトが要素の複数のバージョンを表示することと互換性があるかどうかを示す、列である（例えば、要素は、図２の二次タブ２５０であってもよく、特定のウェブブラウザ１１０に関して、１つを上回る二次（すなわち、非アクティブ）タブ（例えば、タブあたり１つのウェブページ）が存在してもよい）。図２の仮想Ｒｏｌｏｄｅｘ１９０に対応する１９０の値を記憶する、表面ＩＤ列の第４のエントリ、および図２のマルチスタック仮想オブジェクト１９４に対応する１９４の値を記憶する、表面ＩＤ列の第５のエントリの場合等、複数の７６０列が、「多重」の値を有する場合、本システムおよび方法は、非アクティブタブに関する場合のように、要素の複数のバージョンを有し得る要素が存在する場合、これらが、複数のバージョンに適応し得る表面のタイプであることを把握するであろう。
【００８６】
位置７７０は、基準フレームまたは基準点に対する物理的表面の位置を示す、列である。物理的表面の位置は、図７における位置７７０の列ヘッダに示されるように、表面の中心であると事前決定されてもよい。他の実施形態では、位置は、表面の別の基準点（例えば、表面の正面、背面、上面、または底面）であると事前決定されてもよい。位置情報は、ある基準フレームまたは基準点に対する物理的表面の中心からのベクトルおよび／または位置情報として表され得る。表面テーブル７００内の位置を表すためのいくつかの方法が、存在し得る。例えば、表面テーブル７００内の表面ＩＤ１９４に関する位置の値は、ベクトル情報および基準フレーム情報（例えば、「フレーム」添字）を例証するように理論上表される。ｘ，ｙ，ｚは、各空間寸法内の３Ｄ座標であって、フレームは、３Ｄ座標が対する基準フレームを示す。
【００８７】
例えば、表面ＩＤ１８６は、実世界原点に対して（１．３、２．３、１．３）であるように、表面１８６の中心の位置を示す。別の実施例として、表面ＩＤ１９２は、ユーザ基準フレームに対して（ｘ，ｙ，ｚ）であるように、表面１９２の中心の位置を示し、表面ＩＤ１９０は、別の表面１８２に対して（ｘ，ｙ，ｚ）であるように、表面１９０の中心の位置を示す。基準フレームは、現在使用されている基準フレームを明確にするために重要である。基準フレームとしての実世界原点の場合、これは、概して、静的基準フレームである。しかしながら、基準フレームがユーザ基準フレームである、他の実施形態では、ユーザは、基準フレームを移動させ得、その場合、平面（またはベクトル情報）は、ユーザが、移動しており、ユーザ基準フレームが基準フレームとして使用される場合、ユーザに伴って移動および変化し得る。いくつかの実施形態では、表面毎の基準フレームは、同一（例えば、ユーザ基準フレーム）であってもよい。他の実施形態では、表面テーブル７００内に記憶される表面のための基準フレームは、表面に応じて、異なり得る（例えば、ユーザ基準フレーム、世界基準フレーム、部屋内の別の表面またはオブジェクト等）
【００８８】
本実施例では、表面テーブル７００内に記憶される値は、図２のユーザの物理的環境１０５内で識別された物理的表面（例えば、垂直表面１８２および１８６および水平表面１９２）と、仮想表面（例えば、仮想Ｒｏｌｏｄｅｘ１９０およびマルチスタック仮想オブジェクト１９４）とを含有する。例えば、本実施形態では、表面ＩＤ７１０列の第１のエントリは、図２の垂直表面１８２に対応する、表面ＩＤ１８２の値を記憶する。垂直表面１８２の幅および高さに対応する、幅７２０列内の幅値および高さ７３０列内の高さ値は、それぞれ、垂直表面１８２は、４８インチ（Ｗ）×３６インチ（Ｈ）の寸法を有することを示す。同様に、垂直表面１８２を示す、配向７４０列内の配向値は、「垂直」の配向を有する。加えて、垂直表面１８２を示す、実／仮想インジケータ７５０列内の実／仮想値は、「Ｒ」（例えば、実）表面である。複数の７６０列内の多重性値は、垂直表面１８２が「単一」（例えば、単一コンテンツのみを保持することができる）であることを示す。最後に、位置７７０列は、（２．５、２．３、１．２）ｕｓｅｒのベクトル情報を用いて、ユーザ１０８に対する垂直表面１８２の位置を示す。
【００８９】
表面テーブル７００内の残りの行は、ユーザの物理的環境１０５内の残りの表面に関する情報を含有する。当業者は、いったん本分析が周囲表面上で実施されると、別のユーザまたは同一ユーザ１０８が同一物理的環境１０５内に居るが、異なる２Ｄコンテンツに関心がある場合に、ユーザの周囲表面の将来的分析のために、頭部搭載型システム１６０によって留保され得るため、図３の３３０において周囲表面を識別するステップの結果を記憶することが、コンピュータ自体の機能を改良することを理解し得る。３３０において周囲表面を識別するための処理ステップは、これらの処理ステップが以前にすでに完了されているため、回避されてもよい。唯一の差異は、少なくとも部分的に、異なる２Ｄコンテンツを伴う要素を識別する要素テーブル５００に基づいて、利用可能である付加的または異なる仮想オブジェクトを識別するステップを含み得る。
【００９０】
いくつかの実施形態では、表面テーブル７００は、記憶デバイス１３０内に記憶される。他の実施形態では、表面テーブル７００は、最近閲覧した２Ｄコンテンツへの迅速アクセスのために、または最近閲覧した２Ｄコンテンツへの可能性として考えられる再訪問のために、ユーザ１０８のローカル記憶デバイス１４０内に記憶される。さらに他の実施形態では、表面テーブル７００は、ユーザ１０８から遠隔に位置する記憶デバイス１３０と、ユーザ１０８のローカルに位置するローカル記憶デバイス１４０との両方に記憶されてもよい。
【００９１】
図３に戻ると、本方法は、３４０において、３２０において２Ｄコンテンツ内の要素を識別するステップから識別された要素と、３３０において周囲表面を識別するステップから識別された周囲表面との組み合わせを使用して、いくつかの実施形態では、仮想オブジェクトを付加的表面として使用して、要素を識別された表面にマッピングするステップを継続する。識別された要素を識別された表面にマッピングするステップは、複数の要因を伴ってもよく、そのうちのいくつかは、上記に議論される例示的ＨＴＭＬページパーサ等のＨＴＭＬページパーサを使用することによって、２Ｄコンテンツ設計者／制作者によって定義されたＨＴＭＬタグ要素を介して２Ｄコンテンツ設計者／制作者によって提供されるヒントを分析するステップを含んでもよい。他の要因は、ＡＲブラウザ、ＡＲインターフェース、および／またはクラウド記憶装置によって提供されるようなある２Ｄコンテンツをマッピングするための方法および場所の事前に定義されたルールのセットから選択するステップを含んでもよい。図８は、２Ｄコンテンツからの１つ以上の要素を識別された表面にマッピングするマッピングプロセスの詳細なフローを提供する。
【００９２】
図８は、いくつかの実施形態による、２Ｄコンテンツからの要素を表面にマッピングするための方法を図示する、フロー図を描写する。図８は、要素を図３の３４０において識別された表面にマッピングするステップを開示する、詳細なフローである。
【００９３】
８１０では、本方法は、識別された要素が２Ｄコンテンツ設計者によって提供されるヒントを含有するかどうかを決定する。２Ｄコンテンツ設計者は、２Ｄコンテンツ設計者が２Ｄコンテンツを最初に設計したとき、特定の要素を最良に表示するための場所に関するヒントを提供してもよい。例えば、図２のメインビデオ２２０は、アクティブタブ２６０内のウェブページ上に表示される、ＹＯＵＴＵＢＥ（登録商標）ビデオであってもよい。２Ｄコンテンツ設計者（例えば、ウェブページ設計者）は、メインビデオ２２０が、ユーザ１０８の直視状態において、平坦垂直表面上に最良に表示されることを示すためのヒントを提供してもよい。いくつかの実施形態では、これは、２Ｄウェブページコンテンツのために最初に設計された既存のＨＴＭＬタグ要素を使用して、３Ｄディスプレイ環境が利用可能である場合、２Ｄコンテンツ内の特定のコンテンツ要素が表示され得る方法をさらに定義することによって、遂行されてもよい。別の実施例として、２Ｄコンテンツ設計者は、特定のウェブページに関する２Ｄ画像の代わりに、３Ｄ画像が利用可能であることを記述する、ヒントを提供してもよい。例えば、２Ｄ画像の場合、２Ｄコンテンツ設計者は、基本ＨＴＭＬタグを提供し、２Ｄコンテンツのソースを識別することに加え、他の殆ど使用されないＨＴＭＬタグを提供して、２Ｄ画像の３Ｄバージョンのソースを識別し、加えて、画像の３Ｄバージョンが使用される場合、ユーザのビューの正面（例えば、３Ｄレイアウトのメインフレーム内）においてそれを顕著に表示させるためのヒントを提供してもよい。いくつかの実施形態では、２Ｄコンテンツ設計者は、２Ｄコンテンツをレンダリングするウェブブラウザ１１０が向上された３Ｄ画像を活用するための３Ｄ表示機能性を有し得る場合に備えて、本付加的「ヒント」を２Ｄ画像の３Ｄ画像場所に提供してもよい。当業者は、特定のコンテンツ要素が本明細書に開示されたもの以外の２Ｄレイアウトで設置されるべき場所に関して、２Ｄコンテンツ設計者がヒントを提供し得る、多くの他の方法が存在し、これらが、２Ｄコンテンツ設計者が２Ｄコンテンツ内のあるまたは全ての要素を最良に表示するためのヒントを提供し得る、異なる方法のいくつかの実施例であることを理解し得る。
【００９４】
別の実施形態では、ＨＴＭＬタグ規格は、上記に議論されるウェブページ開発者によって提供される例示的ＨＴＭＬウェブページ等のＡＲ／ＶＲ特有のタイプのブラウザのためのユーザの周囲内への３Ｄオブジェクト設置のヒントを提供するために、新しいＨＴＭＬタグまたは類似マークアップ言語の作成を含んでもよい。本書の時点で、これらの新しいＨＴＭＬタグは、ＨＴＭＬ言語内の標準タグとしてまだ作成および／または採用されていない。しかしながら、いったんＨＴＭＬ規格が、これらのタイプの付加的タグを含むと、本方法およびシステムのある実施形態は、これらの新しいタグを活用し、さらに、識別された要素の識別された表面へのマッピングを提供するであろう。当業者は、コンテンツ要素が３Ｄ環境内に最良に表示されるべき方法に関するヒントをさらに提供するように修正または採用され得る、ＨＴＭＬタグ以外の多くの他の言語が存在し、新しいＨＴＭＬタグ付け規格が、単に、そのような目標を達成するための１つの方法であることを理解し得る。
【００９５】
８２０では、本方法は、２Ｄコンテンツ設計者によって提供されるヒントを使用するか、または２Ｄコンテンツからの１つ以上のコンテンツ要素をあるタイプの３Ｄ表面にマッピングするための事前に定義されたルールのセットを使用するかどうかを決定する。いくつかの実施形態では、特定のコンテンツ要素のための２Ｄコンテンツ設計者によって提供されるヒントが存在しない場合、本システムおよび方法は、事前に定義されたルールのセットを使用して、コンテンツ要素を表面にマッピングするための最良方法を決定してもよい。他の実施形態では、２Ｄコンテンツ設計者によって提供されるコンテンツ要素の設置のためのヒントが存在し得るときでも、本システムおよび方法はまた、事前に定義されたルールのセットを使用して、コンテンツ要素を表面にマッピングすることが最良であり得ることを決定してもよい。しかしながら、他の実施形態では、本システムおよび方法は、２Ｄコンテンツ設計者によって提供されるヒントが、十分であって、したがって、ヒントを使用して、コンテンツ要素を表面にマッピングすることを決定してもよい。最終的に、２Ｄコンテンツ設計者によって提供されるヒントを使用するか、または事前に定義されたルールを使用して、コンテンツ要素を表面にマッピングするかどうかを決定することは、ＡＲブラウザの最終決定となる。
【００９６】
８３０では、２Ｄコンテンツ設計者によって提供されるヒントを使用することが、進めるべき方法であると決定されたと仮定して、本方法は、ヒントを分析し、少なくとも部分的に、ヒントに基づいて（例えば、表面テーブル７００にクエリする）、特定のコンテンツ要素を表示するために使用され得る、識別された周囲表面のインベントリを検索する。８４０では、本方法は、最良適合アルゴリズムを起動させ、提供されるヒントに基づいて、特定のコンテンツ要素のための最良適合表面を選定する。最良適合アルゴリズムは、例えば、特定のウェブページ内の特定のコンテンツ要素のための「メインコンテンツ」のヒントを得て、３Ｄ環境内のユーザ１０８に対して正面および中心にある利用可能な識別された周囲表面の中から３Ｄ表面を識別することを試み得る。例えば、図２のメインビデオ２２０は、メインビデオ２２０が、「メイン」の選好値をアクティブタブ２６０内の図５の要素テーブル５００の選好５２０列内に有し、垂直表面１８２が、ユーザ１０８の直視状態にあって、メインビデオ２２０を表示するための最適定寸寸法を有する、表面であるため、垂直表面１８２にマッピングされる。
【００９７】
８５０では、本方法は、表面が識別された周囲表面またはユーザの周囲環境内に表示される仮想オブジェクトかどうかにかかわらず、コンテンツ要素をそのそれぞれマッピングされた表面上に表示するために表示アルゴリズムによって使用されるように、要素の表面テーブルへのマッピングにおけるコンテンツ要素のためのマッピング結果を非一過性記憶媒体内に記憶する。非一過性記憶媒体は、記憶デバイス１３０またはローカル記憶デバイス１４０等のデータ記憶デバイスを含んでもよい。マッピング結果は、下記に説明される図９に開示されるテーブル等の特定のテーブル内に記憶されてもよい。
【００９８】
図９は、いくつかの実施形態による、２Ｄコンテンツからのコンテンツ要素の表面へのマッピングを記憶するためのテーブルの実施例を示す。マッピングテーブル９００は、表面にマッピングされたコンテンツ要素の結果をデータベースの中に記憶する、例示的テーブルである。マッピングテーブル９００は、例えば、コンテンツ要素（例えば、要素ＩＤ）およびコンテンツ要素がマッピングされた表面（例えば、表面ＩＤ）についての情報を含む。当業者は、マッピングテーブル９００が、関係データベースまたは任意のタイプのデータベースまたは記憶媒体内に記憶されるテーブルであってもよいことを理解し得る。加えて、マッピングテーブル９００は、図３の３４０において要素の識別された周囲表面へのマッピングの結果を含有する、コンピュータメモリ（例えば、キャッシュ）内のアレイであってもよい。
【００９９】
マッピングテーブル９００の各行は、ユーザの物理的環境１０５内の表面、または仮想オブジェクトがユーザの物理的環境１０５内のオブジェクトであるように現れる、ユーザ１０８に表示される仮想オブジェクトのいずれかにマッピングされる、２Ｄコンテンツからのコンテンツ要素に対応する。例えば、本実施形態では、要素ＩＤ列の第１のエントリは、メインビデオ２２０に対応する、要素ＩＤ２２０の値を記憶する。メインビデオ２２０に対応する、表面ＩＤ列内の表面ＩＤ値は、垂直表面１８２に対応する、１８２である。このように、メインビデオ２２０は、垂直表面１８２にマッピングされる。同様に、ユーザコメント２３０は、水平表面１９２にマッピングされ、提案されるビデオ２４０は、垂直表面１８６にマッピングされ、二次タブ２５０は、仮想Ｒｏｌｏｄｅｘ１９０にマッピングされる。マッピングテーブル９００内の要素ＩＤは、図５の要素テーブル５００内に記憶される要素ＩＤと関連付けられてもよい。マッピングテーブル９００内の表面ＩＤは、図７の表面テーブル７００内に記憶される表面ＩＤと関連付けられてもよい。
【０１００】
図８に戻ると、８６０では、所定のルールを使用することが、進めるべき方法であると決定されたと仮定して、本方法は、コンテンツ要素の表面へのマッピングルールを含有するデータベースにクエリし、ウェブページ内の特定のコンテンツ要素のために、コンテンツ要素をマッピングするために検討されるべき表面のタイプを決定する。例えば、図２からのメインビデオ２２０のために返されるルールは、メインビデオ２２０が垂直表面にマッピングされるべきであることを示し得、したがって、表面テーブル７００を検索後、複数の候補表面が、明らかにされる（例えば、垂直表面１８２および１８６および仮想Ｒｏｌｏｄｅｘ１９０）。８７０では、事前に定義されたルールのセットは、最良適合アルゴリズムを起動し、利用可能な候補表面から、本メインビデオ２２０のための最良適合である表面を選定してもよい。少なくとも部分的に、最良適合アルゴリズムに基づいて、候補表面の全てのうち、垂直表面１８２が、ユーザ１０８の直接通視線内にある表面であって、垂直表面１８２が、ビデオを表示するために最良寸法を有するため、メインビデオ２２０が垂直表面１８２にマッピングされるべきであることが決定される。いったん１つ以上の要素のマッピングが、８５０において決定されると、本方法は、上記に説明されるように、要素の表面テーブルへのマッピングにおけるコンテンツ要素のためのマッピング結果を非一過性記憶媒体内に記憶する。
【０１０１】
図３に戻ると、本方法は、３５０において、１つ以上の要素を仮想コンテンツとしてマッピングされた表面上に表示するステップを継続する。頭部搭載型システム１６０は、情報を表示するためのミニプロジェクタ（図示せず）等の１つ以上のディスプレイデバイスを頭部搭載型システム１６０内に含んでもよい。１つ以上の要素が、３４０においてマッピングされたように、個別のマッピングされた表面上に表示される。頭部搭載型システム１６０を使用して、ユーザ１０８は、コンテンツが個別のマッピングされた表面上に見えるであろう。当業者は、コンテンツ要素が、種々の表面（物理的または仮想）上に物理的に取り付けられるように現れるように表示されるが、コンテンツ要素は、実際には、ユーザ１０８によって知覚されるように物理的表面上に投影され、仮想オブジェクトの場合、仮想オブジェクトが、仮想オブジェクトの個別の表面上に取り付けられるように現れるように表示されることを理解し得る。当業者は、ユーザ１０８が、その頭部を方向転換させる、または上または下を見るとき、頭部搭載型システム１６０内のディスプレイデバイスが、コンテンツ要素がその個別の表面に継続して添着されたままし、ユーザ１０８に、コンテンツがマッピングされた表面に添着されているという知覚をさらに提供し得ることを理解し得る。他の実施形態では、ユーザ１０８は、ユーザ１０８の頭部、手、眼によって行われる運動、または音声によって、ユーザの物理的環境１０５のコンテンツを変化させてもよい。
【０１０２】
（改良されたブラウザ／アプリケーション実装）
複合現実システムでは、ユーザの作業空間は、ディスプレイ画面のサイズによって限定されない。したがって、従来のブラウザと異なり、複合現実システム内のブラウザウィンドウは、ユーザの環境内の任意の場所に設置および保定されることができる。問題は、従来のブラウザ技術が、表示可能ブラウザ場所がディスプレイ画面の範囲に限定されなければならないという仮定とともに構成されることである。
【０１０３】
本開示の以下の部分は、複合現実環境内でウィンドウを閲覧するための改良されたアプローチを対象とする。複合現実機器を使用すると、ユーザが、ユーザの物理的空間と関連付けられ、その中に設置される、複数のブラウザウィンドウを有し得ることが可能性として考えられる。例えば、ユーザは、第１のブラウザウィンドウを第１の部屋内で開き、第２のブラウザウィンドウを第２の部屋内に居る間に開く場合がある。本開示の本部分によって対処される問題点は、ユーザが第２の場所に行くと、ブラウザウィンドウがもはや可視ではなくなるように、ブラウザウィンドウが第１の場所内の位置にアンカされるような様式で開かれる、状況に関する。問題は、ユーザが環境を変化させる（部屋間で移動する、または異なる地理的場所に行く等）につれて、ユーザが、なおも依然として、以前の地理的場所におけるその前のセッションにアクセスする必要があり得ることである。
【０１０４】
図１０は、１つ以上の以前に開かれたウィンドウの場所に対するユーザに関する現在の場所にかかわらず、ユーザのウィンドウの閲覧を実装するためのアプローチのフローチャートを図示する。いくつかの実施形態では、制御インターフェースが、ユーザと関連付けられた全ておよび／または複数のウィンドウの表示のために、選択するために提供される。いくつかの実施形態では、制御インターフェースは、例えば、ユーザ入力をシステムに提供し、システムが対応するコマンドを実行することにより応答することによって、ユーザがＭＲディスプレイシステムと相互作用し得るような、ユーザインターフェースであってもよい。いくつかの実施形態では、ユーザは、ＭＲシステムの視覚的、聴覚的、触知的、または他の側面と相互作用してもよい。いくつかの実施形態では、ユーザインターフェースは、ブラウザハブを備えてもよく、これは、いくつかの実施形態では、１つ以上のブラウザアプリケーションの１つ以上の側面の視覚的表現であってもよい。例えば、「全てのウィンドウ」アイコンが、ブラウザハブ内に提示されることができ、「全てのウィンドウ」アイコンの選択は、現在のウィンドウ場所（例えば、ウィンドウが開かれた場所）に対するユーザの場所にかかわらず、ユーザと関連付けられた複数のウィンドウの表示を開始する。図１０は、ステップ１７０２から開始し、システムが、全てまたは複数のウィンドウを表示するためのコマンドを受信する（１７０２）。いくつかの実施形態では、ステップ１７０２は、ユーザがブラウザハブユーザインターフェース内にあり得る「全てのウィンドウ」アイコンを選択すると生じてもよい。いくつかの実施形態では、システムは、１つを上回るウィンドウのための選択を受信する。いくつかの実施形態では、システムは、ユーザがユーザのシステムと関連付けられた１つを上回るウィンドウを閲覧することを所望することを示す、ユーザ入力を受信してもよい。
【０１０５】
１７０４では、ユーザと関連付けられた複数のウィンドウに関する情報が、読み出される。いくつかの実施形態では、ユーザは、ユーザと関連付けられた１つ以上のウィンドウを有してもよい。情報が集められるウィンドウは、別々の物理的場所に位置してもよい。いくつかの実施形態によると、ＶＲ／ＡＲ環境内のブラウザウィンドウを１対１ベースで各アプリケーションによって独立して管理する代わりに、ウィンドウは、代わりに、以降、「プリズム」と称され得る、境界された体積の中にレンダリングされてもよい。各プリズムは、ユニバースアプリケーションが、プリズム自体を管理することによって、ＶＲ／ＡＲ環境内の仮想コンテンツの設置および表示を管理し得るように、ユニバースアプリケーションがＶＲ／ＡＲ環境内でプリズムを管理および表示することを可能にする、特性およびプロパティを有してもよい。ウィンドウについての情報は、ユーザと関連付けられたプリズムのデータベースにアクセスすることによって、集められてもよく、プリズムは、１つ以上のウィンドウを規定された場所に表示し得る。
【０１０６】
いくつかの実施形態では、「全てのウィンドウ」ビューが、ロードされ、全ての開いているウィンドウおよびタブウィンドウを示し、それぞれ、プレビュー、ファビコン、ドメイン名および／またはページタイトル、またはウィンドウの任意の他の好適な視覚的表現によって表される（１７０６）。いくつかの実施形態では、開いているウィンドウの実施例は、１人以上のユーザによってアクティブに相互作用されているウィンドウを含む。他の実施例は、開かれ／アクティブなステータス、一時停止ステータス、停止ステータス、閉じられたステータス等を有するかどうかにかかわらず、設置されたアプリケーション／ウィンドウ／ブラウザを含む。加えて、アプリケーションのインスタンスが、存在し／設置され、コンテンツを伴う１つ以上のタブを有する限り、いくつかの実施形態では、本発明のアプローチを使用して、遠隔でアクセスされることができる。付加的実施例として、開いているウィンドウは、そのステータス（アクティブ、一時停止、閉じられた等）にかかわらず、所与のアプリケーション（例えば、ブラウザ）と関連付けられた一部または全部のプリズムに対応してもよく、これは、本実施形態における「全てのウィンドウ」ビューを通して遠隔でアクセスされることができる。いくつかの実施形態では、「全てのウィンドウ」ビューは、実世界内の１つ以上の物理的場所における１つ以上のプリズム内に含有される、全てのブラウザウィンドウを備えてもよい。「全てのウィンドウ」および類似する「全てのアプリケーション」ビューの実施例は、図１２−１４に示され、下記に説明される。「全てのウィンドウ」が、実施例として使用されるが、任意の他の単一アプリケーションも、代わりに使用され得る。「全てのアプリケーション」が、実施例として使用されるが、全てのアプリケーションの任意のサブセットが、代わりに使用されてもよい。ステップ１７０４において識別された種々のウィンドウは、このように、ユーザの現在の場所において表示されることができる。これは、ユーザの現在の物理的環境内の場所に対して識別されたウィンドウに関する場所パラメータを変化させ、事実上、ウィンドウをユーザに召集することによって遂行されてもよい。いくつかの実施形態では、これは、ウィンドウ情報のコピーを作成し、代わりに、新しい場所、例えば、ユーザの現在の場所またはその近傍における場所と情報を関連付けることによって遂行されてもよい。ウィンドウは、次いで、個別のウィンドウおよび／またはウィンドウのプリズムに割り当てられる座標において、レンダリングされ（プレビュー形態、サムネイル形態、および／またはフル形態において）、ユーザに表示される。
【０１０７】
本方法では随意である、１７０８では、ホバリング状態が、識別され、１つ以上のウィンドウに対して作用されてもよい。例えば、ホバリング状態では、ホバリングされているウィンドウは、前景の中に移動し得、他のウィンドウは、随意に、若干、後退し得る。複数のタブを伴うウィンドウは、背景タブを示すように、若干拡張してもよい。いくつかの実施形態では、ウィンドウの代わりに、ホバリングされたオブジェクトは、プレビュー、フル画面、または縮小画面等のブラウザウィンドウの任意の視覚的表現であってもよい。１７１０では、ユーザが、ウィンドウのうちの１つ以上のものを選択する。いくつかの実施形態では、ユーザは、コントローラ（例えば、トーテム）上のボタンをクリックすることによって、または具体的ジェスチャを実施することによって、または所定の時間周期にわたってウィンドウを見ることによって、ウィンドウを選択してもよい。ユーザが、ウィンドウを選択する場合、オリジナルウィンドウの複製が、ユーザのＦＯＶの前景内にロードされ、全てのウィンドウビューは、閉じる。いくつかの実施形態では、複製は、ユーザ選択選好に応じて、オリジナルを更新するか、複製は、全てまたはいくつかの付加的コピーを更新するか、および／または複製は、オリジナルから独立するかのいずれかである。いくつかの実施形態では、前景内にロードされたコンテンツは、移動される（例えば、ピン固定が解除され、全体として移動される）、既存のプリズムに対応する。いくつかの実施形態では、前景内にロードされたコンテンツは、新しい関連付けられた場所情報とともに複製される、既存のプリズムに対応する。ユーザが、コンテキストメニューをアクティブ化する場合、ユーザは、ウィンドウを閉じる、それをコレクションに追加する、および／またはウィンドウを最小化するためのオプションを備える、ユーザメニューを提示されてもよい。コンテキストメニューは、選択されると、システムに具体的機能を実行するように伝える、所定のユーザインターフェースオプションを伴う、ユーザインターフェースであってもよい。いくつかの実施形態では、コンテキストメニューは、ウィンドウ等の選択可能オブジェクト上にホバリングしている間、トーテム上のタッチパッドの中心に対する押圧によってアクティブ化されてもよい。いくつかの実施形態では、コンテキストウィンドウは、アクションが、ユーザが、移動させる、閉じる等、選択されたオブジェクト上でアクションを実施することを可能にするという点で、デスクトップコンピュータ上の右クリックに類似し得る。
【０１０８】
図１１Ａ−Ｂは、ウィンドウの前の物理的場所にかかわらず、ユーザのためにウィンドウを表示するための本プロセスを図示する。複合現実実施形態では、ウィンドウは、デバイスおよび／または物理的空間と関連付けられてもよい。ユーザは、その自宅全体を通して、または１日を通して異なる地理的場所に、コンテンツを設置することができる。図１１Ａでは、第１のブラウザウィンドウ１は、第１の物理的場所の中に設置されている一方、第２のブラウザウィンドウ２は、第２の物理的場所の中に設置されていることが分かる。ウィンドウは、複合現実実施形態では、具体的物理的場所／座標空間と関連付けられるため、これは、ウィンドウ１が、通常、ユーザ１０８が、物理的場所１内に位置するときのみ可視であって、ユーザ１０８が物理的場所２内に位置するときは、不可視であろうことを意味する。同様に、ウィンドウ２は、通常、ユーザ１０８が物理的場所２内に位置するときのみ可視であって、ユーザ１０８が物理的場所１内に位置するとき、不可視であろう。
【０１０９】
図１１Ｂに示されるように、「全てのウィンドウ」ビュー１８０４は、ユーザ１０８が、物理的場所にかかわらず、開いているウィンドウを閲覧し、再び開き、閉じることを可能にする（「開いている」ウィンドウの実施例に関しては、前の段落参照）。したがって、ビュー１８０４は、これらのウィンドウが異なる物理的場所と関連付けられたという事実にもかかわらず、ウィンドウ１およびウィンドウ２の両方の操作可能なバージョン（例えば、視覚的表現）を表示することができる。ブラウザの制御ハブからアクセスされると、全てのウィンドウを閲覧する（または代替として、「全てのウィンドウ」）は、ユーザが、その物理的または地理的位置にかかわらず、全ての開いているウィンドウを見ることを可能にする。ウィンドウは、同一部屋、異なる部屋、または完全に別の空間内にあってもよい。スクリーンショット、ファビコン、ドメイン、および／またはページタイトルが、各ウィンドウを識別する（例えば、視覚的に表す）ために使用される。いくつかの実施形態では、複数のタブを伴うウィンドウは、ホバリング状態では、下層タブのスタックされたプレビューを示す。コンテキストメニューを用いることで、ユーザは、場所にかかわらず、ウィンドウの新しいインスタンスを開き、ウィンドウを閉じ、ウィンドウを最小化し、ウィンドウをブックマークし、ウィンドウをコレクションに追加することができる。全ての開いているウィンドウを閉じる、または最小化するために使用され得る、グローバルボタンもまた、提供されてもよい。
【０１１０】
図１２−１３は、複数のウィンドウを複合現実インターフェース内に表示するための可能性として考えられるアプローチの例証を提供する。これらの図は、複数のウィンドウがユーザに表示および提示される、インターフェースを実装するための例示的アプローチを図示する。ブラウザウィンドウのいずれかが、ユーザによってさらに閲覧するために、ポインティングデバイス等の好適なユーザ入力デバイスによって選択されることができる。インターフェース上に適合し得るウィンドウが多すぎる限りにおいて、いくつかの実施形態では、付加的ウィンドウが、視覚的に「残影化」されることができ（図１２および図１３の右側に示されるように）、スクロール制御が、付加的ウィンドウにスクロールするために提供される。
【０１１１】
したがって、説明されている内容は、複合現実環境内でウィンドウを閲覧するための改良されたアプローチであって、１つ以上の以前に開かれたウィンドウに対するユーザに関する現在の場所にかかわらず、ユーザのウィンドウのビューが提供される。これは、複合現実機器を使用するとき、ユーザが、１つ以上の異なる物理的場所と関連付けられた１つ以上のブラウザウィンドウにアクセスすることを所望し得る状況に対処し、それを解決する。
【０１１２】
上記の実施形態は、ブラウザアプリケーションの観点から説明されているが、請求項の範囲はまた、任意の他のアプリケーションまたはアプリケーションのセットを網羅する。いくつかの実施形態では、オペレーティングシステム内の全てのアプリケーションが、請求項に従って、選択および表示されることができる。そのような実施形態は、ウィンドウ内で解析されるブラウザコンテンツの代わりに、アプリケーションをプリズム内に有するであろう。
【０１１３】
そのような実施形態は、図１４に描写され、これは、複数のアプリケーションを複数のプリズム内に表示する。「全て」ボタンは、例示的ドロップダウンフィルタであって、表示および選択のために（例えば、カテゴリ別に）、アプリケーションオプションを通してソートすることに役立つ。９ｍ■３０ｍに及ぶ例示的スライダバーは、ユーザからの距離に基づいて、全てのアプリケーション／ランドスケープマネージャディスプレイ内に含まれるアプリケーションを選択するが、他の好適な選択またはフィルタリング方法および／またはインターフェースが、使用されてもよい。いくつかの実施形態では、ユーザは、スライダバーを部屋に対応するより小さい距離に設定し、その部屋内で利用可能な全てのアプリケーションを表示することができる。いくつかの実施形態では、ユーザは、スライダバーを家に対応するより大きい距離に設定し、家全体内で利用可能な全てのアプリケーションを表示することができる。いくつかの実施形態では、スライダバーは、場所にかかわらず、全てのアプリに対応する右端とともに設定されることができる。「全て閉じる」ボタンは、アプリケーションを制御および／または操作するための例示的ユーザインターフェース要素である。他のユーザインターフェース要素は、上記に説明されるように、「全て開く」、「移動」等であってもよい。図１４は、開かれたアプリケーション間の「ＨＥＬＩＯ」アプリケーションおよび「ＣＯＬＬＥＣＴＩＯＮ」アプリケーションの２つの異なるインスタンスを描写する。故に、「全て」ボタンは、アプリケーションおよび異なるアプリケーションの複数のインスタンスを表示することができる。
【０１１４】
（付加的実施形態）
本開示の付加的実施形態が、下記に説明される。これらの付加的実施形態は、上記に開示される実施形態からの要素を組み込んでもよく、これらの付加的実施形態の要素は、上記に開示される実施形態の中に組み込まれてもよい。
１．
コンピュータ可読媒体上に具現化されるコンピュータプログラム製品であって、コンピュータ可読媒体は、その上に記憶される命令のシーケンスを有し、命令のシーケンスは、プロセッサによって実行されると、プロセッサに、
複数の開いているウィンドウを選択するための命令を受信するステップと、
複数の開いているウィンドウに関する情報を読み出すステップであって、複数の開いているウィンドウは、異なる物理的場所と関連付けられる、ステップと、
複数の開いているウィンドウの表現を単一ユーザインターフェース内に表示するステップと、
複数の開いているウィンドウの選択されたウィンドウの選択の受信に応じて、選択されたウィンドウをユーザのための視野の前景の中にロードするステップと、
を含む方法を実行させる、コンピュータプログラム製品。
２．
複数の開いているウィンドウの表現は、ユーザのための現在の物理的環境内の場所に対して複数の開いているウィンドウに関する場所パラメータを変化させることによって、単一ユーザインターフェース内に表示される、実施形態１に記載のコンピュータプログラム製品。
３．
複数の開いているウィンドウは、単一ユーザインターフェース内の複数の開いているウィンドウに割り当てられる座標において、ユーザにレンダリングおよび表示される、実施形態２に記載のコンピュータプログラム製品。
４．
複数の開いているウィンドウは、プレビュー形態、サムネイル形態、またはフル形態のうちの少なくとも１つにおいてレンダリングされる、実施形態３に記載のコンピュータプログラム製品。
５．
全ての開いているウィンドウは、単一ユーザインターフェース内での表示のために選択される、実施形態１に記載のコンピュータプログラム製品。
６．
複数の開いているウィンドウはそれぞれ、仮想コンテンツの設置のために境界された体積の中にレンダリングされる、実施形態１に記載のコンピュータプログラム製品。
７．
ホバリング状態が、実装され、ホバリングされているウィンドウは、前景の中に移動する一方、他のウィンドウは、視覚的に後退する、実施形態１に記載のコンピュータプログラム製品。
８．
選択されたウィンドウの選択の受信に応じて、非選択ウィンドウは、閉じられる、実施形態１に記載のコンピュータプログラム製品。
９．
仮想コンテンツをコンピューティング環境内に表示するための方法であって、
複数の開かれたアプリケーションを選択するための命令を受信するステップと、
複数の開かれたアプリケーションに関する情報を読み出すステップであって、複数の開かれたアプリケーションは、異なる物理的場所と関連付けられる、ステップと、
複数の開かれたアプリケーションの表現を単一ユーザインターフェース内に表示するステップと、
複数の開かれたアプリケーションの選択されたアプリケーションの選択の受信に応じて、選択されたアプリケーションをユーザのための視野の前景の中にロードするステップと、
を含む、方法。
１０．
複数の開かれたアプリケーションの表現は、ユーザための現在の物理的環境内の場所に対する複数の開かれたアプリケーションのための場所パラメータを変化させることによって、単一ユーザインターフェース内に表示される、実施形態９に記載の方法。
１１．
複数の開かれたアプリケーションは、単一ユーザインターフェース内の複数の開かれたアプリケーションに割り当てられる座標において、ユーザにレンダリングおよび表示される、実施形態１０に記載の方法。
１２．
複数の開かれたアプリケーションは、プレビュー形態、サムネイル形態、またはフル形態のうちの少なくとも１つにおいてレンダリングされる、実施形態１１に記載の方法。
１３．
全ての開かれたアプリケーションは、単一ユーザインターフェース内での表示のために選択される、実施形態９に記載の方法。
１４．
複数の開かれたアプリケーションはそれぞれ、仮想コンテンツの設置のために、別個のプリズムの中にレンダリングされる、実施形態９に記載の方法。
１５．
ホバリング状態が、実装され、ホバリングされているアプリケーションは、前景の中に移動する一方、他のアプリケーションは、視覚的に後退する、実施形態９に記載の方法。
１６．
選択されたアプリケーションの選択の受信に応じて、非選択アプリケーションは、閉じられる、実施形態９に記載の方法。
【０１１５】
（システムアーキテクチャ概要）
図１５は、本開示の実施形態を実装するために好適な例証的コンピューティングシステム１４００のブロック図である。コンピューティングシステム１４００は、情報を通信するためのバス１４０６または他の通信機構を含み、これは、プロセッサ１４０７、システムメモリ１４０８（例えば、ＲＡＭ）、静的記憶デバイス１４０９（例えば、ＲＯＭ）、ディスクドライブ１４１０（例えば、磁気または光学）、通信インターフェース１４１４（例えば、モデムまたはＥｔｈｅｒｎｅｔ（登録商標）カード）、ディスプレイ１４１１（例えば、ＣＲＴまたはＬＣＤ）、入力デバイス１４１２（例えば、キーボードおよびマウス）等のサブシステムおよびデバイスを相互接続する。
【０１１６】
いくつかの実施形態によると、コンピューティングシステム１４００は、システムメモリ１４０８内に含有される１つ以上の命令の１つ以上のシーケンスを実行する、プロセッサ１４０７によって、具体的動作を実施する。そのような命令は、静的記憶デバイス１４０９またはディスクドライブ１４１０等の別のコンピュータ可読／使用可能媒体から、システムメモリ１４０８の中に読み取られてもよい。代替実施形態では、有線回路が、本開示を実装するために、ソフトウェア命令の代わりに、またはそれと組み合わせて、使用されてもよい。したがって、本開示の実施形態は、ハードウェア回路および／またはソフトウェアの任意の具体的組み合わせに限定されない。一実施形態では、用語「論理」は、本開示の全部または一部を実装するために使用される、ソフトウェアまたはハードウェアの任意の組み合わせを意味するものとする。
【０１１７】
用語「コンピュータ可読媒体」または「コンピュータ使用可能媒体」は、本明細書で使用されるように、実行のために、命令をプロセッサ１４０７に提供する際に関与する、任意の媒体を指す。そのような媒体は、限定ではないが、不揮発性媒体および揮発性媒体を含む、多くの形態をとってもよい。不揮発性媒体は、例えば、ディスクドライブ１４１０等の光学または磁気ディスクを含む。揮発性媒体は、システムメモリ１４０８等の動的メモリを含む。
【０１１８】
一般的形態のコンピュータ可読媒体は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、ＣＤ−ＲＯＭ、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、任意の他のメモリチップまたはカートリッジ、またはそこからコンピュータが読み取り得る、任意の他の媒体を含む。
【０１１９】
本開示のある実施形態では、本開示を実践するための命令のシーケンスの実行は、単一コンピューティングシステム１４００によって実施される。本開示の他の実施形態によると、通信リンク１４１５（例えば、ＬＡＮ、ＰＴＳＮ、または無線ネットワーク）によって結合される、２つ以上のコンピューティングシステム１４００が、相互に協調して、本開示を実践するために要求される命令のシーケンスを実施してもよい。
【０１２０】
コンピューティングシステム１４００は、通信リンク１４１５および通信インターフェース１４１４を通して、プログラム（すなわち、アプリケーションコード）を含む、メッセージ、データ、および命令を伝送および受信してもよい。受信されたプログラムコードは、受信されるにつれて、プロセッサ１４０７によって実行され、および／または後の実行のためにディスクドライブ１４１０または他の不揮発性記憶装置内に記憶されてもよい。コンピューティングシステム１４００は、データインターフェース１４３３を通して、外部記憶デバイス１４３１上のデータベース１４３２に通信してもよい。
【０１２１】
前述の明細書では、本開示は、その具体的実施形態を参照して説明されている。しかしながら、種々の修正および変更が、本開示のより広い精神および範囲から逸脱することなく、そこに行われてもよいことが明白となるであろう。例えば、上記に説明されるプロセスフローは、プロセスアクションの特定の順序を参照して説明される。しかしながら、説明されるプロセスアクションの多くの順序は、本開示の範囲または動作に影響を及ぼすことなく、変更されてもよい。明細書および図面は、故に、限定的意味ではなく、例証的であると見なされるべきである。
【図１】
2021514088.tif 000007
【図２】
2021514088.tif 000008
【図３】
2021514088.tif 000009
【図４】
2021514088.tif 000010
【図５】
2021514088.tif 000011
【図６】
2021514088.tif 000012
【図７】
2021514088.tif 000013
【図８】
2021514088.tif 000014
【図９】
2021514088.tif 000015
【図１０】
2021514088.tif 000016
【図１１Ａ】
2021514088.tif 000017
【図１１Ｂ】
2021514088.tif 000018
【図１２】
2021514088.tif 000019
【図１３】
2021514088.tif 000020
【図１４】
2021514088.tif 000021
【図１５】
2021514088.tif 000022
【国際調査報告】
2021514088.tif 000023