(57)【特許請求の範囲】
【請求項１】
Ｎ（Ｎは自然数）次元の情報を有する画像信号を処理する画像処理装置において、
入力される第１の画像信号から代表値を算出する代表値算出手段と、
前記第１の画像信号の次に入力される第２の画像信号に対して、前記Ｎ次元の情報を補間する補間フィルタにおける前記第１の画像信号と前記第２の画像信号との位相の変化を補正する補正手段と、
前記補正手段により前記補間フィルタにおける前記位相の変化が補正された前記第２の画像信号を用いて、前記代表値算出手段により算出された前記代表値に対して、前記補間フィルタにより補間処理を行う補間手段と
を備える画像処理装置。
【請求項２】
前記画像信号は、３次元の情報を有し、
前記３次元の情報のうちの２次元の情報は、座標情報であり、
前記３次元の情報のうちの１次元の情報は、画素のレベル情報である
請求項１に記載の画像処理装置。
【請求項３】
前記補正手段は、前記位相の変化の１つとして、前記第１の画像信号と前記第２の画像信号との前記座標情報の変化を補正する座標補正手段と、
前記位相の変化の１つとして、前記第１の画像信号と前記第２の画像信号との前記レベル情報の変化を補正するレベル補正手段と
を備える請求項２に記載の画像処理装置。
【請求項４】
前記座標情報の変化量を算出する座標変化量算出手段を
さらに備える請求項３に記載の画像処理装置。
【請求項５】
前記レベル情報の変化量を算出するレベル変化量算出手段を
さらに備える請求項３に記載の画像処理装置。
【請求項６】
前記代表値算出手段は、前記代表値として、ブロックヒストグラムとブロック積算値を算出し、
前記補間手段は、前記座標情報と前記レベル情報の変化が補正された前記第２の画像信号を用いて、前記ブロックヒストグラムと前記ブロック積算値に対して、前記補間フィルタにより補間処理を行う
請求項３に記載の画像処理装置。
【請求項７】
Ｎ（Ｎは自然数）次元の情報を有する画像信号を処理し、代表値算出手段と、補正手段と、補間手段とを備える画像処理装置の画像処理方法において、
前記代表値算出手段が、入力される第１の画像信号から代表値を算出し、
前記補正手段が、前記第１の画像信号の次に入力される第２の画像信号に対して、前記Ｎ次元の情報を補間する補間フィルタにおける前記第１の画像信号と前記第２の画像信号との位相の変化を補正し、
前記補間手段が、前記補間フィルタにおける前記位相の変化が補正された前記第２の画像信号を用いて、算出された前記代表値に対して、前記補間フィルタにより補間処理を行う
画像処理方法。
【請求項８】
Ｎ（Ｎは自然数）次元の情報を有する画像信号を処理する画像処理装置のコンピュータを、
入力される第１の画像信号から代表値を算出する代表値算出手段と、
前記第１の画像信号の次に入力される第２の画像信号に対して、前記Ｎ次元の情報を補間する補間フィルタにおける前記第１の画像信号と前記第２の画像信号との位相の変化を補正する補正手段と、
前記補正手段により前記補間フィルタにおける前記位相の変化が補正された前記第２の画像信号を用いて、前記代表値算出手段により算出された前記代表値に対して、前記補間フィルタにより補間処理を行う補間手段と
して機能させるためのプログラム。
【請求項９】
Ｎ（Ｎは自然数）次元の情報を有する画像信号を処理する画像処理装置において、
入力される第１の画像信号から代表値を算出する代表値算出手段と、
前記代表値算出手段により算出された前記代表値に対して、前記Ｎ次元の情報を補間する補間フィルタにおける前記第１の画像信号と、前記第１の画像信号の次に入力される第２の画像信号との位相の変化を補正する補正手段と、
前記第２の画像信号を用いて、前記補正手段により前記補間フィルタにおける前記位相の変化が補正された前記代表値に対して、前記補間フィルタにより補間処理を行う補間手段と
を備える画像処理装置。
【請求項１０】
前記画像信号は、３次元の情報を有し、
前記３次元の情報のうちの２次元の情報は、座標情報であり、
前記３次元の情報のうちの１次元の情報は、画素のレベル情報である
請求項９に記載の画像処理装置。
【請求項１１】
前記補正手段は、前記代表値に対して、前記位相の変化の１つとして、前記第１の画像信号と前記第２の画像信号との前記座標情報の変化を補正する座標補正手段と、
前記代表値に対して、前記位相の変化の１つとして、前記第１の画像信号と前記第２の画像信号との前記レベル情報の変化を補正するレベル補正手段と
を備える請求項１０に記載の画像処理装置。
【請求項１２】
前記座標情報の変化量を算出する座標変化量算出手段を
さらに備える請求項１１に記載の画像処理装置。
【請求項１３】
前記レベル情報の変化量を算出するレベル変化量算出手段を
さらに備える請求項１１に記載の画像処理装置。
【請求項１４】
前記代表値算出手段は、前記代表値として、ブロックヒストグラムとブロック積算値を算出し、
前記座標補正手段は、前記ブロックヒストグラムと前記ブロック積算値に対して、前記第１の画像信号と前記第２の画像信号との前記座標情報の変化を補正し、
前記レベル補正手段は、前記ブロックヒストグラムと前記ブロック積算値に対して、前記第１の画像信号と前記第２の画像信号との前記レベル情報の変化を補正し、
前記補間手段は、前記第２の画像信号を用いて、前記座標情報と前記レベル情報の変化が補正された前記ブロックヒストグラムと前記ブロック積算値に対して、前記補間フィルタにより補間処理を行う
請求項１１に記載の画像処理装置。
【請求項１５】
Ｎ（Ｎは自然数）次元の情報を有する画像信号を処理し、代表値算出手段と、補正手段と、補間手段とを備える画像処理装置の画像処理方法において、
前記代表値算出手段が、入力される第１の画像信号から代表値を算出し、
前記補正手段が、算出された前記代表値に対して、前記Ｎ次元の情報を補間する補間フィルタにおける前記第１の画像信号と、前記第１の画像信号の次に入力される第２の画像信号との位相の変化を補正し、
前記補間手段が、前記第２の画像信号を用いて、前記補間フィルタにおける前記位相の変化が補正された前記代表値に対して、前記補間フィルタにより補間処理を行う
画像処理方法。
【請求項１６】
Ｎ（Ｎは自然数）次元の情報を有する画像信号を処理する画像処理装置のコンピュータを、
入力される第１の画像信号から代表値を算出する代表値算出手段と、
前記代表値算出手段により算出された前記代表値に対して、前記Ｎ次元の情報を補間する補間フィルタにおける前記第１の画像信号と、前記第１の画像信号の次に入力される第２の画像信号との位相の変化を補正する補正手段と、
前記第２の画像信号を用いて、前記補正手段により前記補間フィルタにおける前記位相の変化が補正された前記代表値に対して、前記補間フィルタにより補間処理を行う補間手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、プログラムに関し、特に、２パス構成の処理において、１パス目と２パス目の画像が異なっても、画質劣化を防ぐことができるようにした画像処理装置および方法、プログラムに関する。
【背景技術】
【０００２】
ある種の画像信号処理では、画像中のあるピクセルを処理する際に、その周囲の広い範囲の情報を用いる。例えば、HDR(ハイダイナミックレンジ)圧縮処理に用いるバイラテラルフィルタの計算においては、処理ピクセルを中心に、半径数百ピクセルの範囲の情報を用いて処理が行われる。
【０００３】
こういった広範囲の情報を用いる画像信号処理は、ピクセル毎の計算コストが高くなり過ぎる傾向がある。すなわち、ハードウエアの規模や、ソフトウエアの計算時間が増大するため、１ステップで処理を行うことは困難である。
【０００４】
そこで、広範囲の情報を用いる信号処理を実装する際には、計算コストを減らすための工夫として、処理を複数のステップに分割する構成が採用されることが多い。例えば、バイラテラルフィルタの計算においては、広い範囲の情報から代表値の組を計算して中間データを作成するステップと、その代表値を用いてピクセル毎の処理を行うステップの２つのステップに処理を分割することで、計算コストを低減している。
【０００５】
なお、これらの２ステップ構成については、特許文献１および２などに記載されており、バイテラルフィルタについては、特許文献３および非特許文献１などに記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−２７５０１５号公報
【特許文献２】特開２００４−２２１６４５号公報
【特許文献３】特開２００９−１７７５５８号公報
【非特許文献】
【０００７】
【非特許文献１】S.Paris,f.Durand,”A Fast Approximation of the Bilateral Filter using a Signal Processing Approach.”, Proc. European Conf. Computer Vision, 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、処理を分割して計算コストを低減する場合、各ステップの入力信号の特性がそろっていないと、処理に誤差が生じる。これは、入力の画像が各ステップ間で変化することで、「ある画像に対する一連の処理を、複数のステップに分割する」という条件が崩れるためである。
【０００９】
誤差による画像劣化は、主にリアルタイムの動画処理システムで生じることが多い。動画処理システムでは、各画像フレームの信号処理が連続して行われる。処理が連続しているため、ある画像に対して一旦、中間データを作成した後に、再度その画像を処理しなおすことが困難である。
【００１０】
そこで、動画処理においては、補正には、前のフレームで作成した中間データを用いるように構成される。これにより、補正処理と中間データの作成が同時に行えるようになる。しかしながら、前のフレームの中間データを用いたことによって、上述した誤差による画質劣化が発生してしまう。
【００１１】
静止画処理のシステムにおいても、上述した誤差による画質劣化が発生する場合がある。例えば、特許文献３に記載されるように、複数ステップの処理である階調補正処理の前に、感度ゲイン処理やホワイトバランス処理が行われる信号処理システムがある。このようなシステムにおいて、各ステップ間で、感度ゲイン処理やホワイトバランス処理のパラメータが異なると、階調補正処理に入力される信号が各ステップで異なってしまう。
【００１２】
このような静止画処理においては、パラメータが変わった後に第１ステップの処理を再度行うことにより、誤差を無くすことが可能である。しかしながら、第１ステップの処理のやり直しには、処理時間がかかってしまう。
【００１３】
また、各ステップ間で入力信号の特性に差異がある場合でも、特性によって画質への影響は異なる。例えば、上述した階調補正処理においては、処理フレーム間の差異のうち、画像中の小さな領域での変化については、画質への影響は少ない。これに対して、処理フレーム間の差異のうち、特に画像の大きな領域で起こる変化（例えば、撮影画像の露出（画面全体の明るさ）や画角（画面全体の位置）の特性など）は、計算誤差が大きくなりやすく、画質を劣化させやすい。
【００１４】
本発明は、このような状況に鑑みてなされたものであり、画質劣化を防ぐことができるものである。
【課題を解決するための手段】
【００１５】
本発明の第１の側面の画像処理装置は、Ｎ（Ｎは自然数）次元の情報を有する画像信号を処理する画像処理装置において、入力される第１の画像信号から代表値を算出する代表値算出手段と、前記第１の画像信号の次に入力される第２の画像信号に対して、前記Ｎ次元の情報を補間する補間フィルタにおける前記第１の画像信号と前記第２の画像信号との位相の変化を補正する補正手段と、前記補正手段により前記補間フィルタにおける前記位相の変化が補正された前記第２の画像信号を用いて、前記代表値算出手段により算出された前記代表値に対して、前記補間フィルタにより補間処理を行う補間手段とを備える。
【００１６】
前記画像信号は、３次元の情報を有し、前記３次元の情報のうちの２次元の情報は、座標情報であり、前記３次元の情報のうちの１次元の情報は、画素のレベル情報である。
【００１７】
前記補正手段は、前記位相の変化の１つとして、前記第１の画像信号と前記第２の画像信号との前記座標情報の変化を補正する座標補正手段と、前記位相の変化の１つとして、前記第１の画像信号と前記第２の画像信号との前記レベル情報の変化を補正するレベル補正手段とを備えることができる。
【００１８】
前記座標情報の変化量を算出する座標変化量算出手段をさらに備えることができる。
【００１９】
前記レベル情報の変化量を算出するレベル変化量算出手段をさらに備えることができる。
【００２０】
前記代表値算出手段は、前記代表値として、ブロックヒストグラムとブロック積算値を算出し、前記補間手段は、前記座標情報と前記レベル情報の変化が補正された前記第２の画像信号を用いて、前記ブロックヒストグラムと前記ブロック積算値に対して、前記補間フィルタにより補間処理を行うことができる。
【００２１】
本発明の第１の側面の画像処理方法は、Ｎ（Ｎは自然数）次元の情報を有する画像信号を処理し、代表値算出手段と、補正手段と、補間手段とを備える画像処理装置の画像処理方法において、前記代表値算出手段が、入力される第１の画像信号から代表値を算出し、前記補正手段が、前記第１の画像信号の次に入力される第２の画像信号に対して、前記Ｎ次元の情報を補間する補間フィルタにおける前記第１の画像信号と前記第２の画像信号との位相の変化を補正し、前記補間手段が、前記補間フィルタにおける前記位相の変化が補正された前記第２の画像信号を用いて、算出された前記代表値に対して、前記補間フィルタにより補間処理を行う。
【００２２】
本発明の第１の側面のプログラムは、Ｎ（Ｎは自然数）次元の情報を有する画像信号を処理する画像処理装置のコンピュータを、入力される第１の画像信号から代表値を算出する代表値算出手段と、前記第１の画像信号の次に入力される第２の画像信号に対して、前記Ｎ次元の情報を補間する補間フィルタにおける前記第１の画像信号と前記第２の画像信号との位相の変化を補正する補正手段と、前記補正手段により前記補間フィルタにおける前記位相の変化が補正された前記第２の画像信号を用いて、前記代表値算出手段により算出された前記代表値に対して、前記補間フィルタにより補間処理を行う補間手段として機能させる。
【００２３】
本発明の第２の側面の画像処理装置は、Ｎ（Ｎは自然数）次元の情報を有する画像信号を処理する画像処理装置において、入力される第１の画像信号から代表値を算出する代表値算出手段と、前記代表値算出手段により算出された前記代表値に対して、前記Ｎ次元の情報を補間する補間フィルタにおける前記第１の画像信号と、前記第１の画像信号の次に入力される第２の画像信号との位相の変化を補正する補正手段と、前記第２の画像信号を用いて、前記補正手段により前記補間フィルタにおける前記位相の変化が補正された前記代表値に対して、前記補間フィルタにより補間処理を行う補間手段とを備える。
【００２４】
前記画像信号は、３次元の情報を有し、前記３次元の情報のうちの２次元の情報は、座標情報であり、前記３次元の情報のうちの１次元の情報は、画素のレベル情報である。
【００２５】
前記補正手段は、前記代表値に対して、前記位相の変化の１つとして、前記第１の画像信号と前記第２の画像信号との前記座標情報の変化を補正する座標補正手段と、前記代表値に対して、前記位相の変化の１つとして、前記第１の画像信号と前記第２の画像信号との前記レベル情報の変化を補正するレベル補正手段とを備えることができる。
【００２６】
前記座標情報の変化量を算出する座標変化量算出手段をさらに備えることができる。
【００２７】
前記レベル情報の変化量を算出するレベル変化量算出手段をさらに備えることができる。
【００２８】
前記代表値算出手段は、前記代表値として、ブロックヒストグラムとブロック積算値を算出し、前記座標補正手段は、前記ブロックヒストグラムと前記ブロック積算値に対して、前記第１の画像信号と前記第２の画像信号との前記座標情報の変化を補正し、前記レベル補正手段は、前記ブロックヒストグラムと前記ブロック積算値に対して、前記第１の画像信号と前記第２の画像信号との前記レベル情報の変化を補正し、前記補間手段は、前記第２の画像信号を用いて、前記座標情報と前記レベル情報の変化が補正された前記ブロックヒストグラムと前記ブロック積算値に対して、前記補間フィルタにより補間処理を行うことができる。
【００２９】
本発明の第２の側面の画像処理方法は、Ｎ（Ｎは自然数）次元の情報を有する画像信号を処理し、代表値算出手段と、補正手段と、補間手段とを備える画像処理装置の画像処理方法において、前記代表値算出手段が、入力される第１の画像信号から代表値を算出し、前記補正手段が、算出された前記代表値に対して、前記Ｎ次元の情報を補間する補間フィルタにおける前記第１の画像信号と、前記第１の画像信号の次に入力される第２の画像信号との位相の変化を補正し、前記補間手段が、前記第２の画像信号を用いて、前記補間フィルタにおける前記位相の変化が補正された前記代表値に対して、前記補間フィルタにより補間処理を行う。
【００３０】
本発明の第２の側面のプログラムは、Ｎ（Ｎは自然数）次元の情報を有する画像信号を処理する画像処理装置のコンピュータを、入力される第１の画像信号から代表値を算出する代表値算出手段と、前記代表値算出手段により算出された前記代表値に対して、前記Ｎ次元の情報を補間する補間フィルタにおける前記第１の画像信号と、前記第１の画像信号の次に入力される第２の画像信号との位相の変化を補正する補正手段と、前記第２の画像信号を用いて、前記補正手段により前記補間フィルタにおける前記位相の変化が補正された前記代表値に対して、前記補間フィルタにより補間処理を行う補間手段として機能させる。
【００３１】
本発明の第１の側面においては、入力される第１の画像信号から代表値が算出され、前記第１の画像信号の次に入力される第２の画像信号に対して、Ｎ（Ｎは自然数）次元の情報を補間する補間フィルタにおける前記第１の画像信号と前記第２の画像信号との位相の変化が補正される。そして、前記補間フィルタにおける前記位相の変化が補正された前記第２の画像信号を用いて、算出された前記代表値に対して、前記補間フィルタにより補間処理が行われる。
【００３２】
本発明の第２の側面においては、入力される第１の画像信号から代表値が算出され、算出された前記代表値に対して、Ｎ（Ｎは自然数）次元の情報を補間する補間フィルタにおける前記第１の画像信号と、前記第１の画像信号の次に入力される第２の画像信号との位相の変化が補正される。そして、前記第２の画像信号を用いて、前記補間フィルタにおける前記位相の変化が補正された前記代表値に対して、前記補間フィルタにより補間処理が行われる。
【００３３】
なお、上述の画像処理装置は、独立した装置であっても良いし、１つの画像処理装置を構成している内部ブロックであってもよい。
【発明の効果】
【００３４】
本発明によれば、２パス構成の処理において、１パス目と２パス目の画像が異なっても、画像劣化を防ぐことができる。
【図面の簡単な説明】
【００３５】
【図１】従来の画像処理装置の構成と１パス目の動作を示すブロック図である。
【図２】従来の画像処理装置の構成と２パス目の動作を示すブロック図である。
【図３】本発明を適用した画像処理装置の第１の構成例を示すブロック図である。
【図４】本発明を適用した画像処理装置の第２の構成例を示すブロック図である。
【図５】本発明を適用したデジタルカメラの構成例を示すブロック図である。
【図６】図５のDSPの内部のプロセッサが、所定のプログラムを実行することにより実現される機能の構成の例を示すブロック図である。
【図７】図６の階調補正処理部の機能の構成例を示すブロック図である。
【図８】図７の輝度階調補正部の機能の構成例を示すブロック図である。
【図９】図８の加重積和部の機能の構成例を示すブロック図である。
【図１０】図５のデジタルカメラにおける画像処理について説明するフローチャートである。
【図１１】図１０のステップＳ１１４の階調補正処理を説明するフローチャートである。
【図１２】図１０のステップＳ１１４の階調補正処理を説明するフローチャートである。
【図１３】トーンカーブを説明する図である。
【図１４】図１１のステップＳ１５０の信号レベルの補正処理を説明するフローチャートである。
【図１５】図１１のステップＳ１５１の大局輝度値算出処理について説明するフローチャートである。
【図１６】輝度重み関数について説明する図である。
【図１７】図１５のステップＳ２１２の座標補正処理について説明するフローチャートである。
【図１８】図１０のステップＳ１１９の信号レベルの変化量の判定処理について説明するフローチャートである。
【図１９】図１０のステップＳ１２０の座標の変化量の判定処理について説明するフローチャートである。
【図２０】図７の輝度階調補正部の機能の他の構成例を示すブロック図である。
【図２１】図２０の加重積和部の機能の構成例を示すブロック図である。
【図２２】図２０の輝度階調補正部の場合の図５のデジタルカメラにおける画像処理について説明するフローチャートである。
【図２３】図２２のステップＳ３１４の階調補正処理を説明するフローチャートである。
【図２４】図２２のステップＳ３１４の階調補正処理を説明するフローチャートである。
【図２５】図２３のステップＳ３５０の大局輝度値算出処理について説明するフローチャートである。
【図２６】図２２のステップＳ３２１の輝度域情報の補正処理について説明するフローチャートである。
【図２７】図２２のステップＳ３２２の再標本化処理について説明するフローチャートである。
【図２８】図２７のステップＳ４１１の空間の再標本化処理について説明するフローチャートである。
【図２９】図２７のステップＳ４１２の信号レベルの再標本化処理について説明するフローチャートである。
【図３０】図２２のステップＳ３２３の輝度情報の補正処理について説明するフローチャートである。
【図３１】本発明を適用した、バイテラルフィルタ処理を用いる画像処理装置の第１の構成例を示すブロック図である。
【図３２】本発明を適用した、バイテラルフィルタ処理を用いる画像処理装置の第２の構成例を示すブロック図である。
【図３３】本発明を適用した、一般的な画像処理装置の第１の構成例を示すブロック図である。
【図３４】本発明を適用した、一般的な画像処理装置の第２の構成例を示すブロック図である。
【図３５】コンピュータのハードウエアの構成例を示すブロック図である。
【発明を実施するための形態】
【００３６】
以下、図を参照して本発明の実施の形態について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（本発明の概要）
２．第２の実施の形態（デジタルビデオカメラの例）
３．第３の実施の形態（バイラテラルフィルタ処理の例）
４．第４の実施の形態（一般化モデルの例）
【００３７】
＜１．第１の実施の形態＞
［発明の概要］
まず、図１乃至図４を参照して、本発明の概要を説明する。図１および図２の例においては、本発明と比較するために、従来の画像処理装置１の構成例が示されている。なお、図１の例においては、１パス目に動作する部分が実線で示され、動作しない部分が破線で示されている。また、図２の例においては、２パス目に動作する部分が実線で示され、動作しない部分が破線で示されている。
【００３８】
画像処理装置１は、信号処理部１１および階調補正処理部１２により構成されている。信号処理部１１は、入力画像に対して所定の信号処理を行い、処理後の画像を階調補正処理部１２に出力する。
【００３９】
階調補正処理部１２は、信号処理部１１からの入力画像に対して、２パス処理で、階調補正処理を行い、出力画像を後段に出力する。すなわち、階調補正処理部１２は、１パス目で、入力画像から中間データを作成することにより標本化を行い、２パス目で、中間データに対して補間処理を行い、階調補正処理を行う。
【００４０】
階調補正処理部１２は、輝度生成部２１、輝度域情報算出部２２、輝度域情報メモリ２３、LPF（ローパスフィルタ）２４、中間メモリ２５、階調圧縮処理部２６、除算部２７、および乗算部２８により構成されている。信号処理部１１からの入力画像は、輝度生成部２１および乗算部２８に入力される。
【００４１】
輝度生成部２１は、入力画像のRGBからY信号（輝度信号）を生成し、生成したY信号および入力画像を、１パス目では、輝度域情報算出部２２およびLPF２４に出力する。また、輝度生成部２１は、生成したY信号および入力画像を、２パス目では、階調圧縮処理部２６および除算部２７に出力する。
【００４２】
輝度域情報算出部２２は、１パス目で、１フレーム分の画像の輝度値を見て、階調補正の特性を決めるための画像の統計情報である輝度域情報を算出し、算出した輝度域情報を輝度域情報メモリ２３に格納する。輝度域情報メモリ２３は、輝度域情報算出部２２からの輝度域情報を一時的に記録し、階調圧縮処理部２６に供給する。
【００４３】
LPF２４は、１パス目で、１フレーム分の画像の輝度値に対して、フィルタ処理を行い、フィルタ処理結果の中間データを、中間メモリ２５に格納する。フィルタ処理としては、例えば、輝度値を間引いて、それを平滑化する処理が行われる。すなわち、中間データは、間引かれているので、入力画像よりも画素数が少なく、代表値ともいえる。中間メモリ２５は、LPF２４からの中間データを一時的に記録し、階調圧縮処理部２６に供給する。
【００４４】
階調圧縮処理部２６は、２パス目で、輝度域情報メモリ２３の輝度域情報を参照し、中間メモリ２５の中間データを拡大しながら、輝度生成部２１からの入力画像の階調を圧縮する処理を行う。すなわち、階調圧縮処理部２６においては、補間フィルタにより中間データを補間する処理が行われる。階調圧縮処理部２６は、処理後のデータを、除算部２７に出力する。
【００４５】
除算部２７は、２パス目で、輝度生成部２１からの階調圧縮前の輝度値と、階調圧縮処理部２６からの階調圧縮後の輝度値の比（ゲイン）を求め、求めたゲインを乗算部２８に供給する。乗算部２８は、２パス目で、信号処理部１１からの入力画像のRGBに、除算部２７からのゲインを乗算することにより、階調圧縮された出力画像を、後段に出力する。
【００４６】
ここで、原理的に、１パス目の画像と２パス目の画像が異なってしまうと、計算誤差で性能が劣化してしまう。具体的には、２パス目の画像において、１パス目の画像から画角の変化があると、計算誤差により、フィルタの空間特性がシフトしてしまい、出力画像に誤った補正による劣化（例えば、後光が差すような症状であるHALO）が出てしまう。
【００４７】
また、２パス目の画像において、１パス目の画像から輝度の変化があると、計算誤差により、フィルタの出力レベルがシフトしてしまい、階調圧縮処理の特性がずれて、出力画像のレベルが期待通りにならない。
【００４８】
このフレーム間における輝度や画角の変化は、階調圧縮処理部２６における補間フィルタの位相の変化といえる。これらに対応するために、本発明においては、図３および図４に示されるように、２パス目において画角および輝度の誤差補正、すなわち、補間フィルタの位相の補正が行われる。
【００４９】
図３は、本発明を適用した画像処理装置の第１の構成例を示すブロック図である。図３の画像処理装置３１は、階調補正処理部１２が、階調補正処理部４１に入れ替わった点が図１の画像処理装置１と異なり、信号処理部１１を備えている点が図１の画像処理装置１と共通している。
【００５０】
また、階調補正処理部４１は、補正処理部５１が追加された点だけが、図１の階調補正処理部１２と異なっている。そして、階調補正処理部４１は、輝度生成部２１、輝度域情報算出部２２、輝度域情報メモリ２３、LPF２４、中間メモリ２５、階調圧縮処理部２６、除算部２７、および乗算部２８を備える点は、図１の階調補正処理部１２と共通している。
【００５１】
すなわち、輝度生成部２１からのY信号および入力画像は、１パス目では、輝度域情報算出部２２およびLPF２４に出力されるが、２パス目では、補正処理部５１および除算部２７に入力される。
【００５２】
補正処理部５１は、２パス目で、輝度生成部２１からのY信号および入力画像を用いて、画角の補正および明るさの補正を行い、画角および明るさが補正されたY信号および入力画像を、階調圧縮処理部２６に出力する。具体的には、補正処理部５１は、２パス目の画像の座標を、１パス目の画像の座標に変換することで、画角を補正する。また、補正処理部５１は、２パス目の画像のレベル（明るさ）を、１パス目の画像のレベルに変換することで、画角を補正する。すなわち、補正処理部５１においては、階調圧縮処理部２６における補間フィルタの位相が補正される。
【００５３】
階調圧縮処理部２６は、２パス目で、輝度域情報メモリ２３の輝度域情報を参照し、中間メモリ２５の中間データを拡大しながら、補正処理部５１により画角と明るさが補正された画像の階調を圧縮する処理を行い、処理後のデータを、除算部２７に出力する。
【００５４】
以上のように、１パス目の画像と２パス目の画像の画角および輝度が異なっていたのが補正されるので、階調圧縮処理部２６における計算誤差が抑制され、性能の劣化を防ぐことができる。
【００５５】
図４は、本発明を適用した画像処理装置の第２の構成例を示すブロック図である。図４の画像処理装置６１は、階調補正処理部１２が、階調補正処理部７１に入れ替わった点が図１の画像処理装置１と異なり、信号処理部１１を備えている点が図１の画像処理装置１と共通している。
【００５６】
また、階調補正処理部７１は、補正処理部８１、輝度域情報メモリ８２、補正処理部８３、および中間メモリ８４が追加された点が、図１の階調補正処理部１２と異なっている。そして、階調補正処理部７１は、輝度生成部２１、輝度域情報算出部２２、輝度域情報メモリ２３、LPF２４、中間メモリ２５、階調圧縮処理部２６、除算部２７、および乗算部２８を備える点は、図１の階調補正処理部１２と共通している。
【００５７】
すなわち、輝度域情報メモリ２３は、輝度域情報算出部２２からの輝度域情報を一時的に記録し、補正処理部８１に供給する。中間メモリ２５は、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)からなる１フレーム分の輝度画像から、各輝度ブロックについて、輝度ブロックに属す画素の輝度値の積分値（総和）を算出し、算出された積分値をブロック積分値としてブロック積分値メモリ２１６に供給する。ブロック積分値メモリ２１６は、ブロック積分値算出部２１５から供給されたブロック積分値を一時的に記録し、加重積和部２１８に供給する。
【００９６】
なお、これらの輝度域情報、ブロックヒストグラム、およびブロック積分値は、１フレーム分の輝度画像の代表値であり、上述してきた中間データに対応する。したがって、以下、適宜、中間データとも称する。この中間データとしての輝度域情報、ブロックヒストグラム、およびブロック積分値は、輝度域情報メモリ２１２、ブロックヒストグラムメモリ２１４、およびブロック積分値メモリ２１６に、輝度画像（ＲＧＢ画像）の１フレーム分の時間だけ保持されて、１フレームごとに更新されることになる。
【００９７】
また、中間データは、算出するのにほぼ１フレーム分の時間が必要とされるため、実際に生成された中間データが利用されるのは、次のフレームの画像情報が入力されたときとなる。したがって、信号レベル補正処理部２１７は、中間データが生成されるとき（第１のステップ）の画像の平均レベルと、中間データが利用されるとき（第２のステップ）の画像の平均レベルをそろえる補正処理を行う。
【００９８】
第１のステップと第２のステップの間、すなわち、ステップ間で画像の平均レベルが変化する状況としては、例えば、ステップ間でカメラの露出制御が変化してしまう場合などがあげられる。露出が変化すると、それに応じて入力RGB信号や図７の輝度算出部１８１からの出力である輝度L(p)のレベルに乗算の偏差ΔGが乗る。このとき、信号レベル補正処理部２１７においては、非線形変換部１８２から供給された輝度値L(nl)(p)に対して、非線形空間での偏差ΔGを相殺する補正処理が行われる。このステップ間の偏差の量は、レベルの補正量の情報として、図５のCPU１２２などから供給される。
【００９９】
偏差ΔGを相殺することで、加重積和部２１８以降の後段、およびマッピング部２２２に供給される信号のレベルが、平均的に第１のステップの処理時のレベルに合わせることができる。
【０１００】
加重積和部２１８は、信号レベル補正処理部２１７により補正された輝度値L(nl)(p)と、ブロックヒストグラムメモリ２１４からのブロックヒストグラム、およびブロック積分値メモリ２１６からのブロック積分値とから、輝度値L(nl)(p)からなる輝度画像のごく低周波成分からなる画像（以下、大局輝度画像と称する）の輝度値である大局輝度値Ll(nl)(p)を算出する。
【０１０１】
すなわち、処理対象となっているフレームの時間的に１つ前のフレームの輝度画像（ＲＧＢ画像）から求められた、ブロックヒストグラムおよびブロック積分値が用いられて、１つ前のフレームといまのフレームとの画像の平均レベルが補正された輝度値L(nl)(p)の画素の大局輝度値Ll(nl)(p)が算出される。ここで、大局輝度値とは、いわばＲＧＢ画像上の画素が属す物体領域の平均輝度に相当する情報、つまりその画素が含まれる物体領域の平均的な明るさを示す輝度値である。
【０１０２】
なお、以下、処理の対象となっている画素、例えば、輝度階調補正部１８３に供給された輝度値L(nl)(p)の画素を、処理対象画素とも称する。
【０１０３】
また、加重積和部２１８は、算出した大局輝度値Ll(nl)(p)を、トーンカーブ算出部２１９およびマッピング部２２１に供給する。
【０１０４】
トーンカーブ算出部２１９は、輝度域情報メモリ２１２からの輝度域情報と、加重積和部２１８からの大局輝度値Ll(nl)(p)とから、輝度値の階調を圧縮するために適用されるトーンカーブの形状を算出し、その算出結果をトーンカーブメモリ２２０に供給する。トーンカーブメモリ２２０は、トーンカーブ算出部２１９からのトーンカーブを記録し、記録しているトーンカーブをマッピング部２２１、マッピング部２２２、およびコントラスト補正部２２３に供給する。
【０１０５】
マッピング部２２１は、トーンカーブメモリ２２０に記録されているトーンカーブに基づいて、加重積和部２１８からの大局輝度値Ll(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)の画素、つまり処理対象画素の位置が入力される。
【０１１３】
したがって、座標補正部２３１および座標補正部２３２は、入力される画素の座標信号を、第２のステップの座標系から、第１のステップの座標系に変換することにより、補正処理を行う。これにより、加重積和部２１８以降の処理において、ステップ間に生じるずれが補正された座標が用いられる。この処理は、例えば、第１のステップの座標p1から、第２のステップの座標pc2の間の変化が、アフィン変換行例Ａを用いて、pc2＝Ａ・p1と表されるときには、inv(Ａ)・pc2を出力する処理となる。ここで、inv（Ａ）は、Ａの逆行列を表している。なお、ステップ間の座標の変化量は、図５のCPU１２２などから供給される。
【０１１４】
座標補正部２３１および座標補正部２３２により座標が補正された輝度値L(nl)(p)の画素、つまり処理対象画素の位置は、それぞれ、補間部２３３および補間部２３４に供給される。すなわち、この補正処理で補正されるのは、補間部２３３および補間部２３４に供給される座標信号のみ（相対座標のみ）であるので、第２のステップの画像自体の位置は変更されない。したがって、座標を補正したことによる、他の信号処理ブロックへの影響は起こらない。
【０１１５】
補間部２３３および補間部２３４は、パラメータとして、空間重み関数保持部２３５に保持されている空間重み関数ルックアップテーブルと、座標補正部２３１および座標補正部２３２により座標が補正された入力画像の位置情報を用いて、空間次元の補間伸長処理をそれぞれ行う。
【０１１６】
具体的には、補間部２３３は、輝度画像上における座標補正部２３１から供給された輝度値L(nl)(p)の画素、つまり処理対象画素の位置に対する、輝度ブロックの輝度範囲の中央値ごとの補間されたブロック積分値を求めて輝度積分値とし、積和部２３６に供給する。すなわち、輝度ブロック内の画素の取り得る輝度値の範囲の中央値をλとすると、補間部２３３は、処理対象画素の空間方向近傍の４×４個の空間ブロックから分割された各輝度ブロックのうち、中央値がλである１６個の輝度ブロックのブロック積分値のそれぞれに対して補間係数を乗算し、補間係数が乗算されたブロック積分値の和を求めることで、中央値λに対する輝度積分値を求める。
【０１１７】
換言すれば、補間部２３３は、処理対象画素近傍の輝度ブロックのブロック積分値を用いた補間処理を行うことにより、各中央値λに対する輝度積分値を求める。これにより、中央値λごとのＤ個の輝度積分値が求められることになる。なお、各ブロック積分値に乗算される補間係数は、処理対象画素の位置と、その処理対象画素近傍の空間ブロックとの相対位置関係に基づいて、空間重み関数保持部２３５に保持されている空間重み関数ルックアップテーブルから読み出される。
【０１１８】
同様に、補間部２３４は、輝度画像上における座標補正部２３２から供給された輝度値L(nl)(p)の画素、つまり処理対象画素の位置に対する、輝度ブロックの輝度範囲の中央値ごとの補間されたブロックヒストグラムを求めて輝度ヒストグラムとし、積和部２３７に供給する。すなわち、補間部２３４は、処理対象画素の空間方向近傍の４×４個の空間ブロックから分割された各輝度ブロックのうち、中央値がλである１６個の輝度ブロックのブロックヒストグラムのそれぞれに対して補間係数を乗算し、補間係数が乗算されたブロックヒストグラムの和を求めることで、中央値λに対する輝度ヒストグラムを求める。
【０１１９】
換言すれば、補間部２３４は、処理対象画素近傍の輝度ブロックのブロックヒストグラムを用いた補間処理を行うことにより、各中央値λに対する輝度ヒストグラムを求める。これにより、中央値λごとのＤ個の輝度ヒストグラムが求められることになる。なお、各ブロックヒストグラムに乗算される補間係数は、処理対象画素の位置と、その処理対象画素近傍の空間ブロックとの相対位置関係に基づいて、空間重み関数保持部２３５に保持されている空間重み関数ルックアップテーブルから読み出される。
【０１２０】
積和部２３６および積和部２３７は、パラメータとして、輝度重み関数保持部２３８に保持されている輝度重み関数ルックアップテーブルと、信号レベル補正処理部２１７によりレベルが補正された輝度値L(nl)(p)を用いて、レベル次元の補間伸長処理を行う。
【０１２１】
具体的には、積和部２３６は、補間部２３３から供給されたＤ個の輝度積分値に対して、輝度加重値を積和する計算を行い、積和された輝度積分値を除算部２３９に供給する。すなわち、輝度加重値の乗算された輝度積分値の和が求められる。ここで、輝度積分値に乗算される輝度加重値は、信号レベル補正処理部２１７から積和部２３６に供給された輝度値L(nl)(p)と、中央値λとに基づいて、輝度重み関数保持部２３８に保持されている輝度重み関数ルックアップテーブルの輝度重み関数から算出される。
【０１２２】
同様に、積和部２３７は、補間部２３４から供給されたＤ個の輝度ヒストグラムに対して、輝度加重値を積和する計算を行い、積和された輝度ヒストグラムを除算部２３９に供給する。すなわち、輝度加重値の乗算された輝度ヒストグラムの和が求められる。ここで、輝度ヒストグラムに乗算される輝度加重値は、信号レベル補正処理部２１７から積和部２３７に供給された輝度値L(nl)(p)と、中央値λとに基づいて、輝度重み関数保持部２３８に保持されている輝度重み関数ルックアップテーブルの輝度重み関数から算出される。
【０１２３】
除算部２３９は、積和部２３６からの輝度積和値を、積和部２３７からの輝度ヒストグラムで除算することにより、処理対象画素の大局輝度値Ll(nl)(p)を算出してトーンカーブ算出部２１９およびマッピング部２２１に供給する。
【０１２４】
［画像処理の例］
次に、図１０のフローチャートを参照して、図５のデジタルカメラ１０１における画像処理について説明する。なお、この処理は、例えば、デジタルビデオカメラ１０１による撮影が開始され、A/Dコンバータ１１５からDSP１１６への画像データ（モザイク画像）のストリームの供給が開始されたときに開始される。また、DSP１１６に供給された画像データは、逐次DSP１１６の図示せぬ内部のメモリに格納される。
【０１２５】
ステップＳ１１１において、ホワイトバランス処理部１５１は、モザイク画像を読み込む。具体的には、ホワイトバランス処理部１５１は、DSP１１６の図示せぬ内部のメモリに格納されている先頭のフレームのモザイク画像を読み込む。
【０１２６】
ステップＳ１１２において、ホワイトバランス処理部１５１は、取得したモザイク画像のホワイトバランスを調整し、デモザイク処理部１５２に供給する。
【０１２７】
ステップＳ１１３において、デモザイク処理部１５２は、デモザイク処理を行う。すなわち、デモザイク処理部１５２は、ホワイトバランス処理部１５１からのモザイク画像にデモザイク処理を施してＲＧＢ画像を生成し、階調補正処理部１５３に供給する。
【０１２８】
ステップＳ１１４において、階調補正処理部１５３は、階調補正処理を行い、デモザイク処理部１５２からのＲＧＢ画像の階調を補正する。このとき、階調補正処理部１５３は、処理対象となっているフレームの画像の信号レベルと画角を、そのフレームの時間的に１つ前のフレームの画像の信号レベルと画角に合わせる補正処理を行ってから、階調補正処理を行う。そして、階調補正処理部１５３は、階調の補正されたＲＧＢ画像をガンマ補正処理部１５４に供給する。なお、階調補正処理の詳細は、図１１および図１２を参照して後述する。
【０１２９】
ステップＳ１１５において、ガンマ補正処理部１５４は、階調補正処理部１５３からのＲＧＢ画像にガンマ補正を施してYC変換処理部１５５に供給する。
【０１３０】
ステップＳ１１６において、YC変換処理部１５５は、ＹＣ変換処理を行う。例えば、YC変換処理部１５５は、ガンマ補正処理部１５４からのＲＧＢ画像に対してＹＣマトリックス処理およびクロマ成分に対する帯域制限を行うことにより、ＲＧＢ画像からＹ画像およびＣ画像を生成する。そして、ステップＳ１１７において、YC変換処理部１５５は、Ｙ画像およびＣ画像を出力する。例えば、YC変換処理部１５５は、必要に応じてＹ画像およびＣ画像をLCDドライバ１１８またはCODEC１２０に出力する。
【０１３１】
ステップＳ１１８において、ホワイトバランス処理部１５１は、後続するフレームが存在するか否かを判定する。例えば、DSP１１６の図示せぬ内部のメモリに後続するフレームのモザイク画像が蓄積されている場合、後続フレームが存在すると判定される。
【０１３２】
ステップＳ１１８において、後続するフレームが存在すると判定された場合、処理は、ステップＳ１１９に進む。ステップＳ１１９において、CPU１２２は、後続フレームの露出制御値を決定することなどにより、フレーム間の信号レベルの変化量の判定処理を行う。この信号レベルの変化量の判定処理は、図１８を参照して後述する。この処理により、信号レベルの補正量が決定され、決定された信号レベルの補正量は、図８の信号レベル補正処理部２１７に供給される。
【０１３３】
さらに、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)に対して、信号レベルの補正処理を行う。この信号レベルの補正処理の詳細は、図１４を参照して後述する。ステップＳ１５０の処理により、フレーム間の信号レベルの変化が補正され、補正された輝度値L(nl)(p)が、加重積和部２１８、トーンカーブ算出部２１９、およびマッピング部２２２に入力される。
【０１４５】
ステップＳ１５１において、加重積和部２１８は、信号レベル補正処理部２１７により補正された輝度値L(nl)(p)を用いて、大局輝度値算出処理を行って、処理対象画素の大局輝度値Ll(nl)(p)を算出し、トーンカーブ算出部２１９およびマッピング部２２１に供給する。このとき、フレーム間の座標の変化が補正され、補正された座標が用いられて、座標の補間が行われる。なお、大局輝度値算出処理の詳細は、図１５を参照して後述する。
【０１４６】
ステップＳ１５２において、トーンカーブ算出部２１９は、輝度域情報メモリ２１２から読み出した輝度域情報と、加重積和部２１８からの大局輝度値Ll(nl)(p)とから、トーンカーブを求める。
【０１４７】
例えば、トーンカーブ算出部２１９は、図１３に示すトーンカーブのコントロールポイントを設定する。なお、図１３のグラフの横軸方向は、階調補正する前の入力輝度の対数値を表し、縦軸方向は、トーンカーブＣＬによる階調補正後の出力輝度の対数値を表している。
【０１４８】
まず、トーンカーブ算出部２１９は、９つのコントロールポイントＰ１乃至コントロールポイントＰ９を設定する。コントロールポイントＰ１は、入力輝度が所定の最小レベルとなり、出力輝度が所定の最小レベルLbase(nl)となるポイントに設定される。コントロールポイントＰ２は、入力輝度がノイズレベルであると見なすことができる輝度である所定のノイズレベルLnoise(nl)となり、出力輝度が最小レベルLbase(nl)となるポイントに設定される。コントロールポイントＰ３は、入力輝度がノイズレベルLnoise(nl)の２倍の輝度値となり、出力輝度が最小レベルLbase(nl)となるポイントに設定される。
【０１４９】
コントロールポイントＰ４は、入力輝度が、輝度域情報メモリ２１２からの輝度域情報としての暗輝度側の裾野値Ldark(nl)となり、出力輝度がほぼ黒レベルの輝度値である輝度値Lankle(nl)となるポイントに設定される。コントロールポイントＰ５は、入力輝度が裾野値Ldark(nl)の２倍の輝度値となり、出力輝度が輝度値Lankle(nl)の２倍の輝度値となるポイントに設定される。コントロールポイントＰ６は、入力輝度が加重積和部２１８からの大局輝度値Ll(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)を求める。
【０１６４】
【数１】
0005472734.tif 000002
【０１６５】
式（１）では、階調補正前後の輝度値の比率、つまり階調補正された輝度値Lu(nl)(p)を階調補正前の輝度値L(nl)(p)で除算した値が、非線形変換された画素値R(nl)(p)に対して乗算されている。階調補正部１８５−２および階調補正部１８５−３においても、上述した式（１）と同様の計算が行われ、画素値が階調補正される。
【０１６６】
なお、非線形変換部１８２および非線形変換部１８４において行われる非線形変換が、対数変換である場合には、式（２）に示す計算を行うことにより、画素値が階調補正されてもよい。
【０１６７】
【数２】
0005472734.tif 000003
【０１６８】
式（２）では、階調補正された輝度値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)からなる１フレーム分の輝度画像から、各輝度ブロックについて、輝度ブロックに属す画素の輝度値の積分値（総和）を算出し、算出された積分値をブロック積分値としてブロック積分値メモリ２１６に供給し、記録させる。
【０１７４】
このように、階調補正処理においては、１フレーム分の輝度画像に基づいて、代表値である中間データが求められる。そして、中間データが求められると、中間データとしての輝度域情報、ブロックヒストグラム、およびブロック積分値が輝度域情報メモリ２１２、ブロックヒストグラムメモリ２１４、およびブロック積分値メモリ２１６に格納される。
【０１７５】
輝度階調補正部１８３では、現在処理しているフレームよりも時間的に１つ前のフレームから求められた中間データが用いられて処理対象画素の大局輝度値やトーンカーブが算出されるため（エッジ保存平滑化処理が行われるため）、処理対象の画像が動画像であっても、画像の全画素を２回スキャンすることなく、少ないワーキングメモリで、大きいオペレータサイズのエッジ保存平滑化処理を行うことができる。
【０１７６】
その際に、現在処理しているフレームと、そのフレームよりも時間的に１つ前のフレームとの輝度階調補正部１８３における補間フィルタの位相ずれ、すなわち、信号レベルをそろえるようにし、また、座標信号の偏差を解消するようにした。
【０１７７】
信号レベルがそろうことによって、加重積和部２１８におけるレベル次元の補間誤差や、マッピング部２２１および２２２のトーンカーブ処理の不整合が解消され、理想的な輝度階調特性を持った出力輝度Lu(nl)(p)が得られるようになる。また、入力RGB信号の補正量は、入力輝度L(nl)(p)と出力輝度Lu(nl)(p)の関係から定義されるため、出力輝度の階調特性さえ良好に得られれば、出力RGB信号の階調特性も良好になる。
【０１７８】
また、座標信号の偏差が解消されることで、加重積和部２１８での空間次元の補間の誤差を解消することができる。
【０１７９】
以上により、複数ステップで構成される階調補正処理において、ステップ間で画像が異なる場合でも、画質の劣化（HALOや階調不良）を防ぐことができる。これにより、動画像の処理時の画質が改善される。また、静止画像の処理時に、処理時間を増大させることなく、画質を改善することができる。
【０１８０】
［信号レベルの補正処理の例］
次に、図１４のフローチャートを参照して、図１１のステップＳ１５０の信号レベルの補正処理について説明する。
【０１８１】
非線形変換部１８２からの輝度値L(nl)(p)が供給されると、信号レベル補正処理部２１７は、ステップＳ１９１において、処理対象画素に対するレベルの補正量を読み込む。この信号レベルの補正量は、図１０のステップＳ１１９においてCPU１２２により決定されて、供給されている。
【０１８２】
ステップＳ１９２において、信号レベル補正処理部２１７は、非線形変換部１８２からの輝度値L(nl)(p)に対して、読み込んだレベル補正量を演算する。その後、処理は、図１１のステップＳ１５１に進む。
【０１８３】
これにより、現在処理しているフレームと、そのフレームよりも時間的に１つ前のフレームとの信号レベルをそろえることができる。
【０１８４】
［大局輝度値算出処理の例］
次に、図１５のフローチャートを参照して、図１１のステップＳ１５１の大局輝度値算出処理について説明する。
【０１８５】
ステップＳ２１１において、加重積和部２１８の座標補正部２３１、座標補正部２３２、積和部２３６、および積和部２３７は、信号レベル補正処理部２１７から、信号レベルが補正されれた処理対象画素の輝度値L(nl)(p)を読み込む。
【０１８６】
ステップＳ２１２において、座標補正部２３１および座標補正部２３２は、信号レベル補正処理部２１７からの輝度値L(nl)(p)に対して、座標補正処理を行う。この座標補正処理の詳細は、図１７を参照して後述する。ステップＳ２１２の処理により、フレーム間の座標の変化が補正され、補正された輝度値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（λ）を求める。
【０１９１】
【数３】
0005472734.tif 000004
【０１９２】
ここで、式（３）において、Σは、変数ｉおよびｊを、それぞれ１から４まで変えて、補間係数Ｂ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（λ）を求める。
【０１９７】
【数４】
0005472734.tif 000005
【０１９８】
ここで、式（４）の右辺は、式（３）の右辺のブロック積分値Ｓ（ｉ，ｊ,λ）がブロックヒストグラムＨ（ｉ，ｊ,λ）に置き換えられたものとなっている。
【０１９９】
これにより、Ｄ個の輝度ヒストグラムＨinterpolated（λ）が求められる。これらの輝度ヒストグラムは、輝度ブロックに対応する輝度（中央値λ）ごとの、処理対象画素の位置の補間されたブロックヒストグラムである。補間部２３４は、輝度ヒストグラムを求めると、求めた輝度ヒストグラムを積和部２３７に供給する。
【０２００】
ステップＳ２１５において、積和部２３６は、補間部２３３から供給されたＤ個の輝度積分値を輝度加重値で積和し、積和された輝度積分値を除算部２７７に供給する。
【０２０１】
すなわち、積和部２３６は、輝度重み関数保持部２３８に保持されている輝度重み関数ルックアップテーブルから、輝度重み関数を読み出す。そして、積和部２３６は、読み出した輝度重み関数、信号レベル補正処理部２１７から供給された輝度値L(nl)(p)、および中央値λを用いて、中央値λごとの輝度加重値φ（λ，L(nl)(p)）を求める。
【０２０２】
例えば、輝度重み関数保持部２３８に保持されている輝度重み関数ルックアップテーブルには、図１６に示す形状の輝度重み関数が保持されている。なお、図１６において、縦軸は輝度重み関数の値、すなわち輝度加重値φ（λ，L(nl)(p)）を示しており、横軸は中央値λを示している。
【０２０３】
図１６に示す輝度重み関数は、処理対象画素の位置に補間された輝度積分値（および輝度ヒストグラム）の輝度ブロックに相当する輝度レベル、すなわち中央値λと、処理対象画素の輝度値L(nl)(p)との差分値が小さいほど、より大きい値を持つ単峰性形状の関数とされる。
【０２０４】
このような単峰性形状の輝度重み関数が用いられる場合、例えば、積和部２３６は、輝度重み関数保持部２３８に保持された輝度重み関数ルックアップテーブルを参照する代わりに、次式（５）を計算することにより、中央値λごとに輝度加重値φ（λ，L(nl)(p)）を求めるようにしてもよい。
【０２０５】
【数５】
0005472734.tif 000006
【０２０６】
ここで、式（５）において、σｔｈは、輝度重み関数の裾野の広がりの大きさを決める定数であり、予め定められている。積和部２３６は、式（５）の右辺に輝度値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)を算出する。
【０２１５】
【数６】
0005472734.tif 000007
【０２１６】
ここで、式（６）において、ΣＳinterpolated（λ）・φ（λ，L(nl)(p)）は、積和部２３６から供給される積和された輝度積分値を示しており、ΣＨinterpolated（λ）・φ（λ，L(nl)(p)）は、積和部２３７から供給される積和された輝度ヒストグラムを示している。
【０２１７】
したがって、ブロック積分値を補間係数および輝度加重値で重み付き加算して得られた加重和を、ブロックヒストグラムを補間係数および輝度加重値で重み付き加算して得られた加重和で除算することにより、ブロック積分値の加重平均の値が求まり、その値が大局輝度値Ll(nl)(p)とされる。
【０２１８】
ステップＳ２１８において、除算部２７７は、求めた大局輝度値Ll(nl)(p)を、トーンカーブ算出部２１９およびマッピング部２２１に出力する。大局輝度値が出力されると、大局輝度値算出処理は終了し、その後、処理は図１１のステップＳ１５２に進む。
【０２１９】
このようにして、加重積和部２１８は、処理対象画素近傍の空間ブロックから得られる輝度ブロックのブロック積分値およびブロックヒストグラムから大局輝度値を求める。
【０２２０】
ブロック積分値は、空間ブロックごとに、近い輝度値を持った画素を同じ輝度ブロックに属す画素とし、輝度ブロックごとに画素の輝度値を積分して得られる値である。また、ブロックヒストグラムは、各輝度ブロックに属す画素数を示す頻度値である。したがって、処理対象画素の輝度値に近い輝度レベルの輝度ブロックに重みをおいて、輝度ブロックの特性を示す特性値、例えば輝度ブロックのブロック積分値の積和を行うことにより、処理対象画素近傍の空間ブロック内の画素のうち、輝度値が処理対象画素に近い画素の輝度値の積分結果を得ることになる。
【０２２１】
その結果、例えば、処理対象画素近傍の１６個の空間ブロックといった、広範囲な領域内の画素の輝度値を積分しても、処理対象画素とは異なる明るさである、処理対象画素の属す被写体（処理対象画素により表示される被写体）とは、別の被写体の画素による影響は少なく、処理対象画素が属す被写体の平均輝度値を示す大局輝度値を算出することができる。
【０２２２】
さらに、その際、時間的に１つ前のフレームで得られるブロック積分値およびブロックヒストグラムに合わせて、次のフレームのレベルと座標が補正されているので、加重積和部２１８でのレベル次元および空間次元の補間の誤差を解消することができる。
【０２２３】
［座標補正処理の例］
次に、図１７のフローチャートを参照して、図１５のステップＳ１２２の座標補正処理について説明する。
【０２２４】
信号レベル補正処理部２１７からの輝度値L(nl)(p)が供給されると、座標補正部２３１および座標補正部２３２は、ステップＳ２５１において、処理対象画素に対する座標の補正量をそれぞれ読み込む。この座標の補正量は、図１０のステップＳ１２０においてCPU１２２により決定されて、供給されている。
【０２２５】
ステップＳ２５２において、座標補正部２３１および座標補正部２３２は、信号レベル補正処理部２１７からの輝度値L(nl)(p)の座標に対して、読み込んだ補正量を演算する。その後、処理は、図１５のステップＳ２１３に進む。
【０２２６】
これにより、現在処理しているフレームとそのフレームよりも時間的に１つ前のフレームとの座標（画角）をそろえることができる。
【０２２７】
［信号レベルの変化量の判定処理の例］
次に、図１８のフローチャートを参照して、図１０のステップＳ１１９の信号レベルの変化量の判定処理について説明する。
【０２２８】
CPU１２２は、ステップＳ２７１において、次フレームの露出制御値を決定する。この露出制御値とは、図５の絞り１１２を制御する値である。そして、CPU１２２は、ステップＳ２７２において、直前のフレームの露出制御値と、次フレームの露出制御値を用いて、フレーム間の露出制御値の差分を計算する。
【０２２９】
CPU１２２は、ステップＳ２７３において、計算した制御値の差分から、露出値の変化量を計算し、ステップＳ２７４において、露出値の変化量から、信号レベルの補正量を決定し、図８の信号レベル補正処理部２１７に供給する。この信号レベルの補正量は、上述した図１４のステップＳ１９１において、信号レベル補正処理部２１７で用いられる。
【０２３０】
［座標の変化量の判定処理の例］
次に、図１９のフローチャートを参照して、図１０のステップＳ１２０の座標の変化量の判定処理について説明する。
【０２３１】
CPU１２２は、ステップＳ２９１において、直前のフレームでの座標の変化量を計算する。CPU１２２は、例えば、いま処理をしていた直前のフレームと、そのフレームの時間的に１つ前のフレームの画像データをDSP１１６から取得し、取得したフレーム間において動き探索などを行い、フレーム間のずれを検出することで、座標の変化量を計算する。
【０２３２】
なお、動き探索は、CPU１２２自身が行うようにしてもよいし、専用回路を設けるようにしてもよい。また、座標の変化量の計算は、図５のジャイロセンサ１２４からの検出情報を積分などすることにより、画角の変化量を求め、フレーム間のずれを検出することで行うようにしてもよい。すなわち、フレーム間のずれを検出できればよく、その検出方法は限定されない。
【０２３３】
ステップＳ２９２において、CPU１２２は、次フレームの座標変化量を、ステップＳ２９１において計算した直前の座標の変化量から推定する。そして、ステップＳ２９３において、CPU１２２は、推定した座標の変化量を、次フレームにおける座標の補正量に決定し、決定した座標の補正量を、図９の座標補正部２３１および座標補正部２３２に供給する。この座標の補正量は、上述した図１７のステップＳ２５１において、座標補正部２３１および座標補正部２３２でそれぞれ用いられる。
【０２３４】
以上のように、現在処理しているフレームよりも時間的に１つ前のフレームから、現在処理しているフレームに対する信号レベルと画角（座標）の変化を検出し、現在処理しているフレームにおいて、検出した変化を補正することにより、フレーム間の信号レベルと画角をそろえるようにした。
【０２３５】
したがって、加重積和部２１８におけるレベル次元の補間誤差や、マッピング部２２１および２２２のトーンカーブ処理の不整合が解消され、理想的な輝度階調特性を持った出力輝度Lu(nl)(p)が得られるようになる。また、入力RGB信号の補正量は、入力輝度L(nl)(p)と出力輝度Lu(nl)(p)の関係から定義されるため、出力輝度の階調特性さえ良好に得られれば、出力RGB信号の階調特性も良好になる。さらに、加重積和部２１８での空間次元の補間の誤差を解消することができる。
【０２３６】
その結果、複数ステップで構成される階調補正処理において、ステップ間で画像が異なる場合でも、画質の劣化（HALOや階調不良）を防ぐことができる。これにより、画像の処理時の画質を改善することができる。
【０２３７】
なお、上記説明においては、発明の概要において上述した図３の場合（２パス目の画像を、１パス目の画像に合わせる場合）の画像処理装置３１に対応するデジタルカメラの例について説明した。次に、図４の場合（１パス目の画像を、２パス目の画像に合わせる場合）の画像処理装置６１に対応するデジタルカメラの例について説明する。
【０２３８】
図２０は、図７の輝度階調補正部１８３の機能の他の構成の例を示すブロック図である。
【０２３９】
図２０の輝度階調補正部１８３は、輝度域情報算出部２１１、輝度域情報メモリ２１２、ブロックヒストグラム算出部２１３、ブロックヒストグラムメモリ２１４、ブロック積分値算出部２１５、ブロック積分値メモリ２１６、加重積和部２１８、トーンカーブ算出部２１９、トーンカーブメモリ２２０、マッピング部２２１、マッピング部２２２、およびコントラスト補正部２２３を備えている点は、図８の輝度階調補正部１８３と共通している。
【０２４０】
また、図２０の輝度階調補正部１８３は、信号レベル補正処理部２１７が除かれた点、並びに、輝度補正処理部２６１、輝度域情報メモリ２６２、再標本化処理部２６３、ブロックヒストグラムメモリ２６４、再標本化処理部２６５、輝度補正処理部２６６、およびブロック積分値メモリ２６７が追加された点が、図８の輝度階調補正部１８３と異なる。
【０２４１】
ここで、図２０の例において、輝度域情報算出部２１１は、図４の輝度域情報算出部２２に対応し、輝度域情報メモリ２１２は、図４の輝度域情報メモリ２３に対応している。また、ブロックヒストグラム算出部２１３およびブロック積分値算出部２１５は、図４のLPF２４に対応し、ブロックヒストグラムメモリ２１４およびブロック積分値メモリ２１６は、図４の中間メモリ２５に対応している。加重積和部２１８乃至コントラスト補正部２２３は、図４の階調圧縮処理部２６に対応している。
【０２４２】
また、輝度補正処理部２６１は、図４の補正処理部８１に対応し、輝度域情報メモリ２６２は、図４の輝度域情報メモリ８２に対応している。再標本化処理部２６３、再標本化処理部２６５、および輝度補正処理部２６６は、図４の補正処理部８３に対応し、ブロックヒストグラムメモリ２６４およびブロック積分値メモリ２６７は、図４の中間メモリ８４に対応している。
【０２４３】
すなわち、輝度補正処理部２６１、再標本化処理部２６３、再標本化処理部２６５、および輝度補正処理部２６６においては、第１のステップで求められた代表値である中間データから、第２のステップの画像の代表値に相当する値が求められる。
【０２４４】
輝度補正処理部２６１は、画像の平均レベルの偏差の補正処理を行う。具体的には、輝度補正処理部２６１は、図５のCPU２１１が予測したステップ間の平均レベルの偏差（すなわち、信号レベルの補正量）を受け取り、偏差に相当する分を、輝度域情報メモリ２１２の輝度域情報に乗算することで、輝度域情報を更新する。なお、対数変換が行われる場合には、乗算は加算に変えられる。更新された輝度域情報は、輝度域情報メモリ２６２に格納される。輝度域情報メモリ２６２は、輝度補正処理部２６１から供給された輝度域情報を一時的に記録し、トーンカーブ算出部２１９に供給する。
【０２４５】
再標本化処理部２６３は、ブロックヒストグラムメモリ２１４のブロックヒストグラムの標本化の位相を調整する。具体的には、標本化の位相の調整は、図５のCPU２１１が予測したステップ間の平均レベルの偏差と、位置の偏差（すなわち、信号レベルの補正量と、座標の補正量）をもとに、その偏差だけずれた位相での標本値を求めることで行われる。ここでの補正フィルタとしては、例えば、Lanczosフィルタが用いられる。
【０２４６】
再標本化処理部２６３は、標本化の位相を調整したブロックヒストグラムを、輝度補正処理部２６６に供給するとともに、ブロックヒストグラムメモリ２６４に格納する。ブロックヒストグラムメモリ２６４は、再標本化処理部２６３から供給されたブロックヒストグラムを一時的に記録し、加重積和部２１８に供給する。
【０２４７】
再標本化処理部２６５は、ブロック積分値メモリ２１６のブロック積分値の標本化の位相を調整し、標本化の位相を調整したブロック積分値を、輝度補正処理部２６６に供給する。ブロック積分値の標本化の位相の調整は、ブロックヒストグラムの標本化の位相の調整と同様に行われる。
【０２４８】
輝度補正処理部２６６は、再標本化処理部２６５により標本化の位相が調整されたブロック積分値におけるレベルの偏差の補正処理を行う。具体的には、輝度補正処理部２６６は、図５のCPU２１１が予測したステップ間の平均レベルの偏差（すなわち、信号レベルの補正量）と、再標本化処理部２６３により標本化の位相が調整されたブロックヒストグラムとを受け取る。そして、輝度補正処理部２６６は、偏差に相当する分で、再標本化処理部２６３からのブロックヒストグラムを補正したものを、再標本化処理部２６５からのブロック積分値に乗算することで、ブロック積分値を更新する。なお、対数変換が行われる場合には、乗算は加算に変えられる。更新されたブロック積分値は、ブロック積分値メモリ２６７に格納される。ブロック積分値メモリ２６７は、輝度補正処理部２６６から供給されたブロック積分値を一時的に記録し、加重積和部２１８に供給する。
【０２４９】
そして、加重積和部２１８は、図７の非線形変換部１８２からの輝度値L(nl)(p)と、ブロックヒストグラムメモリ２６４からのブロックヒストグラム、およびブロック積分値メモリ２６７からのブロック積分値とから、輝度値L(nl)(p)からなる輝度画像のごく低周波成分からなる画像（以下、大局輝度画像と称する）の輝度値である大局輝度値Ll(nl)(p)を算出する。
【０２５０】
トーンカーブ算出部２１９は、輝度域情報メモリ２６２からの輝度域情報と、加重積和部２１８からの大局輝度値Ll(nl)(p)とから、輝度値の階調を圧縮するために適用されるトーンカーブの形状を算出し、その算出結果をトーンカーブメモリ２２０に供給する。
【０２５１】
マッピング部２２２は、トーンカーブメモリ２２０に記録されているトーンカーブに基づいて、非線形変換部１８２からの輝度値L(nl)(p)の階調を圧縮（補正）し、階調補正により得られた輝度値Lc(nl)(p)をコントラスト補正部２２３に供給する。
【０２５２】
すなわち、輝度階調補正部１８３も、図８の場合と同様に、２ステップ構成の輝度階調補正処理を行う構成となっている。図２０の構成では、第１ステップの処理が、輝度域情報算出部２１１、ブロックヒストグラム算出部２１３、およびブロック積分値算出部２１５により行われ、その計算結果である中間データが、輝度域情報メモリ２１２、ブロックヒストグラムメモリ２１４、およびブロック積分値メモリ２１６にそれぞれ格納される。
【０２５３】
そして、第２のステップの処理の前に、輝度域情報メモリ２１２、ブロックヒストグラムメモリ２１４、およびブロック積分値メモリ２１６に格納された中間データが、第２のステップ処理時の画像のレベルと座標の変化に合わせる補正が行われる。補正が行われた中間データは、輝度域情報メモリ２６２、ブロックヒストグラムメモリ２６４、およびブロック積分値メモリ２６７に格納される。
【０２５４】
次に、第２のステップの処理として、ブロックヒストグラムメモリ２６４およびブロック積分値メモリ２６７から中間データが読み出され、読み出された中間データに対して、加重積和部２１８により補間処理が行われる。そして、補間処理後の出力値が用いられて、マッピング部２２１および２２２、並びにコントラスト補正部２２３により階調が調整される。このとき、マッピング部２２１および２２２、並びにコントラスト補正部２２３で用いられるトーンカーブは、輝度域情報メモリ２６２の値を用いてトーンカーブ算出部２１９により算出され、トーンカーブメモリ２２０に格納されている。
【０２５５】
すなわち、図２０の場合も、加重積和部２１８以降の処理においては、ステップ間に生じるレベルや座標のずれが補正された画像が用いられて処理が行われるので、画像劣化を防ぐことができる。
【０２５６】
図２１は、図２０の加重積和部２１８の機能の構成例を示す図である。図２１の加重積和部２１８は、補間部２３３、補間部２３４、空間重み関数保持部２３５、積和部２３６、積和部２３７、輝度重み関数保持部２３８、および除算部２３９を備えている点が、図９の加重積和部２１８と共通している。図２１の加重積和部２１８は、座標補正部２３１、座標補正部２３２が除かれている点のみが、図９の加重積和部２１８と異なっているだけである。
【０２５７】
すなわち、図９の場合と異なって、図７の非線形変換部１８２からの輝度値L(nl)(p)の画素、つまり処理対象画素の位置が、それぞれ、補間部２３３および補間部２３４に供給される。補間部２３３および補間部２３４は、パラメータとして、空間重み関数保持部２３５に保持されている空間重み関数ルックアップテーブルと、非線形変換部１８２からの入力画像の位置情報を用いて、空間次元の補間伸長処理をそれぞれ行う。それ以外は、図９の場合と基本的に同じであるので、その説明は省略される。
【０２５８】
［画像処理の他の例］
次に、図２２のフローチャートを参照して、図２０の輝度階調補正部１８３の場合の図５のデジタルカメラ１０１の画像処理を説明する。なお、図２２のステップＳ３１１乃至Ｓ３１３は、図１０のステップＳ１１１乃至Ｓ１１３と基本的に同様の処理を行うので、その説明を省略する。
【０２５９】
図２２のステップＳ３１４において、階調補正処理部１５３は、階調補正処理を行い、デモザイク処理部１５２からのＲＧＢ画像の階調を補正する。このとき、階調補正処理部１５３は、処理対象となっているフレームの時間的に１つ前のフレームの画像の信号レベルと画角を、処理対象となっているフレームの画像の信号レベルと画角に合わせる補正処理を行ってから、階調補正処理を行う。すなわち、時間的に１つ前のフレームの代表値である中間データを、処理対象となっているフレームの画像の信号レベルと画角に合わせる補正処理が行われる。そして、階調補正処理部１５３は、階調の補正されたＲＧＢ画像をガンマ補正処理部１５４に供給する。なお、階調補正処理の詳細は、図２３および図２４を参照して後述する。
【０２６０】
また、次のステップＳ３１５乃至Ｓ３２０は、図１０のステップＳ１１５乃至Ｓ１２０と基本的に同様の処理を行うので、その詳細な説明を省略する。
【０２６１】
すなわち、ステップＳ３１５において、ガンマ補正処理部１５４は、階調補正処理部１５３からのＲＧＢ画像にガンマ補正を施してYC変換処理部１５５に供給する。
【０２６２】
ステップＳ３１６において、YC変換処理部１５５は、ＹＣ変換処理を行う。例えば、YC変換処理部１５５は、ガンマ補正処理部１５４からのＲＧＢ画像に対してＹＣマトリックス処理およびクロマ成分に対する帯域制限を行うことにより、ＲＧＢ画像からＹ画像およびＣ画像を生成する。そして、ステップＳ３１７において、YC変換処理部１５５は、Ｙ画像およびＣ画像を出力する。例えば、YC変換処理部１５５は、必要に応じてＹ画像およびＣ画像をLCDドライバ１１８またはCODEC１２０に出力する。
【０２６３】
ステップＳ３１８において、ホワイトバランス処理部１５１は、後続するフレームが存在するか否かを判定する。例えば、DSP１１６の図示せぬ内部のメモリに後続するフレームのモザイク画像が蓄積されている場合、後続フレームが存在すると判定される。
【０２６４】
ステップＳ３１８において、後続するフレームが存在すると判定された場合、処理は、ステップＳ３１９に進む。ステップＳ３１９において、CPU１２２は、後続フレームの露出制御値を決定することなどにより、図１８を参照して上述したフレーム間の信号レベルの変化量の判定処理を行う。この処理により、信号レベルの補正量が決定され、決定された信号レベルの補正量は、図２０の輝度補正処理部２６１および輝度補正処理部２６６に供給される。
【０２６５】
さらに、CPU１２２は、ステップＳ３２０において、図１９を参照して上述したフレーム間の座標の変化量の判定処理を行う。判定された座標の変化量は、図２０の再標本化処理部２６３および再標本化処理部２６５に供給される。
【０２６６】
ステップＳ３２１において、輝度補正処理部２６１は、ステップＳ３１４の処理により格納された輝度域情報メモリ２１２の輝度域情報の補正処理を行う。この輝度域情報の補正処理の詳細は、図２６を参照して後述するが、ステップＳ３２１の処理により、次のフレームの信号レベルに合わせるように、輝度域情報メモリ２１２の輝度域情報が更新されて、輝度域情報メモリ２６２に格納される。
【０２６７】
ステップＳ３２２において、再標本化処理部２６３および再標本化処理部２６５は、ステップＳ３１４の処理により格納された中間データ（ブロックヒストグラムメモリ２１４のブロックヒストグラムおよびブロック積分値メモリ２１６のブロック積分値）の再標本化処理を行う。この再標本化処理の詳細は、図２７を参照して後述するが、ステップＳ３２２の処理により、次のフレームの画像の位置に合わせるように、ブロックヒストグラムが更新され、ブロックヒストグラムメモリ２６４に格納される。また、ブロック積分値も更新され、輝度補正処理部２６６に供給される。
【０２６８】
ステップＳ３２３において、輝度補正処理部２６６は、再標本化処理部２６５により標本化の位相が調整されたブロック積分値における輝度情報の補正処理を行う。この輝度情報の補正処理の詳細は、図２８を参照して後述するが、ステップＳ３２３の処理により、次のフレームの信号レベルに合わせるように、再標本化処理部２６５からのブロック積分値が更新されて、ブロック積分値メモリ２６７に格納される。
【０２６９】
以上のステップＳ３２１乃至Ｓ３２３の処理により、時間的に次のフレームのステップＳ３１４の処理においては、更新された代表値である中間データ（輝度域情報、ブロックヒストグラム、およびブロック積分値）が用いられて、階調補正処理が行われる。
【０２７０】
ステップＳ３２３の後、処理は、ステップＳ３１１に戻り、処理対象となる次のフレームのモザイク画像が読み込まれる。これに対して、ステップＳ３１８において、後続するフレームが存在しないと判定された場合、画像処理は終了する。
【０２７１】
［階調補正処理の他の例］
次に、図２３および図２４のフローチャートを参照して、図２２のステップＳ３１４の処理に対応する階調補正処理について説明する。なお、図２３のステップＳ３４１乃至Ｓ３４９は、図１１のステップＳ１４１乃至Ｓ１４９と基本的に同様の処理を行う。また、図２３のステップＳ３５１乃至Ｓ３５４は、図１１のステップＳ１５２乃至Ｓ１５５と基本的に同様の処理を行い、図２４のステップＳ３５５乃至Ｓ３６２は、図１２のステップＳ１５６乃至Ｓ１６３と基本的に同様の処理を行う。したがって、それらの処理の説明は、繰り返しになるので省略する。
【０２７２】
ステップＳ１５１において、加重積和部２１８は、図７の非線形変換部１８２からの輝度値L(nl)(p)を用いて、大局輝度値算出処理を行って、処理対象画素の大局輝度値Ll(nl)(p)を算出する。なお、大局輝度値算出処理の詳細は、図２５を参照して後述する算出された処理対象画素の大局輝度値Ll(nl)(p)は、トーンカーブ算出部２１９およびマッピング部２２１に供給される。
【０２７３】
［大局輝度値算出処理の他の例］
次に、図２５のフローチャートを参照して、図２３のステップＳ３５０の大局輝度値算出処理について説明する。なお、図２５のステップＳ３７１乃至Ｓ３７７は、図１５のステップＳ２１１、およびＳ２１３乃至Ｓ２１８と基本的に同様の処理を行う。すなわち、図２５の大局輝度値算出処理は、図１５のステップＳ２１２の座標補正処理に対応する処理がない点のみ、図１５の大局輝度値算出処理と異なっているだけであり、その説明が繰り返しになるので省略される。
【０２７４】
［輝度域情報の補正処理の例］
次に、図２６のフローチャートを参照して、図２２のステップＳ３２１の輝度域情報の補正処理について説明する。
【０２７５】
輝度補正処理部２６１は、ステップＳ３９１において、信号レベルの補正量を読み込む。この信号レベルの補正量は、図２２のステップＳ３１９において、CPU１２２により決定されて、供給されている。
【０２７６】
輝度補正処理部２６１は、ステップＳ３９２において、輝度域情報メモリ２１２に格納されている時間的に１つ前のフレームで求められた輝度域情報を読み込む。
【０２７７】
ステップＳ３９３において、輝度補正処理部２６１は、信号レベルの補正量に基づくフレーム間の信号レベルの変化に応じて、読み込んだ輝度域情報を更新し、更新した輝度域情報を、輝度域情報メモリ２６２に格納する。
【０２７８】
これにより、現在処理するフレームよりも時間的に１つ前のフレームの信号レベルを、現在処理するフレームの信号レベルに合わせる（そろえる）ことができる。
【０２７９】
［再標本化処理の例］
次に、図２７のフローチャートを参照して、図２２のステップＳ３２２の再標本化処理について説明する。
【０２８０】
再標本化処理部２６３および再標本化処理２６５は、メモリに格納された代表値である中間データに対して、ステップＳ４１１において、空間の再標本化処理を行い、ステップＳ４１２において、信号レベルの再標本化処理を行う。空間の再標本化処理については、図２８を参照し、信号レベルの再標本化処理については、図２９を参照して後述する。
【０２８１】
なお、再標本化処理部２６３が対象とする中間データが、ブロックヒストグラムメモリ２１４のブロックヒストグラムであるのに対して、再標本化処理部２６５が対象とする中間データが、ブロック積分値メモリ２１６のブロック積分値である点が異なるだけである。したがって、次に説明する図２８および図２９においては、代表して、再標本化処理部２６３の例が説明される。
【０２８２】
次に、図２８のフローチャートを参照して、図２７のステップＳ４１１の空間の再標本化処理について説明する。
【０２８３】
再標本化処理部２６３は、ステップＳ４３１において、ブロックヒストグラムメモリ２１４から、中間データ（いまの場合、ブロックヒストグラム）を読み込む。再標本化処理部２６３は、ステップＳ４３２において、座標の補正量を読み込む。この座標の補正量は、図２２のステップＳ３２０において、CPU１２２により決定され、供給されている。
【０２８４】
ステップＳ４３３において、再標本化処理部２６３は、ステップＳ４３２において読み込んだ座標の補正量に基づいて、空間方向、すなわち、２次元フィルタの再標本化の係数を決定する。
【０２８５】
ステップＳ４３４において、再標本化処理部２６３は、ステップＳ４３３で決定した再標本化の係数を用いて、再標本化（畳み込み計算）を行う。再標本化処理部２６３は、ステップＳ４３５において、２次元フィルタの再標本化の結果で、読み込んだ中間データ（ブロックヒストグラム）を更新する。
【０２８６】
次に、図２９のフローチャートを参照して、図２７のステップＳ４１２の信号レベルの再標本化処理について説明する。
【０２８７】
再標本化処理部２６３は、ステップＳ４５１において、空間の再標本化による更新された中間データ（いまの場合、ブロックヒストグラム）を読み込む。再標本化処理部２６３は、ステップＳ４５２において、信号レベルの補正量を読み込む。この信号レベルの補正量は、図２２のステップＳ３１９において、CPU１２２により決定され、供給されている。
【０２８８】
ステップＳ４５３において、再標本化処理部２６３は、ステップＳ４５２において読み込んだ信号レベルの補正量に基づいて、レベル方向、すなわち、１次元フィルタの再標本化の係数を決定する。
【０２８９】
ステップＳ４５４において、再標本化処理部２６３は、ステップＳ４３３で決定した再標本化の係数を用いて、再標本化（畳み込み計算）を行う。再標本化処理部２６３は、ステップＳ４５５において、１次元フィルタの再標本化の結果で、中間データ（ブロックヒストグラム）を更新し、更新したブロックヒストグラムを、輝度補正処理部２６６に出力するとともに、ブロックヒストグラムメモリ２６４に格納する。
【０２９０】
なお、再標本化処理部２６５の場合には、ブロック積分値メモリ２１６のブロック積分値が中間データとして更新され、更新されたブロック積分値が、輝度補正処理部２６６に供給される。
【０２９１】
また、図２７の再標本化処理においては、処理を座標とレベルに分けて、１次元フィルタと２次元フィルタの畳み込み計算を行う例を説明したが、座標とレベルを１度に用いて、３次元フィルタの畳み込み計算を行うようにすることも可能である。
【０２９２】
次に、図３０のフローチャートを参照して、図２２のステップＳ３２３の輝度情報の補正処理について説明する。
【０２９３】
ステップＳ４７１において、輝度補正処理部２６６は、信号レベルの補正量を読み込む。この座標の補正量は、図２２のステップＳ３１９において、CPU１２２により決定され、供給されている。
【０２９４】
輝度補正処理部２６６は、ステップＳ４７２において、再標本化処理部２６３からのブロックヒストグラムと、再標本化処理部２６５からのブロック積分値を読み込む。そして、輝度補正処理部２６６は、信号レベルの補正量が示す信号レベルの変化に応じて、ブロック積分値を更新し、更新したブロック積分値を、ブロック積分値メモリ２６７に格納する。
【０２９５】
具体的には、信号レベルの補正量でブロックヒストグラムを補正したものが、再標本化処理部２６５からのブロック積分値に加算されることで、ブロック積分値の輝度情報が補正されて、更新される。
【０２９６】
以上のように、現在処理しているフレームと、そのフレームよりも時間的に１つ前のフレームから、信号レベルと画角（座標）の変化が検出され、１つ前のフレームを用いて生成され格納されている中間データが、検出した変化で補正される。これにより、フレーム間の信号レベルと画角を合わせることができる。
【０２９７】
したがって、加重積和部２１８におけるレベル次元の補間誤差や、マッピング部２２１および２２２のトーンカーブ処理の不整合が解消され、理想的な輝度階調特性を持った出力輝度Lu(nl)(p)が得られるようになる。また、入力RGB信号の補正量は、入力輝度L(nl)(p)と出力輝度Lu(nl)(p)の関係から定義されるため、出力輝度の階調特性さえ良好に得られれば、出力RGB信号の階調特性も良好になる。さらに、加重積和部２１８での空間次元の補間の誤差を解消することができる。
【０２９８】
その結果、複数ステップで構成される階調補正処理において、ステップ間で画像が異なる場合でも、画質の劣化（HALOや階調不良）を防ぐことができる。これにより、画像の処理時の画質を改善することができる。
【０２９９】
なお、上記説明においては、階調補正を行うデジタルカメラの例を説明してきたが、本発明は、階調補正処理に限らず、バイテラルフィルタ処理を用いる画像処理装置にも適用することができる。
【０３００】
＜３．第３の実施の形態＞
［バイテラルフィルタ処理を用いる画像処理装置の構成例］
図３１は、本発明を適用した、バイテラルフィルタ処理を用いる画像処理装置の第１の構成例を示すブロック図である。なお、従来のバイテラルフィルタ処理については、非特許文献１に記載されている。図３１の画像処理装置３０１は、図３の画像処理装置３１と図８の輝度階調補正部１８３に対応する装置である。
【０３０１】
図３１の例において、画像処理装置３０１は、３次元間引き処理部３１１、２次元畳み込み処理部３１２、補正処理部３１３、３次元補間処理部３１４、正規化処理部３１５、およびレベル補正処理部３１６により構成されている。
【０３０２】
図示せぬ前段から、２次元に分布した画像信号である入力信号のうち、第１のステップの入力信号Ａは、３次元間引き処理部３１１に入力される。３次元間引き処理部３１１と３次元畳み込み処理部３１２は、まとめて、図８のブロックヒストグラム算出部２１３およびブロック積分値算出部２１５に対応している。
【０３０３】
３次元間引き処理部３１１は、入力信号Ａの画像を、ブロックヒストグラムに相当するwとブロック積分値に相当するwiで構成されるhomogeneous vector(wi,w)と扱って間引き、間引かれたhomogeneous vector(wi,w)を、３次元畳み込み処理部３１２に出力する。なお、以下は、単にベクトル(wi,w)と称する。
【０３０４】
この間引かれたベクトル(wi,w)が、代表値である中間データに対応している。３次元畳み込み処理部３１２は、間引かれたベクトル(wi,w)を用いて、バイラテラルフィルタのフィルタ係数の畳み込みを行い、フィルタ後の間引かれたベクトル(wi,w)を３次元補間処理部３１４に出力する。
【０３０５】
補正処理部３１３には、図示せぬ前段から、第２のステップの入力信号Ｂの各補間座標とその座標での信号レベルが入力される。補正処理部３１３は、レベル補正処理部３２１および座標補正処理部３２２により構成されており、レベル補正処理部３２１は、図８の信号レベル補正処理部２１７に対応し、座標補正処理部３２２は、図９の座標補正部２３１および座標補正部２３２に対応している。
【０３０６】
補正処理部３１３は、入力信号Ｂの補間座標と信号レベルを、２つの入力信号ＡおよびＢにおける変化量に応じて補正し、補正した入力信号Ｂの補間座標と信号レベルを３次元補間処理部３１４に供給する。
【０３０７】
３次元補間処理部３１４には、３次元畳み込み処理部３１２からフィルタ後の間引かれたベクトル(wi,w)と、補正処理部３１３により補正された入力信号Ｂの各補間座標とその座標での信号レベルが入力される。３次元補間処理部３１４は、図９の補間部２３３乃至輝度重み関数保持部２３８に対応している。
【０３０８】
３次元補間処理部３１４は、各補間座標とその座標での信号レベルを用いて、フィルタ後の間引かれたベクトル(wi,w)に対して、補間フィルタにより補間処理を行うことで、フルサイズのベクトル(wi,w)を求めて、正規化処理部３１５に出力する。すなわち、補正処理部３１３においては、３次元補間処理部３１４の補間フィルタの位相の変化が補正されている。
【０３０９】
正規化処理部３１５は、図９の除算部２３９に対応している。正規化処理部３１５は、３次元補間処理部３１４からのベクトル(wi,w)から出力のレベルiを求めて、画像をレベル補正処理部３１６に出力する。
【０３１０】
正規化処理の出力では、第１のステップのフィルタ出力に相当するレベルが出力されている。したがって、レベル補正処理部３１６は、第１のステップのフィルタ出力に相当するレベルを、第２のステップ相当のレベルに変換する処理を行い、変換処理後の画像を、出力信号として出力する。
【０３１１】
なお、上述した図８の輝度階調補正部１８３においては、レベル補正処理部３１６に対応するものは存在しない。すなわち、実際には、図８のトーンカーブ算出部２１９が、レベル補正処理を相殺するトーンカーブを作成し、そのトーンカーブを用いることにより、マッピング部２２１がその影響を相殺している。
【０３１２】
具体的には、トーンカーブ算出部２１９のトーンカーブ処理Lc1=f(L1)のトーンカーブf(L1)は、輝度域情報メモリ２１２の輝度域情報Ｐｎから作成される。このため、第１のステップの入力画像に適したトーンカーブとなり、第１のステップと第２のステップの入力画像が異なる場合、第２のステップの入力画像には最適にはならない。
【０３１３】
したがって、トーンカーブ算出部２１９は、次式（７）に示されるように、トーンカーブ処理の入力信号に対して、第２のステップの輝度Ll2を、第１のステップの輝度Ll1に合わせる補正を行っている。
【数７】
0005472734.tif 000008
なお、式（７）において、サブスクリプトは信号のステップを表している。また、この処理は、後述する式（１１）においては、＋ΔＩの項に相当する。
【０３１４】
ここで、一般な、画像に対するバイラテラルフィルタＢＬＦ（ｐｃ）では、次式（８）に示されるように、空間方向の重み関数ω（ｐ−ｐｃ）および輝度値方向の重み関数φ（Ｉ（ｐ）−Ｉ（ｐｃ））で重み付けした画素位置ｐｃの周囲の画素の画素値Ｉ（ｐ）を加算する演算が行われる。
【０３１５】
【数８】
0005472734.tif 000009
【０３１６】
ただし、３次元畳み込み処理部３１２および３次元補間処理部３１４において行われる２ステップ処理構成のバイラテラルフィルタの場合には、まず、３次元畳み込み処理部３１２において、第１のステップとして、次式（９）に示される標本化処理が行われる。
【数９】
0005472734.tif 000010
【０３１７】
式（９）において、Ｓｓｍｐ，Ｈｓｍpは、ＢＬＰ（ｐｃ）の分母、分子の式を、それぞれ代表値（座標ｐｓ＝（ｘｓ、ｙｓ），レベルＩｓ）の周辺で標本化したもの、すなわち、代表値である中間データである。Ｓｓｍｐは、ブロックヒストグラムに対応しており、Ｈｓｍｐは、ブロック積分値に対応している。また、式（９）におけるサブスクリプトの１は、第１のステップの入力画像であることを表す。
【０３１８】
そして、３次元補間処理部３１４において、第２のステップとして、次式（１０）に示される演算が行われる。
【数１０】
0005472734.tif 000011
【０３１９】
第２のステップでのバイテラルフィルタの計算値は、第１のステップの標本化信号を補間して得られる。式（１０）において、ωipt,φiptは、補間係数の関数であり、サブスクリプトの２は、第２のステップの入力画像であることを表す。
【０３２０】
２ステップ処理構成の計算は、第１のステップと第２のステップの入力画像が同一の時に最も精度がよい。しかしながら、上述したように、例えば、動画像の場合など、第１のステップの入力画像と第２のステップの入力画像の画角やレベルに誤差が生じてしまうことがある。
【０３２１】
例えば、画角に誤差Δｐが生じた場合、ｐ１＝ｐｃ２−Δｐとなるので、式（９）において、ω（ｐｃ２−ｐｓ−Δｐ）となり、空間フィルタ特性ωに誤差が生じてしまう。
【０３２２】
また、例えば、信号レベルに誤差が生じた場合、Ｉ１（ ）＝Ｉ２（ ）−ΔＩとなるので、式（９）において、φ（Ｉ２−Ｉs−ΔＩ）となり、レベルフィルタ特性φに誤差が生じてしまう。信号を対数空間で扱う際には、Ｉ２（ｐｃ２）−ΔＩ）となり、レベル特性Ｉに誤差が生じる。なお、誤差が乗算でかかる場合（リニア信号の場合）は、レベル誤差は、Ｉ１（ ）＝Ｉ２（ ）÷ΔＩで表わされる。
【０３２３】
そこで、補正処理部３１３は、次の式（１１）に示される補間処理により誤差を補正する。
【０３２４】
【数１１】
0005472734.tif 000012
すなわち、ｐｃｃ＝ｐｃ２−Δｐ＝ｐ１とすることで、画角誤差が補正される。また、Ic（ ）＝Ｉ２（ ）−ΔＩと補正し、ＢＬＦｃ＝ＢＬＦ＋ΔＩ（信号が対数空間のとき）とすることで、レベル誤差が補正される。なお、乗算誤差では、加減算が乗除算に置き換えられる。サブスクリプトのｃは、補正された信号であることを表す。
【０３２５】
［バイテラルフィルタ処理を用いる画像処理装置の他の構成例］
図３２は、本発明を適用した、バイテラルフィルタ処理を用いる画像処理装置の第２の構成例を示すブロック図である。図３２の画像処理装置３５１は、図４の画像処理装置６１と図２０の輝度階調補正部１８３に対応する装置である。
【０３２６】
図３２の画像処理装置３５１は、補正処理部３１３が補正処理部３６１に入れ替わった点と、レベル補正処理部３１６が除かれた点が、図３１の画像処理装置３０１と異なっている。図３２の画像処理装置３５１は、３次元間引き処理部３１１、２次元畳み込み処理部３１２、３次元補間処理部３１４、および正規化処理部３１５を備えている点は、図２１の画像処理装置３０１と共通している。
【０３２７】
すなわち、補正処理部３６１は、輝度補正処理部３７１と再標本化処理部３７２により構成されており、輝度補正処理部３７１は、図２０の輝度補正処理部２６６に対応し、再標本化処理部３７２は、図２０の再標本化処理部２６３および再標本化処理部２６５に対応している。
【０３２８】
補正処理部３６１は、フィルタ後の入力信号Ａの間引かれたベクトル(wi,w)、すなわち、代表値である中間データを、入力信号Ａに対する入力信号Ｂにおける変化量に応じて、補正および再標本化し、３次元補間処理部３１４に出力する。
【０３２９】
具体的には、補正処理部３６１は、次の式（１２）および式（１３）に示されるように、中間データ（Ｈｓｍｐ，Ｓｓｍｐ）の誤差を補正して、新たな中間データ（Ｈｓｍｐ２，Ｓｓｍｐ２）を作成する。
【０３３０】
【数１２】
0005472734.tif 000013
【数１３】
0005472734.tif 000014
ここで、Ｗは、再標本化のためのフィルタ関数である。このフィルタ関数には、Lanczos関数やsinc関数が用いられる。
【０３３１】
式（１２）は、ブロックヒストグラムの再標本化処理に相当し、式（１２）の右辺のフィルタ関数Ｗの項が、上述した図２８のステップＳ４３４と図２９のステップＳ４５３の処理に相当する処理である。そして、右辺全体が、図２８のステップＳ４３５と図２９のステップＳ４５５に相当する処理となる。
【０３３２】
式（１３）は、ブロック積分値の再標本化処理と輝度情報補正処理に相当する。すなわち、式（１３）の右辺のフィルタ関数Ｗの項が、ブロック積分値の再標本化処理（上述した図２８のステップＳ４３４と図２９のステップＳ４５３の処理）に相当する処理である。そして、右辺のフィルタ関数の項とＳｓｍｐ（ｐｓ，Ｉｓ）との乗算が、図２８のステップＳ４３５と図２９のステップＳ４５５に相当する処理となる。
【０３３３】
さらに、右辺のΔＩとＨｓｍp２（ｐｓ，Ｉｓ）との乗算が、図３０を参照して上述した輝度情報の補正処理に相当している。
【０３３４】
３次元補間処理部３１４には、補正処理部３６１により補正されたフィルタ後の間引かれたベクトル(wi,w)と、図示せぬ前段から入力された入力信号Ｂの各補間座標とその座標での信号レベルが入力される。３次元補間処理部３１４は、各補間座標とその座標での信号レベルを用いて、フィルタ後の間引かれたベクトル(wi,w)に対して、補間フィルタにより補間処理を行うことで、フルサイズのベクトル(wi,w)を求めて、正規化処理部３１５に出力する。すなわち、補正処理部３６１においても、３次元補間処理部３１４の補間フィルタの位相の変化が補正されている。
【０３３５】
なお、図３１の画像処理装置３０１においては、レベル補正処理部３１６により第１のステップのフィルタ出力に相当するレベルを、第２のステップ相当のレベルに変換する処理が行われていた。図３２の画像処理装置３５１においても、これに対応する処理が行われている。図３２の例では図示されていないが、その処理は、対応する図２０の輝度階調補正部１８３の輝度補正処理部２６１において行われる。
【０３３６】
輝度補正処理部２６１は、階調補正処理の特性を、第２のステップの画像の輝度に対して最適にしている。この処理がないと、第１のステップの画像に対して最適な特性が、トーンカーブ算出部２１９で作成されてしまう。
【０３３７】
具体的には、輝度補正処理部２６１は、式（１４）に示されるように、輝度域情報を補正している。
【数１４】
0005472734.tif 000015
【０３３８】
このように補正することで、輝度域情報が、第２のステップの輝度域情報の近似値に変換される。結果として、図２０のトーンカーブ算出部２１９においても、第２のステップの画像に対して最適なトーンカーブが作成される。
【０３３９】
以上のように、例えば、一般的なバイテラルフィルタ処理であれば、上述したようにレベルや画角を補正することができる。したがって、本発明は、バイテラルフィルタを用いるアプリケーション一般に適用することができる。
【０３４０】
以下、さらに、一般的なモデルを用いて本発明について説明する。
【０３４１】
＜４．第４の実施の形態＞
[一般的な画像処理装置の構成例]
図３３は、本発明を適用した、より一般的な画像処理装置の第１の構成例を示すブロック図である。図３３の画像処理装置４０１は、図３の画像処理装置３１、図８の輝度階調補正部１８３、および図３１の画像処理装置３０１に対応する装置である。
【０３４２】
図３３の例において、画像処理装置４０１は、代表値算出部４１１、１フレーム遅延部４１２、補正処理部４１３、補正処理部４１４、補間処理部４１５、および補正処理部４１６により構成されている。
【０３４３】
代表値算出部４１１には、図示せぬ前段から、Ｎ（Ｎは自然数）次元の座標に分布した信号である入力信号のうち、第１のステップの入力信号が入力され、補正処理部４１３および補正処理部４１４には、第２のステップの入力信号が入力される。例えば、画像の場合、２次元座標(x,y)とレベルの入力信号となるので、Ｎ＝２となる。音声の場合、１次元座標（時間）とレベルの入力信号となるので、Ｎ＝１となる。
【０３４４】
代表値算出部４１１は、図８のブロックヒストグラム算出部２１３およびブロック積分値算出部２１５、並びに、図３１の３次元間引き処理部３１１および３次元畳み込み処理部３１２に対応している。代表値算出部４１１は、レベル方向の次元を新たに設定し、Ｎ次元＋レベル→Ｎ＋１次元とする。すなわち、代表値算出部４１１は、入力信号を、homogeneous vectorとして扱って、間引き処理および畳み込み処理を行う。homogeneous vectorとして扱うので、信号の次元が１つ増えて、Ｎ＋１次元になり、出力は、Ｎ＋１次元の間引かれたhomogeneous vectorとなる。
【０３４５】
１フレーム遅延部４１２は、図８のブロックヒストグラムメモリ２１４およびブロック積分値メモリ２１６に対応している。１フレーム遅延部４１２は、メモリなどで構成され、Ｎ＋１次元の畳み込み結果であるＮ＋１次元の間引かれたhomogeneous vectorを記憶し、１フレーム遅延させて、補間処理部４１５に出力する。なお、１フレーム遅延部４１２に対応する機能は、図３１において示されていないが、実際には、３次元畳み込み処理部３１２と３次元補間処理部３１４の間に存在する。
【０３４６】
補正処理部４１３には、第２のステップの入力信号の座標信号（Ｎ次元）が入力され、補正処理部４１４には、第２のステップの入力信号の各座標でのレベル（スカラ）が入力される。
【０３４７】
補正処理部４１３は、図９の座標補正部２３１および座標補正部２３２、並びに図３１の座標補正処理部３２２に対応している。補正処理部４１３は、第２の入力信号の座標を、第１の入力信号の座標に合わせる（そろえる）補正を行い、補正を行った第２の入力信号を、補間処理部４１５に出力する。
【０３４８】
補正処理部４１４は、図８の信号レベル補正処理部２１７、および図３１のレベル補正処理部３２１に対応している。補正処理部４１４は、第２の入力信号のレベルを、第１の入力信号のレベルに合わせる（そろえる）補正を行い、補正を行った第２の入力信号を、補間処理部４１５に出力する。すなわち、補正処理部４１３および補正処理部４１４においては、補間処理部４１５の補間フィルタの位相の変化を補正している。
【０３４９】
補間処理部４１５は、図９の補間部２３３乃至輝度重み関数保持部２３８、並びに図３１の３次元補間処理部３１４に対応している。補間処理部４１５は、Ｎ＋１次元から、レベルを得る（Ｎ次元に戻す）処理を行う。すなわち、補間処理部４１５は、間引かれたhomogeneous vectorに対して補間処理を行い、正規化をすることで、レベル（レベル補正前の）を得る処理を行い、Ｎ次元の座標に分布した信号である信号を、補正処理部４１６に出力する。
【０３５０】
補正処理部４１６は、図３１のレベル補正処理部３１６に対応している。補正処理部４１６は、補間処理部４１５からの第１のステップに相当するレベルを、第２のステップ相当のレベルに変換する処理を行い、変換処理後の画像を、出力信号（Ｎ次元）として出力する。
【０３５１】
以上のように、補正処理部４１３および補正処理部４１４において、第２の入力信号を第１の入力信号に合わせる、補間処理部４１５の補間フィルタの位相の変化の補正が行われる。したがって、第１の入力信号と第２の入力信号の座標や画角が異なっていても、画質の劣化を防ぐことができる。
【０３５２】
[一般的な画像処理装置の他の構成例]
図３４は、本発明を適用した、より一般的な画像処理装置の第２の構成例を示すブロック図である。図３４の画像処理装置４５１は、図４の画像処理装置６１、図２０の輝度階調補正部１８３、および図３２の画像処理装置３５１に対応する装置である。
【０３５３】
図３４の例において、画像処理装置４５１は、代表値算出部４１１、１フレーム遅延部４１２、補正処理部４６１、補正処理部４６２、保持部４６３、および補間処理部４１５により構成されている。なお、図３４の画像処理装置４５１と図３３の画像処理装置４０１との違いは、補正処理部４１３および補正処理部４１４が、補正処理部４６１および補正処理部４６２に入れ替わった点、保持部４６３が追加された点、並びに補正処理部４１６が除かれた点である。図３４の画像処理装置４５１が、代表値算出部４１１および１フレーム遅延部４１２、および補間処理部４１５を備える点は、図３３の画像処理装置４０１と共通している。
【０３５４】
すなわち、１フレーム遅延部４１２からのＮ＋１次元の間引かれたhomogeneous vectorは、１フレーム遅延されて、補正処理部４６１に出力される。
【０３５５】
補正処理部４６１は、図２０の再標本化処理部２６３および再標本化処理部２６５、並びに図３２の再標本化処理部３７２に対応している。補正処理部４６１は、Ｎ＋１次元の間引かれたhomogeneous vectorの位相を、第１のステップの入力画像と第２のステップの入力画像の座標の変化量に応じて再標本化する。補正処理部４６１は、再標本化したＮ＋１次元の間引かれたhomogeneous vectorを、補正処理部４６２に出力する。
【０３５６】
補正処理部４６２は、図２０の輝度補正処理部２６６、および図３２の輝度補正処理部３７１に対応している。補正処理部４６２は、Ｎ＋１次元の間引かれたhomogeneous vectorの輝度を、第１のステップの入力画像と第２のステップの入力画像の輝度の変化量に応じて補正する。補正処理部４６２は、補正したＮ＋１次元の間引かれたhomogeneous vectorを、保持部４６３に出力する。すなわち、補正処理部４６１および補正処理部４６２においては、補間処理部４１５の補間フィルタの位相の変化を補正している。
【０３５７】
保持部４６３は、Ｎ＋１次元の間引かれたhomogeneous vectorを保持し、補間処理部４１５に出力する。
【０３５８】
補間処理部４１５には、第２のステップの入力信号が入力される。補間処理部４１５は、Ｎ＋１次元から、レベルを得る（Ｎ次元に戻す）処理を行う。すなわち、補間処理部４１５は、間引かれたhomogeneous vectorに対して補間処理を行い、正規化をすることで、レベル（レベル補正前の）を得る処理を行い、Ｎ次元の座標に分布した信号である信号を、出力信号（Ｎ次元）として出力する。
【０３５９】
以上のように、補正処理部４６１および補正処理部４６２において、第１の入力信号で生成されたデータ（間引かれたhomogeneous vector）を第２の入力信号に合わせる、補間処理部４１５の補間フィルタの位相の変化の補正が行われる。したがって、第１の入力信号と第２の入力信号の座標や画角が異なっていても、画質の劣化を防ぐことができる。
【０３６０】
なお、本発明は、上述した階調補正処理、バイテラルフィルタ処理、画像処理に限らず、例えば、２パスで処理され、１パス目と２パス目で異なる画像が入力される処理を行う画像処理装置や画像処理システムに適用することができる。
【０３６１】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
【０３６２】
［パーソナルコンピュータの構成例］
図３５は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０３６３】
コンピュータにおいて、CPU(Central Processing Unit)５０１、ROM(Read Only Memory)５０２、RAM(Random Access Memory)５０３は、バス５０４により相互に接続されている。
【０３６４】
バス５０４には、さらに、入出力インタフェース５０５が接続されている。入出力インタフェース５０５には、入力部５０６、出力部５０７、記憶部５０８、通信部５０９、およびドライブ５１０が接続されている。
【０３６５】
入力部５０６は、キーボード、マウス、マイクロホンなどよりなる。出力部５０７は、ディスプレイ、スピーカなどよりなる。記憶部５０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部５０９は、ネットワークインタフェースなどよりなる。ドライブ５１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア５１１を駆動する。
【０３６６】
以上のように構成されるコンピュータでは、CPU５０１が、例えば、記憶部５０８に記憶されているプログラムを入出力インタフェース５０５及びバス５０４を介してRAM５０３にロードして実行することにより、上述した一連の処理が行われる。
【０３６７】
コンピュータ（CPU５０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア５１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供することができる。
【０３６８】
コンピュータでは、プログラムは、リムーバブルメディア５１１をドライブ５１０に装着することにより、入出力インタフェース５０５を介して、記憶部５０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部５０９で受信し、記憶部５０８にインストールすることができる。その他、プログラムは、ROM５０２や記憶部５０８に、あらかじめインストールしておくことができる。
【０３６９】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３７０】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０３７１】
３１  画像処理装置，  ４１  階調補正処理部，  ５１  補正処理部，  ６１  画像処理装置，  ７１  階調補正処理部，  ８１  補正処理部，  ８２  輝度域情報メモリ，  ８３  補正処理部，  ８４  中間メモリ，  １０１  デジタルカメラ，  １１６  DSP，  １２２  CPU，  １５３  階調補正処理部，  １８３  輝度階調補正部，  ２１７  信号レベル補正処理部，  ２１８  加重積和部，  ２１９  トーンカーブ算出部，  ２３１  座標補正部，  ２３２  座標補正部，  ２６１  輝度補正処理部，  ２６２  輝度域情報メモリ，  ２６３  再標本化処理部，  ２６４  ブロックヒストグラムメモリ，  ２６５  再標本化処理部，  ２６６  輝度補正処理部，  ２６７  ブロック積分値メモリ，  ３０１  画像処理装置，  ３１１  ２次元間引き処理部，  ３１２  ３次元畳み込み処理部，  ３１３  補正処理部，  ３１４  ３次元補間処理部，３１５  正規化処理部，  ３１６  レベル補正処理部，  ３２１  レベル補正処理部，  ３２２  座標補正処理部，  ３５１  画像処理装置，  ３６１  補正処理部，  ３７１  輝度補正処理部，  ３７２  再標本化処理部，  ４０１  画像処理装置，  ４１１  代表値算出部，  ４１２  １フレーム遅延部，  ４１３  補正処理部，  ４１４  補正処理部，  ４１５  補間処理部，  ４１６  補正処理部，  ４５１  画像処理装置，  ４６１  補正処理部，  ４６２  補正処理部，  ４６３  保持部
【図１】
0005472734.tif 000016
【図２】
0005472734.tif 000017
【図３】
0005472734.tif 000018
【図４】
0005472734.tif 000019
【図５】
0005472734.tif 000020
【図６】
0005472734.tif 000021
【図７】
0005472734.tif 000022
【図８】
0005472734.tif 000023
【図９】
0005472734.tif 000024
【図１０】
0005472734.tif 000025
【図１１】
0005472734.tif 000026
【図１２】
0005472734.tif 000027
【図１３】
0005472734.tif 000028
【図１４】
0005472734.tif 000029
【図１５】
0005472734.tif 000030
【図１６】
0005472734.tif 000031
【図１７】
0005472734.tif 000032
【図１８】
0005472734.tif 000033
【図１９】
0005472734.tif 000034
【図２０】
0005472734.tif 000035
【図２１】
0005472734.tif 000036
【図２２】
0005472734.tif 000037
【図２３】
0005472734.tif 000038
【図２４】
0005472734.tif 000039
【図２５】
0005472734.tif 000040
【図２６】
0005472734.tif 000041
【図２７】
0005472734.tif 000042
【図２８】
0005472734.tif 000043
【図２９】
0005472734.tif 000044
【図３０】
0005472734.tif 000045
【図３１】
0005472734.tif 000046
【図３２】
0005472734.tif 000047
【図３３】
0005472734.tif 000048
【図３４】
0005472734.tif 000049
【図３５】
0005472734.tif 000050