(57)【要約】【課題】撮像画像のブロックの分割数に大きく影響されずに、逆光状態の検出の精度を向上させることができる逆光補正制御方法を提供する。【解決手段】撮像画像の分割測光データを入力する分割測光データ入力ステップＳ１００と、各分割測光データのブロック間での差分値によってエッジを検出するエッジ検出ステップＳ２００と、エッジの数を閾値と比較して逆光状態を判定する判定ステップＳ４００と、逆光状態と判定された場合に補正値を算出して設定する補正値設定ステップＳ５００とを有し、エッジ検出ステップＳ２００において、基準ブロックと、隣接する第１の隣接ブロックとの間の第１の差分値と、第１の隣接ブロックが接する方向と同じ方向で第１の隣接ブロックと隣接する第２の隣接ブロックとの間の第２の差分値とを求め、第１の差分値と第２の差分値の少なくとも一方が差分基準値以上である場合に第１の隣接ブロックにエッジを有すると判断する。【選択図】図１
2011009810.tif 000002
【特許請求の範囲】
【請求項１】
入射した光を光電変換する撮像素子から得られた撮像画像のデータについて複数のブロックに分割して輝度が測光された分割測光データを入力する分割測光データ入力ステップと、
前記各分割測光データの前記ブロック間での差分値を所定の差分基準値と比較することによって、前記撮像画像におけるエッジの部分を有する前記ブロックを検出するエッジ検出ステップと、
前記エッジ検出ステップにおいて検出された前記エッジの部分を有する前記ブロックの数を所定の閾値と比較することによって、前記撮像画像が逆光状態であるか否かを判定する判定ステップと、
前記判定ステップにおいて前記撮像画像が逆光状態であると判定された場合に、逆光状態を露光制御により補正するための補正値を算出して設定する補正値設定ステップとを有する逆光補正制御方法であって、
前記エッジ検出ステップにおいて前記分割測光データの前記ブロック間での差分値を求める際に、対象となる基準ブロックと、前記基準ブロックと隣接する第１の隣接ブロックとの間の第１の差分値と、前記基準ブロックに対して前記第１の隣接ブロックが接する方向と同じ方向で前記第１の隣接ブロックと隣接する第２の隣接ブロックとの間の第２の差分値とを求め、前記第１の差分値と前記第２の差分値の少なくとも一方が前記差分基準値以上である場合に、前記第１の隣接ブロックに前記エッジを有すると判断することを特徴とする逆光補正制御方法。
【請求項２】
請求項１に記載の逆光補正制御方法において、
前記分割測光データ入力ステップでは、前記各分割測光データを値の範囲に応じて複数のレベルにそれぞれ分類および集計してヒストグラムを作成し、
前記エッジ検出ステップでは、前記ヒストグラムの偏りを予め保持している複数の前記ヒストグラムの偏りのパターンと比較し、合致する前記パターンに基づいて、予め保持している前記パターンに対応する前記差分基準値を取得することを特徴とする逆光補正制御方法。
【請求項３】
請求項１または２に記載の逆光補正制御方法において、
前記分割測光データ入力ステップでは、前記各分割測光データに対して、前記ブロック毎に予め設定した重み付け値をそれぞれ乗算して重み付けを行うことが可能であることを特徴とする逆光補正制御方法。
【請求項４】
入射した光を光電変換する撮像素子から得られた撮像画像のデータに基づいて、前記撮像画像が逆光状態であるか否かを判定し、逆光状態である場合に逆光状態を露光制御により補正するための補正値を算出して設定する逆光補正制御方法であって、
前記撮像画像のデータについて複数のブロックに分割して輝度が測光された分割測光データを入力する分割測光データ入力ステップと、
前記各分割測光データの前記ブロック間での差分値を所定の差分基準値と比較することによって、前記撮像画像におけるエッジの部分を有する前記ブロックを検出するエッジ検出ステップと、
前記エッジ検出ステップにおいて検出された前記エッジの部分を有する前記ブロックの数を、所定のモニタリング期間に得られた各撮像画像のデータについて取得して、その平均値を算出するモニタリングステップと、
前記モニタリングステップにおいて算出された前記エッジの部分を有する前記ブロックの数の平均値を所定の閾値と比較することによって、前記撮像画像が逆光状態であるか否かを判定する判定ステップと、
前記判定ステップにおいて前記撮像画像が逆光状態であると判定された場合に、逆光状態を露光制御により補正するための補正値を算出して設定する補正値設定ステップとを有することを特徴とする逆光補正制御方法。
【請求項５】
請求項４に記載の逆光補正制御方法において、
前記判定ステップでは、前記撮像画像が逆光状態であると判定した場合に、前記エッジの部分を有する前記ブロックの数の第１の平均値を記録しておき、その後の前記撮像画像において、前記エッジの部分を有する前記ブロックの数の第２の平均値が、前記第１の平均値と比較して所定の値以下になった場合に、前記撮像画像が逆光状態ではなくなったと判定して前記補正値設定ステップによって設定された前記補正値を元の値に戻すことを特徴とする逆光補正制御方法。
【請求項６】
請求項４または５に記載の逆光補正制御方法において、
前記エッジ検出ステップでは、前記分割測光データの前記ブロック間での差分値を求める際に、対象となる基準ブロックと、前記基準ブロックと隣接する第１の隣接ブロックとの間の第１の差分値と、前記基準ブロックに対して前記第１の隣接ブロックが接する方向と同じ方向で前記第１の隣接ブロックと隣接する第２の隣接ブロックとの間の第２の差分値とを求め、前記第１の差分値と前記第２の差分値の少なくとも一方が前記差分基準値以上である場合に、前記第１の隣接ブロックに前記エッジを有すると判断することを特徴とする逆光補正制御方法。
【請求項７】
請求項４〜６のいずれか１項に記載の逆光補正制御方法において、
前記分割測光データ入力ステップでは、前記各分割測光データを値の範囲に応じて複数のレベルにそれぞれ分類および集計してヒストグラムを作成し、
前記エッジ検出ステップでは、前記ヒストグラムの偏りを予め保持している複数の前記ヒストグラムの偏りのパターンと比較し、合致する前記パターンに基づいて、予め保持している前記パターンに対応する前記差分基準値を取得することを特徴とする逆光補正制御方法。
【請求項８】
請求項４〜７のいずれか１項に記載の逆光補正制御方法において、
前記分割測光データ入力ステップでは、前記各分割測光データに対して、前記ブロック毎に予め設定した重み付け値をそれぞれ乗算して重み付けを行うことが可能であることを特徴とする逆光補正制御方法。
【請求項９】
請求項７または８に記載の逆光補正制御方法において、
前記モニタリングステップでは、前記モニタリング期間に得られた各撮像画像について、前記分割測光データ入力ステップにおいてそれぞれ作成された各ヒストグラムでの相関を判定し、
前記判定ステップでは、前記モニタリングステップにおいて前記各ヒストグラムでの前記相関があると判定された場合に前記ヒストグラムが安定状態であると判断し、かつ、前記補正値設定ステップによって設定された前記補正値に基づいて、前記撮像画像が目標とする逆光補正の状態に到達している場合に、それ以降、前記補正値を一定の状態に保持することを特徴とする逆光補正制御方法。
【請求項１０】
請求項９に記載の逆光補正制御方法において、
前記分割測光データ入力ステップでは、前記撮像画像における前記分割測光データの平均値を算出し、
前記判定ステップでは、前記ヒストグラムが安定状態であると判断し、かつ、前記分割測光データの平均値が所定の低輝度閾値以下である場合もしくは前記分割測光データの平均値が所定の高輝度閾値以上である場合に、前記撮像画像が逆光状態ではなくなったと判定して前記補正値設定ステップによって設定された前記補正値を元の値に戻すことを特徴とする逆光補正制御方法。
【請求項１１】
請求項２または７に記載の逆光補正制御方法において、
前記補正値設定ステップでは、前記判定ステップにおいて前記撮像画像が逆光状態であると判定された際の前記ヒストグラムの輝度レベルが所定の目標の輝度レベルとなるように、前記撮像画像毎に露光量が漸次増加するようゲイン係数に係る前記補正値を設定することを特徴とする逆光補正制御方法。
【請求項１２】
請求項１１に記載の逆光補正制御方法において、
前記補正値設定ステップでは、前記ゲイン係数に係る前記補正値に基づいて、補正後の高輝度部分の出力値が補正前の出力値と同値となるように輝度信号Ｙおよび色差信号ＣのガンマＫｎｅｅ係数の傾きを低減させ、さらに当該ガンマＫｎｅｅ係数の傾きに対応するガンマ係数を算出して、前記ガンマ係数および前記ガンマＫｎｅｅ係数に係る前記補正値としてそれぞれ設定することを特徴とする逆光補正制御方法。
【請求項１３】
請求項１１に記載の逆光補正制御方法において、
前記補正値設定ステップでは、前記ゲイン係数を変数とする所定の一次関数に基づいて、前記ゲイン係数に係る前記補正値に対応するＹセットアップ値を算出して、前記Ｙセットアップ値に係る前記補正値として設定することを特徴とする逆光補正制御方法。
【請求項１４】
入射した光を光電変換する撮像素子から出力された撮像画像のアナログ信号をデジタル信号に変換するアナログフロントエンドと、
前記アナログフロントエンドから出力された前記デジタル信号に対して輝度や色の処理を行い、さらに、前記撮像画像のデータについて複数のブロックに分割して輝度が測光された分割測光データを出力するカメラＤＳＰと、
前記アナログフロントエンドや前記カメラＤＳＰの制御を行うＣＰＵを有する半導体集積回路であって、
前記ＣＰＵは、前記カメラＤＳＰから出力された前記各分割測光データについて、前記分割測光データの前記ブロック間での差分値を所定の差分基準値と比較することによって、前記撮像画像におけるエッジの部分を有する前記ブロックを検出するエッジ検出処理と、
前記エッジ検出処理において検出された前記エッジの部分を有する前記ブロックの数を、所定のモニタリング期間に得られた各撮像画像のデータについて取得して、その平均値を算出するモニタリング処理と、
前記モニタリング処理において算出された前記エッジの部分を有する前記ブロックの数の平均値を所定の閾値と比較することによって、前記撮像画像が逆光状態であるか否かを判定する判定処理と、
前記判定処理において前記撮像画像が逆光状態であると判定された場合に、逆光状態を露光制御により補正するための補正値を算出して、前記カメラＤＳＰのレジスタに設定する補正値設定処理とを実行することを特徴とする半導体集積回路。
【請求項１５】
請求項１４に記載の半導体集積回路において、
前記エッジ検出処理では、前記分割測光データの前記ブロック間での差分値を求める際に、対象となる基準ブロックと、前記基準ブロックと隣接する第１の隣接ブロックとの間の第１の差分値と、前記基準ブロックに対して前記第１の隣接ブロックが接する方向と同じ方向で前記第１の隣接ブロックと隣接する第２の隣接ブロックとの間の第２の差分値とを求め、前記第１の差分値と前記第２の差分値の少なくとも一方が前記差分基準値以上である場合に、前記第１の隣接ブロックに前記エッジを有すると判断することを特徴とする半導体集積回路。
【請求項１６】
請求項１４または１５に記載の半導体集積回路において、
前記ＣＰＵは、前記カメラＤＳＰから出力された前記各分割測光データに対して、前記ブロック毎に予め設定した重み付け値をそれぞれ乗算して重み付けを行うことが可能であることを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルによる撮像装置等における露光量の制御技術に関し、特に、逆光状態の判別とそれに伴う露光量等の補正を自動で行う逆光補正制御方法および、当該逆光補正制御方法に係る処理を実行する半導体集積回路に適用して有効な技術に関するものである。
【背景技術】
【０００２】
デジタルスチルカメラやデジタルビデオカメラなどの撮像装置においては、通常状態での撮影では白とびしてしまう高輝度部分を表示できるようにするために、いわゆるワイドダイナミックレンジ（以下では「ＷＤＲ」と記載する場合がある）制御を実装している場合がある。これにより、例えば、建物や部屋などの屋内に設置された監視カメラから出入口や窓などを撮影したような場合でも、外部の風景（高輝度部分）は表示できるようになる。しかし、このような状況で、例えば出入口から人が入ってきた場合など、高輝度部分の手前に人や物などが配置された場合には逆光状態となり、この部分は逆に黒つぶれしてしまい識別できないという問題が生じる。
【０００３】
このような逆光条件下において、人や物などの主たる被写体の明るさを十分に得るための技術として、例えば、特開２００７−１５８９９５号公報（特許文献１）には、撮像素子にて得られた撮像画像を複数のブロックに分割し、それぞれのブロックの輝度平均値を求め、それぞれのブロックの輝度平均値に基づいて隣接するブロックとのコントラスト値を求め、コントラスト値が所定のコントラスト判定用閾値以上であるブロックを求め、求めたブロックのうちの最小の輝度平均値を用いて逆光部分のブロックを検出し、逆光部分のブロックの輝度平均値に所定の重み付けを行って、撮像画像の明度を求め、撮像画像の明度に基づいて撮像素子に入射する光量または撮像素子からの出力のゲインを制御する露出量制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１５８９９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術による露出量制御技術では、処理の高速化等を目的としてブロックの分割数を少なくした場合（ブロックのサイズを大きくした場合）に、ブロック内の輝度分布が当該ブロック全体の輝度に平均化され埋もれてしまう。このため、精度の高いコントラスト値を求めることができず、逆光状態の誤検出につながる可能性がある。すなわち、所定の精度を得るためにはブロックの分割数をある程度多くする（ブロックを細かく分割する）必要があり、その結果処理時間を要することとなる。
【０００６】
そこで本発明の目的は、撮像画像のブロックの分割数に大きく影響されずに、逆光状態の検出の精度を向上させることができる逆光補正制御方法および当該逆光補正制御方法に係る処理を実行する半導体集積回路を提供することにある。本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【０００８】
本発明の代表的な実施の形態による逆光補正制御方法は、入射した光を光電変換する撮像素子から得られた撮像画像のデータについて複数のブロックに分割して輝度が測光された分割測光データを入力する分割測光データ入力ステップと、前記各分割測光データの前記ブロック間での差分値を所定の差分基準値と比較することによって、前記撮像画像におけるエッジの部分を有する前記ブロックを検出するエッジ検出ステップと、前記エッジ検出ステップにおいて検出された前記エッジの部分を有する前記ブロックの数を所定の閾値と比較することによって、前記撮像画像が逆光状態であるか否かを判定する判定ステップと、前記判定ステップにおいて前記撮像画像が逆光状態であると判定された場合に、逆光状態を露光制御により補正するための補正値を算出して設定する補正値設定ステップとを有する逆光補正制御方法であって、以下の点を特徴とするものである。
【０００９】
すなわち、前記エッジ検出ステップにおいて前記分割測光データの前記ブロック間での差分値を求める際に、対象となる基準ブロックと、前記基準ブロックと隣接する第１の隣接ブロックとの間の第１の差分値と、前記基準ブロックに対して前記第１の隣接ブロックが接する方向と同じ方向で前記第１の隣接ブロックと隣接する第２の隣接ブロックとの間の第２の差分値とを求め、前記第１の差分値と前記第２の差分値の少なくとも一方が前記差分基準値以上である場合に、前記第１の隣接ブロックに前記エッジを有すると判断することを特徴とするものである。
【発明の効果】
【００１０】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１１】
本発明の代表的な実施の形態によれば、逆光状態の検出のために撮像画像内のエッジを検出する際に、対象のブロックの隣接ブロックだけでなく、隣接ブロックのさらに一つ先の隣接ブロックについても輝度の差分を求めてエッジを検出する。これにより、撮像画像のブロックの分割数に大きく影響されずにエッジの検出精度、すなわち逆光状態の検出精度を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施の形態における逆光補正制御プログラムの実行によりカメラＬＳＩが行う逆光補正制御処理の一例について概要を示したフローチャートである。
【図２】本発明の一実施の形態である逆光補正制御装置の構成例を示した図である。
【図３】本発明の一実施の形態における分割測光データおよび重み付け値の設定例を示した図である。
【図４】本発明の一実施の形態における分割測光データのレベル分けおよびヒストグラムの例を示した図である。
【図５】本発明の一実施の形態におけるヒストグラム作成処理の一例を示すフローチャートである。
【図６】本発明の一実施の形態におけるヒストグラムの偏りに基づいて差分基準値を設定する例を示した図である。
【図７】本発明の一実施の形態におけるヒストグラム偏り判定処理の一例を示すフローチャートである。
【図８】基準ブロックに対して隣接ブロックだけでなく隣々接ブロックとの間でも分割測光データの差分値を比較してエッジを検出する例を示した図である。
【図９】本発明の一実施の形態における撮像画像全体についてエッジ検出を行った場合の例を示した図である。
【図１０】本発明の一実施の形態におけるエッジ検出の際の基準ブロックの移動パターンの例を示した図である。
【図１１】本発明の一実施の形態におけるエッジ検出処理の一例を示したフローチャートである。
【図１２】本発明の一実施の形態におけるエッジ判定処理の一例を示したフローチャートである。
【図１３】本発明の一実施の形態におけるモニタリング期間でのヒストグラムの形状の変化を判断する場合の例を示した図である。
【図１４】本発明の一実施の形態におけるモニタリング処理の一例を示したフローチャートである。
【図１５】本発明の一実施の形態におけるステートマシンの状態遷移図の一例である。
【図１６】本発明の一実施の形態におけるステートマシンの状態遷移を行うモード判定処理の一例を示したフローチャートである。
【図１７】本発明の一実施の形態における逆光状態の補正を行う前と手動制御でのＡＥ目標値の補正により必要十分な逆光補正を行ったときのヒストグラムの例を示した図である。
【図１８】本発明の一実施の形態における輝度レベルを漸次上げる場合の例を示した図である。
【図１９】本発明の一実施の形態におけるガンマ係数およびガンマＫｎｅｅ係数の補正値算出の例を示す図である。
【図２０】本発明の一実施の形態におけるＹセットアップ値の補正値算出の例を示す図である。
【図２１】本発明の一実施の形態における逆光状態を補正するための補正値設定処理の一例を示したフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１４】
本発明の一実施の形態である逆光補正制御装置は、デジタルスチルカメラに加えて、動画像を撮像するデジタルビデオカメラや監視カメラ、車載カメラ等、カメラ製品全般の撮像装置に適用することが可能である。
【００１５】
本実施の形態の逆光補正制御装置の処理概要は以下のとおりである。まず、撮像素子にて得られた撮像画像を複数のブロックに分割して測光を行い、測光によって得られた輝度データからヒストグラムを作成する。次に、作成したヒストグラムの偏りに基づいてエッジ検出用の差分基準値を決定する。エッジ検出の際は、対象のブロックに対して複数のブロックとの間で輝度の差分値を求め、これらの差分値が差分基準値を超えている場合にエッジとして検出する。
【００１６】
撮像画像内でのエッジの個数が逆光判定閾値を超えている場合に逆光状態であると判断し、露光制御によって光量を上げる。露光制御による逆光補正制御中にエッジの数が逆光判定時の１／ｎ倍（例えば１／２倍）になった場合や、撮像画像全体の明るさに変化があった場合には逆光状態ではなくなったと判断して、逆光補正制御を元に戻す。
【００１７】
［システム構成］
図２は、本発明の一実施の形態である逆光補正制御装置の構成例を示した図である。逆光補正制御装置１は、例えば、レンズ１０１、撮像素子１０２、カメラＬＳＩ（Large Scale Integration）２００、外部メモリ３００から構成される。撮像素子１０２は、被写体からレンズ１０１を通して受けた光を光電変換する素子であり、ＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサによって構成される。また、外部メモリ３００は、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）などによって構成される。
【００１８】
カメラＬＳＩ２００は、例えば、ＡＦＥ（Analog Front End：アナログフロントエンド）２１０、カメラＤＳＰ（Digital Signal Processor）２２０、ＣＰＵ（Central Processing Unit）２３０を含んだ１チップのＬＳＩである。ＡＦＥ２１０は、撮像素子１０２から出力されたアナログ信号をデジタル信号に変換する処理を行う。
【００１９】
カメラＤＳＰ２２０は、さらに信号処理部２２１、ＷＤＲ処理部２２２を有している。信号処理部２２１は、ＡＦＥ２１０から出力されたデジタル信号に対して輝度や色の処理を行う。このとき、画像データを複数のブロックに分割して処理を行う（分割測光）。ＷＤＲ処理部２２２は、例えば、信号処理部２２１で処理されて外部メモリ３００に格納された、高速シャッターで撮像された画像の信号と、信号処理部２２１で処理されて出力された低速シャッターで撮像された画像の信号とに基づいてＷＤＲ制御の処理を行う。ＷＤＲ制御の具体的な処理内容については本明細書では触れない。なお、カメラＬＳＩ２００にてＷＤＲ制御を行わない場合は、ＷＤＲ処理部２２２や外部メモリ３００は不要である。
【００２０】
ＣＰＵ２３０は、ＡＦＥ２１０、カメラＤＳＰ２２０、外部メモリ３００等の各部の制御を行う。また、逆光補正制御プログラム２３１を実行することにより、逆光状態の検知および逆光状態での逆光補正制御の処理を行う。なお、逆光補正制御プログラム２３１は、例えば、図示しない外部のフラッシュメモリ等に格納され、図示しないＣＰＵ２３０内のＲＡＭ（Random Access Memory）に読み込まれて実行される。
【００２１】
［逆光補正制御処理フロー］
図１は、図２における逆光補正制御プログラム２３１の実行により、カメラＬＳＩ２００が行う逆光補正制御処理の一例について概要を示したフローチャートである。まず、撮像素子１０２にて得られた撮像画像（１フレームもしくは１フィールド）に対して、カメラＤＳＰ２２０の信号処理部２２１によって複数のブロックに分割して測光することで得られた分割測光データ（輝度データ）を入力する（Ｓ１００）。このとき、分割測光データの平均値算出および分割測光データからのヒストグラムの作成を行う。また、各ブロックに対して重み付けのデータが設定されている場合は、各ブロックの分割測光データに対する重み付け制御も行う。
【００２２】
次に、各ブロックの分割測光データに基づいて、輝度の差分値が所定の閾値を超えている部分、すなわちエッジを検出する（Ｓ２００）。このとき、基準となるブロックに対して隣接するブロックとの間での差分値を比較するのが一般的である。しかし、この場合は、分割するブロックの数を少なくした場合（ブロックのサイズを大きくした場合）に、ブロック内の輝度分布が当該ブロック全体の輝度に平均化され埋もれてしまい、十分な検出精度が得られない。そこで、本実施の形態では、比較するエリアを拡張し、基準ブロックに対して隣接ブロックだけでなく、さらに一つ先の隣接ブロックとの間でも差分値を比較してエッジ（のブロックの数）を検出する。
【００２３】
次に、上記の処理で得たヒストグラムやエッジ数に対して所定の期間の撮像画像に対するモニタリング処理を行う（Ｓ３００）。１回（１つの撮像画像）のみの検出では検出データの誤差やノイズ等により誤検出・誤判断となる可能性がある。そこで、本実施の形態では、モニタリング期間におけるヒストグラムの変化やエッジ数の平均を取得することにより検出精度の向上を図っている。
【００２４】
次に、上記の処理で得たヒストグラムやエッジ数の情報に基づいて逆光状態であるか否かを判定する（Ｓ４００）。このとき、判定結果および後述するステートマシンの現在の状態（モード）に基づいて、ステートマシンの状態遷移を行う。この状態遷移に伴って、逆光補正制御の起動／解除などが制御される。
【００２５】
次に、ステートマシンが補正モードの場合に、逆光状態を補正するための露光量等の補正値を算出し、得られた補正値をカメラＤＳＰ２２０に出力してレジスタに設定する（Ｓ５００）。本実施の形態では、輝度（ＡＥ（Automatic Exposure：自動露出）目標値）、輝度信号Ｙおよび色差信号Ｃのガンマ係数とガンマＫｎｅｅ係数、黒レベルを調整するＹセットアップのそれぞれについて補正値を算出する。
【００２６】
以上の一連の処理を、得られた撮像画像（１フレームもしくは１フィールド）毎に繰り返し実行することで逆光補正制御処理を行う。以下では、上記の各処理の詳細について説明する。
【００２７】
［分割測光データ入力処理］
分割測光データ入力処理（図１におけるＳ１００）では、カメラＤＳＰ２２０によって分割測光されたデータを入力し、撮像画像全体における平均値算出などの処理を行う。また、重み付け制御や、ヒストグラムの作成の処理も行う。
【００２８】
カメラＤＳＰ２２０の信号処理部２２１は、撮像画像の領域をＮ個のブロックに分割し、各ブロック毎に分割測光して分割測光データ（輝度データ）を取得する。本実施の形態のカメラＤＳＰ２２０では、Ｎ＝６４（８行×８列）に分割しているが、分割数Ｎの値はこれに限るものではない。
【００２９】
ここで、例えば監視カメラなどの用途の場合は、撮影対象となる場所が建物の出入口や窓などほぼ固定されており、撮像画像の領域において逆光状態となるエリアもほぼ固定される。このような場合に、撮像画像の特定の部分に基づいて逆光状態であると判断し易くする／判断しにくくするような設定を可能とするため、本実施の形態では、各ブロックの分割測光データに対して重み付けすることを可能とする。このため、撮像画像をＮ分割する場合には、各ブロックにそれぞれ対応したＮ個の重み付け値を設ける。これらの重み付け値は、例えば、上述した外部のフラッシュメモリなどに格納しておき、外部から設定値の変更等が行えるようにする。
【００３０】
図３は、分割測光データおよび重み付け値の設定例を示した図である。分割測光データ４０１は、撮像画像を６４分割して測光した例を模式的に示したものである。また、重み付けデータ４０２は、各ブロックに対する重み付け値の設定状況を模式的に示したものである。重み付けデータ４０２では、例えば、分割測光データに対してそれぞれ、左上部分の領域のブロックでは０．５倍、中央下部分の領域では１．５倍の重み付けを行うことを示している（それ以外の部分では１．０倍で重み付けなし）。
【００３１】
このとき、撮像画像の左上部分では、各ブロックの分割測光データ（輝度データ）が０．５倍されるため、このエリア内に高輝度な被写体（例えば、分割測光データ４０１に示す太陽）が存在した場合でも輝度データが圧縮される。従って、後述するエッジ検出処理（Ｓ２００）において、周辺のエリアとの分割測光データ（輝度データ）の差分値も圧縮され、このエリアが逆光状態であると判断されにくくなる。
【００３２】
一方、中央下部分では分割測光データが１．５倍されるため、このエリア内に低輝度な暗い被写体（例えば、分割測光データ４０１に示す人物）が存在した場合でも輝度データが持ち上げられ、周辺エリアとの分割測光データの差分値が大きくなるため、逆光状態であると判断され易くなる。
【００３３】
さらに、このように重み付けされた分割測光データ４０１について、ブロック毎に順次その値を読み込み、値の範囲に応じて複数のレベルに分類・集計してヒストグラムを作成する。図４は、分割測光データのレベル分けおよびヒストグラムの例を示した図である。本実施の形態では、図４に示すように、分割測光データ４０１の各ブロックをその値に応じてレベルＬ０〜Ｌ７の８つのレベルに分類する。分類した各ブロックの数をレベル毎に集計してヒストグラム４０３を作成する。レベルの数やそのデータ範囲の設定（図４の下段の表）については、例えば、上述した外部のフラッシュメモリなどに格納しておき、外部から設定内容の変更等が行えるようにしてもよい。
【００３４】
また、上記のヒストグラムの作成と同時に各ブロックの分割測光データの合計値を算出しておき、これをブロック数Ｎで除算することで撮像画像全体での分割測光データ（輝度データ）のブロック毎の平均値を算出する。
【００３５】
図５は、上述した分割測光データ入力処理（Ｓ１００）の一例を示すフローチャートである。処理を開始すると、まず、現在保持している過去の撮像画像（フレームもしくはフィールド）のヒストグラムのデータを退避させる（Ｓ１１０）。具体的には、例えば、保持している中で最も古い撮像画像のヒストグラムを破棄し、残ったヒストグラムの格納領域を順次移動して退避させることで、最も新しい撮像画像のヒストグラムが格納される領域を書き込み可能とする。過去の複数の撮像画像のヒストグラムを保持するのは、後述するモニタリング処理（図１におけるＳ３００）において、これらのヒストグラムとの相関を判断するためである。
【００３６】
次に、ヒストグラムを作成するために必要となる変数を初期化する（Ｓ１２０）。次に、各ブロックについて処理を行うループを開始する。ループ処理では、まず、カメラＤＳＰ２２０にて取得した分割測光データ４０１から、対象のブロックの分割測光データを読み込む（Ｓ１３０）。次に、読み込んだ分割測光データに対して、重み付けデータ４０２から取得した対象のブロックの重み付け値を乗算して重み付けを行う（Ｓ１４０）。
【００３７】
その後、対象のブロックの重み付け後の分割測光データの値に応じて属するヒストグラムのレベルを判定して集計（Ｓ１５０）するとともに、分割測光データを積算する（Ｓ１６０）。以上のステップＳ１３０〜Ｓ１６０の処理を全てのブロックについて実行するとヒストグラムの集計は完了し、ループ処理を終了する。ループ処理を終了すると、ステップＳ１６０によって積算された分割測光データの合計値をブロック数Ｎで除算することで分割測光データの各ブロックでの平均値を算出し（Ｓ１７０）、分割測光データ入力処理を終了する。
【００３８】
［エッジ検出処理］
エッジ検出処理（図１におけるＳ２００）では、カメラＤＳＰ２２０によって分割測光されたデータに基づいて、ブロック間での分割測光データ（輝度データ）の差分値を求め、差分値が所定の閾値（差分基準値）を超えているブロック、すなわちエッジが存在するブロックを検出する。エッジが存在するとして検出されたブロックの数を所定の閾値と比較することによって、当該撮像画像が逆光状態であるか否かの判定を行う。
【００３９】
ここで、エッジ検出の精度を上げるための手法として、本実施の形態では、２つの手法を適用している。一つは、撮像画像全体の明るさ、すなわち、ヒストグラムの偏りに基づいて差分基準値を設定するという手法であり、もう一つは、上述したように、基準ブロックに対して隣接ブロックだけでなく、さらに一つ先の隣接ブロックとの間でも分割測光データの差分値を比較するという手法である。
【００４０】
まず、ヒストグラムの偏りに基づいて差分基準値を設定することにより、撮像画像全体の明るさに応じて差分基準値を設定することができ、エッジの検出精度を上げることができる。例えば、撮像画像全体が暗い場合はヒストグラムが低輝度側に偏り、ブロック間の輝度差も小さくなる。このとき、差分基準値が大きい場合は検出できないエッジが生じる場合がある。
【００４１】
一方、撮像画像全体が比較的明るい場合はヒストグラムの分布が広くなり、ブロック間の輝度差も大きくなる。このとき、差分基準値が小さい場合はエッジを誤検出してしまう可能性が高くなる。このように、一律の差分基準値だけでは撮像画像全体の明るさに応じた適切なエッジの検出が困難となる場合がある。これを回避するため、本実施の形態では、撮像画像全体の明るさ、すなわちヒストグラムの偏りに基づいて差分基準値を設定する。
【００４２】
図６は、ヒストグラムの偏りに基づいて差分基準値を設定する例を示した図である。本実施の形態では、ヒストグラムの偏りについて複数のパターンを予め定義し、上述した外部のフラッシュメモリなどにデータベースとして保持しておく。これらのパターンと作成したヒストグラムとを比較し、一致したパターンに対応する差分基準値を取得して設定する。
【００４３】
図６の例では、データベースにパターン１〜３までの３つのパターンが保持されている。これらのパターンは、例えば、ヒストグラムの各レベルでどの範囲にデータ（ブロック）が存在するかによって分類されている。また、各パターンにはそれぞれ対応する差分基準値が設定されている。例えば、図６のヒストグラム４０３では、レベルＬ０〜Ｌ４の範囲にデータが存在するため、同様にレベルＬ０〜Ｌ４の範囲にデータが存在するパターン２と合致し、差分基準値は「５０」と設定される。なお、本実施の形態ではヒストグラムの各レベルにデータが存在するか否かでパターンを比較しているが、各レベルでの値の範囲まで考慮してパターンを定義して比較するなど、種々の比較の手法をとることができる。
【００４４】
図７は、上述したヒストグラム偏り判定処理の一例を示すフローチャートである。処理を開始すると、まず、データベースに保持した各パターンについて処理を行うループを開始する。ループ処理では、まず、各パターンのデータを保持するヒストグラムデータベース４０４からパターンを読み込む（Ｓ２０１）。
【００４５】
次に、ヒストグラムの各レベルについて処理を行うループを開始する。ループ処理では、対象のレベルについて、読み込んだパターンと対象のヒストグラムとの間でデータ（ブロック）の存在状況を照合する（Ｓ２０２）。全てのレベルで照合が完了すると、各レベルでのループ処理は終了する。なお、全てのレベルでの照合を完了する前にいずれかのレベルで合致しないと判定した場合は、その時点で各レベルでのループを終了してもよい。
【００４６】
次に、各レベルでの照合結果に基づいて、対象のヒストグラムの偏りが読み込んだパターンと合致するか否かを判定する（Ｓ２０３）。ステップＳ２０１〜Ｓ２０３の処理をヒストグラムデータベース４０４に格納されている全てのパターンについて実行すると、各パターンでのループ処理は終了する。なお、全てのパターンとの照合を完了する前にいずれかのパターンとの間で合致したと判定した場合は、その時点で各パターンでのループ処理を終了してもよい。ループ処理を終了すると、合致したと判定したパターンに対応する差分基準値をヒストグラムデータベース４０４から読み込んで差分基準値として設定し（Ｓ２０４）、ヒストグラム偏り判定処理を終了する。
【００４７】
以上の処理によって設定された差分基準値に基づいて、ブロック間での分割測光データ（輝度データ）の差分値が差分基準値を超えているブロック、すなわちエッジが存在するブロックを検出する。このとき、上述したように、基準ブロックに対して隣接ブロックだけでなく、さらに一つ先の隣接ブロック（基準ブロックに対して隣接ブロックが接する方向と同じ方向で隣接ブロックに対してさらに隣接するブロック。以下では「隣々接ブロック」と記載する場合がある）との間でも分割測光データの差分値を比較する。これは、実際にはブロック内にエッジに相当する部分がある場合であっても、分割測光データでは、ブロック内の輝度分布の平均値として出力されるため埋もれてしまい、エッジが存在すると判断できない場合があるためである。
【００４８】
図８は、基準ブロックに対して隣接ブロックだけでなく隣々接ブロックとの間でも分割測光データの差分値を比較してエッジを検出する例を示した図である。分割測光データ４０１において、☆印が付されたブロックがエッジ検出の基準のブロックであるとする。本実施の形態では、この基準ブロックに対して、右の隣接ブロックと下の隣接ブロックに加えて、右の隣々接ブロックと下の隣々接ブロックとの間で分割測光データ（輝度データ）の差分値を算出する。
【００４９】
ここで、基準ブロックが属する水平方向のライン（図中の分割測光データ４０１における一点鎖線のライン）での分割測光データを右側の図に例として示している。なお、ブロック番号は、左上のブロックから右方向に順にＢ０〜Ｂ７と割り当てられ、その下段がＢ８〜Ｂ１５というように割り当てられる。従って、このラインのブロック番号は左から順にＢ３２〜Ｂ３９であり、基準ブロックはＢ３３である。
【００５０】
このとき、まず基準ブロック（Ｂ３３）に対して、右の隣接ブロック（Ｂ３４）との分割測光データの差分値を算出する（図中の「差分１」）。ここで、「差分１」が上述した差分基準値を超える場合には、この部分（隣接ブロック（Ｂ３４））にエッジが存在すると判断する。しかし、実際は隣接ブロック（Ｂ３４）では輝度レベルが平均化されており、このため「差分１」が差分基準値を超えないことから、隣接ブロック（Ｂ３４）はエッジとして判断されない。
【００５１】
そこで次に、右の隣々接ブロック（Ｂ３５）との間でも同様の処理を行う。ここで算出された差分値（図中の「差分２」）は差分基準値を超えるため、この部分にエッジが存在すると判断する。このとき、エッジが存在するブロックはＢ３５ではなくＢ３４の隣接ブロックであるとする。
【００５２】
以上の処理は、基準ブロックに対して下の隣接ブロック、および隣々接ブロックに対しても同様に行うことができる。このような処理を、基準ブロックを左上のブロック（Ｂ０）から縦方向、横方向にスキャンさせて行い、エッジとして検出したブロックの数をカウントする。カウントしたブロックの数が所定の個数以上の場合は逆光状態であると判断する。
【００５３】
図９は、撮像画像全体についてエッジ検出を行った場合の例を示した図である。分割測光データ４０１に対して、縦方向（下方向）の比較を順次行った縦スキャンの結果と、横方向（右方向）の比較を順次行った横スキャンの結果とを合成して得られる縦横スキャンの結果がエッジ検出結果である。図中において、☆印のブロックが基準ブロックであり、矢印の先のブロックが基準ブロックとの間で差分値を比較した対象のブロックである。また、その比較の結果によってエッジとして検出されたブロックが斜線で表されている。図９に示すように、上記の手法によればエッジ検出の精度を上げることができる。
【００５４】
図１０は、エッジ検出の際の基準ブロックの移動パターンの例を示した図である。左上のブロック（Ｂ０）から開始し、縦スキャンの場合は下方向、横スキャンの場合は右方向に基準ブロックが移動する。また、スキャンする列（行）も順次移動する。ただし、実際は、縦スキャンの場合は下端、横スキャンの場合は右端において、比較する対象となるブロックがなくなるため、下端（右端）より一つ手前のブロックで次の列（行）に移動する。このとき、下端（右端）より一つ手前のブロックでは、隣接ブロック（下端（右端）のブロック）との間でのみ差分値の比較を行う。
【００５５】
図１１は、上述したエッジ検出処理の一例を示したフローチャートである。処理を開始すると、まず、図７で説明したヒストグラム偏り判定処理を実行し、撮像画像の明るさに応じた差分基準値を取得する（Ｓ２１０）。次に、各ブロックについてエッジが存在するか否かの情報を保持するＮ個のデータ格納領域（エッジデータ）を初期化する（Ｓ２２０）。
【００５６】
次に、各スキャン種別について処理を行うループを開始する。ここでは、１回目のループでは縦スキャン、２回目のループでは横スキャンを行うものとする。このループ処理では、さらに、ブロックの各列もしくは各行について処理を行うループを開始する。ここでは、図１０に示すように、縦スキャン時は左から右へ各列について、横スキャン時は上から下へ各行について順次処理対象としてループする。
【００５７】
このループ処理では、さらに、対象の列もしくは行内の各ブロックについて処理を行うループを開始する。ここでの処理対象の各ブロックは上述した基準ブロックとなり、図１０に示すように、縦スキャン時は対象の列の上から下へ、横スキャン時は対象の行の左から右へ各ブロックについて順次処理対象としてループする。なお、本実施の形態では、上述したとおり、縦スキャン時は下端、横スキャン時は右端のブロックは処理対象外となる（基準ブロックとはしない）ため、ループの回数は（行数（もしくは列数）−１）回となる。
【００５８】
各ブロックを処理対象（基準ブロック）としたループ処理では、上述した手法により、基準ブロックに対して隣接ブロックおよび隣々接ブロック（縦スキャン時は下、横スキャン時は右）との間で分割測光データ（輝度データ）の差分値を比較してエッジの有無を判定する（Ｓ２３０）。この処理の手順については後述する。
【００５９】
対象の列もしくは行内の各ブロックについての処理を完了すると、各ブロックでのループ処理は終了する。また、対象のスキャン種別において全ての列もしくは行についての処理を完了すると、各列もしくは行でのループ処理は終了する。また、全てのスキャン種別についての処理を完了すると、各スキャン種別でのループ処理は完了し、エッジ検出処理は終了する。
【００６０】
図１２は、図１１のエッジ検出処理におけるエッジ判定処理（図１１におけるＳ２３０）の一例を示したフローチャートである。処理を開始すると、まず、基準ブロックに対する各検出対象ブロックについて処理を行うループを開始する。ここでは、１回目のループでは隣接ブロック、２回目のループでは隣々接ブロック（いずれも縦スキャン時は下、横スキャン時は右）を検出対象ブロックとする。
【００６１】
ループ処理では、まず、基準ブロックと検出対象ブロックとの間で分割測光データ（輝度データ）の差分値の絶対値を算出する（Ｓ２４１）。次に、算出した差分値が、図１１のエッジ検出処理におけるヒストグラム偏り判定処理（Ｓ２１０）で設定された差分基準値以上であるか否かを判定する（Ｓ２４２）。差分値が差分基準値以上でない場合はエッジが存在しないとして何も処理を行わない。
【００６２】
一方、差分値が差分基準値以上である場合は、隣接ブロックのエッジデータにエッジが存在する旨のフラグ（エッジフラグ）をセットする（Ｓ２４３）。ここでは、検出対象ブロックが隣々接ブロックである場合であっても、当該隣々接ブロックではなく隣接ブロックに対してエッジフラグをセットする。以上のステップＳ２４１〜Ｓ２４３の処理を各検出対象ブロックについて実行すると、各検出対象ブロックについてのループ処理は終了し、エッジ判定処理は終了する。
【００６３】
［モニタリング処理］
モニタリング処理（図１におけるＳ３００）では、上記の処理で得たヒストグラムやエッジ数に対して所定の期間のモニタリングを行う。１つの撮像画像（１フレームもしくは１フィールド）のみでの検出では検出データの誤差やノイズ等により誤検出・誤判断となる可能性があるため、一定期間の撮像画像のデータを利用することで検出精度の向上を図るものである。
【００６４】
ヒストグラムについては、ヒストグラムの形状が安定したか否かを判断して、撮像シーンに変化が無いかどうかを判定する。例えば、後述する判定処理（図１におけるＳ４００）において逆光状態であると判断した場合、補正モードに移行し、後述する補正値設定処理（図１におけるＳ５００）により露光量等の補正値を算出して設定する。これにより輝度レベルを上げようとするが、実際に補正値に追従して輝度レベルが上がり、安定状態に落ち着くまでには時間を要する。
【００６５】
そこで、本実施の形態では、所定のモニタリング期間でのヒストグラムの形状の変化を判断することで輝度レベルが安定状態になったか否かを判断する。安定状態になったと判断される場合は、後述する判定処理（図１におけるＳ４００）において補正モードから保持モードにステートマシンの状態を遷移させることができる。
【００６６】
図１３は、モニタリング期間でのヒストグラムの形状の変化を判断する場合の例を示した図である。ヒストグラムの形状の変化は、モニタリング期間における各撮像画像のヒストグラム毎の相関の有無を検出することで判断する。すなわち、処理対象の撮像画像（フレームもしくはフィールド）からモニタリング期間分だけ過去に処理された撮像画像についてのヒストグラムが相関検出の対象となる。これらのヒストグラムは、図５の分割測光データ入力処理のヒストグラム退避処理（Ｓ１１０）によって保持される。
【００６７】
図１３において、右端の時間Ｔ０のヒストグラム（レベルＬ０〜Ｌ７のデータ）が処理対象の（最新の）撮像画像のヒストグラムである。モニタリング期間はｎ（時間Ｔ０〜Ｔｎ）であり、時間Ｔ０〜Ｔｎのそれぞれにおける撮像画像のヒストグラム（レベルＬ０〜Ｌ７のデータ）が示されている。
【００６８】
このとき、例えば、モニタリング期間で最も古い時間Ｔｎのヒストグラムを基準とし、この基準のヒストグラム（時間Ｔｎ）と各時間（Ｔ（ｎ−１）〜Ｔ０）のヒストグラムとの間でそれぞれ相関を検出する。これにより、モニタリング期間での最初の画像からの変化の有無を検出することができる。なお、相関の検出方法はこれに限らず、例えば、ある時間のヒストグラムとその直前のヒストグラムの画像との間でそれぞれ相関を検出するなどの方法であってもよい。
【００６９】
相関の検出は、例えば、ヒストグラムの各レベル同士で値を比較し、その差分値が所定の閾値以内であれば相関がある（変化がない）と判断する。ヒストグラムの全てのレベルにおいて相関があると判断された場合はヒストグラム間で相関があると判断し、比較対象のヒストグラムに対して“ＯＫ”のフラグをセットする。逆に一つのレベルでも相関がない（変化している）と判断された場合（例えば、図中の時間Ｔ１のレベルＬ３や時間Ｔ０のレベルＬ５）は“ＮＧ”のフラグをセットする。
【００７０】
時間Ｔ（ｎ−１）〜Ｔ０の各ヒストグラムについてそれぞれ時間Ｔｎの基準のヒストグラムとの間で相関検出を行って“ＯＫ”か“ＮＧ”かを判断し、“ＯＫ”の数をカウントする。この数が例えばｎ／２以上（モニタリング期間のヒストグラムの半数以上）である場合はヒストグラムに相関がある、すなわち、安定状態であると判断する。なお、上記の判断手法はあくまで一例であり、他の手法をとることも当然可能である。
【００７１】
一方、エッジ数については、逆光状態であるか否かの判断の精度を向上させるため、図１１のエッジ検出処理によって求めた撮像画像のエッジ数について、モニタリング期間での各撮像画像における平均値を算出することで、ノイズ等の影響を低減させる。
【００７２】
図１４は、上述したモニタリング処理の一例を示したフローチャートである。処理を開始すると、まず、保持している過去のヒストグラムから基準となるヒストグラム（本実施の形態では最も古いヒストグラム）を特定する（Ｓ３１０）。次に、モニタリング期間についてのループを開始する。ループ処理では、まず、基準のヒストグラムと比較する対象のヒストグラムを設定する（Ｓ３２０）。例えば、基準となるヒストグラムの次に古いヒストグラムから順に新しいヒストグラムを比較対象のヒストグラムとして設定する。
【００７３】
次に、各ヒストグラムレベルについて処理するループを開始する。ループ処理では、対象のレベルについて、基準となるヒストグラムと比較対象のヒストグラムとの間でヒストグラムの相関を検出する（Ｓ３３０）。ここでは、上述したように例えば、それぞれのヒストグラムの値について差分値の絶対値を算出し、所定の閾値と比較することで対象のレベルでの相関の有無を検出する。全てのヒストグラムレベルについて相関を検出すると、各ヒストグラムレベルでのループ処理は終了する。なお、全てのヒストグラムレベルでの相関検出を完了する前にいずれかのレベルで相関がないと判断された場合は、その時点で各ヒストグラムレベルでのループ処理を終了してもよい。
【００７４】
ループ処理を終了すると、対象のヒストグラムについて、基準のヒストグラムに対して全てのヒストグラムレベルで相関があると判断されたか否かを判定し、対象のヒストグラムについての基準のヒストグラムとの間の相関の有無を検出する（Ｓ３４０）。相関がある場合は、上述したように、対象のヒストグラムに対して“ＯＫ”のフラグをセットし、相関がない場合は“ＮＧ”のフラグをセットする。またこれとは別に、対象のヒストグラムに対応する撮像画像についてのエッジ数を積算しておく（Ｓ３５０）。
【００７５】
ステップＳ３２０〜Ｓ３５０の処理をモニタリング期間での全てのヒストグラムについて実行すると、モニタリング期間でのループ処理は終了する。ループ処理を終了すると、モニタリング期間の全てのヒストグラムについて“ＯＫ”のフラグの数をカウントし、所定の閾値（例えば、モニタリング期間の全てのヒストグラムの半数）と比較することによりヒストグラムが安定状態である（相関がある）か否かを判定する（Ｓ３６０）。また、積算されたエッジ数をモニタリング期間のヒストグラム（撮像画像）の数で除算することで、撮像画像あたりのエッジ数の平均値を算出し（Ｓ３７０）、モニタリング処理を終了する。
【００７６】
［判定処理］
判定処理（図１におけるＳ４００）では、上記の処理で得たヒストグラムやエッジ数の情報に基づいて逆光状態であるか否かを判定し、ステートマシンの現在の状態（モード）に基づいて、ステートマシンの状態遷移を行う。この状態遷移に伴って、逆光補正制御の起動／解除などが制御される。
【００７７】
図１５は、ステートマシンの状態遷移図の一例である。逆光補正制御装置１の起動時等における初期状態では逆光補正制御ＯＦＦモード５０１の状態である。この状態では、逆光状態の検知やそれに伴う逆光補正制御を行わない。すなわち、逆光補正制御プログラム２３１の実行は停止している。逆光補正制御ＯＦＦモード５０１の状態で、ユーザからの指示等をトリガとして逆光補正制御機能をＯＮにする、すなわち、逆光補正制御プログラム２３１の実行を開始すると、判定モード５０２に移行する。
【００７８】
判定モード５０２では、撮像画像のエッジ数に基づいて逆光状態の検知を行う。逆光状態を検知した場合には補正モード５０３に移行する。補正モード５０３では、後述する補正値設定処理（図１におけるＳ５００）により、逆光状態を補正するための補正値を設定して逆光補正制御を行う。設定した補正値によって目標とする逆光補正の状態となるまで補正値を漸次調整する。目標とする逆光補正の状態に達した場合は保持モード５０４に移行する。
【００７９】
保持モード５０４では、補正モード５０３において設定された補正値をそのまま維持し、逆光補正制御を継続するとともに、撮像画像のエッジ数や分割測光データ、ヒストグラムなどに基づいて逆光状態を抜けたか否かの検知を行う。逆光状態を抜けたと判断した場合には終了モード５０５に移行する。このとき補正値は初期設定値に戻す。終了モード５０５では、逆光状態の検知やそれに伴う逆光補正制御は行わず、所定時間の経過などの条件をトリガとして判定モード５０２に再度移行する。
【００８０】
なお、判定モード５０２、補正モード５０３、保持モード５０４、終了モード５０５の各状態において、随時ユーザからの指示等をトリガとして、逆光補正制御機能をＯＦＦにして逆光補正制御プログラム２３１の実行を停止し、逆光補正制御ＯＦＦモード５０１に移行することができる。
【００８１】
図１６は、上述したステートマシンの状態遷移を行うモード判定処理の一例を示したフローチャートである。処理を開始すると、まず、ステートマシンにおける現在のモード（状態）を判定する（Ｓ４１０）。判定モード５０２、補正モード５０３、保持モード５０４、終了モード５０５の各状態でそれぞれ処理内容は異なる。
【００８２】
判定モード５０２の場合は、撮像画像が逆光状態となったか否かを判断する。具体的には、図１４のモニタリング処理のエッジ数平均算出処理（Ｓ３７０）で算出したエッジ数の平均値が所定の閾値以上となっているか否かを判定する（Ｓ４２１）。所定の閾値以上となっている場合は逆光状態になったと判断し、補正モード５０３に移行して（Ｓ４２２）、モード判定処理を終了する。一方、所定の閾値以上となっていない場合は逆光状態になっていないと判断し、そのままモード判定処理を終了する。すなわち、判定モード５０２を継続する。
【００８３】
補正モード５０３の場合は、後述する補正値設定処理（図１におけるＳ５００）により設定した補正値によって目標とする逆光補正の状態（輝度レベル）に達したか否かを判断する。具体的には、まず、図１４のモニタリング処理のヒストグラム相関判定処理（Ｓ３６０）の結果に基づいてヒストグラムに相関があるか否か、すなわちヒストグラムが安定状態であるか否かを判定する（Ｓ４３１）。補正値を設定した場合でも、実際に補正値に追従して輝度レベルが上がり、安定状態に落ち着くまでには時間を要するためである。
【００８４】
ヒストグラムに相関がない、すなわちヒストグラムがまだ安定していない場合は、何も行わずにモード判定処理を終了する。すなわち、補正モード５０３を継続する。ヒストグラムが安定状態である場合は、さらに、後述する補正値設定処理（図１におけるＳ５００）におけるＡＥ目標値の制御が自動制御であるか否かを判定する（Ｓ４３２）。ＡＥ目標値の制御が自動制御ではない（手動制御である）場合は、ゲイン係数は手動で設定された値を固定で用いるため、保持モード５０４に移行して（Ｓ４３４）、モード判定処理を終了する。
【００８５】
ＡＥ目標値の制御が自動制御である場合は、ヒストグラムに基づいて輝度レベルが後述する所定の目標値に到達しているか否かを判定する（Ｓ４３３）。輝度レベルが所定の目標値に到達していない場合は、そのままモード判定処理を終了し、補正モード５０３を継続する。輝度レベルが所定の目標値に到達している場合は、目標とする逆光補正の状態に達したと判断し、保持モード５０４に移行して（Ｓ４３４）、モード判定処理を終了する。
【００８６】
保持モード５０４の場合は、撮像画像が逆光状態を抜けたか否かを判断する。具体的には、例えば、以下の４つの条件のいずれか１つに該当した場合に逆光状態を抜けたと判断する。
（１）図１４のモニタリング処理のエッジ数平均算出処理（Ｓ３７０）で算出したエッジ数の平均値が所定の閾値（本実施の形態では、例えば、逆光状態であると判定したときのエッジ数の平均値（この値は、例えば、ＣＰＵ２３０の図示しないＲＡＭ等に記憶しておく）の１／ｎ倍）以下となっている場合（Ｓ４４１）。
（２）図５の分割測光データ入力処理の分割測光データ平均算出処理（Ｓ１７０）で算出した分割測光データの平均値が所定の低輝度閾値以下であり、かつヒストグラムに相関があり安定状態である場合、すなわち、画面全体が暗くなった場合（Ｓ４４２）。
（３）図５の分割測光データ入力処理の分割測光データ平均算出処理（Ｓ１７０）で算出した分割測光データの平均値が所定の高輝度閾値以上であり、かつヒストグラムに相関があり安定状態である場合、すなわち、画面全体が明るくなった場合（Ｓ４４３）。
（４）ＡＥ目標値の制御が自動制御である場合に、ヒストグラムに基づく輝度レベルが後述する所定の目標値以下になった場合（Ｓ４４４）。
【００８７】
ステップＳ４４１〜Ｓ４４４のいずれの条件も満たさなかった場合は逆光状態が継続していると判断し、そのままモード判定処理を終了する。すなわち、保持モード５０４を継続する。一方、ステップＳ４４１〜Ｓ４４４のいずれかの条件を満たした場合は逆光状態を抜けたと判断し、終了モード５０５に移行する（Ｓ４４５）。さらに、逆光補正制御のための補正値を解除して初期値に戻し（Ｓ４４６）、モード判定処理を終了する。なお、補正値を一気に解除して初期値に戻すと、撮像画像の状態が急激に変化してしまう場合がある。従って、補正値の解除を一気に行うのではなく、所定の時間幅で徐々に解除するようにしてもよい。
【００８８】
終了モード５０５の場合は、本実施の形態では、まず、所定時間が経過したか否かを判定する（Ｓ４５１）。上述したように、保持モード５０４から終了モード５０５に移行する際に、補正値解除処理（Ｓ４４６）において徐々に補正値を解除するようにした場合、その完了を待つためである。なお、補正値を一気に解除する場合は、この所定時間をゼロに設定してもよい。所定時間が経過していない場合は、そのままモード判定処理を終了する。すなわち、終了モード５０５を継続する。一方、所定時間が経過している場合は、判定モード５０２に再度移行し（Ｓ４５２）、ヒストグラムやエッジに関するデータ等を初期化して（Ｓ４５３）、モード判定処理を終了する。
【００８９】
［補正値設定処理］
補正値設定処理（図１におけるＳ５００）では、ステートマシンが補正モード５０３の場合に、逆光状態を補正するための露光量等の補正値を算出し、得られた補正値をカメラＤＳＰ２２０に出力してレジスタに設定する。本実施の形態では、輝度（ＡＥ（Automatic Exposure：自動露出）目標値）に加えて、さらに、輝度信号Ｙおよび色差信号Ｃのガンマ係数とガンマＫｎｅｅ係数、および黒レベルを調整するＹセットアップ値のそれぞれについて補正値を算出する。
【００９０】
まず、ＡＥ目標値の補正値算出について説明する。一般的にＡＥ目標値の制御には手動制御と自動制御とがあり、手動制御の場合は手動で設定したゲイン係数が固定的に設定される。従って、以下では自動制御の場合の手法について説明する。
【００９１】
図１７は、逆光状態であると判断された撮像画像について、逆光状態の補正を行う前と、手動制御でのＡＥ目標値の補正により必要十分な逆光補正を行ったときのヒストグラム４０３の例を示した図である。一般的に、逆光状態であると判断された撮像画像において、逆光補正制御による逆光補正を行う前では、ヒストグラム４０３は低輝度側に偏っており高輝度側にはない。一方、逆光状態であると判断して逆光補正を行った場合は、ヒストグラム４０３のレベルＬ７の値が全体の４０％〜５０％程度となることが多いという結果が実験によっても得られている。
【００９２】
そこで、本実施の形態では、ヒストグラム４０３におけるレベルＬ７の値が全体の４０％〜５０％に達するように漸次輝度レベルを上げるよう、ＡＥ目標値を設定する。ＡＥ目標値を設定した後、図１４のモニタリング処理を経てヒストグラムが安定状態であると判断された場合に、ヒストグラムのレベルＬ７の値が目標値（全体の４０％〜５０％の範囲で設定）に達しているか否かを判定する。目標値に達していない場合はさらにＡＥ目標値を上げてゲイン係数を上げることによって全体の輝度レベルを上げ、目標値に達するまでこれを繰り返す。
【００９３】
図１８は、輝度レベルを漸次上げる場合の例を示した図である。ＡＥ目標値を設定し、ヒストグラムの相関をモニタリングしながら安定状態となったかどうかを判断する。安定状態となった場合、例えば、図中の（１）の時点でヒストグラムのレベルＬ７の値を判定する。（１）の時点では目標値に達していないため、さらにＡＥ目標値を上げて、ゲイン係数を、例えば、０．１倍や０．２倍ずつステップ状に増加させる（図中の（２）〜（７））。
【００９４】
図中の（８）の時点でヒストグラムのレベルＬ７の値が目標値に達するため、ＡＥ目標値の自動制御は終了する。この補正値はその後の保持モード５０４において維持される。なお、図１８の例では、等幅のステップで輝度レベルを上げているが、現在値と目標値との差分値の大きさに基づいてフィードバック制御により変化量を決定してもよい。
【００９５】
次に、ＹおよびＣのガンマとガンマＫｎｅｅの補正値算出について説明する。逆光状態であると判断して、上述のようにＡＥ目標値を上げてゲインを上げることによって撮像画像全体の輝度を上げると、元来高輝度であった部分もさらに高輝度となってしまう。従って、ＹおよびＣのガンマＫｎｅｅ係数を下げる（Ｋｎｅｅ部分の傾きを小さくする）ことによって高輝度部分の出力を抑制する制御を行う。また、ガンマカーブにおいてガンマＫｎｅｅ係数はガンマ係数とリンクするため、ガンマＫｎｅｅ係数を下げるのに伴いガンマ係数（ガンマカーブの膨らみ）についても調整する（ガンマカーブを持ち上げる）。
【００９６】
図１９は、ガンマ係数およびガンマＫｎｅｅ係数の補正値算出の例を示す図である。例えば、初期設定において、ガンマＫｎｅｅ係数をガンマ係数の半分であるとする（図１９の例ではガンマ係数＝０．５倍、ガンマＫｎｅｅ係数＝０．２５倍とし、点線のガンマカーブで示す）。このとき、ガンマ係数およびガンマＫｎｅｅ係数の補正値については以下の手法により算出する。
【００９７】
図１９の例において、初期設定のガンマカーブでは、出力１００ＩＲＥ（出力値５１２）に対する入力値は５１２である。また、出力１２０ＩＲＥ（出力値６１４）に対する入力値は９２１である。このとき、入力値（例えば９２１）に対して、逆光補正によりＡＥ目標値に対するゲイン係数を乗じたものに対する出力値が同じ値（例えば６１４）になるようにするガンマＫｎｅｅ係数（図中の実線のガンマカーブにおけるＫｎｅｅ部分の傾き）は、
ガンマＫｎｅｅ係数＝
（６１４−５１２）／（９２１×ゲイン係数−５１２）  …式（１）
の式により求めることができる。
【００９８】
さらに、式（１）によって求められたガンマＫｎｅｅ係数を用いて、ガンマ係数は、
ガンマ係数＝０．５＋２×（０．２５−ガンマＫｎｅｅ係数）  …式（２）
の式により求めることができる。なお、式（１）および式（２）で求めたガンマＫｎｅｅ係数およびガンマ係数に対応するカメラＤＳＰ２２０のレジスタへの設定値は、
レジスタ設定値＝係数値×２５６  …式（３）
の式により求めることができる。
【００９９】
例えば、図１９の例のように初期設定のガンマ係数＝０．５倍、ガンマＫｎｅｅ係数＝０．２５倍の場合において、ＡＥ目標値に対するゲイン係数が１．５倍であるとする。このとき、ガンマＫｎｅｅ係数およびレジスタへの設定値は、式（１）、（３）より、それぞれ、
ガンマＫｎｅｅ係数＝
（６１４−５１２）／（９２１×１．５−５１２）≒０．１１７倍
レジスタ設定値＝０．１１７×２５６≒３０
となる。また、ガンマ係数およびレジスタへの設定値は、式（２）、（３）より、それぞれ、
ガンマ係数＝０．５＋２×（０．２５−０．１１７）≒０．７６６倍
レジスタ設定値＝０．７６６×２５６≒１９６
となる。
【０１００】
次に、Ｙセットアップ値の補正値算出について説明する。逆光状態であると判断して、上述のようにＡＥ目標値を上げてゲイン係数を上げることによって撮像画像全体の輝度を上げると、画面全体が白っぽくなる。これは、撮像画像全体の輝度が上がることによって黒レベルも上がるためである。従って、これを抑制するため、黒レベルを調整するＹセットアップ値の補正を行う。
【０１０１】
図２０は、Ｙセットアップ値の補正値算出の例を示す図である。図２０の例では、ゲイン係数が１倍のときのＹセットアップデフォルト値に対する、ゲイン係数が２倍のときのＹセットアップの値の増加分を求め、これを設定データとして保持しておく。本実施の形態では、ゲイン係数の増加に対してＹセットアップの値が直線的に増加するものとして、ゲイン係数が１倍と２倍のときの２点間を結ぶ一次関数を用いたリニア補正により補正値を算出する。すなわち、
Ｙセットアップ値＝
（ゲイン係数−１）×増加分＋Ｙセットアップデフォルト値  …式（４）
の式により、Ｙセットアップの補正値を算出することができる。
【０１０２】
図２１は、上述した逆光状態を補正するための補正値設定処理の一例を示したフローチャートである。処理を開始すると、まず、ステートマシンにおける現在のモードが補正モード５０３であるか否かを判定する（Ｓ５１０）。補正モード５０３でない場合は以降の処理を行わずに補正値設定処理を終了する。
【０１０３】
次に、図１４のモニタリング処理のヒストグラム相関判定処理（Ｓ３６０）の結果に基づいてヒストグラムに相関があるか否か、すなわちヒストグラムが安定状態であるか否かを判定する（Ｓ５２０）。ヒストグラムに相関がない場合は、現在の補正値においてまだ輝度レベルが安定していないため、新たな補正値の設定を行わずに補正値設定処理を終了する。
【０１０４】
ステップＳ５２０でヒストグラムに相関がある、すなわちヒストグラムが安定状態である場合は、上述したＡＥ目標値の制御が自動制御であるか否かを判定する（Ｓ５３０）。自動制御ではない、すなわち手動制御である場合は、ゲイン係数は固定的に設定されるため、ＡＥ目標値の新たな設定を行わずにステップＳ５６０に進む。ＡＥ目標値の制御が自動制御である場合は、現在の撮像画像（ヒストグラム）の輝度レベルが所定の目標の輝度レベル（ヒストグラムのレベルＬ７の値が全体の４０％〜５０％となる範囲で設定）に到達しているか否かを判定する（Ｓ５４０）。目標の輝度レベルに到達している場合は、ＡＥ目標値の新たな設定を行わずにステップＳ５６０に進む。
【０１０５】
ステップＳ５４０で輝度レベルが所定の目標の輝度レベルに達していない場合は、輝度レベルを上げるよう、ＡＥ目標値を現在よりもさらに上げる補正行う（Ｓ５５０）。なお、上述したように、ＡＥ目標値を上げる際には、ゲイン係数が０．１倍や０．２倍ずつステップ状に増加するようにしたり、現在の輝度レベルとの差分に基づいてフィードバック制御によりゲイン係数を算出したりなど種々の方法をとることができる。
【０１０６】
次に、ステップＳ５５０で設定されたＡＥ目標値に対するゲイン係数に基づいて、上述した式（１）〜式（４）を用いてＹおよびＣのガンマ係数およびガンマＫｎｅｅ係数や、黒レベルを調整するＹセットアップ値の補正値を算出し（Ｓ５６０）、補正値設定処理を終了する。なお、ステップＳ５５０、Ｓ５６０で算出した補正値に基づいてカメラＤＳＰ２２０のレジスタの値を設定する。
【０１０７】
以上の説明では、動画像を撮像する撮像装置における逆光補正制御方法につて説明したが、静止画を撮像するデジタルスチルカメラ等においても適用することができる。例えば、デジタルスチルカメラにおいては、撮像素子１０２によって得られた撮像画像を動画像として常時記録するということは行わないが、ステートマシンが上述した保持モード５０４の状態になり、ヒストグラムが安定した時点で撮像画像を記録することで、逆光補正された静止画像を得ることができる。
【０１０８】
以上に説明したように、本実施の形態の逆光補正制御方法によれば、逆光状態の検出のために撮像画像内のエッジを検出する際に、対象のブロックの隣接ブロックだけでなく、隣々接ブロックについても輝度の差分値を求めてエッジを検出する。これにより、撮像画像のブロックの分割数に大きく影響されずにエッジの検出精度、すなわち逆光状態の検出精度を向上させることができる。
【０１０９】
また、このとき、各ブロックの輝度（分割測光データ）に対して、ブロック毎に重み付け値を乗算して重み付けすることを可能としている。これにより、撮像画像内のエリア毎に逆光状態であると判断され易くするエリアと判断されにくくするエリアを設けて、撮像画像の特質に応じて逆光状態の検出精度を向上させることができる。
【０１１０】
さらに、ブロック間での輝度の差分値を求める際に、一律の差分基準値ではなくヒストグラムの偏りのパターン毎に予め設定された差分基準値の中から、ヒストグラムの偏りのパターンが合致するものを選択して取得する。これにより、撮像画像全体の明るさに応じて差分基準値を適切な値に設定することができ、逆光状態の検出精度を向上させることができる。
【０１１１】
また、本発明の実施の形態の逆光補正制御方法によれば、逆光状態を検出して逆光補正制御を行っている間も撮像画像内のエッジ数等をモニタリングし、逆光状態ではなくなったことを検出したことによって逆光補正制御を通常の状態に戻す制御を行う。また、このような状態の移行をステートマシンによる状態遷移により管理する。これにより、刻々と状態が変化する動画像の撮影においても状況に応じた逆光補正制御を実現することができる。
【０１１２】
また、エッジ数に基いて逆光状態であるか否かを検知する際や、逆光補正制御による逆光状態の補正が目標とする状態に達したか否かを判断する際に、１つの撮像画像のみによる判断ではなく、モニタリング期間での複数の撮像画像におけるヒストグラムの相関によりヒストグラムが安定状態であることを条件として判断する。これにより、データの誤差やノイズの影響を低減し、検出精度を向上させることができる。
【０１１３】
また、本発明の実施の形態の逆光補正制御方法によれば、逆光状態を検出して逆光補正を行う際に、ヒストグラムの輝度の目標値に対して、ＡＥ目標値を少しずつ上げて露光量を増やし、その都度モニタリングによりヒストグラムが安定するのを待ちながら、フィードバック制御等によりヒストグラムの輝度レベルが目標値に達するまで自動制御を行う。これにより、逆光補正制御によって逆光状態の補正を行う際に、撮像画像が急激に変化するのを抑えつつ、適切に補正を行うことができる。
【０１１４】
さらに、ＡＥ目標値（ゲイン係数）の補正値に連動して、輝度信号Ｙおよび色差信号Ｃのガンマ係数およびガンマＫｎｅｅ係数、ならびに黒レベルを調整するＹセットアップ値の調整も行うことができる。
【０１１５】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１１６】
本発明は、デジタルスチルカメラおよび動画像を撮像するデジタルビデオカメラや監視カメラ、車載カメラ等、カメラ製品全般に利用可能であり、これらの撮像装置等において逆光状態の判別とそれに伴う露光量の補正を自動で行う逆光補正制御方法および、当該逆光補正制御方法に係る処理を実行する半導体集積回路に利用することができる。
【符号の説明】
【０１１７】
１…逆光補正制御装置、
１０１…レンズ、１０２…撮像素子、
２００…カメラＬＳＩ、２１０…ＡＦＥ、２２０…カメラＤＳＰ、２２１…信号処理部、２２２…ＷＤＲ処理部、２３０…ＣＰＵ、２３１…逆光補正制御プログラム、
３００…外部メモリ、
４０１…分割測光データ、４０２…重み付けデータ、４０３…ヒストグラム、４０４…ヒストグラムデータベース、
５０１…逆光補正制御ＯＦＦモード、５０２…判定モード、５０３…補正モード、５０４…保持モード、５０５…終了モード。
【図１】
2011009810.tif 000003
【図２】
2011009810.tif 000004
【図３】
2011009810.tif 000005
【図４】
2011009810.tif 000006
【図５】
2011009810.tif 000007
【図６】
2011009810.tif 000008
【図７】
2011009810.tif 000009
【図８】
2011009810.tif 000010
【図９】
2011009810.tif 000011
【図１０】
2011009810.tif 000012
【図１１】
2011009810.tif 000013
【図１２】
2011009810.tif 000014
【図１３】
2011009810.tif 000015
【図１４】
2011009810.tif 000016
【図１５】
2011009810.tif 000017
【図１６】
2011009810.tif 000018
【図１７】
2011009810.tif 000019
【図１８】
2011009810.tif 000020
【図１９】
2011009810.tif 000021
【図２０】
2011009810.tif 000022
【図２１】
2011009810.tif 000023