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