JP2004172798A - 画像処理装置、画像処理方法 - Google Patents
画像処理装置、画像処理方法 Download PDFInfo
- Publication number
- JP2004172798A JP2004172798A JP2002334709A JP2002334709A JP2004172798A JP 2004172798 A JP2004172798 A JP 2004172798A JP 2002334709 A JP2002334709 A JP 2002334709A JP 2002334709 A JP2002334709 A JP 2002334709A JP 2004172798 A JP2004172798 A JP 2004172798A
- Authority
- JP
- Japan
- Prior art keywords
- variable
- image information
- value
- quantization
- matrix
- 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.)
- Withdrawn
Links
Images
Landscapes
- Color, Gradation (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】擬似輪郭、開始遅れ、ワームノイズ、テクスチャーの解消
【解決手段】誤差補正前の注目画素の入力画像情報値A(Xn,Yn)を量子化したときの予測誤差e(Xn,Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す演算値、即ち負帰還変数Fb(Xn,Yn)に、マトリクス変数Mxy(又は撹乱変数Rnd)を加算した値を、量子化制御変数とする。そして入力画像情報値A(Xn,Yn)に補正誤差E(Xn,Yn)を加算し、さらに量子化制御変数の加算または減算を行なってから、その値を量子化閾値で量子化する。
【選択図】 図2
【解決手段】誤差補正前の注目画素の入力画像情報値A(Xn,Yn)を量子化したときの予測誤差e(Xn,Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す演算値、即ち負帰還変数Fb(Xn,Yn)に、マトリクス変数Mxy(又は撹乱変数Rnd)を加算した値を、量子化制御変数とする。そして入力画像情報値A(Xn,Yn)に補正誤差E(Xn,Yn)を加算し、さらに量子化制御変数の加算または減算を行なってから、その値を量子化閾値で量子化する。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、入力多値画像情報を、誤差拡散法を用いて階調数の少ない画像情報に変換する画像処理装置及び画像処理方法に関するものである。
【0002】
【従来の技術】
従来、2値以外の入力画像情報を、誤差拡散法(誤差分散法ともいう)を用いて量子化する方法としては、以下の例が知られている。
図17に、入力画像情報値と量子化後の出力情報値(量子化出力情報値)との関係を示している。
図17において、入力画像情報値は、補正誤差が加算されるため、0〜319までの範囲の値であるとする。そして入力画像情報値は、0、63、127、191、及び255の5値のうちのいずれかの値に量子化されるものとする。すなわち、量子化ステップサイズは64である。
【0003】
この例では、0〜63までの入力画像情報値は0の値に量子化される。同様に入力画像情報値として64〜127の値は63の値に、128〜191の値は127の値に、192〜255の値は191の値に、256〜319の値は255の値に、それぞれ量子化される。
【0004】
図18に、入力画像情報値と量子化によって発生する誤差(量子化誤差)との関係を示す。
図17及び図18において、例えば入力画像情報値が127であるとき、量子化後の値は127となり、量子化の前後での誤差は0である。また、入力画像情報値が127より大きくなり、例えば128であるときは、量子化後の値は127となるため、量子化による誤差は1となる。さらにまた、入力画像情報値が190であるときは、量子化により127の値に量子化されることで、誤差は最大値である63となる。このように、入力画像情報値の値によって、量子化により生じる誤差の値が異なることとなる。
このように、入力画像情報値を量子化した場合には、誤差が生じることとなるが、その誤差を周辺の画素に拡散させることで、量子化後の画像品位を高めるようにしている。
【0005】
図19により、誤差拡散法における一般的な技術を説明する。
図19において、量子化の対象となっている注目画素に着目して考える。図中、注目画素を*印で示す。
誤差拡散法では、この注目画素を量子化した場合に、誤差が発生したとき、その誤差を、注目画素の周囲の画素に拡散させる(誤差拡散法)。ここで、どの範囲までの画素に誤差を拡散させるかは種々の方法が挙げられるが、本例ではk1からk12までの12個の周囲の画素に対して、注目画素の誤差を拡散させている。
【0006】
また、誤差を拡散させるときの重み付けの方法についても、種々挙げられるが、図19に示すように、誤差拡散フィルタを用いて、例えばk1については7/48、k2については5/48・・・等のように所定の比率で拡散させる。例えば、注目画素で発生した誤差が10であるとしたとき、注目画素の図中、右側に隣接するk1の画素に対しては、10×7/48の誤差を拡散させる。
【0007】
図20は、以上のようにして誤差を拡散させるとともに、各画素について量子化を行う画像処理装置の一例のブロック図である。
この画像処理装置は、加算器201、乗算器202、減算器203、誤差バッファ(EB)204、量子化器(QT)205、誤差拡散係数マトリクス206を備える。
【0008】
或る1つの注目画素について量子化を行う場合、その注目画素には、それ以前の画素に対して量子化を行ったときに発生した誤差(累積誤差)が加算される。この誤差は、誤差バッファ204に蓄積されている。
注目画素の入力画像情報値A(Xn、Yn)が入力されると、その入力画像情報値A(Xn、Yn)に累積誤差E(Xn、Yn)が加算器201によって加算され、誤差補正済みの入力画像情報値B(Xn、Yn)が生成される。即ち、
B(Xn、Yn)=A(Xn、Yn)+E(Xn、Yn)
となる。
そして、この入力画像情報値B(Xn、Yn)が量子化器205によって量子化され、量子化出力情報値C(Xn、Yn)が出力される。例えば、上述した例において、B=128であるとき、C=127となる。
【0009】
また、累積誤差E(Xn、Yn)によって補正された入力画像情報値B(Xn、Yn)と、量子化出力情報値C(Xn、Yn)とが減算器203にそれぞれ入力され、両者の差が量子化の際の量子化誤差Eq(Xn、Yn)として算出される。即ち、
Eq(Xn、Yn)=B(Xn、Yn)−C(Xn、Yn)
となる。
この量子化誤差Eq(Xn、Yn)と、誤差拡散係数マトリクス206による誤差拡散係数とが、乗算器202に入力される。これにより、量子化誤差Eq(Xn、Yn)に誤差拡散係数が乗じられ、その値が累積誤差E(Xn、Yn)として誤差バッファ204に蓄積される。この累積誤差E(Xn、Yn)が周囲の画素に拡散される。
【0010】
以上のような誤差拡散法を用いて、原画像をその階調数よりも少ない階調数の画像に変換するときに、変換後の画像における各画素の輝度値と、原画像における各画素の輝度値との誤差を、周囲の画素に拡散させることによって、全体としては、原画像との輝度誤差が少ない画像が構成される。
なお、このような誤差拡散法は、次の文献に開示されている。
【0011】
【非特許文献1】”An Adaptive Algorithm for Spatial Gray Scale” SID DIGEST (1975年 Floid&Steinberg)
【0012】
【発明が解決しようとする課題】
しかしながら、上記のような技術で処理された画像情報を印刷に供した場合、以下に述べるように「擬似輪郭」「開始遅れ」「ワームノイズ」「テクスチャー」と呼ばれる現象が発生し、画像品質を低下させる場合があるという問題があった。
【0013】
<擬似輪郭>
擬似輪郭とは、グラデーションのように、画素の値がなだらかに変化するような画像を前述の誤差拡散法によって量子化した場合に、量子化の閾値付近で境界線が見えてしまう現象である。図21(a)に擬似輪郭の例を示している。
【0014】
これは次の理由により発生する。
複数の閾値を持つ5値誤差拡散において閾値をそれぞれ0、63、127、191、255とし、閾値=出力値である場合、そしてこの誤差拡散によってグラデーション領域にある各画素を順次量子化していく場合を考える。例えば入力画像情報値がスキャンの進行に従って漸増しながらある量子化閾値、例えば63から127に近づいていく場合、この間の出力値は63、及び、127の混在となり階調(又は濃度)は単位面積における2種類のドットの混入比率によって表現される。
スキャンの進行に伴って出力値が63のドットから1段上の出力値が127のドットの発生が活発化する。このために誤差バッファ204内の累積誤差が放出されて漸減していき、終には最小値になる。引き続き入力画素値がその閾値を超えて128になるとともに誤差補正(階調補正)のために、更に一段上の閾値を越えて値が191のドットを発生しなければならなくなり、そのための嵩上げ分として値が63以上の補正誤差が必要となる。
しかしこのとき誤差バッファ204には必要十分な量の誤差が残っておらず、スキャンが進行して誤差が蓄積されるまでの間、値が191のドットを発生できない状態に陥ることになる。これは即ち、誤差拡散の系に誤差バッファ204が介入することによって入力・出力間における応答に遅れが生じるためである。
これとは逆にスキャンの進行とともに入力画像情報値が徐々に小さくなってある閾値、例えば127を通過する場合、誤差バッファ204には必要以上の誤差が残っていて、不要な分を放出するまでの間は値が63のドットを出力できない状態が生じる。
このような理由から入力画像情報値がスキャンに従って徐々に量子化閾値を通過する場合、通過の直後から階調の“補正残し”が生じてしまい、それが原画像には存在しない輪郭(線)となって現れてしまう。
【0015】
<開始遅れ>
開始遅れとは、出力画像における誤差補正の開始遅れによるものであり、入力画像の階調の変化に誤差補正が追いつかなくなることによって、結果として出力画像の輪郭部に、その遅れ分がドット分布密度の差となって現れ、それがプリンタ等で印画された場合は濃度差となり、画像を歪ませてしまう現象である。図22(a)に開始遅れの例を示す。図示するように、階調が急変する部分(濃淡の差が顕著な部分)の境界において、誤差補正の遅れがドット密度の差となって現れるものである。
【0016】
これは、次の理由によって発生する。
例えば図20を用いて説明すると、量子化によって発生する誤差Eq(Xn、Yn)は入力画像情報値A(Xn、Yn)が量子化器QTにおける閾値からかけ離れているほど大きくなる。しかし、かけ離れている分だけ誤差補正(階調補正)が必要になり新規ドットの発生が活発化するために、誤差バッファ204内に蓄えられた誤差も消費されるので、結果として誤差バッファ204内の平均的な残留誤差値は小さい状態が保たれる。逆に、入力画像情報値が閾値に近い場合は量子化による発生誤差は小さいが誤差補正(階調補正)の必要性も小さい。もし補正を行う場合は小さな入力画像情報値に対する上乗せ値として大きな累積誤差E(Xn、Yn)が必要になる。このため誤差バッファ204内の平均的な残留誤差値は大きい状態が保たれる。
【0017】
例えば入力画像情報値A(Xn、Yn)が一定の状態が続き、誤差バッファ204内の平均残留誤差も一定に保たれている状態において、ある時点で突如入力画像情報値が大きく変化したとする。この局面において誤差バッファ204内に蓄積されている平均残留誤差値は大きすぎるか、又は小さすぎるかの何れかになる。大きすぎる場合は不要な分を放出するまで、また、小さすぎる場合は必要な分を蓄積するまでの間、前方画素の量子化を進めなければならない。そしてその間は誤差補正(量子化誤差による階調の補正)が機能しなくなり、部分的な誤差補正の遅れが生ずることになる。
この遅れによって、量子化出力としての出力画像情報値は誤差の補正が直ちに反映されたものとはならず、誤差補正が反映された画素が発生するのは、誤差バッファ204内の平均残留誤差が小さい入力画像情報値に加算されても一段上の閾値を超えるほどに増加したとき、又は、大きな入力画像情報値に加算されても最寄の閾値以下になるまで減少したときである。
このような理由から図22(a)のような開始遅れが発生する。
【0018】
<ワームノイズ>
ワームノイズとは、ドットが鎖状につながってワームのように見える状態になるものであり、例えば画像全体に現れる。図21(a)には、画像の一部を拡大して、鎖状にドットがつながったワームノイズを示している。
これは、誤差拡散処理において入力値を一定にした場合、発生誤差量や拡散フィルタの係数などに依存した固有のドット分布が生じるためである。
【0019】
<テクスチャー>
テクスチャーは、これもドットがつながる現象であり、誤差拡散処理において入力値を一定にした場合、発生誤差量や拡散フィルタの係数などに依存した固有のドット分布が生じるためである。特には、誤差バッファ204内の誤差の累積・放出に周期性が生ずることで、図23(a)の画像の右側ような周期性のドット分布(ドット配列)が見られるものとなる。なお、図23(a)における左側は、画像の左端でスキャンが折り返すために周期性が乱されている様子が現れている。
【0020】
以上の、擬似輪郭、開始遅れ、ワームノイズ、テクスチャーは、いずれも印刷画像の品質を損ねるものとなる。
【0021】
【課題を解決するための手段】
そこで本発明は、入力画像情報値を、誤差拡散法を用いて、入力画像情報値の階調数より少ない2以上の階調数の画像情報値に変換する画像処理装置、画像処理方法において、上記の擬似輪郭、開始遅れ、ワームノイズ、テクスチャーの発生を解消し、量子化後の画像品位を向上させることを目的とする。
【0022】
このため本発明の画像処理装置は、誤差補正を行う前の注目画素における入力画像情報値を量子化したときに発生が見込まれる予測誤差値としての量子化誤差値と量子化閾値間のレベル差との差の程度を求める演算値、即ち負帰還変数に、さらに加算変数を加算して得られる量子化制御変数を決定する制御変数決定手段を設ける。また、注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差のうち、注目画素に割り振られた補正誤差を決定する補正誤差決定手段と、注目画素の入力画像情報値に、上記補正誤差決定手段で決定された補正誤差の加算、及び上記制御変数決定手段で決定された量子化制御変数の加算または減算を行った値について、量子化閾値で量子化することにより、注目画素の入力画像情報値を、その階調数より少ない2以上の階調数の画像情報値に変換する量子化手段と、注目画素の入力画像情報値に上記補正誤差決定手段で決定された補正誤差を加算した値と、上記量子化手段で量子化された画像情報値との差である量子化誤差を、注目画素の後に量子化される周辺の画素に割り振る誤差拡散手段とを備えるようにする。
この場合、マトリクス構成で設定された数値群のうちから、注目画素の主走査アドレス、副走査アドレスを利用してマトリクス変数を選択的に決定するマトリクス手段を備え、該マトリクス手段で決定されたマトリクス変数が、上記加算変数とされる。
又は、乱数生成手段を備え、該乱数生成手段で生成された撹乱変数が、上記加算変数とされる。
又は、上記マトリクス手段と上記乱数生成手段を備え、上記制御変数決定手段は、上記加算変数として、上記マトリクス手段で決定されたマトリクス変数と上記乱数生成手段で生成された撹乱変数とを用いる。
【0023】
また本発明の画像処理装置は、上記同様の補正誤差決定手段、量子化手段、誤差拡散手段を備えるとともに、少なくとも、誤差補正を行う前の注目画素における入力画像情報値を量子化したときに発生が見込まれる予測誤差値としての量子化誤差値と量子化閾値間のレベル差との差の程度を示す演算値、即ち負帰還変数を用いた量子化制御変数を、入力画像情報値を参照して決定する制御変数決定手段を備える。
この場合、上記制御変数決定手段は、各入力画像情報値に対応して上記演算によって求めた負帰還変数を記憶していることで、入力画像情報値を参照して、上記負帰還変数を用いた量子化制御変数を決定できる構成とする。
【0024】
また、上記制御変数決定手段は、上記負帰還変数に、加算変数を加算して得られる値として量子化制御変数を決定する。
この場合、マトリクス構成で設定された数値群のうちから、注目画素の主走査アドレス、副走査アドレスを利用してマトリクス変数を選択的に決定するマトリクス手段を備え、該マトリクス手段で決定されたマトリクス変数が、上記加算変数とされるようにする。
或いは、乱数生成手段を備え、該乱数生成手段で生成された撹乱変数が、上記加算変数とされるようにする。
或いは、上記マトリクス手段と、上記乱数生成手段を備え、上記制御変数決定手段は、上記加算変数として、上記マトリクス手段で決定されたマトリクス変数と上記乱数生成手段で生成された撹乱変数とを用いる。
【0025】
また、上記制御変数決定手段は、上記負帰還変数に、加算変数を加算して得られる値としての量子化制御変数を、入力画像情報値と、注目画素の主走査アドレスと、副走査アドレスとを参照して決定する。
この場合、上記制御変数決定手段は、各入力画像情報値に対応する上記各負帰還変数毎に、上記加算変数としてマトリクス構成で設定された各マトリクス変数を加算した値を記憶していることで、入力画像情報値と、注目画素の主走査アドレス、副走査アドレスとに基づいて、量子化制御変数を決定できる構成とされる。
また、乱数生成手段を備える。そして上記制御変数決定手段は、上記各負帰還変数毎に、加算変数としてマトリクス構成で設定された各マトリクス変数を加算した値を記憶していることで、入力画像情報値と、注目画素の主走査アドレスと、副走査アドレスとに基づいて記憶値を得、さらに該記憶値に、上記乱数生成手段で生成された撹乱変数を加算変数として加算することで、量子化制御変数を決定する。
【0026】
本発明の画像処理方法は、誤差補正を行う前の注目画素における入力画像情報値を量子化したときに発生が見込まれる予測誤差値としての量子化誤差値と、量子化閾値間のレベル差との差の程度を示す演算値、即ち負帰還変数に、さらに加算変数を加算して得られる量子化制御変数を決定する制御変数決定手順と、注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差のうち、注目画素に割り振られた補正誤差を決定する補正誤差決定手順と、注目画素の入力画像情報値に、上記補正誤差決定手順で決定された補正誤差の加算、及び上記制御変数決定手順で決定された量子化制御変数の加算または減算を行った値について、量子化閾値で量子化することにより、注目画素の入力画像情報値を、その階調数より少ない2以上の階調数の画像情報値に変換する量子化手順と、注目画素の入力画像情報値に上記補正誤差決定手順で決定された補正誤差を加算した値と、上記量子化手順で量子化された画像情報値との差である量子化誤差を、注目画素の後に量子化される周辺の画素に割り振る誤差拡散手順とを具備する。
この場合、マトリクス構成で設定された数値群のうちから、注目画素の主走査アドレス、副走査アドレスを利用してマトリクス変数を選択的に決定するマトリクス手順を備え、該マトリクス手順で決定されたマトリクス変数を、上記加算変数とする。
又は、乱数生成手順を備え、該乱数生成手順で生成された撹乱変数を、上記加算変数とする。
又は、マトリクス手順と乱数生成手順を備え、上記制御変数決定手順では、上記加算変数として、上記マトリクス手順で決定されたマトリクス変数と上記乱数生成手順で生成された撹乱変数とを用いる。
【0027】
また本発明の画像処理方法は、制御変数決定手順と、上記同様の補正誤差決定手順、量子化手順、誤差拡散手順が行われるが、制御変数決定手順では、少なくとも、誤差補正を行う前の注目画素における入力画像情報値を量子化したときに発生が見込まれる予測誤差値としての量子化誤差値と、量子化閾値間のレベル差との差の程度を示す負帰還変数を用いた量子化制御変数を、入力画像情報値を参照して決定する。
この場合、上記制御変数決定手順では、各入力画像情報値に対応して上記負帰還変数を記憶していることで、入力画像情報値を参照して、上記負帰還変数を用いた量子化制御変数を決定する。
【0028】
また上記制御変数決定手順は、上記負帰還変数に、加算変数を加算して得られる値として量子化制御変数を決定する。
この場合、マトリクス構成で設定された数値群のうちから、注目画素の主走査アドレス、副走査アドレスを利用してマトリクス変数を選択的に決定するマトリクス手順を備え、該マトリクス手順で決定されたマトリクス変数が、上記加算変数とされる。
又は、乱数生成手順を備え、該乱数生成手順で生成された撹乱変数が、上記加算変数とされる。
又は、マトリクス手順と乱数生成手順を備え、上記制御変数決定手順は、上記加算変数として、上記マトリクス手順で決定されたマトリクス変数と上記乱数生成手順で生成された撹乱変数とを用いる。
【0029】
また上記制御変数決定手順では、上記負帰還変数に、加算変数を加算して得られる値としての量子化制御変数を、入力画像情報値と、注目画素の主走査アドレスと、副走査アドレスとを参照して決定する。
この場合、上記制御変数決定手順では、各入力画像情報値に対応する上記各負帰還変数毎に、加算変数としてマトリクス構成で設定された各マトリクス変数を加算した値を記憶していることで、入力画像情報値と、注目画素の主走査アドレス、副走査アドレスとに基づいて、量子化制御変数を決定する。
また乱数生成手順を備え、上記制御変数決定手順は、上記各負帰還変数毎に、加算変数としてマトリクス構成で設定された各マトリクス変数を加算した値を記憶していることで、入力画像情報値と、注目画素の主走査アドレスと、副走査アドレスとに基づいて記憶値を得、さらに該記憶値に、上記乱数生成手順で生成された撹乱変数を加算変数として加算することで、量子化制御変数を決定する。
【0030】
このような本発明においては、入力画像情報値を、誤差拡散法を用いて、入力画像情報値の階調数より少ない2以上の階調数の画像情報値に変換するものであり、基本的には、注目画素の入力画像情報値に、注目画素に割り振られた補正誤差、つまり誤差拡散処理で拡散された補正誤差を加算する。
ここでさらに、補正誤差が加算された注目画素の入力画像情報値に、量子化制御変数の加算または減算を行なう。そしてこの値を量子化閾値で量子化するものである。
そして、量子化制御変数としては、基本的には、誤差補正を行う前の注目画素における入力画像情報値を量子化したときに発生が見込まれる予測誤差値としての量子化誤差値と、量子化閾値間のレベル差との差の程度を示す演算によって求められる負帰還変数である。即ち、この負帰還変数、もしくは負帰還変数に加算変数を加算した値を、量子化制御変数とする。
上記負帰還変数を量子化制御変数として、補正誤差が加算された注目画素の入力画像情報値に加算または減算することは、入力画像情報値に対する量子化出力値との差を入力に負帰還して、ネガティブフィードバックとして作用させるものとなる。
また、負帰還変数に加算変数としてマトリクス変数や撹乱変数(乱数)を加算した値を量子化制御変数とすることは、発生誤差量や拡散フィルタの係数などに依存した固有のドット分布の解消に作用する。
【0031】
【発明の実施の形態】
以下、まず本発明の画像処理装置を搭載する画像形成装置について説明し、その後、本発明の第1〜第9の実施の形態としての画像処理装置(画像処理方法)を説明していく。
なお、第1〜第9の各実施の形態の画像処理装置を説明するにあたっては、その構成をハードウエア的に示すものであるが(例えば第1の実施の形態についての図2)、これは装置の実際の構成として、必ずしも各図に示すとおりのハードウエア構成を必要とすることを意味するものではない。つまり、各実施の形態でハードウエア的に説明する動作に相当する処理が行われるものであれば足り、いわゆるソフトウエア的な演算処理でも実現できる。例えば図2の構成に相当する画像処理装置は、実際にはマイクロプロセッサ等を用いて実現できる。
【0032】
<画像形成装置>
図1は、画像形成装置100の概略を示すブロック図である。画像形成装置100は、インクジェットプリンタ等のプリンタ装置であり、画像処理部120,印画ヘッド駆動部130,印画ヘッド140,印画紙搬送部150を備える。
【0033】
画像処理部120においては、画像情報が入力されると、その画像情報値に対して色変換処理や階調変換処理を行う。階調変換処理とは、入力画像情報値を、誤差拡散法を用いて、入力画像情報値の階調数より少ない2以上の階調数の画像情報値に変換した量子化出力情報値を得る処理であり、即ち後述する各実施の形態の画像処理装置によって実行される処理である。
【0034】
画像情報が画像処理部120に入力されると、画像処理部において色変換処理や階調変換処理が行われて量子化出力情報値が算出される。この量子化出力情報値が、印画ヘッド140を駆動制御するための印画ヘッド駆動部130に入力される。
印画ヘッド駆動部130は、量子化出力情報値に基づいて印画ヘッド140を駆動(インクを吐出)し、画像形成を行う。また、印画紙搬送部150は、画像形成に伴って、印画紙を所定方向に搬送する。
【0035】
例えばインクジェットプリンタの場合、量子化出力情報値に基づいて印画ヘッド140のオン/オフを行い、インクの吐出を制御する。量子化出力情報値が多値の場合、例えば、量子化した階調数に応じて画像のドットを形成することが挙げられる。より具体的には、量子化値が5値による表現を行う場合に、1回のインクの吐出で「63」の値の画素を表現し、2回のインクの吐出で「127」の値の画素を表現し、・・4回のインクの吐出で「255」の値の画素を表現するような制御である。
【0036】
<第1の実施の形態の画像処理装置:図2>
第1の実施の形態の画像処理装置の構成を図2に示す。
第1の実施の形態の画像処理装置は、図示するように加算器1、乗算器2、減算器3、誤差バッファ(EB)4、量子化器5、誤差拡散係数マトリクス6、閾値設定部7、加算器8、セレクタ9,10、減算器11、Qs(量子化閾値間レベル差)発生部12、演算ユニット13、マトリクス部14、加算器15を備える。
【0037】
セレクタ9,10は、同期して切換制御される。
先ず、誤差拡散以前において、注目画素の入力画像情報として入力画素データA(Xn、Yn)が入力されるときには、セレクタ9,10はそれぞれt1端子側に接続されている。
この場合において、入力画素データA(Xn、Yn)は、誤差補正が行われることなく、セレクタ9を通って量子化器5によってそのまま量子化される。
そして入力画素データA(Xn、Yn)と、量子化された値c(Xn、Yn)とは、それぞれ減算器11に入力され、この減算器11によって、入力画素データA(Xn、Yn)と量子化データc(Xn、Yn)との差である予測誤差としての量子化誤差e(Xn、Yn)が算出される。すなわち、
e(Xn、Yn)=A(Xn、Yn)−c(Xn、Yn)
となる。
なお、予測誤差e(予測誤差としての量子化誤差)とは、補正のための累積誤差を入力に加算しない状態で量子化した際に発生する誤差のことである。
この予測誤差e(Xn、Yn)は、演算ユニット13に入力される。
なお、このときの予測誤差e(Xn、Yn)は、
0<e(Xn、Yn)<Qs(量子化閾値間レベル差)
となる。
【0038】
また、Qs発生部12から閾値間レベル差としてのQs値が発生され、演算ユニット13に入力される。
閾値間レベル差Qsとは、量子化器5での閾値、つまり閾値設定部7で設定される閾値の間のレベル差の値である。例えば閾値が、63,127,191,255であるとしたときのQs値を図4に示している。量子化の際の閾値が変更されない限り、Qs発生部12は、Qs値として固定値を出力すればよい。
このQs値は、予測誤差eがとり得る最大値としての意味を持つ。
【0039】
演算ユニット13では、まずQs値と予測誤差e(Xn、Yn)の差(Qs−e)として、予測誤差eの補数をとる。これは、入力にフィードバックする変数として値をネガティブにするものである。
次に、補数(Qs−e)をQs値で除して正規化することで、負帰還率変数fb(0≦fb≦1.0)を求める。
さらに、上記fbに対して負帰還係数m(但し0<m<Qs)を乗算した演算値、即ち負帰還変数Fbを得る。即ち演算ユニット13では、
の演算を行う。
この負帰還変数Fb(Xn、Yn)は、予測誤差eと、量子化閾値間のレベル差Qsとの差の程度を示す値に相当するものである。
なお、0<m<1の範囲である負帰還係数mは、例えば0.75程度の値である。mの値は、処理される画像の種類等に応じて決定される。
【0040】
図3は、入力画素データA(Xn、Yn)と、負帰還変数Fb(Xn、Yn)との関係を示すグラフである。量子化閾値が上記の場合、入力画素データA(Xn、Yn)に対するFb(Xn、Yn)の値は、0〜Qs×mの範囲で変動することとなる。
【0041】
加算器15は、この負帰還変数Fb(Xn、Yn)に加算変数を加算する。この場合、マトリクス変数Mxyが加算変数とされる。
即ち、負帰還変数Fb(Xn、Yn)は、加算器15でマトリクス部14からのマトリクス変数Mxyと加算されて量子化制御変数とされ、加算器8に供給される。
なお、マトリクス部14及びマトリクス変数Mxyについては後述する。
【0042】
上記演算処理の後に誤差拡散を行う際には、セレクタ9,10はt2端子側に切り替えられる。
入力画素データA(Xn、Yn)は、加算器1に入力される。さらに加算器1には、誤差バッファ4に蓄積された誤差のうち、その入力画素データA(Xn、Yn)に対応する累積誤差E(Xn、Yn)が入力される。これにより、入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)が加算され、誤差補正が行われた入力画素データB(Xn、Yn)が算出される。すなわち、
B(Xn、Yn)=A(Xn、Yn)+E(Xn、Yn)
となる。
【0043】
ここで、誤差バッファ4に蓄積された誤差のうち、入力画素データA(Xn、Yn)に対応する累積誤差E(Xn、Yn)は、補正誤差(注目画素を量子化する以前に量子化された画素によって発生した量子化誤差のうち、注目画素に割り振られた誤差)に相当するものである。この誤差は、入力画素データA(Xn、Yn)が量子化される前に決定される。
【0044】
算出された入力画素データB(Xn、Yn)は、加算器8に入力される。上述のように加算器8には負帰還変数Fb(Xn、Yn)にマトリクス変数Mxyが加算されて得られた量子化制御変数Fb(Xn、Yn)+Mxyも供給される。
この結果、加算器8により、B(Xn、Yn)+Fb(Xn、Yn)+Mxyの値が算出され、この値がセレクタ9を介して量子化器5に入力される。
量子化器5では閾値設定部7によって量子化閾値が設定されており、入力される値を、その量子化閾値に従って量子化する。
量子化器5によって量子化された値は、量子化出力データC(Xn、Yn)として、セレクタ10を介して出力される。
図1を参照していえば、この量子化出力データC(Xn、Yn)が印画ヘッド駆動部130に供給されることになる。
【0045】
また、量子化出力データC(Xn、Yn)は、周辺画素への誤差拡散のために、減算器3に入力される。
減算器3には、量子化出力データC(Xn、Yn)の他、誤差補正済みの入力画素データB(Xn、Yn)が入力される。これにより、両者の差が算出され、量子化誤差Eq(Xn、Yn)が生成される。すなわち、
Eq(Xn、Yn)=B(Xn、Yn)−C(Xn、Yn)
となる。
【0046】
この量子化誤差Eq(Xn、Yn)は、乗算器2に入力されて、注目画素の後に量子化される周辺画素に所定の重み付けを行うため、誤差拡散係数マトリクス6からの係数として、周辺画素ごとに所定の誤差拡散係数が乗じられる。これにより、累積誤差E(Xn、Yn)が算出され、誤差バッファ4に蓄積される。誤差バッファ4に蓄積された累積誤差E(Xn、Yn)は、きたる画素の量子化の際の補正値として利用される。
【0047】
すなわち、各注目画素が量子化されるときには量子化誤差Eqが発生し、その量子化誤差Eqは、その注目画素の後に量子化される周辺の画素に割り振られ、誤差バッファ4に蓄積されていく。そして、ある1つの注目画素が量子化されるときには、その1つの注目画素以前に量子化された画素によって発生した量子化誤差Eqのうち、その1つの注目画素に割り振られた全ての量子化誤差Eqである累積誤差Eが誤差バッファ4に蓄積されており、1つの注目画素の量子化時に、その注目画素の入力画素データA(Xn、Yn)に加算され、誤差補正済みの入力画素データB(Xn、Yn)が算出されることとなる。
【0048】
ここまでの説明において、加算器1によって入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)を加算して、誤差補正済みの入力画素データB(Xn、Yn)を得る構成は、図20の従来例で説明したものと同様である。
これに対して本例では、さらに、予測誤差eと、量子化閾値間のレベル差Qsとの差の程度を示す値である演算値、即ち負帰還変数Fb(Xn、Yn)を用いた量子化制御変数を算出し、加算器8で入力画素データB(Xn、Yn)に加算している。
さらにこの量子化制御変数は、負帰還変数Fb(Xn、Yn)にマトリクス変数Mxyを加算して得ているものである。
ここで、マトリクス変数Mxyについては後述することとし、まず、負帰還変数Fb(Xn、Yn)を用いた量子化制御変数の加算、即ち予測誤差フィードバック系を備えたことによる階調変換動作について図4で説明しておく。
【0049】
図4(a)は、このような予測誤差フィードバック系を適用しない場合、図4(b)は予測誤差フィードバック系を適用した場合の動作説明図である。
まず図4(a)において、入力画素データA=「100」であったとする。
この場合、図示のように累積誤差Eが加算されても、閾値「127」を越えなかったとすると、「63」に量子化される。つまり量子化出力データC=「63」である。
一方、図4(b)では、入力画素データA=「100」に対して、図示のように累積誤差Eと、負帰還変数Fbが加算されることで、その値が閾値「127」を越えたとすると、「127」に量子化される。つまり量子化出力データC=「127」である。
もちろんこのような具体例は、累積誤差Eや負帰還変数Fbの値によって変化するが、例えばこの例のように、量子化出力データは、予測誤差フィードバック系の適用により調整される。
【0050】
図5は、入力画素データB(Xn、Yn)と、量子化出力データC(Xn、Yn)との関係を示すグラフである。図5に示すように、上記のようにして予測誤差フィードバック系を適用して量子化することで、量子化器5の閾値が最大Qs×mの範囲で変動することと等価になる。
したがって、例えば、閾値に近い値がわずかの差をもって漸増連続するグラデーションのような入力画像を量子化する場合において、バッファ内の累積誤差Eが小さい値であっても、1つ上の閾値に量子化される確率が高まることになる。よって、閾値通過直後や入力画像の値が急変するような場合においても新規ドットの発生が活性化されるので誤差補正(階調補正)の遅れを生じることなく原画像を滑らかに再現することができる。
【0051】
本例においては、このように、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である負帰還変数Fb(Xn、Yn)を用いた量子化制御変数を入力画素データB(Xn、Yn)に加算していること、即ち発生誤差予測に基づく変数による入力への負帰還を行うことで、いわゆる擬似輪郭と開始遅れを解消することができる。
【0052】
“擬似輪郭”と“開始遅れ”は共に過渡現象であって、何れの場合も入力変化による誤差の蓄積・放出の遅れが原因であり、誤差バッファ4内に蓄積されている誤差量が変動するということは誤差拡散出力における階調が歪んでいるということである。従って、入力の如何なる変化に対しても誤差補正が追従するように系の応答特性を改善することがドット散布の遅れを解消する上での要となる。
一例として誤差の発生が小さいと見込まれる画素ほど、その値を最寄りの閾値から遠ざけて隣の閾値(例えば1段上の閾値)に近づく方向に嵩上げしてやることで閾値付近での新規ドットの発生を活性化させることが考えられ、そのためには予測される誤差の大きさに応じてアダプティヴに、且つ、相対的に階調変換の閾値を変化させることが効果的である。結果として誤差バッファ4内に蓄積されている誤差が常に少ない一定の量に保たれるようになることが期待される。
【0053】
このため具体的には、誤差補正前の注目画素に対する階調変換誤差を予め予測しておき、その値を基にした変数を入力に加える。
即ち、その変数をネガティヴに入力にフィードバックすることによって閉ループを構成して過渡応答特性を改善する。言い換えると誤差拡散系において、出力に生ずる歪(誤差)を入力に戻してやることで歪をキャンセルする、ネガティヴ・フィードバック・システムとして作用させる。
全ての画素が取り得る誤差の最大値(Qs)から注目画素の発生誤差予測値(e=入力−閾値間レベル)を引いた値、即ち誤差予測値の補数を、誤差補正を済ませた階調変換前の多階調注目画素値に上乗せすることによって相対的に閾値のオフセットを変動させる。
【0054】
このような処理により、入力に対しては見かけ上の誤差が最大値近くになるように閾値が変動し、その上で誤差補正された多階調注目画素の階調変換が行われる。
なお、この際、閾値を誤差予測値の補数に100%追従して変動させてしまうと(負帰還率を100%にすると)リンギングによる新たな擬似輪郭が問題となるので、負帰還変数Fbの絶対値=Qsとならないよう、且つ出力画像において最良の状態が得られる負帰還係数m(0 < m <1.0)を予測誤差の補数(Qs−e(Xn、Yn))に乗じた変数をフィードバックする。
【0055】
この結果、閾値通過直後における誤差補正の過渡応答特性が改善されて階調の補正残し(出力画像の歪)が解消される。
また、閾値通過時のみならず入力画像の突然の階調変化に伴って、発生誤差量が著しく変化するような局面においても、素早く補正を開始することが可能になり、擬似輪郭の抑制に対して顕著な効果が見られるばかりでなく“開始遅れ”に対しても改善効果が得られる。図21(b)に擬似輪郭が解消された画像を示し、また図22(b)に開始遅れが解消された画像を示している。
【0056】
以上のように本例では、まず負帰還変数Fbを用いた量子化制御変数を、補正済の入力画素データBに加算することで、擬似輪郭及び開始遅れを改善できるものであるが、さらに、ワームノイズ対策として、マトリクス変数Mxyを用いている。
つまり、量子化制御変数は、負帰還変数Fbに対する加算変数としてマトリクス変数Mxyを加算したものとしている。
【0057】
図2に示すマトリクス部14は、(X0、Y0)〜(Xn、Yn)のn×n個の数値を備えた数値群とされる。今、一例として、4×4の数値群であるとして説明する。
この場合、例えば図6(b)に一具体例を示すように、4×4のマトリクスとして、「0」〜「15」のマトリクス変数が設定される。
【0058】
また、入力画像情報としては、図6(a)のように1024×512(PIX:ピクセル)の画像を形成するデータであるとする。
この場合、画像データの主走査には、1024PIXのために10ビットのカラムアドレス(column address)が用いられる。一方、画像データの副走査には、512PIXのために9ビットのロウアドレス(row address)が用いられる。
【0059】
ここで、4×4の数値群を備えたマトリクス部14は、図6(a)のように1024×512(PIX)における4×4(PIX)のブロックBK11、BK12・・・に対応するものとされる。
即ち、例えばブロックBK11についてみると、ブロックBK11には画素PIX(1,1)、PIX(2,1)、PIX(3,1)、PIX(4,1)、PIX(1,2)、PIX(2,2)、PIX(3,2)、PIX(4,2)、PIX(1,3)、PIX(2,3)、PIX(3,3)、PIX(4,3)、PIX(1,4)、PIX(2,4)、PIX(3,4)、PIX(4,4)が含まれるが、これらの各画素に対応して、図6(c)のように数値が割当てられる。つまり、各画素に対応して、マトリクス部14から割り当てられた数値がマトリクス変数Mxyとして出力される。
例えば画素PIX(1,1)の入力画素データAが入力される場合は、マトリクス部14からマトリクス変数Mxy=「0」が出力される。
また画素PIX(2,1)の入力画素データAが入力される場合は、マトリクス部14からマトリクス変数Mxy=「4」が出力される。
【0060】
このようなマトリクス変数Mxyを発生させるためには、マトリクス部14が図6(b)のようにマトリクス構成で数値を記憶しておき、それを画像情報の主走査、副走査に用いるカラムアドレス・ロウアドレスを用いて読み出すようにすればよい。
具体的には、図6(a)の画像データの走査には10ビットのカラムアドレスと9ビットのロウアドレスが用いられるが、これらのアドレスの下位2ビットは、4×4のマトリクス、つまりブロックBK内の画素を示すものとなる。
従って、同様に4×4のマトリクス構成の数値群とされたマトリクス部14に対しては、カラムアドレスの下位2ビット、及びロウアドレスの下位2ビットが供給されるようにすれば、上記のように入力画素データAに対応して、或る数値とされたマトリクス変数Mxyを出力することができるものとなる。
なお、もちろんマトリクス部14は4×4のマトリクス構成でなくても良い。
【0061】
そして、このように発生されるマトリクス変数Mxyは、加算器15で負帰還変数Fbに加算されて、量子化制御変数として加算器8に供給され、入力画素データBに加算される。
即ち、上述の予測誤差フィードバックのための負帰還変数Fbに、ディザ・マトリクス係数を加えて閾値を変調するものであるといえる。
【0062】
このように、量子化閾値をディザ・マトリクス係数によって変調することで、画像全域に見られる鎖状に繋がるドットを分断することができる。
その結果、ワームノイズは縦横に散らされて目立たなくなるともに閾値付近の再現性において自然さを増すことができる。図21(b)にワームノイズが解消された画像を示している。
【0063】
以上のように第1の実施の形態では、加算器1によって入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)を加算して、誤差補正済みの入力画素データB(Xn、Yn)を得るようにするとともに、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である演算値、即ち負帰還変数Fb(Xn、Yn)を用いた量子化制御変数を算出し、加算器8で入力画素データB(Xn、Yn)に加算する。さらにこの量子化制御変数は、負帰還変数Fb(Xn、Yn)にマトリクス変数Mxyを加算して得ているものである。
【0064】
また、このような図2に示した第1の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に次の手順S11〜S14を有する画像処理方法が行われることとなる。
[S11]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す演算値である負帰還変数Fb(Xn、Yn)に、さらにマトリクス変数Mxyを加算して得られる量子化制御変数を決定する。
この場合、マトリクス部14でマトリクス構成で設定された数値群のうちから、注目画素のカラムアドレス、ロウアドレスを利用して数値を選択的に決定し、決定された数値を、上記マトリクス変数Mxyとする。
[S12]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S13]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)+Mxyの加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S14]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0065】
このような第1の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れ、ワームノイズが解消された量子化出力データCを得ることができる。
【0066】
<第2の実施の形態>
次に、図7により第2の実施の形態について説明する。なお、上記図2と同一部分については同一符号を付し、説明を省略する。
【0067】
この第2の実施の形態では、第1の実施の形態(図2)のマトリクス部14に代えて乱数生成部16を設けたことが異なるものとなる。
乱数生成部16では、乱数値としての撹乱変数Rndを発生させ、それを加算変数として加算器15に出力する。
加算器15では、演算ユニット13で算出された負帰還変数Fb(Xn、Yn)に対する加算変数として撹乱変数Rndを加算する。即ちこの場合、加算器8に供給される量子化制御変数は、Fb(Xn、Yn)+Rndとなる。
【0068】
従ってこの第2の実施の形態では、加算器1によって入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)を加算して、誤差補正済みの入力画素データB(Xn、Yn)を得るようにするとともに、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である演算値、即ち負帰還変数Fb(Xn、Yn)を用いた量子化制御変数を算出し、加算器8で入力画素データB(Xn、Yn)に加算する。さらにこの量子化制御変数は、負帰還変数Fb(Xn、Yn)に乱数による撹乱変数Rndを加算して得ているものである。
【0069】
また、この図7に示した第2の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に、次の手順S21〜S24を有する画像処理方法が行われる。
[S21]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す演算値、即ち負帰還変数Fb(Xn、Yn)に、さらに撹乱変数Rndを加算して得られる量子化制御変数を決定する。
この場合、乱数生成部16で発生された乱数を撹乱変数Rndとする。
[S22]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S23]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)+Rndの加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S24]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0070】
このような第2の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れ、テクスチャーが解消された量子化出力データCを得ることができる。
擬似輪郭及び開始遅れについては、第1の実施の形態と同様の理由により解消される。
【0071】
テクスチャーについては、乱数による誤差累積周期の撹乱によって解消されるものとなる。
例えば閾値に近い、ある一定の入力値をもつ画像に誤差拡散を施すと図23(a)で示すような周期性のドット分布が現れることは既に述べた。
これは入力が一定という条件によって誤差バッファ4内の誤差の累積・放出に周期性が生じるためであり、図23(a)の左半分は画像の左端でスキャンが折り返すためにその周期が乱されている様子が伺える。
この現象を改善するには同様にして画像全域に渡ってその周期を撹乱する必要がある。
そのための変数としてはマトリクス変数などの値が周期性をもつものでは効果を得ることが難しく、ここでは実現の容易性を考慮しながら一般的に知られる方法として、ランダム変数を負帰還変数(閾値の制御変数)に更に加えることとしている。
この結果、画像全域に渡って周期性が撹乱され、図23(b)のようにテクスチャーが解消された画像を得ることができる。
【0072】
なお、乱数の量を多くすると、同時にワームノイズも解消できるが、乱数の量が多すぎる場合、出力画像にザラツキ感がでてくる。画像のザラツキをなくすことを優先させる場合は、乱数を必要最小限に丸めることが好適である。
【0073】
<第3の実施の形態>
次に、図8により第3の実施の形態について説明する。なお、上記図2、図7と同一部分については同一符号を付し、説明を省略する。
【0074】
この第3の実施の形態では、第1の実施の形態(図2)で述べたマトリクス部14と、第2の実施の形態(図7)で述べた乱数生成部16の両方を備える。
マトリクス部14は、カラムアドレス、ロウアドレスに従って読み出される数値をマトリクス変数Mxyとして加算器17に出力する。
乱数生成部16では、乱数値を発生させ、それを撹乱変数Rndとして加算器17に出力する。
加算器17では、演算ユニット13で算出された負帰還変数Fb(Xn、Yn)に対する加算変数として、撹乱変数Rnd、及びマトリクス変数Mxyを加算する。即ちこの場合、加算器8に供給される量子化制御変数は、Fb(Xn、Yn)+Mxy+Rndとなる。
【0075】
従ってこの第3の実施の形態では、加算器1によって入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)を加算して、誤差補正済みの入力画素データB(Xn、Yn)を得るようにするとともに、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である演算値、即ち負帰還変数Fb(Xn、Yn)を用いた量子化制御変数を算出し、加算器8で入力画素データB(Xn、Yn)に加算する。さらにこの量子化制御変数は、負帰還変数Fb(Xn、Yn)に乱数による撹乱変数Rnd及びマトリクス変数Mxyを加算して得ているものである。
【0076】
また、この図8に示した第3の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に、次の手順S31〜S34を有する画像処理方法が行われる。
[S31]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す演算値である負帰還変数Fb(Xn、Yn)に、さらに加算変数を加算して得られる量子化制御変数を決定する。
この場合、マトリクス部14から出力されるマトリクス変数Mxyと、乱数生成部16で発生された乱数による撹乱変数Rndの両方を、加算変数として負帰還変数Fb(Xn、Yn)に加算する。
[S32]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S33]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)+Rnd+Mxyの加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S34]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0077】
このような第3の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れ、ワームノイズ、テクスチャーが解消された量子化出力データCを得ることができる。
擬似輪郭、開始遅れ、ワームノイズについては、第1の実施の形態と同様の理由により解消される。
テクスチャーについては、第2の実施の形態と同様の理由により解消される。
【0078】
<第4の実施の形態>
図9に第4の実施の形態の構成を示す。
この場合、画像処理装置には、図示するように加算器1、乗算器2、減算器3、誤差バッファ4、量子化器5、誤差拡散係数マトリクス6、閾値設定部7、加算器8、LUT(LOOK UP TABLE)20を備える。
【0079】
この第4の実施の形態では、加算器1によって入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)を加算して、誤差補正済みの入力画素データB(Xn、Yn)を得ること、及び減算器3、乗算器2,誤差拡散係数マトリクス6、誤差バッファ4で誤差拡散を行うことは、上記各実施の形態と同様である。
【0080】
この第4の実施の形態の場合、量子化制御変数を、入力画素データA(Xn、Yn)に基づいてLUT20から得るようにし、加算器8において入力画素データB(Xn、Yn)に加算するようにしている。
即ちLUT20は、上記した各実施の形態における、減算器11,Qs発生部12、演算ユニット13に相当する機能を実現する。
【0081】
この場合の量子化制御変数は、予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す値である演算値、即ち負帰還変数Fb(Xn、Yn)としている。上述のようにFb(Xn、Yn)=m((Qs−e(Xn、Yn))/Qs)である。
ここで、量子化閾値が固定されていればQs値は固定である。
また入力画素データA(Xn、Yn)に対する量子化出力データc(Xn、Yn)も予めわかる。従って、入力画素データA(Xn、Yn)の値に応じた予測誤差e(Xn、Yn)の値は、予め算出することができる。
そして、Qs値も固定であれば、負帰還変数Fb(Xn、Yn)は、入力画素データA(Xn、Yn)の値に応じて予め算出しておくことができる。
【0082】
そこで、ROM又はRAMによりLUT20を構成し、このLUT20にはテーブルデータとして、図10に示すように、入力画素データA(Xn、Yn)の値(例えば「0」〜「319」)に対応させて、それぞれ算出された負帰還変数Fb(Xn、Yn)、例えばFb(0)〜Fb(319)を記憶しておく。
すると、LUT20は、入力画素データA(Xn、Yn)が入力されると、その値を参照してテーブルデータを検索し、対応する負帰還変数Fb(Xn、Yn)を読み出して出力することができる。
このようにLUT20から読み出された負帰還変数Fb(Xn、Yn)が、量子化制御変数として加算器8に供給され、入力画素データB(Xn、Yn)に加算される。
【0083】
つまりこの第4の実施の形態では、加算器1によって入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)を加算して、誤差補正済みの入力画素データB(Xn、Yn)を得るようにするとともに、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である負帰還変数Fb(Xn、Yn)を量子化制御変数として、入力画素データA(Xn、Yn)の値を参照して決定する。
特に、LUT20にテーブルデータとして入力画素データA(Xn、Yn)の値に対応した負帰還変数Fb(Xn、Yn)を記憶しておくことで、入力画素データA(Xn、Yn)の値を参照して量子化制御変数を決定できるようにしている。
【0084】
また図9に示した第4の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に次の手順S41〜S44を有する画像処理方法が行われる。
[S41]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す演算値である負帰還変数Fb(Xn、Yn)をそのまま量子化制御変数として、入力画素データA(Xn、Yn)の値を参照して決定する。
この場合、LUT20に入力画素データA(Xn、Yn)の値に対応した負帰還変数Fb(Xn、Yn)を記憶しておくことで、入力画素データA(Xn、Yn)の値を参照して量子化制御変数を決定できるようにしている。
[S42]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S43]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)の加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S44]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0085】
このような第4の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れが解消された量子化出力データCを得ることができる。
擬似輪郭、開始遅れが解消できるのは、第1の実施の形態で説明した予測誤差フィードバック系の作用を、LUT20により実現することによる。
また、この第4の実施の形態の場合、例えば図2等に示した減算器11、Qs発生部12、演算ユニット13、セレクタ9,10の構成が不要となることで、構成の大幅な簡略化が実現できる。また負帰還変数Fbは、単にLUT20から読み出せばよく、負帰還変数Fbを得るための演算処理も不要であるため、演算処理負担の軽減、処理の高速化を実現できる。
【0086】
<第5の実施の形態>
第5の実施の形態の構成を図11に示す。
これは、上記図9の構成に、図2で説明したマトリクス部14及び加算器15を加えたものである。
そして入力画素データA(Xn、Yn)の値に応じてLUT20から出力された負帰還変数Fb(Xn、Yn)と、マトリクス部14においてカラムアドレス、ロウアドレスに応じて読み出された数値としてのマトリクス変数Mxyが加算器15で加算されて、加算器8に供給される。
【0087】
つまりこの第5の実施の形態では、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である負帰還変数Fb(Xn、Yn)を入力画素データA(Xn、Yn)の値を参照してLUT20により決定し、さらにその値に加算変数としてマトリクス変数Mxyを加算して量子化制御変数とするものである。
そして加算器8で、誤差補正済の入力画素データB(Xn、Yn)に量子化制御変数Fb(Xn、Yn)+Mxyが加算され、量子化器5に入力される。量子化器5からは量子化出力データC(Xn、Yn)が出力される。
【0088】
このような図11に示した第5の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に、次の手順S51〜S54を有する画像処理方法が行われる。
[S51]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す負帰還変数Fb(Xn、Yn)を入力画素データA(Xn、Yn)の値を参照して決定した後、さらにマトリクス変数Mxyを加算して量子化制御変数を決定する。
この場合、LUT20に入力画素データA(Xn、Yn)の値に対応した負帰還変数Fb(Xn、Yn)を記憶しておくことで、入力画素データA(Xn、Yn)の値を参照して量子化制御変数を決定できるようにしている。
また加算変数であるマトリクス変数Mxyは、マトリクス部14でマトリクス構成で設定された数値群のうちから、注目画素のカラムアドレス、ロウアドレスを利用して数値を選択的に決定する。
[S52]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S53]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)+Mxyの加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S54]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0089】
このような第5の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れ、ワームノイズが解消された量子化出力データCを得ることができる。
また、上記第4の実施の形態と同様、構成の簡略化、演算負担の軽減、演算処理の高速化を実現できる。
【0090】
<第6の実施の形態>
第6の実施の形態の構成を図12に示す。
これは、上記図9の構成に、図7で説明した乱数生成部16及び加算器15を加えたものである。
そして入力画素データA(Xn、Yn)の値に応じてLUT20から出力された負帰還変数Fb(Xn、Yn)と、乱数生成部16で発生される乱数値による撹乱変数Rndが、加算器15で加算されて、加算器8に供給される。
【0091】
つまりこの第6の実施の形態では、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である負帰還変数Fb(Xn、Yn)を入力画素データA(Xn、Yn)の値を参照してLUT20により決定し、さらにその値に加算変数としての撹乱変数Rndを加算して量子化制御変数とするものである。
そして加算器8で、誤差補正済の入力画素データB(Xn、Yn)に量子化制御変数Fb(Xn、Yn)+Rndが加算され、量子化器5に入力される。量子化器5からは量子化出力データC(Xn、Yn)が出力される。
【0092】
このような図12に示した第6の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に、次の手順S61〜S64を有する画像処理方法が行われる。
[S61]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す演算値である負帰還変数Fb(Xn、Yn)を入力画素データA(Xn、Yn)の値を参照して決定した後、さらに撹乱変数Rndを加算して量子化制御変数を決定する。
この場合、LUT20に入力画素データA(Xn、Yn)の値に対応した負帰還変数Fb(Xn、Yn)を記憶しておくことで、入力画素データA(Xn、Yn)の値を参照して量子化制御変数を決定できるようにしている。
また撹乱変数Rndは、乱数生成部16で発生させる。
[S62]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S63]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)+Rndの加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S64]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0093】
このような第6の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れ、テクスチャーが解消された量子化出力データCを得ることができる。
また、上記第4の実施の形態と同様、構成の簡略化、演算負担の軽減、演算処理の高速化を実現できる。
【0094】
<第7の実施の形態>
第7の実施の形態の構成を図13に示す。
これは、上記図9の構成に、図2で説明したマトリクス部14及び図7で説明した乱数生成部16及び加算器17を加えたものである。
そして入力画素データA(Xn、Yn)の値に応じてLUT20から出力された負帰還変数Fb(Xn、Yn)と、マトリクス部14においてカラムアドレスとロウアドレスによって選択された数値によるマトリクス変数Mxyと、乱数生成部16で発生される乱数値による撹乱変数Rndが、加算器17で加算されて、加算器8に供給される。
【0095】
つまりこの第7の実施の形態では、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である負帰還変数Fb(Xn、Yn)を入力画素データA(Xn、Yn)の値を参照してLUT20により決定し、さらにその値に対する加算変数として、マトリクス変数Mxy、及び撹乱変数Rndを加算して量子化制御変数を得るものである。
そして加算器8で、誤差補正済の入力画素データB(Xn、Yn)に量子化制御変数Fb(Xn、Yn)+Mxy+Rndが加算され、量子化器5に入力される。量子化器5からは量子化出力データC(Xn、Yn)が出力される。
【0096】
このような図13に示した第7の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に、次の手順S71〜S74を有する画像処理方法が行われる。
[S71]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す負帰還変数Fb(Xn、Yn)を入力画素データA(Xn、Yn)の値を参照して決定した後、さらに加算変数を加算して量子化制御変数を決定する。
この場合、LUT20に入力画素データA(Xn、Yn)の値に対応した負帰還変数Fb(Xn、Yn)を記憶しておくことで、入力画素データA(Xn、Yn)の値を参照して量子化制御変数を決定できるようにしている。
また、マトリクス部14から出力されるマトリクス変数Mxyと、乱数生成部16で発生された乱数による撹乱変数Rndの両方を、加算変数として負帰還変数Fb(Xn、Yn)に加算する。
[S72]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S73]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)+Mxy+Rndの加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S74]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0097】
このような第7の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れ、ワームノイズ、テクスチャーが解消された量子化出力データCを得ることができる。
また、上記第4の実施の形態と同様、構成の簡略化、演算負担の軽減、演算処理の高速化を実現できる。
【0098】
<第8の実施の形態>
図14に第8の実施の形態の構成を示す。
この場合、画像処理装置には、図示するように加算器1、乗算器2、減算器3、誤差バッファ4、量子化器5、誤差拡散係数マトリクス6、閾値設定部7、加算器8、LUT21を備える。
【0099】
この第8の実施の形態では、加算器1によって入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)を加算して、誤差補正済みの入力画素データB(Xn、Yn)を得ること、及び減算器3、乗算器2,誤差拡散係数マトリクス6、誤差バッファ4で誤差拡散を行うことは、上記各実施の形態と同様である。
【0100】
この第8の実施の形態の場合、量子化制御変数をLUT21から得るようにし、加算器8において入力画素データB(Xn、Yn)に加算するようにしている。
特に、LUT21は、上記した第2の実施の形態における、減算器11,Qs発生部12、演算ユニット13、マトリクス部14、加算器15に相当する機能を実現する(マトリクス部14は設けられず、LUT21によりマトリクス部14の機能を含めた動作が行われる)。
【0101】
この場合の量子化制御変数は、予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す値である演算値、即ち負帰還変数Fb(Xn、Yn)に、マトリクス構成の数値がカラムアドレスとロウアドレスによって選択されたマトリクス変数Mxyを加算したものとしている。
【0102】
ここで、負帰還変数Fb(Xn、Yn)は、入力画素データA(Xn、Yn)の値に応じて算出しておくことができることは、上記第4の実施の形態の説明において述べた。
また、第1の実施の形態において述べたマトリクス部14においては、例えば4×4のマトリクスで構成される数値がカラムアドレスとロウアドレスによって選択される。
【0103】
そこで、ROM又はRAMによりLUT21を構成し、このLUT21にはテーブルデータとして、図15に示すように、入力画素データA(Xn、Yn)の値(例えば「0」〜「319」)に対応させて、それぞれ算出された負帰還変数Fb(Xn、Yn)、例えばFb(0)〜Fb(319)を記憶しておく。
さらに、負帰還変数Fb(0)〜Fb(319)のそれぞれについては、マトリクス変数Mxyに相当する16種類の数値(X0,Y0)〜(Xn,Yn)、即ち例えば図6(b)に示した各値を加算した値を予め計算して記憶しておく。
【0104】
例えば図15のように、入力画素データA=「0」に対応しては、負帰還変数Fb(0)が予め算出できるが、さらに、負帰還変数Fb(0)にマトリクス変数(X0,Y0)〜マトリクス変数(Xn,Yn)をそれぞれ加算した値を、記憶しておく。
つまり、4×4のマトリクス変数を採用する場合は、1つの入力画素データAについて、対応する負帰還変数Fbにそれぞれ16個の各マトリクス変数を加算して得た16個のデータを記憶させるようにする。
これを例えば入力画素データAとしての「0」〜「319」のすべてについて同様に値を算出して記憶しておく。
【0105】
すると、LUT21は、入力画素データA(Xn、Yn)が入力されると、その値を参照してテーブルデータを検索し、対応する負帰還変数Fb(Xn、Yn)にマトリクス変数Mxyが加算された16個から成る量子化制御変数のグループを決定でき、さらに、カラムアドレスとロウアドレスによって、16個の値の中から1つを選択することができる。
このようにLUT21から読み出される値は量子化制御変数、即ち負帰還変数Fb(Xn、Yn)+マトリクス変数Mxyであり、これが量子化制御変数として加算器8に供給され、入力画素データB(Xn、Yn)に加算される。
【0106】
つまりこの第8の実施の形態では、加算器1によって入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)を加算して、誤差補正済みの入力画素データB(Xn、Yn)を得るようにするとともに、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である負帰還変数Fb(Xn、Yn)に、マトリクス変数Mxyを加算した値を量子化制御変数とするが、この量子化制御変数を、入力画素データA(Xn、Yn)の値及びカラムアドレスとロウアドレスを参照して決定する。
特に、LUT21に上記図15のようなテーブルデータを形成することで、入力画素データA(Xn、Yn)の値と、カラムアドレスとロウアドレスに従って、量子化制御変数を決定できるようにしている。
【0107】
このような図14に示した第8の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に次の手順S81〜S84を有する画像処理方法が行われる。
[S81]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す負帰還変数Fb(Xn、Yn)にマトリクス変数Mxyを加算した値を量子化制御変数として、入力画素データA(Xn、Yn)の値及びカラムアドレスとロウアドレスを参照して決定する。
この場合、各入力画素データAの値に対応する各負帰還変数Fb毎に、マトリクス構成で設定されたマトリクス変数Mxyとしての各数値を加算した値を記憶していることで、入力画素データAの値と、注目画素の主走査アドレス(カラムアドレス)、副走査アドレス(ロウアドレス)とに基づいて、量子化制御変数を決定する。
[S82]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S83]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)+Mxyの加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S84]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0108】
このような第8の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れ、ワームノイズが解消された量子化出力データCを得ることができる。
擬似輪郭、開始遅れ、ワームノイズが解消できるのは、第1の実施の形態で説明した予測誤差フィードバック系の作用、及びマトリクス変数による作用を、LUT21により実現することによる。
また、この第8の実施の形態の場合、例えば上記図11に示したマトリクス部14を不要として、マトリクス変数の機能を実現できる。従って、図2より構成が簡略化された図11の場合よりも、さらに構成の簡略化を実現でき、しかも量子化制御変数を決定する演算処理のさらなる簡略化や高速化を実現できる。
【0109】
<第9の実施の形態>
第9の実施の形態の構成を図16に示す。
これは、上記図14の構成に、図7で説明した乱数生成部16及び加算器18を加えたものである。
そして入力画素データA(Xn、Yn)の値及びカラムアドレスとロウアドレスに従ってLUT21から出力された負帰還変数Fb(Xn、Yn)+マトリクス変数Mxyに対して、さらに乱数生成部16で発生される乱数値による撹乱変数Rndが、加算器18で加算されて、加算器8に供給される。
【0110】
つまりこの第6の実施の形態では、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である演算値としての負帰還変数Fb(Xn、Yn)にマトリクス変数Mxyを加えた値を、入力画素データA(Xn、Yn)の値及びカラムアドレスとロウアドレスを参照してLUT21により決定し、さらにその値に撹乱変数Rndを加算して量子化制御変数とするものである。
そして加算器8で、誤差補正済の入力画素データB(Xn、Yn)に量子化制御変数Fb(Xn、Yn)+Mxy+Rndが加算され、量子化器5に入力される。量子化器5からは量子化出力データC(Xn、Yn)が出力される。
【0111】
このような図16に示した第9の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に次の手順S91〜S94を有する画像処理方法が行われる。
[S91]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す演算値である負帰還変数Fb(Xn、Yn)にマトリクス変数Mxyを加算した記憶値を、入力画素データA(Xn、Yn)の値及びカラムアドレスとロウアドレスを参照して決定する。さらにその記憶値に乱数生成部16で生成された値を撹乱変数Rndとして加算することで、量子化制御変数を決定する。
この場合、上記記憶値は、各入力画素データAの値に対応する各負帰還変数Fb毎に、マトリクス構成で設定されたマトリクス変数Mxyとしての各数値を加算した値を記憶していることで、入力画素データAの値と、注目画素の主走査アドレス(カラムアドレス)、副走査アドレス(ロウアドレス)とに基づいて決定する。
[S92]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S93]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)+Mxy+Rndの加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S94]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0112】
このような第9の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れ、ワームノイズ、テクスチャーが解消された量子化出力データCを得ることができる。
また、この第9の実施の形態の場合、例えば上記図13に示したマトリクス部14を不要として、マトリクス変数の機能を実現できる。従って、図8より構成が簡略化された図13の場合よりも、さらに構成の簡略化を実現でき、しかも量子化制御変数を決定する演算処理のさらなる簡略化や高速化を実現できる。
【0113】
以上、本発明の実施の形態について説明したが、本発明は上述した各実施の形態に限定されることなく種々の変形が可能である。
例えば、各例では、量子化制御変数を加算器8において誤差補正済の入力画素データB(Xn、Yn)に対して加算するようにしたが、加算器8を減算器に代え、量子化制御変数の符号を反転するとともに量子化制御変数を誤差補正済の入力画素データB(Xn、Yn)から減算するように構成してもよい。
【0114】
また各例の画像処理装置を適用する装置として、画像形成装置100を例に挙げたが、これに限らず、画像表示装置(CRTディスプレイ、LCD(液晶)ディスプレイ、又はプラズマディスプレイ等)に用いることも可能である。
【0115】
【発明の効果】
以上の説明から理解されるように、入力画像情報値を、誤差拡散法を用いて、入力画像情報値の階調数より少ない2以上の階調数の画像情報値に変換する本発明の画像処理装置、画像処理方法によれば、以下の各効果を得ることができる。
【0116】
請求項1又は請求項14によれば、誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差と、量子化閾値間のレベル差との差の程度を示す演算値(負帰還変数)に、加算変数を加算した値を、量子化制御変数とする。そして入力画像情報値に補正誤差を加算し、さらに量子化制御変数の加算または減算を行なってから、その値を量子化閾値で量子化する。
これによって、擬似輪郭、開始遅れを解消するとともに、ワームノイズ又はテクスチャーを解消して、量子化後の画像品質を向上させることができる。
【0117】
特に請求項2又は請求項15によれば、マトリクス数値から注目画素の主走査アドレス、副走査アドレスを利用して選択されたマトリクス変数を、上記加算変数とすることで、擬似輪郭、開始遅れ、ワームノイズを解消できる。
また請求項3又は請求項16によれば、乱数として発生された撹乱変数を、上記加算変数とすることで、擬似輪郭、開始遅れ、テクスチャーを解消できる。
また請求項4又は請求項17によれば、マトリクス変数と撹乱変数の両方を、上記加算変数とすることで、擬似輪郭、開始遅れ、ワームノイズ、テクスチャーを解消できる。
【0118】
請求項5又は請求項18によれば、少なくとも、誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差と、量子化閾値間のレベル差との差の程度を示す演算値(負帰還変数)を用いて量子化制御変数を決定する。このとき量子化制御変数は、入力画像情報値を参照して決定する。
そして入力画像情報値に補正誤差を加算し、さらに量子化制御変数の加算または減算を行なってから、その値を量子化閾値で量子化する。
これによって、擬似輪郭、開始遅れを解消し、量子化後の画像品質を向上させることができる。
さらに、量子化制御変数の決定のための構成又は手順を簡易化すると共に、その演算処理の高速化を実現できる。
特に、請求項6又は請求項19のように、各入力画像情報値に対応して上記負帰還変数を記憶した記憶テーブルを用いることで、量子化制御変数の決定のための構成又は手順を簡易化するとともに演算処理の高速化を実現できる。
【0119】
また、請求項7又は請求項20によれば上記負帰還変数に加算変数を加算して得られる値として量子化制御変数を決定する。これにより、擬似輪郭、開始遅れの解消、量子化制御変数の決定のための構成又は手順の簡易化及び演算処理の高速化に加えて、ワームノイズ又はテクスチャーの解消も実現できる。
特に請求項8又は請求項21によれば、マトリクス数値から注目画素の主走査アドレス、副走査アドレスを利用して選択されたマトリクス変数を、上記加算変数とすることで、擬似輪郭、開始遅れとともに、ワームノイズを解消できる。
また請求項9又は請求項22によれば、乱数として発生された撹乱変数を、上記加算変数とすることで、擬似輪郭、開始遅れとともに、テクスチャーを解消できる。
また請求項10又は請求項23によれば、マトリクス変数と撹乱変数の両方を、上記加算変数とすることで、擬似輪郭、開始遅れ、ワームノイズ、テクスチャーを解消できる。
【0120】
また請求項11又は請求項24によれば上記負帰還変数に加算変数を加算して得られる値としての量子化制御変数を、入力画像情報値と、注目画素の主走査アドレスと、副走査アドレスとを参照して決定する。
これにより、擬似輪郭、開始遅れの解消とともに、ワームノイズ又はテクスチャーの解消を実現するための量子化制御変数の決定のための構成又は手順を、さらに簡易化でき、また演算処理のさらなる高速化を実現できる。
特に請求項12又は請求項25によれば、各入力画像情報値に対応する上記各負帰還変数毎に、加算変数としての各マトリクス変数を加算した値を記憶した記憶テーブルを用いることで、量子化制御変数の決定のための構成又は手順を大幅に簡易化するとともに演算処理の高速化を実現できる。
また請求項13又は請求項26によれば、マトリクス変数と撹乱変数の両方が上記加算変数とされるため、大幅な簡易化、高速化を実現することに加えて、擬似輪郭、開始遅れ、ワームノイズ、テクスチャーを解消できる。
【図面の簡単な説明】
【図1】本発明の実施の形態の画像処理装置を含む画像形成装置のブロック図である。
【図2】第1の実施の形態の画像処理装置のブロック図である。
【図3】入力画像情報値Aと負帰還変数Fbの関係の説明図である。
【図4】予測誤差フィードバック系の階調変換動作の説明図である。
【図5】入力画像情報値Bと量子化出力情報値Cの関係の説明図である。
【図6】第1、第3、第5、第7の実施の形態のマトリクス部の動作の説明図である。
【図7】第2の実施の形態の画像処理装置のブロック図である。
【図8】第3の実施の形態の画像処理装置のブロック図である。
【図9】第4の実施の形態の画像処理装置のブロック図である。
【図10】第4、第5,第6,第7の実施の形態のLUTの説明図である。
【図11】第5の実施の形態の画像処理装置のブロック図である。
【図12】第6の実施の形態の画像処理装置のブロック図である。
【図13】第7の実施の形態の画像処理装置のブロック図である。
【図14】第8の実施の形態の画像処理装置のブロック図である。
【図15】第8、第9の実施の形態のLUTの説明図である。
【図16】第9の実施の形態の画像処理装置のブロック図である。
【図17】入力画像情報値と量子化出力情報値の関係の説明図である。
【図18】入力画像情報値と量子化誤差の関係の説明図である。
【図19】誤差拡散法の動作概念の説明図である。
【図20】従来の画像処理装置のブロック図である。
【図21】擬似輪郭及びワームノイズの説明図である。
【図22】開始遅れの説明図である。
【図23】テクスチャーの説明図である。
【符号の説明】
1 加算器、2 乗算器、3 減算器、4 誤差バッファ、5 量子化器、6誤差拡散係数マトリクス、7 閾値設定部、8 加算器、9,10 セレクタ、11 減算器、12 Qs発生部、13 演算ユニット、14 マトリクス部、15 加算器、16 乱数発生器、17 加算器、20,21 LUT
【発明の属する技術分野】
本発明は、入力多値画像情報を、誤差拡散法を用いて階調数の少ない画像情報に変換する画像処理装置及び画像処理方法に関するものである。
【0002】
【従来の技術】
従来、2値以外の入力画像情報を、誤差拡散法(誤差分散法ともいう)を用いて量子化する方法としては、以下の例が知られている。
図17に、入力画像情報値と量子化後の出力情報値(量子化出力情報値)との関係を示している。
図17において、入力画像情報値は、補正誤差が加算されるため、0〜319までの範囲の値であるとする。そして入力画像情報値は、0、63、127、191、及び255の5値のうちのいずれかの値に量子化されるものとする。すなわち、量子化ステップサイズは64である。
【0003】
この例では、0〜63までの入力画像情報値は0の値に量子化される。同様に入力画像情報値として64〜127の値は63の値に、128〜191の値は127の値に、192〜255の値は191の値に、256〜319の値は255の値に、それぞれ量子化される。
【0004】
図18に、入力画像情報値と量子化によって発生する誤差(量子化誤差)との関係を示す。
図17及び図18において、例えば入力画像情報値が127であるとき、量子化後の値は127となり、量子化の前後での誤差は0である。また、入力画像情報値が127より大きくなり、例えば128であるときは、量子化後の値は127となるため、量子化による誤差は1となる。さらにまた、入力画像情報値が190であるときは、量子化により127の値に量子化されることで、誤差は最大値である63となる。このように、入力画像情報値の値によって、量子化により生じる誤差の値が異なることとなる。
このように、入力画像情報値を量子化した場合には、誤差が生じることとなるが、その誤差を周辺の画素に拡散させることで、量子化後の画像品位を高めるようにしている。
【0005】
図19により、誤差拡散法における一般的な技術を説明する。
図19において、量子化の対象となっている注目画素に着目して考える。図中、注目画素を*印で示す。
誤差拡散法では、この注目画素を量子化した場合に、誤差が発生したとき、その誤差を、注目画素の周囲の画素に拡散させる(誤差拡散法)。ここで、どの範囲までの画素に誤差を拡散させるかは種々の方法が挙げられるが、本例ではk1からk12までの12個の周囲の画素に対して、注目画素の誤差を拡散させている。
【0006】
また、誤差を拡散させるときの重み付けの方法についても、種々挙げられるが、図19に示すように、誤差拡散フィルタを用いて、例えばk1については7/48、k2については5/48・・・等のように所定の比率で拡散させる。例えば、注目画素で発生した誤差が10であるとしたとき、注目画素の図中、右側に隣接するk1の画素に対しては、10×7/48の誤差を拡散させる。
【0007】
図20は、以上のようにして誤差を拡散させるとともに、各画素について量子化を行う画像処理装置の一例のブロック図である。
この画像処理装置は、加算器201、乗算器202、減算器203、誤差バッファ(EB)204、量子化器(QT)205、誤差拡散係数マトリクス206を備える。
【0008】
或る1つの注目画素について量子化を行う場合、その注目画素には、それ以前の画素に対して量子化を行ったときに発生した誤差(累積誤差)が加算される。この誤差は、誤差バッファ204に蓄積されている。
注目画素の入力画像情報値A(Xn、Yn)が入力されると、その入力画像情報値A(Xn、Yn)に累積誤差E(Xn、Yn)が加算器201によって加算され、誤差補正済みの入力画像情報値B(Xn、Yn)が生成される。即ち、
B(Xn、Yn)=A(Xn、Yn)+E(Xn、Yn)
となる。
そして、この入力画像情報値B(Xn、Yn)が量子化器205によって量子化され、量子化出力情報値C(Xn、Yn)が出力される。例えば、上述した例において、B=128であるとき、C=127となる。
【0009】
また、累積誤差E(Xn、Yn)によって補正された入力画像情報値B(Xn、Yn)と、量子化出力情報値C(Xn、Yn)とが減算器203にそれぞれ入力され、両者の差が量子化の際の量子化誤差Eq(Xn、Yn)として算出される。即ち、
Eq(Xn、Yn)=B(Xn、Yn)−C(Xn、Yn)
となる。
この量子化誤差Eq(Xn、Yn)と、誤差拡散係数マトリクス206による誤差拡散係数とが、乗算器202に入力される。これにより、量子化誤差Eq(Xn、Yn)に誤差拡散係数が乗じられ、その値が累積誤差E(Xn、Yn)として誤差バッファ204に蓄積される。この累積誤差E(Xn、Yn)が周囲の画素に拡散される。
【0010】
以上のような誤差拡散法を用いて、原画像をその階調数よりも少ない階調数の画像に変換するときに、変換後の画像における各画素の輝度値と、原画像における各画素の輝度値との誤差を、周囲の画素に拡散させることによって、全体としては、原画像との輝度誤差が少ない画像が構成される。
なお、このような誤差拡散法は、次の文献に開示されている。
【0011】
【非特許文献1】”An Adaptive Algorithm for Spatial Gray Scale” SID DIGEST (1975年 Floid&Steinberg)
【0012】
【発明が解決しようとする課題】
しかしながら、上記のような技術で処理された画像情報を印刷に供した場合、以下に述べるように「擬似輪郭」「開始遅れ」「ワームノイズ」「テクスチャー」と呼ばれる現象が発生し、画像品質を低下させる場合があるという問題があった。
【0013】
<擬似輪郭>
擬似輪郭とは、グラデーションのように、画素の値がなだらかに変化するような画像を前述の誤差拡散法によって量子化した場合に、量子化の閾値付近で境界線が見えてしまう現象である。図21(a)に擬似輪郭の例を示している。
【0014】
これは次の理由により発生する。
複数の閾値を持つ5値誤差拡散において閾値をそれぞれ0、63、127、191、255とし、閾値=出力値である場合、そしてこの誤差拡散によってグラデーション領域にある各画素を順次量子化していく場合を考える。例えば入力画像情報値がスキャンの進行に従って漸増しながらある量子化閾値、例えば63から127に近づいていく場合、この間の出力値は63、及び、127の混在となり階調(又は濃度)は単位面積における2種類のドットの混入比率によって表現される。
スキャンの進行に伴って出力値が63のドットから1段上の出力値が127のドットの発生が活発化する。このために誤差バッファ204内の累積誤差が放出されて漸減していき、終には最小値になる。引き続き入力画素値がその閾値を超えて128になるとともに誤差補正(階調補正)のために、更に一段上の閾値を越えて値が191のドットを発生しなければならなくなり、そのための嵩上げ分として値が63以上の補正誤差が必要となる。
しかしこのとき誤差バッファ204には必要十分な量の誤差が残っておらず、スキャンが進行して誤差が蓄積されるまでの間、値が191のドットを発生できない状態に陥ることになる。これは即ち、誤差拡散の系に誤差バッファ204が介入することによって入力・出力間における応答に遅れが生じるためである。
これとは逆にスキャンの進行とともに入力画像情報値が徐々に小さくなってある閾値、例えば127を通過する場合、誤差バッファ204には必要以上の誤差が残っていて、不要な分を放出するまでの間は値が63のドットを出力できない状態が生じる。
このような理由から入力画像情報値がスキャンに従って徐々に量子化閾値を通過する場合、通過の直後から階調の“補正残し”が生じてしまい、それが原画像には存在しない輪郭(線)となって現れてしまう。
【0015】
<開始遅れ>
開始遅れとは、出力画像における誤差補正の開始遅れによるものであり、入力画像の階調の変化に誤差補正が追いつかなくなることによって、結果として出力画像の輪郭部に、その遅れ分がドット分布密度の差となって現れ、それがプリンタ等で印画された場合は濃度差となり、画像を歪ませてしまう現象である。図22(a)に開始遅れの例を示す。図示するように、階調が急変する部分(濃淡の差が顕著な部分)の境界において、誤差補正の遅れがドット密度の差となって現れるものである。
【0016】
これは、次の理由によって発生する。
例えば図20を用いて説明すると、量子化によって発生する誤差Eq(Xn、Yn)は入力画像情報値A(Xn、Yn)が量子化器QTにおける閾値からかけ離れているほど大きくなる。しかし、かけ離れている分だけ誤差補正(階調補正)が必要になり新規ドットの発生が活発化するために、誤差バッファ204内に蓄えられた誤差も消費されるので、結果として誤差バッファ204内の平均的な残留誤差値は小さい状態が保たれる。逆に、入力画像情報値が閾値に近い場合は量子化による発生誤差は小さいが誤差補正(階調補正)の必要性も小さい。もし補正を行う場合は小さな入力画像情報値に対する上乗せ値として大きな累積誤差E(Xn、Yn)が必要になる。このため誤差バッファ204内の平均的な残留誤差値は大きい状態が保たれる。
【0017】
例えば入力画像情報値A(Xn、Yn)が一定の状態が続き、誤差バッファ204内の平均残留誤差も一定に保たれている状態において、ある時点で突如入力画像情報値が大きく変化したとする。この局面において誤差バッファ204内に蓄積されている平均残留誤差値は大きすぎるか、又は小さすぎるかの何れかになる。大きすぎる場合は不要な分を放出するまで、また、小さすぎる場合は必要な分を蓄積するまでの間、前方画素の量子化を進めなければならない。そしてその間は誤差補正(量子化誤差による階調の補正)が機能しなくなり、部分的な誤差補正の遅れが生ずることになる。
この遅れによって、量子化出力としての出力画像情報値は誤差の補正が直ちに反映されたものとはならず、誤差補正が反映された画素が発生するのは、誤差バッファ204内の平均残留誤差が小さい入力画像情報値に加算されても一段上の閾値を超えるほどに増加したとき、又は、大きな入力画像情報値に加算されても最寄の閾値以下になるまで減少したときである。
このような理由から図22(a)のような開始遅れが発生する。
【0018】
<ワームノイズ>
ワームノイズとは、ドットが鎖状につながってワームのように見える状態になるものであり、例えば画像全体に現れる。図21(a)には、画像の一部を拡大して、鎖状にドットがつながったワームノイズを示している。
これは、誤差拡散処理において入力値を一定にした場合、発生誤差量や拡散フィルタの係数などに依存した固有のドット分布が生じるためである。
【0019】
<テクスチャー>
テクスチャーは、これもドットがつながる現象であり、誤差拡散処理において入力値を一定にした場合、発生誤差量や拡散フィルタの係数などに依存した固有のドット分布が生じるためである。特には、誤差バッファ204内の誤差の累積・放出に周期性が生ずることで、図23(a)の画像の右側ような周期性のドット分布(ドット配列)が見られるものとなる。なお、図23(a)における左側は、画像の左端でスキャンが折り返すために周期性が乱されている様子が現れている。
【0020】
以上の、擬似輪郭、開始遅れ、ワームノイズ、テクスチャーは、いずれも印刷画像の品質を損ねるものとなる。
【0021】
【課題を解決するための手段】
そこで本発明は、入力画像情報値を、誤差拡散法を用いて、入力画像情報値の階調数より少ない2以上の階調数の画像情報値に変換する画像処理装置、画像処理方法において、上記の擬似輪郭、開始遅れ、ワームノイズ、テクスチャーの発生を解消し、量子化後の画像品位を向上させることを目的とする。
【0022】
このため本発明の画像処理装置は、誤差補正を行う前の注目画素における入力画像情報値を量子化したときに発生が見込まれる予測誤差値としての量子化誤差値と量子化閾値間のレベル差との差の程度を求める演算値、即ち負帰還変数に、さらに加算変数を加算して得られる量子化制御変数を決定する制御変数決定手段を設ける。また、注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差のうち、注目画素に割り振られた補正誤差を決定する補正誤差決定手段と、注目画素の入力画像情報値に、上記補正誤差決定手段で決定された補正誤差の加算、及び上記制御変数決定手段で決定された量子化制御変数の加算または減算を行った値について、量子化閾値で量子化することにより、注目画素の入力画像情報値を、その階調数より少ない2以上の階調数の画像情報値に変換する量子化手段と、注目画素の入力画像情報値に上記補正誤差決定手段で決定された補正誤差を加算した値と、上記量子化手段で量子化された画像情報値との差である量子化誤差を、注目画素の後に量子化される周辺の画素に割り振る誤差拡散手段とを備えるようにする。
この場合、マトリクス構成で設定された数値群のうちから、注目画素の主走査アドレス、副走査アドレスを利用してマトリクス変数を選択的に決定するマトリクス手段を備え、該マトリクス手段で決定されたマトリクス変数が、上記加算変数とされる。
又は、乱数生成手段を備え、該乱数生成手段で生成された撹乱変数が、上記加算変数とされる。
又は、上記マトリクス手段と上記乱数生成手段を備え、上記制御変数決定手段は、上記加算変数として、上記マトリクス手段で決定されたマトリクス変数と上記乱数生成手段で生成された撹乱変数とを用いる。
【0023】
また本発明の画像処理装置は、上記同様の補正誤差決定手段、量子化手段、誤差拡散手段を備えるとともに、少なくとも、誤差補正を行う前の注目画素における入力画像情報値を量子化したときに発生が見込まれる予測誤差値としての量子化誤差値と量子化閾値間のレベル差との差の程度を示す演算値、即ち負帰還変数を用いた量子化制御変数を、入力画像情報値を参照して決定する制御変数決定手段を備える。
この場合、上記制御変数決定手段は、各入力画像情報値に対応して上記演算によって求めた負帰還変数を記憶していることで、入力画像情報値を参照して、上記負帰還変数を用いた量子化制御変数を決定できる構成とする。
【0024】
また、上記制御変数決定手段は、上記負帰還変数に、加算変数を加算して得られる値として量子化制御変数を決定する。
この場合、マトリクス構成で設定された数値群のうちから、注目画素の主走査アドレス、副走査アドレスを利用してマトリクス変数を選択的に決定するマトリクス手段を備え、該マトリクス手段で決定されたマトリクス変数が、上記加算変数とされるようにする。
或いは、乱数生成手段を備え、該乱数生成手段で生成された撹乱変数が、上記加算変数とされるようにする。
或いは、上記マトリクス手段と、上記乱数生成手段を備え、上記制御変数決定手段は、上記加算変数として、上記マトリクス手段で決定されたマトリクス変数と上記乱数生成手段で生成された撹乱変数とを用いる。
【0025】
また、上記制御変数決定手段は、上記負帰還変数に、加算変数を加算して得られる値としての量子化制御変数を、入力画像情報値と、注目画素の主走査アドレスと、副走査アドレスとを参照して決定する。
この場合、上記制御変数決定手段は、各入力画像情報値に対応する上記各負帰還変数毎に、上記加算変数としてマトリクス構成で設定された各マトリクス変数を加算した値を記憶していることで、入力画像情報値と、注目画素の主走査アドレス、副走査アドレスとに基づいて、量子化制御変数を決定できる構成とされる。
また、乱数生成手段を備える。そして上記制御変数決定手段は、上記各負帰還変数毎に、加算変数としてマトリクス構成で設定された各マトリクス変数を加算した値を記憶していることで、入力画像情報値と、注目画素の主走査アドレスと、副走査アドレスとに基づいて記憶値を得、さらに該記憶値に、上記乱数生成手段で生成された撹乱変数を加算変数として加算することで、量子化制御変数を決定する。
【0026】
本発明の画像処理方法は、誤差補正を行う前の注目画素における入力画像情報値を量子化したときに発生が見込まれる予測誤差値としての量子化誤差値と、量子化閾値間のレベル差との差の程度を示す演算値、即ち負帰還変数に、さらに加算変数を加算して得られる量子化制御変数を決定する制御変数決定手順と、注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差のうち、注目画素に割り振られた補正誤差を決定する補正誤差決定手順と、注目画素の入力画像情報値に、上記補正誤差決定手順で決定された補正誤差の加算、及び上記制御変数決定手順で決定された量子化制御変数の加算または減算を行った値について、量子化閾値で量子化することにより、注目画素の入力画像情報値を、その階調数より少ない2以上の階調数の画像情報値に変換する量子化手順と、注目画素の入力画像情報値に上記補正誤差決定手順で決定された補正誤差を加算した値と、上記量子化手順で量子化された画像情報値との差である量子化誤差を、注目画素の後に量子化される周辺の画素に割り振る誤差拡散手順とを具備する。
この場合、マトリクス構成で設定された数値群のうちから、注目画素の主走査アドレス、副走査アドレスを利用してマトリクス変数を選択的に決定するマトリクス手順を備え、該マトリクス手順で決定されたマトリクス変数を、上記加算変数とする。
又は、乱数生成手順を備え、該乱数生成手順で生成された撹乱変数を、上記加算変数とする。
又は、マトリクス手順と乱数生成手順を備え、上記制御変数決定手順では、上記加算変数として、上記マトリクス手順で決定されたマトリクス変数と上記乱数生成手順で生成された撹乱変数とを用いる。
【0027】
また本発明の画像処理方法は、制御変数決定手順と、上記同様の補正誤差決定手順、量子化手順、誤差拡散手順が行われるが、制御変数決定手順では、少なくとも、誤差補正を行う前の注目画素における入力画像情報値を量子化したときに発生が見込まれる予測誤差値としての量子化誤差値と、量子化閾値間のレベル差との差の程度を示す負帰還変数を用いた量子化制御変数を、入力画像情報値を参照して決定する。
この場合、上記制御変数決定手順では、各入力画像情報値に対応して上記負帰還変数を記憶していることで、入力画像情報値を参照して、上記負帰還変数を用いた量子化制御変数を決定する。
【0028】
また上記制御変数決定手順は、上記負帰還変数に、加算変数を加算して得られる値として量子化制御変数を決定する。
この場合、マトリクス構成で設定された数値群のうちから、注目画素の主走査アドレス、副走査アドレスを利用してマトリクス変数を選択的に決定するマトリクス手順を備え、該マトリクス手順で決定されたマトリクス変数が、上記加算変数とされる。
又は、乱数生成手順を備え、該乱数生成手順で生成された撹乱変数が、上記加算変数とされる。
又は、マトリクス手順と乱数生成手順を備え、上記制御変数決定手順は、上記加算変数として、上記マトリクス手順で決定されたマトリクス変数と上記乱数生成手順で生成された撹乱変数とを用いる。
【0029】
また上記制御変数決定手順では、上記負帰還変数に、加算変数を加算して得られる値としての量子化制御変数を、入力画像情報値と、注目画素の主走査アドレスと、副走査アドレスとを参照して決定する。
この場合、上記制御変数決定手順では、各入力画像情報値に対応する上記各負帰還変数毎に、加算変数としてマトリクス構成で設定された各マトリクス変数を加算した値を記憶していることで、入力画像情報値と、注目画素の主走査アドレス、副走査アドレスとに基づいて、量子化制御変数を決定する。
また乱数生成手順を備え、上記制御変数決定手順は、上記各負帰還変数毎に、加算変数としてマトリクス構成で設定された各マトリクス変数を加算した値を記憶していることで、入力画像情報値と、注目画素の主走査アドレスと、副走査アドレスとに基づいて記憶値を得、さらに該記憶値に、上記乱数生成手順で生成された撹乱変数を加算変数として加算することで、量子化制御変数を決定する。
【0030】
このような本発明においては、入力画像情報値を、誤差拡散法を用いて、入力画像情報値の階調数より少ない2以上の階調数の画像情報値に変換するものであり、基本的には、注目画素の入力画像情報値に、注目画素に割り振られた補正誤差、つまり誤差拡散処理で拡散された補正誤差を加算する。
ここでさらに、補正誤差が加算された注目画素の入力画像情報値に、量子化制御変数の加算または減算を行なう。そしてこの値を量子化閾値で量子化するものである。
そして、量子化制御変数としては、基本的には、誤差補正を行う前の注目画素における入力画像情報値を量子化したときに発生が見込まれる予測誤差値としての量子化誤差値と、量子化閾値間のレベル差との差の程度を示す演算によって求められる負帰還変数である。即ち、この負帰還変数、もしくは負帰還変数に加算変数を加算した値を、量子化制御変数とする。
上記負帰還変数を量子化制御変数として、補正誤差が加算された注目画素の入力画像情報値に加算または減算することは、入力画像情報値に対する量子化出力値との差を入力に負帰還して、ネガティブフィードバックとして作用させるものとなる。
また、負帰還変数に加算変数としてマトリクス変数や撹乱変数(乱数)を加算した値を量子化制御変数とすることは、発生誤差量や拡散フィルタの係数などに依存した固有のドット分布の解消に作用する。
【0031】
【発明の実施の形態】
以下、まず本発明の画像処理装置を搭載する画像形成装置について説明し、その後、本発明の第1〜第9の実施の形態としての画像処理装置(画像処理方法)を説明していく。
なお、第1〜第9の各実施の形態の画像処理装置を説明するにあたっては、その構成をハードウエア的に示すものであるが(例えば第1の実施の形態についての図2)、これは装置の実際の構成として、必ずしも各図に示すとおりのハードウエア構成を必要とすることを意味するものではない。つまり、各実施の形態でハードウエア的に説明する動作に相当する処理が行われるものであれば足り、いわゆるソフトウエア的な演算処理でも実現できる。例えば図2の構成に相当する画像処理装置は、実際にはマイクロプロセッサ等を用いて実現できる。
【0032】
<画像形成装置>
図1は、画像形成装置100の概略を示すブロック図である。画像形成装置100は、インクジェットプリンタ等のプリンタ装置であり、画像処理部120,印画ヘッド駆動部130,印画ヘッド140,印画紙搬送部150を備える。
【0033】
画像処理部120においては、画像情報が入力されると、その画像情報値に対して色変換処理や階調変換処理を行う。階調変換処理とは、入力画像情報値を、誤差拡散法を用いて、入力画像情報値の階調数より少ない2以上の階調数の画像情報値に変換した量子化出力情報値を得る処理であり、即ち後述する各実施の形態の画像処理装置によって実行される処理である。
【0034】
画像情報が画像処理部120に入力されると、画像処理部において色変換処理や階調変換処理が行われて量子化出力情報値が算出される。この量子化出力情報値が、印画ヘッド140を駆動制御するための印画ヘッド駆動部130に入力される。
印画ヘッド駆動部130は、量子化出力情報値に基づいて印画ヘッド140を駆動(インクを吐出)し、画像形成を行う。また、印画紙搬送部150は、画像形成に伴って、印画紙を所定方向に搬送する。
【0035】
例えばインクジェットプリンタの場合、量子化出力情報値に基づいて印画ヘッド140のオン/オフを行い、インクの吐出を制御する。量子化出力情報値が多値の場合、例えば、量子化した階調数に応じて画像のドットを形成することが挙げられる。より具体的には、量子化値が5値による表現を行う場合に、1回のインクの吐出で「63」の値の画素を表現し、2回のインクの吐出で「127」の値の画素を表現し、・・4回のインクの吐出で「255」の値の画素を表現するような制御である。
【0036】
<第1の実施の形態の画像処理装置:図2>
第1の実施の形態の画像処理装置の構成を図2に示す。
第1の実施の形態の画像処理装置は、図示するように加算器1、乗算器2、減算器3、誤差バッファ(EB)4、量子化器5、誤差拡散係数マトリクス6、閾値設定部7、加算器8、セレクタ9,10、減算器11、Qs(量子化閾値間レベル差)発生部12、演算ユニット13、マトリクス部14、加算器15を備える。
【0037】
セレクタ9,10は、同期して切換制御される。
先ず、誤差拡散以前において、注目画素の入力画像情報として入力画素データA(Xn、Yn)が入力されるときには、セレクタ9,10はそれぞれt1端子側に接続されている。
この場合において、入力画素データA(Xn、Yn)は、誤差補正が行われることなく、セレクタ9を通って量子化器5によってそのまま量子化される。
そして入力画素データA(Xn、Yn)と、量子化された値c(Xn、Yn)とは、それぞれ減算器11に入力され、この減算器11によって、入力画素データA(Xn、Yn)と量子化データc(Xn、Yn)との差である予測誤差としての量子化誤差e(Xn、Yn)が算出される。すなわち、
e(Xn、Yn)=A(Xn、Yn)−c(Xn、Yn)
となる。
なお、予測誤差e(予測誤差としての量子化誤差)とは、補正のための累積誤差を入力に加算しない状態で量子化した際に発生する誤差のことである。
この予測誤差e(Xn、Yn)は、演算ユニット13に入力される。
なお、このときの予測誤差e(Xn、Yn)は、
0<e(Xn、Yn)<Qs(量子化閾値間レベル差)
となる。
【0038】
また、Qs発生部12から閾値間レベル差としてのQs値が発生され、演算ユニット13に入力される。
閾値間レベル差Qsとは、量子化器5での閾値、つまり閾値設定部7で設定される閾値の間のレベル差の値である。例えば閾値が、63,127,191,255であるとしたときのQs値を図4に示している。量子化の際の閾値が変更されない限り、Qs発生部12は、Qs値として固定値を出力すればよい。
このQs値は、予測誤差eがとり得る最大値としての意味を持つ。
【0039】
演算ユニット13では、まずQs値と予測誤差e(Xn、Yn)の差(Qs−e)として、予測誤差eの補数をとる。これは、入力にフィードバックする変数として値をネガティブにするものである。
次に、補数(Qs−e)をQs値で除して正規化することで、負帰還率変数fb(0≦fb≦1.0)を求める。
さらに、上記fbに対して負帰還係数m(但し0<m<Qs)を乗算した演算値、即ち負帰還変数Fbを得る。即ち演算ユニット13では、
の演算を行う。
この負帰還変数Fb(Xn、Yn)は、予測誤差eと、量子化閾値間のレベル差Qsとの差の程度を示す値に相当するものである。
なお、0<m<1の範囲である負帰還係数mは、例えば0.75程度の値である。mの値は、処理される画像の種類等に応じて決定される。
【0040】
図3は、入力画素データA(Xn、Yn)と、負帰還変数Fb(Xn、Yn)との関係を示すグラフである。量子化閾値が上記の場合、入力画素データA(Xn、Yn)に対するFb(Xn、Yn)の値は、0〜Qs×mの範囲で変動することとなる。
【0041】
加算器15は、この負帰還変数Fb(Xn、Yn)に加算変数を加算する。この場合、マトリクス変数Mxyが加算変数とされる。
即ち、負帰還変数Fb(Xn、Yn)は、加算器15でマトリクス部14からのマトリクス変数Mxyと加算されて量子化制御変数とされ、加算器8に供給される。
なお、マトリクス部14及びマトリクス変数Mxyについては後述する。
【0042】
上記演算処理の後に誤差拡散を行う際には、セレクタ9,10はt2端子側に切り替えられる。
入力画素データA(Xn、Yn)は、加算器1に入力される。さらに加算器1には、誤差バッファ4に蓄積された誤差のうち、その入力画素データA(Xn、Yn)に対応する累積誤差E(Xn、Yn)が入力される。これにより、入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)が加算され、誤差補正が行われた入力画素データB(Xn、Yn)が算出される。すなわち、
B(Xn、Yn)=A(Xn、Yn)+E(Xn、Yn)
となる。
【0043】
ここで、誤差バッファ4に蓄積された誤差のうち、入力画素データA(Xn、Yn)に対応する累積誤差E(Xn、Yn)は、補正誤差(注目画素を量子化する以前に量子化された画素によって発生した量子化誤差のうち、注目画素に割り振られた誤差)に相当するものである。この誤差は、入力画素データA(Xn、Yn)が量子化される前に決定される。
【0044】
算出された入力画素データB(Xn、Yn)は、加算器8に入力される。上述のように加算器8には負帰還変数Fb(Xn、Yn)にマトリクス変数Mxyが加算されて得られた量子化制御変数Fb(Xn、Yn)+Mxyも供給される。
この結果、加算器8により、B(Xn、Yn)+Fb(Xn、Yn)+Mxyの値が算出され、この値がセレクタ9を介して量子化器5に入力される。
量子化器5では閾値設定部7によって量子化閾値が設定されており、入力される値を、その量子化閾値に従って量子化する。
量子化器5によって量子化された値は、量子化出力データC(Xn、Yn)として、セレクタ10を介して出力される。
図1を参照していえば、この量子化出力データC(Xn、Yn)が印画ヘッド駆動部130に供給されることになる。
【0045】
また、量子化出力データC(Xn、Yn)は、周辺画素への誤差拡散のために、減算器3に入力される。
減算器3には、量子化出力データC(Xn、Yn)の他、誤差補正済みの入力画素データB(Xn、Yn)が入力される。これにより、両者の差が算出され、量子化誤差Eq(Xn、Yn)が生成される。すなわち、
Eq(Xn、Yn)=B(Xn、Yn)−C(Xn、Yn)
となる。
【0046】
この量子化誤差Eq(Xn、Yn)は、乗算器2に入力されて、注目画素の後に量子化される周辺画素に所定の重み付けを行うため、誤差拡散係数マトリクス6からの係数として、周辺画素ごとに所定の誤差拡散係数が乗じられる。これにより、累積誤差E(Xn、Yn)が算出され、誤差バッファ4に蓄積される。誤差バッファ4に蓄積された累積誤差E(Xn、Yn)は、きたる画素の量子化の際の補正値として利用される。
【0047】
すなわち、各注目画素が量子化されるときには量子化誤差Eqが発生し、その量子化誤差Eqは、その注目画素の後に量子化される周辺の画素に割り振られ、誤差バッファ4に蓄積されていく。そして、ある1つの注目画素が量子化されるときには、その1つの注目画素以前に量子化された画素によって発生した量子化誤差Eqのうち、その1つの注目画素に割り振られた全ての量子化誤差Eqである累積誤差Eが誤差バッファ4に蓄積されており、1つの注目画素の量子化時に、その注目画素の入力画素データA(Xn、Yn)に加算され、誤差補正済みの入力画素データB(Xn、Yn)が算出されることとなる。
【0048】
ここまでの説明において、加算器1によって入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)を加算して、誤差補正済みの入力画素データB(Xn、Yn)を得る構成は、図20の従来例で説明したものと同様である。
これに対して本例では、さらに、予測誤差eと、量子化閾値間のレベル差Qsとの差の程度を示す値である演算値、即ち負帰還変数Fb(Xn、Yn)を用いた量子化制御変数を算出し、加算器8で入力画素データB(Xn、Yn)に加算している。
さらにこの量子化制御変数は、負帰還変数Fb(Xn、Yn)にマトリクス変数Mxyを加算して得ているものである。
ここで、マトリクス変数Mxyについては後述することとし、まず、負帰還変数Fb(Xn、Yn)を用いた量子化制御変数の加算、即ち予測誤差フィードバック系を備えたことによる階調変換動作について図4で説明しておく。
【0049】
図4(a)は、このような予測誤差フィードバック系を適用しない場合、図4(b)は予測誤差フィードバック系を適用した場合の動作説明図である。
まず図4(a)において、入力画素データA=「100」であったとする。
この場合、図示のように累積誤差Eが加算されても、閾値「127」を越えなかったとすると、「63」に量子化される。つまり量子化出力データC=「63」である。
一方、図4(b)では、入力画素データA=「100」に対して、図示のように累積誤差Eと、負帰還変数Fbが加算されることで、その値が閾値「127」を越えたとすると、「127」に量子化される。つまり量子化出力データC=「127」である。
もちろんこのような具体例は、累積誤差Eや負帰還変数Fbの値によって変化するが、例えばこの例のように、量子化出力データは、予測誤差フィードバック系の適用により調整される。
【0050】
図5は、入力画素データB(Xn、Yn)と、量子化出力データC(Xn、Yn)との関係を示すグラフである。図5に示すように、上記のようにして予測誤差フィードバック系を適用して量子化することで、量子化器5の閾値が最大Qs×mの範囲で変動することと等価になる。
したがって、例えば、閾値に近い値がわずかの差をもって漸増連続するグラデーションのような入力画像を量子化する場合において、バッファ内の累積誤差Eが小さい値であっても、1つ上の閾値に量子化される確率が高まることになる。よって、閾値通過直後や入力画像の値が急変するような場合においても新規ドットの発生が活性化されるので誤差補正(階調補正)の遅れを生じることなく原画像を滑らかに再現することができる。
【0051】
本例においては、このように、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である負帰還変数Fb(Xn、Yn)を用いた量子化制御変数を入力画素データB(Xn、Yn)に加算していること、即ち発生誤差予測に基づく変数による入力への負帰還を行うことで、いわゆる擬似輪郭と開始遅れを解消することができる。
【0052】
“擬似輪郭”と“開始遅れ”は共に過渡現象であって、何れの場合も入力変化による誤差の蓄積・放出の遅れが原因であり、誤差バッファ4内に蓄積されている誤差量が変動するということは誤差拡散出力における階調が歪んでいるということである。従って、入力の如何なる変化に対しても誤差補正が追従するように系の応答特性を改善することがドット散布の遅れを解消する上での要となる。
一例として誤差の発生が小さいと見込まれる画素ほど、その値を最寄りの閾値から遠ざけて隣の閾値(例えば1段上の閾値)に近づく方向に嵩上げしてやることで閾値付近での新規ドットの発生を活性化させることが考えられ、そのためには予測される誤差の大きさに応じてアダプティヴに、且つ、相対的に階調変換の閾値を変化させることが効果的である。結果として誤差バッファ4内に蓄積されている誤差が常に少ない一定の量に保たれるようになることが期待される。
【0053】
このため具体的には、誤差補正前の注目画素に対する階調変換誤差を予め予測しておき、その値を基にした変数を入力に加える。
即ち、その変数をネガティヴに入力にフィードバックすることによって閉ループを構成して過渡応答特性を改善する。言い換えると誤差拡散系において、出力に生ずる歪(誤差)を入力に戻してやることで歪をキャンセルする、ネガティヴ・フィードバック・システムとして作用させる。
全ての画素が取り得る誤差の最大値(Qs)から注目画素の発生誤差予測値(e=入力−閾値間レベル)を引いた値、即ち誤差予測値の補数を、誤差補正を済ませた階調変換前の多階調注目画素値に上乗せすることによって相対的に閾値のオフセットを変動させる。
【0054】
このような処理により、入力に対しては見かけ上の誤差が最大値近くになるように閾値が変動し、その上で誤差補正された多階調注目画素の階調変換が行われる。
なお、この際、閾値を誤差予測値の補数に100%追従して変動させてしまうと(負帰還率を100%にすると)リンギングによる新たな擬似輪郭が問題となるので、負帰還変数Fbの絶対値=Qsとならないよう、且つ出力画像において最良の状態が得られる負帰還係数m(0 < m <1.0)を予測誤差の補数(Qs−e(Xn、Yn))に乗じた変数をフィードバックする。
【0055】
この結果、閾値通過直後における誤差補正の過渡応答特性が改善されて階調の補正残し(出力画像の歪)が解消される。
また、閾値通過時のみならず入力画像の突然の階調変化に伴って、発生誤差量が著しく変化するような局面においても、素早く補正を開始することが可能になり、擬似輪郭の抑制に対して顕著な効果が見られるばかりでなく“開始遅れ”に対しても改善効果が得られる。図21(b)に擬似輪郭が解消された画像を示し、また図22(b)に開始遅れが解消された画像を示している。
【0056】
以上のように本例では、まず負帰還変数Fbを用いた量子化制御変数を、補正済の入力画素データBに加算することで、擬似輪郭及び開始遅れを改善できるものであるが、さらに、ワームノイズ対策として、マトリクス変数Mxyを用いている。
つまり、量子化制御変数は、負帰還変数Fbに対する加算変数としてマトリクス変数Mxyを加算したものとしている。
【0057】
図2に示すマトリクス部14は、(X0、Y0)〜(Xn、Yn)のn×n個の数値を備えた数値群とされる。今、一例として、4×4の数値群であるとして説明する。
この場合、例えば図6(b)に一具体例を示すように、4×4のマトリクスとして、「0」〜「15」のマトリクス変数が設定される。
【0058】
また、入力画像情報としては、図6(a)のように1024×512(PIX:ピクセル)の画像を形成するデータであるとする。
この場合、画像データの主走査には、1024PIXのために10ビットのカラムアドレス(column address)が用いられる。一方、画像データの副走査には、512PIXのために9ビットのロウアドレス(row address)が用いられる。
【0059】
ここで、4×4の数値群を備えたマトリクス部14は、図6(a)のように1024×512(PIX)における4×4(PIX)のブロックBK11、BK12・・・に対応するものとされる。
即ち、例えばブロックBK11についてみると、ブロックBK11には画素PIX(1,1)、PIX(2,1)、PIX(3,1)、PIX(4,1)、PIX(1,2)、PIX(2,2)、PIX(3,2)、PIX(4,2)、PIX(1,3)、PIX(2,3)、PIX(3,3)、PIX(4,3)、PIX(1,4)、PIX(2,4)、PIX(3,4)、PIX(4,4)が含まれるが、これらの各画素に対応して、図6(c)のように数値が割当てられる。つまり、各画素に対応して、マトリクス部14から割り当てられた数値がマトリクス変数Mxyとして出力される。
例えば画素PIX(1,1)の入力画素データAが入力される場合は、マトリクス部14からマトリクス変数Mxy=「0」が出力される。
また画素PIX(2,1)の入力画素データAが入力される場合は、マトリクス部14からマトリクス変数Mxy=「4」が出力される。
【0060】
このようなマトリクス変数Mxyを発生させるためには、マトリクス部14が図6(b)のようにマトリクス構成で数値を記憶しておき、それを画像情報の主走査、副走査に用いるカラムアドレス・ロウアドレスを用いて読み出すようにすればよい。
具体的には、図6(a)の画像データの走査には10ビットのカラムアドレスと9ビットのロウアドレスが用いられるが、これらのアドレスの下位2ビットは、4×4のマトリクス、つまりブロックBK内の画素を示すものとなる。
従って、同様に4×4のマトリクス構成の数値群とされたマトリクス部14に対しては、カラムアドレスの下位2ビット、及びロウアドレスの下位2ビットが供給されるようにすれば、上記のように入力画素データAに対応して、或る数値とされたマトリクス変数Mxyを出力することができるものとなる。
なお、もちろんマトリクス部14は4×4のマトリクス構成でなくても良い。
【0061】
そして、このように発生されるマトリクス変数Mxyは、加算器15で負帰還変数Fbに加算されて、量子化制御変数として加算器8に供給され、入力画素データBに加算される。
即ち、上述の予測誤差フィードバックのための負帰還変数Fbに、ディザ・マトリクス係数を加えて閾値を変調するものであるといえる。
【0062】
このように、量子化閾値をディザ・マトリクス係数によって変調することで、画像全域に見られる鎖状に繋がるドットを分断することができる。
その結果、ワームノイズは縦横に散らされて目立たなくなるともに閾値付近の再現性において自然さを増すことができる。図21(b)にワームノイズが解消された画像を示している。
【0063】
以上のように第1の実施の形態では、加算器1によって入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)を加算して、誤差補正済みの入力画素データB(Xn、Yn)を得るようにするとともに、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である演算値、即ち負帰還変数Fb(Xn、Yn)を用いた量子化制御変数を算出し、加算器8で入力画素データB(Xn、Yn)に加算する。さらにこの量子化制御変数は、負帰還変数Fb(Xn、Yn)にマトリクス変数Mxyを加算して得ているものである。
【0064】
また、このような図2に示した第1の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に次の手順S11〜S14を有する画像処理方法が行われることとなる。
[S11]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す演算値である負帰還変数Fb(Xn、Yn)に、さらにマトリクス変数Mxyを加算して得られる量子化制御変数を決定する。
この場合、マトリクス部14でマトリクス構成で設定された数値群のうちから、注目画素のカラムアドレス、ロウアドレスを利用して数値を選択的に決定し、決定された数値を、上記マトリクス変数Mxyとする。
[S12]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S13]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)+Mxyの加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S14]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0065】
このような第1の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れ、ワームノイズが解消された量子化出力データCを得ることができる。
【0066】
<第2の実施の形態>
次に、図7により第2の実施の形態について説明する。なお、上記図2と同一部分については同一符号を付し、説明を省略する。
【0067】
この第2の実施の形態では、第1の実施の形態(図2)のマトリクス部14に代えて乱数生成部16を設けたことが異なるものとなる。
乱数生成部16では、乱数値としての撹乱変数Rndを発生させ、それを加算変数として加算器15に出力する。
加算器15では、演算ユニット13で算出された負帰還変数Fb(Xn、Yn)に対する加算変数として撹乱変数Rndを加算する。即ちこの場合、加算器8に供給される量子化制御変数は、Fb(Xn、Yn)+Rndとなる。
【0068】
従ってこの第2の実施の形態では、加算器1によって入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)を加算して、誤差補正済みの入力画素データB(Xn、Yn)を得るようにするとともに、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である演算値、即ち負帰還変数Fb(Xn、Yn)を用いた量子化制御変数を算出し、加算器8で入力画素データB(Xn、Yn)に加算する。さらにこの量子化制御変数は、負帰還変数Fb(Xn、Yn)に乱数による撹乱変数Rndを加算して得ているものである。
【0069】
また、この図7に示した第2の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に、次の手順S21〜S24を有する画像処理方法が行われる。
[S21]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す演算値、即ち負帰還変数Fb(Xn、Yn)に、さらに撹乱変数Rndを加算して得られる量子化制御変数を決定する。
この場合、乱数生成部16で発生された乱数を撹乱変数Rndとする。
[S22]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S23]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)+Rndの加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S24]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0070】
このような第2の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れ、テクスチャーが解消された量子化出力データCを得ることができる。
擬似輪郭及び開始遅れについては、第1の実施の形態と同様の理由により解消される。
【0071】
テクスチャーについては、乱数による誤差累積周期の撹乱によって解消されるものとなる。
例えば閾値に近い、ある一定の入力値をもつ画像に誤差拡散を施すと図23(a)で示すような周期性のドット分布が現れることは既に述べた。
これは入力が一定という条件によって誤差バッファ4内の誤差の累積・放出に周期性が生じるためであり、図23(a)の左半分は画像の左端でスキャンが折り返すためにその周期が乱されている様子が伺える。
この現象を改善するには同様にして画像全域に渡ってその周期を撹乱する必要がある。
そのための変数としてはマトリクス変数などの値が周期性をもつものでは効果を得ることが難しく、ここでは実現の容易性を考慮しながら一般的に知られる方法として、ランダム変数を負帰還変数(閾値の制御変数)に更に加えることとしている。
この結果、画像全域に渡って周期性が撹乱され、図23(b)のようにテクスチャーが解消された画像を得ることができる。
【0072】
なお、乱数の量を多くすると、同時にワームノイズも解消できるが、乱数の量が多すぎる場合、出力画像にザラツキ感がでてくる。画像のザラツキをなくすことを優先させる場合は、乱数を必要最小限に丸めることが好適である。
【0073】
<第3の実施の形態>
次に、図8により第3の実施の形態について説明する。なお、上記図2、図7と同一部分については同一符号を付し、説明を省略する。
【0074】
この第3の実施の形態では、第1の実施の形態(図2)で述べたマトリクス部14と、第2の実施の形態(図7)で述べた乱数生成部16の両方を備える。
マトリクス部14は、カラムアドレス、ロウアドレスに従って読み出される数値をマトリクス変数Mxyとして加算器17に出力する。
乱数生成部16では、乱数値を発生させ、それを撹乱変数Rndとして加算器17に出力する。
加算器17では、演算ユニット13で算出された負帰還変数Fb(Xn、Yn)に対する加算変数として、撹乱変数Rnd、及びマトリクス変数Mxyを加算する。即ちこの場合、加算器8に供給される量子化制御変数は、Fb(Xn、Yn)+Mxy+Rndとなる。
【0075】
従ってこの第3の実施の形態では、加算器1によって入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)を加算して、誤差補正済みの入力画素データB(Xn、Yn)を得るようにするとともに、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である演算値、即ち負帰還変数Fb(Xn、Yn)を用いた量子化制御変数を算出し、加算器8で入力画素データB(Xn、Yn)に加算する。さらにこの量子化制御変数は、負帰還変数Fb(Xn、Yn)に乱数による撹乱変数Rnd及びマトリクス変数Mxyを加算して得ているものである。
【0076】
また、この図8に示した第3の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に、次の手順S31〜S34を有する画像処理方法が行われる。
[S31]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す演算値である負帰還変数Fb(Xn、Yn)に、さらに加算変数を加算して得られる量子化制御変数を決定する。
この場合、マトリクス部14から出力されるマトリクス変数Mxyと、乱数生成部16で発生された乱数による撹乱変数Rndの両方を、加算変数として負帰還変数Fb(Xn、Yn)に加算する。
[S32]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S33]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)+Rnd+Mxyの加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S34]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0077】
このような第3の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れ、ワームノイズ、テクスチャーが解消された量子化出力データCを得ることができる。
擬似輪郭、開始遅れ、ワームノイズについては、第1の実施の形態と同様の理由により解消される。
テクスチャーについては、第2の実施の形態と同様の理由により解消される。
【0078】
<第4の実施の形態>
図9に第4の実施の形態の構成を示す。
この場合、画像処理装置には、図示するように加算器1、乗算器2、減算器3、誤差バッファ4、量子化器5、誤差拡散係数マトリクス6、閾値設定部7、加算器8、LUT(LOOK UP TABLE)20を備える。
【0079】
この第4の実施の形態では、加算器1によって入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)を加算して、誤差補正済みの入力画素データB(Xn、Yn)を得ること、及び減算器3、乗算器2,誤差拡散係数マトリクス6、誤差バッファ4で誤差拡散を行うことは、上記各実施の形態と同様である。
【0080】
この第4の実施の形態の場合、量子化制御変数を、入力画素データA(Xn、Yn)に基づいてLUT20から得るようにし、加算器8において入力画素データB(Xn、Yn)に加算するようにしている。
即ちLUT20は、上記した各実施の形態における、減算器11,Qs発生部12、演算ユニット13に相当する機能を実現する。
【0081】
この場合の量子化制御変数は、予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す値である演算値、即ち負帰還変数Fb(Xn、Yn)としている。上述のようにFb(Xn、Yn)=m((Qs−e(Xn、Yn))/Qs)である。
ここで、量子化閾値が固定されていればQs値は固定である。
また入力画素データA(Xn、Yn)に対する量子化出力データc(Xn、Yn)も予めわかる。従って、入力画素データA(Xn、Yn)の値に応じた予測誤差e(Xn、Yn)の値は、予め算出することができる。
そして、Qs値も固定であれば、負帰還変数Fb(Xn、Yn)は、入力画素データA(Xn、Yn)の値に応じて予め算出しておくことができる。
【0082】
そこで、ROM又はRAMによりLUT20を構成し、このLUT20にはテーブルデータとして、図10に示すように、入力画素データA(Xn、Yn)の値(例えば「0」〜「319」)に対応させて、それぞれ算出された負帰還変数Fb(Xn、Yn)、例えばFb(0)〜Fb(319)を記憶しておく。
すると、LUT20は、入力画素データA(Xn、Yn)が入力されると、その値を参照してテーブルデータを検索し、対応する負帰還変数Fb(Xn、Yn)を読み出して出力することができる。
このようにLUT20から読み出された負帰還変数Fb(Xn、Yn)が、量子化制御変数として加算器8に供給され、入力画素データB(Xn、Yn)に加算される。
【0083】
つまりこの第4の実施の形態では、加算器1によって入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)を加算して、誤差補正済みの入力画素データB(Xn、Yn)を得るようにするとともに、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である負帰還変数Fb(Xn、Yn)を量子化制御変数として、入力画素データA(Xn、Yn)の値を参照して決定する。
特に、LUT20にテーブルデータとして入力画素データA(Xn、Yn)の値に対応した負帰還変数Fb(Xn、Yn)を記憶しておくことで、入力画素データA(Xn、Yn)の値を参照して量子化制御変数を決定できるようにしている。
【0084】
また図9に示した第4の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に次の手順S41〜S44を有する画像処理方法が行われる。
[S41]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す演算値である負帰還変数Fb(Xn、Yn)をそのまま量子化制御変数として、入力画素データA(Xn、Yn)の値を参照して決定する。
この場合、LUT20に入力画素データA(Xn、Yn)の値に対応した負帰還変数Fb(Xn、Yn)を記憶しておくことで、入力画素データA(Xn、Yn)の値を参照して量子化制御変数を決定できるようにしている。
[S42]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S43]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)の加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S44]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0085】
このような第4の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れが解消された量子化出力データCを得ることができる。
擬似輪郭、開始遅れが解消できるのは、第1の実施の形態で説明した予測誤差フィードバック系の作用を、LUT20により実現することによる。
また、この第4の実施の形態の場合、例えば図2等に示した減算器11、Qs発生部12、演算ユニット13、セレクタ9,10の構成が不要となることで、構成の大幅な簡略化が実現できる。また負帰還変数Fbは、単にLUT20から読み出せばよく、負帰還変数Fbを得るための演算処理も不要であるため、演算処理負担の軽減、処理の高速化を実現できる。
【0086】
<第5の実施の形態>
第5の実施の形態の構成を図11に示す。
これは、上記図9の構成に、図2で説明したマトリクス部14及び加算器15を加えたものである。
そして入力画素データA(Xn、Yn)の値に応じてLUT20から出力された負帰還変数Fb(Xn、Yn)と、マトリクス部14においてカラムアドレス、ロウアドレスに応じて読み出された数値としてのマトリクス変数Mxyが加算器15で加算されて、加算器8に供給される。
【0087】
つまりこの第5の実施の形態では、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である負帰還変数Fb(Xn、Yn)を入力画素データA(Xn、Yn)の値を参照してLUT20により決定し、さらにその値に加算変数としてマトリクス変数Mxyを加算して量子化制御変数とするものである。
そして加算器8で、誤差補正済の入力画素データB(Xn、Yn)に量子化制御変数Fb(Xn、Yn)+Mxyが加算され、量子化器5に入力される。量子化器5からは量子化出力データC(Xn、Yn)が出力される。
【0088】
このような図11に示した第5の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に、次の手順S51〜S54を有する画像処理方法が行われる。
[S51]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す負帰還変数Fb(Xn、Yn)を入力画素データA(Xn、Yn)の値を参照して決定した後、さらにマトリクス変数Mxyを加算して量子化制御変数を決定する。
この場合、LUT20に入力画素データA(Xn、Yn)の値に対応した負帰還変数Fb(Xn、Yn)を記憶しておくことで、入力画素データA(Xn、Yn)の値を参照して量子化制御変数を決定できるようにしている。
また加算変数であるマトリクス変数Mxyは、マトリクス部14でマトリクス構成で設定された数値群のうちから、注目画素のカラムアドレス、ロウアドレスを利用して数値を選択的に決定する。
[S52]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S53]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)+Mxyの加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S54]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0089】
このような第5の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れ、ワームノイズが解消された量子化出力データCを得ることができる。
また、上記第4の実施の形態と同様、構成の簡略化、演算負担の軽減、演算処理の高速化を実現できる。
【0090】
<第6の実施の形態>
第6の実施の形態の構成を図12に示す。
これは、上記図9の構成に、図7で説明した乱数生成部16及び加算器15を加えたものである。
そして入力画素データA(Xn、Yn)の値に応じてLUT20から出力された負帰還変数Fb(Xn、Yn)と、乱数生成部16で発生される乱数値による撹乱変数Rndが、加算器15で加算されて、加算器8に供給される。
【0091】
つまりこの第6の実施の形態では、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である負帰還変数Fb(Xn、Yn)を入力画素データA(Xn、Yn)の値を参照してLUT20により決定し、さらにその値に加算変数としての撹乱変数Rndを加算して量子化制御変数とするものである。
そして加算器8で、誤差補正済の入力画素データB(Xn、Yn)に量子化制御変数Fb(Xn、Yn)+Rndが加算され、量子化器5に入力される。量子化器5からは量子化出力データC(Xn、Yn)が出力される。
【0092】
このような図12に示した第6の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に、次の手順S61〜S64を有する画像処理方法が行われる。
[S61]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す演算値である負帰還変数Fb(Xn、Yn)を入力画素データA(Xn、Yn)の値を参照して決定した後、さらに撹乱変数Rndを加算して量子化制御変数を決定する。
この場合、LUT20に入力画素データA(Xn、Yn)の値に対応した負帰還変数Fb(Xn、Yn)を記憶しておくことで、入力画素データA(Xn、Yn)の値を参照して量子化制御変数を決定できるようにしている。
また撹乱変数Rndは、乱数生成部16で発生させる。
[S62]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S63]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)+Rndの加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S64]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0093】
このような第6の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れ、テクスチャーが解消された量子化出力データCを得ることができる。
また、上記第4の実施の形態と同様、構成の簡略化、演算負担の軽減、演算処理の高速化を実現できる。
【0094】
<第7の実施の形態>
第7の実施の形態の構成を図13に示す。
これは、上記図9の構成に、図2で説明したマトリクス部14及び図7で説明した乱数生成部16及び加算器17を加えたものである。
そして入力画素データA(Xn、Yn)の値に応じてLUT20から出力された負帰還変数Fb(Xn、Yn)と、マトリクス部14においてカラムアドレスとロウアドレスによって選択された数値によるマトリクス変数Mxyと、乱数生成部16で発生される乱数値による撹乱変数Rndが、加算器17で加算されて、加算器8に供給される。
【0095】
つまりこの第7の実施の形態では、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である負帰還変数Fb(Xn、Yn)を入力画素データA(Xn、Yn)の値を参照してLUT20により決定し、さらにその値に対する加算変数として、マトリクス変数Mxy、及び撹乱変数Rndを加算して量子化制御変数を得るものである。
そして加算器8で、誤差補正済の入力画素データB(Xn、Yn)に量子化制御変数Fb(Xn、Yn)+Mxy+Rndが加算され、量子化器5に入力される。量子化器5からは量子化出力データC(Xn、Yn)が出力される。
【0096】
このような図13に示した第7の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に、次の手順S71〜S74を有する画像処理方法が行われる。
[S71]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す負帰還変数Fb(Xn、Yn)を入力画素データA(Xn、Yn)の値を参照して決定した後、さらに加算変数を加算して量子化制御変数を決定する。
この場合、LUT20に入力画素データA(Xn、Yn)の値に対応した負帰還変数Fb(Xn、Yn)を記憶しておくことで、入力画素データA(Xn、Yn)の値を参照して量子化制御変数を決定できるようにしている。
また、マトリクス部14から出力されるマトリクス変数Mxyと、乱数生成部16で発生された乱数による撹乱変数Rndの両方を、加算変数として負帰還変数Fb(Xn、Yn)に加算する。
[S72]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S73]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)+Mxy+Rndの加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S74]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0097】
このような第7の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れ、ワームノイズ、テクスチャーが解消された量子化出力データCを得ることができる。
また、上記第4の実施の形態と同様、構成の簡略化、演算負担の軽減、演算処理の高速化を実現できる。
【0098】
<第8の実施の形態>
図14に第8の実施の形態の構成を示す。
この場合、画像処理装置には、図示するように加算器1、乗算器2、減算器3、誤差バッファ4、量子化器5、誤差拡散係数マトリクス6、閾値設定部7、加算器8、LUT21を備える。
【0099】
この第8の実施の形態では、加算器1によって入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)を加算して、誤差補正済みの入力画素データB(Xn、Yn)を得ること、及び減算器3、乗算器2,誤差拡散係数マトリクス6、誤差バッファ4で誤差拡散を行うことは、上記各実施の形態と同様である。
【0100】
この第8の実施の形態の場合、量子化制御変数をLUT21から得るようにし、加算器8において入力画素データB(Xn、Yn)に加算するようにしている。
特に、LUT21は、上記した第2の実施の形態における、減算器11,Qs発生部12、演算ユニット13、マトリクス部14、加算器15に相当する機能を実現する(マトリクス部14は設けられず、LUT21によりマトリクス部14の機能を含めた動作が行われる)。
【0101】
この場合の量子化制御変数は、予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す値である演算値、即ち負帰還変数Fb(Xn、Yn)に、マトリクス構成の数値がカラムアドレスとロウアドレスによって選択されたマトリクス変数Mxyを加算したものとしている。
【0102】
ここで、負帰還変数Fb(Xn、Yn)は、入力画素データA(Xn、Yn)の値に応じて算出しておくことができることは、上記第4の実施の形態の説明において述べた。
また、第1の実施の形態において述べたマトリクス部14においては、例えば4×4のマトリクスで構成される数値がカラムアドレスとロウアドレスによって選択される。
【0103】
そこで、ROM又はRAMによりLUT21を構成し、このLUT21にはテーブルデータとして、図15に示すように、入力画素データA(Xn、Yn)の値(例えば「0」〜「319」)に対応させて、それぞれ算出された負帰還変数Fb(Xn、Yn)、例えばFb(0)〜Fb(319)を記憶しておく。
さらに、負帰還変数Fb(0)〜Fb(319)のそれぞれについては、マトリクス変数Mxyに相当する16種類の数値(X0,Y0)〜(Xn,Yn)、即ち例えば図6(b)に示した各値を加算した値を予め計算して記憶しておく。
【0104】
例えば図15のように、入力画素データA=「0」に対応しては、負帰還変数Fb(0)が予め算出できるが、さらに、負帰還変数Fb(0)にマトリクス変数(X0,Y0)〜マトリクス変数(Xn,Yn)をそれぞれ加算した値を、記憶しておく。
つまり、4×4のマトリクス変数を採用する場合は、1つの入力画素データAについて、対応する負帰還変数Fbにそれぞれ16個の各マトリクス変数を加算して得た16個のデータを記憶させるようにする。
これを例えば入力画素データAとしての「0」〜「319」のすべてについて同様に値を算出して記憶しておく。
【0105】
すると、LUT21は、入力画素データA(Xn、Yn)が入力されると、その値を参照してテーブルデータを検索し、対応する負帰還変数Fb(Xn、Yn)にマトリクス変数Mxyが加算された16個から成る量子化制御変数のグループを決定でき、さらに、カラムアドレスとロウアドレスによって、16個の値の中から1つを選択することができる。
このようにLUT21から読み出される値は量子化制御変数、即ち負帰還変数Fb(Xn、Yn)+マトリクス変数Mxyであり、これが量子化制御変数として加算器8に供給され、入力画素データB(Xn、Yn)に加算される。
【0106】
つまりこの第8の実施の形態では、加算器1によって入力画素データA(Xn、Yn)に累積誤差E(Xn、Yn)を加算して、誤差補正済みの入力画素データB(Xn、Yn)を得るようにするとともに、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である負帰還変数Fb(Xn、Yn)に、マトリクス変数Mxyを加算した値を量子化制御変数とするが、この量子化制御変数を、入力画素データA(Xn、Yn)の値及びカラムアドレスとロウアドレスを参照して決定する。
特に、LUT21に上記図15のようなテーブルデータを形成することで、入力画素データA(Xn、Yn)の値と、カラムアドレスとロウアドレスに従って、量子化制御変数を決定できるようにしている。
【0107】
このような図14に示した第8の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に次の手順S81〜S84を有する画像処理方法が行われる。
[S81]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す負帰還変数Fb(Xn、Yn)にマトリクス変数Mxyを加算した値を量子化制御変数として、入力画素データA(Xn、Yn)の値及びカラムアドレスとロウアドレスを参照して決定する。
この場合、各入力画素データAの値に対応する各負帰還変数Fb毎に、マトリクス構成で設定されたマトリクス変数Mxyとしての各数値を加算した値を記憶していることで、入力画素データAの値と、注目画素の主走査アドレス(カラムアドレス)、副走査アドレス(ロウアドレス)とに基づいて、量子化制御変数を決定する。
[S82]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S83]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)+Mxyの加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S84]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0108】
このような第8の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れ、ワームノイズが解消された量子化出力データCを得ることができる。
擬似輪郭、開始遅れ、ワームノイズが解消できるのは、第1の実施の形態で説明した予測誤差フィードバック系の作用、及びマトリクス変数による作用を、LUT21により実現することによる。
また、この第8の実施の形態の場合、例えば上記図11に示したマトリクス部14を不要として、マトリクス変数の機能を実現できる。従って、図2より構成が簡略化された図11の場合よりも、さらに構成の簡略化を実現でき、しかも量子化制御変数を決定する演算処理のさらなる簡略化や高速化を実現できる。
【0109】
<第9の実施の形態>
第9の実施の形態の構成を図16に示す。
これは、上記図14の構成に、図7で説明した乱数生成部16及び加算器18を加えたものである。
そして入力画素データA(Xn、Yn)の値及びカラムアドレスとロウアドレスに従ってLUT21から出力された負帰還変数Fb(Xn、Yn)+マトリクス変数Mxyに対して、さらに乱数生成部16で発生される乱数値による撹乱変数Rndが、加算器18で加算されて、加算器8に供給される。
【0110】
つまりこの第6の実施の形態では、予測誤差と、量子化閾値間のレベル差との差の程度を示す値である演算値としての負帰還変数Fb(Xn、Yn)にマトリクス変数Mxyを加えた値を、入力画素データA(Xn、Yn)の値及びカラムアドレスとロウアドレスを参照してLUT21により決定し、さらにその値に撹乱変数Rndを加算して量子化制御変数とするものである。
そして加算器8で、誤差補正済の入力画素データB(Xn、Yn)に量子化制御変数Fb(Xn、Yn)+Mxy+Rndが加算され、量子化器5に入力される。量子化器5からは量子化出力データC(Xn、Yn)が出力される。
【0111】
このような図16に示した第9の実施の形態の構成によれば、入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する場合に次の手順S91〜S94を有する画像処理方法が行われる。
[S91]誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差e(Xn、Yn)と、量子化閾値間のレベル差Qsとの差の程度を示す演算値である負帰還変数Fb(Xn、Yn)にマトリクス変数Mxyを加算した記憶値を、入力画素データA(Xn、Yn)の値及びカラムアドレスとロウアドレスを参照して決定する。さらにその記憶値に乱数生成部16で生成された値を撹乱変数Rndとして加算することで、量子化制御変数を決定する。
この場合、上記記憶値は、各入力画素データAの値に対応する各負帰還変数Fb毎に、マトリクス構成で設定されたマトリクス変数Mxyとしての各数値を加算した値を記憶していることで、入力画素データAの値と、注目画素の主走査アドレス(カラムアドレス)、副走査アドレス(ロウアドレス)とに基づいて決定する。
[S92]注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差Eqのうち、注目画素に割り振られた補正誤差E(Xn、Yn)を決定する。
[S93]注目画素の入力画素データA(Xn、Yn)に、上記決定された補正誤差E(Xn、Yn)の加算、及び上記決定された量子化制御変数Fb(Xn、Yn)+Mxy+Rndの加算を行った値について、量子化閾値で量子化することにより、注目画素の入力画素データA(Xn、Yn)を、その階調数より少ない2以上の階調数の量子化出力データC(Xn、Yn)に変換する。
[S94]注目画素の入力画素データA(Xn、Yn)に上記補正誤差E(Xn、Yn)を加算した値B(Xn、Yn)と、上記量子化された量子化出力データC(Xn、Yn)との差である量子化誤差Eq(Xn、Yn)を、注目画素の後に量子化される周辺の画素に割り振る。
【0112】
このような第9の実施の形態の画像処理装置、画像処理方法によれば、擬似輪郭、開始遅れ、ワームノイズ、テクスチャーが解消された量子化出力データCを得ることができる。
また、この第9の実施の形態の場合、例えば上記図13に示したマトリクス部14を不要として、マトリクス変数の機能を実現できる。従って、図8より構成が簡略化された図13の場合よりも、さらに構成の簡略化を実現でき、しかも量子化制御変数を決定する演算処理のさらなる簡略化や高速化を実現できる。
【0113】
以上、本発明の実施の形態について説明したが、本発明は上述した各実施の形態に限定されることなく種々の変形が可能である。
例えば、各例では、量子化制御変数を加算器8において誤差補正済の入力画素データB(Xn、Yn)に対して加算するようにしたが、加算器8を減算器に代え、量子化制御変数の符号を反転するとともに量子化制御変数を誤差補正済の入力画素データB(Xn、Yn)から減算するように構成してもよい。
【0114】
また各例の画像処理装置を適用する装置として、画像形成装置100を例に挙げたが、これに限らず、画像表示装置(CRTディスプレイ、LCD(液晶)ディスプレイ、又はプラズマディスプレイ等)に用いることも可能である。
【0115】
【発明の効果】
以上の説明から理解されるように、入力画像情報値を、誤差拡散法を用いて、入力画像情報値の階調数より少ない2以上の階調数の画像情報値に変換する本発明の画像処理装置、画像処理方法によれば、以下の各効果を得ることができる。
【0116】
請求項1又は請求項14によれば、誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差と、量子化閾値間のレベル差との差の程度を示す演算値(負帰還変数)に、加算変数を加算した値を、量子化制御変数とする。そして入力画像情報値に補正誤差を加算し、さらに量子化制御変数の加算または減算を行なってから、その値を量子化閾値で量子化する。
これによって、擬似輪郭、開始遅れを解消するとともに、ワームノイズ又はテクスチャーを解消して、量子化後の画像品質を向上させることができる。
【0117】
特に請求項2又は請求項15によれば、マトリクス数値から注目画素の主走査アドレス、副走査アドレスを利用して選択されたマトリクス変数を、上記加算変数とすることで、擬似輪郭、開始遅れ、ワームノイズを解消できる。
また請求項3又は請求項16によれば、乱数として発生された撹乱変数を、上記加算変数とすることで、擬似輪郭、開始遅れ、テクスチャーを解消できる。
また請求項4又は請求項17によれば、マトリクス変数と撹乱変数の両方を、上記加算変数とすることで、擬似輪郭、開始遅れ、ワームノイズ、テクスチャーを解消できる。
【0118】
請求項5又は請求項18によれば、少なくとも、誤差補正前の注目画素の入力画像情報値を量子化したときの予測誤差と、量子化閾値間のレベル差との差の程度を示す演算値(負帰還変数)を用いて量子化制御変数を決定する。このとき量子化制御変数は、入力画像情報値を参照して決定する。
そして入力画像情報値に補正誤差を加算し、さらに量子化制御変数の加算または減算を行なってから、その値を量子化閾値で量子化する。
これによって、擬似輪郭、開始遅れを解消し、量子化後の画像品質を向上させることができる。
さらに、量子化制御変数の決定のための構成又は手順を簡易化すると共に、その演算処理の高速化を実現できる。
特に、請求項6又は請求項19のように、各入力画像情報値に対応して上記負帰還変数を記憶した記憶テーブルを用いることで、量子化制御変数の決定のための構成又は手順を簡易化するとともに演算処理の高速化を実現できる。
【0119】
また、請求項7又は請求項20によれば上記負帰還変数に加算変数を加算して得られる値として量子化制御変数を決定する。これにより、擬似輪郭、開始遅れの解消、量子化制御変数の決定のための構成又は手順の簡易化及び演算処理の高速化に加えて、ワームノイズ又はテクスチャーの解消も実現できる。
特に請求項8又は請求項21によれば、マトリクス数値から注目画素の主走査アドレス、副走査アドレスを利用して選択されたマトリクス変数を、上記加算変数とすることで、擬似輪郭、開始遅れとともに、ワームノイズを解消できる。
また請求項9又は請求項22によれば、乱数として発生された撹乱変数を、上記加算変数とすることで、擬似輪郭、開始遅れとともに、テクスチャーを解消できる。
また請求項10又は請求項23によれば、マトリクス変数と撹乱変数の両方を、上記加算変数とすることで、擬似輪郭、開始遅れ、ワームノイズ、テクスチャーを解消できる。
【0120】
また請求項11又は請求項24によれば上記負帰還変数に加算変数を加算して得られる値としての量子化制御変数を、入力画像情報値と、注目画素の主走査アドレスと、副走査アドレスとを参照して決定する。
これにより、擬似輪郭、開始遅れの解消とともに、ワームノイズ又はテクスチャーの解消を実現するための量子化制御変数の決定のための構成又は手順を、さらに簡易化でき、また演算処理のさらなる高速化を実現できる。
特に請求項12又は請求項25によれば、各入力画像情報値に対応する上記各負帰還変数毎に、加算変数としての各マトリクス変数を加算した値を記憶した記憶テーブルを用いることで、量子化制御変数の決定のための構成又は手順を大幅に簡易化するとともに演算処理の高速化を実現できる。
また請求項13又は請求項26によれば、マトリクス変数と撹乱変数の両方が上記加算変数とされるため、大幅な簡易化、高速化を実現することに加えて、擬似輪郭、開始遅れ、ワームノイズ、テクスチャーを解消できる。
【図面の簡単な説明】
【図1】本発明の実施の形態の画像処理装置を含む画像形成装置のブロック図である。
【図2】第1の実施の形態の画像処理装置のブロック図である。
【図3】入力画像情報値Aと負帰還変数Fbの関係の説明図である。
【図4】予測誤差フィードバック系の階調変換動作の説明図である。
【図5】入力画像情報値Bと量子化出力情報値Cの関係の説明図である。
【図6】第1、第3、第5、第7の実施の形態のマトリクス部の動作の説明図である。
【図7】第2の実施の形態の画像処理装置のブロック図である。
【図8】第3の実施の形態の画像処理装置のブロック図である。
【図9】第4の実施の形態の画像処理装置のブロック図である。
【図10】第4、第5,第6,第7の実施の形態のLUTの説明図である。
【図11】第5の実施の形態の画像処理装置のブロック図である。
【図12】第6の実施の形態の画像処理装置のブロック図である。
【図13】第7の実施の形態の画像処理装置のブロック図である。
【図14】第8の実施の形態の画像処理装置のブロック図である。
【図15】第8、第9の実施の形態のLUTの説明図である。
【図16】第9の実施の形態の画像処理装置のブロック図である。
【図17】入力画像情報値と量子化出力情報値の関係の説明図である。
【図18】入力画像情報値と量子化誤差の関係の説明図である。
【図19】誤差拡散法の動作概念の説明図である。
【図20】従来の画像処理装置のブロック図である。
【図21】擬似輪郭及びワームノイズの説明図である。
【図22】開始遅れの説明図である。
【図23】テクスチャーの説明図である。
【符号の説明】
1 加算器、2 乗算器、3 減算器、4 誤差バッファ、5 量子化器、6誤差拡散係数マトリクス、7 閾値設定部、8 加算器、9,10 セレクタ、11 減算器、12 Qs発生部、13 演算ユニット、14 マトリクス部、15 加算器、16 乱数発生器、17 加算器、20,21 LUT
Claims (26)
- 入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する画像処理装置において、
誤差補正を行う前の注目画素における入力画像情報値を量子化したときの量子化誤差値と、量子化閾値間のレベル差との差の程度を示す負帰還変数に、さらに加算変数を加算して得られる量子化制御変数を決定する制御変数決定手段と、
注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差のうち、注目画素に割り振られた補正誤差を決定する補正誤差決定手段と、
注目画素の入力画像情報値に、上記補正誤差決定手段で決定された補正誤差の加算、及び上記制御変数決定手段で決定された量子化制御変数の加算または減算を行った値について、量子化閾値で量子化することにより、注目画素の入力画像情報値を、その階調数より少ない2以上の階調数の画像情報値に変換する量子化手段と、
注目画素の入力画像情報値に上記補正誤差決定手段で決定された補正誤差を加算した値と、上記量子化手段で量子化された画像情報値との差である量子化誤差を、注目画素の後に量子化される周辺の画素に割り振る誤差拡散手段と、
を備えたことを特徴とする画像処理装置。 - マトリクス構成で設定された数値群のうちから、注目画素の主走査アドレス、副走査アドレスを利用してマトリクス変数を選択的に決定するマトリクス手段を備え、
該マトリクス手段で決定されたマトリクス変数が、上記加算変数とされることを特徴とする請求項1に記載の画像処理装置。 - 撹乱変数を生成する乱数生成手段を備え、
該乱数生成手段で生成された撹乱変数が、上記加算変数とされることを特徴とする請求項1に記載の画像処理装置。 - マトリクス構成で設定された数値群のうちから、注目画素の主走査アドレス、副走査アドレスを利用してマトリクス変数を選択的に決定するマトリクス手段と、
撹乱変数を生成する乱数生成手段を備え、
上記制御変数決定手段は、上記加算変数として、上記マトリクス手段で決定されたマトリクス変数と上記乱数生成手段で生成された撹乱変数とを用いることを特徴とする請求項1に記載の画像処理装置。 - 入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する画像処理装置において、
少なくとも、誤差補正を行う前の注目画素における入力画像情報値を量子化したときの量子化誤差値と量子化閾値間のレベル差との差の程度を示す負帰還変数を用いた量子化制御変数を、入力画像情報値を参照して決定する制御変数決定手段と、
注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差のうち、注目画素に割り振られた補正誤差を決定する補正誤差決定手段と、
注目画素の入力画像情報値に、上記補正誤差決定手段で決定された補正誤差の加算、及び上記制御変数決定手段で決定された量子化制御変数の加算または減算を行った値について、量子化閾値で量子化することにより、注目画素の入力画像情報値を、その階調数より少ない2以上の階調数の画像情報値に変換する量子化手段と、
注目画素の入力画像情報値に上記補正誤差決定手段で決定された補正誤差を加算した値と、上記量子化手段で量子化された画像情報値との差である量子化誤差を、注目画素の後に量子化される周辺の画素に割り振る誤差拡散手段と、
を備えたことを特徴とする画像処理装置。 - 上記制御変数決定手段は、各入力画像情報値に対応して上記負帰還変数を記憶していることで、入力画像情報値を参照して、上記負帰還変数を用いた量子化制御変数を決定できる構成とされていることを特徴とする請求項5に記載の画像処理装置。
- 上記制御変数決定手段は、上記負帰還変数に、加算変数を加算して得られる値として量子化制御変数を決定することを特徴とする請求項5に記載の画像処理装置。
- マトリクス構成で設定された数値群のうちから、注目画素の主走査アドレス、副走査アドレスを利用してマトリクス変数を選択的に決定するマトリクス手段を備え、
該マトリクス手段で決定されたマトリクス変数が、上記加算変数とされることを特徴とする請求項7に記載の画像処理装置。 - 撹乱変数を生成する乱数生成手段を備え、
該乱数生成手段で生成された撹乱変数が、上記加算変数とされることを特徴とする請求項7に記載の画像処理装置。 - マトリクス構成で設定された数値群のうちから、注目画素の主走査アドレス、副走査アドレスを利用してマトリクス変数を選択的に決定するマトリクス手段と、
撹乱変数を生成する乱数生成手段を備え、
上記制御変数決定手段は、上記加算変数として、上記マトリクス手段で決定されたマトリクス変数と上記乱数生成手段で生成された撹乱変数とを用いることを特徴とする請求項7に記載の画像処理装置。 - 上記制御変数決定手段は、上記負帰還変数に、加算変数を加算して得られる値としての量子化制御変数を、入力画像情報値と、注目画素の主走査アドレスと、副走査アドレスとを参照して決定することを特徴とする請求項5に記載の画像処理装置。
- 上記制御変数決定手段は、各入力画像情報値に対応する上記各負帰還変数毎に、上記加算変数としてマトリクス構成で設定された各マトリクス変数を加算した値を記憶していることで、入力画像情報値と、注目画素の主走査アドレス、副走査アドレスとに基づいて、量子化制御変数を決定できる構成とされていることを特徴とする請求項11に記載の画像処理装置。
- 撹乱変数を生成する乱数生成手段を備え、
上記制御変数決定手段は、上記負帰還変数毎に、加算変数としてマトリクス構成で設定された各マトリクス変数を加算した値を記憶していることで、入力画像情報値と、注目画素の主走査アドレスと、副走査アドレスとに基づいて記憶値を得、さらに該記憶値に、上記乱数生成手段で生成された撹乱変数を、加算変数として加算することで、量子化制御変数を決定することを特徴とする請求項5に記載の画像処理装置。 - 入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する画像処理方法において、
誤差補正を行う前の注目画素における入力画像情報値を量子化したときの量子化誤差値と、量子化閾値間のレベル差との差の程度を示す負帰還変数に、さらに加算変数を加算して得られる量子化制御変数を決定する制御変数決定手順と、
注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差のうち、注目画素に割り振られた補正誤差を決定する補正誤差決定手順と、
注目画素の入力画像情報値に、上記補正誤差決定手順で決定された補正誤差の加算、及び上記制御変数決定手順で決定された量子化制御変数の加算または減算を行った値について、量子化閾値で量子化することにより、注目画素の入力画像情報値を、その階調数より少ない2以上の階調数の画像情報値に変換する量子化手順と、
注目画素の入力画像情報値に上記補正誤差決定手順で決定された補正誤差を加算した値と、上記量子化手順で量子化された画像情報値との差である量子化誤差を、注目画素の後に量子化される周辺の画素に割り振る誤差拡散手順と、
を具備することを特徴とする画像処理方法。 - マトリクス構成で設定された数値群のうちから、注目画素の主走査アドレス、副走査アドレスを利用してマトリクス変数を選択的に決定するマトリクス手順を備え、
該マトリクス手順で決定されたマトリクス変数を、上記加算変数とすることを特徴とする請求項14に記載の画像処理方法。 - 撹乱変数を生成する乱数生成手順を備え、
該乱数生成手順で生成された撹乱変数を、上記加算変数とすることを特徴とする請求項14に記載の画像処理方法。 - マトリクス構成で設定された数値群のうちから、注目画素の主走査アドレス、副走査アドレスを利用してマトリクス変数を選択的に決定するマトリクス手順と、
撹乱変数を生成する乱数生成手順を備え、
上記制御変数決定手順では、上記加算変数として、上記マトリクス手順で決定されたマトリクス変数と上記乱数生成手順で生成された撹乱変数とを用いることを特徴とする請求項14に記載の画像処理方法。 - 入力画像情報を誤差拡散法を用いて量子化し、入力画像情報の階調数より少ない2以上の階調数の画像情報に変換する画像処理方法において、
少なくとも、誤差補正を行う前の注目画素における入力画像情報値を量子化したときの量子化誤差値と量子化閾値間のレベル差との差の程度を示す負帰還変数を用いた量子化制御変数を、入力画像情報値を参照して決定する制御変数決定手順と、
注目画素を量子化する以前に量子化された1または複数の画素によって発生した量子化誤差のうち、注目画素に割り振られた補正誤差を決定する補正誤差決定手順と、
注目画素の入力画像情報値に、上記補正誤差決定手順で決定された補正誤差の加算、及び上記制御変数決定手順で決定された量子化制御変数の加算または減算を行った値について、量子化閾値で量子化することにより、注目画素の入力画像情報値を、その階調数より少ない2以上の階調数の画像情報値に変換する量子化手順と、
注目画素の入力画像情報値に上記補正誤差決定手順で決定された補正誤差を加算した値と、上記量子化手順で量子化された画像情報値との差である量子化誤差を、注目画素の後に量子化される周辺の画素に割り振る誤差拡散手順と、
を具備することを特徴とする画像処理方法。 - 上記制御変数決定手順では、各入力画像情報値に対応して上記負帰還変数を記憶していることで、入力画像情報値を参照して、上記負帰還変数を用いた量子化制御変数を決定することを特徴とする請求項18に記載の画像処理方法。
- 上記制御変数決定手順は、上記負帰還変数に、加算変数を加算して得られる値として量子化制御変数を決定することを特徴とする請求項18に記載の画像処理方法。
- マトリクス構成で設定された数値群のうちから、注目画素の主走査アドレス、副走査アドレスを利用してマトリクス変数を選択的に決定するマトリクス手順を備え、
該マトリクス手順で決定されたマトリクス変数が、上記加算変数とされることを特徴とする請求項20に記載の画像処理方法。 - 撹乱変数を生成する乱数生成手順を備え、
該乱数生成手順で生成された撹乱変数が、上記加算変数とされることを特徴とする請求項20に記載の画像処理方法。 - マトリクス構成で設定された数値群のうちから、注目画素の主走査アドレス、副走査アドレスを利用してマトリクス変数を選択的に決定するマトリクス手順と、
撹乱変数を生成する乱数生成手順を備え、
上記制御変数決定手順では、上記加算変数として、上記マトリクス手順で決定されたマトリクス変数と上記乱数生成手順で生成された撹乱変数とを用いることを特徴とする請求項20に記載の画像処理装置。 - 上記制御変数決定手順では、上記負帰還変数に、加算変数を加算して得られる値としての量子化制御変数を、入力画像情報値と、注目画素の主走査アドレスと、副走査アドレスとを参照して決定することを特徴とする請求項18に記載の画像処理装置。
- 上記制御変数決定手順では、各入力画像情報値に対応する上記各負帰還変数毎に、上記加算変数としてマトリクス構成で設定された各マトリクス変数を加算した値を記憶していることで、入力画像情報値と、注目画素の主走査アドレス、副走査アドレスとに基づいて、量子化制御変数を決定することを特徴とする請求項24に記載の画像処理方法。
- 撹乱変数を生成する乱数生成手順を備え、
上記制御変数決定手順では、上記負帰還変数毎に、加算変数としてマトリクス構成で設定された各マトリクス変数を加算した値を記憶していることで、入力画像情報値と、注目画素の主走査アドレスと、副走査アドレスとに基づいて記憶値を得、さらに該記憶値に、上記乱数生成手順で生成された撹乱変数を加算変数として加算することで、量子化制御変数を決定することを特徴とする請求項18に記載の画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002334709A JP2004172798A (ja) | 2002-11-19 | 2002-11-19 | 画像処理装置、画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002334709A JP2004172798A (ja) | 2002-11-19 | 2002-11-19 | 画像処理装置、画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004172798A true JP2004172798A (ja) | 2004-06-17 |
Family
ID=32699021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002334709A Withdrawn JP2004172798A (ja) | 2002-11-19 | 2002-11-19 | 画像処理装置、画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004172798A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009514273A (ja) * | 2005-10-26 | 2009-04-02 | 北大方正集▲団▼有限公司 | マルチビット深度の画像装置でfm/am混在網点画像を処理する方法 |
JP2009514274A (ja) * | 2005-10-26 | 2009-04-02 | 北大方正集▲団▼有限公司 | マルチビット深度の画像装置でfm/am混在格子点及び格子点形状を制御する方法 |
JP2010093756A (ja) * | 2008-10-10 | 2010-04-22 | Canon Inc | 画像処理装置及びその制御方法 |
-
2002
- 2002-11-19 JP JP2002334709A patent/JP2004172798A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009514273A (ja) * | 2005-10-26 | 2009-04-02 | 北大方正集▲団▼有限公司 | マルチビット深度の画像装置でfm/am混在網点画像を処理する方法 |
JP2009514274A (ja) * | 2005-10-26 | 2009-04-02 | 北大方正集▲団▼有限公司 | マルチビット深度の画像装置でfm/am混在格子点及び格子点形状を制御する方法 |
US8035860B2 (en) | 2005-10-26 | 2011-10-11 | Peking University Founder Group Co., Ltd. | Method for processing FM-AM mixed halftone images on a multi-bit depth imaging apparatus |
US8045233B2 (en) | 2005-10-26 | 2011-10-25 | Peking University Founder Group Co., Ltd. | Method for controlling the shapes of FM-AM mixed dots on a multi-bit depth imaging apparatus |
JP2010093756A (ja) * | 2008-10-10 | 2010-04-22 | Canon Inc | 画像処理装置及びその制御方法 |
US8279489B2 (en) | 2008-10-10 | 2012-10-02 | Canon Kabushiki Kaisha | Image processing apparatus and control method thereof for converting multilevel image data to binary data using an error diffusion method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7961962B2 (en) | Method, apparatus and computer program for halftoning digital images | |
US5488673A (en) | Image processing with fixed or variable threshold | |
EP0659012B1 (en) | Method for quantization of gray level pixel data with extended distribution set | |
US5394250A (en) | Image processing capable of handling multi-level image data without deterioration of image quality in highlight areas | |
EP1073258A2 (en) | Error diffusion pattern shifting reduction through programmable threshold perturbation | |
JP4121631B2 (ja) | 画像データ処理システム及び画像データ処理方法 | |
JP3973734B2 (ja) | 電子イメージ処理システム及び処理方法 | |
JP2974363B2 (ja) | 画像処理装置 | |
EP1133162A2 (en) | Method and apparatus for gradation reproduction of continuous tone image | |
US20040010633A1 (en) | Method and apparatus for image processing | |
JP3992789B2 (ja) | 入力画像変換方法及び画素値量子化方法 | |
JPH10112801A (ja) | 入力イメージ処理方法 | |
JP4248654B2 (ja) | 出力装置へ出力する文書イメージを準備する処理装置 | |
US6369912B1 (en) | Image processing apparatus capable of applying line component to image | |
US8139267B2 (en) | Method, apparatus and program for creating a threshold value matrix | |
JP2004172798A (ja) | 画像処理装置、画像処理方法 | |
US5825940A (en) | Image processing method and apparatus for binary-coding multivalue image data | |
JP5312158B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2882531B2 (ja) | 画像処理装置 | |
JP3124589B2 (ja) | 画像処理装置 | |
JPH11252364A (ja) | 画像処理方法および画像処理装置 | |
JP4086669B2 (ja) | 画像処理方法及び装置 | |
Levien | Practical issues in color inkjet halftoning | |
JP2880561B2 (ja) | 画像処理装置 | |
JPH10136205A (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050908 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20070613 |