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