(57)【要約】【課題】より少ないメモリ量および演算量で階調補正処理を行う。【解決手段】ブロックヒストグラム算出部２０１は、輝度値L(nl)(p)からなる輝度画像を空間方向に分割して得られる空間ブロック毎の輝度値のヒストグラムであるブロックヒストグラムを算出する。階調補正係数算出部２０３は、輝度値の階調の補正に用いる階調補正係数を各ブロックヒストグラムのビン毎に算出する。階調補正適用部２０５は、輝度画像の注目画素が属するビンの階調補正係数、および、空間方向および輝度方向において注目画素が属するビンの近傍のビンの階調補正係数に基づいて、注目画素の輝度値の階調補正を行う。本発明は、例えば、デジタルビデオカメラに適用することができる。【選択図】図６
2011188391.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を空間方向に分割して得られる空間ブロック毎の輝度値のヒストグラムを算出するヒストグラム算出手段と、
輝度値の階調の補正に用いる階調補正係数を前記ヒストグラムのビン毎に算出する階調補正係数算出手段と、
前記入力画像の注目画素が属する前記ビンの前記階調補正係数、および、空間方向および輝度方向において前記注目画素が属する前記ビンの近傍の前記ビンの前記階調補正係数に基づいて、前記注目画素の輝度値の階調補正を行う階調補正手段と
を含む画像処理装置。
【請求項２】
前記階調補正係数算出手段は、
前記ビンの輝度値の代表値を当該ビンから見て前記ヒストグラムの頻度数が増える方向に補正した輝度値を参照輝度値として前記ビン毎に算出する参照輝度値算出手段と、
入力輝度値に対して階調補正された出力輝度値を出力する所定の階調補正特性関数における前記参照輝度値に対する前記出力輝度値、および、前記参照輝度値に基づいて、前記階調補正係数を前記ビン毎に算出する係数算出手段と
を含む請求項１に記載の画像処理装置。
【請求項３】
前記参照輝度値算出手段は、当該ビンの頻度値、並びに、空間方向および輝度方向において当該ビンの近傍の前記ビンの頻度値に基づいて、当該ビンにおける輝度値の重心を前記参照輝度値として算出する
請求項２に記載の画像処理装置。
【請求項４】
前記参照輝度値算出手段は、前記ヒストグラムの輝度方向の１次微係数を算出し、前記１次微係数に基づいて、当該ビンの輝度値の代表値を当該ビンから見て前記ヒストグラムの頻度数が増える方向に補正した輝度値を前記参照輝度値として算出する
請求項２に記載の画像処理装置。
【請求項５】
前記参照輝度値算出手段は、
前記ヒストグラムに対する累積ヒストグラム関数および前記累積ヒストグラム関数の逆関数を前記空間ブロック毎に算出し、
輝度値の最小値および最大値、並びに、前記ヒストグラムが極大となる輝度値に対する前記累積ヒストグラム関数上の座標の近傍を通過する単調増加関数を輝度変調関数として前記空間ブロック毎に算出し、
前記輝度変調関数および前記累積ヒストグラム関数の逆関数に基づいて、当該ビンの輝度値の代表値を補正することにより前記参照輝度値を算出する
請求項２に記載の画像処理装置。
【請求項６】
前記係数算出手段は、輝度値の最小値および最大値、並びに、前記ヒストグラムの累積度数が所定の値になる輝度値に対して、それぞれ所定の出力輝度値を割り当てた座標を通過する前記階調補正特性関数を前記空間ブロック毎に算出する
請求項２に記載の画像処理装置。
【請求項７】
前記階調補正手段は、前記注目画素が属する前記ビン、および、空間方向および輝度方向において前記注目画素が属する前記ビンの近傍の前記ビンの前記階調補正係数に基づいて、前記注目画素の輝度値および位置における前記階調補正係数を補間し、補間した前記階調補正係数に基づいて前記注目画素の輝度値の階調補正を行う
請求項１に記載の画像処理装置。
【請求項８】
入力画像の輝度値の階調補正を行う画像処理装置が、
前記入力画像を空間方向に分割して得られる空間ブロック毎の輝度値のヒストグラムを算出し、
輝度値の階調の補正に用いる階調補正係数を前記ヒストグラムのビン毎に算出し、
前記入力画像の注目画素が属する前記ビンの前記階調補正係数、および、空間方向および輝度方向において前記注目画素が属する前記ビンの近傍の前記ビンの前記階調補正係数に基づいて、前記注目画素の輝度値の階調補正を行う
ステップを含む画像処理方法。
【請求項９】
入力画像を空間方向に分割して得られる空間ブロック毎の輝度値のヒストグラムを算出し、
輝度値の階調の補正に用いる階調補正係数を前記ヒストグラムのビン毎に算出し、
前記入力画像の注目画素が属する前記ビンの前記階調補正係数、および、空間方向および輝度方向において前記注目画素が属する前記ビンの近傍の前記ビンの前記階調補正係数に基づいて、前記注目画素の輝度値の階調補正を行う
ステップを含む処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、並びにプログラムに関し、特に、画像の階調補正を行う場合に用いて好適な画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、画像処理技術の１つとして、テクスチャに代表されるディテール成分を変化させることなく、それ以外の成分の輝度差を圧縮する階調補正処理が知られている（例えば、特許文献１参照）。
【０００３】
ここで、図１を参照して、特許文献１の階調補正処理の概要について説明する。
【０００４】
輝度域情報算出部１１は、入力画像の輝度値L(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)を出力する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１７７５５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の階調補正処理では、大局輝度値Ll(nl)(p)を算出するために、１フレーム分のブロックヒストグラムおよびブロック積分値を保持する必要があり、必要なメモリ量が大きくなっていた。
【０００８】
また、特許文献１の階調補正処理では、各画素の大局輝度値Ll(nl)(p)を算出するために、ブロックヒストグラムの加重積和演算、ブロック積分値の加重積和演算、および、それらの結果の除算を行う必要がある。さらに、画素毎に大局輝度値Ll(nl)(p)に基づいてトーンカーブを算出する必要がある。その結果、演算量が大きくなっていた。
【０００９】
本発明は、このような状況に鑑みてなされたものであり、より少ないメモリ量および演算量で階調補正処理を行うことができるようにするものである。
【課題を解決するための手段】
【００１０】
本発明の一側面の画像処理装置は、入力画像を空間方向に分割して得られる空間ブロック毎の輝度値のヒストグラムを算出するヒストグラム算出手段と、輝度値の階調の補正に用いる階調補正係数を前記ヒストグラムのビン毎に算出する階調補正係数算出手段と、前記入力画像の注目画素が属する前記ビンの前記階調補正係数、および、空間方向および輝度方向において前記注目画素が属する前記ビンの近傍の前記ビンの前記階調補正係数に基づいて、前記注目画素の輝度値の階調補正を行う階調補正手段とを含む。
【００１１】
前記階調補正係数算出手段には、前記ビンの輝度値の代表値を当該ビンから見て前記ヒストグラムの頻度数が増える方向に補正した輝度値を参照輝度値として前記ビン毎に算出する参照輝度値算出手段と、入力輝度値に対して階調補正された出力輝度値を出力する所定の階調補正特性関数における前記参照輝度値に対する前記出力輝度値、および、前記参照輝度値に基づいて、前記階調補正係数を前記ビン毎に算出する係数算出手段とを設けることができる。
【００１２】
前記参照輝度値算出手段には、当該ビンの頻度値、並びに、空間方向および輝度方向において当該ビンの近傍の前記ビンの頻度値に基づいて、当該ビンにおける輝度値の重心を前記参照輝度値として算出させることができる。
【００１３】
前記参照輝度値算出手段には、前記ヒストグラムの輝度方向の１次微係数を算出させ、前記１次微係数に基づいて、当該ビンの輝度値の代表値を当該ビンから見て前記ヒストグラムの頻度数が増える方向に補正した輝度値を前記参照輝度値として算出させることができる。
【００１４】
前記参照輝度値算出手段には、前記ヒストグラムに対する累積ヒストグラム関数および前記累積ヒストグラム関数の逆関数を前記空間ブロック毎に算出させ、輝度値の最小値および最大値、並びに、前記ヒストグラムが極大となる輝度値に対する前記累積ヒストグラム関数上の座標の近傍を通過する単調増加関数を輝度変調関数として前記空間ブロック毎に算出させ、前記輝度変調関数および前記累積ヒストグラム関数の逆関数に基づいて、当該ビンの輝度値の代表値を補正することにより前記参照輝度値を算出させることができる。
【００１５】
前記係数算出手段には、輝度値の最小値および最大値、並びに、前記ヒストグラムの累積度数が所定の値になる輝度値に対して、それぞれ所定の出力輝度値を割り当てた座標を通過する前記階調補正特性関数を前記空間ブロック毎に算出させることができる。
【００１６】
前記階調補正手段には、前記注目画素が属する前記ビン、および、空間方向および輝度方向において前記注目画素が属する前記ビンの近傍の前記ビンの前記階調補正係数に基づいて、前記注目画素の輝度値および位置における前記階調補正係数を補間し、補間した前記階調補正係数に基づいて前記注目画素の輝度値の階調補正を行わせることができる。
【００１７】
本発明の一側面の画像処理方法は、入力画像の輝度値の階調補正を行う画像処理装置が、前記入力画像を空間方向に分割して得られる空間ブロック毎の輝度値のヒストグラムを算出し、輝度値の階調の補正に用いる階調補正係数を前記ヒストグラムのビン毎に算出し、前記入力画像の注目画素が属する前記ビンの前記階調補正係数、および、空間方向および輝度方向において前記注目画素が属する前記ビンの近傍の前記ビンの前記階調補正係数に基づいて、前記注目画素の輝度値の階調補正を行うステップを含む。
【００１８】
本発明の一側面のプログラムは、入力画像を空間方向に分割して得られる空間ブロック毎の輝度値のヒストグラムを算出し、輝度値の階調の補正に用いる階調補正係数を前記ヒストグラムのビン毎に算出し、前記入力画像の注目画素が属する前記ビンの前記階調補正係数、および、空間方向および輝度方向において前記注目画素が属する前記ビンの近傍の前記ビンの前記階調補正係数に基づいて、前記注目画素の輝度値の階調補正を行うステップを含む処理をコンピュータに実行させる。
【００１９】
本発明の一側面においては、入力画像を空間方向に分割して得られる空間ブロック毎の輝度値のヒストグラムが算出され、輝度値の階調の補正に用いる階調補正係数が前記ヒストグラムのビン毎に算出され、前記入力画像の注目画素が属する前記ビンの前記階調補正係数、および、空間方向および輝度方向において前記注目画素が属する前記ビンの近傍の前記ビンの前記階調補正係数に基づいて、前記注目画素の輝度値の階調補正が行われる。
【発明の効果】
【００２０】
本発明の一側面によれば、より少ないメモリ量および演算量で階調補正処理を行うことができる。
【図面の簡単な説明】
【００２１】
【図１】従来の階調補正処理の概要を説明するための図である。
【図２】本発明を適用したデジタルビデオカメラの第１の実施の形態を示すブロック図である。
【図３】DSPブロックの構成例を示すブロック図である。
【図４】モザイク画像の画素の配列例を示す図である。
【図５】階調補正処理部の構成例を示すブロック図である。
【図６】輝度階調補正部の構成例を示すブロック図である。
【図７】ブロックヒストグラム算出部の構成例を示すブロック図である。
【図８】階調補正係数算出部の構成例を示すブロック図である。
【図９】階調補正特性決定部の構成例を示すブロック図である。
【図１０】参照輝度値算出部の構成例を示すブロック図である。
【図１１】階調補正適用部の構成例を示すブロック図である。
【図１２】画像処理を説明するフローチャートである。
【図１３】階調補正処理を説明するフローチャートである。
【図１４】ブロックヒストグラム算出のための画素処理を説明するフローチャートである。
【図１５】輝度階調補正処理を説明するフローチャートである。
【図１６】階調補正係数テーブル作成処理を説明するフローチャートである。
【図１７】階調補正特性関数の例を示すグラフである。
【図１８】階調補正特性決定処理を説明するフローチャートである。
【図１９】ブロックヒストグラムおよび累積ヒストグラム関数の例を示すグラフである。
【図２０】参照輝度値算出処理を説明するフローチャートである。
【図２１】参照輝度値算出部の第２の構成例を示すブロック図である。
【図２２】参照輝度値算出処理を説明するフローチャートである。
【図２３】１次微係数関数の例を示すグラフである。
【図２４】輝度補正量関数の例を示すグラフである。
【図２５】参照輝度値算出部の第３の構成例を示すブロック図である。
【図２６】参照輝度値算出処理を説明するフローチャートである。
【図２７】累積ヒストグラム関数のピーク位置の検出方法を説明するための図である。
【図２８】輝度変調関数の例を示すグラフである。
【図２９】参照輝度値の算出方法について説明するための図である。
【図３０】DSPブロックの第２の構成例を示す図である。
【図３１】階調補正処理部の第２の構成例を示す図である。
【図３２】DSPブロックの第３の構成例を示す図である。
【図３３】階調補正処理部の第３の構成例を示す図である。
【図３４】求められる輝度値の位置について説明する図である。
【図３５】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００２２】
以下、本発明を実施するための形態（以下、実施の形態という）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（各空間ブロックのブロックヒストグラムの各ビンの輝度値の重心により階調補正係数を算出する例）
２．第２の実施の形態（各空間ブロックのブロックヒストグラムの１次微係数関数を用いて階調補正係数を算出する例）
３．第３の実施の形態（各空間ブロックの輝度変調関数および累積ヒストグラム関数の逆関数を用いて階調補正係数を算出する例）
４．変形例
【００２３】
＜１．第１の実施の形態＞
［デジタルビデオカメラの構成例］
図２は、本発明を適用したデジタルビデオカメラの第１の実施の形態を示すブロック図である。デジタルビデオカメラは、レンズ１１１、絞り１１２、画像センサ１１３、相関２重サンプリング回路（CDS）１１４、A/D（Analog/Digital）コンバータ１１５、DSP（Digital Signal Processor）ブロック１１６、タイミングジェネレータ（TG）１１７、LCD（Liquid Crystal Display）ドライバ１１８、LCD１１９、CODEC（Compression/Decompression）１２０、メモリ１２１、CPU（Central Processing Unit）１２２、入力デバイス１２３、およびバス１２４から構成される。なお、DSPブロック１１６は、信号処理用のプロセッサ（例えば、DSP）と画像データを保持するＲＡＭ（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１２２、および入力デバイス１２３は、バス１２４を介して相互に接続されている。
【００３０】
［デジタルカメラのDSPブロックにより実現される機能の構成例］
図３は、DSP１１６の内部のプロセッサ（演算ユニット）が、所定のプログラムを実行することにより実現される機能の構成の例を示すブロック図である。DSP１１６の内部のプロセッサが所定のプログラムを実行することにより、ホワイトバランス処理部１５１、デモザイク処理部１５２、階調補正処理部１５３、ガンマ補正処理部１５４、およびＹＣ変換処理部１５５を含む機能が実現される。
【００３１】
ホワイトバランス処理部１５１は、A/Dコンバータ１１５によりA/D変換された、動画像などの画像データであるモザイク画像を取得する。モザイク画像は、Ｒ，Ｇ，Ｂのうちのいずれかの色成分に対応するデータが１つの画素に格納され、例えば図４に示す、ベイヤー配列と呼ばれる色配列に従って各画素が配置されている画像であり、ＲＡＷデータとも呼ばれている。
【００３２】
図４では、１つの正方形が１つの画素を表しており、正方形内の文字Ｒ，Ｇ，Ｂは、それぞれＲの画素，Ｇの画素，およびＢの画素を示している。そして、Ｇの画素が市松状に配置され、残りの部分にＲの画素およびＢの画素が一行ごとに交互に配置されている。
【００３３】
図３の説明に戻り、ホワイトバランス処理部１５１は、取得したモザイク画像の各画素の画素値に適切な係数をかけることにより、被写体の無彩色の部分の色バランスが実際に無彩色となるように、モザイク画像のホワイトバランスを調整する。ホワイトバランス処理部１５１は、ホワイトバランスを調整したモザイク画像をデモザイク処理部１５２に供給する。なお、以下、ホワイトバランスが調整されたモザイク画像をＭｗとする。
【００３４】
デモザイク処理部１５２は、ホワイトバランス処理部１５１から供給されたモザイク画像Ｍｗに対して、１つの画素がＲ，Ｇ，Ｂ成分を全て有するようにするデモザイク処理を施す。これにより、Ｒ，Ｇ，Ｂの３つの色成分にそれぞれ対応するＲ画像、Ｇ画像、Ｂ画像の３つの画像データが生成される。デモザイク処理部１５２は、生成したＲ画像、Ｇ画像、Ｂ画像の３つの画像データを階調補正処理部１５３に供給する。
【００３５】
なお、以下、Ｒ画像、Ｇ画像、Ｂ画像の３つの画像データをまとめてＲＧＢ画像とも称する。また、以下、モザイク画像の画素位置ｐにおける画素値をＭ(ｐ)とする。さらに、以下、デモザイク処理が施された画像データの画素位置ｐにおける画素値を［Rw(p), Gw(p), Bw(p)］とする。ここで、Rw(p)はＲ成分の画素値であり、Gw(p)はＧ成分の画素値であり、Bw(p)はＢ成分の画素値である。
【００３６】
階調補正処理部１５３は、ＲＧＢ画像に階調補正処理を施し、階調補正処理を施したＲＧＢ画像をガンマ補正処理部１５４に供給する。なお、以下、階調補正処理が施された画像データの画素位置ｐにおける画素値を［Ru(p), Gu(p), Bu(p)］とする。ここで、Ru(p)はＲ成分の画素値であり、Gu(p)はＧ成分の画素値であり、Bu(p)はＢ成分の画素値である。
【００３７】
ガンマ補正処理部１５４は、階調変換されたＲＧＢ画像にガンマ補正を施す。ガンマ補正処理部１５４は、ガンマ補正を施したＲＧＢ画像をＹＣ変換処理部１５５に供給する。なお、以下、ガンマ補正が施された画像データの画素位置ｐにおける画素値を［Ruγ(p), Guγ(p), Buγ(p)］とする。ここで、Ruγ(p)はＲ成分の画素値であり、Guγ(p)はＧ成分の画素値であり、Buγ(p)はＢ成分の画素値である。
【００３８】
ＹＣ変換処理部１５５は、ガンマ補正が施されたＲＧＢ画像に対して、ＹＣマトリックス処理およびクロマ成分に対する帯域制限を行うことにより、輝度成分（Ｙ成分）により構成されるＹ画像、および、色差成分（CbまたはCr成分）により構成されるＣ画像を生成する。ＹＣ変換処理部１５５は、生成したＹ画像およびＣ画像を、必要に応じて、LCDドライバ１１８または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)のそれぞれを階調補正する。階調補正部１８５−１乃至階調補正部１８５−３のそれぞれは、階調補正により得られた画素値Ru(nl)(p)、Gu(nl)(p)、およびBu(nl) (p)のそれぞれを、非線形逆変換部１８６−１乃至非線形逆変換部１８６−３のそれぞれに供給する。
【００４４】
非線形逆変換部１８６−１乃至非線形逆変換部１８６−３のそれぞれは、階調補正部１８５−１乃至階調補正部１８５−３からの画素値Ru(nl)(p)、Gu(nl)(p)、およびBu(nl) (p)のそれぞれに、非線形変換部１８４による非線形変換の逆変換となる非線形逆変換を施す。非線形逆変換部１８６−１乃至非線形逆変換部１８６−３のそれぞれは、非線形逆変換により得られた画素値Ru(p)、Gu(p)、およびBu(p)のそれぞれを、ガンマ補正処理部１５４に供給する。
【００４５】
なお、以下、階調補正部１８５−１乃至階調補正部１８５−３のそれぞれを個々に区別する必要のない場合、単に階調補正部１８５と称する。また、以下、非線形逆変換部１８６−１乃至非線形逆変換部１８６−３のそれぞれを個々に区別する必要のない場合、単に非線形逆変換部１８６と称する。
【００４６】
［輝度階調補正部の機能の構成例］
図６は、図５の輝度階調補正部１８３の機能の構成の例を示すブロック図である。輝度階調補正部１８３は、ブロックヒストグラム算出部２０１、ブロックヒストグラムメモリ２０２、階調補正係数算出部２０３、階調補正係数テーブルメモリ２０４、および、階調補正適用部２０５から構成される。
【００４７】
ブロックヒストグラム算出部２０１は、非線形変換部１８２から供給された輝度値L(nl)(p)からなる１フレーム分の輝度画像を縦Ｈ個×横Ｗ個の空間ブロックに分割する。そして、ブロックヒストグラム算出部２０１は、輝度画像が取り得る輝度値の最小値から最大値までの輝度範囲をＤ個のビン（輝度範囲）に分割し、各ビンに属する画素の数（頻度値）を空間ブロック毎にカウントする。これにより、Ｄ個のビンを有する輝度値のヒストグラムであるブロックヒストグラムが、空間ブロックごとに算出される。ブロックヒストグラム算出部２０１は、算出したブロックヒストグラムをブロックヒストグラムメモリ２０２に格納する。
【００４８】
階調補正係数算出部２０３は、各空間ブロックのブロックヒストグラムをブロックヒストグラムメモリ２０２から読み込み、ブロックヒストグラムに基づいて、輝度値L(nl)(p)の階調補正に用いる階調補正係数を、各ブロックヒストグラムのビン毎に算出する。階調補正係数算出部２０３は、各ブロックヒストグラムの各ビンに対する階調補正係数の一覧である階調補正係数テーブルを階調補正係数テーブルメモリ２０４に格納する。
【００４９】
階調補正適用部２０５は、階調補正係数テーブルを階調補正係数テーブルメモリ２０４から読み込み、階調補正係数テーブルに示される階調補正係数に基づいて、非線形変換部１８２から供給された輝度値L(nl)(p)の階調を補正する。階調補正適用部２０５は、階調補正により得られた輝度値Lu(nl)(p)を階調補正部１８５に供給する。
【００５０】
なお、以下、処理の対象となっている画素、例えば、輝度階調補正部１８３に供給された輝度値L(nl)(p)の画素を、注目画素とも称する。
【００５１】
［ブロックヒストグラム算出部の機能の構成例］
図７は、図６のブロックヒストグラム算出部２０１の機能の構成例を示すブロック図である。ブロックヒストグラム算出部２０１は、ビン選択部２２１、および、カウンタ２２２−１乃至カウンタ２２２−Ｎから構成される。
【００５２】
ビン選択部２２１は、非線形変換部１８２から供給された注目画素の位置ｐから、注目画素が属する空間ブロックを特定する。また、ビン選択部２２１は、注目画素の輝度値L(nl)(p)から、特定した空間ブロックのブロックヒストグラムにおいて注目画素が属するビンを特定する。カウンタ２２２−１乃至カウンタ２２２−Ｎ（Ｎ＝Ｈ×Ｗ×Ｄ）は、各ブロックヒストグラムの各ビンに対して１つずつ設けられている。そして、ビン選択部２２１は、各ビンに対応するカウンタ２２２−１乃至カウンタ２２２−Ｎのうち、特定したビンに対応するカウンタの値を１だけ増加させる。
【００５３】
カウンタ２２２−１乃至カウンタ２２２−Ｎのそれぞれは、対応するブロックヒストグラムのビンに属する画素の頻度値を保持する。すなわち、カウンタ２２２−１乃至カウンタ２２２−Ｎのそれぞれは、対応する空間ブロック内の画素のうち、輝度が対応する輝度範囲内である画素の数を保持する。そして、カウンタ２２２−１乃至カウンタ２２２−Ｎのそれぞれは、ビン選択部２２１の指示に応じて保持している値をインクリメントする。また、カウンタ２２２−１乃至カウンタ２２２−Ｎのそれぞれは、１フレーム分の輝度画像の画素のカウントが終了すると、保持している値を、各ブロックヒストグラムの各ビンの頻度値としてブロックヒストグラムメモリ２０２に格納する。なお、以下、カウンタ２２２−１乃至カウンタ２２２−Ｎのそれぞれを個々に区別する必要のない場合、単にカウンタ２２２と称する。
【００５４】
［階調補正係数算出部の機能の構成例］
図８は、図６の階調補正係数算出部２０３の機能の構成例を示すブロック図である。階調補正係数算出部２０３は、階調補正特性決定部２４１、階調補正特性メモリ２４２、参照輝度値算出部２４３、および係数算出部２４４から構成される。
【００５５】
階調補正特性決定部２４１は、各空間ブロックのブロックヒストグラムをブロックヒストグラムメモリ２０２から読み込む。そして、階調補正特性決定部２４１は、輝度値の階調補正に用いる階調補正特性関数を算出するためのスプライン制御点を、ブロックヒストグラムに基づいて空間ブロック毎に設定する。なお、階調補正特性関数は、図１７を参照して後述するように、階調補正の特性を規定する関数であり、入力輝度値に対して階調補正された出力輝度値を出力する。階調補正特性決定部２４１は、設定した空間ブロック毎のスプライン制御点を階調補正特性メモリ２４２に格納する。
【００５６】
参照輝度値算出部２４３は、各空間ブロックのブロックヒストグラムをブロックヒストグラムメモリ２０２から読み込む。そして、参照輝度値算出部２４３は、階調補正特性関数を参照するための参照輝度値を、各空間ブロックのブロックヒストグラムのビン毎に算出し、係数算出部２４４に供給する。
【００５７】
係数算出部２４４は、各空間ブロックのスプライン制御点を階調補正特性メモリ２４２から読み込み、読み込んだスプライン制御点に基づいて、各空間ブロックの階調補正特性関数を算出する。そして、係数算出部２４４は、各空間ブロックの階調補正特性関数および参照輝度値に基づいて、各空間ブロックのブロックヒストグラムのビン毎に階調補正係数を算出する。係数算出部２４４は、算出した階調補正係数の一覧である階調補正係数テーブルを階調補正係数テーブルメモリ２０４に格納する。
【００５８】
［階調補正特性決定部の機能の構成例］
図９は、図８の階調補正特性決定部２４１の機能の構成例を示すブロック図である。階調補正特性決定部２４１は、累積ヒストグラム算出部２６１、明部裾野レベル算出部２６２、中間レベル算出部２６３、暗部裾野レベル算出部２６４、およびスプライン制御点設定部２６５から構成される。
【００５９】
累積ヒストグラム算出部２６１は、各空間ブロックのブロックヒストグラムをブロックヒストグラムメモリ２０２から読み込み、各空間ブロックの累積ヒストグラム関数を算出する。累積ヒストグラム算出部２６１は、算出した累積ヒストグラム関数を明部裾野レベル算出部２６２、中間レベル算出部２６３、および、暗部裾野レベル算出部２６４に供給する。
【００６０】
明部裾野レベル算出部２６２は、累積ヒストグラム関数に基づいて、各空間ブロックのブロックヒストグラムの明輝度側の裾野の輝度値である明部裾野レベルを算出する。明部裾野レベル算出部２６２は、算出した明部裾野レベルをスプライン制御点設定部２６５に供給する。
【００６１】
中間レベル算出部２６３は、累積ヒストグラム関数に基づいて、各空間ブロックのブロックヒストグラムの中央値に対する輝度値である中間レベルを算出する。中間レベル算出部２６３は、算出した中間レベルをスプライン制御点設定部２６５に供給する。
【００６２】
暗部裾野レベル算出部２６４は、累積ヒストグラム関数に基づいて、各空間ブロックのブロックヒストグラムの暗輝度側の裾野の輝度値である暗部裾野レベルを算出する。暗部裾野レベル算出部２６４は、算出した暗部裾野レベルをスプライン制御点設定部２６５に供給する。
【００６３】
スプライン制御点設定部２６５は、明部裾野レベル、中間レベル、および暗部裾野レベルに基づいて、各空間ブロックの階調補正特性関数の算出に用いるスプライン制御点を設定し、階調補正特性メモリ２４２に格納する。
【００６４】
［参照輝度値算出部の機能の構成例］
図１０は、図８の参照輝度値算出部２４３の機能の構成例を示すブロック図である。参照輝度値算出部２４３は、重心算出部２８１から構成される。
【００６５】
重心算出部２８１は、各空間ブロックのブロックヒストグラムをブロックヒストグラムメモリ２０２から読み込む。重心算出部２８１は、各空間ブロックのブロックヒストグラムの各ビンにおける輝度値の重心を、各ビンに対する参照輝度値Lg(nl)(p)として算出し、係数算出部２４４に供給する。
【００６６】
［階調補正適用部の機能の構成例］
図１１は、図６の階調補正適用部２０５の機能の構成例を示すブロック図である。階調補正適用部２０５は、係数補間部３０１、および係数適用部３０２から構成される。
【００６７】
係数補間部３０１は、階調補正係数テーブルを階調補正係数テーブルメモリ２０４から読み込む。係数補間部３０１は、非線形変換部１８２から供給された注目画素の輝度値L(nl)(p)および位置ｐにおける階調補正係数を補間処理により算出し、係数適用部３０２に供給する。
【００６８】
係数適用部３０２は、非線形変換部１８２から供給された輝度値L(nl)(p)に対して、係数補間部３０１により算出された階調補正係数を適用し、階調補正された輝度値Lu(nl)(p)を算出する。係数適用部３０２は、算出した輝度値Lu(nl)(p)を階調補正部１８５に供給する。
【００６９】
［デジタルカメラのDSPブロックの画像処理の説明］
次に、図１２のフローチャートを参照して、DSP１１６により実行される画像処理について説明する。なお、この処理は、例えば、図２のデジタルビデオカメラによる撮影が開始され、A/Dコンバータ１１５からDSP１１６への画像データ（モザイク画像）のストリームの供給が開始されたときに開始される。また、DSP１１６に供給された画像データは、逐次DSP１１６の図示せぬ内部のメモリに格納される。
【００７０】
ステップＳ１１において、ホワイトバランス処理部１５１は、モザイク画像を読み込む。具体的には、ホワイトバランス処理部１５１は、DSP１１６の図示せぬ内部のメモリに格納されている先頭のフレームのモザイク画像を読み込む。
【００７１】
ステップＳ１２において、ホワイトバランス処理部１５１は、取得したモザイク画像のホワイトバランスを調整し、デモザイク処理部１５２に供給する。
【００７２】
ステップＳ１３において、デモザイク処理部１５２は、デモザイク処理を行う。すなわち、デモザイク処理部１５２は、ホワイトバランス処理部１５１からのモザイク画像にデモザイク処理を施してＲＧＢ画像を生成する。
【００７３】
ステップＳ１４において、階調補正処理部１５３は、階調補正処理を行い、デモザイク処理部１５２からのＲＧＢ画像の階調を補正する。そして、階調補正処理部１５３は、階調の補正されたＲＧＢ画像をガンマ補正処理部１５４に供給する。なお、階調補正処理の詳細は後述する。
【００７４】
ステップＳ１５において、ガンマ補正処理部１５４は、階調補正処理部１５３からのＲＧＢ画像にガンマ補正を施してＹＣ変換処理部１５５に供給する。
【００７５】
ステップＳ１６において、ＹＣ変換処理部１５５は、ＹＣ変換処理を行う。例えば、ＹＣ変換処理部１５５は、ガンマ補正処理部１５４からのＲＧＢ画像に対してＹＣマトリックス処理およびクロマ成分に対する帯域制限を行うことにより、ＲＧＢ画像からＹ画像およびＣ画像を生成する。そして、ステップＳ１７において、ＹＣ変換処理部１５５は、Ｙ画像およびＣ画像を出力する。例えば、ＹＣ変換処理部１５５は、必要に応じてＹ画像およびＣ画像をLCDドライバ１１８またはCODEC１２０に出力する。
【００７６】
ステップＳ１８において、ホワイトバランス処理部１５１は、後続するフレームが存在するか否かを判定する。例えば、DSP１１６の図示せぬ内部のメモリに後続するフレームのモザイク画像が蓄積されている場合、後続フレームが存在すると判定される。
【００７７】
ステップＳ１８において、後続するフレームが存在すると判定された場合、処理はステップＳ１１に戻り、処理対象となる次のフレームのモザイク画像が読み込まれる。これに対して、ステップＳ１８において、後続するフレームが存在しないと判定された場合、画像処理は終了する。
【００７８】
［階調補正処理の説明］
次に、図１３のフローチャートを参照して、図１２のステップＳ１４の処理に対応する階調補正処理について説明する。
【００７９】
ステップＳ４１において、階調補正適用部２０５の係数補間部３０１（図１１）は、階調補正係数テーブルメモリ２０４から階調補正係数テーブルを読み込む。なお、階調補正係数テーブルの詳細については後述する。
【００８０】
ステップＳ４２において、階調補正処理部１５３は、デモザイク処理部１５２から、ＲＧＢ画像の注目画素の画素値および画素位置を読み込む。すなわち、階調補正処理部１５３は、ＲＧＢ画像のまだ処理していない画素の中から１つを注目画素に選択する。そして、階調補正処理部１５３の輝度算出部１８１、および非線形変換部１８４−１乃至非線形変換部１８４−３は、選択した注目画素のＲ成分の画素値Rw(p)、Ｇ成分の画素値Gw(p)、およびＢ成分の画素値Bw(p)、およびその画素位置pを、デモザイク処理部１５２から読み込む。
【００８１】
ステップＳ４３において、輝度算出部１８１は、読み込んだ画素値に基づいて、注目画素の輝度値L(p)を算出し、非線形変換部１８２に供給する。例えば、輝度算出部１８１は、読み込んだ画素値Rw(p)乃至画素値Bw(p)に所定の係数を乗算して線形和を求めて輝度値としたり、画素値Rw(p)乃至画素値Bw(p)のうちの最大値を輝度値としたりする。
【００８２】
ステップＳ４４において、非線形変換部１８２は、輝度算出部１８１からの輝度値L(p)を非線形変換する。例えば、非線形変換部１８２は、１より小さい指数によるべき乗特性や対数特性など、上に凸の単調増加特性を有する関数を用いて輝度値L(p)を非線形変換する。非線形変換部１８２は、変換により得られた輝度値L(nl)(p)および画素位置ｐを、ブロックヒストグラム算出部２０１のビン選択部２２１（図７）、並びに、階調補正適用部２０５の係数補間部３０１および係数適用部３０２（図１１）に供給する。
【００８３】
ステップＳ４５において、ブロックヒストグラム算出部２０１は、ブロックヒストグラム算出のための画素処理を行う。なお、ブロックヒストグラム算出のための画素処理については後述するが、この処理により、各空間ブロックのブロックヒストグラムの各ビンに属する画素の数がカウントされる。
【００８４】
ステップＳ４６において、輝度階調補正部１８３は、輝度階調補正処理を行う。なお、輝度階調補正処理の詳細は後述するが、この処理により、注目画素の輝度値L(nl)(p)の階調が補正された輝度値Lu(nl)(p)が算出され、階調補正部８５に供給される。
【００８５】
ステップＳ４７において、非線形変換部１８４は、注目画素の画素値を非線形変換し、階調補正部１８５に供給する。すなわち、非線形変換部１８４−１乃至非線形変換部１８４−３は、ＲＧＢ画像の画素値Rw(p)、Gw(p)、およびBw(p)のそれぞれに対して、ステップＳ４４の処理においてなされる非線形変換と同じ非線形変換を行う。
【００８６】
ステップＳ４８において、階調補正部１８５−１乃至階調補正部１８５−３は、非線形変換部１８２からの輝度値L(nl)(p)と、輝度階調補正部１８３からの輝度値Lu(nl)(p)とを用いて、非線形変換部１８４からの画素値を階調補正する。そして、階調補正部１８５は、階調補正された画素値を、非線形逆変換部１８６に供給する。
【００８７】
例えば、階調補正部１８５は、輝度値L(nl)(p)と、階調補正された輝度値Lu(nl)(p)との比を各色の成分の画素値に乗算する。より具体的には、例えば、階調補正部１８５−１は、次式（１）を計算することにより、階調補正された画素値Ru(nl)(p)を求める。
【００８８】
【数１】
2011188391.tif 000003
【００８９】
式（１）では、階調補正前後の輝度値の比率、つまり階調補正された輝度値Lu(nl)(p)を階調補正前の輝度値L(nl)(p)で除算した値が、非線形変換された画素値R(nl)(p)に対して乗算されている。階調補正部１８５−２および階調補正部１８５−３においても、上述した式（１）と同様の計算が行われ、画素値が階調補正される。
【００９０】
なお、非線形変換部１８２および非線形変換部１８４において行われる非線形変換が対数特性である場合には、式（２）に示す計算を行うことにより、画素値が階調補正されてもよい。
【００９１】
【数２】
2011188391.tif 000004
【００９２】
式（２）では、階調補正された輝度値Lu(nl)(p)と、階調補正前の輝度値L(nl)(p)との差分値が、画素値R(nl)(p)に加算されて、階調補正された画素値Ru(nl)(p)とされている。
【００９３】
ステップＳ４９において、非線形逆変換部１８６−１乃至非線形逆変換部１８６−３は、階調補正部１８５からの画素値に、非線形変換部１８４による非線形変換の逆変換となる非線形逆変換を施す。
【００９４】
ステップＳ５０において、非線形逆変換部１８６−１乃至非線形逆変換部１８６−３は、非線形逆変換により得られた画素値Ru(p)、Gu(p)、およびBu(p)を、ガンマ補正処理部１５４に出力する。
【００９５】
ステップＳ５１において、階調補正処理部１５３は、処理対象となっているフレームのＲＧＢ画像上の全ての画素を処理したか否かを判定する。ステップＳ５１において、まだ全ての画素を処理していないと判定された場合、処理はステップＳ４２に戻り、上述した処理が繰り返される。
【００９６】
一方、ステップＳ５１において、全ての画素が処理されたと判定された場合、処理はステップＳ５２に進む。
【００９７】
ステップＳ５２において、階調補正係数算出部２０３（図６）は、階調補正係数テーブル作成処理を実行する。なお、階調補正係数テーブル作成処理の詳細については後述するが、この処理により、階調補正係数テーブルが作成され、階調補正係数テーブルメモリ２０４に格納される。
【００９８】
その後、階調補正処理は終了し、処理は図１２のステップＳ１５に進む。
【００９９】
このように、階調補正処理においては、１フレーム分の輝度画像に基づいて、階調補正係数テーブルが作成され、階調補正係数テーブルメモリ２０４に格納される。そして、輝度階調補正部１８３では、現在処理しているフレームよりも時間的に１つ前のフレームから作成された階調補正係数テーブルを用いて階調補正処理が行われる。従って、処理対象の画像が動画像であっても、画像の全画素を２回スキャンすることなく、少ない演算量および少ないワーキングメモリで、大きいオペレータサイズの階調補正処理を行うことができる。
【０１００】
［ブロックヒストグラム算出のための画素処理の説明］
次に、図１４のフローチャートを参照して、図１３のステップＳ４５の処理に対応するブロックヒストグラム算出のための画素処理について説明する。
【０１０１】
ステップＳ１０１において、ビン選択部２２１（図７）は、注目画素が属するビンを特定する。具体的には、ビン選択部２２１は、注目画素の位置ｐから、注目画素が属する空間ブロックを特定する。さらに、ビン選択部２２１は、注目画素の輝度値L(nl)(p)から、注目画素が属する空間ブロックのブロックヒストグラムにおいて、注目画素が属するビンを特定する。
【０１０２】
ステップＳ１０２において、ビン選択部２２１は、特定したビンに対応するカウンタ２２２の値を１つインクリメントする。
【０１０３】
その後、ブロックヒストグラム算出のための画素処理は終了し、処理は図１３のステップＳ４６に進む。
【０１０４】
このように、輝度値L(nl)(p)からなる輝度画像の各画素を空間方向および輝度方向に分類して、その数をカウントすることにより、空間ブロック毎のブロックヒストグラムが生成される。
【０１０５】
［輝度階調補正処理の説明］
次に、図１５のフローチャートを参照して、図１３のステップＳ４６の輝度階調補正処理について説明する。
【０１０６】
ステップＳ１２１において、係数補間部３０１（図１１）は、注目画素が属するビンおよび近傍のビンに対する階調補正係数を読み込む。例えば、係数補間部３０１は、注目画素が属する空間ブロックのブロックヒストグラムのビン、および、注目画素が属する空間ブロックから所定の範囲内の空間ブロックのブロックヒストグラムのビンのうち、注目画素が属するビンから所定の輝度の範囲内のビンを近傍ビンとして選択する。すなわち、係数補間部３０１は、空間方向および輝度方向の両方において注目画素が属するビンからの距離が所定の範囲内のビンを近傍ビンに選択する。そして、係数補間部３０１は、階調補正係数テーブルの中から、注目画素が属するビンおよび近傍ビンに対する階調補正係数を読み込む。
【０１０７】
ステップＳ１２２において、係数補間部３０１は、補間処理により注目画素に対する階調補正係数を算出する。すなわち、係数補間部３０１は、注目画素が属するビンと近傍ビンに対する階調補正係数に基づいて、適切な補間処理により空間方向および輝度方向の階調補正係数の補間を行い、注目画素の輝度値L(nl)(p)および位置ｐにおける階調補正係数を補間する。このとき、例えば、線形補間や３次スプライン補間など、等間隔データの補間に用いられる補間処理が行われる。係数補間部３０１は、算出した階調補正係数を係数適用部３０２に供給する。
【０１０８】
ステップＳ１２３において、係数適用部３０２は、注目画素の輝度値L(nl)(p)に、係数補間部３０１により算出された階調補正係数を適用する。例えば、係数適用部３０２は、注目画素の輝度値L(nl)(p)に、係数補間部３０１により算出された階調補正係数を乗じることにより、階調補正された輝度値Lu(nl)(p)を算出する。あるいは、非線形変換部１８２において行われる非線形変換が対数特性である場合、係数適用部３０２は、注目画素の輝度値L(nl)(p)に、係数補間部３０１により算出された階調補正係数を加算することにより、階調補正された輝度値Lu(nl)(p)を算出する。
【０１０９】
ステップＳ１２４において、係数適用部３０２は、階調補正後の輝度値Lu(nl)(p)を図５の階調補正部１８５に出力する。
【０１１０】
その後、輝度階調補正処理は終了し、処理は図１３のステップＳ４７に進む。
【０１１１】
［階調補正係数テーブル作成処理の説明］
次に、図１６のフローチャートを参照して、図１３のステップＳ５２の階調補正係数テーブル作成処理について説明する。
【０１１２】
ステップＳ１４１において、階調補正係数算出部２０３（図８）は、注目空間ブロックを選択する。すなわち、階調補正係数算出部２０３は、まだ階調補正係数の算出を行っていない空間ブロックのうちの１つを注目空間ブロックに選択する。
【０１１３】
ステップＳ１４２において、階調補正特性決定部２４１は、階調補正特性決定処理を行う。なお、階調補正特性決定処理の詳細は後述するが、この処理により、例えば、図１７に示される階調補正特性関数３５１のスプライン制御点Ｐ１乃至Ｐ５が設定される。なお、図１７の横軸は入力輝度を示し、縦軸は出力輝度を示している。
【０１１４】
ステップＳ１４３において、参照輝度値算出部２４３は、注目ビンを選択する。すなわち、参照輝度値算出部２４３は、注目空間ブロックのブロックヒストグラムのビンのうち、まだ階調補正係数を算出していないビンの１つを注目ビンに選択する。
【０１１５】
ステップＳ１４４において、参照輝度値算出部２４３は、参照輝度値算出処理を行う。なお、参照輝度値算出処理の詳細は後述するが、この処理により、注目ビンに対する階調補正係数を算出するために、階調補正特性関数を参照するときに用いられる参照輝度値Lg(nl)(p)が算出され、係数算出部２４４に供給される。
【０１１６】
ステップＳ１４５において、係数算出部２４４は、階調補正特性関数の参照結果を算出する。具体的には、係数算出部２４４は、注目ビンに対する階調補正特性関数のスプライン制御点Ｐ１乃至Ｐ５（図１７）を、階調補正特性メモリ２４２から読み込む。係数算出部２４４は、例えば、３次スプライン補間などの所定の補間処理により、スプライン制御点Ｐ１乃至Ｐ５を通る階調補正特性関数を算出する。そして、係数算出部２４４は、参照輝度値算出部２４３により算出された参照輝度値Lg(nl)(p)を入力輝度値として階調補正特性関数に与えたときの出力輝度値を、階調補正特性関数の参照結果として算出する。
【０１１７】
ステップＳ１４６において、係数算出部２４４は、階調補正係数を算出する。例えば、係数算出部２４４は、階調補正特性関数の参照結果と参照輝度値Lg(nl)(p)の比率（参照結果÷参照輝度値Lg(nl)(p)）を、注目ビンに対する階調補正係数として算出する。あるいは、非線形変換部１８２において行われる非線形変換が対数特性である場合、係数算出部２４４は、階調補正特性関数の参照結果と参照輝度値Lg(nl)(p)の差分を、注目ビンに対する階調補正係数として算出する。
【０１１８】
ステップＳ１４７において、係数算出部２４４は、階調補正係数をメモリに格納する。すなわち、係数算出部２４４は、算出した階調補正係数を、注目ビンの空間方向および輝度方向の位置と対応付けて階調補正係数テーブルメモリ２０４に格納する。
【０１１９】
ステップＳ１４８において、参照輝度値算出部２４３は、注目空間ブロックのブロックヒストグラムの全てのビンについて処理したか否かを判定する。参照輝度値算出部２４３は、まだ階調補正係数を算出していないビンが残っている場合、まだ注目空間ブロックのブロックヒストグラムの全てのビンについて処理していないと判定し、処理はステップＳ１４３に戻る。
【０１２０】
その後、ステップＳ１４８において、注目空間ブロックのブロックヒストグラムの全てのビンについて処理したと判定されるまで、ステップＳ１４３乃至Ｓ１４８の処理が繰返し実行される。これにより、注目空間ブロックのブロックヒストグラムの各ビンに対する階調補正係数が算出され、階調補正係数テーブルメモリ２０４に格納される。
【０１２１】
一方、ステップＳ１４８において、注目空間ブロックのブロックヒストグラムの全てのビンについて処理したと判定された場合、処理はステップＳ１４９に進む。
【０１２２】
ステップＳ１４９において、階調補正係数算出部２０３は、全ての空間ブロックについて処理したか否かを判定する。階調補正係数算出部２０３は、まだ階調補正係数を算出していない空間ブロックが残っている場合、まだ全ての空間ブロックについて処理していないと判定し、処理はステップＳ１４１に戻る。
【０１２３】
その後、ステップＳ１４９において、全ての空間ブロックについて処理したと判定されるまで、ステップＳ１４１乃至Ｓ１４９の処理が繰返し実行される。これにより、各空間ブロックのブロックヒストグラムの各ビンに対する階調補正係数が算出され、各ブロックヒストグラムの各ビンと階調補正係数を対応づけた階調補正係数テーブルが、階調補正係数テーブルメモリ２０４に格納される。
【０１２４】
一方、ステップＳ１４９において、全ての空間ブロックについて処理したと判定された場合、階調補正係数テーブル作成処理は終了し、処理は図１２のステップＳ１５に進む。
【０１２５】
［階調補正特性決定処理の説明］
次に、図１８のフローチャートを参照して、図１６のステップＳ１４２の階調補正特性決定処理について説明する。
【０１２６】
ステップＳ１６１において、累積ヒストグラム算出部２６１（図９）は、注目空間ブロックの累積ヒストグラム関数を算出する。具体的には、累積ヒストグラム算出部２６１は、注目空間ブロックのブロックヒストグラムをブロックヒストグラムメモリ２０２から読み込む。そして、累積ヒストグラム算出部２６１は、読み込んだブロックヒストグラムの各ビンの頻度数を、輝度の小さい方から順に加算していくことにより、累積ヒストグラム関数を算出する。累積ヒストグラム算出部２６１は、算出した累積ヒストグラム関数を明部裾野レベル算出部２６２、中間レベル算出部２６３、および暗部裾野レベル算出部２６４に供給する。
【０１２７】
図１９は、累積ヒストグラム関数の具体例を示している。図１９の横軸は輝度を示し、縦軸は頻度数または累積度数を示している。そして、複数の棒グラフにより示されるブロックヒストグラム３６１に対する累積ヒストグラム関数３６２が示されている。
【０１２８】
まず、輝度方向の値が輝度画像の輝度値の最小値（以下、最小レベルとも称する）と等しく、累積度数方向の値が０となる点が、累積ヒストグラム関数３６２の始点となる。そして、ビン毎に、輝度方向の値が各ビンの輝度範囲の最大値となり、累積度数方向の値が、輝度範囲が最小のビンから当該ビンまでの頻度数の累積値（累積度数）となる点が設定される。従って、輝度方向の値が輝度画像の輝度値の最大値（以下、最大レベルとも称する）と等しく、累積度数方向の値が空間ブロック内の画素数と等しくなる（１００％レベルとなる）点が、累積ヒストグラム関数３６２の終点となる。そして、始点とビン毎に設定された点を順に結ぶことにより、累積ヒストグラム関数３６２が生成される。
【０１２９】
ステップＳ１６２において、明部裾野レベル算出部２６２、中間レベル算出部２６３、および暗部裾野レベル算出部２６４は、それぞれ明部裾野レベル、中間レベル、および暗部裾野レベルを算出する。具体的には、明部裾野レベル算出部２６２は、例えば、累積ヒストグラム関数の累積度数が空間ブロック内の画素数の９５％となる輝度値を算出し、算出した輝度値を明部裾野レベルとしてスプライン制御点設定部２６５に供給する。また、中間レベル算出部２６３は、例えば、累積ヒストグラム関数の累積度数が空間ブロック内の画素数の５０％となる輝度値を算出し、算出した輝度値を中間レベルとしてスプライン制御点設定部２６５に供給する。さらに、暗部裾野レベル算出部２６４は、例えば、累積ヒストグラム関数の累積度数が空間ブロック内の画素数の５％となる輝度値を算出し、算出した輝度値を暗部裾野レベルとしてスプライン制御点設定部２６５に供給する。
【０１３０】
ステップＳ１６３において、スプライン制御点設定部２６５は、階調補正特性関数のスプライン制御点を設定する。ここで、図１７を参照して、スプライン制御点の設定方法の例について説明する。
【０１３１】
上述したように、図１７では、スプライン制御点Ｐ１乃至Ｐ５の５つのスプライン制御点が設定されている。スプライン制御点Ｐ１は、入力輝度方向の値が輝度画像の輝度値の最小値（最小レベル）となり、出力輝度方向の値が階調変換後の輝度画像の輝度値の最小値（以下、既定最小レベルとも称する）となる点である。スプライン制御点Ｐ２は、入力輝度方向の値が、暗部裾野レベル算出部２６４により算出される暗部裾野レベルとなり、出力輝度方向の値が予め設定されている既定暗部裾野レベルとなる点である。スプライン制御点Ｐ３は、入力輝度方向の値が、中間レベル算出部２６３により算出される中間レベルとなり、出力輝度方向の値が予め設定されている既定中間レベルとなる点である。スプライン制御点Ｐ４は、入力輝度方向の値が、明部裾野レベル算出部２６２により算出される明部裾野レベルとなり、出力輝度方向の値が予め設定されている既定明部裾野レベルとなる点である。スプライン制御点Ｐ５は、入力輝度方向の値が輝度画像の輝度値の最大値（最大レベル）となり、出力輝度方向の値が階調変換後の輝度画像の輝度値の最大値（以下、既定最大レベルとも称する）となる点である。
【０１３２】
なお、既定最小レベル、既定暗部裾野レベル、既定中間レベル、既定明部裾野レベル、および既定最大レベルは、最小レベル、暗部裾野レベル、中間レベル、明部裾野レベル、および、最大レベルの５つの輝度レベルを、階調補正後にどの輝度レベルに割り当てるかという観点で予め設定されている値である。
【０１３３】
ステップＳ１６４において、スプライン制御点設定部２６５は、スプライン制御点をメモリに格納する。すなわち、スプライン制御点設定部２６５は、設定した注目空間ブロックのスプライン制御点Ｐ１乃至Ｐ５の座標を階調補正特性メモリ２４２に格納する。
【０１３４】
その後、階調補正特性決定処理は終了し、処理は図１６のステップＳ１４３に進む。
【０１３５】
［参照輝度値算出処理の説明］
次に、図２０のフローチャートを参照して、図１６のステップＳ１４４の参照輝度値算出処理の詳細について説明する。
【０１３６】
ステップＳ１８１において、重心算出部２８１（図１０）は、注目ビンおよび近傍のビンの頻度値を読み込む。具体的には、重心算出部２８１は、例えば、注目空間ブロックのブロックヒストグラムのビンのうち注目ビン以外のビン、および、注目空間ブロックから所定の範囲内の空間ブロックのブロックヒストグラムの各ビンを、注目ビンの近傍のビン（以下、近傍ビンと称する）として選択する。すなわち、係数補間部３０１は、注目空間ブロックおよびその近傍の空間ブロックのブロックヒストグラムの各ビン（ただし、注目ビンを除く）を近傍ビンとして選択する。そして、係数補間部３０１は、注目ビンおよび近傍ビンの頻度値をブロックヒストグラムメモリ１０２から読み込む。
【０１３７】
ステップＳ１８２において、重心算出部２８１は、注目ビンにおける輝度値の重心を算出する。具体的には、重心算出部２８１は、注目ビンにおける輝度値の重心として、注目ビンおよび近傍ビンの輝度値の代表値、並びに、注目ビンおよび近傍ビンの頻度値に基づいて、注目ビンおよび近傍ビンに属する画素の輝度値の加重平均を算出する。
【０１３８】
なお、注目ビンおよび近傍ビンの輝度値の代表値として、例えば、各ビンの輝度範囲の中央値が用いられる。また、加重平均の算出に用いる重みは、注目ビンからの空間方向の距離が近いビン、および、注目ビンからの輝度方向の距離が近いビンに対してより大きくなるように設定することが望ましい。
【０１３９】
ステップＳ１８３において、重心算出部２８１は、算出した重心を注目ビンの参照輝度値Lg(nl)(p)として係数算出部２４４に出力する。
【０１４０】
その後、参照輝度値算出処理は終了し、処理は図１６のステップＳ１４５に進む。
【０１４１】
［第１の実施の形態の効果など］
注目ビンの参照輝度値Lg(nl)(p)を注目ビンにおける輝度値の重心とすることで、参照輝度値Lg(nl)(p)は、注目ビンの輝度値の代表値を、注目ビンから見て注目空間ブロックのブロックヒストグラムの頻度値が増える方向に補正した値となる。従って、ブロックヒストグラムの各ビンの参照輝度値Lg(nl)(p)は、各ビンの輝度値の代表値と比較して、ブロックヒストグラムの山に対応する輝度レベルに近づく。その結果、参照輝度値Lg(nl)(p)は、上述した特許文献１の大局輝度値Ll(nl)(p)と同様の特性を持つようになる。従って、参照輝度値Lg(nl)(p)と階調補正特性関数に基づいて階調補正係数を決定する演算は、特許文献１の大局輝度値にトーンカーブを適用する演算に相当し、特許文献１と同等の階調圧縮効果を奏することができる。すなわち、テクスチャに代表されるディテール成分を変化させることなく、それ以外の成分の輝度差を圧縮することができる。
【０１４２】
また、本発明の第１の実施の形態では、各ブロックヒストグラムのビン毎に階調補正係数を算出し、ビン毎の階調補正係数から各画素の階調補正係数を補間演算により求め、各画素に適用するだけで各画素の輝度値の階調補正を行うことができる。従って、特許文献１の階調補正処理で必要とされる画素毎の大局輝度値およびトーンカーブの算出処理が不要となる。また、特許文献１の階調補正処理では、大局輝度値を算出するために２回の補間演算と１回の除算が必要であるのに対し、本発明の第１の実施の形態では、各画素の階調補正係数を求める際に補間演算が１回必要となるだけである。従って、本発明の第１の実施の形態によれば、特許文献１の階調補正処理と比較して、演算量を小さくすることができ、その結果、階調補正処理を行う回路やソフトウエアの規模を縮小することができる。
【０１４３】
さらに、本発明の第１の実施の形態では、各画素の輝度値Lu(nl)(p)を算出するために、ブロックヒストグラムおよびスプライン制御点を空間ブロック毎に保持し、参照輝度値Lg(nl)(p)および階調補正係数を各ブロックヒストグラムのビン毎に保持しておけばよい。これに対して、特許文献１の階調補正処理では、各画素の輝度値Lu(nl)(p)を算出するために、ブロックヒストグラムおよびブロック積分値を空間ブロック毎に保持し、トーンカーブを画素毎に保持する必要がある。従って、本発明の第１の実施の形態によれば、特許文献１の階調補正処理と比較して、必要なメモリ量を小さくすることができる。
【０１４４】
また、本発明の第１の実施の形態では、各画素の輝度値Lu(nl)(p)を算出するために、ステップＳ４１において階調補正係数テーブルを読み込むだけでよい。これに対して、特許文献１の階調補正処理では、各画素の大局輝度値Ll(nl)(p)を算出するために、当該画素に対応するブロックおよびその近傍のブロックのブロックヒストグラムとブロック積分値を同時に読み込む必要がある。従って、本発明の第１の実施の形態によれば、特許文献１の階調補正処理と比較し、メモリにアクセスする回数を減らすことができ、処理時間を短縮することができる。
【０１４５】
＜２．第２の実施の形態＞
［第２の実施の形態の概要］
次に、図２１乃至図２４を参照して、本発明の第２の実施の形態について説明する。
【０１４６】
本発明の第２の実施の形態は、参照輝度値Lg(nl)(p)の算出方法を変えることにより、演算量の削減を可能にするものである。
【０１４７】
［参照輝度値算出部の構成例］
本発明を適用したデジタルビデオカメラの第２の実施の形態では、図１０の参照輝度値算出部２４３の代わりに、図２１の参照輝度値算出部２４３が設けられる。なお、図２１において、図１０と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
【０１４８】
図２１の参照輝度値算出部２４３は、１次微係数算出部４０１、輝度補正量算出部４０２、および輝度補正部４０３から構成される。
【０１４９】
１次微係数算出部４０１は、各空間ブロックのブロックヒストグラムをブロックヒストグラムメモリ２０２から読み込み、各ブロックヒストグラムの１次微係数関数を算出し、輝度補正量算出部４０２に供給する。
【０１５０】
輝度補正量算出部４０２は、各ブロックヒストグラムの１次微係数関数に基づいて、輝度補正量関数を空間ブロック毎に算出し、輝度補正部４０３に供給する。
【０１５１】
輝度補正部４０３は、各空間ブロックのブロックヒストグラムをブロックヒストグラムメモリ２０２から読み込む。そして、輝度補正部４０３は、輝度補正量関数に基づいて、各ブロックヒストグラムの各ビンの輝度値の代表値を補正することにより、各ビンに対する参照輝度値Lg(nl)(p)を算出し、係数算出部２４４に供給する。
【０１５２】
［参照輝度値算出処理の説明］
次に、図２２のフローチャートを参照して、参照輝度値算出部２４３が図２１に示す構成とされる場合における参照輝度値算出処理について説明する。なお、この参照輝度値算出処理は、図１６のステップＳ１４４の処理に対応する。
【０１５３】
ステップＳ２０１において、１次微係数算出部４０１は、注目空間ブロックの輝度補正量関数が未算出であるか否かを判定する。注目空間ブロックの輝度補正量関数が未算出であると判定された場合、処理はステップＳ２０２に進む。
【０１５４】
ステップＳ２０２において、１次微係数算出部４０１は、注目空間ブロックのブロックヒストグラムをブロックヒストグラムメモリ２０２から読み込む。
【０１５５】
ステップＳ２０３において、１次微係数算出部４０１は、注目空間ブロックのブロックヒストグラムの１次微係数関数を算出する。例えば、１次微係数算出部４０１は、Sobelオペレータ（［-1 0 1］）などの離散的な微分オペレータを用いて、離散データである注目空間ブロックのブロックヒストグラムに対して１次微分演算を行うことにより、１次微係数関数を算出する。１次微係数算出部４０１は、算出した１次微係数関数を輝度補正量算出部４０２に供給する。
【０１５６】
図２３は、図１９に示したブロックヒストグラム３６１に対して１次部微分演算を行うことにより算出される１次微係数関数４５１の例を示している。なお、図２３の横軸は輝度を示し、縦軸は頻度数を示している。
【０１５７】
ステップＳ２０４において、輝度補正量算出部４０２は、１次微係数関数の頻度数方向の振幅を適切な大きさにスケーリングして、輝度補正量関数を算出する。例えば、輝度補正量算出部４０２は、１次微係数関数４５１の傾きが最小（右下がりの勾配が最大）となる位置を検出する。そして、輝度補正量算出部４０２は、検出した位置における傾きが−１となるように１次微係数関数の振幅をスケーリング（正規化）することにより、輝度補正量関数を算出する。例えば、図２４に示されるように、１次微係数関数４５１の傾きが最小となる位置Ａの傾きが−１となるように１次微係数関数４５１の振幅がスケーリングされ、輝度補正量関数４６１が算出される。輝度補正量算出部４０２は、算出した輝度補正量関数を輝度補正部４０３に供給する。その後、処理はステップＳ２０５に進む。
【０１５８】
一方、ステップＳ２０１において、注目空間ブロックの輝度補正量関数が算出済みであると判定された場合、ステップＳ２０２乃至Ｓ２０４の処理はスキップされ、処理はステップＳ２０５に進む。
【０１５９】
ステップＳ２０５において、輝度補正部４０３は、注目ビンの輝度値の代表値を輝度補正量によって補正する。例えば、輝度補正部４０３は、注目ビンの輝度範囲の中央値を注目ビンの輝度値の代表値とし、その代表値に対する輝度補正量関数の値を輝度補正量として求める。そして、輝度補正部４０３は、注目ビンの輝度値の代表値に輝度補正量を加算することにより、注目ビンの輝度値の代表値を補正する。
【０１６０】
ステップＳ２０６において、輝度補正部４０３は、補正した輝度値を注目ビンの参照輝度値Lg(nl)(p)として係数算出部２４４に出力する。
【０１６１】
その後、参照輝度値算出処理は終了し、処理は図１６のステップＳ１４５に進む。
【０１６２】
なお、本発明の第２の実施の形態において、上述した参照輝度値算出処理以外の処理は、第１の実施の形態の処理と同様であり、その説明は繰返しになるので省略する。
【０１６３】
［第２の実施の形態の効果など］
本発明の第２の実施の形態では、第１の実施の形態と同様に、注目ビンの参照輝度値Lg(nl)(p)は、注目ビンの輝度値の代表値を、注目ビンから見て注目空間ブロックのブロックヒストグラムの頻度値が増える方向に補正した値となる。また、ステップＳ２０４の処理により輝度補正量の大きさを適正化することにより、ブロックヒストグラムの山に対応する輝度レベルを越えるような過度な補正が行われることが防止される。
【０１６４】
さらに、本発明の第１の実施の形態では、参照輝度値Lg(nl)(p)の算出に際し、輝度値の加重平均を算出するために、各ブロックヒストグラムのビン毎に１回除算を行う必要がある。一方、本発明の第２の実施の形態では、参照輝度値Lg(nl)(p)の算出に際し、１次微係数関数のスケーリングを行うために、空間ブロック毎に除算を１回行うだけでよい。従って、本発明の第２の実施の形態によれば、第１の実施の形態と比較して、演算量を削減することができる。
【０１６５】
＜３．第３の実施の形態＞
［第３の実施の形態の概要］
次に、図２５乃至図２９を参照して、本発明の第３の実施の形態について説明する。
【０１６６】
本発明の第３の実施の形態は、参照輝度値Lg(nl)(p)の算出方法を変えることにより、演算量の削減を可能にするものである。
【０１６７】
［参照輝度値算出部の構成例］
本発明を適用したデジタルビデオカメラの第３の実施の形態では、図１０の参照輝度値算出部２４３の代わりに、図２５の参照輝度値算出部２４３が設けられる。なお、図２５において、図１０と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
【０１６８】
図２５の参照輝度値算出部２４３は、累積ヒストグラム算出部５０１、累積ヒストグラムメモリ５０２、逆関数算出部５０３、累積ヒストグラム逆関数メモリ５０４、ピーク検出部５０５、ピーク位置リストメモリ５０６、輝度変調関数算出部５０７、輝度変調関数メモリ５０８、マッピング部５０９、および、マッピング部５１０から構成される。
【０１６９】
累積ヒストグラム算出部５０１は、各空間ブロックのブロックヒストグラムをブロックヒストグラムメモリ２０２から読み込み、各空間ブロックの累積ヒストグラム関数を算出する。累積ヒストグラム算出部２６１は、算出した各空間ブロックの累積ヒストグラム関数を累積ヒストグラムメモリ５０２に格納する。
【０１７０】
逆関数算出部５０３は、各空間ブロックの累積ヒストグラム関数を累積ヒストグラムメモリ５０２から読み込み、各累積ヒストグラム関数の逆関数（以下、累積ヒストグラム逆関数と称する）を算出し、累積ヒストグラム逆関数メモリ５０４に格納する。
【０１７１】
ピーク検出部５０５は、各空間ブロックの累積ヒストグラム関数を累積ヒストグラムメモリ５０２から読み込む。そして、ピーク検出部５０５は、各空間ブロックの累積ヒストグラム関数において、対応するブロックヒストグラムが極大となる輝度値に対応する位置（以下、ピーク位置と称する）を検出する。ピーク検出部５０５は、検出した各累積ヒストグラム関数のピーク位置の座標を示すピーク位置リストをピーク位置リストメモリ５０６に格納する。
【０１７２】
輝度変調関数算出部５０７は、各空間ブロックの累積ヒストグラム関数のピーク位置リストをピーク位置リストメモリ５０６から読み込む。そして、輝度変調関数算出部５０７は、ピーク位置リストに基づいて、各空間ブロックに対する輝度変調関数を算出し、輝度変調関数メモリ５０８に格納する。
【０１７３】
マッピング部５０９は、各空間ブロックのブロックヒストグラムをブロックヒストグラムメモリ２０２から読み込み、各空間ブロックの輝度変調関数を輝度変調関数メモリ５０８から読み込む。そして、マッピング部５０９は、輝度変調関数に基づいて、各ブロックヒストグラムの各ビンの輝度値の代表値に対応する頻度値を算出し、マッピング部５１０に供給する。
【０１７４】
マッピング部５１０は、各空間ブロックの累積ヒストグラム逆関数を累積ヒストグラム逆関数メモリ５０４から読み込む。マッピング部５１０は、各累積ヒストグラム逆関数、および、各ブロックヒストグラムの各ビンの輝度値の代表値に対応する頻度値に基づいて、各ブロックヒストグラムの各ビンに対する参照輝度値Lg(nl)(p)を算出する。マッピング部５１０は、算出した各ブロックヒストグラムの各ビンに対する参照輝度値Lg(nl)(p)を係数算出部２４４に供給する。
【０１７５】
［参照輝度値算出処理の説明］
次に、図２６のフローチャートを参照して、参照輝度値算出部２４３が図２５に示す構成とされる場合における参照輝度値算出処理について説明する。なお、この参照輝度値算出処理は、図１６のステップＳ１４４の処理に対応する。
【０１７６】
ステップＳ３０１において、累積ヒストグラム算出部５０１は、注目空間ブロックの輝度変調関数および累積ヒストグラム逆関数が未算出であるか否かを判定する。注目空間ブロックの輝度変調関数および累積ヒストグラム逆関数が未算出であると判定された場合、処理はステップＳ３０２に進む。
【０１７７】
ステップＳ３０２において、累積ヒストグラム算出部５０１は、注目空間ブロックのブロックヒストグラムをブロックヒストグラムメモリ２０２から読み込む。
【０１７８】
ステップＳ３０３において、累積ヒストグラム算出部５０１は、図１８のステップＳ１６１の処理と同様に、注目空間ブロックの累積ヒストグラム関数を算出する。累積ヒストグラム算出部５０１は、算出した累積ヒストグラム関数を累積ヒストグラムメモリ５０２に格納する。
【０１７９】
なお、以下、累積ヒストグラム関数をｙ＝ｆ（ｘ）と表す。ｘは輝度を表し、ｙは累積度数を表す。
【０１８０】
ステップＳ３０４において、ピーク検出部５０５は、累積ヒストグラム関数のピーク位置を検出する。具体的には、ピーク検出部５０５は、注目空間ブロックの累積ヒストグラム関数を累積ヒストグラムメモリ５０２から読み込む。ピーク検出部５０５は、累積ヒストグラム関数の勾配が極大となり、かつ、その勾配が予め定められた閾値よりも大きくなる位置をピーク位置として検出する。
【０１８１】
例えば、図２７は、図１９と同じブロックヒストグラム３６１および累積ヒストグラム関数３６２を示している。この場合、例えば、累積ヒストグラム関数３６２の勾配が極大となり、かつ、その勾配が所定の閾値よりも大きくなるピーク位置Ｐ１１およびピーク位置Ｐ１２が検出される。ピーク位置Ｐ１１およびピーク位置Ｐ１２に対応するビンは、ブロックヒストグラム３６１において頻度数が極大となり、かつ、その頻度数が所定の閾値より大きくなるビンである。従って、ピーク位置Ｐ１１およびピーク位置Ｐ１２は、ブロックヒストグラム３６１が極大となる輝度値に対応する累積ヒストグラム関数３６２上の座標となる
【０１８２】
なお、以下、図２７に示されるように、ピーク位置Ｐ１１の輝度値および累積度数を、それぞれピークレベル１および出力ピークレベル１と称し、ピーク位置Ｐ１２の輝度値および累積度数を、それぞれピークレベル２および出力ピークレベル２と称する。
【０１８３】
ピーク検出部５０５は、検出したピーク位置の座標を示すピーク位置リストをピーク位置リストメモリ５０６に格納する。
【０１８４】
ステップＳ３０５において、輝度変調関数算出部５０７は、検出されたピーク位置に基づいて、輝度変調関数を算出する。具体的には、輝度変調関数算出部５０７は、ピーク位置リストをピーク位置リストメモリ５０６から読み込む。輝度変調関数算出部５０７は、累積ヒストグラム関数の始点、ピーク検出部５０５により検出されたピーク位置、および、累積ヒストグラム関数の終点を通り、単調増加する関数を輝度変調関数として算出する。例えば、累積ヒストグラム関数の始点、ピーク位置、および、累積ヒストグラム関数の終点を通り、かつ、単調増加するスプライン関数が、輝度変調関数として算出される。輝度変調関数算出部５０７は、算出した輝度変調関数を輝度変調関数メモリ５０８に格納する。
【０１８５】
図２８は、図２７の累積ヒストグラム関数３６２に対する輝度変調関数５５１の例を示している。なお、図２８の横軸は輝度を示し、縦軸は累積度数を示している。輝度変調関数５５１は、累積ヒストグラム関数の始点および終点、ピーク位置Ｐ１１およびピーク位置Ｐ１２を通り、滑らかに単調増加する関数である。
【０１８６】
なお、輝度変調関数は、ピーク位置の近傍を通過すればよく、必ずしもピーク位置の座標上を通過する必要はない。また、輝度変調関数は、単調増加する連続関数であれば、微分が連続するという意味において必ずしも滑らかな曲線である必要はない。ただし、ピーク位置の近傍を通過するため以外に必要以上に蛇行をしないような滑らかな曲線である方が、より望ましい。なお、スプライン関数を用いれば、そのような性質の曲線を簡単に得ることが可能である。
【０１８７】
ステップＳ３０６において、逆関数算出部５０３は、累積ヒストグラム逆関数を算出する。具体的には、逆関数算出部５０３は、注目空間ブロックの累積ヒストグラム関数を累積ヒストグラムメモリ５０２から読み込む。そして、逆関数算出部５０３は、累積ヒストグラム関数ｙ＝ｆ（ｘ）の逆関数ｘ＝ｆ−１（ｙ）を算出する。逆関数算出部５０３は、算出した累積ヒストグラム逆関数を累積ヒストグラム逆関数メモリ５０４に格納する。その後、処理はステップＳ３０７に進む。
【０１８８】
一方、ステップＳ３０１において、注目空間ブロックの輝度変調関数および累積ヒストグラム逆関数を算出済みであると判定された場合、ステップＳ３０２乃至Ｓ３０６の処理はスキップされ、処理はステップＳ３０７に進む。
【０１８９】
ステップＳ３０７において、マッピング部５０９は、輝度変調関数を用いて、注目ビンの輝度値の代表値に対する累積度数を求める。具体的には、マッピング部５０９は、注目空間ブロックの輝度変調関数を輝度変調関数メモリ５０８から読み込む。そして、マッピング部５０９は、例えば、注目ビンの輝度範囲の中央値を注目ビンの輝度値の代表値とし、その代表値を輝度変調関数に代入し、当該代表値に対する累積度数を求める。マッピング部５０９は、求めた累積度数をマッピング部５１０に供給する。
【０１９０】
ステップＳ３０８において、マッピング部５１０は、累積ヒストグラム逆関数を用いて、輝度変調関数から求められた累積度数に対する輝度値を求める。具体的には、マッピング部５１０は、注目空間ブロックの累積ヒストグラム逆関数を累積ヒストグラム逆関数メモリ５０４から読み込む。そして、マッピング部５１０は、マッピング部５０９により求められた累積度数を累積ヒストグラム逆関数に代入し、当該累積度数に対する輝度値を求める。
【０１９１】
ここで、図２９を参照して、ステップＳ３０７およびＳ３０８の処理の具体例を説明する。
【０１９２】
図２９は、２つのグラフを連結した図であり、横軸は輝度を示し、縦軸は累積度数を示している。左側は、図２８と同じ輝度変調関数５５１のグラフであり、右側は、図２７の累積ヒストグラム関数３６２を左右反転したグラフである。従って、左側のグラフの横軸と右側のグラフの横軸の向きが逆になっている。
【０１９３】
上述したように、ステップＳ３０７において、輝度変調関数５５１に基づいて、注目空間ブロックの各ビンの輝度値の代表値に対して累積度数が割り当てられる。例えば、図２９の右側のグラフにおいて、輝度方向に等間隔に配置されている上向きの矢印の始点が注目空間ブロックの各ビンの輝度値の代表値を示している。また、上向きの矢印が輝度変調関数５５１とぶつかる点を始点とする左向きの矢印と累積度数方向の軸との交点が、各ビンの輝度値の代表値に対して割り当てられる累積度数を示している。
【０１９４】
さらに、上述したように、ステップＳ３０８において、累積ヒストグラム逆関数に基づいて、輝度階調関数５５１により割り当てられた累積度数に対して参照輝度値Lg(nl)(p)が割り当てられる。例えば、図２９の左側のグラフにおいて、左向きの矢印が累積ヒストグラム関数３６２とぶつかる点を始点とする下向きの矢印と輝度方向の軸との交点が、各累積度数に対して割り当てられる参照輝度値Lg(nl)(p)を示している。
【０１９５】
そして、図２９に示されるように、右側のグラフでは、上向きの矢印が等間隔であるのに対し、左側のグラフでは、下向きの矢印がピークレベル１およびピークレベル２付近で密になる。すなわち、補正前の輝度値（各ビンの輝度値の代表値）がピークレベル１またはピークレベル２に近い場合、ほぼ同じ値の参照輝度値Lg(nl)(p)が割り当てられる。一方、補正前の輝度値がピークレベル１およびピークレベル２から遠い場合、ピークレベル１またはピークレベル２に近づくように参照輝度値Lg(nl)(p)が割り当てられる。そして、参照輝度値Lg(nl)(p)は、ピークレベル１およびピークレベル２付近に集中するようになる。
【０１９６】
ステップＳ３０９において、マッピング部５１０は、求めた輝度値を注目ビンの参照輝度値Lg(nl)(p)として係数算出部２４４に出力する。
【０１９７】
その後、参照輝度値算出処理は終了し、処理は図１６のステップＳ１４５に進む。
【０１９８】
なお、本発明の第３の実施の形態において、上述した参照輝度値算出処理以外の処理は、第１の実施の形態の処理と同様であり、その説明は繰返しになるので省略する。
【０１９９】
［第３の実施の形態の効果など］
本発明の第３の実施の形態では、本発明の第１の実施の形態および第２の実施の形態と同様に、注目ビンの参照輝度値Lg(nl)(p)は、注目ビンの輝度値の代表値を、注目ビンから見て注目空間ブロックのブロックヒストグラムの頻度値が増える方向に補正した値となる。
【０２００】
また、本発明の第１の実施の形態では、参照輝度値Lg(nl)(p)の算出に際し、輝度値の加重平均を算出するために、各ブロックヒストグラムのビン毎に１回除算を行う必要がある。一方、本発明の第３の実施の形態では、参照輝度値Lg(nl)(p)の算出に際し、除算を行う必要がない。従って、本発明の第３の実施の形態によれば、第１の実施の形態と比較して、演算量を削減することができる。
【０２０１】
＜４．変形例＞
［階調補正特性関数の変形例］
以上の説明では、空間ブロック毎に、当該空間ブロックのブロックヒストグラムのみを用いて、階調補正特性関数を算出する例を示したが、さらに近傍の空間ブロックのブロックヒストグラムも用いるようにしてもよい。例えば、当該空間ブロックのブロックヒストグラムと、近傍の空間ブロックのブロックヒストグラムを合成したブロックヒストグラムを用いて、当該空間ブロックの階調補正特性関数を算出するようにしてもよい。これにより、当該空間ブロックと近傍の空間ブロックとの間における階調補正特性の連続性を高めることができる。
【０２０２】
あるいは、全てまたは一部の空間ブロックで同じ階調補正特性関数を用いるようにしてもよい。例えば、全ての空間ブロックのブロックヒストグラムを合成したブロックヒストグラムを用いて、全ての空間ブロックに共通な階調補正特性関数を算出するようにしてもよい。あるいは、ブロックヒストグラムを参照せずに、予め用意されている固定の階調補正特性関数を用いるようにしてもよい。
【０２０３】
［１次微係数関数の算出方法の変形例］
また、本発明の第２の実施の形態において、空間ブロック毎に、当該空間ブロックのブロックヒストグラムのみを用いて、輝度方向の１次微係数関数を算出する例を示したが、１次微係数関数の演算は輝度方向に限定するものではない。例えば、当該空間ブロックと近傍の空間ブロックとの参照輝度値の連続性を高めるために、空間方向にも１次微係数関数を算出するようにしてもよい。この場合、例えば、１次微係数算出部４０１が、輝度方向と空間方向を合わせた３次元の１次微係数ベクトルを算出した後、そのベクトルを輝度方向に射影したものを輝度補正量算出部４０２に供給するようにすればよい。
【０２０４】
また、３次元の１次微係数を用いる方法は、当該空間ブロックと近傍の空間ブロックのブロックヒストグラムを空間方向の平滑化フィルタを用いて合成した後に、輝度方向の１次微係数を算出するのと等価である。従って、先に空間方向にブロックヒストグラムの平滑化を行った後、図２２を参照して上述した参照輝度値算出処理を行うようにしてもよい。
【０２０５】
さらに、以上の説明では、１次微係数関数の算出に用いるオペレータの具体例としてSobelオペレータを示したが、他の微分オペレータを採用することも可能である。例えば、Sobelオペレータに平滑化フィルタをコンボリューションしたフィルタを用いるようにして、ブロックヒストグラムを輝度方向に平滑化しながら、１次微係数関数を算出するようにしてもよい。
【０２０６】
［ＹＣ変換処理後の画像信号に対して階調補正処理を行う場合］
さらに、以上においては、ＲＧＢ画像に対して階調補正処理が行われると説明したが、ＹＣ変換処理後の画像信号に対して階調補正処理が行われるようにしてもよい。そのような場合、DSP１１６は、例えば図３０に示すように構成される。なお、図３０において、図３における場合と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
【０２０７】
図３０に示すDSP１１６は、図３のDSP１１６に対して、デモザイク処理部１５２とガンマ補正処理部１５４との間に階調補正処理部１５３が設けられておらず、ＹＣ変換処理部１５５に階調補正処理部６０１が接続されている点で異なる。階調補正処理部６０１は、ＹＣ変換処理部１５５から供給されたＹ画像およびＣ画像（Cb成分およびCr成分）に階調補正処理を施し、階調補正処理を施したＹ画像およびＣ画像を、必要に応じてLCDドライバ１１８またはCODEC１２０に供給する。
【０２０８】
なお、以下、階調補正処理が施された画像データの画素位置ｐにおける画素値を［Yu(p), Cu(p)］とする。ここで、Yu(p)は、Ｙ画像における輝度成分の値であり、Cu(p)はＣ画像における色差成分の値である。また、以下、特にＣ画像の画素値Cu(p)のCb成分をCbu(p)と称し、Cr成分をCru(p)と称する。
【０２０９】
図３０の階調補正処理部６０１は、例えば図３１に示すように構成される。すなわち、階調補正処理部６０１は、輝度階調補正部６３１、Cb階調補正部６３２、およびCr階調補正部６３３から構成される。
【０２１０】
輝度階調補正部６３１は、図５の輝度階調補正部１８３と同様の処理を行って、ＹＣ変換処理部１５５からのＹ画像の画素値Y(p)の階調を補正（圧縮）する。そして、輝度階調補正部６３１は、階調補正により得られた画素値Yu(p)を、必要に応じてLCDドライバ１１８またはCODEC１２０に供給するとともに、画素値Yu(p)をCb階調補正部６３２およびCr階調補正部６３３に供給する。
【０２１１】
Cb階調補正部６３２は、ＹＣ変換処理部１５５からのＹ画像の画素値Y(p)と、輝度階調補正部６３１からのＹ画像の画素値Yu(p)とを用いて、図５の階調補正部１８５と同様の処理を行い、ＹＣ変換処理部１５５からのＣ画像の画素値Cb(p)を階調補正して、階調補正された画素値Cbu(p)を、必要に応じてLCDドライバ１１８またはCODEC１２０に供給する。
【０２１２】
また、Cr階調補正部６３３は、ＹＣ変換処理部１５５からのＹ画像の画素値Y(p)と、輝度階調補正部６３１からのＹ画像の画素値Yu(p)とを用いて、図５の階調補正部１８５と同様の処理を行い、ＹＣ変換処理部１５５からのＣ画像の画素値Cr(p)を階調補正して、階調補正された画素値Cru(p)を、必要に応じてLCDドライバ１１８またはCODEC１２０に供給する。
【０２１３】
例えば、Cb階調補正部６３２およびCr階調補正部６３３が行う階調補正は、上述した式（１）に示される演算と同様に、階調補正されたＹ画像の画素値Yu(p)と、Ｙ画像の画素値Y(p)との比を、Ｃ画像の画素値（画素値Cr(p)または画素値Cb(p)）に乗算することにより行われる。つまり、画素値Yu(p)を画素値Y(p)で除算して得られる値が、Ｃ画像の画素値に乗算される。
【０２１４】
階調補正処理部６０１には、Ｙ画像およびＣ画像、つまり輝度信号と色差信号とが入力されるため、階調補正処理部６０１において輝度画像を生成する必要はない。また、階調補正処理部６０１に供給されるＹ画像およびＣ画像は、既にガンマ補正されているので、Ｙ画像およびＣ画像を非線形変換する必要もない。したがって、階調補正処理部６０１には、図５の階調補正処理部１５３における輝度算出部１８１、非線形変換部１８２、非線形変換部１８４、および非線形逆変換部１８６に対応するブロックは設けられていない。
【０２１５】
このように、Ｙ画像およびＣ画像に対して階調補正処理を行うことで、より簡単に階調の補正を行うことができる。
【０２１６】
［ＲＡＷデータに対して階調補正処理を行う場合］
さらに、ＲＡＷデータ、つまりモザイク画像に対して階調補正処理が行われるようにしてもよい。そのような場合、DSP１１６は、例えば図３２に示すように構成される。なお、図３２において、図３における場合と対応する部分には同一の符号を付してあり、その説明は適宜、省略する。
【０２１７】
図３２のDSP１１６と、図３のDSP１１６とは、図３２のDSP１１６において階調補正処理部６８１が、ホワイトバランス処理部１５１とデモザイク処理部１５２との間に設けられている点で異なる。すなわち、図３のDSP１１６では、階調補正処理部１５３が、ホワイトバランス処理部１５１とガンマ補正処理部１５４との間に設けられているのに対して、図３２のDSP１１６では、図３の階調補正処理部１５３に対応する階調補正処理部６８１が、ホワイトバランス処理部１５１とデモザイク処理部１５２との間に設けられている。
【０２１８】
階調補正処理部６８１は、ホワイトバランス処理部１５１からのモザイク画像Ｍｗに階調補正処理を施し、階調補正処理が施されたモザイク画像Ｍｕをデモザイク処理部１５２に供給する。この階調補正処理部６８１は、例えば図３３に示すように構成される。
【０２１９】
具体的には、階調補正処理部６８１は、輝度算出部７１１、非線形変換部７１２、輝度階調補正部７１３、位相合わせ部７１４、位相合わせ部７１５、非線形変換部７１６、モザイク階調補正部７１７、および非線形逆変換部７１８から構成される。
【０２２０】
輝度算出部７１１は、図５の輝度算出部１８１と同様の処理を行い、モザイク画像Ｍｗから輝度画像を生成する。すなわち、輝度算出部７１１は、ホワイトバランス処理部１５１からのモザイク画像Ｍｗの画素位置ｐの画素値を、注目画素の画素値Mw(p)として、モザイク画像Ｍｗのいくつかの画素値から輝度値L(p)を算出し、非線形変換部７１２に供給する。
【０２２１】
モザイク画像Ｍｗは、例えば図３４に示すように、各画素がＲ、Ｇ（ＧｒまたはＧｂ）、Ｂの何れかの成分の画素値しか有していないため、輝度算出部７１１は、供給された１つの画素の画素値Mw(p)だけでなく、その画素の周囲の画素の画素値も参照して、輝度値を算出する。
【０２２２】
図３４では、Ｒ成分、Ｇ成分、またはＢ成分を有する画素が、ベイヤー配列で並んでおり、１つの四角形はモザイク画像の１つの画素を示している。また、図中、四角形内の文字「Ｒ」、「Ｇ」、および「Ｂ」は、その四角形がＲ成分、Ｇ成分、およびＢ成分の画素値を有する画素であることを示している。
【０２２３】
輝度算出部７１１は、互いに隣接する縦２画素×横２画素の合計４画素を処理の単位とすると、Ｒ成分、Ｇ成分（Ｇｒ成分およびＧｂ成分）、およびＢ成分の各成分の画素値が得られることを利用して、それらの４つの画素の画素値に基づいて、図中、円により示される位置の輝度値を求める。つまり、図中、円の位置近傍の４つの画素のＲＧＢ信号の和として輝度信号が生成される。
【０２２４】
図３４の例では、図中の円は、Ｒの画素、Ｂの画素、および２つのＧの画素からなる領域の中心に位置している。なお、輝度値が求められる位置は、モザイク画像の画素の位置から半画素分だけずれた位置となっており、また、輝度値が求められる位置の間隔も１画素単位ではないが、これらの位置（位相）のずれは、輝度値の階調を補正するうえでは問題とはならない。
【０２２５】
図３３の説明に戻り、非線形変換部７１２は、図５の非線形変換部１８２と同様の処理を行って、輝度算出部７１１からの輝度値L(p)を非線形変換し、非線形変換により得られた輝度値L(nl)(p)を輝度階調補正部７１３および位相合わせ部７１４に供給する。
【０２２６】
輝度階調補正部７１３は、図５の輝度階調補正部１８３と同様の処理を行い、非線形変換部７１２からの輝度値L(nl)(p)の階調を圧縮することで、輝度値L(nl)(p)の階調補正を行い、階調補正により得られた輝度値Lu(nl)(p)を位相合わせ部７１５に供給する。
【０２２７】
位相合わせ部７１４は、非線形変換部７１２からの輝度値のうち、注目画素近傍の位置の輝度値のいくつかを用いて補間処理を行い、注目画素の位置の輝度値を算出する。ここで、位相合わせ部７１４により行われる補間処理は、例えば注目画素近傍の２×２の位置の合計４箇所の輝度値を用いたバイリニア補間処理などとされる。
【０２２８】
位相合わせ部７１４は、注目画素の輝度値を求めると、求めた輝度値をモザイク階調補正部７１７に供給する。
【０２２９】
位相合わせ部７１５は、輝度階調補正部７１３からの輝度値のうち、注目画素近傍の位置の輝度値のいくつかを用いて補間処理を行い、注目画素の位置の階調補正された輝度値を算出する。ここで、位相合わせ部７１５により行われる補間処理は、位相合わせ部７１４により行われる補間処理と同じ処理とされ、例えばバイリニア補間処理などとされる。
【０２３０】
非線形変換部７１６は、図５の非線形変換部１８４と同様の処理を行って、ホワイトバランス処理部１５１からの注目画素の画素値Mw(p)を非線形変換し、非線形変換された画素値をモザイク階調補正部７１７に供給する。
【０２３１】
モザイク階調補正部７１７は、位相合わせ部７１４からの輝度値と、位相合わせ部７１５からの階調補正された輝度値とを用いて、図５の階調補正部１８５と同様の処理を行い、非線形変換部７１６からの画素値を階調補正して、階調補正された画素値を非線形逆変換部７１８に供給する。例えば、モザイク階調補正部７１７は、上述した式（１）に示される演算と同様に、位相合わせ部７１４からの輝度値で、位相合わせ部７１５からの階調補正された輝度値を除算して得られる値を、非線形変換部７１６からの画素値に乗算することで、画素値を階調補正する。これにより、注目画素の画素値、つまりＲ、Ｇ、またはＢの成分の画素値が階調補正されることになる。
【０２３２】
非線形逆変換部７１８は、モザイク階調補正部７１７からの画素値に、非線形変換部７１６による非線形変換の逆変換となる非線形逆変換を施す。非線形逆変換部７１８は、非線形逆変換により得られた画素値Mu(p)を、デモザイク処理部１５２に供給する。
【０２３３】
このように、モザイク画像を対象として階調補正処理を行う場合には、輝度算出部７１１により算出される輝度値の位置は、モザイク画像上の注目画素の位置とは異なるが、位相合わせ部７１４および位相合わせ部７１５により位相合わせを行うことで、注目画素の位置の輝度値を求めることができる。
【０２３４】
［本発明の適用範囲の例］
なお、以上において説明したように、図２のデジタルビデオカメラは、画像の大局的な構造を抽出する画像処理を行う。このような画像処理により抽出された情報は、画質を向上させる処理などに利用することが可能であるため、画像の大局的な構造を抽出するブロックを実装する装置として、デジタルビデオカメラだけでなく他の装置にも適用することが可能である。例えば、そのような装置として、デジタルスチルカメラなどの撮像装置や、プリンタ、ディスプレイなどの表示装置等が考えられる。さらに、画像を加工したり、編集したりする装置やコンピュータプログラムにも応用することができる。
【０２３５】
［コンピュータのハードウェアの構成例］
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０２３６】
図３５は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０２３７】
コンピュータにおいて、CPU９０１，ＲＯＭ（Read Only Memory）９０２，ＲＡＭ９０３は、バス９０４により相互に接続されている。
【０２３８】
バス９０４には、さらに、入出力インターフェース９０５が接続されている。入出力インターフェース９０５には、キーボード、マウス、マイクロホンなどよりなる入力部９０６、ディスプレイ、スピーカなどよりなる出力部９０７、ハードディスクや不揮発性のメモリなどよりなる記録部９０８、ネットワークインターフェースなどよりなる通信部９０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア９１１を駆動するドライブ９１０が接続されている。
【０２３９】
以上のように構成されるコンピュータでは、CPU９０１が、例えば、記録部９０８に記録されているプログラムを、入出力インターフェース９０５及びバス９０４を介して、ＲＡＭ９０３にロードして実行することにより、上述した一連の処理が行われる。
【０２４０】
コンピュータ（CPU９０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア９１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０２４１】
そして、プログラムは、リムーバブルメディア９１１をドライブ９１０に装着することにより、入出力インターフェース９０５を介して、記録部９０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部９０９で受信し、記録部９０８にインストールすることができる。その他、プログラムは、ＲＯＭ９０２や記録部９０８に、あらかじめインストールしておくことができる。
【０２４２】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２４３】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０２４４】
１１６  DSP，  １５３  階調補正処理部，  １８１  輝度算出部，  １８３  輝度階調補正部，  １８５−１乃至１８５−３  階調補正部，  ２０１  ブロックヒストグラム算出部，  ２０３  階調補正係数算出部，  ２０５  階調補正適用部，  ２４１  階調補正特性決定部，  ２４３  参照輝度値算出部，  ２４４  係数算出部，  ２６１  累積ヒストグラム算出部，  ２６２  明部裾野レベル算出部，  ２６３  中間レベル算出部，  ２６４  暗部裾野レベル算出部，  ２６５  スプライン制御点設定部，  ２８１  重心算出部，  ３０１  係数補間部，  ３０２  係数適用部，  ４０１  １次微係数算出部，  ４０２  輝度補正量算出部，  ４０３  輝度補正部，  ５０１  累積ヒストグラム算出部，  ５０３  逆関数算出部，  ５０５  ピーク検出部，  ５０７  輝度変調関数算出部，  ５０９，５１０  マッピング部，  ６０１  階調補正処理部，  ６８１  階調補正処理部
【図１】
2011188391.tif 000005
【図２】
2011188391.tif 000006
【図３】
2011188391.tif 000007
【図４】
2011188391.tif 000008
【図５】
2011188391.tif 000009
【図６】
2011188391.tif 000010
【図７】
2011188391.tif 000011
【図８】
2011188391.tif 000012
【図９】
2011188391.tif 000013
【図１０】
2011188391.tif 000014
【図１１】
2011188391.tif 000015
【図１２】
2011188391.tif 000016
【図１３】
2011188391.tif 000017
【図１４】
2011188391.tif 000018
【図１５】
2011188391.tif 000019
【図１６】
2011188391.tif 000020
【図１７】
2011188391.tif 000021
【図１８】
2011188391.tif 000022
【図１９】
2011188391.tif 000023
【図２０】
2011188391.tif 000024
【図２１】
2011188391.tif 000025
【図２２】
2011188391.tif 000026
【図２３】
2011188391.tif 000027
【図２４】
2011188391.tif 000028
【図２５】
2011188391.tif 000029
【図２６】
2011188391.tif 000030
【図２７】
2011188391.tif 000031
【図２８】
2011188391.tif 000032
【図２９】
2011188391.tif 000033
【図３０】
2011188391.tif 000034
【図３１】
2011188391.tif 000035
【図３２】
2011188391.tif 000036
【図３３】
2011188391.tif 000037
【図３４】
2011188391.tif 000038
【図３５】
2011188391.tif 000039