JP2005346605A - アンチエイリアス描画方法およびこれを用いた描画装置 - Google Patents

アンチエイリアス描画方法およびこれを用いた描画装置 Download PDF

Info

Publication number
JP2005346605A
JP2005346605A JP2004168167A JP2004168167A JP2005346605A JP 2005346605 A JP2005346605 A JP 2005346605A JP 2004168167 A JP2004168167 A JP 2004168167A JP 2004168167 A JP2004168167 A JP 2004168167A JP 2005346605 A JP2005346605 A JP 2005346605A
Authority
JP
Japan
Prior art keywords
sample
value
memory storage
buffer
area
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.)
Withdrawn
Application number
JP2004168167A
Other languages
English (en)
Inventor
Makoto Yamakura
誠 山倉
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004168167A priority Critical patent/JP2005346605A/ja
Publication of JP2005346605A publication Critical patent/JP2005346605A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

【課題】ポリゴンの描画においてジャギーをなくすアンチエイリアシングを行うために、ディスプレイの解像度より大きな解像度でポリゴンを描画したり、あるいは各ピクセルに対して複数のサンプリングを行ってポリゴンを描画すると、レンダリングバッファへのメモリアクセスが増大し、描画速度が極端に遅くなってしまうという課題があった。
【解決手段】ポリゴン描画を単位描画領域ごとに行い、ポリゴン内部のサンプル点を同じサンプル値で近似し、レンダリングバッファに格納する。このときのレンダリングバッファへのメモリ格納イメージを示すアンチエイリアス状態フラグを領域情報バッファに格納する。前記レンダリングバッファのメモリアクセスは、あらかじめ参照された前記アンチエイリアス状態フラグが示すメモリ格納イメージに基づいて必要最小限に行われる。
【選択図】図1

Description

本発明は、コンピュータグラフィックス技術に関し、特にポリゴンを描画する際にポリゴンのエッジの部分で生じるジャギー(エイリアス)を目立たなくする技術、いわゆるアンチエイリアシング技術に関するものである。
一般的なグラフィックス描画は複数のポリゴンを描画することによって実現される。2次元空間または3次元空間に存在する2次元図形または3次元物体は、複数のポリゴン(多くの場合、ポリゴンは最も単純な三角形である)により表現され、それらのポリゴンは視線に垂直な2次元平面上に投影されてフレームバッファに描画され、最終的にディスプレイ上に表示される。
一般的なディスプレイは多数のピクセルからなっており、各ピクセルは無視できない有限の大きさを持つ。そのため、ポリゴンをディスプレイ上に描画すると、原理上、ピクセルの大きさよりも細かく表示することはできない。したがって、ディスプレイの解像度が低い場合には、ポリゴンのエッジの部分においてジャギー(エイリアス)と呼ばれる階段状のギザギザが目立つことになる。これは、グラフィックスの品質を低下させる。そのため、ポリゴン描画では、このジャギーを低減する、いわゆるアンチエイリアシング技術が必要である。
一般的に、アンチエイリアシングの方法は大きく以下の2種類に分類される。
第1の方法は、ディスプレイ上の各ピクセルにおいて、ピクセルの面積に占める表示すべきポリゴンの面積の割合を求め、その割合に基づいてポリゴン色と背景色とを混ぜ合わせる方法である。例えば、図10(a)のような図形を描画するとき、ピクセル1001に注目して、その面積を1とすると、ポリゴン色にはピクセル1001に占めるポリゴンの面積Sが乗じられ、背景色には(1−S)が乗じられ、その和がピクセル1001の色となる。このようにすると図10(b)のように、例えばポリゴン色を1とするとき、ピクセル1002の色は0.8となり、ピクセル1003の色は0.2となる。
なお、ポリゴンが占める面積を求める必要があるピクセルは、ポリゴンのエッジ部のピクセルだけでよい。エッジ部のピクセルの面積だけを求めることでアンチエイリアシングを高速化する例としては、例えば特許文献1がある。特許文献1では、ポリゴンのエッジ部についてピクセルを複数に分割し、サブピクセルレベルで描画範囲を求めることによりポリゴンの面積を求め、その割合に比例した色値を求めている。ポリゴン内部ではピクセルを分割せずに色値を求めるので、ポリゴン内部について高速化が図られる。
しかしながら、この方法は、ポリゴンを複数描画する場合、ポリゴンとポリゴンの境界で背景色が混ざってしまうという欠点がある。したがって、この方法は、直線や点などの単体図形を描画する場合に比較的効果があるが、複数のポリゴンを描画する場合にはあまり使われない。
第2の方法は、図10(c)のように、ディスプレイの解像度よりも高解像度でポリゴンを描画する方法である。この場合、ポリゴンはいったんフレームバッファとは異なる、ディスプレイの解像度よりも高解像度のレンダリングバッファ上に描画される。図10(c)の例では縦横2倍の解像度で描画している。複数のポリゴンを描画する場合でも、すべてのポリゴンについて上記のように高解像度のレンダリングバッファに描画する。最終的に、すべてのポリゴンがレンダリングバッファに描画された後、描画結果を低解像度のフレームバッファに縮小して転送する。この際、フレームバッファ上の各々のピクセルについて、対応するレンダリングバッファ上の複数(図10(c)の例では4個)のピクセルの色データを、フィルタリング(単なる平均化でも良い)してからフレームバッファに書き込む。以上により、図10(b)とほぼ同様な結果を得ることができる。この方法の長所は、フィルタリングはすべてのポリゴンをレンダリングバッファに描画した後で良いので、第1の方法のように、ポリゴン間の境界で背景色が混ざってしまうことがない。したがって、複数のポリゴンを描画する場合のアンチエイリアシング方法としては好ましい方法であると言える。また、各ピクセル内の任意の位置で、任意のサンプル数でサンプリングを行うことができるため、サンプリング位置に応じた重み付けによるフィルタリングを行うことにより画質を向上させることも可能である。
特開平6−68271号公報(第9頁、図4)
しかしながら、上記の第2の方法では、いったん高解像度のレンダリングバッファへ描画するために、フレームバッファへ直接描画するよりも描画時間が遅くなってしまうという課題がある。図10(c)の例では、4倍の解像度であるから、単純に図10(a)の4倍の描画時間がかかってしまうことになる。実際には、この他に、フレームバッファへの転送時間や、フィルタリング処理時間がかかってしまうので、さらに描画が遅くなってしまう。
また、上記の第2の方法は、第1の方法とは異なり、エッジ部のピクセルだけではなく、ポリゴン内部のピクセルに関しても同じ高解像度でレンダリングバッファに描画する必要がある。これは以下の理由による。
例えば、図11に示すように、4×4のフレームバッファ上に太線のような三角形のポリゴンを描画する場合を考える。ピクセルの中心点がポリゴン内部に含まれるピクセルのみを描画するものと約束するとき、「0」以外の数字が記されたピクセルが描画されることになる。これらの数字は、例えばピクセルごとのカラー値を表している(深度値(Z値)でも良い)。これに対し、図12では、図11と同じポリゴンを、フレームバッファとは異なるレンダリングバッファ上に、ポリゴンのエッジ部のピクセルに対しては4倍の解像度で描画している。当然ながら、エッジ部のピクセルを描画するためには、通常の4倍のメモリアクセス時間が必要である。これに対して、ポリゴンの内部のピクセルについては、1回のメモリアクセス時間で済むはずであるが、実際にはそうならない。なぜなら、ポリゴンの内部のピクセルとエッジ部のピクセルは、連続したレンダリングバッファに格納されるため、ポリゴンの内部のピクセルについてもエッジ部のピクセルと同じ4倍の解像度を持ったメモリ領域が割り当てられなければならないからである。また、レンダリングバッファが一般的なメモリデバイスで構成される場合には、メモリデバイスに固有なバースト長(例えば、4、8、16など)が存在する。したがって、エッジのピクセルは4サイクル(バースト長4)でアクセスするが、内部のピクセルは1サイクルでアクセスする、というようなことはできない。したがって、内部のピクセルにおいても4倍のメモリアクセス時間が生じてしまい、結果としてアンチエイリアス時の描画時間が非常に遅くなってしまうという課題があった。
上記の課題を解決するために、本発明では以下の手段を講じた。すなわち、ポリゴンは複数のサンプル点からなる単位描画領域ごとに処理され、前記単位描画領域のすべてのサンプル点はエッジサンプル点かまたは内部サンプル点かがレンダリングバッファのアドレスに基づいて判定され、前記内部サンプル点は同じサンプル値で近似され、前記エッジサンプル点と前記内部サンプル点の組み合わせに応じてメモリ格納イメージが決定され、前記単位描画領域のサンプル値は前記メモリ格納イメージに従ってレンダリングバッファに格納され、前記メモリ格納イメージはアンチエイリアス状態フラグにエンコードされ、前記アンチエイリアス状態フラグは領域情報バッファに格納され、前記レンダリングバッファのメモリアクセスは、あらかじめ参照された前記アンチエイリアス状態フラグがデコードされた結果であるメモリ格納イメージに基づいて必要最小限に行われる。前記メモリ格納イメージは、等値アドレス領域およびエッジアドレス領域からなり、前記等値アドレス領域には前記内部サンプル点のサンプル値が配置され、前記エッジアドレス領域には前記エッジサンプル点のサンプル値が配置される。
本発明のアンチエイリアシング方法によれば、ポリゴンのエッジ部と内部の描画に対して、レンダリングバッファのエッジアドレス領域と等値アドレス領域にそれぞれ割り当てるので、エッジ部を高解像度、内部を低解像度で描画でき、エッジアドレス領域に比べて等値アドレス領域のデータアクセスが低減し、全体としてレンダリングバッファへのアクセス量が大幅に低減され、アンチエイリアシング処理が高速化されるという効果がある。また、ポリゴンのエッジ部ではレンダリングバッファが高解像度であるので、隣り合うポリゴンの境界でも背景色が混ざるといった画質劣化が生じない。したがって、アンチエイリアシング処理の高画質化と高速化を同時に実現することが可能である。また、メモリアクセスに起因する消費電力を低減できることから、特に低消費電力が求められる電池駆動の携帯型電子機器において、画像表示を長時間化できるという効果がある。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1に本発明のアンチエイリアシング方法を示す。図1(a)はポリゴンの描画イメージを示し、16×16の仮想的なレンダリングバッファ上に、太線で示されたポリゴン101を描画する様子を示している。あらかじめ仮想レンダリングバッファは値0で初期化されており、次にポリゴン101を描画すると、ポリゴン101の内部に存在するサンプル点には「0」以外の数字が書き込まれる。これらの数字は、ポリゴン101に含まれる各サンプル点のカラー値を示している。ポリゴン101の各サンプル点のカラー値に注意すると、ポリゴンのエッジ付近のサンプル点のカラー値には差が見られるのに対して、ポリゴンの内部のサンプル点のカラー値には等しい部分があることが分かる。これは、ポリゴンを描画する際、図2(a)のようなテーブルを参照し、同じ記号(例えば「A」)で示されている2×2のサンプル点(1つのピクセルとなる)がすべてポリゴン内部にある場合には平均化された同じカラー値を書き込み、そうでない場合には各サンプル点ごとに求めたカラー値を書き込むことを示している。実際には、図2(a)のようなテーブルを参照しなくても、ピクセルの位置座標の下位ビットで判断することができる。なお、上記の仮想レンダリングバッファは、描画イメージを視覚的に理解するための仮想的なバッファであって、実際のレンダリングバッファへのカラー値の格納は、以下のように行われる。
図1(a)において、単位描画領域102に対するレンダリングバッファのメモリ格納パターンを図1(b)に示す。単位描画領域102とレンダリングバッファのアドレスADRとの対応関係を、図2を用いて説明する。まず、単位描画領域102に対する図2(a)のA領域の4個のサンプル点は、すべてポリゴンの外部にあるので、アドレスADRが0の位置にだけカラー値を格納する。B領域の4個のサンプル点はすべてポリゴンの内部にあるので、アドレスADRが1の位置にだけカラー値を格納する。C領域およびD領域は、一部のサンプル点のみがポリゴン内部にあるので、アドレスADRが8〜BおよびC〜Fの位置に4個のカラー値を格納する。すなわち、アドレス0〜3はA〜Dのいずれかの領域のすべてのサンプル点がポリゴン内部またはポリゴン外部にあって、カラー値がすべて等しい場合に書き込まれるメモリアドレス領域である。アドレス4〜FはA〜Dのいずれかの領域の一部のサンプル点だけがポリゴン内部にあって、カラー値が異なっている場合に書き込まれるメモリアドレス領域である。本発明では、図1(b)のアドレス0〜3のようなメモリアドレス領域Diを「等値アドレス領域」と呼び、アドレス4〜Fのようなメモリアドレス領域Deを「エッジアドレス領域」と呼ぶ。図2(b)は、単位描画領域のA〜Dそれぞれの領域について、レンダリングバッファの等値アドレス領域またはエッジアドレス領域のいずれに格納するかを判定するためのフローチャートを示している。このように、レンダリングバッファ上に等値アドレス領域を形成することにより、メモリアクセス量を低減できる。例えば、図1(b)のアドレス2〜7に関しては、ポリゴンを描画する際にアクセスする必要がない。
さらに、図1(a)の単位描画領域102に対するレンダリングバッファのメモリ格納パターンが図1(b)であるという情報をアンチエイリアス状態フラグとして領域情報バッファに格納する。アンチエイリアス状態フラグとレンダリングバッファへのメモリ格納パターンの対応関係を図3に示す。図3において、例えば図1(b)のメモリ格納パターンに対するアンチエイリアス状態フラグの値は「11」である。ただし、図3の対応関係は一例であって、この限りではない。しかし、図3の対応関係で共通的に注意すべきことは、領域情報バッファへのアクセス量を少なくするために、アンチエイリアス状態フラグのビット数は小さくすべきであり、等値アドレス領域をなるべく多く使用するようなメモリ格納パターンを優先的に割り当てることである。ただし、等値アドレス領域が全くなく、すべてエッジアドレス領域であるようなメモリ格納パターンを必ず1つ割り当てる必要がある。図3では、そのようなメモリ格納パターンに対して、アンチエイリアス状態フラグの値として「15」を割り当てている。
図1(b)の形式でレンダリングバッファに格納された描画情報は、最終的には、図4のような描画結果としてフレームバッファに復元されなければならない。そのためには、単位描画領域ごとに前記領域情報バッファからアンチエイリアス状態フラグを読み込み、レンダリングバッファに格納されたカラー値のメモリ格納パターンが図3の対応関係であることを解釈しなければならない。等値アドレス領域であるカラー値は、そのままフレームバッファに書き込まれ、エッジアドレス領域であるカラー値は、例えば図5に示すような回路でフィルタリング(平均化)され、フレームバッファに書き込まれる。図5において、501は加算器、502は平均化回路、503は四捨五入およびクランプ回路を示す。図5では入力端子が4本なので、平均化回路502は単に2だけ右シフトする回路で良い。
なお、実際の描画では、ポリゴンを描画する前にレンダリングバッファと領域情報バッファを初期化する必要がある。初期化時には、すべての単位描画領域におけるアンチエイリアス状態フラグ(図3)の値は0に初期化され、レンダリングバッファは等値アドレス領域のみが初期化される。したがって、初期化時のレンダリングバッファのライトアクセス量は通常の1/4となる。また、描画すべきポリゴンの数も本実施の形態のように1個ではなく、複数である場合が多い。その際、2つのポリゴンのカラー値をブレンドしたり、ポリゴンの深度値(Z値)を用いて陰面処理を行うことがある。ポリゴンのカラー値をブレンドするには、最初に描画されたポリゴンのカラー値をレンダリングバッファから読み込む必要があるが、そのためにはまず、描画すべき単位描画領域に対応する領域情報バッファからアンチエイリアス情報フラグを読み込み、次に前記アンチエイリアス情報フラグからレンダリングバッファ上にどのようにデータが格納されているか(メモリ格納パターン)を判定する。その結果、レンダリングバッファの必要な部分のみをリードことでアクセス量を低減することができる。ブレンドを行った後は、新しいメモリ格納パターンおよびアンチエイリアス状態フラグを、それぞれレンダリングバッファおよび領域情報バッファに書き戻す。
また、ポリゴンのZ値を用いて陰面処理を行う場合、レンダリングバッファはカラー値だけでなくZ値も格納する必要があるが、Z値についてもカラー値と同じように、レンダリングバッファに「等値アドレス領域」を設けて、アクセス量を低減することが可能である。
なお、以上の処理はすべて単位描画領域ごとに行われる必要がある。したがって、すべてのポリゴンは単位描画領域ごとに走査される。本実施の形態では、単位描画領域の大きさを4×4としたが、それ以外の大きさであってよい。ただし、一般的なレンダリングバッファのアクセスは、4ワード単位、8ワード単位、16ワード単位というように、2の累乗のワード数単位で行われる場合が多いため、単位描画領域の大きさは2の累乗の倍数、すなわち4の倍数、8の倍数、16の倍数となっている方が好ましい。また、本実施の形態では、図4のような最終的な出力画像の1ピクセルを描画するのに、レンダリングバッファを4ワード使用している。言い換えれば、ポリゴンを描画するのに1ピクセルあたり4点サンプリングしている。このサンプリング数は、4以外であっても良い。ただし、上記と同じ理由からサンプリング数は2の累乗である方が好ましい。もし、1ピクセルあたりN点サンプリングを行う場合、単位描画領域のワード数はNの倍数となる。このとき、図5のフィルタリング回路は、入力端子がN本となり、平均化回路502はNによる除算回路となる。さらに加算器501の前段には、ピクセル内のサンプリング位置に応じた重みを乗じる乗算器を備えても良い。
(実施の形態2)
図6は本発明のアンチエイリアシング方法を備えたグラフィックス描画装置を示す。前記描画装置は、CPU(中央演算装置)601、グラフィックスエンジン602、メモリコントローラ603、メモリ604、ディスプレイコントローラ608およびディスプレイ609で構成されている。CPU601とグラフィックスエンジン602はCPUバスにより接続され、CPU601は前記CPUバスを介してグラフィックスエンジン602を制御する。これらは共にメモリバスを介してメモリコントローラ603に接続され、メモリ604にあるデータをリードしたり、メモリ604へデータをライトすることができる。メモリ604は、フレームバッファ605、レンダリングバッファ606、領域情報バッファ607で構成されている。なお、これらのバッファは同一のメモリデバイスに集積されていても良いし、別々のメモリデバイスであっても良い。あるいは、その一部がグラフィックスエンジン602内部に存在していても良い。
フレームバッファ605は最終的な出力画像を格納するためのバッファであり、グラフィックスエンジン602によってフレームバッファ605上に出力画像が形成された後、ディスプレイコントローラ608によって読み取られ、ディスプレイ609上に画像が表示される。レンダリングバッファ606は、グラフィックスエンジン602が描画したアンチエイリアシングされた画像を格納するためのワークメモリとして使用される。なお、レンダリングバッファ606上には、グラフィックス描画で一般的に用いられるデータ、例えばポリゴンの描画内容が記述されたディスプレイリストや、ポリゴン表面に貼り付けられるテクスチャデータなどが含まれていてもよいが、本発明はこれらのデータの有無に影響されるものではない。
領域情報バッファ607は本発明を特徴づけるものであって、それぞれの単位描画領域に対して、レンダリングバッファ上のメモリ格納パターンがどうなっているかを意味するアンチエイリアス状態フラグを格納するためのバッファである。このバッファもグラフィックスエンジン602にとっては一種のワークメモリとして動作するので、レンダリングバッファ606に含まれていても構わないが、本実施の形態では、アンチエイリアス状態フラグを格納する領域情報バッファ607を強調するためにレンダリングバッファ606とは区別している。
グラフィックスエンジン602の内部構成を図7に示す。ホストインターフェース701はCPUバスに接続され、CPUとの通信を行う。コントローラ702は、CPUからの命令に従い、グラフィックスパイプライン704にポリゴン描画データを投入する。前記ポリゴン描画データは、CPUからの命令列に含まれていても良いし、外部のレンダリングバッファ上にあるディスプレイリストに含まれていても良い。後者の場合、コントローラ702は、メモリバスインターフェース703を介して外部レンダリングバッファ上のディスプレイリストをリードし、ポリゴン描画データを取得する。グラフィックスパイプラインは704は、次の3つの主要なブロックに分かれている。頂点処理部705は、ポリゴンの頂点ごとに座標変換や光源計算などの処理を行うブロックである。ラスタライザ707は、ポリゴン内部を単位描画領域ごとに走査し、アンチエイリアシング処理を行うのに加えて、単位描画領域に含まれる各ピクセルに対してテクスチャマッピングや各種ブレンド処理などを行うブロックである。セットアップ部706はそれら両者の間にあって、頂点処理部705が出力する座標変換および光源計算済みの3つの頂点データから、ポリゴンの幾何形状やポリゴン内部のカラー値やテクスチャ座標などの傾斜情報などを求め、ラスタライザ707に入力できるデータ形式に変換する処理を行う。なお、図7は本発明におけるグラフィックスエンジンの構成であるが、一般的なグラフィックスエンジンもほぼ同様の構成であって、本発明を特徴づける構成はラスタライザ707よりも下層にある。
図8にラスタライザの内部構成を示す。図8において、ピクセル座標生成部801はポリゴン内部を単位描画領域ごとに走査し、アンチエイリアシングを行うために単位描画領域において1ピクセルあたり例えば4点のサンプリングを行い、ポリゴン内部に含まれる各サンプル点の位置座標を求める。テクスチャアドレス生成部802、カラー生成部803、フォグ生成部804、深度値生成部805は、前記サンプル点の位置座標からそれぞれテクスチャ座標値、カラー値、フォグ値、Z値を求める。テクスチャカラー生成部806はメモリバスインターフェースを介して外部のレンダリングバッファ上にあるテクスチャカラーを読み出す。ただし、このときすでに、ディスティネーションブレンド部810は領域情報バッファからアンチエイリアス情報フラグを読み出しおり、前記アンチエイリアス状態フラグが示すメモリ格納パターンと単位描画領域の描画パターン(ポリゴンのエッジか内部か)によってテクスチャカラーは必要なものだけがリードされる。リードされたテクスチャカラーはカラー生成部803から出力されるカラーとテクスチャ環境演算部807においてブレンドされた後、フォグ生成部804から出力されるフォグ値とフォグ演算部808においてブレンドされ、ピクセルテスト部809に送られる。なお、テクスチャマッピングを行わない場合は、テクスチャ環境演算部807はカラー生成部803から入力されるカラーをそのまま出力することは言うまでもない。フォグを行わない場合もまた同様である。ピクセルテスト部では、アルファテスト、ステンシルテスト、Zテスト(Z値による陰面処理)などが行われる。Zテストが行われる場合、深度値生成部805から出力されるZ値と、前記レンダリングバッファからリードされたZ値が比較される。この場合も前記メモリ格納パターンと前記描画パターンによってZ値は必要なものだけがリードされる。
ディスティネーションブレンド部810における処理の流れを図9に示す。ディスティネーションブレンド部810では、フォグ演算部808からの出力されたカラーと、前記レンダリングバッファからリードされたカラー値がブレンドされる。この場合も前記メモリ格納パターンと前記描画パターンによってカラー値は必要なものだけがリードされる。ブレンド処理後の最終的なカラーと深度値生成部805が生成したZ値は、前記レンダリングバッファにライトされる。このとき、前記メモリ格納パターンと前記描画パターンから求められた、新しいメモリ格納パターンに従ってライトされる。最後に、新しいメモリ格納パターンに対応するアンチエイリアス状態フラグが領域情報バッファに格納される。
本発明のアンチエイリアシング方法を用いた描画装置は、グラフィックス描画機能を搭載するさまざまな電子機器、例えば、携帯電話、PDA、デジタルテレビ、カーナビゲーションシステム、家庭用ゲーム機、パーソナルコンピュータ等において用いることができる。
本発明の実施の形態1におけるアンチエイリアシング方法を示す図 本発明の実施の形態1におけるアンチエイリアシング方法を補足的に説明するための図 本発明の実施の形態1におけるアンチエイリアス状態フラグとメモリ格納イメージの対応関係を示す図 本発明の実施の形態1における最終的な出力画像を示す図 本発明の実施の形態1におけるフィルタリング回路の構成図 本発明の実施の形態2におけるグラフィックス描画装置の構成図 本発明の実施の形態2におけるグラフィックスエンジンの構成図 本発明の実施の形態2におけるラスタライザの構成図 本発明の実施の形態2におけるディスティネーションブレンド部の処理の流れを示す図 従来のアンチエイリアシング方法の種類を示す図 従来のアンチエイリアシング方法における最終的な出力結果を示す図 従来のアンチエイリアシング方法を示す図
符号の説明
101 ポリゴン
102 単位描画領域
501 加算器
502 平均化回路
503 四捨五入およびクランプ回路
601 CPU(中央演算装置)
602 グラフィックスエンジン
603 メモリコントローラ
604 メモリ
605 フレームバッファ
606 レンダリングバッファ
607 領域情報バッファ
608 ディスプレイコントローラ
609 ディスプレイ
701 ホストインターフェース
702 グラフィックスコントローラ
703 メモリバスインターフェース
704 グラフィックスパイプライン
705 頂点処理部
706 セットアップ部
707 ラスタライザ
801 ピクセル座標生成部
802 テクスチャアドレス生成部
803 カラー生成部
804 フォグ生成部
805 深度値生成部
806 テクスチャカラー生成部
807 テクスチャ環境演算部
808 フォグ演算部
809 ピクセルテスト部
810 ディスティネーションブレンド部
1001〜1003 ピクセル

