(57)【要約】【課題】  文書に対して誤差拡散ハーフトーニングを実行することにより、向上したランレングス符号化効率をもたらすこと。【解決手段】    本発明の好ましい実施形態によれば、現ピクセルについて入力ピクセル値を出力ピクセル値に変換する装置は、入力ピクセル値に加算して拡散ピクセル値を生成する拡散誤差を生成する拡散ブロックを有する。さらに、本装置は、しきい値を生成するフィードバック変調ブロックを有する。このしきい値は、前の出力ピクセル値を使用して求められ、前の出力ピクセル値は、現ピクセルより所定数前のピクセルで生成される。さらに、本装置は、拡散ピクセル値をしきい値と比較し、その比較に基づいて出力ピクセル値を選択する量子化器を有する。   【選択図】図４
2004153816.tif 000002
【特許請求の範囲】
【請求項１】
現ピクセルについて入力ピクセル値を出力ピクセル値に変換する装置であって、
前記入力ピクセル値に加算して拡散ピクセル値を生成するための、拡散誤差を生成する拡散ブロックと、
しきい値を生成するフィードバック変調ブロックを備え、該しきい値は、前の出力ピクセル値を使用して求められ、該前の出力ピクセル値は、前記現ピクセルより所定数前のピクセルで生成され、
前記拡散ピクセル値を前記しきい値と比較し、該比較に基づいて前記出力ピクセル値を選択する量子化器と、を備える装置。
【請求項２】
前記フィードバック変調ブロックは、以下の式に従って前記しきい値を生成する構成を有し、
Ｔ［ｉ，ｊ］＝０．５−ａ（ｂ［ｉ，ｊ−８］−０．５）
ここで、Ｔ［ｉ，ｊ］は前記しきい値であり、ｂ［ｉ，ｊ−８］は前記前の出力ピクセル値であり、ａは０と１との間の選択された値である、請求項１記載の装置。
【請求項３】
前記量子化器は、以下の式に基づいて前記出力ピクセル値に対する前記値を選択する構成を有し、
~ｆ［ｉ，ｊ］≧Ｔ［ｉ，ｊ］の場合：ｂ［ｉ，ｊ］＝１
~ｆ［ｉ，ｊ］＜Ｔ［ｉ，ｊ］の場合：ｂ［ｉ，ｊ］＝０
ここで、Ｔ［ｉ，ｊ］は前記しきい値であり、ｂ［ｉ，ｊ］は前記出力ピクセル値であり、~ｆ［ｉ，ｊ］は前記拡散ピクセル値である、請求項１記載の装置。
【請求項４】
デジタル送信を実行する画像形成装置である請求項１記載の装置。
【請求項５】
スキャニングハードウェアおよび圧縮モジュールをさらに備える請求項１記載の装置。
【請求項６】
前記量子化器は、２値量子化器、マルチレベル量子化器、ベクトル量子化器、のうちのいずれか１つである請求項１記載の装置。
【請求項７】
現ピクセルについてイメージの入力ピクセル値を出力ピクセル値に変換する方法であって、
（ａ）拡散誤差を生成することと、
（ｂ）前記入力ピクセル値に該拡散誤差を加算することにより、拡散ピクセル値を生成することと、
（ｃ）前の出力ピクセル値を考慮するしきい値を生成することを含み、該前の出力ピクセル値は、前記現ピクセルより所定数前のピクセルで生成され、
（ｄ）前記拡散ピクセル値を前記しきい値と比較し、該比較に基づいて前記出力ピクセル値を選択することと、を含む方法。
【請求項８】
ピクセルの前記所定数は８である請求項７記載の方法。
【請求項９】
前記ステップ（ｃ）は、以下の式に従って前記しきい値を生成することを含み、
Ｔ［ｉ，ｊ］＝０．５−ａ（ｂ［ｉ，ｊ−８］−０．５）
ここで、Ｔ［ｉ，ｊ］は前記しきい値であり、ｂ［ｉ，ｊ−８］は前記前の出力ピクセル値であり、ａは０と１との間の選択された値である、請求項７記載の方法。
【請求項１０】
前記ステップ（ｄ）は、以下の式に基づいて前記出力ピクセル値に対する前記値を選択することを含み、  
~ｆ［ｉ，ｊ］≧Ｔ［ｉ，ｊ］の場合：ｂ［ｉ，ｊ］＝１
~ｆ［ｉ，ｊ］＜Ｔ［ｉ，ｊ］の場合：ｂ［ｉ，ｊ］＝０
ここで、Ｔ［ｉ，ｊ］は前記しきい値であり、ｂ［ｉ，ｊ］は前記出力ピクセル値であり、~ｆ［ｉ，ｊ］は前記拡散ピクセル値である、請求項７記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
デジタル送信機は、スキャン文書を取得し（たとえばスキャンすることにより）、その文書を選択されたフォーマットに変換し、フォーマット化された文書を、利用可能な通信プロトコルを使用して所望の宛先（複数可）にルーティングするように設計されたシステムである。デジタル送信機は、概して、種々の文書タイプと、種々のデータフォーマットと、種々の通信プロトコルと、をサポートする。
【０００２】
通常の文書フォーマットの例には、タグ付きイメージファイルフォーマット（tagged image file format（TIFF））、マルチページTIFF（MTIFF）、ポータブルドキュメントフォーマット（portable document format（PDF））およびジョイントピクチャエキスパートグループ（joint picture experts group（JPEG））がある。通常の通信方法の例には、コンピュータネットワークとファクシミリ伝送（ファックス）とがある。
【背景技術】
【０００３】
文書を、コンテンツに基づいて分類することができる。たとえば、テキスト文書は、通常は、白の背景上の黒のテキストを含む。テキスト文書を伝送するために使用されるフォーマットは、通常は、文字を効果的に画定するためにくっきりした（crisp）エッジを提供するように最適化される。在来型のファックスは、テキスト（白の背景上の黒のテキスト）文書を効率的に伝送するように設計されている。
【０００４】
グラフィックス文書は、通常は、カラーまたはグレイスケールイメージを含む。連続階調イメージ、たとえば連続階調カラー写真を送信するために使用されるフォーマットは、ＪＰＥＧフォーマットを使用して非常に効果的に表現することができる。
【０００５】
混合コンテンツ文書は、通常は、テキストとグラフィックデータとの組合せを含む。これらの文書は、イメージデータの伝送および格納に使用される既存のフォーマットが、白黒のテキストかまたは連続階調イメージで使用するために最適化されているため、しばしば、より特殊なソリューションを必要とする。
【０００６】
現TIFF仕様は、３つの主なタイプのイメージデータをサポートする。すなわち、白黒データ、ハーフトーン化またはディザ化データ、グレイスケールデータ、である。
【０００７】
混合コンテンツ文書を白黒（すなわち、２値）フォーマットで格納するために、ベースラインTIFFフォーマットを使用することができる。ベースラインTIFFフォーマットは、３つの２値圧縮オプションをサポートする。すなわち、PackBits、CCITT  G3およびCCITT  G4である。これらのうち、CCITT  G3およびCCITT  G4圧縮は、ファックス装置と互換性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
誤差拡散等のハーフトーニングアルゴリズムを使用して、連続階調イメージの２値表現を作成する（すなわち、２値化する）ことができる。その後、このイメージを、ファックス伝送に適するようにCCITT  G3およびCCITT  G4圧縮を使用して圧縮することができる。
【０００９】
しかしながら、CCITT  G3圧縮とCCITT  G4圧縮は、特に誤差拡散を使用してハーフトーン化されたイメージの圧縮に使用する場合、概して、ハーフトーンイメージに対する所望の圧縮率を提供しない。これは、誤差拡散が、サンプリング解像度が制限されている（たとえば、300dpi）場合にイメージの高品質２値表現を生成する方法であるので問題がある。
【００１０】
PackBits圧縮は、誤差拡散ハーフトーンを圧縮する際にCCITT  G3またはCCITT  G4圧縮より効果的なランレングス符号化アルゴリズムである。しかしながら、PackBits圧縮ファイルのサイズは、望ましいものより大きくなる可能性がある。
【課題を解決するための手段】
【００１１】
本発明の好ましい実施形態によれば、現ピクセルについて入力ピクセル値を出力ピクセル値に変換する装置は、入力ピクセル値に加算して拡散ピクセル値を生成する拡散誤差を生成する拡散ブロックを有する。さらに、本装置は、しきい値を生成するフィードバック変調ブロックを有する。このしきい値は、前の出力ピクセル値を使用して求められ、前の出力ピクセル値は、現ピクセルより所定数前のピクセルで生成される。さらに、本装置は、拡散ピクセル値をしきい値と比較し、その比較に基づいて出力ピクセル値を選択する量子化器を有する。
【発明を実施するための最良の形態】
【００１２】
図１は、装置３３の簡易ブロック図である。装置３３は、たとえば、スキャナ、ファックス装置または情報をデジタル形式で送信する何らかの他の装置等、デジタル送信機である。代替的に、装置３３は、プリンタまたはコピー機等、イメージ情報を操作するいかなる装置であってもよい。
【００１３】
装置３３は、たとえば、入力イメージ１１を生成するためにスキャンを実行するスキャニングハードウェア３４を含む。入力イメージ１１を、たとえば、情報記憶装置からのアクセスによる等、他の方法で取得することができる。また、入力イメージ１１は、たとえば、グレースケールイメージである。代替的に、入力イメージ１１は、スキャニングハードウェア３４によって生成することができるかまたは何らかの他の手段によってアクセスすることができる、カラーイメージかまたは別のタイプのイメージである。
【００１４】
２値化モジュール３５は、入力イメージ１１を２値化することによりハーフトーンイメージ２２を生成する。２値化モジュール３５を、複数の異なる方法で、たとえばプロセッサおよびファームウェアにより、ソフトウェアにより、あるいは特定用途向け集積回路（ＡＳＩＣ）内で実施することができる。
【００１５】
圧縮モジュール３６は、通信ハードウェア３７を通し通信媒体３２を介して通信宛先３１に送信するのに備えて、ハーフトーンイメージ２２に対して圧縮を実行するために使用される。たとえば、圧縮モジュール３６は、PackBits圧縮か、またはランレングス符号化を利用する他の何らかの圧縮アルゴリズムを使用する。PackBits圧縮は、単純なバイト指向ランレングス圧縮方式であり、これにより、すべての繰返されるバイトが１つまたは複数の複製ランとして符号化される。通信媒体３２は、たとえば金属線、光媒体または無線通信媒体であってもよい。
【００１６】
図２は、２値化モジュール３５の動作を示す簡易ブロック図である。２値化モジュール３５は、文書に対して誤差拡散ハーフトーニングを実行することにより、向上したランレングス符号化効率をもたらす。
【００１７】
２値化モジュール３５は、本明細書においてPackBits適合誤差拡散（PackBits adapted error diffusion（ＰＡＥＤ））と呼ぶPackBits圧縮に適合した誤差拡散を実行する。ＰＡＥＤは、PackBit圧縮かまたは他のバイト指向ランレングス圧縮方式を使用してより効率的に圧縮することができるハーフトーンを生成するように設計された、誤差拡散の変更された形態である。ＰＡＥＤは、誤差拡散ハーフトーニングの望ましい品質の多くを保存しながら、効率的な圧縮を提供する。ＰＡＥＤは、ベースラインＴＩＦＦ支援圧縮を使用して効率的に圧縮することができるテキスト・グラフィックス混合文書の２値表現を生成するように設計される。この手法は、特に、スキャンされ電子メール添付ファイルとして分配される文書に対して適している。
【００１８】
入力イメージ１１の各ピクセルに対し、セグメンテーションブロック１２は、ハーフトーンイメージ２２における対応するピクセルを生成するためにフィードバック変調誤差拡散ブロック１３か、またはFloyd Steinberg誤差拡散ブロック１４のいずれかを選択するスイッチ１５を制御する。Floyd Steinberg誤差拡散ブロック１４は、Floyd Steinberg誤差拡散技法を使用してハーフトーンピクセルを生成する。Floyd Steinberg誤差拡散は例示的なものであり、Floyd Steinberg誤差拡散の代わりにいかなる既知のタイプの誤差拡散を実行してもよい。
【００１９】
フィードバック変調誤差拡散ブロック１３は、PackBits圧縮のバイト指向ランレングス構造を利用して結果としての２値イメージにおけるバイトの繰返しを促進する、適応的誤差拡散アルゴリズムを使用する。フィードバック変調誤差拡散は、Floyd Steinberg誤差拡散とは異なる重みを有する。重みは、ビットレートと歪みの所望のトレードオフに対して調整される。さらに、両誤差拡散プロセスの結合された重みは、同様に所望の結果を達成するように設定されるパラメータによって調整される。
【００２０】
テキスト品質を維持する場合、セグメンテーションブロック１２は、Floyd Steinberg誤差拡散ブロック１４を選択して、テキスト領域として認識される入力イメージ１１のピクセルをハーフトーン化する。圧縮率を上昇させる場合、セグメンテーションブロック１２は、フィードバック変調誤差拡散ブロック１３を選択して、背景領域として認識される入力イメージ１１のピクセルをハーフトーン化する。この選択が実行されるのは、フィードバック変調誤差拡散ブロック１３が、背景領域では適切に動作する一方でテキストエッジの周囲で幾分か望ましくないノイズを生成する可能性もあるからである。したがってテキスト領域において、フィードバック変調誤差拡散ブロック１３をオフに切替えて、Floyd Steinberg誤差拡散ブロック１４によって提供されるもの等の誤差拡散をオンに切替えることが望ましい。
【００２１】
図３は、セグメンテーションブロック１２の簡易ブロック図である。５×５ローパスフィルタ４１は、入力イメージ１１を予備処理する。その出力は、局所アクティビティ測定ブロック４３に対する入力イメージとして使用される。局所アクティビティ測定ブロック４３は、各ピクセルに対して局所アクティビティ測度を計算する。局所アクティビティ測定ブロック４３は、５×５ローパスフィルタ４１から取得されるフィルタリングされたイメージの３×３局所ウィンドウにわたって平均二乗誤差をとることによって取得される局所差により、局所アクティビティ測度を計算する。
【００２２】
比較ブロック４４は、一定しきい値４５を局所アクティビティ測定ブロック４３によって提供される各ピクセルの局所差と比較する。局所差が一定しきい値４５より大きい場合、図２に示すスイッチ１５を制御するために使用される、ライン４６に置かれる出力は「１」に設定され、ピクセルはテキストとして分類される。そうでない場合、ライン４６に置かれる出力は「０」に設定され、ピクセルは背景として分類される。一定しきい値４５は、ビットレートと歪みの均衡を考慮して背景からテキストを分離する所望の効率を達成するように調整される。局所アクティビティ測定ブロック４３における局所ウィンドウのサイズ、およびローパスフィルタ４１のサイズ等の実施詳細は、実施に基づいて大幅に変更することができる。
【００２３】
図４は、フィードバック変調誤差拡散ブロック１３の簡易ブロック図である。フィードバック変調誤差拡散ブロック１３を、フィードバック変調ブロック５３と、２値量子化器ブロック５４と、遅延器５６と、拡散フィルタ５５と、加算器５７と、加算器５８とを含むように示す。
【００２４】
フィードバック変調誤差拡散ブロック１３は、入力５１に入力イメージ１１の正規化ピクセル値ｆ［ｉ，ｊ］を受取る。入力イメージ１１の正規化ピクセル値ｆ［ｉ，ｊ］は、０と１との間の値を有するように正規化されている。
【００２５】
加算器５７は、正規化ピクセル値ｆ［ｉ，ｊ］と累積拡散誤差~ｅ［ｉ，ｊ］とを加算することにより、拡散ピクセル値~ｆ［ｉ，ｊ］を生成する。２値量子化器ブロック５４は、拡散ピクセル値~ｆ［ｉ，ｊ］をしきい値Ｔ［ｉ，ｊ］と比較することにより、２値ピクセル値ｂ［ｉ，ｊ］を生成する。たとえば、以下の式１は、２値ピクセル値ｂ［ｉ，ｊ］を生成する際の２値量子化器ブロック５４の潜在的な動作の例を示す。
【００２６】
~ｆ［ｉ，ｊ］＝Ｔ［ｉ，ｊ］の場合：ｂ［ｉ，ｊ］＝１
~ｆ［ｉ，ｊ］＜Ｔ［ｉ，ｊ］の場合：ｂ［ｉ，ｊ］＝０                ・・・式（１）
２値ピクセル値ｂ［ｉ，ｊ］は、フィードバック変調誤差拡散ブロック１３の出力５２に置かれる。２値ピクセル値ｂ［ｉ，ｊ］はまた、後続するピクセルのためのしきい値および誤差拡散を生成するためにも使用される。
【００２７】
遅延器５６は、２値ピクセル値ｂ［ｉ，ｊ］を受取り、２値ピクセル値ｂ［ｉ，ｊ］が後続するピクセルのためのしきい値の計算に使用されるように遅延を実行する。たとえば、遅延は８水平ピクセルと等価である。このため、２値ピクセル値ｂ［ｉ，ｊ−８］は、フィードバック変調ブロック５３により２値ピクセル値ｂ［ｉ，ｊ］に対してしきい値Ｔ［ｉ，ｊ］を計算する場合に使用される。たとえば、フィードバック変調ブロック５３は、以下の式２に示すように２値ピクセル値ｂ［ｉ，ｊ］に対するＴ［ｉ，ｊ］を計算する。
【００２８】
Ｔ［ｉ，ｊ］＝０．５−ａ（ｂ［ｉ，ｊ−８］−０．５）              ・・・式（２）
８ピクセル遅延は、単一バイトにおける８ビットに対応するため、この適応的フィードバック変調により、繰返す傾向のあるバイトシーケンスがもたらされる。パラメータａは、概して１より小さくかつ０より大きく、所与のシステムに対する所望の性能を可能にするように選択される。特に、ｂ［ｉ，ｊ−８］＝１の場合、しきい値は０．５より小さい。ｂ［ｉ，ｊ−８］＝０の場合、しきい値は０．５より大きい。直観的に、しきい値がより小さい場合は２値量子化器ブロック５４の出力において「１」の値が促進され、しきい値がより大きい場合は２値量子化器ブロック５４の出力において「０」の値が促進される。そのため、ｂ［ｉ，ｊ］は、ｂ［ｉ，ｊ−８］の値を繰返す傾向がある。
【００２９】
拡散フィルタ５５は、たとえば誤差拡散方式を使用して累積拡散誤差~ｅ［ｉ，ｊ］を生成する。たとえば、加算器５８は、拡散ピクセル値~ｆ［ｉ，ｊ］から２値ピクセル値ｂ［ｉ，ｊ］を減算することにより、ピクセル誤差値ｅ［ｉ，ｊ］を生成する。拡散フィルタ５５は、Floyd Steinberg誤差拡散または階調依存誤差拡散等の誤差拡散アルゴリズムを使用して後続するピクセルに対し誤差の部分を累積することにより、この誤差を拡散させる。各ピクセル［ｉ，ｊ］に対し、拡散フィルタ５５は、累積拡散誤差~ｅ［ｉ，ｊ］を生成する。
【００３０】
図４は、しきい値を生成する場合にフィードバックを組込むフィードバック変調５３を示すが、図５に示すように、固定しきい値を使用することができ、フィードバック変調６３からのフィードバック値を使用して拡散ピクセル値~ｆ［ｉ，ｊ］を生成および／または変更することができる。フィードバック変調６３からのフィードバック値を、拡散ピクセル値~ｆ［ｉ，ｊ］の生成中に複数の場所で使用することができる。
【００３１】
たとえば、図５に示す矢印６４によって示すように、拡散ピクセル値~ｆ［ｉ，ｊ］が２値量子化器５４に入る直前に、フィードバック値を使用して拡散ピクセル値~ｆ［ｉ，ｊ］を変更することができる。矢印６５によって示すように、累積拡散誤差~ｅ［ｉ，ｊ］が正規化ピクセル値ｆ［ｉ，ｊ］に加算されることにより拡散ピクセル値~ｆ［ｉ，ｊ］が生成される直前（またはその時）に、フィードバック値を使用して正規化ピクセル値ｆ［ｉ，ｊ］を変更することができる。矢印６６によって示すように、拡散フィルタ５５によって、拡散ピクセル値~ｆ［ｉ，ｊ］を生成するために使用される累積拡散誤差~ｅ［ｉ，ｊ］の生成においてフィードバック値を使用することができる。
【００３２】
図４および図５を、２値量子化器を用いて示しているが、本発明は、マルチレベル量子化器システムおよびベクトル（たとえばカラー）量子化システムを用いて等しく適当に作用する。
【００３３】
たとえば、図６は、フィードバック変調誤差拡散ブロック７０についての簡易ブロック図である。フィードバック変調誤差拡散ブロック７０を、フィードバック変調ブロック７３と、マルチレベル量子化器ブロック７４と、遅延器７６と、拡散フィルタ７５と、加算器７７と、加算器７８とを有するように示す。
【００３４】
フィードバック変調誤差拡散ブロック７０は、入力７１に入力イメージ１１の正規化ピクセル値ｆ［ｉ，ｊ］を受取る。入力イメージ１１の正規化ピクセル値ｆ［ｉ，ｊ］は、たとえば、０と２との間の値を有するように正規化されている。
【００３５】
加算器７７は、正規化ピクセル値ｆ［ｉ，ｊ］と累積拡散誤差~ｅ［ｉ，ｊ］とを加算することにより拡散ピクセル値~ｆ［ｉ，ｊ］を生成する。マルチレベル量子化器ブロック７４は、拡散ピクセル値~ｆ［ｉ，ｊ］をしきい値（Ｔ１［ｉ，ｊ］、Ｔ２［ｉ，ｊ］）と比較することにより、マルチレベルピクセル値ｍ［ｉ，ｊ］を生成する。たとえば、以下の式３は、マルチレベルピクセル値ｍ［ｉ，ｊ］を生成する際にマルチレベル量子化器ブロック７４の潜在的な動作の例を示す。
【００３６】
~ｆ［ｉ，ｊ］＝Ｔ２［ｉ，ｊ］の場合：ｍ［ｉ，ｊ］＝２
Ｔ１［ｉ，ｊ］＝~ｆ［ｉ，ｊ］＜Ｔ２［ｉ，ｊ］の場合：ｍ［ｉ，ｊ］＝１
~ｆ［ｉ，ｊ］＜Ｔ１［ｉ，ｊ］の場合：ｍ［ｉ，ｊ］＝０            ・・・式（３）
マルチレベルピクセル値ｍ［ｉ，ｊ］は、フィードバック変調誤差拡散ブロック１３の出力７２に置かれる。マルチレベルピクセル値ｍ［ｉ，ｊ］はまた、後続するピクセルに対するしきい値および誤差拡散を生成するためにも使用される。
【００３７】
遅延器７６は、マルチレベルピクセル値ｍ［ｉ，ｊ］を受取り、後続するピクセルに対するしきい値の計算においてマルチレベルピクセル値ｍ［ｉ，ｊ］が使用されるように、遅延を実行する。たとえば、遅延は８水平ピクセルと等価である。このため、マルチレベルピクセル値ｍ［ｉ，ｊ−８］は、フィードバック変調ブロック７３により、マルチレベルピクセル値ｍ［ｉ，ｊ］に対してしきい値(T1[I,j]、T2[I,j])を計算する場合に使用される。
【００３８】
拡散フィルタ７５は、たとえば、誤差拡散方式を使用して累積拡散誤差~ｅ［ｉ，ｊ］を生成する。たとえば、加算器７８は、拡散ピクセル値~ｆ［ｉ，ｊ］からマルチレベルピクセル値ｍ［ｉ，ｊ］を減算することによりピクセル誤差値ｅ［ｉ，ｊ］を生成する。拡散フィルタ７５は、Floyd Steinberg誤差拡散かまたは階調依存誤差拡散等の誤差拡散アルゴリズムを使用して、後続するピクセルに対し誤差の部分を累積することにより、この誤差を拡散させる。拡散フィルタ７５は、各ピクセル［ｉ，ｊ］に対し、累積拡散誤差~ｅ［ｉ，ｊ］を生成する。
【００３９】
図７は、ベクトル量子化が実行される本発明の実施形態の簡易ブロック図である。フィードバック変調誤差拡散ブロック８０を、フィードバック変調ブロック８３と、ベクトル量子化器ブロック８４と、遅延器８６と、拡散フィルタ８５と、加算器８７と、加算器８８とを有するように示す。
【００４０】
フィードバック変調誤差拡散ブロック８０は、入力８１において入力イメージ１１の正規化ピクセル値(f＿r[I,j],f＿g[I,j],f＿b[I,j])を受取る。入力イメージ１１の正規化ピクセル値(f＿r[I,j],f＿g[I,j],f＿b[I,j])は、（０，０，０）と（１，１，１）との間の値を有するように正規化される。
【００４１】
加算器８７は、正規化ピクセル値（f＿r[I,j],f＿g[I,j],f＿b[I,j]）と累積拡散誤差（~e＿r[I,j],〜e＿g[I,j],〜e＿b[I,j]）とを加算することにより拡散ピクセル値（~f＿r[I,j],〜f＿g[I,j],〜f＿b[I,j]）を生成する。ベクトル量子化器ブロック８４は、拡散ピクセル値（~f＿r[I,j],〜f＿g[I,j],〜f＿b[I,j]）をしきい値（T＿r[I,j],T＿g[I,j],T＿b[I,j]）と比較することにより、ベクトルピクセル値（b＿r[I,j],b＿g[I,j],b＿b[I,j]）を生成する。
【００４２】
ベクトルピクセル値（b＿r[I,j],b＿g[I,j],b＿b[I,j]）は、フィードバック変調誤差拡散ブロック８０の出力８２に置かれる。ベクトルピクセル値（b＿r[I,j],b＿g[I,j],b＿b[I,j]）はまた、後続するピクセルに対するしきい値と誤差拡散とを生成するためにも使用される。
【００４３】
遅延器８６は、ベクトルピクセル値（b＿r[I,j],b＿g[I,j],b＿b[I,j]）を受取り、後続するピクセルに対するしきい値の計算にベクトルピクセル値（b＿r[I,j],b＿g[I,j],b＿b[I,j]）が使用されるように遅延を実行する。たとえば、遅延は８水平ピクセルに等価である。このため、ベクトルピクセル値（b＿r[I,j-8],b＿g[I,j-8],b＿b[I,j-8]）は、フィードバック変調ブロック８３により、ベクトルピクセル値（b＿r[I,j],b＿g[I,j],b＿b[I,j]）に対してしきい値（T＿r[I,j],T＿g[I,j],T＿b[I,j]）を計算する場合に使用される。
【００４４】
拡散フィルタ８５は、たとえば、誤差拡散方式を使用して、累積拡散誤差（~e＿r[I,j],〜e＿g[I,j],〜e＿b[I,j]）を生成する。たとえば、加算器８８は、拡散ピクセル値（~f＿r[I,j],〜f＿g[I,j],〜f＿b[I,j]）からベクトルピクセル値（b＿r[I,j],b＿g[I,j],b＿b[I,j]）を減算することにより、ピクセル誤差値（e＿r[I,j],e＿g[I,j],e＿b[I,j]）を生成する。拡散フィルタ８５は、Floyd Steinberg誤差拡散または階調依存誤差拡散等の誤差拡散アルゴリズムを使用して後続するピクセルに対し誤差の部分を累積することによりこの誤差を拡散させる。各ピクセル［ｉ，ｊ］に対して、拡散フィルタ８５は、累積拡散誤差（~e＿r[I,j],〜e＿g[I,j],〜e＿b[I,j]）を生成する。
【００４５】
上述した論考は、本発明の単なる例示的な方法と実施形態とを開示し説明している。当業者には理解されるように、本発明を、その精神または本質的な特徴から逸脱することなく他の特定の形態で具体化してもよい。したがって、本発明の開示は、添付の特許請求の範囲で示す本発明の範囲を限定するものではなく例示するものとして意図されている。
【図面の簡単な説明】
【００４６】
【図１】装置のブロック図。
【図２】本発明の好ましい実施形態による向上したランレングス符号化効率で実行される文書の誤差拡散ハーフトーニングを示すブロック図。
【図３】本発明の好ましい実施形態によるセグメンテーションブロックの簡易ブロック図。
【図４】本発明の好ましい実施形態によるフィードバック変調誤差拡散ブロックの簡易ブロック図。
【図５】本発明の代替的な好ましい実施形態によるフィードバック変調誤差拡散ブロックの簡易ブロック図。
【図６】本発明の別の代替的な好ましい実施形態によるフィードバック変調誤差拡散ブロックの簡易ブロック図である。
【図７】本発明の別の代替的な好ましい実施形態によるフィードバック変調誤差拡散ブロックの簡易ブロック図。
【図１】
2004153816.tif 000003
【図２】
2004153816.tif 000004
【図３】
2004153816.tif 000005
【図４】
2004153816.tif 000006
【図５】
2004153816.tif 000007
【図６】
2004153816.tif 000008
【図７】
2004153816.tif 000009