JP6778485B2 - レンダリング方法及びその装置 - Google Patents

レンダリング方法及びその装置 Download PDF

Info

Publication number
JP6778485B2
JP6778485B2 JP2015239657A JP2015239657A JP6778485B2 JP 6778485 B2 JP6778485 B2 JP 6778485B2 JP 2015239657 A JP2015239657 A JP 2015239657A JP 2015239657 A JP2015239657 A JP 2015239657A JP 6778485 B2 JP6778485 B2 JP 6778485B2
Authority
JP
Japan
Prior art keywords
tile
identification code
rendered
rendering
previous
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
JP2015239657A
Other languages
English (en)
Other versions
JP2016110655A (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.)
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 JP2016110655A publication Critical patent/JP2016110655A/ja
Application granted granted Critical
Publication of JP6778485B2 publication Critical patent/JP6778485B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • 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
    • 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/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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
    • 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/10024Color image

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Generation (AREA)

Description

本発明は、三次元データをレンダリングする方法及びその装置に関する。
3D(three-dimensional)グラフィックスAPI(application program interface)標準においては、OpenGL、OpenGL ESまたはDirect3などがある。API標準は、各フレームに対するレンダリングを行い、映像を表示する方法を含む。各フレームに対するレンダリングを行うとき、多くの演算が行われ、多くの電力が消耗される。従って、レンダリングを行うとき、演算量を減らし、メモリにアクセスする回数を減らす必要がある。
本発明が解決しようとする課題は、同一のタイルについては、ピクセル処理を省略し、演算量を減らすためのレンダリング装置及びその方法を提供することである。
また、本発明が解決しようとする課題は、前記方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供することであるる。
本実施形態がなすべき技術的課題は、前述のような技術的課題に限定されるものではなく、以下の実施形態から他の技術的課題が類推される。
前記課題を解決するために、本発明の一実施形態によるレンダリング方法は、タイルに基づくレンダリング方法において、現在フレームに対するビニングを行う段階と、前記現在フレームでレンダリングするタイルのビニング情報または属性情報に係わる識別コードを生成する段階と、前記レンダリングするタイルの識別コードと、以前フレームで前記レンダリングするタイルと同一位置の以前タイルの識別コードと、を比較する段階と、前記比較の結果に基づいて、フレームバッファに保存されたイメージを再使用するか、あるいは前記レンダリングするタイルに対するピクセル処理を行い、前記現在フレームをレンダリングする段階と、を含む。
本発明によるレンダリング装置は、レンダリングするタイルと同一の以前タイルのピクセル処理結果を利用することにより、レンダリングするタイルに係わる演算量を減らすことができる。
本発明によるレンダリング装置は、タイルのビニング情報を利用して、現在タイルと以前タイルとの同一性を決定することができる。
本発明によるレンダリング装置は、フレームバッファに保存されたイメージを再使用することにより、レンダリング装置とフレームバッファとのトラフィックを減らすことができる。
装置の連結関係について説明するための図面である。 一実施形態によるレンダリング装置の動作について説明するための図面である。 フレーム単位で入力されるドローコールについて説明するための図面である。 一実施形態によるレンダリング装置について説明するための構成図である。 図4の同一性判断部の動作について説明するための図面である。 一実施形態によるレンダリング方法について説明するための図面である。 一実施形態によるレンダリング方法について説明するための図面である。 一実施形態によるレンダリング方法について説明するための図面である。 一実施形態によるレンダリング方法について説明するためのフローチャートである。 一実施形態によるレンダリング方法について説明するためのフローチャートである。
以下では、図面を参照しつつ、本発明の実施形態について詳細に説明する。
図1は、装置の連結関係について説明するための図面である。
アプリケーション100は、特定の機能を遂行するように設計されたプログラムである。
アプリケーション100は、イメージ処理と係わるコマンドを、デバイスドライバ200に伝送する。アプリケーション100は、多様な形態のコマンドをデバイスドライバ200に伝送することができる。
デバイスドライバ200は、アプリケーション100から受信されたコマンドによって、グラフィックレンダリングジョブをレンダリング装置300に出力する。
レンダリング装置300は、グラフィック処理を行う装置である。例えば、レンダリング装置300は、GPU(graphic processing unit)でもある。
レンダリング装置300は、デバイスドライバ200から受信されたグラフィックレンダリングジョブによって、イメージを生成し、生成されたイメージをアプリケーション100に出力する。
レンダリング装置300は、タイル単位でレンダリングすることができる。タイルに基づくレンダリング方法は、フレームを複数のタイルに分割し、タイル単位でイメージを生成する方法である。
フレームバッファ400は、フレームに係わるイメージを保存する。フレームバッファ400は、一種のメモリである。フレームバッファ400は、レンダリング装置300から受信されるイメージを保存する。
一実施形態によるレンダリング装置300は、互いに異なるフレームの同一タイルについては、ピクセル処理を省略することにより、演算量を減らすことができる。また、一実施形態によるレンダリング装置300は、フレームバッファ400にデータを記録する過程を省略することにより、レンダリング装置300とフレームバッファ400との間に発生するトラフィックを減らすことができる。
図2は、レンダリング装置の動作について説明するための図面である。図2を参照すれば、レンダリング装置300は、N番目フレームを参照し、(N+1)番目フレームをレンダリングすることができる。言い替えれば、レンダリング装置300は、(N+1)番目フレームのタイルのうち、N番目フレームのタイルと同一タイルがある場合、N番目フレームのレンダリング結果を再使用して、(N+1)番目フレームをレンダリングすることができる。
図2を参照して具体的に説明すれば、図2は、N番目フレーム及び(N+1)番目フレームを示し、N番目フレームは、(N+1)番目フレーム以前にすでにレンダリングが完了したフレームである。N番目フレームと(N+1)番目フレームは、合計で20個のタイルに区分される。N番目フレームは、以前フレームでもあり、(N+1)番目フレームは、現在フレームでもある。同一番号のタイルは、同一位置のタイルを示す。例えば、N番目フレームのタイル7(TILE7)と(N+1)番目フレームのタイル7は、同一位置のタイルを示す。
N番目フレームを参照すれば、三角形はタイル1、タイル5、タイル6及びタイル7に表示され、円形は、タイル12、タイル13、タイル17及びタイル18に表示される。(N+1)番目フレームを参照すれば、三角形は、タイル1、タイル5、タイル6及びタイル7に表示され、円形は、タイル13、タイル14、タイル18及びタイル19に表示される。N番目フレームと(N+1)番目フレームとの20個タイルのうち、タイル0ないしタイル11、タイル15、タイル16は、同一のイメージを示す。しかし、N番目フレームと(N+1)番目フレームとのタイル12ないしタイル14、タイル17ないしタイル19は、互いに異なる。
レンダリング装置300は、(N+1)番目フレームのタイルのうちN番目フレームのタイルと同一イメージを示すタイルは、N番目フレームのタイルをレンダリングして生成されたイメージを再使用する。従って、レンダリング装置300は、(N+1)番目フレームのタイルのうち、タイル0ないしタイル11、タイル15、タイル16は、N番目フレームのタイルをレンダリングしたイメージを再使用してレンダリングし、残りのタイルについてのみピクセル処理してレンダリングする。
図3は、フレーム単位で入力されるドローコールについて説明するための図面である。図3を参照すれば、レンダリング装置300は、図3のような形態の命令を受信してレンダリングを行う。
フレームナンバーは、フレームを順序を示し、ドローコールは、フレームにいかなるイメージをレンダリングするかということを示す命令である。Gstateは、ドローコールごとに付与される。Operationは、それぞれのドローコールの内容を示す。ドローコールナンバー及びGstateナンバーは、互いに独立している。
レンダリング装置300は、N番目フレームについて3個のドローコールを受信し、ドローコールに含まれた動作を遂行する。レンダリング装置300は、0番目ドローコールを受信すれば、clear動作を遂行し、1番目ドローコールを受信すれば、三角形を描き(draw triangle)、2番目ドローコールを受信すれば、円を描く(draw circle)。それぞれのドローコールには、Gstateが含まれ、Gstateは、レンダリング装置300がドローコールによる動作を遂行するときに適用されるグラフィック効果を示す。レンダリング装置300は、(N+1)番目フレームについても、N番目フレームと同一に動作する。
図3の場合には、(N+1)番目フレームについて受信された命令と、N番目フレームについて受信された命令とが同一である場合を示している。従って、レンダリング装置300は、(N+1)番目フレームをレンダリングするとき、N番目フレームのレンダリング結果を再使用することができる。
図4は、一実施形態によるレンダリング装置について説明するための構成図である。図4を参照すれば、レンダリング装置300は、幾何処理部310、同一性判断部320及びピクセル処理部330を含む。
幾何処理部310は、現在フレームに対するビニングを行う。幾何処理部310は、現在フレームを少なくとも1つのタイルに分割し、タイルに対するビニングを行うことができる。タイルは、フレームの一部を示し、レンダリング装置300は、タイル単位でイメージを生成する。幾何処理部310がタイルに対するビニングを行うということは、タイルごとに処理するプリミティブ(primitive)リストを確認する過程を示す。例えば、幾何処理部310は、タイルに含まれるプリミティブを区別するために、プリミティブに番号またはID(identification)を付与することができる。
同一性判断部320は、レンダリングするタイルのビニング情報または属性情報に係わる識別コードを生成する。識別コードは、他のタイルと区分可能な固有のデータである。
同一性判断部320は、レンダリングするタイルのビニング情報に係わる第1識別コード、またはレンダリングするタイルの属性情報に係わる第2識別コードを生成する。同一性判断部320は、レンダリングするタイルのビニング情報または属性情報を利用して、他のタイルと区分可能な固有の第1識別コードまたは第2識別コードを生成する。例えば、第1識別コードは、ビニング情報に係わる代表値であり、第2識別コードは、属性情報に係わる代表値でもある。第1識別コード及び第2識別コードは、ビニング情報または属性情報に係わるエラー検出コード(CRC)を生成する方法などを使用して生成される。
同一性判断部320は、レンダリングするタイルのプリミティブリストを示すビニング情報を利用して、第1識別コードを生成する。タイルが異なれば、ビニング情報が異なるので、第1識別コードも異なる。
同一性判断部320は、レンダリングするタイルのattribute情報、Gstate情報及びuniform情報を示す属性情報を利用して、レンダリングするタイルの第2識別コードを生成する。Attributeは、頂点の位置、方向、テクスチャの座標、連結情報などを示す。Gstateは、グラフィックステートを示し、uniformは、タイルに同一に適用される効果を示す情報である。例えば、uniformは、反射、透過、曇りのような効果でもある。
同一性判断部320は、レンダリングするタイルと以前タイルとの識別コードを比較する。レンダリングするタイルは、現在フレームに含まれたタイルであり、以前タイルは、レンダリングされた以前フレームに含まれたタイルである。言い替えれば、以前タイルは、現在フレームをレンダリングする以前、最も最近レンダリングが完了したフレームに含まれたタイルである。同一性判断部320は、現在フレーム及び以前フレームでの同一位置タイルの識別コードを比較する。同一性判断部320は、現在フレームでレンダリングするタイルと同一位置の以前タイルの第1識別コードを比較する。第1識別コードが同一であれば、同一性判断部320は、レンダリングするタイルの第2識別コードと、以前タイルの第2識別コードとを比較する。第1識別コードが同一ではなければ、同一性判断部320は、第2識別コードに係わる比較を省略する。
ピクセル処理部330は、同一性判断部320の比較結果に基づいて、フレームバッファに保存されたイメージを再使用するか、あるいはレンダリングするタイルに対するピクセル処理を行い、現在フレームをレンダリングする。ピクセル処理部330は、レンダリングするタイルの第1識別コード及び第2識別コードと、以前タイルの第1識別コード及び第2識別コードとがいずれも同一であれば、以前タイルのイメージを再使用する。言い替えれば、ピクセル処理部330は、第1識別コード及び第2識別コードが同一である以前タイルがある場合、レンダリングするタイルに対するピクセル処理を省略し、フレームバッファ400に保存された以前タイルのイメージを再使用する。ピクセル処理部330は、レンダリングするタイルの第1識別コード及び第2識別コード;並びに前記以前タイルの第1識別コード及び第2識別コード;のうちいずれか1つの識別コードにおいて同一ではなければ、レンダリングするタイルに対するピクセル処理を行う。
フレームバッファ400は、レンダリングされたイメージを保存する。フレームバッファ400は、フレーム単位またはタイル単位でイメージを保存し、イメージをアプリケーション100の命令によって出力することができる。
図5は、図4の同一性判断部の動作について説明するための図面である。図5を参照すれば、同一性判断部320は、第1識別コード及び第2識別コードを利用して、タイルの同一性を判断する。
同一性判断部320は、レンダリングされたタイルのうち、レンダリングするタイルと同一位置の以前タイルの第1識別コードまたは第2識別コードが同一であるか否かを比較する。同一性判断部320は、レンダリングするタイルの第1識別コードと、以前フレームでレンダリングするタイルと同一位置の以前タイルの第1識別コードとを比較し、第1識別コードが同一である場合、レンダリングするタイルの第2識別コードと、以前タイルの第2識別コードとを比較する。言い替えれば、同一性判断部320は、第1識別コードが同一ではない場合、第2識別コードに係わる比較を省略する。
図6は、一実施形態によるレンダリング方法について説明するための図面である。図6を参照すれば、レンダリング装置300は、attribute情報を利用して、タイルの同一性を優先的に判断することができる。レンダリング装置300は、属性情報のうちattribute IDを利用して、タイルの同一性を優先的に判断する。attribute IDは、デバイスドライバ200によって付与される。レンダリング装置300は、レンダリングするタイルと以前タイルとの第1識別コードが同一であれば、以前タイルのattribute IDを比較する。レンダリング装置300は、attribute IDの同一性を、第2識別コードの同一性より優先して判断することができる。レンダリング装置300は、以前タイルとレンダリングするタイルとのattribute IDが同一であれば、以前タイルとレンダリングするタイルとの第2識別コードを比較する。レンダリング装置300は、以前タイルとレンダリングするタイルとの第1識別コード、attribute ID及び第2識別コードがいずれも同一であれば、フレームバッファに保存されたN番目フレームのイメージを再使用して、そうではなければ、レンダリングするタイルに対してピクセル処理を行う。ただし、以前タイルとレンダリングするタイルとのattribute IDが同一であるが、第2識別コードが異なる場合、レンダリング装置300は、attributeが同一であるという特性を利用して、タイルをレンダリングする。従って、同一性判断部320は、以前タイルのattributeと、レンダリングするタイルとのattributeとが同一であるという情報を、ピクセル処理部330に伝送することができる。ピクセル処理部330は、以前タイルのレンダリング結果を介して、attributeが同一であるときに適用可能であるという特性を利用して、レンダリングするタイルに対するピクセル処理を行うことができる。例えば、もしテクスチャコマンド(texture command)、すべてのattribute内及びGstate内において、テクスチャリングと係わるattribute及びGstateが、現在フレーム及び以前フレームにおいて、同一のタイルで同一であれば、ピクセル処理部330は、前記テクスチャ動作を省略することができる。前記以前テクスチャ結果を再使用するために、テクスチャユニットは、出力を保存することが必要である。
コマンドプロセッサ311、入力アセンブラ(input assembler)312、バーテックスシェーダ(vertex shader)313、CCV(clip, cull & viewport)314及びTILER 315は、幾何処理部310に含まれるユニットである。ラスタライザ331、ピクセルシェーダ332、C/Z ROP(color/depth raster operation)333は、ピクセル処理部330に含まれるユニットである。
入力アセンブラ312は、ユーザプリミティブデータ(ポイント、ライン及び/またはトライアングル)を、ユーザフィルドバッファ(user-filled buffers)から読み取り、他のパイプラインステージによって使用されるプリミティブに、プリミティブデータを集める。入力アセンブラステージは、さまざまに異なるプリミティブタイプ(ラインリスト、トライアングルストリップ、または隣接したプリミティブ)にバーテックスを集めることができる。
バーテックスシェーダ313は、仮想空間において、各バーテックスの三次元位置を、画面上に示される二次元座標に変換する(z−bufferのためのデプス値だけではない)。バーテックスシェーダ313は、位置、カラー及びテクスチャ座標のような特性を調節することができるが、新たなバーテックスを生成することはできない。バーテックスシェーダ313の出力は、幾何シェーダ(geometry shader)またはラスタライザ331のようなパイプラインの次のステージに渡される。
ピクセルシェーダ332は、フラグメントシェーダとして知られており、各フラグメント(フラグメントは、技術的に単一ピクセルを意味する)のカラー及びattributesを計算する。最も単純な種類のピクセルシェーダ332は、カラー値として1つのスクリーンピクセルを出力する、複数の入力及び出力を含むさらに複雑なピクセルシェーダも可能である。
CCV 314は、clip,cull & viewportユニットである。CCV 314は、幾何パイプライン(geometry pipeline)からプリミティブ入力データを受信し、レンダリングのためのプリミティブを生成する。CCV 314は、clip座標でバーテックスを、スクリーン空間座標でバーテックスをプリミティブに変換するために使用する情報を受信する。
TILER 315は、ポイントのバーテックス、ラインまたはトライアングルのためのスクリーン空間のX座標及びY座標を受信し、入力プリミティブが潜在的に交差する各タイルを示すデータ構造を出力する。
C/Z ROP 333は、カラー/デプスバッファとして言及されるレンダターゲットに使用された最終カラー及びデプスを計算する。
ラスタライザ331は、ベクトルグラフフォーマット(形態)で描写されるイメージを処理し、ビデオプレイまたはプリンタに出力するために、またはビットマップファイルフォーマットで保存するためにイメージをラスターイメージに変換する作業を示すrasterizationのためのユニットである。
図7は、一実施形態によるレンダリング方法について説明するための図面である。図7を参照すれば、レンダリング装置300は、Gstate情報を利用して、タイルの同一性を優先的に判断することができる。レンダリング装置300は、属性情報のうちGstate IDを利用して、タイルの同一性を優先的に判断する。レンダリング装置300は、レンダリングするタイルの第1識別コードと、以前タイルの第1識別コードとが同一であるか否かを比較し、第1識別コードが同一であれば、レンダリングするタイルのGstate IDと以前タイルとのGstate IDとを比較する。Gstate IDは、デバイスドライバ200によって付与される。レンダリング装置300は、Gstate IDの同一性を、第2識別コードの同一性より優先して判断する。レンダリング装置300は、以前タイルとレンダリングするタイルとのGstate IDが同一であれば、以前タイルとレンダリングするタイルとの第2識別コードを比較する。レンダリング装置300は、以前タイルとレンダリングするタイルとの第1識別コード、Gstate ID及び第2識別コードがいずれも同一であれば、フレームバッファに保存されたN番目フレームのイメージを再使用し、そうではなければ、レンダリングするタイルに対してピクセル処理を行う。ただし、以前タイルとレンダリングするタイルとのGstate IDが同一であるが、第2識別コードが異なる場合、レンダリング装置300は、Gstateが同一であるという特性を利用して、タイルをレンダリングする。従って、同一性判断部320は、以前タイルのGstateとレンダリングするタイルとのGstateが同一であるという情報を、ピクセル処理部330に伝送することができる。ピクセル処理部330は、以前タイルのレンダリング結果を介して、Gstateが同一であるときに適用可能であるという特性を利用して、レンダリングするタイルに対するピクセル処理を行うことができる。
図8は、一実施形態によるレンダリング方法について説明するための図面である。図8を参照すれば、レンダリング装置300は、uniform情報を利用して、タイルの同一性を優先的に判断することができる。レンダリング装置300は、属性情報のうちuniform IDを利用して、タイルの同一性を優先的に判断する。レンダリング装置300は、レンダリングするタイルと以前タイルとの第1識別コードが同一であるか否かを比較し、第1識別コードが同一であれば、レンダリングするタイルと以前タイルとのuniform IDを比較する。uniform IDは、デバイスドライバ200によって付与される。レンダリング装置300は、uniform IDを第2識別コードより優先して比較する。レンダリング装置300は、以前タイルとレンダリングするタイルとのuniform IDが同一であれば、以前タイルとレンダリングするタイルとの第2識別コードを比較する。レンダリング装置300は、以前タイルとレンダリングするタイルとの第1識別コード、uniform ID及び第2識別コードがいずれも同一であれば、フレームバッファに保存されたN番目フレームの以前タイルのイメージを再使用し、そうではなければ、レンダリングするタイルに対してピクセル処理を行う。ただし、以前タイルとレンダリングするタイルとのuniform IDが同一であるが、第2識別コードが異なる場合、レンダリング装置300は、uniformが同一であるという特性を利用して、タイルをレンダリングする。従って、同一性判断部320は、以前タイルのuniformとレンダリングするタイルとのuniformが同一であるという情報を、ピクセル処理部330に伝送することができる。ピクセル処理部330は、以前タイルのレンダリング結果を介して、uniformが同一であるときに適用可能であるという特性を利用して、レンダリングするタイルに対するピクセル処理を行うことができる。
図9は、一実施形態によるレンダリング方法について説明するためのフローチャートである。図9を参照すれば、レンダリング装置300は、以前フレームのレンダリング結果を利用して、現在フレームをレンダリングすることができる。
段階910において、レンダリング装置300は、現在フレームに対するビニングを行う。現在フレームは、レンダリング装置300がレンダリングを行っているフレームを示す。レンダリング装置300は、タイルそれぞれに対してビニングを行い、タイルに含まれるプリミティブリストを生成する。
段階920において、レンダリング装置300は、現在フレームでレンダリングするタイルのビニング情報または属性情報に係わる識別コードを生成する。レンダリング装置300は、ビニング情報に係わる第1識別コード、及び属性情報に係わる第2識別コードのうちいずれか一つだけ生成するか、あるいは第1識別コード及び第2識別コードいずれも生成することができる。また、レンダリング装置300は、ビニング情報及び属性情報に係わる識別コードを生成することもできる。
段階930において、レンダリング装置300は、レンダリングするタイルの識別コードと、以前フレームでレンダリングするタイルと同一位置の以前タイルの識別コードとを比較する。例えば、レンダリング装置300は、レンダリングするタイルのビニング情報または属性情報を利用して生成した識別コードと、以前タイルのビニング情報または属性情報を利用して生成された識別コードとを比較することができる。または、レンダリング装置300は、レンダリングするタイルのビニング情報に係わる第1識別コードと、以前タイルのビニング情報に係わる第1識別コードとを比較し、第1識別コードが同一である場合、レンダリングするタイルの属性情報に係わる第2識別コードと、以前タイルの属性情報に係わる第2識別コードとを比較する。
段階940において、レンダリング装置300は、比較結果に基づいて、フレームバッファに保存されたイメージを再使用するか、あるいはレンダリングするタイルに対するピクセル処理を行い、現在フレームをレンダリングする。レンダリング装置300は、識別コードが同一であれば、以前タイルのレンダリング結果を再使用し、そうではなければ、レンダリング装置300は、タイルに対するピクセル処理を行う。また、レンダリングするタイルの第1識別コード及び第2識別コードと、前記以前タイルの第1識別コード及び第2識別コードとがいずれも同一であれば、レンダリング装置300は、以前タイルのレンダリング結果を再使用し、レンダリングするタイルの第1識別コード及び第2識別コード;並びに前記以前タイルの第1識別コード及び第2識別コード;のうちいずれか1つの識別コードにおいて同一ではなければ、レンダリング装置300は、タイルに対するピクセル処理を行う。
図10は、一実施形態によるレンダリング方法について説明するためのフローチャートである。図10を参照すれば、レンダリング装置300は、タイルに係わる識別情報を利用して、タイルの同一性を判断することができる。
段階1010において、レンダリング装置300は、現在フレームに対するビニングを行う。段階1020において、レンダリング装置300は、ビニング情報に係わる第1識別コードを生成する。
段階1030において、レンダリング装置300は、レンダリングするタイルの第1識別コードと、以前フレームでレンダリングするタイルと同一位置の以前タイルの第1識別コードとを比較する。レンダリング装置300は、レンダリングするタイルの第1識別コードと、以前タイルの第1識別コードとが同一であれば、段階1040に進み、そうではない場合、段階1070に進む。
段階1040において、レンダリング装置300は、属性情報に係わる第2識別コードを生成する。レンダリング装置300は、レンダリングするタイルと以前タイルとの第1識別コードが同一である場合、第2識別コードを生成することができる。
段階1050において、レンダリング装置300は、レンダリングするタイルの第2識別コードと、以前タイルとの第2識別コードとが同一であるか否かを比較する。もし同一であれば、レンダリング装置300は、段階1060に進み、そうではなければ段階1070に進む。
段階1060において、レンダリング装置300は、フレームバッファに保存されたイメージを再使用する。レンダリングするタイルと以前タイルとが同一であるので、レンダリング装置300は、以前フレームでレンダリングされたタイルの結果イメージを再使用し、ピクセル処理過程を省略することができる。
段階1070において、第1識別コードが同一ではないので、レンダリング装置300は、タイルに対するピクセル処理を行う。
一実施形態によるレンダリング装置300は、レンダリングするタイルと同一の以前タイルのピクセル処理結果を利用することにより、レンダリングするタイルに係わる演算量を減らすことができる。
一実施形態によるレンダリング装置300は、タイルのビニング情報を利用して、現在タイルと以前タイルとの同一性を決定することができる。
一実施形態によるレンダリング装置300は、フレームバッファに保存されたイメージを再使用することにより、レンダリング装置とフレームバッファとのトラフィックを減らすことができる。
一方、前述の方法は、コンピュータで実行されるプログラムでもって作成可能であり、コンピュータで読み取り可能な記録媒体を利用して、前記プログラムを動作させる汎用デジタルコンピュータで具現される。また、前述の方法で使用されたデータの構造は、コンピュータで読み取り可能な記録媒体に多くの手段を介して記録される。前記コンピュータで読み取り可能な記録媒体は、磁気記録媒体(例えば、ROM(read only memory)、RAM(random access memory)、USB(universal serial bus)メモリ、フロッピー(登録商標)ディスク、ハードディスクなど)、光学的判読媒体(例えば、CD−ROM、DVD(digital versatile disc)など)を含む。
本発明のレンダリング方法及びその装置は、例えば、3Dグラフィックス関連の技術分野に効果的に適用可能である。
100 アプリケーション
200 デバイスドライバ
300 レンダリング装置
310 幾何処理部
311 コマンドプロセッサ
312 入力アセンブラ
313 バーテックスシェーダ
314 CCV
315 TILER
320 同一性判断部
330 ピクセル処理部
331 ラスタライザ
332 ピクセルシェーダ
333 C/Z ROP
400 フレームバッファ

