(57)【要約】システム内のカメラの視点からの拡張現実システムから生成される記録のための改良されたアプローチが、開示される。ＡＲ記録のために、ユーザの眼の視点からレンダリングされた仮想コンテンツを再利用する代わりに、ＡＲ記録のために、特に、追加の仮想コンテンツが、追加の視点からレンダリングされる。その追加の仮想コンテンツは、カメラによって生成された画像フレームと組み合わせられ、ＡＲ記録を形成する。一実施形態において、単一のＧＰＵ処理サイクルは、ユーザ姿勢とカメラ姿勢との両方のための仮想コンテンツをレンダリングするための処理を含む。
2020511718.tif 000002
【特許請求の範囲】
【請求項１】
画像記録を生成する方法であって、前記方法は、
カメラを用いて、カメラ画像フレームを捕捉することと、
前記カメラ画像フレームに対応する姿勢データを識別することであって、前記姿勢データは、ユーザ姿勢データとカメラ姿勢データとを含み、前記ユーザ姿勢データは、前記カメラ姿勢データとは異なる視点からのものである、ことと、
拡張現実（ＡＲ）デバイスにおけるユーザへの即時の表示のために、ユーザ姿勢仮想コンテンツをレンダリングすることであって、前記ユーザ姿勢仮想コンテンツは、ユーザの視点からの第１の仮想コンテンツに対応する、ことと、
カメラ姿勢仮想コンテンツをレンダリングすることであって、前記カメラ姿勢仮想コンテンツは、前記カメラの視点からの第２の仮想コンテンツに対応する、ことと、
前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせることによって、画像記録を合成することと
を含む、方法。
【請求項２】
単一のＧＰＵ処理サイクルは、前記ユーザ姿勢と前記カメラ姿勢との両方のための仮想コンテンツをレンダリングするための処理を含む、請求項１に記載の方法。
【請求項３】
前記単一のＧＰＵ処理サイクル中にレンダリングされる前記ユーザ姿勢と前記カメラ姿勢とのための前記仮想コンテンツは、同一のフレームのためのものである、請求項２に記載の方法。
【請求項４】
前記単一のＧＰＵ処理サイクル中にレンダリングされる前記ユーザ姿勢と前記カメラ姿勢とのための前記仮想コンテンツは、異なるフレームに対応する、請求項２に記載の方法。
【請求項５】
合成器が、前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせることによって、前記画像記録を生成する、請求項１に記載の方法。
【請求項６】
慣性測定ユニット（ＩＭＵ）が、前記姿勢データを生成する、請求項１に記載の方法。
【請求項７】
メディアエンコーダが、前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせた１つ以上の画像フレームをエンコードする、請求項１に記載の方法。
【請求項８】
前記メディアエンコーダによってエンコードされる前記１つ以上の画像フレームは、単一の画像フレームまたは複数の画像フレームのストリームのうちの少なくとも１つを含む、請求項７に記載の方法。
【請求項９】
コンピュータ読み取り可能な媒体上に具現化されるコンピュータプログラム製品であって、前記コンピュータ読み取り可能な媒体は、プロセッサによって実行されると、前記プロセッサに請求項１−８に記載の方法のうちのいずれかを実行させる一連の命令を記憶している、コンピュータプログラム製品。
【請求項１０】
画像記録を生成するためのシステムであって、前記システムは、
３次元コンテンツを表示する拡張現実表示デバイスと、
カメラ画像フレームを捕捉するカメラと、
前記カメラ画像フレームに対応する姿勢データを識別するＩＭＵであって、前記姿勢データは、ユーザ姿勢データとカメラ姿勢データとを含み、前記ユーザ姿勢データは、前記カメラ姿勢データとは異なる視点からのものである、ＩＭＵと、
ユーザ姿勢仮想コンテンツおよびカメラ姿勢仮想コンテンツの両方をレンダリングするＧＰＵであって、前記ユーザ姿勢仮想コンテンツは、拡張現実デバイスにおけるユーザへの即時の表示のためにレンダリングされ、前記ユーザ姿勢仮想コンテンツは、ユーザの視点からの第１の仮想コンテンツに対応し、前記カメラ姿勢仮想コンテンツは、前記カメラの視点からの第２の仮想コンテンツに対応する、ＧＰＵと、
前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせることによって画像記録を合成する合成器と
を備えている、システム。
【請求項１１】
前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせた１つ以上の画像フレームをエンコードするメディアエンコーダをさらに備えている、請求項１０に記載のシステム。
【請求項１２】
前記メディアエンコーダによってエンコードされる前記１つ以上の画像フレームは、単一の画像フレームまたは複数の画像フレームのストリームのうちの少なくとも１つを含む、請求項１１に記載のシステム。
【請求項１３】
単一のＧＰＵ処理サイクルは、前記ユーザ姿勢および前記カメラ姿勢の両方のための仮想コンテンツをレンダリングするための処理を含む、請求項１０に記載のシステム。
【請求項１４】
前記単一のＧＰＵ処理サイクル中にレンダリングされる前記ユーザ姿勢と前記カメラ姿勢とのための前記仮想コンテンツは、同一のフレームのためのものである、請求項１３に記載のシステム。
【請求項１５】
前記単一のＧＰＵ処理サイクル中にレンダリングされる前記ユーザ姿勢と前記カメラ姿勢とのための前記仮想コンテンツは、異なるフレームに対応する、請求項１３に記載のシステム。
【請求項１６】
前記合成器は、前記カメラ画像フレームを前記カメラ姿勢仮想コンテンツと組み合わせることによって、前記画像記録を生成する、請求項１０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本開示は、概して、拡張現実技術に関する。
【背景技術】
【０００２】
（背景）
現代のコンピューティングおよび表示技術は、いわゆる「仮想現実」または「拡張現実」体験のためのシステムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える様式、またはそのように知覚され得る様式でユーザに提示される。仮想現実（ＶＲ）シナリオは、典型的には、他の実際の実世界の視覚的入力に対する透明性を伴わずに、デジタルまたは仮想画像情報の提示を伴い、拡張現実（ＡＲ）シナリオは、典型的には、ユーザの周囲の実際の実世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。
【０００３】
ＶＲおよびＡＲシステムは、典型的には、ユーザの頭部に少なくとも緩く結合され、したがって、エンドユーザの頭部が移動すると、移動するウェアラブル表示デバイス（例えば、頭部装着型ディスプレイ、ヘルメット搭載型ディスプレイ、またはスマートグラス）を採用する。エンドユーザの頭部運動が、ディスプレイシステムによって検出される場合、表示されているデータは、頭部姿勢（例えば、ユーザの頭部の向きおよび／または場所）の変化を考慮するように更新されることができる。
【０００４】
例として、頭部装着型ディスプレイを装着しているユーザが、ディスプレイ上で３次元（３Ｄ）オブジェクトの仮想表現を視認し、３Ｄオブジェクトが現れるエリアの周囲を歩き回る場合、その３Ｄオブジェクトは、各視点のために再レンダリングされ、エンドユーザに、実空間を占有するオブジェクトの周囲を歩き回っているという知覚を与えることができる。頭部装着型ディスプレイが、複数のオブジェクトを仮想空間（例えば、豊かな仮想世界）内に提示するために使用される場合、頭部姿勢の測定が、場面を再レンダリングし、エンドユーザの動的に変化する頭部場所および向きに合致させ、仮想空間における増加した没入感を提供するために使用されることができる。
【０００５】
ＡＲを可能にする頭部装着型ディスプレイは、実および仮想オブジェクトの両方の同時視認を提供する。「光学シースルー」ディスプレイを用いて、エンドユーザは、ディスプレイシステム内の透明（または半透明）要素を通して見ることによって、環境内の実オブジェクトからの光を直接視認することができる。多くの場合、「コンバイナ」と称される透明要素は、ディスプレイからの光を実世界のエンドユーザのビューの上に重さね、ディスプレイによって生産される光は、仮想コンテンツの画像を実世界のシースルービューの上に投影する。ユーザによって視認されている場面の画像またはビデオを捕捉するために、カメラが、ウェアラブルディスプレイ上に搭載され得る。
【０００６】
ウェアラブルディスプレイを動作させるとき、ユーザは、ＡＲデバイスを動作させることにおける体験の記録を保存することを求め得る。例えば、電子ビデオゲームをプレーするゲーマは、多くの場合、ゲームプレーのリアルタイムアクションの記録を生成することを選定し、記録が、後の時点で再生されることができる。ＡＲシステムのコンテキストにおいて、これは、記録が、ディスプレイシステムの動作中の組み合わされた実および仮想オブジェクトの記録を含むべきことを意味する。
【０００７】
問題は、ＡＲシステムにおける仮想オブジェクトが、ユーザの眼／頭部の視点からレンダリングされるのに対し、実際に実オブジェクトを記録しているカメラは、通常、ユーザの眼から異なる場所および／または視野角Ｄで搭載されることである。これは、単にレンダリングされた仮想オブジェクトを実オブジェクトの記録と組み合わせる記録が、第１の視点からの仮想オブジェクトと第２の視点からの実オブジェクトとを示し、潜在的に、記録の所与の画像フレームに対する最終画像生産物にいて、仮想オブジェクトの向きおよび／またはコンテンツのかなりのずれを作成するであろうことを意味する。
【０００８】
これに対処するために、仮想オブジェクトがビデオ記録において提示される方法を変化させるために、「ワーピング」が、適用され得る。このアプローチは、第１の視点からレンダリングされた仮想オブジェクトを捉え、仮想オブジェクトが提示される方法をシフトさせ、第２の視点からのそれらの仮想オブジェクトを表示するように試みる。このアプローチの１つの問題は、仮想オブジェクトが、もともと、第１の視点からレンダリングされている場合、レンダリングされた仮想オブジェクトが、第２の視点からの仮想オブジェクトに関する表示可能な情報を含まないこともあることである。例えば、第２の仮想オブジェクトが、ユーザの眼の視点（すなわち、第１の視点）から第１の仮想オブジェクトの後方に隠れているとき、仮想コンテンツのレンダリングは、カメラの視点（すなわち、第２の視点）から視認可能である第２の（隠れた）仮想オブジェクトではなく、第１の仮想オブジェクトのみを示し得る。これは、仮想コンテンツにワーピングが実施されるときでさえ、ワーピングされた仮想コンテンツが、第１の仮想オブジェクトに関するコンテンツのみを含み、依然として、カメラの視点から視認可能である第２の仮想オブジェクトに関するコンテンツを逸しているであろうことを意味する。このアプローチは、したがって、記録された画像／ビデオフレームのコンテンツの正確度に影響を及ぼすビデオアーチファクトを作成し得る。
【０００９】
このアプローチの別の潜在的問題は、ＡＲ機器およびアプリケーションが記録のための仮想コンテンツをワーピングするために必要な処理を実施するように試みるので、それが待ち時間をもたらすことである。これは、ユーザへのウェアラブルディスプレイ上における表示のためにリアルタイム画像を生成することにおける知覚可能な遅延をもたらし得る。
【００１０】
したがって、記録された実オブジェクトと、レンダリングされた仮想オブジェクトとの組み合わせを有するＡＲ記録を生成するための改良されたアプローチの必要性が存在する。
【発明の概要】
【課題を解決するための手段】
【００１１】
（要約）
いくつかの実施形態によると、拡張現実（ＡＲ）記録のために、ユーザの眼の視点からレンダリングされた仮想コンテンツを再利用する代わりに、ＡＲ記録のために、特に、追加の仮想コンテンツが、追加の視点からレンダリングされる。すなわち、仮想コンテンツが、ＡＲ記録に関するカメラの視点からレンダリングされる。その追加の仮想コンテンツは、カメラによって生成された画像フレームと組み合わせられ、ＡＲ記録を形成する。待ち時間およびコンピューティングオーバーヘッドを低減させるために、標準のＧＰＵ処理における間隙が、仮想コンテンツの追加のレンダリングを実施するために利用され得る。
【００１２】
いくつかの実施形態は、カメラを用いて、カメラ画像フレームを捕捉することと、カメラ画像フレームに対応する姿勢データを識別することであって、姿勢データは、ユーザ姿勢データとカメラ姿勢データとを含み、ユーザ姿勢データは、カメラ姿勢データとは異なる視点からのものである、ことと、拡張現実（ＡＲ）デバイスにおけるユーザへの即時の表示のために、ユーザ姿勢仮想コンテンツをレンダリングすることであって、ユーザ姿勢仮想コンテンツは、ユーザの視点からの第１の仮想コンテンツに対応する、ことと、カメラ姿勢仮想コンテンツをレンダリングすることであって、カメラ姿勢仮想コンテンツは、カメラの視点からの第２の仮想コンテンツに対応する、ことと、カメラ画像フレームをカメラ姿勢仮想コンテンツと組み合わせることによって、画像記録を合成することとを実装する画像記録を生成する方法、コンピュータプログラム製品、およびシステムに関する。
【００１３】
いくつかの実施形態は、以下の任意の組み合わせをさらに含む：単一のＧＰＵ処理サイクルが、ユーザ姿勢とカメラ姿勢との両方のための仮想コンテンツをレンダリングするための処理を含むこと；単一のＧＰＵ処理サイクル中にレンダリングされるユーザ姿勢とカメラ姿勢とのための仮想コンテンツが、同一のフレームのためのものであること；単一のＧＰＵ処理サイクル中にレンダリングされるユーザ姿勢とカメラ姿勢とのための仮想コンテンツが、異なるフレームに対応すること；合成器が、カメラ画像フレームをカメラ姿勢仮想コンテンツと組み合わせることによって、画像記録を生成すること；慣性測定ユニット（ＩＭＵ）が、姿勢データを生成すること；メディアエンコーダが、カメラ画像フレームをカメラ姿勢仮想コンテンツと組み合わせた１つ以上の画像フレームをエンコードすること；および／または、メディアエンコーダによってエンコードされる１つ以上の画像フレームが、単一の画像フレームまたは複数の画像フレームのストリームのうちの少なくとも１つを含むこと。
【００１４】
いくつかの実施形態は、プロセッサによって実行されると、プロセッサに上で説明される要素の任意の組み合わせを実行させる一連の命令を記憶しているコンピュータプログラム製品に関する。
【００１５】
いくつかの実施形態は、３次元コンテンツを表示する拡張現実表示デバイスと、カメラ画像フレームを捕捉するカメラと、カメラ画像フレームに対応する姿勢データを識別するＩＭＵであって、姿勢データは、ユーザ姿勢データとカメラ姿勢データとを含み、ユーザ姿勢データは、カメラ姿勢データとは異なる視点からのものである、ＩＭＵと、ユーザ姿勢仮想コンテンツおよびカメラ姿勢仮想コンテンツの両方をレンダリングするＧＰＵであって、ユーザ姿勢仮想コンテンツは、拡張現実デバイスにおけるユーザへの即時の表示のためにレンダリングされ、ユーザ姿勢仮想コンテンツは、ユーザの視点からの第１の仮想コンテンツに対応し、カメラ姿勢仮想コンテンツは、カメラの視点からの第２の仮想コンテンツに対応する、ＧＰＵと、カメラ画像フレームをカメラ姿勢仮想コンテンツと組み合わせることによって画像記録を合成する合成器とを有する画像記録を生成するためのシステムに関する。いくつかの実施形態は、以下の任意の組み合わせをさらに含む：カメラ画像フレームをカメラ姿勢仮想コンテンツと組み合わせた１つ以上の画像フレームをエンコードするメディアエンコーダであって、１つ以上の画像フレームは、メディアエンコーダによってエンコードされ、単一の画像フレームまたは複数の画像フレームのストリームのうちの少なくとも１つを含み、単一のＧＰＵ処理サイクルは、ユーザ姿勢およびカメラ姿勢の両方のための仮想コンテンツをレンダリングするための処理を含み、単一のＧＰＵ処理サイクル中にレンダリングされるユーザ姿勢とカメラ姿勢とのための仮想コンテンツは、同一のフレームのためのものであり、単一のＧＰＵ処理サイクル中にレンダリングされるユーザ姿勢とカメラ姿勢とのための仮想コンテンツは、異なるフレームに対応する、メディアエンコーダ、および／またはカメラ画像フレームをカメラ姿勢仮想コンテンツと組み合わせることによって画像記録を生成する合成器。
【００１６】
本開示の追加のおよび他の目的、特徴、ならびに利点は、詳細説明、図、および請求項に説明される。
【００１７】
図面は、類似要素が共通の参照番号によって参照される本開示の好ましい実施形態の設計および有用性を図示する。本開示の前述および他の利点ならびに目的を得る方法をより深く理解するために、上で手短に説明される本開示のより具体的な説明が、付随の図面に図示される、その具体的実施形態を参照することによって与えられるであろう。これらの図面が、本開示の典型的実施形態のみを描写し、したがって、その範囲の限定に見なされるものではないことの理解のもと、本開示は、付随の図面の使用を通して、追加の特殊性および詳細とともに記載かつ説明されるであろう。
【図面の簡単な説明】
【００１８】
【図１Ａ】図１Ａ−Ｃは、本開示のいくつかの実施形態に従って構成される例証的拡張現実システムのブロック図である。
【図１Ｂ】図１Ａ−Ｃは、本開示のいくつかの実施形態に従って構成される例証的拡張現実システムのブロック図である。
【図１Ｃ】図１Ａ−Ｃは、本開示のいくつかの実施形態に従って構成される例証的拡張現実システムのブロック図である。
【図２】図２は、いくつかの実施形態による、ＡＲ記録プロセスを実装するための例示的アーキテクチャを図示する。
【図３】図３は、いくつかの実施形態による、ワーピングを使用してＡＲ記録を生成するためのアプローチのフローチャートを示す。
【図４Ａ】図４Ａ−Ｇは、いくつかの実施形態による、ＡＲ記録を実装するためのワーピングアプローチの図を提供する。
【図４Ｂ】図４Ａ−Ｇは、いくつかの実施形態による、ＡＲ記録を実装するためのワーピングアプローチの図を提供する。
【図４Ｃ】図４Ａ−Ｇは、いくつかの実施形態による、ＡＲ記録を実装するためのワーピングアプローチの図を提供する。
【図４Ｄ】図４Ａ−Ｇは、いくつかの実施形態による、ＡＲ記録を実装するためのワーピングアプローチの図を提供する。
【図４Ｅ】図４Ａ−Ｇは、いくつかの実施形態による、ＡＲ記録を実装するためのワーピングアプローチの図を提供する。
【図４Ｆ】図４Ａ−Ｇは、いくつかの実施形態による、ＡＲ記録を実装するためのワーピングアプローチの図を提供する。
【図４Ｇ】図４Ａ−Ｇは、いくつかの実施形態による、ＡＲ記録を実装するためのワーピングアプローチの図を提供する。
【図５】図５は、いくつかの実施形態による、本ＡＲ記録プロセスを実装するためのアーキテクチャを図示する。
【図６】図６は、いくつかの実施形態による、ＡＲ記録を生成するためのアプローチのフローチャートを示す。
【図７Ａ】図７Ａ−Ｆは、いくつかの実施形態による、ＡＲ記録を生成するためのアプローチを図示する。
【図７Ｂ】図７Ａ−Ｆは、いくつかの実施形態による、ＡＲ記録を生成するためのアプローチを図示する。
【図７Ｃ】図７Ａ−Ｆは、いくつかの実施形態による、ＡＲ記録を生成するためのアプローチを図示する。
【図７Ｄ】図７Ａ−Ｆは、いくつかの実施形態による、ＡＲ記録を生成するためのアプローチを図示する。
【図７Ｅ】図７Ａ−Ｆは、いくつかの実施形態による、ＡＲ記録を生成するためのアプローチを図示する。
【図７Ｆ】図７Ａ−Ｆは、いくつかの実施形態による、ＡＲ記録を生成するためのアプローチを図示する。
【図８】図８は、いくつかの実施形態による、例示的ＧＰＵ処理サイクルを図示する。
【図９Ａ】図９Ａは、いくつかの実施形態による、例示的ＧＰＵ処理サイクルを図示する。
【図９Ｂ】図９Ｂは、いくつかの実施形態による、ＧＰＵ処理サイクルを実装するためのアプローチのフローチャートを示す。
【図１０Ａ】図１０Ａ−Ｂは、いくつかの実施形態による、例示的代替ＧＰＵ処理サイクルを図示する。
【図１０Ｂ】図１０Ａ−Ｂは、いくつかの実施形態による、例示的代替ＧＰＵ処理サイクルを図示する。
【図１０Ｃ】図１０Ｃは、いくつかの実施形態による、代替ＧＰＵ処理サイクルを実装するためのアプローチのフローチャートを示す。
【図１１】図１１は、いくつかの実施形態による、例証的コンピューティングシステムのブロック図である。
【発明を実施するための形態】
【００１９】
（詳細な説明）
本開示は、「第三の眼」の仮想コンテンツレンダリングを使用して拡張現実（ＡＲ）記録を実装するためのアプローチを対象とする。いくつかの実施形態によると、ＡＲ記録のために、ユーザの眼の視点からレンダリングされた仮想コンテンツを再利用する代わりに、追加の仮想コンテンツが、カメラの視点からレンダリングされ、その追加の仮想コンテンツが、実世界のカメラ記録と組み合わせられ、ＡＲ記録を形成する。いくつかの実施形態では、標準のＧＰＵ処理における間隙が、追加の仮想コンテンツのレンダリングを生成するための追加のレンダリングを実施するために利用され得る。
【００２０】
本開示は、最初に、それを用いて本開示のいくつかの実施形態が実践され得る例証的ＡＲシステムの説明を提供し、その後、記録のためのＡＲコンテンツを生成するための改良されたプロセスおよび機構の１つ以上の実施形態の説明が、続くであろう。
【００２１】
（例証的拡張現実システム）
続く説明は、それを用いて本開示が実践され得る（「拡張現実システム」、「ＡＲシステム」、または「複合現実システム」のうちの任意のものと本明細書において称され得る）例証的拡張現実（ＡＲ）システムに関する。しかしながら、本開示は、拡張現実および仮想現実システムの他のタイプにおける用途にも適しており、したがって、本開示は、本明細書に開示される例証的システムにのみ限定されるものではないことを理解されたい。
【００２２】
図１Ａは、一実施形態による、拡張現実（ＡＲ）システム１００ａを図示するブロック図である。ＡＲシステム１００ａは、拡張現実制御システム１０１ａと併せて動作させられ、エンドユーザ５０の視野内の物理的オブジェクトと混合される仮想オブジェクトの画像を提供し得る。このアプローチは、１つ以上の少なくとも部分的に透明な表面を採用し、１つ以上の少なくとも部分的に透明な表面を通してエンドユーザ５０の視野における周囲環境が見られることができ、その上にＡＲシステム１００ａが仮想オブジェクトの画像を生産する。
【００２３】
ＡＲ用途のために、種々の仮想オブジェクトをエンドユーザ５０の視野内の物理的オブジェクトに対して空間的に位置付けることが、望ましくあり得る。本明細書において仮想タグまたはコールアウトとも称される仮想オブジェクトは、画像として表されることが可能な任意の種々のデータ、情報、概念、もしくは論理構造を有する多種多様な形態の任意のものをとり得る。仮想オブジェクトの非限定的例は、仮想テキストオブジェクト、仮想数字オブジェクト、仮想英数字オブジェクト、仮想タグオブジェクト、仮想フィールドオブジェクト、仮想チャートオブジェクト、仮想マップオブジェクト、仮想計器オブジェクト、または物理的オブジェクトの仮想視覚表現を含み得る。
【００２４】
ＡＲシステム１００ａは、エンドユーザ５０によって装着されるフレーム構造１０２と、ディスプレイシステム１０４がエンドユーザ５０の眼の正面に位置付けられるようにフレーム構造１０２によって支持されたディスプレイシステム１０４と、ディスプレイシステム１０４の中に組み込まれるか、または、それに接続されたスピーカ１０６とを含む。図示される実施形態では、スピーカ１０６は、スピーカ１０６が、エンドユーザ５０の外耳道（例えば、イヤーバッドまたはヘッドホン）に隣接して（その中もしくは周囲に）位置付けられるように、フレーム構造１０２によって支持される。
【００２５】
ディスプレイシステム１０４は、エンドユーザ５０の眼に、２次元および３次元コンテンツを伴う物理的現実への拡張として快適に知覚され得る光ベースの放射パターンを提示するように設計される。ディスプレイシステム１０４は、単一コヒーレント場面の知覚を提供する一連のフレームを高周波数で提示する。この目的を達成するために、ディスプレイサブシステム１０４は、投影サブシステム１０８と、投影サブシステム１０８が画像を投影する部分的に透明なディスプレイ画面とを含む。ディスプレイ画面は、エンドユーザ５０の眼と周囲（例えば、物理的）環境との間のエンドユーザ５０の視野内に位置付けられる。
【００２６】
いくつかの実施形態では、投影サブシステム１０８は、走査ベースの投影デバイスの形態をとり、ディスプレイ画面は、導波管ベースのディスプレイの形態をとり、ディスプレイの中に投影サブシステム１０８からの走査された光が、投入され、無限遠より近い単一光学視認距離（例えば、腕の長さ）における画像、複数の別々の光学視認距離もしくは焦点面における画像、および／または、立体３Ｄオブジェクトを表すために複数の視認距離または焦点面にスタックされた画像層を生産する。明視野内のこれらの層は、ヒト視覚系に連続して現れるように、一緒に十分に近接してスタックされ得る（例えば、１つの層が、隣接する層の乱信号円錐域内にある）。加えて、または代替として、画素が、２つ以上の層にわたって混成され、それらの層がより疎らにスタックされる（例えば、１つの層が、隣接する層の乱信号円錐域外にある）場合でも、明視野内の層間の遷移の知覚される連続性を増加させ得る。ディスプレイシステム１０４は、単眼または双眼用であり得る。走査アセンブリは、光ビームを生産する（例えば、異なる色の光を定義されたパターンで放出する）、１つ以上の光源を含む。光源は、多種多様な形態のいずれかをとり、例えば、ＲＧＢ源（例えば、赤色、緑色、および青色光を出力可能なレーザダイオード）の組の形態をとり得、ＲＧＢ源は、ピクセル情報またはデータのそれぞれのフレームにおいて規定された定義されたピクセルパターンに従って、それぞれ、赤色、緑色、および青色コヒーレントコリメート光を生産するように動作可能である。レーザ光は、高彩度を提供し、非常にエネルギー効率的である。光学結合サブシステムは、光をディスプレイ画面の端部の中に光学的に結合するための光学導波管入力装置（例えば、１つ以上の反射表面、回折格子、ミラー、ダイクロイックミラー、もしくはプリズム等）を含む。光学結合サブシステムは、光ファイバからの光をコリメートするコリメーション要素をさらに含む。随意に、光学結合サブシステムは、光学変調装置を含み、光学変調装置は、コリメーション要素からの光を光学導波管入力装置の中心における焦点に向かって収束させ、それによって、光学導波管入力装置のサイズが最小化されることを可能にするように構成される。したがって、ディスプレイシステム１０４は、１つ以上の仮想オブジェクトの歪のない画像をユーザに提示する、ピクセル情報の一連の合成画像フレームを生成する。ディスプレイシステムを説明するさらなる詳細は、２０１４年３月１４日に出願された米国一般特許出願第１４／２１２，９６１号に変換された、「Ｄｉｓｐｌａｙ  Ｓｕｂｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ」と題され、２０１３年３月１５日に出願された米国仮特許出願第６１／８０１，２１９号、および「Ｐｌａｎａｒ  Ｗａｖｅｇｕｉｄｅ  Ａｐｐａｒａｔｕｓ  Ｗｉｔｈ  Ｄｉｆｆｒａｃｔｉｏｎ  Ｅｌｅｍｅｎｔ（ｓ）  ａｎｄ  Ｓｕｂｓｙｓｔｅｍ  Ｅｍｐｌｏｙｉｎｇ  Ｓａｍｅ」と題され、２０１４年７月１４日に出願された米国特許出願第１４／３３１，２１８号に提供されている。
【００２７】
ＡＲシステム１００ａは、エンドユーザ５０の頭部の位置および移動、および／または、エンドユーザ５０の眼位置および眼球間距離を検出するためのフレーム構造１０２に搭載された１つ以上のセンサをさらに含む。そのようなセンサは、画像捕捉デバイス（カメラ１４４等）、マイクロホン、慣性測定ユニット（ＩＭＵ）、加速度計、コンパス、ＧＰＳユニット、無線デバイス、および／またはジャイロスコープを含み得る。例えば、一実施形態では、ＡＲシステム１００ａは、エンドユーザ５０の頭部の移動を示す慣性測定値を捕捉するための１つ以上の慣性トランスデューサを含む頭部装着型トランスデューササブシステムを含む。そのようなデバイスは、エンドユーザ５０の頭部移動に関する情報を感知、測定、または収集するために使用され得る。例えば、これらのデバイスは、エンドユーザ５０の頭部の測定移動、速度、加速、および／または位置を検出するために使用され得る。
【００２８】
ＡＲシステム１００ａは、１つ以上の前向きカメラ１４４ａ（以降、「カメラ１４４ａ」と称される）を含む。カメラ１４４ａは、ＡＲシステム１００ａの前方方向からの画像／ビデオの記録等の任意の数の目的のために採用され得る。加えて、カメラ１４４ａは、環境およびその環境内の特定のオブジェクトに対するエンドユーザ５０の距離、向き、および／または角度位置を示す情報等のエンドユーザ５０が位置する環境に関する情報を捕捉するために使用され得る。
【００２９】
いくつかの実施形態では、例えば、図１Ａに図示されるように、カメラ１４４は、物理的にフレーム構造１０２に取り付けられ得、他の実施形態では、例えば、図１Ｂに図示されるように、カメラ１４４ｂは、物理的にフレーム構造１０２から遠隔にあり得る。例えば、カメラ１４４ｂは、ユーザが位置する部屋の明確なビューを有する、壁または天井場所に設置され得、カメラ１４４ｂは、部屋の中の既知の座標場所に設置される。任意のタイプのカメラ１４４（カメラ１４４は、カメラ１４４ａ、１４４ｂ、または任意の他の好適なタイプの画像取得デバイスを集合的に指す）が、本実施形態によるＡＲ記録を実施するために使用され得る。
【００３０】
ＡＲシステム１００ａは、エンドユーザ５０の眼の角度位置（片眼または両眼が向いている方向）、瞬目、および焦点深度（眼収束を検出することによる）を追跡するための後向きカメラをさらに含み得る。そのような眼追跡情報は、例えば、光をエンドユーザの眼に投影し、その投影された光の少なくとも一部の戻りまたは反射を検出することによって判別され得る。
【００３１】
拡張現実システム１００ａは、多種多様な形態の任意のものをとり得る制御サブシステム１０１ａをさらに含む。制御サブシステム１０１ａは、いくつかのコントローラ、例えば、１つ以上のマイクロコントローラ、マイクロプロセッサもしくは中央処理ユニット（ＣＰＵ）、デジタル信号プロセッサ、グラフィック処理ユニット（ＧＰＵ）、特定用途向け集積回路（ＡＳＩＣ）等の他の集積回路コントローラ、プログラマブルゲートアレイ（ＰＧＡ）、例えば、フィールドＰＧＡ（ＦＰＧＡ）、および／またはプログラマブル論理コントローラ（ＰＬＵ）を含む。制御サブシステムは、デジタル信号プロセッサ（ＤＳＰ）、中央処理ユニット（ＣＰＵ）１５０、グラフィック処理ユニット（ＧＰＵ）１５２、および１つ以上のフレームバッファ１５４を含み得る。図１Ａは、１つのフレームバッファ１５４を図示するが、制御サブシステム１０１ａは、２つ以上のフレームバッファ１５４を含み得る。制御サブシステム１０１は、例えば、有線または無線接続を介して、フレーム構造１０２に通信可能に結合され得る。
【００３２】
ＣＰＵ１５０は、ＡＲシステム１００ａの全体的動作を制御する。ＣＰＵ１５０は、読み取り専用メモリ（ＲＯＭ）からの読み取り、および、ランダムアクセスメモリ（ＲＡＭ）の中への書き込みおよび／またはそれからの読み取りを行い得る。
【００３３】
ＧＰＵ１５２は、フレームをレンダリング（例えば、３次元場面を２次元画像に変換）し、これらのフレームをフレームバッファ１５４の中に記憶する。図示されないが、１つ以上の追加の集積回路が、フレームバッファ１５４の中へのフレームの書き込みおよび／またはそれからの読み取りと、ディスプレイサブシステム１０４の走査デバイスの動作とを制御し得る。フレームバッファ１５４の中への読み込みおよび／またはそれからの読み取りは、動的アドレス指定を採用し得、例えば、フレームが、オーバーレンダリングされる。ＧＰＵ１５２は、フレームをレンダリングするための１つ以上の場面の３次元（３Ｄ）データのみならず、３Ｄデータベース１６０からの３Ｄ場面内に含まれる仮想音源に関連付けられた合成音データにもアクセスし得る。
【００３４】
拡張現実システム１００ａは、ユーザの向き検出モジュール１４８をさらに含む。ユーザの向きモジュール１４８は、エンドユーザ５０の頭部の瞬間の位置を検出し、センサから受信される位置データに基づいて、エンドユーザ５０の頭部の位置を予測し得る。ユーザの向きモジュール１４８は、エンドユーザ５０の眼、特に、センサから受信される追跡データに基づいて、エンドユーザ５０が焦点を合わせている方向および／または位置も追跡する。
【００３５】
ＡＲシステム１００ａの種々のコンポーネントは、分散型サブシステム内に物理的に含まれ得る。例えば、ＡＲシステム１００ａは、有線導線または無線接続性等によってディスプレイサブシステム１０４の一部に動作可能に結合されたローカル処理およびデータモジュールを含む。ローカル処理およびデータモジュールは、フレーム構造１０２に固定して取り付けられる構成、ヘルメットまたは帽子に固定して取り付けられる構成、ヘッドホンの中に内蔵される構成、エンドユーザ５０の胴体に除去可能に取り付けられる構成、もしくはベルト結合式構成でエンドユーザ５０の腰部に除去可能に取り付けられる構成等、種々の構成で搭載され得る。ＡＲシステム１００ａは、これらの遠隔モジュールが、互いに動作可能に結合され、ローカル処理およびデータモジュールへのリソースとして利用可能であるように、有線導線または無線接続性等によってローカル処理およびデータモジュールに動作可能に結合された遠隔処理モジュールと、遠隔データリポジトリとをさらに含む。ローカル処理およびデータモジュールは、電力効率的プロセッサまたはコントローラならびにフラッシュメモリ等のデジタルメモリを備え得、両方は、センサから捕捉された、および／または、可能性として処理もしくは読み出しの後、ディスプレイサブシステム１０４への通過のために、遠隔処理モジュールおよび／または遠隔データリポジトリを使用して、取得および／または処理されたデータの処理、キャッシュ、および記憶を補助するために利用され得る。遠隔処理モジュールは、データおよび／または画像情報を分析かつ処理するように構成された１つ以上の比較的に強力なプロセッサもしくはコントローラを備え得る。遠隔データリポジトリは、インターネットまたは「クラウド」リソース構成内の他のネットワーキング構成を通して利用可能であり得る比較的に大規模なデジタルデータ記憶設備を備え得る。一実施形態では、全てのデータが、記憶され、全ての計算が、ローカル処理およびデータモジュール内で実施され、任意の遠隔モジュールからの完全に自律的使用を可能にする。上で説明される種々のコンポーネント間の結合は、ワイヤもしくは光学通信を提供するための１つ以上の有線インターフェースもしくはポート、または無線通信を提供するためのＲＦ、マイクロ波、およびＩＲ等を介した１つ以上の無線インターフェースもしくはポートを含み得る。いくつかの実装では、全ての通信は、有線であり得る一方、他の実装では、光ファイバを除き、全ての通信は、無線であり得る。
【００３６】
図１Ｃは、一実施形態による、拡張現実（ＡＲ）システム１００ｂを図示するブロック図である。ＡＲシステム１００ｂは、制御サブシステム１０１ｂを有する。制御サブシステム１０１ａに関して上で前述されたように、制御システム１０１ｂも、投影サブシステム１０８と、１つ以上のフレームバッファ１５４と、ＧＰＵ１５２と、３Ｄデータベース１６０と、画像／ビデオデータ１７１と、ＣＰＵ１５０とを含む。制御サブシステム１０１ｂは、１つ以上の慣性測定ユニット（ＩＭＵ）１６２と、合成器１６４と、メディアエンコーダ１６６と、記録データベース１６８とをさらに含む。
【００３７】
投影サブシステム１０８は、エンドユーザ５０の視野内の物理的オブジェクトと混成される仮想オブジェクトの画像を提供し、画像は、１つ以上のフレームバッファ１５４の中に記憶され得る。
【００３８】
ＩＭＵ１６２は、ＡＲシステムのための姿勢データを識別するセンサ／測定装置に対応し、姿勢データは、例えば、ジャイロスコープに関する３つの自由度と、加速度計に関する３つの自由度とを有する６つの自由度に対応する姿勢データを含む。ＩＭＵ１６２は、エンドユーザ５０の頭部の瞬間の位置を検出する。ＩＭＵ１６２は、エンドユーザ５０の頭部とＩＭＵ１６２が常駐し得るフレーム構造１０２との間の既知の関係に基づいて、エンドユーザ５０の頭部の瞬間の位置を検出し得る。いくつかの実施形態では、ＩＭＵ１６２は、エンドユーザ５０の頭部の以前に検出された位置に基づいて、エンドユーザ５０の頭部の位置を予測し得る。ＩＭＵ１６２は、エンドユーザ５０の眼、特に、エンドユーザ５０が焦点を合わせている方向および／または距離も追跡し得る。ＩＭＵ１６２は、カメラ１４４の瞬間の位置をさらに検出する。いくつかの実施形態では、ＩＭＵ１６２は、カメラ１４４とフレーム構造１０２との間の既知のオフセットに基づいて、検出された瞬間の位置からカメラ１４４の瞬間の位置を推定する。
【００３９】
いくつかの実施形態では、ＡＲ記録のために、ユーザの眼の視点からレンダリングされた仮想コンテンツを再利用する代わりに、仮想コンテンツが、カメラの視点からレンダリングされる。レンダリングされたその仮想コンテンツは、カメラ記録と組み合わせられ、ＡＲ記録を形成する。ＣＰＵ１５０は、制御サブシステム１０１ｂの動作を制御し、それによって、ＧＰＵ１５２は、（ＩＭＵ１６２によって生成されたカメラ１４４のための姿勢データを使用して）カメラ１４４からの視点から仮想コンテンツをレンダリングするであろう。
【００４０】
合成器１６４は、レンダリングされた仮想コンテンツをカメラ記録コンテンツと組み合わせる。合成器１６４は、ＧＰＵ１５２からのレンダリングされた仮想コンテンツとともに適切な座標空間内に適切に並べられたカメラの画像フレーム内の実コンテンツの正しい相対的位置付けに従って、ＧＰＵ１５２からのレンダリングされた仮想コンテンツをカメラ１４４ｂからの記録されたコンテンツと重ねることによって動作する。
【００４１】
メディアエンコーダ１６６は、合成器１６４からの出力データを捉え、１つ以上の画像フレームを所望されるメディアフォーマットタイプに生成する。画像フレームは、単一の画像スクリーンショットおよび／または画像フレームのストリーム／シーケンスとして生成され、ビデオファイルを形成し得る。エンコードされたメディアデータは、次いで、記録データベース１６８の中に記憶される。
【００４２】
（ＡＲ記録）
続く説明は、いくつかの実施形態による、ＡＲ記録を生成するためのアプローチに関する。ＡＲ記録のために、ユーザの眼の視点からレンダリングされた仮想コンテンツを再利用する代わりに、追加の仮想コンテンツが、カメラの視点からレンダリングされ、追加の仮想コンテンツは、カメラ記憶と組み合わせられ、ＡＲ記録を形成する。
【００４３】
ＡＲシステムのユーザは、多くの場合、記録が実世界オブジェクトと、ＡＲシステムによって生産される仮想オブジェクト（またはコンテンツ）とを含むそのＡＲ体験の記録を保存するように求める。生じる問題は、仮想オブジェクトがユーザの眼の視点からレンダリングされるのに対し、カメラが、ユーザの眼の視点と異なるカメラの視点から実オブジェクトを記録しているという事実に起因して、画像アーチファクトが生成され得ることである。
【００４４】
図２は、いくつかの実施形態による、ワーピングを使用してＡＲ記録プロセスを実装するための例示的アーキテクチャを図示する。いくつかの実施形態では、ワーピングプロセスは、画像アーチファクトをもたらし得る。所与の時点において、ＡＲデバイス上における表示のための仮想画像データを生成するための要求が、受信されるであろう。（１）において、カメラ１４４は、カメラ画像フレームを捕捉し、捕捉されたカメラ画像フレームを合成器１６４に伝送する。いくつかの実施形態では、カメラ１４４は、フレーム構造１０２に取り付けられ得る。いくつかの実施形態では、カメラ１４４は、環境内の決定された場所および向きに搭載され得る。
【００４５】
（２）において、ＩＭＵ１６２は、エンドユーザ５０の頭部および／または眼のための姿勢データを捕捉／識別し、カメラ１４４のための姿勢データを捕捉し、捕捉された姿勢データを合成器１６４に伝送する。いくつかの実施形態では、ＩＭＵ１６２は、概して、ユーザの眼または頭部とカメラとの姿勢を決定するために、ＡＲシステムのための姿勢データを捕捉／識別する。本明細書で使用されるように、用語「姿勢」は、例えば、（Ｘ、Ｙ、Ｚ）座標場所と角度方向／場所／向きとを含む。カメラ１４４が物理的にフレーム構造１０２に取り付けられるいくつかの実施形態では、カメラ１４４のための姿勢データは、カメラ１４４とフレーム構造１０２との間の既知の固定されたオフセットに基づいて推定され得る。カメラが１４４物理的にフレーム構造１０２から遠隔であるいくつかの実施形態では、カメラ１４４のための姿勢データは、例えば、システム座標空間内の予め指定された固定された場所／向きデータを含むことができる。
【００４６】
（３）において、合成器１６４は、エンドユーザ５０の頭部および／または眼のための姿勢データとカメラ１４４のための姿勢データとをＧＰＵ１５２に送信する。ＧＰＵ１５２は、エンドユーザ５０の頭部および／または眼のための姿勢データに基づいて、仮想コンテンツを生成かつレンダリングする。いくつかの実施形態では、このレンダリングアクションは、仮想コンテンツの画像がエンドユーザ５０の頭部および／または眼の視点から生成されるように仮想コンテンツを生成する。環境内の仮想オブジェクトに関する情報（形状、サイズ、表面、テクスチャ、場所、向き等の情報）とそれらの形状とに基づいてレンダリング動作を実施するための構成情報を提供するために、３Ｄデータベース１６０が、採用される。エンドユーザ５０の頭部および／または眼の視点から視認可能である仮想オブジェクトが、次いで、エンドユーザ５０の頭部および／または眼の視点からの画像としてレンダリングされる。
【００４７】
いくつかの実施形態では、ＡＲ記録プロセスに関して、合成器エンジン１６４は、ＡＲ記録に好適な仮想コンテンツを生成するように、ＡＲアプリケーション／ＧＰＵ１５２に要求する。特に、（４）において、先に生成された仮想コンテンツは、ワーピングされ、カメラ１４４の視点からの仮想コンテンツを修正するように試み、そのワーピングされた仮想コンテンツは、次いで、合成器１６４に送信される。
【００４８】
問題は、ワーピングされた仮想コンテンツが、カメラの視点からの仮想コンテツの十分に正確なビューを提供しないこともあることである。例えば、これは、エンドユーザ５０の頭部および／または眼の視点に基づく仮想コンテンツが、カメラ１４４の視点から視認可能であるであろう仮想コンテンツに関する表示可能な情報を含み損なう場合、生じ得る。
【００４９】
合成器１６４は、カメラ１４４によって捕捉されたカメラ画像フレームと、ＧＰＵ１５２によって生成されたワーピングされかつレンダリングされた仮想コンテンツとを重ねることによって、画像フレームを合成する。（５）において、合成器１６４は、合成された画像フレームをメディアエンコーダ１６６に送信する。メディアエンコーダ１６６は、合成されたフレームをエンコードする。（６）において、メディアエンコーダは、エンコードされた画像フレームを記録データベース１６８に送信する。合成器１６４が、ワーピングされかつレンダリングされた仮想コンテンツと、カメラ画像フレームとの両方を有する、合成された画像フレームをメディアエンコーダ１６６に送信すると、メディアエンコーダ１６６は、記録される画像／ビデオフレームのコンテンツの正確度に影響を及ぼすビデオアーチファクトを含むエンコードされた画像フレームを発生させ得る。（６）において、視認可能なビデオアーチファクトを有するそのエンコードされた画像フレームは、次いで、記録データベース１６８の中に記録され得る。
【００５０】
図３は、いくつかの実施形態による、ＡＲ記録を生成するためのこのアプローチのフローチャートを示す。３０２において、画像を表示するための要求が、受信される。要求は、例えば、エンドユーザ５０に表示するための新しい画像フレームを生成するための要求に基づいて起こり得る。
【００５１】
３０４において、カメラ１４４は、カメラ画像フレームを捕捉する。カメラ画像フレームは、カメラ１４４の視点から画像データのフレームを捕捉することによって記録される。捕捉されたカメラ画像フレームは、次いで、コンピュータ読み取り可能な媒体の中に記憶され得る。３０６において、ＩＭＵ１６２は、エンドユーザ５０の頭部および／または眼のための姿勢データならびにカメラ１４４のための姿勢データを決定する。カメラ１４４が物理的にフレーム構造１０２に取り付けられるいくつかの実施形態では、カメラ１４４のための姿勢データは、カメラ１４４とフレーム構造１０２との間の既知の固定されたオフセットに基づいて推定され得る。カメラ１４４が物理的にフレーム構造１０２から遠隔にあるいくつかの実施形態では、カメラ１４４のための姿勢データは、例えば、システム座標空間内の予め指定された固定された場所／向きデータを含むことができる。
【００５２】
３０８において、ＧＰＵ１５２は、ユーザの眼の視点のみから仮想コンテンツをレンダリングする。すなわち、ＧＰＵ１５２は、エンドユーザ５０の頭部および／または眼のための姿勢データに基づいて、仮想コンテンツをレンダリングする。３１０において、投影サブシステム１０８は、エンドユーザ５０の頭部および／または眼の視点からレンダリングされた仮想コンテンツを表示する。
【００５３】
３１２において、ＧＰＵ１５２は、カメラ１４４のための姿勢データに基づいてレンダリングされた仮想コンテンツをワーピングする。３１４において、合成器１６４は、カメラ画像フレームと、ワーピングされかつレンダリングされた仮想コンテンツとを重ねることによって、画像フレームを合成する。３１６において、メディアエンコーダ１６６は、合成された画像フレームのエンコードされたバージョンを、記録データベース１６８がコンピュータ読み取り可能な媒体に対応し得る、記録データベース１６８の中に記憶する。画像フレームを合成した組み合わせられたＡＲ画像は、画像データの個々のフレームを含み得るか、または画像フレームのストリームとして保存され、ビデオ記録を形成し得る。
【００５４】
図４Ａ−Ｇは、いくつかの実施形態による、これの例証を提供する。図４Ａは、ユーザ（例えば、エンドユーザ５０）の環境の中に存在する、２つの実世界オブジェクトを示す。これらの実オブジェクトの各々は、実オブジェクトの正面上に文字「ＲＯ」を伴う一定のブロック／立方体として成形される。図４Ｂに示されるように、ＡＲシステム（例えば、ＡＲシステム１００ａまたは１００ｂ）によって実装される仮想世界が、（例えば、２つの仮想オブジェクトの真下の場所にある）２つの実オブジェクトからある相対距離を空けて仮想オブジェクトを含むと仮定する。仮想オブジェクトは、実際には実世界に存在せず、故に、ＡＲシステム１００ａまたは１００ｂなしには、エンドユーザ５０によって視認されることはできず、カメラ（例えば、カメラ１４４）によって捕捉された画像フレーム内で視認されることはできず、ＡＲシステムなしでは、ユーザによって視認されることはできない。しかしながら、仮想オブジェクトは、定義された形状と、座標場所とを有し、したがって、その論理場所および向きにおいてユーザに表示されるべき仮想コンテンツとして、ＡＲシステム１００ａまたは１００ｂによってレンダリングされることができる。仮想オブジェクトは、その正面上に文字「ＶＯ」を伴い、その側面上に文字「Ｘ」を伴う一定のブロック／立方体として成形される。
【００５５】
エンドユーザ５０の眼が、図４Ｃに示される場所および角度位置内に位置すると仮定する。この例示的状況では、エンドユーザ５０の眼は、実オブジェクトの真正面における視点（例えば、第１の視点）から、実オブジェクトと仮想オブジェクトの論理場所とを見ている。したがって、この視点から、図４Ｄに示されるように、ＧＰＵ（例えば、ＧＰＵ１５２）は、エンドユーザ５０の眼が仮想オブジェクトの真正面を見ているかのように、仮想オブジェクトの画像をレンダリングするであろう。これは、仮想オブジェクトが、正面上に文字「ＶＯ」と、側面上に文字「Ｘ」とを有していても、仮想オブジェクトが、レンダリングされ、文字「ＶＯ」を伴う仮想オブジェクトの正面のみを示し、仮想オブジェクトの側面の任意の部分が、レンダリングされた文字「Ｘ」を有しないであろうことを意味する。したがって、実オブジェクトとレンダリングされた仮想オブジェクトとの組み合わせは、これらの実／仮想オブジェクトの全てを、これらの実／仮想オブジェクトの真正面から見る第１の視点から示すであろう。
【００５６】
しかしながら、図４Ｅに示されるように、カメラ（例えば、カメラ１４４）の現在の場所および回転位置は、エンドユーザ５０の眼のそれと異なる視点（例えば、第２の視点）にある。この状況では、カメラ１４４の視点は、エンドユーザ５０の眼の視点から右方向にある距離を空けてオフセットされ、実オブジェクトの正面および右側面の両方に対して角度付けられる。これは、カメラ１４４が、実オブジェクトの正面および右側面の両方を捕捉する画像フレームを記録するであろうことを意味する。
【００５７】
図４Ｆに図示されるように、第１の視点からの仮想オブジェクトのレンダリングされた画像を直接捉え、それを第２の視点からの実オブジェクトの捕捉された画像と重ねることは、これらのオブジェクトの視点における不整合をもたらす。特に、実オブジェクトの正面および部分的な右側面の両方が、第２の視点から示されているが、仮想オブジェクトの正面のみが、第１の視点から示されている。これは、単にレンダリングされた仮想オブジェクトを実オブジェクトの記録と組み合わせる記録が、第１の視点からの実オブジェクトと、第２の視点からの仮想オブジェクトとを示し、潜在的に、記録の所与の画像フレームのための最終画像生産物内にオブジェクトの向きにおけるかなりの断絶を作成するであろうことを意味する。
【００５８】
図４Ｇに示されるように、仮想オブジェクトのレンダリングされた画像が適切な視点から示されるように、それを変化させる（例えば、第１の視点から第２の視点に）ために、ワーピングが、採用され得る。このアプローチは、仮想オブジェクトのレンダリングされた画像を捉え、仮想オブジェクトのレンダリングされた画像の表面が、第２の視点からのそれらの仮想オブジェクトを表示するように試みるように、提示される方法をシフトさせる。このアプローチの１つの問題は、仮想オブジェクトが、もともと、第１の視点からレンダリングされるとき、レンダリングされた仮想オブジェクトが、第２の視点からの仮想オブジェクトに関する表示可能な情報を含まないこともあることである。ここで、仮想オブジェクトは、仮想オブジェクトの正面のみが視認可能である第１の視点からレンダリングされており、それは、仮想オブジェクトの他の側面からのコンテンツがレンダリングされていないことを意味する。したがって、ワーピングが適用される場合でも、仮想オブジェクトの右側面からの文字「Ｘ」は、文字「Ｘ」が第１の視点からレンダリングされた仮想オブジェクト内に存在していなかったので、ワーピングされた仮想オブジェクト内に存在しないであろう。これは、カメラ１４４がエンドユーザ５０の眼（例えば、第１の視点）とは異なる視点を有するので、第１の視点からのワーピングされた仮想オブジェクトと第２の視点からの実オブジェクトとの組み合わせが、第２の視点から視認可能であるべきであるコンテンツ（すなわち、仮想オブジェクトの右側上の「Ｘ」）を欠いていることを意味する。これは、記録された画像／ビデオフレームの有用性および正確度に影響を及ぼすビデオアーチファクトを生成する。
【００５９】
図５は、いくつかの実施形態による、このＡＲ記録プロセスを実装するためのアーキテクチャを図示する。表示のための仮想画像データを生成するための要求が、ＡＲシステム１００ａまたは１００ｂによって受信される。
【００６０】
（１）において、カメラ１４４が、カメラ画像フレームを捕捉し、捕捉されたカメラ画像フレームを合成器１６４に伝送する。上で説明されるように、いくつかの実施形態では、カメラ１４４は、フレーム構造１０２に取り付けられ得る。いくつかの実施形態では、カメラ１４４は、環境内の既知の場所および向きに搭載され得る。
【００６１】
（２）において、ＩＭＵ１６２は、エンドユーザ５０の頭部および／または眼のための姿勢データを捕捉し、カメラ１４４のための姿勢データを捕捉し、捕捉された姿勢データを合成器１６４に伝送する。カメラ１４４が物理的にフレーム構造１０２に取り付けられるいくつかの実施形態では、カメラ１４４のための姿勢データは、カメラ１４４とフレーム構造１０２との間の既知の固定されたオフセットに基づいて推定され得る。カメラ１４４が物理的にフレーム構造１０２から遠隔にあるいくつかの実施形態では、カメラ１４４のための姿勢データは、例えば、システム座標空間内の予め指定された固定された場所／向きデータを含むことができる。
【００６２】
いくつかの実施形態では、ＡＲ記録プロセスに関して、合成器１６４は、ＡＲ記録に好適な仮想コンテンツを生成するように、ＡＲアプリケーション／ＧＰＵ１５２に要求する。合成器エンジン１６４からアプリケーション／ＧＰＵ１５２への要求は、カメラ１４４のための姿勢データを含む。すなわち、（３）において、合成器１６４は、カメラ１４４のための姿勢データをＡＲアプリケーション／ＧＰＵ１５２に送信する。
【００６３】
ＡＲアプリケーション／ＧＰＵ１５２は、カメラ１４４のための姿勢データに基づいて、仮想コンテンツを生成かつレンダリングする。いくつかの実施形態では、このレンダリングアクションは、仮想コンテンツの画像がカメラ１４４の視点から生成されるように、仮想コンテンツを生成する。環境内の仮想オブジェクトに関する情報（形状、サイズ、表面、テクスチャ、場所、向き等の情報）とそれらの形状に応じてレンダリング動作を実施するための構成情報とを提供するために、３Ｄデータベース１６０が、採用される。カメラ１４４の視点から視認可能である仮想オブジェクトが、次いで、カメラ１４４の視点からの画像としてレンダリングされる。下でより詳細に記載されるように、この画像のためのレンダリングのタイミングは、システム上の計算待ち時間を最小化させるように構成され得る。
【００６４】
（４）において、ＡＲアプリケーション／ＧＰＵ１５２は、レンダリングされた仮想コンテンツを合成器１６４に送信する。合成器１６４は、カメラ１４４によって捕捉されたカメラ画像フレームと、ＡＲアプリケーション／ＧＰＵ１５２によって生成された、レンダリングされた仮想コンテンツとを重ねることによって、画像フレームを合成する。この動作は、共通座標空間に従って、コンテンツアイテムをそれらの正しい位置／場所の中に並べることによって、仮想コンテンツをカメラ画像フレームとの正しい相対位置に挿入することによって実施され得る。
【００６５】
（５）において、合成器１６４は、合成された画像フレームをメディアエンコーダ１６６に送信する。メディアエンコーダ１６６は、合成された画像フレームをエンコードする。合成された画像フレームは、単一の画像スクリーンショットとして保存されるか、または画像フレームのストリームに設置され、ビデオファイルを形成し得る。（６）において、メディアエンコーダ１６６は、エンコードされた画像フレームを、記録データベース１６８がコンピュータ読み取り可能な媒体に対応し得る記録データベース１６８に送信する。
【００６６】
図６は、いくつかの実施形態による、ＡＲ記録を生成するためのあるアプローチのフローチャートを示す。６０２において、画像を表示するための要求が、受信される。要求は、例えば、エンドユーザ５０に表示するための新しい画像フレームを生成するための要求に基づいて起こり得る。
【００６７】
６０４において、カメラ１４４は、画像フレームを捕捉する。カメラ画像フレームは、カメラ１４４の視点から画像データのフレームを捕捉することによって記録される。捕捉されたカメラ画像フレームは、次いで、コンピュータ読み取り可能な媒体の中に記憶され得る。
【００６８】
６０６において、ＩＭＵ１６２は、エンドユーザ５０の頭部および／または眼のための姿勢データならびにカメラ１４４のための姿勢データを決定する。姿勢データは、ユーザの頭部／眼のための姿勢データならびにカメラのための姿勢データを含む。カメラ１４４が物理的にフレーム構造１０２に取り付けられるいくつかの実施形態では、カメラ１４４のための姿勢データは、カメラ１４４とフレーム構造１０２との間の既知の固定されたオフセットに基づいて推定され得る。カメラが１４４物理的にフレーム構造１０２から遠隔にあるいくつかの実施形態では、カメラ１４４のための姿勢データは、例えば、システム座標空間内で予め指定された固定された場所／向きデータを含むことができる。
【００６９】
６０８において、ＡＲアプリケーション／ＧＰＵ１５２は、エンドユーザ５０の頭部よび／または眼のための姿勢データに基づいて仮想コンテンツをレンダリングし、カメラ１４４のための姿勢データに基づいて仮想コンテンツをレンダリングする。すなわち、ＡＲアプリケーション／ＧＰＵ１５２は、仮想コンテンツを２回、すなわち、１回は、エンドユーザ５０の頭部および／または眼のための姿勢データに基づいて、１回は、カメラ１４４のための姿勢データに基づいてレンダリングする。このアプローチは、仮想コンテンツをエンドユーザ５０の頭部および／または眼のための姿勢データのみに基づいてレンダリングするものではない。いくつかの実施形態では、カメラの場所／角度は、エンドユーザ５０の頭部および／または眼に関連して既知であり、エンドユーザ５０の頭部および／または眼からカメラ１４４への変換が、決定され、ＡＲアプリケーション／ＧＰＵ１５２へのフィードバック機構として使用され、仮想コンテンツのカメラベースのビューに適切な追加の仮想コンテンツを生成し得る。これは、追加の仮想コンテンツが、エンドユーザ５０の頭部および／または眼の視点からレンダリングされるのではなく、代わりに、カメラ１４４の視点（ならびに潜在的には、実際には決してエンドユーザ５０にリアルタイムで供給されないある視点）からレンダリングされるであろうことを意味する。
【００７０】
６１０において、投影サブシステム１０８は、エンドユーザ５０の頭部および／または眼の視点からレンダリングされた仮想コンテンツを表示する。これは、仮想コンテンツが、上で説明されるように、仮想コンテンツのための適切な光パターンをディスプテイ画面の中に投入し（例えば、導波管ベースのディスプレイの適切な層に提供される光を用いて）、エンドユーザ５０の視点からの環境内の実オブジェクトのビュー上に重ねられるエンドユーザ５０のための仮想コンテンツの画像を生産するように提供されることを意味する。
【００７１】
６１４において、合成器１６４は、カメラ画像フレームと、レンダリングされた仮想コンテンツであって、カメラ１４４のための姿勢データに基づいてＡＲアプリケーション／ＧＰＵ１５２によってレンダリングされた仮想コンテンツであるレンダリングされた仮想コンテンツとを重ねることによって、画像フレームを合成する。いくつかの実施形態では、このアクションは、本質的には、レンダリングされた仮想コンテンツをカメラ画像フレームの座標空間の中に投影し、実オブジェクトと、仮想オブジェクトとの両方を有する、組み合わされた画像を生成する。
【００７２】
６１６において、メディアエンコーダ１６６は、合成された画像フレームのエンコードされたバージョンを、記録データベース１６８がコンピュータ読み取り可能な媒体に対応し得る記録データベース１６８の中に記憶する。合成された画像フレームは、画像データの個々のフレームを含み得るか、または画像フレームのストリームとして保存され、ビデオ記録を形成し得る。
【００７３】
図７Ａ−Ｆは、いくつかの実施形態による、（図４Ａ−Ｇに関して以前に議論された同一の構造の多くのものを使用する）これの例証を提供する。図７Ａは、ユーザ（例えば、エンドユーザ５０）の環境内に存在する２つの実世界オブジェクトを示す。これらの実オブジェクトの各々は、実オブジェクトの正面上に文字「ＲＯ」を伴う一定のブロック／立方体として成形される。図７Ｂは、論理上、２つの実オブジェクトの真下にある距離を空けて設置されている仮想オブジェクトを示す。前述のように、仮想オブジェクトは、その正面上に文字「ＶＯ」と、側面上に文字「Ｘ」とを伴う一定のブロック／立方体として形成される。エンドユーザ５０の眼が、図７Ｃに示される場所および角度位置内に位置すると仮定する。この例示的状況では、エンドユーザ５０の眼は、実／仮想オブジェクトの真正面における視点（例えば、第１の視点）から、実オブジェクトと、仮想オブジェクトとを見ている。前述のように、この視点から、ＧＰＵ（例えば、ＧＰＵ１５２）は、エンドユーザ５０の眼が仮想オブジェクトの真正面を見ているかのように、仮想オブジェクトの画像をレンダリングするであろう。図７Ｄに示されるように、それは、実オブジェクトとレンダリングされた仮想オブジェクトとの組み合わせが、これらの実／仮想オブジェクトの全てをこれらのオブジェクトの真正面から見る第１の視点から示すであろうことを意味する。これは、仮想オブジェクトが、正面上に文字「ＶＯ」と、側面上に文字「Ｘ」とを有しているが、仮想オブジェクトが、レンダリングされ、文字「ＶＯ」を伴う仮想オブジェクトの正面のみを示し、仮想オブジェクトの側面の任意の部分が、レンダリングされた文字「Ｘ」を有しないであろうことを意味する。
【００７４】
図７Ｅに示されるように、カメラ（例えば、カメラ１４４）の現在の場所および回転位置は、エンドユーザ５０の眼のそれと異なる視点にある。この状況では、カメラ１４４の視点は、エンドユーザ５０の眼の位置から右方向にある距離を空けてオフセットされ、実オブジェクトの正面および右側面の両方に対して角度付けられる。これは、カメラ１４４が、実オブジェクトの正面および右側面の両方を捕捉する画像フレームを記録するであろうことを意味する。
【００７５】
図７Ｆに図示されるように、仮想オブジェクトは、単に仮想オブジェクトの以前にレンダリングされた画像を再利用する代わりに、カメラ１４４の視点からレンダリングされる。これは、仮想オブジェクトのレンダリングされたビューが、ここで、仮想オブジェクトの正面のビュー（文字「ＶＯ」を有する）と、仮想オブジェクトの右側面の部分ビュー（文字「Ｘ」を有する）とを含むであろうことを意味する。これは、カメラ１４４の視点からの仮想オブジェクトのはるかに正確なビューを提供する。レンダリングされた仮想オブジェクトは、次いで、合成器１６４によって実オブジェクトの実世界画像と組み合わせられ、組み合わせられた画像フレームを形成する。この組み合わせられた画像フレームは、次いで、メディアエンコーダ１６６によってエンコードされ、記録データベース１６８がコンピュータ記憶媒体であり得る記録データベース１６８に保存されることができる。
【００７６】
このアプローチは、カメラ１４４の視点と仮想オブジェクトのレンダリングされたビューの視点との間にもはや不整合が全く存在しないので、ＡＲ記録への他のアプローチに影響を及ぼしたタイプの画像アーチファクトを排除する。このアプローチは、仮想オブジェクトがすでに適切な視点からレンダリングされているので、レンダリングされた仮想オブジェクトのワ−ピングを実施するための算出コストを負担する必要性も除去する。
【００７７】
仮想コンテンツの追加のレンダリングの処理は、ＡＲ処理システム１００ａおよび／または１００ｂ内のコンポーネントによって被られるオーバーヘッドを最小化するアプローチを用いて実装されることができる。いくつかの実施形態によると、標準のＧＰＵ処理における間隙が、仮想コンテンツの追加のレンダリングを実施するために利用される。
【００７８】
説明するために、最初に、図８に図示されるＧＰＵ／アプリケーション処理サイクルを検討する。図８は、ＡＲシステムのための連続したフレームのための画像を生成するために実施される一連のアクティビティを示す。図８は、２つのフレーム処理サイクル、すなわち、フレーム「Ｎ」処理サイクルと、フレーム「Ｎ＋１」処理サイクルとを図示する。各フレームのための処理サイクルは、以前のフレームのための処理の終了と次のフレームのための処理の開始とを識別する、「ｖｓｙｎｃマーカ」によって境界をつけられる。フレーム「Ｎ」処理サイクルに対して、処理サイクルの初期では、アプリケーションは、画像フレーム「Ｎ」に対する作業負荷を実施する。その同一処理サイクルの中で、ＧＰＵは、エンドユーザ５０の頭部および／または眼の視点から、画像フレーム「Ｎ」のための仮想コンテンツをレンダリングするための動作を実施する。レンダリングされた仮想コンテンツは、ウェアラブルＡＲデバイス上に表示されるように生成される。これは、ｖｓｙｎｃマーカに至る処理サイクルの重要な部分であり、レンダリングされた仮想コンテンツが、ユーザへの表示のために準備される。この期間において実施される作業の一部は、レンダリングされた仮想コンテンツを得ること、例えば、必要に応じてレンダリングされた仮想コンテンツをワーピングすることによって、レンダリングされた仮想コンテンツを頭部位置に整合させること、およびレンダリングされた仮想コンテンツを含む画像フレームをユーザに提供することである。ｖｓｙｎｃマーカの時点において、ディスプレイは、リフレッシュし、エンドユーザ５０は、新しいコンテンツを見、リフレッシュされたコンテンツの次の組のための処理が、開始する。
【００７９】
このチャートから、各フレーム処理サイクルのために、ＣＰＵ処理の終了時の時間とｖｓｙｎｃマーカの時間との間に、間隙８０２が、存在することが理解され得る。この間隙は、ＧＰＵがその作業を終了し、仮想コンテンツをレンダリングし、そのレンダリングされた仮想コンテンツを引き継ぎ得ることを確実にするために十分に大きくなるように設計される。
【００８０】
図９Ａに示されるように、追加の作業がＧＰＵに課され、例えば、カメラの視点から仮想コンテンツをレンダリングし得るのは、この間隙期間においてである。これは、ＧＰＵがすでに表示のための現在のフレーム「Ｎ」のためのその処理を完了しているので、ＣＰＬＵサイクルの残りが、ＡＲ記録処理のために利用可能なはずであるからである。特に、現在の処理サイクルの残りは、ＧＰＵに追加の処理動作を実施させ、現在のフレーム「Ｎ」のためにカメラの視点から仮想コンテンツをレンダリングするために適用されることができる。例えば、フレーム「Ｎ」処理サイクルに対して、処理サイクルの初期では、アプリケーションは、現在の画像フレーム「Ｎ」に対する作業負荷を実施する。その同一処理サイクルの中で、ＧＰＵは、エンドユーザ５０の頭部および／または眼の視点から、画像フレーム「Ｎ」のための仮想コンテンツをレンダリングするための動作を実施する。レンダリングされた仮想コンテンツは、ウェアラブルＡＲデバイス上に表示されるように生成される。同一処理サイクルの中で、ＧＰＵは、カメラ１４４の視点から、画像フレーム「Ｎ」のための仮想コンテンツをレンダリングするための動作も実施する。
【００８１】
図９Ｂは、いくつかの例による、本側面を実装するためのあるアプローチのフローチャートを示す。フレーム「Ｎ」処理期間に対して、９０２ａにおいて、現在の画像フレーム「Ｎ」のための姿勢データが、決定される。姿勢データは、エンドユーザ５０の頭部および／または眼に関し、すなわち、９０４ａにおいて、現在のフレーム「Ｎ」のために、エンドユーザ５０の頭部および／または眼からの視点から仮想コンテンツをレンダリングするためにＧＰＵによって使用される姿勢データを含む。そのレンダリングされたコンテンツは、９０６ａにおいて、エンドユーザ５０への表示のために処理される。９０８ａにおいて、レンダリングかつ処理された画像フレーム「Ｎ」は、次いで、ウェアラブルＡＲデバイス上においてエンドユーザ５０に表示される。
【００８２】
９０２ａにおいて生成された姿勢データは、現在の画像フレーム「Ｎ」のための画像を捕捉したカメラ１４４のための姿勢データも含む。カメラ１４４のためのその姿勢データは、９１０ａにおいて、ＧＰＵが現在のフレーム「Ｎ」のためのカメラ１４４の視点から仮想コンテンツをレンダリングする同一のフレーム「Ｎ」処理期間内においてＧＰＵによって使用される。
【００８３】
９１２ａにおいて、カメラ１４４の視点からレンダリングされた仮想コンテンツは、９１４においてカメラ１４４から捕捉された画像データと組み合わせられ、ＡＲ記録のための合成画像を生成する。このプロセスは、ＡＲ記録を発生させるための欲求がある場合、各後続フレームを通して継続する。
【００８４】
このアプローチの１つの重要な利点は、カメラ１４４が、ウェアラブルＡＲデバイスから完全に結合解除されることができ、依然として、仮想コンテンツを含むＡＲ記録を得るために使用され得ることであることに留意されたい。これは、カメラ１４４が、ユーザの環境内の任意の場所に設置され得、ＡＲ記録が、依然として、システムがカメラ１４４の視点から仮想コンテンツを単にレンダリングするであろうから、正確に得られ得ることを意味する。これは、（以前のワーピングアプローチのために使用されたワーピング許容誤差が、カメラ１４４とウェアラブルＡＲデバイスとの間に長すぎる距離が存在する場合、事実上、いかなる結果も生成しないであろうから）カメラ１４４がエンドユーザ５０の頭部および／または眼に非常に近接して据え付けられるように要求されるアプローチよりも有利である。
【００８５】
図１０Ａは、いくつかの実施形態による、ＧＰＵ処理間隙を利用する仮想コンテンツレンダリングを実施するためのあるアプローチを図示する。図９Ａと図１０Ａとの間の差異は、図９Ａに対して議論されるように、同一のフレーム処理サイクル内で同一のフレームのための仮想コンテンツの両方の組を生成する代わりに、図１０Ａのアプローチは、その同一のフレームのためのエンドユーザ５０の頭部および／または眼の視点からの仮想コンテンツではなく、異なるフレーム処理サイクルにおける所与のフレームのためのカメラ１４４の視点からの仮想コンテンツを発生させることである。
【００８６】
例えば、図１０Ａに図示されるように、フレーム「Ｎ」処理サイクルに対して、ＧＰＵ処理は、アプリケーション作業負荷が現在のフレーム「Ｎ」のための作業負荷を処理している時間中、以前のフレーム「Ｎ−１」のために、カメラ１４４の視点から仮想コンテンツをレンダリングすることによって、開始する。ＧＰＵが以前のフレーム「Ｎ−１」のためのカメラ１４４の視点からの仮想コンテンツを処理することを終了した後にのみ、ＧＰＵは、次いで、現在のフレーム「Ｎ」のためにエンドユーザ５０の頭部および／眼の視点から仮想コンテンツをレンダリングすることに進むであろう。
【００８７】
一般的な考えは、ＡＲアプリケーションが現在のフレーム「Ｎ」のためのアプリケーション作業負荷に対処している間、ＧＰＵは、通常、任意の他の作業のさらなる処理から調整され、したがって、処理のために利用可能であるということである。したがって、この調整期間中、ＧＰＵは、有利には、ＡＲ記録の目的のために、前のフレーム「Ｎ−１」のためのカメラ１４４の視点からの仮想コンテンツをレンダリングするように課されることができる。
【００８８】
いくつかの実施形態では、これは、ＡＲ記録のための前のフレーム「Ｎ−１」のための仮想コンテンツをレンダリングすることが、現在のフレーム「Ｎ」から少なくとも１つのフレームの待ち期間を有するであろうことを意味する。しかしながら、フレームレートが十分に速い場合、この待ち時間の量は、後でＡＲ記録を見るユーザに対して視認可能ではないであろう。例えば、ＡＲシステムが約６０〜１２０Ｈｚのフレームレートを有する場合、新たに記録されるフレームのための待ち時間は、ユーザに知覚不可能であるほどわずかである８〜１６ミリ秒しかないであろう。（本開示が適用されるシステムの特定のフレームレートを所与として）新しいフレームがフレームの知覚可能なレベルを上回る期間によって隔たらない限り、待ち期間のための任意の数のフレームが受け入れ可能であることに留意されたい。
【００８９】
図１０Ｂは、ＧＰＵのための間隙期間が、前のフレームのための仮想コンテンツをレンダリングするために採用されるいくつかの実施形態を図示するための代替方法を提供する。特に、図１０Ｂは、ＧＰＵが、現在のフレーム「Ｎ」のその処理を完了し（かつ現在のフレームのためのそのレンダリング結果を手渡した）後、ＧＰＵは、現在のフレーム「Ｎ」のために、この時点で必要とされないことを示す。この時点において、ＧＰＵは、通常、任意の作業のさらなる処理から調整され、したがって、処理のために利用可能である。したがって、この調整期間中、現在のフレーム「Ｎ」のために前にレンダリングされた画像が、表示のために並行して処理されている間、ＧＰＵは、有利には、ＡＲ記録の目的のために、前のフレーム「Ｎ−１」のためのカメラの視点からの仮想コンテンツをレンダリングするように課されることができる。
【００９０】
図１０Ｃは、いくつかの実施形態による、本側面を実装するためのあるアプローチのフローチャートを示す。図の左側は、現在のフレーム処理サイクル中（例えば、フレーム「Ｎ」処理期間）に生じる処理を示し、図の右側は、すぐ次のフレーム処理サイクル中（例えば、フレーム「Ｎ＋１」処理期間）に生じる処理を示す。
【００９１】
フレーム「Ｎ」処理期間に対して、９０２ａにおいて、現在の画像フレーム「Ｎ」のための姿勢データが、決定される。姿勢データは、エンドユーザ５０の頭部および／眼のための姿勢データ、すなわち、９０４ａにおいて、現在のフレーム「Ｎ」のためにエンドユーザ５０の頭部および／眼の視点から仮想コンテンツをレンダリングするためにＧＰＵによって使用される姿勢データを含む。そのレンダリングされたコンテンツは、９０６ａにおいて、エンドユーザ５０への表示のために処理される。９０８ａにおいて、レンダリングかつ処理された画像フレーム「Ｎ」は、次いで、ウェアラブルＡＲデバイス上においてエンドユーザ５０に表示される。
【００９２】
９０２ａにおいて生成された姿勢データは、現在の画像フレーム「Ｎ」のための画像を捕捉したカメラ１４４のための姿勢データを含む。現在のフレーム「Ｎ」のためのカメラ１４４のための姿勢データは、フレーム「Ｎ」処理期間内に処理されない。代わりに、カメラ１４４のための姿勢データは、フレーム「Ｎ＋１」処理期間中の処理のために、ＧＰＵに伝送される。
【００９３】
フレーム「Ｎ＋１」処理サイクルに対して、９０２ａにおいて、現在の画像フレーム「Ｎ＋１」のための姿勢データが、決定される。姿勢データは、エンドユーザ５０の頭部および／眼のための姿勢データ、すなわち、９０４ｂにおいて、現在のフレーム「Ｎ＋１」のためにエンドユーザ５０の頭部および／眼の視点から仮想コンテンツをレンダリングするためにＧＰＵによって使用される姿勢データを含む。そのレンダリングされたコンテンツは、９０６ｂにおいて、エンドユーザ５０への表示のために処理される。９０８ａにおいて、レンダリングかつ処理された画像フレーム「Ｎ＋１」は、次いで、ウェアラブルＡＲデバイス上においてエンドユーザ５０に表示される。
【００９４】
そのフレーム「Ｎ＋１」処理サイクル中、９１０ｂにおいて、ＧＰＵは、画像フレーム「Ｎ」からのカメラ１４４の視点からの仮想コンテンツをレンダリングするであろう。９１２ｂにおいて、ＡＲ記録のための合成画像を生成するために、カメラ１４４の視点からの仮想コンテンツが、フレーム「Ｎ」処理期間からの９１４ａにおいてカメラ１４４から捕捉された画像データと組み合わせられる。このプロセスは、ＡＲ記録を発生させるための欲求がある場合、各後続フレームを通して継続する。
【００９５】
したがって、説明されているものは、ＡＲ画像およびビデオを記録するためにとられた従来のアプローチの不正確度ならびに非効率性を解決するＡＲ記録を生成するための改良されたアプローチである。
【００９６】
（システムアーキテクチャ概要）
図１１は、画像データの上で説明される処理のための本開示のある実施形態の実装に好適である例証的コンピューティングシステム１４００のブロック図である。コンピュータシステム１４００は、プロセッサ１４０７、システムメモリ１４０８（例えば、ＲＡＭ）、静的記憶デバイス１４０９（例えば、ＲＯＭ）、ディスクドライブ１４１０（例えば、磁気または光学）、通信インターフェース１４１４（例えば、モデムもしくはイーサネット（登録商標）カード）、ディスプレイ１４１１（例えば、ＣＲＴまたはＬＣＤ）、入力デバイス１４１２（例えば、キーボード）、および、カーソル制御部等のサブシステムおよびにデバイスを相互接続する情報を通信するためのバス１４０６または他の通信機構を含む。
【００９７】
本開示の一実施形態によると、コンピュータシステム１４００は、システムメモリ１４０８内に含まれる１つ以上の命令の１つ以上のシーケンスを実行するプロセッサ１４０７によって具体的な動作を実施する。そのような命令は、静的記憶デバイス１４０９またはディスクドライブ１４１０等の別のコンピュータ読み取り可能な／使用可能媒体からシステムメモリ１４０８の中に読み取られ得る。代替実施形態では、有線回路が、ソフトウェア命令の代わりに、またはそれと組み合わせられて使用され、本開示を実装し得る。したがって、本開示の実施形態は、ハードウェア回路および／またはソフトウェアのいかなる具体的な組み合わせにも限定されない。一実施形態では、用語「論理」は、本開示の全てまたは一部を実装するために使用されるソフトウェアもしくはハードウェアの任意の組み合わせを意味するものとする。
【００９８】
本明細書において使用されるような用語「コンピュータ読み取り可能な媒体」または「コンピュータ使用可能媒体」は、実行のためにプロセッサ１４０７に命令を提供することに関係する任意の媒体を指す。そのような媒体は、限定ではないが、不揮発性媒体および揮発性媒体を含む多くの形態を示し得る。不揮発性媒体は、例えば、ディスクドライブ１４１０等の光学または磁気ディスクを含む。揮発性媒体は、システムメモリ１４０８等の動的メモリを含む。
【００９９】
コンピュータ読み取り可能な媒体の一般的な形態は、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、ＣＤ−ＲＯＭ、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、任意の他のメモリチップまたはカートリッジ、または、コンピュータが読み取り得る任意の他の媒体を含む。
【０１００】
本開示のある実施形態では、本開示を実践するための一連の命令の実行が、単一のコンピュータシステム１４００によって実施される。本開示の他の実施形態によると、通信リンク１４１５（例えば、ＬＡＮ、ＰＴＳＮ、または無線ネットワーク）によって結合される２つ以上のコンピュータシステム１４００は、互いに協調して本開示を実践するように要求される、一連の命令を実施し得る。
【０１０１】
コンピュータシステム１４００は、通信リンク１４１５および通信インターフェース１４１４を通して、プログラム、例えば、アプリケーションコードを含むメッセージ、データ、ならびに命令を伝送かつ受信し得る。受信されたプログラムコードは、それが受信されると、プロセッサ１４０７によって実行され、および／または、後の実行のために、ディスクドライブ１４１０もしくは他の不揮発性記憶部の中に記憶され得る。コンピュータシステム１４００は、データインターフェース１４３３を通して、外部記憶デバイス１４３１上のデータベース１４３２に通信し得る。
【０１０２】
前述の明細書では、本開示が、その具体的実施形態を参照して説明された。しかしながら、種々の修正および変更が、本開示のより広義の精神ならびに範囲から逸脱することなく、本明細書になされ得ることが、明白であろう。例えば、前述のプロセスフローは、プロセスアクションの特定の順序を参照して説明される。しかしながら、説明されるプロセスアクションの多くの順序は、本開示の範囲または動作に影響を及ぼすことなく、変更され得る。本明細書および図面は、故に、限定的意味ではなく、例証と見なされるべきである。
【図１Ａ】
2020511718.tif 000003
【図１Ｂ】
2020511718.tif 000004
【図１Ｃ】
2020511718.tif 000005
【図２】
2020511718.tif 000006
【図３】
2020511718.tif 000007
【図４Ａ】
2020511718.tif 000008
【図４Ｂ】
2020511718.tif 000009
【図４Ｃ】
2020511718.tif 000010
【図４Ｄ】
2020511718.tif 000011
【図４Ｅ】
2020511718.tif 000012
【図４Ｆ】
2020511718.tif 000013
【図４Ｇ】
2020511718.tif 000014
【図５】
2020511718.tif 000015
【図６】
2020511718.tif 000016
【図７Ａ】
2020511718.tif 000017
【図７Ｂ】
2020511718.tif 000018
【図７Ｃ】
2020511718.tif 000019
【図７Ｄ】
2020511718.tif 000020
【図７Ｅ】
2020511718.tif 000021
【図７Ｆ】
2020511718.tif 000022
【図８】
2020511718.tif 000023
【図９Ａ】
2020511718.tif 000024
【図９Ｂ】
2020511718.tif 000025
【図１０Ａ】
2020511718.tif 000026
【図１０Ｂ】
2020511718.tif 000027
【図１０Ｃ】
2020511718.tif 000028
【図１１】
2020511718.tif 000029
【国際調査報告】
2020511718.tif 000030