説明

画像理装置および方法、並びにプログラム

【課題】画像の画質の劣化を抑制し、十分な平滑化効果を得ることができるようにする。
【解決手段】バイラテラルフィルタやεフィルタなど輝度軸の重み関数を利用するエッジ保存平滑化では、比較的緩い勾配のエッジやグラデーション領域において、適切に平滑化できなかったり、擬似輪郭状のアーチファクトが発生したりすることがあった。そこで、異なる広がりを持つ複数の正規化した輝度軸重み関数を用いて、局所領域内の画素毎の重み値を算出する。その重み値の総和が最大となる輝度軸重み関数によるエッジ保存平滑化結果を選択する。本発明は、画像処理装置に適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は画像処理装置および方法、並びにプログラムに関し、特に、画像の画質の劣化を抑制し、かつ十分な平滑化効果を得ることができるようにした画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
画像処理技術の1つにエッジ保存平滑化処理がある。エッジ保存平滑化とは、画像中の物体境界など顕著な輝度段差は残しつつ階調を平滑化する非線形フィルタ処理である。視認性に影響する物体輪郭を保存しながら微細な輝度変動を除去するので、古くからノイズリダクション処理に用いられている(例えば、非特許文献1乃至非特許文献3参照)。
【0003】
またエッジ保存平滑化処理は、物体内のテクスチャの微細な輝度変動と物体輪郭の顕著な輝度段差を分離できる性質を利用して、テクスチャに代表されるディテール成分を変化させることなく、それ以外の成分の輝度差を圧縮する階調補正処理にも用いられている(例えば、非特許文献4および非特許文献5参照)。
【0004】
そのようなエッジ保存平滑化処理の中で、近年バイラテラルフィルタと呼ばれる技術がよく利用されている。一般に、画像I(p)に対するバイラテラルフィルタBLF(p)は、次式(1)に示されるように、空間方向の重み関数ω(q-p)と輝度値方向の重み関数φ(I(q)-I(p))の2つで重み付けした画素位置pの周囲の画素値I(q)を加算する演算をおこなう。
【0005】
【数1】

【0006】
式(1)において右辺の分母は重み値の正規化係数を示す。
【0007】
例えば非特許文献4にはバイラテラルフィルタを用いた階調補正処理技術が開示されている。バイラテレルフィルタにおける空間および輝度方向の重み関数形状は任意だが、画像処理用途においては、矩形状のBox関数やベル形状の正規分布関数が用いられることが多い。
【0008】
バイラテラルフィルタと類似のエッジ保存平滑化処理にεフィルタと呼ばれる技術もあり、これもよく利用されている。εフィルタは、バイラテラルフィルタの空間方向の重み関数をBox関数としたもの、すなわち画素位置依存の重み付けをおこなわないバイラテラルフィルタだと説明することができる。次式(2)にεフィルタの演算式を示す。
【0009】
【数2】

