(57)【要約】      （修正有）【課題】  多階調画像データを、低濃度領域で常に最適なドット分散の低階調画像データに変換でき、かつ比較的高速処理、必要なメモリ容量の大幅削減ができる画像処理装置を提供する。【解決手段】  多階調画像データを着目画素毎に低階調画像データに変換する際に、変換誤差を周辺画素に拡散し、着目画素に対して拡散誤差の累積値で多階調データを補正し、閾値と比較し低階調画像データに変換する画像処理素装置１０において、低濃度多階調画像データが、印字用二値化データに変換された場合、閾値調整バッファ３０の、該二値化着目画素を中心とした記憶領域に、調整閾値テーブル２８により、該着目画素の多階調データに応じ、該着目画素から離れるに従って小さくなる調整値を記憶させる。着目画素以降に二値化される周辺画素については、閾値算出器２６により該閾値調整バッファ３０に記憶された調整値で調整された閾値を用いて、比較器２２で二値化処理を行う。【選択図】  図１
2005236377.tif 000002
【特許請求の範囲】
【請求項１】
画像を構成する各画素の濃度に応じた多階調画像データを着目画素毎に低階調画像データに変換する際に、変換の際に生じた誤差を周辺画素の各々に拡散し、着目画素に対して以前の変換の際に拡散された誤差の累積値を用いて該着目画素の多階調画像データを補正し、補正された多階調画像データと閾値とを比較して低階調画像データに変換する画像処理素装置であって、
低濃度の着目画素の多階調画像データが印字ドットが形成される低階調画像データに変換された場合に、前記変換時に印字ドットが形成されない方向に前記閾値を調整するための調整値であって、該着目画素の多階調画像データに応じて、該着目画素から距離が離れるに従って小さくなる調整値を該着目画素及び該着目画素の周辺画素の各々に対応して設定する設定手段と、
前記着目画素の変換以降に低階調画像データに変換される画素であって、前記調整値が設定された画素の多階調画像データを低階調画像データに変換する際に、前記設定された調整値を用いて前記閾値を調整する調整手段と、
を備えた画像処理装置。
【請求項２】
複数ラインからなる画像の多階調画像データを低階調画像データへ変換する場合に、前記設定された前記調整値の大きさを、１ライン分の変換処理が終了する毎に減衰させる減衰手段を更に設けた請求項１記載の画像処理装置。
【請求項３】
画像を構成する各画素の濃度に応じた多階調画像データを着目画素毎に低階調画像データに変換する際に、変換の際に生じた誤差を周辺画素の各々に拡散し、着目画素に対して以前の変換の際に拡散された誤差の累積値を用いて該着目画素の多階調画像データを補正し、補正された多階調画像データと閾値とを比較して低階調画像データに変換する画像処理素装置であって、
低濃度の着目画素の多階調画像データが印字ドットが形成される低階調画像データに変換された場合に、前記変換時に印字ドットが形成されない方向に前記誤差の累積値を調整するための調整値であって、該着目画素の多階調画像データに応じた調整値を用いて、該着目画素及び着目画素の周辺画素の各々に対応した前記誤差の累積値を調整する調整手段
を備えた画像処理装置。
【請求項４】
前記調整手段は、低濃度の着目画素の多階調画像データが印字ドットが形成される低階調画像データに変換された場合に、前記変換時に印字ドットが形成されない方向に前記誤差の累積値を調整するための調整値であって、該着目画素の多階調画像データに応じて、該着目画素から距離が離れるに従って小さくなる調整値を用いて、該着目画素及び該着目画素の周辺画素の各々に対応した前記誤差の累積値を調整する請求項３記載の画像処理装置。
【請求項５】
前記調整手段は、低濃度の着目画素の多階調画像データが印字ドットが形成される低階調画像データに変換された場合に、前記変換時に印字ドットが形成されない方向に前記誤差の累積値を調整するための調整値であって、該着目画素の多階調画像データに応じて、該着目画素から距離が離れるに従って小さくなると共に、前記着目画素を基準とした前記変換処理の進行方向の対称位置において小さくなる割合が異なる調整値を用いて、該着目画素及び該着目画素の周辺画素の各々に対応した前記誤差の累積値を調整する請求項３記載の画像処理装置。
【請求項６】
複数ラインからなる画像の多階調画像データを低階調画像データへ変換する場合に、前記誤差の累積値を、１ライン分の変換処理が終了する毎に前記調整手段による調整の影響が減衰するように調整する減衰手段を更に設けた請求項３乃至請求項５のいずれか１項記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に、多階調画像データを誤差拡散手法を用いて低階調画像データへ変換する画像処理装置に関するものである。
【背景技術】
【０００２】
現在、小型プリンタとして、ノズルから液体のインク滴を吐出して画像の記録を行うカラーインクジェット方式のプリンタが広く普及している。カラーインクジェット方式のプリンタは、構造が簡単で印字の音が小さく、写真画像など多階調画像を高画質に記録することができる。しかしながら、出力できる階調数は、元の画像データの階調数と比較して非常に少ない。このため、多階調画像の画像データを低階調化する必要がある。
【０００３】
低階調化（例えば二値化）するための手法としては、従来より誤差拡散法が用いられることが多い。誤差拡散法はディザ方式などに比べて画像濃度の再現性を保ち、解像性が高く高画質が得られる一方で、特定の階調範囲たとえば入力画像の濃度が低い場合などに、視覚的に不快な規則的な模様（テクスチャ）が発生したり、低濃度部においてドット再現の遅れが生じるなどの問題がある。
【０００４】
これに対して、従来より、誤差拡散法を用いて二値化する際に、入力画像データに乱数値を加えることにより上述のテクスチャの発生を軽減する画像処理装置が提案されている（例えば、特許文献１参照）。この技術により、低濃度領域（ハイライト）でドットの配置が不規則にはなるが、ウォーム（Worm）と呼ばれる波型の模様（図５（Ａ）参照）の発生を抑止するには不十分である。
【０００５】
そこで、上述の乱数値の利用に加え、二値化の履歴を記録し、二値化の際にこの履歴情報を参照して、空間的に均一化したドット配置になるように二値化処理を制御する誤差拡散型画像処理システムが提案されている（例えば、特許文献２参照）。この技術を用いて、Worm発生の抑止効果を高めるためには、二値化履歴を記録するために相応のメモリ容量が必要となる。このため、必要なメモリ容量の増加を伴い、かつ二値化時に行われる処理が重くなるため、処理速度およびコスト的に不利である。
【０００６】
新たなメモリ容量を必要とせずにWormの抑止効果を得るための技術として、二値化時にドット形成がなされるデータに変換されたか否かに基づいて、誤差拡散処理における誤差値を補正する画像処理装置が提案されている（例えば、特許文献３参照）。この技術によれば、誤差記憶手段に格納された誤差値のうち、ドット形成される画素の前後の誤差値から均一な値を減算して補正することにより、既に形成されたドットの周辺に再びドットが形成されることを抑止することができる。
【０００７】
また、テクスチャ抑制のため、拡散誤差を記憶する誤差バッファとは独立した閾値調整バッファを備え、閾値調整バッファに記憶された調整値を用いて入力値に応じた閾値制御を行う方法が提案されている（例えば、特許文献４参照。）。
【特許文献１】特開平１０−１９１０５６号公報
【特許文献２】特開平１０−２５８５２９号公報
【特許文献３】特開平１０−２５７３２０号公報
【特許文献４】米国特許第５５３５０１９号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、誤差記憶手段の誤差値を均一な値で補正する従来の画像処理装置では、入力多階調画像データが特定の値（濃度）時にのみ前述の誤差値補正を行なうが、二値化処理の毎にその前後の画素領域の２値化の履歴を管理するフラグを参照しなくてはならず、比較的高負荷な処理となる。また、均一値の減算では、形成されたドットの周辺の正方領域にドット形成抑止領域を形成することとなるため、ドットの分散が空間的に均一とはなり難い。さらにまた、上述の減算処理は拡散誤差の一部として扱われることになるため、減算値の効果がその後の入力多階調画像データ値に依存し、Wormなどのテクスチャ除去の最適化が困難となり、全ての入力多階調画像データで期待するほどの効果を得ることは困難であるという問題がある。
【０００９】
また、上述の閾値調整バッファにより閾値制御する方法では、閾値調整バッファの値によっては、好適にドットが分散されない場合も生ずる。また、誤差バッファとは別に同程度のサイズの閾値調整バッファが必要となるため、メモリ容量増加などコスト的に不利である。。
【００１０】
本発明は、上記問題を解決すべく成されたもので、多階調画像データを、低濃度領域で常に最適なドット分散が実現される低階調画像データに変換することができ、かつ変換する場合に比較的高速に処理でき、処理に必要なメモリ容量を大幅に削減することができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明の第１の画像処理装置は、画像を構成する各画素の濃度に応じた多階調画像データを着目画素毎に低階調画像データに変換する際に、変換の際に生じた誤差を周辺画素の各々に拡散し、着目画素に対して以前の変換の際に拡散された誤差の累積値を用いて該着目画素の多階調画像データを補正し、補正された多階調画像データと閾値とを比較して低階調画像データに変換する画像処理素装置であって、低濃度の着目画素の多階調画像データが印字ドットが形成される低階調画像データに変換された場合に、前記変換時に印字ドットが形成されない方向に前記閾値を調整するための調整値であって、該着目画素の多階調画像データに応じて、該着目画素から距離が離れるに従って小さくなる調整値を該着目画素及び該着目画素の周辺画素の各々に対して設定する設定手段と、前記着目画素の変換以降に低階調画像データに変換される画素であって、前記調整値が設定された画素の多階調画像データを低階調画像データに変換する際に、前記設定された調整値を用いて前記閾値を調整する調整手段と、を備えている。
【００１２】
第１の画像処理装置は、画像を構成する各画素の濃度に応じた多階調画像データを着目画素毎に低階調画像データに変換する。低階調画像データは、多階調画像データより少ない階調数の画像データであれば特に限定されない。また、第１の画像処理装置は、変換の際に生じた誤差を周辺画素の各々に拡散し、着目画素に対して以前の変換の際に拡散された誤差の累積値を用いて該着目画素の多階調画像データを補正し、補正された多階調画像データと閾値とを比較して低階調画像データに変換する。
【００１３】
設定手段は、低濃度の着目画素の多階調画像データが印字ドットが形成される低階調画像データに変換された場合に、該着目画素及び該着目画素の周辺画素の各々に対して上記閾値を調整するための調整値を設定する。
【００１４】
また、ここで設定される調整値は、低階調画像データへの変換時に印字ドットが形成されない方向に閾値を調整するための調整値であって、該着目画素の多階調画像データに応じて、該着目画素から距離が離れるに従って小さくなる（減衰する）ものであるが、着目画素を基準とした変換処理の進行方向の対称位置において小さくなる割合が異なる調整値であってもよいし、対称位置において同一となる調整値であってもよい。すなわち、着目画素を基準として変換処理の進行方向側と反進行方向側とで、その大きさや減衰率は異なっていてもよいし、同一であってもよい。
【００１５】
さらにまた、調整値は、着目画素の多階調画像データに応じて、例えば大きさや影響範囲（設定する画素の範囲）等が異なるものとすることができる。
【００１６】
調整手段は、着目画素の変換以降に低階調画像データに変換される画素であって、調整値が設定された画素の多階調画像データを低階調画像データに変換する際に、設定手段で設定された調整値を用いて閾値を調整する。例えば、予め定められた固定の閾値に、調整値を加算したり乗算したりすることにより閾値を調整するようにしてもよい。
【００１７】
これにより、印字ドットが形成された着目画素の周辺画素の閾値は、設定された調整値により調整されることになる。
【００１８】
すなわち、上記のように誤差を拡散していくことによって誤差が累積した結果、低濃度の着目画素の多階調画像データであるにも拘わらず、印字ドットが形成される低階調画像データに変換された場合には、Worm等の発生を防止するため、その周辺画素では印字ドットが形成されないように（印字ドットが集中しないように）する必要がある。従って、上記のように、変換時に印字ドットが形成されない方向に閾値を調整するための調整値であって、着目画素から距離が離れるに従って小さくなる調整値を設定することにより、着目画素に近い周辺画素ほど印字ドットが形成されにくくなるように閾値を調整することができるため、最適なドット分散を実現し、多階調画像データを高品質な低階調画像データに変換することができる。
【００１９】
なお、上記第１の画像処理装置に、複数ラインからなる画像の多階調画像データを低階調画像データへ変換する場合に、前記設定された前記調整値の大きさを、１ライン分の変換処理が終了する毎に減衰させる減衰手段を更に設けることもできる。
【００２０】
これにより、複数ラインの配列方向で、着目画素から離れるに従って調整値を減衰させることができ、調整値の影響を空間的に好適に広げることができる。
【００２１】
また、第２の画像処理装置は、画像を構成する各画素の濃度に応じた多階調画像データを着目画素毎に低階調画像データに変換する際に、変換の際に生じた誤差を周辺画素の各々に拡散し、着目画素に対して以前の変換の際に拡散された誤差の累積値を用いて該着目画素の多階調画像データを補正し、補正された多階調画像データと閾値とを比較して低階調画像データに変換する画像処理素装置であって、低濃度の着目画素の多階調画像データが印字ドットが形成される低階調画像データに変換された場合に、前記変換時に印字ドットが形成されない方向に前記誤差の累積値を調整するための調整値であって、該着目画素の多階調画像データに応じた調整値を用いて、該着目画素及び着目画素の周辺画素の各々に対応した前記誤差の累積値を調整する調整手段を備えている。
【００２２】
第２の画像処理装置では、閾値は調整されず、誤差の累積値が調整される。例えば、印字ドットが形成される低階調画像データに変換された低濃度の該着目画素の周辺画素では印字ドットが形成されにくくなるように、誤差の累積値から調整値分減算したり、調整値を除算したりして、誤差の累積値を調整することができる。
【００２３】
なお、調整に用いられる調整値は、変換時に印字ドットが形成されない方向に前記誤差の累積値を調整するための調整値であって、例えば、着目画素の多階調画像データに応じて、例えば大きさや影響範囲（調整する累積値に対応する画素の範囲）等が異なるものとすることができる。
【００２４】
このように、第２の画像処理装置では、調整値を用いて誤差の累積値を直接調整するため、多階調画像データを、低濃度領域で常に最適なドット分散が実現される低階調画像データに変換することができる。また、印字ドットが形成されにくくなるように閾値を調整する場合には、ドットが形成される低階調画像データに変換された着目画素の濃度（多階調画像データ）に応じた調整値を記憶するための記憶手段が必要となるが、第２の画像処理装置では、誤差の累積値自体を調整するため、そのような記憶手段は不要となり、処理に必要なメモリ容量を大幅に削減することができる
第２の画像処理装置において、前記調整手段は、低濃度の着目画素の多階調画像データが印字ドットが形成される低階調画像データに変換された場合に、前記変換時に印字ドットが形成されない方向に前記誤差の累積値を調整するための調整値であって、該着目画素の多階調画像データに応じて、該着目画素から距離が離れるに従って小さくなる調整値を用いて、該着目画素及び該着目画素の周辺画素の各々に対応した前記誤差の累積値を調整することができる。
【００２５】
このように、着目画素から距離が離れるに従って小さくなる調整値を用いることにより、着目画素に近い周辺画素ほど印字ドットが形成されにくくなるように誤差の累積値を調整することができるため、多階調画像データを高品質な低階調画像データに変換することができる。
【００２６】
また、前記調整手段は、低濃度の着目画素の多階調画像データが印字ドットが形成される低階調画像データに変換された場合に、前記変換時に印字ドットが形成されない方向に前記誤差の累積値を調整するための調整値であって、該着目画素の多階調画像データに応じて、該着目画素から距離が離れるに従って小さくなると共に、前記着目画素を基準とした前記変換処理の進行方向の対称位置において小さくなる割合が異なる調整値を用いて、該着目画素及び該着目画素の周辺画素の各々に対応した前記誤差の累積値を調整することもできる。
【００２７】
すなわち、誤差の累積値を調整するための調整値としては、着目画素を基準とした変換処理の進行方向の対称位置において小さくなる割合が異なる調整値であってもよい。すなわち、着目画素を基準として変換処理の進行方向側と反進行方向側とで、その大きさや減衰率は異ならせることができる。例えば、誤差の累積値を調整値を用いて調整すると、誤差の拡散と共に該調整値の影響も拡散される。また、誤差拡散処理における周辺画素への拡散率は通常、変換処理の進行方向と反進行方向とで異なる場合が多い。従って、このような場合には、着目画素を基準とした変換処理の進行方向の対称位置において小さくなる割合が異なる調整値を用いて調整することによって、こうした拡散の不均一性を打ち消すことができる。
【００２８】
さらにまた、複数ラインからなる画像の多階調画像データを低階調画像データへ変換する場合に、前記誤差の累積値を、１ライン分の変換処理が終了する毎に前記調整手段による調整の影響が減衰するように調整する減衰手段を更に設けることもできる。
【００２９】
これにより、複数ラインの配列方向で、着目画素から離れるに従って調整の影響を減衰させることができ、空間的に好適に印字ドットを形成することができる
【発明の効果】
【００３０】
以上説明した如く本発明によれば、多階調画像データを、低濃度領域で常に最適なドット分散が実現される低階調画像データに変換することができ、かつ変換する場合に比較的高速に処理でき、処理に必要なメモリ容量を大幅に削減することができる、という優れた効果を奏する。
【発明を実施するための最良の形態】
【００３１】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
【００３２】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係る画像処理装置の構成を示した図である。図示されるように、本実施の形態の画像処理装置１０は、インクジェット方式のプリンタ等で原画像を表す画素の濃度に応じた多階調画像データを印字するために、周知の誤差拡散処理により、入力された多階調画像データを二値化して出力するものであり、誤差バッファ１２、乱数発生器１４、拡散誤差算出器１６、入力データメモリ１８、入力補正データ生成器２０、比較器２２、固定閾値メモリ２４、閾値算出器２６、調整閾値テーブル２８、閾値調整バッファ３０、及び減衰器３２を備えている。
【００３３】
入力データメモリ１８には、二値化処理の進行方向としてのｘ軸方向に沿って画素が複数配列されてなるラインがｙ軸方向に複数配列された原画像を表す多階調画像データが入力されて格納される。該格納された多階調画像データは、入力補正データ生成器２０及び調整閾値テーブル２８に１画素単位で出力される。
【００３４】
入力補正データ生成器２０には、入力データメモリ１８で１画素単位で多階調画像データが入力されると共に、乱数発生器１４からは乱数値が、誤差バッファ１２からは誤差の累積値が入力される。入力補正データ生成器２０は、多階調画像データを乱数値と誤差の累積値とにより補正して、比較器２２及び拡散誤差算出器１６に出力する。
【００３５】
比較器２２には、入力補正データ生成器２０から補正された多階調画像データが入力されると共に、閾値算出器２６で算出された閾値が入力される。比較器２２は、補正された多階調画像データと閾値との比較結果として白データ「０」（印字ドット形成せず）または黒データ「１」（印字ドット形成）の二値化データを出力する。
【００３６】
拡散誤差算出器１６には、比較器２２から二値化データが入力されると共に、入力補正データ生成器２０で補正された多階調画像データが入力される。拡散誤差算出器１６は、着目画素（処理対象の画素）の誤差をこれらデータから算出して周辺画素に拡散（分配）し、誤差バッファ１２に画素毎に累積的に格納する。例えば、図２に示されるように、着目画素の周辺に位置する周辺画素１，２，３，４，５，６に、着目画素の二値化により生じた誤差が分配される。誤差を分配するための分配係数は、着目画素からみた周辺画素毎に予め設定されている。
【００３７】
誤差バッファ１２は、原画像中のｘ軸方向に沿った複数ラインを構成する各画素の誤差の累積値を記憶可能な記憶容量を有しており、拡散誤差算出器１６から出力された誤差が累積的に記憶される。
【００３８】
乱数発生器１４は、所定範囲内の乱数値を発生させ、入力補正データ生成器２０に出力する。
【００３９】
固定閾値メモリ２４には、固定の閾値が記憶されている。
【００４０】
閾値算出器２６は、比較器２２で用いられる閾値を、固定閾値メモリ２４に記憶された固定の閾値に、閾値調整バッファ３０に記憶された調整値を加算することにより算出して、比較器２２に出力する。すなわち、閾値算出器２６は、閾値調整バッファ３０に記憶された調整値により固定の閾値を調整して、比較器２２に出力する。
【００４１】
調整閾値テーブル２８には、入力値レベル毎（多階調画像データで示される濃度毎）の調整値が格納され、着目画素が印字ドットが形成されるように二値化された場合（二値化データが「１」となった場合）に、入力データメモリ１８からの多階調画像データに応じた調整値を閾値調整バッファ３０に記憶させる。
【００４２】
図３は、調整閾値テーブル２８に格納されている調整値を示した図である。横軸は、着目画素の周辺の周辺画素の位置を着目画素の位置を０として相対的に示したものであり、＋方向は、二値化処理の進行方向を示し、−方向は、反処理進行方向を示している。縦軸は、各画素に対応する調整値の大きさを示す。本実施の形態では、調整閾値テーブル２８には、入力値レベル毎に、着目画素からｘ軸方向に±１０画素までの範囲で設定された複数の調整値の数列が格納されている。なお、この範囲は特に限定されない。本図では、入力された多階調画像データの値（入力値レベル）が１、３、９、１６、２１の場合のそれぞれの調整値が例示されている。
【００４３】
なお、図３では、入力値レベル毎の調整値が容易に認識できるように、各調整値が連続的に表現されているが、実際には、各調整値は着目画素からの相対位置毎の離散値で格納される。図から明らかなように、調整値は、着目画素に対応する調整値を最大値として、着目画素から離れるに従ってゆるやかに小さくなっている。すなわち、着目画素に対応する調整値を中心とした山なりの形状を呈している。また、入力値レベルに応じて、調整値の大きさ及び影響範囲が異なっている。ここでは、入力値レベルが低いほど、調整値は大きく、影響範囲は広くなる傾向となっている。
【００４４】
閾値調整バッファ３０は、調整閾値テーブル２８から出力された調整値を記憶する。閾値調整バッファ３０は、原画像の１ラインを構成する各画素に対応する調整値を記憶可能な記憶容量を有している。調整閾値テーブル２８から出力された調整値は、閾値調整バッファ３０の各画素に対応する記憶領域に順に記憶される。これにより、閾値調整バッファ３０に記憶される調整値は、図３で示したように、着目画素から離れるに従って小さくなる。なお、閾値調整バッファ３０の各記憶領域には、初期値として全て「０」が書き込まれている。
【００４５】
減衰器３２は、閾値調整バッファ３０に記憶されている調整値を、１ラインの変換処理が終了する毎に所定の割合で減衰させる。
【００４６】
次に、本実施の形態における二値化処理について詳細に説明する。なお、ここで扱う多階調画像データは、原画像（濃淡画像）を構成する多数の画素の各々の階調を表す８ビットから成るデジタルのデータであり、０〜２５５の範囲内の値を表す。また、ここでは、多階調画像データにおいて、白データ（最低濃度データ）は「０」で表され、黒データ（最高濃度データ）は「２５５」で表されるため、多階調画像データの値が０に近いほどその画素は低濃度となり、２５５に近いほど高濃度となる。本画像処理装置１０では、この８ビットの多階調画像データが、印字処理において印字ドットを形成しない白データ「０」、または印字処理において印字ドットを形成する黒データ「１」の二値化データに変換される。
【００４７】
図４は、画像処理装置１０で行われる誤差拡散法を用いた二値化処理の流れを簡便に説明するためのフローチャートである。本実施の形態では、原画像に向かって左側上部を起点として１画素単位でｘ軸方向に処理が進み、１ライン分の処理が終了すると次ラインの処理が行なわれる。図４のフローチャートは、１ライン分の処理の流れを示している。なお、画像処理装置１０には、１ライン分処理したか否かを判定するために、処理した画素をカウントするカウンタＫが設けられているが、ここでは図示を省略する。
【００４８】
入力データメモリ１８には外部から入力された多階調画像データ（以下、入力データと呼称する）が格納されている。入力データメモリ１８から入力補正データ生成器２０に１画素単位で入力データが入力されると、ステップ１００では、入力補正データ生成器２０は、誤差バッファ１２から入力データの画素に対応する記憶領域から誤差の累積値を取り込むと共に、乱数発生器１４で発生された乱数値を取込み、各々入力データに加算して入力データを補正する。以下、補正された入力データを入力補正データと呼称する。このように入力補正データ生成器２０で生成された入力補正データは、比較器２２に出力される。
【００４９】
ステップ１０２で、比較器２２は、入力補正データと別途入力された閾値とを各々比較し入力データを二値化する。入力補正データが閾値よりも大きい場合には、ステップ１０４で、二値化データとして「１」を出力し、入力補正データが閾値以下の場合には、ステップ１０６で、二値化データとして「０」を出力する。二値化データが「１」の場合には、印字処理において該着目画素の領域に印字ドットが形成され、「０」の場合には、印字ドットは形成されない。
【００５０】
なお、比較器２２で用いられる閾値は、閾値算出器２６で算出されたものである。閾値算出器２６は、閾値調整バッファ３０に記憶されている調整値の列から、現在処理中の画素（着目画素）に対応する調整値を読み出し、該読み出した調整値と固定閾値メモリ２４に記憶されている固定の閾値とを加算して、二値化処理で使用される閾値を算出する。なお、上述したように二値化処理開始時は、閾値調整バッファ３０の各調整値には、全て「０」が書き込まれているため、後述するように閾値調整バッファ３０に調整閾値テーブル２８によって入力値レベルに応じた調整値が記憶されるまでは、固定閾値メモリ２４に記憶されている固定の閾値が二値化処理の閾値として用いられることになる。
【００５１】
比較器２２から出力された二値化データは、画像処理装置１０の外部へ出力されると共に拡散誤差算出器１６及び調整閾値テーブル２８に入力される。調整閾値テーブル２８に二値化データ「１」が入力されると、ステップ１０８では、該二値化データの元の入力データと、閾値調整実行閾値とを各々比較する。この閾値調整実行閾値は、入力データが低濃度であるか否かを判断するために予め調整閾値テーブル２８を構成する回路に設定されている。
【００５２】
ここで、比較の結果、入力データが閾値調整実行閾値未満である場合には、入力データは低濃度であるため、ステップ１１０で、調整閾値テーブル２８から入力データの値（入力値レベル）に対応する各調整値を、閾値調整バッファ３０の各画素に対応する記憶領域に順に格納する。ここでは、図３に示されるように、着目画素を中心としてｘ軸方向に±１０画素までの範囲内に位置する画素に対応する記憶領域に入力値レベルに応じた調整値が記憶される。閾値調整バッファ３０に記憶された調整値は、着目画素以降に二値化処理される画素の閾値を調整するために用いられる。具体的には、比較器２２で用いられる閾値が調整値分だけ嵩上げされる。
【００５３】
すなわち、低濃度の画素（入力データが閾値調整実行閾値未満の画素）を二値化した結果、二値化データが「１」となって印字ドットが形成されることとなった場合には、その画素の周辺にはなるべく印字ドットが形成されないように（印字ドットが集中しないように）比較器２２で用いられる閾値を嵩上げするための調整値が調整閾値テーブル２８から閾値調整バッファ３０に格納される。図３から明らかなように、調整値は、着目画素に対応する調整値を最大値として、該着目画素から離れるに従ってゆるやかに小さくなっている。従って、ｘ軸方向の周辺画素のうち着目画素に近い画素ほど、比較器２２で用いられる閾値が高くなり印字ドットが形成されにくくなる。また、入力値レベル（入力データの値）が低いほど調整値は高い。従って、着目画素が極端に低い濃度の入力データであるにも拘わらず、拡散された誤差によって入力補正データの値が大きくなり印字ドットが形成された場合には、特に該画素の周辺に印字ドットが集中しないように、周辺画素に対応する閾値が大幅に嵩上げされるように調整されることとなる。
【００５４】
一方、入力データが閾値調整実行閾値以上である場合には、ステップ１１０の処理は行われない。これは、高濃度の画素では、閾値を調整しなくても適正に二値化されてドットが形成されるためである。
【００５５】
なお、本実施の形態の画像処理装置１０では、調整閾値テーブル２８に二値化データ「０」が入力された場合には（ステップ１０２、Ｎ）、ステップ１０８からステップ１１０の処理は行われない構成となっている。
【００５６】
比較器２２から出力された二値化データが拡散誤差算出器１６に入力されると、ステップ１１２では、拡散誤差算出器１６は、入力された二値化データ及び別途入力された入力補正データとの差分（誤差）を算出し、周辺画素に拡散して誤差バッファに累積的に書き込む。
【００５７】
具体的には、比較器２２から出力された二値化データが「１」の場合には、着目画素の入力補正データから多階調画像データにおける黒データ（ここでは「２５５」）を減算した値が誤差となる。この場合、入力補正データが黒レベルに等しければ誤差＝０であるが、入力補正データが黒レベル未満であれば誤差の符号はマイナスとなる。
【００５８】
また、比較器２２から出力された二値化データが「０」の場合には、着目画素の入力補正データが誤差となる。この場合、入力補正データの値が０であれば誤差＝０であるが、入力補正データの値が０よりも大きければ誤差の符号はプラスとなる。
【００５９】
拡散誤差算出器１６で算出された誤差は、着目画素の周辺画素に分配されるように誤差バッファ１２に格納される。誤差バッファ１２は、原画像の複数ラインを構成する各画素の誤差を累積的に記憶可能な記憶容量を有している。拡散誤差算出器１６から出力された誤差は拡散（分配）されて誤差バッファ１２の各画素に対応する記憶領域に順に記憶される。
【００６０】
図２に示すように周辺画素１〜６に誤差が分配される場合を例に挙げて説明する。周辺画素に分配する誤差は、上記算出された誤差に予め設定された周辺画素毎の分配係数を乗じて求められる。例えば、周辺画素に予め設定された分配係数が各々、5/16、2/16、5/16、2/16、1/16、1/16であり、上記算出された着目画素の誤差の値が３２であるとすると、周辺画素１には「１０」、周辺画素２には「４」、周辺画素３には「１０」、周辺画素４には「４」、周辺画素５には「２」、周辺画素６には「２」だけ誤差が分配される。
【００６１】
拡散誤差算出器１６は、着目画素の周辺画素に対応する記憶領域から既に記憶されている誤差値を読み出し、該読み出した誤差値に上記各々の分配係数を乗じて得られた誤差を加算して各々の記憶領域に記憶する。
【００６２】
ステップ１１４では、１ライン処理が終了したか否かが前述のカウンタＫにより判定される。１ラインの処理が終了していない場合には、ステップ１００に戻り、次の画素について上記と同様の処理が繰り返される。１ラインの処理が終了した場合には、カウンタＫから減衰器３２に対して所定の信号が出力され、ステップ１１６で、減衰器３２が閾値調整バッファ３０に記憶されている調整値を減衰処理する。具体的には、閾値調整バッファ３０の各記憶領域に記憶されている調整値を各々読み出し、予め設定されている減衰係数ｄを該各々の調整値に乗算し、閾値調整バッファ３０の各記憶領域に戻す（記憶する）。減衰係数ｄは、特に限定されず、例えば１／４であってもよいし、１／２であってもよく、二値化処理対象の画像データに応じて好適な係数を予め設定することができる。減衰された閾値調整バッファ３０の各調整値は、次のラインの二値化処理で用いられる閾値を調整するために用いられる。
【００６３】
１ラインの二値化処理が終了すると、次のラインの処理が開始される。
【００６４】
以上説明したように、低濃度の多階調画像データが、印字ドットが形成される二値化データに変換された場合に、閾値調整バッファ３０の、該二値化データに変換された着目画素を中心とした所定範囲内の画素に対応する記憶領域に、調整閾値テーブル２８により、該着目画素の多階調画像データに応じて、該着目画素から離れるに従って小さくなる調整値を記憶させると共に、閾値算出器２６により該閾値調整バッファ３０に記憶された調整値を用いて閾値を調整し、比較器２２で二値化処理を行うようにしたため、印字処理において、低濃度領域で、図５（Ａ）に示されるようなWormなどの波型の模様の発生を防止し、図５（Ｂ）に示されるように、均一に印字ドットを分散することができる。特に、入力値に応じて調整値の大きさおよび影響範囲を変化させるようにしたため、常に処理領域の入力データ値に応じて空間的に最適なドット配置を実現することが可能となる。更に、１ラインの変換処理が終了する毎に、閾値調整バッファの調整値を減衰するようにしたため、ドットが形成された着目画素からｙ軸方向に離れるに従って調整値が減衰され、閾値調整バッファによる調整の効果を空間的に好適に広げることができる。また、元の入力データを調整するのではなく閾値を調整するようにしたため、画質の低下を招くことなく、比較的高速に処理でき、高画質な低階調画像データを得ることができる。
【００６５】
［第２の実施の形態］
第１の実施の形態では、誤差バッファ１２と閾値調整バッファ３０とを独立に設け、調整閾値テーブル２８により閾値調整バッファ３０に調整値を記憶し、該記憶された調整値を用いて閾値を調整して二値化処理を行う例について説明したが、本実施の形態では、誤差バッファ１２と閾値調整バッファ３０を共用する例、すなわち、閾値調整バッファ３０を設けず、かつ閾値を調整する代わりに誤差バッファ１２に記憶されている誤差の累積値を調整することによって、最適に二値化処理を行う例について説明する。
【００６６】
図６は、本実施の形態に係る画像処理装置の構成を示した図である。ここで、図６に示す符号と、図１に示す符号が同一の構成要素は、それぞれ同一の機能を有する構成要素を意味するため説明を省略する。
【００６７】
図示されるように、本実施の形態の画像処理装置４０は、誤差バッファ１２ａ、乱数発生器１４、拡散誤差算出器１６、入力データメモリ１８、入力補正データ生成器２０、比較器２２、固定閾値メモリ２４、調整閾値テーブル２８ａ、及び減衰器３２ａを備えている。
【００６８】
誤差バッファ１２ａは、第１の実施の形態の誤差バッファ１２と同様の記憶容量を有したバッファであり、原画像中のｘ軸方向に沿った複数ラインを構成する各画素の誤差の累積値を記憶することができる。ただし、本実施の形態では、低濃度の着目画素が印字ドットが形成される二値化データに変換されたときに、誤差バッファ１２ａに記憶された誤差の累積値が、調整閾値テーブル２８ａに格納されている調整値を減算することにより調整される。この調整の影響は、誤差拡散処理により誤差と共に周辺画素に拡散されていく。
【００６９】
調整閾値テーブル２８ａには、第１の実施の形態の調整閾値テーブル２８と同様に入力値レベルに応じた調整値が格納されている。図７は、本実施の形態の調整閾値テーブル２８ａに格納されている調整値を示した図である。図示されるように、調整値は、着目画素に対応する調整値を最大値として、着目画素から離れるに従ってゆるやかに小さくなっており、入力値レベルに応じて調整値のレベル及び影響範囲が異なっている。また、図から明らかなように、調整値は、着目画素を基準とした変換処理の進行方向の対称位置において小さくなる割合が異なっている。ここでは、着目画素を基準として処理の進行方向側の調整値の小さくなる割合は反進行方向側の調整値の小さくなる割合に比べて大きくなっている。すなわち、本実施の形態では、処理の進行方向側と反進行方向側とで調整値の大きさや影響範囲が異なっている。
【００７０】
ここで、本実施の形態における調整値の特徴について説明する。誤差の拡散は、処理進行方向側の比重（分配係数）が高い場合が多い。これにより着目画素の周辺画素の誤差は、着目画素の左右で非均等な状態が発生する。また、誤差拡散処理により、調整閾値テーブル２８ａによる調整の影響も誤差と共に周辺画素に拡散されていく。従って、図７に示されるように、着目画素を基準として処理の進行方向側の調整値の小さくなる割合を、反進行方向側の調整値の小さくなる割合に比べて大きくすることにより、調整値について拡散による非均等な状態を打ち消すことができる。
【００７１】
減衰器３２ａは、誤差バッファ１２ａに記憶されている誤差の累積値を、１ライン分の変換処理が終了する毎に、調整閾値テーブル２８ａによる調整の影響が減衰するように所定の係数を乗じて変更する。
【００７２】
次に、本実施の形態における二値化処理について、図８を参照しながら説明する。図８は、画像処理装置４０で行われる二値化処理の流れを簡便に説明するためのフローチャートである。図８において図４と同様の処理を行うステップについては図４と同一のステップ番号を付して説明を省略、または簡略化する。
【００７３】
ステップ１００において、入力補正データ生成器２０で、入力データに乱数値と誤差の累積値を加算して入力補正データを生成した後、ステップ１０３では、比較器２２は、入力補正データと、固定閾値メモリ２４に記憶されている閾値とを比較して、入力データを二値化する。この二値化処理において、前述の第１の実施の形態では、閾値算出器２６により固定の閾値に閾値調整バッファ３０の調整値を加算して算出した閾値が用いられたが、本実施の形態では、固定閾値メモリ２４に記憶されている固定の閾値が用いられる。
【００７４】
比較の結果、第１の実施の形態と同様に二値化データが出力される（ステップ１０４，１０６）。比較器２２から出力された二値化データは、画像処理装置４０の外部へ出力されると共に拡散誤差算出器１６及び調整閾値テーブル２８ａに入力される。調整閾値テーブル２８ａに二値化データ「１」が入力されると、ステップ１０８では、第１の実施の形態と同様に、該二値化データの元の入力データと、閾値調整実行閾値とを各々比較する。
【００７５】
ここで、入力データが閾値調整実行閾値未満である場合には、入力データは低濃度であるため、ステップ１０９で、調整閾値テーブル２８ａから入力データの値（入力値レベル）に対応する各調整値を、誤差バッファ１２ａの各画素に対応する記憶領域に順に累積的に格納する。ここでは、図７に示されるように、着目画素を中心としてｘ軸方向に±１０画素までの範囲内に位置する画素に対応する記憶領域に、入力値レベルに応じた調整値が累積的に記憶される。また、誤差バッファ１２ａには、原画像中のｘ軸方向に沿った複数ラインを構成する各画素の誤差の累積値が記憶されているため、該複数ラインの各々において、着目画素のｘ軸方向の位置と同一の位置を中心として、±１０画素までの範囲内に位置する画素に対応する記憶領域に、上記と同一の調整値を用いて各調整値が累積的に記憶される。
【００７６】
すなわち、低濃度の画素（入力データが閾値調整実行閾値未満の画素）を二値化した結果、二値化データが「１」となって印字ドットが形成されることとなった場合には、その画素の周辺にはなるべく印字ドットが形成されないように（印字ドットが集中しないように）調整閾値テーブル２８ａの入力データに応じた調整値を、誤差バッファ１２ａの着目画素から±１０画素までの範囲内の画素に対応する記憶領域に記憶された誤差の累積値から減算する（符号を−にした調整値を加算する）ことにより誤差の累積値を調整する。これにより、着目画素以降に処理される画素に対応する誤差バッファ１２ａの累積値が調整値により調整しない場合に比べて小さくなるため、印字ドットが形成されにくくなる。
【００７７】
図７から明らかなように、調整値は、着目画素に対応する調整値を最大値として、該着目画素から離れるに従ってゆるやかに小さくなっている。従って、周辺画素のうち着目画素に近い画素ほど、比較器２２で比較される入力補正データの値が低くなり印字ドットが形成されにくくなる。また、着目画素を基準として処理の進行方向側の調整値の小さくなる割合は反進行方向側の調整値の小さくなる割合に比べて大きくなっている。これにより、調整値について拡散の左右の非均等な状態を打ち消し、モアレ発生を抑止することができる。
【００７８】
一方、入力データが閾値調整実行閾値以上である場合には、ステップ１０９の処理は行われない。これは、高濃度の画素では、誤差バッファ１２に記憶された誤差の累積値を調整しなくても適正に二値化されてドットが形成されるためである。
【００７９】
ステップ１１２では、比較器２２から出力された二値化データが拡散誤差算出器１６に入力され、拡散誤差算出器１６は、入力された二値化データ及び別途入力された入力補正データに基づいて誤差を算出し、周辺画素に拡散して誤差バッファ１２ａに累積的に書き込む。なお、ステップ１０９で調整値により調整された誤差の累積値も、従来の累積値と同様に取り扱われ、前述と同様に誤差拡散処理が施される。
【００８０】
ステップ１１４では、１ライン処理が終了したか否かが前述のカウンタＫにより判定される。１ラインの処理が終了していない場合には、ステップ１００に戻り、次の画素について上記と同様の処理が繰り返される。１ラインの処理が終了した場合には、カウンタＫから減衰器３２に対して所定の信号が出力され、ステップ１１６で、誤差バッファ１２ａの減衰処理を行う。ただし、ここで行う「減衰処理」は、誤差の累積値に対する調整閾値テーブル２８ａの調整の影響を減衰するための処理である。具体的には、誤差バッファ１２ａの全ての記憶領域に記憶されている誤差の累積値を各々取込み、予め設定されている減衰係数Ｄを該各々の累積値に乗算して誤差バッファ１２ａの各記憶領域に記憶する。減衰係数Ｄは、１より大きい値であり、二値化処理対象の画像データに応じて予め好適な係数を設定することができる。
【００８１】
このように、誤差バッファ１２ａに対して各ライン処理終了毎に減衰処理を施すことにより、ドットが形成された着目画素からｙ軸方向に離れるに従って誤差の累積値に対する調整の影響が減衰されるため、ドットの分散性を向上させることができる。
【００８２】
１ラインの二値化処理が終了すると、次のラインの処理が開始される。
【００８３】
なお、本実施の形態では、１ライン分の変換処理が終了する毎に、誤差バッファ１２に記憶されている誤差の累積値を減衰係数Ｄを乗じて調整する例について説明したが、１ライン分の変換処理が終了する毎に、該ラインの誤差の累積値が調整閾値テーブルにより調整されたか否かを判定し、調整されたと判定されたときから予め定められたラインを変換処理するまでの間だけ、１ライン分の変換処理が終了する毎に減衰係数Ｄを乗じて変更するようにしてもよい。また、減衰はドットを打ちにくくする効果、すなわち調整閾値テーブルからの書き込み値、に対してであるため、特定符号（この場合マイナス）値に対してのみ、１ライン分の変換処理が終了する毎に減衰係数Ｄを乗じて調整するようにしてもよい。
【００８４】
以上説明したように、本実施の形態では、誤差バッファと閾値調整バッファを共用する、すなわち、閾値調整バッファを設けず、かつ閾値を調整する代わりに誤差バッファに記憶されている誤差の累積値を調整することによって、第１の実施の形態で示した効果のみならず、必要なメモリ容量を大幅に削減することができる、という効果を奏する。
【００８５】
なお、本発明は、上述した各実施の形態に限定されるものではなく、特許請求の範囲に記載された範囲内で様々な設計上の変更を行うことができる。例えば、上記第１及び第２の実施の形態では、多階調画像データを二値化データに変換する画像処理装置について説明したが、多階調画像データより低階調の画像データに変換するものであれば特に限定されず、例えば、多階調画像データを４階調の低階調画像データに変換するものであってもよい。
【００８６】
また、上述した各実施の形態では、調整閾値テーブルに格納された調整値の符号をプラスとし、調整値の範囲を±１０画素とする例について説明したが、本発明は特にこれに限定されず、調整閾値テーブルの調整値の符号や調整値の範囲、また調整値そのものの大きさは、出力装置に応じて可変である。
【図面の簡単な説明】
【００８７】
【図１】第１の実施の形態に係る画像処理装置の構成を示した図である。
【図２】誤差拡散処理の一例を示した図である。
【図３】第１の実施の形態の調整閾値テーブルに格納されている調整値を示した図である。
【図４】第１の実施の形態の画像処理装置で行われる二値化処理の流れを簡便に説明するためのフローチャートである。
【図５】（Ａ）は、誤差拡散処理において低濃度部で発生した”Worm"の一例を示した図であり、（Ｂ）は、本発明により二値化した結果、印字ドットが偏り無く分散されて形成された様子を示した図である。
【図６】第２の実施の形態に係る画像処理装置の構成を示した図である。
【図７】第２の実施の形態の調整閾値テーブルに格納されている調整値を示した図である。
【図８】第２の実施の形態の画像処理装置で行われる二値化処理の流れを簡便に説明するためのフローチャートである。
【符号の説明】
【００８８】
１０、４０  画像処理装置
１２、１２ａ  誤差バッファ
１６  拡散誤差算出器
２０  入力補正データ生成器
２２  比較器
２４  固定閾値メモリ
２６  閾値算出器
２８、２８ａ  調整閾値テーブル
３０  閾値調整バッファ
３２、３２ａ  減衰器
【図１】
2005236377.tif 000003
【図２】
2005236377.tif 000004
【図３】
2005236377.tif 000005
【図４】
2005236377.tif 000006
【図５】
2005236377.tif 000007
【図６】
2005236377.tif 000008
【図７】
2005236377.tif 000009
【図８】
2005236377.tif 000010