(57)【要約】【課題】  誤差拡散法において、文字や図形データにおける境界で発生するにじみや孤立点の発生を防ぎ、印刷品位を落とさないようにする。【解決手段】  誤差拡散法において、処理対象の画素と、その画素に隣接する画素の画素データの差分を計算する。画素データの差分がある閾値を超える場合、誤差拡散法の誤差値をリセットする。画素データの差分がある閾値を未満の場合、通常通り誤差データを加算する。  この制御により文字データや線画におけるにじみや孤立点の発生を防ぎ、印刷品位を良好にすることができる。【選択図】  図１
2006211351.tif 000002
【特許請求の範囲】
【請求項１】
誤差拡散法を用いる画像処理方法であって、
画素間の画像データの差分を計算する工程と、
その差分を判断する工程と、
その判断した結果に基づき、誤差拡散法における誤差データを画像データに加算するかどうかを決定する工程を有し、
加算すると決定した場合、誤差データと画像データを加算し、
加算しないと決定した場合、画像データに手を加えず誤差拡散法の処理を行う工程を
有することを特徴とする、誤差拡散法を用いる画像処理方法。
【請求項２】
前記画像データの差分を計算する工程では、
隣接する画素の画像データの差分を計算する
ことを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記画像データの差分を計算する工程では、
誤差データの拡散元の画像データを計算する
ことを特徴とする請求項１記載の画像処理方法。
【請求項４】
前記画像データの差分を計算する工程では、
当該画素を画像処理する直前に処理が完了した画素の画像データを計算する
ことを特徴とする請求項１記載の画像処理方法。
【請求項５】
前記画像データの差分を計算する工程では、
当該画素を画像処理する時点よりも以前に処理が完了した画素の画像データを計算する
ことを特徴とする請求項１記載の画像処理方法。
【請求項６】
前記画像データの差分を判断する工程において、
その判断は画像データの差分に対し、ある閾値と比較した結果
により行われることを特徴とする請求項１ないし請求項５のいずれか１項に記載の画像処理方法。
【請求項７】
前記誤差拡散法における誤差データを画像データに加算するかどうかを決定する工程は、
差分が小さい場合、誤差データを画像データに加算すると判断し、
差分が大きい場合、誤差データを画像データに加算しないと判断する工程である
ことを特徴とする請求項１ないし請求項６のいずれか１項に記載の画像処理方法。
【請求項８】
画像データに誤差データを加算する前に、
あらかじめ誤差データを加算しておく工程を更に有する
ことを特徴とする請求項１ないし請求項７のいずれか１項に記載の画像処理方法。
【請求項９】
誤差拡散法を用いる画像処理装置であって、
画素間の画像データの差分を計算する計算手段と、
その差分を判断する判断手段と、
その判断した結果に基づき、誤差拡散法における誤差データを画像データに加算するかどうかを決定する加算決定手段とを有し、
加算すると決定した場合、誤差データと画像データを加算し、
加算しないと決定した場合、画像データに手を加えず誤差拡散法の処理を行う加算手段を備えたことを特徴とする、誤差拡散法を用いる画像処理装置。
【請求項１０】
前記計算手段は、
隣接する画素の画像データの差分を計算する
ことを特徴とする請求項９記載の画像処理装置。
【請求項１１】
前記計算手段は、
誤差データの拡散元の画像データを計算する
ことを特徴とする請求項９記載の画像処理装置。
【請求項１２】
前記計算手段は、
当該画素を画像処理する直前に処理が完了した画素の画像データを計算する
ことを特徴とする請求項９記載の画像処理装置。
【請求項１３】
前記計算手段は、
当該画素を画像処理する時点よりも以前に処理が完了した画素の画像データを計算する
ことを特徴とする請求項９記載の画像処理装置。
【請求項１４】
前記判断手段は、
その判断は画像データの差分に対し、ある閾値と比較した結果
により行われることを特徴とする請求項１０ないし請求項１３のいずれか１項に記載の画像処理装置。
【請求項１５】
前記加算決定手段は、
差分が小さい場合、誤差データを画像データに加算すると判断し、
差分が大きい場合、誤差データを画像データに加算しないと判断する
ことを特徴とする請求項１０ないし請求項１４のいずれか１項に記載の画像処理装置。
【請求項１６】
前記加算手段は、
画像データに誤差データを加算する前に、
あらかじめ誤差データを加算しておく
ことを特徴とする請求項１０ないし請求項１５のいずれか１項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤差拡散法を用いる印刷において、孤立点の発生を防ぎ、良好な印刷品位を得ることが可能な、画像処理方法および画像形成装置に関するものである。
【背景技術】
【０００２】
昨今、インクジェット方式のプリンタが広く普及してきている。このインクジェット方式のプリンタは、カラー印刷のため複数の色のインクを保持している。この複数色のインクを、吐出量を調整しながら重ね打ちすることにより、多くの色を表現してカラー画像を印刷することができる。この複数の色は主に加法混色の３原色であるイエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）の色材を搭載している。また、インク量打ち込み制限、黒文字をはっきり印刷するためにブラック（Ｂｋ）を搭載したプリンタも多く存在する。
【０００３】
このようなインクジェットプリンタにおける画像処理方法として、誤差拡散法と呼ばれるものがある。
【０００４】
誤差拡散法の具体例を示す。
【０００５】
図１は誤差拡散法の誤差データの拡散方法を示す図である。
【０００６】
画像処理の該当画素を（ｋ、ｍ）とし、その該当画素の画像データをａ（ｋ、ｍ）とする。この画像データが８ビットデータであるとき、
０≦a（ｋ、ｍ）≦ＦＦ  …（１）
である。ここで画像データは１６進法で表現する。
【０００７】
該画像処理において、該当画素の画像データが
０≦ａ（ｋ、ｍ）＜Ｍ  ならば打たない。
【０００８】
Ｍ≦ａ（ｋ、ｍ）≦ＦＦ  ならば打つ。
という制御をする。ここでＭは０〜ＦＦの中で、ある値を採る。
【０００９】
さらに、
０≦ａ（ｋ、ｍ）＜Ｍ  のとき〔Ｍ〕＝０
Ｍ≦ａ（ｋ、ｍ）≦ＦＦ  のとき〔Ｍ〕＝ＦＦ
とする。すると、画像データと、実際に印刷データとして表現したものとの間に誤差が生じる。この誤差をｅ（ｋ，ｍ）とするとｅ（ｋ，ｍ）は次のようにあらわされる。
【００１０】
ｅ（ｋ，ｍ）＝ａ（ｋ、ｍ）−〔Ｍ〕  …（２）
このｅ（ｋ，ｍ）は、周囲の画素に所定の割合で分散される。
【００１１】
このとき、図１に示すように、周辺画素（ｋ、ｍ＋１）、（ｋ＋１、ｍ−１）、（ｋ＋１、ｍ）、（ｋ＋１、ｍ＋１）に分散されるとする。そのときの割合をα（ｋ、ｍ＋１）、α（ｋ＋１、ｍ−１）、α（ｋ＋１、ｍ）、α（ｋ＋１、ｍ＋１）とすると、（ｋ、ｍ＋１）の画像データは、もともとの画像データa（ｋ、ｍ＋１）に対して
ａ（ｋ、ｍ＋１）＋ｅ（ｋ，ｍ）×α（ｋ、ｍ＋１）  …（３）
と加算された値になる。このように誤差値を所定の割合で周辺画素に加算する処理を（ｋ＋１、ｍ−１）、（ｋ＋１、ｍ）、（ｋ＋１、ｍ＋１）に対しても行う。この処理を順次処理の対象画素に対して行う。この拡散の割合の総和が
Σα＝１  …（４）
となるようにすると濃度が保たれた状態で画像処理を行うことができる。この計算を一般的にしたものが図２である。
【００１２】
先に誤差データを分散させる割合をαとしたが、これは重み付け係数と呼ばれるものである。この重み付け係数としてよく知られたものに、「Floyd & Steinberg 型」と呼ばれるものがある。（図３）また、さらに滑らかな画像を得るため、誤差を拡散する領域を広げた「Jarvis, Judice & Ninke 型」と呼ばれるものもある。（図４）図３、図４において、それぞれの領域は画素であり、斜線領域の画素は処理対象データである。その他の数字の記述された領域は誤差データの拡散先の画素であり、数字の割合に応じて、誤差データｅ（ｉ，ｊ）を分配する。以上の方式以外にも、いろいろな拡散方法が提案されており、この分配率と分配画素が誤差拡散法のノウハウとなっている。
【００１３】
以上に説明した誤差拡散法は、スムースな濃度変換を再現でき、滑らかな印刷ができる。特に写真画像のような印刷物を生成するときには非常に有効な画像処理方法である。このため現在多くの製品で誤差拡散法が用いられている。
【００１４】
又、別の従来例としては、特許文献１及び特許文献２をあげることが出来る。
【特許文献１】特開平０６−３１９０３９号公報
【特許文献２】特開平０９−２６１４６８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかし、この誤差拡散法は、文字データや線画などでは細線がかすれたり、境界において輪郭がボケたり孤立点が生成されたりする場合がある。その理由は、この誤差拡散法は、本来存在する場所の画像データを、別の個所に配置するという操作を行っているため、印刷時に周囲の画素情報が付加されるためである。
【００１６】
この欠点をなくすため、文字データの場合は画像処理方法の設定を変更する、などの方法があるが、印刷データ中に画像と文字が混載されている場合には適当な設定ができず、良好な印刷ができない。特に画像データ中にある文字データは、画像と同様に処理されて、滲んだ印刷になってしまという問題がある。
【課題を解決するための手段】
【００１７】
この課題を解決するために、本発明に係る画像処理方法は、以下のような機能を備える。
【００１８】
請求項１の発明は、誤差拡散法を用いる画像処理方法であって、画素間の画像データの差分を計算し、その差分を判断し、その判断した結果に基づき、誤差拡散法における誤差データを画像データに加算するかどうかを決定し、加算すると判断した場合、誤差データと画像データを加算する加算しないと判断した場合、画像データに手を加えず誤差拡散法の処理を行うことを特徴とする画像処理方法である。
【００１９】
上記制御により画像の特性に合った処理を行うことができる。
【００２０】
請求項２の発明は、前記画像データの差分を計算する方法は、隣接する画素の画像データの差分を計算することを特徴とする画像処理方法である。
【００２１】
上記制御により、画素間の画像データの特性により画像データの連続性・関連性を検出することができる。
【００２２】
請求項３の発明は、前記画像データの差分を計算する方法は、誤差データの拡散元の画像データを計算することを特徴とする画像処理方法である。
【００２３】
上記制御により、特に画像データの関連性がある誤差拡散法の処理における誤差データの拡散元の画像データとの連続性・関連性を検出することができる。
【００２４】
請求項４の発明は、前記画像データの差分を計算する方法は、当該画素を画像処理する直前に処理が完了した画素の画像データを計算することを特徴とする画像処理方法である。
【００２５】
上記制御により、特に画像データの関連性がある直前に処理した画像データとの連続性・関連性を検出することができる。
【００２６】
請求項５の発明は、前記画像データの差分を計算する方法は、当該画素を画像処理する時点よりも以前に処理が完了した画素の画像データを計算することを特徴とする画像処理方法である。
【００２７】
上記制御により、処理が確定した画像データとの関連性がある直前に処理した画像データとの連続性・関連性を検出することができる。
【００２８】
請求項６の発明は、前記画像データの差分を判断において、画像データの差分に対し、ある閾値と比較することを特徴とする画像処理方法である。
【００２９】
上記制御により、画像データの差分に対する判定を容易にすることができる。
【００３０】
請求項７の発明は、前記画像データの差分から判断した結果に基づき、誤差拡散法における誤差データを画像データに加算するかどうかを決定する方法において、差分が小さい場合、誤差データを画像データに加算すると判断する差分が大きい場合、誤差データを画像データに加算しないと判断することを特徴とする画像処理方法である。
【００３１】
上記制御により文字データや線画におけるにじみや孤立点の発生を防ぎ、印刷品位を良好にすることができる。
【００３２】
請求項８の発明は、前記誤差拡散法を用いる画像処理方法において、画像データに誤差データを加算する前に、あらかじめ誤差データを加算しておくことを特徴とする画像処理方法である。
【００３３】
上記制御によりメモリ容量の節約ができる。
【００３４】
請求項９の発明は、誤差拡散法を用いる画像処理装置であって、画素間の画像データの差分を計算する計算手段と、その差分を判断する判断手段と、その判断した結果に基づき、誤差拡散法における誤差データを画像データに加算するかどうかを決定する加算決定手段、加算すると決定した場合、誤差データと画像データを加算し、加算しないと決定した場合、画像データに手を加えず誤差拡散法の処理を行う加算手段と、を備えたことを特徴とする画像処理装置である。
【００３５】
上記制御により画像の特性に合った処理を行うことができる。
【００３６】
請求項１０の発明は、前記計算手段は、隣接する画素の画像データの差分を計算することを特徴とする画像処理装置である。
【００３７】
上記制御により、画素間の画像データの特性により画像データの連続性・関連性を検出することができる。
【００３８】
請求項１１の発明は、前記計算手段は、誤差データの拡散元の画像データを計算することを特徴とする画像処理装置である。
【００３９】
上記制御により、特に画像データの関連性がある誤差拡散法の処理における誤差データの拡散元の画像データとの連続性・関連性を検出することができる。
【００４０】
請求項１２の発明は、前記計算手段は、当該画素を画像処理する直前に処理が完了した画素の画像データを計算することを特徴とする画像処理装置である。
【００４１】
上記制御により、特に画像データの関連性がある直前に処理した画像データとの連続性・関連性を検出することができる。
【００４２】
請求項１３の発明は、前記計算手段は、当該画素を画像処理する時点よりも以前に処理が完了した画素の画像データを計算することを特徴とする画像処理装置である。
【００４３】
上記制御により、処理が確定した画像データとの関連性がある直前に処理した画像データとの連続性・関連性を検出することができる。
【００４４】
請求項１４の発明は、前記判断手段は、画像データの差分に対し、ある閾値と比較することを特徴とする画像処理装置である。
【００４５】
上記制御により、画像データの差分に対する判定を容易にすることができる。
【００４６】
請求項１５の発明は、前記加算決定手段は、差分が小さい場合、誤差データを画像データに加算すると判断し、差分が大きい場合、誤差データを画像データに加算しないと判断することを特徴とする画像処理装置である。
【００４７】
上記制御により文字データや線画におけるにじみや孤立点の発生を防ぎ、印刷品位を良好にすることができる。
【００４８】
請求項１６の発明は、前記加算手段は、画像データに誤差データを加算する前に、あらかじめ誤差データを加算しておくことを特徴とする画像処理装置である。
【００４９】
上記制御によりメモリ容量の節約ができる。
【発明の効果】
【００５０】
以上説明したように、本発明に係る画像処理方法は、以下のような機能を備える。
【００５１】
この画像処理方法は、画像処理を行う当該画素の画像データと、周囲の画素の画像データを比較し、その差分が大きいときには、他の画素から拡散されてきた誤差データの加算を行わない。
【００５２】
この制御を行うことにより、誤差拡散法を用いたときに発生しやすい、文字データや線画などの画像におけるにじみや孤立点の発生を防ぐことができる。
【発明を実施するための最良の形態】
【００５３】
以下、本発明の実施の形態を説明する。
【００５４】
（第１実施例）
図５は本発明に関わる画像処理手順を示すブロック図である。以下各構成部の説明をする。
【００５５】
ここで入力される色情報はレッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の濃度を表し、（Ｒ、Ｇ、Ｂ）というベクトル量で表す。
【００５６】
また出力される色情報はイエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）の濃度を表し、（Ｙ、Ｍ、Ｃ）というベクトル量で表す。これらの値は各色８ビットとし、
０≦Ｒ≦ＦＦ
０≦Ｇ≦ＦＦ
０≦Ｂ≦ＦＦ
０≦Ｙ≦ＦＦ
０≦Ｍ≦ＦＦ
０≦Ｃ≦ＦＦ
とする。
【００５７】
＜入力γ補正＞入力されたＲＧＢの信号をデバイスの出力特性に合うようにγ補正が行われる。補正後の信号をＲｇ、Ｇｇ、Ｂｇとする。
【００５８】
＜ＬＯＧ変換＞ＲＧＢデータをＣＭＹデータに変換する。輝度・濃度の関係は対数の関係にあり、この変換は次の計算で求める。
【００５９】
Ｙ１＝−ｌｏｇ（Ｂｇ）
Ｍ１＝−ｌｏｇ（Ｇｇ）
Ｃ１＝−ｌｏｇ（Ｒｇ）
＜マスキング＞ＣＭＹデータに補正を行う。これは３×３の１次変換で算出される。
【００６０】
Ｙ２＝ｍ１１×Ｙ１＋ｍ１２×Ｍ１＋ｍ１３×Ｃ１
Ｍ２＝ｍ２１×Ｙ１＋ｍ２２×Ｍ１＋ｍ２３×Ｃ１
Ｃ２＝ｍ３１×Ｙ１＋ｍ３２×Ｍ１＋ｍ３３×Ｃ１
＜出力γ変換＞入力の濃度と実際に打つインク量は一般に一致せず、インクの特性によるところが大きい。この濃度と実際に打つインク量を補正するための変換である。
【００６１】
＜２値化処理＞インクジェットプリンタではインクのドットをメディアに対して打つ。そのドットを密集、分散させることにより画像の濃淡を表し、画像を表現する。このドットを打つ・打たないという情報に変換する処理が２値化処理である。この２値化処理のとき、誤差拡散法を用いた処理を行う。本発明ではこの誤差拡散法の処理を行うときに、つぎのような処理を行う。
【００６２】
本発明の２値化処理における誤差拡散法の制御を説明する。
【００６３】
図６は本発明における処理の順序を示す図である。６０１は処理対象の画像の全領域を示している。６０２は画像を構成する画素データである。
【００６４】
処理の開始は左上の画素から始める。その位置から右方向に処理をしていく。一番右の画素データまで処理をしたら、同様に処理を行った下の行の処理を行う。この処理を繰り返し、最後に右下の画素を処理して終了する。
【００６５】
図７はある画素ａ（ｉ、ｊ）の処理を行うとき、加算される誤差データの元画素を示す図である。本実施例においては「Floyd & Steinberg 型」の誤差拡散の処理を想定するが、本発明はこの方式に限定されるものではない。本発明では、図で示した加算される誤差データの元画素の色情報データを参照することにより、誤差データを加算するかどうか決定する。
【００６６】
図７においては、ある画素ａ（ｉ、ｊ）の処理時に参照する画素を示しているが、画像中の端の画素データを処理する場合、どの画素を参照すればよいかという点に関しては考慮されてない。図８は画像中の端に画素データがある場合、この画素を処理するときに参照する画素を示す図である。（ａ）画像中の左上端の画素データ８１０を処理する場合は，参照する画素データがないので、初期設定された処理を行う。（ｂ）上端の画素データ８２０を処理する場合は、図中８２１の画素データを参照する。（ｃ）右上端の画素データ８３０を処理する場合は、図中８３１の画素データを参照する。（ｄ）左端の画素データ８４０を処理する場合は、図中８４１、８４２の画素データを参照する。（ｅ）端に接していない画素データ８５０を処理する場合は、図中８５１〜８５４の画素データを参照する。（ｆ）右端の画素データ８６０を処理する場合は、図中８６１〜８６３の画素データを参照する。（ｇ）左下端の画素データ８７０を処理する場合は、図中８７１、８７２の画素データを参照する。（ｈ）下端の画素データ８８０を処理する場合は、図中８８１〜８８４の画素データを参照する。（ｉ）右下端の画素データ８９０を処理する場合は、図中８９１〜８９３の画素データを参照する。
【００６７】
本実施例ではある画素を処理するときに参照する範囲を図７で示したが、処理の順番が本実施例で挙げた方法と異なる場合（例えば処理の順番が列方向の場合や、行方向を複数行にわたって処理を行う場合）であっても、ある画素を処理するときに先に処理したデータを参照しているならば、図７の範囲に限定されない。また、処理対象の画素が端にある場合の参照方法も図８で示した方法には限定されない。
【００６８】
また本実施例においては処理する単位を画素にしているが、本発明を実施する場合、画素単位ではなく、任意の領域を単位として実施してもよい。
【００６９】
図９は第１実施例における処理順序を示すフローチャートである。ａ（ｉ、ｊ）各色の画像データに関して、
イエロー（Ｙ）の画像データをＹ（ｉ、ｊ）
マゼンタ（Ｍ）の画像データをＭ（ｉ、ｊ）
シアン（Ｃ）の画像データをＣ（ｉ、ｊ）
とおく。また、誤差データを加算する、しないの判断をする閾値データを
イエロー（Ｙ）の閾値データをＭｙ
マゼンタ（Ｍ）の閾値データをＭｍ
シアン（Ｃ）の閾値データをＭｃ
とおく。
【００７０】
このフローチャートは、一つの画素データを行うときに、「従来の技術」に示した誤差拡散法の処理を行う前段階で行う処理である。１つの画素に対し、この処理を行った後、次の処理対象画素に対しても行い、最終的に画像全領域の画素に対しこの処理を行う。
【００７１】
ａ（ｉ、ｊ）の画素の処理は次のように行う。９０１において、処理対象画素（ｉ、ｊ）と参照画素（ｉ−１、ｊ−１）の各色の画像データの差を求め、それらがＭｙ、Ｍｍ、Ｍｃ未満である場合、９０２に進む。そうでない場合、つまり各色の画像データの差で、１色でもＭｙ、Ｍｍ、Ｍｃを超える場合は、９０６に進む。
【００７２】
９０２においては、処理対象画素（ｉ、ｊ）と参照画素（ｉ−１、ｊ）の各色の画像データの差を求め、それらがＭｙ、Ｍｍ、Ｍｃ未満である場合、９０３に進む。そうでない場合は９０６に進む。
【００７３】
９０３においては、処理対象画素（ｉ、ｊ）と参照画素（ｉ−１、ｊ＋１）の各色の画像データの差を求め、それらがＭｙ、Ｍｍ、Ｍｃ未満である場合、９０４に進む。そうでない場合は９０６に進む。
【００７４】
９０４においては、処理対象画素（ｉ、ｊ）と参照画素（ｉ、ｊ−１）の各色の画像データの差を求め、それらがＭｙ、Ｍｍ、Ｍｃ未満である場合、９０５に進む。そうでない場合は９０６に進む。
【００７５】
９０５においては、誤差データの加算を行う。この誤差データは、先のフローにおいて参照を行った画素から拡散された誤差データである。参照をした画素は、画像データの差が閾値以下、つまり、画像濃度の変化が小さいところである。したがって同傾向の画素の誤差データを加算することになり、通常の誤差拡散処理で良好な画像を得ることができる。
【００７６】
９０６においては、処理対象画素に誤差データを加算せずに、誤差拡散の処理を行う。この誤差データは、先のフローにおいて画像データの差が閾値以上、つまり画像濃度の変化が大きいところである。この処理により、濃度変化が大きく異なる領域の誤差データが加算されない。以上の制御により通常の誤差拡散法よりも良好な画像処理することができる。
【００７７】
図１０は、本実施例のフローを具体的な画像を処理するとき、どのように機能するかを示す図である。
【００７８】
この画像は濃度勾配がある画像中に文字が描かれている画像である。図中矢印で示した順に処理を行う。処理当初、滑らかな濃度勾配で始まるため、通常の誤差拡散の処理を行う。（１）の位置において文字領域に入るとき、画像データの差分が発生する。本発明の制御によって、画素データの差分が閾値を超えた場合、誤差データを加算しない。同様に（２）、（３）の位置においても誤差データを加算しない。（４）においては、差分が閾値以下であるため誤差データを加算する。この制御より（１）、（２）、（３）においては、画像領域データの誤差データが文字領域データに入らない、または文字領域データの誤差データが画像領域データに入らないため、文字データ、線画などの画像においてにじみの発生や孤立点の発生を防ぐことができる。また（４）においては誤差データを加算するが、周囲の画像と同傾向色なので、にじみや孤立点があっても目立たないため問題にはならない。
【００７９】
（第２実施例）
第１実施例では、図７にあるように、周囲の画像データを参照しているが、誤差データの拡散元データを全て参照する制御を行うと、装置の処理能力により、メモリ領域の占有、実行速度の低下をもたらす可能性がある。さらに、誤差を拡散する領域を広げた「Jarvis, Judice & Ninke 型」などで同様の制御をすると、先に挙げた問題が悪化する。そのため、本実施例においては、参照する領域を、直前に処理を行った画素に限定する。この結果、判定の精度は低下するが、メモリ領域の占有が少なくなり、判定フローが短縮することにより実行速度低下を防ぐことができる。
【００８０】
図１１は第２実施例における処理順序を示すフローチャートである。文字の定義は同様である。
【００８１】
ａ（ｉ、ｊ）の画素の処理は次のように行う。
【００８２】
９０４において、処理対象画素（ｉ、ｊ）と参照画素（ｉ、ｊ−１）の各色の画像データの差を求め、それらがＭｙ、Ｍｍ、Ｍｃ以下である場合、９０５に進む。そうでない場合、つまり各色の画像データの差で、１色でもＭｙ、Ｍｍ、Ｍｃ以上である場合は、９０６に進む。
【００８３】
９０５においては、誤差データの加算を行う。９０４で参照した画素は、画像データの差が閾値未満、つまり、画像濃度の変化が小さいところである。したがって同傾向の画素領域にあると判断し誤差データを加算する。
【００８４】
９０６においては、処理対象画素に誤差データを加算せずに、誤差拡散の処理を行う。これは、９０４において画像データの差が閾値以上、つまり画像濃度の変化が大きいと判断したためである。この処理により、濃度変化が大きく異なる領域の誤差データが加算されない。以上の制御により通常の誤差拡散法よりも良好な画像処理することができる。
【００８５】
（第３実施例）
先に挙げた第１、第２実施例ではソフトウェアの制御により本発明を実施した。本実施例では、ソフトウェアの制御の付加を減らすため、ハードウェアでの制御も考えられる。本実施例ではハードウェアによる制御をするための回路を示す。
【００８６】
図１２は、本発明をハードウェアで実施するための回路構成である。１２０１は隣接する画素から拡散された誤差データに重み付け係数をかけた数の総和を計算する加算器である。１２０２は、この誤差データを加算するかどうかのゲートである。１２１５より１が入力されると、加算した誤差データを１２３０に伝え、１２１５より０が入力されると、０を出力する。
【００８７】
１２１１は画像データａ（ｉ、ｊ）と参照データ（誤差拡散元データ）であるａ（ｉ−１、ｊ−１）の差分を計算し、閾値以下であるかどうか判断する回路である。画像データの差分が閾値未満である場合、１を出力する。画像データの差分が閾値以上である場合、０を出力する。１２１２〜１２１４も１２１１と同様の判断回路である。１２１５では、１２１１〜１２１４の出力がすべて１であれば１を出力し、ひとつでも０があれば０を出力する。１２１５からの出力は１２０２で入力される。先に説明したように、１２０２では、１２１５から１が入力されると、加算した誤差データを１２３０に伝え、１２１５から０が入力されると、０を出力する。
【００８８】
１２３０は加算部であり、画像データに誤差データの和を加算する。その出力ａ’（ ｉ、ｊ）を「従来の技術」で示した誤差拡散法の処理を行う。
【００８９】
この処理の中で、誤差データの総和をあらかじめ計算しておくことにより、メモリの占有率を少なくすることができる。また、参照データを第２実施例のように絞ることにより、メモリの占有率削減および回路構成の削減をすることができる。
【図面の簡単な説明】
【００９０】
【図１】誤差拡散法の誤差データの拡散方法を示す図である。
【図２】誤差拡散法を説明する図である。
【図３】誤差拡散法における「Floyd & Steinberg 型」の拡散領域と重み付け係数を示す図である。
【図４】誤差拡散法における「Jarvis, Judice & Ninke 型」の拡散領域と重み付け係数を示す図である。
【図５】本発明の第１実施例において、画像処理手順を示す図である。
【図６】第１実施例において、画像の処理順序を示す図である。
【図７】第１実施例において、ある画素の処理時に参照する画素を示す図である。
【図８】第１実施例において、ある画素の処理時に参照する画素の場合分けを示す図である。
【図９】第１実施例において、処理手順を示すフローチャートである。
【図１０】第１実施例において、具体的な画像を処理するとき、どのように機能するかを示す図である。
【図１１】第２実施例において、処理手順を示すフローチャートである。
【図１２】第３実施例において、本発明を実現するための回路構成を示す図である。
【符号の説明】
【００９１】
１０１  拡散元画素
１０２〜１０５  拡散先画素
５０１  入力γ変換部
５０２  ＬＯＧ変換部
５０３  マスキング
５０４  出力γ変換部
５０５  ２値化処理
６０１  画素
６０２  画像データ全領域
７０１  処理対象画素
７０２  誤差データ拡散元画素
８１０  処理対象画素
８２０  処理対象画素
８２１  参照画素
８３０  処理対象画素
８３１  参照画素
８４０  処理対象画素
８４１、８４２  参照画素
８５０  処理対象画素
８５１〜８５４  参照画素
８６０  処理対象画素
８６１〜８６３  参照画素
８７０  処理対象画素
８７１、８７２  参照画素
８８０  処理対象画素
８８１〜８８４  参照画素
８９０  処理対象画素
８９１〜８９３  参照画素
１２０１  誤差データ加算部
１２０２  ゲート
１２１１〜１２１４  判断回路
１２１５  ＡＮＤ回路
１２３０  加算部
【図１】
2006211351.tif 000003
【図２】
2006211351.tif 000004
【図３】
2006211351.tif 000005
【図４】
2006211351.tif 000006
【図５】
2006211351.tif 000007
【図６】
2006211351.tif 000008
【図７】
2006211351.tif 000009
【図８】
2006211351.tif 000010
【図９】
2006211351.tif 000011
【図１０】
2006211351.tif 000012
【図１１】
2006211351.tif 000013
【図１２】
2006211351.tif 000014