Claims (14)

  1. タイルに基づくレンダリング方法において、
    現在フレームに対するビニングを行う段階と、
    前記現在フレームでレンダリングするタイルのビニング情報に係わる第1識別コード及び属性情報に係わる第2識別コードを生成する段階と、
    前記レンダリングするタイルの第1識別コード及び第2識別コードと、以前フレームで前記レンダリングするタイルと同一位置の以前タイルの第1識別コード及び第2識別コードと、を比較する段階であって、前記レンダリングするタイルの第1識別コードと、前記以前タイルの第1識別コードとが同一ではない場合、第2識別コードに係わる比較を省略する、段階と、
    前記比較の結果に基づいて、フレームバッファに保存されたイメージを再使用するか、あるいは前記レンダリングするタイルに対するピクセル処理を行い、前記現在フレームをレンダリングする段階と、を含むレンダリング方法。
  2. 前記レンダリングする段階は、
    前記レンダリングするタイルの第1識別コード及び第2識別コードと、前記以前タイルの第1識別コード及び第2識別コードとがいずれも同一であれば、前記フレームバッファに保存された以前タイルのイメージを再使用し、
    前記レンダリングするタイルの第1識別コード及び第2識別コード;並びに前記以前タイルの第1識別コード及び第2識別コード;のうちいずれか1つの識別コードにおいて同一ではなければ、前記レンダリングするタイルに対するピクセル処理を行う、ことを特徴とする請求項に記載のレンダリング方法。
  3. 前記第1及び第2識別コードを生成する段階は、
    前記レンダリングするタイルでレンダリングするプリミティブリストを示すビニング情報のうち一部を利用し、前記レンダリングするタイルの第1識別コードを生成する、ことを特徴とする請求項1又は2に記載のレンダリング方法。
  4. 前記第1及び第2識別コードを生成する段階は、
    前記レンダリングするタイルのattribute情報、Gstate情報及びuniform情報を示す属性情報のうち一部を利用し、前記レンダリングするタイルの第2識別コードを生成する、ことを特徴とする請求項乃至のいずれか一項に記載のレンダリング方法。
  5. 前記レンダリングする段階は、
    前記レンダリングするタイルの第1識別コード及び第2識別コードと、前記以前タイルの第1識別コード及び第2識別コードとがいずれも同一であれば、前記レンダリングするタイルに対するピクセル処理を省略する、ことを特徴とする請求項乃至のいずれか一項に記載のレンダリング方法。
  6. 前記第1及び第2識別コードを生成する段階は、
    前記レンダリングするタイルのビニング情報または属性情報を利用し、他のタイルと区分可能な固有の識別コードを生成する、ことを特徴とする請求項1に記載のレンダリング方法。
  7. 請求項1乃至のいずれか一項に記載の方法をコンピュータで実行させるためのプログラム。
  8. 請求項に記載のプログラムを記録したコンピュータで読み取り可能な記録媒体。
  9. 現在フレームに対するビニングを行う幾何処理部と、
    前記現在フレームでレンダリングするタイルのビニング情報に係わる第1識別コード及び属性情報に係わる第2識別コードを生成し、前記レンダリングするタイルの第1識別コード及び第2識別コードと、以前フレームで前記レンダリングするタイルと同一位置の以前タイルの第1識別コード及び第2識別コードと、を比較する同一性判断部であって、前記レンダリングするタイルの第1識別コードと、前記以前タイルの第1識別コードとが同一ではない場合、第2識別コードに係わる比較を省略する、同一性判断部と、
    前記比較の結果に基づいて、フレームバッファに保存されたイメージを再使用するか、あるいは前記レンダリングするタイルに対するピクセル処理を行い、前記現在フレームをレンダリングするピクセル処理部を含むレンダリング装置。
  10. 前記ピクセル処理部は、
    前記レンダリングするタイルの第1識別コード及び第2識別コードと、前記以前タイルの第1識別コード及び第2識別コードとがいずれも同一であれば、前記フレームバッファに保存された以前タイルのイメージを再使用し、
    前記レンダリングするタイルの第1識別コード及び第2識別コード;並びに前記以前タイルの第1識別コード及び第2識別コード;のうちいずれか1つの識別コードにおいて同一ではなければ、前記レンダリングするタイルに対するピクセル処理を行う、ことを特徴とする請求項に記載のレンダリング装置。
  11. 前記同一性判断部は、
    前記レンダリングするタイルでレンダリングするプリミティブリストを示すビニング情報のうち一部を利用し、前記レンダリングするタイルの第1識別コードを生成する、ことを特徴とする請求項9又は10に記載のレンダリング装置。
  12. 前記同一性判断部は、
    前記レンダリングするタイルのattribute情報、Gstate情報及びuniform情報を示す属性情報のうち一部を利用し、前記レンダリングするタイルの第2識別コードを生成する、ことを特徴とする請求項乃至11のいずれか一項に記載のレンダリング装置。
  13. 前記ピクセル処理部は、
    前記レンダリングするタイルの第1識別コード及び第2識別コードと、前記以前タイルの第1識別コード及び第2識別コードとがいずれも同一であれば、前記レンダリングするタイルに対するピクセル処理を省略する、ことを特徴とする請求項乃至12のいずれか一項に記載のレンダリング装置。
  14. 前記同一性判断部は、
    前記レンダリングするタイルのビニング情報または属性情報を利用し、他のタイルと区分可能な固有の第1識別コードまたは第2識別コードを生成する、ことを特徴とする請求項に記載のレンダリング装置。
