JP2005122361A - 画像処理装置及び方法、コンピュータプログラム、記録媒体 - Google Patents

画像処理装置及び方法、コンピュータプログラム、記録媒体 Download PDF

Info

Publication number
JP2005122361A
JP2005122361A JP2003354897A JP2003354897A JP2005122361A JP 2005122361 A JP2005122361 A JP 2005122361A JP 2003354897 A JP2003354897 A JP 2003354897A JP 2003354897 A JP2003354897 A JP 2003354897A JP 2005122361 A JP2005122361 A JP 2005122361A
Authority
JP
Japan
Prior art keywords
inclination
smoothing
pixel
image
filter
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
Application number
JP2003354897A
Other languages
English (en)
Inventor
Masaaki Oka
正昭 岡
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2003354897A priority Critical patent/JP2005122361A/ja
Priority to PCT/JP2004/015570 priority patent/WO2005036468A1/en
Priority to US10/575,529 priority patent/US7612784B2/en
Publication of JP2005122361A publication Critical patent/JP2005122361A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • G06T5/70
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/12Indexing scheme for image data processing or generation, in general involving antialiasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20004Adaptive image processing
    • G06T2207/20012Locally adaptive

Abstract

【課題】 描画の前にソートを行うことなく、また、余分な解像度で描画することなく、アンチエイリアシングを行う画像処理装置を提供する。
【解決手段】 画像メモリ16と同一構造のバッファメモリ125において所定方向に画素値が繋がる画素描画領域群の相対的な傾きを表す傾き係数が格納されている複数の傾き検出フィルタ126と、各傾きに応じた平滑化係数を格納した複数の平滑化フィルタ127を用意しておく。そして、レンダリングユニット12が、画像をバッファメモリ125に描画し、この画像のエッジ部分の傾きを、複数の傾き検出フィルタの中から当該傾きに最も適合する1つの傾き検出フィルタを選定することにより検出するとともに、検出した傾きに応じた平滑化フィルタでエッジ部分の画素値を平滑化する。そして、平滑化された画素値を含む描画データを画像メモリ16に書き込む。
【選択図】 図1

Description

