JP4684744B2 - 図形描画装置及びプログラム - Google Patents

図形描画装置及びプログラム Download PDF

Info

Publication number
JP4684744B2
JP4684744B2 JP2005155965A JP2005155965A JP4684744B2 JP 4684744 B2 JP4684744 B2 JP 4684744B2 JP 2005155965 A JP2005155965 A JP 2005155965A JP 2005155965 A JP2005155965 A JP 2005155965A JP 4684744 B2 JP4684744 B2 JP 4684744B2
Authority
JP
Japan
Prior art keywords
pixel
circle
coordinates
blend
unit
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
JP2005155965A
Other languages
English (en)
Other versions
JP2006331209A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2005155965A priority Critical patent/JP4684744B2/ja
Publication of JP2006331209A publication Critical patent/JP2006331209A/ja
Application granted granted Critical
Publication of JP4684744B2 publication Critical patent/JP4684744B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)

Description

この発明は、アンチエイリアス処理を施した円を描画する図形描画装置及びこの機能をコンピュータに実現させるためのプログラムに関するものである。
表示画面上に円を描画する従来の方法として、Bresenhamのアルゴリズムがある(例えば、非特許文献1参照)。Bresenhamのアルゴリズムでは、円弧上の座標として選択されたピクセルから円弧に沿って次に位置する2つのピクセルのうち、どちらが真の円に近いかを判定し近い方を選択することを繰り返して表示画面上に円を描画する。これにより、単純な演算で円を描画することができる。
また、太い円を描画する方法としては、Bresenhamのアルゴリズムで円弧上のピクセルを生成し、その座標を始点とする法線ベクトルを描画することにより太い円を描画するものが提案されている(特許文献1参照)。この方法によれば、太さを一定に保ちながら円を描画することができる。
図形の輪郭がギザギザになるのを目立たなくし画質を向上させるための方法としてアンチエリアス処理がある。アンチエイリアス処理の方法としては、例えば解像度の高い図形を描画した後で複数のピクセルの平均を取ることによりギザギザを目立たなくするスーパーサンプリング手法がある(例えば、非特許文献2参照)。
直線にアンチエイリアス処理を施す方法として、例えば特許文献2に開示されるものがある。この方法では、ピクセルの中心から直線までの距離により直線が各ピクセルに占める割合を求め、その割合によりブレンド処理を行うことでギザギザを目立たなくする。
特開平9−270018号公報 特開平6−274641号公報 James D.Forey, Andries van Dam, Steven K.Feiner, John F.Hughes共著「コンピュータグラフィックス理論と実践」オーム社、平成13年3月23日、p85−90 Alan Watt著「3D Computer Graphics Third Edition」ADDISON-WESLEY PUB(Sd)、1999年10月、p404−406
従来の特許文献1及び非特許文献1による円の描画方法では、アンチエイリアス処理が考慮されていなかった。
また、特許文献1による太い円の描画方法は、円上のピクセルを生成しその座標を始点とする法線ベクトルを描画するため、ピクセルを描画する際にフレームバッファ上の隣接するアドレスが連続してアクセスされることが少ない。このため、例えばフレームバッファとしてSDRAMを使用する場合にはバースト転送によりメモリアクセスの高速化を図ることが困難であった。
さらに、非特許文献2のスーパーサンプリング手法によるアンチエイリアス処理では、解像度の高い図形を描画する必要があるため、大容量の記憶領域が必要であり、処理するピクセルの数が増えるため処理の負荷が大きいという問題点があった。
さらに、特許文献2によるアンチエイリアス処理方法を円描画に適用するためには、各ピクセルの中心から円までの距離を求める必要があり、距離を求めるためには平方根等の複雑な演算が必要になるという問題点があった。
この発明は、上記のような課題を解決するためになされたもので、アンチエイリアス処理を施した円を単純な演算で高速に描画することができる図形描画装置及びこの機能をコンピュータに実現させるためのプログラムを得ることを目的とする。
この発明に係る図形描画装置は、入力された円の情報から開始ピクセルの座標及び開始ピクセルにおいてピクセルを描画するか否かを判定するための決定変数を算出する前処理部と、前処理部が求めた開始ピクセルから順次円に含まれるピクセル毎の座標及びその各ピクセルにおける決定変数を生成するピクセル生成部と、ピクセル生成部が生成したピクセル毎の座標及び決定変数を用いて、円がピクセルのどの程度の割合を占めているかを示す占有率を近似した式により算出し、この占有率に基づきピクセルをどのくらいの割合で描画するかを表すブレンド係数を求めるブレンド係数算出部と、ブレンド係数算出部が算出したブレンド係数に基づき、描画しようとしているピクセルとフレームバッファに保持された描画されているピクセルとの間でブレンド処理を行うブレンド演算部とを備えるものである。
この発明によれば、入力された円の情報から開始ピクセルの座標及び開始ピクセルにおいてピクセルを描画するか否かを判定するための決定変数を算出する前処理部と、前処理部が求めた開始ピクセルから順次円に含まれるピクセル毎の座標及びその各ピクセルにおける決定変数を生成するピクセル生成部と、ピクセル生成部が生成したピクセル毎の座標及び決定変数を用いて、円がピクセルのどの程度の割合を占めているかを示す占有率を近似した式により算出し、ピクセルをどのくらいの割合で描画するかを表すブレンド係数を求めるブレンド係数算出部と、ブレンド係数算出部が算出したブレンド係数に基づき、描画しようとしているピクセルとフレームバッファに保持された描画されているピクセルとの間でブレンド処理を行うブレンド演算部とを備えるので、アンチエイリアス処理を施した円を単純な演算で高速に描画することができるという効果がある。
実施の形態1.
図1は、この発明の実施の形態1による図形描画装置の構成を示すブロック図である。本実施の形態1による図形描画装置6は、前処理部1、ピクセル生成部2、ブレンド係数算出部3及びブレンド演算部4から構成される。図形描画装置6により生成されたピクセルデータは、フレームバッファ5に保持される。また、図形描画装置6は、コンピュータに搭載されてそのCPUにより制御される。そして、CPUから入力された円の情報により図形描画装置6が生成したピクセルデータをフレームバッファ5に保持し、このピクセルデータに基づいて当該コンピュータの表示装置の表示画面上に図形が表示される。
前処理部1は、入力された円の情報から開始ピクセルの座標及び開始ピクセルにおける決定変数を算出する。ピクセル生成部2は、前処理部1で求めた開始ピクセルから順次円に含まれるピクセルの座標及びそのピクセルにおける決定変数を生成する。ブレンド係数算出部3は、ピクセル生成部2で求めたピクセルについてどのくらいの割合で描画を行うかを示すブレンド係数を算出する。ブレンド演算部4は、ブレンド係数算出手段3で算出されたブレンド係数に基づきブレンド処理を行う。
また、図形描画装置6の構成要素である前処理部1、ピクセル生成部2、ブレンド係数算出部3及びブレンド演算部4は、本発明の趣旨に従う図形描画プログラムをコンピュータに読み込ませてその動作を制御することにより、当該コンピュータ上でソフトウエアとハードウエアが協働した具体的な手段として実現することもできる。なお、コンピュータ自体の構成及びその基本的な機能については、当業者が当該技術分野の技術常識に基づいて容易に認識できるものであり、本発明の本質に直接関わるものでないので詳細な記載を省略する。
図2は、この発明における円の描画方法を説明するための図であり、原点Oを中心とし、半径がr、線幅がwの円の一部を表している。ここでは、左下をX−Y座標系の原点Oと仮定している。また、図示の円は、半径が(r+w/2)である外側の円(外側の輪郭)と、半径が(r−w/2)である内側の円(内側の輪郭)で囲まれる領域で表すことができる。内側の円と外側の円の方程式は、それぞれ下記式(1)、(2)で表される。
2+y2=(y+w/2)2 ・・・(1)
2+y2=(y−w/2)2 ・・・(2)
上記式(1)より、ある座標(x,y)のピクセルにおいて下記式(3)が成立する場合、そのピクセルの中心は外側の円の内側にあると判断することができる。
2+y2<(y+w/2)2 ・・・(3)
また、同様に上記式(2)より、下記式(4)が成立する場合、そのピクセルの中心は内側の円の外側にあると判断することができる。
2+y2>(y−w/2)2 ・・・(4)
上記式(3)と上記式(4)が同時に成立すれば、そのピクセルの中心は、図2中に斜線を施した両円で囲まれる領域に含まれるため描画する円のピクセルであると判断することができる。
ここで、ピクセル(x,y)においてそのピクセルを描画するか否かを判断するための決定変数として下記式(5)を定義する。
(x,y)=x2+y2−r2−(w/2)2 ・・・(5)
上記式(3)と上記式(4)は上記式(5)を代入することにより、それぞれ下記式(6)と下記式(7)で表すことができる。
(x,y)<r・w ・・・(6)
(x,y)>−r・w ・・・(7)
また、ピクセル(x,y)の1つ右のピクセル(x+1,y)における決定変数は、下記式(8)で表すことができる。
(x+1,y)
=(x+1)2+y2−r2−(w/2)2=d(x,y)+2x+1 ・・・(8)
同様に、ピクセル(x,y)の1つ下のピクセル(x,y−1)における決定変数は、下記式(9)で表すことができる。
(x,y-1)=d(x,y)−2y+1 ・・・(9)
以上のように、最初のピクセルの決定変数を求めれば、残りのピクセルの決定変数はシフトと加算によって求めることができる。そして、各ピクセルについて上記式(6)と上記式(7)が同時に成立する場合にそのピクセルを描画することにより円を描画することができる。また、中心が原点Oではない円の場合には、ピクセルを描画する際に円の中心の座標を加算すればよい。
次に動作について説明する。
図形描画装置6は、自装置6が搭載されたコンピュータのCPUから円の情報として中心の座標、半径、線幅及び描画色等の情報が設定され、起動命令を受けることにより動作を開始する。起動命令を受けると、先ず、前処理部1が、開始ピクセルの座標及び開始ピクセルにおける決定変数を算出する。
図3及び図4は、前処理部1による処理を説明するための図である。図示の例では、CPUから設定された半径をr、線幅をwとする。前処理部1は、図3に示すように、円の中心が原点OであるXY座標を仮定し、XY座標が共に正の領域(領域1)について処理を行う。このとき、前処理部1は、開始ピクセルの座標として、決定変数の計算が単純になり、かつ後述するピクセル生成部2における処理を効率よく行うために、X座標に0を選択し、Y座標に最も円の中で大きいY座標を選択する。
また、アンチエイリアス処理を施した円を描画する場合、図形の輪郭付近ではピクセルの中心が円に含まれていない場合でも描画をする必要がある。このため、前処理部1が、線幅が(w+1)である円を想定してピクセルを描画するか否かを判定することとする。すなわち、上記式(5)におけるwに(w+1)を代入した下記式(10)を決定変数とする。
(x,y)=x2+y2−r2−{(w+1)/2}2 ・・・(10)
図4(a)に示すように、線幅wが奇数の場合では、開始ピクセルのX座標に0を選択し、Y座標をr+(w+1)/2とする。この開始ピクセルにおける決定変数は、その座標を上記式(10)へ代入することにより下記式(11)で求められる。
(0,r+(w+1)/2)=r・(w+1) ・・・(11)
また、図4(b)に示すように、線幅wが偶数の場合には、開始ピクセルのX座標に0を選択し、Y座標は整数にするために(r+w/2)とする。この開始ピクセルにおける決定変数は、下記式(12)で求められる。
(0,r+w/2)=r・w−w/2−1/4 ・・・(12)
上述のように、開始ピクセルにおける決定変数は、乗算と加減算とシフトで求めることができる。前処理部1は、上記処理により開始ピクセルの座標及び開始ピクセルにおける決定変数を求めると、ピクセル生成部2に対して出力し、領域1に描画を行うことを指示してピクセル生成部2を起動する。
ピクセル生成部2では、前処理部1からの指示により動作を開始する。図5及び図6はピクセル生成部の処理を説明するための図である。図6に示すように、ピクセル生成部2は、開始ピクセルから順にスキャンライン毎に右方向(X軸の正方向)へピクセルを生成する。
図5に示すピクセル生成部の処理についてのフローチャートを用いてピクセル生成処理を説明する。
先ず、ピクセル生成部2は、前処理部1から入力された開始ピクセルを現在のピクセルとして処理の対象に設定する(ステップST1)。次に、現在のピクセルを退避させるか否かを示すフラグを“1”にセットする(ステップST2)。この後、ピクセル生成部2は、以下のステップST3からステップST10までの処理により1スキャンラインの処理を行う。
ステップST3において、ピクセル生成部2は、フラグが“1”であるか否かを判定する。このとき、フラグが“1”である場合には現在のピクセルの座標及びその決定変数を一時的に退避させる(ステップST4)。また、フラグが“0”であれば、退避させずにステップST5の処理へ進む。なお、最初のピクセルを処理する時点ではフラグが“1”に設定されているため、必ず現在のピクセルを退避させることになる。
次に、ピクセル生成部2は、現在のピクセルを描画する必要があるか否かを判定する(ステップST5)。ここでは、線幅が(w+1)である円を想定してピクセルを生成するため、ピクセルを描画するか否かの判定は、下記式(13)及び下記式(14)を用いて行う。
(x,y)<r・(w+1) ・・・(13)
(x,y)>−r・(w+1) ・・・(14)
上記式(13)と上記式(14)が共に成立する場合は、現在のピクセルを描画する必要があるため、現在のピクセルの座標及び現在のピクセルにおける決定変数をブレンド係数算出部3へ出力する(ステップST6)。また、ピクセル生成部2は、前処理部1が中心を原点Oとした円を想定して処理を行っているため、出力する際にスクリーン上の実際の座標へ変換する。ここでは、領域1に対して描画を行うため、円の中心の座標に生成したピクセルの座標を加算することによりスクリーン上の座標へ変換する。
一方、上記式(13)及び上記式(14)のいずれかが不成立である場合、現在のピクセルは描画する必要が無いため、ピクセル生成部2は、ブレンド係数算出部3へ出力せずに次のステップST7の処理へ進む。
なお、上記式(13)及び上記式(14)におけるr・(w+1)の値は、ピクセルの座標に無関係であるため、毎回計算する必要は無く、最初に一度だけ計算すればよい。
次に、ピクセル生成部2は、現在のピクセルの1つ下のピクセルが内側の円の内側(円の内側の輪郭を境として円の中心側の領域)にあるか否かを判定する(ステップST7)。現在のピクセルの座標を(x,y)とすると、座標が(x,y−1)となる1つ下のピクセルの決定変数は、上記式(9)で表されるため、この判定は下記式(15)に従って行う。このとき、下記式(15)の関係が成立すれば、ピクセル生成部2は、フラグを“0”にクリアする(ステップST8)。
(x,y)−2y+1>−r・w ・・・(15)
上述したステップST3からステップST8までの処理により1ピクセルの処理が行われる。
1ピクセルの処理が完了すると、ピクセル生成部2は、どのピクセルの処理を行うかを判断する。そのため、ピクセル生成部2は、現在のピクセルが外側の円よりも外側(円の外側の輪郭を境として円の中心とは反対側の領域)にあるか否かを判定する(ステップST9)。この判定には、ステップST5で使用した上記式(13)による判定結果を用いることができる。
このとき、上記式(13)が成立すると判定されると、ピクセル生成部2は、現在のスキャンラインにおいて現在のピクセルよりも右(X軸の正方向)に描画すべきピクセルが存在する可能性があるため、現在のピクセルを右に移動する(ステップST10)。右のピクセルにおける決定変数は、上記式(8)に従って求める。
ステップST10においてピクセルを移動すると再びステップST3の処理へ戻り、1ピクセルの処理を行う。ステップST10で右(X軸の正方向)のピクセルに移動した場合、ステップST3のフラグの判定において、このフラグは、右に移動したピクセルの座標を(x,y)とすると座標(x−1,y−1)に位置する左下のピクセルが内側の円の内側であれば“1”、外側であれば“0”となる。このため、“1”であれば1つ下のスキャンラインにおいてピクセル(x,y−1)よりも左(X軸の負方向)に描画すべきピクセルが存在しないことを意味している。
ステップST9において、現在のピクセルが外側の円よりも外側(円の外側の輪郭を境として円の中心とは反対側の領域)にあると判定されると、現在のスキャンラインで現在のピクセルよりも右に描画すべきピクセルが存在しない。このため、ピクセル生成部2は、右方向の移動を終了し、現在のY座標が最終値であるか否かを判定する(ステップST11)。なお、領域1におけるY座標の最終値は0である。
Y座標が最終値でなければ1つ下のスキャンラインのピクセルを生成する必要があるため、ステップST4において退避させておいたピクセルを基点に下のピクセルへ移動する(ステップST12)。下のピクセルにおける決定変数は、上記式(9)により求める。
下のピクセルへ移動したら再びステップST2へ戻り、ステップST3からステップST10までの処理により1スキャンラインのピクセルを生成する。また、ステップST11において、Y座標が最終値であれば処理を終了する。
ブレンド係数算出部3は、ピクセル生成部2からピクセルの座標及び決定変数を入力されると、図形がそのピクセルのどのくらいの割合を占めているかを示す占有率を求める。図7は、ブレンド係数算出部による処理の流れをフローチャートであり、ブレンド係数の算出処理を説明する。
先ず、ブレンド係数算出部3は、入力されたピクセルが内側の円よりも外側の円に近いか否かを予想する(ステップST13)。これは、決定変数が正であれば外側の円、負であれば内側の円が近いと予想することができる。ここで、外側の円の方が近いと判定されると、ブレンド係数算出部3は、ピクセルの中心と外側の円との距離により占有率を求める(ステップST14)。
図8及び図9は、ステップST14における占有率の算出方法を説明するための図である。図8(a)に示すように、ピクセルの中心が外側の円上にある場合には占有率cvを0.5とする。また、図8(b)のように、ピクセルの中心が外側の円の内側にある場合には、0.5にピクセルの中心と外側の円との距離を足した値を占有率cvとする。図8(b)の例では、距離が0.2であり、占有率cvが0.7となる。さらに、図8(c)に示すように、ピクセルの中心が外側の円の外側にある場合には、0.5からピクセルの中心と外側の円との距離を引いた値を占有率cvとする。図8(c)では、距離が0.2であり占有率cvが0.3となる。
原点Oを中心とする円で座標(x,y)における占有率cvは、図9より下記式(16)で表すことができる。
Figure 0004684744
占有率cvはピクセル毎に求める必要があるため、演算量を削減するために近似により求めることとする。まず、上記式(16)を下記式(17)に変形する。
Figure 0004684744
上記式(17)において、{r+(w+1)/2}を左辺へ移項し、両辺を2乗してまとめると、下記式(18)になる。
Figure 0004684744
上記式(18)において、外側の円すなわち図形の輪郭周辺のピクセルにおける占有率cvは1.0以下となる。そのため、右辺の分母のcvは無視できるほど小さいものとし、下記式(17)で近似することとする。また、下記式(19)に上記式(10)を代入することにより下記式(20)の関係が得られる。
Figure 0004684744
ステップST13において、入力されたピクセルが内側の円に近いと判定されると、ブレンド係数算出部3は、同様にしてピクセルの中心と内側の円との距離により占有率cvを求める(ステップST15)。
図10及び図11は、ステップST15における占有率の算出方法を説明するための図である。図10(a)に示すように、ピクセルの中心が内側の円上にある場合には占有率cvを0.5とする。また、図10(b)に示すように、ピクセルの中心が内側の円の内側にある場合では、0.5からピクセルの中心と外側の円との距離を引いた値を占有率cvとする。
図10(b)の例では、距離が0.2であり、占有率cvが0.3となる。さらに、図10(c)に示すように、ピクセルの中心が内側の円の外側にある場合には、0.5にピクセルの中心と外側の円との距離を足した値を占有率cvとする。図10(c)の例では、距離が0.2であり、占有率cvが0.7となる。
原点Oを中心とする円で座標(x,y)における占有率cvは、図11より下記式(21)で表すことができる。なお、ここでは、下記式(21)を近似して下記式(22)で表すこととする。
Figure 0004684744

