IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特許7158404後期再投影パワーを最適化するためのレイヤサブ領域に対する再投影処理の選択的適用
<>
  • 特許-後期再投影パワーを最適化するためのレイヤサブ領域に対する再投影処理の選択的適用 図1
  • 特許-後期再投影パワーを最適化するためのレイヤサブ領域に対する再投影処理の選択的適用 図2
  • 特許-後期再投影パワーを最適化するためのレイヤサブ領域に対する再投影処理の選択的適用 図3
  • 特許-後期再投影パワーを最適化するためのレイヤサブ領域に対する再投影処理の選択的適用 図4
  • 特許-後期再投影パワーを最適化するためのレイヤサブ領域に対する再投影処理の選択的適用 図5
  • 特許-後期再投影パワーを最適化するためのレイヤサブ領域に対する再投影処理の選択的適用 図6
  • 特許-後期再投影パワーを最適化するためのレイヤサブ領域に対する再投影処理の選択的適用 図7
  • 特許-後期再投影パワーを最適化するためのレイヤサブ領域に対する再投影処理の選択的適用 図8
  • 特許-後期再投影パワーを最適化するためのレイヤサブ領域に対する再投影処理の選択的適用 図9
  • 特許-後期再投影パワーを最適化するためのレイヤサブ領域に対する再投影処理の選択的適用 図10
  • 特許-後期再投影パワーを最適化するためのレイヤサブ領域に対する再投影処理の選択的適用 図11
  • 特許-後期再投影パワーを最適化するためのレイヤサブ領域に対する再投影処理の選択的適用 図12
  • 特許-後期再投影パワーを最適化するためのレイヤサブ領域に対する再投影処理の選択的適用 図13
  • 特許-後期再投影パワーを最適化するためのレイヤサブ領域に対する再投影処理の選択的適用 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-13
(45)【発行日】2022-10-21
(54)【発明の名称】後期再投影パワーを最適化するためのレイヤサブ領域に対する再投影処理の選択的適用
(51)【国際特許分類】
   G06T 19/00 20110101AFI20221014BHJP
   G06F 3/01 20060101ALI20221014BHJP
   G09G 5/36 20060101ALI20221014BHJP
   G09G 5/00 20060101ALI20221014BHJP
   G09G 5/377 20060101ALI20221014BHJP
