JP2016012354A - 適応的レンダリングを行う方法及びグラフィックスシステム - Google Patents

適応的レンダリングを行う方法及びグラフィックスシステム Download PDF

Info

Publication number
JP2016012354A
JP2016012354A JP2015129986A JP2015129986A JP2016012354A JP 2016012354 A JP2016012354 A JP 2016012354A JP 2015129986 A JP2015129986 A JP 2015129986A JP 2015129986 A JP2015129986 A JP 2015129986A JP 2016012354 A JP2016012354 A JP 2016012354A
Authority
JP
Japan
Prior art keywords
tile
pixel
speed
sampling
pixels
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
Application number
JP2015129986A
Other languages
English (en)
Inventor
ゴラス アビナーフ
Golas Abhinav
ゴラス アビナーフ
チェン クリストファー
Cheng Christopher
チェン クリストファー
ダブリュー.ブラザーズ ジョン
W Brothers John
ダブリュー.ブラザーズ ジョン
ラマーニ カールシック
Ramani Karthik
ラマーニ カールシック
ザン リャンジュン
Liangjun Zhang
ザン リャンジュン
ジョージ エイブラハム サントッシュ
george abraham Santosh
ジョージ エイブラハム サントッシュ
チャウ ウッディ
Chow Woody
チャウ ウッディ
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2016012354A publication Critical patent/JP2016012354A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/32Determination of transform parameters for the alignment of images, i.e. image registration using correlation-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/337Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/12Indexing scheme for image data processing or generation, in general involving antialiasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20192Edge enhancement; Edge preservation
    • 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/363Graphics controllers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)

Abstract

【課題】 適応的レンダリングを行う方法及びグラフィックスシステムを提供すること。【解決手段】 本発明による方法及びグラフィックスシステムは、以前フレームに続く現在フレームのピクセルの動きを決定し、決定された動きにより、適応的レンダリングを行うことができる。【選択図】 図2

Description

