画像補正装置および画像補正方法
【課題】 「線の幅」、「線の濃さ」、「ぎざぎざさ」「ぼけ」、「色ズレ」、「途切れ」といった細線の再現性に関わる要因を総合的に評価して、補正する。
【解決手段】 入力画像の周波数空間におけるスペクトルを算出するスペクトル算出手段と、前記入力画像に対応する周波数空間における参照スペクトルを取得する参照情報取得手段と、前記入力画像のスペクトルと前記参照スペクトルとを比較して、前記入力画像を評価する評価手段と、前記評価手段による結果に応じて、前記入力画像を補正する補正手段とを有し、前記評価手段は、前記参照スペクトルにおいて振幅が出現する領域と、振幅が出現しない領域とを分けて、前記入力画像のスペクトルと前記参照スペクトルとを比較する。
【解決手段】 入力画像の周波数空間におけるスペクトルを算出するスペクトル算出手段と、前記入力画像に対応する周波数空間における参照スペクトルを取得する参照情報取得手段と、前記入力画像のスペクトルと前記参照スペクトルとを比較して、前記入力画像を評価する評価手段と、前記評価手段による結果に応じて、前記入力画像を補正する補正手段とを有し、前記評価手段は、前記参照スペクトルにおいて振幅が出現する領域と、振幅が出現しない領域とを分けて、前記入力画像のスペクトルと前記参照スペクトルとを比較する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像補正装置に関する。
【背景技術】
【0002】
近年、インクジェット方式や電子写真方式などのプリンタエンジン部は、より品位の高い印字を行うために印字の高密度化が進んでいる。その結果、600dpiやそれ以上の印字密度のプリンタが発売されているが、印字が高密度化してくると解像度が向上する一方、画像の細線の再現性は不安定になりやすい。そこで高密度な印字が可能なプリンタでは、細線の再現性を向上させるための画像補正処理が求められる。
【0003】
特許文献1に記載された方法によれば、細線の太さを判定し細線の太さに応じて階調補正を行うことで、細線をユーザの所望の太さに再現することができる。
【0004】
また、プリンタなどの出力機器で出力した画像を、CCDカメラなどの画像取得機器で読み取って、画質を定量的に評価する手法もいくつか提案されている。
【0005】
特許文献2に記載された方法によれば、CCDカメラで読み取り、取得した線画像から線幅と線の濃さを求めることができる。
【0006】
特許文献3に記載された方法によれば、CCDカメラで読み取り、取得した線画像からエッジの凹凸度(以下、ぎざぎざさと記述)と線の濃さを測定することができる。
【0007】
これらの測定方法によって算出される評価値をもとに細線画像を補正することが可能である。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2004−153747
【特許文献2】特開平10−283483
【特許文献3】特開平10−288507
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながらいずれの方法によっても、細線の再現性を低下させてしまう6つの要因、線幅、線の濃さ、ぎざぎざさ、ぼけ、色ずれ、途切れを総合的に評価して補正することはできないという課題がある。
【0010】
具体的には、特許文献1では「線幅」、特許文献2では「線幅」と「線の濃さ」、特許文献3の評価方法では「ぎざぎざさ」と「線の濃さ」は考慮されているが、それ以外の要因については考慮されていない。特に途切れや、ぼけ、色ズレによって細線の再現性が悪化していても、それらは考慮されていない。そのためこれらの要因の変動を総合的に補正することはできなかった。
【0011】
そこで、本発明の目的は、「線の幅」、「線の濃さ」、「ぎざぎざさ」「ぼけ」、「色ズレ」、「途切れ」といった細線の再現性に関わる要因を総合的に評価して、補正する画像補正装置を提供することにある。
【課題を解決するための手段】
【0012】
上記課題を解決するため、本発明に係る画像補正装置は、入力画像の周波数空間におけるスペクトルを算出するスペクトル算出手段と、前記入力画像に対応する周波数空間における参照スペクトルを取得する参照情報取得手段と、前記入力画像のスペクトルと前記参照スペクトルとを比較して、前記入力画像を評価する評価手段と、前記評価手段による結果に応じて、前記入力画像を補正する補正手段とを有し、前記評価手段は、前記参照スペクトルにおいて振幅が出現する領域と、振幅が出現しない領域とを分けて、前記入力画像のスペクトルと前記参照スペクトルとを比較することを特徴とする。
【発明の効果】
【0013】
本発明によって、細線再現性に関わる複数の要因を総合的に評価して、補正することが可能となる。
【図面の簡単な説明】
【0014】
【図1】実施例1における画像補正装置のブロック図
【図2】図1の線再現性評価部110のブロック図
【図3】細線再現性評価処理のフローチャート
【図4】妨害度算出のフローチャート
【図5】忠実度算出のフローチャート
【図6】DC差算出のフローチャート
【図7】従来の評価項目と本発明の評価値の関係を表す振幅スペクトル
【図8】従来の評価項目と本発明の評価値の関係を表すスペクトルのグラフ(断面図)
【図9】実施例2の細線補正方法のフローチャート
【図10】忠実領域と妨害領域を示す図
【図11】図1の補正処理部109のブロック図
【発明を実施するための形態】
【0015】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【実施例1】
【0016】
スキャナなどの読み取り機器から取得した細線を含む画像データに対して、細線の再現性を総合的に評価し、細線再現性の悪化への影響が大きい項目から補正をする装置について説明する。細線再現性の評価は、評価したい線画像と参照する線画像との周波数特性(スペクトル)の違いに基づいて算出する。
【0017】
●細線補正装置
図1は、本実施形態である細線補正装置の構成をあらわすブロック図である。
【0018】
画像入力部101は、細線の再現性を評価したい画像データを入力画像データとして取得する。ここでは、入力画像データの色空間はレッド(R)、グリーン(G)、ブルー(B)からなるRGBであり、入力画像データは、それぞれR(x、y)、G(x、y)、B(x、y)と定義する。ここでx、yは画像の座標である。
【0019】
画像前処理部102は、入力画像データにおける線が画像の中心を通るように線の周囲を切り取る(トリミングする)処理を行う。
【0020】
第1色空間変換部103は、色変換テーブル部104を用いて、入力画像データの色空間をXYZ色空間に変換する。これは紙白領域(線以外の領域)の入力画像データの平均値を算出するのに適した色空間にするためである。
X=X_LUT_3D(R,G,B)
Y=Y_LUT_3D(R,G,B)・・・(1)
Z=Z_LUT_3D(R,G,B)
【0021】
線領域抽出処理部105は、線以外の領域が評価値に及ぼす影響を低減するため、入力画像データを線領域と紙白(線以外の)領域とに分離する。線領域の抽出には例えば、大津による方法(大津,判別および最小2乗基準に基づく自動しきい値選定法,電子通信学会論文誌,Vol.J63−D,No.4,pp.349−356,1980)を用いれば良い。
【0022】
また、紙白領域の入力画像データを一定値X_wh、Y_wh、Z_wh(以下、紙白代表値と書く)に置き換える。紙白代表値は、例えば、紙白領域における入力画像データの平均値を用いる。線以外の領域において、必ずしも各画素の入力画像データが一定値なわけではない。そこで、紙白領域における各画素の入力画像データの平均値を紙白値として用いることにより、細線再現性の評価に及ぼす紙白領域の影響を抑制することができる。
【0023】
第2色空間変換部106は、XYZ色空間をL*a*b*色空間に変換する。
【0024】
この際、紙白代表値X_wh、Y_wh、Z_whもL*a*b*色空間に変換し、L_wh、a_wh、b_whとする。
L=L_LUT_3D(X,Y,Z)
a=a_LUT_3D(X,Y,Z)・・・(2)
b=b_LUT_3D(X,Y,Z)
【0025】
細線再現性評価部107は、細線の再現性を評価するための評価値を算出する。再現性は、参照細線テーブル部108に格納された参照画像における細線に関する情報と比較して評価する。
【0026】
本実施例では、「妨害度」、「忠実度」、「DC差」の3種類の評価値をL、a、bごとに算出する(以降、L_妨害度、a_妨害度、b_妨害度、L_忠実度、a_忠実度、b_忠実度、L_DC差、a_DC差、b_DC差と記述する)。
【0027】
さらにこれら9つの評価値を合わせた値である「再現性評価値」(以降、再現性評価値LNと記述する)を算出し、本実施例では以上10個の評価値を算出する例を示す。前記評価値の数はこれに限らず、全てが使われていなくても良い。細線再現性評価部107の詳細は後述する。
【0028】
参照細線テーブル部108は、細線再現性評価部107において必要な参照画像における細線の直流成分(以下、参照L_DC、参照a_DC、参照b_DCと記述)と細線の振幅スペクトルが格納されている。なお、参照する線の振幅スペクトルは図8の801に示すようなsinc関数の形になる。また701、801からわかるように、参照画像の線では、u軸上以外の周波数帯における振幅はゼロなので、参照細線テーブル部108に格納するのは、u軸上の振幅スペクトルのみでもよい。本実施例では、参照細線テーブル部108に格納されている振幅スペクトルはu軸上の振幅スペクトル(以下、参照F_L忠実、参照F_a忠実、参照F_b忠実と記述)とする。参照L_DC、参照a_DC、参照b_DC、参照F_L忠実、参照F_a忠実、参照F_b忠実の詳細ついては後述する。
【0029】
補正処理部109は、細線再現性評価部107から得られた評価結果に応じて、細線の再現性を悪化させる要因に対して補正処理を行う。補正処理の詳細は後述する。
【0030】
画像出力装置110は、プリンタやディスプレイ、プロジェクタなどを表し、補正処理部から得た補正後の画像データを出力する。
【0031】
本実施形態の構成においては、上記以外にも様々な構成要素が存在し得るが、本発明の主眼ではないため、その説明は省略する。
【0032】
●細線再現性評価部
以下、細線再現性評価部107を図2のブロック図と図3のフローチャートを使って説明する。
【0033】
まず、妨害度および忠実度を算出するため振幅スペクトルを求める。
【0034】
ステップS301において、第2色空間変換部106は入力画像データ(L、a、b)と紙白代表値L_wh、a_wh、b_whを算出し、細線再現性評価部107に入力する。
【0035】
次に、ステップS302において、紙白反転処理部200は、入力画像データL、a、bの紙白代表値がゼロになるように入力画像データから紙白代表値を減算し、その差分を反転する。
L’(x,y)=L_wh−L(x,y)
a’(x,y)=a_wh−a(x,y)・・・(3)
b’(x,y)=b_wh−b(x,y)
【0036】
次に、ステップS303において、二次元窓かけ処理部201は、入力画像データL’(x,y)、a’(x,y)、b’(x,y)に二次元の窓関数win(x,y)をかける。この二次元窓かけ処理により、余分な高周波を除去するとともに、フーリエ変換するために信号を有限時間長に切りだしている。窓関数にはハミング窓などを使えばよい。
Lw(x,y)=L’(x,y)win(x,y)
aw(x,y)=a’(x,y)win(x,y)・・・(4)
bw(x,y)=b’(x,y)win(x,y)
【0037】
次に、ステップS304において、直流成分算出部202は線画像の直流成分L_DC,a_DC,b_DCを算出する。直流成分を算出するには、例えば、二次元窓掛け処理部201で算出した窓かけ後画像の画素値の和を窓関数の値の和で割れば良い。
【0038】
【数1】
【0039】
次に、ステップ305において、フーリエ変換部203は、フーリエ変換により振幅スペクトルを作成する。なお、フーリエ変換する前に二次元窓かけ処理をした値(Lw、aw、bw)から、直流成分(L_DC,a_DC,b_DC)を引いてからフーリエ変換を行う。
F_L(u,v)=Fourier{Lw(x,y)−L_DC×w(x,y)}
F_a(u,v)=Fourier{aw(x,y)−a_DC×w(x,y)}…(6)
F_b(u,v)=Fourier{bw(x,y)−b_DC×w(x,y)}
なお、u、vは周波数を示す。ここで、u、v=0(uv座標の原点)の場合は直流成分を示し、u、v<0は負の周波数を示す。
【0040】
次に、ステップS306において、スペクトル領域分割部204は、フーリエ変換部203から出力された振幅スペクトルを図10のように分離する。具体的には参照となる線画像において振幅スペクトルが出現する領域(以下、忠実領域と記述)と出現しない領域(以下、妨害領域と記述)に分離する。入力画像データ1005の場合、振幅スペクトル1006の忠実領域は線の方向に対して垂直であるu軸上であり、妨害領域はu軸上以外である。入力画像データ1007の場合、振幅スペクトル1008の忠実領域は細線に対して垂直な方向、妨害領域はそれ以外である。
【0041】
このとき、図10の忠実領域と妨害領域を分ける境界線1001〜1004は画像の線の傾きをc[rad]、線の傾き推定の許容誤差をe[rad]、忠実領域の幅をd[周波数]とすると次の式で表すことができる。
1001:v=tan(c−e+π/2)u+d/2(sin(c)−cos(c)tan(c−e+π/2))
1002:v=tan(c+e+π/2)u+d/2(sin(c)−cos(c)tan(c+e+π/2))
1003:v=tan(c+e+π/2)u−d/2(sin(c)−cos(c)tan(c+e+π/2))
1004:v=tan(c−e+π/2)u−d/2(sin(c)−cos(c)tan(c−e+π/2)) ・・・(7)
このとき、境界線1001〜1004に囲まれた領域が忠実領域、それ以外が妨害領域といえる。以降、妨害領域の振幅スペクトルをF_L妨害、F_a妨害、F_b妨害と記述し、忠実領域の振幅スペクトルをF_L忠実、F_a忠実、F_b忠実と記述する。
【0042】
次に、ステップS307において、妨害度算出部205は、妨害領域の振幅スペクトルF_L妨害、F_a妨害、F_b妨害を評価するためのL_妨害度、a_妨害度、b_妨害度を算出する。詳細は後述する。
【0043】
次に、ステップS308において、忠実度算出部206は、忠実領域の振幅スペクトルF_L忠実、F_a忠実、F_b忠実を評価するためのL_忠実度、a_忠実度、b_忠実度を算出する。処理の詳細は後述する。
【0044】
次に、ステップS309において、DC差算出部207は、入力画像データの直流成分を評価するためのDC差を求める。S304で算出した入力画像データの直流成分L_DC、a_DC、b_DCと参照細線テーブル部108に記憶されている参照画像における線の直流成分参照L_DC、参照a_DC、参照b_DCとの差分をとる。そしてL_DC差、a_DC差、b_DC差を算出する。詳細は後述する。
【0045】
次に、ステップS310において、再現性評価値算出部208は、S307〜S309求めた、L_妨害度、a_妨害度、b_妨害度、L_忠実度、a_忠実度、b_忠実度、L_DC差、a_DC差、b_DC差の計9個の値にそれぞれ適切な重み付け(αL、βL、χL、αa、βa、χa、αb、βb、χb)をして足し合わせ、最後にγ補正するために指数γallをかけ、得た値を出力する。
再現性評価値LN=(αL妨害度L+βL忠実度L+χLDC差L
+αa妨害度a+βa忠実度a+χaDC差a
+αb妨害度b+βb忠実度b+χbDC差b)^γall…(8)
このとき、重み(αL、βL、χL、αa、βa、χa、αb、βb、χb)と指数γallの値は評価パラメータテーブル部209から取得する。評価パラメータテーブル部209のパラメータは評価する線画像の種類によって適切な設定が記憶されていることが望ましい。例えば、電子写真の線画像用にパラメータ、ディスプレイを撮像した画像に対するパラメータなど用途別に適切なパラメータを使うことが望ましい。
【0046】
●妨害度算出方法
図4はS307における妨害度算出部205の妨害度算出処理手順を表すフローチャートである。前述の通り参照する線画像では、妨害領域に振幅が出現しない。そこで、評価したい線画像の妨害領域に振幅が出現していないか、出現している場合どれくらい振幅があるのかを評価する。以下、図4のフローチャートに沿って妨害度算出部205の動作を説明する。
【0047】
まず、S401において、スペクトル領域分割部204から入力されたL、a、bそれぞれの妨害領域のスペクトル(F_L妨害、F_a妨害、F_b妨害)を視覚特性関数G_L、G_a、G_bで重み付けする。これにより、人の視認性に対応した妨害度を算出できる。
F_L妨害w(u,v)=F_L妨害(u,v)×G_L(u,v)
F_a妨害w(u,v)=F_a妨害(u,v)×G_a(u,v)
F_b妨害w(u,v)=F_b妨害(u,v)×G_b(u,v)・・・(9)
この視覚特性関数G_L、G_a、G_bは例えばVTF(Visual Transfer Function、視覚の伝達関数)や実験の結果から得られる周波数応答特性を使えば良い。ここで、VTFとは人間の視覚の空間周波数に対する感度を表す曲線である。VTFの参考文献にはR.Pdooley、”Prediction Brightness Appearance at Edges Using Linear and Non−Linear Visual Describing Functions”、APSE Annual Meeting 1975などがある。
【0048】
次に、S402において、重み付けした妨害領域のパワー(振幅の2乗)を積分する。
P_L妨害=Σ F_L妨害w(u,v)^2
P_a妨害=Σ F_a妨害w(u,v)^2
P_b妨害=Σ F_b妨害w(u,v)^2・・・(10)
ここで、Σは妨害領域内の全てのu、vで和を取ることを表す。
【0049】
最後に、S403において直流成分(L_DC、a_DC、b_DC)を用いてP_L妨害、P_a妨害、P_b妨害を正規化する。具体的には、P_L妨害、P_a妨害、P_b妨害に直流成分(L_DC、a_DC、b_DC)の2乗の逆数を積算した値を適切にγ補正し、妨害度(L妨害度、a妨害度、b妨害度)として出力する。ここでγは再現性評価部208で算出する評価値が主観と良い対応がとれるように決めれば良い。
L妨害度={P_L妨害/(L_DC^2)}^γL妨害
a妨害度={P_a妨害/(a_DC^2)}^γa妨害
b妨害度={P_b妨害/(b_DC^2)}^γb妨害・・・(11)
ここで、直流成分を2乗するのは、分子のパワー(振幅の2乗)と単位を合わせるためである。また、DCの2乗で正規化する理由は、スペクトルのDC成分をそろえてスペクトルの形状を評価するためである。以上のように求めた妨害度は、値が小さいほど(最小はゼロ)妨害領域における振幅スペクトルの再現性がいいと言える。妨害度が悪化しているときは、細線に途切れやぎざぎざが発生していることが多い。
【0050】
●忠実度算出方法
図5はS308における忠実度算出部206による忠実度算出処理手順を表すフローチャートである。前述の通り、理想的な線画像の場合、忠実領域にのみ振幅スペクトルが出現する。そこで、評価したい線画像の忠実領域における振幅スペクトルがどれくらい参照する線画像と異なっているのかを評価する。以下、図5のフローチャートに沿って忠実度算出部206の動作を説明する。
【0051】
まず、S501において、スペクトル領域分割部204から入力されたL、a、bそれぞれの忠実領域のスペクトル(F_L忠実、F_a忠実、F_b忠実)を視覚特性関数H_L、H_a、H_bで重み付けする。
F_L忠実w(u,v)=F_L忠実(u,v)H_L(u,v)
F_a忠実w(u,v)=F_a忠実(u,v)H_a(u,v)
F_b忠実w(u,v)=F_b忠実(u,v)H_b(u,v)・・・(12)
この視覚特性関数H_L、H_a、H_bは妨害度と同様にVTFや実験の結果から決めればよい。この視覚特性関数は必ずしも妨害度に使った関数と同じ関数でなくて良い。
【0052】
次に、S502において、重み付けした忠実領域のパワーの周方向最大値(P_L_max、P_a_max、P_b_max)を算出し、それを直流成分(L_DC、a_DC、b_DC)の2乗の逆数で重み付けする。
【0053】
【数2】
【0054】
ここでDCの2乗で割っている理由は妨害度と同じ理由であるため省略する。
【0055】
次に、S503において、参照細線テーブル部108から参照細線の忠実領域の振幅スペクトル(参照F_L忠実、参照F_a忠実、参照F_b忠実)と直流成分(参照L_DC、参照a_DC、参照b_DC)を取得する。
【0056】
次に、S504において、S501の式(12)と同様に参照細線の忠実領域のスペクトルを視覚特性関数で重み付けする。
参照F_L忠実w(u,v)=参照F_L忠実(u,v)×H_L(u,v)
参照F_a忠実w(u,v)=参照F_a忠実(u,v)×H_a(u,v)
参照F_b忠実w(u,v)=参照F_b忠実(u,v)×H_b(u,v)…(14)
【0057】
次に、S505において、S502と同様に参照細線の忠実領域のパワーの周方向最大値を算出し、直流成分の2乗の逆数で重み付けする(P_L_忠実0,P_a_忠実0,P_b_忠実0)。
【0058】
【数3】
【0059】
次に、S506において、線画像と参照細線の前記重み付けした周方向最大値の差の絶対値を積分する。
Dif_L忠実=Σ|P_L忠実(f)−参照P_L忠実(f)|
Dif_a忠実=Σ|P_a忠実(f)−参照P_a忠実(f)|
Dif_b忠実=Σ|P_b忠実(f)−参照P_b忠実(f)|・・・(16)
ここでΣは全てのfで和を取ることを表す。
【0060】
最後に、S507において、前記積分値に適切な対数(γL忠実、γa忠実、γb忠実)乗してγ補正した結果を忠実度として出力する。
L忠実度={Dif_L忠実}^γL忠実
a忠実度={Dif_a忠実}^γa忠実
b忠実度={Dif_b忠実}^γb忠実・・・(17)
ここでγL忠実、γa忠実、γb忠実は再現性評価部208で算出する評価値が主観と良い対応がとれるように決めれば良い。この値は妨害度の対数と必ずしも同じでなくても良い。
【0061】
●DC差算出方法
図6はステップS309のDC差算出部207によるDC差算出処理手順を表すフローチャートである。直流成分DCは線の濃さを表し、評価したい線画像と参照する線画像とのDC差により濃度差を評価する。以下、図6のフローチャートに沿ってDC差算出部207の動作を説明する。
【0062】
まず、S601において、参照細線テーブル部111から参照細線の直流成分(L_DC0、a_DC0、b_DC0)を取得する。
【0063】
次に、S602において、線画像の直流成分(L_DC、a_DC、b_DC)と参照細線の直流成分(L_DC参照、a_DC参照、b_DC参照)の相対的な差を算出し、適切にγ補正をした値(γLDC差、γaDC差、γbDC差)をDC差とする。フローチャートではウェーバーの法則に従い、
LDC差={|L_DC−参照L_DC|/|L_DC|}^γLDC差
aDC差={|a_DC−参照a_DC|/|a_DC|}^γaDC差
bDC差={|b_DC−参照b_DC|/|b_DC|}^γbDC差・・・(18)
という式を利用したが、この場合分母がゼロになってしまうこともあるため、
LDC差={|L_DC−参照L_DC|/|L_DC+α_L|}^γLDC差
aDC差={|a_DC−参照a_DC|/|a_DC+α_a|}^γaDC差
bDC差={|b_DC−参照b_DC|/|b_DC+α_b|}^γbDC差・・・(19)
(α_L,α_a,α_bは適切な実数)などとしても良い。ここでの対数(γLDC差、γaDC差、γbDC差)は妨害度、忠実度と同様に再現性評価部208で算出する評価値が主観と良い対応がとれるように決めれば良い。DC差は値が小さいほど再現性が高いと言える。
【0064】
●細線補正部
以下、線画像補正部109を図11のブロック図と図9のフローチャートを使って説明する。なお本実施例では、元データをスクリーン処理によってハーフトーン処理した線画像を評価・補正の対象とする。
【0065】
まず、ステップS901において、線画像補正部109は、細線再現性評価部107が算出した10個の評価値(L妨害度、a妨害度、b妨害度、L忠実度、a忠実度、b忠実度、LDC差、aDC差、bDC差、再現性評価値LN)を取得する。
【0066】
次に、ステップS902において、再現性判定部1102は、再現性評価値LNが閾値記憶部1101に記憶されている再現性評価値の閾値以上かどうかを判定する。なお、閾値記憶部1101にはL妨害度、a妨害度、b妨害度、L忠実度、a忠実度、b忠実度、LDC差、aDC差、bDC差、再現性評価値LNの10個の評価値に対応する閾値が記憶されている。これらの閾値は、例えば、線の変化が許容し難い時の各評価値の値を閾値として設定すれば良い。これら閾値はあらかじめ設定されていても良いし、ユーザが後から調整できても良い。ここで再現性評価値LNが閾値以下ならば、補正の必要なしとして処理を終了する。
【0067】
次に、ステップS903において、妨害度判定部1103は、閾値記憶部1101に記憶されている妨害度が閾値を越えているかどうかを判定する。評価したい線に、参照した線にはない途切れやぎざぎざが発生している場合、妨害度は値が大きくなる。よってこの判定により線のぎざぎざや途切れの補正をするかどうかの判定を行う。
【0068】
まずL妨害度、a妨害度、b妨害度を合算して、総合妨害度を算出する。そして総合妨害度が、閾値記憶部1101の閾値を超えていなければ、ぎざぎざさと途切れの補正をせずに次の処理に進む。
【0069】
もし、妨害度が閾値以上ならば、S904において線のぎざぎざさと途切れの補正を行う。線にぎざぎざさや途切れが発生している時は、スクリーン処理の際に用いられたスクリーンと線画像とが干渉していることが多い。そこで、元データを修正できる場合には、スクリーン処理に用いられたスクリーンを変更する。ここで変更するスクリーンは線の方向に対して直交するラインスクリーンが望ましい。
【0070】
一方元データの修正ができない場合、ぎざぎざさや途切れを補正するために、強制的にドットを打つなどの補正処理をする。なお、元データの修正が可能かどうかは、例えば、ユーザの設定によって画像を変更することが許可されているかどうかや、スクリーンを変更できる元画像が多値画像であるかどうかなどによって判定すればよい。
【0071】
次に、S905において、忠実度判定部1105は、忠実度が閾値記憶部1101に記憶されている忠実度の閾値を越えているかどうかを判定する。妨害度判定部1103と同様に、L忠実度、a忠実度、b忠実度を合算して総合忠実度を算出し、閾値と比較する。忠実度が大きくなる要因は3つある。色ずれ、線幅、ぼけである。ここからは、3つの要因のうちもっとも忠実度を悪化させている要因の一つを補正する。
【0072】
まずS906においてDC差判定部1107は、aDC差、bDC差が閾値を超えているかどうかを判定する。aDC差、bDC差が大きい場合、色ずれの発生により忠実度が悪化している場合が多い。そこで、aDC差、bDC差が閾値以上ならば、S908において忠実度補正部1106は画像出力装置110に対して色ずれ補正処理を行い、処理を終了する。色ずれ補正処理は、例えば、線を単色に置き換えたり、画像の出力機のレジストレーション機能によって補正を行ったりすれば良い。
【0073】
もしS906で閾値以下ならば、S907においてDC差判定部1107は、L_DC差が閾値以上かどうかを判定する。忠実度とL_DC差が大きい場合、線幅の再現性が悪いことが多い。そこでS913において忠実度補正部1106は、画像出力装置110に対して線幅補正処理を行い、処理を終了する。線幅補正は例えば、元データが修正可能であれば、元データの線幅を調整すればよい。
【0074】
さらにS906とS907においてDC差判定部1107がいずれのDC差も閾値以下であると判定した場合、ぼけの発生によって再現性が悪化していることが多い。そこで、忠実度補正部1106は、画像出力装置110に対してぼけ補正処理を行う。ぼけ補正処理は、例えば、入力画像にアンシャープマスクをかけたり、電子写真ならばレーザの出力を変えたりすれば良い。
【0075】
もしS905で忠実度が閾値以下ならば、S910において、DC差判定部1007はDC差が閾値記憶部1101に記憶されているDC差の閾値を越えているかどうかを判定する。DC差が閾値以下ならば、特に補正処理は行わない。一方DC差が閾値以上ならば、DC差補正部1008は画像出力装置110に対して濃度の補正処理を行う。濃度の補正処理は、例えば、薄くなっている場合は電子写真ならばトナーの配給量を増やしたり、レーザの出力を上げたり、元データが修正可能ならば元データの濃度や線幅を増加させれば良い。逆に、濃くなっている場合は、電子写真ならばトナーの配給量を減らしたり、レーザの出力を下げたり、元データが修正可能ならば元データの濃度や線幅を減少させれば良い。以上で全ての補正処理が終了する。
【0076】
本実施例では、妨害度→忠実度→DC差の順に優先して補正を行ったが、これらの値のうち最も値(悪化度合い)が大きい項目から優先して補正を行っても良い。
【0077】
また、プリンタに応じて補正手順を適宜変えることも有用である。具体的には、補正のし易さによって閾値を変えることで、プリンタの性能に応じた補正処理を適切に施すことができる。補正がしやすいなら低い閾値、補正し難いなら高い閾値を与えれば、プリンタが補正しやすい要因を優先して補正処理することになる。
【0078】
また、このフローチャートでは全ての補正処理を行う例を示したが、6つに要因のうち一部補正する処理を施しても良い。時間的制限がある場合など、必ずしもすべての補正処理をできるわけではない。そこで、本実施例における評価値を用いれば、細線の再現性を悪化させる6つの要因のうちから、補正すべき要因を適切に選択することができる。
【0079】
以上のようにこれまで細線の再現性を妨げる6つの要因は独立して評価されていたが、本実施例によれば、総合的に細線を評価することができる。
【0080】
●評価項目との対応
以上説明した評価値と先行技術で挙げた評価項目「線幅」、「ぎざぎざさ」、「線の濃さ」、との対応を図7に示す。また、図7には「ぼけ」、「途切れ」、「色ズレ」と評価値の対応も示す。6つの評価項目「線幅」、「ぎざぎざさ」、「線の濃さ」、「ぼけ」、「途切れ」、「色ずれ」はこれまで説明した評価値によって評価できる。図7の二次元振幅スペクトルから参照細線との差が分かり難い「線幅」、「ぼけ」、「色ズレ」については図8で断面図でも示す。
【0081】
701は参照した細線の周波数空間におけるスペクトルである。妨害領域のパワーはゼロであり、忠実領域(u軸)にパワーが存在する。振幅の形は図8の参照振幅スペクトル801のようなsinc関数になる。
【0082】
702は線幅のみ変わった時の周波数空間におけるスペクトルである。参照細線と同じく妨害領域のパワーはゼロだが、忠実領域のパワーが出現する周波数帯が変わる。これは、802のように線幅が変わるとsinc関数の幅が変わるためである。よって、線幅の差が変わると妨害度はゼロだが忠実度の値が大きくなる。
【0083】
703は線がぎざぎざになった時の周波数空間におけるスペクトルである。妨害領域にランダムなパワーが発生し、忠実領域のパワーは参照画像の細線と比べて高周波成分が減衰する。結果として妨害度、忠実度ともに大きくなる。
【0084】
704は(線の)濃さが変わった時の周波数空間におけるスペクトルである。妨害領域のパワーはゼロである。忠実領域では、パワーの形(周波数帯)は参照細線と変わらないが、そのパワーの大きさ(DC成分)が異なる。よって、妨害度と忠実度はゼロだが、DC差が大きくなる。
【0085】
705は線にぼけが発生した時の周波数空間におけるスペクトルである。妨害領域のパワーはゼロだが、忠実領域のパワーは参照細線と比べて高周波成分が減衰する。線がぼけた時の振幅スペクトル803と参照振幅スペクトル801とを比べると、高周波成分の振幅が減衰していることがわかる。よって、妨害度はゼロだが忠実度が大きくなる。
【0086】
706は色ズレが起こった時の周波数空間におけるスペクトルである。妨害領域のパワーはゼロだが、忠実領域のパワーが参照細線の場合と異なる周波数帯に出現する。色ずれが起きた時の振幅スペクトル804と参照振幅スペクトル801とを比べると、関数の形が大きく変わっていることが分かる。よって、妨害度はゼロだが忠実度が大きくなる。
【0087】
707は線に途切れが発生した時の周波数空間におけるスペクトルである。忠実領域のパワーは参照細線と変わらないが、途切れによる縦方向の形の変化のため妨害領域にパワーが発生する。よって、妨害度が大きくなる。
【0088】
以上説明した通り、妨害度、忠実度、DC差によって細線再現性を低下させる6つの要因を総合的に評価できることを示した。
【0089】
以上説明したように本実施例によれば、スキャナなどの入力機器から取得した線画像に対して、複数の要因によって起こる細線再現性の悪化を総合的に評価し、適切に悪化の原因に対する補正を行うことが可能となる。
【0090】
また、従来の独立して6つの要因を評価・補正する場合に比べて、優先度の高い順や線の再現性を悪化させている順に、再現性悪化の要因に対する補正をすることができる。
【0091】
さらには、補正機能が限られている場合や時間的制約がある場合には、本実施例の評価方法を用いることで、補正の最適な組み合わせを選択することもできる。
【0092】
(その他の実施例)
本実施例における細線補正部では、総合妨害度や総合忠実度を用いて評価する例を示したが、これに限らない。L妨害度、a妨害度、b妨害度、L忠実度、a忠実度、b忠実度全て個別に閾値と比較してもよい。また全てを用いるのではなく、一部を用いてもよい。
【0093】
また、本実施例で示した周波数空間におけるスペクトルの算出方法は全く同様である必要はない。
【0094】
また、本発明は、上述した実施例の機能(例えば、上記のフローチャートにより示される機能)を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても実現できる。この場合、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が、コンピュータが読み取り可能に記憶媒体に格納されたプログラムコードを読み出し実行することにより、上述した実施例の機能を実現する。
【技術分野】
【0001】
本発明は、画像補正装置に関する。
【背景技術】
【0002】
近年、インクジェット方式や電子写真方式などのプリンタエンジン部は、より品位の高い印字を行うために印字の高密度化が進んでいる。その結果、600dpiやそれ以上の印字密度のプリンタが発売されているが、印字が高密度化してくると解像度が向上する一方、画像の細線の再現性は不安定になりやすい。そこで高密度な印字が可能なプリンタでは、細線の再現性を向上させるための画像補正処理が求められる。
【0003】
特許文献1に記載された方法によれば、細線の太さを判定し細線の太さに応じて階調補正を行うことで、細線をユーザの所望の太さに再現することができる。
【0004】
また、プリンタなどの出力機器で出力した画像を、CCDカメラなどの画像取得機器で読み取って、画質を定量的に評価する手法もいくつか提案されている。
【0005】
特許文献2に記載された方法によれば、CCDカメラで読み取り、取得した線画像から線幅と線の濃さを求めることができる。
【0006】
特許文献3に記載された方法によれば、CCDカメラで読み取り、取得した線画像からエッジの凹凸度(以下、ぎざぎざさと記述)と線の濃さを測定することができる。
【0007】
これらの測定方法によって算出される評価値をもとに細線画像を補正することが可能である。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2004−153747
【特許文献2】特開平10−283483
【特許文献3】特開平10−288507
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながらいずれの方法によっても、細線の再現性を低下させてしまう6つの要因、線幅、線の濃さ、ぎざぎざさ、ぼけ、色ずれ、途切れを総合的に評価して補正することはできないという課題がある。
【0010】
具体的には、特許文献1では「線幅」、特許文献2では「線幅」と「線の濃さ」、特許文献3の評価方法では「ぎざぎざさ」と「線の濃さ」は考慮されているが、それ以外の要因については考慮されていない。特に途切れや、ぼけ、色ズレによって細線の再現性が悪化していても、それらは考慮されていない。そのためこれらの要因の変動を総合的に補正することはできなかった。
【0011】
そこで、本発明の目的は、「線の幅」、「線の濃さ」、「ぎざぎざさ」「ぼけ」、「色ズレ」、「途切れ」といった細線の再現性に関わる要因を総合的に評価して、補正する画像補正装置を提供することにある。
【課題を解決するための手段】
【0012】
上記課題を解決するため、本発明に係る画像補正装置は、入力画像の周波数空間におけるスペクトルを算出するスペクトル算出手段と、前記入力画像に対応する周波数空間における参照スペクトルを取得する参照情報取得手段と、前記入力画像のスペクトルと前記参照スペクトルとを比較して、前記入力画像を評価する評価手段と、前記評価手段による結果に応じて、前記入力画像を補正する補正手段とを有し、前記評価手段は、前記参照スペクトルにおいて振幅が出現する領域と、振幅が出現しない領域とを分けて、前記入力画像のスペクトルと前記参照スペクトルとを比較することを特徴とする。
【発明の効果】
【0013】
本発明によって、細線再現性に関わる複数の要因を総合的に評価して、補正することが可能となる。
【図面の簡単な説明】
【0014】
【図1】実施例1における画像補正装置のブロック図
【図2】図1の線再現性評価部110のブロック図
【図3】細線再現性評価処理のフローチャート
【図4】妨害度算出のフローチャート
【図5】忠実度算出のフローチャート
【図6】DC差算出のフローチャート
【図7】従来の評価項目と本発明の評価値の関係を表す振幅スペクトル
【図8】従来の評価項目と本発明の評価値の関係を表すスペクトルのグラフ(断面図)
【図9】実施例2の細線補正方法のフローチャート
【図10】忠実領域と妨害領域を示す図
【図11】図1の補正処理部109のブロック図
【発明を実施するための形態】
【0015】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【実施例1】
【0016】
スキャナなどの読み取り機器から取得した細線を含む画像データに対して、細線の再現性を総合的に評価し、細線再現性の悪化への影響が大きい項目から補正をする装置について説明する。細線再現性の評価は、評価したい線画像と参照する線画像との周波数特性(スペクトル)の違いに基づいて算出する。
【0017】
●細線補正装置
図1は、本実施形態である細線補正装置の構成をあらわすブロック図である。
【0018】
画像入力部101は、細線の再現性を評価したい画像データを入力画像データとして取得する。ここでは、入力画像データの色空間はレッド(R)、グリーン(G)、ブルー(B)からなるRGBであり、入力画像データは、それぞれR(x、y)、G(x、y)、B(x、y)と定義する。ここでx、yは画像の座標である。
【0019】
画像前処理部102は、入力画像データにおける線が画像の中心を通るように線の周囲を切り取る(トリミングする)処理を行う。
【0020】
第1色空間変換部103は、色変換テーブル部104を用いて、入力画像データの色空間をXYZ色空間に変換する。これは紙白領域(線以外の領域)の入力画像データの平均値を算出するのに適した色空間にするためである。
X=X_LUT_3D(R,G,B)
Y=Y_LUT_3D(R,G,B)・・・(1)
Z=Z_LUT_3D(R,G,B)
【0021】
線領域抽出処理部105は、線以外の領域が評価値に及ぼす影響を低減するため、入力画像データを線領域と紙白(線以外の)領域とに分離する。線領域の抽出には例えば、大津による方法(大津,判別および最小2乗基準に基づく自動しきい値選定法,電子通信学会論文誌,Vol.J63−D,No.4,pp.349−356,1980)を用いれば良い。
【0022】
また、紙白領域の入力画像データを一定値X_wh、Y_wh、Z_wh(以下、紙白代表値と書く)に置き換える。紙白代表値は、例えば、紙白領域における入力画像データの平均値を用いる。線以外の領域において、必ずしも各画素の入力画像データが一定値なわけではない。そこで、紙白領域における各画素の入力画像データの平均値を紙白値として用いることにより、細線再現性の評価に及ぼす紙白領域の影響を抑制することができる。
【0023】
第2色空間変換部106は、XYZ色空間をL*a*b*色空間に変換する。
【0024】
この際、紙白代表値X_wh、Y_wh、Z_whもL*a*b*色空間に変換し、L_wh、a_wh、b_whとする。
L=L_LUT_3D(X,Y,Z)
a=a_LUT_3D(X,Y,Z)・・・(2)
b=b_LUT_3D(X,Y,Z)
【0025】
細線再現性評価部107は、細線の再現性を評価するための評価値を算出する。再現性は、参照細線テーブル部108に格納された参照画像における細線に関する情報と比較して評価する。
【0026】
本実施例では、「妨害度」、「忠実度」、「DC差」の3種類の評価値をL、a、bごとに算出する(以降、L_妨害度、a_妨害度、b_妨害度、L_忠実度、a_忠実度、b_忠実度、L_DC差、a_DC差、b_DC差と記述する)。
【0027】
さらにこれら9つの評価値を合わせた値である「再現性評価値」(以降、再現性評価値LNと記述する)を算出し、本実施例では以上10個の評価値を算出する例を示す。前記評価値の数はこれに限らず、全てが使われていなくても良い。細線再現性評価部107の詳細は後述する。
【0028】
参照細線テーブル部108は、細線再現性評価部107において必要な参照画像における細線の直流成分(以下、参照L_DC、参照a_DC、参照b_DCと記述)と細線の振幅スペクトルが格納されている。なお、参照する線の振幅スペクトルは図8の801に示すようなsinc関数の形になる。また701、801からわかるように、参照画像の線では、u軸上以外の周波数帯における振幅はゼロなので、参照細線テーブル部108に格納するのは、u軸上の振幅スペクトルのみでもよい。本実施例では、参照細線テーブル部108に格納されている振幅スペクトルはu軸上の振幅スペクトル(以下、参照F_L忠実、参照F_a忠実、参照F_b忠実と記述)とする。参照L_DC、参照a_DC、参照b_DC、参照F_L忠実、参照F_a忠実、参照F_b忠実の詳細ついては後述する。
【0029】
補正処理部109は、細線再現性評価部107から得られた評価結果に応じて、細線の再現性を悪化させる要因に対して補正処理を行う。補正処理の詳細は後述する。
【0030】
画像出力装置110は、プリンタやディスプレイ、プロジェクタなどを表し、補正処理部から得た補正後の画像データを出力する。
【0031】
本実施形態の構成においては、上記以外にも様々な構成要素が存在し得るが、本発明の主眼ではないため、その説明は省略する。
【0032】
●細線再現性評価部
以下、細線再現性評価部107を図2のブロック図と図3のフローチャートを使って説明する。
【0033】
まず、妨害度および忠実度を算出するため振幅スペクトルを求める。
【0034】
ステップS301において、第2色空間変換部106は入力画像データ(L、a、b)と紙白代表値L_wh、a_wh、b_whを算出し、細線再現性評価部107に入力する。
【0035】
次に、ステップS302において、紙白反転処理部200は、入力画像データL、a、bの紙白代表値がゼロになるように入力画像データから紙白代表値を減算し、その差分を反転する。
L’(x,y)=L_wh−L(x,y)
a’(x,y)=a_wh−a(x,y)・・・(3)
b’(x,y)=b_wh−b(x,y)
【0036】
次に、ステップS303において、二次元窓かけ処理部201は、入力画像データL’(x,y)、a’(x,y)、b’(x,y)に二次元の窓関数win(x,y)をかける。この二次元窓かけ処理により、余分な高周波を除去するとともに、フーリエ変換するために信号を有限時間長に切りだしている。窓関数にはハミング窓などを使えばよい。
Lw(x,y)=L’(x,y)win(x,y)
aw(x,y)=a’(x,y)win(x,y)・・・(4)
bw(x,y)=b’(x,y)win(x,y)
【0037】
次に、ステップS304において、直流成分算出部202は線画像の直流成分L_DC,a_DC,b_DCを算出する。直流成分を算出するには、例えば、二次元窓掛け処理部201で算出した窓かけ後画像の画素値の和を窓関数の値の和で割れば良い。
【0038】
【数1】
【0039】
次に、ステップ305において、フーリエ変換部203は、フーリエ変換により振幅スペクトルを作成する。なお、フーリエ変換する前に二次元窓かけ処理をした値(Lw、aw、bw)から、直流成分(L_DC,a_DC,b_DC)を引いてからフーリエ変換を行う。
F_L(u,v)=Fourier{Lw(x,y)−L_DC×w(x,y)}
F_a(u,v)=Fourier{aw(x,y)−a_DC×w(x,y)}…(6)
F_b(u,v)=Fourier{bw(x,y)−b_DC×w(x,y)}
なお、u、vは周波数を示す。ここで、u、v=0(uv座標の原点)の場合は直流成分を示し、u、v<0は負の周波数を示す。
【0040】
次に、ステップS306において、スペクトル領域分割部204は、フーリエ変換部203から出力された振幅スペクトルを図10のように分離する。具体的には参照となる線画像において振幅スペクトルが出現する領域(以下、忠実領域と記述)と出現しない領域(以下、妨害領域と記述)に分離する。入力画像データ1005の場合、振幅スペクトル1006の忠実領域は線の方向に対して垂直であるu軸上であり、妨害領域はu軸上以外である。入力画像データ1007の場合、振幅スペクトル1008の忠実領域は細線に対して垂直な方向、妨害領域はそれ以外である。
【0041】
このとき、図10の忠実領域と妨害領域を分ける境界線1001〜1004は画像の線の傾きをc[rad]、線の傾き推定の許容誤差をe[rad]、忠実領域の幅をd[周波数]とすると次の式で表すことができる。
1001:v=tan(c−e+π/2)u+d/2(sin(c)−cos(c)tan(c−e+π/2))
1002:v=tan(c+e+π/2)u+d/2(sin(c)−cos(c)tan(c+e+π/2))
1003:v=tan(c+e+π/2)u−d/2(sin(c)−cos(c)tan(c+e+π/2))
1004:v=tan(c−e+π/2)u−d/2(sin(c)−cos(c)tan(c−e+π/2)) ・・・(7)
このとき、境界線1001〜1004に囲まれた領域が忠実領域、それ以外が妨害領域といえる。以降、妨害領域の振幅スペクトルをF_L妨害、F_a妨害、F_b妨害と記述し、忠実領域の振幅スペクトルをF_L忠実、F_a忠実、F_b忠実と記述する。
【0042】
次に、ステップS307において、妨害度算出部205は、妨害領域の振幅スペクトルF_L妨害、F_a妨害、F_b妨害を評価するためのL_妨害度、a_妨害度、b_妨害度を算出する。詳細は後述する。
【0043】
次に、ステップS308において、忠実度算出部206は、忠実領域の振幅スペクトルF_L忠実、F_a忠実、F_b忠実を評価するためのL_忠実度、a_忠実度、b_忠実度を算出する。処理の詳細は後述する。
【0044】
次に、ステップS309において、DC差算出部207は、入力画像データの直流成分を評価するためのDC差を求める。S304で算出した入力画像データの直流成分L_DC、a_DC、b_DCと参照細線テーブル部108に記憶されている参照画像における線の直流成分参照L_DC、参照a_DC、参照b_DCとの差分をとる。そしてL_DC差、a_DC差、b_DC差を算出する。詳細は後述する。
【0045】
次に、ステップS310において、再現性評価値算出部208は、S307〜S309求めた、L_妨害度、a_妨害度、b_妨害度、L_忠実度、a_忠実度、b_忠実度、L_DC差、a_DC差、b_DC差の計9個の値にそれぞれ適切な重み付け(αL、βL、χL、αa、βa、χa、αb、βb、χb)をして足し合わせ、最後にγ補正するために指数γallをかけ、得た値を出力する。
再現性評価値LN=(αL妨害度L+βL忠実度L+χLDC差L
+αa妨害度a+βa忠実度a+χaDC差a
+αb妨害度b+βb忠実度b+χbDC差b)^γall…(8)
このとき、重み(αL、βL、χL、αa、βa、χa、αb、βb、χb)と指数γallの値は評価パラメータテーブル部209から取得する。評価パラメータテーブル部209のパラメータは評価する線画像の種類によって適切な設定が記憶されていることが望ましい。例えば、電子写真の線画像用にパラメータ、ディスプレイを撮像した画像に対するパラメータなど用途別に適切なパラメータを使うことが望ましい。
【0046】
●妨害度算出方法
図4はS307における妨害度算出部205の妨害度算出処理手順を表すフローチャートである。前述の通り参照する線画像では、妨害領域に振幅が出現しない。そこで、評価したい線画像の妨害領域に振幅が出現していないか、出現している場合どれくらい振幅があるのかを評価する。以下、図4のフローチャートに沿って妨害度算出部205の動作を説明する。
【0047】
まず、S401において、スペクトル領域分割部204から入力されたL、a、bそれぞれの妨害領域のスペクトル(F_L妨害、F_a妨害、F_b妨害)を視覚特性関数G_L、G_a、G_bで重み付けする。これにより、人の視認性に対応した妨害度を算出できる。
F_L妨害w(u,v)=F_L妨害(u,v)×G_L(u,v)
F_a妨害w(u,v)=F_a妨害(u,v)×G_a(u,v)
F_b妨害w(u,v)=F_b妨害(u,v)×G_b(u,v)・・・(9)
この視覚特性関数G_L、G_a、G_bは例えばVTF(Visual Transfer Function、視覚の伝達関数)や実験の結果から得られる周波数応答特性を使えば良い。ここで、VTFとは人間の視覚の空間周波数に対する感度を表す曲線である。VTFの参考文献にはR.Pdooley、”Prediction Brightness Appearance at Edges Using Linear and Non−Linear Visual Describing Functions”、APSE Annual Meeting 1975などがある。
【0048】
次に、S402において、重み付けした妨害領域のパワー(振幅の2乗)を積分する。
P_L妨害=Σ F_L妨害w(u,v)^2
P_a妨害=Σ F_a妨害w(u,v)^2
P_b妨害=Σ F_b妨害w(u,v)^2・・・(10)
ここで、Σは妨害領域内の全てのu、vで和を取ることを表す。
【0049】
最後に、S403において直流成分(L_DC、a_DC、b_DC)を用いてP_L妨害、P_a妨害、P_b妨害を正規化する。具体的には、P_L妨害、P_a妨害、P_b妨害に直流成分(L_DC、a_DC、b_DC)の2乗の逆数を積算した値を適切にγ補正し、妨害度(L妨害度、a妨害度、b妨害度)として出力する。ここでγは再現性評価部208で算出する評価値が主観と良い対応がとれるように決めれば良い。
L妨害度={P_L妨害/(L_DC^2)}^γL妨害
a妨害度={P_a妨害/(a_DC^2)}^γa妨害
b妨害度={P_b妨害/(b_DC^2)}^γb妨害・・・(11)
ここで、直流成分を2乗するのは、分子のパワー(振幅の2乗)と単位を合わせるためである。また、DCの2乗で正規化する理由は、スペクトルのDC成分をそろえてスペクトルの形状を評価するためである。以上のように求めた妨害度は、値が小さいほど(最小はゼロ)妨害領域における振幅スペクトルの再現性がいいと言える。妨害度が悪化しているときは、細線に途切れやぎざぎざが発生していることが多い。
【0050】
●忠実度算出方法
図5はS308における忠実度算出部206による忠実度算出処理手順を表すフローチャートである。前述の通り、理想的な線画像の場合、忠実領域にのみ振幅スペクトルが出現する。そこで、評価したい線画像の忠実領域における振幅スペクトルがどれくらい参照する線画像と異なっているのかを評価する。以下、図5のフローチャートに沿って忠実度算出部206の動作を説明する。
【0051】
まず、S501において、スペクトル領域分割部204から入力されたL、a、bそれぞれの忠実領域のスペクトル(F_L忠実、F_a忠実、F_b忠実)を視覚特性関数H_L、H_a、H_bで重み付けする。
F_L忠実w(u,v)=F_L忠実(u,v)H_L(u,v)
F_a忠実w(u,v)=F_a忠実(u,v)H_a(u,v)
F_b忠実w(u,v)=F_b忠実(u,v)H_b(u,v)・・・(12)
この視覚特性関数H_L、H_a、H_bは妨害度と同様にVTFや実験の結果から決めればよい。この視覚特性関数は必ずしも妨害度に使った関数と同じ関数でなくて良い。
【0052】
次に、S502において、重み付けした忠実領域のパワーの周方向最大値(P_L_max、P_a_max、P_b_max)を算出し、それを直流成分(L_DC、a_DC、b_DC)の2乗の逆数で重み付けする。
【0053】
【数2】
【0054】
ここでDCの2乗で割っている理由は妨害度と同じ理由であるため省略する。
【0055】
次に、S503において、参照細線テーブル部108から参照細線の忠実領域の振幅スペクトル(参照F_L忠実、参照F_a忠実、参照F_b忠実)と直流成分(参照L_DC、参照a_DC、参照b_DC)を取得する。
【0056】
次に、S504において、S501の式(12)と同様に参照細線の忠実領域のスペクトルを視覚特性関数で重み付けする。
参照F_L忠実w(u,v)=参照F_L忠実(u,v)×H_L(u,v)
参照F_a忠実w(u,v)=参照F_a忠実(u,v)×H_a(u,v)
参照F_b忠実w(u,v)=参照F_b忠実(u,v)×H_b(u,v)…(14)
【0057】
次に、S505において、S502と同様に参照細線の忠実領域のパワーの周方向最大値を算出し、直流成分の2乗の逆数で重み付けする(P_L_忠実0,P_a_忠実0,P_b_忠実0)。
【0058】
【数3】
【0059】
次に、S506において、線画像と参照細線の前記重み付けした周方向最大値の差の絶対値を積分する。
Dif_L忠実=Σ|P_L忠実(f)−参照P_L忠実(f)|
Dif_a忠実=Σ|P_a忠実(f)−参照P_a忠実(f)|
Dif_b忠実=Σ|P_b忠実(f)−参照P_b忠実(f)|・・・(16)
ここでΣは全てのfで和を取ることを表す。
【0060】
最後に、S507において、前記積分値に適切な対数(γL忠実、γa忠実、γb忠実)乗してγ補正した結果を忠実度として出力する。
L忠実度={Dif_L忠実}^γL忠実
a忠実度={Dif_a忠実}^γa忠実
b忠実度={Dif_b忠実}^γb忠実・・・(17)
ここでγL忠実、γa忠実、γb忠実は再現性評価部208で算出する評価値が主観と良い対応がとれるように決めれば良い。この値は妨害度の対数と必ずしも同じでなくても良い。
【0061】
●DC差算出方法
図6はステップS309のDC差算出部207によるDC差算出処理手順を表すフローチャートである。直流成分DCは線の濃さを表し、評価したい線画像と参照する線画像とのDC差により濃度差を評価する。以下、図6のフローチャートに沿ってDC差算出部207の動作を説明する。
【0062】
まず、S601において、参照細線テーブル部111から参照細線の直流成分(L_DC0、a_DC0、b_DC0)を取得する。
【0063】
次に、S602において、線画像の直流成分(L_DC、a_DC、b_DC)と参照細線の直流成分(L_DC参照、a_DC参照、b_DC参照)の相対的な差を算出し、適切にγ補正をした値(γLDC差、γaDC差、γbDC差)をDC差とする。フローチャートではウェーバーの法則に従い、
LDC差={|L_DC−参照L_DC|/|L_DC|}^γLDC差
aDC差={|a_DC−参照a_DC|/|a_DC|}^γaDC差
bDC差={|b_DC−参照b_DC|/|b_DC|}^γbDC差・・・(18)
という式を利用したが、この場合分母がゼロになってしまうこともあるため、
LDC差={|L_DC−参照L_DC|/|L_DC+α_L|}^γLDC差
aDC差={|a_DC−参照a_DC|/|a_DC+α_a|}^γaDC差
bDC差={|b_DC−参照b_DC|/|b_DC+α_b|}^γbDC差・・・(19)
(α_L,α_a,α_bは適切な実数)などとしても良い。ここでの対数(γLDC差、γaDC差、γbDC差)は妨害度、忠実度と同様に再現性評価部208で算出する評価値が主観と良い対応がとれるように決めれば良い。DC差は値が小さいほど再現性が高いと言える。
【0064】
●細線補正部
以下、線画像補正部109を図11のブロック図と図9のフローチャートを使って説明する。なお本実施例では、元データをスクリーン処理によってハーフトーン処理した線画像を評価・補正の対象とする。
【0065】
まず、ステップS901において、線画像補正部109は、細線再現性評価部107が算出した10個の評価値(L妨害度、a妨害度、b妨害度、L忠実度、a忠実度、b忠実度、LDC差、aDC差、bDC差、再現性評価値LN)を取得する。
【0066】
次に、ステップS902において、再現性判定部1102は、再現性評価値LNが閾値記憶部1101に記憶されている再現性評価値の閾値以上かどうかを判定する。なお、閾値記憶部1101にはL妨害度、a妨害度、b妨害度、L忠実度、a忠実度、b忠実度、LDC差、aDC差、bDC差、再現性評価値LNの10個の評価値に対応する閾値が記憶されている。これらの閾値は、例えば、線の変化が許容し難い時の各評価値の値を閾値として設定すれば良い。これら閾値はあらかじめ設定されていても良いし、ユーザが後から調整できても良い。ここで再現性評価値LNが閾値以下ならば、補正の必要なしとして処理を終了する。
【0067】
次に、ステップS903において、妨害度判定部1103は、閾値記憶部1101に記憶されている妨害度が閾値を越えているかどうかを判定する。評価したい線に、参照した線にはない途切れやぎざぎざが発生している場合、妨害度は値が大きくなる。よってこの判定により線のぎざぎざや途切れの補正をするかどうかの判定を行う。
【0068】
まずL妨害度、a妨害度、b妨害度を合算して、総合妨害度を算出する。そして総合妨害度が、閾値記憶部1101の閾値を超えていなければ、ぎざぎざさと途切れの補正をせずに次の処理に進む。
【0069】
もし、妨害度が閾値以上ならば、S904において線のぎざぎざさと途切れの補正を行う。線にぎざぎざさや途切れが発生している時は、スクリーン処理の際に用いられたスクリーンと線画像とが干渉していることが多い。そこで、元データを修正できる場合には、スクリーン処理に用いられたスクリーンを変更する。ここで変更するスクリーンは線の方向に対して直交するラインスクリーンが望ましい。
【0070】
一方元データの修正ができない場合、ぎざぎざさや途切れを補正するために、強制的にドットを打つなどの補正処理をする。なお、元データの修正が可能かどうかは、例えば、ユーザの設定によって画像を変更することが許可されているかどうかや、スクリーンを変更できる元画像が多値画像であるかどうかなどによって判定すればよい。
【0071】
次に、S905において、忠実度判定部1105は、忠実度が閾値記憶部1101に記憶されている忠実度の閾値を越えているかどうかを判定する。妨害度判定部1103と同様に、L忠実度、a忠実度、b忠実度を合算して総合忠実度を算出し、閾値と比較する。忠実度が大きくなる要因は3つある。色ずれ、線幅、ぼけである。ここからは、3つの要因のうちもっとも忠実度を悪化させている要因の一つを補正する。
【0072】
まずS906においてDC差判定部1107は、aDC差、bDC差が閾値を超えているかどうかを判定する。aDC差、bDC差が大きい場合、色ずれの発生により忠実度が悪化している場合が多い。そこで、aDC差、bDC差が閾値以上ならば、S908において忠実度補正部1106は画像出力装置110に対して色ずれ補正処理を行い、処理を終了する。色ずれ補正処理は、例えば、線を単色に置き換えたり、画像の出力機のレジストレーション機能によって補正を行ったりすれば良い。
【0073】
もしS906で閾値以下ならば、S907においてDC差判定部1107は、L_DC差が閾値以上かどうかを判定する。忠実度とL_DC差が大きい場合、線幅の再現性が悪いことが多い。そこでS913において忠実度補正部1106は、画像出力装置110に対して線幅補正処理を行い、処理を終了する。線幅補正は例えば、元データが修正可能であれば、元データの線幅を調整すればよい。
【0074】
さらにS906とS907においてDC差判定部1107がいずれのDC差も閾値以下であると判定した場合、ぼけの発生によって再現性が悪化していることが多い。そこで、忠実度補正部1106は、画像出力装置110に対してぼけ補正処理を行う。ぼけ補正処理は、例えば、入力画像にアンシャープマスクをかけたり、電子写真ならばレーザの出力を変えたりすれば良い。
【0075】
もしS905で忠実度が閾値以下ならば、S910において、DC差判定部1007はDC差が閾値記憶部1101に記憶されているDC差の閾値を越えているかどうかを判定する。DC差が閾値以下ならば、特に補正処理は行わない。一方DC差が閾値以上ならば、DC差補正部1008は画像出力装置110に対して濃度の補正処理を行う。濃度の補正処理は、例えば、薄くなっている場合は電子写真ならばトナーの配給量を増やしたり、レーザの出力を上げたり、元データが修正可能ならば元データの濃度や線幅を増加させれば良い。逆に、濃くなっている場合は、電子写真ならばトナーの配給量を減らしたり、レーザの出力を下げたり、元データが修正可能ならば元データの濃度や線幅を減少させれば良い。以上で全ての補正処理が終了する。
【0076】
本実施例では、妨害度→忠実度→DC差の順に優先して補正を行ったが、これらの値のうち最も値(悪化度合い)が大きい項目から優先して補正を行っても良い。
【0077】
また、プリンタに応じて補正手順を適宜変えることも有用である。具体的には、補正のし易さによって閾値を変えることで、プリンタの性能に応じた補正処理を適切に施すことができる。補正がしやすいなら低い閾値、補正し難いなら高い閾値を与えれば、プリンタが補正しやすい要因を優先して補正処理することになる。
【0078】
また、このフローチャートでは全ての補正処理を行う例を示したが、6つに要因のうち一部補正する処理を施しても良い。時間的制限がある場合など、必ずしもすべての補正処理をできるわけではない。そこで、本実施例における評価値を用いれば、細線の再現性を悪化させる6つの要因のうちから、補正すべき要因を適切に選択することができる。
【0079】
以上のようにこれまで細線の再現性を妨げる6つの要因は独立して評価されていたが、本実施例によれば、総合的に細線を評価することができる。
【0080】
●評価項目との対応
以上説明した評価値と先行技術で挙げた評価項目「線幅」、「ぎざぎざさ」、「線の濃さ」、との対応を図7に示す。また、図7には「ぼけ」、「途切れ」、「色ズレ」と評価値の対応も示す。6つの評価項目「線幅」、「ぎざぎざさ」、「線の濃さ」、「ぼけ」、「途切れ」、「色ずれ」はこれまで説明した評価値によって評価できる。図7の二次元振幅スペクトルから参照細線との差が分かり難い「線幅」、「ぼけ」、「色ズレ」については図8で断面図でも示す。
【0081】
701は参照した細線の周波数空間におけるスペクトルである。妨害領域のパワーはゼロであり、忠実領域(u軸)にパワーが存在する。振幅の形は図8の参照振幅スペクトル801のようなsinc関数になる。
【0082】
702は線幅のみ変わった時の周波数空間におけるスペクトルである。参照細線と同じく妨害領域のパワーはゼロだが、忠実領域のパワーが出現する周波数帯が変わる。これは、802のように線幅が変わるとsinc関数の幅が変わるためである。よって、線幅の差が変わると妨害度はゼロだが忠実度の値が大きくなる。
【0083】
703は線がぎざぎざになった時の周波数空間におけるスペクトルである。妨害領域にランダムなパワーが発生し、忠実領域のパワーは参照画像の細線と比べて高周波成分が減衰する。結果として妨害度、忠実度ともに大きくなる。
【0084】
704は(線の)濃さが変わった時の周波数空間におけるスペクトルである。妨害領域のパワーはゼロである。忠実領域では、パワーの形(周波数帯)は参照細線と変わらないが、そのパワーの大きさ(DC成分)が異なる。よって、妨害度と忠実度はゼロだが、DC差が大きくなる。
【0085】
705は線にぼけが発生した時の周波数空間におけるスペクトルである。妨害領域のパワーはゼロだが、忠実領域のパワーは参照細線と比べて高周波成分が減衰する。線がぼけた時の振幅スペクトル803と参照振幅スペクトル801とを比べると、高周波成分の振幅が減衰していることがわかる。よって、妨害度はゼロだが忠実度が大きくなる。
【0086】
706は色ズレが起こった時の周波数空間におけるスペクトルである。妨害領域のパワーはゼロだが、忠実領域のパワーが参照細線の場合と異なる周波数帯に出現する。色ずれが起きた時の振幅スペクトル804と参照振幅スペクトル801とを比べると、関数の形が大きく変わっていることが分かる。よって、妨害度はゼロだが忠実度が大きくなる。
【0087】
707は線に途切れが発生した時の周波数空間におけるスペクトルである。忠実領域のパワーは参照細線と変わらないが、途切れによる縦方向の形の変化のため妨害領域にパワーが発生する。よって、妨害度が大きくなる。
【0088】
以上説明した通り、妨害度、忠実度、DC差によって細線再現性を低下させる6つの要因を総合的に評価できることを示した。
【0089】
以上説明したように本実施例によれば、スキャナなどの入力機器から取得した線画像に対して、複数の要因によって起こる細線再現性の悪化を総合的に評価し、適切に悪化の原因に対する補正を行うことが可能となる。
【0090】
また、従来の独立して6つの要因を評価・補正する場合に比べて、優先度の高い順や線の再現性を悪化させている順に、再現性悪化の要因に対する補正をすることができる。
【0091】
さらには、補正機能が限られている場合や時間的制約がある場合には、本実施例の評価方法を用いることで、補正の最適な組み合わせを選択することもできる。
【0092】
(その他の実施例)
本実施例における細線補正部では、総合妨害度や総合忠実度を用いて評価する例を示したが、これに限らない。L妨害度、a妨害度、b妨害度、L忠実度、a忠実度、b忠実度全て個別に閾値と比較してもよい。また全てを用いるのではなく、一部を用いてもよい。
【0093】
また、本実施例で示した周波数空間におけるスペクトルの算出方法は全く同様である必要はない。
【0094】
また、本発明は、上述した実施例の機能(例えば、上記のフローチャートにより示される機能)を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても実現できる。この場合、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が、コンピュータが読み取り可能に記憶媒体に格納されたプログラムコードを読み出し実行することにより、上述した実施例の機能を実現する。
【特許請求の範囲】
【請求項1】
入力画像の周波数空間におけるスペクトルを算出するスペクトル算出手段と、
前記入力画像に対応する周波数空間における参照スペクトルを取得する参照情報取得手段と、
前記入力画像のスペクトルと前記参照スペクトルとを比較して、前記入力画像を評価する評価手段と、
前記評価手段による結果に応じて、前記入力画像を補正する補正手段
とを有し、
前記評価手段は、前記参照スペクトルにおいて振幅が出現する領域と、振幅が出現しない領域とを分けて、前記入力画像のスペクトルと前記参照スペクトルとを比較する
ことを特徴とする画像補正装置。
【請求項2】
前記評価手段は、前記振幅が出現しない領域における前記入力画像のスペクトルと前記参照スペクトルとを比較することを特徴とする請求項1に記載の画像補正装置。
【請求項3】
前記評価手段は、前記振幅が出現する領域における前記入力画像のスペクトルと前記参照スペクトルとを比較することを特徴とする請求項1に記載の画像補正装置。
【請求項4】
さらに、前記入力画像の直流成分を算出する直流成分算出手段と、
前記直流成分によって、前記入力画像のスペクトルを正規化する正規化手段とを有することを特徴とする請求項1乃至3のいずれか一項に記載の画像補正装置。
【請求項5】
前記評価手段は、前記入力画像のスペクトルに視覚特性に応じた関数を乗じた結果に基づいて、評価値を算出することを特徴とする請求項1ないし4のいずれか一項に記載の画像補正装置。
【請求項6】
前記評価手段は、前記参照スペクトルの振幅が出現する領域における前記画像のスペクトルと前記参照スペクトルとの差分に基づいて忠実度を算出する忠実度算出手段と、
前記参照スペクトルの振幅が出現しない領域における前記入力画像のスペクトルと前記参照スペクトルとの差分に基づいて妨害度を算出する妨害度算出手段とを有することを特徴とする請求項1乃至5いずれか一項に記載の画像補正装置。
【請求項7】
前記補正手段は、前記直流成分、前記忠実度、前記妨害度に基づいて、前記入力画像を補正することを特徴とする請求項6に記載の画像補正装置。
【請求項8】
入力画像の周波数空間におけるスペクトルを算出するスペクトル算出工程と、
前記入力画像に対応する周波数空間における参照スペクトルを取得する参照情報取得工程と、
前記入力画像のスペクトルと前記参照スペクトルとを比較して、前記入力画像を評価する評価工程と、
前記評価工程による結果に応じて、前記入力画像を補正する補正工程
とを有し、
前記評価工程は、前記参照スペクトルにおいて振幅が出現する領域と、振幅が出現しない領域とを分けて、前記入力画像のスペクトルと前記参照スペクトルとを比較する
ことを特徴とする画像補正方法。
【請求項9】
請求項1から請求項7の何れか一項に記載の画像補正装置の各手段としてコンピュータを機能させることを特徴とするコンピュータプログラム。
【請求項1】
入力画像の周波数空間におけるスペクトルを算出するスペクトル算出手段と、
前記入力画像に対応する周波数空間における参照スペクトルを取得する参照情報取得手段と、
前記入力画像のスペクトルと前記参照スペクトルとを比較して、前記入力画像を評価する評価手段と、
前記評価手段による結果に応じて、前記入力画像を補正する補正手段
とを有し、
前記評価手段は、前記参照スペクトルにおいて振幅が出現する領域と、振幅が出現しない領域とを分けて、前記入力画像のスペクトルと前記参照スペクトルとを比較する
ことを特徴とする画像補正装置。
【請求項2】
前記評価手段は、前記振幅が出現しない領域における前記入力画像のスペクトルと前記参照スペクトルとを比較することを特徴とする請求項1に記載の画像補正装置。
【請求項3】
前記評価手段は、前記振幅が出現する領域における前記入力画像のスペクトルと前記参照スペクトルとを比較することを特徴とする請求項1に記載の画像補正装置。
【請求項4】
さらに、前記入力画像の直流成分を算出する直流成分算出手段と、
前記直流成分によって、前記入力画像のスペクトルを正規化する正規化手段とを有することを特徴とする請求項1乃至3のいずれか一項に記載の画像補正装置。
【請求項5】
前記評価手段は、前記入力画像のスペクトルに視覚特性に応じた関数を乗じた結果に基づいて、評価値を算出することを特徴とする請求項1ないし4のいずれか一項に記載の画像補正装置。
【請求項6】
前記評価手段は、前記参照スペクトルの振幅が出現する領域における前記画像のスペクトルと前記参照スペクトルとの差分に基づいて忠実度を算出する忠実度算出手段と、
前記参照スペクトルの振幅が出現しない領域における前記入力画像のスペクトルと前記参照スペクトルとの差分に基づいて妨害度を算出する妨害度算出手段とを有することを特徴とする請求項1乃至5いずれか一項に記載の画像補正装置。
【請求項7】
前記補正手段は、前記直流成分、前記忠実度、前記妨害度に基づいて、前記入力画像を補正することを特徴とする請求項6に記載の画像補正装置。
【請求項8】
入力画像の周波数空間におけるスペクトルを算出するスペクトル算出工程と、
前記入力画像に対応する周波数空間における参照スペクトルを取得する参照情報取得工程と、
前記入力画像のスペクトルと前記参照スペクトルとを比較して、前記入力画像を評価する評価工程と、
前記評価工程による結果に応じて、前記入力画像を補正する補正工程
とを有し、
前記評価工程は、前記参照スペクトルにおいて振幅が出現する領域と、振幅が出現しない領域とを分けて、前記入力画像のスペクトルと前記参照スペクトルとを比較する
ことを特徴とする画像補正方法。
【請求項9】
請求項1から請求項7の何れか一項に記載の画像補正装置の各手段としてコンピュータを機能させることを特徴とするコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−105070(P2012−105070A)
【公開日】平成24年5月31日(2012.5.31)
【国際特許分類】
【出願番号】特願2010−251902(P2010−251902)
【出願日】平成22年11月10日(2010.11.10)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年5月31日(2012.5.31)
【国際特許分類】
【出願日】平成22年11月10日(2010.11.10)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]