(57)【特許請求の範囲】
【請求項１】
注目画素として選択されたことのない、注目画素の周辺の複数の画素である選択された１組の周辺画素に関する情報を受け取り、前記周辺画素の各々の画素値にもとづいて、選択された前記周辺画素の各々にランクを割り当てるための画素ランカと、
注目画素の画素値を閾値と比較し、比較結果を生ずるためのスレッショルダと、
前記比較結果にもとづいてマーキング決定を行うためのマーカと、
前記注目画素の前記画素値と、前記マーキング決定とにもとづいて誤差値を演算し、前記周辺画素の各々のランクにもとづいて、選択された前記周辺画素のうち少なくとも１つの周辺画素を選択し、選択された該少なくとも１つの周辺画素のランクと算定された前記誤差値とにもとづいて、選択された該少なくとも１つの周辺画素の画素値を変更する誤差ディフューザと、
を含む、ランク順誤差拡散を行うための画像処理システム。
【請求項２】
画像を処理するための処理経路を選択し、注目画素に関連する周辺画素を画定するための少なくとも１つの拡散マスクを選択し、選択された前記処理経路に基づいて前記注目画素を選択し、選択された前記注目画素と、選択された前記拡散マスクとに基づいて、周辺画素を選択し、前記注目画素と選択された前記周辺画素に関する情報を、前記画素ランカに送るための、画素および周辺セレクタをさらに含む、請求項１に記載の画像処理システム。
【請求項３】
前記マーカから受け取る複数のレンダリング決定に基づいて画像をレンダリングするためのレンダリング・デバイスをさらに含む、請求項１に記載の画像処理システム。
【請求項４】
前記レンダリング・デバイスは、ゼログラフィック・プリンタを含む、請求項３に記載の画像処理システム。
【請求項５】
前記画素ランカは、前記周辺画素の画素値と、少なくとも１つの前記周辺画素の空間的位置の測定値とに基づいて、選択された前記周辺画素にランクを割り当てるためのものである、請求項１に記載の画像処理システム。
【請求項６】
前記少なくとも１つの前記周辺画素の空間的位置の測定値は、前記注目画素に対する空間的相対位置の測定値である、請求項５に記載の画像処理システム。
【請求項７】
前記少なくとも１つの前記周辺画素の空間的位置の測定値は、関連するハーフトーン・スクリーンの一部に対する空間的相対位置の測定値である、請求項５に記載の画像処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、階調および不飽和カラー画像を処理する技術に係る。特に、本発明は、さらなる処理または複写のために、ハーフトーン画像を走査して画像処理システムに取り込む際に適用される。また、本発明は、そのほかのソース（例えば、アドビグレイタイル(Adobe Gray tile)、ＪＰＥＧの非圧縮画像、被走査線画、アンチ・エイリアシング画像などが挙げられるが、これらに限定されない）からの画像を処理する際にも有効である。（アドビ(Adobe)はアドビシステムズ社(Adobe Systems Incorporated)の登録商標である。）
【０００２】
【従来の技術】
２値ハーフトーン画像は、無地の背景に、多数の小さなスポットを形成することでできている。スポットはグリッド状に配置されている。例えば、スポットはハーフトーン・スクリーンの構成で配置されている。複写処理中などにハーフトーン画像を走査する際、画像上の背景とスポットの位置とが、走査装置のセンサ位置と一致する可能性はほとんどない。このため、１つのスポットの一部分のみが、１つの関連する画像センサの視野に入っていることがある。このような理由から、被走査ハーフトーン画像は、ハーフトーン・スポットまたはドットの周囲にグレイ・エッジを含む傾向がある。このようなグレイのハーフトーンや、そのほかのソースからのグレイのハーフトーンを印刷するには、被走査画像の階調値を２値（背景と、スポット）形式に変換するか、階調値を補正もしくは除去することが必要である。
【０００３】
グレイ画像を２値形式に変換する方法はいくつか知られている。例えば、閾値処理や再ハーフトーン化、および種々の誤差拡散技術により、このような画像を２値化する。
【０００４】
【発明が解決しようとする課題】
これらの既知の方法には、いずれも問題点がある。例えば、単純な閾値処理を行うと、中間階調がすべて除去されてしまい、結果として不都合に大きいグレイ誤差が発生する。再度閾値処理を行うと、新しいハーフトーン・スクリーンの周波数要素が、原画像（または、被走査画像）のハーフトーン・グリッド・パターンと結びつき、不都合なモアレ・パターンを発生させることがある。従来の誤差拡散技術では、大抵の場合、パターン・アーチファクトを発生させることなく、被走査ハーフトーンをレンダリングすることができるが、画像上でドットの断片化が過剰に発生することが多い。少なくとも一部の環境、例えば一部のゼログラフィック環境では、ドットまたはスポットの断片化を防止することができる。コンパクト・ドットの場合、広がったドット断片に関わるドットの小断片の場合と比べ、ゼログラフィック装置の非線形性や処理上のずれの影響を受けにくい。例えば、ドットの小断片の大きさの小さな寸法オフセットは、同じ寸法オフセットがより大きいコンパクト・ドットに適用された場合と比べ、ドット利得誤差が大きい。ドット利得誤差は、画像もしくは画像の一部の、明度および暗度上の誤差として認識される。
【０００５】
従来の２値化手法における問題点は、図１ないし図６に顕著に示されている。
【０００６】
図１は、走査によって画像処理システムに取り込まれたオリジナル・ハーフトーン画像（被走査画像１１０）である。オリジナル・ハーフトーンは、毎インチ８５本の４５％ドット・スクリーンからなっていた。このスクリーンを、スキャナ・センサの配置と、スキャナのサンプリング周波数とから生じる、走査装置のグリッド・パターンに重ね合わせた。その結果、被走査画像１１０に格子状のモアレ・パターン１１４がかすかに発生した。図１の被走査画像１１０の一部１１８を拡大した図である２１０を示す図２を併せて参照する。（特に）原画像のドット位置と、スキャナ・センサの位置および配置とに相関関係がないため、被走査画像のドットの、原画像では黒色ドットと白色背景とがハイコントラストをなしていた部分に、グレイ・エッジ２１４が発生している。図３および図４を参照する。被走査画像１１０の被閾値処理版４１４の一部４１０を拡大した図である３１０より明らかなように、単純な閾値処理を行うことで、グレイ・エッジを除去し、ドットのコンパクト性を維持することができる。しかし、閾値処理は、かすかなモアレ・パターン１１４のコントラストを改良する際には逆効果となり、被閾値処理版４１４では、より鮮明なモアレ・パターン４１８を発生させている。
【０００７】
再ハーフトーン化によってもドットのコンパクト性を維持できる。しかし、当業者には自明ながら、再ハーフトーン化によりさらなるモアレの影響が生じる。
【０００８】
図５および図６を参照する。例えばフロイド−シュタインベルク(Floyd-Steinberg)誤差拡散法のような公知の誤差拡散技術により、被走査画像１１０の誤差拡散版５１０を作成した。誤差拡散版５１０はモアレが比較的少ない。フロイド−シュタインベルク誤差拡散法は、画像にパターン・アーチファクトを発生させないだけでなく、被走査画像１１０に存在していたモアレの影響を低減させる。しかし、誤差拡散版５１０の一部６１４の拡大図である６１０よりわかるように、誤差拡散の結果、画像上でドットの断片化６１８が発生している。ドット断片化は、画像のノイズの原因となる傾向がある。また、上記で説明したように、ドット断片化が発生すると、画像の空間的均質性や時間的安定性が低下し、またレンダリング・デバイスなどのドット利得誤差の影響を受けやすくなる。
【０００９】
上述した諸問題点、および従来の２値化または量子化変換法における限界から、ドットのコンパクト性を改良もしくは維持しながら、グレイのハーフトーン画像またはグレイ・エッジの発生したそのほかの画像（例えば、アドビグレイタイル、ＪＰＥＧの非圧縮画像、被走査線画、アンチ・エイリアシング画像）の変換された量子化版において、パターン・アーチファクトを除去し、減少させ、あるいは発生させない２値化または量子化変換法が求められている。
【００１０】
【課題を解決するための手段】
本発明の一実施形態は、画像をハーフトーン化する方法であって、当該方法は、画像から画素値を受け取るステップと、周辺画素を取り囲む拡散マスクを選択するステップと、ハーフトーン化閾値を選択するステップと、マーキング決定を行うため、画素値と選択されたハーフトーン化閾値とを比較するステップと、画素値とマーキング決定とに基づいて誤差値を演算するステップと、算定された誤差値に基づいて、拡散マスクの範囲内の少なくとも１つの選択された周辺画素に誤差を拡散するステップと、を含む。周辺画素の選択は、拡散マスクの範囲内の複数の周辺画素の画素値に基づいて行われる。
【００１１】
例えば、周辺画素は、その画素値に応じてランク分けされる。算定された誤差の符号に応じて、第１ランクまたは最下位ランクの画素が誤差を受け取る。実施形態によっては、残存誤差もしくは未拡散誤差は、すべての誤差が拡散されるか、あるいは誤差を受け取ることが可能な周辺画素が残っていない状態になるまで、以降のランクの画素に漸次割り当てられる。実施形態によっては、任意の１つの画素に分配される誤差の量は、最大もしくは最小画素値により、あるいはクリッピング・リミットにより制限されている。また、実施形態によっては、誤差自体に制限を加える。
【００１２】
ランク順誤差拡散を行うための画像処理システムは、選択された１組の周辺画素に関する情報を受け取り、周辺画素の画素値に基づいて、選択された周辺画素にランクを割り当てるための画素ランカと、注目画素の画素値を閾値と比較し、比較結果を生ずるためのスレショルダと、比較結果に基づいてマーキング決定を行うためのマーカと、注目画素の画素値と、マーキング決定とに基づいて誤差値を演算し、選択された周辺画素のランクと、算定された誤差値とに基づいて、選択された周辺画素のうち少なくとも１つの画素値を変更する誤差ディフューザと、を含む。画像処理システムは、ゼログラフィック環境では、ゼログラフィック・プリンタをさらに含む。
【００１３】
【発明の実施の形態】
図７を参照する。被走査ハーフトーン画像１１０に対してランク順誤差拡散を行うことで、ランク順誤差拡散版７１０が得られる。上述した従来の手法によるものとは対照的に、ランク順誤差拡散版７１０はパターン・アーチファクトが比較的少なく、また図８よりわかるように、比較的コンパクトなドット８１０からなっている。このため、ランク順誤差拡散版７１０をレンダリングした場合、ノイズがなく、従来の誤差拡散方法で得られる画像では顕著であった時間的不安定性、空間的非均質性、およびドット利得誤差の問題が発生しない。
【００１４】
図９を参照する。ランク順誤差拡散を行う方法９１０は、処理すべき画像を受け取るステップ９１４と、画像の処理経路を選択するステップ９１８と、選択された処理経路に基づいて、拡散マスクまたは１組の拡散マスクを選択するステップ９２０と、画像から画素値を受け取るステップ９２２と、２値化閾値を選択するステップ９２６と、２値化閾値を画素の画素値と比較するステップ９２８と、比較結果に基づいてマーキング決定を行うステップ９３０と、画素値とマーキング決定とに基づいて誤差値を演算するステップ９３４と、算定された誤差と、周辺画素の画素値とに基づいて、拡散マスクの範囲内の周辺画素に誤差を拡散するステップ９３８と、を含む。
【００１５】
画像は、ステップ９１４で、任意の画像ソースから受け取られる。ランク順誤差拡散は、アドビグレイタイルやＪＰＥＧの非圧縮画像の場合と同様に、被走査ハーフトーン画像に対して有効である。
【００１６】
画像全体の処理経路を選択するステップ９１８は、例えば、１組のスペース・フィリング曲線の中から、処理すべき画像の特性や所望のレンダリング結果に基づいて、最適なスペース・フィリング曲線を選択することを含む。１組のスペース・フィリング曲線は、単純なラスタ走査（例えば、左から右、もしくは端から端への公知の反復走査で、一般的には画像の最上部から開始され、第１端から第２端へ向けて順次線走査を行い、以降の行も同様に線走査する）を含んでいてもよい。さらに、１組のスペース・フィリング曲線は、Ｓ字型ラスタ走査や、ヒルベルト（Hilbert）曲線やペアノ（Peano）曲線などのフラクタル・パターンなどの、より複雑な走査経路を含んでいてもよい。これらの曲線の選択上のトレードオフは、公知技術である。例として、実施の複雑性と、従来の誤差拡散方法で処理された画像中に時折見受けられるウォーム状構造のような、誤差拡散アーチファクトを隠す傾向との間のトレードオフが挙げられる。
【００１７】
処理経路を選択するステップ９１８は、拡散マスクを選択するステップ９２０に影響を及ぼす場合がある。図１０を参照する。拡散マスク（例えば、拡散マスク１０１０）は、拡散誤差を受け取る周辺画素の範囲を画定する。誤差拡散マスク１０１０では、注目画素１０１４が、拡散マスクの範囲内の周辺画素１０１６ないし１０４４に関して示されている。誤差を受け取る画素は、未処理画素であることが好ましい。このため、拡散マスクは未処理画素のみを含むよう選択されることが好ましい。左から右への単純な走査経路が選択された場合、拡散マスク１０１０が示すように、拡散マスクは、注目画素の右および下方向に配置された画素のみを含むものとすることができる。Ｓ字型経路が選択された場合、注目画素に対する未処理画素の相対位置は、注目画素の位置によって異なる。未処理画素は注目画素の右側にある場合もあれば、左側にある場合もある。この場合、２つの拡散マスク、すなわち処理が右方向に進行する場合に使用する第１のマスクと、処理が左方向に進行する場合に使用する第２のマスクを選択することが好ましいといえる。ヒルベルト曲線やペアノ曲線などのスペース・フィリング曲線を処理経路として使用する場合、経路の方向毎に１つずつ、複数の拡散マスクが必要となる。拡散マスクの形状は、すでに処理の完了した画素が含まれないよう選択される。あるいは、（例えば、ヒルベルト曲線やペアノ曲線などの、フラクタル・ベースのスペース・フィリング曲線の場合、）注目画素をおおむね取り囲むような形状の１つの拡散マスクを選択してもよい。この場合、処理が画像上を曲折しながら進行する際に、拡散マスクの範囲内にすでに処理の完了した画素が含まれる場合もあるが、これらの画素は誤差受入れに適さない画素とみなされる。
【００１８】
画像から画素を受け取るステップ９２２は、後続画素すなわち次の注目画素の画素値を受け取ることを含む。また、画像から画素を受け取るステップ９２２は、画素の（画像内の）画素位置情報を受け取ることを含んでいてもよい。さらに、選択された、すなわちアクティブな拡散マスクに含まれる画素に関して、画素値や、画像処理システムの画像メモリにおける画素記憶位置を受け取ってもよい。
【００１９】
２値化（または、量子化）閾値を選択するステップ９２６は、画像全体に対して１つの閾値（例えば、閾値１２８）を決定するだけの、単純なものであってもよい。あるいは、画像における画素位置に基づいて、ディザマトリックスまたはハーフトーン・スクリーンを選択し、画素毎に閾値を設けることもできる。この場合、画素位置に基づいて、ディザマトリックスまたはハーフトーン・スクリーンから１つの閾値が選定される。
【００２０】
さらに、ここでは、ランク順誤差拡散を画素値の変更に適用したが、これは、拡散マスクの範囲内の画素に関連付けられた閾値の変更に適用することと等価である。例えば、ランク順誤差拡散を、ある画素の画素値に誤差関連値を加算する際に適用することは、当該画素と関連付けられた閾値から誤差関連値を減算することと等価である。従って、閾値を選択することは、先に処理された１つまたはそれ以上の画素から拡散された誤差によって変更された閾値を選択することを含むことがある。
【００２１】
２値化または量子化閾値を画素の画素値と比較するステップ９２８は、閾値と画素値とのいずれが大きいかを決定するため、＜or＞比較などの関係演算や、２値化閾値と画素値との間での減算を伴うことが一般的である。演算項の順序は入れ替えてもよい。このほかの比較方式も可能である。例えば、比較を行う前に、重み付け係数もしくはスケーリング係数により、画素値または閾値のいずれかを変更してもよい。スケーリング係数は、例えば、画像の明るさを調節する手段である。
【００２２】
比較結果に基づいてマーキング決定を行うステップ９３０は、画素値が閾値を上回っている場合にマークを配置すること、および画素値が閾値を上回っていない場合にマークを配置しないことを決定することを含む。マーキング決定の意味は逆であってもよい。すなわち、閾値が画素値を上回る場合にマークを配置してもよい。マーキング決定の結果、紙や被膜などの印刷媒体上にマークが配置される。あるいは、マーキング決定を、画像メモリや、画像処理システムの電子記憶装置に記憶したり、コンピュータ・ネットワークなどの別の装置に送信するだけでもよい。用語「マーキング決定を行う」を用いたが、これは、本発明がマーキング装置、特には２値マーキング装置に適用されることが最も多いためである。ただし、用語「マーキング決定を行う」は「量子化決定を行う」ことも含めて広義に解釈する必要がある。例えば、本発明は、効率的なデータ転送のための、あるいはデバイス上で２以上の量子化レベルでレンダリングするための画像を作成する目的で利用することができる。また、本発明は、画素の量子化解像度を、１画素当たり１０ビットから８ビットへ低減させ、これによって、画像の転送に要する帯域幅の量を減少させる目的で利用することもできる。
【００２３】
画素値とマーキング決定とに基づいて誤差値を演算するステップ９３４は、マーキング決定に関連する値を画素値から減算するのみで行うことができる。例えば、画素値を８ビット値で表示し、画素値２５５で黒色を、画素値０で白色を表示するとき、画素値が２００で、閾値が１２８である場合は、黒色マークを配置することが決定される。黒色マークは画素値２５５で表されるため、このマークは５５カウント分だけ暗すぎることになり、５５の暗度（もしくは、明度）誤差が生じている。マーキング決定に関連する値（２５５）を画素値（２００）から減算することで、誤差値−５５が得られる。注目画素について行われたマーキング決定が暗すぎたため、周辺の画素を明るくしてこれを補償すべく、この誤差もしくはこの誤差に基づく誤差値を１つまたはそれより多くの周辺画素に拡散することができる。
【００２４】
算定された誤差、および周辺画素の画素値に基づいて、拡散マスクの範囲内の周辺画素に誤差を拡散するステップ９３８は、周辺画素を、周辺画素の画素値に応じて（選択された拡散マスクの範囲内で）分類あるいはランク分けし、算定された誤差（もしくは、算定された誤差の関数である値）を、分類もしくはランク分けされた画素の位置に基づいて、少なくとも１つの周辺画素に分配することを含む。この分配すなわち拡散は、さまざまな方法で行うことができる。ここで、多数の好適なランク順ベースの誤差拡散法について説明する。なお、各例示的方法の態様は選択的なものであり、関連する方法から削除してもよい。また、当業者には、ここで説明するいくつかの実施形態に含まれていない態様を追加したり、例示した実施形態と組み合わせることで、さらに別の実施形態とすることも可能であることが明らかである。
【００２５】
図１１を参照する。第１実施形態において、算定された誤差、および周辺画素の画素値に基づいて、拡散マスクの範囲内の周辺画素に誤差を拡散するステップ９３８（図９）は、周辺画素の画素値に応じて、（拡散マスクの範囲内の）周辺画素を分類するステップ１１１０を含む。すなわち、周辺画素は、数値で表示される画素値によって表わされる画素の暗度もしくは明度に応じてランク分けされる。例えば、最も暗い画素、すなわち画素値の最も大きい画素が、１番目のランクを付与され、すなわち１番目にランクされる。最も明るい画素、すなわち画素値の最も小さい画素が、最後のランク、すなわち最も大きい番号のランクを付与される。
【００２６】
誤差をチェックするステップ１１１４は、算定された誤差値が０であるか否かを決定する。算定された誤差が０でない場合、処理は次に進む。算定された誤差値が０である場合、拡散すべき誤差が存在しないため、処理は、処理すべき後続画素を待機する状態となる。
【００２７】
符号をチェックするステップ１１１８は、誤差の符号を決定し、決定された符号に応じて処理を切り換える。
【００２８】
誤差が正数である場合、誤差は、周辺画素のうち、画素値が最も大きく、誤差をいまだ受け取っていない画素に転送される（ステップ１１２２）。誤差の転送は、画素値が最大値に達するまで行われる。例えば、画素値を８ビット値で表示し、階調を０から２５５までの値で表すシステムでは、２５５が画素値の最大値となる。このシステムで、算定された誤差値が例えば１００であり、第１ランクの画素すなわち画素値が最も大きい画素の画素値が２２０である場合、算定された誤差値のうち３５カウントが第１ランクの画素に転送される。演算後、算定された誤差値は６５まで低減し、第１ランクの画素の画素値は最大値である２５５となる。
【００２９】
拡散が完了したか否かをチェックするステップ１１２６は、拡散されるべき誤差が残存しているか否かを決定する。上の例のように、誤差が拡散すなわち分配されずに残存している場合、処理は、適切な画素をチェックするステップ１１２８に進む。適切な画素をチェックするステップ１１２８は、誤差を受け取ることのできる周辺画素がまだあるか否かを決定する。誤差が残存しており、誤差を受け取ることのできる画素があるならば、処理はステップ１１２２に戻り、正の誤差を次に高いランクの画素に転送する。一方、すべての誤差拡散が完了した場合、もしくは画素を受け取ることのできる周辺画素が存在しない場合、処理は後続の注目画素を受け取るために待機する。
【００３０】
誤差が負数である場合、誤差は、周辺画素のうち、画素値が最も小さく、誤差をいまだ受け取っていない画素に転送される（ステップ１１３２）。誤差の転送は、画素値が最小値に達するまで行われる。例えば、画素値を８ビット値で表示し、階調を０から２５５までの値で表すシステムでは、０が画素値の最小値となる。このシステムで、算定された誤差値が例えば−１００であり、第１ランクの画素すなわち画素値が最も小さい画素の画素値が２０である場合、算定された誤差値のうち−２０カウントが最後のランクの画素に転送される。演算後、算定された誤差値は−８０まで増大し、最後のランクの画素の画素値は最小値である０となる。
【００３１】
拡散が完了したか否かをチェックするステップ１１３６は、拡散されるべき誤差が残存しているか否かを決定する。上の例のように、誤差が拡散すなわち分配されずに残存している場合、処理は、適切な画素をチェックするステップ１１３８に進む。適切な画素をチェックするステップ１１３８は、誤差を受け取ることのできる周辺画素がまだあるか否かを決定する。誤差が残存しており、誤差を受け取ることのできる画素があるならば、処理はステップ１１３２に戻り、負の誤差を次に低いランクの画素に転送する。一方、すべての誤差拡散が完了した場合、もしくは画素を受け取ることのできる周辺画素が存在しない場合、処理は後続の注目画素を受け取るために待機する。
【００３２】
誤差は残存しているが、誤差を受け取ることのできる画素がない場合、残存誤差の切捨てを行うか、拡散マスクを拡張してさらに多くの周辺画素を供給する。あるいは、最大画素値および最小画素値と、飽和画素値、もしくはデジタルバイトまたは語のサイズにより付与される最大値および最小値との関連を断つこともできる。または、クリッピング機能をもつよう最大値および最小値を選択してもよい。クリッピング機能は、リンギングなどの暴走状態や、画像全体にわたり誤差が過度に伝播されることを防止する目的で使用することができる。
【００３３】
次の擬似コードは、図９および図１１に示すランク順誤差拡散法の第１実施形態を、ソフトウェア上で実施する方法を示す。この擬似コードは、飽和画素値に達するまで、誤差を拡散する例である。誤差を受け取る画素が複数にわたる場合もある。
0004125573.tif 000002
周辺画素xi, i = 1,…,nを分類し、ランク順を付けられた画素yj, j = 1,…,nを生成する（yj-1 < yj）（ステップ１１１０）。
0004125573.tif 000003
0004125573.tif 000004
【００３４】
次の擬似コードは、上記の擬似コードに比べて、一般性が高い。この擬似コードは、画素を、クリッピングレベルに達するまで、周辺画素に分配する概念を教示する。コード中、C+およびC-はそれぞれ正負のクリッピングレベルを示す。C+およびC-は定数であってもよく、また関数の値を有していてもよい。例えば、C+およびC-の値は、画素ランクまたは空間的位置の関数としてもよい。C+とC-とは、C+ -（飽和画素値（例えば、２５５））= - C-の関係にあることが好ましい。
0004125573.tif 000005
画素xi, i = 1,…,nを分類し、ランク順を付けられた画素yj, j = 1,…,nを生成し（yj-1 < yj）（ステップ１１１０）、C+およびC-の値もしくは関数を選択する。
0004125573.tif 000006
0004125573.tif 000007
【００３５】
図１２を参照する。ランク順誤差拡散方法９１０の第２実施形態１２１０において、算定された誤差と、周辺画素の画素値とに基づいて、拡散マスクの範囲内の周辺画素に誤差を拡散するステップ９３８は、周辺画素の画素値に応じて、周辺画素を分類するステップ１１１０、算定された誤差値が０であるか否かを決定するために誤差をチェックするステップ１１１４、および（誤差がある場合）誤差の符号を決定するために符号をチェックするステップ１１１８をさらに含む。これらの要素は、第１実施形態の該当要素と同じであるため、共通の参照符号を使用する。第２実施形態１２１０では、符号をチェックするステップ１１１８が、誤差が正数であると決定した場合に、算定された誤差から、すべての正の誤差を、最も高いランクの画素に転送するステップ１２１８と、符号をチェックするステップ１１１８が、誤差が負数であると決定した場合に、算定された誤差から、すべての負の誤差を、最も低いランクの画素に転送するステップ１２２２とをさらに含む。
【００３６】
誤差が正数である場合、ステップ１２１８で、誤差は最も画素値の大きい周辺画素に転送される。例えば、０から２５５までの画素値を用いて階調を表すシステムで、算定された誤差値が例えば１００であり、第１ランクの画素の画素値が２２０である場合、算定された誤差値の全１００カウントが、第１ランクの画素に転送される。演算後、算定された誤差値は低減して０となり、第１ランクの画素の画素値は上昇して３２０となる。この値は、ほかの画素を処理する過程で再び変更（さらに上昇または低減）されることがある。この画素自身が処理される際には、超過値（例えば、通常の上限である２５５を上回る値）は、誤差として周辺画素のうちの１つに受け渡すことができる。
【００３７】
誤差が負数である場合、ステップ１２２２で、誤差は最も画素値の小さい周辺画素に転送される。例えば、０から２５５までの画素値を用いて階調を表すシステムで、算定された誤差値が例えば−１００であり、最後のランクの画素すなわち画素値の最も小さい画素の画素値が２０である場合、算定された誤差値の全−１００カウントが、最後のランクの画素すなわち最も低いランクの画素に転送される。演算後、算定された誤差値は上昇して０となり、最終ランクの画素の画素値は低減して−８０となる。この値は、ほかの画素を処理する過程で再び変更（上昇またはさらに低減）されることがある。この画素自身が処理される際には、超過値（例えば、通常の下限である０を下回る値）は、誤差として周辺画素のうちの１つに受け渡すことができる。
【００３８】
次の擬似コードは、ランク順誤差拡散法の第２実施形態１２１０を実施する方法の一例を示す。
0004125573.tif 000008
画素xi, i = 1,…,nを分類し、ランク順を付けられた画素を生成する（ステップ１１１０）（最大値xmax(y1)ｍ、最小値xmin(yn)）。
/*画素xi, i = 1,…,nは、拡散マスクの範囲内の周辺画素を表す。例えば、例示的拡散マスク１０１０の周辺画素１０１６−１０４４を参照のこと。*/
誤差を受け渡す;
if error > 0:  /*正の誤差を、最大値を有する（高いランクの）画素に受け渡す。*/
y1 = xmax + error * w;
/*--w--は重みであり、乗法項もしくは加法項とすることができる。上記の実施例では、重みは使用されていない。この擬似コードでは、重み付けを、ある実施形態で示される概念を他の実施形態に当てはめることを可能とする方法の一例として位置付けている。重み付けについては、以下に詳述する。*/
if error < 0:  /*負の誤差を、最小値を有する（ランクの低い）画素に受け渡す（ステップ１２２２）。*/
y1 = xmin + error * w;
注：正確な誤差を用いずに、重み付けした誤差を用いてもよい。重み付け係数の例として、次のものが挙げられる。（ａ）誤差の増幅、あるいは抑制のために予め定められた定数、（ｂ）画素値に依存する値、（ｃ）局所的変化、密度、勾配などの、画像の測定値に依存する値、（ｄ）画素の空間的位置に依存する値（例えば、ハーフトーン効果を高める周期的な値、もしくはレギュラーパターンを損壊させるランダムな値）。
【００３９】
図１３を参照する。ランク順誤差拡散方法９１０の第３実施形態１３１０において、算定された誤差と、周辺画素の画素値とに基づいて、拡散マスクの範囲内の周辺画素に誤差を拡散するステップ９３８は、周辺画素を分類するステップ１１１０、誤差をチェックするステップ１１１４、および符号をチェックするステップ１１１８をさらに含む。これらの要素は、図１１を参照して説明した第１実施形態の該当要素と同じであるため、共通の参照符号を使用する。第３実施形態１３１０では、符号をチェックするステップ１１１８が、誤差が正数であると決定した場合に、周辺画素の分類されたランクに基づいて、正の拡散重みを周辺画素に割り当てるステップ１３１４をさらに含む。ステップ１３１８で、割り当てられた正の拡散重みに基づいて、正の誤差が周辺画素に拡散される。例えば、第１ランクの画素に、５０％すなわち０．５の正の拡散重みを割り当て、第２ランクの画素に、３２％すなわち０．３２の正の拡散重みを割り当て、第３ランクの画素に、１８％すなわち０．１８の正の拡散重みを割り当てるようにしてもよい（拡散重みは百分率で表さなくともよいが、説明の便宜上、百分率を用いている）。
【００４０】
このような、例示的な正の拡散重みを割り当てるシステムで、算定された誤差値が例えば１００であり、画素値が最も大きい画素の画素値が２２０、第２ランクの画素の画素値が２０７、および第３ランクの画素の画素値が１９８であるとする。この場合、算定された誤差値の５０％すなわち５０カウントが第１ランクの画素に、算定された誤差値の３２％すなわち３２カウントが第２ランクの画素に、および算定された誤差値の１８％すなわち１８カウントが第３ランクの画素に分配される。演算後、第１ランクの画素の画素値は上昇して２７０となり、第２ランクの画素の画素値は上昇して２３９となり、第３ランクの画素の画素値は上昇して２１６となる。
【００４１】
符号をチェックするステップ１１１８が、誤差が負数であると決定した場合、ステップ１３３４で、周辺画素の分類されたランクに基づいて、負の拡散重みが周辺画素に割り当てられる。用語「負の重み」は、重み自体が負の値であることや負の符号を帯びていることを意味しない。算定された負の誤差の分配との関連で、用語「負の重み」を使用している。ステップ１３３８で、割り当てられた負の拡散重みに基づいて、負の誤差が周辺画素に拡散される。例えば、最後のランクの画素に、５０％すなわち０．５の負の拡散重みを割り当て、最後から２番目のランクの画素に、３２％すなわち０．３２の負の拡散重みを割り当て、最後から３番目のランクの画素に、１８％すなわち０．１８の負の拡散重みを割り当てるようにしてもよい。
【００４２】
このような、例示的な負の拡散重みを割り当てるシステムで、算定された誤差値が例えば−１００であり、画素値が最も小さい画素の画素値が２０、最後から２番目のランクの画素の画素値が３１、および最後から３番目のランクの画素の画素値が５０であるとする。この場合、算定された誤差値の５０％すなわち−５０カウントが最後のランクの画素に、算定された誤差値の３２％すなわち−３２カウントが最後から２番目のランクの画素に、および算定された誤差値の１８％すなわち−１８カウントが最後から３番目のランクの画素に分配される。演算後、最後のランクの画素の画素値は低減して−３０となり、最後から２番目のランクの画素の画素値は低減して−１となり、最後から３番目のランクの画素の画素値は低減して３２となる。
【００４３】
図１４を参照する。ランク順誤差拡散方法９１０の拡散マスクの範囲内の周辺画素に誤差を拡散するステップ９３８は、第４実施形態１４１０において、周辺画素を分類するステップ１１１０、誤差をチェックするステップ１１１４、および符号をチェックするステップ１１１８をさらに含む。これらの要素は、第１実施形態の該当要素と同じであるため、共通の参照符号を使用する。第４実施形態１４１０は、正の誤差を拡散するために、正の拡散重みを周辺画素に割り当てるステップ１３１４と、負の誤差を拡散するために、負の拡散重みを周辺画素に割り当てるステップ１３３４と、をさらに含む。第４実施形態１４１０の、これらの重み割り当て要素は、第３実施形態１３１０の重み割り当て要素と同じであるため、共通の参照符号を使用する。
【００４４】
第４実施形態１４１０も、正の誤差を分配するステップおよび負の誤差を分配するステップを含む。ただし、第４実施形態の正の誤差を分配するステップは、正の誤差を、画素値が最大画素値で制限された画素に割り当てられた正の重みに応じて、周辺画素に分配するステップ１４１８を含む。正の誤差の周辺画素への分配は、誤差を画素に分配することで、画素値がある最大値を上回ることがあるという点を除き、第３実施形態１３１０を参照して説明した方法で行われる。
【００４５】
例えば、画素値を８ビット値で表示し、階調を０から２５５までの値で表すシステムでは、２５５が画素値の最大値となる。このシステムで、第１、第２、第３ランクの画素に、例示的な正の拡散重みがそれぞれ５０％、３２％、１８％割り当てられ、算定された誤差値が例えば１００であり、第１ランクの画素の画素値が２２０、第２ランクの画素の画素値が２０７、および第３ランクの画素の画素値が１９８であるとする。この場合、算定された誤差値の５０％すなわち５０カウントがまず第１ランクの画素に、算定された誤差値の３２％すなわち３２カウントが第２ランクの画素に、および算定された誤差値の１８％すなわち１８カウントが第３ランクの画素に分配されるはずである。しかし、誤差の５０カウントを第１ランクの画素に分配すると、第１ランクの画素の画素値は２７０となり、最大値を上回ってしまう。このため、誤差の３５カウントのみが第１ランクの画素に分配される。演算後、第１ランクの画素の画素値は上昇して最大値である２５５となり、第２ランクの画素の画素値は上昇して２３９となり、第３ランクの画素の画素値は上昇して２１６となる。第１ランクの画素に分配されなかった誤差は切り捨てられるか、あるいは、図示しない補助的な誤差分配手段により、ほかの周辺画素に分配される。
【００４６】
同様に、第４実施形態の負の誤差を分配するステップは、負の誤差を、画素値が最小画素値で制限された画素に割り当てられた負の重みに応じて、周辺画素に分配するステップ１４３８を含む。負の誤差の周辺画素への分配は、誤差を画素に分配することで、画素値がある最小値を下回ることがあるという点を除き、第３実施形態１３１０を参照して説明した方法で行われる。例えば、画素値を８ビット値で表示し、階調を０から２５５までの値で表すシステムでは、０が画素値の最小値となる。
【００４７】
このシステムで、第１、第２、第３ランクの画素に、例示的な負の拡散重みがそれぞれ５０％、３２％、１８％割り当てられ、算定された誤差値が例えば−１００であり、画素値が最も小さい画素の画素値が２０、最後から２番目のランクの画素の画素値が３１、最後から３番目のランクの画素の画素値が５０であるとする。この場合、算定された誤差値の５０％すなわち−５０カウントがまず最後のランクの画素に、算定された誤差値の−３２％すなわち３２カウントが最後から２番目のランクの画素に、および算定された誤差値の１８％すなわち−１８カウントが最後から３番目のランクの画素に分配されるはずである。しかし、誤差の−５０カウントを最後のランクの画素に分配すると、最後のランクの画素の画素値は−３０となり、誤差の−３２カウントを最後から２番目のランクの画素に分配すると、最後から２番目のランクの画素の画素値は−１となり、いずれの画素値も最小値を下回ってしまう。このため、誤差の−２０カウントのみが最後のランクの画素に分配され、−３１カウントのみが最後から２番目の画素に分配される。演算後、最後のランクの画素の画素値は低減して最小値である０となり、最後から２番目のランクの画素の画素値も低減して最小値である０となり、最後から３番目のランクの画素の画素値は低減して３２となる。最後のランクの画素および最後から２番目のランクの画素に分配されなかった誤差は切り捨てられるか、あるいは、図示しない補助的な誤差分配手段により、ほかの周辺画素に分配される。
【００４８】
次の擬似コードは、ランク順誤差拡散法の第３実施形態１３１０および第４実施形態１４１０をソフトウェア上で実施する方法の一例を示す。
0004125573.tif 000009
0004125573.tif 000010
【００４９】
第１ないし第４実施形態を用いた実験で、故障モードが幾つか発生した。故障モードの１つ目は、「ハーフトーンドットの詰め込みすぎ」であり、この場合、詰め込みすぎたドットと画素グリッドとの相互の影響により、パターン・アーチファクトが発生することがある。２つ目は、従来の誤差拡散法で発生したものと同じ、ドットの小断片の発生である。３つ目は、直近のドットよりも飽和にわずかに近い、離れた位置にあるドットに誤差を受け渡すことによって生じる、粒状性である。第５実施形態では、周辺画素の階調がランク分けされている場合、周辺画素の階調は、注目画素に対する空間的相対位置によって異なる重み付け係数とともにランク分けされている。例えば、図１０の例示的拡散マスク１０１０を参照すると、画素ｘ１（１０１６）、画素ｘ６（１０２８）、画素ｘ７（１０２６）、および画素ｘ８（１０２４）は、画素ｐに近いため、他の画素に比べて大きい空間的重みが付けられている。空間的重み付けは加法的あるいは乗法的に行うことができる。図７および図８に、空間的重み付けを用いたランク順誤差拡散処理の結果が示されている。ここでは、正の誤差の加法的重みである３２、１６、８が、画素ｘ１（１０１６）、画素ｘ７（１０２６）、画素ｘ８（１０２４）のそれぞれに適用されており、他の画素にはすべて空間的重み０が適用されている。同様に、負の重みが負の誤差に適用されている。図７および図８に示されているように、ハーフトーンドットの詰め込み方は妥当であり、画像にはパターン・アーチファクトが発生していない。
【００５０】
図１５を参照する。ランク順誤差拡散方法９１０の第５実施形態１５１０において、周辺画素に誤差を拡散するステップ９３８は、拡散マスクの範囲内の周辺画素に空間的重みを割り当てるステップ１５１４、画素値と、割り当てられた空間的重みとの組合せに応じて、周辺画素を分類するステップ１５１８、誤差をチェックするステップ１１１４、および符号をチェックするステップ１１１８をさらに含む。誤差をチェックするステップ１１１４および符号をチェックするステップ１１１８は、第１実施形態の該当要素と同じであるため、共通の参照符号を使用する。第５実施形態１５１０は、正の誤差を拡散するために、正の拡散重みを周辺画素に割り当てるステップ１３１４と、負の誤差を拡散するために、負の拡散重みを周辺画素に割り当てるステップ１３３４とをさらに含む。第５実施形態１５１０の、これらの重み割り当て要素は、第３実施形態１３１０の重み割り当て要素と同じであるため、共通の参照符号を使用する。第５実施形態１５１０も、正の誤差を分配するステップ１４１８および負の誤差を分配するステップ１４３８を含む。第５実施形態１５１０の、誤差分配要素は、第４実施形態１４１０の誤差分配要素と同じであるため、共通の参照符号を使用する。
【００５１】
周辺画素に空間的重みを割り当てるステップ１５１４は、周辺画素の注目画素からの距離、または何らかの他の空間的測定に基づいて行うことができる。例えば、空間的重みの割り当ては、ある周辺画素の、ハーフトーンドット中心からの距離に基づいて行うことができる。ハーフトーンドットの暗い部分に近い画素に空間的重みを付与して、この画素が、画素を暗くする誤差を受け取りやすくしてもよい。また、ハーフトーンドットの明るい位置に近い画素に空間的重みを付与して、この画素が、画素を明るくする誤差を受け取りやすくしてもよい。空間的重みは、周辺画素の明度変化を考慮して付与することもできる。また、空間的重みは、周辺画素間のコントラストを考慮して付与することもできる。空間的情報と、このようなそのほかの考慮すべき要素（変化、コントラストなど）の、割り当てられる空間的重みに対する関与の割合はさまざまである。実際には、空間的要素は、ほとんどまたは全く関与しないこともある。空間的重みを「ランク分け」として要請したとしても、他の要素が重要であることもある。
【００５２】
画素値と、割り当てられた空間的重みとに応じて周辺画素を分類するステップ１５１８は、前述した分類プロセス１１１０と類似している。分類ステップ１５１８と１１１０との間の唯一の相違は、ステップ１５１８は、画素値のみに基づいて分類を行うのではなく、画素値と、割り当てられた空間的重みとの組合せ（加法、減法、乗法もしくはそのほかの組合せ）により得られる値に基づいて分類を行う点にある。
【００５３】
次の擬似コードは、画素値に加え、係数を用いてランクを決定する方法を示す。この例では、ランクの変更は空間的距離を用いて行う。
0004125573.tif 000011
周辺画素xi*rwi, i = 1,…,nを分類し、所定の空間的重み付け係数rwiを有するyj, j = 1,…,nを得る。さらに、正負の誤差分散重み付け係数wjを決定する。
0004125573.tif 000012
注：上述した実施例の注が本実施例にも適用できる。本実施例でのランク分けのための重みは、例えば所与の注目画素からの空間的距離や、ハーフトーンドット中心からの距離のようなそのほかの空間測定などの基準により決定することができる。誤差の重み付けの場合と同様に、ランク重み付けも、加法や乗法などの多くのプロセスにより実施することができる。
【００５４】
図１６を参照する。ランク順誤差拡散方法９１０を実施するための画像処理システム１６１０の一部は、画素および周辺セレクタ１６１４、画素ランカ１６１８、スレショルダ１６２２、マーカ１６２６、誤差ディフューザ１６３０、およびレンダリング・デバイス１６３４を含む。
【００５５】
画素および周辺セレクタ１６１４は、画像１６４２の画素を処理するための、処理経路もしくはスペース・フィリング曲線を選択する。さらに、画素および周辺セレクタ１６１４は、選択された処理経路に適合する拡散マスク、または１組の拡散マスクを選択しあるいは生成する。処理経路の選択は、システム・オペレータから受け取った入力や画像分析、および既知もしくはデフォルト・レンダリング嗜好に基づいて行うことができる。例えば、スペース・フィリング曲線の選択肢を、オペレータ（図示せず）に提示してもよい。あるいは、スペース・フィリング曲線に関連するものとして知られるレンダリング特性のリストを、オペレータに提示してもよい。画素および周辺セレクタ１６１４は、好適なレンダリング特性の選択を、関連する処理経路の使用要求と解釈する。拡散マスクもしくは１組の拡散マスクの選択は、選択されたスペース・フィリング曲線、あるいは、オペレータの入力に基づいて行ってもよい。マスク選択は、オペレータ入力により明示的になされてもよく、また好適なレンダリング特性の選択を通じて暗示されてもよい。あるいは、画素および周辺セレクタ１６１４が、画像１６４２を分析し、その画像特性に基づいてスペース・フィリング曲線と拡散マスクとを自動的に選択してもよい。
【００５６】
処理経路および拡散マスクが選択されると、画素および周辺セレクタ１６１４は、入力された画像全体にわたって処理経路をたどり、注目画素と周辺画素とを画像から選択し、これらに関する情報を、画素ランカ１６１８とスレショルダ１６２２とに送る。画素ランカ１６１８は、注目画素と周辺画素に関する情報を受け取る。スレショルダ１６２２は、注目画素に関する情報のみを受け取る。
【００５７】
例えば、画素ランカ１６１８は、画素値情報を受け取る。画素ランカ１６１８は、必要に応じて画素位置情報をさらに受け取る。画素ランカ１６１８は、周辺画素の画素値に基づいて周辺画素をランク分けする。画素ランカ１６１８は、周辺画素を分類すなわちランク分けする前に、必要に応じて空間的重みを周辺画素の画素値に適用する。適切な空間的重みは、所定のデフォルト値、オペレータにより選択されたレンダリング嗜好により指示される値、および画像ランカ１６１８の行う画像分析に基づく値、のいずれであってもよい。あるいは、空間的重みは、周辺画素の明度変化を考慮するもの、または周辺画素間のコントラストを考慮するものであってもよい。画素ランカ１６１８は、画素値、画素ランク、画素位置情報などを含む画素情報を、誤差ディフューザ１６３０に送る。
【００５８】
スレショルダ１６２２は、注目画素についての画素値および画素位置情報を受け取る。スレショルダ１６２２は、注目画素の画素値を閾値と比較する。閾値は、定数値としてもよく、画像のすべての画素値との比較に用いられてもよい。また、閾値は、変数としてもよい。閾値は、例えばハーフトーン・スクリーンから得ることができる。ハーフトーン・スクリーンから、注目画素の位置情報に基づいて、閾値を選択することができる。スレショルダ１６２２は、注目画素の画素値を閾値と比較した結果を、マーカ１６２６に送る。例えば、スレショルダ１６２２は、注目画素の画素値が閾値を上回っているか、もしくは下回っているかを、マーカ１６２６に報知する。さらに、スレショルダ１６２２は、注目画素の画素値を誤差ディフューザ１６３０に送る。
【００５９】
マーカ１６２６は、スレショルダ１６２２から受け取った比較結果に基づいて、マーキング決定を行う。例えば、マーカ１６２６は、画素値が閾値を上回っていれば、出力画像中の注目画素に対応する位置に、マークを配置することを決定する。出力画像は、電子メモリまたはバッファに格納される電子画像としてもよい。あるいは、出力画像は、レンダリングデバイス１６３４により生成される画像であってもよい。マーカ１６２６は、マーキング決定に関連する値を誤差ディフューザ１６３０に送る。例えば、マーカ１６２６は、２５５（８ビットシステムの場合）などの完全飽和マークに対応する値、もしくは０などの完全不飽和マーク（白色マークまたはマークなし）を誤差ディフューザ１６３０に送る。
【００６０】
誤差ディフューザ１６３０は、マーカ１６２６から受け取った値を、注目画素の画素値と比較し、誤差値を演算する。次いで、誤差ディフューザ１６３０は、（拡散マスクの範囲内の）１つまたはそれより多くの周辺画素に、誤差を転送もしくは分配する。誤差の転送もしくは分配は、画素ランカ１６１８によるランク分けに基づいて行われる。従って、誤差の転送もしくは分配は、画素の１つまたはそれより多くの画素値で示される、周辺画素の明度または暗度に基づいて行われる。必要に応じて、ランク分け、およびそれによる誤差転送もしくは分配は、周辺画素の空間的位置に基づいて行われる。例えば、ランク分けに当たって、周辺画素の注目画素からの距離を考慮してもよい。あるいは、もしくはさらに、ランク分けに当たって、関連するハーフトーン・ドットに対する周辺画素の相対位置を考慮してもよい。上に説明したように、すべての誤差を１つの周辺画素に、もしくは複数の周辺画素に転送することができる。誤差は、重みを付けた状態または付けない状態で転送もしくは分配されることができる。重みの有無に関わらず、誤差はクリッピングされたすなわち制限された方法で、あるいは制限されない方法で転送または分配されることができる。
【００６１】
誤差ディフューザ１６３０は、誤差を転送もしくは分配することにより、画像１６４２の中の幾つかの周辺画素の画素値を変更または更新する。次いで、画素および周辺セレクタ１６１４は、予め選択されたスペース・フィリング曲線に基づいて、新しい注目画素と、これに関連する新しい１組の周辺画素とを選択する。そして、機能ブロック１６１４、１６１８、１６２２、１６２６、１６３０は、この新しい注目画素について、それぞれの機能を繰り返す。
【００６２】
マーカ１６２６によって行われたマーキング決定は、画像の処理中、あるいは画像全体の処理の終了後、レンダリングデバイス１６３４に送られることができる。
画像が処理されている間、あるいは画像全体が処理されている間、マーカ１６２６により行われるマーキング決定はレンダリングデバイス１６３４に送られることができる。レンダリングデバイス１６３４は、２値レンダリングデバイスもしくはマルチ量子化レベルのレンダリングデバイスとすることができる。ゼログラフィック環境では、レンダリングデバイス１６３４はゼログラフィック・プリンタである。ゼログラフィック・プリンタは、定着部、現像部、画像形成部材を含む。このほかの環境では、レンダリングデバイス１６３４は、何らかの種類のディスプレイまたは印刷機器とすることができる。レンダリングデバイスは、インクジェット、リソグラフ、イオノグラフィック・プリンタなどとすることができる。
【００６３】
ランク順誤差拡散方法９１０を実施するための画像処理システム１６１０の、上に説明した要素は、さまざまな方法で実施することができる。画素および周辺セレクタ１６１４、画素ランカ１６１８、スレショルダ１６２２、マーカ１６２６、および誤差ディフューザ１６３０は、ソフトウェア上で実施されることが好ましい。ソフトウェアは、コンピュータ・メモリに格納され、１つまたはそれより多くの計算機器（１つまたはそれより多くのマイクロプロセッサまたはディジタル信号処理プロセッサなど）上で実施される。機能ブロック１６１４、１６１８、１６２２、１６２６、１６３０は、１つのデバイスに格納され、実施されてもよく、また分散され、コンピュータ・ネットワークで相互接続されてもよい。当然ながら、機能ブロック１６１４、１６１８、１６２２、１６２６、１６３０の機能の編成は、ここに述べたものと異なっていてもよく、名称の異なる機能ブロックによって実施されてもよい。
【図面の簡単な説明】
【図１】被走査ハーフトーン画像を示す図である。
【図２】図１の被走査ハーフトーン画像の一部を拡大した図である。
【図３】図４の一部を拡大した図である。
【図４】単純な閾値処理により作成された、図１の被走査ハーフトーン画像のレンダリング可能版である。
【図５】標準的なフロイド−シュタインベルク誤差拡散法で作成された、図１の被走査ハーフトーン画像のレンダリング可能版である。
【図６】標準的なフロイド−シュタインベルク誤差拡散版の一部を拡大した図である。
【図７】ランク順誤差拡散法で作成された、図１の被走査ハーフトーン画像のレンダリング可能版である。
【図８】ランク順誤差拡散版の一部を拡大した図である。
【図９】画像のレンダリング可能版を作成する方法を概説するフローチャートである。該方法は、ランク順誤差拡散に基づいている。
【図１０】拡散マスクの一例を示す図である。
【図１１】図９の方法の一部の第１実施形態である。
【図１２】図９の方法の一部の第２実施形態である。
【図１３】図９の方法の一部の第３実施形態である。
【図１４】図９の方法の一部の第４実施形態である。
【図１５】図９の方法の一部の第５実施形態である。
【図１６】図９の方法を実施するための画像処理システムの一部のブロック図である。
【符号の説明】
１１０  被走査画像
７１０  ランク順誤差拡散版
９１０  ランク順誤差拡散方法
【図１】
0004125573.tif 000013
【図２】
0004125573.tif 000014
【図３】
0004125573.tif 000015
【図４】
0004125573.tif 000016
【図５】
0004125573.tif 000017
【図６】
0004125573.tif 000018
【図７】
0004125573.tif 000019
【図８】
0004125573.tif 000020
【図９】
0004125573.tif 000021
【図１０】
0004125573.tif 000022
【図１１】
0004125573.tif 000023
【図１２】
0004125573.tif 000024
【図１３】
0004125573.tif 000025
【図１４】
0004125573.tif 000026
【図１５】
0004125573.tif 000027
【図１６】
0004125573.tif 000028