(57)【要約】【課題】簡易な手法で、モアレや目障りな模様の発生を確実に抑制することができるようにする【解決手段】多値画像を２値画像に変換する２値化部が、多値画像をなす各画素の画素値を取得する画素値取得部１３と、多値画像をなす各画素をその画素値に応じた順番に並び替えるソート部１４ａと、このソート部１４ａにおいて並び替えられた順番に従って２値化を行なう注目画素を選択し、この注目画素の値を２値化する２値化処理部１５と、この２値化処理部１５において注目画素についての２値化に伴って生じた誤差を、注目画素周辺の未２値化画素に拡散させる誤差拡散部１６ａとをそなえるように構成する。【選択図】　　　　図１
2004064720.tif 000002
【特許請求の範囲】
【請求項１】
多値画像を２値画像に変換する２値化方法であって、
該多値画像をなす各画素の画素値を取得する画素値取得ステップと、
該多値画像をなす各画素をその画素値に応じた順番に並び替えるソートステップと、
該ソートステップにおいて並び替えられた順番に従って２値化を行なう注目画素を選択し、当該注目画素の値を２値化する２値化ステップと、
該２値化ステップにおいて該注目画素についての２値化に伴って生じた誤差を、該注目画素周辺の未２値化画素に拡散させる誤差拡散ステップとをそなえることを特徴とする、２値化方法。
【請求項２】
多値画像を２値画像に変換する２値化装置であって、
該多値画像をなす各画素の画素値を取得する画素値取得部と、
該多値画像をなす各画素をその画素値に応じた順番に並び替えるソート部と、
該ソート部において並び替えられた順番に従って２値化を行なう注目画素を選択し、当該注目画素の値を２値化する２値化処理部と、
該２値化処理部において該注目画素についての２値化に伴って生じた誤差を、該注目画素周辺の未２値化画素に拡散させる誤差拡散部とをそなえることを特徴とする、２値化装置。
【請求項３】
多値画像を２値画像に変換する２値化部と、該２値化部によって変換された該２値画像に基づいて媒体上に画像を形成する画像形成部とをそなえた画像形成装置であって、
該２値化部が、
該多値画像をなす各画素の画素値を取得する画素値取得部と、
該多値画像をなす各画素をその画素値に応じた順番に並び替えるソート部と、
該ソート部において並び替えられた順番に従って２値化を行なう注目画素を選択し、当該注目画素の値を２値化する２値化処理部と、
該２値化処理部において該注目画素についての２値化に伴って生じた誤差を、該注目画素周辺の未２値化画素に拡散させる誤差拡散部とをそなえることを特徴とする、画像形成装置。
【請求項４】
多値画像を２値画像に変換する２値化機能をコンピュータに実行させるための２値化プログラムであって、
該多値画像をなす各画素の画素値を取得する画素値取得部と、
該多値画像をなす各画素をその画素値に応じた順番に並び替えるソート部と、
該ソート部において並び替えられた順番に従って２値化を行なう注目画素を選択し、当該注目画素の値を２値化する２値化処理部と、
該２値化処理部において該注目画素についての２値化に伴って生じた誤差を、該注目画素周辺の未２値化画素に拡散させる誤差拡散部として、該コンピュータを機能させることを特徴とする、２値化プログラム。
【請求項５】
多値画像を２値画像に変換する２値化機能をコンピュータに実行させるための２値化プログラムを記録したコンピュータ読取可能な記録媒体であって、
該２値化プログラムが、
該多値画像をなす各画素の画素値を取得する画素値取得部と、
該多値画像をなす各画素をその画素値に応じた順番に並び替えるソート部と、
該ソート部において並び替えられた順番に従って２値化を行なう注目画素を選択し、当該注目画素の値を２値化する２値化処理部と、
該２値化処理部において該注目画素についての２値化に伴って生じた誤差を、該注目画素周辺の未２値化画素に拡散させる誤差拡散部として、該コンピュータを機能させることを特徴とする、２値化プログラムを記録したコンピュータ読取可能な記録媒体。
【請求項６】
多値画像を２値画像に変換する２値化方法であって、
該多値画像を複数の領域に分割する分割ステップと、
該分割ステップにおいて分割された該領域毎に、該多値画像に対する２値化を行なう２値化ステップとをそなえることを特徴とする、２値化方法。
【請求項７】
多値画像を２値画像に変換する２値化装置であって、
該多値画像を複数の領域に分割する分割部と、
該分割部によって分割された該領域毎に、該多値画像に対する２値化を行なう２値化部とをそなえることを特徴とする、２値化装置。
【請求項８】
多値画像に基づいて媒体上に画像を形成する画像形成装置であって、
該多値画像を複数の領域に分割する分割部と、
該分割部によって分割された該領域毎に、該多値画像に対する２値化を行なう２値化部と
該２値化部によって変換された該２値画像に基づいて媒体上に画像を形成する画像形成部とをそなえることを特徴とする、画像形成装置。
【請求項９】
多値画像を２値画像に変換する２値化機能をコンピュータに実行させるための２値化プログラムであって、
該多値画像を複数の領域に分割する分割部と、
該分割部によって分割された該領域毎に、該多値画像に対する２値化を行なう２値化部として、該コンピュータを機能させることを特徴とする、２値化プログラム。
【請求項１０】
多値画像を２値画像に変換する２値化機能をコンピュータに実行させるための２値化プログラムを記録したコンピュータ読取可能な記録媒体であって、
該２値化プログラムが、
該多値画像を複数の領域に分割する分割部と、
該分割部によって分割された該領域毎に、該多値画像に対する２値化を行なう２値化部として、該コンピュータを機能させることを特徴とする、２値化プログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば連続色調画像の多値画像を２値画像に変換する、２値化方法並びに同方法を実現する２値化装置，画像形成装置，２値化プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体に関する。
【０００２】
【従来の技術】
２値出力しかできないプリンタ等の画像形成装置によって、階調のある画像（多値画像，連続色調画像）を再現するためには、モノクロあるいはカラーに関わらず、多値画像から２値画像への変換処理（以下、ハーフトーン化という場合もある）を行なう必要がある。
【０００３】
このような、ハーフトーン化手法においては、２値化を行なう前の多値画像（原画像）を構成する各画素の画素値が、それぞれ、例えば０〜２５５の整数により２５６階調で表わされている場合には、２値化処理によって、これらの各画素の画素値が０もしくは２５５のいずれかの値（２値）に変換される。
この２値化は、例えば、注目画素として選択されている画素の画素値を予め設定された閾値（例えば、１２８）と比較し、その注目画素の画素値が閾値よりも大きい場合には２５５を、又、その注目画素の画素値が閾値以下の場合には０を設定することによって行なう。例えば、図７４（ａ）に示す例においては、注目画素の画素値（８０）は閾値（１２８）以下であるので、０を設定するようになっている。そして、このような２値画像においては、プリンタ等のドットの面積変調もしくは密度変調により階調を再現する。
【０００４】
ハーフトーン化においては、変換後の画像において、原画像（多値画像）に無いモアレや目障りな模様（ａｒｔｉｆａｃｔ）を目立たなくすることや、原画像の持つ階調を可能な限り再現することが要求されている。
このようなハーフトーン化を行なう手法としては以下の手法が知られている。
（１）特開平６−７０１４４号公報には、誤差拡散法を「無作為化空間充填二次曲線」に沿って原画像全体に実施することによって、モアレや目障りな模様が無い２値画像を得ようとする手法が開示されている。
【０００５】
（２）特開平６−００６５８６号公報には、「シミュレーテッド・アニーリング法」を使用し、原画像（多値画像）と処理される２値画像とから計算されるエネルギー関数を最小化することにより、モアレや目障りな模様が無い２値画像を得ようとする手法が開示されている。なお、この手法には、原画像を直接変換する手法と、予め２５６階調のディザパターンを求めておいて処理をする方法とが知られている。
【０００６】
（３）特開平７−２７４０１５号公報には、画像を文字や自然画像といった属性で分類し、分類結果に応じて階調／面積変換手法を変えようとする手法が開示されている。
また、近年の出力デバイスにおいては、形成可能な１ドットのサイズが数ミクロン単位と非常に小さいので、これらの各ドットに対して階調再現性を持たせることは容易ではない。従って、印刷等の分野においては、原画像を構成する個々の画素をそれぞれ複数のドットで表現し、これらのドットの面積によって階調再現（面積階調）を行なう濃度パターン法が一般的に行なわれている。
【０００７】
さて、２値化処理における階調表現能力を向上させるための手法の１つである誤差拡散法は、多値画像を２値化する際に生じる誤差を隣接画素に拡散する方法である。
図７４（ａ），（ｂ），（ｃ）は従来の誤差拡散法を説明するための図であり、Ｆｌｏｙｄ　＆　Ｓｔｅｉｎｂｅｒｇ型の誤差拡散法を説明するための図であって、（ａ）は２値化処理前の画像を説明するための図、（ｂ）はＦｌｏｙｄ　＆　Ｓｔｅｉｎｂｅｒｇ型の重み付けパターンを示す図、（ｃ）は２値化処理後の画像を説明するための図である。
【０００８】
従来、例えば、プリンタをそなえたコンピュータシステムにおいて、そのプリンタにより原画像を印刷する際には、プリンタもしくはパーソナルコンピュータ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ：ＰＣ）は、先ず、その原画像を、一旦、例えばメモリ（ＲＡＭ：Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）上に展開する。
そして、プリンタもしくはＰＣは、メモリ上に展開された、多値画像を形成する画素に対して、例えばその先頭の画素（図７４（ａ）の画面左上部分）からその終端に位置する画素（図７４（ａ）の画面右下部分）に向かって順番に走査して、その左上端の画素から順番に注目画素として選択し、この注目画素に対して上述の如き２値化処理を行なう。
【０００９】
具体的には、その主走査方向（例えば、図７４（ａ）の画面左方向）と副走査方向（例えば、図７４（ａ）の画面下向き方向）とに沿って、順次、各画素を２値化し、この注目画素に対する２値化処理によって生じた誤差（８０−０＝８０）を、例えば図７４（ｂ）に示すような重み付けパターンに従って、注目画素の近傍の未２値化画素に拡散する。なお、これらの２値化及び誤算拡散及を行なった結果を図７４（ｃ）に示す。
【００１０】
以下、２値化を行なう注目画素を、主走査方向（図中の左から右）に向かって順番に移動しながら変更し、各注目画素に対して２値化処理を行なうとともに、以下、副走査方向（図中の上から下）に沿って順番に、上述の処理を繰り返し行なうことによって、メモリ上に展開された全ての画素に対して処理を行なうようになっている。
【００１１】
このように、２値化手法においては、注目画素に対する２値化によって生じた誤差を、その注目画素の周辺の画素に対して拡散させる（誤差拡散を行なう）ことにより、階調表現能力を向上させることができるのである。
【００１２】
【発明が解決しようとする課題】
しかしながら、上述の従来手法には以下の課題がある。
（１）特開平６−７０１４４号公報に開示されている手法においては、画像全体を同一のアルゴリズムで処理するので、変換された２値画像には必ずモアレや目障りな模様が生じる。又、変換に際して、使用している「無作為化空間充填２次元曲線」は、画像全体を一筆書きの要領で走査するので並列計算を行なうことができず、これにより、結果的に膨大な処理時間を必要とする。
【００１３】
（２）特開平６−００６５８６号公報に開示されている手法においては、その変換時の計算に膨大な時間がかかるので現実的でなく、又、非常になだらかなグラデーション画像に関して、特有の目障りな模様が発生する。
（３）特開平７−２７４０１５号公報に開示されている手法においては、例えば、同一の自然画像内では同一のアルゴリズムで処理するので、目障りな模様が発生する場合にはこれを阻止したり目立たなくすることができない。又、この手法によれば、例えば、原画像に文字という属性があれば文字用のハーフトーニング処理を行なうのであるが、一度、論理演算等で画像化されてしまった後では、文字用のハーフトーニング処理を実施することができない。
【００１４】
このため、モアレや目障りな模様を発生させることなく、簡易な手法で且つ短時間でハーフトーン化処理を行なえるようにすることが望まれている。
図７５は従来の２値化手法を説明するための図である。従来の２値化手法においては、図７５に示すように、原画像をメモリ上に展開し、このメモリ上に展開された多値画像を形成する画素に対して、特定の画素（例えば図７５の画面左上部分）から、その主走査方向（例えば、図７５中の左側から右側方向）に向かって、順次、各画素を２値化するとともに、その２値化処理によって生じた誤差をその画素周辺の未２値化画素に対して拡散させ、この処理を副走査方向（例えば、図７５の画面下方向）に沿って繰り返し行なうことにより、その終端に位置する画素（例えば図７５の画面右下部分）に向かって多値画像を形成する全ての画素に対して２値化及び誤差拡散を行なう。
【００１５】
すなわち、従来の２値化手法においては、２値化処理によって生じる誤差を、その画素の近隣の画素に対して順次、伝搬させるようになっており、これにより、原画像（多値画像）に無いモアレや目障りな模様（ａｒｔｉｆａｃｔ）が生じるおそれもある。
また、従来の誤差拡散手法においては、２値化処理を行なった結果生じた誤差を、その画素の主走査方向側および副走査方向側においてそれぞれ隣接する各未２値化画素に拡散するようになっているが、このような隣接画素に対して誤差を拡散する手法においては、原画像において、同じ画素値の画素が連続して存在する部分に対して２値化および誤差拡散を行なう場合に、原画像には無い人工的な模様（ａｒｔｉｆａｃｔｓ）が現れることが知られている。
【００１６】
さらに、上述の如き従来の２値化手法においては、原画像を、一旦メモリ空間上に展開させるようになっているので、特に大きな原画像に対して印刷（２値化）を行なう場合には、一度に消費されるメモリ量が大きくなる。これにより、印刷システムにおけるＰＣもしくはプリンタに大容量のメモリが必要になり、その製造コストを低減することができないという課題がある。
【００１７】
本発明は、このような課題に鑑み創案されたもので、簡易な手法で、モアレや目障りな模様の発生を確実に抑制することができ、又、使用するメモリ容量を低減するとともに、簡易な手法でモアレや目障りな模様の発生を確実に抑制することができるようにした、２値化方法および同方法を実現するための２値化装置，画像形成装置，２値化プログラム並びに同プログラムを記録したコンピュータ読取可能な記録媒体を提供することを目的とする。
【００１８】
【課題を解決するための手段】
このため、本発明の２値化方法（請求項１）は、多値画像を２値画像に変換するものであって、多値画像をなす各画素の画素値を取得する画素値取得ステップと、多値画像をなす各画素をその画素値に応じた順番に並び替えるソートステップと、このソートステップにおいて並び替えられた順番に従って２値化を行なう注目画素を選択し、この注目画素の値を２値化する２値化ステップと、この２値化ステップにおいて注目画素についての２値化に伴って生じた誤差を、注目画素周辺の未２値化画素に拡散させる誤差拡散ステップとをそなえることを特徴としている。
【００１９】
また、本発明の２値化装置（請求項２）は、多値画像を２値画像に変換するものであって、多値画像をなす各画素の画素値を取得する画素値取得部と、多値画像をなす各画素をその画素値に応じた順番に並び替えるソート部と、このソート部において並び替えられた順番に従って２値化を行なう注目画素を選択し、この注目画素の値を２値化する２値化処理部と、この２値化処理部において注目画素についての２値化に伴って生じた誤差を、注目画素周辺の未２値化画素に拡散させる誤差拡散部とをそなえることを特徴としている。
【００２０】
さらに、本発明の画像形成装置（請求項３）は、多値画像を２値画像に変換する２値化部と、この２値化部によって変換された２値画像に基づいて媒体上に画像を形成する画像形成部とをそなえて構成され、２値化部が、多値画像をなす各画素の画素値を取得する画素値取得部と、多値画像をなす各画素をその画素値に応じた順番に並び替えるソート部と、このソート部において並び替えられた順番に従って２値化を行なう注目画素を選択し、この注目画素の値を２値化する２値化処理部と、この２値化処理部において注目画素についての２値化に伴って生じた誤差を、注目画素周辺の未２値化画素に拡散させる誤差拡散部とをそなえることを特徴としている。
【００２１】
またさらに、本発明の２値化プログラム（請求項４）は、多値画像を２値画像に変換する２値化機能をコンピュータに実行させるためのものであって、多値画像をなす各画素の画素値を取得する画素値取得部と、多値画像をなす各画素をその画素値に応じた順番に並び替えるソート部と、このソート部において並び替えられた順番に従って２値化を行なう注目画素を選択し、この注目画素の値を２値化する２値化処理部と、この２値化処理部において注目画素についての２値化に伴って生じた誤差を、注目画素周辺の未２値化画素に拡散させる誤差拡散部として、コンピュータを機能させることを特徴としている。
【００２２】
また、本発明の２値化方法（請求項６）は、多値画像を２値画像に変換する２値化方法であって、多値画像を複数の領域に分割する分割ステップと、この分割ステップにおいて分割された領域毎に、多値画像に対する２値化を行なう２値化ステップとをそなえることを特徴としている。
さらに、本発明の２値化装置（請求項７）は、多値画像を２値画像に変換する２値化装置であって、多値画像を複数の領域に分割する分割部と、この分割部によって分割された領域毎に、多値画像に対する２値化を行なう２値化部とをそなえることを特徴としている。
【００２３】
またさらに、本発明の画像形成装置（請求項８）は、多値画像に基づいて媒体上に画像を形成する画像形成装置であって、多値画像を複数の領域に分割する分割部と、この分割部によって分割された領域毎に、多値画像に対する２値化を行なう２値化部とこの２値化部によって変換された２値画像に基づいて媒体上に画像を形成する画像形成部とをそなえることを特徴としている。
【００２４】
さらにまた、本発明の２値化プログラム（請求項９）は、多値画像を２値画像に変換する２値化機能をコンピュータに実行させるための２値化プログラムであって、多値画像を複数の領域に分割する分割部と、この分割部によって分割された領域毎に、多値画像に対する２値化を行なう２値化部として、コンピュータを機能させることを特徴としている。
【００２５】
また、本発明のコンピュータ読取可能な記録媒体（請求項５，請求項１０）は、上述した２値化プログラムを記録したものである。
【００２６】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
（Ａ）第１実施形態の説明
図１は本発明の一実施形態としての画像形成装置をそなえた画像形成システムの機能構成を模式的に示す図である。画像形成システム１ａは、図１に示すように、ＰＣ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ）２と画像形成装置（プリンタ）１０ａとをそなえて構成され、ＰＣ２によって作成・取得した多値画像（連続色調画像；原画像）を画像形成装置１０ａによって印刷するものである
ＰＣ２は、画像データ２２を作成したり形成したりするものであって、更に、その作成等した画像データ２２を画像形成装置１０ａに印刷させるようになっている。又、この画像データ２２は、ヘッダデータと画素データとをそなえて構成され、ＰＣ２のハードディスクやメモリ（ともに図示せず）等に記憶されている。
【００２７】
ヘッダデータは、例えば、その画像の大きさや最大階調数等からなる、画像に関する種々の情報である。又、画素データは、画像を構成する画素の画素値をｎ行×ｍ列のマトリクス状に配列することによって構成されている。又、画素値は、その画素の階調を示すものであって、例えば、０〜２５５の整数によって２５６階調の濃淡を表わすようになっている。
【００２８】
また、ＰＣ２は、画像データのうち画素データを画像形成装置１０ａに送信する画素データ転送部２１をそなえており、画像形成装置１０ａによって印刷を行なう際に、この画像データ転送部２１が、印刷を行なう画像（画像データ２２）の画素データを画像形成装置１０ａに送信するようになっている。
画像形成装置（２値化装置）１０ａは、例えば、インクジェットプリンタ，レーザビームプリンタ，熱転写プリンタ，昇華型プリンタ，ＬＥＤプリンタ，印刷装置等の、印刷用紙等の媒体上に色材（トナーやインク等）を形成（打点）することにより画像を形成（印刷）するものであって、印刷媒体上に形成する色材（ドット）の面積によって多値画像（連続色調画像）の階調を再現するようになっている。
【００２９】
なお、本実施形態において２値化処理の対象となる各画素はそれぞれ０〜２５５のいずれかの値（多値）を有し、又、２値化（ハーフトーン化）処理後の各画素はそれぞれ０もしくは２５５のいずれかの値（２値）を有するものとする。このように定義しても一般性は失わないものである。
画像形成装置１０ａは、図示しないＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ：中央処理装置），ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）およびＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）をそなえて構成されている。ＲＯＭには、図１に示す２値化部１１ａおよび画像形成部１２を実現するためのアプリケーションプログラムが格納されており、ＣＰＵがＲＯＭから上記アプリケーションプログラムを実行することにより、２値化部１１ａおよび画像形成部１２としての機能（その詳細については後述）が実現され、本発明の２値化方法，画像形成装置（２値化装置）が実現されるようになっている。ＲＡＭは、プリンタのＣＰＵがＲＯＭに格納されたアプリケーションプログラムを実行する際に画像データ（多値画像，２値画像）等を一時的に展開するためのものである。
【００３０】
また、２値化部１１ａは、画像取得部（画素値取得部）１３，ソート部１４ａ，２値化処理部１５および誤差拡散部１６ａをそなえて構成されている。
なお、これらの画像取得部１３，ソート部１４ａ，２値化処理部１５および誤差拡散部１６ａとしての機能を実現するためのプログラム（２値化プログラム）は、例えばフレキシブルディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−Ｒ／Ｗ，ＤＶＤ，ＤＶＤ−Ｒ，ＤＶＤ−Ｒ／Ｗ，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【００３１】
画像取得部１３，ソート部１４ａ，２値化処理部１５および誤差拡散部１６ａとしての機能を実現する際には、内部記憶装置（本実施形態ではプリンタのＲＡＭやＲＯＭ）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではプリンタのＣＰＵ）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【００３２】
画像形成部１２は、２値化部１１ａによって変換された２値画像に基づいて媒体上に画像を形成するものである。画像形成装置１０ａにおいては、２値化部１１ａによる２値化処理によって媒体上に形成する色材のＯＮ／ＯＦＦが決定されている。すなわち、画素値＝２５５と設定された画素に色材が形成（ＯＮ）されるのである。画像形成部１２は、このＯＮ／ＯＦＦ情報に従って媒体（印刷用紙等）上に色材（インクやトナー等）を形成するようになっており、これにより、媒体上に画像を形成するのである。
【００３３】
２値化部１１ａは多値画像を２値画像に変換するものであって、図１に示すように、画像取得部（画素値取得部）１３，ソート部１４ａ，２値化処理部１５および誤差拡散部１６ａをそなえて構成されている。画像取得部１３は、ＰＣ２の画素データ転送部２１から送信された画素データを受信し、その画像を構成する各画素の画素値を取得するものである。具体的には、画像取得部１３は、受信した画素データに基づいて、ｎ行×ｍ列のマトリクス状に各画素の画素値を配列することによって構成した多値画像を、画像形成装置１０ａにそなえられたメモリ（図示省略）上に展開するようになっている（図３参照）。
【００３４】
なお、本実施形態においては、画像形成装置１０ａのメモリ上に展開された多値画像を構成する各画素の位置を、ｘ座標およびｙ座標によって定義される仮想平面（ｘ−ｙ座標系）によって特定して、座標（ｘ，ｙ）の如く示す（ただし、ｘおよびｙはともに自然数）。
すなわち、本実施形態においては、図３に示すように、画像形成装置１０ａのメモリ空間上に形成された仮想平面（ｘ−ｙ座標系）上に、多値画像を展開するようになっているのである。例えば、図３に示す多値画像において、その左上隅の画素の位置は座標（１，１）として表され、その右下隅の画素の位置は座標（５，５）として表される。
【００３５】
ソート部１４ａは、画像取得部１３によって取得され、上述の如くメモリ空間上に展開された多値画像を走査し、この多値画像をなす各画素をその画素値に応じた順番に並び替える（ソートする）ものであって、多値画像をなす各画素をその画素値に応じて並び替えることによって構成した配列Ｏｒｄｅｒ（図１２参照）を作成するようになっている。
【００３６】
この配列Ｏｒｄｅｒは、後述する２値化処理部１５が２値化処理を行なう画素の順番を示すものであって、多値画像を形成する各画素について、その多値画像中における位置を示す情報を、その画素値に応じて順番（昇順もしくは降順）に配置する（並べる）ことによって構成されており、後述する２値化処理部１５は、この配列Ｏｒｄｅｒの順番に従って２値化を行なう注目画素を順次選択し、各画素を順番に２値化するようになっている。なお、本実施形態においては、ソート部１４ａはバケット法を用いて画素のソートを行なうようになっており、又、ソート部１４ａは、各画素を画素値の昇順に並び替えるようになっている。
【００３７】
ここで、本第１実施形態の画像形成装置１０ａにおけるソート部１４ａによるバケット法を用いたソート手法を、図３〜図１２を参照しながら、図２に示すフローチャート（ステップＡ１０〜Ａ１００）に従って説明する。なお、図３は本発明の第１実施形態としての画像形成装置１０ａによって２値化を行なう多値画像（原画像）の例を示す図、図４は画素値ｉとその画素値の出現頻度Ｎｕｍｉとの関係の例を示す図、図５，図６，図８および図１０はそれぞれ画素値ｉとその累積出現頻度Ｔｏｔａｌｉとの関係の例を示す図、図７，図９および図１１はそれぞれ本発明の一実施形態としての画像形成装置１０ａのソート部１４ａが作成する配列Ｏｒｄｅｒの作成過程の例を示す図、図１２はそのソート部１４ａによって作成された配列Ｏｒｄｅｒの例を示す図である。なお、ソートの初期段階においては、出現頻度Ｎｕｍｉおよび累積出現頻度Ｔｏｔａｌｉにはそれぞれ０が設定されているものとする。
【００３８】
ソート部１４ａは、画像取得部１３によってメモリ上に展開された多値画像（図３参照）から、この多値画像を形成する画素であって、そのｘ−ｙ座標の原点に最も近い画素から順番に画素を一つ選択して、その画素値を取得し（ステップＡ１０）、この取得した画素値ｉに対応する出現頻度Ｎｕｍｉに１を加算する（ステップＡ２０）。そして、ソート部１４ａは、多値画像を構成する全ての画素について画素値の取得を行なったか否かを確認して（ステップＡ３０）、画素値を未取得の画素がある場合には（ステップＡ３０のＮＯルート参照）、その主走査方向もしくは副走査方向において隣接する次の画素に移動して（ステップＡ４０）、ステップＡ１０に戻る。
【００３９】
すなわち、上記のステップＡ１０〜Ａ４０において、メモリ上に展開された多値画像に対して、その左上の画素から右下の画素に向かって、主走査方向への走査を副走査方向に沿って繰り返し行なうことによって、多値画像を形成する全ての画素の画素値をそれぞれ取得し（画素値取得ステップ）、図４に示すように、多値画像中における画素値ｉの出現頻度Ｎｕｍｉをその画素値ｉに対応付けて記録するようになっている。
【００４０】
多値画像を構成する全ての画素の画素値を取得した場合には（ステップＡ３０のＹＥＳルート参照）、ソート部１４ａは、ステップＡ１０〜Ａ３０において算出した出現頻度Ｎｕｍｉ（図４参照）に基づいて、各画素値ｉの累積出現頻度Ｔｏｔａｌｉ（図５参照）を算出する（ステップＡ５０）。
具体的には、ソート部１４ａは、出現頻度Ｎｕｍｉに基づいて、各画素値ｉの出現頻度Ｎｕｍｉに、その画素値ｉよりも小さい画素値０〜ｉ−１の各出現頻度Ｎｕｍ０〜Ｎｕｍｉ−１を累積することによって、各画素値ｉの累積出現頻度Ｔｏｔａｌｉを算出する。
【００４１】
すなわち、以下に示す式（１）によって、画素値ｉ（ｉ：整数）に対応する累積出現頻度Ｔｏｔａｌｉを算出する。
【００４２】
【数１】
2004064720.tif 000003
【００４３】
・・・（１）
ただし、本実施形態においては、ソート部１４ａは、画素の並び替えを行なうに際して、便宜上、並び替え後の先頭になるべき画素の画素値（本実施形態においては画素値ｉ＝０）の累積出現頻度Ｔｏｔａｌ０には、図５に示すように、０を設定するようになっている。
【００４４】
次に、ソート部１４ａは、画像取得部１３によってメモリ上に展開された多値画像（図３参照）から、再度、そのｘ−ｙ座標の原点に最も近い画素から順番に画素を選択して、その多値画像を形成する画素の画素値を取得し（ステップＡ６０）、今度は、その取得した画素値ｉに基づいて、その画素値ｉに対応する累積出現頻度Ｔｏｔａｌｉに１を加算する（ステップＡ７０）。
【００４５】
そして、ソート部１４ａは、配列Ｏｒｄｅｒにおける先頭からＴｏｔａｌｉ番目の欄に、その画素の座標を示す情報（画像座標値；詳細は後述）を入力し（ステップＡ８０）、多値画像を構成する全ての画素について、配列Ｏｒｄｅｒにその画像座標値の入力を行なったか否かを確認する（ステップＡ９０）。未処理の画素がある場合には（ステップＡ９０のＮＯルート参照）、その主走査方向もしくは副走査方向において隣接する次の画素に移動して（ステップＡ１００）、ステップＡ６０に戻る。又、多値画像を構成する全ての画素について配列Ｏｒｄｅｒに画像座標値の入力を行なった場合には（ステップＡ９０のＹＥＳルート参照）、処理を終了する。
【００４６】
すなわち、上記のステップＡ６０〜Ａ１００において、ソート部１４ａは、メモリ上に展開された多値画像に対して、その左上の画素から右下の画素に向かって、主走査方向への走査を副走査方向に沿って繰り返し行なうことによって、多値画像を形成する全ての画素の画素値をそれぞれ取得し、配列Ｏｒｄｅｒにおける所定箇所にその画像座標値をそれぞれ入力することによって、図１２に示すような配列Ｏｒｄｅｒを作成するようになっており、これにより、多値画像をなす各画素をその画素値に応じた順番に並び替えるようになっている（ソートステップ）。
【００４７】
例えば、図３に示す５行×５列の画素によって構成される多値画像においては、座標（１，１）の画素は画素値ｉ＝１であるので、この画素値ｉ＝１に対応する、その時点におけるＴｏｔａｌ１（＝６；図５参照）に１を加算することにより、図６に示すように、Ｔｏｔａｌ１＝７が算出される。そして、ソート部１４ａは、配列Ｏｒｄｅｒの７番目に、その画素の画像座標値（１，１）を入力する（図７参照）。
【００４８】
また、座標（１，２）の画素は画素値ｉ＝０であるので、画素値ｉ＝０に対応する、その時点におけるＴｏｔａｌ０（＝０；図６参照）に１を加算することにより、図８に示すように、Ｔｏｔａｌ０＝１が算出される。そしてソート部１４ａは、配列Ｏｒｄｅｒの１番目に、その画素の画像座標値を入力する（図９参照）。
【００４９】
次に、座標（１，３）の画素は画素値ｉ＝３であるので、画素値ｉ＝３に対応する、その時点におけるＴｏｔａｌ３（＝１２；図８参照）に１を加算することにより、図１０に示すように、Ｔｏｔａｌ３＝１３が算出される。そしてソート部１４ａは、配列Ｏｒｄｅｒの１３番目に、その画素の画像座標値を入力する（図１１参照）。以下、このようにして、多値画像を構成する全ての画素について、その画素値に基づいて配列Ｏｒｄｅｒへの入力を繰り返し行なうことにより、図１２に示すような、多値画像を構成する全ての画素をその画素値に応じた順番に並び替えて構成された配列Ｏｒｄｅｒが作成されるのである。
【００５０】
２値化処理部１５は、ソート部１４ａによって作成された配列Ｏｒｄｅｒに従って、多値画像中から２値化を行なう注目画素を順次選択し、この注目画素の値を２値化するようになっている。すなわち、２値化処理部１５は、ソート部１４ａによって並べ替えられた順番に従って２値化を行なう注目画素を選択し、この注目画素の値を２値化するものである。
【００５１】
次に、配列Ｏｒｄｅｒに入力される画像座標値について説明する。本実施形態においては、画像の座標を示す情報として、「ｘ＋ｙ×ｋ」を用いる。ただし、ｋは任意の数である。なお、このｋとしては、例えば１０２４や２０４８等のコンピュータによって処理し易い数値を用いることが望ましい。本実施形態においては、原画像の主走査方向の長さをｋとして用いるようになっている。
【００５２】
すなわち、原画像がメモリ空間上における座標（１，１）から座標（ｗｉｄｔｈ，ｈｅｉｇｈｔ）にかけて配置されている場合に、ｋ＝ｗｉｄｔｈを用い、配列Ｏｒｄｅｒ（図１２等参照）に画像座標値として「ｘ＋ｙ×ｗｉｄｔｈ」を入力する。これにより、各画素の座標を１つの数値（画像座標値）によって示すことができ、メモリスペースを節約することができ利便性が高い。なお、以下、本明細書中においては、配列Ｏｒｄｅｒを示す図（図７，図９，図１１，図１２，図２０，図２２，図２４および図２５等）においては、便宜上、各画素の画像座標値を（ｘ，ｙ）によって示すものとする。
【００５３】
２値化処理部１５は、多値画像における注目画素の値（画素値：ｅ）を所定値（例えば１２８）と比較して、注目画素の画素値ｅが所定値以上（ｅ≧１２８）の場合には注目画素の画素値を２５５（ＯＮ）としてプリンタのＲＡＭ上の所定の領域に記録する。又、注目画素の画素値が所定値よりも小さい（ｅ＜１２８）場合には注目画素の画素値ｅ′を０（ＯＦＦ）としてＲＡＭ上の所定の領域に記録する。
【００５４】
誤差拡散部１６ａは、注目画素についての２値化処理部１５による２値化に伴って生じた誤差Ｚを、以下の式（２），（３）に基づいて算出し、この算出した誤差Ｚを、注目画素周辺の未走査画素に拡散させるものである（ｅは注目画素の画素値）。
ここで、Ｚ＝２５５−ｅ（ｅ≧１２８の場合），　　　　・・・（２）
Ｚ＝ｅ（ｅ＜１２８の場合）である。　　　　　・・・（３）
この誤差拡散部１６ａは、注目画素の２値化に伴って生じた誤差Ｚを公知の誤差拡散法を用いて注目画素周辺の未走査画素に拡散させるようになっており、この注目画素における誤差Ｚを、図１３に示すような重み付けパターン（重み係数）に基づき、注目画素ｅの周辺の複数の未走査画素に比例配分することにより拡散する。
【００５５】
図１３は誤差拡散法における重み付けパターンの例を示す図であり、図中において●で示された注目画素における誤差Ｚをどのような比率で注目画素周辺の未走査画素に拡散するかを示すものである。なお、この図１３に示す重み付けパターンは、注目画素における誤差を、注目画素に隣接する画素であって、その主走査方向側および副走査方向側（主走査方向に直行する方向）に隣接する４つの画素に、所定の比率で拡散（配分）するためのものである。
【００５６】
ここで、図１３に示す重み付けパターンに基づいて誤差拡散を行なう場合について簡単に説明すると、例えば、注目画素の画素値ｅ＝１００（ｅ＜１２８）の場合には誤差Ｚ＝１００であるので、誤差拡散部１６ａは、１００×７／１６を注目画素ｅの主走査方向に位置する未走査の隣接画素に付加する。
同様にして、１００×５／１６を注目画素の副主走査方向に位置する未走査の隣接画素に、１００×１／１６を注目画素の主走査方向と副走査方向との間（図１３中においては注目画素の右下側）に位置する未走査の隣接画素に、更に、１００×３／１６を注目画素の主走査方向とは反対方向と副走査方向との間（図１３中においては注目画素の左下側）に位置する未走査の隣接画素に付加することにより、注目画素についての誤差を注目画素周辺の未走査画素に比例配分（拡散）する。
【００５７】
また、注目画素の主走査方向および副走査方向において隣接する４つの画素のうち、既に２値化処理が行なわれた画素については、誤差の拡散を行なわないようになっている。
既に２値化処理が行なわれている画素については、その２値化済の画素以外の画素に対して、誤差拡散に用いる重み付けパターンにおけるその画素に対応する比率を除外して誤差拡散を行なうようになっている。例えば、図１３に示す例において、注目画素の主走査方向に隣接する画素（重み係数＝７）が既に２値化されている場合には、その画素を除いた他の３画素に対して、それぞれ３／９，５／９および１／９の割合で注目画素の誤差を拡散させるのである。なお、これらの割合の分母の「９」は、「３＋５＋１」によって求められるものである。
【００５８】
また、注目画素の近傍の画素が未２値化画素であるか否かの判断は、その画素の画素値が０もしくは２５５であるか否かを判断することによって行なってもよく、又、配列Ｏｒｄｅｒに登録されている順番を確認することによって行なってもよい。
上述の如く構成された本発明の第１実施形態としての画像形成装置１０ａにおける２値化手法を、図１４に示すフローチャート（ステップＢ１０〜Ｂ７０）に従って説明する。
【００５９】
２値化処理部１５は、配列Ｏｒｄｅｒ（図１２参照）に基づいて、その先頭から順番に注目画素を選択し（ステップＢ１０）、選択した注目画素の値を２値化する（ステップＢ２０；２値化ステップ）。誤差拡散部１６ａは、２値化処理部１５による２値化によって生じた誤差を算出するとともに（ステップＢ３０）、注目画素の主走査方向側および副走査方向側において隣接する４つの画素について、２値化されていない画素（未２値化画素）を検索する（ステップＢ４０）。
【００６０】
誤差拡散部１６ａは、ステップＢ４０において検索された未２値化画素に対して、注目画素の誤差を拡散させるために、各画素への誤差配分を算出した後（ステップＢ５０）、各画素に対して誤差の拡散を行なう（ステップＢ６０；誤差拡散ステップ）。そして、多値画像を構成する全ての画素について２値化を行なったか否かを確認して（ステップＢ７０）、全ての画素について誤差拡散を行なっていない場合には（ステップＢ７０のＮＯルート参照）、ステップＢ１０に戻る。又、全ての画素について誤差拡散を行なった場合には（ステップＢ７０のＹＥＳルート参照）、処理を終了する。
【００６１】
このように、本発明の第１実施形態としての画像形成装置１０ａによれば、ソート部１４ａが、多値画像をなす各画素をその画素値に応じた順番に並び替えて配列Ｏｒｄｅｒを作成し、２値化処理部１５がこの配列Ｏｒｄｅｒに従って多値画像を構成する各画素を順番に２値化するとともに、誤差拡散部１６ａが誤差拡散を行なうので、多値画像中において、２値化を行なう注目画素として順次選択される画素の位置が非連続的（ランダム）になり、これにより、誤差拡散が行なわれる画素も非連続的になる。従って、２値化後の画像において、原画像（多値画像）に無いモアレや目障りな模様（ａｒｔｉｆａｃｔ）を低減することができる。
【００６２】
また、ソート部１４ａが、バケット法を用いて、多値画像をなす画素をその画素値に応じて並び替えを行なうので、画素の並び替えに要する時間を大幅に短縮することができ、配列Ｏｒｄｅｒを高速に作成することができる。これにより、２値化処理に要する時間を短縮することができ、印刷を高速に行なうことができる。
【００６３】
さらに、２値化処理部１５が、配列Ｏｒｄｅｒに従って、画素値の昇順もしくは降順に従って２値化処理を実施するので、局部的に見ても、大きな領域で見ても、任意の連結領域における画素値の平均値の差が信号幅（本実施形態では２５５）に対して１以内に留めることが可能となる。したがって，処理前と後画像の明るさが変わらないという利点もある。
【００６４】
（Ｂ）第２実施形態の説明
本発明の第２実施形態としての画像形成装置１０ｂをそなえた画像形成システム１ｂも、図１に示すように、ＰＣ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ）２と画像形成装置（プリンタ）１０ｂとをそなえて構成され、ＰＣ２によって作成・取得した多値画像（連続色調画像；原画像）を画像形成装置１０ｂによって印刷するものである本第２実施形態の画像形成装置１０ｂは、第１実施形態の画像形成装置１０ａの２値化部１１ａに代えて２値化部１１ｂをそなえている。又、２値化部１１ｂは、第１実施形態のソート部１４ａに代えてソート部１４ｂをそなえるほか、誤差拡散部１６ａに代えて誤差拡散部１６ｂをそなえて構成されている。なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その説明は省略する。
【００６５】
ソート部１４ｂも、第１実施形態の画像形成装置１０ａにおけるソート部１４ａと同様に、画像取得部１３によって取得されメモリ空間上に展開された多値画像を走査し、この多値画像をなす各画素をその画素値に応じた順番に並び替える（ソートする）ものであって、多値画像をなす各画素をその画素値に従って昇順もしくは降順に並び替えることによって構成した配列Ｏｒｄｅｒを作成するようになっている。
【００６６】
このソート部１４ｂは、多値画像をｘ座標およびｙ座標によって定義される仮想平面（ただし、ｘおよびｙは整数）上に展開するとともに（図１５参照）、仮想平面における画素について、少なくともｘ軸方向およびｙ軸方向に隣接する画素どうしが互いに異なるグループに属するように複数のグループに組分けし、これらの組分けられた各グループについて、それぞれグループを構成する各画素をその画素値に応じた順番に並び替えるようになっている。
【００６７】
具体的には、ソート部１４ｂは、仮想平面上における画素について、そのｘ座標の値とｙ座標の値との和をＮ（Ｎは自然数）で除算した余りに応じて、画素をＮ組のグループに組分けし、これらの組分けられた各グループについて、それぞれグループを構成する各画素をその画素値に応じた順番に並び替えるようになっている。
【００６８】
ここで、ソート部１４ｂが行なうグループ分けについて、図１５に示す多値画像を用いて説明する。ソート部１４は、画像取得部１３によって画像形成装置１０ａのメモリ上に設けられた仮想平面上に展開された多値画像について、その多値画像を構成する各画素に対して、その座標値（ｘ，ｙ）に基づいて以下の式（２）を算出するようになっている。
【００６９】
（ｘ＋ｙ）％Ｎ　　　・・・・・・・・・・・・・・・・・・・（４）
なお、この式（４）中における「％」は余りを算出することを示す記号であり、式（４）は、（ｘ＋ｙ）をＮで除算した結果生じる余りを示す。
そして、ソート部１４ｂは、多値画像を構成する全ての画素について、上記の式（４）を算出して、その結果（以下、式（４）の演算結果を「パリティ」という場合もある）によって、各画素のグループ分けを行なうようになっている。
【００７０】
図１５は本発明の第２実施形態としての画像形成装置１０ｂによって２値化を行なう多値画像（原画像）の例を示す図である。
以下、本第２実施形態においては、Ｎ＝２の場合について説明する。なお、図１５中においては多値画像を構成する各画素をパリティ＝０とパリティ＝１との２つのグループにグループ分けしており、パリティ＝１の画素に斜線を付して示している。
【００７１】
本第２実施形態の画像形成装置１０ｂにおけるソート部１４ｂによる多値画像についてのバケット法を用いたソート手法を、図１５，図１７〜図２５を参照しながら、図１６に示すフローチャート（ステップＣ１０〜Ｃ１５０）に従って説明する。
なお、図１７（ａ），（ｂ）はそれぞれ画素値ｉとその画素値の出現頻度Ｎｕｍｉとの関係の例を示す図であって、図１７（ａ）はパリティ＝０の画素についての画素値ｉとその画素値の出現頻度Ｎｕｍｉとの関係の例を示す図、図１７（ｂ）はパリティ＝１の画素についての画素値ｉとその画素値の出現頻度Ｎｕｍ１２８＋ｉとの関係の例を示す図である。又、図１８（ａ），（ｂ），図１９，図２１および図２３はそれぞれ画素値ｉとその累積出現頻度Ｔｏｔａｌｉとの関係の例を示す図であって、図１８（ａ），図１９および図２３はそれぞれパリティ＝０の画素についての画素値ｉとその累積出現頻度Ｔｏｔａｌｉとの関係の例を示す図、図１８（ｂ）および図２１はそれぞれパリティ＝１の画素についての画素値ｉとその累積出現頻度Ｔｏｔａｌ１２８＋ｉとの関係の例を示す図である。更に、図２０，図２２および図２４はそれぞれ本第２実施形態の画像形成装置１０ｂのソート部１４ｂによる配列Ｏｒｄｅｒの作成過程の例を示す図であって、図２５は本発明の第２実施形態の画像形成装置のソート部１０ｂによって作成された配列Ｏｒｄｅｒの例を示す図である。なお、ソートの初期段階においては、出現頻度Ｎｕｍｉおよび累積出現頻度Ｔｏｔａｌｉにはそれぞれ０が設定されているものとする。
【００７２】
ソート部１４ｂは、画像取得部１３によってメモリ上に展開された多値画像（図１５参照）から、この多値画像を形成する画素であって、そのｘ−ｙ座標の原点に最も近い画素から順番に画素を一つ選択して、その画素値を取得し（ステップＣ１０；画素値取得ステップ）、この画素のパリティが０であるか否かを確認する（ステップＣ２０）。その画素のパリティが０の場合には（ステップＣ２０のＹＥＳルート参照）、この取得した画素値ｉに対応する出現頻度Ｎｕｍｉに１を加算する（ステップＣ３０）。そして、ソート部１４ｂは、多値画像を構成する全ての画素について画素値の取得を行なったか否かを確認して（ステップＣ５０）、画素値を未取得の画素がある場合には（ステップＣ５０のＮＯルート参照）、次の画素に移動して（ステップＣ６０）、ステップＣ１０に戻る。
【００７３】
一方、その画素のパリティが０ではない場合、すなわちパリティが１の場合には（ステップＣ２０のＮＯルート参照）、画素値ｉ＋１２８に対応する出現頻度Ｎｕｍｉ＋１２８に１を加算して（ステップＣ４０）、ステップＣ５０に移行する。
すなわち、本第２実施形態においては、上記のステップＣ１０〜Ｃ６０において、メモリ上に展開された多値画像に対して、その左上の画素から右下の画素に向かって、主走査方向への走査と副走査方向への走査とを繰り返し行なうことによって、多値画像を形成する全ての画素の画素値をそれぞれ取得し（画素値取得ステップ）、図１７（ａ），（ｂ）に示すように、多値画像中における画素値ｉの出現頻度Ｎｕｍｉを、各画素のパリティに応じて、その画素値ｉに対応付けてそれぞれ記録するようになっている。
【００７４】
なお、これらの図１７（ａ）に示したパリティが０の画素についての画素値ｉおよび出現頻度Ｎｕｍｉと、図１７（ｂ）に示したパリティが１の画素についての画素値ｉおよび出現頻度Ｎｕｍｉとは、実際には一つの配列Ｏｒｄｅｒにおける前半部分（先頭から０〜１２７番目）と後半部分（先頭から１２８〜２５５番目）とに登録された各内容を、便宜上、別々の図として示したものである。
【００７５】
多値画像を構成する全ての画素の画素値を取得した場合には（ステップＣ５０のＹＥＳルート参照）、次に、ソート部１４ｂは、上記のステップＣ１０〜Ｃ６０において算出した出現頻度Ｎｕｍｉ（図１７（ａ），（ｂ）参照）に基づいて、各画素値ｉの累積出現頻度Ｔｏｔａｌｉ（図１８（ａ），（ｂ）参照）を算出する（ステップＣ７０）。
【００７６】
具体的には、出現頻度Ｎｕｍｉに基づいて、ソート部１４ｂは、前述の式（１）を用いて、各画素値ｉの出現頻度Ｎｕｍｉに、その画素値ｉよりも小さい画素値０〜ｉ−１の各出現頻度Ｎｕｍ０〜Ｎｕｍｉ−１を累計することによって、各画素値ｉの累積出現頻度Ｔｏｔａｌｉを算出する。
次に、ソート部１４ｂは、画像取得部１３によってメモリ上に展開された多値画像（図１５参照）から、再度、そのｘ−ｙ座標の原点に最も近い画素から順番に画素を選択して、その多値画像を形成する画素の画素値を取得し（ステップＣ８０）、その画素のパリティが０であるか否かを確認する（ステップＣ９０）。その画素のパリティが０の場合には（ステップＣ９０のＹＥＳルート参照）、この取得した画素値ｉに対応する出現頻度Ｎｕｍｉに１を加算する（ステップＣ１００）。
【００７７】
そして、ソート部１４ｂは、配列ＯｒｄｅｒにおけるＴｏｔａｌｉ番目の欄に、その画素の座標を示す情報（画像座標値）を入力し（ステップＣ１１０）、多値画像を構成する全ての画素について配列Ｏｒｄｅｒに画像座標値の入力を行なったか否かを確認する（ステップＣ１４０）。未処理の画素がある場合には（ステップＣ１４０のＮＯルート参照）、その主走査方向もしくは副走査方向において隣接する次の画素に移動して（ステップＣ１５０）、ステップＣ８０に戻る。又、多値画像を構成する全ての画素について配列Ｏｒｄｅｒに画像座標値の入力を行なった場合には（ステップＣ１４０のＹＥＳルート参照）、処理を終了する。
【００７８】
一方、その画素のパリティが０ではない場合、すなわちパリティが１の場合には（ステップＣ９０のＮＯルート参照）、画素値ｉ＋１２８に対応する出現頻度Ｎｕｍｉ＋１２８に１を加算した後に（ステップＣ１２０）、配列ＯｒｄｅｒにおけるＴｏｔａｌｉ＋１２８番目の欄に、その画素の座標を示す情報（画像座標値）を入力し（ステップＣ１３０）、ステップＣ１４０に移行する。
【００７９】
すなわち、上記のステップＣ８０〜Ｃ１４０において、ソート部１４ｂは、メモリ上に展開された多値画像に対して、その左上の画素から右下の画素に向かって、主走査方向への走査と副走査方向への走査とを繰り返し行なうことによって、多値画像を形成する全ての画素の画素値をそれぞれ取得し、配列Ｏｒｄｅｒにおける所定箇所にその画像座標値をそれぞれ入力することによって、図２５に示すような配列Ｏｒｄｅｒを作成するようになっており、これにより、多値画像をなす各画素をその画素値に応じた順番に並び替えるようになっている（ソートステップ）。
【００８０】
例えば、図１５に示す５行×５列の画素によって構成される多値画像においては、座標（１，１）の画素のパリティは、上記の式（４）により、（１＋１）％２＝０である。又、この画素の画素値ｉ＝１であるので、画素値ｉ＝１に対応するその時点におけるＴｏｔａｌ１（＝５；図１８（ａ）参照）に１を加算することにより、図１９に示すように、Ｔｏｔａｌ１＝６が算出される。そして、ソート部１４ｂは、配列Ｏｒｄｅｒの６番目に、その画素の座標を示す情報（１，１）（画素座標値）を入力する（図２０参照）。
【００８１】
また、座標（１，２）の画素のパリティは、上記の式（４）により、（１＋２）％２＝１である。又、この画素の画素値ｉ＝０であるので、画素値ｉ＝１２８＋０に対応するその時点におけるＴｏｔａｌ０＋１２８（＝１３；図１８（ｂ）参照）に１を加算することにより、図２１に示すように、Ｔｏｔａｌ１２８＝１４が算出される。そしてソート部１４ｂは、配列Ｏｒｄｅｒの１４番目に、その画素の座標を示す情報を代入する（図２２参照）。
【００８２】
次に、座標（１，３）の画素のパリティは、上記の式（４）により、（１＋３）％２＝０である。又、この画素の画素値ｉ＝３であるので、画素値ｉ＝３に対応する、その時点におけるＴｏｔａｌ３（＝７；図１８（ａ）参照）に１を加算することにより、図２３に示すように、Ｔｏｔａｌ３＝８が算出される。そしてソート部１４ｂは、配列Ｏｒｄｅｒの８番目に、その画素の画素座標値を入力する（図２４参照）。以下、このようにして、多値画像を構成する全ての画素について、その画素値に基づいてパリティを求め、各パリティに関係する各配列Ｏｒｄｅｒへの入力をそれぞれ繰り返し行なうことにより、図２５に示すような、多値画像を構成する全ての画素をその画素値に応じた順番に並び替えて構成された配列Ｏｒｄｅｒが作成されるのである。
【００８３】
そして、２値化処理部１５は、ソート部１４ｂによって作成された配列Ｏｒｄｅｒに従って、多値画像中から２値化を行なう注目画素を順次選択し、この注目画素の値を２値化する。
また、本第２実施形態の画像形成装置１０ｂにおいては、誤差拡散部１６ｂは、２値化処理部１５による注目画素についての２値化に伴って生じた誤差を、その注目画素とパリティが同じの未２値化画素に対して拡散させるようになっている。
【００８４】
図２６は本発明の第２実施形態における画像形成装置１０ｂの誤差拡散部１６ｂによる拡散手法を説明するための図である。この図２６は、座標（３，３）の画素（注目画素）について、その２値化によって生じた誤差を拡散する場合について説明しており、８行×８列のマトリクスを構成する各ピクセル内に、便宜上、各画素の座標値（ｘ，ｙ）に基づいて算出した「ｘ＋ｙ」の値を示している。又、この図２６に示す例においては、図１３に示す重み付けパターンに従って誤差の拡散を行なうようになっている。なお、図２６中においては、注目画素に○を付して示しており、又、この注目画素についての誤差拡散を行なう画素に斜線を付して示している。
【００８５】
この図２６に示す例においては、注目画素（座標（３，３））のパリティは（３＋３）％３＝０であるので、この注目画素の近傍における、同じくパリティ０の画素に対して誤差の拡散を行なう。
すなわち、Ｎ＝２の場合において、例えば、座標（３，３）の画素（注目画素）について、２値化を行ない、その２値化に伴って生じた誤差を拡散する場合には、この図２６において斜線を付して示す、座標（３，５），座標（４，２），座標（４，４）および座標（５，３）の未定着の各画素に対して、それぞれ、７：３：５：１の比率で誤差拡散を行なうようになっており、注目画素の主走査方向において隣接する画素や、注目画素の副走査方向において隣接する画素には、ともに誤差拡散を行なわないようになっている。
【００８６】
画像データを、同じ剰余（パリティ）を持つ画素のグループに分け、さらにそのグループ内で画素をその画素値の大きさの順に並べるということは、原画像に対する２値化処理において、指定された値Ｎ離れた画素ごとに２値化処理を行なうことを意味している。これは，従来の誤差拡散法において、注目画素について、その主走査方向側および副走査方向側にそれぞれ隣接する各画素に対して必ず誤差を拡散させていたのとは対照的である。
【００８７】
本第２実施形態の画像形成装置１０ｂにおいては、注目画素から離れた画素に誤差を拡散させる、すなわち、主走査方向もしくは副走査方向において隣接する画素には誤差を拡散させないので、目障りな人工的な模様（ａｒｔｉｆａｃｔｓ）の大きさを制御することができ、又、作業者がＮの値を任意に変更することにより処理画像ごとに目障りな模様を最小にすることも可能である。
【００８８】
このように、本発明の第２実施形態としての画像形成装置１０ｂによれば、上述した第１実施形態と同様の作用効果を得ることができる他、ソート部１４ｂが、仮想平面上における画素について、そのｘ座標の値とｙ座標の値との和をＮ（Ｎは自然数）で除算した余りに応じて、画素をＮ組のグループに組分けし、これらの組分けられた各グループ毎に、それぞれグループを構成する各画素をその画素値に応じた順番に並び替えるようになっているので、多値画像中において、２値化を行なう注目画素として順次選択される画素の非連続（ランダム）性を向上させることができる。これにより、誤差拡散が行なわれる画素も非連続的になり、２値化後の画像において、原画像（多値画像）に無いモアレや目障りな模様（ａｒｔｉｆａｃｔ）を低減することができる。
【００８９】
例えば、原画像（多値画像）において、同一の画素値を有する画素が連続するような部分や、なだらかに階調が変化するような部分（グラデーション部分）についても、注目画素として順次選択される画素の位置が、その直前に注目画素として選択された画素と主走査方向および副走査方向において隣接することがなく、誤差拡散が行なわれる画素も非連続的になるのである。
【００９０】
また、Ｎの値をオペレータ等が任意に変更することにより、連続して２値化及び誤差拡散を行なう画素の間隔を簡単に変更することができ、これによって、モアレや目障りな模様（ａｒｔｉｆａｃｔ）の発生を制御することができる。
（Ｃ）第１実施形態および第２実施形態の変形例の説明
図２７は本発明の第１実施形態および第２実施形態の変形例としての画像形成装置１０ｃをそなえた画像形成システム１ｃの構成を模式的に示す図である。
【００９１】
本変形例としての画像形成装置１０ｃをそなえた画像形成システム１ｃも、図２７に示すように、ＰＣ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ）２と画像形成装置（プリンタ）１０ｃとをそなえて構成され、ＰＣ２によって作成・取得した多値画像（連続色調画像；原画像）を画像形成装置１０ｃによって印刷するものである
画像形成装置１０ｃは、図２７に示すように、第１実施形態の画像形成装置１０ａの２値化部１１ａに代えて２値化部１１ｃをそなえている。又、２値化部１１ｃは、第１実施形態の画像形成装置１０ａの誤差拡散部１６ａに代えて、誤差拡散部１６ｃをそなえるとともに、変更処理部１７をそなえて構成されている。なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その説明は省略する。
【００９２】
図２８（ａ）〜（ｃ）はそれぞれ誤差拡散法における重み付けパターンの例を示す図であり、各図中において●で示された注目画素における誤差Ｚをどのような比率で注目画素周辺の未走査画素に拡散するかを示すものである。
本変形例としての画像形成装置１０ｃにおける誤差拡散部１６ｃは、図１３に示す重み付けパターンに加えて、図２８（ａ）〜（ｃ）に示すような他の重み付けパターンをも有しており、これらの複数（本変形例では４）種類の重み付けパターンに基づいても、注目画素の周辺の複数の未走査画素にその誤差Ｚを比例配分することにより誤差拡散を行なうことができるようになっている。
【００９３】
なお、誤差拡散部１６ｃは、図２８（ａ）〜（ｃ）に示す各重み付けパターンを用いた場合においても、上述の図１３に示す重み付けパターンを用いた場合と同様にして注目画素についての誤差拡散を行なうものである。
変更処理部１７は、誤差拡散部１６ｃでの誤差拡散手法を、多値画像の走査に伴い、所定の方式に従って変更するものであって、例えば、図１３，図２８（ａ）〜（ｃ）に示す複数（本変形例では４）の重み付けパターンを図１３，図２８（ａ），図２８（ｂ），図２８（ｃ），図１３，図２８（ａ），図２８（ｂ）…の順序で選択して変更する。すなわち、変更処理部１７は、誤差拡散部１６ｃにおける重み付けパターンを所定の順序で（あるいはランダムに）選択して変更することにより誤差拡散手法を変更するようになっている（変更ステップ）。
【００９４】
また、変更処理部１７は、所定のタイミングでこれらの誤差拡散手法を変更するようになっている。なお、この誤差拡散手法の変更のタイミングとしては、例えば、画素毎に誤差拡散手法を変更してもよく、又、所定数の画素に対して２値化処理等を行なう度に誤差拡散手法を変更してもよく、本発明の趣旨を逸脱しない範囲で種々変更することができる。
【００９５】
図２９（ａ），（ｂ）は誤差拡散の他の重み付パターンの例を示す図であって、図２９（ａ）はＪａｖｉｓ，Ｊｕｄｉｃｅ　ａｎｄ　Ｎｉｎｋｅによる誤差拡散法の重み付けパターンを示す図、図２９（ｂ）はＳｔｕｃｋｉによる誤差拡散法の重み付けパターンを示す図である。
これらの図２９（ａ），（ｂ）に示す誤差拡散法も注目画素における誤差Ｚを、注目画素周辺の未走査画素に比例配分する手法であり、上述した図１３や図２８（ａ），（ｂ），（ｃ）等に示す誤差拡散法と比較して、誤差Ｚの比例配分を行なう未走査画素の領域をより広範囲に拡大したものである。
【００９６】
なお、図２９（ａ）に示す誤差拡散法の重み付けパターンはＪａｖｉｓ，Ｊｕｄｉｃｅ　ａｎｄ　Ｎｉｎｋｅによる誤差拡散法として一般に知られているものであり、又、図２９（ｂ）に示す誤差拡散法の重み付けパターンはＳｔｕｃｋｉによる誤差拡散法として一般に知られているものである。
そして、本手法においては、誤差拡散部１６ｃが、図２９（ａ）に示す重み付けパターンと、図２９（ｂ）に示す重み付けパターンとのいずれかを用いて誤差Ｚを比例配分（拡散）し、又、変更処理部１７が、これらの重み付けパターンを相互に変更する他は、前述の手法とほぼ同様の処理を行なう。
【００９７】
また、変更処理部１７による誤差拡散手法の変更の仕方としては、上述の如く重み付けパターンを変更する手法、および、異なる誤差拡散法に変更する手法の２種類の変更手法から、所望の変更手法を選択できるようにしてもよい。
このように、本発明の第１実施形態および第２実施形態の変形例としての画像形成装置１０ｃによれば、上述した第１実施形態および第２実施形態と同様の作用効果を得ることができる他、誤差拡散部１６ｃが、図１３，図２８（ａ）〜（ｃ）および図２９（ａ），（ｂ）に示すような重み付けパターンを用いて誤差を注目画素周辺の複数の未走査画素に比例配分するとともに、変更処理部１７が、これらの重み付けパターンの中から１の重み付けパターンを順番にもしくはランダムに選択して変更するので、これによっても、原画像（多値画像）に無いモアレや目障りな模様（ａｒｔｉｆａｃｔ）を目立たなくすることができる。
【００９８】
また、本発明は上述した第１，第２の各実施形態およびこれらの変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した第１実施形態および第２実施形態においては、図１３，図２８（ａ）〜（ｃ）に示す重み付けパターンを用いて誤差拡散を行なっているが、これに限定されるものではなく、例えば、図２９（ａ），（ｂ）に示すような他の重み付けパターンを用いて誤差拡散を行なってもよい。又、他の実施形態および変形例においても、図１３，図２８（ａ）〜（ｃ）に示す重み付けパターンを用いて誤差拡散を行なってもよく、又、これら以外の重み付けパターンや誤差拡散手法を用いて誤差拡散を行なってもよい。
【００９９】
また、上述した第２実施形態では、Ｎ＝２の場合について説明しているが、これに限定されるものではなく、Ｎ＝２以外の数値（Ｎは自然数）を用いてもよい。
図３０は本発明の第２実施形態における画像形成装置１０ｂの変形例を説明するための図であって、Ｎ＝３の場合の誤差の拡散手法を説明するための図である。この図３０は、座標（３，３）の画素（注目画素）について、その２値化によって生じた誤差を拡散する場合について説明しており、８行×８列のマトリクスを構成する各ピクセル内に、便宜上、各画素の座標値（ｘ，ｙ）に基づいて算出した「ｘ＋ｙ」の値を示している。又、この図３０に示す例においては、図１３に示す重み付けパターンに従って誤差の拡散を行なうものである。
【０１００】
なお、図３０中においては、注目画素に○を付して示しており、又、この注目画素についての誤差拡散を行なう画素（パリティ＝０の未２値化画素）に斜線を付して示している。
この図３０に示す例においては、注目画素（座標（３，３））のパリティは（３＋３）％３＝０であるので、この注目画素の近傍における、同じくパリティ０の画素に対して誤差の拡散を行なうようになっている。ここで、注目画素の近傍における誤差拡散を行なう画素の選択は、以下の（１）〜（５）の各条件を満たす画素を、これらの（１）〜（５）の優先順位に従って行なうことが望ましい。
【０１０１】
（１）未２値化画素。
（２）パリティが同一である画素。
（３）注目画素に対して、主走査方向において一致する画素。
（４）注目画素に対して、副走査方向において一致する画素。
（５）副走査方向において上流側に位置する画素（先に走査される画素）
すなわち、Ｎ＝３の場合において、例えば、座標（３，３）の画素（注目画素）について、２値化を行ない、その２値化に伴って生じた誤差を拡散する場合には、この図３０において斜線を付して示す、座標（３，６），座標（４，２），座標（４，５）および座標（６，３）の未定着の各画素に対して、それぞれ、７：３：５：１の比率で誤差拡散を行なうのである。
【０１０２】
また、上述した各実施形態および変形例においては、誤差拡散部１６ａ，１６ｂは、図１３，図２８（ａ）〜（ｃ）および図２９（ａ），（ｂ）等に示した重み付パターンに基づいて、注目画素に対して主走査方向側および副走査方向側に位置する未２値化画素に対して誤差拡散を行なっているが、これに限定されるものではなく、例えば、注目画素のいずれの画素に対して誤差拡散を行なってもよい。
【０１０３】
例えば、誤差拡散部１６ａ，１６ｂは、注目画素に対して主走査方向とは反対側もしくは副走査方向とは反対側（走査方向とは反対側）に位置する未２値化画素に対して誤差拡散を行なってもよい。すなわち、例えば、注目画素を中心とした全方向（８方向等）のうちいずれかの方向に位置する未２値化画素に対して誤差拡散を行なってもよい。
【０１０４】
図３１はＮ＝２の場合において、注目画素の斜め方向に隣接する未２値化画素に対して誤差拡散を行なう場合の誤差拡散手法の処理イメージを模式的に示す図である。Ｎ＝２の場合においては、この図３１に示すように、注目画素の主走査方向および副走査方向に位置する画素には誤差拡散を行なうことがないのである。
【０１０５】
また、上述した第１，第２実施形態およびこれらの変形例においては、ソート部１４ａ，１４ｂが、画素を画素値の昇順に並び替えて配列Ｏｒｄｅｒを作成し、２値化処理部１５や誤差拡散部１６ａ，１６ｂ，１６ｃが、この配列Ｏｒｄｅｒの順番に従って画素を選択し各処理を行なっているが、それに限定されるものではない。例えば、２値化処理部１５や誤差拡散部１６ａ，１６ｂ，１６ｃが、配列Ｏｒｄｅｒに基づいてその逆順に画素を選択して各処理を行なってもよく、又、ソート部１４ａ，１４ｂが、画素を画素値の降順に並び替えて配列Ｏｒｄｅｒを作成してもよい。
【０１０６】
さらに、上述した各実施形態においては、ソート部１４ａ，１４ｂが、多値画像をなす各画素を、その画素値の大きさに従った順番に並び替えて配列Ｏｒｄｅｒを作成しているが、これに限定されるものではなく、多値画像をなす各画素を、その画素の２値化に伴って生じる誤差の大きさに従った順番（昇順，降順）に並び替えてもよい。これにより、ソートに使用するメモリ領域を小さくすることができる。
【０１０７】
（Ｄ）第３実施形態の説明
図３２は本発明の第３実施形態としての画像形成装置をそなえた画像形成システムの機能構成を模式的に示す図である。
本第３実施形態としての画像形成装置１０ｄをそなえた画像形成システム１ｄも、図３２に示すように、ＰＣ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ）２と画像形成装置（プリンタ）１０ｄとをそなえて構成され、ＰＣ２によって作成・取得した多値画像（連続色調画像；原画像）を画像形成装置１０ｄによって印刷するものである。
【０１０８】
本第３実施形態の画像形成装置１０ｄは、図３２に示すように、第１実施形態の画像形成装置１０ａの２値化部１１ａに代えて２値化部１１ｄをそなえるほか分割部１８ｄをそなえている。なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その説明は省略する。
分割部１８ｄは、画像取得部１３によって取得された多値画像を複数の領域に分割するものであって、本第３実施形態においては、多値画像をその先頭部分から行単位に分割するようになっている。又、分割部１８ｄは、その多値画像の１行分の画素データを、画像形成装置１０ｄにそなえられたメモリ（図示省略）上に展開するようになっている。なお、以下、分割部１８ｄによって行毎に分割された個々の多値画像を分割画像という。
【０１０９】
図３３（ａ）は本発明の第３実施形態としての画像形成装置１０ｄによって２値化を行なう多値画像（原画像）の例を示す図、図３３（ｂ）は分割画像の例を示す図である。なお、図３３（ａ），（ｂ）において、数字が記載された各四角形がそれぞれ多値画像（分割画像）を構成する画素を示しており、その数字が各画素の画素値をそれぞれ示している。又、図３３（ａ）中において、原画像中における各画素の座標位置を（ａ，ｂ）の如く示す（ａ，ｂはともに自然数）。
【０１１０】
分割部１８ｄは、図３３（ａ）に示すように、マトリクス状（図３３（ａ）では５行×２５列）に構成された多値画像を、その行毎に分割することにより、図３３（ｂ）に示すような複数の領域（分割画像；図３３（ｂ）に示す例においては５つ（５行）の領域）に分割するようになっている。又、分割部１８ｄは、この分割画像を配列ＩｎｉｍａｇｅＬとして画像形成装置１０ｄのメモリ上に展開するようになっている。この配列ＩｎｉｍａｇｅＬは、分割画像を構成する画素の順番に従ってその画素値を配置することによって構成されるものである。なお、以下、多値画像における分割画像の位置（先頭行からの順番）を符号Ｌを用いて示すこととし、便宜上、多値画像における先頭行からＬ行目の分割画像を配列ＩｎｉｍａｇｅＬと示す。
【０１１１】
２値化部１１ｄは、分割部１８ｄによって分割された分割画像毎（領域毎）に多値画像を２値画像に変換するものであって、図３２に示すように、ソート部１４ｄ，２値化処理部１５および誤差拡散部１６ｄをそなえて構成されている。又、この２値化部１１ｄは、分割部１８ｄによって形成された各分割画像を、その原画像における順番に従って、その先頭から順次処理するようになっている。
【０１１２】
ソート部１４ｄは、分割部１８ｄによって分割された各領域（分割画像）毎に、その分割画像をなす各画素をその画素値に応じた順番に並び替えるものである。具体的には、ソート部１４ｄは、上述の如くメモリ空間上に展開された分割画像を走査し、この分割画像をなす各画素をその画素の２値化によって生じる誤差値に応じた順番に並び替える（ソートする）ようになっており、分割画像をなす各画素をその誤差値に応じて並び替えることによって配列Ｏｒｄｅｒ（図４３参照）を作成するようになっている。すなわち、ソート部１４ｄは、注目画素（画素値：ｅ）についての２値化に伴って生じる誤差値Ｚを、前述した式（２），（３）に従って算出するようになっている。
【０１１３】
配列Ｏｒｄｅｒは、２値化処理部１５が２値化処理を行なう画素の順番を示すものであって、多値画像を形成する各画素について、その多値画像中における位置を示す情報（例えば座標情報等）を、その誤差値Ｚの順番（昇順もしくは降順）に従って配置する（並べる）ことによって構成されており、２値化処理部１５は、この配列Ｏｒｄｅｒの順番に従って順番に２値化を行なう注目画素を選択し、その注目画素の２値化を行なうようになっている。なお、本実施形態においては、ソート部１４ｄはバケット法を用いて画素のソートを行なうようになっており、又、ソート部１４ｄは、各画素を当該画素の２値化によって生じる誤差の昇順に並び替えるようになっている。
【０１１４】
ここで、本第３実施形態の画像形成装置１０ｄにおけるソート部１４ｄによるバケット法を用いたソート手法を、図３３（ｂ），図３５〜図４３を参照しながら、図３４に示すフローチャート（ステップＤ１０〜Ｄ１２０）に従って説明する。なお、図３５は誤差値Ｚとその出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺとの関係の例を示す図、図３６，図３７，図３９および図４１はそれぞれ誤差値Ｚとその累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺとの関係の例を示す図、図３８，図４０および図４２はそれぞれ本発明の第３実施形態としての画像形成装置１０ｄのソート部１４ｄが作成する配列Ｏｒｄｅｒの作成過程の例を示す図、図４３はそのソート部１４ｄによって作成された配列Ｏｒｄｅｒの例を示す図である。
【０１１５】
なお、以下、図３３（ｂ）におけるＬ＝１の分割画像についてソートを行なう場合について説明する。又、ソートの初期段階においては、出現頻度Ｅｒｒｏｒ＿ｌｅｖｅｌＺおよび累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺにはそれぞれ０が設定されているものとする。又、以下、分割部１８ｄによって画像形成装置１０ｄのメモリ上に一列に配置された各画素について、その先頭からｊ番目（ｊ列目；ｊは１〜ｍの自然数。図３３（ｂ）に示す例ではｍ＝２５）の画素を画素ｊと表わすとともに、当該画素の画素値を画素値ｉとして表わす。
【０１１６】
また、画像形成装置１０ｄのメモリ上に展開された分割画像を構成する各画素について、その分割画像中における先頭からの位置（座標位置）を、図３３（ｂ）に示すように、座標（ｊ）の如く示す。
ソート部１４ｄは、先ず、ｊ＝１と設定し（ステップＤ１０）、分割部１８ｄによってメモリ上に展開された分割画像（Ｌ＝１；図３３（ｂ）参照）から、その１番目の画素（図３３（ｂ）では左端の画素）を一つ選択して、その画素値ｉを取得する。そして、ソート部１４ｄは、この取得した画素値ｉに基づいて。前述の式（２），（３）を用いて誤差値Ｚを算出する（ステップＤ２０）。
【０１１７】
そして、ソート部１４ｄは、その誤差値Ｚに対応する出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺに１を加算した後（ステップＤ３０）、ｊ＞ｍであるかを確認することにより、多値画像を構成する全ての画素について誤差値Ｚの算出を行なったか否かを確認する（ステップＤ４０）。
ここで、誤差値を算出（取得）していない画素がある場合には（ステップＤ４０のＮＯルート参照）、ｊ＝ｊ＋１にすることにより、その主走査方向において隣接する次の画素に移動して（ステップＤ５０）、ステップＤ２０に戻る。
【０１１８】
すなわち、分割部１８ｄによって分割されメモリ上に展開された一行分の多値画像（分割画像）に対して、上記のステップＤ１０〜Ｄ５０において、その左端の画素から右端の画素に向かって主走査方向への走査を行なうことによって、その分割画像を形成する全ての画素の画素値をそれぞれ取得し（画素値取得ステップ）、各画素について誤差値を算出して、図３５に示すように、多値画像中における各画素の誤差値Ｚについて、その出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺを各誤差値Ｚに対応付けて記録するようになっている。
【０１１９】
分割画像を構成する全ての画素の誤差値を取得した場合には（ステップＤ４０のＹＥＳルート参照）、ソート部１４ｄは、次に、ステップＤ１０〜Ｄ５０において算出した出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺ（図３５参照）に基づいて、各誤差値Ｚについて、その累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺ（図３６参照）を算出する（ステップＤ６０）。
【０１２０】
具体的には、ソート部１４ｄは、出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺに基づいて、各誤差値Ｚの出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺに、その誤差値Ｚよりも小さい誤差値０〜誤差値Ｚ−１の各出現頻度Ｅｒｒｏｒ＿Ｌｅｖｅｌ０〜Ｅｒｒｏｒ＿ＬｅｖｅｌＺ−１を累積することによって、各誤差値Ｚの累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺを算出する。
【０１２１】
すなわち、以下に示す式（５）によって、誤差値Ｚ（Ｚ：自然数）に対応する累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺを算出する。
【０１２２】
【数２】
2004064720.tif 000004
【０１２３】
・・・（５）
ただし、本実施形態においては、ソート部１４ｄは、画素の並び替えを行なうに際して、便宜上、並び替え後の先頭になるべき画素の画素値（本実施形態においては誤差値Ｚ＝０）の累積出現頻度Ｅｒｒｏｒ＿Ｔｏｔａｌ０には、最初、図３６に示すように、０を設定するようになっている。
【０１２４】
次に、ソート部１４ｄは、再度、ｊ＝１と設定し（ステップＤ７０）、分割部１８ｄによってメモリ上に展開された多値画像（図３３（ｂ）参照）から、その１番目の画素（図３３（ｂ）では左端の画素）を一つ選択して、その画素値ｉを取得する。そして、ソート部１４ｄは、この取得した画素値ｉに基づいて、再度、誤差値Ｚを算出する（ステップＤ８０）。
【０１２５】
その後、ソート部１４ｄは、今度は、その算出した誤差値Ｚに基づいて、その誤差値Ｚに対応する累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺに１を加算する（ステップＤ９０）。
そして、ソート部１４ｄは、配列Ｏｒｄｅｒにおける先頭からＥｒｒｏｒ＿ＴｏｔａｌＺ番目の欄に、その画素の座標を示す情報（画像座標値）を入力した後（ステップＤ１００）、ｊ＞ｍであるかを確認することにより、分割画像を構成する全ての画素について配列Ｏｒｄｅｒにその画像座標値の入力を行なったか否かを確認する（ステップＤ１１０）。
【０１２６】
ここで、分割部１８ｄによってメモリ上に展開された分割画像において未処理の画素がある場合には（ステップＤ１１０のＮＯルート参照）、ｊ＝ｊ＋１にすることにより、その主走査方向方向において隣接する次の画素に移動して（ステップＤ１２０）、ステップＤ８０に戻る。又、分割部１８ｄによってメモリ上に展開された分割画像の全ての画素について配列Ｏｒｄｅｒに画像座標値の入力を行なった場合には（ステップＤ１１０のＹＥＳルート参照）、処理を終了する。
【０１２７】
すなわち、上記のステップＤ７０〜Ｄ１２０において、ソート部１４ｄは、メモリ上に展開された分割画像に対して、その左端の画素から右端の画素に向かって主走査方向への走査を行なうことによって、その分割画像を形成する全ての画素の画素値をそれぞれ取得する。そして、各画素について誤差値を算出して配列Ｏｒｄｅｒにおける所定箇所にその画像座標値をそれぞれ入力することによって、図４３に示すような配列Ｏｒｄｅｒを作成するようになっており、これにより、分割画像をなす各画素をその誤差値に応じた順番に並び替えるようになっている（ソートステップ）。
【０１２８】
例えば、図３３（ｂ）に示すＬ＝１の分割画像においては、座標（１）の画素は画素値ｉ＝１であるので、その２値化によって生じる誤差値Ｚ＝１である。従って、この誤差値Ｚ＝１に対応する、その時点におけるＥｒｒｏｒ＿Ｔｏｔａｌ１（＝６；図３６参照）に１を加算することにより、図３７に示すように、Ｅｒｒｏｒ＿Ｔｏｔａｌ１＝７が算出される。そして、ソート部１４ａは、配列Ｏｒｄｅｒの先頭から７番目に、その画素の画像座標値（１）を入力する（図３８参照）。
【０１２９】
また、座標（２）の画素は画素値ｉ＝０であるので、その２値化によって生じる誤差値Ｚ＝０である。従って、この誤差値Ｚ＝０に対応する、その時点におけるＥｒｒｏｒ＿Ｔｏｔａｌ０（＝０；図３７参照）に１を加算することにより、図３９に示すように、Ｅｒｒｏｒ＿Ｔｏｔａｌ０＝１が算出される。そしてソート部１４ｄは、配列Ｏｒｄｅｒの先頭から１番目に、その画素の画像座標値を入力する（図４０参照）。
【０１３０】
次に、座標（３）の画素は画素値ｉ＝３であるので、その２値化によって生じる誤差値Ｚ＝３である。従って、この誤差値Ｚ＝３に対応する、その時点におけるＥｒｒｏｒ＿Ｔｏｔａｌ３（＝１２；図３９参照）に１を加算することにより、図４１に示すように、Ｅｒｒｏｒ＿Ｔｏｔａｌ３＝１３が算出される。そしてソート部１４ｄは、配列Ｏｒｄｅｒの先頭から１３番目に、その画素の画像座標値を入力する（図４２参照）。以下、このようにして、分割画像を構成する全ての画素について、その画素値（誤差値）に基づいて配列Ｏｒｄｅｒへの入力を繰り返し行なうことにより、図４３に示すような、多値画像を構成する全ての画素をその画素値に応じた順番に並び替えて構成された配列Ｏｒｄｅｒが作成されるのである。
【０１３１】
２値化処理部１５は、ソート部１４ｄによって作成された配列Ｏｒｄｅｒに従って、分割画像中から２値化を行なう注目画素を順次選択し、この注目画素の値を２値化するようになっている。すなわち、２値化処理部１５は、分割部１８ｄによって分割された分割画素（領域）毎に、ソート部１４ｄによって並べ替えられた順番に従って２値化を行なう注目画素を選択し、この注目画素の値を２値化するものである。
【０１３２】
２値化処理部１５は、多値画像における注目画素の値（画素値：ｅ）を所定値（例えば１２８）と比較して、注目画素の画素値ｅが所定値以上（ｅ≧１２８）の場合には注目画素の画素値を２５５（ＯＮ）として、Ｏｕｔｉｍａｇｅ配列（図示省略）に記録する。又、注目画素の画素値が所定値よりも小さい（ｅ＜１２８）場合には注目画素の画素値ｅを０（ＯＦＦ）としてＯｕｔｉｍａｇｅ配列に記録する。このＯｕｔｉｍａｇｅ配列は、２値化後の画素値（０もしくは２５５）を記録するものであって、各画素の２値化後の画素値を配列Ｉｎｉｍａｇｅにおける画素の位置に対応させて記録するようになっており、画像形成装置１０ａのＲＤＭ上等の所定の領域に記録されるようになっている。
【０１３３】
誤差拡散部１６ｄは、注目画素についての２値化処理部１５による２値化に伴って生じた誤差値Ｚを前述の式（２），（３）を用いて算出し、この誤差値Ｚを注目画素周辺の未走査画素に拡散させるものである。
この誤差拡散部１６ｄは、注目画素の２値化に伴って生じた誤差値Ｚを注目画素周辺の未２値化画素（未走査画素）に拡散させるようになっており、この注目画素における誤差値Ｚを、図４４に示すような重み付けパターン（重み係数；後述）に基づき、注目画素の周辺の複数の未２値化画素に比例配分することにより拡散する。
【０１３４】
誤差拡散部１６ｄは、注目画素に隣接する各画素について、２値化が行なわれているか否かの判断を行なうようになっている。なお、注目画素の近傍の画素が未２値化画素であるか否かの判断は、その画素の画素値が０もしくは２５５であるか否かを調べ、０もしくは２５５の場合に２値化済であると判断してもよく、又、配列Ｏｒｄｅｒに登録されている内容（順番）を確認することによって行なってもよい。
【０１３５】
また、本第３実施形態においては、誤差拡散部１６ｄは、分割部１８ｄによって行毎に分割され、メモリ上に展開された多値画像に対して誤差拡散を行なうのであるが、分割画像をメモリ上に展開する際には、少なくとも、２値化処理部１５によって２値化が行なわれている注目画素を含む行の分割画素と、その分割画素に隣接する２値化を行なっていない行の分割画像（すなわち、現画像においてその行（分割画素）の下側に位置する分割画像）との２行分の分割画像を展開し、これらの２行分の多値画像において誤差拡散を行なうようになっている。
【０１３６】
本実施形態においては、誤差拡散部１６ｄによる誤差拡散の結果（拡散された誤差の値）は、例えば配列Ｅｒｒｏｒ（図示省略）に一時的に記録されるようになっている。この配列Ｅｒｒｏｒは、各画素に拡散（分配）された誤差の値を配列Ｉｎｉｍａｇｅにおける画素の位置に対応させて記録するようになっており、画像形成装置１０ｄのＲＡＭ上の所定の領域に記録されるようになっている。
【０１３７】
そして、この誤差拡散部１６ｄは、配列Ｉｎｉｍａｇｅに配列Ｅｒｒｏｒを加算することにより未２値化の各画素に誤差拡散を行なうようになっている。例えば、多値画像のｐ行目を構成する分割画素（配列Ｉｎｉｍａｇｅｐ）における注目画素に対して２値化を行なう場合には、そのｐ行目の分割画像に対する２値化処理によって生じた、ｐ＋１行目の誤差に拡散すべき誤差は配列Ｅｒｒｏｒｐ＋１に記録される。そして、配列Ｉｎｉｍａｇｅｐ＋１に配列Ｅｒｒｏｒｐ＋１を加算することにより誤差拡散後の配列Ｉｎｉｍａｇｅｐ＋１が作成されるのである。
【０１３８】
図４４は誤差拡散法における重み付けパターンの例を示す図であり、図中において●で示された注目画素における誤差値Ｚをどのような比率で注目画素周辺の未２値化画素に拡散するかを示すものである。本第３実施形態においては、この図４４に示す重み付けパターンを用いて、注目画素における誤差を、その注目画素に隣接する未２値化画素に拡散（配分）するようになっている。
【０１３９】
本第３実施形態においては、分割部１８ｄが、原画像をその先頭部分から主走査方向（図３３（ａ）の右側）に沿って順番に１行毎に分割することにより複数の分割画素を形成し、２値化部１１ｄが、これらの複数の分割画素に対して順番に、ソート，２値化処理および誤差拡散の各処理をそれぞれ行なうようになっている。従って、注目画素に対して、注目画素が含まれる行よりも上側（副走査方向の反対方向）の行を構成する全ての画素は既に２値化されており、又、注目画素が含まれる行よりも下側（副走査方向）の行を構成する全ての画素は２値化が行なわれていない。
【０１４０】
従って、誤差拡散部１６ｄは、注目画素が含まれる行の上側と下側の各行の画素については２値化されているか否かを判断する必要がない。すなわち、本第１実施形態の画像形成装置１０ｄにおいては、誤差拡散部１６ｄは、注目画素と同じ行の画素についてのみ２値化が行なわれているか否かを判断すればよいようになっている。
【０１４１】
すなわち、図４４に示す重み付けパターンは、注目画素の主走査方向およびその反対方向において隣接する２つの画素（配分比率＝７）および注目画素の下側の行において注目画素に隣接する３つの画素（配分比率＝１，５，３）に対して、注目画素の２値化によって生じた誤差を拡散（配分）させるためのものである。
【０１４２】
ここで、図４４に示す重み付けパターンに基づいて誤差拡散を行なう場合について簡単に説明すると、例えば、注目画素の画素値ｅ＝１００（ｅ＜１２８）の場合には誤差値Ｚ＝１００であるので、誤差拡散部１６ｄは、１００×７／２３を注目画素ｅの主走査方向およびその反対方向に位置する未走査の隣接画素にそれぞれ付加する。
【０１４３】
同様にして、１００×５／２３を注目画素の副主走査方向に位置する隣接画素に、１００×３／２３を注目画素の主走査方向と副走査方向との間（図４４中においては注目画素の右下側）に位置する隣接画素に、更に、１００×１／２３を注目画素の主走査方向とは反対方向と副走査方向との間（図４４中においては注目画素の左下側）に位置する隣接画素に付加することにより、注目画素についての誤差を注目画素周辺の未走査画素に比例配分（拡散）する。
【０１４４】
また、重み付けパターンにより誤差拡散の対象として設定された、注目画素に隣接する５つの画素であっても、既に２値化処理が行なわれた（２値化済）画素については誤差の拡散を行なわないようになっている。
このような２値化済の画素については、誤差拡散の対象として設定された画素中におけるその２値化済の画素以外の画素に対して、誤差拡散に用いる重み付けパターンにおけるその画素に対応する比率を除外して誤差拡散を行なうようになっている。例えば、図４４に示す例において、注目画素の主走査方向に隣接する画素（重み係数＝７）が既に２値化されている場合には、その画素を除いた他の４画素に対して、それぞれ７／１６，３／１６，５／１６および１／１６の割合で注目画素の誤差を拡散させるのである。なお、これらの割合の分母の「１６」は、「７＋３＋５＋１」によって求められるものである。
【０１４５】
また、注目画素の近傍の画素が未２値化画素であるか否かの判断は、その画素の画素値が０もしくは２５５であるか否かを判断することによって行なってもよく、又、配列Ｏｒｄｅｒに登録されている順番を確認することによって行なってもよい。
ここで、本発明の第３実施形態としての画像形成装置１０ｄの２値化部１１ｄにおける２値化処理および誤差拡散処理を、図４５に示すフローチャート（ステップＥ１０〜Ｅ６０）に従って説明する。
【０１４６】
２値化部１１ｄは、先ずｊ＝１と設定する（ステップＥ１０）。２値化処理部１５は、ソート部１４ｄによって作成された配列Ｏｒｄｅｒにおけるｊ番目の画素を、メモリ上に展開された分割画像（図３３（ｂ）参照）から注目画素として選択して、その画素に対して２値化を行なう（ステップＥ２０）。
誤差拡散部１６ｄは、注目画素の主走査方向およびその反対方向（水平方向）において隣接する２つの画素（水平２画素）から、２値化を行なっていない画素（未２値化画素）を検索し（ステップＥ３０）、これらの水平２画素の未２値化画素と、注目画素よりも下側の行において注目画素に隣接する３画素に対して、重み付けパターン（図４４参照）に従って誤差拡散を行なう（ステップＥ４０）。
【０１４７】
誤差拡散部１６ｄは、ｊ＞ｍであるかを確認することにより、分割画像を構成する全ての画素について２値化および誤差拡散を行なったか否かを確認し（ステップＥ５０）、配列Ｏｒｄｅｒにおける全ての画素について処理を行なっていない場合には（ステップＥ５０のＮＯルート参照）、ｊ＝ｊ＋１にすることにより、配列Ｏｒｄｅｒにおける次の画素に移動して（ステップＥ６０）、ステップＥ２０に戻る。又、配列Ｏｒｄｅｒにおける全ての画素について処理を行なった場合には（ステップＥ５０のＹＥＳルート参照）、処理を終了する。
【０１４８】
次に、上述の如く構成された本発明の第３実施形態としての画像形成装置１０ｄをそなえた画像形成システム１ｄにおける２値化手法を、図４６に示すフローチャート（ステップＦ１０〜Ｆ６０）に従って説明する。
ＰＣ２が印刷を行なう画像の画素データを画像形成装置１０ｄに転送すると、画像取得部１３がその画素データを受け取り（画像取得ステップ）、分割部１８ｄがその画素データを１行毎の分割画像に分割する（分割ステップ）。なお、以下、現画像を分割して作成された分割画像の総数をｓ（図３３（ａ），（ｂ）に示す例においてはｓ＝５）とし、又、処理を行なう分割画像を変数Ｌ１を用いて示す。
【０１４９】
まず、２値化部１１ｄは、Ｌ１＝１を設定することにより、分割部１８ｄによって形成された複数の分割画像の中から、先頭の分割画像を選択し（ステップＦ１０）、その１行分の分割画像を画像形成装置１０ｄのメモリに展開する（ステップＦ２０）。
ソート部１４ｄは、その分割画像を構成する画素を、各画素の２値化によって生じる誤差値に応じて並べ替え（ソートステップ）、配列Ｏｒｄｅｒ（図４３参照）を作成する（ステップＦ３０）。
【０１５０】
２値化処理部１５および誤差拡散部１６ｄは、作成された配列Ｏｒｄｅｒに基づいて、ステップＦ１０において選択された分割画像を構成する全ての画素に対して、配列Ｏｒｄｅｒの先頭に登録された画素から順番に、注目画素の選択，選択した注目画素の値の２値化（２値化ステップ）、及び、この２値化によって生じた誤差の拡散（誤差拡散ステップ）を繰り返し行なう（ステップＦ４０）。
【０１５１】
２値化部１１ｄは、Ｌ１≧ｓであるか否かを判断することにより、上記処理を原画像の最後の行に対してまで行なったか否かを判断し（ステップＦ５０）、Ｌ１≧ｓの場合（最後の行まで行なった場合）には（ステップＦ５０のＹＥＳルート参照）、処理を終了する。一方、Ｌ１≧ｓではない場合（最後の行まで行なっていない場合）には（ステップＦ５０のＮＯルート参照）、Ｌ１＝Ｌ１＋１とすることにより次の行（分割画素）に移行した後（ステップＦ６０）、ステップＦ２０に戻る。
【０１５２】
そして、画像形成部１２は、上述の如く形成された２値化画像に基づいて、媒体上に画像を形成するのである。なお、画像形成部１２は、分割画素毎に画像の形成を行なってもよく、又、複数の分割画像についての２値化画像を取得してから、これらの複数の分割画像についてまとめて画像形成を行なってもよい。
このように、本発明の第３実施形態としての画像形成装置１０ｄによれば、分割部１８ｄが、画像取得部１３によって取得された多値画像をその先頭部分から行単位に分割し、この分割部１３ｄによって作成された分割画像毎に、ソート部１４ｄが、分割画像をなす各画素をその画素値（誤差値）に応じた順番に並び替えて配列Ｏｒｄｅｒを作成し、２値化処理部１５がこの配列Ｏｒｄｅｒに従って多値画像を構成する各画素を順番に２値化するとともに、誤差拡散部１６ｄが誤差拡散を行なうので、２値化処理（２値化および誤差拡散）等を行なうために多値画像（分割画像）等を展開するメモリ領域を小さくすることができる。これにより、画像形成装置１０ｄの製造コストを低減することができる。
【０１５３】
また、２値化部１１ｄにおいて、分割画像毎に２値化および誤差拡散を行なうとともに、原画像における先頭行（先頭の分割画像）から順番に処理を行なうようになっているので、注目画素の下側の行（副走査方向に隣接する行；ただし、最下端以外の行を除く）には必ず未２値化済の画素が位置する。従って、２値化の誤差を常に注目画素の下の行へ拡散させることができ、誤差が拡散されずに特定の画素へ集中することを防ぐことができる。
【０１５４】
さらに、ソート部１４ｄが、分割画像をなす各画素をその誤差値に応じた順番に並び替えて配列Ｏｒｄｅｒを作成し、この配列Ｏｒｄｅｒに従って、２値化処理部１５が分割画像を構成する各画素を順番に２値化し、又、誤差拡散部１６ｄが誤差拡散を行なうので、分割画像中において、２値化を行なう注目画素として順次選択される画素の位置が画像中において非連続的（ランダム）になり、これにより、誤差拡散が行なわれる画素も非連続的になる。従って、２値化後の画像において、原画像（多値画像）に無いモアレや目障りな模様（ａｒｔｉｆａｃｔ）を低減することができる。
【０１５５】
また、ソート部１４ｄが、バケット法を用いて、多値画像をなす画素をその画素値に応じて並び替えを行なうので、画素の並び替えに要する時間を大幅に短縮することができ、配列Ｏｒｄｅｒを高速に作成することができる。これにより、２値化処理に要する時間を短縮することができ、印刷を高速に行なうことができる。
【０１５６】
さらに、２値化処理部１５が、配列Ｏｒｄｅｒに従って、画素値の昇順もしくは降順に従って２値化処理を実施するので、局部的に見ても、又、大きな領域で見ても、任意の連結領域における画素値の平均値の差が信号幅（本実施形態では２５５）に対して１以内に留めることが可能となる。したがって，処理前と後画像の明るさが変わらないという利点もある。
【０１５７】
（Ｅ）第４実施形態の説明
図４７は本発明の第４実施形態としての画像形成装置をそなえた画像形成システムの機能構成を模式的に示す図である。
本発明の第４実施形態としての画像形成装置１０ｅをそなえた画像形成システム１ｅも、図４７に示すように、ＰＣ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ）２と画像形成装置（プリンタ）１０ｅとをそなえて構成され、ＰＣ２によって作成・取得した多値画像（連続色調画像；原画像）を画像形成装置１０ｅによって印刷するものである。
【０１５８】
本第４実施形態の画像形成装置１０ｅは、図４７に示すように、第３実施形態の画像形成装置１０ｄの分割部１８ｄに代えて分割部１８ｅをそなえるほか２値化部１１ｄに代えて２値化部１１ｅをそなえている。なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その説明は省略する。
【０１５９】
図４８は本発明の第３実施形態の画像形成装置１０ｅにおける原画像の分割例を示す図、図４９はその分割画像の例を示す図、図５０（ａ）は本発明の第３実施形態の画像形成装置１０ｅのソート部１４ｅによる配列Ｏｒｄｅｒの例を示す図、図５０（ｂ）はその配列Ｏｒｄｅｒの他の例を示す図である。本第４実施形態の画像形成装置１０ｅにおいては、分割部１８ｅは、図４８に示すように、原画像（多値画像）を、ｎ行×ｍ列の複数（ｔ個；図４８に示す例においてはｔ＝４）の矩形領域（タイリングパターン；分割画像）に分割するようになっている。なお、ｔは分割画像を特定するための数値であって自然数が用いられる。
【０１６０】
また、分割部１８ｅは、作成した分割画像を、図４９に示すように、ｎ行×ｍ列（図４９の例においてはＨｅｉｇｈｔ（ｎ）＝Ｗｉｄｔｈ（ｍ）＝５）のマトリクス状に各画素の画素値を配列することによって構成した配列Ｉｎｉｍａｇｅｔとして、画像形成装置１０ｅのメモリ上に展開するようになっている。
２値化部１１ｅは、第３実施形態の２値化部１１ｄと同様に、分割部１８ｅによって分割された矩形領域毎（分割画像毎）に多値画像を２値画像に変換するものであって、第３実施形態のソート部１４ｄに代えて１４ｅをそなえるとともに、誤差拡散部１６ｄに代えて誤差拡散部１６ｅをそなえて構成されている。
【０１６１】
なお、本第４実施形態においては、画像形成装置１０ｅのメモリ上に展開された多値画像を構成する各画素の位置を、図４９に示すように、ｘ座標およびｙ座標によって定義される仮想平面（ｘ−ｙ座標系）によって特定して、座標（ｘ，ｙ）の如く示す（ただし、ｘ，ｙはともに自然数）。
すなわち、本実施形態においては、画像形成装置１０ｅのメモリ空間上に形成された仮想平面（ｘ−ｙ座標系）上に、多値画像を展開するようになっているのである。例えば、図４９に示す分割画像において、その左上隅の画素の位置は座標（１，１）として表され、その右下隅の画素の位置は座標（５，５）として表される。
【０１６２】
ソート部１４ｅは、分割部１８ｅによって分割された各領域（分割画像）毎に、その分割画像をなす各画素をその画素値に応じた順番に並び替える（ソートする）ものである。具体的には、ソート部１４ｅは、上述の如くメモリ空間上に展開された分割画像を走査し、バケット法を用いてこの分割画像をなす各画素をその画素の２値化によって生じる誤差値に応じた順番に並び替える（ソートする）ようになっており、分割画像をなす各画素をその誤差値に応じて並び替えることによって構成した配列Ｏｒｄｅｒ（図５０（ａ）参照）を作成するようになっている。
【０１６３】
なお、図５０（ａ）には、処理を行なう画素の画像座標値を一列に配列して形成した配列Ｏｒｄｅｒを示しているが、これに限定されるものではなく、例えば、図５０（ｂ）に示すように、処理を行なう画素の画像座標値を、分割画像と同様にＨｅｉｇｈｔ（ｎ）×Ｗｉｄｔｈ（ｍ）のマトリクス状に配列して形成した配列Ｏｒｄｅｒを用いてもよい。又、本第４実施形態におけるソート部１４ｅのソート手法は、前述した第３実施形態のソート部１４ｄと略同様であるので、その詳細な説明は省略する。
【０１６４】
また、本第４実施形態において配列Ｏｒｄｅｒに入力される画像の座標を示す情報（画像座標値）について説明すると、本第４実施形態においては、画像座標値情報として、「ｘ＋ｙ×ｑ」を用いるようになっている（ただし、ｑは任意の数）。なお、このｑとしては、例えば１０２４や２０４８等のコンピュータによって処理し易い数値を用いることが望ましい。本実施形態においては、原画像の主走査方向の長さ（ｗｉｄｔｈ×２）をｑとして用いるようになっている。
【０１６５】
すなわち、原画像がメモリ空間上における座標（１，１）から座標（ｗｉｄｔｈ，ｈｅｉｇｈｔ）にかけて配置されている場合に、ｑ＝ｗｉｄｔｈ×２を用い、配列Ｏｒｄｅｒに画像座標値として「ｘ＋ｙ×ｗｉｄｔｈ×２」を入力する。これにより、各画素の座標を１つの数値（画像座標値）によって示すことができ、メモリスペースを節約することができ利便性が高い。なお、以下、本明細書中においては、配列Ｏｒｄｅｒを示す図（図５０）においては、便宜上、各画素の画像座標値を（ｘ，ｙ）によって示すものとする。
【０１６６】
誤差拡散部１６ｅは、注目画素についての２値化処理部１５による２値化に伴って生じた誤差値Ｚを、注目画素周辺の未走査画素に拡散させるものである。
この誤差拡散部１６ｅは、注目画素の２値化に伴って生じた誤差値Ｚを注目画素周辺の未走査画素に拡散させるようになっており、この注目画素における誤差値Ｚを、図５１に示すような重み付けパターン（重み係数）に基づき、注目画素の周辺の複数の未走査画素に比例配分することにより拡散するようになっている。
【０１６７】
図５１は誤差拡散法における重み付けパターンの例を示す図であり、図中において●で示された注目画素における誤差値Ｚをどのような比率で注目画素周辺の未走査画素に拡散するかを示すものである。なお、この図５１に示す重み付けパターンは、注目画素における誤差を、注目画素に隣接する８画素に、所定の比率で拡散（配分）するためのものである。
【０１６８】
ここで、図５１に示す重み付けパターンに基づいて誤差拡散を行なう場合について簡単に説明すると、例えば、注目画素の画素値ｅ＝１００（ｅ＜１２８）の場合には誤差値Ｚ＝１００であるので（式（２），（３）参照）、誤差拡散部１６ｅは、１００×７／３２を、注目画素ｅの主走査方向において隣接する未２値化画素と、注目画素ｅの主走査方向とは反対方向において隣接する未２値化画素とにそれぞれ付加する。
【０１６９】
同様にして、１００×５／３２を、注目画素の副主走査方向およびその反対方向において隣接する各未２値化画素にそれぞれ付加し、１００×１／３２を注目画素の主走査方向と副走査方向との間（図５１中においては注目画素の右下側）において隣接する未２値化画素と、この隣接画素に対して注目画素を介して反対方向（図５１中においては注目画素の左上側）において隣接する未２値化画素とにそれぞれ付加する。更に、１００×３／３２を注目画素の主走査方向とは反対方向と副走査方向との間（図５１中においては注目画素の左下側）において隣接する未２値化画素と、この隣接画素に対して注目画素を介して反対方向（図５１中においては注目画素の右上側）において隣接する未２値化画素とにそれぞれ付加することにより、注目画素の２値化によって生じた誤差を注目画素に隣接する８つの未２値化画素に比例配分（拡散）する。
【０１７０】
また、注目画素に隣接する８画素のうち、既に２値化処理が行なわれた画素については、誤差の拡散を行なわずに、既に２値化処理が行なわれている画素については、誤差拡散の対象として設定された画素中におけるその２値化済の画素以外の画素に対して、誤差拡散に用いる重み付けパターンにおけるその画素に対応する比率を除外して誤差拡散を行なうようになっている。
【０１７１】
上述の如く構成された本発明の第４実施形態としての画像形成装置１０ｅにおいて２値化を行なう場合には、前述した第３実施形態の画像形成装置１０ｄと同様に、先ず、ＰＣ２が印刷を行なう画像の画素データを画像形成装置１０ｅに転送し、画像形成装置１０ｅにおいて、画像取得部１３がその画素データを受け取り（画像取得ステップ）、分割部１８ｅがその画素データを矩形領域の分割画像に分割する（分割ステップ）。
【０１７２】
そして、この分割部１８ｅによって形成された各分割画像毎に、２値化部１１ｅにおいて、ソート部１４ｅが各分割画像を構成する各画素の画素値（誤差値）に基づいて、各分割画像をなす各画素をその画素の２値化によって生じる誤差値に応じた順番に並び替える（ソートする）ことによって配列Ｏｒｄｅｒ（図５０（ａ），（ｂ）参照）を作成する（ソートステップ）。
【０１７３】
作成された配列Ｏｒｄｅｒの順番に従って、２値化処理部１５が各分割画像を構成する画素の２値化を行ない（２値化ステップ）、又、誤差拡散部１６ｅが、２値化処理部１５による２値化に伴って生じた誤差を注目画素に隣接する未２値化画素に拡散する（誤差拡散ステップ）。
以下、このような処理（ソートステップ，２値化ステップおよび誤差拡散ステップ）を他の全ての分割画像に対してもそれぞれ行なうことにより原画像の２値化（２値化画像の作成）を行ない、又、上述の如く形成された２値化画像に基づいて、画像形成部１２が媒体上に画像を形成する。
【０１７４】
このように、本発明の第３実施形態としての画像形成装置１０ｅによれば、分割部１８ｅが、原画像（多値画像）を、複数の同一形状（同一サイズ）の矩形領域（タイリングパターン）に分割し、この作成された分割画像に対して、ソート部１４ｅが、分割画像をなす各画素をその画素値に応じた順番に並び替えて配列Ｏｒｄｅｒを作成し、２値化処理部１５がこの配列Ｏｒｄｅｒに従って多値画像を構成する各画素を順番に２値化するとともに、誤差拡散部１６ｅが誤差拡散を行なうので、２値化処理（２値化および誤差拡散）を行なうために多値画像（分割画像）を展開するメモリ領域を小さくすることができ、第３実施形態の画像形成装置１０ｄと同様の作用効果を得ることができる。
【０１７５】
（Ｆ）第５実施形態の説明
図５２は本発明の第５実施形態としての画像形成装置１０ｆをそなえた画像形成システム１ｆの機能構成を模式的に示す図である。
本発明の第５実施形態としての画像形成装置１０ｆをそなえた画像形成システム１ｆも、図５２に示すように、ＰＣ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ）２と画像形成装置（プリンタ）１０ｆとをそなえて構成され、ＰＣ２によって作成・取得した多値画像（連続色調画像；原画像）を画像形成装置１０ｆによって印刷するものである。
本第５実施形態の画像形成装置１０ｆは、図５２に示すように、第３実施形態の画像形成装置１０ｄの２値化部１１ｄに変えて２値化部１１ｆをそなえて構成されている。又、この２値化部１１ｆは、ソート部１４ｄに代えてソート部１４ｆをそなえるほか、誤差拡散部１６ｄに代えて誤差拡散部１６ｆをそなえている。なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その説明は省略する。
【０１７６】
ソート部１４ｆも、第３実施形態の画像形成装置１０ｄにおけるソート部１４ｄと同様に、分割部１８ｄによって分割された各領域（分割画像）毎に、その分割画像をなす各画素をその画素値に応じた順番に並び替える（ソートする）ものである。具体的には、ソート部１４ｆは、上述の如くメモリ空間上に展開された分割画像を走査し、この分割画像をなす各画素をその画素の２値化によって生じる誤差値に応じた順番に並び替えるようになっており、分割画像をなす各画素をその誤差値に応じて並び替えることによって構成した配列Ｏｒｄｅｒ（図５７参照）を作成するようになっている。
【０１７７】
また、ソート部１４ｆは、分割部１８ｄによって形成され画像形成装置１０ｆのメモリ上に一列に展開された各画素について、少なくとも隣接する画素どうしが互いに異なるグループに属するように複数のグループに組分けし、これらの複数のグループのうち同一のグループの画素どうしが連続するように、これらの組分けた各グループ毎に、それぞれグループを構成する各画素をその画素値に応じた順番に並び替えるようになっている。
【０１７８】
具体的には、分割画像をメモリ上に一列に配置した場合に、その先頭からｊ番目（ｊ列目；ｊは０〜ｍの整数）の画素の座標を（ｊ）と表わす場合に、ｊをＮ（Ｎは自然数）で除算した余りに応じて、画素をＮ組のグループに組分けし、これらの組分けられた各グループについて、それぞれグループを構成する各画素をその画素値に応じた順番に並び替えるようになっている。
【０１７９】
ここで、ソート部１４ｆが行なうグループ分けについて、図５３に示す分割画像を用いて説明する。図５３は本発明の第５実施形態としての画像形成装置１０ｆによって２値化を行なう分割画像をグループ分けして示す図である。ソート部１４ｆは、画像形成装置１０ｆのメモリ上に設けられた仮想平面上に展開された分割画像について、その分割画像を構成する各画素に対して、その座標値（ｊ）に基づいて以下の式（６）を算出するようになっている。
【０１８０】
ｊ％Ｎ　　　・・・・・・・・・・・・・・・・・・・（６）
なお、この式（６）中における「％」は余りを算出することを示す記号であり、式（６）は、ｊをＮで除算した結果生じる余りを示す。以下、本第５実施形態においては、Ｎ＝２の場合について説明する。
ソート部１４ｆは、多値画像を構成する全ての画素について、上記の式（６）を計算して、その結果（以下、式（６）の演算結果を「パリティ」という場合もある）に従って、各画素のグループ分けを行なうようになっている。なお、図５３中においては、パリティ＝１の画素に斜線を付して示している。
【０１８１】
また、ソート部１４ｆは、配列Ｏｒｄｅｒの作成に際して、例えば、その前半部分に、パリティ＝０の画素が連続するように配置し、その後半部分に、パリティ＝１の画素が連続するように配置した配列Ｏｒｄｅｒを作成する。すなわち、ソート部１４ｆは、配列Ｏｒｄｅｒにおいて、同じパリティを有する画素どうしが連続するように配置するのである。
【０１８２】
このような配列Ｏｒｄｅｒを作成するために、本第５実施形態においては、ソート部１４ｆは、配列Ｏｒｄｅｒにおける“Ｅｒｒｏｒ＿ＴｏｔａｌＺ”番目にパリティ＝０の画素についての座標情報を入力し、配列Ｏｒｄｅｒにおける“Ｈａｌｆ＋Ｅｒｒｏｒ＿Ｔｏｔａｌｖ２Ｚ”番目にパリティ＝１の画素についての座標情報を入力するようになっている。なお、ここでＨａｌｆは分割画像を構成する画素の数ｍをＮ（本実施形態ではＮ＝２）で除算して得られた結果を四捨五入して得られた値である。
【０１８３】
また、ソート部１４ｆは、配列Ｏｒｄｅｒにおいて、同じ誤差値Ｚを有する画素どうしの間で、その順番を乱数を用いて入れ替えるようになっている。
本第５実施形態の画像形成装置１０ｆのソート部１４ｆによる多値画像についてのバケット法を用いたソート手法を、図５３および図５５（ａ），（ｂ）、図５６（ａ），（ｂ）および図５７を参照しながら、図５４（ａ），（ｂ）に示すフローチャートに従って説明する。なお、図５４（ａ）は、パリティ＝０の画素についてのソート手法を説明するフローチャート（ステップＧ１０〜Ｇ１６０）、図５４（ｂ）はパリティ＝１の画素についてのソート手法を説明するフローチャート（ステップＧ１０′〜Ｇ１６０′）である。
【０１８４】
また、図５５（ａ），（ｂ）はともに誤差値Ｚとその誤差値の出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺ，Ｅｒｒｏｒ＿Ｌｅｖｅｌｖ２Ｚとの関係の例を示す図であって、図５５（ａ）はパリティ＝０の画素についての誤差値Ｚとその誤差値の出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺとの関係の例を示す図、図５５（ｂ）はパリティ＝１の画素についての誤差値Ｚとその誤差値の出現頻度Ｅｒｒｏｒ＿Ｌｅｖｅｌｖ２Ｚとの関係の例を示す図である。又、図５６（ａ），（ｂ）はともに誤差値Ｚとその累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺ，Ｅｒｒｏｒ＿Ｔｏｔａｌｖ２Ｚとの関係の例を示す図であって、図５６（ａ）はパリティ＝０の画素についての誤差値Ｚとその累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺとの関係の例を示す図、図５６（ｂ）はパリティ＝１の画素についての誤差値Ｚとその累積出現頻度Ｅｒｒｏｒ＿Ｔｏｔａｌｖ２Ｚとの関係の例を示す図である。図５７は本第５実施態の画像形成装置のソート部１４ｆによって作成された配列Ｏｒｄｅｒの例を示す図である。
【０１８５】
なお、ソートの初期段階においては、出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺ，出現頻度Ｅｒｒｏｒ＿Ｌｅｖｅｌｖ２Ｚ，累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺおよび累積出現頻度Ｅｒｒｏｒ＿Ｔｏｔａｌｖ２Ｚにはそれぞれ０が設定されているものとする。又、本第５実施形態においては、ソート部１４ｆは、先にパリティ＝０の画素についてのソートを行なった後に、パリティ＝１の画素についてのソートを行なうものとする。
【０１８６】
ソート部１４ｆは、図５４（ａ）に示すように、先ず、ｊ＝１を設定した後（ステップＧ１０）、分割部１８ｄによってメモリ上に展開された１行分の分割画像（図５３参照）から、この分割画像の一方の端部（本実施形態においては左端）の画素から最初のパリティ＝１０の画素を選択してその画素値を取得し（画素値取得ステップ）、その画素を２値化した場合に生じる誤差を算出する（ステップＧ２０）。
【０１８７】
そして、ソート部１４ｆは、その誤差値Ｚに対応する出現頻度Ｅｒｒｏｒ＿Ｌｅｖｅｌｖ２Ｚ（図５５（ａ）参照）に１を加算した後（ステップＧ３０）、ｊ＞ｍであるかを確認することにより、分割画像を構成するパリティ＝０の全ての画素について誤差値の算出を行なったか否かを確認する（ステップＧ４０）。
ここで、誤差値を算出（取得）していない画素がある場合には（ステップＧ４０のＮＯルート参照）、ｊ＝ｊ＋Ｎ（Ｎ＝２）にすることにより、次の同じパリティの画素に移動して（ステップＧ５０）、ステップＧ２０に戻る。
【０１８８】
すなわち、分割部１８ｄによって分割されメモリ上に展開された一行分の分割画像に対して、上記のステップＧ１０〜Ｇ５０において、その左側の画素から右側の画素に向かって主走査方向への走査を行なうことによって、その一行分の多値画像を形成する画素のうちパリティ＝０の画素値を取得し（画素値取得ステップ）、これらの各画素について、図５５（ａ）に示すように、分割画像中における誤差値Ｚの出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺをその誤差値Ｚに対応付けて記録することにより、配列Ｅｒｒｏｒ＿ＬｅｖｅｌＺ（図５５（ａ）参照）を作成する。
【０１８９】
分割画像におけるパリティ＝０の全ての画素の誤差値を取得した場合には（ステップＧ４０のＹＥＳルート参照）、ソート部１４ｆは、ステップＧ１０〜Ｇ５０において算出した出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺに基づいて、各誤差値Ｚの累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺ（図５６（ａ）参照）を算出する（ステップＧ６０）。
【０１９０】
具体的には、ソート部１４ｆは、第３実施形態のソート部１４ｄと同様に、出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺに基づいて、各誤差値Ｚの出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺに、その誤差値Ｚよりも小さい誤差値０〜誤差値Ｚ−１の各出現頻度Ｅｒｒｏｒ＿Ｌｅｖｅｌ０〜Ｅｒｒｏｒ＿ＬｅｖｅｌＺ−１を累積することによって、各誤差値Ｚの累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺを算出し、これに基づいて配列Ｅｒｒｏｒ＿ＴｏｔａｌＺ（図５６（ａ）参照）を作成する。
【０１９１】
すなわち、ソート部１４ｆは、前述の式（５）を用いて、誤差値Ｚ（Ｚ：自然数）に対応する累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺを算出する。
次に、ソート部１４ｆは、再度、ｊ＝１と設定し（ステップＧ７０）、分割部１８ｆによってメモリ上に展開された分割画像（図５３参照）から、ｊ番目の画素を一つ選択して、その画素値を取得する。そして、ソート部１４ｆは、この取得した画素値に基づいて、再度、誤差値Ｚを算出する（ステップＧ８０）。
【０１９２】
そして、ソート部１４ｆは、今度は、その算出した誤差値Ｚに基づいて、その誤差値Ｚに対応する累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺに１を加算する（ステップＧ９０）。
そして、ソート部１４ｆは、配列Ｏｒｄｅｒ（図５７参照）におけるＥｒｒｏｒ＿ＴｏｔａｌＺ番目の欄に、その画素の座標を示す情報（画像座標値）を入力した後（ステップＧ１００）、ｊ＞ｍであるかを確認することにより、分割画像におけるパリティ＝０の全ての画素について配列Ｏｒｄｅｒにその画像座標値の入力を行なったか否かを確認する（ステップＧ１１０）。
【０１９３】
ここで、分割画像におけるパリティ＝０の画素に未処理の画素がある場合には（ステップＧ１１０のＮＯルート参照）、ｊ＝ｊ＋２にすることにより、その主走査方向方向において２画素隣りの画素に移動して（ステップＧ１２０）、ステップＧ８０に戻る。
すなわち、図５４（ａ）のステップＧ７０〜Ｇ１１０により、配列Ｏｒｄｅｒにおける前半部分にパリティ＝０の画素が、その誤差値の大きさに応じた順番で並べられるのである。分割画像における全てのパリティ＝０の画素について、配列Ｏｒｄｅｒにその画像座標値の入力を行なった場合には（ステップＧ１１０のＹＥＳルート参照）、次に、Ｉ＝２を設定した後（ステップＧ１３０）、配列Ｏｒｄｅｒにおける、Ｅｒｒｏｒ＿ＴｏｔａｌＩ−１＋１番目からＥｒｒｏｒ＿ＴｏｔａｌＩ＋１番目までの各画素の座標情報を乱数を用いて入れ替えることにより、配列Ｏｒｄｅｒにおいける同じ誤差値Ｚを有する画素どうしの間で、その順番を入れ替える（ステップＧ１４０；入れ替えステップ）。
【０１９４】
そして、Ｉ＞１２９であるか否かを確認することにより、全ての誤差値Ｚに対して入れ替え処理を行なったか否かを確認し（ステップＧ１５０）、全ての誤差値Ｚに対して入れ替えを行なっていない場合には（ステップＧ１５０のＮＯルート参照）、Ｉ＝Ｉ＋１とすることにより次の誤差値Ｚに移行して（ステップＧ１６０）、ステップＧ１４０に戻る。又、全ての誤差値Ｚに対して入れ替え処理を行なった場合には（ステップＧ１５０のＹＥＳルート参照）、処理を終了する。
【０１９５】
すなわち、図５４（ａ）のステップＧ１３０からＧ１６０により、配列Ｏｒｄｅｒ内において、同じ画素値Ｚの画素間でその順番がランダムに入れ替えられるのである。
パリティ＝１の画素についても、図５４（ａ）のステップＧ１０〜Ｇ１６０と同様に、図５４に示すフローチャート（ステップＧ１０′〜Ｇ１６０′）に従って配列Ｏｒｄｅｒを作成する。なお、これらのステップＧ１０′〜Ｇ１６０′に示す各処理は、上述したステップＧ１０〜Ｇ１６０における出現頻度配列Ｅｒｒｏｒ＿ＬｅｖｅｌＺに代えて出現頻度配列Ｅｒｒｏｒ＿Ｌｅｖｅｌｖ２Ｚ（図５５（ｂ））を用い、又、累積頻度配列Ｅｒｒｏｒ＿ＴｏｔａｌＺ代えて累積頻度配列Ｅｒｒｏｒ＿Ｔｏｔａｌｖ２Ｚ（図５６（ｂ））を用い、更に、ステップＧ１００′において、配列Ｏｒｄｅｒにおける“Ｈａｌｆ＋Ｅｒｒｏｒ＿ＴｏｔａｌＺ”番目の欄にその画素の画像座標値を入力する以外は略同様の処理を行なうようになっているので、その詳細な説明は省略する。
【０１９６】
そして、図５４（ｂ）のステップＧ７０′〜Ｇ１１０′により、配列Ｏｒｄｅｒにおける後半部分にパリティ＝１の画素が、その誤差値の大きさに応じた順番で並べられ、又、図５４（ｂ）のステップＧ１３０′からＧ１６０′により、配列Ｏｒｄｅｒ内において、同じ画素値Ｚの画素間でその順番がランダムに入れ替えられる
なお、ソート部１４ｆによる配列Ｏｒｄｅｒの作成に際して、上述の図５４（ａ）に示した処理と図５４（ｂ）に示した処理とは、いずれを先に行なってもよく、又、これらの処理を同時に行なっても良い。
【０１９７】
２値化処理部１５は、ソート部１４ｆによって作成された配列Ｏｒｄｅｒに従って、多値画像中から２値化を行なう注目画素を順次選択し、この注目画素の値を２値化する。
本第５実施形態における誤差拡散部１６ｆも、第３実施形態の誤差拡散部１６ｄと同様に、２値化処理部１５による２値化に伴って生じた誤差値Ｚを、注目画素周辺の未走査画素に拡散させるものである。
【０１９８】
この誤差拡散部１６ｆは、配列Ｏｒｄｅｒにおける前半部分に登録されている画素（本第５実施形態においてはパリティ＝０の画素）については、図４４に示す重み付けパターンに基づいて、注目画素の２値化に伴って生じた誤差値Ｚを、その注目画素周辺の未走査画素に拡散させるようになっており、又、配列Ｏｒｄｅｒにおける後半部分に登録されている画素（本第３実施形態においてはパリティ＝１の画素）については、図５８に示す重み付けパターンに基づいて、注目画素の２値化に伴って生じた誤差値Ｚを、その注目画素周辺の未走査画素に拡散させるようになっている。
【０１９９】
図５８は本発明の第５実施形態としての画像形成装置１０ｆの誤差拡散部１０ｆが用いる重み付けパターンの例を示す図である。この図５８に示す重み付けパターンは、注目画素の２値化に伴って生じた誤差を、注目画素の下側の行において注目画素に隣接する３つの画素（配分比率＝１，５，３）に対してのみ拡散（配分）するためのものである。
【０２００】
誤差拡散部１６ｆは、配列Ｏｒｄｅｒにおける前半部分に登録されている画素（本第３実施形態においてはパリティ＝０の画素）については、第３実施形態の誤差拡散部１６ｄと同様に、注目画素と主走査方向とその反対方向において隣接する各画素についても２値化が行なわれている（２値化済）か否かの判断を行なうようになっているが、配列Ｏｒｄｅｒにおける後半部分に登録されている画素（本第３実施形態においてはパリティ＝１の画素）については、隣接する画素が２値化済か否かの判断を行なわないようになっている。
【０２０１】
本発明の第５実施形態としての画像形成装置１０ｆの２値化部１１ｆにおける２値化処理および誤差拡散処理を、図５９に示すフローチャート（ステップＨ１０〜Ｈ１１０）に従って説明する。
２値化部１１ｆは、先ずｊ＝１を設定した後（ステップＨ１０）、２値化処理部１５により、ソート部１４ｃによって作成された配列Ｏｒｄｅｒのｊ番目の画素を、メモリ上に展開された分割画像（図５３参照）から注目画素として選択して、その画素に対して２値化を行なう（ステップＨ２０）。
【０２０２】
誤差拡散部１６ｆは、注目画素の主走査方向およびその反対方向（水平方向）において隣接する２つの画素（水平２画素）から、２値化を行なっていない画素（未２値化画素）を検索し（ステップＨ３０）、これらの水平２画素の未２値化画素と、注目画素よりも下側の行において注目画素に隣接する３画素に対して、図４５に示す重み付けパターンに従って誤差拡散を行なう（ステップＨ４０）。
【０２０３】
誤差拡散部１６ｆは、ｊ＞Ｈａｌｆであるかを確認することにより、配列Ｏｒｄｅｒの前半部分に登録されているパリティ＝０の全ての画素について、２値化および誤差拡散を行なったか否かを確認し（ステップＨ５０）、パリティ＝０の全ての画素について処理を行なっていない場合には（ステップＨ５０のＮＯルート参照）、ｊ＝ｊ＋１にすることにより、配列Ｏｒｄｅｒにおける次の画素に移動して（ステップＨ６０）、ステップＨ２０に戻る。又、パリティ＝０の全ての画素について処理を行なった場合には（ステップＨ５０のＹＥＳルート参照）、次に、ｊ＝Ｈａｌｆ＋１を設定する（ステップＨ７０）。
【０２０４】
２値化処理部１５は、ソート部１４ｆによって作成された配列Ｏｒｄｅｒにおけるｊ番目の画素を、メモリ上に展開された分割画像（図５３参照）から注目画素として選択して、その画素に対して２値化を行なう（ステップＨ８０）。誤差拡散部１６ｆは、注目画素よりも下側の行において注目画素に隣接する３画素に対して、図５８に示す重み付けパターンに従って誤差拡散を行なう（ステップＨ９０）。
【０２０５】
誤差拡散部１６ｆは、ｊ＞ｍであるかを確認することにより、配列Ｏｒｄｅｒの後半部分に登録されているパリティ＝１の全ての画素について、２値化および誤差拡散を行なったか否かを確認し（ステップＨ１００）、パリティ＝１の全ての画素について処理を行なっていない場合には（ステップＨ１００のＮＯルート参照）、ｊ＝ｊ＋１にすることにより、配列Ｏｒｄｅｒにおける次の画素に移動して（ステップＨ１１０）、ステップＨ８０に戻る。又、パリティ＝１の全ての画素について処理を行なった場合には（ステップＨ１００のＹＥＳルート参照）、処理を終了する。
【０２０６】
上述の如く構成された本発明の第５実施形態としての画像形成装置１０ｆにおいても、前述した第３実施形態の画像形成装置１０ｆと同様に、２値化を行なう場合には、先ず、ＰＣ２が印刷を行なう画像の画素データを画像形成装置１０ｆに転送すると、画像取得部１３によりその画素データを受け取り（画像取得ステップ）、分割部１８ｄがその画素データを一行毎の分割画像に分割する（分割ステップ）。
【０２０７】
そして、この分割部１８ｄによって形成された各分割画像毎に、２値化部１１ｆにおいて、ソート部１４ｆが各分割画像を構成する各画素の画素値（誤差値）に基づいて、各分割画像をなす各画素をその画素の２値化によって生じる誤差値に応じた順番に並び替える（ソートする）ことによって配列Ｏｒｄｅｒ（図５７参照）を作成する（ソートステップ）。
【０２０８】
２値化処理部１５が、この配列Ｏｒｄｅｒの順番に従って各分割画像を構成する画素の２値化を行ない（２値化ステップ）、誤差拡散部１６ｆが、２値化処理部１５による２値化に伴って生じた誤差を注目画素に隣接する未２値化画素に拡散する（誤差拡散ステップ）。以下、このようなソートステップ，２値化ステップおよび誤差拡散ステップの各処理を他の全ての分割画像に対してそれぞれ行なう。
【０２０９】
そして、画像形成部１２は、上述の如く形成された２値化画像に基づいて、媒体上に画像を形成する。
このように、本発明の第５実施形態としての画像形成装置１０ｆによれば、上述した第３実施形態と同様の作用効果を得ることができる他、ソート部１４ｆが、分割部１８ｄによって形成された分割画像を構成する画素をパリティによってグループ分けし、配列Ｏｒｄｅｒにおいて、同じパリティを有する画素が連続するように配置するので、誤差拡散部１６ｆが注目画素に隣接する未２値化画素に対して誤差拡散を行なう際に、配列Ｏｒｄｅｒの後半部分に連続して登録されている画素、すなわち、パリティ＝１の画素について処理を行なう際には、注目画素と同じ行において隣接する画素について２値化済であるか否かの判断を行なう必要がない。これにより、誤差拡散を行なうために要する時間を短縮することができ、ひいては２値化処理および印刷に要する時間を短縮することができる。
【０２１０】
ソート部１４ｆが、分割画像を構成する画素を、その座標値ｊをＮ（Ｎは自然数）で除算した余り（ｊ％Ｎ：パリティ）に応じて、Ｎ組のグループに組分けし、これらの組分けられた各グループ毎に、それぞれグループを構成する各画素をその画素値に応じた順番に並び替えて、同じパリティを有する画素どうしが連続するように配置するので、多値画像（分割画像）中において、２値化を行なう注目画素として順次選択される画素の非連続（ランダム）性を向上させることができる。これにより、誤差拡散が行なわれる画素も非連続的になり、２値化後の画像において、原画像（多値画像）に無いモアレや目障りな模様（ａｒｔｉｆａｃｔ）を低減することができる。
【０２１１】
例えば、原画像（多値画像）において、同一の画素値を有する画素が連続するような部分や、なだらかに階調が変化するような部分（グラデーション部分）についても、注目画素として順次選択される画素の位置が、その直前に注目画素として選択された画素と少なくとも主走査方向において隣接することがなく、誤差拡散が行なわれる画素も非連続的になるのである。
【０２１２】
また、Ｎの値をオペレータ等が任意に変更することにより、連続して２値化及び誤差拡散を行なう画素の間隔を簡単に変更することができ、これによって、モアレや目障りな模様（ａｒｔｉｆａｃｔ）の発生を制御することができる。
さらに、ソート部１４ｆが、配列Ｏｒｄｅｒにおいて、同じ誤差値Ｚを有する画素の間でその順番を乱数を用いて入れ替えるので、これによっても、誤差拡散が行なわれる画素も非連続的になり、２値化後の画像において、原画像（多値画像）に無いモアレや目障りな模様（ａｒｔｉｆａｃｔ）を低減することができ、原画像において、同一の画素値を有する画素が連続するような部分や、グラデーション部分についても、注目画素として順次選択される画素の位置が、その直前に注目画素として選択された画素と少なくとも主走査方向において隣接することがなく、誤差拡散が行なわれる画素も非連続的になる。
【０２１３】
（Ｇ）第６実施形態の説明
図６０は本発明の第６実施形態としての画像形成装置１０ｇをそなえた画像形成システム１ｇの機能構成を模式的に示す図である。
本発明の第６実施形態としての画像形成装置１０ｇをそなえた画像形成システム１ｇも、図６０に示すように、ＰＣ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ）２と画像形成装置（プリンタ）１０ｇとをそなえて構成され、ＰＣ２によって作成・取得した多値画像（連続色調画像；原画像）を画像形成装置１０ｇによって印刷するものである。
【０２１４】
本第６実施形態の画像形成装置１０ｇは、図６０に示すように、第４実施形態の画像形成装置１０ｅの２値化部１１ｅに代えて２値化部１１ｇをそなえている。又、この２値化部１１ｇは、２値化部１１ｅのソート部１４ｅに代えてソート部１４ｇをそなえるほか、誤差拡散部１６ｅに代えて誤差拡散部１６ｇをそなえている。なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その説明は省略する。
【０２１５】
ソート部１４ｇも、第４実施形態の画像形成装置１０ｅにおけるソート部１４ｅと同様に、分割部１８ｅによって分割された各分割画像（領域）毎に、その分割画像をなす各画素をその画素値に応じた順番に並び替えるものであって、分割画像をなす各画素をその画素の２値化によって生じる誤差値に応じた順番（昇順もしくは降順）に並び替えることによって構成した配列Ｏｒｄｅｒを作成するようになっている。
【０２１６】
このソート部１４ｇは、分割画像をｘ座標およびｙ座標によって定義される仮想平面（ただし、ｘおよびｙは整数）上に展開するとともに（図６１参照）、この仮想平面における各画素を、少なくともｘ軸方向およびｙ軸方向に隣接する画素どうしが互いに異なるグループに属するように複数のグループに組分けし、これらの組分けられた各グループについて、それぞれグループを構成する各画素をその画素値に応じた順番に並び替えるようになっている。
【０２１７】
具体的には、ソート部１４ｇは、仮想平面上における各画素を、各画素の座標（ｘ，ｙ）に基づいて、そのｘ座標の値とｙ座標の値との和をＮ（Ｎは自然数）で除算した余りに応じてＮ組のグループに組分けし、更に、これらの組分けられたグループ毎に、各グループを構成する画素をその画素値（誤差値）に応じた順番に並び替えるようになっている。
【０２１８】
図６１は本発明の第６実施形態としての画像形成装置１０ｇの分割部１８ｅによって作成された分割画像（多値画像）の例を示す図である。ソート部１４ｇが行なうグループ分けについて、この図６１に示す多値画像を用いて説明する。ソート部１４ｇは、画像取得部１３によって画像形成装置１０ｇのメモリ上に設けられた仮想平面上に展開された多値画像について、その多値画像を構成する各画素に対して、その座標値（ｘ，ｙ）に基づいて前述の式（４）を演算するようになっている。
【０２１９】
そして、ソート部１４ｇは、多値画像を構成する各画素について、上記の式（４）の演算結果（パリティ）に応じて、各画素のグループ分けを行なうようになっている。
以下、本第６実施形態においては、Ｎ＝２の場合について説明する。なお、図６１中においては多値画像を構成する各画素をパリティ＝０とパリティ＝１との２つのグループにグループ分けしており、パリティ＝１の画素に斜線を付して示している。
【０２２０】
本第６実施形態の画像形成装置１０ｇのソート部１４ｇによる分割画像についてのバケット法を用いたソート手法を、図６１，図６３（ａ），（ｂ）〜図７１を参照しながら、図６２に示すフローチャート（ステップＩ１０〜Ｉ１７０）に従って説明する。
なお、図６３（ａ），（ｂ）はそれぞれ誤差値Ｚとその画素値の出現頻度Ｅｒｒｏｒ＿ｌｅｖｅｌＺとの関係の例を示す図であって、図６３（ａ）はパリティ＝０の画素についての誤差値Ｚとその誤差値の出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺとの関係の例を示す図、図６３（ｂ）はパリティ＝１の画素についての誤差値Ｚとその画素値の出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺ＋１２８との関係の例を示す図である。又、図６４（ａ），（ｂ），図６５，図６７および図６９はそれぞれ誤差値Ｚとその累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺ，Ｅｒｒｏｒ＿ＴｏｔａｌＺ＋１２８との関係の例を示す図であって、図６４（ａ），図６５および図６９はそれぞれパリティ＝０の画素についての誤差値Ｚとその累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺとの関係の例を示す図、図６４（ｂ）および図６７はそれぞれパリティ＝１の画素についての誤差値Ｚとその累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺ＋１２８との関係の例を示す図である。更に、図６６，図６８および図７０はそれぞれ本第６実施形態の画像形成装置１０ｇのソート部１４ｇによる配列Ｏｒｄｅｒの作成過程の例を示す図であって、図７１は本発明の第６実施形態の画像形成装置のソート部１０ｇによって作成された配列Ｏｒｄｅｒの例を示す図である。なお、ソートの初期段階においては、出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺ，出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺ＋１２８，累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺおよび累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺ＋１２８にはそれぞれ０が設定されているものとする。
【０２２１】
ソート部１４ｇは、ｊ＝１を設定した後（ステップＩ１０）、分割部１８ｅによって形成され、画像形成装置１０ｇのメモリ上に展開された分割画像（図６１参照）から、画素ｊの画素値を取得し（画素値取得ステップ）、この取得した画素値に基づいて、その画素の２値化によって生じる誤差値Ｚを算出する（ステップＩ２０）。
【０２２２】
次に、ソート部１４ｇは、その画素のパリティが０であるか否かを確認する（ステップＩ３０）。その画素のパリティが０の場合には（ステップＩ３０のＹＥＳルート参照）、その誤差値Ｚに対応する出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺに１を加算する（ステップＩ４０）。そして、ソート部１４ｇは、「ｊ＞ｈｅｉｇｈｔ×ｗｉｄｔｈ」であるか否かを判断することにより、分割画像を構成する全ての画素について画素値の取得を行なったか否かを確認する（ステップＩ６０）。なお、ｈｅｉｇｈｔは分割画像の高さ（行数）であり、ｗｉｄｔｈは分割画像の列数である（図６１参照）。
【０２２３】
誤差値を算出していない画素がある場合には（ステップＩ６０のＮＯルート参照）、ｊ＝ｊ＋１とすることにより次の画素に移動して（ステップＩ７０）、ステップＩ２０に戻る。
一方、その画素のパリティが０ではない場合、すなわちパリティが１の場合には（ステップＩ３０のＮＯルート参照）、誤差値Ｚ＋１２８に対応する出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺ＋１２８に１を加算して（ステップＩ５０）、ステップＩ６０に移行する。
【０２２４】
すなわち、本第６実施形態においては、上記のステップＩ１０〜Ｉ７０において、メモリ上に展開された分割画像に対して、その左上の画素から右下の画素に向かって、主走査方向への走査を副走査方向に沿って繰り返し行なうことによって、分割画像を形成する全ての画素の画素値をそれぞれ取得し（画素値取得ステップ）、図６３（ａ），（ｂ）に示すように、多値画像中における画素の誤差値Ｚの出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺおよび出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺ＋１２８を、各画素のパリティに応じて、その誤差値Ｚに対応付けてそれぞれ記録するようになっている。
【０２２５】
なお、これらの図６３（ａ）に示したパリティが０の画素についての誤差値Ｚおよびその出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺと、図６３（ｂ）に示したパリティが１の画素についての誤差値Ｚおよびその出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺとを一つの表の前半部分（先頭から０〜１２７番目）と後半部分（先頭から１２８〜２５５番目）とにそれぞれ記録してもよい。
【０２２６】
分割画像を構成する全ての画素の誤差値を算出した場合には（ステップＩ６０のＹＥＳルート参照）、次に、ソート部１４ｇは、上記のステップＩ１０〜Ｉ７０において算出した出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺおよび出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺ＋１２８（図６３（ａ），（ｂ）参照）に基づいて、各誤差値Ｚの累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺおよび累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺ＋１２８（図６４（ａ），（ｂ）参照）を算出する（ステップＩ８０）。
【０２２７】
具体的には、ソート部１４ｇは、算出した出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺに基づいて、前述の式（５）を用いて、各誤差値Ｚの出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺに、その誤差値Ｚよりも小さい誤差値０〜Ｚ−１の各出現頻度Ｅｒｒｏｒ＿Ｌｅｖｅｌ０〜Ｅｒｒｏｒ＿ＬｅｖｅｌＺ−１を累計することによって、各誤差値Ｚの累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺを算出する。
【０２２８】
同様に、ソート部１４ｇは、算出した出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺ＋１２８に基づいて、前述の式（５）を用いて、各誤差値Ｚの出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺ＋１２８に、その誤差値Ｚよりも小さい誤差値０〜Ｚ−１の各出現頻度Ｅｒｒｏｒ＿Ｌｅｖｅｌ０＋１２８〜Ｅｒｒｏｒ＿Ｌｅｖｅｌ（Ｚ−１）＋１２８を累計することによって、各誤差値Ｚの累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺ＋１２８を算出する。
【０２２９】
次に、ソート部１４ｇは、再度、ｊ＝１を設定した後（ステップＩ９０）、分割部１８ｅによって形成され、画像形成装置１０ｄのメモリ上に展開された分割画像（図６１参照）から、画素ｊの画素値を取得し（画素値取得ステップ）、この取得した画素値に基づいて、その画素の２値化によって生じる誤差値Ｚを算出する（ステップＩ１００）。
【０２３０】
ソート部１４ｇは、この画素のパリティが０であるか否かを確認し（ステップＣ１１０）、その画素のパリティが０の場合には（ステップＩ１１０のＹＥＳルート参照）、この取得した誤差値Ｚに対応する出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺに１を加算する（ステップＩ１２０）。
そして、ソート部１４ｇは、配列ＯｒｄｅｒにおけるＴｏｔａｌＺ番目の欄に、その画素の座標を示す情報（画像座標値）を入力し（ステップＩ１３０）、「ｊ＞ｈｅｉｇｈｔ×ｗｉｄｔｈ」であるか否かを判断することにより、多値画像を構成する全ての画素について配列Ｏｒｄｅｒに画像座標値の入力を行なったか否かを確認する（ステップＩ１６０）。
【０２３１】
未処理の画素がある場合には（ステップＩ１６０のＮＯルート参照）、ｊ＝ｊ＋１とすることにより、次の画素に移動して（ステップＩ１７０）、ステップＩ１００に戻る。又、多値画像を構成する全ての画素について配列Ｏｒｄｅｒに画像座標値の入力を行なった場合には（ステップＩ１６０のＹＥＳルート参照）、処理を終了する。
【０２３２】
一方、その画素のパリティが０ではない場合、すなわちパリティが１の場合には（ステップＩ１１０のＮＯルート参照）、誤差値Ｚ＋１２８に対応する出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺ＋１２８に１を加算した後に（ステップＩ１４０）、配列ＯｒｄｅｒにおけるＥｒｒｏｒ＿ＴｏｔａｌＺ＋１２８番目の欄に、その画素の座標を示す情報（画像座標値）を入力し（ステップＩ１５０）、ステップＩ１６０に移行する。
【０２３３】
すなわち、上記のステップＩ１００〜Ｉ１７０において、ソート部１４ｄは、メモリ上に展開された分割画像に対して、その左上の画素から右下の画素に向かって、主走査方向への走査を副走査方向に沿って繰り返し行なうことによって、分割画像を形成する全ての画素の画素値をそれぞれ取得して、その誤差値を算出し、配列Ｏｒｄｅｒにおける所定箇所にその画像座標値をそれぞれ入力することによって、図７１に示すような配列Ｏｒｄｅｒを作成するようになっており、これにより、分割画像をなす各画素をその画素値に応じた順番に並び替えるようになっている（ソートステップ）。
【０２３４】
例えば、図６１に示す５行×５列の画素によって構成される分割画像においては、座標（１，１）の画素のパリティは、上記の式（４）により、（１＋１）％２＝０である。又、この画素の誤差値Ｚ＝１であるので、誤差値Ｚ＝１に対応するその時点におけるＥｒｒｏｒ＿Ｔｏｔａｌ１（＝５；図６４（ａ）参照）に１を加算することにより、図６５に示すように、Ｅｒｒｏｒ＿Ｔｏｔａｌ１＝６が算出される。そして、ソート部１４ｇは、配列Ｏｒｄｅｒの先頭から６番目に、その画素の座標を示す情報（１，１）（画素座標値）を入力する（図６６参照）。
【０２３５】
また、座標（１，２）の画素のパリティは、上記の式（４）により、（１＋２）％２＝１である。又、この画素の誤差値Ｚ＝０であるので、誤差値Ｚ＝１２８＋０に対応するその時点におけるＥｒｒｏｒ＿Ｔｏｔａｌ０＋１２８（＝１３；図６４（ｂ）参照）に１を加算することにより、図６７に示すように、Ｔｏｔａｌ０＋１２８＝１４が算出される。そしてソート部１４ｇは、配列Ｏｒｄｅｒの先頭から１４番目に、その画素の座標を示す情報（画像座標値（１，２））を代入する（図６８参照）。
【０２３６】
次に、座標（１，３）の画素のパリティは、上記の式（４）により、（１＋３）％２＝０である。又、この画素の誤差値Ｚ＝３であるので、この誤差値Ｚ＝３に対応する、その時点におけるＥｒｒｏｒ＿Ｔｏｔａｌ３（＝７；図６４（ａ）参照）に１を加算することにより、図６９に示すように、Ｅｒｒｏｒ＿Ｔｏｔａｌ３＝８が算出される。そしてソート部１４ｇは、配列Ｏｒｄｅｒの先頭から８番目に、その画素の画素座標値（１，３）を入力する（図７０参照）。以下、このようにして、分割画像を構成する全ての画素について、その画素値に基づいてパリティを求め、各パリティに関係する各配列Ｏｒｄｅｒへの入力をそれぞれ繰り返し行なうことにより、図７１に示すような、分割画像を構成する全ての画素をその画素値に応じた順番に並び替えて構成された配列Ｏｒｄｅｒを作成するのである。
【０２３７】
そして、２値化処理部１５は、ソート部１４ｇによって作成された配列Ｏｒｄｅｒに従って、多値画像中から２値化を行なう注目画素を順次選択し、この注目画素の値を２値化する。
また、本第６実施形態の画像形成装置１０ｇにおいては、誤差拡散部１６ｇは、前述した第４実施形態における誤差拡散部１６ｅと同様に、図５１に示す重み付けパターンを用いて、２値化処理部１５による注目画素についての２値化に伴って生じた誤差を、その注目画素と隣接する８画素のうち、２値化を行なっていない画素（未２値化画素）に対して拡散させるようになっている。
【０２３８】
さらに、本第６実施形態においては、画像形成装置１０ｇが複数のＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ：中央処理装置）をそなえ、一方のＣＰＵがソート部１４ｇとして機能することにより後述する図７２（ａ）に示す処理を行ない、他方のＣＰＵが２値化処理部１５および誤差拡散部１６ｇとして機能することにより後述する図７２（ｂ）に示す処理を行なうようになっている。
【０２３９】
本発明の第６実施形態としての画像形成装置１０ｄにおける２値化手法を、図７２（ａ），（ｂ）に示すフローチャートに従って説明する。図７２（ａ）はそのソート部分を説明するためのフローチャート（ステップＪ１０〜Ｊ４０）であり、図７２（ｂ）はその誤差拡散部分を説明するためのフローチャート（ステップＫ１０〜Ｋ４０）である。
【０２４０】
ソート部１４ｇは、先ず、Ｌ２＝１とすることにより、分割部１８ｅによって形成された複数の分割画像のうち先頭の分割画像を選択して（図７２（ａ）のステップＪ１０）、その分割画像を画像形成装置１０ｇのメモリに展開する。
ソート部１４ｇは、その分割画像を構成する画素を、各画素の２値化によって生じる誤差値に応じて並べ替え（ソートステップ）、配列Ｏｒｄｅｒ（図７１参照）を作成する（図７２（ａ）のステップＪ２０）。
【０２４１】
ソート部１４ｇは、Ｌ２＞Ｎであるか否かを判断することにより、上記のステップＪ２０の処理を全ての分割画像に対してまで行なったか否かを判断し（図７２（ａ）のステップＪ３０）、Ｌ２＞Ｎの場合（全ての分割画像に対して行なった場合）には（ステップＪ３０のＹＥＳルート参照）、処理を終了する。一方、Ｌ２＞Ｎではない場合（全ての分割画像に対して行なっていない場合）には（ステップＪ３０のＮＯルート参照）、Ｌ２＝Ｌ２＋１とすることにより次の行に以降した後（図７２（ａ）のステップＪ４０）、ステップＪ２０に戻る。
【０２４２】
２値化部１１ｇにおいては、Ｌ３＝１とすることにより、分割部１８ｅによって形成された複数の分割画像のうち先頭の分割画像を選択して（図７２（ｂ）のステップＫ１０）、その分割画像を画像形成装置１０ｇのメモリに展開する。
一方、２値化処理部１５は、配列Ｏｒｄｅｒに従って注目画素を順次選択して、その注目画素の２値化を行ない（２値化ステップ）、誤差拡散部１６ｇは、その２値化によって生じた誤差を注目画素に隣接する未２値化画素に対して拡散する（図７２（ｂ）のステップＫ２０）。
【０２４３】
２値化部１１ｇは、Ｌ３＞Ｎであるか否かを判断することにより、上記のステップＫ２０の処理を全ての分割画像に対してまで行なったか否かを判断し（図７２（ｂ）のステップＫ３０）、Ｌ３＞Ｎの場合（全ての分割画像に対して行なった場合）には（ステップＫ３０のＹＥＳルート参照）、処理を終了する。一方、Ｌ３＞Ｎではない場合（全ての分割画像に対して行なっていない場合）には（ステップＫ３０のＮＯルート参照）、Ｌ３＝Ｌ３＋１とすることにより次の行に以降した後（図７２（ｂ）のステップＫ４０）、ステップＫ２０に戻る。
【０２４４】
このようにして原画像の２値化（２値化画像の作成）が行なわれ、画像形成部１２は、形成された２値化画像に基づいて媒体上に画像を形成する。
このように、本発明の第６実施形態の画像形成装置１０ｇによっても、上述した第４実施形態と同様の作用効果を得ることができる他、上述した第５実施形態と同様の作用効果を得ることができる。
【０２４５】
また、画像形成装置１０ｇが複数のＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ：中央処理装置）をそなえ、一方のＣＰＵがソート部１４ｇとしての処理を行ない、他方のＣＰＵが２値化処理部１５および誤差拡散部１６ｄｇしての処理を行なうので、これらの複数の処理を並行して処理することができるので、画像形成に要する時間を短縮することができる。
【０２４６】
（Ｈ）第３〜第６の各実施形態の変形例の説明
本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
図７３は上述した本発明の第３〜第６実施形態としての画像形成装置１０ｄ，１０ｅ，１０ｆ，１０ｇの変形例の構成を模式的に示す図である。本変形例の画像形成装置１０ｈは、この図７３に示すように、第３実施形態の画像形成装置１０ｄの２値化部１１ｄに代えて２値化部１１ｈをそなえている。又、この２値化部１１ｈは、第３実施形態の誤差拡散部１６ｄに代えて、誤差拡散部１６ｈをそなえるほか、変更処理部１７をそなえて構成されている。なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その説明は省略する。
【０２４７】
本変形例としての画像形成装置１０ｈにおける誤差拡散部１６ｈは、図１３に示す重み付けパターンに加えて、図２８（ａ）〜（ｃ）や図２９（ａ），（ｂ）に示すような他の重み付けパターンをも有しており、これらの複数（本変形例では４）種類の重み付けパターンをそれぞれ用いても、注目画素の周辺の複数の未走査画素に誤差値Ｚを比例配分することにより誤差拡散を行なうことができるようになっている。
【０２４８】
なお、誤差拡散部１６ｈは、図２８（ａ）〜（ｃ）に示す各重み付けパターンを用いた場合においても、上述の図１３に示す重み付けパターンを用いた場合と同様にして注目画素についての誤差拡散を行なうものである。
変更処理部１７は、第１実施形態および第２実施形態の変形例としての画像形成装置１０ｃと同様に、誤差拡散部１６ｅでの誤差拡散手法を、多値画像の走査に伴い、所定の方式に従って変更するものであり、所定のタイミングでこれらの誤差拡散手法を変更するようになっている。
【０２４９】
このように、本変形例としての画像形成装置１０ｈによっても、上述した第３〜第６の各実施形態と同様の作用効果を得ることができる他、誤差拡散部１６ｈが、図１３，図２８（ａ）〜（ｃ）および図２９（ａ），（ｂ）に示すような複数の重み付けパターンに基づき誤差を注目画素周辺の複数の未走査画素に比例配分するとともに、変更処理部１７が、これらの重み付けパターンをランダムに選択して変更するので、これによっても、原画像（多値画像）に無いモアレや目障りな模様（ａｒｔｉｆａｃｔ）を目立たなくすることができる。
【０２５０】
また、上述した第３〜第６の各実施形態およびこれらの変形例においては、誤差拡散部１６ａ〜１６ｈが、図１３，図２８（ａ）〜（ｃ），図２９（ａ），（ｂ）
，図４４，図５１，図５８等に示した重み付パターンに基づいて、注目画素に対して主走査方向側および副走査方向側に位置する未２値化画素に対して誤差拡散を行なっているが、これに限定されるものではなく、誤差拡散部１６ｄ〜１６ｇはこれらのいずれの重み付けパターンを用いて誤差拡散を行なってもよく、更に、注目画素周辺のいずれの未２値化画素に対して誤差拡散を行なってもよい。
【０２５１】
さらに、上述した第３〜第６の各実施形態およびこれらの変形例においては、ソート部１４ｄ，１４ｅ，１４ｆ，１４ｇが、画素をその画素の２値化に伴って生じる誤差値の昇順に並び替えて配列Ｏｒｄｅｒを作成し、２値化処理部１５や誤差拡散部１６ｄ，１６ｅ，１６ｆ，１６ｇが、この配列Ｏｒｄｅｒの順番に従って画素を選択し各処理を行なっているが、それに限定されるものではない。
【０２５２】
すなわち、ソート部１４ｄ，１４ｅ，１４ｆ，１４ｇが、２値化処理部１５や誤差拡散部１６ｄ，１６ｅ，１６ｆ，１６ｇが、配列Ｏｒｄｅｒに基づいてその逆順に画素を選択して各処理を行なってもよく、画素をその画素の２値化に伴って生じる誤差の値の降順に並び替えて配列Ｏｒｄｅｒを作成してもよい。
さらに、上述した第３〜第６の各実施形態およびこれらの変形例においては、ソート部１４ｄ，１４ｅ，１４ｆ，１４ｇが、多値画像をなす各画素を、その画素値の２値化に伴って生じた誤差値の大きさに従って並び替えて配列Ｏｒｄｅｒを作成しているが、これに限定されるものではなく、多値画像をなす各画素を、その画素値の大きさに従って（昇順，降順）並び替えてもよい。これにより、各画素について誤差を算出する必要がなくなり、処理を高速化することができる。
【０２５３】
また、上述した第６実施形態においては、画像形成装置１０ｇにそなえられた複数のＣＰＵのうち、一方のＣＰＵがソート部１４ｇとして機能し（図７２（ａ）のフローチャート参照）、他方のＣＰＵが２値化処理部１５および誤差拡散部１６ｇとして機能している（図７２（ｂ）のフローチャート参照）が、これに限定されるものではない。
【０２５４】
すなわち、例えば画像形成装置１０ｇが一つのＣＰＵをそなえ、このＣＰＵが、ソート部１４ｇとして機能した後に２値化処理部１５および誤差拡散部１６ｇとして機能してもよく、又、画像形成装置１０ｇが２以上のＣＰＵをそなえ、これらのＣＰＵのいずれかが、ソート部１４ｇ，２値化処理部１５および誤差拡散部１６ｇ，分割部１８ｅのいずれかとしての機能を実現してもよく、又、複数のＣＰＵによってソート部１４ｇ，２値化処理部１５および誤差拡散部１６ｇ，分割部１８ｅの少なくともいずれかの機能を共同で実現してもよい。
【０２５５】
また、上述した各実施形態およびこれらの変形例においては、画像形成装置１０ａ，１０ｂ，１０ｃ，１０ｄ，１０ｅ，１０ｆ，１０ｇ，１０ｈが、ソート部１４ａ，１４ｂ，１４ｄ，１０ｅ，１４ｆ，１４ｇ，２値化処理部１５および誤差拡散部１６ａ，１６ｂ，１６ｃ，１６ｄ，１６ｅ，１６ｆ，１６ｇ，１６ｈとしての機能をそなえているが、それに限定されるものではなく、例えば、ソート部１４ａ，１４ｂ，１４ｄ，１０ｅ，１４ｆ，１４ｇ，２値化処理部１５および誤差拡散部１６ａ，１６ｂ，１６ｃ，１６ｄ，１６ｅ，１６ｆ，１６ｇ，１６ｈのうち、少なくとも一部の機能をＰＣ２が実現してもよい。
【０２５６】
例えば、上述した各実施形態およびこれらの変形例においては、ＣＰＵ，ＲＡＭおよびＲＯＭをそなえた画像形成装置１０ａ，１０ｂ，１０ｃ，１０ｄ，１０ｅ，１０ｆ，１０ｇ，１０ｈがコンピュータとしての機能をそなえ、画像取得部１３，ソート部１４ａ，１４ｂ，１４ｄ，１０ｅ，１４ｆ，１４ｇ，２値化処理部１５，誤差拡散部１６ａ，１６ｂ，１６ｃ，１６ｄ，１６ｅ，１６ｆ，１６ｇ，１６ｈおよび変更処理部１７としての機能を実現するようになっているが、それに限定されるものではなく、例えば、ＰＣ（コンピュータ）２のＣＰＵ（図示省略）が、記憶装置（ＰＣ２のＲＡＭやＲＯＭ，ハードディスク装置等）もしくは記憶媒体（フレキシブルディスク，ＣＤ−ＲＯＭ，ＤＶＤ等）に格納されたプログラムを実行することにより、２値化部１１（画像取得部１３，ソート部１４ａ，１４ｂ，１４ｄ，１０ｅ，１４ｆ，１４ｇ，２値化処理部１５，誤差拡散部１６ａ，１６ｂ，１６ｃ，１６ｄ，１６ｅ，１６ｆ，１６ｇ，１６ｈおよび変更処理部１７）として機能してもよい。
【０２５７】
この場合には、これらの画像取得部１３，ソート部１４ａ，１４ｂ，１４ｄ，１０ｅ，１４ｆ，１４ｇ，２値化処理部１５，誤差拡散部１６ａ，１６ｂ，１６ｃ，１６ｄ，１６ｅ，１６ｆ，１６ｇ，１６ｈおよび変更処理部１７としての機能を実現するためのプログラムは、例えばフレキシブルディスク，ＣＤ−ＲＯＭ等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信回路を介してコンピュータに提供するようにしてもよい。又、これらの機能の一部は、アプリケーションプログラムではなくオペレーティングシステムによって実現されてもよい。
【０２５８】
また、上述した第３〜第６の各実施形態およびこれらの変形例においては、誤差拡散を行なう際に、注目画素に隣接する未２値化画素に対して誤差の拡散を行なっているが、これに限定されるものではなく、例えば、注目画素についての２値化に伴って生じた誤差を、その注目画素とパリティが同じの未２値化画素に対して拡散させてもよい。
【０２５９】
すなわち、誤差拡散部１６ｄ，１６ｅ，１６ｆ，１６ｇ，１６ｈは、第２実施形態の誤差拡散部１６ｂと同様に、注目画素の近傍における、同じくパリティ０の画素に対して誤差の拡散を行なってもよく、これにより、注目画素から離れた画素に誤差を拡散させる、すなわち、主走査方向もしくは副走査方向において隣接する画素には誤差を拡散させないので、目障りな人工的な模様（ａｒｔｉｆａｃｔｓ）の大きさを制御することができ、又、作業者がＮの値を任意に変更することにより処理画像ごとに目障りな模様を最小にすることも可能である。
【０２６０】
また、上述した各実施形態およびこれらの変形例においては、Ｎ＝２の場合について説明しているが、これに限定されるものではなく、上述した第１実施形態，第２実施形態およびこれらの変形例と同様に、Ｎ＝２以外の数値（Ｎは自然数）を用いてもよい。
さらに、上述の第５実施形態の画像形成装置１０ｆにおいて、ソート部１４ｆが、配列Ｏｒｄｅｒにおいて、同じ誤差値Ｚを有する画素の間で、その順番を乱数を用いて入れ替えているが、これに限定されるものではなく、他の実施形態およびその変形例においても、同じ誤差値Ｚ（もしくは画素値ｉ）を有する画素の間でその順番を乱数を用いて入れ替えてもよい。
【０２６１】
また、上述した各実施形態においては、ソート部１４ａ，１４ｂ，１４ｄ，１４ｅ，１４ｆ，１４ｇがバケット法を用いて画素のソートを行なっているが、これに限定されるものではなく、バケット法以外の手法でソートを行なってもよい。
さらに、上述した第３実施形態，第５実施形態およびそれらの変形例においては、分割部１８ｄが、原画像（多値画像）をその先頭部分から行単位に分割して、その多値画像の１行分の画素データ（分割画像）を、画像形成装置１０ｄ，１０ｆ，１０ｈにそなえられたメモリ（図示省略）上に展開し、２値化部１１ｄ，１１ｆ，１１ｈが、これらの行毎に２値化や誤差拡散等の処理を行なっているが、これに限定されるものではなく、種々変形して実施することができる。
【０２６２】
すなわち、分割部１８ｄは、原画像をその先頭部分から列単位に分割して、その多値画像の１列分の画素データ（分割画像）を、画像形成装置１０ｄ，１０ｆ，１０ｈにそなえられたメモリ（図示省略）上に展開し、２値化部１１ｄ，１１ｆ，１１ｈが、これらの列毎に２値化や誤差拡散等の処理を行なってもよく、これにより、同様の作用効果を得ることができる。
【０２６３】
また、上述した各実施形態およびその変形例においては、メモリ空間上に展開した分割画像に対して、いずれの方向を主走査方向として種々の処理を行なってもよく、又、いずれの方向を副走査方向として種々の処理を行なってもよい。すなわち、メモリ空間上に展開した分割画像に対して、図中の左側から右側に向かって（主走査方向）処理を行なってもよく、又、図中の下から上に向かって（副走査方向）処理を行なってもよい。
【０２６４】
さらに、上述した第２，第５および第６の各実施形態においては、分割画像をパリティ＝０の画素とパリティ＝１の画素とに分けて、パリティ＝０の画素に対して処理を行なった後にパリティ＝１の画素に対して処理を行なっているが、これに限定されるものではなく、パリティ＝１の画素に対して処理を行なった後にパリティ＝０の画素に対して処理を行なってもよい。
【０２６５】
また、上述した第２，第５および第６の各実施形態においては、パリティにより分割画像の画素をグループ分けしているが、これに限定されるものではなく、分割画像における各画素の先頭からの順番が奇数であるか偶数であるかによって、グループ分けしてもよい。これにより、演算によりパリティを算出する必要がなく、処理を高速化することができる。すなわち、多値画像における所定位置から２画素づつ移動しながら他端の画素まで順番に検索することにより、一のグループを取得することができ、又、前記所定位置から１画素分ずらした位置から２画素づつ移動しながら他端の画素まで順番に検索することにより、他のグループを取得することができ、簡単な処理で多値画像を２つのグループに組分けることができる。
【０２６６】
なお、上述した第３〜第６の各実施形態およびその変形例においても、画像形成装置１０ｄ，１０ｅ，１０ｆ，１０ｇ，１０ｈは、第１実施形態の画像形成装置１０ａと同様に、図示しないＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ：中央処理装置），ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）およびＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）をそなえて構成され、又、そのＲＯＭには、画像取得部（画素値取得部）１３，分割部１８ｄ，１８ｅ，２値化部１１ａ，１１ｂ，１１ｃ，１１ｄ，１１ｅ，１１ｆ，１１ｇ，１１ｈおよび画像形成部１２をそれぞれ実現するためのアプリケーションプログラムが格納されている。そして、ＣＰＵがＲＯＭから上記アプリケーションプログラムを実行することにより、分割部１８ｄ，１８ｅ，２値化部１１ａ，１１ｂ，１１ｃ，１１ｄ，１１ｅ，１１ｆ，１１ｇ，１１ｈおよび画像形成部１２としての各機能が実現され、本発明の２値化方法，画像形成装置（２値化装置）が実現されるようになっている。
【０２６７】
なお、画像取得部１３，分割部１８ｄ，１８ｅ，ソート部１４ｄ，１４ｅ，１４ｆ，１４ｇ，２値化処理部１５および誤差拡散部１６ｄ，１６ｅ，１６ｆ，１６ｇ，１６ｈとしての機能を実現するためのプログラム（２値化プログラム）は、例えばフレキシブルディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−Ｒ／Ｗ，ＤＶＤ，ＤＶＤ−Ｒ，ＤＶＤ−Ｒ／Ｗ，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【０２６８】
画像取得部１３，分割部１８ｄ，１８ｅ，ソート部１４ａ，１４ｄ，１４ｅ，１４ｆ，１４ｇ，２値化処理部１５および誤差拡散部１６ｄ，１６ｅ，１６ｆ，１６ｇ，１６ｈとしての機能を実現する際には、内部記憶装置（本実施形態ではプリンタのＲＡＭやＲＯＭ）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではプリンタのＣＰＵ）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【０２６９】
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、画像形成装置１０ａがコンピュータとしての機能を有しているのである。
【０２７０】
さらに、本実施形態における記録媒体としては、上述したフレキシブルディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−Ｒ／Ｗ，ＤＶＤ，ＤＶＤ−Ｒ，ＤＶＤ−Ｒ／Ｗ，磁気ディスク，光ディスク，光磁気ディスクのほか、ＩＣカード，ＲＯＭカートリッジ，磁気テープ、パンチカード、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ），外部記憶装置等や、バーコードなどの符号が印刷された印刷物等のコンピュータ読取可能な種々の媒体を利用することができる。
【０２７１】
例えば、上述した各実施形態および変形例においては、ＣＰＵ，ＲＡＭおよびＲＯＭをそなえた画像形成装置１０ｄ，１０ｅ，１０ｆ，１０ｇ，１０ｈがコンピュータとしての機能をそなえ、画像取得部１３，ソート部１４ｄ，１４ｅ，１４ｆ，１４ｇ，２値化処理部１５，誤差拡散部１６ｄ，１６ｅ，１６ｆ，１６ｇ，１６ｈおよび変更処理部１７としての機能を実現するようになっているが、それに限定されるものではなく、例えば、ＰＣ（コンピュータ）２のＣＰＵ（図示省略）が、記憶装置（ＰＣ２のＲＡＭやＲＯＭ，ハードディスク装置等）もしくは記憶媒体（フレキシブルディスク，ＣＤ−ＲＯＭ，ＤＶＤ等）に格納されたプログラムを実行することにより、２値化部１１ａ，１１ｂ，１１ｃ，１１ｄ，１１ｅ，１１ｆ，１１ｇ，１１ｈ（画像取得部１３，ソート部１４ｄ，１４ｅ，１４ｆ，１４ｇ，２値化処理部１５，誤差拡散部１６ｄ，１６ｅ，１６ｆ，１６ｇ，１６ｈおよび変更処理部１７）として機能してもよい。
【０２７２】
この場合には、これらの画像取得部１３，ソート部１４ｄ，１４ｅ，１４ｆ，１４ｇ，２値化処理部１５，誤差拡散部１６ｄ，１６ｅ，１６ｆ，１６ｇ，１６ｈおよび変更処理部１７としての機能を実現するためのプログラムは、例えばフレキシブルディスク，ＣＤ−ＲＯＭ等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信回路を介してコンピュータに提供するようにしてもよい。又、これらの機能の一部は、アプリケーションプログラムではなくオペレーティングシステムによって実現されてもよい。
【０２７３】
なお、本発明の各実施形態が開示されていれば、当業者によって製造することが可能である。
（Ｉ）付記
（付記１）　多値画像を２値画像に変換する２値化方法であって、
該多値画像をなす各画素の画素値を取得する画素値取得ステップと、
該多値画像をなす各画素をその画素値に応じた順番に並び替えるソートステップと、
該ソートステップにおいて並び替えられた順番に従って２値化を行なう注目画素を選択し、当該注目画素の値を２値化する２値化ステップと、
該２値化ステップにおいて該注目画素についての２値化に伴って生じた誤差を、該注目画素周辺の未２値化画素に拡散させる誤差拡散ステップとをそなえることを特徴とする、２値化方法。
【０２７４】
（付記２）　該ソートステップにおいて、前記多値画像をなす各画素を、その画素値の昇順に並び替えることを特徴とする、付記１記載の２値化方法。
（付記３）　該ソートステップにおいて、前記多値画像をなす各画素を、当該画素の２値化に伴って生じる誤差の昇順に並び替えることを特徴とする、付記１記載の２値化方法。
【０２７５】
（付記４）　該ソートステップにおいて、前記多値画像をなす各画素を、その画素値の降順に並び替えることを特徴とする、付記１記載の２値化方法。
（付記５）　該ソートステップにおいて、前記多値画像をなす各画素を、当該画素の２値化に伴って生じる誤差の降順に並び替えることを特徴とする、付記１記載の２値化方法。
【０２７６】
（付記６）　該ソートステップにおいて、前記多値画像をなす各画素をバケット法を用いて並び替えることを特徴とする、付記２〜付記５のいずれか１項に記載の２値化方法。
（付記７）　該ソートステップにおいて、前記分割された多値画像を構成する該画素を複数のグループに組分けし、同一のグループの画素どうしが連続するように、これらの組分けた各グループ毎に、それぞれ該グループを構成する各画素をその画素値に応じた順番に並び替えることを特徴とする、付記２〜付記６のいずれか１項に記載の２値化方法。
【０２７７】
（付記８）　該ソートステップにおいて、該多値画像をｘ座標およびｙ座標によって定義される仮想平面（ただし、ｘおよびｙは整数）上に展開するとともに、該仮想平面における該画素について、少なくともｘ軸方向およびｙ軸方向に隣接する画素どうしが互いに異なるグループに属するように複数のグループに組分けし、これらの組分けられた各グループについて、それぞれ該グループを構成する各画素をその画素値に応じた順番に並び替えることを特徴とする、付記７記載の２値化方法。
【０２７８】
（付記９）　該ソートステップにおいて、該仮想平面における該画素について、その該ｘ座標の値とｙ座標の値との和をＮ（Ｎは自然数）で除算した余りに応じて、該画素をＮ組のグループに組分けし、これらの組分けられた各グループについて、それぞれ該グループを構成する各画素をその画素値に応じた順番に並び替えることを特徴とする、付記８記載の２値化方法。
【０２７９】
（付記１０）　該誤差拡散ステップでの誤差拡散手法を、画素毎に変更する変更ステップを含んだことを特徴とする、付記１〜付記９のいずれか１項に記載の２値化方法。
（付記１１）　多値画像を２値画像に変換する２値化装置であって、
該多値画像をなす各画素の画素値を取得する画素値取得部と、
該多値画像をなす各画素をその画素値に応じた順番に並び替えるソート部と、
該ソート部において並び替えられた順番に従って２値化を行なう注目画素を選択し、当該注目画素の値を２値化する２値化処理部と、
該２値化処理部において該注目画素についての２値化に伴って生じた誤差を、該注目画素周辺の未２値化画素に拡散させる誤差拡散部とをそなえることを特徴とする、２値化装置。
【０２８０】
（付記１２）　該ソート部が、該多値画像をｘ座標およびｙ座標によって定義される仮想平面（ただし、ｘおよびｙは整数）上に展開するとともに、該仮想平面における該画素について、少なくともｘ軸方向およびｙ軸方向に隣接する画素どうしが互いに異なるグループに属するように複数のグループに組分けし、これらの組分けられた各グループについて、それぞれ該グループを構成する各画素をその画素値に応じた順番に並び替えることを特徴とする、付記１１記載の２値化装置。
【０２８１】
（付記１３）　多値画像を２値画像に変換する２値化部と、該２値化部によって変換された該２値画像に基づいて媒体上に画像を形成する画像形成部とをそなえた画像形成装置であって、
該２値化部が、
該多値画像をなす各画素の画素値を取得する画素値取得部と、
該多値画像をなす各画素をその画素値に応じた順番に並び替えるソート部と、
該ソート部において並び替えられた順番に従って２値化を行なう注目画素を選択し、当該注目画素の値を２値化する２値化処理部と、
該２値化処理部において該注目画素についての２値化に伴って生じた誤差を、該注目画素周辺の未２値化画素に拡散させる誤差拡散部とをそなえることを特徴とする、画像形成装置。
【０２８２】
（付記１４）　該ソート部が、該多値画像をｘ座標およびｙ座標によって定義される仮想平面（ただし、ｘおよびｙは整数）上に展開するとともに、該仮想平面における該画素について、少なくともｘ軸方向およびｙ軸方向に隣接する画素どうしが互いに異なるグループに属するように複数のグループに組分けし、これらの組分けられた各グループについて、それぞれ該グループを構成する各画素をその画素値に応じた順番に並び替えることを特徴とする、付記１３記載の画像形成装置。
【０２８３】
（付記１５）　多値画像を２値画像に変換する２値化機能をコンピュータに実行させるための２値化プログラムであって、
該多値画像をなす各画素の画素値を取得する画素値取得部と、
該多値画像をなす各画素をその画素値に応じた順番に並び替えるソート部と、
該ソート部において並び替えられた順番に従って２値化を行なう注目画素を選択し、当該注目画素の値を２値化する２値化処理部と、
該２値化処理部において該注目画素についての２値化に伴って生じた誤差を、該注目画素周辺の未２値化画素に拡散させる誤差拡散部として、該コンピュータを機能させることを特徴とする、２値化プログラム。
【０２８４】
（付記１６）　該ソート部が、該多値画像をｘ座標およびｙ座標によって定義される仮想平面（ただし、ｘおよびｙは整数）上に展開するとともに、該仮想平面における該画素について、少なくともｘ軸方向およびｙ軸方向に隣接する画素どうしが互いに異なるグループに属するように複数のグループに組分けし、これらの組分けられた各グループについて、それぞれ該グループを構成する各画素をその画素値に応じた順番に並び替えることを特徴とする、付記１５記載の２値化プログラム。
【０２８５】
（付記１７）　多値画像を２値画像に変換する２値化機能をコンピュータに実行させるための２値化プログラムを記録したコンピュータ読取可能な記録媒体であって、
該２値化プログラムが、
該多値画像をなす各画素の画素値を取得する画素値取得部と、
該多値画像をなす各画素をその画素値に応じた順番に並び替えるソート部と、該ソート部において並び替えられた順番に従って２値化を行なう注目画素を選択し、当該注目画素の値を２値化する２値化処理部と、
該２値化処理部において該注目画素についての２値化に伴って生じた誤差を、該注目画素周辺の未２値化画素に拡散させる誤差拡散部として、該コンピュータを機能させることを特徴とする、２値化プログラムを記録したコンピュータ読取可能な記録媒体。
【０２８６】
（付記１８）　該ソート部が、該多値画像をｘ座標およびｙ座標によって定義される仮想平面（ただし、ｘおよびｙは整数）上に展開するとともに、該仮想平面における該画素について、少なくともｘ軸方向およびｙ軸方向に隣接する画素どうしが互いに異なるグループに属するように複数のグループに組分けし、これらの組分けられた各グループについて、それぞれ該グループを構成する各画素をその画素値に応じた順番に並び替えることを特徴とする、付記１７記載の２値化プログラムを記録したコンピュータ読取可能な記録媒体。
【０２８７】
（付記１９）　多値画像を２値画像に変換する２値化方法であって、
該多値画像を複数の領域に分割する分割ステップと、
該分割ステップにおいて分割された該領域毎に、該多値画像に対する２値化を行なう２値化ステップとをそなえることを特徴とする、２値化方法。
（付記２０）　該２値化ステップが、
該多値画像をなす各画素をその画素値に応じた順番に並び替えるソートステップと、
該ソートステップにおいて並び替えられた順番に従って２値化を行なう注目画素を選択し、当該注目画素の値を２値化処理する２値化処理ステップと、
該２値化処理ステップにおいて該注目画素についての２値化に伴って生じた誤差を、該注目画素周辺の未２値化画素に拡散させる誤差拡散ステップとをそなえることを特徴とする、付記１９記載の２値化方法。
【０２８８】
（付記２１）　該分割ステップにおいて、該多値画像を行単位に分割することを特徴とする、付記１９又は付記２０記載の２値化方法。
（付記２２）　該分割ステップにおいて、該多値画像を列単位に分割することを特徴とする、付記１９又は付記２０記載の２値化方法。
（付記２３）　該分割ステップにおいて、該多値画像を複数の矩形領域に分割することを特徴とする、付記１９又は付記２０記載の２値化方法。
【０２８９】
（付記２４）　該分割ステップにおいて、該多値画像を複数の同一形状の領域に分割することを特徴とする、付記１９〜付記２３のいずれか１項に記載の２値化方法。
（付記２５）　該２値化ステップにおいて、該分割ステップにおいて分割された前記行単位の多値画像を、多値画像における一旦側（上側もしくは下側）の行から他端側（下側もしくは上側）の行にかけて順番に２値化することを特徴とする、付記２１記載の２値化方法。
【０２９０】
（付記２６）　該２値化ステップにおいて、該分割ステップにおいて分割された前記列単位の多値画像を、多値画像における一端側（右側もしくは左側）の列から他端側（左側もしくは右側）の列にかけて順番に２値化することを特徴とする、付記２２記載の２値化方法。
（付記２７）　該ソートステップにおいて、該分割ステップにおいて分割された前記複数の多値画像のうち少なくとも２以上の多値画像について、同時に画素の並び替えを行なうことを特徴とする、付記２０〜付記２６のいずれか１項に記載の２値化方法。
【０２９１】
（付記２８）　該ソートステップにおいて、前記分割された多値画像を構成する該画素を複数のグループに組分けし、同一のグループの画素どうしが連続するように、これらの組分けた各グループ毎に、それぞれ該グループを構成する各画素をその画素値に応じた順番に並び替えることを特徴とする、付記２０〜付記２７のいずれか１項に記載の２値化方法。
【０２９２】
（付記２９）　該ソートステップにおいて、前記分割された多値画像を、該多値画像中における該画素の位置に基づいて複数のグループに組分けすることを特徴とする、付記２８記載の２値化方法。
（付記３０）　該ソートステップにおいて、前記分割された多値画像を、奇数列のグループと偶数列のグループとに組分けすることを特徴とする、付記２９記載の２値化方法。
【０２９３】
（付記３１）　該ソートステップにおいて、前記分割された多値画像を、奇数行のグループと偶数行のグループとに組分けすることを特徴とする、付記２９記載の２値化方法。
（付記３２）　該ソートステップにおいて、前記分割された多値画像を、該多値画像をｘ座標およびｙ座標によって定義される仮想平面（ただし、ｘおよびｙは整数）上に展開するとともに、該仮想平面における該画素について、少なくともｘ軸方向およびｙ軸方向に隣接する画素どうしが互いに異なるグループに属するように複数のグループに組分けすることを特徴とする、付記２９記載の２値化方法。
【０２９４】
（付記３３）　該ソートステップにおいて、該仮想平面における該画素について、その該ｘ座標の値とｙ座標の値との和をＮ（Ｎは自然数）で除算した余りに応じて、該画素をＮ組のグループに組分けすることを特徴とする、付記３２記載の２値化方法。
（付記３４）　該ソートステップにおいて、前記組分けられた複数のグループのうち少なくとも２以上のグループについて、同時に画素の並び替えを行なうことを特徴とする、付記２０〜付記３３のいずれか１項に記載の２値化方法。
【０２９５】
（付記３５）　該ソートステップにおいて、前記多値画像をなす各画素を、当該画素の２値化に伴って生じる誤差の昇順に並び替えることを特徴とする、付記２０〜付記３４のいずれか１項に記載の２値化方法。
（付記３６）　該ソートステップにおいて、前記多値画像をなす各画素を、当該画素の２値化に伴って生じる誤差の降順に並び替えることを特徴とする、付記２０〜付記３４のいずれか１項に記載の２値化方法。
【０２９６】
（付記３７）　該ソートステップにおいて、前記多値画像をなす各画素を、その画素値の昇順に並び替えることを特徴とする、付記２０〜付記３４のいずれか１項に記載の２値化方法。
（付記３８）　該ソートステップにおいて、前記多値画像をなす各画素を、その画素値の降順に並び替えることを特徴とする、付記２０〜付記３４のいずれか１項に記載の２値化方法。
【０２９７】
（付記３９）　該ソートステップにおいて、前記多値画像をなす各画素をバケット法を用いて並び替えることを特徴とする、付記２０〜付記３８のいずれか１項に記載の２値化方法。
（付記４０）　該ソートステップにおいて、同じ画素値を有する画素がある場合に、それらの画素間で順番の入れ替えを行なうことを特徴とする、付記２０〜付記３９のいずれか１項に記載の２値化方法。
【０２９８】
（付記４１）　該ソートステップにおいて、前記注目画素についての２値化に伴って生じた誤差が同じ画素がある場合に、それらの画素間で順番の入れ替えを行なうことを特徴とする、付記２０〜付記３９のいずれか１項に記載の２値化方法。
（付記４２）　該誤差拡散ステップでの誤差拡散手法を画素毎に変更する変更ステップを含んだことを特徴とする、付記２０〜付記４１のいずれか１項に記載の２値化方法。
【０２９９】
（付記４３）　多値画像を２値画像に変換する２値化装置であって、
該多値画像を複数の領域に分割する分割部と、
該分割部によって分割された該領域毎に、該多値画像に対する２値化を行なう２値化部とをそなえることを特徴とする、２値化装置。
（付記４４）　該２値化部が、
該多値画像をなす各画素をその画素値に応じた順番に並び替えるソート部と、
該ソート部において並び替えられた順番に従って２値化を行なう注目画素を選択し、当該注目画素の値を２値化する２値化処理部と、
該２値化処理部において該注目画素についての２値化に伴って生じた誤差を、該注目画素周辺の未２値化画素に拡散させる誤差拡散部とをそなえることを特徴とする、付記４３記載の２値化装置。
【０３００】
（付記４５）　該ソート部が、前記分割された多値画像を構成する該画素を複数のグループに組分けし、同一のグループの画素どうしが連続するように、これらの組分けた各グループ毎に、それぞれ該グループを構成する各画素をその画素値に応じた順番に並び替えることを特徴とする、付記４３又は付記４４記載の２値化装置。
【０３０１】
（付記４６）　多値画像に基づいて媒体上に画像を形成する画像形成装置であって、
該多値画像を複数の領域に分割する分割部と、
該分割部によって分割された該領域毎に、該多値画像に対する２値化を行なう２値化部と
該２値化部によって変換された該２値画像に基づいて媒体上に画像を形成する画像形成部とをそなえた画像形成装置。
【０３０２】
（付記４７）　該２値化部が、
該多値画像をなす各画素をその画素値に応じた順番に並び替えるソート部と、
該ソート部において並び替えられた順番に従って２値化を行なう注目画素を選択し、当該注目画素の値を２値化する２値化処理部と、
該２値化処理部において該注目画素についての２値化に伴って生じた誤差を、該注目画素周辺の未２値化画素に拡散させる誤差拡散部とをそなえることを特徴とする、付記４６記載の画像形成装置。
【０３０３】
（付記４８）　該ソート部が、前記分割された多値画像を構成する該画素を複数のグループに組分けし、同一のグループの画素どうしが連続するように、これらの組分けた各グループ毎に、それぞれ該グループを構成する各画素をその画素値に応じた順番に並び替えることを特徴とする、付記４６又は付記４７記載の画像形成装置。
【０３０４】
（付記４９）　多値画像を２値画像に変換する２値化機能をコンピュータに実行させるための２値化プログラムであって、
該多値画像を複数の領域に分割する分割部と、
該分割部によって分割された該領域毎に、該多値画像に対する２値化を行なう２値化部として、該コンピュータを機能させることを特徴とする、２値化プログラム。
【０３０５】
（付記５０）　該２値化部が、
該多値画像をなす各画素をその画素値に応じた順番に並び替えるソート部と、
該ソート部において並び替えられた順番に従って２値化を行なう注目画素を選択し、当該注目画素の値を２値化する２値化処理部と、
該２値化処理部において該注目画素についての２値化に伴って生じた誤差を、該注目画素周辺の未２値化画素に拡散させる誤差拡散部とをそなえることを特徴とする、付記４９記載の２値化プログラム。
【０３０６】
（付記５１）　該ソート部が、前記分割された多値画像を構成する該画素を複数のグループに組分けし、同一のグループの画素どうしが連続するように、これらの組分けた各グループ毎に、それぞれ該グループを構成する各画素をその画素値に応じた順番に並び替えることを特徴とする、付記４９又は付記５０記載の２値化プログラム。
【０３０７】
（付記５２）　多値画像を２値画像に変換する２値化機能をコンピュータに実行させるための２値化プログラムを記録したコンピュータ読取可能な記録媒体であって、
該２値化プログラムが、
該多値画像を複数の領域に分割する分割部と、
該分割部によって分割された該領域毎に、該多値画像に対する２値化を行なう２値化部として、該コンピュータを機能させることを特徴とする、２値化プログラムを記録したコンピュータ読取可能な記録媒体。
【０３０８】
（付記５３）　該２値化部が、
該多値画像をなす各画素をその画素値に応じた順番に並び替えるソート部と、
該ソート部において並び替えられた順番に従って２値化を行なう注目画素を選択し、当該注目画素の値を２値化する２値化処理部と、
該２値化処理部において該注目画素についての２値化に伴って生じた誤差を、該注目画素周辺の未２値化画素に拡散させる誤差拡散部とをそなえることを特徴とする、付記５２記載の２値化プログラムを記録したコンピュータ読取可能な記録媒体。
【０３０９】
（付記５４）　該ソート部が、前記分割された多値画像を構成する該画素を複数のグループに組分けし、同一のグループの画素どうしが連続するように、これらの組分けた各グループ毎に、それぞれ該グループを構成する各画素をその画素値に応じた順番に並び替えることを特徴とする、付記５２又は付記５３記載の２値化プログラムを記録したコンピュータ読取可能な記録媒体。
【０３１０】
【発明の効果】
以上詳述したように、本発明の２値化方法，２値化装置，画像形成装置，２値化プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体によれば、以下の効果ないし利点がある。
（１）多値画像をなす各画素をその画素値に応じた順番に並び替え、この並び替えられた順番に従って２値化を行なう注目画素を選択し、この注目画素の値を２値化するとともに、この２値化に伴って生じた誤差を、注目画素周辺の未２値化画素に拡散させることにより、多値画像中において、２値化を行なう注目画素として順次選択される画素の位置が画像中において非連続的（ランダム）になり、これにより、誤差拡散が行なわれる画素も非連続的になる。従って、２値化後の画像において、原画像（多値画像）に無いモアレや目障りな模様（ａｒｔｉｆａｃｔ）を低減することができる（請求項１〜請求項５）。
【０３１１】
（２）多値画像をなす各画素を、その画素値の大きさに従って並び替えることにより、局部的に見ても、大きな領域で見ても、任意の連結領域における画素値の平均値の差が信号幅（原画像の階調の幅）に対して１以内に留めることが可能となる。したがって，処理前と後画像の明るさが変わらないという利点もある。
（３）多値画像をなす各画素を、その画素値の大きさに従って並び替えることにより、画素の並び替えに要する計算量を低減することができ、高速に処理を行なうことができる。
【０３１２】
（４）多値画像をなす各画素を、その画素の２値化に伴って生じる誤差の大きさに従って並び替えることにより、並び替えを行なうために要するメモリ領域を小さくすることができ、装置の製造コストを低減することができる。
（５）多値画像をなす各画素をバケット法を用いて並び替えることにより、画素の並び替えに要する時間を大幅に短縮することができ、配列Ｏｒｄｅｒを高速に作成することができる。これにより、２値化処理に要する時間を短縮することができ、印刷を高速に行なうことができる。
【０３１３】
（６）仮想平面における画素について、少なくともｘ軸方向およびｙ軸方向に隣接する画素どうしが互いに異なるグループに属するように複数のグループに組分けし、これらの組分けられた各グループについて、それぞれグループを構成する各画素をその画素値に応じた順番に並び替えることにより、多値画像中において、２値化を行なう注目画素として順次選択される画素の非連続（ランダム）性を向上させることができ、これにより、誤差拡散が行なわれる画素も非連続的になり、２値化後の画像において、原画像（多値画像）に無いモアレや目障りな模様（ａｒｔｉｆａｃｔ）を低減することができる。特に、同一の画素値を有する画素が連続するような部分や、なだらかに階調が変化するような部分（グラデーション部分）についても、注目画素として順次選択される画素の位置が、その直前に注目画素として選択された画素と主走査方向および副走査方向において隣接することがなく、誤差拡散が行なわれる画素も非連続的になる。
【０３１４】
（７）仮想平面における該画素について、そのｘ座標の値とｙ座標の値との和をＮ（Ｎは自然数）で除算した余りに応じて、画素をＮ組のグループに組分けし、これらの組分けられた各グループについて、それぞれグループを構成する各画素をその画素値に応じた順番に並び替えることにより、Ｎの値を任意に変更することによって、連続して２値化及び誤差拡散を行なう画素の間隔を簡単に変更することができ、これによっても、モアレや目障りな模様（ａｒｔｉｆａｃｔ）の発生を制御することができる。
【０３１５】
（８）誤差拡散手法を、画素毎に変更することによっても、原画像（多値画像）に無いモアレや目障りな模様（ａｒｔｉｆａｃｔ）を目立たなくすることができる。
（９）多値画像を複数の領域に分割し、これらの分割された領域毎に、多値画像に対する２値化を行なうので、２値化を行なうために要するメモリ領域を小さくすることができ、装置の製造コストを低減することができる（請求項６〜請求項１０）。
【０３１６】
（１０）多値画像を複数の同一形状の領域に分割することにより、２値化を行なうために要するメモリ領域を効率的に用いることができ、処理の高速化や装置の製造コストを低減することができる。
（１１）分割された行単位の多値画像を、多値画像における一旦側（上側もしくは下側）の行から他端側（下側もしくは上側）の行、もしくは、多値画像における一端側（右側もしくは左側）の列から他端側（左側もしくは右側）の列にかけて順番に２値化することにより、２値化によって生じた誤差を必ずその次の行（ただし、最終端以外の行を除く）に拡散させることができるので、誤差が拡散されずに特定の画素へ集中することを防ぐことができる。
【０３１７】
（１２）分割された複数の多値画像のうち少なくとも２以上の多値画像について、同時に画素の並び替えを行なうことにより、画素の並び替えに要する時間を短縮させることができ、これにより２値化（印刷）速度を向上させることができる。
（１３）分割された多値画像を構成する画素を複数のグループに組分けし、同一のグループの画素どうしが連続するように、これらの組分けた各グループ毎に、それぞれグループを構成する各画素をその画素値に応じた順番に並び替えることによっても、多値画像中において、２値化を行なう注目画素として順次選択される画素の非連続（ランダム）性を向上させることができる。
【０３１８】
（１４）　分割された多値画像を、この多値画像中における画素の位置に基づいて複数のグループに組分けすることにより、多値画像を容易に複数のグループに組分けすることができる。
（１５）分割された多値画像を、奇数列（もしくは奇数行）のグループと偶数列（もしくは偶数行）のグループとに組分けすることにより、複雑な演算を行なうことなく簡単な処理で多値画像を２つのグループに組分けることができる。
【０３１９】
（１６）組分けられた複数のグループのうち少なくとも２以上のグループについて、同時に画素の並び替えを行なうことにより、画素の並べ替えに要する時間を短縮することができ、画像形成（２値化）に要する時間を短縮することができる。
（１７）同じ画素値を有する画素（もしくは注目画素についての２値化に伴って生じた誤差が同じ画素）がある場合に、それらの画素間で順番の入れ替えを行なうことにより、誤差拡散が行なわれる画素も非連続的になり、これによっても、２値化後の画像において、原画像（多値画像）に無いモアレや目障りな模様（ａｒｔｉｆａｃｔ）を低減することができる。又、原画像において、同一の画素値を有する画素が連続するような部分や、グラデーション部分についても、注目画素として順次選択される画素の位置が、その直前に注目画素として選択された画素と少なくとも主走査方向において隣接することがなく、誤差拡散が行なわれる画素も非連続的になる。
【図面の簡単な説明】
【図１】本発明の第１実施形態および第２実施形態としての画像形成装置をそなえた画像形成システムの機能構成を模式的に示す図である。
【図２】本発明の第１実施形態の画像形成装置におけるソート部によるバケット法を用いたソート手法を説明するためのフローチャートである。
【図３】本発明の第１実施形態としての画像形成装置によって２値化を行なう多値画像（原画像）の例を示す図である。
【図４】画素値ｉとその画素値の出現頻度Ｎｕｍｉとの関係の例を示す図である。
【図５】画素値ｉとその累積出現頻度Ｔｏｔａｌｉとの関係の例を示す図である。
【図６】画素値ｉとその累積出現頻度Ｔｏｔａｌｉとの関係の例を示す図である。
【図７】本発明の第１実施形態としての画像形成装置のソート部が作成する配列Ｏｒｄｅｒの作成過程の例を示す図である。
【図８】画素値ｉとその累積出現頻度Ｔｏｔａｌｉとの関係の例を示す図である。
【図９】本発明の第１実施形態としての画像形成装置のソート部が作成する配列Ｏｒｄｅｒの作成過程の例を示す図である。
【図１０】画素値ｉとその累積出現頻度Ｔｏｔａｌｉとの関係の例を示す図である。
【図１１】本発明の第１実施形態としての画像形成装置のソート部が作成する配列Ｏｒｄｅｒの作成過程の例を示す図である。
【図１２】本発明の第１実施形態としての画像形成装置のソート部によって作成された配列Ｏｒｄｅｒの例を示す図である。
【図１３】誤差拡散法における重み付けパターンの例を示す図である。
【図１４】本発明の第１実施形態としての画像形成装置における２値化手法を説明するためのフローチャートである。
【図１５】本発明の第２実施形態としての画像形成装置によって２値化を行なう多値画像（原画像）の例を示す図である。
【図１６】本発明の第２実施形態の画像形成装置におけるソート部による多値画像についてのバケット法を用いたソート手法を説明するためのフローチャートである。
【図１７】（ａ），（ｂ）はそれぞれ画素値ｉとその画素値の出現頻度Ｎｕｍｉ，Ｎｕｍ１２８＋ｉとの関係の例を示す図である。
【図１８】（ａ），（ｂ）はそれぞれ画素値ｉとその累積出現頻度Ｔｏｔａｌｉ，Ｔｏｔａｌ１２８＋ｉとの関係の例を示す図である。
【図１９】画素値ｉとその累積出現頻度Ｔｏｔａｌｉとの関係の例を示す図である。
【図２０】本発明の第２実施形態の画像形成装置のソート部による配列Ｏｒｄｅｒの作成過程の例を示す図である。
【図２１】画素値ｉとその累積出現頻度Ｔｏｔａｌ１２８＋ｉとの関係の例を示す図である。
【図２２】本発明の第２実施形態の画像形成装置のソート部による配列Ｏｒｄｅｒの作成過程の例を示す図である。
【図２３】画素値ｉとその累積出現頻度Ｔｏｔａｌｉとの関係の例を示す図である。
【図２４】本発明の第２実施形態の画像形成装置のソート部による配列Ｏｒｄｅｒの作成過程の例を示す図である。
【図２５】本発明の第２実施形態の画像形成装置のソート部によって配列Ｏｒｄｅｒの例を示す図である。
【図２６】本発明の第２実施形態における画像形成装置の誤差拡散部による拡散手法を説明するための図である。
【図２７】本発明の第１実施形態および第２実施形態としての画像形成装置の変形例の構成を模式的に示す図である。
【図２８】（ａ）〜（ｃ）はそれぞれ誤差拡散法における重み付けパターンの例を示す図である。
【図２９】（ａ），（ｂ）は誤差拡散の他の重み付パターンの例を示す図である。
【図３０】本発明の第２実施形態における画像形成装置の変形例を説明するための図である。
【図３１】Ｎ＝２の場合において、注目画素の斜め方向に隣接する未２値化画素に対して誤差拡散を行なう場合の誤差拡散手法の処理イメージを模式的に示す図である。
【図３２】本発明の第３実施形態としての画像形成装置をそなえた画像形成システムの機能構成を模式的に示す図である。
【図３３】（ａ）は本発明の第３実施形態としての画像形成装置によって２値化を行なう多値画像（原画像）の例を示す図、（ｂ）は分割画像の例を示す図である。
【図３４】本発明の第３実施形態の画像形成装置におけるソート部によるバケット法を用いたソート手法を説明するためのフローチャートである。
【図３５】誤差値Ｚとその出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺとの関係の例を示す図である。
【図３６】誤差値Ｚとその累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺとの関係の例を示す図である。
【図３７】誤差値Ｚとその累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺとの関係の例を示す図である。
【図３８】本発明の第３実施形態としての画像形成装置のソート部が作成する配列Ｏｒｄｅｒの作成過程の例を示す図である。
【図３９】誤差値Ｚとその累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺとの関係の例を示す図である。
【図４０】本発明の第３実施形態としての画像形成装置のソート部が作成する配列Ｏｒｄｅｒの作成過程の例を示す図である。
【図４１】誤差値Ｚとその累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺとの関係の例を示す図である。
【図４２】本発明の第３実施形態としての画像形成装置のソート部が作成する配列Ｏｒｄｅｒの作成過程の例を示す図である。
【図４３】本発明の第３実施形態としての画像形成装置のソート部によって作成された配列Ｏｒｄｅｒの例を示す図である。
【図４４】誤差拡散法における重み付けパターンの例を示す図である。
【図４５】本発明の第３実施形態としての画像形成装置の２値化部における２値化処理および誤差拡散処理を説明するためのフローチャートである。
【図４６】本発明の第３実施形態としての画像形成装置をそなえた画像形成システムにおける２値化手法を説明するためのフローチャートである。
【図４７】本発明の第４実施形態としての画像形成装置をそなえた画像形成システムの機能構成を模式的に示す図である。
【図４８】本発明の第３実施形態の画像形成装置における原画像の分割例を示す図である。
【図４９】本発明の第３実施形態の画像形成装置における分割画像の例を示す図である。
【図５０】（ａ）は本発明の第３実施形態の画像形成装置のソート部による配列Ｏｒｄｅｒの例を示す図、（ｂ）はその配列Ｏｒｄｅｒの他の例を示す図である。
【図５１】誤差拡散法における重み付けパターンの例を示す図である。
【図５２】本発明の第５実施形態としての画像形成装置をそなえた画像形成システムの機能構成を模式的に示す図である。
【図５３】本発明の第５実施形態としての画像形成装置によって２値化を行なう分割画像をグループ分けして示す図である。
【図５４】（ａ），（ｂ）は本発明の第５実施形態の画像形成装置のソート部による多値画像についてのバケット法を用いたソート手法を説明するためのフローチャートである。
【図５５】（ａ），（ｂ）は誤差値Ｚとその誤差値の出現頻度Ｅｒｒｏｒ＿ＬｅｖｅｌＺ，Ｅｒｒｏｒ＿Ｌｅｖｅｌｖ２Ｚとの関係の例を示す図である。
【図５６】（ａ），（ｂ）は誤差値Ｚとその累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺ，Ｅｒｒｏｒ＿Ｔｏｔａｌｖ２Ｚとの関係の例を示す図である。
【図５７】本発明の第５実施態の画像形成装置のソート部によって作成された配列Ｏｒｄｅｒの例を示す図である。
【図５８】本発明の第５実施形態としての画像形成装置の誤差拡散部が用いる重み付けパターンの例を示す図である。
【図５９】本発明の第５実施形態としての画像形成装置の２値化部における２値化処理および誤差拡散処理を説明するためのフローチャートである。
【図６０】本発明の第６実施形態としての画像形成装置をそなえた画像形成システムの機能構成を模式的に示す図である。
【図６１】本発明の第６実施形態としての画像形成装置の分割部によって作成された分割画像（多値画像）の例を示す図である。
【図６２】本発明の第６実施形態の画像形成装置のソート部による分割画像についてのバケット法を用いたソート手法を説明するためのフローチャートである。
【図６３】（ａ），（ｂ）は誤差値Ｚとその画素値の出現頻度Ｅｒｒｏｒ＿ｌｅｖｅｌＺ，Ｅｒｒｏｒ＿ＬｅｖｅｌＺ＋１２８との関係の例を示す図である。
【図６４】（ａ），（ｂ）は誤差値Ｚとその累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺ，Ｅｒｒｏｒ＿ＴｏｔａｌＺ＋１２８との関係の例を示す図である。
【図６５】誤差値Ｚとその累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺとの関係の例を示す図である。
【図６６】本第６実施形態の画像形成装置のソート部による配列Ｏｒｄｅｒの作成過程の例を示す図である。
【図６７】誤差値Ｚとその累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺ＋１２８との関係の例を示す図である。
【図６８】本第６実施形態の画像形成装置のソート部による配列Ｏｒｄｅｒの作成過程の例を示す図である。
【図６９】誤差値Ｚとその累積出現頻度Ｅｒｒｏｒ＿ＴｏｔａｌＺとの関係の例を示す図である。
【図７０】本第６実施形態の画像形成装置のソート部による配列Ｏｒｄｅｒの作成過程の例を示す図である。
【図７１】本発明の第６実施形態の画像形成装置のソート部によって作成された配列Ｏｒｄｅｒの例を示す図である。
【図７２】（ａ），（ｂ）は本発明の第６実施形態としての画像形成装置における２値化手法を説明するためのフローチャートである。
【図７３】本発明の第３〜第６実施形態としての画像形成装置の変形例の構成を模式的に示す図である。
【図７４】（ａ），（ｂ），（ｃ）は従来の誤差拡散法を説明するための図であり、Ｆｌｏｙｄ　＆　Ｓｔｅｉｎｂｅｒｇ型の誤差拡散法を説明するための図である。
【図７５】従来の２値化手法を説明するための図である。
【符号の説明】
１ａ，１ｂ，１ｃ，１ｄ，１ｅ，１ｆ，１ｇ，１ｈ　画像形成システム
２　ＰＣ
１０ａ，１０ｂ，１０ｃ，１０ｄ，１０ｅ，１０ｆ，１０ｇ，１０ｈ　画像形成装置（２値化装置）
１１ａ，１１ｂ，１１ｃ，１１ｄ，１１ｅ，１１ｆ，１１ｇ，１１ｈ　２値化部
１２　画像形成部
１３　画像取得部（画素値取得部）
１４ａ，１４ｂ，１４ｄ，１４ｅ，１４ｆ，１４ｇ　ソート部
１５　２値化処理部
１６ａ，１６ｂ，１６ｃ，１６ｄ，１６ｅ，１６ｆ，１６ｇ，１６ｈ　誤差拡散部
１７　変更処理部
２１　画素データ転送部
【図１】
2004064720.tif 000005
【図２】
2004064720.tif 000006
【図３】
2004064720.tif 000007
【図４】
2004064720.tif 000008
【図５】
2004064720.tif 000009
【図６】
2004064720.tif 000010
【図７】
2004064720.tif 000011
【図８】
2004064720.tif 000012
【図９】
2004064720.tif 000013
【図１０】
2004064720.tif 000014
【図１１】
2004064720.tif 000015
【図１２】
2004064720.tif 000016
【図１３】
2004064720.tif 000017
【図１４】
2004064720.tif 000018
【図１５】
2004064720.tif 000019
【図１６】
2004064720.tif 000020
【図１７】
2004064720.tif 000021
【図１８】
2004064720.tif 000022
【図１９】
2004064720.tif 000023
【図２０】
2004064720.tif 000024
【図２１】
2004064720.tif 000025
【図２２】
2004064720.tif 000026
【図２３】
2004064720.tif 000027
【図２４】
2004064720.tif 000028
【図２５】
2004064720.tif 000029
【図２６】
2004064720.tif 000030
【図２７】
2004064720.tif 000031
【図２８】
2004064720.tif 000032
【図２９】
2004064720.tif 000033
【図３０】
2004064720.tif 000034
【図３１】
2004064720.tif 000035
【図３２】
2004064720.tif 000036
【図３３】
2004064720.tif 000037
【図３４】
2004064720.tif 000038
【図３５】
2004064720.tif 000039
【図３６】
2004064720.tif 000040
【図３７】
2004064720.tif 000041
【図３８】
2004064720.tif 000042
【図３９】
2004064720.tif 000043
【図４０】
2004064720.tif 000044
【図４１】
2004064720.tif 000045
【図４２】
2004064720.tif 000046
【図４３】
2004064720.tif 000047
【図４４】
2004064720.tif 000048
【図４５】
2004064720.tif 000049
【図４６】
2004064720.tif 000050
【図４７】
2004064720.tif 000051
【図４８】
2004064720.tif 000052
【図４９】
2004064720.tif 000053
【図５０】
2004064720.tif 000054
【図５１】
2004064720.tif 000055
【図５２】
2004064720.tif 000056
【図５３】
2004064720.tif 000057
【図５４】
2004064720.tif 000058
【図５５】
2004064720.tif 000059
【図５６】
2004064720.tif 000060
【図５７】
2004064720.tif 000061
【図５８】
2004064720.tif 000062
【図５９】
2004064720.tif 000063
【図６０】
2004064720.tif 000064
【図６１】
2004064720.tif 000065
【図６２】
2004064720.tif 000066
【図６３】
2004064720.tif 000067
【図６４】
2004064720.tif 000068
【図６５】
2004064720.tif 000069
【図６６】
2004064720.tif 000070
【図６７】
2004064720.tif 000071
【図６８】
2004064720.tif 000072
【図６９】
2004064720.tif 000073
【図７０】
2004064720.tif 000074
【図７１】
2004064720.tif 000075
【図７２】
2004064720.tif 000076
【図７３】
2004064720.tif 000077
【図７４】
2004064720.tif 000078
【図７５】
2004064720.tif 000079