JP2003323632A - 画像処理装置 - Google Patents
画像処理装置Info
- Publication number
- JP2003323632A JP2003323632A JP2002129975A JP2002129975A JP2003323632A JP 2003323632 A JP2003323632 A JP 2003323632A JP 2002129975 A JP2002129975 A JP 2002129975A JP 2002129975 A JP2002129975 A JP 2002129975A JP 2003323632 A JP2003323632 A JP 2003323632A
- Authority
- JP
- Japan
- Prior art keywords
- color
- identification
- buffer
- pixel
- polygon
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Generation (AREA)
Abstract
(57)【要約】
【課題】画像処理装置のアンチエイリアス処理による描
画品質を改善する。 【解決手段】ポリゴンを構成する画素のデータを格納す
るために設けられた第1のカラーバッファ13、第2の
カラーバッファ14および識別ID格納バッファ15を含
んだ画像メモリ12と、各画素に対してポリゴンのエッ
ジ上に存在しているかどうかを識別するための識別IDを
付与する識別ID生成ブロック6と、画素毎の識別IDを識
別ID格納バッファに格納し、各画素の座標、カラー値、
ポリゴン被覆率および識別IDを受け取り、画素のカラー
値とその画素に対応する第2のカラーバッファ上のアド
レスに格納されたカラー値に基づいて、これらを画素の
ポリゴン被覆率に応じて混合して最終的なカラー値を決
定して第1のカラーバッファに格納するメモリ制御ブロ
ック8とを具備する。
画品質を改善する。 【解決手段】ポリゴンを構成する画素のデータを格納す
るために設けられた第1のカラーバッファ13、第2の
カラーバッファ14および識別ID格納バッファ15を含
んだ画像メモリ12と、各画素に対してポリゴンのエッ
ジ上に存在しているかどうかを識別するための識別IDを
付与する識別ID生成ブロック6と、画素毎の識別IDを識
別ID格納バッファに格納し、各画素の座標、カラー値、
ポリゴン被覆率および識別IDを受け取り、画素のカラー
値とその画素に対応する第2のカラーバッファ上のアド
レスに格納されたカラー値に基づいて、これらを画素の
ポリゴン被覆率に応じて混合して最終的なカラー値を決
定して第1のカラーバッファに格納するメモリ制御ブロ
ック8とを具備する。
Description
【0001】
【発明の属する技術分野】本発明は、画像処理装置に係
り、特にアンチエイリアス画像処理装置に関するもの
で、コンピュータグラフィックスの分野に使用されるも
のである。
り、特にアンチエイリアス画像処理装置に関するもの
で、コンピュータグラフィックスの分野に使用されるも
のである。
【0002】
【従来の技術】コンピュータグラフィックスの分野に使
用される3次元画像処理装置は、3次元空間上に定義さ
れたオブジェクトをウインドウ空間に投影した後、投影
されたポリゴンの頂点データからその内部画素データを
補間して、オブジェクトの画像を生成する装置である。
用される3次元画像処理装置は、3次元空間上に定義さ
れたオブジェクトをウインドウ空間に投影した後、投影
されたポリゴンの頂点データからその内部画素データを
補間して、オブジェクトの画像を生成する装置である。
【0003】このように生成されたオブジェクトの品質
を高めるために提案されている幾つかの方法の中の一つ
に、ポリゴンのジャギーを軽減するためのアンチエイリ
アス手法がある。
を高めるために提案されている幾つかの方法の中の一つ
に、ポリゴンのジャギーを軽減するためのアンチエイリ
アス手法がある。
【0004】しかし、従来よく知られているアンチエイ
リアス手法は、画素毎にポリゴンの占める割合(被覆
率)に応じてポリゴンカラーと背景カラーを混合して対
象画素のカラー値を生成するものであり、後述するよう
な品質改善を妨げる障害が存在していた。以下、詳細に
説明する。
リアス手法は、画素毎にポリゴンの占める割合(被覆
率)に応じてポリゴンカラーと背景カラーを混合して対
象画素のカラー値を生成するものであり、後述するよう
な品質改善を妨げる障害が存在していた。以下、詳細に
説明する。
【0005】従来のアンチエイリアス手法において、ポ
リゴンが画素に占める割合(被覆率)をC (0≦C ≦1)、
対象とする画素を占めるポリゴンのカラー値をPs、背景
のカラー値をPdとすると、対象画素のカラー値Poは Po = Ps ×C +Pd×(1−C) となる。
リゴンが画素に占める割合(被覆率)をC (0≦C ≦1)、
対象とする画素を占めるポリゴンのカラー値をPs、背景
のカラー値をPdとすると、対象画素のカラー値Poは Po = Ps ×C +Pd×(1−C) となる。
【0006】この手法は2つのポリゴンが1つの辺を共
有している時に、共通辺上の画素のカラー値を生成する
上で問題がある。いま、1つの辺を共有するポリゴン1
と2を想定し、その共通辺上において、ポリゴン1のカ
ラー値と被覆率をそれぞれP1,C1 、ポリゴン2のカラー
値と被覆率をP2,C2 、二つのポリゴンに隠れている背景
のカラー値をPdとする。
有している時に、共通辺上の画素のカラー値を生成する
上で問題がある。いま、1つの辺を共有するポリゴン1
と2を想定し、その共通辺上において、ポリゴン1のカ
ラー値と被覆率をそれぞれP1,C1 、ポリゴン2のカラー
値と被覆率をP2,C2 、二つのポリゴンに隠れている背景
のカラー値をPdとする。
【0007】まず、ポリゴン1の描画が行われ、引き続
いてポリゴン2の描画が行われたとすると、この画素の
カラー値Poは次のように計算される。
いてポリゴン2の描画が行われたとすると、この画素の
カラー値Poは次のように計算される。
【0008】
Po = {P1×C1+Pb×(1−C1)}×(1−C2) +P2×C2
ただし、C1+C2 = 1
したがって、最終的に得られるカラー値には、本来影響
を与えるはずの無い背景カラーPbの項が含まれている。
このような問題は、3次元空間に定義されたオブジェク
トは複数のポリゴンに分割されて処理され、上記のよう
なポリゴン間での辺の共有は多く発生するので、無視で
きなくなる。
を与えるはずの無い背景カラーPbの項が含まれている。
このような問題は、3次元空間に定義されたオブジェク
トは複数のポリゴンに分割されて処理され、上記のよう
なポリゴン間での辺の共有は多く発生するので、無視で
きなくなる。
【0009】なお、前記したようなジャギーを軽減する
ための手法として、上述したアンチエイリアス手法のほ
かに、オーバーサンプリング手法がある。このオーバー
サンプリング手法は、1つの画素内におけるサンプリン
グポイントを増やし、各サンプリングポイントのカラー
値を平均することによって最終的な画素カラーを得るも
のであり、擬似的に解像度を高める手法である。しか
し、このオーバーサンプリング手法は、サンプリングポ
イントを増やせば、性能低下や演算リソースの増加が避
けられないという問題がある。
ための手法として、上述したアンチエイリアス手法のほ
かに、オーバーサンプリング手法がある。このオーバー
サンプリング手法は、1つの画素内におけるサンプリン
グポイントを増やし、各サンプリングポイントのカラー
値を平均することによって最終的な画素カラーを得るも
のであり、擬似的に解像度を高める手法である。しか
し、このオーバーサンプリング手法は、サンプリングポ
イントを増やせば、性能低下や演算リソースの増加が避
けられないという問題がある。
【0010】
【発明が解決しようとする課題】上記したように従来の
アンチエイリアス手法は、描画品質の改善を妨げる障害
が存在するという問題があった。
アンチエイリアス手法は、描画品質の改善を妨げる障害
が存在するという問題があった。
【0011】本発明は上記の問題点を解決すべくなされ
たもので、アンチエイリアス処理による描画品質を改善
し得る画像処理装置を提供することを目的とする。
たもので、アンチエイリアス処理による描画品質を改善
し得る画像処理装置を提供することを目的とする。
【0012】
【課題を解決するための手段】本発明の第1の画像処理
装置は、ポリゴンを構成する画素のデータを格納するた
めに設けられ、カラー値格納用の第1のカラーバッファ
および第2のカラーバッファならびに識別ID格納用の識
別ID格納バッファを含んだ画像メモリと、各画素に対し
てポリゴンのエッジ上に存在しているかどうかを識別す
るための識別IDを付与する識別ID付与手段と、前記画素
毎の識別IDを前記識別ID格納バッファに格納する識別ID
格納手段と、前記各画素のカラー値、ポリゴン被覆率お
よび識別ID受け取り、画素のカラー値とその画素に対応
する前記第2のカラーバッファ上のアドレスに格納され
たカラー値に基づいて、これらを画素のポリゴン被覆率
に応じて混合して最終的なカラー値を決定して前記第1
のカラーバッファに格納する際、ポリゴンを構成する画
素がエッジ上に存在している場合には、その画素に対応
する前記識別ID格納バッファ上のアドレスに格納されて
いる識別IDを読み出して識別IDを比較し、識別IDが一致
した場合には前記第1のカラーバッファに格納するカラ
ー値または前記ポリゴンのカラー値を前記第2のカラー
バッファに格納し、前記識別IDが一致しなかった場合に
は前記ポリゴンのカラー値を前記第2のカラーバッファ
に格納するカラー値格納手段とを具備することを特徴と
する。
装置は、ポリゴンを構成する画素のデータを格納するた
めに設けられ、カラー値格納用の第1のカラーバッファ
および第2のカラーバッファならびに識別ID格納用の識
別ID格納バッファを含んだ画像メモリと、各画素に対し
てポリゴンのエッジ上に存在しているかどうかを識別す
るための識別IDを付与する識別ID付与手段と、前記画素
毎の識別IDを前記識別ID格納バッファに格納する識別ID
格納手段と、前記各画素のカラー値、ポリゴン被覆率お
よび識別ID受け取り、画素のカラー値とその画素に対応
する前記第2のカラーバッファ上のアドレスに格納され
たカラー値に基づいて、これらを画素のポリゴン被覆率
に応じて混合して最終的なカラー値を決定して前記第1
のカラーバッファに格納する際、ポリゴンを構成する画
素がエッジ上に存在している場合には、その画素に対応
する前記識別ID格納バッファ上のアドレスに格納されて
いる識別IDを読み出して識別IDを比較し、識別IDが一致
した場合には前記第1のカラーバッファに格納するカラ
ー値または前記ポリゴンのカラー値を前記第2のカラー
バッファに格納し、前記識別IDが一致しなかった場合に
は前記ポリゴンのカラー値を前記第2のカラーバッファ
に格納するカラー値格納手段とを具備することを特徴と
する。
【0013】本発明の第2の画像処理装置は、ポリゴン
を構成する画素のデータを格納するために設けられ、カ
ラー値格納用の第1のカラーバッファおよび第2のカラ
ーバッファならびに深度値格納用の深度値バッファを含
んだ画像メモリと、前記画素の深度値を受け取り、その
画素に対応する前記深度値バッファ上のアドレスに格納
されている深度値を読み出し、この2つの深度値の大小
を比較する深度値比較手段と、前記深度比較の結果に基
づいて前記第1のカラーバッファの更新を行うか否かを
判定し、各画素のカラー値およびポリゴン被覆率を受け
取り、画素のカラー値とその画素に対応する前記第2の
カラーバッファ上のアドレスに格納されたカラー値に基
づいて、これらを画素のポリゴン被覆率に応じて混合し
て最終的なカラー値を決定して前記第1のカラーバッフ
ァに格納するカラー値格納手段とを具備することを特徴
とする。
を構成する画素のデータを格納するために設けられ、カ
ラー値格納用の第1のカラーバッファおよび第2のカラ
ーバッファならびに深度値格納用の深度値バッファを含
んだ画像メモリと、前記画素の深度値を受け取り、その
画素に対応する前記深度値バッファ上のアドレスに格納
されている深度値を読み出し、この2つの深度値の大小
を比較する深度値比較手段と、前記深度比較の結果に基
づいて前記第1のカラーバッファの更新を行うか否かを
判定し、各画素のカラー値およびポリゴン被覆率を受け
取り、画素のカラー値とその画素に対応する前記第2の
カラーバッファ上のアドレスに格納されたカラー値に基
づいて、これらを画素のポリゴン被覆率に応じて混合し
て最終的なカラー値を決定して前記第1のカラーバッフ
ァに格納するカラー値格納手段とを具備することを特徴
とする。
【0014】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を詳細に説明する。
施の形態を詳細に説明する。
【0015】<第1の実施形態>図1は、本発明の第1
の実施形態に係る画像処理装置の一例を示している。
の実施形態に係る画像処理装置の一例を示している。
【0016】この画像処理装置は、ポリゴンから構成さ
れる3次元画像の描画およびアンチエイリアス処理を行
うものであるが、アンチエイリアス処理に際して最前面
のカラーデータを保持するカラーバッファを有し、画素
がポリゴン辺上にあるか否かを識別する識別IDを導入し
ている点に特徴がある。
れる3次元画像の描画およびアンチエイリアス処理を行
うものであるが、アンチエイリアス処理に際して最前面
のカラーデータを保持するカラーバッファを有し、画素
がポリゴン辺上にあるか否かを識別する識別IDを導入し
ている点に特徴がある。
【0017】図1において、画像処理部2は、それに必
要なポリゴンの頂点情報を生成するCPU 1とホストバス
で接続されており、画像メモリ12のリード/ライトを
行い、ディスプレイ装置17に描画信号を供給するもの
である。この画像処理部2は、例えば1個の半導体チッ
プに形成されており、内部画素補間ブロック3、メモリ
制御ブロック8、ディスプレイ制御装置16を有する。
要なポリゴンの頂点情報を生成するCPU 1とホストバス
で接続されており、画像メモリ12のリード/ライトを
行い、ディスプレイ装置17に描画信号を供給するもの
である。この画像処理部2は、例えば1個の半導体チッ
プに形成されており、内部画素補間ブロック3、メモリ
制御ブロック8、ディスプレイ制御装置16を有する。
【0018】画像メモリ12は、従来のフレームバッフ
ァに相当する第1のカラーバッファ13のほか、補助用
の第2のカラーバッファ14および識別ID格納バッファ
15を含んでおり、画像の各フレーム処理の先頭でそれ
ぞれ任意の値に初期化しておくことが可能なものであ
る。
ァに相当する第1のカラーバッファ13のほか、補助用
の第2のカラーバッファ14および識別ID格納バッファ
15を含んでおり、画像の各フレーム処理の先頭でそれ
ぞれ任意の値に初期化しておくことが可能なものであ
る。
【0019】画像処理部2の内部画素補間ブロック3
は、CPU 1からポリゴンの頂点データを受け取ると、座
標生成ブロック4でポリゴンを構成する各画素のディス
プレイ(ウインドウ)座標X,Y を生成し、カラー値生成
ブロック5で各画素のカラー値データScをそれぞれ内部
補間して生成するものである。
は、CPU 1からポリゴンの頂点データを受け取ると、座
標生成ブロック4でポリゴンを構成する各画素のディス
プレイ(ウインドウ)座標X,Y を生成し、カラー値生成
ブロック5で各画素のカラー値データScをそれぞれ内部
補間して生成するものである。
【0020】また、これに並行して、ポリゴン被覆率算
出ブロック6で各画素のポリゴン被覆率Cov の値を生成
するものである。ポリゴン被覆率は0〜1の値をとり、
値が1の時は被覆率100%と言い換えることができ
る。
出ブロック6で各画素のポリゴン被覆率Cov の値を生成
するものである。ポリゴン被覆率は0〜1の値をとり、
値が1の時は被覆率100%と言い換えることができ
る。
【0021】また、前記内部画素補間ブロック3は、ポ
リゴン被覆率算出ブロック6からポリゴン被覆率Cov の
値を識別ID付与ブロック7で受け取って、各画素に対し
て識別IDを付与するものである。
リゴン被覆率算出ブロック6からポリゴン被覆率Cov の
値を識別ID付与ブロック7で受け取って、各画素に対し
て識別IDを付与するものである。
【0022】図2は、図1中のポリゴン被覆率算出ブロ
ック6で生成するポリゴン被覆率を説明するために示す
図である。
ック6で生成するポリゴン被覆率を説明するために示す
図である。
【0023】図2において、丸印21は画素、23はポ
リゴンを表しており、各画素21中の罫線で塗り潰され
た5個の画素22はポリゴン被覆率が0.5である。
リゴンを表しており、各画素21中の罫線で塗り潰され
た5個の画素22はポリゴン被覆率が0.5である。
【0024】本例の識別ID付与ブロック7では、被覆率
1の画素に対して識別ID =0、それ以外の画素に対して
識別ID=1を与える。識別IDとして与える数値は、3つ
以上のポリゴンが重なる場合でも識別可能とするため
に、ポリゴン毎に可変にすることができる。
1の画素に対して識別ID =0、それ以外の画素に対して
識別ID=1を与える。識別IDとして与える数値は、3つ
以上のポリゴンが重なる場合でも識別可能とするため
に、ポリゴン毎に可変にすることができる。
【0025】内部画素補間ブロック3で生成された各画
素の座標X,Y 、カラー値データSc、ポリゴン占有率Cov
および識別IDは、前記メモリ制御ブロック8に送られ
る。
素の座標X,Y 、カラー値データSc、ポリゴン占有率Cov
および識別IDは、前記メモリ制御ブロック8に送られ
る。
【0026】メモリ制御ブロック8は、座標X,Y から各
画素データをアクセスするために、画像メモリ12の各
バッファ13、14、15における画素データの格納先
アドレスをアドレス生成ブロック9で計算し、このアド
レスを用いて画像メモリ12にアクセスするものであ
る。
画素データをアクセスするために、画像メモリ12の各
バッファ13、14、15における画素データの格納先
アドレスをアドレス生成ブロック9で計算し、このアド
レスを用いて画像メモリ12にアクセスするものであ
る。
【0027】第1のカラーバッファ13は、ディスプレ
イ装置17で表示する広さ分の画素データを格納できる
だけの容量を備えており、第2のカラーバッファ14も
それと同じだけの容量を備えている。例えばディスプレ
イ装置17の表示解像度が640×480画素であり、
1画素当りのカラー値データScが32ビットの情報を持つ
ならば、前記各バッファ13、14、15の容量は、64
0×480×32=約1.2Mbyte必要となる。
イ装置17で表示する広さ分の画素データを格納できる
だけの容量を備えており、第2のカラーバッファ14も
それと同じだけの容量を備えている。例えばディスプレ
イ装置17の表示解像度が640×480画素であり、
1画素当りのカラー値データScが32ビットの情報を持つ
ならば、前記各バッファ13、14、15の容量は、64
0×480×32=約1.2Mbyte必要となる。
【0028】画像処理部2のメモリ制御ブロック8は、
内部画素補間ブロック3から画素データ(以下、総称し
てソースデータと呼ぶ)を受け取ると、まず、第2のカ
ラーバッファ14上のアドレスにアクセスしてその画素
に対応するカラー値データDcを読み出す。
内部画素補間ブロック3から画素データ(以下、総称し
てソースデータと呼ぶ)を受け取ると、まず、第2のカ
ラーバッファ14上のアドレスにアクセスしてその画素
に対応するカラー値データDcを読み出す。
【0029】次いで、識別IDバッファ15から識別IDを
読み出す。そして、ソースデータのカラー値Scと第2の
カラーバッファ14に格納されているカラー値Dcとをカ
ラー混合ブロック10でポリゴン被覆率Cov に応じて混
合させて得たカラー値Cdを第1のカラーバッファ13に
格納する。
読み出す。そして、ソースデータのカラー値Scと第2の
カラーバッファ14に格納されているカラー値Dcとをカ
ラー混合ブロック10でポリゴン被覆率Cov に応じて混
合させて得たカラー値Cdを第1のカラーバッファ13に
格納する。
【0030】上記カラー値Cdは、次式で表わすことがで
きる。
きる。
【0031】
Cd = Sc ×Cov + Dc×(1−Cov) …(1)
図2中のポリゴン被覆率Cov が0.5の画素2を例にと
れば、式(1)はCd = ポリゴンカラー値×0.5+背
景カラー値×0.5となる。ここで、ポリゴンカラー値
はソースカラー値Scであり、背景カラー値は第2のカラ
ーバッファ14に格納されているカラー値Dcに相当す
る。
れば、式(1)はCd = ポリゴンカラー値×0.5+背
景カラー値×0.5となる。ここで、ポリゴンカラー値
はソースカラー値Scであり、背景カラー値は第2のカラ
ーバッファ14に格納されているカラー値Dcに相当す
る。
【0032】また、メモリ制御ブロック8は、第1のカ
ラーバッファ13へのカラー値Cdの格納に合わせて第2
のカラーバッファ14のカラー値Dcの更新も行う。この
場合、どのような更新値となるかは、ソースデータの識
別IDと識別IDバッファ15から読み出した識別IDを識別
ID比較ブロック11で比較して決定する。本例では、識
別IDが共に1であった場合には、式(1)で混合処理さ
れたカラー値Cdが書き込まれ、それ以外の場合には、ソ
ースカラー値Scが書き込まれる。つまり、識別IDの比較
は、画素が2つのポリゴンによって共有する辺上に存在
するものかどうかをテストしている。
ラーバッファ13へのカラー値Cdの格納に合わせて第2
のカラーバッファ14のカラー値Dcの更新も行う。この
場合、どのような更新値となるかは、ソースデータの識
別IDと識別IDバッファ15から読み出した識別IDを識別
ID比較ブロック11で比較して決定する。本例では、識
別IDが共に1であった場合には、式(1)で混合処理さ
れたカラー値Cdが書き込まれ、それ以外の場合には、ソ
ースカラー値Scが書き込まれる。つまり、識別IDの比較
は、画素が2つのポリゴンによって共有する辺上に存在
するものかどうかをテストしている。
【0033】前記第1のカラーバッファ13の内容はそ
のまま表示イメージになる。第2のカラーバッファ14
は、1つの画素でポリゴンが重なり合う時に時間的に最
後(最近)に生成されたソースデータを保持する役割を
持つ。これにより、ポリゴンの共有辺上の画素に背景カ
ラーが影響するのを防止する。
のまま表示イメージになる。第2のカラーバッファ14
は、1つの画素でポリゴンが重なり合う時に時間的に最
後(最近)に生成されたソースデータを保持する役割を
持つ。これにより、ポリゴンの共有辺上の画素に背景カ
ラーが影響するのを防止する。
【0034】画像処理部2のメモリ制御ブロック8は、
画像の1フレーム分の処理が終了した時点で画像メモリ
12の第1のカラーバッファ13から1フレーム分のカ
ラーデータを読み出してディスプレイ制御装置16に出
力する。ディスプレイ制御装置16は、1フレーム分の
カラーデータに基づいてディスプレイ装置17に対して
同期信号と画素データを出力する。
画像の1フレーム分の処理が終了した時点で画像メモリ
12の第1のカラーバッファ13から1フレーム分のカ
ラーデータを読み出してディスプレイ制御装置16に出
力する。ディスプレイ制御装置16は、1フレーム分の
カラーデータに基づいてディスプレイ装置17に対して
同期信号と画素データを出力する。
【0035】<第2の実施形態>前述した第1の実施形
態では、アンチエイリアス処理に際してポリゴンの深度
(奥行き)に関する処理を規定していないが、第2の実
施形態では同じオブジェクト内でポリゴンの深度にばら
つきがあった場合の処理を行う例を説明する。
態では、アンチエイリアス処理に際してポリゴンの深度
(奥行き)に関する処理を規定していないが、第2の実
施形態では同じオブジェクト内でポリゴンの深度にばら
つきがあった場合の処理を行う例を説明する。
【0036】なお、第2の実施形態においても第1の実
施形態と同様に識別IDを導入しているが、所定の順序で
ポリゴンが与えられる場合には識別IDの比較処理は必ず
しも必要はない。
施形態と同様に識別IDを導入しているが、所定の順序で
ポリゴンが与えられる場合には識別IDの比較処理は必ず
しも必要はない。
【0037】図3は、本発明の第2の実施形態に係る画
像処理装置の一例を示している。
像処理装置の一例を示している。
【0038】図3に示す3次元画像処理装置は、図1を
参照して前述した第1の実施形態の画像処理装置と比べ
て、画像処理部2aの内部画素補間ブロック3aに深度
値生成ブロック31が付加されている点、画像メモリ1
2aに深度値バッファ16が付加されている点が異な
り、その他はほぼ同じである。
参照して前述した第1の実施形態の画像処理装置と比べ
て、画像処理部2aの内部画素補間ブロック3aに深度
値生成ブロック31が付加されている点、画像メモリ1
2aに深度値バッファ16が付加されている点が異な
り、その他はほぼ同じである。
【0039】図3において、画像処理部2aは、それに
必要なポリゴンの頂点情報をジオメトリ演算により生成
するCPU 1とホストバスで接続されており、画像メモリ
12aのリード/ライトを行い、ディスプレイ装置19
に描画信号を供給するものである。この画像処理部2a
は、例えば1個の半導体チップに形成されており、内部
画素補間ブロック3a、メモリ制御ブロック8a、ディ
スプレイ制御装置18を有する。
必要なポリゴンの頂点情報をジオメトリ演算により生成
するCPU 1とホストバスで接続されており、画像メモリ
12aのリード/ライトを行い、ディスプレイ装置19
に描画信号を供給するものである。この画像処理部2a
は、例えば1個の半導体チップに形成されており、内部
画素補間ブロック3a、メモリ制御ブロック8a、ディ
スプレイ制御装置18を有する。
【0040】画像メモリ12aは、フレームを構成する
全画素データを格納できるだけの容量を持った第1のカ
ラーバッファ13、補助用の第2のカラーバッファ1
4、識別ID格納バッファ15および深度値バッファ16
から構成される。
全画素データを格納できるだけの容量を持った第1のカ
ラーバッファ13、補助用の第2のカラーバッファ1
4、識別ID格納バッファ15および深度値バッファ16
から構成される。
【0041】画像処理部2aの内部画素補間ブロック3
aは、CPU からポリゴンの頂点データを受け取ると、座
標生成ブロック4でポリゴンを構成する各画素のディス
プレイ座標X,Y を生成し、カラー値生成ブロック5で各
画素のカラー値データScをそれぞれ内部補間して生成
し、深度値生成ブロック31で深度値を生成し、ポリゴ
ン被覆率算出ブロック6で各画素のポリゴン被覆率Cov
を生成し、この被覆率Cov を用いて識別ID付与ブロック
7で各画素のエッジ判定を行い、その判定結果に基づい
て各画素に対して適切な識別IDを付加する。
aは、CPU からポリゴンの頂点データを受け取ると、座
標生成ブロック4でポリゴンを構成する各画素のディス
プレイ座標X,Y を生成し、カラー値生成ブロック5で各
画素のカラー値データScをそれぞれ内部補間して生成
し、深度値生成ブロック31で深度値を生成し、ポリゴ
ン被覆率算出ブロック6で各画素のポリゴン被覆率Cov
を生成し、この被覆率Cov を用いて識別ID付与ブロック
7で各画素のエッジ判定を行い、その判定結果に基づい
て各画素に対して適切な識別IDを付加する。
【0042】図4は、図3中のポリゴン被覆率算出ブロ
ック6で生成する被覆率Cov を説明するために示す図で
ある。
ック6で生成する被覆率Cov を説明するために示す図で
ある。
【0043】図4において、41はポリゴン、42は画
素を表しており、本例では、ポリゴン41は21個の画
素42を占めている(21個の画素2は被覆率が0%以
上)。各画素42中の黒丸で示された画素は被覆率Cov
が100%(被覆率1)、それ以外の罫線で塗り潰され
た画素は被覆率Cov が100%未満である。
素を表しており、本例では、ポリゴン41は21個の画
素42を占めている(21個の画素2は被覆率が0%以
上)。各画素42中の黒丸で示された画素は被覆率Cov
が100%(被覆率1)、それ以外の罫線で塗り潰され
た画素は被覆率Cov が100%未満である。
【0044】前記識別ID付与ブロック7は、図4中の黒
丸で示された被覆率1の画素とそれ以外の罫線で塗り潰
された画素のそれぞれに対して別々の識別IDを付加する
ものであり、本例では、被覆率1の画素に対して識別ID
=0、それ以外の罫線で塗り潰された画素に対して識別
ID=1を与える。
丸で示された被覆率1の画素とそれ以外の罫線で塗り潰
された画素のそれぞれに対して別々の識別IDを付加する
ものであり、本例では、被覆率1の画素に対して識別ID
=0、それ以外の罫線で塗り潰された画素に対して識別
ID=1を与える。
【0045】識別IDとして与える数値は、3つ以上のポ
リゴンが重なる場合でも識別可能とするために、ポリゴ
ン毎に可変にすることができる。また、実際にどのよう
な数値をIDとして与えるかはポリゴンやオブジェクト毎
に可変である。
リゴンが重なる場合でも識別可能とするために、ポリゴ
ン毎に可変にすることができる。また、実際にどのよう
な数値をIDとして与えるかはポリゴンやオブジェクト毎
に可変である。
【0046】上記したようにポリゴンを構成する各画素
に対して内部画素補間ブロック3aで生成された各画素
のデータ(座標、カラー値、深度値、被覆率、識別ID)
はメモリ制御ブロック8aへ送られる。
に対して内部画素補間ブロック3aで生成された各画素
のデータ(座標、カラー値、深度値、被覆率、識別ID)
はメモリ制御ブロック8aへ送られる。
【0047】画像処理部2aのメモリ制御ブロック8a
は、アドレス生成ブロック9、カラー混合ブロック10
および深度値・識別ID比較ブロック32を有する。上記
アドレス生成ブロック9は、画素の座標データから画像
メモリ12aの各バッファ13〜15、33に対して対
象画素のデータを格納するアドレスを生成する。そし
て、この計算されたアドレスに基づいて画像メモリ12
aにアクセスしてデータの書き込み/読み出しを行う。
ここで、画像メモリ12aの各バッファ13〜15、3
3は、画像の1フレーム分の処理の先頭で適切な値に初
期化することが可能である。
は、アドレス生成ブロック9、カラー混合ブロック10
および深度値・識別ID比較ブロック32を有する。上記
アドレス生成ブロック9は、画素の座標データから画像
メモリ12aの各バッファ13〜15、33に対して対
象画素のデータを格納するアドレスを生成する。そし
て、この計算されたアドレスに基づいて画像メモリ12
aにアクセスしてデータの書き込み/読み出しを行う。
ここで、画像メモリ12aの各バッファ13〜15、3
3は、画像の1フレーム分の処理の先頭で適切な値に初
期化することが可能である。
【0048】画像メモリ12aは、カラムサイズ(1組
のロウアドレスとカラムアドレスで指定されるデータサ
イズ)が32ビットとなっており、32ビットのデータ
バス幅でメモリ制御ブロック8aと接続されている。
のロウアドレスとカラムアドレスで指定されるデータサ
イズ)が32ビットとなっており、32ビットのデータ
バス幅でメモリ制御ブロック8aと接続されている。
【0049】したがって、1画素当りのカラー値が32
ビット長である場合、1回のアクセスで第1のカラーバ
ッファ13または第2のカラーバッファ14から1画素
分のカラー値を読み書き可能である。同様に、1画素当
りの深度値が32ビット長である場合、1回のアクセス
で1画素分の深度値データを読み書き可能である。
ビット長である場合、1回のアクセスで第1のカラーバ
ッファ13または第2のカラーバッファ14から1画素
分のカラー値を読み書き可能である。同様に、1画素当
りの深度値が32ビット長である場合、1回のアクセス
で1画素分の深度値データを読み書き可能である。
【0050】なお、本例における画像処理部2aは、深
度値データのサイズを32ビット長や24ビット長など
に任意に変えることが可能であり、深度値を24ビット
長とした場合、1カラムの中で余った8ビットは先の識
別IDを格納するために使うことが可能である。
度値データのサイズを32ビット長や24ビット長など
に任意に変えることが可能であり、深度値を24ビット
長とした場合、1カラムの中で余った8ビットは先の識
別IDを格納するために使うことが可能である。
【0051】図5は、図3中の画像処理部2aにおいて
深度値と識別IDを同時にアクセスするために深度値を2
4ビット長とした場合のカラム構成を示す。図中、太枠
51で囲まれた24ビット領域は深度値格納領域、太枠
52で囲まれた8ビット領域は識別ID格納領域である。
深度値と識別IDを同時にアクセスするために深度値を2
4ビット長とした場合のカラム構成を示す。図中、太枠
51で囲まれた24ビット領域は深度値格納領域、太枠
52で囲まれた8ビット領域は識別ID格納領域である。
【0052】このようなカラムフォーマットにより、深
度データと識別IDを一回のアクセスで同時に読み書き可
能である。また、上記の余った8ビットは、アンチエイ
リアス処理を行わない場合にはステンシルバッファとし
て使うことも可能である。
度データと識別IDを一回のアクセスで同時に読み書き可
能である。また、上記の余った8ビットは、アンチエイ
リアス処理を行わない場合にはステンシルバッファとし
て使うことも可能である。
【0053】図6は、図3中の画像処理部2aのメモリ
制御ブロック8aによる画像メモリ更新処理の一例を示
すフローチャートである。
制御ブロック8aによる画像メモリ更新処理の一例を示
すフローチャートである。
【0054】まず、処理1(ソースデータの受け取りと
メモリアドレス計算)では、図3中の内部画素補間ブロ
ック3aから座標、カラー値、深度値、被覆率および識
別IDが送られてくる。この内部画素補間ブロック3aか
ら送られてきたデータ全般を、便宜上、ソースデータと
呼ぶ。
メモリアドレス計算)では、図3中の内部画素補間ブロ
ック3aから座標、カラー値、深度値、被覆率および識
別IDが送られてくる。この内部画素補間ブロック3aか
ら送られてきたデータ全般を、便宜上、ソースデータと
呼ぶ。
【0055】次に、処理2(深度バッファ、識別IDバッ
ファのリード)では、受け取った座標からバッファ毎の
格納先アドレスを生成し、その画素に対応する深度値と
識別IDを画像メモリ12aから読み出す。この画像メモ
リ12aに書き込まれているデータ全般を、便宜上、デ
ィスティネーションデータと呼ぶ。
ファのリード)では、受け取った座標からバッファ毎の
格納先アドレスを生成し、その画素に対応する深度値と
識別IDを画像メモリ12aから読み出す。この画像メモ
リ12aに書き込まれているデータ全般を、便宜上、デ
ィスティネーションデータと呼ぶ。
【0056】次に、分岐処理3(識別ID比較)では、ソ
ースとディスティネーションの深度値が揃った時点で、
図3中の深度値・識別ID比較ブロック32で識別ID比較
を行う。この深度値・識別ID比較ブロック32は、後述
する深度値比較も実行することが可能であり、第1のカ
ラーバッファの更新を決定するブロックである。上記識
別IDは、ポリゴン単位で割り当てる値を変えることが可
能であるが、ここでの処理では、辺上の画素にはIDとし
て数値1、そうでない内部の画素には数値0が割り当て
られているものとする。
ースとディスティネーションの深度値が揃った時点で、
図3中の深度値・識別ID比較ブロック32で識別ID比較
を行う。この深度値・識別ID比較ブロック32は、後述
する深度値比較も実行することが可能であり、第1のカ
ラーバッファの更新を決定するブロックである。上記識
別IDは、ポリゴン単位で割り当てる値を変えることが可
能であるが、ここでの処理では、辺上の画素にはIDとし
て数値1、そうでない内部の画素には数値0が割り当て
られているものとする。
【0057】上記分岐処理3では、対象とする画素のソ
ースとディスティネーションの識別IDが共に1であるか
否かを検査し、YES の場合には処理5に進み、NOの場合
には分岐処理4(深度値比較)に進む。つまり、識別ID
の比較は、対象とする画素が2つのポリゴンの共有辺上
に存在し、もう一方のポリゴンデータが第2のカラーバ
ッファ14に書き込まれているかどうかを検査するもの
である。
ースとディスティネーションの識別IDが共に1であるか
否かを検査し、YES の場合には処理5に進み、NOの場合
には分岐処理4(深度値比較)に進む。つまり、識別ID
の比較は、対象とする画素が2つのポリゴンの共有辺上
に存在し、もう一方のポリゴンデータが第2のカラーバ
ッファ14に書き込まれているかどうかを検査するもの
である。
【0058】処理5に進んだ場合は、第1のカラーバッ
ファ13の更新を行う。新たに第1のカラーバッファ1
3に書き込むカラー値Cdは次のように算出する。
ファ13の更新を行う。新たに第1のカラーバッファ1
3に書き込むカラー値Cdは次のように算出する。
【0059】まず、処理5(第2のカラーバッファのリ
ード)で第2のカラーバッファ14からカラー値を読み
出す。次に、処理6(カラー混合処理)では、処理5で
読み出したカラー値DcとソースのカラーScをカラー混合
ブロック10でブレンドしてカラー値Cdを算出する。こ
の場合、ソースの被覆率をCov とすると、以式(2)の
ように表される。
ード)で第2のカラーバッファ14からカラー値を読み
出す。次に、処理6(カラー混合処理)では、処理5で
読み出したカラー値DcとソースのカラーScをカラー混合
ブロック10でブレンドしてカラー値Cdを算出する。こ
の場合、ソースの被覆率をCov とすると、以式(2)の
ように表される。
【0060】
Cd = Sc ×Cov +Dc×( 1 −Cov) …(2)
次に、処理7(第1のカラーバッファと第2のカラーバ
ッファの更新)では、上式(2)で得られたカラー値Cd
を第1のカラーバッファ13に書き込み、また、第2の
カラーバッファ14にも書き込む。
ッファの更新)では、上式(2)で得られたカラー値Cd
を第1のカラーバッファ13に書き込み、また、第2の
カラーバッファ14にも書き込む。
【0061】次に、分岐処理8(深度値比較)では、上
記処理と並行して、ソースとディスティネーションの深
度値比較も行う。この結果、ソースの深度値がディステ
ィネーションの深度値よりも視点に近い値であった場合
(YES) には、次の処理9(深度バッファの更新)で上記
ソースの深度値を深度値バッファ33に書き込み、そう
でない場合(NO)には、深度値バッファ33の更新は行わ
ない。識別IDバッファの更新は必ずしも必要ないが、エ
ッジ上の画素に割り当てられているID以外の値に書き換
えてもよい。以上の処理が終了すると、処理1に戻り、
新たなソースデータを待つ。
記処理と並行して、ソースとディスティネーションの深
度値比較も行う。この結果、ソースの深度値がディステ
ィネーションの深度値よりも視点に近い値であった場合
(YES) には、次の処理9(深度バッファの更新)で上記
ソースの深度値を深度値バッファ33に書き込み、そう
でない場合(NO)には、深度値バッファ33の更新は行わ
ない。識別IDバッファの更新は必ずしも必要ないが、エ
ッジ上の画素に割り当てられているID以外の値に書き換
えてもよい。以上の処理が終了すると、処理1に戻り、
新たなソースデータを待つ。
【0062】一方、前記分岐処理4において、深度値比
較を行い、ソースデータの深度値がディスティネーショ
ンのそれよりも視点に近い値を指している場合(YES) に
は、処理10に進む。そうでない場合(NO)には、ソース
データを全て破棄し、処理1に戻り、新たなソースデー
タを待つ。
較を行い、ソースデータの深度値がディスティネーショ
ンのそれよりも視点に近い値を指している場合(YES) に
は、処理10に進む。そうでない場合(NO)には、ソース
データを全て破棄し、処理1に戻り、新たなソースデー
タを待つ。
【0063】上記処理10(第2のカラーバッファリー
ド)に進んだ場合には、第1のカラーバッファ13の更
新のための手続きを行う。まず、処理5と同様に、第2
のカラーバッファ14からカラー値を読み出す。
ド)に進んだ場合には、第1のカラーバッファ13の更
新のための手続きを行う。まず、処理5と同様に、第2
のカラーバッファ14からカラー値を読み出す。
【0064】次に、処理11(カラー混合処理)では、
第2のカラーバッファ14から読み出したカラー値とソ
ースのカラー値をソースデータのポリゴン被覆率に応じ
て式(2)と同様に混合し、混合カラー値Cdを生成す
る。
第2のカラーバッファ14から読み出したカラー値とソ
ースのカラー値をソースデータのポリゴン被覆率に応じ
て式(2)と同様に混合し、混合カラー値Cdを生成す
る。
【0065】次に、処理12(第1のカラーバッファと
第2のカラーバッファの更新)では、混合カラー値Cdを
第1のカラーバッファ13に書き込み、同時にソースカ
ラー値Scを第2のカラーバッファ14に書き込む。
第2のカラーバッファの更新)では、混合カラー値Cdを
第1のカラーバッファ13に書き込み、同時にソースカ
ラー値Scを第2のカラーバッファ14に書き込む。
【0066】また、処理13(深度バッファと識別IDバ
ッファの更新)では、ソースの深度値を深度値バッファ
16に書き込み、ソースの識別IDを識別IDバッファ15
に書き込む。この処理が終了すると、処理1に戻り、新
たなソースデータを待つ。
ッファの更新)では、ソースの深度値を深度値バッファ
16に書き込み、ソースの識別IDを識別IDバッファ15
に書き込む。この処理が終了すると、処理1に戻り、新
たなソースデータを待つ。
【0067】図7および図8は、第2の実施形態の画像
処理装置を用いた動作例として、2つのトライアングル
AとBを順に描画する際におけるトライアングルAの描
画動作(図7)およびトライアングルBの描画動作(図
8)を説明するために示している。
処理装置を用いた動作例として、2つのトライアングル
AとBを順に描画する際におけるトライアングルAの描
画動作(図7)およびトライアングルBの描画動作(図
8)を説明するために示している。
【0068】なお、この処理の前には、深度値バッファ
16は全て最奥値を表わす値に初期化されており、二つ
のカラーバッファ13、14は適当な背景値に初期化さ
れているとする。
16は全て最奥値を表わす値に初期化されており、二つ
のカラーバッファ13、14は適当な背景値に初期化さ
れているとする。
【0069】最初にトライアングルAを描画する。この
際、トライアングルAは図7中に太線で示した18個の
画素を占めている。この描画対象の18個の画素に対し
て、画素が辺上に存在するかどうかで別々の識別ID(本
例では、辺上の画素にはID=1、それ以外の内部画素に
はID=0)が付与されている。これらの18個の画素
は、全て、図6中の分岐処理4で第1のカラーバッファ
13の更新と第2のカラーバッファ14の更新が決定さ
れる。
際、トライアングルAは図7中に太線で示した18個の
画素を占めている。この描画対象の18個の画素に対し
て、画素が辺上に存在するかどうかで別々の識別ID(本
例では、辺上の画素にはID=1、それ以外の内部画素に
はID=0)が付与されている。これらの18個の画素
は、全て、図6中の分岐処理4で第1のカラーバッファ
13の更新と第2のカラーバッファ14の更新が決定さ
れる。
【0070】次に、トライアングルBを描画する。この
際、トライアングルBは図8中に太線で示した22個の
画素を占めている。この描画対象の22個の画素に対し
て、画素が辺上に存在するかどうかで別々の識別ID(本
例では、辺上の画素にはID=1、それ以外の内部画素に
はID=0)が付与されている。
際、トライアングルBは図8中に太線で示した22個の
画素を占めている。この描画対象の22個の画素に対し
て、画素が辺上に存在するかどうかで別々の識別ID(本
例では、辺上の画素にはID=1、それ以外の内部画素に
はID=0)が付与されている。
【0071】この22個の画素のうち図8中にCで示さ
れた7画素は、トライアングルAとトライアングルBで
共通の描画画素である。これら7つの画素は、図6中の
分岐処理3における識別IDの検査において第1のカラー
バッファ13の更新が決定される。そして、第2のカラ
ーバッファ14に記録されているトライアングルAのカ
ラーとソースカラーであるトライアングルBのカラーが
混合され、その混合結果が第1のカラーバッファ13に
書き込まれるとともに第2のカラーバッファ14にも書
き込まれる。
れた7画素は、トライアングルAとトライアングルBで
共通の描画画素である。これら7つの画素は、図6中の
分岐処理3における識別IDの検査において第1のカラー
バッファ13の更新が決定される。そして、第2のカラ
ーバッファ14に記録されているトライアングルAのカ
ラーとソースカラーであるトライアングルBのカラーが
混合され、その混合結果が第1のカラーバッファ13に
書き込まれるとともに第2のカラーバッファ14にも書
き込まれる。
【0072】トライアングルBの残り15個の画素は、
全て、図6の分岐処理4における深度値比較テストによ
り第1のカラーバッファ13と第2のカラーバッファ1
4の更新が決定される。
全て、図6の分岐処理4における深度値比較テストによ
り第1のカラーバッファ13と第2のカラーバッファ1
4の更新が決定される。
【0073】画像処理部2aのメモリ制御ブロック8a
は、1フレーム分の処理が終了した時点で第1のカラー
バッファ13のデータを読み出し、そのデータをディス
プレイ制御装置18に出力する機能を有する。
は、1フレーム分の処理が終了した時点で第1のカラー
バッファ13のデータを読み出し、そのデータをディス
プレイ制御装置18に出力する機能を有する。
【0074】ディスプレイ制御装置18は、画像を表示
するためのカラー情報や同期信号を外付けのディスプレ
イ装置19に出力する機能を備えている。
するためのカラー情報や同期信号を外付けのディスプレ
イ装置19に出力する機能を備えている。
【0075】
【発明の効果】上述したように本発明の画像処理装置に
よれば、従来のアンチエイリアス処理を行う際に問題と
なっていたポリゴンの共通辺上における混合処理を工夫
することにより、アンチエイリアス処理による描画品質
を改善することができる。また、その際に追加されるハ
ードウェアリソースは、オーバーサンプリング手法等の
他の手段に比べて比較的少なく済む。
よれば、従来のアンチエイリアス処理を行う際に問題と
なっていたポリゴンの共通辺上における混合処理を工夫
することにより、アンチエイリアス処理による描画品質
を改善することができる。また、その際に追加されるハ
ードウェアリソースは、オーバーサンプリング手法等の
他の手段に比べて比較的少なく済む。
【図1】本発明の第1の実施形態に係る画像処理装置の
一例を示すブロック図。
一例を示すブロック図。
【図2】図1中のポリゴン被覆率算出ブロックで生成す
るポリゴン被覆率Cov を説明するために示す図。
るポリゴン被覆率Cov を説明するために示す図。
【図3】本発明の第2の実施形態に係る画像処理装置の
一例を示を示すブロック図。
一例を示を示すブロック図。
【図4】図3中のポリゴン被覆率算出ブロックで生成す
る被覆率Cov を説明するために示す図。
る被覆率Cov を説明するために示す図。
【図5】図3中の画像処理装置において深度値と識別ID
を同時にアクセスするために深度値を24ビット長とし
た場合のカラム構成を示すフォーマット。
を同時にアクセスするために深度値を24ビット長とし
た場合のカラム構成を示すフォーマット。
【図6】図3中の画像処理装置のメモリ制御ブロックに
よる画像メモリ更新処理の一例を示すフローチャート。
よる画像メモリ更新処理の一例を示すフローチャート。
【図7】第2の実施形態の画像処理装置を用いて2つの
トライアングルAとBを順に描画する際におけるトライ
アングルAの描画動作を説明するために示す図。
トライアングルAとBを順に描画する際におけるトライ
アングルAの描画動作を説明するために示す図。
【図8】第2の実施形態の画像処理装置を用いて2つの
トライアングルAとBを順に描画する際におけるトライ
アングルBの描画動作を説明するために示す図。
トライアングルAとBを順に描画する際におけるトライ
アングルBの描画動作を説明するために示す図。
1…CPU
2…画像処理部
3…内部画素補間ブロック
4…座標生成ブロック
5…カラー値生成ブロック
6…ポリゴン被覆率算出ブロック
7…識別ID生成ブロック
8…メモリ制御ブロック
9…アドレス生成ブロック
10…カラー混合ブロック
11…識別ID比較ブロック
12…画像メモリ
13…第1のカラーバッファ
14…第2のカラーバッファ
15…識別IDバッファ
16…ディスプレイ制御装置
17…ディスプレイ装置。
Claims (12)
- 【請求項1】 ポリゴンを構成する画素のデータを格納
するために設けられ、カラー値格納用の第1のカラーバ
ッファおよび第2のカラーバッファならびに識別ID格納
用の識別ID格納バッファを含んだ画像メモリと、 各画素に対してポリゴンのエッジ上に存在しているかど
うかを識別するための識別IDを付与する識別ID付与手段
と、 前記画素毎の識別IDを前記識別ID格納バッファに格納す
る識別ID格納手段と、 前記各画素のカラー値、ポリゴン被覆率および識別IDを
受け取り、画素のカラー値とその画素に対応する前記第
2のカラーバッファ上のアドレスに格納されたカラー値
に基づいて、これらを画素のポリゴン被覆率に応じて混
合して最終的なカラー値を決定して前記第1のカラーバ
ッファに格納する際、ポリゴンを構成する画素がエッジ
上に存在している場合には、その画素に対応する前記識
別ID格納バッファ上のアドレスに格納されている識別ID
を読み出して識別IDを比較し、識別IDが一致した場合に
は前記第1のカラーバッファに格納するカラー値または
前記ポリゴンのカラー値を前記第2のカラーバッファに
格納し、前記識別IDが一致しなかった場合には前記ポリ
ゴンのカラー値を前記第2のカラーバッファに格納する
カラー値格納手段とを具備することを特徴とする画像処
理装置。 - 【請求項2】 前記ポリゴンの頂点データを受け取り、
ポリゴンを構成する各画素の座標、カラー値およびポリ
ゴン被覆率を生成する手段と、 前記座標から各画素データを格納すべき前記画像メモリ
の各バッファにおける格納先アドレスを計算して前記画
像メモリにアクセスすることを可能にするアドレス生成
手段とをさらに具備することを特徴とする請求項1記載
の画像処理装置。 - 【請求項3】 ポリゴンを構成する画素のデータを格納
するために設けられ、カラー値格納用の第1のカラーバ
ッファおよび第2のカラーバッファならびに深度値格納
用の深度値バッファを含んだ画像メモリと、 前記画素の深度値を受け取り、その画素に対応する前記
深度値バッファ上のアドレスに格納されている深度値を
読み出し、この2つの深度値の大小を比較する深度値比
較手段と、 前記深度比較の結果に基づいて前記第1のカラーバッフ
ァの更新を行うか否かを判定し、各画素のカラー値およ
びポリゴン被覆率を受け取り、画素のカラー値とその画
素に対応する前記第2のカラーバッファ上のアドレスに
格納されたカラー値に基づいて、これらを画素のポリゴ
ン被覆率に応じて混合して最終的なカラー値を決定して
前記第1のカラーバッファに格納するカラー値格納手段
とを具備することを特徴とする画像処理装置。 - 【請求項4】 前記ポリゴンの頂点データを受け取り、
ポリゴンを構成する各画素の座標、カラー値、深度値お
よびポリゴン被覆率を生成する手段と、 前記座標に基づいて画素データを格納すべき前記画像メ
モリの各バッファにおける格納先アドレスを計算して前
記画像メモリにアクセスすることを可能にするアドレス
生成手段をさらに具備することを特徴とする請求項3記
載の画像処理装置。 - 【請求項5】 前記カラー値格納手段は、 前記画素の深度値がその画素に対応する前記深度値バッ
ファ上のアドレスに格納された深度値よりも視点に近い
値であった場合に前記第1のカラーバッファを更新し、
重なり合う画素の中で最も視点に近い画素の深度値を前
記深度バッファに格納し、重なり合うポリゴンの中で最
も視点に近い画素のカラー値または前記第1のカラーバ
ッファに格納するカラー値を前記第2のカラーバッファ
に格納することを特徴とする請求項3記載の画像処理装
置。 - 【請求項6】 前記各画素に対してポリゴンのエッジ上
に存在しているかどうかを識別するための識別IDを付与
する識別ID付与手段と、 前記識別ID格納用の識別ID格納バッファと、 前記画素毎の識別IDを前記識別ID格納バッファに格納す
る識別ID格納手段とをさらに具備し、 前記カラー値格納手段は、前記深度比較の結果および前
記識別IDに基づいて、前記第1のカラーバッファの更新
を行うか否かを判定することを特徴とする請求項3記載
の画像処理装置。 - 【請求項7】 前記カラー値格納手段は、 前記画素がエッジ上に存在している場合には、その画素
に対応する前記識別ID格納バッファ上のアドレスに格納
されている識別IDを参照し、該識別IDが一致した場合に
は前記第1のカラーバッファに格納するカラー値または
前記ポリゴンのカラー値を前記第2のカラーバッファに
格納し、前記識別IDが一致しなかった場合には前記ポリ
ゴンのカラー値を前記第2のカラーバッファに格納する
ことを特徴とする請求項6記載の画像処理装置。 - 【請求項8】 前記画素の深度データと前記識別IDを同
時にアクセスすることが可能であることを特徴とする請
求項6または7記載の画像処理装置。 - 【請求項9】 前記カラー値格納手段は、 前記ポリゴンを構成する画素の識別IDとその画素に対応
する前記識別ID格納バッファ上のアドレスに格納された
識別IDが共にポリゴンエッジ上にあることを示す値であ
り、かつ、一致するか否かを比較し、 前記深度比較の結果および前記識別ID比較の結果に基づ
いて、前記第1のカラーバッファの更新を行うか否かを
判定することを特徴とする請求項8記載の画像処理装
置。 - 【請求項10】 前記識別ID付与手段は、 前記ポリゴンまたは複数のポリゴン群によって構成され
るオブジェクト毎に前記識別IDを可変とすることを特徴
とする請求項1または6記載の画像処理装置。 - 【請求項11】 前記識別ID付与手段は、 前記ポリゴンを構成する各画素に対してポリゴンのエッ
ジ上に存在しているかどうかを、前記ポリゴン被覆率が
100%であるか否かによって判定することを特徴とする請
求項1または6記載の画像処理装置。 - 【請求項12】 前記第1のカラーバッファに格納され
ている画素のカラーデータを読み出し、これに基づいて
ディスプレイ装置に表示するために必要なカラー値およ
び同期信号を生成するディスプレイ制御装置をさらに具
備することを特徴とする請求項1乃至11のいずれか1
項に記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002129975A JP2003323632A (ja) | 2002-05-01 | 2002-05-01 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002129975A JP2003323632A (ja) | 2002-05-01 | 2002-05-01 | 画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003323632A true JP2003323632A (ja) | 2003-11-14 |
Family
ID=29543218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002129975A Pending JP2003323632A (ja) | 2002-05-01 | 2002-05-01 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003323632A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008090673A (ja) * | 2006-10-03 | 2008-04-17 | Mitsubishi Electric Corp | キャッシュメモリ制御装置 |
WO2014188590A1 (ja) * | 2013-05-24 | 2014-11-27 | 三菱電機株式会社 | 描画処理装置及び描画処理プログラム |
-
2002
- 2002-05-01 JP JP2002129975A patent/JP2003323632A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008090673A (ja) * | 2006-10-03 | 2008-04-17 | Mitsubishi Electric Corp | キャッシュメモリ制御装置 |
WO2014188590A1 (ja) * | 2013-05-24 | 2014-11-27 | 三菱電機株式会社 | 描画処理装置及び描画処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6642928B1 (en) | Multi-processor graphics accelerator | |
US7570266B1 (en) | Multiple data buffers for processing graphics data | |
US6961065B2 (en) | Image processor, components thereof, and rendering method | |
US7609273B1 (en) | Pixel load instruction for a programmable graphics processor | |
US8823705B2 (en) | Image generating apparatus and image generating method for generating images by rendering a polygon | |
JPH0863608A (ja) | コンピュータ・グラフィック・システム及びフレーム・バッファ使用方法 | |
US6985151B1 (en) | Shader pixel storage in a graphics memory | |
GB2496394A (en) | Jagged edge aliasing removal using multisample anti-aliasing (MSAA) with reduced data storing for pixel samples wholly within primitives | |
JPH11259671A (ja) | 画像表示方法及びそれを実行する画像表示装置 | |
US20050225557A1 (en) | Method and apparatus for reading texture data from a cache | |
US7616200B1 (en) | System for reducing aliasing on a display device | |
JP2527826B2 (ja) | コンピュ―タグラフィックシステムにおいて図形を描く方法 | |
JPH03138783A (ja) | 陰面消去回路 | |
JP2001022948A (ja) | 画像処理装置および画像処理方法、並びに記録媒体 | |
JP2003323632A (ja) | 画像処理装置 | |
US7508397B1 (en) | Rendering of disjoint and overlapping blits | |
US7256796B1 (en) | Per-fragment control for writing an output buffer | |
US7372466B2 (en) | Image processing apparatus and method of same | |
JP2005346605A (ja) | アンチエイリアス描画方法およびこれを用いた描画装置 | |
US8576219B2 (en) | Linear interpolation of triangles using digital differential analysis | |
US5903280A (en) | Image display apparatus that reduces necessary memory capacity for operation | |
US6624820B2 (en) | Graphic processing method for determining representative texture data for a plurality of pixels and apparatus for same | |
JP2899838B2 (ja) | 記憶装置 | |
JP3872056B2 (ja) | 描画方法 | |
JPH0544063B2 (ja) |