JP2015239657A 2014-12-09 2015-12-08 レンダリング方法及びその装置 Active JP6778485B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2014-0175872 2014-12-09
KR1020140175872A KR102276909B1 (ko) 2014-12-09 2014-12-09 렌더링 방법 및 장치

Publications (2)

Publication Number Publication Date
JP2016110655A JP2016110655A (ja) 2016-06-20
JP6778485B2 true JP6778485B2 (ja) 2020-11-04

Family

ID=55070662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015239657A Active JP6778485B2 (ja) 2014-12-09 2015-12-08 レンダリング方法及びその装置

Country Status (5)

Country Link
US (1) US9959659B2 (ja)
EP (1) EP3032499B1 (ja)
JP (1) JP6778485B2 (ja)
KR (1) KR102276909B1 (ja)
CN (1) CN105701852B (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9928610B2 (en) 2014-06-27 2018-03-27 Samsung Electronics Co., Ltd. Motion based adaptive rendering
US11049269B2 (en) 2014-06-27 2021-06-29 Samsung Electronics Co., Ltd. Motion based adaptive rendering
US10388059B2 (en) 2016-10-03 2019-08-20 Nvidia Corporation Stable ray tracing
US10649524B2 (en) * 2017-04-07 2020-05-12 Intel Corporation Apparatus and method for foveated rendering, bin comparison and TBIMR memory-backed storage for virtual reality implementations
WO2019071600A1 (zh) * 2017-10-13 2019-04-18 华为技术有限公司 一种图像处理方法及装置
KR102554419B1 (ko) * 2017-12-26 2023-07-11 삼성전자주식회사 프리페칭된 그래픽스 데이터를 이용하여 타일 기반 렌더링을 수행하는 방법 및 장치
US10713756B2 (en) * 2018-05-01 2020-07-14 Nvidia Corporation HW-assisted upscaling and multi-sampling using a high resolution depth buffer
US11012694B2 (en) 2018-05-01 2021-05-18 Nvidia Corporation Dynamically shifting video rendering tasks between a server and a client
US10650568B2 (en) * 2018-09-13 2020-05-12 Qualcomm Incorporated In-flight adaptive foveated rendering
CN111508055B (zh) * 2019-01-30 2023-04-11 华为技术有限公司 渲染方法及装置
CN109978981B (zh) * 2019-03-15 2023-04-25 广联达科技股份有限公司 一种提高建筑模型显示效率的批次渲染方法
US11368477B2 (en) * 2019-05-13 2022-06-21 Securitymetrics, Inc. Webpage integrity monitoring
GB2579114B (en) 2019-05-31 2021-04-21 Imagination Tech Ltd Controlling rendering operations
CN115955293A (zh) 2019-09-27 2023-04-11 华为技术有限公司 一种极化码分段编码的方法及通信设备
CN112686981B (zh) * 2019-10-17 2024-04-12 华为终端有限公司 画面渲染方法、装置、电子设备及存储介质
CN111260767B (zh) * 2020-02-19 2023-10-20 网易(杭州)网络有限公司 游戏中的渲染方法、渲染装置、电子设备及可读存储介质
KR20220003376A (ko) 2020-07-01 2022-01-10 삼성전자주식회사 이미지 처리 방법 및 장치

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4009808B2 (ja) * 2000-03-01 2007-11-21 富士ゼロックス株式会社 画像処理装置
US6747658B2 (en) 2001-12-31 2004-06-08 Intel Corporation Automatic memory management for zone rendering
US7450120B1 (en) 2003-12-19 2008-11-11 Nvidia Corporation Apparatus, system, and method for Z-culling
US8988443B2 (en) * 2009-09-25 2015-03-24 Arm Limited Methods of and apparatus for controlling the reading of arrays of data from memory
US9406155B2 (en) 2009-09-25 2016-08-02 Arm Limited Graphics processing systems
US9058685B2 (en) * 2010-03-11 2015-06-16 Broadcom Corporation Method and system for controlling a 3D processor using a control list in memory
US8854384B2 (en) * 2010-04-06 2014-10-07 Broadcom Corporation Method and system for processing pixels utilizing scoreboarding
US20120176386A1 (en) * 2011-01-10 2012-07-12 Hutchins Edward A Reducing recurrent computation cost in a data processing pipeline
US9449359B2 (en) 2012-09-13 2016-09-20 Ati Technologies Ulc Rendering settings in a multi-graphics processing unit system
GB2511817A (en) * 2013-03-14 2014-09-17 Imagination Tech Ltd Rendering in computer graphics systems
US10204391B2 (en) * 2013-06-04 2019-02-12 Arm Limited Method of and apparatus for processing graphics
KR102122454B1 (ko) 2013-10-02 2020-06-12 삼성전자주식회사 이전 타일의 이미지를 이용하여 현재 프레임을 렌더링하는 방법 및 장치
GB2521170A (en) * 2013-12-11 2015-06-17 Advanced Risc Mach Ltd Method of and apparatus for displaying an output surface in data processing systems
US9305326B2 (en) 2013-12-26 2016-04-05 Industrial Technology Research Institute Apparatus and method for tile elimination
KR102327144B1 (ko) * 2014-11-26 2021-11-16 삼성전자주식회사 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 타일 기반 그래픽스 파이프라인을 수행하는 방법

Also Published As

Publication number Publication date
CN105701852A (zh) 2016-06-22
JP2016110655A (ja) 2016-06-20
EP3032499B1 (en) 2020-10-07
US9959659B2 (en) 2018-05-01
US20160163087A1 (en) 2016-06-09
EP3032499A1 (en) 2016-06-15
CN105701852B (zh) 2020-06-09
KR20160069801A (ko) 2016-06-17
KR102276909B1 (ko) 2021-07-13

Similar Documents

Publication Publication Date Title
JP6778485B2 (ja) レンダリング方法及びその装置
US10733691B2 (en) Fragment shaders perform vertex shader computations
KR102122454B1 (ko) 이전 타일의 이미지를 이용하여 현재 프레임을 렌더링하는 방법 및 장치
JP5847159B2 (ja) タイル・ベース・レンダリング・システムにおけるサーフェスのパッチのテッセレーション
JP5336067B2 (ja) グラフィックスを処理する方法および装置
US9965886B2 (en) Method of and apparatus for processing graphics
JP6445825B2 (ja) 映像処理装置及び方法
KR102651126B1 (ko) 그래픽 프로세싱 장치 및 그래픽스 파이프라인에서 텍스처를 처리하는 방법
US10169839B2 (en) Method and apparatus for executing graphics pipeline
KR20110093404A (ko) 3차원 그래픽스 랜더링 장치 및 그 방법
JP2016212859A (ja) 両眼視差映像に対するレンダリング方法及びその装置
GB2500284A (en) Object list tile based computer graphics using modified primitives
KR102381945B1 (ko) 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 그래픽스 파이프라인을 수행하는 방법
KR102264163B1 (ko) 텍스쳐를 처리하는 방법 및 장치
KR20220100877A (ko) 대역폭 테셀레이션 팩터 감소
KR20160063081A (ko) 선택적 테셀레이션 방법 및 장치
JP2017062789A (ja) グラフィックス処理装置、及びテクスチャリングのためのlodを決定する方法
US20150015574A1 (en) System, method, and computer program product for optimizing a three-dimensional texture workflow
JP6931279B2 (ja) テクスチャ処理方法及びテクスチャ処理装置
KR20180038793A (ko) 영상 데이터 처리 방법 및 장치
US9984491B2 (en) Apparatus and method for managing commands
KR20150042095A (ko) 드로우 커맨드들의 처리 순서를 재조정하여 프레임을 렌더링하는 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181017

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200123

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200820

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20200820

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200831

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20200901

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: 20200923

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201012

R150 Certificate of patent or registration of utility model

Ref document number: 6778485

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250