【FI】
G06T19/00 600
G06F3/01 510
G09G5/36 520B
G09G5/36 520E
G09G5/00 550C
G09G5/36 520P
G09G5/36 520L
【請求項の数】 20
(21)【出願番号】P 2019552943
(86)(22)【出願日】2018-03-20
(65)【公表番号】
(43)【公表日】2020-06-25
(86)【国際出願番号】 US2018023212
(87)【国際公開番号】W WO2018183025
(87)【国際公開日】2018-10-04
【審査請求日】2021-02-15
(31)【優先権主張番号】15/470,737
(32)【優先日】2017-03-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】ハラデン,ライアン スコット
(72)【発明者】
【氏名】ブラッドフォード,ジェフリー パワーズ
(72)【発明者】
【氏名】コムパラン,ミゲル
(72)【発明者】
【氏名】マフ,アダム ジェームズ
(72)【発明者】
【氏名】レオン,ジーン
(72)【発明者】
【氏名】オズガーナー,トルガ
【審査官】橘 高志
(56)【参考文献】
【文献】特開2012-033038(JP,A)
【文献】特開2015-022458(JP,A)
【文献】特開2009-156992(JP,A)
【文献】特開2015-153059(JP,A)
【文献】国際公開第2016/018487(WO,A2)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06F 3/01
G09G 5/36
G09G 5/00
G09G 5/377
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムであって、
1つ以上のプロセッサと、
コンピュータ実行可能命令を保管している1つ以上のコンピュータ読取可能なハードウェア記憶媒体あり、前記コンピュータ実行可能命令は、前記1つ以上のプロセッサによって実行されると、前記コンピュータシステムに、
複数のレイヤを含むシーンを生成させ、前記複数のレイヤは、第1レイヤおよび第2レイヤを含み、前記シーンは、前記コンピュータシステムの一部の第1予測ポーズに基づいて生成されており、
前記第1レイヤに関するユーザの動き閾値が満たされたこと、および、前記第2レイヤに関するユーザの動き閾値が満たされていないことの決定に応じて、前記複数のレイヤ内のサブ領域を識別させ、前記サブ領域は、前記第1レイヤの少なくとも一部を含み、かつ、前記第2レイヤの少なくとも一部を除外し、前記サブ領域は、前記複数のレイヤ内の少なくとも1つの他の領域から区別されており、
前記複数のレイヤの少なくとも1つの他の領域から前記サブ領域を分離させ、
前記複数のレイヤの前記少なくとも1つの他の領域に後期再投影処理を適用することを抑制しながら、前記分離されたサブ領域に後期再投影処理を適用させる、
ようにすることによって、前記コンピュータシステムに後期再投影を最適化させる、1つ以上のコンピュータ読取可能なハードウェア記憶媒体と、
含み、
前記サブ領域を識別することは、(1)前記複数のレイヤ内の特定の要素、及び(2)前記特定の要素の周囲の境界を識別することを含み、前記サブ領域は、前記要素及び前記特定の要素の周囲の前記境界を含む、
コンピュータシステム。
【請求項2】
前記後期再投影処理は、前記複数のレイヤに可逆画像変換を適用することを含む、
請求項1に記載のコンピュータシステム。
【請求項3】
前記サブ領域を分離することは、少なくとも部分的に、ピクセルマスクを前記複数のレイヤに適用することによって実行される、
請求項1に記載のコンピュータシステム。
【請求項4】
前記後期再投影処理は、前記複数のレイヤを変換するための1つ以上の変換を含み、前記1つ以上の変換は、前記コンピュータシステムの前記一部の前記第1予測ポーズに応答して前記複数のレイヤに適用される、
請求項1に記載のコンピュータシステム。
【請求項5】
前記コンピュータ実行可能命令の実行は更に、前記コンピュータシステムに、前記分離されたサブ領域の周囲にバッファ領域を適用させる、
請求項1に記載のコンピュータシステム。
【請求項6】
前記シーンは、複合現実シーンである、
請求項1に記載のコンピュータシステム。
【請求項7】
前記シーンは、拡張現実シーンである、
請求項1に記載のコンピュータシステム。
【請求項8】
前記シーンは、仮想現実シーンである、
請求項1に記載のコンピュータシステム。
【請求項9】
コンピュータ実行可能命令を保管している1つ以上のハードウェアストレージデバイスであって、コンピュータシステムの1つ以上のプロセッサによって実行可能であり、前記コンピュータシステムに、
複数のレイヤを含むシーンを生成させ、前記複数のレイヤは、第1レイヤおよび第2レイヤを含み、前記シーンは、前記コンピュータシステムの一部の第1予測ポーズに基づいて生成されており、
前記第1レイヤに関するユーザの動き閾値が満たされたこと、および、前記第2レイヤに関するユーザの動き閾値が満たされていないことの決定に応じて、前記複数のレイヤ内のサブ領域を識別させ、前記サブ領域は、前記第1レイヤの少なくとも一部を含み、かつ、前記第2レイヤの少なくとも一部を除外し、前記サブ領域は、前記複数のレイヤ内の少なくとも1つの他の領域から区別されており、
前記複数のレイヤの少なくとも1つの他の領域から前記サブ領域を分離させ、
前記複数のレイヤの前記少なくとも1つの他の領域に後期再投影処理を適用することを抑制しながら、前記分離されたサブ領域に後期再投影処理を適用させる、
ようにすることによって、後期再投影を最適化させ
前記サブ領域を識別することは、(1)前記複数のレイヤ内の特定の要素、及び(2)前記特定の要素の周囲の境界を識別することを含み、前記サブ領域は、前記要素及び前記特定の要素の周囲の前記境界を含む、
1つ以上のハードウェアストレージデバイス。
【請求項10】
前記サブ領域を分離することは、少なくとも部分的に、ベクトルマスクを前記複数のレイヤに適用することによって実行される、
請求項に記載の1つ以上のハードウェアストレージデバイス。
【請求項11】
前記後期再投影処理は、前記複数のレイヤにマトリクス変換を適用することを含む、
請求項に記載の1つ以上のハードウェアストレージデバイス。
【請求項12】
前記第1予測ポーズは、前記コンピュータシステムの1つ以上のハードウェア計測器によって事前に取得された情報に基づいて決定される、
請求項に記載の1つ以上のハードウェアストレージデバイス。
【請求項13】
前記コンピュータシステムの前記1つ以上のハードウェア計測器は、加速度計、ジャイロスコープ、磁気計、深さセンサ、カメラ、または、赤外線センサを含む、
請求項12に記載の1つ以上のハードウェアストレージデバイス。
【請求項14】
前記第1レイヤは、第1解像度に従ってレンダリングされ、かつ、前記第2レイヤは、)第2解像度に従ってレンダリングされる、
請求項に記載の1つ以上のハードウェアストレージデバイス。
【請求項15】
前記コンピュータシステムは、また、前記コンピュータシステムのユーザの目の動きも追跡し、
前記第1レイヤに含まれるシーン要素は、前記ユーザの目の中心窩の近くに表示され、一方で、前記第2レイヤに含まれるシーン要素は、前記ユーザの目の中心窩の近くには表示されず、
それにより、前記シーンは、中心窩レンダリングのために構成される、
請求項14に記載の1つ以上のハードウェアストレージデバイス。
【請求項16】
前記第1レイヤに適用される前記後期再投影処理は、前記第2レイヤに適用される後期再投影処理とは異なる、
請求項に記載の1つ以上のハードウェアストレージデバイス。
【請求項17】
前記第1レイヤの後期再投影処理と前記第2レイヤの後期再投影処理との間の差異は、前記第1レイヤと前記第2レイヤとの間の決定された深さの差異に起因する、
請求項16に記載の1つ以上のハードウェアストレージデバイス。
【請求項18】
後期再投影を最適化するための方法であって、前記方法は、コンピュータシステムの1つ以上のプロセッサによって実行されるものであり、前記方法は、
複数のレイヤを含むシーンを生成するステップであり、前記複数のレイヤは、第1レイヤおよび第2レイヤを含み、前記シーンは、前記コンピュータシステムの一部の第1予測ポーズに基づいて生成されている、ステップと、
前記第1レイヤに関するユーザの動き閾値が満たされたこと、および、前記第2レイヤに関するユーザの動き閾値が満たされていないことの決定に応じて、前記複数のレイヤ内のサブ領域を識別するステップであり、前記サブ領域は、前記第1レイヤの少なくとも一部を含み、かつ、前記第2レイヤの少なくとも一部を除外し、前記サブ領域を、前記複数のレイヤ内の少なくとも1つの他の領域から区別する、ステップと、
前記複数のレイヤの少なくとも1つの他の領域から前記サブ領域を分離するステップと、
前記複数のレイヤの前記少なくとも1つの他の領域に後期再投影処理を適用することは抑制しながら、前記分離されたサブ領域に後期再投影処理を適用するステップと、
含み、
前記サブ領域を識別することは、(1)前記複数のレイヤ内の特定の要素、及び(2)前記特定の要素の周囲の境界を識別することを含み、前記サブ領域は、前記要素及び前記特定の要素の周囲の前記境界を含む、
方法。
【請求項19】
前記後期再投影処理は、前記第1レイヤにおける全てのピクセルに適用され、一方で、前記後期再投影処理は、前記第2レイヤにおけるピクセルのサブセットのみに適用される、
請求項18に記載の方法。
【請求項20】
前記サブ領域は、透明部分を含み、かつ、
前記後期再投影処理が、分離された前記サブ領域に適用された後で、前記第2レイヤの不明瞭にされた部分は、前記サブ領域の前記透明部分を通して見える、
請求項18に記載の方法。
【発明の詳細な説明】
【背景技術】
【0001】
コンピュータ及びコンピューティングシステムは、現代生活のほとんどあらゆる面に影響を与えてきた。コンピュータは、一般に、仕事、レクリエーション、ヘルスケア、交通手段、娯楽、家庭管理等に関与する。
【0002】
仮想現実システム及び拡張現実システムを含む複合現実コンピュータシステムは、最近、ユーザのために没入的な体験を創造する能力が大きな関心を集めている。従来の拡張現実システムは、実世界で仮想オブジェクトを視覚的に提示することによって拡張現実シナリオを作り出す。対照的に、従来の仮想現実システムは、仮想世界によってユーザのビュー全体がさえぎられるような、より没入的な体験を作り出す。本明細書で使用されるとき、複合現実、拡張現実及び仮想現実システムは、互換的に説明され、参照される。当業者によって理解されるように、特段に記載されておらず、特段に必要とされない限り、本明細書の説明は、拡張現実システム、仮想現実システム及び/又はユーザに仮想オブジェクトを表示することが可能な任意の他の同様のシステムを含め、任意のタイプの複合現実システムに等しく当てはまる。
【0003】
複合現実コンピュータシステムは、典型的には、1つ以上のオンボディ・デバイス(on-body devices)(例えばヘッドマウントデバイス、ハンドヘルドデバイス等)を使用する。ヘッドマウントデバイスは、時にはヘッドマウントディスプレイ(以下、「HMD」と称する)と呼ばれるディスプレイを提供する。このディスプレイは、ユーザが、ユーザの周囲環境内において、重なっている視覚情報及び/又は統合された視覚情報を見ることを可能にする。例えば複合現実システムは、HMDを通して、実際のテーブル面上のシミュレートされたオブジェクトの形態でユーザに視覚情報を提示することができる。
【0004】
ハードウェア能力とレンダリング技術における進歩の継続は、複合現実環境内でユーザに表示される仮想オブジェクトとシーンの現実性を著しく高めてきた。例えば複合現実環境において、仮想オブジェクトが実世界の一部であるという印象を与えるような方法で、仮想オブジェクトを実世界内に配置することができる。ユーザが現実の世界の中を動き回ると、複合現実環境は、ユーザに仮想オブジェクトの適切な透視とビューが提供されるように、自動的に更新する。このような複合現実環境は、しばしばコンピュータ生成シーン、あるいは単に「シーン」と呼ばれる。
【0005】
そのようなシステムでは、ユーザの身体(特に、ユーザの頭部及び対応するHMD)は、仮想環境に対してリアルタイムで移動する可能性がある。例えば複合現実アプリケーションでは、ユーザが頭部を一方向に傾けた場合、ユーザは、画像やホログラムが彼らと一緒に傾くことは期待しないであろう。理想的には、システムは、ユーザの頭部の位置を測定し、ユーザによって知覚されるような画像位置におけるジッタ又はドリフトを除去するのに十分な速度で画像をレンダリングするであろう。しかしながら、典型的なグラフィックス処理ユニット(「GPU」)は現在、GPUの品質及び性能に依存して、わずか30~60フレーム/秒のフレームしかレンダリングしない。これは、頭部位置が検出された時点と、画像が実際にHMDに表示される時点の間には16~33ミリ秒の潜在的な遅延を生じる。追加の待ち時間は、新たな頭部位置を決定するために必要とされる時間及び/又はGPUのフレームバッファと最終調整されるディスプレイとの間の遅延にも関連付けられる可能性がある。その結果、ユーザが画像を期待する場所と実際に画像が表示される場所との間の潜在的に大きな誤差となり、それによりユーザ経験を低下させる。場合によっては、ユーザは、特にユーザの頭部及びHMDが動く間に、仮想画像が適切な位置に提示されない場合に、不快感及び方向感覚の喪失を経験することもある。
【0006】
前述のレンダリング誤差の一部を低減又は除去するための試みにおいて、既存のシステムは、画像がGPUによってレンダリングされた後に、画像に対する最終的な調整を行うために、後期補正(late stage corrections)を適用する。このプロセスは、ユーザの頭部の動きから生じる最新の回転、平行移動(translation)及び/又は拡大(magnification)を補償するように、ピクセルが表示される前に実行される。この調整プロセスは、しばしば「後期調整(Late State Adjustment)」、「後期再投影(Late Stage Reprojection)」、「LSR」又は「LSR調整」と呼ばれる。以下、本開示では、略語「LSR」を用いることにする。フレームが高速かつ高解像度でレンダリングされ得るので、LSRを用いる既存のシステムは、大量のDRAM帯域幅と電力を必要とする可能性がある。無線及びバッテリ駆動HMDの文脈において、帯域幅及び電力要件だけでなく、チップサイズも非常に重要である可能性があることが理解されよう。これは、ユーザに複合現実シーンをレンダリングすることに関連する課題及び困難さを増大させる可能性がある。
【0007】
上記で示したように、多くの複合現実コンピュータシステムは、動作電力制約を受ける無接続バッテリ駆動デバイスである。これらの制約は、ユーザがシーンでより多くの時間を楽しむことができるように、バッテリの寿命を延ばすように設計される。しかしながら、コンピュータシステムの多くのオペレーションは、コンピュータシステムのバッテリ寿命に重大な影響を与える。例えばデータ取得オペレーション及びLSRアクションを実行することは、そのようなバッテリ使用オペレーション(battery-tolling operations)の主要な例である。したがって、この分野では、これらのタイプのオペレーションを実行するシステムの電力消費を効率的に改善することに強いニーズがある。
【0008】
本明細書における特許請求に係る主題は、上述のようないずれかの欠点を解決するか環境内でのみ動作する実施形態に限定されない。むしろ、この背景技術は、単に、本明細書で説明されるいくつかの実施形態が実施され得る1つの例示的な技術分野を例示するために提供される。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本明細書に開示される実施形態は、LSR処理を最適化するシステム、ハードウェアストレージデバイス及び方法に関する。
【課題を解決するための手段】
【0010】
いくつかの実施形態は、複数のレイヤを含むコンピュータ生成シーンを生成する。このシーンは、コンピュータシステムの一部(例えばHMD又は他の複合現実デバイス)の第1予測ポーズ(first predicted pose)に基づいて生成される。また、実施形態は、1つ以上のレイヤ内のサブ領域を識別させる。このサブ領域は、1つ以上のレイヤ内の少なくとも1つの他の領域から区別される。次いで、実施形態は、そのサブ領域を他の領域から分離させる。続いて、実施形態は、LSR処理又は少なくとも同じLSR処理を他の領域に適用することを抑制(refraining)しながら、分離されたサブ領域にLSR処理を適用させる。
【0011】
この要約は、以下の詳細な説明で更に説明される概念の選択を簡略化された形式で紹介するために提供される。この要約は、特許請求に係る主題の主要な特徴又は本質的な特徴を特定するように意図されておらず、また、特許請求に係る主題の範囲を決定する際の助けとして使用されるようにも意図されていない。
【0012】
追加の特徴及び利点は、以下の説明で説明され、一部はその説明から自明であり、あるいは本明細書における教示の実施によって学習され得る。本発明の特徴及び利点は、添付の特許請求の範囲において特に指摘される器具及び組合せによって実現及び取得され得る。本発明の特徴は、以下の説明及び添付の特許請求の範囲からより完全に明らかになるか、あるいは以下で説明される本発明の実施によって学習され得る。
【図面の簡単な説明】
【0013】
上記及び他の利点及び特徴を得ることができる方法を説明するために、添付の図面に図示される具体的な実施形態を参照することにより、上記で簡単に説明した主題のより特定の説明を提供する。これらの図面は、典型的な実施形態を示すものにすぎず、したがって、範囲を限定するように解されるべきではないという理解の下、添付の図面を使用することにより、実施形態を追加の具体性と詳細性をもって説明する。
【0014】
図1】開示されるプロセス及び方法を実行することができるコンピュータシステムの基本的なアーキテクチャ図である。
【0015】
図2】開示されるプロセス及び方法を実行することができるコンピュータシステムの別の実施形態を示す図である。
【0016】
図3】マルチレイヤシーンの高レベルの概要を示す図である。
【0017】
図4】マルチレイヤシーンで使用することができるレイヤの現実的な描写を提供する図である。
【0018】
図5】マルチレイヤシーンで使用することができるレイヤの別の現実的な描写を提供する図である。
【0019】
図6】マルチレイヤの合成レンダリングを示す図である。
【0020】
図7】マルチレイヤの別の合成レンダリングを示す図である。
【0021】
図8】プレフィルタをレイヤ内の特定のピクセルにどのように適用することができるかの例を示す図である。
【0022】
図9】レイヤが境界領域内でどのように制約されるかの例を示す図である。
【0023】
図10】レイヤが境界領域内でどのように制約されるかの別の例を示す図である。
【0024】
図11】LSR処理中に使用可能なバッファ領域の使用を示す図である。
【0025】
図12】様々な状況においてLSR処理の量をどのように減少させることができるかを示す図である。
【0026】
図13】LSR処理を最適化するための例示的な方法を示す図である。
【0027】
図14】LSR処理を最適化するための別の例示的な方法を示す図である。
【発明を実施するための形態】
【0028】
はじめに、本明細書で開示される実施形態は、LSR処理を最適化するシステム、ハードウェアストレージデバイス及び方法に関する。この目的のために、開示される実施形態は、複数のレイヤを含むコンピュータ生成シーンを生成する。このシーンは、コンピュータシステムのデバイス(例えばおそらく、HMD)の最初に予測されたポーズに基づいて生成される。1つ以上のレイヤ内の特定のサブ領域が識別され、1つ以上のレイヤ内の少なくとも1つの他の領域から区別される。次いで、そのサブ領域は、他の領域から分離される。続いて、特定のLSR処理は、分離されたサブ領域に適用されるが、その特定のLSRを他の領域に適用することは控える。
【0029】
後述するように、本明細書で説明される実施形態は、従来の技術に広く存在する多くの欠点を克服する。さらに、これらの実施形態は、本開示の残りの部分を通して同様に説明されることになる多くの他の実質的な利点を提供する。
【0030】
以下の節は、本開示の主題に対する最初のガイドとして提供される。特に、この開示は、最初に、図1を使用して、コンピューティングシステムのいくつかの入門的議論を提示する。この議論に続いて、LSR処理に関するいくつかの入門的主題が提供される。次いで、本開示は、マルチレイヤシーン上で実行されるLSR処理を最適化することができるコンピュータシステムにおける主題を提示する図2について説明する。次に、図3図12について議論する。これらの図は、LSRが実行されるコンピュータ生成シーンにおけるマルチレイヤの使用に関する詳細を提供する。最後に、本明細書で説明される新規な原理を使用する追加のサポートアーキテクチャ及び方法が、後続の図に関して詳細に説明される。
【0031】
図1に図示されるように、コンピュータシステム100は、その最も基本的な構成において、多くの異なる形態をとる。例えば図1は、デスクトップ(又はラップトップ)コンピュータ100A、タブレット100B、携帯電話100C又はHMDを含むヘッドマウントデバイス100Dとしてコンピュータシステム100を図示している。図1は、コンピューティングデバイスの広範なアレイを示しているが、現在の実施形態は、図1に図示されるものに限定されるだけに限定されない。結果として、楕円100Eは、本実施形態によって任意のタイプのコンピューティングデバイスが使用可能であることを示す。
【0032】
コンピュータシステム100は、典型的に、少なくとも1つの処理ユニット110及びストレージ120を含む。ストレージ120は、物理的システムメモリであってよく、これは、揮発性であっても、不揮発性であっても、この2つの何らかの組合せであってもよい。また、「メモリ」という用語は、本明細書において、物理的記憶媒体のような不揮発性大容量ストレージを指すために使用されてもよい。コンピューティングシステムが分散される場合、処理、メモリ及び/又はストレージ能力も同様に分散され得る。本明細書で使用されるとき、「実行可能モジュール」、「実行可能コンポーネント」という用語、あるいは「コンポーネント」という用語も、コンピューティングシステム上で実行され得るソフトウェアオブジェクト、ルーチン又はメソッドを指すことがある。本明細書に説明される異なるコンポーネント、モジュール、エンジン及びサービスは、(例えば別個のスレッドとして)コンピューティングシステム上で実行されるオブジェクト又はプロセッサとして実装されてよい。
【0033】
本発明の実施形態は、以下により詳細に説明するように、例えば1つ以上のプロセッサ(プロセッサ110等)及びシステムメモリ(ストレージ120等)等のコンピュータハードウェアを含む特殊目的又は汎用コンピュータを含むか、これを利用してよい。また、本発明の範囲内の実施形態は、コンピュータ実行可能命令及び/又はデータ構造を搬送又は格納するための物理的及び他のコンピュータ読取可能媒体も含む。このようなコンピュータ読取可能媒体は、汎用又は専用コンピュータシステムによってアクセスすることができる任意の利用可能な媒体とすることができる。コンピュータ実行可能命令をデータの形態で記憶するコンピュータ読取可能媒体は、物理的コンピュータ記憶媒体である。コンピュータ実行可能命令を搬送するコンピュータ読取可能媒体は、伝送媒体である。したがって、限定ではなく例として、本発明の実施形態は、少なくとも2つの明確に異なる種類のコンピュータ読取可能媒体、すなわち、コンピュータ記憶媒体と伝送媒体を含むことができる。
【0034】
コンピュータ記憶媒体は、RAM、ROM、EEPROM、CD-ROM、RAMに基づくソリッドステートドライブ(SSD)、フラッシュメモリ、相変化メモリ(PCM)又は他のタイプのメモリ、あるいは他の光ディスクストレージ、磁気ディスクストレージ又は他の磁気ストレージデバイス、あるいはコンピュータ実行可能な命令、データ又はデータ構造の形態で所望のプログラムコード手段を格納するために使用することができ、汎用又は特殊目的コンピュータによってアクセスすることができる他のハードウェア等のハードウェアを含む。
【0035】
図1にも図示されているように、コンピュータシステム100は、入出力(I/O)インタフェース130、グラフィックス・レンダリング・エンジン140及び1つ以上のセンサ150を含む、様々な異なるコンポーネントを備える。また、コンピュータシステム100は、外部センサ160(例えば1つ以上のリモートカメラ、加速度計、ジャイロスコープ、音響センサ、磁気計等)に(有線又は無線接続を介して)接続されてもよい。さらに、コンピュータシステム100は、1つ以上の有線又は無線ネットワーク170を介して、コンピュータシステム100に関して説明される処理のいずれかを実行するように構成される、リモートシステム180にも接続されてよい。
【0036】
使用中、コンピュータシステム100のユーザは、I/Oインタフェース130内に含まれるディスプレイ画面を通して情報(例えばコンピュータ生成シーン)を知覚することができる。入出力インタフェース130及びセンサ150/160はまた、ジェスチャ検出デバイス、アイトラッカー及び/又は他の動き検出コンポーネント(例えばカメラ、ジャイロスコープ、加速度計、磁気計、音響センサ、グローバルポジショニングシステム(「GPS」等)も含み、これらは、ユーザの手、スタイラス及び/又はシーン(すなわち、複合現実環境)に浸っている間にユーザが対話することができる任意の他のオブジェクトのような、1つ以上の実世界のオブジェクトの位置及び動きを検出することができる、
【0037】
いくつかの例では、ユーザ及びオブジェクトの位置及び動きが連続的にモニタされる。このモニタリングは特に、位置、速度、方向又は加速度において検出される変化のように、オブジェクトの位置及び動きにおける任意の変化を検出する。これらの動きは、相対的な動き、かつ/又はHMDの相対的な位置と比較されるような相対的な動きとすることができ、HMDの動き/位置は、シーン内に提示されるときのオブジェクトの相対的な動き/位置に計算されることになる。
【0038】
グラフィックス・レンダリング・エンジン140は、プロセッサ110とともに、コンピュータ生成シーン内に1つ以上の仮想オブジェクトをレンダリングするように構成される。このレンダリングは、実世界のオブジェクトの相対的な位置にマッピングされるハンドオクルージョン(hand occlusions)又は他のタイプのオクルージョンが含まれる。その結果、仮想オブジェクトは、実世界のオブジェクトの動きに応じて正確に動く。グラフィックス・レンダリング・エンジン140はまた、(実世界のオブジェクトにマッピングされることなく)純粋に仮想的であるが、それにもかかわらず、ユーザがシーン内で対話すると、ユーザの入力に応答して位置決めされて動かされる、1つ以上のオクルージョンをレンダリングするようにも構成される。
【0039】
1つ以上のGPUを含み得るグラフィックス・レンダリング・エンジン140は、特定の表示特性を有するオクルージョン(すなわち、仮想オブジェクト)をレンダリングするように構成される。これらの特性には、着色、透明度又は不透明度、テクスチャリング、エッジ定義(例えば厚さ及び/又はシャープネス対ぼけ及び/又はフェザリング)、サイズ等が含まれる。特定の動きの閾値がオクルージョンについて検出されると、オクルージョンについての表示特性の1つ以上の組合せが変更されることになる(少なくとも、検出された動きが、動き閾値を満たすか又は超える間)。
【0040】
動き閾値は、1)オクルージョンに関連付けられる実世界オブジェクトの検出された実際の動き、2)仮想化オクルージョンの検出されたアニメーションの動き及び/又は3)実世界の動きとアニメーション化された動きとの間の検出された不一致又は遅延、の任意の組合せを含むことができる。検出された動きは、速度及び/又は加速度属性値と関連付けられる。これらの値は、コンピュータシステム100のセンサ150及び/又はプロセッサ110によって検出、測定及び/又は計算されて、いつ所定の閾値を満たしたか、かつ/又は超えたかを決定する。
【0041】
いくつかの実施形態では、同一の絶対的な動き閾値がすべてタイプの動きに関連付けられる。例えばオクルージョンに関連付けられるある速度、加速度又は遅れは、そのオクルージョンの表示特性における変化をトリガするのに十分であろう。この変化は、検出された動きの特定のタイプに関わらずトリガされてよい。他の実施形態では、異なるタイプの動き(すなわち、サージ(surge)、ウェーブ(wave)、スウェイ(sway)、ピッチ、ロール及びヨーを含む、6自由度内の異なる動き)は、異なる動き閾値に関連付けられる。例えば特定の回転加速度は、横方向加速度とは異なる第1閾値をトリガすることになる。
【0042】
いくつかの例では、異なる動きタイプのうちの1つ以上に対して、少なくとも2つ以上の別個の閾値限界が存在する。例えば第1加速メトリックでは、第1閾値が満たされる。第1加速メトリックより大きい又は小さい第2加速メトリックでは、第2閾値が満たされる。いくつかの例では、1つ以上の動きタイプの各々に対して1つ以上の別個の速度閾値が設定される。オクルージョンの外観は、オクルージョンの表示属性を変更すること等によって、異なる閾値の各々が満たされることに応じて動的に変化する。
【0043】
様々な閾値及び動き属性タイプは、コンピューティングシステム100のストレージ120内及び/又は1つ以上のリモートシステム180内の格納されているデータ構造内にマッピングされる。
【0044】
いくつかの開示される実施形態は、オクルージョンに関連付けられる動き属性において検出される異なる変化に対応して、オクルージョンの外観をいつどのように徐々に修正するかを決定するために、ストレージと通信するGPU(複数可)140を含む。そのような実施形態では、表示属性/特性は、連続的に変化する動き属性に応じて(離散レベルが存在しないように)連続的に変更/スケールされる。例えばオクルージョンのための透明度及び/又はエッジフェザリングのレベルは、そのオクルージョンに関連付けられる速度及び/又は加速度の多くの異なる対応する大きさ及び/又はオクルージョンのアニメーションのレンダリングに関連する遅れに関連することができる。
【0045】
図1に図示されるネットワーク170のような「ネットワーク」は、コンピュータシステム、モジュール及び/又は他の電子デバイス間の電子データの転送を可能にする1つ以上のデータリンク及び/又はデータ・スイッチとして定義される。情報が、ネットワーク(ハードワイヤード、ワイヤレス又はハードワイヤードとワイヤレスの組合せのいずれか)上でコンピュータに転送又は提供されるとき、コンピュータは、その接続を伝送媒体として適切にみなす。コンピュータシステム100は、ネットワーク170と通信するために使用される1つ以上の通信チャネルを含むであろう。伝送媒体は、コンピュータ実行可能命令の形態又はデータ構造の形態でデータ又は所望のプログラムコード手段を搬送するために使用され得るネットワークを含む。さらに、これらのコンピュータ実行可能命令に、汎用又は専用コンピュータによってアクセスすることができる。上記の組合せも、コンピュータ読取可能媒体の範囲内に含まれるべきである。
【0046】
様々なコンピュータシステム・コンポーネントに到達すると、コンピュータ実行可能命令又はデータ構造の形態のプログラムコード手段を、伝送媒体からコンピュータ記憶媒体に(又はその反対)自動的に転送することができる。例えばネットワーク又はデータリンクを介して受け取られるコンピュータ実行可能命令又はデータ構造を、ネットワーク・インタフェース・モジュール(例えばネットワーク・インタフェース・カード又は「NIC」)内のRAMにバッファし、コンピュータシステムRAM及び/又はコンピュータシステムの揮発性の低いコンピュータ記憶媒体に最終的に転送することができる。したがって、コンピュータ記憶媒体は、伝送媒体も(又は主に)利用するコンピュータシステム・コンポーネントに含まれ得ることを理解すべきである。
【0047】
コンピュータ実行可能(又はコンピュータ解釈可能)命令は、例えば汎用コンピュータ、特殊目的コンピュータ特殊目的処理デバイスに、特定の機能又は機能のグループを実行させる命令を含む。コンピュータ実行可能命令は、例えばバイナリ、アセンブリ言語のような中間フォーマット命令であってよく、あるいはソースコードでもよい。本主題は、構造的特徴及び/又は方法論的動作に特有の言語で説明されているが、添付の請求項において定義される主題は、必ずしも上述の特徴又は動作に限定されるものではないことを理解されたい。むしろ、説明される特徴及び動作は、請求項を実装する例示的な形態として開示されている。
【0048】
当業者であれば、本発明は、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、メッセージプロセッサ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベース又はプログラマブル家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、携帯電話、PDA、ページャ、ルータ、スイッチ等を含む、多くのタイプのコンピュータシステム構成を有するネットワークコンピューティング環境において実施され得ることが認識されるであろう。本発明はまた、ネットワークを介して(ハードワイヤード・データリンク、無線データリンク又はハードワイヤードと無線データリンクの組合せのいずれかによって)リンクされるローカル及びリモート・コンピュータシステムが各々、タスク(例えばクラウド・コンピューティング、クラウド・サービス等)を実行する分散システム環境において実装されてもよい。分散システム環境では、プログラムモジュールは、ローカル及びリモートメモリストレージデバイスの双方に配置されてよい。
【0049】
後期再投影(LSR)
現実的な複合現実環境を生成する1つの問題は、HMDの特定のポーズに対応するワールドロック仮想オブジェクト(world-locked virtual objects)の画像がHMDのエンドユーザに表示される遅延又は時間量に関連する。例えばエンドユーザの頭部が特定のポーズから離れる時間と、次のポーズに基づいて仮想オブジェクトの画像が表示される時間との間にあまりにも多くの時間が経過する場合、仮想オブジェクトは、複合現実環境内のその意図された位置からドリフトしているように見えるであろう(すなわち、イメージが意図された実世界の位置又はオブジェクトと整列していないように見える可能性がある)。したがって、HMDは、ある仮想オブジェクトを、他の仮想オブジェクトのレンダリングフレームレートよりも大きいフレームレートで生成して表示する技術も含むことができる。
【0050】
高いフレームレートで仮想オブジェクトをレンダリングすること、シーンの安定性を大幅に向上させる。表示されるオブジェクト(すなわち、仮想オブジェクト)は、より高周波数のポーズ推定値(higher frequency pose estimates)を組み込むために、事前にレンダリングされたシーン(すなわち、特定のレンダリングフレームレートでレンダリングされた前方予測シーン)の後期段階のグラフィカル調整を含んでもよい。レンダリングフレームレートは、HMDのポーズに関連付けられる画像をレンダリングするための最小時間に対応してもよい。その目的を達成するために、HMDは、以下のうちの1つ以上:すなわち、1)HMDの将来の位置及び向きに関連付けられる予測ポーズを決定すること(例えば将来の10ms又は20msのHMDの予測ポーズ)、2)その予測ポーズに基づいて予めレンダリングされた画像を生成すること、3)予めレンダリングされた画像を生成した後、又は予めレンダリングされた画像と同時にHMDに関連付けられる更新されたポーズを決定すること、4)更新されたポーズ及び予めレンダリングされた画像に基づいて更新された画像を生成すること、そして、5)HMD上に更新された画像を表示すること、のうちの1つ以上を実行することができる。更新された画像は、ホモグラフィック変換及び/又は予めレンダリングされた画像のピクセルオフセット調整によって生成されてもよい。場合によっては、更新された画像は、ディスプレイ内の回路によって生成されてもよい。これらの機能に関する更なる詳細は、本開示において後に提供される。
【0051】
予測されるポーズは、1)HMDの現在の位置及び向きと、2)(例えば予測されるポーズを決定する前のHMDの5ms、10msの動き又は別の所定の距離に基づいて予測されるポーズを外挿することによって)予測されるポーズを決定する直前のHMDの加速度及び速度と、に基づいて決定され得る。更新されたポーズは、(例えば加速度計、ジャイロスコープ等の様々なポーズトラッキング計測器からデータを取得することによって)レンダリングフレームレートより高周波数でポーズトラッカーに提供される、更新されたポーズ情報に基づいて決定され得る。
【0052】
この更新されたポーズ情報は、低遅延慣性測定ユニット(IMU:inertial measurement unit)又はIMUとカメラベースのポーズトラッキングとの組合せを用いて生成されてよい。更新された画像は、予測されたポーズと更新されたポーズとの間の差を補正するために(例えば予めレンダリングされた画像を生成するときに、誤ったポーズ予測を補償するために)、予めレンダリングされた画像の少なくとも一部の画像回転、平行移動(並進)、拡張(例えば伸張又は収縮)、シフト又は傾斜を含んでもよい。
【0053】
さらには、更新された画像は、予めレンダリングされた画像のホモグラフィック変換を介して生成されてもよい。場合によっては、ホモグラフィック変換はアフィン変換を含むことができる。更新された画像は、ピクセルオフセット調整を使用して、あるいはホモグラフィック変換とピクセルオフセット調整の組合せを使用して生成されてよい。場合によっては、ホモグラフィック変換及び/又はピクセルオフセット調整は、コアレンダリング・パイプラインからダウンストリームに(例えばHMDと一体化されたコントローラ又はプロセッサを使用して)生成されてもよい。他の場合には、ピクセルオフセット調整は、ディスプレイのピクセルアレイ内のピクセル値のシフトを可能にするために、シフトレジスタ又は他の回路を組み込んだディスプレイを使用して実行されてもよい(例えば電荷結合要素の動作と同様に)。
【0054】
更新された画像は、前方予測レンダリング画像の後期段階のグラフィカル調整を含み、様々な計算複雑性の様々な画像再投影技術を用いて生成され得る。画像再投影技術は、ピクセルごとの再投影(per pixel reprojection)(例えばレンダリングされた画像の各ピクセルが、更新されたポーズに基づいて再投影される)、マルチレイヤホモグラフィ(例えば3Dシーン内の複数のレイヤに関連付けられる複数のレンダリングされた画像を使用して、複合的な更新画像を生成する)、単一レイヤホモグラフィ(例えば3Dシーン内の単一のレイヤに関連付けられる単一のレンダリングされた画像を使用して、更新された画像を生成する)、アフィンホモグラフィ又はピクセルオフセットベースの調整を含んでもよい。
【0055】
従来のシステムはLSR調整をサポートするものの、これらのシステムは、効率的な方法でその処理を最適化することができない。その結果、これらのシステムは、バッテリの寿命に関連する多くのハンディキャップに悩まされる。開示される実施形態は、マルチレイヤシーンのための選択的LSR調整を実行することによって、これらの問題のいくつかを解決するのを助けるために使用され得る。
【0056】
マルチレイヤ・コンピュータ生成シーン
ここで、図2図12に注目する。簡単に説明すると、図2は、複数のレイヤを含むコンピュータ生成シーンに対するLSR処理を最適化するための様々なコンポーネントを含む、例示的なコンピュータシステムを図示している。図3図12は、本実施形態で利用可能な様々な機能を説明する。
【0057】
上述のように、図2は、様々なコンポーネント(例えばシーン生成コンポーネント210、LSRコンポーネント220、レイヤ形成コンポーネント230及びレンダリングコンポーネント240)を含むコンピュータシステム200を示す。コンピュータシステム200は、図1に提示されるコンピュータシステム100と類似している。いくつかの実施形態では、コンピュータシステム200は、特殊化された1つ以上のプロセッサ(例えばGPU)のセットとして構成される。また、コンピュータシステム200の追加の属性は残りの図面に関連して議論されるであろう。
【0058】
特に、コンピュータシステム200は、コンピュータ生成シーンを作成し、レンダリングすることができる。このシーンは、複合現実シーン、拡張現実シーン又は仮想現実シーンとすることができる。前述のように、このシーンは、コンピュータシステムの1つ以上のハードウェアコンポーネント(例えばIMU計測器、加速度計、ジャイロスコープ、磁気計、深さセンサ、カメラ、赤外線センサ等)によって以前に取得された情報に基づいて生成される。
【0059】
いくつかの実施形態は、コンピュータシステムの一部分(おそらく、HMD)の第1予測ポーズに応答してこのシーンを生成する。この第1予測ポーズは、コンピュータシステムのその部分の以前に取得された実際に決定されたポーズとは異なる。ハードウェアコンポーネントからデータを取得する頻度を減らすために、本発明の実施形態は、実際のポーズデータを、予測された又はコンピュータ推定されたポーズデータで補強する。この補強プロセスを実行することによって、ハードウェアコンポーネントからポーズデータを取得する頻度(すなわち、回数)を減らすことができる。この増強プロセスは、電力消費を著しく減少させる。更に明確にするために、コンピュータシステムが、様々なハードウェアコンポーネント(例えば前述のIMU計測器)から、ある頻度でポーズデータを収集すると仮定する。本実施形態は、実際のポーズデータを予測されたポーズデータで補強することによって、この現実の/実際のデータが収集される頻度を低減する。したがって、本開示を通して議論されるように、本実施形態は、1)以前に取得された実際のポーズ決定と、2)ユーザの現在及び/又は将来の挙動に関する推定(例えば身体の動き又は他の特徴を追跡することによる)に基づいて、コンピュータデバイスのポーズを予測することができる。
【0060】
議論を続けると、シーン生成コンポーネント210は、図3に図示される入力フレーム310のような複数の入力フレームを含むシーンを作成することができる。「入力フレーム」という用語の使用は、「シーン」という用語と相関する。すなわち、シーンは実際には、HMDを装着しているユーザに表示される複数の入力フレームから構成される。図3に更に示されるように、入力フレーム310は、前景レイヤ320(「FG(foreground)レイヤ」)及び背景レイヤ330(「BG(background)レイヤ」)を含む。FGレイヤ320及びBGレイヤ330は、レイヤ形成コンポーネント230によって形成される。いくつかの状況では、FGレイヤ320は第1解像度に従ってレンダリングされ、一方、BGレイヤ330は第2解像度に従ってレンダリングされる。一例として、FGレイヤ320は、ユーザにより視覚的に近くに見えるオブジェクト(例えば木)を含んでよく、一方、BGレイヤ330は、ユーザから更に離れて見える景観(例えば遠い背景の山)を含んでもよい。BGレイヤ330は、ユーザから「更に離れて」ように見えるコンテンツを含むので、BGレイヤ330内のコンテンツを、より低い解像度でレンダリングすることができる。
【0061】
他の状況では、コンピュータシステム100は、中心窩レンダリング(foveated rendering)をサポートする。この中心窩レンダリングを考慮して、FGレイヤ320は、より高い解像度の領域(すなわち、中心窩領域)に配置されてもよく、BGレイヤ330は、かなり低い解像度の領域(例えばシーンのエッジ又は周辺領域)に配置されてもよい。
【0062】
LSRコンポーネント220は、FGレイヤ320及びBGレイヤ330に対してLSR処理を実行することができる。いくつかの例では、FGレイヤ320に適用されるLSR処理は、BGレイヤ330に適用されるLSR処理とは異なる。FGレイヤ320とBGレイヤ330のLSR処理におけるこの差は、広範な理由によるものであり得る。限定ではなく例として、この差は、FGレイヤ320とBGレイヤ330との間の決定される深さの差によるものであり得る。また、HMDの動きは、BGコンポーネントの位置決め/レンダリングとは異なるように、FGコンポーネントの位置決め/レンダリングに影響を与えることがある。
【0063】
この点では例が有益であろう。上からの例を用いて、ユーザに提示されているシーンが、近くにある木と遠い山岳地帯の景観を含んでいると仮定する。次に、ユーザは位置を移動したり、自身の向きを変えたりすると仮定する。ユーザの位置の変化に応じて、複合現実シーンは更新される必要がある。ここで、ユーザにより近くにある木の視覚的効果における変化は、知覚深度の違いのために、遠く離れた山岳地帯の景観の変化よりも著しく大きくなることに留意する必要がある。その結果、各レイヤのLSR処理が異なる可能性がある。
【0064】
LSR処理がシーンの様々なレイヤ(例えばFGレイヤ320及びBGレイヤ330)に適用された後、コンピュータシステムは、これらのレイヤを一緒に合成して、統一レイヤ、例えば図3の統一レイヤ340等を形成する。言い換えると、FGレイヤ320及びBGレイヤ330を(LSR処理を受けた後)一緒に合成し、統一レイヤ340を形成する。レイヤがシーン内で適切に視覚化されることを確実にするために(例えばレイヤが互いに対して正しい深さ及び方向で視覚化されることを確実にするために)、コンピュータシステム200はまた、1つ以上の変換を1つ以上のレイヤに適用する。これらの変換は、LSR処理中又は合成処理中のいずれかに適用されてよい。一例として、1つのレイヤが、サイズ変更(すなわち、拡張)、回転、歪曲又は他の方法で操作される必要があるが、これは、統一されたシーン内の他のレイヤには必要とされないことがある。この選択的操作を達成するために、コンピュータシステム200は、適切なタイプの変換を適用して、レイヤが適切にレンダリングされることを可能にする。これらの変換の一部は、ホモグラフィック変換、可逆画像変換、アフィン変換、ピクセルオフセット調整、深度処理変換及び/又は行列変換を含む。レイヤを一緒に合成した後、レンダリングコンポーネント240は、統一レイヤ340をHMD上にレンダリングする。
【0065】
図3はマルチレイヤシーンの抽象的な視覚化を図示したが、図4図7は具体的な実装を示す。
【0066】
特に、図4は、コンピュータ生成シーンの第1レイヤ400を示す。この第1レイヤは、図3のBGレイヤ330と類似している。この第1レイヤ400は、境界領域410によって境界されているように示される。この境界領域410は、HMDを装着しているユーザが見ることができる領域に関する。しかしながら、注目すべきことに、コンピュータ生成シーンは、単一の視点(point of view)のみに限定されない。むしろ、ユーザが位置を移動したり、あるいは他の方法で向きを変えたりすると、HMD上に表示されるビューは、HMDの向きに関連して変化することになる(例えば新たなコンテンツが見えるようになり、他のコンテンツがユーザの動きに従って見えなくなる)。したがって、第1レイヤ400及び境界領域410は、コンピュータシステム200の能力を特徴付けるため、あるいは他の方法で制限するために使用されるべきではない。
【0067】
図4と同様に、図5は、コンピュータシステム200によって視覚化され得る第2レイヤ500を示す。この第2レイヤ500は、図3のFGレイヤ320に類似している。第2レイヤ500も、境界領域510を有するものとして示されている。ここで、第2レイヤ500は、図4の第1レイヤ400と若干異なっていることに留意されたい。特に、第2レイヤ500は、1つ以上の透明部分520を含んでいる。透明とは、この透明部分520の下に配置された任意のコンテンツが、たとえその下のコンテンツが第2レイヤ500の一部ではないとしても、見えることを意味する。その結果、1)第2レイヤ500のLSR処理、2)変換及び/又は3)合成プロセスを、第2レイヤ500に適用した後(及び、レイヤ500が、他のレイヤと重なるように別のレイヤの上に更に配置されている場合)後、下部レイヤの少なくとも一部が、第2レイヤ500の透明部分520を介して視認可能になるであろう。
【0068】
図6は、統一された合成レイヤとして示されるマルチレイヤシーン600を示す。このマルチレイヤシーン600は、シーン生成コンポーネント210によって生成される。マルチレイヤシーン600は、図4の第1レイヤ400に類似する第1レイヤ610と、図5の第2レイヤ500に類似する第2レイヤ620を含む。言い換えると、この統一レイヤ600は、マルチレイヤの合成(composite)である。図6に更に示されるように、第2レイヤ620は、図5の透明部分520に類似する1つ以上の透明部分630を含む。ここで、第1レイヤ610の一部は、第2レイヤ620の透明部分630を通して見えることに留意されたい。明確にするために、第2レイヤ620は、第1レイヤ610の上部に配置されたレイヤである。したがって、第2レイヤ620は、第1レイヤ610の様々な部分をふさぐか不明瞭にする。しかしながら、第2レイヤ620は透明部分630を含むため、第1レイヤ610の特定の部分は、第2レイヤ620の透明部分630を通して(少なくともユーザがこの特定のポーズにある間)見ることができる。ユーザが後に位置又は向きを変更する場合、第1レイヤ610の他の部分が、第2レイヤ620の透明部分630を通して見えるようになる。どの部分が見えるかは、ユーザのポーズに直接関係する。
【0069】
図7は、図6と同様であるが、追加のレイヤである、レイヤ710を含む。特に、図7は、図6のマルチレイヤシーン600に類似するマルチレイヤシーン700を示している。しかしながら、ここでは、マルチレイヤシーン700は、追加のレイヤであるレイヤ710(すなわち、木)を含む。レイヤ710は、マルチレイヤシーン700内の他のレイヤと重なるように配置される。特に、レイヤ710の一部は、下のレイヤ(すなわち、家)の透明部分の一部をふさぐ。その結果、レイヤ710は、他のレイヤの様々な部分をふさぐ(例えば木が窓を覆い、窓が山を覆うが、窓は透明であるので山は窓を通して見えるが、木は山の一部も覆う)。
【0070】
上述のように、様々なレイヤは、実行されているLSR処理及びHMDの検出された動きに応じて、各々同じ又は異なるLSR処理を受けることができる。最悪のケースのシナリオでは、すべてのレイヤのすべてのピクセルがLSR処理を受ける。一例として図3を使用すると、最悪のケースのシナリオは、BGレイヤ330のすべてのピクセル及びFGレイヤ320のすべてのピクセルがLSR処理を受ける場合に生じるであろう。
【0071】
LSR処理の効率を改善する努力において、本実施形態のいくつかは、マルチレイヤシーンの様々なレイヤ内のピクセルの少なくとも一部をプレフィルタリングする。ピクセルをプレフィルタリングする1つの方法は、ピクセルマスクを使用することによる。ピクセルマスクを、特定のレイヤの上部エッジ、下部エッジ、左エッジ及び右エッジ上の行及び列ごとに定義することができる。上述の説明で言及されているように、このピクセルマスクを使用して、ピクセル上の処理を取り除くことができるが、ピクセルの一部は、画像品質に大きく寄与しないことがある(例えばディスプレイのエッジ領域上に位置するピクセル)。このプレフィルタリングプロセスにより、個々のピクセルについて、更にはピクセルの大きな範囲についても、LSR処理のいくつかをスキップすることが可能となる。このプレフィルタリングプロセスは、一般に図8に視覚化されている。
【0072】
特に、図8は、ピクセルマスクを1つ(又は複数)のレイヤ(例えば図3のBGレイヤ330)に適用することができることを示す。ピクセルマスクを適用することによって、ピクセルマスクによって識別されたピクセル、ピクセルマスクによって操作されたピクセル、あるいはピクセルマスクに対応するピクセルに対して、LSR処理を実行する必要はなく、むしろ省略/スキップすることができる。
【0073】
図8は、ピクセルマスクの使用を開示したが、他のタイプの動作を使用してピクセルをプレフィルタすることもできる。限定ではなく例として、ベクトルマスクを用いて、いくつかのピクセルをプレフィルタリングする(例えばLSRから省略するピクセルを識別する)こともできる。
【0074】
他の実施形態は、特定のレイヤの周囲に境界ボックスを適用することによって、各ピクセル位置におけるLSR計算を低減又は除去(eliminate)する。この境界ボックス機能は、図9で視覚化されている。特に、この境界ボックスを使用して、出力画像(すなわち、レンダリングされるシーン)内の特定のレイヤ(又はレイヤ内のサブ領域)を完全に包含する領域を定義する。この境界ボックスを使用するとき、様々な実施形態は、出力画像が変化すると(例えばユーザが位置又は向きを変えて、シーンがそれに応じて調整すると)、ボックスの外側のすべての計算を除去する。この節に示されているように、境界ボックスは、特定のレイヤ内のサブ領域を識別して分離するために使用される。このサブ領域が分離された後、コンピュータシステム200は、LSR処理をこのサブ領域に適用し、そのレイヤ内の残りの領域に先のLSR処理を適用する。その結果、コンピュータシステム200は、レイヤのどの領域にLSR処理を適用すべきかを選択的に決定する。
【0075】
前述したように、ユーザが位置又は向きを変えると、レイヤは、それに応じて、位置又は向きの変更を反映するように調整される必要がある。例として、ユーザが右側に移動する場合、様々なレイヤは、ユーザの新しい視点を反映するように調整される必要がある。ここで、例は洞察に満ちたものである。ユーザが図7のマルチレイヤシーン700を見ていると仮定する。ユーザが右に移動すると、木、家及び山岳景観のユーザのビューはすべて変化するであろう。特に、木や家屋の新しい部分が見えるようになる可能性が高い。また、山岳地帯の景観に対する木及び家屋のユーザのビューも変化するであろう。対照的に、ユーザから遠く離れた山岳地帯の景観は、全く変わらない可能性が高く、変わる場合にも、その変化は極めて小さく、目立たないものとなる可能性が高い。木は家よりもユーザに近いため、家に対するよりも、木の見え方(perspective)の変化に対して、より多くの視覚的変化が目立つであろう。したがって、コンピュータシステムは、異なるレイヤに対する異なるLSR処理の適用をサポートし、これを、異なるレイヤについての特定の動き閾値を検出することによってトリガすることができる。独立したトリガが、各レイヤの別々の閾値決定に適用され得る。
【0076】
議論を続けると、ユーザの位置の変化に応答してこの調整を行うために、コンピュータシステム200は、レイヤに様々な変換を選択的に適用する。これらの変換は、LSR処理中及び/又は後の合成プロセス中に適用される。そのような変換の1つは、前に簡単に言及したように、可逆画像変換である。このタイプの変換は、画像解像度技法を使用してレイヤの角(corner)を決定する(例えばおそらく図9の境界ボックスを使用する)。次に、この変換を反転させて、現在図10に示されているように、入力画像の左上角に対応する、統一レイヤ(すなわち、出力画像)内の点を決定する。他の角を決定するために同様の計算を行う。一旦、レイヤが識別されると、そのレイヤを様々な方法(例えば伸張、収縮、歪曲等)で操作することができる。前述したように、他のタイプの変換には、ホモグラフィック変換、アフィン変換、ピクセルオフセット調整、深度処理変換、行列変換が含まれる。
【0077】
ここでは、すべての変換が容易に可逆できるわけではないことに留意する必要がある。例えば大規模な移動は、行列変換を用いて行われる可能性がある。しかしながら、より小さな調整は、他の変換(例えば深度処理変換)を使用して行われ得る。これらの変換を説明するために、いくつかの実施形態は、以前に生成された境界ボックスの周囲にバッファ領域を課す。このバッファ領域は、図11に示されており、様々なレイヤを一緒にブレンドして、凝集性があり、視覚的に魅力的な統一レイヤを作るのを助けるために使用することができる。
【0078】
多くの場合、例えばHMDが中心窩レンダリングをサポートするとき、背景レイヤは、少量のブレンドが実行された後に、前景レイヤによって完全にふさがれることになる。本実施形態は、これらのふさがれた部分に適用される処理量を低減するか、あるいは完全に除去することによって、これらのような状況を利用する。例えば図12は、不透明であり、下部のBGレイヤの一部をふさぐ前景レイヤを示す。上部レイヤの不透明領域によって不明瞭にされている下部レイヤの部分については、LSR計算をスキップすることができ、バッテリ消費を低減することができる。
【0079】
マルチレイヤシーンに対するLSR処理を最適化するコンピュータシステムを論じてきたところで、本開示は次に、LSR処理を最適化するための様々な例示的方法を提示する。注目すべきことに、以下の議論は、実行され得る多くの方法及び方法動作を参照する。方法動作は、特定の順序で議論され得るか又は特定の順序で生じるようなフローチャートで説明され得るが、特段の記載がない限り、あるいは、動作が、その動作が実行される前に完了されている別の動作に行為に依存することを必要としない限り、特定の順序は不要である。
【0080】
レイヤサブ領域に対する再投影処理の選択的適用
図13は、図2のコンピュータシステム200のようなコンピュータシステムによって実行される例示的な方法1300を示している。特に、方法1300は、1つ以上のレイヤを含むシーンを生成する動作(動作1310)を含む。
【0081】
ここで、いくつかの例において、要素がレイヤであるように、レイヤ全体が単一の要素のみから構成されてもよいことに留意することが必要である。図5を例にとると、レイヤ500全体は、単一の家要素のみから構成される。しかしながら、他の例では、レイヤは複数の要素から構成されてもよい。限定ではなく例示として、図4は、レイヤ400が、山岳地帯、道路、空及びおそらく草原を含むことを示す。ここでは、山岳地帯の景観を別個の要素とみなし、道路を別個の要素とみなしてもよい。したがって、いくつかの例では、レイヤ400は、複数の別個の要素から構成される。しかしながら、他の実施形態では、レイヤ内の要素間にそのような区別はない。
【0082】
いくつかの実施形態では、シーンは、コンピュータシステムの一部(例えばHMD)の様々なポーズに基づいて生成される。明確にするために、ポーズは、IMU計測器によって決定される実際のポーズと、推定された挙動及び予測された運動によって決定される予測ポーズの両方が含まれる。ここで、シーン生成コンポーネント210は、前述の方法でシーンを生成する。この機能の更なる説明は、本開示において後程提示される。
【0083】
いくつかの実施態様は、中心窩レンダリングのためにこのシーンを構成する。特に、これらの実施形態は、アイトラッキング技術を使用してユーザの目の動きを追跡する。次いで、これらの実施形態は、少なくとも1つのレイヤがユーザの目の中心窩に近接しているように表示され、他のレイヤがユーザの目の中心窩に近接して表示されないように、シーンをレンダリングする。対応して、実施形態がレイヤ内の要素を区別する場合、要素は、中心窩レンダリング技術に従っても表示される。
【0084】
また、方法1300は、1つ以上のレイヤ内のサブ領域を識別する動作(動作1320)を含む。このサブ領域は、1つ以上のレイヤ内の少なくとも1つの他の領域から区別される。ここで、レイヤ形成コンポーネント230は、様々なレイヤ内のサブ領域を操作し、かつ、さもなければ区別する。
【0085】
いくつかの実施態様において、このサブ領域を識別するプロセスは、1)1つ以上のレイヤ内の特定の要素と、2)特定の要素の周囲のバッファ境界とを識別することも含む。したがって、これらの実施形態では、サブ領域は、要素自体と要素の周囲のバッファ境界の両方を含む。対照的に、他の実施形態は、サブ領域の周囲にそのようなバッファ境界を含まない。
【0086】
上からの例では、図4のレイヤ400は、複数の要素(例えば山岳景観要素、道路要素等)から構成される。いくつかの実施形態は、サブ領域として機能するために要素全体(例えば道路要素)を選択する。しかし、代替的に、特定されたサブ領域は、要素との特定の関係なしに、単に一般化されたレイヤ部分とすることもできる。
【0087】
いくつかの実施形態において、特定の要素は、HMDに対する他の要素/レイヤの相対的な動きに対して満たされていない、HMDに対する要素に対して、特定の動きの閾値が満たされている又は超えていることを検出したことに応答して、識別される。
【0088】
次いで、方法1300は、1つ以上のレイヤの少なくとも1つの他の領域から、識別されたサブ領域を分離する動作(動作1330)を含む。上記ステップと同様に、レイヤ形成コンポーネント230がこの動作も実行する。この分離は様々な方法で行われる。例えばこの分離は、ピクセルマスク又はベクトルマスクを1つ以上のレイヤに適用することによって実行される。上に詳述したように、この分離されたたサブ領域の周囲にバッファ領域を適用することもできる。このバッファ領域は、本開示において前述した方法で作成される。
【0089】
上から例を続けて、道路要素がサブ領域として選択されたと仮定する。次に、この道路要素は、レイヤ400内の他の領域(例えば他の領域は、少なくとも、山岳景観要素を含む)から区別される。道路要素を区別するために、実施形態は、ピクセルマスク、ベクトルマスク、境界ボックス等を使用することによって、道路要素を他の領域から分離する。
【0090】
最後に、図13は、1つ以上のレイヤの少なくとも1つの他の領域に後期再投影処理を適用することを抑制しながら、分離されたサブ領域に後期再投影処理を適用する動作(動作1340)を示す。一例として、LSRコンポーネント220は、前述の方法でLSR処理を実行する。いくつかの実施形態では、LSR処理は、1つ以上のレイヤ又は1つ以上のレイヤ内の要素を変換するための1つ以上の変換を含む。これらの変換は、ホモグラフィック変換、アフィン変換、可逆画像変換、ピクセルオフセット調整、深度処理変換、行列変換又は他の種類の画像変換(伸張、湾曲、拡張、回転等)を含む。さらに、1つ以上の変換は、コンピュータシステムの一部分(例えばHMD)の特定の予測ポーズに応答して、1つ以上のレイヤ(又はそれらのレイヤ内の要素)に適用される。ここで、いくつかのマルチレイヤシーンでは、LSR処理が1つのレイヤ内のすべてのピクセルに適用され、LSR処理は異なるレイヤ内のピクセルのサブセットのみに適用されることに留意する必要がある。しかしながら、他の状況では、LSR処理は、すべてのレイヤ内のすべてのピクセルに適用される。この状況は、しばしば最悪のケースのシナリオである。
【0091】
上記の例を続けると、道路要素が分離のために選択された後、実施形態は、その道路要素に対してLSR処理を実行する。例えばユーザが何らかの方法で彼女の位置又は向きを変えると仮定する(例えばユーザが立位から座位に移ったとする)。ユーザから最も遠い道路の部分は、見え方や視野があまり変化していない可能性が高い。しかし、ユーザに最も近い道路の部分は、ユーザの位置の変化に応答して、見え方が著しく変化し、それによって、全距離及び/又は加速における移動閾値を超えている可能性が高い。この新しいポーズに応答して、これらの実施形態は、識別された要素(例えば道路又は道路の特定の部分)に対してLSR処理を実行する。
【0092】
上述のように、このLSR処理はまた、様々な変換の選択的適用を含んでもよい。ここでは、ユーザの位置の変化に応じて、その視覚化(visualization)が適切にレンダリングされることを確実にするように、特定の変換を道路要素に適用する必要がある。例えばユーザに最も近い道路の部分は、道路がユーザによって適切に整列され、感知されることを確実にするために、伸張され、歪められ又は他の方法で操作されなければならない可能性が高い。結果として、識別されたサブ領域(例えばレイヤ400内の道路要素)に適用されるLSR処理は、そのレイヤ内の残りの領域に適用されるLSR処理とは異なる場合がある(例えばおそらく、LSR処理は、山岳景観要素には適用されなかった。なぜなら、その要素は、ユーザから非常に離れていると認識され、ユーザの位置の変化に応じてほとんど変化しないからである)。
【0093】
複数のレイヤを含むシーンでは、1つのレイヤの一部(例えば上部レイヤ)が下部レイヤの一部と重なることがある。その結果、上部レイヤの一部が、下部レイヤの不明瞭な部分を不明瞭にする。そのようなマルチレイヤシーンでは、識別されたサブ領域は、下部レイヤの不明瞭な部分を不明瞭にする上部レイヤの部分内に含まれてもよい。ここで、識別されたサブ領域は、場合によっては、透明部分(例えば図6からの透明部分630)を含むことに留意する必要がある。このような状況では、LSR処理が適用された後であっても、サブ領域の透明部分の下に位置する下部レイヤの部分は、透明部分を通して見ることができるであろう。
【0094】
したがって、実施形態は、マルチレイヤシーンのレイヤサブ領域上のLSR処理の選択的適用をサポートする。
【0095】
マルチレイヤシーンへの再投影処理の選択的適用
図14は、図2のコンピュータシステム200のようなコンピュータシステムによって実行される別の例示的な方法1400を示しており、各シーン要素は異なるレイヤを含んでもよい。
【0096】
最初に、方法1400は、複数のレイヤを含むシーンを生成する動作(動作1410)を含む。ここで、シーン生成コンポーネント210とレイヤ形成コンポーネント230が協力して動作し、マルチレイヤシーンを生成する。上述のように、このシーンは、複合現実シーン、拡張現実シーン又は仮想現実シーンの一部として含まれてよい。
【0097】
いくつかの実施形態では、このシーンは、コンピュータシステムの一部(例えばHMD)の様々なポーズに応答して生成される。これらのポーズには、1)IMU計測器によって決定される実際のポーズと、2)ユーザの挙動(例えば過去の挙動と現在の挙動の両方)と予想される動きの両方に基づく予測ポーズ、が含まれる。予測ポーズが生成されるとき、それは以前のポーズ決定に基づく。さらに、予測ポーズデータは、実際のポーズデータを補強するために使用され、その結果、コンピュータシステムは、そのハードウェアIMU計測器からデータを取得する頻度を低減する。実際にデータが収集される頻度を減らすことによって、実施形態はコンピュータシステムのバッテリ寿命を延ばす。
【0098】
複数のポーズ決定値(pose determinations)を生成することができる。例えばいくつかの実施形態は、特定の時点について複数の予測ポーズ決定値を生成し(例えば時間Xについての10個の異なるポーズ決定値)、ここで、各予測ポーズ決定値は、HMDがその時点でどのように配置されるかに関する推定である。これらの実施形態は、これらの予測ポーズ決定値のそれぞれに実現の確率を割り当てる(例えばポーズYは実現される可能性が52%、ポーズZは実現される可能性が35%等)。この確率は、1)ユーザの過去の挙動、2)ユーザの現在の動き及び/又は、3)シーン内で現在起こっているか間もなく起こるであろうイベント(例えばソフトウェアアプリケーションは、新しい敵が特定の場所及び時間にシーン内に間もなく現れると決定し、ソフトウェアアプリケーションは、ユーザは、特定の動きを実行することによって、その新たなものの出現に反応するであろうと推定する)に基づいて決定される。確率決定が完了した後、実施形態は、最も高いランクの予測ポーズを選択し、次の動作を続行する。
【0099】
他の実施形態は、異なる方法で複数の予測ポーズ決定値を生成する。ここで、これらの実施形態は、単一の時点について複数の予測ポーズ決定値を生成する代わりに、以前の予測ポーズ決定値に基づいて連続的な予測ポーズ決定値とする。明確にするために、コンピュータシステムが、特定の頻度で、おそらく20ミリ秒ごとに、実際のポーズデータを収集すると仮定する(この数は単なる例であり、制限メトリックと考えられるべきではなく、20ミリ秒超でも20ミリ秒未満でもよい)。しかしながら、特に、シーンはより速い速度で更新される必要がある可能性がある。その結果、これらの実施形態は、実際のポーズデータを、予測ポーズデータで補強する。そうするために、これらの実施形態は、実際のポーズデータに少なくとも部分的に基づいて第1予測ポーズを生成し、その第1予測ポーズに基づいてシーンをレンダリングする。次いで、実施形態は、第1予測ポーズに少なくとも部分的に基づいて第2予測ポーズを生成し、次に、第2予測ポーズに基づいてシーンをレンダリングする。このプロセスは、コンピュータシステムが再び実際のポーズデータを取得するまで続き、連続的な予測ポーズは以前の予測ポーズに基づく。その結果、連続的な予測ポーズは、コンピュータシステムの一部の以前に取得された実際のポーズとは異なる。いくつかの状況において(及び様々な予測されたポーズに応答して)、シーン内のマルチレイヤに適用されるLSR処理は、それらのレイヤのすべてのピクセルに適用される。しかしながら、他の状況では、LSR処理は、1つ以上のレイヤ内のピクセルのサブセットにのみ適用される。
【0100】
また、方法1400は、複数のレイヤ内の第1レイヤにLSR処理を適用する動作(動作1420)を含む。ここで、LSRコンポーネント220がLSR処理をレイヤに適用する。注目すべきことに、いくつかの実施形態は、特定のレイヤ内のピクセルの識別されたサブセットにのみLSR処理を適用し(例えばおそらくはピクセルの一部は、本開示において前述した方法で、レイヤからプレフィルタリングされている)、他の実施形態は、LSR処理を複数のレイヤのピクセルのすべてに適用する。
【0101】
また、方法1400は、複数のレイヤ内の第2レイヤにLSR処理を適用する動作(動作1430)を含む。この第2レイヤに適用されるLSR処理は、第1レイヤのLSR処理とは独立に実行される。さらに、第2レイヤに適用されるLSR処理は、1つ以上の変換(例えば可逆画像変換及び/又は行列変換)を含む。これらの変換は第2レイヤに適用されるが、第1レイヤには適用されない。第1レイヤ及び第2レイヤに適用される異なる変換は、異なるレイヤの異なる属性を検出することに基づいて、かつ/又は異なるレイヤについて異なる移動閾値が満たされているか又は満たされていないことを検出することに基づいて、異なってよい。格納及びアクセスされたパラメータは、異なる変換を異なるレイヤにいつ適用すべきかを定義する。
【0102】
追加の変換を、後述する後続の合成プロセス中にも適用することができる。したがって、様々な異なる時間で画像変換をレイヤに適用することができる。上述の動作と同様に、LSRコンポーネント220は、このLSR処理を適用する。その結果、LSRコンポーネント220は、異なるLSR処理を異なる時間に異なるレイヤに適用することができる。
【0103】
ここで、広範な変換をレイヤに適用することができることに留意する必要がある。上述の変換(すなわち、ホモグラフィック変換、アフィン変換、可逆画像変換、深度処理変換、ピクセルオフセット変換、行列変換等)に加えて、変換は、1)平行移動(並進)(translation)、2)反射、3)回転、又は4)拡張変換も含む。様々な他の変換を適用して、レイヤの他の特性を変化させることができる。例として、ユーザの位置の変化に応じて、新たなグレア又は反射をシーンに導入すべきであると仮定する(例えばおそらく、コンピュータシステムは、太陽光が図5の家の窓から反射し、ユーザの目に投射されるべきであると決定する)。この新しいグレア又は反射は、ユーザがシーンをどのように見ているか、特に様々なレイヤの色及び透明性の側面に影響を与えることになる。その結果、シーンの様々なレイヤの色又は透明度を変更する必要がある可能性がある。したがって、サイズ変換に加えて、1つ以上の変換は、色変換及び透明変換も含む。
【0104】
また、方法1400は、統一レイヤを生成する動作(動作1440)を含む。この統一レイヤは、様々なレイヤ(例えば第1レイヤとの変換された第2レイヤ)を一緒に合成することによって形成される。ここで、レイヤ形成コンポーネント230が、この統一レイヤを形成する。
【0105】
いくつかの実施形態は、本開示において前述した方法で、第2レイヤの周囲にバッファ領域を生成することによって、この合成を実行する。さらに、変換された第2レイヤを第1レイヤと合成することにより、変換された第2レイヤが、第1レイヤの一部と重なることがある。その結果、変換された第2レイヤは、第1レイヤの一部を少なくとも部分的に不明瞭にする。しかしながら、レイヤのいくつかは、透明部分を含んでもよい。この透明部分のために、透明部分の下にあるコンテンツは、透明部分を通して見ることができる。
【0106】
最後に、方法1400は、統一レイヤをレンダリングする動作(動作1450)を含む。この統一レイヤは、HMD上に描画されてもよい。ここで、レンダリングコンポーネント240が、統一レイヤをレンダリングする。
【0107】
いくつかの実施態様は、統一レイヤが中心窩レンダリング技術を使用してレンダリングされるように、HMD上の中心窩レンダリングをサポートする。明確にするために、基礎となるコンピュータシステムがHMDを含む場合、統一レイヤのレンダリングは、HMDにおいて統一レイヤをレンダリングすることによって実行される。
【0108】
図14には示されていないが、他の実施形態は、様々なレイヤからピクセルをプレフィルタリングする動作を含む。例えば第1レイヤのいくつかのピクセルは、第1レイヤの他のピクセルから予めフィルタリングされてもよい。あるいは、第1レイヤのいくつかのピクセルは、異なるレイヤのピクセル(例えば統一された合成レイヤの場合)からプレフィルタリングされてもよい。このプレフィルタリングプロセスは、ピクセルマスク又はベクトルマスクを適用することによって実行される。これらの実施形態では、プレフィルタリングされたピクセルの少なくともいくつかは、エッジピクセルとして識別される。これらのエッジピクセルは、フィルタリングされていない又は非エッジピクセルよりもシーン品質に寄与しないと決定される。これらのピクセルはシーン品質にあまり寄与しないので、実施形態は、これらのピクセルに対するLSR処理をスキップすることによってバッテリ寿命を最適化する。
【0109】
他の実施形態は、コンピュータシステムの一部(例えばHMD)の追加の予測ポーズを生成する。これらの実施形態は、第2レイヤを第1レイヤと再び合成することによって、新しい統一レイヤを生成する。いくつかの例では、第2レイヤの透明部分を通して以前に見ることができた第1レイヤの部分が、予測された次のポーズに関連する向き変化に応答して、今や不明瞭になっている。今は、最初は第2レイヤの透明部分を通して見ることができなかった第1レイヤの新しい部分が、予測された次のポーズに関連する向きの変化に応答して、透明部分を通して見ることができるようになっている(例えば図6に示されたウィンドウを通して山岳地帯の新しいビューが見えるようになる)。
【0110】
また、いくつかの実施形態は、コンピュータシステムの部分の予測される次のポーズに応答しても、第1レイヤの以前に重なっていた部分が、第2レイヤによっても依然として重なっているとき(例えば図6の家の下部分の近くの山岳地帯の部分は依然として重なっている)を決定する。これに応答して、これらの実施形態は、第1レイヤの重複部分のLSR処理をスキップする。明確にするために、実施形態は、LSR処理を第1レイヤのいくつかの部分に適用する一方で、第2レイヤによって依然として重なっている第1レイヤの重複部分にLSR処理を適用することを抑制する。その結果、実施形態は、LSR処理がいつ回避可能であるかを動的に決定し、回避可能なインスタンスの間にLSR処理をスキップすることによって、コンピュータシステムのバッテリ寿命を効率的に最適化する。
【0111】
本開示の大部分は、HMDのポーズに基づいてポーズデータを生成することを強調しているが、必ずしもそうであるとは限らないことが理解されよう。例えば開示される実施形態は、HMDと、異なるオンボディ・デバイス(例えばハンドヘルドデバイス、フットデバイス、胸部デバイス等)との間、更にはユーザの身体に位置しないデバイス(例えば部屋に配置され、部屋のコンテンツをマッピング及び詳細化することによって複合現実体験を更に強化するために使用される基地局)との間の関係ポーズデータを生成することができる。したがって、HMDのポーズに基づいてシーンを生成することに加えて、実施形態は、HMDと様々なオンボディ及び/又はベースデバイスとの間の関係に基づいてシーンを生成することも可能である。ここでは、簡単な例を挙げておこう。ユーザがHMDを装着し、ハンドヘルドデバイスを保持していると仮定する。シーンに没入されると、レーザーガンが、ユーザの腕に取り付けられているように視覚化され得る。レーザーガンの正しい向き及びポーズを計算するために、コンピュータシステムは、HMDとハンドヘルドデバイスの両方から収集されたポーズデータに依存する。したがって、本明細書で議論される実施形態は、HMDから取得されるポーズデータのみに基づいてシーンを生成することに限定されない。むしろ、実施形態は、他のタイプのオンボディ及び/又はベースデバイスから収集されたポーズデータに基づいてシーンを生成することも可能である。
【0112】
したがって、本開示は、複数のレイヤを含むコンピュータ生成シーンのためのLSR処理を最適化するシステム、ハードウェアストレージデバイス及び方法を提供した。いくつかの実施形態は、LSR処理を、レイヤの様々なサブ領域に選択的に適用させる。他の実施形態は、LSR処理をマルチレイヤシーンに選択的に適用させる。これらのプロセスの結果として、本明細書で提示される実施形態は、LSR処理を最適化して選択的に適用し、それにより、他の方法ではユニバーサルLSR処理によって消費されるであろう電力を節約するのを助けることができる。
【0113】
本発明は、その精神又は特徴から逸脱することなく、他の特定の形態で具現化されてもよい。説明された実施形態は、あらゆる点で例示的なものにすぎず、限定的なものではないとみなすべきである。したがって、本発明の範囲は、前述の説明ではなく、添付の特許請求の範囲によって示される。特許請求の範囲と等価の意味及び範囲内にあるすべての変更は、その範囲内に含まれるものとする。

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14