上述のようにして占有率cvを求めると、ブレンド係数算出部3は、求めた占有率cvが1.0以上か否かを判定する(ステップST16)。ここで、占有率が1.0以上であれば、そのピクセルは図形に完全に含まれていると判断し、ブレンド係数算出部3は、ブレンド係数を1.0に設定する(ステップST17)。
また、占有率cvが1.0未満であれば、ブレンド係数算出部3は、占有率cvを指標としてテーブルを引くことによりブレンド係数を求める(ステップST18)。アンチエイリアス処理により画質を向上させるためには占有率に対してガンマ補正を施す必要がある。本実施の形態1では、このガンマ補正による演算量を減らすために、予め占有率に対応するガンマ補正済みのブレンド係数をテーブルに用意しておくこととする。
なお、ステップST16における判定は、実際に上記式(20)及び上記式(22)における除算を行わずに、分子と分母の比較により判定することができる。また、例えばブレンド係数のテーブルを16エントリとすると、ステップST18において指標となる占有率は4ビットあれば十分であるため、上記式(20)及び上記式(22)における除算は4回の減算により実現することができる。
ブレンド係数算出部3は、ステップST13からステップST18までの処理により入力されたピクセルにおけるブレンド係数を求めると、そのピクセルの座標及びブレンド係数をブレンド演算部4へ出力する。
ブレンド演算部4は、ブレンド係数算出部3から入力されたブレンド係数に基づき、入力されたピクセルとフレームバッファ5に保持されて既に描画されているピクセルとの間でブレンド処理を行い、フレームバッファへ書き戻す。このブレンド処理には、既存のアルファブレンド処理技術を用いる。
以上の処理により、図12のように、図3の領域1に対応する円を描画することができる。一方、前処理部1は、ピクセル生成部2が動作を終了すると、領域2に対して描画を行うことを指示して再びピクセル生成部2を起動する。
ピクセル生成部2は、前処理部1からの指示により再び動作を開始する。このとき、ピクセル生成部2は、領域2に対して描画を行うことを指示されているため、ステップST6においてピクセルを出力する際に、円の中心のX座標から現在のピクセルのX座標を引いた値を、出力するピクセルのX座標とし、円の中心のY座標に現在のピクセルのY座標を足した値を、出力するピクセルのY座標とする。また、同じピクセルが複数回描画されるのを防ぐために、ステップST5において現在のピクセルのX座標が0であれば、ピクセルを出力しないように判定を行う。
領域2に対するピクセル生成部2の処理が終了すると、前処理部1は、領域3に対して描画を行うことを指示して再びピクセル生成部2を起動する。ピクセル生成部2は、前処理部1からの指示により再び動作を開始する。このとき、ピクセル生成部2は、領域3に対して描画を行うことを指示されているため、ステップST6においてピクセルを出力する際に、円の中心のX座標に現在のピクセルのX座標を足した値を、出力するピクセルのX座標とし、円の中心のY座標から現在のピクセルのY座標を引いた値を、出力するピクセルのY座標とする。また、同じピクセルが複数回描画されるのを防ぐために、ステップST11においてY座標が1であれば、Y座標の最終値であると判定を行う。
領域3に対するピクセル生成部2の処理が終了すると、前処理部1は、領域4に対して描画を行うことを指示して再びピクセル生成部2を起動する。ピクセル生成部2は、前処理部1からの指示により再び動作を開始する。このとき、ピクセル生成部2は、領域4に対して描画を行うことを指示されているため、ステップST6においてピクセルを出力する際に、円の中心のX座標から現在のピクセルのX座標を引いた値を、出力するピクセルのX座標とし、円の中心のY座標から現在のピクセルのY座標を引いた値を、出力するピクセルのY座標とする。また、同じピクセルが複数回描画されるのを防ぐために、ステップST5において現在のピクセルのX座標が0であればピクセルを出力しないように判定を行い、ステップST11においてY座標が1であれば、Y座標の最終値であると判定を行う。
領域1から4の全ての領域に対する描画が終了すると、図形描画装置6は動作を終了する。
以上のように、この実施の形態1によれば、入力された円の情報から開始ピクセルの座標及び開始ピクセルにおいてピクセルを描画するか否かを判定するための決定変数を算出する前処理部1と、前処理部1が求めた開始ピクセルから順次円に含まれるピクセルの座標及びそのピクセルにおける決定変数を生成するピクセル生成部2と、ピクセル生成部2が生成したピクセルの座標及び決定係数に基づいて、そのピクセルをどのくらの割合で描画するかを表すブレンド係数を算出するブレンド係数算出部3と、ブレンド係数算出部3が算出したブレンド係数に基づき、描画しようとしているピクセルとフレームバッファ5に保持された描画されているピクセルとの間でブレンド処理を行うブレンド演算部4とを備えるので、単純な演算でアンチエイリアス処理を施した円を高速に描画することができるという効果がある。また、ピクセル生成部2が、X座標の連続するピクセルを連続して生成するように構成したため、例えばフレームバッファ5にSDRAMを使用する場合であってもバースト転送機能を有効に活用することができるという効果がある。
この発明の実施の形態1による図形描画装置の構成を示すブロック図である。 この発明における円の描画方法を説明するための図である。 描画対象の円を示す図である。 円の線幅に応じた開始ピクセルの選択を説明するための図である。 ピクセル生成部の処理についてのフローチャートである。 ピクセル生成部によるピクセル生成及びピクセル退避を説明するための図である。 ブレンド係数算出部による処理の流れをフローチャートである。 ピクセルと外側の円との距離から占有率を求める処理を説明するための図である。 ピクセルと外側の円との距離から占有率を求める処理を説明するための図である。 ピクセルと内側の円との距離から占有率を求める処理を説明するための図である。 ピクセルと内側の円との距離から占有率を求める処理を説明するための図である。 実施の形態1の図形描画装置による円の一部の描画例を示す図である。
符号の説明
1 前処理部、2 ピクセル生成部、3 ブレンド係数算出部、4 ブレンド演算部、5 フレームバッファ、6 図形描画装置。

