(57)【特許請求の範囲】
【請求項１】
入力画像を空間方向に分割して得られる各空間ブロック内の輝度値の平均値であるブロック輝度平均値、および前記各空間ブロック内の輝度値の分散であるブロック輝度分散を算出する特性値算出手段と、
前記入力画像の注目画素が属する空間ブロックである注目ブロック内の輝度値に対して、前記注目画素の輝度値に近いほど重みが大きくなる重み関数を用いて算出される加重平均の値を、前記各空間ブロック内の輝度値の分布がそれぞれ前記各空間ブロックの前記ブロック輝度平均値および前記ブロック輝度分散に基づくガウス関数に従うと仮定することで近似計算した値を前記注目画素の大局輝度値とすることで、前記入力画像の各画素の前記大局輝度値を算出するエッジ保存平滑化手段と、
前記入力画像の各画素の前記大局輝度値に基づいて、前記入力画像の各画素に対するトーンカーブの形状を算出するトーンカーブ算出手段と、
前記入力画像の各画素に対する前記トーンカーブを用いて、前記入力画像の各画素の輝度値の階調を補正する輝度値階調補正手段と
を備える画像処理装置。
【請求項２】
前記重み関数はガウス関数であり、
前記エッジ保存平滑化手段は、前記重み関数の分散および前記注目ブロックの前記ブロック輝度分散に基づく値を傾きとし、前記傾きおよび前記注目ブロックの前記ブロック輝度平均値に基づく値を切片とする一次関数を用いて、前記注目画素の前記大局輝度値を算出する
請求項１に記載の画像処理装置。
【請求項３】
前記重み関数の分散をVa、前記注目ブロックの前記ブロック輝度分散をVb、前記注目ブロックの前記ブロック輝度平均値をu、前記傾きをａ、前記切片をb、前記注目画素の輝度値をL、前記注目画素の前記大局輝度値をLlとした場合、前記一次関数は、
Ll＝a×L＋b
ただし、a＝Vb÷(Va＋Vb)，b＝(1−a)×u
で表される
請求項２に記載の画像処理装置。
【請求項４】
前記特性値算出手段は、前記各空間ブロックに対する前記一次関数の傾きおよび切片をさらに算出し、
前記各空間ブロックの前記一次関数の傾きおよび切片を前記入力画像の１フレーム分の時間だけ保持する保持手段をさらに備え、
前記エッジ保存平滑化手段は、前記保持手段に保持されている前記各空間ブロックの前記一次関数の傾きおよび切片に基づいて、前記入力画像の各画素の前記大局輝度値を算出する
請求項２に記載の画像処理装置。
【請求項５】
前記エッジ保存平滑化手段は、前記注目画素の近傍の所定の数の前記空間ブロックである近傍ブロックにおける前記大局輝度値を、前記各近傍ブロックの前記ブロック輝度平均値および前記ブロック輝度分散、並びに前記注目画素に対する前記重み関数を用いて算出し、前記各近傍ブロックの前記大局輝度値を前記近傍ブロックと前記注目画素との距離に基づいて加重平均することにより、前記注目画素の前記大局輝度値を算出する
請求項１に記載の画像処理装置。
【請求項６】
前記入力画像を縮小した縮小画像を生成する縮小画像生成手段をさらに備え、
前記特性値算出手段は、前記縮小画像が空間方向に分割されて得られる各空間ブロックの前記ブロック輝度平均値および前記ブロック輝度分散を算出し、
前記エッジ保存平滑化手段は、前記縮小画像の前記ブロック輝度平均値および前記ブロック輝度分散を用いて、前記入力画像の各画素の前記大局輝度値を算出する
請求項１に記載の画像処理装置。
【請求項７】
前記特性値算出手段は、前記各空間ブロックの前記ブロック輝度平均値および前記ブロック輝度分散を空間的に平滑化し、
前記エッジ保存平滑化手段は、空間的に平滑化された前記ブロック輝度平均値および前記ブロック輝度分散を用いて、前記入力画像の各画素の前記大局輝度値を算出する
請求項１に記載の画像処理装置。
【請求項８】
前記トーンカーブ算出手段は、前記大局輝度値を前記トーンカーブにより階調補正した場合に、前記大局輝度値が、前記トーンカーブによる階調補正後の輝度値の取り得る範囲のほぼ中間の値に変換されるように、前記トーンカーブの形状を算出する
請求項１に記載の画像処理装置。
【請求項９】
前記入力画像の各画素に対する前記トーンカーブを用いて、前記入力画像の各画素の前記大局輝度値の階調を補正する大局輝度値階調補正手段と、
前記大局輝度値階調補正手段により階調補正された前記大局輝度値と、前記トーンカーブの形状とに基づいて、前記輝度値階調補正手段により階調補正された前記輝度値のコントラストを補正するコントラスト補正手段と
をさらに備える請求項１に記載の画像処理装置。
【請求項１０】
画像の階調補正を行う画像処理装置が、
入力画像を空間方向に分割して得られる各空間ブロック内の輝度値の平均値であるブロック輝度平均値、および前記各空間ブロック内の輝度値の分散であるブロック輝度分散を算出し、
前記入力画像の注目画素が属する空間ブロックである注目ブロック内の輝度値に対して、前記注目画素の輝度値に近いほど重みが大きくなる重み関数を用いて算出される加重平均の値を、前記各空間ブロック内の輝度値の分布がそれぞれ前記各空間ブロックの前記ブロック輝度平均値および前記ブロック輝度分散に基づくガウス関数に従うと仮定することで近似計算した値を前記注目画素の大局輝度値とすることで、前記入力画像の各画素の前記大局輝度値を算出し、
前記入力画像の各画素の前記大局輝度値に基づいて、前記入力画像の各画素に対するトーンカーブの形状を算出し、
前記入力画像の各画素に対する前記トーンカーブを用いて、前記入力画像の各画素の輝度値の階調を補正する
ステップを含む画像処理方法。
【請求項１１】
入力画像を空間方向に分割して得られる各空間ブロック内の輝度値の平均値であるブロック輝度平均値、および前記各空間ブロック内の輝度値の分散であるブロック輝度分散を算出し、
前記入力画像の注目画素が属する空間ブロックである注目ブロック内の輝度値に対して、前記注目画素の輝度値に近いほど重みが大きくなる重み関数を用いて算出される加重平均の値を、前記各空間ブロック内の輝度値の分布がそれぞれ前記各空間ブロックの前記ブロック輝度平均値および前記ブロック輝度分散に基づくガウス関数に従うと仮定することで近似計算した値を前記注目画素の大局輝度値とすることで、前記入力画像の各画素の前記大局輝度値を算出し、
前記入力画像の各画素の前記大局輝度値に基づいて、前記入力画像の各画素に対するトーンカーブの形状を算出し、
前記入力画像の各画素に対する前記トーンカーブを用いて、前記入力画像の各画素の輝度値の階調を補正する
ステップを含む処理をコンピュータに実行させるためのプログラム。
【請求項１２】
入力画像を空間方向に分割して得られる各空間ブロック内の輝度値の平均値であるブロック輝度平均値、および前記各空間ブロック内の輝度値の分散であるブロック輝度分散を算出する特性値算出手段と、
前記入力画像の注目画素が属する空間ブロックである注目ブロック内の輝度値に対して、前記注目画素の輝度値に近いほど重みが大きくなる重み関数を用いて算出される加重平均の値を、前記各空間ブロック内の輝度値の分布がそれぞれ前記各空間ブロックの前記ブロック輝度平均値および前記ブロック輝度分散に基づくガウス関数に従うと仮定することで近似計算した値を前記注目画素の大局輝度値とすることで、前記入力画像の各画素の前記大局輝度値を算出するエッジ保存平滑化手段と
を備える画像処理装置。
【請求項１３】
前記重み関数はガウス関数であり、
前記エッジ保存平滑化手段は、前記重み関数の分散および前記注目ブロックの前記ブロック輝度分散に基づく値を傾きとし、前記傾きおよび前記注目ブロックの前記ブロック輝度平均値に基づく値を切片とする一次関数を用いて、前記注目画素の前記大局輝度値を算出する
請求項１２に記載の画像処理装置。
【請求項１４】
前記重み関数の分散をVa、前記注目ブロックの前記ブロック輝度分散をVb、前記注目ブロックの前記ブロック輝度平均値をu、前記傾きをａ、前記切片をb、前記注目画素の輝度値をL、前記注目画素の前記大局輝度値をLlとした場合、前記一次関数は、
Ll＝a×L＋b
ただし、a＝Vb÷(Va＋Vb)，b＝(1−a)×u
で表される
請求項１３に記載の画像処理装置。
【請求項１５】
前記エッジ保存平滑化手段は、前記注目画素の近傍の所定の数の前記空間ブロックである近傍ブロックにおける前記大局輝度値を、前記各近傍ブロックの前記ブロック輝度平均値および前記ブロック輝度分散、並びに前記注目画素に対する前記重み関数を用いて算出し、前記各近傍ブロックの前記大局輝度値を前記近傍ブロックと前記注目画素との距離に基づいて加重平均することにより、前記注目画素の前記大局輝度値を算出する
請求項１２に記載の画像処理装置。
【請求項１６】
画像に対するエッジ保存平滑化処理を行う画像処理装置が、
入力画像を空間方向に分割して得られる各空間ブロック内の輝度値の平均値であるブロック輝度平均値、および前記各空間ブロック内の輝度値の分散であるブロック輝度分散を算出し、
前記入力画像の注目画素が属する空間ブロックである注目ブロック内の輝度値に対して、前記注目画素の輝度値に近いほど重みが大きくなる重み関数を用いて算出される加重平均の値を、前記各空間ブロック内の輝度値の分布がそれぞれ前記各空間ブロックの前記ブロック輝度平均値および前記ブロック輝度分散に基づくガウス関数に従うと仮定することで近似計算した値を前記注目画素の大局輝度値とすることで、前記入力画像の各画素の前記大局輝度値を算出する
ステップを含む画像処理方法。
【請求項１７】
入力画像を空間方向に分割して得られる各空間ブロック内の輝度値の平均値であるブロック輝度平均値、および前記各空間ブロック内の輝度値の分散であるブロック輝度分散を算出し、
前記入力画像の注目画素が属する空間ブロックである注目ブロック内の輝度値に対して、前記注目画素の輝度値に近いほど重みが大きくなる重み関数を用いて算出される加重平均の値を、前記各空間ブロック内の輝度値の分布がそれぞれ前記各空間ブロックの前記ブロック輝度平均値および前記ブロック輝度分散に基づくガウス関数に従うと仮定することで近似計算した値を前記注目画素の大局輝度値とすることで、前記入力画像の各画素の前記大局輝度値を算出する
ステップを含む処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および方法、並びにプログラムに関し、特に、画像のエッジ保存平滑化および階調補正を行う場合に用いて好適な画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
画像処理技術の１つとして、エッジ保存平滑化処理が知られている。エッジ保存平滑化処理とは、画像中の物体境界など顕著な輝度段差は残しつつ階調を平滑化する非線形フィルタ処理である。エッジ保存平滑化処理は、視認性に影響する物体輪郭が保存されつつ微細な輝度変動が除去されるため、古くからノイズリダクション処理に用いられている（例えば、非特許文献１乃至４参照）。
【０００３】
また、エッジ保存平滑化処理は、物体内のテクスチャの微細な輝度変動と物体輪郭の顕著な輝度段差を分離できる性質を利用して、テクスチャに代表されるディテール成分を変化させることなく、それ以外の成分の輝度差を圧縮する階調補正処理にも用いられている（例えば、非特許文献５および６参照）。
【０００４】
ところで、エッジ保存平滑化処理を行う際に、１画素あたりに用いる周辺画素の領域（以下、平滑化領域と称する）を大きくすることにより、エッジ保存平滑化処理を用いた階調補正処理の性能を向上させることが可能である。一方、平滑化領域を大きくすると、演算量が増大する。そこで、より少ない演算量でエッジ保存平滑化処理を行う方法が提案されている（例えば、特許文献１参照）。ここで、特許文献１で提案されているエッジ保存平滑化処理の概要について説明する。
【０００５】
特許文献１のエッジ保存平滑化処理では、１フレーム分の輝度画像が、空間方向に複数の空間ブロック（領域）に分割され、各空間ブロックは、さらに輝度方向に複数の輝度ブロックに分割される。そして、空間ブロックごとに各輝度ブロックに属する画素数がカウントされ、ブロックヒストグラムが生成される。また、空間ブロックごとに、各輝度ブロックに属する画素の輝度値の総和がブロック積分値として算出される。そして、次式（１）により、輝度画像の各画素の輝度値Lを平滑化した大局輝度値Llが算出される。
【０００６】
【数１】
0005495025.tif 000002
【０００７】
なお、式（１）のi,jは、輝度画像内の上からi番目、左からj番目の空間ブロックBK(i,j)の位置を示すインデックスである。H(i,j,λ)は、空間ブロックBK(i,j)内の画素のうち輝度値λである画素の数の分布（すなわち、空間ブロックBK(i,j)内の輝度値λの度数分布）を表す関数（以下、ブロック輝度分布関数と称する）である。S(i,j,λ)は、空間ブロックBK(i,j)内の画素のうち輝度値λである画素の輝度値の総和（ブロック積分値）の分布を表す関数（以下、ブロック積分値分布関数と称する）である。φ(x)は、平滑化のための重み関数であり、例えば、次式（２）の分散Vaのガウス関数が用いられる。
【０００８】
【数２】
0005495025.tif 000003
【０００９】
従って、式（１）の重み関数φ(L−λ)は、λが輝度値Lに近いほど大きくなり、遠いほど小さくなる。
【００１０】
また、φ*Hは、重み関数φとブロック輝度分布関数Hの輝度方向の畳み込み演算を表し、φ*Sは、重み関数φとブロック積分値分布関数Sの輝度方向の畳み込み演算を表す。
【００１１】
この式（１）により、空間ブロックBK(i,j)に属する画素のうち、処理対象となっている注目画素（以下、処理対象画素と称する）の輝度値Lに近い画素ほど、重みが大きくなるように重み付けされて、空間ブロックBK(i,j)内の輝度値の加重平均が、処理対象画素の大局輝度値Llとして求められる。その結果、輝度画像中の平坦部など輝度値の近い画素が連続した領域は平滑化され、エッジ部などの顕著な輝度段差は保持される。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００９−１７７５５８号公報
【非特許文献】
【００１３】
【非特許文献１】A. Lev，S. W. Zucker，A. Rosenfeld，「Iterative enhancement of noise images」，IEEE Trans. Systems， Man， and Cybernetics， Vol. SMC-7，1977.
【非特許文献２】D. C. C. Wang，A. H. Vagnucci，C. C. Li，「Gradient inverse weighted smoothing scheme and the evaluation of its performance」，CVGIP，Vol. 15，pp. 167-181，1981.
【非特許文献３】M. Nagao，T. Matsuyama，「Edge preserving smoothing」，CGIP，Vol. 9， pp. 394-407，1978.
【非特許文献４】D. T. Kuan, A. A. Sawchuk, T. C. Strand, P. Chavel, 「Adaptive noise smoothing filter for images with signal-dependent noise」,  IEEE Trans. Pattern Analysis and Machine Intelligence, Vol. Pami-7, No.2 1985.
【非特許文献５】F. Durand，J. Dorsey，「Fast bilaterarl filtering for the display of high-dynamic-range images」，Proc. of ACM SIGGRAPH 2002，2002.
【非特許文献６】S. N. Pattanaik，H. Yee，「Adaptive gain control for high dynamic range image display」，Proc. of Spring Conference in Computer Graphics 2002，2002.
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかしながら、特許文献１のエッジ保存平滑化処理では、各空間ブロックBK(i,j)のブロックヒストグラムおよびブロック積分値を演算し、保持する必要がある。また、重み関数φとブロック輝度分布関数Hの畳み込み演算、および、重み関数φとブロック積分値分布関数Sの輝度方向の畳み込み演算を行う必要がある。その結果、演算量および演算に必要なメモリ量が大きくなっていた。
【００１５】
本発明は、このような状況に鑑みてなされたものであり、より少ない演算量およびメモリ量でエッジ保存平滑化処理および階調補正処理を行うことができるようにするものである。
【課題を解決するための手段】
【００１６】
本発明の第１の側面の画像処理装置は、入力画像を空間方向に分割して得られる各空間ブロック内の輝度値の平均値であるブロック輝度平均値、および前記各空間ブロック内の輝度値の分散であるブロック輝度分散を算出する特性値算出手段と、前記入力画像の注目画素が属する空間ブロックである注目ブロック内の輝度値に対して、前記注目画素の輝度値に近いほど重みが大きくなる重み関数を用いて算出される加重平均の値を、前記各空間ブロック内の輝度値の分布がそれぞれ前記各空間ブロックの前記ブロック輝度平均値および前記ブロック輝度分散に基づくガウス関数に従うと仮定することで近似計算した値を前記注目画素の大局輝度値とすることで、前記入力画像の各画素の前記大局輝度値を算出するエッジ保存平滑化手段と、前記入力画像の各画素の前記大局輝度値に基づいて、前記入力画像の各画素に対するトーンカーブの形状を算出するトーンカーブ算出手段と、前記入力画像の各画素に対する前記トーンカーブを用いて、前記入力画像の各画素の輝度値の階調を補正する輝度値階調補正手段とを備える。
【００１７】
前記重み関数をガウス関数とし、前記エッジ保存平滑化手段には、前記重み関数の分散および前記注目ブロックの前記ブロック輝度分散に基づく値を傾きとし、前記傾きおよび前記注目ブロックの前記ブロック輝度平均値に基づく値を切片とする一次関数を用いて、前記注目画素の前記大局輝度値を算出させることができる。
【００１８】
前記重み関数の分散をVa、前記注目ブロックの前記ブロック輝度分散をVb、前記注目ブロックの前記ブロック輝度平均値をu、前記傾きをａ、前記切片をb、前記注目画素の輝度値をL、前記注目画素の前記大局輝度値をLlとした場合、前記一次関数は、
Ll＝a×L＋b
ただし、a＝Vb÷(Va＋Vb)，b＝(1−a)×u
で表すことができる。
【００１９】
前記特性値算出手段には、前記各空間ブロックに対する前記一次関数の傾きおよび切片をさらに算出させ、前記各空間ブロックの前記一次関数の傾きおよび切片を前記入力画像の１フレーム分の時間だけ保持する保持手段をさらに設け、前記エッジ保存平滑化手段には、前記保持手段に保持されている前記各空間ブロックの前記一次関数の傾きおよび切片に基づいて、前記入力画像の各画素の前記大局輝度値を算出させることができる。
【００２０】
前記エッジ保存平滑化手段には、前記注目画素の近傍の所定の数の前記空間ブロックである近傍ブロックにおける前記大局輝度値を、前記各近傍ブロックの前記ブロック輝度平均値および前記ブロック輝度分散、並びに前記注目画素に対する前記重み関数を用いて算出させ、前記各近傍ブロックの前記大局輝度値を前記近傍ブロックと前記注目画素との距離に基づいて加重平均させることにより、前記注目画素の前記大局輝度値を算出させることができる。
【００２１】
前記入力画像を縮小した縮小画像を生成する縮小画像生成手段をさらに設け、前記特性値算出手段には、前記縮小画像が空間方向に分割されて得られる各空間ブロックの前記ブロック輝度平均値および前記ブロック輝度分散を算出させ、前記エッジ保存平滑化手段には、前記縮小画像の前記ブロック輝度平均値および前記ブロック輝度分散を用いて、前記入力画像の各画素の前記大局輝度値を算出させることができる。
【００２２】
前記特性値算出手段には、前記各空間ブロックの前記ブロック輝度平均値および前記ブロック輝度分散を空間的に平滑化させ、前記エッジ保存平滑化手段には、空間的に平滑化された前記ブロック輝度平均値および前記ブロック輝度分散を用いて、前記入力画像の各画素の前記大局輝度値を算出させることができる。
【００２３】
前記トーンカーブ算出手段には、前記大局輝度値を前記トーンカーブにより階調補正した場合に、前記大局輝度値が、前記トーンカーブによる階調補正後の輝度値の取り得る範囲のほぼ中間の値に変換されるように、前記トーンカーブの形状を算出させることができる。
【００２４】
前記入力画像の各画素に対する前記トーンカーブを用いて、前記入力画像の各画素の前記大局輝度値の階調を補正する大局輝度値階調補正手段と、前記大局輝度値階調補正手段により階調補正された前記大局輝度値と、前記トーンカーブの形状とに基づいて、前記輝度値階調補正手段により階調補正された前記輝度値のコントラストを補正するコントラスト補正手段とをさらに設けることができる。
【００２５】
本発明の第１の側面の画像処理方法またはプログラムは、入力画像を空間方向に分割して得られる各空間ブロック内の輝度値の平均値であるブロック輝度平均値、および前記各空間ブロック内の輝度値の分散であるブロック輝度分散を算出し、前記入力画像の注目画素が属する空間ブロックである注目ブロック内の輝度値に対して、前記注目画素の輝度値に近いほど重みが大きくなる重み関数を用いて算出される加重平均の値を、前記各空間ブロック内の輝度値の分布がそれぞれ前記各空間ブロックの前記ブロック輝度平均値および前記ブロック輝度分散に基づくガウス関数に従うと仮定することで近似計算した値を前記注目画素の大局輝度値とすることで、前記入力画像の各画素の前記大局輝度値を算出し、前記入力画像の各画素の前記大局輝度値に基づいて、前記入力画像の各画素に対するトーンカーブの形状を算出し、前記入力画像の各画素に対する前記トーンカーブを用いて、前記入力画像の各画素の輝度値の階調を補正するステップを含む。
【００２６】
本発明の第１の側面においては、入力画像を空間方向に分割して得られる各空間ブロック内の輝度値の平均値であるブロック輝度平均値、および前記各空間ブロック内の輝度値の分散であるブロック輝度分散が算出され、前記入力画像の注目画素が属する空間ブロックである注目ブロック内の輝度値に対して、前記注目画素の輝度値に近いほど重みが大きくなる重み関数を用いて算出される加重平均の値を、前記各空間ブロック内の輝度値の分布がそれぞれ前記各空間ブロックの前記ブロック輝度平均値および前記ブロック輝度分散に基づくガウス関数に従うと仮定することで近似計算した値を前記注目画素の大局輝度値とすることで、前記入力画像の各画素の前記大局輝度値が算出され、前記入力画像の各画素の前記大局輝度値に基づいて、前記入力画像の各画素に対するトーンカーブの形状が算出され、前記入力画像の各画素に対する前記トーンカーブを用いて、前記入力画像の各画素の輝度値の階調が補正される。
【００２７】
本発明の第２の側面の画像処理装置は、入力画像を空間方向に分割して得られる各空間ブロック内の輝度値の平均値であるブロック輝度平均値、および前記各空間ブロック内の輝度値の分散であるブロック輝度分散を算出する特性値算出手段と、前記入力画像の注目画素が属する空間ブロックである注目ブロック内の輝度値に対して、前記注目画素の輝度値に近いほど重みが大きくなる重み関数を用いて算出される加重平均の値を、前記各空間ブロック内の輝度値の分布がそれぞれ前記各空間ブロックの前記ブロック輝度平均値および前記ブロック輝度分散に基づくガウス関数に従うと仮定することで近似計算した値が前記注目画素の大局輝度値とされることで、前記入力画像の各画素の前記大局輝度値を算出するエッジ保存平滑化手段とを備える。
【００２８】
前記重み関数はガウス関数とし、前記エッジ保存平滑化手段には、前記重み関数の分散および前記注目ブロックの前記ブロック輝度分散に基づく値を傾きとし、前記傾きおよび前記注目ブロックの前記ブロック輝度平均値に基づく値を切片とする一次関数を用いて、前記注目画素の前記大局輝度値を算出させることができる。
【００２９】
前記重み関数の分散をVa、前記注目ブロックの前記ブロック輝度分散をVb、前記注目ブロックの前記ブロック輝度平均値をu、前記傾きをａ、前記切片をb、前記注目画素の輝度値をL、前記注目画素の前記大局輝度値をLlとした場合、前記一次関数は、
Ll＝a×L＋b
ただし、a＝Vb÷(Va＋Vb)，b＝(1−a)×u
で表すことができる。
【００３０】
前記エッジ保存平滑化手段には、前記注目画素の近傍の所定の数の前記空間ブロックである近傍ブロックにおける前記大局輝度値を、前記各近傍ブロックの前記ブロック輝度平均値および前記ブロック輝度分散、並びに前記注目画素に対する前記重み関数を用いて算出し、前記各近傍ブロックの前記大局輝度値を前記近傍ブロックと前記注目画素との距離に基づいて加重平均することにより、前記注目画素の前記大局輝度値を算出させることができる。
【００３１】
本発明の第２の側面の画像処理方法またはプログラムは、入力画像を空間方向に分割して得られる各空間ブロック内の輝度値の平均値であるブロック輝度平均値、および前記各空間ブロック内の輝度値の分散であるブロック輝度分散を算出し、前記入力画像の注目画素が属する空間ブロックである注目ブロック内の輝度値に対して、前記注目画素の輝度値に近いほど重みが大きくなる重み関数を用いて算出される加重平均の値を、前記各空間ブロック内の輝度値の分布がそれぞれ前記各空間ブロックの前記ブロック輝度平均値および前記ブロック輝度分散に基づくガウス関数に従うと仮定することで近似計算した値を前記注目画素の大局輝度値とすることで、前記入力画像の各画素の前記大局輝度値を算出するステップを含む。
【００３２】
本発明の第２の側面においては、入力画像を空間方向に分割して得られる各空間ブロック内の輝度値の平均値であるブロック輝度平均値、および前記各空間ブロック内の輝度値の分散であるブロック輝度分散が算出され、前記入力画像の注目画素が属する空間ブロックである注目ブロック内の輝度値に対して、前記注目画素の輝度値に近いほど重みが大きくなる重み関数を用いて算出される加重平均の値を、前記各空間ブロック内の輝度値の分布がそれぞれ前記各空間ブロックの前記ブロック輝度平均値および前記ブロック輝度分散に基づくガウス関数に従うと仮定することで近似計算した値が前記注目画素の大局輝度値とされることで、前記入力画像の各画素の前記大局輝度値が算出される。
【発明の効果】
【００３３】
本発明の第１の側面によれば、より少ない演算量およびメモリ量で階調補正処理を行うことができる。
【００３４】
また、本発明の第２の側面によれば、より少ない演算量およびメモリ量でエッジ保存平滑化処理を行うことができる。
【図面の簡単な説明】
【００３５】
【図１】本発明を適用したデジタルビデオカメラの第１の実施の形態を示すブロック図である。
【図２】ＤＳＰブロックの構成例を示すブロック図である。
【図３】モザイク画像の画素の配列例を示す図である。
【図４】階調補正処理部の構成例を示すブロック図である。
【図５】輝度階調補正部の構成例を示すブロック図である。
【図６】輝度域情報算出部の構成例を示すブロック図である。
【図７】ブロック輝度平均値算出部の構成例を示すブロック図である。
【図８】ブロック輝度分散算出部の構成例を示すブロック図である。
【図９】輝度変換部の構成例を示すブロック図である。
【図１０】線形計算部の構成例を示すブロック図である。
【図１１】コントラスト補正部の構成例を示すブロック図である。
【図１２】画像処理を説明するフローチャートである。
【図１３】階調補正処理を説明するフローチャートである。
【図１４】階調補正処理を説明するフローチャートである。
【図１５】トーンカーブを説明する図である。
【図１６】輝度域情報算出のための画素処理を説明するフローチャートである。
【図１７】ブロック輝度平均値算出のための画素処理を説明するフローチャートである。
【図１８】ブロック輝度分散算出のための画素処理を説明するフローチャートである。
【図１９】大局輝度値算出処理を説明するフローチャートである。
【図２０】コントラスト補正処理を説明するフローチャートである。
【図２１】ゲイン値について説明する図である。
【図２２】輝度階調補正部の第２の構成例を示すブロック図である。
【図２３】平滑化ブロック輝度平均値算出部および平滑化ブロック輝度分散算出部の構成例を示すブロック図である。
【図２４】輝度変換部の第２の構成例を示すブロック図である。
【図２５】階調補正処理を説明するフローチャートである。
【図２６】階調補正処理を説明するフローチャートである。
【図２７】大局輝度値算出処理を説明するフローチャートである。
【図２８】輝度階調補正部の第３の構成例を示す図である。
【図２９】階調補正処理を説明するフローチャートである。
【図３０】階調補正処理を説明するフローチャートである。
【図３１】階調補正処理を説明するフローチャートである。
【図３２】ＤＳＰブロックの第２の構成例を示す図である。
【図３３】階調補正処理部の第２の構成例を示す図である。
【図３４】ＤＳＰの第３の構成例を示す図である。
【図３５】階調補正処理部の第３の構成例を示す図である。
【図３６】求められる輝度値の位置について説明する図である。
【図３７】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００３６】
以下、本発明を実施するための形態（以下、実施の形態という）について説明する。なお、説明は以下の順序で行う。
１．本発明の概要
２．第１の実施の形態（ブロック輝度平均値およびブロック輝度分散をそのまま用いてエッジ保存平滑化処理を行う例）
３．第２の実施の形態（空間的に平滑化したブロック輝度平均値およびブロック輝度分散を用いてエッジ保存平滑化処理を行う例）
４．第３の実施の形態（縮小画像を用いて算出したブロック輝度平均値およびブロック輝度分散を用いてエッジ保存平滑化処理を行う例）
５．変形例
【００３７】
＜１．本発明の概要＞
上述した特許文献１に記載の発明のように、１フレーム分の輝度画像を空間方向に複数の空間ブロックBK(i,j)に分割し、各空間ブロックBK(i,j)内の輝度値λの分布を示すヒストグラム（ブロックヒストグラム）を作成した場合、ほとんどのブロックヒストグラムは単峰性を有する。そこで、本発明では、各空間ブロックBK(i,j)内の輝度値λの分布（度数分布）が、次式（３）のガウス関数H'に従うと仮定する。すなわち、上述した式（１）のブロック輝度分布関数H(i,j,λ)を、次式（３）のガウス関数H'に近似する。
【００３８】
【数３】
0005495025.tif 000004
【００３９】
なお、u(i,j)は、空間ブロックBK(i,j)内の輝度値の平均値（以下、ブロック輝度平均値と称する）を示し、Vb(i,j)は、空間ブロックBK(i,j)内の輝度値の分散（以下、ブロック輝度分散と称する）を示す。また、cは、空間ブロックBK(i,j)内の画素の総数を示す。
【００４０】
そうすると、上述した式（１）のブロック積分値分布関数Sは、式（３）のガウス関数H'に輝度値λを乗じた式（４）により近似できる。
【００４１】
【数４】
0005495025.tif 000005
【００４２】
そして、上述した式（１）の分母について、ブロック輝度分布関数Hを式（３）のガウス関数H'に置き換えると、次式（５）が導出される。
【００４３】
【数５】
0005495025.tif 000006
【００４４】
この式（５）により、空間ブロックBK(i,j)の輝度値の分布がガウス関数H'に従うと仮定した場合の、空間ブロックBK(i,j)内の輝度値Lの画素に対する、空間ブロックBK(i,j)内の重み関数φに基づく重みの総和の近似値が求められる。
【００４５】
また、上述した式（１）の分子について、ブロック積分値分布関数Sを式（４）の関数S'に置き換えると、次式（６）が導出される。
【００４６】
【数６】
0005495025.tif 000007
【００４７】
この式（６）により、空間ブロックBK(i,j)の輝度値の分布がガウス関数H'に従うと仮定した場合の、空間ブロックBK(i,j)内の輝度値Lの画素に対する、重み関数φを用いた空間ブロックBK(i,j)内の輝度値の加重和の近似値が求められる。
【００４８】
そして、式（１）の分母[φ*H](i,j,L)および分子[φ*S](i,j,L)を、式（５）の[φ*H'](i,j,L)および式（６）の[φ*S'](i,j,L)にそれぞれ置き換えると、空間ブロックBK(i,j)内の輝度値Lの画素に対する大局輝度値Ll'(i,j,L)を求める次式（７）が導出される。
【００４９】
【数７】
0005495025.tif 000008
【００５０】
なお、式（７）のa(i,j)は、加重平均係数を表し、次式（８）により表される。
【００５１】
【数８】
0005495025.tif 000009
【００５２】
すなわち、式（７）により、重み関数φを用いた空間ブロックBK(i,j)内の輝度値の加重平均の近似値が、空間ブロックBK(i,j)内の輝度値Lの画素に対する大局輝度値Ll'(i,j,L)として求められる。
【００５３】
なお、式（７）の右辺の第２項は、各空間ブロックBK(i,j)に固有な定数となる。そこで、式（７）の右辺の第２項を、次式（９）に示されるb(i,j)で置き換えると、
【数９】
0005495025.tif 000010
式（７）は次式（１０）となる。
【００５４】
【数１０】
0005495025.tif 000011
【００５５】
すなわち、大局輝度値Ll'(i,j,L)を、簡単な一次関数（線形式）で求めることができる。
【００５６】
なお、非特許文献４でも、画素値の平均値、および分散値を用いた線形式によるノイズリダクションを行う手法が提案されている。しかし、非特許文献４の手法とは、a(i,j)に相当する係数の計算方法が異なる。
【００５７】
また、非特許文献４では、処理対象画素ごとに、周囲の画素の画素値の平均値、および分散を算出するため、平滑化領域を大きくした場合に演算量が増大していた。
【００５８】
本発明では、式（８）および式（９）により、各空間ブロックBK(i,j)ごとに定数a(i,j)、定数b(i,j)を算出し、保持しておき、式（１０）の線形式を計算することで、輝度画像の各画素の大局輝度値Ll'を求め、エッジ保存平滑化処理を行う。
【００５９】
なお、以下、定数a(i,j)をブロック輝度変換直線傾きと称し、定数b(i,j)をブロック輝度変換直線切片と称する。
【００６０】
さらに、本発明では、各空間ブロックBK(i,j)間に不自然な境界（ブロックノイズ）が現れないようにするために、補間処理を行う。具体的には、ある画素位置pの画素の輝度値をL(p)とした場合、輝度値L(p)に対する大局輝度値Ll(p)を、次式（１１）により算出する。
【００６１】
【数１１】
0005495025.tif 000012
【００６２】
なお、ω(i,j,p)は、画素位置pと空間ブロックBK(i,j)との相対位置関係により定まる重み関数を表す。
【００６３】
これにより、画素位置pの画素の近傍の空間ブロックBK(i,j)の情報（a(i,j), b(i,j)）を用いて計算した輝度値Ll'(i,j,L(p))を、近傍の空間ブロックBK(i,j)と画素位置pとの相対位置に基づいて加重平均することで、空間方向の補間処理が行われた大局輝度値Ll(i,j,L(p))を得ることができる。
【００６４】
なお、以下、空間ブロックBK(i,j)を、単に空間ブロックとも称する。
【００６５】
＜２．第１の実施の形態＞
［デジタルビデオカメラの構成例］
図１は、本発明を適用したデジタルビデオカメラの第１の実施の形態を示すブロック図である。デジタルビデオカメラは、レンズ１１、絞り１２、画像センサ１３、相関２重サンプリング回路（CDS）１４、Ａ／Ｄ（Analog/Digital）コンバータ１５、ＤＳＰ（Digital Signal Processor）ブロック１６、タイミングジェネレータ（TG）１７、ＬＣＤ（Liquid Crystal Display）ドライバ１８、ＬＣＤ１９、CODEC（Compression/Decompression）２０、メモリ２１、ＣＰＵ（Central Processing Unit）２２、入力デバイス２３、およびバス２４から構成される。なお、ＤＳＰブロック１６は、信号処理用のプロセッサ（例えば、ＤＳＰ）と画像データを保持するＲＡＭ（Random Access Memory）などのメモリなどにより構成されるブロックであり、プロセッサが所定のプログラムを実行することにより、後述する画像処理を行う。また、以下、ＤＳＰブロック１６を、単にＤＳＰ１６と呼ぶ。
【００６６】
レンズ１１および絞り１２などからなる光学系を通過した被写体からの入射光は、まず画像センサ１３の撮像面上の各受光素子に到達し、受光素子による光電変換により電気信号に変換される。画像センサ１３から出力された電気信号は、相関２重サンプリング回路１４によってノイズが除去され、Ａ／Ｄコンバータ１５によってデジタル化された後、デジタル化された画像データがＤＳＰ１６内のメモリに一時的に格納される。タイミングジェネレータ１７は、一定のフレームレートにより画像データが取り込まれるように、相関２重サンプリング回路１４、Ａ／Ｄコンバータ１５、および、ＤＳＰ１６により構成される信号処理系を制御する。すなわち、ＤＳＰ１６には、一定のフレームレートで画像データのストリームが供給される。
【００６７】
なお、画像センサ１３は、一般的なＣＣＤ（Charge Coupled Device）などの画像センサよりダイナミックレンジが広く、飽和したり、ノイズを発生させたりすることなく、被写体の暗い部分から明るい部分までを撮像することができる。従って、Ａ／Ｄコンバータ１５は、入力される電気信号を、通常のデジタルビデオカメラの階調数（例えば、10乃至12ビット程度のデータにより表現できる階調数）よりも多い階調数（例えば、14乃至16ビット程度のデータにより表現できる階調数）の画像データに変換する。
【００６８】
ＤＳＰ１６は、画像データのダイナミックレンジが、例えばＬＣＤ１９が表示可能なダイナミックレンジになるように、後述する画像処理を画像データに施した後、画像処理を施した画像データを、必要に応じて、ＬＣＤドライバ１８またはCODEC２０に供給する。
【００６９】
ＬＣＤドライバ１８は、ＤＳＰ１６から供給される画像データをアナログの画像信号に変換する。ＬＣＤドライバ１８は、デジタルビデオカメラのファインダであるＬＣＤ１９にアナログの画像信号を供給し、画像信号に基づく画像を表示させる。
【００７０】
CODEC２０は、ＤＳＰ１６から供給される画像データを所定の方式により符号化し、符号化した画像データを、半導体、磁気記録媒体、光磁気記録媒体、光記録媒体などよりなるメモリ２１に記録させる。
【００７１】
ＣＰＵ２２は、例えば、ユーザがシャッタボタン等の操作ボタンなどにより構成される入力デバイス２３を操作することにより入力された指令などに基づいて、デジタルビデオカメラの全体の処理を制御する。また、ＤＳＰ１６、タイミングジェネレータ１７、CODEC２０、メモリ２１、ＬＣＤ１９、ＣＰＵ２２、および入力デバイス２３は、バス２４を介して相互に接続されている。
【００７２】
［デジタルカメラのＤＳＰブロックにより実現される機能の構成例］
図２は、ＤＳＰ１６の内部のプロセッサ（演算ユニット）が、所定のプログラムを実行することにより実現される機能の構成の例を示すブロック図である。ＤＳＰ１６の内部のプロセッサが所定のプログラムを実行することにより、ホワイトバランス処理部５１、デモザイク処理部５２、階調補正処理部５３、ガンマ補正処理部５４、およびＹＣ変換処理部５５を含む機能が実現される。
【００７３】
ホワイトバランス処理部５１は、Ａ／Ｄコンバータ１５によりＡ／Ｄ変換された、動画像などの画像データであるモザイク画像を取得する。モザイク画像は、Ｒ，Ｇ，Ｂのうちのいずれかの色成分に対応するデータが１つの画素に格納され、例えば図３に示す、ベイヤー配列と呼ばれる色配列に従って各画素が配置されている画像であり、ＲＡＷデータとも呼ばれている。
【００７４】
図３では、１つの正方形が１つの画素を表しており、正方形内の文字Ｒ，Ｇ，Ｂは、それぞれＲの画素，Ｇの画素，およびＢの画素を示している。そして、Ｇの画素が市松状に配置され、残りの部分にＲの画素およびＢの画素が一行ごとに交互に配置されている。
【００７５】
図２の説明に戻り、ホワイトバランス処理部５１は、取得したモザイク画像の各画素の画素値に適切な係数をかけることにより、被写体の無彩色の部分の色バランスが実際に無彩色となるように、モザイク画像のホワイトバランスを調整する。ホワイトバランス処理部５１は、ホワイトバランスを調整したモザイク画像をデモザイク処理部５２に供給する。なお、以下、ホワイトバランスが調整されたモザイク画像をＭｗとする。
【００７６】
デモザイク処理部５２は、ホワイトバランス処理部５１から供給されたモザイク画像Ｍｗに対して、１つの画素がＲ，Ｇ，Ｂ成分を全て有するようにするデモザイク処理を施す。これにより、Ｒ，Ｇ，Ｂの３つの色成分にそれぞれ対応するＲ画像、Ｇ画像、Ｂ画像の３つの画像データが生成される。デモザイク処理部５２は、生成したＲ画像、Ｇ画像、Ｂ画像の３つの画像データを階調補正処理部５３に供給する。
【００７７】
なお、以下、Ｒ画像、Ｇ画像、Ｂ画像の３つの画像データをまとめてＲＧＢ画像とも称する。また、以下、モザイク画像の画素位置ｐにおける画素値をＭ(ｐ)とする。さらに、以下、デモザイク処理が施された画像データの画素位置ｐにおける画素値を［Rw(p), Gw(p), Bw(p)］とする。ここで、Rw(p)はＲ成分の画素値であり、Gw(p)はＧ成分の画素値であり、Bw(p)はＢ成分の画素値である。
【００７８】
階調補正処理部５３は、ＲＧＢ画像に階調補正処理を施し、階調補正処理を施したＲＧＢ画像をガンマ補正処理部５４に供給する。なお、以下、階調補正処理が施された画像データの画素位置ｐにおける画素値を［Ｒｕ(p), Gu(p), Bu(p)］とする。ここで、Ｒｕ(p)はＲ成分の画素値であり、Gu(p)はＧ成分の画素値であり、Bu(p)はＢ成分の画素値である。
【００７９】
ガンマ補正処理部５４は、階調変換されたＲＧＢ画像にガンマ補正を施す。ガンマ補正処理部５４は、ガンマ補正を施したＲＧＢ画像をＹＣ変換処理部５５に供給する。なお、以下、ガンマ補正が施された画像データの画素位置ｐにおける画素値を［Ｒｕγ(p), Guγ(p), Buγ(p)］とする。ここで、Ｒｕγ(p)はＲ成分の画素値であり、Guγ(p)はＧ成分の画素値であり、Buγ(p)はＢ成分の画素値である。
【００８０】
ＹＣ変換処理部５５は、ガンマ補正が施されたＲＧＢ画像に対して、ＹＣマトリックス処理およびクロマ成分に対する帯域制限を行うことにより、輝度成分（Ｙ成分）により構成されるＹ画像、および、色差成分（CbまたはCr成分）により構成されるＣ画像を生成する。ＹＣ変換処理部５５は、生成したＹ画像およびＣ画像を、必要に応じて、ＬＣＤドライバ１８またはCODEC２０に供給する。なお、以下、ＹＣ変換処理部５５から出力される画像データの画素位置ｐにおける画素値を［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)およびその画素位置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)のそれぞれを階調補正する。階調補正部８５−１乃至階調補正部８５−３のそれぞれは、階調補正により得られた画素値Ｒｕ(nl)(p)、Gu(nl)(p)、およびBu(nl) (p)のそれぞれを、非線形逆変換部８６−１乃至非線形逆変換部８６−３のそれぞれに供給する。
【００８６】
非線形逆変換部８６−１乃至非線形逆変換部８６−３のそれぞれは、階調補正部８５−１乃至階調補正部８５−３からの画素値Ｒｕ(nl)(p)、Gu(nl)(p)、およびBu(nl) (p)のそれぞれに、非線形変換部８４による非線形変換の逆変換となる非線形逆変換を施す。非線形逆変換部８６−１乃至非線形逆変換部８６−３のそれぞれは、非線形逆変換により得られた画素値Ｒｕ(p)、Gu(p)、およびBu(p)のそれぞれを、ガンマ補正処理部５４に供給する。
【００８７】
なお、以下、階調補正部８５−１乃至階調補正部８５−３のそれぞれを個々に区別する必要のない場合、単に階調補正部８５と称する。また、以下、非線形逆変換部８６−１乃至非線形逆変換部８６−３のそれぞれを個々に区別する必要のない場合、単に非線形逆変換部８６と称する。
【００８８】
［輝度階調補正部の機能の構成例］
図５は、図４の輝度階調補正部８３の機能の構成の例を示すブロック図である。輝度階調補正部８３は、輝度域情報算出部１１１、輝度域情報メモリ１１２、ブロック輝度平均値算出部１１３、ブロック輝度分散算出部１１４、ブロック輝度変換直線傾き算出部１１５、ブロック輝度変換直線切片算出部１１６、ブロック輝度変換直線傾きメモリ１１７、ブロック輝度変換直線切片メモリ１１８、輝度変換部１１９、トーンカーブ算出部１２０、トーンカーブメモリ１２１、マッピング部１２２、マッピング部１２３、およびコントラスト補正部１２４から構成される。
【００８９】
輝度域情報算出部１１１、ブロック輝度平均値算出部１１３、ブロック輝度分散算出部１１４、ブロック輝度変換直線傾き算出部１１５、およびブロック輝度変換直線切片算出部１１６は、輝度画像の特性値を算出し、その情報を１フレームごとに更新する処理を行う。
【００９０】
すなわち、輝度域情報算出部１１１は、非線形変換部８２から供給された輝度値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)を、トーンカーブ算出部１２０およびマッピング部１２２に供給する。
【０１０１】
トーンカーブ算出部１２０は、輝度域情報メモリ１１２からの輝度域情報と、輝度変換部１１９からの大局輝度値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)を所定の間隔でサンプリングして出力する。すなわち、間引き部１５１は、非線形変換部８２から供給された輝度値L(nl)(p)の画素位置ｐが、所定の間隔ごとに設けられているサンプリング位置に合致するか否かを判定し、サンプリング位置に合致すると判定した場合、輝度値L(nl)(p)を飽和画素除外部１５２に供給する。これにより、後段のソーティング部１５３およびソーティング部１５４に出力される輝度値の数が一定数以上とならないようになされる。
【０１０６】
飽和画素除外部１５２は、noise Level(nl)およびsaturation Level(nl)を、ＤＳＰ１６の図示せぬ内部のメモリから読み込む。ここで、noise Level(nl)およびsaturation Level(nl)は、それぞれノイズレベルの輝度値を示す閾値、および飽和レベルの輝度値を示す閾値である。
【０１０７】
飽和画素除外部１５２は、間引き部１５１から供給された輝度値L(nl)(p)が、noise Level(nl)以上かつsaturation Level(nl)以下である場合、その輝度値L(nl)(p)をソーティング部１５３およびソーティング部１５４に供給する。したがって、ノイズレベル以下である輝度値、および飽和レベル以上である輝度値は、後段に出力されずに遮断され、これにより後段のソーティング部１５３およびソーティング部１５４により、有効な輝度域以外の画素がカウントされないようになされる。
【０１０８】
ソーティング部１５３は、比較部１６１−１乃至比較部１６１−ｋ、および各比較部に対応するレジスタ１６２−１乃至レジスタ１６２−ｋから構成される。比較部１６１−１乃至比較部１６１−ｋは、飽和画素除外部１５２および比較部１６１−１乃至比較部１６１−（ｋ−１）から供給された輝度値L(nl)(p)と、レジスタ１６２−１乃至レジスタ１６２−ｋの値とを比較する。
【０１０９】
そして、比較部１６１−１乃至比較部１６１−ｋのそれぞれは、輝度値L(nl)(p)がレジスタ１６２−１乃至レジスタ１６２−ｋのそれぞれの値より小さい場合、レジスタ１６２−１乃至レジスタ１６２−ｋの値を後段に出力し、輝度値L(nl)(p)をレジスタ１６２−１乃至レジスタ１６２−ｋのそれぞれに記録させる。また、比較部１６１−１乃至比較部１６１−ｋのそれぞれは、輝度値L(nl)(p)がレジスタ１６２−１乃至レジスタ１６２−ｋのそれぞれの値以上である場合、輝度値L(nl)(p)をそのまま後段に出力する。
【０１１０】
これにより、供給された輝度値L(nl)(p)のうち、最小値からｋ番目に小さい値までが、レジスタ１６２−１乃至レジスタ１６２−ｋに昇順に記録される。ソーティング部１５３は、１フレーム分の輝度画像の輝度値L(nl)(p)のソート後に、レジスタ１６２−ｋに記録されている値を、暗輝度側の裾野値Ldark(nl)として、輝度域情報メモリ１１２に供給する。
【０１１１】
なお、以下、比較部１６１−１乃至比較部１６１−ｋのそれぞれを個々に区別する必要のない場合、単に比較部１６１と称する。また、以下、レジスタ１６２−１乃至レジスタ１６２−ｋのそれぞれを個々に区別する必要のない場合、単にレジスタ１６２と称する。
【０１１２】
ソーティング部１５４は、比較部１７１−１乃至比較部１７１−ｋ、および各比較部に対応するレジスタ１７２−１乃至レジスタ１７２−ｋから構成される。比較部１７１−１乃至比較部１７１−ｋは、飽和画素除外部１５２および比較部１７１−１乃至比較部１７１−（ｋ−１）から供給された輝度値L(nl)(p)と、レジスタ１７２−１乃至レジスタ１７２−ｋの値とを比較する。
【０１１３】
そして、比較部１７１−１乃至比較部１７１−ｋのそれぞれは、輝度値L(nl)(p)がレジスタ１７２−１乃至レジスタ１７２−ｋのそれぞれの値より大きい場合、レジスタ１７２−１乃至レジスタ１７２−ｋの値を後段に出力し、輝度値L(nl)(p)をレジスタ１７２−１乃至レジスタ１７２−ｋのそれぞれに記録させる。また、比較部１７１−１乃至比較部１７１−ｋのそれぞれは、輝度値L(nl)(p)がレジスタ１７２−１乃至レジスタ１７２−ｋのそれぞれの値以下である場合、輝度値L(nl)(p)をそのまま後段に出力する。
【０１１４】
これにより、供給された輝度値L(nl)(p)のうち、最大値からｋ番目に大きい値までが、レジスタ１７２−１乃至レジスタ１７２−ｋに降順に記録される。ソーティング部１５４は、１フレーム分の輝度画像の輝度値L(nl)(p)のソート後に、レジスタ１７２−ｋに記録されている値を、明輝度側の裾野値Lbright(nl)として、輝度域情報メモリ１１２に供給する。
【０１１５】
なお、以下、比較部１７１−１乃至比較部１７１−ｋのそれぞれを個々に区別する必要のない場合、単に比較部１７１と称する。また、以下、レジスタ１７２−１乃至レジスタ１７２−ｋのそれぞれを個々に区別する必要のない場合、単にレジスタ１７２と称する。
【０１１６】
ここで、比較部１６１およびレジスタ１６２と、比較部１７１およびレジスタ１７２の数は、輝度値のヒストグラムの面積比何パーセントに相当する輝度値を裾野値として算出するかによって定まる。
【０１１７】
例えば、暗輝度側および明輝度側のそれぞれにおいて、０．５％に相当する輝度値を裾野値として算出したい場合、ソーティング部１５３およびソーティング部１５４への輝度値の最大入力数が１２００に制限されるように間引き部１５１の動作が制御される。そして、ソーティング部１５３に設けられる比較部１６１とレジスタ１６２のセットの数、およびソーティング部１５４に設けられる比較部１７１とレジスタ１７２のセットの数は、それぞれ６とされる。
【０１１８】
すると、全画素の輝度値の入力が終了した時点で、レジスタ１６２−ｋおよびレジスタ１７２−ｋ（ｋ＝６）には、面積比０．５％相当の輝度値が記録されているので、それらの輝度値が暗輝度側の裾野値および明輝度側の裾野値として出力される。
【０１１９】
［ブロック輝度平均値算出部の機能の構成例］
図７は、図５のブロック輝度平均値算出部１１３の機能の構成例を示すブロック図である。ブロック輝度平均値算出部１１３は、ブロック選択部２０１および平均値算出部２０２−１乃至平均値算出部２０２−Ｎから構成される。
【０１２０】
ブロック選択部２０１は、非線形変換部８２から供給された処理対象画素の位置ｐから、処理対象画素の属す空間ブロックを特定する。ブロック選択部２０１は、各空間ブロックに対応する平均値算出部２０２−１乃至平均値算出部２０２−Ｎのうち、特定された空間ブロックに対応する平均値算出部に輝度値L(nl)(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)の２乗値を、レジスタ２５３−１乃至レジスタ２５３−Ｎのそれぞれに記録されている値に加算して、レジスタ２５３−１乃至レジスタ２５３−Ｎのそれぞれに記録させる。すなわち、レジスタ２５３−１乃至レジスタ２５３−Ｎのそれぞれには、供給された輝度値L(nl)(p)の２乗値の総和が記録される。
【０１３４】
レジスタ２５３−１乃至レジスタ２５３−Ｎのそれぞれは、加算部２５２−１乃至加算部２５２−Ｎのそれぞれから供給された値を記録するとともに、記録している値を加算部２５２−１乃至加算部２５２−Ｎのそれぞれと、除算部２５５−１乃至除算部２５５−Ｎのそれぞれとに供給する。
【０１３５】
カウンタ２５４−１乃至カウンタ２５４−Ｎのそれぞれは、１フレーム毎に、ブロック選択部２４１から供給された輝度値L(nl)(p)の数をカウントする。すなわち、カウンタ２５４−１乃至カウンタ２５４−Ｎのそれぞれは、対応する空間ブロック内の画素の数をカウントする。
【０１３６】
除算部２５５−１乃至除算部２５５−Ｎのそれぞれは、レジスタ２５３−１乃至レジスタ２５３−Ｎのそれぞれに記録されている値を、カウンタ２５４−１乃至カウンタ２５４−Ｎのそれぞれに記録されている値で割ることにより、対応する空間ブロック内の画素の輝度値L(nl)(p)の２乗の平均値を求める。除算部２５５−１乃至除算部２５５−Ｎのそれぞれは、求めた各空間ブロックの輝度値L(nl)(p)の２乗の平均値（以下、ブロック輝度２乗平均値とも称する）を分散算出部２３２に供給する。
【０１３７】
なお、以下、２乗平均値算出部２４２−１乃至２乗平均値算出部２４２−Ｎのそれぞれを、個々に区別する必要のない場合、単に２乗平均値算出部２４２と称する。また、以下、２乗部２５１−１乃至２乗部２５１−Ｎのそれぞれを、個々に区別する必要のない場合、単に２乗部２５１と称する。さらに、以下、加算部２５２−１乃至加算部２５２−Ｎのそれぞれを個々に区別する必要のない場合、単に加算部２５２と称する。また、以下、レジスタ２５３−１乃至レジスタ２５３−Ｎのそれぞれを、個々に区別する必要のない場合、単にレジスタ２５３と称する。さらに、以下、カウンタ２５４−１乃至カウンタ２５４−Ｎのそれぞれを、個々に区別する必要がない場合、単にカウンタ２５４と称する。また、以下、除算部２５５−１乃至除算部２５５−Ｎのそれぞれを、個々に区別する必要がない場合、単に除算部２５５と称する。
【０１３８】
分散算出部２３２は、ブロック輝度平均値算出部１１３から供給される各空間ブロックのブロック輝度平均値と、２乗平均値算出部２４２から供給される各空間ブロックのブロック輝度２乗平均値に基づいて、各空間ブロック内の輝度値の分散（ブロック輝度分散）を算出する。分散算出部２３２は、算出した各空間ブロックのブロック輝度分散をブロック輝度変換直線傾き算出部１１５に供給する。
【０１３９】
なお、予め各空間ブロック内の画素数が分かっている場合には、各２乗平均値算出部２４２にカウンタ２５４を設けないようにすることも可能である。
【０１４０】
［輝度変換部の機能の構成例］
図９は、図５の輝度変換部１１９の機能の構成例を示すブロック図である。輝度変換部１１９は、近傍ブロック選択部２７１、線形計算部２７２−１乃至線形計算部２７２−１６、ブロック重み係数算出部２７３、および加重平均部２７４から構成される。
【０１４１】
近傍ブロック選択部２７１は、各空間ブロックのブロック輝度変換直線傾きa(i,j)およびブロック輝度変換直線切片b(i,j)をブロック輝度変換直線傾きメモリ１１７およびブロック輝度変換直線切片メモリ１１８から読み出す。また、近傍ブロック選択部２７１は、非線形変換部８２から供給される処理対象画素の位置pに基づいて、処理対象画素の周囲の縦４×横４の合計１６個の空間ブロック（以下、近傍ブロックとも称する）を選択する。近傍ブロック選択部２７１は、選択した１６個の各近傍ブロックのブロック輝度変換直線傾きa(i,j)およびブロック輝度変換直線切片b(i,j)をそれぞれ、各近傍ブロックに対応する線形計算部２７２−１乃至線形計算部２７２−１６に供給する。
【０１４２】
なお、線形計算部２７２−１乃至線形計算部２７２−１６のそれぞれが対応する近傍ブロックは、４×４の近傍ブロックの領域内の各近傍ブロックの位置に基づいて決定する。例えば、線形計算部２７２−１は、４×４の近傍ブロックのうちの左上隅の近傍ブロックに対応し、線形計算部２７２−１６は、４×４の近傍ブロックの右下隅の近傍ブロックに対応する。
【０１４３】
線形計算部２７２−１乃至線形計算部２７２−１６のそれぞれは、処理対象画素の輝度値L(nl)(p)、並びに、それぞれが対応する近傍ブロックのブロック輝度変換直線傾きa(i,j)およびブロック輝度変換直線切片b(i,j)に基づいて、対応する近傍ブロックの中心位置での大局輝度値La(nl)(i,j,p)を算出し、加重平均部２７４に供給する。
【０１４４】
ブロック重み係数算出部２７３は、各近傍ブロックの中心位置と処理対象画素との相対距離に基づいて、各近傍ブロックに対する重み係数ω(i,j,p)を算出し、加重平均部２７４に供給する。
【０１４５】
加重平均部２７４は、重み係数ω(i,j,p)を用いて、各近傍ブロックの大局輝度値La(nl)(i,j,p)の加重平均を処理対象画素の大局輝度値Ll(nl)(p)として算出し、トーンカーブ算出部１２０およびマッピング部１２２に供給する。
【０１４６】
なお、以下、線形計算部２７２−１乃至線形計算部２７２−１６のそれぞれを、個々に区別する必要のない場合、単に線形計算部２７２と称する。
【０１４７】
［線形計算部の機能の構成例］
図１０は、図９の線形計算部２７２の機能の構成例を示すブロック図である。線形計算部２７２は、乗算部２８１、および加算部２８２から構成される。
【０１４８】
乗算部２８１は、近傍ブロック選択部２７１から供給されるブロック輝度変換直線傾きa(i,j)と、非線形変換部８２から供給される輝度値L(nl)(p)を掛け合わせ、その結果を加算部２８２に供給する。
【０１４９】
加算部２８２は、乗算部２８１の計算結果と、近傍ブロック選択部２７１から供給されるブロック輝度変換直線切片b(i,j)とを足し合わせ、その結果を加重平均部２７４に供給する。
【０１５０】
すなわち、線形計算部２７２は、与えられた輝度値L(nl)(p)、ブロック輝度変換直線傾きa(i,j)、およびブロック輝度変換直線切片b(i,j)を用いて、上述した式（１０）の計算を行う。
【０１５１】
［コントラスト補正部の機能の構成例］
図１１は、図５のコントラスト補正部１２４の機能の構成例を示すブロック図である。コントラスト補正部１２４は、ゲイン値算出部３０１およびコントラスト強調部３０２から構成される。
【０１５２】
ゲイン値算出部３０１は、トーンカーブメモリ１２１に記録されているトーンカーブから、トーンカーブの傾きの代表値であるγ-compパラメータを算出する。また、ゲイン値算出部３０１は、マッピング部１２３からの輝度値Lc(nl)(p)およびγ-compパラメータに基づいて、輝度値Lc(nl)(p)をコントラスト補正するときに用いるゲイン値g(p)を算出し、コントラスト強調部３０２に供給する。
【０１５３】
コントラスト強調部３０２は、ゲイン値算出部３０１からのゲイン値g(p)と、マッピング部１２２からの大局輝度値Lcl(nl)(p)とを用いて、マッピング部１２３からの輝度値Lc(nl)(p)からなる輝度画像のコントラストを強調するようにコントラストを補正する。コントラスト強調部３０２は、コントラストを補正することにより得られた輝度値Lu(nl)(p)を階調補正部８５−１乃至階調補正部８５−３に供給する。
【０１５４】
［デジタルカメラのＤＳＰブロックの画像処理の説明］
次に、図１２のフローチャートを参照して、ＤＳＰ１６により実行される画像処理について説明する。なお、この処理は、例えば、図１のデジタルビデオカメラによる撮影が開始され、Ａ／Ｄコンバータ１５からＤＳＰ１６への画像データ（モザイク画像）のストリームの供給が開始されたときに開始される。また、ＤＳＰ１６に供給された画像データは、逐次ＤＳＰ１６の図示せぬ内部のメモリに格納される。
【０１５５】
ステップＳ１１において、ホワイトバランス処理部５１は、モザイク画像を読み込む。具体的には、ホワイトバランス処理部５１は、ＤＳＰ１６の図示せぬ内部のメモリに格納されている先頭のフレームのモザイク画像を読み込む。
【０１５６】
ステップＳ１２において、ホワイトバランス処理部５１は、取得したモザイク画像のホワイトバランスを調整し、デモザイク処理部５２に供給する。
【０１５７】
ステップＳ１３において、デモザイク処理部５２は、デモザイク処理を行う。すなわち、デモザイク処理部５２は、ホワイトバランス処理部５１からのモザイク画像にデモザイク処理を施してＲＧＢ画像を生成し、階調補正処理部５３に供給する。
【０１５８】
ステップＳ１４において、階調補正処理部５３は、階調補正処理を行い、デモザイク処理部５２からのＲＧＢ画像の階調を補正する。そして、階調補正処理部５３は、階調の補正されたＲＧＢ画像をガンマ補正処理部５４に供給する。なお、階調補正処理の詳細は後述する。
【０１５９】
ステップＳ１５において、ガンマ補正処理部５４は、階調補正処理部５３からのＲＧＢ画像にガンマ補正を施してＹＣ変換処理部５５に供給する。
【０１６０】
ステップＳ１６において、ＹＣ変換処理部５５は、ＹＣ変換処理を行う。例えば、ＹＣ変換処理部５５は、ガンマ補正処理部５４からのＲＧＢ画像に対してＹＣマトリックス処理およびクロマ成分に対する帯域制限を行うことにより、ＲＧＢ画像からＹ画像およびＣ画像を生成する。そして、ステップＳ１７において、ＹＣ変換処理部５５は、Ｙ画像およびＣ画像を出力する。例えば、ＹＣ変換処理部５５は、必要に応じてＹ画像およびＣ画像をＬＣＤドライバ１８またはCODEC２０に出力する。
【０１６１】
ステップＳ１８において、ホワイトバランス処理部５１は、後続するフレームが存在するか否かを判定する。例えば、ＤＳＰ１６の図示せぬ内部のメモリに後続するフレームのモザイク画像が蓄積されている場合、後続フレームが存在すると判定される。
【０１６２】
ステップＳ１８において、後続するフレームが存在すると判定された場合、処理はステップＳ１１に戻り、処理対象となる次のフレームのモザイク画像が読み込まれる。これに対して、ステップＳ１８において、後続するフレームが存在しないと判定された場合、画像処理は終了する。
【０１６３】
［階調補正処理の説明］
次に、図１３および図１４のフローチャートを参照して、図１２のステップＳ１４の処理に対応する階調補正処理について説明する。
【０１６４】
ステップＳ４１において、輝度変換部１１９およびトーンカーブ算出部１２０は、中間データを読み込む。すなわち、輝度変換部１１９の近傍ブロック選択部２７１は、ブロック輝度変換直線傾きメモリ１１７およびブロック輝度変換直線切片メモリ１１８から中間データとしてのブロック輝度変換直線傾きおよびブロック輝度変換直線切片を読み込む。また、トーンカーブ算出部１２０は、輝度域情報メモリ１１２から中間データとしての輝度域情報を読み込む。
【０１６５】
ステップＳ４２において、輝度域情報算出部１１１の飽和画素除外部１５２は、ＤＳＰ１６の図示せぬ内部のメモリからnoise Level(nl)およびsaturation Level(nl)を読み込む。
【０１６６】
ステップＳ４３において、階調補正処理部５３は、デモザイク処理部５２から、ＲＧＢ画像の処理対象画素の画素値および画素位置を読み込む。すなわち、階調補正処理部５３の輝度算出部８１、および非線形変換部８４−１乃至非線形変換部８４−３は、処理対象画素のＲ成分の画素値Rw(p)、Ｇ成分の画素値Gw(p)、およびＢ成分の画素値Bw(p)、およびその画素位置pを、デモザイク処理部５２から読み込む。
【０１６７】
ステップＳ４４において、輝度算出部８１は、読み込んだ画素値に基づいて、処理対象画素の輝度値L(p)を算出し、非線形変換部８２に供給する。例えば、輝度算出部８１は、読み込んだ画素値Rw(p)乃至画素値Bw(p)に所定の係数を乗算して線形和を求めて輝度値としたり、画素値Rw(p)乃至画素値Bw(p)のうちの最大値を輝度値としたりする。
【０１６８】
ステップＳ４５において、非線形変換部８２は、輝度算出部８１からの輝度値L(p)を非線形変換し、変換により得られた輝度値L(nl)(p)を、輝度階調補正部８３および階調補正部８５に供給する。例えば、非線形変換部８２は、１より小さい指数によるべき乗特性や対数特性など、上に凸の単調増加特性を有する関数を用いて輝度値L(p)を非線形変換する。
【０１６９】
ステップＳ４６において、輝度階調補正部８３の輝度値L(nl)(p)を処理に用いる各部、および階調補正部８５は、非線形変換部８２から、処理対象画素の輝度値L(nl)(p)およびその画素位置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)との比を各色の成分の画素値に乗算する。より具体的には、例えば、階調補正部８５−１は、次式（１２）を計算することにより、階調補正された画素値Ｒｕ(nl)(p)を求める。
【０１９２】
【数１２】
0005495025.tif 000013
【０１９３】
式（１２）では、階調補正前後の輝度値の比率、つまり階調補正された輝度値Lu(nl)(p)を階調補正前の輝度値L(nl)(p)で除算した値が、非線形変換された画素値R(nl)(p)に対して乗算されている。階調補正部８５−２および階調補正部８５−３においても、上述した式（１２）と同様の計算が行われ、画素値が階調補正される。
【０１９４】
なお、非線形変換部８２および非線形変換部８４において行われる非線形変換が、対数変換である場合には、式（１３）に示す計算を行うことにより、画素値が階調補正されてもよい。
【０１９５】
【数１３】
0005495025.tif 000014
【０１９６】
式（１３）では、階調補正された輝度値Lu(nl)(p)と、階調補正前の輝度値L(nl)(p)との差分値が、画素値R(nl)(p)に加算されて、階調補正された画素値Ｒｕ(nl)(p)とされている。
【０１９７】
ステップＳ５７において、非線形逆変換部８６−１乃至非線形逆変換部８６−３は、階調補正部８５からの画素値に、非線形変換部８４による非線形変換の逆変換となる非線形逆変換を施す。そして、ステップＳ５８において、非線形逆変換部８６−１乃至非線形逆変換部８６−３は、非線形逆変換により得られた画素値Ｒｕ(p)、Gu(p)、およびBu(p)を、ガンマ補正処理部５４に出力する。
【０１９８】
ステップＳ５９において、階調補正処理部５３は、処理対象となっているフレームのＲＧＢ画像上の全ての画素を処理したか否かを判定する。ステップＳ５９において、まだ全ての画素を処理していない、つまり全ての画素が処理対象画素とされていないと判定された場合、処理はステップＳ４３に戻り、上述した処理が繰り返される。
【０１９９】
これに対して、ステップＳ５９において、全ての画素が処理されたと判定された場合、ステップＳ６０において、輝度域情報算出部１１１（図５）は、暗輝度側裾野値および明輝度側裾野値を算出する。すなわち、輝度域情報算出部１１１のソーティング部１５３は、レジスタ１６２−ｋに記録されている値を、輝度域情報である暗輝度側の裾野値Ldark(nl)として、輝度域情報メモリ１１２に供給して記録させる。また、ソーティング部１５４は、レジスタ１７２−ｋに記録されている値を、輝度域情報である明輝度側の裾野値Lbright(nl)として、輝度域情報メモリ１１２に供給して記録させる。
【０２００】
ステップＳ６１において、ブロック輝度平均値算出部１１３の各平均値算出部２０２は、対応する空間ブロックのブロック輝度平均値u(i,j)を算出する。すなわち、各平均値算出部２０２において、除算部２１４が、レジスタ２１２に記録されている空間ブロック内の画素の輝度値L(nl)(p)の総和を、カウンタ２１３に記録されている空間ブロック内の画素数で割ることにより、各空間ブロックのブロック輝度平均値u(i,j)を求める。各平均値算出部２０２の除算部２１４は、算出したブロック輝度平均値u(i,j)を、ブロック輝度分散算出部１１４の分散算出部２３２およびブロック輝度変換直線切片算出部１１６に供給する。
【０２０１】
ステップＳ６２において、ブロック輝度分散算出部１１４は、各空間ブロックのブロック輝度分散Vb(i,j)を算出する。具体的には、ブロック輝度分散算出部１１４の各２乗平均値算出部２４２において、除算部２５５が、レジスタ２５３に記録されている空間ブロック内の画素の輝度値L(nl)(p)の２乗の総和を、カウンタ２５４に記録されている空間ブロック内の画素数で割ることにより、各空間ブロックのブロック輝度２乗平均値を求める。各平均値算出部２０２の除算部２１４は、算出した各空間ブロックのブロック輝度２乗平均値を分散算出部２３２に供給する。分散算出部２３２は、空間ブロックごとに、その空間ブロックのブロック輝度２乗平均値からブロック輝度平均値の２乗を引くことにより、ブロック輝度分散Vb(i,j)を求める。ブロック輝度分散算出部２３２は、算出した各空間ブロックのブロック輝度分散Vb(i,j)をブロック輝度変換直線傾き算出部１１５に供給する。
【０２０２】
ステップＳ６３において、ブロック輝度変換直線傾き算出部１１５は、ブロック輝度変換直線傾きを算出する。すなわち、ブロック輝度変換直線傾き算出部１１５は、上述した式（８）により、各空間ブロックのブロック輝度変換直線傾きa(i,j)を算出する。ブロック輝度変換直線傾き算出部１１５は、算出した各空間ブロックのブロック輝度変換直線傾きa(i,j)を、ブロック輝度変換直線切片算出部１１６に供給する。また、ブロック輝度変換直線傾き算出部１１５は、算出した各空間ブロックのブロック輝度変換直線傾きa(i,j)を、ブロック輝度変換直線傾きメモリ１１７に供給して記録させる。
【０２０３】
ステップＳ６４において、ブロック輝度変換直線切片算出部１１６は、ブロック輝度変換直線切片を算出する。すなわち、ブロック輝度変換直線切片算出部１１６は、上述した式（９）により、各空間ブロックのブロック輝度変換直線切片b(i,j)を算出する。ブロック輝度変換直線切片算出部１１６は、算出した各空間ブロックのブロック輝度変換直線切片b(i,j)を、ブロック輝度変換直線切片メモリ１１８に供給して記録させる。
【０２０４】
その後、階調補正処理は終了し、処理は図１２のステップＳ１５に進む。
【０２０５】
このように、階調補正処理においては、１フレーム分の輝度画像に基づいて、中間データとしての輝度域情報、ブロック輝度変換直線傾きa(i,j)、およびブロック輝度変換直線切片b(i,j)が求められ、輝度域情報メモリ１１２、ブロック輝度変換直線傾きメモリ１１７、およびブロック輝度変換直線切片メモリ１１８に格納される。そして、輝度階調補正部８３では、現在処理しているフレームよりも時間的に１つ前のフレームから求められた中間データが用いられて処理対象画素の大局輝度値やトーンカーブが算出され、エッジ保存平滑化処理および階調補正処理が行われる。
【０２０６】
従って、処理対象の画像が動画像であっても、画像の全画素を２回スキャンすることなく、少ない演算量および少ないワーキングメモリで、大きいオペレータサイズのエッジ保存平滑化処理を行うことができる。
【０２０７】
次に、図１６乃至図１８のフローチャートを参照して、図１３のステップＳ４７乃至ステップＳ４９の処理に対応する処理を説明する。
【０２０８】
［輝度域情報算出のための画素処理の説明］
まず、図１６のフローチャートを参照して、図１３のステップＳ４７の処理に対応する輝度域情報算出のための画素処理について説明する。
【０２０９】
ステップＳ９１において、間引き部１５１は、輝度値L(nl)(p)の処理対象画素の画素位置が、所定の間隔ごとに設けられているサンプリング位置に合致するか否かを判定する。ステップＳ９１において、サンプリング位置に合致しないと判定された場合、読み込まれた輝度値L(nl)(p)は、飽和画素除外部１５２には出力されずに、処理は図１３のステップＳ４８に進む。
【０２１０】
一方、ステップＳ９１において、サンプリング位置に合致すると判定された場合、輝度値L(nl)(p)は、飽和画素除外部１５２に出力され、処理はステップＳ９２に進む。ステップＳ９２において、飽和画素除外部１５２は、間引き部１５１からの輝度値がnoise Level(nl)以上、かつsaturation Level(nl)以下であるか否かを判定する。
【０２１１】
ステップＳ９２において、noise Level(nl)以上、かつsaturation Level(nl)以下でないと判定された場合、輝度値L(nl)(p)は、飽和画素除外部１５２から出力されずに、処理は図１３のステップＳ４８に進む。
【０２１２】
これに対して、ステップＳ９２において、noise Level(nl)以上、かつsaturation Level(nl)以下であると判定された場合、つまり有効な輝度域内の輝度値であると判定された場合、飽和画素除外部１５２は、輝度値L(nl)(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)までが、レジスタ１６２−１乃至レジスタ１６２−ｋに昇順に記録される。
【０２１４】
ステップＳ９４において、ソーティング部１５４は、明輝度側ソーティングを行い、処理は、図１３のステップＳ４８に進む。具体的には、ソーティング部１５４の比較部１７１−１は、レジスタ１７２−１が記録している値と、飽和画素除外部１５２からの輝度値L(nl)(p)とを比較して、輝度値L(nl)(p)がレジスタ１７２−１の値より大きい場合、レジスタ１７２−１に記録されていた値を後段の比較部１７１−２に出力し、輝度値L(nl)(p)をレジスタ１７２−１に記録させる。一方、比較部１７１−１は、輝度値L(nl)(p)がレジスタ１７２−１の値以下である場合、輝度値L(nl)(p)をそのまま後段の比較部１７１−２に出力する。後段の比較部１７１−２乃至比較部１７１−ｋも同様の処理を行う。その結果、最終的に、フレーム内のサンプリング位置の画素の輝度値L(nl)(p)のうち、最大の輝度値L(nl)(p)からｋ番目に大きい輝度値L(nl)(p)までが、レジスタ１７２−１乃至レジスタ１７２−ｋに降順に記録される。
【０２１５】
このようにして、処理対象画素の輝度値が読み込まれるたびに暗輝度側ソーティングおよび明輝度側ソーティングを行うことで、輝度域情報としての裾野値が求められる。
【０２１６】
［ブロック輝度平均値算出のための画素処理の説明］
次に、図１７のフローチャートを参照して、図１３のステップＳ４８の処理に対応するブロック輝度平均値算出のための画素処理について説明する。
【０２１７】
ステップＳ１２１において、ブロック輝度平均値算出部１１３のブロック選択部２０１は、処理対象画素の位置pから、処理対象画素の属す空間ブロックを特定する。
【０２１８】
ステップＳ１２２において、ブロック選択部２０１は、特定した空間ブロックに対応する平均値算出部２０２に輝度値L(nl)(p)を加算させる。具体的には、ブロック選択部２０１は、特定した空間ブロックに対応する平均値算出部２０２の加算部２１１に輝度値L(nl)(p)を供給する。輝度値L(nl)(p)が供給された加算部２１１は、後段のレジスタ２１２に記録されている輝度値の積算値に、ブロック選択部２０１からの輝度値L(nl)(p)を加算して、レジスタ２１２に記録させる。これにより、各空間ブロックの輝度値が積算されていく。
【０２１９】
ステップＳ１２３において、ブロック選択部２０１は、特定した空間ブロックに対応する平均値算出部２０２のカウンタ２１３の値をインクリメントする。すなわち、ブロック選択部２０１は、特定した空間ブロックに対応する平均値算出部２０２のカウンタ２１３に指示し、保持している値を１つ増加させる。これにより、各空間ブロックの画素数がカウントされていく。
【０２２０】
その後、処理は図１３のステップＳ４９に進む。
【０２２１】
［ブロック輝度分散算出のための画素処理の説明］
次に、図１８のフローチャートを参照して、図１３のステップＳ４９の処理に対応するブロック輝度分散算出のための画素処理について説明する。
【０２２２】
ステップＳ１５１において、ブロック輝度分散算出部１１４のブロック選択部２４１は、処理対象画素の位置pから、処理対象画素の属す空間ブロックを特定する。
【０２２３】
ステップＳ１５２において、ブロック選択部２４１は、特定した空間ブロックに対応する２乗平均値算出部２４２に輝度値L(nl)(p)の２乗を加算させる。具体的には、ブロック選択部２４１は、特定した空間ブロックに対応する２乗平均値算出部２４２の２乗部２５１に輝度値L(nl)(p)を供給する。輝度値L(nl)(p)が供給された２乗部２５１は、輝度値L(nl)(p)の２乗を求め、求めた値を後段の加算部２５２に供給する。加算部２５２は、後段のレジスタ２５３に記録されている輝度値の２乗の積算値に、２乗部２５１からの値を加算して、レジスタ２５３に記録させる。これにより、各空間ブロックの輝度値の２乗が積算されていく。
【０２２４】
ステップＳ１５３において、ブロック選択部２４１は、特定した空間ブロックに対応する２乗平均値算出部２４２のカウンタ２５４の値をインクリメントする。すなわち、ブロック選択部２４１は、特定した空間ブロックに対応する２乗平均値算出部２４２のカウンタ２５４に指示し、保持している値を１つ増加させる。これにより、各空間ブロックの画素数がカウントされていく。
【０２２５】
その後、処理は図１３のステップＳ５０に進む。
【０２２６】
［大局輝度値算出処理の説明］
次に、図１９のフローチャートを参照して、図１３のステップＳ５０の処理に対応する処理である大局輝度値算出処理について説明する。
【０２２７】
ステップＳ１８１において、近傍ブロック選択部２７１は、処理対象画素の近傍の４×４の空間ブロックを選択する。具体的には、近傍ブロック選択部２７１は、処理対象画素の空間方向の近傍（処理対象画素が含まれる空間ブロックも含む）の４×４の合計１６個の空間ブロックBK(i,j)を近傍ブロックとして選択する。近傍ブロック選択部２７１は、選択した近傍ブロックのブロック輝度変換直線傾きa(i,j)およびブロック輝度変換直線切片b(i,j)を、各近傍ブロックに対応する線形計算部２７２に供給する。
【０２２８】
ステップＳ１８２において、各線形計算部２７２は、上述した式（１０）に対応する次式（１４）により、各近傍ブロックの中心位置での大局輝度値La(nl)(i,j,p)を算出する。
【０２２９】
【数１４】
0005495025.tif 000015
【０２３０】
すなわち、各線形計算部２７２は、各近傍ブロックのブロック輝度変換直線傾きa(i,j)およびブロック輝度変換直線切片b(i,j)、並びに、処理対象画素に対する重み関数φを用いて、処理対象画素の輝度値L(nl)(p)に対する各近傍ブロックの中心位置での大局輝度値La(nl)(i,j,p)を算出する。各線形計算部２７２は、算出した大局輝度値La(nl)(i,j,p)を加重平均部２７４に供給する。
【０２３１】
ステップＳ１８３において、ブロック重み係数算出部２７３は、各近傍ブロックに対する重み係数ω(i,j,p)を算出する。重み係数ω(i,j,p)は、近傍ブロックの中心位置と処理対象画素との相対距離により定まる係数である。また、ブロック重み係数算出部２７３は、例えば、近傍ブロックの中心位置と処理対象画素との相対距離と、重み係数ω(i,j,p)との関係を表すルックアップテーブル、または３次B-spline関数などの情報を保持している。そして、ブロック重み係数算出部２７３は、それらの情報を用いて、各近傍ブロックの中心位置と処理対象画素との相対距離に基づいて、各近傍ブロックに対する重み係数ω(i,j,p)を算出する。ブロック重み係数算出部２７３は、算出した重み係数ω(i,j,p)を加重平均部２７４に供給する。
【０２３２】
ステップＳ１８４において、加重平均部２７４は、上述した式（１１）に対応する次式（１５）により、各近傍ブロックの中心位置と処理対象画素との相対距離に基づいて、処理対象画素の画素位置での大局輝度値を補間する。
【０２３３】
【数１５】
0005495025.tif 000016
【０２３４】
すなわち、加重平均部２７４は、各近傍ブロックの中心位置と処理対象画素との相対距離で定まる重み係数ω(i,j,p)を用いて、各近傍ブロックの情報を用いて平滑化した大局輝度値La(nl)(i,j,p)の加重平均を算出して、処理対象画素の大局輝度値Ll(nl)(p)とする。
【０２３５】
ステップＳ１８５において、加重平均部２７４は、算出した大局輝度値Ll(nl)(p)を、トーンカーブ算出部１２０およびマッピング部１２２に出力する。
【０２３６】
その後、大局輝度値算出処理は終了し、処理は図１３のステップＳ５１に進む。
【０２３７】
このようにして、輝度変換部１１９は、処理対象画素の近傍の１６個の空間ブロック内の輝度値に対し、それぞれの空間ブロックごとに処理対象画素に輝度値が近い画素ほど重みを大きくし、輝度値が遠い画素ほど重みを小さくして加重平均をとり、さらに算出された値に対し、処理対象画素と各空間ブロックとの相対距離に応じて重みを付け加重平均をとることで処理対象画素の大局輝度値Ll(nl)(p)を算出する。
【０２３８】
その結果、例えば、処理対象画素近傍の１６個の空間ブロックといった、広範囲な領域内の画素の輝度値の加重平均をとっても、処理対象画素とは異なる明るさである、処理対象画素の属す被写体（処理対象画素により表示される被写体）とは、別の被写体の画素による影響は少なく、処理対象画素が属す被写体の平均輝度値を示す大局輝度値を算出することができる。
【０２３９】
［コントラスト補正処理の説明］
次に、図２０のフローチャートを参照して、図１３のステップＳ５４の処理に対応するコントラスト補正処理について説明する。
【０２４０】
ステップＳ２１１において、コントラスト補正部１２４は、処理対象画素の階調補正された輝度値および大局輝度値を読み込む。すなわち、コントラスト補正部１２４のゲイン値算出部３０１は、マッピング部１２３から、トーンカーブにより階調補正された輝度値Lc(nl)(p)を読み込む。また、コントラスト強調部３０２は、マッピング部１２３から輝度値Lc(nl)(p)を読み込むとともに、マッピング部１２２から、トーンカーブにより階調補正された大局輝度値Lcl(nl)(p)を読み込む。
【０２４１】
ステップＳ２１２において、ゲイン値算出部３０１はγ-compパラメータを求める。例えば、ゲイン値算出部３０１は、図１５のコントロールポイントＰ６付近におけるトーンカーブＣＬの傾きに近い値を得るために、トーンカーブメモリ１２１から、コントロールポイントＰ５およびコントロールポイントＰ７の入力輝度および出力輝度を読み出す。そして、ゲイン値算出部３０１は、読み出した入力輝度および出力輝度から、コントロールポイントＰ５およびコントロールポイントＰ７を結ぶ線分ＡＬの傾きを、γ-compパラメータとして求める。
【０２４２】
ステップＳ２１３において、ゲイン値算出部３０１は、読み込んだ輝度値Lc(nl)(p)と、求めたγ-compパラメータとからゲイン値g(p)を算出する。例えば、ゲイン値算出部３０１は、輝度値Lc(nl)(p)およびγ-compパラメータに基づいて、次式（１６）および式（１７）を計算することで、ゲイン値g(p)を算出する。
【０２４３】
【数１６】
0005495025.tif 000017
【０２４４】
【数１７】
0005495025.tif 000018
【０２４５】
なお、式（１６）において、Lmin(nl)およびLmax(nl)は、輝度値Lc(nl)(p)が取り得る値の範囲内の最小値および最大値を示しており、Lmid(nl)は、図１５の中間輝度レベルLmid(nl)を示している。また、式（１７）において、contrastGainは、予め定められた定数を示している。
【０２４６】
ゲイン値算出部３０１はゲイン値g(p)を算出すると、算出したゲイン値g(p)をコントラスト強調部３０２に供給する。
【０２４７】
ここで、図２１は、輝度値Lc(nl)(p)と、ゲイン値g(p)との関係をグラフに表したものである。すなわち、図中、縦軸はゲイン値g(p)を示しており、横軸は輝度値Lc(nl)(p)を示している。
【０２４８】
図２１では、輝度値Lc(nl)(p)が中間輝度レベルLmid(nl)となるときゲイン値g(p)が最大となり、その値は、予め定められた定数contrastGainと、γ-compパラメータとから定まる値（（contrastGain/γ-comp）−１）となる。また、輝度値Lc(nl)(p)が、中間輝度レベルLmid(nl)から最小値Lmin(nl)または最大値Lmax(nl)に近づくにつれて、ゲイン値g(p)は直線的に減衰する。
【０２４９】
さらに、輝度値Lc(nl)(p)が最小値Lmin(nl)未満および最大値Lmax(nl)を超える範囲では、ゲイン値g(p)は０となる。したがって、中間輝度レベルLmid(nl)付近の輝度成分のコントラストが、最小値Lmin(nl)または最大値Lmax(nl)付近の輝度成分のコントラストと比較して強調される。より厳密に言えば、中間輝度レベルLmid(nl)付近の輝度成分ほどコントラストが強調され、最小値Lmin(nl)または最大値Lmax(nl)付近の輝度成分は、ほとんどコントラストの強調が行われない。
【０２５０】
トーンカーブにより輝度値の階調が補正（圧縮）された画像（輝度値Lc(nl)(p)からなる画像）は、元の画像（輝度値L(nl)(p)からなる画像）と比較してコントラストが抑制（圧縮）されている。また、コントラストが抑制される度合いはトーンカーブの傾きに依存し、トーンカーブの傾きが緩やかであるほど抑制の度合いが大きい。従って、トーンカーブの傾きの逆数に応じて、階調が圧縮された画像のコントラスを強調するように補正すれば、階調を圧縮する前の画像に近いコントラストを得ることができる。しかし、noise Level(nl)またはsaturation Level(nl)付近の輝度値Lc(nl)(p)の画素についても同様の補正を行った場合、補正後の輝度値がnoise Level(nl)を下回ったり、saturation Level(nl)を超えたりするクリッピングが生じ、逆に画像のディテールが失われてしまう場合がある。
【０２５１】
そこで、ゲイン値算出部３０１は、中間輝度レベルLmid(nl)付近のトーンカーブの傾きを代表する値であるγ-compパラメータを算出し、γ-compパラメータに基づくコントラスト補正量を基準として、輝度値Lc(nl)(p)がnoise Level(nl)（最小値Lmin(nl)）またはsaturation Level(nl)（最大値Lmax(nl)）に近づくほど基準値から減衰するようにゲイン値g(p)を決定する。
【０２５２】
図２０のフローチャートの説明に戻り、ステップＳ２１４において、コントラスト強調部３０２は、読み込んだ輝度値Lc(nl)(p)および大局輝度値Lcl(nl)(p)と、ゲイン値算出部３０１からのゲイン値g(p)とを用いて、コントラスト補正した輝度値Lu(nl)(p)を算出する。
【０２５３】
例えば、コントラスト強調部３０２は、トーンカーブにより階調補正された輝度値Lc(nl)(p)および大局輝度値Lcl(nl)(p)の差分を計算することで、輝度値Lc(nl)(p)からなる輝度画像のコントラスト成分値を求める。さらに、コントラスト強調部３０２は、コントラスト成分値をゲイン値g(p)で増幅したものを、階調補正された輝度値Lc(nl)(p)に加算して、輝度値Lc(nl)(p)をコントラスト補正する。これにより、コントラスト補正された輝度値Lu(nl)(p)が得られる。
【０２５４】
より具体的には、コントラスト強調部３０２は、輝度値Lc(nl)(p)、大局輝度値Lcl(nl)(p)、およびゲイン値g(p)を用いて、次式（１８）を計算することで、コントラスト補正した輝度値Lu(nl)(p)を算出する。
【０２５５】
【数１８】
0005495025.tif 000019
【０２５６】
なお、式（１８）において、輝度値(Lc(nl)(p)−Lcl(nl)(p))からなる輝度画像（コントラスト成分値）は、輝度値Lc(nl)(p)からなる輝度画像から、輝度値Lc(nl)(p)からなる輝度画像の低周波域の成分からなる大局輝度画像を差し引いたものである。したがって、輝度値Lu(nl)(p)からなる輝度画像は、輝度値Lc(nl)(p)からなる輝度画像の低周波域を除く周波数成分がゲイン値g(p)により強調された画像となる。
【０２５７】
ステップＳ２１５において、コントラスト強調部３０２は、コントラスト補正により得られた輝度値Lu(nl)(p)を図４の階調補正部８５に出力し、コントラスト補正処理は終了して、処理は図１４のステップＳ５５に進む。
【０２５８】
このように、コントラスト補正部１２４により、輝度値Lc(nl)(p)からなる輝度画像の低周波域を除く、低中周波域から高周波域の成分のコントラストが強調される。したがって、高周波域の成分のコントラストだけを強調したときに目立つ、エッジ部分の局所的なオーバーシュートは発生せず、見た目にもごく自然にコントラストが強調された画像を得ることができる。
【０２５９】
また、中間輝度レベルLmid(nl)付近の輝度成分ほどコントラストが強調されるように補正され、最小値Lmin(nl)または最大値Lmax(nl)付近の輝度成分は、ほとんどコントラストの補正が行われないため、画像の白ツブレや黒ツブレがほとんど発生しない。
【０２６０】
以上のように、階調補正処理部５３では、上述した式（１４）および式（１５）に示されるように、各空間ブロックのブロック輝度変換直線傾きa(i,j)およびブロック輝度変換直線切片b(i,j)、並びに重み係数ω(i,j,p)のみに基づいて、輝度画像の各画素の大局輝度値Ll(nl)(p)を算出し、エッジ保存平滑化処理を行うことができる。従って、エッジ保存平滑化処理に必要な演算量およびメモリ量を大幅に削減することができる。
【０２６１】
また、入力された輝度画像の輝度値を、輝度階調補正部８３により行われる巨大な領域を一度にみるエッジ保存平滑化処理によって処理すると、物体領域ごとに平均化されたような輝度値を得ることができる。この輝度値を大局輝度値Ll(nl)(p)、すなわち各画素の大局的な明るさ情報を示す値と考え、この値が中庸な（中間的な）輝度値に変更されるように、トーンカーブ算出部１２０において各画素のトーンカーブ形状を決定する。このようにして画素位置ごとに決定されたトーンカーブによって各画素位置の輝度を補正することにより、画像の全ての領域を適切な明るさにするような階調補正が可能となる。
【０２６２】
さらに、階調が圧縮された大局輝度値Lcl(nl)(p)を、階調が圧縮された処理対象画素の輝度値Lc(nl)(p)から差し引くことで、各画素位置のコントラスト成分を抽出することができる。そこで、トーンカーブ形状から算出することができる、コントラスト劣化の大きさに基づいた補正係数としてのゲイン値g(p)により、コントラスト成分を補正することが可能となる。
【０２６３】
＜３．第２の実施の形態＞
［第２の実施の形態の概要］
次に、図２２乃至図２７を参照して、本発明の第２の実施の形態について説明する。
【０２６４】
本発明の第２の実施の形態は、各空間ブロックのブロック輝度平均値およびブロック輝度分散を空間的に平滑化して用いることにより、演算量の削減を可能にするものである。
【０２６５】
［輝度階調補正部の構成例］
本発明を適用したデジタルビデオカメラの第２の実施の形態では、図５の輝度階調補正部８３の代わりに、図２２の輝度階調補正部８３が設けられる。なお、図２２において、図５と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
【０２６６】
図２２の輝度階調補正部８３は、図５の輝度階調補正部８３と比較して、ブロック輝度平均値算出部１１３、ブロック輝度分散算出部１１４、および輝度変換部１１９の代わりに、平滑化ブロック輝度平均値算出部４０１、平滑化ブロック輝度分散算出部４０２、および輝度変換部４０３が設けられている点が異なる。
【０２６７】
［平滑化ブロック輝度平均値算出部の構成例］
図２３は、平滑化ブロック輝度平均値算出部４０１および平滑化ブロック輝度分散算出部４０２の機能の構成例を示すブロック図である。なお、図２３において、図５および図８と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
【０２６８】
平滑化ブロック輝度平均値算出部４０１は、ブロック輝度平均値算出部１１３、および畳み込み部４２１から構成される。
【０２６９】
畳み込み部４２１は、各空間ブロックのブロック輝度平均値u(i,j)を空間的に平滑化した平滑化ブロック輝度平均値u'(i,j)を算出し、ブロック輝度変換直線切片算出部１１６、および平滑化ブロック輝度分散算出部４０２の分散算出部２３２に供給する。
【０２７０】
平滑化ブロック輝度分散算出部４０２は、ブロック輝度２乗平均値算出部２３１、畳み込み部４３１、および分散算出部２３２から構成される。
【０２７１】
畳み込み部４３１は、各空間ブロックのブロック輝度２乗平均値m(i,j)を空間的に平滑化した平滑化ブロック輝度２乗平均値m'(i,j)を算出し、分散算出部２３２に供給する。
【０２７２】
分散算出部２３２は、平滑化ブロック輝度平均値算出部４０１の畳み込み部４２１から供給される各空間ブロックの平滑化ブロック輝度平均値u'(i,j)と、畳み込み部４３１から供給される各空間ブロックの平滑化ブロック輝度２乗平均値m'(i,j)に基づいて、各空間ブロック内の輝度値の分散（ブロック輝度分散）を算出する。分散算出部２３２は、算出した各空間ブロックのブロック輝度分散をブロック輝度変換直線傾き算出部１１５に供給する。
【０２７３】
［輝度変換部の構成例］
図２４は、輝度変換部４０３の構成例を示すブロック図である。なお、図２４において、図９と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
【０２７４】
図２４の輝度変換部４０３は、図９の輝度変換部１１９と比較して、近傍ブロック選択部２７１、ブロック重み係数算出部２７３、および加重平均部２７４の代わりに、近傍ブロック選択部４７１、ブロック重み係数算出部４７２、および加重平均部４７３が設けられ、線形計算部２７２の数が１６個から４個に減っている点が異なる。
【０２７５】
近傍ブロック選択部４７１は、各空間ブロックのブロック輝度変換直線傾きa(i,j)およびブロック輝度変換直線切片b(i,j)をブロック輝度変換直線傾きメモリ１１７およびブロック輝度変換直線切片メモリ１１８から読み出す。また、近傍ブロック選択部４７１は、非線形変換部８２から供給される処理対象画素の位置pに基づいて、処理対象画素の周囲の縦２×横２の合計４個の近傍ブロックを選択する。近傍ブロック選択部４７１は、選択した４個の各近傍ブロックのブロック輝度変換直線傾きa(i,j)およびブロック輝度変換直線切片b(i,j)をそれぞれ、各近傍ブロックに対応する線形計算部２７２−１乃至線形計算部２７２−４に供給する。
【０２７６】
ブロック重み係数算出部４７２は、近傍ブロックの中心位置と処理対象画素との相対距離に基づいて、各近傍ブロックに対する重み係数ω(i,j,p)を算出し、加重平均部４７３に供給する。
【０２７７】
加重平均部４７３は、重み係数ω(i,j,p)を用いて、各近傍ブロックの大局輝度値La(nl)(i,j,p)の加重平均を処理対象画素の大局輝度値Ll(nl)(p)として算出し、トーンカーブ算出部１２０およびマッピング部１２２に供給する。
【０２７８】
［階調補正処理の説明］
次に、図２５および図２６のフローチャートを参照して、輝度階調補正部８３が図２２に示す構成とされる場合における階調補正処理について説明する。なお、この階調補正処理は、図１２のステップＳ１４の処理に対応する。
【０２７９】
ステップＳ３４１乃至ステップＳ３４７の処理は、図１３のステップＳ４１乃至ステップＳ４７の処理と同様であり、その説明は省略する。
【０２８０】
ステップＳ３４８において、平滑化ブロック輝度平均値算出部４０１は、平滑化ブロック輝度平均値算出のための画素処理を行う。具体的には、平滑化ブロック輝度平均値算出部４０１のブロック輝度平均値算出部１１３は、図１３のステップＳ４８のブロック輝度平均値算出のための画素処理と同様の処理を行う。
【０２８１】
ステップＳ３４９において、平滑化ブロック輝度分散算出部４０２は、平滑化ブロック輝度分散算出のための画素処理を行う。具体的には、平滑化ブロック輝度分散算出部４０２のブロック輝度２乗平均値算出部２３１は、図１３のステップＳ４９のブロック輝度分散算出のための画素処理と同様の処理を行う。
【０２８２】
ステップＳ３５０において、輝度変換部４０３は、大局輝度値算出処理を行って、処理対象画素の大局輝度値Ll(nl)(p)を算出し、トーンカーブ算出部１２０およびマッピング部１２２に供給する。なお、大局輝度値算出処理の詳細は後述する。
【０２８３】
ステップＳ３５１乃至ステップＳ３６０の処理は、図１３のステップＳ５１乃至図１４のステップＳ６０の処理と同様であり、その説明は省略する。
【０２８４】
ステップＳ３６１において、平滑化ブロック輝度平均値算出部４０１は、平滑化ブロック輝度平均値を算出する。具体的には、平滑化ブロック輝度平均値算出部４０１のブロック輝度平均値算出部１１３の各平均値算出部２０２（図７）は、図１４のステップＳ６１と同様の処理により、各空間ブロックのブロック輝度平均値u(i,j)を算出する。各ブロック輝度平均値算出部１１３は、算出したブロック輝度平均値u(i,j)を畳み込み部４２１に供給する。
【０２８５】
畳み込み部４２１は、次式（１９）により、各空間ブロックのブロック輝度平均値u(i,j)を空間的に平滑化した平滑化ブロック輝度平均値u'(i,j)を算出する。
【０２８６】
【数１９】
0005495025.tif 000020
【０２８７】
なお、w(i,j)は空間方向の平滑化の畳み込み関数を表し、総和は1とする(Σw(i,j)＝1)。
【０２８８】
畳み込み部４２１は、算出した各空間ブロックの平滑化ブロック輝度平均値u'(i,j)を、ブロック輝度変換直線傾き算出部１１５、および平滑化ブロック輝度分散算出部４０２の分散算出部２３２に供給する。
【０２８９】
ステップＳ３６２において、平滑化ブロック輝度分散算出部４０２は、平滑化ブロック輝度分散を算出する。具体的には、平滑化ブロック輝度分散算出部４０２のブロック輝度２乗平均値算出部２３１の各２乗平均値算出部２４２（図８）は、図１４のステップＳ６２と同様の処理により、各空間ブロックのブロック輝度２乗平均値m(i,j)を算出する。各２乗平均値算出部２４２は、算出した各空間ブロックのブロック輝度２乗平均値m(i,j)を畳み込み部４３１に供給する。
【０２９０】
畳み込み部４３１は、式（１９）と同じ畳み込み関数w(i,j)を用いて、次式（２０）により、各空間ブロックのブロック輝度２乗平均値m(i,j)を空間的に平滑化した平滑化ブロック輝度２乗平均値m'(i,j)を算出する。
【０２９１】
【数２０】
0005495025.tif 000021
【０２９２】
畳み込み部４２１は、算出した各空間ブロックの平滑化ブロック輝度２乗平均値m(i,j)を分散算出部２３２に供給する。分散算出部２３２は、次式（２１）により、各空間ブロックのブロック輝度分散Vb(i,j)を空間的に平滑化した平滑化ブロック輝度分散Vb'(i,j)を算出する。
【０２９３】
【数２１】
0005495025.tif 000022
【０２９４】
分散算出部２３２は、算出した各空間ブロックの平滑化ブロック輝度分散Vb'(i,j)をブロック輝度変換直線傾き算出部１１５に供給する。
【０２９５】
ステップＳ３６３において、ブロック輝度変換直線傾き算出部１１５は、ブロック輝度変換直線傾きを算出する。すなわち、ブロック輝度変換直線傾き算出部１１５は、上述した式（８）により、各空間ブロックのブロック輝度変換直線傾きa(i,j)を算出する。ただし、このとき、ブロック輝度変換直線傾き算出部１１５は、ブロック輝度分散Vb(i,j)の代わりに、平滑化ブロック輝度分散Vb'(i,j)を用いてブロック輝度変換直線傾きa(i,j)を算出する。ブロック輝度変換直線傾き算出部１１５は、算出した各空間ブロックのブロック輝度変換直線傾きa(i,j)を、ブロック輝度変換直線傾きメモリ１１７に供給して記録させる。
【０２９６】
ステップＳ３６４において、ブロック輝度変換直線切片算出部１１６は、ブロック輝度変換直線切片を算出する。すなわち、ブロック輝度変換直線切片算出部１１６は、上述した式（９）により、各空間ブロックのブロック輝度変換直線切片b(i,j)を算出する。ただし、このとき、ブロック輝度変換直線傾き算出部１１５は、ブロック輝度平均値u(i,j)の代わりに、平滑化ブロック輝度平均値u'(i,j)を用いてブロック輝度変換直線切片b(i,j)を算出する。ブロック輝度変換直線切片算出部１１６は、算出した各空間ブロックのブロック輝度変換直線切片b(i,j)を、ブロック輝度変換直線切片メモリ１１８に供給して記録させる。
【０２９７】
その後、階調補正処理は終了し、処理は図１２のステップＳ１５に進む。
【０２９８】
［大局輝度値算出処理の説明］
次に、図２７のフローチャートを参照して、図２５のステップＳ３５０の処理に対応する処理である大局輝度値算出処理について説明する。
【０２９９】
ステップＳ３８１において、近傍ブロック選択部４７１は、処理対象画素の近傍の２×２の空間ブロックを選択する。具体的には、近傍ブロック選択部４７１は、処理対象画素の空間方向の近傍（処理対象画素が含まれる空間ブロックも含む）の２×２の合計４個の空間ブロックBK(i,j)を近傍ブロックとして選択する。近傍ブロック選択部４７１は、選択した近傍ブロックのブロック輝度変換直線傾きa(i,j)およびブロック輝度変換直線切片b(i,j)を、各近傍ブロックに対応する線形計算部２７２に供給する。
【０３００】
ステップＳ３８２において、各線形計算部２７２は、図１９のステップＳ１８２と同様の処理を行い、２×２の各近傍ブロックの中心位置での大局輝度値La(nl)(i,j,p)を算出し、算出した大局輝度値La(nl)(i,j,p)を加重平均部４７３に供給する。
【０３０１】
ステップＳ３８３において、ブロック重み係数算出部４７２は、図１９のステップＳ１８３と同様の処理により、２×２の各近傍ブロックに対する重み係数ω(i,j,p)を算出し、算出した重み係数ω(i,j,p)を加重平均部４７３に供給する。
【０３０２】
ステップＳ３８４において、加重平均部４７３は、図１９のステップＳ１８４と同様の処理により、２×２の各近傍ブロックの中心位置と処理対象画素との相対距離で定まる重み係数ω(i,j,p)を用いて、各近傍ブロックの情報を用いて平滑化した大局輝度値La(nl)(i,j,p)の加重平均を算出して、処理対象画素の大局輝度値Ll(nl)(p)とする。
【０３０３】
ステップＳ３８５において、加重平均部４７３は、算出した大局輝度値Ll(nl)(p)を、トーンカーブ算出部１２０およびマッピング部１２２に出力する。
【０３０４】
その後、大局輝度値算出処理は終了し、処理は図２５のステップＳ３５１に進む。
【０３０５】
このように、ブロック輝度平均値およびブロック輝度分散を空間的に平滑化した平滑化ブロック輝度平均値および平滑化ブロック輝度分散を用い、各画素の大局輝度値Ll(nl)(p)を算出する際の近傍ブロックの範囲を小さくすることにより、１画素当たりの演算量を小さくすることができる。その結果、エッジ保存平滑化処理の演算量を削減することができる。
【０３０６】
＜４．第３の実施の形態＞
［第３の実施の形態の概要］
次に、図２８乃至図３１を参照して、本発明の第３の実施の形態について説明する。
【０３０７】
本発明の第３の実施の形態は、輝度画像を縮小した縮小画像を用いて中間データを求めることにより、演算量の削減を可能にするものである。
【０３０８】
［輝度階調補正部の構成例］
本発明を適用したデジタルビデオカメラの第３の実施の形態では、図５の輝度階調補正部８３の代わりに、図２８の輝度階調補正部８３が設けられる。なお、図２８において、図５と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
【０３０９】
図２８に示す輝度階調補正部８３は、図５の輝度階調補正部８３に、さらに縮小部４６１および縮小画像メモリ４６２が設けられている。
【０３１０】
縮小部４６１は、非線形変換部８２から輝度画像における処理対象画素の輝度値L(nl)(p)を読み込み、読み込んだ輝度値L(nl)(p)に基づいて、縮小画像を生成する。例えば、縮小部４６１は、これから生成しようとする縮小画像の画素と同じ位置にある、輝度画像上の領域内の画素の輝度値の平均値を、縮小画像の画素の輝度値とする。縮小部４６１は、生成した縮小画像を縮小画像メモリ４６２に供給する。
【０３１１】
縮小画像メモリ４６２は、縮小部４６１から供給された縮小画像を一時的に記録する。また、輝度域情報算出部１１１、ブロック輝度平均値算出部１１３、およびブロック輝度分散算出部１１４は、縮小画像メモリ４６２に記録されている縮小画像の画素を、順次、処理対象画素として、縮小画像から輝度域情報、ブロック輝度平均値、およびブロック輝度分散を算出する。
【０３１２】
次に、図２９および図３１のフローチャートを参照して、輝度階調補正部８３が図２８に示す構成とされる場合における階調補正処理について説明する。この階調補正処理は、図１２のステップＳ１４の処理に対応する。
【０３１３】
なお、ステップＳ４１１乃至ステップＳ４１６の処理は、図１３のステップＳ４１乃至ステップＳ４６の処理と同様であるので、その説明は省略する。
【０３１４】
ステップＳ４１７において、縮小部４６１は、非線形変換部８２から読み込んだ処理対象画素の輝度値L(nl)(p)を、縮小画像の対応する画素の加算値に加算する。
【０３１５】
すなわち、縮小部４６１は、これから生成しようとする縮小画像の画素ごとに加算値を保持している。この加算値は、新たなフレームの輝度画像に対する縮小画像の生成が開始されるごとに０に更新される。縮小部４６１は、処理対象画素の輝度値を読み込むと、その処理対象画素が、縮小画像のどの画素に対応するか、つまり縮小画像上の同じ位置にある画素はどの画素であるかを特定し、特定した縮小画像の画素の加算値に、読み込んだ処理対象画素の輝度値を加算する。
【０３１６】
このようにして、輝度画像の処理対象画素の輝度値を読み込むごとに、読み込んだ輝度値を、処理対象画素に対応する縮小画像の画素の加算値に加算していくことで、縮小画像の各画素について、その画素と同じ位置にある、輝度画像上の領域内の画素の輝度値の総和が加算値として得られる。
【０３１７】
処理対象画素の輝度値が、縮小画像の対応する画素の加算値に加算されると、その後、ステップＳ４１８乃至ステップＳ４２６の処理が行われる。なお、これらの処理は、図１３および図１４のステップＳ５０乃至ステップＳ５８の処理のそれぞれと同様であるので、その説明は省略する。
【０３１８】
ステップＳ４２７において、階調補正処理部５３は、処理対象となっているフレームのＲＧＢ画像上の全ての画素を処理したか否かを判定する。ステップＳ４２７において、まだ全ての画素を処理していない、つまり全ての画素が処理対象画素とされていないと判定された場合、処理はステップＳ４１３に戻り、上述した処理が繰り返される。
【０３１９】
これに対して、ステップＳ４２７において、全ての画素が処理されたと判定された場合、ステップＳ４２８において、縮小部４６１は、これから生成しようとする縮小画像の各画素について保持している加算値に基づいて、縮小画像を生成する。すなわち、縮小部４６１は、縮小画像の各画素について、その画素に対応する輝度画像上の領域内の画素の数で、加算値を除算し、その結果得られた値を縮小画像の対応する画素の輝度値とする。縮小部４６１は、縮小画像を生成すると、その縮小画像を縮小画像メモリ４６２に供給して記録させる。
【０３２０】
縮小画像が生成されると、その後、ステップＳ４２９乃至ステップＳ４３１の処理が行われる。なお、これらの処理は、図１３のステップＳ４７乃至ステップＳ４９の処理と同様であるので、その説明は省略する。また、ステップＳ４２９乃至ステップＳ４３１の処理においては、縮小画像の画素が、順次、処理対象画素とされる。つまり、縮小画像の画素の輝度値が用いられて、それらの処理が行われる。
【０３２１】
ステップＳ４３１においてブロック輝度分散算出のための画素処理が行われると、ステップＳ４３２において、輝度階調補正部８３は、縮小画像メモリ４６２に記録されている縮小画像の全ての画素を処理したか否かを判定する。例えば、縮小画像の全ての画素が処理対象画素とされて、ステップＳ４２９乃至ステップＳ４３１の処理が行われた場合、全ての画素を処理したと判定される。
【０３２２】
ステップＳ４３２において、まだ全ての画素を処理していないと判定された場合、処理はステップＳ４２９に戻り、縮小画像の次の画素が処理対象画素とされて、上述した処理が繰り返される。
【０３２３】
これに対して、ステップＳ４３２において、全ての画素を処理したと判定された場合、処理はステップＳ４３３に進む。その後、ステップＳ４３３乃至ステップＳ４３７の処理が行われて階調補正処理は終了し、処理は図１２のステップＳ１５に進む。なお、ステップＳ４３３乃至ステップＳ４３７の処理は、図１４のステップＳ６０乃至ステップＳ６４の処理と同様であるので、その説明は省略する。
【０３２４】
このようにして、輝度階調補正部８３は、輝度画像から縮小画像を生成し、縮小画像を用いて中間データを生成する。
【０３２５】
このように、中間データを生成する前に輝度画像を縮小することで、中間データを生成するための演算量を減らすことができるだけでなく、その演算時のメモリの消費量を削減することができる。
【０３２６】
なお、図２２に示した輝度階調補正部８３において、輝度域情報算出部１１１、ブロック輝度平均値算出部１１３、およびブロック輝度分散算出部１１４の前段に縮小画像メモリ４６２と縮小部４６１とが設けられるようにしてもよい。
【０３２７】
＜５．変形例＞
［輝度域情報算出の省略］
なお、ＲＧＢ画像（輝度画像）のダイナミックレンジが安定していることが期待できる場合には、図５の輝度階調補正部８３の輝度域情報算出部１１１において、暗輝度側裾野値および明輝度側裾野値の算出を省略するようにしてもよい。
【０３２８】
そのような場合、図１５に示したトーンカーブ形状を決定するコントロールポイントのうち、コントロールポイントＰ４、コントロールポイントＰ５、コントロールポイントＰ７、およびコントロールポイントＰ８が算出されず、残りのコントロールポイントで、トーンカーブの形状が決定される。この場合においても、画素ごとに算出される大局輝度値Ll(nl)(p)によってコントロールポイントＰ６の位置は変化するため、画素ごとに明るさを適切に補正するというトーンカーブの性質は保持される。
【０３２９】
なお、画素ごとに異なるトーンカーブを設定できる構成があれば、画素ごとに明るさを適切に補正する性質は保持されるので、コントラスト補正は本発明の必須の構成要素ではない。しかし、画素ごとに算出される大局輝度値を利用したコントラスト成分算出およびコントラスト成分の補正処理があれば、より適切な出力が得られる。
【０３３０】
［ＹＣ変換処理後の画像信号に対して階調補正処理を行う場合］
さらに、以上においては、ＲＧＢ画像に対して階調補正処理が行われると説明したが、ＹＣ変換処理後の画像信号に対して階調補正処理が行われるようにしてもよい。そのような場合、ＤＳＰ１６は、例えば図３２に示すように構成される。なお、図３２において、図２における場合と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
【０３３１】
図３２に示すＤＳＰ１６は、図２のＤＳＰ１６に対して、デモザイク処理部５２とガンマ補正処理部５４との間に階調補正処理部５３が設けられておらず、ＹＣ変換処理部５５に階調補正処理部５０１が接続されている点で異なる。階調補正処理部５０１は、ＹＣ変換処理部５５から供給されたＹ画像およびＣ画像（Cb成分およびCr成分）に階調補正処理を施し、階調補正処理を施したＹ画像およびＣ画像を、必要に応じてＬＣＤドライバ１８またはCODEC２０に供給する。
【０３３２】
なお、以下、階調補正処理が施された画像データの画素位置ｐにおける画素値を［Yu(p), Cu(p)］とする。ここで、Yu(p)は、Ｙ画像における輝度成分の値であり、Cu(p)はＣ画像における色差成分の値である。また、以下、特にＣ画像の画素値Cu(p)のCb成分をCbu(p)と称し、Cr成分をCru(p)と称する。
【０３３３】
図３２の階調補正処理部５０１は、例えば図３３に示すように構成される。すなわち、階調補正処理部５０１は、輝度階調補正部５３１、Cb階調補正部５３２、およびCr階調補正部５３３から構成される。
【０３３４】
輝度階調補正部５３１は、図４の輝度階調補正部８３と同様の処理を行って、ＹＣ変換処理部５５からのＹ画像の画素値Y(p)の階調を補正（圧縮）する。そして、輝度階調補正部５３１は、階調補正により得られた画素値Yu(p)を、必要に応じてＬＣＤドライバ１８またはCODEC２０に供給するとともに、画素値Yu(p)をCb階調補正部５３２およびCr階調補正部５３３に供給する。
【０３３５】
Cb階調補正部５３２は、ＹＣ変換処理部５５からのＹ画像の画素値Y(p)と、輝度階調補正部５３１からのＹ画像の画素値Yu(p)とを用いて、図４の階調補正部８５と同様の処理を行い、ＹＣ変換処理部５５からのＣ画像の画素値Cb(p)を階調補正して、階調補正された画素値Cbu(p)を、必要に応じてＬＣＤドライバ１８またはCODEC２０に供給する。
【０３３６】
また、Cr階調補正部５３３は、ＹＣ変換処理部５５からのＹ画像の画素値Y(p)と、輝度階調補正部５３１からのＹ画像の画素値Yu(p)とを用いて、図４の階調補正部８５と同様の処理を行い、ＹＣ変換処理部５５からのＣ画像の画素値Cr(p)を階調補正して、階調補正された画素値Cru(p)を、必要に応じてＬＣＤドライバ１８またはCODEC２０に供給する。
【０３３７】
例えば、Cb階調補正部５３２およびCr階調補正部５３３が行う階調補正は、上述した式（１２）に示される演算と同様に、階調補正されたＹ画像の画素値Yu(p)と、Ｙ画像の画素値Y(p)との比を、Ｃ画像の画素値（画素値Cr(p)または画素値Cb(p)）に乗算することにより行われる。つまり、画素値Yu(p)を画素値Y(p)で除算して得られる値が、Ｃ画像の画素値に乗算される。
【０３３８】
階調補正処理部５０１には、Ｙ画像およびＣ画像、つまり輝度信号と色差信号とが入力されるため、階調補正処理部５０１において輝度画像を生成する必要はない。また、階調補正処理部５０１に供給されるＹ画像およびＣ画像は、既にガンマ補正されているので、Ｙ画像およびＣ画像を非線形変換する必要もない。したがって、階調補正処理部５０１には、図４の階調補正処理部５３における輝度算出部８１、非線形変換部８２、非線形変換部８４、および非線形逆変換部８６に対応するブロックは設けられていない。
【０３３９】
このように、Ｙ画像およびＣ画像に対して階調補正処理を行うことで、より簡単に階調の補正を行うことができる。
【０３４０】
［ＲＡＷデータに対して階調補正処理を行う場合］
さらに、ＲＡＷデータ、つまりモザイク画像に対して階調補正処理が行われるようにしてもよい。そのような場合、ＤＳＰ１６は、例えば図３４に示すように構成される。なお、図３４において、図２における場合と対応する部分には同一の符号を付してあり、その説明は適宜、省略する。
【０３４１】
図３４のＤＳＰ１６と、図２のＤＳＰ１６とは、図３４のＤＳＰ１６において階調補正処理部５８１が、ホワイトバランス処理部５１とデモザイク処理部５２との間に設けられている点で異なる。すなわち、図２のＤＳＰ１６では、階調補正処理部５３が、ホワイトバランス処理部５１とガンマ補正処理部５４との間に設けられているのに対して、図３４のＤＳＰ１６では、図２の階調補正処理部５３に対応する階調補正処理部５８１が、ホワイトバランス処理部５１とデモザイク処理部５２との間に設けられている。
【０３４２】
階調補正処理部５８１は、ホワイトバランス処理部５１からのモザイク画像Ｍｗに階調補正処理を施し、階調補正処理が施されたモザイク画像Ｍｕをデモザイク処理部５２に供給する。この階調補正処理部５８１は、例えば図３５に示すように構成される。
【０３４３】
具体的には、階調補正処理部５８１は、輝度算出部６１１、非線形変換部６１２、輝度階調補正部６１３、位相合わせ部６１４、位相合わせ部６１５、非線形変換部６１６、モザイク階調補正部６１７、および非線形逆変換部６１８から構成される。
【０３４４】
輝度算出部６１１は、図４の輝度算出部８１と同様の処理を行い、モザイク画像Ｍｗから輝度画像を生成する。すなわち、輝度算出部６１１は、ホワイトバランス処理部５１からのモザイク画像Ｍｗの画素位置ｐの画素値を、処理対象画素の画素値Mw(p)として、モザイク画像Ｍｗのいくつかの画素値から輝度値L(p)を算出し、非線形変換部６１２に供給する。
【０３４５】
モザイク画像Ｍｗは、例えば図３６に示すように、各画素がＲ、Ｇ（ＧｒまたはＧｂ）、Ｂの何れかの成分の画素値しか有していないため、輝度算出部６１１は、供給された１つの画素の画素値Mw(p)だけでなく、その画素の周囲の画素の画素値も参照して、輝度値を算出する。
【０３４６】
図３６では、Ｒ成分、Ｇ成分、またはＢ成分を有する画素が、ベイヤー配列で並んでおり、１つの四角形はモザイク画像の１つの画素を示している。また、図中、四角形内の文字「Ｒ」、「Ｇ」、および「Ｂ」は、その四角形がＲ成分、Ｇ成分、およびＢ成分の画素値を有する画素であることを示している。
【０３４７】
輝度算出部６１１は、互いに隣接する縦２画素×横２画素の合計４画素を処理の単位とすると、Ｒ成分、Ｇ成分（Ｇｒ成分およびＧｂ成分）、およびＢ成分の各成分の画素値が得られることを利用して、それらの４つの画素の画素値に基づいて、図中、円により示される位置の輝度値を求める。つまり、図中、円の位置近傍の４つの画素のＲＧＢ信号の和として輝度信号が生成される。
【０３４８】
図３６の例では、図中の円は、Ｒの画素、Ｂの画素、および２つのＧの画素からなる領域の中心に位置している。なお、輝度値が求められる位置は、モザイク画像の画素の位置から半画素分だけずれた位置となっており、また、輝度値が求められる位置の間隔も１画素単位ではないが、これらの位置（位相）のずれは、輝度値の階調を補正するうえでは問題とはならない。
【０３４９】
図３４の説明に戻り、非線形変換部６１２は、図４の非線形変換部８２と同様の処理を行って、輝度算出部６１１からの輝度値L(p)を非線形変換し、非線形変換により得られた輝度値L(nl)(p)を輝度階調補正部６１３および位相合わせ部６１４に供給する。
【０３５０】
輝度階調補正部６１３は、図４の輝度階調補正部８３と同様の処理を行い、非線形変換部６１２からの輝度値L(nl)(p)の階調を圧縮することで、輝度値L(nl)(p)の階調補正を行い、階調補正により得られた輝度値Lu(nl)(p)を位相合わせ部６１５に供給する。
【０３５１】
位相合わせ部６１４は、非線形変換部６１２からの輝度値のうち、処理対象画素近傍の位置の輝度値のいくつかを用いて補間処理を行い、処理対象画素の位置の輝度値を算出する。ここで、位相合わせ部６１４により行われる補間処理は、例えば処理対象画素近傍の２×２の位置の合計４箇所の輝度値を用いたバイリニア補間処理などとされる。
【０３５２】
位相合わせ部６１４は、処理対象画素の輝度値を求めると、求めた輝度値をモザイク階調補正部６１７に供給する。
【０３５３】
位相合わせ部６１５は、輝度階調補正部６１３からの輝度値のうち、処理対象画素近傍の位置の輝度値のいくつかを用いて補間処理を行い、処理対象画素の位置の階調補正された輝度値を算出する。ここで、位相合わせ部６１５により行われる補間処理は、位相合わせ部６１４により行われる補間処理と同じ処理とされ、例えばバイリニア補間処理などとされる。
【０３５４】
非線形変換部６１６は、図４の非線形変換部８４と同様の処理を行って、ホワイトバランス処理部５１からの処理対象画素の画素値Mw(p)を非線形変換し、非線形変換された画素値をモザイク階調補正部６１７に供給する。
【０３５５】
モザイク階調補正部６１７は、位相合わせ部６１４からの輝度値と、位相合わせ部６１５からの階調補正された輝度値とを用いて、図４の階調補正部８５と同様の処理を行い、非線形変換部６１６からの画素値を階調補正して、階調補正された画素値を非線形逆変換部６１８に供給する。例えば、モザイク階調補正部６１７は、上述した式（１２）に示される演算と同様に、位相合わせ部６１４からの輝度値で、位相合わせ部６１５からの階調補正された輝度値を除算して得られる値を、非線形変換部６１６からの画素値に乗算することで、画素値を階調補正する。これにより、処理対象画素の画素値、つまりＲ、Ｇ、またはＢの成分の画素値が階調補正されることになる。
【０３５６】
非線形逆変換部６１８は、モザイク階調補正部６１７からの画素値に、非線形変換部６１６による非線形変換の逆変換となる非線形逆変換を施す。非線形逆変換部６１８は、非線形逆変換により得られた画素値Mu(p)を、デモザイク処理部５２に供給する。
【０３５７】
このように、モザイク画像を対象として階調補正処理を行う場合には、輝度算出部６１１により算出される輝度値の位置は、モザイク画像上の処理対象画素の位置とは異なるが、位相合わせ部６１４および位相合わせ部６１５により位相合わせを行うことで、処理対象画素の位置の輝度値を求めることができる。
【０３５８】
［本発明の適用範囲の例］
なお、以上において説明したように、図１のデジタルビデオカメラは、画像の大局的な構造を抽出する画像処理を行う。このような画像処理により抽出された情報は、画質を向上させる処理などに利用することが可能であるため、画像の大局的な構造を抽出するブロックを実装する装置として、デジタルビデオカメラだけでなく他の装置にも適用することが可能である。例えば、そのような装置として、デジタルスチルカメラなどの撮像装置や、プリンタ、ディスプレイなどの表示装置等が考えられる。さらに、画像を加工したり、編集したりする装置やコンピュータプログラムにも応用することができる。
【０３５９】
［コンピュータのハードウェアの構成例］
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０３６０】
図３７は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０３６１】
コンピュータにおいて、ＣＰＵ９０１，ＲＯＭ（Read Only Memory）９０２，ＲＡＭ９０３は、バス９０４により相互に接続されている。
【０３６２】
バス９０４には、さらに、入出力インターフェース９０５が接続されている。入出力インターフェース９０５には、キーボード、マウス、マイクロホンなどよりなる入力部９０６、ディスプレイ、スピーカなどよりなる出力部９０７、ハードディスクや不揮発性のメモリなどよりなる記録部９０８、ネットワークインターフェースなどよりなる通信部９０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア９１１を駆動するドライブ９１０が接続されている。
【０３６３】
以上のように構成されるコンピュータでは、ＣＰＵ９０１が、例えば、記録部９０８に記録されているプログラムを、入出力インターフェース９０５及びバス９０４を介して、ＲＡＭ９０３にロードして実行することにより、上述した一連の処理が行われる。
【０３６４】
コンピュータ（ＣＰＵ９０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア９１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０３６５】
そして、プログラムは、リムーバブルメディア９１１をドライブ９１０に装着することにより、入出力インターフェース９０５を介して、記録部９０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部９０９で受信し、記録部９０８にインストールすることができる。その他、プログラムは、ＲＯＭ９０２や記録部９０８に、あらかじめインストールしておくことができる。
【０３６６】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３６７】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０３６８】
１６  ＤＳＰ，  ５３  階調補正処理部，  ８１  輝度算出部，  ８３  輝度階調補正部，  ８５−１乃至８５−３  階調補正部，  １１１  輝度域情報算出部，  １１２  輝度域情報メモリ，  １１３  ブロック輝度平均値算出部，  １１４  ブロック輝度分散算出部，  １１５  ブロック輝度変換直線傾き算出部，  １１６  ブロック輝度変換直線切片算出部，  １１７  ブロック輝度変換直線傾きメモリ，  １１８  ブロック輝度変換直線切片メモリ，  １１９  輝度変換部，  １２０  トーンカーブ算出部，  １２２，１２３  マッピング部，  １２４  コントラスト補正部，  ２７２−１乃至２７２−１６  線形計算部，  ２７３  ブロック重み係数算出部，  ２７４  加重平均部，  ４０１  平滑化ブロック輝度平均値算出部，  ４０２  平滑化ブロック輝度分散算出部，  ４０３  輝度変換部，  ４７２  ブロック重み係数算出部，  ４７３  加重平均部，  ４６１  縮小部，  ５０１  階調補正処理部，  ５８１  階調補正処理部
【図１】
0005495025.tif 000023
【図２】
0005495025.tif 000024
【図３】
0005495025.tif 000025
【図４】
0005495025.tif 000026
【図５】
0005495025.tif 000027
【図６】
0005495025.tif 000028
【図７】
0005495025.tif 000029
【図８】
0005495025.tif 000030
【図９】
0005495025.tif 000031
【図１０】
0005495025.tif 000032
【図１１】
0005495025.tif 000033
【図１２】
0005495025.tif 000034
【図１３】
0005495025.tif 000035
【図１４】
0005495025.tif 000036
【図１５】
0005495025.tif 000037
【図１６】
0005495025.tif 000038
【図１７】
0005495025.tif 000039
【図１８】
0005495025.tif 000040
【図１９】
0005495025.tif 000041
【図２０】
0005495025.tif 000042
【図２１】
0005495025.tif 000043
【図２２】
0005495025.tif 000044
【図２３】
0005495025.tif 000045
【図２４】
0005495025.tif 000046
【図２５】
0005495025.tif 000047
【図２６】
0005495025.tif 000048
【図２７】
0005495025.tif 000049
【図２８】
0005495025.tif 000050
【図２９】
0005495025.tif 000051
【図３０】
0005495025.tif 000052
【図３１】
0005495025.tif 000053
【図３２】
0005495025.tif 000054
【図３３】
0005495025.tif 000055
【図３４】
0005495025.tif 000056
【図３５】
0005495025.tif 000057
【図３６】
0005495025.tif 000058
【図３７】
0005495025.tif 000059