(57)【特許請求の範囲】
【請求項１】
画素において表すことができる濃度範囲内に設定された所定範囲において離散的に設定された複数の濃度値の各々を、複数の均一濃度画素マトリックスの各々における全画素の濃度値として、前記均一濃度画素マトリックス毎に誤差拡散法にて前記濃度値をオン／オフのいずれかに２値化し、この２値化された均一濃度画素マトリックスの一部の特定領域の濃度値に基づいて、ディザマトリックスにおける各画素の閾値を設定するディザマトリックス作成方法であって、
前記特定領域と前記特定領域以外の外部領域との境界に接する前記特定領域内の縁部領域、または前記境界に接する前記外部領域の縁部領域に対して、前記境界を挟んだ前記２値化処理の連続性を維持する境界処理を行ったことを特徴とするディザマトリックス作成方法。
【請求項２】
前記２値化された均一濃度画素マトリックスの一部の特定領域の濃度値を、前記均一濃度画素マトリックスのすべてについて同一位置の画素毎に集積し、この同一位置の画素毎の集積結果に基づいて、ディザマトリックスにおける各画素の閾値を設定することを特徴とする請求項１記載のディザマトリックス作成方法。
【請求項３】
前記特定領域は、前記誤差拡散法の処理が開始された先頭画素ライン部分の集積結果を含めないことを特徴とする請求項１または２記載のディザマトリックス作成方法。
【請求項４】
前記特定領域は、前記誤差拡散法の処理が終了する最終画素ライン部分の集積結果を含めることを特徴とする請求項１〜３のいずれか記載のディザマトリックス作成方法。
【請求項５】
前記境界処理は、２値化の主走査方向の処理が前記特定領域から前記外部領域へ横切る境界に接する前記特定領域内の後方縁部領域または前記外部領域の前方縁部領域に対して行われることを特徴とする請求項１〜４のいずれか記載のディザマトリックス作成方法。
【請求項６】
前記境界処理は、前記外部領域の前方縁部領域に、２値化の主走査方向の処理が前記外部領域から前記特定領域へ横切る境界に接する前記特定領域内の前方縁部領域における直前の２値化結果を複写する処理であることを特徴とする請求項５記載のディザマトリックス作成方法。
【請求項７】
前記２値化処理が、前記境界を挟んで連続する前記特定領域内の後方縁部領域および前記外部領域の前方縁部領域からなる領域については、主走査方向を逆転させることを特徴とする請求項６記載のディザマトリックス作成方法。
【請求項８】
前記所定範囲が、前記画素において表すことができる濃度範囲に等しいことを特徴とする請求項１〜７のいずれか記載のディザマトリックス作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多値画像を２値画像化するためのディザマトリックスの作成方法に関する。
【０００２】
【従来の技術】
画像を構成するデータは通常８ビット程度の濃淡階調で表現されている。しかし、この画像データを人が見ることのできる画像として出力する機器、例えばプリンタなどの出力機器においては、機構が簡単であることや制御の容易性から、インク等の色素を記録紙にドットとして付着させるか否かしか行わない、いわゆる２値記録が一般的である。
【０００３】
このような２値記録の出力機器を使用して、８ビット濃淡階調で表された画像を記録する場合には、単に各画素の値を閾値で判断してインクを付着させるか否かを決定することになる。しかし、このように閾値で単純に２値化するだけでは、８ビット濃淡階調が持つ豊富な濃淡状態（１色なら２５６階調、３原色が各２５６階調ならば、約１６７０万色を表すことができる。）を表現することは不可能となる。そのため、このような２値記録の出力機器でも疑似的に濃淡状態を表現する方法が考えられている。すなわち、所定の面積の中で配置されるドット数によって濃淡を表現しようと言う面積階調の考え方である。
【０００４】
この考え方を実現する方法としては種々の提案がなされている。例えば、誤差拡散法、乱数発生型ディザ法、組織的ディザ法等である。
【０００５】
【発明が解決しようとする課題】
しかし、これらの方法には、次のような問題があった。
すなわち、誤差拡散法は、誤差拡散あるいは誤差分配演算のために、２値化の処理が遅くなり、また２値化された画像に独特の紋様が発生し易かった。乱数発生型ディザ法は、ディザマトリックスを使用するために高速であるが、乱数を用いるため、画質が非常にノイジー、すなわち、多くのノイズが画像に満ちているような画質となると言う問題が有った。
【０００６】
ディザマトリックスを用いる他の方法として、組織的ディザ法に属する渦巻型があるが、この渦巻型は、ドットが密集し易く、密集したものが大きなドットと認識されるので解像度が悪化し易かった。組織的ディザ法の内で、ベイヤー（Ｂａｙｅｒ）法があるが、このベイヤー（Ｂａｙｅｒ）法は、ドットが分散するので解像度は良いが、独特な紋様が発生し、暗部の階調性も悪いものであった。
【０００７】
また、ディザマトリックスの大きさよりも広い画像を処理する場合には、図１６に示すごとく、画像の部分部分を順次、ディザマトリックスの大きさの領域ＤＭ毎に２値化処理することになるが、この処理の境界近傍部分ＢＤ１，ＢＤ２で色むらや明暗むらが生じて、白線などの疑似的な境界線が現れてしまう場合があった。
【０００８】
本発明は、ディザ法を用いても、ノイジーとならず、解像度が悪化せず、紋様の発生を抑制し、更にディザマトリックスにより処理された領域間に疑似的な境界線も生じないディザマトリックスを作成することを目的とするものである。
【０００９】
【課題を解決するための手段及び発明の効果】
本発明のディザマトリックス作成方法は、画素において表すことができる濃度範囲内に設定された所定範囲において離散的に設定された複数の濃度値の各々を、複数の均一濃度画素マトリックスの各々における全画素の濃度値として、均一濃度画素マトリックス毎に誤差拡散法にて濃度値をオン／オフのいずれかに２値化し、この２値化された均一濃度画素マトリックスの一部の特定領域の濃度値に基づいて、ディザマトリックスにおける各画素の閾値を設定している。
【００１０】
このようにして閾値が設定されたディザマトリックスによって画像を２値化すると、人間の目に対してノイジーとならず、解像度が悪化せず、紋様の発生を抑制した２値化画像を生成することができる。
誤差拡散法により生じる２値の並びは、一見不規則に見えるけれども、まったくのでたらめではない。すなわち、紋様はできにくいがノイジーな画像にはなりにくい性質がある。このように本発明のディザマトリックス作成方法は、誤差拡散法により生じる２値の並びを利用することにより、ディザマトリックスにも誤差拡散法における２値の並びの性質を取り込んで作成されたものである。
【００１１】
したがって、２値化の計算処理が高速に可能となるディザマトリックスにおいて、前述のごとく誤差拡散法により、不規則ではあるがまったくのでたらめではない適切な閾値の分布を形成しているので、人間の目に対してノイジーとならず、かつ解像度が悪化せず、更に、紋様の発生を抑制した２値化画像を生成することができたものと考えられる。
【００１２】
更に、本発明において、前記均一濃度画素マトリックスは、求められるディザマトリックスよりも大きいマトリックスであり、前記誤差拡散法による２値化後に、２値化の結果に基づいて、ディザマトリックスにおける各画素の閾値を設定している。このため、誤差拡散処理の初期における誤差拡散あるいは誤差分配の歪みがディザマトリックスへ影響し難くなり、でき上がったディザマトリックスを使用して画像を２値化しても、ドットの偏りや紋様の発生を抑制することができる。尚、２値化の結果に基づくディザマトリックスの閾値の設定は、例えば、２値化された均一濃度画素マトリックスの一部の特定領域の濃度値を、均一濃度画素マトリックスのすべてについて同一位置の画素毎に集積し、この同一位置の画素毎の集積結果に基づいて行っても良い。
【００１３】
更に、本発明において、前記特定領域と前記特定領域以外の外部領域との境界に接する前記特定領域内の縁部領域、または前記境界に接する前記外部領域の縁部領域に対して、前記境界を挟んだ前記２値化処理の連続性を維持する境界処理を行っている。
【００１４】
ディザマトリックスで処理された領域の境界で色むらや明暗のむらが生じるのは、ディザマトリックスの左右の縁部や上下の縁部において縁部同士の連続性が無いからである。特に、上述のごとく誤差拡散法による２値化処理にてディザマトリックスを作成する場合には、誤差拡散法の２値化処理の主走査方向における縁部同士の誤差拡散処理の不連続性が色むらや明暗むらに大きく影響する。これを境界処理により連続性を維持させれば、ディザマトリックスで処理された領域の境界での色むらや明暗むらが抑制でき、疑似的な境界線の発生を抑制できる。
【００１５】
この境界処理としては、特に、２値化の主走査方向の処理が前記特定領域から前記外部領域へ横切る境界に接する前記特定領域内の後方縁部領域または前記外部領域の前方縁部領域に対して行われることが好ましい。
前記境界処理としては、例えば、前記外部領域の前方縁部領域に、２値化の主走査方向の処理が前記外部領域から前記特定領域へ横切る境界に接する前記特定領域内の前方縁部領域における直前の２値化結果を複写する処理とすることができる。
【００１６】
このように、外部領域の前方縁部領域に特定領域内の前方縁部領域の２値化結果を複写することにより、結果として、特定領域内の前方縁部領域の２値化結果が、誤差拡散法における誤差分配処理により特定領域内の後方縁部領域へ反映される。したがって、特定領域内の前方縁部領域と後方縁部領域との２値化処理の連続性が維持され、形成されたディザマトリックスを繰り返し用いて画像を２値化した場合にも疑似的な境界線が発生するのを防止できる。
【００１７】
この場合、更に、前記２値化処理が、前記境界を挟んで連続する前記特定領域内の後方縁部領域および前記外部領域の前方縁部領域からなる領域については、主走査方向を逆転させることが好ましい。このことにより、特定領域内の前方縁部領域の２値化結果が、一層、特定領域内の後方縁部領域へ反映され易くなる。したがって、特定領域内の後方縁部領域と外部領域の前方縁部領域との２値化処理の連続性が一層強く維持され、前記疑似的境界線の発生が一層抑制される。
【００１８】
尚、前記特定領域は、前記誤差拡散法の処理が開始された先頭画素ライン部分の集積結果を含まないことにすると、誤差拡散の初期における誤差拡散あるいは誤差分配の歪みがディザマトリックスへ影響し難くなり、でき上がったディザマトリックスを使用して画像を２値化しても、一層、ドットの偏りや紋様の発生を抑制することができる。更に、この場合、できるだけ前記歪みの影響を無くすためには、前記特定領域としては、前記先頭画素ライン部分から最も離れたラインである、前記誤差拡散法の処理が終了する最終画素ライン部分の集積結果を含むようにすることが好ましい。
【００１９】
また、ある濃度値の均一濃度画素マトリックスの２値化処理を行う場合に、既に２値化された前記均一濃度画素マトリックスの２値化状態に応じて、各画素が２値化処理されることとしても良い。この「既に２値化された均一濃度画素マトリックスの２値化状態に応じてなされる２値化処理」とは、例えば、既に２値化された均一濃度画素マトリックスの内で、２値化処理しようとする均一濃度画素マトリックスに最も近い濃度値の均一濃度画素マトリックスの２値化状態に応じて２値化処理する手法が挙げられる。すなわち、均一濃度画素マトリックスの誤差拡散法による２値化処理がまったく独立に実行されるのではなく、既になされている他の濃度値の均一濃度画素マトリックスにおける２値化状態が反映される。
【００２０】
この反映により、単に各均一濃度画素マトリックス独立に２値化している場合に比較して、各画素位置における集積状態が特定の値に偏ることが無く、各種の値に分散化する。したがって、このような集積状態に基づいて最終的に得られるディザマトリックスは、閾値の値が、所定範囲で適度に分散して分布するものとなる。
【００２１】
更に具体的には、濃度値ｉを全画素の濃度値とする均一濃度画素マトリックスにてなされる誤差拡散法において、濃度値ｉ未満で最も濃度値ｉに近い濃度値について既に２値化されて得られた最近下方２値化画素マトリックスにてオンとなっている画素位置と同じ画素位置は、必ずオンとして誤差拡散処理することにより２値化すれば、前述した効果を得ることができる。この場合、最初に、離散的に設定された複数の濃度値の内の最小値ｍｉｎを全画素の濃度値とする均一濃度画素マトリックスについて、誤差拡散法にて各画素の濃度値をオン／オフのいずれかに２値化し、その後、他の濃度を前記濃度値ｉとして２値化しても良い。
【００２２】
また、濃度値ｉを全画素の濃度値とする均一濃度画素マトリックスにてなされる誤差拡散法において、濃度値ｉを越えていて最も濃度値ｉに近い濃度値について既に２値化されて得られた最近上方２値化画素マトリックスにてオフとなっている画素位置と同じ画素位置は、必ずオフとして誤差拡散処理することにより２値化すれば、前述した効果を得ることができる。この場合、最初に、離散的に設定された複数の濃度値の内の最大値ｍａｘを全画素の濃度値とする均一濃度画素マトリックスについて、誤差拡散法にて各画素の濃度値をオン／オフのいずれかに２値化し、その後、他の濃度値を前記濃度値ｉとして２値化しても良い。
【００２３】
また、濃度値ｉを全画素の濃度値とする均一濃度画素マトリックスにてなされる誤差拡散法において、濃度値ｉ未満で最も濃度値ｉに近い濃度値について既に２値化されて得られた最近下方２値化画素マトリックスにおいてオンおよび濃度値ｉを越えていて最も濃度値ｉに近い濃度値について既に２値化されて得られた最近上方２値化画素マトリックスにおいてもオンとなっている画素位置と同じ画素位置は必ずオンとし、前記最近下方２値化画素マトリックスにおいてオフおよび前記最近上方２値化画素マトリックスにおいてもオフとなっている画素位置と同じ画素位置は必ずオフとして誤差拡散処理することにより２値化しても良く、前述した効果を得ることができる。この場合、最初に、離散的に設定された複数の濃度値の内の最小値ｍｉｎおよび最大値ｍａｘを全画素の濃度値とする２つの均一濃度画素マトリックスについて、誤差拡散法にて各画素の濃度値をオン／オフのいずれかに２値化することが好ましい。
【００２４】
また、前記濃度値ｉは、前記最近下方２値化画素マトリックスと前記最近上方２値化画素マトリックスとの各濃度値の中央の整数値に対応させること、あるいはほぼ中央の整数値に対応させることが、得られたディザマトリックスにて処理されて得られた疑似中間調画像の解像度の向上や紋様の抑制の上で好ましい。
【００２５】
また、前記所定範囲は、画素において表すことができる濃度範囲に等しいこととしても良い。この場合、前記所定範囲は例えば０〜２５５の範囲が挙げられる。これは、特に２値化処理対象の画像を構成するデータが８ビットの濃淡階調で表現されている場合に好ましい。
【００２６】
また、前述した効果を一層向上させるためには、前記所定範囲に離散的に設定された複数の濃度値が、その最小値ｍｉｎから最大値ｍａｘまで１づつ変化させて設定したｍａｘ−ｍｉｎ＋１個の値であることが好ましい。
前記同一位置の画素毎の集積結果としては、例えば、同一位置の画素における２値化された濃度値の内の一方の値の個数であって、この個数に応じてディザマトリックスの各画素の閾値を設定することができる。例えば、２値が「１」（オン）と「０」（オフ）とで表されているとすると、２値化した複数の均一濃度画素マトリックスの同一位置に存在する「１」（オン）をカウントし、そのカウント値を、そのまま、あるいは係数をかけてディザマトリックスの同一位置における閾値として設定しても良い。またカウント値からテーブルに基づいて閾値を設定しても良い。「１」（オン）の代りに「０」（オフ）をカウントしても良い。
【００２７】
また、閾値の設定は、上述の方法以外に、離散的に設定された複数の濃度値の内の最小値ｍｉｎの均一濃度画素マトリックスから最大値ｍａｘの均一濃度画素マトリックスまで見た場合に、２値化された均一濃度画素マトリックスに最初に「１」（オン）となって現れる画素位置に対して、最初に「１」（オン）となった均一濃度画素マトリックスの濃度値に応じて閾値が設定されることとしても良い。例えば、各画素位置を濃度値の小さい方から順次チェックして、「１」（オン）が最初に現れた均一濃度画素マトリックスの濃度値をそのまま閾値として設定しても良い。またこの濃度値に所定の係数をかけて閾値として設定しても良い。
【００２８】
また、閾値の設定は、離散的に設定された複数の濃度値の内の最大値ｍａｘの均一濃度画素マトリックスから最小値ｍｉｎの均一濃度画素マトリックスまで見た場合に、２値化された均一濃度画素マトリックスに最初に「０」（オフ）となって現れる画素位置に対して、最初に「０」（オフ）となった均一濃度画素マトリックスの濃度値に応じて閾値が設定されることとしても良い。例えば、各画素位置を濃度値の大きい方から順次チェックして、「０」（オフ）が最初に現れた均一濃度画素マトリックスの濃度値をそのまま閾値として設定しても良い。またこの濃度値に所定の係数をかけて閾値として設定しても良い。
【００２９】
【発明の実施の形態】
［実施の形態１］
図１は、ディザマトリックス作成装置２の主要ブロック図である。
このディザマトリックス作成装置２の主体を成すマイクロコンピュータ部１１はＣＰＵ１２、ＲＯＭからなるプログラムメモリ１３、ＲＡＭからなるワーキングメモリ１４、ＲＡＭからなるディザマトリックス格納メモリ１６およびＲＡＭからなる出力イメージメモリ１７により構成されている。また、マイクロコンピュータ部１１にはシステムバス１８を介して入力部１０および出力部１９が接続されている。
【００３０】
入力部１０は、キーボードや外部の記憶装置から入力するためのインターフェースを備え、ディザマトリックス作成に必要なデータや指示の入力を行うものである。また、入力部１０は、作成されたディザマトリックスの効果を確認するために、各画素が８ビットで表される階調を有する画像データを入力する。
【００３１】
ＣＰＵ１２は、後述するごとくディザマトリックスの作成を実行するものであり、プログラムメモリ１３は、このＣＰＵ１２で行う様々な制御を実施するためのプログラムを記憶している。また、ワーキングメモリ１４は、ＣＰＵ１２がプログラムメモリ１３に記憶されたプログラムを実行するときに必要なデータを一時的に記憶するものである。
【００３２】
ディザマトリックス格納メモリ１６は、ＣＰＵ１２の処理によって形成されたディザマトリックスデータを記憶する。
出力イメージメモリ１７は、ＣＰＵ１２が、ディザマトリックス格納メモリ１６に格納されているディザマトリックスを用いて、８ビットで表される階調を有する画像データを２値化した、その２値化された出力イメージデータを記憶する。
【００３３】
出力部１９は、出力イメージメモリ１７に格納した２値化画像データを電子写真方式によりドットの有無で印字する装置である。
次に、ディザマトリックス作成装置２により実行されるディザマトリックス作成処理について説明する。ディザマトリックス作成処理のフローチャートを図２に示す。
【００３４】
まず、濃度値ｉに「０」を設定する（Ｓ１００）。次に、全画素が濃度値ｉ＝０の均一濃度画素マトリックスを２値化処理する（Ｓ１１０）。この均一濃度画素マトリックスは、図４に示すごとく、ｉ＝０〜２５５の２５６種類の均一濃度画素マトリックスＤ０〜Ｄ２５５をワーキングメモリ１４に読み込んで用いれば良い。
【００３５】
このように２５６種類の均一濃度画素マトリックスを揃える以外に、各均一濃度画素マトリックスにおいて全画素が同じ濃度値ｉであるので、各画素の濃度値を誤差拡散法における計算に用いる場合に、すべて濃度値ｉとして扱えば良いことから、ｉ＝０〜２５５までの２５６個の値のみ記憶しておいても良い。また、濃度値ｉの下限値「０」、上限値「２５５」、および下限値と上限値との間に離散的に存在する濃度値ｉの値を決定するためのステップ値Ｓｐ（処理される濃度値ｉの間隔を示す値、ここではＳｐ＝１である）のみでも良い。
【００３６】
ステップＳ１１０の２値化処理の詳細を図３のフローチャートに示す。
まず、濃度値ｉ＝０の均一濃度画素マトリックスにおける注目画素の濃度値（濃度値ｉに等しい）を読み込む（Ｓ１１２）。最初の注目画素の画素位置は原点位置（０，０）である。以後、ステップＳ１１２に処理が戻る毎に、ｘ方向を主走査方向、ｙ方向を副走査方向として注目画素の位置が指定されて２値化処理が進行する。
【００３７】
次に、その画素位置が所定領域内か否かが判定される（Ｓ１１４）。本実施の形態１では、この所定領域とは、図５に示した各均一濃度画素マトリックスＤ０〜Ｄ２５５の一部に設定されている特定領域Ａの主走査方向の直後に存在する領域であり、図６の拡大図に示すごとく、特定領域Ａ以外の均一濃度画素マトリックスＤ０〜Ｄ２５５の領域を外部領域Ｂとすると、特定領域Ａと外部領域Ｂとの境界の内、２値化の主走査方向の処理が特定領域Ａから外部領域Ｂへ横切る境界ＣＲに接する外部領域Ｂの前方縁部領域ＢＦを意味する。
【００３８】
注目画素が、この所定領域（前方縁部領域ＢＦ）内でなければ（Ｓ１１４で「ＮＯ」）、次に通常の誤差拡散法により注目画素の２値化がなされるとともに、２値化誤差が計算される。
すなわち、まず、次式１のごとく、濃度値ｉが周辺画素の２値化誤差和Ｅにて補正されて補正濃度値Ｉが計算される。
【００３９】
【数１】
0003709598.tif 000002
【００４０】
２値化誤差和Ｅは、次式２のごとく、係数マトリックスαと周辺画素の２値化誤差ｅとに基づいて計算される。
【００４１】
【数２】
0003709598.tif 000003
【００４２】
係数マトリックスαは、本実施の形態１では、次のようなマトリックスが用いられている。αabは係数マトリックスαの位置（ａ，ｂ）の係数を表している。またｅabは係数マトリックスαの位置（ａ，ｂ）の係数に対応する位置の周辺画素の２値化誤差を表している。
【００４３】
【数３】
0003709598.tif 000004
【００４４】
ここで、＊は注目画素の位置を表している。
このようにして求められた補正濃度値Ｉは閾値ｔ（本実施の形態１では例えばｔ＝１２８）と比較されて、Ｉ＞ｔならば、注目画素をオン（「１」）に２値化し、Ｉ≦ｔならば、注目画素をオフ（「０」）に２値化する。
【００４５】
次いで注目画素にオンに２値化した場合、次式の計算により、注目画素の２値化誤差ｅが求められる。
【００４６】
【数４】
0003709598.tif 000005
【００４７】
また、注目画素をオフに２値化した場合には、次式のごとく、注目画素の２値化誤差ｅにＩが設定される。
【００４８】
【数５】
0003709598.tif 000006
【００４９】
このようにして、通常の誤差拡散法による２値化処理（Ｓ１１６）を終了し、次に、現在の注目画素が特定領域Ａに含まれているか否かが判定される（Ｓ１１８）。特定領域Ａとは、図５に示したごとく、集積結果マトリックスＭ１を形成するために、２値化値のカウント処理を行う領域であり、本実施の形態１では全ての均一濃度画素マトリックスＤ０〜Ｄ２５５において同一の位置に存在する。
【００５０】
この特定領域Ａは、誤差拡散処理における先頭画素ラインＬ０部分は含まず、最終画素ラインＬｘ部分を含んでいる。これは、先頭画素ラインＬ０部分では、その前のラインが存在しないため２値化誤差の拡散において、後方のラインと比較して２値化誤差の分配に歪みを生じており、ドットの集中や特定のパターンが生じ易いからであり、この２値化誤差拡散の歪みの影響は先頭画素ラインＬ０から後方に離れるに従って少なくなり、最終画素ラインＬｘ部分では最も影響が少ないからである。
【００５１】
現在の注目画素が特定領域Ａに含まれていると判定されると（Ｓ１１８で「ＹＥＳ」）、注目画素の２値化値がワーキングメモリ１４に保存される（Ｓ１２０）。現在の注目画素が特定領域Ａに含まれていないと判定されると（Ｓ１１８で「ＮＯ」）、注目画素の２値化値は保存されない。
【００５２】
次に濃度値ｉにおいて未処理の画素が有るか否かが判定されて（Ｓ１２２）、未処理画素が有れば（Ｓ１２２で「ＹＥＳ」）、再度ステップＳ１１２に戻り、未処理画素を注目画素として上述の処理を行う。
注目画素が所定領域（前方縁部領域ＢＦ）内であると判定されると（Ｓ１１４で「ＹＥＳ」）、次のような２値化処理が行われる（Ｓ１２４）。
【００５３】
すなわち、今回の注目画素について、前記式１，２，３，４の演算は行うが、２値化のための補正濃度値Ｉと閾値ｔとの比較は実行されず、主走査方向へｍ画素戻った位置の画素に対する２値化の結果を、そのまま、今回の注目画素の２値化結果として採用する。この２値化結果がオンであれば式３の演算が行われ、オフであれば式４の演算が行われる。すなわち、閾値ｔとの比較は行わずに、ｍ画素前の２値化結果に応じた誤差拡散法を実行する。
【００５４】
前記値ｍは、特定領域Ａの主走査方向での長さである。したがって、前方縁部領域ＢＦ内の画素については、特定領域Ａの内で主走査方向の２値化処理が外部領域Ｂから特定領域Ａへと横切る境界ＣＦに接する前方縁部領域ＡＦにおける２値化結果がそのまま採用されることになる。すなわち、図６において特定領域Ａの右側の境界ＣＲの外側に接する３つの画素列Ｑ1 ，Ｑ2 ，Ｑ3 からなる前方縁部領域ＢＦは、特定領域Ａの左側の境界ＣＦの内側に接する３つの画素列Ｐ1 ，Ｐ2 ，Ｐ3 からなる前方縁部領域ＡＦとまったく同じ２値化状態となる。例えば、画素ｂ1 の２値化は、画素ａ1 の２値化結果がそのまま用いられる。
【００５５】
このようにして、各画素の２値化がなされ、濃度値ｉの均一濃度画素マトリックスの全ての画素について２値化が終了すれば（Ｓ１２２で「ＮＯ」）、図２に示すごとく、濃度値ｉ＝２５５か否かを判定する（Ｓ１３０）。最初は濃度値ｉ＝０であるので（Ｓ１３０で「ＮＯ」）、次に濃度値ｉがインクリメントされる（Ｓ１４０）。したがって、次に全画素が濃度値ｉ＝１の均一濃度画素マトリックスに対して前述した２値化処理を実行する（Ｓ１１０）。
【００５６】
以後、順次、濃度値ｉをインクリメントしつつ（Ｓ１４０）、該当する濃度値ｉの均一濃度画素マトリックスを前述したように２値化する（Ｓ１１０）処理を繰り返す。
濃度値ｉ＝２５５の均一濃度画素マトリックスの２値化処理（Ｓ１１０）が終了すると図７に示すごとく、ワーキングメモリ１４内には、濃度値ｉ＝０〜２５５の２５６個の２値化画素マトリックスＦ０〜Ｆ２５５が形成されている。
【００５７】
次に濃度値ｉ＝２５５であるので（Ｓ１３０で「ＹＥＳ」）、全ての２値化画素マトリックスについて、同一位置の画素の内、オンに２値化されている数をカウントし、このカウント値を要素とする集積結果マトリックスＭ１を形成する（Ｓ１５０）。
【００５８】
すなわち、図７に示すごとく、左上隅を原点（０，０）として横方向をｘ軸、縦方向をｙ軸とすると、まず、全ての２値化画素マトリックスＦ０〜Ｆ２５５の（０，０）について、オンとなった画素をカウントする。そのカウント結果を、図８に示すごとくワーキングメモリ１４内に用意された集積結果マトリックスＭ１の同一位置（０，０）に格納する。このカウント処理を各画素位置について行い、集積結果マトリックスＭ１をすべて埋める。このカウント処理は、各画素がオンの場合は「１」に、オフの場合は「０」に２値化されているので、同一位置の画素における数値を合計して求めても良い。
【００５９】
次に、集積結果マトリックスＭ１のカウント値の低い画素位置から、順にディザマトリックス用の閾値を設定し（Ｓ１６０）、その閾値からなるマトリックスをディザマトリックスとして、ディザマトリックス格納メモリ１６に保存する（Ｓ１７０）。
【００６０】
この閾値の設定の方法としては、カウント値そのものを閾値として設定しても良い。この場合はステップＳ１５０のカウント処理がディザマトリックスの閾値設定の処理に該当するので、ステップＳ１６０では特に処理は行わない。そして、集積結果マトリックスＭ１そのものをディザマトリックスとして、ディザマトリックス格納メモリ１６に保存する（Ｓ１７０）。
【００６１】
ステップＳ１６０にては、単に集積結果マトリックスＭ１の各カウント値自体をそのまま閾値とする代りに、予め用意されたカウント値と閾値とのテーブルに応じて、集積結果マトリックスＭ１の各カウント値を閾値に変換しても良い。
また、ステップＳ１６０にては、カウント値の低い順番から、閾値を「０，１，２，…」と設定して行っても良いし、逆にカウント値の高い順番から、閾値を「２５５，２５４，２５３，…」と設定して行っても良い。この場合、同一のカウント値が２つ以上存在する場合は、それらはすべて同一の閾値が与えられるものとしても良いし、同一のカウント値を順番付けして、異なるカウント値と同様に閾値を設定しても良い。
【００６２】
このようにして形成されたディザマトリックスを用いて、中間調のカラー画像を２値化処理し、カラープリンタにて記録したところ、人間の目に対してノイジーとならず、かつ解像度が悪化せず、紋様の発生が抑制された疑似中間調の２値化画像を生成することができた。勿論、ディザ法であり、誤差拡散法のように多数の計算は行わないので、迅速に処理できた。
【００６３】
更に、本実施の形態１では、均一濃度画素マトリックスから、先頭画素ラインＬ０を含まず、かつ最終画素ラインＬｘを含む特定領域Ａの２値化画素マトリックスＦ０〜Ｆ２５５を求め、この２値化画素マトリックスＦ０〜Ｆ２５５から、均一濃度画素マトリックスより小さい集積結果マトリックスＭ１を求めて、この集積結果マトリックスＭ１に基づいてディザマトリックスを形成している。このため、先頭画素ラインＬ０部分で生じている誤差分配の歪みの影響が及びにくく、一層、紋様の発生が抑制された疑似中間調の２値化画像を生成することができた。
【００６４】
更に、前述のごとく、前方縁部領域ＢＦ内の画素については、特定領域Ａの前方縁部領域ＡＦの２値化結果がそのまま採用されている。したがって、誤差分配は前記係数マトリックスαの形状に応じた位置の周辺画素から注目画素に２値化誤差が分配されるが、境界ＣＲの左側に接している特定領域Ａの後方縁部領域ＡＲについても直接あるいは間接に前方縁部領域ＢＦ内の画素からの２値化誤差分配が影響する。この前方縁部領域ＢＦは、特定領域Ａの前方縁部領域ＡＦの２値化結果と同じとなっているので、特定領域Ａの前方縁部領域ＡＦと特定領域Ａの後方縁部領域ＡＲとの処理の連続性が維持される。そのため、以下の処理にて作成されたディザマトリックスを用いて、中間調画像を２値化しても、ディザマトリックスで処理された領域間に色むらや明暗むらを生じるのを抑制でき、疑似的境界の発生を抑制できる。
【００６５】
尚、ステップＳ１２２での未処理画素の判定は、特定領域Ａ内に未処理画素が有るか否かの判定でも良い。
［実施の形態２］
本実施の形態２は、前記実施の形態１に対して、ステップＳ１１０の２値化処理が図９，図１０に示すごとくである点と、ステップＳ１１６０，Ｓ２０４０，Ｓ２０５０にて行われる誤差拡散法として、注目画素を２値化した場合に２値化の誤差を未だ２値化していない周辺の画素の濃度に分配する方法による点とが異なる。
【００６６】
尚、図９においては、ステップＳ１１２０，Ｓ１１８０，Ｓ１２００，Ｓ１２２０の処理は、実施の形態１の図３にしめすステップＳ１１２，Ｓ１１８，Ｓ１２０，Ｓ１２２の処理と同じである。以下、特に実施の形態１と異なる点を中心に説明する。
【００６７】
まず、ステップＳ１１２０の次に、逆転領域ＲＶか否かを判定し（Ｓ１１２２）、逆転領域ＲＶであれば（Ｓ１１２２で「ＹＥＳ」）、逆方向２値化処理（Ｓ２０００）が行われる。
前記逆転領域ＲＶは、図１１に示すごとく、特定領域Ａの後方縁部領域ＡＲ直前の画素列Ｐm-3 と、特定領域Ａの後方縁部領域ＡＲの全部（画素列Ｐm-2 ，Ｐm-1 ，Ｐm ）と、外部領域Ｂの前方縁部領域ＢＦの全部（画素列Ｑ1 ，Ｑ2 ，Ｑ3 ）とからなる領域である。
【００６８】
したがって、主走査方向に行われる２値化処理が画素列Ｐm-3 に達しない内は（Ｓ１１２２で「ＮＯ」）、ステップＳ１１６０〜Ｓ１２２０の処理が実行され、通常の誤差拡散法により注目画素の２値化がなされるとともに、２値化誤差が計算されて未だ２値化されていない周辺画素に分配される。
【００６９】
すなわち、次式５のごとく、既に２値化された周辺画素から注目画素へ分配されている２値化誤差和Ｅにて濃度値ｉが補正されて補正濃度値Ｉが計算される。
【００７０】
【数６】
0003709598.tif 000007
【００７１】
このようにして求められた補正濃度値Ｉは閾値ｔ（本実施の形態２では例えばｔ＝１２８）と比較されて、Ｉ＞ｔならば、注目画素をオン（「１」）に２値化し、Ｉ≦ｔならば、注目画素をオフ（「０」）に２値化する。
次いで注目画素にオンに２値化した場合、次式６の計算により、注目画素の２値化誤差ｅが求められる。
【００７２】
【数７】
0003709598.tif 000008
【００７３】
また、注目画素をオフに２値化した場合には、次式７のごとく、注目画素の２値化誤差ｅにＩが設定される。
【００７４】
【数８】
0003709598.tif 000009
【００７５】
次に、２値化誤差ｅが未２値化の周辺画素に、下に示す係数マトリックスβに基づいて分配される。
【００７６】
【数９】
0003709598.tif 000010
【００７７】
ここで、＊は注目画素の位置を表し、数値は、数値に対応する位置の注目画素に対して、数値を係数としてかけた２値化誤差ｅを分配することを表している。次のステップＳ１１８０〜ステップＳ１２２０の処理は実施の形態１のステップＳ１１８〜Ｓ１２２と同じである。
【００７８】
主走査方向に行われる２値化処理が画素列Ｐm-3 に達した場合、すなわち逆転領域ＲＶに入った場合は（Ｓ１１２２で「ＹＥＳ」）、ステップＳ２０００の処理が実行される。
図１０のフローチャートに示すごとく、まず、２値化処理対象画素が設定される（Ｓ２０１０）。この設定について、図１１に示す「…，ａ，ｂ，ｃ，ｄ，ｅ，…，Ｒ，Ｓ，Ｔ，Ｕ，Ｖ，Ｗ，Ｘ，Ｙ，Ｚ，…」からなる画素行を用いて説明すると、ステップＳ１２２０からステップＳ１１２０に戻るループにて、注目画素として画素Ｓが設定されると、その設定とは別に実際の２値化処理対象の画素として画素Ｙが設定される処理が行われる。次に注目画素として画素Ｔが設定されると２値化処理対象画素としては画素Ｘが設定され、注目画素として画素Ｕが設定されると２値化処理対象画素としては画素Ｗが設定され、注目画素として画素Ｖが設定されると２値化処理対象画素としては画素Ｖが設定され、注目画素として画素Ｗが設定されると２値化処理対象画素としては画素Ｕが設定され、注目画素として画素Ｘが設定されると２値化処理対象画素としては画素Ｔが設定され、注目画素として画素Ｙが設定されると２値化処理対象画素としては画素Ｓが設定される。すなわち、逆転領域ＲＶでは、他の領域とは逆方向に２値化処理が進むことになる。
【００７９】
次に、２値化処理対象画素の濃度値と２値化誤差和Ｅとが新たに読み込まれる（Ｓ２０１５）。そして、次に、誤差拡散法による２値化処理のために、２値化処理対象画素位置に応じた係数マトリックスが指定される（Ｓ２０２０）。前述した逆転領域ＲＶ以外で使用する係数マトリックスβを用いないのは、主走査方向が逆転するため、２値化処理対象画素に対する未２値化周辺画素の配置が異なるからである。
【００８０】
逆転領域ＲＶ内の７つの画素列Ｐm-3 ，Ｐm-2 ，Ｐm-1 ，Ｐm ，Ｑ1 ，Ｑ2 ，Ｑ3 に対して、係数マトリックスが、それぞれ、未２値化周辺画素の配置に適合させた係数マトリックスβ1 ，β2 ，β3 ，β4 ，β5 から選択されて適用される。各係数マトリックスβ1 ，β2 ，β3 ，β4 ，β5 の一例を下に示す。
【００８１】
【数１０】
0003709598.tif 000011
【００８２】
【数１１】
0003709598.tif 000012
【００８３】
【数１２】
0003709598.tif 000013
【００８４】
【数１３】
0003709598.tif 000014
【００８５】
【数１４】
0003709598.tif 000015
【００８６】
逆転領域ＲＶ内の画素列Ｐm-3 には係数マトリックスβ5 が適用され、画素列Ｐm-2 には係数マトリックスβ4 が適用され、画素列Ｐm-1 ，Ｐm ，Ｑ1 には係数マトリックスβ3 が適用され、画素列Ｑ2 には係数マトリックスβ2 が適用され、画素列Ｑ3 には係数マトリックスβ1 が適用される。
【００８７】
次に、ステップＳ２０３０の判定にて、ステップＳ２０４０あるいはステップＳ２０５０が実行される。ステップＳ２０４０の処理は、係数マトリックスとしてステップＳ２０２０にて指定された係数マトリックスを用いる以外は、前述したステップＳ１１６０の処理と同じである。
【００８８】
すなわち、今回の注目画素について、前記式５，６，７の演算および２値化誤差ｅの分配は行うが、２値化のための補正濃度値Ｉと閾値ｔとの比較は実行されず、主走査方向へｍ画素戻った位置の画素に対する２値化の結果を、そのまま、今回の注目画素の２値化結果として採用する。この２値化結果がオンであれば式６の演算が行われ、オフであれば式７の演算が行われる。すなわち、閾値ｔとの比較は行わずに、ｍ画素前の２値化結果に応じて２値化誤差を算出して、周辺画素に係数マトリックスβに基づいて分配する。
【００８９】
前記値ｍは、特定領域Ａの主走査方向での長さである。したがって、前方縁部領域ＢＦ内の画素については、特定領域Ａの内で主走査方向の２値化処理が外部領域Ｂから特定領域Ａへと横切る境界ＣＦに接する前方縁部領域ＡＦにおける２値化結果がそのまま採用されることになる。すなわち、図６において特定領域Ａの右側の境界ＣＲの外側に接する３つの画素列Ｑ1 ，Ｑ2 ，Ｑ3 からなる前方縁部領域ＢＦは、特定領域Ａの左側の境界ＣＦの内側に接する３つの画素列Ｐ1 ，Ｐ2 ，Ｐ3 からなる前方縁部領域ＡＦとまったく同じ２値化状態となる。例えば、画素Ｗの２値化は、画素ａの２値化結果がそのまま用いられる。
【００９０】
すなわち、画素Ｒの２値化処理を行った後、次に画素Ｙの２値化を行うが、画素Ｙは所定領域（前方縁部領域ＢＦ）内であるので（Ｓ２０３０で「ＹＥＳ」）、２値化自体は既に２値化結果が得られている画素ｃと同じ値を設定し、２値化誤差の分配は、係数マトリックスβ1 にて行う。次に画素Ｘの２値化となり、ここでも２値化自体は既に２値化結果が得られている画素ｂと同じ値を設定し、２値化誤差の分配は、係数マトリックスβ2 にて行う。次に画素Ｗの２値化となり、ここでも２値化自体は既に２値化結果が得られている画素ａと同じ値を設定し、２値化誤差の分配は、係数マトリックスβ3 にて行う。
次に画素Ｖの２値化となるが、画素Ｖは所定領域（前方縁部領域ＢＦ）内ではないので（Ｓ２０３０で「ＮＯ」）、閾値ｔとの比較により２値化し、２値化誤差の分配は、係数マトリックスβ3 にて行う。次の画素Ｕの処理も画素Ｖの場合と同じである。次に画素Ｔの２値化となり、ここでも閾値ｔとの比較により２値化し、２値化誤差の分配は、係数マトリックスβ4 にて行う。次に画素Ｓの２値化となり、ここでも閾値ｔとの比較により２値化し、２値化誤差の分配は、係数マトリックスβ5 にて行う。
【００９１】
そして、次に注目画素は逆転領域ＲＶ内から出て画素Ｚとなるので（Ｓ１１２２で「ＮＯ」）、画素Ｚ自身の２値化処理となり、ステップＳ１１６０の処理に任される。
本実施の形態２は上述のごとく構成されているため、実施の形態１と同じ効果を生じると共に、更に、境界ＣＲを挟んだ逆転領域ＲＶにて２値化の主走査方向を逆転させているため、前記実施の形態１に比較して、境界ＣＲの右側に接している前方縁部領域ＢＦ内の画素から境界ＣＲの左側に接している特定領域Ａの後方縁部領域ＡＲに対する２値化誤差分配の影響を十分に大きくすることができる。すなわち、前方縁部領域ＡＦから後方縁部領域ＡＲへの２値化誤差分配が十分に効果的なものとなる。このため、誤差拡散法による２値化処理において、特定領域Ａの前方縁部領域ＡＦと特定領域Ａの後方縁部領域ＡＲとの処理の連続性が十分に維持されるので、本実施の形態２の処理にて作成されたディザマトリックスを用いて、中間調画像を２値化しても、ディザマトリックスによる処理領域間での疑似的境界の発生を十分に抑えることができる。
【００９２】
［実施の形態３］
本実施の形態３は、実施の形態１，２と異なる点はディザマトリックス作成処理であり、均一濃度画素マトリックスの各画素の２値化処理が以下のように行われる点である。すなわち、２値化処理しようとする均一濃度画素マトリックスの濃度値ｉ未満で最も濃度値ｉに近い濃度値の均一濃度画素マトリックスを２値化処理した最近下方２値化画素マトリックスＬにおいてオンおよび濃度値ｉを越えていて最も濃度値ｉに近い濃度値の均一濃度画素マトリックスを２値化処理した最近上方２値化画素マトリックスＨにおいてもオンとなっている画素位置と同じ画素位置は必ずオンとし、最近下方２値化画素マトリックスにおいてオフおよび最近上方２値化画素マトリックスにおいてもオフとなっている画素位置と同じ画素位置は必ずオフとされる条件下に誤差拡散処理される。更に各均一濃度画素マトリックスの２値化処理順序が、処理対象の均一濃度画素マトリックスの濃度値ｉが、最近下方２値化画素マトリックスと最近上方２値化画素マトリックスとの各濃度値の中央の整数値に対応するようにして、順次処理されている点も異なる。
【００９３】
本実施の形態３のディザマトリックス作成処理を図１２，１３，１４に示す。
まず、全画素が濃度値ｉ＝０である均一濃度画素マトリックスと、全画素が濃度値ｉ＝２５５である均一濃度画素マトリックスとを誤差拡散法により２値化する（Ｓ３０８０）。この均一濃度画素マトリックスは、図４に示すごとく、ｉ＝０，２５５の２種類の均一濃度画素マトリックスＤ０，Ｄ２５５をワーキングメモリ１４に読み込んで用いれば良い。そして、その２値化画素マトリックスＦ０，Ｆ２５５（図７）をワーキングメモリ１４に保存する（Ｓ３０９０）。ただし、ステップＳ３０８０にて行われる濃度値ｉ＝０，２５５の均一濃度画素マトリックスの誤差拡散法による２値化結果は、ｉ＝０の場合は全画素「０」（オフ）、ｉ＝２５５の場合は全画素「１」（オン）となるので、特に誤差拡散法による計算はせずに、予め全画素がオフの２値化画素マトリックスと全画素がオンの２値化画素マトリックスとを備えておいて、これらのマトリックスを用いても良い。
【００９４】
次に１〜２５４の濃度値について濃度値配列の作成を行い（Ｓ３１００）、次にその配列から一つづつ濃度値ｉに読み込んで（Ｓ３１０５）、ステップＳ３１１０の処理を行い、配列の全ての濃度値について処理が終了すれば、ステップＳ３１３０で配列終了と判定されて、ステップＳ３１５０，Ｓ３１６０，Ｓ３１７０の処理が行われる。このステップＳ３１５０，Ｓ３１６０，Ｓ３１７０の処理は実施の形態１のステップＳ１５０，Ｓ１６０，Ｓ１７０と同じである。
【００９５】
ステップＳ３１００における濃度値の配列は、２値化処理された濃度値の中央の濃度値がｉに設定されるように作成される。すなわち、配列の先頭は「０」と「２５５」の中央の整数値である「１２８」（もう一つの中央の整数値の「１２７」でも良い。）、次が、「０」と「１２８」との中央の「６４」、「１２８」と「２５５」との中央の「１９２」（もう一つの中央の整数値の「１９１」でも良い。）、次が「０」と「６４」との中央の「３２」、「６４」と「１２８」との中央の「９６」、「１２８」と「１９２」との中央の「１６０」、「１９２」と「２５５」との中央の「２２４」（もう一つの中央の整数値の「２２３」でも良い。）と言うように、前に得られている値の中央の整数値を求めて、「１」〜「２５４」までの濃度値の配列「１２８，６４，１９２，３２，９６，１６０，２２４，……」を作成する。この配列は予め計算して配列データとして記憶しておき、本処理時に配列データのみ読み込んで用いても良い。
【００９６】
ステップＳ３１０５においては、この配列の先頭から順次、濃度値ｉに設定し、ステップＳ３１１０の２値化処理を行い、配列の最後までステップＳ３１１０の処理が終了すれば、ステップＳ３１３０にて「ＹＥＳ」と判定されて、閾値の設定処理に移る（Ｓ３１５０，Ｓ３１６０，Ｓ３１７０）。
【００９７】
次にステップＳ３１１０の２値化処理について説明する。本処理は、前記実施の形態１の２値化処理とは、ステップＳ１１６の処理が図１３のごとくの処理に代りのみで、後の処理は図３にて説明した内容と同じである。
すなわち、ステップＳ１１４にて所定領域内でないと判定された場合には、ステップＳ４２００の処理が行われ、２値化済みの濃度値、すなわち既に２値化画素マトリックスが求められている濃度値の内で、最近上方２値化画素マトリックスＨと、最近下方２値化画素マトリックスＬとをワーキングメモリ１４の内容から検索する（Ｓ４２００）。
【００９８】
次に、濃度値ｉの均一濃度画素マトリックスについて、誤差拡散法により２値化し、２値化画素マトリックスＦｉを作成する（Ｓ４２１０）。
ただし、次の条件▲１▼，▲２▼の下に２値化される。
▲１▼最近上方２値化画素マトリックスＨと最近下方２値化画素マトリックスＬとの両者にて共に「１」オンが配置されている画素位置は、必ず「１」オンとする。
【００９９】
▲２▼最近上方２値化画素マトリックスＨと最近下方２値化画素マトリックスＬとの両者にて共に「０」オフが配置されている画素位置は、必ず「０」オフとする。
すなわち、通常、誤差拡散法においては、周辺の画素から分配された誤差と注目画素の濃度とを合計した値を、閾値と比較して、閾値以上であれば「１」オン、閾値未満であれば「０」オフに２値化しているが、前記▲１▼または▲２▼の条件に該当する画素の場合には、その画素については閾値との比較をせずに、前記▲１▼または▲２▼の条件通りに、「１」オンまたは「０」オフに設定する。勿論、この閾値と比較しない設定の結果は２値化誤差に反映され、周辺画素への分配の対象となる。
【０１００】
前記条件▲１▼▲２▼により、図１４（ａ）に示すごとく、各画素位置において、濃度値の小さい方から見ると、一旦、オンとなると、以後の濃度値ｉおいては必ずオンとなる。
前記▲１▼▲２▼の条件を用いない通常の２値化を行うと、図１４（ｂ）に示すごとく、オンとなった後も同じ画素位置でオフが出現する。このため、通常の２値化のみでは各画素位置におけるオンの数が、０〜２５５内の特定の値に偏る傾向が有るが、本実施の形態３では、０〜２５５の範囲の各種の値に分散して好適な分布となる。したがって、このようにして得られるディザマトリックスは、閾値の値も０〜２５５の範囲に適度に分散して分布するものとなる。したがって、特に、図１４（ｂ）に示したごとく、各均一濃度画素マトリックス独立に２値化している場合に得られるディザマトリックスに比較して、解像度の向上や紋様の抑制を一層改良させたディザマトリックスを得ることができる。
【０１０１】
更に、本実施の形態３では、既に２値化処理された濃度値の中央の濃度ｉを順次２値化して行くために、最近上方２値化画素マトリックスと最近下方２値化画素マトリックスとのそれぞれの２値分散の影響を同程度受けることになり、中央の濃度ｉの２値化画素マトリックスの２値の分散は比較的均一な分布となる。このようにして求めた、均一な分布と条件▲１▼▲２▼とを満たす２値化画素マトリックスに基づいてディザマトリックスは作成されるので、解像度の向上や紋様の抑制上の効果が更に増大する。
【０１０２】
本実施の形態３では、予め、順次、濃度値ｉに中央の値が得られるように配列を作成していたが、配列を予め作成する代りにステップＳ３１０５の処理にて、中央の値を計算にて順次求めて、濃度値ｉに設定しても良い。
中央の値を計算にて求める一例を図１５に示す。この処理は、図１２におけるステップＳ３１００〜Ｓ３１３０の代りに実行される。本処理において、最初は８つの変数Ｉ0 〜Ｉ7 を「０」で初期化し（Ｓ５０１０〜Ｓ５０８０）、次にＩ0 〜Ｉ7 までを合計して、濃度値ｉに設定する（Ｓ５０９０）。この濃度値ｉが「０」であれば、Ｉ7 を「１２８」増加させ（Ｓ５１２０）、次にＩ7 ＞１２８ではないので（Ｓ５１３０で「ＮＯ」）、ステップＳ５０９０の合計処理で濃度値ｉに「１２８」が設定され、ｉ＝０でなく（Ｓ５１００で「ＮＯ」）、ｉ＝２５５でもないので（Ｓ５１１０で「ＮＯ」）、ステップＳ３１１０の処理（図１２の処理と同じ）がなされる。
【０１０３】
次にステップＳ５１２０の処理にてＩ7 ＝２５６となり、ステップＳ５１３０にて「ＹＥＳ」と判定されて、Ｉ6 が「６４」増加され（Ｓ５１４０）、Ｉ6 ＝６４となり、Ｉ6 ＞６４ではないので（Ｓ５１５０で「ＮＯ」）、ステップＳ５０８０にてＩ7 ＝０に初期化され、ステップＳ５０９０ではｉ＝６４となる。したがって、ステップＳ５１００，Ｓ５１１０からステップＳ３１１０に移って、濃度値ｉ＝６４の均一濃度画素マトリックスについて２値化処理がなされる。
【０１０４】
次に、ステップＳ５１２０にてＩ7 ＝１２８となり、ステップＳ５１３０にて「ＮＯ」と判定されて、ステップＳ５０９０では、Ｉ0 〜Ｉ5 ＝０、Ｉ6 ＝６４、Ｉ7 ＝１２８であることから、ｉ＝１９２となり、ステップＳ５１００，Ｓ５１１０の後、濃度値ｉ＝１９２の均一濃度画素マトリックスについて２値化がなされる。
【０１０５】
次にＩ0 〜Ｉ5 ＝０、Ｉ6 ＝６４、Ｉ7 ＝１２８であることから、ステップＳ５１２０からステップＳ５１６０まで進み、ステップＳ５１６０でＩ5 ＝３２となる。Ｉ5 ＞３２ではないので（Ｓ５１７０で「ＮＯ」）、ステップＳ５０７０，Ｓ５０８０が処理されて、Ｉ0 〜Ｉ4 ＝０、Ｉ5 ＝３２、Ｉ6 ＝０、Ｉ7 ＝０となる。したがって、ステップＳ５０９０ではｉ＝３２となり、ステップＳ３１１０では濃度値ｉ＝３２の均一濃度画素マトリックスが２値化される。
【０１０６】
次にＩ7 ＝０となったので、ステップＳ５１２０，Ｓ５１３０を経て、ステップＳ５０９０に戻る。このとき、Ｉ0 〜Ｉ4 ＝０、Ｉ5 ＝３２、Ｉ6 ＝０、Ｉ7 ＝１２８となる。したがって、ステップＳ５０９０ではｉ＝１６０となり、ステップＳ３１１０では濃度値ｉ＝１６０の均一濃度画素マトリックスが２値化される。
【０１０７】
次に、ステップＳ５１２０〜Ｓ５１５０，Ｓ５０８０が処理されて、Ｉ0 〜Ｉ4 ＝０、Ｉ5 ＝３２、Ｉ6 ＝６４、Ｉ7 ＝０となる。したがって、ステップＳ５０９０ではｉ＝９６となり、ステップＳ３１１０では濃度値ｉ＝９６の均一濃度画素マトリックスが２値化される。
【０１０８】
以後、Ｉ0 〜Ｉ7 の値に応じて、ステップＳ５０２０〜Ｓ５０８０，Ｓ５１２０〜Ｓ５２６０のいずれかの処理により、順次、濃度値ｉに、２２４、１６，１４４，８０，…，１２７が設定されて、濃度値ｉの均一濃度画素マトリックスの２値化と保存が行われ、最後に、Ｉ0 ＝１、Ｉ1 ＝２、Ｉ2 ＝４、Ｉ3 ＝８、Ｉ4 ＝１６、Ｉ5 ＝３２、Ｉ6 ＝６４、Ｉ7 ＝１２８となる。このとき、ステップＳ５０９０にて濃度値ｉ＝２５５が設定されるので、ステップＳ５１１０にて「ＹＥＳ」と判定されて、ステップＳ３１５０の処理に移る。このようにして、計算にても中央の値をたどって、均一濃度画素マトリックスの２値化を行うことができる。
【０１０９】
尚、本実施の形態２では、中央の整数値をたどって２値化処理したが、完全に中央の整数値でなくても、１：２の位置、１：３の位置、２：１の位置、３：１の位置といったように、２値化済みの２つの濃度値の中間の値では有るが、小側あるいは大側に偏った整数値をたどって２値化処理しても良い。
【０１１０】
［その他］
前記実施の形態１〜３において、前記カウント値もそのまま集積結果マトリックスＭ１として用いるのではなく、所定の係数をかけても良い。また、濃度値ｉの均一濃度画素マトリックスの２値化値Ｉixy に対して次式のごとく濃度値ｉ毎に異なる係数ｋ(i) を設定して、全ての均一濃度画素マトリックスの合計値Ｃxyを求めることにより、集積結果マトリックスＭ１を作成しても良い。
【０１１１】
【数１５】
0003709598.tif 000016
【０１１２】
尚、ｘ，ｙは均一濃度画素マトリックスあるいは集積結果マトリックスＭ１上の画素位置を表す。
均一濃度画素マトリックスの２値化は、オン（「１」）またはオフ（「０」）への２値化であったが、いかなる値の２値化でも良く、いずれか一方の値の個数をカウントして、集積結果マトリックスＭ１を形成し、この集積結果マトリックスＭ１をディザマトリックスに変換すれば良い。また、上述したような個数のカウントではなく、２値化値の合計であっても良い。
【０１１３】
前記実施の形態１〜３において、２値化値を保存する特定の領域Ａは、全ての均一濃度画素マトリックスにおいて同じ位置であったが、均一濃度画素マトリックスに応じて異なっていても良い。これは、均一濃度画素マトリックスを構成する濃度値ｉに応じて、先頭画素ラインＬ０部分で生じている誤差拡散の歪みの後方への影響の程度が異なるためである。
【０１１４】
また、このように濃度値ｉに応じて、先頭画素ラインＬ０部分で生じている誤差拡散の歪みが後方へ影響する程度が異なるため、全ての均一濃度画素マトリックスの２値化において誤差拡散の歪みの影響を無くすため、均一濃度画素マトリックスの大きさを濃度値ｉの値に応じて調整しても良い。
【０１１５】
前記実施の形態１〜３において、所定領域（前方縁部領域ＢＦ）の主走査方向の長さは３画素分であるが、これは係数マトリックスの列数に応じた長さにすることが好ましい。すなわち誤差拡散の影響がある長さに設定することが好ましい。
【０１１６】
前記実施の形態１における２値化は、２値化時に周辺画素から２値化誤差の分配を受けるタイプの誤差拡散法、いわゆる平均誤差最小法であったが、実施の形態２のごとく、注目画素を２値化した場合に２値化の誤差を未だ２値化していない周辺の画素の濃度に分配する方法による誤差拡散法であっても良い。
【０１１７】
また逆に、実施の形態２に平均誤差最小法を採用しても良い。この場合には、係数マトリックスβ，β1 ，β2 ，β3 ，β4 ，β5 については、次の内容とする。
【０１１８】
【数１６】
0003709598.tif 000017
【０１１９】
【数１７】
0003709598.tif 000018
【０１２０】
【数１８】
0003709598.tif 000019
【０１２１】
【数１９】
0003709598.tif 000020
【０１２２】
【数２０】
0003709598.tif 000021
【０１２３】
【数２１】
0003709598.tif 000022
【０１２４】
前記実施の形態３における２値化は、実施の形態１のごとく、２値化時に周辺画素から２値化誤差の分配を受けるタイプの誤差拡散法、いわゆる平均誤差最小法でも良く、実施の形態２のごとく、注目画素を２値化した場合に２値化の誤差を未だ２値化していない周辺の画素の濃度に分配する方法による誤差拡散法であっても良い。
【図面の簡単な説明】
【図１】  実施の形態１のディザマトリックス作成装置の主要ブロック図である。
【図２】  実施の形態１のディザマトリックス作成処理のフローチャートである。
【図３】  実施の形態１の２値化処理のフローチャートである。
【図４】  実施の形態１の均一濃度値画像データを示す説明図である。
【図５】  実施の形態１の均一濃度値の画像と特定領域との関係を示す説明図である。
【図６】  特定領域およびその周辺を拡大して示す説明図である。
【図７】  実施の形態１の均一濃度値画像データを２値化した状態を示す説明図である。
【図８】  実施の形態１の集積結果マトリックスの説明図である。
【図９】  実施の形態２の２値化処理のフローチャートである。
【図１０】  実施の形態２の逆方向２値化処理のフローチャートである。
【図１１】  特定領域およびその周辺を拡大して示す説明図である。
【図１２】  実施の形態３のディザマトリックス作成処理のフローチャートである。
【図１３】  実施の形態３の２値化処理の一部を示すフローチャートである。
【図１４】  実施の形態３の各画素位置のオン・オフ設定状態の説明図である。
【図１５】  実施の形態３の均一濃度画素マトリックスの処理順序を決定する方法の他の例を示すフローチャートである。
【図１６】  従来例を示す説明図である。
【符号の説明】
２…ディザマトリックス作成装置    １０…入力部
１１…マイクロコンピュータ部    １２…ＣＰＵ
１３…プログラムメモリ    １４…ワーキングメモリ
１６…ディザマトリックス格納メモリ
１７…出力イメージメモリ    １８…システムバス
１９…出力部
【図１】
0003709598.tif 000023
【図２】
0003709598.tif 000024
【図３】
0003709598.tif 000025
【図４】
0003709598.tif 000026
【図５】
0003709598.tif 000027
【図６】
0003709598.tif 000028
【図７】
0003709598.tif 000029
【図８】
0003709598.tif 000030
【図９】
0003709598.tif 000031
【図１０】
0003709598.tif 000032
【図１１】
0003709598.tif 000033
【図１２】
0003709598.tif 000034
【図１３】
0003709598.tif 000035
【図１４】
0003709598.tif 000036
【図１５】
0003709598.tif 000037
【図１６】
0003709598.tif 000038