Claims (5)

  1. 入力された円の情報に基づいて円の描画を行う図形描画装置において、
    入力された円の情報から開始ピクセルの座標及び前記開始ピクセルにおいてピクセルを描画するか否かを判定するための決定変数を算出する前処理部と、
    前記前処理部が求めた開始ピクセルから順次円に含まれるピクセル毎の座標及びその各ピクセルにおける決定変数を生成するピクセル生成部と、
    前記ピクセル生成部が生成したピクセル毎の座標及び決定変数を用いて、がピクセルのどの程度の割合を占めているかを示す占有率を近似した下記式のいずれかにより算出し、この占有率に基づきピクセルをどのくらいの割合で描画するかを表すブレンド係数を求めるブレンド係数算出部と、
    前記ブレンド係数算出部が算出したブレンド係数に基づき、描画しようとしているピクセルとフレームバッファに保持された描画されているピクセルとの間でブレンド処理を行うブレンド演算部とを備えたことを特徴とする図形描画装置。

    Figure 0004684744
    ただし、cvは占有率、rは円の半径、wは円の線幅、dは決定変数。
  2. ピクセル生成部は、円の一部領域毎に含まれるピクセルの座標及びそのピクセルにおける決定変数を生成し、前処理部からの前記領域毎の描画指示に応じて順次全領域数回起動することにより前記円の全領域のピクセルの座標及びそのピクセルにおける決定変数を生成することを特徴とする請求項1記載の図形描画装置。
  3. ピクセル生成部は、前処理部が求めた開始ピクセルから順次一定方向のスキャンラインを移動しながら円の外側の輪郭線を越えるまで前記円に含まれるピクセルの座標及びそのピクセルにおける決定変数を生成し、この順次処理が完了すると前記スキャンラインに垂直な方向へ移動して次段のスキャンラインにて再び順次処理を実行し、前記順次処理において、生成した基準のピクセルの直前に生成されたピクセルの座標に対して当該順次処理後の次段のスキャンラインに位置するピクセルが前記円の内側の輪郭線よりも前記円の中心側の領域にある場合には前記基準のピクセルを退避させ、当該順次処理の完了の際に前記退避させたピクセルから次段のスキャンラインに移動して再び順次処理を実行することを特徴とする請求項1または請求項2記載の図形描画装置。
  4. ブレンド係数算出部は、図形がピクセルのどの程度の割合を占めているかを示す占有率を指標とするブレンド係数のテーブルを備え、ピクセル生成部により生成されたピクセルの決定変数から近似した占有率を指標として前記テーブルを引くことによりブレンド係数を求めることを特徴とする請求項1から請求項3のうちのいずれか1項記載の図形描画装置。
  5. 入力された円の情報に基づいて円の描画を行う図形描画装置としてコンピュータを機能させるためのプログラムにおいて、
    入力された円の情報から開始ピクセルの座標及び前記開始ピクセルにおいてピクセルを描画するか否かを判定するための決定変数を算出する前処理部、前記前処理部が求めた開始ピクセルから順次円に含まれるピクセル毎の座標及びその各ピクセルにおける決定変数を生成するピクセル生成部、前記ピクセル生成部が生成したピクセル毎の座標及び決定変数を用いて、がピクセルのどの程度の割合を占めているかを示す占有率を近似した下記式のいずれかにより算出し、この占有率に基づきピクセルをどのくらいの割合で描画するかを表すブレンド係数を求めるブレンド係数算出部、前記ブレンド係数算出部が算出したブレンド係数に基づき、描画しようとしているピクセルとフレームバッファに保持された描画されているピクセルとの間でブレンド処理を行うブレンド演算部として前記コンピュータを機能させるプログラム。

    Figure 0004684744
    ただし、cvは占有率、rは円の半径、wは円の線幅、dは決定変数。