【0010】
バイラテレルフィルタもεフィルタも、平滑化対象である画素の輝度値とその近傍の画素の輝度値との差分に基づいた重みつき期待値を算出する手法であり、それによりエッジのような大きな段差とノイズのような微小振幅の分離を高める効果を出している。
【先行技術文献】
【非特許文献】
【0011】
【非特許文献1】A. Lev, S. W. Zucker, A. Rosenfeld, "Iterative enhancement of noise images", IEEE Trans. Systems, Man, and Cybernetics, Vol. SMC-7, 1977.
【非特許文献2】D. C. C. Wang, A. H. Vagnucci, C. C. Li, "Gradient inverse weighted smoothing scheme and the evaluation of its performance", CVGIP, Vol. 15, pp. 167-181, 1981.
【非特許文献3】M. Nagao, T. Matsuyama, "Edge preserving smoothing", CGIP, Vol. 9, pp. 394-407, 1978.
【非特許文献4】F. Durand, J. Dorsey, "Fast bilaterarl filtering for the display of high-dynamic-range images", Proc. of ACM SIGGRAPH 2002, 2002.
【非特許文献5】S. N. Pattanaik, H. Yee, "Adaptive gain control for high dynamic range image display", Proc. of Spring Conference in Computer Graphics 2002, 2002.
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、前述のような輝度方向の重み関数を用いるエッジ保存平滑化では、比較的緩い勾配のエッジやグラデーション領域において、適切な平滑化がかからなかったり擬似輪郭状のアーチファクトが発生するなどの問題があった。以下に、1次元信号の例を用いて説明する。
【0013】
図1および図2は、矩形状の凹凸にノイズが加わった1次元信号に対してバイラテラルフィルタを適用してノイズ除去をおこなう例を模式的に示すものである。
【0014】
図1には、バイラテラルフィルタを適用する前の信号を黒丸の点列11で、本来得られるべきノイズのない信号を破線12で示す。ある画素位置13における信号にバイラテレルフィルタを適用するには、空間方向の重み関数14の中心を当該位置に配置し、輝度方向の重み関数15の中心を当該画素の輝度値に合わせて配置して、上述した式(1)の計算をおこなえばよい。
【0015】
このとき、空間および輝度方向の重み関数の幅で規定される長方形の領域16内にある画素信号が平滑化に反映される。空間的に重み関数の範囲内であっても輝度方向に重み関数の範囲内に入らなければ、その画素は平滑化に反映されない。
【0016】
従って、画素位置13においては、信号の段差を越えて右側にある画素は除外され、信号の段差より左側の画素のみで重みつき期待値が算出されるので、本来のノイズのない信号に近い処理結果を得ることができる。
【0017】
このような信号の段差の近傍であっても段差の両側の信号を分離して平滑化するバイラテレルフィルタの性質によって、信号全体にバイラテラルフィルタを適用すると図2に示すような理想に近い信号を得ることができる。
【0018】
次に、図3および図4に、矩形よりも段差において緩い勾配を持つ台形状の凹凸にノイズが加わった1次元信号に対してバイラテラルフィルタを適用する例を模式的に示す。
【0019】
先図と同様、バイラテラルフィルタを適用する前の信号を黒丸の点列31で、本来得られるべきノイズのない信号を破線32で示す。また、ある画素位置33における信号にバイラテレルフィルタを適用する場合の、空間方向の重み関数34および輝度方向の重み関数35の位置を示す。
【0020】
先例と同様に、空間方向および輝度方向の重み関数で規定される長方形の領域36内にある画素が、当該画素位置33における重みつき期待値に寄与する。しかしこの例では、段差が急峻でなく緩やかな勾配を持つので、当該画素33は段差の勾配の中腹に存在する。
【0021】
本来であれば勾配の中腹付近の輝度値が近傍画素の重みつき期待値で算出されるのが理想だが、この例においては、重み関数によって当該画素より低い輝度に偏った近傍画素の期待値が算出され、本来の信号よりは低い値が出力される。
【0022】
同様に勾配中の他の位置でも、平坦部に近い場所ほど重み関数による画素選択により平坦部の輝度に偏った期待値が算出されるので、結果として、図4に示すような、本来の段差の勾配とは異なったより急峻な勾配の信号が算出されてしまう。
【0023】
この問題は、バイラテラルフィルタの輝度方向の重み関数による輝度範囲の制限が強すぎるために生じる。例えば、図5に示すように、図3と同じ信号に対してより幅が広い輝度方向の重み関数51を適用すれば、段差の勾配にかかる画素においても十分な平滑化がかかるようになり、また図6のように本来の段差に近い勾配の信号を得ることができる。
【0024】
しかしながら、これと同じ幅の輝度方向の重み関数を最初の図1の矩形状の信号に適用すると、段差を分離する性質が弱いために、本来急峻であるべき段差の肩がなまってしまうという結果となってしまう。
【0025】
同じく輝度方向の重み関数の幅に関連する別の問題を、図7および図8を用いて説明する。
【0026】
図7は、緩やかに変化する勾配にノイズが加わった1次元信号に対してバイラテラルフィルタを適用する例を模式的に示すものである。
【0027】
前図と同様に、バイラテラルフィルタを適用する前の信号を黒丸の点列71で、本来得られるべきノイズのない信号を破線72で示す。本来のノイズない信号72の左端は比較的急峻な勾配を持つが、右に向かって勾配が次第に緩やかになっている。
【0028】
さらに、信号左端付近の急な勾配の画素位置73における空間方向の重み関数75および輝度方向の重み関数76、重み関数で規定される重みつき期待値に寄与する領域77と、信号右端付近の緩やかな勾配の位置74における空間方向の重み関数78および輝度方向の重み関数79、重み関数で規定される重みつき期待値に寄与する領域80を示す。
【0029】
2つの位置における寄与する領域77および領域80を見比べると明らかに左端付近の急峻な勾配の位置では寄与できる画素の数が少ない。その結果、図8に示すように、勾配が急峻な領域では、勾配が緩やかな領域に比べてバイラテラルフィルタの平滑化効果すなわちノイズ低減の効果が小さくなるという問題が生じる。
【0030】
このように、輝度方向の重み関数の適切な幅は画像によって異なる。バイラテラルフィルタをノイズ低減用途に用いたとき、ノイズ低減の効果とエッジ保存性能のトレードオフという問題になってあらわれる。本来あるべきエッジを残そうとすれば輝度方向の重み関数の幅を小さめに設定することが望ましいが、小さい幅の重み関数は緩い勾配が変化するときにノイズ低減効果が変化してしまう。
【0031】
また、バイラテラルフィルタを階調補正に利用する場合は、画像の大局的な構造をあらわす成分(以下、大局輝度成分)とテクスチャなどのローカルな構造をあらわす成分(以下、ローカルコントラスト成分)とを分離する処理にバイラテラルフィルタを利用する。このとき、エッジ部の勾配が適切に成分分離されないと不自然なアーチファクトが発生してしまう。
【0032】
前述の例のようにエッジの段差に対して小さすぎる幅の輝度重み関数はソラリゼーションあるいは擬似輪郭状のアーチファクトの原因となり、逆に大きすぎる幅はハロあるいはオーバーシュート状のアーチファクトの原因となり、小さくても大きくても問題がある。このような問題を回避するには、画像に応じて輝度重み関数の幅を適切に調節する必要がある。
【0033】
以上のように、バイラテラルフィルタやεフィルタなど輝度軸の重み関数を利用するエッジ保存平滑化では、比較的緩い勾配のエッジやグラデーション領域において、適切な平滑化がかからなかったり擬似輪郭状のアーチファクトが発生するなどの問題があった。
【0034】
本技術は、このような状況に鑑みてなされたものであり、画像の画質の劣化を抑制し、かつ十分な平滑化効果を得ることができるようにするものである。
【課題を解決するための手段】
【0035】
本技術は以下のような手段によって、以上に述べた課題を解決する。
【0036】
まず、本技術の第1の構成として、画像データ中のある画素位置において、
当該画素位置の画素値と近傍領域の各画素の画素値との差分値に基づく重み値を算出し(例えば、図10の空間重み算出部105、輝度重み算出部106までの構成)、
前記近傍領域の各画素で算出した重み値に基づいて、前記近傍領域画素値の期待値を算出し、それを当該画素位置の計算結果とする(積和部107、積和部108以降の構成)画像処理において、
前記重み値を算出するための複数の正規化された重み関数(空間重み関数セット131および輝度重み関数セット132)と、
前記複数の正規化重み関数の夫々について、近傍領域の全画素の重み値総和を算出する手段(空間重み算出部105、輝度重み算出部106、積和部107、積和部108およびその結果をストアする輝度積分値ストア133、重み積分値ストア134)と、
前記重み値総和に基づいて前記正規化重み関数を選択する手段(積分値選択部135)と、
前記選択された正規化重み関数に基づいた前記近傍領域画素値の期待値を算出する手段(除算部109)と
を備えるようにする。
【0037】
さらに本技術は、前記正規化重み関数を選択する手段は、
前記重み値総和を最大にする正規化重み関数を選択する(例えば、図11の構成)ようにすることができる。
【0038】
また本技術は、前記正規化重み関数を選択する手段は、
前記重み値総和のうち最大値と、最大値から所定の許容幅にはいるものを抽出し、前記抽出された重み値総和に対応する正規化重み関数のうち、関数の幅が最大のものを選択する(例えば、図12の構成)ようにしてもよい。
【0039】
次に、本技術の第2の構成として、
画像を空間方向に複数の領域に分割したブロック毎に、さらに輝度方向に複数の輝度域に分割したbin毎の画素の頻度値(ブロックヒストグラム)を算出するブロックヒストグラム算出手段と、
ブロックヒストグラムの各bin毎に特性値を算出あるいは設定する特性値算出手段と、
前記各binの頻度値および特性値に基づいて、画像の各画素における特性値の重みつき期待値を算出する手段と
を備える画像処理(例えば、図13の構成)において、
前記特性値の重みつき期待値を算出する手段は、
前記重み値を算出するための複数の正規化された重み関数(例えば、図15の空間重み関数セット281および輝度重み関数セット282)と、
前記複数の正規化重み関数の夫々について、当該画素における頻度期待値を算出する手段(積和部259)と、
前記頻度期待値に基づいて前記正規化重み関数を選択する手段(頻度期待値選択部285)と、
前記選択された正規化重み関数に基づいた前記当該画素の特性値の重みつき期待値を算出する手段(積和部258、積和部259から除算部260までの構成)と
を備えるようにする。
【0040】
さらに本技術は、前記正規化重み関数を選択する手段は、
前記頻度期待値を最大にする正規化重み関数を選択する(例えば、図11の構成)ようにすることができる。
【0041】
また本技術は、前記正規化重み関数を選択する手段は、
前記頻度期待値のうち最大値と、最大値から所定の許容幅にはいるものを抽出し、前記抽出された頻度期待値に対応する正規化重み関数のうち、関数の幅が最大のものを選択する(例えば、図12の構成)ようにしてもよい。
【0042】
さらに本技術は、前記bin毎の特性値は、binに属する画素の輝度を代表する値であるようにすることができる。
【0043】
また本技術は、前記bin毎の特性値は、binに属する画素の色度を代表する値であるようにしてもよい。
【0044】
次に、本技術の第3の構成として、
画像を空間方向に複数の領域に分割したブロック毎に、さらに輝度方向に複数の輝度域に分割したbin毎の画素の頻度値(ブロックヒストグラム)を算出するブロックヒストグラム算出手段と、
ブロックヒストグラムの各bin毎に特性値を算出あるいは設定する特性値算出手段と、
前記頻度値に対して重み関数を畳み込む、第1の畳み込み手段と、
(前記特性値×前記頻度値)に対して、重み関数を畳み込む、第2の畳み込み手段と、
画像の各画素の輝度値に対応する、前記第1の畳み込み手段の結果の補間値を算出する手段と、
画像の各画素の輝度値に対応する、前記第2の畳み込み手段の結果の補間値を算出する手段と、
前記第1の補間値を前記第2の補間値で除算することによって、画像の各画素の輝度値に対応する前記特性値の重みつき期待値を算出する手段と
を備える画像処理(例えば、図16の構成)において、
前記第1の畳み込み手段は、
複数の正規化された重み関数(例えば、図18の空間重み関数セット381および輝度重み関数セット382)と、
前記複数の正規化重み関数の夫々について、前記頻度値の各binにおける畳み込み結果を算出する手段(積和部360)と、
前記頻度値の畳み込み結果に基づいて、前記正規化重み関数および対応する前記頻度値の畳み込み結果をbin毎に選択する手段(頻度期待値選択部385)と
を備え、
前記第2の畳み込み手段は、
複数の正規化された重み関数(空間重み関数セット381および輝度重み関数セット382)と、
前記複数の正規化重み関数の夫々について、前記頻度値の各binにおける畳み込み結果を算出する手段(積和部360)と、
前記複数の正規化重み関数の夫々について、(前記特性値×前記頻度値)の各binにおける畳み込み結果を算出する手段(積和部359)と、
前記頻度値の畳み込み結果に基づいて、前記正規化重み関数および対応する前記(前記特性値×前記頻度値)の畳み込み結果をbin毎に選択する手段(頻度期待値選択部385)と
を備えるようにする。
【0045】
さらに本技術は、前記正規化重み関数を選択する手段は、
前記頻度期待値を最大にする正規化重み関数を選択する(例えば、図11の構成)ようにすることができる。
【0046】
また本技術は、前記正規化重み関数を選択する手段は、
前記頻度期待値のうち最大値と、最大値から所定の許容幅にはいるものを抽出し、前記抽出された頻度期待値に対応する正規化重み関数のうち、関数の幅が最大のものを選択する(例えば、図12の構成)ようにしてもよい。
【0047】
さらに本技術は、前記bin毎の特性値は、binに属する画素の輝度を代表する値であるようにすることができる。
【0048】
また本技術は、前記bin毎の特性値は、binに属する画素の色度を代表する値であるようにしてもよい。
【発明の効果】
【0049】
本技術の一側面によれば、画像の画質の劣化を抑制し、かつ十分な平滑化効果を得ることができることができる。
【図面の簡単な説明】
【0050】
【図1】ノイズを含む矩形状の信号に対してバイラテラルフィルタを適用する様子を示す図である。
【図2】ノイズを含む矩形状の信号に対してバイラテラルフィルタを適用した結果を示す図である。
【図3】ノイズを含む台形状の信号に対してバイラテラルフィルタを適用する様子を示す図である。
【図4】ノイズを含む台形状の信号に対してバイラテラルフィルタを適用した結果を示す図である。
【図5】ノイズを含む台形状の信号に対してバイラテラルフィルタを適用する様子を示す図である。
【図6】ノイズを含む台形状の信号に対してバイラテラルフィルタを適用した結果を示す図である。
【図7】ノイズを含む緩やかな勾配の信号に対してバイラテラルフィルタを適用する様子を示す図である。
【図8】ノイズを含む緩やかな勾配の信号に対してバイラテラルフィルタを適用した結果を示す図である。
【図9】バイラテラルフィルタの処理構成のブロックダイアグラムである。
【図10】バイラテラルフィルタの処理構成のブロックダイアグラムである。
【図11】積分値選択部の内部構成を説明するブロックダイアグラムである。
【図12】積分値選択部の第2の内部構成を説明するブロックダイアグラムである。
【図13】ブロックヒストグラムを利用するエッジ保存平滑化の処理構成を説明するブロックダイアグラムである。
【図14】重みつき期待値算出部の内部構成を説明するブロックダイアグラムである。
【図15】重みつき期待値算出部の内部構成を説明するブロックダイアグラムである。
【図16】ブロックヒストグラムを利用し、さらに計算を簡略化したエッジ保存平滑化の処理構成を説明するブロックダイアグラムである。
【図17】畳み込み部の内部構成を説明するブロックダイアグラムである。
【図18】畳み込み部の内部構成を説明するブロックダイアグラムである。
【図19】デジタルビデオカメラシステムのブロックダイアグラムである。
【図20】信号処理部(DSP)の構成を説明するブロックダイアグラムある。
【図21】モザイク画像の色配列(Bayer配列)を模式的に示す図である。
【図22】空間重み関数の一例を示す図である。
【図23】輝度重み関数の一例を示す図である。
【図24】階調補正処理部の内部構成を説明するブロックダイアグラムである。
【図25】輝度階調補正部の内部構成を説明するブロックダイアグラムである。
【図26】画像処理について説明するフローチャートである。
【図27】輝度ノイズ低減処理について説明するフローチャートである。
【図28】色差ノイズ低減処理について説明するフローチャートである。
【図29】重みつき期待値算出処理について説明するフローチャートである。
【図30】階調補正処理について説明するフローチャートである。
【図31】輝度値階調補正処理について説明するフローチャートである。
【図32】平滑化ブロックヒストグラムおよび平滑化ブロック特性値の算出処理について説明するフローチャートである。
【図33】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【0051】
以下、図面を参照して、本技術を適用した実施の形態について説明する。
【0052】
[本技術の作用と効果について]
本技術は、画像データの大局的な構造を抽出する画像処理あるいはそれを実装した装置である。抽出された情報を利用して画質を向上させるなどの利用が可能であり、ビデオカメラ、デジタルスチルカメラなどの撮像装置またはプリンタやディスプレイなどの画像表示装置内の信号処理として、または画像加工・編集用の装置もしくはコンピュータプログラムなどに応用される技術である。
【0053】
まず、本技術がどのように作用して前述の課題の解決となるかを説明する。
【0054】
基本的には、本技術では、異なる広がり(σ)を持つ複数の正規化した輝度軸重み関数を用いて、局所領域内の画素毎の重み値を算出する。その重み値の総和が最大となる輝度軸重み関数によるエッジ保存平滑化結果を選択する。
【0055】
図9は、上述した式(1)で表されるバイラテラルフィルタ処理を実現する処理ブロック構成の一例を示すものである。この構成で実現されるバイラテラルフィルタでは前述のようなノイズ低減の効果とエッジ保存性能のトレードオフという問題が発生する。
【0056】
これに対して本技術を利用するバイラテラルフィルタの処理ブロック構成を図10に示す。本技術によれば、各近傍画素値の重みつけに用いられる空間および輝度方向の重み関数を複数備え(図10の空間重み関数セット131および輝度重み関数セット132)、それぞれの重み関数を用いられて算出した結果の中から重み値の総和基づいて最適なものを選択する機構を持つ(積分値選択部135)ので、重み関数を近傍画像に応じて画素位置毎に最適化できるようになる。そのため前述のトレードオフが緩和され、従来よりも好適な結果を得ることができる。(以上、請求項1,4,9)
【0057】
さらに本技術は、それぞれの重み関数が用いられて算出された結果の中から重み値の総和に基づいて最適なものを選択するための具体的な基準として、重み値の総和がなるべく大きくなるものを選択するという基準およびそれを計算するための機構を与える(図11の構成)。
【0058】
本技術で用いる重み関数はその積分値が等しくなるように正規化されているので、この基準により、画像中の段差における勾配が急峻であれば関数幅の狭いものが選択されやすいので、結果として平滑化の効果が弱まって段差の急峻さを残しやすくなる。逆に勾配が緩やかであれば関数幅の広いものが選択されやすくなり、結果として平滑化が強くなるので元画像以上に急峻な段差が出力されることを抑制することができる。(以上、請求項2,5,10)
【0059】
さらに本技術は、それぞれの重み関数が用いられて算出された結果の中から重み値の総和に基づいて最適なものを選択するための具体的な基準として、重み値の総和が大きく算出されるものの中から最大の関数幅を持つものを選択するという基準およびそれを計算するための機構を与える(図12の構成)。
【0060】
例えば、緩やかな勾配がほぼ一定で連続するような画像であるために正規化された重み関数では重み値の総和がどれも同程度になる場合、この基準によれば、最大幅の重み関数が選択されより高い平滑化結果を得ることができる。急峻な勾配が連続する可能性は低いので、最大幅の重み関数を選択することの副作用は軽微である(以上、請求項3,6,11)。
【0061】
さらに本技術は、別の第2の形態によるエッジ保存平滑化についても同様の効果を得るための構成を与える。図13は、特開2009−177558号公報(以下、特許文献6と称する)に開示されているバイラテラルフィルタとは別の形態のエッジ保存平滑化の処理ブロック構成である。この構成によれば、前処理として画像を分割した各ブロックごとにヒストグラム(ブロックヒストグラム)を算出しておき(特性値算出部221およびヒストグラム算出部222)、画素毎の演算においては、それを利用することによって、バイラテラルフィルタで各画素位置毎に必要とされる多数の近傍画素毎の演算を回避することができる(重みつき期待値算出部225)。
【0062】
図14にその画素毎の演算をおこなう処理構成(図13の重みつき期待値算出部225の内部構成)を示す。バイラテラルフィルタの近傍画素毎の演算とは異なり、ヒストグラムの近傍bin毎に重み値を算出しそれに基づいた特性値の重みつき期待値を算出する処理をおこなう。
【0063】
これに対して、同エッジ保存平滑化の画素毎の演算について本技術を利用する処理ブロック構成を図15に示す。本技術によれば、各近傍binの重みつけに用いられる空間および輝度方向の重み関数を複数備え(図15の空間重み関数セット281および輝度重み関数セット282)、それぞれの重み関数が用いられて算出された結果の中からヒストグラムの頻度期待値に基づいて最適なものを選択する機構を持つ(頻度期待値選択部285)ので、重み関数を近傍binに応じて画素位置毎に最適化できるようになる。そのため前述のトレードオフが緩和され、従来よりも好適な結果を得ることができる(以上、請求項4)。
【0064】
さらに本技術は、さらに第3の別の形態によるエッジ保存平滑化についても同様の効果を得るための構成を与える。図16は、特許文献6に開示されているさらに別の形態のエッジ保存平滑化の処理ブロック構成である。
【0065】
この構成によれば、画像を分割した各ブロックごとにヒストグラム(ブロックヒストグラム)を算出しておき(特性値算出部311およびヒストグラム算出部312)、その算出された結果に空間および輝度方向の重み関数を畳み込む(畳み込み部315)までを前処理としておこなう。
【0066】
画素毎の演算においては、畳み込んだ結果(平滑化ブロック特性値316および平滑化ブロックヒストグラム317)を用いて当該画素位置に対応する補間値を算出する(補間部318、補間部319、および除算部320による構成)ことでエッジ保存平滑化結果を出力する。
【0067】
図17にbin毎の畳み込み演算の処理構成(図16の畳み込み部315の内部構成)を示す。畳み込みをおこなうbin位置毎にヒストグラムの平滑化結果を算出するために、当該bin位置の近傍bin毎に重み値を算出し(空間重み算出部356、輝度重み算出部357、および乗算部358による構成)、それを用いて近傍binの値を積和する処理(積和部359および積和部360)をおこなう。
【0068】
これに対して、同エッジ保存平滑化の画素毎の演算について本技術を利用する処理ブロック構成を図18に示す。本技術によれば、各近傍binの重みつけに用いられる空間および輝度方向の重み関数を複数備え(図18の空間重み関数セット381および輝度重み関数セット382)、それぞれの重み関数が用いられて算出された結果の中からヒストグラムの頻度期待値に基づいて最適なものを選択する機構を持つ(頻度期待値選択部385)ので、重み関数を近傍binに応じてbin位置毎に最適化できるようになる。そのため前述のトレードオフが緩和され、従来よりも好適な結果を得ることができる(以上、請求項9)。
【0069】
また、本技術を利用した前記第2および第3の形態のエッジ保存平滑化において、ブロックヒストグラムの各binに対応して算出する具体的な特性値として、各binに属する画素の輝度を代表する値を用いることにより、輝度のエッジ保存平滑化が可能になる。輝度を代表する値とは、具体的には、各binに属する画素の輝度の期待値、中央値、あるいはブロックヒストグラムの輝度方向の分割方法に基づく各binの中央に対応する値などを用いることができる(以上、請求項7,12)。
【0070】
さらに、本技術における入力画像は様々な特性値を複数のチャネルにまとめた多チャネル画像であってもよい。多チャネル画像の典型例はカラー画像である。カラー画像が入力である場合、ブロックヒストグラムの各binに対応して算出する具体的な特性値として、各binに属する画素の色度を代表する値を用いることにより、色度のエッジ保存平滑化が可能になる。色度を代表する値とは、具体的には、画像が保持するチャネル(色)のうち輝度とは異なる分光特性を持つものや、多チャネル画像を輝度-色差空間に変換した後の色差成分、多チャネル画像を輝度-飽和度-色相空間に変換した後の飽和度および色相成分などが考えられ、各binについてのそれらの期待値あるいは中央値などを利用することができる(以上、請求項8,13)。
【0071】
[実施例のシステム全体について]
以下に本技術の実施例を説明する。ここで説明する実施例は、本技術を内部に実装したデジタルビデオカメラシステムの例である。はじめにシステム全体の構成と動作について説明し、その後、本技術に関連深いカメラ信号処理の部分について詳細に説明する。
【0072】
図19は、本実施例であるデジタルビデオカメラシステムの構成を示すブロックダイアグラムである。
【0073】
図19に示すように、本実施例のデジタルビデオカメラシステムは、レンズ401、絞り402、画像センサ403、相関2重サンプリング回路404、A/D(Analog/Digital)コンバータ405、DSP(Digital Signal Processor)ブロック406、タイミングジェネレータ407、LCD(Liquid Crystal Display)ドライバ408、LCD409、CODEC410、メモリ411、CPU(Central Processing Unit)412、および入力デバイス413から構成される。
【0074】
ここで、入力デバイス413はカメラ本体にあるシャッタボタンなどの操作ボタン類をさす。また、DSPブロック406は信号処理用プロセッサと画像用RAM(Random Access Memory)を持つブロックで、信号処理用プロセッサが画像用RAMに格納された画像データに対してあらかじめプログラムされた画像処理をおこなうことができるようになっている。以下DSPブロック406を単にDSP406とも呼ぶ。
【0075】
本実施例の全体的な動作を以下に説明する。
【0076】
光学系を通過して画像センサ403に到達した入射光は、まずセンサ撮像面上の各受光素子に到達し、受光素子での光電変換によって電気信号に変換され、相関2重サンプリング回路404によってノイズ除去され、A/Dコンバータ405によってデジタイズされた後、DSP406中の画像メモリに一時格納されるようになっている。
【0077】
ここで、本実施例で用いられる画像センサ403は通常のものより広いダイナミックレンジを持ち、暗いところから明るいところまでノイズや飽和がなく撮像できるものである。したがって、A/Dコンバータ405では通常10〜12ビット程度でA/D変換されるところを本実施例では例えば14〜16ビット程度でおこなうようにする。
【0078】
このような階調が多い画像信号は、YCrCb等の通常のビデオ信号では再現しきれないが、後で説明する本技術を用いた階調補正処理によって、YCrCbなどで再現できる範囲に階調を圧縮されるようになっている。
【0079】
撮像中の状態においては、一定のフレームレートによる画像取り込みを維持するようにタイミングジェネレータ407が信号処理系を制御するようになっている。DSP406へも一定のレートで画素のストリームが送られ、そこで適切な画像処理がおこなわれた後、画像データはLCDドライバ408もしくはCODEC410あるいはその両方に送られる。
【0080】
LCDドライバ408はDSP406から送られる画像データをアナログ信号に変換し、それをLCD409に送って表示させる。このLCD409は本実施例においてカメラのファインダの役割を担っている。また、CODEC410はDSP406から送られる画像データの符号化をおこない、符号化された画像データはメモリ411に記録されるようになっている。ここで、メモリ411は半導体、磁気記録媒体、光磁気記録媒体、光記録媒体などを用いた記録装置などであってよい。
【0081】
以上が本実施例のデジタルビデオカメラのシステム全体の説明であるが、本実施例中で本技術が実現されているのは、DSP406における画像処理である。以下その画像処理の部分を詳細に説明する。
【0082】
[画像処理部の詳細について]
前述のように、本実施例の構成においては、画像処理部の動作はDSP406で実現されている。それは、DSP406に画像信号のストリームが入力され、その入力に対してDSP406内部の演算ユニットが所定のプログラムコードに記述された演算を順次実行するように実現されている。
【0083】
以降の説明では、そのプログラム中の各処理単位を機能ブロックとして説明し、また各処理が実行される順序をフローチャートで説明する。しかしながら、本技術は本実施例で説明するようなプログラムという形態以外にも、以降で説明する機能ブロックと同等の処理を実現するハードウェア回路を実装して構成してもよい。
【0084】
図20は本実施例の画像処理部全体の構成を説明するブロックダイアグラムである。本明細書中のブロックダイアグラムにおいて、平行な水平2本線で示される図形はデータあるいはデータを格納するメモリを表し、四角形は処理を表す。
【0085】
画像処理部は、ホワイトバランス処理部421、階調補正処理部422、デモザイク処理部423、ガンマ補正処理部424、YC変換処理部425、輝度ノイズ低減処理部426、および色差ノイズ低減処理部427から構成される。
【0086】
モザイク画像428は画像処理部への入力画像をあらわし、これはすなわち図19で図示したA/Dコンバータ405によってデジタイズされDSP406へ入力される画像信号である。以降、「モザイク画像」と「RAWデータ」は同義として用いる。
【0087】
モザイク画像428は各画素にR、G、Bのどれかの色に対応する強度信号が格納されており、図21に示すようなBayer配列と呼ばれる色配列に従って配置されているのが通常である。Y画像429およびC画像430は画像処理部からの出力画像をあらわし、これはすなわち図19で図示したDSP406から出力されCODEC410へ入力されるYCbCr画像信号である。
【0088】
図20に戻り、画像処理部の各部の動作を説明する。
【0089】
ホワイトバランス処理部421は、モザイク画像(モザイク画像428)を入力とし、モザイク画像の無彩色の被写体領域の色バランスが無彩色になるように、各画素に適切なホワイトバランス係数をかけたモザイク画像を出力する。
【0090】
階調補正処理部422は、ホワイトバランス処理部421から供給された、ホワイトバランスがとられたモザイク画像を入力とし、ガンマ補正後に適切な明るさの画像が得られるような階調に変換したモザイク画像をデモザイク処理部423に出力する。デモザイク処理部423は、階調補正処理部422から供給された、階調補正後のモザイク画像を入力とし、各画素位置にR,G,Bすべての強度をそろえ、R,G,Bの3画像を出力する。なお、以降ではこれをまとめてRGB画像と呼ぶ。
【0091】
ガンマ補正処理部424は、デモザイク処理部423から供給されたRGB画像を入力とし、ガンマ補正をおこなったRGB画像をYC変換処理部425に出力する。YC変換処理部425は、ガンマ補正処理部424から供給された、ガンマ補正されたRGB画像を入力とし、YCマトリックス処理によって輝度すなわちY信号と色差すなわちC信号に変換し、Y画像およびC画像を出力する。
【0092】
輝度ノイズ低減処理部426はYC変換処理部425からのY画像を入力とし、ノイズ低減処理をおこなったY画像を出力する。色差ノイズ低減処理部427は、YC変換処理部425からのYおよびC画像を入力とし、ノイズ低減処理をおこなったC画像を出力する。ノイズ低減処理後のY信号およびC信号は、Y画像データストア429およびC画像データストア430に格納される。
【0093】
以上に説明した画像処理部の動作のうち、階調補正処理部422、輝度ノイズ低減処理部426、および色差ノイズ低減処理部427において本技術が利用される。以下に、それらの動作の詳細を輝度ノイズ低減処理部426、色差ノイズ低減処理部427、および階調補正処理部422の順に説明する。
【0094】
[輝度ノイズ低減処理部の詳細について]
図10は、輝度ノイズ低減処理部426の内部構成を説明するブロックダイアグラムである。なお、図10において、図9における場合と対応する部分には、同一の符号を付してある。本実施例における輝度ノイズ低減処理部426は、本技術を利用した改善されたバイラテラルフィルタ処理を輝度信号に対して適用する。
【0095】
輝度ノイズ低減処理部426は、周辺画素選択部101、中心画素選択部102、空間距離算出部103、輝度距離算出部104、空間重み関数セット131、空間重み算出部105、輝度重み関数セット132、輝度重み算出部106、積和部107、積和部108、輝度積分値ストア133、重み積分値ストア134、積分値選択部135、および除算部109によって構成される。
【0096】
輝度ノイズ低減処理部426への入力画像136は、YC変換処理部425が生成するY(輝度)画像である。輝度ノイズ低減処理部426の出力画像137は、ノイズ低減されたY(輝度)画像である。
【0097】
中心画素選択部102は、入力画像136を入力として、ノイズ低減処理をおこなう対象画素を中心画素として1つ選択し、空間距離算出部103および輝度距離算出部104に供給する。周辺画素選択部101は、入力画像136を入力として、中心画素の周囲の所定の範囲に属する画素を選択し、空間距離算出部103、輝度距離算出部104、および積和部107に供給する。
【0098】
空間距離算出部103は、中心画素および周辺画素を入力として、中心画素と各周辺画素間の空間距離を算出し、空間重み算出部105に供給する。輝度距離算出部104は、中心画素および周辺画素を入力として、中心画素と各周辺画素間の輝度距離(輝度差)を算出し、輝度重み算出部106に供給する。
【0099】
空間重み関数セット131は、正規化された空間重み関数データを複数保持するデータストアである。空間重み算出部105は、周辺画素と中心画素間の空間距離を入力とし、空間重み関数に基づいて重み値を算出し、積和部107および積和部108に供給する。
【0100】
輝度重み関数セット132は、正規化された輝度重み関数データを複数保持するデータストアである。輝度重み算出部106は、周辺画素と中心画素間の輝度距離を入力とし、輝度重み関数に基づいて重み値を算出し、積和部107および積和部108に供給する。
【0101】
積和部107は、周辺画素と空間重み算出部105が算出する空間重み値と輝度重み算出部106が算出する輝度重み値を入力とし、輝度重み値および空間重み値で重みづけした周辺画素の輝度積分値を算出する。積和部108は、空間重み算出部105が算出する空間重み値と輝度重み算出部106が算出する輝度重み値を入力とし、輝度重み値および空間重み値を掛け合わせた重み値の総和である重み積分値を算出する。
【0102】
輝度積分値ストア133は、積和部107によって算出される輝度積分値の、空間重み関数と輝度重み関数のさまざまな組み合わせによる結果を保持するデータストアである。重み積分値ストア134は、積和部108によって算出される重み積分値の、空間重み関数と輝度重み関数のさまざまな組み合わせによる結果を保持するデータストアである。
【0103】
積分値選択部135は、重み積分値ストア134に保持された複数の重み積分値と輝度積分値ストア133に保持された複数の輝度積分値を入力とし、所定の基準(後述)に基づいて最適な重み積分値を選択し、それと同じ空間重み関数と輝度重み関数の組み合わせによって算出された輝度積分値を選択し、両者を除算部109に出力する。
【0104】
除算部109は、積分値選択部135から供給された、選択された輝度積分値と選択された重み積分値を入力とし、選択された輝度積分値を選択された重み積分値で除した結果を算出する。この除算結果が当該中心画素におけるノイズ低減された輝度値(出力画像137)となる。
【0105】
図22に正規化された空間重み関数の一例を示す。この図において横軸は2画素間の空間距離、縦軸は重み値である。空間重み関数としては、2画素間の空間距離が小さいほど大きな重み値をとる、単峰性の関数形状が望ましい。典型的な例としては期待値を0とするGauss関数を用いることができる。Gauss関数は標準偏差σをパラメータとして、積分値を一定(=1)に保ったまま、その関数幅を変えることができる。図22は、6つの異なるσによって異なる関数幅を持つGauss関数による空間重み関数の例を示している。
【0106】
図23に正規化された輝度重み関数の一例を示す。この図において横軸は2画素間の輝度距離、縦軸は重み値である。輝度重み関数としては、2画素間の輝度距離が小さいほど大きな重み値をとる、単峰性の関数形状が望ましい。典型的な例としては期待値を0とするGauss関数を用いることができる。Gauss関数は標準偏差σをパラメータとして、積分値を一定(=1)に保ったまま、その関数幅を変えることができる。図23は、6つの異なるσによって異なる関数幅を持つGauss関数による輝度重み関数の例を示している。
【0107】
以下に、積分値選択部135が輝度積分値および重み積分値を選択する動作について説明する。
【0108】
図11は、積分値選択部135の内部構成を説明するブロックダイアグラムである。
【0109】
積分値選択部135は、最大値選択部161、選択部162、および選択部163から構成される。
【0110】
最大値選択部161は、重み積分値ストア134に保持された複数の重み積分値を入力とし、重み積分値が最大値となる空間重み関数と輝度重み関数の組み合わせを特定する。選択部163は、重み積分値ストア134に保持された複数の重み積分値を入力とし、最大値選択部161が特定した空間重み関数と輝度重み関数の組み合わせに対応する重み積分値を選択して除算部109に出力する。
【0111】
選択部162は、輝度積分値ストア133に保持された複数の輝度積分値を入力とし、最大値選択部161が特定した空間重み関数と輝度重み関数の組み合わせに対応する輝度積分値を選択して除算部109に出力する。
【0112】
以上のように、本実施例における輝度ノイズ低減処理は、本技術を利用することによって、通常のバイラテラルフィルタに、複数の正規化した重み関数を保持する構成と、複数の重み関数で算出した結果から最適なものを選択する構成を付加した構成としているため、画素毎に最適な重み関数形状によってエッジ保存平滑化をおこなうことができ、従来よりも好適なノイズ低減結果を得ることができる。
【0113】
なお、輝度ノイズ低減処理部426の積分値選択部135は図11とは異なる構成も利用できる。以下にもう一つの積分値選択部135の構成について説明する。
【0114】
図12は、積分値選択部135のもう一つの内部構成を説明するブロックダイアグラムである。積分値選択部135は、ソーティング部191、ソート済み重み積分値ストア192、最大幅選択部193、重み関数幅情報ストア194、選択部195、および選択部196によって構成される。
【0115】
ソーティング部191は、重み積分値ストア134に保持された複数の重み積分値を入力とし、重み積分値を降順に順序づけし、最大値から所定の許容幅にはいるものを抽出してソート済み重み積分値ストア192に保持する。重み関数幅情報ストア194は、空間重み関数セットおよび輝度重み関数セットの全重み関数の関数幅情報を格納している。
【0116】
最大幅選択部193は、ソート済み重み積分値ストア192に保持された最大値から所定の許容幅にはいる重み積分値を入力とし、重み関数幅情報ストア194からそれぞれに対応する重み関数幅情報を参照しながら、対応する重み関数の幅が最大となるとなる空間重み関数と輝度重み関数の組み合わせを特定する。
【0117】
選択部196は、重み積分値ストア134に保持された複数の重み積分値を入力とし、最大幅選択部193が特定した空間重み関数と輝度重み関数の組み合わせに対応する重み積分値を選択して出力する。
【0118】
選択部195は、輝度積分値ストア133に保持された複数の輝度積分値を入力とし、最大幅選択部193が特定した空間重み関数と輝度重み関数の組み合わせに対応する輝度積分値を選択して出力する。
【0119】
ここで、重み関数幅の情報とは大小比較できる具体的なパラメータである。例えば、図22および図23に例示されるようにGauss関数をベースにした重み関数であれば、Gauss関数のσパラメータを関数幅情報として用いてよい。それ以外でも、例えば三角形状や矩形状の重み関数であればその底辺の長さを関数幅情報として用いてもよい。
【0120】
図12の積分値選択部135の構成では、重み積分値がなるべく大きいという基準に加えて、重み関数幅がなるべく大きいという基準を用いる。例えば、緩やかでかつ均等な勾配が連続するような画像の場合、重み関数幅によらず重み積分値がほぼ一定の状態になり、重み積分値による重み関数の選択が機能しない。しかし、そのような画像ではより強い平滑化をかけたい場合が多いので、重み関数幅がなるべく大きいほうを選択することによってより好適なエッジ保存平滑化結果を得ることが可能になる。
【0121】
以上で、輝度ノイズ低減処理部426の詳細説明を終わる。
【0122】
[色差ノイズ低減処理部の詳細について]
図13は、色差ノイズ低減処理部427の内部構成を説明するブロックダイアグラムである。本実施例における色差ノイズ低減処理は、上述した特許文献6に開示されるエッジ保存平滑化技術を、本技術を利用することによって改善した構成を用いる。
【0123】
色差ノイズ低減処理部427は、特性値算出部221、ヒストグラム算出部222、ブロック特性値ストア223、ブロックヒストグラムストア224、および重みつき期待値算出部225によって構成される。
【0124】
色差ノイズ低減処理部427への入力画像226は、YC変換処理部425が生成するYC(輝度-色差)画像である。色差ノイズ低減処理部427の出力画像227は、ノイズ低減されたC(色差)画像である。
【0125】
ヒストグラム算出部222は、入力画像226を入力として、画像を空間方向に複数の領域に分割したブロック毎に、さらに輝度方向に複数の輝度域に分割したbin毎の頻度値(ブロックヒストグラム)を算出し、ブロックヒストグラムストア224にそのブロックヒストグラムを格納する。特性値算出部221は、入力画像226を入力として、ブロックヒストグラムのbinに属する画素の色差期待値をbin毎に算出し、bin毎の特性値としてブロック特性値ストア223に格納する。
【0126】
重みつき期待値算出部225は、ブロックヒストグラムストア224に格納されたbin毎の頻度値、ブロック特性値ストア223に格納されたbin毎の色差期待値、および入力画像226を入力として、各画素位置における色差の重みつき期待値を算出し、それを色差のノイズ低減結果として出力する。
【0127】
色差ノイズ低減処理部427で用いるエッジ保存平滑化は、特許文献6によれば、ブロックヒストグラムおよびブロック特性値を算出する目的と、各画素位置で色差の重みつき期待値を算出する目的とで全画素を少なくとも2回参照する必要がある。しかし、そうすることによって、色差の重みつき期待値の演算においては周辺画素を参照する必要がなく、通常のバイラテレルフィルタよりも少ない演算量で実現できる。
【0128】
この点は、より広い範囲の周辺画素を参照する必要がある場合に有利に働く。色差ノイズの低減は輝度ノイズより低周波域のノイズ低減をする必要があり、また動画像の信号処理をおこなうシステムではブロックヒストグラムおよびブロック特性値の算出処理を前フレームの情報を用いておこなうことができるので、本実施例の色差ノイズ低減処理には、このような手法が効果的である。
【0129】
図15は、重みつき期待値算出部225の内部構成を説明するブロックダイアグラムである。なお、図15において、図14における場合と対応する部分には同一の符号を付してある。
【0130】
重みつき期待値算出部225は、周辺bin選択部251、周辺bin選択部252、空間距離算出部253、輝度距離算出部254、空間重み算出部255、輝度重み算出部256、空間重み関数ストア281、輝度重み関数ストア282、乗算部257、積和部258、積和部259、特性積分値ストア283、頻度期待値ストア284、頻度期待値算出部285、および除算部260によって構成される。
【0131】
周辺bin選択部251は、ブロック特性値ストア223に格納されているブロック特性値および処理対象(当該)画素位置を入力として、当該画素位置の周辺にあるブロック特性値のbinを選択する。周辺bin選択部252は、ブロックヒストグラムストア224に格納されているブロックヒストグラムおよび処理対象画素位置を入力として、当該画素位置の周辺にあるブロックヒストグラムのbinを選択する。
【0132】
空間距離算出部253は、当該画素位置と周辺bin選択部252によって選択されたbin位置を入力として、当該画素位置と周辺bin位置間の空間距離を算出する。輝度距離算出部254は、当該画素と周辺bin選択部252によって選択されたbinを入力として、当該画素の輝度値と周辺bin位置に対応する輝度値間の輝度距離(輝度差)を算出する。
【0133】
空間重み関数ストア281は、正規化された空間重み関数データを複数保持するデータストアである。空間重み算出部255は、当該画素と周辺bin間の空間距離を入力とし、空間重み関数に基づいて重み値を算出する。
【0134】
輝度重み関数ストア282は、正規化された輝度重み関数データを複数保持するデータストアである。輝度重み算出部256は、当該画素と周辺bin間の輝度距離を入力とし、輝度重み関数に基づいて重み値を算出する。乗算部257は、空間重み値と輝度重み値を入力とし、それらを乗じた値を合成した重み値として算出する。
【0135】
積和部259は、合成した重み値および周辺binの頻度値を入力として、合成した重み値で重みつけした頻度期待値を算出する。頻度期待値ストア284は、積和部259によって算出される、空間重み関数と輝度重み関数のさまざまな組み合わせによる複数の頻度期待値を保持するデータストアである。積和部258は、合成した重み値、周辺binの頻度値および周辺binの色差期待値を入力として、(合成した重み値)×(頻度値)×(色差期待値)の周辺binの積分結果(特性積分値)を算出する。つまり、合成した重み値、頻度値、および色差期待値の積の周辺binの積分結果が特性積分値として算出される。
【0136】
特性積分値ストア283は、積和部258によって算出される、空間重み関数と輝度重み関数のさまざまな組み合わせによる複数の特性積分値を保持するデータストアである。頻度期待値算出部285は、頻度期待値ストア284に保持された複数の頻度期待値と特性積分値ストア283に保持された複数の特性積分値を入力として、所定の基準に基づいて最適な頻度期待値を選択し、それと同じ空間重み関数と輝度重み関数の組み合わせによって算出された特性積分値を選択し、両者を出力する。
【0137】
除算部260は、選択された頻度期待値と選択された特性積分値を入力とし、選択された特性積分値を選択された頻度期待値で除した結果を算出する。この除算結果が当該画素におけるノイズ低減された色差値となる。
【0138】
頻度期待値算出部285が頻度期待値の選択に用いる基準は、前述の輝度ノイズ低減処理部426の積分値選択部135の基準と同じものを使うことができる。内部構成も図11で説明した積分値選択部135の構成と同じで構わない。この構成を頻度期待値算出部285に適用する場合、図11において入力である輝度積分値ストア133を特性積分値ストア283に、重み積分値ストア134を頻度期待値ストア284にそれぞれ置換する。また、同様に図12で説明した構成も利用可能である。
【0139】
以上のように、本実施例における色差ノイズ低減処理は、本技術を利用することによって、特許文献6に記載のブロックヒストグラムを用いるエッジ保存平滑化に、複数の正規化した重み関数を保持する構成と、複数の重み関数で算出した結果から最適なものを選択する構成を付加した構成としているため、画素毎に最適な重み関数形状によってエッジ保存平滑化をおこなうことができ、従来よりも好適なノイズ低減結果を得ることができる。
【0140】
以上で、色差ノイズ低減処理部427の詳細説明を終わる。
【0141】
[階調補正処理部の詳細について]
図24は、階調補正処理部422の内部構成を説明するブロックダイアグラムである。本実施例における階調補正処理は、特許文献6に開示される階調補正技術を、本技術を利用することによって改善した構成を用いる。
【0142】
階調補正処理部422は、輝度算出部461、非線形変換部462、非線形変換部463、輝度階調補正部464、モザイク階調補正部465、および非線形逆変換部466によって構成される。
【0143】
輝度算出部461は、ホワイトバランス処理部421からのモザイク画像を入力として、各画素位置の輝度を算出する。非線形変換部462は、各画素位置の輝度を入力として、非線形な階調特性に変換した輝度を算出する。非線形変換部463は、ホワイトバランス処理部421からのモザイク画像を入力として、各画素位置の画素値を非線形な階調特性に変換した値を算出する。
【0144】
輝度階調補正部464は、各画素位置の非線形変換後の輝度を入力とし、階調補正を適用した後の輝度を算出する。モザイク階調補正部465は、各画素位置の非線形変換後のモザイク画像の画素値と非線形変換後の輝度と階調補正後の輝度を入力として、階調補正後のモザイク画像の画素値を算出する。
【0145】
非線形逆変換部466は、階調補正後のモザイク画像の画素値を入力として、非線形変換部463で適用された特性を元の線形特性に戻したモザイク画像の画素値を算出し、後段へ出力する。
【0146】
前述のようにモザイク画像は各画素に1つの色の情報しかもたない。輝度算出部461では、各画素位置毎に所定の範囲の画素を参照し、得られた全色の情報から当該画素位置の輝度値を算出する。例えばBayer配列であれば、3×3画素の領域を参照すればR,G,B全色の情報が得られるので、適当な係数でそれら線形和を算出する方法がある。
【0147】
非線形変換部462および非線形変換部463で利用する非線形な階調特性とは、滑らかな単調増加で上に凸の特性を持つものが好適である。例えば1より小さいγのガンマ特性(べき乗特性)や、対数特性などを利用することができる。モザイク階調補正部465は、入力であるモザイク画像の色バランスを維持しながら、階調補正前後の輝度値変化を反映させる演算をおこなう。
【0148】
例えば、非線形特性が前述のγ特性である場合は階調補正前後の輝度値の比率をモザイク画像の画素値に乗じるような演算をおこなう。また非線形特性が対数特性である場合は、階調補正前後の輝度値の差分をモザイク画像の画素値に加算するような演算をおこなえばよい。
【0149】
以下、本技術を利用して改善した部分である輝度階調補正部464の詳細について説明する。
【0150】
図25は、輝度階調補正部464の内部構成を説明するブロックダイアグラムである。
【0151】
輝度階調補正部464は、輝度域情報算出部491、輝度域情報ストア492、大局輝度算出部493、トーンカーブ算出部494、トーンカーブストア495、マッピング部496、マッピング部497、およびコントラスト補正部498によって構成される。
【0152】
輝度域情報算出部491は、非線形変換部462から輝度階調補正部464への入力である非線形変換後の各画素の輝度値(以降、説明に支障のない範囲で、輝度階調補正部464への入力が非線形変換後であることを省略する)を入力として、入力画像の輝度域情報を算出する。
【0153】
輝度域情報ストア492は、輝度域情報算出部491が算出した輝度域情報を格納するデータストアである。大局輝度算出部493は、各画素の輝度を入力として、当該画素位置の大局輝度値を算出する。トーンカーブ算出部494は、輝度域情報ストア492に格納された輝度域情報および当該画素位置の大局輝度値を入力として、当該画素位置のトーンカーブ形状を算出する。
【0154】
トーンカーブストア495は、トーンカーブ算出部494が算出した当該画素位置のトーンカーブ形状を保持するデータストアである。マッピング部496は、トーンカーブストア495に保持されているトーンカーブおよび当該画素の大局輝度値を入力として、トーンカーブが適用された当該画素位置の大局輝度値を算出する。
【0155】
マッピング部497は、トーンカーブストア495に保持されているトーンカーブおよび当該画素の輝度値を入力として、トーンカーブが適用された当該画素位置の輝度値を算出する。コントラスト補正部498は、トーンカーブ適用後の当該画素位置の大局輝度値、トーンカーブ適用後の当該画素位置の輝度値およびトーンカーブを入力として、コントラスト補正された当該画素位置の輝度値を算出し、それを輝度の階調補正結果としてモザイク階調補正部465に出力する。
【0156】
本実施例において、輝度域情報とは入力画像が持つ輝度範囲に関する情報で、具体的には入力画像の輝度ヒストグラムの暗い側および明るい側の裾野付近に相当する2つの輝度レベルからなる情報である。特許文献6に、このような情報を入力画像からフレーム毎に算出する具体的方法が開示されている。
【0157】
本実施例において、大局輝度とは画像の大局的な輝度分布を示す情報である。特許文献6に、大局輝度をエッジ保存平滑化を利用して算出する具体的方法が開示されている。本実施例の大局輝度算出部493は、特許文献6で開示されるエッジ保存平滑化を本技術によって改善した方法によって大局輝度を算出する構成をとる。なお、その詳細は後述する。
【0158】
本実施例において、トーンカーブとは画像の持つ輝度域を適切な明るさで再現するために適用する、画像依存の可変のなめらかで単調増加な階調特性である。特許文献6に、フレーム毎に算出される輝度域情報および画素毎に算出される大局輝度値に基づいて、画素位置毎に変化するトーンカーブを算出する具体的方法が開示されている。
【0159】
マッピング部496およびマッピング部497は、それぞれへの入力値に対してトーンカーブを適用するだけのシンプルな演算をおこなう。
【0160】
コントラスト補正部498は、トーンカーブを適用したことによって弱められた入力画像のコントラスト成分を補正して元に戻す演算をおこなう。具体的には、トーンカーブ適用後の輝度値とトーンカーブ適用後の大局輝度値間の差分をコントラスト成分として抽出し、それに適切なゲインをかけて強調した後、トーンカーブ適用後の輝度値に足し戻すことにより補正をおこなう。コントラスト成分を強調するゲインは、トーンカーブ適用後の輝度値およびトーンカーブ形状に基づいて決めることができる。特許文献6に、具体的なコントラスト補正の演算、およびゲインの決定方法が開示されている。
【0161】
図16は、大局輝度算出部493の内部構成を説明するブロックダイアグラムである。本実施例における大局輝度算出は、特許文献6に開示されるエッジ保存平滑化技術を、本技術を利用することによって改善した構成を用いる。
【0162】
大局輝度算出部493は、特性値算出部311、ヒストグラム算出部312、ブロック特性値ストア313、ブロックヒストグラムストア314、畳み込み部315、平滑化ブロック特性値ストア316、平滑化ブロックヒストグラムストア317、補間部318、補間部319、除算部320によって構成される。
【0163】
非線形変換部462から大局輝度算出部493への入力画像321は、非線形変換後の輝度(以降、説明に支障のない範囲で、輝度階調補正部への入力が非線形変換後であることを省略する)である。大局輝度算出部493の出力画像322は、大局輝度である。
【0164】
ヒストグラム算出部312は、入力画像321を入力として、画像を空間方向に複数の領域に分割したブロック毎に、さらに輝度方向に複数の輝度域に分割したbin毎の頻度値(ブロックヒストグラム)を算出し、ブロックヒストグラムストア314にそのブロックヒストグラムを格納する。特性値算出部311は、入力画像321を入力として、ブロックヒストグラムのbinに属する画素の輝度期待値をbin毎に算出し、bin毎の特性値としてブロック特性値ストア313に格納する。
【0165】
畳み込み部315は、ブロックヒストグラムストア314に格納されたbin毎の頻度値、ブロック特性値ストア313に格納されたbin毎の輝度期待値を入力として、あらかじめ用意された空間重み関数および輝度重み関数の畳み込み演算による、頻度値の平滑化結果および輝度積分値の平滑化結果をbin位置毎に算出し、それらをそれぞれ平滑化ブロックヒストグラムストア317および平滑化ブロック特性値ストア316へ格納する。
【0166】
補間部319は、入力画像321および平滑化ブロックヒストグラムストア317に格納された平滑化された頻度値を入力として、平滑化された頻度値の各画素位置への補間値を算出する。補間部318は、入力画像321および平滑化ブロック特性値ストア316に格納された平滑化された輝度積分値を入力として、平滑化された輝度積分値の各画素位置への補間値を算出する。
【0167】
除算部320は、平滑化された輝度積分値および平滑化された頻度値を入力として、平滑化された輝度積分値を平滑化された頻度値で除算した結果を算出し、それを大局輝度値として出力画像322に出力する。
【0168】
大局輝度算出部493で用いるエッジ保存平滑化は、特許文献6によれば、前述の色差ノイズ低減処理部427に利用したエッジ保存平滑化と同様に、画素毎の演算よりも事前にブロックヒストグラムおよびブロック特性値を算出することにより、画素毎に必要な演算量を削減することができる構成になっている。
【0169】
さらに、空間重み関数と輝度重み関数の畳み込み演算もブロックヒストグラムのbin単位で事前におこなうことによって、画素毎の演算量をさらに削減できる。そのため、大局輝度算出のようなさらに広い範囲の画素を参照する必要があるエッジ保存平滑化処理には好適な手法である。
【0170】
図18は、畳み込み部315の内部構成を説明するブロックダイアグラムである。なお、図18において、図17における場合と対応する部分には同一の符号を付してある。
【0171】
畳み込み部315は、中心bin選択部353、周辺bin選択部351、周辺bin選択部352、空間距離算出部354、輝度距離算出部355、空間重み算出部356、輝度重み算出部357、空間重み関数ストア381、輝度重み関数ストア382、乗算部358、積和部359、積和部360、特性積分値ストア383、頻度期待値ストア384、および頻度期待値算出部385によって構成される。
【0172】
中心bin選択部353は、ブロックヒストグラムストア314に格納されているブロックヒストグラムを入力として、処理対象となるブロックヒストグラムのbinを1つ、中心binとして選択する。周辺bin選択部351は、ブロック特性値ストア313に格納されているブロック特性値を入力として、処理対象となるbinの周辺にあるブロック特性値のbinを選択する。
【0173】
周辺bin選択部352は、ブロックヒストグラムストア314に格納されているブロックヒストグラムを入力として、処理対象となるbinの周辺にあるブロックヒストグラムのbinを選択する。空間距離算出部354は、中心bin選択部353と周辺bin選択部352によって選択されたbinを入力として、中心bin位置と周辺bin位置間の空間距離を算出する。
【0174】
輝度距離算出部355は、中心bin選択部353と周辺bin選択部352によって選択されたbinを入力として、中心bin位置に対応する輝度値と周辺bin位置に対応する輝度値間の輝度距離(輝度差)を算出する。
【0175】
空間重み関数ストア381は、正規化された空間重み関数データを複数保持するデータストアである。空間重み算出部356は、中心binと周辺bin間の空間距離を入力とし、空間重み関数に基づいて重み値を算出する。輝度重み関数ストア382は、正規化された輝度重み関数データを複数保持するデータストアである。
【0176】
輝度重み算出部357は、中心binと周辺bin間の輝度距離を入力とし、輝度重み関数に基づいて重み値を算出する。乗算部358は、空間重み値と輝度重み値を入力とし、それらを乗じた値を合成した重み値として算出する。積和部360は、合成した重み値および周辺binの頻度値を入力として、合成した重み値で重みつけした頻度期待値を算出する。
【0177】
頻度期待値ストア384は、積和部360によって算出される、空間重み関数と輝度重み関数のさまざまな組み合わせによる複数の頻度期待値を保持するデータストアである。積和部359は、合成した重み値、周辺binの頻度値および周辺binの輝度期待値を入力として、(合成した重み値)×(頻度値)×(輝度期待値)の周辺binの積分結果(特性積分値)を算出する。
【0178】
特性積分値ストア383は、積和部359によって算出される、空間重み関数と輝度重み関数のさまざまな組み合わせによる複数の特性積分値を保持するデータストアである。頻度期待値算出部385は、頻度期待値ストア384に保持された複数の頻度期待値と特性積分値ストア383に保持された複数の特性積分値を入力として、所定の基準に基づいて最適な頻度期待値を選択し、それと同じ空間重み関数と輝度重み関数の組み合わせによって算出された特性積分値を選択し、両者をそれぞれ平滑化ブロックヒストグラムストア317と平滑化ブロック特性値ストア316の中心bin位置に格納する。
【0179】
頻度期待値選択部385が頻度期待値の選択に用いる基準は、前述の輝度ノイズ低減処理部426の積分値選択部135の基準と同じものを使うことができる。内部構成も図11で説明した積分値選択部135の構成と同じで構わない。
【0180】
この構成を頻度期待値選択部385に適用する場合、図11において入力である輝度積分値ストア133を特性積分値ストア383に、重み積分値ストア134を頻度期待値ストア384にそれぞれ置換する。また、同様に図12で説明した構成も利用可能である。
【0181】
以上のように、本実施例における階調補正処理は、本技術を利用することによって、上述の特許文献6に記載のブロックヒストグラムを用いるエッジ保存平滑化に、複数の正規化した重み関数を保持する構成と、複数の重み関数で算出した結果から最適なものを選択する構成を付加した構成としているため、画素毎に最適な重み関数形状によってエッジ保存平滑化すなわち大局輝度算出をおこなうことができ、従来よりも好適な階調補正結果を得ることができる。
【0182】
以上で、階調補正処理部422の詳細説明を終わる。
【0183】
[処理手順の説明]
以下に、本実施例の処理手順を説明する。
【0184】
図26は画像処理部全体(図20に対応)の動作手順を説明するフローチャートである。
【0185】
この画像処理では、画像センサが撮像した連続したフレームデータが、後続のフレームがなくなるまで順次1フレームずつ処理されていく。
【0186】
ステップS11において、DSP406内部のメモリに格納されている次フレームのモザイク画像が読み込まれる。
【0187】
ステップS12において、ホワイトバランス処理部421は、前記モザイク画像にホワイトバランス係数を適用する。
【0188】
ステップS13において、階調補正処理部422は、階調補正されたモザイク画像を生成する。
【0189】
ステップS14において、デモザイク処理部423は、モザイク画像からRGB画像を生成する。
【0190】
ステップS15において、ガンマ補正処理部424は、ガンマ補正したRGB画像を生成する。
【0191】
ステップS16において、YC変換処理部425は、Y画像およびC画像を生成する。
【0192】
ステップS17において、輝度ノイズ低減処理部426は、ノイズ低減処理を適用したY画像を出力する。
【0193】
ステップS18において、色差ノイズ低減処理部427は、ノイズ低減処理を適用したC画像を出力する。
【0194】
ステップS19において、Y画像およびC画像がLCD409への表示または記録媒体への保存のために出力される。以上で1フレーム分の画像処理部の動作が終了する。
【0195】
ステップS20において、全てのフレームを処理したか否かが判定される。例えば、後続のフレームの入力がなければ、全てのフレームを処理したと判定される。
【0196】
ステップS20において、全てのフレームを処理したと判定された場合、処理はステップS11に戻り、上述した処理が繰り返される。一方、ステップS20において、全てのフレームを処理したと判定された場合、画像処理は終了する。
【0197】
以上で、画像処理部の動作は終了する。
【0198】
図27は、輝度ノイズ低減処理部426の動作手順を説明するフローチャートである。すなわち、図27は、図26のステップS17の処理に対応する輝度ノイズ低減処理を説明するフローチャートである。
【0199】
ステップS51において、中心画素選択部102は、輝度ノイズ低減処理部426に入力されるY画像の画素位置を中心画素として選択する。
【0200】
ステップS52において、周辺画素選択部101は、中心画素の周辺の所定の範囲内の画素を選択する。
【0201】
ステップS53において、空間重み関数セット131の空間重み関数と、輝度重み関数セット132の輝度重み関数の組み合わせに対応する輝度積分値および重み積分値が0に初期化される。
【0202】
ステップS54において、周辺画素に属する画素位置について、空間距離算出部103および空間重み算出部105によって、当該中心画素と当該周辺画素と当該空間重み関数に基づいて、当該周辺画素位置における空間重み値が算出される。
【0203】
ステップS55において、輝度距離算出部104および輝度重み算出部106によって、当該中心画素と当該周辺画素と当該輝度重み関数に基づいて、当該周辺画素位置における輝度重み値が算出される。
【0204】
ステップS56において、積和部108により、当該周辺画素位置における空間重み値と輝度重み値を乗じた値が重み積分値に加算される。
【0205】
ステップS57において、積和部107により、当該周辺画素位置における空間重み値と輝度重み値と当該周辺画素の輝度値を乗じた値が輝度積分値に加算される。
【0206】
ステップS58において、周辺画素に属する全ての画素位置について処理を行ったか否かが判定される。ステップS58において、全ての画素位置について処理を行っていないと判定された場合、処理はステップS54に戻り、上述した処理が繰り返される。
【0207】
これに対して、ステップS58において、全ての画素位置について処理を行ったと判定された場合、ステップS59において、全周辺画素について積分した、当該空間重み関数と当該輝度重み関数の組み合わせに対応する輝度積分値および重み積分値の結果のそれぞれが輝度積分値ストア133および重み積分値ストア134に保持される。
【0208】
ステップS60において、輝度重み関数セット132の全ての重み関数について、処理が行われたか否かが判定される。ステップS60において、まだ全ての重み関数について、処理が行われていないと判定された場合、処理はステップS53に戻り、上述した処理が繰り返される。
【0209】
また、ステップS60において、全ての重み関数について、処理が行われたと判定された場合、ステップS61において、空間重み関数セット131の全ての重み関数について、処理が行われたか否かが判定される。
【0210】
ステップS61において、まだ全ての重み関数について処理が行われていないと判定された場合、処理はステップS53に戻り、上述した処理が繰り返される。
【0211】
一方、ステップS61において、全ての重み関数について処理が行われたと判定された場合、処理はステップS62に進む。すなわち、全ての空間重み関数と輝度重み関数の組み合わせについてステップS53からステップS59の処理が行われると、処理はステップS62に進む。
【0212】
ステップS62において、積分値選択部135は、輝度積分値および重み積分値の組を選択する。
【0213】
ステップS63において、除算部109は、選択された輝度積分値を選択された重み積分値で除算した結果を算出する。
【0214】
ステップS64において、除算結果が当該中心画素位置におけるノイズ低減された輝度として出力される。
【0215】
ステップS65において、全ての画素位置において、ステップS51乃至ステップS64の処理が行われたか否かが判定される。ステップS65において、まだ全ての画素位置において処理が行われていないと判定された場合、処理はステップS51に戻り、上述した処理が繰り返される。
【0216】
これに対して、ステップS65において、全ての画素位置において処理が行われたと判定された場合、輝度ノイズ低減処理は終了し、その後、処理は図26のステップS18に進む。
【0217】
以上で、輝度ノイズ低減処理部426の動作を完了する。
【0218】
図28は、色差ノイズ低減処理部427の動作手順を説明するフローチャートである。すなわち、図28は、図26のステップS18の処理に対応する色差ノイズ低減処理を説明するフローチャートである。
【0219】
ステップS91において、次のフレームで用いるためのブロックヒストグラムおよびブロック特性値を算出するためのデータ領域が確保され、0に初期化される。
【0220】
ステップS92において、ヒストグラム算出部222は、色差ノイズ低減処理部427に入力されるYC画像の画素位置について、当該画素の輝度を評価して対応するbinを決定し、次フレーム用のブロックヒストグラムの当該binの頻度値を+1更新する。
【0221】
ステップS93において、特性値算出部221は、当該画素の輝度を評価して対応するbinを決定し、次フレーム用のブロック特性値の当該binに対応する色差積分値に当該画素の色差値を加算する。
【0222】
ステップS94において、重みつき期待値算出部225は、ブロック特性値ストア223に格納されている現フレーム用のブロック特性値と、ブロックヒストグラムストア224に格納されている現フレーム用のブロックヒストグラムを利用して、当該画素位置における色差の重みつき期待値を算出する。
【0223】
ステップS95において、当該画素位置における色差の重みつき期待値が当該画素位置の色差ノイズ低減結果として出力される。
【0224】
ステップS96において、全ての画素位置において、ステップS92乃至ステップS95の処理が行われたか否かが判定される。すなわち、色差ノイズ低減処理部427に入力されるYC画像の各画素位置おいて処理が行われたかが判定される。
【0225】
ステップS96において、まだ全ての画素位置において処理が行われていないと判定された場合、処理はステップS92に戻り、上述した処理が繰り返される。
【0226】
これに対して、ステップS96において、全ての画素位置において処理が行われたと判定された場合、ステップS97において、ヒストグラム算出部222は、次フレーム用のブロックヒストグラムの算出結果をブロックヒストグラムストア224に格納する。
【0227】
ステップS98において、特性値算出部221は、次フレーム用のブロック特性値の各binの色差積分値の算出結果から各binの色差期待値を算出し、それらをブロック特性値ストア223に格納し、色差ノイズ低減処理は終了する。そして、その後、処理は図26のステップS19に進む。
【0228】
以上で、色差ノイズ低減処理部427の動作を完了する。
【0229】
図29は、図28の色差ノイズ低減処理のステップS94に対応する重みつき期待値算出処理の動作手順を説明するフローチャートである。処理構成としては、図13の重みつき期待値算出部225の内部処理に相当し、重みつき期待値算出部225がある画素位置(以下、中心画素位置)についておこなう動作を説明している。
【0230】
ステップS121において、周辺bin選択部252は、中心画素位置の周辺に位置するブロックヒストグラムの周辺binの選択をおこなう。
【0231】
ステップS122において、周辺bin選択部251は、中心画素位置の周辺に位置するブロック特性値の周辺binの選択をおこなう。
【0232】
ステップS123において、空間重み関数セット281の空間重み関数と、輝度重み関数セット282の輝度重み関数の組み合わせに対応する特性積分値および頻度期待値が0に初期化される。
【0233】
ステップS124において、空間距離算出部253および空間重み算出部255は、選択された各周辺binについて、中心画素と当該周辺binと当該空間重み関数に基づく空間重み値の算出をおこなう。
【0234】
ステップS125において、輝度距離算出部254および輝度重み算出部256は、中心画素と当該周辺binと当該輝度重み関数に基づく輝度重み値の算出をおこなう。
【0235】
ステップS126において、乗算部257は、空間重み値と輝度重み値を乗算した合成重み値を算出する。
【0236】
ステップS127において、積和部259は、合成重み値と当該周辺binの頻度値を乗じた値を算出し、それを頻度期待値のここまでの算出結果に加算する。
【0237】
ステップS128において、積和部258は、合成重み値と当該周辺binの頻度値と当該周辺binの色差期待値を乗じた値を算出し、それを特性積分値のここまでの算出結果に加算する。
【0238】
ステップS129において、全ての周辺binについてステップS124乃至ステップS128の処理が行われたかが判定される。ステップS129において、まだ全ての周辺binについて処理が行われていないと判定された場合、処理はステップS124に戻り、上述した処理が繰り返される。
【0239】
これに対して、ステップS129において、全ての周辺binについて処理が行われたと判定された場合、ステップS130において、当該空間重み関数と当該輝度重み関数の組み合わせに対応する特性積分値および頻度期待値の結果が、それぞれ特性積分値ストア283および頻度期待値ストア284に保持される。
【0240】
ステップS131において、輝度重み関数セット282の全ての重み関数について、ステップS123乃至ステップS130の処理が行われたか否かが判定される。
【0241】
ステップS131において、まだ全ての重み関数について処理が行われていないと判定された場合、処理はステップS123に戻り、上述した処理が繰り返される。
【0242】
これに対して、ステップS131において、全ての重み関数について処理が行われたと判定された場合、ステップS132において、空間重み関数セット281の全ての重み関数について、ステップS123乃至ステップS131の処理が行われたか否かが判定される。
【0243】
ステップS132において、まだ全ての重み関数について処理が行われていないと判定された場合、処理はステップS123に戻り、上述した処理は繰り返される。
【0244】
これに対して、ステップS132において、全ての重み関数について処理が行われたと判定された場合、処理はステップS133に進む。つまり、全ての空間重み関数と輝度重み関数の組み合わせについて処理が行われると、処理はステップS133に進む。
【0245】
ステップS133において、頻度期待値選択部285は、特性積分値および頻度期待値の組を選択する。
【0246】
ステップS134において、除算部260は、選択された特性積分値を選択された頻度期待値で除算した結果を算出する。
【0247】
ステップS135において、除算結果が、中心画素位置におけるノイズ低減された色差値として出力され、重みつき期待値算出処理は終了する。そして、その後、処理は図28のステップS95に進む。
【0248】
以上で重みつき期待値算出部225の動作を完了する。
【0249】
図30は、階調補正処理部422の動作手順を説明するフローチャートである。すなわち、図30は、図26のステップS13の処理に対応する階調補正処理を説明するフローチャートである。
【0250】
ステップS161において、次のフレームで用いるための輝度域情報を算出するためのデータ領域が確保され、0に初期化される。
【0251】
ステップS162において、次のフレームで用いるためのブロックヒストグラムおよびブロック特性値を算出するためのデータ領域が確保され、0に初期化される。
【0252】
ステップS163において、輝度算出部461は、入力モザイク画像の画素位置について、当該画素位置の輝度値を算出する。
【0253】
ステップS164において、非線形変換部462は、当該画素位置の輝度値を非線形変換する。
【0254】
ステップS165において、輝度階調補正部464は、非線形変換後の当該画素位置の輝度値に階調補正処理を適用する。
【0255】
ステップS166において、非線形変換部463は、入力モザイク画像の当該画素位置の画素値を非線形変換する。
【0256】
ステップS167において、モザイク階調補正部465は、非線形変換後の当該画素位置のモザイク画像の画素値に当該画素位置の輝度値の階調補正結果を反映させる。
【0257】
ステップS168において、非線形逆変換部466は、階調補正後の当該画素位置のモザイク画像の画素値の非線形特性を逆変換で元の特性に戻す。
【0258】
ステップS169において、非線形逆変換後の画素値が当該画素位置の階調補正結果として出力される。
【0259】
ステップS170において、入力モザイク画像の全ての画素位置について、処理が行われたか否かが判定される。ステップS170において、まだ全ての画素位置について、処理が行われていないと判定された場合、処理はステップS163に戻り、上述した処理が繰り返される。
【0260】
これに対して、ステップS170において、全ての画素位置について、処理が行われたと判定された場合、ステップS171において、次のフレームで用いるためのブロックヒストグラムの算出結果がブロックヒストグラムストア314に格納される。
【0261】
ステップS172において、次のフレームで用いるためのブロック特性値の算出結果がブロック特性値ストア313に格納される。
【0262】
ステップS173において、畳み込み部315は、平滑化されたブロックヒストグラムおよび平滑化されたブロック特性値を算出する。
【0263】
ステップS174において、次のフレームで用いるための平滑化ブロックヒストグラムの算出結果が平滑化ブロックヒストグラムストア317に格納される。
【0264】
ステップS175において、次のフレームで用いるための平滑化ブロック特性値ヒストグラムの算出結果が平滑化ブロック特性値ストア316に格納される。
【0265】
ステップS176において、次のフレームで用いるための輝度域情報の算出結果が輝度域情報ストア492に格納されて、階調補正処理は終了する。そして、その後、処理は図26のステップS14に進む。
【0266】
以上で、階調補正処理部422の動作を完了する。
【0267】
図31は、図30のステップS165の処理内の動作手順、すなわちステップS165の処理に対応する輝度値階調補正処理を説明するフローチャートである。
【0268】
このフローチャートで説明する処理は、図25および図16で説明されている処理ブロックの中である画素単位の処理をおこなう部分である。画素単位の処理をおこなわない畳み込み部315(図16)の動作手順は別途説明する。
【0269】
ステップS201において、輝度域情報算出部491(図25)は、当該画素位置の輝度を評価して、次フレーム用の輝度域情報のここまでの計算結果を更新する。
【0270】
ステップS202において、ヒストグラム算出部312(図16)は、当該画素位置の輝度を評価して、次フレーム用のブロックヒストグラムの該当するbinのここまでの計算結果を更新する。
【0271】
ステップS203において、特性値算出部311(図16)は、当該画素位置の輝度を評価して、次フレーム用のブロック特性値の該当するbinのここまでの計算結果を更新する。
【0272】
ステップS204において、補間部319(図16)は、平滑化ブロックヒストグラム317(図16)に格納されている頻度期待値を参照し、頻度期待値の当該画素位置への補間値を算出する。
【0273】
ステップS205において、補間部318(図16)は、平滑化ブロック特性値316(図16)に格納されている特性積分値を参照し、特性積分値の当該画素位置への補間値を算出する。
【0274】
ステップS206において、除算部320(図16)は、当該画素位置へ補間された特性積分値を当該画素位置へ補間された頻度期待値で除算し、それを大局輝度値とする。
【0275】
ステップS207において、トーンカーブ算出部494(図25)は、輝度域情報ストア492(図25)に格納されている輝度域情報と当該画素位置の大局輝度値から、当該画素位置のトーンカーブ形状を算出する。
【0276】
ステップS208において、マッピング部496(図25)は、当該画素位置のトーンカーブを参照し、当該画素位置の大局輝度値にトーンカーブを適用した値を算出する。
【0277】
ステップS209において、マッピング部497(図25)は、当該画素位置のトーンカーブを参照し、当該画素位置の輝度値にトーンカーブを適用した値を算出する。
【0278】
ステップS210において、コントラスト補正部498(図25)は、当該画素位置のトーンカーブ、当該画素位置の大局輝度値および輝度値を参照し、コントラスト補正された当該画素位置の輝度値を算出し、それを当該画素位置の輝度の階調補正結果として出力する。輝度の階調補正結果が出力されると、輝度値階調補正処理は終了し、その後、処理は図30のステップS166に進む。
【0279】
以上で、輝度値階調補正処理の動作を完了する。
【0280】
図32は、図30のステップS173の処理に対応する平滑化ブロックヒストグラムおよび平滑化ブロック特性値の算出処理の動作手順を説明するフローチャートである。処理構成としては、畳み込み部315(図16)の内部処理(図18)に相当する。
【0281】
この平滑化ブロックヒストグラムおよび平滑化ブロック特性値の算出処理は、ブロックヒストグラムの各bin(以下、中心bin)位置について、行なわれる。
【0282】
ステップS241において、中心bin選択部353は、ブロックヒストグラムの中心bin位置にあるbinを選択する。
【0283】
ステップS242において、周辺bin選択部352は、中心bin位置の周辺に位置するブロックヒストグラムの周辺binを選択する。
【0284】
ステップS243において、周辺bin選択部351は、中心bin位置の周辺に位置するブロック特性値の周辺binを選択する。
【0285】
そして、その後、空間重み関数セット381の各重み関数について、ステップS244乃至ステップS253の処理が行われ、輝度重み関数セット382の各重み関数について、ステップS244乃至ステップS252の処理が行われる。
【0286】
すなわち、ステップS244において、当該空間重み関数と当該輝度重み関数の組み合わせに対応する特性積分値および頻度期待値が0に初期化される。
【0287】
ステップS245において、空間距離算出部354および空間重み算出部356は、中心binと当該周辺binと当該空間重み関数に基づく空間重み値の算出をおこなう。
【0288】
ステップS246において、輝度距離算出部355および輝度重み算出部357は、中心binと当該周辺binと当該輝度重み関数に基づく輝度重み値の算出をおこなう。
【0289】
ステップS247において、乗算部358は、空間重み値と輝度重み値を乗算した合成重み値を算出する。
【0290】
ステップS248において、積和部360は、合成重み値と当該周辺binの頻度値を乗じた値を算出し、それを頻度期待値のここまでの算出結果に加算する。
【0291】
ステップS249において、積和部359は、合成重み値と当該周辺binの頻度値と当該周辺binの輝度期待値を乗じた値を算出し、それを特性積分値のここまでの算出結果に加算する。
【0292】
ステップS250において、全ての周辺binについてステップS245乃至ステップS249の処理が行われたか否かが判定される。
【0293】
ステップS250において、まだ全ての周辺binについて処理が行われていないと判定された場合、処理はステップS245に戻り、上述した処理が繰り返される。
【0294】
これに対して、ステップS250において、全ての周辺binについて処理が行われたと判定された場合、処理はステップS251に進む。
【0295】
ステップS251において、当該空間重み関数と当該輝度重み関数の組み合わせに対応する特性積分値および頻度期待値の結果が、それぞれ特性積分値ストア383および頻度期待値ストア384に保持される。
【0296】
ステップS252において、輝度重み関数セット382の全ての重み関数について、ステップS244乃至ステップS251の処理が行われたか否かが判定される。
【0297】
ステップS252において、まだ全ての重み関数について処理が行われていないと判定された場合、処理はステップS244に戻り、上述した処理が繰り返される。
【0298】
これに対して、ステップS252において、全ての重み関数について処理が行われたと判定された場合、処理はステップS253に進む。
【0299】
ステップS253において、空間重み関数セット381の全ての重み関数について、ステップS244乃至ステップS252の処理が行われたか否かが判定される。
【0300】
ステップS253において、まだ全ての重み関数について処理が行われていないと判定された場合、処理はステップS244に戻り、上述した処理が繰り返される。
【0301】
これに対して、ステップS253において、全ての重み関数について処理が行われたと判定された場合、つまり全ての空間重み関数と輝度重み関数の組み合わせについて、処理が行われた場合、処理はステップS254に進む。
【0302】
ステップS254において、頻度期待値選択部385は、特性積分値および頻度期待値の組を選択する。
【0303】
ステップS255において、選択された頻度期待値が平滑化ブロックヒストグラムストア317の中心bin位置へ格納される。
【0304】
ステップS256において、選択された特性積分値が平滑化ブロック特性値ストア316の中心bin位置へ格納される。
【0305】
ステップS257において、全てのbin位置についてステップS241乃至ステップS256の処理が行われたか否かが判定される。
【0306】
ステップS257において、まだ全てのbin位置について処理が行われていないと判定された場合、処理はステップS241に戻り、上述した処理が繰り返される。
【0307】
これに対して、ステップS257において、ブロックヒストグラムの全てのbin位置について処理が行われたと判定された場合、平滑化ブロックヒストグラムおよび平滑化ブロック特性値の算出処理は終了し、処理は図30のステップS174に進む。
【0308】
以上で、平滑化ブロックヒストグラムおよび平滑化ブロック特性値の算出処理の動作を完了する。
【0309】
以上で、処理手順の説明を終わる。
【0310】
[バリエーション等]
以上に説明した実施例によって、本技術がどのように利用されるかを説明した。しかし本技術の利用形態は以上の実施例に限定されるものではない。
【0311】
例えば、輝度のノイズ低減に本技術の第1の構成を利用したが、第2および第3の構成を輝度ノイズの低減に利用することもできる。同様に、第1および第3の構成を色差ノイズ低減に、また、第1および第2の構成を階調補正に用いることは可能である。
【0312】
また、本技術の第2および第3の構成における特性値は、実施例で説明した輝度あるいは色差以外のものであってよい。例えば、RGB画像のいずれかのチャネルであってもよい。
【0313】
また、本技術の重み関数の選択に関しては、空間重みか輝度重みかのどちらか片方だけ選択するようにしてもよい。
【0314】
さらには、本技術の第3の構成において、選択された重み関数で畳み込んだ結果である平滑化ブロックヒストグラムおよび平滑化ブロック特性値は、必要に応じてそのサイズ(ブロック分割数もしくはbin分割数)を変更(大抵は縮小)しても本技術の効果を得ることは可能である。
【0315】
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0316】
図33は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【0317】
コンピュータにおいて、CPU801,ROM(Read Only Memory)802,RAM803は、バス804により相互に接続されている。
【0318】
バス804には、さらに、入出力インターフェース805が接続されている。入出力インターフェース805には、キーボード、マウス、マイクロホンなどよりなる入力部806、ディスプレイ、スピーカなどよりなる出力部807、ハードディスクや不揮発性のメモリなどよりなる記録部808、ネットワークインターフェースなどよりなる通信部809、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア811を駆動するドライブ810が接続されている。
【0319】
以上のように構成されるコンピュータでは、CPU801が、例えば、記録部808に記録されているプログラムを、入出力インターフェース805及びバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が行われる。
【0320】
コンピュータ(CPU801)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア811に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【0321】
そして、プログラムは、リムーバブルメディア811をドライブ810に装着することにより、入出力インターフェース805を介して、記録部808にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部809で受信し、記録部808にインストールすることができる。その他、プログラムは、ROM802や記録部808に、あらかじめインストールしておくことができる。
【0322】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0323】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0324】
421 ホワイトバランス処理部, 422 階調補正処理部, 423 デモザイク処理部, 424 ガンマ補正処理部, 425 YC変換処理部, 426 輝度ノイズ低減処理部, 427 色差ノイズ低減処理部

【特許請求の範囲】
【請求項1】
画像データ中のある画素位置において、当該画素位置の画素値と近傍領域の各画素の画素値との差分値に基づく重み値を算出し、前記近傍領域の各画素で算出した重み値に基づいて、前記近傍領域画素値の期待値を算出し、それを当該画素位置の計算結果とする画像処理装置において、
前記重み値を算出するための複数の正規化された重み関数と、
前記複数の正規化重み関数の夫々について、近傍領域の全画素の重み値総和を算出する手段と、
前記重み値総和に基づいて前記正規化重み関数を選択する手段と、
前記選択された正規化重み関数に基づいた前記近傍領域画素値の期待値を算出する手段と
を備える画像処理装置。
【請求項2】
前記正規化重み関数を選択する手段は、前記重み値総和を最大にする正規化重み関数を選択する
請求項1に記載の画像処理装置。
【請求項3】
前記正規化重み関数を選択する手段は、前記重み値総和のうち最大値と、最大値から所定の許容幅にはいるものを抽出し、前記抽出された重み値総和に対応する正規化重み関数のうち、関数の幅が最大のものを選択する
請求項1に記載の画像処理装置。
【請求項4】
画像を空間方向に複数の領域に分割したブロック毎に、さらに輝度方向に複数の輝度域に分割したbin毎の画素の頻度値を算出するブロックヒストグラム算出手段と、
ブロックヒストグラムの各bin毎に特性値を算出あるいは設定する特性値算出手段と、
前記各binの頻度値および特性値に基づいて、画像の各画素における特性値の重みつき期待値を算出する手段と
を備え、
前記特性値の重みつき期待値を算出する手段は、
前記重み値を算出するための複数の正規化された重み関数と、
前記複数の正規化重み関数の夫々について、当該画素における頻度期待値を算出する手段と、
前記頻度期待値に基づいて前記正規化重み関数を選択する手段と、
前記選択された正規化重み関数に基づいた前記当該画素の特性値の重みつき期待値を算出する手段と
を備える
画像処理装置。
【請求項5】
前記正規化重み関数を選択する手段は、前記頻度期待値を最大にする正規化重み関数を選択する
請求項4に記載の画像処理装置。
【請求項6】
前記正規化重み関数を選択する手段は、前記頻度期待値のうち最大値と、最大値から所定の許容幅にはいるものを抽出し、前記抽出された頻度期待値に対応する正規化重み関数のうち、関数の幅が最大のものを選択する
請求項4に記載の画像処理装置。
【請求項7】
前記bin毎の特性値は、binに属する画素の輝度を代表する値である
請求項4に記載の画像処理装置。
【請求項8】
前記bin毎の特性値は、binに属する画素の色度を代表する値である
請求項4に記載の画像処理装置。
【請求項9】
画像を空間方向に複数の領域に分割したブロック毎に、さらに輝度方向に複数の輝度域に分割したbin毎の画素の頻度値を算出するブロックヒストグラム算出手段と、
ブロックヒストグラムの各bin毎に特性値を算出あるいは設定する特性値算出手段と、
前記頻度値に対して重み関数を畳み込む、第1の畳み込み手段と、
前記特性値と前記頻度値の積に対して、重み関数を畳み込む、第2の畳み込み手段と、
画像の各画素の輝度値に対応する、前記第1の畳み込み手段の結果の補間値を算出する手段と、
画像の各画素の輝度値に対応する、前記第2の畳み込み手段の結果の補間値を算出する手段と、
前記第1の補間値を前記第2の補間値で除算することによって、画像の各画素の輝度値に対応する前記特性値の重みつき期待値を算出する手段と
を備え、
前記第1の畳み込み手段は、
複数の正規化された重み関数と、
前記複数の正規化重み関数の夫々について、前記頻度値の各binにおける畳み込み結果を算出する手段と、
前記頻度値の畳み込み結果に基づいて、前記正規化重み関数および対応する前記頻度値の畳み込み結果をbin毎に選択する手段と
を備え、
前記第2の畳み込み手段は、
複数の正規化された重み関数と、
前記複数の正規化重み関数の夫々について、前記頻度値の各binにおける畳み込み結果を算出する手段と、
前記複数の正規化重み関数の夫々について、前記特性値と前記頻度値の積の各binにおける畳み込み結果を算出する手段と、
前記頻度値の畳み込み結果に基づいて、前記正規化重み関数および対応する前記特性値と前記頻度値の積の畳み込み結果をbin毎に選択する手段と
を備える
画像処理装置。
【請求項10】
前記正規化重み関数を選択する手段は、前記頻度値の畳み込み結果を最大にする正規化重み関数を選択する
請求項9に記載の画像処理装置。
【請求項11】
前記正規化重み関数を選択する手段は、前記頻度値の畳み込み結果のうち最大値と、最大値から所定の許容幅にはいるものを抽出し、前記抽出された頻度値の畳み込み結果に対応する正規化重み関数のうち、関数の幅が最大のものを選択する
請求項9に記載の画像処理装置。
【請求項12】
前記bin毎の特性値は、binに属する画素の輝度を代表する値である
請求項9に記載の画像処理装置。
【請求項13】
前記bin毎の特性値は、binに属する画素の色度を代表する値である
請求項9に記載の画像処理装置。
【請求項14】
画像データ中のある画素位置において、当該画素位置の画素値と近傍領域の各画素の画素値との差分値に基づく重み値を算出し、前記近傍領域の各画素で算出した重み値に基づいて、前記近傍領域画素値の期待値を算出し、それを当該画素位置の計算結果とする画像処理方法において、
前記重み値を算出するための複数の正規化された重み関数を保持し、
前記複数の正規化重み関数の夫々について、近傍領域の全画素の重み値総和を算出し、
前記重み値総和に基づいて前記正規化重み関数を選択し、
前記選択された正規化重み関数に基づいた前記近傍領域画素値の期待値を算出する
ステップを含む画像処理方法。
【請求項15】
画像データ中のある画素位置において、当該画素位置の画素値と近傍領域の各画素の画素値との差分値に基づく重み値を算出し、前記近傍領域の各画素で算出した重み値に基づいて、前記近傍領域画素値の期待値を算出し、それを当該画素位置の計算結果とする画像処理用のプログラムであって、
前記重み値を算出するための複数の正規化された重み関数を保持し、
前記複数の正規化重み関数の夫々について、近傍領域の全画素の重み値総和を算出し、
前記重み値総和に基づいて前記正規化重み関数を選択し、
前記選択された正規化重み関数に基づいた前記近傍領域画素値の期待値を算出する
ステップを含む処理をコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate


【公開番号】特開2012−216888(P2012−216888A)
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願番号】特願2011−78872(P2011−78872)
【出願日】平成23年3月31日(2011.3.31)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】