本発明は、例えばアンチエイリアシング(Anti-aliasing)を少ないリソースで且つ色等の破綻なく実現するための画像処理の手法に関する。
近年、ゲームコンソール装置のようなリアルタイム性の画像処理を行うシステムでは、プロセッサ、メモリ等のハードウエアの高集積化、処理クロックの高速化が飛躍的に進んでいる。その結果、従来は不可能であった、精細で多様性に富み、且つリアリティ性の高い画像をリアルタイムに生成することも最近は可能になっている。
その一方で、画像を表示する2次元スクリーンとして一般的に使用されているテレビジョンモニタ装置等は、近年の高画質化に追従しきれていない。例えば、標準テレビジョン放送方式であるNTSC規格のテレビジョンモニタ装置では、1フレーム(2フィールド)当たり640×448ドット程度の低い解像度での表示が上限となっている。
このような低解像度の2次元スクリーンで画像の表示を行う場合に、例えばエッジが画面の斜め方向に延びる画像の場合、そのエッジが表示される部分(エッジ部分)には、画像の構成単位となる画素を描画するための画素描画領域に沿った階段状のギザギザ、いわゆるジャギー(jaggies)が目立つようになる。このようなジャギーは、本来は滑らかであるべき画像のエッジ部分が、画像メモリの画素描画領域における画素値という離散的な値にマッピングされるために生ずる虚像であり、一般的には「エイリアス」と呼ばれている。
そのため、比較的低解像度の2次元スクリーンへ出力する画像を処理するシステムでは、エイリアスを除去し、あるいはエイリアスを目立たなくする処理、すなわち「アンチエイリアシング」を行うことにより、ジャギーの無い滑らかな画像を生成して画像メモリに描画するようにしているのが一般的である。
アンチエイリアシングには、種々の手法がある。その例を以下に掲げる。
(1)第1手法
カバレッジ(1又は複数の画素描画領域に占める画素の専有面積)により背景画素とのブレンディングを行う手法である。例えば、エッジ部分のカバレッジがαのとき、そのエッジ部分の前景画素のカラー値Csと、背景画素のカラー値Cdとを次の式によりブレンディングし、これを当該エッジ部分の画素描画領域に描画すべき画素のカラー値Cとする。
C=α*Cs+(1−α)*Cd
つまり、前景画素のカラー値Csをα倍した数値に、背景画素のカラー値Cdを(1−α)倍した数値を加算し、これをエッジ部分の画素描画領域に描画すべき画素のカラー値Cとする。このようなブレンディング処理により、エッジ部分にグラデーション(多階調画素)が付加されるので、当該エッジ部分でのエイリアシングが軽減される。
(2)第2手法
高解像度の画像を描画後にフィルタリングして最終的に描画対象となる画素の数を減らす手法である。例えば、前段階として実際に描画する画像よりも高い解像度を生成し、その後に、画素描画領域における複数の画素を平均化する。これにより、グラデーションと略同様の効果を期待することができる。
上述した第1手法では、例えば、背景画素を先に画像メモリに描画しておくことにより、最終的に、画面上でエッジ部分がどのカラー値と接しているかを予測できるようにしなければならない。そのため、背景画像と、その上に描画する画像との間で、視点からの距離によるソート処理が別途必要になる、という問題がある。
また、上述した第2手法では、実際に描画される画像よりも高い解像度の画像の描画を行うため、描画処理に要する時間が余分にかかり、さらに、画像メモリの容量も余分に用意しなければならないという問題がある。
本発明は、このような問題を生じさせることなく、少ないリソースで且つ色等の破綻なくアンチエイリアシングを実現するための画像処理の手法を提供することを主たる課題とする。
本発明は、特徴的なアンチエイリアシングを実現するための画像処理装置及び方法、コンピュータプログラム及び記録媒体を提供する。
本発明が提供する第1構成の画像処理装置は、それぞれ画素を描画するための複数の画素描画領域が2次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリに画像を描画するための装置であって、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタと、前記メモリ又はそのメモリと同一構造のバッファに前記画像を描画する描画手段と、この描画手段により描画された画像のエッジ部分に相当する画素描画領域群を検出するとともに、検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に最も類似する相対特徴をもつ1つの傾き検出フィルタを選定することにより検出する検出手段と、この検出手段で検出した傾き方向に応じて算定され又は外部より取得した平滑化係数に基づいて前記エッジ部分に相当する画素描画領域群の画素値を平滑化する平滑化手段と、を有するものである。
このように構成される画像処理装置では、描画手段がメモリ又はバッファに画像を描画した後、検出手段が、描画された画像のエッジ部分に相当する画素描画領域群を検出するとともに、その画素描画領域群の傾き方向を複数の傾き検出フィルタを用いて検出した後、平滑化手段が、検出された傾き方向に応じて算定され又は外部より取得した平滑化係数に基づいてエッジ部分に相当する画素描画領域群の画素値を平滑化する。そのため、従来のようにメモリへの描画前にアンチエイリアシングのための複雑な処理を行う必要がなくなり、少ないリソースで且つ色等の破綻なく画像処理を行うことができる。
なお、本明細書にいう「画素描画領域群」とは、複数の画素描画領域のうち、互いに繋がる連続した塊をいう。
前記複数の傾き検出フィルタは、それぞれ、予め定めた傾き係数が所定方向に配列されている2次元マトリクス状の数値セルにより実現することができる。この場合、前記検出手段は、検出された前記エッジ部分に相当する画素描画領域群のすべての画素値に対して、前記複数の傾き検出フィルタに格納されているすべての傾き係数を畳み込み演算し、一方向における畳み込み演算の結果が、所定の閾値を超え且つ最も大きな数値となる1つの傾き検出フィルタを、当該方向の傾き方向の相対特徴に最も類似する相対特徴をもつ傾き検出フィルタとして選定する。
また、前記平滑化手段は、例えば、それぞれ1つの前記傾き検出フィルタとリンクし予め定めた平滑化係数が当該傾き検出フィルタにおいて配列されている傾き係数と同じ方向に配列されている複数の平滑化フィルタを有しており、前記検出手段による傾き検出フィルタの選定を契機に、当該選定された傾き検出フィルタにリンクされている平滑化フィルタを特定し、特定した平滑化フィルタの平滑化係数で前記エッジ部分に相当する画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画素描画領域群における注目画素値と置き換えることにより、当該注目画素値を平滑化するように構成される。このような構成では、傾き方向が検出されることによってそれにリンクする平滑化フィルタが特定され、この平滑化フィルタの平滑化係数によって画素描画領域群における注目画素値が平滑化されるので、描画処理全体の負荷が軽減化される。
「注目画素値」とは、平滑化の対象とするために注目する1つの画素値であり、平滑化が進む度に、他の画素値に移っていくものである。
前記複数の傾き検出フィルタは、例えば、それぞれ、予め定めた傾き係数が所定方向に配列されている2次元マトリクス状の数値セルにより構成される。この場合、前記検出手段は、前記バッファメモリ上の画素描画領域群のすべての画素値に対して、前記複数の傾き検出フィルタに格納されているすべての傾き係数を畳み込み演算し、一方向における畳み込み演算の結果が、所定の閾値を超え且つ最も大きい数値となる1つの傾き検出フィルタを、当該方向の傾きに最も適合する傾き検出フィルタとして選定する。
本発明が提供する第2構成の画像処理装置は、それぞれ画素を描画するための複数の画素描画領域が2次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリに画像を描画するための装置であって、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタと、前記メモリ又はそのメモリと同一構造のバッファに前記画像を描画する描画手段と、この描画手段により描画された画像のエッジ部分に相当する画素描画領域群を検出するとともに、検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴により類似する相対特徴をもつ所定数の傾き検出フィルタを選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿することにより検出する検出手段と、この検出手段で検出した傾き方向に応じて算定され又は外部より取得した平滑化係数に基づいて前記エッジ部分に相当する画素描画領域群の画素値を平滑化する平滑化手段と、を有することを特徴とする。
このように構成される画像処理装置では、第1構成の画像処理装置と異なり、前記検出手段が、描画された画像のエッジ部分に相当する画素描画領域群の傾き方向の相対特徴により類似する相対特徴をもつ所定数の傾き検出フィルタを選定し、これらの傾き検出フィルタにより特定される複数の傾き方向を内挿することにより画素描画領域群の傾き方向を検出するので、用意する傾き検出フィルタが第1構成の画像処理装置より少ない場合であっても、精度の高い傾き検出ができるようになる。
前記検出手段は、より具体的には、検出された前記エッジ部分に相当する画素描画領域群のすべての画素値に対して、前記複数の傾き検出フィルタに格納されているすべての傾き係数を畳み込み演算し、一方向における畳み込み演算の結果が、所定の閾値を超え且つより大きな数値となる所定数の傾き検出フィルタをそれぞれ当該方向の傾き方向の相対特徴により類似する相対特徴をもつ傾き検出フィルタとして選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿法により比例配分して1つの傾き方向を定めるようにする。
第1構成及び第2構成の画像処理装置において、前記平滑化手段は、例えば、予め定めた平滑化係数を前記検出手段により検出された傾き方向に配列した平滑化フィルタを生成し、この平滑化フィルタの平滑化係数で前記エッジ部分に相当する画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画素描画領域群における注目画素値と置き換えることにより、当該注目画素値を平滑化するように構成するようにしてもよい。
予め生成しておくか、その都度生成するかに関わらず、前記平滑化フィルタは、それぞれ、フィルタ中心からの相対距離比が大きくなるにつれてその値が小さくなる平滑化係数が前記検出された傾き方向に配列されている2次元マトリクス状の数値セルとすることができる。この場合、前記平滑化手段は、前記エッジ部分に相当する画素描画領域群における前記注目画素値を前記平滑化フィルタの中心位置にして当該平滑化フィルタのすべての平滑化係数で畳み込み演算するように構成する。
好ましい実施の態様では、個々の平滑化フィルタにおけるすべての前記平滑化係数が正規化されており、当該平滑化フィルタにおける前記平滑化係数の合算値が単位数値になるように配列されているようにする。平滑化フィルタをこのような構成のものとすることにより、相対的な大きさの画素値で畳み込み演算できるようになり、正規化しない場合に比べて処理量が低下するとともに平滑化の効果が増大する。
なお、すべての画素描画領域群の画素について平滑化する必要はなく、平滑化が必要な場合だけ、平滑化するように構成することもできる。この場合、前記平滑化手段を、前記検出手段により検出された傾き方向が2次元マトリクス状に並ぶ前記画素描画領域の水平ライン又は垂直のラインに対して所定の角度条件を満たしており、且つ、同じ傾きの画素描画領域が予め定めた領域数以上連続する場合にのみ、前記平滑化を行うなどのように構成する。
本発明による第1の画像処理方法は、それぞれ画素を描画するための複数の画素描画領域が2次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサが行う、以下の段階を含む画像処理方法である。
(1)前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する段階、
(2)描画された画像のエッジ部分に相当する画素描画領域群を検出する段階、
(3)検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に最も類似する相対特徴をもつ1つの傾き検出フィルタを選定することにより検出する段階、
(4)検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う段階。
本発明による第2の画像処理方法は、それぞれ画素を描画するための複数の画素描画領域が2次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサが行う、以下の段階を含む画像処理方法である。
(1)前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する段階、
(2)描画された画像のエッジ部分に相当する画素描画領域群を検出する段階、
(3)検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に類似する相対特徴をもつ複数の傾き検出フィルタを選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿することにより検出する段階、
(4)検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う段階。
本発明による第1のコンピュータプログラムは、それぞれ画素を描画するための複数の画素描画領域が2次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサに、以下の処理を実行させるためのコンピュータプログラムである。
(1)前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する処理、
(2)描画された画像のエッジ部分に相当する画素描画領域群を検出する処理、
(3)検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に最も類似する相対特徴をもつ1つの傾き検出フィルタを選定することにより検出する処理、
(4)検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う処理。
本発明による第2のコンピュータプログラムは、それぞれ画素を描画するための複数の画素描画領域が2次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサに、以下の処理を実行させるためのコンピュータプログラムである。
(1)前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する処理、
(2)描画された画像のエッジ部分に相当する画素描画領域群を検出する処理、
(3)検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に類似する相対特徴をもつ複数の傾き検出フィルタを選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿することにより検出する処理、
(4)検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う処理。
このような各コンピュータプログラムは、通信ネットワークを媒体として流通するものであってもよく、RAM、DVD−ROM、半導体メモリその他のコンピュータ読み取り可能な記録媒体に記録されて流通可能になるものであってもよい。
本発明では、描画対象となる画像のうち、エッジ部分の画素描画領域群の傾きを検出し、検出した傾きに応じて算定された平滑化係数に基づいて当該エッジ部分の画素描画領域群の画素値を平滑化し、平滑化された画素値を含む描画データを画像メモリに書き込むようにしたので、低コストで高品質の画像処理を実現する仕組みを提供することができる。
本発明が適用される画像処理装置の構成例を図1に示す。
この画像処理装置1は、それぞれバスBを通じて相互に接続されている主プロセッサ10、ジオメトリユニット11、レンダリングユニット12、主メモリ13、ドライブユニット14及び通信ユニット15を有している。レンダリングユニット12には、2次元マトリクス状の画素描画領域群を有する画像メモリ16が接続されている。
画像処理装置1は、また、画像メモリ16に描画されている画像をディスプレイ18に表示するためのディスプレイコントローラ17を有している。
主メモリ13には、描画(表示)対象となるポリゴン等の図形情報、例えば、頂点座標値、各頂点のR(赤)、G(緑)、B(青)のカラー値、マップ座標値、ベクトル値等の頂点情報及び頂点連結情報等が格納されている。図形情報は、例えば、主プロセッサ10の制御のもとで、ドライブユニット14が、それに装着されたCD−ROM、DVD−ROM、半導体メモリ等の各種記録媒体から読み取ったり、通信ユニット15が有線あるいは無線による通信媒体、伝送媒体等を介して取り込んだものである。
ジオメトリユニット11は、主プロセッサ10の制御のもとで、主メモリ13から上記の図形情報を読み出し、その図形情報に対してアフィン変換、スクリーン座標への投影変換、頂点に対する光源処理等のジオメトリ処理を行う。ジオメトリ処理の結果データは、レンダリングユニット12へ供給される。
レンダリングユニット12は、ジオメトリユニット11から送られてきたジオメトリ処理の結果データに基づいて、アンチエイリアシング処理を含む描画処理(レンダリング処理)を行い、画像メモリ16に書き込むべき描画データを生成する。
本発明の特徴的な描画処理を実現するため、レンダリングユニット12には、通常はその内部メモリに記録されている描画処理用のコンピュータプログラムと、レンダリング用プロセッサとの協働により、描画処理部121、エッジ検出処理部122、平滑化処理部123の機能部品が構築される。レンダリングユニット12は、また、レンダリング用プロセッサがアクセス可能な記録装置に、画像のテクスチャ属性が記録されたテクスチャメモリ124及びバッファメモリ125を構築し、さらに、後述する複数の傾き検出フィルタ126及び複数の平滑化フィルタ127、並びに、後述する平滑化処理を行うべきかどうかの角度条件を定める基準傾き角データ128を記録している。
テクスチャメモリ124に記録されるテクスチャ属性は、例えば上述したCD−ROM、DVD−ROM、半導体メモリ等の各種記録媒体、有線ないし無線による通信媒体あるいは伝送媒体等を介して取り込まれたものである。
バッファメモリ125は、画像メモリ16と同一構造の画素描画領域(すなわち、2次元マトリクス状の画素描画領域)が形成されているもので、主として、エッジ部分の画素描画領域及びその傾きの検出、画素平滑化処理のためのバッファとして用いられるものである。
この実施の形態における複数の傾き検出フィルタ126は、それぞれ、予め定めた傾き係数が所定方向に配列されている2次元マトリクス状の数値セルである。例えば、水平方向(0度)であれば、2次元マトリクスの中央部から水平方向に延びる複数の数値領域に”1”を傾き係数として配列する。垂直方向(90度)であれば、2次元マトリクスの中央部から垂直方向に延びる複数の数値領域に”1”を傾き係数として配列する。45度方向、135度方向についても同様である。30度方向、120度方向など、前述の0度、45度、90度、135度以外の角度については、傾き係数自体が線形にならない場合が多いので、傾き方向を表す仮想直線を挟む一対の数値領域に共に”0.5”を配列するようにする。このような傾き係数は、後述する傾き検出時の畳み込み処理に用いるものであり、傾き検出を容易にする値であれば、上記の”1”、”0.5”に限定されるものではない。
複数の平滑化フィルタ127は、それぞれ、中心位置からの相対距離比が大きくなるにつれてその値が小さくなる平滑化係数が傾き方向に配列されている2次元マトリクス状の数値セルであり、予め、あるいは、平滑化処理の都度、生成されて保存される。
平滑化係数は、互いに繋がる画素描画領域群の傾きに応じて個々の画素描画領域の画素値を変化させるためのもので、最大値”1”と最小値”0”との間のいずれかの値をとり、通常は、1つの平滑化フィルタにおける平滑化係数の合算値が”1”となるように正規化されている。
各平滑化フィルタ127には、それぞれ、平滑化係数で平滑しようとする画素描画領域の傾き方向に応じたインデックスが付けられている。これにより、他の平滑化フィルタと識別することができる。例えば30度方向に繋がる画素描画領域の画素値を変化させるための平滑化フィルタであれば、30度用平滑化フィルタ、120度方向に繋がる画素描画領域の画素値を変化させるための平滑化フィルタであれば、120度用平滑化フィルタ、・・・をインデックスとする。
この実施の形態では、主として描画処理を迅速化する観点から、同じ傾き方向を表す傾き検出フィルタ126と1対1にリンクさせておき、いずれかの傾き検出フィルタ126が選定されたときに、それにリンクする平滑化フィルタ127が直ちに読み出せるようにする。
図2は、この場合の傾き検出フィルタ126と平滑化フィルタ127との関係を示している。図2(a)は45度方向の傾きを表す傾き検出フィルタ126と45度用平滑化フィルタ、同(b)は60度方向の傾きを表す傾き検出フィルタ126と60度用平滑化フィルタ、同(c)は120度方向の傾きを表す傾き検出フィルタ126と120度用平滑化フィルタ、同(d)は135度方向の傾きを表す傾き検出フィルタ126と135度用平滑化フィルタの例である。図2(e)は垂直方向(90度)の傾き検出フィルタであり、同(f)は水平方向(0度)の傾き検出フィルタの例であるが、水平方向及び垂直方向ではジャギーが生じないので、本実施形態では、後述の平滑化処理は行わないものとして平滑化フィルタはリンクさせていないが、リンクさせるようにすることは、可能である。
基準傾き角データ128は、平滑化処理を要するかどうかを判定し、要しない場合には平滑化処理を回避する、という処理をオプション処理として実行する際に、その平滑化処理の要否判定のために設定される。エイリアシングは、エッジが水平方向又は垂直方向に近づくほど目立つ傾向があるので、単純に角度だけで平滑化処理を要するかどうかを判断することは困難であるが、基準傾き角データ128によって表される基準角度という概念を設け、この基準角度とエッジ検出処理部122で検出した傾き角との比較を行うことで、上記のオプション処理を容易に実現することができる。
基準角度は、ごく単純には、水平、垂直方向を表す0度、90度、180度及び270度のように選定する。そして、エッジ検出処理部122で検出された傾き角が実質的にこれらの角度に等しい場合は、平滑化処理を回避し、それ以外はすべて平滑化処理を行うようにする。基準角度として例えば30度以上60度未満のように一定の幅をもたせ、検出した傾き角が、基準角度の幅以内のときは平滑化処理を回避する、あるいは、逆に、その幅のときのみ平滑化処理を実行する、という形態も可能である。
描画処理部121は、ジオメトリユニット11から送られてくるジオメトリ処理の結果データとテクスチャメモリ124からのテクスチャ属性とを取り込み、これらのデータに基づいて画素値を演算するとともに、演算した画素値をアンチエイリアシングを行うことなく、バッファメモリ125に書き込む。つまり、バッファメモリ125への未平滑化画像の描画処理を行う。この描画処理は、例えば、ストリップ状又はファン状のポリゴンメッシュ構造のデータを独立のポリゴンデータに変換したり、ジオメトリ処理の結果データに含まれる描画位置データ、奥行きデータ、色データ等を分析して、描画すべき領域の選択(area culling)及びバック選択(back culling)等を行い、不要なポリゴンデータを廃棄したり、色データを合成したり、画像にテクスチャ属性を反映させたりして、画素描画領域に書き込む画素値を生成する処理である。
エッジ検出処理部122は、バッファメモリ125に描画されている画像の各画素描画領域の画素値を読み出し、描画された画像のエッジ部分に相当する画素描画領域群の存在と、その画素描画領域群の相対的な傾きとを検出する処理を行う。より具体的には、バッファメモリ125に描画された画像にエッジ抽出フィルタをかけ、エッジ部分の画素描画領域群を検出する。
エッジ抽出フィルタとしては、例えば、以下のような公知の手法を採用することができる。すなわち、画像の1次微分により得られるレベル差によりエッジ検出を行うレベルフィルタ、2次微分によるレベル差によりエッジ検出を行う単純ラプラシアンフィルタ、所定領域内で平滑化を行いながら2次微分を行うことでエッジ検出を行うノイズ抑制型ラプラシアンフィルタ、単純ラプラシアンオペレータの要素を空間的に離してエッジ検出を行うブリッジフィルタ、画像からn×n領域(n=3、5、7)の平均値を引くことでエッジ検出を行うサーフボードフィルタ等をエッジ抽出フィルタとして採用することができる。なお、エッジ部分の画素描画領域群の検出のための具体的な手法については、長尾 真訳 「デジタル画像処理」1978年 近代科学社 P281〜P304に詳細に記載されているので、この記載を参考にすることができる。
このようにして検出されたエッジ部分の画素描画領域群の画素に対して、エッジ検出処理部122は、複数の傾き検出フィルタ126の中からその画素描画領域群の傾きに最も適合した傾き検出フィルタを選定し、その傾き検出フィルタ126が表す傾き方向を特定する。このようにして、エッジ部分の画素描画領域群について、それがエッジ部分かどうか、エッジ部分である場合にそれがどの方向に傾いているかを、自動的に判定することができる。なお、エッジ検出処理部122における詳細な手順については、後述する。
平滑化処理部123は、平滑化処理を要する画素描画領域の画素値を上述した平滑化係数で平滑化し、平滑化された画素値を含む描画データを画像メモリ16に書き込むための処理を行う。平滑化処理部123は、また、平滑化係数を格納した平滑化フィルタ127を生成する機能をも有している。この機能は、予め画素描画領域の傾き方向に応じた複数の平滑化フィルタ127を生成して保存しておくのではなく、エッジ検出処理部122で画素描画領域群の傾きを検出する都度、平滑化フィルタ127を生成する際に、起動される。この平滑化フィルタ127の生成手順を図3に示す。
図3(a)のように、平滑化フィルタ127のもととなる2次元マトリクス状の数値領域51のうち、エッジ検出処理部122で検出され、特定された傾き方向に仮想直線を引く。この仮想直線と交差する数値領域に”1”、交差しない数値領域に”0”を格納し、さらに、”1”が格納されている数値領域を、中心部の数値領域からの相対距離比(実距離+1)で除算し、(b)のような平滑化係数が格納された2次元マトリクス52とする。そして、この2次元マトリクス52の平滑化係数を、それらの合算値が”1”になるように正規化して、(c)のような2次元マトリクス53とする。この2次元マトリクス53が120度用の平滑化フィルタ127となる。
画像メモリ16は、バンクAとバンクBからなる2バンク構成のバッファ機能を有するメモリである。一方のバンク、例えばバンクAが描画バッファとして機能している間、他方のバンクであるバンクBは描画されたデータをディスプレイ18に表示させる際に用いられる表示バッファとして機能する。このようにして、描画及びそれに続く表示の処理速度の向上を図っている。
ディスプレイコントローラ17は、ディスプレイ18の水平同期信号、垂直同期信号等を生成すると共に、そのディスプレイ18の表示タイミングに従い、画像メモリ16から画素値を順次取り出し、ディスプレイ18の2次元スクリーン上に、2次元画像として表示させる。
<アンチエイリアシング処理>
次に、図4及び図5を参照して、この実施形態の画像処理装置1、特にレンダリングユニット12が行うアンチエイリアシングの処理手順を説明する。
図4において、描画処理部121は、ジオメトリユニット11から受け取ったジオメトリデータに基づいて、画像についての画素値を演算し、この演算結果をそれぞれバッファメモリ125の画素描画領域に書き込む(ステップS11)。図5(a)は、バッファメモリ125に書き込まれた描画データによる画像60の例を示している。水平方向及び垂直方向のエッジ部分にはジャギーが発生しないが、水平方向又は垂直方向から傾くにつれて、徐々にジャギーが目立つようになることがわかる。
エッジ検出処理部122は、上述したエッジ抽出フィルタを用いて、バッファメモリ125に描画された画像のエッジ部分の画素描画領域群を検出する(ステップS12)。具体的には、図5(b)に示されるように画素描画領域群71〜73を検出する。エッジ検出処理部122は、さらに、このエッジ部分の画素描画領域71〜73の相対的な傾きを複数の傾き検出フィルタ126を用いて検出する(ステップS13)。
平滑化処理部123は、検出した傾きに対応する平滑化フィルタ127で、エッジ部分の画素描画領域群71〜73の画素値を平滑化する(ステップS14)。その後、平滑化された画素値を含む描画データを画像メモリ16に書き込む。つまり、画像メモリ16に、平滑化画像を描画する(ステップS15)。図5(c)は、画像メモリ16に描画された画像80の状態を示している。
<傾き検出処理>
次に、図4における各処理の手順をより詳しく説明する。
まず、ステップS13における傾き検出処理の手順を図6を参照して説明する。
図6において、エッジ検出処理部122は、バッファメモリ125上のエッジ部の各画素描画領域の画素値を各々の画素値の配列情報と共に読み出す(ステップS131)。そして、読み出した画素値に対して、すべての傾き検出フィルタ126のすべての傾き係数を畳み込み演算し(ステップS132)、1方向のエッジ部分の畳み込み演算結果を集計する(ステップS133)。そして、演算結果が予め定めた閾値を超え(ステップS134:Yes)且つ、演算結果が最も大きくなる1つの傾き検出フィルタ126を、当該方向の傾きに最も適合する傾き検出フィルタとして選定し(ステップS135)、選定した傾き検出フィルタが表す傾きを当該方向の傾きとして特定する(ステップS136)。なお、演算結果が閾値を超えない場合は、エッジ部分ではないと判定する。
他の傾き方向を検出するときはステップS133以降の処理を繰り返し(ステップS137:Yes)、他の傾き方向を検出しないときは、傾き検出処理を終える(ステップS137:No)。
<平滑化処理>
ステップS14における平滑化処理には、3パターンの処理がある。
図7は、予め、傾き検出フィルタ126と同じ傾き方向の平滑化フィルタとをリンクしておく場合の例である。すなわち、エッジ検出処理部122で選定された傾き検出フィルタ126にリンクする平滑化フィルタ127を読み出し(ステップS141A)、この読み出した平滑化フィルタ127に格納されている平滑化係数で、エッジ部分の画素描画領域の画素値を平滑化する(ステップS142A)。
図8は、複数の平滑化フィルタ127が、傾き検出フィルタ126とは独立ではあるが、線分の傾き方向によって識別されるように保持されている場合の例である。すなわち、エッジ検出処理部122で選定された傾き検出フィルタ126を通じて特定された傾き方向により識別される平滑化フィルタ127を読み出し(ステップS141B)、この読み出した平滑化フィルタ127に格納されている平滑化係数で、エッジ部分の画素描画領域の画素値を平滑化する(ステップS142B)。
図9は、傾きに応じた平滑化係数を格納した平滑化フィルタ127を、その都度生成して保存する場合の例である。すなわち、エッジ検出処理部122で選定された傾き検出フィルタ126を通じて特定された傾き方向毎に、その傾き方向に延びる仮想直線を生成する(ステップS141C)。その後、N×M(N,Mは3以上の自然数、N=Mであることを妨げない。)の2次元マトリクスの数値領域のうち、仮想直線が交差する領域を有効領域とする平滑化フィルタを生成し(ステップS142C)、生成した平滑化フィルタ127を保存する(ステップS143C)。そして、傾き方向毎に、該当する平滑化フィルタ127を読み出し(ステップS144C)、読み出した平滑化フィルタ127に格納されている平滑化係数で、エッジ部分の画素描画領域の画素値を平滑化する(ステップS145C)。
平滑化処理の具体的な内容を図10〜図13を参照して説明する。
平滑化処理は、バッファメモリ125に描画されている画素のすべてについて一様に行う。ここでは、注目画素値がどの描画領域に含まれていたかという情報ではなく、その注目画素値がエッジ部分の画素値である場合のエッジの傾きの情報を使用する場合の例を挙げる。すなわち、図10において、バッファメモリ125のすべての画素について、それがエッジの画素であるかどうかを判定し(ステップS201)、エッジの画素でない場合は、最初の処理に戻る(ステップS201:No)。エッジの画素であった場合は、そのエッジの傾きを検出する(ステップS202)。そして、検出した傾きに合わせた平滑化フィルタ127を選択する(ステップS203)。その後、エッジ部分の注目画素値と平滑化フィルタ127との中心に合わせる(ステップS204)。図11の場合、相対的な傾きは120度なので、120度用の平滑化フィルタ127の中心を注目画素値に合わせる(ステップS204)。
バッファメモリ125に描き込まれている画素値と平滑化フィルタ127の係数を積和演算し(ステップS205)、この積和演算結果を当該注目画素値の平滑化後の画素値とする(ステップS206)。当該注目画素値の平滑化処理を終えた後は、平滑化後の注目画素値を一時的に所定のメモリ領域に保存するとともに、平滑化の対象を次の注目画素値に移してステップS203以降の処理を、バッファメモリ125の他の注目画素値に対して繰り返す。すべての注目画素値に対する平滑化処理を終えた後は、一連の平滑化処理を終える。
なお、前述したオプション処理として、ステップS202において検出したエッジの傾きによっては、ステップS203以降の処理を回避することもできる。この場合は、検出した傾きが実質的に水平又は垂直方向でなかったなどの角度条件を満たす場合のみ、ステップS203以降の処理を行うようにする。
図13上段は、以上の処理の概念図である。図13上段左側は、平滑化前の画素描画領域群(バッファメモリ125の一部領域)61の各画素値とエッジ部分の画素描画領域群62の各画素値の状態、図13上段右側は、平滑化フィルタ127の平滑化係数、図13下段左側は、平滑化処理後の画素描画領域66(画像メモリ16に対応する画素描画領域)の各画素値の状態、図13下段右側は、画像メモリ16に実際に描画される画像(平滑化画像)の状態を示している。なお、平滑化前の画素描画領域群61(エッジ部分の画素描画領域群62を含む)において、”1”/”0”は、当該画素描画領域の画素値である。
平滑化処理後の注目画素値63は、図12のようにして求めることができる。すなわち、注目画素値63を平滑化フィルタ127の中心に合わせたときの画素描画領域群61の画素値を左辺、平滑化フィルタ127に格納されている平滑化係数を右辺にして、積和演算する。図示の場合の積和演算の結果は0.6となり、平滑化前の1から比べて、画素値が低くなっている。他の画素値についても、同様の手順で平滑化する。
画像メモリ16には、このようにして平滑化されたエッジ部分の画素描画領域群80の各画素値を含む描画データが描画される。
なお、オプション処理であるところの平滑化処理を行うかどうかの判断に際しては、角度条件を満たす場合に平滑化処理を行うものとして説明したが、同じ角度で連なる画素描画領域群であっても、それが3〜5領域程度の連なりなのか、10領域あるいはそれ以上の連なりなのかによって、描画されたときの見え方が異なる場合がある。そこで、この連なりの数を検出し、検出結果に応じて平滑化処理を行うかどうか、あるいは、平滑化フィルタ127のセル数を変更するかどうか(5×5の数値セルではなく、3×3の数値セルを使うなど)を決めるようにしてもよい。
同じ方向のエッジとなる複数の画素は、それぞれ同じエッジ方向をもつはずなので、これにより、エッジ部分の複数の画素を同じ傾きと判断することができる。テクスチャメモリ124に記録されているテクスチャに由来するエッジに基づいてエッジ部分の画素の個々の傾きを調べるようにすることもできる。
=他の実施の形態=
図14は、本発明の他の実施形態による画像処理装置の構成例を示している。便宜上、図1に示したものと同一機能の部品については、同一符号を付してある。
この図14に示した画像処理装置が図1に示した画像処理装置と異なるのは、前述した傾き検出フィルタ126と平滑化フィルタ127とが互いに独立に存在すること、レンダリングユニット12における未平滑化画像がバッファメモリ125に描画された後、平滑化処理部223に直接読み込まれる構成になっていること、エッジ検出のための処理系が、エッジ領域検出処理部221とエッジ方向検出処理部222とに分かれていることである。
エッジ領域検出処理部221は、バッファメモリ125に描画された未平滑化画像にエッジ検出フィルタをかけた後のエッジ部分の画素描画領域がどれかを示すエッジ領域データを生成し、このエッジ領域データをエッジ方向検出処理部222に出力する。
例えば、図17(a)のような未平滑化画像にエッジ検出フィルタをかけることにより、図17(b)のようにエッジ部分であるとされる部分の領域が係数”1”、そうでない部分の領域が係数”0”となるエッジ領域データ(領域位置データと係数との組合せからなるデータ)を生成する。図17(a)、(b)から明らかなように、未平滑化画像のうち、画素値が描画されている領域が常に係数”1”となるものではなく、画素値が描画されていない領域でも係数”1”となり得るものである点に留意されたい。この点は、上述した実施形態の場合も同じである。
エッジ方向検出処理部222は、このエッジ領域データと傾き検出フィルタ126とに基づいて、エッジ部分の画素描画領域群の相対的な傾きを表すエッジ方向データを生成し、このエッジ方向データを平滑化処理部223に出力する。エッジ方向データは、例えば図17(c)のような構造のものである。すなわち、エッジ方向が2次元マトリクスの水平軸又は垂直軸に対して何度かを表す角度データ(B)により構成される。
角度データ(B)は、以下のようにして導出することができる。
まず、図17(b)のエッジ領域データの中で、係数が”1”とされた画素のそれぞれについて、エッジ領域データとの演算結果が最も大きくなる3つの傾き検出フィルタ126を選定し、これらの傾き検出フィルタ126により特定される方向から3つを選んで内挿を行い、これにより得られた中間的な角度を表すデータを角度データとする。ここにいう「内挿」とは、有限数の検出角度から、各検出角度以外の角度を推定することをいう。例えば、図15のように、22.5度毎に用意した複数の傾き検出フィルタ126により特定される検出角度の中から近いものからA(22.5度)、A+c(45度)、A+2c(67.5度)の3つを選んで内挿を行い、中間的な角度をエッジの方向として特定し、この角度を表すデータを角度データとする。
この手法を図16を参照してより詳しく説明する。
図16は、縦軸Yがエッジ領域データにより特定される係数の角度毎の合算値、横軸Xが角度である。YとXとの間には、Y=K・X+L*X+Mの関係式が成り立つ。K及びLは定数、Mは一定のバイアス値である。
図16におけるP、Q、Rは、それぞれ角度がA、A+c、A+2cのときの係数の合算値である。すなわち、以下の3つの連立方程式がなり立つ。
P=K・A+L*A+M
Q=K・(A+c)+L*(A+c)+M
R=K・(A+2c)+L*(A+2c)+M
P、Q、R、A、A+c、A+2cは、それぞれ縦軸Y及び横軸Xの値から特定することができるので、それらの値と上記の3の方程式とからK、L、Mが定まる。したがって、角度データ(B)は、−L/(2*K)の式から求めることができる。
この角度データ(B)は、エッジ方向検出処理部222から平滑化処理部223へ出力される。平滑化処理部223は、角度データ(B)が表す方向に平滑化係数を配列した平滑化フィルタ127を、例えば上述した図3(a)〜(c)のようにして求め、これをレンダリングユニット12内のメモリ領域に格納しておく。あるいは、予め用意されている平滑化フィルタ127のうち、角度データ(B)が表す方向に最も近い方向に平滑化係数が格納されている1つの平滑化フィルタ127を選定する。
その後、エッジ方向データに角度データが格納されている画素に対応するバッファメモリ125から読み出した未平滑化画像のエッジ部分の画素値を、平滑化フィルタ127の平滑化係数に基づいて平滑化処理を行う。平滑化処理の要領は、上述したとおりである。
本発明が適用される画像処理装置の構成図。 傾き検出フィルタと平滑化フィルタとの関係を示した図。 平滑化フィルタの生成手順説明図。 アンチエイリアシングの全体的な処理手順図。 アンチエイリアシングの概念説明図。 傾き検出処理の詳細手順説明図。 予め、傾き検出フィルタと同じ傾き方向の平滑化フィルタとをリンクしておく場合の平滑化処理の手順説明図。 複数の平滑化フィルタが、傾き検出フィルタとは独立ではあるが、線分の傾き方向によって識別されるように保持されている場合の平滑化処理の手順説明図。 傾きに応じた平滑化係数を格納した平滑化フィルタを、その都度生成して保存する場合の平滑化処理の手順説明図。 平滑化の具体的な処理手順説明図。 エッジ検出の様子を示した説明図。 注目画素値の一例に対する平滑化処理の説明図。 本発明によるアンチエイリアシングの概念説明図。 本発明が適用される画像処理装置の他の構成図。 予め判明している複数の角度データをもとに内挿によって他の角度を推定する要領を示した説明図。 エッジ領域データの係数の合算値と角度との関係を示した図。 (a)は未平滑化画像、(b)はエッジ領域データ、(C)はエッジ方向データ
符号の説明
1 画像処理装置
10 主プロセッサ
11 ジオメトリユニット
12 レンダリングユニット
13 主メモリ
14 ドライブユニット
15 通信ユニット
16 画像メモリ
17 ディスプレイコントローラ
18 ディスプレイ
121 描画処理部
122 エッジ検出処理部
123 平滑化処理部
124 テクスチャメモリ
125 バッファメモリ
126 傾き検出フィルタ
127 平滑化フィルタ
128 基準傾き角データ
B バス

