JP6959366B2 - フォービエイテッド(中心窩)レンダリングシステムのための時間的スーパーサンプリング - Google Patents

フォービエイテッド(中心窩)レンダリングシステムのための時間的スーパーサンプリング Download PDF

Info

Publication number
JP6959366B2
JP6959366B2 JP2019568069A JP2019568069A JP6959366B2 JP 6959366 B2 JP6959366 B2 JP 6959366B2 JP 2019568069 A JP2019568069 A JP 2019568069A JP 2019568069 A JP2019568069 A JP 2019568069A JP 6959366 B2 JP6959366 B2 JP 6959366B2
Authority
JP
Japan
Prior art keywords
pixels
resolution
display
sampling
high resolution
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.)
Active
Application number
JP2019568069A
Other languages
English (en)
Other versions
JP2020523688A (ja
Inventor
ヤング、アンドリュー
ホー、クリス
スタフォード、ジェフリー、ロジャー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Publication of JP2020523688A publication Critical patent/JP2020523688A/ja
Application granted granted Critical
Publication of JP6959366B2 publication Critical patent/JP6959366B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/001Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/391Resolution modifying circuits, e.g. variable screen formats
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/02Addressing, scanning or driving the display screen or processing steps related thereto
    • G09G2310/0232Special driving of display border areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0428Gradation resolution change
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/08Power processing, i.e. workload management for processors involved in display operations, such as CPUs or GPUs
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/18Use of a frame buffer in a display terminal, inclusive of the display panel
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/42Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of patterns using a display memory without fixed position correspondence between the display memory contents and the display position on the screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Description

本開示は、一般的に、ヘッドマウントディスプレイ(HMD)を通して提供される仮想現実(VR)コンテンツのフォービエイテッドレンダリングビューに関し、より詳細には、時間的スーパーサンプリングを利用して、フォービエイテッドレンダリングビュー内の一定の領域で高解像度のピクセルを生成する方法及びシステムに関する。
ヘッドマウントディスプレイ(HMD)を通して提示される仮想現実(VR)は、消費者が様々な種類のコンテンツとインタラクトする方法としてますます人気が高くなっている。VRコンテンツを生成するVRアプリケーションが、より高い解像度の画像でより複雑にレンダリングされるようになっているので、これらのVRシーンをサポートするのに必要な計算、ネットワーク、及び、メモリのコストが、それに関連して高くなっている。例えば、画像解像度が向上すると、関連するグラフィックスパイプラインは、VRアプリケーションによって生成された幾何学的データからピクセルデータを生産することに関連してより多数の動作を行う必要がある。同様に、VRアプリケーションを実行するのに必要な幾何学的データ及びピクセルデータの記憶に必要なメモリ量も比例的に増加し得る。さらに、VRアプリケーションが、ネットワーク接続(例えば、有線または無線)を介してHMDと通信するコンピューティングシステム上で実行される場合、ネットワーク接続を介して送信する必要のあるデータ量も増加する。
結果として、計算的及びグラフィック的に要求の厳しいVRアプリケーションを実行する時、ボトルネックが生じる場合が多い。ボトルネックの結果、フレームレート(フレーム毎秒)の低下、待ち時間またはラグの増加、解像度の低下、及び、エイリアシングの増加が生じ得る。これらは全て、全体としてのユーザ体験を損なう。VRアプリケーション実行に関連する計算、メモリ、及び、ネットワークのコストを低減する一定の試みは、低い解像度、ピクセル化、視覚的アーチファクト等を有するVRシーンを生じ、これは、VR体験に悪影響を及ぼす。
実施形態は、この文脈で生じる。
本開示の実施形態は、VRシーンのアンダーサンプリングされた領域に表示するために、時間的スーパーサンプリングを使用して、高解像度ピクセルの再構成を可能にする方法及びシステムを提供する。一実施形態においては、低解像度のサンプリング領域から高解像度ピクセルを再構成する方法を提供する。方法は、ラスタライザからフラグメントを受信する動作を提供する。方法は、複数の明度を取得するために、複数の前のフレームにわたって低解像度のサンプリング領域を有するフラグメントに時間的スーパーサンプリングを適用する動作も含む。ある実施形態によると、方法は、時間的スーパーサンプリングを用いて取得された複数の明度に基づいて、バッファで複数の高解像度ピクセルを再構成する動作も含んでよい。さらに、方法は、ディスプレイに表示するために、複数の高解像度ピクセルをバッファから送信する動作も含む。従って、提供された方法は、通常、高解像度の画像のレンダリングに伴う大量の、時には、法外な量のメモリ使用を必要とすることなく、表示のために送信された高解像度の画像をレンダリングできる。結果として、方法は、より低いメモリ使用を維持しながら、VRシーンに関連する画像解像度を向上させることができる技術的課題への1つの解決法を提供する。
別の実施形態においては、グラフィックスシステムは、低解像度のサンプリング領域を含む複数の前のフレームに時間的スーパーサンプリングを適用するためのグラフィックス処理ユニット(GPU)を含み、ここで、時間的スーパーサンプリングは、複数の明度を取得する。グラフィックスシステムは、GPUによってレンダリングされた複数の前のフレームを記憶するためのフレームバッファと、表示バッファとを含み、表示バッファにおいて、複数の高解像度ピクセルが、前のフレームの時間的スーパーサンプリングによって取得された複数の明度に基づいて、再構成される。複数の高解像度ピクセルは、ディスプレイに提示するために構成される。
別の実施形態においては、プロセッサベースのシステムによって実行可能なコンピュータプログラムを記憶する非一時的コンピュータ可読記憶媒体は、ラスタライザからフラグメントを受信するプログラム命令を含み、フラグメントは、低解像度のサンプリング領域と関連付けられている。実施形態は、複数の明度を取得するために複数の前のフレームにわたってフラグメントに時間的スーパーサンプリングを適用するプログラム命令をさらに含む。低解像度のサンプリング領域に関連付けられた複数の高解像度ピクセルをバッファで再構成するためのプログラム命令も実施形態において提供され、複数の高解像度ピクセルは、時間的スーパーサンプリングによって取得された複数の明度に基づく。さらに、実施形態は、ディスプレイに提示するために、複数の高解像度ピクセルをバッファから送信するプログラム命令を提供する。
開示の他の態様は、例を挙げて本開示の原理を説明する以下の詳細な記載を、図面と併せて読むことでより明らかになろう。
本開示は、添付図面と併せて以下の記載を参照することにより最もよく理解されよう。
様々な実施形態による、2つの解像度を有する仮想現実(VR)コンテンツをヘッドマウントディスプレイ(HMD)のユーザに提示する図を示す。 同上
ある実施形態による、中心窩領域、中間中心窩領域、及び、周辺領域を有するVRコンテンツをHMDユーザに提示する図を示す。 同上
フォービエイテッドレンダリングビューの様々な実施形態を示す。 同上 同上 同上 同上 同上 同上 同上
ある実施形態による、フォービエイテッドレンダリングビューによって規定される多重解像度ディスプレイまたは画面と、関連する相対的ピクセルサイズの拡大図とを示す。
幾つかの実施形態による、中心窩領域、中間中心窩領域、及び、周辺領域を有するフォービエイテッドレンダリングビューによって規定される画面と、低解像度の周辺領域に高解像度ピクセルを再構成する概念図とを示す。
様々な実施形態による、バッファに記憶された幾つかのフレームにわたってピクセル再投影を伴う時間的スーパーサンプリングを用いて、低解像度のサンプリングエリアから高解像度ピクセルセットを再構成する概念図を示す。
一実施形態による、高解像度のサンプリング領域を用いて、高解像度ピクセルを出力する概念図を示す。
一実施形態による、低解像度のサンプリング領域を用いて、低解像度ピクセルを出力する概念図を示す。
一実施形態による、時間的スーパーサンプリングを通して低解像度のサンプリング領域を用いて静止した物体に関して高解像度ピクセルを出力する概念図を示す。
一実施形態による、時間的スーパーサンプリングを通して低解像度のサンプリング領域を用いて動的物体に関する高解像度ピクセルを出力する概念図を示す。
規則的なサンプリングパターンを有する時間的スーパーサンプリングを利用することによって、サンプリングに使用された低解像度ピクセルから高解像度ピクセルを生成する概念モデルを示す。
疑似ランダムサンプリングパターンを有する時間的スーパーサンプリングを利用することによって、サンプリングに使用された低解像度ピクセルから高解像度ピクセルを生成する概念モデルを示す。
16フレームにわたる時間的スーパーサンプリング中に使用された低解像度のサンプリングエリアから16個の高解像度ピクセルのセットを再構成する実施形態を示す。
高解像度ピクセルの数より少ない数のフレームにわたる時間的スーパーサンプリング中に使用された低解像度のサンプリング領域から16個の高解像度ピクセルのセットを再構成する実施形態を示す。
複数の前のフレームにわたる時間的スーパーサンプリングを通して取得された明度を用いて、低解像度のサンプリング領域から高解像度ピクセルの再構成を可能にする方法の全体のフローを示す。
提示の方法及び/またはシステムと共に使用されてよいヘッドマウントディスプレイ(HMD)の追加の実施形態を示す。
本明細書に記載の様々な実施形態を実施するのに使用されてよいコンピューティングシステム1600の図である。
以下の実施形態は、低解像度のサンプリングエリアを時間的スーパーサンプリングすることによって、低解像度のサンプリングエリアに関連付けられたVRシーン内の領域の最終的に表示される解像度を高くする方法、コンピュータプログラム、及び、装置を記載する。しかしながら、これらの特定の詳細の一部または全てが無くても、本開示を実践し得ることは当業者には明らかである。他の例においては、周知のプロセスの動作は、本開示を不必要にあいまいにしないために、詳細には記載しなかった。
HMDによって提供される仮想現実(VR)環境は、消費者がコンテンツとインタラクトするために、また、コンテンツクリエイタがコンテンツを消費者に届けるために、ますます人気のある媒体となっている。さらに、VRシーンは、より複雑になり、より高い解像度で表示されるようになっているので、それに関連して、計算、メモリ、及び、ネットワークのコストも高くなっている。結果として、HMDを介して表示されるVRシーンのコンピュータグラフィックスレンダリング及びアンチエイリアシングの現在の方法を改良することは、計算、メモリ、及び、ネットワークのリソースと、エンドユーザのVR体験との両方に関して利益がある。
本明細書に記載の特定のVRシーンをレンダリングする計算、メモリ、及び、ネットワークのコスト(及び、関連する待ち時間)を低減する一つの方法は、フォービエイテッドレンダリングビューを用いてVRシーンを表示することである。一実施形態によると、フォービエイテッドレンダリングは、他のエリアより高い解像度、品質、詳細度、鮮明さ、フレームレート等で表示されるディスプレイ内のエリアを規定してよい。これらの実施形態及び他の実施形態によると、高い解像度(または、高い品質、詳細度、鮮明さ、フレームレート)を有するエリアは、中心窩領域または中心窩エリアと呼ばれてよく、一般に、ユーザが見ている、または、視線を向けている所と相関する。さらに、高いレベルの解像度を有さないエリアは、周辺領域または周辺エリアと呼ばれてよく、一般に、ユーザが視線を向けていない所と相関してよい。従って、フォービエイテッドレンダリングビュー及び/またはシステムは、ユーザ体験に悪影響を及ぼさずに、VRシーンのレンダリングに関連する計算、メモリ、及び、ネットワークのコストを低減できる技術的課題に対する1つの解決法を表す。
低解像度でレンダリングされた領域(例えば、周辺領域)に関しては、この低解像度エリアをレンダリングするためにメモリに記憶する必要のあるピクセル量及び/またはフラグメントデータは、それに対応して低減される。例えば、シーン内の所与のエリアの解像度が、4分の1に低減される場合、シーン内のそのエリアの各ビデオフレームのピクセルデータの記憶に必要なメモリ量は、それに比例して、約4分の1に低減される。ある実施形態によると、低解像度でレンダリングされる領域(例えば、周辺領域)は、これらの領域が少ない頻度でサンプリングされるので、アンダーサンプリング領域としても知られてよい。
上記のように、所与のシーンに関して各ビデオフレームのレンダリングに使用されるメモリ量を低減することは、メモリ速度が一般的に中央処理ユニット(CPU)またはグラフィックス処理ユニット(GPU)等のプロセッサの速度に追いつかないので、VRシステムにとって有益である。従って、メモリ使用を低く抑えることによって、また、コヒーレントメモリアクセスを維持することによって、フォービエイテッドレンダリングビュー内の周辺領域(複数可)の解像度を低減することは、既存のVRシステムにとっての1つの改良である。例えば、本明細書に記載のフォービエイテッドレンダリングシステムから生じる改良点の1つは、インタラクティブなVRシーンのレンダリングに関する待ち時間またはラグの改善を含んでよく、これは、現在、平均的なHMDユーザが気付き得る。
しかしながら、所与のコンピュータ生成シーンに関して解像度が低下すると、低解像度によるアーチファクトの頻度及び程度が、ギザギザの縁または線(「ジャギー」)、ピクセル化、及び、他の視覚的アーチファクトの形で増加し得る。これらの低解像度領域がフォービエイテッドレンダリングビュー内の周辺領域(例えば、ユーザの周辺視野)に限られる場合でさえ、HMDユーザは、これらの領域の解像度の低下によるある種のエイリアシングを依然として識別できる。人間の周辺視野は、一般的に中心視覚よりも解像度が低いが、それにもかかわらず、ある種の視覚的な不一致またはパターンの検出に敏感であることは、関連分野で既知である。例えば、解像度を十分に低下させる場合、ユーザの周辺視野は、ピクセル化された領域、ギザギザの縁、ちらつき、及び、他の形態のエイリアシングもしくはアーチファクトの存在または出現を検出できる。従って、ディスプレイの周辺領域において比較的低解像度のレンダリングを行うことによって達成されるようにメモリ使用を低く抑えながら、フォービエイテッドレンダリングシステム及び/またはビュー内の低解像度領域に関連するエイリアシングも低減するという両方のニーズがある。
本明細書に記載のシステム、方法、及び、装置は、低解像度領域に関連するメモリ使用量の低減を維持しながら、これらの低解像度領域のピクセル化及びエイリアシングの程度を低減するフォービエイテッドレンダリングシステム及び/またはビューを可能にする。一実施形態においては、システムまたは方法は、低解像度のサンプリング領域に対して時間的スーパーサンプリングを使用して、特定の数の過去のフレームにわたって低解像度ピクセル内の異なる位置でサンプリングを行って、表示のために高解像度ピクセルを作成する。時間的スーパーサンプリングは、時間によって分割された幾つかのフレームからサンプリングされる幾つかのピクセル値を記録する。幾つかの実施形態によると、(例えば、ビデオRAM内)の1つのバッファを使用して、これらのピクセル値を経時的に蓄積してよいことに注意されたい。これらの実施形態は、データの複数のバッファ(フレーム)を維持する必要が無いという長所を有する。従って、低解像度のサンプリングエリア(例えば、アンダーサンプリング領域、または、周辺領域)に時間的スーパーサンプリングを使用することは、例えば、メモリ使用の大幅な増加を必要とせずに、低解像度エリアのピクセル化及びエイリアシングの問題を解決するのに実施し得る1つの技術的解決法を提供する。
幾つかの実施形態に関して、中心窩領域は、ディスプレイに対して固定または静止していてよい。このような実施形態においては、中心窩領域は、画面またはディスプレイの中心に向かって位置してよい。他の実施形態においては、中心窩領域は、画面またはディスプレイに対して動的に配置されてよい。例えば、幾つかの実施形態においては、中心窩領域は、所定の方法で、または、ソフトウェアによってプログラムされるように、ディスプレイまたは画面内で移動するように規定されてよい。他の実施形態においては、動的な中心窩領域は、ユーザの注視点(POG)または視線の方向を追跡またはそれに従ってよい。結果として、ユーザのPOGに対応するディスプレイ内のエリアは、ユーザの視覚体験を必ずしも損なうことなく、ユーザのPOGから離れたエリアよりも高い品質、詳細度、及び/または、鮮明さで、レンダリングされてよい。
幾つかの実施形態においては、周辺領域は、中心窩領域が位置しない所という観点から、画面またはディスプレイ内に、フォービエイテッドレンダリングによって規定される。例えば、中心窩領域が、ディスプレイの中心に向かって位置する場合、周辺領域(複数可)は、ディスプレイの周辺(または、少なくともその一部)に向かうディスプレイの残りの部分を占めることになる。中心窩領域がディスプレイの異なる領域の方に移動する場合、周辺領域(複数可)は、中心窩領域が現在占めているディスプレイの残りを埋めることになる。
図1A及び図1Bは、HMDユーザ101が2つの解像度R及びRを有するVR環境104内の仮想現実(VR)コンテンツを提示されていることを示す。図1Aに示す実施形態によると、HMDユーザ101は、ほぼまっすぐ前に向いた視線102を有することが示されている。すなわち、HMDユーザ101は、水平方向に360度を含み得るVR環境104内をまっすぐ見ていることが示されている。
図1A及び図1Bに示す実施形態によると、HMDユーザ101の視線は、HMDユーザ101が着用しているHMD/コンピューティングシステム103内にある視線方向検出構成要素(図示せず)によって追跡されている。幾つかの実施形態においては、視線情報は、ユーザの眼の画像を撮影するHMD内にあるカメラを用いて取得されてよい。次に、画像を分析して、ユーザの注視点または視線の方向(例えば、ユーザが現在、見ている所)を決定してよい。結果として、HMDユーザ101の視線102に関するリアルタイムの情報を有するHMD/コンピューティングシステム103は、HMDユーザ101の視線102と整列した中心窩領域106を提供できる。例えば、中心窩領域106は、HMDユーザ101に対してHMDユーザ101の視線102と類似した方向にあるVR環境104内に配置されることが示されている。さらに、中心窩領域106は、Rの解像度を有することが示されている。
図1Aには、周辺領域108も示されている。上記のように、周辺領域108は、幾つかの実施形態によると、中心窩領域と一致しないディスプレイまたは視野内の領域としてフォービエイテッドレンダリング方法またはシステムによって規定されてよい。例えば、周辺領域(複数可)は、中心窩領域の外側にあってよい。または、中心窩領域を取り囲んでよい。または、中心窩領域と関連付けられていないディスプレイの残りの空間/ピクセルを埋めてよい。さらに、中心窩でない領域は、中心窩より低い解像度、品質、詳細度、鮮明さ、フレームレート等によって規定されてよい。
従って、ある実施形態によると、周辺領域108は、HMDユーザ101に表示されるが、HMD/コンピューティングデバイス103が検出するHMDユーザ101の視線102に対応していないVR環境104の領域を含んでよい。結果として、周辺領域108は、解像度Rとは異なる解像度RでHMDユーザ101に表示されてよい。
幾つかの実施形態によると、所与のVRシーンに関して、解像度Rは、Rより高くてよい。これらの実施形態においては、中心窩領域106は、HMDユーザ101の視覚的体験を必ずしも損なうことなく、周辺領域108より高い解像度のレンダリングを提供されてよい。一般的には、人間の視覚系は、人間の注視点に対して水平方向に約5度、垂直方向に約5度に関連付けられた領域内でのみ、より細部まで認識できる。視野のこの領域は、網膜内の中心窩と呼ばれる領域に投影される。ユーザの中心方向または注視点からの角距離が増加すると、視力(例えば、細部を認識する能力)は急激に低下する。この生理現象を本明細書では中心窩固視(foveation)と呼ぶ。
フォービエイテッドレンダリングは、1つまたは複数の領域(例えば、中心窩領域)を他の領域より高い解像度レベル、詳細度、テクスチャレベル、及び/または、鮮明さレベルによって規定する表示のためのグラフィックスのレンダリング、ポストレンダリング、及び/または、処理の構成、フォーマット、及び、パラダイムを提供することによって、中心窩固視の現象を活用する。幾つかの実施形態によると、中心窩領域は、ユーザが現在見ている、または、見ると予測されるディスプレイの領域に対応するように構成される。他の実施形態においては、中心窩領域は、静止した状態で、ユーザがかなり長い時間、見ているディスプレイの中心領域に配置されてよい。また、上記のように、フォービエイテッドレンダリングは、ユーザが注視していないまたは注視すると予測されないディスプレイの領域に対応する周辺領域(複数可)を規定してよい。
本明細書で企図された実施形態は、フォービエイテッドレンダリング表示設定を使用して、ユーザの中心窩固視(例えば、ユーザの中心窩上に投影する視線の中心及びそれを囲む域)下の視野に関連付けられたディスプレイの領域内に、より高い品質(例えば、解像度、詳細度(LOD)、鮮明さ、フレームレート)のコンテンツをレンダリング及び/または表示することによって、中心窩固視の生理現象を利用することができる。さらに、本明細書で企図された実施形態はユーザの視線の中心に関連付けられていないディスプレイの領域(例えば、ユーザの周辺視野域)に低い品質を有するコンテンツを表示することができる。結果として、全ディスプレイまたは画面に最大品質またはフル解像度でレンダリングすることに比較して、フォービエイテッドレンダリング下では、所与のシーンの一部のみが、高品質または高解像度で表示されるようにレンダリング及び/または処理されてよい。
フォービエイテッドレンダリングの技術的利点の1つは、ディスプレイ全体(例えば、ディスプレイ上の全てのピクセル)に最大品質(例えば、高い解像度、鮮明さ、詳細度、フレームレート等)で所与のシーンをレンダリング及び届けることに関連する計算及びビデオ送信のコストを低減する能力である。ビデオ送信コストは、有線システム(例えば、高精細マルチメディアインタフェース(HMD)及び/またはディスプレイポートの実施形態)と無線システムの両方の場合に存在する。高い解像度及び/または品質で、全ディスプレイの一部(例えば、20〜50%、5〜75%、25〜40%)をレンダリングすることによって、計算リソース(例えば、GPU、CPU、クラウドコンピューティングのリソース)及び(例えば、コンピューティングデバイスからHMD、または、HMDからコンピューティングデバイスへデータを送信する、及び/または、一体化したHMD/コンピューティングデバイスからリモートサーバにデータを送信する)ビデオ送信リソースを低減してよく、そのリソースを他の用途に割り当ててよい。
他の実施形態によると、HMD/コンピューティングデバイスに関連付けられたGPUが、所与のシーンに関してフル解像度のビデオフレームを計算する場合でさえ、フォービエイテッドレンダリング方法及び/またはシステムは、HMDにシーンを表示するために必要なデータ量の低減を可能にし得る。例えば、GPUが、HMDに無線で接続されたコンピューティングデバイスに関連付けられている場合、本明細書に記載のフォービエイテッドレンダリング方法及び/またはシステムは、シーンのある領域を提示するためにコンピューティングデバイスからHMDに送信される無線データの量の低減を可能にしてよい。
図1Aに示す実施形態によると、中心窩領域106は、表示された、または、視聴可能な全エリアの約30%を表す。中心窩領域106は、明瞭にするために長方形で示しているが、中心窩領域106は、実施形態の趣旨及び範囲を逸脱せずに、任意の数の形をとってよいことに注意されたい。図3A〜3Fを参照して企図した実施形態の一部を以下に記載する。ここでも、中心窩領域106は、表示可能または視聴可能な全エリアの30%を表すとして示されているが、中心窩領域106は、他の実施形態においては、表示可能または視聴可能な全エリアの5%から75%の間のどこであってもよい。
一実施形態においては、VRシーンの少なくともある期間、周辺領域108は、中心窩領域106の解像度Rより低い解像度Rを有してよいと企図されている。例えば、Rが1920x1080ピクセル(例えば、1080p)に相当する場合、Rは、960x540ピクセル(例えば、540p)、または、縦のピクセル数の約半分と横のピクセル数の約半分に相当してよい。結果として、1080(p)の解像度Rを有する中心窩領域106は、約2.074メガピクセルに相当する画像解像度に関連付けられてよい。対照的に、540(p)の解像度Rを有する周辺領域108は、約0.518メガピクセルに相当する画像解像度に関連付けられてよく、解像度Rに対して約0.25倍の画像解像度の違いを示す。
他の実施形態によると、中心窩領域106は、3840x2160p(4K UHD)の解像度Rに関連付けられてよく、周辺領域108は、4K UHDより低い解像度R、例えば、1080(p)、540(p)、360(p)、240(p)等に関連付けられてよいと企図される。本明細書に提示された方法及びシステムによる他の実施形態で使用されてよい任意の数の他の解像度がある。制限ではない例として、中心窩領域106は、2160x1200(または、片方の眼毎に1080x1200)、1280x720(HD)、1600x900(HD+)、1920x1080(FHD)、2560x1440((W)QHD)、3200x1800(QHD+)、3840x2160(4K UHD)、5120x2880(5K UHD+)、7680x4320(8K UHD)、16K等の解像度を特徴とする解像度Rを有してよいと企図される。本明細書に記載する解像度の例は、範囲を定めるものでも網羅的なものでもなく、単に、ある実施形態で使用されてよいある標準を説明するために提供されている。
ある実施形態によると、解像度Rは、Rより低い任意の解像度であることを特徴としてよい。制限ではない例として、Rは、320x240(240p)、640x360(nHD、360p)、960x540(qHD、540p)、1280x720(HD、720p)、1600x900(HD+)等の解像度であることを特徴としてよい。R及びRは、様々な実施形態に応じて、VRシーンの途中で、及び/または、異なるVRシーン間で変化してよいことが企図されている。ここでも、記載されている解像度は、単に例のためであって、様々な実施形態で実施されてよい様々な他の解像度を、標準的なものもそうでないものも、制限はしない。
図1Bは、HMDユーザ101が、VR環境104内の周辺領域114の左手上部の隅に向かって視線110を向けているのを示している。幾つかの実施形態によると、視線110は、HMD/コンピューティングデバイス103によって検出され、HMD/コンピューティングデバイス103は、次に、視線110に対応する位置にVR環境内の中心窩領域112を提供できる。すなわち、視線110が、HMD/コンピューティングデバイス103によってリアルタイムで追跡され、結果として、HMD/コンピューティングデバイス103は、中心窩領域112が視線110に関連付けられた視線の中心と同じ方向にあるように、VR環境をフォービエイトする場所を決定できる。従って、図1Aの視線102と図1Bの視線110との間の変化を自然に追跡またはたどる図1Aの中心窩領域106の位置から図1Bの中心窩領域112に関連付けられた新しい位置への遷移がある。
ユーザの視線の方向を追跡する動的中心窩領域を有するある実施形態を示したが、他の実施形態は、ユーザの視線の方向を追跡しない固定した中心窩領域を含んでよい。
図2Aは、HMDユーザ101が、中心窩領域204、中間中心窩領域206、及び、周辺領域208を有するVR環境210内にVRコンテンツを提示されていることを示す。幾つかの実施形態は、中間中心窩領域206の解像度Rより大きい解像度Rを有する中心窩領域204を有してよいと企図されている。さらに、幾つかの実施形態によると、解像度Rは周辺領域208の解像度Rより高いと企図されている。また、図1A及び1Bに示す実施形態と同様、中心窩領域204は、HMDユーザ101の瞬間的な視線202に一致するVR環境210内の領域を示すとして図2Aに示されている。しかしながら、上記のように、他の実施形態は、中心窩領域204及び中間中心窩領域206がディスプレイエリアに対して固定されており、ユーザの視線の方向を追跡する必要が無いフォービエイテッドレンダリングを実施してよい。
図2Aに示す実施形態によると、中間中心窩領域206は、一般に、VR環境210内で中心窩領域204が占める領域を囲む。結果として、中間中心窩領域206は、中心視線から約5度から約60度離れた角距離(偏心度)に関連付けられたVR環境210内の領域に一致し得る。視野のこの空間(例えば、中間中心窩領域)と関連付けられた視力は、周辺領域(中心窩領域の視力より低いが、視線方向の中心に対して約60度より大きい偏心度を有する)の視力よりは高くてよい。結果として、本明細書に記載の方法及びシステムは、中心窩領域204の解像度と周辺領域208の解像度の間の解像度を有する中間中心窩領域206を提供できる。
一実施形態によると、中心窩領域204は、1080pを特徴とする解像度Rを有してよく、中間中心窩領域206は、720pを特徴とする解像度Rを有してよく、周辺領域208は、540pを特徴とする。これらの解像度は、例に過ぎず、中心窩領域204が、例えば、4K、8K、16K等のより高い解像度であってよいことが想定される。これらの他の実施形態において、中間中心窩領域206は、中心窩領域204の解像度より低い解像度を有してよく、周辺領域208は、中間中心窩領域206の解像度より低い解像度を有する。
中間中心窩領域206は、中心窩領域204と周辺領域208との間のVR環境210内の空間を占めることも企図されている。中間中心窩領域206と周辺領域208とは、HMDユーザ101の視線202を追跡もしくは視線202に従う、または、VR環境210内の中心窩領域204を追跡するもしくは中心窩領域204に従うことも企図されている。すなわち、中間中心窩領域204及び周辺領域208は、リアルタイムで中心窩領域204と共に移動するように、または、中心窩領域204と共に移動して見えるように、VR環境210内で位置を変えることもできる。
図2Bは、HMDユーザ101が、図2Aのほぼまっすぐ前を向いた視線202から、VR環境210の左手上部の隅に向けられた視線203に変わったことを示す。幾つかの実施形態によると、視線203は、視線検出を用いてHMD/コンピューティングシステム103によって追跡され、結果として、HMD/コンピューティングシステム103は、視線203が向けられているのと類似した方向に中心窩領域212を配置できる。HMD/コンピューティングシステム103は、中心窩領域212が占める領域を取り囲むVR環境210内の位置に、中間中心窩領域214を提供することもできる。
上記のように、中心窩領域212は、HMDユーザ101の視野の約5〜75%、または、VR環境210内の表示可能な全空間の5〜75%に対応するように構成されてよい。さらに、中間中心窩領域214は、様々な実施形態に応じて、例えば、HMDユーザ101の視野の他の約5〜50%、または、VR環境210の視聴可能な全エリアの約5〜50%に対応してよい。周辺領域216は、結果として、全視野、及び/または、視聴可能なエリアの全エリアの40〜90%の間のどこにでも対応してよい。しかしながら、中心窩領域212、中間中心窩領域214、及び、周辺領域216のそれぞれに割り当てられた視野、及び/または、VR環境210の視聴可能なエリアの割合は、様々な実施形態に応じて、VRシーン内で、または、異なるVRシーン間で変わってよいと企図されている。
図3A〜3Hは、フォービエイテッドレンダリングビューの様々な実施形態を示す。例えば、図3Aは、円形の境界線を特徴とする中心窩領域を有するフォービエイテッドレンダリング表示を示す。図3Bは、本明細書に記載の方法及びシステムと共に使用されてよい、楕円形または長楕円形または卵形を特徴とする中心窩領域を有するフォービエイテッドレンダリングビューを示す。さらに、図3Cは、中心窩領域が丸い角部を有する長方形であるフォービエイテッドレンダリング構成の実施形態を示す。
図3D及び3Eは、円形の中心窩領域を有するフォービエイテッドレンダリングビューの実施形態を示す。図3Dは、さらに、中心窩領域の外側で、中心窩領域と周辺領域(複数可)との間にある、同じく円形の中間中心窩領域を示す、さらに、図3Eは、入れ子状態に配置された2つの中間中心窩領域を示す。一般的に、様々な実施形態と共に任意の数の中間中心窩領域を利用してよく、各連続した中間中心窩領域は、中心窩領域から離れるほど、その領域に関連付けられた品質(例えば、解像度、鮮明さ、詳細度、フレームレート、リフレッシュ速度)が漸進的に低下すると企図されている。中間中心窩領域は、フォービエイテッドレンダリング表示内で所与の中心窩領域と類似の形に示されているが、この類似性は、他の実施形態においては、そうである必要はないと企図されている。例えば、図3D及び3Eの中間中心窩領域は、円形以外の形を特徴としてよい。
図3Fは、ボックスで区切られた動的中心窩領域を有するフォービエイテッドレンダリングビュー及び/または表示の実施形態を示す。これらの実施形態及び他の実施形態においては、ユーザの視線が、境界ボックスを特徴とする一定のエリア内にある限り、中心窩領域が、HMDユーザの視線方向と一致する表示及び/またはビューのエリア内に示されるように、中心窩領域はユーザの視線を追跡してよい。結果として、中心窩領域は、境界ボックスの外にユーザの視線が移動するまで、視線を追跡してよい。幾つかの実施形態によると、中心窩領域は、境界ボックスの外側にある視線を、他の位置より視線に近いと判断される境界ボックス内の位置に変えることによって、依然として追跡するように試みてよい。当然、図3A〜3Fに示す幾何学的形状及び形状は、例示を目的としており、制限のためではない。例えば、本明細書に記載の方法及びシステムによると、正方形、台形、菱形、及び、他の多角形を含む、任意の数の他の形状または境界を使用して、中心窩領域及び/または中間中心窩領域を規定してよい。
一般的には、図3A〜3Eに示す各実施形態は、表示及び/またはビューに対して「固定」された中心窩領域、または、各フォービエイテッドレンダリングビュー及び/または表示を見ている時、ユーザの視線を動的に追跡する中心窩領域を有してよい。例えば、ある種のVRコンテンツに関しては、HMDユーザは、VRセッションの大半の間、まっすぐ前を向いていると予測される場合があり得る。結果として、ある実施形態は、VR環境の表示及び/またはビューに対して固定のフォービエイテッドレンダリングビュー及び/または表示を使用してよい。
図3Gは、本明細書に記載の方法及びシステムによる、フォービエイテッドレンダリングを用いて生成されたVRシーン300を示す。フォービエイテッドレンダリングは、中心窩領域302と、幾つかの中間中心窩領域304〜310を生成する。中間中心窩領域304〜310の数は、図3Gにおいては、任意であり、各中間中心窩領域は、中間中心窩領域が中心窩領域から離れて表示されるほど連続的に解像度が低下する。例えば、中間中心窩領域306は、1から100の間の数の追加の中間中心窩領域を含んでよい。
図3Hは、表示領域の解像度と、表示領域の中心窩領域または注視点からの距離との様々な例示的な関係を記載する。例えば、曲線312は、中心窩領域と周辺領域とのみを有するフォービエイテッドレンダリング表示を表してよい。曲線314は、解像度と中心窩領域からの距離との間に放物線状の関係を有するフォービエイテッドレンダリング表示を表す。曲線316は、中心窩領域からの距離が増加するほど解像度が低下するステップ関数を表す。さらに、曲線318は、解像度と中心窩領域からの距離との間に、線形の関係、曲線320は、S字形の関係を表す。結果として、本明細書で企図されるフォービエイテッドレンダリングシステムは、各中間中心窩領域が、さらに、中心窩領域から除かれるので、様々な解像度を有する任意の数の中間中心窩領域をレンダリングすることができる。
図4は、ある実施形態による、フォービエイテッドレンダリングビュー400によって規定されるディスプレイまたは画面と、関連する相対的ピクセルサイズの拡大図408とを示す。例えば、フォービエイテッドレンダリングビュー400は、解像度Rを有する中心窩領域402と、解像度Rを有する中間中心窩領域404と、解像度Rを有する周辺領域406とを含むとして示されている。各領域402、404、及び、406の解像度は、一般的に、解像度R>R>Rの関係を有するが、他の関係も可能であると企図されている。
3つの領域402〜406の拡大図408は、中心窩領域のピクセル410、中間中心窩領域のピクセル412、及び、周辺領域のピクセル410の相対的なピクセルサイズを含むことを示している。上記のように、中心窩領域402の解像度Rは、中間領域404の解像度Rより高くてよく、結果として、中心窩領域のピクセル410は、中間中心窩領域のピクセル412よりサイズが小さくなる。図4の実施形態においては、ほんの一例として、中間領域のピクセル412は、領域のピクセル410の約4倍のサイズであると示されている。すなわち、中間中心窩領域のピクセル412は、中心窩領域のピクセル410の4個と同じ量の画面/ディスプレイエリアを占めてよい、または、埋めてよい。従って、例えば、中心窩領域のピクセル410が、ネイティブ解像度のピクセルに対応する場合、中間領域の各ピクセル412は、ネイティブピクセルの4個に関連付けられてよい。
幾つかの実施形態によると、中間領域のピクセル412が、2つ以上(例えば、4、9、16、または、任意の他の数)のネイティブ/物理的ピクセルを含み得る、または、関連付けられ得る場合でさえ、中間領域のピクセル412は、依然として、レンダリングプロセスの少なくとも一部に関して、グラフィックスパイプラインによって1つのピクセルとして扱われるので、1つの(より解像度の低い)ピクセルと呼ばれてよい。例えば、VRシステムのグラフィックスパイプラインは、レンダリングするフレーム毎のピクセル412に関して1つの明度のみを記憶してよい。VRシステムが、その後、ピクセル412の表示に進むと、ピクセル412の記憶された明度を、4つのネイティブピクセルのそれぞれに、マッピングまたは投影してよい。結果として、「低解像度ピクセル」または「大きいピクセル」は、レンダリングされたフレーム毎に1つの明度のみと関連付けられることによって(例えば、グラフィックスパイプラインによって)1つのピクセルとして扱われるが、最終的には、(HMDに関連付けられた)ディスプレイ上で2つ以上のネイティブまたは物理的ピクセルにマッピングまたは投影する最終的なビューの要素を指して本明細書では使用されてよい。
図4には周辺ピクセル414がさらに描画されており、周辺ピクセル414は、中間ピクセル412よりさらに低い解像度であることが示されている。例えば、周辺ピクセル414は、中間ピクセル412のサイズの4倍、中心窩ピクセル410のサイズの16倍で示されている。結果として、周辺ピクセル414は、16個のネイティブピクセルを含んでよく、中心窩ピクセル414は、2つ以上のピクセルに投影しながら、フレーム毎に記憶された1つの明度のみを有する1つのピクセルとして扱われるので、低解像度ピクセルまたは大きいピクセルと考えられてもよい。
図5は、中心窩領域と周辺領域とを有するフォービエイテッドレンダリングビューによって規定される代表的なディスプレイ500を示す。中心窩領域は、ディスプレイ500のネイティブピクセルに対応し得る代表的なピクセル配列502を含むことが示されている。周辺領域(複数可)は、例えば、それぞれ、4つのネイティブピクセルに関連付けられてよい低解像度ピクセル504の配列を含むことが示されている。図示の実施形態によると、フレームNの高解像度の各ピクセル506a、506b、506c、及び、506dは、時間バッファ510に記憶されたフレームNの対応するピクセルデータ508a、508b、508c、及び、508dから描画される。
本明細書に記載の実施形態のある態様は、時間バッファに記憶された低解像度ピクセルデータからの低解像度ピクセルに関連付けられたピクセルを描画することによって、「低解像度の」ピクセルを高解像度でレンダリングすることを可能にする。例えば、低解像度ピクセル512は、ネイティブピクセル514a、514b、514c、及び、514dを含むとして示されており、各ネイティブピクセルは、異なるフレームに対して記憶された低解像度ピクセル値から描画される。詳細には、ネイティブピクセル514aは、ピクセルデータ516aから描画され、ピクセルデータ516aは、低解像度ピクセルの上部左隅におけるジッタリング及びサンプリングによって取得されたフレームNの低解像度ピクセル512のピクセル値である。
ネイティブピクセル514bは、ピクセルデータ516bから描画されることが示されており、ピクセルデータ516bは、同じ低解像度ピクセル512であるが、前のフレーム(N−1)の異なるジッタリングされた位置(例えば、右上隅)からのピクセル値を含む。さらに、ネイティブピクセル514cは、ピクセルデータ516cから描画され、ピクセルデータ516cは、フレームN−2の異なるジッタ位置(例えば、左下隅)から取得されたピクセル値を含む。さらに、ネイティブピクセル514bは、フレームN−3の右下のジッタリングされた位置でサンプリングされたピクセル値を含むピクセルデータ516dから描画されることが示されている。
結果として、各フレームに対して記憶することが必要なピクセル値の数を必ずしも増やすこと無く、ジッタリングされた前のフレームの時間バッファに記憶されたピクセルデータ516a〜516dに従ってネイティブピクセル514a〜514dを描画することによって、高解像度の表示出力が、低解像度ピクセル512に関して達成されてよい。例えば、低解像度ピクセル512のフレームN、N−1、N−2、及び、N−3のそれぞれに対して記憶された明度が1つだけある。対照的に、フレームNの高解像度ピクセル506a〜506dのグループ1つに対して記憶された4つのピクセル値(そして、おそらく、フレームN−1、N−2、及び、N−3のそれぞれに対して4つ以上のピクセル値等)がある。
すなわち、4つの高解像度ピクセル506a〜506dのグループに対して、フレーム毎に必要なピクセル値の数は、4つのピクセル値である。対照的に、低解像度ピクセル512に関連付けられた4つのピクセル514a〜514dのグループは、高解像度ピクセル506a〜506dのグループと「同じ解像度」であるが、1つのピクセル値または色が時間バッファにフレーム毎に記憶されることだけを必要とする。従って、本明細書に記載の実施形態は、フレーム毎に時間バッファ510に記憶されたピクセル値の数を増やす必要無く(例えば、メモリ使用量を増やすこと無く)低解像度ピクセル領域に高解像度ピクセルを表示及び/または構築することを可能にする。ある実施形態によると、時間バッファに記憶された時間で規定された低解像度ピクセルデータからネイティブピクセル514a〜514dを描画するプロセスは、時間的スーパーサンプリングを利用して、低解像度ピクセルの異なる位置をサンプリングしてよい。
図6は、様々な実施形態による、低解像度ピクセル600の時間的スーパーサンプリング601と、低解像度ピクセル600の時間的スーパーサンプリング履歴からのピクセル再投影とを用いて、低解像度ピクセル600から高解像度ピクセルセットを作成する概念図を示す。例えば、低解像度ピクセル600は、4つの高解像度ピクセルに対応する4つの領域に格子状に区切られるとして示されている。物体602の時間的スーパーサンプリング601中、低解像度ピクセル600は、4つのフレームN、N−1、N−2、及び、N−3のそれぞれに関して異なる位置でサンプリングされるのが示されている。明瞭にするために、図示の実施形態において、サンプリング位置は、低解像度ピクセル600の各格子領域の中心となっている。
様々な実施形態によると、物体602のサンプリングされたピクセル604は、フレームNの低解像度ピクセル600の左上領域内にサンプル位置を有し、フレームNは、メモリに記憶され、後に対応する高解像度ピクセル612に投影されるピクセル値を戻す。従って、図示の実施形態によると、物体602のサンプリングされたピクセル604は、背景色(例えば、白)に対応するピクセル値を戻してよい。同様に、フレームN−1のサンプリングされたピクセル606は、物体602の色に対応する明度を戻してよい。結果として、関連付けられたグラフィックスパイプラインは、サンプリングされた明度(例えば、図に示す灰色)を右上の高解像度ピクセル614に投影してよい。同じプロセスが、フレームN−2及びN−3に対して繰り返されてよく、ここで、サンプリングされたピクセル608は、サンプリングされた各明度を左下の高解像度ピクセル616に投影するようになされ、サンプリングされたピクセル610は、サンプリングされた各明度を右下の高解像度ピクセル618に投影するように構成される。
ある実施形態によると、サンプリングされたピクセル604〜610からサンプリングされたピクセル値の投影は、ジッタサンプリング位置と、サンプリングされた位置に対応する画面座標またはピクセル座標とに関する情報を有することによって可能になる。例えば、本明細書に記載の実施形態に対応したVRシステムのグラフィックスパイプラインは、所与のサンプル位置のジッタに関する情報と、対応する画面座標またはピクセル座標に関する情報とに基づいて、サンプリングされた各明度をどこに投影するかを決定してよい。
一実施形態においては、時間的アンチエイリアシング再投影を使用して、図6に示す再投影を行ってよい。例えば、ある実施形態においては、以下の例示の方程式を使用してよい。
世界空間位置=現在のビュー投影の逆数*画面位置 (1)
前の画面位置=現在のビュー投影*世界空間位置 (2)
uv=1/2*(前の画面位置.xy/現在の画面位置.w)+1/2 (3)
ある実施形態によると、上記方程式(1)〜(3)を使用して、時間バッファに記憶された前のフレームをサンプリングしてよい。例えば、方程式(1)は、現在のピクセルを世界空間に戻すマッピングを可能にする。方程式(2)は、前のフレームのカメラ(ビュー投影行列)を使用して、その位置を前のフレームに投影し、方程式(3)は、前の画面位置を時間バッファの前のフレームのサンプリングに使用し得るuv座標に変換する。結果として、関連するグラフィックスパイプラインは、前のフレーム(例えば、フレームN−1、N−2、N−3等)のサンプルすべき箇所を知る。例えば、図6の破線は、前の各フレームに関してサンプリングすべき位置を決定するために導出したuv座標を用いた再投影を表してよい。詳細には、再投影620は、フレームNのサンプリングされたピクセル604とフレームN−1のサンプリングされたピクセル606との間でサンプリング位置に変化(例えば、x方向に0.5ピクセル)を生じ得る。同様に、再投影622及び624は、サンプリングされたピクセル606と608との間のサンプリング位置の変化(例えば、x方向に−0.5ピクセル、y方向に−0.5ピクセル)、サンプリングされたピクセル608と610との間サンプリング位置の変化(例えば、x方向に+0.5ピクセル)を生じさせるuv座標のジッタを引き起こす。ある実施形態によると、サンプリング位置は、ジッタによって規定されてよい。
図7は、一実施形態による、複数のフレーム700にわたる物体702のサンプリング706のために高解像度ピクセル704のグループを用いた4つの高解像度ピクセル712のセットを出力する概念図を示す。図示の実施形態においては、複数のフレーム700(例えば、N、N−1、・・・、N−7)にわたって静止したままの物体702がある。高解像度ピクセル704のセットは、物体702のサンプリング706のために各高解像度ピクセル704の中心に対応する位置でサンプリングされることが示される。サンプリング706中にサンプリングされた位置は、それぞれ、メモリに記憶される明度を生じる。例えば、サンプリング706中、各高解像度ピクセル704にサンプリング位置が存在するので、フレーム毎に高解像度ピクセル704のグループに関して4つの明度708が記憶される。
図7には、複数のフレーム700のそれぞれに関して4つの高解像度ピクセル704のそれぞれのサンプリングされた明度710も示されている。明瞭にするために、物体702は、黒色に対応してよく、結果として、4つの高解像度ピクセル704のうちの2つのサンプリングされた明度710は、黒に対応する明度を戻してよい。残りの2つの高解像度ピクセルは、白に対応する明度を戻してよい。結果として生じる色出力/レンダリングされた画像712は、高解像度ピクセル704のセットのサンプリングされた明度710を反映し、それに応じて、ヘッドマウントディスプレイ(HMD)内の関連付けられた画面に表示されてよい。幾つかの実施形態によると、高解像度ピクセル704のセットの色出力712は、ネイティブピクセルに対応してよく、ディスプレイの中心窩領域にマッピングされてよい。
図8は、複数のフレーム800にわたって低解像度ピクセル804を用いて物体802をレンダリングする概念図を示す。物体802は、複数のフレーム800にわたって静止して示されている。低解像度ピクセル804は、図8の高解像度ピクセルのサイズの約4倍で示されている。例えば、各高解像度ピクセル704が、HMDのディスプレイのネイティブピクセルに対応する場合、低解像度ピクセル804は、ネイティブピクセルの4つを含んでよい。
サンプリング806中、低解像度ピクセル804が、各フレームで低解像度ピクセル804の中心でサンプリングされ、フレーム毎に1つの記憶される明度808を生じることが示されている。低解像度ピクセル804全体のサンプリングされた明度810(例えば、黒)が、低解像度ピクセル804を用いた物体802のサンプリング806から生じることが示されている。複数のフレーム800の出力色/レンダリングされた画像812は、サンプリングされた明度810を反映するとして示されている。例えば、出力色/レンダリングされた画像812は、黒一色を含む「大きいピクセル」であることが示されている。幾つかの実施形態によると、出力色/レンダリングされた画像812は、低解像度に関連付けられたHMDディスプレイの周辺領域(複数可)にマッピングされてよい。
図9は、低解像度ピクセル904と比較して高い解像度を有する色出力/レンダリングされた画像914を可能にするために、低解像度ピクセル904の時間的スーパーサンプリング906と再投影912とを用いる概念図を示す。図7及び8と同様、物体902は、複数のフレーム900(フレームN、N−1、・・・、N−7)にわたって静止しているのが示されている。また、図8の低解像度ピクセル804と同様に、低解像度ピクセル904が、物体902のレンダリングに使用されるのが示されている。しかしながら、各フレームに関して低解像度ピクセル804の中心でサンプリングされた図8で使用したサンプリング806とは違って、図9に示す時間的スーパーサンプリング906は、複数のフレーム900の4つのフレームの期間、各フレームの異なる位置でサンプリングすることが示されている。
例えば、時間的スーパーサンプリング906は、サンプリングされた低解像度ピクセル916aが、フレームN−7の低解像度ピクセル904の左上隅のサンプリング位置を有するように指示してよい。次のフレームN−6に関して、時間的スーパーサンプリング906は、サンプリングされる低解像度ピクセル918aの右上象限にあるサンプル位置を規定してよい。次のフレームN−5及びN−4に関して、サンプリング位置は、それぞれ、サンプリングされる低解像度ピクセル920aの左下象限と、サンプリングされる低解像度ピクセル922aの右下象限にあることが示される。図に示したサンプリング位置のパターンは、次の4つのフレームN−3〜Nにわたってサンプリングされる低解像度ピクセル924a〜930aに対して繰り返されることが示されている。
図示の実施形態によると、サンプリングされる低解像度ピクセル916a〜930aのそれぞれに対する時間的スーパーサンプリング906は、複数のフレーム900の各フレームに対して1つの明度908だけを記憶することに注意されたい。これは、サンプリングに高解像度ピクセル704を使用する図7に示す記憶された明度708の数(例えば、4)とは対照的である。
時間的スーパーサンプリング906から生じるフレームN−7〜Nに関してサンプリングされた色及び位置910も図9に示されている。サンプリングされた色及び位置のデータ916b〜930bのそれぞれは、明度(例えば、黒または白)と対応する位置(例えば、画面座標)とを含む、関連するグラフィックスパイプラインによってメモリ内に記憶されたものを概念的に表す。従って、例えば、サンプリングされた色及び位置のデータ930bは、白に対応する明度と、低解像度ピクセル904がマッピングする4つの高解像度ピクセル(例えば、ネイティブピクセル)のグループの右下のピクセルに対応する画面座標データとを含んでよい。さらに、サンプリングされた色及び位置のデータ928bは、黒に対応する明度と、低解像度ピクセル904がマッピングする高解像度ピクセルのグループの左下のピクセルに対応する画面座標データとを含む。同様に、サンプリングされた色及び位置のデータ926b及び924bは、それぞれ、黒に対応する明度及び白に対応する明度と、低解像度ピクセル904が画面またはディスプレイ上にマッピングする高解像度ピクセルのグループの右上のピクセル及び左上のピクセルに対応する画面座標データとを含んでよい。
図示の実施形態によると、色出力/レンダリングされた画像914は、4つのフレームのウィンドウにわたってサンプリングされた色及び位置910を再投影912することによって生じる。例えば、フレームN、N−1、N−2、及び、N−3から、それぞれ、サンプリングされた色と位置のデータ930b、928b、926b及び924bから「構築」された4つの高解像度ピクセルのセットを含むフレームNのレンダリングされた画像932がある。詳細には、関連するグラフィックスパイプラインが、サンプリングされた色及び位置のデータ930bに記憶された明度をレンダリングされた画像932の右下のピクセルにマッピングすることによって、高解像度のレンダリングされた画像932を構築できる。同様に、サンプリングされた色及び位置のデータ928b、926b及び924bに記憶された明度が、それぞれ、左下のピクセル、右上のピクセル、及び、左上のピクセルにマッピングされる。結果として、(サンプリングに高解像度ピクセルを用いた)図7の色出力/レンダリングされた画像712に似た高解像度のレンダリングされた画像932が、図7に示すレンダリングプロセスの場合のように各フレームに対して4つの明度を記憶する必要無く、達成される。
類似の再投影912がレンダリングされた画像934〜940のそれぞれを生じることが示されている。例えば、フレームN−4のレンダリングされた画像940は、サンプリングされた色及び位置のデータ916b〜922bから構築または再投影されることが示されている。図9のレンダリングされた画像932〜940は、それぞれ、4つのフレームに基づくことが説明目的で示されているが、所与の物体をレンダリングするための時間的スーパーサンプリングの使用は、任意の数の前のフレームに及んでよいことに注意されたい。さらに、図9のレンダリングされた画像932〜940は、それぞれ、現在のフレームと前の3つのフレームとに基づいているが、そうである必要はない。例えば、ある他の実施形態においては、レンダリングされた画像932は、それぞれ、フレームN−1、N−2、N−3、及び、N−4のサンプリングされた色及び位置のデータ928b、926b、924b、及び、922bに基づいて構築または再投影されてよい。結果として、レンダリングされた画像932〜940の図に示した依存関係は、例示的なもので制限ではない。
ある実施形態によると、時間的スーパーサンプリング906に示すサンプリング位置は、再投影912によって決定されてよい。すなわち、前のフレーム(例えば、フレームN−1)のサンプリング位置は、現在のフレームの画面座標(例えば、フレームNの右下のピクセル)から決定されてよい。図9に示すように、現在のフレームの画面座標からの再投影は、低解像度ピクセル904の左下象限にあるサンプリングされた低解像度ピクセル928aに示すサンプリング位置を決定してよく、色出力/レンダリングされた画像914の左下の高解像度ピクセルにマッピングしてよい。明瞭にするために、規則的なサンプリング格子パターンを図9に示すが、フレームの期間毎の位置及び固有の位置等のサンプリングパターンの詳細は、異なる実施形態に関して異なってよいことに注意されたい。
類似のメモリ使用量(例えば、各低解像度ピクセルのフレーム毎に1つの明度を記憶)を必要とする図8に示すレンダリングに比べて、時間的スーパーサンプリング906とピクセル再投影912とを用いた図9に示すレンダリングは、より解像度の高い色出力/レンダリングされた画像914を可能にすることに注意されたい。これは、時間的スーパーサンプリング906を用いたレンダリングプロセスから生じる色出力/レンダリングされた画像914と、時間的スーパーサンプリングを用いないレンダリングプロセスから生じる色出力/レンダリングされた画像944とを比較すると明らかである。
結果として、本明細書に記載の実施形態は、メモリ使用量(例えば、各フレームのピクセル毎に記憶される明度の数)を増やすことなく、解像度を高くすることによって、VRシステムの機能を向上させる技術的利点を達成する。解像度の向上は、フォービエイテッドレンダリングシステムの低解像度領域に関連付けられたエイリアシングを低減し、これは、視聴者の全体としての体験の質を向上させ得る。例えば、図9に示すレンダリングプロセスが、複数の低解像度ピクセル904からなる全領域に対して行われる場合、解像度、画像品質、詳細度、鮮明さ、及び、アンチエイリアシング全体に関する改良は、図9に示すものよりも顕著になり得る。
図10は、一実施形態による、時間的スーパーサンプリング1006を使用するレンダリングプロセスの概念図を示す。時間的スーパーサンプリング1006は、複数のフレーム1000にわたる動的物体1002のサンプリングに使用される低解像度ピクセル1004からレンダリングされた画像1014の高解像度ピクセルの出力を可能にする。図9のレンダリングプロセスと同様に、低解像度ピクセル1004は、4つのフレームのあらゆるウィンドウに関して異なる位置でサンプリングされる。幾つかの実施形態によると、時間的スーパーサンプリング1006で示されるサンプリング位置は、再投影1012によって決定されてよく、再投影1012は、前のフレームのサンプリングに使用されるジッタを計算してよい。さらに、図9のレンダリングプロセスと同様に、図10に示すレンダリングプロセスは、フレーム毎に記憶された色と位置1010の低解像度ピクセル1006の明度を1つだけ記憶する。
結果として生じるレンダリングされた画像1014は、時間的スーパーサンプリング無しに行われたレンダリングされた画像1016より、解像度、詳細度、及び、エイリアシングに関して、改良されているのが示されている。
図11は、一実施形態による、再投影1110とブレンディング1111と共に時間的スーパーサンプリング1106を利用することによって、サンプリングに使用された低解像度ピクセル1104からレンダリングされた画像1112に関連付けられた高解像度ピクセルを生成する概念モデルを示す。物体1102は、12フレーム(例えば、フレームN−11、N−10、・・・、N)の期間にわたってy方向に動くのが示されている。物体1102は、サンプリングパターン1114に対応するフレーム毎に低解像度ピクセル1104内の1つの位置で時間的スーパーサンプリング1106が行われる。上記のように、時間的スーパーサンプリング1106で示されるサンプリング位置は、再投影1110によって決定または規定されてよいと企図されている。
図示の実施形態によると、時間的スーパーサンプリング1106は、記憶された色及び位置1108によって概念的及び視覚的に表されるフレーム毎に1つの明度を生じる。幾つかの実施形態によると、時間的スーパーサンプリング1106によって、記憶される明度を生じてよいが、記憶された各色位置1108に示される位置成分は、再投影1110によって提供されてよい。例えば、再投影1110は、前のフレームに次のサンプリング位置を提供し得るので、再投影1110は、次のサンプリング位置に対応する画面座標に関する情報も有する。例えば、再投影1110は、フレームNに記憶された色及び位置データ1126から、次のサンプリング位置は、前のフレームN−1の左下象限をサンプリングするために、x方向に−0.5ピクセル移動することを判断し得る。結果として、再投影1110は、フレームN−1の次のサンプリング位置の画面座標に関する情報を有することになる。
図示の実施形態によると、レンダリングされた画像1116〜1124のそれぞれは、現在の各フレームと前の7つのフレームとに基づいた再投影1110とブレンディング1111の結果であることを示している。ある実施形態に関しては、ブレンディング1111は、関連するグラフィックスパイプラインのピクセルシェーダによって行われる。例えば、レンダリングされた画像1116は、フレームN〜N−7の明度1126〜1140に基づくことが示されている。しかしながら、レンダリングされた画像1116の4つの高解像度ピクセル1116a〜1116dにマッピングする8つの明度1126〜1140があるので、それらの明度がマッピングする高解像度ピクセルに対して、記憶された明度が余剰である。例えば、明度1130(白)及び明度1138(黒)の両方が、高解像度ピクセル1116cにマッピングする。ある実施形態によると、ブレンディング1111は、2つの明度1130及び1138に基づいた高解像度ピクセル1116cの最終的な色を計算してよい。図示の実施形態によると、高解像度ピクセル1116cの最終的な色は、明度1130と1138の中間の色またはブレンドを表す灰色の陰影である。
ある実施形態においては、明度1130と1138の平均は、ブレンディング1111中にピクセルシェーダによって計算されてよく、高解像度ピクセル1116cの最終的な明度として使用されてよい。他の実施形態においては、異なる明度は、caである最終的な明度に対して異なるように寄与し得る。例えば、ある実施形態によると、指数関数を用いて、所与のピクセル値の最終的な明度への寄与を、時間またはフレーム番号に関して記載してよい。例えば、より最近のフレームに関連付けられた明度は、あまり最近ではないフレームに関連付けられた明度より(指数関数的に)より大きい重みを与えられる。従って、図11に示す実施形態によると、高解像度ピクセル1116cは、明度1130がより最近のフレーム(例えば、フレームN−2)に関連付けられ、明度が、4フレーム前のフレーム(例えば、フレームN−6)に関連付けられるので、明度1138よりも明度1130に近い最終的な明度を有してよい。
図示の実施形態によると、高解像度ピクセル1116aは、明度1126及び1134からマッピングされた最終的な明度を有する。しかしながら、明度1126は、最新のフレーム(例えば、フレームN)と関連付けられるので、明度1126は、明度1134より大きい重みを付けて関連付けられる。結果として、高解像度ピクセル1116aの最終的な色は、明度1134より明度1126の色に近い。図11には、明度1128及び1136と、明度1132及び1140から、それぞれマッピングされる、高解像度ピクセル1116bと1116dも示される。図示の実施形態によると、明度1128と1136の間にも、明度1132と1140の間にも変化はないので、高解像度ピクセル1116b及び1116dのいずれに関しても最終的な明度の計算にブレンディングは必要ない。
図11には、レンダリングされた画像1118、1120、1122、及び、1124も示されており、各画像は、8つのフレームからの明度から構築される。フレームN−1でレンダリングされた画像1116の高解像度ピクセル1116cと同じ画面座標を有するフレームN−1にレンダリングされた画像1118の高解像度ピクセル1118aがあることに注意されたい。高解像度ピクセル1118a及び1116cは両方とも、明度1130及び1138から構築されることが示されているが、異なるシェーディングである。例えば、高解像度ピクセル1118aは薄い灰色の陰影でシェーディングされていることが示されており、高解像度ピクセル1116cは、濃い灰色の陰影でシェーディングされていることが示されている。ある実施形態によると、高解像度ピクセル1118aは、明度1130(例えば、白)が、レンダリングされた画像1116(現在のフレームの2フレーム前)に対してよりもレンダリングされた画像1118(現在のフレームの1フレーム前)に対してより最近のフレームに関連付けられるので、薄い灰色の陰影の最終的な明度に関連付けられてよい。結果として、明度1130は、高解像度ピクセル1118aの最終的な色に対して、その相対的な近さにより、高解像度ピクセル1116cの最終的な色に対してよりも寄与し得る。
図示の実施形態によると、レンダリングされた画像1120は、高解像度ピクセル1118a及び1116cと画面座標を共有する高解像度ピクセル1120aも有する。さらに、高解像度ピクセル1120aは、高解像度ピクセル1118a及び1116cの両方と同じ明度1130及び1138から構築されることが示されている。しかしながら、幾つかの実施形態によると、明度1130は、レンダリングされた画像1120に対して最新のフレームに関連付けられていることが示されているので、明度1130は、高解像度ピクセル1118または1116のいずれに対してもシェーディングに関して、高解像度ピクセル1120aにより大きい重みを付けて関連付けられてよい。
図12は、疑似ランダムジッタサンプリングパターン1214を有する時間的スーパーサンプリング1206中に使用された低解像度ピクセル1204からレンダリングされた画像1212に関連付けられた高解像度ピクセルを生成する概念モデルを示す。図示の実施形態においては、動的物体1202は、サンプリングパターン1214に従って、フレーム毎に異なる位置で、低解像度ピクセル1204内でサンプリングされる。サンプリングパターン1214は、8フレーム毎に繰り返す8つのサンプリング位置を含むことが示されているが、他の実施形態に関しては、こうである必要はない。例えば、他の実施形態においては、サンプリング位置は、繰り返すまたは循環する必要はない。
さらに、サンプリング位置は、低解像度ピクセル1204の4つの象限に均一に分散されていないとして示されている。例えば、右上のサブピクセルは、8つのフレームのウィンドウに関して3つの位置でサンプリングされるのが示されており、左下のサブピクセルは、1つの位置でのみサンプリングされるのが示されている。低解像度ピクセル1204内でのサンプリングに関して幾つかのアルゴリズムがあり、その一部は、サンプリング位置の集中または不均一な分散を最小にできる。結果として、本明細書に示すサンプリングパターン及び/またはアルゴリズムは、実施形態の趣旨または範囲を逸脱せずに、本明細書に記載の実施形態と共に使用し得る任意の数のスーパーサンプリングパターンがあるので、説明目的であり、制限的ではない。さらに、高解像度のレンダリングされた画像を構築するための時間的スーパーサンプリングの実施形態を、現在のフレームと前の7つのフレームに基づいて示すが、様々な実施形態に応じて、時間的スーパーサンプリング及び再投影を用いて、高解像度のレンダリングされた画像を構築できる任意の数のフレームがある。さらに、レンダリングされた画像は、現在のフレームに関連付けられたピクセル値から構築されることが示されているが、他の実施形態においては、最新のレンダリングされた画像が最新のフレームに関連付けられたピクセル値から必ずしもマッピングされる必要がない場合もある。
図13Aは、16個のフレームにわたる時間的スーパーサンプリング1300中に使用された低解像度のサンプリングエリア1301から16個の高解像度ピクセル1304のセットを再構成する実施形態を示す。図示の実施形態によると、低解像度のサンプリングエリア1301は、16個の高解像度ピクセル1304のセットにマッピングする。実施形態は、16個の高解像度ピクセル1304のそれぞれに対応する16個のサブピクセル領域の時間的スーパーサンプリング1300を介して高解像度ピクセル1304のそれぞれに対して明度を取得することができる。例えば、異なるサブピクセル領域が、図示の16個のフレームのそれぞれに関してサンプリングされ、結果として、記憶された色及び位置1302に示すようにフレーム毎に1つの明度のみが記憶されてよい。上記のように、時間的スーパーサンプリング1300に使用されるサンプリングパターンは、ジッタを伴う場合があり、(より詳細に前述した)再投影によって決定されてよい。結果として、本明細書に記載した長所及び実施態様は、4つのピクセルを再構成することに限定されず、低解像度サンプリング領域から任意の数の高解像度ピクセルを再構成することに拡張されてよい。
図13Bは、高解像度ピクセル1316の数より少ない数のフレームにわたって時間的スーパーサンプリング1306中に使用された低解像度のサンプリング領域1308から16個の高解像度ピクセル1316のセットを再構成する実施形態を示す。例えば、時間的スーパーサンプリング1306は、8つのフレームにわたってのみ行われて、同じ数の明度1310を生じることが示されている。再構成中、関連するピクセルシェーダまたはコンピュータシェーダは、明度1310と、それに関連付けられた位置とで高解像度ピクセル格子1312に「埋める」(例えば、描画、シェーディング、色付けする)ように試みる。例えば、高解像度ピクセル格子1312の16個のピクセルのうち8個は、記憶されたピクセル値に関連付けられる。残りのシェーディングされていないピクセルは、次に、最近傍法、履歴色データ、もしくは、両方の組み合わせ、または、他の方法を用いて、ブレンディング1314を行って、16個の高解像度ピクセル1316からなるレンダリングされた画像を提供してよい。結果として、本明細書に記載の実施形態の趣旨及び長所は、時間的スーパーサンプリングのプロセスが高解像度ピクセルの数よりも少ない数のフレームをサンプリングすることを伴う場合でさえ、特定の数の高解像度ピクセルに対して実施できる。例えば、本明細書で企図された実施形態は、時間的スーパーサンプリングに適用されてよい。
幾つかの実施形態に関して、ピクセルシェーダに言及する場合、コンピュータシェーダも指すと意図していることに注意されたい。さらに、例示的なサンプリングパターンを、例えば、図13A及び13Bに示すが、任意の数のサンプリングパターンが本明細書に記載の実施形態と共に実施されてよいことに注意されたい。
図14は、複数の前のフレームにわたる時間的スーパーサンプリングを通して取得された明度を用いて、低解像度のサンプリング領域から高解像度ピクセルの再構成を可能にする方法の全体のフローを示す。実現された方法は、関連するグラフィックスパイプラインのラスタライザからフラグメントを受信する動作1410と、フレームバッファ等のバッファに記憶された複数の前のフレームにわたる低解像度サンプリング領域を用いて、時間的スーパーサンプリングをフラグメントに適用する動作1420とを含む。上記のように、時間的スーパーサンプリングは、ピクセル再投影及び/またはジッタに基づいて、低解像度サンプリング領域内の異なる位置をサンプリングしてよい。さらに、上記のように、サンプリングされる前のフレームの数は、様々な実施形態に応じて数が変化してよい。
図14に示す方法は、次に、動作1430に進み、動作1430は、低解像度サンプリング領域に関連付けられた高解像度ピクセルを、時間的スーパーサンプリングを介して取得した明度を用いて再構成するように働く。ある実施形態によると、再構成は、表示バッファ等の最終的なバッファで行われてよく、表示バッファは、実際のピクセル位置(例えば、物理的ピクセル)がアドレス可能な方法で、時間的スーパーサンプリングによって取得された明度を記憶してよい。図14の方法は、次に、動作1440に進み、動作1440は、再構成された高解像度ピクセルを(例えば、ヘッドマウントディスプレイ)に表示するために送信するように働く。
図15は、提示された方法及び/またはシステムと共に使用されてよいHMD1500の追加の実施形態を示す。HMD1500は、視線検出器1502、プロセッサ1504、バッテリ1506、仮想現実生成装置1508、ボタン、センサ、スイッチ1510、音源定位装置1512、ディスプレイ1514、及び、メモリ1516等のハードウェアを含む。HMD1500は、位置モジュール1528も含み、位置モジュール1528は、磁力計1518、加速度計1520、ジャイロスコープ1522、GPS1524、及び、コンパス1526を含むことが示されている。さらに、HMD1500には、スピーカ1530、マイクロフォン1532、LED1534、視覚認識のための物体(複数可)1536、IRライト1538、前方カメラ1540、後方カメラ1542、視線追跡カメラ(複数可)1544、USB1546、永続ストレージ1548、振動触覚フィードバック1550、通信リンク1552、Wi−Fi1554、超音波通信1556、ブルートゥース(登録商標)1558、及び、感光性ダイオード(PSD)アレイ1560が含まれる。幾つかの実施形態においては、HMD1500は、1つまたは複数のCPU1562、1つまたは複数のGPU1564、及び、ビデオメモリ1566も含んでよい。
図16は、本明細書に記載の様々な実施形態を実施するように使用されてよいコンピューティングシステム1600の図である。コンピューティングシステム1600は、ユーザ入力を受信するための入力装置1602を含む。入力装置1602は、マウス、タッチスクリーン、ジョイスティック、リモートコントロール、ポインティングデバイス、ウェアラブルオブジェクト、または、ヘッドマウントディスプレイ等の任意のユーザ制御装置またユーザ応答デバイスであってよい。コンピューティングシステム1600は、グラフィックスシステム1610が処理及びレンダリングするための頂点データ及び幾何学的データを生成するアプリケーションプログラムの実行を担うCPU1604を含むことも示されている。CPU1604は、アプリケーションプログラムに関して、入力装置1602を介して受信した入力も処理する。さらに、コンピューティングシステムは、メモリ1606及び永続的ストレージ1608を含むとして示されている。
例示的なコンピューティングシステム1600のグラフィックスシステム1610は、メモリ/VRAM1620と通信するGPU1612を含むとして示されており、メモリ/VRAM1620は、スキャナ1628と通信する。GPU1612は、頂点シェーダ1614を含むことが示されており、頂点シェーダ1614は、実行されたアプリケーションに関連付けられた頂点データ及び幾何学的データを受信し、受信した頂点データ及び幾何学的データに対する幾何学的変換及び操作に関する動作を行う。幾つかの実施形態においては、頂点シェーダ1614の出力は、送信され、フレームバッファ/時間バッファ1622に記憶される。
幾つかの実施形態によると、GPU1612は、ラスタライザ1616も実施するとして示されている、ラスタライザ1616は、頂点シェーダ1614から出力された頂点データ及び幾何学的データをピクセルデータ(例えば、フラグメントデータ)に変換する。幾つかの実施形態によると、ラスタライザ1616は、本明細書に記載の一定のサンプリング機能を行うことができる。
GPU1612は、表示されるピクセルの明度を取得するように働くピクセルシェーダ1618(フラグメントシェーダとしても知られる)も実行するとして示されている。幾つかの実施形態によると、本明細書に記載の時間的スーパーサンプリングは、例えば、フレームバッファ/時間バッファ1622にアクセスすることによって、ピクセルシェーダの助けを借りて行われてよい。さらに、ある実施形態によると、ピクセルシェーダ1618は、ピクセルデータを出力してよく、そのピクセルデータは、表示バッファ1624に記憶される。一実施形態においては、スキャナ1628は、表示バッファに記憶されたピクセルデータを読み取り、ディスプレイ1630に表示するために、そのピクセルデータを送信することができる。ここでも、ピクセルシェーダは、ピクセルシェーダまたはコンピュータシェーダを指す。
方法の動作を特定の順で記載したが、他のハウスキーピング動作が動作と動作の間に行われてよく、動作は、少し異なる時間に行われるように調整されてよく、または、システムに分散されて、処理に関連付けられた様々な間隔で処理動作が起こるのを可能にしてよいことは理解されたい。
1つまたは複数の実施形態は、コンピュータ可読媒体上のコンピュータ可読コードとして製造することもできる。コンピュータ可読媒体は、データを記憶できる任意のデータ記憶装置であり、従って、データは、コンピュータシステムによって読み出すことができる。コンピュータ可読媒体の例は、ハードドライブ、ネットワーク接続ストレージ(NAS)、リードオンリメモリ、ランダムアクセスメモリ、CD−ROM、CD−R、CD−RW、磁気テープ、並びに、他の光学的及び非光学的データ記憶装置を含む。コンピュータ可読媒体は、コンピュータ可読コードが分散されて記憶、実行されるように、ネットワークで接続されたコンピュータシステムに分散されたコンピュータ可読有形媒体を含んでよい。
理解を明瞭にするために上記実施形態を記載したが、一定の変化及び修正は、添付請求項の範囲内で実践されてよいことは明らかである。従って、本実施形態は、説明的なもので限定的ではなく、実施形態は、本明細書に記載の詳細に限定されず、添付の請求項の範囲及び同等物内で修正されてよい。

Claims (18)

  1. 低解像度のサンプリング領域から高解像度ピクセルを描画する方法であって、
    ラスタライザからフラグメントを受信することと、
    複数の明度を取得するために、複数の前のフレームにわたって前記低解像度のサンプリング領域を有する前記フラグメントに時間的スーパーサンプリングを適用することと、
    前記時間的スーパーサンプリングによって取得された前記複数の明度に基づいて、複数の高解像度ピクセルをバッファで再構成することと、
    ディスプレイに提示するために、前記複数の高解像度ピクセルを前記バッファから送信することと、
    を含
    前記低解像度のサンプリング領域は、複数のサブピクセル領域を含み、
    前記時間的スーパーサンプリングは、前記複数の前のフレームのそれぞれについて、前記複数のサブピクセル領域のうちの異なるサブピクセル領域における明度及び位置データのサンプリングを含み、
    前記再構成は、前記複数の前のフレームから取得された複数のサブピクセル領域の明度及び位置データに基づいて、前記複数の高解像度ピクセルを再構成することを含む、
    方法。
  2. 前記時間的スーパーサンプリングは、ピクセル再投影によって決定される前記低解像度のサンプリング領域のサンプリング位置を含む、請求項1に記載の方法。
  3. 前記時間的スーパーサンプリングは、ジッタによって決定される前記低解像度のサンプリング領域のサンプリング位置を含む、請求項1に記載の方法。
  4. 前記複数の高解像度ピクセルのピクセル数は、前記複数の前のフレームのフレーム数より大きい数である、請求項1に記載の方法。
  5. 前記複数の高解像度ピクセルの前記再構成は、前記複数の明度のブレンディングをさらに含む、請求項1に記載の方法。
  6. 前記複数の高解像度ピクセルは、前記ディスプレイのネイティブ解像度、または、前記ディスプレイの前記ネイティブ解像度より高い解像度と関連付けられる、請求項1に記載の方法。
  7. 前記ディスプレイは、ヘッドマウントディスプレイ(HMD)と関連付けられる、請求項1に記載の方法。
  8. 前記低解像度のサンプリング領域は、フォービエイテッドレンダリングビューの周辺領域と関連付けられる、請求項1に記載の方法。
  9. 低解像度のサンプリング領域を含む複数の前のフレームに対して、時間的スーパーサンプリングであって、複数の明度を含む前記時間的スーパーサンプリングを適用するためのグラフィックス処理ユニット(GPU)と、
    前記GPUによってレンダリングされる前記複数の前のフレームを記憶するためのフレームバッファと、
    表示バッファであって、その中で、前のフレームの前記時間的スーパーサンプリングによって取得された前記複数の明度に基づいて、複数の高解像度ピクセルが再構成される前記表示バッファと、
    を含む、グラフィックスシステムであって、
    前記複数の高解像度ピクセルは、ディスプレイに提示するために構成され、
    前記低解像度のサンプリング領域は、複数のサブピクセル領域を含み、
    前記時間的スーパーサンプリングは、前記複数の前のフレームのそれぞれについて、前記複数のサブピクセル領域のうちの異なるサブピクセル領域における明度及び位置データのサンプリングを含み、
    前記再構成は、前記複数の前のフレームから取得された複数のサブピクセル領域の明度及び位置データに基づいて、前記複数の高解像度ピクセルを再構成することを含む、
    グラフィックスシステム。
  10. 前記時間的スーパーサンプリングは、ピクセル再投影によって決定されるように、前記低解像度のサンプリング領域のサンプリング位置を規定する、請求項に記載のグラフィックスシステム。
  11. 前記時間的スーパーサンプリングは、ジッタによって決定されるように、前記低解像度のサンプリング領域のサンプリング位置を規定する、請求項に記載のグラフィックスシステム。
  12. 前記複数の高解像度ピクセルのピクセル数は、前記複数の前のフレームのフレーム数より多い数である、請求項に記載のグラフィックスシステム。
  13. 前記複数の高解像度ピクセルの前記再構成は、前記複数の明度のブレンディングをさらに含む、請求項に記載のグラフィックスシステム。
  14. 前記複数の高解像度ピクセルは、前記ディスプレイのネイティブ解像度、または、前記ディスプレイの前記ネイティブ解像度より高い解像度と関連付けられる、請求項に記載のグラフィックスシステム。
  15. 前記ディスプレイは、ヘッドマウントディスプレイ(HMD)に関連付けられる、請求項に記載のグラフィックスシステム。
  16. 前記低解像度のサンプリング領域は、フォービエイテッドレンダリングビューの周辺領域に関連付けられる、請求項に記載のグラフィックスシステム。
  17. プロセッサベースのシステムによって実行可能なコンピュータプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、
    フラグメントであって、低解像度のサンプリング領域に関連付けられた前記フラグメントをラスタライザから受信するプログラム命令と、
    複数の明度を取得するために、複数の前のフレームにわたって時間的スーパーサンプリングを前記フラグメントに適用するプログラム命令と、
    前記低解像度のサンプリング領域に関連付けられた複数の高解像度ピクセルであって、前記時間的スーパーサンプリングによって取得された前記複数の明度に基づいた前記複数の高解像度ピクセルを、バッファで再構成するプログラム命令と、
    ディスプレイに提示するために、前記複数の高解像度ピクセルを前記バッファから送信するプログラム命令と、
    を含
    前記低解像度のサンプリング領域は、複数のサブピクセル領域を含み、
    前記時間的スーパーサンプリングは、前記複数の前のフレームのそれぞれについて、前記複数のサブピクセル領域のうちの異なるサブピクセル領域における明度及び位置データのサンプリングを含み、
    前記再構成は、前記複数の前のフレームから取得された複数のサブピクセル領域の明度及び位置データに基づいて、前記複数の高解像度ピクセルを再構成することを含む、
    非一時的コンピュータ可読記憶媒体。
  18. 前記時間的スーパーサンプリングは、ピクセル再投影によって決定されるように、または、ジッタによって決定されるように、前記複数の前のフレームにわたって前記低解像度のサンプリング領域のサンプリング位置を規定し、前記複数の高解像度ピクセルは、前記ディスプレイのネイティブ解像度、または、前記ディスプレイの前記ネイティブ解像度より高い解像度に関連付けられる、請求項1に記載の非一時的コンピュータ可読記憶媒体。
JP2019568069A 2017-06-09 2018-06-07 フォービエイテッド(中心窩)レンダリングシステムのための時間的スーパーサンプリング Active JP6959366B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762517835P 2017-06-09 2017-06-09
US62/517,835 2017-06-09
US15/905,801 US10713752B2 (en) 2017-06-09 2018-02-26 Temporal supersampling for foveated rendering systems
US15/905,801 2018-02-26
PCT/US2018/036569 WO2018227029A1 (en) 2017-06-09 2018-06-07 Temporal supersampling for foveated rendering systems

Publications (2)

Publication Number Publication Date
JP2020523688A JP2020523688A (ja) 2020-08-06
JP6959366B2 true JP6959366B2 (ja) 2021-11-02

Family

ID=64564119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019568069A Active JP6959366B2 (ja) 2017-06-09 2018-06-07 フォービエイテッド(中心窩)レンダリングシステムのための時間的スーパーサンプリング

Country Status (5)

Country Link
US (3) US10713752B2 (ja)
EP (1) EP3635676A1 (ja)
JP (1) JP6959366B2 (ja)
CN (1) CN110869884A (ja)
WO (1) WO2018227029A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2566280B (en) * 2017-09-06 2020-07-29 Fovo Tech Limited A method of modifying an image on a computational device
GB2566276B (en) 2017-09-06 2020-07-29 Fovo Tech Limited A method of modifying an image on a computational device
GB2568261B (en) * 2017-11-08 2022-01-26 Displaylink Uk Ltd System and method for presenting data at variable quality
GB2573543B (en) * 2018-05-09 2021-10-27 Advanced Risc Mach Ltd Graphics Processing
US11347056B2 (en) * 2018-08-22 2022-05-31 Microsoft Technology Licensing, Llc Foveated color correction to improve color uniformity of head-mounted displays
US11170577B2 (en) * 2018-10-30 2021-11-09 Facebook Technologies, Llc Generating and modifying representations of objects in an augmented-reality or virtual-reality scene
US11308681B1 (en) 2018-11-02 2022-04-19 Facebook Technologies, Llc. Display engine for post-rendering processing
US10885882B2 (en) * 2018-12-06 2021-01-05 Tobii Ab Reducing aliasing artifacts in foveated rendering using cross-resolution modulation
CN110322424B (zh) * 2019-07-10 2022-12-09 安徽爱观视觉科技有限公司 高分辨率图像处理方法及装置、vr图像显示方法及vr设备
CN111078170B (zh) * 2019-11-29 2023-11-28 北京小米移动软件有限公司 显示控制方法、显示控制装置及计算机可读存储介质
US11816757B1 (en) * 2019-12-11 2023-11-14 Meta Platforms Technologies, Llc Device-side capture of data representative of an artificial reality environment
US11216916B1 (en) * 2020-10-09 2022-01-04 Nvidia Corporation History clamping for denoising dynamic ray-traced scenes using temporal accumulation
CN117378002A (zh) * 2021-06-03 2024-01-09 索尼半导体解决方案公司 显示装置、显示系统及显示驱动方法
US11570418B2 (en) 2021-06-17 2023-01-31 Creal Sa Techniques for generating light field data by combining multiple synthesized viewpoints
CN118215954A (zh) * 2021-11-10 2024-06-18 索尼半导体解决方案公司 显示装置、显示系统及显示驱动方法
GB2617591A (en) * 2022-04-13 2023-10-18 Sony Interactive Entertainment Inc Image processing system and method
WO2024064370A2 (en) * 2022-09-23 2024-03-28 Apple Inc. Deep learning based causal image reprojection for temporal supersampling in ar/vr systems

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1205881A3 (en) * 1998-02-17 2004-10-27 Sun Microsystems, Inc. Graphics system with variable resolution super-sampling
US6753870B2 (en) * 2002-01-30 2004-06-22 Sun Microsystems, Inc. Graphics system configured to switch between multiple sample buffer contexts
WO2012155267A1 (en) * 2011-05-13 2012-11-22 Fibics Incorporated Microscopy imaging method and system
US9727991B2 (en) * 2013-03-01 2017-08-08 Microsoft Technology Licensing, Llc Foveated image rendering
US9928610B2 (en) 2014-06-27 2018-03-27 Samsung Electronics Co., Ltd. Motion based adaptive rendering
US9396530B2 (en) * 2014-07-24 2016-07-19 Adobe Systems Incorporated Low memory content aware image modification
US20170132833A1 (en) * 2015-11-10 2017-05-11 Intel Corporation Programmable per pixel sample placement using conservative rasterization
US10438400B2 (en) * 2016-03-08 2019-10-08 Nvidia Corporation Perceptually-based foveated rendering using a contrast-enhancing filter
CN106097251B (zh) * 2016-06-22 2019-03-19 深圳信息职业技术学院 非均匀稀疏采样视频超分辨率方法
WO2018078448A1 (en) * 2016-10-27 2018-05-03 Scopio Labs Ltd. Methods and systems for diagnostic platform
US11290699B2 (en) * 2016-12-19 2022-03-29 Dolby Laboratories Licensing Corporation View direction based multilevel low bandwidth techniques to support individual user experiences of omnidirectional video

Also Published As

Publication number Publication date
US20210366079A1 (en) 2021-11-25
WO2018227029A1 (en) 2018-12-13
US20180357749A1 (en) 2018-12-13
JP2020523688A (ja) 2020-08-06
US11087437B2 (en) 2021-08-10
CN110869884A (zh) 2020-03-06
US11704768B2 (en) 2023-07-18
EP3635676A1 (en) 2020-04-15
US10713752B2 (en) 2020-07-14
US20200342571A1 (en) 2020-10-29

Similar Documents

Publication Publication Date Title
JP6959366B2 (ja) フォービエイテッド(中心窩)レンダリングシステムのための時間的スーパーサンプリング
CN110799928B (zh) 时间抗混叠的中央凹自适应
US9595083B1 (en) Method and apparatus for image producing with predictions of future positions
Bastani et al. Foveated pipeline for AR/VR head‐mounted displays
US11100899B2 (en) Systems and methods for foveated rendering
US8379955B2 (en) Visualizing a 3D volume dataset of an image at any position or orientation from within or outside
KR20210087052A (ko) 사후-렌더링 프로세스를 위한 디스플레이 엔진
EP3664018B1 (en) Reducing aliasing artifacts in foveated rendering using cross-resolution modulation
US10895909B2 (en) Gaze and saccade based graphical manipulation
US11847552B2 (en) Pipeline with processor including neural network for rendering artificial reality
WO2011135052A1 (en) Apparent display resolution enhancement for moving images
CN114026603A (zh) 渲染计算机生成现实文本
US9035945B1 (en) Spatial derivative-based ray tracing for volume rendering
US9082217B1 (en) Avoidance-based ray tracing for volume rendering
Smit et al. An image-warping VR-architecture: Design, implementation and applications
US20220326527A1 (en) Display System Optimization
EP3330839A1 (en) Method and device for adapting an immersive content to the field of view of a user
CN113115018A (zh) 一种图像的自适应显示方法及显示设备
MCWILLIAMS Real-Time Foveated Raytracing for Virtual Reality Using Modern Acceleration Techniques

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210405

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210914

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211007

R150 Certificate of patent or registration of utility model

Ref document number: 6959366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150