(57)【要約】ＶＲおよび／またはＡＲシステム内で３Ｄビデオを表示するためのアプローチが、開示される。３Ｄビデオは、ディスプレイ画面から逃散する３Ｄ動画オブジェクトを含み得る。３Ｄビデオは、ＶＲおよび／またはＡＲ環境内のオブジェクトと相互作用し得る。３Ｄビデオは、３Ｄビデオのある部分においてユーザによって選出される決定に対応するユーザ入力に基づいて、異なる筋書き、および可能性として、異なる結末が、３Ｄビデオに関して結果として生じ得るように、ユーザと相互作用し得る。３Ｄビデオは、最終３Ｄレンダリング世界のポータル内で表示される３Ｄアイコンであり得る。
2021507408.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイ画面の表面を越えて延在する３Ｄビデオを表示する方法であって、前記方法は、
３Ｄビデオを識別することと、
前記３Ｄビデオに対応する１つ以上の３Ｄモデルを生成することと、
前記３Ｄビデオのレンダリングとともに、適切なトリガ時間に前記１つ以上の３Ｄモデルをレンダリングすることと
を含む、方法。
【請求項２】
前記３Ｄビデオは、立体３Ｄビデオである、請求項１に記載の方法。
【請求項３】
前記１つ以上の３Ｄモデルは、アニメーションを伴って生成される、請求項２に記載の方法。
【請求項４】
前記３Ｄビデオのディスプレイ画面の外側に前記１つ以上の３Ｄモデルのアニメーションを表示することをさらに含む、請求項３に記載の方法。
【請求項５】
前記１つ以上の３Ｄモデルのアニメーションは、前記３Ｄビデオの平面から出て、ユーザの３Ｄ環境の中に入るように見える、請求項４に記載の方法。
【請求項６】
前記１つ以上の３Ｄモデルのアニメーションは、前記３Ｄビデオの非平面から出て、ユーザの３Ｄ環境の中に入るように見える、請求項４に記載の方法。
【請求項７】
前記１つ以上の３Ｄモデルを１つ以上のビデオペイン上にレンダリングすることと、
１つ以上の視認配向のために同時に前記１つ以上のビデオペインを表示することと
をさらに含む、請求項１に記載の方法。
【請求項８】
前記立体３Ｄビデオは、前記１つ以上の３Ｄモデルを伴って表示される、請求項２に記載の方法。
【請求項９】
深度情報が、前記３Ｄビデオおよび前記１つ以上の３Ｄモデルのレンダリングの考慮に入れられ、前記深度情報は、仮想および／または拡張現実デバイスのユーザから前記３Ｄビデオまでの距離を備え、個別の１つ以上の３Ｄモデルは、仮想および／または拡張現実環境内に表示される、請求項１に記載の方法。
【請求項１０】
前記３Ｄビデオは、制御データを備え、前記制御データは、前記３Ｄビデオのレンダリングとともに、前記適切なトリガ時間に前記１つ以上の３Ｄモデルをレンダリングするようにビデオプレーヤに命令する、請求項１に記載の方法。
【請求項１１】
前記１つ以上の３Ｄモデルのレンダリングは、少なくとも部分的にボクセルベースのビデオストリームに基づく、請求項１に記載の方法。
【請求項１２】
請求項１−１１に記載の方法のうちのいずれかを実装するための手段を備えるディスプレイ画面の表面を越えて延在する３Ｄビデオを表示するためのディスプレイシステム。
【請求項１３】
ビデオファイルフォーマットであって、
１つ以上のアニメーションストリームと、
データ記憶と、
ビデオストリームまたはオーディオストリームのうちの少なくとも１つと
を備える、ビデオファイルフォーマット。
【請求項１４】
方法であって、
ビデオのビデオファイルを受信することであって、前記ビデオファイルは、
１つ以上のアニメーションストリームと、
制御データを備えるデータ記憶と、
ビデオストリームまたはオーディオストリームのうちの少なくとも１つと
を備える、ことと、
前記制御データおよびタイムラインコントローラから制御ストリームを動的に生成することと、
前記データ記憶から受信される３Ｄオブジェクトのモデルをロードすることと、
前記３Ｄオブジェクトを前記１つ以上のアニメーションストリームのうちのアニメーションストリームに添付することと
を含む、方法。
【請求項１５】
複合現実ビデオプレーヤを実装するコンピュータシステムであって、
プログラムコード命令のセットを実行するためのコンピュータプロセッサと、
前記プログラムコード命令を保持するためのメモリであって、前記プログラムコード命令は、
ビデオのビデオファイルを受信することであって、前記ビデオファイルは、
１つ以上のアニメーションストリームと、
制御データを備えるデータ記憶と、
ビデオストリームまたはオーディオストリームのうちの少なくとも１つと
を備える、ことと、
前記制御データおよびタイムラインコントローラから制御ストリームを動的に生成することと、
前記データ記憶から受信される３Ｄオブジェクトのモデルをロードすることと、
前記３Ｄオブジェクトを前記１つ以上のアニメーションストリームのうちのアニメーションストリームに添付することと
を実施するためのプログラムコードを備える、メモリと
を備える、コンピュータシステム。
【請求項１６】
方法であって、
ビデオのビデオファイルを受信することであって、前記ビデオファイルは、
１つ以上のアニメーションストリームと、
制御データを備えるデータ記憶と、
ビデオストリームまたはオーディオストリームのうちの少なくとも１つと
を備える、ことと、
前記制御データおよびタイムラインコントローラから制御ストリームを動的に生成することと、
前記ビデオのある時点で前記ユーザに表示される質問に回答するユーザ相互作用を要求することと、
前記ユーザ相互作用を介して前記質問への回答を受信することと、
タイムラインコントローラに前記回答を通知することと、
前記回答に対応する前記ビデオの適切な部分にスキップすることと、
前記適切な部分から前記ビデオを表示することと
を含む、方法。
【請求項１７】
複合現実ビデオプレーヤを実装するコンピュータシステムであって、
プログラムコード命令のセットを実行するためのコンピュータプロセッサと、
前記プログラムコード命令を保持するためのメモリであって、前記プログラムコード命令は、
ビデオのビデオファイルを受信することであって、前記ビデオファイルは、
１つ以上のアニメーションストリームと、
制御データを備えるデータ記憶と、
ビデオストリームまたはオーディオストリームのうちの少なくとも１つと、
を備える、ことと、
前記制御データおよびタイムラインコントローラから制御ストリームを動的に生成することと、
前記ビデオのある時点で前記ユーザに表示される質問に回答するユーザ相互作用を要求することと、
前記ユーザ相互作用を介して前記質問への回答を受信することと、
タイムラインコントローラに前記回答を通知することと、
前記回答に対応する前記ビデオの適切な部分にスキップすることと、
前記適切な部分から前記ビデオを表示することと
を実施するためのプログラムコードを備える、メモリと
を備える、コンピュータシステム。
【請求項１８】
仮想および／または拡張現実環境内で環境意識３Ｄビデオを表示する方法であって、前記方法は、
３Ｄビデオを識別することと、
１つ以上のセンサから、ユーザ環境の環境情報を受信することであって、前記環境情報は、前記環境内のオブジェクトを識別する、ことと、
前記環境から識別される１つ以上のオブジェクト上に前記３Ｄビデオの一部をレンダリングすることと
を含む、方法。
【請求項１９】
仮想および／または拡張現実ディスプレイシステムであって、
仮想および／または拡張現実環境を捕捉するためのカメラと、
データを処理するためのモジュールであって、前記モジュールは、メモリ内に記憶され、前記モジュールは、実行されると、
３Ｄビデオを識別するプロセスと、
１つ以上のセンサから、ユーザ環境の環境情報を受信するプロセスであって、前記環境情報は、前記環境内のオブジェクトを識別する、プロセスと、
前記環境から識別される１つ以上のオブジェクト上に前記３Ｄビデオの一部をレンダリングするプロセスと
を実施する、モジュールと
を備える、仮想および／または拡張現実ディスプレイシステム。
【請求項２０】
仮想および／または拡張現実環境内で双方向３Ｄビデオを表示する方法であって、前記方法は、
決定ノードによって周期的に割り込まれる非実行可能データのストリームとして、３Ｄビデオを識別することと、
前記ユーザによって選出される決定に対応する入力として、ユーザから１つ以上の相互作用を受信することと、
少なくとも前記ユーザによって選出される前記決定に基づいて、前記３Ｄビデオをレンダリングすることと
を含む、方法。
【請求項２１】
仮想および／または拡張現実ディスプレイシステムであって、
仮想および／または拡張現実環境を捕捉するためのカメラと、
データを処理するためのモジュールであって、前記モジュールは、メモリ内に記憶され、前記モジュールは、実行されると、
決定ノードによって周期的に割り込まれる非実行可能データのストリームとして、３Ｄビデオを識別するプロセスと、
前記ユーザによって選出される決定に対応する入力として、ユーザから１つ以上の相互作用を受信するプロセスと、
少なくとも前記ユーザによって選出される前記決定に基づいて、前記３Ｄビデオをレンダリングするプロセスと
を実施する、モジュールと
を備える、仮想および／または拡張現実ディスプレイシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、１人以上のユーザのための双方向仮想、拡張、または複合現実環境を促進するように構成される、システムおよび方法に関する。
【背景技術】
【０００２】
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」（ＶＲ）、「拡張現実」（ＡＲ）、または「複合現実」（ＭＲ）体験のためのシステムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える、またはそのように知覚され得る様式でユーザに提示される。ＶＲシナリオは、典型的には、他の実際の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴う一方で、ＡＲ／ＭＲシナリオは、典型的には、デジタルまたは仮想画像（例えば、仮想コンテンツ）が実際の世界の一部であるように見え得るように、ユーザの周囲の実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。複合現実は、複合現実シナリオが実際の世界およびデジタル世界の混合を有するため、拡張現実シナリオに類似し得る。ＡＲは、以降では、ＡＲおよびＭＲの両方を指し得る。
【０００３】
ＶＲ／ＡＲ環境では、表示される必要がある、あらゆる種類の仮想コンテンツが存在する。３Ｄビデオ等の仮想コンテンツが、ＶＲ／ＡＲ環境内で表示される必要があり得る。ＶＲ／ＡＲ環境では、ユーザは、ＶＲ／ＡＲ環境を自由に動き回り、表示されている３Ｄビデオを視認することが可能であり得る。３Ｄビデオをディスプレイ画面にレンダリングする現在の技法は、ＶＲ／ＡＲ環境内で表示されるときに、現実的に見えない場合がある。特に、これらの３Ｄビデオが、ユーザと相互作用可能であり得るときである。
【０００４】
したがって、ＶＲ／ＡＲ環境内でより現実的な様式で３Ｄビデオを生成および表示するためのアプローチの必要性がある。
【発明の概要】
【課題を解決するための手段】
【０００５】
いくつかの実施形態によると、一実施形態は、仮想および／または拡張現実環境内でディスプレイ画面の表面を越えて延在する３Ｄビデオを表示するための方法であって、３Ｄビデオを識別するステップを含む、方法を対象とする。加えて、３Ｄビデオに対応する１つ以上の３Ｄモデルを生成するステップと、３Ｄビデオのレンダリングとともに、適切なトリガ時間に１つ以上の３Ｄモデルをレンダリングするステップとを含む。
【０００６】
１つ以上の実施形態では、３Ｄビデオは、立体３Ｄビデオであり、１つ以上の３Ｄモデルは、アニメーションを伴って生成される。本方法はさらに、少なくとも部分的に３Ｄビデオのディスプレイ画面の外側に１つ以上の３Ｄモデルのアニメーションを表示するステップを含んでもよく、１つ以上の３Ｄモデルのアニメーションは、３Ｄビデオの平面から出て、ユーザの３Ｄ環境の中に入るように見える。１つ以上の３Ｄモデルのアニメーションは、３Ｄビデオの非平面から出て、ユーザの３Ｄ環境の中に入るように見え得る。本方法は、その上さらに、１つ以上の３Ｄモデルを１つ以上のビデオペイン上にレンダリングするステップと、１つ以上の視認配向のために同時に１つ以上のビデオペインを表示するステップとを含んでもよい。
【０００７】
１つ以上の実施形態では、立体３Ｄビデオは、１つ以上の３Ｄモデルを伴って表示され、深度情報は、仮想および／または拡張現実デバイスのユーザから３Ｄビデオまでの距離を備え、個別の１つ以上の３Ｄモデルは、仮想および／または拡張現実環境内に表示される。３Ｄビデオは、制御データを備える、ビデオファイルフォーマットを有してもよく、制御データは、３Ｄビデオのレンダリングとともに、適切なトリガ時間に１つ以上の３Ｄモデルをレンダリングするようにビデオプレーヤに命令する。１つ以上の３Ｄモデルのレンダリングは、少なくとも部分的にボクセルベースのビデオストリームに基づく。
【０００８】
いくつかの実施形態は、ディスプレイ画面の表面を越えて延在する３Ｄビデオを表示するためのディスプレイシステムを対象とし、本システムは、拡張現実頭部搭載型ディスプレイシステムと、データを処理するための１つ以上のモジュールとを含み、１つ以上のモジュールは、１つ以上のメモリ内に記憶され、１つ以上のモジュールは、３Ｄビデオを識別するステップを実施するように構成されてもよい。１つ以上のモジュールはまた、３Ｄビデオに対応する１つ以上の３Ｄモデルを生成するステップを実施するように構成されてもよい。１つ以上のモジュールはまた、３Ｄビデオのレンダリングとともに、適切なトリガ時間に１つ以上の３Ｄモデルをレンダリングするステップを実施するように構成されてもよい。
【０００９】
ディスプレイシステムの１つ以上の実施形態では、３Ｄビデオは、立体３Ｄビデオであり、１つ以上の３Ｄモデルは、アニメーションを伴って生成される。本方法はさらに、少なくとも部分的に３Ｄビデオのディスプレイ画面の外側に１つ以上の３Ｄモデルのアニメーションを表示するステップを含んでもよく、１つ以上の３Ｄモデルのアニメーションは、３Ｄビデオの平面から出て、ユーザの３Ｄ環境の中に入るように見える。１つ以上の３Ｄモデルのアニメーションは、３Ｄビデオの非平面から出て、ユーザの３Ｄ環境の中に入るように見え得る。本方法は、その上さらに、１つ以上の３Ｄモデルを１つ以上のビデオペイン上にレンダリングするステップと、１つ以上の視認配向のために同時に１つ以上のビデオペインを表示するステップとを含んでもよい。
【００１０】
いくつかの実施形態は、１つ以上のアニメーションストリームと、データ記憶と、ビデオストリームまたはオーディオストリームのうちの少なくとも１つとを含み得る、ビデオファイルフォーマットを対象とする。
【００１１】
一実施形態は、３Ｄレンダリング世界内のポータルであって、３Ｄレンダリング世界の平面内の開口部である、ポータルを識別するステップを含む、方法を対象とする。加えて、第１の２Ｄ立体画像および第２の２Ｄ立体画像が、３Ｄレンダリング世界のポータルの中にレンダリングされてもよい。
【００１２】
１つ以上の実施形態では、レンダリングされた３Ｄレンダリング世界は、拡張現実デバイスを通してユーザにレンダリングされてもよい。第１の２Ｄ立体画像は、右眼用であり、第２の２Ｄ立体画像は、左眼用である。一実施形態では、第１の２Ｄ立体画像および第２の２Ｄ立体画像は、従来的な３Ｄビデオ（例えば、３Ｄ映画）から供給される。異なる実施形態では、第１の２Ｄ立体画像および第２の２Ｄ立体画像は、３Ｄレンダリング世界の異なる部分内に位置する２つの仮想レンダリングカメラから供給される。
【００１３】
１つ以上の実施形態では、第１の２Ｄ立体画像および第２の２Ｄ立体画像は、実世界コンテンツを捕捉する２つのカメラから供給される。異なる実施形態では、第１の２Ｄ立体画像および第２の２Ｄ立体画像は、異なる３Ｄレンダリング世界から供給される。いくつかの実施形態では、ポータルは、ポータルアイコンとして、または仮想テレビ画面として表示されることができる。
【００１４】
別の実施形態は、仮想および／または拡張現実環境内で３Ｄビデオを表示するためのコンピュータ実装方法であって、３Ｄビデオを識別するステップを含む、方法を対象とする。本方法はまた、仮想および／または拡張現実環境の一部内で３Ｄビデオを表示するための体積空間を識別するステップも含む。そして、３Ｄメディアプレーヤによって、体積空間内で３Ｄビデオをレンダリングする。
【００１５】
１つ以上の実施形態では、３Ｄビデオは、立体３Ｄビデオである。体積空間は、３Ｄオブジェクトのポータルビューであり、３Ｄオブジェクトは、平面視認ディスプレイを有する、仮想テレビである。３Ｄビデオは、仮想テレビの平面視認ディスプレイ内でレンダリングされる。３Ｄビデオからの第１の深度情報が、仮想および／または拡張環境体積空間の一部の第１の場所から、３Ｄビデオを視認するユーザの第２の場所までの第２の深度情報に追加される。
【００１６】
別の実施形態は、仮想および／または拡張現実環境内の体積空間の一部内で表示するようにレンダリングされ得る、３Ｄビデオを対象とする。３Ｄビデオは、画面から逃散する３Ｄオブジェクトを含んでもよい。３Ｄビデオは、仮想および／または拡張現実環境と相互作用してもよい。３Ｄビデオは、筋書きに影響を及ぼし得るユーザ入力に基づいて、異なる筋書きの結末が、３Ｄビデオに関して結果として生じ得るように、ユーザと相互作用し得る。
【００１７】
別の実施形態は、３Ｄ環境内に２つの第１段階カメラを設置するステップを含む、方法を対象とする。加えて、本方法は、２つの第１段階カメラから１つ以上の対の２Ｄ画像を捕捉するステップを含んでもよい。さらに、本方法は、１つ以上の対の２Ｄ画像を、最終段階場面（時として、代替として最終３Ｄレンダリング世界と呼ばれる）内の場所の中に設置するステップを含んでもよい。そして、本方法は、２つの最終段階カメラから最終段階場面をレンダリングするステップを含んでもよい。
【００１８】
１つ以上の実施形態では、本方法はまた、仮想および／または拡張現実デバイスを介して最終段階場面を表示するステップを含んでもよい。表示場所は、ポータルであってもよい。２つの第１段階カメラのうちの第１のカメラは、左眼の視点から２Ｄ画像を捕捉し、２つの第１段階カメラのうちの第２のカメラは、右眼の視点から２Ｄ画像を捕捉する。１つ以上の他の対の２つの２Ｄ画像が、ユーザの両眼に対応する、２つの最終段階カメラから捕捉されてもよい。
【００１９】
１つ以上の実施形態では、２つの第１段階カメラは、最終段階の２つのレンダリングカメラと異なる３Ｄ環境の場所にある。２つの第１段階カメラは、仮想カメラであってもよく、３Ｄ環境は、３Ｄ仮想世界であってもよい。３Ｄ環境は、実際の世界のデジタル表現であってもよい。
【００２０】
別の実施形態は、第１のソースからの第１の３Ｄコンテンツを第２のソースからの第２の３Ｄコンテンツの中に設置するステップを含む、方法を対象とする。１つ以上の実施形態では、本方法はまた、仮想および／または拡張現実デバイスを介して、第２の３Ｄコンテンツを表示するステップを含んでもよい。第１の３Ｄコンテンツは、第２の３Ｄコンテンツ内のポータルの中に設置されてもよい。第１のソースの第１のカメラは、左眼の視点から２Ｄ画像を捕捉し、第１のソースの第２のカメラは、右眼の視点から２Ｄ画像を捕捉する。
【００２１】
１つ以上の実施形態では、別の一対の２つの２Ｄ画像が、第２のソースからの２つの他のカメラから捕捉され、一対の２つの２Ｄ画像は、第２のソースからの場面を視認するユーザの両眼に対応する。第１のソースからの２つのカメラは、第２のソースからの２つの他のカメラと異なる３Ｄ環境の場所にある。第１の３Ｄコンテンツは、２つの仮想カメラから捕捉されてもよく、第１のソースは、３Ｄ仮想世界であってもよい。いくつかの実施形態では、第１のソースは、実際の世界であってもよい。
【００２２】
別の実施形態は、立体画像の第２のセットの内側に立体画像の第１のセットを設置するステップを含む、方法を対象とする。１つ以上の実施形態では、本方法はまた、仮想および／または拡張現実デバイスを介して立体画像の第２のセットを表示するステップを含んでもよい。立体画像の第１のセットは、立体画像の第２のセット内のポータルの中に設置される。立体画像の第１のセットは、左眼の視点から２Ｄ画像を捕捉し得る第１のカメラ、および右眼の視点から２Ｄ画像を捕捉し得る第２のカメラによって、捕捉される。
【００２３】
１つ以上の実施形態では、立体画像の第２のセットは、２つの他のカメラによって捕捉され、２つの他のカメラは、立体画像の第２のセットを捕捉し、２つの他のカメラは、ポータル内で立体画像の第１のセットを示す場面を視認するユーザの両眼に対応し得る。立体画像の第１のセットは、立体画像の第２のセットを捕捉する２つの他のカメラと異なる場所から、２つのカメラから捕捉されてもよい。立体画像の第１のセットは、３Ｄ仮想世界で２つの仮想カメラから捕捉されてもよい。立体画像の第１のセットは、実際の世界で２つのカメラから捕捉されてもよい。
【００２４】
いくつかの実施形態は、２つの入力画像を識別するステップを含む、方法を対象とし、１つの入力画像は、左眼の視点に対応し得、第２の入力画像は、右眼の視点に対応し得る。加えて、本方法はまた、２つの入力画像を最終３Ｄレンダリング世界内の規定場所の中に設置するステップを含んでもよい。１つ以上の実施形態では、本方法はまた、仮想および／または拡張現実デバイスを介して、最終３Ｄレンダリング世界を表示するステップを含んでもよい。規定場所は、最終３Ｄレンダリング世界内のポータルであってもよい。２つの入力画像は、左眼の視点から２Ｄ画像を捕捉する第１のカメラ、および右眼の視点から２Ｄ画像を捕捉する第２のカメラによって、捕捉されてもよい。
【００２５】
１つ以上の実施形態では、最終３Ｄレンダリング世界は、２つの他のカメラによって捕捉されてもよく、２つの他のカメラは、最終３Ｄレンダリング世界を捕捉し、２つの他のカメラは、ポータル内で２つの入力画像を示す場面を視認するユーザの両眼に対応する。２つの入力画像は、最終３Ｄレンダリング世界を捕捉する２つの他のカメラと異なる場所から、２つのカメラから捕捉されてもよい。２つの入力画像は、３Ｄ仮想世界で２つの仮想カメラから捕捉されてもよい。２つの入力画像は、実際の世界で２つのカメラから捕捉されてもよい。
【００２６】
いくつかの実施形態は、３Ｄデータ入力を識別するステップを含む、方法を対象とする。さらに、本方法はまた、３Ｄデータ入力を仮想最終３Ｄレンダリング世界内の場所の中に設置するステップを含んでもよい。１つ以上の実施形態では、本方法はまた、仮想および／または拡張現実デバイスを介して、仮想最終３Ｄレンダリング世界を表示するステップを含んでもよい。場所は、仮想最終３Ｄレンダリング世界内のポータルであってもよい。３Ｄデータ入力は、左眼の視点から２Ｄ画像を捕捉する第１のカメラ、および右眼の視点から２Ｄ画像を捕捉し得る第２のカメラによって、捕捉されてもよい。
【００２７】
１つ以上の実施形態では、仮想最終３Ｄレンダリング世界は、２つの他のカメラによって捕捉されてもよく、２つの他のカメラは、仮想最終３Ｄレンダリング世界を捕捉し、２つの他のカメラは、ポータル内で３Ｄデータ入力を示す場面を視認するユーザの両眼に対応する。３Ｄデータ入力は、仮想最終３Ｄレンダリング世界を捕捉する２つの他のカメラと異なる場所から、２つのカメラから捕捉されてもよい。３Ｄデータ入力は、３Ｄ仮想世界で２つの仮想カメラから捕捉されてもよい。３Ｄデータ入力は、実際の世界で２つのカメラから捕捉されてもよい。
【００２８】
いくつかの実施形態は、ビデオファイルフォーマットを対象とし、ビデオファイルフォーマットは、１つ以上のアニメーションストリームと、データ記憶と、ビデオストリームまたはオーディオストリームのうちの少なくとも１つとを含んでもよい。１つ以上の実施形態では、データ記憶は、１つ以上の制御データと、１つ以上の３Ｄモデルと、１つ以上のテクスチャと、１つ以上の材料とを含んでもよい。制御データは、ビデオファイルフォーマットを読み取るアプリケーションが最初にアクセスされるときに、メモリの中に完全にロードされてもよい。制御ストリームは、制御データがメモリの中に完全にロードされるときに、データ記憶からの１つ以上の制御データからメモリの中に事前ロードされてもよい。制御ストリームは、ビデオストリームまたはオーディオストリームよりも先のタイムラインに対応する時間が見えるように構成されてもよい。
【００２９】
１つ以上の実施形態では、制御ストリームは、コマンドおよび／または単純な論理ゲートを備え、ビデオのタイムライン内の適切な時間に再生するためのモデルおよびアニメーションの組み合わせを決定してもよい。ビデオのタイムライン内の適切な時間は、ビデオストリームおよびオーディオストリームの対応する時間と対応する。制御ストリームは、キーフレームを備える。アニメーションストリーム、ビデオストリーム、およびオーディオストリームは、１つのキーフレームの先および後が見えるように構成されてもよい。１つ以上のアニメーションストリームは、１つ以上の３Ｄモデルに関連付けられるアニメーション命令に対応し得る。１つ以上のアニメーションストリームのうちの各アニメーションストリームは、データ記憶の３Ｄモデル、テクスチャ、または材料のうちの少なくとも１つに対応し得る。
【００３０】
いくつかの実施形態は、ビデオのビデオファイルを受信するステップを含む、方法を対象とし、ビデオファイルは、１つ以上のアニメーションストリームと、制御データを備える、データ記憶と、ビデオストリームまたはオーディオストリームのうちの少なくとも１つとを含んでもよい。本方法はまた、制御データおよびタイムラインコントローラから制御ストリームを動的に生成するステップを含んでもよい。加えて、本方法はまた、データ記憶から受信される３Ｄオブジェクトのモデルをロードするステップを含んでもよい。本方法はまた、３Ｄオブジェクトを１つ以上のアニメーションストリームのうちのアニメーションストリームに添付するステップを含んでもよい。
【００３１】
１つ以上の実施形態では、１つ以上のアニメーションストリームは、データ記憶内に記憶された個別の３Ｄモデルに対応する。１つ以上のアニメーションストリームは、ビデオに対する３Ｄオブジェクトの移動、配向、および／または位置を制御してもよい。３Ｄオブジェクトのモデルは、少なくとも部分的に、ビデオストリームの時間の先を見越して、３Ｄオブジェクトが表示される必要があるときを予想する、制御ストリームに基づいて、ロードされてもよい。
【００３２】
１つ以上の実施形態では、本方法はまた、少なくとも、モデルのサイズ、ネットワーク帯域幅、またはユーザの仮想および／または拡張現実システムの処理能力のうちの１つに基づいて、モデルをロードするためのリード時間を決定するステップを含んでもよい。加えて、本方法はまた、仮想および／または拡張現実デバイスを介して、ビデオを表示するステップを含んでもよい。データ記憶は、ビデオファイルが受信されるときに、メモリの中に完全にロードされてもよい。制御ストリームは、制御ストリームが生成されるときに、メモリの中に完全にロードされてもよい。ビデオは、立体３Ｄビデオであってもよい。
【００３３】
いくつかの実施形態は、プログラムコード命令のセットを実行するためのコンピュータプロセッサと、プログラムコード命令を保持するためのメモリとを含む、複合現実ビデオプレーヤを実装するコンピュータシステムを対象とし、プログラムコード命令は、ビデオのビデオファイルを受信するステップを実施するためのプログラムコードを含んでもよく、ビデオファイルは、１つ以上のアニメーションストリームと、制御データを備える、データ記憶と、ビデオストリームまたはオーディオストリームのうちの少なくとも１つとを含んでもよい。プログラムコード命令はまた、制御データおよびタイムラインコントローラから制御ストリームを動的に生成するステップを実施するためのプログラムコードを含んでもよい。プログラムコード命令はさらに、データ記憶から受信される３Ｄオブジェクトのモデルをロードするステップを実施するためのプログラムコードを含んでもよい。プログラムコード命令はまた、３Ｄオブジェクトを１つ以上のアニメーションストリームのうちのアニメーションストリームに添付するステップを実施するためのプログラムコードを含んでもよい。
【００３４】
別の実施形態は、ビデオのビデオファイルを受信するステップを含む、方法を対象とし、ビデオファイルは、１つ以上のアニメーションストリームと、制御データを備える、データ記憶と、ビデオストリームまたはオーディオストリームのうちの少なくとも１つとを含んでもよい。本方法はまた、制御データおよびタイムラインコントローラから制御ストリームを動的に生成するステップを含んでもよい。加えて、本方法はまた、ビデオのある時点でユーザに表示される質問に回答する、ユーザ相互作用を要求するステップを含んでもよい。さらに、本方法はまた、ユーザ相互作用を介して質問への回答を受信するステップを含んでもよい。本方法はまた、タイムラインコントローラに回答を通知するステップを含んでもよい。その上さらに、本方法はまた、回答に対応するビデオの適切な部分にスキップするステップを含んでもよい。本方法はまた、適切な部分からビデオを表示するステップを含んでもよい。
【００３５】
１つ以上の実施形態では、本方法はまた、仮想および／または拡張現実デバイスを介して、ビデオを表示するステップを含んでもよい。データ記憶は、ビデオファイルが受信されるときに、メモリの中に完全にロードされてもよい。制御ストリームは、制御ストリームが生成されるときに、メモリの中に完全にロードされてもよい。ビデオは、立体３Ｄビデオであってもよい。制御ストリームは、少なくとも部分的にデータ記憶からのデータに基づいて、ビデオの具体的時点において質問をユーザに表示するときを制御してもよい。
【００３６】
１つ以上の実施形態では、ユーザ相互作用は、頭部姿勢、視標追跡、視線、ユーザの手のジェスチャ、トーテムジェスチャ、またはオブジェクト認識装置のうちの少なくとも１つを含む。タイムラインコントローラは、ビデオストリームの位置を制御する。本方法はまた、少なくとも部分的に受信される回答に基づいて、実行時双方向性データを伴ってビデオの状態を記憶するステップを含んでもよい。ユーザに表示される質問は、ビデオの筋書きが終了し得る方法を変更する質問に対応する。
【００３７】
いくつかの実施形態は、プログラムコード命令のセットを実行するためのコンピュータプロセッサと、プログラムコード命令を保持するためのメモリとを含む、複合現実ビデオプレーヤを実装するコンピュータシステムを対象とし、プログラムコード命令は、ビデオのビデオファイルを受信するステップを実施するためのプログラムコードを含み、ビデオファイルは、１つ以上のアニメーションストリームと、制御データを備える、データ記憶と、ビデオストリームまたはオーディオストリームのうちの少なくとも１つとを含む。プログラムコード命令はまた、制御データおよびタイムラインコントローラから制御ストリームを動的に生成するステップ、ビデオのある時点でユーザに表示される質問に回答する、ユーザ相互作用を要求するステップ、ユーザ相互作用を介して質問への回答を受信するステップと、タイムラインコントローラに回答を通知するステップ、回答に対応するビデオの適切な部分にスキップするステップ、および適切な部分からビデオを表示するステップを実施するためのプログラムコードを含んでもよい。
【００３８】
１つ以上の実施形態では、プログラムコード命令はまた、仮想および／または拡張現実デバイスを介して、ビデオを表示するステップを実施するためのプログラムコードを含んでもよい。データ記憶は、ビデオファイルが受信されるときに、メモリの中に完全にロードされてもよい。制御ストリームは、制御ストリームが生成されるときに、メモリの中に完全にロードされてもよい。ビデオは、立体３Ｄビデオであってもよい。制御ストリームは、少なくとも部分的にデータ記憶からのデータに基づいて、ビデオの具体的時点において質問をユーザに表示するときを制御してもよい。
【００３９】
１つ以上の実施形態では、ユーザ相互作用は、頭部姿勢、視標追跡、視線、ユーザの手のジェスチャ、トーテムジェスチャ、またはオブジェクト認識装置のうちの少なくとも１つを含む。タイムラインコントローラは、ビデオストリームの位置を制御する。本方法はまた、少なくとも部分的に受信される回答に基づいて、実行時双方向性データを伴ってビデオの状態を記憶するステップを含んでもよい。ユーザに表示される質問は、ビデオの筋書きが終了し得る方法を変更する質問に対応する。
【００４０】
別の実施形態は、仮想および／または拡張現実環境内で環境意識３Ｄビデオを表示するための方法であって、３Ｄビデオを識別するステップを含む、方法を対象とする。本方法はまた、１つ以上のセンサから、ユーザ環境の環境情報を受信するステップであって、環境情報は、環境内のオブジェクトを識別する、ステップも含む。本方法はさらに、環境から識別される１つ以上のオブジェクト上に３Ｄビデオの一部をレンダリングするステップを含んでもよい。
【００４１】
１つ以上の実施形態では、３Ｄビデオは、立体３Ｄビデオである。環境は、ユーザの物理的環境であってもよい。１つ以上のセンサは、物理的環境の場面情報を捕捉するための１つ以上のカメラを備える。本方法はさらに、１つ以上のセンサから捕捉される場面情報を解釈するステップと、環境から１つ以上の要素を検出および登録することによって、環境の１つ以上の要素をマッピングするステップとを含む。３Ｄビデオは、制御データを備える、ビデオファイルフォーマットを有し、制御データは、環境から識別される１つ以上のオブジェクト上に３Ｄビデオの一部を表示するようにビデオプレーヤに命令する。
【００４２】
いくつかの実施形態は、仮想および／または拡張現実環境を捕捉するためのカメラと、データを処理するためのモジュールとを含む、仮想および／または拡張現実ディスプレイシステムを対象とし、モジュールは、メモリ内に記憶され、モジュールは、実行されると、３Ｄビデオを識別するプロセスと、１つ以上のセンサから、ユーザ環境の環境情報を受信するプロセスであって、環境情報は、環境内のオブジェクトを識別する、プロセスと、環境から識別される１つ以上のオブジェクト上に３Ｄビデオの一部をレンダリングするプロセスとを実施する。
【００４３】
１つ以上の実施形態では、３Ｄビデオは、立体３Ｄビデオである。環境は、ユーザの物理的環境であってもよい。１つ以上のセンサは、物理的環境の場面情報を捕捉するための１つ以上のカメラを備える。本方法はさらに、１つ以上のセンサから捕捉される場面情報を解釈するステップと、環境から１つ以上の要素を検出および登録することによって、環境の１つ以上の要素をマッピングするステップとを含む。３Ｄビデオは、制御データを備える、ビデオファイルフォーマットを有し、制御データは、環境から識別される１つ以上のオブジェクト上に３Ｄビデオの一部を表示するようにビデオプレーヤに命令する。
【００４４】
いくつかの実施形態は、仮想および／または拡張現実環境内で双方向３Ｄビデオを表示するための方法を対象とし、本方法は、決定ノードによって周期的に割り込まれる非実行可能データのストリームとして、３Ｄビデオを識別するステップを含む。さらに、本方法は、ユーザによって選出される決定に対応する入力として、ユーザから１つ以上の相互作用を受信するステップを含む。本方法はまた、少なくともユーザによって選出される決定に基づいて、３Ｄビデオをレンダリングするステップを含んでもよい。
【００４５】
１つ以上の実施形態では、３Ｄビデオは、立体３Ｄビデオである。３Ｄビデオは、制御データを備える、ビデオファイルフォーマットを有してもよく、制御データは、少なくとも部分的にユーザによって選出される決定に基づいて、３Ｄビデオの一部をレンダリングするようにビデオプレーヤに命令する。ユーザから受信される１つ以上の相互作用は、頭部姿勢、視標追跡、ジェスチャ、トーテムジェスチャ、またはオブジェクト認識装置のうちの少なくとも１つを含む。ユーザから受信される１つ以上の相互作用からの相互作用は、３Ｄビデオを３Ｄビデオの異なる部分にジャンプさせる。
【００４６】
いくつかの実施形態は、仮想および／または拡張現実環境を捕捉するためのカメラと、データを処理するためのモジュールとを含む、仮想および／または拡張現実ディスプレイシステムを対象とし、モジュールは、メモリ内に記憶され、モジュールは、実行されると、決定ノードによって周期的に割り込まれる非実行可能データのストリームとして、３Ｄビデオを識別するプロセスと、ユーザによって選出される決定に対応する入力として、ユーザから１つ以上の相互作用を受信するプロセスと、少なくともユーザによって選出される決定に基づいて、３Ｄビデオをレンダリングするプロセスとを実施する。
【００４７】
１つ以上の実施形態では、３Ｄビデオは、立体３Ｄビデオである。３Ｄビデオは、制御データを備える、ビデオファイルフォーマットを有してもよく、制御データは、少なくとも部分的にユーザによって選出される決定に基づいて、３Ｄビデオの一部をレンダリングするようにビデオプレーヤに命令する。ユーザから受信される１つ以上の相互作用は、頭部姿勢、視標追跡、ジェスチャ、トーテムジェスチャ、またはオブジェクト認識装置のうちの少なくとも１つを含む。ユーザから受信される１つ以上の相互作用からの相互作用は、３Ｄビデオを３Ｄビデオの異なる部分にジャンプさせる。
【００４８】
いくつかの実施形態は、３Ｄオブジェクトを表示するための方法を対象とし、本方法は、データベース内に３Ｄオブジェクトを表すグラフィカルデータを記憶するステップを含んでもよい。本方法はさらに、２Ｄ不透明ペインの背後に位置する３Ｄオブジェクトを視認するための視認開口を備える、２Ｄ不透明ペインを表示するステップと、第１の視点から視認開口を通して視認可能な３Ｄオブジェクトの第１の部分をレンダリングするステップと、第２の視認視点から視認開口を通して視認可能な３Ｄオブジェクトを表示する要求を受信するステップと、第２の視点から視認開口を通して視認可能な３Ｄオブジェクトの第２の部分をレンダリングするステップと、第２の視点から３Ｄオブジェクトの第２の部分を表示するステップとを含んでもよい。
【００４９】
１つ以上の実施形態では、３Ｄオブジェクトを表すグラフィカルデータは、３Ｄオブジェクト全体の完全な表現である。３Ｄオブジェクトの第１の部分のレンダリングは、少なくとも部分的に、第１の視点からの３Ｄオブジェクトの視野に対する視野角に基づいてもよい。３Ｄオブジェクトの第２の部分のレンダリングは、少なくとも部分的に、第２の視点からの３Ｄオブジェクトの視野に対する視野角に基づいてもよい。不透明ペインはさらに、２Ｄ不透明ペインの背後に位置する複数の３Ｄオブジェクトを視認するための複数の視認開口を備えてもよい。
【００５０】
１つ以上の実施形態では、複数の３Ｄオブジェクトのうちの各３Ｄオブジェクトは、個別の視認開口の背後に位置する。３Ｄオブジェクトは、３Ｄアイコンであってもよい。視認開口を備える２Ｄ不透明ペインは、複数の３Ｄアイコンを表示するためのアイコングリッドであってもよい。３Ｄオブジェクトは、ユーザが３Ｄオブジェクトを凝視するにつれて、視認開口を通して移動してもよい。３Ｄオブジェクトは、ユーザが３Ｄオブジェクトに合焦していないときに、２Ｄ画像として表示されてもよい。
【００５１】
本開示の付加的および他の目的、特徴、および利点が、発明を実施するための形態、図面、および請求項に説明される。
【図面の簡単な説明】
【００５２】
図面は、類似要素が共通の参照番号によって参照される、本開示の好ましい実施形態の設計および有用性を図示する。本開示の前述および他の利点および目的が取得される方法をより深く理解するために、上記に手短に説明される本開示のより具体的な説明が、付随する図面に図示される、その具体的実施形態を参照することによって与えられるであろう。これらの図面が、本開示の典型的実施形態のみを描写し、したがって、その範囲の限定と見なされるものではないことを理解して、本開示は、付随する図面の使用を通して、付加的特殊性および詳細を伴って説明かつ解説されるであろう。
【００５３】
図面は、同様の参照番号を使用し、同様の要素を識別する。「１２０ａ」等の参照番号の後の文字は、テキストが、その特定の参照番号を有する要素を具体的に参照することを示す。「１２０」等の後に続く文字がないテキスト内の参照番号は、その参照番号を持つ図面内の要素のうちのいずれかまたは全てを指す（例えば、テキスト内の「１２０」は、図面内の参照番号「１２０ａ」および／または「１２０ｂ」を指す）。
【００５４】
【図１】図１は、いくつかの実施形態による、ＡＲ環境内で３Ｄビデオを表示するための例示的ユーザ物理的環境および拡張現実システムを示す。
【００５５】
【図２】図２は、いくつかの実施形態による、拡張現実システム内で３Ｄビデオを表示するためのアプローチのためのフローチャートを示す。
【００５６】
【図３Ａ】図３Ａ−３Ｂは、いくつかの実施形態による、画面から逃散する３Ｄ画像および／または３Ｄアニメーションの実施例を示す。
【図３Ｂ】図３Ａ−３Ｂは、いくつかの実施形態による、画面から逃散する３Ｄ画像および／または３Ｄアニメーションの実施例を示す。
【００５７】
【図４】図４は、いくつかの実施形態による、仮想および／または拡張現実環境内でディスプレイ画面の表面を越えて延在する３Ｄビデオを表示するためのアプローチのためのフローチャートを示す。
【００５８】
【図５】図５は、いくつかの実施形態による、仮想および／または拡張現実環境内で環境意識３Ｄビデオを表示するためのアプローチのためのフローチャートを示す。
【００５９】
【図６】図６は、いくつかの実施形態による、仮想および／または拡張現実環境内で双方向３Ｄビデオを表示するためのフローチャートを示す。
【００６０】
【図７】図７は、いくつかの実施形態による、３Ｄビデオを表示するためのビデオフォーマットを示す。
【００６１】
【図８】図８は、いくつかの実施形態による、ビデオプレーヤのコンポーネント図を示す。
【００６２】
【図９】図９は、いくつかの実施形態による、ビデオフォーマットを処理するビデオプレーヤのフローを示す。
【００６３】
【図１０】図１０は、本開示の実施形態のうちの１つ以上のものを実装するために好適な例証的コンピューティングシステムのブロック図である。
【発明を実施するための形態】
【００６４】
本開示は、ＶＲ、ＭＲ、および／またはＡＲシステム内で３Ｄビデオを生成および表示することを対象とする。３Ｄビデオは、画面から逃散するように見える３Ｄオブジェクトを含んでもよい。３Ｄビデオは、仮想現実（ＶＲ）、複合現実（ＭＲ）、拡張現実（ＡＲ）、および／または実環境内のオブジェクトと相互作用してもよい。３Ｄビデオは、３Ｄビデオのある部分においてユーザによって選出される決定に対応するユーザ入力に基づいて、異なる筋書き、および可能性として、異なる結末が、３Ｄビデオに関して結果として生じ得るように、ユーザと相互作用し得る。３Ｄビデオは、最終３Ｄレンダリング世界のポータル内で表示される３Ｄアイコンであってもよい。
【００６５】
本開示は、それを用いて本開示のいくつかの実施形態が実践され得る、例証的拡張現実（ＡＲ）システムの説明を提供し、その後に、例証的ＡＲシステム内で３Ｄビデオを生成および表示するためのプロセスおよび機構の１つ以上の実施形態が続く。
（例証的拡張現実システムおよび環境）
【００６６】
続く説明は、それを用いて本開示が実践され得る、例証的ＡＲシステムに関する。しかしながら、本開示はまた、ＡＲ、ＭＲ、および仮想現実（ＶＲ）システムの他のタイプにおける用途にも適しており、したがって、本開示は、本明細書に開示される例証的システムにのみ限定されるものではないことを理解されたい。
【００６７】
図１を参照すると、本開示に従って構築される、ＡＲシステム１００の一実施形態が、説明される。ＡＲシステム１００は、エンドユーザ５０（以降、「ユーザ５０」と称される）の視野内に３Ｄビデオを提供し得る、ＡＲ投影サブシステム１１０と併せて動作されてもよい。本アプローチは、それを通して、ユーザの物理的環境／景観１０５等の周囲環境が見られ、仮想コンテンツ（例えば、３Ｄビデオ、仮想オブジェクト等）の画像を用いて拡張され得る、少なくとも部分的に透明の表面を含み得る、１つ以上のアイピースを採用する。
【００６８】
ＡＲシステム１００は、ユーザ５０によって装着される、フレーム構造１０２と、ディスプレイシステム１０４がユーザ５０の眼の正面に位置付けられるように、フレーム構造１０２によって担持される、ディスプレイシステム１０４とを含む。
【００６９】
ディスプレイシステム１０４は、ユーザ５０の眼に、２次元および３次元コンテンツの両方とともに、物理的現実への拡張として快適に知覚され得る、光ベースの放射パターンを提示するように構成される。ディスプレイシステム１０４は、実際および仮想のコンテンツを混ぜる単一コヒーレント場面の知覚を提供する高周波数で、フレームのシーケンスを提示する。この目的を達成するために、ディスプレイシステム１０４は、投影サブシステム１１０と、例えば、その上に、またはそれを通して投影サブシステム１１０が画像を投影する、部分的に透明な表面であり得る、眼鏡の中のアイピースとを含む。アイピースは、ユーザ５０の眼と周囲環境との間のユーザ５０の視野内に位置付けられる。いくつかの実施形態では、アイピースは、ディスプレイシステム１０４を装着している間に、ユーザ５０にユーザの実際の世界／周囲環境の少なくとも一部が見え得るように、完全に透明な表面、部分的に透明な表面、または半透明表面であってもよい。
【００７０】
いくつかの実施形態では、投影サブシステム１１０は、走査ベースの投影デバイスの形態をとってもよく、アイピースは、その中に投影サブシステム１１０から光が、投入され、例えば、無限遠（例えば、腕の長さ）より近い単一光学視認距離における画像、複数の光学視認距離または焦点面における画像、および／または複数の視認距離または焦点面にスタックされた画像層を生産し、立体３Ｄオブジェクトを表す、導波管ベースのディスプレイの形態をとってもよい。ライトフィールド内の層は、ヒト視覚系に連続的に見えるために十分にともに近接してスタックされ得る（例えば、１つの層は、隣接する層の乱信号円錐域内にある）。ライトフィールド内の層は、離散視認距離において深度平面を作成するように、所定の深度間隔でスタックされ、一度に１つ、または組み合わせて利用されてもよい。加えて、または代替として、写真要素は、２つ以上の層を横断して混成され、それらの層がより疎らにスタックされる場合（例えば、１つの層が、隣接する層の乱信号円錐域外にある）でも、ライトフィールド内の層間の遷移の知覚される連続性を増加させ得る。ディスプレイシステム１０４は、単眼または双眼であってもよい。走査アセンブリは、１つ以上の光線を生成する（例えば、定義されたパターンにおいて複数の色で発光する）、１つ以上の光源を含む。光源は、多種多様な形態のいずれか、例えば、それぞれ、ピクセル情報またはデータの個別のフレームに規定される定義されたピクセルパターンに従って、赤色、緑色、および青色のコヒーレントなコリメートされた光を生成するように動作可能である、ＲＧＢ源のセット（例えば、赤色、緑色、および青色光を出力することが可能なレーザダイオード）をとってもよい。レーザ光は、高色飽和を提供し、高度にエネルギー効率的である。いくつかの実施形態では、発光ダイオード（ＬＥＤ）が、使用されてもよく、光は、コリメートされなくてもよい。光学結合サブシステムは、例えば、１つ以上の反射性表面、回折格子、ミラー、ダイクロイックミラー、またはプリズム等の光学導波管入力装置を含み、光をアイピースの端部または縁または側面の中に光学的に結合する。光学結合サブシステムはさらに、光ファイバからの光をコリメートする、コリメーション要素を含んでもよい。
【００７１】
随意に、光学結合サブシステムは、コリメーション要素からの光を光学導波管入力装置の中心内の集光点に向かって収束させ、それによって、光学導波管入力装置のサイズが最小限にされることを可能にするために構成される、光学変調装置を含む。したがって、ディスプレイシステム１０４は、１つ以上の仮想オブジェクトの歪曲されていない画像をユーザに提示する、ピクセル情報の一連の合成画像フレームを生成する。ディスプレイサブシステムを説明するさらなる詳細は、「Ｄｉｓｐｌａｙ  Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ」と題された米国非仮特許出願第１４／２１２，９６１号、および「Ｐｌａｎａｒ  Ｗａｖｅｇｕｉｄｅ  Ａｐｐａｒａｔｕｓ  Ｗｉｔｈ  Ｄｉｆｆｒａｃｔｉｏｎ  Ｅｌｅｍｅｎｔ（ｓ）  ａｎｄ  Ｓｕｂｓｙｓｔｅｍ  Ｅｍｐｌｏｙｉｎｇ  Ｓａｍｅ」と題された米国特許第９，６７１，５６６号（参照することによって本明細書に明示的に組み込まれる）の中で提供される。
【００７２】
いくつかの実施形態では、投影サブシステム１１０は、シリコン上液晶（ＬＣｏＳまたはＬＣＯＳ）の形態をとってもよい。ＬＣＯＳは、シリコンバックプレーンの上に液晶層を使用する、小型化反射アクティブマトリクス液晶ディスプレイまたは「マイクロディスプレイ」であってもよい。ＬＣＯＳはまた、空間光変調器とも称され得る。ＬＣＯＳは、波長選択的切替、構造化照明、ニアアイディスプレイ、および／または光学パルス成形に使用されてもよい。ＬＣＯＳに関するさらなる情報は、「Ａｕｇｍｅｎｔｅｄ  ａｎｄ  ｖｉｒｔｕａｌ  ｒｅａｌｉｔｙ  ｅｙｅｗｅａｒ，  ｓｙｓｔｅｍｓ，  ａｎｄ  ｍｅｔｈｏｄｓ  ｆｏｒ  ｄｅｌｉｖｅｒｉｎｇ  ｐｏｌａｒｉｚｅｄ  ｌｉｇｈｔ  ａｎｄ  ｄｅｔｅｒｍｉｎｉｎｇ  ｇｌｕｃｏｓｅ  ｌｅｖｅｌｓ」と題された、米国特許出願第１５／８０７，４８６号（参照することによって本明細書に以前に組み込まれた）に開示される。
【００７３】
ＡＲシステム１００はさらに、ユーザ５０の頭部の位置および移動および／またはユーザ５０の眼位置および眼球間距離を検出するためにフレーム構造１０２に搭載される、１つ以上のセンサを含む。そのようなセンサは、画像捕捉デバイス、マイクロホン、慣性測定ユニット（ＩＭＵ）、加速度計、コンパス、ＧＰＳユニット、無線デバイス、および／またはジャイロスコープを含んでもよい。例えば、一実施形態では、ＡＲシステム１００は、１つ以上の慣性変換器を含み、ユーザ５０の移動頭部を示す慣性測定値を捕捉する、頭部装着型変換器サブシステムを含む。そのようなデバイスは、ユーザ５０の頭部移動についての情報を感知、測定、または収集するために使用されてもよい。例えば、これらのデバイスは、ユーザ５０の頭部の測定移動、速度、加速、および／または位置を検出するために使用されてもよい。いったんユーザの頭部の場所および／または位置が把握されると、複合現実エンジン１６６は、ユーザとユーザの環境内の実際および／または仮想オブジェクトとの間の距離を決定することが可能であり得る。距離は、種々の異なる方法を使用して決定されてもよい。いくつかの実施形態では、１つ以上の深度センサ、または他の環境感知センサ（例えば、外向きのカメラ）が、いくつかの実施形態では、世界メッシュと呼ばれ得る、実際の世界のデジタルレプリカを作成するために使用されてもよい。多種多様なデータが、世界メッシュと関連付けられ、したがって、事実上、パス可能世界と呼ばれ得る、環境意識システムを作成してもよい。例えば、世界メッシュと関連付けられるデータは、オブジェクトまたは表面の名称またはタイプ（例えば、水平面、テーブル、椅子、テレビ画面等）であってもよい。ユーザの位置は、パス可能世界と比較され、したがって、実際のオブジェクトと仮想オブジェクトとの間の距離が計算されることを可能にし得る。いくつかの実施形態では、パス可能世界は、３Ｄレンダリング世界の全てまたは一部に対応し得る。実世界環境の３Ｄメッシュ（例えば、世界メッシュ）を作成するための方法およびシステムを説明する、さらなる詳細は、「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｄｅｔｅｃｔｉｎｇ  ａｎｄ  Ｃｏｍｂｉｎｉｎｇ  Ｓｔｒｕｃｔｕｒａｌ  Ｆｅａｔｕｒｅｓ  ｉｎ  ３Ｄ  Ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ」と題された、米国非仮特許出願第１５／２７４，８２３号（その全体として参照することによって本明細書に明示的に組み込まれる）の中で提供される。いくつかの実施形態では、ユーザは、単純に、ユーザの環境を含む実際の世界または実際の世界の少なくともサブセットのデジタルモデルを必要とする。実際の世界のデジタルモデルは、深度センサ、パス可能世界システム（例えば、上記で説明されるような）、および／または保存されたマップを使用して、作成されてもよい。
【００７４】
ＡＲシステム１００はさらに、ユーザ配向検出モジュールを含んでもよい。ユーザ配向検出モジュールは、ユーザ５０の頭部の瞬間位置を検出し、センサから受信された位置データに基づいて、ユーザ５０の頭部の位置を予測してもよい。ユーザ配向検出モジュールまた、センサから受信された追跡データに基づいて、ユーザ５０の眼、特に、ユーザ５０が合焦する方向および／または距離を追跡する。
【００７５】
ＡＲシステム１００はまた、複合現実メディアプレーヤ１６４も含む。
複合現実メディアプレーヤ１６４は、３Ｄビデオデータベース１６０から複合現実ビデオフォーマット１６２を有するデータを選択し、読み出してもよい。複合現実メディアプレーヤ１６４は、複合現実ビデオフォーマット１６２を解釈し、解釈を複合現実エンジン１６６に提供し、ユーザ５０に表示されるように、少なくとも部分的にユーザの頭部姿勢に基づいてビデオの最終組成を提供してもよい。複合現実エンジン１６６は、ユーザの頭部姿勢に基づいて、場面の最終組成に使用され得るビデオおよびモデルをレンダリングしてもよい。複合現実ビデオフォーマット１６２および複合現実メディアプレーヤ１６４のより詳細な開示が、下記に議論されるであろう。
【００７６】
ＡＲシステム１００はさらに、多種多様な形態のいずれかをとり得る、制御サブシステムを含む。制御サブシステムは、いくつかのコントローラ、例えば、１つ以上のマイクロコントローラ、マイクロプロセッサまたは中央処理ユニット（ＣＰＵ）、デジタル信号プロセッサ、グラフィック処理ユニット（ＧＰＵ）、特定用途向け集積回路（ＡＳＩＣ）等の他の集積回路コントローラ、プログラマブルゲートアレイ（ＰＧＡ）、例えば、フィールドＰＧＡ（ＦＰＧＡ）、および／またはプログラマブル論理コントローラ（ＰＬＵ）を含む。制御サブシステムは、デジタル信号プロセッサ（ＤＳＰ）と、中央処理ユニット（ＣＰＵ）と、グラフィック処理ユニット（ＧＰＵ）１５２と、１つ以上のフレームバッファ１５４とを含んでもよい。ＣＰＵは、システムの全体的動作を制御する一方、ＧＰＵ１５２は、フレームをレンダリングし（すなわち、３次元場面を２次元画像に変換し）、これらのフレームをフレームバッファ１５４内に記憶する。図示されないが、１つ以上の付加的集積回路は、フレームバッファ１５４の中へのフレームの読込および／またはそこからのフレームの読出と、ディスプレイシステム１０４の走査デバイスの動作とを制御してもよい。フレームバッファ１５４の中への読込および／またはそこからの読出は、動的アドレス指定を採用してもよく、例えば、フレームは、オーバーレンダリングされる。ＡＲシステム１００はさらに、読取専用メモリ（ＲＯＭ）およびランダムアクセスメモリ（ＲＡＭ）を含む。ＡＲシステム１００はさらに、３Ｄデータベース１６０を含み、そこから、ＧＰＵ１５２は、フレームをレンダリングするための１つ以上の場面の画像データおよび３Ｄ場面内に含有される仮想音源と関連付けられた合成音データにアクセスすることができる。
【００７７】
ＡＲシステム１００の種々の処理コンポーネントは、分散型サブシステム内に物理的に含有されてもよい。例えば、ＡＲシステム１００は、有線導線または無線コネクティビティ等によってディスプレイシステム１０４の一部に動作可能に結合される、ローカル処理およびデータモジュールを含んでもよい。ローカル処理およびデータモジュールは、フレーム構造１０２に固定して取り付けられる、ヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、ユーザ５０の胴体に除去可能に取り付けられる、またはベルト結合式構成においてユーザ５０の腰部に除去可能に取り付けられる等、種々の構成において搭載されてもよい。
【００７８】
ＡＲシステム１００はさらに、有線導線または無線コネクティビティ等によってローカル処理およびデータモジュールに動作可能に結合される、遠隔処理モジュールおよび遠隔データリポジトリを含み、これは、これらの遠隔モジュールが、相互に動作可能に結合され、ローカル処理およびデータモジュールへのリソースとして利用可能であるようにするためのものである。ローカル処理およびデータモジュールは、電力効率的プロセッサまたはコントローラおよびフラッシュメモリ等のデジタルメモリを含んでもよく、両方とも、センサから捕捉された、および／または遠隔処理モジュールおよび／または遠隔データリポジトリを使用して入手および／または処理された（可能性として、そのような処理または読出後、ディスプレイシステム１０４への通過のために）データの処理、キャッシュ、および記憶を補助するために利用されてもよい。
【００７９】
遠隔処理モジュールは、データおよび／または画像情報を分析および処理するように構成される、１つ以上の比較的に強力なプロセッサまたはコントローラを含んでもよい。遠隔データリポジトリは、比較的に大規模なデジタルデータ記憶設備を含んでもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。
【００８０】
一実施形態では、全てのデータが、記憶され、全ての算出が、ローカル処理およびデータモジュールにおいて実施され、任意の遠隔モジュールからの完全に自律的な使用を可能にする。上記に説明される種々のコンポーネント間の結合は、ワイヤまたは光通信を提供するための１つ以上の有線インターフェースまたはポート、または無線通信を提供するための無線周波数（ＲＦ）、マイクロ波、および赤外線（ＩＲ）等を介した１つ以上の無線インターフェースまたはポートを含んでもよい。いくつかの実装では、全ての通信は、有線であってもよい一方、他の実装では、全ての通信は、光ファイバを除き、無線であってもよい。
【００８１】
例えば、ＡＲシステム１００のディスプレイシステム１０４を使用する、ユーザ５０は、ユーザの物理的環境／景観１０５に向かって見ている場合がある。ユーザの物理的環境／景観１０５は、垂直壁１２５上に表示される仮想テレビ１２０を含んでもよい。垂直壁１２５は、ユーザ５０が位置し得る部屋内の任意の垂直壁であってもよい。垂直壁はまた、建物の側面（内側または外側）上の壁、または任意の場所で見られる任意の自然な垂直壁であってもよい。いくつかの実施形態では、仮想テレビ１２０は、空白の垂直壁１２５に係留および／または固定されるか、またはユーザの物理的環境／景観内の垂直壁上に掛けられた写真フレーム（図示せず）にわたって表示されるかのいずれかであってもよい。仮想テレビ１２０は、垂直壁１２５上に係留または固定される、またはいくつかの実施形態では空間内に浮動している、ＡＲシステム１００によって生成される仮想オブジェクトであってもよい。仮想テレビ１２０は、そこからＡＲシステム１００が３Ｄビデオ１１５を上または中に表示し得る、仮想オブジェクトであってもよい。仮想テレビ１２０は、ユーザの物理的環境／景観１０５内のポータルであってもよい。ポータルは、下記に議論される。
【００８２】
３Ｄビデオ１１５は、ディスプレイシステム１０４を使用するユーザ５０に３Ｄ効果の現実的な視界を提供するように、３Ｄビデオとともにレンダリングおよび表示され得る、３Ｄアニメーションオブジェクトを含んでもよい。３Ｄアニメーションオブジェクトは、実際に仮想テレビ画面から溢れ出ている／出て行っているかのように見え得る。ユーザが側面像の視認視点まで移動する場合、ユーザには、実際に、３Ｄオブジェクトおよび／または３Ｄ動画オブジェクトが仮想テレビディスプレイ画面から出てユーザの物理的環境／景観１０５の中に入ることが見え得る。
【００８３】
加えて、別の実施形態では、３Ｄビデオは、ＡＲシステム１００上に構成される環境感知センサに基づいて、ユーザの物理的環境／景観１０５を意識し得る。３Ｄビデオがユーザの物理的環境を意識し得るため、３Ｄビデオは、ユーザの物理的環境内の実際のオブジェクト上に３Ｄビデオの一部をレンダリングすることによって、その３Ｄビデオを提示しながら、その環境意識情報を利用してもよい。例えば、ＡＲシステム１００内のセンサは、ユーザの物理的環境／景観内に位置する２つの椅子１３５ａおよび１３５ｂを検出してもよい。ニュース放送についての３Ｄビデオは、椅子１３５ａおよび１３５ｂに座っているレポータ１３０をユーザの物理的環境／景観内に設置してもよく、レポータ１３０は、レポータ１３０がユーザの物理的環境内にいるかのようにニュースをレポートする。本開示の環境意識特徴のより詳細な議論は、下記である。
【００８４】
別の実施形態では、３Ｄビデオは、ＶＲおよび／またはＡＲシステムのユーザと相互作用し得る。実施例として、３Ｄビデオのある部分または時点において、ユーザは、ビデオの筋書きに影響を及ぼし得る、行うべき決定を提供されてもよい。決定を選定するためのユーザの相互作用に基づいて、３Ｄビデオは、改変されてもよく、３Ｄビデオの異なる終了または結果が、到達されてもよい。双方向３Ｄビデオのより詳細な議論が、下記で見出され得る。
（ＡＲ場面のポータル内で３Ｄビデオを表示する）
【００８５】
ポータルは、オブジェクトまたは他の仮想コンテンツが、平面の内側で、背後で、正面で、および／またはその開口部においてレンダリングおよび／または表示され得る、２Ｄおよび／または３Ｄ体積空間の平面内の開口部および／または場所であってもよい。オブジェクトは、ディスプレイシステム１０４を使用するユーザ５０によって、３Ｄ体積空間内の平面および／または場所の開口部を通して見られる、または視認されてもよい。平面は、ユーザが平面を通して視認することが可能ではあり得ないように、不透明であり得る。しかしながら、ユーザ５０は、平面の開口部（例えば、ポータル）を介して、不透明平面を通して視認し得る。例えば、ユーザが直接正面像位置を有する第１の視点からオブジェクトを視認する場合、オブジェクトは、オブジェクトの周囲の境界を構成するポータルを伴うオブジェクトの平坦な２Ｄ正面像であるように見え得る。ポータルは、本第１の視点から、円、長方形、正方形、多角形等の任意の形状であるように見え得る。
【００８６】
実施例を継続すると、ユーザが側面像位置を有する第２の視点からオブジェクトを視認する場合、オブジェクトが後部に向かって、または平面の背後に位置付けられる場合に、オブジェクトのより小さい部分が視認され得ることとは対照的に、オブジェクトが平面の正面に向かって位置付けられる場合に、オブジェクトのより大きい部分が視認され得るように、第２の視点の側面視野角に応じて、平面の前面に対してレンダリングおよび／または表示されているオブジェクトの位置に基づいて、オブジェクトの一部が、ユーザに可視であり得、オブジェクトの他の部分が、遮断される、または可視ではあり得ない。オブジェクトの一部は、オブジェクトが後部に向かって、または平面の背後に位置付けられる場合に、平面によって切り取られ得る。視認されるオブジェクトは、２Ｄ画像、２Ｄビデオ、３Ｄモデル（例えば、コンピュータ生成された３Ｄアイコン）、および／または３Ｄビデオであってもよい。いくつかの実施形態では、平面は、ユーザが平面の反対側に位置するいかなるものも見ることが可能ではあり得ないように、完全に不透明であり得る。他の実施形態では、平面は、ユーザが、ポータルを通して視認する際に、平面を通して明確な視界ではないが、平面を通していくつかのオブジェクトまたは画像を視認することが可能であり得るように、半透明であり得る。
【００８７】
いくつかの実施形態では、ポータル効果が、ユーザに表示されるべき任意の他の３Ｄ仮想コンテンツと同様の様式で、３Ｄ仮想コンテンツを最終レンダリング世界の中に直接設置することによって作成されてもよい。例えば、３Ｄ仮想コンテンツは、座標系を、ユーザに表示されている最終レンダリング世界内の任意の他の３Ｄ仮想コンテンツと共有するであろう。座標系は、実世界座標系に対応し得るため、３Ｄ仮想コンテンツは、実際の世界に対して固定される。ポータル開口部効果を生成するために、閉塞マスク等のマスクが、使用されてもよい。いくつかの実施形態では、閉塞マスクは、実世界壁の仮想開口部に見えるように、実世界メッシュに対して設置されてもよい。本実施例では、ユーザが壁の周囲を歩く場合、ユーザは、ポータルを通して前もって視認された３Ｄ仮想コンテンツが、現在はユーザの接近環境内にあるように、ポータル空間に進入してもよい、または代替として、ユーザは、ポータル世界内に存在すると考えられることができる。いくつかの実施形態では、ポータルは、ユーザがある面積を越えて移動する場合、ポータルが「閉鎖し」（例えば、ポータルと関連付けられる３Ｄコンテンツが、最終レンダリング世界から除去される）、したがって、ユーザが実際にポータルに進入することまたはポータル３Ｄ仮想コンテンツと直接相互作用することを防止するように、対応する境界を有してもよい。
【００８８】
図２は、拡張現実システム内で３Ｄビデオを表示するためのアプローチのためのフローチャートを示す。２１０では、３Ｄビデオが、ユーザの物理的環境／景観内で表示されるために識別されてもよい。３Ｄビデオは、立体３Ｄビデオであってもよい。
【００８９】
２２０では、ユーザの物理的環境／景観内で３Ｄビデオを表示するための体積空間が、識別されてもよい。体積空間は、３Ｄオブジェクト（例えば、３Ｄビデオ）を表示するためのポータルであってもよい。ポータルは、平面視認ディスプレイ（例えば、仮想ディスプレイ画面）を有する仮想テレビであってもよい。
【００９０】
２３０では、３Ｄビデオが、体積空間（例えば、仮想テレビ１２０）の中にレンダリングされてもよい。仮想テレビは、内側で３Ｄビデオがレンダリングされ、最終的に表示され得る、ポータルを有する平面を含んでもよい。例えば、仮想テレビは、ポータル（例えば、仮想テレビ画面）およびテレビフレーム自体を分離する境界を含んでもよい。いくつかの実施形態では、境界は、存在しなくてもよく、そのような実施形態では、仮想テレビの平面は、仮想テレビ全体であってもよい。３Ｄビデオは、３Ｄビデオが体積空間（例えば、仮想テレビ１２０）の固定境界内でのみレンダリングおよび／または表示され得るため、ユーザの物理的環境／景観の一部のみでレンダリングおよび表示されてもよい。
【００９１】
３Ｄビデオは、立体画像を使用する、従来的に生成された３Ｄビデオであってもよい。立体は、わずかに異なる角度で撮影された同一のオブジェクトの２つの写真がともに視認され、深度および固体性の印象（例えば、３Ｄ効果）を生成する、プロセスである。ここで、実施例として、３Ｄビデオは、ユーザの物理的環境／景観内の仮想テレビ（例えば、ポータル）内のユーザにレンダリングおよび／または表示される。３Ｄビデオのレンダリングは、ユーザ５０に表示される最終的なレンダリングされた３Ｄビデオが、ディスプレイシステム１０４を使用して３Ｄビデオを視認するときに、ユーザにとって遠近調節（ａｃｃｏｍｍｏｄａｔｉｏｎ）−輻輳・開散運動（ｖｅｒｇｅｎｃｅ）の問題を軽減することに役立ち得る、深度情報を含み得るように、３Ｄビデオから取得される第１の深度情報と、仮想テレビ画面の場所からユーザの場所までの深度情報に対応する第２の深度情報とを含んでもよい。立体画像から深度情報を収集し、それを画面の深度バッファに追加することによって、収集される深度情報の品質は、少なくとも部分的に場面および実行時に深度を決定し得るアルゴリズムに基づいて、大いに向上されるであろう。
【００９２】
いくつかの実施形態では、３Ｄオブジェクト（例えば、立体３Ｄオブジェクトまたは立体３Ｄビデオ）は、ポータルを通してレンダリングおよび／または表示されてもよい。従来的に、２Ｄ画像は、ポータルを介してレンダリングおよび表示される。しかしながら、拡張現実環境では、３Ｄオブジェクトおよび３Ｄビデオが、ＡＲ環境内のポータル（例えば、仮想テレビ）を通してレンダリングおよび表示されてもよい。
【００９３】
一実施形態では、ポータルが、３Ｄレンダリング世界（または代替として、３Ｄレンダリング場面、レンダリング場面、または３Ｄ場面）内で識別されてもよい。３Ｄレンダリング世界は、２Ｄおよび３Ｄデジタルコンテンツが仮想コンテンツとしてレンダリングされ、ユーザに表示され得る、実際の世界（例えば、ユーザの物理的環境／景観１０５）のデジタル表現に対して設置される２Ｄおよび３Ｄデジタルコンテンツのデジタル表現であってもよい。仮想コンテンツがユーザおよび実際の世界に対して正しい視点からレンダリングされるために、２つ以上の仮想レンダリングカメラが、３Ｄレンダリング世界内に設置されてもよい。一方の仮想レンダリングカメラは、右眼用であり得、他方の仮想レンダリングカメラは、左眼用であり得る。ポータルが、ポータル視点からユーザに見えるであろうものを捕捉するために、付加的仮想レンダリングカメラが３Ｄレンダリング場面の異なる場所に設置されることを要求し得る、３Ｄレンダリング世界内に位置してもよい。ポータルは、ユーザが平面を通して、または平面の中を見ることを可能にする、平面内の一部であってもよい。ポータルは、仮想テレビ画面であってもよく、仮想テレビは、３Ｄレンダリング世界内で平面を提供してもよく、仮想テレビ画面は、仮想テレビの平面内の開口部であってもよい。
【００９４】
加えて、第１の２Ｄ立体画像および第２の２Ｄ立体画像は、ディスプレイシステム１０４を使用するユーザが、第１の２Ｄ立体画像および第２の２Ｄ立体画像をともに３Ｄ画像または３Ｄモデルとして知覚し得るように、ポータルの中にレンダリングされてもよい。第１の２Ｄ立体画像は、右眼の視点を用いて捕捉される画像であってもよく、第２の２Ｄ立体画像は、左眼の視点を用いて捕捉される画像であってもよい。３Ｄ画像は、３Ｄビデオであってもよく、第１の２Ｄ立体画像は、右眼の視点から捕捉される第１の２Ｄ立体ビデオであってもよく、第２の２Ｄ立体画像は、左眼の視点から捕捉される第２の２Ｄ立体ビデオであってもよい。上記に議論されるように、３Ｄビデオは、立体画像を使用する、（例えば、実際の世界で実際の画面上で使用するための）従来的に生成された３Ｄビデオであってもよい。ここで、３Ｄビデオは、３Ｄレンダリング世界のポータル内でレンダリングおよび表示されてもよい。
【００９５】
さらに、第１の２Ｄ立体画像および第２の２Ｄ立体画像は、３Ｄレンダリング世界の異なる場所内に位置する２つの異なる仮想カメラから供給されてもよい。いくつかの実施形態では、第１の２Ｄ立体画像および第２の２Ｄ立体画像は、実世界コンテンツを捕捉する２つの異なる実世界カメラから供給されてもよい。例えば、ユーザ５０は、仮想テレビ画面上で、ユーザの物理的環境／景観１０５内のディスプレイシステム１０４を使用して、３Ｄビデオとしてレンダリングされ得る実世界画像を捕捉する２つのカメラ（例えば、ユーザの実際の家のセキュリティカメラ）からビデオデータを受信している、３Ｄビデオを鑑賞していてもよい。加えて、第１および第２の２Ｄ立体画像はまた、ポータルアイコン等の異なる３Ｄレンダリング世界から供給されてもよい。
【００９６】
一実施形態では、アイコンが、ポータル内で表示されてもよい。アイコンは、コンピュータ生成される３Ｄオブジェクトであってもよい。アイコンは、いくつかの部分から成ってもよい。いくつかの実施形態では、ポータルアイコンは、ポータル内に含有される背景と、開口と、開口の中および外に移動することができる前景要素とを有してもよく、アイコンおよび開口からの前景要素の完全な除去までも含む。アイコンは、ユーザがアプリケーションランチャメニューから起動し得る、アプリケーションを表してもよい。アプリケーションランチャメニューは、それらの個別のポータル内でそれぞれ提示される、１つ以上の３Ｄアイコンを備えてもよい。これは、アプリケーションと関連付けられる３Ｄコンテンツが、アイコン内に容易に含有されるが、依然としてユーザによって視認されることを可能にしてもよい。ユーザがポータルの内側に位置するアイコンを見ているとき、アイコンは、アクティブ化し、アニメ化し始めてもよい。ユーザがアイコンを見ていないとき、アイコンは、ポータル内に表示される平坦な２Ｄ画像であるように見え得る。しかしながら、ユーザの視線がポータル内にアイドル状態で表示されるアイコン（例えば、平坦な２Ｄアイコン）上に合焦し始めると、アイコンは、ポータル内で（例えば、３Ｄアイコンに）変換し始めてもよい。（例えば、３Ｄ）アイコンは、ユーザに向かって移動さえし始め、ポータルから出て、ユーザがアイコンを３Ｄアイコンオブジェクトと見なし得るように、ポータルの外側に浮動するように見え得る。ユーザは、複数の角度から３Ｄアイコンを視認し得る。これは、アイコンに関する一般的な問題が、それらのサイズが比較的に小さく、典型的には、それらが表すアプリケーションを説明するための限定された空間を伴う２Ｄ画像であることであるため、有利であり得る。しかしながら、本問題は、３Ｄアイコンを表示することによって解決され得、３Ｄアイコンは、単純に、２Ｄアイコンと対比して３Ｄアイコンに対して利用可能な付加的表面積により、より大きい表面を有し得る。いくつかの実施形態では、３Ｄアイコンは、ユーザがアイコンを見て認識することが可能であり得るように、アイコンから起動され得る実際のアプリケーションのより小さいバージョンを表示してもよい。
【００９７】
別の実施形態では、２つの第１段階カメラが、３Ｄ環境内に設置されてもよい。１つ以上の対の２Ｄ画像が、２つの第１段階カメラから捕捉されてもよい。１つ以上の対の２Ｄ画像は、最終３Ｄレンダリング世界内の場所の中に設置されてもよい。最終３Ｄレンダリング世界は、仮想および／または拡張現実デバイス（例えば、ディスプレイシステム１０４）を使用してユーザに表示されるようにレンダリングされてもよく、ディスプレイシステム１０４は、世界場面の２Ｄ画像を捕捉する２つの仮想カメラを含んでもよく、２つのカメラのうちの各カメラは、ユーザの眼に対応する。換言すると、２つの第１段階カメラは、３Ｄ立体ビデオのためのコンテンツを提供する。３Ｄ立体ビデオは、最終３Ｄレンダリング場面内の場所の中に設置される。最終３Ｄレンダリング世界／場面は、ディスプレイシステム１０４を介してユーザに表示される最終３Ｄ立体ビデオが、最終３Ｄビデオ内のポータルにおいて最終３Ｄビデオ内に表示される少なくとも１つの他の３Ｄビデオを有する、最終３Ｄビデオであるように、一対の２つのカメラのうちの各カメラが、ディスプレイシステム１０４を使用するユーザの眼に対応するように、ディスプレイシステム１０４を使用するユーザの視点から、別個の一対の２つの仮想カメラから捕捉されてもよい。上記に議論されるように、深度情報は、ユーザの独自の視覚系（例えば、ユーザの眼）によって体験される輻輳・開散運動に適応するように、最終３Ｄビデオのレンダリング中に含まれてもよい。
【００９８】
１つ以上の実施形態では、レンダリング場所は、仮想テレビ等のポータル、または３Ｄビデオを表示するためのユーザの環境の平面であってもよい。２つの第１段階カメラのうちの第１のカメラは、左眼の視点から１つ以上の２Ｄ画像を捕捉してもよく、２つの第１段階カメラのうちの第２のカメラは、右眼の視点から１つ以上の２Ｄ画像を捕捉してもよい。２つの第１段階カメラは、仮想カメラ（例えば、デジタル／仮想世界場面の画像を捕捉する）および／または実世界カメラ（例えば、実世界場面の画像を捕捉する）であってもよい。
【００９９】
いくつかの実施形態では、２つの第２段階カメラは、２Ｄ画像を捕捉し、第２の３Ｄ立体ビデオを生成してもよい。第２の３Ｄ立体ビデオは、最終３Ｄレンダリング場面がユーザに表示されるときに、ユーザにユーザの仮想および／または拡張現実環境内の２つの３Ｄ立体ビデオが見え得、２つの３Ｄ立体ビデオがそれぞれ、２つの異なるポータルにおいて表示され得るように、レンダリングされるべき最終３Ｄレンダリング世界内の別の場所／ポータル内に設置されてもよい。３Ｄ立体ビデオソースを最終３Ｄレンダリング世界に提供する、複数の段階のカメラが存在し得、３Ｄ立体ビデオソースはそれぞれ、付加的段階に対応し得るが、ディスプレイシステム１０４を使用してユーザに表示されるようにレンダリングされる、１つだけの最終３Ｄレンダリング世界が存在し得る。段階の数は、最終３Ｄレンダリング世界内でレンダリングされるべき３Ｄビデオの入力ソースの数に対応し得、段階の数は、ユーザの３Ｄ環境内の複数の場所（例えば、ポータル）からユーザに表示される３Ｄビデオの数を決定してもよい。代替として、任意の数の入力が、入力の２つを上回るセットを用いて、２段階レンダリングのための最終３Ｄレンダリング世界に入力してもよい。いくつかの実施形態では、３Ｄビデオは、ネスト化されてもよいため、例えば、１つの３Ｄビデオは、次いで、ユーザに表示するための最終レンダリング場面内に含まれ得る、異なる３Ｄビデオの内側で再生する。
【０１００】
１つ以上の実施形態では、１つ以上の段階のカメラ（最終段階カメラを含まない）から捕捉される２Ｄ画像は、仮想世界、実際の世界、または仮想世界および実際の世界の両方の組み合わせに由来し得る。１つ以上の段階のカメラの場所は、最終段階カメラの場所と異なり得る。
【０１０１】
別の実施形態では、第１のソースからの第１の３Ｄコンテンツが、第２のソースからの第２の３Ｄコンテンツの中に設置されてもよい。第１の３Ｄコンテンツは、３Ｄ立体ビデオであってもよく、３Ｄ立体ビデオは、第１の３Ｄ立体ビデオを含む第２の３Ｄビデオへの入力データソースであってもよい。第２の３Ｄコンテンツは、３Ｄ立体ビデオであってもよく、第２の３Ｄコンテンツをレンダリングおよび表示するためのビデオ入力のソースは、第１の３Ｄコンテンツを含んでもよい。
【０１０２】
別の実施形態では、立体画像の第１のセットが、立体画像の第１のセットを３Ｄビデオとして示す最終３Ｄビデオを提供するように、立体画像の第２のセットの内側に設置されてもよい。
【０１０３】
別の実施形態では、左眼に関して捕捉される画像および右眼に関して捕捉される画像に対応する、一対の入力画像が、識別される。一対の入力画像は、レンダリングされるべき場面内の規定場所の中にレンダリングされるように規定されてもよく、いったん場面がレンダリングされると、一対の入力画像は、場面内で３Ｄビデオとして表示されてもよい。
【０１０４】
別の実施形態では、３Ｄデータ入力は、３Ｄデータ入力が仮想および／または拡張現実最終３Ｄレンダリング世界内の場所の中に設置され得るように、識別されてもよい。最終３Ｄレンダリング世界は、仮想および／または拡張現実デバイスを使用するユーザによって視認されるような場面に対応し得る。
【０１０５】
代替実施形態では、ポータル様効果が、１つ以上のステンシルレンダリングステージの使用を通して、生成されてもよい。いくつかの実施形態では、眼毎に１つずつ、２つの入力ストリームを有する代わりに、および上記で説明されるような２つの第１段階カメラの代わりに、データ入力は、３Ｄグラフィックデータファイルであってもよい。データファイルは、単一のアプリケーションまたは単一のコンテンツと関連付けられる１つ以上のデータファイルを含有してもよく、ステンシルフラグ等の種々のフラグを含有してもよい。最終３Ｄレンダリング世界がレンダリングしているとき、最終３Ｄレンダリング世界内のポータルのためのコンテンツは、４段階でレンダリングしてもよく、すなわち、１）ステンシルを描く、２）ステンシルのためのスカイボックスを描く、３）ポータルコンテンツを描く、４）ステンシルを消去する。これら４つのステップは、最終３Ｄレンダリング世界内のポータル毎に繰り返してもよい。
（３Ｄビデオがそのディスプレイ表面を越えて延在する）
【０１０６】
図１を参照すると、ディスプレイシステム１０４を使用して３Ｄビデオ１１５を視認するユーザ５０は、３Ｄビデオ１１５内のオブジェクト（例えば、ビデオ１１５で描写されるようなブロック）が、ユーザの物理的環境／景観１０５内のディスプレイ画面の表面から溢れ出る、またはそれを越えて延在するように見え得ることに気付き得る。例えば、従来的な３Ｄビデオは、３Ｄ効果の錯覚または出現を提供し得、ある場合には、３Ｄビデオ内からのオブジェクトが実際にユーザに向かって移動しており、実際に画面から外に出ていると信じるようにユーザに影響を及ぼす／錯覚させ得る。しかしながら、従来的な３Ｄビデオは、上記に議論されるように、立体プロセスを使用して３Ｄ効果を達成する。
【０１０７】
ＶＲ／ＡＲ環境の中に設置される従来的な３Ｄビデオは、１つの視点からのみ視認され得る。従来的な３Ｄビデオは、視認者がカメラの最初の位置から逸脱するとすぐに明白に平坦に見える。本問題に対する１つのソリューションは、メッシュ（例えば、３Ｄモデルおよび／または３Ｄアニメーション）、リグ制御（例えば、アニメーションストリーム）、およびその対応する制御データ（例えば、従来的な３Ｄビデオのビデオおよびオーディオと対応する、ビデオファイルフォーマット内のアニメーションストリームの部分を再生するとき）を含む、ビデオファイルフォーマットおよびプレーヤを含んでもよい。
【０１０８】
図３Ａ−３Ｂは、いくつかの実施形態による、画面から逃散する３Ｄ画像および／または３Ｄアニメーションの実施例を示す。図３Ａは、従来的な立体３Ｄビデオの意図された３Ｄ効果３０５および実際の３Ｄ効果３１０を示す。ディスプレイ画面／平面３２０は、テレビ、コンピュータモニタ、劇場のディスプレイ画面、または３Ｄビデオを表示するための任意の平面または非平面、またはそれらの任意の組み合わせのうちの１つ以上のものであってもよい。例えば、非平面は、いくつかの実施形態では、視認者を少なくとも部分的に取り巻くように見え得る、曲面ディスプレイ画面であってもよい。３Ｄオブジェクト３３０は、意図された３Ｄ効果および実際の３Ｄ効果に基づいて示される。例えば、立体画像を採用する、現在の３Ｄ技術は、オブジェクト３３０ａの意図された３Ｄ効果を生成することを所望し得る。しかしながら、旧来の立体３Ｄプロセスの限定を考慮すると、現在の旧来システムが生成する実際の３Ｄ効果は、３Ｄオブジェクト３３０ｂとして示される。オブジェクト３３０ａの意図された効果は、ユーザが平面３２０の異なる視野角を有する第２の位置まで移動した場合、ユーザに、平面３２０の外側に表示され、位置するオブジェクト３３０ａの完全（または関連性のある部分）３Ｄ表現が見え得るように、ユーザの環境の周囲でアニメ化／移動し得る、平面３２０の外側に表示される３Ｄ動画オブジェクトを示してもよい。
【０１０９】
図３Ｂは、ユーザが意図された３Ｄ効果を知覚し得る方法の実施例を示す。オブジェクト３３０ａおよび３３０ｂは、図３Ａで視認されるようなオブジェクトであり、オブジェクト３３０ａは、平面３２０（例えば、テレビ画面ディスプレイ）から溢れ出た／外に出たように見え得る。オブジェクト３４０は、オブジェクト３４０が図３Ａからの意図された３Ｄ効果３０５のうちの１つを達成するように、平面３２０から完全に脱離されたオブジェクトと見なされ得る。
【０１１０】
例えば、３Ｄビデオは、個人の周囲を泳ぐ複数の魚を有する、熱帯水域でスキューバダイビングをする個人の３Ｄビデオを含んでもよい。従来的な３Ｄビデオ視点から、ユーザは、３Ｄビデオを鑑賞し、少なくとも部分的に立体プロセスに基づいて、３Ｄ効果を感じ得る。しかしながら、本開示のいくつかの実施形態によると、３Ｄビデオのある部分において、魚のうちの１つの３Ｄモデルが、３Ｄビデオに対して表示するために生成されてもよい。３Ｄビデオ内のある適切なトリガ時間に、魚の３Ｄモデルは、３Ｄビデオの内側で泳いでいるように表示されてもよく、次いで、魚の３Ｄモデルは、ディスプレイ画面の表面から出始め、ユーザの物理的環境／景観の中に泳いでもよい。実施例として、魚の３Ｄアニメーションは、３Ｄビデオを表示している実際の仮想テレビの周囲を泳いでもよい。本実施例では、ユーザが、ディスプレイ画面の表面と平行な９０度の角度等の異なる位置まで移動する場合、ユーザには、依然として、仮想テレビの周囲を泳ぐ３Ｄ動画の魚が見えるはずである。ユーザが、ユーザに仮想テレビのディスプレイ画面の外側を泳ぐ３Ｄ動画の魚およびディスプレイ画面の両方が見え得る、視野角に戻る場合、ユーザは、ディスプレイ画面の外側を移動する３Ｄモデルとともに再生する３Ｄビデオを視認し得る。いくつかの実施形態では、ユーザは、１つを上回るディスプレイから３Ｄビデオを視認し得る。例えば、魚は、ディスプレイ１から外に泳ぎ、ユーザの周囲を泳ぎ、ディスプレイ２の中に泳いでもよい。いくつかの実施形態では、ユーザは、ユーザを包囲する１つの大画面（例えば、ドーム形状、部分ドーム形状、リング形状等）を有してもよく、３Ｄコンテンツは、第１の場所において画面から出て、第２の場所において画面に再び入ってもよい。３Ｄコンテンツの退出または進入場所にかかわらず、ユーザは、（実際の３Ｄオブジェクトに類似する）現実的な様式で正しい視点から３Ｄオブジェクトを視認し得る。
【０１１１】
図１を参照すると、３Ｄビデオ１１５は、仮想テレビ１２０のディスプレイ画面から溢れ出ている／外に出ているように見える個人またはオブジェクトの３Ｄアニメーションを含んでもよい。仮想テレビ１２０および３Ｄビデオ１１５は、ユーザの物理的環境／景観１０５内で第２の角度から視認されたときに、仮想テレビのディスプレイ画面から溢れ出る／外に出るオブジェクト（例えば、モンスター）を示してもよい。
【０１１２】
図４は、いくつかの実施形態による、仮想および／または拡張現実環境内でディスプレイ画面の表面を越えて延在する３Ｄビデオを表示するためのアプローチのためのフローチャートを示す。４１０では、３Ｄビデオが、識別されてもよい。３Ｄビデオは、従来的な立体３Ｄビデオであってもよい。３Ｄビデオの旧来の実装は、本開示の実施形態を実装するために使用されるべき３Ｄビデオ入力データソースとして供給されるように、大量の３Ｄビデオコンテンツを提供してもよい。
【０１１３】
４２０では、３Ｄオブジェクトの３Ｄモデルが、３Ｄビデオに対応するように生成されてもよい。３Ｄオブジェクトは、固定場所からの３Ｄオブジェクトの移動または３Ｄ環境内の３Ｄオブジェクト全体の移動を含む、静止３Ｄオブジェクトまたは動画３Ｄオブジェクトであってもよい。３Ｄモデルは、３Ｄビデオ場面が、ある青色であり、３Ｄオブジェクトの３Ｄモデルが、同一または実質的に同様の青色である場合には、３Ｄモデルがユーザに可視ではあり得ないように、３Ｄビデオに対応し得る。したがって、３Ｄモデルは、ユーザが、３Ｄビデオとともに表示されるにつれて３Ｄモデルを検出するために、色、テクスチャ、コントラスト、または他の特性をわずかに調節されてもよい。３Ｄオブジェクトの３Ｄモデルは、生成され、データ記憶内に保存されてもよい。アニメーションデータが、３Ｄビデオに対する３Ｄモデルの移動、配向、および／または位置を制御および指向するように、３Ｄモデルと関連付けられてもよい。アニメーションデータは、メディアファイル内の従来的な３Ｄビデオストリームおよびオーディオストリームと別個かつ異なるストリームとして、ストリーミングされてもよい。アニメーションデータは、下記でより詳細に開示されるであろう。
【０１１４】
４３０では、３Ｄモデルは、３Ｄビデオのレンダリングとともに、適切なトリガ時間にレンダリングされてもよい。３Ｄアニメーションデータは、３Ｄビデオおよび３Ｄビデオのオーディオ部分とともに３Ｄアニメーションデータをレンダリングするエンジンによって、受信およびレンダリングされてもよい。３Ｄアニメーションおよび３Ｄビデオは、ユーザに単一の３Ｄビデオとして見えてもよく、３Ｄ動画オブジェクトは、３Ｄビデオの平面から出て、ユーザの３Ｄ環境から溢れ出る／その中に入るように見え得る。
【０１１５】
１つ以上の実施形態では、１つ以上の３Ｄモデルは、１つ以上のビデオペイン上にレンダリングされてもよく、１つ以上のビデオペインは、１つ以上の視認配向のために同時にレンダリングされてもよい。１つ以上の３Ｄモデルは、物理的に仮想テレビのディスプレイ画面から溢れ出る／外に出るように見え得る。いくつかの実施形態では、ビデオペインは、背景および／またはバックドロップとして機能し、ディスプレイシステム１０４を使用するユーザ５０からの視野角に対応する３Ｄモデルを表示してもよい。
【０１１６】
深度情報が、概して、旧来のＶＲシステムと関連付けられ得る、遠近調節−輻輳・開散運動不一致の問題を解決するように、３Ｄビデオおよび１つ以上の３Ｄモデルのレンダリングの考慮に入れられてもよい。ディスプレイシステム１０４を使用するユーザおよび３Ｄモデルからの距離が、３Ｄビデオおよび３Ｄモデルの画像またはビデオがユーザに表示され得る方法の考慮に入れられてもよい。例えば、複数の深度情報が、ユーザに表示されている３Ｄビデオに関して決定されてもよい。第１の深度情報は、３Ｄビデオ内のオブジェクトまでの３Ｄビデオを捕捉するカメラの決定された距離等のオリジナル３Ｄビデオの深度情報を含んでもよい。第２の深度情報は、３Ｄビデオを鑑賞するユーザからユーザの３Ｄ環境内に設置される３Ｄビデオのポータル／場所までの距離を含んでもよい。第３の深度情報は、３Ｄモデル／３Ｄ動画オブジェクトから３Ｄビデオを視認するユーザまでの距離を含んでもよく、３Ｄ動画オブジェクトは、ビデオから溢れ出ている／外に出ている（例えば、ビデオディスプレイ画面の平面から出ている）。いくつかの実施形態では、３Ｄ動画オブジェクトは、ユーザに向かって移動していてもよく、それによって、ユーザと３Ｄ動画オブジェクトとの間の距離を減少させる。深度情報が、３Ｄビデオおよび３Ｄ動画オブジェクトを含む、最終場面のユーザへの表示をもたらす、計算に含まれない場合、ユーザの脳は、ユーザの眼を配向し、殆どの３Ｄビデオシステムで一般的な遠近調節−輻輳・開散運動問題に対処する方法に関して、混乱し得る。いくつかの実施形態では、仮想および／または拡張現実デバイスのユーザから、仮想および／または拡張現実環境内で表示される３Ｄビデオおよび個別の１つ以上の３Ｄモデルまでの距離は、任意の好適な様式で計算されてもよい。１つを上回る３Ｄモデルが表示される、いくつかの実施形態では、距離計算で使用される３Ｄモデルの場所は、表示されている３Ｄモデルのうちのいずれかのユーザまでの最接近点であってもよい。いくつかの実施形態では、距離計算で使用される３Ｄモデルの場所は、ユーザに表示される３Ｄモデルの原点の平均であってもよい。
【０１１７】
１つ以上の実施形態では、３Ｄビデオは、制御データを含み得る、ビデオフォーマットを含んでもよい。制御データは、３Ｄモデルがユーザにディスプレイ画面から溢れ出ているように見えるように、ディスプレイ画面の外側に３Ｄモデルを表示するようにビデオプレーヤに命令してもよい。制御データは、３Ｄモデルおよび３Ｄビデオが単一の３Ｄビデオとして統合されるかのようにユーザに見えるように、３Ｄモデルおよび３Ｄビデオを調整および統合することに役立ち得る。
【０１１８】
いくつかの実施形態では、１つ以上の３Ｄモデルは、少なくとも部分的にボクセルベースのビデオストリームに基づいてレンダリングされてもよい。ボクセルは、３次元空間内の規則的グリッド上の値を表す。ビットマップ内のピクセルと同様に、ボクセル自体は、典型的には、それらの位置（それらの座標）をそれらの値とともに明示的にエンコードさせない。代わりに、レンダリングシステムは、他のボクセルに対するその位置（例えば、単一の体積画像を構成するデータ構造内のその位置）に基づいて、ボクセルの位置を推測する。ピクセルおよびボクセルと対照的に、点および多角形が、多くの場合、それらの頂点の座標によって明示的に表される。本差異の直接的結果は、多角形が、空虚または均一に充填された空間の多くを伴う単純な３Ｄ構造を効率的に表し得る一方、ボクセルは、不均一に充填されている規則的にサンプリングされた空間を表すことに優れていることである。ボクセルベースのビデオは、非常に高い帯域幅／性能を要求し得、これは、体積ビデオを実装するために、より高い生産計算費用、および可能性として、より大量のデータ記憶に変わり得る。
【０１１９】
別の実施形態では、１つ以上の３Ｄモデルおよび／または３Ｄビデオは、少なくとも部分的に体積ビデオに基づいてもよい。体積ビデオは、ホログラムのように、実際に３次元で存在する実際の人々の動画を特徴とし、人々が任意の瞬間に任意の角度から視認されることを可能にする、ビデオのフォーマットである。トリックは、本メディアが、高速フレームレートで俳優の３Ｄ画像を捕捉することが可能な根本的に異なるビデオ技術を要求することである。体積ビデオは、非常に高い帯域幅／性能を要求し得、これは、体積ビデオを実装するために、より大きい計算処理能力、および可能性として、より大量のデータを要求することによって、金銭的な視点ではなく、コンピュータ処理プロセス自体の視点から、より高い生産費用に変わり得る。
（環境意識ビデオ）
【０１２０】
従来的なビデオは、常に、鑑賞者の環境を意識することなく、そのコンテンツを提示してきた。没入型体験は、ビデオコンテンツがユーザの環境にカスタマイズされ得る場合、大いに向上されることができる。仮想および／または拡張現実システムでは、仮想および／または拡張現実システムデバイス（例えば、図１からのディスプレイシステム１０４）を使用するユーザは、ビデオのコンテンツを表示するときに、ビデオが付加的ユーザ環境情報を利用し得るように、付加的ユーザ環境情報をビデオに提供してもよい。
【０１２１】
例えば、オブジェクト認識装置（例えば、センサ）は、ユーザの物理的環境／景観の部屋内のアイテム、例えば、椅子１、テーブル２等を認識およびカテゴリ化してもよい。頭部姿勢および視標追跡が、ユーザが見ている場所についてヒントを複合現実ビデオプレーヤに提供するために、使用されてもよい。付加的ユーザ環境情報を有することは、３Ｄビデオがその限定された２Ｄディスプレイ空間から抜け出すことを可能にし得る。
【０１２２】
図１を参照すると、ニュース放送についての３Ｄビデオは、椅子１３５ａおよび１３５ｂに座っているレポータ１３０をユーザの物理的環境／景観（例えば、ユーザのリビングルーム、ダイニングルーム、自動車等）内に設置してもよい。従来的なビデオ画面内に３Ｄビデオを表示する代わりに、環境意識３Ｄビデオは、代わりに、ユーザの物理的環境内で検出され得るオブジェクト上に、またはそれに対して表示されるように、レポータ１３０をレンダリングしてもよい。オブジェクトは、ユーザの物理的環境内の物理的オブジェクトのレンダリングされたバージョンであってもよい。オブジェクトは、仮想世界内のオブジェクトのレンダリングされたバージョンであってもよい。オブジェクトは、従来的なビデオ画面の外側にオブジェクトを表示する目的のために、ユーザの物理的環境内に設置されるレンダリングされた仮想オブジェクトであってもよい。３Ｄビデオは、３Ｄ立体ビデオ、ボクセルベースのビデオ、および／または体積ビデオであってもよい。
【０１２３】
図５は、いくつかの実施形態による、仮想および／または拡張現実環境内で環境意識３Ｄビデオを表示するためのアプローチのためのフローチャートを示す。５１０では、３Ｄビデオが、識別されてもよい。３Ｄビデオは、従来的な立体３Ｄビデオ、ボクセルビデオ、または体積ビデオのうちの少なくとも１つであってもよい。
【０１２４】
５２０では、環境情報が、ユーザの環境内で検出／識別されるオブジェクトに関して受信されてもよい。ユーザの環境は、物理的および／または仮想環境であってもよい。ユーザの物理的環境は、ＶＲおよび／またはＡＲデバイス（例えば、ＡＲシステム１００）を介してユーザの視点から視認されるようなユーザの現在の物理的環境を含んでもよい。ユーザの仮想環境は、ＶＲおよび／またはＡＲディスプレイデバイス（例えば、ディスプレイシステム１０４）を介してユーザの視点から視認されるような、ユーザに表示される仮想コンテンツを備えてもよい。環境情報は、ＶＲおよび／またはＡＲシステム（例えば、カメラ）のセンサによって捕捉され、センサによって捕捉されるオブジェクトを識別するようにＶＲおよび／またはＡＲシステムによって解釈される、オブジェクトに関する情報を含んでもよい。いくつかの実施形態では、環境情報は、パス可能世界から供給され、および／またはその中に記憶されてもよい。
【０１２５】
センサによって捕捉される環境情報（例えば、場面内のオブジェクトの情報）は、外部システム（例えば、クラウドシステム）内に記憶された、前もって識別されたオブジェクトにマッピングされてもよく、識別されたオブジェクト（例えば、点群）の詳細な情報が、オブジェクトをさらに定義するために利用可能であり得る。ユーザの環境（例えば、物理的環境および／または仮想環境）の要素が、より詳細な情報を環境情報に提供するように、前もって識別されたオブジェクトにマッピングされてもよい。
【０１２６】
５３０では、３Ｄビデオコンテンツの一部および／または全てが、ユーザの環境から識別されるオブジェクト上にレンダリングされてもよい。レンダリングされたビデオは、ＶＲおよび／またはＡＲディスプレイデバイス（例えば、ディスプレイシステム１０４）を使用するユーザに表示されてもよく、ユーザは、ユーザの環境内の第１の場所（例えば、ポータル場所）において３Ｄビデオの一部を視認し得、ユーザは、ユーザの環境内の第２の場所において３Ｄビデオの一部を視認し得る。例えば、従来的なビデオ内でニュースルームにおいて椅子に座っているレポータが、ユーザのリビングルーム内の椅子に座っているように表示されてもよく、レポータは、例えば、ユーザの物理的環境／景観内で夜のニュースをユーザに提供する。補完的情報が、関連付けられる２Ｄ仮想テレビ画面／ポータル上に表示されてもよい。３Ｄビデオコンテンツは、制御データを備える、ビデオファイルフォーマットを含んでもよい。制御データは、ユーザの環境から識別されるオブジェクト上に３Ｄビデオの一部（例えば、レポータ）を表示するようにビデオプレーヤに命令してもよい。
（ユーザ双方向映画）
【０１２７】
従来的な映画（例えば、映画は、あるタイプのビデオである）に関する問題は、従来的な映画が、映画の監督／製作者によってすでに編集されていることである。映画のユーザまたは視聴者は、概して、表示されているもの、または映画内の登場人物が行い得る決定に対して、制御を有していない。これは、映画の筋書きが、映画の作者／監督／製作者によってすでに設定されているためである。しかしながら、ＶＲおよび／またはＡＲ環境では、ビデオは、双方向性であり得る。ユーザは、ビデオが、例えば、ディスプレイシステム１０４を介して、ユーザに表示されている間に、少なくとも部分的にＶＲおよび／またはＡＲシステムを通して提供されるユーザ決定に基づいて、ビデオの筋書きおよび／または結果に影響を及ぼすことが可能であり得る。
【０１２８】
ＶＲおよび／またはＡＲシステムを通して提供されるユーザ決定は、例えば、ビデオの間に、ユーザがあるオプションを決定するであろう方法を尋ねる、ＶＲおよび／またはＡＲシステムによって提供される質問への回答をユーザが選定または提供する形態であってもよい。アクションは、俳優または女優によって行われるものであってもよい、または天気事象、自然災害、タイミング等の俳優の制御外であり得る。ユーザによって行われる決定に基づいて、ビデオの筋書きは、ビデオのさらなる事象が影響を受け得、種々の結末がビデオに関して到達され得るように、変化してもよい。
【０１２９】
図６は、いくつかの実施形態による、仮想および／または拡張現実環境内で双方向３Ｄビデオを表示するためのフローチャートを示す。６１０では、３Ｄビデオが、識別されてもよい。３Ｄビデオは、決定ノードによって周期的に割り込まれる非実行可能データのストリームであってもよい。典型的には、ビデオは、ビデオプレーヤによって再生され得る、実行可能ファイルとしてフォーマットされる。非実行可能データは、ビデオデータ、オーディオデータ、および／またはアニメーションデータを含んでもよい。非実行可能データは、例えば、個別の決定に対応する入力を提供するユーザからの相互作用によって、決定ノードにおいて行われる決定に基づいて、筋書きの種々のバージョンに対応し得る、決定ノードによって割り込まれてもよい。
【０１３０】
６２０では、ユーザからの相互作用が、ユーザによって選出される決定に対応する入力として、受信されてもよい。現在、ＤＶＤおよびＢｌｕ  Ｒａｙビデオは、リモートコントローラを介した単純なナビゲーションシステムを有する。ＶＲおよび／またはＡＲシステムでは、リモートコントローラは、本挙動を拡張し、例えば、頭部姿勢、視標追跡、ジェスチャ、トーテムジェスチャ、および／またはオブジェクト認識装置等の種々の他のユーザ入力ソースを組み込んでもよい。ユーザから受信される単純な相互作用（例えば、特定の決定ノードにおいて行われる決定）は、ビデオをビデオの異なる部分に「ジャンプ」させ得る。オプションおよび行われる決定は、ビデオの状態を維持するように、ビデオの持続時間中に記憶されてもよい。相互作用は、例えば、ユーザがオプションをクリックすること、手のジェスチャ、ユーザ入力デバイスからの選択と組み合わせた視線等によってトリガされてもよい。
【０１３１】
例えば、討論放送中に、ユーザが見ている発表者に応じて、その発表者の３Ｄアニメーションが、ビデオ内で、またはユーザの環境内の椅子の中で、再生されてもよい。別の実施例として、異なるビデオの結末が、視聴者（例えば、図１からのユーザ５０）の承認および／または参加に基づいて到達されてもよい。さらに別の実施例として、軍の将校が、水平テーブル上のユーザの正面に表示される地図を用いて戦争の戦略について議論していてもよい。ユーザは、将校が実装するべきである戦略に関して入力を提供することによって、戦争の戦略の議論に参加してもよい。実装するべき戦略の決定を提供することに応じて、ビデオは、その決定に基づいて、データの適切なストリームにジャンプ／ナビゲートし、ビデオを表示してもよい。
【０１３２】
６３０では、３Ｄビデオは、決定に基づいてレンダリングされ、ユーザに表示されるように、データの適切なストリーム（例えば、ビデオ、オーディオ、および／またはアニメーションストリーム）に対応するビデオの一部においてレンダリングされてもよい。
【０１３３】
１つ以上の実施形態では、３Ｄビデオは、立体３Ｄビデオであってもよい。３Ｄビデオは、制御データを備える、ビデオファイルフォーマットを有してもよい。制御データは、少なくともユーザによって選出される決定に基づいて、３Ｄビデオの一部をレンダリングするようにビデオプレーヤを命令してもよい。３Ｄビデオの一部は、１つ以上のユーザによって選出される決定に基づいて、特定の筋書きと関連付けられてもよい。ユーザから受信される相互作用は、頭部姿勢、視標追跡、視線、ユーザの手のジェスチャ、トーテムジェスチャ、またはオブジェクト認識装置のうちの少なくとも１つを含んでもよい。ユーザから受信される相互作用のうちの１つからの相互作用は、３Ｄビデオを３Ｄビデオの異なる部分にジャンプさせてもよい。
（複合現実ビデオフォーマット）
【０１３４】
従来的なビデオフォーマットは、ストリーミング用である一般的な高レベルフォーマットを有する。いくつかのビデオフォーマットは、データの全フレームが前のフレームに関連せず、本質的に相互から独立している、独立フレームベースのフレームのみを含んでもよい。ビデオフォーマットの別の形態は、キーデルタフレームベースであってもよい。一般的なストリーミング圧縮技法は、全てのフレームから独立しているキーフレーム内で送信することを伴い、後続のデルタフレームのみが、別のキーフレームが遭遇されるまで、そのキーフレームとの差異を含む。理論上、全ての後続のデルタフレームを伴って、単一のキーフレームのみを有することが可能である。しかしながら、フレームを探し求める（例えば、早送りする／巻き戻す）ことが、最接近キーフレームから再構築することを要求するため、単一のキーフレームのみと、後続のデルタフレームのみとを有することとは対照的に、間にデルタフレームを伴って、ビデオの全体を通してある間隔でキーフレームを有することが有益であり得る。
【０１３５】
従来的なビデオは、チャプタの変わり目、複数の言語のためのクローズドキャプション、再生中の音質等のビデオの一般的制御とともに、ビデオおよびオーディオクリップを用いて事前レンダリングされる。本開示の実施形態は、事前レンダリングおよび実行時に生成された３Ｄフレームの両方を含んでもよく、事前レンダリングおよび実行時に生成された３Ｄフレームは、ビデオのいくつかの部分で再利用されてもよい。実行時に生成された３Ｄフレームは、ビデオフォーマット内にいくつかのアセットを組み込んでもよい。例えば、いくつかのアセットは、３Ｄモデル、メッシュ、アニメーション、テクスチャ、シェーダ、およびライトを含んでもよい。さらに、より精巧かつ複雑な制御機構が、ビデオの事前レンダリングされたフレームとの実行時に生成された３Ｄフレームの統合を制御してもよい。より有能かつ柔軟なフォーマットが、ストリーミングしやすくもあり得る、そのようなアセットをカプセル化するように、ここで開示されるであろう。
【０１３６】
図７は、いくつかの実施形態による、３Ｄビデオを表示するためのビデオフォーマットを示す。ビデオフォーマット７００は、仮想および／または拡張／複合現実ビデオフォーマットであってもよい。ビデオフォーマット７００は、データ記憶７１０と、データストリーム７５０とを含んでもよい。データ記憶７１０は、再生されているビデオのセクションに応じて、ロードまたはアンロードされ得る、データの集合であってもよい。ストリーミングデータと異なり、データ記憶７１０からのデータが、メモリの中にロードされてもよい。いくつかの実施形態では、例えば、全てのモデル７１８およびそれらの個別のテクスチャ７２４が、メモリの中にロードされ、ビデオのセクションがそれらを必要としなくなるまで、メモリ内に残留してもよい。いくつかの実施形態では、データ記憶７１０からの全てのデータが、メモリの中にロードされてもよい。ビデオの特定のセクションからのデータは、ビデオのいくつかのセクションで再利用されてもよい。データ記憶７１０は、ビデオについての情報７１２（例えば、メニュー）、字幕７１４、ロケール７１６、モデル７１８（例えば、３Ｄモデルのメッシュ）、材料７２０、テクスチャ７２４（例えば、材料によって使用される画像）、および制御データ７２６を含んでもよい。
【０１３７】
制御データ７２６は、制御ストリーム（下記に開示される）を介して、ビデオ／オーディオ／アニメーションストリームのフローおよびレンダリングを制御してもよい。制御データは、時間が訪れ、アニメーションストリームが３Ｄモデルを制御する必要があるときに、３Ｄモデルが使用できる状態であり得るように、データ集約的オブジェクト（例えば、３Ｄモデル）が前もって事前ロードされ得るように、ビデオの先を見越して、ビデオ／オーディオ／アニメーションストリームに関して予測される内容を決定してもよい。制御データは、ユーザの帯域幅およびユーザの処理能力を考慮し、例えば、３Ｄモデルがアニメーションストリームによって必要とされる前に、制御データが３Ｄモデルをロードするために必要とし得るリード時間の量を決定してもよい。従来的に、ビデオおよびオーディオストリームは、それらのデータが、単にビデオプレーヤによって連続的にストリーミングおよび再生されるため、あまり前方に目を向ける、または先を見越す必要がない。ここでは、ビデオ、オーディオ、およびアニメーションストリームは、それぞれ、次または前のキーフレームの範囲まで、前方または後方に目を向け得る。しかしながら、制御データは、制御データがビデオコンテンツのレンダリングおよび表示において次に起こるものを制御することに関与し得るため、さらにもっと先を見越す必要があり得る。いくつかの実施形態では、ビデオのための制御データのコンテンツ全体が、ビデオの開始に応じてロードされてもよい。
【０１３８】
制御データ７２６は、使用され得るモデル７１８、およびモデル７１８（例えば、３Ｄモデル）が移動し得るようにモデル７１８にリンクする／関連付けるアニメーションを決定してもよい。例えば、制御データ７２６は、データ記憶から、モデル７１８から魚の３Ｄモデルを選択し、アニメーションを魚に関連付け、魚の３Ｄモデルをディスプレイ画面から出て３Ｄ環境の中に泳がせ、事前レンダリングされた３Ｄビデオを表示しているディスプレイ画面の周囲で円形に泳がせ、３Ｄ環境内のディスプレイ画面上に表示される事前レンダリングされた３Ｄビデオ内で泳ぐ類似する魚を伴って組み込まれるように、ディスプレイ画面の中に戻るように泳がせてもよい。
【０１３９】
字幕７１４は、ビデオ内のオーディオストリームに対応する字幕であってもよい。字幕７１４は、いくつかの言語の字幕を含んでもよい。ロケール７１６は、インビデオオーディオのためのいくつかの言語の局地的バージョンであってもよい。ロケール７１６は、ビデオがいくつかの言語のために作成され得るように、ロケールタグを通して参照されてもよい。モデル７１８は、少なくとも部分的にディスプレイ画面の外側にレンダリングおよび表示され得る、ビデオ内のオブジェクトの３Ｄモデルであってもよい。３Ｄモデルは、３Ｄオブジェクトのメッシュであってもよい。３Ｄオブジェクトのメッシュは、３Ｄオブジェクトの３Ｄモデルを形成するように頂点のセットを接続する、線のネットワークとして表されてもよい。材料７２０は、３Ｄモデル／メッシュを網羅するために使用され得る、種々の材料であってもよい。テクスチャ７２４は、モデル７１８をレンダリングするために使用され得る、種々のテクスチャであってもよい。いくつかの実施形態では、データがレンダリング可能な３Ｄモデルを表す限り、付加的または異なる３Ｄモデルデータが、含まれてもよい。
【０１４０】
複合現実ビデオフォーマットのデータストリーム７５０セクションは、ビデオ、オーディオ、およびアニメーションストリームのキーフレームおよびデルタフレームを含むデータのスライドウィンドウであってもよい。データストリーム７５０は、ビデオストリーム７６０と、オーディオストリーム７７０と、アニメーションストリーム７８０とを含んでもよい。ビデオストリーム７６０は、ビデオのビデオデータを含んでもよい。オーディオストリーム７７０は、ビデオストリーム７６０に対応するオーディオデータを含んでもよい。
【０１４１】
アニメーションストリーム７８０は、互換モデル７１８に適用され得る、モデルアニメーションを含んでもよい。アニメーションストリーム７８０は、３Ｄモデル／メッシュがビデオおよびオーディオストリームに対して移動および挙動する方法を制御してもよい。例えば、３Ｄモデル／メッシュは、魚の３Ｄモデルであってもよい。アニメーションストリームは、魚が移動する方法および魚がディスプレイ画面に対して表示される場所に関する命令を含んでもよい。例えば、ビデオの間のある時点で、アニメーションストリームは、ビデオ画面から出てユーザの環境の中に泳ぐものとして表示されるように、魚の３Ｄモデルに命令してもよい。魚は、ビデオ画面の周囲を泳いでもよく、魚は、ビデオ画面の中に戻るように泳いでもよく、その時間に、魚のためのアニメーションストリームが、終了してもよい。各３Ｄモデルは、その独自のアニメーションストリームを有してもよい。いくつかの３Ｄモデルは、１つを上回るアニメーションストリームに関連付けられ／リンクされてもよい。図７に描写される複数のアニメーションストリームは、本実施形態では、１つを上回るアニメーションストリームが存在し、したがって、１つ以上のモデルが、複数のアニメーションストリームに関連付けられ得ることを示す。他の実施形態では、単一のアニメーションストリームが、ビデオ内の１つ以上の３Ｄモデルの表示を管理するために使用されてもよい。
【０１４２】
制御ストリーム（図７に示されていない）は、データ記憶からロードし、ビデオのタイムライン内の適切な時間にモデルを関連付けられるアニメーションストリームにリンクするためのモデル／メッシュ／テクスチャ等を示すことに関与し得る。いくつかの実施形態では、制御ストリームは、ビデオプレーヤがビデオフォーマットからデータを読み取る／受信するときに、制御データおよびタイムラインコントローラモジュール（下記に議論される）から動的に生成されてもよい。制御ストリームは、キーフレームのみを含んでもよい。制御ストリームは、コマンド（制御コマンドと呼ばれ得る）および／または単純な論理ゲートを含み、ビデオのタイムライン内の適切な時間に再生するための１つ以上のモデルおよび／またはアニメーションの組み合わせを決定してもよい。
【０１４３】
いくつかの実施形態では、制御ストリームは、ビデオファイルからストリーミングされないが、データ記憶７１０内の制御データ７２６からメモリの中に事前ロードされる、データである。字幕と同様に、制御ストリームデータは、字幕および制御データファイルサイズの両方が、概して、あまり大きくなく、したがって、両方とも、使用されるメモリの量にあまり負担をかけずに、メモリの中にロードされ得るため、ファイルからストリーミングされる必要がない。メモリの中に制御ストリームを事前ロードすることは、データ記憶７１０から他のデータをロードするために要求されるバッファリングに対する有意な制御を提供する。例えば、メモリの中に事前ロードされている制御ストリームは、ビデオの先の時間（例えば、ビデオまたはオーディオストリームよりも先の時間）を見越して、表示されるべき今後のモデルおよびアニメーションを決定するように構成されてもよい。制御ストリームが、今後のモデルが（例えば、ユーザに現在表示されているビデオのための時間コントローラに従って、現在の時間に対して）必要とされることを決定する場合、適切なモデルおよびその関連付けられるアニメーション（該当する場合）は、モデルが制御ストリームによって実行されるときに、３Ｄモデルが、ビデオ、ビデオのオーディオ、およびアニメーションストリームと同期して表示され得るように、バッファされたメモリの中に事前ロードされてもよい。いくつかの実施形態では、制御ストリームは、メモリの中に事前ロードされる代わりに、ストリーミングされる。
【０１４４】
いくつかの実施形態では、３Ｄモデルは、いずれのアニメーションも伴わずに表示されるのみであってもよい。制御ストリームは、少なくとも部分的にモデルのサイズ、ユーザのネットワーク帯域幅、およびユーザのＶＲおよび／またはＡＲシステムの処理能力に基づいて、モデルおよびその関連付けられるアニメーション（該当する場合）を表示する時間が訪れるときに、モデルの準備ができていないこと、または時間内に表示されないことに起因して、ビデオ再生が遅延されないであろうように、モデルが前もってメモリの中にロードされる必要があり得る時間の程度を決定してもよい。いくつかの実施形態では、制御ストリームは、メモリの中にロードされるモデルが、ある時間にわたって必要とされ得ず、したがって、モデルが将来の時間に再び必要とされるまで、メモリからモデルをアンロードし得ることを決定してもよい。
【０１４５】
一実施形態では、ビデオフォーマットは、アニメーションストリームと、データ記憶と、ビデオストリームまたはオーディオストリームのうちの少なくとも１つとを含んでもよい。１つ以上のアニメーションストリームは、個別の互換モデルに適用されてもよい。いくつかの実施形態では、データ記憶は、再生されているビデオのセクションに応じて、ロードおよびアンロードされるデータの集合であってもよい。
【０１４６】
１つ以上の実施形態では、データ記憶は、ビデオファイルフォーマットを読み取るアプリケーションが最初にアクセスされるときに、メモリの中に完全にロードされてもよい。制御ストリームは、制御データがメモリの中に完全にロードされるときに、データ記憶７１０からの１つ以上の制御データ７２６からメモリの中に事前ロードされてもよい。制御ストリームは、ビデオファイル内の対応するビデオおよび／またはオーディオデータに先立って、制御データを読み取るように構成されてもよい。いくつかの実施形態では、制御ストリームは、ビデオおよび／またはオーディオストリームと非同期的にＭＲシステムの１つ以上のプロセッサによって読み取られるが、同期的に実行されてもよい。制御ストリームは、コマンド（例えば、制御コマンド）および／または単純な論理ゲートを備え、ビデオのタイムライン内の適切な時間に再生するためのモデルおよびアニメーションの組み合わせを決定してもよい。ビデオのタイムライン内の適切な時間は、ビデオストリームおよびオーディオストリームの対応する時間と対応する。
【０１４７】
１つ以上の実施形態では、制御ストリームは、キーフレームのみを備える。アニメーションストリーム、ビデオストリーム、およびオーディオストリームは、１つのキーフレームの先および後が見えるように構成されてもよい。１つ以上のアニメーションストリームは、１つ以上の３Ｄモデルと関連付けられるアニメーション命令に対応し得る。１つ以上のアニメーションストリームのうちの各アニメーションストリームは、データ記憶の３Ｄモデル、テクスチャ、または材料のうちの少なくとも１つに対応する。
【０１４８】
複合現実ビデオフォーマットの特徴の豊かさは、複合現実ビデオプレーヤによってサポートされる、いくつかの異なる制御コマンドによって処理されてもよい。いくつかの実施形態では、制御データは、ユーザがビデオ内およびビデオの外部でオブジェクトおよび機能を制御することを可能にするための制御コマンドのセットを含んでもよい。いくつかの実施形態では、制御コマンドは、拡張可能であり得る。いくつかの実施形態では、制御コマンドは、更新されてもよい。いくつかの実施形態では、制御コマンドは、動的であり得る。制御コマンドのタイプの実施例は、１）映画の速度を変更すること（これは、例えば、映画のある部分を早送りする、またはスキップすること、例えば、クレジットを通して早送りし、クレジット後の場面に到達することのユーザ履歴に基づき得る）、２）ユーザプロンプトを提供すること、または映画の開始時に照明を自動的に薄暗くし、映画の終了時に最初の照明に戻ること、３）映画の開始時に自動的にピザレストランに電話をかけること、または４）ユーザの視線に応じて、異なるように映画を再生することであってもよい。いくつかの実施形態では、制御ストリームは、完全スクリプト言語であってもよい。いくつかの実施形態では、本開示の複合現実映画は、プログラミング言語を備える映画またはビデオである。いくつかの実施形態では、用語「制御データ」および「制御ストリーム」は、同義的に使用される。
（複合現実ビデオプレーヤ）
【０１４９】
ビデオプレーヤは、３Ｄビデオフォーマット（例えば、ビデオフォーマット７００）を解釈してもよい。ビデオプレーヤは、仮想および／または拡張／複合現実ビデオプレーヤであってもよい。ビデオプレーヤは、ビデオフォーマット７００のデータ記憶７１０内のアニメーションストリームおよびデータへのアクセスを有してもよいため、ビデオプレーヤは、ビデオフォーマットを読み取る、および／または実行してもよい。典型的ビデオプレーヤは、データを読み取り、ビデオデータおよび／またはストリームからオーディオデータおよび／またはストリームを分離し、データをデコードし、ビデオを表示してもよい。しかしながら、複合現実ビデオプレーヤは、メモリの中に３Ｄモデルをロードすること、アニメーションストリームを３Ｄモデルに添付すること、およびモデルおよび対応するアニメーションがもはや必要とされない、または閾値時間周期にわたって必要とされないときに、メモリからそれらを除去すること等のさらにいくつかのアクションを実施してもよい。さらに、付加的双方向制御は、ユーザがビデオを変更する、またはビデオの一部を環境と相互作用させる決定を行うことを可能にしてもよい。
【０１５０】
例えば、ビデオは、例えば、複合現実ビデオプレーヤによって提供される付加的双方向制御を使用して、世界内のあるオブジェクト上に表示されるように、ビデオコンテンツのある部分を設置すること（例えば、ユーザの環境内のユーザの物理的椅子の上にレポータ１３０を設置すること）によって、環境に適応してもよい。別の実施例として、ユーザは、ユーザに表示され得るビデオコンテンツ、および可能性として、ビデオが終了し得る方法を改変および調節し得る、ビデオ内のある点で行われる決定に関する入力を提供することが可能であり得る。
【０１５１】
ビデオ監督者は、典型的には、従来的なビデオを作成する。複合現実ビデオプレーヤを用いて、ユーザは、ビデオを作成してもよい。例えば、ビデオを再生するとき、ビデオは、ユーザが敵を攻撃することを所望するであろうかどうかをユーザに尋ねてもよい。ユーザが攻撃することを選定する場合、ユーザは、敗北し得、ビデオは、特定の結末に到達し得る。しかしながら、ユーザが攻撃しないことを選定する場合には、ビデオの別の部分が、再生されてもよく、ビデオの異なる結末が、到達され得る。
【０１５２】
図８は、いくつかの実施形態による、ビデオプレーヤのコンポーネント図を示す。ビデオプレーヤ８０５は、仮想および／または拡張／複合現実プレーヤであってもよい。ビデオプレーヤ８０５は、時間コントローラ８１０と、データストリームバッファおよびスプリッタ８１５と、データ記憶バッファおよびコントローラ８２０と、ビデオ／オーディオデコーダ８２５と、アニメーションデコーダ８３０と、制御ストリーム８３５と、場面設定モジュール８４０とを含んでもよい。
【０１５３】
時間コントローラ８１０は、ビデオ（例えば、映画）ストリームの位置を制御してもよい。通常のビデオでは、時間コントローラは、単にタイムラインに対してビデオスライダの位置をインクリメントしてもよい。コマンドエグゼキュータ８５０（下記に開示される）から受信されるコマンドに応じて、ビデオのタイムレイは、ビデオの種々のセクションにジャンプしてもよい。
【０１５４】
データストリームバッファおよびスプリッタ８１５は、データ内にバッファし、着信ファイルデータストリーム７５０をビデオストリーム、オーディオストリーム、およびアニメーションストリーム等の個々のストリームに分割することに関与し得る。データ記憶バッファおよびコントローラ８２５は、データ記憶７１０からのデータ内にバッファし、前もってロードするデータを決定することに関与し得る。データストリームバッファおよびスプリッタ８１５と異なり、データ記憶バッファおよびコントローラ８２５は、制御ストリーム８３５および時間コントローラ８１０に基づいて、ストリーミングを開始するデータを確立する必要がある。
【０１５５】
着信データは、ビデオ／オーディオデコーダ８２５の中にストリーミングされてもよく、ビデオ／オーディオデコーダ８２５からの出力は、１つ以上のバッファフレームに書き込まれてもよい。オーディオは、エンジンのオーディオ取扱部分にルーティングされてもよい。アニメーションデコーダ８３０は、アニメーションストリームを、モデルに直接適用され得るフォーマットにデコードしてもよい。
【０１５６】
制御ストリーム８３５は、上記に開示されるように、図７からの制御データ７２６および時間コントローラ８１０から動的に生成されてもよい。制御ストリーム８３５は、現在のフレーム（例えば、ＭＲシステムを介してユーザに表示されているフレーム）内で実行するコマンドを示してもよい。
【０１５７】
場面設定８４０は、付加的双方向制御をユーザに提供し、ビデオが環境と相互作用することを可能にする、および／またはユーザがビデオと相互作用することを可能にし得る、モジュールの集合であってもよい。場面設定８４０は、入力コントローラ８４５と、コマンドエグゼキュータ８５０と、実行時双方向性進捗／保存データ８６０と、環境意識測位システム８６５とを含んでもよい。
【０１５８】
入力コントローラ８４５は、ユーザアクション、例えば、ジェスチャ、コントローラ入力、ダイアログボックス、環境（世界オブジェクト認識装置、例えば、椅子）等から入力を配信することに関与し得る。
【０１５９】
実行時双方向性進捗／保存データ８６０は、ビデオの現在の性質／状態を記憶してもよい。ビデオゲームと同様に、実行時双方向性進捗／保存データ８６０は、ビデオゲームを通したユーザ進捗として、ビデオゲーム用の保存ファイルに書き込まれるであろう、データであってもよい。ここで、ユーザがビデオを通して進行するにつれて、実行時双方向性進捗／保存データ８６０は、ここまでレンダリングおよび表示されたビデオフローを記憶してもよい。特に、ユーザが、ビデオのフローをビデオファイルの特定のセクションに送信した決定を行った場合、実行時双方向性進捗／保存データ８６０は、ビデオ履歴を捕捉することによってユーザのためのビデオの状態を維持するために、特定の順序で表示される前のキーフレームを含んでもよい。
【０１６０】
環境意識測位システム８６５は、ユーザがビデオを鑑賞することに基づいて、ビデオ、モデル等を動的に位置付けることに関与し得る。例えば、ユーザの家庭設定に応じて、３Ｄモデルおよびビデオフレームは、好適に位置付けられてもよい。好適な位置は、種々の方法で決定されてもよい。いくつかの実施形態では、３Ｄモデルは、対応する設置データを有してもよい。本設置データは、オブジェクトのタイプ（例えば、椅子、床等）を規定し、上または近傍にオブジェクトを設置してもよい、またはコンテンツを表示するために必要とされる特性のセットを規定してもよい（例えば、椅子を規定する代わりに、床の１〜３フィート上方の水平表面が、代わりに規定され得る）。環境意識測位システム８６５は、３Ｄモデルを好適に位置付けるために、（例えば、パス可能世界にアクセスするように）複合現実エンジンと通信してもよい。
【０１６１】
制御ストリーム８３５からのコマンドが、コマンドエグゼキュータ８５０によって受信され、解釈されてもよく、適切な論理アクションが、実行されてもよい。これは、モデルおよびアニメーションストリームの初期統合が行われる場所であってもよい。論理アクションはまた、少なくとも部分的にユーザ入力から決定されてもよく、結果は、実行時双方向性データ８６０内に記憶されてもよい。ビデオプレーヤの能力を拡張し、充実させる、１つ以上のコマンドの実施例が、コマンドエグゼキュータ８５０に追加されてもよい。いくつかの実施例は、（１）画面上にモデルを提示し、アニメーションストリームに関連付けること、（２）ユーザの環境内の場所にモデルを再配置すること（椅子がない場合には、デフォルト場所が使用されてもよい）、および（３）ユーザが決定を選定するための相互作用ダイアログを提示することを含む。
【０１６２】
複合現実ビデオプレーヤ８０５の出力は、複合現実エンジン８９０に送信されてもよい。複合現実エンジン８９０は、ゲームエンジンに類似し得る。複合現実エンジン８９０は、ビデオおよびモデルをレンダリングすることが可能なエンジンであってもよく、ユーザの頭部姿勢に基づいて、場面の最終組成に使用されてもよい。他のＶＲおよび／またはＡＲ技術および／または能力への相互作用およびアクセスは、本複合現実エンジン８９０を通してインターフェースをとられてもよい。
【０１６３】
図９は、いくつかの実施形態による、ビデオフォーマットを処理するビデオプレーヤのフローを示す。ビデオプレーヤ９００は、仮想および／または拡張／複合現実ビデオプレーヤであってもよい。ビデオプレーヤ９００のフローは、タイムラインに対して描写され、時間は、図９の上から開始し、図９の下まで進み、ビデオ終了９７０において終了して流れる。タイムラインコントローラ８１０は、図８からの時間コントローラ８１０であってもよい。タイムラインコントローラ８１０は、ユーザに表示されている現在のフレームを示し得る、ビデオストリームの位置を制御してもよい。ビデオプレーヤ９００は、複合現実ビデオファイルフォーマットで複合現実ビデオファイルからデータを読み取る／受信してもよい。複合現実ビデオフォーマットのビデオ特徴は、立体３Ｄビデオであってもよい。複合現実ビデオファイルフォーマットは、アニメーションストリーム９１５と、制御データを備えるデータ記憶と、ビデオストリーム９０５と、オーディオストリーム９１０とを含んでもよい。アニメーションストリーム９１５、ビデオストリーム９０５、およびオーディオストリーム９１０は、それぞれ、図７からのアニメーションストリーム７８０、ビデオストリーム７６０、およびオーディオストリーム７７０に対応し得る。
【０１６４】
ビデオストリーム９０５は、ビデオのビデオデータの１つ以上のストリームを含んでもよい。オーディオストリーム９１０は、ビデオのオーディオデータの１つ以上のストリームを含んでもよい。１つ以上のオーディオストリームは、ユーザ選定オプションに応じて、ビデオが使用し得る種々の言語に対応し得る。１つ以上のビデオストリームは、例えば、捕捉される複数の視界に対応し得る。現在のビデオ圧縮アプローチでは、ビデオおよびオーディオデータは、ビデオおよびオーディオデータがビデオプレーヤにストリーミングされ得るように、データ集約的であり得る。上記に議論されるように、一般的なストリーミング圧縮技法は、全てのフレームから独立し得るキーフレーム９２５、および別のキーフレーム９３３が遭遇されるまでキーフレーム９２５との差異のみを搬送し得る、後続のデルタフレーム９３０内で送信することを伴う。
【０１６５】
上記に開示されるように、アニメーションストリーム９１５は、互換３Ｄモデルに適用され得る、モデルアニメーションを含んでもよい。アニメーションストリーム９１５は、３Ｄモデル／メッシュがビデオおよびオーディオストリーム（例えば、ビデオ）に対して移動および挙動する方法（例えば、移動、配向、位置等）を制御してもよい。アニメーションデータは、１つ以上のアニメーションストリーム内でビデオプレーヤ９００にストリーミングされてもよい。１つ以上のアニメーションストリームは、ビデオの間の特定の時間に表示され得る、１つ以上のモデル／メッシュ／テクスチャに対応し得、１つ以上のモデルは、３Ｄビデオのディスプレイ画面の外側に表示されてもよい。
【０１６６】
制御ストリーム９２０は、データ記憶から受信される制御データから動的に生成され、時間コントローラ８１０によって解釈されてもよい。上記に開示されるように、制御ストリームは、データ記憶９４５からロードし、ビデオストリーム９０５およびオーディオストリーム９１０からのフレームと対応するように、ビデオのタイムライン内の適切な時間に（例えば、９４０において）モデル／メッシュ／テクスチャを関連付けられるアニメーションストリームにリンクするためのモデル／メッシュ／テクスチャ等を示すことに関与し得る。制御ストリーム９２０は、キーフレーム（例えば、キーフレーム９３５ａおよびキーフレーム９３５ｂ）を含んでもよい。制御ストリーム９２０は、コマンドおよび単純な論理ゲートを含み、ビデオのタイムライン内の適切な時間に再生するためのモデルおよびアニメーションの組み合わせを決定してもよい。
【０１６７】
いくつかの実施形態では、制御ストリーム９２０は、ビデオファイルからストリーミングされないが、代わりにメモリの中に事前ロードされるデータである。制御ストリーム９２０がメモリの中に事前ロードされるため、ビデオプレーヤ９００は、ビデオのタイムラインおよび／またはビデオストリームの時間の先を見越し、アニメーションの有無を問わず、データ記憶からの３Ｄモデルが、表示されている３Ｄモデルを予期してメモリの中に事前ロードされる必要があり得るときを決定してもよい。いくつかの実施形態では、モデルをロードするためのリード時間が、３Ｄモデルのデータのサイズ、ネットワーク帯域幅、および／またはユーザの仮想および／または拡張現実システム（例えば、ディスプレイシステム１０４）の処理能力に基づいて、決定されてもよい。いくつかの実施形態では、制御ストリームは、メモリの中に事前ロードされる代わりにストリーミングされる。いくつかの実施形態では、制御ストリームおよび制御データは、同義的に使用されてもよい。いくつかの実施形態では、これは、制御ストリームが実行されている制御データであるためであってもよい。いくつかの実施形態では、これは、それらが同一のものであるためであってもよい。いくつかの実施形態では、これは、制御データがストリーミングされているためであってもよい。
【０１６８】
いくつかの実施形態では、ビデオプレーヤ９００は、ビデオストリーム、オーディオストリーム、アニメーションストリーム、および／または制御データを備える、ビデオファイルを受信してもよい。制御ストリームは、制御データおよびビデオプレーヤの時間コントローラから生成されてもよい。９４０では、３Ｄモデルが、少なくとも部分的に、３Ｄモデルがビデオ内で表示される必要があり得るときの制御ストリーム予測に基づいて、メモリ（図示せず）の中に事前ロードされてもよい。ビデオプレーヤは、３Ｄモデルをロードするためのリード時間を決定（例えば、計算）し、アニメーションの有無を問わず、３Ｄモデルがユーザに表示される準備ができていることを確実にしてもよい。アニメーションが３Ｄモデルとともに含まれる場合、制御ストリームは、ロードされた３Ｄモデルとアニメーションストリーム９１５からのアニメーションストリームとの間のリンクを関連付けることによって、３Ｄオブジェクトをアニメーションストリームに添付してもよい。ビデオは、ＶＲおよび／またはＡＲデバイス（例えば、ディスプレイシステム１０４）を使用して、ユーザに表示されてもよい。ユーザには、ビデオのある部分において、３Ｄオブジェクトが仮想テレビの前面から出て、ユーザの環境で動き回り、随意に、仮想テレビに再進入するように見え得るように、仮想テレビ上に表示される３Ｄビデオが見え得る。
【０１６９】
別の実施形態では、制御ストリーム９２０は、９５０において、例えば、夜明けに攻撃するかどうかユーザに質問を表示するようにビデオプレーヤ９００に命令してもよい。ユーザが、「はい」を選定し、夜明けに攻撃する場合、制御ストリームは、９６５において、「成功」をタイムラインにタグ付けし、ミッション「成功」タグをタイムラインコントローラ８１０に通信してもよい。代替として、ユーザが「いいえ」を選定し、夜明けに攻撃しない場合、制御ストリームは、９６０において、「失敗」をタイムラインにタグ付けし、ミッション「失敗」タグをタイムラインコントローラ８１０に通信してもよい。
【０１７０】
タイムラインコントローラ８１０は、ミッションのためのタイムラインタグを受信した後、成功したミッションに基づいて継続するビデオの一部または失敗したミッションに基づいて継続するビデオの一部まであるかどうかにかかわらず、タイムラインをビデオの適切な部分にスキップ／ジャンプさせ、ビデオを継続してもよい。ユーザから受信される相互作用は、頭部姿勢、視標追跡、視線、ユーザの手のジェスチャ、トーテムジェスチャまたは入力、またはオブジェクト認識装置のうちの少なくとも１つを含んでもよい。９５５では、ビデオの状態が、ユーザによって提供される回答を捕捉するように、実行時双方向性データとともに記憶されてもよい。本実施形態は、ビデオファイル（例えば、複合現実ビデオフォーマットファイル）を受信するビデオプレーヤ９００が、制御ストリーム９２０を使用してユーザ双方向３Ｄビデオを表示し、次に表示されるべきビデオの一部を指示するユーザ相互作用を捕捉し、したがって、ユーザが、ビデオの筋書きが終了し得る方法を指示および制御することを可能にし得る、方法を開示する。いくつかの実施形態では、実行時双方向性データ９５５は、少なくとも部分的に制御コマンドを解釈してもよい。例えば、９５５は、制御コマンドがユーザ選択肢を備えるときに、ユーザ選択を解釈してもよい。実行時双方向性データは、いくつかの実施形態では、ユーザ選択がビデオの状態に影響を及ぼし得る、コマンドエグゼキュータ８５０にパスされてもよい。いくつかの実施形態では、９５５は、ユーザ選択肢を備えない制御コマンドを解釈してもよい。例えば、制御コマンドは、ユーザの年齢（複合現実システム上のユーザのプロファイル内に記憶され得る）に基づいて、ビデオコンテンツを自動的に検閲するように機能してもよい。
【０１７１】
複合現実ビデオファイルフォーマットを作成および編集するための複合現実ビデオエディタ（図示せず）は、ビデオストリーム、オーディオストリーム、アニメーションストリーム、および複合現実ビデオフォーマットのデータ記憶を編集するためのツールを含んでもよい。ツールは、例えば、ユーザが、（１）データ記憶の中にモデルを作成またはインポートすること、（２）保存されたアニメーションストリームからアニメーションストリームを定義すること、および／またはモデルを制御するための新しいアニメーションストリームを作成すること、（３）アニメーションストリームを互換モデルに関連付けること、（４）例えば、構成されたユーザ帯域幅およびユーザのＶＲおよび／またはＡＲシステムの処理能力に基づいて、モデルが事前ロードされ得るときを定義すること、（５）ユーザの環境内のオブジェクト上に表示され得るビデオおよびオーディオストリームの一部を定義すること、および／または（６）ビデオを視聴するユーザに質問が尋ねられる方法および／またはその内容、およびユーザからの各回答がビデオの一部にスキップし得る方法等を定義することを可能にしてもよい。
【０１７２】
複合現実ビデオファイルフォーマットは、少なくとも１つのアニメーションストリームと、付加的アセットを従来的なビデオファイルフォーマットの中に追加し、本開示の１つ以上の実施形態を実装するためのデータ記憶を備えてもよい。複合現実ビデオプレーヤが、複合現実ビデオファイルフォーマット内の複合現実ビデオを解釈および処理するために使用されてもよい。
【０１７３】
制御ストリームを解釈および実行するビデオプレーヤは、ＶＲおよび／またはＡＲシステムが新しい新規の方法で３Ｄビデオを表示することを可能にしてもよい。例えば、ディスプレイ画面の外に出ているかのように見えるように３Ｄオブジェクトを表示することは、３Ｄモデルが表示される必要があるときの予測に基づいて、メモリの中に３Ｄモデルを事前ロードし、３Ｄモデルを、３Ｄモデルの移動を制御するためのアニメーションストリームに添付することによって、達成され得る。これは、３Ｄビデオと組み合わせて３Ｄモデルを表示し、３Ｄビデオ内の３Ｄオブジェクトが従来的な３Ｄビデオを表示する従来的なディスプレイ画面から実際に溢れ出る、または外に出るように見え得る、３Ｄビデオのより現実的な視界を提供するための仮想および／または拡張現実システムの能力を向上させ得る。いくつかの実施形態では、アニメーションストリーム９１５、制御データ、および制御ストリーム９２０の追加は、ビデオプレーヤ９００によって解釈されると、ＶＲおよび／またはＡＲシステムが、コンピュータの処理能力を低減させ、ボクセルおよび／または体積ベースのビデオストリーム等の他の技法と比較して、３Ｄビデオを生成するために必要とされ得るメモリの量を低減させる効率的な様式で、ディスプレイ画面から実際に溢れ出る／または外に出得る、３Ｄオブジェクトを伴って３Ｄビデオを表示することを可能にする。
（付加的実施形態）
【０１７４】
本開示の付加的実施形態が、下記に説明される。これらの付加的実施形態は、上記に開示される実施形態からの要素を組み込み得る。
実施形態１．
実施形態であって、
最終３Ｄレンダリング世界内のポータルを識別するステップであって、ポータルは、最終３Ｄレンダリング世界の表面内の開口部である、ステップと、
最終３Ｄレンダリング世界のポータルの中に第１の２Ｄ立体画像および第２の２Ｄ立体画像をレンダリングするステップと、
を含む、実施形態。
実施形態２．
拡張現実デバイスを通して、レンダリングされた最終３Ｄレンダリング世界をユーザに表示するステップをさらに含む、実施形態１に記載の方法。
実施形態３．
第１の２Ｄ立体画像は、右眼用であり、第２の２Ｄ立体画像は、左眼用である、実施形態１に記載の方法。
実施形態４．
第１の２Ｄ立体画像および第２の２Ｄ立体画像は、従来的な３Ｄビデオから供給される、実施形態３に記載の方法。
実施形態５．
第１の２Ｄ立体画像および第２の２Ｄ立体画像は、３Ｄレンダリング世界の異なる部分内に位置する２つの仮想レンダリングカメラから供給される、実施形態３に記載の方法。
実施形態６．
第１の２Ｄ立体画像および第２の２Ｄ立体画像は、実世界コンテンツを捕捉する２つのカメラから供給される、実施形態３に記載の方法。
実施形態７．
第１の２Ｄ立体画像および第２の２Ｄ立体画像は、異なる３Ｄレンダリング世界から供給される、実施形態３に記載の方法。
実施形態８．
異なる３Ｄレンダリング世界は、ポータルアイコンである、実施形態７に記載の方法。
実施形態９．
ポータルは、仮想テレビ画面である、実施形態１に記載の方法。
実施形態１０．
仮想および／または拡張現実ディスプレイシステムであって、
最終３Ｄレンダリング空間と、
データを処理するためのモジュールであって、モジュールは、メモリ内に記憶され、
最終３Ｄレンダリング世界内のポータルを識別するステップであって、ポータルは、最終３Ｄレンダリング世界の表面内の開口部である、ステップと、
最終３Ｄレンダリング世界のポータルの中に第１の２Ｄ立体画像および第２の２Ｄ立体画像をレンダリングするステップと、
を実施するように構成される、モジュールと、
を備える、仮想および／または拡張現実ディスプレイシステム。
実施形態１１．
レンダリングされた最終３Ｄレンダリング世界をユーザに表示するステップをさらに含む、実施形態１０に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１２．
第１の２Ｄ立体画像は、右眼用であり、第２の２Ｄ立体画像は、左眼用である、実施形態１０に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１３．
第１の２Ｄ立体画像および第２の２Ｄ立体画像は、従来的な３Ｄビデオから供給される、実施形態１２に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１４．
第１の２Ｄ立体画像および第２の２Ｄ立体画像は、３Ｄレンダリング世界の異なる部分内に位置する２つの仮想レンダリングカメラから供給される、実施形態１２に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１５．
第１の２Ｄ立体画像および第２の２Ｄ立体画像は、実世界コンテンツを捕捉する２つのカメラから供給される、実施形態１２に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１６．
第１の２Ｄ立体画像および第２の２Ｄ立体画像は、第２の３Ｄレンダリング世界から供給される、実施形態１２に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１７．
第２の３Ｄレンダリング世界は、ポータルアイコンである、実施形態１６に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１８．
ポータルは、仮想テレビ画面である、実施形態１０に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１９．
仮想および／または拡張現実環境内で３Ｄビデオを表示する方法であって、
３Ｄビデオを識別するステップと、
仮想および／または拡張現実環境の一部内で３Ｄビデオを表示するための体積空間を識別するステップと、
体積空間内で３Ｄビデオをレンダリングするステップと、
を含む、方法。
実施形態２０．
３Ｄビデオは、立体３Ｄビデオである、実施形態１９に記載の方法。
実施形態２１．
体積空間は、３Ｄオブジェクトのポータルビューである、実施形態１９に記載の方法。
実施形態２２．
３Ｄオブジェクトは、平面視認ディスプレイを有する、仮想テレビである、実施形態２１に記載の方法。
実施形態２３．
３Ｄビデオは、仮想テレビの平面視認ディスプレイ内でレンダリングされる、実施形態２２に記載の方法。
実施形態２４．
３Ｄビデオからの第１の深度情報は、仮想および／または拡張環境体積空間の一部の第１の場所から、３Ｄビデオを視認するユーザの第２の場所までの第２の深度情報に追加される、実施形態１９に記載の方法。
実施形態２５．
仮想および／または拡張現実ディスプレイシステムであって、
仮想および／または拡張現実環境を捕捉するためのカメラと、
データを処理するためのモジュールであって、モジュールは、メモリ内に記憶され、モジュールは、
３Ｄビデオを識別し、
仮想および／または拡張現実環境の一部内で３Ｄビデオを表示するための体積空間を識別し、
体積空間内で３Ｄビデオをレンダリングする、
モジュールと、
を備える、仮想および／または拡張現実ディスプレイシステム。
実施形態２６．
３Ｄビデオは、立体３Ｄビデオである、実施形態２５に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態２７．
体積空間は、３Ｄオブジェクトのポータルビューである、実施形態２５に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態２８．
３Ｄオブジェクトは、平面視認ディスプレイを有する、仮想テレビである、実施形態２７に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態２９．
３Ｄビデオは、仮想テレビの平面視認ディスプレイ内でレンダリングされる、実施形態２８に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態３０．
３Ｄビデオからの第１の深度情報は、仮想および／または拡張環境体積空間の一部の第１の場所から、３Ｄビデオを視認するユーザの第２の場所までの第２の深度情報に追加される、実施形態２５に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態３１．
ディスプレイ画面の表面を越えて延在する３Ｄビデオを表示する方法であって、
３Ｄビデオを識別するステップと、
３Ｄビデオに対応する１つ以上の３Ｄモデルを生成するステップと、
３Ｄビデオのレンダリングとともに、適切なトリガ時間に１つ以上の３Ｄモデルをレンダリングするステップと、
を含む、方法。
実施形態３２．
３Ｄビデオは、立体３Ｄビデオである、実施形態３１に記載の方法。
実施形態３３．
１つ以上の３Ｄモデルは、アニメーションを伴って生成される、実施形態３２に記載の方法。
実施形態３４．
３Ｄビデオのディスプレイ画面外に１つ以上の３Ｄモデルのアニメーションを表示するステップをさらに含む、実施形態３３に記載の方法。
実施形態３５．
１つ以上の３Ｄモデルのアニメーションは、３Ｄビデオの平面から出て、ユーザの３Ｄ環境の中に入るように見える、実施形態３４に記載の方法。
実施形態３５ａ．
１つ以上の３Ｄモデルのアニメーションは、３Ｄビデオの非平面から出て、ユーザの３Ｄ環境の中に入るように見える、実施形態３４に記載の方法。
実施形態３６．
１つ以上の３Ｄモデルを１つ以上のビデオペイン上にレンダリングするステップと、
１つ以上の視認配向のために同時に１つ以上のビデオペインを表示するステップと、
をさらに含む、実施形態３１に記載の方法。
実施形態３７．
立体３Ｄビデオは、１つ以上の３Ｄモデルを伴って表示される、実施形態３２に記載の方法。
実施形態３８．
深度情報が、３Ｄビデオおよび１つ以上の３Ｄモデルのレンダリングの考慮に入れられ、深度情報は、仮想および／または拡張現実デバイスのユーザから３Ｄビデオまでの距離を備え、個別の１つ以上の３Ｄモデルは、仮想および／または拡張現実環境内に表示される、実施形態３１に記載の方法。
実施形態３９．
３Ｄビデオは、制御データを備え、制御データは、３Ｄビデオのレンダリングとともに、適切なトリガ時間に１つ以上の３Ｄモデルをレンダリングするようにビデオプレーヤに命令する、実施形態３１に記載の方法。
実施形態３９ａ．
制御データは、３Ｄビデオ内および３Ｄビデオの外部のオブジェクトおよび機能を制御するための制御コマンドのセットを備える、実施形態３９に記載の方法。
実施形態３９ｂ．
制御コマンド（例えば、制御コマンドのセット）は、拡張可能、更新可能、または動的のうちの少なくとも１つである、実施形態３９ａに記載の方法。
実施形態３９ｃ．
制御コマンドは、３Ｄビデオの速度を変更するステップ、３Ｄビデオの開始時にユーザ環境内の照明を薄暗くするためのユーザプロンプトを提供するステップ、３Ｄビデオの開始時にピザレストランに電話をかけるステップ、または少なくとも部分的にユーザの視線に基づいて、異なるように３Ｄビデオを再生するステップのうちの少なくとも１つを含む、実施形態３９ｂに記載の方法。
実施形態３９ｄ．
３Ｄビデオは、３Ｄ映画であって、プログラミング言語を備える、３Ｄ映画である、実施形態３１に記載の方法。
実施形態４０．
１つ以上の３Ｄモデルのレンダリングは、少なくとも部分的にボクセルベースのビデオストリームに基づく、実施形態３１に記載の方法。
実施形態４１．
ディスプレイ画面の表面を越えて延在する３Ｄビデオを表示するためのディスプレイシステムであって、
拡張現実頭部搭載型ディスプレイシステムと、
３Ｄ最終レンダリング世界と、
２つ以上の仮想カメラと、
データを処理するための１つ以上のモジュールであって、１つ以上のモジュールは、１つ以上のメモリ内に記憶され、１つ以上のモジュールは、
３Ｄビデオを識別するステップと、
３Ｄビデオに対応する１つ以上の３Ｄモデルを生成するステップと、
３Ｄビデオのレンダリングとともに、適切なトリガ時間に１つ以上の３Ｄモデルをレンダリングするステップと、
を実施するように構成される、１つ以上のモジュールと、
を備える、システム。
実施形態４２．
３Ｄビデオは、立体３Ｄビデオである、実施形態４１に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態４３．
１つ以上の３Ｄモデルは、アニメーションを伴って生成される、実施形態４２に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態４４．
モジュールはさらに、３Ｄビデオのディスプレイ画面外に１つ以上の３Ｄモデルのアニメーションを表示するステップを含む、実施形態４３に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態４５．
１つ以上の３Ｄモデルのアニメーションは、３Ｄビデオの平面から出て、ユーザの３Ｄ環境の中に入るように見える、実施形態４４に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態４５ａ．
１つ以上の３Ｄモデルのアニメーションは、３Ｄビデオの非平面から出て、ユーザの３Ｄ環境の中に入るように見える、実施形態４４に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態４６．
１つ以上のモジュールはさらに、
１つ以上の３Ｄモデルを１つ以上のビデオペイン上にレンダリングするステップと、
１つ以上の視認配向のために同時に１つ以上のビデオペインを表示するステップと、
を実施するように構成される、実施形態４１に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態４７．
立体３Ｄビデオは、１つ以上の３Ｄモデルを伴って表示される、実施形態４２に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態４８．
深度情報が、３Ｄビデオおよび１つ以上の３Ｄモデルのレンダリングの考慮に入れられ、深度情報は、仮想および／または拡張現実デバイスのユーザから３Ｄビデオまでの距離を備え、個別の１つ以上の３Ｄモデルは、仮想および／または拡張現実環境内に表示される、実施形態４１に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態４９．
３Ｄビデオは、制御データを備える、ビデオファイルフォーマットを有し、制御データは、３Ｄビデオのレンダリングとともに、適切なトリガ時間に１つ以上の３Ｄモデルをレンダリングするようにビデオプレーヤに命令する、実施形態４１に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態４９ａ．
制御データは、３Ｄビデオ内および３Ｄビデオの外部のオブジェクトおよび機能を制御するための制御コマンドのセットを備える、実施形態４９に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態４９ｂ．
制御コマンド（例えば、制御コマンドのセット）は、拡張可能、更新可能、または動的のうちの少なくとも１つである、実施形態４９ａに記載の仮想および／または拡張現実ディスプレイシステム。
実施形態４９ｃ．
制御コマンドは、３Ｄビデオの速度を変更するステップ、３Ｄビデオの開始時にユーザ環境内の照明を薄暗くするためのユーザプロンプトを提供するステップ、３Ｄビデオの開始時にピザレストランに電話をかけるステップ、または少なくとも部分的にユーザの視線に基づいて、異なるように３Ｄビデオを再生するステップのうちの少なくとも１つを含む、実施形態４９ｂに記載の仮想および／または拡張現実ディスプレイシステム。
実施形態４９ｄ．
３Ｄビデオは、３Ｄ映画であって、プログラミング言語を備える、３Ｄ映画である、実施形態３１に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態５０．
１つ以上の３Ｄモデルのレンダリングは、少なくとも部分的にボクセルベースのビデオストリームに基づく、実施形態４１に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態５１．
方法であって、
３Ｄ環境内に２つの第１段階カメラを設置するステップと、
２つの第１段階カメラから１つ以上の対の２Ｄ画像を捕捉するステップと、
１つ以上の対の２Ｄ画像を、最終段階場面内の場所の中に設置するステップと、
２つの最終段階カメラから最終段階場面をレンダリングするステップと、
を含む、方法。
実施形態５２．
仮想および／または拡張現実デバイスを介して最終段階場面を表示するステップをさらに含む、実施形態５１に記載の方法。
実施形態５３．
場所は、ポータルである、実施形態５１に記載の方法。
実施形態５４．
２つの第１段階カメラのうちの第１のカメラは、左眼の視点から２Ｄ画像を捕捉し、２つの第１段階カメラのうちの第２のカメラは、右眼の視点から２Ｄ画像を捕捉する、実施形態５１に記載の方法。
実施形態５５．
１つ以上の他の対の２つの２Ｄ画像は、ユーザの両眼に対応する、２つの最終段階カメラから捕捉される、実施形態５１に記載の方法。
実施形態５６．
２つの第１段階カメラは、最終段階の２つのレンダリングカメラと異なる３Ｄ環境の場所にある、実施形態５５に記載の方法。
実施形態５７．
２つの第１段階カメラは、仮想カメラであり、３Ｄ環境は、３Ｄ仮想世界である、実施形態５１に記載の方法。
実施形態５８．
３Ｄ環境は、実際の世界である、実施形態５１に記載の方法。
実施形態５９．
仮想および／または拡張現実ディスプレイシステムであって、
３Ｄ環境内に設置される、２つの第１段階カメラであって、１つ以上の対の２Ｄ画像を捕捉する、２つの第１段階カメラと、
２つの最終段階カメラであって、最終段階場面を捕捉する、２つの最終段階カメラと、
データを処理するためのモジュールであって、モジュールは、メモリ内に記憶され、
１つ以上の対の２Ｄ画像を、最終段階場面内の場所の中に設置するステップと、
２つの最終段階カメラから捕捉される１つ以上の他の対の２Ｄ画像から、最終段階場面をレンダリングするステップと、
を実施するように構成される、モジュールと、
を備える、仮想および／または拡張現実ディスプレイシステム。
実施形態６０．
最終段階場面を表示するステップをさらに含む、実施形態５９に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態６１．
場所は、ポータルである、実施形態５９に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態６２．
２つの第１段階カメラのうちの第１のカメラは、左眼の視点から２Ｄ画像を捕捉し、２つの第１段階カメラのうちの第２のカメラは、右眼の視点から２Ｄ画像を捕捉する、実施形態５９に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態６３．
１つ以上の他の対の２つの２Ｄ画像は、ユーザの両眼に対応する、２つの最終段階カメラから捕捉される、実施形態５９に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態６４．
２つの第１段階カメラは、最終段階の２つのレンダリングカメラと異なる３Ｄ環境の場所にある、実施形態６３に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態６５．
２つの第１段階カメラは、仮想カメラであり、３Ｄ環境は、３Ｄレンダリング世界である、実施形態５９に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態６６．
３Ｄ環境は、実際の世界である、実施形態５９に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態６７．
第１のソースからの第１の３Ｄコンテンツを第２のソースからの第２の３Ｄコンテンツの中に設置するステップを含む、方法。
実施形態６８．
仮想および／または拡張現実デバイスを介して、第２の３Ｄコンテンツを表示するステップをさらに含む、実施形態６７に記載の方法。
実施形態６９．
第１の３Ｄコンテンツは、第２の３Ｄコンテンツ内のポータルの中に設置される、実施形態６７に記載の方法。
実施形態７０．
第１のソースの第１のカメラは、左眼の視点から２Ｄ画像を捕捉し、第１のソースの第２のカメラは、右眼の視点から２Ｄ画像を捕捉する、実施形態６７に記載の方法。
実施形態７１．
別の一対の２つの２Ｄ画像は、第２のソースからの２つの他のカメラから捕捉され、一対の２つの２Ｄ画像は、第２のソースからの場面を視認するユーザの両眼に対応する、実施形態６７に記載の方法。
実施形態７２．
第１のソースからの２つのカメラは、第２のソースからの２つの他のカメラと異なる３Ｄ環境の場所にある、実施形態６７に記載の方法。
実施形態７３．
第１の３Ｄコンテンツは、２つの仮想カメラから捕捉され、第１のソースは、３Ｄ仮想世界である、実施形態６７に記載の方法。
実施形態７４．
第１のソースは、実際の世界である、実施形態６７に記載の方法。
実施形態７５．
仮想および／または拡張現実ディスプレイシステムであって、
仮想および／または拡張現実環境を捕捉するためのカメラと、
データを処理するためのモジュールであって、モジュールは、メモリ内に記憶され、モジュールは、実行されると、第１のソースからの第１の３Ｄコンテンツを第２のソースからの第２の３Ｄコンテンツの中に設置するプロセスを実施する、モジュールと、
を備える、仮想および／または拡張現実ディスプレイシステム。
実施形態７６．
モジュールは、実行されると、仮想および／または拡張現実デバイスを介して、第２の３Ｄコンテンツを表示するステップをさらに含む、実施形態７５に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態７７．
第１の３Ｄコンテンツは、第２の３Ｄコンテンツ内のポータルの中に設置される、実施形態７５に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態７８．
第１のソースの第１のカメラは、左眼の視点から２Ｄ画像を捕捉し、第１のソースの第２のカメラは、右眼の視点から２Ｄ画像を捕捉する、実施形態７５に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態７９．
別の一対の２つの２Ｄ画像は、第２のソースからの２つの他のカメラから捕捉され、一対の２つの２Ｄ画像は、第２のソースからの場面を視認するユーザの両眼に対応する、実施形態７５に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態８０．
第１のソースからの２つのカメラは、第２のソースからの２つの他のカメラと異なる３Ｄ環境の場所にある、実施形態７５に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態８１．
第１の３Ｄコンテンツは、２つの仮想カメラから捕捉され、第１のソースは、３Ｄ仮想世界である、実施形態７５に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態８２．
第１のソースは、実際の世界である、実施形態７５に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態８３．
立体画像の第２のセットの内側に立体画像の第１のセットを設置するステップを含む、方法。
実施形態８４．
仮想および／または拡張現実デバイスを介して立体画像の第２のセットを表示するステップをさらに含む、実施形態８３に記載の方法。
実施形態８５．
立体画像の第１のセットは、立体画像の第２のセット内のポータルの中に設置される、実施形態８３に記載の方法。
実施形態８６．
立体画像の第１のセットは、左眼の視点から２Ｄ画像を捕捉する第１のカメラ、および右眼の視点から２Ｄ画像を捕捉する第２のカメラによって、捕捉される、実施形態８３に記載の方法。
実施形態８７．
立体画像の第２のセットは、２つの他のカメラによって捕捉され、２つの他のカメラは、立体画像の第２のセットを捕捉し、２つの他のカメラは、ポータル内で立体画像の第１のセットを示す場面を視認するユーザの両眼に対応する、実施形態８３に記載の方法。
実施形態８８．
立体画像の第１のセットは、立体画像の第２のセットを捕捉する２つの他のカメラと異なる場所から、２つのカメラから捕捉される、実施形態８７に記載の方法。
実施形態８９．
立体画像の第１のセットは、３Ｄ仮想世界で２つの仮想カメラから捕捉される、実施形態８３に記載の方法。
実施形態９０．
立体画像の第１のセットは、実際の世界で２つのカメラから捕捉される、実施形態８３に記載の方法。
実施形態９１．
仮想および／または拡張現実ディスプレイシステムであって、
仮想および／または拡張現実環境を捕捉するためのカメラと、
データを処理するためのモジュールであって、モジュールは、メモリ内に記憶され、モジュールは、実行されると、立体画像の第２のセットの内側に立体画像の第１のセットを設置するプロセスを実施する、モジュールと、
を備える、仮想および／または拡張現実ディスプレイシステム。
実施形態９２．
モジュールは、実行されると、仮想および／または拡張現実デバイスを介して立体画像の第２のセットを表示するステップをさらに含む、プロセスを実施する、実施形態９１に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態９３．
立体画像の第１のセットは、立体画像の第２のセット内のポータルの中に設置される、実施形態９１に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態９４．
立体画像の第１のセットは、左眼の視点から２Ｄ画像を捕捉する第１のカメラ、および右眼の視点から２Ｄ画像を捕捉する第２のカメラによって、捕捉される、実施形態９１に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態９５．
立体画像の第２のセットは、２つの他のカメラによって捕捉され、２つの他のカメラは、立体画像の第２のセットを捕捉し、２つの他のカメラは、ポータル内で立体画像の第１のセットを示す場面を視認するユーザの両眼に対応する、実施形態９１に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態９６．
立体画像の第１のセットは、立体画像の第２のセットを捕捉する２つの他のカメラと異なる場所から、２つのカメラから捕捉される、実施形態９５に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態９７．
立体画像の第１のセットは、３Ｄ仮想世界で２つの仮想カメラから捕捉される、実施形態９１に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態９８．
立体画像の第１のセットは、実際の世界で２つのカメラから捕捉される、実施形態９１に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態９９．
方法であって、
２つの入力画像を識別するステップであって、１つの入力画像は、左眼の視点に対応し、第２の入力画像は、右眼の視点に対応する、ステップと、
２つの入力画像を最終３Ｄレンダリング世界内の規定場所の中に設置するステップと、
を含む、方法。
実施形態１００．
仮想および／または拡張現実デバイスを介して、最終３Ｄレンダリング世界を表示するステップをさらに含む、実施形態９９に記載の方法。
実施形態１０１．
規定場所は、最終３Ｄレンダリング世界内のポータルである、実施形態９９に記載の方法。
実施形態１０２．
２つの入力画像は、左眼の視点から２Ｄ画像を捕捉する第１のカメラ、および右眼の視点から２Ｄ画像を捕捉する第２のカメラによって、捕捉される、実施形態９９に記載の方法。
実施形態１０３．
最終３Ｄレンダリング世界は、２つの他のカメラによって捕捉され、２つの他のカメラは、最終３Ｄレンダリング世界を捕捉し、２つの他のカメラは、ポータル内で２つの入力画像を示す場面を視認するユーザの両眼に対応する、実施形態９９に記載の方法。
実施形態１０４．
２つの入力画像は、最終３Ｄレンダリング世界を捕捉する２つの他のカメラと異なる場所から、２つのカメラから捕捉される、実施形態１０３に記載の方法。
実施形態１０５．
２つの入力画像は、３Ｄ仮想世界で２つの仮想カメラから捕捉される、実施形態９９に記載の方法。
実施形態１０６．
２つの入力画像は、実際の世界で２つのカメラから捕捉される、実施形態９９に記載の方法。
実施形態１０７．
仮想および／または拡張現実ディスプレイシステムであって、
仮想および／または拡張現実環境を捕捉するためのカメラと、
データを処理するためのモジュールであって、モジュールは、メモリ内に記憶され、モジュールは、実行されると、
２つの入力画像を識別するプロセスであって、１つの入力画像は、左眼の視点に対応し、第２の入力画像は、右目の視点に対応する、プロセスと、
２つの入力画像を最終３Ｄレンダリング世界内の規定場所の中に設置するプロセスと、
を実施する、モジュールと、
を備える、仮想および／または拡張現実ディスプレイシステム。
実施形態１０８．
モジュールは、実行されると、仮想および／または拡張現実デバイスを介して、最終３Ｄレンダリング世界を表示するステップをさらに含む、プロセスを実施する、実施形態１０７に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１０９．
規定場所は、最終３Ｄレンダリング世界内のポータルである、実施形態１０７に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１１０．
２つの入力画像は、左眼の視点から２Ｄ画像を捕捉する第１のカメラ、および右眼の視点から２Ｄ画像を捕捉する第２のカメラによって、捕捉される、実施形態１０７に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１１１．
最終３Ｄレンダリング世界は、２つの他のカメラによって捕捉され、２つの他のカメラは、最終３Ｄレンダリング世界を捕捉し、２つの他のカメラは、ポータル内で２つの入力画像を示す場面を視認するユーザの両眼に対応する、実施形態１０７に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１１２．
２つの入力画像は、最終３Ｄレンダリング世界を捕捉する２つの他のカメラと異なる場所から、２つのカメラから捕捉される、実施形態１１１に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１１３．
２つの入力画像は、３Ｄ仮想世界で２つの仮想カメラから捕捉される、実施形態１０７に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１１４．
２つの入力画像は、実際の世界で２つのカメラから捕捉される、実施形態１０７に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１１５．
方法であって、
３Ｄデータ入力を識別するステップと、
３Ｄデータ入力を仮想最終３Ｄレンダリング世界内の場所の中に設置するステップと、
を含む、方法。
実施形態１１６．
仮想および／または拡張現実デバイスを介して、仮想最終３Ｄレンダリング世界を表示するステップをさらに含む、実施形態１１５に記載の方法。
実施形態１１７．
場所は、仮想最終３Ｄレンダリング世界内のポータルである、実施形態１１５に記載の方法。
実施形態１１８．
３Ｄデータ入力は、左眼の視点から２Ｄ画像を捕捉する第１のカメラ、および右眼の視点から２Ｄ画像を捕捉する第２のカメラによって、捕捉される、実施形態１１５に記載の方法。
実施形態１１９．
仮想最終３Ｄレンダリング世界は、２つの他のカメラによって捕捉され、２つの他のカメラは、仮想最終３Ｄレンダリング世界を捕捉し、２つの他のカメラは、ポータル内で３Ｄデータ入力を示す場面を視認するユーザの両眼に対応する、実施形態１１５に記載の方法。
実施形態１２０．
３Ｄデータ入力は、仮想最終３Ｄレンダリング世界を捕捉する２つの他のカメラと異なる場所から、２つのカメラから捕捉される、実施形態１１９に記載の方法。
実施形態１２１．
３Ｄデータ入力は、３Ｄ仮想世界で２つの仮想カメラから捕捉される、実施形態１１５に記載の方法。
実施形態１２２．
３Ｄデータ入力は、実際の世界で２つのカメラから捕捉される、実施形態１１５に記載の方法。
実施形態１２３．
仮想および／または拡張現実ディスプレイシステムであって、
仮想および／または拡張現実環境を捕捉するためのカメラと、
データを処理するためのモジュールであって、モジュールは、メモリ内に記憶され、モジュールは、実行されると、
３Ｄデータ入力を識別するプロセスと、
３Ｄデータ入力を仮想最終３Ｄレンダリング世界内の場所の中に設置するプロセスと、
を実施する、モジュールと、
を備える、仮想および／または拡張現実ディスプレイシステム。
実施形態１２４．
モジュールは、実行されると、仮想および／または拡張現実デバイスを介して、仮想最終３Ｄレンダリング世界を表示するステップをさらに含む、プロセスを実施する、実施形態１２３に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１２５．
場所は、仮想最終３Ｄレンダリング世界内のポータルである、実施形態１２３に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１２６．
３Ｄデータ入力は、左眼の視点から２Ｄ画像を捕捉する第１のカメラ、および右眼の視点から２Ｄ画像を捕捉する第２のカメラによって、捕捉される、実施形態１２３に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１２７．
仮想最終３Ｄレンダリング世界は、２つの他のカメラによって捕捉され、２つの他のカメラは、仮想最終３Ｄレンダリング世界を捕捉し、２つの他のカメラは、ポータル内で３Ｄデータ入力を示す場面を視認するユーザの両眼に対応する、実施形態１２３に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１２８．
２つの入力画像は、最終３Ｄレンダリング世界を捕捉する２つの他のカメラと異なる場所から、２つのカメラから捕捉される、実施形態１２７に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１２９．
３Ｄデータ入力は、３Ｄ仮想世界で２つの仮想カメラから捕捉される、実施形態１２３に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１３０．
３Ｄデータ入力は、実際の世界で２つのカメラから捕捉される、実施形態１２３に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１３１．
ビデオファイルフォーマットであって、
１つ以上のアニメーションストリームと、
データ記憶と、
ビデオストリームまたはオーディオストリームのうちの少なくとも１つと、
を備える、ビデオファイルフォーマット。
実施形態１３２．
データ記憶は、
１つ以上の制御データと、
１つ以上の３Ｄモデルと、
を備える、実施形態１３１に記載のビデオファイルフォーマット。
実施形態１３２ａ．
データ記憶は、
１つ以上のテクスチャと、
１つ以上の材料と、
を備える、実施形態１３１に記載のビデオファイルフォーマット。
実施形態１３３．
制御データは、ビデオファイルフォーマットを読み取るアプリケーションが最初にアクセスされるときに、メモリの中に完全にロードされる、実施形態１３２に記載のビデオファイルフォーマット。
実施形態１３４．
制御ストリームは、制御データがメモリの中に完全にロードされるときに、データ記憶からの１つ以上の制御データからメモリの中に事前ロードされる、実施形態１３３に記載のビデオファイルフォーマット。
実施形態１３４ａ．
制御ストリームは、完全スクリプト言語である、実施形態１３４に記載のビデオファイルフォーマット。
実施形態１３５．
制御ストリームは、ビデオストリームまたはオーディオストリームよりも先のタイムラインに対応する時間が見えるように構成される、実施形態１３４に記載のビデオファイルフォーマット。
実施形態１３６．
制御ストリームは、コマンドおよび単純な論理ゲートを備え、ビデオのタイムライン内の適切な時間に再生するためのモデルおよびアニメーションの組み合わせを決定する、実施形態１３４に記載のビデオファイルフォーマット。
実施形態１３７．
ビデオのタイムライン内の適切な時間は、ビデオストリームおよびオーディオストリームの対応する時間と対応する、実施形態１３６に記載のビデオファイルフォーマット。
実施形態１３８．
制御ストリームは、キーフレームを備える、実施形態１３３に記載のビデオファイルフォーマット。
実施形態１３９．
アニメーションストリーム、ビデオストリーム、およびオーディオストリームは、１つのキーフレームの先および後が見えるように構成される、実施形態１３１に記載のビデオファイルフォーマット。
実施形態１４０．
１つ以上のアニメーションストリームは、１つ以上の３Ｄモデルに関連付けられるアニメーション命令に対応する、実施形態１３１に記載のビデオファイルフォーマット。
実施形態１４１．
１つ以上のアニメーションストリームのうちの各アニメーションストリームは、データ記憶の３Ｄモデル、テクスチャ、または材料のうちの少なくとも１つに対応する、実施形態１３１に記載のビデオファイルフォーマット。
実施形態１４２．
方法であって、
ビデオのビデオファイルを受信するステップであって、ビデオファイルは、
１つ以上のアニメーションストリームと、
制御データを備える、データ記憶と、
ビデオストリームまたはオーディオストリームのうちの少なくとも１つと、
を備える、ステップと、
制御データおよびタイムラインコントローラから制御ストリームを動的に生成するステップと、
データ記憶から受信される３Ｄオブジェクトのモデルをロードするステップと、
３Ｄオブジェクトを１つ以上のアニメーションストリームのうちのアニメーションストリームに添付するステップと、
を含む、方法。
実施形態１４３．
１つ以上のアニメーションストリームは、データ記憶内に記憶された個別の３Ｄモデルに対応する、実施形態１４２に記載の方法。
実施形態１４４．
１つ以上のアニメーションストリームは、ビデオに対する３Ｄオブジェクトの移動、配向、および位置を制御する、実施形態１４２に記載の方法。
実施形態１４５．
３Ｄオブジェクトのモデルは、少なくとも部分的に、ビデオストリームの時間の先を見越して、３Ｄオブジェクトが表示される必要があるときを予想する、制御ストリームに基づいて、ロードされる、実施形態１４２に記載の方法。
実施形態１４６．
少なくとも、モデルのサイズ、ネットワーク帯域幅、またはユーザの仮想および／または拡張現実システムの処理能力のうちの１つに基づいて、モデルをロードするためのリード時間を決定するステップをさらに含む、実施形態１４５に記載の方法。
実施形態１４７．
仮想および／または拡張現実デバイスを介して、ビデオを表示するステップをさらに含む、実施形態１４２に記載の方法。
実施形態１４８．
データ記憶は、ビデオファイルが受信されるときに、メモリの中に完全にロードされる、実施形態１４２に記載の方法。
実施形態１４９．
制御ストリームは、制御ストリームが生成されるときに、メモリの中に完全にロードされる、実施形態１４２に記載の方法。
実施形態１５０．
ビデオは、立体３Ｄビデオである、実施形態１４２に記載の方法。
実施形態１５１．
複合現実ビデオプレーヤを実装するコンピュータシステムであって、
プログラムコード命令のセットを実行するためのコンピュータプロセッサと、
プログラムコード命令を保持するためのメモリであって、プログラムコード命令は、
ビデオのビデオファイルを受信するステップであって、ビデオファイルは、
１つ以上のアニメーションストリームと、
制御データを備える、データ記憶と、
ビデオストリーム又はオーディオストリームのうちの少なくとも１つと、
を備える、ステップと、
制御データおよびタイムラインコントローラから制御ストリームを動的に生成するステップと、
データ記憶から受信される３Ｄオブジェクトのモデルをロードするステップと、
３Ｄオブジェクトを１つ以上のアニメーションストリームのうちのアニメーションストリームに添付するステップと、
を実施するためのプログラムコードを備える、
メモリと、
を備える、コンピュータシステム。
実施形態１５２．
１つ以上のアニメーションストリームは、データ記憶内に記憶された個別の３Ｄモデルに対応する、実施形態１５１に記載のコンピュータシステム。
実施形態１５３．
１つ以上のアニメーションストリームは、ビデオに対する３Ｄオブジェクトの移動、配向、および位置を制御する、実施形態１５１に記載のコンピュータシステム。
実施形態１５４．
３Ｄオブジェクトのモデルは、少なくとも部分的に、ビデオストリームの時間の先を見越して、３Ｄオブジェクトが表示される必要があるときを予想する、制御ストリームに基づいて、ロードされる、実施形態１５１に記載のコンピュータシステム。
実施形態１５５．
プログラムコード命令は、少なくとも、モデルのサイズ、ネットワーク帯域幅、またはユーザの仮想および／または拡張現実システムの処理能力のうちの１つに基づいて、モデルをロードするためのリード時間を決定するステップをさらに実施するためのプログラムコードを備える、実施形態１５４に記載のコンピュータシステム。
実施形態１５６．
プログラムコード命令は、仮想および／または拡張現実デバイスを介して、ビデオを表示するステップをさらに実施するためのプログラムコードを備える、実施形態１５１に記載のコンピュータシステム。
実施形態１５７．
データ記憶は、ビデオファイルが受信されるときに、メモリの中に完全にロードされる、実施形態１５１に記載のコンピュータシステム。
実施形態１５８．
制御ストリームは、制御ストリームが生成されるときに、メモリの中に完全にロードされる、実施形態１５１に記載のコンピュータシステム。
実施形態１５９．
ビデオは、立体３Ｄビデオである、実施形態１５１に記載のコンピュータシステム。
実施形態１６０．
方法であって、
ビデオのビデオファイルを受信するステップであって、ビデオファイルは、
１つ以上のアニメーションストリームと、
制御データを備える、データ記憶と、
ビデオストリームまたはオーディオストリームのうちの少なくとも１つと、
を備える、ステップと、
制御データおよびタイムラインコントローラから制御ストリームを動的に生成するステップと、
ビデオのある時点でユーザに表示される質問に回答する、ユーザ相互作用を要求するステップと、
ユーザ相互作用を介して質問への回答を受信するステップと、
タイムラインコントローラに回答を通知するステップと、
回答に対応するビデオの適切な部分にスキップするステップと、
適切な部分からビデオを表示するステップと、
を含む、方法。
実施形態１６１．
仮想および／または拡張現実デバイスを介して、ビデオを表示するステップをさらに含む、実施形態１６０に記載の方法。
実施形態１６２．
データ記憶は、ビデオファイルが受信されるときに、メモリの中に完全にロードされる、実施形態１６０に記載の方法。
実施形態１６３．
制御ストリームは、制御ストリームが生成されるときに、メモリの中に完全にロードされる、実施形態１６０に記載の方法。
実施形態１６４．
ビデオは、立体３Ｄビデオである、実施形態１６０に記載の方法。
実施形態１６５．
制御ストリームは、少なくとも部分的にデータ記憶からのデータに基づいて、ビデオの具体的時点において質問をユーザに表示するときを制御する、実施形態１６０に記載の方法。
実施形態１６６．
ユーザ相互作用は、頭部姿勢、視標追跡、視線、ユーザの手のジェスチャ、トーテムジェスチャ、またはオブジェクト認識装置のうちの少なくとも１つを含む、実施形態１６０に記載の方法。
実施形態１６７．
タイムラインコントローラは、ビデオストリームの位置を制御する、実施形態１６０に記載の方法。
実施形態１６８．
少なくとも部分的に受信される回答に基づいて、実行時双方向性データを伴ってビデオの状態を記憶するステップをさらに含む、実施形態１６０に記載の方法。
実施形態１６９．
ユーザに表示される質問は、ビデオの筋書きが終了し得る方法を変更する質問に対応する、実施形態１６０に記載の方法。
実施形態１７０．
複合現実ビデオプレーヤを実装するコンピュータシステムであって、
プログラムコード命令のセットを実行するためのコンピュータプロセッサと、
プログラムコード命令を保持するためのメモリであって、プログラムコード命令は、
ビデオのビデオファイルを受信するステップであって、ビデオファイルは、
１つ以上のアニメーションストリームと、
制御データを備える、データ記憶と、
ビデオストリームまたはオーディオストリームのうちの少なくとも１つと、
を備える、ステップと、
制御データおよびタイムラインコントローラから制御ストリームを動的に生成するステップと、
ビデオのある時点でユーザに表示される質問に回答する、ユーザ相互作用を要求するステップと、
ユーザ相互作用を介して質問への回答を受信するステップと、
タイムラインコントローラに回答を通知するステップと、
回答に対応するビデオの適切な部分にスキップするステップと、
適切な部分からビデオを表示するステップと、
を実施するためのプログラムコードを備える、メモリと、
を備える、コンピュータシステム。
実施形態１７１．
プログラムコード命令は、仮想および／または拡張現実デバイスを介して、ビデオを表示するステップをさらに実施するためのプログラムコードを備える、実施形態１７０に記載のコンピュータシステム。
実施形態１７２．
データ記憶は、ビデオファイルが受信されるときに、メモリの中に完全にロードされる、実施形態１７０に記載のコンピュータシステム。
実施形態１７３．
制御ストリームは、制御ストリームが生成されるときに、メモリの中に完全にロードされる、実施形態１７０に記載のコンピュータシステム。
実施形態１７４．
ビデオは、立体３Ｄビデオである、実施形態１７０に記載のコンピュータシステム。
実施形態１７５．
制御ストリームは、少なくとも部分的にデータ記憶からのデータに基づいて、ビデオの具体的時点において質問をユーザに表示するときを制御する、実施形態１７０に記載のコンピュータシステム。
実施形態１７６．
ユーザ相互作用は、頭部姿勢、視標追跡、視線、ユーザの手のジェスチャ、トーテムジェスチャ、またはオブジェクト認識装置のうちの少なくとも１つを含む、実施形態１７０に記載のコンピュータシステム。
実施形態１７７．
タイムラインコントローラは、ビデオストリームの位置を制御する、実施形態１７０に記載のコンピュータシステム。
実施形態１７８．
プログラムコード命令は、少なくとも部分的に受信される回答に基づいて、実行時双方向性データを伴ってビデオの状態を記憶するステップをさらに実施するためのプログラムコードを備える、実施形態１７０に記載のコンピュータシステム。
実施形態１７９．
ユーザに表示される質問は、ビデオの筋書きが終了し得る方法を変更する質問に対応する、実施形態１７０に記載のコンピュータシステム。
実施形態１８０．
仮想および／または拡張現実環境内で環境意識３Ｄビデオを表示するコンピュータ実装方法であって、
３Ｄビデオを識別するステップと、
１つ以上のセンサから、ユーザ環境の環境情報を受信するステップであって、環境情報は、環境内のオブジェクトを識別する、ステップと、
環境から識別される１つ以上のオブジェクト上に３Ｄビデオの一部をレンダリングするステップと、
を含む、方法。
実施形態１８１．
３Ｄビデオは、立体３Ｄビデオである、実施形態１８０に記載の方法。
実施形態１８２．
環境は、ユーザの物理的環境である、実施形態１８０に記載の方法。
実施形態１８３．
１つ以上のセンサは、物理的環境の場面情報を捕捉するための１つ以上のカメラを備える、実施形態１８０に記載の方法。
実施形態１８４．
１つ以上のセンサから捕捉される場面情報を解釈するステップと、
環境から１つ以上の要素を検出および登録することによって、環境の１つ以上の要素をマッピングするステップと、
をさらに含む、実施形態１８０に記載の方法。
実施形態１８５．
３Ｄビデオは、制御データを備える、ビデオファイルフォーマットを有し、制御データは、環境から識別される１つ以上のオブジェクト上に３Ｄビデオの一部を表示するようにビデオプレーヤに命令する、実施形態１８０に記載の方法。
実施形態１８５ａ．
制御データは、３Ｄビデオ内および３Ｄビデオの外部のオブジェクトおよび機能を制御するための制御コマンドのセットを備える、実施形態１８５に記載の方法。
実施形態１８５ｂ．
制御コマンド（例えば、制御コマンドのセット）は、拡張可能、更新可能、または動的のうちの少なくとも１つである、実施形態１８５ａに記載の方法。
実施形態１８５ｃ．
制御コマンドは、３Ｄビデオの速度を変更するステップ、３Ｄビデオの開始時にユーザ環境内の照明を薄暗くするためのユーザプロンプトを提供するステップ、３Ｄビデオの開始時にピザレストランに電話をかけるステップ、または少なくとも部分的にユーザの視線に基づいて、異なるように３Ｄビデオを再生するステップのうちの少なくとも１つを含む、実施形態１８５ｂに記載の方法。
実施形態１８５ｄ．
３Ｄビデオは、３Ｄ映画であって、プログラミング言語を備える、３Ｄ映画である、実施形態１８０に記載の方法。
実施形態１８６．
仮想および／または拡張現実ディスプレイシステムであって、
仮想および／または拡張現実環境を捕捉するためのカメラと、
データを処理するためのモジュールであって、モジュールは、メモリ内に記憶され、モジュールは、実行されると、
３Ｄビデオを識別するプロセスと、
１つ以上のセンサから、ユーザ環境の環境情報を受信するプロセスであって、環境情報は、環境内のオブジェクトを識別する、プロセスと、
環境から識別される１つ以上のオブジェクト上に３Ｄビデオの一部をレンダリングするプロセスと、
を実施する、モジュールと、
を備える、仮想および／または拡張現実ディスプレイシステム。
実施形態１８７．
３Ｄビデオは、立体３Ｄビデオである、実施形態１８６に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１８８．
３Ｄビデオは、制御データを備える、ビデオファイルフォーマットを有し、制御データは、少なくとも部分的にユーザによって選出される決定に基づいて、３Ｄビデオの一部をレンダリングするようにビデオプレーヤに命令する、実施形態１８６に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１８９．
ユーザから受信される１つ以上の相互作用は、頭部姿勢、視標追跡、ジェスチャ、トーテムジェスチャ、またはオブジェクト認識装置のうちの少なくとも１つを含む、実施形態１８６に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１９０．
ユーザから受信される１つ以上の相互作用からの相互作用は、３Ｄビデオを３Ｄビデオの異なる部分にジャンプさせる、実施形態１８６に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１９１．
仮想および／または拡張現実環境内で双方向３Ｄビデオを表示するコンピュータ実装方法であって、
決定ノードによって周期的に割り込まれる非実行可能データのストリームとして、３Ｄビデオを識別するステップと、
ユーザによって選出される決定に対応する入力として、ユーザから１つ以上の相互作用を受信するステップと、
少なくともユーザによって選出される決定に基づいて、３Ｄビデオをレンダリングするステップと、
を含む、方法。
実施形態１９２．
３Ｄビデオは、立体３Ｄビデオである、実施形態１９１に記載の方法。
実施形態１９３．
３Ｄビデオは、制御データを備える、ビデオファイルフォーマットを有し、制御データは、少なくとも部分的にユーザによって選出される決定に基づいて、３Ｄビデオの一部をレンダリングするようにビデオプレーヤに命令する、実施形態１９１に記載の方法。
実施形態１９４．
ユーザから受信される１つ以上の相互作用は、頭部姿勢、視標追跡、ジェスチャ、トーテムジェスチャ、またはオブジェクト認識装置のうちの少なくとも１つを含む、実施形態１９１に記載の方法。
実施形態１９５．
ユーザから受信される１つ以上の相互作用からの相互作用は、３Ｄビデオを３Ｄビデオの異なる部分にジャンプさせる、実施形態１９１に記載の方法。
実施形態１９６．
仮想および／または拡張現実ディスプレイシステムであって、
仮想および／または拡張現実環境を捕捉するためのカメラと、
データを処理するためのモジュールであって、モジュールは、メモリ内に記憶され、モジュールは、実行されると、
決定ノードによって周期的に割り込まれる非実行可能データのストリームとして、３Ｄビデオを識別するプロセスと、
ユーザによって選出される決定に対応する入力として、ユーザから１つ以上の相互作用を受信するプロセスと、
少なくともユーザによって選出される決定に基づいて、３Ｄビデオをレンダリングするプロセスと、
を実施する、モジュールと、
を備える、仮想および／または拡張現実ディスプレイシステム。
実施形態１９７．
３Ｄビデオは、立体３Ｄビデオである、実施形態１９６に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１９８．
３Ｄビデオは、制御データを備える、ビデオファイルフォーマットを有し、制御データは、少なくとも部分的にユーザによって選出される決定に基づいて、３Ｄビデオの一部をレンダリングするようにビデオプレーヤに命令する、実施形態１９６に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態１９９．
ユーザから受信される１つ以上の相互作用は、頭部姿勢、視標追跡、ジェスチャ、トーテムジェスチャ、またはオブジェクト認識装置のうちの少なくとも１つを含む、実施形態１９６に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態２００．
ユーザから受信される１つ以上の相互作用からの相互作用は、３Ｄビデオを３Ｄビデオの異なる部分にジャンプさせる、実施形態１９６に記載の仮想および／または拡張現実ディスプレイシステム。
実施形態２０１．
３Ｄオブジェクトを表示するためのコンピュータ実装方法であって、
データベース内に３Ｄオブジェクトを表すグラフィカルデータを記憶するステップと、
２Ｄ不透明ペインの背後に位置する３Ｄオブジェクトを視認するための視認開口を備える、２Ｄ不透明ペインを表示するステップと、
第１の視点から視認開口を通して視認可能な３Ｄオブジェクトの第１の部分をレンダリングするステップと、
第２の視認視点から視認開口を通して視認可能な３Ｄオブジェクトを表示する要求を受信するステップと、
第２の視点から視認開口を通して視認可能な３Ｄオブジェクトの第２の部分をレンダリングするステップと、
第２の視点から３Ｄオブジェクトの第２の部分を表示するステップと、
を含む、方法。
実施形態２０２．
３Ｄオブジェクトを表すグラフィカルデータは、３Ｄオブジェクト全体の完全な表現である、実施形態２０１に記載の方法。
実施形態２０３．
３Ｄオブジェクトの第１の部分のレンダリングは、少なくとも部分的に、第１の視点からの３Ｄオブジェクトの視野に対する視野角に基づく、実施形態２０１に記載の方法。
実施形態２０４．
３Ｄオブジェクトの第２の部分のレンダリングは、少なくとも部分的に、第２の視点からの３Ｄオブジェクトの視野に対する視野角に基づく、実施形態２０１に記載の方法。
実施形態２０５．
不透明ペインはさらに、２Ｄ不透明ペインの背後に位置する複数の３Ｄオブジェクトを視認するための複数の視認開口を備える、実施形態２０１に記載の方法。
実施形態２０６．
複数の３Ｄオブジェクトのうちの各３Ｄオブジェクトは、個別の視認開口の背後に位置する、実施形態２０５に記載の方法。
実施形態２０７．
３Ｄオブジェクトは、３Ｄアイコンである、実施形態２０１に記載の方法。
実施形態２０８．
視認開口を備える２Ｄ不透明ペインは、複数の３Ｄアイコンを表示するためのアイコングリッドである、実施形態２０７に記載の方法。
実施形態２０９．
３Ｄオブジェクトは、ユーザが３Ｄオブジェクトを凝視するにつれて、視認開口を通して移動する、実施形態２０１に記載の方法。
実施形態２１０．
３Ｄオブジェクトは、ユーザが３Ｄオブジェクトに合焦していないときに、２Ｄ画像として表示される、実施形態２０１に記載の方法。
実施形態２１１．
３Ｄオブジェクトを表示するためのコンピュータシステムであって、
プログラムコード命令のセットを実行するためのコンピュータプロセッサと、
プログラムコード命令を保持するためのメモリであって、プログラムコード命令は、
データベース内に３Ｄオブジェクトを表すグラフィカルデータを記憶するステップと、
２Ｄ不透明ペインの背後に位置する３Ｄオブジェクトを視認するための視認開口を備える、２Ｄ不透明ペインを表示するステップと、
第１の視点から視認開口を通して視認可能な３Ｄオブジェクトの第１の部分をレンダリングするステップと、
第２の視認視点から視認開口を通して視認可能な３Ｄオブジェクトを表示する要求を受信するステップと、
第２の視点から視認開口を通して視認可能な３Ｄオブジェクトの第２の部分をレンダリングするステップと、
第２の視点から３Ｄオブジェクトの第２の部分を表示するステップと、
を実施するためのプログラムコードを備える、メモリと、
を備える、コンピュータシステム。
実施形態２１２．
３Ｄオブジェクトを表すグラフィカルデータは、３Ｄオブジェクト全体の完全な表現である、実施形態２１１に記載のコンピュータシステム。
実施形態２１３．
３Ｄオブジェクトの第１の部分のレンダリングは、少なくとも部分的に、第１の視点からの３Ｄオブジェクトの視野に対する視野角に基づく、実施形態２１１に記載のコンピュータシステム。
実施形態２１４．
３Ｄオブジェクトの第２の部分のレンダリングは、少なくとも部分的に、第２の視点からの３Ｄオブジェクトの視野に対する視野角に基づく、実施形態２１１に記載のコンピュータシステム。
実施形態２１５．
不透明ペインはさらに、２Ｄ不透明ペインの背後に位置する複数の３Ｄオブジェクトを視認するための複数の視認開口を備える、実施形態２１１に記載のコンピュータシステム。
実施形態２１６．
複数の３Ｄオブジェクトのうちの各３Ｄオブジェクトは、個別の視認開口の背後に位置する、実施形態２１５に記載のコンピュータシステム。
実施形態２１７．
３Ｄオブジェクトは、３Ｄアイコンである、実施形態２１１に記載のコンピュータシステム。
実施形態２１８．
視認開口を備える２Ｄ不透明ペインは、複数の３Ｄアイコンを表示するためのアイコングリッドである、実施形態２１７に記載のコンピュータシステム。
実施形態２１９．
３Ｄオブジェクトは、ユーザが３Ｄオブジェクトを凝視するにつれて、視認開口を通して移動する、実施形態２１１に記載のコンピュータシステム。
実施形態２２０．
３Ｄオブジェクトは、ユーザが３Ｄオブジェクトに合焦していないときに、２Ｄ画像として表示される、実施形態２１１に記載のコンピュータシステム。
実施形態２２１．
本明細書に開示される発明の概念のうちのいずれかによる、複合現実システム内で仮想コンテンツを生成および表示するためのシステム、方法、およびコンピュータプログラム製品。
（システムアーキテクチャ概要）
【０１７５】
図１０は、本開示の実施形態のうちの１つ以上のものを実装するために好適な例証的コンピューティングシステム１４００のブロック図である。コンピューティングシステム１４００は、情報を通信するためのバス１４０６または他の通信機構を含み、これは、プロセッサ１４０７、メインメモリ１４０８（例えば、ＲＡＭ）、静的記憶デバイス１４０９（例えば、ＲＯＭ）、ディスクドライブ１４１０（例えば、磁気または光学）、通信インターフェース１４１４（例えば、モデムまたはＥｔｈｅｒｎｅｔ（登録商標）カード）、ディスプレイ１４１１（例えば、ＣＲＴまたはＬＣＤ）、入力デバイス１４１２（例えば、キーボード）、およびカーソル制御等のサブシステムおよびデバイスを相互接続する。
【０１７６】
いくつかの実施形態によると、コンピューティングシステム１４００は、プロセッサ１４０７が、メインメモリ１４０８内に含有される１つ以上の命令の１つ以上のシーケンスを実行することによって、具体的動作を実施する。そのような命令は、メインメモリ１４０８の中に、静的記憶デバイス１４０９またはディスクドライブ１４１０等の別のコンピュータ可読／使用可能媒体から読み込まれてもよい。代替実施形態では、有線回路が、本開示を実装するためのソフトウェア命令の代わりに、またはそれと組み合わせて、使用されてもよい。したがって、実施形態は、ハードウェア回路および／またはソフトウェアの任意の具体的組み合わせに限定されない。一実施形態では、用語「論理」は、本開示の全部または一部を実装するために使用される、ソフトウェアまたはハードウェアの任意の組み合わせを意味するものとする。
【０１７７】
用語「コンピュータ可読媒体」または「コンピュータ使用可能媒体」は、本明細書で使用されるように、実行のために、命令をプロセッサ１４０７に提供することに関わる、任意の媒体を指す。そのような媒体は、限定ではないが、不揮発性媒体および揮発性媒体を含む、多くの形態をとってもよい。不揮発性媒体は、例えば、ディスクドライブ１４１０等の光学または磁気ディスクを含む。揮発性媒体は、メインメモリ１４０８等の動的メモリを含む。
【０１７８】
一般的形態のコンピュータ可読媒体は、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、ＣＤ−ＲＯＭ、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュ−ＥＰＲＯＭ、任意の他のメモリチップまたはカートリッジ、またはそこからコンピュータが読み取り得る任意の他の媒体を含む。
【０１７９】
一実施形態では、本開示を実践するための命令のシーケンスの実行は、単一コンピューティングシステム１４００によって実施される。他の実施形態によると、通信リンク１４１５（例えば、ＬＡＮ、ＰＴＳＮ、または無線ネットワーク）によって結合される、２つ以上のコンピューティングシステム１４００が、相互に協調して、本開示を実践するために要求される命令のシーケンスを実施してもよい。
【０１８０】
コンピューティングシステム１４００は、通信リンク１４１５を通して、通信インターフェース１４１４を介して、プログラム、例えば、アプリケーションコードを含む、メッセージ、データ、および命令を伝送および受信してもよい。受信されたプログラムコードは、受信されるにつれて、プロセッサ１４０７によって実行され、および／または後の実行のために、ディスクドライブ１４１０または他の不揮発性記憶装置内に記憶されてもよい。コンピューティングシステム１４００は、データインターフェース１４３３を通して、外部記憶デバイス１４３１上のデータベース１４３２に通信してもよい。
【０１８１】
前述の明細書では、本開示が、その具体的実施形態を参照して説明された。しかしながら、種々の修正および変更が、本開示のより広義の精神および範囲から逸脱することなく、本明細書に成され得ることが、明白となるであろう。例えば、上記に説明されるプロセスフローは、プロセスアクションの特定の順序を参照して説明される。しかしながら、説明されるプロセスアクションの多くの順序は、本開示の範囲または動作に影響を及ぼすことなく、変更され得る。本明細書および図面は、故に、限定的ではなく例証的意味と見なされるべきである。
【図１】
2021507408.tif 000003
【図２】
2021507408.tif 000004
【図３Ａ】
2021507408.tif 000005
【図３Ｂ】
2021507408.tif 000006
【図４】
2021507408.tif 000007
【図５】
2021507408.tif 000008
【図６】
2021507408.tif 000009
【図７】
2021507408.tif 000010
【図８】
2021507408.tif 000011
【図９】
2021507408.tif 000012
【図１０】
2021507408.tif 000013
【国際調査報告】
2021507408.tif 000014
2021507408.tif 000015
2021507408.tif 000016
2021507408.tif 000017