(57)【要約】【課題】誤差拡散によって生じる、例えば、“テクスチャ”、“ワーム”、“はき寄せ”等の画質を劣化させる要因を抑え、画像に重畳されるノイズの影響を最小化する画像処理方法を提供することである。【解決手段】入力ｎ値画像データに誤差拡散処理を施して擬似中間調画像を形成するためのｍ値画像データ（２≦ｍ＜ｎ）に変換する際に、入力されたｎ値画像データに以前の誤差拡散によって累積した量子化誤差を加算する一方、正のノイズを発生し、さらにそのノイズの負号を決定し、負号が決定されたノイズを量子化誤差が加算されたｎ値画像データにさらに加算し、ノイズが加算されたｎ値画像データをｍ値化し、そのｍ値化されたｍ値データを量子化代表値に逆量子化して量子化誤差が加算されたｎ値画像データから得られた量子化代表値を減算して量子化誤差を生成し、その量子化誤差をバッファに格納する。【選択図】  図１
2004229133.tif 000002
【特許請求の範囲】
【請求項１】
ｎ値画像データに誤差拡散処理を施して擬似中間調画像を形成するためのｍ値画像データ（２≦ｍ＜ｎ）に変換する画像処理方法であって、
ｎ値画像データを入力する入力工程と、
前記入力されたｎ値画像データに以前の誤差拡散によって累積した量子化誤差を加算する第１加算工程と、
ノイズを発生する発生工程と、
前記ノイズの負号を決定する決定工程と、
前記決定工程において負号が決定されたノイズを前記第１加算工程において量子化誤差が加算されたｎ値画像データにさらに加算する第２加算工程と、
前記第２加算工程においてノイズが加算されたｎ値画像データをｍ値化する量子化工程と、
前記量子化工程においてｍ値化されたｍ値データを量子化代表値に逆量子化する逆量子化工程と、
前記第１加算工程において量子化誤差が加算されたｎ値画像データから前記逆量子化工程において得られた量子化代表値を減算して量子化誤差を生成する量子化誤差生成工程と、
前記量子化誤差生成工程において生成した量子化誤差をバッファに格納する格納工程とを備えることを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理方法に関し、特に入力画像濃度と出力画像濃度等の差を誤差拡散法等により保存しつつ、入力データを２値又は多値データに量子化処理する画像処理方法に関する。
【０００２】
【従来の技術】
従来より、入力された多階調画像データを２値画像データに変換して出力する画像処理装置では、多階調画像を２値画像に変換する方法として、例えば、誤差拡散法が用いられている。この誤差拡散法は、注目画素の階調値と、この階調値を２値化処理するための固定の２値化閾値との量子化誤差が、注目画素の近傍画素の階調値に拡散され、これら各階調値を逐次的に２値化する方法である（例えば、非特許文献１参照）。
【０００３】
【非特許文献１】
Ｐｒｏｃｅｅｄｉｎｇ  ｏｆ  ｔｈｅ  Ｓ．Ｉ．Ｄ．，  Ｖｏｌ  １７／２，  １９７６，  Ｒ．Ｆｌｏｙｄ  ａｎｄ  Ｌ．Ｓｔｅｉｎｂｅｒｇ，  ”ＡｎＡｄａｐｔｉｖｅ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  Ｓｐａｔｉａｌ  Ｇｒｅｙｓｃａｌｅ”，  ｐｐ．７５−７６。
【０００４】
ところが、誤差拡散法を利用した２値化方法では、誤差拡散処理特有の、一般的に“テクスチャ”や“ワーム”と呼ばれる縞模様が再生画像に発生し、視覚的印象に悪影響を与える場合があった。
【０００５】
また、濃度変化の大きな部分においてはドット生成の遅れによる“はき寄せ”と呼ばれる白とび（高濃度から低濃度への変化部）、黒つぶれ（低濃度から高濃度への変化部）が再生画像に発生し、濃度の再現性を損なう場合があった。
【０００６】
さらに、誤差拡散法を２値以上の多値に拡張した場合、量子化代表値付近においてはドットが消失してしまうため、擬似輪郭として認識されてしまう場合があった。
【０００７】
このような問題を解決するために従来からも、入力画像から一定幅の均一濃度の画素データを検出し、そこに乱数により生成したノイズを重畳することによりテクスチャパターンの発生を防止する方法が提案されている（例えば、特許文献１参照）。
【０００８】
さらに、画像情報の入力値に応じて、その最大値を変化させた乱数を２画素以上の周期で生成し、この乱数を２画素以上の周期内で、その負号を正／負に反転した信号と画像情報の入力値とを加算し、加算された信号値をｎ値化することにより、上述した“はき寄せ”や“テクスチャ”などの発生を防止する方法も提案されている（例えば、特許文献２参照）。
【０００９】
【特許文献１】
特開平１１−１４６２０１号公報。
【００１０】
【特許文献２】
特開平９−１７９９７４号公報。
【００１１】
【発明が解決しようとする課題】
しかしながら上記従来例では、入力画像にノイズを重畳しているため、重畳したノイズの影響が出力画像に残ってしまうという欠点があった。
【００１２】
このノイズの影響を出力画像に及ぼさないためには、重畳するノイズのＤＣ成分は“０”でなければならないが、このようなノイズは“はき寄せ”や“テクスチャ”の発生を抑止することが困難であった。また、出力画像の粒状感を少なくするためには、ノイズの低周波成分を抑圧し、かつ、周期性を崩す必要があるが、このような要求を満たすノイズの生成は困難であった。
【００１３】
さらに、“テクスチャ”や“ワーム”を排除するために上記のようなノイズの振幅を大きくして重畳すると、そのノイズが出力画像に残ってしまい、粒状感の目立つ、質の悪い画像が形成されてしまう。従って、最適な振幅のノイズを付与することも困難であった。
【００１４】
本発明は上記従来例に鑑みてなされたもので、誤差拡散によって生じる、例えば、“テクスチャ”、“ワーム”、“はき寄せ”等の画質を劣化させる要因を抑え、画像に重畳されるノイズの影響を最小化する画像処理方法を提供することを目的としている。
【００１５】
【課題を解決するための手段】
上記目的を達成するため本発明の画像処理方法は以下のような工程からなる。
【００１６】
即ち、ｎ値画像データに誤差拡散処理を施して擬似中間調画像を形成するためのｍ値画像データ（２≦ｍ＜ｎ）に変換する画像処理方法であって、ｎ値画像データを入力する入力工程と、前記入力されたｎ値画像データに以前の誤差拡散によって累積した量子化誤差を加算する第１加算工程と、ノイズを発生する発生工程と、前記ノイズの負号を決定する決定工程と、前記決定工程において負号が決定されたノイズを前記第１加算工程において量子化誤差が加算されたｎ値画像データにさらに加算する第２加算工程と、前記第２加算工程においてノイズが加算されたｎ値画像データをｍ値化する量子化工程と、前記量子化工程においてｍ値化されたｍ値データを量子化代表値に逆量子化する逆量子化工程と、前記第１加算工程において量子化誤差が加算されたｎ値画像データから前記逆量子化工程において得られた量子化代表値を減算して量子化誤差を生成する量子化誤差生成工程と、前記量子化誤差生成工程において生成した量子化誤差をバッファに格納する格納工程とを備えることを特徴とする画像処理方法を備える。
【００１７】
また、本発明は、上記画像処理方法における各工程をコンピュータによって実行するために、コンピュータが実行可能なコードによって記述されたプログラムの形態であっても良い。
【００１８】
さらに、そのプログラムは、コンピュータが読み取り可能であるように、コンピュータ可読の記憶媒体に格納するように備えられても良い。
【００１９】
このようにして、プログラムや記憶媒体の形で本発明を実現することも可能である。
【００２０】
またさらに、本発明は、上記画像処理方法を実行できる画像処理装置の形態であっても良い。
【００２１】
即ち、ｎ値画像データに誤差拡散処理を施して擬似中間調画像を形成するためのｍ値画像データ（２≦ｍ＜ｎ）に変換する画像処理装置であって、ｎ値画像データを入力する入力手段と、前記入力手段によって入力されたｎ値画像データに以前の誤差拡散によって累積した量子化誤差を加算する第１加算手段と、ノイズを発生する発生手段と、前記ノイズの負号を決定する決定手段と、前記決定手段によって負号が決定されたノイズを前記第１加算手段によって量子化誤差が加算されたｎ値画像データにさらに加算する第２加算手段と、前記第２加算手段によってノイズが加算されたｎ値画像データをｍ値化する量子化手段と、前記量子化手段によってｍ値化されたｍ値データを量子化代表値に逆量子化する逆量子化手段と、前記第１加算手段によって量子化誤差が加算されたｎ値画像データから前記逆量子化手段によって得られた量子化代表値を減算して量子化誤差を生成する量子化誤差生成手段と、前記量子化誤差生成手段によって生成された量子化誤差を格納するバッファとを備えることを特徴とするものである。
【００２２】
【発明の実施の形態】
以上のような解決手段の構成をさらに詳しく言えば、前記第１加算工程ではバッファに格納された量子化誤差を所定の分配係数によって複数の画素に分配して累積された量子化誤差を加算することが望ましい。
【００２３】
また、前記決定工程では、入力されたｎ値画像データの特定ビットの値によってノイズの負号を決定することが望ましい。
【００２４】
さらに、前記発生工程において発生するノイズの値を所定値以下に制限する制限工程を備えることが好ましく、この制限は、リミッタやゲイン調整器などによって実行される。
【００２５】
より具体的には、前記制限工程では、特定ビットが１であるなら、入力されたｎ値画像データの特定ビットより下位にあるビットによって表現される値、或いは、第１の所定値の内、いずれか小さい方をその所定値とする一方、特定ビットが０であるなら、入力されたｎ値画像データの特定ビットより下位にあるビットを反転することにより得られるビットによって表現される値、或いは、第１の所定値の内、いずれか小さい方を所定値とするようにして、その制限を実行すると良い。また、その制限された値が第２の所定値以下の場合、第２の所定値を前記所定値とすると良い。
【００２６】
さらにまた、前記発生工程は、発生するノイズのビット数より長いシフトレジスタを用いたＭ系列擬似ランダム負号生成回路のシフトレジスタ出力より前記ノイズのビット数相当分を選択することにより、前記ノイズを生成すると良い。
【００２７】
以下添付図面を参照して本発明の好適な実施形態について詳細に説明する。
【００２８】
これ以降の説明では、まず多値画像データを入力して誤差拡散処理を行なってｍ値化データを出力するｍ値化処理装置のいくつかの実施形態について説明し、最後にこのｍ値化処理装置が応用される画像入出力システムについて説明する。この画像入出力システムでは出力装置としてインクジェットプリンタが用いられ、インクジェット記録ヘッドがカラーインクを吐出してカラー画像を記録する。
【００２９】
＜第１実施形態＞
図１は本発明の第１実施形態に従うｍ値化処理方法を用いたｍ値化処理部の構成を示すブロック図である。図１に示す構成では、後述する拡散係数を用いて１画素８ビットの多値画像データに５値の誤差拡散（即ち、ｍ＝５）を行う例を示している。ここでは、８ビットの多値画像データを５値化するための４つの閾値を“３２”、“９６”、“１６０”、“２２４”とする。
【００３０】
図１において、加算器１では拡散フィルタ１０からの補正値（ｅ）を入力画像データ（ｘ）に加算する。ノイズ生成回路２では、補正値が加算された画像データに重畳する１画素５ビットのノイズの絶対値を生成する。比較器３では入力画像データと量子化における閾値を比較し、その結果を１ビットの信号（ｓ）として負号付加回路４に入力する。
【００３１】
負号付加回路４では、比較器３による比較結果に従い、入力画像データが量子化器６の閾値よりも大きい場合はノイズ生成回路２の出力を負に変換して（具体的にはビット反転して＋１する）加算器５に入力する。従って、負号付加回路４から出力される信号（ｎ）は６ビットの信号である。一方、入力画像データが量子化器６の閾値よりも小さい場合はノイズ生成回路２の出力をそのまま加算器５に入力する。
【００３２】
加算器５では、上記補正値が加算された画像データに上記負号が付加されたノイズを加算して、その加算結果（ｘ＋ｅ＋ｎ）を量子化器６に入力する。量子化器６では、ノイズが付加された補正後の入力画像データを閾値と比較し、３ビットのコードに変換する。このコードは出力される一方、逆量子化器７にも入力される。逆量子化器７はそのコードより量子化代表値を生成して、その結果（ｒ）を減算器８に入力する。減算器８では、量子化前のノイズが付加されていない値より量子化代表値を減算して７ビットの量子化誤差を生成し、これを誤差バッファ９に格納する。
【００３３】
誤差バッファ９では、その量子化誤差を約１ライン分遅延し、拡散フィルタ１０の演算に必要な画素の誤差値を出力する。拡散フィルタ１０では、誤差バッファ９からの前ラインの拡散対象画素及び注目画素の量子化誤差に対応する係数を乗してその総和を加算器１に出力する。この出力が補正値として次の入力画像データに加算される。
【００３４】
次に、以上の構成におけるｍ値化処理部の具体的な動作について説明する。
【００３５】
この実施形態では、誤差バッファ９の容量を削減するため、誤差拡散後の値（拡散フィルタの値）を誤差バッファに格納するのではなく、量子化誤差そのものを誤差バッファに格納する構成になっている。
【００３６】
図２は拡散フィルタ１０の演算に用いる拡散係数の例を示す図である。
【００３７】
図２に示したように、周囲の量子化誤差より次の画素の補正値を求める方法（平均誤差最小法）では誤差拡散法の拡散係数と位置が点対称の関係になる。
【００３８】
ノイズ生成回路２は、量子化器６の閾値と量子化代表値との差分未満の値、即ち、０から３１の値をランダムに生成する。
【００３９】
また、比較器３は入力画像データと量子化器６の閾値及び逆量子化器７の量子化代表値とを比較し、ノイズの負号を決定する。ここでは入力画像データ（ｘ）とノイズの負号を示す信号（ｓ）との関係を以下のようにしている。
【００４０】
2004229133.tif 000003
【００４１】
即ち、ノイズの負号を示す信号（ｓ）は入力画像データ（ｘ）のＬＳＢから６ビット目の情報を抽出すれば良い。
【００４２】
さて、量子化器６は１０ビットで表現される入力データ（ｘ＋ｅ＋ｎ）を５値のコード（ｃ）に変換する。即ち、補正後の入力画像データ（ｘ＋ｅ）に対して、上記のような閾値を考慮すると、３ビットの出力コード（ｃ）は以下のようになる。
【００４３】
2004229133.tif 000004
【００４４】
ここで、量子化器６の構成を簡略化するため、負号付加回路４では最大３１のオフセットを加算したノイズ（ｎ）を加算器５において補正後の入力画像データ（ｘ＋ｅ）を加算する。即ち、ノイズ加算後の補正入力画像データ（ｘ＋ｅ＋ｎ）に対して、出力コード（ｃ）は以下のようになる。
【００４５】
2004229133.tif 000005
【００４６】
即ち、出力コード（ｃ）はノイズ加算後の１０ビット補正入力画像データの負号ビットを除いた上位３ビットを抽出すれば良い。但し、後述するように、補正値（ｅ）の値によって出力コード（ｃ）は、範囲外の値をとることがある。具体的には、（ｘ＋ｅ＋ｎ）＜０の場合と（ｘ＋ｅ＋ｎ）＞３１９の場合である。
【００４７】
（ｘ＋ｅ＋ｎ）＜０の場合、負号ビットを除いた上位３ビットを抽出した値は“７”であり、ｃ＝７となるが、所望の出力コード（ｃ）は“０”なので、その値が“７”の場合は“０”に変換して出力する。なお、量子化誤差の範囲は±６３のため、ｃ＝６となることないので上位２ビットの値がともに“１”なら、ｃ＝０（即ち、３ビット全てを０）にしても良い。
【００４８】
一方、（ｘ＋ｅ＋ｎ）＞３１９の場合、負号ビットを除いた上位３ビットを抽出した値は“５”であり、ｃ＝５となるが、所望の出力コード（ｃ）は“４”なので、ｃ＝５の場合は、これをｃ＝４に変換して出力する（即ち、上位２ビットの値が上位側から夫々、“１”、“０”ならＬＳＢを“０”にする）。
【００４９】
逆量子化器７は量子化器６の出力コード（ｃ）を８ビットで表現される量子化代表値（ｒ）に変換する。具体的には、次の通りである。
【００５０】
2004229133.tif 000006
【００５１】
従って、ｃ＝４以外（即ち、３ビットの出力コードのＭＳＢが“０”となる場合）では、そのＭＳＢを除いた２ビットの下位に“０”を６ビット結合して８ビットとした値が量子化代表値となる。なお、ｃ＝４の場合（即ち、３ビットの出力コードのＭＳＢが“１”となる場合）では、８ビット全てを“１”にした値が量子化代表値となる。
【００５２】
負号付加回路４はノイズ生成回路２から発生するノイズに負号及びオフセットを付加する。
【００５３】
具体的には、ノイズ生成回路２の出力を（ｒｎｄ）、比較器３の１ビット信号出力（これは入力画像データ（ｘ）のビット５（ｂ５）の値である）を（ｓ）とすると負号付加回路４の６ビット出力（ｎ）は以下の通りである。
【００５４】
2004229133.tif 000007
【００５５】
ここで、ｓ＝０の時とｓ＝１の絶対値が一致する必然性はない。つまり、ｓ＝０の時は３２から６３のノイズが、ｓ＝１の時は０から３１のノイズが出力されれば良い。従って、比較器３の出力（ｓ）を反転し、ノイズ生成回路２の出力（ｒｎｄ）の上位に結合するだけで良い。このノイズは入力画像データを閾値側に引きつける（言い換えると、閾値をまたぎやすくする）ように作用するだけなので、本来選択される可能性のないコード（量子化代表値）が選択されることはほとんどない。
【００５６】
例えば、入力画像データ（ｘ）が“９５”であった場合、補正値（ｅ）の値によって、以下に述べるように、出力コード（ｃ）として“１”または“２”が出力される。
【００５７】
ｘ＝９５であるなら、ｂ５＝０、即ち、ｓ＝０であるので、ノイズを重畳した場合、正のノイズが重畳される。
【００５８】
負の量子化誤差の絶対値が最大になるのは量子化代表値（ｒ）がｒ＝１２８となる場合で、（ｘ＋ｅ＋ｎ）＝１２８（ただし、３２のオフセットがついている）の時である。上述のように、ｓ＝０であれば、３２≦ｎ≦６３であるので、（ｘ＋ｅ）の最小値は１２８−６３＝６５となる。従って、負の量子化誤差の最大値は６５−１２８＝−６３となる。
【００５９】
一方、正の量子化誤差が最大になるのは量子化代表値（ｒ）がｒ＝６４となる場合で。（ｘ＋ｅ＋ｎ）＝１２７（ただし、３２のオフセットがついている）の時である。上述のように、ｓ＝０であれば、３２≦ｎ≦６３であるので、（ｘ＋ｅ）の最大値は１２７−３２＝９５となる。従って、正の量子化誤差の最大値は９５−６４＝３１となる。
【００６０】
なお、補正値（ｅ）は拡散フィルタ１０により周囲の量子化誤差がフィルタリングされるので上記量子化誤差の範囲より狭くなるが、この範囲を補正値として入力画像に加えても、６４≦ｘ＋ｅ＋ｎ≦１５８＜１９２となり、出力コード（ｃ）は１或いは２のいずれかのみとなる。
【００６１】
量子化器６における量子化誤差の範囲はノイズの重畳により±６３（量子化代表値間の距離―１）に拡大されるため、減算器８の出力ビットとしては７ビット必要になる。
【００６２】
なお、図２に示す拡散係数の分母は１６であるので、拡散フィルタ１０での補正値を表現するには整数部７ビット、小数部４ビットの合計１１ビットが必要になるが、整数部７ビットが入力画像データに加算される。
【００６３】
この実施形態におけるノイズ生成回路２は上記範囲の乱数を生成する回路で、例えば、ＬＦＳＲ（Ｌｉｎｅａｒ  Ｆｅｅｄｂａｃｋ  Ｓｈｉｆｔ  Ｒｅｇｉｓｔｅｒ）を用いたＭ系列擬似ランダム符号生成回路を用いることにする。
【００６４】
図３は９ビットのＭ系列擬似ランダム符号生成回路の構成を示す図である。図３において、１１はシフトレジスタ、１２はＥＸＯＲ回路である。
【００６５】
このようなＭ系列擬似ランダム符号生成回路では、シフトレジスタ１１にまず“０”以外の値をロードしておき、シフトレジスタ１１の原始多項式に対応するビットをＥＸＯＲ（排他的論理和）を演算した結果をＬＳＢ（ビット０）に入力し、左シフトすることで次の乱数を得る。
【００６６】
この実施形態では、シフトレジスタ１１の段数が９段なので、９次の原始多項式Ｘ９＋Ｘ４＋１を用いている。よって、シフトレジスタ１１のＭＳＢ（ビット８）とビット３とをＥＸＯＲ回路１２においてＥＸＯＲを演算した結果をＬＳＢ（ビット０）の入力とし、次のクロックで左シフトする。このような構成により１〜５１１の乱数が、５１１周期で生成される。一方、ノイズ生成回路２のノイズ生成レンジは０〜３１であるので、シフトレジスタ１１の任意の５ビットを用いることで、５１１周期で０〜３１の値を発生するノイズ生成回路２を構成することができる。
【００６７】
上述のように、Ｍ系列擬似ランダム符号はシフトレジスタを用いているので、連続する乱数には若干相関性がある。このため、比較的低周波にノイズパワーのピークがあり、この値をノイズとして入力画像に重畳してしまうと、出力画像にノイズが観測されやすい。一方、この実施形態のように誤差拡散のフィードバックループ内にノイズを重畳した場合は、たとえＤＣオフセットがあるノイズであってもフィードバックループにより濃度は保存される。また、上述のように比較的低周波にノイズパワーのピークがあっても誤差拡散のフィードバックループにより、量子化誤差（ノイズ）の低周波成分は視覚的に検知されにくい高周波に変調されるので、出力画像におけるノイズの影響はかなり小さくなる。
【００６８】
従って以上説明した実施形態に従えば、ノイズを入力画像にではなく、補正後の入力画像に加算する構成をとっているため、いかなるノイズを加えても、誤差拡散のフィードバックループにより濃度は保存される。また、誤差拡散のフィードバックループにより、ノイズの低周波成分は視覚的に検知されにくい高周波に変調されるので、出力画像におけるノイズの影響を抑えることができる。
【００６９】
また、入力画像データに加えるノイズの絶対値を量子化器の閾値と量子化代表値との差分値未満（即ち、３２未満）に制限し、さらにノイズを加算する方向を閾値方向に合わせているので、最小のノイズ振幅で閾値をまたがせる（出力コードの位置をずらす）ことが可能となる。
【００７０】
さらに、ノイズを重畳しても一定入力値に対する出力コードは各々の出力コードの配置がずれるだけで、連続する２つのコード以外のコードはほとんど出力されず、コードの比率も変わらない。よって、ノイズ重畳による粒状感の増加等の弊害は殆どなく“テクスチャ”、“ワーム”、“はき寄せ”等の画像劣化を引き起こす要因を排除することができる。
【００７１】
＜第２実施形態＞
図４は本発明の第２実施形態に従うｍ値化処理方法を用いたｍ値化処理部の構成を示すブロック図である。図４において、１３はリミッタである。以下、第１の実施形態との違いを中心に説明する。
【００７２】
この実施形態ではノイズ生成回路２と負号付加回路４の間にリミッタ１３が挿入されている。リミッタ１３はノイズ生成回路２の出力を入力画像データと量子化における閾値との差分に応じた値に制限して負号付加回路４に入力する。
【００７３】
次に、具体的な動作を説明する。
【００７４】
この実施形態はノイズの重畳により閾値をまたぐように補正し、反対側のコードを生成しやすくすることを特徴としているので、ノイズ生成回路２の最大値は、入力画像データと閾値との差分値程度で充分である。従って、入力画像データと閾値との差分によってリミッタの制限値を制御することにより、より最適なノイズの生成が可能である。
【００７５】
具体的には、入力画像データのビット５（ｂ５）が“１”なら、即ち、ｓ＝１なら、入力画像データ（ｘ）の下位５ビットの値（ｂ４〜ｂ０（ＬＳＢ））によって表現される値）または所定値のいずれか小さい方を制限値（ＬＭＴ）とし、ノイズ生成回路２の出力がこの制限を越える値になった時は、この制限値を出力する。一方、入力画像データのビット５（ｂ５）が“０”なら、即ち、ｓ＝１なら、入力画像データの下位５ビット（ｂ４〜ｂ０）を反転した値または所定値のいずれか小さい方を制限値（ＬＭＴ）とし、ノイズ生成回路２の出力がこの制限を越える値になった時は、この制限値を出力する。
【００７６】
なお、このようなアルゴリズムでは入力画像データ（ｘ）の値が閾値付近であるときは、制限値が“０”付近の非常に小さな値となり、重畳するノイズが小さいものとなって、ノイズを重畳するという効果が薄れてしまうので、この制限値が設定された最小値以下の場合は、その設定された最小値を制限値とする。
【００７７】
ノイズ生成回路２が発生する最大値を量子化器６の閾値と量子化代表値との差分付近に設定した場合、即ち、この実施形態のように、その最大値“３１”が差分値“３２”に近い場合、その最大値が重畳された画素はほんのわずかな値の補正値（ｅ）で入力画像データが表す値よりはるかに遠い量子化代表値が選ばれてしまう。このため、エッジ部分では入力画像データより遠いコードがある間隔で並んだり、例えば、画像形成をインクジェット記録ヘッドを走査して行う場合、その記録ヘッドの走査方向にわずかなグラデーションがかかっているような画像で量子化代表値付近の値をもつ画像入力データに対し、本来生成されるはずのないコードが生成されてしまうという弊害が生じる場合がある（これは過補償と呼ばれる）。
【００７８】
しかしながら、この実施形態によれば、リミッタ１３で発生ノイズの最大値を適切な値に制限することにより、たとえ補正値（ｅ）を考慮しても、量子化代表値が入力画像データの値に近接しない値になってしまう確率は非常に少なくなるので、より弊害なく“テクスチャ”、“ワーム”、“はき寄せ”の発生を抑え、形成画像の画質劣化を防止することができる。
【００７９】
なお、この実施形態では制限値を入力画像データの下位ビットの値から直接生成したが、入力画像データの下位ビットを用いてテーブルを参照することにより同様の制限値を決定するようにしても良い。
【００８０】
＜第３実施形態＞
図５は本発明の第３実施形態に従うｍ値化処理方法を用いたｍ値化処理部の構成を示すブロック図である。図５において、１４はゲイン調整回路である。
【００８１】
以下の説明では、第１〜第２実施形態との違いを中心に説明する。
【００８２】
この実施形態ではノイズ生成回路２と負号付加回路４の間にゲイン調整回路１４が挿入されている。ゲイン調整回路１４はノイズ生成回路２の出力を入力画像データと量子化における閾値との差分に応じた値に制限するため、ノイズ生成回路２からの出力に所定値を乗じた値を負号付加回路４に入力する。
【００８３】
次に、具体的な動作を説明する。
【００８４】
第２実施形態でも説明したように、ノイズ生成回路２の最大値は、入力画像データと閾値との差分値程度で充分である。従って、入力画像データと閾値との差分によってゲイン調整回路１４のゲインを制御することにより、より最適なノイズを生成する。
【００８５】
具体的には、入力画像データのビット５（ｂ５）が“１”なら、即ち、ｓ＝１なら、入力画像データ（ｘ）の下位５ビットの値（ｂ４〜ｂ０（ＬＳＢ））によって表現される値）または所定値のいずれか小さい方をゲインとしてノイズ生成回路２の出力に乗じ、その結果得られた信号の上位ビットをノイズとして負号付加回路４に出力する。一方、一方、入力画像データのビット５（ｂ５）が“０”なら、即ち、ｓ＝１なら、入力画像データの下位５ビット（ｂ４〜ｂ０）を反転した値または所定値のいずれか小さい方をゲインとしてノイズ生成回路２の出力に乗じ、その結果得られた信号の上位ビットをノイズとして負号付加回路４に出力する。
【００８６】
なお、第２の実施形態と同様、このようなアルゴリズムでは入力画像データ（ｘ）の値が閾値付近であるときは、制限値が“０”付近の非常に小さな値となり、重畳するノイズが小さいものとなって、ノイズを重畳するという効果が薄れてしまうので、そのゲインが設定された最小値以下の場合は、その設定された最小値をゲインとする。
【００８７】
従って以上説明した実施形態に従えば、ノイズのゲインを調整することにより、所定値以下のノイズの発生確率が一様になり、第２実施形態と同様、より弊害の少ないノイズの重畳が可能となる。
【００８８】
なお、この実施形態ではゲインを入力画像データの下位ビットの値から直接生成したが、入力画像データの下位ビットを用いてテーブルを参照することにより同様のゲインを決定するようにしても良い。
【００８９】
また、この実施形態の説明ではゲイン調整回路１４として乗算器を用いた構成としたが、ゲイン調整できるものであれば、乗算器でなくとも良い。例えば、ビットシフトを用いる構成や、上位ビットをマスクする構成等でも同様の効果が得られる。
【００９０】
特に、ノイズのビットをマスクする構成の場合、入力画像データのビット５（ｂ５）が“１”なら、即ち、ｓ＝１なら、入力画像データの下位５ビット（ｂ４〜ｂ０（ＬＳＢ））をマスクデータとしてノイズと論理積（ＡＮＤ）を演算する一方、入力画像データのビット５（ｂ５）が“０”なら、即ち、ｓ＝０なら、入力画像データの下位５ビット（ｂ４〜ｂ０（ＬＳＢ））を反転した値をマスクデータとしてノイズとＡＮＤ演算をすると良い。
【００９１】
またこの時、下位ビットの出力を固定パターン（例えば、“０１１”）とすることにより、設定最小値を簡単に得ることができる。
【００９２】
＜画像入出力システム＞
ここでは上述したいくつかの実施形態に従うｍ値化処理装置が応用される画像入出力システムについて説明する。ここで、２≦ｍ＜ｎであり、ｎは入力多値画像データの各色成分の画像データを表すビット数である。以上説明した実施形態ではｍ＝５として説明した。
【００９３】
図６は画像入出力システムの一般的な構成を示すブロック図である。
【００９４】
カラースキャナ、デジタルカメラなどの入力装置１０００で読み取った或いは生成された多値カラー画像データは、通常パーソナルコンピュータ１０１０を経て、ＣＲＴ、ＰＤＰ、或いはＬＣＤなどのモニタ１０２０に出力されその画面にカラー画像が表示される。
【００９５】
ユーザは、そのモニタ画面を見ながら、パーソナルコンピュータ１０１０に接続されたキーボード１０３０、スイッチ（ＳＷ）１０４０、ポインティングデバイス１０５０などを操作しながらレイアウト修正やＲＧＢ各色成分について色修正を行う。
【００９６】
このようにして、修正編集されたカラー画像データはパーソナルコンピュータ１０１０において、これから出力する出力装置（例えば、インクジェットプリンタ）１０６０で用いる記録媒体（例えば、記録用紙）の種類、記録モードに合わせて輝度濃度変換が実行され、ＲＧＢデータからＣｃＭｍＹＫ成分からなる多値濃度データに変換される。
【００９７】
このＣｃＭｍＹＫ各色成分の多値濃度データは、前述したｍ値化処理部に入力されてｍ値化処理が行われ、ＣＭＹＫ各色成分ｍ値化データが生成され、これらが出力装置１０６０（例えば、インクジェットプリンタ）に転送されてカラー画像が記録される。
【００９８】
なお、図６ではｍ値化処理装置がパーソナルコンピュータ１０１０に組み込まれた例を示しているが、その代わりに出力装置１０６０の側に組み込まれていても良い。
【００９９】
以上説明した実施形態では、誤差拡散処理が論理回路を用いて実行されるようなものとして説明したが、本発明はこれによって限定されるものではない。例えば、近年におけるマイクロプロセッサ（ＭＰＵ）の高性能化に伴って、誤差拡散処理をＲＯＭに格納されたプログラムをそのマイクロプロセッサが読みだして実行するようにして実現しても良い。
【０１００】
この場合、そのマイクロプロセッサがパーソナルコンピュータ１０１０に内蔵されている構成でも良いし、デジタルカメラを直接接続してカラー画像を出力する出力装置（例えば、インクジェットプリンタ１０６０）の場合にはその出力装置にマイクロプロセッサが内蔵されるような構成でも良い。
【０１０１】
つまり本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０３】
【発明の効果】
以上説明したように本発明によれば、“テクスチャ”、“ワーム”、“はき寄せ”等、誤差拡散によって発生する画質を劣化させる要因を抑え、画像に重畳されるノイズの影響を最小化し、高品位な画像を形成することができるという効果がある。
【図面の簡単な説明】
【図１】本発明の第１実施形態に従うｍ値化処理方法を用いたｍ値化処理部の構成を示すブロック図である。
【図２】拡散フィルタ９の演算に用いる量子化誤差の位置と拡散係数の例を示す図である。
【図３】ノイズ生成回路２の構成を示す図である。
【図４】本発明の第２実施形態に従うｍ値化処理方法を用いたｍ値化処理部の構成を示すブロック図である。
【図５】本発明の第３実施形態に従うｍ値化処理方法を用いたｍ値化処理部の構成を示すブロック図である。
【図６】画像入出力システムの一般的な構成を示すブロック図である。
【符号の説明】
１  加算器
２  ノイズ生成回路
３  比較器
４  負号付加回路
５  加算器
６  量子化器
７  逆量子化器
８  減算器
９  誤差バッファ
１０  拡散フィルタ
１１  シフトレジスタ
１２  ＥＸＯＲ回路
１３  リミッタ
１４  ゲイン調整回路
【図１】
2004229133.tif 000008
【図２】
2004229133.tif 000009
【図３】
2004229133.tif 000010
【図４】
2004229133.tif 000011
【図５】
2004229133.tif 000012
【図６】
2004229133.tif 000013