JP2005155965A 2005-05-27 2005-05-27 図形描画装置及びプログラム Expired - Fee Related JP4684744B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005155965A JP4684744B2 (ja) 2005-05-27 2005-05-27 図形描画装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005155965A JP4684744B2 (ja) 2005-05-27 2005-05-27 図形描画装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2006331209A JP2006331209A (ja) 2006-12-07
JP4684744B2 true JP4684744B2 (ja) 2011-05-18

Family

ID=37552815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005155965A Expired - Fee Related JP4684744B2 (ja) 2005-05-27 2005-05-27 図形描画装置及びプログラム

Country Status (1)

Country Link
JP (1) JP4684744B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107093406B (zh) 2017-06-28 2019-04-23 京东方科技集团股份有限公司 显示面板及其制造方法、显示装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63234368A (ja) * 1987-03-23 1988-09-29 Fujitsu Ltd 自由線幅の円/円弧生成方式
JPH06274641A (ja) * 1993-03-19 1994-09-30 Fujitsu Ltd アンチエイリアシング直線表示装置
JPH09270018A (ja) * 1996-04-01 1997-10-14 Fuji Xerox Co Ltd 図形描画装置
JPH10275241A (ja) * 1997-03-28 1998-10-13 Internatl Business Mach Corp <Ibm> グラフィック処理装置
JP2004029864A (ja) * 2002-06-03 2004-01-29 Mitsubishi Electric Corp 三角形ポリゴン描画装置および三角形ポリゴン描画方法
JP2004086479A (ja) * 2002-08-26 2004-03-18 Sharp Corp 図形を表示させるための情報処理装置、情報処理方法、その情報処理方法を実現するためのプログラム、およびそのプログラムを記録した記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63234368A (ja) * 1987-03-23 1988-09-29 Fujitsu Ltd 自由線幅の円/円弧生成方式
JPH06274641A (ja) * 1993-03-19 1994-09-30 Fujitsu Ltd アンチエイリアシング直線表示装置
JPH09270018A (ja) * 1996-04-01 1997-10-14 Fuji Xerox Co Ltd 図形描画装置
JPH10275241A (ja) * 1997-03-28 1998-10-13 Internatl Business Mach Corp <Ibm> グラフィック処理装置
JP2004029864A (ja) * 2002-06-03 2004-01-29 Mitsubishi Electric Corp 三角形ポリゴン描画装置および三角形ポリゴン描画方法
JP2004086479A (ja) * 2002-08-26 2004-03-18 Sharp Corp 図形を表示させるための情報処理装置、情報処理方法、その情報処理方法を実現するためのプログラム、およびそのプログラムを記録した記録媒体

