JP4280473B2 - 画像処理装置および方法 - Google Patents
画像処理装置および方法 Download PDFInfo
- Publication number
- JP4280473B2 JP4280473B2 JP2002275828A JP2002275828A JP4280473B2 JP 4280473 B2 JP4280473 B2 JP 4280473B2 JP 2002275828 A JP2002275828 A JP 2002275828A JP 2002275828 A JP2002275828 A JP 2002275828A JP 4280473 B2 JP4280473 B2 JP 4280473B2
- Authority
- JP
- Japan
- Prior art keywords
- color component
- value
- quantization
- threshold
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
Description
【発明の属する技術分野】
本発明は画像処理方法及びその装置に関し、特に入力画像濃度と出力画像濃度等の差を誤差拡散法により保存しつつ、入力データを2値又は多値データに量子化処理する画像処理に関するものである。
【0002】
【従来の技術】
従来、多値データを2値で表現する疑似中間調処理として誤差拡散法が知られている(非特許文献1参照)。この方法は、着目画素をP、その濃度をv、P点の周辺画素P0、P1、P2、P3の濃度をそれぞれv0、v1、v2、v3、2値化のための閾値をTとすると、着目点Pにおける2値化誤差Eを周辺画素P0、P1、P2、P3に経験的に求めた重み係数W0、W1、W2、W3で振り分けてマクロ的に平均濃度を元画像の濃度と等しくする方法である。このとき、出力2値データをoとすると
v≧T ならば o=1,E=v−Vmax; (式1)
v<T ならば o=0,E=v−Vmin;
(ただし、Vmax:最大濃度、Vmin:最小濃度)
v0=v0+E×W0; (式2)
v1=v1+E×W1; (式3)
v2=v2+E×W2; (式4)
v3=v3+E×W3; (式5)
となる。ここで重み係数の例としては、W0=7/16,W1=1/16,W2=5/16,W3=3/16などが設定される。
【0003】
本方法により、多色、例えば、カラーインクジェットプリンタ等で用いられるシアン、マゼンタ、イエロー、ブラック4色を擬似中間調処理する場合には各色独立に上記誤差拡散法等を用いて処理を行っていたために、1色について見た場合には視覚特性が優れていても、2色以上が重なると必ずしも良好な視覚特性が得られなかった。
【0004】
この欠点を改良するために、2色以上を組み合わせて誤差拡散法を用いることにより、2色以上が重なり合う場合においても良好な視覚特性の得られる擬似中間調処理方法が開示されている(特許文献1および特許文献2参照)。しかし、これらの方法では2値化のための閾値は各色固定であり、色ごとに閾値が異なる場合については対応できない。
【0005】
一方、各色の量子化結果を予め量子化値テーブルに設定し、着目画素における各色の入力画素値によって上記量子化値テーブルを参照して各色の量子化結果を得る方法が知られている。この方法によれば量子化値テーブル(ルックアップテーブル)に設定するデータにより、量子化レベルの数や閾値レベルを設定することを可能にしつつ、2色以上を組み合わせた誤差拡散法を行うことができる。
【0006】
一方、拡散係数を固定とする誤差拡散法では、ハイライト及びシャドウ部においてドットが均一に分散されず、鎖状に連なって発生するなどの問題点がある。これに対し、入力階調に応じて異なる拡散係数を用いる誤差拡散法が提案されている(特許文献3参照)。この方法では、ハイライト及びシャドウにおける第一の拡散係数と、中間階調における第二の拡散係数を定義し、ハイライトから中間階調、及び中間階調からシャドウへの領域は、この二つの拡散係数を線形補間したものを用いている。
【0007】
また、誤差拡散法を用いた従来の画像処理装置では、低濃度領域の立ち上り部におけるドット生成が大幅に遅延するという問題があった。さらに、特定の入力階調においては、出力二値画像に規則的パターンが発生し、それが画像の質を低下させることがあった。上記問題点を解決するため、多値画像データの階調値に基づいて閾値を設定する誤差拡散法が提案されている(特許文献4参照)。この方法を概説すると、多階調画像データを誤差拡散法又は平均誤差最小法を用いて第1階調値及び第2階調値に変換する画像処理装置において、注目画素の多階調画像データの階調値に基づいて基準閾値を設定し、さらにその基準閾値に乱数値を加えて二値化のための閾値を設定するものである。この方法によれば、注目画素の多階調画像データの階調値に応じて閾値を最適化することにより、上記ドット生成遅延を解消し、更に、注目画素の階調値に応じて閾値にノイズを印加することにより、上記規則的パターンの発生を防止している。
【0008】
また、拡散係数の補正や閾値の補正におけるパラメータを、入力値に応じて選択することにより、ドットの配置の均一化や、低濃度領域の位置上がり部におけるドット生成の遅延の回避をさらに高精度に行う手法が、特願2001−295127号に提案されている。
【0009】
さらに、入力値に応じた拡散係数や閾値の補正処理と、2色以上を組み合わせて誤差拡散法を同時に行う手法が行われている。例えば、シアン・マゼンタの8ビット多値画像データを入力し、量子化処理により2値データを出力する場合のブロック図を図8に示す。尚、本文中・図中での文字列に含まれる「X」は、色成分を表す文字(シアンについてはC,マゼンタについてはM)すべてを代表する。例えばinValXはinValCおよびinValMを示す。「=」は右辺の内容を左辺に代入する事を表す。
【0010】
図において、inValC,inValMはそれぞれ不図示の入力画像から送られたシアン・マゼンタの入力画素値であり、加算装置801,802と誤差計算装置803,804と閾値変動量設定装置805,806へそれぞれ入力される。加算装置801,802では入力画素値inValC,inValMと誤差計算装置803,804から出力された量子化済みの周辺画素からの誤差errC,errMをそれぞれ加算して得られたlValueC,lValueMをそれぞれ誤差計算装置803,804、出力値設定装置807に出力する。
【0011】
閾値変動量設定装置805,806は、入力画素値inValXを基に、量子化閾値を変動させる閾値変動量flactThXを出力する。出力値設定装置807は、誤差拡散後の画素値lValueXを、閾値変動量flactThXにより変動させられた閾値と比較して、出力画素値binDataXを出力する。
【0012】
図9は閾値変動量設定装置805,806の構成を示すブロック図である。変動閾値テーブル901はinValXの値により参照され、その値に対応して登録された基準変動量vthXを加算装置903に出力する。変動域値テーブルの内容は予め静的に設定されている。基準変動量は、入力値が閾値より遠い程、ドットの発生がしにくくなるために、閾値の変動量が大きくなるように設定されている。ドットの生成を遅延させないためである。
【0013】
ノイズマトリクス902は入力画素の座標を基に作成されたアドレスによって参照され、アドレスに対応するノイズ値noiseXを加算装置に出力する。ノイズは誤差拡散処理により表れるドット配列の規則性を小さくするために用いられる値であり、ノイズマトリクスの内容は、画素値ごとに予め与えられている。ノイズは、例えば、全くランダムな値が与えられたり、あるいは、階調レベルごとに決定されている。
【0014】
加算装置903は、基準変動量vthXとノイズnoiseXとをそれぞれ加算して閾値変動量flactThXを出力値設定装置807に出力する。
【0015】
図10は出力設定装置807の構成を説明するブロック図である。減算装置1001,1002はlValueC,lValueMから、閾値変動量設定装置805,806からの出力flactThC,flactThMをそれぞれ減算したlValueC',lValueM'を出力値テーブル1003に出力する。
【0016】
図7は出力値テーブル1003を示す図である。lValueC',lValueM'によって出力値テーブル1003を参照し、量子化値binDataC,binDataMを出力する。尚、各領域の値は(binDataC,binDataM)を示している。出力値テーブル1003は、マゼンタとシアンの画素値の合計値が128以下の第1の領域と、合計値が255+128より大きい第2の領域と、合計値が128より大きく、かつ(255+128)以下で、かつマゼンタの画素値がシアンの画素値以上となる第3の領域と、合計値が128より大きく、かつ(255+128)以下で、かつマゼンタの画素値がシアンの画素値より小さい第4の領域とに分割されている。そして、これら4つの領域に対して、出力値として、順に(0,0),(1,1),(0,1),(1,0)が登録されている。なお、ここで領域の境界上の値は何れの領域に属してもよい。
【0017】
例えば、図7のように画素値lValueC',lValueM'によって座標702(図の白丸)が参照された場合、binDataC,binDataMとしてそれぞれ0,1を出力する。尚、座標701は閾値変動前のlValueC,lValueMで出力値テーブル1003を参照した時の座標である。基準変動値は階調レベルごとの平均量子化誤差の値が設定されていることから、変動値の加算によって各色成分の値は中央値に近づく。なお、閾値変動量は閾値を変動させず、画素値を変動させる。画素値を閾値との関係は相対的なものだからである。
【0018】
図10において、出力値binDataC,binDataMはそれぞれ量子化結果として不図示の出力画像に出力されると共に、誤差計算装置803,804にそれぞれ出力される。
【0019】
図11は誤差計算装置803,804の構成を説明するブロック図である。まず、出力設定装置807から得られる量子化値binDataXをアドレスとして中心値テーブル1102を参照し、得られた中心値stdXを減算装置1103に出力する。量子化値binDataは2値データであるので、binDataXが0の時、stdXは0であり、binDataXが1の時はstdXは255となる。減算装置1103は加算装置801,802からの出力lValueXから、中心値stdXを減算して得られた誤差errorXを誤差分散装置1104に出力する。一方、配分係数テーブル1101では入力画素値inValXをアドレスとして得られた配分係数difX0,difX1,difX2,difX3を誤差分散装置1104に送る。図6は着目画素601に対する配分係数difX0,difX1,difX2,difX3の位置関係を示した図である。誤差分散装置では、以下の計算を順に行う。
【0020】
errX3=errX2 + errorX * difX3; (式6)
errX2=errX1 + errorX * difX2; (式7)
errX1=errorX * difX1; (式8)
errX0=errorX * difX0; (式9)。
【0021】
ここで、errX0,errX1,errX2,errX3は誤差分散装置1104内の不図示の記憶装置に記憶される変数であり、印刷開始時に全て初期化される。誤差分散装置1104からは式6で得られたerrX3が誤差バッファ1105へ、式9で得られたerrX0が加算装置1106へそれぞれ出力される。誤差バッファ1105は入力画素の座標に対応したアドレスへerrX3を格納するとともに、前ラスタからの誤差errXbを加算装置1106へ出力する。
【0022】
入力画素の主走査方向の座標をhPosとし、誤差バッファの先頭アドレスをerrBufXとすると、
errBufX[hPos−2]=errX3; (式10)
errXb=errBufX[hPos]; (式11)
となる。ここで、errBufX[A]=Bは誤差バッファの先頭からA番目のアドレスに値Bを代入する事を示す。
【0023】
加算装置1106では誤差分散装置1104から得られたerrX0と誤差バッファ1105から得られたerrXbを加算し、誤差errXを出力する。
【0024】
誤差計算装置803,804から出力された誤差errC,errMはそれぞれ加算装置801,802に送られ、次の入力画素値inValC,inValMと加算されて次の画素に処理が移る。
【0025】
以上の構成により、1ピクセル分の入力データに対する処理が行われるので、以上の処理を主走査方向へ1ピクセルずつずらして繰り返すことによって画像全体に対する量子化処理を行う。
【0026】
【非特許文献1】
"An Adaptive Algorithm for Spatial Gray Scale" in society for Information Display 1975, Symposium Digest ofTechnical Papers, 1975, 36
【特許文献1】
特開平8−279920号公報
【特許文献2】
特開平11−10918号公報
【特許文献3】
特開平10−312458号公報
【特許文献4】
特開平8−307680号公報
【発明が解決しようとする課題】
上記述べたような従来技術では、入力値によって各色の誤差配分係数をそれぞれ決定することでハイライトにおける各色のドット配置を整える事ができる。しかし、各色独立で閾値の変動量を決定していたため、着目画素の各色の入力画素値に極端な差がある場合に不正なドットが発生する可能性があった。
【0027】
シアン・マゼンタ共に出力は2値とした場合の不正なドット発生の一例を図7で説明する。括弧内の数字は(シアンの出力値、マゼンタの出力値)を示している。中央の十字の太線は各色独立の閾値であり、入力値が閾値より遠い程ドットの発生がしにくくなるため、閾値の変動量が大きくなるように各色の変動閾値テーブル902は設定されている。シアン・マゼンタの誤差補正した入力値が座標701の場合、シアンの入力値は閾値(C=128の縦線)に近いために閾値はあまり変動しない(右方向への矢印は短い)。しかし、マゼンタの入力値は閾値(M=128の横線)から遠いために閾値は大幅に下がる(上方向の矢印は長い)。よって、この時の出力値テーブルでは座標702が参照され、シアンの出力は0、マゼンタの出力は1となる。これをもとの画素値と比較すると、シアンとマゼンタの入力値と出力値の大小関係が逆転していることがわかる。
【0028】
このように、ある画素に着目した場合、もとの多値画像における色成分の割合と、量子化された画像における色成分の割合とが全く異なるものとなる場合があった。色成分の割合がもとのそれと異なるものとなるということは、いわゆる偽色あるいは偽輪郭等が発生して、画像品質が劣化する原因となっていた。
【0029】
本発明は上記従来例に鑑みてなされたもので、多値画像信号に対応した多次元LUTを用いて各色成分の組み合わせに応じた閾値変動量を画素ごとに選択しつつ、2色以上を組み合わせた誤差拡散法を行うとともに、ドット発生の遅延を防止するための閾値変動量についても、各色成分の値を組み合わにもとづいて決定することで、もとの多値画像に対してほぼ同じ色相の出力画像を生成できる画像処理方法及び装置を提供することを目的とする。
【0030】
【課題を解決するための手段】
上記目的を達成するために本発明は次の構成を備える。
【0031】
第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階調である場合の、前記第1の色成分と前記第2の色成分で示す各濃度階調における一様な画像の前記第1の色成分と前記第2の色成分とを前記量子化手段により量子化した際の前記第1の色成分と前記第2の色成分の量子化誤差であり、
前記量子化手段は、前記第1の色成分と第2の色成分それぞれの量子化値を決定する際に、前記第1の色成分と前記第2の色成分それぞれの量子化閾値を前記閾値変動量により変動させる。
【0040】
【発明の実施の形態】
<第一の実施形態>
以下、図面を参照して本発明の第一の実施例を詳細に説明する。
【0041】
<画像処理装置の構成>
図1は本発明の実施例に係わる画像処理装置の構成を説明するブロック図である。本実施形態は、シアン・マゼンタの8ビット多値画像データを入力し、量子化処理により2値データを出力する画像処理装置である。この装置は、具体的には例えばコンピュータによりプログラムを実行することで実現される。また、そのコンピュータは、例えばインクジェットプリンタを制御するための組み込みコンピュータなどである。その場合、図1乃至図5に示される構成は、コンピュータのメモリにロードされたプログラムをプロセサが実行することで実現される。そのプログラムの手順は、以下に説明するものである。そして、この構成により生成された画像データは、プリンタエンジンによりハードコピーとして出力される。以下、本実施形態について説明する。
【0042】
本文中・図中での文字列に含まれる「X」は、色成分を表す文字(シアンについてはC,マゼンタについてはM)すべてを代表する。例えばinValXはinValCおよびinValMを示す。「=」は右辺の内容を左辺に代入する事を表す。
【0043】
図1において、inValC,inValMはそれぞれシアン・マゼンタの8ビット多値の入力画素値を表しており、これらは不図示の入力画像からそれぞれ加算部101,102と誤差計算部103,104と閾値変動量設定部105に入力される。
【0044】
加算部101,102は、入力画素値inValC,inValMと、誤差計算部103,104から出力された量子化済みの周辺画素からの誤差errC,errMとをそれぞれ加算して得られたlValueC,lValueMをそれぞれ誤差計算部103,104、出力値設定部106に出力する。
【0045】
閾値変動量設定部105は、入力画素値inValXを基に、量子化閾値を変動させる閾値変動量flactThXを出力する。
【0046】
出力値設定部106は、誤差拡散後の画素値lValueXを、閾値変動量flactThXにより変動させられた閾値と比較して、出力画素値binDataXを出力する。ただし、閾値と画素値との関係は相対的なものであり、また、本実施形態では出力値設定部106により用いられる閾値は色成分ごとの単純なものではなく、2つの色成分により出力値が決定される2次元マトリクスを用いているために、本実施形態では閾値を変動させずに画素値の方を変動させている。そのため、後述するとおり、画素値に閾値変動量flactThXを加算して、出力値テーブルから出力値を得ている。もちろん、閾値に反映される場合に対して画素値に反映される場合には符号は反転されている。
【0047】
<閾値変動量設定部>
図2は閾値変動量設定部105の構成を説明するブロック図である。入力画素値inValC,inValMが加算部201で加算され、変動閾値テーブル202に入力される。
【0048】
(変動閾値テーブル)
変動閾値テーブル202は入力された入力画素値の加算結果inValC+inValMをアドレスとして参照した基準変動値vthCMを加算部205,206に出力する。変動閾値テーブル202に設定されている基準変動値は、例えば平均量子化誤差に基づいた値が設定される。ここで平均量子化誤差は、入力画素値の加算結果inValC+inValMについての値である。変動閾値テーブル202は例えば以下のように設定される。
【0049】
まず、基準変動値vthCMをすべてのinValC+inValMに対して0として、256階調のシアンの入力画素値inValCと、同じく256階調のマゼンタの入力画素値inValMとの組み合わせからなる256×256通りの画素値について、その値を有する例えば512×512画素の一様な画像の量子化を試みる。そのときに量子化に使用する出力値テーブルは図4に示したもので、マゼンタとシアンの画素値の合計値が128以下の第1の領域と、合計値が255+128より大きい第2の領域と、合計値が128より大きく、かつ(255+128)以下で、かつマゼンタの画素値がシアンの画素値以上となる第3の領域と、合計値が128より大きく、かつ(255+128)以下で、かつマゼンタの画素値がシアンの画素値より小さい第4の領域とに分割されている。そして、これら4つの領域に対して、出力値として、順に(0,0),(1,1),(0,1),(1,0)が登録されている。そして、(inValC',inValM')に応じて、(0,0),(1,1),(0,1),(1,0)のいずれかが、図4のテーブルに従って出力される。
【0050】
このテーブルを用いて誤差拡散を行い、シアンの入力画素値とマゼンタの入力画素値との和inValC+inValMの値ごとに、平均量子化誤差を求める。その後得られた平均誤差値を符号反転した値を変動閾値テーブルに登録する。変動閾値テーブルの設定方法は後により詳細に説明する。このように、変動閾値テーブルには平均量子化誤差を相殺するような値が設定されている。本実施形態では、各色成分の平均量子化誤差の和を、各色成分について相等しい値ずつ閾値を変動させて相殺することになる。
【0051】
図2の構成から明らかなとおり、(inValC'+inValM')をインデックスとして出力される基準変動値vthCMは、シアンとマゼンタに対して共通に用いられる。したがって各色成分とも同じ量だけ変動することになる。そのため、図4上で画素値の変動を見ると、もとの画素値(inValC',inValM')に対して閾値変動後の画素値は、後で加算されるノイズを考慮しなければ(inValC'+vthCM,inValM'+vthCM)となる。すなわち、基準変動値の加算により、画素値は図4上の第3の領域と第4の領域との境界線(出力画素値(0,1)と(1,0)との境界線)に沿ってシフトするために、シアンとマゼンタの成分の比率が、量子化前後で逆転することが防止できる。これにより、偽色の発生が防止できる。
【0052】
(ノイズマトリクス)
ノイズマトリクス203,204は不図示の入力画素の座標に対応したアドレスでnoiseC,noiseMが参照され、それぞれ加算部205,206に出力する。
【0053】
加算部205,206はノイズマトリクス203,204から出力されたnoiseC,noiseMと変動閾値テーブル202から出力されたvthCMをそれぞれ加算してflactThC,flactThMを出力設定部106に出力する。誤差拡散法により量子化を行うと、しきい値付近の階調の画素値では、規則的パターンが発生しやすくなる傾向がある。この様な規則的なパターンは、本来の画像に存在しないテクスチャを発生させ、画質の低下につながる。そこで、本実施形態では、出力二値画像の画質を犠牲にすることなく規則的パターンを軽減するため、量子化のための閾値に印加するノイズ量を設定している。
【0054】
ノイズマトリクスは、例えば次のように与えられている。すなわち、ある一定の画素の領域、例えば16×16画素の領域について、その中における画素位置に応じてランダムにノイズ値が設定される。値の範囲は、一定の範囲、例えば−10〜10の範囲でランダムに選択する方法や、あるいは、ノイズ値の分布が正規分布に従うように選択する方法などが考えられる。
【0055】
その他に、符号のみを画素位置に応じてランダムに与え、ノイズ値の絶対値を、画素値に応じて与えて、その絶対値にランダムに与えられる符号を付加した値をノイズ値とする方法も考えられる。この方法では、ノイズの絶対値は、規則的パターンが発生しやすい濃度階調について大きくし、そうでない濃度階調については小さい値を与えるように設定される。規則的パターンの発生しやすさは、0〜255の各濃度階調について、一様な濃度階調の画像を、ノイズ値を0として図1の構成により量子化を行い、その出力により評価できる。評価は、例えば量子化後の画像(各画素が0または255)について直交変換を施して周波数領域に変換し、そのスペクトルから人間の視認しにくい(すなわち欠点となりにくい)高周波成分を濾波して逆変換を施して画像にもどす。その状態で画素値の分散を求め、その値を画像に含まれるテクスチャの指標とする。そして、注目濃度階調の一様な画像について、ノイズ値を0から1ずつ増加させながら量子化し、前述した画素値の分散を求めて、その値が最も小さくなるようなノイズ値を注目濃度階調に対するノイズ値として決定する。
【0056】
<出力設定部>
図3は出力設定部106の構成を説明するブロック図である。減算部301,302は加算部101,102からの出力lValueC,lValueMから閾値変動量設定部105からの出力flactThC,flactThMをそれぞれ減算したlValueC',lValueM'を出力値テーブル303に出力する。
【0057】
図4は出力値テーブル303を示す図である。lValueC',lValueM'によって出力値テーブル303を参照し、量子化値binDataC,binDataMを出力する。出力値テーブル303の各領域の値は(binDataC,binDataM)を示している。例えば、図4のようにlValueC',lValueM'によって○401が参照された場合、binDataC,binDataMとしてそれぞれ1,0を出力する。binDataC,binDataMはそれぞれ量子化結果として不図示の出力画像に出力されると共に、誤差計算部103,104に出力される。
【0058】
<誤差拡散部>
図5は誤差計算部103,104の構成を説明するブロック図である。まず、出力設定部106から得られる量子化値binDataXをアドレスとして中心値テーブル502を参照して得られた中心値stdXを減算部503に出力する。本実施形態の場合、2値化処理であるのでbinDataXが0の時、stdXは0であり、binDataXが1の時はstdXは255となる。減算部503は加算部101,102からの出力lValueXから中心値stdXを減算して得られた誤差errorXを誤差分散部504に出力する。一方、配分係数テーブル501では入力画素値inValXをアドレスとして得られた配分係数difX0,difX1,difX2,difX3を誤差分散部504に送る。
【0059】
図6は着目画素601に対する配分係数difX0,difX1,difX2,difX3の位置関係を示した図である。誤差分散部では、以下の計算を行う。
【0060】
errX3=errX2 + errorX * difX3 (式12)
errX2=errX1 + errorX * difX2 (式13)
errX1=errorX * difX1 (式14)
errX0=errorX * difX0 (式15)。
【0061】
ここで、errX0,errX1,errX2,errX3は誤差分散部504内の不図示の記憶部に記憶される変数であり、印刷開始時に全て初期化される。誤差分散部504からは式12で得られたerrX3が誤差バッファ505へ、式15で得られたerrX0が加算部506へそれぞれ出力される。誤差バッファ505は入力画素の座標に対応したアドレスへerrX3を格納するとともに、前ラスタからの誤差errXbを加算部506へ出力する。
【0062】
本実施形態では入力画素の主走査方向の座標をhPosとし、誤差バッファの先頭アドレスをerrBufXとすると、
errBufX[hPos−2]=errX3 (式16)
errXb=errBufX[hPos] (式17)
となる。なお、errBufX[A]=Bは、誤差バッファの先頭からA番目のアドレスに値Bを代入する事を示す。
【0063】
加算部506では誤差分散部504から得られたerrX0と誤差バッファ505から得られたerrXbを加算し、誤差errXを加算部101,102に送り、次の入力画素値inValXと加算される。
【0064】
なお、配分係数difX0,difX1,difX2,difX3は、例えば順に、7/16,1/16,5/16,3/16などの値を固定的に利用してもよいが、入力画素値inValXの値に応じて決定することもできる。その場合、入力画素値に応じて配分係数をかえつつ試行錯誤的に最適な配分係数を予め決定しておく。
【0065】
以上の構成により、1ピクセル分の入力データに対する処理が行われる。以上の処理を注目ピクセルを主走査方向へ1ずつずらして繰り返すことによって画像全体に対する量子化処理を行う。
【0066】
このようにして得られた画像は、本実施形態の特徴的構成である閾値変動量設定部の機能により、2色以上を組み合わせて誤差拡散法を用いる場合において、着目画素における各色の入力値の和で量子化閾値を変動させることで、本来の画像には表れない偽色の発生を防止できる。これにより、単色での擬似輪郭と組み合わせた全色での擬似輪郭の発生を同時に防止できる。さらに、入力値によって各色の誤差配分係数をそれぞれ決定することでハイライトにおけるドット配置を整える事の両立を可能にしている。
【0067】
(変動閾値テーブルの設定方法のより詳細な説明)
変動域値テーブルを作成するための方法を簡単に説明したが、ここではさらに詳細に説明する。
【0068】
図14で示される縦横それぞれ512画素の一様な色の画像を、本実施形態において閾値補正処理を行わず2値の量子化処理を行った場合、各画素の計算を行ったときに発生する誤差の値を画素ごとに測定した。さらに、そのうちのシアンの値を図14の黒く表示されているエリア(縦横それぞれ256画素の領域)について平均処理を行った。以降、この値を誤差平均値と呼ぶ。なおマゼンタについても同様に測定する。
【0069】
図15(A)は、上記の条件で測定した誤差平均値を、2値の量子化処理を行う画像の色をシアンとマゼンタについて毎回異なる値を設定しつつ、測定した結果を示す図である。図15(A)では、図15(B)に示すように、シアンとマゼンタの入力値に対する誤差平均値を、縦方向の軸についてプロットしている。
【0070】
この誤差平均値は、閾値に対して補正処理(閾値変動値の加算)を行わない量子化処理を行う場合に、先に説明した低濃度領域の立ち上り部などにおけるドット生成の遅延などの現象の特性を示している。
【0071】
より詳しく説明すると、前記誤差平均値が大きい場合(プラス側、つまり図15では上にプロットされている場合)は、プラス誤差がたまっている状態で安定してドットが形成されることを示している。例えば2値の量子化においてドットを形成するかどうかを判定するしきい値が127であり、入力値が10(入力値は最大255とする)であった場合について考える。この場合ドットが形成されるのは、入力値に加えて周囲の画素から分配された誤差を加算した値がしきい値つまり127を越える場合である。つまり、そのようなプラス誤差が蓄積されるまでドットは形成されない。すなわち、ドット形成の遅延が発生する(いわゆる掃き寄せ現象)。このような場合には前記誤差平均値は大きい数(つまり、プラスで絶対値が大きい)となる。
【0072】
また、前記誤差平均値が小さい場合(マイナスの値で絶対値が大きい場合、つまり図15では下にプロットされている場合)は、マイナス誤差がたまっている状態で安定してドットが形成されている。例えば2値の量子化においてドットを形成するかどうかを判定するしきい値が127であり、入力値が240(入力値は最大255とする)であった場合について考える。この場合、周囲からの誤差の配分がない場合にもドットが形成され一10の誤差が発生する。多少のマイナス誤差が周囲の画素から配分されても、入力値がしきい値よりずっと大きいため、ドットは高い密度で形成され、マイナス誤差が蓄積していく。
【0073】
そして、入力値240に周囲の画素からのマイナス誤差を加算した値が、しきい値つまり127を下回るとドットを形成しない画素があらわれる。そして、マイナス誤差がある値まで蓄積した状態で、蓄積されたマイナス誤差は大まかに安定し形成されるドット密度は一定になる。このようにしてドット密度が高いエリアができる画像弊害は一般に吐き出し現象と呼ばれている。このような場合は前記誤差平均値は小さな数(つまり、マイナスで絶対値が大きい)となる。
【0074】
このことをふまえて、図15(A)を見ると、マゼンタの入力値が小さく、シアンの入力値の多い色(マゼンタの入力値とシアンの入力値の和が127より小さい条件)では、誤差平均値は小さい、つまりその色の画像の量子化を行っているエリアではマイナスの誤差が蓄積する。また、マゼンタの入力値が大きくシアンの入力値が小さい色(マゼンタの入力値とシアンの入力値の和が127より小さい条件)で前記誤差平均値が大きい。
【0075】
つまり、マゼンタの入力値が小さく、シアンの入力値の多い色(マゼンタの入力値とシアンの入力値の和が127より小さい条件)の画像を量子化を行いマイナスの誤差が蓄積された状態から連続して、マゼンタの入力値が大きくシアンの入力値が小さい色(マゼンタの入力値とシアンの入力値の和が127より小さい条件)の量子化を行うと、著しいドット形成の遅延が発生する。
【0076】
本実施形態では、先に説明した手法により得られた誤差平均値(図15に大まかなに示した)の符号を反転した値を、前記変動閾値テーブルの補正パラメータ、つまり図2における変動閾値テーブル202に使用する。より詳しくは、前記変動閾値テーブルの入力(ここでは説明のためにnとする)が偶数である場合については、シアンの入力とマゼンタの入力がともにn/2である場合の、上記の方法により得られた誤差平均値を符号反転した値を使用する。また、前記変動閾値テーブルの入力が奇数である場合には、シアンの入力が(n+1)/2かつマゼンタの入力が(n−1)/2である場合の上記の方法により得られた誤差平均値と、シアンの入力が(n−1)/2かつマゼンタの入力が(n+1)/2である場合の上記の方法により得られた誤差平均値との平均をとった値を使用する。
【0077】
それにより、2色の入力値の組み合わせによらず、量子化処理により発生する誤差平均値の絶対値を小さくする。それによりドット形成の遅延、つまり掃き寄せ現象や、吐き出し現象などの画像弊害を回避、あるいは低減する。
【0078】
<第1の実施形態の変形例>
以下、図面を参照して本発明の第1の実施形態の変形例を説明する。本変形例は、図1に示す閾値変動量設定部105が、図2の構成から図12の構成となっている点が異なる。尚、本第例において第1の実施形態と同様の構成や処理については、その説明を省略する。
【0079】
図12は閾値変動量設定部105の構成を説明するブロック図である。入力画素値inValC,inValMが加算部1201で加算され、変動閾値テーブル1202に入力される。変動閾値テーブル1202は入力された入力画素値の加算結果inValC+inValMをアドレスとして参照した値をflactThC,flactThMとして出力設定部106に出力する。
【0080】
図2の構成と比較して、ノイズマトリクスが省略されている。ノイズマトリクスが省略されているために、規則的なパターンの除去については、第1の実施形態のような効果はないものの、偽色の発生を防止できる点においては同様の効果を奏する。
【0081】
[第2実施形態]
図13は、第2実施形態における閾値変動量設定部105の構成を説明するブロック図である。本実施形態は、閾値変動量設定部105を除く他の構成については、第1実施形態と同様の構成を備える。そのため、同じ構成については説明を省略する。
【0082】
図13において、入力画素値inValC,inValMは、それぞれ変動閾値テーブル1301、変動閾値テーブル1302に入力される。変動閾値テーブル1301、変動閾値テーブル1302は、入力された入力画素値inValC,inValMをアドレスとして2次元ルックアップテーブルをそれぞれ参照し、vthC,vthMを加算装置205,206に出力する。ノイズマトリクス203,204は不図示の入力画素の座標に対応したアドレスでnoiseC,noiseMが参照され、それぞれ加算装置205,206に出力する。
【0083】
本実施形態では、先に説明した手法により得られた誤差平均値(図15に大まかなに示した)の符号を反転した値を、前記変動閾値テーブルの補正パラメータ、つまり図13における変動しきい値テーブル1301の2次元ルックアップテーブルに使用する。また、同様にマゼンタについて測定した値を図13における変動しきい値テーブル1302の2次元ルックアップテーブルに使用する。それにより、2色の入力値の組み合わせによらず、量子化処理により発生する誤差平均値の絶対値を小さくする。それによりドット形成の遅延、つまり掃き寄せ現象や、吐き出し現象などの画像弊害を回避、あるいは低減する。
【0084】
以上の通り、本実施形態においては、2色以上の多値画像信号に対応した多次元LUTを用いて各色の組み合わせに応じた閾値変動量を画素ごとに選択しつつ、2色以上を組み合わせた誤差拡散法を行う。閾値変動量を澤択するための多次元LUTには、2色以上を組み合わせた誤差拡散法を行った場合の誤差が発生する特性を反映したパラメータを設定する。
【0085】
それにより、シアンとマゼンタの入力値と出力値の大小関係が逆転する現象を回避しつつ、入力値により選択した閾値変動量を使用した、2色以上を組み合わせた誤差拡散法を行うことが可能となり、各色成分単独で観察した場合にも、ドットの形成の遅延を効果的に防止できる。
【0086】
(拡散係数パラメータについて)
本実施形態での拡散係数(配分係数)の補正処理は、シアン、マゼンタ独立して行っている。そのパラメータの選択は特願2001−295127号に記載されているように、シアン、マゼンタそれぞれ単色の画像を量子化処理した場合のドット配置を考慮して入力各レベルごとに使用する拡散係数のパターンを決める。また、もっと簡易に各レベルごとにいくつかの画像を量子化して(たとえば図14の画像など)拡散係数を選んでもよい。
【0087】
このように決めた拡散係数のパラメータで、本実施例のシアン、マゼンタの2色の組み合わせでドットの配置のチェックを行ったが、本実施形態での実験では大きな画像弊害はないことが確認されている。
【0088】
このように拡散係数の選択を単色ごとに行うことは、拡散係数を2色(例えばシアンと、マゼンタ)のルックアップテーブルで選択する構成と比較すると、拡散係数の選択のために持つデータ量が少なくてよいメリットがある。
【0089】
[第2実施形態の変形例]
第2実施形態では、入力値の階調数と同じ階調数の2次元ルックアップテーブルを使用して閾値変動量を選択する例を示した。他の構成の例としてルックアップテーブルのデータ量を少なくするために、2色の入力値をそれぞれより階調数が少ない代表値に変換してから、前記代表値の階調数に合わせた2次元ルックアップテーブルを使用して閾値変動量を選択する構成が考えられる。
【0090】
代表値の例としては、入力値が0から255の値をとるとすれば、それを1次元ルックアップテーブルで変換して、0から63までの範囲の値をとる代表値を得ても良い。また、入力から代表値への変換では、この例ではシンプルに4で入力値を除算してもよい。
【0091】
閾値変動量を選択するための2次元ルックアップテーブルで使用するデータでは、基本的にそのデータを使用する入力値の組み合わせについての、前記誤差平均値の平均を行った値を符号反転して使用する。
【0092】
図15(A)に見られる誤差平均値のギャップは、シアン入力値とマゼンタ入力値でつくられる空間のななめ方向に(シアン入力値とマゼンタ入力値の和が255であるライン)存在している。シアン入力値とマゼンタ入力値でつくられる空間のうち、前記ギャップのシアン入力値最小とマゼンタ入力値の和が小さいエリアをエリア0、前記ギャップのシアン入力値最小とマゼンタ入力値の和が大きいエリアをエリア1と呼ぶことにする。
単純に代表値を用いて2次元ルックアップテーブルのデータ量の削減を図る場合には、シアンとマゼンタの1組の代表値がカバーするシアンとマゼンタの入力値の組み合わせの中に、前記ギャップの両側の組み合わせを含んでしまう場合が起こりうる。
その場合、前記ギャップの両側では設定すべき変動閾値の値が大きく異なるため、設定する値によって変動閾値による補正効果の大幅な減少、あるいは画像弊害の発生を起こす可能性がある。
【0093】
この問題を解決するため本実施例では、前記エリア0用と前記エリア1の2種類のルックアップテーブルのデータを用意して、入力値がエリア0とエリア1のどちらかのエリアに属するかを判定し、使用するLUTを選択する構成をとる。前記ギャップの両側のシアンとマゼンタの入力値の組み合わせを含む、シアンとマゼンタの代表値の組み合わせに対して、前記エリア0用の2次元ルックアップテーブルには前記ギャップのエリア0側の誤差平均値を平均かつ符号反転した値を、また前記エリア1用の2次元ルックアップテーブルには前記ギャップのエリア1側の誤差平均値を平均かつ符号反転した値を設定する。
前記ギャップの片側だけのシアンとマゼンタの入力値の組み合わせを含む、シアンとマゼンタの代表値の組み合わせに対しては、その代表値が含む全入力値の組み合わせについて差平均値を平均かつ符号反転した値を、前記エリア0用、前記エリア1用両方の2次元ルックアップテーブルの値として設定する。
【0094】
この構成により、前記ギャップの両側のシアンとマゼンタの入力値の組み合わせを含む、シアンとマゼンタの代表値の組み合わせがカバーする、入力値の組み合わせにおいても、精度良く、閾値変動量の選択を行うことができる。
【0095】
また、シアンまたはマゼンタの入力値が0、または最大の場合は図15(A)からわかるように量子化誤差平均値はゼロである。つまり、そのばあいは閾値変動量もゼロであることが望ましい。よって本変形例では、シアンまたはマゼンタの入力値が0、または最大であるかどうかの判定を行い、その場合は閾値変動量として0を選択する。
【0096】
本変形例の閾値変動量選択のフローチャートを図16に示す。まずいずれかの色成分の入力値が0または255であるか判定し(S1601)、0または255であれば、閾値変動量として0を選択する(S1605)。そうでなければ図15上でプロットした場合の位置がギャップを挟んでエリア0であるか判定し(S1602)、エリア0であれば入力値をそれぞれ階調数が少ない代表値へと変換する(S1603)。たとえば、256階調をいったん64階調に変換する。そして、変換後の値をインデックスとしてエリア0用の2次元LUTから閾値変動量を得る(S1604)。一方、エリア1であれば入力値をそれぞれ階調数が少ない代表値へと変換する(S1606)。そして、変換後の値をインデックスとしてエリア1用の2次元LUTから閾値変動量を得る(S1607)。各エリア用のLUTには、図15(A)に示した平均量子化誤差の値の、エリア0及びエリア1に対応する値がそれぞれ登録されている。
【0097】
この構成により、2次元ルックアップテーブルのデータ量を削減しつつ、極力精度の高い閾値変動量の選択を行うことができる。
【0098】
本変形例の構成によれば、2色以上の多値画像信号に対応した多次元LUTを用いて各色の閾値変動量を設定する構成をとり、かつ上記2色の組み合わせた画像について測定した誤差発生の特性を反映したパラメータを使用して閾値変動量を設定する。それにより発明が解決しようとする課題としてあげた、出力値が逆転する画像弊害をなくしつつ2色以上の入力値を組み合わせた量子化処理を行うことを可能にする。
【0099】
[第3実施形態]
図17は、第2実施形態における閾値変動量設定部105の構成を説明するブロック図である。本実施形態は、閾値変動量設定部105を除く他の構成については、第1実施形態と同様の構成を備える。そのため、同じ構成については説明を省略する。
【0100】
図17は、閾値変動量設定部105の構成を説明するブロック図である。入力画素値inValC,inValMが加算部201に入力されそれらの和が出力される。その信号は変動閾値テーブル1702へ入力され、1次元ルックアップテーブルを参照してvthCMが出力される。また、入力画素値inValC,inValMは変動閾値テーブル1701と変動閾値テーブル1703に入力される。
【0101】
変動閾値テーブル1701、変動閾値テーブル1703は、まず入力画素値inValC,inValMの階調数を、1次元ルックアップテーブルにより1/4の値に変換し、その2つの値をアドレスとして2次元ルックアップテーブルをそれぞれ参照し、得られた第1の閾値変動量vthC,vthMを加算部205,206に出力する。各ルックアップテーブルのデータについては後に詳しく説明する。なお、変動閾値テーブル1701、変動閾値テーブル1703は、第2実施形態の変形例として説明したものと同様の構成である。
【0102】
また、変動閾値テーブル1702は、加算部201から出力されるシアンとマゼンタの値の和をもとに、閾値変動量を出力する。なお、変動閾値テーブル1702は、第1の実施形態における変動閾値テーブル202と同じものである。
【0103】
ノイズマトリクス203,204は不図示の入力画素の座標に対応したアドレスでnoiseC,noiseMが参照され、それぞれ加算装置205,206に出力する。
【0104】
加算部205,206はノイズマトリクス203,204から出力されたnoiseC,noiseMと変動閾値テーブル1702から出力されたvthCMと、さらに変動閾値テーブル1701、変動閾値テーブル1703から出力されたvthCM,vthMをそれぞれ加算してflactThC,flactTMとして出力設定装置106に出力する。
【0105】
(変動閾値テーブル1702のみによる閾値補正の特性)
図18は先に説明した変動閾値テーブル1702の閾値の補正のみを行い、かつ変動閾値テーブル1701および変動閾値テーブル1703による閾値の補正を行わない場合(つまり変動閾値テーブル1701および変動閾値テーブル1703からの出力値は常に0である条件)で測定した誤差平均値の特性を示している。
【0106】
図18(A)は、上記の条件で測定したシアンの誤差平均値を、2値の量子化処理を行う画像の色をシアンとマゼンタについて毎回異なる値を設定しつつ、測定した結果をしている。また、図18(A)の誤差平均値は図18(B)に示すように、シアンとマゼンタの入力値の軸をとり、誤差平均値を縦方向の軸にとってプロットしている。
【0107】
図18(A)のデータでは、変動閾値テーブル1702の閾値の補正を行わなかった場合の特性(図19(A))と比べて、シアンの入力値とマゼンタの入力値による空間の斜め方向のギャップ(図15(A)において中央に見えるもの)がなくなっている。
【0108】
また、図18(A)の特性においてはまだ量子化誤差が各色成分の入力画素値に応じて若干変動していることから、誤差平均値勾配は残っている。本実施形態では、それを変動閾値テーブル1701、変動閾値テーブル1703による補正値で補正する。図15(A)に示すギャップがなくなっているため、変動閾値テーブル1701、変動閾値テーブル1703は、ルックアップテーブルの入力値のレベル数を少なくすること、すなわちテーブルを小さく構成することが容易となる。
【0109】
これが、本発明の構成のメリットであり、1次元のルックアップテーブルと、2次元のルックアップテーブルを併用することにより、2次元ルックアップテーブルのデータ量の削減が達成される。
【0110】
(変動閾値テーブル1701および変動閾値テーブル1703の設定)
変動閾値テーブル1701には、変動閾値テーブル1702の閾値の補正のみを行い測定した誤差平均値(図18(A)に示した値)の符号を反転した値を使用する。すなわち、まず第1実施形態において説明した要領で、各濃度階調画素が一様に分布した図14に示すような画像をサンプルとして平均量子化誤差を求める。その際には、変動域値テーブル1702を使用するが、変動域値テーブル1701および1703は使用しない。すなわち、第1実施形態で説明した画像処理装置を用いて、画像の量子化を行って、シアンおよびマゼンタという各色成分の値との関係において、各色成分についての平均量子化誤差を求める。これが図19(A)である。そして、この値の符号を反転して変動域値テーブル1701および1703とする。ただし、シアンおよびマゼンタについて入力値をそれぞれ4分の1にする。このためには、例えば、シアンおよびマゼンタ各色について、4i(iは0から63の整数)ごとに平均量子化誤差を獲得し、それを変動閾値テーブル1701,1703とする。このテーブルを引くためには、入力値を変換するが、たとえば入力値に一定の値(たとえば0や2など)を加算して4で割り、その商を用いる方法などが考えられる。
【0111】
このようにして階調数を先に説明したように入力値の1/4とすることにより、データ量の削減を図っている。
【0112】
これはシアン及びマゼンタについて同じであり、ともに測定した値を図17における変動しきい値テーブル1701、1703の2次元ルックアップテーブルに使用する。
【0113】
それにより、2色の入力値の組み合わせによらず、量子化処理により発生する誤差平均値の絶対値を小さくする。それによりドット形成の遅延、つまり掃き寄せ現象や、吐き出し現象などの画像弊害を回避、あるいは低減する。
【0114】
(拡散係数パラメータについて)
本実施の形態での拡散係数の補正処理は、シアン、マゼンタ独立して行っている。そのパラメータの選択は特願2001−295127号に記載されているように、シアン、マゼンタそれぞれ単色の画像を量子化処理した場合のドット配置を考慮して入力各レベルごとに使用する拡散係数のパ/ターンを決める。また、もっと簡易に各レベルごとにいくつかの画像を量子化して(たとえば図7の画像など)拡散係数を選んでもよい。
【0115】
このように決めた拡散係数のパラメータで、本実施の形態のシアン、マゼンタの2色の組み合わせでドットの配置のチェックを行ったが、本実施の形態での実験では大きな画像弊害はないことが確認されている。
【0116】
このように拡散係数の選択を単色ごとに行うことは、拡散係数を2色(例えばシアンと、マゼンタ)のルックアップテーブルで選択する構成と比較すると、拡散係数の選択のために持つデータ量が少なくてよいメリットがある。
【0117】
以上のように、本実施形態の構成によれば、2色以上の多値画像信号に対応した多次元LUTを用いて各色の閾値変動量を設定する構成をとり、かつ上記2色の組み合わせた画像について測定した誤差発生の特性を反映したパラメータを使用して閾値変動量を設定する。それにより発明が解決しようとする課題としてあげた、出力値が逆転する画像弊害をなくしつつ2色以上の入力値を組み合わせた量子化処理を行うことを可能にする。
【0118】
<各実施形態の応用>
なお、上記各実施形態においては拡散係数の補正はシアン、マゼンタそれぞれ単色で行う構成を示した。しかし、本発明はその構成に限定されるものではない。例えばシアン、マゼンタの入力値について、多次元ルックアップテーブルを使用して拡散係数を選んでも良い。この構成の場合は、より形成されるドットの配置を偏りのないものにすることができる。しかし、実施例の単色ごとに拡散係数を選ぶ方法はデータの量を比較的少なくできるというメリットがある。
【0119】
上記実施形態では2値の例について説明したが、本発明はその構成に限定されるものではない。多値の量子化処理を行う場合にも同様に効果を得ることができる。
【0120】
上記実施形態ではノイズマトリクスのデータを2色の入力画素の座標に対応したアドレスにより参照し、閾値の変動量にノイズ特性を付加する例について説明した。しかし、本発明はこの構成に限定されるものではない。閾値の変動量にノイズ特性を付加するのは、量子化処理の結果、出力される画像に規則正しいドットの配置が現われ画像の品位が低下するのを回避もしくは低減するためのものである。本発明はこの構成に限定されるものではなく、閾値の変動量にノイズ特性を付加しない場合も同様に効果がある。
【0121】
上記実施形態ではシアンとマゼンタの2色の入力画素値について、組み合わせて量子化処理を行う例について説明した。しかし本発明はこの構成に限定されるものではない。例えば、他の色のインクの組み合わせについて処理を行う場合についても効果がある。また、比較的濃度が濃いドットと薄いドットを用いるプリントシステムや、比較的ドット径が大きいドットと、小さいドットを用いるプリントシステムなど、異なり目立ち方をするどっとの組み合わせなどについても効果がある。
【0122】
さらに2色より多い色、つまり、シアン、マゼンタ、ブラックなど、の組み合わせについても同様に有効である。この場合は2次元ルックアップテーブルのかわりに3次元ルックアップテーブルを使用する。
【0123】
上記実施形態では出力決定手段は多次元のルックアップテーブルを参照して出力値を決定するタイプの例について説明した。しかし、本発明はこの構成に限定されるものではなく、2色以上の組み合わせで出力決定を行う誤差拡散法において有効である。
【0124】
さらに上記実施形態ではでは誤差拡散法により量子化処理を行う画素の入力値を使用して、誤差変動量を選択する構成について説明した。しかし、量子化処理を行おうとしている画像が画素ごとに入力値が大きく変わることが少ない特性のものである場合、量子化処理を行おうとしている画素の、近傍の画素の入力値、あるいはいくつかの画素の入力値の平均値をもちいて閾値変動量の選択を行っても有効である。
【0125】
例えば写真画像などを高解像度の記録装置で画像の形成を行うために、画像を入力するカメラの光学系の解像度などと比べて、高い解像度で量子化処理を行う場合などが挙げられる。
【0126】
また、以上のように構成される画像処理装置を、多値画像を量子化して画像形成するプリンタに適用することで、高品質の画像を印刷することが可能となる。とくに、色成分ごとの一定サイズのドットを媒体に載せることで画像を形成するインクジェットプリンタにおいては、そのドットの配置のしかたにより形成される画像の品質が大きく上下するために、上記各実施形態を適用してドット生成の遅延を防止すると共に、入力画素の色成分比と出力画素の色成分比の逆転による偽色の発生を防止した本発明の適用は、画質の改善に大きな効果がある。
【0127】
【発明の効果】
以上説明したように本発明によれば、2色以上を組み合わせて誤差拡散法を用いる画像処理装置において、着目画素における各色の入力値の和で量子化閾値を変動させることで、単色での擬似輪郭と組み合わせた全色での擬似輪郭の発生を同時に防ぎつつ、入力値によって各色の誤差配分係数をそれぞれ決定することでハイライトにおけるドット配置を整える事の両立を可能にした。
【0128】
また、本発明においては、2色以上の多値画像信号に対応した多次元LUTを用いて各色の組み合わせに応じた閾値変動量を画素ごとに選択しつつ2色以上を組み合わせた誤差拡散法を行い、閾値変動量を選択するための多次元LUTには、2色以上を組み合わせた誤差拡散法を行った場合の誤差が発生する特性を反映したパラメータを設定する。
【0129】
それにより、シアンとマゼンタといった色成分が、入力値と出力値とで大小関係が逆転する現象を回避しつつ、入力値により選択した閾値変動量を使用した、2色以上を組み合わせた誤差拡散法を行うことが可能となった。
【0130】
さらに、本発明においては、2色以上の多値画像信号に対応した多次元LUTを用いて各色の組み合わせに応じた閾値変動量を画素ごとに選択しつつ、2色以上を組み合わせた誤差拡散法を行い、着目画素における各色の入力値の和で量子化閾値を変動させるとともに、2色以上を組み合わせた誤差拡散法を行った場合の誤差が発生する特性を反映したパラメータを有する多次元LUTによりさらに量子化閾値の変動を補正する。
【0131】
それにより、シアンとマゼンタの入力値と出力値の大小関係が逆転する現象を回避しつつ、入力値により選択した閾値変動量を使用した、2色以上を組み合わせた誤差拡散法を行うことが可能となった。閾値変動量を2段階にわたって補正するために、量子化処理時におけるドット生成遅延の原因となる平均量子化誤差を十分小さくすることができ、一層の画質の改善が可能となる。
【図面の簡単な説明】
【図1】実施形態の画像処理装置の構成を示すブロック図である。
【図2】第1実施形態の画像処理装置における閾値変動量設定部の構成を示すブロック図である。
【図3】実施形態の画像処理装置における出力設定部の構成を示すブロック図である。
【図4】実施形態の画像処理装置における出力値テーブルを示す模式図である。
【図5】実施形態の画像処理装置における誤差計算部の構成を示すブロック図である。
【図6】誤差配分窓を示す模式図である。
【図7】従来例の画像処理装置における出力値テーブルを示す模式図である。
【図8】従来例の画像処理装置の構成を示すブロック図である。
【図9】従来例の画像処理装置の閾値変動量設定部を示すブロック図である。
【図10】従来例の画像処理装置における出力設定部の構成を示すブロック図である。
【図11】従来例の画像処理装置における誤差計算部の構成を示すブロック図である。
【図12】第1実施形態における閾値変動量設定部の他の構成を示すブロック図である。
【図13】第2実施形態の画像処理装置における閾値変動量設定部の構成を示すブロック図である。
【図14】誤差平均値の測定に使用する画像の説明図である。
【図15】閾値の補正を行わない場合における誤差平均値特性の説明図である。
【図16】 第2実施形態の変形例の閾値変動量設定部における処理のフローチャートである。
【図17】第3実施形態における閾値変動量設定部の構成を示すブロック図である。
【図18】2色の入力値の和により閣値変動を選択する補正のみを行った場合における、誤差平均値特性の説明図である。
【符号の説明】
101,102,201,205,206,506,801,802,903,1106,1201 加算部
103,104,803,804 誤差計算部
105,805,806 閾値変動量設定部
106,807 出力値設定部
202,902,1202 変動閾値テーブル
203,204,901 ノイズマトリクス
301,302,503,1001,1002,1103 減算部
303,1003 出力値テーブル
401,702 誤差補正された入力画素
501,1101 配分係数テーブル
502,1102 中心値テーブル
504,1104 誤差分散部
505,1105 誤差バッファ
701 入力画素
Claims (12)
- 第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階調である場合の、前記第1の色成分と前記第2の色成分で示す各濃度階調における一様な画像の前記第1の色成分と前記第2の色成分とを前記量子化手段により量子化した際の前記第1の色成分と前記第2の色成分の量子化誤差であり、
前記量子化手段は、前記第1の色成分と第2の色成分それぞれの量子化値を決定する際に、前記第1の色成分と前記第2の色成分それぞれの量子化閾値を前記閾値変動量により変動させることを特徴とする画像処理装置。 - 前記量子化手段は、前記第1の色成分の値と第2の色成分それぞれの量子化値を決定する際に、前記閾値変動量を前記注目画素に含まれる第1の色成分と第2の色成分それぞれの値にそれぞれ加算することで、前記量子化閾値を変動させることを特徴とする請求項1に記載の画像処理装置。
- 前記量子化手段は、前記第1の色成分の値と第2の色成分の値で、予め前記第1の色成分と第2の色成分それぞれの量子化値が格納されたルックアップテーブルを参照して前記第1の色成分と第2の色成分それぞれの量子化値を決定することを特徴とする請求項2に記載の画像処理装置。
- 前記量子化手段において量子化される階調数は2以上であることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
- 前記第1の色成分と前記第2の色成分それぞれについて相等しい閾値変動量は、前記平均量子化誤差を、前記第1の色成分と前記第2の色成分それぞれについて符号反転することにより算出されることを特徴とする請求項1に記載の画像処理装置。
- 第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階調である場合の、前記第1の色成分と前記第2の色成分で示す各濃度階調における一様な画像の前記第1の色成分と前記第2の色成分とを前記量子化手段により量子化した際の前記第1の色成分と前記第2の色成分の量子化誤差であり、
前記量子化工程では、前記第1の色成分と第2の色成分それぞれの量子化値を決定する際に、前記第1の色成分と前記第2の色成分それぞれの量子化閾値を前記閾値変動量により変動させることを特徴とする画像処理方法。 - 前記量子化工程では、前記第1の色成分の値と第2の色成分それぞれの量子化値を決定する際に、前記閾値変動量を前記注目画素に含まれる第1の色成分と第2の色成分それぞれの値にそれぞれ加算することで、前記量子化閾値を変動させることを特徴とする請求項6に記載の画像処理方法。
- 前記量子化工程では、前記第1の色成分の値と第2の色成分の値で、予め前記第1の色成分と第2の色成分それぞれの量子化値が格納されたルックアップテーブルを参照して前記第1の色成分と第2の色成分それぞれの量子化値を決定することを特徴とする請求項7に記載の画像処理方法。
- 前記量子化工程において量子化される階調数は2以上であることを特徴とする請求項6乃至8のいずれか1項に記載の画像処理方法。
- 前記第1の色成分と前記第2の色成分それぞれについて相等しい閾値変動量は、前記平均量子化誤差を、前記第1の色成分と前記第2の色成分それぞれについて符号反転することにより算出されることを特徴とする請求項6に記載の画像処理方法。
- 請求項6乃至10のいずれか1項に記載の方法を、コンピュータにより実行させるためのプログラム。
- 請求項11に記載のプログラムを記録したコンピュータ可読記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002275828A JP4280473B2 (ja) | 2002-09-20 | 2002-09-20 | 画像処理装置および方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002275828A JP4280473B2 (ja) | 2002-09-20 | 2002-09-20 | 画像処理装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004112696A JP2004112696A (ja) | 2004-04-08 |
JP4280473B2 true JP4280473B2 (ja) | 2009-06-17 |
Family
ID=32271910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002275828A Expired - Fee Related JP4280473B2 (ja) | 2002-09-20 | 2002-09-20 | 画像処理装置および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4280473B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4838769B2 (ja) * | 2007-07-10 | 2011-12-14 | キヤノン株式会社 | 画像処理装置および画像処理方法、並びに、インクジェット記録装置 |
CN113031281B (zh) * | 2021-04-21 | 2022-11-08 | 南昌三极光电有限公司 | 一种光学*** |
CN117274250B (zh) * | 2023-11-20 | 2024-03-29 | 深圳市金三维实业有限公司 | 一种手表底盖磨损缺陷视觉检测方法 |
-
2002
- 2002-09-20 JP JP2002275828A patent/JP4280473B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004112696A (ja) | 2004-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5353127A (en) | Method for quantization gray level pixel data with extended distribution set | |
JP4634292B2 (ja) | 画像処理装置、画像処理方法、その方法をコンピュータに実行させるプログラム | |
JP4740987B2 (ja) | ハーフトーン化方法 | |
US6011878A (en) | Image processing method and apparatus | |
JPH05336373A (ja) | 画像記録装置 | |
JPH05308515A (ja) | 画像中のピクセル値を量子化する方法 | |
US20040010633A1 (en) | Method and apparatus for image processing | |
US6233360B1 (en) | Method and system for hybrid error diffusion processing of image information using adaptive white and black reference values | |
US8018623B2 (en) | Multi-level halftoning providing reduced error diffusion artifacts | |
JP4280473B2 (ja) | 画像処理装置および方法 | |
JP3943981B2 (ja) | 画像処理装置及び方法 | |
JP2003101776A (ja) | 閾値マトリクス作成方法、画像出力システム、プログラム及び記録媒体 | |
KR100251551B1 (ko) | 디지탈영상양자화를위한비인과성오차확산계수의위치및결정방법 | |
US6006011A (en) | Target patterns controlled error management | |
JP4775909B2 (ja) | 画像処理装置、画像処理方法、プログラム、記録媒体および画像形成装置 | |
JP4537211B2 (ja) | 画像処理装置、画像処理方法、その方法をコンピュータに実行させるプログラム、画像形成装置、およびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3870056B2 (ja) | 画像処理装置及び方法及びコンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP2001052157A (ja) | 画像処理装置および画像処理方法 | |
JP3679522B2 (ja) | 画像処理方法及びその装置 | |
JPH10136205A (ja) | 画像処理装置 | |
JPH1056568A (ja) | 画像処理装置 | |
JPH11225273A (ja) | 画像処理方法および画像処理装置 | |
JP5464906B2 (ja) | 画像処理装置及びその制御方法 | |
JP2003023540A (ja) | 画像処理装置 | |
JP2003198841A (ja) | 画像形成方法および画像形成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050609 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070307 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070907 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071106 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20071106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080516 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081222 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090216 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090309 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090316 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120319 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4280473 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140319 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |