(57)【特許請求の範囲】
【請求項１】
入力画像をフィルタ処理したフィルタリング画像を生成する第一のフィルタ手段と、
前記入力画像を量子化した量子化画像を生成し、前記量子化画像をメモリに格納する量子化手段と、
前記量子化画像を前記フィルタ処理した量子化フィルタリング画像を生成する第二のフィルタ手段と、
前記量子化フィルタリング画像と前記フィルタリング画像の差分を示す第一の差分画像を生成する第一の差分画像の生成手段と、
前記第一の差分画像に基づき前記量子化画像の画素値を更新した更新量子化画像を生成する更新手段と、
前記更新量子化画像を前記フィルタ処理した更新量子化フィルタリング画像を生成する第三のフィルタ手段と、
前記更新量子化フィルタリング画像と前記フィルタリング画像の差分を示す第二の差分画像を生成する第二の差分画像の生成手段と、
前記第一の差分画像の第一の評価値および前記第二の差分画像の第二の評価値を算出し、前記第一の評価値が前記第二の評価値よりも大きい場合は前記更新量子化画像の生成を繰り返すと判定し、前記第一の評価値が前記第二の評価値以下の場合は前記更新量子化画像の生成を繰り返さないと判定する判定手段と、
前記更新量子化画像の生成を繰り返すと判定された場合は、前記メモリが格納する前記量子化画像を前記更新量子化画像によって置き換える置換手段と、
前記更新量子化画像の生成を繰り返さないと判定された場合は、前記メモリが格納する前記量子化画像を出力する出力手段とを有することを特徴とする画像処理装置。
【請求項２】
前記第一の評価値は、前記第一の差分画像における画素の最大値の絶対値と画素の最小値の絶対値の和であり、
前記第二の評価値は、前記第二の差分画像における画素の最大値の絶対値と画素の最小値の絶対値の和であることを特徴とする請求項1に記載された画像処理装置。
【請求項３】
前記判定手段が前記更新量子化画像の生成を繰り返さないと判定するまで、前記第二および第三のフィルタ手段、前記第一および第二の差分画像の生成手段、並びに、前記更新手段の処理を繰り返すことを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項４】
前記更新手段は、前記第一の差分画像の最大値を示す画素の座標に対応する前記量子化画像の画素値と、前記第一の差分画像の最小値を示す画素の座標に対応する前記量子化画像の画素値を互いに入れ替えることにより、前記更新量子化画像を生成することを特徴とする請求項1から請求項3の何れか一項に記載された画像処理装置。
【請求項５】
第一から第三のフィルタ手段、量子化手段、第一および第二の差分画像の生成手段、更新手段、判定手段、置換手段、出力手段を有する画像処理装置の画像処理方法であって、
前記第一のフィルタ手段が、入力画像をフィルタ処理したフィルタリング画像を生成し、
前記量子化手段が、前記入力画像を量子化した量子化画像を生成し、前記量子化画像をメモリに格納し、
前記第二のフィルタ手段が、前記メモリに格納された量子化画像を前記フィルタ処理した量子化フィルタリング画像を生成し、
前記第一の差分画像の生成手段が、前記量子化フィルタリング画像と前記フィルタリング画像の差分を示す第一の差分画像を生成し、
前記更新手段が、前記第一の差分画像に基づき前記量子化画像の画素値を更新した更新量子化画像を生成し、
前記第三のフィルタ手段が、前記更新量子化画像を前記フィルタ処理した更新量子化フィルタリング画像を生成し、
前記第二の差分画像の生成手段が、前記更新量子化フィルタリング画像と前記フィルタリング画像の差分を示す第二の差分画像を生成し、
前記判定手段が、前記第一の差分画像の第一の評価値および前記第二の差分画像の第二の評価値を算出し、前記第一の評価値が前記第二の評価値よりも大きい場合は前記更新量子化画像の生成を繰り返すと判定し、前記第一の評価値が前記第二の評価値以下の場合は前記更新量子化画像の生成を繰り返さないと判定し、
前記置換手段が、前記更新量子化画像の生成を繰り返すと判定された場合は、前記メモリが格納する前記量子化画像を前記更新量子化画像によって置き換え、
前記出力手段が、前記更新量子化画像の生成を繰り返さないと判定された場合は、前記メモリが格納する前記量子化画像を出力することを特徴とする画像処理方法。
【請求項６】
コンピュータを請求項1から請求項4の何れか一項に記載された画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の階調数を低減して画像を表現する画像処理に関する。
【背景技術】
【０００２】
階調数を低減して画像を表現する擬似中間調処理としてディザ法が知られている。ディザ法は、予め用意した閾値マトリクスと多値の入力データを比較して、例えば、入力データを二値化し、入力データが表す階調（画像）を擬似的に表現する。ディザ法は、閾値マトリクスと多値の入力データの比較により、二値化、三値化、四値化、…などの量子化が可能な、高速な中間調処理法である。
【０００３】
ディザ法を用いて中間調処理を行う場合、階調の変化が穏やかな平坦部においては良好な量子化が可能である。しかし、高周数波成分を含む文字の細線などのエッジ部においては、中間調処理後の画像にエッジの乱れや細線の途切れが発生し、画像の再現性が低下する。ディザ法を用いる場合のエッジの乱れや細線の途切れを低減する技術として、文字や細線と判定された領域において閾値マトリクスの値をより小さくし、エッジの乱れや細線の途切れを防ぐ技術が提案されている（特許文献1）。
【０００４】
しかし、特許文献1に記載された手法は、文字や細線の判定が必要であり、誤判定が発生すればエッジの乱れや細線の途切れが生じる。さらに、文字や細線が正しく判定されたとしても、閾値マトリクスの値を小さくするので文字や細線の濃度が上がることになり、濃度の再現性が低下する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平11-345327号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、画像の中間調処理において、エッジの乱れや細線の途切れを抑制することを目的とする。
【０００７】
また、中間調処理した画像の濃度再現性を向上することを他の目的とする。
【課題を解決するための手段】
【０００８】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【０００９】
本発明にかかる画像処理は、入力画像をフィルタ処理したフィルタリング画像を生成し、前記入力画像を量子化した量子化画像を生成し、前記量子化画像をメモリに格納し、前記メモリに格納された量子化画像を前記フィルタ処理した量子化フィルタリング画像を生成し、前記フィルタリング画像と前記量子化フィルタリング画像の差分を示す第一の差分画像を生成し、前記第一の差分画像に基づき前記量子化画像の画素値を更新した更新量子化画像を生成し、前記更新量子化画像を前記フィルタ処理した更新量子化フィルタリング画像を生成し、前記フィルタリング画像と前記更新量子化フィルタリング画像の差分を示す第二の差分画像を生成し、前記第一の差分画像の第一の評価値および前記第二の差分画像の第二の評価値を算出し、前記第一の評価値が前記第二の評価値よりも大きい場合は前記更新量子化画像の生成を繰り返すと判定し、前記第一の評価値が前記第二の評価値以下の場合は前記更新量子化画像の生成を繰り返さないと判定し、前記更新量子化画像の生成を繰り返すと判定された場合は、前記メモリが格納する前記量子化画像を前記更新量子化画像によって置き換え、前記更新量子化画像の生成を繰り返さないと判定された場合は、前記メモリが格納する前記量子化画像を出力することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、画像の中間調処理において、エッジの乱れや細線の途切れを抑制することができる。
【００１１】
また、中間調処理した画像の濃度再現性を向上することができる。
【図面の簡単な説明】
【００１２】
【図１】実施例の画像処理装置の構成例を説明するブロック図。
【図２】画像処理装置が実行する中間調処理を説明するフローチャート。
【図３】注目画素の値によりフィルタ係数が変化することを説明する図。
【図４】量子化部のディザ処理の概要を説明する図。
【図５】入力画像Gp、LPF画像GpF、量子化画像QGp、量子化LPF画像QGpFを説明する図。
【図６】量子化画像QGpと更新量子化画像IQGpを説明する図。
【図７】出力部から出力される量子化画像QGpを説明する図。
【発明を実施するための形態】
【００１３】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。
【実施例１】
【００１４】
［装置の構成］
図1のブロック図により実施例の画像処理装置の構成例を説明する。なお、実施例の画像処理装置は、例えば、汎用のコンピュータにプリンタドライバをインストールすることによって実現可能である。その場合、以下に説明する画像処理装置の各構成は、コンピュータのマイクロプロセッサ(CPU)がプリンタドライバのプログラムを実行することにより実現され、制御される。
【００１５】
入力部101は、中間調処理する画像を入力する。第一のフィルタであるLPF部102は、入力部101が入力した画像をローパスフィルタ(LPF)処理したフィルタリング画像（以下、LPF画像）を生成する。量子化部103は、入力部101が入力した画像を量子化処理した画像（以下、量子化画像）を生成し、量子化画像を更新前メモリ104に格納する。また、量子化部103は、読出部115から量子化画像が入力された場合は、量子化を行わず、入力された量子化画像によって更新前メモリ104に格納した量子化画像を置換する。
【００１６】
第二のフィルタであるLPF部105は、更新前メモリ104に格納された量子化画像をLPF処理した量子化フィルタリング画像（以下、量子化LPF画像）を生成する。加算器106は、量子化LPF画像からLPF画像を減算して第一の差分画像を生成する。更新前評価部107は、詳細は後述するが、加算器106が出力する第一の差分画像を評価する。
【００１７】
画素更新部108は、詳細は後述するが、更新前評価部107が出力する評価値に基づき、更新前メモリ104に格納された量子化画像の画素値を更新した更新量子化画像を生成し、更新量子化画像を更新後メモリ109に格納する。
【００１８】
第三のフィルタであるLPF部110は、更新量子化画像をローパスフィルタ処理した更新量子化フィルタリング画像（以下、更新量子化LPF画像）を生成する。加算器111は、更新量子化LPF画像からLPF画像を減算して第二の差分画像を生成する。更新後評価部112は、詳細は後述するが、加算器111が出力する第二の差分画像を評価する。
【００１９】
比較部113は、更新前評価部107が出力する評価値と、更新後評価部112が出力する評価値を比較する。判定部114は、詳細は後述するが、比較部113の比較結果に基づき、画素更新部108による更新を継続するか否か、言い替えれば、更新量子化画像の生成を繰り返すか否かを判定する。読出部115は、判定部114の判定結果に基づき、更新前メモリ104に格納された量子化画像、または、更新後メモリ109に格納された更新量子化画像の何れかを読み出す。
【００２０】
判定部114の判定結果が更新継続を示す場合、読出部115は、更新後メモリ109に格納された更新量子化画像を読み出し、更新量子化画像を量子化部103へ入力する。また、判定部114の判定結果が更新終了を示す場合、読出部115は、更新前メモリ104に格納された量子化画像を読み出し、量子化画像を出力部116に入力する。出力部116は、量子化画像を出力し、一連の中間調処理が終了する。
【００２１】
［中間調処理］
図2のフローチャートにより画像処理装置が実行する中間調処理を説明する。図2に示す処理は、CPUがプリンタドライバのプログラムを実行することによって実現される。なお、以下では、画像全体を中間調処理する例を説明する。しかし、画像を複数の局所領域に分割し、それら局所領域を並列に中間調処理してもよい。その場合、局所領域ごとに図2に示す処理が実行される。また、以下では、入力画像を8ビットとし、量子化として二値化する例を説明するが、画像のビット深さ、量子化後の階調数は、これに制限されるわけではない。さらに、画像データの0が最小濃度（例えば白）を、255が最大濃度（例えば黒）を表す例を説明するが、これに限定されるものではない。さらに、入力画像のサイズが32×32画素の例を説明するが、他のサイズでもよいことは言うまでもない。
【００２２】
CPUは、LPF部102の処理として、入力画像をLPF処理してLPF画像を生成する(S101)。入力画像をGp(x, y)（0≦x≦31、0≦y≦31）とすると、LPF画像GpFは下式のように算出される。なお、LPF処理には、Gpの注目画素の値に応じて変化する二次元ガウシアンフィルタF(Gp, px, py)を用いる。
GpF = Gp＊F(Gp, px, py)      …(1)
F(Gp, px, py) = F'(Gp, px, py)/Sum      …(2)
F'(Gp, px, py) = {1/2πσx(Gp)σy(Gp)}exp[-{(px/σx(Gp))2+(py/σy(Gp))2}/2]  …(3)
ここで、＊はコンボリューション演算を表す、
SumはF'係数の合計値。
【００２３】
式(3)において、重み係数σx(Gp)、σy(Gp)の値は注目画素の値に応じて変化する。図3により注目画素の値によりフィルタ係数が変化することを説明する。なお、説明を簡略化するため、図3にはフィルタサイズが5×5の正方形の例を示すが、7×7、9×9のようなサイズでもよい。図3(a)はGp=30においてσx(Gp)=1.6、σy(Gp)=1.6になるフィルタ例を示す。また、図3(b)はGp=40においてσx(Gp)=1.3、σy(Gp)=1.3になるフィルタ例を示す。つまり、注目画素の値に応じて、フィルタFのフィルタ係数は変化する。
【００２４】
次に、CPUは、量子化部103の処理として、量子化画像を生成し(S102)、量子化画像を更新前メモリ104に格納する(S103)。量子化部103は、ブルーノイズ型の閾値マトリクスを用いるディザ法により画像を量子化する。勿論、ディザ法を用いずに、他の中間調処理によって画像を量子化してもよいし、ブルーノイズ型以外の閾値マトリクス、例えばベイヤ型やAMスクリーン型の閾値マトリクスを用いてもよい。
【００２５】
図4により量子化部103のディザ処理の概要を説明する。量子化部103は、入力画像Gpの各画素値と、対応する閾値マトリクスThの閾値を比較して、量子化画像QGpを出力する。その際の量子化の規則は下式により表される。
if (Gp ≦ Th)
QGp = 0；
else
QGp = 255；      …(4)
【００２６】
次に、CPUは、LPF部105の処理として、更新前メモリ104に格納された量子化画像QGpをLPF処理して、量子化LPF画像QGpFを生成する(S104)。なお、フィルタとして、式(2)(3)に示すフィルタFを用いる。つまり、LPF部105のLPF処理は下式によって表される。
QGpF = QGp＊F(Gp, px, py)      …(5)
【００２７】
図5により入力画像Gp、LPF画像GpF、量子化画像QGp、量子化LPF画像QGpFを説明する。図5に示すように、入力画像Gpは、中間調の細線が格子状に描かれた画像である。この入力画像Gpを量子化すると量子化画像QGpのように細線に途切れが生じ、入力画像GpをLPF処理するとLPF画像GpFのように細線が暈けた画像が得られる。また、量子化画像QGpをLPF処理すると量子化LPF画像QGpFのように途切れた細線が暈けた画像が得られる。
【００２８】
次に、CPUは、加算器106の処理として、量子化LPF画像QGpFからLPF画像GpFを減算した差分画像Gdiffを算出する(S105)。
Gdiff = QGpF - GpF      …(7)
【００２９】
次に、CPUは、更新前評価部107の処理として、差分画像Gdiffを評価する(S106)。本実施例においては、評価値として、差分画像Gdiffが含む画素の最大値Maxe、最小値Mineを抽出し、それらの絶対値の和Abseを算出する。
Maxe = Max(Gdiff)      …(8)
Mine = Min(Gdiff)      …(9)
Abse = √(Maxe2) + √(Mine2)      …(10)
【００３０】
次に、CPUは、画素更新部108の処理として、差分画像Gdiffの、最大値Maxeおよび最小値Mineを示す画素の座標に基づき、更新前メモリ104に格納された量子化画像QGpの画素値を更新した更新量子化画像IQGpを生成する(S107)。そして、更新量子化画像IQGpを更新後メモリ109に格納する(S108)。
【００３１】
画素更新部108は、差分画像Gdiffの、Maxeを示す画素Pの座標(xMax, yMax)と、Mineを示す画素Rの座標(xMin, yMin)を取得する。
xMax = x(P(Maxe))
yMax = y(P(Maxe))      …(11)
xMin = x(R(Mine))
yMin = y(R(Mine))      …(12)
【００３２】
続いて、画素更新部108は、取得した座標を基に、更新前メモリ104に格納された量子化画像QGpの画素値を入れ替え、更新量子化画像IQGpを生成する。
IQGp(x, y) = QGp(x, y)        …(13)
IQGp(xMin, yMin) = tmpMax      …(14)
IQGp(xMax, yMax) = tmpMin      …(15)
ここで、tmpMaxはQGp(xMax, yMax)
tmpMinはQGp(xMin, yMin)
【００３３】
図6により量子化画像QGpと更新量子化画像IQGpを説明する。量子化画像QGpにおいて、符号601は、Maxeを示す画素の座標(xMax, yMax)を示し、符号602は、Mineを示す画素の座標(xMin, yMin)を示す。更新量子化画像IQGpにおいて、符号603は座標(xMax, yMax)を示し、符号604は座標(xMin, yMin)を示す。つまり、差分画像Gdiffにおいて最大値Maxeを示す画素の座標に対応する量子化画像QGpの画素値と、差分画像Gdiffにおいて最小値Mineを示す画素の座標に対応する量子化画像QGpの画素値を互いに入れ替えたものが更新量子化画像IQGpである。
【００３４】
次に、CPUは、LPF部110の処理として、更新量子化画像IQGpをLPF処理して、更新量子化LPF画像IQGpFを生成する(S109)。なお、フィルタとして、式(2)(3)に示すフィルタFを用いる。つまり、LPF部110のLPF処理は下式によって表される。
IQGpF = IQGp＊F(Gp, px, py)      …(16)
【００３５】
次に、CPUは、加算器111の処理として、更新量子化LPF画像IQGpFからLPF画像GpFを減算した差分画像IGdiffを算出する(S110)。
IGdiff = IQGpF - GpF      …(17)
【００３６】
次に、CPUは、更新後評価部112の処理として、差分画像IGdiffを評価する(S111)。本実施例においては、評価値として、差分画像IGdiffが含む画素の最大値IMaxe、最小値IMineを抽出し、それらの絶対値の和IAbseを算出する。
IMaxe = Max(IGdiff)      …(18)
IMine = Min(IGdiff)      …(19)
IAbse = √(IMaxe2) + √(IMine2)      …(20)
【００３７】
次に、CPUは、比較部113の処理として、更新前評価部107の評価値Abseと更新後評価部112の評価値IAbseの大小関係を比較する(S112)。そして、判定部114の処理として、更新前の評価値が更新後の評価値を超える（Abse＞IAbse）場合は更新継続と判定し、更新前の評価値が更新後の評価値以下（Abse≦IAbse）の場合は更新終了と判定する(S113)。
【００３８】
更新継続の場合、CPUは、読出部115の処理として、更新後メモリ109に格納された更新量子化画像IQGpを読み出す(S114)。そして、処理をステップS103に戻して、更新前メモリ104に格納した量子化画像QGpを更新量子化画像IQGpによって置き換える。また、更新終了の場合、読出部115および出力部116の処理として、更新前メモリ104に格納された量子化画像QGpを読み出し、量子化画像QGpを出力して(S115)、処理を終了する。
【００３９】
図7により出力部116から出力される量子化画像QGpを説明する。図7(a)は量子化部103(S102)によってディザ処理（量子化）が実行された量子化画像QGpを表す。図7(b)は出力部116から出力される量子化画像QGpを表す。これら図から、画素更新部108(S107)による画素値の入れ替えにより、黒画素と白画素が交換され、細線の再現性が向上することがわかる。
【００４０】
画素値の入れ替え（更新）は、更新前の評価値が更新後の評価値以下（Abse≦IAbse）になるまで繰り返される。つまり、画素値の入れ替えにより、評価値が小さくなるのであれば画素値の入れ替え（更新量子化画像の生成）を継続し、評価値が小さくならない場合は画素値の入れ替え（更新量子化画像の生成）を終了する。そして、更新前の評価値が更新後の評価値以下になる直前の量子化画像QGpのディザ処理が最良の状態にあるとして、更新前メモリ104に格納された量子化画像QGpを出力する。
【００４１】
このように、中間調処理した画像のエッジや細線や再現性が向上するように画素値の入れ替え（更新量子化画像の生成）を行って、エッジの乱れや細線の途切れを抑制するとともに、濃度再現性の高い中間調処理画像を生成することができる。
【００４２】
［変形例］
上記では、第一および第二の差分画像が含む画素の最大値と最小値を抽出し、それらの絶対値の和を評価値とする例を説明した。これは、差分画像の各画素は正の値から負の値を取るため、正負両方向の値が大きい画素の値に基づき評価値を計算する例である。評価値として、絶対値の和に限らず、最大値と最小値の差分の絶対値なども使用可能である。
【００４３】
上記では、差分画像Gdffの最大値を示す画素の座標に対応する量子化画像の画素値と、差分画像Gdffの最小値を示す画素の座標に対応する量子化画像の画素値を互いに入れ替えて更新量子化画像を生成する例を説明した。しかし、一番目、二番目、三番目、…の最大値を示す画素の座標に対応する量子化画像の画素値と、一番目、二番目、三番目、…の最小値を示す画素の座標に対応する量子化画像の画素値を互いに入れ替えて更新量子化画像を生成してもよい。
【００４４】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ（又はCPUやMPU等）がプログラムを読み出して実行する処理である。
【図１】
0005744461.tif 000002
【図２】
0005744461.tif 000003
【図３】
0005744461.tif 000004
【図４】
0005744461.tif 000005
【図６】
0005744461.tif 000006
【図７】
0005744461.tif 000007
【図５】
0005744461.tif 000008