JP3782146B2 - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP3782146B2 JP3782146B2 JP32271695A JP32271695A JP3782146B2 JP 3782146 B2 JP3782146 B2 JP 3782146B2 JP 32271695 A JP32271695 A JP 32271695A JP 32271695 A JP32271695 A JP 32271695A JP 3782146 B2 JP3782146 B2 JP 3782146B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- filter
- pixel
- pixels
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Control Or Security For Electrophotography (AREA)
- Image Processing (AREA)
- Storing Facsimile Image Data (AREA)
- Facsimile Image Signal Circuits (AREA)
Description
【発明の属する技術分野】
この発明は、処理対象文書画像をスキャナ入力したりあるいはコピーしたりする場合に、誤差拡散階調処理におけるテクスチャの低減と処理ハードの簡略化及び処理の高速化を図る画像処理装置に関する。
【0002】
【従来の技術】
一般に、コード情報だけでなくイメージ情報をも扱える文書画像処理装置においては、スキャナ等の読取手段で読み取った原稿に対して文字や線図などのコントラストのある画像情報は固定閾値により単純2値化を行い、写真などの階調を有する画像情報は、ディザ法などの疑似階調化手段によって2値化を行い、階調の少ない2値プリンタなどに出力する。これは、読み取った画像情報を固定閾値により単純2値化を行うと、文字、線画像の領域は解像性が保存されるため画質劣化は生じないが、写真画像の領域では階調性が保存されないために画質劣化が生じる画像となってしまう。
【0003】
また一方、読み取った画像情報を組織的ディザ法などで階調化を行うと、写真画像の領域は階調性が保存されるため画質劣化は生じないが、文字、線画像の領域では解像性が低下するため画質の劣化した画像となってしまう。すなわち、読み取った画像情報に対して、単一の2値化処理では、特徴の異なるそれぞれの領域の画質を同時に満足することは不可能である。
【0004】
しかしながら、写真画像の領域の階調性を満足し、文字/線画像の領域も組織ディザに比べ解像性も良い2値/多値化方式として「誤差拡散法」が提案されている。「誤差拡散法」(参考文献:An Adaptive Algorithmfor Spatial Grayscale、by R.W.Floyd and L.Steinberg、Ρroceedings of the S.I.D.Vo1.17−2、pp.75−77、Second Quarter 1976)は、注目画素の濃度に、既に2値化された周辺画素の2値化誤差にある重み係数を乗じたものを加え、固定閾値により2値化を行う方法である。
【0005】
図56は「誤差拡散法」による2値化処理の構成図である。図56において、z1は入力画像信号、z2は注目画素の画像情報を補正する補正手段、z3は補正画像信号、z4は補正された注目画素の画像情報情報を2値化する2値化手段、z5は2値化画像信号、z6は2値化された注目画素の2値化誤差を算出する2値化誤差算出手段、z7は2値化誤差信号、z8は重み誤差を算出するため誤差フィルタの重み係数を記憶する重み係数記憶手段、z9は2値化誤差算出手段z6で算出した2値化誤差に重み係数記憶手段z8の誤差フィルタ重み係数を乗じて重み誤差を算出する重み誤差算出手段、z10は重み誤差信号、z11は重み誤差算出手段z9で算出した重み誤差を記憶する誤差記憶手段、z12は画像補正信号である。
【0006】
以下、「誤差拡散法」の2値化処理を詳細に説明する。
【0007】
スキャナ等の入力装置で読み取られた入力信号z1は、補正手段z2において、画像補正信号z12により補正処理され、補正画像信号z3として出力される。補正画像信号z3が供給された2値化手段z4は、補正画像信号z3と2値化閾値Τh(例えば「80h」、添付の「h」は「hex」で16進であることを示す)を用い、補正画像信号z3が2値化閾値Thより大きけれぼ2値化画像信号z5として「1」(黒画素)を出力し、小さければ「0」(白画素)を出力する。
【0008】
次に、2値化誤差算出手段z6では、補正画像信号z3と2値化画像信号z5(ただし、ここでは2値化画像信号が「0」のときは「0h」、「1」のときは「FFh]とする)との差を算出し、これを2値化誤差信号z7として出力する。
【0009】
重み係数記憶手段z8に示される誤差フィルタは、一般によく使われている誤差フィルタの構成である。ここで、重み係数記憶手段z8における「*」は、注目画素の位置を示す。重み誤差算出手段z9では、2値化誤差信号z7に重み係数記憶手段z8の重み係数A、Β、C、D(ただし、A=7/16、Β=1/16C=5/16、D=3/16)を乗じた重み誤差z10を算出する。
【0010】
つまり、注目画素の2値化誤差に重み係数A、Β、C、Dを乗じて、注目画素の周辺4画素(重み係数A、Β、C、Dの位置に対応する画素)の重み誤差を算出する。誤差記憶手段41は、重み誤差算出手段29で算出した重み誤差z10を記憶するためのものであり、重み誤差算出手段z9で算出した4画素分の重み誤差は、注目画素「*」に対してそれぞれeA、eΒ、eC、eDの領域に加算して記憶する。前述した画素補正信号z12は、「*」の位置の信号であり、以上の手順で算出した4画素分の重み誤差を蓄積した信号である。
【0011】
近年、出力装置の階調数(レベル数)が大きい場合の誤差拡散処理においても前述の2値化手段z4を階調数に対応する数だけの閾値を用いる多値化手段に置き換えて用いられるようになっている。
【0012】
上記の「誤差拡散処理」は注目画素の2値/多値化処理により発生した誤差を、周辺画素に拡散して誤差補正を行うことにより、2値/多値化誤差を最小にするものである。この方法の一つの問題点は出力画像(特に2値化処理の場合)にテクスチャ(texture:規則的な模様)が現れるということである。
【0013】
また上記のフィルタ係数を用いる場合、誤差拡散フィルタリング時に乗算器が必要となるため回路規模が大きくなり、スピードも遅くなるという問題もある。この問題を解決するためにフィルタの係数を2のべき乗にする方法などが提案されているが、出力画像にテクスチャがより目立つようになる。
【0014】
テクスチャを低減する方法として、フィルタ係数の配置をランダムにする方法があるが、ランダム性が比較的低い。係数値をランダムにする方法も考えられるが、これはランダム係数(A+Β+C+D)を1にする条件が必要であり、かなり複雑なものとなる。
【0015】
係数の変わりにマスクと論理積のみからなる方法も提案されているが、これはスキャナのばらつきノイズなどの相乗効果でテクスチャを低減する高速方法である。しかし、CG(コンピュータグラフィックス)などのコンピュータにより数値的に生成された画像に関してはそのランダム性は少なくテクスチャの低減は十分ではない。そこで、ビットマスク法のマスク値をランダムにする方法や誤差補正部の論理演算によるテクスチャの低減や閾値処理そのものを論理演算によって施すことによるテクスチャの低減などが提案されている。
【0016】
しかし、上記の何れの方法もテクスチャの低減あるいは高画質、またはある程度従来の方法と比べて処理速度を早くするための対策であるが、2つの主な欠点を持つ。1つは、読み取り解像度を細かくすると誤差バッファのメモリ容量も対応して大きくなり、コストアップにつながる。もう一つは、処理クロックをさらに上げていくと処理速度が限界に達してしまう問題がある。
【0017】
【発明が解決しようとする課題】
上記したように、従来の構成では、読取り解像度を上げていくと、必要とする誤差バッファの容量が対応して大きくなり、コストアップにつながる。さらに、処理速度(処理クロック)を上げていくと、現状の構成ではパイプライン処理(または並列処理)が不可能であるため、限界に達してしまう。
【0018】
そこで、この発明は誤差フィルタの構成、組み合わせと画素毎の誤差フィルタの切り替えによって誤差バッファのメモリ容量の低減、パイプライン処理(並列処理)による高速化を図ることを目的とする。
【0019】
すなわち、この発明では、従来の誤差フィルタを複数のフィルタに再構成し、処理対象画素毎にフィルタの切り替えを行う。このことにより、画素毎の処理においてすぐ隣の画素に拡散される誤差を避け、1画素おきや複数画素おきになるような構成が可能とすることによって、並列処理やパイプライン処理を可能とし、誤差バッファのアクセス回数の低減による処理速度の改善を図る。
【0020】
同様に、次のラインに誤差拡散する画素を1画素や複数画素おきになるような構成とすることにより必要となる誤差バッファのメモリ容量の低減を図る。
【0021】
【課題を解決するための手段】
この発明は、主走査方向に複数の画素でかつ副走査方向に複数のラインからなる処理対象画像における注目画素の画像データを2値/多値化誤差拡散に基づく誤差補正量によって補正した補正画像データを出力する補正手段と、この補正手段による補正画像データを2値/多値化する2値/多値化手段と、この2値/多値化手段により2値/多値化された2値/多値化画像データと上記補正手段による補正画像データとの誤差を算出する算出手段と、上記算出手段により算出された誤差を入力とし、誤差を拡散する画素の異なる複数のフィルタからなるフィルタ群を設け、画素ごとに選択的にフィルタを切り替えることによりフィルタリングを行い、注目画素に対する主走査方向の次の画素への誤差補正量と注目画素に対する副走査方向の次のラインへの誤差補正量とを出力する誤差フィルタリング手段と、この誤差フィルタリング手段により出力される注目画素に対する副走査方向の次のラインへの誤差補正量を、上記主走査方向の各画素ごとに記憶する記憶手段と、注目画素に対する副走査方向の前のラインからの誤差補正量を上記記憶手段から読出す読出し手段と、この読出し手段により読出された注目画素に対する副走査方向の前のラインからの誤差補正量と上記誤差フィルタリング手段により出力される注目画素に対する主走査方向の次の画素の誤差補正量とにより、上記補正手段による注目画素の画像データの補正を行う制御手段を有するものである。
【0031】
【発明の実施の形態】
以下、この発明の実施例について図面を参照しながら説明する。
【0032】
なお、この発明は、主に、出力画像として2値化データを得る目的のものとして説明をするが、この場合に限らず、出力画像として多値化データを得る目的のものとしても可能である。
【0033】
図1はこの発明に係わる画像処理装置の構成を概略的に示したものである。
【0034】
図1において、例えば、スキャナにより読み取られた画像(入力画像)について、複数ビット(例えば8ビット)の画像データである入力画像データ1Aが、この画像処理装置の入力画像変換手段2Aに入力される。入力画像変換手段2Aは、その後施す画像処理(階調処理)に応じて入力画像データ1Aを変換するものである。この変換は入力方法、処理方法等によって異なるので、実施例の詳細説明時に詳しく述べる。例えば、後述の誤差バッファ13のメモリ低減フィルタリング方法を用いて階調処理を行う場合、入力画像変換手段2Aは、入力画像データ1Aをそのまま、変換後の入力画像データ1として出力する。また、高速階調処理の場合、主走査方向または副走査方向の複数画素を同時処理を行うので、主走査方向または副走査方向の画素をまとめて出力するものである(主走査方向の2画素並列処理の場合は、処理対象ラインの画素ストリーム1、2、3、4、…等を2画素単位で(1、2)、(3、4)、…などとまとめて出力する)。
【0035】
変換後の入力画像データ(以降入力画素データ)1は、まず、誤差補正手段2に入力される。すると、誤差補正手段2では、画素毎の入力画素データ1を後述する誤差フィルタリング手段10から出力される隣の画素への誤差補正量11(以下は簡単に補正量eΤと呼ぶ)と前ラインから拡散される誤差補正量14(以下、簡単に補正量ePと呼ぶ)により補正するもので、補正制御は、後述の制御信号発生手段15から発生される誤差補正制御信号17によって行われる。この誤差補正手段2で補正された補正後の画像データ3は閾値処理手段4及び誤差算出手段6に供給される。
【0036】
閾値処理手段4は、補正後の画像データ3が1ビットの2値化データまたは2ビット以上の多値化データに変換されて出力画像データ5として出力するものである。この閾値処理手段4から出力される出力画像データ5は、出力画像変換手段4Aを経て、外部のプリンタ、ディスプレイ装置などの出力装置へ供給されて、入力画像の複製画像を生成すると共に、誤差算出手段6に供給されるようになっている。
【0037】
出力画像変換手段4Aは入力画像変換手段2Aと同様に画像を変換するもので、画像処理(階調処理)手段とその後の出力手段に合わせて出力画像の変換を行うものである。
【0038】
例えば、画像処理が2画素を並行して行い、出力機器として1画素毎に出力するプリンタを使用する場合は、閾値処理から同時に2画素毎に出力される出力画像データ5を1画素ストリームとして変換を行った後、プリンタへの出力画像データ5Aとして出力する。このように、この画像処理機器の出力側の要求にあわせて変換を行う手段で、場合によって異なるので、実施例の詳細説明時に詳しく述べることとする。
【0039】
誤差算出手段6は、補正後の画像データ3と出力画素データ5から注目画素に対して閾値処理を行った、2値化データあるいは多値化データの誤差を算出するものであり、誤差算出手段6で算出される誤差信号7は誤差フィルタリング手段10に供給されるようになっている。
【0040】
誤差フィルタリング手段10は、誤差算出手段6からの誤差信号7と、フィルタパラメータ発生手段8から出力されるフィルタパラメータ9を入力とし、設定されたフィルタ構成に基づき、フィルタ(誤差フィルタ)を画素毎、複数画素毎に切り替えることによりフィルタリング処理を施すものであり、次のラインに対応する誤差補正量12(以下、簡単にeNと呼ぶ)と、同じラインの近傍画素に拡散する補正量eTを出力する。フィルタ切り替え制御などは、後述の制御信号発生手段15により発生されるフィルタ切り替え制御信号19によって行われる。
【0041】
フィルタパラメータ発生手段8は、設定に応じて複数のフィルタパラメータを発生し、それを誤差フィルタリング手段10に供給するものである。フィルタパラメータのランダム化などにおける制御は、後述の制御信号発生手段15により発生されるフィルタパラメータ制御信号20により制御される。
【0042】
誤差バッファ13は、誤差フィルタリング手段10から供給される次のラインヘ拡散すべき補正量eΝを蓄える記憶手段であり、誤差補正手段2には処理対象の注目画素に対応する前ラインからの補正量ePを供給する。誤差バッファ13の書き込み/読み出し制御は、後述の制御信号発生手段15により発生されるバッファ制御信号18により制御される。
【0043】
制御信号発生手段15は、フィルタパラメータ発生手段8、誤差補正手段2、誤差フィルタリング手段10、および誤差バッファ13の書き込み、読み出し等の制御ための制御信号を発生するものである。
【0044】
外部インターフェース手段16は、処理速度、コスト等を考慮して、閾値処理手段4やフィルタパラメータ発生手段8や誤差フィルタリング手段10等の設定を外部からできるような入出力インターフェースである(例えば、タッチパネル、LCD表示、キーボード、CRTディスプレイにより構成されている)。
【0045】
次に、各ブロックの詳細説明を幾つかの実施例を通じて説明する。
【0046】
まず、フィルタ切り替えによる誤差バッファ13のアクセス回数(或いは誤差バッファ13のメモリ容量)の低減に関する実施例を図2を参照しながら説明を行う。
【0047】
図2においては、画像処理を1画素毎に行うので、入力変換手段2Aが不要となり、図1の入力画像データ1Aと変換後の入力画像データ1が同じものとなる。同様に出力変換処理手段4Aも不要となるため、図1の閾値処理後の出力画像データ5と変換後の出力画像データ5Aが同じものとなる。
【0048】
また、図1の外部インターフェース16は、画像処理装置内部のフィルタパラメータ等のパラメータや、処理選択などを外部から設定するための一般に使われるインターフェースで、これ以降の実施例でも同様に用いられる。
【0049】
それ以外に図2は、図1と同様に、誤差補正手段2、閾値処理手段4、誤差算出手段6、フィルタパラメータ発生手段8、誤差フィルタリング手段10、誤差バッファ13などから構成されており、その詳細について説明する。
【0050】
図3は、誤差補正手段2の構成の具体例を示す。
【0051】
誤差補正手段2は、図3に示すように、加算器100、102、フリップフロップ回路(F/F)101、109、セレクタ103、104によって構成されている。
【0052】
図3に示す、加算器100において、入力画像データ1に、セレクタ103の出力105が加えられ、前ラインからの補正量により補正された入力画像106が出力される。
【0053】
セレクタ103は、後述の制御信号発生手段15からの誤差補正制御信号17の一部であるセレクト信号17Aが0のとき0を出力105とし、セレクト信号17Aが1のとき前ラインからの補正量ePを出力105とし、それを加算器100の一つの入力として供給する。
【0054】
前ラインの補正量により補正された入力画像106は、フリップフロップ回路(F/F)101によって画像クロックに同期されて1クロック分遅延され、遅延されたデータ107として出力され、加算器102に供給される。
【0055】
加算器102では、遅延された補正画像107にセレクタ104の出力108が加算され、補正後の画像データ3が出力される。
【0056】
セレクタ104は、後述の制御信号発生手段15からの誤差補正制御信号17の一部であるセレクト信号17Βが、0のとき出力108を0とし、それ以外は、前画素からの誤差補正量eTがフリップフロップ109により1画素遅延された出力110を出力108とする。
【0057】
次に、図2の閾値処理手段4の詳細について図4〜図9を参照して説明する。
【0058】
図4は、比較演算による閾値処理手段で、特に、出力画素データ5として多値化データを得るためには、多値化データとして所望のビット数に対応する出力レベル数(例えば、多値化データのビット数が4であれば、出力レベル数は16値)を設定すれば良い。出力画像データ5として2値化データを得るためには、出力レベル数を2とすれば良い。
【0059】
図4では出力レベル数を(l+1)として説明する。
【0060】
各出力レベル0、1、2、…、lに対応して比較器Η1、Η2、Η3、…、Ηlが設けられ、各比較器には、誤差補正手段2からの補正後画像データ3が入力されて、それぞれの比較器Η1、Η2、…、Ηlの出力レベルに応じて予め定められた閾値Τh1〜Thlとそれぞれ比較され、その比較結果ΗΟ1、ΗΟ2、…、Ηolをそれぞれ出力する。
【0061】
各比較器Η1、H2、…、Ηl(Ηi、i=1〜l)では、補正補正後の画像データ3と、それぞれに設定された閾値とが比較され、補正後の画像データ3が閾値Thiより小さい場合は比較結果Η0iとして「0」を出力し、それ以外はΗ0iとして「1」を出力する。
【0062】
エンコーダ150は、比較結果Η0iをエンコードするもので、比較結果Η0iに対応してl種類の多値化データを出力画像データ5として出力する。その際、比較結果Η0iとエンコーダ150から出力される多値化データ(出力画像データ)5の対応の具体例を図5に示す。
【0063】
出力画像データ5として、2値化データを得る場合は、「0」、「1」の2つのレベルしか存在しないので、図6に示すような構成が可能である。
【0064】
図6において、比較器151は閾値Th1と補正後の画像データ3を比較し、補正後の画像データ3が閾値Τh1より小さい場合は「0」を出力し、それ以外は「1」を出力するようになっている。
【0065】
閾値処理手段4としては、これら以外にも様々な構成が考えられる。例えば、図6に示すような2値化データを得るための具体例について図7を参照して説明する。
【0066】
図7において、例えば1ビット×1KのRAM152に、考えられるすべての補正後の画像データ3に対応する2値化データを予め書き込み、補正後の画像データ3をRAM152のアドレス信号として使うことによって、2値化処理が可能である。なお、RAM152に書き込む変換情報は、例えば、図示しないCPUが予め図示しない変換データが記憶されているROMから読み出してRAM152に書き込むようにしても良い。また、RAM152の代わりにROMを用いても良い。
【0067】
図6、図7に示すような2値化データを得るための閾値処理手段は、外部から閾値Τh1を設定できるようになっている。
【0068】
一方、閾値Th1が固定の場合は、図8に示すような構成が可能である。
【0069】
図8は、論理回路を用いて、例えば、閾値としてΤh1=7F(16進法による表示で、以下、7Fhと表現する)と比較し、補正後の画像データ3が7Fhより小さいときは、出力デ=タ5が「0」となり、それ以外は「1」となるよう論理が組まれている。
【0070】
例えば、図9に示すように、補正後の画像データ3が符号1ビット(b9)と絶対値ビット(b0〜b8)で構成されるものとし、閾値Th1=7Fhのビット展開は「01111111」であるので、図8に示すように、アンド回路A1〜A3によって補正後の画像データ3の下位ビット(b0〜b6)すべてが1の場合はアンド回路A3の出力が「1」となり、それ以外は「0」となる。さらに、オア回路A4には、アンド回路A3の出力と、補正後の画像データ3の8ビット目(b7)、補正後の画像データ3の9ビット目(b8)が入力される。補正後の画像データ3がΤh1より大きい場合は、オア回路A4の他の2つの入力のうち、どちらかが「1」となる。
【0071】
また、補正後画像データ3のサインビットと、オア回路A4の出力をアンド回路A5に入力して、補正後の画像データ3が負の場合は、アンド回路A4の出力を強制的に「0」とする。よって、補正後の画像データ3が7Fhに等しいか7Fhより大きい場合はアンド回路A5の出力が「1」となり、それ以外は「0」となる。
【0072】
ここでは、閾値Th1が7Fhの場合について説明したが、閾値Τh1が7Fh以外の場合でも同様に、比較回路を構成することが可能である。
【0073】
このように論理回路による閾値処理手段は回路規模が小さく、高速に比較演算力何能だが、欠点としては閾値が固定で、外部設定は不可能であるということである。
【0074】
次に、図2の誤差算出手段6について、図10を参照して説明する。
【0075】
図10において、誤差算出手段6は、閾値処理手段4から出力される出力画像データ5(2値化データ或いは多値化データ)を8ビットに変換するビット変換手段6aと、このビット変換手段6aから供給される変換データと補正後の画像データ3との誤差を算出する減算器6bから構成され、減算器6bから誤差信号7が出力されるようになっている。
【0076】
例えば、出力画像データ5が2値化データの場合、ビット変換手段6aは、8ビット×2のメモリ(例えばROM)を用いて構成され、閾値Th(1)=7Fhに対して2値化データが「0」の時、変換データを「00h」とし、2値化データが1の場合は変換データを「FFh」とする(「h」は16進の値を示す)。
【0077】
出力画像データ5が多値化データの場合も同様に出力レベルに対応して、複数のメモリを用いて、それぞれの変換データを求めるようにすれば良い。
【0078】
次に、フィルタパラメータ発生手段8について、図11から図18を参照しながら説明する。
【0079】
図11は従来の誤差拡散法の誤差フィルタのモデルである。*で示す注目画素の2値/多値化誤差に対応して周辺画素A、Β、C、Dの値を補正することにより全体の階調を保存する。フィルタの方式によってA、Β、C、D画素に対応する係数値が変わるが、従来の係数と誤差の乗算による方式では、A、Β、C、Dに対応する係数ΚA、ΚΒ、KC、KDの総和は1となる必要がある。
【0080】
つまり、ΚA+ΚΒ+ΚC+ΚD=1
一方、誤差と係数(この方式マスクと呼ぶ)の論理積によるフィルタリング方式ではマスク値をMA、MΒ、MC、MDとすると、その総和は255(最大誤差は8ビットに対応する場合)、
つまり、MA+MΒ+MC+MD=255
で、MA、MΒ、MC、MDのすべてを総合的に考察した場合は、各ビットが必ず1回だけ1となる必要がある。
【0081】
以降は、係数と誤差の乗算によるフィルタリング方法を「算術演算によるフィルタリング」と呼び、マスクと誤差の論理積によるフィルタリングを「論理演算によるフィルタリング」と呼ぶ。また各方法のフィルタ値の設定条件は下記のとおりとなる。
【0082】
A)算術演算によるフィルタリング
1)フィルタ係数の総和=1.0
Β)論理演算によるフィルタリング
1)マスク値の総和=255(最大誤差の絶対値=8ビット)
2)すべてのマスクを総合てきに考察した場合は各ビットが一回のみ1となっている。
【0083】
この発明では、従来と異なり、図12(a)(b)、図23(a)〜(d)、図24(a)〜(c)等に示すように複数のフィルタを用い、画素毎や複数画素毎にフィルタを切り替えながら処理を行う。
【0084】
まず、誤差バッファ13の書込み読出し回数およびメモリ容量の半減化に利用できる幾つかのフィルタ構成について述べる。
【0085】
図12に示すフィルタF1とフィルタF2を画素ごとに切り替えて処理を行うことにより誤差バッファ13の書込み読出し回数(アクセス回数)およびメモリ容量の削減が可能である。図13においては、フィルタF1を各ラインの画素1、3、5、…、等の奇数画素に使用し、フィルタF2を2、4、6、…、等の偶数画素に使用することにより、図に示すように、対応する次のラインの奇数画素のみに誤差が拡散するため誤差バッファの書込み読出し回数およびメモリ容量が半分になる。また、同様にフィルタF2を奇数画素、フィルタF1を偶数画素に用いると、次ラインの偶数画素のみに誤差が拡散するため、同じ効果が得られる。
【0086】
論理演算によるフィルタリングの場合は、図12のフィルタ=F1の隣接画素AとCのマスク値MAとMCの総和は255となり、条件Βの2)が満足され、フィルタF2の隣接する画素A、Β、とDのマスク値MA、MΒ、とMDの総和は255となり、条件Βの2)が満足される。同様に算術演算によるフィルタリングの場合はフィルタF1の係数の総和とフィルタF2の係数の総和はそれぞれ1となる様に設定される。
【0087】
次に、図12のフィルタF1とフィルタF2において、論理演算に基づくマスク値発生についての実施例を述べる。
【0088】
一番簡単な例を図14(a)(b)に述べるように予め外部から上記の条件Βを満足するように設定する。例えば、図14(a)に示すフィルタF1におけるマスク値の総和は255となっており、上記の条件Βの1)を満足する。さらに、図14(a)のマスクMA1、MC1を総合的に考察すると各ビットが一回のみ1になっており、条件Βの2)も満足されている。同様に図14(b)に示すフィルタF2が条件Βを満足するように設定されている。図14(a)のフィルタF1のマスク値MCをフィルタF2のマスク値MAと同じ設定としているが、その代わりに、全く別の値を設定しても良い。その場合は最大誤差の値は閾値等によって多少多くなる可能性があり、誤差バッファ13のメモリ容量は、半分より若干増える可能性がある(誤差バッファ13のアドレス数は半減するが、各アドレスのビット数が増える可能性がある)。
【0089】
図14(a)(b)に示す設定以外にも上記条件Βの1)とΒの2)を満足する様々な設定が考えられる。また、同様に算術演算においては、マスク値の代わりに係数を上記の条件A−1)が満足するように設定を行えば良い。
【0090】
算術演算による誤差フィルタリング法は、テクスチャの発生と乗算によるフィルタリング等の問題があったが、そのテクスチャの問題や回路の簡略化によるフィルタリングの改善等を行った処理が「論理演算によるフィルタリング法」である。テクスチャ問題のさらなる改善案としてランダムマスクの発生などが考えられる。
【0091】
次に、図12のフィルタにおけるマスク値のランダム発生を図15に示す。図15(a)は、図12(a)のフィルタF1に対応するもので、図15(b)は、図12(b)のフィルタF2に対応するものである。図15(a)、図15(b)においては、M1、M2はM系列といわれる、次数mに対応して周期(2m−1)となるような最大周期疑似ランダム系列である。
【0092】
また、論理反転処理部N1、Ν2はビット毎の論理反転処理を行い、論理積処理部L1は、ビット毎の論理積を行う処理である。図15(a)に示す、MA1、MC1は、フィルタF1の隣接画素AとCに対応するマスク値であり、図15(b)に示すMA2、MΒ2、とMD2は、フィルタF2の隣接画素A、Β、とDに対応するマスク値である。図15では次数8のM系列を用いているが、次数9以上のM系列を発生させ、その中から、任意の8ビットのみを利用することも可能である。
【0093】
さらに、図16に示すように、8ビットをM11(3次)、M12(3次)、M13(2次)のM系列に分割して8より小さい次数の組み合わせとして利用することも可能である。またM1、M2、などを別々の次数のもの(例えば、次数8、9)或いは、同じ次数で、後述する様な、別々の特性多項式(Characteristic Ρolynomials)を用いて発生することもできれば、同じM系列で、互いに独立になるように2つのシフトによって発生させることも可能である。
【0094】
図12(a)のフィルタF1に対応する、図15(a)によって発生されるマスクMA1、MC1と図12(b)のフィルタF2に対応する、図15(b)によって発生されるマスクMA2、MΒ2、MC2は、条件Βの1)と2)を満足するため漏れなく誤差が拡散される。
【0095】
M系列(疑似ランダム系列)発生手段の具体例を図17に示す。これは次式の特性多項式(Characteristic Polynomial)を具体化したものである。全ての演算は、ガルワ体(Galois Field)2上の演算(簡単に述べるとバイナリXOR演算)である。
【0096】
X8=Χ5+X3+X1+Χ0
図17に示したM系列の発生手段は、シフトレジスタ(フリップフロップ回路で構成される)170aから170hと、エクスクルーシブオア回路171a、171b、171cから構成され、各シフトレジスタ170a〜170hの初期値は「0」以外のものとし、制御クロック発生手段、から入力される制御クロック信号に同期して、それぞれのレジスタの各ビット(170a〜170h)を右へシフトすれば、各レジスタから出力される値、すなわち、マスク値は、「01h」〜「Ffh」の値について、1周期(255)クロック内に1回のみランダム(擬似的)に現れるように構成されている。また別の多項式を用いると出力の現れ方の順番が変わる。
【0097】
同様に前述の「算術演算によるフィルタリング」方法においても条件Aの1)を満足するように係数をランダムに発生することも可能である。
【0098】
また、対応するフィルタの近傍画素の数だけの係数やマスク値を予め設定し、その値をランダムに近傍画素のマスク値や係数として使うことも可能である。
【0099】
例えば、図12(a)のフィルタF1に対応して、図14(a)に示す2つのマスク値をm1、m2とし、図12(b)のフィルタF2に対応して、図14(b)に示す3つのマスク値m1、m2、m3とし、図18(a)に示す(2×16)と図18(b)に示す(6×24)のルックアップテーブルを作成し、それを図18(a)の場合は2次以上疑似ランダム系列の任意の1ビットをアドレスとして使用し、対応するテーブルの内容をMA1とMC1とすることにより、予め設定したマスクの位置のランダム化が可能とする。同様に、図18(b)の場合は、3次以上のM系列を発生させ、任意の3ビットを選択し、その値を6で割り算したときの余りをアドレスとして使用し、対応するテーブルの内容をMA2、MΒ2、MD2とすることによりマスクの位置をランダムに設定できる。
【0100】
ここではマスクの位置のランダム化を説明するが、係数の位置をランダムにする方法も同様なものである。同様にその他のランダム数値発生手段を用いることも可能である。
【0101】
次は図2の制御信号発生手段15の詳細について説明する。制御信号発生手段15はフィルタパラメータのランダム化を制御する制御クロック発生する手段である。
【0102】
図19にライン毎制御信号発生手段の実施例を示し、対応するタイミング図を図20(a)〜(g)に示す。図20(b)に示すライン同期信号22のインバータ185aによる反転信号185d(図20(c)に示す)と、ライン同期信号22をフリップフロップ回路185bにより1画素遅延した遅延信号185e(図20(d)に示す)のアンド回路185cによる論理積によりライン毎のランダム化に必要なライン制御クロック185fが出力される。
【0103】
画素毎のライン制御クロック185fの発生においては、図20(a)に示す入力される画素クロック21そのものを画素毎制御クロックとして出力され、セレクタ185hによりセレクト信号185gが0の場合はライン毎制御クロック185fがフィルタパラメータ制御信号20として出力され、セレクト信号185gが1の場合は、画素クロック21がフィルタパラメータ制御信号20として出力される。セレクト信号185gが、外部インタフェースによって設定される。
【0104】
また、設定に応じて、画素クロック21をベースにした画素クロック21毎や複数画素クロック毎のランダム化、またはライン同期信号22をベースにしたライン毎や複数ライン毎のランダム化を行うための制御信号を発生することも可能である。
【0105】
フィルタパラメータをラインまたは複数ライン毎にランダム化する一つの利点は、必要とする誤差バッファ13のビット数が制御できる(例えば9ビットのFIFΟ等)。
【0106】
セレクト信号17Βは、隣の画素からの補正信号を制御するもので、図12(a)(b)のフィルタでは、毎画素ごとに誤差拡散されてくるので、図20(g)に示すように既にハイ(1或いはVcc)の状態になっている。また、前ラインからのセレクト信号17A、フィルタリング切り替え制御信号19、誤差バッファ13の書き込み/読み出し制御信号としてのバッファ制御信号18等を1画素おきに行うので、図19の画素クロック21を、ライン同期信号22に同期して分周したものを使用する。この場合、分周器185iとこの分周器185iの分周出力185jを反転するインバータ回路185kにより構成されている。そのタイミングを図20(f)に示す。
【0107】
後述のように誤差フィルタの構成は様々だが、そのうち図12(a)(b)のフィルタを例にして図2の誤差フィルタリング手段10を説明する。フィルタリング手段10は、誤差算出手段6からの2値/多値化誤差とフィルタパラメータ発生手段8から発生されるフィルタパラメータ9とを入力とし、誤差を補正量として隣接画素に補正量を配分するものである。誤差フィルタリング手段10は、前述の様に「算術演算によるフィルタリング手段」と「論理演算によるフィルタリング手段」等が考えられるが、ここでは誤差算出手段6から出力される誤差量都市手の誤差信号7と、フィルタパラメータ発生手段8からパラメータとして出力されるフィルタマスク値としてのフィルタパラメータ9の論理演算によるフィルタリングについて説明する。
【0108】
誤差とマスクの論理演算によるフィルタの詳細を図21を参照しながら説明する。図21における誤差フィルタリング手段10は、フィルタ切り替え手段21、ビットマスク手段22、2っの遅延回路としてフリップフロップ回路23a、23b、および2つの加算器24a、24bによって構成されている。また、フィルタ切り替え手段21は4つのセレクタ21a〜21dにより構成されており、ビットマスク手段22は、4つのビットマスク演算手段22a〜22dにより構成されている。
【0109】
図21の誤差バッファ13は、ラインバッファ25により構成され、これはファーストイン−ファーストアウトのバッファである。
【0110】
図21のフィルタ切り替え手段21は、前述の制御信号発生手段15から発生される図22の(h)に示すフィルタ切り替え制御信号19により図22(c)〜(f)に示すように、切り替えられる。つまり、奇数画素の時、セレクタ21a〜21dを通じて隣接する画素A、Β、C、Dにおいて、図12(a)に示すフィルタF1に対応するマスク値MA1、MC1のみを出力し、それ以外を0とする。同様に、奇数画素の場合、セレクタ21a〜21dを通じて隣接する画素、A、Β、C、Dにおいて、図12(b)に示すフィルタF1に対応するマスク値MA2、MΒ2、とMD2のみを出力し、それ以外を0とする。
【0111】
逆に、制御信号19を反転させて使用することによって、奇数画素に、図12(b)のフィルタF2と、偶数画素の時、図12(a)フィルタF1を使用することもできる。ここでは、すべてのラインの第1画素において、同じフィルタを使用したが、それをライン毎に切り替え、或いはランダムに切り替えることも可能である。
【0112】
本実施例では、ビットとマスクの論理演算による誤差フィルタリング手段10は、上記のように図12のフィルタの構成を用いており、画素毎にフィルタを切り替える、つまり注目画素と同じラインのすぐ隣の画素と、隣接する1ライン後の真下の画素に2値化誤差補正量を算出するフィルタF1と、注目画素と同じラインの次ぐ隣の画素と、隣接する1ライン後の左下と右したの画素に2値化誤差補正量を算出するフィルタF2を画素毎に切り替えてフィルタリングを行い、対応する隣接画素におけるマスク値MA1、MC1、MA2、MΒ2、MD2(ファイルパラメータ9)が図2に示すフィルタパラメータ発生手段8から入力される。
【0113】
各々の周辺画素に拡散すべき誤差はビットマスク演算手段22a〜22dにより算出される。それは図22(g)に示すように誤差信号7とフィルタ切り替え手段21の出力MA、MΒ、MC、MDとのビットマスク演算により算出され、それぞれに拡散すべき誤差eA、eΒ、eC、eDが得られる。それにより、誤差eAが対応する次の画素における誤差補正量11(eT)となり、誤差eDと誤差eCの1画素遅延されたものと誤差eBの2画素遅延されたものが1つにまとめて次のラインの画素への誤差補正量12(eN)として出力される。
【0114】
そのタイミングなどの1例を図22(g)のフィルタ出力として示す。また制御信号発生手段15から発生されるバッファ制御信号18をバッファ書き込み読みだし信号として使うと、例えば、バッファ制御信号18がハイ(レベル1)の時のみラインバッファ25の読み出しして書き込みを行うと、必要な誤差補正量12(eN)(つまり0を除いたデータ)を蓄えることができ、従来と比較して誤差バッファ13のメモリ容量の半減ができる。
【0115】
上記は、誤差とマスクの論理演算によるフィルタの詳細について説明したが、誤差と係数の算術演算によるフィルタも同じ構成によって実現可能である。しかし、図2のフィルタパラメータ発生手段8は、マスク値の代わりにフィルタF1において係数ΚA1、ΚC1、フィルタF2において係数ΚA2、ΚΒ2、ΚD2を発生する。また、誤差フィルタリング手段10において、図21のビットマスク演算手段22a〜22dのビットマスク演算の代わりに算術演算(乗算)によるフィルタリングに置き換えれば良い。
【0116】
上記の実施例では図12(a)(b)のフィルタを例にして詳細を説明したが、フィルタの構成としてこれ以外にも様々な構成が考えられる。それを図23(a)〜(d)、図24(a)〜(c)に示す。
【0117】
図23のフィルタは、図23(a)〜(d)に示す4つフィルタF1〜F4から構成されており、各フィルタF1〜F4を4画素おきに繰り返すことにより誤差バッファ13のアクセス回数およびそのメモリ容量の半減を達成できる。
【0118】
例えば、誤差とマスクの論理演算によるフィルタリングを考えると、主走査方向の画素1、5、9、…、などにマスクMA1、MC1のフィルタF1、画素2、6、10、…、などにマスクMA2、MD2のフィルタF2、画素3、7、11、…、等にマスクMA3、MΒ3のフィルタF3、画素4、8、12、…、などにマスクMA4、MC4のフィルタF4を使用することによりフィルタリングを行う。そのタイリングを図25、図26、図27に示す。
【0119】
図25のタイリングは、上記のようにフィルタF1〜フィルタF4を各ライン(副走査)に用いることによりフィルタリングを行う。従って、各主走査方向の画素、1、4、5、8、9、12、13、…などにその前のラインから誤差が拡散され、その画素における情報のみを書き込み、読み出しすればバッファが半減される。上記では、画素1に関するフィルタをF1としたが、F1の代わりにF2を使用し、フィルタF2、F3、F4、F1の順に切り替えても良い。
【0120】
しかしこの場合は、各主走査方向の画素3、4、7、8、11、12、…などにその前のラインから誤差が拡散される。また、F1の代わりにフィルタF3を使用し、フィルタF3、F4、F1、F2の順の切り替え、或いは、F1の代わりにフィルタF4を使用し、フィルタF4、F1、F2、F3の順に切り替えることも可能である。対応して、この二つの場合、それぞれ、各主走査方向の画素2、3、6、7、10、11、、…など、或いは、各主走査方向の画素1、2、5、6、9、10、13、14…などにその前のラインから誤差が拡散される。
【0121】
図26のタイリングでは、上記と同様に第1ライン、第5ライン、第9ライン、…などにおいては、フィルタF1を画素1、5、9、…等に使用し、フィルタF2を画素2、6、10、…等に使用し、フィルタF3を画素3、7、11、…等に使用し、フィルタF4を画素4、8、12、…等に使用するが、第2ライン、第6ライン、第10ライン、…等においては、フィルタF2を画素1、5、9、…等に使用し、フィルタF3を画素2、6、10、…等に使用し、フィルタF4を画素3、7、11、…等に使用し、フィルタF1を画素4、8、12、…等に使用し、第3ライン、第7ライン、第11ライン…等においては、フィルタF3を画素1、5、9、…等に使用し、フィルターF4を画素2、6、10、…等に使用し、フィルタF1を画素3、7、11、…等に使用し、フィルタF2画素を4、8、12、…等に使用し、第4ライン、第8ライン、第12ライン…等においては、フィルタF4を画素1、5、9、…等に使用し、フィルターF1を画素2、6、10、…等に使用し、フィルタF2を画素3、7、11、…等に使用し、フィルタF3を画素4、8、12、…等に使用することにより、副走査方向のフィルタ開始順番変えることも可能である。
【0122】
つまり、副走査方向に第1画素におけるフィルタをF1、F2、F3、F4として4ライン毎に繰り返すことができる。この場合は、第1、5、9、…等のラインからそれぞれ第2、6、10、…等ラインの画素1、4、5、8、9、12、13、…等に誤差が拡散され、第2、6、10、…等のラインからそれぞれ第3、7、11、…等のラインの画素3、4、7、8、11、12、…等に誤差が拡散され、第3、7、11、…等のラインからそれぞれ第4、8、12、…等のラインの画素2、3、6、7、10、11、…等に誤差が拡散され、第4、8、12、…等からそれぞれ第5、9、13、…等の画素1、2、5、6、9、10、…に誤差が拡散される。従って、図25と異なり、4ライン周期で、ライン毎に、誤差の書き込み、読み出し位置が変わるが、誤差バッファ13のメモリ容量は半減される。
【0123】
ここでは、副走査方向の第1画素におけるフィルタをF1、F2、F3、F4としてライン毎に図25と同様にフィルタを繰り返すことを説明したが、副走査方向の第1画素のフィルタを(F2、F3、F4、F1)の順、(F3、F4、F1、F2)の順、或いは(F4、F1、F2、F3)の順で行うことが可能である。しかし、各ラインの拡散される画素位置も対応して変わる。
【0124】
同様に、図27を使用すると副走査方向に、フィルタF1、F3から開始するフィルタの切り替えを2ラインごとに繰り返して行うことが可能である。この場合は、第1、3、5、…等のラインからそれぞれ第2、4、6、…等のラインの画素1、4、5、8、9、…等の画素に誤差が拡散され、第2、4、6、…等のラインからそれぞれ第3、5、7、…等の画素2、3、6、7、10、11、…等に誤差が拡散される。従って、2ライン周期で、ライン毎に誤差の書き込み、読み出し位置が変わる。
【0125】
また、副走査方向にフィルタ(F3、F1)順、フィルタ(F2、F4)或いはフィルタ(F4、F2)の順でも繰り返してフィルタリングを行うことができ、対応して拡散される画素位置も変わる。
【0126】
図26のタイリングを使うと副走査方向に周期的にフィルタの開始を決めているが、それをランダム化することにより、開始フィルタをランダムに設定することも可能である。例えば、図26の例では第1、5、9、…等のラインにおいてはフィルタ(F1、F2、F3、F4)の順に、第2、6、10、…等のラインにおいては、フィルタ(F2、F3、F4、F1)の順に、第3、7、11、…等のラインにおいては、フィルタ(F3、F4、F1、F2)の順と、第4、8、12、…等のラインにおいては、フィルタ(F4、F1、F2、F3)の順にフィルタの切り替えを行うので周期性がある。その周期性を崩すために、各ライン毎に上記の4つの切り替え順から1つをランダムに選ぶことも可能である。しかし、この場合は、フィルタの選択によって次のラインにどの画素順に誤差が拡散されるかが変わるので、それを記憶しておく必要がある。
【0127】
例えば、フィルタ(F1、F2、F3、F4)を00、フィルタ(F2、F3、F4、F1)は01、フィルタ(F3、F4、F1、F2)を02、フィルタ(F4、F1、F2、F3)を03とラベル付け、3次以上のM系列を使用し、その中から任意の2ビット、或いは、出力のΜodul0−3演算(出力割る3の余り)をフィルタ選択とすれば、上記のなかから一つが選択される。もしランダム発生は00、03、01、…等とすれば、第1ラインから第2ラインへの拡散される箇所は、1、4、5、8、9…画素となり、第2ラインから第3ラインへの拡散される箇所は、1、2、5、6、…画素となり、第3ラインから第4ラインへの拡散される箇所は、3、4、7、8、11、…画素となる。ランダム発生方法、初期値等によって乱数が変わるので、処理対象ラインの誤差読み出しに関しては、1ライン前の対応する書き込み順を再発生する必要がある。
【0128】
上記のフィルタ(F1、F2、F3、F4)の順の切り替えの組み合わせとして図28のテーブルに示すように24の組み合わせが可能である。その中でフィルタF3を施した後フィルタF2を施す組み合わせ(NGと示す)以外は全て利用可能であるが、その場合のタイリング等が各ケースによって異なってくる。また使用可能な組み合わせをライン毎に周期的或いはランダムに変えることも可能である。
【0129】
今までは誤差バッファ13のアクセス回数およびメモリ容量を半減できるフィルタ構成を説明したが、図24の(a)〜(c)に示すような構成を用いると誤差バッファ13のアクセス回数およびメモリ容量を1/3にすることが可能である。図24の(a)〜(c)に示すフィルタF1、フィルタF2、フィルタF3をフィルタ(F1、F2、F3)の順の切り替え、フィルタ(F2、F3、F1)の順の切り替え、フィルタ(F3、F1、F2)の順の切り替えの組み合わせで利用可能である。図24の(a)〜(c)に示すフィルタにおけるタイリングの例を図29、図30、図31に示す。
【0130】
図29のタイリングΤ1においては、図24の(a)〜(c)に示す各フィルタを各ライン毎にフィルタ(F1、F2、F3)の順に切り替えてフィルタリングを行う。つまり、副走査方向の各ラインにおいて、フィルタF1を画素1、4、7、10、…の順に使用し、フィルタF2を画素2、5、8、…の順に使用し、フィルタF3を画素3、6、9、…の順に使用することにより、フィルタリングを行う。この場合は、各ラインの画素2、5、8、11、…に前ラインから誤差が拡散されてくる。
【0131】
また、上記のように、フィルタの順番をフィルタ(F1、F2、F3)からフィルタ(F2、F3、F1)の順に変えても良い。しかしこの場合、各ラインの画素1、4、7、10、…に前ラインから誤差が拡散されてくる。同様にフィルタの順番をフィルタ(F3、F1、F2)の順に変えると、各ラインの画素3、6、9、12、…に前ラインから誤差が拡散される。
【0132】
図30と図31は各ライン毎にフィルタの開始順を変えたもので図26と図27のタイリングと同様なものである。
【0133】
図30においては、副走査方向の第1、4、7、…ラインからそれぞれ第2、5、8、…ラインの画素2、5、8、…に誤差が拡散され、第2、5、8、…ラインからそれぞれ第3、6、9、…の画素1、4、7、…に誤差が拡散され、第3、6、9、…ラインからそれぞれライン4、7、10、…の画素3、6、9、…に画素が拡散される。
【0134】
同様に、図31においては、副走査方向の第1、4、7、…ラインからそれぞれ第2、5、8、…ラインの画素2、5、8、…に誤差が拡散され、第2、5、8、…ラインからそれぞれ第3、6、9、…の画素3、6、9、…に誤差が拡散され、第3、6、9、…ラインからそれぞれライン4、7、10、…の画素1、4、7、…に画素が拡散される。
【0135】
図29、図30、図31においても図25、図26、図27の説明と同様に副走査方向のフィルタ切り替えの順番のランダム化等も可能である。
【0136】
フィルタ切り替えによる誤差バッファ13のアクセス回数およびメモリ容量の低減に関する第1の実施例の動作を図2を参照しながらまとめて説明すると、誤差補正手段2により処理対象画素の読み取り値が前ラインまたは前画素から拡散される誤差補正量をもとに補正され、補正後の画素データ3が閾値処理手段4により外部から予め設定された閾値をもとに2値/多値化が行われ、画像処理装置の出力画像データ5として出力される。2値/多値化された出力画像データ5と補正後の画素データ3から閾値処理による誤差信号7が誤差算出手段6により算出される。
【0137】
誤差フィルタリング手段10は、閾値処理による誤差信号7と、フィルタパラメータ発生手段8により発生されるフィルタパラメータ9を入力とし、制御信号発生手段15により発生されるフィルタ切り替え制御信号19をもとにフィルタを切り替えながら周辺画素における誤差補正量11、12を算出し、次ぐ隣りの画素への誤差補正量11を次の画素にフィードバックし、次のラインへの誤差補正量12を誤差バッファ13に制御信号発生手段15より発生されるバッファ制御信号18をもとに書き込みを行う。さらに、バッファ制御信号18をもとに、前ラインからの誤差補正量14(eP)が誤差バッファ13から読み込まれる。
【0138】
また誤差補正手段2は、制御信号発生手段15より発生される、誤差補正制御信号17のセレクト信号17A、17により、補正を行うか否かの補正制御を行う。制御信号発生手段15は、外部入出力インターフェース手段16より指定された、フィルタ等の内容に基づいて、補正、フィルタ切り替え、誤差バッファ13へのデータの書き込み、誤差バッファ13からのデータの読み出しまたは、フィルタパラメータのランダム化等の制御を行う。
【0139】
上記のフィルタ切り替え方法を用いることにより、誤差バッファ13のアクセス回数およびメモリ容量の低減が可能であり、コストダウンにつながる。例えば、解像度を400dpiから600dpiに上げた場合でも同じコストで同等以上の階調処理が得られると考えられる。さらに、領域判定等を行い、階調処理が必要な領域のみにこの方法を用い、解像度を必要とする領域にはそれにあった処理を適応的に施すことにより解像度と階調性の両立も考えられる。
【0140】
また、多値出力の場合は、2値の場合と比較して誤差量が少ないため、従来のフィルタを用いても全ての近傍に拡散される可能性が少ない。従って、この方法を用いて、従来と同じレベルの画質をより少ない誤差バッファのメモリで実現可能である。
【0141】
次は、この発明の第2の実施例としてフィルタ切り替えによる高速処理について図32を参照しながら説明する。図32の高速処理構成におけるフィルタの例を図33(a)(b)または図34(a)(b)に示す。図35(a)(b)のフィルタは、高速処理および誤差バッファ13のメモリ容量の低減が得ることが可能な構成となっている。
【0142】
図33(a)(b)、図34(a)(b)、図35(a)(b)のフィルタの構成を考え、図32の画像処理装置の動作をまとめて説明する。
【0143】
図32の基本構成は図1と同様なものであり、入力画像変換手段2Aは画素毎に入力される主走査方向の画素ストリームを2画素同時処理できるように変換するもので、入力画素ストリーム1Aを制御信号発生手段15により発生される入力画素変換制御信号23に基づいて2画素にまとめて変換する。
【0144】
変換後の2画素ストリーム1が誤差補正手段2で2画素並列に補正され、補正後の画像データ3は閾値処理手段4で2画素並行して閾値処理される。閾値処理の出力画像データ5が2画素単位で出力され、この画像処理機器の出力側に接続される出力機器に応じて出力画素変換手段4Aにより、出力画素変換制御信号24に基づいて変換され、変換後の出力画像データ5Aが出力される。例えば、1画素ごとに出力するプリンタを接続した場合は、2画素ストリームを1画素ストリームに変換して(つまり入力画像変換手段2Aの逆変換)出力する。
【0145】
出力画像データ5と補正後の画像データ3から誤差算出手段6により、閾値処理による誤差が算出され、その誤差がフィルタ切り替えによる誤差フィルタリング手段10により、フィルタパラメータ発生手段8から発生されるフィルタパラメータ9を元に処理対象画素の周辺画素に誤差補正量として拡散される。制御信号発生手段15は、外部インターフェース手段3により設定された情報元に、入力画素変換制御信号23、出力画素変換制御信号24、誤差補正制御信号17、バッファ制御信号18、フィルタ切り替え制御信号19、フィルタパラメータランダム化のフィルタパラメータ制御信号20等を発生するものである。
【0146】
図32においては、図1の入力画像変換手段2Aは図36に示すようなもので、画素毎に入力されるものをフィルタに対応して2画素毎に同時出力するものである。図33(a)(b)のフィルタの場合は2画素を並行して処理するので、制御信号発生手段15から入力画素変換制御信号23として、図37(d)に示すように画素クロック21(図37(a)に示す)を2分周したものが入力される。
【0147】
フリップフロップ回路302は図37(c)に示すように画素クロック21に同期して図37(b)に示す入力画像データDi(G1、…)を1画素遅延して出力D(i−1)を出力するものである。フリップフロップ回路303は、入力画素変換制御信号23に同期してフリップフロップ回路302のセット出力D(i−1)を出力D(i−3)として出力するものである。フリップフロップ回路304は、入力画素変換制御信号23に同期して図37(b)に示す入力画像データDiを出力D(i−2)として出力するものでする。これにより、フリップフロップ回路303、304から、図37(e)に示すように、2画素(G1・G2、…)まとめて出力される。また、その後の処理には処理クロックとして画素クロック21の代わりに2分周クロック(図37(d)に示す)を使用する。
【0148】
誤差補正手段2は、図3に示す誤差補正手段2を2個、2画素それぞれに1個づつ、使用し、処理クロックとして画素クロックの代わりに2分周したクロックを使用する。また、誤差補正制御信号17のセレクト信号17Bは奇数画素1、3、5、…側の誤差補正手段2にはすでに、ハイとなり(補正ありの状態)、偶数画素2、4、6、…側の誤差補正手段2には既に、ロー(補正なしの状態)となっている。
【0149】
図32の閾値処理手段4、誤差算出手段6は、図2の第1の実施例に説明した閾値処理手段4、誤差算出手段6などと同様なものであり、この場合は奇数画素1、3、5、…と偶数画素2、4、5…を並行して処理するために2個づつ持つ。
【0150】
フィルタパラメータ発生手段8も図2のフィルタパラメータ発生手段8と同様なものであり、設定された方法に基づき、フィルタパラメータ9を発生し、誤差フィルタリング手段10に供給する。
【0151】
次に、フィルタ切り替えによる誤差フィルタリング処理について説明する。フィルタリング処理は図21に示す図2の第1の実施例におけるフィルタリング処理とほぼ同様なものであるが、その構成を図38に示す。
【0152】
図38のビットマスク手段32−A、32−Βは、図21のビットマスク演算手段22a〜22dから構成されるビットマスク手段22と同じものであり、ここでは、奇数画素用ビットマスク手段32−A、と偶数画素用ビットマスク手段32−Βの2個を用いる。また、フィルタパラメータMA1、MΒ1、MC1、MD1等はフィルタF1のマスク値で、フィルタパラメータMA2、MΒ2、MC2、MD2等はフィルタF2のマスク値である。ea1、eb1、ec1、ed1はビットマスク手段32−Aの出力で、奇数画素の閾値処理による誤差信号を周辺画素に分配したものを表し、ea2、eb2、ec2、ed2、はビットマスク手段32−Βの出力で、偶数画素の閾値処理による誤差信号を周辺画素に分配したものを表す。奇数画素にフィルタF1を使用し、偶数画素にフィルタF2を使用する。
【0153】
図33においては、フィルタF1のMA1が0となり、フィルタF2のフィルタパラメータMΒ2、MC2、MD2が0となる。同様に図34においては、フィルタF1のフィルタパラメータMA1が0であり、また図35のフィルタにおいては、フィルタF1のフィルタパラメータMA1、MC1が0で、フィルタF2のフィルタパラメータMΒ2、MD2が0となる。eΤは偶数画素からのすぐ隣りの画素(奇数画素)への誤差で、奇数画素に対応する誤差補正手段2に入力される。対応する奇数画素からの誤差は常に0となっている。
【0154】
各画素から拡散される誤差、ea1、eb1、ec1、ed1、ea2、eb2、ec2、ed2などがフリップフロップ回路32−C、32−Dと加算器32−F〜32−Iにより2画素単位の次のラインへの誤差補正量としてまとめられる。2画素単位の次のラインへの誤差がセレクタ32−Eにてフィルタ切り替え制御信号19により、1画素単位の誤差補正量12(eN)として出力される。そのタイミング等を図39(a)〜(o)に示す。従って、誤差バッファ13への書き込み制御として画素クロック21を利用することができる。また誤差バッファ13から画素クロック21をもとに読み込んだ誤差を図36に示した入力画素変換手段2Aと同様に2画素単位にまとめて誤差補正手段2に入力することができる。
【0155】
さらに、図35のフィルタにおいては、フィルタF1のフィルタパラメータMA1、MC1と、フィルタF2のフィルタパラメータMΒ2、MD2が0となっているので、ビットマスク手段32A、32Bの出力ea1、ec1、eb2、ed2は、誤差に関係なく0となり、図38と図39で示す加算器32−Iの出力である信号32−Lがいつも0の状態となる。従ってこの場合は、図38に示すセレクタ32−Eは不要で、加算器32−Hの出力である信号32−Kを誤差補正量12(eΝ)とする。また、画素クロック21の2分周である処理クロックを誤差バッファ13の書き込み/読み出しに使用することにより、誤差バッファ13のメモリ容量の半減で、2倍速の処理が可能となる。
【0156】
また、図40(a)〜(d)、図41(a)〜(d)に示すフィルタF1からフィルタF4を主走査方向の画素に順に繰り返して使用すると並列処理による高速化と図23(a)〜(d)のフィルタの説明と同様に誤差バッファ13の半減が可能となる。
【0157】
上記は2画素単位の並行処理について述べたが、図42(a)〜(c)、図43(a)〜(c)、図44(a)〜(c)、図45(a)〜(c)のフィルタ群を同様に使用する3画素並行処理ができ、誤差バッファ13のメモリ容量を1/3に低減することが可能である。この場合は、図42(a)〜(c)、図43(a)〜(c)、図44(a)〜(c)、図45(a)〜(c)のフィルタ群を副走査方向の各ライン毎周期的、或いはランダムに選択することも可能である。
【0158】
また、図46(a)〜(f)のフィルタ群を使用することにより2画素並行処理、誤差バッファ13のメモリ容量の1/3に低減することができれば、図47(a)〜(d)を使用することにより4画素並行処理と、誤差バッファ13のメモリ容量の1/4化も可能となる。このように、フィルタの組み合わせ等により、誤差バッファ13のメモリ容量の低減また処理速度の様々な組合わせが可能となる。
【0159】
制御信号発生手段15は図2の第1の実施例の制御信号発生手段15と同様な機能をもっており、図20(f)(g)に示すタイミングで制御信号を発生するものである。
【0160】
次に複数チャネルにより入力される入力画像データ、例えばR、G、Β(レッド、グリーン、ブルー)のラインセンサ(スキャナ)で読まれた画像をY(イエロー)、M(マゼンタ)、C(シアン)、Κ(ブラック)に変換したものなど、を同時処理する実施例について説明する。図48にその構成を述べる。
【0161】
図48においては4チャネル(以降はチャネル1、チャネル2チャネル3、チャネル4と呼ぶ、)の信号が同時入力され、前記の実施例に述べたように、誤差補正手段2にて前に処理された画素から拡散される誤差が4チャネル同時に補正され、閾値処理手段4では補正された複数チャネルの画素が同時に2値化処理され、出力画像データ5が得られる。誤差算出手段6にて各々のチャネルの閾値処理による誤差が算出され、その誤差がフィルタリング手段10にて周辺画素に拡散されることにより階調性の優れた出力が得られる。この場合は、図49に示すフィルタとチャネルの組み合わせを例にして説明する。
【0162】
図48に示す第3の実施例において、誤差フィルタリング手段10以外は図2の第1の実施例に対応する各々の手段と同様なものであり、チャネル数だけの個数を持てば良い。誤差フィルタリング手段10の構成を図50に示す。図50のチャネル毎のフィルタ41a〜41dは図2の第1の実施例における図21に示す誤差フィルタリング手段10と同様なものである。この場合の異なる点は、マスク値が0か1かであるため図21のマスク用のセレクタ21a、…の代わりに図51(d)〜(g)のタイミング図に示すフィルタパラメータとしての制御信号Sa、Sb、Sc、Sdをそのままマスク信号として使用している。
【0163】
図48の制御信号発生手段15により図51(c)〜(g)に示すフィルタ切り替え制御信号19と制御信号Sa、Sb、Sc、Sdが作られる。その1例は、図52に述べるようにカウンタ15a、フリップフロップ回路15c、15d、15e、ノア回路15bによって構成される。図52のカウンタ15aは0、1、2、3を繰り返しカウントする2ビットのカウンタで、フリップフロップ回路15c、15d、15eは画素クロック21に同期して遅延を行うものである。これにより、4チャネルの誤差拡散処理が同時にでき、誤差バッファ13のメモリ容量の低減が可能となる。例えばこの例では、従来の誤差拡散では、4チャネル分の誤差バッファのメモリ容量が必要であったのに対し、ここでは、それを1チャネル分つまり1/4に低減できる。
【0164】
また、図2に示した第1の実施例のフィルタの組み合わせなどを使用すると誤差バッファ13のメモリ容量の1/2化などと言った他の組み合わせも可能である。さらに、図32の第2の実施例の複数画素同時処理の考え方を取り入れると、複数チャネル、各チャネルの複数画素の同時処理ができるようになり、コストパフォーマンスの良い高速処理が可能となる。また、マルチチャネル入力の場合は、幾つかのチャネルをこの発明のフィルタ切り替え処理にして、残りのチャネルは従来の誤差拡散処理等に分ける構成も考えられる。
【0165】
高速処理のもう一つ構成は図53に示すようなもので、図32に示すものとほぼ同じであるが、異なる点は入力画像変換手段2Aが主走査方向の複数画素をまとめる変換ではなく、複数のラインをまとめる手段となっている。それと対応して、出力画像変換手段4Aは、複数画素を元の1画素ストリームに変換するものではなく、同時に入ってくる複数ラインの画素を分割してライン画素に変換して出力ものである。またこの画像処理につながる出力機器に対応して変換なしで出力することも考えられる。例えば、CCD等のラインセンサで1ライン毎に入力される画像データを複数ライン(例えば4ライン)を同時処理し、マルチチャネル出力(4ライン同時出力)する出力機器にそのまま出力する。ここで、図53の入力変換手段2Aの2ライン同時処理向けの1例を図54に示し、詳細を説明するが、その他の処理は、上記の実施例と同様な考え方で構成できるの説明を省略する。
【0166】
図54の45−1〜45−4(FIFΟ1〜FIFO4)は、入力画像を1次的に蓄えるためのラインバッファであり、FIFΟ1、FIFΟ2は1つの組でFIFO3とFIFO4はもう一つに組みとなっている。FIFO1とFIFΟ3の入力はスイッチS1の切り替え状態によって1画素毎に入力される画像データに接続される。FIFΟ2の入力はFIFO1の出力に接続されており、FIFΟ4の入力はFIFO3の出力に接続されている。
【0167】
スイッチS2、S3により、FIFΟ1、FIFΟ2、またはFIFO3、FIFΟ4がぺアで2ライン画像として出力される。スイッチS1が、端子A1に接続されてFIFO1に画像を入力している場合はスイッチS2はΒ2、スイッチS3はΒ3に接続されて、FIFO3とFIFO4の内容が、2ライン画像として出力され、逆に、スイッチS1は端子Β1に接続された場合は、FIFO3に読み取り機器から画像が入力され、スイッチS2は端子A2、スイッチS3が端子A3に接続されて、FIFΟ1、FIFΟ2のデータが2ライン画像として出力される。
【0168】
図53の構成を用いて従来の誤差拡散を高速に実施することだけではなく、上記のフィルタ切り替え手段等と組み合わせて誤差バッファ13のメモリ容量の低減と処理のさらなる高速化を図ることもできる。また、1ライン分の誤差バッファだけで、図55(a)(b)に示す周辺の1画素以上の距離を持つフィルタも取り入れることが可能である。図55(a)(b)のフィルタ構成を用い、副走査方向の奇数ラインに対応する主走査方向にフィルタF1からはじめ、画素毎にフィルタF1とフィルタF2を切り替え、副走査方向の偶数ラインに対応する主走査方向にフィルタF2からはじめ、画素毎にフィルタF2とフィルタF1の順に切り替えることにより1ラインの分の誤差バッファだけで、誤差拡散処理を行うことができる。
【0169】
上記したすべての実施例では、フィルタ切り替えによる誤差バッファのメモリ容量の低減や処理の高速化をできるような構成を述べたが、フィルタ切り替えのもう一つの効果は、従来のフィルタ構成の幾つかを用い、或いは、パラメータの係数の異なるものを幾つかを用い、それらを画素毎や複数画素毎にランダムに切り替えなどにより、従来の誤差拡散の斜め方向のテクスチャの問題が解決できると考えられる。
【0170】
上記したように、フィルタのランダム切り替えによりテクスチャの低減が図れる。
【0171】
副走査方向において各画素や複数画素おきに拡散ができるようなフィルタ群を用いそれを画素毎や複数画素毎に切り替えることにより誤差記憶手段のアクセス回数が削減でき、処理の高速化を図ることができる。
【0172】
主走査方向において各画素や複数画素おきに拡散できるようなフィルタ群を用い、それを画素毎や複数画素毎に切り替えることにより複数画素の同時処理が可能となり、処理の高速化を図ることができる。
【0173】
副走査方向の誤差拡散において1画素や複数画素おきの誤差拡散による誤差バッファのアクセス回数の削減、主走査方向の複数画素の同時処理、両方を同時に実現することにより、処理の高速化を図ることができる。
【0174】
上述したような種々のフィルタ群を設け、その内1つが用途に応じて外部から指示できる柔軟なものとすることができる。
【0175】
副走査方向の複数ラインの複数画素を同時に処理することにより、処理の高速化を図ることができる。
【0176】
複数チャネル同時処理による処理の高速化が可能となる。
【0177】
複数チャネルの内幾つかのチャネルを従来の誤差拡散、それ以外はフィルタ切り替え方式を用いることにより、従来の誤差拡散はマルチライン同時処理、それ以外は、複数画素同時処理などのハイブリッド形式により、処理の高速化が図れる。
【0178】
フィルタ繰り返しの初期状況副走査方向の各ライン毎にランダム或いは周期的に変えることによる拡散の方向性の均一化またはランダム化が図れる。
【0179】
複数のフィルタ群を用いて、それを副走査方向に周期的またはランダムに変えることにより、拡散の方向性の均一化またはランダム化が図れる。
【0180】
【発明の効果】
以上詳述したように、この発明によれば、フィルタの切り替えにより、誤差バッファのアクセス回数およびメモリ容量の低減が可能となり、特に、高解像度、多階調の処理に関してはコストパフォーマンスの良い高速処理処理が可能である。
【0181】
複数画素の同時処理が可能となり、高速処理が実現できる。
【0182】
マルチチャネル同時処理に関しても、誤差バッファのアクセス回数およびメモリ容量の低減、処理の高速化が可能となる。
【0183】
また、フィルタ切り替えによる従来の誤差拡散のテクスチャもある程度改善できる。
【図面の簡単な説明】
【図1】この発明の説明するための画像処理装置の概略構成を示すブロック図。
【図2】第1の実施例における画像処理装置の概略構成を示すブロック図。
【図3】誤差補正手段の構成を示すブロック図。
【図4】閾値処理手段の構成を示すブロック図。
【図5】閾値処理手段のエンコーダ部の処理を説明するための図。
【図6】閾値処理手段の比較器の例を示す図。
【図7】閾値処理手段の他の構成例を示す図。
【図8】閾値処理手段の他の構成例を示す図。
【図9】補正処理後の入力画像のビット展開の一例を示す図。
【図10】誤差算出手段の構成例を示す図。
【図11】従来の誤差拡散法のフィルタのモデルを説明するための図。
【図12】フィルタの構成例を示す図。
【図13】フィルタを用いることによる誤差拡散の例を示す図。
【図14】フィルタをビットマスクで実施するためのマスクの一例を示す図。
【図15】フィルタにおけるマスク値のランダム発生を説明するための図。
【図16】低次の疑似ランダム系列から高次の疑似ランダム系列を説明するための図。
【図17】疑似ランダム系列(M系列)発生手段の具体例を示す図。
【図18】マスクの位置をランダムにする方法の1例を示す図。
【図19】制御信号発生手段の構成例を示す図。
【図20】制御信号発生手段の要部の信号を示すタイミングチャート。
【図21】誤差フィルタリング手段の構成例を示す図。
【図22】誤差フィルタリング手段の要部の信号を示すタイミングチャート。
【図23】フィルタの構成例を示す図。
【図24】フィルタの構成例を示す図。
【図25】図23のフィルタ構成におけるタイリング(副走査方向の初期値変更)例を示す図。
【図26】図23のフィルタ構成におけるタイリング例を示す図。
【図27】図23のフィルタ構成におけるタイリング例を示す図。
【図28】図23の全ての組み合わせの中でフィルタ切り替えできる組み合わせを示す図。
【図29】図24のフィルタ構成におけるタイリング例を示す図。
【図30】図24のフィルタ構成におけるタイリング例を示す図。
【図31】図24のフィルタ構成におけるタイリング例を示す図。
【図32】第2の実施例(高速処理)における画像処理装置の概略構成を示すブロック図。
【図33】2画素同時処理に利用できるフィルタの構成例を示す図。
【図34】2画素同時処理に利用できるフィルタの構成例を示す図。
【図35】2画素同時処理、誤差バッファのメモリ容量の半減に利用できるフィルタの構成例を示す図。
【図36】主走査方向の画素を2画素毎にまとめる入力画像変換手段の構成例を示す図。
【図37】入力画像変換手段の要部の信号を示すタイミングチャート。
【図38】誤差フィルタリング手段の構成例を示す図。
【図39】誤差フィルタリング手段の要部の信号を示すタイミングチャート。
【図40】2画素同時処理、誤差バッファのメモリ容量の半減に利用できるフィルタの構成例を示す図。
【図41】2画素同時処理、誤差バッファのメモリ容量の半減に利用できるフィルタの構成例を示す図。
【図42】3画素同時処理、誤差バッファのメモリ容量の1/3化に利用できるフィルタの構成例を示す図。
【図43】3画素同時処理、誤差バッファのメモリ容量の1/3化に利用できるフィルタの構成例を示す図。
【図44】3画素同時処理、誤差バッファのメモリ容量の1/3化に利用できるフィルタの構成例を示す図。
【図45】3画素同時処理、誤差バッファのメモリ容量の1/3化に利用できるフィルタの構成例を示す図。
【図46】2画素同時処理、誤差バッファのメモリ容量の1/3化に利用できるフィルタの構成例を示す図。
【図47】4画素同時処理、誤差バッファのメモリ容量の1/4化に利用できるフィルタの構成例を示す図。
【図48】第3の実施例(マルチチャネル同時処理)における画像処理装置の概略構成を示すブロック図。
【図49】チャネル毎のフィルタの切り替えを説明するための図。
【図50】誤差フィルタリング手段の構成例を示す図。
【図51】誤差フィルタリング手段の要部の信号を示すタイミングチャート。
【図52】制御信号発生手段の構成例を示す図。
【図53】第4の実施例(複数ライン同時処理)における画像処理装置の概略構成を示すブロック図。
【図54】複数ライン画像に変換する入力画像変換手段の概略構成を示すブロック図。
【図55】複数ライン(2ライン)にまたがるフィルタの構成例を示す図。
【図56】従来の誤差拡散法を説明するための2値化処理の構成図。
【符号の説明】
2…誤差補正手段
4…閾値処理手段
6…誤差算出手段
8…フィルタパラメータ発生手段
10…誤差フィルタリング手段
13…誤差バッファ
15…制御信号発生手段
Claims (1)
- 主走査方向に複数の画素でかつ副走査方向に複数のラインからなる処理対象画像における注目画素の画像データを2値/多値化誤差拡散に基づく誤差補正量によって補正した補正画像データを出力する補正手段と、
この補正手段による補正画像データを2値/多値化する2値/多値化手段と、
この2値/多値化手段により2値/多値化された2値/多値化画像データと上記補正手段による補正画像データとの誤差を算出する算出手段と、
上記算出手段により算出された誤差を入力とし、誤差を拡散する画素の異なる複数のフィルタからなるフィルタ群を設け、画素ごとに選択的にフィルタを切り替えることによりフィルタリングを行い、注目画素に対する主走査方向の次の画素への誤差補正量と注目画素に対する副走査方向の次のラインへの誤差補正量とを出力する誤差フィルタリング手段と、
この誤差フィルタリング手段により出力される注目画素に対する副走査方向の次のラインへの誤差補正量を、上記主走査方向の各画素ごとに記憶する記憶手段と、
注目画素に対する副走査方向の前のラインからの誤差補正量を上記記憶手段から読出す読出し手段と、
この読出し手段により読出された注目画素に対する副走査方向の前のラインからの誤差補正量と上記誤差フィルタリング手段により出力される注目画素に対する主走査方向の次の画素の誤差補正量とにより、上記補正手段による注目画素の画像データの補正を行う制御手段と、
を具備したことを特徴とする画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32271695A JP3782146B2 (ja) | 1995-12-12 | 1995-12-12 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32271695A JP3782146B2 (ja) | 1995-12-12 | 1995-12-12 | 画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09163140A JPH09163140A (ja) | 1997-06-20 |
JP3782146B2 true JP3782146B2 (ja) | 2006-06-07 |
Family
ID=18146832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32271695A Expired - Fee Related JP3782146B2 (ja) | 1995-12-12 | 1995-12-12 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3782146B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003110861A (ja) * | 2001-09-28 | 2003-04-11 | Seiko Instruments Inc | カラー階調画像の階調再現方法および装置 |
-
1995
- 1995-12-12 JP JP32271695A patent/JP3782146B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09163140A (ja) | 1997-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3242278B2 (ja) | 画像処理装置 | |
JP4455513B2 (ja) | 画像処理方法、画像処理装置、及び画像表示装置 | |
JPH11243490A (ja) | 誤差拡散値の処理方法 | |
EP0259695B1 (en) | Method of and apparatus for generating image data used to record an image having gradation | |
KR100376951B1 (ko) | 화소밀도변환및오차확산기능을갖는화상데이타처리장치 | |
JP3706830B2 (ja) | 画像信号処理装置 | |
JP3782146B2 (ja) | 画像処理装置 | |
JPH01312671A (ja) | 画像処理装置 | |
JP2003110852A (ja) | ハーフトーン処理方法および装置 | |
JP3461247B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2701310B2 (ja) | 中間調画像生成方法および装置 | |
JP3949642B2 (ja) | 画像処理装置 | |
JP2714140B2 (ja) | 画素密度変換装置 | |
JP3428822B2 (ja) | 画像処理装置及び画像処理方法 | |
JP3200287B2 (ja) | 画像処理方法及び装置 | |
JP2714141B2 (ja) | 画素密度変換装置 | |
JPH09311669A (ja) | 画像処理装置及びその画像処理方法 | |
JPH03243063A (ja) | 階調画像の二値化方法 | |
JPH07295527A (ja) | 画像信号2値化処理装置および方法 | |
JPH1169158A (ja) | 画像処理装置 | |
JP2005094403A (ja) | 画像処理装置 | |
JP2006311266A (ja) | 画像処理装置 | |
JPH09212640A (ja) | 多階調縁取りデータ生成装置及びその方法 | |
JPH0983794A (ja) | 画像処理方法及び装置 | |
JPH1028223A (ja) | 画像データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050719 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050823 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051024 |
|
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: 20060307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060309 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |