(57)【要約】拡張現実ビューアが、説明される。ユーザ配向決定モジュールが、ユーザ配向を決定する。コンテンツベクトル計算機が、コンテンツの近縁および遠縁に対するコンテンツ配向ベクトルを計算し、ユーザ配向ベクトルとコンテンツ配向ベクトルのドット積を決定し、ドット積の大きさに基づいて、コンテンツを位置付ける。表面積ベクトル計算機が、複数の表面積毎に、表面積配向ベクトルを計算する。表面選択モジュールが、ユーザ配向ベクトルと各表面積配向ベクトルのドット積を決定し、ドット積の相対的大きさに基づいて、好ましい表面を選択する。
2021527252.tif 000002
【特許請求の範囲】
【請求項１】
拡張現実ビューアであって、
ユーザに実世界オブジェクトが見えることを可能にするディスプレイと、
コンテンツを保持するためのデータチャネルと、
ユーザ配向決定モジュールであって、前記ユーザ配向決定モジュールは、第１のディスプレイ面積に対するユーザの第１のユーザ配向を決定し、前記第１のディスプレイ面積に対する前記ユーザの第２のユーザ配向を決定する、ユーザ配向決定モジュールと、
プロジェクタであって、前記プロジェクタは、前記データチャネルに接続され、前記ユーザが前記実世界オブジェクトを視認している間、前記第１のディスプレイ面積の限局域内において、前記コンテンツを前記ディスプレイを通してユーザに表示する、プロジェクタと、
コンテンツ配向選択モジュールであって、前記コンテンツ配向選択モジュールは、表面抽出モジュールおよびユーザ配向モジュールに接続され、前記ユーザが前記第１のユーザ配向にあるとき、前記コンテンツの近縁が前記ユーザに近くなるように、前記第１のディスプレイ面積に対して第１のコンテンツ配向において前記コンテンツを表示し、前記近縁が前記ユーザが前記第２のユーザ配向にあるとき、ユーザのより近くに回転され、前記コンテンツが、前記第１のコンテンツ配向から前記第２のコンテンツ配向に、前記第１のディスプレイ面積に対して回転されるように、前記第１のディスプレイ面積に対して第２のコンテンツ配向において前記コンテンツを表示する、コンテンツ配向選択モジュールと
を備える、拡張現実ビューア。
【請求項２】
ユーザの配向を示すユーザ配向ベクトルを決定する前記ユーザ配向決定モジュールはさらに、
前記コンテンツの近縁に対するコンテンツ配向ベクトルを計算するためのコンテンツベクトル計算機を備え、前記コンテンツ配向選択モジュールは、前記ユーザ配向ベクトルと前記コンテンツ配向ベクトルとのドット積を決定し、前記第２の配向および前記第１の配向における前記ドット積の大きさに基づいて、前記第１の配向から前記第２の配向に、前記コンテンツを回転させる、請求項１に記載の拡張現実ビューア。
【請求項３】
前記コンテンツ配向ベクトルは、前記コンテンツの近縁から延在し、前記コンテンツは、前記ドット積が前記第１のコンテンツ配向より前記第２のコンテンツ配向において大きくなると、前記第１のコンテンツ配向から前記第２のコンテンツ配向に回転する、請求項２に記載の拡張現実ビューア。
【請求項４】
前記コンテンツをサイズ変更し、前記表面積を前記第１の配向および前記第２の配向内に適合させるサイズ決定モジュールをさらに備える、請求項１に記載の拡張現実ビューア。
【請求項５】
前記コンテンツは、前記第１の配向および前記第２の配向において、同一アスペクト比を有する、請求項４に記載の拡張現実ビューア。
【請求項６】
前記第１のディスプレイ面積を決定するための表面積抽出モジュールをさらに備える、請求項１に記載の拡張現実ビューア。
【請求項７】
前記表面積抽出モジュールは、第２の表面積を決定し、第１の表面積および前記第２の表面積に対するユーザの第１の配向を決定するためのユーザ配向決定モジュールはさらに、
個別の表面積に対する法線が前記ユーザの第１のユーザ配向とより反対に指向されていることに基づいて、前記第１の表面積と前記第２の表面積との間の好ましい表面積を選択するための表面積選択モジュールを備え、前記プロジェクタは、前記ユーザが前記実世界オブジェクトを視認している間、前記好ましい表面積の限局域内において、コンテンツを前記ディスプレイを通してユーザに表示する、請求項６に記載の拡張現実ビューア。
【請求項８】
拡張現実視認方法であって、
プロセッサによって、第１のディスプレイ面積に対するユーザの第１のユーザ配向を決定することと、
ユーザが第１の配向にあるとき、前記プロセッサによって、ディスプレイに対する第１のコンテンツ配向を決定することと、
前記プロセッサによって、前記第１のユーザ配向にある間、前記ユーザが前記ディスプレイを通して実世界オブジェクトを視認している間、前記第１のディスプレイ面積の限局域内において、前記第１のコンテンツ配向におけるコンテンツをディスプレイを通してユーザに表示することと、
前記プロセッサによって、前記第１のディスプレイ面積に対する前記ユーザの第２のユーザ配向を決定することと、
前記ユーザが第２の場所にあるとき、前記プロセッサによって、前記ディスプレイに対する第２のコンテンツ配向を決定することと、
前記プロセッサによって、前記ユーザが前記第２の場所から前記ディスプレイを通して実世界オブジェクトを視認している間、前記ディスプレイ面積の限局域内において、前記第２のコンテンツ配向におけるコンテンツをディスプレイを通してユーザに表示することであって、前記コンテンツは、前記第１のコンテンツ配向から前記第２のコンテンツ配向に、前記第１のディスプレイ面積に対して回転される、ことと
を含む、方法。
【請求項９】
拡張現実ビューアであって、
ユーザに実世界オブジェクトが見えることを可能にするディスプレイと、
コンテンツを保持するためのデータチャネルと、
第１の表面積および第２の表面積を決定するための表面積抽出モジュールと、
前記第１の表面積および前記第２の表面積に対する第１のユーザの配向を決定するためのユーザ配向決定モジュールと、
表面積選択モジュールであって、前記表面積選択モジュールは、個別の表面積に対する法線が前記ユーザの第１のユーザ配向とより反対に指向されていることに基づいて、前記第１の表面積と前記第２の表面積との間の好ましい表面積を選択する、表面積選択モジュールと、
プロジェクタであって、前記プロジェクタは、前記ユーザが前記実世界オブジェクトを視認している間、前記好ましい表面積の限局域内において、コンテンツを前記ディスプレイを通してユーザに表示する、プロジェクタと
を備える、拡張現実ビューア。
【請求項１０】
前記ユーザの第１のユーザ配向を示す第１のユーザ配向ベクトルを決定する前記ユーザ配向決定モジュールはさらに、
前記第１の表面積の配向を示す第１の表面積配向ベクトルおよび前記第２の表面積の配向を示す第２の表面積配向ベクトルを計算するための表面積ベクトル計算機を備え、前記表面積選択モジュールは、前記第１のユーザ配向ベクトルと前記第１の表面積配向ベクトルとのドット積および前記第１のユーザ配向ベクトルと前記第２の表面積配向ベクトルとのドット積を決定し、前記第１のユーザ配向ベクトルと前記第１の表面積配向ベクトルとのドット積および第１のユーザ配向ベクトルと前記第２の表面積配向ベクトルとのドット積の相対的大きさに基づいて、前記好ましい表面積を選択する、請求項９に記載の拡張現実ビューア。
【請求項１１】
前記第１の表面積配向ベクトルは、前記第１の表面積に対する法線方向にあり、前記第２の表面積配向ベクトルは、前記第２の表面積に対する法線方向にあり、前記好ましい表面積は、大きさが最大の負の前記ドット積に基づいて選択される、請求項１０に記載の拡張現実ビューア。
【請求項１２】
前記ユーザ位置およびユーザ配向決定モジュールは、前記ユーザの第２の配向を示す第２のユーザ配向ベクトルを決定し、前記表面積選択モジュールは、前記第２のユーザ配向ベクトルと前記第１の表面積配向ベクトルとのドット積および前記第２のユーザ配向と前記第２の表面積配向ベクトルとのドット積を決定し、前記第２のユーザ配向ベクトルと前記第１の表面積配向ベクトルとのドット積および前記第２のユーザ配向ベクトルと前記第２の表面積配向ベクトルとのドット積の相対的大きさに基づいて、前記好ましい表面積を選択する、請求項９に記載の拡張現実ビューア。
【請求項１３】
前記ユーザは、前記第１のユーザ配向が前記第２のユーザ配向に変化するとき、前記第１の表面積および前記第２の表面積に対して同一位置のままである、請求項１２に記載の拡張現実ビューア。
【請求項１４】
前記ユーザは、前記第１のユーザ配向が前記第２のユーザ配向に変化するとき、前記第１の表面積および前記第２の表面積に対して第１の位置から第２の位置に移動する、請求項１２に記載の拡張現実ビューア。
【請求項１５】
前記好ましい表面積は、前記ユーザ配向ベクトルが前記第１のユーザ配向ベクトルから前記第２のユーザ配向ベクトルに変化するとき、同一のままである、請求項１２に記載の拡張現実ビューア。
【請求項１６】
前記好ましい表面は、前記ユーザ配向ベクトルが前記第１のユーザ配向ベクトルから前記第２のユーザ配向ベクトルに変化するとき、前記第１の表面から前記第２の表面に変化する、請求項１２に記載の拡張現実ビューア。
【請求項１７】
前記好ましい表面内で前記コンテンツをサイズ変更し、前記第２の表面積を適合させるサイズ決定モジュールをさらに備える、請求項１２に記載の拡張現実ビューア。
【請求項１８】
前記コンテンツは、前記第１の表面積および前記第２の表面積内に同一アスペクト比を有する、請求項１７に記載の拡張現実ビューア。
【請求項１９】
拡張現実視認方法であって、
プロセッサによって、第１の表面積および第２の表面積を決定することと、
前記プロセッサによって、前記第１の表面積および前記第２の表面積に対する第１のユーザの配向を決定することと、
前記プロセッサによって、個別の表面積に対する法線がユーザの第１の場所に向かってより指向されていることに基づいて、前記第１の表面積と前記第２の表面積との間の好ましい表面積を選択することと、
前記プロセッサによって、前記ユーザが前記第１の場所から前記ディスプレイを通して実世界オブジェクトを視認している間、前記好ましい表面積の限局域内において、コンテンツをディスプレイを通してユーザに表示することと
を含む、方法。
【請求項２０】
拡張現実ビューアであって、
ユーザの配向を示す第１のベクトルを決定するための環境計算ユニットと、
第２のベクトルを計算するためのベクトル計算機と、
前記第１のベクトルと前記第２のベクトルとのドット積を計算するための選択モジュールと、
コンテンツを保持するためのデータチャネルと、
前記ドット積に基づいて前記コンテンツの設置を決定するためのコンテンツレンダリングモジュールと、
前記ユーザに実世界オブジェクトが見えることを可能にするディスプレイと、
前記ユーザが前記ディスプレイを通して実世界オブジェクトを視認している間、コンテンツを前記ディスプレイを通してユーザに表示するプロジェクタであって、前記コンテンツは、前記コンテンツレンダリングモジュールによって決定された前記設置に基づいて表示されている、プロジェクタと
を備える、拡張現実ビューア。
【請求項２１】
拡張現実視認方法であって、
プロセッサによって、ユーザの配向を示す第１のベクトルを決定することと、
前記プロセッサによって、第２のベクトルを計算することと、
前記プロセッサによって、前記第１のベクトルと前記第２のベクトルとのドット積を計算することと、
前記プロセッサによって、前記ドット積に基づいて、コンテンツの設置を決定することと、
前記プロセッサによって、前記ユーザが前記ディスプレイを通して実世界オブジェクトを視認している間、前記コンテンツをディスプレイを通してユーザに表示することであって、前記コンテンツは、前記コンテンツレンダリングモジュールによって決定された前記設置に基づいて表示されている、ことと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、その全てが、参照することによってその全体として本明細書に組み込まれる、２０１８年６月８日に出願された、米国仮特許出願第６２／６８２，７８８号の優先権を主張する。
【０００２】
１）発明の分野
本発明は、拡張現実ビューアおよび拡張現実視認方法に関する。
【背景技術】
【０００３】
２）関連技術の議論
現代のコンピューティングおよびディスプレイ技術は、「拡張現実」ビューアの開発を促進している。拡張現実ビューアは、ユーザに、左眼に１つおよび右眼に１つの２つの画像を提示する、ウェアラブルデバイスである。眼毎の画像内のオブジェクトは、若干異なる視点でレンダリングされ、脳が、オブジェクトを３次元オブジェクトとして処理することを可能にする。ビューアが移動するにつれて、画像が常に視点を変化させるとき、合成３次元コンテンツの周囲の移動が、シミュレートされ得る。
【０００４】
拡張現実ビューアは、通常、ユーザの周囲の実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を可能にする、技術を含む。１つの実装では、仮想画像情報は、ユーザが、その頭部と、その頭部に伴って、拡張現実ビューアを移動させる場合、実世界オブジェクトがそのビュー内で偏移する間、ユーザが彼らの正面の定常位置に留まる画像を提示されるように、拡張現実ビューアに対して静的場所に提示される。これは、ユーザに、仮想画像情報が実世界オブジェクトに対して固定されないが、代わりに、ビューアの視点内で固定される、外観を与える。他の実装では、ユーザがその頭部を移動させるとき、仮想画像情報を実世界オブジェクトに対して定常位置に保つ技術が、存在する。後者のシナリオでは、ユーザは、実世界オブジェクトに対する仮想画像情報の初期設置のある程度の制御を与えられ得る。
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明は、ユーザに実世界オブジェクトが見えることを可能にする、ディスプレイと、コンテンツを保持するためのデータチャネルと、第１のディスプレイ面積に対するユーザの第１のユーザ配向を決定し、第１のディスプレイ面積に対するユーザの第２のユーザ配向を決定するためのユーザ配向決定モジュールと、データチャネルに接続され、ユーザが実世界オブジェクトを視認している間、第１のディスプレイ面積の限局域内において、コンテンツをディスプレイを通してユーザに表示する、プロジェクタと、表面抽出モジュールおよびユーザ配向モジュールに接続され、ユーザが第１のユーザ配向にあるとき、コンテンツの近縁がユーザに近くなるように、第１のディスプレイ面積に対して第１のコンテンツ配向においてコンテンツを表示し、ユーザが第２のユーザ配向にあるとき、近縁がユーザのより近くに回転され、コンテンツが、第１のコンテンツ配向から第２のコンテンツ配向に、第１のディスプレイ面積に対して回転されるように、第１のディスプレイ面積に対して第２のコンテンツ配向においてコンテンツを表示する、コンテンツ配向選択モジュールとを含む、拡張現実ビューアを提供する。
【０００６】
本発明はさらに、プロセッサによって、第１のディスプレイ面積に対するユーザの第１のユーザ配向を決定するステップ、ユーザが第１の配向にあるときプロセッサによって、ディスプレイに対する第１のコンテンツ配向を決定するステップと、プロセッサによって、第１のユーザ配向にある間、ユーザがディスプレイを通して実世界オブジェクトを視認している間、第１のディスプレイ面積の限局域内において、第１のコンテンツ配向におけるコンテンツをディスプレイを通してユーザに表示するステップと、プロセッサによって、第１のディスプレイ面積に対するユーザの第２のユーザ配向を決定するステップと、ユーザが第２の場所にあるとき、プロセッサによって、ディスプレイに対する第２のコンテンツ配向を決定するステップと、プロセッサによって、ユーザが第２の場所からディスプレイを通して実世界オブジェクトを視認している間、ディスプレイ面積の限局域内において、第２のコンテンツ配向におけるコンテンツをディスプレイを通してユーザに表示するステップであって、コンテンツは、第１のコンテンツ配向から第２のコンテンツ配向に、第１のディスプレイ面積に対して回転される、ステップとを含む、拡張現実視認方法を提供する。
【０００７】
本発明はまた、ユーザに実世界オブジェクトが見えることを可能にする、ディスプレイと、コンテンツを保持するためのデータチャネルと、第１の表面積および第２の表面積を決定するための表面積抽出モジュールと、第１の表面積および第２の表面積に対するユーザの第１の配向を決定するためのユーザ配向決定モジュールと、個別の表面積に対する法線がユーザの第１のユーザ配向とより反対に指向されていることに基づいて第１の表面積と第２の表面積との間の好ましい表面積を選択するための表面積選択モジュールと、ユーザが実世界オブジェクトを視認している間、好ましい表面積の限局域内において、コンテンツをディスプレイを通してユーザに表示する、プロジェクタとを含む、拡張現実ビューアを提供する。
【０００８】
本発明はさらに、プロセッサによって、第１の表面積および第２の表面積を決定するステップと、プロセッサによって、第１の表面積および第２の表面積に対するユーザの第１の配向を決定するステップと、プロセッサによって、個別の表面積に対する法線がユーザの第１の場所に向かってより指向されていることに基づいて、第１の表面積と第２の表面積との間の好ましい表面積を選択するステップと、プロセッサによって、ユーザが第１の場所からディスプレイを通して実世界オブジェクトを視認している間、好ましい表面積の限局域内において、コンテンツをディスプレイを通してユーザに表示するステップとを含む、拡張現実視認方法を提供する。
【０００９】
本発明はまた、ユーザの配向を示す第１のベクトルを決定するための環境計算ユニットと、第２のベクトルを計算するためのベクトル計算機と、第１のベクトルと第２のベクトルのドット積を計算するための選択モジュールと、コンテンツを保持するためのデータチャネルと、ドット積に基づいて、コンテンツの設置を決定するためのコンテンツレンダリングモジュールと、ユーザに実世界オブジェクトが見えることを可能にする、ディスプレイと、ユーザがディスプレイを通して実世界オブジェクトを視認している間、コンテンツをディスプレイを通してユーザに表示する、プロジェクタであって、コンテンツは、コンテンツレンダリングモジュールによって決定された設置に基づいて表示されている、プロジェクタとを含む、拡張現実ビューアを提供する。
【００１０】
本発明はさらに、プロセッサによって、ユーザの配向を示す第１のベクトルを決定するステップと、プロセッサによって、第２のベクトルを計算するステップと、プロセッサによって、第１のベクトルと第２のベクトルのドット積を計算するステップと、プロセッサによって、ドット積に基づいて、コンテンツの設置を決定するステップと、プロセッサによって、ユーザがディスプレイを通して実世界オブジェクトを視認している間、コンテンツをディスプレイを通してユーザに表示するステップであって、コンテンツは、コンテンツレンダリングモジュールによって決定された設置に基づいて表示されている、ステップとを含む、拡張現実視認方法を提供する。
【００１１】
本発明はさらに、付随の図面を参照して、一例として説明される。
【図面の簡単な説明】
【００１２】
【図１Ａ】図１Ａは、コンピュータからのコンテンツで拡張された実世界オブジェクトが見えるように、ユーザによって使用される、拡張現実ビューアのブロック図である。
【００１３】
【図１Ｂ】図１Ｂは、拡張現実ビューアの斜視図である。
【００１４】
【図２】図２は、２次元コンテンツを視認している間の、３次元環境内で拡張現実ビューアを装着している、ユーザを図示する、斜視図である。
【００１５】
【図３】図３は、拡張現実ビューアを用いて作成された、３次元データマップを図示する、斜視図である。
【００１６】
【図４】図４は、ユーザ配向ベクトルの決定、表面積の抽出、および表面積配向ベクトルの計算を図示する、斜視図である。
【００１７】
【図５】図５は、表面積のうちの１つ上へのコンテンツのレンダリングの設置を図示する、図４に類似する図である。
【００１８】
【図６】図６は、ユーザ配向ベクトルの変化を図示する、図５に類似する図である。
【００１９】
【図７】図７は、ユーザ配向ベクトルの変化に起因する、コンテンツのレンダリングの設置を図示する、図６に類似する図である。
【００２０】
【図８】図８は、ユーザの移動に起因する、ユーザ配向ベクトルの変化を図示する、図７に類似する図である。
【００２１】
【図９】図９は、ユーザ配向ベクトルの変化に起因する、コンテンツのレンダリングの回転を図示する、図８に類似する図である。
【００２２】
【図１０】図１０は、ユーザの移動に起因する、ユーザ配向ベクトルの変化を図示する、図９に類似する図である。
【００２３】
【図１１】図１１は、ユーザ配向ベクトルの変化に起因する、コンテンツのレンダリングの回転を図示する、図１０に類似する図である。
【００２４】
【図１２】図１２は、ユーザの移動に起因する、ユーザ配向ベクトルの変化を図示する、図１１に類似する図である。
【００２５】
【図１３】図１３は、ユーザ配向ベクトルの変化に起因する、コンテンツのレンダリングの回転を図示する、図１２に類似する図である。
【００２６】
【図１４】図１４は、ユーザが見上げることに起因する、ユーザ配向ベクトルの変化を図示する、図１３に類似する図である。
【００２７】
【図１５】図１５は、ユーザ配向ベクトルの変化に起因する、別の表面積上へのコンテンツのレンダリングの設置を図示する、図１４に類似する図である。
【００２８】
【図１６】図１６は、先行図の方法を行うためのアルゴリズムの機能を図示する、フローチャートである。
【００２９】
【図１７】図１７は、３次元コンテンツを視認している間の、３次元環境内で拡張現実ビューアを装着しているユーザを図示する、斜視図である。
【００３０】
【図１８】図１８は、図１７の上部平面図である。
【００３１】
【図１９】図１９は、ユーザがディスプレイ表面の周囲で時計回り方向に回転した、図１８に類似する図である。
【００３２】
【図２０】図２０は、コンテンツが時計回り方向に回転した、図１９に類似する図である。
【００３３】
【図２１】図２１は、垂直表面上のコンテンツを視認している間のユーザを図示する、斜視図である。
【００３４】
【図２２】図２２は、ユーザが反時計回り方向に回転した、図２１に類似する図である。
【００３５】
【図２３】図２３は、コンテンツが反時計回り方向に回転した、図２に類似する図である。
【００３６】
【図２４】図２４は、本発明の一実施形態による、本発明のシステム内で用途を見出し得る、コンピュータの形態における機械のブロック図である。
【発明を実施するための形態】
【００３７】
用語「表面」および「表面積」は、本明細書では、ディスプレイ面積として使用のために好適な２次元面積を説明するために使用される。本発明の側面は、他のディスプレイ面積、例えば、３次元表面積であるディスプレイ面積または３次元体積内のスライスを表すディスプレイ面積が使用されるときも用途を見出し得る。
【００３８】
付随の図面の図１Ａは、ユーザが、コンピュータまたはコンピュータネットワーク上に記憶される、それによって受信される、または別様に、それによって生成される、種類のコンテンツ１６で拡張される、実世界表面および実世界オブジェクト１４を含む、実世界場面の直接ビューを見るために使用する、拡張現実ビューア１２を図示する。
【００３９】
拡張現実ビューア１２は、ディスプレイ１８と、データチャネル２０と、コンテンツレンダリングモジュール２２と、プロジェクタ２４と、深度センサ２８と、加速度計３０等の位置センサと、カメラ３２と、環境計算ユニット３４と、コンテンツ設置およびコンテンツ配向ユニット３６とを含む。
【００４０】
データチャネル２０は、コンテンツ１６を保持する、記憶デバイスに接続されてもよい、またはコンテンツ１６をリアルタイムで提供する、サービスに接続されてもよい。コンテンツ１６は、例えば、写真等の静的画像、コンピュータディスプレイ上に表示される、ウェブページ、テキストドキュメント、または他のデータ等、ある時間周期にわたって静的なままであって、ユーザによって操作され得る、画像、またはビデオまたはアニメーション等の動画であってもよい。コンテンツ１６は、２次元、３次元、静的、動的、テキスト、画像、ビデオ等であってもよい。コンテンツ１６は、ゲーム、書籍、映画、ビデオクリップ、広告、アバタ、図面、アプリケーション、ウェブページ、装飾、スポーツゲーム、リプレイ、３−Ｄモデル、または当業者によって理解されるであろうような任意の他のタイプのコンテンツを含んでもよい。
【００４１】
コンテンツレンダリングモジュール２２は、データチャネル２０に接続され、コンテンツ１６をデータチャネル２０から受信する。コンテンツレンダリングモジュール２２は、コンテンツ１６を３次元視認のために好適な形態に変換する。ユーザの配向に応じて３次元空間内の２次元平面を視認する、またはユーザによって３次元内の３次元体積を視認するための種々の技法が、存在する。
【００４２】
プロジェクタ２４は、コンテンツレンダリングモジュール２２に接続される。プロジェクタ２４は、コンテンツレンダリングモジュール２２によって生成されたデータを光に変換し、光をディスプレイ１８に送達する。光は、ディスプレイ１８からユーザの眼２６に進行する。ユーザに３次元体験を提供するための種々の技法が、存在する。各眼は、異なる画像を提供され、画像内のオブジェクトは、３次元内に構築されるにつれてユーザによって知覚される。ユーザが、必ずしも、ディスプレイ１８の平面にあるわけではなく、典型的には、ディスプレイ１８の背後のある距離にある、ある被写界深度において、オブジェクトに合焦するための技法もまた、存在する。仮想コンテンツがある深度にあるように現れるように作成され得る、１つの方法は、実際の物理的オブジェクトからの光が眼に到達する方法を模倣するように、光線を発散させ、湾曲波面を形成することによるものである。眼は、次いで、遠近調節と呼ばれるプロセスにおいて、解剖学的水晶体の形状を変化させることによって、発散する光ビームを網膜上に合焦させる。異なる発散角度は、異なる深度を表し、導波管上の射出瞳エクスパンダ上の回折格子を使用して作成される。
【００４３】
ディスプレイ１８は、透明ディスプレイである。ディスプレイ１８は、ユーザにディスプレイ１８を通して実世界オブジェクト１４が見えることを可能にする。ユーザは、したがって、拡張現実ビュー４０を知覚し、３次元においてユーザに見える、実世界オブジェクト１４は、プロジェクタ２４からディスプレイ１８を介してユーザに提供する、３次元画像で拡張される。
【００４４】
深度センサ２８およびカメラ３２は、実世界オブジェクト１４を捕捉するための位置に搭載される。深度センサ２８は、典型的には、赤外線範囲内の電磁波を検出し、カメラ３２は、可視光スペクトル内の電磁波を検出する。図１Ｂにより明確に示されるように、１つを上回るカメラ３２が、世界に面した位置において、拡張現実ビューア１２のフレーム１３上に搭載されてもよい。特定の実施形態では、４つのカメラ３２が、フレーム１３に搭載され、２つが、前方の世界に面した位置にあって、２つが、左および右側または斜めの世界に面した位置にある。複数のカメラ３２の視野は、重複してもよい。深度センサ２８およびカメラ３２は、拡張現実ビューア１２のフレーム１３に対して静的位置に搭載される。深度センサ２８およびカメラ３２によって捕捉された画像の中心点は、常時、拡張現実ビューア１２に対して同一の前方方向にある。
【００４５】
加速度計３０は、拡張現実ビューア１２のフレームに対して定常位置に搭載される。加速度計３０は、重力の方向を検出する。加速度計３０は、地球の重力場に対する拡張現実ビューアの配向を決定するために使用されることができる。深度センサ２８と、視覚的同時位置特定およびマッピング（「ＳＬＡＭ」）および慣性測定ユニット（「ＩＭＵ」）入力に依拠する、頭部姿勢アルゴリズムの組み合わせによって、加速度計３０は、拡張現実ビューア１２が、重力の方向および拡張現実ビューア１２に対する実世界オブジェクト１４の場所を確立することを可能にする。
【００４６】
カメラ３２は、実世界オブジェクト１４の画像を捕捉し、継続的ベースでの画像のさらなる処理は、実世界オブジェクト１４に対する拡張現実ビューア１２の移動を示す、データを提供する。深度センサ２８、世界カメラ３２、および加速度計３０は、継続的ベースで重力に対する実世界オブジェクト１４の場所を決定するため、重力およびマッピングされた実世界環境に対する拡張現実ビューア１２の移動もまた、計算されることができる。
【００４７】
図１Ａでは、環境計算ユニット３４は、環境マッピングモジュール４４と、表面抽出モジュール４６と、ビューア配向決定モジュール４８とを含む。環境マッピングモジュール４４は、１つ以上のセンサからの入力を受信してもよい。１つ以上のセンサは、例えば、深度センサ２８と、１つ以上の世界カメラ３２と、加速度計３０とを含み、実世界表面およびオブジェクト１４の場所を決定してもよい。表面抽出モジュール４６は、環境マッピングモジュール４４からのデータを受信し、環境内の平面表面を決定してもよい。ビューア配向決定モジュール４８は、深度センサ２８、カメラ３２、および加速度計３０に接続し、そこからの入力を受信し、実世界オブジェクト１４および表面抽出モジュール４６によって識別される表面に対するユーザのユーザ配向を決定する。
【００４８】
コンテンツ設置およびコンテンツ配向ユニット３６は、表面ベクトル計算機５０と、表面選択モジュール５２と、コンテンツサイズ決定モジュール５４と、コンテンツベクトル計算機５６と、コンテンツ配向選択モジュール５８とを含む。表面ベクトル計算機５０、表面選択モジュール５２、およびコンテンツサイズ決定モジュール５４は、順次、相互に接続されてもよい。表面選択モジュール５２は、ビューア配向決定モジュール４８に接続され、そこに入力を提供する。コンテンツベクトル計算機５６は、コンテンツ１６を受信することが可能であるように、データチャネル２０に接続される。コンテンツ配向選択モジュール５８は、コンテンツベクトル計算機５６およびビューア配向決定モジュール４８に接続され、そこからの入力を受信する。コンテンツサイズ決定モジュール５４は、コンテンツ配向選択モジュール５８に接続され、そこに入力を提供する。コンテンツレンダリングモジュール２２は、コンテンツサイズ決定モジュール５４に接続され、そこからの入力を受信する。
【００４９】
図２は、３次元環境内で拡張現実ビューア１２を装着している、ユーザ６０を図示する。
【００５０】
ベクトル６２は、拡張現実ビューア１２上の１つ以上のセンサによって検出されるような重力の方向を示す。ベクトル６４は、ユーザ６０の視点から右方向を示す。ユーザ配向ベクトル６６は、ユーザ配向、本実施例では、ユーザ６０のビューの中央における前方方向を示す。ユーザ配向ベクトル６６はまた、図１における深度センサ２８およびカメラ３２によって捕捉された画像の中心点までの方向を指す。図１Ｂはさらに、右へのベクトル６４と、ユーザ配向ベクトル６６と、相互に直交する、デバイス直立ベクトル６７とを含む、座標系６３を示す。
【００５１】
３次元環境は、例証として、水平表面７０を伴うテーブル６８と、表面７２および７４と、表面７２および７４をコンテンツの設置のために好適ではないものにし得る、障害物を提供する、オブジェクト７６とを含む。例えば、持続表面７２および７４を途絶させる、オブジェクト７６は、写真フレーム、鏡、壁内の亀裂、粗面テクスチャ、異なる着色面積、表面内の穴、表面の突出部、または平面表面７２、７４に対する任意の他の非均一性を含み得る。対照的に、表面７８および８０は、その比較的に大サイズおよびユーザ６０とのその近接度のため、コンテンツの設置のためにより好適であり得る。表示されているコンテンツのタイプに応じて、また、矩形寸法を有する表面を見出すことが有利であり得るが、正方形、三角形、円形、卵形、または多角形等の他の形状もまた、使用されてもよい。
【００５２】
図３は、図１における深度センサ２８、加速度計３０、および環境マッピングモジュール４４の機能を図示する。深度センサ２８は、３次元環境内のオブジェクトおよび表面を含む、全ての特徴の深度を捕捉する。環境マッピングモジュール４４は、直接または間接的に、拡張現実ビューア１２上の１つ以上のセンサからデータを受信する。例えば、深度センサ２８および加速度計３０は、３次元における３次元環境の深度をマッピングするための入力を環境マッピングモジュール４４に提供してもよい。
【００５３】
図３はまた、カメラ３２およびビューア配向決定モジュール４８の機能を図示する。カメラ３２は、オブジェクト７６および表面７８の画像を捕捉する。ビューア配向決定モジュール４８は、カメラ３２からの画像を受信し、画像を処理し、ユーザ配向ベクトル６６によって表されるようなユーザ６０によって装着されている拡張現実ビューア１２の配向を決定する。
【００５４】
３次元環境をマッピングする他の方法、例えば、部屋内の定常位置に位置する、１つ以上のカメラの使用が、採用されてもよい。しかしながら、拡張現実ビューア１２内の深度センサ２８と環境マッピングモジュール４４の統合は、より移動性の用途を提供する。
【００５５】
図４は、図１における表面抽出モジュール４６の機能を図示する。表面抽出モジュール４６は、図３において作成された３次元マップを処理し、コンテンツ、本実施例では、２次元コンテンツの設置および視認のために好適な任意の表面が存在するかどうかを決定する。表面抽出モジュール４６は、水平表面積８２と、２つの垂直表面積８４および８６とを決定する。表面積８２、８４、および８６は、実表面ではなく、代わりに、３次元環境に配向される２次元平面表面を電子的に表す。データ表現である、表面積８２、８４、および８６は、それぞれ、図１における実世界オブジェクト１４の一部を形成する、図２における実表面７０、７８、および８０に対応する。
【００５６】
図４は、立方体８８と、立方体８８の陰影９０とを図示する。これらの要素は、作成者によって使用され、ビューアが、３次元空間を通した図２におけるユーザ配向ベクトル６６の変化およびユーザ６０および拡張現実ビューア１２の移動を追跡することを補助する。
【００５７】
図４はまた、図１における表面ベクトル計算機５０の機能を図示する。表面ベクトル計算機５０は、マッピングされた３次元環境の抽出された表面毎に、表面積配向ベクトルを計算する。例えば、表面ベクトル計算機５０は、表面積８２の平面に対して法線の表面積配向ベクトル９２を計算する。同様に、表面ベクトル計算機５０は、表面積８４に対して法線の表面積配向ベクトル９４と、表面積８６に対して法線の表面積配向ベクトル９４とを計算する。
【００５８】
その上に仮想コンテンツを表示するための表面の選択は、表面とユーザとの間の関係を計算する、表面選択モジュール５２によって行われる。図１Ａにおける表面選択モジュール５２は、ユーザ配向ベクトル６６と表面積配向ベクトル９２のドット積を計算する。単位ベクトルａとｂのドット積は、以下の方程式によって表される。
ａ・ｂ＝│ａ││ｂ│ｃｏｓθ            ［１］
式中、│ａ│＝１
│ｂ│＝１
θは、単位ベクトルａとｂとの間の角度である。
【００５９】
ユーザ配向ベクトル６６および表面積配向ベクトル９２は、相互に直交し、これは、そのドット積がゼロであることを意味する。
【００６０】
表面選択モジュール５２はまた、ユーザ配向ベクトル６６と表面積配向ベクトル９４のドット積を計算する。ユーザ配向ベクトル６６および表面積配向ベクトル９４は、直交するため、そのドット積は、ゼロである。
【００６１】
表面選択モジュール５２はまた、ユーザ配向ベクトル６６と表面積配向ベクトル９６のドット積を計算する。ユーザ配向ベクトル６６および表面積配向ベクトル９６は、相互に対して１８０°であり、そのドット積は、−１である。表面積配向ベクトル９６を含む、ドット積は、３つのドット積のうち最も負であるため、表面選択モジュール５２は、表面積８２、８４、および８６のうち、表面積８６が、コンテンツを表示するための好ましい表面積であることを決定する。より負のドット積は、コンテンツがビューアに直接面するように配向されるであろう可能性がより高い。表面積８６は、垂直表面積であるため、コンテンツ設置およびコンテンツ配向ユニット３６は、図１におけるコンテンツ配向選択モジュール５８を呼び出さない。ドット積は、最良表面を選定するためにシステムによってまたは仮想コンテンツの必要性によって優先順位化され得る、多くの表面特性のうちの１つである。例えば、−１．０のドット積を有する、表面が、極小であって、ユーザから離れている場合、−０．８のドット積を有するが、大きく、ユーザの近くにある、表面より好ましくない場合がある。システムは、コンテンツを設置するとき、良好なコントラスト比性質を有し、ユーザにより容易に見えるであろう、表面を選定し得る。次に、コンテンツサイズ決定モジュール５４が、表面積８６上に表示するためのコンテンツの適切なサイズを決定する。コンテンツは、最適アスペクト比、例えば、近縁上に１６および側縁上に９のアスペクト比を有する。コンテンツサイズ決定モジュール５４は、近縁と側縁の比率を使用して、コンテンツのサイズおよび形状を決定し、コンテンツを歪曲させないように、全ての視認角度において本アスペクト比を保存する。コンテンツサイズ決定モジュール５４は、表面積８６内に適合するであろう最適アスペクト比を伴う、コンテンツの最適高さおよび幅を計算する。所与の実施例では、表面積８６の左縁と右縁との間の距離は、コンテンツのサイズを決定する。
【００６２】
図５は、図１におけるコンテンツレンダリングモジュール２２およびプロジェクタ２４の機能を図示する。コンテンツレンダリングモジュール２２は、コンテンツサイズ決定モジュール５４および表面選択モジュール５２のサイズ決定に基づいて、その計算された配向におけるコンテンツ１６をプロジェクタ２４の中に提供する。ビューアは、コンテンツ１６を、表面積８６上の３次元空間内に設置され、それと同一平面にある、レンダリング９８として視認する。コンテンツ１６は、表面積８２および８４上にはレンダリングされない。全ての他の表面特性が等しいとすると、表面積８６は、ユーザ配向ベクトル６６によって表されるようなユーザ配向のため、表面積８２および８４と比較して、レンダリング９８のための最適面積を提供する。レンダリング９８は、ユーザ配向ベクトルがわずかな程度だけ変化するとき、表面積８６上で静的なままである。図１Ａにおけるビューア配向決定モジュール４８が、ユーザ配向ベクトルが、所定の閾値度を上回って、例えば、５度変化したことを感知する場合、システムは、上記に説明されるように、全てのドット積の再計算に自動的に進み、必要な場合、ユーザへの表示のためにレンダリングされているコンテンツを再位置付けおよびサイズ変更する。代替として、システムは、定期的に、例えば、１５秒毎に、上記に説明されるように、全てのドット積を再計算し、コンテンツを設置してもよい。
【００６３】
代替として、ユーザは、その配向を変化させても、コンテンツが留まるように面積８６を選択してもよい。
【００６４】
図６では、ユーザ６０は、その頭部の傾きを変化させる。その結果、ユーザ配向ベクトル６６は、下向き方向１００に回転する。新しいユーザ配向は、新しいユーザ配向ベクトル１０２によって表される。図１Ａおよび１Ｂにおけるカメラ３２は、実世界オブジェクト１４の画像を継続的に捕捉する。深度センサ２８および加速度計３０等の付加的センサもまた、継続的に捕捉し、更新された情報を提供してもよい。ビューア配向決定モジュール４８は、画像を処理し、拡張現実ビューア１２にオンボード搭載されるセンサによって捕捉された他のデータとともに、カメラ３２のビュー内の実世界オブジェクト１４の相対的移動を決定する。ビューア配向決定モジュール４８は、次いで、そのような移動を処理し、図５におけるユーザ配向ベクトル６６から図６におけるユーザ配向ベクトル１０２へのユーザ配向ベクトルの変化を決定する。システムは、通常、最も最適なドット積を伴う表面を選択するが、ジッタおよび処理が低減されるように、ドット積に関する許容可能なある程度の公差／範囲が存在してもよい。一例として、システムは、より最適である別のドット積が存在するとき、かつより最適であるドット積が、コンテンツが現在表示されている表面のドット積より少なくとも５パーセント良好である場合、コンテンツを移動させてもよい。
【００６５】
ユーザが、その配向を変化させた後もコンテンツが留まるような表面８６を選択しなかったと仮定する。表面選択モジュール５２は、再び、３つのドット積、すなわち、ユーザ配向ベクトル１０２と表面積配向ベクトル９２、ユーザ配向ベクトル１０２と表面積配向ベクトル９４、およびユーザ配向ベクトル１０２と表面積配向ベクトル９６との間のドット積を計算する。表面選択モジュール５２は、次いで、最も負である、３つのドット積のうちの１つを決定する。本実施例では、ユーザ配向ベクトル１０２と表面積配向ベクトル９２との間のドット積が、最も負である。表面選択モジュール５２は、その関連付けられるドット積が表面積８４および８６に関してよりも負であるため、表面積８２が好ましい表面であることを決定する。システムはまた、上記に説明されるように、他の要因も検討し得る。
【００６６】
図１Ａにおけるコンテンツ設置およびコンテンツ配向ユニット３６は、コンテンツベクトル計算機５６およびコンテンツ配向選択モジュール５８を呼び出す。コンテンツ配向選択モジュール５８の動作に続き、コンテンツサイズ決定モジュール５４が、再び、呼び出される。
【００６７】
コンテンツベクトル計算機５６、コンテンツ配向選択モジュール５８、およびコンテンツサイズ決定モジュール５４の機能は、図７の助けを借りてより詳しく図示される。
【００６８】
図７は、コンテンツレンダリングモジュール２２およびプロジェクタ２４が、表面積８２内かつその同一平面にある、コンテンツ１６のレンダリング１０４を作成することを図示する。表面積８６上のレンダリングは、もはやユーザ６０に表示されない。
【００６９】
レンダリング１０４は、遠縁１０６と、近縁１０８と、右縁１１０と、左縁１１２とを有する。図１Ａにおけるコンテンツベクトル計算機５６は、コンテンツ配向ベクトル１１４を計算してもよい。コンテンツ配向ベクトル１１４は、近縁１０８から遠縁１０６まで延在し、近縁１０８および遠縁１０６の両方に直交する。
【００７０】
コンテンツベクトル計算機によって行われる計算は、データチャネル上に提供される、コンテンツに依存する。いくつかのコンテンツは、コンテンツの近縁から遠縁まで延在する、コンテンツ配向ベクトルをすでに有している場合があり、その場合、コンテンツベクトル計算機５６は、単に、コンテンツのコード内のコンテンツ配向ベクトルを識別および隔離する。他のインスタンスでは、コンテンツ配向ベクトルは、コンテンツと関連付けられ得、コンテンツベクトル計算機５６は、コンテンツの近縁から遠縁まで延在するようにコンテンツ配向ベクトルを再配向する必要があり得る。他のインスタンスでは、コンテンツベクトル計算機５６は、コンテンツ内のツールの設置等、画像分析等の他のデータに基づいて、コンテンツ配向ベクトルを生成しなくてもよい。
【００７１】
コンテンツ配向選択モジュール５８は、ユーザ配向ベクトル１０２とコンテンツ配向ベクトル１１４との間のドット積を計算する。ドット積は、４つのシナリオ、すなわち、コンテンツ配向ベクトル１１４が、図７に示される方向に配向されるとき、コンテンツ配向ベクトル１１４が、右に９０°配向されるとき、コンテンツ配向ベクトル１１４が、１８０°に配向されるとき、およびコンテンツ配向ベクトル１１４が、左に９０°配向されるときに関して計算される。コンテンツ配向選択モジュール５８は、次いで、４つのドット積間で最低のドット積を選択し、コンテンツ配向ベクトル１１４が最低の関連付けられるドット積を伴う方向に整合されるように、レンダリング１０４を設置する。近縁１０８は、次いで、ユーザ配向ベクトル１０２によって描写されるように、遠縁１０６よりユーザ６０の近くに位置し、右および左縁１１２および１１０は、ユーザ６０の配向から右および左に位置する。コンテンツ１６は、したがって、ユーザ６０によって容易に視認可能な様式で配向される。例えば、人物の頭部および胴体の写真は、頭部がユーザ６０から最遠にあって、胴体がユーザ６０に最近である状態で表示され、テキストドキュメントは、最初の行が、ユーザ６０から最遠にあって、最後の行が、ユーザ６０に最近にある状態で表示される。
【００７２】
コンテンツサイズ決定モジュール５４は、レンダリング１０４のための適切なサイズを決定しており、右縁１１０および左縁１１２は、表面積８２内のレンダリング１０４の幅を定義し、遠縁１０６と近縁１０８との間の距離は、所望のアスペクト比によって決定される。
【００７３】
図８では、ユーザ６０は、表面積８２の周囲で反時計回り方向１１６に移動している。ユーザ６０はまた、その身体を反時計回りに９０°回転させている。ユーザ６０は、新しいユーザ配向ベクトル１１８によって表されるように、新しく確立された新しい配向を有する。ユーザの頭部は、依然として、表面積８２に向かって下向きに傾けられ、表面積８４および８６は、ここでは、それぞれ、ユーザ６０の背後および右に位置する。
【００７４】
表面選択モジュール５２は、再び、表面積配向ベクトル９２、９４、および９６のそれぞれ１つと関連付けられる、ドット積を計算する。ユーザ配向ベクトル１１８と表面積配向ベクトル９４のドット積は、ここでは、正になっている。ユーザ配向ベクトル１１８と表面積配向ベクトル９６との間のドット積は、約ゼロである。ユーザ配向ベクトル１１８と表面積配向ベクトル９２との間のドット積は、最も負である。図１Ａにおける表面選択モジュール５２は、表面積配向ベクトル９２と関連付けられる表面積８２をコンテンツ１６のレンダリングの位置付けのための好ましい表面として選択する。
【００７５】
図１Ａにおけるコンテンツ配向選択モジュール５８は、再び、それぞれ１つがコンテンツ配向ベクトルの個別の方向と関連付けられる、４つのドット積、すなわち、図８に示される方向におけるユーザ配向ベクトル１１８とコンテンツ配向ベクトル１１４との間のドット積と、さらに、それぞれ、図８におけるコンテンツ配向ベクトル１１４に対して右に９０°、１８０°、および左に９０°における、ユーザ配向ベクトル１１８とコンテンツ配向ベクトルとの間のドット積とを計算する。コンテンツ配向選択モジュール５８は、図７に示されるコンテンツ配向ベクトル１１４の方向に対して左に９０°のコンテンツ配向ベクトル１１４と関連付けられる、ドット積が、４つのドット積のうち最も正であることを決定する。
【００７６】
コンテンツサイズ決定モジュール５４は、次いで、コンテンツ配向ベクトル１１４が左に９０°回転される場合、レンダリングのための適切なサイズを決定する。
【００７７】
図９は、コンテンツレンダリングモジュール２２が、ユーザ配向ベクトル１１８によって表されるようなユーザ配向に基づいて、レンダリング１０４を作成する方法を図示する。レンダリング１０４は、コンテンツ配向ベクトル１１４が、図８と比較して、左に９０°指向されるように、反時計回りに９０°回転される。近縁１０８は、ここでは、ユーザ６０の最近に位置する。図１Ａにおけるコンテンツサイズ決定モジュール５４は、表面積８２の利用可能な割合に起因して、レンダリング１０４を図８より小さくしている。レンダリングは、コンテンツ作成者またはユーザ選好によって選択されるように、位置間でスナップする、平滑に回転する、フェードイン／フェードアウトし得る。
【００７８】
図１０では、ユーザ６０は、表面積８２の周囲において方向１２０にさらに移動しており、新しいユーザ配向ベクトル１２２によって表されるように、新しいユーザ配向を確立している。ユーザ配向ベクトル１２２と表面積配向ベクトル９６との間のドット積は、ここでは、正である。ユーザ配向ベクトル１２２と表面積配向ベクトル９４との間のドット積は、約ゼロである。ユーザ配向ベクトル１２２と表面積配向ベクトル９２との間のドット積は、最も負である。表面積８２は、したがって、コンテンツを表示するために好ましい表面である。
【００７９】
図１０に示されるように、ユーザ配向ベクトル１２２とコンテンツ配向ベクトル１１４との間のドット積は、約ゼロである。コンテンツ配向ベクトル１１４が、時計回りに９０°、１８０°、反時計回りに９０°回転される場合、個別のドット積は、大きさが異なり、左に９０°である、コンテンツ配向ベクトル１１４のドット積が、最も正である。レンダリング１０４は、したがって、反時計回りに９０°回転され、表面積８２の割合に基づいて、サイズ変更されるべきである。図１１は、レンダリング１０４が、表面積８２上に留まったまま、ユーザ配向ベクトル１２２の変化に起因して回転およびサイズ変更される方法を図示する。
【００８０】
図１２では、ユーザ６０は、表面積８２の周囲で方向１２４に移動しており、新しいユーザ配向ベクトル１２６によって表されるように、新しいユーザ配向を確立している。ユーザ配向ベクトル１２６と表面積配向ベクトル９４のドット積は、ここでは、負である。しかしながら、ユーザ配向ベクトル１２６と表面積配向ベクトル９２との間のドット積は、より負である。表面積８２は、したがって、コンテンツ１６のレンダリングを作成するための好ましい表面積である。
【００８１】
図１２に示されるように、ユーザ配向ベクトル１２６とコンテンツ配向ベクトル１１４との間のドット積は、約ゼロである。ユーザ配向ベクトル１２６とコンテンツ配向ベクトル１１４との間のドット積は、左に９０°回転される場合、正である。レンダリング１０４は、したがって、表面積８２上に留まりながら、反時計回り回転されるべきである。図１３は、新しいユーザ配向ベクトル１２６に基づいて修正されるようなレンダリング１０４の設置、配向、およびサイズを図示する。
【００８２】
図１４は、ユーザ６０がその頭部を上向き方向１３４に回転させるときに確立される、新しいユーザ配向ベクトル１３２を図示する。ユーザ配向ベクトル１３２と表面積配向ベクトル９２との間のドット積は、約ゼロである。ユーザ配向ベクトル１３２と表面積配向ベクトル９６との間のドット積もまた、約ゼロである。ユーザ配向ベクトル１３２と表面積配向ベクトル９４との間のドット積は、−１またはそれに近く、したがって、３つの表面ベースのドット積のうち最も負である。表面積８４は、ここでは、コンテンツ１６のレンダリングの設置のための好ましい表面積である。図１５は、表面積８４上でユーザ６０に表示される、レンダリング１３６を図示する。表面積８２上のレンダリングは、もはやユーザ６０に表示されない。表面積８４および表面積８６等の垂直表面積上では、近縁１０８は、常時、底部にある。
【００８３】
図１６は、上記に説明されるような方法を行うためのアルゴリズムを図示する。１５０では、３次元空間が、図３を参照して説明されるようにマッピングされる。１５２Ａ、Ｂ、およびＣでは、表面積が、図４を参照して説明されるように抽出される。１５４Ａ、Ｂ、およびＣでは、表面ベクトルが、図４を参照して説明されるように計算される。１５６では、ユーザ配向ベクトルが、図１−４を参照して説明されるように決定される。１５８Ａ、Ｂ、およびＣでは、個別のドット積が、図４を参照して説明されるように、ユーザ配向ベクトルと各個別の表面積配向ベクトルとの間で計算される。１６０では、好ましい表面積が、図４を参照して説明されるように決定される。
【００８４】
１６２では、好ましい表面積が垂直であるかどうかの決定が、行われる。好ましい表面積が、垂直ではない場合、１６４において、コンテンツの遠、近、右、および左縁に対するコンテンツ配向ベクトルの方向が、図７を参照して説明されるように決定される。１６４に続いて、１６６Ａ、Ｂ、Ｃ、およびＤにおいて、コンテンツベクトルが、図７を参照して説明されるように、０°、９０°右、１８０°、および９０°左において計算される。１６８Ａ、Ｂ、Ｃ、およびＤでは、ドット積が、ユーザ配向ベクトルと、それぞれ、１６６Ａ、Ｂ、Ｃ、およびＤにおいて計算されるコンテンツ配向ベクトルとの間で計算される。１７０では、コンテンツ配向が、図７を参照して説明されるように選択される。
【００８５】
１７２では、コンテンツのサイズが、図５および図７を参照して説明されるように決定される。１７４では、コンテンツが、図５および図７を参照して説明されるように表示される。
【００８６】
１７４に続いて、新しいユーザ配向ベクトルが、１５６において、図６、８、９、１０、および１２を参照して説明されるように、決定されてもよい。プロセスは、次いで、再び、１５４Ａ、Ｂ、およびＣにおいて、表面積配向ベクトルを計算せずに、繰り返されてもよい。
【００８７】
図１７および１８を参照すると、実施形態が、それぞれ、ユーザ６０によって視認するための環境１８４内にマッピングされた表面１８２上にレンダリングされた３次元仮想コンテンツ１８０を伴う、斜視図および上面図に示される。そのような実施形態では、上記に説明される原理が、ユーザ６０が可能な限り容易かつ自然にコンテンツを視認し得るように、３次元仮想コンテンツ１８０を位置付けるために使用される。
【００８８】
ユーザ配向ベクトル６６は、本デバイス１２の前方ベクトルと同一であって、以降、「デバイス前方ベクトル６６」と称される。その上に３次元仮想コンテンツ１８０を設置するための表面を決定するステップは、少なくとも部分的に、デバイス前方ベクトル６６と環境１８４内のマッピングされた表面の表面法線ベクトル１８６との間のドット積関係に依拠し得る。３次元仮想コンテンツ１８０の最適視認のために、多くのドット積関係のうちの１つが、コンテンツに応じて、最適と見なされ得る。例えば、コンテンツが、側面から視認されることが意図される場合、本デバイス前方ベクトル６６と表面法線ベクトル１８６との間のドット積関係が、ゼロに近く、ユーザがマッピングされた表面１８２にほぼ直交することを示すことが理想的であり得る。そのような実施形態では、マッピングされた表面１８２上に設置された３次元仮想コンテンツ１８０は、ユーザによって側面から見られるであろう。代替として、−１またはその近くのドット積関係は、他の実施形態に関して本明細書に説明されたように、３次元仮想コンテンツ１８０が、上方から視認されることが意図される場合、より望ましくあり得る。理想的ドット積関係は、３次元仮想コンテンツ１８０の作成者による属性セットであってもよい、ユーザによって選好として選択されてもよい、または別様に、表示されることになるコンテンツのタイプに基づいて、拡張現実視認システムによって決定されてもよい。
【００８９】
いったん設置表面が、システムまたはユーザによる設置のいずれかによって決定されると、マッピングされた表面１８２上の３次元仮想コンテンツ１８０の配向が、ユーザに対して決定される。示される実施例では、３次元仮想コンテンツ１８０は、３次元仮想コンテンツ１８０をユーザデバイスの基準ベクトルに整合させるために使用され得る、コンテンツ配向ベクトル１８８を提供される。３次元仮想コンテンツ１８０は、キャラクタの頭部であって、キャラクタの近縁は、その口がある場所である。キャラクタの遠縁は、典型的には、遠縁がユーザに見えないキャラクタの側面上にあるため、ユーザ６０によって視認するためにレンダリングされないであろう。コンテンツ配向ベクトル１８８は、キャラクタの近縁と平行に整合される。コンテンツ配向ベクトル１８８は、コンテンツ配向ベクトル１８８とデバイス右ベクトル６４との間のドット積が、１またはその近くであって、２つのベクトルが実質的に同一方向に向いていることを示すように、３次元仮想コンテンツ１８０と拡張現実ビューア１２を整合させるために使用されてもよい。
【００９０】
図１９および２０を参照すると、ユーザの移動に基づく、３次元コンテンツ再配向の実施例が、示される。図１９では、ユーザ６０は、図１８に対してある距離および角度だけテーブルの周囲で時計回りに移動している。その結果、コンテンツ配向ベクトル１８８とデバイス右ベクトル６４との間のドット積関係は、１未満である。いくつかの実施形態では、位置の本変化は、３次元仮想コンテンツ１８０の再配向を要求しなくてもよい。例えば、コンテンツ作成者、ユーザ、または拡張現実ビューア１２内のソフトウェアは、３次元仮想コンテンツ１８０の再配向が、コンテンツ配向ベクトル１８８とデバイス基準ベクトルとの間のドット積が所定の閾値未満であるときのみ必要であることを示し得る。大または小閾値公差が、表示されているコンテンツのタイプに応じて、設定されてもよい。
【００９１】
図１８の場所から図１９の場所へのユーザ６０の位置の変化が、３次元仮想コンテンツ１８０の再配向をトリガする場合、配向モジュールは、図２０に示されるように、コンテンツ配向ベクトル１８８が、デバイス右ベクトル６４と整合し、２つのベクトルに関して１に等しいまたはそれに近いドット積をもたらすように、３次元仮想コンテンツ１８０を再レンダリングしてもよい。上記に議論されるように、３次元仮想コンテンツ１８０の再配向はまた、コンテンツのサイズ変更を可能にし得る。しかしながら、コンテンツはまた、ユーザが環境内で移動するにつれて、マッピングされた表面１８２に対して法線の軸を中心としてのみ再配向するように現れるように、同一サイズのままであってもよい。
【００９２】
図２１、２２、および２３を参照すると、垂直表面１９８上での仮想コンテンツ１９６再配向の実施例が、示される。図２１では、ユーザ６０は、環境内で垂直に配向される垂直表面１９８上の仮想コンテンツ１９６を視認しているように示される。仮想コンテンツ１９６は、コンテンツ右配向ベクトル２００およびコンテンツ直立配向ベクトル２０２のうちの少なくとも１つを有し得、これは、それぞれ、デバイス右ベクトル６４およびデバイス直立ベクトル６７に対する整合を測定するために使用され得る。図２１では、コンテンツ配向ベクトル（２００、２０２）のうちの１つと対応するデバイス配向ベクトル（６４、６７）との間の整合は、約１のドット積値をもたらす。上記に議論されるように、１により近いドット積値は、比較されている２つのベクトル間のより類似する整合を示す。
【００９３】
ユーザ６０が、例えば、図２２に示されるように、仮想コンテンツ１９６の再配向を伴わずに、長椅子上に横たわることによって、位置を変化させようとする場合、コンテンツ配向ベクトル（２００、２０２）と対応するデバイス配向ベクトル（６４、６７）との間の整合は、約ゼロであって、図２１に示される整合ほど最適ではないユーザ６０と仮想コンテンツ１９６との間の整合を示し得る。ゼロのドット積関係が、仮想コンテンツ／ユーザの相対的配向に関して要求されるドット積関係未満である場合、仮想コンテンツ１９６は、ドット積関係が所定の閾値内であるように、図２３に示されるように、新しい配向に再レンダリングされてもよい。いくつかの実施形態では、仮想コンテンツ１９６を新しい配向に再レンダリングするステップは、コンテンツ配向ベクトル（２００、２０２）と対応するデバイス配向ベクトル（６４、６７）との間の最適ドット積関係を再確立し得る。
【００９４】
図２４は、その中で、機械に本明細書で議論される方法論のうちの任意の１つ以上のものを実施させるための命令のセットが、実行され得る、コンピュータシステム９００の例示的形態における、機械の概略表現を示す。代替実施形態では、機械は、独立型デバイスとして動作する、または他の機械に接続（例えば、ネットワーク化）されてもよい。さらに、単一機械のみが、図示されるが、用語「機械」はまた、個々に、またはともに、本明細書で議論される方法論のうちの任意の１つ以上のものを実施するための命令のセット（または複数のセット）を実行する、機械の任意の集合を含むものと捉えられるものとする。
【００９５】
例示的コンピュータシステム９００は、プロセッサ９０２（例えば、中央処理ユニット（ＣＰＵ）、グラフィック処理ユニット（ＧＰＵ）、または両方）と、メインメモリ９０４（例えば、読取専用メモリ（ＲＯＭ）、フラッシュメモリ、同期ＤＲＡＭ（ＳＤＲＡＭ）またはＲａｍｂｕｓ  ＤＲＡＭ（ＲＤＲＡＭ）等の動的ランダムアクセスメモリ（ＤＲＡＭ）等）と、静的メモリ９０６（例えば、フラッシュメモリ、静的ランダムアクセスメモリ（ＳＲＡＭ）等）とを含み、これらは、バス９０８を介して相互に通信する。
【００９６】
コンピュータシステム９００はさらに、ディスクドライブユニット９１６と、ネットワークインターフェースデバイス９２０とを含んでもよい。
【００９７】
ディスクドライブユニット９１６は、その上に、本明細書に説明される方法論または機能のうちの任意の１つ以上のものを具現化する、１つ以上の命令９２４のセット（例えば、ソフトウェア）が記憶される、機械可読媒体９２２を含む。ソフトウェアはまた、完全または少なくとも部分的に、コンピュータシステム９００によるその実行の間、メインメモリ９０４および／またはプロセッサ９０２内に常駐してもよく、メインメモリ９０４およびプロセッサ９０２もまた、機械可読媒体を構成する。
【００９８】
ソフトウェアはさらに、ネットワーク９２８を経由して、ネットワークインターフェースデバイス９２０を介して伝送または受信されてもよい。
【００９９】
機械可読媒体９２４は、例示的実施形態では、単一媒体であるように示されるが、用語「機械可読媒体」は、１つ以上の命令のセットを記憶する、単一媒体または複数の媒体（例えば、集中型または分散型データベースおよび／または関連付けられるキャッシュおよびサーバ）を含むものと捉えられるべきである。用語「機械可読媒体」はまた、機械による実行のための命令のセットを記憶、エンコーディング、または搬送することが可能であって、機械に本発明の方法論のうちの任意の１つ以上のものを実施させる、任意の媒体を含むものと捉えられるものとする。用語「機械可読媒体」は、故に、限定ではないが、ソリッドステートメモリ、光学および磁気媒体、および搬送波信号を含むものと捉えられるものとする。
【０１００】
ある例示的実施形態が、説明され、付随の図面に示されたが、そのような実施形態は、単に、本発明の例証であって、制限ではなく、本発明は、修正が当業者に想起され得るため、図示および説明される具体的構造および配列に制限されないことを理解されたい。
【図１Ａ】
2021527252.tif 000003
【図１Ｂ】
2021527252.tif 000004
【図２】
2021527252.tif 000005
【図３】
2021527252.tif 000006
【図４】
2021527252.tif 000007
【図５】
2021527252.tif 000008
【図６】
2021527252.tif 000009
【図７】
2021527252.tif 000010
【図８】
2021527252.tif 000011
【図９】
2021527252.tif 000012
【図１０】
2021527252.tif 000013
【図１１】
2021527252.tif 000014
【図１２】
2021527252.tif 000015
【図１３】
2021527252.tif 000016
【図１４】
2021527252.tif 000017
【図１５】
2021527252.tif 000018
【図１６】
2021527252.tif 000019
【図１７】
2021527252.tif 000020
【図１８】
2021527252.tif 000021
【図１９】
2021527252.tif 000022
【図２０】
2021527252.tif 000023
【図２１】
2021527252.tif 000024
【図２２】
2021527252.tif 000025
【図２３】
2021527252.tif 000026
【図２４】
2021527252.tif 000027
【国際調査報告】
2021527252.tif 000028
2021527252.tif 000029
2021527252.tif 000030