(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-21
(45)【発行日】2024-01-04
(54)【発明の名称】カラー仮想コンテンツワーピングを伴う複合現実システムおよびそれを使用して仮想コンテンツ生成する方法
(51)【国際特許分類】
G06T 19/00 20110101AFI20231222BHJP
G06F 3/01 20060101ALI20231222BHJP
G09G 5/00 20060101ALI20231222BHJP
G09G 5/02 20060101ALI20231222BHJP
G09G 5/18 20060101ALI20231222BHJP
【FI】
G06T19/00 A
G06F3/01 510
G09G5/00 550B
G09G5/00 550C
G09G5/02 B
G09G5/18
(21)【出願番号】P 2022100963
(22)【出願日】2022-06-23
(62)【分割の表示】P 2022002800の分割
【原出願日】2018-03-16
【審査請求日】2022-06-23
(32)【優先日】2017-03-17
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514108838
【氏名又は名称】マジック リープ, インコーポレイテッド
【氏名又は名称原語表記】Magic Leap,Inc.
【住所又は居所原語表記】7500 W SUNRISE BLVD,PLANTATION,FL 33322 USA
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】マイケル ハロルド リーベナウ
(72)【発明者】
【氏名】レザ ヌーライ
(72)【発明者】
【氏名】ロバート ブレイク テイラー
(72)【発明者】
【氏名】ファハリ ヤラス
【審査官】岡本 俊威
(56)【参考文献】
【文献】米国特許出願公開第2015/0002542(US,A1)
【文献】米国特許出願公開第2016/0133201(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06T 15/00
G06F 3/01
G09G 5/00- 5/42
(57)【特許請求の範囲】
【請求項1】
順次投影のためにマルチフィールドカラー仮想コンテンツをワーピングするコンピュータ実装方法であって、
アプリケーションフレームおよびアプリケーション姿勢を取得することと、
第1の推定された表示時間における前記アプリケーションフレームの第1のワーピングのための第1の姿勢を推定することと、
前記アプリケーション姿勢および前記推定された第1の姿勢を使用して、前記アプリケーションフレームの第1のワーピングを実施し、第1のワーピングされたフレームを生成することと、
第2の推定された表示時間における前記第1のワーピングされたフレームの第2のワーピングのための第2の姿勢を推定することと、
前記推定された第2の姿勢を使用して、前記第1のワーピングフレームの第2のワーピングを実施し、第2のワーピングされたフレームを生成することと、
受信された眼または頭部追跡情報に基づいて、色割れ(「CBU」)アーチファクトを予測することと、
前記予測されたCBUアーチファクトに基づいて、カラーフィールドレートを増加させることと、
前記受信された眼または頭部追跡情報および前記増加させられたカラーフィールドレートに基づいて、第2のCBUを予測することと、
前記予測された第2のCBUアーチファクトに基づいて、ビット深度を減少させることと
を含む、
コンピュータ実装方法。
【請求項2】
前記増加させられたカラーフィールドレートおよび前記減少させられたビット深度を使用して画像を表示することをさらに含む、請求項
1に記載の方法。
【請求項3】
順次投影のためにマルチフィールドカラー仮想コンテンツをワーピングするためのシステムであって、
アプリケーションフレームおよびアプリケーション姿勢を受信するためのワーピングユニットと、
プロジェクタと
を備え、
前記ワーピングユニットは、姿勢推定器と、変換ユニットとを備え、
前記姿勢推定器は、
第1の推定された表示時間における前記アプリケーションフレームの第1のワーピングのための第1の姿勢を推定することと、
第2の推定された表示時間における前記第1のワーピングされたフレームの第2のワーピングのための第2の姿勢を推定することと
を行い、
前記変換ユニットは、
前記アプリケーション姿勢および前記推定された第1の姿勢を使用して、前記アプリケーションフレームの第1のワーピングを実施し、第1のワーピングされたフレームを生成することと、
前記推定された第2の姿勢を使用して、前記第1のワーピングフレームの第2のワーピングを実施し、第2のワーピングされたフレームを生成することと
を行い、
前記ワーピングユニットは
、
受信された眼または頭部追跡情報に基づいて、色割れ(「CBU」)アーチファクトを予測することと、
前記予測されたCBUアーチファクトに基づいて、カラーフィールドレートを増加させることと、
前記受信された眼または頭部追跡情報および前記増加させられたカラーフィールドレートに基づいて、第2のCBUを予測することと、
前記予測された第2のCBUアーチファクトに基づいて、ビット深度を減少させることと
を行うように構成され
、
前記プロジェクタは、前記増加させられたカラーフィールドレートを使用して画像を表示するためのものである、システム。
【請求項4】
前記プロジェクタは、前記増加させられたカラーフィールドレートおよび前記減少させられたビット深度を使用して前記画像を表示するように構成される、請求項
3に記載のシステム。
【請求項5】
非一過性コンピュータ読み取り可能な記憶媒体であって、前記非一過性コンピュータ読み取り可能な記憶媒体は、一連の命令を記憶しており、前記一連の命令は、プロセッサによって実行されると、順次投影のためにマルチフィールドカラー仮想コンテンツをワーピングする方法を前記プロセッサに実行させ、前記方法は、
アプリケーションフレームおよびアプリケーション姿勢を取得することと、
第1の推定された表示時間における前記アプリケーションフレームの第1のワーピングのための第1の姿勢を推定することと、
前記アプリケーション姿勢および前記推定された第1の姿勢を使用して、前記アプリケーションフレームの第1のワーピングを実施し、第1のワーピングされたフレームを生成することと、
第2の推定された表示時間における前記第1のワーピングされたフレームの第2のワーピングのための第2の姿勢を推定することと、
前記推定された第2の姿勢を使用して、前記第1のワーピングフレームの第2のワーピングを実施し、第2のワーピングされたフレームを生成することと
、
受信された眼または頭部追跡情報に基づいて、色割れ(「CBU」)アーチファクトを予測することと、
前記予測されたCBUアーチファクトに基づいて、カラーフィールドレートを増加させることと、
前記受信された眼または頭部追跡情報および前記増加させられたカラーフィールドレートに基づいて、第2のCBUを予測することと、
前記予測された第2のCBUアーチファクトに基づいて、ビット深度を減少させることと
を含む、非一過性コンピュータ読み取り可能な記憶媒体。
【請求項6】
前記方法は、
前記第2のワーピングされたフレームをほぼ前記第2の推定された表示時間において表示することをさらに含む、請求項
5に記載の非一過性コンピュータ読み取り可能な記憶媒体。
【請求項7】
前記方法は、
第3の推定された表示時間における前記第1のワーピングされたフレームの第3のワーピングのための第3の姿勢を推定することと、
前記推定された第3の姿勢を使用して、前記第1のワーピングフレームの第3のワーピングを実施し、第3のワーピングされたフレームを生成することと、
前記第3のワーピングされたフレームをほぼ前記第3の推定された表示時間において表示することと
をさらに含み、
前記第3の推定された表示時間は、前記第2の推定された表示時間より後である、請求項
6に記載の非一過性コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、カラー仮想コンテンツをワーピングすることを伴う複合現実システムと、それを使用して、ワーピングされた仮想コンテンツを含む複合現実体験を生成する方法とに関する。
【背景技術】
【0002】
現代のコンピューティングおよびディスプレイ技術は、デジタル的に再現された画像またはその一部が、現実であるように見える様式、またはそのように知覚され得る様式でユーザに提示される、いわゆる「仮想現実」(VR)または「拡張現実」(AR)体験のための「複合現実」(MR)システムの開発を促進している。VRシナリオは、典型的には、実際の実世界の視覚的入力に対する透明性を伴わずに、デジタルまたは仮想画像情報の提示を伴う。ARシナリオは、典型的には、ユーザの周囲の実際の世界の可視化の拡張として、デジタルまたは仮想画像情報の提示を伴う(すなわち、実世界視覚的入力に対して透明である)。故に、ARシナリオは、実世界視覚的入力に対する透明性を伴うデジタルまたは仮想画像情報の提示を伴う。
【0003】
MRシステムは、典型的には、色データを生成し、表示し、それは、MRシナリオの現実性を増加させる。これらのMRシステムの多くは、サブ画像をカラー画像に対応する異なる(例えば、一次)色または「フィールド」(例えば、赤色、緑色、および青色)で高速かつ連続して順次投影することによって、色データを表示する。カラーサブ画像を十分に高レート(例えば、60Hz、120Hz等)で投影することは、平滑なカラーMRシナリオをユーザの記憶に伝え得る。
【0004】
種々の光学システムが、MR(VRおよびAR)シナリオを表示するために、カラー画像を含む画像を種々の深度において生成する。いくつかのそのような光学システムは、2014年11月27日に出願された米国実用特許出願第14/555,585号(代理人整理番号第ML.20011.00)(その内容は、参照することによって、全体として記載される場合と同様、その全体として明示的かつ完全に本明細書に組み込まれる)に説明される。
【0005】
MRシステムは、典型的には、ユーザの頭部に少なくとも緩く結合され、したがって、ユーザの頭部が移動すると移動するウェアラブルディスプレイデバイス(例えば、頭部装着型ディスプレイ、ヘルメット搭載型ディスプレイ、またはスマートグラス)を採用する。ユーザの頭部運動が、ディスプレイデバイスによって検出される場合、表示されているデータは、頭部姿勢(すなわち、ユーザの頭部の向きおよび/または場所)の変化を考慮するために更新されることができる。
【0006】
例として、頭部装着型ディスプレイデバイスを装着しているユーザが、仮想オブジェクトの仮想表現をディスプレイ上で視認し、仮想オブジェクトが現れるエリアの周囲を歩き回る場合、仮想オブジェクトは、各視点のためにレンダリングされ、ユーザに実空間を占有するオブジェクトの周囲を歩き回っているという知覚を与えることができる。頭部装着型ディスプレイデバイスが、複数の仮想オブジェクトを提示するために使用される場合、頭部姿勢の測定は、場面をユーザの動的に変化する頭部姿勢に合致するようにレンダリングし、増加させられた没入感を提供するために使用されることができる。しかしながら、場面をレンダリングすることと、レンダリングされた場面を表示/投影することとの間には、不可避の遅れが存在する。
【0007】
頭部装着型ディスプレイデバイスは、ARが、実および仮想オブジェクトの両方の同時視認を提供することを可能にする。「光学シースルー」ディスプレイを用いることで、ユーザは、ディスプレイシステム内の透明(または半透明)要素を通して見ることによって、直接、環境内の実オブジェクトからの光を視認することができる。多くの場合、「コンバイナ」と称される透明要素が、ディスプレイからの光を実世界のユーザのビューの上に重ね、ディスプレイからの光は、仮想コンテンツの画像を環境内の実オブジェクトのシースルービューの上に投影する。カメラが、頭部装着型ディスプレイデバイス上に搭載され、ユーザによって視認されている場面の画像またはビデオを捕捉し得る。
【0008】
MRシステムにおけるもの等の現在の光学システムは、仮想コンテンツを光学的にレンダリングする。コンテンツは、それが空間内のそれぞれの位置に位置する実際の物理的オブジェクトに対応しないという点で「仮想」である。代わりに、仮想コンテンツは、ユーザの眼に導かれる光ビームによって刺激されるとき、頭部装着型ディスプレイデバイスのユーザの脳(例えば、視覚中枢)内のみに存在する。
【0009】
MRシステムは、写実的没入型のMRシナリオを提示するように試みる。しかしながら、仮想コンテンツの生成と生成された仮想コンテンツの表示との間の遅れ時間は、MRシナリオでは、遅れ時間中の頭部移動と組み合わせられ、視覚的アーチファクト(例えば、グリッチ)をもたらし得る。この問題は、遅れ時間中の高速頭部移動によって、かつ色または場を順次投影することによって生成されたカラーコンテンツ(すなわち、LCOS等の順次ディスプレイ)に伴って悪化される。
【0010】
この問題に対処するために、いくつかの光学システムは、ソースカラー仮想コンテンツをソースから受信するワーピングソフトウェア/システムを含み得る。ワーピングシステムは、次いで、ディスプレイまたは出力システム/視認者の座標系(「ディスプレイまたは出力座標系」)における表示のために、受信されたソースカラー仮想コンテンツを「ワーピング」する(すなわち、座標系を変換する)。ワーピングまたは変換は、それからカラー仮想コンテンツが提示される、座標系を変化させる。このアプローチは、もともとレンダリングされたカラーコンテンツを採用し、カラーコンテンツが提示される方法をシフトさせ、カラーコンテンツを異なる視点から表示するように試みる。
【0011】
いくつかのワーピングソフトウェア/システムは、ソース仮想コンテンツを2回の処理工程においてワーピングする。ワーピングシステムは、第1の工程において、ソース仮想コンテンツにおける3-Dシナリオを形成するソースサブ部分の全てをワーピングする。ワーピングシステムは、この第1の工程において、深度試験も実施し、深度データを生成するが、深度試験は、ソース座標系において実施される。ワーピングシステムは、その第1の工程において、3-Dシナリオを形成するソースサブ部分の変換から生じる全てのワーピングされたサブ部分と、ソース座標系における相対的深度とを記憶する(例えば、リスト内に)。
【0012】
ワーピング中、3-Dシナリオの2つ以上の異なるサブ部分が、最終ディスプレイ画像の同一ピクセルにワーピング/投影され得る(すなわち、割り当てられる)。これらのサブ部分は、「競合」し、ワーピングシステムは、現実的2-Dディスプレイ画像を生成するために、競合を解決しなければならない。
【0013】
第1の工程後、ワーピングされたサブ部分のうちのいくつかは、最終2-Dディスプレイ画像のピクセルに対して競合し得る。ワーピングシステムは、次いで、第1の工程において記憶された中間ワーピングデータを通して、第2の工程を実施し、競合するワーピングされたサブ部分の深度試験データを分析し、出力座標系における視認場所に最も近いワーピングされたサブ部分を識別する。出力座標系における視認場所に最も近い競合するワーピングされたサブ部分は、最終2-Dディスプレイ画像を生成するために使用される。残りの競合するワーピングされたサブ部分は、破棄される。
【0014】
いくつかのワーピングソフトウェア/システムは、同一カラー画像内の全ての色/場に対して、出力座標系における同一X、Y場所を使用して、カラーソース仮想コンテンツをワーピングする。しかしながら、出力座標系における1つのX、Y場所を使用して、全ての(例えば、3つの)色/場をワーピングすることは、異なるカラーサブ画像が投影される時間(近接するものの、異なる)を無視する。これは、MRシステムの没入感および現実性を損なわせ得る視覚的アーチファクト/異常/グリッチをもたらす。
【発明の概要】
【課題を解決するための手段】
【0015】
一実施形態では、順次投影のためにマルチフィールドカラー仮想コンテンツをワーピングするコンピュータ実装方法は、異なる第1および第2の色を有する第1および第2のカラーフィールドを取得することを含む。方法は、ワーピングされた第1のカラーフィールドの投影のための第1の時間を決定することも含む。方法は、ワーピングされた第2のカラーフィールドの投影のための第2の時間を決定することをさらに含む。さらに、方法は、第1の時間における第1の姿勢を予測することと、第2の時間における第2の姿勢を予測することとを含む。加えて、方法は、第1の姿勢に基づいて第1のカラーフィールドをワーピングすることによって、ワーピングされた第1のカラーフィールドを生成することを含む。方法は、第2の姿勢に基づいて第2のカラーフィールドをワーピングすることによって、ワーピングされた第2のカラーフィールドを生成することも含む。
【0016】
1つ以上の実施形態では、第1のカラーフィールドは、X、Y場所における第1のカラーフィールド情報を含む。第1のカラーフィールド情報は、第1の色における第1の明度を含み得る。第2のカラーフィールドは、X、Y場所における第2のカラーフィールド情報を含み得る。第2のカラーフィールド情報は、第2の色における第2の明度を含み得る。
【0017】
1つ以上の実施形態では、ワーピングされた第1のカラーフィールドは、第1のワーピングされたX、Y場所におけるワーピングされた第1のカラーフィールド情報を含む。ワーピングされた第2のカラーフィールドは、第2のワーピングされたX、Y場所におけるワーピングされた第2のカラーフィールド情報を含み得る。第1の姿勢に基づいて第1のカラーフィールドをワーピングすることは、第1の変換を第1のカラーフィールドに適用し、ワーピングされた第1のカラーフィールドを生成することを含み得る。第2の姿勢に基づいて第2のカラーフィールドをワーピングすることは、第2の変換を第2のカラーフィールドに適用し、ワーピングされた第2のカラーフィールドを生成することを含み得る。
【0018】
1つ以上の実施形態では、方法は、ワーピングされた第1および第2のカラーフィールドを順次プロジェクタに送信することと、順次プロジェクタが、ワーピングされた第1のカラーフィールドおよびワーピングされた第2のカラーフィールドを順次投影することとも含む。ワーピングされた第1のカラーフィールドは、第1の時間に投影され得、ワーピングされた第2のカラーフィールドは、第2の時間に投影され得る。
【0019】
別の実施形態では、順次投影のためにマルチフィールドカラー仮想コンテンツをワーピングするためのシステムは、順次投影のために異なる第1および第2の色を有する第1および第2のカラーフィールドを受信するためのワーピングユニットを含む。ワーピングユニットは、それぞれのワーピングされた第1および第2のカラーフィールドの投影のための第1および第2の時間を決定し、それぞれの第1および第2の時間における第1および第2の姿勢を予測するための姿勢推定器を含む。ワーピングユニットは、それぞれの第1および第2の姿勢に基づいて、それぞれの第1および第2のカラーフィールドをワーピングすることによって、ワーピングされた第1および第2のカラーフィールドを生成するための変換ユニットも含む。
【0020】
さらに別の実施形態では、コンピュータプログラム製品は、非一過性コンピュータ読み取り可能な媒体において具現化され、コンピュータ読み取り可能な媒体は、プロセッサによって実行されると、プロセッサに、順次投影のためにマルチフィールドカラー仮想コンテンツをワーピングする方法を実行させる一連の命令を記憶している。方法は、異なる第1および第2の色を有する第1および第2のカラーフィールドを取得することを含む。方法はまた、ワーピングされた第1のカラーフィールドの投影のための第1の時間を決定することを含む。方法は、ワーピングされた第2のカラーフィールドの投影のための第2の時間を決定することをさらに含む。さらに、方法は、第1の時間における第1の姿勢を予測することと、第2の時間における第2の姿勢を予測することとを含む。加えて、方法は、第1の姿勢に基づいて第1のカラーフィールドをワーピングすることによって、ワーピングされた第1のカラーフィールドを生成することを含む。方法は、第2の姿勢に基づいて第2のカラーフィールドをワーピングすることによって、ワーピングされた第2のカラーフィールドを生成することも含む。
【0021】
さらに別の実施形態では、順次投影のためにマルチフィールドカラー仮想コンテンツをワーピングするコンピュータ実装方法は、アプリケーションフレームおよびアプリケーション姿勢を取得することを含む。方法はまた、第1の推定される表示時間におけるアプリケーションフレームの第1のワーピングのための第1の姿勢を推定することも含む。方法は、アプリケーション姿勢および推定される第1の姿勢を使用して、アプリケーションフレームの第1のワーピングを実施し、第1のワーピングされたフレームを生成することをさらに含む。さらに、方法は、第2の推定される表示時間における第1のワーピングされたフレームの第2のワーピングのための第2の姿勢を推定することを含む。加えて、方法は、推定される第2の姿勢を使用して、第1のワーピングフレームの第2のワーピングを実施し、第2のワーピングされたフレームを生成することを含む。
【0022】
1つ以上の実施形態では、方法は、第2のワーピングされたフレームをほぼ第2の推定される表示時間において表示することを含む。方法は、第3の推定される表示時間における第1のワーピングされたフレームの第3のワーピングのための第3の姿勢を推定することと、推定される第3の姿勢を使用して、第1のワーピングフレームの第3のワーピングを実施し、第3のワーピングされたフレームを生成することとも含み得る。第3の推定される表示時間は、第2の推定される表示時間より後であり得る。方法は、第3のワーピングされたフレームをほぼ第3の推定される表示時間において表示することも含み得る。
【0023】
別の実施形態では、色割れ(「CBU」)アーチファクトを最小化するコンピュータ実装方法は、受信された眼または頭部追跡情報に基づいて、CBUアーチファクトを予測することを含む。方法は、予測されるCBUアーチファクトに基づいて、カラーフィールドレートを増加させることも含む。
【0024】
1つ以上の実施形態では、方法は、受信された眼または頭部追跡情報および増加させられたカラーフィールドレートに基づいて、第2のCBUを予測することと、予測される第2のCBUアーチファクトに基づいて、ビット深度を減少させることとを含む。方法は、増加させられたカラーフィールドレートおよび減少させられたビット深度を使用して、画像を表示することも含み得る。方法は、増加させられたカラーフィールドレートを使用して、画像を表示することをさらに含み得る。
【0025】
本開示の追加の目的および他の目的、特徴、ならびに利点は、発明を実施するための形態、図、および請求項に説明される。
(項目1)
順次投影のためにマルチフィールドカラー仮想コンテンツをワーピングするコンピュータ実装方法であって、上記方法は、
異なる第1および第2の色を有する第1および第2のカラーフィールドを取得することと、
ワーピングされた第1のカラーフィールドの投影のための第1の時間を決定することと、
ワーピングされた第2のカラーフィールドの投影のための第2の時間を決定することと、
上記第1の時間における第1の姿勢を予測することと、
上記第2の時間における第2の姿勢を予測することと、
上記第1の姿勢に基づいて上記第1のカラーフィールドをワーピングすることによって、上記ワーピングされた第1のカラーフィールドを生成することと、
上記第2の姿勢に基づいて上記第2のカラーフィールドをワーピングすることによって、上記ワーピングされた第2のカラーフィールドを生成することと
を含む、方法。
(項目2)
上記第1のカラーフィールドは、X、Y場所における第1のカラーフィールド情報を備えている、項目1に記載の方法。
(項目3)
上記第1のカラーフィールド情報は、上記第1の色における第1の明度を備えている、項目2に記載の方法。
(項目4)
上記第2のカラーフィールドは、上記X、Y場所における第2のカラー情報を備えている、項目3に記載の方法。
(項目5)
上記第2のカラーフィールド情報は、上記第2の色における第2の明度を備えている、項目4に記載の方法。
(項目6)
上記ワーピングされた第1のカラーフィールドは、第1のワーピングされたX、Y場所におけるワーピングされた第1のカラーフィールド情報を備えている、項目1に記載の方法。
(項目7)
上記ワーピングされた第2のカラーフィールドは、第2のワーピングされたX、Y場所におけるワーピングされた第2のカラーフィールド情報を備えている、項目6に記載の方法。
(項目8)
上記第1の姿勢に基づいて上記第1のカラーフィールドをワーピングすることは、第1の変換を上記第1のカラーフィールドに適用し、上記ワーピングされた第1のカラーフィールドを生成することを含む、項目1に記載の方法。
(項目9)
上記第2の姿勢に基づいて上記第2のカラーフィールドをワーピングすることは、第2の変換を上記第2のカラーフィールドに適用し、上記ワーピングされた第2のカラーフィールドを生成することを含む、項目1に記載の方法。
(項目10)
上記ワーピングされた第1および第2のカラーフィールドを順次プロジェクタに送信することと、
上記順次プロジェクタが、上記ワーピングされた第1のカラーフィールドおよび上記ワーピングされた第2のカラーフィールドを順次投影することと
をさらに含む、項目1に記載の方法。
(項目11)
上記ワーピングされた第1のカラーフィールドは、上記第1の時間に投影され、上記ワーピングされた第2のカラーフィールドは、上記第2の時間に投影される、項目10に記載の方法。
(項目12)
順次投影のためにマルチフィールドカラー仮想コンテンツをワーピングするためのシステムであって、上記システムは、順次投影のための異なる第1および第2の色を有する第1および第2のカラーフィールドを受信するためのワーピングユニットを備え、
上記ワーピングユニットは、
それぞれのワーピングされた第1および第2のカラーフィールドの投影のための第1および第2の時間を決定し、それぞれの第1および第2の時間における第1および第2の姿勢を予測するための姿勢推定器と、
それぞれの第1および第2の姿勢に基づいて、それぞれの第1および第2のカラーフィールドをワーピングすることによって、上記ワーピングされた第1および第2のカラーフィールドを生成するための変換ユニットと
を備えている、システム。
(項目13)
非一過性コンピュータ読み取り可能な媒体において具現化されるコンピュータプログラム製品であって、上記コンピュータ読み取り可能な媒体は、一連の命令を記憶しており、上記一連の命令は、プロセッサによって実行されると、順次投影のためにマルチフィールドカラー仮想コンテンツをワーピングする方法を上記プロセッサに実行させ、上記方法は、
異なる第1および第2の色を有する第1および第2のカラーフィールドを取得することと、
ワーピングされた第1のカラーフィールドの投影のための第1の時間を決定することと、
ワーピングされた第2のカラーフィールドの投影のための第2の時間を決定することと、
上記第1の時間における第1の姿勢を予測することと、
上記第2の時間における第2の姿勢を予測することと、
上記第1の姿勢に基づいて上記第1のカラーフィールドをワーピングすることによって、上記ワーピングされた第1のカラーフィールドを生成することと、
上記第2の姿勢に基づいて上記第2のカラーフィールドをワーピングすることによって、上記ワーピングされた第2のカラーフィールドを生成することと
を含む、コンピュータプログラム製品。
(項目14)
順次投影のためにマルチフィールドカラー仮想コンテンツをワーピングするコンピュータ実装方法であって、上記方法は、
アプリケーションフレームおよびアプリケーション姿勢を取得することと、
第1の推定される表示時間における上記アプリケーションフレームの第1のワーピングのための第1の姿勢を推定することと、
上記アプリケーション姿勢および上記推定される第1の姿勢を使用して、上記アプリケーションフレームの第1のワーピングを実施し、第1のワーピングされたフレームを生成することと、
第2の推定される表示時間における上記第1のワーピングされたフレームの第2のワーピングのための第2の姿勢を推定することと、
上記推定される第2の姿勢を使用して、上記第1のワーピングフレームの第2のワーピングを実施し、第2のワーピングされたフレームを生成することと
を含む、方法。
(項目15)
上記第2のワーピングされたフレームをほぼ上記第2の推定される表示時間において表示することをさらに含む、項目14に記載の方法。
(項目16)
第3の推定される表示時間における上記第1のワーピングされたフレームの第3のワーピングのための第3の姿勢を推定することと、
上記推定される第3の姿勢を使用して、上記第1のワーピングフレームの第3のワーピングを実施し、第3のワーピングされたフレームを生成することと
をさらに含み、
上記第3の推定される表示時間は、上記第2の推定される表示時間より後である、項目15に記載の方法。
(項目17)
上記第3のワーピングされたフレームをほぼ上記第3の推定される表示時間において表示することをさらに含む、項目16に記載の方法。
(項目18)
色割れ(「CBU」)アーチファクトを最小化するコンピュータ実装方法であって、上記方法は、
受信された眼または頭部追跡情報に基づいて、CBUアーチファクトを予測することと、
上記予測されるCBUアーチファクトに基づいて、カラーフィールドレートを増加させることと
を含む、方法。
(項目19)
上記受信された眼または頭部追跡情報および上記増加させられたカラーフィールドレートに基づいて、第2のCBUを予測することと、
上記予測される第2のCBUアーチファクトに基づいて、ビット深度を減少させることと
をさらに含む、項目18に記載の方法。
(項目20)
上記増加させられたカラーフィールドレートおよび上記減少させられたビット深度を使用して、画像を表示することをさらに含む、項目19に記載の方法。
(項目21)
上記増加させられたカラーフィールドレートを使用して、画像を表示することをさらに含む、項目18に記載の方法。
【0026】
図面は、本開示の種々の実施形態の設計および利用可能性を図示する。図は、正確な縮尺で描かれておらず、類似構造または機能の要素は、図全体を通して同様の参照番号によって表されることに留意されたい。本開示の種々の実施形態の上で列挙される利点ならびに他の利点および目的を取得する方法をより深く理解するために、上で簡単に説明された本開示の発明を実施するための形態は、付随の図面に図示されるその具体的実施形態を参照することによって与えられるであろう。これらの図面は、本開示の典型的実施形態のみを描写し、したがって、その範囲の限定と見なされないことを理解されたい、本開示は、付随の図面の使用を通して、追加の具体性および詳細とともに記載ならびに説明されるであろう。
【図面の簡単な説明】
【0027】
【
図1】
図1は、いくつかの実施形態による、ウェアラブルARユーザデバイスを通した拡張現実(AR)のユーザのビューを描写する。
【
図2A】
図2A-2Cは、いくつかの実施形態による、ARシステムおよびそのサブシステムを図式的に描写する。
【
図2B】
図2A-2Cは、いくつかの実施形態による、ARシステムおよびそのサブシステムを図式的に描写する。
【
図2C】
図2A-2Cは、いくつかの実施形態による、ARシステムおよびそのサブシステムを図式的に描写する。
【
図3】
図3および4は、いくつかの実施形態による、高速頭部移動に伴うレンダリングアーチファクトを図示する。
【
図4】
図3および4は、いくつかの実施形態による、高速頭部移動に伴うレンダリングアーチファクトを図示する。
【
図5】
図5は、いくつかの実施形態による、例示的仮想コンテンツワーピングを図示する。
【
図6】
図6は、いくつかの実施形態による、
図5に図示されるように、仮想コンテンツをワーピングする方法を描写する。
【
図7A】
図7Aおよび7Bは、いくつかの実施形態による、マルチフィールド(カラー)仮想コンテンツワーピングおよびその結果を描写する。
【
図7B】
図7Aおよび7Bは、いくつかの実施形態による、マルチフィールド(カラー)仮想コンテンツワーピングおよびその結果を描写する。
【
図8】
図8は、いくつかの実施形態による、マルチフィールド(カラー)仮想コンテンツをワーピングする方法を描写する。
【
図9A】
図9Aおよび9Bは、いくつかの実施形態による、マルチフィールド(カラー)仮想コンテンツワーピングおよびその結果を描写する。
【
図9B】
図9Aおよび9Bは、いくつかの実施形態による、マルチフィールド(カラー)仮想コンテンツワーピングおよびその結果を描写する。
【
図10】
図10は、いくつかの実施形態による、グラフィック処理ユニット(GPU)を図式的に描写する。
【
図11】
図11は、いくつかの実施形態による、プリミティブとして記憶される仮想オブジェクトを描写する。
【
図12】
図12は、いくつかの実施形態による、マルチフィールド(カラー)仮想コンテンツをワーピングする方法を描写する。
【
図13】
図13は、いくつかの実施形態による、例証的コンピューティングシステムを図式的に描写するブロック図である。
【
図14】
図14は、いくつかの実施形態による、マルチフィールド(カラー)仮想コンテンツのためのワーピング/レンダリングパイプラインを描写する。
【
図15】
図15は、いくつかの実施形態による、マルチフィールド(カラー)仮想コンテンツをワーピングすることにおける色割れアーチファクトを最小化する方法を描写する。
【発明を実施するための形態】
【0028】
本開示の種々の実施形態は、単一実施形態または複数の実施形態における、ソースからの仮想コンテンツをワーピングするためのシステム、方法、および製造品を対象とする。本開示の他の目的、特徴、および利点は、発明を実施するための形態、図、および請求項に説明される。
【0029】
種々の実施形態が、ここで、当業者が本開示を実践することを可能にするように、本開示の例証的例として提供される図面を参照して詳細に説明されるであろう。着目すべきこととして、以下の図および例は、本開示の範囲を限定することを意味するものではない。本開示のある要素が、部分的または完全に、公知のコンポーネント(または方法もしくはプロセス)を使用して実装され得る場合、本開示の理解のために必要なそのような公知のコンポーネント(または方法もしくはプロセス)の一部のみが、説明され、そのような公知のコンポーネント(または方法もしくはプロセス)の他の部分の詳細な説明は、本開示を曖昧にしないように、省略されるであろう。さらに、種々の実施形態は、本明細書に例証として参照されるコンポーネントの現在および将来的公知の均等物を包含する。
【0030】
仮想コンテンツワーピングシステムは、複合現実システムから独立して実装され得るが、下記のいくつかの実施形態は、例証的目的のためだけに、ARシステムに関連して説明される。さらに、本明細書に説明される仮想コンテンツワーピングシステムも、VRシステムと同じ様式で使用され得る。
【0031】
(例証的複合現実シナリオおよびシステム)
続く説明は、ワーピングシステムが実践され得る例証的拡張現実システムに関する。しかしながら、実施形態は、他のタイプのディスプレイシステム(他のタイプの複合現実システムを含む)における用途にも適しており、したがって、実施形態は、本明細書に開示される例証的システムのみに限定されないことを理解されたい。
【0032】
複合現実(例えば、VRまたはAR)シナリオは、多くの場合、実世界オブジェクトに関連して仮想オブジェクトに対応する仮想コンテンツ(例えば、カラー画像および音)の提示を含む。例えば、
図1を参照すると、拡張現実(AR)場面100が、描写され、AR技術のユーザは、人々、木々、背景における建物、および実世界の物理的コンクリートプラットフォーム104を特徴とする実世界の物理的公園状設定102を見ている。これらのアイテムに加え、AR技術のユーザは、物理的コンクリートプラットフォーム104上に立っている仮想ロボット像106と、マルハナバチの擬人化のように見える、飛んでいる仮想漫画状アバタキャラクタ108とも「見えている」と知覚するが、これらの仮想オブジェクト106、108は、実世界には存在しない。
【0033】
ARシナリオのように、VRシナリオも、仮想コンテンツを生成/レンダリングするために使用される姿勢を考慮しなければならない。仮想コンテンツをAR/VRディスプレイ座標系に対して正確にワーピングし、ワーピングされた仮想コンテンツをワーピングすることは、AR/VRシナリオを改良すること、または少なくともAR/VRシナリオを損なわせないことができる。
【0034】
続く説明は、本開示が実践され得る例証的ARシステムに関する。しかしながら、本開示は、他のタイプの拡張現実および仮想現実システムにおける用途にも適し、したがって、本開示は、本明細書に開示される例証的システムのみに限定されないことを理解されたい。
【0035】
図2Aを参照すると、いくつかの実施形態による、ARシステム200が図示される。ARシステム200は、投影サブシステム208と併せて動作させられ、物理的オブジェクトと混合された仮想オブジェクトの画像をユーザ250の視野内に提供し得る。このアプローチは、1つ以上の少なくとも部分的に透明な表面を採用し、それを通して、物理的オブジェクトを含む周囲環境が、見られることができ、それを通して、ARシステム200は、仮想オブジェクトの画像を生産する。投影サブシステム208は、リンク207を通してディスプレイシステム/サブシステム204に動作可能に結合された制御サブシステム201内に格納される。リンク207は、有線または無線通信リンクであり得る。
【0036】
ARアプリケーションに対して、それぞれの物理的オブジェクトに対して種々の仮想オブジェクトをユーザ250の視野内に空間的に位置付けることが望ましくあり得る。仮想オブジェクトは、画像として表されることが可能な任意の種々のデータ、情報、概念、または論理構造を有する多種多様な形態のいずれかをとり得る。仮想オブジェクトの非限定的例は、仮想テキストオブジェクト、仮想数値オブジェクト、仮想英数字オブジェクト、仮想タグオブジェクト、仮想フィールドオブジェクト、仮想チャートオブジェクト、仮想マップオブジェクト、仮想計器オブジェクト、または物理的オブジェクトの仮想視覚的表現を含み得る。
【0037】
ARシステム200は、ユーザ250によって装着されるフレーム構造202と、ディスプレイシステム204がユーザ250の眼の正面に位置付けられるように、フレーム構造202によって支持されるディスプレイシステム204と、ディスプレイシステム204の中に組み込まれるか、またはそれに接続されるスピーカ206とを含む。図示される実施形態では、スピーカ206は、スピーカ206がユーザ250の外耳道(内またはその周囲)に隣接して位置付けられるように、フレーム構造202によって支持される(例えば、イヤーバッドまたはヘッドホン)。
【0038】
ディスプレイシステム204は、ユーザ250の眼に2次元および3次元コンテンツの両方を含む周囲環境に対する拡張として快適に知覚され得る光ベースの放射パターンを提示するように設計される。ディスプレイシステム204は、単一コヒーレント場面の知覚を提供する一連のフレームを高周波数で提示する。この目的を達成するために、ディスプレイシステム204は、投影サブシステム208と、それを通して投影サブシステム208が画像を投影する部分的に透明なディスプレイ画面とを含む。ディスプレイ画面は、ユーザ250の眼と周囲環境との間のユーザ250の視野内に位置付けられる。
【0039】
いくつかの実施形態では、投影サブシステム208は、走査ベースの投影デバイスの形態をとり、ディスプレイ画面は、導波管ベースのディスプレイの形態をとり、その中に、投影サブシステム208からの走査光が投入され、例えば、無限遠より近い単一光学視認距離(例えば、腕の長さ)における画像、複数の別々の光学視認距離または焦点面における画像、および/または複数の視認距離または焦点面にスタックされ、立体3Dオブジェクトを表す画像層を生産する。明視野内のこれらの層は、ヒト視覚サブシステムに連続して現れるように十分に一緒に緊密にスタックされ得る(例えば、1つの層が、隣接する層の混同の円錐内にある)。加えて、または代替として、画素が、2つ以上の層にわたって混成され、それらの層がより疎らにスタックされる(例えば、1つの層が、隣接する層の混同の円錐外にある)場合でも、明視野内の層間の移行の知覚される連続性を増加させ得る。ディスプレイシステム204は、単眼または双眼であり得る。走査アセンブリは、光ビームを生産する(例えば、異なる色の光を定義されたパターンで放出する)1つ以上の光源を含む。光源は、それぞれ、ピクセル情報またはデータのそれぞれのフレーム内で規定された定義されたピクセルパターンに従って、赤色、緑色、および青色のコヒーレントなコリメートされた光を生産するように動作可能である多種多様な形態のいずれか、例えば、RGBソースの組(例えば、赤色、緑色、および青色光を出力することが可能なレーザダイオード)をとり得る。レーザ光は、高色飽和を提供し、高度にエネルギー効率的である。光学結合サブシステムは、例えば、1つ以上の反射表面、回折格子、ミラー、ダイクロイックミラー、またはプリズム等の光をディスプレイ画面の端部の中に光学的に結合する光学導波管入力装置を含む。光学結合サブシステムは、光ファイバからの光をコリメートするコリメーション要素をさらに含む。随意に、光学結合サブシステムは、コリメーション要素からの光を光学導波管入力装置の中心内の焦点に向かって収束させ、それによって、光学導波管入力装置のサイズが最小化されることを可能にするために構成された光学変調装置を備えている。したがって、ディスプレイサブシステム204は、1つ以上の仮想オブジェクトの歪のない画像をユーザに提示するピクセル情報の一連の合成画像フレームを生成する。ディスプレイサブシステム204は、1つ以上の仮想オブジェクトの歪んでいないカラー画像をユーザに提示するピクセル情報の一連のカラー合成サブ画像フレームも生成し得る。ディスプレイサブシステムを説明するさらなる詳細は、「Display System and Method」と題された米国実用特許出願第14/212,961号(代理人整理番号ML.20006.00)および「Planar Waveguide Apparatus With Diffraction Element(s) and Subsystem Employing Same」と題された第14/331,218号(代理人整理番号ML.20020.00)(その内容は、参照することによって、全体として記載される場合と同様、その全体として明示的かつ完全に本明細書に組み込まれる)に提供される。
【0040】
ARシステム200は、ユーザ250の頭部の位置(向きを含む)および移動および/またはユーザ250の眼位置および眼球間距離を検出するためにフレーム構造202に搭載された1つ以上のセンサをさらに含む。そのようなセンサは、画像捕捉デバイス、マイクロホン、慣性測定ユニット(IMU)、加速度計、コンパス、GPSユニット、無線デバイス、ジャイロスコープ等を含み得る。例えば、一実施形態では、ARシステム200は、ユーザ250の頭部の移動を示す慣性測定値を捕捉するための1つ以上の慣性変換器を含む頭部装着型変換器サブシステムを含む。そのようなデバイスは、ユーザ250の頭部移動についての情報を感知、測定、または収集するために使用され得る。例えば、これらのデバイスは、ユーザの頭部250の移動、速度、加速、および/または位置を検出/測定するために使用され得る。ユーザ250の頭部の位置(向きを含む)は、ユーザ250の「頭部姿勢」としても知られる。
【0041】
図2AのARシステム200は、1つ以上の前方に面したカメラを含み得る。カメラは、システム200の前方方向からの画像/ビデオの記録等、任意の数の目的のために採用され得る。加えて、カメラは、環境および環境内の特定のオブジェクトに対するユーザ250の距離、向き、および/または角位置を示す情報等、ユーザ250が位置する環境についての情報を捕捉するために使用され得る。
【0042】
ARシステム200は、ユーザ250の眼の角位置(片眼または両眼が向いている方向)、瞬目、および焦点深度(眼収束を検出することによって)を追跡するために、後ろ向きに面したカメラをさらに含み得る。そのような眼追跡情報は、例えば、光をエンドユーザの眼に投影し、その投影された光の少なくとも一部の戻りまたは反射を検出することによって、判別され得る。
【0043】
拡張現実システム200は、多種多様な形態のいずれかをとり得る制御サブシステム201をさらに含む。制御サブシステム201は、いくつかのコントローラ、例えば1つ以上のマイクロコントローラ、マイクロプロセッサまたは中央処理ユニット(CPU)、デジタル信号プロセッサ、グラフィック処理ユニット(GPU)、特定用途向け集積回路(ASIC)等の他の集積回路コントローラ、プログラマブルゲートアレイ(PGAS)、例えば、フィールドPGAS(FPGAS)、および/またはプログラマブル論理コントローラ(PLU)を含む。制御サブシステム201は、デジタル信号プロセッサ(DSP)、中央処理ユニット(CPU)251、グラフィック処理ユニット(GPU)252、および1つ以上のフレームバッファ254を含み得る。CPU251は、システムの全体的動作を制御する一方、GPU252は、フレームをレンダリングし(すなわち、3次元場面を2次元画像に変換する)、これらのフレームをフレームバッファ254内に記憶する。図示されないが、1つ以上の追加の集積回路は、フレームバッファ254の中へのフレームの読み込みおよび/またはそれからの読み取りならびにディスプレイシステム204の動作を制御し得る。フレームバッファ254の中への読み込みおよび/またはそれからの読み取りは、動的アドレス指定を採用し得、例えば、フレームは、オーバーレンダリングされる。制御サブシステム201は、読み取り専用メモリ(ROM)およびランダムアクセスメモリ(RAM)をさらに含む。制御サブシステム201は、3次元データベース260をさらに含み、それから、GPU252は、フレームをレンダリングするための1つ以上の場面の3次元データならびに3次元場面内に含まれる仮想音源に関連付けられた合成音データにアクセスすることができる。
【0044】
拡張現実システム200は、ユーザ向き検出モジュール248をさらに含む。ユーザ向きモジュール248は、ユーザ250の頭部の瞬間位置を検出し、センサから受信された位置データに基づいて、ユーザ250の頭部の位置を予測し得る。ユーザ向きモジュール248は、センサから受信された追跡データに基づいて、ユーザ250の眼、特に、ユーザ250が焦点を合わせている方向および/または距離も追跡する。
【0045】
図2Bは、いくつかの実施形態による、ARシステム200’を描写する。
図2Bに描写されるARシステム200’は、
図2Aに描写され、上で説明されるARシステム200に類似する。例えば、ARシステム200’は、フレーム構造202と、ディスプレイシステム204と、スピーカ206と、リンク207を通してディスプレイサブシステム204に動作可能に結合された制御サブシステム201’とを含む。
図2Bに描写される制御サブシステム201’は、
図2Aに描写され、上で説明される、制御サブシステム201に類似する。例えば、制御サブシステム201’は、投影サブシステム208と、画像/ビデオデータベース271と、ユーザ向きモジュール248と、CPU251と、GPU252と、3Dデータベース260と、ROMと、RAMとを含む。
【0046】
制御サブシステム201’、したがって、
図2Bに描写されるARシステム200’と、
図2Aに描写される対応するシステム/システムコンポーネントとの間の差異は、
図2Bに描写される制御サブシステム201’内のワーピングユニット280の存在である。ワーピングユニット290は、GPU252またはCPU251のいずれからも独立した別個のワーピングブロックである。他の実施形態では、ワーピングユニット290は、別個のワーピングブロック内のコンポーネントであり得る。いくつかの実施形態では、ワーピングユニット290は、GPU252の内側にあり得る。いくつかの実施形態では、ワーピングユニット290は、CPU251の内側にあり得る。
図2Cは、ワーピングユニット280が、姿勢推定器282と、変換ユニット284とを含むことを示す。
【0047】
ARシステム200、200’の種々の処理コンポーネントは、分散型サブシステム内に含まれ得る。例えば、ARシステム200、200’は、有線導線または無線接続性207等によって、ディスプレイシステム204の一部に動作可能に結合されたローカル処理およびデータモジュール(すなわち、制御サブシステム201、201’)を含む。ローカル処理およびデータモジュールは、フレーム構造202に固定して取り付けられる構成、ヘルメットまたは帽子に固定して取り付けられる構成、ヘッドホンに内蔵される構成、ユーザ250の胴体に除去可能に取り付けられる構成、またはベルト結合式構成においてユーザ250の腰部に除去可能に取り付けられる構成等、種々の構成において搭載され得る。ARシステム200、200’は、遠隔モジュールが、互いに動作可能に結合され、ローカル処理およびデータモジュールに対するリソースとして利用可能であるように、有線導線または無線接続性等によって、ローカル処理およびデータモジュールに動作可能に結合された遠隔処理モジュールおよび遠隔データリポジトリをさらに含み得る。ローカル処理およびデータモジュールは、電力効率的プロセッサまたはコントローラとフラッシュメモリ等のデジタルメモリとを備え得、それらの両方は、可能性として、処理または読み出し後、ディスプレイシステム204への通過のために、センサから捕捉されたデータ、および/または遠隔処理モジュールおよび/または遠隔データリポジトリを使用して入手および/または処理されたデータの処理、キャッシュ、および記憶を補助するために利用され得る。遠隔処理モジュールは、データおよび/または画像情報を分析および処理するように構成された1つ以上の比較的に強力なプロセッサまたはコントローラを備え得る。遠隔データリポジトリは、比較的に大規模デジタルデータ記憶設備を備え得、それは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であり得る。いくつかの実施形態では、全てのデータは、記憶され、全ての算出は、ローカル処理およびデータモジュール内で実施され、任意の遠隔モジュールからの完全な自律的使用を可能にする。上で説明される種々のコンポーネント間の結合は、ワイヤまたは光学通信を提供するために、1つ以上の有線インターフェースまたはポート、もしくは無線通信を提供するために、RF、マイクロ波、およびIR等を介した1つ以上の無線インターフェースまたはポートを含み得る。いくつかの実装では、全ての通信は、有線であり得る一方、他の実装では、全ての通信は、光ファイバを除き、無線であり得る。
【0048】
(問題およびソリューションの概要)
光学システムが、カラー仮想コンテンツを生成/レンダリングするとき、仮想コンテンツがレンダリングされるときのシステムの姿勢に関連し得るソース座標系を使用し得る。ARシステムでは、レンダリングされた仮想コンテンツは、実際の物理的オブジェクトと所定の関係を有し得る。例えば、
図3は、実際の物理的台312の上部に位置付けられた仮想植木鉢310を含むARシナリオ300を図示する。ARシステムは、仮想植木鉢310が実際の台312の上部に置かれているように見えるように、実際の台312の場所が既知であるソース座標系に基づいて、仮想植木鉢310をレンダリングした。ARシステムは、第1の時間において、ソース座標系を使用して、仮想植木鉢310をレンダリングし、第1の時間の後の第2の時間において、レンダリングされた仮想植木鉢310を出力座標系に表示/投影し得る。ソース座標系および出力座標系が、同一である場合、仮想植木鉢310は、意図された場所(例えば、実際の物理的台312の上部)に現れるであろう。
【0049】
しかしながら、ARシステムの座標系が、仮想植木鉢310がレンダリングされる第1の時間と、レンダリングされた仮想植木鉢310が表示/投影される第2の時間との間の間隙において変化する場合(例えば、高速ユーザ頭部移動に伴って)、ソース座標系と出力座標系との間の不整合/差異は、視覚的アーチファクト/異常/グリッチをもたらし得る。例えば、
図4は、実際の物理的台412の上部に位置付けられるようにレンダリングされた仮想植木鉢410を含むARシナリオ400を示す。しかしながら、ARシステムは、仮想植木鉢410がレンダリングされた後であるが、表示/投影される前、右に急速に移動されたので、仮想植木鉢410は、その意図される位置410’(想像線で示される)の右に表示される。したがって、仮想植木鉢410は、実際の物理的台412の右の空中に浮いているように見える。このアーチファクトは、仮想植木鉢が出力座標系において再レンダリングされると是正されるであろう(ARシステム運動が中止すると仮定して)。しかしながら、アーチファクトは、依然として、一部のユーザに見えており、仮想植木鉢410は、予期しない位置に一時的にジャンプすることによって、グリッチとして現れるであろう。このグリッチおよびそのような他のものは、ARシナリオの連続性の錯覚に悪影響を及ぼし得る。
【0050】
いくつかの光学システムは、ソース仮想コンテンツの座標系を仮想コンテンツが生成されたソース座標系から、仮想コンテンツが表示されるであろう出力座標系にワーピングまたは変換するワーピングシステムを含み得る。
図4に描写される例では、ARシステムは、出力座標系および/または姿勢を検出および/または予測することができる(例えば、IMUまたは眼追跡を使用して)。ARシステムは、次いで、ソース座標系からのレンダリングされた仮想コンテンツを出力座標系におけるワーピングされた仮想コンテンツにワーピングまたは変換することができる。
【0051】
(カラー仮想コンテンツワーピングシステムおよび方法)
図5は、いくつかの実施形態による、仮想コンテンツのワーピングを図式的に図示する。光線510によって表されるソース座標系(レンダリング姿勢)におけるソース仮想コンテンツ512が、光線510’によって表される出力座標系(推定される姿勢)におけるワーピングされた仮想コンテンツ512’にワーピングされる。
図5に描写されるワーピングは、右への頭部回転を表し得る。ソース仮想コンテンツ512は、ソースX、Y場所に配置されるが、ワーピングされた仮想コンテンツ512’は、出力X’、Y’場所に変換される。
【0052】
図6は、いくつかの実施形態による、仮想コンテンツをワーピングする方法を描写する。ステップ612では、ワーピングユニット280は、仮想コンテンツ、ベース姿勢(すなわち、ARシステム200、200’の現在の姿勢(現在の座標系))、レンダリング姿勢(すなわち、仮想コンテンツをレンダリングするために使用されるARシステム200、200’の姿勢(ソース座標系))、および推定される照明時間(すなわち、ディスプレイシステム204が照明されるであろう、推定される時間(推定される出力座標系))を受信する。いくつかの実施形態では、ベース姿勢は、レンダリング姿勢より新しい/より最近/より最新であり得る。ステップ614では、姿勢推定器282が、ベース姿勢およびARシステム200、200’についての情報を使用して、推定される照明時間における姿勢を推定する。ステップ616では、変換ユニット284が、推定される姿勢(推定される照明時間から)およびレンダリング姿勢を使用して、ワーピングされた仮想コンテンツを受信された仮想コンテンツから生成する。
【0053】
仮想コンテンツが、色を含むとき、いくつかのワーピングシステムは、単一出力座標系(例えば、単一の推定される照明時間からの単一の推定される姿勢)における単一X’、Y’場所を使用して、カラー画像に対応する/それを形成するカラーサブ画像または場の全てをワーピングする。しかしながら、いくつかの投影ディスプレイシステム(例えば、順次投影ディスプレイシステム)は、いくつかのARシステムにおけるそれらのように、カラーサブ画像/場の全てを同時に投影するわけではない。例えば、各カラーサブ画像/場の投影間にある程度の遅れが存在し得る。照明時間の差異である各カラーサブ画像/場の投影間のこの遅れは、高速頭部移動中、カラー干渉縞アーチファクトを最終画像にもたらし得る。
【0054】
例えば、
図7Aは、いくつかの実施形態による、いくつかのワーピングシステムを使用したカラー仮想コンテンツのワーピングを図式的に図示する。ソース仮想コンテンツ712は、3つのカラーセクション、すなわち、赤色セクション712Rと、緑色セクション712Gと、青色セクション712Bとを有する。この例では、各カラーセクションは、カラーサブ画像/場712R’’、712G’’、712B’’に対応する。いくつかのワーピングシステムは、光線710’’(例えば、緑色サブ画像およびその照明時間t1に対応する座標系710’’)によって表される単一の出力座標系(例えば、推定姿勢)を使用して、全3つのカラーサブ画像712R’’、712G’’、712B’’をワーピングする。しかしながら、いくつかの投影システムは、カラーサブ画像712R’’、712G’’、712B’’を同時に投影しない。代わりに、カラーサブ画像712R’’、712G’’、712B’’は、3つの若干異なる時間(時間t0、t1、およびt2における光線710’、710’’、710’’’によって表される)において投影される。サブ画像の投影間の遅れのサイズは、投影システムのフレーム/リフレッシュレートに依存し得る。例えば、投影システムが、60Hz以下の(例えば、30Hz)フレームレートを有する場合、遅れは、高速移動する視認者またはオブジェクトに伴って、カラー干渉縞アーチファクトをもたらし得る。
【0055】
図7Bは、いくつかの実施形態による、
図7Aに描写されるものに類似する仮想コンテンツワーピングシステム/方法によって生成されたカラー干渉縞アーチファクトを図示する。赤色サブ画像712R’’は、
図7Aでは、光線710’’によって表される出力座標系(例えば、推定姿勢)を使用してワーピングされるが、光線710’によって表される時間t0において投影されるので、赤色サブ画像712R’’は、意図されるワーピングを越えているように見える。この行過ぎは、
図7Bでは、右干渉縞画像712R’’として現れる。緑色サブ画像712G’’は、
図7Aでは、光線710’’によって表される出力座標系(例えば、推定される姿勢)を使用してワーピングされ、光線710’’によって表される時間t1において投影されるので、緑色サブ画像712G’’は、意図されるワーピングを用いて投影される。これは、
図7Bでは、中心画像712G’’によって表される。青色サブ画像712B’’は、
図7Aでは、光線710’’によって表される出力座標系(例えば、推定される姿勢)を使用してワーピングされるが、光線710’’’によって表される時間t2において投影されるので、青色サブ画像712B’’は、意図されるワーピングの手前であるように見える。この負の行過ぎは、
図7Bでは、左干渉縞画像712B’’として現れる。
図7Bは、ユーザの記憶における、3つの重複するR、G、Bカラーフィールド(すなわち、カラーでレンダリングされた身体)を有する身体を含むワーピングされた仮想コンテンツの再構築を図示する。
図7Bは、赤色右干渉縞画像色割れ(「CBU」)アーチファクト712R’’と、中心画像712G’’と、青色左干渉縞画像CBUアーチファクト712B’’とを含む。
【0056】
図7Bは、例証的目的のために、行過ぎおよび負の行過ぎ効果を誇張する。これらの効果のサイズは、投影システムのフレーム/場レートと仮想コンテンツおよび出力座標系(例えば、推定される姿勢)の相対的速度とに依存する。これらの行過ぎおよび負の行過ぎ効果が、より小さいとき、それらは、カラー/レインボー干渉縞として現れ得る。例えば、十分に低速のフレームレートでは、野球のボール等の白色仮想オブジェクトは、カラー(例えば、赤色、緑色、および/または青色)干渉縞を有し得る。干渉縞を有する代わりに、サブ画像(例えば、赤色、緑色、および/または青色)に合致する一連のソリッドカラーを伴う仮想オブジェクトは、グリッチをもたらし得る(すなわち、高速移動中、予期しない位置にジャンプし、高速移動後、予期される位置に戻るようにジャンプするように見える)。そのようなソリッドカラー仮想オブジェクトは、高速移動中、振動するようにも見え得る。
【0057】
これらの限界およびその他に対処するために、本明細書に説明されるシステムは、カラーサブ画像/場の数に対応するいくつかの座標系を使用して、カラー仮想コンテンツをワーピングする。例えば、
図8は、いくつかの実施形態による、カラー仮想コンテンツをワーピングする方法を描写する。ステップ812では、ワーピングユニット280が、仮想コンテンツ、ARシステム200、200’のベース姿勢(すなわち、現在の姿勢(現在の座標系)、レンダリング姿勢(すなわち、仮想コンテンツ(ソース座標系)をレンダリングするために使用されるARシステム200、200’の姿勢)、およびサブ画像/カラーフィールド(R、G、B)ごとの推定される照明時間(すなわち、ディスプレイシステム204がディスプレイシステム204に関連する各サブ画像(各サブ画像の推定される出力座標系)のために照明される推定される時間)を受信する。ステップ814では、ワーピングユニット280が、仮想コンテンツを各サブ画像/カラーフィールド(R、G、B)に分割する。
【0058】
ステップ816R、816G、および816Bでは、姿勢推定器282が、ベース姿勢(例えば、現在の座標系)およびARシステム200、200’についての情報を使用して、R、G、Bサブ画像/場のためのそれぞれの推定される照明時間における姿勢を推定する。ステップ818R、818G、および818Bでは、変換ユニット284が、それぞれの推定されるR、G、およびB姿勢およびレンダリング姿勢(例えば、ソース座標系)を使用して、R、G、およびBのワーピングされた仮想コンテンツを受信された仮想コンテンツサブ画像/カラーフィールド(R、G、B)から生成する。ステップ820では、変換ユニット284が、順次表示のために、ワーピングされたR、G、Bサブ画像/場を組み合わせる。
【0059】
図9Aは、いくつかの実施形態による、ワーピングシステムを使用したカラー仮想コンテンツのワーピングを図式的に図示する。ソース仮想コンテンツ912は、
図7Aにおけるソース仮想コンテンツ712と同じである。ソース仮想コンテンツ912は、3つのカラーセクション、すなわち、赤色セクション912Rと、緑色セクション912Gと、青色セクション912Bとを有する。各カラーセクションは、カラーサブ画像/場912R’、912G’’、912B’’’に対応する。本明細書における実施形態によるワーピングシステムは、光線910’、910’’、910’’’によって表されるそれぞれの出力座標系(例えば、推定される姿勢)を使用して、各対応するカラーサブ画像/場912R’、912G’’、912B’’’をワーピングする。これらのワーピングシステムは、カラー仮想コンテンツをワーピングするとき、カラーサブ画像912R’、912G’’、912B’’’の投影のタイミング(すなわち、t0、t1、t2)を考慮する。投影のタイミングは、投影のタイミングを計算するために使用される投影システムのフレーム/場レートに依存する。
【0060】
図9Bは、
図9Aに描写されるものに類似する仮想コンテンツワーピングシステム/方法によって生成されたワーピングされたカラーサブ画像912R’、912G’’、912B’’’を図示する。赤色、緑色、および青色サブ画像912R’、912G’’、912B’’’は、光線910’、910’’、910’’’によって表されるそれぞれの出力座標系(例えば、推定される姿勢)を使用してワーピングされ、同一光線910’、910’’、910’’’によって表される時間t0、t1、t2において投影されるので、サブ画像912R’、912G’’、912B’’’は、意図されるワーピングを用いて投影される。
図9Bは、ユーザの記憶における、3つの重複するR、G、Bカラーフィールドを有する身体(すなわち、カラーでレンダリングされた身体)を含むいくつかの実施形態によるワーピングされた仮想コンテンツの再構築を図示する。
図9Bは、3つのサブ画像/場912R’、912G’’、912B’’’が、適切な時間に意図されるワーピングを用いて投影されるので、カラーにおける身体の実質的に正確なレンダリングである。
【0061】
本明細書における実施形態によるワーピングシステムは、単一の座標系を使用する代わりに、投影/照明時間のタイミングを考慮した対応する座標系(例えば、推定される姿勢)を使用して、サブ画像/場912R’、912G’’、912B’’’をワーピングする。その結果、本明細書における実施形態によるワーピングシステムは、カラー仮想コンテンツを異なる色/場の別個のサブ画像にワーピングしながら、CBU等のワーピング関連色アーチファクトを最小化する。カラー仮想コンテンツのより正確なワーピングは、より現実的および真実味のあるARシナリオに寄与する。
【0062】
(例証的グラフィック処理ユニット)
図10は、一実施形態による、カラー仮想コンテンツを種々のカラーサブ画像または場に対応する出力座標系にワーピングするための例示的グラフィック処理ユニット(GPU)252を図式的に描写する。GPU252は、ワーピングされるための生成されたカラー仮想コンテンツを記憶するための入力メモリ1010を含む。一実施形態では、カラー仮想コンテンツは、プリミティブ(例えば、
図11では、三角形1100)として記憶される。GPU252は、コマンドプロセッサ1012も含み、それは、(1)カラー仮想コンテンツを入力メモリ1010から受信し/読み取り、(2)カラー仮想コンテンツをカラーサブ画像に分割し、それらのカラーサブ画像をスケジューリングユニットに分割し、(3)並列処理のために、スケジューリングユニットをレンダリングパイプラインに沿って波またはワープ内で送信する。GPU252は、スケジューラ1014をさらに含み、それは、スケジューリングユニットをコマンドプロセッサ1012から受信する。スケジューラ1014は、コマンドプロセッサ1012からの「新しい作業」またはレンダリングパイプライン(下で説明される)内の下流から戻る「古い作業」がレンダリングパイプラインを辿って任意の特定の時間に送信されるべきであるかどうかも決定する。事実上、スケジューラ1014は、GPU252が種々の入力データを処理すること順序を決定する。
【0063】
GPU252は、GPUコア1016を含み、GPUコア1016は、スケジューリングユニットを並行して処理するために、いくつかの並行実行可能コア/ユニット(「シェーダコア」)1018を有する。コマンドプロセッサ1012は、カラー仮想コンテンツをシェーダコア1018の数と等しい数(例えば、32)に分割する。GPU252は、「先入れ先出し」(「FIFO」)メモリ1020も含み、それは、GPUコア1016からの出力を受信する。FIFOメモリ1020から、出力は、GPUコア1016によるレンダリングパイプラインの追加の処理の中への挿入のために、スケジューラ1014に「古い作業」として戻るようにルーティングされ得る。
【0064】
GPU252は、FIFOメモリ1020からの出力を受信し、表示のために、出力をラスタ化するラスタ演算ユニット(「ROP」)1022をさらに含む。例えば、カラー仮想コンテンツのプリミティブは、三角形の頂点の座標として記憶され得る。GPUコア1016による処理(その間、三角形1100の3つの頂点1110、1112、1114がワーピングされ得る)後、ROP1022は、3つの頂点1110、1112、1114によって画定された三角形1100の内側のピクセル1116を決定し、カラー仮想コンテンツ内にそれらのピクセル1116を充填する。ROP1022は、深度試験も仮想コンテンツに対して実施し得る。カラー仮想コンテンツを処理するために、GPU252は、異なる原色のサブ画像の並列処理のための複数のROP1022R、1022B、1022Gを含み得る。
【0065】
GPU252は、ROP1022からのワーピングされたカラー仮想コンテンツを一時的に記憶するためのバッファメモリ1024も含む。バッファメモリ1024内のワーピングされたカラー仮想コンテンツは、出力座標系における視野の複数のY位置における明度/色および深度情報を含み得る。バッファメモリ1024からの出力は、GPUコア1016によるレンダリングパイプラインの追加の処理の中への挿入のために、またはディスプレイシステムの対応するピクセル内における表示のために、スケジューラ1014に「古い作業」として戻るようにルーティングされ得る。入力メモリ1010内のカラー仮想コンテンツの各フラグメントは、少なくとも2回、GPUコア1016によって処理される。GPUコア1016は、最初に、三角形1100の頂点1110、1112、1114を処理し、次いで、三角形1100の内側のピクセル1116を処理する。入力メモリ1010内のカラー仮想コンテンツ全てのフラグメントが、ワーピングおよび深度試験されると(必要な場合)、バッファメモリ1024は、視野を出力座標系において表示するために必要とされる明度/色および深度情報の全てを含むであろう。
【0066】
(カラー仮想コンテンツワーピングシステムおよび方法)
頭部姿勢変化を伴わない標準的画像処理では、GPU252による処理の結果は、それぞれのX、Y値(例えば、各ピクセル)における色/明度値および深度値である。しかしながら、頭部姿勢変化に伴って、仮想コンテンツは、頭部姿勢変化に一致するようにワーピングされる。カラー仮想コンテンツに関し、各カラーサブ画像は、別個にワーピングされる。カラー仮想コンテンツをワーピングするための既存の方法では、カラー画像に対応するカラーサブ画像は、単一の出力座標系(例えば、緑色サブ画像に対応する)を使用してワーピングされる。上で説明されるように、それは、カラー干渉縞およびCBU等の他の視覚的アーチファクトをもたらし得る。
【0067】
図12は、CBU等の視覚的アーチファクトを最小化しながら、カラー仮想コンテンツをワーピングする方法1200を描写する。ステップ1202では、ワーピングシステム(例えば、そのGPUコア1016および/またはワーピングユニット280)は、R、G、およびBサブ画像のための投影/照明時間を決定する。この決定は、フレームレートおよび関連投影システムの他の特性を使用する。
図9Aにおける例では、投影時間は、t0、t1、t2、および、光線910’、910’’、910’’’に対応する。
【0068】
ステップ1204では、ワーピングシステム(例えば、そのGPUコア1016および/または姿勢推定器282)が、R、G、およびBサブ画像のための投影時間に対応する姿勢/座標系を予測する。この予測は、現在の姿勢、システムIMU速度、およびシステムIMU加速を含む種々のシステム入力を使用する。
図9Aにおける例では、R、G、B姿勢/座標系は、光線t0、t1、t2、および、910’、910’’、910’’’に対応する。
【0069】
ステップ1206では、ワーピングシステム(例えば、そのGPUコア1016、ROP1022、および/または変換ユニット284)が、ステップ1204において予測されるR姿勢/座標系を使用して、Rサブ画像をワーピングする。ステップ1208では、ワーピングシステム(例えば、そのGPUコア1016、ROP1022、および/または変換ユニット284)が、ステップ1204において予測されるG姿勢/座標系を使用して、Gサブ画像をワーピングする。ステップ1210では、ワーピングシステム(例えば、そのGPUコア1016、ROP1022、および/または変換ユニット284)が、ステップ1204において予測されるB姿勢/座標系を使用して、Bサブ画像をワーピングする。それぞれの姿勢/座標系を使用して別個のサブ画像/場をワーピングすることは、これらの実施形態をカラー仮想コンテンツをワーピングするための既存の方法と区別する。
【0070】
ステップ1212では、ワーピングシステムに動作可能に結合された投影システムが、ステップ1202において決定されたR、G、およびBサブ画像のための投影時間において、R、G、Bサブ画像を投影する。
【0071】
上で説明されるように、
図10に描写される方法1000も、任意のGPU252またはCPU251のいずれからも独立した別個のワーピングブロック290上で実行され得る。さらに別の実施形態では、
図10に描写される方法1000は、CPU251上で実行され得る。さらに他の実施形態では、
図10に描写される方法1000は、GPU252、CPU251、および別個のワーピングユニット290の種々の組み合わせ/副次的組み合わせ上で実行され得る。
図10に描写される方法1000は、システムリソース利用可能性に従って特定の時間における種々の実行モデルを使用して実行され得る画像処理パイプラインである。
【0072】
各カラーサブ画像/場に対応する予測される姿勢/座標系を使用して、カラー仮想コンテンツをワーピングすることは、カラー干渉縞および他の視覚的異常を低減させる。これらの異常を低減させることは、より現実的および没入型の複合現実シナリオをもたらす。
【0073】
(システムアーキテクチャ概要)
図13は、いくつかの実施形態による、例証的コンピューティングシステム1300のブロック図である。コンピュータシステム1300は、プロセッサ1307、システムメモリ1308(例えば、RAM)、静的記憶デバイス1309(例えば、ROM)、ディスクドライブ1310(例えば、磁気または光学)、通信インターフェース1314(例えば、モデムまたはEthernet(登録商標)カード)、ディスプレイ1311(例えば、CRTまたはLCD)、入力デバイス1312(例えば、キーボード)、およびカーソル制御等のサブシステムおよびデバイスを相互接続する、情報を通信するためのバス1306または他の通信機構を含む。
【0074】
いくつかの実施形態によると、コンピュータシステム1300は、プロセッサ1307がシステムメモリ1308内に含まれる1つ以上の一連の1つ以上の命令を実行することによって、具体的動作を実施する。そのような命令は、静的記憶デバイス1309またはディスクドライブ1310等の別のコンピュータ読み取り可能な/使用可能媒体からシステムメモリ1308の中に読み込まれ得る。代替実施形態では、有線回路が、ソフトウェア命令の代わりに、またはそれと組み合わせて、本開示を実装するために使用され得る。したがって、実施形態は、ハードウェア回路および/またはソフトウェアの任意の具体的組み合わせに限定されない。一実施形態では、用語「論理」は、本開示の全部または一部を実装するために使用される、任意の組み合わせのソフトウェアまたはハードウェアを意味し得る。
【0075】
用語「コンピュータ読み取り可能な媒体」または「コンピュータ使用可能媒体」は、本明細書で使用されるように、実行のための命令をプロセッサ1307に提供することにおいて関与する任意の媒体を指す。そのような媒体は、限定ではないが、不揮発性媒体および揮発性媒体を含む多くの形態をとり得る。不揮発性媒体は、例えば、ディスクドライブ1310等の光学または磁気ディスクを含む。揮発性媒体は、システムメモリ1308等の動的メモリを含む。
【0076】
一般的形態のコンピュータ読み取り可能な媒体は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM(例えば、NANDフラッシュ、NORフラッシュ)、任意の他のメモリチップまたはカートリッジ、もしくはコンピュータが読み取り得る、任意の他の媒体を含む。
【0077】
いくつかの実施形態では、本開示を実践するための一連の命令の実行は、単一コンピュータシステム1300によって実施される。いくつかの実施形態によると、通信リンク1315(例えば、LAN、PTSN、または無線ネットワーク)によって結合される、2つ以上のコンピュータシステム1300が、互いに協調して、本開示を実践するために要求される一連の命令を実施し得る。
【0078】
コンピュータシステム1300は、通信リンク1315および通信インターフェース1314を通して、プログラム、例えば、アプリケーションコードを含むメッセージ、データ、および命令を伝送および受信し得る。受信されたプログラムコードは、プロセッサ1307によって、受信されるにつれて実行され、および/または、後の実行のために、ディスクドライブ1310もしくは他の不揮発性記憶装置内に記憶され得る。記憶媒体1331内のデータベース1332は、データインターフェース1333を介して、システム1300によってアクセス可能なデータを記憶するために使用され得る。
【0079】
(代替ワーピング/レンダリングパイプライン)
図14は、いくつかの実施形態による、マルチフィールド(カラー)仮想コンテンツのためのワーピング/レンダリングパイプライン1400を描写する。パイプライン1400は、2つの側面、すなわち、(1)多段階/分離ワーピングと、(2)アプリケーションフレームと照明フレームとの間の頻度変動とを具現化する。
【0080】
((1)多段階/分離ワーピング)
パイプライン1400は、1つ以上のワーピング段階を含む。1412では、アプリケーションCPU(「クライアント」)が、仮想コンテンツを生成し、仮想コンテンツは、アプリケーションGPU252によって1つ以上の(例えば、R、G、B)フレームおよび姿勢1414に対して処理される。1416では、ワーピング/合成器CPUおよびそのGPU252が、各フレームのための第1の推定される姿勢を使用して、第1のワーピングを実施する。パイプライン1400の後半(すなわち、照明により近い)では、ワーピングユニット1420が、各フレームのための第2の推定される姿勢を使用して、各フレーム1422R、1422G、1422Bのための第2のワーピングを実施する。第2の推定される姿勢は、第2の推定される姿勢が照明により近くで決定されるので、それぞれの第1の推定される姿勢より正確であり得る。2回ワーピングされたフレーム1422R、1422G、1422Bは、t0、t1、およびt2において表示される。
【0081】
第1のワーピングは、後のワーピングのために仮想コンテンツのフレームを整列させるために使用され得る最良推量であり得る。これは、計算集約的ワーピングであり得る。第2のワーピングは、それぞれの1回ワーピングされたフレームの順次的補正ワーピングであり得る。第2のワーピングは、姿勢の第2の推定と表示/照明との間の時間を短縮し、それによって、正確度を増加させるためのあまり計算集約的ではないワーピングであり得る。
【0082】
((2)頻度変動)
いくつかの実施形態では、クライアントまたはアプリケーションの頻度(すなわち、フレームレート)と表示または照明の頻度とは、合致しないこともある。いくつかの実施形態では、照明フレームレートは、アプリケーションフレームレートの2倍であり得る。例えば、照明フレームレートは、60Hzであり得、アプリケーションフレームレートは、30Hzであり得る。
【0083】
そのような頻度不整合を伴うワーピング問題に対処するために、パイプライン1400は、フレーム1414あたり2組の2回ワーピングされたフレーム1422R、1422G、1422B(t0-t2における投影のため)および1424R、1424G、1424B(t3-t5における投影のため)をアプリケーションCPU1412およびGPU252から生成する。同じフレーム1414と第1のワーピングされたフレーム1418とを使用して、ワーピングユニット1420は、第1および第2の組の2回ワーピングされたフレーム1422R、1422G、1422Bおよび1424R、1424G、1424Bを順次生成する。これは、アプリケーションフレーム1414あたり、2倍の数のワーピングされたフレーム1422、1424を提供する。第2のワーピングは、プロセッサ/電力需要および熱生成をさらに低減させるためのあまり計算集約的ではないワーピングであり得る。
【0084】
パイプライン1400は、2:1照明/アプリケーション比率を描写するが、その比率は、他の実施形態では、変動し得る。例えば、照明/アプリケーション比率は、3:1、4:1、2.5:1等であり得る。小数比率を伴う実施形態では、直近に生成されたアプリケーションフレーム1414が、パイプライン内で使用され得る。
【0085】
(代替の色割れを最小化する方法)
図15は、いくつかの実施形態による、順次表示のためにマルチフィールド(カラー)仮想コンテンツをワーピングすることにおける色割れ(CBU)アーチファクトを最小化する方法1500を描写する。ステップ1512では、CPUが、眼および/または頭部追跡情報を受信する(例えば、眼追跡カメラまたはIMUから)。ステップ1514では、CPUが、眼および/または頭部追跡情報を分析し、CBUアーチファクトを予測する(例えば、ディスプレイシステムの特性に基づいて)。ステップ1516では、CBUが予測される場合、方法1500は、ステップ1518に進み、CPUは、カラーフィールドレートを増加させる(例えば、180Hzから360Hzに)。ステップ1516では、CBUが予測されない場合、方法1500は、ステップ1526に進み、画像(例えば、分割およびワーピングされた場情報)は、システムデフォルトカラーフィールドレートおよびビット深度(例えば、180Hzおよび8ビット)を使用して表示される。
【0086】
ステップ1518においてカラーフィールドレートを増加させた後、システムは、ステップ1520において、眼および/または頭部追跡情報を再分析し、CBUアーチファクトを予測する。ステップ1522では、CBUが予測される場合、方法1500は、ステップ1524に進み、CPUは、ビット深度を減少させる(例えば、8ビットから4ビットに)。ビット深度を減少させた後、画像(例えば、分割およびワーピングされた場情報)は、増加させられたカラーフィールドレートおよび減少したビット深度(例えば、360Hzおよび4ビット)を使用して表示される。
【0087】
ステップ1522では、CBUが予測されない場合、方法1500は、ステップ1526に進み、画像(例えば、分割およびワーピングされた場情報)は、増加させられたカラーフィールドレートおよびシステムデフォルトビット深度(例えば、180Hzおよび8ビット)を使用して表示される。
【0088】
画像(例えば、分割およびワーピングされた場情報)が、調節またはシステムデフォルトカラーフィールドレートおよびビット深度を使用して表示された後、CPUは、ステップ1512に戻り、方法1500を繰り返す前、ステップ1528において、カラーフィールドレートおよびビット深度をシステムデフォルト値にリセットする。
【0089】
予測されるCBUに応答して、カラーフィールドレートおよびビット深度を調節することによって、
図15に描写される方法1500は、CBUアーチファクトを最小化する方法を図示する。方法1500は、本明細書に説明される他の方法(例えば、方法800)と組み合わせられ、CBUアーチファクトをさらに低減させ得る。
図15に描写される方法1500におけるステップの大部分は、CPUによって実施されるが、これらのステップの一部または全部は、代わりに、GPUまたは専用コンポーネントによって実施されることができる。
【0090】
本開示は、主題のデバイスを使用して実施され得る方法を含む。方法は、そのような好適なデバイスを提供する行為を含み得る。そのような提供は、ユーザによって実施され得る。言い換えると、「提供する」行為は、単に、ユーザが、主題の方法において必要なデバイスを取得し、それにアクセスし、それに接近し、それを位置付け、それを設定し、それをアクティブ化し、それに電源を入れ、または別様にそれを提供するように行為することを要求する。本明細書に列挙される方法は、論理的に可能な列挙されたイベントの任意の順序ならびにイベントの列挙された順序で行われ得る。
【0091】
本開示の例示的側面が、材料選択および製造に関する詳細とともに、上で記載された。本開示の他の詳細に関して、これらは、前述の参照特許および刊行物に関連して理解され、概して、当業者によって公知であり、または理解され得る。同じことは、一般または論理的に採用されるような追加の行為の観点から、本開示の方法ベースの側面に関しても当てはまり得る。
【0092】
加えて、本開示は、随意に、種々の特徴を組み込むいくつかの例を参照して説明されたが、本開示は、開示の各変形例に関して検討されるように説明または図示されるものに限定されるものではない。種々の変更が、説明される本開示に行われ得、均等物(本明細書に列挙されるか、またはある程度の簡潔目的のために含まれないかどうかにかかわらず)は、本開示の精神および範囲から逸脱することなく代用され得る。加えて、値の範囲が提供される場合、その範囲の上限と下限との間の全ての介在値および任意の他の述べられた値または述べられた範囲内の介在値が、本開示内に包含されるものと理解されたい。
【0093】
説明される本発明の変形例の任意の随意の特徴が、独立して、または本明細書に説明される特徴のうちの任意の1つ以上のものと組み合わせて、記載および請求され得ることも想定される。単数形アイテムの言及は、存在する複数の同一アイテムが存在する可能性を含む。より具体的には、本明細書および本明細書に関連付けられた請求項で使用されるように、単数形「a」、「an」、「said」、および「the」は、別様に具体的に述べられない限り、複数の言及を含む。言い換えると、冠詞の使用は、上記の説明ならびに本開示に関連付けられる請求項における本主題のアイテムのうちの「少なくとも1つ」を可能にする。さらに、そのような請求項は、任意の随意の要素を除外するように起草され得ることに留意されたい。したがって、本文言は、請求項の要素の列挙と関連する「単に」、「のみ」等等の排他的専門用語の使用、または「消極的」限定の使用のための先行詞としての役割を果たすことが意図される。
【0094】
そのような排他的専門用語を使用しなければ、本開示に関連付けられる請求項における用語「~を備えている」は、所与の数の要素がそのような請求項で列挙されるかどうかにかかわらず、任意の追加の要素の包含を可能にするものとする、または特徴の追加は、そのような請求項に記載される要素の性質を変換すると考えられ得る。本明細書で具体的に定義される場合を除いて、本明細書で使用される全ての技術および科学用語は、請求項の正当性を維持しながら、可能な限り広い一般的に理解されている意味を与えられるべきである。
【0095】
本開示の範疇は、提供される例および/または本主題の明細書に限定されるべきではなく、むしろ、本開示に関連付けられた請求項の言語の範囲によってのみ限定されるべきである。
【0096】
前述の明細書では、本開示は、その具体的実施形態を参照して説明された。しかしながら、種々の修正および変更が、本開示のより広義の精神および範囲から逸脱することなく、そこに行われ得ることが明白であろう。例えば、前述のプロセスフローは、プロセスアクションの特定の順序を参照して説明される。しかしながら、説明されるプロセスアクションの多くの順序は、本開示の範囲または動作に影響を及ぼすことなく、変更され得る。明細書および図面は、故に、限定的意味ではなく、例証と見なされるべきである。