(57)【特許請求の範囲】
【請求項１】
各々の色分解画像がピクセルのアレイを含む、第一の色分解画像と第二の色分解画像とを含むカラー・イメージ・データを処理するシステムであって、
第一の色分解画像のピクセルの第一の入力グレイ・レベルと、第二の色分解画像のピクセルの第二の入力グレイ・レベルと、を受け取るグレイ・レベル間隔回路であって、第一の上限グレイ・レベルおよび下限グレイ・レベルと、第二の上限グレイ・レベルおよび下限グレイ・レベルと、を識別し、第一の色分解画像のマルチ・レベル出力値はｊ個であり、ｊ＞２であり、第一の上限グレイ・レベルと第一の下限グレイ・レベルとの各々が第一の色分解画像のｊ個のマルチ・レベル出力値の一つに相当し、第一の上限グレイ・レベルと第一の下限グレイ・レベルとが、第一の入力グレイ・レベルを含み、第一のグレイ・レベル間隔を有する、グレイ・レベルの範囲を定義し、第二の色分解画像のマルチ・レベル出力値はｋ個であり、ｋ＞２であり、第二の上限レベルと第二の下限レベルとの各々が第二の色分解のｋ個のマルチ・レベル出力値の一つに相当し、第二の上限レベルと第二の下限レベルとが、第二の入力グレイ・レベルを含み、第二のグレイ・レベル間隔を有する、グレイ・レベルの範囲を定義する、グレイ・レベル間隔回路と、
第一の色分解画像のピクセルの第一の修正グレイ・レベルおよび第二の色分解画像のピクセルの第二の修正グレイ・レベルを受け取るレベル・スケーリング回路であって、第一のスケーリングされたグレイ・レベルを生成するために、第一の修正グレイ・レベルを第一のグレイ・レベル間隔に対して、共通レベル間隔にスケーリングし、第二のスケーリングされたグレイ・レベルを生成するために、第二の修正グレイ・レベルを第二のグレイ・レベル間隔に対して、共通レベル間隔にスケーリングする、レベル・スケーリング回路と、
第一のスケーリングされたグレイ・レベルと第二のスケーリングされたグレイ・レベルとを受け取り、第一のスケーリングされたグレイ・レベルと第二のスケーリングされたグレイ・レベルとの合計にもとづき、第一の色分解画像のピクセルの第一のマルチ・レベル出力値と、第二の色分解画像のピクセルの第二のマルチ・レベル出力値とを導き出す、量子化回路と、
を備え、
第一の修正グレイ・レベルは第一の色分解画像のピクセルの第一のグレイ・レベルに誤差を加算することにより取得され、
第二の修正グレイ・レベルは第二の色分解画像のピクセルの第二のグレイ・レベルに誤差を加算することにより取得され、
第一のグレイ・レベル間隔は第一の上限グレイ・レベルと第一の下限グレイ・レベルとの差異であり、
第二のグレイ・レベル間隔は第二の上限グレイ・レベルと第二の下限グレイ・レベルとの差異であり、
共通レベル間隔は、前記第一のグレイ・レベル間隔もしくは前記第二のグレイ・レベル間隔によって、除することにより、前記第一のグレイ・レベル間隔と前記第二のグレイ・レベル間隔とを調整するために定められる間隔であり、
Ｘ（ｍ，ｎ）が第一の修正グレイ・レベルまたは第二の修正グレイ・レベルであり、
ｄが共通レベル間隔で使用可能なグレイ・レベルの数であり、
ＬS（Ｘ）が第一の下限グレイ・レベルまたは第二の下限グレイ・レベルであり、
ＬB（Ｘ）が第一の上限グレイ・レベルまたは第二の上限グレイ・レベルであり、
第一のスケーリングされたグレイ・レベルまたは第二のスケーリングされたグレイ・レベルＸａｄｊが、
【数１】
0004783566.tif 000007
である、
システム。
【請求項２】
Ｓが第一のスケーリングされたグレイ・レベルと第二のスケーリングされたグレイ・レベルの合計であり、
Ｓが第一の閾値より大きく、第二の閾値より小さいときに、
第一のスケーリングされたグレイ・レベルが第二のスケーリングされたグレイ・レベルより大きいならば、
第一のマルチ・レベル出力値が第一の上限グレイ・レベルに一致し、
第二のマルチ・レベル出力値が第二の下限グレイ・レベルに一致し、
第一のスケーリングされたグレイ・レベルが第二のスケーリングされたグレイ・レベルより小さいならば、
第一のマルチ・レベル出力値が第一の下限グレイ・レベルに一致し、
第二のマルチ・レベル出力値が第二の上限グレイ・レベルに一致する、
ように、前記量子化回路は第一のマルチ・レベル出力値と第二のマルチ・レベル出力値とを導き出す、
請求項１に記載のシステム。
【請求項３】
少なくとも第一の色分解画像と第二の色分解画像とを備えるカラー・イメージ・データを処理する方法であって、
第一の色分解画像が第一の色分解画像のピクセルを含み、
第二の色分解画像が第二の色分解画像のピクセルを含み、
第一の色分解画像のピクセルのグレイ・レベルに基づき、第一の上限レベルと第一の下限レベルとを識別し、
第二の色分解画像のピクセルのグレイ・レベルに基づき、第二の上限レベルと第二の下限レベルとを識別し、
第一のスケーリングされたグレイ・レベルを生成するために、第一の上限レベルと第一の下限レベルとにより定義される第一のグレイ・レベル間隔に対して、第一の色分解画像のピクセルの第一の修正グレイ・レベルを共通レベル間隔にスケーリングし、
第二のスケーリングされたグレイ・レベルを生成するために、第二の下限レベルと第二の上限レベルとにより定義される第二のグレイ・レベル間隔に対して、共通レベル間隔に第二の色分解画像のピクセルの第二の修正グレイ・レベルをスケーリングし、
第一のスケーリングされたグレイ・レベルと第二のスケーリングされたグレイ・レベルとの合計Ｓを生成し、
合計Ｓに基づき、第一の色分解画像のピクセルの第一の出力値と第二の色分解画像のピクセルの第二の出力値とを導き出し、
第一の修正グレイ・レベルは第一の色分解画像のピクセルの第一のグレイ・レベルに誤差を加算することにより取得され、
第二の修正グレイ・レベルは第二の色分解画像のピクセルの第二のグレイ・レベルに誤差を加算することにより取得され、
第一のグレイ・レベル間隔は第一の上限グレイ・レベルと第一の下限グレイ・レベルとの差異であり、
第二のグレイ・レベル間隔は第二の上限グレイ・レベルと第二の下限グレイ・レベルとの差異であり、
共通レベル間隔は、前記第一のグレイ・レベル間隔もしくは前記第二のグレイ・レベル間隔によって、除することにより、前記第一のグレイ・レベル間隔と前記第二のグレイ・レベル間隔とを調整するために定められる間隔であり、
Ｘ（ｍ，ｎ）が第一の修正グレイ・レベルまたは第二の修正グレイ・レベルであり、
ＬS（Ｘ）が第一の下限レベル、または、第二の下限レベルであり、
ＬB（Ｘ）が第一の上限レベル、または、第二の上限レベルであり、
ｄが共通レベル間隔において使用可能なグレイ・レベルの数であって、
第一のスケーリングされたグレイ・レベルまたは第二のスケーリングされたグレイ・レベルＸadjが、
【数２】
0004783566.tif 000008
である、
方法。
【請求項４】
第一の色分解画像のピクセルと第二の色分解画像のピクセルとを含むカラー・イメージ・データを処理する方法であって、
第一の色分解画像のピクセルに基づく第一の上限レベル及び第一の下限レベルと、第二の色分解画像のピクセルに基づく第二の上限レベル及び第二の下限レベルと、を識別し、
第一のスケーリング・グレイ・レベルを生成するために、第一の上限レベルと第一の下限レベルにより定義される第一のグレイ・レベル間隔に対して共通レベル間隔に第一の色分解画像のピクセルの入力グレイ・レベルをスケーリングし、
第一のスケーリングされたグレイ・レベルと、第二の色分解画像のピクセルから導き出される第二のスケーリングされたグレイ・レベルと、の合計Ｓを生成し、
合計Ｓに基づき第一の色分解画像のピクセルの入力グレイ・レベルを第一の出力値に量子化し、
第一のグレイ・レベル間隔は第一の上限グレイ・レベルと第一の下限グレイ・レベルとの差異であり、
第二のグレイ・レベル間隔は第二の上限グレイ・レベルと第二の下限グレイ・レベルとの差異であり、
共通レベル間隔は、前記第一のグレイ・レベル間隔もしくは前記第二のグレイ・レベル間隔によって、除することにより、前記第一のグレイ・レベル間隔と前記第二のグレイ・レベル間隔とを調整するために定められる間隔である、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、連続階調画像をマルチ・レベル・イメージ・データに変換するためにイメージ・データを処理するための方法に関する。ここでの教示は、連続階調画像を、マルチ・レベル出力ディスプレイまたは印刷装置とともに使用するための画像に変換するために適応される誤差拡散プロセスに応用される。
【背景技術】
【０００２】
ドキュメント・スキャナ、コンピュータ・イメージ・ジェネレータ、及びデジタル・カメラなどの共通入力装置は、「連続階調」画像を表現する多数のグレイ・レベルで画像を提出することができる。すなわち、このような連続階調画像の各ピクセルは、値、つまり特定の範囲内にあるグレイ・レベルを有し、分解ごとに２５６以上のグレイ・レベルが一般的である。例えば、静電複写（ｅｌｅｃｔｒｏｓｔａｔｏｇｒａｐｈｉｃ）プリンタ、インク・ジェット・プリンタ、及びＬＣＤアレイなどを含む出力装置は、出力媒体上で複数のピクセルを生成することによりこのような画像を表現する。しかしながら、このような出力装置は、通常、ピクセルごとに少数の出力レベル、または出力状態しか提供しない。
【０００３】
このような出力画像を生成する前に、連続階調イメージ・データの中のピクセルは、各ピクセルのグレイ・レベルを一つまたは複数の閾値と比較することによって前処理され、各ピクセルに出力状態のセットの一つを割り当てる。各ピクセルの値（またはグレイ・レベル）とピクセルの出力レベル（または出力状態）に一致するグレイ・レベルとの差異は印刷された画像の中に量子化アーチファクトを引き起こす。誤差拡散は、グレイ・レベルの一つのセットを有するピクセルを備える画像を、グレイ・レベルの別のセットを有するピクセルを備える画像に変換するときの画像の総輝度、つまり「グレイ・コンテンツ」を維持しようと試みる周知の技法である。誤差拡散方法は、通常、近隣のピクセルにおいて選択したセット内のピクセルに関連した量子化誤差の微小部分を前方に分散する。各々の近隣に加えられる誤差の断片は重みのセットに依存し、総誤差は指定近隣に対応する重みで乗算され、次にその近隣の値に加算される。
【０００４】
誤差拡散方法は、画像の中に多くのアーチファクトを生じさせることがある。一般的には「ワーム」と呼ばれている一つのアーチファクトは均等色または徐々に変化する色の相対的に広い領域について目に付くようになる。「ワーム」はこのような領域では曲線状または直線状の斜線として表れるか、あるいは画像内にパターン化して表れる。同様に、ワームの穴（ワーム・ホールとも呼ばれる）は、陰影領域の白色または薄灰色のコンテンツの曲線状または直線状の斜線のパターンとして現れる。
【０００５】
ワームまたはワーム・ホールの発生を排除するあるいは低減するための一つの方法が、スタンプ関数の使用である。スタンプ関数は、誤差拡散機能において適当な数の重みで可能であるより幅広い領域における類似したピクセルのクラスタ化を抑制してゆく方向に導くやり方で、ピクセルが印刷される領域周辺の閾値を変更することにより誤差拡散におけるワーム及び／またはワーム・ホールを排除または削除するために機能する。
【０００６】
誤差拡散方法、重み係数、及びスタンプ関数に関するさらに完全な説明は、それらの教示についてここに参考のために示されている特許文献１〜６に記載されている。
【０００７】
カラー画像のケースでは、誤差拡散は単に各々の色成分に個別に適用されてはならない。そうすることによりノイジーな画像が生じる。例えば、ライト・ブルーはマゼンタ・ピクセルとシアン・ピクセルにより作ることができる。しかし、マゼンタとシアンが別個に処理される場合には、いくつかのマゼンタとシアンの両方を有し、青色を生じさせるピクセルもあるが、他の場合ではインクがまったくなく白色を出す。白色、青色、マゼンタ及びシアンのこの混合により、マゼンタとシアンだけのピクセルよりさらに多くのコントラストが生じ、さらにノイジーに見える。各々のチャネルを個別に処理するプロセスは、画像領域上で分散される可能な色組み合わせのいずれか及びすべてを生じさせることができる。
【０００８】
画像のノイズの問題は、ベクタ誤差拡散法により低減できる。ベクタ誤差拡散においては、色は三次元空間内で点として処理され、該色はその空間において所定のピクセルの離散場所で印刷可能または表示可能である。三色次元空間においては、３つの軸の各々がピクセルの位置を定める。各軸は、色空間に応じて色定義の別の成分を取ることができる。ベクタ誤差拡散においては、誤差は入力色と出力色の差異により出される。出力色は、通常、最も近い再生可能色となるであろう。方向と大きさに関して定められるベクタは該差異つまり誤差を定める。ベクタ（誤差）は次に通常の誤差拡散と同様に拡散される。
【０００９】
ベクタ誤差拡散は、各ピクセルで最も近い色を見つける場合に必要とされる困難且つリソース集約的な三次元ベクタ計算のために実現するのが困難となる場合がある。各ピクセルで重大なベクタ計算を実行するという要件を改善するために、セミ・ベクタ誤差拡散手法が使用できる。この手法を用いると、第三の最も視覚的に知覚可能ではない分解は別のものとして取り扱われるが、最も視覚的に知覚可能な色出力による２つの分解が互いと比較され、その出力色を決定する。
【００１０】
ベクタ誤差拡散方法とセミ・ベクタ誤差拡散方法とのさらに完全な説明は、その教示のためにここに参考として示されている特許文献７〜１０に記載されている。
【００１１】
従来、プリンタ及び多くの表示装置はバイナリ（２進法）であった。しかしながら、マルチ・レベル出力装置（例えば、ピクセル・ロケーションを空白のまま残すことに加え、２つまたは３つ以上の出力濃度または出力状態を生成できる装置）が一般的になり、さらに普及した。前述された技法などの誤差拡散技法は連続階調画像を表示または印刷のための画像に変換するが、それらはマルチ・レベル出力装置または印刷装置とともに使用するための画像を生成するためには最適ではない。
【００１２】
連続階調画像を印刷のための表示画像に変換する既存のシステムまたは方法に関する改善策はつねに所望されている。このような改善策は性能、効率、及び／またはコストの改善という形で生じることがあるが、ハードウェアまたはソフトウェアの複雑性の低減、システム・リソースの低減、速度の加速、精度の加速等の一つまたは複数に限られていない。
【特許文献１】米国特許第５，５３５，０１９号明細書（「高輝度／低輝度画像領域において反応が均一の誤差拡散ハーフトーニング（Ｅｒｒｏｒ  Ｄｉｆｆｕｓｉｏｎ  Ｈａｌｆｔｏｎｉｎｇ  ｗｉｔｈ  Ｈｏｍｏｇｅｎｏｕｓ  Ｒｅｓｐｏｎｓｅ  ｉｎ  Ｈｉｇｈ／Ｌｏｗ  Ｉｎｔｅｎｓｉｔｙ  Ｉｍａｇｅ  Ｒｅｇｉｏｎｓ）」）
【特許文献２】米国特許第５，３５３，１２７号明細書（「拡張分散セットによる量子化グレイ・レベル・ピクセル・データのための方法（Ｍｅｔｈｏｄ  ｆｏｒ  Ｑｕａｎｔｉｚａｔｉｏｎ  Ｇｒａｙ  Ｌｅｖｅｌ  Ｐｉｘｅｌ  Ｄａｔａ  Ｗｉｔｈ  Ｅｘｔｅｎｄｅｄ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓｅｔ）」）
【特許文献３】米国特許第５，６０８，８２１号明細書（「高アドレス可能性誤差拡散の方法（Ｍｅｔｈｏｄ  ｏｆ  Ｈｉｇｈ  Ａｄｄｒｅｓｓａｂｉｌｉｔｙ  Ｅｒｒｏｒ  Ｄｅｔｅｃｔｉｏｎ）」）
【特許文献４】米国特許第５，６９６，６０１号明細書（「誤差拡散プロセスから誤差値を再分配するためのシステム及び方法（Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｒｅｄｉｓｔｒｉｂｕｔｉｎｇ  Ｅｒｒｏｒ  Ｖａｌｕｅｓ  ｆｒｏｍ  ａｎ  Ｄｉｆｆｕｓｉｏｎ  Ｐｒｏｃｅｓｓ）」）
【特許文献５】米国特許第５，７６８，４３２号明細書（「ハイブリッド誤差拡散プロセスにおけるピクセルの増大を補正するためのシステム及び装置（Ｓｙｓｔｅｍ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｐｉｘｅｌ  Ｇｒｏｗｔｈ  Ｃｏｍｐｅｎｓａｔｉｏｎ  ｉｎ  ａ  Ｈｙｂｒｉｄ  Ｅｒｒｏｒ  Ｄｉｆｆｕｓｉｏｎ  Ｐｒｏｃｅｓｓ）」）
【特許文献６】米国特許第６，６０８，７００Ｂ１号明細書（「分散重みが交互になる誤差拡散アーチファクトの削除（Ｒｅｍｏｖａｌ  ｏｆ  Ｅｒｒｏｒ  Ｄｉｆｆｕｓｉｏｎ  Ａｒｔｉｆａｃｔｓ  ｗｉｔｈ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｗｅｉｇｈｔｓ）」）
【特許文献７】米国特許第５，６２１，５４６号明細書（「出力色制御によるベクタ誤差拡散のための方法及び装置（Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｖｅｃｔｏｒ  Ｅｒｒｏｒ  Ｄｉｆｆｕｓｉｏｎ  ｗｉｔｈ  Ｏｕｔｐｕｔ  Ｃｏｌｏｒ  Ｃｏｎｔｒｏｌ）」）
【特許文献８】米国特許第６，０１４，２３３号明細書（「セミ・ベクタ量子化によるカラー・イメージのための誤差拡散（Ｅｒｒｏｒ  Ｄｉｆｆｕｓｉｏｎ  ｆｏｒ  Ｃｏｌｏｒ  Ｉｍａｇｅｓ  ｗｉｔｈ  Ｓｅｍｉ−ｖｅｃｔｏｒ  Ｑｕａｎｔｉｚａｔｉｏｎ）」）
【特許文献９】米国特許第６，０７２，５９１号（「合計及び差異誤差拡散（Ｓｕｍ  ａｎｄ  ｄｉｆｆｅｒｅｎｃｅ  ｅｒｒｏｒ  ｄｉｆｆｕｓｉｏｎ）」）
【特許文献１０】米国特許第６，４８３，６０６Ｂ１号明細書（「通常数の出力色における誤差拡散（Ｅｒｒｏｒ  Ｄｉｆｆｕｓｉｏｎ  ｏｎ  Ｍｏｄｅｒａｔｅ  Ｎｕｍｂｅｒ  ｏｆ  Ｏｕｔｐｕｔ  Ｃｏｌｏｒｓ）」）
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明は、連続階調画像をマルチ・レベル・イメージ・データに変換するためにイメージ・データを処理するシステム及び方法を提供する。
【課題を解決するための手段】
【００１５】
ここでの教示の一つまたは複数の態様に従って、マルチ・レベル・データを生成するために複数のピクセルを備えるイメージ・データを処理するための方法が示されている。本方法は、入力ピクセルを受け取り、該入力ピクセルの上限レベルと下限レベルとを識別する。上限レベルと下限レベルとがグレイ・レベル間隔を定める。本方法はグレイ・レベル間隔の関数として入力ピクセルのグレイ・レベルをスケーリングし、入力ピクセルのレベル間隔とは無関係な基準閾値を生成し、入力ピクセルの基準閾値との比較に基づき、入力ピクセルの出力レベルを設定し、出力レベルが上限レベルと下限レベルとの一方に一致するように設定される。
【００１６】
ここでの教示の一つまたは複数の態様に従って、各ピクセルが関連したグレイ・レベルを有する複数のピクセルを備えるイメージ・データを処理するための方法が示されている。本方法は、入力ピクセルを受け取ることと、入力ピクセルに基づき、グレイ・レベル間隔を定める上限レベルと下限レベルを識別することと、グレイ・レベル間隔の関数として入力ピクセルのための閾値をスケーリングすることと、スケーリングされる閾値とグレイ・レベル間隔に基づくレベル閾値との合計として、基準閾値を生成することと、基準閾値と入力ピクセルとの比較に基づき入力ピクセルの出力レベルを設定すること、とを含み、出力レベルは上限レベルと下限レベルの一方に一致するように設定される。
【００１７】
ここでの教示の一つまたは複数の態様に従って、少なくとも第一の色分解と第二の色分解を備えるカラー・イメージ・データを処理するための方法が示されており、第一の色分解は第一の色分解ピクセルを含み、第二の色分解は第二の色分解ピクセルを含む。本方法は、第一の色分解ピクセルのためのグレイ・レベルに基づき、第一の上限レベルと第一の下限レベルとを識別することと、第二の色分解ピクセルのためのグレイ・レベルに基づき、第二の上限レベルと第二の下限レベルとを識別することと、第一の上限レベルにより定められる第一のグレイ・レベル間隔に関して、第一の色分解ピクセルのための第一の修正されたグレイ・レベルを共通のレベル間隔にスケーリングすることと、第二のスケーリングされたグレイ・レベルを生成するために、第二の下限レベルと第二の上限レベルとにより定められる第二のグレイ・レベル間隔に関して、第二の色分解ピクセルのための第二の修正されたグレイ・レベルを共通レベル間隔にスケーリングすることと、第一のスケーリングされたグレイ・レベルと第二のスケーリングされたグレイ・レベルとの合計Ｓを生成することと、合計Ｓに基づき第一の色分解ピクセルのための第一の出力値と、第二の色分解ピクセルのための第二の出力値とを導き出すこと、とを含む。
【００１８】
ここでの教示の一つまたは複数の態様に従って、第一の色分解ピクセルと第二の色分解ピクセルとを含むカラー・イメージ・データを処理するための方法が示される。該方法は、第一の色分解ピクセルに基づく第一の上限レベルと下限レベルと、第二の色分解ピクセルに基づく第二の上限レベルと下限レベルとを識別することと、第一のスケーリングされたグレイ・レベルを生成するために、第一の上限レベルと第一の下限レベルとにより定められる第一のグレイ・レベル間隔に関して第一の色分解ピクセルの入力グレイ・レベルを共通レベル間隔にスケーリングすることと、第一のスケーリングされたグレイ・レベルと、第二の色分解ピクセルから導き出される第二のスケーリングされたグレイ・レベルとの合計Ｓを生成することと、第一の色分解ピクセルのための入力グレイ・レベルを合計Ｓに基づく第一の出力値に量子化すること、とを備える。
【００１９】
本発明の第１の態様のシステムは、各々の色分解がピクセルのアレイを含む、第一の色分解と第二の色分解とを含むカラー・イメージ・データを処理するシステムであって、第一の色分解ピクセルの第一の入力グレイ・レベルと、第二の色分解ピクセルの第二の入力グレイ・レベルと、を受け取るグレイ・レベル間隔回路であって、第一の上限グレイ・レベル及び下限グレイ・レベルと、第二の上限グレイ・レベル及び下限グレイ・レベルと、を識別し、２＜ｊであれば、第一の上限レベルと第一の下限レベルとの各々が第一の色分解のｊ個のマルチ・レベル出力値の一つに相当し、第一の上限レベルと第一の下限レベルとが、第一の入力グレイ・レベルを含み、第一のグレイ・レベル間隔を有する、グレイ・レベルの範囲を定義し、２＜ｋであれば、第二の上限レベルと第二の下限レベルとの各々が第二の色分解のｋ個のマルチ・レベル出力値の一つに相当し、第二の上限レベルと第二の下限レベルとが、第二の入力グレイ・レベルを含み、第二のグレイ・レベル間隔を有する、グレイ・レベルの範囲を定義する、グレイ・レベル間隔回路と、第一の色分解ピクセルの第一の修正グレイ・レベル及び第二の色分解ピクセルの第二の修正グレイ・レベルを受け取るレベル・スケーリング回路であって、第一のスケーリングされたグレイ・レベルを生成するために、第一の修正グレイ・レベルを第一のグレイ・レベル間隔に対して、共通レベル間隔にスケーリングし、第二のスケーリングされたグレイ・レベルを生成するために、第二の修正グレイ・レベルを第二のグレイ・レベル間隔に対して、共通レベル間隔にスケーリングする、レベル・スケーリング回路と、第一のスケーリングされたグレイ・レベルと第二のスケーリングされたグレイ・レベルとを受け取り、第一のスケーリングされたグレイ・レベルと第二のスケーリングされたグレイ・レベルとの合計に基づき、第一の色分解ピクセルの第一のマルチ・レベル出力値と、第二の色分解ピクセルの第二のマルチ・レベル出力値とを導き出す、量子化回路と、を備える。
【００２０】
本発明の第二の態様の方法は、少なくとも第一の色分解と第二の色分解とを備えるカラー・イメージ・データを処理する方法であって、第一の色分解が第一の色分解ピクセルを含み、第二の色分解が第二の色分解ピクセルを含み、第一の色分解ピクセルのグレイ・レベルに基づき、第一の上限レベルと第一の下限レベルとを識別し、第二の色分解ピクセルのグレイ・レベルに基づき、第二の上限レベルと第二の下限レベルとを識別し、第一のスケーリングされたグレイ・レベルを生成するために、第一の上限レベルと第一の下限レベルとにより定義される第一のグレイ・レベル間隔に対して、第一の色分解ピクセルの第一の修正グレイ・レベルを共通レベル間隔にスケーリングし、第二のスケーリングされたグレイ・レベルを生成するために、第二の下限レベルと第二の上限レベルとにより定義される第二のグレイ・レベル間隔に対して、共通レベル間隔に第二の色分解ピクセルの第二の修正グレイ・レベルをスケーリングし、第一のスケーリングされたグレイ・レベルと第二のスケーリングされたグレイ・レベルとの合計Ｓを生成し、合計Ｓに基づき、第一の色分解ピクセルの第一の出力値と第二の色分解ピクセルの第二の出力値とを導き出す。
【００２１】
本発明の第三の態様の方法は、第一の色分解ピクセルと第二の色分解ピクセルとを含むカラー・イメージ・データを処理する方法であって、第一の色分解ピクセルに基づく第一の上限レベル及び第一の下限レベルと、第二の色分解レベルに基づく第二の上限レベル及び第二の下限レベルと、を識別し、第一のスケーリング・グレイ・レベルを生成するために、第一の上限レベルと第一の下限レベルにより定義される第一のグレイ・レベル間隔に対して共通レベル間隔に第一の色分解ピクセルの入力グレイ・レベルをスケーリングし、第一のスケーリングされたグレイ・レベルと、第二の色分解ピクセルから導き出される第二のスケーリングされたグレイ・レベルと、の合計Ｓを生成し、合計Ｓに基づき第一の色分解ピクセルの入力グレイ・レベルを第一の出力値に量子化する。
【発明を実施するための最良の形態】
【００２２】
図１は、スキャナ１４、コンピュータ１６、ネットワーク１８、あるいはＡＳＣＩＩデータ、ビットマップ画像、走査イメージ・データ、ピクセル・イメージ・データ、幾何学データ、グラフィック・プリミティブ、ページ記述言語等の任意の組み合わせであってよいイメージ・データ２０を提供する類似したまたは同等な画像入力端末を含んでよいイメージ・ソース１２を含む例示的な印刷システム１０の実施形態を示す。イメージ・データ２０は、受け取ったイメージ・データ２０を処理し、画像出力端末（ＩＯＴ）２６を駆動する印刷データ２４を生成する画像処理システム２２に供給される。
【００２３】
画像処理システム２２は、この技術において一般的にプリント・ドライバと呼ばれているものを備えてよい。画像処理システム２２は、デジタル・フロント・エンドまたはＩＯＴ２６を駆動する類似したコントローラも備えてよい。画像処理システム２２は、ハードウェア及び／またはソフトウェアで実現されてよく、イメージ・ソース１２の中、プリンタ２６の中、別個の構成要素の中、あるいはその任意の組み合わせにあってよい。イメージ・データ及び／またはプリンタ制御信号を備えてよいプリント・データ２４に対応して、プリンタ２６は適切な媒体（例えば、プリンタまたはディスプレイ）で出力画像を生成する。
【００２４】
図２は、連続階調画像をマルチ・レベル画像に変換するための方法の実施形態を示している。本説明においては、連続階調画像は、各々が所与の光学濃度またはグレイ・レベルのセットの中の単一のグレイ・レベルまたは光学濃度で定義されるｎ個のピクセルを各々の走査線が含むｍ個の走査線のアレイに配列されるピクセルのセットと見なすことができる。各ピクセルは、ｈ＞２である「ｈ」個の使用可能な出力レベルの新しいより小さなセットという形で各ピクセルを定義し直すために後述される方法で処理することができる。説明の目的のため、連続階調画像内の各ピクセルは、２５５というグレイ・レベルが１００％の濃度に相当し、０というグレイ・レベルが０％の濃度に相当する２５５のグレイ・レベルの一つと見なすことができる。連続階調画像は異なる数のレベルを用いることができ、この方法では、２５５のグレイ・レベルに限定されず、本方法が０というグレイ・レベルが１００％という濃度に相当する一方で、２５５というグレイ・レベルが０％という濃度に相当する用途に容易に適応可能であることが理解されるべきである。
【００２５】
図２に例示されている方法では、連続階調画像から現在のピクセルのグレイ・レベルをリトリーブすることから開始する。現在のピクセルのグレイ・レベルに基づいてグレイ・レベル間隔が識別され、レベル閾値とスケーリングされた閾値との合計を備える基準閾値が取得される。修正されたグレイ・レベルは、現在のピクセルに対して拡散された誤差を現在のピクセルのグレイ・レベルに加算することにより取得される。修正されたグレイ・レベルは、現在のピクセルの出力レベルを取得するために基準閾値と比較される。本方法は現在のピクセルのためにグレイ・レベル間隔を定める２つの大きい方のグレイ・レベルの一方に一致する出力レベルを選択する。さらに詳細には、修正されたグレイ・レベルが基準閾値より大きい場合には、該２つのグレイ・レベルに一致する出力レベルが選択され、ワームが出現する可能性のあるグレイ・レベル範囲内に入力グレイ・レベルがある場合には、スタンプ関数が閾値のアレイに付加される。また本方法は現在のピクセルのグレイ・レベルと出力レベルのグレイ・レベルとの差異を誤差値として取得する。以後、分散されたあるいは拡散された誤差は、任意の周知の誤差分散プロセスを使用して誤差値から計算される。
【００２６】
バイナリ誤差拡散演算においては、入力グレイ・レベルは、初期の閾値と閾値のアレイから選択された現在のピクセルに一致する閾値との合計を備える基準信号と比較される。閾値のアレイは２つのグレイ・レベルの間の間隔とは無関係である。したがって、２つの異なるグレイ・レベルの間にある以後の点が処理されるとき、閾値アレイは、２つのレベルのレベル間隔にスケーリングするか、または閾値アレイに一貫するレベルに入力をスケーリングするか、のいずれかによって依然として使用できる。入力グレイ・レベルが基準信号より大きいとき、ピクセルを印刷する場合に相当する出力状態が選択され、閾値のアレイは入力グレイ・レベル及び／または出力レベルにより指定される関数で修正される。ワームを低減するために使用できるスタンプ関数は、このような閾値関数の一つの例である。
【００２７】
マルチ・レベル誤差拡散において、修正されたグレイ・レベルは、スタンプ関数などのあらゆる加算された関数により修正される、レベル閾値と閾値のアレイからスケーリングされた閾値との合計を備える基準閾値と比較される。しかしながら、任意のグレイ・レベル間隔にしたがって任意の出力レベル（出力状態）とレベル間隔とに有効なマルチ・レベル誤差拡散演算を考えるとき、閾値アレイは大きなレベル間隔を有する出力レベルと小さなレベル間隔で分離される出力レベルとの両方に有効でなければならない。同様に、その関数は大きい方のレベル間隔とともに小さい方のレベル間隔にも適用できなければならない。さらに、閾値アレイと関数との両方とも有効でなければならず、そこではレベル間隔は閾値アレイまたはスタンプ関数の現在値よりはるかに小さい。
【００２８】
任意の出力レベル及びレベル間隔のこのような関数をマルチ・レベル誤差拡散に拡張するために、図２の実施形態はレベル間隔に関してスケーリングされる閾値と関数とを使用する。閾値Ｔと、所定ののレベルとレベル間隔にスケーリングされる、例えば、スタンプ関数Ｓのセットと共通のアレイが使用できる。すなわち、閾値Ｔとスタンプ関数Ｓのアレイはバイナリ誤差拡散で使用される閾値とスタンプ関数のそれらのアレイと同じであるか、あるいは類似する。しかしながら、本方法は閾値とスタンプ関数をレベル間隔に対してスケーリングする。図２の方法では、現在のレベル間隔は現在のピクセルの入力グレイ・レベルに基づき決定される。しかしながら、現在のレベル間隔が修正されたグレイ・レベルなどの他の値に基づいて決定できることが理解されなければならない。さらに、現在のレベル間隔は分散または拡散された誤差の一部を加算することで調整されるグレイ・レベルなどの他のグレイ・レベルに基づいて決定できる。
【００２９】
ステップ４０では、ピクセルは連続階調画像を備えるピクセルのセットからリトリーブされる。連続階調画像はピクセルのアレイを備え、ステップ４０は走査線ｍと列ｎ、つまりｉ（ｍ，ｎ）からピクセルのグレイ・レベルをリトリーブする。ピクセルは、例えば、ラスタ・パターンまたは曲がりくねったパターンで順次リトリーブされてよい。しかしながら、ピクセルは任意の順序でリトリーブ可能であり、前述したパターンに限られる必要はない。
【００３０】
現在のピクセルのグレイ・レベルｉ（ｍ，ｎ）を取得すると、現在のグレイ・レベル間隔が識別され、レベル閾値および閾値アレイから選択される閾値の合計である基準閾値が取得される（ステップ４２）。詳細には、ある特定の入力グレイ・レベルｉ（ｍ，ｎ）はグレイ・レベルＬSおよびＬBによって制限されるグレイ・レベルの範囲内にある。すなわち、ＬS＜ｉ（ｍ，ｎ）≦ＬBである。ＬSおよびＬBが入力グレイ・レベルｉ（ｍ，ｎ）を制限する２つのグレイ・レベルの内、小さい方のＬSおよび大きい方のＬBを識別し、制限するグレイ・レベルの各々は所与の出力状態（出力レベル）に相当する。さらに、ＬSおよびＬBの差異は現在のピクセルのグレイ・レベル間隔を定める。詳細には、グレイ・レベル間隔はＬSおよびＬBによって定められる範囲内の異なるグレイ・レベルの数を識別する。したがって、関連したグレイ・レベルを有するある特定の入力ピクセルについて、２つの制限するグレイ・レベルＬSおよびＬBが存在し、ＬSおよびＬBは所与の出力状態に相当し、該入力ピクセルについてのグレイ・レベル間隔を識別する制限された範囲を定める。
【００３１】
レベルＬSとＬBにより定められる現在のグレイ・レベル間隔を考慮すると、ベースあるいはそのグレイ・レベル間隔の開始閾値を提供するレベル閾値Ｔ0を定義できる。グレイ・レベル間隔の各々のレベル閾値はあらかじめ定義し、一つまたは複数のアレイに記憶できる。さらに、レベル閾値Ｔ0は定義された関係性に従い任意のレベルＬSとＬBについて生成できる。入力グレイ・レベルに基づいたレベル閾値を定義する一般的な関係の例は、Ｔ0＝ＬS＋（ＬB−ＬS）／２である。そこではＬSとＬBが現在の入力ピクセル・グレイ・レベルｉ（ｍ，ｎ）のための出力レベルとレベル間隔を定義する。理解されなければならないように、レベル閾値の別のセット及び定義された関係が各々の色分解に使用できる、及び／または異なる画像タイプの場合には定義することもできる。
【００３２】
例示されている方法では、レベル間隔に対して共通のサイズに閾値をスケーリングすることにより、任意の出力レベルとレベル間隔のマルチ・レベル誤差拡散のバイナリ誤差のために使用される閾値のアレイと同じであるか、あるいは類似する閾値Ｔの一般的なアレイを利用できる。閾値は閾値アレイＴ（ｌ）に記憶することができ、ｌは走査線に沿ったピクセル・インデックスである。さらに、異なる閾値アレイＴが各々の色分解に、及び／または異なる画像タイプに使用されてよいことが理解されるべきである。任意のレベルＬSとＬBを考慮すると、現在のピクセルの閾値Ｔ（ｌ）は、式（１）に従い、任意のレベルの間隔のための共通サイズにスケーリングできる。
【００３３】
【数３】
0004783566.tif 000002
【００３４】
ここでは、Ｔ（ｌ）は現在のピクセルの閾値であり、ＬSとＬBは現在のピクセルのグレイ・レベルｉ（ｍ，ｎ）を考慮するとグレイ・レベルとレベル間隔であり、ｃは連続階調画像内の使用可能なグレイ・レベルの数（グレイ・レベル間隔）である（この例ではｃ＝２５５）。レベル閾値Ｔ0を識別し、閾値Ｔ*（ｌ）をスケーリングすると、Ｔ0とＴ*（ｌ）の合計、つまりＴR＝Ｔ0＋Ｔ*（ｌ）として基準閾値ＴRを確立することができる。
【００３５】
ステップ４４では、先の閾値処理及び拡散処理の結果として現在のピクセルに拡散される総分散誤差ｅ（ｍ，ｎ）が、修正ピクセル・グレイ・レベルｉ’（ｍ，ｎ）を取得するために現在のピクセルｉ（ｍ，ｎ）のグレイ・レベルに加算される。ステップ４６では、本方法が出力レベルを取得するために、現在のピクセルの修正グレイ・レベルｉ’（ｍ，ｎ）を基準閾値ＴRと比較する。修正グレイ・レベルｉ’（ｍ，ｎ）が基準閾値ＴR未満である場合、出力レベル（出力状態）はステップ４８でＬSに相当する値に設定される。修正グレイ・レベルｉ’（ｍ，ｎ）が基準閾値ＴRを上回る場合には、例示されている方法では出力レベルをＬBに相当する値に設定する（ステップ５０）。
【００３６】
例示される方法において、出力レベル（出力状態）が修正グレイ・レベルに関わりなくＬSまたはＬBに一致するように制限されることが理解されるべきである。前述したように、例示される方法においては、制限するグレイ・レベルＬSとＬBは、現在のピクセルの入力グレイ・レベルｉ（ｍ，ｎ）を使用して決定される。しかしながら、前述したように、制限するグレイ・レベルが修正されたグレイ・レベルｉ’（ｍ，ｎ）または調整されたグレイ・レベルｉ*（ｍ，ｎ）から決定できることも理解されなければならない。制限するグレイ・レベルＬSまたはＬBを設定するために、入力グレイ・レベルが使用されるのか、修正グレイ・レベルが使用されるのか、あるいは調整グレイ・レベルが使用されるのかに関する判断は、例えば、（エッジ・エンハンスメント、アンチエイリアシング、エッジ・スムージングなどの）採用される他の画像処理、（ハーフトーン、グラフィック、テキストなどの）画像タイプ、（液体インクまたは電子写真などの）出力装置タイプ等を含む多くの要因により影響を及ぼされる可能性がある。一般的には、総合的に所望される出力品質を提供する、制限するグレイ・レベルが使用される。総合的に所望される出力品質は、ある特定の出力装置と画像処理のオプションとともに、入力グレイ・レベルまたは修正グレイ・レベルにより設定される制限レベルを使用して出力画像を生成することにより分析できる。
【００３７】
修正グレイ・レベルｉ’（ｍ，ｎ）が基準閾値ＴRを上回り、入力グレイ・レベルｉ（ｍ，ｎ）が、ワームが出現する可能性のあるグレイ・レベル範囲内にあるとき、例示される方法では、ステップ５２でグレイ・レベル間隔に対する現在のグレイ・レベルのサイズに基づいたスタンプ関数Ｓ（ｘ）で閾値Ｔのアレイを増分する。ＬSとＬBにより定義される任意のグレイ・レベル間隔に適用できるスタンプ関数Ｓのセットは、グレイ・レベル間隔に対する入力グレイ・レベルの関係に基づきセットを定義することにより取得される。したがって、バイナリ・ケースでは、スタンプ関数が通常入力グレイ・レベルの関数である場合、例示されている方法では以下の式（２）に従うことにより、グレイ・レベル間隔に対する入力グレイ・レベルの関係に基づいて選択されるスタンプ関数Ｓ（ｘ）を利用する。
【００３８】
【数４】
0004783566.tif 000003
【００３９】
ｉ（ｍ，ｎ）は現在のピクセルのグレイ・レベルであり、ＬSとＬBは現在のピクセルのグレイ・レベルにより定義される出力レベルであり、ｃは連続階調モードでのグレイ・レベル数である。
【００４０】
ステップ５４では、例示されている方法において、現在のピクセルに関連した量子化誤差を画像内の隣接するピクセルの選択されたグループに拡散する。隣接するピクセルは現在のピクセルに直接的に隣接するピクセルに制限されず、他のピクセルも含むことがある。量子化誤差の決定及び分散は、使用可能な共通誤差拡散技法を使用して達成できる。このような誤差拡散技法は、通常、現在のピクセルｉ（ｍ，ｎ）のグレイ・レベルと出力レベル（出力状態）に対応するグレイ・レベルの間の差異に基づいて量子化誤差を取得する。本技法は、通常、隣接するピクセルの選択されたグループの各々に量子化誤差の加重された断片部分を分散する。加重された係数だけではなく加重された誤差も受け取る隣接するピクセルのグループは一定のままであってもよいし、動的に変更されてもよい。
【００４１】
現在の走査線の中のｎ個のピクセルが処理された後、且つ次の走査線の処理を開始する前に、例示されている方法ではステップ５６で閾値アレイの中の値をリセットする。あるひとつの実施形態においては、本方法は閾値アレイの中の値を現在の走査線の閾値の加重された関数または減衰された関数としてリセットする。この加重または減衰は、スタンプ関数の影響が多くの走査線上で失われ／減衰されるように低速走査方向でスタンプの範囲を制限するだけではなく、閾値が大きくなり過ぎることも防ぐように作られている。すなわち、次の走査線の閾値はＴ（ｌ）＝Ｔ（ｌ）＊Ｗに従いリセットされ、この場合Ｗは、通常１未満であるか、あるいは１に等しい（０≦Ｗ≦１）加重値または減衰値である。初期値の定義されたセットに閾値をリセットするなどの閾値アレイのリセットの代替策が存在する。
【００４２】
ここで図３を見ると、任意のレベルと任意のレベル間隔を有するマルチ・レベル誤差拡散演算において閾値関数を実現するための処理回路の実施形態のデータフローが示されている。画像プロセッサ６０は、デジタル・イメージ・データ２０を処理されたイメージ・データ６２に処理するために多数の周知の画像処理演算のいずれかを利用する。例えば、画像プロセッサ６０はＰＤＬファイルまたは他の画像フォーマット情報を分解し、このような情報に従いイメージ・データを処理するために動作してよい。イメージ・プロセッサ６０は一つまたは複数の色分解という形でイメージ・データ６２を提供し、分解の各々は「ｍ」行及び「ｎ」列に配列される複数のピクセルのピクセル・データを含む。イメージ・データの各ピクセル・ロケーション（ｍ，ｎ）でのグレイ・レベルは、８ビットで定義される（すなわち、ｃ＝２５５）。しかしながら、ピクセルのグレイ・レベルが任意の数のビット／ピクセルで定義できることが理解される。
【００４３】
イメージ・データ６２は、メモリ回路６４に供給される。メモリ回路６４は画像バッファと、処理のために回路の残り部分にピクセル単位でイメージ・データ（グレイ・レベル）を導入するために該画像バッファをアドレス指定するために動作するメモリ・コントローラを含む。回路に導入される入力ピクセルのグレイ・レベルｉ（ｍ，ｎ）は閾値ジェネレータ６６及び誤差プロパゲータ６８に供給される。誤差プロパゲータ６８は、先の閾値処理と拡散処理の結果として、入力グレイ・レベルｉ（ｍ，ｎ）と、行ｍと列ｎでのピクセルの上に拡散される誤差ｅ（ｍ，ｎ）の合計として修正されたグレイ・レベルｉ’（ｍ，ｎ）を生成する。修正されたグレイ・レベルｉ’（ｍ，ｎ）は閾値コンパレータ７０に供給される。
【００４４】
閾値ジェネレータ６６は、入力グレイ・レベルｉ（ｍ，ｎ）を受け取り、閾値コンパレータ７０に供給される基準閾値ＴRを生成する。さらに詳細には、閾値ジェネレータ６６は、入力グレイ・レベルｉ（ｍ，ｎ）に対応する上限グレイ・レベルと下限グレイ・レベルＬSとＬBにより定義されるグレイ・レベル間隔を決定するために動作する。制限レベルＬSとＬBは制限レベルに対応する出力レベルを識別する出力レジスタ７４に供給される。グレイ・レベル間隔を定義するグレイ・レベルＬSとＬBを識別した後、閾値ジェネレータ６６はグレイ・レベル間隔のためのレベル閾値Ｔ0を取得し、メモリ７２内に維持される閾値のアレイから入力ピクセルの閾値Ｔ（ｌ）をリトリーブする。閾値Ｔ（ｌ）はレベル間隔に対してスケーリングされ、閾値はレベル閾値Ｔ0に加算され、基準閾値ＴRを確立する。
【００４５】
閾値コンパレータ７０は修正されたグレイ・レベルｉ’（ｍ，ｎ）を基準閾値ＴRと比較し、画像出力端末に送信される適切な出力レベル（出力状態）を決定する。さらに詳細には、修正グレイ・レベルｉ’（ｍ，ｎ）と基準閾値ＴRの比較に基づき、閾値コンパレータ７０は出力レジスタ７４に供給される選択信号を発生させる。選択信号に応えて、出力レジスタ７４はＩＯＴに対して入力ピクセルの適切な出力レベルを有する出力信号を提供する。
【００４６】
出力信号は、誤差生成回路７６と閾値修正回路７８にも提供される。誤差生成回路７６は入力ピクセル値のグレイ・レベルと出力信号のグレイ・レベルの差異を示す誤差を生成する。この誤差測定に基づき、回路７６は、誤差重み係数のセットに従い未処理の隣接するピクセルの選択されたグループに誤差を再分散、または拡散する。出力信号がＬBに一致すると、閾値修正回路７８がメモリ７２内の閾値アレイにスタンプ関数を適用する。該閾値修正回路７８は、ＬSとＬBによって定義されるグレイ・レベル間隔に対する入力ピクセルのグレイ・レベルの関係に基づいて選択されるスタンプ関数Ｓ（ｘ）を適用する。
【００４７】
前述された実施形態においては、入力ピクセルとスタンプ関数Ｓ（ｘ）の閾値Ｔ（ｌ）は、下限レベルと上限レベルＬSとＬBにより定義される入力ピクセルのグレイ・レベル間隔にスケーリングされた。しかしながら、マルチ・レベル誤差拡散は、グレイ・レベル間隔に基づき、共通レベル間隔に入力ピクセルｉ’（ｍ，ｎ）のための修正グレイ・レベルをスケーリングすることによっても動作できる。図４は、任意のレベルと任意のレベル間隔を有するマルチ・レベル誤差拡散演算において閾値関数を実現するためのシステムの実施形態のデータフローを描く。
【００４８】
図４の実施形態では、画像データはシステムにピクセル単位で供給される。回路に導入される入力ピクセルのグレイ・レベルｉ（ｍ，ｎ）は誤差プロパゲータ８０とグレイ・レベル間隔回路８２に供給される。先の閾値処理と拡散処理の結果として、誤差プロパゲータ８０は、入力グレイ・レベルｉ（ｍ，ｎ）と、行ｍと列ｎでのピクセルに拡散される分散誤差ｅ（ｍ，ｎ）の合計として修正グレイ・レベルｉ’（ｍ，ｎ）を生成する。修正グレイ・レベルｉ’（ｍ，ｎ）はスケーリング回路８４に供給される。
【００４９】
グレイ・レベル間隔回路８２は、入力グレイ・レベルｉ（ｍ，ｎ）に基づきグレイ・レベル間隔を決定するために動作する。グレイ・レベル間隔は、各々が可能な出力状態に対応し、任意のピクセルが存するグレイ・レベル間隔を識別する制限範囲を定める上限グレイ・レベルと下限グレイ・レベルＬSとＬBによって定義される。前述したように、グレイ・レベル間隔は他のグレイ・レベルにより定義できる。例えば、誤差プロパゲータ８０に加えてグレイ・レベル間隔回路８２に、分散誤差ｅ（ｍ，ｎ）を供給することにより、グレイ・レベル間隔回路８２は、修正グレイ・レベル（入力グレイ・レベルと拡散誤差）または調整グレイ・レベル（入力グレイ・レベルと拡散誤差の一部）に基づき上限グレイ・レベルと下限グレイ・レベルを識別できる。
【００５０】
制限グレイ・レベルＬSとＬBはスケーリング回路８４に供給される。スケーリング回路は、入力ピクセルのための修正グレイ・レベルｉ’（ｍ，ｎ）をグレイ・レベル間隔に対して一般的なレベル間隔にスケーリングするために動作する。すなわち、レベル・スケーリング回路は入力ピクセルのためのグレイ・レベル間隔を定義する制限レベルＬSとＬBを受け取り、式（３）に従い、グレイ・レベル間隔に対して共通の間隔に修正グレイ・レベルをスケーリングする。
【００５１】
【数５】
0004783566.tif 000004
【００５２】
ＬSとＬBはグレイ・レベル・スケーリングを定義する制限グレイ・レベルであり、ｉ’（ｍ，ｎ）は修正グレイ・レベルであり、ｃは共通レベル間隔における使用可能なグレイ・レベル（グレイ・レベル間隔）の数である。
【００５３】
スケーリングされたグレイ・レベルｉ*は閾値コンパレータ８６に供給される。閾値コンパレータ８６は、スケーリングされたグレイ・レベルｉ*をメモリからリトリーブされる閾値と比較し、出力を決定する。閾値コンパレータ８６は従来の閾値処理を採用できる。さらに入力レベルはレベル間隔と同じ共通間隔にスケーリングされるため、同じ閾値または閾値のセットを任意の入力に適用できる。すなわち、閾値はレベル間隔に無関係に計算される。ある実施形態においては、スケーリングされたグレイ・レベルｉ*は、ベース閾値と入力ピクセルのための閾値Ｔ（ｌ）の合計を備える基準閾値と比較され、この場合ｌは走査線に沿ったピクセル・インデックスである。メモリ８８はバイナリ誤差拡散で使用される閾値のアレイと同じ値または類似した値を備えることが可能な閾値Ｔのアレイを保存する。さらに、別の閾値アレイＴは色分解及び／または異なる画像タイプの各々に使用されてよい。閾値Ｔ（ｌ）を取得するためには、閾値を選択または求めるための既知の方法が使用できる。
【００５４】
比較に基づき、閾値コンパレータ８６は、画像出力端末に送信される適切な出力レベル（出力状態）を決定する。さらに詳細には、スケーリングされたグレイ・レベルｉ*が閾値Ｔ（ｌ）未満である場合は、出力レベルはＬSのグレイ・レベルに一致する値に設定される。スケーリングされるグレイ・レベルｉ*が閾値Ｔ（ｌ）を上回る場合には、出力レベルはＬBに一致する値に設定される。
【００５５】
閾値コンパレータ８６により生成される出力レベルは誤差生成回路９０と閾値修正回路９２に提供される。誤差生成回路９０は入力ピクセル値のグレイ・レベルと出力レベルのグレイ・レベルの差異を示す誤差を生成する。この誤差測定に基づいて、回路９０は、誤差重み係数のセットに従い、画像内の未処理隣接ピクセルの選択されたグループに誤差を再分散、あるいは拡散する。出力レベルがＬBに一致すると、閾値修正回路９２はメモリ８８内の閾値アレイにスタンプ関数を適用する。さらに詳細には、閾値修正回路９２は、共通レベル間隔に対してスケーリングされたグレイ・レベルの関係に基づき選択されるスタンプ関数Ｓ（ｉ*）を適用する。スタンプ関数Ｓのセットは、バイナリ誤差拡散に使用されるスタンプ関数と同じであるか、あるいは類似する場合がある。
【００５６】
前記説明は、出力レベルが上限ＬBに一致し、入力レベルが強調表示領域に一致するときに閾値アレイにスタンプ関数を適用することによりワームを低減または排除することを重点的に扱ってきたが、前記技法は濃い領域または斜線領域内のワーム・ホールにも等しくよく作用する。前述したように、ワーム・ホールは斜線領域内で白色または薄灰色のコンテンツの曲線状または直線状の対角線のパターンとして出現する。マルチ・レベル・ケースでは、これらのパターンは下限ＬSに一致する値に設定される出力レベルに一致する。したがって、出力レベルが下限ＬSに一致する値に設定され、入力グレイ・レベルが陰に相当するグレイ・レベル範囲内にある場合には、スタンプ関数が閾値アレイに適用される。ホールの発生を排除または低減するために、スタンプ関数は出力を抑圧するのではなくむしろ出力の生成を奨励するように作られている。このようにしてスタンプ関数はホール近くの領域内の閾値を引き下げるために動作する。理解されるように、これは、負の値を有するスタンプ関数を加算するか、あるいはスタンプ関数を差し引くことによって達成できる。
【００５７】
図５は、セミ・ベクタ量子化を用いたマルチ・レベル誤差拡散のための演算を含む画像処理システムの実施形態におけるデータフローを描くブロック図を示す。セミ・ベクタ量子化を用いるマルチ・レベル誤差拡散は、任意のグレイ・レベルと任意のグレイ・レベル間隔に適用できる。他の画像処理演算が画像処理システム内で実施されてもよく、本説明はマルチ・レベル出力を用いる色相関誤差拡散またはベクタ誤差拡散を目的とするそれらの態様を含む。この説明について、用語ベクタは、色平面のいくつかまたはすべてが処理時に他の色平面の出力に依存する色誤差拡散アルゴリズムを指す。
【００５８】
図５においては、デジタル・イメージ・データ２０は、デジタル・イメージ・データ２０を処理されたイメージ・データ１０２に処理するために、多数の周知の画像処理演算のいずれかを利用する画像プロセッサ１００で受け取られる。考察として、画像プロセッサ１００は、分解の各々が「ｍ」本の走査線と走査線あたり「ｎ」個のピクセルで配列される複数のピクセルのためのピクセル・データを含む、複数の色分解（例えば、ＣＭＹ）の形でイメージ・データ１０２を提供する。ピクセルのグレイ・レベルが任意の数のビット／ピクセルにより定義でき、各分解が同じ数のグレイ・レベルを有することが必要とされないということが理解できる。
【００５９】
連続階調イメージ・データ１０２は拡散プロセッサ１０４に供給される。さらに詳細には、イメージ・データ１０２を備える分解のうちの２つに相当するイメージ・データ１０６はベクタ誤差拡散サブ・プロセッサ１２０に供給され、残りの分解に相当するイメージ・データ１０８は量子化サブ・プロセッサ１１０に供給される。出力画像で知覚ノイズを最小に抑えるために、これにより色成分が別々に処理できる理由から、量子化が知覚的に直交した色空間において実行されなければならないことが知られている。さらに、より優れた品質及びよりノイズが少ないカラー・イメージを生成するために、明度成分は、彩度成分とは異なって処理されなければならない。したがって、最も濃い色成分の量子化が互いに調整され、最も明るい色成分（複数の場合がある）が別個に処理されるとき、カラー・イメージに対する視覚的な影響を最小に抑えることができる。本例はＣＭＹ色成分を使用する。しかしながら、実質的に直交した成分を有する色空間が使用されてよい。ＣＭＹ色成分を使用するとき、イエローは最も明るい色であり、さらに濃いシアンまたはマゼンタの成分とは関係なく処理される。すなわち、知覚ノイズがさらに低い画像を提供するために、シアンとマゼンタの分解におけるイメージ・データはサブ・プロセッサ１２０内でともに処理され、イエローの分解はサブ・プロセッサ１１０内で独立して処理される。
【００６０】
画像データはピクセル単位で供給されてよく、ピクセルは連続的にラスタ・パターンで、あるいは連続的に曲がりくねったパターンで供給される。しかしながら、ピクセルが任意の順序で供給でき、順次に供給される、あるいは前述されたパターンで供給されることに制限されないことが理解されるべきである。サブ・プロセッサ１１０とサブ・プロセッサ１２０に送信される分解は、さらに濃い色成分の量子化が調整できるように選択されてよい。
【００６１】
サブ・プロセッサ１２０では、例えば、シアンの分解とマゼンタの分解（Ｃ（ｍ，ｎ）とＭ（ｍ，ｎ））の入力ピクセルのグレイ・レベルを備える画像データ１０６がグレイ・レベル間隔回路１２２、及び誤差伝搬回路１２４で受け取られる。シアン分解とマゼンタ分解のための入力ピクセルのグレイ・レベルＣ（ｍ，ｎ）とＭ（ｍ，ｎ）に加えて、誤差伝搬回路１２４は各々過去に処理されたシアンとマゼンタの分解のために分散誤差ＥC（ｍ，ｎ）とＥM（ｍ，ｎ）も受け取る。伝搬回路１２４は、分散誤差ＥC（ｍ，ｎ）とＥM（ｍ，ｎ）を、イメージ・データ１０６として受け取られる入力グレイ・レベルＣ（ｍ，ｎ）とＭ（ｍ，ｎ）に追加し、レベル・スケーリング回路１２６に供給される修正グレイ・レベルＣ’（ｍ，ｎ）とＭ’（ｍ，ｎ）を取得する。
【００６２】
グレイ・レベル間隔回路１２２は、入力ピクセルごとに、入力グレイ・レベルを制限する特定の分解のための、所与の出力状態（出力レベル）に対応する制限グレイ・レベルＬSとＬBを識別する。分解ごとの制限グレイ・レベルはレベル・スケーリング回路１２６及びベクタ量子化回路１２８に供給される。前述したように、グレイ・レベル間隔は入力グレイ・レベルで定義される必要はない。例えば、分散誤差ＥC（ｍ，ｎ）とＥM（ｍ，ｎ）を（誤差伝搬回路１２４に加えて）グレイ・レベル間隔回路１２２に供給するためにサブ・プロセッサ１２０を修正することによって、グレイ・レベル間隔を修正グレイ・レベル（入力グレイ・レベルと拡散誤差）及び調整グレイ・レベル（入力グレイ・レベルと拡散誤差の一部）に基づかせることができる。
【００６３】
レベル・スケーリング回路１２６は、制限グレイ・レベルと修正グレイ・レベルＣ’（ｍ，ｎ）とＭ’（ｍ，ｎ）を受け取り、シアンとマゼンタの分解のためにスケーリングされたグレイ・レベルＣadjとＭadjを取得するためにレベル間隔に対して修正グレイ値をスケーリングする。スケーリングされたレベルＣadjとＭadjはベクタ量子化回路１２８に供給される。ベクタ量子化回路１２８は各々のスケーリングされたグレイ・レベルＣadjとＭadjを受け取り、スケーリングされたグレイ・レベルの合計に基づきシアンとマゼンタの分解ピクセルのためのマルチ・レベル出力値ＯC（ｍ，ｎ）とＯM（ｍ，ｎ）を備える出力信号１３０を導き出す。出力信号１３０は、シアン分解ピクセルとマゼンタ分解ピクセルのためのマルチ・レベル出力値に基づき、適切な媒体上でシアン及び／またはマゼンタを印刷または表示するために画像出力端末を作動させるために使用できる。オプションとして、出力信号１３０はさらに誤差生成回路１３２に供給される。
【００６４】
誤差生成回路１３２は、シアン分解ピクセルとマゼンタ分解ピクセルのための入力ピクセル値のグレイ・レベルとマルチ・レベル出力値のグレイ・レベルの差異を示す誤差を生成する。この誤差測定に基づき、回路１３２は誤差重み係数のセットに従ってイメージ・データ１０６内の未処理入力ピクセルに選択されたグループに対し誤差を再分配、または拡散する。
【００６５】
サブ・プロセッサ１２０の演算を例示的な例によって示すことができる。シアン分解とマゼンタ分解におけるピクセルの入力グレイ・レベルＣ（ｍ，ｎ）とＭ（ｍ，ｎ）を備えるイメージ・データ１０６が、各々グレイ・レベル間隔回路１２２と誤差拡散回路１２４で受け取られる。グレイ・レベル間隔回路１２２はシアン分解のための所与の出力状態（出力レベル）の２つに相当し、入力グレイ・レベルＣ（ｍ，ｎ）を制限する制限グレイ・レベルＬS（Ｃ）とＬB（Ｃ）を識別する。同様に、回路１２２はマゼンタ分解のための所与の出力状態（出力レベル）の２つに対応し、入力グレイ・レベルＭ（ｍ，ｎ）を制限する制限グレイ・レベルＬS（Ｍ）とＬB（Ｍ）を識別する。
【００６６】
誤差伝搬回路１２４は、入力グレイ・レベルＣ（ｍ，ｎ）とＭ（ｍ、ｎ）に分散誤差ＥC（ｍ，ｎ）とＥM（ｍ，ｎ）を加算することにより、修正グレイ・レベルＣ’（ｍ，ｎ）とＭ’（ｍ，ｎ）を生成する。すなわち、Ｃ’（ｍ，ｎ）＝Ｅｃ（ｍ，ｎ）＋Ｃ（ｍ，ｎ）及びＭ’（ｍ，ｎ）＝ＥM（ｍ，ｎ）＋Ｍ（ｍ，ｎ）である。レベル・スケーリング回路１２６は、制限グレイ・レベルと修正グレイ・レベルＣ’（ｍ，ｎ）とＭ’（ｍ，ｎ）を受け取り、レベル間隔に対して修正グレイ・レベルをスケーリングし、スケーリングされたレベルを取得する。グレイ・レベル値は所与の出力レベルに関して考慮されなければならないため、バイ・レベル・ベクタ誤差拡散においてのようにグレイ・レベルＣ（ｍ，ｎ）とＭ（ｍ，ｎ）（またはＣ’（ｍ，ｎ）とＭ’（ｍ，ｎ））を直接的に使用すると、予測不可能な動作及び／または望ましくない出力が生じることがある。両方の分解とも類似した出力レベル間隔（グレイ・レベル間隔）を有する場合、（Ｃ（ｍ，ｎ）−ＬS（Ｃ））と（Ｍ（ｍ，ｎ）−ＬS（Ｍ））に従った関係でグレイ・レベルを調整するが、より大きな間隔の分解が計算を支配する傾向にあるため、分解が異なる出力レベル間隔にある場合には、このようなスケーリングは望ましくない出力を引き起こすであろう。
【００６７】
例示的な実施形態は、それらの各々のグレイ・レベル間隔に対して共通のレベル間隔にシアン分解とマゼンタ分解のためのグレイ・レベルをスケーリングする。すなわち、レベル・スケーリング回路はシアン分解のために修正グレイ・レベルＣ’（ｍ，ｎ）のグレイ・レベルＬS（Ｃ）とＬB（Ｃ）を受け取る。制限レベルＬｓ（Ｃ）とＬB（Ｃ）は、シアン分解のために所与の２つの出力機能（出力レベル）に相当している。制限グレイ・レベルＬS（Ｃ）とＬB（Ｃ）がシアン入力ピクセルのためのグレイ・レベル間隔を定義するので、修正グレイ・レベルは、式（４）に従ってシアン・ピクセルのグレイ・レベル間隔に対して共通間隔にスケーリングできる。
【００６８】
【数６】
0004783566.tif 000005
【００６９】
ＬS（Ｃ）とＬB（Ｃ）は、共通レベル間隔におけるグレイ・レベル間隔を定義する制限グレイ・レベルであり、Ｃ’（ｍ，ｎ）は修正グレイ・レベルであり、ｃは使用可能なグレイ・レベル（グレイ・レベル間隔）の数である。同様に、グレイ・レベル回路１２２から取得される制限グレイ・レベルＬS（Ｍ）とＬB（Ｍ）を考慮すると、修正グレイ・レベルは、式（５）に従い、マゼンタ入力ピクセルのグレイ・レベル間隔に対して共通間隔にスケーリングできる。
【００７０】
【数７】
0004783566.tif 000006
【００７１】
ＬS（Ｍ）とＬB（Ｍ）はマゼンタ入力ピクセルの制限グレイ・レベルであり、Ｍ’（ｍ，ｎ）は修正グレイ・レベルであり、ｄは共通レベル空間のグレイ・レベル間隔（使用可能なグレイ・レベルの数）である。
【００７２】
スケーリングされたグレイ・レベルＣadjとＭadjは、マルチ・レベル出力値ＯC（ｍ，ｎ）とＯM（ｍ，ｎ）を備えるマルチ・レベル出力信号１３０がスケーリングされたピクセル値ＣadjとＭadjの合計に基づいて生成され、ベクタ量子化回路１２８に供給される。より詳細に説明すると、ベクタ量子化回路１２８が合計値ＣＭ（＝Ｃadj＋Ｍadj）を生成するのである。合計ＣＭによれば、マルチ・レベル出力状態ＯC（ｍ，ｎ）とＯM（ｍ，ｎ）は、式（６）〜（９）に従い決定できるであろう。
【００７３】
ＣＭ＜ａであれば、
ＯC（ｍ，ｎ）＝ＬS（Ｃ）、ＯM（ｍ，ｎ）＝ＬS（Ｍ）  （６）
ＣＭ＞ｂであれば、
ＯC（ｍ，ｎ）＝ＬB（Ｃ）、ＯM（ｍ，ｎ）＝ＬB（Ｍ）  （７）
ａ≦ＣＭ≦ｂかつＣadj＞Ｍadjであれば、
ＯC（ｍ，ｎ）＝ＬB（Ｃ）、ＯM（ｍ，ｎ）＝ＬS（Ｍ）  （８）
ａ≦ＣＭ≦ｂかつＣadj＞Ｍadjでなければ、
Ｏc（ｍ，ｎ）＝ＬS（Ｃ）、ＯM（ｍ，ｎ）＝ＬB（Ｍ）  （９）
ｄ＝２５５のときａとｂの一般的な値は各々１２８と２５５であるかもしれない。理解されるように、閾値ａとｂの別のセットを使用できる。閾値ａとｂの選択は、例えば、出力装置タイプ（例えば、液体インクまたは電子写真）、装置特性及びインクまたはトナーの特性を含む多くの要因に基づかせることができる。
【００７４】
誤差生成回路１３２は、出力レベル（出力状態）ＯC（ｍ，ｎ）とＯM（ｍ，ｎ）に対応するグレイ・レベルＣ（ｍ，ｎ）とＭ（ｍ，ｎ）の差異を示すシアン分解とマゼンタ分解のための量子化誤差値ＥＣとＥＭを生成する。誤差の決定及び分散（拡散）は、使用可能な共通の誤差分散技法を使用して達成できる。量子化誤差を決定すると、誤差生成回路１３２は、隣接するピクセルの選択されたグループの各々に分散または拡散される量子化誤差の加重された断片的な部分を生成する。
【００７５】
イエローの分解を備えるイメージ・データ１０８は、サブ・プロセッサ１１０内で独立して処理される。量子化サブ・プロセッサ１１０は、スカラー量子化、誤差拡散、またはハーフトーニングなどの従来の画像処理技法を使用して画像データ１０８内のピクセルを処理し、バイナリまたはマルチ・レベルの出力状態の形を取ることがあるイエロー分解ピクセルのための出力値ＯY（ｍ，ｎ）を備える出力信号１１２を発生させる。前述したように、イエローを独立に処理すると、それが画像に及ぼす視覚的影響を最小に抑えるという事実により、全般的に画質における影響は最小限となるであろう。前述されたマルチ・レベル誤差拡散技法は、イエロー分解ピクセルのために出力値を生成する際に使用できる。
【００７６】
前述したように、マルチ・レベル・ベクタ誤差拡散演算は、修正されたグレイ・レベルに関係なく特定の分解のためにＬSまたはＬBに対応する出力レベルを提供する。前述した実施形態においては、制限するグレイ・レベルＬSとＬBが、現在のピクセルのための入力グレイ・レベルを使用して決定される。しかしながら、制限グレイ・レベルは、入力ピクセルのための修正グレイ・レベルからも決定できることが理解されなければならない。
【図面の簡単な説明】
【００７７】
【図１】本発明の例示的な印刷システムの実施形態を示す。
【図２】スタンプ関数とともにマルチ・レベル誤差拡散を利用する、マルチ・レベル画像に連続階調画像を変換する方法の一つの実施形態における多様なステップを示すフローチャートである。
【図３】任意のレベル及び任意のレベルの間隔を有するマルチ・レベル誤差拡散におけるスタンプ関数を実現するための回路の実施形態を示す。
【図４】任意のレベル及び任意のレベルの間隔を有するマルチ・レベル誤差拡散演算においてスタンプ関数を実現するためのシステムの実施形態を示す。
【図５】セミ・ベクタ量子化を用いるマルチ・レベル誤差拡散のための演算を含む画像処理システムの実施形態を示す。
【符号の説明】
【００７８】
１０４  拡散プロセッサ
１２２  グレイ・レベル間隔回路
１２６  レベル・スケーリング回路
１２８  ベクタ量子化回路
【図１】
0004783566.tif 000009
【図２】
0004783566.tif 000010
【図３】
0004783566.tif 000011
【図４】
0004783566.tif 000012
【図５】
0004783566.tif 000013