(57)【要約】【課題】２パス構成の処理において、１パス目と２パス目の画像が異なることに起因する画像の破綻を防ぐことができるようにする。【解決手段】輝度生成部２１からのY信号および入力画像は、１パス目では、輝度域情報算出部２２およびLPF２４に出力されるが、２パス目では、拡大処理部２６、調整処理部５１、除算部２８に入力される。また、調整処理部５１には、２パス目で、拡大処理部２６からの拡大された中間データである画像も入力される。調整処理部５１は、拡大された中間データである画像と輝度生成部２１からの入力画像を、１パス目と２パス目の画像の輝度や画角の変化の大きさに応じた出力割合で混合して、混合された画像を、階調圧縮処理部２７に出力する。本発明は、例えば、画像の階調補正処理を行う画像処理装置に適用することができる。【選択図】図３
2011203814.tif 000002
【特許請求の範囲】
【請求項１】
入力される第１の画像信号から代表値を算出する代表値算出手段と、
前記第１の画像信号の次に入力される第２の画像信号を用いて、前記代表値算出手段により算出された前記代表値に対して補間処理を行う補間手段と、
前記第１の画像信号に対応する画像に対する前記第２の画像信号に対応する画像との変化量が大きい場合、前記変化量が小さい場合に比して、前記補間手段により前記補間処理が行われた画像信号の出力割合が小さくなるように、前記補間処理が行われた画像信号と前記第２の画像信号とを混合する調整処理手段と
を備える画像処理装置。
【請求項２】
前記第１の画像信号に対応する画像に対する前記第２の画像信号に対応する画像との変化量に応じて、前記補間処理が行われた画像信号の出力割合と前記第２の画像信号の出力割合の調整量を決定する調整量決定手段を
さらに備え、
前記調整処理手段は、前記調整量決定手段により決定された前記調整量に応じて、前記補間処理が行われた画像信号と前記第２の画像信号とを混合する
請求項１に記載の画像処理装置。
【請求項３】
前記調整量決定手段は、前記第１の画像信号に対応する画像に対する前記第２の画像信号に対応する画像のレベルまたは座標の変化量に応じて、前記補間処理が行われた画像信号の出力割合と前記第２の画像信号の出力割合の調整量を決定する
請求項２に記載の画像処理装置。
【請求項４】
前記代表値は、ブロックヒストグラムとブロック積算値から構成される
請求項２に記載の画像処理装置。
【請求項５】
前記調整量決定手段は、前記ブロックヒストグラムの値の大きさに応じて、前記補間処理が行われた画像信号の出力割合と前記第２の画像信号の出力割合の調整量を決定する
請求項４に記載の画像処理装置。
【請求項６】
代表値算出手段と、補間手段と、調整処理手段とを備える画像処理装置の画像処理方法において、
前記代表値算出手段が、入力される第１の画像信号から代表値を算出し、
前記補間手段が、前記第１の画像信号の次に入力される第２の画像信号を用いて、算出された前記代表値に対して補間処理を行い、
前記調整処理手段が、前記第１の画像信号に対応する画像に対する前記第２の画像信号に対応する画像との変化量が大きい場合、前記変化量が小さい場合に比して、前記補間処理が行われた画像信号の出力割合が小さくなるように、前記補間処理が行われた画像信号と前記第２の画像信号とを混合する
画像処理方法。
【請求項７】
入力される第１の画像信号から代表値を算出する代表値算出手段と、
前記第１の画像信号の次に入力される第２の画像信号を用いて、前記代表値算出手段により算出された前記代表値を補間する補間手段と、
前記第１の画像信号に対応する画像に対する前記第２の画像信号に対応する画像との変化量が大きい場合、前記変化量が小さい場合に比して、前記補間処理が行われた画像信号の出力割合が小さくなるように、前記補間処理が行われた画像信号と前記第２の画像信号とを混合する調整処理手段と
してコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、プログラムに関し、特に、２パス構成の処理において、１パス目と２パス目の画像が異なることに起因する画像の破綻を防ぐことができるようにした画像処理装置および方法、プログラムに関する。
【背景技術】
【０００２】
ある種の画像信号処理では、画像中のあるピクセルを処理する際に、その周囲の広い範囲の情報を用いる。例えば、HDR(ハイダイナミックレンジ)圧縮処理に用いるバイラテラルフィルタの計算においては、処理ピクセルを中心に、半径数百ピクセルの範囲の情報を用いて処理が行われる。
【０００３】
こういった広範囲の情報を用いる画像信号処理は、ピクセル毎の計算コストが高くなり過ぎる傾向がある。すなわち、ハードウエアの規模や、ソフトウエアの計算時間が増大するため、１ステップで処理を行うことは困難である。
【０００４】
そこで、広範囲の情報を用いる信号処理を実装する際には、計算コストを減らすための工夫として、処理を複数のステップに分割する構成が採用されることが多い。例えば、バイラテラルフィルタの計算においては、広い範囲の情報から代表値の組を計算して中間データを作成するステップと、その代表値を用いてピクセル毎の処理を行うステップの２つのステップに処理を分割することで、計算コストを低減している。
【０００５】
上述した２ステップ構成については、特許文献１および２などに記載されており、バイテラルフィルタについては、特許文献３などに記載されている。
【０００６】
一般に、画像に対するバイラテラルフィルタＢＬＦ（ｐｃ）では、次式（１）に示されるように、空間方向の重み関数ω（ｐ−ｐｃ）および輝度値方向の重み関数φ（Ｉ（ｐ）−Ｉ（ｐｃ））で重み付けした画素位置ｐｃの周囲の画素の画素値Ｉ（ｐ）を加算する演算が行われる。
【０００７】
【数１】
2011203814.tif 000003
【０００８】
なお、式（１）において、右辺の分母は、重み値の正規化係数を示している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００１−２７５０１５号公報
【特許文献２】特開２００４−２２１６４５号公報
【特許文献３】特開２００９−１７７５５８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、処理を分割して計算コストを低減する場合、各ステップの入力信号の特性がそろっていないと、処理に誤差が生じる。これは、入力の画像が各ステップ間で変化することで、「ある画像に対する一連の処理を、複数のステップに分割する」という条件が崩れるためである。
【００１１】
誤差による画像劣化は、主にリアルタイムの動画処理システムで生じることが多い。動画処理システムでは、各画像フレームの信号処理が連続して行われる。処理が連続しているため、ある画像に対して一旦、中間データを作成した後に、再度その画像を処理しなおすことが困難である。
【００１２】
そこで、動画処理においては、補正には、前のフレームで作成した中間データを用いるように構成される。これにより、補正処理と中間データの作成が同時に行えるようになる。しかしながら、前のフレームの中間データを用いたことによって、上述した誤差による画質劣化が発生してしまう。
【００１３】
静止画処理のシステムにおいても、上述した誤差による画質劣化が発生する場合がある。例えば、特許文献３に記載されるように、複数ステップの処理である階調補正処理の前に、感度ゲイン処理やホワイトバランス処理が行われる信号処理システムがある。このようなシステムにおいて、各ステップ間で、感度ゲイン処理やホワイトバランス処理のパラメータが異なると、階調補正処理に入力される信号が各ステップで異なってしまう。
【００１４】
このような静止画処理においては、パラメータが変わった後に第１ステップの処理を再度行うことにより、誤差を無くすことが可能である。しかしながら、第１ステップの処理のやり直しには、処理時間がかかってしまう。
【００１５】
また、各ステップ間で入力信号の特性に差異がある場合でも、特性によって画質への影響は異なる。例えば、上述した階調補正処理においては、処理フレーム間の差異のうち、画像中の小さな領域での変化については、画質への影響は少ない。これに対して、処理フレーム間の差異のうち、特に画像の大きな領域で起こる変化（例えば、撮影画像の露出（画面全体の明るさ）や画角（画面全体の位置）の特性など）は、計算誤差が大きくなりやすく、画質を劣化させやすい。
【００１６】
さらに例えば、第１ステップと第２ステップで、入力信号が大きく異なる場合、誤差の拡大により意図しない処理が行われて、画像が破たんする恐れがある。
【００１７】
また、バイテラルフィルタにおいては、固定小数の実装では、フィルタ係数、すなわち、上述した式（１）の右辺の分母の重み値の正規化係数が極端に小さい場合には計算誤差が拡大してしまう。この場合にも、計算誤差により意図しない処理が行われて、画像が破たんする恐れがある。
【００１８】
本発明は、このような状況に鑑みてなされたものであり、画像の破綻を防ぐことができるものである。
【課題を解決するための手段】
【００１９】
本発明の一側面の画像処理装置は、入力される第１の画像信号から代表値を算出する代表値算出手段と、前記第１の画像信号の次に入力される第２の画像信号を用いて、前記代表値算出手段により算出された前記代表値に対して補間処理を行う補間手段と、前記第１の画像信号に対応する画像に対する前記第２の画像信号に対応する画像との変化量が大きい場合、前記変化量が小さい場合に比して、前記補間手段により前記補間処理が行われた画像信号の出力割合が小さくなるように、前記補間処理が行われた画像信号と前記第２の画像信号とを混合する調整処理手段とを備える。
【００２０】
前記第１の画像信号に対応する画像に対する前記第２の画像信号に対応する画像との変化量に応じて、前記補間処理が行われた画像信号の出力割合と前記第２の画像信号の出力割合の調整量を決定する調整量決定手段をさらに備え、前記調整処理手段は、前記調整量決定手段により決定された前記調整量に応じて、前記補間処理が行われた画像信号と前記第２の画像信号とを混合することができる。
【００２１】
前記調整量決定手段は、前記第１の画像信号に対応する画像に対する前記第２の画像信号に対応する画像のレベルまたは座標の変化量に応じて、前記補間処理が行われた画像信号の出力割合と前記第２の画像信号の出力割合の調整量を決定することができる。
【００２２】
前記代表値は、ブロックヒストグラムとブロック積算値から構成される。
【００２３】
前記調整量決定手段は、前記ブロックヒストグラムの値の大きさに応じて、前記補間処理が行われた画像信号の出力割合と前記第２の画像信号の出力割合の調整量を決定することができる。
【００２４】
本発明の一側面の画像処理方法は、代表値算出手段と、補間手段と、調整処理手段とを備える画像処理装置の画像処理方法において、前記代表値算出手段が、入力される第１の画像信号から代表値を算出し、前記補間手段が、前記第１の画像信号の次に入力される第２の画像信号を用いて、算出された前記代表値に対して補間処理を行い、前記調整処理手段が、前記第１の画像信号に対応する画像に対する前記第２の画像信号に対応する画像との変化量が大きい場合、前記変化量が小さい場合に比して、前記補間処理が行われた画像信号の出力割合が小さくなるように、前記補間処理が行われた画像信号と前記第２の画像信号とを混合する。
【００２５】
本発明の一側面のプログラムは、入力される第１の画像信号から代表値を算出する代表値算出手段と、前記第１の画像信号の次に入力される第２の画像信号を用いて、前記代表値算出手段により算出された前記代表値を補間する補間手段と、前記第１の画像信号に対応する画像に対する前記第２の画像信号に対応する画像との変化量が大きい場合、前記変化量が小さい場合に比して、前記補間処理が行われた画像信号の出力割合が小さくなるように、前記補間処理が行われた画像信号と前記第２の画像信号とを混合する調整処理手段としてコンピュータを機能させる。
【００２６】
本発明の一側面においては、入力される第１の画像信号から代表値が算出され、前記第１の画像信号の次に入力される第２の画像信号を用いて、算出された前記代表値が補間される。そして、前記第１の画像信号に対応する画像に対する前記第２の画像信号に対応する画像との変化量が大きい場合、前記変化量が小さい場合に比して、前記補間処理が行われた画像信号の出力割合が小さくなるように、前記補間処理が行われた画像信号と前記第２の画像信号とが混合される。
【００２７】
なお、上述の画像処理装置は、独立した装置であっても良いし、１つの画像処理装置を構成している内部ブロックであってもよい。
【発明の効果】
【００２８】
本発明によれば、２パス構成の処理において、１パス目と２パス目の画像が異なることに起因する画像の破綻を防ぐことができる。
【図面の簡単な説明】
【００２９】
【図１】従来の画像処理装置の構成と１パス目の動作を示すブロック図である。
【図２】従来の画像処理装置の構成と２パス目の動作を示すブロック図である。
【図３】本発明を適用した画像処理装置の構成例を示すブロック図である。
【図４】本発明を適用したデジタルカメラの構成例を示すブロック図である。
【図５】図４のDSPの内部のプロセッサが、所定のプログラムを実行することにより実現される機能の構成の例を示すブロック図である。
【図６】図５の階調補正処理部の機能の構成例を示すブロック図である。
【図７】図６の輝度階調補正部の機能の構成例を示すブロック図である。
【図８】図７の加重積和部の機能の構成例を示すブロック図である。
【図９】図８のフィルタ効果調整処理部の機能の構成例を示すブロック図である。
【図１０】図４のデジタルカメラにおける画像処理について説明するフローチャートである。
【図１１】図１０のステップＳ１１４の階調補正処理を説明するフローチャートである。
【図１２】図１０のステップＳ１１４の階調補正処理を説明するフローチャートである。
【図１３】トーンカーブを説明する図である。
【図１４】図１１のステップＳ１５０の大局輝度値算出処理について説明するフローチャートである。
【図１５】輝度重み関数について説明する図である。
【図１６】図７の加重積和部の機能の他の構成例を示すブロック図である。
【図１７】図１６のフィルタ精度判定部が有するグラフを説明する図である。
【図１８】入力信号の変化量に応じた輝度ヒストグラムの値を説明する図である。
【図１９】入力信号の変化量に応じた輝度ヒストグラムの値を説明する図である。
【図２０】入力信号の変化量に応じた輝度ヒストグラムの値を説明する図である。
【図２１】入力信号の変化量に応じた輝度ヒストグラムの値を説明する図である。
【図２２】図１６の加重積和部の場合の図４のデジタルカメラにおける画像処理について説明するフローチャートである。
【図２３】図１６の加重積和部の場合の図１１のステップＳ１５０の大局輝度値算出処理について説明するフローチャートである。
【図２４】コンピュータのハードウエアの構成例を示すブロック図である。
【発明を実施するための形態】
【００３０】
以下、図を参照して本発明の実施の形態について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（本発明の概要）
２．第２の実施の形態（デジタルビデオカメラの例）
【００３１】
＜１．第１の実施の形態＞
［発明の概要］
まず、図１乃至図３を参照して、本発明の概要を説明する。図１および図２の例においては、本発明と比較するために、従来の画像処理装置１の構成例が示されている。なお、図１の例においては、１パス目に動作する部分が実線で示され、動作しない部分が破線で示されている。また、図２の例においては、２パス目に動作する部分が実線で示され、動作しない部分が破線で示されている。
【００３２】
画像処理装置１は、信号処理部１１および階調補正処理部１２により構成されている。信号処理部１１は、入力画像に対して所定の信号処理を行い、処理後の画像を階調補正処理部１２に出力する。
【００３３】
階調補正処理部１２は、信号処理部１１からの入力画像に対して、２パス処理で、階調補正処理を行い、出力画像を後段に出力する。すなわち、階調補正処理部１２は、１パス目で、入力画像から中間データを作成することにより標本化を行い、２パス目で、中間データに対して補間処理を行い、階調補正処理を行う。
【００３４】
階調補正処理部１２は、輝度生成部２１、輝度域情報算出部２２、輝度域情報メモリ２３、LPF（ローパスフィルタ）２４、中間メモリ２５、拡大処理部２６、階調圧縮処理部２７、除算部２８、および乗算部２９により構成されている。信号処理部１１からの入力画像は、輝度生成部２１および乗算部２９に入力される。
【００３５】
輝度生成部２１は、入力画像のRGBからY信号（輝度信号）を生成し、生成したY信号および入力画像を、１パス目では、輝度域情報算出部２２およびLPF２４に出力する。また、輝度生成部２１は、生成したY信号および入力画像を、２パス目では、拡大処理部２６、階調圧縮処理部２７、および除算部２８に出力する。
【００３６】
輝度域情報算出部２２は、１パス目で、１フレーム分の画像の輝度値を見て、階調補正の特性を決めるための画像の統計情報である輝度域情報を算出し、算出した輝度域情報を輝度域情報メモリ２３に格納する。輝度域情報メモリ２３は、輝度域情報算出部２２からの輝度域情報を一時的に記録し、階調圧縮処理部２７に供給する。
【００３７】
LPF２４は、１パス目で、１フレーム分の画像の輝度値に対して、フィルタ処理を行い、フィルタ処理結果の中間データを、中間メモリ２５に格納する。フィルタ処理としては、例えば、輝度値を間引いて、それを平滑化する処理が行われる。すなわち、中間データは、間引かれているので、入力画像よりも画素数が少なく、代表値ともいえる。中間メモリ２５は、LPF２４からの中間データを一時的に記録し、拡大処理部２６に供給する。
【００３８】
拡大処理部２６は、２パス目で、輝度生成部２１からの入力画像を用いて、中間メモリ２５の中間データを拡大し、中間データが拡大された画像を、階調圧縮処理部２７に供給する。すなわち、拡大処理部２６においては、補間フィルタにより中間データに対して補間する処理が行われることにより、入力画像と同画素数の画像が生成される。
【００３９】
階調圧縮処理部２７は、２パス目で、輝度域情報メモリ２３の輝度域情報を参照し、拡大処理部２６からの拡大された中間データである画像の階調を圧縮する処理を行う。階調圧縮処理部２７は、処理後のデータを、除算部２８に出力する。
【００４０】
除算部２８は、２パス目で、輝度生成部２１からの階調圧縮前の輝度値と、階調圧縮処理部２７からの階調圧縮後の輝度値の比（ゲイン）を求め、求めたゲインを乗算部２９に供給する。乗算部２９は、２パス目で、信号処理部１１からの入力画像のRGBに、除算部２８からのゲインを乗算することにより、階調圧縮された出力画像を、後段に出力する。
【００４１】
ここで、原理的に、１パス目の画像と２パス目の画像が異なってしまうと、計算誤差で性能が劣化してしまう。具体的には、１パス目の画像と２パス目の画像において、画角の変化があると、計算誤差により、フィルタの空間特性がシフトしてしまい、出力画像に誤った補正による劣化（例えば、後光が差すような症状であるHALO）が出てしまう。
【００４２】
また、１パス目の画像と２パス目の画像において、輝度の変化があると、計算誤差により、フィルタの出力レベルがシフトしてしまい、階調圧縮処理の特性がずれて、出力画像のレベルが期待通りにならない。
【００４３】
この輝度や画角の変化（差）は、階調圧縮処理部２７における補間フィルタの位相の変化といえる。これらの変化が大きくなりすぎると、出力画像の劣化どころか、出力画像の破綻を招く恐れがある。これに対応するために、本発明においては、１パス目の画像に対して、２パス目の画像の輝度や画角の変化量があまりにも大きすぎる場合には、図３に示されるように、１パス目の中間メモリのデータを使わずに、２パス目の信号だけで動作するように信号が切り替えられる。
【００４４】
図３は、本発明を適用した画像処理装置の構成例を示すブロック図である。図３の画像処理装置３１は、階調補正処理部１２が、階調補正処理部４１に入れ替わった点が図１の画像処理装置１と異なり、信号処理部１１を備えている点が図１の画像処理装置１と共通している。
【００４５】
また、階調補正処理部４１は、調整処理部５１が追加された点だけが、図１の階調補正処理部１２と異なっている。そして、階調補正処理部４１は、輝度生成部２１、輝度域情報算出部２２、輝度域情報メモリ２３、LPF２４、中間メモリ２５、拡大処理部２６、階調圧縮処理部２７、除算部２８、および乗算部２９を備える点は、図１の階調補正処理部１２と共通している。
【００４６】
すなわち、輝度生成部２１からのY信号および入力画像は、１パス目では、輝度域情報算出部２２およびLPF２４に出力されるが、２パス目では、拡大処理部２６、調整処理部５１、除算部２８に入力される。
【００４７】
また、調整処理部５１には、２パス目で、拡大処理部２６からの拡大された中間データである画像も入力される。調整処理部５１は、拡大された中間データである画像と輝度生成部２１からの入力画像を、１パス目の画像に対する２パス目の画像の輝度や画角の変化量の大きさに応じた出力割合に混合して、混合された画像を、階調圧縮処理部２７に出力する。
【００４８】
例えば、１パス目の画像に対する２パス目の画像の輝度や画角の変化量があまりにも大きすぎるときには、拡大された中間データである画像の出力割合は０とされて、２パス目の画像だけが階調圧縮処理部２７に出力される。この場合、階調圧縮処理部２７は、単なるトーンカーブ処理として動作するため、１パス目の画像に対する２パス目の画像の輝度や画角の変化量が大きすぎることによる破綻が抑制される。
【００４９】
一方、例えば、１パス目の画像に対する２パス目の画像の輝度や画角の変化量があまりないときには、２パス目の画像の出力割合は０とされて、拡大された中間データである画像だけが階調圧縮処理部２７に出力される。すなわち、階調圧縮処理部２７においては、拡大された中間データが用いられて、従来と同様の階調圧縮処理が行われる。
【００５０】
階調圧縮処理部２７は、２パス目で、輝度域情報メモリ２３の輝度域情報を参照し、調整処理部５１からの画像の階調を圧縮する処理を行い、処理後のデータを、除算部２８に出力する。
【００５１】
以上のように、１パス目と２パス目の画像の輝度や画角の変化に応じて、階調圧縮処理部２７に出力される、すなわち、階調圧縮処理部２７で用いられる画像の割合が混合されるので、１パス目と２パス目の画像の輝度や画角の変化が大きすぎることによる画像の破綻を抑制することができる。
【００５２】
なお、上述した図３の調整処理部５１における出力割合の調整量の決定方法として、画角については、例えば、ジャイロセンサの出力から計算したり、画像解析で入力画像の動きベクトルを算出するなどして決定する方法がある。また、明るさについては、例えば、フレーム間での、露出制御の変化量などから算出することで決定する方法がある。
【００５３】
例えば、フラッシュ発光など明るさの急激な変化や高速なパンなどによる画角の急激な変化を検出したとき、２パス目の画像だけが階調圧縮処理部２７に出力されるように混合される。また、例えば、上述したバイテラルフィルタの式（１）の右辺の分母が小さくなり、計算精度の低下を検出したときにも、２パス目の画像だけが階調圧縮処理部２７に出力されるように混合される。
【００５４】
以下、本発明を実現するための、さらに具体的な構成について説明する。なお、上述した１パス目および２パス目は、適宜、第１のステップおよび第２のステップとも称する。
【００５５】
＜２．第２の実施の形態＞
［デジタルカメラの構成例］
図４は、本発明を適用した画像処理装置としてのデジタルビデオカメラの構成例を示すブロック図である。デジタルビデオカメラ１０１は、レンズ１１１、絞り１１２、画像センサ１１３、相関２重サンプリング回路（CDS）１１４、A/D（Analog/Digital）コンバータ１１５、DSP（Digital Signal Processor）ブロック１１６、タイミングジェネレータ（TG）１１７、LCD（Liquid Crystal Display）ドライバ１１８、LCD１１９、CODEC（Compression/Decompression）１２０、メモリ１２１、CPU（Central Processing Unit）１２２、入力デバイス１２３、ジャイロセンサ１２４、フラッシュ１２５、およびバス１２６から構成される。なお、DSPブロック１１６は、信号処理用のプロセッサ（例えば、SDP）と画像データを保持するRAM（Random Access Memory）などのメモリなどにより構成されるブロックである。デジタルビデオカメラ１０１は、プロセッサが所定のプログラムを実行することにより、後述する画像処理を行う。また、以下、DSPブロック１１６を、単にDSP１１６と呼ぶ。
【００５６】
レンズ１１１および絞り１１２などからなる光学系を通過した被写体からの入射光は、まず画像センサ１１３の撮像面上の各受光素子に到達し、受光素子による光電変換により電気信号に変換される。画像センサ１１３から出力された電気信号は、相関２重サンプリング回路１１４によってノイズが除去され、A/Dコンバータ１１５によってデジタル化された後、デジタル化された画像データがDSP１１６内のメモリに一時的に格納される。タイミングジェネレータ１１７は、一定のフレームレートにより画像データが取り込まれるように、相関２重サンプリング回路１１４、A/Dコンバータ１１５、および、DSP１１６により構成される信号処理系を制御する。すなわち、DSP１１６には、一定のフレームレートで画像データのストリームが供給される。
【００５７】
なお、画像センサ１１３は、一般的なCCD（Charge Coupled Device）などの画像センサよりダイナミックレンジが広く、飽和したり、ノイズを発生させたりすることなく、被写体の暗い部分から明るい部分までを撮像することができる。従って、A/Dコンバータ１１５は、入力される電気信号を、通常のデジタルビデオカメラの階調数よりも多い階調数の画像データに変換する。すなわち、通常のデジタルビデオカメラの階調数とは、例えば、10乃至12ビット程度のデータにより表現できる階調数であり、それよりも多い階調数とは、例えば、14乃至16ビット程度のデータにより表現できる階調数である。
【００５８】
DSP１１６は、画像データのダイナミックレンジが、例えばLCD１１９が表示可能なダイナミックレンジになるように、後述する画像処理を画像データに施した後、画像処理を施した画像データを、必要に応じて、LCDドライバ１１８またはCODEC１２０に供給する。
【００５９】
LCDドライバ１１８は、DSP１１６から供給される画像データをアナログの画像信号に変換する。LCDドライバ１１８は、デジタルビデオカメラのファインダであるLCD１１９にアナログの画像信号を供給し、画像信号に基づく画像を表示させる。
【００６０】
CODEC１２０は、DSP１１６から供給される画像データを所定の方式により符号化し、符号化した画像データを、半導体、磁気記録媒体、光磁気記録媒体、光記録媒体などよりなるメモリ１２１に記録させる。
【００６１】
CPU１２２は、例えば、ユーザがシャッタボタン等の操作ボタンなどにより構成される入力デバイス１２３を操作することにより入力された指令などに基づいて、デジタルビデオカメラの全体の処理を制御する。なお、DSP１１６、タイミングジェネレータ１１７、CODEC１２０、メモリ１２１、LCD１１９、CPU１２２、および入力デバイス１２３は、バス１２６を介して相互に接続されている。
【００６２】
ジャイロセンサ１２４は、デジタルカメラの傾きを示す情報、例えば速度、角度、角速度、加速度、磁気を検出し、その検出情報を、バス１２６を介して、CPU１２２やDSP１１６などに出力する。フラッシュ１２５は、バス１２６を介してなされるCPU１２２の制御のもと、フラッシュ光を発光する。
【００６３】
［DSPの機能構成例］
図５は、DSP１１６の内部のプロセッサ（演算ユニット）が、所定のプログラムを実行することにより実現される機能の構成の例を示すブロック図である。DSP１１６の内部のプロセッサが所定のプログラムを実行することにより、ホワイトバランス処理部１５１、デモザイク処理部１５２、階調補正処理部１５３、ガンマ補正処理部１５４、およびYC変換処理部１５５を含む機能が実現される。なお、図５の例において、階調補正処理部１５３が、図３の階調補正処理部４１に対応している。
【００６４】
ホワイトバランス処理部１５１は、A/Dコンバータ１１５によりA/D変換された、動画像などの画像データであるモザイク画像を取得する。モザイク画像は、Ｒ，Ｇ，Ｂのうちのいずれかの色成分に対応するデータが１つの画素に格納され、ベイヤー配列と呼ばれる色配列に従って各画素が配置されている画像であり、RAWデータとも呼ばれている。
【００６５】
ホワイトバランス処理部１５１は、取得したモザイク画像の各画素の画素値に適切な係数をかけることにより、被写体の無彩色の部分の色バランスが実際に無彩色となるように、モザイク画像のホワイトバランスを調整する。ホワイトバランス処理部１５１は、ホワイトバランスを調整したモザイク画像をデモザイク処理部１５２に供給する。なお、以下、ホワイトバランスが調整されたモザイク画像をＭｗとする。
【００６６】
デモザイク処理部１５２は、ホワイトバランス処理部１５１から供給されたモザイク画像Ｍｗに対して、１つの画素がＲ，Ｇ，Ｂ成分を全て有するようにするデモザイク処理を施す。これにより、Ｒ，Ｇ，Ｂの３つの色成分にそれぞれ対応するＲ画像、Ｇ画像、Ｂ画像の３つの画像データが生成される。デモザイク処理部１５２は、生成したＲ画像、Ｇ画像、Ｂ画像の３つの画像データを階調補正処理部１５３に供給する。
【００６７】
なお、以下、Ｒ画像、Ｇ画像、Ｂ画像の３つの画像データをまとめてＲＧＢ画像とも称する。また、以下、モザイク画像の画素位置ｐにおける画素値をＭ(ｐ)とする。さらに、以下、デモザイク処理が施された画像データの画素位置ｐにおける画素値を［R w(p), G w(p), B w(p)］とする。ここで、R w(p)はＲ成分の画素値であり、G w(p)はＧ成分の画素値であり、B w(p)はＢ成分の画素値である。
【００６８】
階調補正処理部１５３は、ＲＧＢ画像に階調補正処理を施し、階調補正処理を施したＲＧＢ画像をガンマ補正処理部１５４に供給する。その際、階調補正処理部１５３は、第１のステップで入力される信号から中間データ（代表値）を作り、第２のステップでその中間データに対して補間処理を行うことで、階調補正処理を行う。なお、以下、階調補正処理が施された画像データの画素位置ｐにおける画素値を［R u(p), G u(p), B u(p)］とする。ここで、R u(p)はＲ成分の画素値であり、G u(p)はＧ成分の画素値であり、B u(p)はＢ成分の画素値である。
【００６９】
ガンマ補正処理部１５４は、階調変換されたＲＧＢ画像にガンマ補正を施す。ガンマ補正処理部１５４は、ガンマ補正を施したＲＧＢ画像をYC変換処理部１５５に供給する。なお、以下、ガンマ補正が施された画像データの画素位置ｐにおける画素値を［R uγ(p), G uγ(p), B uγ(p)］とする。ここで、R uγ(p)はＲ成分の画素値であり、G uγ(p)はＧ成分の画素値であり、B uγ(p)はＢ成分の画素値である。
【００７０】
YC変換処理部１５５は、ガンマ補正が施されたＲＧＢ画像に対して、ＹＣマトリックス処理およびクロマ成分に対する帯域制限を行うことにより、輝度成分（Ｙ成分）により構成されるＹ画像、および、色差成分（CbまたはCr成分）により構成されるＣ画像を生成する。YC変換処理部１５５は、生成したＹ画像およびＣ画像を、必要に応じて、LCDドライバ１１８またはCODEC１２０に供給する。なお、以下、YC変換処理部１５５から出力される画像データの画素位置ｐにおける画素値を［Y(p), C(p)］とする。ここで、Y(p)はＹ画像における輝度成分の値であり、C(p)はＣ画像における色差成分の値である。また、以下、Ｃ画像のCb成分をCb(p)と称し、Ｃ画像のCr成分をCr(p)と称する。
【００７１】
［階調補正処理部の構成例］
図６は、階調補正処理部１５３の機能の構成例を示すブロック図である。階調補正処理部１５３は、輝度算出部１８１、非線形変換部１８２、輝度階調補正部１８３、非線形変換部１８４−１乃至非線形変換部１８４−３、階調補正部１８５−１乃至階調補正部１８５−３、および非線形逆変換部１８６−１乃至非線形逆変換部１８６−３から構成される。
【００７２】
なお、図６の例において、輝度算出部１８１は、図３の輝度生成部２１に対応している。輝度階調補正部１８３は、図３の階調補正処理部４１における輝度生成部２１、除算部２８、および乗算部２９以外の構成に対応している。階調補正部１８５−１乃至階調補正部１８５−３は、図３の除算部２８および乗算部２９に対応している。実際には、階調補正部１８５−１乃至階調補正部１８５−３においては、対数変換が用いられているので、除算および乗算の代わりに、減算および加算が行われている。
【００７３】
輝度算出部１８１は、デモザイク処理部１５２から供給されたＲＧＢ画像の画素値Rw(p)，Gw(p)，Bw(p)から、その画素位置に対応する輝度成分の値（輝度値L(p)）を算出し、非線形変換部１８２に供給する。非線形変換部１８２は、輝度算出部１８１からの輝度値L(p)を非線形変換し、その結果として得られた輝度値L(nl)(p)を、輝度階調補正部１８３および階調補正部１８５−１乃至階調補正部１８５−３に供給する。
【００７４】
輝度階調補正部１８３は、非線形変換部１８２からの輝度値L(nl)(p)の階調を圧縮することで、輝度値L(nl)(p)の階調補正を行い、階調補正により得られた輝度値Lu(nl)(p)を階調補正部１８５−１乃至階調補正部１８５−３に供給する。
【００７５】
非線形変換部１８４−１乃至非線形変換部１８４−３のそれぞれは、デモザイク処理部１５２から供給されたＲＧＢ画像の画素値Rw(p)、Gw(p)、およびBw(p)のそれぞれを非線形変換する。また、非線形変換部１８４−１乃至非線形変換部１８４−３のそれぞれは、非線形変換により得られた画素値R(nl)(p)、G(nl)(p)、およびB(nl)(p)のそれぞれを、階調補正部１８５−１乃至階調補正部１８５−３に供給する。なお、以下、非線形変換部１８４−１乃至非線形変換部１８４−３のそれぞれを個々に区別する必要のない場合、単に非線形変換部１８４と称する。
【００７６】
階調補正部１８５−１乃至階調補正部１８５−３のそれぞれは、非線形変換部１８２からの輝度値L(nl)(p)と、輝度階調補正部１８３からの輝度値Lu(nl)(p)とを用いて、入出力の輝度値比に対応するように、非線形変換部１８４−１乃至非線形変換部１８４−３からの画素値R(nl)(p)、G(nl)(p)、およびB(nl)(p)のそれぞれを階調補正する。階調補正部１８５−１乃至階調補正部１８５−３のそれぞれは、階調補正により得られた画素値R u(nl)(p)、G u(nl)(p)、およびB u(nl) (p)のそれぞれを、非線形逆変換部１８６−１乃至非線形逆変換部１８６−３のそれぞれに供給する。
【００７７】
非線形逆変換部１８６−１乃至非線形逆変換部１８６−３のそれぞれは、階調補正部１８５−１乃至階調補正部１８５−３からの画素値R u(nl)(p)、G u(nl)(p)、およびB u(nl) (p)のそれぞれに、非線形変換部１８４による非線形変換の逆変換となる非線形逆変換を施す。非線形逆変換部１８６−１乃至非線形逆変換部１８６−３のそれぞれは、非線形逆変換により得られた画素値Ru(p)、Gu(p)、およびBu(p)のそれぞれを、ガンマ補正処理部１５４に供給する。
【００７８】
なお、以下、階調補正部１８５−１乃至階調補正部１８５−３のそれぞれを個々に区別する必要のない場合、単に階調補正部１８５と称する。また、以下、非線形逆変換部１８６−１乃至非線形逆変換部１８６−３のそれぞれを個々に区別する必要のない場合、単に非線形逆変換部１８６と称する。
【００７９】
［輝度階調補正部の構成例］
図７は、図６の輝度階調補正部１８３の機能の構成の例を示すブロック図である。輝度階調補正部１８３は、輝度域情報算出部２１１、輝度域情報メモリ２１２、ブロックヒストグラム算出部２１３、ブロックヒストグラムメモリ２１４、ブロック積分値算出部２１５、ブロック積分値メモリ２１６、加重積和部２１７、トーンカーブ算出部２１８、トーンカーブメモリ２１９、マッピング部２２０、マッピング部２２１、およびコントラスト補正部２２２から構成される。
【００８０】
なお、図７の例において、輝度域情報算出部２１１は、図３の輝度域情報算出部２２に対応し、輝度域情報メモリ２１２は、図３の輝度域情報メモリ２３に対応している。また、ブロックヒストグラム算出部２１３およびブロック積分値算出部２１５は、図３のLPF２４に対応し、ブロックヒストグラムメモリ２１４およびブロック積分値メモリ２１６は、図３の中間メモリ２５に対応している。さらに、加重積和部２１７は、図３の拡大処理部２６と調整処理部５１に対応し、トーンカーブ算出部２１８乃至コントラスト補正部２２２は、図３の階調圧縮処理部２７に対応している。
【００８１】
輝度域情報算出部２１１、ブロックヒストグラム算出部２１３、およびブロック積分値算出部２１５は、ＲＧＢ画像の広域的な情報を算出し、その情報を１フレームごとに更新する処理を行う。
【００８２】
すなわち、輝度域情報算出部２１１は、非線形変換部１８２から供給された輝度値L(nl)(p)からなる１フレーム分の画像（以下、輝度画像と称する）の画素の輝度値のヒストグラムにおける暗輝度側および明輝度側の裾野の輝度値である裾野値を求め、それらの裾野値を輝度域情報として輝度域情報メモリ２１２に格納する。輝度域情報メモリ２１２は、輝度域情報算出部２１１から供給された輝度域情報を一時的に記録し、トーンカーブ算出部２１８に供給する。
【００８３】
ブロックヒストグラム算出部２１３は、非線形変換部１８２から供給された輝度値L(nl)(p)からなる１フレーム分の輝度画像を、空間方向に複数のいくつかの空間ブロック（領域）に分割し、さらに空間ブロックを輝度方向に分割して輝度ブロックとする。ここで、輝度ブロックは、空間ブロック内の画素のうち、輝度ブロックに対して予め定められた輝度範囲内の輝度値を有する画素からなる。したがって、例えば空間ブロックをＤ個の輝度ブロックに分割する場合、輝度値の取り得る範囲が予めＤ個の範囲に分割されており、空間ブロック内の画素は、その輝度値がＤ個の範囲のいずれの範囲内の値であるかによって、Ｄ個の輝度ブロックのうちのいずれかに分類される。
【００８４】
また、ブロックヒストグラム算出部２１３は、輝度画像を分割して得られる各輝度ブロックの画素の頻度値を求め、それらの頻度値をブロックヒストグラムとして、ブロックヒストグラムメモリ２１４に供給する。すなわち、ブロックヒストグラムは、各輝度ブロックに属す（分類された）画素数を示している。ブロックヒストグラムメモリ２１４は、ブロックヒストグラム算出部２１３から供給されたブロックヒストグラムを一時的に記録し、加重積和部２１７に供給する。
【００８５】
ブロック積分値算出部２１５は、非線形変換部１８２から供給された輝度値L(nl)(p)からなる１フレーム分の輝度画像から、各輝度ブロックについて、輝度ブロックに属す画素の輝度値の積分値（総和）を算出し、算出された積分値をブロック積分値としてブロック積分値メモリ２１６に供給する。ブロック積分値メモリ２１６は、ブロック積分値算出部２１５から供給されたブロック積分値を一時的に記録し、加重積和部２１７に供給する。
【００８６】
なお、これらの輝度域情報、ブロックヒストグラム、およびブロック積分値は、１フレーム分の輝度画像の代表値であり、上述してきた中間データに対応する。したがって、以下、適宜、中間データとも称する。この中間データとしての輝度域情報、ブロックヒストグラム、およびブロック積分値は、輝度域情報メモリ２１２、ブロックヒストグラムメモリ２１４、およびブロック積分値メモリ２１６に、輝度画像（ＲＧＢ画像）の１フレーム分の時間だけ保持されて、１フレームごとに更新されることになる。
【００８７】
加重積和部２１７は、非線形変換部１８２からの輝度値L(nl)(p)と、ブロックヒストグラムメモリ２１４からのブロックヒストグラム、およびブロック積分値メモリ２１６からのブロック積分値とから、輝度値L(nl)(p)からなる輝度画像のごく低周波成分からなる画像（以下、大局輝度画像と称する）の輝度値である大局輝度値Ll(nl)(p)を算出する。
【００８８】
すなわち、処理対象となっているフレームの時間的に１つ前のフレームの輝度画像（ＲＧＢ画像）から求められた、ブロックヒストグラムおよびブロック積分値が用いられて、非線形変換部１８２からの輝度値L(nl)(p)の画素の大局輝度値Ll(nl)(p)が算出される。ここで、大局輝度値とは、いわばＲＧＢ画像上の画素が属す物体領域の平均輝度に相当する情報、つまりその画素が含まれる物体領域の平均的な明るさを示す輝度値である。
【００８９】
なお、以下、処理の対象となっている画素、例えば、輝度階調補正部１８３に供給された輝度値L(nl)(p)の画素を、処理対象画素とも称する。
【００９０】
また、加重積和部２１７で用いられる中間データは、算出するのにほぼ１フレーム分の時間が必要とされるため、実際に生成された中間データが利用されるのは、次のフレームの画像情報が入力されたときとなる。したがって、中間データが生成されるとき（第１のステップ）の画像と、中間データが利用されるとき（第２のステップ）の画像の画角や輝度の変化（差分）が大きい場合があり得る。
【００９１】
加重積和部２１７は、第１のステップの画像と第２のステップの画像の変化（差分）に応じた出力割合であるフィルタ効果調整量に基づき、算出した大局輝度値Ll(nl)(p)と、非線形変換部１８２からの輝度値L(nl)(p)を混合する。そして、加重積和部２１７は、ブレンドされた結果の輝度値を、大局輝度値Ll’(nl)(p)として、トーンカーブ算出部２１８およびマッピング部２２０に供給する。
【００９２】
トーンカーブ算出部２１８は、輝度域情報メモリ２１２からの輝度域情報と、加重積和部２１７からの輝度値Ｌｌ’(nl)(p)とから、輝度値の階調を圧縮するために適用されるトーンカーブの形状を算出し、その算出結果をトーンカーブメモリ２１９に供給する。トーンカーブメモリ２１９は、トーンカーブ算出部２１８からのトーンカーブを記録し、記録しているトーンカーブをマッピング部２２０、マッピング部２２１、およびコントラスト補正部２２２に供給する。
【００９３】
マッピング部２２０は、トーンカーブメモリ２１９に記録されているトーンカーブに基づいて、加重積和部２１７からの輝度値Ｌｌ’(nl)(p)の階調を圧縮（補正）し、階調補正により得られた輝度値Lcl(nl)(p)をコントラスト補正部２２２に供給する。マッピング部２２１は、トーンカーブメモリ２１９に記録されているトーンカーブに基づいて、非線形変換部１８２からの輝度値L(nl)(p)の階調を圧縮（補正）し、階調補正により得られた輝度値Lc(nl)(p)をコントラスト補正部２２２に供給する。
【００９４】
コントラスト補正部２２２は、マッピング部２２０からの輝度値Lcl(nl)(p)、マッピング部２２１からの輝度値Lc(nl)(p)、およびトーンカーブメモリ２１９に記録されているトーンカーブに基づいて、階調が圧縮された輝度値Lc(nl)(p)からなる輝度画像のコントラストを補正する。また、コントラスト補正部２２２は、コントラストの補正された輝度値Lu(nl)(p)を階調補正部１８５に供給する。
【００９５】
すなわち、輝度階調補正部１８３は、２ステップ構成の輝度階調補正処理を行う構成となっている。この構成では、第１ステップの処理が、輝度域情報算出部２１１、ブロックヒストグラム算出部２１３、およびブロック積分値算出部２１５により行われ、その計算結果である中間データが、輝度域情報メモリ２１２、ブロックヒストグラムメモリ２１４、およびブロック積分値メモリ２１６にそれぞれ格納される。
【００９６】
また、第２のステップの処理として、ブロックヒストグラムメモリ２１４およびブロック積分値メモリ２１６から中間データが読み出され、その中間データに対して加重積和部２１７により補間処理が行われる。そして、補間処理後の出力値が用いられて、マッピング部２２０およびマッピング部２２１、並びにコントラスト補正部２２２により階調が調整される。このとき、マッピング部２２０およびマッピング部２２１、並びにコントラスト補正部２２２で用いられるトーンカーブは、輝度域情報メモリ２１２の値を用いてトーンカーブ算出部２１８により算出され、トーンカーブメモリ２１９に格納されている。
【００９７】
さらに、図７の構成においては、加重積和部２１７において、中間データに対して補間処理が行われた画像と、第２のステップの画像とが、第１のステップの画像と第２のステップの画像の変化（差分）に応じて混合されてトーンカーブ算出部２１８およびマッピング部２２０に出力される。これにより、トーンカーブ算出部２１８以降の処理において、計算精度の劣化が抑制される。
【００９８】
[加重積和部の構成例]
図８は、図７の加重積和部２１７の機能の構成例を示すブロック図である。加重積和部２１７は、補間部２３３、補間部２３４、空間重み関数保持部２３５、積和部２３６、積和部２３７、輝度重み関数保持部２３８、除算部２３９、およびフィルタ効果調整処理部２４０から構成される。
【００９９】
ブロックヒストグラムメモリ２１４およびブロック積分値メモリ２１６には、第１のステップの処理結果として、画像の特徴量を３次元（空間の次元とレベルの次元）で疎に標本化した値（代表値）が格納されている。この加重積和部２１７においては、第２のステップの処理として、ブロックヒストグラムメモリ２１４およびブロック積分値メモリ２１６に格納された疎な代表値に対して、補間フィルタにより補間伸長して、入力画像と同じ画素数の密な信号を得ることが目的とされる。ここで、補間フィルタとしては、式（１）で示されたバイテラルフィルタが用いられる。
【０１００】
非線形変換部１８２からの輝度値L(nl)(p)の画素、つまり処理対象画素の位置は、それぞれ、補間部２３３および補間部２３４に供給される。補間部２３３および補間部２３４は、パラメータとして、空間重み関数保持部２３５に保持されている空間重み関数ルックアップテーブルと、非線形変換部１８２からの入力画像の位置情報を用いて、空間次元の補間伸長処理をそれぞれ行う。
【０１０１】
具体的には、補間部２３３は、輝度画像上における非線形変換部１８２から供給された輝度値L(nl)(p)の画素、つまり処理対象画素の位置に対する、輝度ブロックの輝度範囲の中央値ごとの補間されたブロック積分値を求めて輝度積分値とし、積和部２３６に供給する。すなわち、輝度ブロック内の画素の取り得る輝度値の範囲の中央値をλとすると、補間部２３３は、処理対象画素の空間方向近傍の４×４個の空間ブロックから分割された各輝度ブロックのうち、中央値がλである１６個の輝度ブロックのブロック積分値のそれぞれに対して補間係数を乗算し、補間係数が乗算されたブロック積分値の和を求めることで、中央値λに対する輝度積分値を求める。
【０１０２】
換言すれば、補間部２３３は、処理対象画素近傍の輝度ブロックのブロック積分値を用いた補間処理を行うことにより、各中央値λに対する輝度積分値を求める。これにより、中央値λごとのＤ個の輝度積分値が求められることになる。なお、各ブロック積分値に乗算される補間係数は、処理対象画素の位置と、その処理対象画素近傍の空間ブロックとの相対位置関係に基づいて、空間重み関数保持部２３５に保持されている空間重み関数ルックアップテーブルから読み出される。
【０１０３】
同様に、補間部２３４は、輝度画像上における非線形変換部１８２から供給された輝度値L(nl)(p)の画素、つまり処理対象画素の位置に対する、輝度ブロックの輝度範囲の中央値ごとの補間されたブロックヒストグラムを求めて輝度ヒストグラムとし、積和部２３７に供給する。すなわち、補間部２３４は、処理対象画素の空間方向近傍の４×４個の空間ブロックから分割された各輝度ブロックのうち、中央値がλである１６個の輝度ブロックのブロックヒストグラムのそれぞれに対して補間係数を乗算し、補間係数が乗算されたブロックヒストグラムの和を求めることで、中央値λに対する輝度ヒストグラムを求める。
【０１０４】
換言すれば、補間部２３４は、処理対象画素近傍の輝度ブロックのブロックヒストグラムを用いた補間処理を行うことにより、各中央値λに対する輝度ヒストグラムを求める。これにより、中央値λごとのＤ個の輝度ヒストグラムが求められることになる。なお、各ブロックヒストグラムに乗算される補間係数は、処理対象画素の位置と、その処理対象画素近傍の空間ブロックとの相対位置関係に基づいて、空間重み関数保持部２３５に保持されている空間重み関数ルックアップテーブルから読み出される。
【０１０５】
積和部２３６および積和部２３７は、パラメータとして、輝度重み関数保持部２３８に保持されている輝度重み関数ルックアップテーブルと、非線形変換部１８２からの輝度値L(nl)(p)を用いて、レベル次元の補間伸長処理を行う。
【０１０６】
具体的には、積和部２３６は、補間部２３３から供給されたＤ個の輝度積分値に対して、輝度加重値を積和する計算を行い、積和された輝度積分値を除算部２３９に供給する。すなわち、輝度加重値の乗算された輝度積分値の和が求められる。ここで、輝度積分値に乗算される輝度加重値は、非線形変換部１８２から積和部２３６に供給された輝度値L(nl)(p)と、中央値λとに基づいて、輝度重み関数保持部２３８に保持されている輝度重み関数ルックアップテーブルの輝度重み関数から算出される。
【０１０７】
同様に、積和部２３７は、補間部２３４から供給されたＤ個の輝度ヒストグラムに対して、輝度加重値を積和する計算を行い、積和された輝度ヒストグラムを除算部２３９に供給する。すなわち、輝度加重値の乗算された輝度ヒストグラムの和が求められる。ここで、輝度ヒストグラムに乗算される輝度加重値は、非線形変換部１８２から積和部２３７に供給された輝度値L(nl)(p)と、中央値λとに基づいて、輝度重み関数保持部２３８に保持されている輝度重み関数ルックアップテーブルの輝度重み関数から算出される。
【０１０８】
除算部２３９は、積和部２３６からの輝度積和値を、積和部２３７からの輝度ヒストグラムで除算することにより、処理対象画素の大局輝度値Ll(nl)(p)を算出して、フィルタ効果調整処理部２４０に供給する。
【０１０９】
ここで、バイテラルフィルタの誤差拡大による処理の破綻は、除算部２３９からの出力が意図しない値となることによって発生する。すなわち、除算部２３９では、上述した式（１）による計算が行われる。したがって、例えば、式（１）の右辺の分母であるブロックヒストグラムの補間値が０になった場合には、除算部２３９の値が不定になる。また、フラッシュ発光などで画像の輝度が極端に変化した場合には、バイテラルフィルタの出力値がその輝度変化に追従することができず、それによって、意図しない大局輝度値（例えば、前のフレームの輝度値）が除算部２３９から出力されてしまう。
【０１１０】
これに対応して、フィルタ効果調整処理部２４０は、バイテラルフィルタの出力値である除算部２３９からの大局輝度値Ll(nl)(p)と、非線形変換部１８２からフィルタ効果調整処理部２４０に供給された輝度値L(nl)(p)とをフィルタ効果調整量に応じて混合する。
【０１１１】
例えば、処理対象のフレームに対する、その時間的に１つ前のフレームの変化量が大きい場合、除算部２３９からの大局輝度値Ll(nl)(p)の出力割合が、輝度値L(nl)(p)の出力割合よりも小さくなるように、それらの輝度値が混合される。反対に、処理対象のフレームに対する、その時間的に１つ前のフレームの変化量が小さい場合、除算部２３９からの大局輝度値Ll(nl)(p)の出力割合が、輝度値L(nl)(p)の出力割合よりも大きくなるように、それらの輝度値が混合される。
【０１１２】
フィルタ効果調整処理部２４０は、混合した輝度値を、大局輝度値Ll’(nl)(p)として、トーンカーブ算出部２１８およびマッピング部２２０に供給する。
【０１１３】
なお、このフィルタ効果調整量は、例えば、図５のCPU１２２により決定され、供給される。
【０１１４】
図９は、図８のフィルタ効果調整処理部２４０の機能の構成例を示すブロック図である。
【０１１５】
図９のフィルタ効果調整処理部２４０は、減算部２６１、乗算部２６２、および加算部２６３により構成されている。
【０１１６】
バイテラルフィルタの出力値である除算部２３９からの大局輝度値Ll(nl)(p)は、減算部２６１に入力される。非線形変換部１８２からの輝度値L(nl)(p)は、減算部２６１および加算部２６３に入力される。
【０１１７】
減算部２６１は、除算部２３９からの輝度値Ll(nl)(p)と、非線形変換部１８２からの輝度値L(nl)(p)との差分の輝度値を、乗算部２６２に出力する。乗算部２６２には、例えば、図５のCPU１２２から供給されるフィルタ効果調整量（例えば、0乃至1.0）を、乗算部２６２からの差分の輝度値に乗算し、乗算した結果の輝度値を、加算部２６３に出力する。
【０１１８】
加算部２６３は、乗算部２６２からの輝度値に、非線形変換部１８２からの輝度値L(nl)(p)を加算し、加算した結果である輝度値を、大局輝度値Ll’(nl)(p)として、後段のトーンカーブ算出部２１８およびマッピング部２２０に出力する。
【０１１９】
すなわち、図９の例においては、供給されるフィルタ効果調整量が0の場合、非線形変換部１８２からの輝度値L(nl)(p)が、大局輝度値Ll’(nl)(p)として、後段のトーンカーブ算出部２１８およびマッピング部２２０に出力される。一方、供給されるフィルタ効果調整量が1の場合、除算部２３９からの輝度値Ll(nl)(p)が、大局輝度値Ll’(nl)(p)として、後段のトーンカーブ算出部２１８およびマッピング部２２０に出力される
【０１２０】
［画像処理の例］
次に、図１０のフローチャートを参照して、図４のデジタルカメラ１０１における画像処理について説明する。なお、この処理は、例えば、デジタルビデオカメラ１０１による撮影が開始され、A/Dコンバータ１１５からDSP１１６への画像データ（モザイク画像）のストリームの供給が開始されたときに開始される。また、DSP１１６に供給された画像データは、逐次DSP１１６の図示せぬ内部のメモリに格納される。
【０１２１】
ステップＳ１１１において、ホワイトバランス処理部１５１は、モザイク画像を読み込む。具体的には、ホワイトバランス処理部１５１は、DSP１１６の図示せぬ内部のメモリに格納されている先頭のフレームのモザイク画像を読み込む。
【０１２２】
ステップＳ１１２において、ホワイトバランス処理部１５１は、取得したモザイク画像のホワイトバランスを調整し、デモザイク処理部１５２に供給する。
【０１２３】
ステップＳ１１３において、デモザイク処理部１５２は、デモザイク処理を行う。すなわち、デモザイク処理部１５２は、ホワイトバランス処理部１５１からのモザイク画像にデモザイク処理を施してＲＧＢ画像を生成し、階調補正処理部１５３に供給する。
【０１２４】
ステップＳ１１４において、階調補正処理部１５３は、階調補正処理を行い、デモザイク処理部１５２からのＲＧＢ画像の階調を補正する。このとき、階調補正処理部１５３は、処理対象となっているフレームの画像に対する、そのフレームの時間的に１つ前のフレームの画像の変化量に応じた割合で、１つ前のフレームの画像で作成された中間データに対して補間処理を行った結果の輝度値と、処理対象の輝度値を混合した輝度値に対して、階調補正処理を行う。そして、階調補正処理部１５３は、階調の補正されたＲＧＢ画像をガンマ補正処理部１５４に供給する。なお、階調補正処理の詳細は、図１１および図１２を参照して後述する。
【０１２５】
ステップＳ１１５において、ガンマ補正処理部１５４は、階調補正処理部１５３からのＲＧＢ画像にガンマ補正を施してYC変換処理部１５５に供給する。
【０１２６】
ステップＳ１１６において、YC変換処理部１５５は、ＹＣ変換処理を行う。例えば、YC変換処理部１５５は、ガンマ補正処理部１５４からのＲＧＢ画像に対してＹＣマトリックス処理およびクロマ成分に対する帯域制限を行うことにより、ＲＧＢ画像からＹ画像およびＣ画像を生成する。そして、ステップＳ１１７において、YC変換処理部１５５は、Ｙ画像およびＣ画像を出力する。例えば、YC変換処理部１５５は、必要に応じてＹ画像およびＣ画像をLCDドライバ１１８またはCODEC１２０に出力する。
【０１２７】
ステップＳ１１８において、ホワイトバランス処理部１５１は、後続するフレームが存在するか否かを判定する。例えば、DSP１１６の図示せぬ内部のメモリに後続するフレームのモザイク画像が蓄積されている場合、後続フレームが存在すると判定される。
【０１２８】
ステップＳ１１８において、後続するフレームが存在すると判定された場合、処理は、ステップＳ１１９に進む。ステップＳ１１９において、CPU１２２は、フィルタ効果調整量を決定し、決定したフィルタ効果調整量を、図８のフィルタ効果調整処理部２４０に供給する。
【０１２９】
すなわち、CPU１２２は、図５のフラッシュ１２５の制御値や、ジャイロセンサ１２４からの検出情報、または、DSP１１６からフレームを取得して、動き探索などを行うことにより、フィルタ効果調整量(0乃至1.0)を決定する。
【０１３０】
例えば、フィルタ効果調整量を0に設定すると、入力の輝度値がそのまま出力されるようになり、バイテラルフィルタ（中間データと第２のステップの画像）の誤差による破綻が防止される。反対に、フィルタ効果調整量を1.0に設定すると、バイテラルフィルタ出力がそのまま出力され、バイテラルフィルタを用いた処理が行われる。
【０１３１】
したがって、CPU１２２は、次のような変化を検出した場合、いま処理をしていた直前のフレームと、そのフレームの時間的に１つ前のフレームに急激な変化があるとして、フィルタ効果調整量を小さい値に決定する。
【０１３２】
例えば、図５のフラッシュ１２５の発光を制御した場合、それらのフレーム間に急激な輝度値の変化があるとして、フィルタ効果調整量が小さい値に決定される。または、ジャイロセンサ１２４からの検出情報を積分することにより、大きな手振れが生じたと判定された場合、それらのフレーム間に急激な画角の変化があるとして、フィルタ効果調整量が小さい値に決定される。
【０１３３】
さらに、例えば、それらの２つのフレームの画像データをDSP１１６から取得し、取得したフレーム間において動き探索などを行い、直前のフレームにおいて大きく早く動く物体などが横切ったと検出された場合、フレーム間に急激な輝度の変化があるとして、フィルタ効果調整量が小さい値に決定される。なお、動き探索には、専用のCPUを用いるようにしてもよい。また、フラッシュ１２５発光の検出を行うことで、輝度値の変化を検出するようにしてもよい。
【０１３４】
以上のように、フレーム間の変化の大きさに応じて、フィルタ効果調整量を決定することにより、例えば、急激に画像が変化したような場合に生じる画像の破綻を抑制することができる。
【０１３５】
ステップＳ１１９の後、処理は、ステップＳ１１１に戻り、処理対象となる次のフレームのモザイク画像が読み込まれる。これに対して、ステップＳ１１８において、後続するフレームが存在しないと判定された場合、画像処理は終了する。
【０１３６】
［階調補正処理の例］
次に、図１１および図１２のフローチャートを参照して、図１０のステップＳ１１４の処理に対応する階調補正処理について説明する。
【０１３７】
ステップＳ１４１において、加重積和部２１７およびトーンカーブ算出部２１８は、中間データを読み込む。すなわち、加重積和部２１７の補間部２３３は、ブロック積分値メモリ２１６から中間データとしてのブロック積分値を読み込み、加重積和部２１７の補間部２３４は、ブロックヒストグラムメモリ２１４から中間データとしてのブロックヒストグラムを読み込む。また、トーンカーブ算出部２１８は、輝度域情報メモリ２１２から中間データとしての輝度域情報を読み込む。
【０１３８】
ステップＳ１４２において、輝度域情報算出部２１１は、DSP１１６の図示せぬ内部のメモリからnoise Level(nl)およびsaturation Level(nl)を読み込む。
【０１３９】
ステップＳ１４３において、階調補正処理部１５３は、デモザイク処理部１５２から、ＲＧＢ画像の処理対象画素の画素値を読み込む。すなわち、非線形変換部１８４−１乃至非線形変換部１８４−３は、処理対象画素のＲ成分の画素値R w(p)、Ｇ成分の画素値G w(p)、およびＢ成分の画素値B w(p)を読み込み、輝度算出部１８１は、処理対象画素のＲ、Ｇ、およびＢの成分の画素値を読み込む。
【０１４０】
ステップＳ１４４において、輝度算出部１８１は、読み込んだ画素値に基づいて、処理対象画素の輝度値L(p)を算出し、非線形変換部１８２に供給する。例えば、輝度算出部１８１は、読み込んだＲ、Ｇ、およびＢの成分の画素値に所定の係数を乗算して線形和を求めて輝度値としたり、Ｒ、Ｇ、およびＢの成分の画素値のうちの最大値を輝度値としたりする。
【０１４１】
ステップＳ１４５において、非線形変換部１８２は、輝度算出部１８１からの輝度値L(p)を非線形変換し、変換により得られた輝度値L(nl)(p)を、輝度階調補正部１８３および階調補正部１８５に供給する。例えば、非線形変換部１８２は、１より小さい指数によるべき乗特性や対数特性など、上に凸の単調増加特性を有する関数を用いて輝度値L(p)を非線形変換する。
【０１４２】
ステップＳ１４６において、輝度階調補正部１８３および階調補正部１８５は、非線形変換部１８２から、処理対象画素の輝度値L(nl)(p)を読み込む。
【０１４３】
ステップＳ１４７において、輝度階調補正部１８３の輝度域情報算出部２１１は、輝度域情報算出のための画素処理を行う。輝度域情報算出のための画素処理において、これまでに供給された輝度画像の画素の輝度値と、非線形変換部１８２から読み込んだ輝度値L(nl)(p)とが比較され、ソーティングが行われる。
【０１４４】
ステップＳ１４８において、ブロックヒストグラム算出部２１３は、ブロックヒストグラム算出のための画素処理を行う。ブロックヒストグラム算出のための画素処理において、非線形変換部１８２から読み込んだ輝度値L(nl)(p)と処理対象画素の位置とに基づいて、処理対象画素が輝度ブロックに分類される。そして、輝度ブロックに対応するブロックヒストグラム算出部２１３の図示せぬカウンタの値がインクリメントされる。
【０１４５】
ステップＳ１４９において、ブロック積分値算出部２１５は、ブロック積分値算出のための画素処理を行う。このブロック積分値算出のための画素処理において、非線形変換部１８２から読み込んだ輝度値L(nl)(p)と処理対象画素の位置とに基づいて、処理対象画素が輝度ブロックに分類され、輝度ブロックに対応するブロック積分値に輝度値L(nl)(p)が加算される。
【０１４６】
ステップＳ１５０において、加重積和部２１７は、非線形変換部１８２からの輝度値L(nl)(p)を用いて、大局輝度値算出処理を行って、処理対象画素の大局輝度値Ll(nl)(p)を算出する。そして、加重積和部２１７は、算出された大局輝度値Ll(nl)(p)と、非線形変換部１８２からの輝度値L(nl)(p)とを、フィルタ効果調整量に応じて混合し、混合した輝度値を、大局輝度値Ll’(nl)(p)として、トーンカーブ算出部２１８およびマッピング部２２０に供給する。なお、大局輝度値算出処理の詳細は、図１４を参照して後述する。
【０１４７】
ステップＳ１５１において、トーンカーブ算出部２１８は、輝度域情報メモリ２１２から読み出した輝度域情報と、加重積和部２１７からの大局輝度値Ｌｌ’(nl)(p)とから、トーンカーブを求める。
【０１４８】
例えば、トーンカーブ算出部２１８は、図１３に示すトーンカーブのコントロールポイントを設定する。なお、図１３のグラフの横軸方向は、階調補正する前の入力輝度の対数値を表し、縦軸方向は、トーンカーブＣＬによる階調補正後の出力輝度の対数値を表している。
【０１４９】
まず、トーンカーブ算出部２１８は、９つのコントロールポイントＰ１乃至コントロールポイントＰ９を設定する。コントロールポイントＰ１は、入力輝度が所定の最小レベルとなり、出力輝度が所定の最小レベルLbase(nl)となるポイントに設定される。コントロールポイントＰ２は、入力輝度がノイズレベルであると見なすことができる輝度である所定のノイズレベルLnoise(nl)となり、出力輝度が最小レベルLbase(nl)となるポイントに設定される。コントロールポイントＰ３は、入力輝度がノイズレベルLnoise(nl)の２倍の輝度値となり、出力輝度が最小レベルLbase(nl)となるポイントに設定される。
【０１５０】
コントロールポイントＰ４は、入力輝度が、輝度域情報メモリ２１２からの輝度域情報としての暗輝度側の裾野値Ldark(nl)となり、出力輝度がほぼ黒レベルの輝度値である輝度値Lankle(nl)となるポイントに設定される。コントロールポイントＰ５は、入力輝度が裾野値Ldark(nl)の２倍の輝度値となり、出力輝度が輝度値Lankle(nl)の２倍の輝度値となるポイントに設定される。コントロールポイントＰ６は、入力輝度が加重積和部２１７からの大局輝度値Ｌｌ’(nl)(p)となり、出力輝度が出力輝度の輝度範囲における所定のほぼ中間の中間輝度レベルLmid(nl)となるポイントに設定される。すなわち、大局輝度値がトーンカーブにより階調補正された場合に、大局輝度値が、トーンカーブによる階調補正後の輝度値の取り得る範囲のほぼ中間の値に変換されるように、コントロールポイントＰ６が設定される。
【０１５１】
コントロールポイントＰ７は、入力輝度が明輝度側の裾野値Lbright(nl)の２分の１の輝度値となり、出力輝度がほぼ白レベルの輝度値である輝度値Lshoulder(nl)の２分の１の輝度値となるポイントに設定される。コントロールポイントＰ８は、入力輝度が、輝度域情報メモリ２１２からの輝度域情報としての裾野値Lbright(nl)となり、出力輝度が輝度値Lshoulder(nl)となるポイントに設定される。コントロールポイントＰ９は、入力輝度が所定の入力輝度の最大値となり、出力輝度が所定の出力輝度の最大値となるポイントに設定される。
【０１５２】
また、図１３において、コントロールポイントＰ５と、コントロールポイントＰ７とを結ぶ線分ＡＬの傾きは、トーンカーブＣＬの傾きを代表するγ-compパラメータを示している。
【０１５３】
処理対象画素ごとのトーンカーブＣＬの形状は、例えば、コントロールポイントＰ１乃至コントロールポイントＰ９に基づいて、各入力輝度値に対する出力輝度値（トーンカーブ値）をB-Spline補間処理により求めることにより定められる。
【０１５４】
なお、トーンカーブＣＬの形状は、どのような形式でトーンカーブメモリ２１９に保持されてもよい。但し、トーンカーブＣＬの形状は画素ごとに更新されるため、データ量が小さい形式で保持されることが望ましい。例えばトーンカーブの形状を数個乃至１０数個程度のコントロールポイントにより表現し、マッピング部２２０およびマッピング部２２１がそれらのコントロールポイントから、トーンカーブＣＬを算出することが妥当である。
【０１５５】
トーンカーブ算出部２１８は、設定したコントロールポイントＰ１乃至コントロールポイントＰ９の入力輝度および出力輝度のセットをトーンカーブメモリ２１９に記録させる。したがって、実際には、１フレーム分の輝度画像を処理する期間では、コントロールポイントＰ６の入力輝度だけが処理対象画素が変化するたびに更新されることになる。
【０１５６】
なお、コントロールポイントＰ３が補助点として設定されることにより、トーンカーブＣＬが確実にコントロールポイントＰ２またはその近傍を通過するようになる。すなわち、入力輝度がほぼノイズレベルLnoise(nl)である場合、出力輝度の最小レベルLbase(nl)にほぼ等しい値に階調変換されるようになる。また、コントロールポイントＰ５が補助点として設定されることにより、入力輝度がほぼ裾野値Ldark(nl)となり、出力輝度がほぼ黒レベルとなる輝度値Lankle(nl)となる付近（コントロールポイントP４付近）のトーンカーブＣＬの傾きが極端に急峻になったり緩やかになったりすることが防止される。また、コントロールポイントＰ７が補助点として設定されることにより、入力輝度がほぼ裾値Lbright(nl)となり、出力輝度がほぼ白レベルとなる輝度値Lshoulder(nl)付近（コント
ロールポイントＰ８付近）のトーンカーブＣＬの傾きが極端に急峻になったり緩やかになったりすることが防止される。
【０１５７】
したがって、トーンカーブＣＬは、コントロールポイントＰ６付近で傾きが緩やかになり、コントロールポイントＰ４およびＰ８付近で傾きがほぼ１に近くなる逆Ｓ字状の単調増加する曲線となる。つまり、トーンカーブＣＬは、大局輝度値Ll’(nl)(p)が高い場合には、輝度値の高い画素の明るさを抑えるものとなり、大局輝度値Ll’(nl)(p)が低い場合には、輝度値の低い画素の明るさを明るくするものとなる。これにより、トーンカーブＣＬによる階調圧縮およびコントラスト補正を組み合わせることにより、画像のディテールをほぼ保持したまま、白ツブレをほとんど発生させることなく、画像上の暗い部分が明るくなるように画像の階調の圧縮を行うことができる。
【０１５８】
図１１のフローチャートの説明に戻り、ステップＳ１５１において、トーンカーブの形状が求められ、トーンカーブの形状、より詳細にはコントロールポイントの入力輝度および出力輝度のセットがトーンカーブメモリ２１９に記録されると、処理はステップＳ１５２に進む。
【０１５９】
ステップＳ１５２において、マッピング部２２０は、加重積和部２１７から供給された大局輝度値Ll’(nl)(p)を、トーンカーブメモリ２１９に記録されているトーンカーブに基づいて補正し、コントラスト補正部２２２に供給する。すなわち、マッピング部２２０は、トーンカーブメモリ２１９に記録されているコントロールポイントを用いて、B-Spline補間処理によりトーンカーブを求め、求めたトーンカーブを用いて大局輝度値Ll’(nl)(p)を大局輝度値Lcl(nl)(p)に変換することにより、大局輝度値Ll’(nl)(p)の階調を補正する。
【０１６０】
ステップＳ１５３において、マッピング部２２１は、読み込んだ処理対象画素の輝度値L(nl)(p)を、トーンカーブメモリ２１９に記録されているトーンカーブに基づいて補正し、コントラスト補正部２２２に供給する。すなわち、マッピング部２２１は、トーンカーブメモリ２１９に記録されているコントロールポイントを用いて、B-Spline補間処理によりトーンカーブを求め、求めたトーンカーブを用いて、非線形変換部１８２からの輝度値L(nl)(p)を輝度値Lc(nl)(p)に変換することにより、輝度値L(nl)(p)の階調を補正する。
【０１６１】
ステップＳ１５４において、コントラスト補正部２２２は、コントラスト補正処理を行い、トーンカーブにより階調が補正され、コントラストが劣化した輝度値Lc(nl)(p)からなる輝度画像を元の画像と同程度のコントラストに補償する。コントラスト補正部２２２は、コントラスト補正された輝度値Lu(nl)(p)を階調補正部１８５に供給する。
【０１６２】
ステップＳ１５５において、非線形変換部１８４は、読み込んだ処理対象画素の画素値を非線形変換し、階調補正部１８５に供給する。すなわち、非線形変換部１８４−１乃至非線形変換部１８４−３は、ＲＧＢ画像の画素値Rw(p)、Gw(p)、およびBw(p)のそれぞれに対して、ステップＳ１４５の処理においてなされる非線形変換と同じ非線形変換を行う。
【０１６３】
ステップＳ１５６において、階調補正部１８５−１乃至階調補正部１８５−３は、非線形変換部１８２からの輝度値L(nl)(p)と、輝度階調補正部１８３からの輝度値Lu(nl)(p)とを用いて、非線形変換部１８４からの画素値を階調補正する。そして、階調補正部１８５は、階調補正された画素値を、非線形逆変換部１８６に供給する。
【０１６４】
例えば、階調補正部１８５は、輝度値L(nl)(p)と、階調補正された輝度値Lu(nl)(p)との比を各色の成分の画素値に乗算する。より具体的には、例えば、階調補正部１８５−１は、次式（２）を計算することにより、階調補正された画素値R u(nl)(p)を求める。
【０１６５】
【数２】
2011203814.tif 000004
【０１６６】
式（２）では、階調補正前後の輝度値の比率、つまり階調補正された輝度値Lu(nl)(p)を階調補正前の輝度値L(nl)(p)で除算した値が、非線形変換された画素値R(nl)(p)に対して乗算されている。階調補正部１８５−２および階調補正部１８５−３においても、上述した式（２）と同様の計算が行われ、画素値が階調補正される。
【０１６７】
なお、非線形変換部１８２および非線形変換部１８４において行われる非線形変換が、対数変換である場合には、式（３）に示す計算を行うことにより、画素値が階調補正されてもよい。
【０１６８】
【数３】
2011203814.tif 000005
【０１６９】
式（３）では、階調補正された輝度値Lu(nl)(p)と、階調補正前の輝度値L(nl)(p)との差分値が、画素値R(nl)(p)に加算されて、階調補正された画素値R u(nl)(p)とされている。
【０１７０】
ステップＳ１５７において、非線形逆変換部１８６−１乃至非線形逆変換部１８６−３は、階調補正部１８５からの画素値に、非線形変換部１８４による非線形変換の逆変換となる非線形逆変換を施す。そして、ステップＳ１５８において、非線形逆変換部１８６−１乃至非線形逆変換部１８６−３は、非線形逆変換により得られた画素値Ru(p)、Gu(p)、およびBu(p)を、ガンマ補正処理部１５４に出力する。
【０１７１】
ステップＳ１５９において、階調補正処理部１５３は、処理対象となっているフレームのＲＧＢ画像上の全ての画素を処理したか否かを判定する。ステップＳ１５９において、まだ全ての画素を処理していない、つまり全ての画素が処理対象画素とされていないと判定された場合、処理はステップＳ１４３に戻り、上述した処理が繰り返される。
【０１７２】
これに対して、ステップＳ１５９において、全ての画素が処理されたと判定された場合、ステップＳ１６０において、輝度域情報算出部２１１（図７）は、輝度域情報を求める。すなわち、輝度域情報算出部２１１は、非線形変換部１８２から供給された輝度値L(nl)(p)からなる１フレーム分の輝度画像の画素の輝度値のヒストグラムにおける暗輝度側および明輝度側の裾野の輝度値である裾野値を求め、それらの裾野値を輝度域情報として輝度域情報メモリ２１２に供給し、記録させる。
【０１７３】
ステップＳ１６１において、ブロックヒストグラム算出部２１３は、ブロックヒストグラムを求める。すなわち、ブロックヒストグラム算出部２１３は、輝度画像を分割して得られる各輝度ブロックの画素の頻度値を求め、それらの頻度値をブロックヒストグラムとして、ブロックヒストグラムメモリ２１４に供給し、記録させる。
【０１７４】
ステップＳ１６２において、ブロック積分値算出部２１５は、ブロック積分値を求め、階調補正処理は終了し、処理は図１０のステップＳ１１５に進む。すなわち、ブロック積分値算出部２１５は、非線形変換部１８２から供給された輝度値L(nl)(p)からなる１フレーム分の輝度画像から、各輝度ブロックについて、輝度ブロックに属す画素の輝度値の積分値（総和）を算出し、算出された積分値をブロック積分値としてブロック積分値メモリ２１６に供給し、記録させる。
【０１７５】
このように、階調補正処理においては、１フレーム分の輝度画像に基づいて、代表値である中間データが求められる。そして、中間データが求められると、中間データとしての輝度域情報、ブロックヒストグラム、およびブロック積分値が輝度域情報メモリ２１２、ブロックヒストグラムメモリ２１４、およびブロック積分値メモリ２１６に格納される。
【０１７６】
輝度階調補正部１８３では、現在処理しているフレームよりも時間的に１つ前のフレームから求められた中間データが用いられて処理対象画素の大局輝度値やトーンカーブが算出されるため（エッジ保存平滑化処理が行われるため）、処理対象の画像が動画像であっても、画像の全画素を２回スキャンすることなく、少ないワーキングメモリで、大きいオペレータサイズのエッジ保存平滑化処理を行うことができる。
【０１７７】
その際に、現在処理しているフレームと、そのフレームよりも時間的に１つ前のフレームとの変化の大きさに応じた出力割合で、中間データが用いられて作成された大局輝度値と、現在のフレームの輝度値を混合するようにした。
【０１７８】
例えば、中間データが用いられて作成された大局輝度値のフィルタ効果調整量を1.0に設定すると、バイテラルフィルタ出力がそのまま出力され、バイテラルフィルタを用いた処理を行うことができる。反対に、中間データが用いられて作成された大局輝度値の出力割合を0に設定すると、入力の輝度値がそのまま出力されるようになり、バイテラルフィルタ（中間データと第２のステップの画像）の誤差による破綻を抑制することができる。
【０１７９】
以上により、複数ステップで構成される階調補正処理において、ステップ間で画像が異なる場合でも、画質の劣化（HALOや階調不良）を防ぐことができる。これにより、動画像の処理時の画質が改善される。また、静止画像の処理時に、処理時間を増大させることなく、画質を改善することができる。
【０１８０】
さらに、複数ステップで構成される階調補正処理において、ステップ間で画像が大きく異なる場合には、画像の破綻を抑制することができる。
【０１８１】
［大局輝度値算出処理の例］
次に、図１４のフローチャートを参照して、図１１のステップＳ１５０の大局輝度値算出処理について説明する。
【０１８２】
ステップＳ２１１において、加重積和部２１７の補間部２３３、補間部２３４、積和部２３６、積和部２３７、およびフィルタ効果調整処理部２４０は、非線形変換部１８２からの処理対象画素の輝度値L(nl)(p)を読み込む。
【０１８３】
ステップＳ２１２において、補間部２３３は、非線形変換部１８２からの輝度値L(nl)(p)の処理対象画素近傍の空間ブロックから得られる輝度ブロックのブロック積分値に対して補間処理を行って、処理対象画素の位置の中央値λごとの輝度積分値を求める。
【０１８４】
すなわち、補間部２３３は、処理対象画素の空間方向近傍（処理対象画素が含まれる空間ブロックも含む）の４×４の合計１６個の空間ブロックのそれぞれを、空間ブロックＢＫi,j（但し、１≦ｉ≦４，１≦ｊ≦４）として、空間ブロックＢＫi,jごとの補間係数Ｂi,jを読み出す。例えば、空間重み関数保持部２３５には、３次B-spline関数の関数値のルックアップテーブルが保持されている。補間部２３３は、処理対象画素の位置と、空間ブロックＢＫi,jとの相対位置関係により定まる関数値を、空間重み関数保持部２３５のルックアップテーブルから読み出し、読み出した関数値を空間ブロックＢＫi,jの補間係数Ｂi,jとする。なお、補間部２３３が３次B-spline関数などから直接、演算により補間係数Ｂi,jを算出するようにしてもよい。
【０１８５】
次に、補間部２３３は、空間ブロックから得られるＤ個の輝度ブロックのそれぞれの輝度範囲の中央値をλ１乃至λＤとするとともに、空間ブロックＢＫi,jから得られるＤ個の輝度ブロックのうち、中央値がλｈ（但し、１≦ｈ≦Ｄ）である輝度ブロックを輝度ブロックＬＢＫi,j,hとする。そして、補間部２３３は、ブロック積分値メモリ２１６から、各輝度ブロックＬＢＫi,j,hのブロック積分値Ｓ（ｉ，ｊ,λｈ）を読み出す。なお、以下、中央値λ１乃至中央値λＤのそれぞれを特に区別する必要のない場合、単に中央値λとも称する。
【０１８６】
さらに、補間部２３３は、中央値λごとに、読み出した補間係数Ｂi,jと、ブロック積分値Ｓ（ｉ，ｊ,λ）との積の総和を計算し、その結果得られた値を、中央値λの輝度積分値Ｓinterpolated（λ）とする。すなわち、補間部２３３は、次式（４）を計算することにより、中央値λごとに輝度積分値Ｓinterpolated（λ）を求める。
【０１８７】
【数４】
2011203814.tif 000006
【０１８８】
ここで、式（４）において、Σは、変数ｉおよびｊを、それぞれ１から４まで変えて、補間係数Ｂi,jが乗算されたブロック積分値Ｓ（ｉ，ｊ,λ）の総和をとることを表している。したがって、輝度積分値Ｓinterpolated（λ）は、１６個の空間ブロックＢＫi,jのそれぞれから得られる輝度ブロックのうち、中央値がλである１６個の輝度ブロックのブロック積分値Ｓ（ｉ，ｊ,λ）のそれぞれに、それらの輝度ブロックが得られる空間ブロックＢＫi,jについての補間係数Ｂi,jのそれぞれを乗算し、さらに補間係数が乗算された１６個のブロック積分値Ｂi,j×Ｓ（ｉ，ｊ,λ）の和を求めることで算出される。
【０１８９】
これにより、Ｄ個の輝度積分値Ｓinterpolated（λ）が求められる。これらの輝度積分値は、輝度ブロックに対応する輝度（中央値λ）ごとの、処理対象画素の位置の補間されたブロック積分値である。補間部２３３は、輝度積分値を求めると、求めた輝度積分値を積和部２３６に供給する。
【０１９０】
ステップＳ２１３において、補間部２３４は、非線形変換部１８２から輝度値L(nl)(p)の処理対象画素近傍の空間ブロックから得られる輝度ブロックのブロックヒストグラムに対して補間処理を行って、処理対象画素の中央値λごとの輝度ヒストグラムを求める。
【０１９１】
すなわち、補間部２３４は、ステップＳ２１３の処理と同様にして、処理対象画素の位置と、空間ブロックＢＫi,jとの相対位置関係により定まる関数値を、空間重み関数保持部２３５のルックアップテーブルから読み出し、読み出した関数値を空間ブロックＢＫi,jの補間係数Ｂi,jとする。
【０１９２】
そして、補間部２３４は、ブロックヒストグラムメモリ２１４から、各輝度ブロックＬＢＫi,j,hのブロックヒストグラムＨ（ｉ，ｊ,λ）を読み出す。さらに、補間部２３４は、中央値λごとに、読み出した補間係数Ｂi,jと、ブロックヒストグラムＨ（ｉ，ｊ,λ）との積の総和を計算し、その結果得られた値を、中央値λの輝度ヒストグラムＨinterpolated（λ）とする。すなわち、補間部２３４は、次式（５）を計算することにより、中央値λごとに輝度ヒストグラムＨinterpolated（λ）を求める。
【０１９３】
【数５】
2011203814.tif 000007
【０１９４】
ここで、式（５）の右辺は、式（４）の右辺のブロック積分値Ｓ（ｉ，ｊ,λ）がブロックヒストグラムＨ（ｉ，ｊ,λ）に置き換えられたものとなっている。
【０１９５】
これにより、Ｄ個の輝度ヒストグラムＨinterpolated（λ）が求められる。これらの輝度ヒストグラムは、輝度ブロックに対応する輝度（中央値λ）ごとの、処理対象画素の位置の補間されたブロックヒストグラムである。補間部２３４は、輝度ヒストグラムを求めると、求めた輝度ヒストグラムを積和部２３７に供給する。
【０１９６】
ステップＳ２１４において、積和部２３６は、補間部２３３から供給されたＤ個の輝度積分値を輝度加重値で積和し、積和された輝度積分値を除算部２３９に供給する。
【０１９７】
すなわち、積和部２３６は、輝度重み関数保持部２３８に保持されている輝度重み関数ルックアップテーブルから、輝度重み関数を読み出す。そして、積和部２３６は、読み出した輝度重み関数、非線形変換部１８２からの輝度値L(nl)(p)、および中央値λを用いて、中央値λごとの輝度加重値φ（λ，L(nl)(p)）を求める。
【０１９８】
例えば、輝度重み関数保持部２３８に保持されている輝度重み関数ルックアップテーブルには、図１５に示す形状の輝度重み関数が保持されている。なお、図１５において、縦軸は輝度重み関数の値、すなわち輝度加重値φ（λ，L(nl)(p)）を示しており、横軸は中央値λを示している。
【０１９９】
図１５に示す輝度重み関数は、処理対象画素の位置に補間された輝度積分値（および輝度ヒストグラム）の輝度ブロックに相当する輝度レベル、すなわち中央値λと、処理対象画素の輝度値L(nl)(p)との差分値が小さいほど、より大きい値を持つ単峰性形状の関数とされる。
【０２００】
このような単峰性形状の輝度重み関数が用いられる場合、例えば、積和部２３６は、輝度重み関数保持部２３８に保持された輝度重み関数ルックアップテーブルを参照する代わりに、次式（６）を計算することにより、中央値λごとに輝度加重値φ（λ，L(nl)(p)）を求めるようにしてもよい。
【０２０１】
【数６】
2011203814.tif 000008
【０２０２】
ここで、式（６）において、σｔｈは、輝度重み関数の裾野の広がりの大きさを決める定数であり、予め定められている。積和部２３６は、式（６）の右辺に輝度値L(nl)(p)および中央値λを代入することで、各中央値λに対する輝度加重値φ（λ，L(nl)(p)）を求める。
【０２０３】
式（６）に示される輝度重み関数では、処理対象画素の輝度値L(nl)(p)に近い値の中央値λ（輝度ブロック）に対しては、大きな重み値がつけられ、輝度値L(nl)(p)から離れた中央値λ（輝度ブロック）に対しては小さな重み値がつけられる。
【０２０４】
積和部２３６は、中央値λごとに輝度加重値φ（λ，L(nl)(p)）を求めると、各中央値λについて、輝度積分値Ｓinterpolated（λ）に、その中央値λの輝度加重値φ（λ，L(nl)(p)）を乗算し、輝度加重値の乗算された輝度積分値の総和を求める。すなわち、各中央値λの輝度加重値での輝度積分値Ｓinterpolated（λ）の加重和が求められる。
【０２０５】
この加重和は、処理対象画素の位置と、輝度ブロックが得られる空間ブロックの位置との相対位置関係から定まる補間係数、および輝度ブロック（の中央値λ）と輝度値L(nl)(p)との輝度方向の距離により定まる輝度加重値が乗算された、処理対象画素の位置近傍の１６個の空間ブロックから得られる全ての輝度ブロックのブロック積分値の総和である。
【０２０６】
ステップＳ２１５において、積和部２３７は、補間部２３４から供給されたＤ個の輝度ヒストグラムを輝度加重値で積和し、積和された輝度ヒストグラムを除算部２３９に供給する。
【０２０７】
すなわち、積和部２３７は、輝度重み関数保持部２３８に保持されている輝度重み関数ルックアップテーブルから輝度重み関数を読み出し、読み出した輝度重み関数、非線形変換部１８２から供給された輝度値L(nl)(p)、および中央値λを用いて、例えば、式（６）を計算することにより、中央値λごとの輝度加重値φ（λ，L(nl)(p)）を求める。
【０２０８】
さらに、積和部２３７は、輝度ヒストグラムＨinterpolated（λ）に、中央値λごとの輝度加重値φ（λ，L(nl)(p)）を乗算し、輝度加重値の乗算された輝度ヒストグラムの総和を求める。すなわち、各中央値λの輝度加重値での輝度ヒストグラムＨinterpolated（λ）の加重和が求められる。
【０２０９】
この加重和は、処理対象画素の位置と、輝度ブロックが得られる空間ブロックの位置との相対位置関係から定まる補間係数、および輝度ブロック（の中央値λ）と輝度値L(nl)(p)との輝度方向の距離により定まる輝度加重値が乗算された、処理対象画素の位置近傍の１６個の空間ブロックから得られる全ての輝度ブロックのブロックヒストグラムの総和である。
【０２１０】
ステップＳ２１６において、除算部２３９は、積和部２３６からの輝度積分値を、積和部２３７からの輝度ヒストグラムで除算し、大局輝度値Ll(nl)(p)を求める。すなわち、除算部２３９は、次式（７）を計算することで大局輝度値Ll(nl)(p)を算出する。
【０２１１】
【数７】
2011203814.tif 000009
【０２１２】
ここで、式（７）において、ΣＳinterpolated（λ）・φ（λ，L(nl)(p)）は、積和部２３６から供給される積和された輝度積分値を示しており、ΣＨinterpolated（λ）・φ（λ，L(nl)(p)）は、積和部２３７から供給される積和された輝度ヒストグラムを示している。
【０２１３】
したがって、ブロック積分値を補間係数および輝度加重値で重み付き加算して得られた加重和を、ブロックヒストグラムを補間係数および輝度加重値で重み付き加算して得られた加重和で除算することにより、ブロック積分値の加重平均の値が求まり、その値が大局輝度値Ll(nl)(p)とされる。除算部２３９により求められた大局輝度値Ll(nl)(p)は、フィルタ効果調整処理部２４０に供給される。
【０２１４】
ステップＳ２１７において、フィルタ効果調整処理部２４０は、CPU１２２からのフィルタ効果調整量に応じて、除算部２３９からの大局輝度値Ll(nl)(p)と非線形変換部１８２からの輝度値L(nl)(p)を混合する。
【０２１５】
ステップＳ２１８において、フィルタ効果調整処理部２４０は、混合した結果の輝度値を、大局輝度値Ll’(nl)(p)として、トーンカーブ算出部２１８およびマッピング部２２０に出力する。大局輝度値が出力されると、大局輝度値算出処理は終了し、その後、処理は図１１のステップＳ１５１に進む。
【０２１６】
このようにして、加重積和部２１７は、処理対象画素近傍の空間ブロックから得られる輝度ブロックのブロック積分値およびブロックヒストグラムから大局輝度値を求める。
【０２１７】
ブロック積分値は、空間ブロックごとに、近い輝度値を持った画素を同じ輝度ブロックに属す画素とし、輝度ブロックごとに画素の輝度値を積分して得られる値である。また、ブロックヒストグラムは、各輝度ブロックに属す画素数を示す頻度値である。したがって、処理対象画素の輝度値に近い輝度レベルの輝度ブロックに重みをおいて、輝度ブロックの特性を示す特性値、例えば輝度ブロックのブロック積分値の積和を行うことにより、処理対象画素近傍の空間ブロック内の画素のうち、輝度値が処理対象画素に近い画素の輝度値の積分結果を得ることになる。
【０２１８】
その結果、例えば、処理対象画素近傍の１６個の空間ブロックといった、広範囲な領域内の画素の輝度値を積分しても、処理対象画素とは異なる明るさである、処理対象画素の属す被写体（処理対象画素により表示される被写体）とは、別の被写体の画素による影響は少なく、処理対象画素が属す被写体の平均輝度値を示す大局輝度値を算出することができる。
【０２１９】
さらに、その際、算出された大局輝度値と現在の入力輝度値とが、時間的に１つ前のフレームと現在のフレームの変化に応じて混合されて出力されるので、加重積和部２１７より後段でのレベル次元および空間次元の補間の誤差などを抑制することができる。
【０２２０】
なお、上記説明においては、フィルタ効果調整量を、加重積和部２１７の外部（すなわち、図５のCPU１２２）から受け取るようにしたが、次に、加重積和部２１７が、フィルタの計算精度に応じてフィルタ効果を調整する例を説明する。
【０２２１】
[加重積和部の他の構成例]
図１６は、図７の加重積和部２１７の機能の他の構成例を示す図である。図１６の加重積和部２１７は、補間部２３３、補間部２３４、空間重み関数保持部２３５、積和部２３６、積和部２３７、輝度重み関数保持部２３８、除算部２３９、およびフィルタ効果調整処理部２４０を備えている点が、図８の加重積和部２１７と共通している。図２１の加重積和部２１７は、フィルタ精度判定部３０１が追加されている点のみが、図８の加重積和部２１７と異なっている。
【０２２２】
すなわち、図８の場合と異なって、積和部２３７からの積和された輝度ヒストグラムは、フィルタ精度判定部３０１にも供給される。この積和された輝度ヒストグラムは、上述した式（１）の分母に相当する。
【０２２３】
フィルタ精度判定部３０１は、積和された輝度ヒストグラムの値に応じて、フィルタ効果調整量を決定する。すなわち、フィルタ精度判定部３０１は、例えば、図１７に示されるようなフィルタ効果調整量と積和された輝度ヒストグラムの値の対応関係を示すグラフを有している。
【０２２４】
図１０のグラフにおいては、縦軸がフィルタ効果調整量の値（0乃至1.0）を表し、横軸が積和部２３７からの積和された輝度ヒストグラムの値（0乃至ヒストグラムが取り得るMAXの値）を表している。
【０２２５】
図１７の対応関係を見ると、積和された輝度ヒストグラムが小さいほど、フィルタ効果調整量が小さくなり、積和された輝度ヒストグラムが大きいほど、フィルタ効果調整量が大きくなることがわかる。
【０２２６】
したがって、フィルタ精度判定部３０１は、積和された輝度ヒストグラムの値が小さいほど、フィルタ効果調整量を小さくするように決定し、決定したフィルタ効果調整量を、フィルタ効果調整処理部２４０に供給する。一方、積和された輝度ヒストグラムの値が大きいほど、フィルタ効果調整量を大きくするように決定し、決定したフィルタ効果調整量を、フィルタ効果調整処理部２４０に供給する。
【０２２７】
フィルタ効果調整処理部２４０は、バイテラルフィルタの出力値である除算部２３９からの大局輝度値Ll(nl)(p)と、非線形変換部１８２からフィルタ効果調整処理部２４０に供給された輝度値L(nl)(p)とを、フィルタ精度判定部３０１からのフィルタ効果調整量に応じて混合する。フィルタ効果調整処理部２４０は、混合した輝度値を、大局輝度値Ll’(nl)(p)として、トーンカーブ算出部２１８およびマッピング部２２０に供給する。
【０２２８】
次に、さらに具体的に、フィルタ精度判定部３０１のフィルタ精度判定処理について説明する。輝度階調補正部１８３で行われる２ステップ処理構成のバイラテラルフィルタの場合には、まず、ブロックヒストグラム算出部２１３およびブロック積分値算出部２１５において、第１のステップとして、次式（８）に示される標本化処理が行われる。
【数８】
2011203814.tif 000010
【０２２９】
式（８）において、Ｓｓｍｐ，Ｈｓｍpは、上述した式（１）の分母、分子の式を、それぞれ代表値（座標ｐｓ＝（ｘｓ、ｙｓ），レベルＩｓ）の周辺で標本化したもの、すなわち、代表値である中間データである。Ｓｓｍｐは、ブロックヒストグラムメモリ２１４に格納されるブロックヒストグラムに対応している。また、Ｈｓｍｐは、ブロック積分値メモリ２１６に格納されるブロック積分値に対応している。また、式（８）におけるサブスクリプトの１は、第１のステップの入力画像であることを表す。
【０２３０】
そして、補間部２３３乃至除算部２３９において、第２のステップとして、次式（９）に示される演算が行われる。
【数９】
2011203814.tif 000011
【０２３１】
第２のステップでのバイテラルフィルタの計算値は、第１のステップの標本化信号を補間して得られる。式（９）において、ωipt,φiptは、補間係数の関数であり、サブスクリプトの２は、第２のステップの入力画像であることを表す。
【０２３２】
式（９）の計算式は、固定小数の実装において、分母、すなわち、ブロックヒストグラムの補間値が小さくなるに従い、計算精度が低下してしまう。
【０２３３】
ブロックヒストグラムの補間値が小さくなる要因としては、画像中の輝度のエッジ部分や孤立点（小領域の輝度や黒点）などの他に、上述したように第１のステップの画像に対して、第２のステップの画像が大きく変化する場合も該当する。この場合の例については、図１８乃至図２１を参照して説明する。
【０２３４】
図１８の例においては、第１のステップと第２のステップにおいて入力信号が類似している（近い）場合の第１のステップの画像、第２のステップの画像、およびブロックヒストグラムＨｓｍｐ（Ｐ）が示されている。
【０２３５】
このブロックヒストグラムは、第１ステップの画像から計算された座標Ｐ周辺のブロックヒストグラムであり、横軸は、輝度（Ｉｓ）を表し、縦軸は度数を表している。
【０２３６】
図１８の例の場合、第１のステップの画像における座標Ｐの周辺の輝度値Ｉ１（Ｐ）は、０．３付近の頻度が高く、第２のステップの画像における座標Ｐの輝度値Ｉ２（Ｐ）は０．３である。座標Ｐにおいて第１のステップの画像と第２のステップの画像が類似しているため、第１のステップの画像から計算されたブロックヒストグラムにおいて、輝度値Ｉ２（Ｐ）＝０．３の度数は、大きい。
【０２３７】
図１９の例においては、画面内を動体が横切ったため、第１のステップと第２のステップにおいて入力信号が大きく異なる場合の第１のステップの画像、第２の画像、およびブロックヒストグラムＨｓｍｐ（Ｐ）が示されている。
【０２３８】
図１９の例の場合、第１のステップの画像における座標Ｐの周辺の輝度値Ｉ１（Ｐ）は、０．３付近の頻度が高く、第２のステップの画像における座標Ｐは、画面内を横切った動体である人の顔の位置となり、その輝度値Ｉ２（Ｐ）は３．４である。座標Ｐにおいて第１のステップの画像と第２のステップの画像が大きく異なるため、第１のステップの画像から計算されたブロックヒストグラムにおいて、輝度値Ｉ２（Ｐ）＝３．４の度数は、小さい。
【０２３９】
図２０の例においては、フラッシュ発光などにより画像の輝度が大きく変わったため、第１のステップと第２のステップにおいて入力信号が大きく異なる場合の第１のステップの画像、第２の画像、およびブロックヒストグラムＨｓｍｐ（Ｐ）が示されている。
【０２４０】
図２０の例の場合、第１のステップの画像における座標Ｐの周辺の輝度値Ｉ１（Ｐ）は、０．３付近の頻度が高く、第２のステップの画像が全体的に明るくなったことにより、第２のステップの画像における座標Ｐの輝度値Ｉ２（Ｐ）は３．４である。座標Ｐにおいて第１のステップの画像と第２のステップの画像が大きく異なるため、第１のステップの画像から計算されたブロックヒストグラムにおいて、輝度値Ｉ２（Ｐ）＝３．４の度数は、小さい。
【０２４１】
図２１の例においては、画像の画角が大きく変わったため、第１のステップと第２のステップにおいて入力信号が大きく異なる場合の第１のステップの画像、第２の画像、およびブロックヒストグラムＨｓｍｐ（Ｐ）が示されている。
【０２４２】
図２１の例の場合、第１のステップの画像における座標Ｐの周辺の輝度値Ｉ１（Ｐ）は、０．３付近の頻度が高く、第２のステップの画像がデジタルカメラ１０１が上を向いたなどにより画角が変わったことにより、第２のステップの画像における座標Ｐの輝度値Ｉ２（Ｐ）は３．４である。すなわち、第１のステップの画像における座標Ｐは、輝度の低い山周辺の位置であるが、第２のステップの画像における座標Ｐは、輝度の高い空周辺の位置となっている。座標Ｐにおいて第１のステップの画像と第２のステップの画像が大きく異なるため、第１のステップの画像から計算されたブロックヒストグラムにおいて、輝度値Ｉ２（Ｐ）＝３．４の度数は、小さい。
【０２４３】
以上のように、第１のステップの画像に対して、第２のステップの画像に大きな変化がある場合にも、ブロックヒストグラムＨｓｍｐ（Ｐ，Ｉ２）の値は、小さくなってしまう。この場合、上述したように、計算精度の低下に影響してしまう。
【０２４４】
したがって、フィルタ精度判定部３０１は、積和された輝度ヒストグラムが小さいほど、すなわち、第１のステップと第２のステップの画像間に大きな変化があるほど、フィルタ効果調整量を小さくするように決定する。
【０２４５】
これにより、計算精度の低下を抑制することができ、結果的に、画像の破綻を抑制することができる。
【０２４６】
なお、以上の説明は、フィルタ精度判定部３０１によるフィルタ精度判定処理について説明であるが、この精度判定処理は、CPU１２２により行われるようにすることも可能である。
【０２４７】
［画像処理の他の例］
次に、図２２のフローチャートを参照して、図１６の加重積和部２１７の場合のデジタルカメラ１０１における画像処理について説明する。なお、図２２のステップＳ３１１乃至Ｓ３１３は、図１０のステップＳ１１１乃至Ｓ１１３と基本的に同様の処理を行うので、その説明を省略する。
【０２４８】
図２２のステップＳ３１４において、階調補正処理部１５３は、階調補正処理を行い、デモザイク処理部１５２からのＲＧＢ画像の階調を補正する。このとき、階調補正処理部１５３は、処理対象となっているフレームの画像とそのフレームの時間的に１つ前のフレームの画像の変化に応じた出力割合（調整量）を求め、求めた出力割合で、１つ前のフレームの画像で作成された中間データに対して補間した結果の輝度値と処理対象の輝度値とを混合した輝度値に対して、階調補正処理を行う。そして、階調補正処理部１５３は、階調の補正されたＲＧＢ画像をガンマ補正処理部１５４に供給する。
【０２４９】
なお、階調補正処理の詳細は、図１１のステップＳ１５０の大局輝度値算出処理以外は、図１１および図１２を参照して上述した階調補正処理と同様の処理を行うので、その説明を省略する。処理が異なる、図１１のステップＳ１５０の大局輝度値算出処理については、図２３を参照して後述する。
【０２５０】
また、次のステップＳ３１５乃至Ｓ３１８は、図１０のステップＳ１１５乃至Ｓ１１８と基本的に同様の処理を行うので、その詳細な説明を省略する。
【０２５１】
すなわち、ステップＳ３１８において、ホワイトバランス処理部１５１は、後続するフレームが存在するか否かを判定する。例えば、DSP１１６の図示せぬ内部のメモリに後続するフレームのモザイク画像が蓄積されている場合、後続フレームが存在すると判定される。
【０２５２】
ステップＳ３１８において、後続するフレームが存在すると判定された場合、処理は、ステップＳ３１１に戻り、処理対象となる次のフレームのモザイク画像が読み込まれる。これに対して、ステップＳ３１８において、後続するフレームが存在しないと判定された場合、画像処理は終了する。
【０２５３】
［大局輝度値算出処理の例］
次に、図２３のフローチャートを参照して、図１１のステップＳ１５０の大局輝度値算出処理の他の例について説明する。すなわち、この大局輝度値算出処理は、図１６の加重積和部２１７により実行される処理である。
【０２５４】
なお、図２３のステップＳ３７１乃至Ｓ３７６、およびＳ３７８は、図１４のステップＳ２１１乃至Ｓ２１８と基本的に同様の処理を行うため、その説明は繰り返しになるので省略される。
【０２５５】
すなわち、ステップＳ３７５において積和部２３７により積和された輝度ヒストグラムは、除算部２３９だけでなく、フィルタ精度判定部３０１に供給される。
【０２５６】
ステップＳ３７７において、フィルタ精度判定部３０１は、積和部２３７からの積和された輝度ヒストグラムの大きさ、すなわち、第１のフレームに対する第２のフレームの変化の大きさに応じて、フィルタ精度調整量を決定する。フィルタ精度判定部３０１は、決定したフィルタ精度調整量を、フィルタ効果調整処理部２４０に供給する。
【０２５７】
ステップＳ３７８において、フィルタ効果調整処理部２４０は、フィルタ精度判定部３０１からのフィルタ効果調整量に応じて、除算部２３９からの大局輝度値Ll(nl)(p)と非線形変換部１８２からの輝度値L(nl)(p)を混合する。
【０２５８】
以上のように、現在処理しているフレームと、そのフレームよりも時間的に１つ前のフレームとの変化（差分）に応じて、１つ前のフレームを用いて生成され格納されている中間データが補間された輝度値と現在処理しているフレームの輝度値が混合されて、後段に出力される。
【０２５９】
これにより、フラッシュ光の影響を受けた場合、動体の影響を受けた場合など、ステップ間で画像が異なることに起因する画像の破綻が軽減、あるいは、抑制される。
【０２６０】
また、例えば、上述した影響を受けた場合に加えて、画像中の輝度のエッジ部分や、孤立点（小領域の輝点や黒点）など、バイテラルフィルタの計算精度低下に起因する画像の破綻が軽減、あるいは、抑制される。
【０２６１】
なお、上記説明においては、フィルタ効果調整処理部２４０において、除算部２３９からの輝度値と、非線形変換部１８２からの輝度値を、出力割合（フィルタ効果調整量）に応じて混合する例を説明した。ただし、それに限定されることなく、フィルタ効果調整処理部２４０を、除算部２３９からの輝度値と、非線形変換部１８２からの輝度値のどちらかを選択して出力するスイッチなどで構成するようにすることもできる。
【０２６２】
また、上記説明においては、階調補正を行うデジタルカメラの例を説明してきたが、本発明は、階調補正処理に限らず、バイテラルフィルタ処理を用いる画像処理装置にも適用することができる。
【０２６３】
なお、本発明は、上述した階調補正処理、およびバイテラルフィルタ処理などに限らず、例えば、２パスで処理され、１パス目と２パス目で異なる画像が入力される処理を行う画像処理装置や画像処理システムに適用することができる。
【０２６４】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
【０２６５】
［パーソナルコンピュータの構成例］
図２４は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０２６６】
コンピュータにおいて、CPU(Central Processing Unit)５０１、ROM(Read Only Memory)５０２、RAM(Random Access Memory)５０３は、バス５０４により相互に接続されている。
【０２６７】
バス５０４には、さらに、入出力インタフェース５０５が接続されている。入出力インタフェース５０５には、入力部５０６、出力部５０７、記憶部５０８、通信部５０９、およびドライブ５１０が接続されている。
【０２６８】
入力部５０６は、キーボード、マウス、マイクロホンなどよりなる。出力部５０７は、ディスプレイ、スピーカなどよりなる。記憶部５０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部５０９は、ネットワークインタフェースなどよりなる。ドライブ５１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア５１１を駆動する。
【０２６９】
以上のように構成されるコンピュータでは、CPU５０１が、例えば、記憶部５０８に記憶されているプログラムを入出力インタフェース５０５及びバス５０４を介してRAM５０３にロードして実行することにより、上述した一連の処理が行われる。
【０２７０】
コンピュータ（CPU５０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア５１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供することができる。
【０２７１】
コンピュータでは、プログラムは、リムーバブルメディア５１１をドライブ５１０に装着することにより、入出力インタフェース５０５を介して、記憶部５０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部５０９で受信し、記憶部５０８にインストールすることができる。その他、プログラムは、ROM５０２や記憶部５０８に、あらかじめインストールしておくことができる。
【０２７２】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２７３】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０２７４】
３１  画像処理装置，  ４１  階調補正処理部，  ５１  調整処理部，  １０１  デジタルカメラ，  １１６  DSP，  １２２  CPU，  １５３  階調補正処理部，  １８３  輝度階調補正部，  ２１４  ブロックヒストグラムメモリ，  ２１６  ブロック積分値メモリ，  ２１７  加重積和部，  ２３３  補間部，  ２３４  補間部，  ２３５  空間重み関数保持部，  ２３６  積和部，  ２３７  積和部，  ２３８  輝度重み関数保持部，  ２３９  除算部，２４０  フィルタ効果調整処理部，  ３０１  フィルタ精度判定部 
【図１】
2011203814.tif 000012
【図２】
2011203814.tif 000013
【図３】
2011203814.tif 000014
【図４】
2011203814.tif 000015
【図５】
2011203814.tif 000016
【図６】
2011203814.tif 000017
【図７】
2011203814.tif 000018
【図８】
2011203814.tif 000019
【図９】
2011203814.tif 000020
【図１０】
2011203814.tif 000021
【図１１】
2011203814.tif 000022
【図１２】
2011203814.tif 000023
【図１３】
2011203814.tif 000024
【図１４】
2011203814.tif 000025
【図１５】
2011203814.tif 000026
【図１６】
2011203814.tif 000027
【図１７】
2011203814.tif 000028
【図１８】
2011203814.tif 000029
【図１９】
2011203814.tif 000030
【図２０】
2011203814.tif 000031
【図２１】
2011203814.tif 000032
【図２２】
2011203814.tif 000033
【図２３】
2011203814.tif 000034
【図２４】
2011203814.tif 000035