Claims (21)

  1. ポリゴンを描画する際にアンチエイリアスを行うための描画方法であって、前記ポリゴンは複数のサンプル点からなる単位描画領域ごとに処理され、前記単位描画領域のすべてのサンプル点はエッジサンプル点または内部サンプル点のいずれであるかがレンダリングバッファのアドレスに基づいて判定され、前記内部サンプル点は同じサンプル値で近似され、前記エッジサンプル点と前記内部サンプル点の組み合わせに応じてメモリ格納イメージが決定され、前記単位描画領域のサンプル値は前記メモリ格納イメージに従ってレンダリングバッファに格納され、前記メモリ格納イメージはアンチエイリアス状態フラグにエンコードされ、前記アンチエイリアス状態フラグは領域情報バッファに格納され、前記レンダリングバッファのメモリアクセスは、あらかじめ参照された前記アンチエイリアス状態フラグがデコードされた結果であるメモリ格納イメージに基づいて必要最小限に行われることを特徴とする描画方法。
  2. 前記内部サンプル点は、前記レンダリングバッファのアドレスが互いに隣接し、すべてポリゴン内部に含まれるサンプル点であることを特徴とする、請求項1に記載の描画方法。
  3. 前記サンプル値が、前記サンプル点のカラー値であることを特徴とする、請求項1に記載の描画方法。
  4. 前記サンプル値が、前記サンプル点の深度値(Z値)またはステンシル値、あるいはその両方であることを特徴とする、請求項1に記載の描画方法。
  5. 前記メモリ格納イメージは、等値アドレス領域およびエッジアドレス領域からなり、前記等値アドレス領域には前記内部サンプル点のサンプル値が配置され、前記エッジアドレス領域には前記エッジサンプル点のサンプル値が配置されることを特徴とする、請求項1に記載の描画方法。
  6. 前記等値アドレス領域およびエッジアドレス領域は、それぞれ複数の連続アドレスからなることを特徴とする、請求項5に記載の描画方法。
  7. 前記単位描画領域がすべて同じサンプル値である場合、前記メモリ格納イメージは前記等値アドレス領域にのみ格納されることを特徴とする、請求項5に記載の描画方法。
  8. 前記アンチエイリアス状態フラグは、前記メモリ格納イメージが前記等値アドレス領域により多くのサンプル値が含まれる組み合わせに対して優先的に割り当てられることを特徴とする、請求項5に記載の描画方法。
  9. 前記アンチエイリアス状態フラグに対し、前記メモリ格納イメージがすべて前記エッジアドレス領域となる組み合わせを必ず1つ割り当てることを特徴とする、
    請求項5に記載の描画方法。
  10. 前記レンダリングバッファの最終的な描画結果が、前記領域情報バッファの前記アンチエイリアス状態フラグ値に基づいて読み出され、複数のサンプル値ごとにフィルタリングされてフレームバッファに格納されることを特徴とする、請求項1に記載の描画方法。
  11. ポリゴンを描画する際にアンチエイリアスを行う描画装置であって、前記描画装置は前記ポリゴンを複数のサンプル点からなる単位描画領域ごとに走査するラスタライザを備え、
    前記ラスタライザは、前記単位描画領域のすべてのサンプル点についてエッジサンプル点または内部サンプル点のいずれであるかをレンダリングバッファのアドレスに基づいて判定し、前記内部サンプル点を同じサンプル値で近似し、前記エッジサンプル点と前記内部サンプル点の組み合わせに応じてメモリ格納イメージを決定し、前記単位描画領域のサンプル値を前記メモリ格納イメージに従ってレンダリングバッファに格納し、前記メモリ格納イメージをアンチエイリアス状態フラグにエンコードし、前記アンチエイリアス状態フラグを領域情報バッファに格納し、前記レンダリングバッファのメモリアクセスを、あらかじめ参照した前記アンチエイリアス状態フラグのデコード結果であるメモリ格納イメージに基づいて必要最小限に行うように動作することを特徴とする描画装置。
  12. 前記単位描画領域の大きさが、前記レンダリングバッファにアクセスする際のアクセス単位の倍数であることを特徴とする、請求項11に記載の描画装置。
  13. 前記内部サンプル点は、前記レンダリングバッファのアドレスが互いに隣接し、すべてポリゴン内部に含まれるサンプル点であることを特徴とする、請求項11に記載の描画装置。
  14. 前記サンプル値が、前記サンプル点のカラー値であることを特徴とする、請求項11に記載の描画装置。
  15. 前記サンプル値が、前記サンプル点の深度値(Z値)またはステンシル値、あるいはその両方であることを特徴とする、請求項11に記載の描画装置。
  16. 前記メモリ格納イメージは、等値アドレス領域およびエッジアドレス領域からなり、前記等値アドレス領域には前記内部サンプル点のサンプル値が配置され、前記エッジアドレス領域には前記エッジサンプル点のサンプル値が配置されることを特徴とする、請求項11に記載の描画装置。
  17. 前記等値アドレス領域およびエッジアドレス領域は、それぞれ複数の連続アドレスからなることを特徴とする、請求項16に記載の描画装置。
  18. 前記単位描画領域がすべて同じサンプル値である場合、前記メモリ格納イメージは前記等値アドレス領域にのみ格納されることを特徴とする、請求項16に記載の描画装置。
  19. 前記アンチエイリアス状態フラグは、前記メモリ格納イメージが前記等値アドレス領域により多くのサンプル値が含まれる組み合わせに対して優先的に割り当てられることを特徴とする、請求項16に記載の描画装置。
  20. 前記アンチエイリアス状態フラグに対し、前記メモリ格納イメージがすべて前記エッジアドレス領域となる組み合わせを必ず1つ割り当てることを特徴とする、請求項16に記載の描画装置。
  21. 前記レンダリングバッファの最終的な描画結果が、前記領域情報バッファの前記アンチエイリアス状態フラグ値に基づいて読み出され、複数のサンプル値ごとにフィルタリングされてフレームバッファに格納されることを特徴とする、請求項11に記載の描画装置。
