(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0017】
<1.概要:Retinex理論を応用した画像処理装置>
本発明の一実施形態に係る画像処理装置の特徴をよりわかりやすくするために、まず、Retinex理論を応用した画像処理の概要について説明する。
【0018】
一般的に、デジタルスチルカメラのような撮像装置により画像が撮像される場合に、撮像される自然界の光の明るさのレンジが、当該撮像装置に設けられた撮像素子のダイナミックレンジ超える場合がある。そのため、当該撮像装置の中には、逆光補正やHDR等のような所謂ダイナミックレンジ圧縮技術を利用して、撮像素子のダイナミックレンジよりも、明るさのレンジがより広い被写体の画像を撮像するものもある。このようなダイナミックレンジ圧縮技術を利用した撮像装置では、撮像される画像の暗部及び明部のいずれかまたは双方のレンジを縮退させることで、撮像素子のダイナミックレンジよりも、明るさのレンジがより広い被写体の画像の撮像を可能としている。
【0019】
このようにして撮像された、所謂ダイナミックレンジが縮退された画像の視認性を向上させる技術として、Retinex理論を応用することで、画像処理として局所的なダイナミックレンジ補正を施す技術が知られている。
【0020】
具体的には、Retinex理論では、画像中に撮像された光は、照明光成分と反射率成分とを掛けあわせたものとみなされる。即ち、照明光成分をL、反射率成分をRとした場合に、入力画像の明るさの成分Iは、以下に示す(式1)で示されることとなる。
【0022】
Retinex理論を応用した局所的なダイナミックレンジ補正を行う場合には、画像処理装置は、入力画像の明るさの成分Iから、照明光成分Lと反射率成分Rとを分離して処理する。なお、以降では、入力画像の明るさの成分Iを、単に「入力I」と記載する場合がある。
【0023】
ここで、
図1を参照して、本実施形態に係る画像処理装置の機能構成の一例として、Retinex理論を応用した局所的なダイナミックレンジ補正を行う画像処理装置の機能構成の一例について説明する。
図1は、本実施形態に係る画像処理装置1の機能構成の一例を示したブロック図である。
【0024】
図1に示すように、本実施形態に係る画像処理装置1は、照明光生成部10と、除算部30と、照明光変調部50と、乗算部70とを含む。
【0025】
照明光生成部10は、入力Iに基づき照明光成分Lを生成するための構成である。具体的には、照明光生成部10は、入力Iに対して平滑化処理を施すことで(例えば、平滑化フィルタを適用することで)、当該入力Iから照明光成分Lを生成する。そして、照明光生成部10は、生成した照明光成分Lを示すデータを、除算部30と、照明光変調部50とに出力する。なお、照明光生成部10については、詳細を別途後述する。
【0026】
除算部30は、入力Iに基づき反射率成分Rを生成するための構成である。具体的には、除算部30は、照明光生成部10から照明光成分Lを示すデータを取得し、前述した(式1)に基づき、入力Iを取得した照明光成分Lで除算することで、反射率成分Rを算出する。そして、除算部30は、算出した反射率成分Rを示すデータを、乗算部70に出力する。
【0027】
照明光変調部50は、照明光生成部10から、入力Iに基づき生成された照明光成分Lのデータを取得する。照明光変調部50は、照明光成分Lに対して局所的な変調を施すことで、新たな照明光成分L’(即ち、照明光成分Lに対して局所的な変調が施された照明光成分L’)を生成する。そして、照明光変調部50は、生成した新たな照明光成分L’を示すデータを、乗算部70に出力する。
【0028】
乗算部70は、除算部30から出力される反射率成分Rと、照明光変調部50から出力される照明光成分L’
(即ち、照明光成分Lに対して局所的な変調が施された照明光成分L’)とを乗算することで再合成する。そして、乗算部70は、反射率成分Rと照明光成分L’とが再合成されることで生成された明るさの成分I’に基づく画像を、出力画像として所定の出力先に出力する。
【0029】
以上のようにして、画像処理装置1は、入力画像に対して局所的にダイナミックレンジが補正された出力画像を生成して出力する。以上、
図1を参照して、本実施形態に係る画像処理装置1の機能構成の一例として、Retinex理論を応用した局所的なダイナミックレンジ補正を行う画像処理装置の機能構成の一例について説明した。
<2.第1の実施形態>
[2.1.概要]
次に、本発明の第1の実施形態に係る照明光生成部10について説明する。なお、本説明では、本実施形態に係る照明光生成部10の特徴をよりわかりやすくするために、まず、従来の構成に基づく照明光生成部10の課題について整理する。
【0030】
前述の通り、照明光生成部10は、入力Iに対して平滑化処理を施すことで(例えば、平滑化フィルタを適用することで)、当該入力Iから照明光成分Lを生成する。一方で、この入力Iに対する平滑化処理により、所謂Halo現象が発生する場合がある。このHalo現象は、被写体と背景との間の境界における明るさの急激な変化が平滑化処理により平滑化され、当該境界の近傍におけるコントラストが緩和されることで発生する。
【0031】
例えば、
図2は、照明光生成部10による平滑化処理の処理結果の一例を示した図であり、被写体と背景との間の境界に対して平滑化処理を施した場合における、画像中の画素ごとの明るさの強度の変化の一例を、入出力それぞれについて示している。なお、本説明における明るさの強度とは、例えば、画素値、輝度値、または明度値等を示すものとする。以降の説明では、単に「明るさの強度」と表記した場合には、これらのいずれであっても該当し得るものとする。
図2において横軸は、画像中の画素の位置を示し、縦軸は、明るさの強度を示している。また、
図2において、参照符号Iは、入力画像の明るさの成分を示している。また、参照符号Lは、入力Iに対して平滑化処理を施した場合の出力(即ち、生成された照明光成分)を示している。
【0032】
図2に示すように、入力Iのうち、被写体と背景との間の境界に対して平滑化処理が施されると、当該境界における急激な明るさの変化が緩和された照明光成分Lが生成される。このように、被写体と背景との間の急激な明るさの変化が緩和されることで、被写体と背景との間の境界のコントラストが緩和され、Halo現象として顕在化する場合がある。
【0033】
ここで、
図3を参照して、上記に説明したようなHalo現象の発生を抑制して照明光成分Lを生成する照明光生成部10の一例について、比較例として以下に説明する。
図3は、比較例に係る照明光生成部10の機能構成の一例を示したブロック図である。なお、比較例に係る照明光生成部10を、本実施形態に係る照明光生成部10と区別するために、以降では、「照明光生成部10’」と記載する場合がある。
【0034】
図3に示した、比較例に係る照明光生成部10’は、平滑化処理のためのフィルタとしてεフィルタを適用し、エッジ強度に応じて当該εフィルタのε値を制御することで、入力Iに対してエッジを保持しながら平滑化処理を施す。
【0035】
具体的には、
図3に示すように、比較例に係る照明光生成部10’は、平滑化処理部11と、ε値制御部19とを含む。なお、平滑化処理部11が、所謂εフィルタに相当する。また、ε値制御部19は、勾配算出部191と、ε値調整部193とを含む。
【0036】
勾配算出部191は、入力Iに基づき、入力画像中の各画素を逐次注目画素として、注目画素の周辺に位置する周辺画素それぞれの明るさの強度に基づき、勾配∇を注目画素ごとに算出する。
【0037】
なお、勾配算出部191が、勾配∇を算出する方法の一例として、以下に(式2)として示すように、一次微分フィルタを適用する方法(所謂、ハイパスフィルタを適用する方法)が挙げられる。
【0039】
なお、(式2)において、nは、周辺画素を特定するためのオペレータ長を示している。また、I(x−n,y)及びI(x+n,y)は、オペレータ長をnとした場合における、注目画素に対するx方向(例えば、横方向)の周辺画素の明るさの成分を示している。同様に、I(x,y−n)及びI(x,y+n)は、オペレータ長をnとした場合における、注目画素に対するy方向(例えば、縦方向)の周辺画素の明るさの成分を示している。なお、オペレータ長n=1とした場合には、タップ数は3となり、オペレータ長n=2とした場合には、タップ数は5となる。
【0040】
また、他の一例として、勾配算出部191は、以下に(式3)として示すような、平滑化効果を持たせた帯域制限フィルタを適用して算出してもよい。
【数3】
【0041】
以上のようにして、勾配算出部191は、入力画像中の注目画素ごとに、当該注目画素の周辺画素それぞれの明るさの強度に基づき、勾配∇を算出する、そして、勾配算出部191は、注目画素ごとに算出した勾配∇を、ε値調整部193に出力する。
【0042】
ε値調整部193は、入力画像中の注目画素ごとに算出された勾配∇を、勾配算出部191から取得する。ε値調整部193は、注目画素ごとに取得した勾配∇(具体的には、勾配∇の絶対値)を、当該注目画素におけるエッジ強度K
Gとして認識する。即ち、注目画素の座標を(x,y)、当該注目画素における勾配を∇(x,y)とした場合に、当該注目画素のエッジ強度K
G(x,y)は、以下に(式4)として示す関係式に基づき導出される。
【0044】
そして、ε値調整部193は、エッジ強度K
Gが高いほどε値を小さくし、エッジ強度K
Gが低いほどε値が大きくなるように、エッジ強度K
Gをε値に変換する(即ち、エッジ強度K
G−ε値変換を行う)。例えば、
図4は、ε値調整部193が、エッジ強度K
G−ε値変換を行うための関数f
ε(K
G)の一例を示している。
【0045】
以上のようにして、ε値調整部193は、注目画素ごとに、当該注目画素のエッジ強度K
Gに応じてε値を算出し、算出したε値を平滑化処理部11に出力する。
【0046】
平滑化処理部11は、入力画像中の注目画素ごとに算出されたε値をε値調整部193から取得し、取得したε値に基づき、注目画素と、当該注目画素の周辺画素とに対してεフィルタを適用する。以上のようにして、平滑化処理部11は、入力Iに対してεフィルタを適用することで平滑化処理を施し、平滑化処理後の明るさの成分を、照明光成分Lとして出力する。
【0047】
以上のような構成により、比較例に係る照明光生成部10’は、エッジと判断される部分では平滑化の効果を低めることで当該エッジを保持し、エッジ以外の部分については平滑化の効果を高めるように、入力Iに対して非線形平滑化処理を施す。これにより、比較例に係る照明光生成部10’は、Halo現象の発生を抑制して照明光成分Lを生成することが可能となる。
【0048】
一方で、上述した比較例に係る照明光生成部10’は、背景と被写体との間の境界(以降では、「階段調のエッジ」と呼ぶ場合がある)と、被写体の模様により明暗(階調)が変化する境界(以降では、「模様調のエッジ」と呼ぶ場合がある)とを区別することが困難である。そのため、照明光生成部10’は、階段調のエッジと模様調のエッジとを識別せずに、一様にエッジ強度K
Gを算出し、当該エッジ強度K
Gに応じて平滑化処理を施す。
【0049】
例えば、
図5は、入力Iの一例を示した図であり、入力画像中の画素ごとの明るさの強度の変化の一例を示している。なお、
図5に示す例では、説明をわかりやすくするために、入力画像のx方向(例えば、横方向)についてのみ着目して、入力画像中の画素ごとの明るさの強度の変化を示している。即ち、
図5の横軸は、入力画像中のx方向に沿った画素の位置を示している。また、
図5の縦軸は、各画素の明るさの強度を示している。
【0050】
また、
図6は、
図5に示した入力Iに対して、一次微分フィルタを適用することで勾配∇を算出した場合の、入力画像中の画素ごとの勾配∇の変化の一例を示している。即ち、
図6の横軸は、
図5の横軸と対応しており、入力画像中のx方向に沿った画素の位置を示している。また、
図6の縦軸は、画素ごとに算出された勾配∇を示している。
【0051】
図5に示す例において、参照符号v11a、v11b、v13a、v13b、v15a、及びv15bとして示した部分は、入力画像中における、階段調のエッジにより明暗が大きく変化している部分を模式的に示している。また、参照符号v17として示した部分は、模様調のエッジにより明暗が大きく変化している部分を模式的に示している。なお、
図6において、参照符号v11a、v11b、v13a、v13b、v15a、v15b、及びv17で示した部分は、
図5において、同様の参照符号が付された入力画像中の位置と、同じ位置に対応する部分を示している。
【0052】
図6に示す例では、参照符号v15a及びv15bで示した階段調のエッジと、参照符号v17で示した模様調の各エッジとは、勾配∇の値が略等しい。そのため、勾配∇をエッジK
Gとして認識した場合には、照明光生成部10’は、参照符号v15a及びv15bで示した階段調のエッジと、参照符号v17で示した模様調の各エッジとを識別することは困難である。
【0053】
ここで、被写体の模様により明暗が変化している部分(即ち、模様調の部分)は、当該模様に依存せずに一様に照明されていると考えられ、多くの場合は、当該模様調の部分はエッジを保持されずに平滑化処理が施されることが望ましい。しかしながら、比較例に係る照明光生成部10’は、被写体の模様により明暗が変化する部分(即ち、模様調のエッジ)についても、階段調のエッジと同様に保持する。そのため、比較例に係る照明光生成部10’により入力画像を処理した場合には、平滑化処理により、入力画像中における被写体の模様のコントラストが縮退し、結果として、模様が薄まったような出力画像が出力される場合がある。
【0054】
本実施形態に係る照明光生成部10は、上記問題を鑑みてなされたものであり、その目的とするところは、入力画像中における階段調のエッジと模様調のエッジとを識別して、当該入力画像に対して非線形平滑化処理を施すことが可能な仕組みを提供することにある。そこで、以降では、本実施形態に係る照明光生成部10について、さらに詳しく説明する。
【0055】
[2.2.機能構成]
図7を参照して、本発明の第1の実施形態に係る照明光生成部10の機能構成の一例について説明する。
図7は、本実施形態に係る照明光生成部10の機能構成の一例を示したブロック図である。
【0056】
図7に示すように、本実施形態に係る照明光生成部10は、平滑化処理部11と、ε値制御部13とを含む。なお、平滑化処理部11については、前述した比較例に係る照明光生成部10’(
図3参照)と同様のため詳細な説明は省略する。また、ε値制御部13は、勾配算出部131と、分散算出部133と、ε値調整部135とを含む。
【0057】
勾配算出部131は、前述した比較例に係る照明光生成部10’の勾配算出部191と同様である。即ち、勾配算出部131は、入力Iを基に、入力画像中の各画素を逐次注目画素として、注目画素の周辺に位置する周辺画素それぞれの明るさの強度に基づき、勾配∇を注目画素ごとに算出する。
【0058】
なお、勾配算出部131は、フィルタオペレータを利用した畳み込み積分により、注目画素ごとの勾配∇を算出してもよい。例えば、以下に示す(式5)は、前述した(式2もしくは式3)に示した一次微分フィルタを、畳み込み積分により示した場合の一例である。
【0060】
なお、上記に示した(式5)において、Wは、勾配∇を算出するためのオペレータ(以降では、「勾配オペレータ」と記載する場合がある)を示している。例えば、以下に示す(式6)は、オペレータ長n=1とした場合における、勾配オペレータWの一例を示している。
【0062】
また、他の一例として、以下に示す(式7)は、オペレータ長n=2とした場合における、勾配オペレータWの一例を示している。
【0064】
なお、(式6)及び(式7)に示した勾配オペレータは、あくまで一例であり、オペレータ長nや、オペレータの各係数は、適宜変更してもよい。
【0065】
以上のようにして、勾配算出部131は、入力画像中の注目画素ごとに、当該注目画素の周辺画素それぞれの明るさの強度に基づき、勾配∇を算出する。そして、勾配算出部131は、注目画素ごとに算出した勾配∇を、ε値調整部135に出力する。
【0066】
分散算出部133は、入力Iを基に、入力画像中の各画素を逐次注目画素として、注目画素と、当該注目画素の周辺に位置する周辺画素とのそれぞれの明るさの強度に基づき、分散σ
2を注目画素ごとに算出する。
【0067】
ここで、注目画素の座標を(x,y)、座標(x−i,y−j)に位置する画素の明るさの強度をI
x−j,y−iとした場合に、注目画素の分散σ
2(x,y)は、以下に示す(式8)に基づき算出される。
【0069】
なお、上記に示した(式8)を、以下に示す(式9)のように展開してもよい。
【0071】
例えば、
図8は、
図5に示した入力Iに基づき算出された、入力画像中の画素ごとの分散σ
2に基づく標準偏差σの変化の一例を示している。なお、
図8に示す例では、
図6に示した、入力画像中の画素ごと勾配∇と単位をそろえるために、入力画像中の画素ごとに算出された分散σ
2に基づく、当該画素ごとの標準偏差σの変化として示している。即ち、
図8の横軸は、
図5及び
図6の横軸と対応しており、入力画像中のx方向に沿った画素の位置を示している。また、
図8の縦軸は、画素ごとに算出された標準偏差σを示している。なお、標準偏差σは、分散σ
2の平方根により算出されることは言うまでもない。換言すると、分散算出部133は、分散σ
2に替えて標準偏差σを算出してもよいことは言うまでもない。
【0072】
以上のようにして、分散算出部133は、入力画像中の注目画素ごとに、当該注目画素と、当該注目画素の周辺画素それぞれとの明るさの強度に基づき、分散σ
2を算出する。そして、分散算出部133は、注目画素ごとに算出した分散σ
2を、ε値調整部135に出力する。
【0073】
ε値調整部135は、勾配算出部131から、注目画素ごとに算出された勾配∇を取得する。また、ε値調整部135は、分散算出部133から、注目画素ごとに算出された分散σ
2を取得する。
【0074】
ここで、
図6に示した画素ごとの勾配∇の変化と、
図8に示した画素ごとの標準偏差σ(換言すると、分散σ
2)の変化とのそれぞれとを比較することで、本実施形態に係るε値調整部135の特徴について説明する。
【0075】
図6を参照して前述したように、画素ごとに算出された勾配∇のみに着目した場合には、参照符号v15a及びv15bで示した階段調のエッジと、参照符号v17で示した模様調の各エッジとは、勾配∇の値が略等しく、これらを識別することは困難である。
【0076】
これに対して、画素ごとに算出された標準偏差σのみに着目した場合には、
図8に示すように、参照符号v15a及びv15bで示した階段調のエッジと、参照符号v17で示した模様調の各エッジとは、標準偏差σの値が異なるため、これらを識別することが可能である。一方で、参照符号v13a及びv153で示した階段調のエッジと、参照符号v17で示した模様調の各エッジとは、標準偏差σの値が略等しく、これらを識別することは困難である。
【0077】
一方で、
図6及び
図8を比較するとわかるように、勾配∇と標準偏差σとでは、階段調のエッジと模様調のエッジとの判別が困難な部分に差が生じる。この差は、勾配∇と標準偏差σとの間の特性差によるものであり、本実施形態に係るε値調整部135は、この特性差を利用して階段調のエッジと模様調のエッジとを判別する。
【0078】
具体的には、勾配∇は、注目画素の隣接もしくは近傍の画素間における差分を示している。また、標準偏差σは、前述した(式8)において、オペレータ長mに基づき定義される範囲におけるばらつきを示している。理想的な状態では、階段調のエッジは、標準偏差σの最大値(頂点)と勾配∇の絶対値の最大値とは、略等しい値を示す傾向にある。これに対して、模様調のエッジは、勾配∇の絶対値よりも標準偏差σの方が大きい値を示す傾向にある。そこで、本実施形態に係るε値調整部135は、勾配∇と標準偏差σとの間の乖離度を階段調強度K
Sとして算出し、当該階段調強度K
Sに基づき階段調のエッジと模様調のエッジとを判別する。
【0079】
例えば、注目画素の座標を(x,y)とした場合に、当該注目画素における階段調強度K
S(x,y)は、当該注目画素における勾配∇(x,y)と標準偏差σ(x,y)とに基づき、以下に示す(式10)に基づき算出される。
【0081】
なお、(式10)において、k
∇及びk
σは、勾配∇(x,y)の絶対値と、標準偏差σ(x,y)の最大値との比が1となるように設定された、勾配∇(x,y)及び標準偏差σ(x,y)それぞれに対する補正係数(換言すると、正規化のための係数)である。なお、補正係数kは、補正係数k
∇及びk
σをまとめたものに相当する。
【0082】
補正係数k
∇及びk
σは、あらかじめ算出された定数であってもよい。また、他の一例として、明るさの強度差が異なる複数の理想的な階段調のエッジのデータに基づき、|∇|/σを1に補正するような関数を事前に算出し、当該関数を、補正係数k
∇及びk
σとして設定してもよい。
【0083】
なお、上記に示した(式10)を一般化すると、階段調強度K
Sは、以下に示す(式11)で表されることとなる。
【0085】
ここで、階段調強度K
Sは、1以下の値となり、1に近いほど、対応する注目画素の近傍で明るさがより急峻に変化していることを示している。即ち、階段調強度K
Sが1に近いほど、対応する注目画素が階段調のエッジに相当し得ることを示している。
【0086】
なお、上記に示した階段調強度K
Sの算出式は、あくまで一例であり、勾配∇と、標準偏差σ(換言すると、分散σ
2)との間の乖離度を示していれば、階段調強度K
Sの算出方法は上記に示す例には限定されない。
【0087】
具体的な一例として、ε値調整部135は、勾配∇の二乗と分散σ
2との乖離度に基づき階段調強度K
Sを算出してもよい。この場合には、注目画素の座標を(x,y)とした場合に、当該注目画素における階段調強度K
S(x,y)は、当該注目画素における勾配∇(x,y)と分散σ
2(x,y)とに基づき、以下に示す(式12)に基づき算出される。
【0089】
ここで、上記に示した(式12)を一般化すると、階段調強度K
Sは、以下に示す(式13)で表されることとなる。
【0091】
また、他の一例として、ε値調整部135は、勾配∇の二乗と分散σ
2との差を乖離度として、当該乖離度に基づき階段調強度K
Sを算出してもよい。この場合には、注目画素の座標を(x,y)とした場合に、当該注目画素における階段調強度K
S(x,y)は、当該注目画素における勾配∇(x,y)と分散σ
2(x,y)とに基づき、以下に示す(式14)に基づき算出される。
【0093】
ここで、上記に示した(式14)を一般化すると、階段調強度K
Sは、以下に示す(式15)で表されることとなる。
【0095】
以上のようにして、ε値調整部135は、勾配∇と標準偏差σ(換言すると、分散σ
2)との間の乖離度に基づき階段調強度K
Sを算出する。例えば、
図9は、
図5に示した入力Iに基づき算出された(即ち、
図6に示した画素ごとの勾配∇と、
図8に示した画素ごとの標準偏差σとに基づき算出された)、入力画像中の画素ごとの階段調強度K
Sの変化の一例を示している。即ち、
図9の横軸は、
図5、
図6、及び
図8の横軸と対応しており、入力画像中のx方向に沿った画素の位置を示している。また、
図9の縦軸は、画素ごとに算出された階段調強度K
Sを示している。
【0096】
図9を参照するとわかるように、階段調のエッジv11a、v11b、v13a、v13b、v15a、及びv15bと、模様調の各エッジv17とでは、階段調強度K
Sが大きく乖離している。
【0097】
具体的な一例として、階段調強度K
Sの算出に際し、勾配∇を算出する際のオペレータ長n(例えば(式2)に示した変数n)と、分散σ
2を算出する際のオペレータ長m(例えば(式8)に示した変数m)とを等しい値に設定したとする。この場合には、階段調のエッジでは、補正係数k
∇及びk
σそれぞれを1としたとしても、勾配∇の絶対値と標準偏差σとでは、ほとんど差が無く、階段調強度K
Sは約1を示す。これに対して、模様調のエッジでは、勾配∇の絶対値が標準偏差σよりも低くなり、階段調のエッジに比べて階段調強度K
Sが低い値を示す。
【0098】
このような特性を利用して、ε値調整部135は、入力画像中の注目画素ごとに、当該注目画素における勾配∇の絶対値に対して、当該注目画素について算出した階段調強度K
Sを乗じることで、模様調のエッジにおけるエッジ強度が抑制された、エッジ強度K
Gを算出する。即ち、注目画素の座標を(x,y)とした場合に、当該注目画素におけるエッジ強度K
G(x,y)は、当該注目画素における勾配∇(x,y)と階段調強度K
Sとを基に、以下に示す(式16)に基づき算出される。
【0100】
なお、勾配∇を算出する際のオペレータ長nと、分散σ
2を算出する際のオペレータ長mとは、n≦mとなるように設定することが望ましい。
【0101】
また、他の一例として、ε値調整部135は、以下に(式17)として示すように、入力画像中の注目画素ごとに、当該画素における勾配∇
2に対して階段調強度K
Sを乗じることで、エッジ強度K
Gを算出してもよい。
【0103】
以上のようにして、ε値調整部135は、入力画像中の注目画素ごとに、当該注目画素における勾配∇と、当該注目画素について算出された階段調強度K
Sとに基づきエッジ強度K
Gを算出する。例えば、
図10は、
図5に示した入力Iに基づき算出された(即ち、
図6に示した画素ごとの勾配∇と、
図9に示した画素ごとの階段調強度K
Sとに基づき算出された)、入力画像中の画素ごとのエッジ強度K
Gの変化の一例を示している。即ち、
図10の横軸は、
図5、
図6、及び
図9の横軸と対応しており、入力画像中のx方向に沿った画素の位置を示している。また、
図10の縦軸は、画素ごとに算出されたエッジ強度K
Gを示している。
【0104】
図10に示すように、注目画素ごとの勾配∇及び階段調強度K
Sに基づきエッジ強度K
Gを算出することで、模様調のエッジv17が抑制され、階段調のエッジv11a、v11b、v13a、v13b、v15a、及びv15bが当該エッジ強度K
Gとして抽出される。即ち、ε値調整部135は、以上のようにして算出されたエッジ強度K
Gに基づき、階段調のエッジ及び模様調のエッジのうち階段調のエッジのみが保持されるようにε値を調整する(換言すると、エッジ強度K
G−ε値変換を行う)。
【0105】
ここで、ε値調整部135による、エッジ強度K
Gに基づくε値の調整に係る処理について、
図11を参照しながら具体的な例を挙げて説明する。
図11は、本実施形態に係るε値調整部135によるε値の調整に係る処理の内容について説明するための説明図である。
【0106】
図11の上側の図は、入力画像中の画素ごとの明るさの強度の変化の一例を示している。また、
図11中の下側の図は、入力画像中の注目画素ごとのエッジ強度K
Gの変化の一例を示している。
図11の上側及び下側の図それぞれの横軸は、入力画像中のx方向に沿った画素の位置を示している。また、
図11の上側の図の縦軸は、明るさの強度を示している。また、
図11の下側の図の縦軸は、エッジ強度K
Gを示している。
【0107】
また、
図11において、参照符号nは、オペレータ長を示しており、
図11に示す例では、勾配∇を算出する際のオペレータ長nと、分散σ
2を算出する際のオペレータ長mとが、m=nの関係を満たすものとする。また、
図11に示す例では、画素の位置x=0の部分が階段調のエッジの部分に相当し、x=±1、±2の位置は、位置x=0の画素を注目画素とした場合の、x方向に沿った周辺画素の一例に相当する。
【0108】
図11に示す例では、εフィルタ(即ち、平滑化処理部11による平滑化処理)のオペレータ長n=2とした場合には、画素の位置xが−2〜+2の範囲においてHalo現象が発生し得る。そのため、
図11に示す例の場合には、画素の位置xが−2〜+2の範囲において、εフィルタのε値がより低くなるように(例えば、最小となるように)調整されることが望ましい。
【0109】
そこで、ε値調整部135は、
図11の下側の図に示すように、エッジ強度K
Gの閾値th
Gを設定し、注目画素ごとに算出されたエッジ強度K
Gを当該閾値th
Gと比較する。そして、ε値調整部135は、例えば、エッジ強度K
Gが閾値th
Gを超える画素についてはε値を最小値ε
MINに設定し、エッジ強度K
Gが閾値th
G以下の画素についてはε値を最大値ε
MAXに設定する。
【0110】
例えば、
図12は、ε値調整部135がエッジ強度K
Gに応じてε値を設定する(即ち、エッジ強度K
G−ε値変換を行う)ための関数f
ε(K
G)の一例を示している。
【0111】
ここで、比較のために、
図13に、ε値調整部135がエッジ強度K
G−ε値変換を行うための関数f
ε(K
G)の他の一例について示す。
図13に示す例は、比較例として前述した照明光生成部10’のε値調整部193と同様の方法(
図2参照)で、エッジ強度K
G−ε値変換を行う場合の関数f
ε(K
G)の一例に相当する。
【0112】
図13に示すように、比較例に係るε値調整部193では、ε値の最大値ε
MAXと最小値ε
MINとの間を、閾値th
G1とth
G2とで区分される範囲において線型変調している。これは、比較例に係るε値調整部193が、階段調のエッジと模様調のエッジとを判別することが困難であるため、階段調のエッジと模様調のエッジと判別せずに一様にエッジ強度K
Gによりε値を制御せざるを得ないことによる。
【0113】
このような特性から、比較例に係るε値調整部193に依れば、例えば、エッジ強度の強い模様調のエッジは平滑化されずに保持され、エッジ強度の弱い階段調のエッジについては平滑化されて保持されないといった結果も出力され得る。また、比較例に係るε値調整部193に依れば、例えば、
図11においてx=±1、±2の位置で示されたエッジ強度が中程度から比較的低い画素では、若干ではあるものの平滑化処理が施される。そのため、当該画素において、エッジが保持される度合いが低くなり、当該画素付近に、平滑化処理に伴う弱いHalo現象が発生する場合がある。
【0114】
これに対して、本実施形態に係るε値調整部135は、注目画素ごとの勾配∇及び階段調強度K
Sに基づき算出されたエッジ強度K
Gに応じてε値を調整する。このエッジ強度K
Gは、前述した通り、階段調のエッジの部分において高い数値を示し、模様調のエッジの部分を含むその他の部分では低い数値を示すという特性を有する。そのため、ε値調整部135は、
図12に示すような閾値th
Gに基づく閾値処理により、エッジ強度K
G−ε値変換を行うことが可能となる。
【0115】
また、前述したエッジ強度K
Gの特性から、本実施形態に係るε値調整部135では、閾値th
Gを比較的低い値(少なくとも、
図13に示す閾値th
G2よりも低い値)に設定することが可能である。そのため、本実施形態に係るε値調整部135に依れば、例えば、
図11においてx=±1、±2の位置で示されたエッジ強度が中程度から比較的低い画素においてもエッジを保持することが可能となる。
【0116】
なお、
図12に示す関数f
ε(K
G)はあくまで一例であり、本実施形態に係るε値調整部135は、注目画素ごとの勾配∇及び階段調強度K
Sに基づき算出されたエッジ強度K
Gに対して、
図13に示すような関数f
ε(K
G)を適用してもよいことは言うまでもない。また、他の一例として、ε値調整部135は、注目画素ごとの勾配∇及び階段調強度K
Sに基づき算出されたエッジ強度K
Gに対して、
図14に示すような関数f
ε(K
G)を適用することで、エッジ強度K
G−ε値変換を行ってもよい。
図14は、ε値調整部135がエッジ強度K
Gに応じてε値を設定する(即ち、エッジ強度K
G−ε値変換を行う)ための関数f
ε(K
G)の他の一例を示している。
【0117】
以上のようにして、ε値調整部135は、入力画像中の注目画素ごとに算出されたエッジ強度K
Gに応じて、当該注目画素ごとにε値を設定し、設定されたε値を平滑化処理部11に出力する。
【0118】
なお、以降の処理については、前述した比較例に係る照明光生成部10’と同様である。即ち、平滑化処理部11は、入力画像中の注目画素ごとに算出されたε値をε値調整部135から取得し、取得したε値に基づき、注目画素と、当該注目画素の周辺画素とに対してεフィルタを適用する。以上のようにして、平滑化処理部11は、入力Iに対してεフィルタを適用することで平滑化処理を施し、平滑化処理後の明るさの成分を、照明光成分Lとして出力する。
以上、
図7〜
図14を参照して、本実施形態に係る照明光生成部10の機能構成の一例について説明した。
【0119】
[2.3.処理]
次に、
図15を参照して、本実施形態に係る照明光生成部10の一連の処理の流れの一例について説明する。
図15は、本実施形態に係る照明光生成部10の一連の処理の流れの一例を示したフローチャートである。
【0120】
(ステップS101)
勾配算出部131は、入力Iを基に、入力画像中の各画素を逐次注目画素として、注目画素の周辺に位置する周辺画素それぞれの明るさの強度に基づき、勾配∇を注目画素ごとに算出する。なお、勾配算出部131は、フィルタオペレータを利用した畳み込み積分により、注目画素ごとの勾配∇を算出してもよい。また、勾配∇については、例えば、前述した(式2)及び(式3)のいずれかに基づき算出することが可能である。そして、勾配算出部131は、注目画素ごとに算出した勾配∇を、ε値調整部135に出力する。
【0121】
(ステップS103)
分散算出部133は、入力Iを基に、入力画像中の各画素を逐次注目画素として、注目画素と、当該注目画素の周辺に位置する周辺画素とのそれぞれの明るさの強度に基づき、分散σ
2を注目画素ごとに算出する。なお、分散σ
2については、例えば、前述した(式8)に基づき算出することが可能である。そして、分散算出部133は、注目画素ごとに算出した分散σ
2を、ε値調整部135に出力する。
【0122】
(ステップS105)
ε値調整部135は、勾配算出部131から、注目画素ごとに算出された勾配∇を取得する。また、ε値調整部135は、分散算出部133から、注目画素ごとに算出された分散σ
2を取得する。ε値調整部135は、注目画素ごとに取得した勾配∇と標準偏差σとの間の乖離度に基づき階段調強度K
Sを算出する。なお、階段調強度K
Sについては、例えば、前述した(式10)、(式12)、及び(式14)のいずれかに基づき算出することが可能である。
【0123】
(ステップS107)
次いで、ε値調整部135は、注目画素ごとに、当該注目画素における勾配∇と、当該注目画素について算出した階段調強度K
Sとに基づき、エッジ強度K
Gを算出する。なお、エッジ強度K
Gについては、例えば、前述した(式16)及び(式17)のいずれかに基づき算出することが可能である。
【0124】
(ステップS109)
注目画素ごとにエッジ強度K
Gを算出したら、ε値調整部135は、注目画素ごとに、当該エッジ強度K
Gを所定の閾値th
Gと比較し、当該比較結果に応じて当該注目画素に対するε値を設定する。具体的な一例として、ε値調整部135は、
図12に示した関数fε(K
G)に基づき、エッジ強度K
Gが閾値th
Gを超える画素についてはε値を最小値εMINに設定し、エッジ強度K
Gが閾値th
G以下の画素についてはε値を最大値εMAXに設定する。
【0125】
以上のようにして、ε値調整部135は、入力画像中の注目画素ごとに算出されたエッジ強度K
Gに応じて、当該注目画素ごとにε値を設定し、設定されたε値を平滑化処理部11に出力する。
【0126】
そして、平滑化処理部11は、入力画像中の注目画素ごとに算出されたε値をε値調整部135から取得し、取得したε値に基づき、注目画素と、当該注目画素の周辺画素とに対してεフィルタを適用する。以上のようにして、平滑化処理部11は、入力Iに対してεフィルタを適用することで平滑化処理を施し、平滑化処理後の明るさの成分を、照明光成分Lとして出力する。
【0127】
以上、
図15を参照して、本実施形態に係る照明光生成部10の一連の処理の流れの一例について説明した。
【0128】
なお、上述した一連の動作、即ち、入力画像中の注目画素ごとに、勾配∇と分散σ
2との間の乖離度を示す階段調強度K
Sに基づきエッジ強度K
Gを算出し、当該エッジ強度K
Gに応じて設定されたε値に基づき、当該入力画像に対して平滑化処理を施す方法が、「画像処理方法」の一例に相当する。
【0129】
また、上述した一連の動作は、照明光生成部10の各構成を動作させる装置のCPUを機能させるためのプログラムによって構成することができる。このプログラムは、その装置にインストールされたOS(Operating System)を介して実行されるように構成してもよい。また、このプログラムは、上述した処理を実行する構成が含まれる装置が読み出し可能であれば、記憶される位置は限定されない。例えば、装置の外部から接続される記録媒体にプログラムが格納されていてもよい。この場合には、プログラムが格納された記録媒体を装置に接続することによって、その装置のCPUに当該プログラムを実行させるように構成するとよい。
【0130】
[2.4.まとめ]
以上説明したように、本発明の第1の実施形態に係る照明光生成部10は、注目画素ごとに勾配∇と分散σ
2(換言すると、標準偏差σ)とを算出し、当該勾配∇と分散σ
2との間の乖離度に基づき、階段調強度K
Sを算出する。そして、照明光生成部10は、当該勾配∇と当該階段調強度K
Sとに基づきエッジ強度K
Gを算出し、当該エッジ強度K
Gに基づきε値を調整する。なお、このエッジ強度K
Gは、前述した通り、階段調のエッジの部分において高い数値を示し、模様調のエッジの部分を含むその他の部分では低い数値を示すという特性を有する。そのため、照明光生成部10は、入力画像中の階段調のエッジと模様調のエッジとを判別し、例えば、階段調のエッジについては平滑化の効果を低めることで保持し、模様調のエッジを含む他の部分については平滑化の効果を高めるように、非線形平滑化処理を施すことが可能となる。
【0131】
<3.第2の実施形態>
[3.1.概要]
次に、本発明の第2の実施形態に係る照明光生成部について説明する。前述した第1の実施形態に係る照明光生成部10では、εフィルタの出力値を照明光成分としている。
【0132】
εフィルタの参照画素範囲が比較的広い場合には、平滑化係数として、例えば、統計学等で使用されるガウシアン特性に基づく加重平均係数等を用いる場合がある。その一方で、εフィルタの参照画素範囲が広くなるほど処理コストは増大する傾向にあり、当該処理コストの増大に伴い、回路規模も増大する場合がある。
【0133】
ここで、本実施形態に係る照明光生成部の特徴について、よりわかりやすくするために、以下に、注目画素(x,y)の画素値Ix,yに基づき、照明光成分L(x,y)を算出するための、εフィルタの処理内容を示す計算式の一例を(式18)として示す。
【0135】
なお、上記に示した(式18)において、係数Wは、係数総和が1となるように重み付けを行った加重平均フィルタ係数である。また、関数F(z)は、注目画素と参照画素との間の差分値を収集し、注目画素に加算することで、平滑化フィルタとして作用する。また、上記に示す(式18)では、差分値がε値よりも大きい場合には、参照画素情報を出力結果に反映させないことでエッジを保持している。
【0136】
上記に示すように、εフィルタは、注目画素と各参照画素との間の差分値を算出する工程と、差分値とε値との比較を行う工程とを伴うため、比較的多くの処理コストが必要となり、回路規模も比較的大きくなる傾向にある。
【0137】
特に、近年では、所謂スマートフォンのように携行可能な比較的小型の端末が普及してきており、このような端末では、組み込める回路の規模も制限されている。
【0138】
そこで、本発明の第2の実施形態として、第1の実施形態に係る照明光生成部10と同様に、階段調のエッジと模様調のエッジとを識別して非線形処理を施すことが可能であり、かつ、回路規模をさらに抑制することが可能な照明光生成部の一例について説明する。なお、以降では、本実施形態に係る照明光生成部を、前述した第1の実施形態に係る照明光生成部10と区別するために、「照明光生成部20」と記載する場合がある。
【0139】
[3.2.機能構成]
まず、
図16を参照して、本実施形態に係る照明光生成部20の機能構成の一例について説明する。
図16は、本実施形態に係る照明光生成部20の機能構成の一例を示したブロック図である。
【0140】
図16に示すように、本実施形態に照明光生成部20は、混合部21と、混合比制御部23とを含む。また、混合比制御部23は、勾配算出部231と、分散算出部233と、エッジ強度算出部235と、混合比算出部237とを含む。
【0141】
勾配算出部231は、入力Iを基に、入力画像中の各画素を逐次注目画素として、注目画素の周辺に位置する周辺画素それぞれの明るさの強度に基づき、例えば、勾配オペレータWを用いて、勾配∇の二乗値を注目画素ごとに算出する。なお、勾配算出部231が、勾配∇を算出する基本的な仕組みは、前述した第1の実施形態に係る勾配算出部131と同様である。例えば、以下に示す、(式19)は、オペレータ長n=2とした場合の勾配オペレータWの一例を示している。
【0143】
また、以下に示す(式20)は、オペレータ長n=2とした場合の勾配オペレータWの他の一例を示している。
【0145】
もちろん、上記に(式19)及び(式20)として示した勾配オペレータWは、あくまで一例であり、必ずしも上記に示した式には限定されない。即ち、通過帯域が調整されることで、勾配オペレータWとして、(式19)及び(式20)以外の他の係数値が用いられてもよい。
【0146】
また、勾配算出部231は、上記に示した勾配オペレータWを利用した畳み込み積分により、注目画素ごとの勾配∇の二乗値である∇
2を算出する。なお、以降の説明では、勾配∇の二乗値∇
2を、単に、「勾配∇
2」と記載する場合がある。例えば、以下に示す(式21)は、勾配オペレータWを利用した畳み込み積分により、勾配∇
2を算出する計算式の一例を示している。なお、(式21)におけるW’は、勾配オペレータWを90度回転させた係数を示している。
【0148】
以上のようにして、勾配算出部231は、入力画像中の注目画素ごとに、当該注目画素の周辺画素それぞれの明るさの強度に基づき、勾配∇
2を算出する。そして、勾配算出部231は、注目画素ごとに算出した勾配∇
2を、エッジ強度算出部235に出力する。
【0149】
分散算出部233は、入力Iを基に、入力画像中の各画素を逐次注目画素として、注目画素と、当該注目画素の周辺に位置する周辺画素とのそれぞれの明るさの強度の平均値Aを注目画素ごとに算出し(即ち、移動平均を算出し)、当該平均値Aに基づき、分散σ
2を注目画素ごとに算出する。
【0150】
ここで、注目画素の座標を(x,y)とした場合に、当該注目画素(x,y)に対応する平均値A(x,y)は、オペレータ長をn、座標(x,y)に位置する画素の明るさの強度をI
x,yとした場合に、畳み込み積分で示すと、以下に示す(式22)で表される。
【0152】
なお、平均値Aを算出する際のオペレータ長n(換言すると、参照画素範囲)については、照明光生成部20が設けられる機器の回路規模に応じて設定すればよいことは言うまでもない。
【0153】
また、注目画素の座標を(x,y)、座標(x−i,y−j)に位置する画素の明るさの強度をI
x−j,y−iとした場合に、当該注目画素(x,y)に対応する分散σ
2は、以下に示す(式23)に基づき算出される。
【0155】
以上のようにして、分散算出部233は、入力画像中の注目画素ごとに、当該注目画素と、当該注目画素の周辺画素それぞれとの明るさの強度に基づき、平均値Aを注目画素ごとに算出し、当該平均値Aに基づき、分散σ
2を注目画素ごとに算出する。そして、分散算出部233は、注目画素ごとに算出した分散σ
2を、エッジ強度算出部235に出力する。また、分散算出部233は、分散σ
2を算出する過程において、注目画素ごとに算出した平均値A(即ち、移動平均)を、混合部21に出力する。
【0156】
エッジ強度算出部235は、勾配算出部231から、注目画素ごとに算出された勾配∇
2を取得する。また、エッジ強度算出部235は、分散算出部233から、注目画素ごとに算出された分散σ
2を取得する。エッジ強度算出部235は、取得した勾配∇
2と分散σ
2との間の乖離度を階段調強度K
Sとして算出する。
【0157】
例えば、注目画素の座標を(x,y)とした場合に、当該注目画素における階段調強度K
S(x,y)は、当該注目画素における勾配∇
2(x,y)と分散σ
2(x,y)とに基づき、以下に示す(式24)に基づき算出される。
【0159】
なお、上記(式24)として示した例では、エッジ強度算出部235は、∇
2(x,y)/σ
2(x,y)が1を超えないように、当該∇
2(x,y)/σ
2(x,y)の算出値を1でクリップしている。また、他の一例として、エッジ強度算出部235は、∇
2(x,y)/σ
2(x,y)の算出値を正規化することで、当該∇
2(x,y)/σ
2(x,y)が1を超えないように制御してもよい。
【0160】
次いで、エッジ強度算出部235は、入力画像中の注目画素ごとに、当該注目画素における勾配∇
2に対して、当該注目画素について算出した階段調強度K
Sを乗じることで、模様調のエッジにおけるエッジ強度が抑制された、エッジ強度K
Gを算出する。ここで、注目画素の座標を(x,y)とした場合に、当該注目画素におけるエッジ強度K
G(x,y)は、当該注目画素における勾配∇
2(x,y)と階段調強度K
Sとを基に、以下に示す(式25)に基づき算出される。
【0162】
なお、上記に示した(式25)に基づき算出されるエッジ強度K
Gは、勾配∇の二乗値(即ち、勾配∇
2)に基づき算出されるため、その算出結果が、より小さい値となりやすい傾向にある。そのため、上記に示した(式25)では、α倍することで強度の強調を行っている。また、他の一例として、エッジ強度算出部235は、(式16)として前述したように、勾配∇の絶対値と、階段調強度K
Sとを基に、エッジ強度K
Gを算出してもよい。
【0163】
以上のようにして、エッジ強度算出部235は、入力画像中の注目画素ごとに、当該注目画素における勾配∇
2と、当該注目画素について算出された階段調強度K
Sとに基づきエッジ強度K
Gを算出する。そして、エッジ強度算出部235は、入力画像中の注目画素ごとに算出したエッジ強度K
Gを、混合比算出部237に出力する。
【0164】
混合比算出部237は、入力画像中の注目画素ごとに算出されたエッジ強度K
Gを、エッジ強度算出部235から取得する。混合比算出部237は、注目画素ごとに取得したエッジ強度K
Gを、あらかじめ設定された変換関数f
E(K
G)に基づき、混合比K
Eに変換する。例えば、
図17は、混合比算出部237が、エッジ強度K
G−混合比K
E変換を行うための変換関数f
E(K
G)の一例に相当する。また、
図17に示した変換関数f
E(K
G)は、以下に示す(式26)として示される。
【0166】
上記に示す(式26)では、混合比算出部237は、混合比K
Eの最大値1と最小値minとのとの間を、閾値th
1とth
2とで区分される範囲において線型変調している場合の一例を示している。なお、式25においてα=8とした場合に、(式26)における最小値min=0.0〜0.2、閾値th
1、th
2=0.02〜0.8(th
1≦th
2)の範囲で調整を行うことで、良好な照明光抽出が可能となることがわかっている。
【0167】
また、
図17に示した変換関数f
E(K
G)は、あくまで一例であり、必ずしも
図17に示す例には限定されない。例えば、
図18は、混合比算出部237が、エッジ強度K
G−混合比K
E変換を行うための変換関数f
E(K
G)の他の一例に相当する。
図18に示すように、混合比算出部237は、非線形現象特性を用いてエッジ強度K
G−混合比K
E変換を行ってもよい。
【0168】
以上のようにして、混合比算出部237は、入力画像中の注目画素ごとに算出されたエッジ強度K
Gに基づき、混合比K
Eを当該注目画素ごとに算出する。そして、混合比算出部237は、入力画像中の注目画素ごとに算出した混合比K
Eを、混合部21に出力する。
【0169】
混合部21は、入力画像中の注目画素ごとに算出された平均値A(即ち、移動平均)を、分散算出部233から取得する。また、混合部21は、入力画像中の注目画素ごとに算出された混合比K
Eを、混合比算出部237から取得する。混合部21は、入力Iを基に、入力画像中の各画素を逐次注目画素として、注目画素の明るさの強度と、当該注目画素に対応する平均値Aとを、当該注目画素に対応する混合比K
Eに基づき混合することで、当該注目画素に対応する照明光成分Lを算出する。
【0170】
ここで、注目画素の座標を(x,y)、当該注目画素に対応する平均値をA(x,y)とすると、当該注目画素に対応する照明光成分L(x,y)は、混合比K
Eを基に、以下に示す(式27)に基づき算出される。
【0172】
また、
図19は、混合部21の概略的な構成の一例について示した図であり、上記に示す(式27)に基づき照明光成分L(x,y)を算出する場合における、混合部21の構成の一例を示している。
【0173】
図19に示すように、混合部21は、例えば、乗算部211及び215と、減算部213と、加算部217とを含む。
【0174】
減算部213は、混合比算出部237から入力される注目画素(x,y)に対応する混合比K
Eを受けて、当該混合比K
Eと1との差分1−K
Eを、乗算部211に出力する。
【0175】
乗算部211は、入力画像中の注目画素の明るさの成分I(x,y)と、減算部213から出力される混合比K
Eと1との差分1−K
Eとを乗算し、乗算結果を加算部217に出力する。なお、乗算部211が、「第1の乗算部」の一例に相当し、注目画素の明るさの成分I(x,y)に乗ぜられる差分1−K
Eが、「第1の係数」の一例に相当する。
【0176】
乗算部215は、分散算出部233から入力される注目画素(x,y)に対応する平均値をA(x,y)と、混合比算出部237から入力される当該注目画素(x,y)に対応する混合比K
Eとを乗算し、乗算結果を加算部217に出力する。なお、乗算部215が、「第2の乗算部」の一例に相当し、平均値をA(x,y)に乗ぜられる混合比K
Eが、「第2の係数」の一例に相当する。
【0177】
そして、加算部217は、乗算部211からの出力結果(即ち、I(x,y)と1−K
Eとの乗算結果)と、乗算部215からの出力結果(即ちA(x,y)と、K
Eとの乗算結果)とを加算し、加算結果を、注目画素(x,y)に対応する照明光成分L(x,y)として出力する。
【0178】
以上、
図16〜
図19を参照して、本実施形態に係る照明光生成部20の機能構成の一例について説明した。
【0179】
[3.3.処理]
次に、
図20を参照して、本実施形態に係る照明光生成部20の一連の動作の流れの一例について説明する。
図20は、本実施形態に係る照明光生成部20の一連の動作の流れの一例について示したフローチャートである。
【0180】
(ステップS201)
勾配算出部231は、入力Iを基に、入力画像中の各画素を逐次注目画素として、注目画素の周辺に位置する周辺画素それぞれの明るさの強度に基づき、例えば、勾配オペレータWを用いて、勾配∇
2を注目画素ごとに算出する。具体的な一例として、勾配算出部231は、前述した(式19)〜(式21)に示すように、勾配オペレータWを利用した畳み込み積分により、注目画素ごとの勾配∇
2を算出すればよい。そして、勾配算出部231は、注目画素ごとに算出した勾配∇
2を、エッジ強度算出部235に出力する。
【0181】
(ステップS203)
分散算出部233は、入力Iを基に、入力画像中の各画素を逐次注目画素として、注目画素と、当該注目画素の周辺に位置する周辺画素とのそれぞれの明るさの強度の平均値Aを注目画素ごとに算出する。なお、平均値Aについては、前述した(式22)に基づき算出することが可能である。そして、分散算出部233は、注目画素ごとに算出した平均値A(即ち、移動平均)を、混合部21に出力する。
【0182】
(ステップS205)
また、分散算出部233は、注目画素ごとに算出した平均値Aに基づき、当該注目画素に対応する分散σ
2を算出する。なお、分散σ
2については、前述した(式23)に基づき算出することが可能である。そして、分散算出部233は、注目画素ごとに算出した分散σ
2を、エッジ強度算出部235に出力する。
【0183】
(ステップS207)
エッジ強度算出部235は、勾配算出部231から、注目画素ごとに算出された勾配∇
2を取得する。また、エッジ強度算出部235は、分散算出部233から、注目画素ごとに算出された分散σ
2を取得する。エッジ強度算出部235は、取得した勾配∇
2と分散σ
2との間の乖離度を階段調強度K
Sとして算出する。なお、階段調強度K
Sについては、前述した(式24)に基づき算出することが可能である。
【0184】
(ステップS209)
次いで、エッジ強度算出部235は、入力画像中の注目画素ごとに、当該注目画素における勾配∇
2に対して、当該注目画素について算出した階段調強度K
Sを乗じることで、模様調のエッジにおけるエッジ強度が抑制された、エッジ強度K
Gを算出する。なお、エッジ強度K
Gについては、前述した(式25)に基づき算出することが可能である。そして、エッジ強度算出部235は、入力画像中の注目画素ごとに算出したエッジ強度K
Gを、混合比算出部237に出力する。
【0185】
(ステップS211)
混合比算出部237は、入力画像中の注目画素ごとに算出されたエッジ強度K
Gを、エッジ強度算出部235から取得する。混合比算出部237は、注目画素ごとに取得したエッジ強度K
Gを、あらかじめ設定された変換関数f
E(K
G)に基づき、混合比K
Eに変換する。例えば、前述した(式26)は、変換関数f
E(K
G)の一例である。そして、混合比算出部237は、入力画像中の注目画素ごとに算出した混合比K
Eを、混合部21に出力する。
【0186】
(ステップS213)
混合部21は、入力画像中の注目画素ごとに算出された平均値A(即ち、移動平均)を、分散算出部233から取得する。また、混合部21は、入力画像中の注目画素ごとに算出された混合比K
Eを、混合比算出部237から取得する。混合部21は、入力Iを基に、入力画像中の各画素を逐次注目画素として、注目画素の明るさの強度と、当該注目画素に対応する平均値Aとを、当該注目画素に対応する混合比K
Eに基づき混合することで、当該注目画素に対応する照明光成分Lを算出する。なお、照明光成分Lについては、前述した(式27)に基づき算出することが可能である。
【0187】
以上、
図20を参照して、本実施形態に係る照明光生成部20の一連の動作の流れの一例について説明した。
【0188】
なお、上述した一連の動作は、照明光生成部20の各構成を動作させる装置のCPUを機能させるためのプログラムによって構成することができる。このプログラムは、その装置にインストールされたOS(Operating System)を介して実行されるように構成してもよい。また、このプログラムは、上述した処理を実行する構成が含まれる装置が読み出し可能であれば、記憶される位置は限定されない。例えば、装置の外部から接続される記録媒体にプログラムが格納されていてもよい。この場合には、プログラムが格納された記録媒体を装置に接続することによって、その装置のCPUに当該プログラムを実行させるように構成するとよい。
【0189】
[3.4.実施例]
次に、実施例として、本実施形態に係る照明光生成部20の回路規模の見積もり量の一例についてまとめる。なお、本説明では、回路規模の比較対象として、
図3を参照して前述した照明光生成部10’(比較例1)と、
図7を参照して前述した第1の実施形態に係る照明光生成部10(比較例2)とについても、回路規模の見積もり量の一例についてまとめる。また、本説明では、各回路を構成するゲート回路に基づくゲート数に応じて、回路規模を見積もるものとする。具体的な一例として、回路規模の見積もりの基準値として、加算器及び減算器を「104」、乗算器を「384」、除算器を「1600」、絶対値算出回路を「64」、2入力選択器を「40」としている。
【0190】
例えば、
図21は、実施例に係る照明光生成部の回路規模の見積もり量の一例について説明するための図であり、本実施例に係る照明光生成部と、比較例1及び比較例2に係る照明光生成部とのそれぞれについて、見積もり量の概算値の一例を示している。
【0191】
図21に示すように、比較例1に係る照明光生成部は、主に、εフィルタと、ε値調整部と、勾配算出部とを含んで構成され、特に、εフィルタの回路規模が約3800となり、最も大きいことがわかる。また、比較例2に係る照明光生成部は、比較例1に係る照明光生成部の構成に加えて、分散算出部と、エッジ強度算出部が追加されており、追加された構成分だけ、比較例1に係る照明光生成部よりも回路規模が大きくなっている。
【0192】
これに対して、実施例に係る照明光生成部は、比較例2に係る照明光生成部におけるεフィルタ及びε値調整部が、混合部及び混合比算出部に置き換わっている。なお、ε値調整部と混合比算出とは、回路規模がほぼ同等であるが、混合部(例えば、
図19参照)については、回路規模が約800となり、εフィルタに比べて回路規模が極めて小さくなっている。
【0193】
これにより、実施例に係る照明光生成部は、比較例2に係る照明光生成部に比べて全体の回路規模を小さく抑えることが可能となる。具体的には、比較例1に係る照明光生成部の回路規模を基準とした場合に、比較例2に係る照明光生成部の回路規模は約60%増大するのに対して、実施例に係る照明光生成部は、回路規模の増大を約20%まで抑制することが可能となる。もちろん、実施例に係る照明光生成部(即ち、第2の実施形態に係る照明光生成部20)は、比較例2に係る照明光生成部(即ち、第1の実施形態に係る照明光生成部10)と同様に、入力画像中の階段調のエッジと模様調のエッジとを識別して、当該画像に対して非線形平滑化処理を施すことが可能となることは前述した通りである。
【0194】
[3.5.まとめ]
以上、説明したように、本発明の第2の実施形態に係る照明光生成部20は、注目画素ごとに勾配∇
2と分散σ
2とを算出し、当該勾配∇
2と分散σ
2との間の乖離度に基づく階段調強度K
Sを算出する。照明光生成部20は、算出した階段調強度K
Sに基づきエッジ強度K
Gを算出し、算出したエッジ強度K
Gを基に混合比K
Eを算出する。そして、照明光生成部20は、注目画素における明るさの強度と、当該注目画素及び周辺画素それぞれの明るさの強度の平均値A(即ち、移動平均)とを、混合比K
Eに基づき混合することで照明光成分Lを生成する。
【0195】
このような構成により、本実施形態に係る照明光生成部20は、前述した第1の実施形態に係る照明光生成部10と同様に、入力画像中の階段調のエッジと模様調のエッジとを識別して、当該画像に対して非線形平滑化処理を施すことが可能となる。
【0196】
また、本実施形態に係る照明光生成部20では、εフィルタのような比較的規模の大きい回路が、前述した混合部21のように、より規模の小さい回路に置き換えられる。これにより、本実施形態に係る照明光生成部20は、前述した第1の実施形態に係る照明光生成部10に比べて、回路規模をより小さく抑えることが可能となる。
【0197】
特に、照明光の成分は緩やかに変化するため、HD(High Definition)以上(例えば、HD、FHD:Full High Definition、UHD:Ultra High Definition等)の解像度において、オペレータ長n=2(即ち、5画素)程度の参照画素範囲内における照明光成分の変化は極めて微量であり、ほぼ直線的に変化するものとみなす(即ち、近似する)ことができる。そのため、本実施形態に係る照明光生成部20では、このような特性に基づき、注目画素を基準とした所定の参照画素範囲内における画素の明るさの強度Iの平均値A(即ち、移動平均)を利用して、照明光成分Lを算出することで、回路規模をより小さく抑えている。
【0198】
また、本実施形態に係る照明光生成部20は、分散σ
2の導出過程において算出した平均値Aを、混合比K
Eに基づく照明光成分Lの算出時に再利用している。このため、照明光成分Lの算出時に、改めて平均値Aを算出する必要がなくなるため、回路規模をさらに小さく抑えることが可能となる。
【0199】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。