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

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

Info

Publication number
JP6170690B2
JP6170690B2 JP2013035983A JP2013035983A JP6170690B2 JP 6170690 B2 JP6170690 B2 JP 6170690B2 JP 2013035983 A JP2013035983 A JP 2013035983A JP 2013035983 A JP2013035983 A JP 2013035983A JP 6170690 B2 JP6170690 B2 JP 6170690B2
Authority
JP
Japan
Prior art keywords
context
target
internal memory
rendering
usage count
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.)
Expired - Fee Related
Application number
JP2013035983A
Other languages
English (en)
Other versions
JP2013175191A (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 JP2013175191A publication Critical patent/JP2013175191A/ja
Application granted granted Critical
Publication of JP6170690B2 publication Critical patent/JP6170690B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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/14Display of multiple viewports
    • 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
    • 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/393Arrangements for updating the contents of the bit-mapped memory
    • 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/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Image Generation (AREA)

Description

下記の実施形態はレンダリング装置及びその方法に関し、より詳しくは、レンダリング装置と外部メモリとの間のデータアクセスを減少させることができるレンダリング装置及び方法に関する。
デバイスに3次元グラフィックデータを表示するアプリケーションの例として、モバイルデバイスで用いられるUI(User Interface)アプリケーション、e−bookアプリケーション、インターネット上のショッピングモールで用いられる商品シミュレーションのためのアプリケーションなどがある。
上述のアプリケーションは速いレンダリングを必要とする。ある方式では、レンダリングされる画面を複数のタイルで区分し、各タイルに対してどのようなオブジェクトが表示されるかを判断してレンダリングするタイルベースのレンダリング方式を用いる。
タイルベースのレンダリング方式によれば、第1タイルをレンダリングするために第1コンテキストを外部メモリから内部メモリにロードし、第2タイルをレンダリングするためには再び第2コンテキストを外部メモリから内部メモリにロードする。
したがって、外部メモリと内部メモリとの間の帯域幅が狭い場合にはレンダリング性能が減少してしまうので、外部メモリと内部メモリとの間の帯域幅がレンダリング性能を向上させるための重要な要素である。
本発明の目的は、内部メモリと外部メモリ間の帯域幅を効果的に用いることにある。
本発明の他の目的は、レンダリング装置が外部メモリに格納されたコンテキストをロードする回数を減少させることにある。
例示的な実施形態によれば、タイルベースのレンダリング装置において、ターゲットコンテキストが複数のタイルのレンダリングに用いられる総使用回数を決定する使用回数決定部と、前記ターゲットコンテキストを外部メモリから内部メモリにロードするメモリアップデート部と、前記ロードされたターゲットコンテキストを各タイルのレンダリングに使用することによって、前記ターゲットコンテキストの残余使用回数をアップデートする使用回数アップデート部とを備えるタイルベースのイメージレンダリング装置が提供される。
ここで、前記ターゲットコンテキストは、前記ターゲットコンテキストに対応するターゲットオブジェクトをレンダリングするためのテクスチャ情報、前記ターゲットオブジェクトに対するピクセルシェーダ演算に必要な情報、前記ターゲットオブジェクトに対するラスタライザのステート情報のうち少なくとも1つを含んでもよい。
そして、前記使用回数決定部は、前記ターゲットコンテキストに対応するターゲットオブジェクトが前記各タイルのうち数個のタイルにかけて表示されるか否かに応じて前記総使用回数を決定してもよい。
また、前記メモリアップデート部は、前記内部メモリに前記ターゲットコンテキストをロードするための空間が存在するか否かを判断し、前記空間が存在する場合に、前記ターゲットコンテキストを前記内部メモリにロードしてもよい。
ここで、前記メモリアップデート部は前記空間が存在しない場合、前記内部メモリにロードされた他のコンテキストのうち、前記他のコンテキストの残余使用回数に基づいて前記内部メモリから削除されるコンテキストを選択して削除し、前記ターゲットコンテキストをロードしてもよい。
また、前記メモリアップデート部は、前記他のコンテキストのうち、前記残余使用回数が「0」であるコンテキストを前記削除されるコンテキストに選択してもよい。
また、前記メモリアップデート部は、前記他のコンテキストのうち、前記残余使用回数が最も小さいコンテキストを前記削除されるコンテキストに選択してもよい。
また、複数のタイルは、3次元グラフィックデータを構成するためのタイルであってもよい。
本発明の他の例示的な実施形態によれば、タイルベースのイメージレンダリング方法において、ターゲットコンテキストが複数のタイルのレンダリングに用いられる総使用回数を決定するステップと、前記ターゲットコンテキストを外部メモリから内部メモリにロードするステップと、前記ロードされたターゲットコンテキストを各タイルのレンダリングに使用することによって前記ターゲットコンテキストの残余使用回数をアップデートするステップとを含む。
ここで、前記ターゲットコンテキストは、前記ターゲットコンテキストに対応するターゲットオブジェクトをレンダリングするためのテクスチャ情報、前記ターゲットオブジェクトに対するピクセルシェーダ演算に必要な情報、前記ターゲットオブジェクトに対するラスタライザのステート情報のうち少なくとも1つを含んでもよい。
また、前記総使用回数を決定するステップは、前記ターゲットコンテキストに対応するターゲットオブジェクトが前記各タイルのうち、数個のタイルにかけて表示されるか否かに応じて前記総使用回数を決定してもよい。
また、前記内部メモリに前記ターゲットコンテキストをロードするための空間が存在するか否かを判断するステップをさらに含み、前記ロードするステップは、前記空間が存在する場合に前記ターゲットコンテキストを前記内部メモリにロードしてもよい。
ここで、前記空間が存在しない場合に、前記内部メモリにロードされた他のコンテキストのうち、前記他のコンテキストの残余使用回数に基づいて前記内部メモリから削除されるコンテキストを選択して削除するステップをさらに含み、前記ロードするステップは、前記コンテキストの削除後に前記ターゲットコンテキストをロードしてもよい。
また、前記削除するステップは、前記他のコンテキストのうち、前記残余使用回数が「0」であるコンテキストを前記削除されるコンテキストに選択してもよい。
また、前記削除するステップは、前記他のコンテキストのうち、前記残余使用回数が最も小さいコンテキストを前記削除されるコンテキストに選択してもよい。
また、複数のタイルは、3次元グラフィックデータを構成するためのタイルであってもよい。
本発明のタイルベースのイメージレンダリング方法は、ターゲットコンテキストが複数のタイルのレンダリングに用いられる総使用回数を決定するステップと、前記内部メモリに前記ターゲットコンテキストをロードするための空間が存在するか否かを決定するステップと、前記空間が存在しない場合に、前記内部メモリにロードされた他のコンテキストのうち、前記他のコンテキストの残余使用回数に基づいて前記内部メモリから削除されるコンテキストを選択して削除するステップとを含む。
また、前記総使用回数を決定するステップは、前記ターゲットコンテキストに対応するターゲットオブジェクトが前記各タイルのうち、数個のタイルにかけて表示されるか否かに応じて前記総使用回数を決定してもよい。
ここで、前記ターゲットコンテキストを外部メモリから内部メモリにロードするステップをさらに含み、前記ロードするステップは、前記空間が存在する場合に前記ターゲットコンテキストを前記内部メモリにロードしてもよい。
例示的な実施形態によれば、内部メモリと外部メモリ間の帯域幅を効果的に用いることができる。例示的な実施形態によれば、レンダリング装置が外部メモリに格納されたコンテキストをロードする回数を減少させることができる。
例示的な実施形態に係るレンダリング方法を段階別に説明したフローチャートである。 例示的な実施形態に係る総使用回数の設定方法を段階別に説明したフローチャートである。 例示的な実施形態に係る総使用回数の設定方法を説明した図である。 例示的な実施形態に係るレンダリング方法を説明した図である。 例示的な実施形態に係るレンダリング装置の構造を示すブロック図である。 更なる例示的な実施形態に係るレンダリング方法を段階別に説明したフローチャートである。
以下、本発明の実施形態について添付の図面を参照しながら詳細に説明する。
図1は、例示的な実施形態に係るレンダリング方法を段階別に説明したフローチャートである。
ステップS110において、レンダリング装置はデータに対する総使用回数を決定する。ここで、ラスタライザ演算に必要な情報がステップS110におけるデータに用いられてもよい。一実施形態によれば、ラスタライザ演算に必要な情報は、ターゲットオブジェクトをレンダリングするためのテクスチャ情報、ターゲットオブジェクトに対するピクセルシェーダ演算に必要な情報、ターゲットオブジェクトに対するラスタライザのステート情報のうち少なくとも1つを含んでもよい。
ここで、ラスタライザは、テクスチャイメージ情報、タイル情報、シーンバッファ情報を含むデータ構造を用いてターゲットオブジェクトに対する演算を行う。また、ラスタライザは、ラスタライザセッティング、フラグメント演算のセッティングを含むラスタライザステートなどを用いてターゲットオブジェクトに対する演算を行う。
また、ターゲットオブジェクトに対するピクセルシェーダは、シェーダプログラムのポインタ、シェーダコンテキスト、シェーダプログラムのバリイング変数(varying variables)、ユニフォーム変数(uniform variables)、ピクセルシェーダ演算関数、ピクセルシェーダ演算結果であるフラグメント情報のうち少なくとも1つを含むピクセルシェーダ演算に必要な情報を用いてターゲットオブジェクトに対する演算を行う。ここで、バリイング変数は、ポジション情報及びテクスチャ座標またはカラー、法線情報、接線、従法線、ビュー情報、光情報のうち少なくとも1つを含んでもよい。
以下、本明細書では「データ」と「コンテキスト」という用語を併行して使用することにする。総使用回数は、データに対応するオブジェクトが数個のタイルにかけて表現されるかに応じて決定されてもよい。例えば、データに対応するオブジェクトが4個のタイルにかけて表現されれば、オブジェクトは4個のタイルに分類して表現される。したがって、4個のタイルそれぞれをレンダリングする場合に当該データが使用されなければならない。この場合、当該データに対する総使用回数は4回に決定されてもよい。
ステップS110で、レンダリング装置は、レンダリングを行うためのデータに対してデータの残余使用回数を決定する。ステップS110では、データに対するレンダリングがまだ行われていないため、レンダリング装置はデータの残余使用回数をデータに対する総使用回数と同一に決定してもよい。ステップS120で、レンダリング装置のレンダリングモジュールは、特定タイルをレンダリングするためにデータをリクエストする。
一実施形態によれば、データは外部メモリに格納されてもよい。外部メモリに格納されたデータは内部メモリにロードされ、レンダリングモジュールは内部メモリにロードされたデータを用いてレンダリングを行う。
ステップS121で、レンダリング装置は、内部メモリにリクエストしたデータがあるか否かを判断してもよい。もし、当該データが以前タイルをレンダリングするために使用されれば、データは内部メモリにロードされていてもよい。
もし、当該データが内部メモリにロードされていれば、レンダリング装置はステップS122で内部メモリにロードされたデータをレンダリングモジュールに提供する。
ステップS123で、レンダリングモジュールは、内部メモリにロードされたデータを用いてレンダリングを行う。データがレンダリングに使用されれば、レンダリング装置は、当該データに対する残余使用回数を「1」だけ減少させてもよい。もし、ステップS121で、内部メモリにリクエストしたデータがないと判断されれば、レンダリング装置はステップS130で、内部メモリにリクエストされたデータを格納する空間があるか否かを判断する。
もし、内部メモリにリクエストされたデータを格納する空間があれば、レンダリング装置はステップS140で、外部メモリに格納されたデータを内部メモリにロードする。レンダリング装置は、ステップS122及びステップS123で、ロードされたデータを用いてレンダリングを行う。もし、内部メモリにリクエストされたデータを格納する空間がなければ、レンダリング装置は、内部メモリにすでにロードされた他のデータを一部削除することで内部メモリの空間を確保することができる。
一実施形態によれば、レンダリング装置は、内部メモリにロードされた他のデータのうち以前に使用される可能性が低いデータを選択して削除してもよい。
一実施形態によれば、レンダリング装置は、各データに対して残余使用回数を設定して制御してもよい。この場合に、レンダリング装置は、残余使用回数が小さいデータを以前に使用する可能性が低いデータと判断して選択し、選択されたデータを削除してもよい。
ステップS150で、レンダリング装置は、リクエストされたデータの残余使用回数が、例えば「1」よりも小さいか同じであるかを判断する。もし、リクエストされたデータの残余使用回数が「1」よりも小さいか同一である場合、レンダリング装置は、リクエストされたデータが1回だけ使用されたと判断する。この場合、レンダリング装置は、ステップS170で外部メモリに格納されたデータをレンダリングモジュールに提供し、リクエストされたデータを内部メモリに格納しなくてもよい。
もし、データの残余使用回数が「1」より大きければ、レンダリング装置はリクエストされたデータが数回使用されるものと判断してもよい。この場合には、リクエストされたデータを内部メモリに格納することが性能向上のために有利である。レンダリング装置はステップS151で、内部メモリのデータのうち残余使用回数が最も小さいデータを選択する。
レンダリング装置はステップS160で、リクエストされたデータの残余使用回数と選択されたデータの残余使用回数とを比較する。もし、リクエストされたデータの残余使用回数が選択されたデータの残余使用回数よりも少なければ、レンダリング装置はステップS170で、外部メモリに格納されたデータを内部メモリに格納することなく、レンダリングモジュールに提供してもよい。
ステップS161で、リクエストされたデータの残余使用回数が選択されたデータの残余使用回数よりも多ければ、レンダリング装置は外部メモリでリクエストされたデータを内部メモリにロードする。
図2は例示的な実施形態に係る総使用回数の設定方法を段階別に説明したフローチャートであり、図3は例示的な実施形態に係る総使用回数の設定方法を説明した図である。
ステップS210で、レンダリング装置は、オブジェクト、タイル情報、コンテキスト情報を外部メモリで読み込む。ここで、コンテキスト情報は、オブジェクトをレンダリングするためのテクスチャ情報、ポジション情報、法線情報、レンダリングステート情報のうち少なくとも1つを含んでもよい。
ステップS220で、レンダリング装置は、各オブジェクトがタイルに重なった部分を算出する。一実施形態によれば、レンダリング装置は、レンダリング映像310を図3(a)に示すように複数のタイル311に分割する。図3(a)では、レンダリング映像が25個のタイルに分割された実施形態を示す。レンダリング映像は、少なくとも1つ以上のオブジェクト320、330を含んでもよい。オブジェクト320、330は図3(a)に示すように、少なくとも1つ以上のタイルにかけて表示されてもよい。
図3(b)は、各オブジェクトが各タイルに重なった部分を算出したものである。各タイルに書き込まれた数字は各タイルに重なったオブジェクトの番号を表示したものであり、タイルに書き込まれた数字が1である場合は第1オブジェクト320が当該タイルに表示されることを意味し、タイルに書き込まれた数字が2である場合は第2オブジェクト330が当該タイルに表示されることを意味する。
ステップS230で、レンダリング装置は、「現在のタイル」の値をオブジェクトとタイルが重なった領域の開始タイルに設定する。ステップS240で、レンダリング装置は、「現在のタイル」の値がオブジェクトとタイルが重なった領域の終了タイルであるかを判断する。もし、終了タイルであれば、レンダリング装置はステップS210で他のオブジェクトに対する演算を行う。
もし、終了タイルでなければ、レンダリング装置はステップS250で、現在のタイル内の当該オブジェクトのコンテキストが以前オブジェクトのコンテキストと異なるかを判断する。同一であれば、レンダリング装置は、内部メモリにロードされた以前オブジェクトのコンテキストを再び用いることができるため、この場合にはコンテキストの総使用回数を増加せずに、ステップS280で「現在のタイル」の値を増加させて他のタイルに対する演算を行う。
もし、以前オブジェクトのコンテキストと異なる場合、レンダリング装置は内部メモリにコンテキストをロードしなければならない。したがって、レンダリング装置はステップS260で当該コンテキストの総使用回数を「1」だけ増加させてもよい。
ステップS270で、レンダリング装置は各コンテキスト別の総使用回数を外部メモリに格納してもよい。ステップS230〜ステップS280における演算は、図3(b)に示されたオブジェクトの番号を全て合算したものである。すなわち、図3(b)で各オブジェクトが数個のタイルにかけて表現されたかを合算したものである。
図3(a)、(b)を参考すると、第1オブジェクト320は8個のタイルにかけて表現され、第2オブジェクト330は14個のタイルにかけて表現される。これを整理すれば、図3(c)の通りである。
図4は、例示的な実施形態に係るレンダリング方法を説明した図である。第1タイルに対するレンダリング情報410を参考すると、第1タイルには4個のオブジェクトが表現される。各オブジェクトに対するレンダリング情報411、412、413、414を参考すると、各オブジェクトは当該オブジェクトに対応するコンテキストを用いてレンダリングしてもよい。
また、第2タイルに対するレンダリング情報420を参考すると、第2タイルには3つのオブジェクトが表現される。各オブジェクトに対するレンダリング情報421、422、423を参考すると、各オブジェクトは当該オブジェクトに対応するコンテキストを用いてレンダリングしてもよい。
第1段階で、全てのコンテキスト情報は外部メモリ450に格納される。各コンテキストの横に記載された数字は各コンテキストに対する残余使用回数を示す。
第2段階で、レンダリング装置は第1コンテキストを内部メモリ441にロードする。ラスタライザ431はロードされた第1コンテキストを第1タイルで第1オブジェクトをレンダリングするために用いてもよい。この場合に、外部メモリ451の第1コンテキストに対する残余使用回数は「2」に減少した。
第3段階で、レンダリング装置は第2コンテキストを内部メモリ442にロードする。ラスタライザ432は、ロードされた第2コンテキストを第1タイルで第2オブジェクトをレンダリングするために用いてもよい。この場合に、外部メモリ452の第2コンテキストに対する残余使用回数は「0」に減少した。
第4段階で、レンダリング装置は第3コンテキストを内部メモリ443にロードする。ラスタライザ433は、ロードされた第3コンテキストを第1タイルで第3オブジェクトをレンダリングするために用いてもよい。この場合に、外部メモリ453の第3コンテキストに対する残余使用回数は「8」に減少した。
第5段階で、レンダリング装置は第1タイルで第4オブジェクトをレンダリングする。レンダリング装置は、第4オブジェクトをレンダリングするために第4コンテキストをロードしようとするが、内部メモリ444にはこれ以上の空間がない。この場合、レンダリング装置は内部メモリ444に格納されていた第1コンテキスト、第2コンテキスト、第3コンテキストのうち少なくとも1つ以上のコンテキストを削除してもよい。
一実施形態によれば、レンダリング装置は各コンテキストの残余使用回数に基づいて内部メモリ444に格納されていたコンテキストのうち少なくとも1つ以上のコンテクスを選択し、選択されたコンテキストを削除してもよい。
一実施形態によれば、レンダリング装置は内部メモリ444に格納されていたコンテキストのうち、残余使用回数が「0」であるコンテキストを選択して削除してもよい。他の側面によれば、レンダリング装置は、内部メモリ444に格納されていたコンテキストのうち残余使用回数が最も小さいコンテキストを選択して削除してもよい。
図4では、レンダリング装置が内部メモリ444に格納されていたコンテキストのうち第2コンテキストを削除してもよい。第2コンテキストの残余使用回数は「0」回であり、第1コンテキスト、第2コンテキスト、第3コンテキストのうち残余使用回数が最も少ない。
一実施形態によれば、レンダリング装置は第2コンテキストを削除して確保された空間に第4コンテキストをロードしてもよい。ラスタライザ444は、ロードされた第4コンテキストを第1タイルで第4オブジェクトをレンダリングするために用いてもよい。この場合に、外部メモリ454の第3コンテキストに対する残余使用回数は「16」に減少した。
第6段階で、ラスタライザ435は、内部メモリ445にロードされた第1コンテキスト、第3コンテキスト及び第4コンテキストを用いて第2タイルで第1オブジェクト、第3オブジェクト、第4オブジェクトをレンダリングしてもよい。この場合に、外部メモリ455の第1コンテキストに対する残余使用回数は「1」に、第3コンテキストに対する残余使用回数は「7」に、第4コンテキストに対する残余使用回数は「15」に減少した。
第6段階で、第2タイルをレンダリングするための全てのコンテキストがすでにメモリにロードされているため、レンダリング装置は外部メモリ455にアクセスする必要がなく、外部メモリから内部メモリでコンテキストをロードしなくてもよい。したがって、外部メモリから内部メモリまでのバスを効率的に使用することができる。
図5は、例示的な実施形態に係るレンダリング装置の構造を示すブロック図である。レンダリング装置500は、使用回数決定部510、メモリアップデート部520、使用回数アップデート部530、外部メモリ540、内部メモリ550及びレンダリングエンジン560を備える。
レンダリング装置はレンダリング映像をタイル単位に分割し、各タイルに対してレンダリングを行う。レンダリング装置は、オブジェクトをレンダリングするためにコンテキストを用いる。ここで、コンテキストは、ターゲットオブジェクトをレンダリングするためのテクスチャ情報、ターゲットオブジェクトに対するピクセルシェーダ演算に必要な情報、ターゲットオブジェクトに対するラスタライザのステート情報のうち少なくとも1つを含んでもよい。
イメージに対する複数のタイルは、3次元グラフィックデータを生成するためのタイルであってもよい。
使用回数決定部510は、ターゲットコンテキストが前記各タイルのレンダリングに用いられる総使用回数を決定する。一実施形態によれば、使用回数決定部510は、ターゲットコンテキストに対応するターゲットオブジェクトがレンダリング映像を分割したタイルのうち数個のタイルにかけて表示されるか否かに応じて、ターゲットコンテキストに対する総使用回数を決定する。例えば、ターゲットコンテキストに対応するターゲットオブジェクトが3つのタイルにかけて表示される場合、使用回数決定部510はターゲットコンテキストに対する総使用回数は3回であると決定してもよい。
ターゲットコンテキストは外部メモリ540に格納されてもよい。メモリアップデート部520は、外部メモリ540に格納されたターゲットコンテキストを内部メモリにロードし、レンダリングエンジン560は内部メモリにロードされたターゲットコンテキストを用いてターゲットオブジェクトをレンダリングしてもよい。
図5において、レンダリングエンジン560と内部メモリ550が別個のハードウェアのように示されたが、一実施形態によれば、レンダリングエンジン560と内部メモリ550は1つのハードウェアで実現されてもよい。例えば、レンダリングエンジン560は中央処理装置の演算部であり、内部メモリ550は中央処理装置内部のメモリであってもよい。したがって、レンダリングエンジン560と内部メモリ550との間の帯域幅は極めて広く、ロード速度も極めてはやいものの、外部メモリ540と中央処理装置間の帯域幅は相対的に狭くてロード速度も相対的に遅い場合もある。
一実施形態によれば、メモリアップデート部520は、内部メモリ550にターゲットコンテキストをロードするための空間が存在するか否かを判断し、空間が存在する場合にターゲットコンテキストを内部メモリ550にロードしてもよい。すなわち、内部メモリ550に他のオブジェクトをレンダリングするための異なるコンテキストがすでにロードされれば、内部メモリ550には十分な空間が存在しない場合がある。この場合に、メモリアップデート部520はターゲットコンテキストを内部メモリ550にロードすることができない。
使用回数アップデート部530は、内部メモリ550にロードされたターゲットコンテキストが各タイルのレンダリングに使用されることによって、ターゲットコンテキストの残余使用回数をアップデートする。すなわち、ターゲットコンテキストが最初に内部メモリ550にロードされれば、ターゲットコンテキストの残余使用回数は、ターゲットコンテキストに対する総使用回数と同一に決定される。ターゲットコンテキストが第1タイルのレンダリングに使用されれば、使用回数アップデート部530は、ターゲットコンテキストの残余使用回数を従来の残余使用回数よりも「1」小さい値にアップデートしてもよい。また、ターゲットコンテキストが第2タイルのレンダリングに使用されれば、使用回数アップデート部530は、ターゲットコンテキストの残余使用回数を再び「1」小さい値にアップデートしてもよい。使用回数アップデート部530は、類似の方法でターゲットコンテキストに対する残余使用回数が「0」になるまでアップデートしてもよい。
一実施形態によれば、メモリアップデート部520は、内部メモリ550にロードされた複数のコンテキストのうち、各コンテキストの残余使用回数に基づいて内部メモリ550から削除されるコンテキストを選択してもよい。
メモリアップデート部520が選択されたコンテキストを削除すると、内部メモリ550には、ターゲットコンテキストをロードすることのできる空間が確保され得る。この場合、メモリアップデート部520は確保された空間にターゲットコンテキストをロードし、レンダリングエンジン560はロードされたターゲットコンテキストを用いてレンダリングを行う。
一実施形態によれば、メモリアップデート部520は内部メモリ550に格納されたコンテキストのうち、残余使用回数が「0」のコンテキストを選択して削除してもよい。他の側面によれば、メモリアップデート部520は内部メモリ550に格納されたコンテキストのうち、残余使用回数が最も小さいコンテキストを選択して削除してもよい。
図6は、更なる例示的な実施形態に係るレンダリング方法を段階別に説明したフローチャートである。
レンダリング装置はレンダリング映像をタイル単位に分割し、各タイルに対してレンダリングを行う。レンダリング装置は、オブジェクトをレンダリングするためにコンテキストを用いる。ここで、コンテキストは、ターゲットオブジェクトをレンダリングするためのテクスチャ情報、ターゲットオブジェクトに対するピクセルシェーダ演算に必要な情報、ターゲットオブジェクトに対するラスタライザのステート情報のうち少なくとも1つを含んでもよい。ステップS610で、レンダリング装置はターゲットコンテキストが各タイルのレンダリングに用いられる総使用回数を決定する。一実施形態によれば、レンダリング装置は、ターゲットコンテキストに対応するターゲットオブジェクトがレンダリング映像を分割したタイルのうち、数個のタイルにかけて表示されるか否かに応じてターゲットコンテキストに対する総使用回数を決定してもよい。ターゲットコンテキストは外部メモリに格納されてもよい。
ステップS620で、レンダリング装置は、内部メモリにターゲットコンテキストをロードするための空間が存在するか否かを判断してもよい。ターゲットコンテキストをロードするための空間が存在する場合、ステップS640で、レンダリング装置はターゲットコンテキストを前記内部メモリにロードしてもよい。
内部メモリに他のオブジェクトをレンダリングするための他のコンテキストが既にロードされれば、内部メモリには十分な空間が存在できない場合がある。この場合に、レンダリング装置は、ターゲットコンテキストを内部メモリにロードすることができない。この場合、レンダリング装置はステップS630で、内部メモリに格納されたコンテキストのうち一部のコンテキストを選択して削除してもよい。
一実施形態によれば、レンダリング装置は内部メモリにロードされた複数のコンテキストのうち、各コンテキストの残余使用回数に基づいて内部メモリから削除されるコンテキストを選択してもよい。
一実施形態によれば、レンダリング装置は内部メモリに格納されたコンテキストのうち、残余使用回数が「0」のコンテキストを選択して削除してもよい。
他の側面によれば、レンダリング装置は内部メモリに格納されたコンテキストのうち、残余使用回数が最も小さいコンテキストを選択して削除してもよい。
レンダリング装置が選択されたコンテキストを削除すると、内部メモリにはターゲットコンテキストをロードすることのできる空間が確保され得る。この場合、レンダリング装置はステップS640で、確保された空間にターゲットコンテキストをロードしてもよい。
ステップS650で、レンダリング装置はロードされたターゲットコンテキストを用いてレンダリングを行う。ステップS660で、レンダリング装置は内部メモリにロードされたターゲットコンテキストが各タイルのレンダリングに用いられることによってターゲットコンテキストの残余使用回数をアップデートする。すなわち、ターゲットコンテキストが最初に内部メモリにロードされれば、ターゲットコンテキストの残余使用回数はターゲットコンテキストに対する総使用回数と同一に決定される。ターゲットコンテキストが第1タイルのレンダリングに使用されれば、レンダリング装置は、ターゲットコンテキストの残余使用回数を従来の残余使用回数よりも「1」小さい値にアップデートしてもよい。また、ターゲットコンテキストが第2タイルのレンダリングに使用されれば、レンダリング装置は、ターゲットコンテキストの残余使用回数を再び「1」小さい値にアップデートしてもよい。レンダリング装置は、類似の方法によりターゲットコンテキストに対する残余使用回数が「0」になるまでアップデートしてもよい。
本発明の実施形態に係る方法は、多様なコンピュータ手段によって行うことができるプログラム命令の形態で実現されても良く、かかるプログラム命令は、コンピュータ読み出し可能媒体に記録されてもよい。前記コンピュータ読み出し可能媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせたものを含んでもよい。前記媒体に記録されるプログラム命令は、本発明のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み出し可能記録媒体の例には、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスクのような光磁気媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を格納し遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例には、コンパイラによって作られるような機械語コードだけでなく、インタープリタなどを用いてコンピュータによって実行できる高級言語コードが含まれる。前記したハードウェア装置は、本発明の動作を行うために1つ以上のソフトウェアモジュールとして作動するように構成されてもよく、その逆も同様である。
以上のように本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような記載から多様な修正及び変形が可能である。
したがって、本発明の範囲は、説明された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
500 レンダリング装置
510 使用回数決定部
520 メモリアップデート部
530 使用回数アップデート部
540 外部メモリ
550 内部メモリ
560 レンダリングエンジン

Claims (11)

  1. ターゲットコンテキストが複数のタイルのレンダリングに用いられる総使用回数を決定する使用回数決定部と、
    前記ターゲットコンテキストを外部メモリから内部メモリにロードするメモリアップデート部と、
    前記ロードされたターゲットコンテキストを各タイルのレンダリングに使用することによって、前記ターゲットコンテキストの残余使用回数をアップデートする使用回数アップデート部と、
    を備え
    前記メモリアップデート部は、前記内部メモリに前記ターゲットコンテキストをロードするための空間が存在するか否かを判断し、前記空間が存在しない場合、前記内部メモリにロードされた他のコンテキストのうち、前記残余使用回数が最も小さいコンテキストを前記内部メモリから削除されるコンテキストとして選択して削除し、前記ターゲットコンテキストをロードする、イメージレンダリング装置。
  2. 前記ターゲットコンテキストは、前記ターゲットコンテキストに対応するターゲットオブジェクトをレンダリングするためのテクスチャ情報、前記ターゲットオブジェクトに対するピクセルシェーダ演算に必要な情報、前記ターゲットオブジェクトに対するラスタライザのステート情報のうち少なくとも1つを含むことを特徴とする請求項1に記載のイメージレンダリング装置。
  3. 前記使用回数決定部は、前記ターゲットコンテキストに対応するターゲットオブジェクトが前記各タイルのうち数個のタイルにかけて表示されるか否かに応じて前記総使用回数を決定することを特徴とする請求項1又は2に記載のイメージレンダリング装置。
  4. 前記メモリアップデート部は、前記内部メモリに前記ターゲットコンテキストをロードするための間が存在する場合に、前記ターゲットコンテキストを前記内部メモリにロードすることを特徴とする請求項1乃至3のいずれか一項に記載のイメージレンダリング装置。
  5. 複数のタイルは、3次元グラフィックデータを構成するためのタイルであることを特徴とする請求項1乃至のいずれか一項に記載のイメージレンダリング装置。
  6. ターゲットコンテキストが複数のタイルのレンダリングに用いられる総使用回数を決定するステップと、
    内部メモリに前記ターゲットコンテキストをロードするための空間が存在するか否かを判断するステップと、
    前記空間が存在しない場合、前記内部メモリにロードされた他のコンテキストのうち、残余使用回数が最も小さいコンテキストを前記内部メモリから削除されるコンテキストとして選択して削除するステップと、
    前記ターゲットコンテキストを外部メモリから前記内部メモリにロードするステップと、
    前記ロードされたターゲットコンテキストを各タイルのレンダリングに使用することによって前記ターゲットコンテキストの残余使用回数をアップデートするステップと、
    を含むメージレンダリング方法。
  7. 前記ターゲットコンテキストは、前記ターゲットコンテキストに対応するターゲットオブジェクトをレンダリングするためのテクスチャ情報、前記ターゲットオブジェクトに対するピクセルシェーダ演算に必要な情報、前記ターゲットオブジェクトに対するラスタライザのステート情報のうち少なくとも1つを含むことを特徴とする請求項に記載のイメージレンダリング方法。
  8. 前記ロードするステップは、前記空間が存在する場合に前記ターゲットコンテキストを前記内部メモリにロードすることを特徴とする請求項又はに記載のイメージレンダリング方法。
  9. 複数のタイルは、3次元グラフィックデータを構成するためのタイルであることを特徴とする請求項乃至のいずれか一項に記載のイメージレンダリング方法。
  10. 請求項乃至のいずれか一項に記載の方法をコンピュータで実行するためのプログラムを記録するコンピュータで読み出し可能な記録媒体。
  11. 前記総使用回数を決定するステップは、前記ターゲットコンテキストに対応するターゲットオブジェクトが前記各タイルのうち、数個のタイルにかけて表示されるか否かに応じて前記総使用回数を決定することを特徴とする請求項6乃至9のいずれか一項に記載のイメージレンダリング方法。
JP2013035983A 2012-02-27 2013-02-26 レンダリング装置及びその方法 Expired - Fee Related JP6170690B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2012-0019523 2012-02-27
KR1020120019523A KR101953133B1 (ko) 2012-02-27 2012-02-27 렌더링 장치 및 그 방법

Publications (2)

Publication Number Publication Date
JP2013175191A JP2013175191A (ja) 2013-09-05
JP6170690B2 true JP6170690B2 (ja) 2017-07-26

Family

ID=49002347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013035983A Expired - Fee Related JP6170690B2 (ja) 2012-02-27 2013-02-26 レンダリング装置及びその方法

Country Status (4)

Country Link
US (1) US9805502B2 (ja)
JP (1) JP6170690B2 (ja)
KR (1) KR101953133B1 (ja)
CN (1) CN103295257B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150378920A1 (en) * 2014-06-30 2015-12-31 John G. Gierach Graphics data pre-fetcher for last level caches
CN105469354A (zh) * 2014-08-25 2016-04-06 超威半导体公司 图形处理方法、***和设备
EP3311601B1 (en) * 2015-06-16 2018-10-17 Philips Lighting Holding B.V. Electronic network device
US10269154B2 (en) * 2015-12-21 2019-04-23 Intel Corporation Rasterization based on partial spans
CN107491289B (zh) * 2016-06-12 2023-01-24 阿里巴巴(中国)有限公司 一种窗口渲染方法及装置
KR102637736B1 (ko) 2017-01-04 2024-02-19 삼성전자주식회사 그래픽스 처리 방법 및 시스템
CN109260708B (zh) * 2018-08-24 2020-01-10 腾讯科技(深圳)有限公司 地图渲染方法、装置以及计算机设备

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5430841A (en) 1992-10-29 1995-07-04 International Business Machines Corporation Context management in a graphics system
US6819321B1 (en) 2000-03-31 2004-11-16 Intel Corporation Method and apparatus for processing 2D operations in a tiled graphics architecture
TW531706B (en) 2000-07-20 2003-05-11 Ibm Method and apparatus in a data processing system for dynamic graphics context switching
GB2378108B (en) * 2001-07-24 2005-08-17 Imagination Tech Ltd Three dimensional graphics system
JP2003132347A (ja) 2001-10-26 2003-05-09 Sony Corp 画像処理装置
US6738069B2 (en) 2001-12-31 2004-05-18 Intel Corporation Efficient graphics state management for zone rendering
US6985150B2 (en) 2003-03-31 2006-01-10 Sun Microsystems, Inc. Accelerator control unit configured to manage multiple hardware contexts
JP4211760B2 (ja) * 2005-05-26 2009-01-21 コニカミノルタビジネステクノロジーズ株式会社 情報処理装置およびその管理方法ならびにコンピュータプログラム
GB0524804D0 (en) 2005-12-05 2006-01-11 Falanx Microsystems As Method of and apparatus for processing graphics
KR100762811B1 (ko) 2006-07-20 2007-10-02 삼성전자주식회사 하프 플레인 에지 함수를 이용한 타일 비닝 방법 및 시스템
KR100793990B1 (ko) 2006-09-18 2008-01-16 삼성전자주식회사 타일 기반 3차원 렌더링에서의 조기 z 테스트 방법 및시스템
US20090046098A1 (en) 2007-08-14 2009-02-19 Stmicroelectronics S.R.L. Primitive binning method for tile-based rendering
CN101127125A (zh) 2007-09-26 2008-02-20 腾讯科技(深圳)有限公司 一种图像渲染方法及***
US8040349B1 (en) * 2007-12-04 2011-10-18 Nvidia Corporation System and method for structuring an A-buffer
GB2461900B (en) 2008-07-16 2012-11-07 Advanced Risc Mach Ltd Monitoring graphics processing
US8368701B2 (en) 2008-11-06 2013-02-05 Via Technologies, Inc. Metaprocessor for GPU control and synchronization in a multiprocessor environment
GB0900700D0 (en) 2009-01-15 2009-03-04 Advanced Risc Mach Ltd Methods of and apparatus for processing graphics
US8379728B2 (en) * 2009-04-17 2013-02-19 Texas Instruments Incorporated Adaptive real-time video prediction mode method and computer-readable medium and processor for storage and execution thereof
JP2011051141A (ja) 2009-08-31 2011-03-17 Ricoh Co Ltd 画像形成装置、画像処理方法及び制御プログラム
KR101609266B1 (ko) 2009-10-20 2016-04-21 삼성전자주식회사 타일 기반의 랜더링 장치 및 방법
JP5524584B2 (ja) * 2009-11-20 2014-06-18 キヤノン株式会社 画像処理装置及びその制御方法
EP2517169A4 (en) * 2009-12-23 2017-10-18 Intel Corporation Image processing techniques
US8619085B2 (en) 2010-03-08 2013-12-31 Broadcom Corporation Method and system for compressing tile lists used for 3D rendering
JP5115768B2 (ja) 2010-04-14 2013-01-09 Necシステムテクノロジー株式会社 画像描画装置、画像描画方法およびプログラム

Also Published As

Publication number Publication date
US9805502B2 (en) 2017-10-31
US20130222379A1 (en) 2013-08-29
KR20130097886A (ko) 2013-09-04
KR101953133B1 (ko) 2019-05-22
JP2013175191A (ja) 2013-09-05
CN103295257B (zh) 2017-11-14
CN103295257A (zh) 2013-09-11

Similar Documents

Publication Publication Date Title
JP6170690B2 (ja) レンダリング装置及びその方法
JP7098710B2 (ja) 中心窩ジオメトリテッセレーション
US10311548B2 (en) Scaling render targets to a higher rendering resolution to display higher quality video frames
JP6563048B2 (ja) スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整
JP6073533B1 (ja) タイルベースのアーキテクチャ上での最適化されたマルチパスレンダリング
JP6591405B2 (ja) 頂点シェーダ出力パラメータの圧縮スキーム
JP6266656B2 (ja) 画像をサイズ変更するためのシステム及び方法
KR20200027004A (ko) 게임 렌더링 방법, 및 게임 자원 파일 생성 방법, 장치, 및 기기
JP5634104B2 (ja) タイルベースのレンダリング装置および方法
KR102247565B1 (ko) 렌더링 방법 및 장치
KR20140105609A (ko) 온라인 게이밍
JP2014515856A (ja) グラフィック処理のためのピクセル値圧縮
WO2014087572A1 (ja) 領域分割描画装置及び領域分割描画方法
JP6820160B2 (ja) イメージをレンダリングするプログラムおよびシステム
CN108090943B (zh) 渲染曲线的方法
US8908964B2 (en) Color correction for digital images
US9881392B2 (en) Mipmap generation method and apparatus
JP6271107B1 (ja) テクスチャマッピング装置およびテクスチャマッピングプログラム
US10825200B2 (en) Texture based pixel count determination
CN104851073B (zh) 用于处理图像数据的方法和装置
KR101823818B1 (ko) 이미지 뷰 바인딩의 최적화를 위한 시스템 및 방법
JP2017119171A (ja) オンラインゲーム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170517

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170703

R150 Certificate of patent or registration of utility model

Ref document number: 6170690

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees