(57)【要約】【課題】二値画像においてなめらかな階調変化を再現する画像処理装置及び画像処理方法を提供すること。【解決手段】入力画像データの階調数を２Ｎ値（Ｎは整数）に変換する階調数変換手段と、２Ｎ諧調の各レベルに対応したドットパターンを記憶するドットパターンメモリと、階調数変換された画像の階調値に応じて前記ドットパターンメモリから出力ドットパターンを選択するドットパターン選択手段と、入力画素値と出力ドットパターンの濃度差を着目画素の未処理の近傍画像に拡散させる誤差拡散手段と、前記濃度差を記憶する誤差メモリとを有する構成。【選択図】　　　　図１
2004032613.tif 000002
【特許請求の範囲】
【請求項１】
入力画像データの階調数を２Ｎ値（Ｎは整数）に変換する量子化手段と、２Ｎ階調の各レベルに対応したドットパターンを記憶するドットパターンメモリと、量子化された画像の階調値に応じて前記ドットパターンメモリから出力ドットパターンを選択するドットパターン選択手段と、入力画素値と出力ドットパターンの濃度差を着目画素の未処理の近傍画像に拡散させる誤差拡散手段と、前記濃度差の累積値を記憶する累積誤差メモリを有することを特徴とする画像処理装置。
【請求項２】
前記ドットパターンは、ｎ階調（ｎ＝０，．．．，Ｎ−１）での記録ドット数とｎ＋１階調での記録ドット数との差がほぼ均等となるパターンであることを特徴とする、請求項１記載の画像処理装置。
【請求項３】
前記ドットパターンは、非記録画素と記録画素の配置が視覚的に好ましくなるような擬似的周期的パターンであることを特徴とする、請求項１記載の画像処理装置。
【請求項４】
前記ドットパターンは、任意のレベルで二値化された際に、非記録画素と記録画素の配置が視覚的に好ましくなるような疑似周期的マスクパターンと、前記マスクパターンを記憶するマスクパターンメモリと、前記マスクパターンから複数のドットパターンを生成するドットパターン生成手段とから生成されることを特徴とする、請求項１記載の画像処理装置。
【請求項５】
入力画像データの階調数を２Ｎ値（Ｎは整数）に変換する量子化工程と、量子化された画像の階調値に応じて前記ドットパターンメモリから出力ドットパターンを選択するドットパターン選択工程と、入力画素値と出力ドットパターンの濃度差を着目画素の未処理の近傍画像に拡散させる誤差拡散工程とを有することを特徴とする画像処理方法。
【請求項６】
前記ドットパターンは、ｎ階調（ｎ＝０，．．．，Ｎ−１）での記録ドット数とｎ＋１階調での記録ドット数との差がほぼ均等となるパターンであることを特徴とする、請求項５記載の画像処理方法。
【請求項７】
前記ドットパターンは、非記録画素と記録画素の配置が視覚的に好ましくなるような擬似的周期的パターンであることを特徴とする、請求項５記載の画像処理方法。
【請求項８】
前記ドットパターンは、任意のレベルで二値化された際に、非記録画素と記録画素の配置が視覚的に好ましくなるような疑似周期的マスクパターンと、前記マスクパターンから複数のドットパターンを生成するドットパターン生成工程とから生成されることを特徴とする、請求項５記載の画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力画像の階調数よりも少ない階調数の出力装置へ画像を出力するために階調数変換を行う画像処理装置及び画像処理方法に関するものである。
【０００２】
【従来の技術】
従来、多値画像を二値画像に変換して階調表現するための擬似中間調処理の方法として、濃度パターン法と呼ばれるものがある。これは、ドットのオン・オフによる画像出力装置において階調を表現するために、多値画像の１画素を複数の二値画像から構成される画像ブロックに対応させ、画素ブロック内の明暗画素数の増減によって階調再現を行うものである。
【０００３】
また、濃度パターン法では、画素ブロックのサイズが小さいと得られる階調数が少なくなり、滑らかな階調再現が困難となる。逆に、多くの階調数を得るために画素ブロックのサイズを大きくすると画像の解像度の低下につながる欠点があった。
【０００４】
これに対し、解像度を低下させずに階調性を向上させるものとして、特開平７−３８７６６号に記載されているように、入力画素と出力画素ブロックの濃度差（誤差）を入力画素の未処理の近傍画素に分割して加える方法がある。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来例では、入力された多値画像の１画素をｍ×ｎの画素ブロック（ｍ、ｎは共に整数、かつ、２Ｎ＜ｍ×ｎ＜２Ｎ＋１）のドットのオン・オフにて階調再現する際に、階調が１段階増すごとに各画素ブロックの記録ドット数が１増加した場合には、最大で（ｍ×ｎ＋１）段階の階調表現が可能であった。この（ｍ×ｎ＋１）段階のドットパターンを再現するためには、量子化後の１画素データに対して最低Ｎ＋１ビットの情報量が必要となる。ところが、像処理装置の処理スピードの向上及びデータ転送量に制限が要求される場合、例えば、画量子化後の１画素データに対する情報量にＮビットの上限設定がある場合には、１画素を表現できる階調数は２Ｎ通りとなり、（ｍ×ｎ＋１）段階の階調再現が十分に行われない欠点があった。
【０００６】
具体的に、画像出力解像度が横方向６００ｄｐｉ、縦方向６００ｄｐｉとし、１画素データを横２ドット、縦２ドットのパターンにて画像出力することを考える。図１は６００ｄｐｉ出力時の各階調に与えられるドットパターンの一例である。なお、各ブロックは出力ドット領域に対応し、黒ブロックが当該ドットを記録することを、白ブロックが当該ドットを記録しないことを表す。また、１２０は階調レベル０のドットパターン、１２１は階調レベル１のドットパターン、１２２は階調レベル２のドットパターン、１２３は階調レベル３のドットパターン、１２４は階調レベル４のドットパターンであり、階調レベルが１レベル増す毎に各ドット記録ブロックに対してオンドットが１個増加する５パターンである。このドットパターンに従う画像出力の場合、量子化後の１画素データに対して３ビットの情報量が必要となる。仮に、横１インチ、縦１インチの画像を出力すると、横方向６００画素、縦方向６００画素の画像データとなり、データ圧縮処理を行わない場合には、画像出力に必要とされるビット数は下記の数式により約１．０メガバイト（１０８００００ビット）必要となる。
【０００７】
（必要ビット数）＝（横画素数）×（縦画素）×（１画素データのビット数）
また、同画像を縦横１２００ｄｐｉの出力解像度にて２値の出力を行うと、階調再現のため１画素データには１ビット与えられるため、画像出力に必要とされるビット数は約２．７メガバイト（２８８００００ビット）である。したがって、縦横６００ｄｐｉの５値の画像出力を行うことにより、データ量を大幅に削減することが可能となり、処理スピードの向上に寄与することができる。しかしその反面、前述の通り、５値出力を実現するためには量子化後の１画素データに３ビットを割り当てる必要があり、３ビットにて階調表現可能な８階調分のデータ量を十分に活用することができない欠点が上記従来例にあった。また、上記従来例では、入力画素と出力画素ブロックとの濃度差がない領域では、出力画素は規則的なパターンの繰り返しとなり、それ以外の領域ではランダムなパターンとなるため、滑らかに階調が変化する領域においてはパターンの変化が目立ち、出力画像の品質を著しく損なうという欠点があった。更に、上記従来例では、出力画素ブロックの画素数と入力画素の量子化階調数の関係を自由に設定できないという欠点もあった。
【０００８】
本出願は、上記従来例に鑑みてなされたもので、上記欠点を解消し、二値画像においてなめらかな階調変化を再現する画像処理装置及び画像処理方法を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明に係わる画像処理装置は、入力画像データの階調数を２Ｎ値（Ｎは整数）に変換する階調数変換手段と、２Ｎ階調の各レベルに対応したドットパターンを記憶するドットパターンメモリと、階調数変換された画像の階調値に応じて前記ドットパターンメモリから出力ドットパターンを選択するドットパターン選択手段と、入力画素値と出力ドットパターンの濃度差を着目画素の未処理の近傍画像に拡散させる誤差拡散手段と、前記濃度差を記憶する誤差メモリとを有することを特徴とする。
【００１０】
【発明の実施の形態】
（第１の実施例）
図２は、本発明の第１の実施形態である画像処理装置の構成を示したブロック図であり、図１は本画像処理装置を用いたシステム例を示している。１０は画像処理部、１１は画像出力部、１２はデータ転送路である。本画像処理装置は画像処理部１０であるパーソナルコンピュータと、画像出力部１１であるプリンタと、パーソナルコンピュータとプリンタ間のデータ転送路１３であるＩＥＥＥ１２８４或いはＵＳＢにより構成されている。また、２０は画素データの入力端子、２１は累積誤差加算部、２２は入力画像データを１つ以上の階調数に変換する際に量子化閾値を設定するための閾値設定端子、２３は量子化部、２４は量子化された画像データに従いドットパターンを選択するドットパターン選択部、２５は量子化誤差を演算する誤差演算部、２６は量子化誤差を拡散する誤差拡散部、２７は累積誤差を格納する累積誤差メモリ、２８は出力階調数に対応したドットパターンを格納してあるドットパターンメモリ、２９は一連の処理後に形成された画像データの出力端子である。
【００１１】
以下、図２の画像処理装置の動作について図３のフローチャートに従って説明する。まず、図示しない画像走査部により入力画像が順次走査され各画素データが入力端子２０より入力される（ステップ３０）。図４は画像の走査を示した図である。４０は入力画像の左上端の画素、４１は入力画像の右下端の画素である。画像の走査は、画像領域の左上端の画素４０から開始し、右方向に１画素ごとに進む。そして、画像データ列の右端に達したら１画素下の画像データ列の左端画素に移る。同処理を繰り返し行い右下端の画素４１まで到達すると、画像の走査処理は完了する。次に、累積誤差加算部２１において入力された画素データに累積誤差メモリの画素位置に対応する累積誤差値が加算される（ステップ３１）。累積誤差メモリは１個の記憶領域Ｅ０と入力画像の横画素数Ｗと同数の記憶領域Ｅ（ｘ）があり、後述する方法により量子化誤差が格納されている。なお、累積誤差メモリは処理開始前に全て初期値０で初期化されているものとする。
【００１２】
図５は累積誤差メモリの詳細を示した図である。累積誤差加算部２１では、入力画素データの横画素位置ｘに対応した誤差メモリＥ（ｘ）の値が加算される。すなわち、入力画素データＩを、累積誤差加算後の画素データをＩ’とすると、
Ｉ’＝Ｉ＋Ｅ（ｘ）
となる。次に量子化部２３において、累積誤差加算後の画素データＩ’と閾値設定端子により定められた閾値とを比較し出力階調値を決定する（ステップ３２）。本実施例１では、データ転送路１２は量子化部２３により量子化された画像データに対して１画素あたり２ビットのデータ転送を行う。よって、量子化後の階調数を４とし、３つの閾値をＩ’との比較により出力階調値を決定するものとする。すなわち、入力画素値が０から２５５の範囲の整数値とすれば、出力階調値Ｏは次式により決定される。
【００１３】
Ｏ＝０　　　　　（Ｉ’＜４３）
Ｏ＝８５　　　（４３≦Ｉ’＜１２８）
Ｏ＝１７０　（１２８≦Ｉ’＜２１３）
Ｏ＝２５５　（Ｉ’≧２１３）
次に、ドットパターン選択部２４において、出力階調数に対応するドットパターンをドットパターンメモリ２８より１つ選択し、出力ドットパターンとして画像データ出力端子２９より出力する（ステップ３３）。図６はドットパターンの一例であり、６０は出力階調０に対応するドットパターン、６１は出力階調８５に対応するドットパターン、６２は出力階調１７０に対応するドットパターン、６３は出力階調２５５に対応するドットパターンである。図６において、各マス目は出力ドット領域に対応し、黒のマス目が当該ドットを記録することを、白のマス目が当該ドットを記録しないことを表す。ここで、ドットパターン選択部は出力階調値に応じて、ドットパターン６０、６１、６２、６３のいずれかを選択する。さらに、ドットパターン６１、６２を選択した場合には、入力画素位置（ｘ、ｙ）により、選択したドットパターンから縦横２画素の領域を選択し、その領域のドットパターンを出力画素とする。例えば、ドットパターンの横画素数をＷ、縦画素数をＨとしたとき、以下の座標で示される２×２画素を出力ドットパターンとして選択する。
【００１４】
（（２ｘ％Ｗ、（２ｙ）％Ｈ）
（（２ｘ％Ｗ＋１、（２ｙ）％Ｈ）
（（２ｘ％Ｗ、（２ｙ）％Ｈ＋１）
（（２ｘ％Ｗ＋１、（２ｙ）％Ｈ＋１）
ここで、％はモジュロ（剰余）演算を表す。次に、誤差演算部２５において、累積誤差加算後の画素データＩ’と出力ドットパターンから求めた出力値との差分、すなわち量子化誤差Ｅを計算する（ステップ３４）。出力画素の記録ドット数をＮとすれば、量子化誤差Ｅは次式にて求められる。
【００１５】
Ｅ＝Ｉ’−２５５×Ｎ／（２×２）
次に、誤差拡散部２６において、着目している画素の横方向位置ｘに応じて以下のように誤差の拡散処理が行われる（ステップ３５）。
【００１６】
Ｅ（ｘ＋１）←Ｅ（ｘ＋１）＋Ｅ×７／１６　（ｘ＜Ｗ）
Ｅ（ｘ―１）←Ｅ（ｘ―１）＋Ｅ×３／１６　（ｘ＞１）
Ｅ（ｘ）←Ｅ０＋Ｅ×５／１６　　　　　　　　　　　　　（１＜ｘ＜Ｗ）
Ｅ（ｘ）←Ｅ０＋Ｅ×８／１６　　　　　　　　　　　　　（ｘ＝１）
Ｅ（ｘ）←Ｅ０＋Ｅ×１３／１６　　　　　　　　　　　（ｘ＝Ｗ）
Ｅ０←Ｅ×１／１６　　　　　　　　　　　　　　　　　　　　（ｘ＜Ｗ）
Ｅ０←０　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　（ｘ＝Ｗ）
以上で、入力画像１画素分の二値化処理が完了する。前記二値化処理を入力画像の全画素に対して施されたか否かを判定し（ステップ３６）、全画素に対して以上の処理が行われたと判断された場合、入力画像の擬似中間調処理が完了する。
【００１７】
次に、ドットパターン６１、６２の作成手順を図７のフローチャートに従って説明する。本実施形態においては、ドットパターンのサイズは縦横１６画素とする。まず、１ドット目の配置をランダムにひとつ決め、当該ドットのみをオン、他のドットをオフに初期化する（ステップ７０）。ここでは、最初のドット位置を（ｘ０、ｙ０）とする。次に、ポテンシャルの初期化を行う（ステップ７１）ポテンシャルはドットの位置からの距離ｒに対して以下の関数ｆ（ｒ）で与えられるものとする。
【００１８】
ｆ（ｒ）＝−０．４１ｒ＋１．２１　　　　　　（ｒ＜２）
ｆ（ｒ）＝２．７６ｅｘｐ（−ｒ）　　　　　　（２≦ｒ＜１０）
ｆ（ｒ）＝０　　　　　　　　　　　　　　　　　　　（ｒ≧１０）
従って、ドット位置（ｘ０、ｙ０）による、マスク位置（ｘ、ｙ）に対するポテンシャルＰ（ｘ、ｙ）は次の式で求められる。
Ｐ（ｘ、ｙ）＝ｆ（√（｛（ｘ−ｘ０＋１６）％１６｝２＋｛（ｙ−ｙ０＋１６）％１６｝２））
ｘ０−１０＜ｘ＜ｘ０＋１０
ｙ０−１０＜ｙ＜ｙ０＋１０
次に、ポテンシャルの最も小さい位置を検索し、その位置にドットを追加する（ステップ７２）。ポテンシャルの最小値を持つ位置が複数ある場合は、ランダムに一つの位置を選択する。次に、新たに追加したドットに対するポテンシャルを加算する（ステップ７３）。追加したドットの位置を（ｘ１、ｙ１）とすると、新たなポテンシャルは次式により求められる。
Ｐ（ｘ、ｙ）＝ｆ（√（｛（ｘ−ｘ１＋１６）％１６｝２＋｛（ｙ−ｙ１＋１６）％１６｝２））
ｘ１−１０＜ｘ＜ｘ１＋１０
ｙ１−１０＜ｙ＜ｙ１＋１０
前記ステップ７２、７３を当該ドットパターンの階調値とオンドット比率が等しくなるで繰り返す。具体的には、ドットパターン６１については、オンドット数が８５となるまで、ドットパターン６２については、オンドット数が１７１となるまで繰り返す。以上のようにして各ドットパターンの生成が行われる。上記の手順により、ドットが一様に分散した視覚的に好ましい疑似周期的ドットパターンを生成することができる。なお、ドットパターン生成のための手段は本画像処理装置に組み込まれる必要はなく、予め別個のドットパターン生成装置によりドットパターンを生成し、結果パターンのみをドットパターンメモリに格納するものとする。
【００１９】
以上のような構成により、量子化後の１画素データのデータ転送量に制約がある場合に、階調再現性に優れた二値ドットパターンを形成し、また、入力画素値と出力画素ブロックのドットパターン値に濃度差が発生する量子化数においても、出力画像は周期的なパターンとはならず、かつ、いずれの階調においてもドットが一様に分散した視覚的に好ましい疑似周期的な二値ドットパターンを得ることができる。
【００２０】
（第２の実施例）
図８は、本発明の第２の実施形態である画像処理装置の構成を示したブロック図であり、図１は本画像処理装置を用いたシステム例を示している。１０は画像処理部、１１は画像出力部、１２はデータ転送路である。本画像処理装置は画像処理部１０であるパーソナルコンピュータと、画像出力部１１であるプリンタと、パーソナルコンピュータとプリンタ間のデータ転送路１３であるＩＥＥＥ１２８４或いはＵＳＢにより構成されている。本実施例の画像処理装置は、第１の実施例の画像処理装置に対して、予め作成されたマスクパターンを格納しておくためのマスクパターンメモリ８０、前記マスクパターンからドットパターンを生成するドットパターン生成部８１、出力モードを指定するモード指定端子８２が追加された構成となっている。
【００２１】
以下、図８の画像処理装置の動作について図９のフローチャートに従って説明する。
【００２２】
まず、出力モード設定端子より、入力画素１画素に対する出力画素ブロックのサイズと、量子化の階調数を設定する（ステップ９０）。出力ブロックの横画素数をＷ０、縦画素数をＨ０、量子化階調数を２Ｎ（Ｎは整数）とする。
【００２３】
次に、パターン生成部において、予め用意されたマスクパターンより出力モードに従いドットパターンを生成する（ステップ９１）。マスクパターンは横画素数Ｗ、縦画素数Ｈで各マスク値が０から２５５の整数値を持つデータである。量子化階調数を２Ｎとすると、生成されるドットパターンの種類は２Ｎ個となる。１階調目に対するドットパターンは、サイズが（Ｗ０、Ｈ０）ですべてのドットがオフのパターンとする。また、２Ｎ階調目に対するドットパターンはサイズが（Ｗ０、Ｈ０）ですべてのドットがオンのパターンとする。２階調目から２Ｎ−１階調目に対するドットパターンは、マスクパターンを次式に示す閾値Ｔ（ｎ）により二値化されたパターンとする。
【００２４】
Ｔ（ｎ）＝２５５×（ｎ−１）／（２Ｎ−１）　　（ｎ＝２，．．．，２Ｎ−１）
次に、図示しない画像走査部により入力画像が順次走査され各画素データが入力端子２０より入力される（ステップ９２）。図４は画像の走査を示した図である。４０は入力画像の左上端の画素、４１は入力画像の右下端の画素である。画像の走査は、画像領域の左上端の画素４０から開始し、右方向に１画素ごとに進む。そして、画像データ列の右端に達したら１画素下の画像データ列の左端画素に移る。同処理を繰り返し行い右下端の画素４１まで到達すると、画像の走査処理は完了する。次に、累積誤差加算部２１において入力された画素データに累積誤差メモリの画素位置に対応する累積誤差値が加算される（ステップ９３）。累積誤差メモリは１個の記憶領域Ｅ０と入力画像の横画素数Ｗと同数の記憶領域Ｅ（ｘ）があり、後述する方法により量子化誤差が格納されている。なお、累積誤差メモリは処理開始前に全て初期値０で初期化されているものとする。図５は累積誤差メモリの詳細を示した図である。累積誤差加算部２１では、入力画素データの横画素位置ｘに対応した誤差メモリＥ（ｘ）の値が加算される。すなわち、入力画素データＩを、累積誤差加算後の画素データをＩ’とすると、
Ｉ’＝Ｉ＋Ｅ（ｘ）
となる。次に量子化部２３において、累積誤差加算後の画素データＩ’と閾値設定端子により定められた閾値とを比較し出力階調値を決定する（ステップ９４）。本実施例２では、データ転送路１２は量子化部２３により量子化された画像データに対して１画素あたりＮビットのデータ転送を行う。よって、階調変換後の階調数を２Ｎとし、入力画素が０から２５５の範囲の整数値とすれば、出力画素値Ｏは次式により決定される。
【００２５】
Ｏ＝Ｉ’　ＡＮＤ（２８−２８−Ｎ）
ここで、ＡＮＤは論理積演算を表す。次に、ドットパターン選択部２４において、出力階調数に対応するドットパターンをドットパターンメモリ２８より１つ選択し、出力ドットパターンとして画像データ出力端子２９より出力する（ステップ９５）。出力階調が０の場合は１階調目のドットパターンを、出力階調が２５５の場合は２Ｎ階調目のドットパターンを出力する。その他の出力階調の場合は、出力画素位置（ｘ、ｙ）により、対応するドットパターンから出力画素ブロックに相当する領域を選択し、その領域のドットパターンを出力画素データとする。すなわち、左上の座標を
（（ｘ×Ｗ０）％Ｗ、（ｙ×Ｈ０）％Ｈ）
右下の座標を
（（ｘ×Ｗ０）％Ｗ＋Ｗ０−１、（ｙ×Ｈ０）％Ｈ＋Ｈ０−１）
とする矩形領域を出力ドットパターンとして選択する。ここで、％はモジュロ（剰余）演算を表す。
【００２６】
次に、誤差演算部２５において、累積誤差加算後の画素データＩ’と出力ドットパターンから求めた出力値との差分、すなわち量子化誤差Ｅを計算する（ステップ９６）。出力画素の記録ドット数をＭとすれば、量子化誤差Ｅは次式にて求められる。
【００２７】
Ｅ＝Ｉ’−２５５×Ｍ／（Ｗ０×Ｈ０）
次に、誤差拡散部１６において、着目している画素の横方向位置ｘに応じて以下のように誤差の拡散処理が行われる（ステップ９７）。
【００２８】
Ｅ（ｘ＋１）←Ｅ（ｘ＋１）＋Ｅ×７／１６　（ｘ＜Ｗ）
Ｅ（ｘ―１）←Ｅ（ｘ―１）＋Ｅ×３／１６　（ｘ＞１）
Ｅ（ｘ）←Ｅ０＋Ｅ×５／１６　　　　　　　　　　　　　（１＜ｘ＜Ｗ）
Ｅ（ｘ）←Ｅ０＋Ｅ×８／１６　　　　　　　　　　　　　（ｘ＝１）
Ｅ（ｘ）←Ｅ０＋Ｅ×１３／１６　　　　　　　　　　　（ｘ＝Ｗ）
Ｅ０←Ｅ×１／１６　　　　　　　　　　　　　　　　　　　　（ｘ＜Ｗ）
Ｅ０←０　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　（ｘ＝Ｗ）
以上で、入力画像１画素分の二値化処理が完了する。前記二値化処理を入力画像の全画素に対して施されたか否かを判定し（ステップ９８）、全画素に対して以上の処理が行われたと判断された場合、入力画像の擬似中間調処理が完了する。
【００２９】
次に、マスクパターンの作成手順を図１１のフローチャートに従って説明する。本実施形態においては、パターンのサイズは縦横１６画素とする。まず、１ドット目の配置をランダムにひとつ決める（ステップ１００）。ここでは、最初のドット位置を（ｘ０、ｙ０）とする。次に、マスクデータの初期化を行う（ステップ１０１）。すなわち、最初のドット位置（ｘ０、ｙ０）のマスク値を２５４に、その他のマスク値を２５５とする。次にポテンシャルを初期化する（ステップ１０２）。ポテンシャルはドット位置からの距離ｒに対して以下の関数ｆ（ｒ）で与えられるものとする。
【００３０】
ｆ（ｒ）＝−０．４１ｒ＋１．２１　　　　　　（ｒ＜２）
ｆ（ｒ）＝２．７６ｅｘｐ（−ｒ）　　　　　　（２≦ｒ＜１０）
ｆ（ｒ）＝０　　　　　　　　　　　　　　　　　　　（ｒ≧１０）
従って、ドット位置（ｘ０、ｙ０）による、マスク位置（ｘ、ｙ）に対するポテンシャルＰ（ｘ、ｙ）は次の式で求められる。
Ｐ（ｘ、ｙ）＝ｆ（√（｛（ｘ−ｘ０＋１６）％１６｝２＋｛（ｙ−ｙ０＋１６）％１６｝２））
ｘ０−１０＜ｘ＜ｘ０＋１０
ｙ０−１０＜ｙ＜ｙ０＋１０
次に、ポテンシャルの最も小さい位置を検索し、その位置にドットを追加する（ステップ１０３）。ポテンシャルの最小値を持つ位置が複数ある場合は、ランダムに一つの位置を選択する。次に、新たに追加したドットを含む全てのドットの位置に対するマスク値を１減らす（ステップ１０４）。次に、新たに追加したドットに対するポテンシャルを加算する（ステップ１０５）。次に、追加したドットの位置を（ｘ１、ｙ１）とすると、新たなポテンシャルは次式により求められる。
Ｐ（ｘ、ｙ）＝ｆ（√（｛（ｘ−ｘ１＋１６）％１６｝２＋｛（ｙ−ｙ１＋１６）％１６｝２））
ｘ１−１０＜ｘ＜ｘ１＋１０
ｙ１−１０＜ｙ＜ｙ１＋１０
前記ステップ１０３、１０４、１０５をマスクパターンのすべての画素位置にドットが追加されるまで繰り返す。以上のようにして各ドットパターンの生成が行われる。上記の手順により生成されたマスクパターンを用いることにより、いかなる閾値により二値化した場合にもドットが一様に分散した視覚的に好ましい疑似周期的ドットパターンを生成することができる。なお、マスクパターン生成のための手段は本画像処理装置に組み込まれる必要はなく、予め別個のマスクパターン生成装置によりマスクパターンを生成し、結果パターンのみをマスクパターンメモリに格納するものとする。
【００３１】
以上のような構成により、入力画像を出力画像の解像度を自由に設定できるとともに、入力画像の量子化レベルも自由に設定できるため、要求される処理速度と画像品位に応じて出力モードを切り替えることが可能となる。
【００３２】
【発明の効果】
以上説明したように、本出願に係る第１の発明によれば、量子化後の１画素データのデータ転送量に制約がある場合に、階調再現性に優れた二値ドットパターンを形成し、また、入力画素値と出力画素ブロックとの濃度差が無い領域でも、出力画像は規則的なパターンとはならず、かつ、いずれの階調においてもドットが一様に分散した視覚的に好ましい疑似周期的な二値のドットパターンを得ることができる。さらに、本出願に係る別の発明によれば、入力画像と出力画像の解像度を自由に設定できると共に、入力画像の量子化レベルも自由に設定できるため、要求される処理速度と画像品位に応じて出力モードを切り替えることが可能となる。
【図面の簡単な説明】
【図１】本発明の画像処理装置のシステム例。
【図２】本発明の第一の実施例である画像処理装置のブロック図。
【図３】第一の実施例である画像処理装置の動作を説明するフローチャート。
【図４】画像の走査例。
【図５】誤差拡散メモリの構成例。
【図６】ドットパターンの一例。
【図７】ドットパターンの作成手順のフローチャート。
【図８】第２の実施例である画像処理装置の構成を示したブロック図。
【図９】画像処理装置の動作を説明するフローチャート。
【図１０】制御フローチャート。
【図１１】マスクパターンの生成手順を説明するフローチャート。
【図１２】２×２画素のドットパターン例。
【符号の説明】
１２・・・データ転送路。
２０・・・画素データ入力端子。
２１・・・累積誤差加算部。
２２・・・閾値設定端子。
２３・・・量子化部。
２４・・・ドットパターン選択部。
２５・・・誤差演算部。
２６・・・誤差拡散部。
２７・・・累積誤差メモリ。
２８・・・ドットパターンメモリ。
２９・・・画像データ出力端子。
９０・・・マスクパターンメモリ。
９１・・・パターン生成部。
９２・・・出力モード設定端子。
【図１】
2004032613.tif 000003
【図２】
2004032613.tif 000004
【図３】
2004032613.tif 000005
【図４】
2004032613.tif 000006
【図５】
2004032613.tif 000007
【図６】
2004032613.tif 000008
【図７】
2004032613.tif 000009
【図８】
2004032613.tif 000010
【図９】
2004032613.tif 000011
【図１０】
2004032613.tif 000012
【図１１】
2004032613.tif 000013
【図１２】
2004032613.tif 000014