(57)【要約】【課題】縦横に拡大した画像情報をメモリに格納することなく効率的にアンチエイリアス処理を実行可能な画像処理装置を提供する。【解決手段】画像処理装置は、補間位置に隣接するある画素の奥行きと該画素が含まれる図形の端までの距離とに基づいて補間位置における奥行きと図形の端までの距離とを求める処理を補間位置に隣接する複数の画素のそれぞれに対して実行することにより、補間位置における複数の奥行きと複数の距離とを求める補間部と、複数の画素の色及び補間部が求めた補間位置における複数の奥行きと複数の距離とに基づいて、補間位置における色を決定する画素色決定部とを含む。【選択図】図１
2011028641.tif 000002
【特許請求の範囲】
【請求項１】
補間位置に隣接するある画素の奥行きと該画素が含まれる図形の端までの距離とに基づいて前記補間位置における奥行きと前記図形の端までの距離とを求める処理を前記補間位置に隣接する複数の画素のそれぞれに対して実行することにより、前記補間位置における複数の奥行きと複数の距離とを求める補間部と、
前記複数の画素の色及び前記補間部が求めた前記補間位置における前記複数の奥行きと前記複数の距離とに基づいて、前記補間位置における色を決定する画素色決定部と
を含むことを特徴とする画像処理装置。
【請求項２】
1つの着目画素の位置に隣接する複数の補間位置について前記画素色決定部が決定した色と前記1つの着目画素の色とを混合することにより、前記1つの着目画素の新たな色を求める画素色混合部を更に含むことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記画素色決定部は、前記複数の距離が全て負の値の場合には前記複数の距離の比に応じて前記複数の画素の色を合成し、前記複数の距離が全て負の値である以外の場合には、前記複数の距離のうちで負の値以外のものに対応する前記複数の奥行きのうちで最も小さいものを求め、前記複数の画素のうちで該最も小さい奥行きに対応する画素の色を前記補間位置における色とすることを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記補間部が求めた前記補間位置における前記複数の奥行きと前記複数の距離とを前記複数の画素間で比較する比較部を更に含み、前記画素色決定部は、前記比較部による複数の奥行きの比較結果と複数の距離の比較結果と、前記複数の画素の色とに基づいて、前記補間位置における色を決定することを特徴とする請求項１記載の画像処理装置。
【請求項５】
補間位置に隣接するある画素の奥行きと該画素が含まれる図形の端までの距離とに基づいて前記補間位置における奥行きと前記図形の端までの距離とを求める処理を前記補間位置に隣接する複数の画素のそれぞれに対して実行することにより、前記補間位置における複数の奥行きと複数の距離とを求め、
前記複数の奥行きと、前記複数の距離と、前記複数の画素の色とに基づいて、前記補間位置における補間色を決定し、
1つの着目画素の位置に隣接する複数の補間位置について決定した前記補間色と前記1つの着目画素の色とを混合することにより、前記1つの着目画素の新たな色を求める
各段階を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願開示は、一般に画像処理装置及び画像処理方法に関し、詳しくは３次元グラフィクスにおけるアンチエイリアス処理を行なう画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
３次元グラフィックス処理では、図形周辺のギザギザ感（ジャギー）を取り除く技術としてアンチエイリアス処理が用いられている。アンチエイリアス処理のための一般的な方式として、フルシーンアンチエイリアスとマルチサンプルアンチエイリアスとがある。フルシーンアンチエイリアスは、所望の画像の縦横ｎ倍の大きさの拡大画像を描画し、その拡大画像を１／ｎに縮小させる方式である。この方式ではn×ｎ倍の拡大画像の描画処理を行なうので処理の効率が悪い。このフルシーンアンチエイリアスに対して処理量を低減させた方式がマルチサンプルアンチエイリアスである。
【０００３】
マルチサンプルアンチエイリアスでは、奥行き情報と内外判定データだけを縦横ｎ倍し、色情報についてはn×ｎの画素に対して同一値を用いることにより、演算量を削減させている。しかし、このマルチサンプルアンチエイリアスを用いた場合でも、グラフィックス描画にn×ｎ倍のメモリアクセスが必要となるとともに、１／ｎに縮小させる処理のために更なるメモリアクセスが必要となる。この結果、大きなバス帯域が必要となってしまう。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２５１５００号公報
【特許文献２】特開２００５−３８４１５号公報
【特許文献３】特許第２６８２１９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以上を鑑みると、縦横に拡大した画像情報をメモリに格納することなく効率的にアンチエイリアス処理を実行可能な画像処理装置が望まれる。
【課題を解決するための手段】
【０００６】
画像処理装置は、補間位置に隣接するある画素の奥行きと該画素が含まれる図形の端までの距離とに基づいて前記補間位置における奥行きと前記図形の端までの距離とを求める処理を前記補間位置に隣接する複数の画素のそれぞれに対して実行することにより、前記補間位置における複数の奥行きと複数の距離とを求める補間部と、前記複数の画素の色及び前記補間部が求めた前記補間位置における前記複数の奥行きと前記複数の距離とに基づいて、前記補間位置における色を決定する画素色決定部とを含むことを特徴とする。
【０００７】
画像処理方法は、補間位置に隣接するある画素の奥行きと該画素が含まれる図形の端までの距離とに基づいて前記補間位置における奥行きと前記図形の端までの距離とを求める処理を前記補間位置に隣接する複数の画素のそれぞれに対して実行することにより、前記補間位置における複数の奥行きと複数の距離とを求め、前記複数の奥行きと、前記複数の距離と、前記複数の画素の色とに基づいて、前記補間位置における補間色を決定し、1つの着目画素の位置に隣接する複数の補間位置について決定した前記補間色と前記1つの着目画素の色とを混合することにより、前記1つの着目画素の新たな色を求める各段階を含むことを特徴とする。
【発明の効果】
【０００８】
本願開示の少なくとも１つの実施例によれば、複数の画素の色と、補間部が求めた補間位置における複数の奥行きと複数の距離とに基づいて、補間位置における補間色を決定する。従って、縦横に拡大した画像情報をメモリに格納することなく、効率的に補間位置の画素色を決定して、この画素色を用いたアンチエイリアス処理を実行することができる。
【図面の簡単な説明】
【０００９】
【図１】画像処理システムの全体構成の一例を示す図である。
【図２】グラフィック描画の対象となる三角形を模式的に示す図である。
【図３】着目画素についてその画素が含まれる図形の端までの距離を模式的に示す図である。
【図４】画素についての図形の端までの距離のｘ方向の増分について説明するための図である。
【図５】画素についての図形の端までの距離のｙ方向の増分について説明するための図である。
【図６】図１のフレームバッファに格納するデータのデータ構造の一例を示す図である。
【図７】奥行き・距離補間部の処理を説明するための図である。
【図８】奥行き・距離比較部及び画素色決定部の処理を説明するための図である。
【図９】奥行き・距離補間部、奥行き・距離比較部、及び画素色決定部の処理を説明するための別の例を示す図である。
【図１０】奥行き・距離比較部及び画素色決定部の処理を説明するための更に別の例を示す図である。
【図１１】画素ブレンド部の処理を説明するための図である。
【図１２】図７に示す補間位置における距離値の意味を説明するための図である。
【図１３】図９に示す補間位置における距離値の意味を説明するための図である。
【図１４】図１０に示す補間位置における距離値の意味を説明するための図である。
【図１５】アンチエイリアス回路によるアンチエイリアス処理の流れを示すフローチャートである。
【図１６】図１５で実行される補間色決定処理の流れを示すフローチャートである。
【図１７】アンチエイリアス回路のより具体的な回路構成の一例を示す図である。
【図１８】画素情報保持ＲＡＭの読み書き処理について説明するための図である。
【発明を実施するための形態】
【００１０】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【００１１】
図１は、画像処理システムの全体構成の一例を示す図である。図１の画像処理システムは、グラフィクス処理回路１０、アンチエイリアス回路１１、フレームバッファ１２、及びディスプレイ装置１３を含む。グラフィクス処理回路１０は、頂点バッファ２１、座標変換・ライティング処理部２２、頂点後処理部２３、ラスタライズ処理部２４、画素処理部２５、画素後処理部２６、メモリアクセス部２７、テクスチャユニット２８、及び距離情報算出部２９を含む。アンチエイリアス回路１１は、奥行き・距離補間部３１、奥行き・距離比較部３２、画素色決定部３３、及び画素ブレンド部３４を含む。
【００１２】
グラフィクス処理回路１０は、３次元データとして与えられた立体オブジェクトを所定の視点から見たときに見えるべき２次元画像を計算し、その画素毎のデータをフレームバッファ１２に書き込むことにより２次元画像データを生成する。このフレームバッファ１２に格納された２次元画像データは、アンチエイリアス回路１１により処理される。アンチエイリアス回路１１により処理されフレームバッファ１２に書き込まれた２次元画像データは、その後、描画データとして読出されディスプレイ装置１３に表示される。
【００１３】
一般に立体オブジェクトは、多数のポリゴンの集合体として表現されている。この際、最も単純なポリゴンとして三角形を用いるのが一般的である。描画する対象となる立体オブジェクトの３次元データは、三角形の各頂点の座標を示す頂点座標データや各頂点の色を示す頂点カラーデータ等を含む頂点データとして与えられる。グラフィクス処理回路１０の頂点バッファ２１には、この頂点データが格納されている。座標変換・ライティング処理部２２は、頂点バッファ２１から読み込んだ立体オブジェクトの３次元データに基づいて、そのオブジェクトの位置・姿勢に応じて拡大・回転等の幾何学的な演算処理を行う。座標変換・ライティング処理部２２は更に、ポリゴン単位（三角形単位）での座標変換を実行するとともに、光源計算等の演算処理を実行する。これら幾何学的な演算処理、座標変換、及び光源処理等により、所望の視点から見たオブジェクトの２次元画像を構成する複数の三角形のデータを計算する。頂点後処理部２３は、計算された頂点座標が表示画面枠からはみ出すか否かを判定し、はみ出した場合には表示画面内に収まるように三角形を分割する。頂点後処理部２３は更に、頂点データから描画処理に必要な増分値の計算を行なう。ここで増分値とは、例えば三角形の辺に沿ったＸ座標及び各画像パラメータの傾き（変化分）のことである。
【００１４】
ラスタライズ処理部２４及び画素処理部２５は、オブジェクトを構成する各面の各画素を塗りつぶすラスタライズ処理により、２次元の描画データを生成する。ラスタライズ処理では、各三角形の頂点毎の画像パラメータ及び上記の増分値に基づいて、三角形内部に含まれる各スパンの各画素の画像パラメータを補間等により求める。画像パラメータには、例えばＲＧＢ各色の輝度、奥行き方向の距離を表すＺ値、テクスチャ表示のためのテクスチャ座標値、アルファブレンディングのためのアルファ値等が含まれる。画素後処理部２６は、ラスタライズ処理で生成された各画素のテクスチャ座標を用いて、テクスチャユニット２８を介してフレームバッファ１２にアクセスし、テクスチャデータを読み出す。画素後処理部２６は、読み出されたテクスチャデータとカラーデータのブレンド処理等を行なう。
【００１５】
距離情報算出部２９は、各画素毎にその画素が含まれる図形（三角形）の端までの距離を計算し、更にＸ方向及びＹ方向の各方向における一画素分の位置変化に対応する距離の増分値を計算する。メモリアクセス部２７は、書込み対象のスパンの各画素について、画素色、奥行き（デプス）、奥行きの傾き（奥行き増分値）、距離、及び距離の傾き（距離の増分値）をフレームバッファ１２に書き込む。この際、メモリアクセス部２７は、書込み対象のスパンの各画素のメモリアドレスをアクセスし、フレームバッファ１２から画像データを読み出す。フレームバッファ１２から読み出した画素データは、生成された各スパンの画素データと合成される。この際、例えばＺ値に基づいて隠線処理を行なったり、アルファ値に基づいてアルファブレンディング等を実行したりする。
【００１６】
なお画素色データ及び奥行きデータについては、通常のラスタライズ処理により得ることができる。奥行きの傾きのデータは、ｘ方向及びｙ方向の各方向における一画素分の位置変化に対応する奥行きの増分値を示し、ラスタライズ処理においては各スパン上の画素の奥行きを求める際に使用するデータである。従って、ラスタライズ処理における各画素の処理を実行する画素処理部２５からこの奥行きの傾きのデータを出力するようにすればよい。距離データ及び距離の傾きデータについては、前述のように距離情報算出部２９により算出すればよい。距離情報算出部２９による距離データ及び距離の傾きデータの算出について以下に説明する。
【００１７】
図２は、グラフィック描画の対象となる三角形を模式的に示す図である。三角形は３本の直線Ｅ０（ｘ，ｙ）、Ｅ１（ｘ，ｙ）、Ｅ２（ｘ，ｙ）により構成される。直線Ｅ０（ｘ，ｙ）は、Ｅ０（ｘ，ｙ）＝ａ０ｘ＋ｂ０ｙ＋ｃ０＝０と表すことができる。直線Ｅ１（ｘ，ｙ）は、Ｅ１（ｘ，ｙ）＝ａ１ｘ＋ｂ１ｙ＋ｃ１＝０と表すことができる。直線Ｅ２（ｘ，ｙ）は、Ｅ２（ｘ，ｙ）＝ａ２ｘ＋ｂ２ｙ＋ｃ２＝０と表すことができる。これらの直線の式を利用して、三角形の内部領域は、Ｅ０(ｘ，ｙ)＞０且つＥ１(ｘ，ｙ)＞０且つＥ２(ｘ，ｙ)＞０を満たす点（ｘ，ｙ）の集合として定義することができる。
【００１８】
図３は、着目画素についてその画素が含まれる図形の端までの距離を模式的に示す図である。座標（ｘ，ｙ）の点３６からＥ０（ｘ，ｙ）で表わされる辺３７までの距離ｄ０（ｘ，ｙ）は、
ｄ０（ｘ，ｙ）＝Ｅ０（ｘ，ｙ）／Ｄ０
となる。ここでＤ０＝（ａ０２＋ｂ０２）１／２である。同様にして、Ｅ１（ｘ，ｙ）で表わされる辺３８までの距離ｄ１（ｘ，ｙ）は、
ｄ１（ｘ，ｙ）＝Ｅ１（ｘ，ｙ）／Ｄ１
となる。ここでＤ１＝（ａ１２＋ｂ１２）１／２である。また更に、Ｅ２（ｘ，ｙ）で表わされる辺３９までの距離ｄ２（ｘ，ｙ）は、
ｄ２（ｘ，ｙ）＝Ｅ２（ｘ，ｙ）／Ｄ２
となる。ここでＤ２＝（ａ２２＋ｂ２２）１／２である。このようにして求められたｄ０（ｘ，ｙ）、ｄ１（ｘ，ｙ）、及びｄ２（ｘ，ｙ）が、画素３６についての図形の端までの距離である。
【００１９】
図４は、画素３６についての図形の端までの距離ｄ０（ｘ，ｙ）のｘ方向の増分について説明するための図である。図４において、画素３６についての図形の端までの距離がｄ０（ｘ，ｙ）であり、画素３６からｘ軸方向に＋１画素移動した位置における画素４０での距離がｄ０（ｘ＋１，ｙ）である。このとき、ｘ方向における一画素分の位置変化に対応する距離の増分値ｄ（ｄ０）ｄｘは、ｄ０（ｘ＋１，ｙ）−ｄ０（ｘ，ｙ）として求められる。座標（ｘ＋１，ｙ）にある画素４０での距離ｄ０（ｘ＋１，ｙ）は、
ｄ０（ｘ＋１，ｙ）＝Ｅ０（ｘ＋１，ｙ）／Ｄ０
＝｛Ｅ０（ｘ，ｙ）＋ａ０｝／Ｄ０
＝ｄ０（ｘ，ｙ）＋ａ０／Ｄ０
となる。従って、距離ｄ０（ｘ，ｙ）のｘ方向の増分値はａ０／Ｄ０である。
【００２０】
図５は、画素３６についての図形の端までの距離ｄ０（ｘ，ｙ）のｙ方向の増分について説明するための図である。図５において、画素３６についての図形の端までの距離がｄ０（ｘ，ｙ）であり、画素３６からｙ軸方向に＋１画素移動した位置における画素４１での距離がｄ０（ｘ，ｙ＋１）である。このとき、ｙ方向における一画素分の位置変化に対応する距離の増分値ｄ（ｄ０）ｄｙは、ｄ０（ｘ，ｙ＋１）−ｄ０（ｘ，ｙ）として求められる。座標（ｘ，ｙ＋１）にある画素４１での距離ｄ０（ｘ，ｙ＋１）は、
ｄ１（ｘ，ｙ＋１）＝ｄ０（ｘ，ｙ）＋ｂ０／Ｄ０
となる。従って、距離ｄ０（ｘ，ｙ）のｙ方向の増分値はｂ０／Ｄ０である。
【００２１】
同様にして、距離ｄ１（ｘ，ｙ）のｘ方向の増分値はａ１／Ｄ１であり、ｙ方向の増分値はｂ１／Ｄ１である。また距離ｄ２（ｘ，ｙ）のｘ方向の増分値はａ２／Ｄ２であり、ｙ方向の増分値はｂ２／Ｄ２である。
【００２２】
図６は、図１のフレームバッファ１２に格納するデータのデータ構造の一例を示す図である。図６の例では、画素色データとして３２ビットデータをフレームバッファ１２に格納している。また奥行き（デプス値）データとして同様に３２ビットデータをフレームバッファ１２に格納している。奥行きの傾き（デプス値の増分）については、ｘ方向の増分データとして８ビットデータを、ｙ方向の増分データとして８ビットデータを格納している。また距離の増分については、距離ｄ０、ｄ１、及びｄ２の各々に対して、ｘ方向の増分データとして８ビットデータを、ｙ方向の増分データとして８ビットデータを格納している。更に、距離ｄ０、ｄ１、及びｄ２の各々に対して、１０ビットデータを格納している。このように、画素色と奥行きとに関しては４バイト精度としながら、奥行き及び距離の増分値に関しては１バイト精度とし、更に距離に関しては１０ビット精度とすることで、１画素あたりの総ビット数を１６０ビットにするができる。実用上は、このように奥行き及び距離の増分値データ並びに距離データについて精度を落としても十分に品質のよいアンチエイリアス処理を実現することができる。
【００２３】
上記のように１画素辺り１６０ビット構成としても、この１６０ビットのデータを１画素について一度書込み及び読み出しをすればよい。それに対して２×２倍のマルチサンプルアンチエイリアスでは、それぞれ３２ビットの画素色データ及び奥行きデータの４倍の量のデータについて、各画素毎に書込み及び読出しをすることになる。従って、２×２倍のマルチサンプルアンチエイリアスでは、１画素について６４×４で２５６ビットのデータの読み書きが必要になる。このように、図６に示すようなデータにより以下に説明するアンチエイリアス処理を実行することにより、大幅に１画素あたりのビット数及びメモリアクセス量を削減することができる。
【００２４】
図１のアンチエイリアス回路１１において、奥行き・距離補間部３１は、補間位置に隣接するある画素の奥行きとその画素が含まれる図形の端までの距離とに基づいて、補間位置における奥行きと前記図形の端までの距離とを求める処理を実行する。奥行き・距離補間部３１は、補間位置に隣接する複数の画素のそれぞれに対して上記の処理を実行することにより、補間位置における複数の奥行きと複数の距離とを求める。奥行き・距離比較部３２は、奥行き・距離補間部３１が求めた補間位置における複数の奥行きと複数の距離とを複数の画素間で比較する。画素色決定部３３は、複数の画素の色及び奥行き・距離補間部３１が求めた補間位置における複数の奥行きと複数の距離とに基づいて、補間位置における色を決定する。この際、画素色決定部３３は、奥行き・距離比較部３２による複数の奥行きの比較結果と複数の距離の比較結果と、複数の画素の色とに基づいて、補間位置における色を決定してよい。また画素ブレンド部３４は、1つの着目画素の位置に隣接する複数の補間位置について画素色決定部３３が決定した色と、上記1つの着目画素の色とを混合することにより、当該1つの着目画素の新たな色を求める。このようにして求めた新たな色（色の輝度データ）が、エイリアス低減後の画素データとなる。
【００２５】
図７は、奥行き・距離補間部３１の処理を説明するための図である。（ａ）に画素Ａ乃至Ｄが示される。これら画素Ａ乃至Ｄは、グラフィクス処理回路１０のテクスチャユニット２８がフレームバッファ１２に書き込んだ画素である。（ａ）に示されるように、各画素Ａ乃至Ｄの間に補間位置５１を想定する。次に（ｂ）に示されるように、奥行き・距離補間部３１は、座標（ｘ，ｙ）にある画素Ａの距離（画素Ａから画素Ａが含まれる図形の端までの距離）に基づいて、画素Ａに隣接する補間位置における距離を求める。具体的には、画素Ａの距離ｄ０（ｘ，ｙ）、ｄ１（ｘ，ｙ）、ｄ２（ｘ，ｙ）のうちで最も小さい値を画素Ａの距離値とし、ｄ０（ｘ＋０．５，ｙ）、ｄ１（ｘ＋０．５，ｙ）、ｄ２（ｘ＋０．５，ｙ）のうち最も小さい値を補間位置（ｘ＋０．５，ｙ）の距離値とする。ここでｄ０（ｘ＋０．５，ｙ）、ｄ１（ｘ＋０．５，ｙ）、ｄ２（ｘ＋０．５，ｙ）は、それぞれ以下のようにして求めることができる。
【００２６】
ｄ０（ｘ＋０．５，ｙ）＝ｄ０（ｘ，ｙ）＋ａ０／２Ｄ０
ｄ１（ｘ＋０．５，ｙ）＝ｄ１（ｘ，ｙ）＋ａ１／２Ｄ１
ｄ２（ｘ＋０．５，ｙ）＝ｄ２（ｘ，ｙ）＋ａ２／２Ｄ２
図７（ｂ）に示す例では、画素Ａから求めた補間位置（ｘ＋０．５，ｙ）の距離値は０．５である。同様にして、ｄ０（ｘ，ｙ＋０．５）、ｄ１（ｘ，ｙ＋０．５）、ｄ２（ｘ，ｙ＋０．５）のうち最も小さい値を補間位置（ｘ，ｙ＋０．５）の距離値とする。図７（ｂ）に示す例では、画素Ａから求めた補間位置（ｘ，ｙ＋０．５）の距離値は０．３である。更に、ｄ０（ｘ＋０．５，ｙ＋０．５）、ｄ１（ｘ＋０．５，ｙ＋０．５）、ｄ２（ｘ＋０．５，ｙ＋０．５）のうち最も小さい値を補間位置（ｘ＋０．５，ｙ＋０．５）の距離値とする。図７（ｂ）に示す例では、画素Ａから求めた補間位置（ｘ＋０．５，ｙ＋０．５）の距離値は０．７である。
【００２７】
更に図７（ｃ）に示されるように、奥行き・距離補間部３１は、座標（ｘ，ｙ＋１）にある画素Ｂの距離（画素Ｂから画素Ｂが含まれる図形の端までの距離）に基づいて、画素Ｂに隣接する補間位置における距離を求める。この例では、画素Ｂから求めた補間位置（ｘ＋０．５，ｙ＋１）の距離値は０．１である。また画素Ｂから求めた補間位置（ｘ，ｙ＋０．５）の距離値は−０．１である。更に画素Ｂから求めた補間位置（ｘ＋０．５，ｙ＋０．５）の距離値は−０．２である。
【００２８】
図１２は、図７に示す画素Ａと画素Ｂの間の補間位置における距離値の意味を説明するための図である。図１２には、図７に示す画素Ａ乃至Ｄが示される。図１２に示される画素Ａと画素Ｂとの間の補間位置５１において、画素Ａから求めた距離は０．３である。これは、画素Ａが含まれる図形である三角形６１の端までの補間位置５１からの距離が０．３であることを意味する。また図１２に示される画素Ａと画素Ｂとの間の補間位置５１において、画素Ｂから求めた距離は−０．１である。これは、画素Ｂが含まれる図形である三角形６２の端までの補間位置５１からの距離が−０．１であることを意味する。ここで距離が正の値である場合には、当該補間位置が対応する図形内に位置することを示し、距離が負の値である場合には、当該補間位置が対応する図形外に位置することを示す。即ち、補間位置５１は、三角形６１の内部にあるが、三角形６２の外部にある。この場合、補間位置５１の内挿色（補間色）としては、三角形６１の内部の画素の色とすることが好ましい。
【００２９】
図８は、奥行き・距離比較部３２及び画素色決定部３３の処理を説明するための図である。図８（ａ）に示されるように、画素Ａと画素Ｂとの間の補間位置（仮想画素Ｅとして示す）において、画素Ａから求めた距離は０．３であり、画素Ｂから求めた距離は−０．１である。奥行き・距離比較部３２は、これら複数の距離（０．３及び−０．１）を比較する。この場合、小さい方の距離（−０．１）が負の値であるので、図１２で説明したように、補間位置の仮想画素Ｅの補間色を求めるにあたり、この負の距離に対応する画素Ｂの画素色は考慮しない。従って画素色決定部３３は、（ｂ）に示すように、仮想画素Ｅの色として、正の距離に対応する画素Ａの画素色と同一色を用いる。
【００３０】
図９は、奥行き・距離補間部３１、奥行き・距離比較部３２、及び画素色決定部３３の処理を説明するための別の例を示す図である。図９の例では、（ａ）に示されるように、画素Ａと画素Ｂとの間の補間位置（仮想画素Ｅとして示す）において、画素Ａから求めた距離は０．３であり、画素Ｂから求めた距離は０．２である。
【００３１】
図１３は、図９に示す画素Ａと画素Ｂの間の補間位置における距離値の意味を説明するための図である。図１３には、図９に示す画素Ａ乃至Ｄが示される。図１３に示される画素Ａと画素Ｂとの間の補間位置５１において、画素Ａから求めた距離は０．３である。これは、画素Ａが含まれる図形である三角形６１の端までの補間位置５１からの距離が０．３であることを意味する。また図１３に示される画素Ａと画素Ｂとの間の補間位置５１において、画素Ｂから求めた距離は０．２である。これは、画素Ｂが含まれる図形である三角形６３の端までの補間位置５１からの距離が０．２であることを意味する。ここで距離が正の値である場合には、当該補間位置が対応する図形内に位置することを示すので、補間位置５１は、両方の三角形６１及び６３の内部にある。このように複数の距離が正の値を有する場合、即ち補間位置が複数の図形内に含まれる場合には、補間位置の奥行き値に基づいて補間位置の補間色を決定する。具体的には、補間位置の奥行き値が小さい方に対応する三角形の方が手前にある筈なので、補間位置５１の内挿色（補間色）としては、この手前にある三角形の内部の画素の色を用いることが好ましい。
【００３２】
図９（ｂ）に示すように、奥行き・距離補間部３１は、座標（ｘ，ｙ）にある画素Ａの奥行き値に基づいて、画素Ａに隣接する補間位置における奥行きを求める。この例では、画素Ａから求めた補間位置（ｘ＋０．５，ｙ）の奥行き値は２４である。また画素Ａから求めた補間位置（ｘ，ｙ＋０．５）の奥行き値は２３である。更に画素Ａから求めた補間位置（ｘ＋０．５，ｙ＋０．５）の奥行き値は２７である。
【００３３】
更に図９（ｃ）に示すように、奥行き・距離補間部３１は、座標（ｘ，ｙ＋１）にある画素Ｂの奥行き値に基づいて、画素Ｂに隣接する補間位置における奥行きを求める。この例では、画素Ｂから求めた補間位置（ｘ＋０．５，ｙ＋１）の奥行き値は１である。また画素Ｂから求めた補間位置（ｘ，ｙ＋０．５）の奥行き値は８である。更に画素Ｂから求めた補間位置（ｘ＋０．５，ｙ＋０．５）の奥行き値は４である。
【００３４】
（ｄ）に示されるように、画素Ａと画素Ｂとの間の補間位置（仮想画素Ｅとして示す）において、画素Ａから求めた奥行き値は２３であり、画素Ｂから求めた奥行き値は８である。奥行き・距離比較部３２は、これら複数の奥行き値（２３及び８）を比較する。この場合、小さい方の奥行き値（８）に対応する画素は画素Ｂである。従って、図１２で説明したように、補間位置の仮想画素Ｅの補間色を求めるにあたり、画素Ａの画素色は考慮しない。画素色決定部３３は、（ｅ）に示すように、仮想画素Ｅの色として、小さい方の奥行き値に対応する画素Ｂの画素色と同一色を用いる。このように画素色決定部３３は、複数の距離のうちで負の値以外のものに対応する複数の奥行きのうちで最も小さいものを求め、この最も小さい奥行きに対応する画素の色を補間位置における色とする。
【００３５】
図１０は、奥行き・距離比較部３２及び画素色決定部３３の処理を説明するための更に別の例を示す図である。図１０の例では、（ａ）に示されるように、画素Ａと画素Ｂとの間の補間位置（仮想画素Ｅとして示す）において、画素Ａから求めた距離は−０．３であり、画素Ｂから求めた距離は−０．２である。
【００３６】
図１４は、図１０に示す画素Ａと画素Ｂの間の補間位置における距離値の意味を説明するための図である。図１４には、図１０に示す画素Ａ乃至Ｄが示される。図１４に示される画素Ａと画素Ｂとの間の補間位置５１において、画素Ａから求めた距離は−０．３である。これは、画素Ａが含まれる図形である三角形６４の端までの補間位置５１からの距離が−０．３であり、補間位置５１が三角形６４の外部にあることを意味する。また図１４に示される画素Ａと画素Ｂとの間の補間位置５１において、画素Ｂから求めた距離は−０．２である。これは、画素Ｂが含まれる図形である三角形６５の端までの補間位置５１からの距離が−０．２であり、補間位置５１が三角形６５の外部にあることを意味する。このように複数の距離が全て負の値を有する場合、即ち補間位置が全ての図形の外にある場合、複数の距離の比に応じて複数の画素の色を合成することにより、補間位置の補間色を決定する。
【００３７】
図１０（ａ）に示されるように、画素Ａと画素Ｂとの間の補間位置（仮想画素Ｅとして示す）において、画素Ａから求めた距離は−０．３であり、画素Ｂから求めた距離は−０．２である。奥行き・距離比較部３２は、これら複数の距離（−０．３及び−０．２）を比較して、それぞれの距離の比を求める。即ち、０．３／（０．３＋０．２）＝０．６と０．２／（０．３＋０．２）＝０．４とを求める。画素色決定部３３は、（ｂ）に示すように、仮想画素Ｅの色として、上記求めた比率０．４と０．６とで重み付けして画素Ａの画素色と画素Ｂの画素色とを混合する。（ｃ）は、画素Ａの画素色と画素Ｂの画素色とを混合して仮想画素Ｅの色が求められた様子を示す。
【００３８】
図１１は、画素ブレンド部３４の処理を説明するための図である。上記の図７乃至１０を参照して説明した手順により、仮想画素Ｅの補間色を求めることができる。更に同様にして、仮想画素Ｆの補間色及び仮想画素Ｇの補間色を求めることができる。なお仮想画素Ｇの補間色の求め方については後程説明する。図１１（ａ）は、仮想画素Ｅ乃至Ｇのそれぞれについて補間色（内挿色）を求めた様子を示す。画素ブレンド部３４は、1つの着目画素Ａの位置に隣接する複数の補間位置（仮想画素Ｅ乃至Ｇ）について画素色決定部３３が決定した色と1つの着目画素Ａの色とを混合することにより、1つの着目画素Ａの新たな色（アンチエイリアス処理後の色）を求める。例えば画素ブレンド部３４は、画素Ａの色、仮想画素Ｅの色、仮想画素Ｆの色、仮想画素Ｇの色の平均を計算することにより、画素Ａのアンチエイリアス処理後の画素値を求める。即ち各画素色がＡ，Ｅ，Ｆ，Ｇであるとして、（Ａ＋Ｅ＋Ｆ＋Ｇ）／４を計算する。図１１（ｂ）は、画素Ａのアンチエイリアス処理後の画素値Ａ’が求められた様子を示す。画素ブレンド部３４は、同様にしてフレームバッファ１２に格納されている各画素についてアンチエイリアス処理後の画素値を求めていく。
【００３９】
図１５は、アンチエイリアス回路１１によるアンチエイリアス処理の流れを示すフローチャートである。ステップＳ１において、座標値ｙを０に初期化し、ｙを１ずつインクリメントしながら、画面高さのｙ値に到達するまで以下のステップの処理をループにより繰り返す。ステップＳ２において、座標値ｘを０に初期化し、ｘを１ずつインクリメントしながら、画面横幅のｘ値に到達するまで以下のステップの処理をループにより繰り返す。即ち、ステップＳ１及びＳ２のループにより、フレームバッファ１２に格納される画像データの各画素を着目画素として読み出して、順番にアンチエイリアス処理を実行する。まずステップＳ３で、着目画素を画素Ａとして、前述のように画素Ａ及び画素Ｂに基づいて仮想画素Ｅの画素値を求める。ステップＳ４で、画素Ａ及び画素Ｃに基づいて仮想画素Ｆの画素値を求める。更にステップＳ５で、画素Ａ乃至Ｄに基づいて仮想画素Ｇの画素値を求める。ステップＳ７で、画素Ａ、Ｅ、Ｆ、Ｇの例えば平均値を求めることにより、画素Ａのアンチエイリアス処理後の画素値を求める。ステップＳ１及びＳ２で開始したループが終了すると、アンチエイリアス処理を終了する。
【００４０】
図１６は、図１５のステップＳ４乃至Ｓ６の各ステップで実行される補間色決定処理の流れを示すフローチャートである。ステップＳ１で、着目補間位置に対して求めた複数の距離値が全て負の値であるか否かを判定する。１つでも正の値がある場合には、処理はステップＳ２に進む。ステップＳ２において、負の値である距離値に対応する画素を除外する。例えば図８（ａ）に示されるように、画素Ａと画素Ｂとの間の補間位置（仮想画素Ｅ）において、画素Ａから求めた距離が０．３であり、画素Ｂから求めた距離が−０．１である場合、負の距離−０．１に対応する画素Ｂを以下の処理から除外する。また例えば、画素Ａ乃至Ｄの間の補間位置（仮想画素Ｇ）において、画素Ａから求めた距離が０．３、画素Ｂから求めた距離が−０．１、画素Ｃから求めた距離が０．２、画素Ｄから求めた距離が−０．７であるとする。この場合、負の距離−０．１に対応する画素Ｂ及び負の距離−０．７に対応する画素Ｄを以下の処理から除外する。
【００４１】
ステップＳ３において、上記の除外された画素以外の画素から求めた補間位置における奥行き値のうちで、最も小さい奥行き値を求め、その最小奥行き値に対応する画素を選択する。例えば画素Ａと画素Ｂとの間の補間位置（仮想画素Ｅ）において、画素Ａから求めた距離が０．３であり、画素Ｂから求めた距離が−０．１である場合、負の距離−０．１に対応する画素Ｂを除外し、残りのうちの最小奥行き値０．３に対応する画素Ａを選択する。また例えば、画素Ａ乃至Ｄの間の補間位置（仮想画素Ｇ）において、画素Ａから求めた距離が０．３、画素Ｂから求めた距離が−０．１、画素Ｃから求めた距離が０．２、画素Ｄから求めた距離が−０．７であるとする。この場合、負の距離−０．１に対応する画素Ｂ及び負の距離−０．７に対応する画素Ｄを除外し、残りのうちの最小奥行き値０．２に対応する画素Ｃを選択する。
【００４２】
ステップＳ４で、奥行き値が最小として選択された画素の色を補間位置の色とする。即ち、上記の画素Ａと画素Ｂとの間の補間位置（仮想画素Ｅ）の例では、画素Ａの画素色を補間位置の補間色とする。また上記の画素Ａ乃至Ｄの間の補間位置（仮想画素Ｇ）の例では、画素Ｃの画素色を補間位置の補間色とする。
【００４３】
ステップＳ１で全ての距離が負の値であると判定された場合、処理はステップＳ５に進み、複数の距離の比に応じて複数の画素の色を混合する。例えば画素Ａから求めた距離値がｄＡであり、画素Ｂから求めた距離値がｄＢである場合、画素Ａと画素Ｂとの間の仮想画素Ｅの補間色は例えば（ｄＢ×Ａ＋ｄＡ×Ｂ）／（ｄＡ＋ｄＢ）としてよい。画素Ａ、Ｂ、Ｃ、Ｄの中心に位置する仮想画素Ｇを補間する場合は、画素Ａ、Ｂ、Ｃ、Ｄから求めた距離値をそれぞれｄＡ、ｄＢ、ｄＣ、ｄＤとして、仮想画素Ｇの補間色を例えば、
【００４４】
【数１】
2011028641.tif 000003
としてよい。以上で補間色決定処理が終了する。
【００４５】
図１７は、アンチエイリアス回路１１のより具体的な回路構成の一例を示す図である。アンチエイリアス回路１１は、ラインバッファである画素情報保持ＲＡＭ７１を更に含む。例えば図７乃至１１に示すように、画素Ａのアンチエイリアス処理を行なうためには、画素Ａについての例えば図６に示すデータだけでなく、画素Ｃ乃至Ｄについても同様のデータをフレームバッファ１２から読み出す必要がある。各画素についてアンチエイリアス処理を行なう度に、その画素のデータに加えて近傍３画素のデータを読み出すとすると、メモリアクセス量が多くなってしまう。そこで画素情報保持ＲＡＭ７１として３ライン（画像の水平ライン）又はそれ以上の画素データを保持できるようにする。
【００４６】
図１８は、画素情報保持ＲＡＭ７１の読み書き処理について説明するための図である。画素情報保持ＲＡＭ７１は、少なくともラインメモリ９１乃至９３を含む。ラインメモリ９１乃至９３の各ラインメモリが、アンチエイリアス処理対象の２次元画像の１水平ライン分のデータを格納できる。まず図１８の上段に示すように、ラインメモリ９１及び９２に画像の２ラインを読み込んで、この２ライン分のデータを用いてラインメモリ９１の各画素に対するアンチエイリアス処理を実行する。例えば図７乃至１１に示した例の場合であれば、画素Ａ及び画素Ｃがラインメモリ９１に格納される画素列の一部であり、画素Ｂ及び画素Ｄがラインメモリ９２に格納される画素列の一部である。前述のアンチエイリアス処理を実行することにより、画素Ａ及び画素Ｃを含むラインメモリ９１に格納される画素列の各画素についてのアンチエイリアス処理後の画素値が求められる。このアンチエイリアス処理により求められたアンチエイリアス処理後の画素値は、画素ブレンド部３４からフレームバッファ１２に書き込まれる。ラインメモリ９１に対するアンチエイリアス処理を実行するのと並行して、次の水平ラインの画素データがフレームバッファ１２からラインメモリ９３に読み込まれる。
【００４７】
次に図１８の下段に示すように、ラインメモリ９２及び９３の２ライン分のデータを用いてラインメモリ９２の各画素に対するアンチエイリアス処理を実行する。例えば図７乃至１１に示した例の場合であれば、画素Ｂ及び画素Ｄを含むラインメモリ９２に格納される画素列の各画素についてのアンチエイリアス処理後の画素値が求められる。このアンチエイリアス処理により求められたアンチエイリアス処理後の画素値は、画素ブレンド部３４からフレームバッファ１２に書き込まれる。ラインメモリ９２に対するアンチエイリアス処理を実行するのと並行して、次の水平ラインの画素データがフレームバッファ１２からラインメモリ９１に読み込まれる。前回のアンチエイリアス処理に用いたラインメモリ９１の画素列のデータは既に不要となっているので、フレームバッファ１２から読み出した画素データによりラインメモリ９１を上書きして問題ない。
【００４８】
以上のように、小容量で高速の画素情報保持ＲＡＭ７１をアンチエイリアス回路１１に設け、各画素のデータをフレームバッファ１２から画素情報保持ＲＡＭ７１に１回だけ読出し、アンチエイリアス処理においては画素情報保持ＲＡＭ７１の画素データを参照する。このような構成とすることで、フレームバッファ１２からの画素データの読出しは、各画素について１回のみとすることができ、メモリアクセス量を必要最小限とすることが可能となる。
【００４９】
図１７に戻り、奥行き・距離補間部３１は、加算回路７２及び７３を含む。加算回路７２は、着目画素の奥行き値に奥行き値のｘ方向増分又はｙ方向増分を加算することで、補間位置の奥行き値を求める。加算回路７３は、着目画素の距離値に距離値のｘ方向増分又はｙ方向増分を加算することで、補間位置の距離値を求める。前述の図７乃至１１を用いた説明では、説明の便宜上、距離値を求めてからその後奥行き値を求めるかのように説明したが、実際には図１７に示すように距離値計算及び奥行き値計算を並行して実行すればよい。
【００５０】
奥行き・距離比較部３２は、奥行き値保持バッファ７４、距離値保持バッファ７５、奥行き値比較回路７６、及び距離値比較回路７７を含む。奥行き値保持バッファ７４は、着目補間位置に隣接する複数の画素から求めた複数の奥行き値を保持する。距離値保持バッファ７５は、着目補間位置に隣接する複数の画素から求めた複数の距離値を保持する。奥行き値比較回路７６は、奥行き値保持バッファ７４に格納される複数の奥行き値を互いに比較し、比較結果を画素色決定部３３に供給する。この比較結果は、例えば複数の奥行き値のうちで最も小さい奥行き値から奥行き値の大きさ順に奥行き値を並べ、この奥行き値の並びに対応する画素の並びを示す情報であってよい。距離値比較回路７７は、距離値保持バッファ７５に格納される複数の距離値を互いに比較し、比較結果を画素色決定部３３に供給する。この比較結果は、距離値が負の値である画素を特定する情報、距離値が正の値である画素を特定する情報、及び正の値の距離値の比率（重み）を示す情報であってよい。
【００５１】
画素色決定部３３は、画素選択・ブレンド部７８及び画素色保持バッファ７９を含む。画素選択・ブレンド部７８は、奥行き値比較回路７６からの奥行き値比較結果と、距離値比較回路７７からの距離値比較結果と、画素情報保持ＲＡＭ７１から読み出した複数の画素の色とに基づいて、着目補間位置における色を決定する。複数の距離が全て負の値であることを距離値比較結果が示す場合には、距離値比較結果が示す距離値の比に応じて、複数の画素の色を合成する。複数の距離に正の値があることを距離値比較結果が示す場合には、距離値比較結果が特定する正の距離値の画素のうちで、奥行き値比較結果が示す最も小さい奥行き値の画素を特定し、この特定された画素の色を着目補間位置における色とする。画素選択・ブレンド部７８が求めた着目補間位置の補間色は、画素色保持バッファ７９に格納される。
【００５２】
奥行き・距離補間部３１、奥行き・距離比較部３２、及び画素色決定部３３は、１つの着目画素（例えば図１１の画素Ａ）に隣接する複数の補間位置（例えば図１１の仮想画素Ｅ、Ｆ、Ｇ）について、上記と同様の処理を繰り返し、複数の補間位置の補間色を求める。複数の補間位置について求めた複数の補間色は、画素色保持バッファ７９に格納される。また着目画素の画素色も画素色保持バッファ７９に格納される。画素ブレンド部３４は、画素色保持バッファ７９に格納された複数の補間位置の補間色と着目画素の画素色とを混合することにより、着目画素のアンチエイリアス処理後の画素色を求め、フレームバッファ１２に格納する。フレームバッファ１２に格納するアンチエイリアス処理後の画素色は、既存の着目画素の画素色データを上書きするように書き込まれてよい。或いは、別の画像データとして書き込まれてよい。
【００５３】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【００５４】
なお本願発明は、以下の内容を含むものである。
（付記１）
補間位置に隣接するある画素の奥行きと該画素が含まれる図形の端までの距離とに基づいて前記補間位置における奥行きと前記図形の端までの距離とを求める処理を前記補間位置に隣接する複数の画素のそれぞれに対して実行することにより、前記補間位置における複数の奥行きと複数の距離とを求める補間部と、
前記複数の画素の色及び前記補間部が求めた前記補間位置における前記複数の奥行きと前記複数の距離とに基づいて、前記補間位置における色を決定する画素色決定部と
を含むことを特徴とする画像処理装置。
（付記２）
1つの着目画素の位置に隣接する複数の補間位置について前記画素色決定部が決定した色と前記1つの着目画素の色とを混合することにより、前記1つの着目画素の新たな色を求める画素色混合部を更に含むことを特徴とする付記１記載の画像処理装置。
（付記３）
前記画素色決定部は、前記複数の距離が全て負の値の場合には前記複数の距離の比に応じて前記複数の画素の色を合成し、前記複数の距離が全て負の値である以外の場合には、前記複数の距離のうちで負の値以外のものに対応する前記複数の奥行きのうちで最も小さいものを求め、前記複数の画素のうちで該最も小さい奥行きに対応する画素の色を前記補間位置における色とすることを特徴とする付記１又は２記載の画像処理装置。
（付記４）
前記補間部が求めた前記補間位置における前記複数の奥行きと前記複数の距離とを前記複数の画素間で比較する比較部を更に含み、前記画素色決定部は、前記比較部による複数の奥行きの比較結果と複数の距離の比較結果と、前記複数の画素の色とに基づいて、前記補間位置における色を決定することを特徴とする付記１記載の画像処理装置。
（付記５）
補間位置に隣接するある画素の奥行きと該画素が含まれる図形の端までの距離とに基づいて前記補間位置における奥行きと前記図形の端までの距離とを求める処理を前記補間位置に隣接する複数の画素のそれぞれに対して実行することにより、前記補間位置における複数の奥行きと複数の距離とを求め、
前記複数の奥行きと、前記複数の距離と、前記複数の画素の色とに基づいて、前記補間位置における補間色を決定し、
1つの着目画素の位置に隣接する複数の補間位置について決定した前記補間色と前記1つの着目画素の色とを混合することにより、前記1つの着目画素の新たな色を求める
各段階を含むことを特徴とする画像処理方法。
（付記６）
前記補間色を決定する段階は、前記複数の距離が全て負の値の場合には前記複数の距離の比に応じて前記複数の画素の色を合成し、前記複数の距離が全て負の値である以外の場合には、前記複数の距離のうちで負の値以外のものに対応する前記複数の奥行きのうちで最も小さいものを求め、前記複数の画素のうちで該最も小さい奥行きに対応する画素の色を前記補間位置における色とすることを特徴とする付記５記載の画像処理方法。
（付記７）
メモリと、
各画素について画素色、奥行き、及び該画素が含まれる図形の端までの距離を計算して前記メモリに格納する画像描画部と、
前記メモリから前記奥行き及び前記距離を読み出して、補間位置に隣接するある画素の前記奥行きと前記距離とに基づいて前記補間位置における奥行きと距離とを求める処理を前記補間位置に隣接する複数の画素のそれぞれに対して実行することにより、前記補間位置における複数の奥行きと複数の距離とを求める補間部と、
前記複数の画素について前記メモリから読み出した前記画素色、及び前記補間部が求めた前記補間位置における前記複数の奥行きと前記複数の距離とに基づいて、前記補間位置における色を決定する画素色決定部と、
1つの着目画素の位置に隣接する複数の補間位置について前記画素色決定部が決定した色と前記1つの着目画素の色とを混合することにより、前記1つの着目画素の新たな色を求める画素色混合部と、
前記画素色混合部により求めた画素色を有する画素により構成された画像を表示する画像表示部
を含むことを特徴とする画像システム。
【符号の説明】
【００５５】
１０  グラフィクス処理回路
１１  アンチエイリアス回路
１２  フレームバッファ
１３  ディスプレイ装置
２１  頂点バッファ
２２  座標変換・ライティング処理部
２３  頂点後処理部
２４  ラスタライズ処理部
２５  画素処理部
２６  画素後処理部
２７  メモリアクセス部
２８  テクスチャユニット
２９  距離情報算出部
３１  奥行き・距離補間部
３２  奥行き・距離比較部
３３  画素色決定部
３４  画素ブレンド部
【図１】
2011028641.tif 000004
【図２】
2011028641.tif 000005
【図３】
2011028641.tif 000006
【図４】
2011028641.tif 000007
【図５】
2011028641.tif 000008
【図６】
2011028641.tif 000009
【図７】
2011028641.tif 000010
【図８】
2011028641.tif 000011
【図９】
2011028641.tif 000012
【図１０】
2011028641.tif 000013
【図１１】
2011028641.tif 000014
【図１２】
2011028641.tif 000015
【図１３】
2011028641.tif 000016
【図１４】
2011028641.tif 000017
【図１５】
2011028641.tif 000018
【図１６】
2011028641.tif 000019
【図１７】
2011028641.tif 000020
【図１８】
2011028641.tif 000021