Claims (15)

  1. それぞれ画素を描画するための複数の画素描画領域が2次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリに画像を描画するための装置であって、
    それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタと、
    前記メモリ又はそのメモリと同一構造のバッファに前記画像を描画する描画手段と、
    この描画手段により描画された画像のエッジ部分に相当する画素描画領域群を検出するとともに、検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に最も類似する相対特徴をもつ1つの傾き検出フィルタを選定することにより検出する検出手段と、
    この検出手段で検出した傾き方向に応じて算定され又は外部より取得した平滑化係数に基づいて前記エッジ部分に相当する画素描画領域群の画素値を平滑化する平滑化手段と、
    を有することを特徴とする、
    画像処理装置。
  2. 前記複数の傾き検出フィルタは、それぞれ、予め定めた傾き係数が所定方向に配列されている2次元マトリクス状の数値セルであり、
    前記検出手段は、検出された前記エッジ部分に相当する画素描画領域群のすべての画素値に対して、前記複数の傾き検出フィルタに格納されているすべての傾き係数を畳み込み演算し、一方向における畳み込み演算の結果が、所定の閾値を超え且つ最も大きな数値となる1つの傾き検出フィルタを、当該方向の傾き方向の相対特徴に最も類似する相対特徴をもつ傾き検出フィルタとして選定することを特徴とする、
    請求項1記載の画像処理装置。
  3. 前記平滑化手段は、それぞれ1つの前記傾き検出フィルタとリンクし予め定めた平滑化係数が当該傾き検出フィルタにおいて配列されている傾き係数と同じ方向に配列されている複数の平滑化フィルタを有しており、前記検出手段による傾き検出フィルタの選定を契機に、当該選定された傾き検出フィルタにリンクされている平滑化フィルタを特定し、特定した平滑化フィルタの平滑化係数で前記エッジ部分に相当する画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画素描画領域群における注目画素値と置き換えることにより、当該注目画素値を平滑化することを特徴とする、
    請求項2記載の画像処理装置。
  4. それぞれ画素を描画するための複数の画素描画領域が2次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリに画像を描画するための装置であって、
    それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタと、
    前記メモリ又はそのメモリと同一構造のバッファに前記画像を描画する描画手段と、
    この描画手段により描画された画像のエッジ部分に相当する画素描画領域群を検出するとともに、検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴により類似する相対特徴をもつ所定数の傾き検出フィルタを選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿することにより検出する検出手段と、
    この検出手段で検出した傾き方向に応じて算定され又は外部より取得した平滑化係数に基づいて前記エッジ部分に相当する画素描画領域群の画素値を平滑化する平滑化手段と、
    を有することを特徴とする、
    画像処理装置。
  5. 前記複数の傾き検出フィルタは、それぞれ、予め定めた傾き係数が所定方向に配列されている2次元マトリクス状の数値セルであり、
    前記検出手段は、検出された前記エッジ部分に相当する画素描画領域群のすべての画素値に対して、前記複数の傾き検出フィルタに格納されているすべての傾き係数を畳み込み演算し、一方向における畳み込み演算の結果が、所定の閾値を超え且つより大きな数値となる所定数の傾き検出フィルタをそれぞれ当該方向の傾き方向の相対特徴により類似する相対特徴をもつ傾き検出フィルタとして選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿法により比例配分して1つの傾き方向を定めることを特徴とする、
    請求項4記載の画像処理装置。
  6. 前記平滑化手段は、予め定めた平滑化係数を前記検出手段により検出された傾き方向に配列した平滑化フィルタを生成し、この平滑化フィルタの平滑化係数で前記エッジ部分に相当する画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画素描画領域群における注目画素値と置き換えることにより、当該注目画素値を平滑化することを特徴とする、
    請求項1又は4記載の画像処理装置。
  7. 前記平滑化フィルタは、それぞれ、フィルタ中心からの相対距離比が大きくなるにつれてその値が小さくなる平滑化係数が前記検出された傾き方向に配列されている2次元マトリクス状の数値セルであり、
    前記平滑化手段は、前記エッジ部分に相当する画素描画領域群における前記注目画素値を前記平滑化フィルタの中心位置にして当該平滑化フィルタのすべての平滑化係数で畳み込み演算することを特徴とする、
    請求項5記載の画像処理装置。
  8. 個々の平滑化フィルタにおけるすべての前記平滑化係数が正規化されており、当該平滑化フィルタにおける前記平滑化係数の合算値が単位数値になるように配列されていることを特徴とする、
    請求項7記載の画像処理装置。
  9. 前記平滑化手段は、前記検出手段により検出された傾き方向が2次元マトリクス状に並ぶ前記画素描画領域の水平ライン又は垂直のラインに対して所定の角度条件を満たしており、且つ、同じ傾きの画素描画領域が予め定めた領域数以上連続する場合にのみ、前記平滑化を行うことを特徴とする、
    請求項5記載の画像処理装置。
  10. それぞれ画素を描画するための複数の画素描画領域が2次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサが行う、以下の段階を含む画像処理方法。
    (1)前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する段階、
    (2)描画された画像のエッジ部分に相当する画素描画領域群を検出する段階、
    (3)検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に最も類似する相対特徴をもつ1つの傾き検出フィルタを選定することにより検出する段階、
    (4)検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う段階。
  11. それぞれ画素を描画するための複数の画素描画領域が2次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサが行う、以下の段階を含む画像処理方法。
    (1)前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する段階、
    (2)描画された画像のエッジ部分に相当する画素描画領域群を検出する段階、
    (3)検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に類似する相対特徴をもつ複数の傾き検出フィルタを選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿することにより検出する段階、
    (4)検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う段階。
  12. それぞれ画素を描画するための複数の画素描画領域が2次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサに、以下の処理を実行させるためのコンピュータプログラム。
    (1)前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する処理、
    (2)描画された画像のエッジ部分に相当する画素描画領域群を検出する処理、
    (3)検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に最も類似する相対特徴をもつ1つの傾き検出フィルタを選定することにより検出する処理、
    (4)検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う処理。
  13. それぞれ画素を描画するための複数の画素描画領域が2次元マトリクス状に形成され、エッジが斜め方向に延びる画像については出力時にジャギーが生じるメモリと、それぞれ前記メモリに描画されるべき線分の傾き方向の相対特徴を表す複数の傾き検出フィルタとにアクセス可能なプロセッサに、以下の処理を実行させるためのコンピュータプログラム。
    (1)前記メモリ又はそのメモリと同一構造のバッファにアンチエイリアシングを行うことなく画像を描画する処理、
    (2)描画された画像のエッジ部分に相当する画素描画領域群を検出する処理、
    (3)検出された画素描画領域群の傾き方向を、前記複数の傾き検出フィルタの中から当該画素描画領域群の傾き方向の相対特徴に類似する相対特徴をもつ複数の傾き検出フィルタを選定し、さらに、選定したこれらの傾き検出フィルタにより特定される複数の傾き方向を内挿することにより検出する処理、
    (4)検出された傾き方向に平滑化係数を配列した平滑化フィルタを生成し、あるいは、予め生成されている前記平滑化フィルタを取得し、この平滑化フィルタの平滑化係数で前記画素描画領域群のすべての画素値を畳み込み演算して、この演算結果を当該画像描画領域群の注目画素値と置き換えることにより、前記注目画素値がそのエッジ部分に存在する画像のアンチエイリアシングを行う処理。
  14. 請求項12記載のコンピュータプログラムを記録して成る、
    コンピュータ読み取り可能な記録媒体。
  15. 請求項13記載のコンピュータプログラムを記録して成る、
    コンピュータ読み取り可能な記録媒体。
