(57)【要約】【課題】閾値のスタンプ処理を行う方法及びシステムを提供する。【解決手段】第１のピクセルのピクセル強度値を決定することができる（８０５）。第１のピクセルのピクセル値を、第１のピクセルに対応するメモリ位置から検索することができる（８１０）。次に、このピクセル値に基づいて閾デルタ値を決定して（８１５）ベース閾値に加え、閾値を生成することができる（８２０）。ピクセル強度値が閾値を越える場合、複数のピクセルに対応する複数のピクセル値を更新することができる。この複数のピクセル値は、第１のピクセルと、１つ以上の第２のピクセルを含むことができる。ピクセル強度値が閾値を越えない場合、第１のピクセルのピクセル値を更新することができる。【選択図】図３
2007109231.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を処理して出力画像を形成する方法を実行するための１つ以上のプログラム命令を含むプロセッサ読取可能記憶媒体であって、前記入力画像は複数の入力ピクセルを含み、該入力ピクセルの各々は可能なレベルの第１の数を有する入力ピクセル強度値を含み、前記出力画像は複数の出力ピクセルを含み、該出力ピクセルの各々は可能なレベルの第２の数を有する出力ピクセル強度値を含み、前記方法が、
入力ピクセルの入力ピクセル強度値を決定することと、
以前に処理された１つ以上のピクセルの処理の際に生じた情報に基づいて変更入力ピクセル強度値を決定することと、
少なくとも前記入力ピクセル強度値と前記入力ピクセルに対応する記憶ピクセル値とに基づいて閾値を決定することと、
前記変更入力ピクセル強度値を前記閾値と比較することによって出力ピクセル強度値を決定することと、
少なくとも前記出力ピクセルの前記出力ピクセル強度値に基づいて１つ以上の記憶ピクセル値を変更することと、
を含む、
プロセッサ読取可能記憶媒体。
【請求項２】
前記１つ以上の記憶ピクセル値の変更が、
第１のピクセルに対応する記憶ピクセル値を第１の値に設定することと、
減少されたピクセル値を、前記第１のピクセルに対応する前記記憶ピクセル値に設定することと、
以前に選択されていない第２のピクセルを選択することと、
前記減少されたピクセル値を第２の値だけ減少させることと、
前記選択された第２のピクセルに対応する記憶ピクセル値を検索することと、
前記減少されたピクセル値が前記第２のピクセルに対応する前記記憶ピクセル値よりも大きい場合、前記第２のピクセルに対応する前記記憶ピクセル値を前記減少されたピクセル値に設定することと、
前記減少されたピクセル値がゼロよりも大きく、かつ前記選択された第２のピクセルに対応する前記記憶ピクセル値よりも大きい間は、前記選択ステップ、前記減少ステップ、前記検索ステップ及び前記設定ステップを繰り返すことと、
を含む、請求項１に記載のプロセッサ読取可能記憶媒体。
【請求項３】
前記入力ピクセルに対応する前記記憶ピクセル値を、該記憶ピクセル値から第３の値を引いたものに設定するための１つ以上のプログラム命令を更に含み、前記第２の値が前記第３の値に等しい、請求項２に記載のプロセッサ読取可能記憶媒体。
【請求項４】
第１の記憶ピクセル値及び第２の記憶ピクセル値を検索することと、
前記第１の記憶ピクセル値及び前記第２の記憶ピクセル値に基づいて複数のアップスケーリングされたピクセル値を計算することと、
前記第１のピクセルに対応する前記記憶ピクセルを、前記第１のピクセルに対応するアップスケーリングされたピクセル値に設定することと、
前記変更された記憶ピクセル値のうちの１つ以上に基づいてダウンスケーリングされたピクセル値を計算することと、
前記ダウンスケーリングされたピクセル値を記憶することと、
を行うための１つ以上のプログラム命令を更に含む、請求項１に記載のプロセッサ読取可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示される実施の形態は概して画像処理の分野に関連する。
【背景技術】
【０００２】
非特許文献１に記載の方法のような誤差拡散法（「フロイド−スタインバーグ(Floyd-Steinberg)法」は、グレースケール画像をバイナリ（２値）出力装置でバイナリ画像に変換するのに使用されることが多い。一般に、このような誤差拡散法は入力画像のピクセルを調べ、入力画像のピクセルの強度が閾値を越えているか否かを判断し、その結果に基づいて暗(dark)又は明(light)バイナリ値を入力画像のピクセルに割り当てる。入力画像のピクセル強度と出力画像の対応ピクセル強度との違いはピクセルの誤差にある。誤差拡散法は、出力画像のピクセル強度が以前に割り当てられていない１つ以上の近隣ピクセルに誤差の少なくとも一部を割り当てる。このように、全ピクセル強度が、解像度を大幅に損失させることなく出力画像全体にわたってほぼ保たれている。しかし、生じた画像において個々のピクセルが入力画像のピクセルよりも明るくなったり暗くなったりする場合がある。
【０００３】
例えば、図１（Ａ）は例示的な入力画像の近隣ピクセルのグレースケール値を示している。各ピクセルはある範囲内にグレースケール値を有する。８ビットの色を有するコンピュータの実施の形態では、この範囲の小さい値は「０」であり、この範囲の大きい値は「２５５」である。
【０００４】
図１（Ｂ）は、従来の一次元誤差拡散法に基づいて生じた４つのピクセルの明／暗値を示している。図１（Ｂ）では、明暗を決定する閾値は範囲の中点（即ち、１２７．５のグレースケール値）である。第１のピクセルのグレースケール値は閾値よりも大きいため、このピクセルには「１」（例えば、「暗」即ち「黒」）の値が割り当てられる。第１のピクセルの元のグレースケール値と、生じた大きな値との差を誤差値Ｅ1と定義する。即ち、この誤差は、強制的に「０」又は「１」の値にするためにピクセルに加えられた補正の量に等しい。
【０００５】
第２のピクセルについては、ピクセルの元の値から誤差値Ｅ1を引く。その結果生じた値は閾値よりも小さいため、第２のピクセルには「０」（例えば、「明」即ち「白」）の値が割り当てられる。第２のピクセルの誤差値Ｅ2を計算する。後続の各ピクセルにこの処理を繰り返し、全てのピクセルを計算する。他の誤差拡散方法では、計算された誤差を複数の未変換ピクセル間に拡散する場合がある。例えば、第１のピクセルの誤差値Ｅ1の第１の部分を第２のピクセルから引き、第２の部分を第３のピクセルから引くことができる。
【０００６】
誤差拡散を用いて出力画像を生成する方法の例としては、エッシュバッハ(Eschbach)による特許文献１及び特許文献２に記載の方法が挙げられる。
【０００７】
「閾値スタンピング(threshold stamping)」と呼ばれ、エッシュバッハの特許文献３に記載された更なる拡散方法は、誤差拡散閾値レベルを変調して極端なハイライト領域とシャドー領域におけるドットの配置を調節する。
【０００８】
図２は、閾値スタンピングを用いた従来の誤差拡散カラー画像処理モジュールの主要構成要素のブロック図である。各誤差拡散ブロック４０５ａ−４０５ｄは、シアン、マゼンタ、イエロー及びブラックなどの特定の色に閾値スタンピングと誤差拡散アルゴリズムを実行する。
【０００９】
誤差拡散ブロック４０５ａ−４０５ｄは、走査線上の各ピクセルの色に対応するピクセル情報４１０ａ−４１０ｄを受け取る。ピクセル情報４１０ａ−４１０ｄは０から２５５などの範囲内であり、入力画像のピクセルの特定の色の強度を表している。
【００１０】
また、誤差拡散ブロック４０５ａ−４０５ｄは、同一の色に対応する誤差走査線バッファメモリ４１５ａ−４１５ｄからも誤差情報を受け取る。各誤差値は−１２８から１２７などの範囲内であり、誤差拡散アルゴリズムに従って前のピクセルからピクセルに引き継がれた誤差の量を表している。
【００１１】
更に、誤差拡散ブロック４０５ａ−４０５ｄは、同一の色に対応する閾値走査線バッファメモリ４２０ａ−４２０ｄから閾値情報を受け取る。各閾値は−１２８から１２７などの範囲内であり、特定のピクセルのベース閾値からの変更を表している。
【００１２】
誤差拡散ブロック４０５ａ−４０５ｄは、ピクセル値とピクセルの誤差値の合計がベース閾値とピクセルの閾値の合計よりも大きいか否かを判断する。ピクセル値と誤差値の合計の方が大きい場合、ピクセルに指定の色４２５ａ−４２５ｄを供給する。そうでない場合、ピクセルには指定の色を供給しない。
【００１３】
次に、誤差拡散ブロック４０５ａ−４０５ｄは、走査線に対する前述の比較に基づいて更新誤差値を計算し、同一の色に対応する誤差走査線バッファメモリ４１５ａ−４１５ｄに更新誤差値を記憶する。同様に、誤差拡散ブロック４０５ａ−４０５ｄは、走査線に対する前述の比較に基づいて更新閾値を計算し、同一の色に対応する閾値走査線バッファメモリ４２０ａ−４２０ｄに更新閾値を記憶する。従って、低速走査の誤差情報と閾値情報は、この処理を用いて前の走査線から後続の走査線に引き継がれる。
【００１４】
スタンピングを実行する一方で高速の誤差拡散を可能にする誤差拡散の方法とシステムが必要である。
【００１５】
画像のハイライト領域とシャドウ領域に従来生じたワームの影響を軽減する誤差拡散の方法とシステムが必要である。
【００１６】
誤差拡散処理のスタンピング部分の際に行われる計算の回数及び／又は複雑さを低減する方法が必要である。
【００１７】
画質を実質的に維持する一方で誤差拡散アルゴリズムのためのメモリ容量とメモリアクセス回数を低減する方法が更に必要である。
【特許文献１】米国特許第５，２２６，０９４号明細書
【特許文献２】米国特許第５，３７４，９９７号明細書
【特許文献３】米国特許第５，５３５，０１９号明細書
【特許文献４】米国特許第５，３５３，１２７号明細書
【非特許文献１】フロイド(R.W. Floyd)及びスタインバーグ(L. Steinberg)、「空間グレースケールの適合アルゴリズム(An Adaptive Algorithm for Spatial Grayscale)」、情報ディスプレイ協会議事録(the Proceedings of the Society for Information Display)、第１７巻、第７５−７７頁、１９７６年
【発明の開示】
【発明が解決しようとする課題】
【００１８】
本開示物は、前述の問題のうちの１つ以上を解決することに関連する。
【課題を解決するための手段】
【００１９】
１つの実施の形態において、画像処理デバイスは、プロセッサと、プロセッサ読取可能記憶媒体とを含むことができる。プロセッサ読取可能記憶媒体は、入力画像を処理して出力画像を形成する方法を実行するための１つ以上のプログラム命令を含むことができる。入力画像は複数の入力ピクセルを含む。各入力ピクセルは、可能なレベルの第１の数を有する入力ピクセル強度値を含む。出力画像は複数の出力ピクセルを含む。各出力ピクセルは、可能なレベルの第２の数を有する出力ピクセル強度値を含む。この方法は、入力ピクセルの入力ピクセル強度値を決定することと、少なくとも入力ピクセル強度値と入力ピクセルに対応する記憶ピクセル値とに基づいて閾値を決定することと、入力ピクセル強度値を閾値と比較することによって出力ピクセル強度値を決定することと、少なくとも出力ピクセルの出力ピクセル強度レベルに基づいて１つ以上の記憶ピクセル値を変更することと、を含むことができる。
【００２０】
１つの実施の形態において、プロセッサ読取可能記憶媒体は、入力画像を処理して出力画像を形成する方法を実行するための１つ以上のプログラム命令を含むことができる。入力画像は複数の入力ピクセルを含む。各入力ピクセルは、可能なレベルの第１の数を有する入力ピクセル強度値を含む。出力画像は複数の出力ピクセルを含む。各出力ピクセルは、可能なレベルの第２の数を有する出力ピクセル強度値を含む。この方法は、入力ピクセルの入力ピクセル強度値を決定することと、少なくとも入力ピクセル強度値と入力ピクセルに対応する記憶ピクセル値とに基づいて閾値を決定することと、変更した入力ピクセル強度値を閾値と比較することによって出力ピクセル強度値を決定することと、少なくとも出力ピクセルの出力ピクセル強度値に基づいて１つ以上の記憶ピクセル値を変更することと、を含むことができる。
【００２１】
１つの実施の形態において、プロセッサ読取可能記憶媒体は、入力画像を処理して出力画像を形成する方法を実行するための１つ以上のプログラム命令を含むことができる。入力画像は複数の入力ピクセルを含む。各入力ピクセルは、可能なレベルの第１の数を有する入力ピクセル強度値を含む。出力画像は複数の出力ピクセルを含む。各出力ピクセルは、可能なレベルの第２の数を有する出力ピクセル強度値を含む。この方法は、入力ピクセルの入力ピクセル強度値を決定することと、少なくとも入力ピクセル強度値と入力ピクセルに対応する記憶ピクセル値とに基づいて閾値を決定することと、入力ピクセル強度値を閾値と比較することによって出力ピクセル強度値を決定することと、入力ピクセル強度値が第１の値よりも大きく、出力ピクセル強度値が第２の値よりも小さい場合は記憶ピクセル値を第１の値に置き換えることと、入力ピクセル強度値が第３の値よりも小さく、出力ピクセル強度値が第４の値よりも大きい場合は記憶ピクセル値を第２の値に置き換えることと、を含むことができる。
【００２２】
本明細書で説明する実施の形態の態様、特徴及び利点は、請求の範囲、下記の説明及び添付の図面に関連して明らかになる。
【発明を実施するための最良の形態】
【００２３】
「ドット」を暗い出力ピクセルとすることができる。「ホール」を明るい出力ピクセルとすることができる。本明細書に含まれる考察のためにドットの配置を参照する。しかし、本明細書の考察はホールの配置にも同様に適用される。
【００２４】
「記憶ピクセル値」は、走査線バッファメモリなどのメモリに記憶され、このメモリから検索されるピクセルの値を指すことができる。記憶ピクセル値を、スタンプ関数及び減衰関数に基づいて更新することができる。サンプリング及び補外を用いる場合、２つの記憶ピクセル値から中間ピクセル値を補外することができる。本明細書で使用される「記憶ピクセル値」という用語は中間ピクセル値を含む。
【００２５】
「ピクセル強度値」は、画像のピクセルの明暗を表す値を指すことができる。誤差拡散処理を用い、拡散された誤差値に基づいて特定のピクセルの入力ピクセル強度値を増減させることができる。カラーピクセルの実施の形態では複数のピクセル強度値を用いることができ、各ピクセル強度値は、ピクセル強度値が関連するピクセルの特定の色の明暗を表す。各ピクセル強度値を、同一の色に対応する拡散された誤差値によって変更することができる。
【００２６】
前述のように、ワーム及び／又はワームホールの発生を軽減するか又はこれを取り除く従来のスタンプ関数を実施する場合、特定のピクセルに適用する閾デルタ値を決定するために、比較的複雑な計算やコンピュータを集中的に使用する計算が必要になる。閾デルタ値は、各ピクセルの値に適用される減衰関数に基づくことができる。従来のスタンプ関数の実施では、一般に乗算演算が減衰関数として用いられている。しかし、乗算演算は、ハードウェアで実施されるとコンピュータ、メモリ及び／又は論理ゲートを集中的に使用する場合がある。
【００２７】
スタンプ関数の実施の複雑さを軽減するために、マンテル(Mantell)による「スタンプフィールドを用いた誤差拡散法(Method for Error Diffusion Employing a Stamp Field)」というタイトルの米国特許出願番号１０／７４１，５６１、及びマンテルによる「スタンプフィールドを用いたカラー画像データ処理方法(Method for Processing Color Image Data Employing a Stamp Field)」というタイトルの米国特許出願番号１０／７４１，７０３などの距離メトリック法が考案されている。レヴィエン(R. Levien)の「誤差拡散ハーフトーン処理における出力依存フィードバック(Output Dependent Feedback in Error Diffusion Halftoning)」（IS & T 46th Annual Conference、Cambridge、Massachusetts、１９９３年５月）、マーキュ(G. Marcu)の「均質なハイライト・シャドウドット分配のための出力位置制約を有する誤差拡散アルゴリズム(Error diffusion algorithm with output position constraints for homogeneous highlight and shadow dot distribution)」(Journal of Electronic Imaging、第９巻、第１号、第４６−５１頁、２０００年１月）、レヴィエンの米国特許第５，９１７，６１４号及びマーキュの米国特許第６，１６０，９２１号に開示されるように、スタンプフィールドにより、以前にプリントされたドットまでの距離を、更に計算を行ったり近隣のピクセルを探したりせずに決定することができる。距離メトリック法は、特定のピクセルと、特定のピクセルと同一の走査線か又はこれより前の走査線にある最も近いドットとの間の距離を測定することができる。この距離は、例えば「シティーブロック(city-block)」測度又はユークリッド測度を用いて測定可能である。（ｘ1，ｙ1）及び（ｘ2，ｙ2）といった２点間のシティーブロック距離は｜ｘ1−ｘ2｜＋｜ｙ1−ｙ2｜に等しくなりうる。同一の２点の間のユークリッド距離は等しくなりうる。ユークリッド測度は、前掲の「誤差拡散ハーフトーン処理における出力依存フィードバック」及び米国特許第５，９１７，６１４号に開示されている。シティーブロック距離法は、ユークリッド距離法又は乗算法よりも計算を簡潔にすることができる。
【００２８】
典型的なスタンプ関数アルゴリズムでは、閾デルタ値をアレイ内のピクセルなどの各位置に割り当てることができる。閾デルタ値は、ドット配置の抑制や助長に用いられる増分値を表すことができる。閾デルタ値の記憶に関連する１つの欠点は、このような値が一般に多数の推定ピクセル強度値と１対１の写像を有することである。従って、閾デルタ値は多数のビットを含むため、プロセッサ読取可能記憶媒体内にかなり大きな記憶領域を必要とする。
【００２９】
対照的に、図４に示すような実施の形態では、記憶ピクセル値は各ピクセルに対応することができる。記憶ピクセル値を、従来のスタンプ関数の実施の閾デルタ値よりも小さな数のビットを有する値とすることができる。例えば、閾デルタ値が−１２８から１２７の範囲である場合、記憶ピクセル値を０から３１の範囲とすることができる。このように、各ピクセルのピクセル値を記憶するのに必要な記憶領域を小さくすることができる。
【００３０】
カウントダウンスタンプ関数を用いて閾デルタ値を決定する場合、これらの値は減衰関数を経て多くの走査線にわたって存続する必要がないため、これらの値を典型的なスタンプ関数で用いられるものほど大きくならないようにすることができる。１つの例示的な実施の形態は、明入力値又は暗入力値を有する閾デルタ値を必要とするピクセルに対してそれぞれ＋１６又は−１６など、閾デルタ値を小さい定値に設定することを含みうる。前述のアルゴリズムは、デルタ閾値の符号が逆になった場合以外はゼロ及び２５５付近の入力ピクセル強度値に対して同様に作用することができる。従って、本開示物は明値の挙動のみを説明する。
【００３１】
１つの実施の形態では、最大記憶ピクセル値を、例えば図４に示す「３１」とすることができる。このような実施の形態では、入力ピクセル強度値が「１」に等しい場合、「１０」を越える記憶ピクセル値を有するピクセルは＋１６のデルタ閾値を受け取ることができる。入力ピクセル強度値が「２」に等しい場合、「１８」を越える記憶ピクセル値を有するピクセルがこのデルタ閾値を受け取ることができる。入力ピクセル強度値が「３」に等しい場合、「２０」を越える記憶ピクセル値を有するピクセルがこのデルタ閾値を受け取ることができる。即ち、特定のピクセルのピクセル強度値が増加すると必要な記憶ピクセル値も増加し、入力ピクセル強度値の中点である「１２８」未満の入力ピクセル強度値については、閾デルタ値は加えられない。
【００３２】
１つの実施の形態では、閾デルタ値はゼロに滑らかに近づくことができる。閾デルタ値は、ゼロから更に離れる入力ピクセル強度値に対して減少することができる。例えば、２０以下の入力ピクセル強度値の閾デルタ値を１６とし、後に続く各入力ピクセル強度値に対して１ずつ減少させることができる。即ち、３６以上の入力ピクセル強度値では、閾デルタ値をゼロに等しくすることができる。
【００３３】
１つの実施の形態では、小さい記憶ピクセル値の閾デルタ値を減少させることができる。例えば、「１」の入力ピクセル強度値を有するピクセルでは、１６以上の記憶ピクセル値で閾デルタ値を「１６」に設定し、記憶ピクセル値が１６未満の場合はその記憶ピクセル値に設定することができる。１つの実施の形態では、特定の区切り点を越えるピクセルに同様の閾デルタ値レベルを設定することができる。
【００３４】
図２に示すような走査線バッファメモリにピクセル値を記憶することができる。走査線バッファメモリ内の各メモリ位置は、特定のピクセル列のピクセルのピクセル値を含むことができる。図４に示す走査線バッファメモリのような他の実施の形態では、入力画像の全ピクセル列よりも少ない数の列を走査線バッファメモリに記憶することができる。この場合、走査線バッファメモリに記憶されたピクセル値から中間ピクセル値を補外することができる。同様に、記憶する前に、更新されたピクセル値からサンプリング処理によって記憶ピクセル値を補間することができる。いずれの場合も、走査線バッファメモリは常に単一の走査線（又は２本の走査線の一部）のピクセル値しか含むことができない。ピクセル値の処理後、後続の走査線による使用のためにピクセル値を走査線バッファメモリに記憶することができる。
【００３５】
図３は、１つの実施の形態に従ってスタンプ関数を行うための例示的な処理のフロー図である。図３に示すように、ピクセルのピクセル強度値を受け取ることができる（ステップ８０５）。ピクセル強度値は、入力画像のピクセルの明るさ又は暗さを表すことができる。ピクセル強度値を、例えば０から２５５の値とすることができる。図３に開示する実施の形態は、単色のスタンプ関数に関連する。しかし、１つ以上の色のピクセル強度値を受け取った場合、この処理を繰り返すことができる。例えば、シアン、イエロー、マゼンタ及びブラックを用いるシステムでは、４つのピクセル強度値を受け取ることができ、各ピクセル強度値はこれらの色のうちの１つに対応する。このような実施の形態では、この処理を各ピクセル強度値に対して繰り返すことができる。ベクトルアルゴリズムとして当該技術分野で公知である誤差拡散アルゴリズムのいくつかの実施の形態では、一度に１つ以上の色を考慮することができる。このような実施の形態では、一緒に評価された色の閾デルタ値は全ての色からの寄与を含むことができる。例えば、閾デルタ値を、同時に処理される各色の合計に等しくすることができる。
【００３６】
以前に処理したピクセルからの１つ以上の誤差値を最初のピクセル強度値に加えることにより、ピクセル強度値を変更することができる（ステップ８０８）。最初のピクセル強度値のこの変更（ステップ８０８）を、誤差拡散アルゴリズムを用いて行うことができる。
【００３７】
ピクセル強度値を受け取った後、ピクセルのピクセル値を走査線バッファメモリから検索することができる（ステップ８１０）。ピクセル値と、必要に応じてピクセル強度値とを用いて、ピクセルの閾デルタ値を決定することができる（ステップ８１５）。１つの実施の形態では、ルックアップテーブル（「ＬＵＴ」）にアクセスして閾デルタ値を決定することができる。ＬＵＴは１つ以上の閾デルタ値を含むことができる。従って、ＬＵＴを使用することにより、ピクセル値を記憶する走査線バッファメモリの容量を、従来のスタンプ関数のために閾デルタ値を記憶するのに用いられる走査線バッファメモリよりもきわめて小さくすることができる。他の実施の形態では、関数を用いてピクセルの閾値を決定することができる。この関数は、ピクセル値及び／又はピクセル強度値を入力値として受け取ることができる。
【００３８】
１つの実施の形態では、単一の閾値を記憶することができる。ピクセル値及び／又はピクセル強度値が閾値を越える場合、閾値を特定のピクセルに適用することができる。他の実施の形態では、複数の閾値を記憶することができる。ピクセル値及び／又はピクセル強度値が特定の閾値を越える場合、特定の閾値を特定のピクセルに適用することができる。
【００３９】
１つの実施の形態では、記憶ピクセル値が５などの正の数か又はゼロである場合にのみ、ゼロ以外の閾値を戻すことができる。正のピクセル値の選択により、ピクセル間の補間をより簡単に行うことができる。補間を用いて、割り当てられた全てのピクセル値よりも小さい数の値を記録することで、特定の実施の形態のメモリ要件を減らすことができる。
【００４０】
閾デルタ値とベース閾値を合計することによって閾値を決定することができる（ステップ８２０）。閾値を、変更したピクセル強度値と比較することができる（ステップ８２５）。変更したピクセル強度値が閾値を越える場合はピクセルにドットを配置することができ（ステップ８３０）、このピクセルに対応するピクセル値に特定の値を割り当てることができる（ステップ８３５）。ピクセルのピクセル強度値にかかわらず、同一の値をピクセルに割り当てることができる（ステップ８３５）。例えば、図４に示すように、下線が付された位置（９，１）の太字の値では、「３１」などの値をピクセルに割り当てることができる。他の実施の形態では、ピクセル強度値が予め定義された範囲内であれば、ピクセルのピクセル強度値にかかわらずピクセル値を同一にすることができる。あるいは、ピクセル値はピクセルのピクセル強度値によって変わってもよい。
【００４１】
また、同一の走査線内の他のピクセル（即ち、同一の「ｙ」値を有するピクセル）のピクセル値を更新することもできる。例えば、図４の（８，１）や（１０，１）など、ドットが配置されたピクセルの近隣にある１つ以上のピクセルのピクセル値を検索して（ステップ８４０）第２の値と比較することができる（ステップ８４５）。第２の値を、例えば、ドットが配置されたピクセルの更新ピクセル値から１などの定数を引いた数に等しくすることができる。他の関数を用いて第２の値を計算してもよく、他の関数は、本明細書に開示された実施の形態の教示内容に基づいて当業者には明らかになるであろう。
【００４２】
１つの実施の形態では、検索したピクセル値よりも第２の値が大きい場合、検索したピクセルのメモリ位置に第２の値を記憶することができる（ステップ８５０）。次いで、検索、比較及び記憶といったステップを、他のピクセル値を用いて再度行うことができる。１つの実施の形態では、ピクセル値は、以前に検索したピクセルの近隣にあるピクセルの位置に対応することができる。検索したピクセル値よりも第２の値が小さい場合、ドットが配置されたピクセルの更新ピクセル値を１などの定数の分だけ減少させ（ステップ８５５）、走査線バッファメモリに記憶する（ステップ８６０）ことができる。
【００４３】
ステップ８２５の比較に戻って、ピクセル強度値が閾値以下である場合、ピクセル値を１などの定数の分だけ減少させて走査線バッファメモリに記憶することができる（ステップ８６０）。１つの実施の形態では、ピクセル値がゼロに等しい場合はピクセル値を減少しなくてもよい。減少以外の関数をステップ８５５で用いて次の走査線のピクセル値を決定することができる。このような関数は、本明細書に開示される実施の形態の教示内容に基づいて当業者には明らかになるであろう。
【００４４】
図４に示すように、割り当てられたピクセル値は、同一の走査線（例えば、同一の「ｙ」値を有する位置）内のスタンプ処理済ピクセルから離れるにつれて線形的に減少することができる。例えば、ｙ＝１、ｙ＝１２及びｙ＝１８の行にあり、ピクセルがスタンプされた位置よりも大きい「ｘ」値を有する下線の値の各々には、従来のスタンプ関数によって割り当てられた値に類似する値を割り当てることができる（即ち、これらの値はスタンプされた位置から離れるにつれて減少することができる）。１つの実施の形態では、スタンプされたピクセルの位置よりも小さな「ｘ」の値を有するピクセルについては、現在の行の記憶ピクセル値が既に増分されているか減少されている場合は割り当てられたピクセル値を次の行に割り当てることができる。これらのピクセルを使用して、同一の走査線の近隣ドットをプリントするために値が置き換えられるピクセルの減衰を避ける場合、これらのピクセルをｙ方向に減少させることもできる。低速パス方向では（即ち、図４の「ｙ」が増加するにつれ）、割り当てられたピクセル値は、例えば線形に減少することができる。従って、スタンプされたピクセルの位置から同一の走査線及び後続の走査線のピクセルまでの距離の測定をエミュレートすることができる。１つの線を処理する際に１つ以上の値を置き換えることができるため、図４に示す値は各走査線の処理後の記憶ピクセル値を表すことができる。
【００４５】
前述のように、１つの実施の形態では記憶ピクセル値を合計しなくてもよい。例えば、各ピクセルの記憶ピクセル値を、第２の値が決定された場合は第２の値と、走査線バッファメモリに記憶されたピクセルのピクセル値のうちの大きい方に設定することができる。例えば、図４の（９，１２）の位置にあるピクセル値を、例えば、ステップ８５５で行われる減衰関数の際に（８，１２）の値を減少させることによって決定することができる。これと対照的に、（１０，１２）の位置にあるピクセル値を、その後に処理された位置（２１，１２）にドットが配置された結果決定された第２の値に基づいて、ステップ８５０を介して割り当てることができる。新しい値は、（１０，１２）のピクセルを処理する際に使用された「１９」の値の代わりになることができる。この新しい値を減少させ、（１０，１３）の位置の値の決定に用いることができる。
【００４６】
他の実施の形態では、補間及び補外を用いて走査線バッファメモリに記憶されたピクセル値の数を減らすことができる。第１のピクセル値及び第２のピクセル値を走査線バッファメモリから検索することができる。図５を参照して後述するようなアップスケーリング論理を用いて、１つ以上の中間ピクセル値を決定することができる。ドットがピクセルに配置された場合、これらの中間ピクセル値を更新することができる。中間ピクセル値を含む複数のピクセル値を更新した後、ピクセル値を平均化して特定の平均値を選択することによってピクセル値のグループをダウンスケールし、ピクセル値として走査線バッファメモリに記憶することができる。ダウンスケーリング処理及び選択処理は図６を参照して後述する。同等のアップスケーリング方法及びダウンスケーリング方法を本開示物の範囲内で行うことができ、これらの方法は当業者には容易に明らかになるであろう。
【００４７】
図５は、１つの実施の形態に従った例示的なアップスケーリング論理図である。ピクセルアップスケーリング論理１０００は線形補間を用い、ピクセルにドットを配置するか否かを判断する前に走査線バッファメモリから受け取ったピクセル値に基づいて中間ピクセル値を生成することができる。図５に示すように、ピクセルアップスケーリング論理１０００は、レジスタ１００５、減算回路１０１０、除算回路１０１５、乗算回路１０２０、状態マシン１０２５及び加算回路１０３０を含むことができる。例えば、ゼログラフィック（電子写真）装置、スキャナ、プリンタ、コピー機、ファクシミリ機、又は、画像の複製、ロード、出力及び／もしくは記憶を行う他のデバイスにおいて、アップスケーリング論理を実施することができる。
【００４８】
１つの実施の形態では、レジスタ１００５を用いて、メモリ位置Ｎ及びメモリ位置Ｎ＋１に記憶されるピクセル値を決定することができる。以前に更新された値が処理された場合、新しいピクセル値をレジスタ１００５にロードすることができる。倍率は、従来のスタンプ関数に用いられるようなメモリと比べたときの走査線バッファメモリの容量の縮小に対応することができる。
【００４９】
減算回路１０１０は、メモリ位置Ｎに記憶されたピクセル値と、メモリ位置Ｎ＋１に記憶されたピクセル値との差を計算することができる。この差を、２つのピクセル値間のデルタ値（Δ）と呼ぶことができる。次に、除算回路１０１５を用いてΔを倍率（例えば４）で割り、補間係数（δ）を決定することができる。状態マシン１０２５は、δとの積を計算する際に乗算回路１０２０によって用いられる定数として０、１、２及び３の数を循環することができる。１つの実施の形態では、レジスタ１００５が新しいピクセル値を受け入れるサイクルで０の数を用いることができる。よって、乗算回路１０２０の出力を｛０，δ，２δ，３δ｝の値とすることができる。同様に、加算回路１０３０は｛ＰｉｘｅｌN，ＰｉｘｅｌN＋δ，ＰｉｘｅｌN＋２δ，ＰｉｘｅｌN＋３δ｝の値を出力することができる。このように、ピクセルアップスケーリング論理１０００は、走査線バッファメモリから読み出した各ピクセル値の倍率に等しい数のピクセル値を出力することができる。他の倍率を本開示物の範囲内で用いてもよい。
【００５０】
図６は、１つの実施の形態に従った例示的なダウンスケーリング論理図である。図６に示すように、ピクセルダウンスケーリング論理１１００は、例えば５つのピクセル平均化レジスタ１１０５ａ−１１０５ｅ、加算回路１１１０、ピクセル平均化乗算器１１１５及びサンプリング回路１１２０を含むことができる。１つの実施の形態では、ピクセル平均化レジスタ１１０５の数を倍率＋１に等しくすることができる。例えば、ゼログラフィック装置、スキャナ、プリンタ、コピー機、ファクシミリ機、又は、画像の複製、ロード、出力及び／もしくは記憶を行う他のデバイスにおいて、ダウンスケーリング論理を実施することができる。
【００５１】
ピクセルダウンスケーリング論理１１００は更新されたピクセル値を受け取ることができる。ピクセルダウンスケーリング論理１１００は、加算回路１１１０を用いて、レジスタ１１０５ａ−１１０５ｅに記憶された、最後に（倍率＋１で）更新されたピクセル値を合計することができる。次に、ピクセル平均化乗算器１１１５を用いてこの和に平均化係数を掛けることによって平均値を決定することができる。１つの実施の形態では、平均化係数を等しくしてもよい。ピクセル平均化乗算器１１１５の出力を、（倍率で）更新された各ピクセル値がサンプリング回路１１２０によって受け取られるごとに１回サンプリングすることができる。
【００５２】
他の実施の形態では、ピクセルダウンスケーリング論理１１００は単に（倍率で）更新されたピクセル値のうちの１つを記憶することができる。よって、他のピクセル値を単に捨てることができる。このことは、減少関数を用いて中間ピクセル値を再計算することができるため可能になる。また、このような実施の形態は各ピクセルに必要な計算を制限することができる。
【００５３】
１つの実施の形態では、ピクセルアップスケーリング論理１０００及びピクセルダウンスケーリング論議１１００を同期させ、走査線バッファメモリ内の同一のピクセルに対するピクセル値を検索して記憶することができる。
【００５４】
１つの実施の形態において、ピクセルアップスケーリング論理１０００及びピクセルダウンスケーリング論理１１００を用いてドットがピクセルに配置される場合、走査線バッファメモリに記憶されているピクセル値は、値を倍率などの値の分だけ減少できること以外は図３を参照して前述したように減少させることによって更新可能である。特定の減少値は、ドットが配置されるピクセルと、ピクセル値が記憶されるピクセルとの近接性に依存することができる。１つの実施の形態では、現在評価中のピクセルにドットが配置されるか否かに基づいて、ピクセルアップスケーリング論理１０００のレジスタ１００５内の値を更新することもできる。図６に示すピクセルダウンスケーリング論理１１００を用いた実施の形態では、現在評価中のピクセルにドットが配置された場合にレジスタ１１０５ａ−１１０５ｅを更新することもできる。
【００５５】
図７は、１つの実施の形態に従ってプログラム命令を含むか又はプログラム命令を実施するのに用いることのできる例示的な内部ハードウェアのブロック図である。図７を参照すると、バス１２２８は、ハードウェアの他の例示構成要素を相互接続する主要情報ハイウェイとして機能することができる。ＣＰＵ１２０２はシステムの中央処理装置であり、プログラムの実行に必要な計算や論理演算を行う。ＲＯＭ１２１８及びＲＡＭ１２２０は例示的なメモリデバイスを構成する。
【００５６】
ディスクコントローラ１２０４は、システムバス１２２８に接続された１つ以上の任意のディスクドライブと連動する。これらのディスクドライブを、１２１０のような外部もしくは内部フロッピー（登録商標）ディスクドライブ、ＣＤ  ＲＯＭドライブ１２０６、又は外部もしくは内部ハードドライブ１２０８とすることができる。前述のように、これらの種々のディスクドライブ及びディスクコントローラは任意のデバイスである。
【００５７】
ＲＯＭ１２１８及び／又はＲＡＭ１２２０にプログラム命令を記憶することができる。必要に応じて、フロッピー（登録商標）ディスク、ディジタルディスクもしくは他の記録媒体などのコンピュータ読取可能媒体、通信信号又は搬送波などにプログラム命令を記憶することができる。
【００５８】
任意のディスプレイインターフェース１２２２により、バス１２２８からの情報を音声、図形又は英数字の形式でディスプレイ１２２４に表示することができる。外部機器との通信は、必要に応じて種々の通信ポート１２２６を用いて行うことができる。例示的な通信ポート１２２６を、インターネットやイントラネットなどの通信ネットワークに接続することができる。
【００５９】
ハードウェアは、コンピュータタイプの構成要素やその同等物のほかにインターフェース１２１２を含むこともできる。インターフェース１２１２は、キーボード１２１４などの入力デバイスや、リモートコントロール、ポインタ及び／又はジョイスティックのような他の入力デバイス１２１６からのデータの受取を可能にする。
【００６０】
マルチプロセッサシステムを必要に応じて使用し、本明細書で説明した操作のうちの１つ、いくつか又は全てを実行することができる。同様に、画像処理デバイス内のサブシステムのような埋込システムを必要に応じて使用し、本明細書で説明した操作のうちの１つ、いくつか又は全てを実行することができる。画像処理デバイスは、ゼログラフィック装置、スキャナ、プリンタ、コピー機、ファクシミリ機、又は、画像の複製、ロード、出力及び／もしくは記憶を行う任意の他のデバイスのうちの１つ以上を含むことができる。ゼログラフィック装置は、ゼログラフィー法を行ってページを転写(imprint)するデバイスを含む。
【００６１】
例えば、画像処理デバイスは、例えばデジタルフォーマットの画像を走査、ダウンロード又は他の方法で受け取ることができる。デジタルフォーマットは、画像内の各ピクセルに対して１つ以上のピクセル強度値を含むことができる。ピクセル強度値を処理前にメモリに記憶してもよいし、画像の走査の際に処理に用いてもよい。ゼログラフィック装置は、前述の方法かこれと同等又は同様の方法を用いて、各ピクセルの処理の際にピクセル値を決定することができる。ピクセル値を走査線バッファメモリに書き込んで後続の走査線の処理を助けることができる。ピクセル処理の完了時又は最中に、生じた画像を、例えばゼログラフィック装置のプリントモジュール、プリンタ、又は人間が読取可能な画像表現を生成する他のデバイスに転送することができる。
【図面の簡単な説明】
【００６２】
【図１】（Ａ）は近隣ピクセルのグレースケールレベルを示す図であり、（Ｂ）は従来の誤差拡散計算方法を用いて生じたピクセル値を示す図である。
【図２】閾値スタンピングを用いた従来の誤差拡散カラー画像処理モジュールの主要構成要素のブロック図である。
【図３】１つの実施の形態に従ってスタンプ関数を行うための例示的な処理のフロー図である。
【図４】１つの実施の形態に従った例示的なカウントダウンスタンプアルゴリズムの実施の挙動を強調する表であり、各線は処理後を示している。
【図５】１つの実施の形態に従った例示的なアップスケーリング論理図である。
【図６】１つの実施の形態に従った例示的なダウンスケーリング論理図である。
【図７】１つの実施の形態に従った、プログラム命令を含むか又はプログラム命令を実施するのに用いることのできる例示的な内部ハードウェアのブロック図である。
【符号の説明】
【００６３】
１０００    ピクセルアップスケーリング論理
１１００    ピクセルダウンスケーリング論理
【図１】
2007109231.tif 000003
【図２】
2007109231.tif 000004
【図３】
2007109231.tif 000005
【図４】
2007109231.tif 000006
【図５】
2007109231.tif 000007
【図６】
2007109231.tif 000008
【図７】
2007109231.tif 000009