(57)【要約】【課題】カラー多値画像の量子化処理において、量子化前後の色成分比の逆転を防止する。【解決手段】カラー画像を量子化する際、入力画素値に応じて、変動閾値テーブル２０２により、平均量子化誤差を相殺するように閾値を変動させる。変動閾値テーブル２０２には、変動閾値テーブルの値をすべて０にした場合の平均量子化誤差の、各色成分についての平均値が、各色成分の和をインデックスとして登録されている。変動閾値テーブル２０２は、入力されるマゼンタとシアンの和に応じて登録された値を出力し、適宜それにランダムなノイズが加算される。この値が、誤差拡散後の画素の各色成分に加算され、量子化が行われる。【選択図】図１
2004112696.tif 000002
【特許請求の範囲】
【請求項１】
複数の色成分を含む多値カラー画像データを量子化処理する画像処理装置であって、
注目画素に含まれる複数の色成分の各々について、近傍画素からの各色成分毎に配分される量子化誤差値を加算する加算手段と、
前記注目画素の各色成分値の和に基づいて各色の閾値変動量を決定する変動量決定手段と、
上記誤差補正した各色成分の値を用いて各色の量子化値を出力する量子化手段と、上記誤差補正した各色成分の値と上記各色の量子化値から各色の誤差を計算して周辺画素に配分する誤差計算手段とを備え、
前記量子化手段は、変換後の各色成分の値を決定する際に、各色成分の量子化閾値を前記閾値変動量により変動させることを特徴とする画像処理装置。
【請求項２】
前記量子化手段は、前記加算手段により誤差値が加算された各色成分の値の和を変換後の値の和に対応させるとともに、当該変換後の画素値の和について、変換前の各色成分の比に応じて分配して変換後の各色成分の値を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記量子化手段は、変換後の各色成分の値を決定する際に、前記閾値変動量を前記注目画素の各色成分の値にそれぞれ加算することで、各色成分の量子化閾値を変動させることを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記量子化手段は、前記加算手段により誤差値が加算された各色成分の値で、予め各色の量子化値が格納されたルックアップテーブルを参照して各色の量子化値を決定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記量子化手段において量子化される階調数は２以上であることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記変動量決定手段は、複数の色成分おのおのについての各濃度階調における平均量子化誤差を、前記複数の色成分それぞれについて相等しい値ずつ補正するように設定されたテーブルを有し、前記加算手段により出力される注目画素の各色成分の値の和により前記テーブルを参照して得られる値を前記閾値変動量と決定することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記変動量決定手段は、前記注目画素の各色成分値の和に代えて、前記注目画素の各色成分値の組み合わせに基づいて各色の閾値変動量を決定することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記変動量決定手段は、複数の色成分おのおのについての各濃度階調における平均量子化誤差を、前記複数の色成分それぞれについて相殺するように設定されたテーブルを有し、前記加算手段により出力される注目画素の各色成分の値の組み合わせにより前記テーブルを参照して得られる値を前記閾値変動量と決定することを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
前記変動量決定手段により決定した閾値変動量を用いて注目画素の量子化を行った場合の第２の平均量子化誤差を、各色成分ごとにさらに相殺するよう、前記閾値変動量を補正する補正手段を更に備えることを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記補正手段は、複数の色成分おのおのについての各濃度階調における前記第２の平均量子化誤差を、前記複数の色成分それぞれについて相殺するように設定されたテーブルを用いて前記閾値変動量を補正することを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記テーブルは、入力画素の階調数を間引いた階調数により参照されるよう構成されることを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１２】
複数の色成分を含む多値カラー画像データを量子化処理する画像処理方法であって、
注目画素に含まれる複数の色成分の各々について、近傍画素からの各色成分毎に配分される量子化誤差値を加算する加算工程と、
前記注目画素の各色成分値の和に基づいて各色の閾値変動量を決定する変動量決定工程と、
上記誤差補正した各色成分の値を用いて各色の量子化値を出力する量子化工程とを備え、
前記量子化工程は、変換後の各色成分の値を決定する際に、各色成分の量子化閾値を前記閾値変動量により変動させることを特徴とする画像処理方法。
【請求項１３】
前記量子化工程は、前記加算工程により誤差値が加算された各色成分の値の和を変換後の値の和に対応させるとともに、当該変換後の画素値の和について、変換前の各色成分の比に応じて分配して変換後の各色成分の値を決定することを特徴とする請求項１１に記載の画像処理方法。
【請求項１４】
前記量子化工程は、変換後の各色成分の値を決定する際に、前記閾値変動量を前記注目画素の各色成分の値にそれぞれ加算することで、各色成分の量子化閾値を変動させることを特徴とする請求項１２または請求項１３に記載に画像処理方法。
【請求項１５】
前記量子化工程は、前記加算工程により誤差値が加算された各色成分の値で、予め各色の量子化値が格納されたルックアップテーブルを参照して各色の量子化値を決定することを特徴とする請求項１４に記載の画像処理方法。
【請求項１６】
前記量子化工程において量子化される階調数は２以上であることを特徴とする請求項１２乃至１５のいずれか１項に記載の画像処理方法。
【請求項１７】
前記変動量決定工程は、複数の色成分おのおのについての各濃度階調における平均量子化誤差を、前記複数の色成分それぞれについて相等しい値ずつ補正するように設定されたテーブルを有し、前記加算工程により出力される注目画素の各色成分の値の和により前記テーブルを参照して得られる値を前記閾値変動量と決定することを特徴とする請求項１２乃至１６のいずれか１項に記載の画像処理方法。
【請求項１８】
前記変動量決定工程は、前記注目画素の各色成分値の和に代えて、前記注目画素の各色成分値の組み合わせに基づいて各色の閾値変動量を決定することを特徴とする請求項１２乃至１７のいずれか１項に記載の画像処理方法。
【請求項１９】
前記変動量決定工程は、複数の色成分おのおのについての各濃度階調における平均量子化誤差を、前記複数の色成分それぞれについて相殺するように設定されたテーブルを有し、前記加算工程により出力される注目画素の各色成分の値の組み合わせにより前記テーブルを参照して得られる値を前記閾値変動量と決定することを特徴とする請求項１２乃至１８のいずれかに記載の画像処理方法。
【請求項２０】
前記変動量決定工程により決定した閾値変動量を用いて注目画素の量子化を行った場合の第２の平均量子化誤差を、各色成分ごとにさらに相殺するよう、前記閾値変動量を補正する補正工程を更に備えることを特徴とする請求項１２乃至１９のいずれか１項に記載の画像処理方法。
【請求項２１】
前記補正工程は、複数の色成分おのおのについての各濃度階調における前記第２の平均量子化誤差を、前記複数の色成分それぞれについて相殺するように設定されたテーブルを用いて前記閾値変動量を補正することを特徴とする請求項１２乃至２０のいずれか１項に記載の画像処理方法。
【請求項２２】
請求項１２乃至２１のいずれか１項に記載の方法を、コンピュータにより実行させるためのプログラム。
【請求項２３】
請求項２２に記載のプログラムを記録したコンピュータ可読記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理方法及びその装置に関し、特に入力画像濃度と出力画像濃度等の差を誤差拡散法により保存しつつ、入力データを２値又は多値データに量子化処理する画像処理に関するものである。
【０００２】
【従来の技術】
従来、多値データを２値で表現する疑似中間調処理として誤差拡散法が知られている（非特許文献１参照）。この方法は、着目画素をＰ、その濃度をｖ、Ｐ点の周辺画素Ｐ０、Ｐ１、Ｐ２、Ｐ３の濃度をそれぞれｖ０、ｖ１、ｖ２、ｖ３、２値化のための閾値をＴとすると、着目点Ｐにおける２値化誤差Ｅを周辺画素Ｐ０、Ｐ１、Ｐ２、Ｐ３に経験的に求めた重み係数Ｗ０、Ｗ１、Ｗ２、Ｗ３で振り分けてマクロ的に平均濃度を元画像の濃度と等しくする方法である。このとき、出力２値データをｏとすると
ｖ≧Ｔ　ならば　ｏ＝１，Ｅ＝ｖ−Ｖｍａｘ；　（式１）
ｖ＜Ｔ　ならば　ｏ＝０，Ｅ＝ｖ−Ｖｍｉｎ；
（ただし、Ｖｍａｘ：最大濃度、Ｖｍｉｎ：最小濃度）
ｖ０＝ｖ０＋Ｅ×Ｗ０；　　　　　（式２）
ｖ１＝ｖ１＋Ｅ×Ｗ１；　　　　　（式３）
ｖ２＝ｖ２＋Ｅ×Ｗ２；　　　　　（式４）
ｖ３＝ｖ３＋Ｅ×Ｗ３；　　　　　（式５）
となる。ここで重み係数の例としては、Ｗ０＝７／１６，Ｗ１＝１／１６，Ｗ２＝５／１６，Ｗ３＝３／１６などが設定される。
【０００３】
本方法により、多色、例えば、カラーインクジェットプリンタ等で用いられるシアン、マゼンタ、イエロー、ブラック４色を擬似中間調処理する場合には各色独立に上記誤差拡散法等を用いて処理を行っていたために、１色について見た場合には視覚特性が優れていても、２色以上が重なると必ずしも良好な視覚特性が得られなかった。
【０００４】
この欠点を改良するために、２色以上を組み合わせて誤差拡散法を用いることにより、２色以上が重なり合う場合においても良好な視覚特性の得られる擬似中間調処理方法が開示されている（特許文献１および特許文献２参照）。しかし、これらの方法では２値化のための閾値は各色固定であり、色ごとに閾値が異なる場合については対応できない。
【０００５】
一方、各色の量子化結果を予め量子化値テーブルに設定し、着目画素における各色の入力画素値によって上記量子化値テーブルを参照して各色の量子化結果を得る方法が知られている。この方法によれば量子化値テーブル（ルックアップテーブル）に設定するデータにより、量子化レベルの数や閾値レベルを設定することを可能にしつつ、２色以上を組み合わせた誤差拡散法を行うことができる。
【０００６】
一方、拡散係数を固定とする誤差拡散法では、ハイライト及びシャドウ部においてドットが均一に分散されず、鎖状に連なって発生するなどの問題点がある。これに対し、入力階調に応じて異なる拡散係数を用いる誤差拡散法が提案されている（特許文献３参照）。この方法では、ハイライト及びシャドウにおける第一の拡散係数と、中間階調における第二の拡散係数を定義し、ハイライトから中間階調、及び中間階調からシャドウへの領域は、この二つの拡散係数を線形補間したものを用いている。
【０００７】
また、誤差拡散法を用いた従来の画像処理装置では、低濃度領域の立ち上り部におけるドット生成が大幅に遅延するという問題があった。さらに、特定の入力階調においては、出力二値画像に規則的パターンが発生し、それが画像の質を低下させることがあった。上記問題点を解決するため、多値画像データの階調値に基づいて閾値を設定する誤差拡散法が提案されている（特許文献４参照）。この方法を概説すると、多階調画像データを誤差拡散法又は平均誤差最小法を用いて第１階調値及び第２階調値に変換する画像処理装置において、注目画素の多階調画像データの階調値に基づいて基準閾値を設定し、さらにその基準閾値に乱数値を加えて二値化のための閾値を設定するものである。この方法によれば、注目画素の多階調画像データの階調値に応じて閾値を最適化することにより、上記ドット生成遅延を解消し、更に、注目画素の階調値に応じて閾値にノイズを印加することにより、上記規則的パターンの発生を防止している。
【０００８】
また、拡散係数の補正や閾値の補正におけるパラメータを、入力値に応じて選択することにより、ドットの配置の均一化や、低濃度領域の位置上がり部におけるドット生成の遅延の回避をさらに高精度に行う手法が、特願２００１−２９５１２７号に提案されている。
【０００９】
さらに、入力値に応じた拡散係数や閾値の補正処理と、２色以上を組み合わせて誤差拡散法を同時に行う手法が行われている。例えば、シアン・マゼンタの８ビット多値画像データを入力し、量子化処理により２値データを出力する場合のブロック図を図８に示す。尚、本文中・図中での文字列に含まれる「Ｘ」は、色成分を表す文字（シアンについてはＣ，マゼンタについてはＭ）すべてを代表する。例えばｉｎＶａｌＸはｉｎＶａｌＣおよびｉｎＶａｌＭを示す。「＝」は右辺の内容を左辺に代入する事を表す。
【００１０】
図において、ｉｎＶａｌＣ，ｉｎＶａｌＭはそれぞれ不図示の入力画像から送られたシアン・マゼンタの入力画素値であり、加算装置８０１，８０２と誤差計算装置８０３，８０４と閾値変動量設定装置８０５，８０６へそれぞれ入力される。加算装置８０１，８０２では入力画素値ｉｎＶａｌＣ，ｉｎＶａｌＭと誤差計算装置８０３，８０４から出力された量子化済みの周辺画素からの誤差ｅｒｒＣ，ｅｒｒＭをそれぞれ加算して得られたｌＶａｌｕｅＣ，ｌＶａｌｕｅＭをそれぞれ誤差計算装置８０３，８０４、出力値設定装置８０７に出力する。
【００１１】
閾値変動量設定装置８０５，８０６は、入力画素値ｉｎＶａｌＸを基に、量子化閾値を変動させる閾値変動量ｆｌａｃｔＴｈＸを出力する。出力値設定装置８０７は、誤差拡散後の画素値ｌＶａｌｕｅＸを、閾値変動量ｆｌａｃｔＴｈＸにより変動させられた閾値と比較して、出力画素値ｂｉｎＤａｔａＸを出力する。
【００１２】
図９は閾値変動量設定装置８０５，８０６の構成を示すブロック図である。変動閾値テーブル９０１はｉｎＶａｌＸの値により参照され、その値に対応して登録された基準変動量ｖｔｈＸを加算装置９０３に出力する。変動域値テーブルの内容は予め静的に設定されている。基準変動量は、入力値が閾値より遠い程、ドットの発生がしにくくなるために、閾値の変動量が大きくなるように設定されている。ドットの生成を遅延させないためである。
【００１３】
ノイズマトリクス９０２は入力画素の座標を基に作成されたアドレスによって参照され、アドレスに対応するノイズ値ｎｏｉｓｅＸを加算装置に出力する。ノイズは誤差拡散処理により表れるドット配列の規則性を小さくするために用いられる値であり、ノイズマトリクスの内容は、画素値ごとに予め与えられている。ノイズは、例えば、全くランダムな値が与えられたり、あるいは、階調レベルごとに決定されている。
【００１４】
加算装置９０３は、基準変動量ｖｔｈＸとノイズｎｏｉｓｅＸとをそれぞれ加算して閾値変動量ｆｌａｃｔＴｈＸを出力値設定装置８０７に出力する。
【００１５】
図１０は出力設定装置８０７の構成を説明するブロック図である。減算装置１００１，１００２はｌＶａｌｕｅＣ，ｌＶａｌｕｅＭから、閾値変動量設定装置８０５，８０６からの出力ｆｌａｃｔＴｈＣ，ｆｌａｃｔＴｈＭをそれぞれ減算したｌＶａｌｕｅＣ’，ｌＶａｌｕｅＭ’を出力値テーブル１００３に出力する。
【００１６】
図７は出力値テーブル１００３を示す図である。ｌＶａｌｕｅＣ’，ｌＶａｌｕｅＭ’によって出力値テーブル１００３を参照し、量子化値ｂｉｎＤａｔａＣ，ｂｉｎＤａｔａＭを出力する。尚、各領域の値は（ｂｉｎＤａｔａＣ，ｂｉｎＤａｔａＭ）を示している。出力値テーブル１００３は、マゼンタとシアンの画素値の合計値が１２８以下の第１の領域と、合計値が２５５＋１２８より大きい第２の領域と、合計値が１２８より大きく、かつ（２５５＋１２８）以下で、かつマゼンタの画素値がシアンの画素値以上となる第３の領域と、合計値が１２８より大きく、かつ（２５５＋１２８）以下で、かつマゼンタの画素値がシアンの画素値より小さい第４の領域とに分割されている。そして、これら４つの領域に対して、出力値として、順に（０，０），（１，１），（０，１），（１，０）が登録されている。なお、ここで領域の境界上の値は何れの領域に属してもよい。
【００１７】
例えば、図７のように画素値ｌＶａｌｕｅＣ’，ｌＶａｌｕｅＭ’によって座標７０２（図の白丸）が参照された場合、ｂｉｎＤａｔａＣ，ｂｉｎＤａｔａＭとしてそれぞれ０，１を出力する。尚、座標７０１は閾値変動前のｌＶａｌｕｅＣ，ｌＶａｌｕｅＭで出力値テーブル１００３を参照した時の座標である。基準変動値は階調レベルごとの平均量子化誤差の値が設定されていることから、変動値の加算によって各色成分の値は中央値に近づく。なお、閾値変動量は閾値を変動させず、画素値を変動させる。画素値を閾値との関係は相対的なものだからである。
【００１８】
図１０において、出力値ｂｉｎＤａｔａＣ，ｂｉｎＤａｔａＭはそれぞれ量子化結果として不図示の出力画像に出力されると共に、誤差計算装置８０３，８０４にそれぞれ出力される。
【００１９】
図１１は誤差計算装置８０３，８０４の構成を説明するブロック図である。まず、出力設定装置８０７から得られる量子化値ｂｉｎＤａｔａＸをアドレスとして中心値テーブル１１０２を参照し、得られた中心値ｓｔｄＸを減算装置１１０３に出力する。量子化値ｂｉｎＤａｔａは２値データであるので、ｂｉｎＤａｔａＸが０の時、ｓｔｄＸは０であり、ｂｉｎＤａｔａＸが１の時はｓｔｄＸは２５５となる。減算装置１１０３は加算装置８０１，８０２からの出力ｌＶａｌｕｅＸから、中心値ｓｔｄＸを減算して得られた誤差ｅｒｒｏｒＸを誤差分散装置１１０４に出力する。一方、配分係数テーブル１１０１では入力画素値ｉｎＶａｌＸをアドレスとして得られた配分係数ｄｉｆＸ０，ｄｉｆＸ１，ｄｉｆＸ２，ｄｉｆＸ３を誤差分散装置１１０４に送る。図６は着目画素６０１に対する配分係数ｄｉｆＸ０，ｄｉｆＸ１，ｄｉｆＸ２，ｄｉｆＸ３の位置関係を示した図である。誤差分散装置では、以下の計算を順に行う。
【００２０】
ｅｒｒＸ３＝ｅｒｒＸ２　＋　ｅｒｒｏｒＸ　＊　ｄｉｆＸ３；　（式６）
ｅｒｒＸ２＝ｅｒｒＸ１　＋　ｅｒｒｏｒＸ　＊　ｄｉｆＸ２；　（式７）
ｅｒｒＸ１＝ｅｒｒｏｒＸ　＊　ｄｉｆＸ１；　　　　　　　（式８）
ｅｒｒＸ０＝ｅｒｒｏｒＸ　＊　ｄｉｆＸ０；　　　　　　　（式９）。
【００２１】
ここで、ｅｒｒＸ０，ｅｒｒＸ１，ｅｒｒＸ２，ｅｒｒＸ３は誤差分散装置１１０４内の不図示の記憶装置に記憶される変数であり、印刷開始時に全て初期化される。誤差分散装置１１０４からは式６で得られたｅｒｒＸ３が誤差バッファ１１０５へ、式９で得られたｅｒｒＸ０が加算装置１１０６へそれぞれ出力される。誤差バッファ１１０５は入力画素の座標に対応したアドレスへｅｒｒＸ３を格納するとともに、前ラスタからの誤差ｅｒｒＸｂを加算装置１１０６へ出力する。
【００２２】
入力画素の主走査方向の座標をｈＰｏｓとし、誤差バッファの先頭アドレスをｅｒｒＢｕｆＸとすると、
ｅｒｒＢｕｆＸ［ｈＰｏｓ−２］＝ｅｒｒＸ３；　　（式１０）
ｅｒｒＸｂ＝ｅｒｒＢｕｆＸ［ｈＰｏｓ］；　　　　（式１１）
となる。ここで、ｅｒｒＢｕｆＸ［Ａ］＝Ｂは誤差バッファの先頭からＡ番目のアドレスに値Ｂを代入する事を示す。
【００２３】
加算装置１１０６では誤差分散装置１１０４から得られたｅｒｒＸ０と誤差バッファ１１０５から得られたｅｒｒＸｂを加算し、誤差ｅｒｒＸを出力する。
【００２４】
誤差計算装置８０３，８０４から出力された誤差ｅｒｒＣ，ｅｒｒＭはそれぞれ加算装置８０１，８０２に送られ、次の入力画素値ｉｎＶａｌＣ，ｉｎＶａｌＭと加算されて次の画素に処理が移る。
【００２５】
以上の構成により、１ピクセル分の入力データに対する処理が行われるので、以上の処理を主走査方向へ１ピクセルずつずらして繰り返すことによって画像全体に対する量子化処理を行う。
【００２６】
【非特許文献１】
”Ａｎ　Ａｄａｐｔｉｖｅ　Ａｌｇｏｒｉｔｈｍ　ｆｏｒ　Ｓｐａｔｉａｌ　Ｇｒａｙ　Ｓｃａｌｅ”　ｉｎ　ｓｏｃｉｅｔｙ　ｆｏｒ　Ｉｎｆｏｒｍａｔｉｏｎ　Ｄｉｓｐｌａｙ　１９７５，　Ｓｙｍｐｏｓｉｕｍ　Ｄｉｇｅｓｔ　ｏｆ
Ｔｅｃｈｎｉｃａｌ　Ｐａｐｅｒｓ，　１９７５，　３６
【特許文献１】
特開平８−２７９９２０号公報
【特許文献２】
特開平１１−１０９１８号公報
【特許文献３】
特開平１０−３１２４５８号公報
【特許文献４】
特開平８−３０７６８０号公報
【発明が解決しようとする課題】
上記述べたような従来技術では、入力値によって各色の誤差配分係数をそれぞれ決定することでハイライトにおける各色のドット配置を整える事ができる。しかし、各色独立で閾値の変動量を決定していたため、着目画素の各色の入力画素値に極端な差がある場合に不正なドットが発生する可能性があった。
【００２７】
シアン・マゼンタ共に出力は２値とした場合の不正なドット発生の一例を図７で説明する。括弧内の数字は（シアンの出力値、マゼンタの出力値）を示している。中央の十字の太線は各色独立の閾値であり、入力値が閾値より遠い程ドットの発生がしにくくなるため、閾値の変動量が大きくなるように各色の変動閾値テーブル９０２は設定されている。シアン・マゼンタの誤差補正した入力値が座標７０１の場合、シアンの入力値は閾値（Ｃ＝１２８の縦線）に近いために閾値はあまり変動しない（右方向への矢印は短い）。しかし、マゼンタの入力値は閾値（Ｍ＝１２８の横線）から遠いために閾値は大幅に下がる（上方向の矢印は長い）。よって、この時の出力値テーブルでは座標７０２が参照され、シアンの出力は０、マゼンタの出力は１となる。これをもとの画素値と比較すると、シアンとマゼンタの入力値と出力値の大小関係が逆転していることがわかる。
【００２８】
このように、ある画素に着目した場合、もとの多値画像における色成分の割合と、量子化された画像における色成分の割合とが全く異なるものとなる場合があった。色成分の割合がもとのそれと異なるものとなるということは、いわゆる偽色あるいは偽輪郭等が発生して、画像品質が劣化する原因となっていた。
【００２９】
本発明は上記従来例に鑑みてなされたもので、多値画像信号に対応した多次元ＬＵＴを用いて各色成分の組み合わせに応じた閾値変動量を画素ごとに選択しつつ、２色以上を組み合わせた誤差拡散法を行うとともに、ドット発生の遅延を防止するための閾値変動量についても、各色成分の値を組み合わにもとづいて決定することで、もとの多値画像に対してほぼ同じ色相の出力画像を生成できる画像処理方法及び装置を提供することを目的とする。
【００３０】
【課題を解決するための手段】
上記目的を達成するために本発明は次の構成を備える。
【００３１】
複数の色成分を含む多値カラー画像データを量子化処理する画像処理装置であって、
注目画素に含まれる複数の色成分の各々について、近傍画素からの各色成分毎に配分される量子化誤差値を加算する加算手段と、
前記注目画素の各色成分値の和に基づいて各色の閾値変動量を決定する変動量決定手段と、
前記加算手段により誤差値が加算された各色成分の値の和を変換後の値の和に対応させるとともに、当該変換後の画素値の和について、変換前の各色成分の比に応じて分配して変換後の各色成分の値を決定する量子化手段とを備え、
前記量子化手段は、変換後の各色成分の値を決定する際に、各色成分の量子化閾値を前記閾値変動量により変動させる。
【００３２】
さらに好ましくは、前記量子化手段は、変換後の各色成分の値を決定する際に、前記閾値変動量を前記注目画素の各色成分の値にそれぞれ加算することで、各色成分の量子化閾値を変動させる。
【００３３】
さらに好ましくは、前記量子化手段において量子化される階調数は２以上である。
【００３４】
さらに好ましくは、前記変動量決定手段は、複数の色成分おのおのについての各濃度階調における平均量子化誤差を、前記複数の色成分それぞれについて相等しい値ずつ補正するように設定されたテーブルを有し、前記加算手段により出力される注目画素の各色成分の値の和により前記テーブルを参照して得られる値を前記閾値変動量と決定する。
【００３５】
さらに好ましくは、前記変動量決定手段は、前記注目画素の各色成分値の和に代えて、前記注目画素の各色成分値の組み合わせに基づいて各色の閾値変動量を決定する。
【００３６】
さらに好ましくは、前記変動量決定手段は、複数の色成分おのおのについての各濃度階調における平均量子化誤差を、前記複数の色成分それぞれについて相殺するように設定されたテーブルを有し、前記加算手段により出力される注目画素の各色成分の値の組み合わせにより前記テーブルを参照して得られる値を前記閾値変動量と決定する。
【００３７】
さらに好ましくは、前記変動量決定手段により決定した閾値変動量を用いて注目画素の量子化を行った場合の第２の平均量子化誤差を、各色成分ごとにさらに相殺するよう、前記閾値変動量を補正する補正手段を更に備える。
【００３８】
さらに好ましくは、前記補正手段は、複数の色成分おのおのについての各濃度階調における前記第２の平均量子化誤差を、前記複数の色成分それぞれについて相殺するように設定されたテーブルを用いて前記閾値変動量を補正する。
【００３９】
さらに好ましくは、前記テーブルは、入力画素の階調数を間引いた階調数により参照されるよう構成される。
【００４０】
【発明の実施の形態】
＜第一の実施形態＞
以下、図面を参照して本発明の第一の実施例を詳細に説明する。
【００４１】
＜画像処理装置の構成＞
図１は本発明の実施例に係わる画像処理装置の構成を説明するブロック図である。本実施形態は、シアン・マゼンタの８ビット多値画像データを入力し、量子化処理により２値データを出力する画像処理装置である。この装置は、具体的には例えばコンピュータによりプログラムを実行することで実現される。また、そのコンピュータは、例えばインクジェットプリンタを制御するための組み込みコンピュータなどである。その場合、図１乃至図５に示される構成は、コンピュータのメモリにロードされたプログラムをプロセサが実行することで実現される。そのプログラムの手順は、以下に説明するものである。そして、この構成により生成された画像データは、プリンタエンジンによりハードコピーとして出力される。以下、本実施形態について説明する。
【００４２】
本文中・図中での文字列に含まれる「Ｘ」は、色成分を表す文字（シアンについてはＣ，マゼンタについてはＭ）すべてを代表する。例えばｉｎＶａｌＸはｉｎＶａｌＣおよびｉｎＶａｌＭを示す。「＝」は右辺の内容を左辺に代入する事を表す。
【００４３】
図１において、ｉｎＶａｌＣ，ｉｎＶａｌＭはそれぞれシアン・マゼンタの８ビット多値の入力画素値を表しており、これらは不図示の入力画像からそれぞれ加算部１０１，１０２と誤差計算部１０３，１０４と閾値変動量設定部１０５に入力される。
【００４４】
加算部１０１，１０２は、入力画素値ｉｎＶａｌＣ，ｉｎＶａｌＭと、誤差計算部１０３，１０４から出力された量子化済みの周辺画素からの誤差ｅｒｒＣ，ｅｒｒＭとをそれぞれ加算して得られたｌＶａｌｕｅＣ，ｌＶａｌｕｅＭをそれぞれ誤差計算部１０３，１０４、出力値設定部１０６に出力する。
【００４５】
閾値変動量設定部１０５は、入力画素値ｉｎＶａｌＸを基に、量子化閾値を変動させる閾値変動量ｆｌａｃｔＴｈＸを出力する。
【００４６】
出力値設定部１０６は、誤差拡散後の画素値ｌＶａｌｕｅＸを、閾値変動量ｆｌａｃｔＴｈＸにより変動させられた閾値と比較して、出力画素値ｂｉｎＤａｔａＸを出力する。ただし、閾値と画素値との関係は相対的なものであり、また、本実施形態では出力値設定部１０６により用いられる閾値は色成分ごとの単純なものではなく、２つの色成分により出力値が決定される２次元マトリクスを用いているために、本実施形態では閾値を変動させずに画素値の方を変動させている。そのため、後述するとおり、画素値に閾値変動量ｆｌａｃｔＴｈＸを加算して、出力値テーブルから出力値を得ている。もちろん、閾値に反映される場合に対して画素値に反映される場合には符号は反転されている。
【００４７】
＜閾値変動量設定部＞
図２は閾値変動量設定部１０５の構成を説明するブロック図である。入力画素値ｉｎＶａｌＣ，ｉｎＶａｌＭが加算部２０１で加算され、変動閾値テーブル２０２に入力される。
【００４８】
（変動閾値テーブル）
変動閾値テーブル２０２は入力された入力画素値の加算結果ｉｎＶａｌＣ＋ｉｎＶａｌＭをアドレスとして参照した基準変動値ｖｔｈＣＭを加算部２０５，２０６に出力する。変動閾値テーブル２０２に設定されている基準変動値は、例えば平均量子化誤差に基づいた値が設定される。ここで平均量子化誤差は、入力画素値の加算結果ｉｎＶａｌＣ＋ｉｎＶａｌＭについての値である。変動閾値テーブル２０２は例えば以下のように設定される。
【００４９】
まず、基準変動値ｖｔｈＣＭをすべてのｉｎＶａｌＣ＋ｉｎＶａｌＭに対して０として、２５６階調のシアンの入力画素値ｉｎＶａｌＣと、同じく２５６階調のマゼンタの入力画素値ｉｎＶａｌＭとの組み合わせからなる２５６×２５６通りの画素値について、その値を有する例えば５１２×５１２画素の一様な画像の量子化を試みる。そのときに量子化に使用する出力値テーブルは図４に示したもので、マゼンタとシアンの画素値の合計値が１２８以下の第１の領域と、合計値が２５５＋１２８より大きい第２の領域と、合計値が１２８より大きく、かつ（２５５＋１２８）以下で、かつマゼンタの画素値がシアンの画素値以上となる第３の領域と、合計値が１２８より大きく、かつ（２５５＋１２８）以下で、かつマゼンタの画素値がシアンの画素値より小さい第４の領域とに分割されている。そして、これら４つの領域に対して、出力値として、順に（０，０），（１，１），（０，１），（１，０）が登録されている。そして、（ｉｎＶａｌＣ’，ｉｎＶａｌＭ’）に応じて、（０，０），（１，１），（０，１），（１，０）のいずれかが、図４のテーブルに従って出力される。
【００５０】
このテーブルを用いて誤差拡散を行い、シアンの入力画素値とマゼンタの入力画素値との和ｉｎＶａｌＣ＋ｉｎＶａｌＭの値ごとに、平均量子化誤差を求める。その後得られた平均誤差値を符号反転した値を変動閾値テーブルに登録する。変動閾値テーブルの設定方法は後により詳細に説明する。このように、変動閾値テーブルには平均量子化誤差を相殺するような値が設定されている。本実施形態では、各色成分の平均量子化誤差の和を、各色成分について相等しい値ずつ閾値を変動させて相殺することになる。
【００５１】
図２の構成から明らかなとおり、（ｉｎＶａｌＣ’＋ｉｎＶａｌＭ’）をインデックスとして出力される基準変動値ｖｔｈＣＭは、シアンとマゼンタに対して共通に用いられる。したがって各色成分とも同じ量だけ変動することになる。そのため、図４上で画素値の変動を見ると、もとの画素値（ｉｎＶａｌＣ’，ｉｎＶａｌＭ’）に対して閾値変動後の画素値は、後で加算されるノイズを考慮しなければ（ｉｎＶａｌＣ’＋ｖｔｈＣＭ，ｉｎＶａｌＭ’＋ｖｔｈＣＭ）となる。すなわち、基準変動値の加算により、画素値は図４上の第３の領域と第４の領域との境界線（出力画素値（０，１）と（１，０）との境界線）に沿ってシフトするために、シアンとマゼンタの成分の比率が、量子化前後で逆転することが防止できる。これにより、偽色の発生が防止できる。
【００５２】
（ノイズマトリクス）
ノイズマトリクス２０３，２０４は不図示の入力画素の座標に対応したアドレスでｎｏｉｓｅＣ，ｎｏｉｓｅＭが参照され、それぞれ加算部２０５，２０６に出力する。
【００５３】
加算部２０５，２０６はノイズマトリクス２０３，２０４から出力されたｎｏｉｓｅＣ，ｎｏｉｓｅＭと変動閾値テーブル２０２から出力されたｖｔｈＣＭをそれぞれ加算してｆｌａｃｔＴｈＣ，ｆｌａｃｔＴｈＭを出力設定部１０６に出力する。誤差拡散法により量子化を行うと、しきい値付近の階調の画素値では、規則的パターンが発生しやすくなる傾向がある。この様な規則的なパターンは、本来の画像に存在しないテクスチャを発生させ、画質の低下につながる。そこで、本実施形態では、出力二値画像の画質を犠牲にすることなく規則的パターンを軽減するため、量子化のための閾値に印加するノイズ量を設定している。
【００５４】
ノイズマトリクスは、例えば次のように与えられている。すなわち、ある一定の画素の領域、例えば１６×１６画素の領域について、その中における画素位置に応じてランダムにノイズ値が設定される。値の範囲は、一定の範囲、例えば−１０〜１０の範囲でランダムに選択する方法や、あるいは、ノイズ値の分布が正規分布に従うように選択する方法などが考えられる。
【００５５】
その他に、符号のみを画素位置に応じてランダムに与え、ノイズ値の絶対値を、画素値に応じて与えて、その絶対値にランダムに与えられる符号を付加した値をノイズ値とする方法も考えられる。この方法では、ノイズの絶対値は、規則的パターンが発生しやすい濃度階調について大きくし、そうでない濃度階調については小さい値を与えるように設定される。規則的パターンの発生しやすさは、０〜２５５の各濃度階調について、一様な濃度階調の画像を、ノイズ値を０として図１の構成により量子化を行い、その出力により評価できる。評価は、例えば量子化後の画像（各画素が０または２５５）について直交変換を施して周波数領域に変換し、そのスペクトルから人間の視認しにくい（すなわち欠点となりにくい）高周波成分を濾波して逆変換を施して画像にもどす。その状態で画素値の分散を求め、その値を画像に含まれるテクスチャの指標とする。そして、注目濃度階調の一様な画像について、ノイズ値を０から１ずつ増加させながら量子化し、前述した画素値の分散を求めて、その値が最も小さくなるようなノイズ値を注目濃度階調に対するノイズ値として決定する。
【００５６】
＜出力設定部＞
図３は出力設定部１０６の構成を説明するブロック図である。減算部３０１，３０２は加算部１０１，１０２からの出力ｌＶａｌｕｅＣ，ｌＶａｌｕｅＭから閾値変動量設定部１０５からの出力ｆｌａｃｔＴｈＣ，ｆｌａｃｔＴｈＭをそれぞれ減算したｌＶａｌｕｅＣ’，ｌＶａｌｕｅＭ’を出力値テーブル３０３に出力する。
【００５７】
図４は出力値テーブル３０３を示す図である。ｌＶａｌｕｅＣ’，ｌＶａｌｕｅＭ’によって出力値テーブル３０３を参照し、量子化値ｂｉｎＤａｔａＣ，ｂｉｎＤａｔａＭを出力する。出力値テーブル３０３の各領域の値は（ｂｉｎＤａｔａＣ，ｂｉｎＤａｔａＭ）を示している。例えば、図４のようにｌＶａｌｕｅＣ’，ｌＶａｌｕｅＭ’によって○４０１が参照された場合、ｂｉｎＤａｔａＣ，ｂｉｎＤａｔａＭとしてそれぞれ１，０を出力する。ｂｉｎＤａｔａＣ，ｂｉｎＤａｔａＭはそれぞれ量子化結果として不図示の出力画像に出力されると共に、誤差計算部１０３，１０４に出力される。
【００５８】
＜誤差拡散部＞
図５は誤差計算部１０３，１０４の構成を説明するブロック図である。まず、出力設定部１０６から得られる量子化値ｂｉｎＤａｔａＸをアドレスとして中心値テーブル５０２を参照して得られた中心値ｓｔｄＸを減算部５０３に出力する。本実施形態の場合、２値化処理であるのでｂｉｎＤａｔａＸが０の時、ｓｔｄＸは０であり、ｂｉｎＤａｔａＸが１の時はｓｔｄＸは２５５となる。減算部５０３は加算部１０１，１０２からの出力ｌＶａｌｕｅＸから中心値ｓｔｄＸを減算して得られた誤差ｅｒｒｏｒＸを誤差分散部５０４に出力する。一方、配分係数テーブル５０１では入力画素値ｉｎＶａｌＸをアドレスとして得られた配分係数ｄｉｆＸ０，ｄｉｆＸ１，ｄｉｆＸ２，ｄｉｆＸ３を誤差分散部５０４に送る。
【００５９】
図６は着目画素６０１に対する配分係数ｄｉｆＸ０，ｄｉｆＸ１，ｄｉｆＸ２，ｄｉｆＸ３の位置関係を示した図である。誤差分散部では、以下の計算を行う。
【００６０】
ｅｒｒＸ３＝ｅｒｒＸ２　＋　ｅｒｒｏｒＸ　＊　ｄｉｆＸ３　（式１２）
ｅｒｒＸ２＝ｅｒｒＸ１　＋　ｅｒｒｏｒＸ　＊　ｄｉｆＸ２　（式１３）
ｅｒｒＸ１＝ｅｒｒｏｒＸ　＊　ｄｉｆＸ１　　　　　　　　（式１４）
ｅｒｒＸ０＝ｅｒｒｏｒＸ　＊　ｄｉｆＸ０　　　　　　　（式１５）。
【００６１】
ここで、ｅｒｒＸ０，ｅｒｒＸ１，ｅｒｒＸ２，ｅｒｒＸ３は誤差分散部５０４内の不図示の記憶部に記憶される変数であり、印刷開始時に全て初期化される。誤差分散部５０４からは式１２で得られたｅｒｒＸ３が誤差バッファ５０５へ、式１５で得られたｅｒｒＸ０が加算部５０６へそれぞれ出力される。誤差バッファ５０５は入力画素の座標に対応したアドレスへｅｒｒＸ３を格納するとともに、前ラスタからの誤差ｅｒｒＸｂを加算部５０６へ出力する。
【００６２】
本実施形態では入力画素の主走査方向の座標をｈＰｏｓとし、誤差バッファの先頭アドレスをｅｒｒＢｕｆＸとすると、
ｅｒｒＢｕｆＸ［ｈＰｏｓ−２］＝ｅｒｒＸ３　　　　　　（式１６）
ｅｒｒＸｂ＝ｅｒｒＢｕｆＸ［ｈＰｏｓ］　　　　　　　　（式１７）
となる。なお、ｅｒｒＢｕｆＸ［Ａ］＝Ｂは、誤差バッファの先頭からＡ番目のアドレスに値Ｂを代入する事を示す。
【００６３】
加算部５０６では誤差分散部５０４から得られたｅｒｒＸ０と誤差バッファ５０５から得られたｅｒｒＸｂを加算し、誤差ｅｒｒＸを加算部１０１，１０２に送り、次の入力画素値ｉｎＶａｌＸと加算される。
【００６４】
なお、配分係数ｄｉｆＸ０，ｄｉｆＸ１，ｄｉｆＸ２，ｄｉｆＸ３は、例えば順に、７／１６，１／１６，５／１６，３／１６などの値を固定的に利用してもよいが、入力画素値ｉｎＶａｌＸの値に応じて決定することもできる。その場合、入力画素値に応じて配分係数をかえつつ試行錯誤的に最適な配分係数を予め決定しておく。
【００６５】
以上の構成により、１ピクセル分の入力データに対する処理が行われる。以上の処理を注目ピクセルを主走査方向へ１ずつずらして繰り返すことによって画像全体に対する量子化処理を行う。
【００６６】
このようにして得られた画像は、本実施形態の特徴的構成である閾値変動量設定部の機能により、２色以上を組み合わせて誤差拡散法を用いる場合において、着目画素における各色の入力値の和で量子化閾値を変動させることで、本来の画像には表れない偽色の発生を防止できる。これにより、単色での擬似輪郭と組み合わせた全色での擬似輪郭の発生を同時に防止できる。さらに、入力値によって各色の誤差配分係数をそれぞれ決定することでハイライトにおけるドット配置を整える事の両立を可能にしている。
【００６７】
（変動閾値テーブルの設定方法のより詳細な説明）
変動域値テーブルを作成するための方法を簡単に説明したが、ここではさらに詳細に説明する。
【００６８】
図１４で示される縦横それぞれ５１２画素の一様な色の画像を、本実施形態において閾値補正処理を行わず２値の量子化処理を行った場合、各画素の計算を行ったときに発生する誤差の値を画素ごとに測定した。さらに、そのうちのシアンの値を図１４の黒く表示されているエリア（縦横それぞれ２５６画素の領域）について平均処理を行った。以降、この値を誤差平均値と呼ぶ。なおマゼンタについても同様に測定する。
【００６９】
図１５（Ａ）は、上記の条件で測定した誤差平均値を、２値の量子化処理を行う画像の色をシアンとマゼンタについて毎回異なる値を設定しつつ、測定した結果を示す図である。図１５（Ａ）では、図１５（Ｂ）に示すように、シアンとマゼンタの入力値に対する誤差平均値を、縦方向の軸についてプロットしている。
【００７０】
この誤差平均値は、閾値に対して補正処理（閾値変動値の加算）を行わない量子化処理を行う場合に、先に説明した低濃度領域の立ち上り部などにおけるドット生成の遅延などの現象の特性を示している。
【００７１】
より詳しく説明すると、前記誤差平均値が大きい場合（プラス側、つまり図１５では上にプロットされている場合）は、プラス誤差がたまっている状態で安定してドットが形成されることを示している。例えば２値の量子化においてドットを形成するかどうかを判定するしきい値が１２７であり、入力値が１０（入力値は最大２５５とする）であった場合について考える。この場合ドットが形成されるのは、入力値に加えて周囲の画素から分配された誤差を加算した値がしきい値つまり１２７を越える場合である。つまり、そのようなプラス誤差が蓄積されるまでドットは形成されない。すなわち、ドット形成の遅延が発生する（いわゆる掃き寄せ現象）。このような場合には前記誤差平均値は大きい数（つまり、プラスで絶対値が大きい）となる。
【００７２】
また、前記誤差平均値が小さい場合（マイナスの値で絶対値が大きい場合、つまり図１５では下にプロットされている場合）は、マイナス誤差がたまっている状態で安定してドットが形成されている。例えば２値の量子化においてドットを形成するかどうかを判定するしきい値が１２７であり、入力値が２４０（入力値は最大２５５とする）であった場合について考える。この場合、周囲からの誤差の配分がない場合にもドットが形成され一１０の誤差が発生する。多少のマイナス誤差が周囲の画素から配分されても、入力値がしきい値よりずっと大きいため、ドットは高い密度で形成され、マイナス誤差が蓄積していく。
【００７３】
そして、入力値２４０に周囲の画素からのマイナス誤差を加算した値が、しきい値つまり１２７を下回るとドットを形成しない画素があらわれる。そして、マイナス誤差がある値まで蓄積した状態で、蓄積されたマイナス誤差は大まかに安定し形成されるドット密度は一定になる。このようにしてドット密度が高いエリアができる画像弊害は一般に吐き出し現象と呼ばれている。このような場合は前記誤差平均値は小さな数（つまり、マイナスで絶対値が大きい）となる。
【００７４】
このことをふまえて、図１５（Ａ）を見ると、マゼンタの入力値が小さく、シアンの入力値の多い色（マゼンタの入力値とシアンの入力値の和が１２７より小さい条件）では、誤差平均値は小さい、つまりその色の画像の量子化を行っているエリアではマイナスの誤差が蓄積する。また、マゼンタの入力値が大きくシアンの入力値が小さい色（マゼンタの入力値とシアンの入力値の和が１２７より小さい条件）で前記誤差平均値が大きい。
【００７５】
つまり、マゼンタの入力値が小さく、シアンの入力値の多い色（マゼンタの入力値とシアンの入力値の和が１２７より小さい条件）の画像を量子化を行いマイナスの誤差が蓄積された状態から連続して、マゼンタの入力値が大きくシアンの入力値が小さい色（マゼンタの入力値とシアンの入力値の和が１２７より小さい条件）の量子化を行うと、著しいドット形成の遅延が発生する。
【００７６】
本実施形態では、先に説明した手法により得られた誤差平均値（図１５に大まかなに示した）の符号を反転した値を、前記変動閾値テーブルの補正パラメータ、つまり図２における変動閾値テーブル２０１に使用する。より詳しくは、前記変動閾値テーブルの入力（ここでは説明のためにｎとする）が偶数である場合については、シアンの入力とマゼンタの入力がともにｎ／２である場合の、上記の方法により得られた誤差平均値を符号反転した値を使用する。また、前記変動閾値テーブルの入力が奇数である場合には、シアンの入力が（ｎ＋１）／２かつマゼンタの入力が（ｎ−１）／２である場合の上記の方法により得られた誤差平均値と、、シアンの入力が（ｎ−１）／２かつマゼンタの入力が（ｎ＋１）／２である場合の上記の方法により得られた誤差平均値との平均をとった値を使用する。
【００７７】
それにより、２色の入力値の組み合わせによらず、量子化処理により発生する誤差平均値の絶対値を小さくする。それによりドット形成の遅延、つまり掃き寄せ現象や、吐き出し現象などの画像弊害を回避、あるいは低減する。
【００７８】
＜第１の実施形態の変形例＞
以下、図面を参照して本発明の第１の実施形態の変形例を説明する。本変形例は、図１に示す閾値変動量設定部１０５が、図２の構成から図１２の構成となっている点が異なる。尚、本第例において第１の実施形態と同様の構成や処理については、その説明を省略する。
【００７９】
図１２は閾値変動量設定部１０５の構成を説明するブロック図である。入力画素値ｉｎＶａｌＣ，ｉｎＶａｌＭが加算部１２０１で加算され、変動閾値テーブル１２０２に入力される。変動閾値テーブル１２０２は入力された入力画素値の加算結果ｉｎＶａｌＣ＋ｉｎＶａｌＭをアドレスとして参照した値をｆｌａｃｔＴｈＣ，ｆｌａｃｔＴｈＭとして出力設定部１０６に出力する。
【００８０】
図２の構成と比較して、ノイズマトリクスが省略されている。ノイズマトリクスが省略されているために、規則的なパターンの除去については、第１の実施形態のような効果はないものの、偽色の発生を防止できる点においては同様の効果を奏する。
【００８１】
［第２実施形態］
図１３は、第２実施形態における閾値変動量設定部１０５の構成を説明するブロック図である。本実施形態は、閾値変動量設定部１０５を除く他の構成については、第１実施形態と同様の構成を備える。そのため、同じ構成については説明を省略する。
【００８２】
図１３において、入力画素値ｉｎＶａｌＣ，ｉｎＶａｌＭは、それぞれ変動閾値テーブル２０１、変動閾値テーブル２０２に入力される。変動閾値テーブル１３０１、変動閾値テーブル１３０２は、入力された入力画素値ｉｎＶａｌＣ，ｉｎＶａｌＭをアドレスとして２次元ルックアップテーブルをそれぞれ参照し、ｖｔｈＣ，ｖｔｈＭを加算装置２０５，２０６に出力する。ノイズマトリクス２０３，２０４は不図示の入力画素の座標に対応したアドレスでｎｏｉｓｅＣ，ｎｏｉｓｅＭが参照され、それぞれ加算装置２０５，２０６に出力する。
【００８３】
本実施形態では、先に説明した手法により得られた誤差平均値（図１５に大まかなに示した）の符号を反転した値を、前記変動閾値テーブルの補正パラメータ、つまり図１３における変動しきい値テーブル１３０１の２次元ルックアップテーブルに使用する。また、同様にマゼンタについて測定した値を図１３における変動しきい値テーブル１３０２の２次元ルックアップテーブルに使用する。それにより、２色の入力値の組み合わせによらず、量子化処理により発生する誤差平均値の絶対値を小さくする。それによりドット形成の遅延、つまり掃き寄せ現象や、吐き出し現象などの画像弊害を回避、あるいは低減する。
【００８４】
以上の通り、本実施形態においては、２色以上の多値画像信号に対応した多次元ＬＵＴを用いて各色の組み合わせに応じた閾値変動量を画素ごとに選択しつつ、２色以上を組み合わせた誤差拡散法を行う。閾値変動量を澤択するための多次元ＬＵＴには、２色以上を組み合わせた誤差拡散法を行った場合の誤差が発生する特性を反映したパラメータを設定する。
【００８５】
それにより、シアンとマゼンタの入力値と出力値の大小関係が逆転する現象を回避しつつ、入力値により選択した閾値変動量を使用した、２色以上を組み合わせた誤差拡散法を行うことが可能となり、各色成分単独で観察した場合にも、ドットの形成の遅延を効果的に防止できる。
【００８６】
（拡散係数パラメータについて）
本実施形態での拡散係数（配分係数）の補正処理は、シアン、マゼンタ独立して行っている。そのパラメータの選択は特願２００１−２９５１２７号に記載されているように、シアン、マゼンタそれぞれ単色の画像を量子化処理した場合のドット配置を考慮して入力各レベルごとに使用する拡散係数のパターンを決める。また、もっと簡易に各レベルごとにいくつかの画像を量子化して（たとえば図１４の画像など）拡散係数を選んでもよい。
【００８７】
このように決めた拡散係数のパラメータで、本実施例のシアン、マゼンタの２色の組み合わせでドットの配置のチェックを行ったが、本実施形態での実験では大きな画像弊害はないことが確認されている。
【００８８】
このように拡散係数の選択を単色ごとに行うことは、拡散係数を２色（例えばシアンと、マゼンタ）のルックアップテーブルで選択する構成と比較すると、拡散係数の選択のために持つデータ量が少なくてよいメリットがある。
【００８９】
［第２実施形態の変形例］
第２実施形態では、入力値の階調数と同じ階調数の２次元ルックアップテーブルを使用して閾値変動量を選択する例を示した。他の構成の例としてルックアップテーブルのデータ量を少なくするために、２色の入力値をそれぞれより階調数が少ない代表値に変換してから、前記代表値の階調数に合わせた２次元ルックアップテーブルを使用して閾値変動量を選択する構成が考えられる。
【００９０】
代表値の例としては、入力値が０から２５５の値をとるとすれば、それを１次元ルックアップテーブルで変換して、０から６３までの範囲の値をとる代表値を得ても良い。また、入力から代表値への変換では、この例ではシンプルに４で入力値を除算してもよい。
【００９１】
閾値変動量を選択するための２次元ルックアップテーブルで使用するデータでは、基本的にそのデータを使用する入力値の組み合わせについての、前記誤差平均値の平均を行った値を符号反転して使用する。
【００９２】
図１５（Ａ）に見られる誤差平均値のギャップは、シアン入力値とマゼンタ入力値でつくられる空間のななめ方向に（シアン入力値とマゼンタ入力値の和が２５５であるライン）存在している。シアン入力値とマゼンタ入力値でつくられる空間のうち、前記ギャップのシアン入力値最小とマゼンタ入力値の和が小さいエリアをエリア０、前記ギャップのシアン入力値最小とマゼンタ入力値の和が大きいエリアをエリア１と呼ぶことにする。
単純に代表値を用いて２次元ルックアップテーブルのデータ量の削減を図る場合には、シアンとマゼンタの１組の代表値がカバーするシアンとマゼンタの入力値の組み合わせの中に、前記ギャップの両側の組み合わせを含んでしまう場合が起こりうる。
その場合、前記ギャップの両側では設定すべき変動閾値の値が大きく異なるため、設定する値によって変動閾値による補正効果の大幅な減少、あるいは画像弊害の発生を起こす可能性がある。
【００９３】
この問題を解決するため本実施例では、前記エリア０用と前記エリア１の２種類のルックアップテーブルのデータを用意して、入力値がエリア０とエリア１のどちらかのエリアに属するかを判定し、使用するＬＵＴを選択する構成をとる。前記ギャップの両側のシアンとマゼンタの入力値の組み合わせを含む、シアンとマゼンタの代表値の組み合わせに対して、前記エリア０用の２次元ルックアップテーブルには前記ギャップのエリア０側の誤差平均値を平均かつ符号反転した値を、また前記エリア１用の２次元ルックアップテーブルには前記ギャップのエリア１側の誤差平均値を平均かつ符号反転した値を設定する。
前記ギャップの片側だけのシアンとマゼンタの入力値の組み合わせを含む、シアンとマゼンタの代表値の組み合わせに対しては、その代表値が含む全入力値の組み合わせについて差平均値を平均かつ符号反転した値を、前記エリア０用、前記エリア１用両方の２次元ルックアップテーブルの値として設定する。
【００９４】
この構成により、前記ギャップの両側のシアンとマゼンタの入力値の組み合わせを含む、シアンとマゼンタの代表値の組み合わせがカバーする、入力値の組み合わせにおいても、精度良く、閾値変動量の選択を行うことができる。
【００９５】
また、シアンまたはマゼンタの入力値が０、または最大の場合は図１５（Ａ）からわかるように量子化誤差平均値はゼロである。つまり、そのばあいは閾値変動量もゼロであることが望ましい。よって本変形例では、シアンまたはマゼンタの入力値が０、または最大であるかどうかの判定を行い、その場合は閾値変動量として０を選択する。
【００９６】
本変形例の閾値変動量選択のフローチャートを図１６に示す。まずいずれかの色成分の入力値が０または２５５であるか判定し（Ｓ１６０１）、０または２５５であれば、閾値変動量として０を選択する（Ｓ１６０５）。そうでなければ図１５上でプロットした場合の位置がギャップを挟んでエリア０であるか判定し（Ｓ１６０２）、エリア０であれば入力値をそれぞれ階調数が少ない代表値へと変換する（Ｓ１６０３）。たとえば、２５６階調をいったん６４階調に変換する。そして、変換後の値をインデックスとしてエリア０用の２次元ＬＵＴから閾値変動量を得る（Ｓ１６０４）。一方、エリア１であれば入力値をそれぞれ階調数が少ない代表値へと変換する（Ｓ１６０６）。そして、変換後の値をインデックスとしてエリア１用の２次元ＬＵＴから閾値変動量を得る（Ｓ１６０７）。各エリア用のＬＵＴには、図１５（Ａ）に示した平均量子化誤差の値の、エリア０及びエリア１に対応する値がそれぞれ登録されている。
【００９７】
この構成により、２次元ルックアップテーブルのデータ量を削減しつつ、極力精度の高い閾値変動量の選択を行うことができる。
【００９８】
本変形例の構成によれば、２色以上の多値画像信号に対応した多次元ＬＵＴを用いて各色の閾値変動量を設定する構成をとり、かつ上記２色の組み合わせた画像について測定した誤差発生の特性を反映したパラメータを使用して閾値変動量を設定する。それにより発明が解決しようとする課題としてあげた、出力値が逆転する画像弊害をなくしつつ２色以上の入力値を組み合わせた量子化処理を行うことを可能にする。
【００９９】
［第３実施形態］
図１７は、第２実施形態における閾値変動量設定部１０５の構成を説明するブロック図である。本実施形態は、閾値変動量設定部１０５を除く他の構成については、第１実施形態と同様の構成を備える。そのため、同じ構成については説明を省略する。
【０１００】
図１７は、閾値変動量設定部１０５の構成を説明するブロック図である。入力画素値ｉｎＶａｌＣ，ｉｎＶａｌＭが加算部２０１に入力されそれらの和が出力される。その信号は変動閾値テーブル１７０２へ入力され、１次元ルックアップテーブルを参照してｖｔｈＣＭが出力される。また、入力画素値ｉｎＶａｌＣ，ｉｎＶａｌＭは変動閾値テーブル１７０１と変動閾値テーブル１７０３に入力される。
【０１０１】
変動閾値テーブル１７０１、変動閾値テーブル１７０３は、まず入力画素値ｉｎＶａｌＣ，ｉｎＶａｌＭの階調数を、１次元ルックアップテーブルにより１／４の値に変換し、その２つの値をアドレスとして２次元ルックアップテーブルをそれぞれ参照し、得られた第１の閾値変動量ｖｔｈＣ，ｖｔｈＭを加算部２０５，２０６に出力する。各ルックアップテーブルのデータについては後に詳しく説明する。なお、変動閾値テーブル１７０１、変動閾値テーブル１７０３は、第２実施形態の変形例として説明したものと同様の構成である。
【０１０２】
また、変動閾値テーブル１７０２は、加算部２０１から出力されるシアンとマゼンタの値の和をもとに、閾値変動量を出力する。なお、変動閾値テーブル１７０２は、第１の実施形態における変動閾値テーブル２０２と同じものである。
【０１０３】
ノイズマトリクス２０３，２０４は不図示の入力画素の座標に対応したアドレスでｎｏｉｓｅＣ，ｎｏｉｓｅＭが参照され、それぞれ加算装置２０５，２０６に出力する。
【０１０４】
加算部２０５，２０６はノイズマトリクス２０３，２０４から出力されたｎｏｉｓｅＣ，ｎｏｉｓｅＭと変動閾値テーブル１７０２から出力されたｖｔｈＣＭと、さらに変動閾値テーブル１７０１、変動閾値テーブル１７０３から出力されたｖｔｈＣＭ，ｖｔｈＭをそれぞれ加算してｆｌａｃｔＴｈＣ，ｆｌａｃｔＴＭとして出力設定装置１０６に出力する。
【０１０５】
（変動閾値テーブル１７０２のみによる閾値補正の特性）
図１８は先に説明した変動閾値テーブル１７０２の閾値の補正のみを行い、かつ変動閾値テーブル１７０１および変動閾値テーブル１７０３による閾値の補正を行わない場合（つまり変動閾値テーブル１７０１および変動閾値テーブル１７０３からの出力値は常に０である条件）で測定した誤差平均値の特性を示している。
【０１０６】
図１８（Ａ）は、上記の条件で測定したシアンの誤差平均値を、２値の量子化処理を行う画像の色をシアンとマゼンタについて毎回異なる値を設定しつつ、測定した結果をしている。また、図１８（Ａ）の誤差平均値は図１８（Ｂ）に示すように、シアンとマゼンタの入力値の軸をとり、誤差平均値を縦方向の軸にとってプロットしている。
【０１０７】
図１８（Ａ）のデータでは、変動閾値テーブル１７０２の閾値の補正を行わなかった場合の特性（図１９（Ａ））と比べて、シアンの入力値とマゼンタの入力値による空間の斜め方向のギャップ（図１５（Ａ）において中央に見えるもの）がなくなっている。
【０１０８】
また、図１８（Ａ）の特性においてはまだ量子化誤差が各色成分の入力画素値に応じて若干変動していることから、誤差平均値勾配は残っている。本実施形態では、それを変動閾値テーブル１７０１、変動閾値テーブル１７０３による補正値で補正する。図１５（Ａ）に示すギャップがなくなっているため、変動閾値テーブル１７０１、変動閾値テーブル１７０３は、ルックアップテーブルの入力値のレベル数を少なくすること、すなわちテーブルを小さく構成することが容易となる。
【０１０９】
これが、本発明の構成のメリットであり、１次元のルックアップテーブルと、２次元のルックアップテーブルを併用することにより、２次元ルックアップテーブルのデータ量の削減が達成される。
【０１１０】
（変動閾値テーブル１７０１および変動閾値テーブル１７０３の設定）
変動閾値テーブル１７０１には、変動閾値テーブル１７０２の閾値の補正のみを行い測定した誤差平均値（図１８（Ａ）に示した値）の符号を反転した値を使用する。すなわち、まず第１実施形態において説明した要領で、各濃度階調画素が一様に分布した図１４に示すような画像をサンプルとして平均量子化誤差を求める。その際には、変動域値テーブル１７０２を使用するが、変動域値テーブル１７０１および１７０３は使用しない。すなわち、第１実施形態で説明した画像処理装置を用いて、画像の量子化を行って、シアンおよびマゼンタという各色成分の値との関係において、各色成分についての平均量子化誤差を求める。これが図１９（Ａ）である。そして、この値の符号を反転して変動域値テーブル１７０１および１７０３とする。ただし、シアンおよびマゼンタについて入力値をそれぞれ４分の１にする。このためには、例えば、シアンおよびマゼンタ各色について、４ｉ（ｉは０から６３の整数）ごとに平均量子化誤差を獲得し、それを変動閾値テーブル１７０１，１７０３とする。このテーブルを引くためには、入力値を変換するが、たとえば入力値に一定の値（たとえば０や２など）を加算して４で割り、その商を用いる方法などが考えられる。
【０１１１】
このようにして階調数を先に説明したように入力値の１／４とすることにより、データ量の削減を図っている。
【０１１２】
これはシアン及びマゼンタについて同じであり、ともに測定した値を図１７における変動しきい値テーブル１７０１、１７０３の２次元ルックアップテーブルに使用する。
【０１１３】
それにより、２色の入力値の組み合わせによらず、量子化処理により発生する誤差平均値の絶対値を小さくする。それによりドット形成の遅延、つまり掃き寄せ現象や、吐き出し現象などの画像弊害を回避、あるいは低減する。
【０１１４】
（拡散係数パラメータについて）
本実施の形態での拡散係数の補正処理は、シアン、マゼンタ独立して行っている。そのパラメータの選択は特願２００１−２９５１２７号に記載されているように、シアン、マゼンタそれぞれ単色の画像を量子化処理した場合のドット配置を考慮して入力各レベルごとに使用する拡散係数のパ／ターンを決める。また、もっと簡易に各レベルごとにいくつかの画像を量子化して（たとえば図７の画像など）拡散係数を選んでもよい。
【０１１５】
このように決めた拡散係数のパラメータで、本実施の形態のシアン、マゼンタの２色の組み合わせでドットの配置のチェックを行ったが、本実施の形態での実験では大きな画像弊害はないことが確認されている。
【０１１６】
このように拡散係数の選択を単色ごとに行うことは、拡散係数を２色（例えばシアンと、マゼンタ）のルックアップテーブルで選択する構成と比較すると、拡散係数の選択のために持つデータ量が少なくてよいメリットがある。
【０１１７】
以上のように、本実施形態の構成によれば、２色以上の多値画像信号に対応した多次元ＬＵＴを用いて各色の閾値変動量を設定する構成をとり、かつ上記２色の組み合わせた画像について測定した誤差発生の特性を反映したパラメータを使用して閾値変動量を設定する。それにより発明が解決しようとする課題としてあげた、出力値が逆転する画像弊害をなくしつつ２色以上の入力値を組み合わせた量子化処理を行うことを可能にする。
【０１１８】
＜各実施形態の応用＞
なお、上記各実施形態においては拡散係数の補正はシアン、マゼンタそれぞれ単色で行う構成を示した。しかし、本発明はその構成に限定されるものではない。例えばシアン、マゼンタの入力値について、多次元ルックアップテーブルを使用して拡散係数を選んでも良い。この構成の場合は、より形成されるドットの配置を偏りのないものにすることができる。しかし、実施例の単色ごとに拡散係数を選ぶ方法はデータの量を比較的少なくできるというメリットがある。
【０１１９】
上記実施形態では２値の例について説明したが、本発明はその構成に限定されるものではない。多値の量子化処理を行う場合にも同様に効果を得ることができる。
【０１２０】
上記実施形態ではノイズマトリクスのデータを２色の入力画素の座標に対応したアドレスにより参照し、閾値の変動量にノイズ特性を付加する例について説明した。しかし、本発明はこの構成に限定されるものではない。閾値の変動量にノイズ特性を付加するのは、量子化処理の結果、出力される画像に規則正しいドットの配置が現われ画像の品位が低下するのを回避もしくは低減するためのものである。本発明はこの構成に限定されるものではなく、閾値の変動量にノイズ特性を付加しない場合も同様に効果がある。
【０１２１】
上記実施形態ではシアンとマゼンタの２色の入力画素値について、組み合わせて量子化処理を行う例について説明した。しかし本発明はこの構成に限定されるものではない。例えば、他の色のインクの組み合わせについて処理を行う場合についても効果がある。また、比較的濃度が濃いドットと薄いドットを用いるプリントシステムや、比較的ドット径が大きいドットと、小さいドットを用いるプリントシステムなど、異なり目立ち方をするどっとの組み合わせなどについても効果がある。
【０１２２】
さらに２色より多い色、つまり、シアン、マゼンタ、ブラックなど、の組み合わせについても同様に有効である。この場合は２次元ルックアップテーブルのかわりに３次元ルックアップテーブルを使用する。
【０１２３】
上記実施形態では出力決定手段は多次元のルックアップテーブルを参照して出力値を決定するタイプの例について説明した。しかし、本発明はこの構成に限定されるものではなく、２色以上の組み合わせで出力決定を行う誤差拡散法において有効である。
【０１２４】
さらに上記実施形態ではでは誤差拡散法により量子化処理を行う画素の入力値を使用して、誤差変動量を選択する構成について説明した。しかし、量子化処理を行おうとしている画像が画素ごとに入力値が大きく変わることが少ない特性のものである場合、量子化処理を行おうとしている画素の、近傍の画素の入力値、あるいはいくつかの画素の入力値の平均値をもちいて閾値変動量の選択を行っても有効である。
【０１２５】
例えば写真画像などを高解像度の記録装置で画像の形成を行うために、画像を入力するカメラの光学系の解像度などと比べて、高い解像度で量子化処理を行う場合などが挙げられる。
【０１２６】
また、以上のように構成される画像処理装置を、多値画像を量子化して画像形成するプリンタに適用することで、高品質の画像を印刷することが可能となる。とくに、色成分ごとの一定サイズのドットを媒体に載せることで画像を形成するインクジェットプリンタにおいては、そのドットの配置のしかたにより形成される画像の品質が大きく上下するために、上記各実施形態を適用してドット生成の遅延を防止すると共に、入力画素の色成分比と出力画素の色成分比の逆転による偽色の発生を防止した本発明の適用は、画質の改善に大きな効果がある。
【０１２７】
【発明の効果】
以上説明したように本発明によれば、２色以上を組み合わせて誤差拡散法を用いる画像処理装置において、着目画素における各色の入力値の和で量子化閾値を変動させることで、単色での擬似輪郭と組み合わせた全色での擬似輪郭の発生を同時に防ぎつつ、入力値によって各色の誤差配分係数をそれぞれ決定することでハイライトにおけるドット配置を整える事の両立を可能にした。
【０１２８】
また、本発明においては、２色以上の多値画像信号に対応した多次元ＬＵＴを用いて各色の組み合わせに応じた閾値変動量を画素ごとに選択しつつ２色以上を組み合わせた誤差拡散法を行い、閾値変動量を選択するための多次元ＬＵＴには、２色以上を組み合わせた誤差拡散法を行った場合の誤差が発生する特性を反映したパラメータを設定する。
【０１２９】
それにより、シアンとマゼンタといった色成分が、入力値と出力値とで大小関係が逆転する現象を回避しつつ、入力値により選択した閾値変動量を使用した、２色以上を組み合わせた誤差拡散法を行うことが可能となった。
【０１３０】
さらに、本発明においては、２色以上の多値画像信号に対応した多次元ＬＵＴを用いて各色の組み合わせに応じた閾値変動量を画素ごとに選択しつつ、２色以上を組み合わせた誤差拡散法を行い、着目画素における各色の入力値の和で量子化閾値を変動させるとともに、２色以上を組み合わせた誤差拡散法を行った場合の誤差が発生する特性を反映したパラメータを有する多次元ＬＵＴによりさらに量子化閾値の変動を補正する。
【０１３１】
それにより、シアンとマゼンタの入力値と出力値の大小関係が逆転する現象を回避しつつ、入力値により選択した閾値変動量を使用した、２色以上を組み合わせた誤差拡散法を行うことが可能となった。閾値変動量を２段階にわたって補正するために、量子化処理時におけるドット生成遅延の原因となる平均量子化誤差を十分小さくすることができ、一層の画質の改善が可能となる。
【図面の簡単な説明】
【図１】実施形態の画像処理装置の構成を示すブロック図である。
【図２】第１実施形態の画像処理装置における閾値変動量設定部の構成を示すブロック図である。
【図３】実施形態の画像処理装置における出力設定部の構成を示すブロック図である。
【図４】実施形態の画像処理装置における出力値テーブルを示す模式図である。
【図５】実施形態の画像処理装置における誤差計算部の構成を示すブロック図である。
【図６】誤差配分窓を示す模式図である。
【図７】従来例の画像処理装置における出力値テーブルを示す模式図である。
【図８】従来例の画像処理装置の構成を示すブロック図である。
【図９】従来例の画像処理装置の閾値変動量設定部を示すブロック図である。
【図１０】従来例の画像処理装置における出力設定部の構成を示すブロック図である。
【図１１】従来例の画像処理装置における誤差計算部の構成を示すブロック図である。
【図１２】第１実施形態における閾値変動量設定部の他の構成を示すブロック図である。
【図１３】第２実施形態の画像処理装置における閾値変動量設定部の構成を示すブロック図である。
【図１４】誤差平均値の測定に使用する画像の説明図である。
【図１５】閾値の補正を行わない場合における誤差平均値特性の説明図である。
【図１６】第２実施形態の変形例の閾値変動量設定部における処理のフローチャートである。
【図１７】第３実施形態における閾値変動量設定部の構成を示すブロック図である。
【図１８】２色の入力値の和により閣値変動を選択する補正のみを行った場合における、誤差平均値特性の説明図である。
【符号の説明】
１０１，１０２，２０１，２０５，２０６，５０６，８０１，８０２，９０３，１１０６，１２０１　加算部
１０３，１０４，８０３，８０４　誤差計算部
１０５，８０５，８０６　閾値変動量設定部
１０６，８０７　出力値設定部
２０２，９０２，１２０２　変動閾値テーブル
２０３，２０４，９０１　ノイズマトリクス
３０１，３０２，５０３，１００１，１００２，１１０３　減算部
３０３，１００３　出力値テーブル
４０１，７０２　誤差補正された入力画素
５０１，１１０１　配分係数テーブル
５０２，１１０２　中心値テーブル
５０４，１１０４　誤差分散部
５０５，１１０５　誤差バッファ
７０１　入力画素
【図１】
2004112696.tif 000003
【図２】
2004112696.tif 000004
【図３】
2004112696.tif 000005
【図４】
2004112696.tif 000006
【図５】
2004112696.tif 000007
【図６】
2004112696.tif 000008
【図７】
2004112696.tif 000009
【図８】
2004112696.tif 000010
【図９】
2004112696.tif 000011
【図１０】
2004112696.tif 000012
【図１１】
2004112696.tif 000013
【図１２】
2004112696.tif 000014
【図１３】
2004112696.tif 000015
【図１４】
2004112696.tif 000016
【図１５】
2004112696.tif 000017
【図１６】
2004112696.tif 000018
【図１７】
2004112696.tif 000019
【図１８】
2004112696.tif 000020