(57)【特許請求の範囲】
【請求項１】
入力画像データを３つ以上の量子化レベルに基づいて量子化すると共に、この量子化によって発生する量子化誤差を高域に変調することによって、入力画像データに対して量子化レベル数が３以上の誤差拡散処理を行って出力する第１の誤差拡散処理手順と、
この第１の誤差拡散処理手順による出力データを、前記第１の誤差拡散処理手順における量子化レベルとは異なるレベルを含む３つ以上の量子化レベルに基づいて量子化すると共に、この量子化によって発生する量子化誤差を高域に変調することによって、前記第１の誤差拡散処理手順による出力データに対して量子化レベル数が３以上の誤差拡散処理を行って出力画像データとして出力する第２の誤差拡散処理手順と
を備えたことを特徴とする画像処理方法。
【請求項２】
前記第１の誤差拡散処理手順における３つ以上の量子化レベルは、前記第２の誤差拡散処理手順における各量子化レベルの中間の値、入力画像データの最小レベルおよび入力画像データの最大レベルに設定されていることを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記第１の誤差拡散処理手順と前記第２の誤差拡散処理手順は、互いに異なる変調特性で、量子化誤差を高域に変調することを特徴とする請求項１記載の画像処理方法。
【請求項４】
前記第２の誤差拡散処理手順における量子化誤差の変調特性は、前記第１の誤差拡散処理手順における量子化誤差の変調特性よりも低域における利得が大きいことを特徴とする請求項３記載の画像処理方法。
【請求項５】
入力画像データを３つ以上の量子化レベルに基づいて量子化する第１の量子化手段と、この第１の量子化手段による量子化によって発生する量子化誤差を高域に変調する第１の誤差変調手段とを有し、これらを用いて入力画像データに対して量子化レベル数が３以上の誤差拡散処理を行って出力する第１の誤差拡散処理部と、
この第１の誤差拡散処理部の出力データを、前記第１の量子化手段における量子化レベルとは異なるレベルを含む３つ以上の量子化レベルに基づいて量子化する第２の量子化手段と、この第２の量子化手段による量子化によって発生する量子化誤差を高域に変調する第２の誤差変調手段とを有し、これらを用いて前記第１の誤差拡散処理部の出力データに対して量子化レベル数が３以上の誤差拡散処理を行って出力画像データとして出力する第２の誤差拡散処理部と
を備えたことを特徴とする画像処理装置。
【請求項６】
前記第１の量子化手段における３つ以上の量子化レベルは、前記第２の量子化手段における各量子化レベルの中間の値、入力画像データの最小レベルおよび入力画像データの最大レベルに設定されていることを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記第１の誤差変調手段と前記第２の誤差変調手段は、互いに異なる変調特性で、量子化誤差を高域に変調することを特徴とする請求項５記載の画像処理装置。
【請求項８】
前記第２の誤差変調手段における変調特性は、前記第１の誤差変調手段における変調特性よりも低域における利得が大きいことを特徴とする請求項７記載の画像処理装置。
【請求項９】
前記第２の誤差拡散処理部は、出力画像データを、画像出力装置に対して出力することを特徴とする請求項５記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多値の誤差拡散処理を行って画像データの少階調化を行う画像処理方法および装置に関する。
【０００２】
【従来の技術】
例えば、コンピュータで作成したり画像入力装置で入力して得られたような多階調の画像を、より少ない階調のプリンタ等の画像出力装置によって出力する場合には、画像データの少階調化を行う必要がある。このように画像データの少階調化を行う場合でも、現画像が持つ画品質をできるだけ維持する技術として、従来より擬似中間調表現が利用されている。擬似中間調表現の手法としては、種々提案されているが、そのうち、誤差拡散法による疑似中間調表現は、画品質が良いため、出力階調が２値のプリンタ等で広く利用されている。更に、画像出力装置が３階調以上を表現できる場合に対応して、量子化レベル数が３以上の多値の誤差拡散法も提案されている。
【０００３】
【発明が解決しようとする課題】
しかしながら、上述の多値の誤差拡散法は、量子化レベル数が少ない場合、量子化レベル近傍でのテクステャ変化が目立ち、擬似輪郭が生じる等、画品質が悪いという問題点があった。その原因は、原画像データの階調が量子化レべルの近傍の場合に、出力レベルが単一の量子化レベルのみになり、誤差拡散法特有のランダムパターンが生じないことにある。
【０００４】
テクステャ変化による画品質の劣化を防ぐ有効な手段の一つとしては、画像データに規則的パターンやランダム雑音を重畳する手法がある。しかし、この手法では、原画像データにおける全ての階調レベルに対して誤差を大きくすることになり、誤差拡散法の最大の特徴である誤差の最小性を犠牲にすることになり、規則的パターンのテクスチャと誤差拡散法によるテクスチャが合わなかったり、出力画像においてざらつき感が大きい等の問題点がある。
【０００５】
また、２値から３値、５値と階層的に誤差拡散処理を行う手法も提案されている（文献「越智宏，“階調化処理による高品質多値誤差拡散法”，画電学誌，２４，１（１９９５−０１），第１０〜１７ページ」参照）が、階層的な処理のために演算時間が多くかかることや、ある階調レベルを表現するために４出力レベル以上が用いられることがあり、ざらつき感が大きいことや、このための補正処理が必要になること等の問題点がある。
【０００６】
ここで、一般的な誤差拡散法の原理（文献「貴家仁志，八重光男，“ディジタル画像データのＣによる階調変換技法”，「インターフェース」，Ａｕｇ，１９９３，第１５８〜１７１ページ」参照）と多値の誤差拡散法の問題点について詳しく説明する。
【０００７】
誤差拡散法は、人間の視覚特性を考慮して、量子化誤差を高域に変調することによって目立たなくし、擬似中間調を表現する方法である。図２１は、一般的な誤差拡散処理を実現するための画像処理装置の構成を示すブロック図である。この画像処理装置は、入力画像データｘ（ｉ，ｊ）から後述するフィルタ１１４の出力データを減算する減算器１１１と、この減算器１１１の出力データを量子化して、出力画像データｙ（ｉ，ｊ）として出力する量子化器（図ではＱと記す。）１１２と、出力画像データｙ（ｉ，ｊ）から減算器１１１の出力データを減算する減算器１１３と、この減算器１１３の出力データに対して所定のフィルタリング処理を行って、減算器１１１に出力するフィルタ１１４とを備えている。なお、図中、ｅ（ｉ，ｊ）は、量子化器１１２における量子化によって発生する量子化誤差を表している。従って、減算器１１３の出力データは、量子化誤差ｅ（ｉ，ｊ）となる。なお、ｉ，ｊは、互いに直交する２方向（以下、ｉ方向およびｊ方向という。）の各座標を表している。
【０００８】
フィルタ１１４は、一種の線形フィルタであり、ここでは、その伝達関数を、Ｇ（ｚ1,ｚ2 ）とする。なお、ｚ1,ｚ2 は、それぞれ、ｉ方向、ｊ方向に関するｚ変換における変数である。図２１に示した画像処理装置の構成全体は、２次元のΣΔ変調回路とみなすことができる。従って、この画像処理装置における入出力関係は、次の式（１）のように与えられる。
【０００９】
【数１】
Ｙ（ｚ1,ｚ2 ）＝Ｘ（ｚ1,ｚ2 ）＋Ｈ（ｚ1,ｚ2 ）Ｅ（ｚ1,ｚ2 ）…（１）
【００１０】
なお、式（１）において、Ｙ（ｚ1,ｚ2 ），Ｘ（ｚ1,ｚ2 ），Ｅ（ｚ1,ｚ2 ）は、それぞれ、ｙ（ｉ，ｊ），ｘ（ｉ，ｊ），ｅ（ｉ，ｊ）をｚ変換した値である。また、量子化誤差Ｅ（ｚ1,ｚ2 ）を変調するフィルタの伝達関数Ｈ（ｚ1,ｚ2 ）は、次の式（２）で与えられる。
【００１１】
【数２】
Ｈ（ｚ1,ｚ2 ）＝１−Ｇ（ｚ1,ｚ2 ）  …（２）
【００１２】
伝達関数Ｈ（ｚ1,ｚ2 ）は、２次元の有限インパルス応答（ＦＩＲ）ハイパスフィルタを表しており、このハイパスフィルタは、量子化誤差Ｅ（ｚ1,ｚ2 ）の高域への変調特性を決定する誤差変調用フィルタとなる。なお、以下、伝達関数Ｈ（ｚ1,ｚ2 ），Ｇ（ｚ1,ｚ2 ）で表されるフィルタを表す場合にも、フィルタＨ（ｚ1,ｚ2 ），フィルタＧ（ｚ1,ｚ2 ）と記す。
【００１３】
Ｇ（ｚ1,ｚ2 ）は、次の式（３）のように表される。
【００１４】
【数３】
Ｇ（ｚ1,ｚ2 ）＝ΣΣｇ（ｎ１，ｎ２）ｚ-n1 ｚ-n2   …（３）
【００１５】
なお、式（３）中の最初のΣはｎ１が−Ｎ1 からＭ1 についての総和を表し、次のΣはｎ２が−Ｎ2 からＭ2 についての総和を表している。ただし、Ｎ1 ，Ｍ1 ，Ｎ2 ，Ｍ2 は、それぞれ所定の正の整数である。また、ｇ（ｎ１，ｎ２）は、フィルタ係数であり、ｎ１＝０，ｎ２＝０は、注目画素を表す。
【００１６】
ここで、式（４）および式（５）に、Ｇ（ｚ1,ｚ2 ）の係数ｇ（ｉ，ｊ）の例として、代表的なフィルタの場合の例を挙げる。なお、式中の＊は注目画素を表し、ｇ（０，０）＝０となる。
【００１７】
【数４】
0003821327.tif 000002
【００１８】
【数５】
0003821327.tif 000003
【００１９】
式（４）で表されるフィルタＧ（ｚ1,ｚ2 ）を用いた誤差変調用フィルタＨ（ｚ1,ｚ2 ）の周波数特性を図２２に示し、式（５）で表されるフィルタＧ（ｚ1,ｚ2 ）を用いた誤差変調用フィルタＨ（ｚ1,ｚ2 ）の周波数特性を図２３に示す。なお、図２２，２３において、周波数を表す数値は、絶対値が大きいほど周波数が高いことを表している。式（４）で表されるフィルタＧ（ｚ1,ｚ2 ）およびこれを用いたフィルタＨ（ｚ1,ｚ2 ）は、Ｆｌｏｙｄ＆Ｓｔｅｉｎｂｅｒｇのフィルタ（以下、Ｆｌｏｙｄのフィルタと言う。）と呼ばれるものである。式（５）で表されるフィルタＧ（ｚ1,ｚ2 ）およびこれを用いたフィルタＨ（ｚ1,ｚ2 ）は、Ｊａｒｖｉｓ，Ｊｕｄｉｃｅ＆Ｎｉｎｋｅのフィルタ（以下、Ｊａｒｖｉｓのフィルタと言う。）と呼ばれるものである。
【００２０】
また、階調が連続的に変化する入力画像に対して、Ｆｌｏｙｄのフィルタを用いた場合の２値誤差拡散法による出力画像を図２４に示し、Ｊａｒｖｉｓのフィルタを用いた場合の２値誤差拡散法による出力画像を図２５に示す。
【００２１】
図２２から、Ｆｌｏｙｄのフィルタは、低域利得が小さく高域利得が大きいことが分かる。このため、図２４に示したように、２値誤差拡散法による出力画像では、細かいテクスチャが得られる。また、図２３から、Ｊａｒｖｉｓのフィルタは、低域利得は多少大きいが高域利得も小さいことが分かる。このため、図２５に示したように、２値誤差拡散法による出力画像では、粗いけれども一様なテクスチャが得られる。
【００２２】
次に、図２６を参照して、多値誤差拡散法における問題点について説明する。図２６は、多値誤差拡散法による出力画像の例として、階調が連続的に変化する入力画像に対して、Ｊａｒｖｉｓのフィルタを用いた場合の５値の誤差拡散法による出力画像を示したものである。この図から分かるように、従来の多値誤差拡散法では、中間の量子化レベル近傍でのテクスチャ変化が目立ち、画品質が悪い。その原因は、原画像データの階調が量子化レベル近傍の場合に誤差があまり発生せず、出力レベルが単一の量子化レベルのみになり、誤差拡散法特有のランダムパターンが生じないことにある。
【００２３】
本発明はかかる問題点に鑑みてなされたもので、その目的は、多値誤差拡散処理を行いながら、テクスチャが一様化されたざらつき感の少ない高品質の画像を得ることができるようにした画像処理方法および装置を提供することにある。
【００２４】
【課題を解決するための手段】
本発明の画像処理方法は、入力画像データを３つ以上の量子化レベルに基づいて量子化すると共に、この量子化によって発生する量子化誤差を高域に変調することによって、入力画像データに対して量子化レベル数が３以上の誤差拡散処理を行って出力する第１の誤差拡散処理手順と、この第１の誤差拡散処理手順による出力データを、第１の誤差拡散処理手順における量子化レベルとは異なるレベルを含む３つ以上の量子化レベルに基づいて量子化すると共に、この量子化によって発生する量子化誤差を高域に変調することによって、第１の誤差拡散処理手順による出力データに対して量子化レベル数が３以上の誤差拡散処理を行って出力画像データとして出力する第２の誤差拡散処理手順とを備えたものである。
【００２５】
本発明の画像処理装置は、入力画像データを３つ以上の量子化レベルに基づいて量子化する第１の量子化手段と、この第１の量子化手段による量子化によって発生する量子化誤差を高域に変調する第１の誤差変調手段とを有し、これらを用いて入力画像データに対して量子化レベル数が３以上の誤差拡散処理を行って出力する第１の誤差拡散処理部と、この第１の誤差拡散処理部の出力データを、第１の量子化手段における量子化レベルとは異なるレベルを含む３つ以上の量子化レベルに基づいて量子化する第２の量子化手段と、この第２の量子化手段による量子化によって発生する量子化誤差を高域に変調する第２の誤差変調手段とを有し、これらを用いて第１の誤差拡散処理部の出力データに対して量子化レベル数が３以上の誤差拡散処理を行って出力画像データとして出力する第２の誤差拡散処理部とを備えたものである。
【００２６】
本発明の画像処理方法では、第１の誤差拡散処理手順によって、入力画像データが３つ以上の量子化レベルに基づいて量子化されると共に、この量子化によって発生する量子化誤差が高域に変調されて、入力画像データに対して量子化レベル数が３以上の誤差拡散処理が行われて出力され、第２の誤差拡散処理手順によって、第１の誤差拡散処理手順による出力データが、第１の誤差拡散処理手順における量子化レベルとは異なるレベルを含む３つ以上の量子化レベルに基づいて量子化されると共に、この量子化によって発生する量子化誤差が高域に変調されて、第１の誤差拡散処理手順による出力データに対して量子化レベル数が３以上の誤差拡散処理が行われて出力画像データとして出力される。
【００２７】
本発明の画像処理装置では、第１の誤差拡散処理部において、第１の量子化手段によって、入力画像データが３つ以上の量子化レベルに基づいて量子化されると共に、第１の誤差変調手段によって、第１の量子化手段による量子化によって発生する量子化誤差が高域に変調されて、入力画像データに対して量子化レベル数が３以上の誤差拡散処理が行われて出力される。更に、第２の誤差拡散処理部において、第２の量子化手段によって、第１の誤差拡散処理部の出力データが、第１の量子化手段における量子化レベルとは異なるレベルを含む３つ以上の量子化レベルに基づいて量子化されると共に、第２の誤差変調手段によって、第２の量子化手段による量子化によって発生する量子化誤差が高域に変調されて、第１の誤差拡散処理部の出力データに対して量子化レベル数が３以上の誤差拡散処理が行われて出力画像データとして出力される。
【００２８】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。図１は、本発明の第１の実施の形態に係る画像処理装置の構成を示すブロック図である。この画像処理装置は、入力画像データｘ（ｉ，ｊ）に対して量子化レベル数が３以上の誤差拡散処理を行って出力する第１の誤差拡散処理部１０と、この第１の誤差拡散処理部１０の出力データに対して量子化レベル数が３以上の誤差拡散処理を行って出力画像データｙ（ｉ，ｊ）として出力する第２の誤差拡散処理部２０とを備えている。
【００２９】
第１の誤差拡散処理部１０は、入力画像データｘ（ｉ，ｊ）から後述するフィルタ１４の出力データを減算する減算器１１と、この減算器１１の出力データを３つ以上の量子化レベルに基づいて量子化して、第１の誤差拡散処理部１０の出力データとして出力する量子化器（図ではＱa と記す。）１２と、この量子化器１２の出力データから減算器１１の出力データを減算する減算器１３と、この減算器１３の出力データに対して所定のフィルタリング処理を行って、減算器１１に出力するフィルタ１４とを備えている。なお、図中、ｅa （ｉ，ｊ）は、量子化器１２における量子化によって発生する量子化誤差を表している。従って、減算器１３の出力データは、量子化誤差ｅa （ｉ，ｊ）となる。フィルタ１４は、一種の線形フィルタであり、ここでは、その伝達関数を、Ｇa （ｚ1,ｚ2 ）とする。フィルタ１４は、例えばディジタルフィルタによって実現される。
【００３０】
第２の誤差拡散処理部２０は、第１の誤差拡散処理部１０の出力データから後述するフィルタ２４の出力データを減算する減算器２１と、この減算器２１の出力データを、量子化器１２における量子化レベルとは異なるレベルを含む３つ以上の３つ以上の量子化レベルに基づいて量子化して、出力画像データｙ（ｉ，ｊ）として出力する量子化器（図ではＱb と記す。）２２と、この量子化器２２の出力データから減算器２１の出力データを減算する減算器２３と、この減算器２３の出力データに対して所定のフィルタリング処理を行って、減算器２１に出力するフィルタ２４とを備えている。なお、図中、ｅb （ｉ，ｊ）は、量子化器２２における量子化によって発生する量子化誤差を表している。従って、減算器２３の出力データは、量子化誤差ｅb （ｉ，ｊ）となる。フィルタ２４は、一種の線形フィルタであり、ここでは、その伝達関数を、Ｇb （ｚ1,ｚ2 ）とする。フィルタ２４は、例えばディジタルフィルタによって実現される。
【００３１】
各誤差拡散処理部１０，２０は、それぞれ、２次元のΣΔ変調回路とみなすことができる。従って、図１に示した画像処理装置における入出力関係は、次の式（６）のように与えられる。
【００３２】
【数６】
Ｙ（ｚ1,ｚ2 ）＝Ｘ（ｚ1,ｚ2 ）＋Ｈa （ｚ1,ｚ2 ）Ｅa （ｚ1,ｚ2 ）＋Ｈb （ｚ1,ｚ2 ）Ｅb （ｚ1,ｚ2 ）…（６）
【００３３】
なお、式（６）において、Ｙ（ｚ1,ｚ2 ），Ｘ（ｚ1,ｚ2 ），Ｅa （ｚ1,ｚ2 ），Ｅb （ｚ1,ｚ2 ）は、それぞれ、ｙ（ｉ，ｊ），ｘ（ｉ，ｊ），ｅa （ｉ，ｊ），ｅb （ｉ，ｊ）をｚ変換した値である。また、量子化誤差Ｅa （ｚ1,ｚ2 ），Ｅb （ｚ1,ｚ2 ）を変調するフィルタの伝達関数Ｈa （ｚ1,ｚ2 ），Ｈb （ｚ1,ｚ2 ）は、次の式（７），（８）で与えられる。
【００３４】
【数７】
Ｈa （ｚ1,ｚ2 ）＝１−Ｇa （ｚ1,ｚ2 ）  …（７）
【００３５】
【数８】
Ｈb （ｚ1,ｚ2 ）＝１−Ｇb （ｚ1,ｚ2 ）  …（８）
【００３６】
伝達関数Ｈa （ｚ1,ｚ2 ），Ｈb （ｚ1,ｚ2 ）は、２次元の有限インパルス応答（ＦＩＲ）ハイパスフィルタを表しており、このハイパスフィルタは、量子化誤差Ｅa （ｚ1,ｚ2 ），Ｅb （ｚ1,ｚ2 ）の高域への変調特性を決定する誤差変調用フィルタとなる。なお、以下、伝達関数Ｈa （ｚ1,ｚ2 ），Ｈb （ｚ1,ｚ2 ），Ｇa （ｚ1,ｚ2 ），Ｇb （ｚ1,ｚ2 ）で表されるフィルタを表す場合にも、フィルタＨa （ｚ1,ｚ2 ），Ｈb （ｚ1,ｚ2 ），Ｇa （ｚ1,ｚ2 ），Ｇb （ｚ1,ｚ2 ）と記す。
【００３７】
Ｇa （ｚ1,ｚ2 ），Ｇb （ｚ1,ｚ2 ）は、それぞれ、次の式（９），（１０）のように表される。
【００３８】
【数９】
Ｇa （ｚ1,ｚ2 ）＝ΣΣｇa （ｎ１，ｎ２）ｚ-n1 ｚ-n2   …（９）
【００３９】
【数１０】
Ｇb （ｚ1,ｚ2 ）＝ΣΣｇb （ｎ１，ｎ２）ｚ-n1 ｚ-n2   …（１０）
【００４０】
なお、式（９）中の最初のΣはｎ１が−Ｎ3 からＭ3 についての総和を表し、次のΣはｎ２が−Ｎ4 からＭ4 についての総和を表している。同様に、式（１０）中の最初のΣはｎ１が−Ｎ5 からＭ5 についての総和を表し、次のΣはｎ２が−Ｎ6 からＭ6 についての総和を表している。ただし、Ｎ3 ，Ｍ3 ，Ｎ4 ，Ｍ4 ，Ｎ5 ，Ｍ5 ，Ｎ6 ，Ｍ6 は、それぞれ所定の正の整数である。また、ｇa （ｎ１，ｎ２），ｇb （ｎ１，ｎ２）は、フィルタ係数であり、ｎ１＝０，ｎ２＝０は、注目画素を表す。
【００４１】
量子化器１２における３つ以上の量子化レベルと量子化器２２における３つ以上の量子化レベルは、共に入力画像データｘ（ｉ，ｊ）の最小レベルおよび入力画像データｘ（ｉ，ｊ）の最大レベルを含むと共に、最小レベルと最大レベルとの間の量子化レベルを含む。最小レベルと最大レベルとの間の量子化レベルに関しては、量子化器１２における量子化レベルと量子化器２２における量子化レベルは、交互に挟み込まれるように設定されている。本実施の形態では、特に、量子化器２２における３つ以上の量子化レベルは、最終的な出力画像データｙ（ｉ，ｊ）を得るのに適した所望のレベルに設定され、量子化器１２における３つ以上の量子化レベルは、量子化器２２における各量子化レベルの中間の値、入力画像データｘ（ｉ，ｊ）の最小レベルおよび入力画像データｘ（ｉ，ｊ）の最大レベルに設定されている。
【００４２】
図２は、量子化器１２，２２における各量子化レベルの一例を示したものである。この例では、入力画像データｘ（ｉ，ｊ）の階調レベルを“０”〜“２５５”の２５６段階とし、最終的な出力画像データｙ（ｉ，ｊ）を５値とするために、量子化器２２における各量子化レベルを、“０”，“６４”，“１２８”，“１９２”，“２５５”に設定している。そして、量子化器１２における量子化レベルは、量子化器２２における各量子化レベルの中間の値、入力画像データｘ（ｉ，ｊ）の最小レベルおよび入力画像データｘ（ｉ，ｊ）の最大レベル、すなわち、“０”，“３２”，“９６”，“１６０”，“２２４”，“２５５”に設定している。
【００４３】
また、第１の誤差拡散処理部１０における誤差変調用フィルタＨa （ｚ1,ｚ2 ）と第２の誤差拡散処理部２０における誤差変調用フィルタＨb （ｚ1,ｚ2 ）は、互いに異なる特性に設定されている。この場合、誤差変調用フィルタＨb （ｚ1,ｚ2 ）は、誤差変調用フィルタＨa （ｚ1,ｚ2 ）よりも低域における利得が大きい方が好ましい。なお、誤差変調用フィルタＨa （ｚ1,ｚ2 ），Ｈb （ｚ1,ｚ2 ）をどのように設計したらよいかについては、後で詳しく説明する。
【００４４】
次に、本実施の形態に係る画像処理装置の作用について説明する。なお、以下の説明は、本実施の形態に係る画像処理方法の説明を兼ねている。
【００４５】
入力画像データｘ（ｉ，ｊ）は、第１の誤差拡散処理部１０に入力され、減算器１１によって、入力画像データｘ（ｉ，ｊ）からフィルタ１４の出力データが減算される。減算器１１の出力データは、量子化器１２によって量子化され、量子化器１２の出力データが、第１の誤差拡散処理部１０の出力データとして、第２の誤差拡散処理部２０に入力される。また、減算器１３によって、量子化器１２の出力データから減算器１１の出力データが減算されて、量子化誤差ｅa （ｉ，ｊ）が生成される。減算器１３の出力データである量子化誤差ｅa （ｉ，ｊ）は、フィルタ１４に入力されて、伝達関数Ｇa （ｚ1,ｚ2 ）で表されるフィルタリング処理が施され、フィルタ１４の出力データは、減算器１１に入力される。このような動作により、第１の誤差拡散処理部１０は、入力画像データｘ（ｉ，ｊ）を３つ以上の量子化レベルに基づいて量子化すると共に、この量子化によって発生する量子化誤差ｅa （ｉ，ｊ）を高域に変調することによって、入力画像データｘ（ｉ，ｊ）に対して量子化レベル数が３以上の誤差拡散処理を行って出力する。
【００４６】
第１の誤差拡散処理部１０の出力データは、第２の誤差拡散処理部２０に入力され、減算器２１によって、第１の誤差拡散処理部１０の出力データからフィルタ２４の出力データが減算される。減算器２１の出力データは、量子化器２２によって量子化され、量子化器２２の出力データが、第２の誤差拡散処理部２０の出力データ、すなわち、画像処理装置の出力データｙ（ｉ，ｊ）として出力される。また、減算器２３によって、量子化器２２の出力データから減算器２１の出力データが減算されて、量子化誤差ｅb （ｉ，ｊ）が生成される。減算器２３の出力データである量子化誤差ｅb （ｉ，ｊ）は、フィルタ２４に入力されて、伝達関数Ｇb （ｚ1,ｚ2 ）で表されるフィルタリング処理が施され、フィルタ２４の出力データは、減算器２１に入力される。このような動作により、第２の誤差拡散処理部２０は、第１の誤差拡散処理部１０の出力データを３つ以上の量子化レベルに基づいて量子化すると共に、この量子化によって発生する量子化誤差ｅb （ｉ，ｊ）を高域に変調することによって、第１の誤差拡散処理部１０の出力データに対して量子化レベル数が３以上の誤差拡散処理を行って出力する。
【００４７】
このように、本実施の形態に係る画像処理装置では、入力画像データｘ（ｉ，ｊ）に対して、誤差拡散処理部１０，２０によって、量子化器１２，２２とフィルタ１４，２４の特性を変えて、２段階の誤差拡散処理を行い、最終的に少階調化された出力画像データｙ（ｉ，ｊ）を得るようになっている。
【００４８】
次に、本実施の形態に係る画像処理装置の効果について説明する。図３は、量子化器１２，２２における各量子化レベルを図２に示したように設定した場合において、入力画像データｘ（ｉ，ｊ）の各階調に対して、量子化器１２，２２で発生する量子化誤差の大きさを示したものである。なお、この図では、量子化器１２で発生する量子化誤差の大きさを、符号Ｑa を付した実線で示し、量子化器２２で発生する量子化誤差の大きさを、符号Ｑb を付した破線で示している。この図から、量子化器２２による本来の量子化では、量子化レベル近傍で誤差が発生せず、これが量子化レベル近傍でランダムパターンが発生しない原因となっていることが分かる。従って、量子化器１２では、量子化器２２による量子化で誤差が発生しない部分を中心として選択的に誤差を補充するような量子化を行う。このような量子化器１２，２２による２段階の量子化によって、原画像データの全階調に対して量子化誤差が一様化されることになる。
【００４９】
次に、誤差拡散処理部１０，２０における誤差変調用フィルタＨa （ｚ1,ｚ2 ），Ｈb （ｚ1,ｚ2 ）をどのように設計したらよいかについて説明する。フィルタＨa （ｚ1,ｚ2 ），Ｈb （ｚ1,ｚ2 ）に同じ特性のフィルタを用いると、式（６）より、１段目で発生した量子化誤差が、２段目で発生する量子化誤差と同じ周波数同士で干渉し合って画品質が悪くなる。従って、フィルタＨa （ｚ1,ｚ2 ），Ｈb （ｚ1,ｚ2 ）には、異なる特性を持ったフィルタを用いるのが好ましい。また、１段目で発生する量子化誤差は、図３に示したように、まだ一様化されていないので、量子化器１２の量子化レベル近傍ではフィルタＨa （ｚ1,ｚ2 ）によるテクスチャは発生しない。これに対して、２段目で発生する量子化誤差は一様化されており、原画像データの全ての階調に対してフィルタＨb （ｚ1,ｚ2 ）によるテクスチャが支配的となるため、フィルタＨa （ｚ1,ｚ2 ）によるテクスチャが細かく、フィルタＨb （ｚ1,ｚ2 ）によるテクスチャが粗くなるように設計した方が、一様なテクスチャが得られる。それは、人間の目には、粗い方が目立つからである。フィルタＨa （ｚ1,ｚ2 ）によるテクスチャを細かく、フィルタＨb （ｚ1,ｚ2 ）によるテクスチャを粗くするには、フィルタＨa （ｚ1,ｚ2 ）の高域利得を大きくし、フィルタＨb （ｚ1,ｚ2 ）では、フィルタＨa （ｚ1,ｚ2 ）に比べて少し低域の利得を大きくすればよい。
【００５０】
ここで、フィルタＨa （ｚ1,ｚ2 ）に高域利得の大きいＦｌｏｙｄのフィルタを用い、フィルタＨb （ｚ1,ｚ2 ）に３種類のフィルタ（以下、フィルタＨ１〜Ｈ３と言う。）を用いた場合について比較する。３種類のフィルタＨ１〜Ｈ３に対応する３種類のフィルタＧb （ｚ1,ｚ2 ）のフィルタ係数を、以下の式（１１）〜（１３）に示す。なお、式中の＊は注目画素を表し、ｇb （０，０）＝０となる。
【００５１】
【数１１】
【００５２】
【数１２】
0003821327.tif 000004
【００５３】
【数１３】
【００５４】
式（１１）〜（１３）で表される３種類のフィルタＧb （ｚ1,ｚ2 ）を用いた場合の誤差変調用フィルタＨ１〜Ｈ３の周波数特性を、それぞれ図４ないし図６に示す。なお、これらの図において、周波数を表す数値は、絶対値が大きいほど周波数が高いことを表している。
【００５５】
また、階調が連続的に変化する入力画像に対して、フィルタＨa （ｚ1,ｚ2 ）にＦｌｏｙｄのフィルタ（式（４）および図２２参照）を用い、フィルタＨb （ｚ1,ｚ2 ）に図４ないし図６に対応する３種類のフィルタＨ１〜Ｈ３を用いて、２段階の誤差拡散処理を行って得られる５値の出力画像を、それぞれ図７ないし図９に示す。
【００５６】
図４ないし図７から、フィルタＨb （ｚ1,ｚ2 ）に用いた３種類のフィルタＨ１〜Ｈ３は、全てフィルタＨa （ｚ1,ｚ2 ）に用いたＦｌｏｙｄのフィルタよりも高域利得が小さいことが分かる。また、３種類のフィルタの中では、フィルタＨ１の方が高域利得が大きく、フィルタＨ３の方が少し低い帯域の利得が大きいことが分かる。従って、図７ないし図９に示したように、フィルタＨ１を用いた方がテクスチャが細かく、フィルタＨ３を用いた方がテクスチャが粗くなる。
【００５７】
一方、図７から、フィルタＨ１の方が、周波数特性がＨa （ｚ1,ｚ2 ）に用いたＦｌｏｙｄのフィルタに近くなるため、少し干渉を起こしていることが分かる。図９に示したように、フィルタＨ３の方が、干渉が抑えられ、一様なテクスチャを生じる。テクスチャは細かく一様な方が画品質が良いので、Ｈb （ｚ1,ｚ2 ）に用いるフィルタは、出力機器の特性や出力解像度によって最適なものを選択する必要がある。なお、フィルタＨ２は、フィルタＨ１とフィルタＨ３の中間の特性（図５）を有しているので、図７と図９の中間のテクスチャ（図８）が得られる。また、Ｈb （ｚ1,ｚ2 ）にＪａｒｖｉｓのフィルタ（式（５）および図２３参照）を用いると、ＪａｒｖｉｓのフィルタがフィルタＨ１とフィルタＨ２の中間の特性を有することから、図７と図８の中間のテクスチャが得られる。
【００５８】
図２６と図７ないし図９とを比較すると、従来の多値誤差拡散法の問題点であった量子化レベル近傍でのテクスチャ変化が、本実施の形態に係る映像処理装置および方法により改善され、一様なテクスチャが得られていることが分かる。本実施の形態において、最終的に得られるテクスチャは、Ｈa （ｚ1,ｚ2 ）に用いたフィルタのテクスチャとＨb （ｚ1,ｚ2 ）に用いたフィルタのテクスチャを重畳したようなものになっている。また、本実施の形態では、必要以上に誤差を付加していないため、原画像データにおけるある階調レベルは、２値または３値の出力レベルのみで表現されており、ざらつき感の少ない高品質の多値誤差拡散法による出力画像が得られる。
【００５９】
次に、より現実的な入力画像を用いて、従来の多値誤差拡散法による出力画像と、本実施の形態による出力画像とを比較した結果について説明する。ここでは、画像出力機器として、濃度階調方式の昇華型プリンタを用い、出力解像度は３００ＤＰＩとしている。
【００６０】
図１０は、Ｊａｒｖｉｓのフィルタを用いた従来の３値の誤差拡散法による出力画像を示している。この出力画像では、量子化レベル近傍でのテクスチャ変化により疑似輪郭が生じており、画品質が悪い。
【００６１】
図１１ないし図１４は、それぞれ、本実施の形態において、フィルタＨa （ｚ1,ｚ2 ）にＦｌｏｙｄのフィルタを用いると共に、フィルタＨb （ｚ1,ｚ2 ）に３種類のフィルタＨ１〜Ｈ３またはＪａｒｖｉｓのフィルタを用いて得られた３値の誤差拡散法による出力画像を示している。これらの出力画像では、疑似輪郭が解消され、粒状感もない、一様なテクスチャが得られていることが分かる。また、３００ＤＰＩ程度の解像度では、粗いテクスチャが目につくため、フィルタＨb （ｚ1,ｚ2 ）として、細かいテクスチャを生じるフィルタＨ１やＪａｒｖｉｓのフィルタを用いた方が良い結果を得られることが分かる。しかし、これは出力解像度がもっと高くなると変わる可能性もあるので、出力機器の特性や出力解像度によって最適なフィルタを選択すれば良い。
【００６２】
同様に、図１５は、Ｊａｒｖｉｓのフィルタを用いた従来の５値の誤差拡散法による出力画像を示し、図１６ないし図１９は、それぞれ、本実施の形態において、フィルタＨa （ｚ1,ｚ2 ）にＦｌｏｙｄのフィルタを用いると共に、フィルタＨb （ｚ1,ｚ2 ）に３種類のフィルタＨ１〜Ｈ３またはＪａｒｖｉｓのフィルタを用いて得られた５値の誤差拡散法による出力画像を示している。これらの図から、本実施の形態では、５値の場合も３値の場合と同様の効果が得られることが分かる。以後、９値、７値、…と量子化レベル数が増えるに従って、本実施の形態による出力画像と従来の誤差拡散法による出力画像との差は少なくなる。
【００６３】
以上説明したように、本実施の形態では、まず本来の３つ以上の量子化レベルに対して交互に挟み込まれるように設定された量子化レベルを用いた１段目の誤差拡散処理によって、本来の量子化レベル近傍を中心としてランダムパターンが重畳される。次に、１段目とは特性の異なる誤差変調用フィルタを用いた２段目の誤差拡散処理によって、テクスチャが一様化された出力画像が得られる。
【００６４】
本実施の形態において、１段目の誤差拡散処理は、原画像データに雑音を重畳しているものと解釈することもできる。ただし、このとき重畳される雑音は、従来より用いられていたような規則的なパターンやランダム雑音とは異なり、原画像データに依存したもので、原画像データの低域部分にあまり影響を与えないような雑音である。そして、この雑音は、本来の量子化で誤差が発生しない部分に選択的に補充されるため、誤差の最大値を大きくしないような雑音になっている。このため、本実施の形態によれば、原画像データからかけ離れた値の出力レベルが混在せず、ざらつき感の少ない高品質の多値誤差拡散法による出力画像が得られる。
【００６５】
このように、本実施の形態によれば、擬似輪郭や粒状感がなく、テクスチャが一様化された、ざらつき感の少ない高品位の出力画像を得ることができる。
【００６６】
また、本実施の形態によれば、１段目の誤差拡散処理における量子化レベルを、２段目の誤差拡散処理における量子化レベルの中間の値、入力画像データの最小レベルおよび入力画像データの最大レベルに設定したので、入力画像データの全階調に対して量子化誤差を一様化することができる。
【００６７】
また、本実施の形態によれば、１段目の誤差拡散処理における量子化誤差の変調特性と２段目の誤差拡散処理における量子化誤差の変調特性とを互いに異ならせたので、１段目の誤差拡散処理において発生する量子化誤差と２段目の誤差拡散処理において発生する量子化誤差の干渉を防止でき、より高品質の画像を得ることができる。特に、本実施の形態では、２段目の誤差拡散処理における量子化誤差の変調特性を、１段目における誤差拡散処理における量子化誤差の変調特性よりも低域における利得の大きいものとしたので、更に、テクスチャがより一様化された像を得ることができる。
【００６８】
なお、本実施の形態に係る画像処理装置は、例えば、単体の装置として構成してもよいし、ＩＣ（集積回路）化する等してプリンタ等の画像出力装置に内蔵するようにしてもよい。
【００６９】
図２０は、本発明の第２の実施の形態に係る画像処理装置の構成を示すブロック図である。本実施の形態は、第１の実施の形態に係る画像処理装置と同様の機能を、コンピュータを用いてソフトウェア的に実現した例である。
【００７０】
本実施の形態に係る画像処理装置は、コンピュータを用いたものであり、互いにバス３０を介して接続されたＣＰＵ（中央処理装置）３１、ＲＯＭ（リード・オンリ・メモリ）３２およびＲＡＭ（ランダム・アクセス・メモリ）３３を備えている。画像処理装置は、更に、インタフェース４１〜４６を介してバス３０に接続されたハードディスク５１、ＣＤ（コンパクトディスク）−ＲＯＭドライブ５２、フロッピィディスクドライブ５３、キーボード５４、マウス５５およびＣＲＴ（陰極線管）５６を備えている。画像処理装置は、更に、バス３０に画像入力装置５７を接続するためのインタフェース４７と、バス３０に画像出力装置５８を接続するためのインタフェース４８とを備えている。
【００７１】
画像入力装置５７としては、イメージスキャナ、ディジタルカメラ、ビデオカメラ等がある。画像出力装置３８としては、プリンタ、液晶ディスプレイ等がある。
【００７２】
本実施の形態に係る画像処理装置では、ＣＰＵ３１が、ＲＡＭ３３を作業領域として、ハードディスク５１、ＣＤ−ＲＯＭドライブ５２によって駆動されるＣＤ−ＲＯＭまたはフロッピィディスクドライブ５３によって駆動されるフロピィディスクに格納されたアプリケーションプログラムを実行することによって、図１における第１の誤差拡散処理部１０および第２の誤差拡散処理部２０の機能を実現するようになっている。
【００７３】
本実施の形態に係る画像処理装置は、上述のようにして実現される機能により、画像入力装置５７によって入力された画像データあるいは画像処理装置（コンピュータ）で作成した画像データに対して、第１の実施の形態と同様の２段階の誤差拡散処理を行って、少階調化された出力画像データを画像出力装置５８に対して出力する。
【００７４】
本実施の形態におけるその他の作用および効果は第１の実施の形態と同様である。
【００７５】
なお、本発明は、上記各実施の形態に限定されず、例えば、実施の形態で挙げた量子化レベル、量子化レベル数や、フィルタの特性等は一例であり、本発明を適用する形態に応じて適宜に設定することができる。また、本発明は、多濃度インクやドット径変調によって多値表現できるインクジェットプリンタや、溶融熱転写方式やサーモ・オートクローム方式のプリンタ、階調表現の低いディスプレイ装置等に画像データを出力するための画像データを少階調化する場合に有効であるが、それ以外にも、画像処理や画像データの蓄積の負担を軽減するために画像データを少階調化する場合等にも有効である。
【００７６】
【発明の効果】
以上説明したように、請求項１ないし４のいずれかに記載の画像処理方法または請求項５ないし９のいずれかに記載の画像処理装置によれば、入力画像データに対して量子化レベルの異なる２段階の誤差拡散処理を行って少階調化された出力画像データを得るようにしたので、多値誤差拡散処理を行いながら、テクスチャが一様化されたざらつき感の少ない高品質の画像を得ることができるという効果を奏する。
【００７７】
また、請求項２記載の画像処理方法または請求項６記載の画像処理装置によれば、１段目の誤差拡散処理における量子化レベルを、２段目の誤差拡散処理における量子化レベルの中間の値、入力画像データの最小レベルおよび入力画像データの最大レベルに設定したので、更に、入力画像データの全階調に対して量子化誤差を一様化することができるという効果を奏する。
【００７８】
また、請求項３記載の画像処理方法または請求項７記載の画像処理装置によれば、１段目の誤差拡散処理における量子化誤差の変調特性と２段目の誤差拡散処理における量子化誤差の変調特性とを互いに異ならせたので、更に、１段目の誤差拡散処理において発生する量子化誤差と２段目の誤差拡散処理において発生する量子化誤差の干渉を防止でき、より高品質の画像を得ることができるという効果を奏する。
【００７９】
また、請求項４記載の画像処理方法または請求項８記載の画像処理装置によれば、２段目の誤差拡散処理における量子化誤差の変調特性を、１段目における誤差拡散処理における量子化誤差の変調特性よりも低域における利得の大きいものとしたので、更に、テクスチャがより一様化された像を得ることができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図２】図１における各量子化器における量子化レベルの一例を示す説明図である。
【図３】図１における量子化器における各量子化レベルを図２に示したように設定した場合において入力画像データの各階調に対して量子化器で発生する量子化誤差の大きさを示す説明図である。
【図４】図１における第２の誤差拡散処理部で使用するフィルタの周波数特性の一例を示す特性図である。
【図５】図１における第２の誤差拡散処理部で使用するフィルタの周波数特性の他の例を示す特性図である。
【図６】図１における第２の誤差拡散処理部で使用するフィルタの周波数特性の更に他の例を示す特性図である。
【図７】図４に対応するフィルタを用いて、図１に示した画像処理装置によって得られる５値の出力画像を示す説明図である。
【図８】図５に対応するフィルタを用いて、図１に示した画像処理装置によって得られる５値の出力画像を示す説明図である。
【図９】図６に対応するフィルタを用いて、図１に示した画像処理装置によって得られる５値の出力画像を示す説明図である。
【図１０】従来の３値の誤差拡散法による出力画像を示す説明図である。
【図１１】図４に対応するフィルタを用いて、図１に示した画像処理装置によって得られる３値の出力画像を示す説明図である。
【図１２】図５に対応するフィルタを用いて、図１に示した画像処理装置によって得られる３値の出力画像を示す説明図である。
【図１３】図６に対応するフィルタを用いて、図１に示した画像処理装置によって得られる３値の出力画像を示す説明図である。
【図１４】Ｊａｒｖｉｓのフィルタを用いて、図１に示した画像処理装置によって得られる３値の出力画像を示す説明図である。
【図１５】従来の５値の誤差拡散法による出力画像を示す説明図である。
【図１６】図４に対応するフィルタを用いて、図１に示した画像処理装置によって得られる５値の出力画像を示す説明図である。
【図１７】図５に対応するフィルタを用いて、図１に示した画像処理装置によって得られる５値の出力画像を示す説明図である。
【図１８】図６に対応するフィルタを用いて、図１に示した画像処理装置によって得られる５値の出力画像を示す説明図である。
【図１９】Ｊａｒｖｉｓのフィルタを用いて、図１に示した画像処理装置によって得られる５値の出力画像を示す説明図である。
【図２０】本発明の第２の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図２１】一般的な誤差拡散処理を実現するための画像処理装置の構成を示すブロック図である。
【図２２】図２１に示した画像処理装置で使用するフィルタの周波数特性の一例を示す特性図である。
【図２３】図２１に示した画像処理装置で使用するフィルタの周波数特性の他の例を示す特性図である。
【図２４】図２２に対応するフィルタを用いた場合の２値誤差拡散法による出力画像を示す説明図である。
【図２５】図２３に対応するフィルタを用いた場合の２値誤差拡散法による出力画像を示す説明図である。
【図２６】図２３に対応するフィルタを用いた場合の５値の誤差拡散法による出力画像を示す説明図である。
【符号の説明】
１０…第１の誤差拡散処理部、１１，１３…減算器、１２…量子化器、１４…フィルタ、２０…第２の誤差拡散処理部、２１，２３…減算器、２２…量子化器、２４…フィルタ。
【数１１】0003821327.tif 000005
【数１１】0003821327.tif 000006
【図１】
0003821327.tif 000007
【図２】
0003821327.tif 000008
【図３】
0003821327.tif 000009
【図４】
0003821327.tif 000010
【図５】
0003821327.tif 000011
【図６】
0003821327.tif 000012
【図７】
0003821327.tif 000013
【図８】
0003821327.tif 000014
【図９】
0003821327.tif 000015
【図１０】
0003821327.tif 000016
【図１１】
0003821327.tif 000017
【図１２】
0003821327.tif 000018
【図１３】
0003821327.tif 000019
【図１４】
0003821327.tif 000020
【図１５】
0003821327.tif 000021
【図１６】
0003821327.tif 000022
【図１７】
0003821327.tif 000023
【図１８】
0003821327.tif 000024
【図１９】
0003821327.tif 000025
【図２０】
0003821327.tif 000026
【図２１】
0003821327.tif 000027
【図２２】
0003821327.tif 000028
【図２３】
0003821327.tif 000029
【図２４】
0003821327.tif 000030
【図２５】
0003821327.tif 000031
【図２６】
0003821327.tif 000032