JP3679522B2 - 画像処理方法及びその装置 - Google Patents
画像処理方法及びその装置 Download PDFInfo
- Publication number
- JP3679522B2 JP3679522B2 JP25491796A JP25491796A JP3679522B2 JP 3679522 B2 JP3679522 B2 JP 3679522B2 JP 25491796 A JP25491796 A JP 25491796A JP 25491796 A JP25491796 A JP 25491796A JP 3679522 B2 JP3679522 B2 JP 3679522B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- error
- error diffusion
- processing
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は画像処理方法及びその装置に関し、1画素がnビットで表される多値画像データを入力し、所望の階調数及び画素の深さに合わせて、そのnビット多値画像データを2値化或はm(n>m>2)値化処理する画像処理方法及びその装置に関するものである。
【0002】
【従来の技術】
スキャナにより原稿画像を読取って送信できるファクシミリ等では、そのスキャナにより画像データを読み取る場合、その読取った画像データを送信するのか、或は単にコピーを取るのかといった、その画像データの出力目的に合わせた処理を行っておらず、常に所定の解像度で読取って、その画像データを2値化処理していた。また、ファクシミリ装置で一般に用いられている擬似中間調処理である誤差拡散処理の階調数においても、コピーの場合でも送信の場合でも同様に、例えば6ビットの64階調が固定的に採用されていた。
【0003】
近年、LBP(レーザビームプリンタ)等において、高解像度に記録を行うことができる記録装置が安価に提供されるようになってきており、簡単に4値等の多値記録ができるようになってきている。例えば、主走査方向に1200dpi(ドット/インチ)の解像度をもつ記録装置に、主走査方向の解像度が400dpiの画像データを記録する場合には、入力される画像データの濃度値に応じ1200dpiの小ドットの個数(ここでは3個)を入力画像の濃度値に対応させることにより、4値での記録が実現できる。もちろん400dpiで2値記録を行う場合には、黒ならば1200dpiの小ドット3個を全てを黒に対応させ、白ならば1200dpiの小ドット3個を全て白に対応させれば良い。
【0004】
また近年、コピー機器やファクシミリ装置の複合化が進み、ファクシミリ装置においても、コピー時には256階調以上の高品位な印刷が求められるようになってきている。この様なことから、ファクシミリ装置のスキャナで原稿画像を読み取る際、その読取った画像データを送信する場合には、例えば64階調の2値画像データを2値化処理により生成し、コピーを取るために使用する時には、プリンタ部の記録特性(解像度や階調性等)を最大限に生かすために、例えば256階調の画像データをm値化処理により生成することが要望されている。このような画像処理に際して、2値化の画像処理としては2値誤差拡散処理が広く用いられており、またm値化処理としては、2値誤差拡散処理を拡張し、出力値をm値化したm値誤差拡散処理が広く採用されており、これら機能がそれぞれの装置の目的に応じて別々に実装されているのが現状である。
【0005】
【発明が解決しようとする課題】
しかしながら上述したファクシミリ装置等において、読取った画像を通信に用いるために2値化処理する2値化処理回路と、読取った画像を複写するための多値化処理を行う多値化処理回路とを別々な回路で構成すると、ファクシミリ装置として非常に高価なものとなってしまう欠点がある。
【0006】
本発明は上記従来例に鑑みてなされたもので、2値誤差拡散及びm値誤差拡散処理における誤差バッファへのアクセスを共通化することにより、装置規模が大きくなるのを防止した画像処理方法及びその装置を提供することを目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するために本発明の画像処理装置は以下のような構成を備える。即ち、
1画素がnビットで表わされる多値画像データを入力する画像入力手段と、
前記画像入力手段で入力された前記多値画像データに対して、当該画像データの各画素データを2値或はm(2<m<n)値化するために、2値誤差拡散処理或はm値誤差拡散処理を実行する処理手段とを有し、
前記処理手段は、前記m値誤差拡散処理における有効ビット数で構成され、前記2値誤差拡散処理及びm値誤差拡散処理を共通して実行可能な誤差拡散回路と、
前記誤差拡散回路を用いて前記2値誤差拡散処理及びm値誤差拡散処理で演算された誤差データのうち、次の処理ラインに拡散するための誤差データを格納する誤差バッファと、
前記2値誤差拡散処理及びm値誤差拡散処理で演算された誤差データを前記誤差バッファに格納するため、前記m値誤差拡散処理において演算された誤差データを、2値誤差拡散処理で発生する誤差データの有効ビット数に合わせるクランプ処理部と、
を有することを特徴とする。
【0012】
上記目的を達成するために本発明の画像処理方法は以下のような工程を備える。即ち、
1画素がnビットで表わされる多値画像データを入力する画像入力工程と、
前記画像入力工程で入力された前記多値画像データに対して、当該画像データの各画素データを2値或はm(2<m<n)値化するために、2値誤差拡散処理或はm値誤差拡散処理を実行する処理工程とを有し、
前記処理工程では、前記m値誤差拡散処理における有効ビット数で構成され、前記2値誤差拡散処理及びm値誤差拡散処理を共通して実行可能な誤差拡散回路と、
前記誤差拡散回路を用いて前記2値誤差拡散処理及びm値誤差拡散処理で演算された誤差データのうち、次の処理ラインに拡散するための誤差データを格納する誤差バッファと、
前記2値誤差拡散処理及びm値誤差拡散処理で演算された誤差データを前記誤差バッファに格納するため、前記m値誤差拡散処理において演算された誤差データを、2値誤差拡散処理で発生する誤差データの有効ビット数に合わせるクランプ処理部と、
を用いて2値誤差拡散処理及びm値誤差拡散処理を共通に処理することを特徴とする。
【0013】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【0014】
図1は、本実施の形態の画像処理装置の機能全体を示す機能ブロック図である。
【0015】
100はスキャナ部で、原稿画像をCCD(固体撮像素子)等で読み取り、その読取ったアナログ画像信号を、例えば8ビットのA/D変換器でデジタル信号に変換し、1画素が8ビット(256階調)の画像データとして出力する。またこのスキャナ部100は、その画像読み取りと同時に、シェーディング補正等の、CCD(固体撮像素子)や光学系の補正処理を行っている。200は空間フィルタ処理部で、スキャナ部100から出力される1画素が8ビットで表される画像データを入力し、その画像データに2次元の空間フィルタ演算を施すことにより、その画像データの解像度補償を行っている。尚、ここでもし変倍が必要ならば、スキャナ部100と空間フィルタ処理部200との間で、不図示の線形補間演算による変倍を行うことができる。300は輝度濃度変換部で、例えばルックアップテーブル等を使用して、空間フィルタ処理部200で解像度補償された画像データ(輝度データ)を濃度データに変換する。尚、この輝度濃度変換部300のルックアップテーブルには、画像の濃い/薄いや、後で説明する2値化・4値化等の画像処理モードに応じて、本実施の形態の画像処理装置の制御部110(図2)からテーブルデータがダウンロードされる。また、このルックアップテーブルには、LOG変換曲線を基に、更にプリンタ700の記録特性を加味して補正を加えたデータが用いられている。
【0016】
400は2値及び4値化処理部で、輝度濃度変換部300より出力される濃度データを入力し、2値化もしくは4値化処理を施して出力する。500はDRAMやSRAM等で構成される画像メモリで、スキャナ部100で読み取られ2値化もしくは4値化処理により生成された1画素が2ビット或は1ビットで構成される画像データ、或は不図示の通信回線等を介して入力した画像データを画像ファイルとして蓄積している。600は2値・4値展開部で、主走査方向の記録解像度が1200dpiであるプリンタ700に対し、400dpiの2値画像データ或は400dpiの4値画像データを入力し、それぞれの画像データに対し最適な1200dpiの小ドットの配置を施してプリンタ700に出力する。プリンタ600は、例えば解像度1200dpiのLBPプリンタであり、2値・4値展開部600で展開された2値データ(0又は1)を用いて記録媒体(記録紙等)に、その画像データを印刷している。
【0017】
尚、本実施の形態では、多値誤差拡散処理を4値化処理の場合で説明しているが本発明はこれに限定されるものでなく、プリンタ700の解像度等に応じて、一般的にm値化処理できることはいうまでもない。
【0018】
図2は本実施の形態の画像処理装置の基本構成を示すブロック図で、前述の図1と共通する部分は同じ番号で示し、その説明を省略する。
【0019】
110は前述した装置全体を制御する制御部で、マイクロコンピュータ等のCPU120、CPU120による処理の実行時にワークエリアとして使用され、各種データを一時的に保存するRAM121、CPU120の制御プログラムやデータ等を記憶するプログラムメモリ122等を備えている。またルックアップテーブル(LUT)123は、前述した輝度濃度変換に使用されるテーブルを記憶している。また124は空間フィルタ処理部200で使用されるラプラシアン・フィルタ定数等を記憶している。111はスキャナ100により読取った原稿画像や、各種処理を施した画像を表示する表示部である。201,202は後述する空間フィルタ処理で使用されるラインバッファで、本実施の形態では1アドレスが16ビットデータを記憶できるRAMのアドレスを共通に使用することにより構成されている。203は、後述するラインバッファ201,202等の出力値をラッチするラッチ回路群である。
【0020】
尚、図1の空間フィルタ処理部200は、制御部110、ラインバッファ201,202及びラッチ群203等により達成され、輝度濃度変換部300の処理は制御部110のCPU120などにより実現されている。また、本実施の形態では、4値・2値化処理部400及び2値・4値展開部600をハードウェアで構成しているが、CPU120により実行されるプログラムにより実現されてもよい。
【0021】
[実施の形態1]
以下、本発明の実施の形態1の各処理部の特徴を中心に詳細に説明する。
【0022】
<空間フィルタ処理部200>
通常、画像データに対し空間フィルタ処理を施すためには、参照ライン数分、もしくは(参照ライン数−1)分のラインバッファが必要となる。この様なラインバッファは、従来は外付けのSRAM等で構成されており、SRAMのビット幅も8ビットのものが多数用意されていた。このことから入力データが8ビットの場合、参照ラインバッファを全て8ビットのメモリで構成しても、装置コストの面では特に問題はなかった。しかし、近年のIC技術の進歩により、外部参照バッファに用いられるSRAMを容易に内蔵できるようになってきている。ところが、このようなラインバッファを内蔵させると、メモリ容量が直接製造コストとして反映されるため、そのメモリ容量を削減する必要がある。このことから、本実施の形態では、演算による影響が少ない程度にまで参照バッファの有効数字を削減することにより、装置の性能維持と装置コストの低価格化の両立を図っている。
【0023】
図3(A)は、比較的良く用いられる解像度補償のためのラプラシアン・フィルタのマトリックスの一例を示す図、図3(B)は、そのマトリクス演算に用いられるラインバッファを説明するための図である。
【0024】
3ライン分の画像データ(画素データ)を参照して空間フィルタ処理のための演算処理を行うためには、副走査方向の画素を同時に参照するために8ビットのラインバッファが2本必要となる。本実施の形態においては、比較的演算の影響の少ないライン1のビット数を8ビットから6ビットに減らすことにより、装置の性能と装置コストのバランスを保つようにする。これにより400dpiでB4判の画像データを記憶する場合、8192ビット分、メモリ容量を削減することができる。
【0025】
図4は、空間フィルタ処理部200のラインバッファとラッチ群の構成を示すブロック図である。
【0026】
ラインバッファ201,202は、副走査方向に画素データを遅延させ、3ライン分の画素データを同時に参照するためのラインバッファである。ラッチ群203は、画素データを主走査方向に遅延させている。これらラッチ群から空間フィルタ処理のためのデータが取り出される。
【0027】
本実施の形態においては、画像データの1画素を8ビットで表わし、ラインバッファ201,202を1つのRAM(16ビット/1アドレス)で構成し、RAMの下位(0〜7)ビット(8ビット)を1ライン分遅延するためのラインバッファ202に、上位の(8〜13)ビット(6ビット)を2ライン目の遅延のためのラインバッファ201に割り当てている。
【0028】
またラッチ群203のライン3に相当するラッチ回路群203aには入力された画素データ(8ビット)が直接ラッチされ、ライン2に相当するラッチ回路群203bにはラインバッファ202の出力データ(8ビット)がラッチされ、更にラッチ回路群203cにはラインバッファ201の出力データ(6ビット)がラッチされる。
【0029】
図5は、本実施の形態の空間フィルタ処理部200におけるメモリアクセスを示すタイミングチャートである。
【0030】
クロック(DCLK)の立ち上がりに同期して入力される画像データ(DATIN)は、クロック(DCLK)の立ち上がりに同期してラインバッファ201,202の指示されたアドレス(A1〜An)に格納される。図5のアクセスは、このラインバッファに格納されたデータへのアクセスタイミングを示す図で、RDは読み出しタイミングを、WRは書込みタイミングを示している。例えば、図5の読み出し(RD)タイミング210において、ラインバッファ(RAM)のアドレス“A1”に格納されているデータ“D1”が2ビットシフトされたデータ(ID1)が読み出され(RDDATで示される)、次の書込みタイミング(WR)211で、その2ビットシフトされて読み出されデータ(ID1)と元のデータ(D1)とが組み合わされて、同じアドレス(A1)に格納される。これにより、元の画素データ(D1)が、そのアドレス(A1)の下位ビット(0〜7)に配置され、また、2ビットシフトされたデータ(ID1)が、そのアドレス(A1)の上位ビット(8〜13)に配置される。このように、読み取りアドレスと書き込みアドレスとが同一となるようにし、リードモディファイドライトによりRAM(ラインバッファ)の更新を行う。このような動作を繰り返すことにより、RAMの下位ビット(0〜7)位置(ラインバッファ202に相当)に1ライン分だけ遅延された画素データが、同じアドレスの上位ビット(8〜13)位置(ラインバッファ201に相当)には、2ライン分遅延された画素データが格納されることになる。
【0031】
ラインバッファ201,202から読み出されたライン分遅延された画像データ及び入力される画像データ(DATIN)は、クロック(DCLK)の立ち上がりに同期して、順次ラッチ群203に取り込まれる。ラッチ群203では、ラインバッファ201,202から読み出されたデータ及び入力される画像データを、それぞれクロック(DCLK)の立ち上がりに同期して順次シフトする。これにより、2次元(3×3)の画像データが取り出される。
【0032】
ここで、ラッチ群203にラッチされたデータの中で、図4のX,A,B,C,Dで示される各データが、図3(A)の空間フィルタのX,A,B,C,Dの各位置に対応している。実際の空間フィルタの演算においては、A及びBに対応する値は、メモリの上位6ビットのみの値であるため、ビットシフトされて下位2ビットに“00”が挿入され、8ビットデータとして演算処理がなされる。
【0033】
filter = X<<2−((A<<2) + (B<<2) + C + D);
上の式は、本実施の形態の空間フィルタの演算をC言語で表現したものである。Xはフィルタ係数が“4”であるため2ビットだけ左シフト(×4)を行い、A,Bは6ビットデータを他の8ビットデータと同一に扱うためにそれぞれ2ビット左シフトする。実際の装置においては、例えば、このような演算をハードウェアで実現する場合には、ラッチ回路群203より加算器への配線においてビット位置をずらすことにより、このようなビットシフトが実現される。ここで得られた空間フィルタ値がXのデータに更に加算され、解像度補償が行われた、1画素が8ビットの画像データとして出力される。またこのような演算をソフトウェアにより実現する場合には、レジスタのシフト命令を実行して加算することにより容易に実現できる。
【0034】
<輝度濃度変換部300>
輝度濃度変換部300は、空間フィルタ処理部200で解像度補償された1画素が8ビットの輝度データを入力し、ルックアップテーブルを参照して濃度データに変換して出力する。上述したように、通常、輝度濃度変換テーブルはLOG変換に、更にプリンタ700の記録特性の補正を加えたものが用いられる。
【0035】
本実施の形態では、ここで2値化処理及び4値化処理のそれぞれのモードに対応し、後段の4値・2値化処理部400で必要とされるデータ幅になるように濃度データへの変換が行われる。
【0036】
先ず本実施の形態では、2値誤差拡散処理を行う場合には全白データが“0”、全黒データが“63”(6ビット)としてデータ処理がなされる。
【0037】
図6(A)は、2値誤差拡散処理のための輝度−濃度変換の特性例を示す図である。
【0038】
2値誤差拡散の場合には、8ビット、即ち、“0”〜“255”の画像データを入力し、6ビット、即ち、“63”〜“0”の濃度データに変換して出力する。また、4値誤差拡散処理を行う場合には、全白データが“0”、全黒データを“255”としてデータ処理がなされる。
【0039】
図6(B)は、4値誤差拡散処理のための輝度−濃度変換の特性例を示す図である。ここでは8ビット、即ち、“0”〜“255”の画像データを入力して、8ビット、即ち、“255”〜“0”の濃度データに変換して出力する。
【0040】
更に、プリンタ700の性能によっては、特定濃度の出力パターンを記録すると、記録された画像品位が低下する(画像が荒れる)場合がある。例えば、1画素が8ビットで表される256階調の画像データを用い、4値誤差拡散処理を行ってプリント出力した場合、濃度が“31”前後の濃度データの出力パターンの画像が荒れる傾向にある。これは、濃度“31”の画像データにおいて、誤差拡散の特性により出力データが“0”と“1”の市松状態となり、この市松データに対しプリンタ700の記録特性が追従できないためであると考えられる。そこでこの様な場合には、記録された画像が荒れるような濃度(ここでは濃度“31”)の画像データを飛ばした輝度−濃度変換テーブルを作成する。
【0041】
図6(C)は、このようにして濃度“31”を飛ばして作成された輝度−濃度変換テーブルの特性例を示す図である。
【0042】
<2値及び4値化処理部400>
先ず、m値化処理として4値誤差拡散処理のアルゴリズムに関して説明する。2値の誤差拡散と4値誤差拡散の違いは、3個の閾値と4個の出力濃度より誤差が演算される点にある。4値における誤差拡散は2値の誤差拡散と同様に、出力画素濃度(ここでは、DENT3=255,DENT2=170,DENT1=85,DENT0=0)と、補正濃度X'ij(画素濃度Xijと誤差拡散量との総和)との差を新たな誤差として、図7に示すように、近接画素に誤差配分の拡散マトリックスに対応した重み付けをしながら拡散していく。この近接画素への誤差の配分に関する処理においては、2値誤差拡散及び4値誤差拡散ともに同様に補正濃度X'ijは、
X'ij=Xij+SUM(Ekl×αkl)/SUM(αkl)
ここでαは、誤差配分のための重み係数、Eklは、処理画素以前に発生した誤差を示している。
【0043】
次に、補正濃度X'ijの信号レベルを以下に示す式(1)〜(4)を用い、3個の閾値により判定して記録出力信号レベル(OUTPUT)及び誤差量(E)を決定する。
【0044】
ここで各閾値はそれぞれ、TH1=(DENT1+DENT0)/2、TH2=(DENT2+DENT1)/2、TH3=(DENT3+DENT2)/2である。
【0045】
X'ij>TH3 ならば出力画素濃度 OUTPUT=3 で誤差 E=X'ij−DENT3…(1)
TH3>=X'ij>TH2 ならば出力画素濃度 OUTPUT=2 で誤差 E=X'ij−DENT2…(2)
TH2>=X'ij>TH1 ならば出力画素濃度 OUTPUT=1 で誤差 E=X'ij−DENT1…(3)
TH1>=X'ij ならば出力画素濃度 OUTPUT=0 で誤差 E=X'ij−DENT0…(4)
ここで発生する新しい誤差E=X'ij−(DENT3,DENT2,DENT1,DENT0)を、図7に示すような重み付けで、再度、近画素素に拡散して配置する。これを繰り返すことにより、8ビットの入力画像データ(0〜255)は4値(0〜3)のいずれかのデータに変換されて出力されることになる。
【0046】
また、2値誤差拡散処理の場合は、上記4値誤差拡散の誤差演算のための濃度をBDENT1=63,BDENT0=0とし、閾値をBTH1=(BDENT1+BDENT0)/2とすると、下記の式(5),(6)で示すように、出力画素濃度(OUTPUT)に応じて決定される誤差(E)を、前述と同様に新しい誤差として、図7に示す重み付けで拡散して配置することになる。
【0047】
X'ij>BTH1 ならば出力画素濃度 OUTPUT=1 で誤差 E=X'ij−BDENT1 …(5)
BTH1>=X'ij ならば出力画素濃度 OUTPUT=0 で誤差 E=X'ij−BDENT0 …(6)
本実施の形態では、2値誤差拡散と4値誤差拡散処理において、誤差の分配演算が共通なことに着目し、誤差配分の演算処理のブロック及び誤差バッファのアクセスブロックを共通化することで、装置の規模が大きくなることを防止しつつ、4値誤差拡散と2値誤差拡散を同時に実現することができる。具体的には、誤差配分演算回路を有効ビット数の大きい4値誤差拡散の有効ビットで構成し、誤差バッファに格納する際に、有効ビット数を2値誤差拡散の有効ビット数にクランプ処理することにより、誤差バッファメモリのサイズを抑える。本実施の形態では、誤差バッファを6ビットにし、この誤差バッファに格納する際に算出された誤差量を“−32”〜“+31”にクランプ処理している。
【0048】
図8は、本実施の形態における2値誤差拡散及び4値誤差拡散処理を共通に処理するための誤差拡散回路例を示すブロック図である。
【0049】
401〜403はラッチ回路で、重み付け分配され拡散される誤差データを保持しており、画素クロックに同期してデータが更新される。404〜407は加算器で、後述の誤差配分器411から出力される、各画素の処理時に発生する誤差が分配されたデータの加算を行う。408はクランプ処理回路で、加算器405の出力データが“−32”以下の場合は“−32”に、“+31”以上の場合は“31”にそれぞれクランプ処理し、6ビットの符号付きデータ(“−32”〜“31”)に変換して画像メモリ500に出力する。409は比較器で、2値もしくは4値誤差拡散のそれぞれの処理モードに応じて、加算器407から出力される誤差データにより補正された誤差濃度値を閾値と比較し、出力値及び誤差演算の算出式を選択する信号415を出力している。410は誤差算出器で、比較器409よりの信号415、及び加算器407からの加算結果を入力し、それにより決定される着目画素の新しい誤差量を算出して出力する。411は誤差配分器で、誤差算出器410から出力される新しい誤差量に対し、図7に対応する重み付け係数で誤差量を重み付けして、各加算器404,405,406に分配している。
【0050】
この4値・2値化処理部400におけるデータの流れについて、4値誤差拡散処理を例に説明する。尚、2値誤差拡散の場合は、閾値及び新しい誤差算出のための演算式が変わるだけで、以下に説明する4値誤差拡散処理と同様な処理の流れで実施される。
【0051】
先ず入力された画像データ414は、加算器407においてラッチ403の出力(拡散された誤差データ)と加算され、比較器409及び誤差算出器410に出力される。比較器409では、上式(1)〜(4)に示すように、加算器407の出力データである補正画素データと各閾値TH1〜TH3とを比較して4値出力値を決定し、これと同時に新しい誤差量の算出式を選択する選択信号415を誤差算出器410に出力する。この誤差算出器410では、上式(1)〜(4)に相当する不図示の減算回路があり、上式(1)〜(4)のいずれの結果を用いるかを、比較器409からの選択信号415に応じて選択し、新しい誤差を出力する。
【0052】
尚、誤差算出器410に設けられた減算器に対し、比較器409からの選択信号415により減算を行う値を切り替えることにより、新しい誤差量の算出を行ってもよい。
【0053】
こうして誤差算出器410から出力される新しい誤差量は、誤差配分器411で図7に対応する重み付けが行なわれ、その結果が各加算器404,406,409及びラッチ401に出力される。ここで“W3”の重み付けがなされた誤差は、ラッチ401にラッチされ、これにより次の画素の誤差算出により生成される誤差の“W2”の重み付けされた誤差と加算器404により加算される。この加算器404の出力はラッチ402にラッチされ、更に、次の画素の誤差算出により生成される誤差の“W1”の重み付けされた誤差と加算器405で加算される。この加算器405の出力は、処理ラインの次ラインに拡散される誤差量であり、クランプ回路408により“−32”から“31”の符号付き6ビットのデータにクランプ処理されて出力される。クランプ処理回路408の出力は、1ライン分データを遅延させるために、一旦誤差バッファに格納され、次のラインを処理する際に読み出される。
【0054】
また、加算器406では、1ライン分遅延された誤差バッファから読み出し値と、“W4”の重み付けされた誤差量とを加算し、その加算結果をラッチ403にラッチする。ラッチ403は、拡散された誤差の総和を補正量として出力する。これ以降、加算器407に戻り逐次、入力した画像データ414との加算が行われることにより、4値化された画像データが比較器409より出力されることになる。
【0055】
以上説明したように、入力された画像データ414は、2値誤差拡散モード時には2値化され、4値誤差拡散モード時には4値化され、2値データもしくは4値データとして出力される。このとき各ラッチ及び各加算器の有効ビット数は4値誤差拡散処理の有効ビット数に応じて構成される。
【0056】
<2値・4値展開部600>
2値・4値展開部600では、主走査400dpiの解像度の画像データを1200dpiの解像度の2値記録ができるプリンタ700に出力するため、入力データに応じて1200dpiの“0”(白)及び“1”(黒)の画像データに変換する。
【0057】
入力データが4値の画像データの場合には、その4値の値を1200dpiの小ドット3個からなる個数に対応させる。先ず4値の値が“0”の場合には、1200dpiの小ドット全てが“0”の値を出力する。次に4値の“1”の場合には、1200dpiの3個の小ドットの内の1個を“1”とし、残りの2個を“0”として出力する。同様に、4値の“2”の場合には、1200dpiの3個の小ドットの内2個を“1”、残りの1個を“0”として出力し、4値データが“3”の場合には、1200dpiの小ドットの3個全てを“1”として出力する。
【0058】
また入力される画像データが2値の400dpiの画像データの場合は、1200dpiの小ドットを3個まとめて、入力2値データが“0”の場合は3個の小ドットを全て“0”とし、2値入力データが“1”の場合には、3個の小ドットの全てを“1”として出力し、2値の400dpiの画像データの展開を行う。こうして展開された“0”“1”で構成されるデータがプリンタ700により印刷される。
【0059】
本実施の形態では、入力画像データとして、主走査400dpiで2値及び4値の画像データを展開する場合を説明する。先に説明したように、主走査400dpiの解像度の画像データを主走査方向に1200dpiの解像度の2値記録ができるプリンタ700に出力する場合、入力される4値の画像データを1200dpiの小ドット3個の個数に対応させることで、4値400dpiの画像データの記録が可能となる。また入力データが2値の400dpiの画像データの場合は、1200dpiの小ドットを3個をまとめて“0”或は“1”にすることにより、2値データで400dpiの画像データの記録が可能となる。
【0060】
まず最初に本実施の形態における小ドットの配置規則について説明する。
【0061】
図9(A)は、255階調の画像データを4値誤差拡散処理により4値化し、更に4値化された画像データを画像濃度に応じて規則的に左から小ドットを配置した場合の濃度データと記録濃度との関係を示すグラフ図である。
【0062】
通常、LBP等のプリンタ700は、入力される画像データが“1”であるか“0”であるかに応じて半導体レーザによる照射をオン/オフし、レーザ光がオンされた点が黒で記録される。この時、レーザ光のドット径は円形であり、かつそのドット径は全黒を表現するため、ドット同士が少しずつ重なるようなサイズのドットサイズが選択される。このため白黒が交互するような高い周波数を持ったオン/オフデータに対しては、黒くて潰れがちなドットからなる画像として記録される。このようなことから、図9(A)に示すように、画像データの濃度に対する記録濃度が極端に非線形なものになっている。
【0063】
以上のような、プリンタ700の特性を考慮して、本実施の形態では、小ドットを配置する際に、以下に示すように、偶数画素の場合には配置パターン0(pattern0)を選択して右側から黒ドット“1”を配置し、奇数画素の場合には、配置パターン1(pattern1)を選択し左側から黒ドット“1”を配置する。このようにして小ドットに展開することにより、出力データの周波数成分が抑えられ、白黒が交互するようなパターンをなくすことが可能となる。またこれと同時に、黒ドットが極力連続するように配置されるため、ドット系のはみ出しによる画像のつぶれが抑制されることになる。
【0064】
図9(B)は、255階調の画像データを4値誤差拡散より4値化し、更に4値化データを上記対称パターンを用いて小ドットに展開して記録した場合での、画像の濃度データと記録濃度との関係を示すグラフ図である。
【0065】
図9(B)は図9(A)とは異なり、画像データの濃度に対する記録濃度の関係が、図9(A)よりもかなり線形なものとなっている。このことから上記配置パターンを用いてドット展開して記録した場合には、より階調特性に優れた画像を記録することが可能となる。
【0066】
しかしながら、このような配置パターンを用いた場合、中間調表現は問題ないが、文字線画においてはエッジ部の画素が偶数にあたるか、奇数にあたるかにより、エッジ部において記録画像のキレが悪くなる可能性がある。
【0067】
図10(A)は、エッジの低濃度の部分が主走査方向において奇数画素となるため、エッジ部で疑似線が発生した例を示す図である。
【0068】
このようなエッジ部での不具合を防止するために本実施の形態では、下記のような例外処理を行う。即ち、本実施の形態では、m値化された画像データを入力する際に、着目画素濃度が“1”〜“(m−1)”の中間値を取り、両隣の画素が式(7),(8)を満たすか否かを判定する。そして、満たす場合には、偶数或は奇数番目に関係なく、固定パターンを選択するようにする。つまり、着目画素と左右の画素の濃度とを比較して画像のエッジ部であることを検出する。そしてエッジ部であれば、画素濃度の傾斜方向に応じて小ドットを配置することにより、エッジ部での再現性を向上させる。ここでDATn−1はDATnの右側の画素データを示し、DATn+1はDATnの左側の画素データを示す。
【0069】
DATn−1<DATn<DATn+1→配置パターン0 …(7)
DATn−1>DATn>DATn+1→配置パターン1 …(8)
図10(B)は、本実施の形態における偶数・奇数の対称パターン展開に、更に例外処理を導入した場合の出力例を示す図である。
【0070】
これによれば、画像のエッジ部において疑似線が発生することなく、良好な結果が得られていることがわかる。
【0071】
次に、図11を参照して、本実施の形態の2値・4値展開部600の具体的な構成例を詳細に説明する。
【0072】
図11は、2値・4値展開部600における小ドットの配置を決定する回路の構成を示すブロック図である。
【0073】
ここに入力される画像データは、画像出力をプリンタ700の水平同期信号に同期させるため、不図示のラインバッファに一旦画像データがバッファリングされた後、その水平同期信号に同期させながらラインバッファから読み出された画像データである。601はデコーダで、着目画素値(DATn)及びその着目画素の主走査方向の前後の画素値(DATn-1, DTAn+1)及び入力画素値をカウントする1ビットのトグルカウンタの出力値610が入力される。尚、このトグルカウンタの出力値610により、その画素が偶数番目の画素か奇数番目の画素かが判定される。
【0074】
このデコーダ601におけるデコードの論理は、下記のC言語で記述された論理式に従って、上記配置パターン0か、配置パターン1のいずれかを選択するかを決定する選択信号SELをセレクタ602に出力する。セレクタ602は、着目画素DATnの濃度値及び選択信号SELの値に応じて、小ドットのパターンを選択してパラレル・シリアル変換回路(P/S)603に出力する。このパラレル・シリアル変換回路603では、入力される3ビットのデータを、プリンタ700が要求する所望のスピードのシリアルデータに変換し、例えばレーザ光のオン/オフデータとしてプリンタ700に出力する。
【0075】
以上説明したように本実施の形態によれば、空間フィルタ処理部200では、副走査方向の参照データを取り出すためのラインバッファのビット数を減らすことができ、更には、2値化及び4値化に応じて輝度−濃度変換の出力範囲を切り換え、また4値化処理において、誤差拡散により誤差バッファに格納される誤差データを2値化時の誤差バッファの有効数字のビット数にクランプ処理することにより処理を行うブロックを共通にでき、プリンタの記録能力を最大限に生かした画像データを生成することができる。
【0076】
また以上説明したように本実施の形態によれば、m値化された画像データをドット展開してプリンタ700に出力する際に、m値の入力画像データにおいて、画素が偶数番目の画素と奇数番目の画素の場合で対称となるようなパターンに小ドットを配置することにより、プリンタ装置の階調記録特性を大幅に向上させることができる。さらに、m値の入力画像データに着目画素が中間値を有するかどうかを判定し、中間値を有する場合には、その着目画素の左右に位置している隣接画素を参照して、その隣接画素と着目画素との比較結果により小ドットの配置を決定することにより、画像に含まれるエッジ部分の再現性を高めた画像記録を提供することができる。
【0077】
[他の実施の形態]
次に本発明の他の実施の形態である4値化手法のアルゴリズムについて説明する。尚、2値化の場合は、既知の2値誤差拡散法により2値化されるため、ここではその説明を省略する。この実施の形態では、プリンタ700において追従性の悪い濃度領域では、孤立黒ドットの発生を抑えるように出力画像データの画素濃度及び誤差算出法を切り換えるように処理する。
【0078】
本発明の他の実施の形態の4値化処理は、4値誤差拡散を基本とする。前述したように、低コストのプリンタ700で問題となるのは、閾値TH1=(DENT1:85+DENT0:0)/2=>42近辺の画像データである。そこで、この他の実施の形態では、まず入力画像データが画像ムラを起こす濃度かどうかを識別するための比較手段を設ける。更のこの比較手段の比較結果により、入力画像データの画素濃度が特定の濃度範囲内の場合には、下記の式(9)(10)に示すように、入力画像データに拡散された誤差を加算した補正濃度とを比較するための閾値DENT1=85を設定する。そして、補正濃度がこの閾値よりも大きい時は出力画素の値を“2”とし、更にこの画素で算出される誤差を補正濃度からDENT2=170を減算したものとする。また、補正濃度が閾値以下ならば、出力する画素値を“0”とし、更にこの画素で算出される誤差を補正のうどからDENT0=0を減算したものとする。
【0079】
この結果、従来の画像ムラが発生する特定濃度域での4値化の出力パターンが、従来の濃度“1”と濃度“0のパターンから、濃度“2”と濃度“0”のパターンになる。これにより、この濃度領域で4値化データを展開して出力する際に、1200dpiの孤立画素が生成されなくなる。これにより、プリンタ700の追従性の範囲内でのドットパターンが生成され、階調特性が改善される。
【0080】
また入力画像データが特定濃度範囲外の場合には、従来と同様な4値誤差拡散処理を施せば良い。その時の閾値及び出力値及び発生する誤差は、式(11)〜(14)となる。
【0081】
入力画素の濃度がDTH1<Xij<DTH2の時
X'ij>DENT1 ならば出力画素濃度 OUTPUT=2 で誤差 E=X'ij−DENT2…(9)
DENT1>=X'ij ならば出力画素濃度 OUTPUT=0 で誤差 E=X'ij−DENT0…(10)
入力画素の濃度がDTH1≧Xij≦Xijの時
X'ij>TH3 ならば出力画素濃度 OUTPUT=3 で誤差 E=X'ij−DENT3…(11)
TH3>=X'ij>TH2 ならば出力画素濃度 OUTPUT=2 で誤差 E=X'ij−DENT2…(12)
TH2>=X'ij>TH1 ならば出力画素濃度 OUTPUT=1 で誤差 E=X'ij−DENT1…(13)
TH1>=X'ij ならば出力画素濃度 OUTPUT=0 で誤差 E=X'ij−DENT0…(14)
図12(B)は、本実施の形態の4値誤差拡散処理と4値展開処理を用い、0〜255の濃度データのパッチパターンを記録して、その濃度を濃度計を用いて測定した例を示す図である。この図12(A)(B)から明らかなように、濃度“42”近辺での階調特性の改善が見られる。
【0082】
この他の実施の形態の4値誤差拡散処理の回路例を示す図13を参照して説明する。尚、この図13では、前述の図8と共通する部分は同じ番号で示し、その説明を省略している。
【0083】
ラッチ回路401〜403は、重み付け分配され拡散される誤差データを保持しており、画素クロックに同期してデータが更新される。加算器404〜407は、誤差配分器411から出力される、各画素の処理時に発生する誤差が分配されたデータの加算を行う。比較器416では、入力される画像データ414の画素濃度が特定の濃度領域(ここでは−40以上44以下であるか)かどうかを検出する。比較器409は、加算器407から出力される入力画素に対する拡散された誤差データにより補正された入力画素濃度値を閾値と比較し、誤差算出器410における出力値及び誤差演算の算出式を選択する信号415を出力している。410は誤差算出器で、比較器409よりの信号415、及び加算器407からの加算結果を入力し、それにより決定される着目画素の新しい誤差量を算出して出力する。誤差配分器411は、誤差算出器410から出力される新しい誤差量に対し、図7に対応する重み付け係数で誤差量を重み付けして、各加算器404,405,406に分配している。
【0084】
この4値・2値化処理部400におけるデータの流れについて説明する。
【0085】
先ず入力された画像データ414は、加算器407においてラッチ403の出力(拡散された誤差データ)と加算され、比較器409及び誤差算出器410に出力される。また比較器416で、入力画素の濃度が特定の濃度領域にあるかどうかが検出される。比較器409では、比較器416の比較結果に基づき、上式(9)(10)もしくは(11)〜(14)に示すように、ラッチ403の出力データである補正画素データと各閾値TH1〜TH3もしくはDENT1との比較により4値出力値を決定し、これと同時に新しい誤差量の算出式を選択する選択信号415を誤差算出器410に出力する。この誤差算出器410では、上式(11)〜(14)[式(9)は式(12)と、式(10)は式(13)と同じ減算式を用いている]に相当する不図示の減算回路があり、上式(11)〜(14)のいずれの結果を用いるかを、比較器416及び比較器409からの選択信号415,417に応じて選択し、新しい誤差を出力する。
【0086】
尚、誤差算出器410に設けられた減算器に対し、比較器409,416からの選択信号415,417により減算を行う値を切り替えることにより、新しい誤差量の算出を行ってもよい。
【0087】
こうして誤差算出器410から出力される新しい誤差量は、誤差配分器411で図7に対応する重み付けが行なわれ、その結果が各加算器404,406,409及びラッチ401に出力される。ここで“W3”の重み付けがなされた誤差は、ラッチ401にラッチされ、これにより次の画素の誤差算出により生成される誤差の“W2”の重み付けされた誤差と加算器404により加算される。この加算器404の出力はラッチ402にラッチされ、更に、次の画素の誤差算出により生成される誤差の“W1”の重み付けされた誤差と加算器405で加算される。この加算器405の出力は、1ライン分データを遅延させるため、一旦誤差アバッファに格納され、次のラインを処理する際に読み出される。
【0088】
また、加算器406では、1ライン分遅延された誤差バッファから読み出し値と、“W4”の重み付けされた誤差量とを加算し、その加算結果をラッチ403にラッチする。ラッチ403は、拡散された誤差の総和を補正量として出力する。これ以降、加算器407に戻り逐次、入力した画像データ414との加算が行われることにより、4値化された画像データが比較器409より出力されることになる。
【0089】
尚、後続の2値・4値展開部600の構成は図11を参照して前述した通りである。
【0090】
以上説明したように、入力された画像データの特定濃度領域でm値誤差拡散の出力パターンを切り替えることにより、プリンタ700に出力するためにm値化されたデータをドット展開しても、低濃度でかつ周波数成分の高いドットパターンの生成が抑制され、コーコストなプリンタにおいても画像の荒れが発生することなく、階調特性の優れた記録を行うことができる。
【0091】
図14〜図18は、前述した各機能をソフトウェアにより実現した場合のフローチャートを示しており、これら処理を実行する制御プログラムはプログラムメモリ122に記憶され、CPU120の制御の下に実行される。
【0092】
図14は本実施の形態における空間フィルタ処理を示すフローチャートである。
【0093】
まずステップS1で、入力した画像データ(8ビット)をクロック(DCLK)に同期して順次ラインバッファ201,202に格納する。ここで前述したように、ラインバッファ201には2ビット右方向にシフトされて、6ビットデータとして格納される。こうして2ライン分の画像データがラインバッファ201,202に格納された後、次のラインの画像データの入力に同期してラッチ群203に3ライン×3画素の画素データがラッチし、フィルタマトリクスと乗算する(ステップS2)。こうして得られた値が着目画素に加算され、フィルタ演算を施した画素データが出力される(ステップS3)。このときのフィルタ演算式は、
filter = X<<2−((A<<2) + (B<<2) + C + D)で表される。
【0094】
図15は、輝度−濃度変換処理を示すフローチャートである。
【0095】
この輝度−濃度変換処理は後続の4値・2値化処理において、2値或は4値のいずれで行われるかにより決定される。即ち、ステップS11で2値で行うと判定されるとステップS12に進み、8ビットデータの全白を“0”に、全黒を“63”の濃度データに変換する処理を行う。またステップS11で4値処理を行うと判断するとステップS13に進み、8ビットデータの全白を“0”に、全黒を“255”の濃度データに変換する処理を行う。またステップS14では、プリンタ700において画像の粗さが発生する濃度(前述の例では濃度値“31”)が存在する場合は、その濃度値への変換を行わないようにする。尚、このような輝度−濃度変換は、ルックアップテーブルを用いて行うが好適である。
【0096】
図16は、2値/4値化処理を示すフローチャートである。この処理は2値或は4値の誤差拡散処理を用いて行われる。
【0097】
まずステップS21で、着目画素Xijの補正濃度X'ijを求める。この補正濃度は、1ライン前の誤差が誤差バッファに格納されている時は、その誤差バッファの格納された値が用いられて補正濃度が決定される。次にステップS22に進み、2値或は4値のいずれの誤差拡散を行なうかが判断され、4値の誤差拡散を行う時はステップS23に進み、前述の式(1)〜(4)で示すように、3個の閾値により出力レベル(OUTPUT)と誤差(E)を求める。また2値の誤差拡散を行う時はステップS24に進み、前述の式(5)(6)で示すように閾値(BTH1)に基づいて出力画素値(OUTPUT)と誤差(E)を決定する。
【0098】
こうして誤差が決定されるとステップS25に進み、前述の図7の重み付け加算を実行し、これにより得られた誤差(E)を6ビットデータにクランプする(ステップS26)。そしてステップS27に進み、その求めた誤差(E)を誤差バッファに格納して1ライン遅延させ、その遅延した誤差が次のラインの画素の誤差拡散処理で参照される。
【0099】
図17は2値・4値データを2値データ(小ドットで表現する)に展開する処理を示すフローチャートである。
【0100】
図17では、画像の濃度勾配を求め、その濃度勾配に応じて小ドットの配置を決定するものである。即ち、ステップS31で、m値画像データを入力し、その画像データの着画素の左右(主走査方向)に位置している画素の濃度勾配が右上がりか、右下がりかを判断し(ステップS32)、右上がりであれば前述したパターン0(ドットが右側から展開される)を選択し(ステップS33)、右下がりであれば前述したパターン1(ドットが左側から展開される)を選択する(ステップS34)。
【0101】
また上記、濃度勾配が無い場合において、その着目画素が奇数番目の画素であるか、偶数番目の画素であるかにより小ドットの配置を決定するものである。即ち、ステップS32で、m値画像データを入力し、その画像データの着画素が濃度勾配にあるかどうかを調べ、濃度勾配がなければ、その着目画素が奇数番目の画素か偶数番目の画素かをみる(ステップS35)。奇数番目の画素であればパターン1(ドットが左側から展開される)を選択し(ステップS36)、偶数番目の画素であればパターン0(ドットが右側から展開される)を選択する(ステップS37)。
【0102】
図18は本発明の他の実施の形態の2値・4値化処理を示すフローチャートである。
【0103】
まずステップS51で、入力した画像データがプリンタ700において画像ムラを起こす濃度を有している特定の濃度範囲に該当しているかどうかを判断する。この判断により、特定濃度範囲外であると判断されると図16のステップS22に進み、前述した処理を実行する。
【0104】
また、特定濃度範囲内であると判断されるとステップS52に進み、入力画像データに拡散された誤差を加算した補正濃度値を求め、その補正濃度値と、比較のための閾値とを比較する。ここで補正濃度値の方が大きい時はステップS53に進み、出力画素濃度(OUTPUT)を“2”とし、その時の誤差を求める。また、補正濃度値の方が小さい時はステップS54に進み、出力画素濃度(OUTPUT)を“0”とし、その時の誤差を求める。こうしてステップS53或はステップS54の処理が終了すると図16のステップS25に進み、前述した処理を実行する。
【0105】
尚、本発明は、複数の機器(例えばホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用してもよい。
【0106】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。
【0107】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0108】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0109】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0110】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0111】
以上説明したように本実施の形態によれば、空間フィルタ処理部における副走査方向の参照データを取り出すためにラインバッファのビット数を減らし、更には2値化及び4値化に応じて輝度濃度変換の出力範囲を切り替えることで、更には4値化処理では誤差拡散により誤差バッファに格納される誤差データを2値化時の誤差拡散の有効数字のビット数にクランプ処理することでブロックの共通化をはかり、コピー時に記録系の能力を最大限に生かした画像データを生成することができる。
【0112】
【発明の効果】
以上説明したように本発明によれば、2値誤差拡散及びm値誤差拡散処理における誤差バッファへのアクセスを共通化することにより、装置規模が大きくなるのを防止できるという効果がある。
【0118】
【図面の簡単な説明】
【図1】本発明の実施の形態における画像処理装置の機能構成を示す機能ブロック図である。
【図2】本発明の実施の形態における画像処理装置の構成を示すブロック図である。
【図3】本実施の形態における空間フィルタの係数の例(A)及び各ラインバッファとの対応(B)を示す図である。
【図4】本実施の形態における空間フィルタ処理部の構成を示すブロック図である。
【図5】本実施の形態の空間フィルタ処理部におけるメモリアクセスのタイミングを説明するためのタイミングチャートである。
【図6】本実施の形態における2値誤差拡散処理部の輝度−濃度変換の特性(A)、及び4値誤差拡散処理部の輝度−濃度変換の特性(B)(C)を示す図である。
【図7】本実施の形態における2値及び4値誤差拡散処理の誤差配分の重み付けを示す図である。
【図8】本実施の形態における2値及び4値誤差拡散処理部の構成を示すブロック図である。
【図9】本実施の形態における4値データの記録特性例を示す図である。
【図10】画像データのエッジ部での擬似線の発生を説明する図(A)及び本実施の形態によりその擬似線の発生を抑えた例を示す図(B)である。
【図11】本実施の形態における2値・4値展開部の構成を示すブロック図である。
【図12】従来の4値展開されたデータの濃度の記録濃度との対応関係(A)及び本実施の形態における4値展開されたデータの濃度の記録濃度との対応関係(B)を示す図である。
【図13】本発明の他の実施の形態における2値及び4値誤差拡散処理部の構成を示すブロック図である。
【図14】本実施の形態の画像処理装置における空間フィルタ処理を示すフローチャートである。
【図15】本実施の形態の画像処理装置における輝度−濃度変換処理を示すフローチャートである。
【図16】本実施の形態の画像処理装置における2値・4値化処理を示すフローチャートである。
【図17】本実施の形態の画像処理装置における2値・4値展開処理を示すフローチャートである。
【図18】本実施の他の形態の画像処理装置における2値・4値化処理を示すフローチャートである。
【符号の説明】
100 スキャナ
120 CPU
121 RAM
122 プログラムメモリ
123 ルックアップテーブル(LUT)
124 ラプラシアン・フィルタ値
200 空間フィルタ
201,202 ラインバッファ
203 ラッチ群
300 輝度−濃度変換部
400 4値・2値化処理部
401,402,403 ラッチ
404,405,406,407 加算器
408 クランプ回路
409,416 比較器
410 誤差算出器
411 誤差配分器
500 画像メモリ
600 2値・4値展開部
700 プリンタ
Claims (4)
- 1画素がnビットで表わされる多値画像データを入力する画像入力手段と、
前記画像入力手段で入力された前記多値画像データに対して、当該画像データの各画素データを2値或はm(2<m<n)値化するために、2値誤差拡散処理或はm値誤差拡散処理を実行する処理手段とを有し、
前記処理手段は、前記m値誤差拡散処理における有効ビット数で構成され、前記2値誤差拡散処理及びm値誤差拡散処理を共通して実行可能な誤差拡散回路と、
前記誤差拡散回路を用いて前記2値誤差拡散処理及びm値誤差拡散処理で演算された誤差データのうち、次の処理ラインに拡散するための誤差データを格納する誤差バッファと、
前記2値誤差拡散処理及びm値誤差拡散処理で演算された誤差データを前記誤差バッファに格納するため、前記m値誤差拡散処理において演算された誤差データを、2値誤差拡散処理で発生する誤差データの有効ビット数に合わせるクランプ処理部と、
を有することを特徴とする画像処理装置。 - 前記画像入力手段で入力された多値画像データは輝度データであり、当該輝度データを濃度データに変換して前記処理手段に出力する輝度濃度変換手段を有し、
前記輝度濃度変換手段は、前記処理手段で前記2値誤差拡散処理を実行する場合には、輝度データを出力値の範囲が0〜63(6ビット)となる濃度データに変換し、前記m値誤差拡散処理を実行する場合には、輝度データを出力値の範囲が0〜255(8ビット)となる濃度データに変換することを特徴とする請求項1に記載の画像処理装置。 - 1画素がnビットで表わされる多値画像データを入力する画像入力工程と、
前記画像入力工程で入力された前記多値画像データに対して、当該画像データの各画素データを2値或はm(2<m<n)値化するために、2値誤差拡散処理或はm値誤差拡散処理を実行する処理工程とを有し、
前記処理工程では、前記m値誤差拡散処理における有効ビット数で構成され、前記2値誤差拡散処理及びm値誤差拡散処理を共通して実行可能な誤差拡散回路と、
前記誤差拡散回路を用いて前記2値誤差拡散処理及びm値誤差拡散処理で演算された誤差データのうち、次の処理ラインに拡散するための誤差データを格納する誤差バッファと、
前記2値誤差拡散処理及びm値誤差拡散処理で演算された誤差データを前記誤差バッファに格納するため、前記m値誤差拡散処理において演算された誤差データを、2値誤差拡散処理で発生する誤差データの有効ビット数に合わせるクランプ処理部と、
を用いて2値誤差拡散処理及びm値誤差拡散処理を共通に処理することを特徴とする画像処理方法。 - 前記画像入力工程で入力された多値画像データは輝度データであり、当該輝度データを濃度データに変換して前記処理工程に出力する輝度濃度変換工程を有し、
前記輝度濃度変換工程は、前記処理工程で前記2値誤差拡散処理を実行する場合には、輝度データを出力値の範囲が0〜63(6ビット)となる濃度データに変換し、前記m値誤差拡散処理を実行する場合には、輝度データを出力値の範囲が0〜255(8ビット)となる濃度データに変換することを特徴とする請求項3に記載の画像処理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25491796A JP3679522B2 (ja) | 1996-09-26 | 1996-09-26 | 画像処理方法及びその装置 |
US08/936,763 US6011878A (en) | 1996-09-26 | 1997-09-24 | Image processing method and apparatus |
US09/450,419 US6373990B1 (en) | 1996-09-26 | 1999-11-30 | Image processing utilizing luminance-density conversion |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25491796A JP3679522B2 (ja) | 1996-09-26 | 1996-09-26 | 画像処理方法及びその装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004161521A Division JP3950871B2 (ja) | 2004-05-31 | 2004-05-31 | 画像処理方法及びその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10108009A JPH10108009A (ja) | 1998-04-24 |
JP3679522B2 true JP3679522B2 (ja) | 2005-08-03 |
Family
ID=17271660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25491796A Expired - Fee Related JP3679522B2 (ja) | 1996-09-26 | 1996-09-26 | 画像処理方法及びその装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3679522B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065592A (ja) * | 2004-08-26 | 2006-03-09 | Olympus Corp | アルバム管理装置 |
CN100393098C (zh) | 2006-08-22 | 2008-06-04 | 北京大学 | 误差扩散图像挂网技术中的图像扫描处理方法及系统 |
-
1996
- 1996-09-26 JP JP25491796A patent/JP3679522B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10108009A (ja) | 1998-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6373990B1 (en) | Image processing utilizing luminance-density conversion | |
US5086484A (en) | Image processing apparatus with fixed or variable threshold | |
US5339171A (en) | Image processing apparatus especially suitable for producing smooth-edged output multi-level tone data having fewer levels than input multi-level tone data | |
JPH05308514A (ja) | 画素値量子化方法 | |
US5805738A (en) | Image processing apparatus and method | |
US5289294A (en) | Image processing apparatus | |
JP2006065834A (ja) | 画像処理装置および画像処理方法 | |
JP2000032278A (ja) | 画像処理装置 | |
US6233360B1 (en) | Method and system for hybrid error diffusion processing of image information using adaptive white and black reference values | |
EP0382580B1 (en) | Image processing apparatus | |
US6134355A (en) | Binarization using a local average, and using error diffusion | |
JP3679522B2 (ja) | 画像処理方法及びその装置 | |
JP2801195B2 (ja) | 画像処理装置 | |
JP3950871B2 (ja) | 画像処理方法及びその装置 | |
JP3245600B2 (ja) | 画像処理装置 | |
JPH11346311A (ja) | 階調再現方法 | |
US5200839A (en) | Image processing apparatus | |
JP3809274B2 (ja) | 画像処理装置及び方法 | |
JPH0260770A (ja) | 画像処理装置 | |
JP2851662B2 (ja) | 画像処理装置 | |
JPH0644800B2 (ja) | 画像処理装置 | |
JPS62107572A (ja) | 画像処理装置 | |
JP3459725B2 (ja) | 画像処理装置及びその方法 | |
JP2553799B2 (ja) | 画像処理装置 | |
JP2999786B2 (ja) | カラー画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040402 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050128 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050329 |
|
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: 20050422 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050513 |
|
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: 20090520 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100520 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100520 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110520 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120520 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |