JP2024502273A - 時間的中心窩レンダリング - Google Patents
時間的中心窩レンダリング Download PDFInfo
- Publication number
- JP2024502273A JP2024502273A JP2023538783A JP2023538783A JP2024502273A JP 2024502273 A JP2024502273 A JP 2024502273A JP 2023538783 A JP2023538783 A JP 2023538783A JP 2023538783 A JP2023538783 A JP 2023538783A JP 2024502273 A JP2024502273 A JP 2024502273A
- Authority
- JP
- Japan
- Prior art keywords
- image
- region
- frame
- rendered
- interim
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 45
- 230000002123 temporal effect Effects 0.000 title claims description 36
- 238000000034 method Methods 0.000 claims abstract description 44
- 230000015654 memory Effects 0.000 claims description 32
- 239000013598 vector Substances 0.000 claims description 18
- 210000003128 head Anatomy 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 10
- 230000003287 optical effect Effects 0.000 claims description 6
- 238000002156 mixing Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 14
- 230000003190 augmentative effect Effects 0.000 description 7
- 239000000203 mixture Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000004886 head movement Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005043 peripheral vision Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/344—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Abstract
一実施形態では、方法は、ビデオストリームの第1のフレームに対応する、完全な画素情報を有する第1の画像にアクセスすることと、第1のフレームの後のビデオストリームの第2のフレームに対応する暫定画像をレンダリングすることであって、暫定画像が完全な画素情報を含む第1の領域と不完全な画素情報を含む第2の領域とを有する、暫定画像をレンダリングすることと、1つまたは複数のワーピングパラメータに従って少なくとも第1の画像の領域を再投影することによって、第2のフレームに対応する予測画像を生成することと、レンダリングされた暫定画像と予測画像とを合成することによって、第2のフレームに対応する第2の画像を生成することとを含む。【選択図】図2
Description
本開示は、一般に、人工現実システムに関し、具体的には、人工現実システムのための効率的なレンダリングに関する。
人工現実は、ユーザへの提示の前に何らかの様式で調整された形式の現実であり、これは、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、あるいはそれらの何らかの組合せおよび/または派生物を含み得る。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされたコンテンツ(たとえば、現実世界の写真)と組み合わせられた生成されたコンテンツを含み得る。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、またはそれらの何らかの組合せを含み得、それらのいずれも、単一のチャネルまたは複数のチャネルにおいて提示され得る(観察者に3次元効果をもたらすステレオビデオなど)。人工現実は、たとえば人工現実におけるコンテンツの生成および/または人工現実における使用(たとえば、人工現実における活動の実行)がなされるアプリケーション、製品、付属品、サービス、またはこれらの何らかの組合せと関連付けられている場合がある。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドマウントディスプレイ(HMD)、スタンドアロンHMD、モバイルデバイスまたはコンピューティングシステム、あるいは、1人または複数の観察者に人工現実コンテンツを提供することが可能な任意の他のハードウェアプラットフォームを含む、様々なプラットフォーム上に実装され得る。
本発明の一態様によれば、コンピューティングシステムによって、ビデオストリームの第1のフレームに対応する第1の画像にアクセスすることであって、第1の画像が完全な画素情報を有する、第1の画像にアクセスすることと、第1のフレームの後のビデオストリームの第2のフレームに対応する暫定画像をレンダリングすることであって、暫定画像が完全な画素情報を含む第1の領域と不完全な画素情報を含む第2の領域とを有する、暫定画像をレンダリングすることと、1つまたは複数のワーピングパラメータに従って少なくとも第1の画像の領域を再投影することによって、第2のフレームに対応する予測画像を生成することと、レンダリングされた暫定画像と予測画像とを合成することによって、第2のフレームに対応する第2の画像を生成することとを含む方法が提供される。
好ましくは、レンダリングされた暫定画像と予測画像とを合成することは、時間ワーピングパラメータを暫定画像に適用することを含み、時間ワーピングパラメータを画像に適用することは、頭部位置の変化を調整するために画像をシフトすることを含む。
好ましくは、1つまたは複数のワーピングパラメータは、空間ワーピングパラメータと時間ワーピングパラメータとを含む。
好ましくは、空間ワーピングパラメータは、第1の画像の再投影された領域内の動きベクトルに基づいて決定され、動きベクトルは、前のフレームに対応する画像に基づいて決定される。
好ましくは、空間ワーピングパラメータを適用することは、再投影された領域内で動いているオブジェクトが決定された動きベクトルを使用して再配置されるように、第1の画像の再投影された領域を歪めることを含む。
好ましくは、動きベクトルを決定することは、オプティカルフローに基づく。
好ましくは、空間ワーピングパラメータを決定することは、グラフィックス処理装置(GPU)とは別個のハードウェアエンコーダ上で実行される。
好ましくは、暫定画像内のレンダリングされた領域および予測画像の再投影された領域は、重複領域を有する。
好ましくは、レンダリングされた暫定画像と予測画像とを合成することは、重複領域内の画素を混合することを含む。
好ましくは、暫定画像の第1の領域は、ビデオストリームの第2のフレームに対するユーザの視野の中央領域を含む。
好ましくは、暫定画像の第1の領域は、画像の所定の領域を含む。
好ましくは、暫定画像の第2の領域はレンダリングされない。
好ましくは、暫定画像の第2の領域は、第1の領域の画素密度よりも低い画素密度でレンダリングされる。
好ましくは、第1の画像は複数のサブ領域を含み、サブ領域の画素密度は互いに異なる。
好ましくは、ビデオストリームは立体ビデオストリームであり、第1の画像および第2の画像はユーザの目に対応する。
好ましくは、レンダリングされた暫定画像と予測画像とを合成することによってビデオストリームのフレームに対応する画像を生成することは、目の間で交互に行われ、第1の目のフレームに対応する全体画像がレンダリングされる一方で、レンダリングされた暫定画像と予測画像とを合成することによって第2の目のフレームに対応する画像が生成される。
本発明のさらなる態様によれば、ビデオストリームの第1のフレームに対応する第1の画像にアクセスすることであって、第1の画像が完全な画素情報を有する、第1の画像にアクセスすることと、第1のフレームの後のビデオストリームの第2のフレームに対応する暫定画像をレンダリングすることであって、暫定画像が完全な画素情報を含む第1の領域と不完全な画素情報を含む第2の領域とを有する、暫定画像をレンダリングすることと、1つまたは複数のワーピングパラメータに従って少なくとも第1の画像の領域を再投影することによって、第2のフレームに対応する予測画像を生成することと、レンダリングされた暫定画像と予測画像とを合成することによって、第2のフレームに対応する第2の画像を生成することとが実行された場合に動作可能なソフトウェアを具現化する1つまたは複数のコンピュータ可読非一時的記憶媒体が提供される。
好ましくは、レンダリングされた暫定画像と予測画像とを合成することは、時間ワーピングパラメータを暫定画像に適用することを含み、時間ワーピングパラメータを画像に適用することは、頭部位置の変化を調整するために画像をシフトすることを含む。
好ましくは、1つまたは複数のワーピングパラメータは、空間ワーピングパラメータと時間ワーピングパラメータとを含む。
本発明のさらなる態様によれば、1つまたは複数のプロセッサと、プロセッサによって実行可能な命令を含むプロセッサに結合された非一時的メモリとを備えるシステムが提供され、プロセッサは、ビデオストリームの第1のフレームに対応する第1の画像にアクセスすることであって、第1の画像が完全な画素情報を有する、第1の画像にアクセスすることと、第1のフレームの後のビデオストリームの第2のフレームに対応する暫定画像をレンダリングすることであって、暫定画像が完全な画素情報を含む第1の領域と不完全な画素情報を含む第2の領域とを有する、暫定画像をレンダリングすることと、1つまたは複数のワーピングパラメータに従って少なくとも第1の画像の領域を再投影することによって、第2のフレームに対応する予測画像を生成することと、レンダリングされた暫定画像と予測画像とを合成することによって、第2のフレームに対応する第2の画像を生成することとを行うための命令が実行された場合に動作可能である。
本明細書に記載の特定の実施形態は、所定のディスプレイまたは視線追跡ディスプレイ(たとえば、従来の2Dディスプレイ、HMDなど)の周辺視野におけるレンダリング頻度を低減することによって、グラフィックス処理装置(GPU)の節約を達成するためのシステムおよび方法に関する。中心窩レンダリングは、周辺視野の画質を低減することによってレンダリングの作業負荷を低減するレンダリング技術である。中心窩レンダリングは、各フレームの周辺領域においてレンダリングされた解像度もしくは画素密度を低減するために空間的に実行されてもよい。本明細書に記載の時間的中心窩レンダリングは、周辺視野におけるレンダリング頻度を低減することによってGPUの節約を達成する方法である。所望のレンダリング頻度に応じて、時間的中心窩レンダリングは、小さな「インセット」のみをレンダリングし、1フレームおきに周辺の「アウトセット」をレンダリングしないでおくことによって、フレームの半分のGPU計算を節約することができる。アウトセット領域は、以前にレンダリングされた全フレームを使用して埋められてもよい。
特定の実施形態では、コンピューティングデバイスは、ビデオストリームの第1のフレームに対応する第1の画像にアクセスしてもよい。第1の画像は、複数のサブ領域を含んでもよい。サブ領域の画素密度は、互いに異なっていてもよい。コンピューティングデバイスは、第1のフレームの後のビデオストリームの第2のフレームに対応する暫定画像をレンダリングしてもよい。暫定画像は、完全な画素情報を含む第1の領域と、不完全な画素情報を含む第2の領域とを含んでもよい。特定の実施形態では、暫定画像の第2の領域はレンダリングされなくてもよい。コンピューティングデバイスは、1つまたは複数のワーピングパラメータに従って少なくとも第1の画像の領域を再投影することによって、第2のフレームに対応する予測画像を生成してもよい。1つまたは複数のワーピングパラメータは、空間ワーピングパラメータと時間ワーピングパラメータとを含んでもよい。コンピューティングデバイスは、レンダリングされた暫定画像と予測画像とを合成することによって、第2のフレームに対応する第2の画像を生成してもよい。特定の実施形態では、暫定画像内のレンダリングされた領域および予測画像の再投影された領域は、重複領域を有する。コンピューティングデバイスは、レンダリングされた暫定画像と予測画像とを合成する間に、重複領域内の画素を混合してもよい。特定の実施形態では、ビデオストリームは立体ビデオストリームであってもよい。コンピューティングデバイスは、レンダリングされた暫定画像と予測画像とを目の間で合成することによって、ビデオストリームのフレームに対応する画像を交互に生成してもよい。コンピューティングデバイスは、第1の目のフレームに対応する全体画像をレンダリングしてもよい一方で、コンピューティングデバイスは、レンダリングされた暫定画像と予測画像とを合成することによって、第2の目のフレームに対応する画像を生成してもよい。
本明細書で開示される実施形態は例にすぎず、本開示の範囲はそれらに限定されない。特定の実施形態は、上記で開示された実施形態の構成要素、要素、特徴、機能、動作、またはステップのすべてを含むか、いくつかを含むか、またはいずれをも含まないことがある。本発明による実施形態は、特に、方法、記憶媒体、システムおよびコンピュータプログラム製品を対象とする添付の特許請求の範囲で開示され、1つの請求項カテゴリー、たとえば、方法において述べられた任意の特徴は、別の請求項カテゴリー、たとえば、システムにおいても請求され得る。添付の特許請求の範囲における従属関係または参照は、形式的理由で選定されるにすぎない。ただし、任意の先行請求項に対する意図的な前方参照(特に、マルチ従属)の結果としての如何なる主題も、同様に請求可能であるため、請求項およびその特徴の任意の組合せが開示され、添付の特許請求の範囲において選定した従属に関わらず請求可能である。請求され得る主題は、添付の特許請求の範囲に記載の特徴の組合せだけでなく、特許請求の範囲における特徴の任意の他の組合せをも含み、特許請求の範囲において述べられた各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組合せと組み合わせられ得る。さらに、本明細書で説明または示される実施形態および特徴のいずれも、別個の請求項において、ならびに/あるいは、本明細書で説明もしくは示される任意の実施形態もしくは特徴との、または添付の特許請求の範囲の特徴のいずれかとの任意の組合せで請求され得る。
図1Aは、例示的な人工現実システム100Aを示している。特定の実施形態では、人工現実システム100Aは、ヘッドセット104と、コントローラ106と、コンピューティングデバイス108とを備えてもよい。ユーザ102は、視覚的な人工現実コンテンツをユーザ102に表示してもよいヘッドセット104を装着してもよい。ヘッドセット104は、オーディオ人工現実コンテンツをユーザ102に提供してもよいオーディオ機器を含んでもよい。ヘッドセット104は、環境のイメージおよびビデオを取り込み可能な1つまたは複数のカメラを具備していてもよい。ヘッドセット104は、ユーザ102の輻輳距離を決定する視線追跡システムを具備していてもよい。ヘッドセット104は、ユーザ102からの音声入力を取り込むためのマイクロフォンを含んでもよい。ヘッドセット104は、ヘッドマウントディスプレイ(HMD)と呼ばれてもよい。コントローラ106は、トラックパッドならびに1つもしくは複数のボタンを備えていてもよい。コントローラ106は、ユーザ102からの入力を受け、この入力をコンピューティングデバイス108に伝えてもよい。また、コントローラ106は、触覚フィードバックをユーザ102に与えるようにしてもよい。コンピューティングデバイス108は、ケーブルまたは無線接続によって、ヘッドセット104およびコントローラ106に接続されてもよい。コンピューティングデバイス108は、ヘッドセット104およびコントローラ106を制御して、人工現実コンテンツをユーザ102に与えるとともに、ユーザ102からの入力を受けるようにしてもよい。コンピューティングデバイス108は、独立型ホストコンピューティングデバイスであってもよいし、ヘッドセット104と一体化されたオンボードコンピューティングデバイスであってもよいし、モバイル機器であってもよいし、人工現実コンテンツをユーザ102に提供するとともに、ユーザ102からの入力を受けることが可能な任意の他のハードウェアプラットフォームであってもよい。
図1Bは、例示的な拡張現実システム100Bを示している。拡張現実システム100Bは、フレーム112、1つまたは複数のディスプレイ114、およびコンピューティングデバイス108を備えたヘッドマウントディスプレイ(HMD)110(たとえば、眼鏡)を含んでもよい。ディスプレイ114は、HMD110を装着したユーザが当該ディスプレイ114を通して現実世界を見られるようにすると同時に、視覚的な人工現実コンテンツをユーザに表示できるように、透明であってもよいし、半透明であってもよい。HMD110は、オーディオ人工現実コンテンツをユーザに提供し得るオーディオ機器を具備していてもよい。HMD110は、環境のイメージおよびビデオを取り込み可能な1つまたは複数のカメラを具備していてもよい。HMD110は、当該HMD110を装着したユーザの輻輳運動を追跡する視線追跡システムを具備していてもよい。HMD110は、ユーザからの音声入力を取り込むためのマイクロフォンを含んでもよい。拡張現実システム100Bは、トラックパッドならびに1つもしくは複数のボタンを備えたコントローラをさらに具備していてもよい。コントローラは、ユーザからの入力を受け、この入力をコンピューティングデバイス108に伝えてもよい。また、コントローラは、触覚フィードバックをユーザに与えるようにしてもよい。コンピューティングデバイス108は、ケーブルまたは無線接続によって、HMD110およびコントローラに接続されてもよい。コンピューティングデバイス108は、HMD110およびコントローラを制御して、拡張現実コンテンツをユーザに与えるとともに、ユーザからの入力を受けるようにしてもよい。コンピューティングデバイス108は、独立型ホストコンピュータデバイスであってもよいし、HMD110と一体化されたオンボードコンピュータデバイスであってもよいし、モバイル機器であってもよいし、人工現実コンテンツをユーザに提供するとともに、ユーザからの入力を受けることが可能な任意の他のハードウェアプラットフォームであってもよい。
特定の実施形態では、コンピューティングデバイス108は、ビデオストリームの第1のフレームに対応する第1の画像にアクセスしてもよい。第1の画像は、複数のサブ領域を含んでもよい。サブ領域の画素密度は、互いに異なっていてもよい。コンピューティングデバイス108は、第1のフレームの後のビデオストリームの第2のフレームに対応する暫定画像をレンダリングしてもよい。暫定画像は、完全な画素情報を含む第1の領域と、不完全な画素情報を含む第2の領域とを含んでもよい。特定の実施形態では、暫定画像の第2の領域はレンダリングされなくてもよい。コンピューティングデバイス108は、1つまたは複数のワーピングパラメータに従って少なくとも第1の画像の領域を再投影することによって、第2のフレームに対応する予測画像を生成してもよい。1つまたは複数のワーピングパラメータは、空間ワーピングパラメータと時間ワーピングパラメータとを含んでもよい。コンピューティングデバイス108は、レンダリングされた暫定画像と予測画像とを合成することによって、第2のフレームに対応する第2の画像を生成してもよい。特定の実施形態では、暫定画像内のレンダリングされた領域および予測画像の再投影された領域は、重複領域を有する。コンピューティングデバイス108は、レンダリングされた暫定画像と予測画像とを合成する間に、重複領域内の画素を混合してもよい。特定の実施形態では、ビデオストリームは立体ビデオストリームであってもよい。コンピューティングデバイス108は、レンダリングされた暫定画像と予測画像とを目の間で合成することによって、ビデオストリームのフレームに対応する画像を交互に生成してもよい。コンピューティングデバイス108は、第1の目のフレームに対応する全体画像をレンダリングしてもよい一方で、コンピューティングデバイス108は、レンダリングされた暫定画像と予測画像とを合成することによって、第2の目のフレームに対応する画像を生成してもよい。本開示は、特定の方法で、レンダリングされた暫定画像と前のフレームに対応する画像を再投影することによって生成された予測画像とを合成することによってフレームの画像を生成することを記載しているが、本開示は、任意の適切な方法で、レンダリングされた暫定画像と前のフレームに対応する画像を再投影することによって生成された予測画像とを合成することによってフレームの画像を生成することを企図している。
特定の実施形態では、コンピューティングデバイス108は、ビデオストリームの第1のフレームに対応する第1の画像にアクセスしてもよい。第1の画像は、複数のサブ領域を含んでもよい。サブ領域の画素密度は、互いに異なっていてもよい。第1の画像は、レンダリング後処理の後に完全な画素情報を有してもよい。図2は、例示的な時間的中心窩レンダリング処理を示している。限定ではなく一例として、図2に示すように、コンピューティングデバイス108は、フレームtに対応する第1の画像210をレンダリングしてもよい。第1のフレーム210は、複数のサブ領域211、213、215および217を含んでもよい。コンピューティングデバイス108は、空間的中心窩レンダリング技術を用いて第1の画像210をレンダリングしてもよく、第1の画像210の各サブ領域は、対応する画素密度でレンダリングされてもよい。図2に示す例では、サブ領域211は全画素密度でレンダリングされている。サブ領域213は、1/2の密度でレンダリングされる。サブ領域215は、1/4の密度でレンダリングされる。また、サブ領域217は、1/8の密度でレンダリングされる。第1の画像がコンピューティングデバイス108に関連付けられたディスプレイ114に投影されると、コンピューティングデバイス108はレンダリング後処理を実行してもよく、第1の画像210は完全な画素情報を含む画像となり得る。したがって、フレームtに対応する表示画像220は、完全な画素情報を有してもよい。レンダリング後処理はまた、ワーピング処理、レンズ歪み補正、色収差補正、表示補正、または任意の適切なレンダリング後処理を含んでもよい。特定の実施形態では、コンピューティングデバイス108は、レンダリング後処理の間に機械学習モデルを用いて第1の画像210を処理してもよい。特定の実施形態では、コンピューティングデバイス108は、レンダリング後処理の間に画素を混合してもよい。特定の実施形態では、コンピューティングデバイス108は、空間的中心窩レンダリング技術を用いることなく、第1の画像210全体を全解像度でレンダリングしてもよい。本開示は、特定の方法でビデオストリームのフレームに対応する画像をレンダリングすることを記載しているが、本開示は、任意の適切な方法でビデオストリームのフレームに対応する画像をレンダリングすることを企図している。
特定の実施形態では、コンピューティングデバイス108は、第1のフレームの後のビデオストリームの第2のフレームに対応する暫定画像をレンダリングしてもよい。暫定画像は、完全な画素情報を含む第1の領域と、不完全な画素情報を含む第2の領域とを含んでもよい。第1の領域は、インセットと呼ばれてもよい。第2の領域は、アウトセットと呼ばれてもよい。特定の実施形態では、視線追跡デバイスを使用して、ユーザの視線を追跡してもよい。このような場合、インセットは、ユーザの視野の中央領域を覆う領域であってもよく、アウトセットは、所与の時間におけるユーザの視野の外側領域を覆う領域である。特定の実施形態では、視線追跡デバイスは使用されなくてもよい。次いで、所定の目モデルが使用されてもよく、インセットおよびアウトセットは、レンダリング画像内の所定の領域であってもよい。特定の実施形態では、暫定画像の第2の領域はレンダリングされなくてもよい。特定の実施形態では、暫定画像の第2の領域は、第1の領域の画素密度よりも低い画素密度でレンダリングされてもよい。限定ではなく一例として、図2に示す先の例を継続して、コンピューティングデバイス108は、フレームt+nに対応する暫定画像230をレンダリングしてもよい。暫定画像230は、インセット231およびアウトセット233を含んでもよい。アウトセット233は、暫定画像230内のインセット231の残りの部分であってもよい。視線追跡デバイスが使用される場合、インセット231は、ユーザの視野の中央領域を覆う領域であってもよい。したがって、各フレームのインセットは、ユーザの視線位置が変化し続けるにつれて変化してもよい。アウトセット233は、暫定画像230内のインセット231の残りの領域であってもよい。視線追跡デバイスが使用されない場合、インセット231は画像の所定の領域であってもよい。コンピューティングデバイス108は、暫定画像230のインセット231を全解像度でレンダリングしてもよい。インセット231は全解像度でレンダリングされるので、暫定画像230のインセット231は完全な画素情報を有してもよい。コンピューティングデバイス108は、暫定画像230のアウトセット233をレンダリングしなくてもよい。特定の実施形態では、コンピューティングデバイス108は、インセット231の解像度よりも低い解像度でアウトセット233をレンダリングしてもよい。レンダリング後、暫定画像230のアウトセット233は不完全な画素情報を有してもよい。本開示は、特定の方法で画像のインセットをレンダリングすることを記載しているが、本開示は、任意の適切な方法で画像のインセットをレンダリングすることを企図している。
特定の実施形態では、コンピューティングデバイス108は、1つまたは複数のワーピングパラメータに従って少なくとも第1の画像の領域を再投影することによって、第2のフレームに対応する予測画像を生成してもよい。限定ではなく一例として、図2に示す先の例を継続して、コンピューティングデバイス108は、第1の画像210のアウトセット233に対応する領域を再投影することによって、予測画像235を生成してもよい。予測画像235は、インセット231に対応する領域の画素情報を有していなくてもよい。本開示は、特定の方法で、前のフレームに対応する画像の領域を再投影することによって予測画像を生成することを記載しているが、本開示は、任意の適切な方法で、前のフレームに対応する画像の領域を再投影することによって予測画像を生成することを企図している。
特定の実施形態では、1つまたは複数のワーピングパラメータは、空間ワーピングパラメータと時間ワーピングパラメータとを含んでもよい。コンピューティングデバイス108は、第1の画像の再投影された領域内の動きベクトルに基づいて空間ワーピングパラメータを決定してもよい。空間ワーピングパラメータを使用して、前のフレームに対応する画像からフレームに対応する外挿画像を生成してもよい。動きベクトルは、前のフレームに対応する画像に基づいて決定されてもよい。特定の実施形態では、動きベクトルを決定することは、オプティカルフローに基づいてもよい。空間ワーピングパラメータを適用するために、コンピューティングデバイス108は、再投影された領域内で動いているオブジェクトが決定された動きベクトルを使用して再配置されるように、第1の画像の再投影された領域を歪めてもよい。特定の実施形態では、空間ワーピングパラメータを決定することは、グラフィックス処理装置(GPU)とは別個のハードウェアエンコーダ上で実行されてもよい。図3は、空間ワーピングパラメータを適用するための簡略化された例を示している。限定ではなく一例として、図3に示すように、コンピューティングデバイス108は、フレームtに対応する画像310内の動きベクトル317を決定してもよい。テーブル上のボール315が前のフレームの方向に向かって転がると、コンピューティングデバイス108は、前のフレームに対応する画像に基づいて動きベクトル317を計算してもよい。コンピューティングデバイス108は、ボール315が新しい位置に再配置されるようにフレームtに対応する画像310を歪めることによって、フレームt+nに対応する外挿画像320を生成してもよい。ボール315の新しい位置は、決定された動きベクトル317に基づいて決定されてもよい。図3に示す例は、簡潔にするためにボール315のみの動きベクトル317を示している。通常、コンピューティングデバイス108は、画像内の複数のオブジェクトの動きベクトルを決定してもよい。本開示は、特定の方法で空間ワーピングパラメータを適用することを記載しているが、本開示は、任意の適切な方法で空間ワーピングパラメータを適用することを企図している。
特定の実施形態では、時間ワーピングパラメータは、頭部位置の変化に基づいて決定されてもよい。ユーザは、シーンを生成する時間インスタンスとシーンをユーザに表示する時間インスタンスとの間の期間中に自分の頭部を動かせてもよい。このような頭部の動きを補償することができないと、没入を中断させる場合がある。ユーザの頭部位置の変化を補償するために、コンピューティングデバイス108は、観察された頭部位置の変化に基づいて時間ワーピングパラメータを計算してもよい。計算された時間ワーピングパラメータを画像に適用する場合、コンピューティングデバイス108は、頭部位置の変化を調整するために画像をシフトしてもよい。図4Aおよび図4Bは、時間ワーピングパラメータを適用するための単純化された例を示している。限定ではなく一例として、コンピューティングデバイス108は、図4Aに示される時間インスタンスにおいて人工現実シーンを生成してもよい。ディスプレイ114を介してユーザ102に提示されるはずの画像410は、ユーザ102の現在の頭部位置に基づいてレンダリングされてもよい。図4Bは、画像がディスプレイ114上に提示される時間インスタンスを示している。人工現実シーンを生成する時間インスタンスと画像を提示する時間インスタンスとの間の期間中、ユーザは自分の頭部を角度θだけ回転させてもよい。このような頭部の動きを補償するために、コンピューティングデバイスは、頭部回転角度θに対応する量だけ画像410をシフトすることによって画像420を調整してもよい。本開示は、特定の方法で時間ワーピングパラメータを適用することを記載しているが、本開示は、任意の適切な方法で時間ワーピングパラメータを適用することを企図している。
特定の実施形態では、コンピューティングデバイス108は、決定された空間ワーピングパラメータおよび時間ワーピングパラメータに従って少なくとも第1の画像の領域を再投影することによって、第2のフレームに対応する予測画像を生成してもよい。限定ではなく一例として、図2に示す先の例を継続して、コンピューティングデバイス108は、第1の画像210のアウトセット233に対応する領域を再投影することによって、予測画像235を生成してもよい。予測画像235は、インセット231に対応する領域の画素情報を有していなくてもよい。特定の実施形態では、再投影された領域内で動いているオブジェクトは、決定された動きベクトルに基づいて予測画像235内に再配置されてもよい。特定の実施形態では、第1の画像がレンダリングされる時間インスタンスと第2のフレームが表示される時間インスタンスとの間のユーザの頭部位置の変化を調整するために、再投影された領域をシフトしてもよい。本開示は、特定の方法で、空間ワーピングパラメータおよび時間ワーピングパラメータに従って前のフレームに対応する画像の領域を再投影することによって予測画像を生成することを記載しているが、本開示は、任意の適切な方法で、空間ワーピングパラメータおよび時間ワーピングパラメータに従って前のフレームに対応する画像の領域を再投影することによって予測画像を生成することを企図している。
特定の実施形態では、コンピューティングデバイス108は、レンダリングされた暫定画像と予測画像とを合成することによって、第2のフレームに対応する第2の画像を生成してもよい。レンダリングされた暫定画像と予測画像とを合成することは、対応する時間ワーピングパラメータを暫定画像に適用することを含んでもよい。特定の実施形態では、レンダリングされた暫定画像と予測画像とを合成することは、対応する時間ワーピングパラメータを予測画像に適用することを含んでもよい。限定ではなく一例として、図2に示す先の例を継続して、コンピューティングデバイス108は、レンダリングされた暫定画像230と予測画像235とを合成することによってフレームt+nに対応する第2の画像240を生成してもよい。特定の実施形態では、合成の手順として、コンピューティングデバイス108は、計算された時間ワーピングパラメータを暫定画像230に適用してもよい。暫定画像230の時間ワーピングパラメータは、フレームt+nのシーンを生成する時間インスタンスと合成の時間インスタンスとの間の期間中のユーザの頭部の動きに基づいて計算されてもよい。特定の実施形態では、合成の別の手順として、コンピューティングデバイス108は、計算された時間ワーピングパラメータを予測画像235に適用してもよい。予測画像235の時間ワーピングパラメータは、フレームtのシーンを生成する時間インスタンスと合成の時間インスタンスとの間の期間中のユーザの頭部の動きに基づいて計算されてもよい。本開示は、特定の方法で、暫定画像と予測画像とを合成することによってフレームの画像を生成することを記載しているが、本開示は、任意の適切な方法で、暫定画像と予測画像とを合成することによってフレームの画像を生成することを企図している。
特定の実施形態では、暫定画像のレンダリングされた領域および予測画像の再投影された領域は、重複領域を有してもよい。暫定画像のレンダリングされた領域と予測画像の再投影された領域とには異なるワーピングパラメータが適用されるため、2つの画像を合成した後に2つの領域が完全に整列しない場合がある。この問題を軽減するために、コンピューティングデバイスは、2つの領域が重複領域を有してもよいように、暫定画像のレンダリングされた領域および予測画像の再投影された領域を決定してもよい。コンピューティングデバイス108は、レンダリングされた暫定画像と予測画像とを合成する間に、重複領域内の画素を混合してもよい。図5は、インセットとアウトセットとの間の例示的な重複領域を示している。限定ではなく一例として、コンピューティングデバイス108は、暫定画像と予測画像とを合成することによって画像500を生成してもよい。画像500のインセット503は、暫定画像からのものであってもよい。画像500のアウトセット505は、予測画像からのものであってもよい。インセット503およびアウトセット505は、重複領域507を有してもよい。コンピューティングデバイス108は、インセット503とアウトセット505との間のずれが最小限となるように、レンダリングされた暫定画像と予測画像とを合成する間に、重複領域507内の画素を混合してもよい。重複領域507内の画素を混合することはまた、様々な態様では、レンダリングされた暫定画像と予測画像との間の緩やかな変化を生み出す場合がある。様々な態様は、照明、仮想オブジェクトの動き、頭部の動きによる再投影エラー、またはレンダリングされた暫定画像と予測画像との間の任意の適切な差を含んでもよいが、これらに限定されない。本開示は、特定の方法で、レンダリングされた暫定画像と予測画像とを合成する間に重複領域内の画素を混合することを記載しているが、本開示は、任意の適切な方法で、レンダリングされた暫定画像と予測画像とを合成する間に重複領域内の画素を混合することを企図している。
特定の実施形態では、ビデオストリームは立体ビデオストリームであってもよい。コンピューティングデバイス108は、レンダリングされた暫定画像と予測画像とを目の間で合成することによって、ビデオストリームのフレームに対応する画像を交互に生成してもよい。コンピューティングデバイス108は、第1の目のフレームに対応する全体画像をレンダリングしてもよい一方で、コンピューティングデバイス108は、レンダリングされた暫定画像と予測画像とを合成することによって、第2の目のフレームに対応する画像を生成してもよい。第1の目の全体画像は、複数のサブ領域を含んでもよい。複数のサブ領域の各々は、対応する画素密度でレンダリングされてもよい。第2の目の画像を生成するために使用される予測画像は、前のフレームに対応する画像の領域を再投影することによって生成されてもよい。図6は、両目の例示的な時間的中心窩レンダリングを示している。図6は、フレームt、t+1、t+2およびt+3の左目用および右目用の目バッファーを示している。フレームtについて、コンピューティングデバイス108は、左目用の全体画像603をレンダリングしてもよい。レンダリングされた全体画像603は、各々が対応する画素密度でレンダリングされる複数のサブ領域を有してもよい。コンピューティングデバイス108は、暫定画像と予測画像とを合成することによって右目用の画像605を生成してもよい。コンピューティングデバイス108は、少なくともフレームtに対応する暫定画像の領域をレンダリングしてもよい。コンピューティングデバイス108は、少なくともフレームt-1に対応する画像の領域を再投影することによって予測画像を生成してもよい。フレームt-1は、図6には示されていない。フレームt+1について、コンピューティングデバイス108は、暫定画像と予測画像とを合成することによって左目用の画像613を生成してもよい。コンピューティングデバイス108は、少なくともフレームt+1に対応する暫定画像の領域をレンダリングしてもよい。コンピューティングデバイス108は、少なくともフレームtに対応する画像603の領域を再投影することによって予測画像を生成してもよい。コンピューティングデバイス108は、右目用の全体画像615をレンダリングしてもよい。レンダリングされた全体画像615は、各々が対応する画素密度でレンダリングされる複数のサブ領域を有してもよい。フレームt+2について、コンピューティングデバイス108は、左目用の全体画像623をレンダリングしてもよい。コンピューティングデバイス108は、暫定画像と、画像625の少なくともフレームt+1に対応する領域を再投影して生成された予測画像とを合成することによって、右目用の画像615を生成してもよい。フレームt+3について、コンピューティングデバイス108は、フレームt+3に対応する暫定画像と、少なくともフレームt+2に対応する画像633の領域を再投影することによって生成された予測画像とを合成することによって、左目用の画像623を生成してもよい。コンピューティングデバイス108は、右目用の全体画像635をレンダリングしてもよい。要約すると、コンピューティングデバイス108は、フレームに対して時間的中心窩レンダリング技術を使用して第2の目の画像を生成する間に、空間的中心窩レンダリング技術を使用して第1の目の画像をレンダリングしてもよい。後続のフレームについて、コンピューティングデバイスは、目ごとに中心窩レンダリング技術を交互に行ってもよい。本開示は、特定の方法で、複数のフレームにわたって目の時間的中心窩レンダリングを交互に行うことを記載しているが、本開示は、任意の適切な方法で、複数のフレームにわたって目の時間的な中心窩レンダリングを交互に行うことを企図している。
図7は、前のフレームに対応する画像からレンダリングされた領域と再投影された領域とを合成することによって、ビデオストリームのフレームに対応する画像を生成するための例示的な方法700を示している。本方法はステップ710で開始してもよく、ここで、コンピューティングデバイス108は、ビデオストリームの第1のフレームに対応する第1の画像にアクセスしてもよい。第1の画像は、完全な画素情報を有してもよい。ステップ720では、コンピューティングデバイス108は、第1のフレームの後のビデオストリームの第2のフレームに対応する暫定画像をレンダリングしてもよい。暫定画像は、完全な画素情報を含む第1の領域と、不完全な画素情報を含む第2の領域とを有してもよい。ステップ730では、コンピューティングデバイス108は、1つまたは複数のワーピングパラメータに従って少なくとも第1の画像の領域を再投影することによって、第2のフレームに対応する予測画像を生成してもよい。ステップ740では、コンピューティングデバイス108は、レンダリングされた暫定画像と予測画像とを合成することによって、第2のフレームに対応する第2の画像を生成してもよい。特定の実施形態は、適切な場合には、図7の方法の1つまたは複数のステップを繰り返してもよい。本開示では、図7の方法の特定のステップが特定の順序で発生するものとして説明および図示がなされているが、本開示は、図7の方法の任意の好適なステップが任意の好適な順序で発生することを想定している。さらに、本開示は、図7の方法の特定のステップを含む、前のフレームに対応する画像からレンダリングされた領域と再投影された領域とを合成することによってビデオストリームのフレームに対応する画像を生成するための例示的な方法を記載し、かつ図示しているが、本開示は、任意の適切なステップを含む、前のフレームに対応する画像からレンダリングされた領域と再投影された領域とを合成することによってビデオストリームのフレームに対応する画像を生成するための任意の適切な方法を企図しており、これは、適切な場合には、図7の方法のステップのすべてまたはいくつかを含んでもよく、あるいは一切を含まなくてもよい。さらに、本開示では、図7の方法の特定のステップを実行する特定の構成要素、デバイスまたはシステムの説明および図示がなされているが、本開示は、図7の方法の任意の好適なステップを実行する任意の好適な構成要素、デバイスまたはシステムの任意の好適な組合せを想定している。
システムおよび方法
図8は、例示的なコンピュータシステム800を示している。特定の実施形態では、1つまたは複数のコンピュータシステム800は、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施する。特定の実施形態では、1つまたは複数のコンピュータシステム800は、本明細書で説明または示される機能性を提供する。特定の実施形態では、1つまたは複数のコンピュータシステム800上で稼働しているソフトウェアは、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施するか、あるいは本明細書で説明または示される機能性を提供する。特定の実施形態は、1つまたは複数のコンピュータシステム800の1つまたは複数の部分を含む。本明細書では、コンピュータシステムへの言及は、適切な場合、コンピューティングデバイスを包含し得、その逆も同様である。その上、コンピュータシステムへの言及は、適切な場合、1つまたは複数のコンピュータシステムを包含し得る。
図8は、例示的なコンピュータシステム800を示している。特定の実施形態では、1つまたは複数のコンピュータシステム800は、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施する。特定の実施形態では、1つまたは複数のコンピュータシステム800は、本明細書で説明または示される機能性を提供する。特定の実施形態では、1つまたは複数のコンピュータシステム800上で稼働しているソフトウェアは、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施するか、あるいは本明細書で説明または示される機能性を提供する。特定の実施形態は、1つまたは複数のコンピュータシステム800の1つまたは複数の部分を含む。本明細書では、コンピュータシステムへの言及は、適切な場合、コンピューティングデバイスを包含し得、その逆も同様である。その上、コンピュータシステムへの言及は、適切な場合、1つまたは複数のコンピュータシステムを包含し得る。
本開示は、任意の好適な数のコンピュータシステム800を企図する。本開示は、任意の好適な物理的形態をとるコンピュータシステム800を企図する。限定としてではなく例として、コンピュータシステム800は、組込み型コンピュータシステム、システムオンチップ(SOC)、(たとえば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)などの)シングルボードコンピュータシステム(SBC)、デスクトップコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、拡張/仮想現実デバイス、あるいはこれらのうちの2つまたはそれ以上の組合せであってもよい。適切な場合、コンピュータシステム800は、1つまたは複数のコンピュータシステム800を含むか、単一または分散型であるか、複数の場所にわたるか、複数のマシンにわたるか、複数のデータセンタにわたるか、あるいは1つまたは複数のネットワーク内の1つまたは複数のクラウド構成要素を含んでもよいクラウド内に常駐してもよい。適切な場合、1つまたは複数のコンピュータシステム800は、実質的な空間的制限もしくは時間的制限なしに、本明細書に記載されるまたは図示される1つまたは複数の方法の1つまたは複数のステップを実施してもよい。限定ではなく、例として、1つまたは複数のコンピュータシステム800は、リアルタイムでまたはバッチモードで、本明細書に記載または図示される1つまたは複数の方法の1つもしくは複数のステップを実施してもよい。1つまたは複数のコンピュータシステム800は、適切な場合、異なる時間においてまたは異なる場所において、本明細書に記載または図示される1つまたは複数の方法の1つまたは複数のステップを実施してもよい。
特定の実施形態では、コンピュータシステム800は、プロセッサ802と、メモリ804と、記憶装置806と、入出力(I/O)インタフェース808と、通信インタフェース810と、バス812とを含む。本開示は、特定の配置において特定の数の特定の構成要素を有する特定のコンピュータシステムを説明し、示すが、本開示は、任意の好適な配置において任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータシステムを企図する。
特定の実施形態では、プロセッサ802は、コンピュータプログラムを作成する命令など、命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ802は、内部レジスタ、内部キャッシュ、メモリ804または記憶装置806から命令を取り出し(またはフェッチし)、それらの命令を復号して実行し、次いで、1つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ804または記憶装置806に書き込んでもよい。特定の実施形態では、プロセッサ802は、データ、命令またはアドレスのための1つまたは複数の内部キャッシュを含んでもよい。本開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ802を企図している。限定ではなく一例として、プロセッサ802は、1つまたは複数の命令キャッシュと、1つまたは複数のデータキャッシュと、1つまたは複数のトランスレーションルックアサイドバッファー(TLB)とを含んでもよい。命令キャッシュ内の命令は、メモリ804または記憶装置806内の命令のコピーであってもよく、命令キャッシュは、プロセッサ802によるそれらの命令の取出しを高速化してもよい。データキャッシュ内のデータは、プロセッサ802で実行される命令が動作する対象のメモリ804または記憶装置806内のデータのコピー、プロセッサ802で実行される後続の命令によるアクセスのための、またはメモリ804もしくは記憶装置806に書き込むための、プロセッサ802で実行された以前の命令の結果、あるいは他の好適なデータであってもよい。データキャッシュは、プロセッサ802による読取りまたは書込みの動作を高速化してもよい。TLBは、プロセッサ802のための仮想アドレストランスレーションを高速化してもよい。特定の実施形態では、プロセッサ802は、データ、命令またはアドレスのための1つまたは複数の内部レジスタを含んでもよい。本開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ802を想定している。適切な場合、プロセッサ802は、1つまたは複数の算術論理ユニット(ALU)を含むか、マルチコアプロセッサであるか、または1つまたは複数のプロセッサ802を含んでもよい。本開示は、特定のプロセッサを説明し、示すが、本開示は任意の好適なプロセッサを企図する。
特定の実施形態では、メモリ804は、プロセッサ802が実行するための命令、またはプロセッサ802が動作する対象のデータを記憶するためのメインメモリを含む。限定ではなく、例として、コンピュータシステム800は、記憶装置806または(たとえば、別のコンピュータシステム800などの)別のソースからメモリ804に命令をロードしてもよい。プロセッサ802は、次いで、命令をメモリ804から内部レジスタもしくは内部キャッシュにロードしてもよい。命令を実行するために、プロセッサ802は、命令を内部レジスタもしくは内部キャッシュから取り出し、それらの命令を復号してもよい。命令の実行中またはその後に、プロセッサ802は、(中間結果または最終結果であってもよい)1つまたは複数の結果を内部レジスタもしくは内部キャッシュに書き込んでもよい。プロセッサ802は、次いで、それらの結果のうちの1つまたは複数をメモリ804に書き込んでもよい。特定の実施形態では、プロセッサ802は、1つまたは複数の内部レジスタもしくは内部キャッシュ内の、あるいは(記憶装置806または他の場所とは対照的な)メモリ804内の命令のみを実行し、1つまたは複数の内部レジスタもしくは内部キャッシュ内の、あるいは(記憶装置806または他の場所とは対照的な)メモリ804内のデータのみに対して動作する。(アドレスバスおよびデータバスを各々が含んでもよい)1つまたは複数のメモリバスは、プロセッサ802をメモリ804に結合してもよい。バス812は、以下で説明されるように、1つまたは複数のメモリバスを含んでもよい。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU)は、プロセッサ802とメモリ804との間に常駐し、プロセッサ802によって要求されるメモリ804へのアクセスを容易にする。特定の実施形態では、メモリ804は、ランダムアクセスメモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であり得る。その上、適切な場合、このRAMは、シングルポートまたはマルチポートRAMであり得る。本開示は、任意の好適なRAMを企図する。メモリ804は、適切な場合、1つまたは複数のメモリ804を含んでもよい。本開示は、特定のメモリを説明し、示すが、本開示は任意の好適なメモリを企図する。
特定の実施形態では、記憶装置806は、データまたは命令のための大容量記憶装置を含む。限定ではなく、例として、記憶装置806は、ハードディスクドライブ(HDD)、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサルシリアルバス(USB)ドライブ、あるいはこれらのうちの2つまたはそれ以上の組合せを含んでもよい。記憶装置806は、適切な場合、取外し可能な媒体または取外し不可能な(または固定された)媒体を含んでもよい。記憶装置806は、適切な場合、コンピュータシステム800の内部または外部にあってもよい。特定の実施形態では、記憶装置806は、不揮発性ソリッドステートメモリである。特定の実施形態では、記憶装置806は、読取り専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、またはフラッシュメモリ、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。本開示は、任意の好適な物理的形態をとる大容量記憶装置806を企図する。記憶装置806は、適切な場合、プロセッサ802と記憶装置806との間の通信を容易にする1つまたは複数の記憶装置制御ユニットを含んでもよい。適切な場合、記憶装置806は、1つまたは複数の記憶装置806を含んでもよい。本開示は、特定のストレージを説明し、示すが、本開示は任意の好適なストレージを企図する。
特定の実施形態では、I/Oインタフェース808は、コンピュータシステム800と1つまたは複数のI/Oデバイスとの間の通信のための1つまたは複数のインタフェースを提供する、ハードウェア、ソフトウェアまたはその両方を含む。コンピュータシステム800は、適切な場合、これらのI/Oデバイスのうちの1つまたは複数を含んでもよい。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータシステム800との間の通信を可能にしてもよい。限定としてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカー、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なI/Oデバイス、またはこれらのうちの2つまたはそれ以上の組合せを含み得る。I/Oデバイスは1つまたは複数のセンサーを含み得る。本開示は、任意の好適なI/Oデバイスと、それらのI/Oデバイスのための任意の好適なI/Oインタフェース808とを企図する。適切な場合、I/Oインタフェース808は、プロセッサ802がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイスまたはソフトウェアドライバを含んでもよい。I/Oインタフェース808は、適切な場合、1つまたは複数のI/Oインタフェース808を含んでもよい。本開示は、特定のI/Oインタフェースを説明し、示すが、本開示は任意の好適なI/Oインタフェースを企図する。
特定の実施形態では、通信インタフェース810は、コンピュータシステム800と、1つまたは複数の他のコンピュータシステム800もしくは1つまたは複数のネットワークとの間の(たとえば、パケットベース通信などの)通信のための1つまたは複数のインタフェースを提供する、ハードウェア、ソフトウェアまたはその両方を含む。限定ではなく、例として、通信インタフェース810は、イーサネットまたは他の有線ベースのネットワークと通信するためのネットワークインタフェースコントローラ(NIC)もしくはネットワークアダプタ、または、WI-FIネットワークなどの無線ネットワークと通信するための無線NIC(WNIC)もしくは無線アダプタを含んでよい。本開示は、任意の好適なネットワークと、そのネットワークのための任意の好適な通信インタフェース810とを企図する。限定ではなく、例として、コンピュータシステム800は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットの1つまたは複数の部分、あるいはこれらのうちの2つまたはそれ以上の組合せと通信してもよい。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、ワイヤードまたはワイヤレスであり得る。一例として、コンピュータシステム800は、(たとえば、BLUETOOTH WPANなどの)ワイヤレスPAN(WPAN)、WI-FIネットワーク、WI-MAXネットワーク、(たとえば、モバイル通信用グローバルシステム(GSM)ネットワークなどの)セルラー電話ネットワーク、または他の好適なワイヤレスネットワーク、あるいはこれらのうちの2つまたはそれ以上の組合せと通信してもよい。コンピュータシステム800は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インタフェース810を含んでもよい。通信インタフェース810は、適切な場合、1つまたは複数の通信インタフェース810を含んでもよい。本開示は、特定の通信インタフェースを説明し、示すが、本開示は任意の好適な通信インタフェースを企図する。
特定の実施形態では、バス812は、コンピュータシステム800の構成要素を互いに結合する、ハードウェア、ソフトウェアまたはその両方を含む。限定ではなく、例として、バス812は、アクセラレーテッドグラフィックスポート(AGP)または他のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、HYPERTRANSPORT(HT)相互接続、業界標準アーキテクチャ(ISA)バス、INFINIBAND相互接続、ローピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺構成要素相互接続(PCI)バス、PCI-Express(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクス規格協会ローカル(VLB)バス、または別の好適なバス、あるいはこれらのうちの2つまたはそれ以上の組合せを含んでもよい。バス812は、適切な場合、1つまたは複数のバス812を含んでもよい。本開示は、特定のバスを説明し、示すが、本開示は任意の好適なバスまたは相互接続を企図する。
本明細書では、1つまたは複数のコンピュータ可読非一時的記憶媒体は、適切な場合、(たとえば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向けIC(ASIC)などの)1つまたは複数の半導体ベースまたは他の集積回路(IC)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスケット、フロッピーディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、セキュアデジタルカードまたはドライブ、任意の他の好適なコンピュータ可読非一時的記憶媒体、あるいはこれらのうちの2つまたはそれ以上の任意の好適な組合せを含み得る。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性との組合せであり得る。
その他
本明細書では、「または」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、包括的であり、排他的ではない。したがって、本明細書では、「AまたはB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「A、B、またはその両方」を意味する。その上、「および」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、共同と個別の両方である。したがって、本明細書では、「AおよびB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「共同でまたは個別に、AおよびB」を意味する。
本明細書では、「または」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、包括的であり、排他的ではない。したがって、本明細書では、「AまたはB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「A、B、またはその両方」を意味する。その上、「および」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、共同と個別の両方である。したがって、本明細書では、「AおよびB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「共同でまたは個別に、AおよびB」を意味する。
本開示の範囲は、当業者が理解するであろう、本明細書で説明または示される例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または示される例示的な実施形態に限定されない。その上、本開示は、本明細書のそれぞれの実施形態を、特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして説明し、示すが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書のどこかに説明または示される構成要素、要素、特徴、機能、動作、またはステップのうちのいずれかの任意の組合せまたは置換を含み得る。さらに、特定の機能を実施するように適応されるか、配置されるか、実施することが可能であるか、実施するように構成されるか、実施することが可能にされるか、実施するように動作可能であるか、または実施するように動作する、装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲における参照は、その装置、システム、または構成要素が、そのように適応されるか、配置されるか、可能であるか、構成されるか、可能にされるか、動作可能であるか、または動作する限り、その装置、システム、構成要素またはその特定の機能が、アクティブにされるか、オンにされるか、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。さらに、本開示は、特定の実施形態を、特定の利点を提供するものとして説明するかまたは示すが、特定の実施形態は、これらの利点のいずれをも提供しないか、いくつかを提供するか、またはすべてを提供し得る。
Claims (15)
- 方法であって、コンピューティングシステムによって、
ビデオストリームの第1のフレームに対応する、完全な画素情報を有する第1の画像にアクセスすることと、
前記第1のフレームの後の前記ビデオストリームの第2のフレームに対応する暫定画像をレンダリングすることであって、前記暫定画像が完全な画素情報を含む第1の領域と不完全な画素情報を含む第2の領域とを有する、暫定画像をレンダリングすることと、
1つまたは複数のワーピングパラメータに従って少なくとも前記第1の画像の領域を再投影することによって、前記第2のフレームに対応する予測画像を生成することと、
レンダリングされた前記暫定画像と前記予測画像とを合成することによって、前記第2のフレームに対応する第2の画像を生成することと
を含む、方法。 - レンダリングされた前記暫定画像と前記予測画像とを合成することが、時間ワーピングパラメータを前記暫定画像に適用することを含み、時間ワーピングパラメータを画像に適用することが、頭部位置の変化を調整するために前記画像をシフトすることを含む、請求項1に記載の方法。
- 前記1つまたは複数のワーピングパラメータが、空間ワーピングパラメータと時間ワーピングパラメータとを含む、請求項1に記載の方法。
- 前記空間ワーピングパラメータが、前記第1の画像の再投影された前記領域内の動きベクトルに基づいて決定され、前記動きベクトルが、前のフレームに対応する画像に基づいて決定される、請求項3に記載の方法。
- 前記空間ワーピングパラメータを適用することが、前記再投影された領域内で動いているオブジェクトが決定された前記動きベクトルを使用して再配置されるように、前記第1の画像の前記再投影された領域を歪めることを含む、請求項4に記載の方法。
- 前記動きベクトルを決定することがオプティカルフローに基づく、請求項4に記載の方法。
- 前記空間ワーピングパラメータを決定することが、グラフィックス処理装置(GPU)とは別個のハードウェアエンコーダ上で実行される、請求項4に記載の方法。
- 前記暫定画像内のレンダリングされた領域および前記予測画像の再投影された領域が重複領域を有する、請求項1に記載の方法。
- レンダリングされた前記暫定画像と前記予測画像とを合成することが、前記重複領域内の画素を混合することを含む、請求項8に記載の方法。
- 前記暫定画像の前記第1の領域が、前記ビデオストリームの前記第2のフレームに対するユーザの視野の中央領域を含む、請求項1に記載の方法。
- a)前記暫定画像の前記第1の領域が画像の所定の領域を含むこと、または
b)前記暫定画像の前記第2の領域がレンダリングされないこと、または
c)前記暫定画像の前記第2の領域が、前記第1の領域の画素密度よりも低い画素密度でレンダリングされること、または
d)前記第1の画像が複数のサブ領域を含み、前記サブ領域の画素密度が互いに異なること、
のうちのいずれか1つである、請求項1に記載の方法。 - 前記ビデオストリームが立体ビデオストリームであり、前記第1の画像および前記第2の画像がユーザの目に対応し、ここで、任意には、レンダリングされた前記暫定画像と前記予測画像とを合成することによって前記ビデオストリームのフレームに対応する画像を生成することが両目の間で交互に行われ、第1の目のフレームに対応する全体画像がレンダリングされる一方で、レンダリングされた前記暫定画像と前記予測画像とを合成することによって第2の目のフレームに対応する画像が生成される、請求項1に記載の方法。
- ソフトウェアを具現化する1つまたは複数のコンピュータ可読非一時的記憶媒体であって、
ビデオストリームの第1のフレームに対応する、完全な画素情報を有する第1の画像にアクセスすることと、
前記第1のフレームの後の前記ビデオストリームの第2のフレームに対応する暫定画像をレンダリングすることであって、前記暫定画像が完全な画素情報を含む第1の領域と不完全な画素情報を含む第2の領域とを有する、暫定画像をレンダリングすることと、
1つまたは複数のワーピングパラメータに従って少なくとも前記第1の画像の領域を再投影することによって、前記第2のフレームに対応する予測画像を生成することと、
レンダリングされた前記暫定画像と前記予測画像とを合成することによって、前記第2のフレームに対応する第2の画像を生成することと
を行うように実行された場合に動作可能な、媒体。 - a)レンダリングされた前記暫定画像と前記予測画像とを合成することが、時間ワーピングパラメータを前記暫定画像に適用することを含み、前記時間ワーピングパラメータを画像に適用することが、頭部位置の変化を調整するために前記画像をシフトすることを含むこと、または
b)前記1つまたは複数のワーピングパラメータが、空間ワーピングパラメータと時間ワーピングパラメータとを含むこと
のうちのいずれか1つである、請求項13に記載の媒体。 - システムであって、1つまたは複数のプロセッサと、前記プロセッサによって実行可能な命令を含む前記プロセッサに結合された非一時的メモリとを備え、前記プロセッサが、
ビデオストリームの第1のフレームに対応する、完全な画素情報を有する第1の画像にアクセスすることと、
前記第1のフレームの後の前記ビデオストリームの第2のフレームに対応する暫定画像をレンダリングすることであって、前記暫定画像が完全な画素情報を含む第1の領域と不完全な画素情報を含む第2の領域とを有する、暫定画像をレンダリングすることと、
1つまたは複数のワーピングパラメータに従って少なくとも前記第1の画像の領域を再投影することによって、前記第2のフレームに対応する予測画像を生成することと、
レンダリングされた前記暫定画像と前記予測画像とを合成することによって、前記第2のフレームに対応する第2の画像を生成することと
を行うように前記命令が実行された場合に動作可能である、システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/132,228 | 2020-12-23 | ||
US17/132,228 US20220201271A1 (en) | 2020-12-23 | 2020-12-23 | Temporal foveated rendering |
PCT/US2021/058129 WO2022139963A1 (en) | 2020-12-23 | 2021-11-04 | Temporal foveated rendering |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024502273A true JP2024502273A (ja) | 2024-01-18 |
Family
ID=78822493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023538783A Pending JP2024502273A (ja) | 2020-12-23 | 2021-11-04 | 時間的中心窩レンダリング |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220201271A1 (ja) |
EP (1) | EP4268450A1 (ja) |
JP (1) | JP2024502273A (ja) |
CN (1) | CN116686010A (ja) |
WO (1) | WO2022139963A1 (ja) |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6266443B1 (en) * | 1998-12-22 | 2001-07-24 | Mitsubishi Electric Research Laboratories, Inc. | Object boundary detection using a constrained viterbi search |
GB201305402D0 (en) * | 2013-03-25 | 2013-05-08 | Sony Comp Entertainment Europe | Head mountable display |
KR20160139461A (ko) * | 2015-05-27 | 2016-12-07 | 엘지전자 주식회사 | 헤드 마운티드 디스플레이 및 그 제어 방법 |
US10198612B1 (en) * | 2015-07-29 | 2019-02-05 | Morphotrust Usa, Llc | System and method for scaling biometric images |
US10121221B2 (en) * | 2016-01-18 | 2018-11-06 | Advanced Micro Devices, Inc. | Method and apparatus to accelerate rendering of graphics images |
CN108139815B (zh) * | 2016-02-22 | 2020-11-10 | 谷歌有限责任公司 | 用于虚拟现实内容的显示的场景和对象的分立时间扭曲 |
US10664949B2 (en) * | 2016-04-22 | 2020-05-26 | Intel Corporation | Eye contact correction in real time using machine learning |
CN108604391B (zh) * | 2016-05-29 | 2022-06-14 | 谷歌有限责任公司 | 基于虚拟/增强现实系统中的深度信息的时间扭曲调整 |
US10068553B2 (en) * | 2016-09-12 | 2018-09-04 | Intel Corporation | Enhanced rendering by a wearable display attached to a tethered computer |
US10110914B1 (en) * | 2016-09-15 | 2018-10-23 | Google Llc | Locally adaptive warped motion compensation in video coding |
US10379611B2 (en) * | 2016-09-16 | 2019-08-13 | Intel Corporation | Virtual reality/augmented reality apparatus and method |
US10698482B2 (en) * | 2016-12-01 | 2020-06-30 | Varjo Technologies Oy | Gaze tracking using non-circular lights |
US10043318B2 (en) * | 2016-12-09 | 2018-08-07 | Qualcomm Incorporated | Display synchronized image warping |
US10560680B2 (en) * | 2017-01-28 | 2020-02-11 | Microsoft Technology Licensing, Llc | Virtual reality with interactive streaming video and likelihood-based foveation |
US10152822B2 (en) * | 2017-04-01 | 2018-12-11 | Intel Corporation | Motion biased foveated renderer |
US10187607B1 (en) * | 2017-04-04 | 2019-01-22 | Gopro, Inc. | Systems and methods for using a variable capture frame rate for video capture |
US10602033B2 (en) * | 2017-05-02 | 2020-03-24 | Varjo Technologies Oy | Display apparatus and method using image renderers and optical combiners |
US10885607B2 (en) * | 2017-06-01 | 2021-01-05 | Qualcomm Incorporated | Storage for foveated rendering |
EP3646604A1 (en) * | 2017-06-30 | 2020-05-06 | VID SCALE, Inc. | Weighted to spherically uniform psnr for 360-degree video quality evaluation using cubemap-based projections |
US10779011B2 (en) * | 2017-07-31 | 2020-09-15 | Qualcomm Incorporated | Error concealment in virtual reality system |
US10152775B1 (en) * | 2017-08-08 | 2018-12-11 | Rockwell Collins, Inc. | Low latency mixed reality head wearable device |
US10742966B2 (en) * | 2017-11-16 | 2020-08-11 | Htc Corporation | Method, system and recording medium for adaptive interleaved image warping |
US11112613B2 (en) * | 2017-12-18 | 2021-09-07 | Facebook Technologies, Llc | Integrated augmented reality head-mounted display for pupil steering |
US10488917B2 (en) * | 2018-02-17 | 2019-11-26 | Varjo Technologies Oy | Gaze-tracking system and method of tracking user's gaze using reflective element |
US11064387B1 (en) * | 2018-05-23 | 2021-07-13 | Apple Inc. | Adaptive wireless transmission schemes |
ES2938535T3 (es) * | 2018-07-20 | 2023-04-12 | Tobii Ab | Representación foveada distribuida basada en la mirada del usuario |
US10706631B2 (en) * | 2018-10-31 | 2020-07-07 | Advanced Micro Devices, Inc. | Image generation based on brain activity monitoring |
US11030719B2 (en) * | 2019-01-22 | 2021-06-08 | Varjo Technologies Oy | Imaging unit, display apparatus and method of displaying |
US10771774B1 (en) * | 2019-03-22 | 2020-09-08 | Varjo Technologies Oy | Display apparatus and method of producing images having spatially-variable angular resolutions |
US11120591B2 (en) * | 2019-05-31 | 2021-09-14 | Apple Inc. | Variable rasterization rate |
US10712817B1 (en) * | 2019-06-27 | 2020-07-14 | Tobii Ab | Image re-projection for foveated rendering |
US10997954B2 (en) * | 2019-07-24 | 2021-05-04 | Qualcomm Incorporated | Foveated rendering using variable framerates |
US11307655B2 (en) * | 2019-09-19 | 2022-04-19 | Ati Technologies Ulc | Multi-stream foveal display transport |
US11410331B2 (en) * | 2019-10-03 | 2022-08-09 | Facebook Technologies, Llc | Systems and methods for video communication using a virtual camera |
US11269406B1 (en) * | 2019-10-24 | 2022-03-08 | Facebook Technologies, Llc | Systems and methods for calibrating eye tracking |
US20210192681A1 (en) * | 2019-12-18 | 2021-06-24 | Ati Technologies Ulc | Frame reprojection for virtual reality and augmented reality |
US11363247B2 (en) * | 2020-02-14 | 2022-06-14 | Valve Corporation | Motion smoothing in a distributed system |
-
2020
- 2020-12-23 US US17/132,228 patent/US20220201271A1/en active Pending
-
2021
- 2021-11-04 JP JP2023538783A patent/JP2024502273A/ja active Pending
- 2021-11-04 WO PCT/US2021/058129 patent/WO2022139963A1/en active Application Filing
- 2021-11-04 EP EP21820377.6A patent/EP4268450A1/en active Pending
- 2021-11-04 CN CN202180090085.5A patent/CN116686010A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN116686010A (zh) | 2023-09-01 |
US20220201271A1 (en) | 2022-06-23 |
WO2022139963A1 (en) | 2022-06-30 |
EP4268450A1 (en) | 2023-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11719933B2 (en) | Hand-locked rendering of virtual objects in artificial reality | |
CN106856010B (zh) | 渲染图像方法、视网膜凹式渲染系统和集成电路制造系统 | |
US11170577B2 (en) | Generating and modifying representations of objects in an augmented-reality or virtual-reality scene | |
US11954805B2 (en) | Occlusion of virtual objects in augmented reality by physical objects | |
US11734808B2 (en) | Generating a composite image | |
TW202320022A (zh) | 合成器層外推 | |
JP2024502273A (ja) | 時間的中心窩レンダリング | |
US11423520B2 (en) | Distortion-corrected rasterization | |
US11640699B2 (en) | Temporal approximation of trilinear filtering | |
US11783533B2 (en) | Frame extrapolation with application generated motion vector and depth | |
US20230136662A1 (en) | Parallax Asynchronous Spacewarp for Multiple Frame Extrapolation | |
TW202316239A (zh) | 具有應用程式產生的移動向量和深度之圖框外插 | |
US20220122285A1 (en) | Visual inertial odometry localization using sparse sensors | |
CN115661408A (zh) | 在人工现实环境中生成和修改手的表示 |