(57)【要約】【課題】  描画の前にソートを行うことなく、また、余分な解像度で描画することなく、アンチエイリアシングを行う画像処理装置を提供する。【解決手段】  画像メモリ１６と同一構造のバッファメモリ１２５において所定方向に画素値が繋がる画素描画領域群の相対的な傾きを表す傾き係数が格納されている複数の傾き検出フィルタ１２６と、各傾きに応じた平滑化係数を格納した複数の平滑化フィルタ１２７を用意しておく。そして、レンダリングユニット１２が、画像をバッファメモリ１２５に描画し、この画像のエッジ部分の傾きを、複数の傾き検出フィルタの中から当該傾きに最も適合する１つの傾き検出フィルタを選定することにより検出するとともに、検出した傾きに応じた平滑化フィルタでエッジ部分の画素値を平滑化する。そして、平滑化された画素値を含む描画データを画像メモリ１６に書き込む。【選択図】  図１
2005122361.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリに画像を描画するための装置であって、
それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタと、
前記メモリ又はそのメモリと同一構造のバッファに前記画像を描画する描画手段と、
この描画手段により描画された画像のエッジ部分に相当する画素描画領域群を検出するとともに、検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に最も類似する相対特徴をもつ１つの傾き検出フィルタを選定することにより検出する検出手段と、
この検出手段で検出した傾き方向に応じて算定され又は外部より取得した平滑化係数に基づいて前記エッジ部分に相当する画素描画領域群の画素値を平滑化する平滑化手段と、
を有することを特徴とする、
画像処理装置。
【請求項２】
前記複数の傾き検出フィルタは、それぞれ、予め定めた傾き係数が所定方向に配列されている２次元マトリクス状の数値セルであり、
前記検出手段は、検出された前記エッジ部分に相当する画素描画領域群のすべての画素値に対して、前記複数の傾き検出フィルタに格納されているすべての傾き係数を畳み込み演算し、一方向における畳み込み演算の結果が、所定の閾値を超え且つ最も大きな数値となる１つの傾き検出フィルタを、当該方向の傾き方向の相対特徴に最も類似する相対特徴をもつ傾き検出フィルタとして選定することを特徴とする、
請求項１記載の画像処理装置。
【請求項３】
前記平滑化手段は、それぞれ１つの前記傾き検出フィルタとリンクし予め定めた平滑化係数が当該傾き検出フィルタにおいて配列されている傾き係数と同じ方向に配列されている複数の平滑化フィルタを有しており、前記検出手段による傾き検出フィルタの選定を契機に、当該選定された傾き検出フィルタにリンクされている平滑化フィルタを特定し、特定した平滑化フィルタの平滑化係数で前記エッジ部分に相当する画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画素描画領域群における注目画素値と置き換えることにより、当該注目画素値を平滑化することを特徴とする、
請求項２記載の画像処理装置。
【請求項４】
それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリに画像を描画するための装置であって、
それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタと、
前記メモリ又はそのメモリと同一構造のバッファに前記画像を描画する描画手段と、
この描画手段により描画された画像のエッジ部分に相当する画素描画領域群を検出するとともに、検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴により類似する相対特徴をもつ所定数の傾き検出フィルタを選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿することにより検出する検出手段と、
この検出手段で検出した傾き方向に応じて算定され又は外部より取得した平滑化係数に基づいて前記エッジ部分に相当する画素描画領域群の画素値を平滑化する平滑化手段と、
を有することを特徴とする、
画像処理装置。
【請求項５】
前記複数の傾き検出フィルタは、それぞれ、予め定めた傾き係数が所定方向に配列されている２次元マトリクス状の数値セルであり、
前記検出手段は、検出された前記エッジ部分に相当する画素描画領域群のすべての画素値に対して、前記複数の傾き検出フィルタに格納されているすべての傾き係数を畳み込み演算し、一方向における畳み込み演算の結果が、所定の閾値を超え且つより大きな数値となる所定数の傾き検出フィルタをそれぞれ当該方向の傾き方向の相対特徴により類似する相対特徴をもつ傾き検出フィルタとして選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿法により比例配分して１つの傾き方向を定めることを特徴とする、
請求項４記載の画像処理装置。
【請求項６】
前記平滑化手段は、予め定めた平滑化係数を前記検出手段により検出された傾き方向に配列した平滑化フィルタを生成し、この平滑化フィルタの平滑化係数で前記エッジ部分に相当する画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画素描画領域群における注目画素値と置き換えることにより、当該注目画素値を平滑化することを特徴とする、
請求項１又は４記載の画像処理装置。
【請求項７】
前記平滑化フィルタは、それぞれ、フィルタ中心からの相対距離比が大きくなるにつれてその値が小さくなる平滑化係数が前記検出された傾き方向に配列されている２次元マトリクス状の数値セルであり、
前記平滑化手段は、前記エッジ部分に相当する画素描画領域群における前記注目画素値を前記平滑化フィルタの中心位置にして当該平滑化フィルタのすべての平滑化係数で畳み込み演算することを特徴とする、
請求項５記載の画像処理装置。
【請求項８】
個々の平滑化フィルタにおけるすべての前記平滑化係数が正規化されており、当該平滑化フィルタにおける前記平滑化係数の合算値が単位数値になるように配列されていることを特徴とする、
請求項７記載の画像処理装置。
【請求項９】
前記平滑化手段は、前記検出手段により検出された傾き方向が２次元マトリクス状に並ぶ前記画素描画領域の水平ライン又は垂直のラインに対して所定の角度条件を満たしており、且つ、同じ傾きの画素描画領域が予め定めた領域数以上連続する場合にのみ、前記平滑化を行うことを特徴とする、
請求項５記載の画像処理装置。
【請求項１０】
それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサが行う、以下の段階を含む画像処理方法。
（１）前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する段階、
（２）描画された画像のエッジ部分に相当する画素描画領域群を検出する段階、
（３）検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に最も類似する相対特徴をもつ１つの傾き検出フィルタを選定することにより検出する段階、
（４）検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う段階。
【請求項１１】
それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサが行う、以下の段階を含む画像処理方法。
（１）前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する段階、
（２）描画された画像のエッジ部分に相当する画素描画領域群を検出する段階、
（３）検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に類似する相対特徴をもつ複数の傾き検出フィルタを選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿することにより検出する段階、
（４）検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う段階。
【請求項１２】
それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサに、以下の処理を実行させるためのコンピュータプログラム。
（１）前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する処理、
（２）描画された画像のエッジ部分に相当する画素描画領域群を検出する処理、
（３）検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に最も類似する相対特徴をもつ１つの傾き検出フィルタを選定することにより検出する処理、
（４）検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う処理。
【請求項１３】
それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサに、以下の処理を実行させるためのコンピュータプログラム。
（１）前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する処理、
（２）描画された画像のエッジ部分に相当する画素描画領域群を検出する処理、
（３）検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に類似する相対特徴をもつ複数の傾き検出フィルタを選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿することにより検出する処理、
（４）検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う処理。
【請求項１４】
請求項１２記載のコンピュータプログラムを記録して成る、
コンピュータ読み取り可能な記録媒体。
【請求項１５】
請求項１３記載のコンピュータプログラムを記録して成る、
コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばアンチエイリアシング（Anti-aliasing）を少ないリソースで且つ色等の破綻なく実現するための画像処理の手法に関する。
【背景技術】
【０００２】
近年、ゲームコンソール装置のようなリアルタイム性の画像処理を行うシステムでは、プロセッサ、メモリ等のハードウエアの高集積化、処理クロックの高速化が飛躍的に進んでいる。その結果、従来は不可能であった、精細で多様性に富み、且つリアリティ性の高い画像をリアルタイムに生成することも最近は可能になっている。
その一方で、画像を表示する２次元スクリーンとして一般的に使用されているテレビジョンモニタ装置等は、近年の高画質化に追従しきれていない。例えば、標準テレビジョン放送方式であるＮＴＳＣ規格のテレビジョンモニタ装置では、１フレーム（２フィールド）当たり６４０×４４８ドット程度の低い解像度での表示が上限となっている。
【０００３】
このような低解像度の２次元スクリーンで画像の表示を行う場合に、例えばエッジが画面の斜め方向に延びる画像の場合、そのエッジが表示される部分（エッジ部分）には、画像の構成単位となる画素を描画するための画素描画領域に沿った階段状のギザギザ、いわゆるジャギー（jaggies）が目立つようになる。このようなジャギーは、本来は滑らかであるべき画像のエッジ部分が、画像メモリの画素描画領域における画素値という離散的な値にマッピングされるために生ずる虚像であり、一般的には「エイリアス」と呼ばれている。
【０００４】
そのため、比較的低解像度の２次元スクリーンへ出力する画像を処理するシステムでは、エイリアスを除去し、あるいはエイリアスを目立たなくする処理、すなわち「アンチエイリアシング」を行うことにより、ジャギーの無い滑らかな画像を生成して画像メモリに描画するようにしているのが一般的である。
アンチエイリアシングには、種々の手法がある。その例を以下に掲げる。
【０００５】
（１）第１手法
カバレッジ（１又は複数の画素描画領域に占める画素の専有面積）により背景画素とのブレンディングを行う手法である。例えば、エッジ部分のカバレッジがαのとき、そのエッジ部分の前景画素のカラー値Ｃsと、背景画素のカラー値Ｃdとを次の式によりブレンディングし、これを当該エッジ部分の画素描画領域に描画すべき画素のカラー値Ｃとする。
Ｃ＝α＊Ｃs＋（１−α）＊Ｃd
つまり、前景画素のカラー値Ｃsをα倍した数値に、背景画素のカラー値Ｃdを（１−α）倍した数値を加算し、これをエッジ部分の画素描画領域に描画すべき画素のカラー値Ｃとする。このようなブレンディング処理により、エッジ部分にグラデーション（多階調画素）が付加されるので、当該エッジ部分でのエイリアシングが軽減される。
【０００６】
（２）第２手法
高解像度の画像を描画後にフィルタリングして最終的に描画対象となる画素の数を減らす手法である。例えば、前段階として実際に描画する画像よりも高い解像度を生成し、その後に、画素描画領域における複数の画素を平均化する。これにより、グラデーションと略同様の効果を期待することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述した第１手法では、例えば、背景画素を先に画像メモリに描画しておくことにより、最終的に、画面上でエッジ部分がどのカラー値と接しているかを予測できるようにしなければならない。そのため、背景画像と、その上に描画する画像との間で、視点からの距離によるソート処理が別途必要になる、という問題がある。
また、上述した第２手法では、実際に描画される画像よりも高い解像度の画像の描画を行うため、描画処理に要する時間が余分にかかり、さらに、画像メモリの容量も余分に用意しなければならないという問題がある。
【０００８】
本発明は、このような問題を生じさせることなく、少ないリソースで且つ色等の破綻なくアンチエイリアシングを実現するための画像処理の手法を提供することを主たる課題とする。
【課題を解決するための手段】
【０００９】
本発明は、特徴的なアンチエイリアシングを実現するための画像処理装置及び方法、コンピュータプログラム及び記録媒体を提供する。
本発明が提供する第１構成の画像処理装置は、それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリに画像を描画するための装置であって、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタと、前記メモリ又はそのメモリと同一構造のバッファに前記画像を描画する描画手段と、この描画手段により描画された画像のエッジ部分に相当する画素描画領域群を検出するとともに、検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に最も類似する相対特徴をもつ１つの傾き検出フィルタを選定することにより検出する検出手段と、この検出手段で検出した傾き方向に応じて算定され又は外部より取得した平滑化係数に基づいて前記エッジ部分に相当する画素描画領域群の画素値を平滑化する平滑化手段と、を有するものである。
このように構成される画像処理装置では、描画手段がメモリ又はバッファに画像を描画した後、検出手段が、描画された画像のエッジ部分に相当する画素描画領域群を検出するとともに、その画素描画領域群の傾き方向を複数の傾き検出フィルタを用いて検出した後、平滑化手段が、検出された傾き方向に応じて算定され又は外部より取得した平滑化係数に基づいてエッジ部分に相当する画素描画領域群の画素値を平滑化する。そのため、従来のようにメモリへの描画前にアンチエイリアシングのための複雑な処理を行う必要がなくなり、少ないリソースで且つ色等の破綻なく画像処理を行うことができる。
なお、本明細書にいう「画素描画領域群」とは、複数の画素描画領域のうち、互いに繋がる連続した塊をいう。
【００１０】
前記複数の傾き検出フィルタは、それぞれ、予め定めた傾き係数が所定方向に配列されている２次元マトリクス状の数値セルにより実現することができる。この場合、前記検出手段は、検出された前記エッジ部分に相当する画素描画領域群のすべての画素値に対して、前記複数の傾き検出フィルタに格納されているすべての傾き係数を畳み込み演算し、一方向における畳み込み演算の結果が、所定の閾値を超え且つ最も大きな数値となる１つの傾き検出フィルタを、当該方向の傾き方向の相対特徴に最も類似する相対特徴をもつ傾き検出フィルタとして選定する。
【００１１】
また、前記平滑化手段は、例えば、それぞれ１つの前記傾き検出フィルタとリンクし予め定めた平滑化係数が当該傾き検出フィルタにおいて配列されている傾き係数と同じ方向に配列されている複数の平滑化フィルタを有しており、前記検出手段による傾き検出フィルタの選定を契機に、当該選定された傾き検出フィルタにリンクされている平滑化フィルタを特定し、特定した平滑化フィルタの平滑化係数で前記エッジ部分に相当する画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画素描画領域群における注目画素値と置き換えることにより、当該注目画素値を平滑化するように構成される。このような構成では、傾き方向が検出されることによってそれにリンクする平滑化フィルタが特定され、この平滑化フィルタの平滑化係数によって画素描画領域群における注目画素値が平滑化されるので、描画処理全体の負荷が軽減化される。
「注目画素値」とは、平滑化の対象とするために注目する１つの画素値であり、平滑化が進む度に、他の画素値に移っていくものである。
【００１２】
前記複数の傾き検出フィルタは、例えば、それぞれ、予め定めた傾き係数が所定方向に配列されている２次元マトリクス状の数値セルにより構成される。この場合、前記検出手段は、前記バッファメモリ上の画素描画領域群のすべての画素値に対して、前記複数の傾き検出フィルタに格納されているすべての傾き係数を畳み込み演算し、一方向における畳み込み演算の結果が、所定の閾値を超え且つ最も大きい数値となる１つの傾き検出フィルタを、当該方向の傾きに最も適合する傾き検出フィルタとして選定する。
【００１３】
本発明が提供する第２構成の画像処理装置は、それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリに画像を描画するための装置であって、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタと、前記メモリ又はそのメモリと同一構造のバッファに前記画像を描画する描画手段と、この描画手段により描画された画像のエッジ部分に相当する画素描画領域群を検出するとともに、検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴により類似する相対特徴をもつ所定数の傾き検出フィルタを選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿することにより検出する検出手段と、この検出手段で検出した傾き方向に応じて算定され又は外部より取得した平滑化係数に基づいて前記エッジ部分に相当する画素描画領域群の画素値を平滑化する平滑化手段と、を有することを特徴とする。
このように構成される画像処理装置では、第１構成の画像処理装置と異なり、前記検出手段が、描画された画像のエッジ部分に相当する画素描画領域群の傾き方向の相対特徴により類似する相対特徴をもつ所定数の傾き検出フィルタを選定し、これらの傾き検出フィルタにより特定される複数の傾き方向を内挿することにより画素描画領域群の傾き方向を検出するので、用意する傾き検出フィルタが第１構成の画像処理装置より少ない場合であっても、精度の高い傾き検出ができるようになる。
【００１４】
前記検出手段は、より具体的には、検出された前記エッジ部分に相当する画素描画領域群のすべての画素値に対して、前記複数の傾き検出フィルタに格納されているすべての傾き係数を畳み込み演算し、一方向における畳み込み演算の結果が、所定の閾値を超え且つより大きな数値となる所定数の傾き検出フィルタをそれぞれ当該方向の傾き方向の相対特徴により類似する相対特徴をもつ傾き検出フィルタとして選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿法により比例配分して１つの傾き方向を定めるようにする。
【００１５】
第１構成及び第２構成の画像処理装置において、前記平滑化手段は、例えば、予め定めた平滑化係数を前記検出手段により検出された傾き方向に配列した平滑化フィルタを生成し、この平滑化フィルタの平滑化係数で前記エッジ部分に相当する画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画素描画領域群における注目画素値と置き換えることにより、当該注目画素値を平滑化するように構成するようにしてもよい。
予め生成しておくか、その都度生成するかに関わらず、前記平滑化フィルタは、それぞれ、フィルタ中心からの相対距離比が大きくなるにつれてその値が小さくなる平滑化係数が前記検出された傾き方向に配列されている２次元マトリクス状の数値セルとすることができる。この場合、前記平滑化手段は、前記エッジ部分に相当する画素描画領域群における前記注目画素値を前記平滑化フィルタの中心位置にして当該平滑化フィルタのすべての平滑化係数で畳み込み演算するように構成する。
好ましい実施の態様では、個々の平滑化フィルタにおけるすべての前記平滑化係数が正規化されており、当該平滑化フィルタにおける前記平滑化係数の合算値が単位数値になるように配列されているようにする。平滑化フィルタをこのような構成のものとすることにより、相対的な大きさの画素値で畳み込み演算できるようになり、正規化しない場合に比べて処理量が低下するとともに平滑化の効果が増大する。
【００１６】
なお、すべての画素描画領域群の画素について平滑化する必要はなく、平滑化が必要な場合だけ、平滑化するように構成することもできる。この場合、前記平滑化手段を、前記検出手段により検出された傾き方向が２次元マトリクス状に並ぶ前記画素描画領域の水平ライン又は垂直のラインに対して所定の角度条件を満たしており、且つ、同じ傾きの画素描画領域が予め定めた領域数以上連続する場合にのみ、前記平滑化を行うなどのように構成する。
【００１７】
本発明による第１の画像処理方法は、それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサが行う、以下の段階を含む画像処理方法である。
（１）前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する段階、
（２）描画された画像のエッジ部分に相当する画素描画領域群を検出する段階、
（３）検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に最も類似する相対特徴をもつ１つの傾き検出フィルタを選定することにより検出する段階、
（４）検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う段階。
【００１８】
本発明による第２の画像処理方法は、それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサが行う、以下の段階を含む画像処理方法である。
（１）前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する段階、
（２）描画された画像のエッジ部分に相当する画素描画領域群を検出する段階、
（３）検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に類似する相対特徴をもつ複数の傾き検出フィルタを選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿することにより検出する段階、
（４）検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う段階。
【００１９】
本発明による第１のコンピュータプログラムは、それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサに、以下の処理を実行させるためのコンピュータプログラムである。
（１）前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する処理、
（２）描画された画像のエッジ部分に相当する画素描画領域群を検出する処理、
（３）検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に最も類似する相対特徴をもつ１つの傾き検出フィルタを選定することにより検出する処理、
（４）検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う処理。
【００２０】
本発明による第２のコンピュータプログラムは、それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサに、以下の処理を実行させるためのコンピュータプログラムである。
（１）前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する処理、
（２）描画された画像のエッジ部分に相当する画素描画領域群を検出する処理、
（３）検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に類似する相対特徴をもつ複数の傾き検出フィルタを選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿することにより検出する処理、
（４）検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う処理。
【００２１】
このような各コンピュータプログラムは、通信ネットワークを媒体として流通するものであってもよく、ＲＡＭ、ＤＶＤ−ＲＯＭ、半導体メモリその他のコンピュータ読み取り可能な記録媒体に記録されて流通可能になるものであってもよい。
【発明の効果】
【００２２】
本発明では、描画対象となる画像のうち、エッジ部分の画素描画領域群の傾きを検出し、検出した傾きに応じて算定された平滑化係数に基づいて当該エッジ部分の画素描画領域群の画素値を平滑化し、平滑化された画素値を含む描画データを画像メモリに書き込むようにしたので、低コストで高品質の画像処理を実現する仕組みを提供することができる。
【発明を実施するための最良の形態】
【００２３】
本発明が適用される画像処理装置の構成例を図１に示す。
この画像処理装置１は、それぞれバスＢを通じて相互に接続されている主プロセッサ１０、ジオメトリユニット１１、レンダリングユニット１２、主メモリ１３、ドライブユニット１４及び通信ユニット１５を有している。レンダリングユニット１２には、２次元マトリクス状の画素描画領域群を有する画像メモリ１６が接続されている。
画像処理装置１は、また、画像メモリ１６に描画されている画像をディスプレイ１８に表示するためのディスプレイコントローラ１７を有している。
【００２４】
主メモリ１３には、描画（表示）対象となるポリゴン等の図形情報、例えば、頂点座標値、各頂点のＲ（赤）、Ｇ（緑）、Ｂ（青）のカラー値、マップ座標値、ベクトル値等の頂点情報及び頂点連結情報等が格納されている。図形情報は、例えば、主プロセッサ１０の制御のもとで、ドライブユニット１４が、それに装着されたＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等の各種記録媒体から読み取ったり、通信ユニット１５が有線あるいは無線による通信媒体、伝送媒体等を介して取り込んだものである。
【００２５】
ジオメトリユニット１１は、主プロセッサ１０の制御のもとで、主メモリ１３から上記の図形情報を読み出し、その図形情報に対してアフィン変換、スクリーン座標への投影変換、頂点に対する光源処理等のジオメトリ処理を行う。ジオメトリ処理の結果データは、レンダリングユニット１２へ供給される。
【００２６】
レンダリングユニット１２は、ジオメトリユニット１１から送られてきたジオメトリ処理の結果データに基づいて、アンチエイリアシング処理を含む描画処理（レンダリング処理）を行い、画像メモリ１６に書き込むべき描画データを生成する。
【００２７】
本発明の特徴的な描画処理を実現するため、レンダリングユニット１２には、通常はその内部メモリに記録されている描画処理用のコンピュータプログラムと、レンダリング用プロセッサとの協働により、描画処理部１２１、エッジ検出処理部１２２、平滑化処理部１２３の機能部品が構築される。レンダリングユニット１２は、また、レンダリング用プロセッサがアクセス可能な記録装置に、画像のテクスチャ属性が記録されたテクスチャメモリ１２４及びバッファメモリ１２５を構築し、さらに、後述する複数の傾き検出フィルタ１２６及び複数の平滑化フィルタ１２７、並びに、後述する平滑化処理を行うべきかどうかの角度条件を定める基準傾き角データ１２８を記録している。
【００２８】
テクスチャメモリ１２４に記録されるテクスチャ属性は、例えば上述したＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等の各種記録媒体、有線ないし無線による通信媒体あるいは伝送媒体等を介して取り込まれたものである。
【００２９】
バッファメモリ１２５は、画像メモリ１６と同一構造の画素描画領域（すなわち、２次元マトリクス状の画素描画領域）が形成されているもので、主として、エッジ部分の画素描画領域及びその傾きの検出、画素平滑化処理のためのバッファとして用いられるものである。
【００３０】
この実施の形態における複数の傾き検出フィルタ１２６は、それぞれ、予め定めた傾き係数が所定方向に配列されている２次元マトリクス状の数値セルである。例えば、水平方向（０度）であれば、２次元マトリクスの中央部から水平方向に延びる複数の数値領域に”１”を傾き係数として配列する。垂直方向（９０度）であれば、２次元マトリクスの中央部から垂直方向に延びる複数の数値領域に”１”を傾き係数として配列する。４５度方向、１３５度方向についても同様である。３０度方向、１２０度方向など、前述の０度、４５度、９０度、１３５度以外の角度については、傾き係数自体が線形にならない場合が多いので、傾き方向を表す仮想直線を挟む一対の数値領域に共に”０．５”を配列するようにする。このような傾き係数は、後述する傾き検出時の畳み込み処理に用いるものであり、傾き検出を容易にする値であれば、上記の”１”、”０．５”に限定されるものではない。
【００３１】
複数の平滑化フィルタ１２７は、それぞれ、中心位置からの相対距離比が大きくなるにつれてその値が小さくなる平滑化係数が傾き方向に配列されている２次元マトリクス状の数値セルであり、予め、あるいは、平滑化処理の都度、生成されて保存される。
平滑化係数は、互いに繋がる画素描画領域群の傾きに応じて個々の画素描画領域の画素値を変化させるためのもので、最大値”１”と最小値”０”との間のいずれかの値をとり、通常は、１つの平滑化フィルタにおける平滑化係数の合算値が”１”となるように正規化されている。
【００３２】
各平滑化フィルタ１２７には、それぞれ、平滑化係数で平滑しようとする画素描画領域の傾き方向に応じたインデックスが付けられている。これにより、他の平滑化フィルタと識別することができる。例えば３０度方向に繋がる画素描画領域の画素値を変化させるための平滑化フィルタであれば、３０度用平滑化フィルタ、１２０度方向に繋がる画素描画領域の画素値を変化させるための平滑化フィルタであれば、１２０度用平滑化フィルタ、・・・をインデックスとする。
【００３３】
この実施の形態では、主として描画処理を迅速化する観点から、同じ傾き方向を表す傾き検出フィルタ１２６と１対１にリンクさせておき、いずれかの傾き検出フィルタ１２６が選定されたときに、それにリンクする平滑化フィルタ１２７が直ちに読み出せるようにする。
図２は、この場合の傾き検出フィルタ１２６と平滑化フィルタ１２７との関係を示している。図２（ａ）は４５度方向の傾きを表す傾き検出フィルタ１２６と４５度用平滑化フィルタ、同（ｂ）は６０度方向の傾きを表す傾き検出フィルタ１２６と６０度用平滑化フィルタ、同（ｃ）は１２０度方向の傾きを表す傾き検出フィルタ１２６と１２０度用平滑化フィルタ、同（ｄ）は１３５度方向の傾きを表す傾き検出フィルタ１２６と１３５度用平滑化フィルタの例である。図２（ｅ）は垂直方向（９０度）の傾き検出フィルタであり、同（ｆ）は水平方向（０度）の傾き検出フィルタの例であるが、水平方向及び垂直方向ではジャギーが生じないので、本実施形態では、後述の平滑化処理は行わないものとして平滑化フィルタはリンクさせていないが、リンクさせるようにすることは、可能である。
【００３４】
基準傾き角データ１２８は、平滑化処理を要するかどうかを判定し、要しない場合には平滑化処理を回避する、という処理をオプション処理として実行する際に、その平滑化処理の要否判定のために設定される。エイリアシングは、エッジが水平方向又は垂直方向に近づくほど目立つ傾向があるので、単純に角度だけで平滑化処理を要するかどうかを判断することは困難であるが、基準傾き角データ１２８によって表される基準角度という概念を設け、この基準角度とエッジ検出処理部１２２で検出した傾き角との比較を行うことで、上記のオプション処理を容易に実現することができる。
基準角度は、ごく単純には、水平、垂直方向を表す０度、９０度、１８０度及び２７０度のように選定する。そして、エッジ検出処理部１２２で検出された傾き角が実質的にこれらの角度に等しい場合は、平滑化処理を回避し、それ以外はすべて平滑化処理を行うようにする。基準角度として例えば３０度以上６０度未満のように一定の幅をもたせ、検出した傾き角が、基準角度の幅以内のときは平滑化処理を回避する、あるいは、逆に、その幅のときのみ平滑化処理を実行する、という形態も可能である。
【００３５】
描画処理部１２１は、ジオメトリユニット１１から送られてくるジオメトリ処理の結果データとテクスチャメモリ１２４からのテクスチャ属性とを取り込み、これらのデータに基づいて画素値を演算するとともに、演算した画素値をアンチエイリアシングを行うことなく、バッファメモリ１２５に書き込む。つまり、バッファメモリ１２５への未平滑化画像の描画処理を行う。この描画処理は、例えば、ストリップ状又はファン状のポリゴンメッシュ構造のデータを独立のポリゴンデータに変換したり、ジオメトリ処理の結果データに含まれる描画位置データ、奥行きデータ、色データ等を分析して、描画すべき領域の選択（area culling）及びバック選択（back culling）等を行い、不要なポリゴンデータを廃棄したり、色データを合成したり、画像にテクスチャ属性を反映させたりして、画素描画領域に書き込む画素値を生成する処理である。
【００３６】
エッジ検出処理部１２２は、バッファメモリ１２５に描画されている画像の各画素描画領域の画素値を読み出し、描画された画像のエッジ部分に相当する画素描画領域群の存在と、その画素描画領域群の相対的な傾きとを検出する処理を行う。より具体的には、バッファメモリ１２５に描画された画像にエッジ抽出フィルタをかけ、エッジ部分の画素描画領域群を検出する。
エッジ抽出フィルタとしては、例えば、以下のような公知の手法を採用することができる。すなわち、画像の１次微分により得られるレベル差によりエッジ検出を行うレベルフィルタ、２次微分によるレベル差によりエッジ検出を行う単純ラプラシアンフィルタ、所定領域内で平滑化を行いながら２次微分を行うことでエッジ検出を行うノイズ抑制型ラプラシアンフィルタ、単純ラプラシアンオペレータの要素を空間的に離してエッジ検出を行うブリッジフィルタ、画像からｎ×ｎ領域(ｎ＝３、５、７)の平均値を引くことでエッジ検出を行うサーフボードフィルタ等をエッジ抽出フィルタとして採用することができる。なお、エッジ部分の画素描画領域群の検出のための具体的な手法については、長尾  真訳  「デジタル画像処理」１９７８年  近代科学社  Ｐ２８１〜Ｐ３０４に詳細に記載されているので、この記載を参考にすることができる。
【００３７】
このようにして検出されたエッジ部分の画素描画領域群の画素に対して、エッジ検出処理部１２２は、複数の傾き検出フィルタ１２６の中からその画素描画領域群の傾きに最も適合した傾き検出フィルタを選定し、その傾き検出フィルタ１２６が表す傾き方向を特定する。このようにして、エッジ部分の画素描画領域群について、それがエッジ部分かどうか、エッジ部分である場合にそれがどの方向に傾いているかを、自動的に判定することができる。なお、エッジ検出処理部１２２における詳細な手順については、後述する。
【００３８】
平滑化処理部１２３は、平滑化処理を要する画素描画領域の画素値を上述した平滑化係数で平滑化し、平滑化された画素値を含む描画データを画像メモリ１６に書き込むための処理を行う。平滑化処理部１２３は、また、平滑化係数を格納した平滑化フィルタ１２７を生成する機能をも有している。この機能は、予め画素描画領域の傾き方向に応じた複数の平滑化フィルタ１２７を生成して保存しておくのではなく、エッジ検出処理部１２２で画素描画領域群の傾きを検出する都度、平滑化フィルタ１２７を生成する際に、起動される。この平滑化フィルタ１２７の生成手順を図３に示す。
【００３９】
図３（ａ）のように、平滑化フィルタ１２７のもととなる２次元マトリクス状の数値領域５１のうち、エッジ検出処理部１２２で検出され、特定された傾き方向に仮想直線を引く。この仮想直線と交差する数値領域に”１”、交差しない数値領域に”０”を格納し、さらに、”１”が格納されている数値領域を、中心部の数値領域からの相対距離比（実距離＋１）で除算し、（ｂ）のような平滑化係数が格納された２次元マトリクス５２とする。そして、この２次元マトリクス５２の平滑化係数を、それらの合算値が”１”になるように正規化して、（ｃ）のような２次元マトリクス５３とする。この２次元マトリクス５３が１２０度用の平滑化フィルタ１２７となる。
【００４０】
画像メモリ１６は、バンクＡとバンクＢからなる２バンク構成のバッファ機能を有するメモリである。一方のバンク、例えばバンクＡが描画バッファとして機能している間、他方のバンクであるバンクＢは描画されたデータをディスプレイ１８に表示させる際に用いられる表示バッファとして機能する。このようにして、描画及びそれに続く表示の処理速度の向上を図っている。
【００４１】
ディスプレイコントローラ１７は、ディスプレイ１８の水平同期信号、垂直同期信号等を生成すると共に、そのディスプレイ１８の表示タイミングに従い、画像メモリ１６から画素値を順次取り出し、ディスプレイ１８の２次元スクリーン上に、２次元画像として表示させる。
【００４２】
＜アンチエイリアシング処理＞
次に、図４及び図５を参照して、この実施形態の画像処理装置１、特にレンダリングユニット１２が行うアンチエイリアシングの処理手順を説明する。
図４において、描画処理部１２１は、ジオメトリユニット１１から受け取ったジオメトリデータに基づいて、画像についての画素値を演算し、この演算結果をそれぞれバッファメモリ１２５の画素描画領域に書き込む（ステップＳ１１）。図５（ａ）は、バッファメモリ１２５に書き込まれた描画データによる画像６０の例を示している。水平方向及び垂直方向のエッジ部分にはジャギーが発生しないが、水平方向又は垂直方向から傾くにつれて、徐々にジャギーが目立つようになることがわかる。
【００４３】
エッジ検出処理部１２２は、上述したエッジ抽出フィルタを用いて、バッファメモリ１２５に描画された画像のエッジ部分の画素描画領域群を検出する（ステップＳ１２）。具体的には、図５（ｂ）に示されるように画素描画領域群７１〜７３を検出する。エッジ検出処理部１２２は、さらに、このエッジ部分の画素描画領域７１〜７３の相対的な傾きを複数の傾き検出フィルタ１２６を用いて検出する（ステップＳ１３）。
平滑化処理部１２３は、検出した傾きに対応する平滑化フィルタ１２７で、エッジ部分の画素描画領域群７１〜７３の画素値を平滑化する（ステップＳ１４）。その後、平滑化された画素値を含む描画データを画像メモリ１６に書き込む。つまり、画像メモリ１６に、平滑化画像を描画する（ステップＳ１５）。図５（ｃ）は、画像メモリ１６に描画された画像８０の状態を示している。
【００４４】
＜傾き検出処理＞
次に、図４における各処理の手順をより詳しく説明する。
まず、ステップＳ１３における傾き検出処理の手順を図６を参照して説明する。
図６において、エッジ検出処理部１２２は、バッファメモリ１２５上のエッジ部の各画素描画領域の画素値を各々の画素値の配列情報と共に読み出す（ステップＳ１３１）。そして、読み出した画素値に対して、すべての傾き検出フィルタ１２６のすべての傾き係数を畳み込み演算し（ステップＳ１３２）、１方向のエッジ部分の畳み込み演算結果を集計する（ステップＳ１３３）。そして、演算結果が予め定めた閾値を超え（ステップＳ１３４：Ｙｅｓ）且つ、演算結果が最も大きくなる１つの傾き検出フィルタ１２６を、当該方向の傾きに最も適合する傾き検出フィルタとして選定し（ステップＳ１３５）、選定した傾き検出フィルタが表す傾きを当該方向の傾きとして特定する（ステップＳ１３６）。なお、演算結果が閾値を超えない場合は、エッジ部分ではないと判定する。
他の傾き方向を検出するときはステップＳ１３３以降の処理を繰り返し（ステップＳ１３７：Ｙｅｓ）、他の傾き方向を検出しないときは、傾き検出処理を終える（ステップＳ１３７：Ｎｏ）。
【００４５】
＜平滑化処理＞
ステップＳ１４における平滑化処理には、３パターンの処理がある。
図７は、予め、傾き検出フィルタ１２６と同じ傾き方向の平滑化フィルタとをリンクしておく場合の例である。すなわち、エッジ検出処理部１２２で選定された傾き検出フィルタ１２６にリンクする平滑化フィルタ１２７を読み出し（ステップＳ１４１Ａ）、この読み出した平滑化フィルタ１２７に格納されている平滑化係数で、エッジ部分の画素描画領域の画素値を平滑化する（ステップＳ１４２Ａ）。
【００４６】
図８は、複数の平滑化フィルタ１２７が、傾き検出フィルタ１２６とは独立ではあるが、線分の傾き方向によって識別されるように保持されている場合の例である。すなわち、エッジ検出処理部１２２で選定された傾き検出フィルタ１２６を通じて特定された傾き方向により識別される平滑化フィルタ１２７を読み出し（ステップＳ１４１Ｂ）、この読み出した平滑化フィルタ１２７に格納されている平滑化係数で、エッジ部分の画素描画領域の画素値を平滑化する（ステップＳ１４２Ｂ）。
【００４７】
図９は、傾きに応じた平滑化係数を格納した平滑化フィルタ１２７を、その都度生成して保存する場合の例である。すなわち、エッジ検出処理部１２２で選定された傾き検出フィルタ１２６を通じて特定された傾き方向毎に、その傾き方向に延びる仮想直線を生成する（ステップＳ１４１Ｃ）。その後、Ｎ×Ｍ（Ｎ，Ｍは３以上の自然数、Ｎ＝Ｍであることを妨げない。）の２次元マトリクスの数値領域のうち、仮想直線が交差する領域を有効領域とする平滑化フィルタを生成し（ステップＳ１４２Ｃ）、生成した平滑化フィルタ１２７を保存する（ステップＳ１４３Ｃ）。そして、傾き方向毎に、該当する平滑化フィルタ１２７を読み出し（ステップＳ１４４Ｃ）、読み出した平滑化フィルタ１２７に格納されている平滑化係数で、エッジ部分の画素描画領域の画素値を平滑化する（ステップＳ１４５Ｃ）。
【００４８】
平滑化処理の具体的な内容を図１０〜図１３を参照して説明する。
平滑化処理は、バッファメモリ１２５に描画されている画素のすべてについて一様に行う。ここでは、注目画素値がどの描画領域に含まれていたかという情報ではなく、その注目画素値がエッジ部分の画素値である場合のエッジの傾きの情報を使用する場合の例を挙げる。すなわち、図１０において、バッファメモリ１２５のすべての画素について、それがエッジの画素であるかどうかを判定し（ステップＳ２０１）、エッジの画素でない場合は、最初の処理に戻る（ステップＳ２０１：No）。エッジの画素であった場合は、そのエッジの傾きを検出する（ステップＳ２０２）。そして、検出した傾きに合わせた平滑化フィルタ１２７を選択する（ステップＳ２０３）。その後、エッジ部分の注目画素値と平滑化フィルタ１２７との中心に合わせる（ステップＳ２０４）。図１１の場合、相対的な傾きは１２０度なので、１２０度用の平滑化フィルタ１２７の中心を注目画素値に合わせる（ステップＳ２０４）。
【００４９】
バッファメモリ１２５に描き込まれている画素値と平滑化フィルタ１２７の係数を積和演算し（ステップＳ２０５）、この積和演算結果を当該注目画素値の平滑化後の画素値とする（ステップＳ２０６）。当該注目画素値の平滑化処理を終えた後は、平滑化後の注目画素値を一時的に所定のメモリ領域に保存するとともに、平滑化の対象を次の注目画素値に移してステップＳ２０３以降の処理を、バッファメモリ１２５の他の注目画素値に対して繰り返す。すべての注目画素値に対する平滑化処理を終えた後は、一連の平滑化処理を終える。
なお、前述したオプション処理として、ステップＳ２０２において検出したエッジの傾きによっては、ステップＳ２０３以降の処理を回避することもできる。この場合は、検出した傾きが実質的に水平又は垂直方向でなかったなどの角度条件を満たす場合のみ、ステップＳ２０３以降の処理を行うようにする。
【００５０】
図１３上段は、以上の処理の概念図である。図１３上段左側は、平滑化前の画素描画領域群（バッファメモリ１２５の一部領域）６１の各画素値とエッジ部分の画素描画領域群６２の各画素値の状態、図１３上段右側は、平滑化フィルタ１２７の平滑化係数、図１３下段左側は、平滑化処理後の画素描画領域６６（画像メモリ１６に対応する画素描画領域）の各画素値の状態、図１３下段右側は、画像メモリ１６に実際に描画される画像（平滑化画像）の状態を示している。なお、平滑化前の画素描画領域群６１（エッジ部分の画素描画領域群６２を含む）において、”１”／”０”は、当該画素描画領域の画素値である。
平滑化処理後の注目画素値６３は、図１２のようにして求めることができる。すなわち、注目画素値６３を平滑化フィルタ１２７の中心に合わせたときの画素描画領域群６１の画素値を左辺、平滑化フィルタ１２７に格納されている平滑化係数を右辺にして、積和演算する。図示の場合の積和演算の結果は０．６となり、平滑化前の１から比べて、画素値が低くなっている。他の画素値についても、同様の手順で平滑化する。
画像メモリ１６には、このようにして平滑化されたエッジ部分の画素描画領域群８０の各画素値を含む描画データが描画される。
【００５１】
なお、オプション処理であるところの平滑化処理を行うかどうかの判断に際しては、角度条件を満たす場合に平滑化処理を行うものとして説明したが、同じ角度で連なる画素描画領域群であっても、それが３〜５領域程度の連なりなのか、１０領域あるいはそれ以上の連なりなのかによって、描画されたときの見え方が異なる場合がある。そこで、この連なりの数を検出し、検出結果に応じて平滑化処理を行うかどうか、あるいは、平滑化フィルタ１２７のセル数を変更するかどうか（５×５の数値セルではなく、３×３の数値セルを使うなど）を決めるようにしてもよい。
同じ方向のエッジとなる複数の画素は、それぞれ同じエッジ方向をもつはずなので、これにより、エッジ部分の複数の画素を同じ傾きと判断することができる。テクスチャメモリ１２４に記録されているテクスチャに由来するエッジに基づいてエッジ部分の画素の個々の傾きを調べるようにすることもできる。
【００５２】
＝他の実施の形態＝
図１４は、本発明の他の実施形態による画像処理装置の構成例を示している。便宜上、図１に示したものと同一機能の部品については、同一符号を付してある。
この図１４に示した画像処理装置が図１に示した画像処理装置と異なるのは、前述した傾き検出フィルタ１２６と平滑化フィルタ１２７とが互いに独立に存在すること、レンダリングユニット１２における未平滑化画像がバッファメモリ１２５に描画された後、平滑化処理部２２３に直接読み込まれる構成になっていること、エッジ検出のための処理系が、エッジ領域検出処理部２２１とエッジ方向検出処理部２２２とに分かれていることである。
【００５３】
エッジ領域検出処理部２２１は、バッファメモリ１２５に描画された未平滑化画像にエッジ検出フィルタをかけた後のエッジ部分の画素描画領域がどれかを示すエッジ領域データを生成し、このエッジ領域データをエッジ方向検出処理部２２２に出力する。
例えば、図１７（ａ）のような未平滑化画像にエッジ検出フィルタをかけることにより、図１７（ｂ）のようにエッジ部分であるとされる部分の領域が係数”１”、そうでない部分の領域が係数”０”となるエッジ領域データ（領域位置データと係数との組合せからなるデータ）を生成する。図１７（ａ）、（ｂ）から明らかなように、未平滑化画像のうち、画素値が描画されている領域が常に係数”１”となるものではなく、画素値が描画されていない領域でも係数”１”となり得るものである点に留意されたい。この点は、上述した実施形態の場合も同じである。
【００５４】
エッジ方向検出処理部２２２は、このエッジ領域データと傾き検出フィルタ１２６とに基づいて、エッジ部分の画素描画領域群の相対的な傾きを表すエッジ方向データを生成し、このエッジ方向データを平滑化処理部２２３に出力する。エッジ方向データは、例えば図１７（ｃ）のような構造のものである。すなわち、エッジ方向が２次元マトリクスの水平軸又は垂直軸に対して何度かを表す角度データ（Ｂ）により構成される。
【００５５】
角度データ（Ｂ）は、以下のようにして導出することができる。
まず、図１７（ｂ）のエッジ領域データの中で、係数が”１”とされた画素のそれぞれについて、エッジ領域データとの演算結果が最も大きくなる３つの傾き検出フィルタ１２６を選定し、これらの傾き検出フィルタ１２６により特定される方向から３つを選んで内挿を行い、これにより得られた中間的な角度を表すデータを角度データとする。ここにいう「内挿」とは、有限数の検出角度から、各検出角度以外の角度を推定することをいう。例えば、図１５のように、２２．５度毎に用意した複数の傾き検出フィルタ１２６により特定される検出角度の中から近いものからＡ（２２．５度）、Ａ＋ｃ（４５度）、Ａ＋２ｃ（６７．５度）の３つを選んで内挿を行い、中間的な角度をエッジの方向として特定し、この角度を表すデータを角度データとする。
この手法を図１６を参照してより詳しく説明する。
【００５６】
図１６は、縦軸Ｙがエッジ領域データにより特定される係数の角度毎の合算値、横軸Ｘが角度である。ＹとＸとの間には、Ｙ＝Ｋ・Ｘ２＋Ｌ＊Ｘ＋Ｍの関係式が成り立つ。Ｋ及びＬは定数、Ｍは一定のバイアス値である。
図１６におけるＰ、Ｑ、Ｒは、それぞれ角度がＡ、Ａ＋ｃ、Ａ＋２ｃのときの係数の合算値である。すなわち、以下の３つの連立方程式がなり立つ。
Ｐ＝Ｋ・Ａ２＋Ｌ＊Ａ＋Ｍ
Ｑ＝Ｋ・（Ａ＋ｃ）２＋Ｌ＊（Ａ＋ｃ）＋Ｍ
Ｒ＝Ｋ・（Ａ＋２ｃ）２＋Ｌ＊（Ａ＋２ｃ）＋Ｍ
Ｐ、Ｑ、Ｒ、Ａ、Ａ＋ｃ、Ａ＋２ｃは、それぞれ縦軸Ｙ及び横軸Ｘの値から特定することができるので、それらの値と上記の３の方程式とからＫ、Ｌ、Ｍが定まる。したがって、角度データ（Ｂ）は、−Ｌ／（２＊Ｋ）の式から求めることができる。
【００５７】
この角度データ（Ｂ）は、エッジ方向検出処理部２２２から平滑化処理部２２３へ出力される。平滑化処理部２２３は、角度データ（Ｂ）が表す方向に平滑化係数を配列した平滑化フィルタ１２７を、例えば上述した図３（ａ）〜（ｃ）のようにして求め、これをレンダリングユニット１２内のメモリ領域に格納しておく。あるいは、予め用意されている平滑化フィルタ１２７のうち、角度データ（Ｂ）が表す方向に最も近い方向に平滑化係数が格納されている１つの平滑化フィルタ１２７を選定する。
その後、エッジ方向データに角度データが格納されている画素に対応するバッファメモリ１２５から読み出した未平滑化画像のエッジ部分の画素値を、平滑化フィルタ１２７の平滑化係数に基づいて平滑化処理を行う。平滑化処理の要領は、上述したとおりである。
【図面の簡単な説明】
【００５８】
【図１】本発明が適用される画像処理装置の構成図。
【図２】傾き検出フィルタと平滑化フィルタとの関係を示した図。
【図３】平滑化フィルタの生成手順説明図。
【図４】アンチエイリアシングの全体的な処理手順図。
【図５】アンチエイリアシングの概念説明図。
【図６】傾き検出処理の詳細手順説明図。
【図７】予め、傾き検出フィルタと同じ傾き方向の平滑化フィルタとをリンクしておく場合の平滑化処理の手順説明図。
【図８】複数の平滑化フィルタが、傾き検出フィルタとは独立ではあるが、線分の傾き方向によって識別されるように保持されている場合の平滑化処理の手順説明図。
【図９】傾きに応じた平滑化係数を格納した平滑化フィルタを、その都度生成して保存する場合の平滑化処理の手順説明図。
【図１０】平滑化の具体的な処理手順説明図。
【図１１】エッジ検出の様子を示した説明図。
【図１２】注目画素値の一例に対する平滑化処理の説明図。
【図１３】本発明によるアンチエイリアシングの概念説明図。
【図１４】本発明が適用される画像処理装置の他の構成図。
【図１５】予め判明している複数の角度データをもとに内挿によって他の角度を推定する要領を示した説明図。
【図１６】エッジ領域データの係数の合算値と角度との関係を示した図。
【図１７】（ａ）は未平滑化画像、（ｂ）はエッジ領域データ、（Ｃ）はエッジ方向データ
【符号の説明】
【００５９】
１      画像処理装置
１０      主プロセッサ
１１      ジオメトリユニット
１２      レンダリングユニット
１３      主メモリ
１４      ドライブユニット
１５      通信ユニット
１６      画像メモリ
１７      ディスプレイコントローラ
１８      ディスプレイ
１２１      描画処理部
１２２      エッジ検出処理部
１２３      平滑化処理部
１２４      テクスチャメモリ
１２５      バッファメモリ
１２６      傾き検出フィルタ
１２７      平滑化フィルタ
１２８      基準傾き角データ
Ｂ          バス
【図１】
2005122361.tif 000003
【図２】
2005122361.tif 000004
【図３】
2005122361.tif 000005
【図４】
2005122361.tif 000006
【図５】
2005122361.tif 000007
【図６】
2005122361.tif 000008
【図７】
2005122361.tif 000009
【図８】
2005122361.tif 000010
【図９】
2005122361.tif 000011
【図１０】
2005122361.tif 000012
【図１１】
2005122361.tif 000013
【図１２】
2005122361.tif 000014
【図１３】
2005122361.tif 000015
【図１４】
2005122361.tif 000016
【図１５】
2005122361.tif 000017
【図１６】
2005122361.tif 000018
【図１７】
2005122361.tif 000019
【手続補正書】
【提出日】平成16年10月15日(2004.10.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成されたメモリに画像を描画するための装置であって、
それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタと、
前記メモリ又はそのメモリと同一構造のバッファに前記画像を描画する描画手段と、
この描画手段により描画された画像のエッジ部分に相当する画素描画領域群を検出するとともに、検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に最も類似する相対特徴をもつ１つの傾き検出フィルタを選定することにより検出する検出手段と、
この検出手段で検出した傾き方向に応じて算定され又は外部より取得した平滑化係数に基づいて前記エッジ部分に相当する画素描画領域群の画素値を平滑化する平滑化手段と、
を有することを特徴とする、
画像処理装置。
【請求項２】
前記複数の傾き検出フィルタは、それぞれ、予め定めた傾き係数が所定方向に配列されている２次元マトリクス状の数値セルであり、
前記検出手段は、検出された前記エッジ部分に相当する画素描画領域群のすべての画素値に対して、前記複数の傾き検出フィルタに格納されているすべての傾き係数を畳み込み演算し、一方向における畳み込み演算の結果が、所定の閾値を超え且つ最も大きな数値となる１つの傾き検出フィルタを、当該方向の傾き方向の相対特徴に最も類似する相対特徴をもつ傾き検出フィルタとして選定することを特徴とする、
請求項１記載の画像処理装置。
【請求項３】
前記平滑化手段は、それぞれ１つの前記傾き検出フィルタとリンクし予め定めた平滑化係数が当該傾き検出フィルタにおいて配列されている傾き係数と同じ方向に配列されている複数の平滑化フィルタを有しており、前記検出手段による傾き検出フィルタの選定を契機に、当該選定された傾き検出フィルタにリンクされている平滑化フィルタを特定し、特定した平滑化フィルタの平滑化係数で前記エッジ部分に相当する画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画素描画領域群における注目画素値と置き換えることにより、当該注目画素値を平滑化することを特徴とする、
請求項２記載の画像処理装置。
【請求項４】
それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成されたメモリに画像を描画するための装置であって、
それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタと、
前記メモリ又はそのメモリと同一構造のバッファに前記画像を描画する描画手段と、
この描画手段により描画された画像のエッジ部分に相当する画素描画領域群を検出するとともに、検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴により類似する相対特徴をもつ所定数の傾き検出フィルタを選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿することにより検出する検出手段と、
この検出手段で検出した傾き方向に応じて算定され又は外部より取得した平滑化係数に基づいて前記エッジ部分に相当する画素描画領域群の画素値を平滑化する平滑化手段と、
を有することを特徴とする、
画像処理装置。
【請求項５】
前記複数の傾き検出フィルタは、それぞれ、予め定めた傾き係数が所定方向に配列されている２次元マトリクス状の数値セルであり、
前記検出手段は、検出された前記エッジ部分に相当する画素描画領域群のすべての画素値に対して、前記複数の傾き検出フィルタに格納されているすべての傾き係数を畳み込み演算し、一方向における畳み込み演算の結果が、所定の閾値を超え且つより大きな数値となる所定数の傾き検出フィルタをそれぞれ当該方向の傾き方向の相対特徴により類似する相対特徴をもつ傾き検出フィルタとして選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿法により比例配分して１つの傾き方向を定めることを特徴とする、
請求項４記載の画像処理装置。
【請求項６】
前記平滑化手段は、予め定めた平滑化係数を前記検出手段により検出された傾き方向に配列した平滑化フィルタを生成し、この平滑化フィルタの平滑化係数で前記エッジ部分に相当する画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画素描画領域群における注目画素値と置き換えることにより、当該注目画素値を平滑化することを特徴とする、
請求項１又は４記載の画像処理装置。
【請求項７】
前記平滑化フィルタは、それぞれ、フィルタ中心からの相対距離比が大きくなるにつれてその値が小さくなる平滑化係数が前記検出された傾き方向に配列されている２次元マトリクス状の数値セルであり、
前記平滑化手段は、前記エッジ部分に相当する画素描画領域群における前記注目画素値を前記平滑化フィルタの中心位置にして当該平滑化フィルタのすべての平滑化係数で畳み込み演算することを特徴とする、
請求項５記載の画像処理装置。
【請求項８】
個々の平滑化フィルタにおけるすべての前記平滑化係数が正規化されており、当該平滑化フィルタにおける前記平滑化係数の合算値が単位数値になるように配列されていることを特徴とする、
請求項７記載の画像処理装置。
【請求項９】
前記平滑化手段は、前記検出手段により検出された傾き方向が２次元マトリクス状に並ぶ前記画素描画領域の水平ライン又は垂直のラインに対して所定の角度条件を満たしており、且つ、同じ傾きの画素描画領域が予め定めた領域数以上連続する場合にのみ、前記平滑化を行うことを特徴とする、
請求項５記載の画像処理装置。
【請求項１０】
それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成されたメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサが行う、以下の段階を含む画像処理方法。
（１）前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する段階、
（２）描画された画像のエッジ部分に相当する画素描画領域群を検出する段階、
（３）検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に最も類似する相対特徴をもつ１つの傾き検出フィルタを選定することにより検出する段階、
（４）検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う段階。
【請求項１１】
それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成されたメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサが行う、以下の段階を含む画像処理方法。
（１）前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する段階、
（２）描画された画像のエッジ部分に相当する画素描画領域群を検出する段階、
（３）検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に類似する相対特徴をもつ複数の傾き検出フィルタを選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿することにより検出する段階、
（４）検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う段階。
【請求項１２】
それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成されたメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサに、以下の処理を実行させるためのコンピュータプログラム。
（１）前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する処理、
（２）描画された画像のエッジ部分に相当する画素描画領域群を検出する処理、
（３）検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に最も類似する相対特徴をもつ１つの傾き検出フィルタを選定することにより検出する処理、
（４）検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う処理。
【請求項１３】
それぞれ画素を描画するための複数の画素描画領域が２次元マトリクス状に形成されたメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサに、以下の処理を実行させるためのコンピュータプログラム。
（１）前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する処理、
（２）描画された画像のエッジ部分に相当する画素描画領域群を検出する処理、
（３）検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に類似する相対特徴をもつ複数の傾き検出フィルタを選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿することにより検出する処理、
（４）検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う処理。
【請求項１４】
請求項１２記載のコンピュータプログラムを記録して成る、
コンピュータ読み取り可能な記録媒体。
【請求項１５】
請求項１３記載のコンピュータプログラムを記録して成る、
コンピュータ読み取り可能な記録媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
このような低解像度の２次元スクリーンで画像の表示を行う場合に、例えばエッジが画面の斜め方向に延びる画像の場合、そのエッジが表示される部分（エッジ部分）には、画像の構成単位となる画素を描画するための画素描画領域に沿った階段状のギザギザ、いわゆるジャギー（jaggies）が目立つようになる。このようなジャギーは、本来は滑らかであるべき画像のエッジ部分が、画像メモリの画素描画領域における画素値という離散的な値にマッピングされるために生ずる虚像である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
基準傾き角データ１２８は、平滑化処理を要するかどうかを判定し、要しない場合には平滑化処理を回避する、という処理をオプション処理として実行する際の平滑化処理の要否判定のために設定される。エイリアシングは、エッジが水平方向又は垂直方向に近づくほど目立つ傾向があるので、単純に角度だけで平滑化処理を要するかどうかを判断することは困難であるが、基準傾き角データ１２８によって表される基準角度という概念を設け、この基準角度とエッジ検出処理部１２２で検出した傾き角との比較を行うことで、上記のオプション処理を容易に実現することができる。
基準角度は、ごく単純には、水平、垂直方向を表す０度、９０度、１８０度及び２７０度のように選定する。そして、エッジ検出処理部１２２で検出された傾き角が実質的にこれらの角度に等しい場合は、平滑化処理を回避し、それ以外はすべて平滑化処理を行うようにする。基準角度として例えば３０度以上６０度未満のように一定の幅をもたせ、検出した傾き角が、基準角度の幅以内のときは平滑化処理を回避する、あるいは、逆に、その幅のときのみ平滑化処理を実行する、という形態も可能である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】変更
【補正の内容】
【００４９】
バッファメモリ１２５に描き込まれている画素値と平滑化フィルタ１２７の係数を積和演算し（ステップＳ２０５）、この積和演算結果を当該注目画素値の平滑化後の画素値とする（ステップＳ２０６）。当該注目画素値の平滑化処理を終えた後は、平滑化後の注目画素値を一時的に所定のメモリ領域に保存するとともに、平滑化の対象を次の注目画素値に移してステップＳ２０３以降の処理を、バッファメモリ１２５の他の注目画素値に対して繰り返す。すべての注目画素値に対する平滑化処理を終えた後は、一連の平滑化処理を終える。
なお、前述したオプション処理として、ステップＳ２０２において検出したエッジの傾きによっては、ステップＳ２０３以降の処理を回避することもできる。この場合は、検出した傾きが実質的に水平又は垂直方向でなかったなどの角度条件を満たす場合のみ、ステップＳ２０１以降の処理を行うようにする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
図１３上段は、以上の処理の概念図である。図１３上段左側は、平滑化前の画素描画領域群（バッファメモリ１２５の一部領域）６１の各画素値とエッジ部分の画素描画領域群６２の各画素値の状態、図１３上段右側は、平滑化フィルタ１２７の平滑化係数、図１３下段左側は、平滑化処理後の画素描画領域６６（画像メモリ１６に対応する画素描画領域）の各画素値の状態、図１３下段右側は、画像メモリ１６に実際に描画される画像（平滑化画像）の状態を示している。なお、平滑化前の画素描画領域群６１（エッジ部分の画素描画領域群６２を含む）において、”１”／”０”は、当該画素描画領域の画素値である。
平滑化処理後の注目画素値６３は、図１２のようにして求めることができる。すなわち、注目画素値６３を平滑化フィルタ１２７の中心に合わせたときの画素描画領域群６１の画素値を各項における左項、平滑化フィルタ１２７に格納されている平滑化係数を各項における右項にして、積和演算する。図示の場合の積和演算の結果は０．６となり、平滑化前の１から比べて、画素値が低くなっている。他の画素値についても、同様の手順で平滑化する。
画像メモリ１６には、このようにして平滑化されたエッジ部分の画素描画領域群８０の各画素値を含む描画データが描画される。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
角度データ（Ｂ）は、以下のようにして導出することができる。
まず、図１７（ｂ）のエッジ領域データの中で、係数が”１”とされた画素のそれぞれについて、エッジ領域データとの演算結果が最も大きくなる３つの傾き検出フィルタ１２６を選定し、これらの傾き検出フィルタ１２６により特定される方向から３つを選んで内挿を行い、これにより得られた中間的な角度を表すデータを角度データとする。ここにいう「内挿」とは、有限数の検出角度から、各検出角度以外の角度を推定することをいう。例えば、図１５のように、２２．５度毎に用意した複数の傾き検出フィルタ１２６により特定される検出角度の中から近いものからＡ（２２．５度）、Ａ＋ｃ（４５度）、Ａ＋２ｃ（６７．５度）の３つを選んで内挿を行い、中間的な角度をエッジの方向として特定し、この角度を表すデータを角度データとする（ただし、ｃはサンプリング幅）。
この手法を図１６を参照してより詳しく説明する。
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図１３
【補正方法】変更
【補正の内容】
【図１３】
2005122361.tif 000020