JP2004168167A 2004-06-07 2004-06-07 アンチエイリアス描画方法およびこれを用いた描画装置 Withdrawn JP2005346605A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004168167A JP2005346605A (ja) 2004-06-07 2004-06-07 アンチエイリアス描画方法およびこれを用いた描画装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004168167A JP2005346605A (ja) 2004-06-07 2004-06-07 アンチエイリアス描画方法およびこれを用いた描画装置

Publications (1)

Publication Number Publication Date
JP2005346605A true JP2005346605A (ja) 2005-12-15

Family

ID=35498893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004168167A Withdrawn JP2005346605A (ja) 2004-06-07 2004-06-07 アンチエイリアス描画方法およびこれを用いた描画装置

Country Status (1)

Country Link
JP (1) JP2005346605A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018124A (ja) * 2005-07-06 2007-01-25 Digital Media Professional:Kk エッジ・マルチサンプリングハイブリッドアンチエイリアス
WO2010134347A1 (ja) * 2009-05-21 2010-11-25 パナソニック株式会社 グラフィクス描画装置、グラフィクス描画方法、グラフィクス描画プログラム、グラフィクス描画プログラムを記録した記録媒体、グラフィクス描画用集積回路
WO2013021525A1 (ja) * 2011-08-11 2013-02-14 パナソニック株式会社 画像処理装置、画像処理方法、プログラム、及び集積回路
WO2014087541A1 (ja) * 2012-12-07 2014-06-12 三菱電機株式会社 図形描画装置
CN111192351A (zh) * 2018-11-14 2020-05-22 芯原微电子(上海)股份有限公司 边缘抗锯齿的图形处理方法、系统、存储介质及装置
WO2022201412A1 (ja) * 2021-03-25 2022-09-29 三菱電機株式会社 描画処理装置、描画処理システム、描画処理方法、および描画処理プログラム
WO2022201413A1 (ja) * 2021-03-25 2022-09-29 三菱電機株式会社 描画処理装置、描画処理システム、描画処理方法、および描画処理プログラム

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4669334B2 (ja) * 2005-07-06 2011-04-13 株式会社ディジタルメディアプロフェッショナル エッジ・マルチサンプリングハイブリッドアンチエイリアス
JP2007018124A (ja) * 2005-07-06 2007-01-25 Digital Media Professional:Kk エッジ・マルチサンプリングハイブリッドアンチエイリアス
US8817034B2 (en) 2009-05-21 2014-08-26 Panasonic Corporation Graphics rendering device, graphics rendering method, graphics rendering program, recording medium with graphics rendering program stored thereon, integrated circuit for graphics rendering
WO2010134347A1 (ja) * 2009-05-21 2010-11-25 パナソニック株式会社 グラフィクス描画装置、グラフィクス描画方法、グラフィクス描画プログラム、グラフィクス描画プログラムを記録した記録媒体、グラフィクス描画用集積回路
CN102099834A (zh) * 2009-05-21 2011-06-15 松下电器产业株式会社 图形描绘装置、图形描绘方法、图形描绘程序、记录了图形描绘程序的记录介质、图形描绘用集成电路
JP5443482B2 (ja) * 2009-05-21 2014-03-19 パナソニック株式会社 グラフィクス描画装置、グラフィクス描画方法、グラフィクス描画プログラム、グラフィクス描画プログラムを記録した記録媒体、グラフィクス描画用集積回路
JPWO2013021525A1 (ja) * 2011-08-11 2015-03-05 パナソニック株式会社 画像処理装置、画像処理方法、プログラム、及び集積回路
WO2013021525A1 (ja) * 2011-08-11 2013-02-14 パナソニック株式会社 画像処理装置、画像処理方法、プログラム、及び集積回路
US9235872B2 (en) 2011-08-11 2016-01-12 Panasonic Intellectual Property Management Co., Ltd. Image processing device, image processing method, program, and integrated circuit
WO2014087541A1 (ja) * 2012-12-07 2014-06-12 三菱電機株式会社 図形描画装置
CN111192351A (zh) * 2018-11-14 2020-05-22 芯原微电子(上海)股份有限公司 边缘抗锯齿的图形处理方法、系统、存储介质及装置
JP2020087458A (ja) * 2018-11-14 2020-06-04 芯原微電子(上海)股▲ふん▼有限公司 エッジをアンチエイリアスするグラフィックス処理方法、システム、記憶媒体及び装置
JP7018420B2 (ja) 2018-11-14 2022-02-10 芯原微電子(上海)股▲ふん▼有限公司 エッジをアンチエイリアスするグラフィックス処理方法、システム、記憶媒体及び装置
CN111192351B (zh) * 2018-11-14 2023-06-02 芯原微电子(上海)股份有限公司 边缘抗锯齿的图形处理方法、系统、存储介质及装置
WO2022201412A1 (ja) * 2021-03-25 2022-09-29 三菱電機株式会社 描画処理装置、描画処理システム、描画処理方法、および描画処理プログラム
WO2022201413A1 (ja) * 2021-03-25 2022-09-29 三菱電機株式会社 描画処理装置、描画処理システム、描画処理方法、および描画処理プログラム
JP7444276B2 (ja) 2021-03-25 2024-03-06 三菱電機株式会社 描画処理装置、描画処理システム、描画処理方法、および描画処理プログラム
JP7471512B2 (ja) 2021-03-25 2024-04-19 三菱電機株式会社 描画処理装置、描画処理システム、描画処理方法、および描画処理プログラム

