JP3697027B2 - Image processing apparatus and method - Google Patents

Image processing apparatus and method Download PDF

Info

Publication number
JP3697027B2
JP3697027B2 JP17612597A JP17612597A JP3697027B2 JP 3697027 B2 JP3697027 B2 JP 3697027B2 JP 17612597 A JP17612597 A JP 17612597A JP 17612597 A JP17612597 A JP 17612597A JP 3697027 B2 JP3697027 B2 JP 3697027B2
Authority
JP
Japan
Prior art keywords
quantization
data
constant
pixel
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
Application number
JP17612597A
Other languages
Japanese (ja)
Other versions
JPH1127527A (en
Inventor
明洋 吉谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP17612597A priority Critical patent/JP3697027B2/en
Publication of JPH1127527A publication Critical patent/JPH1127527A/en
Application granted granted Critical
Publication of JP3697027B2 publication Critical patent/JP3697027B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Facsimile Image Signal Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は画像処理装置およびその方法に関し、例えば、多値画像データに誤差拡散処理を施して量子化する画像処理装置およびその方法に関するものである。
【0002】
【従来の技術】
濃淡画像を表現するための擬似中間調処理の一つに誤差拡散法がある。誤差拡散法は、ラスタ走査順に入力される濃淡画像の各画素を、ある閾値で二値化し、二値化した結果の値と、その画素の元の値との差分値(以後「二値化差分値」と呼ぶ)を、その画素の周辺画素に拡散することにより、画質の高い擬似中間調画像を得ようとするものである。
【0003】
図1Aから図1Dは誤差拡散法を説明するための図で、入力される濃淡画像データの階調数は256であり、白を表す値を「0」、黒を表す値を「255」、二値化閾値を「128」とする。
【0004】
図1Aに示す画素Bを注目画素とし、その値が例えば「80」であるとすると、画素Bは白を表す「0」に二値化される。元の値「80」と二値化後の値「0」との二値化差分値「80」は、例えば、図1Bに示すような割合で、画素Bの周辺画素C,F,Gに拡散される。すなわち、画素C,F,Gの各値に80×1/4、80×2/4、80×1/4を加え、それを画素C,F,Gの新たな値にする。
【0005】
また、例えば、画素Bの値が「140」であるときは、画素Bは黒を表す「255」に二値化され、その二値化差分値「-115(=140-255)」が画素Bの周辺画素に拡散される。つまり、画素C,F,Gの各値に-155×1/4、-155×2/4、-155×1/4を加え、それを画素C,F,Gの新たな値にする。
【0006】
以上の処理を、ラスタ走査順に入力されるすべての画素に対して行うことにより、入力される濃淡画像を擬似中間調画像に変換することができる。
【0007】
ところで、図1Aおよび図1Bの例において、画素Xの二値化処理によって生じる二値化差分値をδXで表すと、誤差が拡散された画素Gの値αGは次式で表される。
αG = G +(δB×1/4+δC×2/4+δF×1/4) …(1)
【0008】
加えられる値のうちδB×1/4+δC×2/4(=βG)は、画素Cの二値化処理が済んだ後、1ライン分の二値化処理に要する時間分、つまり画素Gの二値化処理まで記憶しておく必要がある。ファクシミリ装置などでは、図1Cに示すように、入力画像の1ライン分の情報を保持することができるFIFOメモリを用意することにより、これを実現している。
【0009】
すなわち、画素Cの二値化処理が終わった時点で、次ラインの画素Gの二値化処理で使用されるβGを、図1Dに(a)で示すように、FIFOメモリに保存する。FIFOメモリの内容は、図1Dに(b)で示すように、一画素の二値化処理が行われるごとに1セルずつシフトされ、画素Cの1ライン後の画素Gが注目画素になると、図1Dに(c)で示すように、FIFOメモリからβGが出力される。なお、δF×1/4は、一画素の二値化処理に要する時間だけ保存すればよいので、FIFOメモリではなくレジスタなどに格納すればよい。そして、(1)式の演算を行った後、αGのを二値化して新たな画素値を得た後、画素Hの二値化処理を行う。
【0010】
【発明が解決しようとする課題】
しかし、上述した技術においては、次のような問題点がある。つまり、上記の誤差拡散処理を行うためには、入力画像の階調を表すのに必要なビット数をn(256階調ならばn=8)、1ライン分の画素数をNとし、図1Bに示すような誤差拡散マトリクスを使う場合、βXを表現するには入力画像と同じnビットが必要になるため、n×Nビットの比較的大きな記憶容量のFIFOメモリが必要である。
【0011】
本発明は、上述の問題を解決するためのものであり、誤差拡散処理による量子化を行う際に、出力画像の画質劣化を防ぐとともに、量子化誤差を格納するメモリの記憶容量を節約することができる画像処理装置およびその方法を提供することを目的とする。
【0012】
【課題を解決するための手段】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0013】
本発明にかかる画像処理装置は、入力される多値画像データに誤差拡散処理を施す画像処理装置であって、設定された出力階調数に応じた閾値および定数を設定する設定手段と、画素データを前記閾値で量子化し、その量子化誤差を求める量子化手段と、あるラインにおける量子化により発生した複数の量子化誤差に所定の演算を施して、そのラインの次のラインの所定画素のデータに加える誤差集積値を演算し、その誤差集積値を前記定数で除して記憶手段に格納する第一の演算手段と、前記記憶手段から読出したデータに前記定数を乗じて前記所定画素のデータに加える第二の演算手段とを有し、前記量子化手段は、前記第二の演算手段による演算が施された画素のデータを量子化するを有することを特徴とする。
【0014】
また、本発明にかかる画像処理方法は、入力される多値画像データに誤差拡散処理を施す画像処理方法であって、設定された出力階調数に応じた閾値および定数を設定する設定ステップと、画素データを前記閾値で量子化し、その量子化誤差を求める量子化ステップと、量子化により発生した量子化誤差を前記定数で除してメモリに格納する第一の演算ステップと、前記メモリから読出したデータに前記定数を乗じ、所定の演算を施して画素のデータに加える第二の演算ステップとを有し、前記量子化ステップは、前記第二の演算ステップによる演算が施された画素のデータを量子化することを特徴とする。
【0015】
【発明の実施の形態】
以下、本発明にかかる一実施形態の画像処理装置を図面を参照して詳細に説明する。
【0016】
[二重誤差拡散処理法]
誤差拡散処理による量子化を行う際に、出力画像の画質劣化を防ぐとともに、量子化誤差を格納するFIFOメモリの記憶容量を節約する、以下のような方法がある。
【0017】
前述した誤差拡散処理法においてはβXをFIFOメモリに格納したが、βXをLビット(Lは所定値、0<L<n)右シフトしたβ'XをFIFOメモリに格納する。そして、右シフトの結果生じるキャリー値(余り)を、画素Xの次の注目画素Yの処理まで保持する。画素Yの処理時に得られるβYにキャリー値を加えたものを新たにβYとし、これをLビット右シフトしたβ'Yを、上記と同様にFIFOメモリに格納する、という処理を繰り返す。そして、FIFOメモリからデータを取り出す際は、取り出した値をLビット左シフトし、その結果を以後の演算処理に用いる。
【0018】
このようにβXをLビット右シフトしてFIFOメモリに格納することとすれば、FIFOメモリの各セルのビット数をLビット減らすことができる。したがって、FIFOメモリ全体ではL×Nビットの記憶容量を節約することができる。
【0019】
この手法は、数列βA,βB,βC,…に対して多値、2^(n-L)値の誤差拡散処理を行うことにより、ビット数の少ない数列β'A,β'B,β'C,…を得ている、と考えることができるため、画像データに対する誤差拡散処理と合わせて「二重誤差拡散処理法」と呼ばれている。この方法は、通常の誤差拡散処理法に比べて、画質劣化がほとんどないことが実験により確認されている。なお、上記の2^(n-L)は2の(n-L)乗を表し、以下、aのb乗を「a^b」と記す。
【0020】
ところで、現在ではインクジェットプリンタにおいても多値記録が可能なもの、すなわち1ドット単位ののオン/オフだけではなく、1ドットにおいて三値以上の階調を表現できるものがある。例えば、インクジェットプリンタにおいては、濃インクと淡インクのどちらかを選択してあるドットを記録できるような構成になっている。この場合、インクを打たない、淡インクを打つ、濃インクを打つ、という三階調の記録が可能になる。
【0021】
誤差拡散法は、このような記録装置に対しても利用することができる。それは、この手法が、入力画像の二値化だけでなく、三値や四値など任意ステップの量子化が可能であるからである。
【0022】
一例を挙げるならば、各画素を濃度0%,25%,50%,75%および100%の五階調で記録可能な記録装置があるとし、このような装置に合わせて入力画像を五値化する例を説明する。入力画像の階調数が256(白を表す階調値が0、黒を表す階調値が255)であるとすると、この記録装置は、階調値0,64,128,192および255に対応する階調の記録が可能であることになる。従って、記録可能な階調値の中間にあたる32,96,160および224を閾値として、入力画像を五値化し、入力された各画素に、その階調値に応じた0〜4の出力値を割り当てる。そして、記録装置に、その出力値に応じた濃度0%,25%,50%,75%および100%のドットを記録させる。その際、その出力値に対応する階調値と、注目画素の階調値との差(量子化差分値)を、前述した二値化処理と同様に、注目画素の周辺画素へ所定の比率で拡散すればよい。
【0023】
記録装置によっては、出力階調数を切替えることができるものが存在する。このような記録装置においては、例えば二値、三値または五値のどの階調で出力するかを自由に選択することができ、二値が選択されると濃度0%または100%の、五値が選択されると濃度0%,25%,50%,75%および100%のドットを形成して画像を記録する。このような記録装置に対応した誤差拡散処理では、出力階調数に応じて処理パラメータを変化させ得ることが必須になる。さらに、二重誤差拡散処理法を用いてFIFOメモリの記憶容量を節約しようとすると、次の問題が発生する。
【0024】
階調数が256の画像に対して二値、三値または五値化を行う場合、画素ごとに発生する量子化差分値δXの範囲は次のようになる。
二値化時: -128〜+127
三値化時: -64〜 +63
五値化時: -32〜 +31
【0025】
このδXを図1Bに示した誤差拡散マトリクスに従って周辺画素へ拡散する場合、FIFOメモリに格納するβXを表現するのに必要なビット数は、二値、三値および五値の場合それぞれ8,7および6ビットになる。このような場合に二重誤差拡散処理を適用し、一律にLビット右シフトしてβ'Xを得るとすると、β'Xの有効ビット数が量子化数により異なってしまう。例えばL=4とすると、五値化のときはβ'Xの有効ビット数は6-4=2ビットしかない。
【0026】
つまり、二値化、三値化および五値化の何れの場合においても同じFIFOメモリを使用する場合、β'Xの有効ビット数が最大の場合、つまり二値化の有効ビット数に合わせてFIFOメモリのビット数を決めることになり、L=4であれば8-4=4ビットになる。従って、五値化の際はFIFOメモリの2ビットが使われず無駄になるとともに、その分、出力画像の画質が落ちるという問題が残る。
【0027】
[構成]
図2は本発明にかかる誤差拡散処理を行う画像処理装置の構成例を示すブロック図で、出力階調数設定部211のレジスタにセットされる値に従い、出力画像の階調数を二値、三値または五値に切り替えることができる。
【0028】
同図において、1は画像データを入力するための画像入力部で、例えば、画像を読取り、ラスタ走査形式の8ビットのディジタル画像データを出力するイメージリーダなどの装置である。2は誤差拡散処理部で、入力部1から出力された画像データに対し、後述する誤差拡散処理を施すものである。3は画像出力部で、誤差拡散処理部2から出力される画像データに基づき、画像を表示するモニタ、記録紙に画像を形成するプリンタ、または、画像データを通信路へ出力するインタフェイスなどである。
【0029】
誤差拡散処理部2は次の構成を備える。量子化処理を行い量子化差分値を計算する量子化部202、出力階調数を設定するための出力階調数設定部211、1ライン分の画像データを保持することができるFIFOメモリ210(ただしFIFOメモリの各セルは4ビットとする)、加算器201および206、乗算器205、レジスタ204および208、シフトレジスタ203、207および209。
【0030】
[動作]
図3は本実施形態の誤差拡散処理を説明するためのフローチャートで、入力画像1ライン分の画素数をNとし、図1Bに示した誤差拡散マトリクスを用いるものとする。なお、図2の構成は、図1Bの誤差拡散マトリクスを用いることを前提としているので、図1Bと異なる誤差拡散マトリクスを用いる場合は、誤差拡散処理部2の構成を若干変える必要があるが、本発明の本質を損なうものではない。
【0031】
ステップS1において、FIFOメモリ210およびすべてのレジスタとシフトレジスタを0にクリアする。そして、入力画像の左上端画素を注目画素として、ステップS2において、画像入力部1から注目画素Xの値を取得する。
【0032】
次に、ステップS3において、画像入力部1から取得した注目画素Xの値、レジスタ204の値およびシフトレジスタ209の値を加算器201で合計し、その結果σXを量子化部202に入力する。そして、ステップS4において、量子化部202により、以下のアルゴリズムにより、σXに対して量子化処理を行い、量子化差分値δXを求める。なお、量子化閾値は、階調数設定部211により、設定された階調数に応じて設定される。
【0033】
(1)出力階調数が二値の場合: 出力は0,1で、それらに相当する濃淡値は0,255であるから、σX>128ならば「1」を出力し、δX=σX-255とする。また、σX≦128ならば「0」を出力し、δX=σXとする。
【0034】
(2)出力階調数が三値の場合: 出力は0,1,2で、それらに相当する濃淡値は0,128,255であるからσX>192ならば「2」を出力し、δX=σX-255とする。64<σX≦192ならば「1」を出力し、δX=σX-128とする。また、σX≦64ならば「0」を出力し、δX=σXとする。
【0035】
(3)出力階調数が五値の場合: 出力は0,1,2,3,4で、それらに相当する濃淡値は0,64,128,192,255であるから、σX>244ならば「4」を出力し、δX=σX-255とする。160<σX≦244ならば「3」を出力し、δX=σX-192とする。96<σX≦160ならば「2」を出力し、δX=σX-128とする。32<σX≦96ならば「1」を出力し、δX=σX-64とする。また、σX≦32ならば「0」を出力し、δX=σXとする。
【0036】
量子化結果は画像出力部3へ出力され、量子化差分値δXはシフトレジスタ203にストアする。
【0037】
ステップS5において、FIFOメモリ210から読出したデータをシフトレジスタ209にストアし、FIFOメモリ210のセルを一つ進める。ステップS6において、シフトレジスタ209をLビット左シフトする。ここでLは出力階調数によって変化するが、その詳細はステップS11で説明する。
【0038】
次に、ステップS7において、シフトレジスタ203にストアされたδXを2ビット右シフトする。ステップS8において、シフトレジスタ203にストアされたデータを乗算器205で二倍にし、その結果を加算器206に入力する。ステップS9において、加算器206により、レジスタ204、208の値および加算器206の出力を合計し、その結果をシフトレジスタ207にストアする。
【0039】
次に、ステップS10において、シフトレジスタ203のストアされたデータをレジスタ204にストアする。ステップS11において、シフトレジスタ207をLビット右シフトし、その結果をFIFOメモリ210に、またその処理で生じたキャリー値をレジスタ208にそれぞれストアする。
【0040】
ここで、入力画像データが8ビットの場合、δXを表すのに必要なビット数は、出力階調数が二値のとき8ビット、三値のとき7ビット、五値のとき6ビットである。従って、シフトの結果がFIFOメモリの幅(4ビット)に収まるようにLを決定するが、具体的には、二値、三値および五値のときのLはそれぞれ4,3および2に、出力階調数設定部211により設定される。
【0041】
図1Aに示したような画像データが入力され、その画素Hが注目画素であるとき、ステップS11の終了時点での各レジスタおよび各シフトレジスタの内容は次のようになる。
レジスタ204: δH×1/4
シフトレジスタ207: δG×1/4+δH×2/4
シフトレジスタ209: int{(δC×1/4+δD×1/2)/(2^L)}×(2^L)
レジスタ208: (δG×1/4 + δH×2/4)
のLビット右シフトで生じるキャリー値
ただし、int()は小数点以下の切捨て演算を表す
【0042】
ステップS12において、注目画素がラインの右端であるか否かを判定し、そうであればステップS13ヘ、そうでなければステップS14へ進む。ステップS13に進んだ場合は、各レジスタおよび各シフトレジスタを0にクリアし、注目画素を次ラインの左端に移してステップS2へ戻る。ステップS14に進んだ場合は、注目画素を次画素へ移しステップS2へ戻る。
【0043】
このように、従来の誤差拡散処理においてはそのままFIFOメモリにストアしていたデータを、Lビット右シフトしてからストアし、FIFOメモリから読出した値をLビット左シフトして以後の演算処理に用いる、という一連の処理を行うことにより、誤差拡散処理に必要なFIFOメモリのセルのビット数を低減して、かつ、出力階調数によってシフトするビット数を変えることで、より正確な(ビットの無駄のない)量子化処理を行うことができる。
【0044】
つまり、誤差拡散処理の量子化数に応じてβXのシフト量Lを変える。二値化するときはL=4、三値化するときはL=3、五値するときはL=2などに設定する。このような処理を行うことにより、出力階調数が大きい(量子化誤差のビット数が少ない)ときは、βXをβ'Xに量子化する際の量子化誤差が減り、より正確な(二重誤差拡散処理でない従来の誤差拡散処理に近い)誤差拡散処理を行うことができるため、画質の向上が見込める。
【0045】
また、誤差拡散処理には、FIFOメモリへ入力するデータの扱い方に、二つの異なる方法がある。まず第一の方法は、上述したように、ある画素に、その画素が含まれるラインの前ラインの画素から加えられる誤差値を、予め合計してからFIFOメモリに格納するもので、これを誤差集積法と呼ぶ。
【0046】
第二の方法は、図1Cにおいて、画素BおよびCの量子化処理によって生じた量子化差分値をそのまま順にFIFOメモリにストアする。そして、次ラインの画素Gの量子化処理時に、FIFOメモリから読出した画素BおよびCの量子化差分値と、画素Fの量子化差分値とに、誤差拡散マトリクスのマトリクス係数を掛ける。そして、これらの乗算結果と画素Gの値とを加算して、画素Gの量子化処理を行うもので、これを平均誤差縮小法と呼ぶ。
【0047】
本発明の誤差拡散法は、上記の誤差集積法および平均誤差縮小法の何れにも適用可能である。すなわち、FIFOメモリに格納する前にLビット右シフトし、読出す際にLビット左シフトすればよい。同様に、シフトするビット数Lを出力階調数に応じて変えるという本発明の手法も、誤差集積法に限らず、平均誤差縮小法にも適用することができる。
【0048】
【他の実施形態】
なお、本発明は、複数の機器(例えばホストコンピュータ,インタフェイス機器,リーダ,プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用してもよい。
【0049】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD-ROM,CD-R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0050】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0051】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0052】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになるが、簡単に説明すると、図4のメモリマップ例に示す各モジュールを記憶媒体に格納することになる。すなわち、少なくとも「モジュール名1」「モジュール名2」および「モジュール名3」の各モジュールのプログラムコードを記憶媒体に格納すればよい。
【0053】
【発明の効果】
以上説明したように、本発明によれば、誤差拡散処理による量子化を行う際に、出力画像の画質劣化を防ぐとともに、量子化誤差を格納するメモリの記憶容量を節約することができる画像処理装置およびその方法を提供することができる。
【図面の簡単な説明】
【図1A】誤差拡散法を説明するための図、
【図1B】誤差拡散法を説明するための図、
【図1C】誤差拡散法を説明するための図、
【図1D】誤差拡散法を説明するための図、
【図2】本発明にかかる誤差拡散処理を行う画像処理装置の構成例を示すブロック図、
【図3】本実施形態の誤差拡散処理を説明するためのフローチャート、
【図4】本発明にかかる誤差拡散処理のプログラムコードが格納された記憶媒体のメモリマップ例を示す図である。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method for performing quantization by performing error diffusion processing on multivalued image data.
[0002]
[Prior art]
There is an error diffusion method as one of pseudo halftone processing for expressing a grayscale image. The error diffusion method binarizes each pixel of a grayscale image input in the order of raster scanning with a certain threshold value, and the difference value between the binarized value and the original value of the pixel (hereinafter “binarization”). In other words, a pseudo halftone image with high image quality is obtained by diffusing the difference value) to the peripheral pixels of the pixel.
[0003]
1A to 1D are diagrams for explaining the error diffusion method, where the number of gradations of the input grayscale image data is 256, the value representing white is “0”, the value representing black is “255”, The binarization threshold is set to “128”.
[0004]
Assuming that the pixel B shown in FIG. 1A is the pixel of interest and its value is “80”, for example, the pixel B is binarized to “0” representing white. The binarized difference value “80” between the original value “80” and the binarized value “0” is, for example, the ratio shown in FIG. 1B to the peripheral pixels C, F, and G of the pixel B. Diffused. That is, 80 × 1/4, 80 × 2/4, and 80 × 1/4 are added to the respective values of the pixels C, F, and G, and these are made new values of the pixels C, F, and G.
[0005]
For example, when the value of the pixel B is “140”, the pixel B is binarized to “255” representing black, and the binarized difference value “−115 (= 140−255)” is the pixel. It is diffused to the peripheral pixels of B. That is, −155 × 1/4, −155 × 2/4, and −155 × 1/4 are added to the respective values of the pixels C, F, and G, and these are made new values of the pixels C, F, and G.
[0006]
By performing the above processing on all the pixels input in the raster scan order, the input grayscale image can be converted into a pseudo halftone image.
[0007]
By the way, in the example of FIGS. 1A and 1B, if the binarized difference value generated by the binarization processing of the pixel X is represented by ΔX, the value αG of the pixel G in which the error is diffused is represented by the following equation.
αG = G + (δB × 1/4 + δC × 2/4 + δF × 1/4) (1)
[0008]
Among the added values, δB × 1/4 + δC × 2/4 (= βG) is the time required for the binarization processing for one line after the binarization processing of the pixel C, that is, the pixel G It is necessary to memorize the binarization process. In a facsimile machine or the like, as shown in FIG. 1C, this is realized by preparing a FIFO memory capable of holding information for one line of an input image.
[0009]
That is, when the binarization process for the pixel C is finished, βG used in the binarization process for the pixel G of the next line is saved in the FIFO memory as shown in FIG. As shown in FIG.1D by (b), the content of the FIFO memory is shifted by one cell every time the binarization process of one pixel is performed, and when the pixel G after one line of the pixel C becomes the target pixel, As shown by (c) in FIG. 1D, βG is output from the FIFO memory. Note that ΔF × 1/4 only needs to be stored for the time required for the binarization processing of one pixel, and therefore may be stored in a register or the like instead of the FIFO memory. Then, after performing the calculation of equation (1), binarization of αG is performed to obtain a new pixel value, and then binarization processing of the pixel H is performed.
[0010]
[Problems to be solved by the invention]
However, the above-described technique has the following problems. In other words, in order to perform the above error diffusion processing, the number of bits required to represent the gradation of the input image is n (n = 8 for 256 gradations), the number of pixels for one line is N, When an error diffusion matrix such as that shown in 1B is used, the same n bits as the input image are required to express βX, so a FIFO memory with a relatively large storage capacity of n × N bits is required.
[0011]
The present invention is to solve the above-described problem, and when performing quantization by error diffusion processing, the image quality of the output image is prevented and the storage capacity of the memory for storing the quantization error is saved. An object of the present invention is to provide an image processing apparatus and a method thereof.
[0012]
[Means for Solving the Problems]
The present invention has the following configuration as one means for achieving the above object.
[0013]
An image processing apparatus according to the present invention is an image processing apparatus that performs error diffusion processing on input multi-valued image data, and includes a setting unit that sets a threshold value and a constant according to the set number of output gradations, and a pixel Quantize the data with the threshold value, obtain a quantization error, and perform a predetermined operation on a plurality of quantization errors generated by the quantization in a certain line, and the predetermined pixel of the next line of the line A first computing means for computing an error integrated value to be added to the data, dividing the error integrated value by the constant and storing it in the storage means; and multiplying the data read from the storage means by the constant to calculate the predetermined pixel. And second quantizing means for adding to the data, wherein the quantizing means comprises quantizing the data of the pixels subjected to the calculation by the second calculating means.
[0014]
An image processing method according to the present invention is an image processing method for performing error diffusion processing on input multi-valued image data, and a setting step for setting a threshold value and a constant according to the set number of output gradations. A quantization step for quantizing the pixel data with the threshold value, obtaining a quantization error thereof, a first calculation step for dividing the quantization error generated by the quantization by the constant and storing it in the memory, and from the memory A second calculation step of multiplying the read data by the constant, performing a predetermined calculation and adding the result to the pixel data, and the quantization step of the pixel subjected to the calculation by the second calculation step. It is characterized by quantizing data.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an image processing apparatus according to an embodiment of the present invention will be described in detail with reference to the drawings.
[0016]
[Double error diffusion processing method]
When performing quantization by error diffusion processing, there are the following methods that prevent image quality deterioration of the output image and save the storage capacity of the FIFO memory that stores the quantization error.
[0017]
In the error diffusion processing method described above, βX is stored in the FIFO memory, but β′X obtained by shifting βX to the right by L bits (L is a predetermined value, 0 <L <n) is stored in the FIFO memory. Then, the carry value (remainder) generated as a result of the right shift is held until the processing of the pixel of interest Y next to the pixel X. A process of repeating βY obtained by adding a carry value to βY obtained at the time of processing of the pixel Y as βY, and storing β′Y right-shifted by L bits in the FIFO memory is repeated. When data is extracted from the FIFO memory, the extracted value is left-shifted by L bits, and the result is used for subsequent arithmetic processing.
[0018]
Thus, if βX is shifted L bits to the right and stored in the FIFO memory, the number of bits of each cell in the FIFO memory can be reduced by L bits. Therefore, the storage capacity of L × N bits can be saved in the entire FIFO memory.
[0019]
This method performs multi-valued, 2 ^ (nL) -value error diffusion processing on a number sequence βA, βB, βC,..., And thereby a sequence β′A, β′B, β′C, Since it can be considered that the error diffusion processing is performed on the image data, it is called a “double error diffusion processing method”. It has been experimentally confirmed that this method has almost no deterioration in image quality as compared with a normal error diffusion processing method. The above 2 ^ (nL) represents 2 to the power of (nL), and hereinafter, the power of a is referred to as “a ^ b”.
[0020]
Now, there are ink jet printers that can perform multi-value recording, that is, not only on / off of one dot unit but also one that can express ternary or more gradations in one dot. For example, an ink jet printer is configured to record dots in which either dark ink or light ink is selected. In this case, it is possible to record in three gradations: ink is not applied, light ink is applied, and dark ink is applied.
[0021]
The error diffusion method can also be used for such a recording apparatus. This is because this method allows not only binarization of the input image but also quantization of arbitrary steps such as ternary and quaternary values.
[0022]
For example, suppose that there is a recording device that can record each pixel with 5 gradations of density 0%, 25%, 50%, 75% and 100%. An example will be described. Assuming that the number of gradations of the input image is 256 (the gradation value representing white is 0, and the gradation value representing black is 255), this recording device uses gradations corresponding to gradation values 0, 64, 128, 192, and 255. It will be possible to record. Therefore, the input image is converted into five values using 32, 96, 160, and 224, which are in the middle of recordable gradation values, as threshold values, and an output value of 0 to 4 corresponding to the gradation value is assigned to each input pixel. Then, the recording apparatus records dots of density 0%, 25%, 50%, 75% and 100% according to the output value. At that time, the difference between the gradation value corresponding to the output value and the gradation value of the target pixel (quantization difference value) is set to a predetermined ratio to the peripheral pixels of the target pixel, as in the binarization process described above. Just diffuse.
[0023]
Some recording apparatuses can switch the number of output gradations. In such a recording apparatus, it is possible to freely select, for example, a binary, ternary, or quinary gradation, and when the binary is selected, the density is 0% or 100%. When a value is selected, dots of density 0%, 25%, 50%, 75% and 100% are formed and an image is recorded. In error diffusion processing corresponding to such a recording apparatus, it is essential to be able to change processing parameters in accordance with the number of output gradations. Furthermore, the following problems occur when trying to save the storage capacity of the FIFO memory by using the double error diffusion processing method.
[0024]
When binary, ternary, or quinary processing is performed on an image with 256 gradations, the range of the quantization difference value ΔX generated for each pixel is as follows.
When binarized: -128 to +127
Tri-level: -64 to +63
Five-valued: -32 to +31
[0025]
When δX is diffused to surrounding pixels according to the error diffusion matrix shown in FIG. 1B, the number of bits necessary to express βX stored in the FIFO memory is 8, 7 for binary, ternary, and quinary values, respectively. And 6 bits. If double error diffusion processing is applied in such a case and β′X is obtained by uniformly shifting L bits to the right, the number of effective bits of β′X differs depending on the quantization number. For example, if L = 4, the number of effective bits of β′X is only 6−4 = 2 bits in the case of quinarization.
[0026]
In other words, when using the same FIFO memory in any of binarization, ternarization, and quinarization, when the number of effective bits of β'X is the maximum, that is, according to the number of effective bits of binarization The number of bits of the FIFO memory is determined. If L = 4, 8-4 = 4 bits. Therefore, the two bits of the FIFO memory are not used at the time of quinarying, and the problem that the image quality of the output image is lowered correspondingly is left.
[0027]
[Constitution]
FIG. 2 is a block diagram illustrating a configuration example of an image processing apparatus that performs error diffusion processing according to the present invention. In accordance with the value set in the register of the output gradation number setting unit 211, the gradation number of the output image is binary, Can switch to ternary or quinary.
[0028]
In the figure, reference numeral 1 denotes an image input unit for inputting image data, which is, for example, an apparatus such as an image reader for reading an image and outputting 8-bit digital image data in a raster scanning format. An error diffusion processing unit 2 performs an error diffusion process, which will be described later, on the image data output from the input unit 1. 3 is an image output unit based on the image data output from the error diffusion processing unit 2, such as a monitor that displays an image, a printer that forms an image on recording paper, or an interface that outputs image data to a communication path. is there.
[0029]
The error diffusion processing unit 2 has the following configuration. A quantization unit 202 that performs quantization processing and calculates a quantization difference value, an output gradation number setting unit 211 for setting the number of output gradations, and a FIFO memory 210 that can hold image data for one line ( However, each cell of the FIFO memory is assumed to be 4 bits), adders 201 and 206, multiplier 205, registers 204 and 208, shift registers 203, 207 and 209.
[0030]
[Operation]
FIG. 3 is a flowchart for explaining the error diffusion processing of this embodiment. Assume that the number of pixels for one line of the input image is N, and the error diffusion matrix shown in FIG. 1B is used. 2 is based on the premise that the error diffusion matrix of FIG. 1B is used.If an error diffusion matrix different from FIG. 1B is used, it is necessary to slightly change the configuration of the error diffusion processing unit 2. It does not detract from the essence of the present invention.
[0031]
In step S1, the FIFO memory 210 and all registers and shift registers are cleared to zero. Then, the value of the target pixel X is acquired from the image input unit 1 in step S2 with the upper left pixel of the input image as the target pixel.
[0032]
Next, in step S3, the value of the pixel of interest X acquired from the image input unit 1, the value of the register 204, and the value of the shift register 209 are summed by the adder 201, and the result σX is input to the quantization unit 202. In step S4, the quantization unit 202 performs a quantization process on σX by the following algorithm to obtain a quantization difference value ΔX. The quantization threshold is set by the gradation number setting unit 211 according to the set gradation number.
[0033]
(1) When the number of output gradations is binary: Since the output is 0,1 and the corresponding gray value is 0,255, if σX> 128, output `` 1 '', and δX = σX-255 To do. If σX ≦ 128, “0” is output, and ΔX = σX.
[0034]
(2) When the number of output gradations is ternary: The output is 0, 1, 2 and the corresponding grayscale values are 0, 128, 255, so if σX> 192, output `` 2 '' and δX = σX-255 And If 64 <σX ≦ 192, “1” is output, and ΔX = σX−128. If σX ≦ 64, “0” is output, and ΔX = σX.
[0035]
(3) When the number of output gradations is quinary: The output is 0, 1, 2, 3, 4 and the corresponding gray values are 0, 64, 128, 192, 255, so if σX> 244, output “4” And ΔX = σX−255. If 160 <σX ≦ 244, “3” is output, and ΔX = σX−192. If 96 <σX ≦ 160, “2” is output and ΔX = σX−128. If 32 <σX ≦ 96, “1” is output and ΔX = σX−64. If σX ≦ 32, “0” is output, and ΔX = σX.
[0036]
The quantization result is output to the image output unit 3, and the quantization difference value ΔX is stored in the shift register 203.
[0037]
In step S5, the data read from the FIFO memory 210 is stored in the shift register 209, and the cell of the FIFO memory 210 is advanced by one. In step S6, the shift register 209 is shifted left by L bits. Here, L varies depending on the number of output gradations, and details thereof will be described in step S11.
[0038]
Next, in step S7, ΔX stored in the shift register 203 is shifted right by 2 bits. In step S8, the data stored in the shift register 203 is doubled by the multiplier 205, and the result is input to the adder 206. In step S9, the adder 206 adds the values of the registers 204 and 208 and the output of the adder 206, and stores the result in the shift register 207.
[0039]
Next, in step S 10, the data stored in the shift register 203 is stored in the register 204. In step S11, the shift register 207 is shifted right by L bits, and the result is stored in the FIFO memory 210 and the carry value generated by the processing is stored in the register 208.
[0040]
Here, when the input image data is 8 bits, the number of bits necessary to represent δX is 8 bits when the output gradation number is binary, 7 bits when ternary, and 6 bits when quinary . Therefore, L is determined so that the result of the shift fits in the width of the FIFO memory (4 bits). Specifically, L for binary, ternary, and quinary is 4, 3, and 2, respectively. It is set by the output gradation number setting unit 211.
[0041]
When image data as shown in FIG. 1A is input and the pixel H is the target pixel, the contents of the registers and the shift registers at the end of step S11 are as follows.
Register 204: δH × 1/4
Shift register 207: δG × 1/4 + δH × 2/4
Shift register 209: int {(δ C × 1/4 + δ D × 1/2) / (2 ^ L)} × (2 ^ L)
Register 208: (δG × 1/4 + δH × 2/4)
Carry value generated by L-bit right shift
However, int () represents a truncation operation after the decimal point.
In step S12, it is determined whether or not the target pixel is the right end of the line. If so, the process proceeds to step S13, and if not, the process proceeds to step S14. When the process proceeds to step S13, each register and each shift register are cleared to 0, the target pixel is moved to the left end of the next line, and the process returns to step S2. If the process proceeds to step S14, the target pixel is moved to the next pixel and the process returns to step S2.
[0043]
As described above, in the conventional error diffusion processing, the data stored in the FIFO memory as it is is shifted to the right by L bits and then stored, and the value read from the FIFO memory is shifted to the left by L bits to be used for the subsequent arithmetic processing. By using a series of processes that are used, the number of bits in the FIFO memory cells required for error diffusion processing is reduced, and the number of bits to be shifted is changed according to the number of output gradations. Quantization processing can be performed.
[0044]
That is, the shift amount L of βX is changed according to the quantization number of the error diffusion process. Set L = 4 for binarization, L = 3 for ternarization, L = 2 for quinary, etc. By performing such processing, when the number of output gradations is large (the number of bits of the quantization error is small), the quantization error when quantizing βX to β′X is reduced and more accurate (two Since it is possible to perform an error diffusion process (similar to a conventional error diffusion process that is not a multiple error diffusion process), an improvement in image quality can be expected.
[0045]
In addition, there are two different methods for error diffusion processing in handling data input to the FIFO memory. In the first method, as described above, an error value added from a pixel in the previous line of a line including the pixel is summed in advance and then stored in the FIFO memory. This is called the accumulation method.
[0046]
In the second method, in FIG. 1C, the quantization difference values generated by the quantization processing of the pixels B and C are sequentially stored in the FIFO memory as they are. Then, at the time of quantization processing of the pixel G in the next line, the quantization difference value of the pixels B and C read from the FIFO memory and the quantization difference value of the pixel F are multiplied by the matrix coefficient of the error diffusion matrix. Then, these multiplication results and the value of the pixel G are added to perform the quantization processing of the pixel G, which is called an average error reduction method.
[0047]
The error diffusion method of the present invention can be applied to both the error accumulation method and the average error reduction method. In other words, L bits are shifted right before storing in the FIFO memory, and L bits are shifted left when reading. Similarly, the method of the present invention in which the number of bits L to be shifted is changed according to the number of output gradations can be applied not only to the error accumulation method but also to the average error reduction method.
[0048]
[Other Embodiments]
Note that the present invention can be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), or a device (for example, a copier, a facsimile device, etc.) including a single device. You may apply to.
[0049]
Another object of the present invention is to supply a storage medium storing software program codes for realizing the functions of the above-described embodiments to a system or apparatus, and the computer (or CPU or MPU) of the system or apparatus stores the storage medium Needless to say, this can also be achieved by reading and executing the program code stored in the. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention. As a storage medium for supplying the program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.
[0050]
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
[0051]
Further, after the program code read from the storage medium is written into a memory provided in a function expansion card inserted in the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the card or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
[0052]
When the present invention is applied to the above-described storage medium, the storage medium stores program codes corresponding to the above-described flowcharts. To briefly describe, each module shown in the memory map example of FIG. Is stored in a storage medium. That is, at least the program code of each module of “module name 1”, “module name 2”, and “module name 3” may be stored in the storage medium.
[0053]
【The invention's effect】
As described above, according to the present invention, when performing quantization by error diffusion processing, image processing capable of preventing image quality deterioration of an output image and saving memory capacity of a memory for storing quantization errors. An apparatus and method thereof can be provided.
[Brief description of the drawings]
FIG. 1A is a diagram for explaining an error diffusion method;
FIG. 1B is a diagram for explaining an error diffusion method;
FIG. 1C is a diagram for explaining an error diffusion method;
FIG. 1D is a diagram for explaining an error diffusion method;
FIG. 2 is a block diagram showing a configuration example of an image processing apparatus that performs error diffusion processing according to the present invention;
FIG. 3 is a flowchart for explaining error diffusion processing according to the embodiment;
FIG. 4 is a diagram showing an example of a memory map of a storage medium in which program codes for error diffusion processing according to the present invention are stored.

Claims (8)

入力される多値画像データに誤差拡散処理を施す画像処理方法であって、
設定された出力階調数に応じた閾値および定数を設定する設定ステップと、
画素データを前記閾値で量子化し、その量子化誤差を求める量子化ステップと、
あるラインにおける量子化により発生した複数の量子化誤差に所定の演算を施して、そのラインの次のラインの所定画素のデータに加える誤差集積値を演算し、その誤差集積値を前記定数で除してメモリに格納する第一の演算ステップと、
前記メモリから読出したデータに前記定数を乗じて前記所定画素のデータに加える第二の演算ステップとを有し、
前記量子化ステップは、前記第二の演算ステップによる演算が施された画素のデータを量子化することを特徴とする画像処理方法。
An image processing method for performing error diffusion processing on input multilevel image data,
A setting step for setting a threshold and a constant according to the set output gradation number;
A quantization step of quantizing the pixel data with the threshold and determining a quantization error thereof;
A predetermined calculation is performed on a plurality of quantization errors generated by quantization in a certain line, an error integrated value added to data of a predetermined pixel in the next line of the line is calculated, and the error integrated value is divided by the constant. And a first calculation step for storing in the memory,
A second calculation step of multiplying the data read from the memory by the constant and adding to the data of the predetermined pixel,
The image processing method according to claim 1, wherein the quantization step quantizes the pixel data subjected to the operation in the second operation step.
入力される多値画像データに誤差拡散処理を施す画像処理方法であって、
設定された出力階調数に応じた閾値および定数を設定する設定ステップと、
画素データを前記閾値で量子化し、その量子化誤差を求める量子化ステップと、
量子化により発生した量子化誤差を前記定数で除してメモリに格納する第一の演算ステップと、
前記メモリから読出したデータに前記定数を乗じ、所定の演算を施して画素のデータに加える第二の演算ステップとを有し、
前記量子化ステップは、前記第二の演算ステップによる演算が施された画素のデータを量子化することを特徴とする画像処理方法。
An image processing method for performing error diffusion processing on input multilevel image data,
A setting step for setting a threshold and a constant according to the set output gradation number;
A quantization step of quantizing the pixel data with the threshold and determining a quantization error thereof;
A first calculation step of dividing a quantization error generated by quantization by the constant and storing it in a memory;
A second calculation step of multiplying the data read from the memory by the constant, performing a predetermined calculation, and adding to the pixel data;
The image processing method according to claim 1, wherein the quantization step quantizes the pixel data subjected to the operation in the second operation step.
前記定数は、前記第一の演算ステップによる除算結果が所定ビット数に収まるように設定されることを特徴とする請求項1または請求項2に記載された画像処理方法。3. The image processing method according to claim 1, wherein the constant is set so that a result of division by the first calculation step is within a predetermined number of bits. 入力される多値画像データに誤差拡散処理を施す画像処理装置であって、
設定された出力階調数に応じた閾値および定数を設定する設定手段と、
画素データを前記閾値で量子化し、その量子化誤差を求める量子化手段と、
あるラインにおける量子化により発生した複数の量子化誤差に所定の演算を施して、そのラインの次のラインの所定画素のデータに加える誤差集積値を演算し、その誤差集積値を前記定数で除して記憶手段に格納する第一の演算手段と、
前記記憶手段から読出したデータに前記定数を乗じて前記所定画素のデータに加える第二の演算手段とを有し、
前記量子化手段は、前記第二の演算手段による演算が施された画素のデータを量子化することを特徴とする画像処理装置。
An image processing apparatus that performs error diffusion processing on input multi-valued image data,
Setting means for setting a threshold value and a constant according to the set output gradation number;
Quantization means for quantizing pixel data with the threshold and obtaining a quantization error thereof;
A predetermined calculation is performed on a plurality of quantization errors generated by quantization in a certain line, an error integrated value added to data of a predetermined pixel in the next line of the line is calculated, and the error integrated value is divided by the constant. And first calculating means for storing in the storage means,
Second arithmetic means for multiplying the data read from the storage means by the constant and adding to the data of the predetermined pixel,
The image processing apparatus characterized in that the quantization means quantizes pixel data that has been subjected to computation by the second computation means.
入力される多値画像データに誤差拡散処理を施す画像処理装置であって、
設定された出力階調数に応じた閾値および定数を設定する設定手段と、
画素データを前記閾値で量子化し、その量子化誤差を求める量子化手段と、
量子化により発生した量子化誤差を前記定数で除して記憶手段に格納する第一の演算手段と、
前記記憶手段から読出したデータに前記定数を乗じ、所定の演算を施して画素のデータに加える第二の演算手段とを有し、
前記量子化手段は、前記第二の演算手段による演算が施された画素のデータを量子化することを特徴とする画像処理装置。
An image processing apparatus that performs error diffusion processing on input multi-valued image data,
Setting means for setting a threshold value and a constant according to the set output gradation number;
Quantization means for quantizing pixel data with the threshold and obtaining a quantization error thereof;
A first arithmetic unit that divides a quantization error caused by quantization by the constant and stores it in a storage unit;
A second calculation means for multiplying the data read from the storage means by the constant, performing a predetermined calculation, and adding to the pixel data;
The image processing apparatus characterized in that the quantization means quantizes pixel data that has been subjected to computation by the second computation means.
前記定数は、前記第一の演算手段による除算結果が所定ビット数に収まるように設定されることを特徴とする請求項4または請求項5に記載された画像処理装置。6. The image processing apparatus according to claim 4, wherein the constant is set so that a result of division by the first arithmetic unit is within a predetermined number of bits. 入力される多値画像データに誤差拡散処理を施す画像処理のプログラムコードが記録された記録媒体であって、
設定された出力階調数に応じた閾値および定数を設定する設定ステップのコードと、
画素データを前記閾値で量子化し、その量子化誤差を求める量子化ステップのコードと、
あるラインにおける量子化により発生した複数の量子化誤差に所定の演算を施して、そのラインの次のラインの所定画素のデータに加える誤差集積値を演算し、その誤差集積値を前記定数で除してメモリに格納する第一の演算ステップのコードと、
前記メモリから読出したデータに前記定数を乗じて前記所定画素のデータに加える第二の演算ステップのコードとを有し、
前記量子化ステップは、前記第二の演算ステップによる演算が施された画素のデータを量子化することを特徴とする記録媒体。
A recording medium in which a program code of image processing for performing error diffusion processing on input multi-valued image data is recorded,
A code of a setting step for setting a threshold and a constant according to the set number of output gradations;
A quantization step code for quantizing the pixel data with the threshold and determining the quantization error;
A predetermined operation is performed on a plurality of quantization errors generated by quantization in a line, an error integrated value to be added to data of a predetermined pixel in the next line of the line is calculated, and the error integrated value is divided by the constant. Code of the first calculation step to be stored in the memory,
A code of a second calculation step of multiplying the data read from the memory by the constant and adding to the data of the predetermined pixel,
The recording step is characterized in that the quantization step quantizes the pixel data that has been subjected to the computation in the second computation step.
入力される多値画像データに誤差拡散処理を施す画像処理のプログラムコードが記録された記録媒体であって、
設定された出力階調数に応じた閾値および定数を設定する設定ステップのコードと、
画素データを前記閾値で量子化し、その量子化誤差を求める量子化ステップのコードと、
量子化により発生した量子化誤差を前記定数で除してメモリに格納する第一の演算ステップのコードと、
前記メモリから読出したデータに前記定数を乗じ、所定の演算を施して画素のデータに加える第二の演算ステップのコードとを有し、
前記量子化ステップは、前記第二の演算ステップによる演算が施された画素のデータを量子化することを特徴とする記録媒体。
A recording medium in which a program code of image processing for performing error diffusion processing on input multi-valued image data is recorded,
A code of a setting step for setting a threshold and a constant according to the set number of output gradations;
A quantization step code for quantizing the pixel data with the threshold and determining the quantization error;
A code of a first calculation step for dividing a quantization error caused by quantization by the constant and storing it in a memory;
A second operation step code for multiplying the data read from the memory by the constant, applying a predetermined operation to the pixel data, and
The recording step is characterized in that the quantization step quantizes the pixel data that has been subjected to the computation in the second computation step.
JP17612597A 1997-07-01 1997-07-01 Image processing apparatus and method Expired - Fee Related JP3697027B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17612597A JP3697027B2 (en) 1997-07-01 1997-07-01 Image processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17612597A JP3697027B2 (en) 1997-07-01 1997-07-01 Image processing apparatus and method

Publications (2)

Publication Number Publication Date
JPH1127527A JPH1127527A (en) 1999-01-29
JP3697027B2 true JP3697027B2 (en) 2005-09-21

Family

ID=16008119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17612597A Expired - Fee Related JP3697027B2 (en) 1997-07-01 1997-07-01 Image processing apparatus and method

Country Status (1)

Country Link
JP (1) JP3697027B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011035802A (en) * 2009-08-05 2011-02-17 Brother Industries Ltd Image processor

Also Published As

Publication number Publication date
JPH1127527A (en) 1999-01-29

Similar Documents

Publication Publication Date Title
JPH0777418B2 (en) Image processing device
JP3830561B2 (en) Error diffusion method, error diffusion system, and error generation method
JPH05308514A (en) Method for quantizing pixel value
JP4217657B2 (en) Image processing method, program, storage medium, and apparatus
JPH10271331A (en) Image processing method and device therefor
JPH11187264A (en) Method and device for processing image
JPS6348225B2 (en)
JP3697027B2 (en) Image processing apparatus and method
JP3322522B2 (en) Color image processing equipment
JPS5896459A (en) Quantizing method for picture luminance signal
JP2000022951A (en) Image processing method and image processor
JPH0698157A (en) Halftone image forming device
JP3245600B2 (en) Image processing device
US6057934A (en) Method and apparatus of correcting image data levels
JP3943747B2 (en) Image processing apparatus and multi-value processing method
JP3679522B2 (en) Image processing method and apparatus
JP3459725B2 (en) Image processing apparatus and method
JP2966848B2 (en) Image processing method
JP3200287B2 (en) Image processing method and apparatus
JP3833277B2 (en) Image recording device
JP2002094785A (en) Image processing unit, image processing method, and storage medium
JPS61217883A (en) Picture per-processing system
JPH11339032A (en) Image processing method and device therefor
JPH06284290A (en) Picture information processor
JPH07212593A (en) Method and device for processing picture

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050112

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: 20050610

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050701

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080708

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130708

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees