(57)【特許請求の範囲】
【請求項１】
ストロボの発光時に撮影された画像のホワイトバランスを補正する画像処理装置であって、
環境光に対応したホワイトバランス補正値を取得する第１の取得手段と、
ストロボ光に対応したホワイトバランス補正値を取得する第２の取得手段と、
前記ストロボの発光時に撮影された被写体までの距離情報を取得する第３の取得手段と、
前記ストロボ光の配光特性と前記距離情報とに基づいて、前記ストロボ光の成分と前記環境光の成分との比率を取得する第４の取得手段と、
前記環境光に対応したホワイトバランス補正値と、前記ストロボ光に対応したホワイトバランス補正値と、前記ストロボ光の成分と前記環境光の成分との比率とに基づき、前記ストロボの発光時に撮影された画像のホワイトバランスを補正する補正手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記第４の取得手段は、前記ストロボの発光時に撮影された画像を複数の領域に分割したブロックごとに前記ストロボ光の成分を算出し、前記ブロックごとの前記ストロボ光の成分に基づいて、前記ブロックごとに前記ストロボ光の成分と前記環境光の成分との比率を算出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第３の取得手段は、前記ブロックごとに被写体までの距離情報を取得し、前記ブロックごとの前記距離情報に基づいて、前記ブロックごとに前記ストロボ光の成分と前記環境光の成分との比率を算出することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記第４の取得手段は、前記ブロックごとに算出した前記ストロボ光の成分と前記環境光の成分との比率から、画素補間により、前記ストロボの発光時に撮影された画像の画素ごとに対応した合成比率を算出することを特徴とする請求項２または３に記載の画像処理装置。
【請求項５】
前記第４の取得手段は、前記撮影された被写体の反射率に基づいて、前記ストロボ光の成分を算出することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記撮影された画像から顔の領域を検出する顔検出手段をさらに有し、
前記第４の取得手段は、前記顔検出された領域に対しては、顔の反射率を前記被写体の反射率として用いて前記ストロボ光の成分を算出することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記第４の取得手段は、前記距離情報に基づいて、前記撮影された被写体の表面の法線ベクトルを求め、前記法線ベクトルに基づいて、前記被写体の表面により反射する前記ストロボ光の成分を算出することを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
前記第４の取得手段は、前記顔検出された領域に対しては、前記距離情報と人の顔の３次元モデルとに基づいて、前記顔検出された領域に対応した被写体の表面の法線ベクトルを求め、前記法線ベクトルに基づいて、前記顔検出された領域に対応した被写体の表面により反射する前記ストロボ光の成分を算出することを特徴とする請求項６に記載の画像処理装置。
【請求項９】
撮影された画像から移動領域を検出する移動検出手段をさらに有し、
前記第４の取得手段は、
前記移動領域として検出された領域に対しては、前記距離情報と前記ストロボ光の配光特性とに基づいてストロボ光の成分を算出し、
前記移動領域として検出されていない領域に対しては、ストロボの非発光時に撮影された画像とストロボの発光時に撮影された画像とに基づいてストロボ光の成分を算出することを特徴とする請求項１乃至８の何れか１項に記載の画像処理装置。
【請求項１０】
ストロボの発光時に撮影された画像のホワイトバランスを補正する画像処理装置が実行する画像処理方法であって、
環境光に対応したホワイトバランス補正値を取得する第１の取得ステップと、
ストロボ光に対応したホワイトバランス補正値を取得する第２の取得ステップと、
前記ストロボの発光時に撮影された被写体までの距離情報を取得する第３の取得ステップと、
前記ストロボ光の配光特性と前記距離情報とに基づいて、前記ストロボ光の成分と前記環境光の成分との比率を取得する第４の取得ステップと、
前記環境光に対応したホワイトバランス補正値と、前記ストロボ光に対応したホワイトバランス補正値と、前記ストロボ光の成分と前記環境光の成分との比率とに基づき、前記ストロボの発光時に撮影された画像のホワイトバランスを補正する補正ステップと
を有することを特徴とする画像処理方法。
【請求項１１】
コンピュータを、請求項１乃至９の何れか１項に記載の画像処理装置の各手段として機能させるための、コンピュータが実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
一般に、デジタルカメラ等の撮像装置は、撮影した画像の色調を自動で調整するオートホワイトバランス制御機能を備えている。但し、従来のオートホワイトバランス制御は、算出したホワイトバランス補正値を画像全体に適用するため、ストロボ発光撮影など複数の光源が存在する環境で撮影が行われた場合、それら各光源に対して適正な色味の画像を得ることが困難である。
【０００３】
このようなことから、例えば特許文献１に記載の電子スチルカメラは、ストロボ発光時の画像とストロボ非発光時の画像とを、任意の被写体領域ごとに比較してデータの比を求め、求めた比の値によりストロボ光の寄与度を判定する。そして、特許文献１に記載の電子スチルカメラは、寄与度に応じてストロボ発光して露光させたときの画像データに対して、領域ごとにホワイトバランス補正値を選択して、ホワイトバランス制御を行っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３５４０４８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術の場合、ストロボ発光時に撮影された画像データとストロボ非発光時に撮影された画像データとの取得タイミングには時間差がある。そのため、特許文献１の電子スチルカメラは、例えば被写体が動いている場合やカメラ側が移動している場合、ストロボ光の照射範囲及び照射量を誤検出してしまい、被写体等の物体の境界部分で色味ずれが生じてしまうという問題がある。また、特許文献１の電子スチルカメラは、ホワイトバランス補正値を各領域で可変させた後に現像処理を行うため、色の再現など、その他の制御がホワイトバランス補正値に対して適正にならなくなってしまう場合がある。このため、適正な色味が十分に再現されない。
【０００６】
本発明はこのような問題点に鑑みてなされたものであり、ストロボ発光時に撮影された画像に対して適正なホワイトバランス補正を可能とする画像処理装置、画像処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の画像処理装置は、ストロボの発光時に撮影された画像のホワイトバランスを補正する画像処理装置であって、環境光に対応したホワイトバランス補正値を取得する第１の取得手段と、ストロボ光に対応したホワイトバランス補正値を取得する第２の取得手段と、前記ストロボの発光時に撮影された被写体までの距離情報を取得する第３の取得手段と、前記ストロボ光の配光特性と前記距離情報とに基づいて、前記ストロボ光の成分と前記環境光の成分との比率を取得する第４の取得手段と、前記環境光に対応したホワイトバランス補正値と、前記ストロボ光に対応したホワイトバランス補正値と、前記ストロボ光の成分と前記環境光の成分との比率とに基づき、前記ストロボの発光時に撮影された画像のホワイトバランスを補正する補正手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ストロボ発光時に撮影された画像に対して適正なホワイトバランス補正が可能となる。
【図面の簡単な説明】
【０００９】
【図１】実施形態の撮像装置の概略構成を示す図である。
【図２】実施形態のＷＢ補正部の構成を示す図である。
【図３】撮像装置における撮影制御を時系列に並べた状態を示す図である。
【図４】ホワイトバランス補正処理のフローチャートである。
【図５】ホワイトバランス補正値決定処理のフローチャートである。
【図６】白検出を行うための色評価値の関係の一例を示す特性図である。
【図７】第１の実施形態におけるストロボ光成分算出処理のフローチャートである。
【図８】ストロボ光成分算出処理を説明するための図である。
【図９】顔検出処理を説明するための図である。
【図１０】被写体表面の法線方向とストロボ光の反射光との関係を示す図である。
【図１１】第４の実施形態のストロボ光成分算出処理のフローチャートである。
【図１２】移動領域検出処理を説明するための図である。
【発明を実施するための形態】
【００１０】
＜第１の実施形態＞
以下に、図面を参照しながら本発明の好適な実施の形態を詳細に説明する。先ず、図１から図８を参照して、第１の実施形態の画像処理装置について説明する。第１の実施形態の画像処理装置は、被写体までの距離情報からなる後述の距離マップを取得可能なデジタルカメラ等の撮像装置１００である。
【００１１】
図１は、本実施形態の撮像装置１００の概略構成を示す図である。図１において、撮像装置１００は、撮像光学系１０１、撮像素子１０２、Ａ／Ｄ変換器１０３、画像処理部１０４、システム制御部１０６、操作部１０７、表示部１０８、記録部１０９、メモリ部１１０、発光部１１１等を備えている。
【００１２】
撮像光学系１０１は、フォーカスレンズを含む複数のレンズ群及び絞りを有して構成される。撮像光学系１０１は、被写体からの光を受け、撮像素子１０２に光を導く。撮像光学系１０１に含まれるフォーカスレンズは、不図示のレンズ駆動制御部からの駆動命令に基づいて駆動し、ピント位置の調節を可能とする。なお、フォーカスレンズは、ピントリングの回転動作に応じて駆動されてもよい。撮像光学系１０１を通過した光束は、撮像素子１０２上に被写体の光学像を形成する。
【００１３】
発光部１１１は、いわゆるストロボ光を発光させるストロボ発光部や、点灯状態を続けて撮影時の照明補助を行うための補助光源部などを備えている。ストロボ発光部は、カメラの内蔵ストロボでもよいし、カメラに付属しないいわゆる外付けストロボ、或いは、ケーブルや無線を通じて接続される外部ストロボであってもよい。発光部１１１は、システム制御部１０６によりストロボ発光やストロボ非発光等のような発光動作が制御される。
【００１４】
撮像素子１０２は、ＣＣＤやＣＭＯＳ等からなる撮像素子であり、その表面は例えばベイヤー配列のようなＲＧＢカラーフィルタにより覆われ、カラー撮影が可能な構成となっている。撮像素子１０２は、受光した光束を電気信号に変換し、アナログ信号としてＡ／Ｄ変換器１０３に出力する。Ａ／Ｄ変換器１０３は、撮像素子１０２からのアナログ信号をデジタル信号に変換するための変換器である。Ａ／Ｄ変換器１０３は、変換したデジタル信号を画像処理部１０４に出力する。
【００１５】
操作部１０７は、撮像装置１００に備えられた各種スイッチやダイヤル、シャッターボタンなどの操作デバイスである。撮影者は、操作部１０７を用いて撮影パラメータの設定や撮影動作などの操作指示を入力することが可能である。撮影者による操作部１０７を介した操作入力信号は、システム制御部１０６に出力される。なお、シャッターボタンは、いわゆる半押しと全押しが可能なスイッチにより構成されている。
【００１６】
表示部１０８は、液晶ディスプレイ（ＬＣＤ）等からなり、システム制御部１０６から転送される撮影時の画像や記録部１０９に記憶された画像の表示、或いは、各種の設定画面などの表示を行う。記録部１０９は、様々な規格のメモリカード等の着脱可能な記録媒体が装填され、システム制御部１０６を介して転送される画像データを記録媒体へ記録し、また、記録媒体から記録データの読み出しを行う。
【００１７】
画像処理部１０４は、ホワイトバランス補正処理や顔検出処理などを含む様々な画像処理を行う。画像処理部１０４におけるホワイトバランス補正は、ホワイトバランス補正部１０５などの回路構成により実現されてもよいし、システム制御部１０６が実行するプログラム群により実現されてもよい。以下、本実施形態では、ホワイトバランスを適宜「ＷＢ」と表記する。ＷＢ補正部１０５の詳細な構成及びホワイトバランス補正値の決定方法については後述する。また、画像処理部１０４における顔検出処理は、顔検出部１１２などの回路構成により実現されてもよいし、システム制御部１０６が実行するプログラム群により実現されてもよい。顔検出処理については後述する第２の実施形態において説明する。画像処理部１０４は、システム制御部１０６からの制御命令に基づいて、Ａ／Ｄ変換器１０３から供給されるデジタル信号群に対して画像処理を行い、記録用及び表示用の画像データを生成する。画像処理部１０４で行われる画像処理は、ＷＢ補正後の画像データに色ゲインをかけて色差信号に変換する処理やＲＧＢ信号に変換する処理、ガンマ補正処理などの現像処理も含まれる。なお、画像処理部１０４は、画像処理を行う際に、適宜画像データをメモリ部１１０に記憶し、また、適宜画像データの読み出しを行う。
【００１８】
また、画像処理部１０４は、撮像素子１０２で撮像された信号を基に、被写体までの距離情報を保持する距離マップのデータを取得する。ここで、画像処理部１０４が距離マップデータを取得する際の取得方法について説明する。撮像素子１０２には、複数のマイクロレンズが格子状に並べられており、各マイクロレンズ下には複数の分割画素が備えられている。例えば、各マイクロレンズ下に水平方向の左右２つの分割画素がある場合、画像処理部１０４は、先ず水平方向の同一のライン内に備えられた左の分割画素の値と右の分割画素の値の相関値演算を行う。次に、画像処理部１０４は、相関値が最も高くなる分割画素間の視差と撮像素子１０２の画素ピッチ等の情報に基づいて、実空間での距離、すなわち撮像素子１０２から被写体までの実空間内の奥行き方向の距離を算出する。画像処理部１０４は、上述のような処理を任意の領域ごとに繰り返し行うことで、それら領域ごとの距離情報からなる距離マップを生成する。本実施形態では、距離マップを取得する際の任意の領域は、一例として後述するように画像を分割したブロックごとの領域となされている。したがってこの場合、距離マップの解像度は、画像を分割したブロックごとの解像度と同じになる。
【００１９】
システム制御部１０６はＣＰＵを含み、メモリ部１１０に格納されている制御プログラムに従って、撮像光学系１０１内のフォーカスレンズの駆動制御などのシステム全体の動作制御を行う。また、システム制御部１０６は、画像処理部１０４での画像処理によって得られたデータや、撮像光学系１０１のレンズ位置情報の取得等のように各構成要素間の信号の入出力も行う。
【００２０】
メモリ部１１０は、ＲＯＭとＲＡＭを含む。メモリ部１１０のＲＯＭは、システムプログラムである基本ソフトや、システム制御部１０６と画像処理部１０４が後述する各種制御や信号処理を実行するためのプログラム、それらプログラムの実行に伴って使用される各種データを記憶している。メモリ部１１０のＲＡＭは、システム制御部１０６や画像処理部１０４が実行するプログラムが展開され、またそのプログラムが使用するデータエリアとなされている。詳細については後述するが、本実施形態においてメモリ部１１０のＲＯＭに記憶されている各種データは、例えば、ストロボ光の配光特性、一般的な物質の平均的な標準反射率、人の顔の反射率、顔の３次元モデル等の各データを挙げることができる。詳細については後述するが、メモリ部１１０のＲＡＭに一時記憶されるデータは、例えば、撮像された画像データ、ストロボ非発光時の画像データ、ストロボ発光時の画像データ、ストロボ発光時の距離マップのデータ等を挙げることができる。
【００２１】
以上が、本実施形態の撮像装置１００の概略構成である。次に、画像処理部１０４のＷＢ補正部１０５の構成及びホワイトバランス補正値の決定方法について詳細に述べる。図２は、ＷＢ補正部１０５の構成を示す図である。図２において、ＷＢ補正部１０５は、入力部２０１、第１のＷＢ補正値決定部２０６、第１の補正部２０７、第２のＷＢ補正値決定部２０８、第２の補正部２０９、ストロボ光成分算出部２１０、合成比率算出部２１１、合成部２１２、出力部２１３を有している。
【００２２】
入力部２０１は、ストロボ非発光時の画像データ２０２、ストロボ光の配光特性２０３のデータ、ストロボ発光時の距離マップ２０４のデータ、ストロボ発光時の画像データ２０５を、メモリ部１１０から読み出し、それらデータを各部に出力する。これら各データがどのように取得されて使用されるかについての詳細は後述する。
【００２３】
図３は、システム制御部１０６により行われる撮影制御を、時系列に並べた状態を示す図である。図３において、シャッターボタンが半押しされる状態３０１（以下、ＳＷ１と表記する。）の前には、システム制御部１０６は、撮像光学系１０１及び撮像素子１０２を制御して、いわゆるライブビュー表示用の画像３１０をフレーム周期ごとに撮影させる。シャッターボタンが半押しされたＳＷ１の状態では、システム制御部１０６は、撮像光学系１０１を制御して、ＡＦロック３１１とＡＥロック３１２とを行う。なお、ＡＦロック３１１は、撮像光学系１０１内のフォーカスレンズを駆動するオートフォーカスの制御において焦点距離をロックする制御である。ＡＥロック３１２は、自動露出制御において露出値をロックする制御である。ＳＷ１の状態が保持された保持期間３０２の後、シャッターボタンが全押しされる状態３０３（以下、ＳＷ２と表記する。）になると、システム制御部１０６は、発光部１１１に対してテスト発光３１４を行わせる。その後、システム制御部１０６は、撮像光学系１０１及び撮像素子１０２、発光部１１１を制御して、実際に被写体等の画像を撮影させる本露光３１５を行わせる。
【００２４】
ここで、テスト発光３１４がなされる前に、システム制御部１０６は、撮像光学系１０１及び撮像素子１０２を制御して、環境光露光３１３として図３に示されている時間にも露光を行わせる。本実施形態では、環境光露光３１３の時間に露光した画像データが、図２のストロボ非発光時の画像データ２０２であり、本露光３１５の時間に露光した画像データが、図２のストロボ発光時に撮影された画像データ２０５である。ストロボ非発光時の画像データ２０２は、発光部１１１のストロボを発光させず、環境光により撮像素子１０２による撮像がなされて取得される画像データである。ストロボ発光時の画像データ２０５は、発光部１１１のストロボ発光時に撮像素子１０２で撮像がなされて取得された画像データである。なお、ストロボ非発光時の画像データ２０２は、本露光３１５の後に、環境光で露光した撮影画像データを用いてもよい。
【００２５】
図２の説明に戻り、第１のＷＢ補正値決定部２０６は、ストロボ非発光時の画像データ２０２に基づいて環境光に対するＷＢ補正値を決定し、そのＷＢ補正値のデータを第１の補正部２０７に出力する。第２のＷＢ補正値決定部２０８は、ストロボ発光時の画像データ２０５に基づいてストロボ光に対するＷＢ補正値を決定し、そのＷＢ補正値のデータを第２の補正部２０９に出力する。
【００２６】
第１の補正部２０７は、環境光に対するＷＢ補正値に基づいて、ストロボ発光時の画像データ２０５のＷＢ補正を行う。第２の補正部２０９は、ストロボ光に対するＷＢ補正値に基づいて、ストロボ発光時の画像データ２０５のＷＢ補正を行う。第１の補正部２０７でＷＢ補正された画像データと第２の補正部２０９でＷＢ補正された画像データは、合成部２１２に出力される。
【００２７】
ストロボ光成分算出部２１０は、ストロボ発光時の画像データ２０５の後述する領域ごとのストロボ光成分を、ストロボ光の配光特性２０３のデータ及びストロボ発光時に取得された距離マップ２０４のデータから算出し、合成比率算出部２１１に出力する。ストロボ光の配光特性２０３の詳細については後述する。
【００２８】
合成比率算出部２１１は、ストロボ発光時の画像データ２０５とストロボ光成分に基づいて、画像合成のための合成比率を算出し、合成部２１２に出力する。合成部２１２は、合成比率算出部２１１が出力する合成比率に基づいて、第１の補正部２０７でＷＢ補正された画像データと第２の補正部２０９でＷＢ補正された画像データとを合成する。合成部２１２にて合成された画像データは、最終的なホワイトバランス補正画像データとして出力部２１３へ送られる。出力部２１３は、後段の処理部に対してホワイトバランス補正画像データを出力する。
【００２９】
以上が第１の実施形態の撮像装置１００内部のＷＢ補正部１０５の構成である。次に、本実施形態におけるＷＢ補正部１０５のＷＢ補正動作を説明する。図４は、ＷＢ補正部１０５において行われる補正処理のフローチャートである。
【００３０】
先ず、ステップＳ４０１において、第１のＷＢ補正値決定部２０６は、ストロボ非発光時の画像データ２０２に基づいて、環境光に対する第１のＷＢ補正値を決定する。ステップＳ４０１のストロボ非発光時のＷＢ補正値決定処理を図５と図６を用いて詳細に説明する。図５は、ＷＢ補正値決定処理のフローチャートである。図６は、白検出を行うための色評価値の関係を示す特性図であり、図６（ａ）はストロボ非発光時の白検出範囲を、図６（ｂ）はストロボ発光時の白検出範囲を示す。
【００３１】
図５のフローチャートのステップＳ５０１において、第１のＷＢ補正値決定部２０６は、入力されたストロボ非発光時の画像データ２０２の画像を任意のｎ個のブロック（１〜ｎ）に分割する。本実施形態の場合、ストロボ非発行時の画像データ２０２のブロック分割数の「ｎ」は、後述するストロボ発光時の画像データ２０５のブロック分割数の「ｍ」と同じにする。ステップＳ５０１の後、第１のＷＢ補正値決定部２０６は、処理をステップＳ５０２へ進める。ステップＳ５０２に進むと、第１のＷＢ補正値決定部２０６は、ブロックごとに、画素値を各色で加算平均して、ＲＧＢの各色平均値（Ｒ［ｉ］，Ｇ［ｉ］，Ｂ［ｉ］）を算出する。なお、［ｉ］はブロック（１〜ｎ）のうちのｉ番目のブロックを示している。さらに、第１のＷＢ補正値決定部２０６は、以下の式（１）を用いて、色評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）を算出する。
【００３２】
Ｃｘ［ｉ］＝（Ｒ［ｉ］−Ｂ［ｉ］）／Ｙ［ｉ］×１０２４
Ｃｙ［ｉ］＝（Ｒ［ｉ］＋Ｂ［ｉ］−２Ｇ［ｉ］）／Ｙ［ｉ］×１０２４  …式（１）
但し、Ｙ［ｉ］＝（Ｒ［ｉ］＋２Ｇ［ｉ］＋Ｂ［ｉ］）／４
【００３３】
ステップＳ５０２の後、第１のＷＢ補正値決定部２０６は、処理をステップＳ５０３へ進める。ステップＳ５０３に進むと、第１のＷＢ補正値決定部２０６は、図６に示すような座標軸を持つグラフを用いて白検出を行う。図６は、ｘ座標（Ｃｘ）の負方向が高色温度被写体の色を撮影したときの色評価値を表し、正方向が低色温度被写体の色を撮影したときの色評価値を表している。また、ｙ座標（Ｃｙ）は光源の緑成分の度合いを意味しており、負方向になるにつれてＧ成分が大きくなり、つまり蛍光灯であることを示している。
【００３４】
また、ステップＳ５０３において、第１のＷＢ補正値決定部２０６は、ステップＳ５０２で算出したｉ番目のブロックの色評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）が、図６（ａ）に示す予め設定した白検出範囲６０１に含まれるか否かを判定する。白検出範囲６０１は、環境光が未知の光源であるため、予め異なる光源下で白い被写体が撮影された画像から算出した色評価値を基準に定めたものである。そして、第１のＷＢ補正値決定部２０６は、ステップＳ５０３において、ｉ番目のブロックの色評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）が予め設定される白検出範囲６０１に含まれると判定した場合には、処理をステップＳ５０４へ進める。一方、第１のＷＢ補正値決定部２０６は、ステップＳ５０３において、ｉ番目のブロックの色評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）が予め設定される白検出範囲６０１に含まれないと判定した場合には、処理をステップＳ５０５へ進める。
【００３５】
ステップＳ５０４では、第１のＷＢ補正値決定部２０６は、ｉ番目のブロックが白色であると判定して、当該ブロックの色平均値（Ｒ［ｉ］，Ｇ［ｉ］，Ｂ［ｉ］）を積分して、色平均値の積分値（ＳｕｍＲ、ＳｕｍＧ、ＳｕｍＢ）を求める。なお、ステップＳ５０３及び５０４の処理は、次の式（２）によって表すことができる。
【００３６】
【数１】
0006425571.tif 000002
【００３７】
ここで、式（２）において、色評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）が白検出範囲６０１に含まれる場合、第１のＷＢ補正値決定部２０６は、式（２）中のＳｗ［ｉ］を「１」とする。一方、色評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）が白検出範囲６０１に含まれない場合、第１のＷＢ補正値決定部２０６は、式（２）中のＳｗ［ｉ］を「０」とする。すなわち、Ｓｗ［ｉ］が「１」になされた場合、第１のＷＢ補正値決定部２０６は、色平均値（Ｒ［ｉ］，Ｇ［ｉ］，Ｂ［ｉ］）を積分することになる。一方、Ｓｗ［ｉ］が「０」になされた場合、第１のＷＢ補正値決定部２０６は、色平均値（Ｒ［ｉ］，Ｇ［ｉ］，Ｂ［ｉ］）を積分しないことになる。ステップＳ５０４の後、第１のＷＢ補正値決定部２０６は、処理をステップＳ５０５へ進める。
【００３８】
ステップＳ５０５では、第１のＷＢ補正値決定部２０６は、全てのブロックについて前述したステップＳ５０２〜Ｓ５０４の処理を行ったか否かを判定する。ステップＳ５０５で未処理のブロックが存在すると判定した場合、第１のＷＢ補正値決定部２０６は、ステップＳ５０２へ処理を戻して前述同様の処理を繰り返す。一方、ステップＳ５０５で全てのブロックについて処理を行ったと判定した場合、第１のＷＢ補正値決定部２０６は、処理をステップＳ５０６へ進める。
【００３９】
ステップＳ５０６では、第１のＷＢ補正値決定部２０６は、全てのブロックで得られた色平均値の積分値（ＳｕｍＲ１、ＳｕｍＧ１、ＳｕｍＢ１）から、式（３）を用い、第１のＷＢ補正値（ＷＢＣｏｌ＿Ｒ１、ＷＢＣｏｌ＿Ｇ１、ＷＢＣｏｌ＿Ｂ１）を算出する。なお、積分値（ＳｕｍＲ１、ＳｕｍＧ１、ＳｕｍＢ１）は、前述した各ブロックの色平均値の積分値（ＳｕｍＲ、ＳｕｍＧ、ＳｕｍＢ）を全てのブロックについて積分して得られた値である。
【００４０】
ＷＢＣｏｌ＿Ｒ１＝ＳｕｍＹ１×１０２４／ＳｕｍＲ１
ＷＢＣｏｌ＿Ｇ１＝ＳｕｍＹ１×１０２４／ＳｕｍＧ１          …式（３）
ＷＢＣｏｌ＿Ｂ１＝ＳｕｍＹ１×１０２４／ＳｕｍＢ１
但し、ＳｕｍＹ１＝（ＳｕｍＲ１＋２×ＳｕｍＧ１＋ＳｕｍＢ１）／４
【００４１】
なお、ここではストロボ非発光時の画像データ２０２から第１のＷＢ補正値を算出する例を説明したが、スタジオでの撮影などで環境光が既知の場合は、第１のＷＢ補正値を予め設定しておいてもよい。
【００４２】
図４の説明に戻り、ステップＳ４０１の後、処理はステップＳ４０２へ進むが、このステップＳ４０２の処理は、第２のＷＢ補正値決定部２０８で行われる。ステップＳ４０２では、第２のＷＢ補正値決定部２０８は、ストロボ発光時の画像データ２０５に基づいてストロボ光に対する第２のＷＢ補正値を決定する。第２のＷＢ補正値の決定処理は、前述した第１のＷＢ補正値の決定処理と同様の方法によって行われる。但し、第２のＷＢ補正値の決定処理は、第１のＷＢ補正値の決定処理とは異なり、図６（ｂ）に示すようにストロボ光用の白検出範囲６０２を用いた処理が行われる。これは環境光が基本的には未知の光源であるのに対して、ストロボ光は既知の光源であるため、図６（ｂ）の白検出範囲６０２のように範囲を限定することができるためである。なお、第２のＷＢ補正値としてのストロボ光のＷＢ補正値は、既知のものとして予め設定しておいてもよい。
【００４３】
ステップＳ４０２の後、処理はステップＳ４０３へ進むが、このステップＳ４０３の処理は、ストロボ光成分算出部２１０にて行われる。ステップＳ４０３では、ストロボ光成分算出部２１０は、ストロボ発光時の画像データ２０５のブロックごとのストロボ光成分を、ストロボ光の配光特性２０３及びストロボ発光時に取得された距離マップ２０４の各データから算出する。
【００４４】
ここで、ステップＳ４０３のストロボ光成分算出処理を図７と図８を用いて詳細に説明する。図７は、ストロボ光成分算出処理のフローチャートである。図８（ａ）は、ストロボ発光時の画像（画像データ２０５）、及び、ストロボ光成分を算出するブロックの一例（ブロックＰ）を示す図である。図８（ｂ）は、ストロボ光成分算出処理の処理単位であるブロックの分割の一例を示す図である。図８（ｃ）は、ストロボ光の配光特性の一例を示す図である。
【００４５】
先ず、図７のフローチャートにおいて、ストロボ光成分算出部２１０は、ステップＳ７０１の処理として、ストロボ発光撮影時のレンズの焦点距離情報をシステム制御部１０６から取得する。すなわち、システム制御部１０６は、撮像光学系１０１内のフォーカスレンズを駆動するオートフォーカスの制御を行っているため焦点距離情報を保持しており、ストロボ光成分算出部２１０はその焦点距離情報を取得する。ステップＳ７０１の後、ストロボ光成分算出部２１０は、処理をステップＳ７０２へ進める。
【００４６】
ステップＳ７０２に進むと、ストロボ光成分算出部２１０は、ストロボ発光時の画像データ２０５を、距離マップ２０４の作成時と同数のｍ個のブロックに分割する。これにより、距離マップ２０４の解像度は、ストロボ発光時の画像データ２０５をブロック分割した解像度と同じになる。図８（ｂ）は、複数の画素８０３からなるストロボ発光時の画像データ２０５が、距離マップ２０４の各ブロックに対応する図中太線で示した範囲８０４のブロックごとに分割された状態を模式的に示した図である。なお、図８（ａ）の画像８０１のようなストロボ発光時の画像データ２０５において、例えば被写体８０２の画像の一部であるブロックＰは、前述のように分割された各ブロックのうちの一つのブロックを示している。ステップＳ７０２の後、ストロボ光成分算出部２１０は、処理をステップＳ７０３へ進める。
【００４７】
ステップＳ７０３に進むと、ストロボ光成分算出部２１０は、ステップＳ７０２で分割したブロックごとに対応する距離マップ２０４の距離情報（ストロボ光源からの奥行き方向の距離情報）をメモリ部１１０から読み出す。ステップＳ７０３の後、ストロボ光成分算出部２１０は、処理をステップＳ７０４へ進める。
【００４８】
ステップＳ７０４に進むと、ストロボ光成分算出部２１０は、ストロボ光成分を算出する。具体的には、距離マップ２０４の（ｘ，ｙ）座標に相当するブロックの座標、ステップＳ７０１で取得された焦点距離情報、ステップＳ７０３で取得された距離マップ２０４の奥行き距離情報、及びストロボ光の配光特性２０３からストロボ光成分を算出する。
【００４９】
ここで、ストロボ光の配光特性２０３とは、図８（ｃ）に示すような、ストロボ光源からの距離と方向に応じて、被写体に届く光量Ｙｓがどのように変化するかを示す特性である。なお、図８（ｃ）は、ストロボ光の照射方向を変更せずに被写体方向側にして撮影する場合、及び、ストロボ光源の発光光量とストロボ光の広がり角度についてもそれぞれ一定で変化させないで撮影する場合を想定して説明している。図８（ｃ）からわかるように、ストロボ光が被写体に届く光量Ｙｓは、ストロボ光源から被写体までの距離が近いほど大きくなり、反対に被写体までの距離が遠いほど小さくなる。また、ストロボ光源からの方向は、ストロボ光源が備えているレンズ光学系や反射光学系の光軸（ストロボ光源の光軸とする。）と、ストロボ光源の発光点から被写体までを結ぶ線分（光源から被写体までの線分とする。）とが成す角度で言い表すことができる。ストロボ光源の光軸と光源から被写体までの線分との成す角度が小さくなる（ストロボ光源の光軸に対して被写体の位置が近い）ほど、被写体に届く光量Ｙｓは大きくなっていく。反対に、ストロボ光源の光軸と光源から被写体までの線分との成す角度が大きくなる（ストロボ光源の光軸に対して被写体の位置が遠くなる）につれて、被写体に届く光量Ｙｓは小さくなっていく。また、撮影時の焦点距離は撮影時の画角と対応しており、焦点距離が長く（大きく）なればなるほど画角は狭まり、逆に焦点距離が短く（小さく）なればなるほど画角は広くなる。すなわち、焦点距離が長く（画角が狭く）なればなるほど、撮影画像内に占める被写体等の画像は大きくなり、逆に、焦点距離が短く（画角が広く）なればなるほど、撮影画像内に占める被写体等の画像は小さくなる。また、焦点距離が長ければ（画角が狭ければ）、ストロボ光の広がり角度に対して狭い範囲の撮影画像が得られるようになり、逆に、焦点距離が短ければ（画角が広ければ）、ストロボ光の広がり角度に対して広い範囲の撮影画像が得られることになる。さらに、本実施形態において、距離マップのサイズは撮像素子１０２のセンサ面のサイズと対応しており、距離マップの解像度は前述したブロック分割数による解像度と同じになされている。したがって、焦点距離が変われば、距離マップの（ｘ，ｙ）座標に対する被写体画像の（ｘ，ｙ）座標は変化することになり、また、ストロボ光源の光軸に対する被写体の方向も変化することになる。一例として、或る焦点距離において、図８（ａ）に示すブロックＰのストロボ光成分が図８（ｃ）のＹｓｐであったとしても、焦点距離が変われば、ストロボ光源の光軸に対するブロックＰの方向も変わり、ストロボ光成分も異なるようになる。なお、図８（ｃ）ではｘ軸方向における配光特性とｙ軸方向における配光特性は同一である場合について示しているが、ストロボの形状などによってはｘ軸方向の配光特性とｙ軸方向の配光特性は異なる場合もある。
【００５０】
そして、ストロボ光成分算出部２１０は、分割したブロック（１〜ｍ）ごとのストロボ光成分Ｙｓ［ｉ］を、以下の四つの引数を用いた式（４）の関数ｇにより算出する。式（４）において、四つの引数は、各ブロックに対応する距離マップの座標（ｘ［ｉ］，ｙ［ｉ］）、距離マップの奥行き距離情報ｚ（ｘ［ｉ］，ｙ［ｉ］）、焦点距離ｆである。すなわち、ストロボ光成分算出部２１０は、これら四つの引数に基づいて実空間での被写体位置を算出した上で、配光特性の情報を適用してストロボ光成分Ｙｓ［ｉ］を求める。
【００５１】
Ｙｓ［ｉ］＝ｇ（ｘ［ｉ］，ｙ［ｉ］，ｚ（ｘ［ｉ］，ｙ［ｉ］），ｆ）  …式（４）
【００５２】
なお、ここではストロボ光成分の算出に上記の４つの引数を用いる例を説明したが、他のストロボ光成分に関係する引数を用いてもよい。一方、ストロボ光成分の算出精度は低くなるが、全ての被写体は光源の正面に位置すると仮定して、奥行き距離情報のみを引数として用いてもよい。また、ここではストロボ光成分を複数の引数を用いて関数により算出する例を説明したが、ストロボ光成分をテーブルとして保持し、条件により参照することで決定してもよい。ステップＳ７０４の後、ストロボ光成分算出部２１０は、処理をステップＳ７０５へ進める。
【００５３】
ステップＳ７０５に進むと、ストロボ光成分算出部２１０は、全てのブロックについて前述したステップＳ７０３、Ｓ７０４の処理を行ったか否かを判定する。ストロボ光成分算出部２１０は、ステップＳ７０５において未処理のブロックが存在すると判定した場合にはステップＳ７０３へ処理を戻して前述同様の処理を繰り返す。一方、ストロボ光成分算出部２１０は、ステップＳ７０５において全てのブロックについて処理を行ったと判定した場合には、この図７のフローチャートに示したストロボ光成分算出処理を終了する。
【００５４】
図７のフローチャートのストロボ光成分算出処理が終了すると、画像処理部１０４における処理は、図４のステップＳ４０４の画像合成比率算出処理へ進むが、このステップＳ４０４の処理は合成比率算出部２１１にて行われる。ステップＳ４０４の処理に進むと、合成比率算出部２１１は、画像合成に用いる合成比率αを算出する。ここで、合成比率算出部２１１は、ステップＳ４０３で算出されたブロックごとのストロボ光成分Ｙｓ［ｉ］とストロボ発光時の画像データ２０５とを用いて、合成比率αを算出する。先ず、合成比率算出部２１１は、ストロボ発光時の画像データ２０５をストロボ光成分算出処理と同様のｍ個のブロックに分割し、ブロックごとに画素値をＲＧＢ各色で加算平均して色平均値（Ｒｔ［ｉ］，Ｇｔ［ｉ］，Ｂｔ［ｉ］）を算出する。そして、合成比率算出部２１１は、以下の式（５）を用いて各ブロックの輝度値Ｙｔ［ｉ］を算出する。
【００５５】
Ｙｔ［ｉ］＝０．３×Ｒｔ［ｉ］＋０．６×Ｇｔ［ｉ］＋０．１×Ｂｔ［ｉ］…式（５）
【００５６】
ここで、このように算出した各ブロックの輝度値Ｙｔ［ｉ］を、各ブロックのストロボ光成分と環境光成分の総和とする。合成比率算出部２１１は、さらに、前述の式（４）のストロボ光成分Ｙｓ［ｉ］と、ストロボ光成分と環境光成分の総和Ｙｔ［ｉ］との比率を、以下の式（６）を用いて算出することで、各ブロックの合成比率α［ｉ］を求める。
【００５７】
α［ｉ］＝Ｙｓ［ｉ］／Ｙｔ［ｉ］    …式（６）
【００５８】
次に、ステップＳ４０４の合成比率算出処理が終了すると、画像処理部１０４における処理は、ステップＳ４０５の補正画像データ生成処理へ進むが、このステップＳ４０５の処理は、第１の補正部２０７と第２の補正部２０９にて行われる。ステップＳ４０５の処理に進むと、第１の補正部２０７は、ステップＳ４０１で決定された環境光に対応する第１のＷＢ補正値を用いて、ストロボ発光時の画像データ２０５から第１の補正画像データＹｕｖ１を生成する。また、ステップＳ４０５において、第２の補正部２０９は、ステップＳ４０２で決定されたストロボ光に対応する第２のＷＢ補正値を用いて、ストロボ発光時の画像データ２０５から第２の補正画像データＹｕｖ２を生成する。なお、第１の補正部２０７、第２の補正部２０９では、ＲＧＢからＹＵＶへの現像処理も行われる。
【００５９】
次に、ステップＳ４０５の補正画像データ生成処理が終了すると、画像処理部１０４における処理はステップＳ４０６の画像合成処理へ進むが、このステップＳ４０６の処理は合成部２１２にて行われる。ステップＳ４０６に進むと、合成部２１２は、ステップＳ４０４で算出されたブロックごとの合成比率α［ｉ］を用いて、補正画像データＹｕｖ１と補正画像データＹｕｖ２とを合成し、合成画像データＹｕｖ３を生成する。具体的には、合成部２１２は、合成画像データＹｕｖ３における色評価値（Ｙ３［ｉ］,ｕ３［ｉ］,ｖ３［ｉ］）を次の式（７）のようにして算出する。式（７）中の（Ｙ１［ｉ］,ｕ１［ｉ］,ｖ１［ｉ］）は補正画像データＹｕｖ１における色評価値であり、（Ｙ２［ｉ］,ｕ２［ｉ］,ｖ２［ｉ］）は補正画像データＹｕｖ２における色評価値である。
【００６０】
Ｙ３［ｉ］＝Ｙ１［ｉ］×（１−α［ｉ］）＋Ｙ２［ｉ］×α［ｉ］
ｕ３［ｉ］＝ｕ１［ｉ］×（１−α［ｉ］）＋ｕ２［ｉ］×α［ｉ］    …式（７）
ｖ３［ｉ］＝ｖ１［ｉ］×（１−α［ｉ］）＋ｖ２［ｉ］×α［ｉ］
【００６１】
ここで、ブロックの境界部分に生じる色味ずれを緩和するために、合成比率算出部２１１は、ステップＳ４０４でさらに画素補間処理を行うことにより、ブロックごとの合成比率α［ｉ］から画素ごとの合成比率β［ｊ］を算出してもよい。なお、［ｊ］はブロック内の各画素のうちのｊ番目の画素を示している。具体的には合成比率算出部２１１は、画素補間処理としてバイリニア補間を用い、ブロックごとの合成比率α［ｉ］から画素ごとの合成比率β［ｊ］を算出する。またこの場合、合成部２１２は、ステップＳ４０６において、画素ごとの合成比率β［ｊ］を用いて、補正画像データＹｕｖ１と補正画像データＹｕｖ２を合成し、合成画像データＹｕｖ３を生成する。合成画像データＹｕｖ３の色評価値（Ｙ３［ｊ］,ｕ３［ｊ］,ｖ３［ｊ］）は、補正画像データＹｕｖ１の色評価値（Ｙ１［ｊ］,ｕ１［ｊ］,ｖ１［ｊ］）と補正画像データＹｕｖ２の色評価値（Ｙ２［ｊ］,ｕ２［ｊ］,ｖ２［ｊ］）とから算出される。すなわち、合成部２１２は、以下の式（８）により合成画像データＹｕｖ３の色評価値（Ｙ３［ｊ］,ｕ３［ｊ］,ｖ３［ｊ］）を算出する。
【００６２】
Ｙ３［ｊ］＝Ｙ１［ｊ］×（１−β［ｊ］）＋Ｙ２［ｊ］×β［ｊ］
ｕ３［ｊ］＝ｕ１［ｊ］×（１−β［ｊ］）＋ｕ２［ｊ］×β［ｊ］    …式（８）
ｖ３［ｊ］＝ｖ１［ｊ］×（１−β［ｊ］）＋ｖ２［ｊ］×β［ｊ］
【００６３】
以上説明したように、本実施形態の画像処理部１０４は、ストロボ光成分を距離マップとストロボ光の配光特性から算出している。これにより、本実施形態によれば、撮影の際に例えば被写体が動いたり撮像装置側が移動したりしたとしても、被写体の境界部分の色味ずれを軽減でき、主被写体と背景とを共に適正な色味とすることが可能となる。なお、図２では、画像処理部１０４が第１，第２のＷＢ補正値決定部２０６，２０８と第１，第２の補正部２０７，２０９を備えた構成例を挙げたが、これに限られるものではなく、一つのＷＢ補正値決定部と一つの補正部とを備えた構成としてもよい。一つのＷＢ補正値決定部及び補正部を用いる場合、先ず前述の第１のＷＢ補正値決定部２０６及び補正部２０７と同様の処理の後、次に前述の第２のＷＢ補正値決定部２０６及び補正部２０７と同様の処理が行われるような時間でわけた順次処理とする。また、本実施形態では、複数のブロックに分割し、ブロック単位で処理を行う例を説明したが、これに限られるものではなく、処理時間と画質を考慮した上で、画素単位の処理を行うようにしてもよい。
【００６４】
＜第２の実施形態＞
次に、第２の実施形態の画像処理装置について説明する。第２の実施形態の画像処理装置は、第１の実施形態で説明したストロボ光成分算出部２１０の処理に、さらに被写体の反射率を適用する。以下、第２の実施形態の画像処理装置において、第１の実施形態と異なる処理のみ説明し、第１の実施形態と同じ処理についての説明は省略する。
【００６５】
第２の実施形態の画像処理装置では、図７のフローチャートのステップＳ７０４の処理として、ストロボ光成分算出部２１０は、ブロックごとのストロボ光成分Ｙｓ［ｉ］を式（４）に被写体の反射率ｒを適用した以下の式（９）により算出する。なお、被写体の反射率ｒは、予めメモリ部１１０に記憶しておいた一般的な物質の平均値である標準反射率とする。
【００６６】
Ｙｓ［ｉ］＝ｇ（ｘ［ｉ］，ｙ［ｉ］，ｚ（ｘ［ｉ］，ｙ［ｉ］），ｆ）×ｒ…式（９）
【００６７】
また、第２の実施形態において、ストロボ光成分算出部２１０は、標準反射率の他にも、例えば人の顔の反射率を考慮して、ストロボ光成分を算出することも可能となされている。図９（ａ）は、撮影画像から顔が検出された場合の例を示す模式的な図である。画像処理部１０４に含まれる顔検出部１１２は、ストロボ発光撮影時の画像データから被写体である人物画像領域９０１を検出し、さらに顔画像を検出して顔画像領域９０２を特定する。ＷＢ補正部１０５のストロボ光成分算出部２１０は、顔検出部１１２により検出された顔画像領域９０２に該当するブロックに関しては、予めメモリ部１１０に記憶されている人の顔の反射率を用いてストロボ光成分Ｙｓ［ｉ］を算出する。
【００６８】
以上説明したように、第２の実施形態によれば、ストロボ光成分の算出の際に被写体の反射率を考慮することで、ストロボ光成分の算出精度が向上し、より適正なホワイトバランス補正が可能となる。また、第２の実施形態の画像処理装置は、撮影画像から人の顔画像領域を検出し、その顔画像領域については人の顔の反射率を考慮してストロボ光成分を算出することにより、特に人の顔に対してより適正なＷＢ補正が可能となる。
【００６９】
＜第３の実施形態＞
次に、第３の実施形態の画像処理装置について説明する。第３の実施形態の画像処理装置は、第２の実施形態で説明したストロボ光成分算出部２１０の処理に、さらに被写体表面でのストロボ光の反射方向を適用する。以下、第３の実施形態の画像処理装置において、第２の実施形態と異なる処理のみ説明し、第２の実施形態と同じ処理についての説明は省略する。
【００７０】
図１０は、被写体表面の法線方向とストロボ光の反射光の関係を示す図である。先ず、被写体表面におけるストロボ光の反射角度θの算出方法について説明する。図１０に示すように被写体表面１００１の点１００２に対して、ストロボ光１００３が入射した場合、ストロボ光は被写体表面１００１の点１００２で反射して反射光１００４となる。反射光１００４の被写体表面１００１に対する反射角度θは、点１００２における法線ベクトル１００５を被写体の表面形状から推定し、ストロボ光と法線とのなす角を求めることで算出できる。したがって、反射光１００４の反射光成分のうち、実際に撮像装置から観測できるストロボ光の反射光成分は、図１０に示すような反射光成分１００６となる。図１０では説明を簡略化するために、被写体表面１００１によるストロボ光１００３の入射と反射を、ストロボ光１００３と反射光１００４及び法線を含む２次元平面により説明したが、ストロボ光１００３の入射と反射は、本来は３次元空間での現象である。したがって、法線ベクトル１００５や反射光成分１００６は、実際には３次元空間に対応して求められる。
【００７１】
ここで、被写体の表面形状は、距離マップに対して補間処理を行うことで算出することができる。すなわち、ストロボ光成分算出部２１０は、図７のフローチャートのステップＳ７０４において、ブロックごとのストロボ光成分Ｙｓ［ｉ］を、式（９）にストロボ光の反射角度θを適用した、以下の式（１０）で算出する。
【００７２】
Ｙｓ［ｉ］＝ｇ（ｘ［ｉ］，ｙ［ｉ］，ｚ（ｘ［ｉ］，ｙ［ｉ］），ｆ）
×ｃｏｓ２θ×ｒ                                      …式（１０）
【００７３】
また、第３の実施形態において、画像処理部１０４に含まれる顔検出部１１２は、ストロボ発光撮影時の画像データから顔画像を検出すると、さらに顔画像領から目や口などの器官位置を検出する。この場合、ストロボ光成分算出部２１０は、顔検出部１１２が検出した目や口などの器官位置情報に基づいて、図９（ｂ）に示すような顔の３次元モデルを当てはめることで法線ベクトルを算出する。なお、顔の３次元モデルのデータは、予めメモリ部１１０に記憶されている。そしてストロボ光成分算出部２１０は、その法線ベクトルを、反射光成分とする。
【００７４】
以上説明したように、第３の実施形態によれば、ストロボ光成分の算出の際に被写体表面によるストロボ光の反射方向を考慮することで、ストロボ光成分の算出精度が向上し、より適正なホワイトバランス補正が可能となる。また、第３の実施形態の画像処理装置は、撮影画像から検出された人の顔画像領域により、人の顔によるストロボ光の反射方向を考慮してストロボ光成分を算出することにより、特に人の顔に対してより適正なＷＢ補正が可能となる。
【００７５】
＜第４の実施形態＞
次に、第４の実施形態の画像処理装置について説明する。第４の実施形態の画像処理装置は、第１の実施形態で説明したストロボ光成分算出部２１０の際に、被写体や撮像装置の移動を検出して、その移動検出結果に応じてストロボ光成分算出方法を切り替える。
【００７６】
以下、第４の実施形態の画像処理装置について、図１１及び図１２を参照しながら説明する。図１１は第４の実施形態の場合のストロボ光成分算出部２１０における処理のフローチャートを示している。なお、図１１のフローチャートにおいて、第１の実施形態の説明で使用した図７のフローチャートと同じ処理については、図７と同じ参照番号を付して、それらの処理の説明は適宜省略する。また、図１２は、撮像画像から被写体や撮像装置の移動を検出するための移動領域検出処理について説明するための模式的な図である。
【００７７】
図１１のフローチャートにおいて、ストロボ光成分算出部２１０は、ステップＳ７０１において焦点距離情報の取得が完了すると、処理をステップＳ１１０１へ進める。ステップＳ１１０１に進むと、ストロボ光成分算出部２１０は、図１２（ａ）に示すようにストロボ非発光時の被写体領域１２０１とストロボ発光時の被写体領域１２０２を特定する。そして、ストロボ光成分算出部２１０は、ストロボ非発光時の被写体領域１２０１とストロボ発光時の被写体領域１２０２から、図１２（ｂ）に示すような移動領域１２０３の検出を行う。このとき、移動領域１２０３の検出については、例えばストロボ非発光撮影時の画像データ２０２とストロボ発光撮影時の画像データ２０５とを比較し、それら画像データ２０２と画像データ２０５に所定量以上の差があるか否かにより判断する。なお、このとき、ストロボ光成分算出部２１０は、ストロボ光による影響を考慮して、ストロボ発光撮影時の画像データ２０５からストロボ光成分を差し引いた上で比較を行う。そして、ストロボ光成分算出部２１０は、画像データ２０２と画像データ２０５に所定量以上の差がある領域を、移動領域１２０３として検出する。ステップＳ１１０１において移動領域の検出が完了すると、ストロボ光成分算出部２１０は、処理をステップＳ７０２へ進める。
【００７８】
ステップＳ７０２では、ストロボ光成分算出部２１０は、第１の実施形態の場合と同様にして、ストロボ発光時の画像データ２０５に加えて、ストロボ非発光時の画像データ２０２を複数のブロックに分割する。ステップＳ７０２で画像データの分割が完了すると、ストロボ光成分算出部２１０は、処理をステップＳ１１０２へ進める。
【００７９】
ステップＳ１１０２に進むと、ストロボ光成分算出部２１０は、処理対象となっているブロックに、ステップＳ１１０１で検出した移動領域が含まれているか否かを判定する。処理対象のブロックに移動領域が含まれる場合、ストロボ光成分算出部２１０は、処理をステップＳ７０３へ進める。そして、ストロボ光成分算出部２１０は、ステップＳ７０３以降は第１の実施形態で説明したステップＳ７０５までの処理を行う。一方、ステップＳ１１０１において、処理対象のブロックに移動領域が含まれないと判定した場合、ストロボ光成分算出部２１０は、処理をステップＳ１１０３へ進める。
【００８０】
ステップＳ１１０３に進むと、ストロボ光成分算出部２１０は、ストロボ非発光時の画像データ２０２とストロボ発光時の画像データ２０５の差分からストロボ光成分を算出する。具体的には、ストロボ光成分算出部２１０は、先ず、ストロボ非発光時の画像データ２０２の各ブロックの輝度値Ｙｅ［ｉ］と、ストロボ発光時の画像データ２０５の各ブロックの輝度値Ｙｔ［ｉ］からストロボ光成分Ｙｓ［ｉ］を算出する。輝度値Ｙｅ［ｉ］、輝度値Ｙｔ［ｉ］の算出方法は、第１の実施形態における図４のステップＳ４０４で説明した通りである。次に、ストロボ光成分算出部２１０は、以下の式（１１）を用いて、ストロボ光成分Ｙｓ［ｉ］を、ストロボ光成分と環境光成分の総和（Ｙｔ［ｉ］）から環境光成分（Ｙｅ［ｉ］）を引くことにより算出する。
【００８１】
Ｙｓ［ｉ］＝Ｙｔ［ｉ］−Ｙｅ［ｉ］    …式（１１）
【００８２】
ストロボ光成分算出部２１０は、ステップ１１０３でストロボ光成分Ｙｓ［ｉ］の算出が完了すると、処理をステップＳ７０５へ進める。そして、ストロボ光成分算出部２１０は、ステップＳ７０５において全ブロックの処理が完了したか否かを判定する。ステップＳ７０５で全ブロックの処理が完了したと判定した場合、ストロボ光成分算出部２１０は、ストロボ光成分算出処理を終了する。一方、ステップＳ７０５で全ブロックの処理が完了していないと判定（未処理のブロックが残っていると判定）した場合、ストロボ光成分算出部２１０は、処理をステップＳ１１０２へ戻し、上述した処理を行う。
【００８３】
以上説明したように、第４の実施形態においては、移動領域の検出結果に応じてストロボ光成分の算出方法を切り替えることで、距離マップの精度が低くなる背景領域のストロボ光成分の算出精度を向上させることが可能となる。そして、その結果として、第４の実施形態によれば、被写体や撮像装置が移動する状態でのストロボ発光撮影であっても、被写体の境界部分の色味ずれを軽減し、主被写体と背景とを共に適正な色味とすることが可能となる。このように、第４の実施形態によれば、距離マップの精度が低い距離の遠い領域、すなわち背景領域におけるストロボ光成分の算出精度が向上し、より適正なホワイトバランス補正が可能となる。
【００８４】
なお、第４の実施形態では、ストロボ非発光時の画像データとストロボ発光時の画像データとの差分による移動領域の検出例を説明したが、これに限られるものではない。例えば、ストロボ非発光時の距離マップとストロボ発光時の距離マップの差から、移動領域を検出してもよい。すなわち、ストロボ非発光時の距離マップとストロボ発光時の距離マップとの差が例えば予め決めた値より大きくなったときには、被写体等が移動したと検出することができる。
【００８５】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【００８６】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８７】
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００８８】
１００  撮像装置、１０１  撮像光学系、１０２  撮像素子、１０３  Ａ／Ｄ変換器、１０４  画像処理部、１０５  ＷＢ補正部、１０６  システム制御部、１０７  操作部、１０８  表示部、１０９  記録部、１１０  メモリ部、１１１  発光部、１１２  顔検出部、２０１  入力部、２０２  ストロボ非発光画像データ、２０３  ストロボ光の配光特性、２０４  距離マップ、２０５  ストロボ発光画像データ、２０６  ＷＢ補正値決定部１、２０７  第１の補正部、２０８  第２のＷＢ補正値決定部、２０９  第２の補正部、２１０  ストロボ光成分算出部、２１１  合成比率算出部、２１２  合成部、２１３  出力部
【図１】
0006425571.tif 000003
【図２】
0006425571.tif 000004
【図３】
0006425571.tif 000005
【図４】
0006425571.tif 000006
【図５】
0006425571.tif 000007
【図６】
0006425571.tif 000008
【図７】
0006425571.tif 000009
【図８】
0006425571.tif 000010
【図９】
0006425571.tif 000011
【図１０】
0006425571.tif 000012
【図１１】
0006425571.tif 000013
【図１２】
0006425571.tif 000014