(57)【要約】【課題】  「異方性」や「掃き寄せ」現象のない高画質なクラスター型のFMハーフトーン画像出力を行なう画像処理装置を提供する。【解決手段】  ２値化対象の多値画素データは加算器３８にて、着目画素位置に分配された誤差と乱数ＲＮＤが加算され、画素データＰｘｙとしてセレクタ３７に供給される。セレクタ３７は、入力画素データＰｘｙと閾値Ｔｓ、Ｔｈと比較することで、明部処理部３４、暗部処理部３５、中間部処理部３６のいずれか１つに画素データＰｘｙを供給する。明部処理部３４と暗部処理部３５は、入力したの画素データＰｘｙの値に応じて決まる範囲内の、既２値化結果を参照し、着目画素データの２値化結果Ｑｘｙを決定する。中間部処理部３６は、画素データＰｘｙの値に応じて単調増加する閾値Ｔと、前記画素データＰｘｙの値とを比較することで、着目画素データの２値化結果Ｑｘｙを決定する。誤差拡散マトリックス部Ｂ２５は、２値化結果ＱｘｙとＰｘｙの誤差を、未２値化画素位置に分配する。【選択図】  図８
2010093756.tif 000002
【特許請求の範囲】
【請求項１】
誤差拡散法を用いて、多値画像データを２値画像データに変換する画像処理装置であって、
２値化対象の多値の画素データに、当該画素データの位置に分配された誤差を加算し、前記画素データを更新する更新手段と、
該更新手段による更新後の着目画素データの値と、予め設定された閾値Ｔｓ、Ｔｈと比較することで、前記着目画素データが明部、暗部、及びその中間の中間部のいずれかに属するかを判定する判定手段と、
該判定手段で前記着目画素データが前記明部に属すると判定した場合、前記着目画素データの値に応じて決まる範囲内の、既に２値化された結果を参照し、前記着目画素データに対する２値画素データの値を決定する明部処理手段と、
前記判定手段で前記着目画素データが前記暗部に属すると判定した場合、前記着目画素データの値に応じて決まる範囲内の、既に２値化された結果を参照し、前記着目画素データに対する２値画素データの値を決定する暗部処理手段と、
前記判定手段で前記着目画素データが前記中間部に属すると判定した場合、前記着目画素データの値に応じて単調増加する閾値Ｔと、前記着目画素データの値とを比較することで、前記着目画素データに対応する２値画素データの値を決定する中間部処理手段と、
前記着目画素データの値と、前記明部処理手段、前記暗部処理手段、前記中間部処理手段のいずれかで決定した２値画素データの値との差分を、前記着目画素データの画素位置の近傍の未２値化画素位置に分配する分配手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記明部処理手段は、
前記着目画素データの画素値に応じて決定される距離をｒ０、前記着目画素データの画素位置から最も近い黒画素を示す２値化画素の位置までの距離をｒとしたとき、
条件：ｒ＞ｒ０
を満たす場合には、前記着目画素データに対応する２値画素データを黒画素として決定し、前記条件を満たさない場合には前記着目画素データに対応する２値画素データを白画素として決定し、
前記暗部処理手段は、
前記着目画素データの画素値に応じて決定される距離をｒ０、前記着目画素データの画素位置から最も近い白画素を示す２値化画素の位置までの距離をｒとしたとき、
条件：ｒ＞ｒ０
を満たす場合には、前記着目画素データに対応する２値画素データを白画素として決定し、前記条件を満たさない場合には前記着目画素データに対応する２値画素データを黒画素として決定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記明部処理手段における前記距離ｒ０は、前記着目画素データの値の明度が高くなるほど、大きな値にし、
前記暗部処理手段における前記距離ｒ０は、前記着目画素データの値の明度が低くなるほど、大きな値にする
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
更に、既に２値化された領域内において、前記着目画素データの位置を中心とし、当該中心から徐々に離れる探索ルートを記憶するルート記憶手段を備え、
前記明部処理手段は、前記着目画素データの値に依存して決定される探索画素数Ｎを決定し、前記ルート記憶手段に記憶された探索ルートに従って前記探索画素数Ｎに至るまでに２値化結果の黒画素を探索することで、前記条件を満たすか否かを判定し、
前記暗部処理手段は、前記着目画素データの値に依存して決定される探索画素数Ｎを決定し、前記ルート記憶手段に記憶された探索ルートに従って前記探索画素数Ｎに至るまでに２値化結果の白画素を探索することで、前記条件を満たすか否かを判定する
ことを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
更に、前記着目画素データの直前の画素データを２値化する際に探索したルートと、前記着目画素データの値に応じて決定される探索ルートの重複する画素位置を探索の対象から除外するためのテーブルを有し、
前記明部処理手段及び前記暗部処理手段は、前記テーブルを参照して２値化画素データを探索することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記更新手段は、更に、予め設定された振幅範囲内で変動する乱数値を、前記２値化対象の画素データに加算することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
更に、前記着目画素データの画素位置の近傍の、予め設定された個数の２値化画素データとゲイン係数ｈに基づきゲインを算出するゲイン算出手段と、
前記更新手段の更新後の前記着目画素データの値に、前記ゲイン算出手段で算出したゲインを加算し、前記ゲインを加算した着目画素データを前記判定手段に出力する加算手段と、
前記ゲイン係数ｈに基づき、前記閾値Ｔｓ、Ｔｈを調整する調整手段と
を備えることを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
誤差拡散法を用いて、多値画像データを２値画像データに変換する画像処理装置の制御方法であって、
２値化対象の多値の画素データに、当該画素データの位置に分配された誤差を加算し、前記画素データを更新する更新工程と、
該更新工程による更新後の着目画素データの値と、予め設定された閾値Ｔｓ、Ｔｈと比較することで、前記着目画素データが明部、暗部、及びその中間の中間部のいずれかに属するかを判定する判定工程と、
該判定工程で前記着目画素データが前記明部に属すると判定した場合、前記着目画素データの値に応じて決まる範囲内の、既に２値化された結果を参照し、前記着目画素データに対する２値画素データの値を決定する明部処理工程と、
前記判定工程で前記着目画素データが前記暗部に属すると判定した場合、前記着目画素データの値に応じて決まる範囲内の、既に２値化された結果を参照し、前記着目画素データに対する２値画素データの値を決定する暗部処理工程と、
前記判定工程で前記着目画素データが前記中間部に属すると判定した場合、前記着目画素データの値に応じて単調増加する閾値Ｔと、前記着目画素データの値とを比較することで、前記着目画素データに対応する２値画素データの値を決定する中間部処理工程と、
前記着目画素データの値と、前記明部処理工程、前記暗部処理工程、前記中間部処理工程のいずれかで決定した２値画素データの値との差分を、前記着目画素データの画素位置の近傍の未２値化画素位置に分配する分配工程と
を有することを特徴とする画像処理装置の制御方法。
【請求項９】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項１乃至７のいずれか１項に記載の画像処理装置として機能させることを特徴とするコンピュータプログラム。
【請求項１０】
請求項９に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの２値化技術に関するものであり、特に、デジタル複写機や複合機に搭載される印刷部に出力する際の画像２値化技術に関するものである。
【背景技術】
【０００２】
従来より、プリンタ等の画像出力装置に搭載する画像２値化技術として誤差拡散法が知られている。この誤差拡散法は、モアレの発生が無く、階調再現性の優れているのが特徴である。また、誤差拡散法は従来の組織的ディザ法や濃度パターン法に比較して、テキスチャー構造が少なく、また階調性が局所的に保存されるため、文字や線画、階調画像の両方に対して満足のいく画質を得ることもできる。
【０００３】
しかしながら、かかる誤差拡散法には、いくつかの問題点がある。ひとつはハイライトおよびシャドー部におけるドットの異方性（Anisotropy）に基づくテキスチャー構造がある点である。これはハイライトおよびシャドー部において、黒ドット(あるいは白ドット)の配置の分散性が悪く等方的でないために、黒ドットが一方向に流れたように配列される現象で、画質の低下を招く。この異方性の発生は誤差拡散マトリックスに依存するものであり、比較的簡単でハード規模も小さくて済むことで多く用いられているFloyd & Steinbergの誤差拡散マトリックスでもこの異方性が発生している。
【０００４】
もう一つの問題として「はき寄せ現象」がある。黒から白（または白から黒）のように大きく階調変化がある画像の場合、ドットが遅延して生成されるために生じる現象で、ドットの遅延現象（Reterdation）とも言われる。この現象が生じるとハイライト、シャドー部に擬似輪郭が生じ、画質上大きな問題となる。特にＣＧ画像のように画像データにノイズ成分が無い場合には顕著である。
【０００５】
これらの２つの問題は、誤差拡散マトリックスの形状と入力される画像データの内容に大きく依存する。従って誤差拡散マトリックスの選択を慎重に行わなければならない。しかしながら、この「異方性現象」と「掃き寄せ現象」は、後述のように、互いにトレードオフの関係にあり、両者を誤差拡散マトリックスの選択のみで解決することは困難である。
【０００６】
これらの問題の解決方法として、誤差拡散マトリックスを用いずにドットを強制的に決定する方法が提案されている（非特許文献１）。この非特許文献１には、注目画素の近隣の未２値化画像データの累積値を求め、ドットの黒化数およびセルサイズ(１網点領域)を求めている。これは探索範囲をコントロールすることにより、得られる網点線数をコントロールできるというメリットがあるが、多ビットの未２値化画素を探索するため、画像メモリー量が増大するという問題がある。またハイライトからシャドー部に移行するとき、黒ドットから白ドットへの切り替えが出来ないという問題点もある。
【０００７】
一方、非特許文献２では、画像のハイライトおよびシャドー側において既２値化画素を探索し、注目画素の近傍におけるドットの有無を検出し、その結果により注目画素の２値化を行うことが開示されている。この非特許文献２の技術は、先に示した非特許文献１の方法に比べると、探索を既２値化画素で行っているため１ビットプレーンのメモリですみ、メモリ容量が少ないというメリットがある。更にこの方法ではハイライトとシャドー部の中間領域では誤差拡散法を用いているため中間濃度域での黒ドットから白ドットへの移行が誤差拡散法によるドットの連結によりスムースに行われるというメリットもある。
【０００８】
しかしながら、この非特許文献２の手法においては、ハイライト部から中間部、あるいは中間部からシャドー部への切り替わりがスムースに行われず、境界で擬似輪郭が生じるという問題がある。また、生成されるドットのサイズが固定で、後述の種々のプリンタの特性に対応できないと言う問題もある。
【０００９】
電子写真をベースとしたデジタルプリンティング装置は、電子写真プロセスの非線型特性により記録印字画像の空間周波数の変動に弱い。これは、ＯＰＣやアモルファスシリコン等の感光ドラム表面上に電子的に一様帯電された表層を、レーザ等の光ビーム走査により感光ドラムの電荷を除電する露光過程での非線型性や、現像、転写、定着等の電子写真プロセスの複雑さによる。例えば、微小１ドットの印字は記録されにくく、数ドットのクラスター状態になって始めて記録される。微小間隔離れたドットは、その間隔の大小によりトナーの移動によりくっついたり離れたりする。
【００１０】
このため、ＦＭ方式のハーフトンスクリーンにおいてディスパース型（Disperse Type）と呼ばれる方式は電子写真記録においては高画質化が困難で、ドットを集中化させるクラスター型（Cluster Type）が、安定した階調再現が可能である。
【非特許文献１】N. Karito: A Halftoning Method Using Circular Cell, NIHON GAZO GAKKAISHI, 46, 103-106 (2007) [in Japanese]
【非特許文献２】G.Marcu;”Error diffusion algorithm with output position constraints for homogeneous highlight and shadow dot distribution”, Journal of Electronic Imaging, Vol.9(1), pp46-51, (January 2000)
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、多値画像データの２値化処理において生じる「異方性現象」および「掃き寄せ現象」を解決する技術を提供しようとするものである。更に、ドットのクラスターサイズをコントロールし、電子写真記録で高画質な画像出力を得る技術をも提供する。又、近年ＣＧ等で作った画像が多く用いられるようになったが、このような画像に対しても高画質化が保たれる技術を提供する。
【課題を解決するための手段】
【００１２】
かかる課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
誤差拡散法を用いて、多値画像データを２値画像データに変換する画像処理装置であって、
２値化対象の多値の画素データに、当該画素データの位置に分配された誤差を加算し、前記画素データを更新する更新手段と、
該更新手段による更新後の着目画素データの値と、予め設定された閾値Ｔｓ、Ｔｈと比較することで、前記着目画素データが明部、暗部、及びその中間の中間部のいずれかに属するかを判定する判定手段と、
該判定手段で前記着目画素データが前記明部に属すると判定した場合、前記着目画素データの値に応じて決まる範囲内の、既に２値化された結果を参照し、前記着目画素データに対する２値画素データの値を決定する明部処理手段と、
前記判定手段で前記着目画素データが前記暗部に属すると判定した場合、前記着目画素データの値に応じて決まる範囲内の、既に２値化された結果を参照し、前記着目画素データに対する２値画素データの値を決定する暗部処理手段と、
前記判定手段で前記着目画素データが前記中間部に属すると判定した場合、前記着目画素データの値に応じて単調増加する閾値Ｔと、前記着目画素データの値とを比較することで、前記着目画素データに対応する２値画素データの値を決定する中間部処理手段と、
前記着目画素データの値と、前記明部処理手段、前記暗部処理手段、前記中間部処理手段のいずれかで決定した２値画素データの値との差分を、前記着目画素データの画素位置の近傍の未２値化画素位置に分配する分配手段とを備える。
【発明の効果】
【００１３】
本発明によれば、「異方性」や「掃き寄せ」現象のない高画質なクラスター型のFMハーフトーン画像出力を行なう画像処理装置を提供することができる。また、電子写真記録装置の個別のＭＴＦ特性に対応したクラスタードットを生成し、安定した画像出力を行なうことができる。
【発明を実施するための最良の形態】
【００１４】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１５】
［第１の実施形態］
図１は実施形態における複合機（ＭＦＰ）のブロック構成図である。同図では、便宜的に、ＭＦＰ内に基板として配置されるコントローラ３を外部に示している。本装置は、原稿を読取る読取手段としてのスキャナ１、印刷手段としてのプリンタ２を搭載し、これらをコントローラ３が制御するものである。コントローラ３は、ＲＯＭ４、ＲＡＭ５、プログラムメモリを格納したり、画像データのバッファとして機能する記憶手段としてのＨＤＤ６、液晶表示器に代表されるディスプレイ８、キーボード９を備える。更に、コントローラ３は、ネットワークと通信するための通信部１０、画像データの２値化を行ないプリンタ２に、その２値化したデータを出力する画像処理部１１を有する。そして、コントローラ３のＣＰＵ７が、ＨＤＤ６に格納されたプログラムをＲＡＭに読出し、実行することで、上記の各構成要素を制御することになる。なお、実施形態におけるプリンタ２は、モノクロのレーザビームプリンタを採用するものとして説明する。そして、実施形態における印刷対象の多値画像データの各画素は輝度値（もしくは明度値）を示し、８ビット（２５６階調）で表わされているものとして説明する。
【００１６】
図２は主に画像処理部１１の構成を示すブロック構成図である。プリンタ２からの水平・垂直の同期信号１５は、出力ラスター画像のH-Sync,V-Sync信号と画素クロックにより構成される。ＲＡＭ５あるいはＨＤＤ６に記憶されたＣＧ画像データに代表される多値画像データは、画像処理部１１内の画像メモリ１２に転送される。そして、２値化処理部１３がその画像メモリ１２に格納された多値画像データを２値化処理し、２値画像データをレーザ・ドライバ１４に出力する。レーザ・ドライバ１４は、入力した２値画像データに基づき半導体レーザ１６を駆動する。この結果、半導体レーザ１６からはビーム変調された変調ビーム１７が出射させる。かかる変調光ビームは図示されていないが、電子写真記録技術をベースとした記録装置に導かれ、光露光→現像→転写→定着の電子写真プロセスを経て画像出力される。
【００１７】
ここで、本実施形態における２値化処理部１３を説明する前に、一般的な誤差拡散法を利用した２値化処理について説明する。
【００１８】
図３は誤差拡散法を利用した回路構成を示している。入力した多値画素データである着目画素Ｘ２０は、２値化処理回路２２により２値化し、その２値化結果として２値画素データＱ２３が得られる。このとき、２値化によって生じた誤差が誤差検出器２７により誤差データＹｅ２６として求められ、誤差拡散マトリックス部Ｂ２５に応じて誤差が拡散される。拡散される誤差は複数の未２値化画素（これから２値化を行なう画素）に対して分配される。このため、誤差拡散マトリクス部Ｂ２５は、数ライン分のバッファメモリを内蔵している。
【００１９】
図４において、ｘ方向は記録の主走査方向、ｙ方向は副走査方向を表し、注目画素Ｘの上方(斜線部)及び左方向が既に２値化された画素（既２値化画素）の領域、下方及び右側が未２値化画素の領域を表す。既に２値化して着目画素Ｘの位置に分配された誤差データＸｅ２４は、入力した画素データＸ２０に加算器２１にて加算(負の場合は減算)され、新たな画素データとして更新される。この更新後の画素データが２値化処理部２２にて、予め設定された閾値Ｔと比較され２値化される。すなわち、入力画素データＸ２０の値Ｘは、誤差拡散による誤差配分値Ｘｅを加算され、Ｘｋとなる。
Ｘｋ＝Ｘ＋Ｘｅ    …（１）
【００２０】
２値化処理回路２２は、更新後の画素値Ｘｋと閾値Ｔとを比較し、次のようにして２値化後の出力データＱを得る。
Ｘｋ≧Ｔのとき、Ｑ＝２５５
Ｘｋ＜Ｔのとき、Ｑ＝０      …（２）
なお、画素データが８ビットで表わされるとき、閾値Ｔはその８ビットで表わされる中間の値“１２８”が採用されるのが一般的である。また、ここでは、２値化結果が“０”か、“２５５”としているが、規格化されているのであれば、“０”か“１”としても構わない。
【００２１】
図５乃至図７は、かかる誤差拡散法による画像出力例を示したものである。図５（Ａ）はグレースケールを、図６（Ａ）は画像データの輝度値が“２４８”、“８”、“２３４”で構成されたＣＧ画像を、図７（Ａ）は自然画像をそれぞれ示す。これらの画像を入力画像として誤差拡散法による出力を行なったものが、それぞれに対応する図５（Ｂ）、図６（Ｂ）、及び図７（Ｂ）である。ここで、用いた誤差拡散マトリックスは、以下に示すFloyd & Steinberg のマトリックスを用いた。ここでＸは着目画素を示している。
2010093756.tif 000003
【００２２】
図５（Ｂ）から分かるように、ハイライトおよびシャドー部において、ドットが流れるようになりドットの「異方性」が生じている。また図６（Ｂ）から分かるように、画像濃度の急激に切り替わる部分でドットの遅延が生じ「掃き寄せ現象」が生じている。この現象は、拡散領域の広いJarvisの誤差拡散マトリックスを用いた場合は更に顕著となる（図示せず）。そして、図７（Ｂ）は自然画での出力で、これらの現象が擬似輪郭となって画質を著しく悪くしていることが分かる。
【００２３】
以上、一般的な誤差拡散法の問題点を示した。
【００２４】
次に、実施形態における２値化処理部１３について説明する。図８は２値化処理部１３のブロック構成図である。
【００２５】
加算器３８は、ラスタースキャン順に入力した画像の（x,y）位置の着目画素データＭｘｙ（２９）、加算器３８にて、ある一定の振幅内の乱数を発生する乱数発生器からの値ＲＮＤ（３９）、及び、着目画素の近傍の２値化済みの画素位置から着目画素位置に分配された誤差を加算する。この結果、着目画素がＰｘｙとして更新され、セレクタ３７に供給される。
【００２６】
ここでＭｘｙは生の入力画素データであり、Ｐｘｙは誤差情報や乱数値を加算された画素データであるので、それと区別する。セレクタ３７は以下に示す条件式により、入力した画素データＰｘｙが明部、中間部、暗部の３領域のいずれの領域に属するのかを判定し、明部処理部３４、暗部処理部３５、中間部処理部３６のいずれかに出力する。
Ｐｘｙ＜Ｔｓのとき、暗部処理部３５にＰｘｙを出力する。
Ｔｓ≦Ｐｘｙ＜Ｔｈのとき、中間部処理部３６にＰｘｙを出力する。
Ｔｈ≦Ｐｘｙのとき、明部処理部３４にＰｘｙを出力する。      …（４）
ここで、閾値Ｔｓ、ＴｈはＴｓ＜Ｔｈの関係を有し、シャドー部、およびハイライト部を判定するための閾値である。
【００２７】
閾値設定部３２は、入力した画素データの値Ｍｘｙに依存した２値化処理用の閾値Ｔを設定する（詳細後述）。
Ｔ＝ｆ（Ｍｘｙ）    …（５）
中間部処理部３６では、この閾値Ｔと、入力した画素データＰｘｙとを比較することで、２値化処理を行なう。
【００２８】
一方、明部処理部３４および暗部処理部３５は、入力した画素データＰｘｙの２値化結果を格納するＱｘｙメモリ３３を参照し、入力データＰｘｙを２値化し、その２値化結果をＱｘｙとして出力する。このとき、２値化結果ＱｘｙはＱｘｙメモリ３３に格納されると共に、誤差検出器２７にて誤差が算出される。算出された誤差は誤差拡散マトリックス２５により、未２値化画素位置に配分される。
【００２９】
ここで、図９を用いて、明部処理部３４の処理を説明する。画像データを８ビットの輝度データとして、０を黒、２５５を白とする。処理として注目画素２８の近傍の既２値化画素で最も近傍に位置する黒画素３１Ｂの注目画素からの距離ｒが、注目画素の画素データから求まる所定距離内にあるか否かを判断する。すなわち注目画素の画像データＰｘｙから求まる所定距離をｒ０ 、注目画素と最近接の黒画素との距離をｒ とした時、以下の条件式（６）で２値化結果Ｑｘｙを決定する。
ｒ＜ｒ０の場合、Ｑｘｙ＝２５５
ｒ≧ｒ０の場合、Ｑｘｙ＝０          …（６）
但し、
ｒ＝SQRT｛（ｘ１−ｘ）^2+（ｙ１−ｙ）^2｝      …（７） 
ｘ１、ｙ１は着目画素に最近接の黒画素の座標を示し、ｘ、ｙは着目画素の座標である。また、Ｘ＾ｙはＸのｙ乗を示す関数であり、ＳＱＲＴ｛｝は平方根を示す関数である。なお、２つの距離の大小判定できれば良いので、必ずしも平方根を求める必要はない。また、ｒ０の決定法の詳細は後述する。
【００３０】
次に、図１０を用いて、暗部処理部３５の処理を説明する。暗部処理部３５は、明部処理部３４とは逆に、既２値化領域内の白ドット（値が“１”の画素）の探索を行なう。
【００３１】
そして、注目画素２８の近傍の既２値化画素で最も近傍に位置する白画素３１Ｗの注目画素からの距離ｒが、注目画素の画素データから求まる所定距離内にあるか否かを判断し、明部処理の時と同様にして、以下の条件式で出力を決定する。
ｒ＜ｒ０の場合、Ｑｘｙ＝０
ｒ≧ｒ０の場合、Ｑｘｙ＝１          …（８）
【００３２】
上記のようにして２値化データＱｘｙが得られると、その２値化データＱｘｙがメモリ３３に格納され、次の画素の２値化の際に参照されることになる。
【００３３】
上記処理の処理を図１１のフローチャートに従って説明する。
【００３４】
まず、座標(x,y)に位置する画素データＭｘｙを読み出す（ステップＳ４０）。
【００３５】
次に、入力した画素データ（着目画素データ）に誤差データや乱数値を加算し、着目画素データＭｘｙをＰｘｙに更新する（ステップＳ４２）。この後、更新後の着目画素データＰｘｙの値に従い、明部処理（ステップＳ４３）、中間部処理（ステップＳ４４）、暗部処理（ステップＳ４５）のいずれかを行ない、出力用の２値化データＱｘｙを得る。その後、入力値Ｐｘｙとの誤差が計算され（ステップＳ４６）、誤差分配マトリクスに従って、未２値化画素位置にその誤差を配分する（ステップＳ４７）。そして、この処理を、ステップＳ４８にて、全画素データに対して行なったと判断するまで、繰り返す。
【００３６】
図１２は８ビット連続階調のグレースケールを示している。黒の画素の値は０、白の画素が２５５の値である。
【００３７】
図１３は先に示した閾値Ｔｓ、Ｔｈに従って決定される明部、中間部、暗部の領域を示す。誤差データ等を加算された画像データＰｘｙに対して、暗部は画素値が０乃至Ｔｓ、明部は閾値Ｔｈ乃至２５５、中間部は閾値Ｔｓ乃至Ｔｈにあることを示している。
【００３８】
図１４は更に詳しい処理手順を示すフローチャートである。
【００３９】
先ず、ステップＳ４０にて１つの画素データＭｘｙを入力する。そして、ステップＳ５１において、中間部の閾値Ｔ（＝Ｆ（ｘｙ））を算出し、ステップＳ４２では、入力した画素データＰｘｙに誤差、乱数を加算することで更新後の画素データＰｘｙを算出する。この後、ステップＳ５０ａ、Ｓ５０ｂにて更新後の画素データＰｘｙが次の条件を満たしているか否かを判定し、満たしている場合には２値化処理結果Ｑｘｙを出力する。
・Ｐｘｙ≦＝０、又は、Ｍｘｙ＝０の場合、Ｑｘｙ＝０
・Ｐｘｙ≧２５５、又は、Ｍｘｙ＝２５５の場合、Ｑｘｙ＝２５５    …（９）
【００４０】
そして、上記条件を満たさない場合には、Ｐｘｙの値に応じて、暗部、明部、中間部の処理を行なう。
【００４１】
先ず、中間部（Ｔｓ≦Ｐｘｙ≦Ｔｈ）の場合、ステップＳ５１にて求めた閾値Ｔを用いて、更新後の画素データＰｘｙから次のようにして２値化処理結果Ｑｘｙを決定する。
Ｐｘｙ≧Ｔの場合、Ｑｘｙ＝１
Ｐｘｙ＜Ｔの場合、Ｑｘｙ＝０        …（１０）
【００４２】
次に、明部および暗部での処理について詳しく説明する。
【００４３】
明部、暗部の処理は、探索する画素が黒画素（２値化結果が０）か、白画素（２値化結果が１）かの違いであるので、以下では、明部における処理を説明する。
【００４４】
明部の２値化処理では、着目画素データＰｘｙから最も近い黒画素までの距離ｒと、着目画素データＰｘｙに依存して決定される距離ｒ０との大小判定する。これを別な言い方をするのであれば、着目画素データＰｘｙに依存して決定される距離ｒ０の範囲内に、黒画素があるか否かを探索すれば良いことになる。そこで、探索範囲Ｎを着目画素データＰｘｙに従って決定する。
Ｎ＝Ｌ（Ｐｘｙ）        …（１１）
ここで、このＮの値は、物理的には注目画素からの距離を示すが、計算上の簡便さから注目画素を中心位置とし、距離が大きくなるように、探索すべき画素数を表わす個数に変換する（詳細後述）。
【００４５】
そして、ステップＳ５４のドットチェック処理にて、Ｑｘｙメモリ３３を参照し、既に２値化した領域内の画素を最大個数Ｎまで順次探索を行う。そして、ステップＳ５５にて、Ｎ画素までの探索中に、黒画素（暗部の場合には白画素）が存在するか否かを判定する。もし、Ｎ画素までの探索中に、黒画素（暗部の場合には白画素）が存在したと判定した場合には、着目画素の近傍に既に黒画素が存在するわけであるから、注目画素位置には黒画素を打たないようにＱｘｙを“２５５（白画素）”として決定する（ステップＳ５７）。また、Ｎ個の画素の探索において、黒画素が１つも存在しなかったと判定した場合、着目画素の２値化結果Ｑｘｙを“０”（黒画素）として決定する（ステップＳ５６）。そして、ステップＳ５８にて、決定した２値化結果Ｑｘｙを出力する。
【００４６】
この後、ステップＳ４６にて、２値化結果Ｑｘｙと入力画素データＰｘｙとの差分を誤差データＥｒｒｏｒとして計し、その誤差データを通常の誤差拡散法にて近隣の未２値化画素へ配分する（ステップＳ４７）。そして、ステップＳ４８にて、この処理を全画素について行なったと判断するまで繰り返す。
【００４７】
上記は明部の処理であったが、暗部の処理は探索する対象が白画素となる点で異なるでけであり、且つ、既に説明した事項から容易に理解できるであろうから、その説明は省略する。
【００４８】
ここで、先に示した式（１１）の関数Ｌ（）を図１５を用いて説明する。
【００４９】
今、実施形態では画像データの各画素は輝度データとしている。ここで暗部処理について考えると、全領域が全黒(輝度＝０)の状態から、累積誤差の加算結果が有る値になったら白ドットを打つとする。入力画素データ値Ｐｘｙに対して、近傍の画素の値も画素データＰｘｙと同じ値であると想定し、Ｎ個の画素数に対して、１個の白ドットが打たれるとすると、
Ｎ＝２５５／Ｐｘｙ      …（１２）
なる関係があると考えてよい。
【００５０】
また、式（１２）はＰｘｙでＮ→∞となるため、式（１１）を、
Ｐｘｙ≠０の場合：
If Int(２５５／Ｐｘｙ)＞Ｎｍａｘ then Ｎ＝Ｎｍａｘ
else Ｎ＝Int(２５５／Ｐｘｙ）
として決定する。そして、
Ｐｘｙ＝０の場合：
Ｎ＝Ｎｍａｘ          …（１３）
としても良い。
なお、Int( )は整数化処理を意味する。
【００５１】
図１５におけるカーブ５９ａは式１３をプロットしたもので、０≦Ｐｘｙ＜Ｔｓの領域において単調減少する。同様に、ハイライト側では、Ｔｈ＜Ｐｘｙ≦２５５において対称なカーブを関数で与えることが出来る。
【００５２】
カーブ５９ｂは２次曲線で表したものである。画素の値の区間［０，Ｔｓ］において、画素値が０でＮ＝Ｎｍａｘ、画素値ＴｓでＮ＝０とするためには、
Ｎ＝Ｎｍａｘ×（Ｐｘｙ−Ｔｓ）^2／Ｔｓ^2      …（１４）
なる関数で定義される。なお、X^YはXのY乗を示す。
【００５３】
かかる関数は、ハイライトおよびシャドー部におけるドットの分散密度を表す。従ってＰｘｙに対し大きなＮ値はより大きな１ドットの占有面積を与える。従ってこの関数を変化することによりハイライトおよびシャドー部の階調特性をコントロールすることが出来る。
【００５４】
図１６は画素データＰｘｙに対するＮの値を非線形な任意の曲線を与えるためにルックアップテーブルで表したものである。０≦Ｐｘｙ≦２５５においてテーブルメモリに各値を格納することによりＮ値を簡単に取得することができる。
【００５５】
図１７は暗部処理におけるドットチェック（DotCheck1）の処理を示し、図１８は明部処理におけるドットチェック（DotCheck2)を示している。
【００５６】
探索個数Ｎが与えられると、注目画素を中心に既２値化画素を中心から外側へ探索を行う。探索目的は明部で黒ドットの存在、暗部で白ドットの存在を見出すことである。
【００５７】
ここでは、図１７の暗部処理について説明する。このフローでは探索個数Ｎ内に、目的とするドットが存在すればＱ１＝１を、無ければＱ１＝０を返す処理である。処理が開始されると、初期値としてＱ１に“０”をセットする。そして、ｉ＝１からＮまで探索するが、ｉ番目の探索ドット位置はテーブルから算出される。すなわち着目画素に対する相対座標値（X1,Y1）は、ｉ番目のｘ座標が記憶されたメモリSearchX(i) と、ｙ座標が記憶されたメモリSearchY(i) とから、
X1=SearchX(i)
Y1=SearchY(i)      …（１５）
で与えられる（ステップＳ６０ａ）。次いで、Ｑｘｙメモリ３３内の、着目画素の座標（X0,Y0)に抽出した相対座標（X1,Y1)を足し込だ絶対座標値（X0+X1, Y0+Y1）における既２値化画素値、
d=Qxy(X0+X1,Y0+Y1)    …（１６）
を得る。
【００５８】
もし、このｄが白画素（ｄ＝255）であれば、近傍に白画素が存在するものとし、Ｑ１＝１を返す。無ければｉ＝Ｎまでこの操作を繰り返す。ｉ＝Ｎに到達しても、白画素が発見できなかった場合には、Ｑ１は初期値“０”として出力される。明部の処理も黒ドットに対して同様の処理を行なう。
【００５９】
図１９、図２０は探索の方法を示したものである。注目画素Ｘ２８から同心円状を探索し、同心円の径を徐々に広げる。その結果最も近い位置にある目的の画素３１が見つかる。図２０（Ａ）は同心円上に沿って右回りに探索していく軌跡（探索ルート）を示したもので、抜けが無く重複がないように画素が順次探索される。同図（Ｂ）は矩形の探索順を示す。同心円に比べ矩形の方は注目画素からの距離の正確性には多少欠けるが、簡易なため以降の説明はこれを用いる。
【００６０】
図２１は明部処理部及び暗部処理部内に設けられた探索ルート記憶部（不図示）に各条された探索ルート情報を示している。図示のように、探索順に沿って、１，２，３、・・・、の番号が記される。図２２はこの探索順の注目画素からの相対座標値を示したテーブル（先に示したSearchX(i)、SearchY(i)に対応）を示している。
【００６１】
注目画素を(0,0)とすると、ｉ番目の画素位置は（X1,Y1）で与えられる。SearchX(i)は、このX1をｉ順に記憶したもので、SearchY(i)はY1をｉ順に記憶したものである。
【００６２】
図２３は高速探索を行なう方法を示したものである。注目画素Ｘ２８の周りの探索において、画素３１が探索されたとする。着目画素Ｘ２８の２値化が済んで、次の画素２８’において同様の探索を行なう時、直前の画素Ｘ２８の処理で既に探索を済ませた画素に関しては重複するため、その重複部分を除外した領域の画素のみを探索する。すなわち図２３における領域６３に該当する画素を探索すればよい。
【００６３】
これを図２４を参照して、矩形探索の場合を例に説明する。まず注目画素２８に対してＮ＝１０まで探索したとし、探索領域６４を既に探索済みの領域とする。次の画素２８’に移り、新たな探索画素数が式１１あるいは式１３からＮ＝６が求まったとする。この場合、破線枠で囲った領域６５が新たな探索領域となる。従って、新たな領域の画素を順にｉ＝１からｉ=６まで順に画素探索を行なえばよいが、重複した画素をスキップすることにより高速探索が可能となる。すなわち図２４における画素の番号“１３，１４”のみを探索すればよい。
【００６４】
図２５は差分画素を発見するために用いるテーブルである。新たな注目画素２８’に対する探索順に、前画素での探索の対応画素を記したものである。新画素はラスター方向（右方）に移動するため、対応画素は図２４に示される探索画素の右方に位置する画素を示す。従って、Ｎ＝６の場合、テーブルのＮｏ＝６までを探索するが、図２５のテーブルにおいて対応するPrevious(i)が前の探索時の画素を表し、前の探索でＮ＝１０であったので、１０以上の値の箇所のみを探索すればよいことがわかる。
【００６５】
図２６および図２７はかかる高速探索のフローを示したものである。図２６は暗部での探索を、図２７は明部での探索を示す。
【００６６】
ここで暗部で説明すると、図２６において探索画素数Ｎに対して、ｉ＝１から順に探索を開始するが、図２５のテーブルメモリからPs=Previous(i)を求める（ステップＳ６６a）。かかるＰｓが以前の探索個数Ｎｓ未満である場合、既に探索した画素であると判断され、以降の処理をスキップされ次の画素へ移る。Ｐｓ≧Ｎｓの場合は新規画素とみなされるので図１７の場合と同様の処理Ｓ６０a、Ｓ６１a、…が行なわれる。図２７は明部に対して同様の処理が黒画素に対して行なわれる。
【００６７】
以上の一連の処理により画像の２値化処理が終了する。本発明においては、画像データを明部、暗部、中間部と３領域に分けて処理を行なうため、それらの領域の境界で異なる処理による不連続性が発生する可能性がある。図２８は、この不連続性を示すものでありグレースケール画像で左から右へ画像データが０から２５５へ連続的に変わるチャートである。暗部処理と中間部処理は閾値Ｔsで分離される。画像データＰｘｙは誤差データや乱数値が加算されるため、境界６８は直線とはならず折れ曲がった曲線となる。同様に明部においても不連続な境界が閾値Ｔh近傍で生じる。
【００６８】
図２９は２値化された画像で、中間部での誤差拡散処理はＴ＝１２８の固定閾値を用いて出力したものである。不連続な境界が明瞭に現れ、画質が低下することがわなる。かかる画質劣化の原因は色々と考えられるが、大きな原因は誤差拡散でのドットの遅延現象である。通常ドットの遅延は、前述の「掃き寄せ」現象として、画像濃度の急激に変化するパターンの時生じる。暗部と中間部の境界は画像濃度の急激な変化はないものの、処理の切り替えに伴なうドットの遅延により境界が目立つようになる。
【００６９】
この解決のため、実施形態では図８に示すように、閾値設定部３２を設けた。以下、この閾値設定部３２を設けた理由とその効果を図３０に従って説明する。図示において、Ｔは２値化の閾値を示し、中間部処理における２値化の閾値を変動するようにしたものである。本来ドットの遅延は画像データと閾値が大きく異なる場合、誤差を累積した画像データが閾値を越すためにはかなりの画素数を要し、これがドットの遅延となる。従って閾値を画像データに近づければ遅延量は減少する。
【００７０】
図３１は、閾値Ｔと入力画像データＭｘｙとの関係について表したものである。式５で表される閾値をＭｘｙに対して単調増加するように設定したものである。例えば、次のようにする。
Ｔ＝Ｆ（Ｍｘｙ）
＝ｍ（Ｍｘｙ−１２８）＋１２８      …（１７）
ここでｍは勾配を表すパラメータで、（128,128）を中心とした直線６９を傾きｍで可変操作を行なう。ｍ＝１とするとＴ＝Ｍｘｙとなり、画像データ値を２値化の閾値とする。このときドットの遅延現象は減少するが、エッジが平滑化されるため、画質が低下する。一方、ｍ＝０の場合は、Ｔ＝１２８の固定閾値となり、不連続な境界の対策とはならない。発明者が幾つかのサンプルによって検証した結果、ｍ＝０．４乃至０．８が望ましい値であった。
【００７１】
図３２乃至図３７は実施形態による画像出力を示す。図３２（Ａ）は式３に示されるFloyd & Steinbergの誤差拡散マトリックスを用いて通常の誤差拡散方式にて出力したものである。同図（Ｂ）は本実施形態による出力例である。Ｔｓ＝６４、Ｔｈ＝１９２を用い、乱数ＲＮＤ（３９）は±１０の振幅範囲内の乱数である。図から分かるように「異方性」や「掃き寄せ」現象が消失しており、且つ、暗部、中間部、明部の領域の不連続な境界も現れていなく、非常に滑らかな階調再現が達成されている。図３３はJarvisの誤差拡散マトリックス；
2010093756.tif 000004
を用いて出力したもので、同図（Ａ）は誤差拡散出力のみである。前述のように誤差拡散マトリックスにより「異方性」と「掃き寄せ」現象は変化するが、一方が減少すると他方が増加するようにトレードオフの関係にあり、両者をともに解決することは困難である。一方、図３３（Ｂ）は本発明による出力例で、両方の問題を解決し一様で滑らかな２値化出力を得ていることが分かる。
【００７２】
図３４および図３５はＣＧ画像の出力例で、図３４（Ａ）はFloyd & Steinberg 、図３５（Ａ）はJarvisの誤差拡散マトリックスを用いて出力したものである。同様に図３４（Ｂ）、図３５（Ｂ）は本実施形態による出力を示す。
【００７３】
図３６および図３７は自然画像の出力例で、図３４（Ａ）はFloyd & Steinberg 、図３５（Ａ）はJarvisの誤差拡散マトリックスを用いて出力したものである。同様に図３６（Ｂ）、図３７（Ｂ）は本実施形態による出力を示す。このように、本実施形態においては、誤差拡散法に特有の「異方性」や「掃き寄せ」現象が回避され、且つ、暗部、中間部、明部の領域の不連続な境界も無い滑らかな階調再現が達成することができることがわかる。
【００７４】
［第２の実施形態］
一般に、誤差拡散法は記録パターンの空間周波数特性が低周波側の強度が低下した、いわゆるブルーノイズ特性を示す。電子写真記録においては前述のようにドットをクラスター化し、既得パターンの空間周波数を電子写真記録に最適な周波数域にする必要がある。
【００７５】
本第２の実施形態では、誤差拡散法をベースに既２値化画素からのフィードバックによる誤差拡散法(Error diffusion with output-dependent feedback)は(以降グリーンノイズ法と呼ぶ)、生成されるドットをクラスター化し、電子写真法に最適なドット生成法を提供するものである。
【００７６】
図３８はグリーンノイズ法の信号処理を表したものである。グリーンノイズ法に関しては、Daniel L. Lau、Gonzalo R． Arce著の“Modern Digital Halftoning (Signal Processing and Communications)”や、USP6798537B1でその構成や特徴が詳しく記述されている。図３８に沿ってこのグリーンノイズ法の信号処理について説明する。
【００７７】
入力画素データＭ７０が２値化処理回路８０により２値化され、出力画素データＱ７３が得られる。また、２値化によって生じた誤差が誤差検出器７４により誤差データとして求められ、誤差拡散マトリックスＢ（７６）により誤差が拡散される。拡散は未２値化画素に対して行なわれ、各画素に拡散された誤差データＸｅ７７は、未２値化画素データに加算器７１にて加算(負の場合は減算)され新たな画像データとして更新される。
【００７８】
一方、既２値化画素（既に２値化処理された画素で、８ビット/画素/カラーの場合、輝度値としての画素データが０（黒）もしくは２５５（白）となった画素）の複数の画素データがグリーンノイズマトリクス８１に取り込まれ、演算される。演算結果は、ゲイン算出器８２に供給され、ここで一定のゲイン量が乗じられたフィードバック量（グリーンノイズデータ）Ｘh８３が、加算器７１の出力データに、別の加算器７８にて加算される。すなわち、入力画像データＭは、誤差データＸｅとグリーンノイズデータＸｈを加算して、画素データＰに更新される。
Ｐ＝Ｍ＋Ｘｅ＋Ｘｈ    …（１９）
一方、２値化処理回路８０は、
Ｐ≧Ｔの場合、Ｑ＝２５５
Ｐ＜Ｔの場合、Ｑ＝０      …（２０）
なる２値化を行う。但し、Ｔは２値化処理用の閾値を表す。出力Ｑは８ビットであれば２５５、０であるが、規格化されておれば１か０でも構わない。
【００７９】
図３９は既２値化画素の参照位置と重み係数(weighting factor)を示す。Ｘ２８が現在の注目画素を表し、注目画素Ｘ２８よりも図の上方、及び、左側の斜線部が既２値化画素を表す。ａ０，ａ１，ａ２…は参照画素位置とその強度を表わす。参照画素は注目画素Ｘ２８から見て既２値化画素で、且つ注目画素Ｘの近傍の画素を対象とする。これらの参照画素の選び方により画質が変化するため参照画素の選択は注意を要す。参照画素の強度係数ａｉは、０とするとその画素からのデータの取り込みが無いことを表す。またΣａｉ=１となるようにノーマライズされている。従って、ゲイン算出器８２からの出力（ゲイン値）は以下の式で表される。
Ｘｈ＝ｈ×Σ｛ａｉ＊Ｑｉ｝    …（２１）
ここでｈはゲイン係数、Ｑｉは既２値化画素のｉ番目の参照画素を表す。かかる出力は第２の加算器７８で加算され、加算された画素データＰ７９となる。２値化処理回路８０は、この画素データＰ７９を２値化処理し、出力画素データＱ７３を出力する。
【００８０】
図４０はかかるグリーンノイズ法を用いて画像出力したものであり、図４０（Ａ）は誤差拡散法としてFloyd & Steinbergのものを用い、ゲイン係数ｈ＝０．５で出力したものである。同図（Ｂ）はJarvisの誤差拡散マトリックスを用い、ゲイン係数ｈ＝０．２の場合である。グリーンノイズ法によりドットのクラスター化が行なわれているが、「異方性」や「掃き寄せ」現象は残存する。ここで、グリーンノイズの参照画素のマトリックス(以降グリーンノイズマトリックスと呼ぶ)Ｃは、図４２（Ａ）に示されるものを用いた。
2010093756.tif 000005
ここで、Ｘは注目画素位置を表す。そのほかグリーンノイズマトリックスとしてよく用いられるのは図４２（Ｂ）に示されるものなど、たくさんの手法があり、中間部の画質が異なるが、ここでは一応同図（Ａ）のマトリックスを用いて議論を進める。
【００８１】
図４１は本第２の実施形態における画像処理部の構成を示す図である。既２値化データによるグリーンノイズマトリックス８１からの出力は、ゲイン算出器８２により係数ｈを乗ぜられ、加算器８６において誤差信号および乱数値を加算された入力信号Ｐ'ｘｙと加算されＰｘｙとなる。以降の処理は先に説明した第１の実施形態と同様である。
【００８２】
図４３は閾値Ｔｓ、Ｔｈで分離した暗部、中間部、明部の領域を示しているが、ここでＴｓ、Ｔｈをゲイン係数ｈと連動して調整する。すなわちゲイン係数ｈを増加させると中間部のドットのクラスター化が進行する。一方、明部および暗部の黒ドットおよび白ドットの間隔は中間部に近づくに従い狭くなる。このためドット間隔を中間部と合わせるためにＴｓを減少させ、Ｔｈを増大させる。これにより明部および暗部の領域が狭くなり、中間部との整合性が取れるようになる。
【００８３】
図４４はかかる閾値Ｔｓ、Ｔｈと、ゲイン係数ｈの変動を示したものである。図中、実線はFloyd & Steinbergの誤差拡散マトリックスを用いた時、破線はJarvisの誤差拡散マトリックスを用いた時のものである。ゲイン係数ｈの取り得る幅は、Floyd & Steinbergの場合で０〜０．５、Jarvisの場合で０〜０．２位が最も高画質である。それ以上の値となるとクラスタードット形状が一方向に流れるようになる。ｈ＝０はグリーンノイズ法を使わない方法、すなわち第１の実施形態と等価の方法となる。
【００８４】
図４５は本第２の実施形態における全体の処理を示すフローチャートである。ステップＳ８８、Ｓ８９、Ｓ９０、Ｓ９１の箇所が新たに追加されたか、あるいは変更された部分である。
【００８５】
まずステップＳ８８において適切なるゲイン係数ｈを与える。これは記録装置の特性から、装置に最適なクラスターサイズに合わせて決められる。ゲイン係数ｈが決まると、用いられる誤差拡散マトリックスのタイプにより図４４によって、最適なＴｓ、Ｔｈが求められる。その後、ラスター画像の入力に対して処理が実行される。ステップＳ９０においてグリーンノイズが画素データに加算される。明部、暗部、中間部のそれぞれの処理が行なわれた後、出力Ｑｘｙとの誤差（差分）をステップＳ９１にて算出される。このときの誤差の算出は、グリーンノイズ値を加算する前の画像データ値Ｐ'ｘｙを用いる。これはグリーンノイズは２値化のドット制御のために取り込まれた値で、実際の画像データには寄与しないからである。そのほかの処理は第１の実施形態と同様である。
【００８６】
図４６乃至図４８は本発明による画像出力結果を普通のグリーンノイズ出力と比較したものである。図４６（Ａ）はFloyd & Steinbergの誤差拡散マトリックスにグリーンノイズ法のゲイン係数ｈ＝０．５で出力したもの、同図（Ｂ）は本第２の実施形態による画像処理でＴｓ＝６０、Ｔｈ＝１９５で出力したものである。両者を比較して分かるように、本第２の実施形態の手法ではグリーンノイズ法による中間部のドットのクラスター化が行なわれており、且つ、ドットの「異方性」や「掃き寄せ」現象が回避され、全階調で滑らかな特性を示しているのがわかる。
【００８７】
図４７はJarvisの誤差拡散マトリックスを用いた画像出力で、同図（Ａ）はゲイン係数ｈ＝０．２で通常のグリーンノイズ法で出力したものである。Jarvis の誤差拡散マトリックスは比較的ドットの「異方性」は少ないが、「掃き寄せ」現象は顕著である。同図（Ｂ）は図４５のフローに沿っているが、ステップＳ８８の閾値Ｔｓ、Ｔｈを可変とせず固定とし、Ts=60、Th=195をとった場合である(この数字はｈ＝０の時の最適値である)。明部および暗部の中間部近傍のドットが細かくなりすぎ、中間部のクラスターサイズと整合性が取れていない。同図（Ｃ）はステップＳ８８にて、Ｔｓ＝３０,Ｔｈ＝２２５と可変にした場合で、明部、中間部、暗部に渡り滑らかなクラスター化したドットが再現されていることが確認できる。
【００８８】
図４８は第２の実施形態による自然画像の出力例を示したものである。同図（Ａ）はFloyd & Steinbergの誤差拡散マトリックスを用いてｈ＝０，Ｔｓ＝８０、Ｔｈ＝１７０の場合の画像を示している。同図（Ｂ）は、Floyd & Steinberg の誤差拡散マトリックスを用いて、ｈ＝０．５、Ｔｓ＝６０、Ｔｈ＝１９５の場合の画像を示している。そして、同図（Ｃ）は、Jarvisの誤差拡散マトリックスを用いて、ｈ＝０．２、Ｔｓ＝３０、Ｔｈ＝２２５の場合の画像を示している。図４８（Ａ）、４８（Ｂ）、４８（Ｃ）の順にドットのクラスター化が増大しているが、「異方性」や「掃き寄せ」現象は生じない。
【００８９】
以上のようにして、本第２の実施形態は、「異方性」や「掃き寄せ」現象のない高画質なクラスター型のFMハーフトーン画像出力を行なう画像処理装置を提供することができたものである。また、電子写真記録装置の個別のＭＴＦ特性に対応したクラスタードットを生成し、安定した画像出力を行なうことができたものである。
【００９０】
以上本発明に係る実施形態を説明した。上記実施形態では、２値化対象の多値画像データは１画素当たり８ビット（２５６階調）としたが、これによって本発明が限定されるものではない。また、２値化対象の多値画像データが輝度成分のみで表わされるものとしたが、複数の成分で表わされるカラー画像の場合には、各色成分に対して上記実施形態の処理を行なえば良い。
【００９１】
また、上記の説明からわかるように、本実施形態の機能は、ハードウェアでもって実現できるのは勿論のこと、実施形態で示したフローチャートに従ったソフトウェアによって実現できるのは明らかである。また、実施形態では、複合機に適用する例を説明したが、例えば、パーソナルコンピュータ等の汎用情報処理装置にインストールしたアプリケーションもしくはプリンタドライバ等のコンピュータプログラムにて、上記の２値化処理を行ない、その結果をプリンタに出力するようにしても構わない。
【００９２】
また、通常、コンピュータプログラムは、ＣＤ−ＲＯＭ等のコンピュータ可読記憶媒体を、コンピュータが有する読取り装置（ＣＤ−ＲＯＭドライブ等）にセットし、システムにコピーもしくはインストールすることで実行可能になる。従って、かかるコンピュータ可読記憶媒体も本発明の範疇にあることも明らかである。
【図面の簡単な説明】
【００９３】
【図１】実施形態が適用する画像処理装置のブロック構成図である。
【図２】画像処理部の構成を示す図である。
【図３】一般的な誤差拡散法に従った２値化処理を行なう構成を示す図である。
【図４】誤差拡散法における着目画素と誤差分配する未２値化画像位置と配分値の関係を示す図である。
【図５】グレイスケール画像（Ａ）と、そのグレイスケール画像に対して誤差拡散法による出力画像（Ｂ）の例を示す図である。
【図６】ＣＧ画像（Ａ）と、そのＣＧ画像に対して誤差拡散法による出力画像の例（Ｂ）を示す図である。
【図７】自然画（Ａ）と、その自然画に対して誤差拡散法による出力画像の例（Ｂ）を示す図である。
【図８】第１の実施形態における２値化処理部のブロック構成図である。
【図９】実施形態における明部における画素探索法を示す図である。
【図１０】実施形態における暗部における画素探索法を示す図である。
【図１１】実施形態における２値化処理の処理手順を示す図である。
【図１２】グレイスケール画像を示す図である。
【図１３】２値化処理における分割例を示す図である。
【図１４】第１の実施形態における２値化処理の詳細を示すフローチャートである。
【図１５】実施形態における明部及び暗部における輝度値に対する探索画素数の関係を示す図である。
【図１６】探索画素数を格納したテーブルの一例を示す図である。
【図１７】暗部における探索処理を示すフローチャートである。
【図１８】明部における探索処理を示すフローチャートである。
【図１９】注目画素と最近接画素を表す図である。
【図２０】画素探索の軌跡を示す図である。
【図２１】画素探索順を示す図である。
【図２２】画素探索の相対アドレスを格納するテーブルを示す図である。
【図２３】差分画素探索の原理を説明するためのである。
【図２４】差分画素探索の例を示す図である。
【図２５】差分画素探索を行なうためのテーブルの例を示す図である。
【図２６】暗部での差分画素探索の処理手順を示すフローチャートである。
【図２７】明部での差分画素探索の処理手順を示すフローチャートである。
【図２８】処理の分割と境界の不連続性を示す図である。
【図２９】境界に不連続性が発生した２値化画像の例を示す図である。
【図３０】可変閾値による２値化処理のブロック構成図である。
【図３１】入力画像データに対する可変閾値の決定法を説明するための図である。
【図３２】Floyd & Steinbergの誤差拡散法による出力例（Ａ）と、本実施形態における出力例（Ｂ）を示す図である。
【図３３】Jarvisの誤差拡散法による出力例（Ａ）と、本実施形態における出力例（Ｂ）を示す図である。
【図３４】ＣＧ画像のFloyd & Steinbergの誤差拡散法による出力例（Ａ）と、本実施形態における出力例（Ｂ）を示す図である。
【図３５】ＣＧ画像のJarvisの誤差拡散法による出力例（Ａ）と、本実施形態における出力例（Ｂ）を示す図である。
【図３６】自然画像のFloyd & Steinbergの誤差拡散法による出力例（Ａ）と、本実施形態における出力例（Ｂ）を示す図である。
【図３７】自然画像のJarvisの誤差拡散法による出力例（Ａ）と、本実施形態における出力例（Ｂ）を示す図である。
【図３８】グリーンノイズ法を用いた２値化処理部のブロック構成図である。
【図３９】グリーンノイズ法の参照画素を示す図である。
【図４０】Floyd & Steinbergの誤差拡散法によるグリーンノイズ法の出力例（Ａ）と、Jarvisの誤差拡散法によるグリーンノイズ法の出力例（Ｂ）を示す図である。
【図４１】第２の実施形態における２値化処理部のブロック構成図である。
【図４２】グリーンノイズ法の参照画素に付与する係数の２つの例を示す図である。
【図４３】グリーンノイズ法による輝度領域の分割と境界を示す図である。
【図４４】第２の実施形態のグリーンノイズ法におけるゲイン係数ｈと閾値Ｔｓ、Ｔｈとの関係を示す図である。
【図４５】第２の実施形態における２値化処理の詳細を示すフローチャートである。
【図４６】Floyd & Steinbergの誤差拡散法によるグリーンノイズ法の出力例（Ａ）と、本第２の実施形態の出力例（Ｂ）を示す図である。
【図４７】Jarvisの誤差拡散法によるグリーンノイズ法の出力例（Ａ）、本第２の実施形態における閾値Ｔｓ、Ｔｈを固定した画像出力例（Ｂ）、及び、閾値Ｔｓ、Ｔｈを可変とした出力例（Ｃ）を示す図である。
【図４８】Floyd & Steinbergの誤差拡散法によるゲイン係数ｈ＝０のグリーンノイズ法の出力例（Ａ）、Floyd & Steinbergの誤差拡散法によるゲイン係数ｈ＝０．５のグリーンノイズ法の出力例（Ｂ）、及び、Jarvisの誤差拡散法によるゲイン係数ｈ＝０．２のグリーンノイズ法の出力例（Ｃ）を示す図である。
【図１】
2010093756.tif 000006
【図２】
2010093756.tif 000007
【図３】
2010093756.tif 000008
【図４】
2010093756.tif 000009
【図８】
2010093756.tif 000010
【図９】
2010093756.tif 000011
【図１０】
2010093756.tif 000012
【図１１】
2010093756.tif 000013
【図１３】
2010093756.tif 000014
【図１４】
2010093756.tif 000015
【図１５】
2010093756.tif 000016
【図１６】
2010093756.tif 000017
【図１７】
2010093756.tif 000018
【図１８】
2010093756.tif 000019
【図１９】
2010093756.tif 000020
【図２０】
2010093756.tif 000021
【図２１】
2010093756.tif 000022
【図２２】
2010093756.tif 000023
【図２３】
2010093756.tif 000024
【図２４】
2010093756.tif 000025
【図２５】
2010093756.tif 000026
【図２６】
2010093756.tif 000027
【図２７】
2010093756.tif 000028
【図２８】
2010093756.tif 000029
【図２９】
2010093756.tif 000030
【図３０】
2010093756.tif 000031
【図３１】
2010093756.tif 000032
【図３２】
2010093756.tif 000033
【図３３】
2010093756.tif 000034
【図３４】
2010093756.tif 000035
【図３５】
2010093756.tif 000036
【図３６】
2010093756.tif 000037
【図３７】
2010093756.tif 000038
【図３８】
2010093756.tif 000039
【図３９】
2010093756.tif 000040
【図４０】
2010093756.tif 000041
【図４１】
2010093756.tif 000042
【図４２】
2010093756.tif 000043
【図４３】
2010093756.tif 000044
【図４４】
2010093756.tif 000045
【図４５】
2010093756.tif 000046
【図４６】
2010093756.tif 000047
【図４７】
2010093756.tif 000048
【図４８】
2010093756.tif 000049
【図５】
2010093756.tif 000050
【図６】
2010093756.tif 000051
【図７】
2010093756.tif 000052
【図１２】
2010093756.tif 000053