Similar Documents

Publication Publication Date Title
US10885607B2 (en) Storage for foveated rendering
EP3559914B1 (en) Foveated rendering in tiled architectures
JP5091220B2 (ja) テクスチャ情報をコード化するための方法および装置
JP2637920B2 (ja) コンピュータ・グラフィック・システム及びフレーム・バッファ使用方法
EP3180773B1 (en) Bandwidth reduction using texture lookup by adaptive shading
WO2006026013A1 (en) Mapping application for rendering pixel imagery
KR20180060198A (ko) 그래픽 프로세싱 장치 및 그래픽스 파이프라인에서 텍스처를 처리하는 방법
US7310103B2 (en) Pipelined 2D viewport clip circuit
US9530237B2 (en) Interpolation circuitry and techniques for graphics processing
US6975317B2 (en) Method for reduction of possible renderable graphics primitive shapes for rasterization
US6762765B2 (en) Bandwidth reduction for zone rendering via split vertex buffers
JP2005346605A (ja) アンチエイリアス描画方法およびこれを用いた描画装置
US6867778B2 (en) End point value correction when traversing an edge using a quantized slope value
US7492373B2 (en) Reducing memory bandwidth to texture samplers via re-interpolation of texture coordinates
EP1141892A1 (en) Method and apparatus for stretch blitting using a 3d pipeline
US7145570B2 (en) Magnified texture-mapped pixel performance in a single-pixel pipeline
US6885375B2 (en) Stalling pipelines in large designs
US6819320B2 (en) Reading or writing a non-super sampled image into a super sampled buffer
US7382377B1 (en) Render to texture cull
US6847372B2 (en) Magnified texture-mapped pixel performance in a single-pixel pipeline
US6831645B2 (en) System and method for performing font operations when background color is transparent
JP4419480B2 (ja) 画像処理装置およびその方法
JP2005128689A (ja) 画像描画装置
JPH03269774A (ja) 高速図形回転描画方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070523

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070613

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080708