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