本発明は、グラフィックスシステムが行う適応的レンダリングに関する。
図1は、OpenGL3.0仕様を基盤とする既存のグラフィックスパイプライン100の主な領域を示す。既存のグラフィックスパイプライン100は、バーテックスシェーダ(vertex shader)105、プリミティブ・アセンブリ及びラスタ化部(primitive assembly and rasterizer)110、フラグメント/ピクセルシェーダ(fragment/pixel shader)115、及びフレームバッファ(frame buffer)120を含んでもよい。また、既存のグラフィックスパイプライン100は、テクスチャメモリ(texture memory)125を含んでもよい。既存のグラフィックスパイプライン100において、バーテックスシェーダ105は、バーテックスデータ(vertex data)を受信するように動作し、プリミティブ・アセンブリ及びラスタ化部110は、バーテックスをシェーディングするように動作し、プリミティブをラスタ化するように動作し、フラグメント/ピクセルシェーダ120は、フラグメント/ピクセルに対するシェーディングを行うように動作することができる。
既存のグラフィックスパイプライン100の一側面によれば、イメージの全領域が互いに同じ最小解像度(minimum resolution)でレンダリングされる。特に、既存のグラフィックスパイプラインによれば、ピクセル当たり平均的なサンプルの個数を意味するサンプリングレート(sampling rate)は、典型的に、イメージの各ピクセルごとに少なくとも1つのサンプルになる。
既存グラフィックスパイプラインの一側面によれば、多くのピクセルシェーディング・オペレーションが要求される一方でそれら全てが必ずしも適切に利用されず浪費となってしまうことが懸念される。従って、モバイルデバイスの側面では、多量のエネルギーが消耗してしまうことが懸念される。
本発明が解決しようとする課題は、適応的レンダリングを行うグラフィックスシステム及び方法を提供するところにある。本実施形態がなすべき技術的課題は、前述のところのような技術的課題に限定されるものではなく、以下の実施形態から他の技術的課題が類推される。
一側面によって、グラフィックス・プロセッシングを行う方法において、以前フレームと現在フレームとの比較を介して、現在フレームの各タイルに含まれた客体の相対的なスピードを決定する段階と、該決定に基づいて、各タイルを、既定義のスピードカテゴリーに分類する段階と、該分類に基づいて、各タイルに適用されるサンプリングを決定する段階と、決定されたサンプリングに基づいて、各タイルに対するレンダリングを行う段階と、を含んでもよい。
また、既定義のスピードカテゴリーは、準静的スピードカテゴリーを含み、該方法は、準静的スピードカテゴリーである場合、以前フレームでのピクセルのデータをコピーする段階と、ピクセルと対応する現在フレームでのピクセルのデータとしてコピーされたデータを再使用する段階と、をさらに含んでもよい。
また、コピーする段階は、レンダリングされるピクセルとレンダリングされないピクセルとの既設定の比率に基づいて、以前フレームのタイルの一部のピクセルを、前記現在フレームのタイルにコピーすることができる。
また、該方法は、以前フレームでのピクセルのデータを再使用する条件として、以前フレームのピクセルカラー値に対する不一致チェック(discrepancy check)を行う段階をさらに含んでもよい。
また、客体の相対的なスピードは、以前フレームと現在フレームとの間において、レンダリングされたジオメトリのためのバーテックス位置データの差から決定されもする。
また、既定義のスピードカテゴリーは、高スピードカテゴリー(又はハイスピードカテゴリ)を含み、サンプリングを決定する段階は、高スピードカテゴリーである場合、タイルに含まれたピクセルの個数より、サンプルの個数がさらに少ないサンプリングパターンを選択する段階をさらに含んでもよい。
また、該方法は、各タイルに対するエッジ探知(edge detection)を行う段階をさらに含み、サンプリングを決定する段階は、各タイルにエッジが探知されるか否かということをさらに考慮し、各タイルに適用されるサンプリングを決定する段階を含んでもよい。
また、該方法は、既定義のスピードカテゴリーが高スピードカテゴリーでありながら、各タイルにエッジが探知されない場合、各タイルに含まれたピクセルの個数より、サンプルの個数がさらに少ないサンプリングパターンを選択する段階と、既定義のスピードカテゴリーが高スピードカテゴリーでありながら、各タイルにエッジが探知される場合、少なくともピクセル当たり1つのサンプルである個数を有するサンプリングパターンを選択する段階と、を含んでもよい。
また、サンプリングを決定する段階は、各タイルに対してスーパーサンプリング(super sampling)を行うか否かということを決定する段階をさらに含んでもよい。
また、該スーパーサンプリングは、エッジを含むタイルに対して行われる。
他の側面によって、グラフィックス・プロセッシングを行う方法は、以前フレームと現在フレームとの比較を介して、現在フレームの各タイルに含まれた客体の相対的なスピードを決定する段階と、各タイルがエッジを含むか否かということを決定する段階と、決定されたスピードに基づいて、各タイルを、既定義のスピードカテゴリーに分類する段階と、分類及び各タイルがエッジを含むか否かということに基づいて、各タイルに適用されるサンプリングレートを決定する段階と、決定されたサンプリングレートに基づいて、各タイルに対するレンダリングを行う段階と、を含んでもよい。
また、既定義のスピードカテゴリーは、中間スピードカテゴリーを含み、中間スピードカテゴリーである場合、各タイルに含まれた全てのピクセルが少なくとも1フレームごとにサンプリングされてもよい。
また、既定義のスピードカテゴリーは、高スピードカテゴリーを含み、該方法は、高スピードカテゴリーである場合、タイルに含まれたピクセルの個数より、サンプルの個数がさらに少ないサンプリングパターンを選択する段階と、サンプリングされないピクセルに対する色を決定する補間(interpolation)を行う段階と、をさらに含んでもよい。
また、該方法は、既定義のスピードカテゴリーが高スピードカテゴリーでありながら、各タイルにエッジが探知されない場合、各タイルに含まれたピクセルの個数より、サンプルの個数がさらに少ないサンプリングパターンを選択する段階と、既定義のスピードカテゴリーが高スピードカテゴリーでありながら、各タイルにエッジが探知される場合、少なくともピクセル当たり1つのサンプルである個数を有するサンプリングパターンを選択する段階と、を含んでもよい。
さらに他の側面によって、グラフィックスパイプラインを含むグラフィックスシステムは、適応デサンプリング(adaptive desampling:AD)サンプル生成部(AD sample generator)と、ADサンプル生成部と連結されたピクセルシェーダ(pixel shader)と、を含み、ADサンプル生成部は、各タイル内の客体のスピードに基づいて、前記各タイルに対するサンプリングレートを決定し、前記決定されたサンプリングレートに基づいて、サンプリングパターンを選択することができる。
また、ADサンプル生成部は、客体のスピード及び各タイルがエッジを含むか否かということに基づいて、各タイルに対するサンプリングパターン及びサンプリングレートを決定することができる。
また、ADサンプル生成部は、以前フレームにおいて、前記客体を構成するバーテックスの座標と、現在フレームにおいて、前記バーテックスの座標と対応する座標とを比較し、各タイル内のピクセルそれぞれごとに速度を決定する速度バッファ(velocity buffer)と、各タイル内にエッジが存在するか否かということを探知するエッジ探知部(edge detector)と、各タイル内にエッジが存在するか否かということ、及び各タイル内のピクセルそれぞれの速度に基づいて、サンプリングパターン及びサンプリングレートを決定するサンプル生成部(sample generator)と、を含んでもよい。
また、各タイルの客体のスピードが、所定の臨界スピード値以上であり、各タイルがエッジを含まない場合、各タイルに対して低下したサンプリングレートが選択されてもよい。
また、該グラフィックスシステムは、復元モジュール(reconstruction module)をさらに含み、各タイルが準静的スピード値以下であるスピードを有する場合、低下したサンプリングレートを有するサンプリングパターンが選択され、該復元モジュールは、移送を介して、以前フレームのピクセルデータを再使用し、レンダリングされていないピクセルに係わるデータ(missing pixel data)を生成することができる。
また、該復元モジュールは、ピクセル座標での変化をマッピングし、以前フレームのピクセルの位置を認識することができる。
また、各タイルの客体のスピードが所定の準静的スピード限界値以下である場合、各タイルのピクセルの一部は、レンダリングされ、他の一部は、所定の比率によって、以前フレームから再使用されてもよい。
さらに他の側面によって、グラフィックス・プロセッシングを行う方法は、以前フレームと現在フレームとの比較を介して決定されたスピードに基づいて、現在フレームの各タイルに対する適応的レンダリングを行う段階を含んでもよい。
さらに他の側面によって、グラフィックス・プロセッシングを行う方法を具現するためのプログラムが記録されたコンピュータで読み取り可能な記録媒体が提供される。
既存のグラフィックスパイプラインを図示する図面である。 本開示によるグラフィックスパイプラインを図示する図面である。 一実施形態によって、ADサンプル生成部を図示する図面である。 一実施形態によるスピード体制(speed regime)を図示する図面である。 一実施形態によって、適応的レンダリングを示すフローチャートである。 サンプリングパターンとディザリングの実施形態とを図示する図面である。 一実施形態によるディザリング方法を図示する図面である。 移送の一実施形態を図示する図面である。 グラフィックスパイプラインが移送を行う方法を図示する図面である。 グラフィックスパイプラインが復元及び補間を行う一実施形態を図示する図面である。 補間に係わるサンプリングパターンの実施形態を図示する図面である。 補間に係わるサンプリングパターンの実施形態を図示する図面である。 一実施形態によって、グラフィックスパイプラインが適応的デサンプリング及びスプライン補間を行う方法を図示する図面である。 一実施形態によって、グラフィックスパイプラインがスプライン補間を行う方法を図示する図面である。 一実施形態によって、グラフィックスパイプラインがステンシルを活用する方法を図示する図面である。 三次元スプラインを介した移送及び復元の一実施形態を図示する図面である。 フレームの互いに異なる領域に、適応的レンダリングが適用される実施形態を図示する図面である。 フレームの互いに異なる領域に、適応的レンダリングが適用される実施形態を図示する図面である。 両眼視差映像に移送が適用される実施形態を図示する図面である。 本開示による適応的レンダリングがフォビエティドレンダリング(foveated rendering)に適用される実施形態を図示する図面である。
以下、添付された図面を参照しながら、ただ例示のための実施形態について詳細に説明する。下記実施形態は、技術的思想を具体化するためのものであるのみ、権利範囲を制限したり限定したりするものではないということは言うまでもない。詳細な説明及び実施形態から、当該技術分野に属する当業者が容易に類推することができることは、権利範囲に属すると解釈される。
本明細書で使用される「構成される」または「含む」というような用語は、明細書上に記載されたさまざまな構成要素、あるいはさまざまな段階を必ずしもいずれも含むものであると解釈されてはならず、そのうち一部の構成要素、または一部の段階は、含まれないこともあり、または追加的な構成要素または段階をさらに含んでもよいと解釈されなければならない。
また、本明細書で使用される「第1」または「第2」というような序数を含む用語は、多様な構成要素の説明に使用することができるが、かような用語は、1つの構成要素を他の構成要素から区別したり、あるいは説明の便宜を図ったりする目的に使用される。
以下では、図面を参照し、本開示による実施形態について詳細に説明する。
図2は、本開示によるグラフィックスパイプライン200を示す。グラフィックスパイプライン200は、グラフィックス・ハードウェアを含むグラフィックス・プロセッシングユニット(GPU:graphics processing unit)を利用して遂行される。また、グラフィックスパイプライン200は、グラフィックスシステム(graphics system)に含まれてもよい。グラフィックスパイプライン200は、タイル内の全てのピクセルがサンプリングされたりレンダリングされたりするように要求しないフレーム内の領域を、自動的に決定するための新たな段階及び機能を含んでもよい。すなわち、グラフィックスパイプライン200は、ユーザの受容可能な(受け入れることが可能な)視覚的経験を考慮し、タイルそれぞれのうちの全ピクセルがサンプリングされるようには要求しないフレーム内の領域を決定することができる。タイルという用語は、イメージ内の隣接したピクセルセットを意味し、一実施形態によってタイルは、四角形状のブロックになる。フレームという用語は、既設定の頻度で見られるイメージをレンダリングするために遂行されるオペレーションのセットを意味する。また、フレームという用語は、オペレーションのセットから生成されるレンダリングされたイメージを意味することもできる。
一実施形態によって、ADサンプル生成部(adaptive desampling sample generator)205は、イメージの領域に係わるサンプリングパターン(sampling pattern)を調整することができる。イメージの領域は、4X4ピクセルブロックまたは16X16ピクセルブロックのようなピクセルブロックに対応するタイルになる。デサンプリング(desampling)は、現在フレームにおいてレンダリングまたはサンプリングされる各タイル当たりサンプルの個数を減らすことを意味する。例えば、デサンプリングは、平均的に、各タイル当たり1より小さいサンプルに対してサンプリングすることを意味する。また、デサンプリングという用語は、サブサンプリング(sub-sampling)という用語とも混用される(代替的に使用されてもよい)。フルイメージ解像度(full image resolution)を維持するために、レンダリングされていないピクセルのデータ(missing pixel data)の値を獲得するのに、二種の異なるアプローチが利用されてもよい。復元及び移送モジュール(reconstruction and advection module)210は、ユーザのための視覚的クオリティが維持される間、タイル内でサンプリングされたりレンダリングされたりするピクセルの個数を減らす互いに異なる二種の方法を提供することができる。一実施形態によって、復元及び移送モジュール210は、復元モジュール211と移送モジュール212とを含んでもよい。一実施形態によって、互いに異なる二種の方法のうち最初の方法は、高次数の多項式補間法を介した復元と、レンダリングされていないピクセルデータを生成するためのタイル内でのフィルタリングとである。2番目の方法は、以前フレーム(previous frame)での少なくとも1つのピクセルの位置を認識し、タイル内の一部選択されたピクセルのために認識された少なくとも1つのピクセルを再使用することである。
一実施形態によって、n番目フレームにおいて、客体に係わるピクセルデータが、(n+1)番目フレームで再使用される(215)。また、n番目フレームにおいて、客体に係わるピクセルデータは、(n+1)番目フレームで再使用される可能性のために保存される。また、n番目フレームのバーテックス座標データは、(n+1)番目フレームにおいて、ピクセルのフレーム間モーションベクトルを決定するために利用される(220)。一実施形態によって、n番目フレームにおいて、ピクセルデータ及びバーテックス座標データは、(n+1)番目フレームでの使用のためにバッファメモリに保存される。
図3は、一実施形態によるADサンプル生成部205を示す。一実施形態によって、速度(velocity)及びエッジ探知(edge detection)に基づいて、タイル領域内でのデサンプリング決定がなされる。例えば、エッジ探知は、深さ(depth/Z)でのエッジ探知を意味する。速度バッファ310は、現在フレーム及び以前フレームから、各バーテックス当たり座標情報を受信することができる。各ピクセルの速度は、現在フレーム及び以前フレームから受信された各バーテックス当たり座標情報を比較して決定される。一実施形態によって、シーン(scene)からのプリミティブと共に、速度イメージ(velocity image)をレンダリングするために、フォワードスプラッティング(forward splatting)・アプローチが利用される。また、バーテックス特性(vertex attribute)である各バーテックス当たり速度を利用するために、フォワードスプラッティング・アプローチが利用される。レンダリングが進められる間、多くのグラフィックス・アプリケーションは、ピクセルシェーダインスタンスの個数を減少させるためのテクニックとして、深さバッファ(Z−buffer)を生成することができる。速度バッファまたは速度イメージは、深さバッファと共に生成される。深さバッファが生成されるZ−passが進められる間、深さ値に対するアップデート及びスプラッティングと共に、各ピクセルごとに速度もアップデートされる。スクリーン空間上において、各ピクセル当たり速度値が速度バッファでもって生成され、速度値の大きさは、スピードに対応する。該タイルは、各ピクセルと関連するピクセルスピードを有することができる。該タイルは、最大ピクセルスピード、平均ピクセルスピードまたは最小ピクセルスピードを有することができる。すなわち、該タイルは、タイルに含まれたピクセルそれぞれのスピードのうち最大値であるピクセルスピードを最大ピクセルスピードとして、中間値であるピクセルスピードを中間ピクセルスピードとして、最小値であるピクセルスピードを最小ピクセルスピードとして有することができる。一実施形態によって、中間ピクセルスピードがデサンプリング決定に利用され、最大ピクセルスピード及び平均ピクセルスピードも、デサンプリング決定に利用される。
視覚的アーチファクト(visual artifacts)は、動く客体内において、肉眼にあまり認知されない。従って、サンプリングレートがタイル内で低下するか否かということを決定する要因は、ピクセルスピードが所定の臨界値を超えるか否かということになる。
しかし、一部視覚的アーチファクトは、色エッジ(color edge)でさらに認知されやすい。厳格な意味において、まず、イメージをレンダリングせずしては、色エッジを最終イメージで探知することは不可能である。しかし、レンダリングする前に、高い可能性(likelihood)で色エッジを探知することは可能である。従って、一実施形態によって、エッジ探知モジュール305は、ピクセルブロックに対する色エッジの可能性を探知することができる。すなわち、客体に係わる色変化の高い可能性を予測することにより、色エッジの高い可能性を有する領域が探知される。一実施形態によって、現在フレームでのラスタ化からの深さ値が、エッジ探知を行うために分析される。ラプラスエッジ探知部(Laplace edge detector)は、現在ピクセル上において、中心に位置したステンシル(stencil)として定義される。タイル内のあるピクセルは、あるピクセルにおいて、深さバッファのラプラシアン(Laplacian)が、あるピクセルの深さ値が乗じられた臨界値より大きい場合、エッジを有すると表示される。タイル内のあるピクセルが、エッジを有するか否かということを、タイル内の1ビット値で定義することができる。また、エッジ探知のいかなるタイプでも利用される。
一実施形態によって、エッジマスク(edge mask)が各タイルごとに生成され、タイルが、少なくとも1つのエッジを含むか否かということを示す。エッジ状態ビット(edge state bit)が生成される。例えば、4X4ピクセルブロックに対するエッジマスクが生成されるが、ピクセルブロックのサイズは、それに制限されるものではない。速度及びエッジの存在に係わる情報は、タイルに係わるサンプルパターンを決定するために、サンプル生成部315によって利用される。一実施形態によって、エッジが探知される場合、フルサンプリング解像度が活用される。また、エッジが探知されず、タイルが第1臨界速度より速い速度を有する場合、第1低下サンプリングレートが利用される。また、エッジが探知されず、タイルが第2臨界速度より速い速度を有する場合、第2低下サンプリングレートが利用される。また、サンプリングレートの決定に、他の付加的な要素が考慮される。サンプルパターンの例としては、各ピクセル当たり少なくとも1つのサンプルであるフルサンプル解像度、各タイル内のピクセルの半分がサンプリングされる2分の1解像度(one-half resolution)、各タイル内のピクセルの4分の1がサンプリングされる4分の1解像度(one-quarter resolution)になる。また、各サンプリングレートのために、臨界パラメータによって調節される複数のサンプリングレートが提供される。さらに、選択されたサンプリングレートは、選択されたブロック/タイルサイズに対して最適化される。例えば、4X4ブロックについては、4サンプル、8サンプルまたは16サンプルのサンプリングレートが適用される。また、一実施形態によって、1セットに含まれたサンプリングレートそれぞれは、臨界パラメータによって調節される。従って、サンプリングレートの個数Nは、ブロック/タイルの大きさ、または他の要素のような細部事項に基づいて決定される。
一実施形態によって、ディザリングモジュール(dithering module)320は、同一の効果を示すサンプリングレートを有するサンプリングパターンの選択から、サンプリングパターンを調整するために提供される。ディザリングは、反復的なシーケンスまたはランダムな側面を含んでもよい。反復的なシーケンスの例としては、サンプルパターン1、サンプルパターン2、サンプルパターン3、サンプルパターン4になる。
ディザリングモジュール320によるサンプリングパターンのディザリングは、人間であるユーザによるサンプリングアーチファクトの視覚的認知を低減させることができる。サンプリングレートが生体臨界よりさらに高い場合、人間の目と脳は、イメージをビデオシーケンスと混ぜ始める。すなわち、イメージが生体臨界よりさらに高いレートに変わる場合、肉眼は、経時的にイメージを混ぜ、イメージを、ビデオのような連続的に変わるシーケンスとして認知する。秒当たり12フレームであるフレームレートにおいて、人間の目と脳は、イメージシーケンスを個別的なイメージではなく、動くイメージとして見始める。しかし、相対的に流動的な動き(滑らかな動き)として見えるためには、秒当たり15フレーム以上のフレームレートが要求される。しかし、イメージ自体の特性は、人間である観察者が、与えられたフレームレートにおいて、流動的な動きを認知するか否かということに係わるさらなる要因になる。秒当たり12フレーム以上のフレームレートにおいて、肉眼は、ディザリングされた視覚的アーチファクトを平均化させる傾向がある。一実施形態によって、肉眼が、各イメージを見分けることができるさらに早い、少なくとも超当たり15フレームで各ピクセルがレンダリングされるために、ディザリングが行われる。秒当たり60フレームにおいて、毎4フレームごとに、タイルのサンプルパターンをディザリングすることは、少なくとも超当たり15フレームにおいて、各ピクセルをレンダリングすることと対応する。
図4は、一実施形態によるスピード体制(speed regimes)を示す。スピード体制という用語は、スピードカテゴリーという用語と混用される(代替的に使用されてもよい)。モーション(すなわち、動き)は、客体のモーションとカメラのモーションとの組み合わせにもなる。スピードは、タイル内のモーションベクトルの大きさ(magnitude)に対応する。例えば、該スピードは、受容可能な視覚的クオリティを有するピクセルブロックで必要とするサンプルの個数を示す指示子(indicator)でもある。肉眼は、動く客体において、高い頻度(frequency)を認知することができないために、ピクセルブロックにおいて、モーションが所定の臨界スピードKfast1より速い場合、サンプルの個数は減少する。例えば、4X4タイルにおいて、8個のサンプルになる。また、スピードが、所定の臨界スピードKfast2より速い場合、サンプルの個数はさらに減少する。例えば、4X4タイルにおいて4個のサンプルになる。一方、モーションがタイル内で非常に遅い場合、すなわち、モーションが所定のスピードKstatより遅い場合、以前フレームからのピクセルデータが再使用される可能性がある。例えば、モーションが、所定のスピードKstatより遅いか、あるいはモーションがない場合、以前フレームの4X4タイルにおいて8個のサンプルをレンダリングし、移送(advection)を介して、以前フレームでレンダリングされた8個のカラー値を再使用することができる。以前フレームからのピクセルデータの再使用は、以前フレームと現在フレームとの間のグラフィックス状態の変化がないということを必要とする。一実施形態によって、グラフィックス状態は、使用されたシェーダ、シェーダに提供された定数(contants)、及びフレームに提供されたジオメトリ(例えば、幾何学的形状、配置、配列など)を含んでもよい。また、フルサンプリング解像度が要求されるスピード体制が存在する。一実施形態によって、KstatとKfast1との間である中間スピード体制で、高い視覚的クオリティを獲得するために、フルサンプリング解像度が要求される。さらに、スーパーサンプリング(super-sampling)が各タイルに適用される。また、一実施形態によって、Z−edgeの場合のスーパーサンプリングのためのオプションが提供される。
一実施形態によって、スピードが、第1臨界スピードKfast1より速い場合、デサンプリングが許容される。デサンプリングは、一実施形態によって、ピクセル当たり1つのサンプル以下にサンプリングレートを低下させるために、サンプルパターンを変更することを意味する。一実施形態によって、スピードが、第2臨界スピードKfast2を超える場合、サンプリングレートがさらに低下するように許容される。デサンプリングを行うか否かということに係わる決定は、エッジが探知されるか否かというような条件に基づく。
一実施形態によって、現在フレームと以前フレームとのバーテックス位置データの差分(differencing)によって、カメラスクリーン空間での動きが獲得される。客体のピクセルが、フレーム間でいかほど動いたかということに基づいたモーションベクトルの大きさを計算し、タイルのスピード体制を、タイル対タイル基盤に分類することができる。一実施形態によって、ピクセル当たり動きベクトルを決定するために、Z−passにおいて、スプラッティング(splatting)が利用される。一実施形態によって、適応的デサンプリング(adaptive desampling)または移送(advection)が、現在フレームで利用されるか否かということに係わる決定のために、スピード臨界が定義され、入力として利用される。一実施形態によって、速度体制は、準静的体制(quasi-static regime)でもあり、準静的体制内において、客体は、以前フレームに比べ、大きくは異ならない程度に遅く動く。スピードが準静的スピード限界内である場合、以前フレームのピクセルを再使用するために、移送の遂行いかんが決定される。一実施形態によって、準静的スピードの上限であるKstatにおいて、n番目フレーム内の所定タイルのピクセルが、(n+1)番目フレーム内の同一タイルでそのまま維持される。一実施形態によって、スピードがKstat以下である場合、以前フレームでのピクセルが、現在フレームで使用されるか否かということを決定するために、さらなる事項がチェックされる。チェックされるさらなる事項としては、移送が以前フレームで受容可能な結果を提供するか否かということに係わる確認になる。また、現在フレーム内のタイルのピクセル値が、以前フレームに比べ、小さい動きに一貫するか否かということをチェックし、それを不一致チェック(discrepancy check)という。移送不一致状態ビット(advection discrepancy check state bit)は、タイルと関連し、タイルが少なくとも一部のピクセルデータの移送のために適するか否かということを示すことができる。
図5は、スピード、エッジ探知、ディザリング、スプライン復元及び移送に基づいた適応的レンダリング選択の一例示を説明するフローチャートである。既存のグラフィックスパイプラインの特徴は、本開示の明確性のために省略されている。図5は、4X4タイルに係わる一例示を示す。グラフィックスパイプライン200は、初期プリパス(pre-pass)を行った後、ピクセルデータをレンダリングするために、カラーパスを行う。グラフィックスパイプライン200は、深さバッファを計算し(510)、エッジ探知を行う(515)。また、グラフィックスパイプライン200は、シーンジオメトリ(scene geometry)のために、モーションベクトルを計算する(520)。また、グラフィックスパイプライン200は、ピクセル当たりモーションベクトルを計算する(525)。グラフィックスパイプライン200は、タイル内でモーションの範囲を計算する(530)。段階535では、グラフィックスパイプライン200は、以前の段階から獲得された情報に基づいて、1)4X4ブロック内において、4サンプル、8サンプルまたは16サンプルに対するレンダリング及び補間(interpolation)を行うか、2)4X4ブロック内において、8個サンプルに対するレンダリング及び8個サンプルに対する移送を行うか否かということを決定することができる。ピクセルデータを復元するために、スプライン復元(spline reconstruction)が活用される(545)。移送が行われた場合、8個のピクセル値が移送され、残りはレンダリングされる(550)。
図6Aは、サンプリングパターンとディザリングの実施形態とを示す。図6Aでは、一実施形態によって、タイルの大きさを4X4ピクセルブロックに図示してあるが、それに制限されるものではない。フル解像度は、16個のサンプルと対応する。8個のサンプルと対応する2分の1解像度、及び4個のサンプルと対応する4分の1解像度は、サンプルのパターンによって多様になる。すなわち、8個のサンプルの場合、サンプルの配列が、第1サンプルパターン、第2サンプルパターン、第3サンプルパターンのように多様になる。既設定のサンプリングパターンを有するということは、時間的色平均化(temporal color averaging)のためのサンプルパターンのディザリングを可能にすることができる。全ピクセルが所定のフレームごとにレンダリングされるために、サンプリングを循環させる既設定のサンプリングパターンが選択される。サンプルパターンのディザリングは、異なるテクニックによってなされる。一実施形態によって、各フレームでのサンプルパターンが、ディザリングモジュール320によって選択される。また、サンプルパターンは、モジュロ(modulo)kカウンタによるシーケンスになる。複数のフレームにわたる時間の間、サンプル位置をディザリングすることにより、レンダリングの間、人間が観察し難いエラーが発生する。一実施形態によって、各ピクセルが、少なくともkフレームごとに1回ずつはレンダリングされるように、サンプルパターンが選択される。その場合、nXnタイルにおいて、(n*n)/kは、サンプルの最小個数になる。他の実施形態によって、サンプルパターンを選択するために、確率論的アプローチ(stochastic approach)を利用して、時間的ディザリング(temporal dithering)が行われる。
図6Bは、一実施形態によるディザリング方法を示す。段階605において、グラフィックスパイプライン200は、低下した平均サンプリングレートにおいて、サブサンプリングのために、現在フレームのタイルを選択することができる。段階610において、グラフィックスパイプライン200は、各タイルにおいて、サンプリングパターンのセットからサンプリングパターンを選択し、選択されたサンプリングパターンは、以前フレームに比べて変化している。段階615において、グラフィックスパイプライン200は、フレームに対するレンダリング及び復元を行う。さらなるフレームがレンダリングされる場合、プロセスは続く。段階620において、グラフィックスパイプライン200は、次のフレームを進める。
図7Aは、移送(advection)の一実施形態を示す。4X4タイル700のようなタイル領域において、該移送は、以前フレームでの与えられた位置のピクセルからのピクセルデータが、現在フレームでの対応する位置(corresponding location)のピクセルにコピーされるということを意味する。例えば、個別的な客体がスクリーン内で動き、該客体の全ピクセルが所定の速度で動く。次に、あるフレームから他のフレームに動く客体のピクセル間には、高レベルの時間的一貫性(temporal coherence)がある。変化の主な要因は、動きにもなる。フレーム内において、客体の各ピクセルの動きが決定されることにより、ピクセルデータは、フレーム内でコピーされる。例えば、ピクセルデータが現在ピクセル位置において、以前フレームでの対応する位置にマッピングされるほどに動きが遅いことがある。以前フレームでのピクセルの位置は、x(n−1)=x(n)−mv(x)のように計算される。すなわち、x(n−1)は、以前フレームでのピクセルの位置を意味し、x(n)は、現在フレームでのピクセルの位置を意味し、mv(x)は、動きベクトルを意味する。結果として、ピクセルデータは、x(n−1)からx(n)にコピーされる。ピクセルの動きがフレームの間で小さい場合、現在フレームでのピクセル位置が、以前フレームでのピクセル位置に投影され、以前フレームでのピクセルデータがコピーされる。x(n−1)がデシマル要素(decimal component)を有しているならば、そこから、または高次数の補間法が利用される。
図7Aにおいて、移送は、レンダリングと共に行われる。一実施形態によって、タイルのピクセルのうち半分は移送が行われ(705)、残りの半分は、レンダリングが行われる(710)。1フレーム内において、移送とレンダリングとを共に行うことは、移送だけ行うことによって生成される視覚的アーチファクトを減らすことができる。すなわち、移送とレンダリングとを共に行うことは、典型的な、人間によって感知される移送による視覚的エラーの可能性を最小化させることができる。また、時間的ディザリングを共に行うことは、経時的にエラーを蓄積させず、典型的な、人間によって認知される視覚的エラーの可能性を最小化させることができる。レンダリングされるピクセルと、移送されるピクセルとの比率が1:1であるということは、一例であるにすぎず、他の比率でもよい。
一実施形態によって、最大スピードは、移送が許容されるか否かということに係わる条件に利用される。一実施形態によって、臨界スピードが低く設定されることにより、小規模のピクセルのうち一部のピクセルの位置の局所的変形は、剛体変換(rigid transformation)に分類され、該剛体変換は、ピクセルの位置の変化が、全体ピクセルセットを基に、1回の回転(rotation)、及び1回の並進(translation)を利用して表現されることを意味する。例えば、移送のための最大スピードは、ピクセルモーションの大きさがkピクセルの臨界より低い場合にもなる。該剛体変換は、いかなるスピドでも生じる可能性があり、その可能性は、スピードが増大しながら低下する。スピード臨界値は、移送の発生可能性に対する基準(criterion)にもなる。不一致チェックは、該移送が、適する結果を生産するか否かということを決定するために、各タイルに対して行われる。かような不一致チェックは、現在フレームに行われ、1ビット値で各タイルごとに書き込まれ、かような1ビット値は、次フレームであるタイル周辺において、移送が不可であるか否かということに係わる決定を可能にする。すなわち、該移送が、n番目フレーム内のタイルに行われ、n番目フレームに対する不一致チェックが行われ、不一致チェックは、(n+1)番目フレームで使用されることができる。(n+1)番目フレームは、n番目フレームで計算された不一致チェックを利用して、(n+1)番目フレーム内のタイル周辺に対する移送を行うか否かということを決定する。n番目フレームの不一致チェックが、移送結果が受容可能であると示されれば、(n+1)番目フレームで移送が許容される。n番目フレームの不一致チェックが、移送結果が受容可能ではないと示されれば、選択されたフレームに対する移送はなされない。不一致チェックは、タイルのピクセル値に重大な変化があるか否かということに基づくチェックである。客体のピクセルが遅く動く場合、タイルは、2個のフレーム間において、重大に変化しないと予測される。従って、タイルの状態が重大に変わる場合、不一致チェックは失敗する。0または1の値を有するタイル状態不一致ビット(tile state discrepancy bit)は、不一致チェックがパスするか否かということを示すのに利用される。タイル状態の変化が許容される程度は、経験的に(empirically)または発見的(heuristically)に決定され、移送による計算的利益(computational benefit)と、視覚的アーチファクトの発生を最小化することとのトレードオフを考慮して決定される。
不一致チェックを行う他の方法が利用される。現在n番目フレームのタイルでの移送を行うのに計算的利益があり、不一致チェックを行うのに計算的利益があり、(n+1)番目フレームで移送を行うか否かということを決定するために、不一致チェックを利用するのに計算的利益がある。また、不一致チェックは、n番目フレームで行われ、以前フレームからのピクセルを再使用するために、n番目フレームで移送を活用するか否かということを決定するのに利用される。
正確度を向上させるために、多様なエンハンスメント(enhancement)が利用される。一実施形態によって、BFECC(back and forth error correction and compensation)が利用される。BFECCは、セミラグランジュ移送(semi-Lagrangian advection)から決定された位置を活用し、現在フレームでの新たな位置を獲得するために、決定された位置の座標に速度を付加することができる。エラーがなければ、座標は、本来の座標(x,y)と同一でなければならない。そうではなければ、(x−vx,y−vy)からエラーの半分を減算することにより、二次正確予測された位置が獲得される。速度が正確であるならば、二次正確予測された位置は、ピクセルの半分ほど正確である。
図7Bは、一実施形態によって移送を行う方法を示す。段階1405において、グラフィックスパイプライン200は、タイルが移送に適するか否かということを決定する。一実施形態によって、適するか否かということは、タイルのスピード範囲が、準静的範囲内にあるか否かということが決定され、共にさらなる不一致チェックが行われる。段階1410において、グラフィックスパイプライン200は、タイルが移送に適するならば、以前フレームにおいて、客体のピクセル位置を決定する。段階1415において、グラフィックスパイプライン200は、移送及び不一致チェックを行う。段階1420において、グラフィックスパイプライン200は、以前フレームから、タイルの一部選択されたピクセルを再使用することができる。段階1425で、グラフィックスパイプライン200は、残りのピクセルをレンダリングすることができる。
図8は、一実施形態によって、デサンプリング状況において、ピクセルのカラー値の復元及びイメージ補間(image interpolation)を示す。一実施形態によって、カラー値の加重化された和(weighted summation)が、レンダリングされていないピクセルの復元に利用される。既設定の加重関数wにおいて、正規化された加重値セットが、特定サンプリングパターンから示される各ピクセルに対して、あらかじめ計算される。例えば、4X4ブロックにおいて、4個のピクセルがレンダリングされる場合、残った12個のピクセルは、同じブロックでレンダリングされたピクセル、または周辺ブロックでレンダリングされたピクセルの加重化された和を利用して表現される。また、周辺ブロックにおいて、可能なピクセル構成のセットがサンプリングパターンのセットによって制限されるために、全ての可能な加重値セットがあらかじめ計算される。
一般的に、GPUは、二重線形補間を活用することができる。しかし、二重線形補間は、多様な短所を含む。一実施形態によって、少なくとも三次以上の高次数の多項式がスパースサンプル(sparse samples)の効果的な復元のために利用される。高次数の多項式の例としては、三次スプライン(cubic spline)と呼ばれる近似三次多項式を有することができる。
三次スプラインのような高次数の多項式は、二重線形補間よりさらに広い周波数スペクトルをマッピングし、サブサンプリングされたブロックから復元されたデータの高い正確度を提供することができる。また、二重線形補間が利用される場合、ピクセルの両側面に対するサンプルが好まれ、一側面線形外挿(one-sided linearextrapolation)は、不正確な可能性があり、色スペクトル範囲を超える。それと対照的に、1つのピクセル以上の広いサポートを使用する高次数の多項式は、レンダリングされたイメージデータの関数的な形態(functional form)に正確に近似する。多様な高次数の多項式が利用されるが、三次スプラインは、四次多項式よりはるかに連続性(continuity)特性を有する。デサンプリングの前に遂行されるエッジ探知段階のために、復元されるタイルは、鋭い不連続性を有さない可能性が高い。鋭い不連続性において、高次数の多項式復元は、低調に行われる。
サブサンプリングを行う一側面は、ランタイム(runtime)中に、スパースサンプルデータ(sparse sample data)があるというものである。kXkピクセル領域のようなブロック領域において、デサンプリングを介して、ブロック内の一部のピクセルがレンダリングされる。従って、残りのピクセルについては、復元が必要である。既定のサンプルパターンによって、可能なサンプル位置の有限なセットが決定される。それにより、ランタイムの前に、ローカルステンシルの固定されたセットが生成され、保存され、三次スプライン、または他の高次数の多項式を利用して、ピクセルデータの復元に利用される。既存には、高次数の多項式をハードウェアで評価するのに、計算的なロードが多かった。それに反して、本開示では、あらかじめ計算されたステンシルの固定されたセットを利用することにより、ランタイム中に、高次数の多項式評価(higher order polynomial evaluation)を行うことによって生じる計算的なオーバーヘッドを除去することができる。サンプルの固定されたセットの使用は、復元が必要なピクセルの可能な構成を決定させる。それにより、要求されるステンシルがあらかじめ計算される。
一実施形態によって、既計算の加重値を利用して、高次数の多項式補間が固定的ステンシルオペレーションのように実行される。一実施形態によって、ステンシルテーブルは、保存され、空間的復元のために使用可能にもなる。ステンシルテーブルは、知られたサンプル位置に基づいた加重値を提供することができる。一実施形態によって、ステンシルテーブルは、既定義のサンプルパターン内の各ピクセル位置に対する既計算のステンシル加重値をいずれも含んでもよい。既計算の加重値は、固定的ステンシルオペレーションを利用して、高次数の多項式復元が行われるように許容することができる。
一実施形態によって、ランタイム中に補間が必要な、タイルの全ての可能なピクセル位置のために、5X5ステンシルセットが決定される。各5X5ステンシルは、各ピクセル位置及び周辺構成のために計算される。各ステンシルは、各ステンシルと対応する加重値リストを提供することができる。ステンシルは、復元目的のために使用可能な一時的なメモリテーブルに保存される。一実施形態によって、ランタイム中に、補間される各ピクセルにおいて、インデックスが計算され、ピクセル座標及びサンプリングマスクを利用するテーブルに保存される。各ステンシルは、タイル内のピクセルの位置、及びレンダリングのために使用されるサンプリングマスクを使用してアドレスされる。従って、ディザリングが適用されるならば、選択されたステンシルは、サブサンプリングの与えられた程度のために選択されるサンプルパターンに基づく。
一実施形態によって、高次数の多項式補間は、加重値とサンプルカラー値との乗算を蓄積するために、乗算器/加算器を使用して行われる。蓄積された値は、整数形式(integer format)のためのビットシフト(bit shift)によって行われる乗算によって正規化され、浮動小数点形式(floating point format)のための減算によって正規化される。従って、既計算の加重値及びステンシルの使用は、相対的にさらに少ない計算的ロードで、ランタイム中に高次数の多項式補間が計算されるようにする。
一実施形態によって、復元に利用され、知られたピクセルカラー値の加重化された和によるピクセルカラー値を計算するための三次スプライン関数は、下記数式(1)による。
前記数式(1)で、c(i,j)は、(i,j)に位置したピクセルのカラー値であり、wは、二次元スプライン関数であり、「Filled」は、レンダリングされたピクセルのセットである。一実施形態によって、二次元スプライン関数は2個の一次元スプライン関数の積であるw(i,j)=k(i)k(j)と表現される。一実施形態によって、一次元スプライン関数は、著者であるDon P. Mitchell and Arun N. Netravaliの「Reconstruction Filters in Computer Graphics」, Computer Graphics, Volume 22, Number 4, August 1988, pp. 221-228で説明される三次元フィルタフォーミュラに基づく。例えば、一次元スプライン関数kは、下記数式(2)による。
一実施形態によって、B=C=1/3である。
サンプルポイントの相対的な位置を制限することにより、加重値及びステンシルは、あらかじめ計算される。すなわち、前記数式1において、分母があらかじめ計算される。スプライン関数がエッジによって制限される方式であるために、前記数式2において、xの大きさ調整が、2ピクセル半径のような所定の半径に、前記数式2を拡張させるところに利用される。
nXnサイズのタイルにおいて、kXkピクセルを、(n/k)*(n/k)個の可能な構成に配することができる。sピクセルを要求するサンプリングレート4*sの場合、(n*n)/(k*k*s)個のサンプリングパターンが可能である。
図9は、4X4タイルでのサンプリングパターンの実施形態を示す。4X4タイルにおいて、Xマークは、レンダリングされたサンプルを意味し、Oマークは、補間位置を示す。5X5ステンシルがOマークを中心にして利用される。4X4タイル以外のアクセスが不可能であると仮定すれば、4X4タイル以外の位置においてステンシルは、0値の加重値を有し、4X4タイル以外の位置は、ステンシルテーブルから消される。図9の4X4タイルにおいて、左側上端のピクセルの位置を(0,0)であるとすれば、Xマークに該当する位置は、(0,0)、(2,0)、(0,2)、(2,2)になり、各位置に対応する加重値は、w0、w1、w2、w3になり、加重値に係わる正規化された要素は、wになる。それによって、加重化された和は、1/w(w0*c(0,0)+w1*c(2,0)+w2*c(0,2)+w3*c(2,2))のように計算される。ただし、4X4タイル周辺によるステンシルの影響によって加重化された和が計算されもする。
5X5ステンシルは、24個の既計算の値を含み、中心部は、カラー値を有していないために、0の値を有する。4X4タイル当たり8個のサンプルが使用される場合、半分がレンダリングされ、12個の値を残しておくことになる。一実施形態によって、各ステンシルは、0ではない加重値の数字を示す4ビットカウントを含んで実行され、1つのチャンク(chunk)として保存された8ビット加重値に続き、中心を基準に、x,y座標に係わる3ビット座標オフセットの2つのチャンクに続く。
一実施形態によって、サンプリングパターン順に、ステンシルが保存される。一実施形態によって、同じサンプリングレートに係わる互いに異なるサンプリングパターンは、互いに対するローテーションにもなり、それにより、2セットのパターンになる。2セットのパターンは、ピクセル(i,j)に係わるデータを示すインデックスリストと共に、4X4内において、行優先順(row-major order)で保存される。サンプリングマスクのローテーションのために、座標が適するように変換される。
図10では、4X4タイルの場合、16個のピクセルのうち8個のサンプルがレンダリングされる。4X4タイルにおいて、Xマークは、4個のピクセルである最初のグループのうちレンダリングされるサンプルを意味し、Oマークは、レンダリングされた4個のピクセルに係わる2番目グループを意味する。一実施形態によって、ステンシルは、加重値関数が与えられ、知られていないピクセルそれぞれについて定義される。かようなステンシルは、既定義のステンシルセットから、ランタイム中に獲得される。2ピクセルに係わる半径を有する三次元ステンシルの場合、スーパーサンプリングが行われないならば、ステンシルの大きさは、5X5になる。kXkタイル領域に対するアクセスが制限されるならば、該ステンシルは、タイル外に位置したピクセルについては、0である加重値を有するように修正される。また、サンプルの個数は、ピクセルの個数よりも多い。アンチエイリアシング(anti-aliasing)のためにスーパーサンプリングが行われる領域では、サンプルの個数がピクセルの個数よりも多い。例えば、4X4タイルにおいて、サンプルの個数が32個にもなる。かような場合も、既計算のステンシルが付加される。
一実施形態によって、各サンプリングパターンは、スパーススクエアパターン(sparse square pattern)の組み合わせで定義される。例えば、4個のサンプルがスクエアパターンにレンダリングされる。スクエアパターンの選択は、4個のピクセルのグループを基本単位として処理するアプリケーションに有用である。しかし、さらに一般的に、サンプリング位置の他の配列がサンプリングパターンで利用される。例えば、4X4タイル内において、3X3サイズを有するスクエアは、サンプリングパターンになる。従って、近接したバーテックスは、各軸に沿って分離された2ピクセルになる。
一実施形態によって、既設定のサンプリングレートでサブサンプリングされる各フレームの全領域に対して、同一のサンプリングパターンが利用される。一実施形態によって、毎フレームにおいて、サンプル位置の間隔が一貫しており、それによって、復元ルーチンを単純化することができるために、既設定のサンプリングレートでサブサンプリングされる全タイルに、同一のサンプリングパターンが利用される。
一実施形態によって、サンプリングパターンは、SIMD(single instruction multiple data)プロセッシングユニットを利用するために、4個のピクセルグループ(quads)に基づく。サンプル間隔の一貫性は、強靭な補間(robust interpolation)を提供し、最終イメージでのフルピクセル解像度の獲得に一助となる。
図11は、一実施形態によって、適応的デサンプリング方法及びスプライン補間方法を示す。段階1505において、グラフィックスパイプライン200は、タイルのスピード範囲がサブサンプリングのためのスピード範囲内にあるか否かということを決定し、エッジが存在するか否かということに係わるチェックを行う。段階1510において、グラフィックスパイプライン200は、サブサンプリングレート及びサンプリングパターンを決定する。段階1515において、グラフィックスパイプライン200は、サンプリングパターンを基に、タイルのピクセルに対するシェーディングを行う。段階1520において、グラフィックスパイプライン200は、レンダリングされていないピクセル値に対する補間のための復元を行う。一実施形態によって、スプライン補間が行われる。
図12は、一実施形態によって、スプライン補間を行う方法を示す。段階1705において、グラフィックスパイプライン200は、スパースサンプリングのためのタイルを選択することができる。段階1710において、グラフィックスパイプライン200は、サンプリングパターンを選択することができる。段階1715において、グラフィックスパイプライン200は、サンプル位置にあるピクセルに対するレンダリングを行う。段階1720において、グラフィックスパイプライン200は、既計算の加重値に基づいて、三次元スプライン補間を介して、レンダリングされていないピクセルデータに対する復元を行う。
図13は、一実施形態によって、既計算の加重値を含むステンシルを活用する方法を示す。段階1805において、グラフィックスパイプライン200は、サンプルパターンでレンダリングされていないピクセルそれぞれに係わる既計算の加重値を生成することができる。段階1810において、グラフィックスパイプライン200は、既計算の加重値を含むステンシルを保存することができる。段階1815において、グラフィックスパイプライン200は、保存されたステンシルに、ランタイム中にアクセスすることができる。段階1820において、グラフィックスパイプライン200は、三次元スプライン補間のためにステンシルを利用することができる。
本開示によるグラフィックスパイプライン200は、イメージの各領域内において、サンプリングレートを自動的に減らすための戦略的選択が可能である。すなわち、グラフィックスパイプライン200は、サブサンプリングまたはデサンプリングのように、各ピクセル当たり1つのサンプル以下のサンプルレートをイメージ内の領域ごとにそれぞれ適用するか否かということを判断する戦略的選択が可能である。
図14は、三次元スプラインを介した移送及び復元の一実施形態を示す。図14によれば、タイルは、4X4サイズのタイルにおいて、以前フレームでのピクセルパターンは、チェックボードパターンである。左側の例を見れば、4X4タイルである以前フレームでの半分のピクセルカラーデータが再使用されるために、移送が行われる。タイルに係わる速度が非常に遅いから、以前フレームでの半分のピクセルに対する移送が行われ、半分のピクセルのピクセル値がコピーされる。図14において、タイルに係わる4個の矢印は、以前フレームでのピクセルデータが再使用されるということを意味する。右側の例は、有意のタイルスピードが存在する場合を示し、タイルスピードは、フレーム当たりピクセル半分の変位(half-pixel displacement)に該当する。それにより、三次元スプライン補間に基づいた復元が行われる。フレーム当たりピクセル半分の変位に該当する速度である+0.5Xにより、各レンダリングされたピクセルが、黒色と白色との中間色である灰色を有する。また、復元されたピクセルも、同様に灰色を有する。従って、カラー値が正確であるならば、フル解像度レンダリングも、同じ値を生成することができる。
図15Aは、互いに異なるピクセル速度を有する領域を含むシーンに対応するフレームの一実施形態を示し、一部領域では、エッジを含んでもよい。例えば、シーンは、風によって揺れる植物のような準静的な物体、静的な物体及び動くバイクのような動的な物体を含んでもよい。従って、互いに異なるスピード体制に分類される領域が存在する。結果として、図15Bにおいて、ボックスに表示される領域は、互いに異なるピクセル速度を有し、領域は、適応的レンダリングに係わる互いに異なる機会を提供される。すなわち、各フレームについて、グラフィックスパイプライン200は、自動的に各タイルを分析し、各タイルに対してデサンプリング及び移送を行うか、デサンプリング及び三次元スプライン補間を行うか、あるいは基本的なサンプリングを行うかということを決定する。また、グラフィックスパイプライン200は、各タイルに対して、スーパーサンプリングを行うか否かということに係わる決定を行う。グラフィックスパイプライン200は、自動的に前記のような決定を行うことにより、アプリケーション開発者による別途の入力が必要ではなくなる。
本開示は、仮想現実アプリケーションのための両眼視差映像にも適用される。図16によれば、左目及び右目それぞれに係わる映像が図示されている。移送は、両眼視差映像に対するレンダリングをさらに効率的なものにするために適用される。一実施形態により、まず左目映像がレンダリングされる。左目映像の一部が、右目映像に移動される変換として、変換モーションmotiontransが定義される。一実施形態により、図2のADサンプル生成部205は、左目映像からのピクセル値を移送するために、右目映像に対するサンプリング決定を行う。一実施形態により、サンプリングは、深さ値に基づいて決定され、移送は、左目映像及び右目映像のうち最小深さ値が所定の臨界深さ値より大きいか否かということによって行われる。すなわち、左目映像及び右目映像のうち最小深さ値が所定の臨界深さ値より大きければ(min(Zleft,Zright)>Zthresh)、変換モーションmotiontransを利用して、左目映像から右目映像にピクセルに対する移送が行われる。そうではなければ、モーション基盤サンプリングレートに基づいて、レンダリングが行われる。結果として、図16でのように、右目映像は、レンダリングされたピクセルと、移送されたピクセルとの組み合わせで構成される。
図17は、本開示による適応的レンダリングが、フォビエティドレンダリング(foveated rendering)に適用される実施形態を示す。肉眼の網膜構造は、中心窩(fovea)部分が最も高い視力(visual acuity)を提供することができる。すなわち、肉眼の最も高い視力は、網膜の中心部分であり、中心から遠くなるほど視力は低下する。フォビエティドレンダリングは、ユーザが見る焦点については、高いディテールでレンダリングが行われ、焦点から遠くなるほど、低いディテールでレンダリングを行うということを。図17によれば、焦点1725は、(x,y)と表示される。焦点から遠くなるほど、サンプリングレートは低下する。サンプリングレートの低下は、焦点からの特定半径で段階的に行われる。例えば、円形領域1720、すなわち、半径r0では、所定の個数のサンプルによってレンダリングが行われる。また、円形領域1710、すなわち、半径r0とr1との間では、円形領域1720よりさらに少ない個数のサンプルによってレンダリングが行われる。また、半径r1以上では、円形領域1710よりさらに少ない個数のサンプルによってレンダリングが行われる。例えば、円形領域1720では、16個のサンプルがレンダリングされ、円形領域1720では、8個のサンプルがレンダリングされ、半径r1以上では、4個のサンプルがレンダリングされる。また、半径によってサンプリング関数が多様に適用される。
前述の本実施形態による装置は、プロセッサ;プログラムデータを保存して実行するメモリ、ディスクドライブのような永久保存部(permanent storage);及び外部装置と通信する通信ポート、タッチパネル、キー、ボタンのようなユーザインターフェース装置などを含んでもよい。ソフトウェアモジュールまたはアルゴリズムで具現される方法は、前記プロセッサ上で実行可能なコンピュータで読み取り可能なコードまたはプログラム命令であり、コンピュータが読み取り可能な記録媒体上に保存される。ここで、コンピュータで読み取り可能な記録媒体として、マグネチック記録媒体(例えば、ROM(read only memory)、RAM(random access memory)、フロッピー(登録商標)ディスク、ハードディスクなど)、及び光学的判読媒体(例えば、CD(compact disc)−ROM、DVD(digital versatile disc)などがある。コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータで読み取り可能なコードが保存されて実行される。媒体は、コンピュータによって読み取り可能であり、メモリに保存され、プロセッサで実行される。
本実施例は、機能的なブロック構成及び多様な処理段階で示される。かような機能ブロックは、特定機能を実行する多様な個数のハードウェア構成または/及びソフトウェア構成で具現される。例えば、実施例は、1以上のマイクロプロセッサの制御、または他の制御装置によって多様な機能を実行するメモリ、プロセッシング、ロジック(logic)、ルックアップテーブル(look-up table)のような直接回路構成を採用することができる。構成要素がソフトウェア・プログラミングまたはソフトウェア要素で実行されることと類似して、本実施例は、データ構造、プロセス、ルーチンまたは他のプログラミング構成の組み合わせによって具現される多様なアルゴリズムを含み、C、C++、ジャバ(Java(登録商標))、アセンブラ(assembler)のようなプログラミング言語またはスクリプティング言語によって具現される。機能的な側面は、1以上のプロセッサで実行されるアルゴリズムによって具現される。また、本実施例は、電子的な環境設定、信号処理、及び/またはデータ処理などのために従来技術を採用することができる。「メカニズム」、「要素」、「手段」、「構成」のような用語は、広く使用され、機械的であって物理的な構成として限定されるものではない。前記用語は、プロセッサなどと連繋し、ソフトウェアの一連の処理(routines)の意味を含んでもよい。
また、本明細書で開示される構成要素、プロセッサ段階、データ構造は、多様な運営体制、プログラミング言語、コンピュータプラットホーム、コンピュータプログラム、コンピュータマシンによって遂行される。さらに、当該技術分野に広く使用される技術として、ハードウェア機器、フィールドプログラマブルゲートアレイ(FPGAs)、アプリケーション特定内臓回路(ASICs)などは、前述の発明の概念の範囲を外れない範囲で利用される。
本実施形態で説明する特定の実施例は例示であり、いかなる方法でも、技術的範囲を限定するものではない。明細書の簡潔さのために、従来電子的な構成、制御システム、ソフトウェア、前記システムの他の機能的な側面の記載は省略される。また、図面に図示された構成要素間の線の連結または連結部材は、機能的な連結、及び/または物理的または回路的な連結を例示的に示したものであり、実際の装置では、代替可能であったり追加されたりする多様な機能的な連結、物理的な連結、または回路的な連結として示される。
本明細書(特に、特許請求範囲)において、「前記」の用語、及びそれと類似した指示用語の使用は、単数及び複数のいずれもに該当する。また、範囲(range)を記載した場合、前記範囲に属する個別的な値を含むものであり、(それに反する記載がなければ)、詳細な説明に前記範囲を構成する各個別的な値を記載した通りである。最後に、方法を構成する段階について、明白に順序を記載したり、あるいはそれと反する記載がなければ、前記段階は、適切な順序で行われる。必ずしも前記段階の記載順序に限定されるものではない。全ての例または例示的な用語(例えば、「など」など)の使用は、単純に技術的思想について詳細に説明するためのものであり、特許請求の範囲によって限定されない以上、前記例または例示的な用語によって範囲が限定されるものではない。また、当業者は、多様な修正、組み合わせ及び変更が付加された特許請求の範囲またはその均等物の範疇内で、設計条件及びファクタによって構成されるということを理解することができるであろう。
本発明の適応的レンダリングを行う方法及びグラフィックスシステムは、例えば、映像処理関連の技術分野に効果的に適用可能である。
100,200 グラフィックスパイプライン
105 バーテックスシェーダ
110 プリミティブ・アセンブリ及びレスタ化部
115 プリミティブ/ピクセルシェーダ
120 フレームバッファ
125 テクスチャメモリ
205 ADサンプル生成部
210 復元及び移送モジュール
211 復元モジュール
212 移送モジュール
305 エッジ探知モジュール
310 速度バッファ
315 サンプル生成部
320 ディザリングモジュール
700 4X4タイル
1710,1720 円形領域
1725 焦点

Claims (27)

  1. グラフィックス・プロセッシングを行う方法において、
    以前フレームと現在フレームとの比較により、前記現在フレームの各タイルに含まれた客体の相対的なスピードを決定する段階と、
    前記決定に基づいて、前記各タイルを、既定義のスピードカテゴリーに分類する段階と、
    前記分類に基づいて、前記各タイルに適用されるサンプリングを決定する段階と、
    前記決定されたサンプリングに基づいて、前記各タイルに係わるレンダリングを行う段階と、を含む方法。
  2. 前記既定義のスピードカテゴリーは、準静的スピードカテゴリーを含み、前記準静的スピードカテゴリーである場合、
    前記以前フレームでのピクセルのデータをコピーする段階と、
    前記ピクセルと対応する前記現在フレームでのピクセルのデータとして、前記コピーされたデータを再使用する段階と、をさらに含むことを特徴とする請求項1に記載の方法。
  3. 前記コピーする段階は、
    レンダリングされるピクセルと、レンダリングされていないピクセルとの既設定の比率に基づいて、前記以前フレームのタイルの一部のピクセルを、前記現在フレームのタイルにコピーすることを特徴とする請求項2に記載の方法。
  4. 前記以前フレームでのピクセルのデータを再使用する条件として、以前フレームのピクセルカラー値に対する不一致チェックを行う段階をさらに含むことを特徴とする請求項2に記載の方法。
  5. 前記客体の相対的なスピードは、前記以前フレームと前記現在フレームとの間において、レンダリングされたジオメトリのためのバーテックス位置データの差から決定されることを特徴とする請求項1〜4のうち何れか1項に記載の方法。
  6. 前記既定義のスピードカテゴリーは、高スピードカテゴリーを含み、
    前記高スピードカテゴリーである場合、前記サンプリングを決定する段階は、
    タイルに含まれたピクセルの個数より、サンプルの個数がさらに少ないサンプリングパターンを選択する段階をさらに含むことを特徴とする請求項1〜5のうち何れか1項に記載の方法。
  7. 前記各タイルに係わるエッジ探知を行う段階をさらに含み、
    前記サンプリングを決定する段階は、
    前記各タイルにエッジが探知されるか否かに基づいて、前記各タイルに適用されるサンプリングを決定する段階を含むことを特徴とする請求項1〜6のうち何れか1項に記載の方法。
  8. 前記既定義のスピードカテゴリーが高スピードカテゴリーであり、前記各タイルにエッジが探知されない場合、前記各タイルに含まれたピクセルの個数より、サンプルの個数がさらに少ないサンプリングパターンを選択する段階と、
    前記既定義のスピードカテゴリーが高スピードカテゴリーであり、前記各タイルにエッジが探知される場合、少なくともピクセル当たり1つのサンプルである個数を有するサンプリングパターンを選択する段階と、を含むことを特徴とする請求項7に記載の方法。
  9. 前記サンプリングを決定する段階は、
    前記各タイルに対してスーパーサンプリングを行うか否かを決定する段階をさらに含むことを特徴とする請求項1〜8のうち何れか1項に記載の方法。
  10. 前記スーパーサンプリングは、エッジを含むタイルに対して行われることを特徴とする請求項9に記載の方法。
  11. グラフィックス・プロセッシングを行う方法において、
    以前フレームと現在フレームとの比較により、前記現在フレームの各タイルに含まれた客体の相対的なスピードを決定する段階と、
    前記各タイルがエッジを含むか否かを決定する段階と、
    前記決定されたスピードに基づいて、前記各タイルを、既定義のスピードカテゴリーに分類する段階と、
    前記分類及び前記各タイルがエッジを含むか否かに基づいて、前記各タイルに適用されるサンプリングレートを決定する段階と、
    前記決定されたサンプリングレートに基づいて、前記各タイルに係わるレンダリングを行う段階と、を含む方法。
  12. 前記既定義のスピードカテゴリーは、準静的スピードカテゴリーを含み、前記準静的スピードカテゴリーである場合、
    前記以前フレームでのピクセルのデータをコピーする段階と、
    前記ピクセルと対応する前記現在フレームでのピクセルのデータとして、前記コピーされたデータを再使用する段階と、をさらに含むことを特徴とする請求項11に記載の方法。
  13. 前記コピーする段階は、
    レンダリングされるピクセルと、レンダリングされていないピクセルとの既設定の比率に基づいて、前記以前フレームのタイルの一部のピクセルを、前記現在フレームのタイルにコピーすることを特徴とする請求項12に記載の方法。
  14. 前記以前フレームでのピクセルのデータを再使用する条件として、以前フレームのピクセルカラー値に対する不一致チェックを行う段階をさらに含むことを特徴とする請求項12に記載の方法。
  15. 前記既定義のスピードカテゴリーは、中間スピードカテゴリーを含み、前記中間スピードカテゴリーである場合、
    前記各タイルに含まれた全ピクセルが少なくとも1フレームごとにサンプリングされることを特徴とする請求項11〜14のうち何れか1項に記載の方法。
  16. 前記既定義のスピードカテゴリーは、高スピードカテゴリーを含み、
    前記高スピードカテゴリーである場合、
    タイルに含まれたピクセルの個数より、サンプルの個数がさらに少ないサンプリングパターンを選択する段階と、
    サンプリングされないピクセルに対する色を決定する補間を行う段階と、をさらに含むことを特徴とする請求項11〜15のうち何れか1項に記載の方法。
  17. 前記既定義のスピードカテゴリーが高スピードカテゴリーであり、前記各タイルにエッジが探知されない場合、前記各タイルに含まれたピクセルの個数より、サンプルの個数がさらに少ないサンプリングパターンを選択する段階と、
    前記既定義のスピードカテゴリーが高スピードカテゴリーであり、前記各タイルにエッジが探知される場合、少なくともピクセル当たり1つのサンプルである個数を有するサンプリングパターンを選択する段階と、を含むことを特徴とする請求項11〜16のうち何れか1項に記載の方法。
  18. グラフィックスパイプラインを含むグラフィックスシステムにおいて、
    適応デサンプリング(AD)サンプル生成部と、
    前記ADサンプル生成部と連結されたピクセルシェーダと、を含み、
    前記ADサンプル生成部は、
    各タイル内の客体のスピードに基づいて、前記各タイルに係わるサンプリングレートを決定し、前記決定されたサンプリングレートに基づいて、サンプリングパターンを選択するグラフィックスシステム。
  19. 前記ADサンプル生成部は、
    前記客体のスピード、及び前記各タイルがエッジを含むか否かに基づいて、前記各タイルに係わるサンプリングパターン及びサンプリングレートを決定することを特徴とする請求項18に記載のグラフィックスシステム。
  20. 前記ADサンプル生成部は、
    以前フレームで前記客体を構成するバーテックスの座標と、現在フレームで前記バーテックスの座標に対応する座標とを比較し、前記各タイル内のピクセルごとにそれぞれ速度を決定する速度バッファと、
    前記各タイル内にエッジが存在するか否かを探知するエッジ探知部と、
    前記各タイル内にエッジが存在するか否か、及び前記各タイル内のピクセルそれぞれの速度に基づいて、サンプリングパターン及びサンプリングレートを決定するサンプル生成部と、を含むことを特徴とする請求項19に記載のグラフィックスシステム。
  21. 前記各タイルの客体のスピードが、所定の臨界スピード値以上であり、前記各タイルがエッジを含まない場合、
    前記各タイルに対して、低下したサンプリングレートが選択されることを特徴とする請求項19に記載のグラフィックスシステム。
  22. 復元モジュールをさらに含み、
    前記各タイルが準静的スピード値以下であるスピードを有する場合、低下したサンプリングレートを有するサンプリングパターンが選択され、
    前記復元モジュールは、移送を介して以前フレームのピクセルデータを再使用し、レンダリングされていないピクセルに係わるデータを生成することを特徴とする請求項19に記載のグラフィックスシステム。
  23. 前記復元モジュールは、ピクセル座標での変化をマッピングし、前記以前フレームのピクセルの位置を認識することを特徴とする請求項22に記載のグラフィックスシステム。
  24. 前記各タイルの客体のスピードが、所定の準静的スピード限界値以下である場合、前記各タイルのピクセルの一部がレンダリングされ、他の一部は所定の比率によって以前フレームから再使用されることを特徴とする請求項22に記載のグラフィックスシステム。
  25. グラフィックス・プロセッシングを行う方法において、
    以前フレームと現在フレームとの比較により決定されたスピードに基づいて、現在フレームの各タイルに係わる適応的レンダリングを行う段階を含む方法。
  26. 前記適応的レンダリングを行う段階は、
    前記以前フレームと前記現在フレームとの座標比較により、前記現在フレームの各タイルに含まれる客体の相対的なスピードを決定する段階と、
    前記決定に基づいて、前記各タイルを、既定義のスピードカテゴリーに分類する段階と、
    前記分類に基づいて、前記各タイルに適用されるサンプリングを決定する段階と、
    前記決定されたサンプリングに基づいて、前記各タイルに係わるレンダリングを行う段階と、を含むことを特徴とする請求項25に記載の方法。
  27. 請求項1ないし17、25、26のうちいずれか1項に記載の方法をコンピュータに実行させるためのコンピュータプログラム。
JP2015129986A 2014-06-27 2015-06-29 適応的レンダリングを行う方法及びグラフィックスシステム Pending JP2016012354A (ja)

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
US201462018254P 2014-06-27 2014-06-27
US201462018274P 2014-06-27 2014-06-27
US201462018228P 2014-06-27 2014-06-27
US201462018221P 2014-06-27 2014-06-27
US62/018,254 2014-06-27
US62/018,221 2014-06-27
US62/018,274 2014-06-27
US62/018,228 2014-06-27
US14/743,700 US9928610B2 (en) 2014-06-27 2015-06-18 Motion based adaptive rendering
US14/743,700 2015-06-18
KR1020150089085A KR102424965B1 (ko) 2014-06-27 2015-06-23 적응적 렌더링을 수행하는 방법 및 그래픽스 시스템
KR10-2015-0089085 2015-06-23

Publications (1)

Publication Number Publication Date
JP2016012354A true JP2016012354A (ja) 2016-01-21

Family

ID=54931085

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015129986A Pending JP2016012354A (ja) 2014-06-27 2015-06-29 適応的レンダリングを行う方法及びグラフィックスシステム

Country Status (3)

Country Link
US (5) US9589366B2 (ja)
JP (1) JP2016012354A (ja)
KR (4) KR102424965B1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019121381A (ja) * 2017-12-28 2019-07-22 三星電子株式会社Samsung Electronics Co.,Ltd. グラフィックプロセッサ、及びその動作方法
JP2021503669A (ja) * 2017-11-20 2021-02-12 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 動き推定を用いた一時的な穴のあるレンダリング
WO2024039121A1 (ko) * 2022-08-19 2024-02-22 세종대학교산학협력단 렌더링 성능을 올리기 위한 멀티레벨 선택적 렌더링 방법 및 장치

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552667B2 (en) * 2013-12-13 2017-01-24 Nvidia Corporation Adaptive shading in a graphics processing pipeline
US9589366B2 (en) * 2014-06-27 2017-03-07 Samsung Electronics Co., Ltd. Dithered sampling patterns for temporal color averaging
US11049269B2 (en) 2014-06-27 2021-06-29 Samsung Electronics Co., Ltd. Motion based adaptive rendering
US9626733B2 (en) * 2014-11-24 2017-04-18 Industrial Technology Research Institute Data-processing apparatus and operation method thereof
US9811923B2 (en) * 2015-09-24 2017-11-07 Snaptrack, Inc. Stochastic temporal dithering for color display devices
GB2553293B (en) * 2016-08-25 2022-06-01 Advanced Risc Mach Ltd Graphics processing systems and graphics processors
US10403192B2 (en) * 2016-09-22 2019-09-03 Apple Inc. Dithering techniques for electronic displays
US10388059B2 (en) 2016-10-03 2019-08-20 Nvidia Corporation Stable ray tracing
KR102650215B1 (ko) * 2016-10-18 2024-03-21 삼성전자주식회사 영상 처리 방법 및 장치
CA2949383C (en) * 2016-11-22 2023-09-05 Square Enix, Ltd. Image processing method and computer-readable medium
US11222397B2 (en) 2016-12-23 2022-01-11 Qualcomm Incorporated Foveated rendering in tiled architectures
KR102637736B1 (ko) 2017-01-04 2024-02-19 삼성전자주식회사 그래픽스 처리 방법 및 시스템
US11113800B2 (en) * 2017-01-18 2021-09-07 Nvidia Corporation Filtering image data using a neural network
GB2560306B (en) * 2017-03-01 2020-07-08 Sony Interactive Entertainment Inc Image processing
US10235794B2 (en) * 2017-04-10 2019-03-19 Intel Corporation Multi-sample stereo renderer
US10896657B2 (en) 2017-04-17 2021-01-19 Intel Corporation Graphics with adaptive temporal adjustments
TWI755616B (zh) 2017-04-21 2022-02-21 美商時美媒體公司 用於編碼器導引自適應性品質演現的系統及方法
GB2576846A (en) * 2017-04-21 2020-03-04 Zenimax Media Inc Systems and methods for game-generated motion vectors
US10853918B2 (en) * 2017-06-09 2020-12-01 Sony Interactive Entertainment Inc. Foveal adaptation of temporal anti-aliasing
US10713752B2 (en) 2017-06-09 2020-07-14 Sony Interactive Entertainment Inc. Temporal supersampling for foveated rendering systems
US10395624B2 (en) 2017-11-21 2019-08-27 Nvidia Corporation Adjusting an angular sampling rate during rendering utilizing gaze information
US10699374B2 (en) 2017-12-05 2020-06-30 Microsoft Technology Licensing, Llc Lens contribution-based virtual reality display rendering
KR20200100656A (ko) * 2018-01-16 2020-08-26 삼성전자주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
CN109215046B (zh) * 2018-08-06 2021-05-21 浙江工贸职业技术学院 一种基于图像插值运算的拉普拉斯算子边缘检测方法
CN115379185B (zh) 2018-08-09 2024-04-02 辉达公司 使用可变速率着色的运动自适应渲染
US10930022B2 (en) * 2018-08-09 2021-02-23 Nvidia Corporation Motion adaptive rendering using variable rate shading
US11551383B2 (en) * 2018-08-17 2023-01-10 Sony Interactive Entertainment Inc. Image generating apparatus, image generating method, and program for generating an image using pixel values stored in advance
US10713753B2 (en) * 2018-10-12 2020-07-14 Apical Limited Data processing systems
CN112015929A (zh) * 2019-05-30 2020-12-01 阿里巴巴集团控股有限公司 栅格数据访问方法、装置、电子设备及计算机存储介质
US11468627B1 (en) * 2019-11-08 2022-10-11 Apple Inc. View dependent content updated rates
US20240054604A1 (en) * 2021-06-24 2024-02-15 Meta Platforms Technologies, Llc Adaptive super-sampling based on gaze
US20230148225A1 (en) * 2021-11-05 2023-05-11 Intel Corporation Joint denoising and supersampling of graphics data

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5686960A (en) * 1992-01-14 1997-11-11 Michael Sussman Image input device having optical deflection elements for capturing multiple sub-images
US6525737B1 (en) * 1998-08-20 2003-02-25 Apple Computer, Inc. Graphics processor with pipeline state storage and retrieval
AUPQ377599A0 (en) * 1999-10-29 1999-11-25 Canon Kabushiki Kaisha Colour clamping
US6999087B2 (en) * 2002-03-12 2006-02-14 Sun Microsystems, Inc. Dynamically adjusting sample density in a graphics system
JP4142340B2 (ja) * 2002-05-22 2008-09-03 オリンパス株式会社 撮像装置
GB2392793A (en) * 2002-07-31 2004-03-10 Blip X Ltd Video compression by removing complementary sets of pixels
CA2443286A1 (en) * 2003-10-01 2005-04-01 Aryan Saed Digital composition of a mosaic motion picture
US7450120B1 (en) * 2003-12-19 2008-11-11 Nvidia Corporation Apparatus, system, and method for Z-culling
US7348950B2 (en) * 2004-02-20 2008-03-25 Genesis Microchip Inc. Dynamical systems approach to LCD overdrive
US7813430B2 (en) * 2004-05-18 2010-10-12 Sony Corporation Method and apparatus for decimation mode determination utilizing block motion
GB0426170D0 (en) * 2004-11-29 2004-12-29 Falanx Microsystems As Processing of computer graphics
US7439983B2 (en) * 2005-02-10 2008-10-21 Sony Computer Entertainment Inc. Method and apparatus for de-indexing geometry
US7364306B2 (en) * 2005-06-20 2008-04-29 Digital Display Innovations, Llc Field sequential light source modulation for a digital display system
US20070273626A1 (en) * 2006-05-04 2007-11-29 Sharp Laboratories Of America, Inc. System for pixel defect masking and control thereof
US8159550B2 (en) * 2006-06-22 2012-04-17 Apple Inc. Presenting images as mosaics
JP4893154B2 (ja) * 2006-08-21 2012-03-07 富士通セミコンダクター株式会社 画像処理装置及び画像処理方法
US8229212B2 (en) * 2008-04-08 2012-07-24 Qualcomm Incorporated Interpolation system and method
US20110141136A1 (en) 2008-06-20 2011-06-16 Business Intelligence Solutions Safe B.V. Method and system of graphically representing discrete data as a continuous surface
US8649592B2 (en) * 2010-08-30 2014-02-11 University Of Illinois At Urbana-Champaign System for background subtraction with 3D camera
US8866825B2 (en) * 2010-12-15 2014-10-21 Ati Technologies Ulc Multiple display frame rendering method and apparatus
KR101773396B1 (ko) * 2011-02-09 2017-08-31 삼성전자주식회사 데이터를 압축 해제하는 그래픽 처리 장치 및 방법
JP5462830B2 (ja) * 2011-03-31 2014-04-02 富士フイルム株式会社 3d画像表示装置、その製造方法、位相差板、3d画像表示システム及び3d画像表示装置用接着剤組成物
US9088777B2 (en) * 2011-04-07 2015-07-21 Ses Americom, Inc. Methods and systems for processing stereoscopic video data
JP2012217591A (ja) * 2011-04-07 2012-11-12 Toshiba Corp 画像処理システム、装置、方法及びプログラム
TWI504232B (zh) * 2011-06-22 2015-10-11 Realtek Semiconductor Corp 3d影像處理裝置
AU2011253779A1 (en) * 2011-12-01 2013-06-20 Canon Kabushiki Kaisha Estimation of shift and small image distortion
GB2497302B (en) * 2011-12-05 2017-04-12 Advanced Risc Mach Ltd Methods of and apparatus for processing computer graphics
US9241146B2 (en) * 2012-11-02 2016-01-19 Nvidia Corporation Interleaved approach to depth-image-based rendering of stereoscopic images
US9384522B2 (en) * 2012-12-28 2016-07-05 Qualcomm Incorporated Reordering of command streams for graphical processing units (GPUs)
US10229526B2 (en) * 2014-03-13 2019-03-12 Imagination Technologies Limited Rendering of soft shadows
US9589366B2 (en) * 2014-06-27 2017-03-07 Samsung Electronics Co., Ltd. Dithered sampling patterns for temporal color averaging
US10750153B2 (en) * 2014-09-22 2020-08-18 Samsung Electronics Company, Ltd. Camera system for three-dimensional video
KR102276909B1 (ko) 2014-12-09 2021-07-13 삼성전자주식회사 렌더링 방법 및 장치
US9704217B2 (en) 2015-04-20 2017-07-11 Intel Corporation Apparatus and method for non-uniform frame buffer rasterization
US9728002B2 (en) 2015-12-18 2017-08-08 Advanced Micro Devices, Inc. Texel shading in texture space
US9875552B1 (en) 2016-07-26 2018-01-23 Teradici Corporation Content independent method of motion determination using sparse matrices
GB2576846A (en) 2017-04-21 2020-03-04 Zenimax Media Inc Systems and methods for game-generated motion vectors

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021503669A (ja) * 2017-11-20 2021-02-12 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 動き推定を用いた一時的な穴のあるレンダリング
JP2019121381A (ja) * 2017-12-28 2019-07-22 三星電子株式会社Samsung Electronics Co.,Ltd. グラフィックプロセッサ、及びその動作方法
JP7221679B2 (ja) 2017-12-28 2023-02-14 三星電子株式会社 グラフィックプロセッサ、及びその動作方法
WO2024039121A1 (ko) * 2022-08-19 2024-02-22 세종대학교산학협력단 렌더링 성능을 올리기 위한 멀티레벨 선택적 렌더링 방법 및 장치

Also Published As

Publication number Publication date
KR20160001675A (ko) 2016-01-06
US20150379727A1 (en) 2015-12-31
KR20160001711A (ko) 2016-01-06
KR102424965B1 (ko) 2022-07-25
US20150379692A1 (en) 2015-12-31
US10643339B2 (en) 2020-05-05
US20150379734A1 (en) 2015-12-31
US9830714B2 (en) 2017-11-28
KR20160001663A (ko) 2016-01-06
US9589367B2 (en) 2017-03-07
US9928610B2 (en) 2018-03-27
US20180197304A1 (en) 2018-07-12
KR20160001676A (ko) 2016-01-06
US20150379674A1 (en) 2015-12-31
US9589366B2 (en) 2017-03-07

Similar Documents

Publication Publication Date Title
JP2016012354A (ja) 適応的レンダリングを行う方法及びグラフィックスシステム
CN105225264B (zh) 基于运动的自适应渲染
EP3643059B1 (en) Processing of 3d image information based on texture maps and meshes
US10262454B2 (en) Image processing apparatus and method
US8687002B2 (en) Method, medium and system rendering 3-D graphics data having an object to which a motion blur effect is to be applied
KR102247565B1 (ko) 렌더링 방법 및 장치
JP2015522987A (ja) 動き領域による多次元信号および補助領域による補助情報における動き情報の推定、符号化、および復号化
US9565414B2 (en) Efficient stereo to multiview rendering using interleaved rendering
US11049269B2 (en) Motion based adaptive rendering
KR20120137295A (ko) 영상 처리를 위한 방법 및 장치
JP2006526834A (ja) ボリューム・レンダリング用の適応画像補間
Kellnhofer et al. Optimizing disparity for motion in depth
EP2948921B1 (en) Interpolation method and corresponding device
EP2960863B1 (en) Motion based adaptive rendering
KR20200145669A (ko) 모션 기반의 적응형 렌더링
KR20150042093A (ko) 그래픽스 데이터를 렌더링하는 방법, 장치 및 기록매체
CN111800621A (zh) 用于处理全息图图像数据的方法和设备