Also Published As

Publication number Publication date
JP2006331209A (ja) 2006-12-07

Similar Documents

Publication Publication Date Title
JP4938850B2 (ja) 拡張型頂点キャッシュを備えたグラフィック処理装置
WO2021248705A1 (zh) 图像渲染方法、装置、计算机程序和可读介质
US8009172B2 (en) Graphics processing unit with shared arithmetic logic unit
JP2003271987A (ja) プリミティブにより覆われるピクセルの割合を求める方法
US7038678B2 (en) Dependent texture shadow antialiasing
WO2011062205A1 (ja) 画像描画装置、画像描画方法および記録媒体
JP2005122361A (ja) 画像処理装置及び方法、コンピュータプログラム、記録媒体
WO2006095481A1 (ja) テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法
JP2010513956A (ja) ポスト−レンダリング・グラフィックス・スケーリング
CN115471404A (zh) 图像缩放方法、处理设备及存储介质
US8134557B2 (en) Image processing apparatus and image processing method
JP4686624B2 (ja) 情報処理装置、画像処理方法およびプログラム
JP4684744B2 (ja) 図形描画装置及びプログラム
JP3770121B2 (ja) 画像処理装置
US20140176578A1 (en) Input output connector for accessing graphics fixed function units in a software-defined pipeline and a method of operating a pipeline
US20160321835A1 (en) Image processing device, image processing method, and display device
US6670965B1 (en) Single-pass warping engine
JP3099940B2 (ja) 3次元グラフィックス制御装置
US20090073180A1 (en) Graphics drawing apparatus, method, and program and recording medium on which the program is recorded
JP2005293265A (ja) 画像処理装置及び方法
JP2005346605A (ja) アンチエイリアス描画方法およびこれを用いた描画装置
JP2007018157A (ja) 画像処理装置
JP2009009428A (ja) ベクター画像描画回路およびベクター画像描画方法
JP2011028641A (ja) 画像処理装置及び画像処理方法
JP4767313B2 (ja) 画像処理装置、方法およびプログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071005

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080411

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101228

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110209

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140218

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4684744

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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