(57)【特許請求の範囲】
【請求項１】
注目画素位置周辺の既処理画素の量子化誤差を記憶する誤差記憶手段と、該記憶された周辺画素の量子化誤差を基に入力画素値を修正する修正手段と、注目画素位置に対応した閾値を記憶した閾値記憶手段と、前記修正された画素値を、前記閾値記憶手段の閾値を用いて量子化する量子化手段と、該量子化によって生じる誤差を演算する演算手段とを備えた画像量子化装置において、前記入力画素の階調を、より少数の階調に変換して出力する疑似中間調処理方法であって、ホワイトノイズ画像に、高周波成分だけを透過する周波数特性を持つフィルタをかけて低周波成分を抑制した画像を生成し、前記低周波成分を抑制した画像の画素値が所定値以上の画素値を第１の閾値とし、所定値未満の画素値を第２の閾値として、前記閾値記憶手段に記憶したことを特徴とする疑似中間調処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、どのような入力信号に対してもテキスチャを持つ出力信号を生成する疑似中間調処理方法に関する。
【０００２】
【従来の技術】
デジタル画像の疑似中間調処理とは、１画素が多数の値を持ち得る連続階調（例えば２５６値）のデータを、より少数の階調（例えば２値、４値）に変換する処理である。従来知られている疑似中間調処理のなかでも、誤差拡散法は、
（１）解像度が高い
（２）周期性を持たないためモアレが生じにくい
などの優れた特徴を持っている。
【０００３】
図５は、従来の誤差拡散処理の構成を示す。従来の誤差拡散処理は以下のように行われる。
誤差バッファ２１に記録された注目画素周辺の既処理画素の誤差を、所定の重み係数（ｗk,l）２２を用いて、積和部２３で次式のように加重平均し、既処理画素誤差値Ｅを求める。
【０００４】
【数１】
0003560265.tif 000002
【０００５】
既処理画素誤差（Ｅi,j）が加算器２４で入力画素値ｉｎi,jに加算され、補正画素値（ｓｕｍi,j）が計算される。閾値処理部２５では、所定の閾値を用い補正画素値（ｓｕｍi,j）を閾値処理し、２値（または所定の出力階調数）の出力画素値ｏｕｔi,jを求める。減算器２６で、補正画素値ｓｕｍi,jと出力画素値ｏｕｔi,jの差を求め、その結果ｅｒｒi,jを誤差バッファ２１の対応する画素位置に記録する。
【０００６】
このように量子化誤差を周辺画素に拡散することは、以下の２つの役割を持つと考えられる。すなわち、
平均的な濃度保存；
ある１画素の量子化により生じた誤差は、周囲の別の画素に引き継がれるため、入力画素値と出力画素値のある程度大きな範囲での平均値が保存される。
テキスチャの生成；
ディザ処理などと同様に入力画素値にある信号（誤差信号）を加算して修正しているとも考えられる。この加算される誤差信号は、ほぼランダムな信号であり、これが誤差拡散処理された疑似中間調画像の独特のテキスチャを作っている。
【０００７】
誤差拡散法は、入力データによりテキスチャが変化する性質があり、その性質が例えばグラデーション画像に対し疑似輪郭が生じるという問題となって現れる。図６は、横方向に０から２５５まで変化するグラデーション画像を、図５で説明したと同様の方法で、０、８５、１７０、２５５の４値に量子化した結果である。図に見える通り、２種類の画素が混在する領域と、１種類の画素だけからなる領域が交互に現れている。
【０００８】
入力画素値が０の付近では出力画像はほとんど０である。入力画素値が大きくなるにつれ、出力に８５の画素がふえてくる。４３付近の入力に対しては、出力は０と８５がほぼ同数混在し、誤差拡散独特のテキスチャを持つことになる。しかし、入力が更に大きくなり、８５近くになると、出力は８５がほとんどとなり、テキスチャも消えてしまう。入力画素値に対する出力画素値の様子は、およそ図１３に示すようになっている（なお、図６では、入力機器の精度の関係から入力値１７０以上が全て出力値２５５となっているが、同日付けで提出された上申書の図６に、鮮明なグラデーション処理結果が示されているので参照されたい）。
【０００９】
このように特定の入力値に対して出力値が一定となり、上記した例のような４値化処理では、中間の２つの階調付近で、入力の濃度勾配を再現できずに疑似輪郭となっている。
【００１０】
この問題の原因は、次のように考えることができる。誤差拡散法では、入力画素値に周辺の既処理画素の量子化誤差を加算する。この量子化誤差自身は不規則な信号であり、これが誤差拡散法の独特なテキスチャを生じる原因となっている。しかし、出力値に近い入力値に対しては、量子化誤差がほとんどゼロとなるため、入力画素値に対する修正が働かず、そのためにテキスチャのない平坦な画像が出力されてしまう。
【００１１】
このような量子化誤差によって入力信号を修正し、テキスチャを生成することは他にも次のような問題を生じる。すなわち、
２値化処理の場合でも白または黒の付近の入力、つまりハイライトまたはシャドウの平坦なデータでは量子化誤差が小さいためテキスチャが十分不規則にならず、図７に示すようにドットが局所的に集中する（つながる）などの画質劣化が生じる。
【００１２】
特定の値、例えば２５６値の入力の場合の１２８の一様なデータに対して、図８のような規則的な出力になってしまう。これは出力が規則的→誤差も規則的→入力値に対する修正も規則的→よって出力が規則的、という循環により生じる。規則的なテキスチャが現れるのは１２８／２５５のような特定の値だけなので、実際の画像中では規則的な領域と非周期的な領域が混在し見苦しくなる場合がある。
【００１３】
ＲＧＢなど複数のプレーンからなるカラー画像を、プレーン毎にそれぞれ量子化する場合、ＲＧＢ全てが同じ値を持つ画像に対しては、各プレーンが全く同じ出力となってしまう。図９（ａ）、（ｂ）は、それぞれＲＧＢが４画素づつ打たれた例を示すが、（ａ）はＲＧＢそれぞれ独立に不規則なドットを配置する場合、（ｂ）はＲＧＢが同じ不規則なドット配置をする場合である。（ｂ）のような各プレーンが同じカラー画像は、見かけ上テキスチャの周期が下がり、ノイズとして目に付きやすい。
【００１４】
同様にカラー画像を量子化する場合、各プレーンのドット位置に相関が高い画像は、カラープリンタなど各版のドット位置のずれにより色の変化する問題もある。例えば、図９で、Ｒプレーンの位置だけが僅かにずれた場合、（ａ）では各ドットの位置が変わるだけで全体の平均的な色に変化はないが、（ｂ）では図１０に示すように、重なりからはみ出した部分がＲとＧ＋Ｂとなり全体として色が変化してしまう。
【００１５】
【発明が解決しようとする課題】
誤差拡散法における上記した問題に対処する従来の方法として、閾値を周期的にまたはランダムに変化させる方法が提案されている（例えば、特開昭６２−２３９６６６号公報、特開平３−１６３７９号公報を参照）。しかし、閾値を周期的に変動させる方法では、周期構造を持たないためモアレが発生しにくいという誤差拡散処理の長所が損なわれてしまう。また、ランダムなノイズを加える方法では、当然ノイズの多い出力画像となってしまう。
【００１６】
本発明の目的は、入力画像を量子化する際に、「どのような入力値に対しても常に存在する」、「モアレの原因となる周期的構造を持たない」、「ノイズとして目立たない」という性質を持つテキスチャを与えることで、「多値化の場合に疑似輪郭が生じる」、「白または黒付近でドットがつながるなど目に付きやすいテキスチャが生じる」、「特定の入力値だけに対して規則的なテキスチャとなる」などの従来の誤差拡散法にみられる画質劣化を生じない、高品質な疑似中間調処理を実現した疑似中間調処理方法を提供することにある。
【００１７】
【課題を解決するための手段】
前記目的を達成するために、請求項１記載の発明では、注目画素位置周辺の既処理画素の量子化誤差を記憶する誤差記憶手段と、該記憶された周辺画素の量子化誤差を基に入力画素値を修正する修正手段と、注目画素位置に対応した閾値を記憶した閾値記憶手段と、前記修正された画素値を、前記閾値記憶手段の閾値を用いて量子化する量子化手段と、該量子化によって生じる誤差を演算する演算手段とを備えた画像量子化装置において、前記入力画素の階調を、より少数の階調に変換して出力する疑似中間調処理方法であって、ホワイトノイズ画像に、高周波成分だけを透過する周波数特性を持つフィルタをかけて低周波成分を抑制した画像を生成し、前記低周波成分を抑制した画像の画素値が所定値以上の画素値を第１の閾値とし、所定値未満の画素値を第２の閾値として、前記閾値記憶手段に記憶したことを特徴としている。
【００１８】
【発明の実施の形態】
以下、本発明の一実施例を図面を用いて具体的に説明する。
〈実施例１〉
図１は、本発明の実施例１の構成を示す。この実施例では、８ビット２５６値のデータを２値に変換するものとする。図において、１は誤差バッファ、２は既処理画素の誤差を平均化する平均化処理部、３は入力画素値と平均化処理部２の出力とを加算する加算器、４は閾値を記憶した閾値マトリックス、５は入力画像の注目画素位置を示す行・列カウンタ、６は行・列カウンタで指定された閾値を閾値マトリックスから読み出す閾値生成器、７は生成された閾値を用いて加算器の出力を閾値処理する閾値処理部、８は加算器の出力と出力画素値とを減算する減算器である。
【００１９】
処理の流れを以下説明すると、
誤差バッファ１に記録された周辺の既処理画素の誤差が平均化処理部２で次式にように平均され、既処理画素誤差値ｅｒｒが求められる。
【００２０】
【数２】
0003560265.tif 000003
【００２１】
加算器３で、既処理画素誤差（Ｅij）が入力画素値ｉｎijに加算され、補正画素値（ｓｕｍij）が計算される。現在の注目画素位置を示す行列カウンタ５の信号を用い、閾値マトリックス４から閾値を読み出す。
【００２２】
閾値処理部７は、読み出した閾値を用い、補正画素値（ｓｕｍij）を閾値処理し、２値の出力画素値ｏｕｔijを求める。減算器８で、補正画素値ｓｕｍijと、出力画素値ｏｕｔijの差を求め、その結果ｅｒｒijを誤差バッファ１の対応する画素位置に記録する。
【００２３】
次に、本発明を構成する各要素を説明する。
【００２４】
（入力画素値補正部）
平均化処理部２と加算器３からなる入力画素値補正部は、注目画素位置に隣接する４つの画素位置での量子化誤差の平均値を入力画素値に加算する。通常の誤差拡散法では、安定した不規則なテキスチャを生成するため、多数（前述した従来例では１０個以上）の画素位置の誤差の加重平均をとる。しかし、本実施例に示した方法では、出力画像のテキスチャは主に閾値の作用で決定するため、誤差のフィードバックは主に濃度保存のために使用されるので、少ない画素数の参照で十分である。
【００２５】
（閾値生成部）
縦横２５６画素分の各画素１ビットの記憶装置（閾値マトリックス）に、予め計算された閾値（６４、１９２）を記憶しておく。入力画像に対し、この２５６×２５６の参照を順次繰り返すことによって（例えば、入力画像が５１２×５１２の場合、２５６×２５６の閾値マトリックスの参照を４回繰り返す）、全画面の各画素に閾値（６４または１９２）を対応づける。つまり、現在の注目画素位置を示す行列カウンタの下位８ビット（画素位置を２５６で割った余り）をアドレスとして、対応する画素位置の閾値情報を読み出す。各記憶は１ビット（０または１）なので、２つの閾値（６４と１９２）に対応づけて
０→６４
１→１９２
を閾値とする。
【００２６】
（閾値マトリックス）
本発明の目的である、
「どのような入力値に対しても常に存在する」
「モアレの原因となる周期的構造を持たない」
「ノイズとして目立たない」
という性質を持つテキスチャを与えるために閾値として用いる、低周波成分を抑制した２値の不規則信号を記憶する手段である。
【００２７】
記憶する閾値は、予め計算機などで以下のような手順で生成しておく。すなわち、
（１）２５６階調、２５６×２５６画素分のメモリを準備し、各画素に乱数を与える。各画素独立な乱数からなる画像は、ホワイトノイズと呼ばれ、全周波数帯域に一様なパワーを持つ不規則な画像である。
【００２８】
（２）ホワイトノイズ画像に、図１１に示すような高周波成分だけを透過する周波数特性を持つフィルタをかける。この操作により、人間の目につきやすい低周波のノイズが抑制され、目立たない細かい濃淡のデータとなる。ここで、画像の端部の画素値を求めるために画像範囲外の画素を参照する場合は、画像の反対側が存在するものとして参照する（例えば画像領域よりも一列上の画素を参照するときは画像の一番下側の画素を参照する）。これにより、閾値マトリックスとしての使用時に上下左右の連続性を保つことができる。
【００２９】
（３）１２８を閾値として２値化する。つまり、１２８以上の画素値を１９２に、１２８未満の画素値を６４に２値化する。
【００３０】
このようにして、図１２に示すような低周波成分を抑制された上下左右の連続な２値不規則信号を生成することができる。図中、「１」は閾値１９２、「０」は閾値６４である。このような閾値を用いることにより、出力画像に現われるテキスチャは、以下（ａ）、（ｂ）、（ｃ）のような性質を持つ。
【００３１】
（ａ）どのような入力値に対しても常に存在する。つまり、本実施例では、閾値マトリックスに記憶された信号を読み出すので、通常の誤差拡散処理における誤差値による補正のように入力値に依存せずに、入力信号を補正することができる。
【００３２】
また、（ｂ）モアレの原因となる周期的構造を持たない。つまり、上記した閾値は乱数を基にしているので周期性を持たない。
【００３３】
さらに、（ｃ）ノイズとして目立たない。人間の視覚特性上、周期の長いノイズ程目立ちやすい。上記した閾値はフィルタにより低周波成分を抑制しているので、出力画像に現われるテキスチャも周期の短いものとなり、目立ちにくくなるという性質を持つ。
【００３４】
また、通常の組織的ディザ法では、入力値を直接閾値と比較して２値化するため、中間階調を表現するために、値の異なる閾値を多数用意しなければならない。しかし、本実施例の方法では、周辺画素の量子化誤差のフィードバックがあるため、本方法の閾値マトリックスは単に出力画像のテキスチャを決めるためだけに用いられるので、２種類の閾値でも平均的な画素値を保存することができる。
【００３５】
〈実施例２〉
図２は、本発明の実施例２の構成を示し、実施例１の閾値マトリックスを信号マトリックス９に置き換え、実施例１の閾値生成器を信号生成器１０に置き換えて構成される。
【００３６】
本実施例２では、実施例１のように閾値を不規則信号によって変化させる代わりに、入力画素値に不規則信号を加算するものである。つまり、実施例１の閾値マトリックスと同様に、低周波成分を抑制した２値信号（−６４、６４）を信号マトリックスに記録しておき、行列カウンタで指定される注目画素位置に従って該２値信号を読み出し、−６４または６４を入力画素値に加算する。閾値処理は、１２８を閾値として２値化する。実施例２の動作は、実施例１と同様であるのでその説明を省略する。
【００３７】
〈実施例３〉
図３は、本発明の実施例３の構成を示す。この実施例３では、実施例２で閾値処理により２値化した部分を、３つの閾値を用いて４値に量子化処理するように変更したものであり、２５６値の入力データを４値に変換する方法である。ここで、量子化処理１１は、図１４に示すように、入力ｓｕｍから出力ｏｕｔを決定する。また、閾値マトリックスを使って量子化処理の閾値を変動させても実施例１と同様に動作する。
【００３８】
〈実施例４〉
図４は、実施例４の構成を示す。この実施例はＲＧＢの３つのプレーンからなるカラー画像に適用する方法である。プレーン毎の誤差拡散処理は、実施例１と同様に加算器、平均化処理部、閾値処理部、減算器、誤差バッファから構成され、閾値マトリックスも実施例１と同様であり、閾値の生成方法が実施例１と異なる。
【００３９】
（カラー用閾値生成方法）
実施例１と同じ２５６×２５６画素分の閾値マトリックスを用いるが、プレーン毎に縦横１２８画素分ずらして読み出す。つまり、行列カウンタの出力（ｉ，ｊ）から以下のようにマトリックス読み出しアドレス（Ｉ，Ｊ）を生成する。
【００４０】
Ｒ用
ＩR＝ｉ  ｍｏｄ  ２５６
ＪR＝ｊ  ｍｏｄ  ２５６
Ｇ用
ＩG＝（ｉ＋１２８）  ｍｏｄ  ２５６
ＪG＝ｊ  ｍｏｄ  ２５６
Ｂ用
ＩB＝ｉ  ｍｏｄ  ２５６
ＪB＝（ｊ＋１２８）  ｍｏｄ  ２５６
ここで、ｍｏｄは剰余演算子である。
【００４１】
実際には（ｉ，ｊ）信号の下位８ビットを取り出し、Ｇ用ｉおよびＢ用ｊについては８ビット目を反転した信号で閾値マトリックス４を読み出せばよい。元もと閾値マトリックスに記録された情報はランダムであり、１２８画素離して読み出すことにより、各プレーンでほぼ相関のない閾値を得ることができる。このような閾値の読み出し方法により、各プレーン用に複数の閾値マトリックスを用意しなくても、ＲＧＢが同じ値をとるカラー画像データに対しても、各プレーンほぼ独立な不規則なテキスチャを持つ量子化処理を実現することができる。
【００４２】
〈実施例５〉
本実施例５は、実施例２をカラー画像用に変更するもので、その構成は実施例４つまり図４の閾値マトリックスを信号マトリックスに置き換え、Ｒ、Ｇ、Ｂ閾値生成器をそれぞれＲ、Ｇ、Ｂ信号生成器に置き換えて構成する。誤差拡散処理の動作は実施例２と同様であり、カラー用の信号生成方法は、実施例４と同様であるので、その説明を省略する。
【００４３】
【発明の効果】
以上、説明したように、本発明によれば、従来の誤差拡散法と異なり、どんな入力信号に対しても安定した不規則なテキスチャを持つ出力が得られるため、
「多値化の場合に疑似輪郭が生じる」、
「白または黒付近でドットがつながるなど目に付きやすいテキスチャが生じる」、
「特定の入力値に対してだけ規則的なテキスチャとなる」
などの画質劣化を生じない、高品質な疑似中間調処理を実現することができる。
【００４４】
また、本発明によれば、どんな入力信号に対しても安定した不規則なテキスチャを持つ出力を得ながら、誤差演算手段の回路規模を節約し、また演算時間を短縮することができる。
【００４５】
また、本発明によれば、同一の値を持つ複数プレーンのカラー画像データに対しても、常にプレーン毎に相関のないテキスチャを与えることで、見かけ上の周波数を上げテキスチャを目立たなくするとともに、プレーン毎にずれのある出力装置でもずれによる色変化をなくすることができる。
【００４６】
また、本発明によれば、複数のプレーン用に複数の閾値マトリックス、信号マトリックスを記録しておかなくても済むので、閾値記憶手段、信号記憶手段の容量を節約することができる。
【図面の簡単な説明】
【図１】本発明の実施例１の構成を示す。
【図２】本発明の実施例２の構成を示す。
【図３】本発明の実施例３の構成を示す。
【図４】本発明の実施例４の構成を示す。
【図５】従来の誤差拡散処理の構成を示す。
【図６】多値誤差拡散法によるグラデーション処理結果を示す。
【図７】従来法によるハイライトでのドットのつながりを示す。
【図８】従来法による規則的なテキスチャを示す。
【図９】（ａ）、（ｂ）はカラー画像でのプレーン間の相関を示す。
【図１０】各版のドット位置のずれによる色変化を示す。
【図１１】閾値マトリックスデータ生成のためのハイパスフィルタの周波数特性を示す。
【図１２】閾値マトリックスのデータ例を示す。
【図１３】従来法による入力画素値に対する出力画素値を示す。
【図１４】実施例３における量子化処理を示す。
【符号の説明】
１  誤差バッファ
２  平均化処理部
３  加算器
４  閾値マトリックス
５  行・列カウンタ
６  閾値生成器
７  閾値処理部
８  減算器
【図１】
0003560265.tif 000004
【図２】
0003560265.tif 000005
【図３】
0003560265.tif 000006
【図４】
0003560265.tif 000007
【図５】
0003560265.tif 000008
【図６】
0003560265.tif 000009
【図７】
0003560265.tif 000010
【図８】
0003560265.tif 000011
【図９】
0003560265.tif 000012
【図１０】
0003560265.tif 000013
【図１１】
0003560265.tif 000014
【図１２】
0003560265.tif 000015
【図１３】
0003560265.tif 000016
【図１４】
0003560265.tif 000017