JP2003354897A 2003-10-15 2003-10-15 画像処理装置及び方法、コンピュータプログラム、記録媒体 Pending JP2005122361A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003354897A JP2005122361A (ja) 2003-10-15 2003-10-15 画像処理装置及び方法、コンピュータプログラム、記録媒体
PCT/JP2004/015570 WO2005036468A1 (en) 2003-10-15 2004-10-14 Image processor and method, computer program, and recording medium
US10/575,529 US7612784B2 (en) 2003-10-15 2004-10-14 Image processor and method, computer program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003354897A JP2005122361A (ja) 2003-10-15 2003-10-15 画像処理装置及び方法、コンピュータプログラム、記録媒体

Publications (1)

Publication Number Publication Date
JP2005122361A true JP2005122361A (ja) 2005-05-12

Family

ID=34431196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003354897A Pending JP2005122361A (ja) 2003-10-15 2003-10-15 画像処理装置及び方法、コンピュータプログラム、記録媒体

Country Status (3)

Country Link
US (1) US7612784B2 (ja)
JP (1) JP2005122361A (ja)
WO (1) WO2005036468A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008197394A (ja) * 2007-02-13 2008-08-28 Sony Computer Entertainment Inc 画像変換装置および画像変換方法
WO2010027686A3 (en) * 2008-09-04 2010-05-14 Anchor Bay Technologies, Inc. System, method, and apparatus for smoothing of edges in images to remove irregularities
US7982798B2 (en) 2005-09-08 2011-07-19 Silicon Image, Inc. Edge detection
US8004606B2 (en) 2005-09-08 2011-08-23 Silicon Image, Inc. Original scan line detection
US8059313B2 (en) 2005-06-30 2011-11-15 Sharp Kabushiki Kaisha Image forming apparatus and method forming a latent image for embedding information in an image
US8086067B2 (en) 2006-12-20 2011-12-27 Silicon Image, Inc. Noise cancellation
US8120703B2 (en) 2005-09-08 2012-02-21 Silicon Image/BSTZ Source-adaptive video deinterlacer
US8452117B2 (en) 2009-02-10 2013-05-28 Silicon Image, Inc. Block noise detection and filtering
WO2019135524A1 (ko) * 2018-01-03 2019-07-11 경북대학교 산학협력단 그래디언트의 적응적 가중에 기반한 에지 위치 결정 장치 및 방법

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060274962A1 (en) * 2005-06-03 2006-12-07 Yi-Jen Chiu Systems and methods for improved Gaussian noise filtering
TWI343743B (en) 2006-01-20 2011-06-11 Realtek Semiconductor Corp Image processing circuit and method
TWI347775B (en) * 2006-12-13 2011-08-21 Wistron Corp Method and device of rapidly building a gray-level and brightness curve of displayer
TW200828210A (en) * 2006-12-18 2008-07-01 Wistron Corp Method and device of rapidly building a gray-level and brightness curve of displayer
US7904092B2 (en) * 2007-01-04 2011-03-08 Cisco Technology, Inc. Locally adjusted radio frequency coverage maps in wireless networks
US7920148B2 (en) * 2007-04-10 2011-04-05 Vivante Corporation Post-rendering anti-aliasing with a smoothing filter
KR100866277B1 (ko) * 2007-05-02 2008-10-31 주식회사 코아로직 에지 트래킹에 의한 영상 노이즈 제거 시스템, 방법 및상기 방법을 프로그램화하여 수록한 컴퓨터로 읽을 수 있는기록매체
US8170288B2 (en) * 2009-05-11 2012-05-01 Saudi Arabian Oil Company Reducing noise in 3D seismic data while preserving structural details
CN102834860B (zh) * 2010-04-14 2015-06-10 夏普株式会社 液晶显示装置、液晶显示装置的字体显示方法
JP5605214B2 (ja) * 2010-12-24 2014-10-15 コニカミノルタ株式会社 画像処理装置及び画像処理方法
CN104240189B (zh) * 2013-06-17 2017-05-24 富士通株式会社 恢复抗锯齿边缘的滤波方法和装置
KR102025184B1 (ko) * 2013-07-31 2019-09-25 엘지디스플레이 주식회사 데이터 변환 장치 및 이를 이용한 디스플레이 장치
US9811767B2 (en) * 2015-02-03 2017-11-07 Ricoh Company, Ltd. Image processing apparatus, image processing method and program
CN112188178B (zh) * 2020-09-30 2022-02-22 Tcl华星光电技术有限公司 图像显示方法和图像显示装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02162475A (ja) * 1988-12-15 1990-06-22 Dainippon Screen Mfg Co Ltd 画像輪郭修正方法
JPH07334669A (ja) * 1994-06-07 1995-12-22 Matsushita Electric Ind Co Ltd 図形処理方法および図形処理装置
US5748178A (en) * 1995-07-18 1998-05-05 Sybase, Inc. Digital video system and methods for efficient rendering of superimposed vector graphics
US6009447A (en) 1996-02-16 1999-12-28 Georgia Tech Research Corporation Method and system for generating and implementing orientational filters for real-time computer vision applications
JP3356612B2 (ja) * 1996-02-29 2002-12-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 高速な輪郭スムージング方法及び装置
US6097400A (en) * 1998-06-01 2000-08-01 Ati Technologies, Inc. Method and apparatus for anti-aliasing post rendering of an image
DE60045319D1 (de) * 1999-02-05 2011-01-13 Samsung Electronics Co Ltd Verfahren und Vorrichtung zum Wiederauffinden von Texturbildern
WO2002005544A1 (fr) * 2000-07-06 2002-01-17 Seiko Epson Corporation Procede de traitement d'image, support d'enregistrement, et dispositif de traitement d'image
US6873741B2 (en) * 2002-01-10 2005-03-29 Sharp Laboratories Of America Nonlinear edge-enhancement filter
US7149369B2 (en) * 2002-04-23 2006-12-12 Hewlett-Packard Development Company, L.P. Method and system for image scaling
US6798422B2 (en) * 2002-11-08 2004-09-28 Samsung Electronics Co., Ltd. Method and filtering system for filtering edge directions
TWI253848B (en) * 2004-04-09 2006-04-21 Mstar Semiconductor Inc Pixel interpolation method and related pixel interpolation device

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8059313B2 (en) 2005-06-30 2011-11-15 Sharp Kabushiki Kaisha Image forming apparatus and method forming a latent image for embedding information in an image
US8120703B2 (en) 2005-09-08 2012-02-21 Silicon Image/BSTZ Source-adaptive video deinterlacer
US8446525B2 (en) 2005-09-08 2013-05-21 Silicon Image, Inc. Edge detection
US8004606B2 (en) 2005-09-08 2011-08-23 Silicon Image, Inc. Original scan line detection
US7982798B2 (en) 2005-09-08 2011-07-19 Silicon Image, Inc. Edge detection
US8086067B2 (en) 2006-12-20 2011-12-27 Silicon Image, Inc. Noise cancellation
JP2008197394A (ja) * 2007-02-13 2008-08-28 Sony Computer Entertainment Inc 画像変換装置および画像変換方法
KR101499927B1 (ko) * 2008-09-04 2015-03-06 실리콘 이미지, 인크. 불규칙성을 제거하기 위해 이미지들의 에지들을 평활화하는 시스템, 방법 및 장치
US8559746B2 (en) 2008-09-04 2013-10-15 Silicon Image, Inc. System, method, and apparatus for smoothing of edges in images to remove irregularities
WO2010027686A3 (en) * 2008-09-04 2010-05-14 Anchor Bay Technologies, Inc. System, method, and apparatus for smoothing of edges in images to remove irregularities
US9305337B2 (en) 2008-09-04 2016-04-05 Lattice Semiconductor Corporation System, method, and apparatus for smoothing of edges in images to remove irregularities
US8452117B2 (en) 2009-02-10 2013-05-28 Silicon Image, Inc. Block noise detection and filtering
US8891897B2 (en) 2009-02-10 2014-11-18 Silicon Image, Inc. Block noise detection and filtering
WO2019135524A1 (ko) * 2018-01-03 2019-07-11 경북대학교 산학협력단 그래디언트의 적응적 가중에 기반한 에지 위치 결정 장치 및 방법
US11348251B2 (en) 2018-01-03 2022-05-31 Kyungpook National University Industry-Academic Cooperation Foundation Device and method for determining edge location based on adaptive weighing of gradients

