(57)【要約】【課題】  画像の階調数を低減する際に画像データや量子化誤差にノイズを付加することなく、階調数を低減した高画質の画像を得る。【解決手段】  四値パターンメモリ102は、多値画像を量子化した後の階調数に等しい数の画素値をもつパターン画像を格納する。累積誤差加算部101は、累積誤差メモリ107に格納された誤差拡散値を注目画素に加算する。誤差演算部105は、誤差拡散値と注目画素の値の加算値と、注目画素の量子化値の誤差を演算する。誤差拡散部106は、誤差を量子化前の画素に拡散するように、誤差メモリ107が格納する誤差拡散値を更新する。量子化部103は、加算値、パターン画像の階調値、注目画素の位置に対応するパターン画像の画素値、および、複数の量子化閾値に基づき、注目画素の量子化値を決定する。【選択図】  図1
2008228103.tif 000002
【特許請求の範囲】
【請求項１】
量子化により多値画像の階調数を低減した後の階調数に等しい数の画素値をもつパターン画像を格納するパターンメモリと、
誤差拡散値を格納する誤差メモリと、
前記誤差拡散値と注目画素の値を加算した加算値を出力する加算手段と、
前記加算値と前記注目画素の量子化値の間の誤差を演算する演算手段と、
前記誤差を量子化前の画素に拡散するように、前記誤差メモリが格納する誤差拡散値を更新する拡散手段と、
前記加算値、前記パターン画像の階調値、前記注目画素の位置に対応する前記パターン画像の画素値、および、量子化閾値に基づき、前記注目画素の量子化値を決定する量子化手段とを有することを特徴とする画像処理装置。
【請求項２】
前記量子化手段は、前記注目画素の値以下の最大の量子化レベルを計算する計算手段と、
前記注目画素の値と前記階調値の第一の比較、および、前記パターン画像の画素値と前記量子化レベルの第二の比較に基づき、前記注目画素の量子化値を決定する第一の決定手段と、
前記第一および第二の比較に加えて、前記加算値と前記量子化レベルに対応する量子化閾値の比較に基づき、前記注目画素の量子化値を決定する第二の決定手段とを有することを特徴とする請求項1に記載された画像処理装置。
【請求項３】
前記第一の決定手段は、前記注目画素の値が前記階調値未満、かつ、前記パターン画像の画素値が前記量子化レベル以下、または、前記注目画素の値が前記階調値以上、かつ、前記パターン画像の画素値が前記量子化レベルを超える場合、前記パターン画像の画素値を前記量子化値に決定することを特徴とする請求項2に記載された画像処理装置。
【請求項４】
前記第二の決定手段は、前記注目画素の値が前記階調値未満、かつ、前記パターン画像の画素値が前記量子化レベルを超える場合、前記加算値が前記量子化閾値未満であれば前記量子化レベルより一つ小さい量子化レベルを前記量子化値に決定し、前記加算値が前記量子化閾値以上であれば前記パターン画像の画素値を前記量子化値に決定し、
前記第二の決定手段は、前記注目画素の値が前記階調値以上、かつ、前記パターン画像の画素値が前記量子化レベル以下の場合、前記加算値が前記量子化閾値未満であれば前記パターン画像の画素値を前記量子化値に決定し、前記加算値が前記量子化閾値以上であれば前記量子化レベルを前記量子化値に決定することを特徴とする請求項2に記載された画像処理装置。
【請求項５】
前記階調値は、前記パターン画像がもつ画素値と当該画素値の出現率の積を総和した値であることを特徴とする請求項1から請求項4の何れか一項に記載された画像処理装置。
【請求項６】
前記パターン画像はブルーノイズ特性を有することを特徴とする請求項1から請求項5の何れか一項に記載された画像処理装置。
【請求項７】
量子化により多値画像の階調数を低減した後の階調数に等しい数の画素値をもつ画素パターンを発生する発生手段と、
誤差拡散値を格納する誤差メモリと、
前記誤差拡散値と注目画素の値を加算した加算値を出力する加算手段と、
前記加算値と前記注目画素の量子化値の間の誤差を演算する演算手段と、
前記誤差を量子化前の画素に拡散するように、前記誤差メモリが格納する誤差拡散値を更新する拡散手段と、
前記加算値、前記画素パターンの階調値、前記発生手段が画素単位に発生する画素値、および、量子化閾値に基づき、注目画素の量子化値を決定する量子化手段とを有することを特徴とする画像処理装置。
【請求項８】
前記量子化手段は、前記注目画素の値以下の最大の量子化レベルを計算する計算手段と、
前記注目画素の値と前記階調値の第一の比較、および、前記発生手段が画素単位に発生する画素値と前記量子化レベルの第二の比較に基づき、前記注目画素の量子化値を決定する第一の決定手段と、
前記第一および第二の比較に加えて、前記加算値と前記量子化レベルに対応する量子化閾値の比較に基づき、前記注目画素の量子化値を決定する第二の決定手段とを有することを特徴とする請求項7に記載された画像処理装置。
【請求項９】
前記第一の決定手段は、前記注目画素の値が前記画素パターンの階調値未満、かつ、前記発生手段が画素単位に発生する画素値が前記量子化レベル以下、または、前記注目画素の値が前記画素パターンの階調値以上、かつ、前記発生手段が画素単位に発生する画素値が前記量子化レベルを超える場合、前記発生手段が画素単位に発生する画素値を前記量子化値に決定することを特徴とする請求項8に記載された画像処理装置。
【請求項１０】
前記第二の決定手段は、前記注目画素の値が前記階調値未満、かつ、前記発生手段が画素単位に発生する画素値が前記量子化レベルを超える場合、前記加算値が前記量子化閾値未満であれば前記量子化レベルより一つ小さい量子化レベルを前記量子化値に決定し、前記加算値が前記量子化閾値以上であれば前記発生手段が画素単位に発生する画素値を前記量子化値に決定し、
前記第二の決定手段は、前記注目画素の値が前記階調値以上、かつ、前記発生手段が画素単位に発生する画素値が前記量子化レベル以下の場合、前記加算値が前記量子化閾値未満であれば前記発生手段が画素単位に発生する画素値を前記量子化値に決定し、前記加算値が前記量子化閾値以上であれば前記量子化レベルを前記量子化値に決定することを特徴とする請求項8に記載された画像処理装置。
【請求項１１】
前記階調値は、前記画素パターンの画素値と当該画素値の出現率の積を総和した値であることを特徴とする請求項7から請求項10の何れか一項に記載された画像処理装置。
【請求項１２】
前記画素パターンはブルーノイズ特性を有することを特徴とする請求項7から請求項11の何れか一項に記載された画像処理装置。
【請求項１３】
量子化により多値画像の階調数を低減した後の階調数に等しい数の画素値をもつパターン画像を格納するパターンメモリを有する画像処理装置の画像処理方法であって、
誤差メモリに格納された誤差拡散値と注目画素の値を加算して加算値とし、
前記加算値と前記注目画素の量子化値の間の誤差を演算し、
前記誤差を量子化前の画素に拡散するように、前記誤差メモリが格納する誤差拡散値を更新し、
前記加算値、前記パターン画像の階調値、前記注目画素の位置に対応する前記パターン画像の画素値、および、量子化閾値に基づき、前記注目画素の量子化値を決定することを特徴とする画像処理方法。
【請求項１４】
量子化により多値画像の階調数を低減した後の階調数に等しい数の画素値をもつ画素パターンを発生する発生ステップと、
誤差メモリに格納された誤差拡散値と注目画素の値を加算して加算値とするステップと、
前記加算値と前記注目画素の量子化値の間の誤差を演算するステップと、
前記誤差を量子化前の画素に拡散するように、前記誤差メモリが格納する誤差拡散値を更新するステップと、
前記加算値、前記画素パターンの階調値、前記発生ステップが画素単位に発生する画素値、および、量子化閾値に基づき、注目画素の量子化値を決定するステップとを有することを特徴とする画像処理方法。
【請求項１５】
コンピュータ装置を制御して、請求項1から請求項12の何れか一項に記載された画像処理装置の各手段として機能させることを特徴とするコンピュータプログラム。
【請求項１６】
請求項15に記載されたコンピュータプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多値画像の階調数を低減する画像処理に関する。
【背景技術】
【０００２】
ワードプロセッサ、パーソナルコンピュータ、ファクシミリ用などの情報出力装置として、文字や画像などを記録紙やフィルムなどのシート状の記録媒体に記録する記録装置には様々な方式のものがある。その中で、記録媒体に記録剤を付着することで記録媒体上にテキストや画像を形成する方式が実用化されている。このような方式の代表例として、インクジェット方式の記録装置がある。
【０００３】
インクジェット記録装置は、出力画像の各画素を、記録剤の有無による二階調でしか表現することができない。表現可能な階調数よりも多い階調数の画像を形成するために、画像の階調数を記録装置が表現可能な階調に変換し（量子化と呼ぶ）、記録装置が表現できない階調を擬似的に表現する擬似中間調処理を行う。
【０００４】
擬似中間調処理の一手法としてR. Floydらによる誤差拡散法が知られている（非特許文献1参照）。誤差拡散法は、ある画素の量子化で生じた誤差（量子化誤差）を以降の複数画素へ拡散して、マクロ的に、出力画像の平均濃度を入力画像の濃度と等しくする擬似中間調処理である。
【０００５】
誤差拡散法は、均一階調画像を量子化するとテクスチャと呼ぶ規則的な模様が量子化結果の画像に発生する問題がある。とくに、特定の階調（8ビット画像の場合は64、128、192階調付近）の均一階調の画像を量子化するとテクスチャが発生し易い。さらに、誤差拡散法を三値以上の多値出力画像に適用すると、量子化レベル付近の入力階調では、量子化誤差がほとんど発生せず、同じレベルに量子化される画素が連続して、擬似輪郭が発生する。
【０００６】
誤差拡散法に特有のテクスチャや擬似輪郭の発生を抑制する方法として、入力画像データまたは量子化閾値にノイズを加える方法がある（特許文献1、2参照）。
【０００７】
しかし、テクスチャや擬似輪郭を排除するために振幅が大きいノイズを加えると、出力画像にノイズが残り、粒状感が目立つ、画質の悪い画像が形成される問題がある。
【０００８】
【特許文献１】特開2003-069819公報
【特許文献２】特開2002-335402公報
【非特許文献１】R. Floyd et al.「An Adaptive Algorithm for Spatial Gray Scale」in society for Information Display 1975 Symposium Digest of Technical Papers, 1975, pp. 36-37
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、画像の階調数を低減する際に画像データや量子化誤差にノイズを付加することなく、階調数を低減した高画質の画像を得ることを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１１】
本発明にかかる画像処理装置は、量子化により多値画像の階調数を低減した後の階調数に等しい数の画素値をもつパターン画像を格納するパターンメモリと、誤差拡散値を格納する誤差メモリと、前記誤差拡散値と注目画素の値を加算した加算値を出力する加算手段と、前記加算値と前記注目画素の量子化値の間の誤差を演算する演算手段と、前記誤差を量子化前の画素に拡散するように、前記誤差メモリが格納する誤差拡散値を更新する拡散手段と、前記加算値、前記パターン画像の階調値、前記注目画素の位置に対応する前記パターン画像の画素値、および、量子化閾値に基づき、前記注目画素の量子化値を決定する量子化手段とを有することを特徴とする。
【００１２】
また、量子化により多値画像の階調数を低減した後の階調数に等しい数の画素値をもつ画素パターンを発生する発生手段と、誤差拡散値を格納する誤差メモリと、前記誤差拡散値と注目画素の値を加算した加算値を出力する加算手段と、前記加算値と前記注目画素の量子化値の間の誤差を演算する演算手段と、前記誤差を量子化前の画素に拡散するように、前記誤差メモリが格納する誤差拡散値を更新する拡散手段と、前記加算値、前記画素パターンの階調値、前記発生手段が画素単位に発生する画素値、および、量子化閾値に基づき、注目画素の量子化値を決定する量子化手段とを有することを特徴とする。
【００１３】
本発明にかかる画像処理方法は、量子化により多値画像の階調数を低減した後の階調数に等しい数の画素値をもつパターン画像を格納するパターンメモリを有する画像処理装置の画像処理方法であって、誤差メモリに格納された誤差拡散値と注目画素の値を加算して加算値とし、前記加算値と前記注目画素の量子化値の間の誤差を演算し、前記誤差を量子化前の画素に拡散するように、前記誤差メモリが格納する誤差拡散値を更新し、前記加算値、前記パターン画像の階調値、前記注目画素の位置に対応する前記パターン画像の画素値、および、量子化閾値に基づき、前記注目画素の量子化値を決定することを特徴とする。
【００１４】
また、量子化により多値画像の階調数を低減した後の階調数に等しい数の画素値をもつ画素パターンを発生する発生ステップと、誤差メモリに格納された誤差拡散値と注目画素の値を加算して加算値とするステップと、前記加算値と前記注目画素の量子化値の間の誤差を演算するステップと、前記誤差を量子化前の画素に拡散するように、前記誤差メモリが格納する誤差拡散値を更新するステップと、前記加算値、前記画素パターンの階調値、前記発生ステップが画素単位に発生する画素値、および、量子化閾値に基づき、注目画素の量子化値を決定するステップとを有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、画像の階調数を低減する際に画像データや量子化誤差にノイズを付加することなく、階調数を低減した高画質の画像を得ることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。
【００１７】
以下では、N（N≧3、整数）の階調を有する入力画像を、M（2≦M＜N、整数）の階調画像に変換する画像処理を説明する。ただし、簡単のために、N=255、M=4とする。つまり、入力画像の各画素は0から255の範囲の整数値をもち、出力画像の各画素は0、85、170、255の何れかに対応する四値をもつ。勿論、本発明は、入力階調数が256階調に制限されず、256階調よりも多くても少なくてもよい。同様に、出力階調数は四階調に限定されない。
【００１８】
また、入力画像の横サイズをW画素、縦サイズをH画素として説明する。
【実施例１】
【００１９】
［装置の構成］
図1は実施例1の画像処理装置の構成例を示すブロック図である。
【００２０】
入力端子100は、入力画像データを蓄積するメモリなどの記憶デバイス、あるいは、スキャナや撮像装置などの入力デバイスに接続し、それらデバイスからラスタ走査順に画像データが入力される。また、出力端子108は、記憶デバイス、あるいは、表示装置や印刷装置などの出力デバイスに接続し、量子化された画像データを出力する。
【００２１】
累積誤差加算部101は、画素単位に、入力端子100から入力される画像データに累積誤差メモリ107に格納された誤差拡散値を加算する。四値パターンメモリ102は、四値パターン画像と、その階調値を格納する。
【００２２】
量子化部103は、詳細は後述するが、閾値メモリ104が記憶する複数の量子化閾値などに基づき、注目画素の量子化値を決定する。
【００２３】
誤差演算部105は、量子化部103の入出力画像データから量子化誤差を演算する。誤差拡散部106は、量子化誤差を量子化前の所定の画素に拡散するように、累積誤差メモリ107が格納する誤差拡散値を更新する。
【００２４】
［四値パターン画像の設定］
N階調の入力画像を、M階調の出力画像に量子化する場合、四値パターンメモリ102が予め記憶するM値パターン画像を用いる。四値パターン画像の画像サイズWf×Hf画素は任意である。四値パターン画像が入力画像よりも小さい場合は、四値パターン画像をタイル状に繰り返し配列することで、四値パターンを入力画像の各画素に対応させる。
【００２５】
四値パターン画像の各画素は、0、85、170、255の四値のうちの何れかの値をとる。四値パターン画像中の値が0、85、170、255である画素の割合（出現率）はそれぞれfg1、fg2、fg3、fg4である。割合fg1、fg2、fg3、fg4は任意値（0≦fg1, fg2, fg3, fg4≦1、実数）であるが、次式の関係が存在する。
fg1 + fg2 + fg3 + fg4 = 1      …(1)
【００２６】
そして、式(2)で表されるfgを四値パターン画像の階調値とし、四値パターン画像とともに四値パターンメモリ102に記憶する。つまり、四値パターン画像の階調値fgは、四値パターン画像がもつ画素値と当該画素値の出現率の積を総和した値に等しい。
fg = 0×fg1 + 85×fg2 + 170×fg3 + 255×fg4
ここで、0 ≦ fg ≦255、整数                    …(2)
【００２７】
四値パターン画像は、値0、85、170、255の画素を任意パターンで配置した画像である。ただし、テクスチャの発生を低減するために、四値パターン画像として画素値の配置の分散性が高い、空間周波数がブルーノイズ特性をもつものが好ましい。ブルーノイズ特性をもつ四値パターン画像の作成方法は、どのような方法を用いてもよい。例えば、特開2000-059626公報に開示されたベイヤ型摂動組織的ディザ法を用いて、256階調のブルーノイズマスクを作成後、三段階の閾値を用いて四値化を行う方法がある。なお、ブルーノイズ特性とは、低周波数の周波数成分が少なく、高周波数の周波数成分が多い特性のことを指す。
【００２８】
さらに、テクスチャの発生を低減するために、四値パターン画像の階調値fgを、誤差拡散によってテクスチャが発生する階調に等しくすることが望ましい。
【００２９】
実施例1の画像処理装置は、四値パターン画像がもつ階調値fgと等しい階調をもつ均一階調画像が入力された場合、四値パターン画像のパターンを出力する。つまり、階調値fgの画像が入力された場合、四値パターン画像を出力するため、テクスチャの発生を防ぐことができる。
【００３０】
［装置の動作］
図2は画像処理装置の動作を説明するフローチャートである。
【００３１】
まず、画像データが走査順に入力端子100に入力される(S201)。
【００３２】
図3は入力画像の走査を示す図である。画像の走査は、画像の左上端の画素300から開始され、右方向に一画素ずつ進む（主走査）。そして、画像の右端に達すると、1ライン下の左端画素に移る（副走査）。主走査と副走査を繰り返し、右下端の画素301に達すると、画像の走査が終了する。
【００３３】
累積誤差加算部101は、入力された画素データ（量子化前の注目画素の値）に累積誤差メモリ107の画素位置に対応する誤差拡散値を加算する(S202)。
【００３４】
図4は累積誤差メモリ107が格納する誤差拡散値を説明する図である。累積誤差メモリ107は、一画素に対応する記憶領域E0と、主走査方向にW画素（画像の横サイズと同数）の記憶領域E(x)(x=1〜W)を有し、後述する方法により誤差拡散値を格納する。記憶領域Eはすべて、処理開始前に初期値0に初期化される。
【００３５】
累積誤差加算部101は、式(3)に示すように、注目画素の横画素位置xに対応する記憶領域E(x)に格納された誤差拡散値を注目画素に加算する。
I' = I + E(x)      …(3)
ここで、Iは注目画素の値
I'は誤差拡散値を加算した注目画素の値（以下、加算値）
【００３６】
次に、四値パターンメモリ102は、注目画素の位置に対応する四値パターン画像の画素値Fと、四値パターン画像の階調値fgを出力する(S203)。もし、四値パターン画像のサイズWf×Hfが入力画像のサイズW×Hより小さい場合、四値パターン画像の座標(xf, yf)を、入力画像の座標(x, y)に以下のように対応させる。
xf = x % Wf
yf = y % Hf      …(4)
ここで、%はモジュロ（剰余）演算を表す
【００３７】
次に、量子化部103は、注目画素の値I、加算値I'、四値パターン画像の画素値F、四値パターン画像の階調値fg、および、閾値メモリ104が格納する複数の量子化閾値thを比較して、出力画素値Oを決定する(S204)。なお、量子化の詳細は後述する。
【００３８】
次に、誤差演算部105は、加算値I'と、出力画素値Oとの差分である量子化誤差Eを計算する(S205)。
E = I' - O      …(5)
【００３９】
次に、誤差拡散部106は、誤差の拡散処理を行い、累積誤差メモリ107が格納する誤差拡散値を更新する(S206)。誤差拡散部106は、注目画素の横方向位置xに応じて、下式のように、誤差を拡散する。
x＜Wの場合、E(x+1) = E(x+1) + E×7/16
x＞1の場合、E(x-1) = E(x-1) + E×3/16
1＜x＜Wの場合、  E(x) = E0 + E×5/16
x = 1の場合、  E(x) = E0 + E×8/16            …(6)
x = Wの場合、  E(x) = E0 + E×13/16
x＜Wの場合、    E0 = E×1/16
x = Wの場合、    E0 = 0
【００４０】
つまり、注目画素の位置xがラインの両端以外の場合は、量子化誤差Eの7/16を注目画素の直後(x+1)の画素に分配し、残る9/16を注目画素が属するラインの次のラインに分配する。次のラインにおいて、注目画素と同じ位置xの画素（注目画素の真下の画素）に量子化誤差Eの5/16を分配する。そして、直前の画素（注目画素の左下の画素）と、直後の画素（注目画素の右下の画素）に量子化誤差Eの3/16と1/16を分配する。
【００４１】
また、注目画素の位置xがラインの先頭の場合は、量子化誤差Eの7/16を注目画素の直後(x+1)の画素に、8/16を注目画素の真下の画素に、1/16を注目画素の右下の画素に分配する。
【００４２】
また、注目画素の位置xがラインの末尾の場合は、量子化誤差Eのすべてを次のラインに分配する。つまり、量子化誤差Eの3/16を注目画素の左下の画素に、13/16を注目画素の真下の画素に分配する。
【００４３】
以上で、入力画像の一画素分の四値化処理が完了する。そして、入力画像の全画素に四値化処理を施した場合は処理が終了し、未処理の画素がある場合はステップS201に戻り、上記の動作を繰り返す(S207)。
【００４４】
［量子化部］
量子化部103は、注目画素の値I、加算値I'、四値パターン画像の画素値F、四値パターン画像の階調値fg、および、量子化閾値thを比較し出力画素値Oを決定する。四値の量子化レベルOfおよび量子化閾値thは、例えば、次のように設定する。
Of(0) = 0
Of(1) = 85
Of(2) = 170
Of(3) = 255
th(1) = 43
th(2) = 128
th(3) = 213
【００４５】
図5は量子化部103の処理を説明するフローチャートである。
【００４６】
量子化部103は、注目画素の値Iが式(7)を満たすnを計算する(S501)。言い換えれば、注目画素の値I以下の最大の量子化レベルOfに対応するnを計算する。
Of(n-1) ＜ I ≦ Of(n)      …(7)
ここで、0＜n≦3、整数
I = 0の場合はn = 1とする
【００４７】
次に、量子化部103は、注目画素の値Iと、四値パターン画像の階調値fgを比較する(S502)。なお、加算値I'と、四値パターン画像の階調値fgを比較してもよい。続いて、ステップS501で求めたn (0＜n≦3)に対応する量子化レベルOf(n)と、四値パターン画像の画素値Fを比較する(S503、S508)。
【００４８】
そして、量子化部103は、I＜fgかつF≦Of(n)の場合は、量子化閾値th(n)と加算値I'の大小関係に関わらず、出力画素値O=Fにする(S504)。
I＜fg かつ F≦Of(n)の場合、O = F      …(8)
【００４９】
また、量子化部103は、I＜fgかつF＞Of(f)の場合は、加算値I'と量子化閾値th(n)を比較し(S505)、式(9)に示すように出力画素値Oを決定する(S506、S507)。
I＜fg かつ F＞Of(n)
かつ I'＜th(n)の場合、O = Of(n-1)      …(9)
かつ I'≧th(n)の場合、O = F
【００５０】
また、量子化部103は、I≧fgかつF＞Of(n)の場合は、量子化閾値th(n)と加算値I'の大小関係に関わらず、出力画素値O=Fにする(S509)。
I≧fg かつ F＞Of(n)の場合、O = F      …(10)
【００５１】
また、量子化部103は、I≧fgかつF≦Of(f)の場合は、加算値I'と量子化閾値th(n)を比較し(S510)、式(11)に示すように出力画素値Oを決定する(S511、S512)。
I≧fg かつ F≦Of(n)
かつ I'＜th(n)の場合、O = F      …(11)
かつ I'≧th(n)の場合、O = Of(n)
【００５２】
このように、入力画像の量子化処理に先立ち四値パターン画像を用意し、四値パターン画像を利用して入力画像を量子化する。従って、入力画素値Iが同じ場合も、注目画素に対応する四値パターン画像の画素値Fに応じて量子化後の値Oは変化する。そのため、たとえ入力画像が量子化レベルOf付近の均一の画像であっても、出力画素値Oは量子化レベルOfだけに偏ることはなく、同じレベルの出力画素の連続を防ぐことができる。つまり、擬似輪郭の発生を防ぐことができる。
【００５３】
また、テクスチャは同じレベルに量子化された出力画素が規則的に並ぶことで発生する。四値パターン画像としてブルーノイズ特性を有する画像を用いることで、同じレベルに量子化された出力画素の規則的な発生を防ぐことができ、テクスチャの発生を防ぐことができる。
【実施例２】
【００５４】
以下、本発明にかかる実施例2の画像処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００５５】
実施例1では、量子化処理に先立ちパターン画像を用意する例を説明した。実施例2では、入力画像の各画素を量子化する都度、つまり画素単位に、画素値を発生する方法を説明する。なお、数学的に正しい表現ではないが、以下では発生する画素値を乱数と呼ぶことにする。
【００５６】
［装置の構成］
図6は実施例2の画像処理装置の構成例を示すブロック図である。図1に示す構成と異なるのは、四値パターンメモリ102の代わりに、四値の乱数を発生する四値乱数発生器602を備えることである。
【００５７】
［四値乱数の発生］
四値乱数発生器602が、画素単位に発生する乱数は0、85、170、255の四値のうちの何れかである。四値乱数発生器602が発生する値0、85、170、255の割合（出現率）はそれぞれrg1、rg2、rg3、rg4である。割合rg1、rg2、rg3、rg4は任意値（0≦rg1, rg2, rg3, rg4≦1、実数）であるが、次式の関係が存在する。
rg1 + rg2 + rg3 + rg4 = 1      …(12)
【００５８】
そして、式(12)で表されるrgを四値乱数パターンの階調値とする。つまり、四値乱数パターン（画素パターン）の階調値rgは、四値乱数パターンとして発生される乱数値と当該乱数値の出現率の積を総和した値に等しい。
rg = 0×rg1 + 85×rg2 + 170×rg3 + 255×rg4
0 ≦ rg ≦255、整数                            …(13)
【００５９】
四値乱数発生器602が発生する乱数パターンは任意でよいが、テクスチャの発生を低減するために、四値乱数パターンとして分散性が高い、二次元の空間周波数がブルーノイズ特性をもつものが好ましい。ブルーノイズ特性をもつ四値乱数パターンの発生方法は、どのような方法を用いてもよい。例えば、下式で表される二次元の極性交番乱数を発生させる方法がある。
D = (-1)x+yRnd      …(14)
ここで、x、yは入力画像中の処理画素の座標
Rndは1および2を発生する乱数
【００６０】
式(14)において、Dが-2の場合は0、-1の場合は85、1の場合は170、2の場合は255を出力する。
【００６１】
さらに、テクスチャの発生を低減するために、四値乱数パターンの階調値rgを、誤差拡散によってテクスチャが発生する階調に等しくすることが望ましい。
【００６２】
［装置の動作］
図7は画像処理装置の動作を説明するフローチャートである。図2に示す動作と異なるのは、四値パターン画像の画素値Fと階調値fgを入力する(S203)代わりに、四値の乱数Rを発生する(S703)ことである。また、四値乱数発生器602は、乱数Rの発生と併せて、四値乱数パターンの階調値rgを出力する。
【００６３】
量子化部103は、注目画素の値I、加算値I'、四値の乱数R、四値乱数パターンの階調値rg、および、閾値メモリ104が記憶する複数の量子化閾値thを比較して、出力画素値Oを決定する(S204)。
【００６４】
［量子化部］
図8は量子化部103の処理を説明するフローチャートである。
【００６５】
量子化部103は、注目画素の値Iが式(7)を満たすnを計算する(S801)。言い換えれば、注目画素の値I以下の最大の量子化レベルOfに対応するnを計算する。
Of(n-1) ＜ I ≦ Of(n)      …(15)
ここで、1＜n≦3、整数
I = 0の場合はn = 1とする
【００６６】
次に、量子化部103は、注目画素の値Iと、四値乱数パターンの階調値rgを比較する(S802)。なお、加算値I'と、四値乱数パターンの階調値rgを比較してもよい。続いて、ステップS801で求めたn (0＜n≦3)に対応する量子化レベルOf(n)と、四値の乱数Rを比較する(S803、S808)。
【００６７】
そして、量子化部103は、I＜rgかつR≦Of(n)の場合は、量子化閾値th(n)と加算値I'の大小関係に関わらず、出力画素値O=Rにする(S804)。
I＜rg かつ R≦Of(n)の場合、O = R      …(16)
【００６８】
また、量子化部103は、I＜rgかつR＞Of(f)の場合は、加算値I'と量子化閾値th(n)を比較し(S805)、式(17)に示すように出力画素値Oを決定する(S806、S807)。
I＜rg かつ R＞Of(n)
かつ I'＜th(n)の場合、O = Of(n-1)      …(17)
かつ I'≧th(n)の場合、O = R
【００６９】
また、量子化部103は、I≧rgかつR＞Of(n)の場合は、量子化閾値th(n)と加算値I'の大小関係に関わらず、出力画素値O=Rにする(S809)。
I≧rg かつ R＞Of(n)の場合、O = R      …(18)
【００７０】
また、量子化部103は、I≧rgかつR≦Of(n)の場合は、加算値I'と量子化閾値th(n)を比較し(S810)、式(19)に示すように出力画素値Oを決定する(S811、S812)。
I≧rg かつ R≦Of(n)
かつ I'＜th(n)の場合、O = R      …(19)
かつ I'≧th(n)の場合、O = Of(n)
【００７１】
このように、四値の乱数Rを発生しながら、四値の乱数Rを使用して入力画像を量子化する。従って、入力画素値Iが同じ場合も、注目画素に対応する四値の乱数Rに応じて量子化後の値Oは変化する。そのため、たとえ入力画像が量子化レベル付近の均一の画像であっても、出力画素値Oは量子化レベルOfだけに偏ることはなく、同じレベルの出力画素の連続を防ぐことができる。つまり、擬似輪郭の発生を防ぐことができる。
【００７２】
また、テクスチャは同じレベルに量子化された出力画素が規則的に並ぶことで発生する。四値乱数パターンとしてブルーノイズ特性を有する画像を用いることで、同じレベルに量子化された出力画素の規則的な発生を防ぐことができ、テクスチャの発生を防ぐことができる。
【実施例３】
【００７３】
以下、本発明にかかる実施例3の画像処理を説明する。なお、実施例3において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００７４】
実施例1、2では、N（N≧3、整数）の階調を有する入力画像を、M（2≦M＜N、整数）の階調画像に変換する例として、N=255、M=4の例を説明した。実施例3では、N=255の階調を有する入力画像をM=2の階調を有する二値画像に変換する例を説明する。
【００７５】
二値画像は、0（オフドット）または255（オンドット）に対応する二値をもつ。二値画像において、画素値255に対応する画素が、256画素中にg画素の割合で含まれる場合をg階調と表現する。
【００７６】
［装置の構成］
図9は実施例3の画像処理装置の構成例を示すブロック図である。図1に示す構成と異なるのは、四値パターンメモリ102の代わりに、二値パターン画像を格納する二値パターンメモリ902を備えることである。
【００７７】
［二値パターン画像の設定］
二値パターンメモリ902は、所定の階調bgの二値パターン画像を予め記憶する。二値パターン画像の画像サイズWb×Hb画素は任意である。二値パターン画像が入力画像よりも小さい場合は、二値パターン画像をタイル状に繰り返し配列することで、二値パターンを入力画像の各画素に対応させる。
【００７８】
二値パターン画像は任意の階調bg、および、任意の二値パターンをとることができる。ただし、テクスチャの発生を低減するために、二値パターン画像としてオンドット配置の分散性が高い、空間周波数がブルーノイズ特性をもつものが好ましい。ブルーノイズ特性をもつ二値パターン画像の作成方法は、どのような方法を用いてもよい。例えば、米国特許第4,920,501号に開示された方法が知られている。
【００７９】
さらに、テクスチャの発生を低減するために、二値パターン画像の階調値bgを、誤差拡散によってテクスチャが発生する階調（入力画像が8ビットの場合、64、128、192階調など）に等しくすることが望ましい。
【００８０】
実施例3の画像処理装置は、二値パターン画像がもつ階調値bgと等しい階調をもつ均一階調画像が入力された場合、二値パターン画像のパターンを出力する。つまり、階調値bgの画像が入力された場合、二値パターン画像を出力するため、テクスチャの発生を防ぐことができる。
【００８１】
［装置の動作］
図10は画像処理装置の動作を説明するフローチャートである。図2に示す動作は、四値パターンメモリ102が、注目画素の位置に対応する四値パターン画像の画素値Fと、四値パターン画像の階調値fgを出力する(S203)。図10に示す動作では、二値パターンメモリ902が、注目画素の位置に対応する二値パターン画像の画素値Bと、二値パターン画像の階調値bgを出力する(S903)。
【００８２】
もし、二値パターン画像のサイズWb×Hbが入力画像のサイズW×Hより小さい場合、二値パターン画像の座標(xb, yb)を、入力画像の座標(x, y)に以下のように対応させる。
xb = x % Wb
yb = y % Hb      …(20)
ここで、%はモジュロ（剰余）演算を表す
【００８３】
次に、量子化部103は、注目画素の値I、加算値I'、二値パターン画像の画素値B、二値パターン画像の階調値bg、および、閾値メモリ104が格納する量子化閾値thを比較して、出力画素値Oを決定する(S204)。
【００８４】
［量子化部］
図11は量子化部103の処理を説明するフローチャートである。
【００８５】
量子化部103は、注目画素の値Iと、二値パターン画像の階調値bgを比較する(S301)。なお、加算値I'と、二値パターン画像の階調値bgを比較してもよい。続いて、二値パターン画像の画素値Bがオンドットを示すか否かを判定する(S302、S307)。
【００８６】
そして、量子化部103は、I＞bgかつB=オンドットの場合は、量子化閾値thと加算値I'の大小関係に関わらず、出力画素値O=255にする(S306)。
I＞bg かつ B=255の場合、O = 255      …(21)
【００８７】
また、量子化部103は、I＞bgかつB=オフドットの場合は、加算値I'と量子化閾値th（例えば128）を比較し(S303)、式(22)に示すように出力画素値Oを決定する(S304、S305)。
I＞bg かつ B = 0
かつ I'＜thの場合、O = 0      …(22)
かつ I'≧thの場合、O = 255
【００８８】
また、量子化部103は、I≦bgかつB=オフドットの場合は、量子化閾値thと加算値I'の大小関係に関わらず、出力画素値O=0にする(S311)。
I≦bg かつ B = 0の場合、O = 0      …(23)
【００８９】
また、量子化部103は、I≦bgかつB=オンドットの場合は、加算値I'と量子化閾値thを比較し(S308)、式(24)に示すように出力画素値Oを決定する(S309、S310)。
I≦bg かつ B = 255
かつ I'＜thの場合、O = 0      …(24)
かつ I'≧thの場合、O = 255
【００９０】
このように、入力画像の量子化処理に先立ち二値パターン画像を用意し、二値パターン画像を利用して入力画像を量子化する。従って、二値パターン画像の階調bgより大きい、一様な階調をもつ入力画像を処理する場合、出力画像においてオンドットが生成されない画素は、対応する二値パターン画像の画素値B=0である座標の中から選択されることになる。つまり、二値パターン画像として、テクスチャの発生がなく、ドット配置の分散性が高いパターンを利用することで、オンドットが規則的に生成されることを防ぐことができる。
【００９１】
また、テクスチャは同じレベルに量子化された出力画素が規則的に並ぶことで発生する。二値パターン画像としてブルーノイズ特性を有する画像を用いることで、同じレベルに量子化された出力画素の規則的な発生を防ぐことができ、テクスチャの発生を防ぐことができる。
【実施例４】
【００９２】
以下、本発明にかかる実施例4の画像処理を説明する。なお、実施例4において、実施例1〜3と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００９３】
実施例3では、量子化処理に先立ちパターン画像を用意する例を説明した。実施例4では、入力画像の各画素を量子化する都度、つまり画素単位に、画素値を発生する方法を説明する。なお、数学的に正しい表現ではないが、以下では発生する画素値を乱数と呼ぶことにする。
【００９４】
［装置の構成］
図12は実施例4の画像処理装置の構成例を示すブロック図である。図6に示す構成と異なるのは、四値乱数発生器602の代わりに、二値の乱数を発生する二値乱数発生器1202を備えることである。
【００９５】
［二値乱数の発生］
二値乱数発生器1202が、画素単位に発生する乱数は0、255の二値のうちの何れかである。二値乱数発生器1202が発生する値255の割合（出現率）はrg255であリ、二値乱数パターンの階調値はrg=255×rg255である。階調値rgは任意の値をとることができる。
【００９６】
乱数発生器1202が発生する乱数パターンも任意でよいが、テクスチャの発生を低減するために、乱数パターンとして分散性が高い、二次元の空間周波数がブルーノイズ特性をもつものが好ましい。ブルーノイズ特性をもつ二値乱数パターンの発生方法は、どのような方法を用いてもよい。
【００９７】
さらに、テクスチャの発生を低減するために、二値乱数パターンの階調値rgを、誤差拡散によってテクスチャが発生する階調（入力画像が8ビットの場合、64階調、128階調、192階調など）に等しくすることが望ましい。
【００９８】
［装置の動作］
図13は画像処理装置の動作を説明するフローチャートである。図7に示す動作と異なるのは、四値の乱数Rを発生する(S703)代わりに、二値の乱数Rを発生する(S403)ことである。また、二値乱数発生器1202は、乱数Rの発生と併せて、二値乱数パターンの階調値rgを出力する。
【００９９】
量子化部103は、注目画素の値I、加算値I'、二値の乱数R、二値乱数パターンの階調値rg、および、閾値メモリ104が記憶する量子化閾値thを比較して、出力画素値Oを決定する(S204)。
【０１００】
［量子化部］
図14は量子化部103の処理を説明するフローチャートである。
【０１０１】
量子化部103は、注目画素の値Iと、二値乱数パターンの階調値rgを比較する(S501)。なお、加算値I'と、二値乱数パターンの階調値rgを比較してもよい。続いて、二値の乱数Rがオンドットを示すか否かを判定する(S502、S507)。
【０１０２】
そして、量子化部103は、I＞rgかつR=オンドットの場合は、量子化閾値thと加算値I'の大小関係に関わらず、出力画素値O=255にする(S506)。
I＞rg かつ R = 255の場合、O = 255      …(25)
【０１０３】
また、量子化部103は、I＞rgかつR=オフドットの場合は、加算値I'と量子化閾値th（例えば128）を比較し(S503)、式(26)に示すように出力画素値Oを決定する(S504、S505)。
I＞rg かつ R = 0
かつ I'＜thの場合、O = 0      …(26)
かつ I'≧thの場合、O = 255
【０１０４】
また、量子化部103は、I≦rgかつR=オフドットの場合は、量子化閾値thと加算値I'の大小関係に関わらず、出力画素値O=0にする(S511)。
I≦rg かつ R = 0の場合、O = 0      …(27)
【０１０５】
また、量子化部103は、I≦rgかつR=オンドットの場合は、加算値I'と量子化閾値thを比較し(S508)、式(28)に示すように出力画素値Oを決定する(S509、S510)。
I≦rg かつ R = 255
かつ I'＜thの場合、O = 0      …(28)
かつ I'≧thの場合、O = 255
【０１０６】
このように、二値の乱数Rを発生しながら、二値の乱数Rを使用して入力画像を量子化する。従って、二値乱数パターンの階調rgより小さい、一様な階調をもつ入力画像を処理する場合、出力画像においてオンドットが生成される画素は、二値乱数パターンの乱数R=255である座標の中から選択されることになる。つまり、二値パターン画像として、テクスチャの発生がなく、ドット配置の分散性が高いパターンを利用することで、オンドットが規則的に生成されることを防ぐことができる。
【０１０７】
また、テクスチャは同じレベルに量子化された出力画素が規則的に並ぶことで発生する。四値乱数パターンとしてブルーノイズ特性を有する画像を用いることで、同じレベルに量子化された出力画素の規則的な発生を防ぐことができ、テクスチャの発生を防ぐことができる。
【０１０８】
［他の実施例］
なお、本発明は、複数の機器（例えばコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置、制御装置など）に適用してもよい。
【０１０９】
また、本発明の目的は、上記実施例の機能を実現するコンピュータプログラムを記録した記憶媒体をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（CPUやMPU）が前記コンピュータプログラムを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する、コンピュータが読み取り可能な記憶媒体は本発明を構成する。
【０１１０】
また、前記コンピュータプログラムの実行により上記機能が実現されるだけではない。つまり、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【０１１１】
また、前記コンピュータプログラムがコンピュータに接続された機能拡張カードやユニットのメモリに書き込まれていてもよい。つまり、そのコンピュータプログラムの指示により、前記カードやユニットのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【０１１２】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応または関連するコンピュータプログラムが格納される。
【図面の簡単な説明】
【０１１３】
【図１】実施例1の画像処理装置の構成例を示すブロック図、
【図２】画像処理装置の動作を説明するフローチャート、
【図３】入力画像の走査を示す図、
【図４】累積誤差メモリが格納する累積誤差値を説明する図、
【図５】量子化部の処理を説明するフローチャート、
【図６】実施例2の画像処理装置の構成例を示すブロック図、
【図７】画像処理装置の動作を説明するフローチャート、
【図８】量子化部の処理を説明するフローチャート、
【図９】実施例3の画像処理装置の構成例を示すブロック図、
【図１０】画像処理装置の動作を説明するフローチャート、
【図１１】量子化部の処理を説明するフローチャート、
【図１２】実施例4の画像処理装置の構成例を示すブロック図、
【図１３】画像処理装置の動作を説明するフローチャート、
【図１４】量子化部の処理を説明するフローチャートである。
【図１】
2008228103.tif 000003
【図２】
2008228103.tif 000004
【図３】
2008228103.tif 000005
【図４】
2008228103.tif 000006
【図５】
2008228103.tif 000007
【図６】
2008228103.tif 000008
【図７】
2008228103.tif 000009
【図８】
2008228103.tif 000010
【図９】
2008228103.tif 000011
【図１０】
2008228103.tif 000012
【図１１】
2008228103.tif 000013
【図１２】
2008228103.tif 000014
【図１３】
2008228103.tif 000015
【図１４】
2008228103.tif 000016