Also Published As

Publication number Publication date
US7612784B2 (en) 2009-11-03
WO2005036468A1 (en) 2005-04-21
US20070206025A1 (en) 2007-09-06

Similar Documents

Publication Publication Date Title
JP2005122361A (ja) 画像処理装置及び方法、コンピュータプログラム、記録媒体
US7884825B2 (en) Drawing method, image generating device, and electronic information apparatus
EP1792281B1 (en) Method and system for anti-aliasing by pixel sampling
US6961065B2 (en) Image processor, components thereof, and rendering method
US7705915B1 (en) Method and apparatus for filtering video data using a programmable graphics processor
US7742060B2 (en) Sampling methods suited for graphics hardware acceleration
WO2009130820A1 (ja) 画像処理装置、表示装置、画像処理方法、プログラムおよび記録媒体
US7532220B2 (en) System for adaptive resampling in texture mapping
US6768491B2 (en) Barycentric centroid sampling method and apparatus
JP2003512653A (ja) 適応サブピクセルレンダリングによる画像ディスプレイ品質の向上
US7050066B2 (en) Image processing apparatus and image processing program
EP1408453A1 (en) Rendering method
EP1058912B1 (en) Subsampled texture edge antialiasing
US6766281B1 (en) Matched texture filter design for rendering multi-rate data samples
JP3696584B2 (ja) 描画処理方法及び装置、半導体デバイス、描画処理プログラム及び記録媒体
US8212835B1 (en) Systems and methods for smooth transitions to bi-cubic magnification
JP2003115056A (ja) 画像生成方法及びこれを用いた画像生成装置
US6718072B1 (en) Image conversion method, image processing apparatus, and image display apparatus
JP4487400B2 (ja) 画像変形装置及びその画像変形方法
US6900804B1 (en) Method of forming polygon image and image processing apparatus using the same
US6429866B1 (en) Three-dimensional graphics drawing apparatus calculating tone of pixel based on tones of pixels at prescribed intervals, method thereof and medium recorded with program therefor
JPH06301792A (ja) テクスチャマッピング装置
US20160321835A1 (en) Image processing device, image processing method, and display device
JP4433525B2 (ja) 画像処理装置
JP3255549B2 (ja) 図形処理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070405

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070508