(57)【特許請求の範囲】
【請求項１】
ストロボ発光時に撮影された第１の撮影画像から第１のホワイトバランス補正値を生成するか又はストロボ光に対応させて予め設定された第１のホワイトバランス補正値を取得し、前記第１の撮影画像の撮影の直前または直後にストロボ発光の無い環境光下で撮影された第２の撮影画像から第２のホワイトバランス補正値を生成し、前記第１の撮影画像と第２の撮影画像から被写体領域毎のストロボ光と環境光の輝度成分を取得して、前記被写体領域毎にストロボ光と環境光の輝度成分比を求め、前記被写体領域毎の輝度成分比に応じて、前記第１のホワイトバランス補正値と前記第２のホワイトバランス補正値とを前記被写体領域毎に合成して合成ホワイトバランス補正値を生成し、前記合成ホワイトバランス補正値を用いて、前記第１の撮影画像の被写体領域毎にホワイトバランス補正を行う補正手段と、
ホワイトバランス補正後の前記第１の撮影画像に対して階調補正処理を行う処理手段と、
前記第１の撮影画像の撮影と前記第２の撮影画像の撮影とがなされた間に被写体の位置が変化したことによる前記被写体領域の動き量を検出する検出手段と、
前記検出された被写体領域の動き量に応じて、前記第１の撮影画像に対する前記階調補正処理の強度を制御する制御手段と
を有することを特徴とする画像処理装置。
【請求項２】
ストロボ発光時に撮影された第１の撮影画像から第１のホワイトバランス補正値を生成するか又はストロボ光に対応させて予め設定された第１のホワイトバランス補正値を取得して、前記第１のホワイトバランス補正値により前記第１の撮影画像のホワイトバランス補正を行い、前記第１の撮影画像の撮影の直前または直後にストロボ発光の無い環境光下で撮影された第２の撮影画像から第２のホワイトバランス補正値を生成して、前記第２のホワイトバランス補正値により前記第２の撮影画像のホワイトバランス補正を行い、更に、第１の撮影画像と第２の撮影画像を用いて被写体領域毎にストロボ光と環境光の輝度成分比を求める補正手段と、
前記第１のホワイトバランス補正値によるホワイトバランス補正後の第１の撮影画像に対して階調補正処理を行う処理手段と、
前記第１の撮影画像の撮影と前記第２の撮影画像の撮影とがなされた間に被写体の位置が変化したことによる前記被写体領域の動き量を検出する検出手段と、
前記検出された被写体領域の動き量に応じて、前記第１の撮影画像に対する前記階調補正処理の強度を制御する制御手段と、
前記階調補正処理がなされた後の前記第１の撮影画像と前記第２の撮影画像を、前記輝度成分比に応じて前記被写体領域毎に合成する合成手段と
を有することを特徴とする画像処理装置。
【請求項３】
前記制御手段は、前記動き量が検出された被写体領域と、前記動き量が検出された被写体領域に接する被写体領域とについて、前記動き量に応じた階調補正処理の強度を制御し、
前記処理手段は、前記第１の撮影画像の前記動き量が検出された被写体領域と前記動き量が検出された被写体領域に接する被写体領域とに対して、前記動き量に応じて強度が制御された階調補正処理を行うことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記検出手段は、前記第１の撮影画像の前記被写体領域の色に関する評価値と、前記第２の撮影画像の前記被写体領域の色に関する評価値との差分に基づいて、前記被写体領域の動き量を検出することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記検出手段は、前記第１の撮影画像の前記被写体領域の輝度エッジ部と、前記第２の撮影画像の前記被写体領域の輝度エッジ部との差分に基づいて、前記被写体領域の動き量を検出することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項６】
前記制御手段は、前記被写体領域の動き量が閾値以上である場合に、前記被写体領域の動き量に応じた前記階調補正処理の強度の制御を行うことを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
補正手段が、ストロボ発光時に撮影された第１の撮影画像から第１のホワイトバランス補正値を生成するか又はストロボ光に対応させて予め設定された第１のホワイトバランス補正値を取得し、前記第１の撮影画像の撮影の直前または直後にストロボ発光の無い環境光下で撮影された第２の撮影画像から第２のホワイトバランス補正値を生成し、前記第１の撮影画像と第２の撮影画像から被写体領域毎のストロボ光と環境光の輝度成分を取得して、前記被写体領域毎にストロボ光と環境光の輝度成分比を求め、前記被写体領域毎の輝度成分比に応じて、前記第１のホワイトバランス補正値と前記第２のホワイトバランス補正値とを前記被写体領域毎に合成して合成ホワイトバランス補正値を生成し、前記合成ホワイトバランス補正値を用いて、前記第１の撮影画像の被写体領域毎にホワイトバランス補正を行うステップと、
処理手段が、ホワイトバランス補正後の前記第１の撮影画像に対して階調補正処理を行うステップと、
検出手段が、前記第１の撮影画像の撮影と前記第２の撮影画像の撮影とがなされた間に被写体の位置が変化したことによる前記被写体領域の動き量を検出するステップと、
制御手段が、前記検出された被写体領域の動き量に応じて、前記第１の撮影画像に対する前記階調補正処理の強度を制御するステップと
を含むことを特徴とする画像処理方法。
【請求項８】
補正手段が、ストロボ発光時に撮影された第１の撮影画像から第１のホワイトバランス補正値を生成するか又はストロボ光に対応させて予め設定された第１のホワイトバランス補正値を取得して、前記第１のホワイトバランス補正値により前記第１の撮影画像のホワイトバランス補正を行い、前記第１の撮影画像の撮影の直前または直後にストロボ発光の無い環境光下で撮影された第２の撮影画像から第２のホワイトバランス補正値を生成して、前記第２のホワイトバランス補正値により前記第２の撮影画像のホワイトバランス補正を行い、更に、第１の撮影画像と第２の撮影画像を用いて被写体領域毎にストロボ光と環境光の輝度成分比を求めるステップと、
処理手段が、前記第１のホワイトバランス補正値によるホワイトバランス補正後の第１の撮影画像に対して階調補正処理を行うステップと、
検出手段が、前記第１の撮影画像の撮影と前記第２の撮影画像の撮影とがなされた間に被写体の位置が変化したことによる前記被写体領域の動き量を検出するステップと、
前記検出された被写体領域の動き量に応じて、前記第１の撮影画像に対する前記階調補正処理の強度を制御するステップと、
合成手段が、前記階調補正処理がなされた後の前記第１の撮影画像と前記第２の撮影画像を、前記輝度成分比に応じて前記被写体領域毎に合成するステップと
を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
従来から、ハイダイナミック合成（ＨＤＲ）や覆い焼き等、ダイナミックレンジを拡大させる処理や暗部補正など、階調補正を施す処理がある。例えば、特許文献１には被写体領域を判定し、その判定結果を用いて、被写体領域毎の代表輝度値と被写体領域毎の入力信号のヒストグラムを算出して、階調補正量を決定する技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１５３９５号公報
【特許文献２】特許第３５４０４８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、上述の特許文献１に開示された技術では、例えばストロボが発光された場合に、ストロボ光の色温度と環境光の色温度差分により、主被写体と背景の色バランスが崩れてしまう。その対応として、特許文献２には、被写体等の領域毎にホワイトバランス処理を施し、領域毎に最適なホワイトバランス処理を実現する技術が提案されている。この特許文献２に記載の技術では、ストロボ発光時に撮影された画像データとストロボ非発光時に撮影された画像データとを、任意の被写体領域毎に比較してデータの比を求める。そして、その比に基づいて被写体領域毎にホワイトバランス制御値が選択され、その選択されたホワイトバランス制御値により、被写体領域毎のホワイトバランス制御が行われる。
【０００５】
しかし、この技術では、ストロボ発光時とストロボ非発光時で例えば被写体等に動き差分がある場合、境界部等に色むらが生じてしまう。そして、このような場合に、例えば階調補正が施されると、その階調補正により、前述した境界部等の色むらを強調してしまう場合があり、ユーザーが意図しない不自然な画像となってしまう虞がある。
【０００６】
本発明はこのような問題点に鑑みてなされたものである。本発明は、被写体等の領域毎にホワイトバランス制御が行われる場合に、ストロボ発光時とストロボ非発光時の間で被写体等の動きにより生ずる色むらが階調補正により強調されるのを防止可能とする画像処理装置及び画像処理方法の提供を目的とする。
【課題を解決するための手段】
【０００７】
本発明の画像処理装置は、ストロボ発光時に撮影された第１の撮影画像から第１のホワイトバランス補正値を生成するか又はストロボ光に対応させて予め設定された第１のホワイトバランス補正値を取得し、前記第１の撮影画像の撮影の直前または直後にストロボ発光の無い環境光下で撮影された第２の撮影画像から第２のホワイトバランス補正値を生成し、前記第１の撮影画像と第２の撮影画像から被写体領域毎のストロボ光と環境光の輝度成分を取得して、前記被写体領域毎にストロボ光と環境光の輝度成分比を求め、前記被写体領域毎の輝度成分比に応じて、前記第１のホワイトバランス補正値と前記第２のホワイトバランス補正値とを前記被写体領域毎に合成して合成ホワイトバランス補正値を生成し、前記合成ホワイトバランス補正値を用いて、前記第１の撮影画像の被写体領域毎にホワイトバランス補正を行う補正手段と、ホワイトバランス補正後の前記第１の撮影画像に対して階調補正処理を行う処理手段と、前記第１の撮影画像の撮影と前記第２の撮影画像の撮影とがなされた間に被写体の位置が変化したことによる前記被写体領域の動き量を検出する検出手段と、前記検出された被写体領域の動き量に応じて、前記第１の撮影画像に対する前記階調補正処理の強度を制御する制御手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、被写体等の領域毎にホワイトバランス制御が行われる場合に、ストロボ発光時とストロボ非発光時の間で被写体等の動きにより生ずる色むらが階調補正により強調されるのを防止可能となる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の画像処理装置の構成例を示す図である。
【図２】撮影制御を時系列に並べて示した図である。
【図３】第１の実施形態のＷＢ補正値決定処理手順を示すフローチャートである。
【図４】第１の実施形態のＷＢ補正値算出処理のフローチャートである。
【図５】色評価値の白検出範囲の例を示す図である。
【図６】被写体の動き量に応じた階調補正処理の際の入出力特性例を示す図である。
【図７】撮影画像から被写体等の画像領域の判別例の説明に用いる図である。
【図８】被写体の動きに応じた画像領域毎の入出力特性例を示す図である。
【図９】第２の実施形態のＷＢ補正値算出処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、本実施形態の画像処理装置について、図面を参照しながら詳細に説明する。本実施形態の画像処理装置は、例えば、デジタルスチルカメラやデジタルムービーカメラ等の電子カメラ、その電子カメラを含む画像処理装置、情報処理装置（例えば、パーソナルコンピュータや携帯端末）等に適用可能である。以下、本実施形態の画像処理装置の一例として電子カメラを例に挙げて説明する。
【００１１】
（第１の実施形態）
図１には、本実施形態の電子カメラの一構成例を示す。図１において、光学系１０１は絞り、メカニカルシャッター、レンズなどを備え、制御回路１１５からの制御により被写体等の光学像を撮像素子１０２上に結像させる。撮像素子１０２は、ＣＣＤイメージセンサやＣＭＯＳセンサ等の固体撮像素子であり、例えばベイヤー配列を有するＲＧＢ原色カラーフィルタを備え、カラー画像の撮像が可能である。本実施形態において、撮像素子１０２は、Ａ／Ｄ変換器等の前処理回路を含むものとし、撮像素子１０２から出力された画像データは、メモリ１０３に送られる。メモリ１０３は、撮像素子１０２により撮像された画像データ等を格納する。
【００１２】
顔検出部１１６は、メモリ１０３に記憶された画像データに対し、公知の顔検出技術を適用して、撮影画像から人間の顔領域を検出する。公知の顔検出技術としては、ニューラルネットワークなどを利用した学習に基づく手法、テンプレートマッチングを用いて目、鼻、口等の形状に特徴のある部位を画像から探し出し、類似度が高ければ顔とみなす手法などがある。また、他にも、肌の色や目の形といった画像特徴量を検出し、統計的解析を用いた手法等、多数提案されている顔検出技術を用いることができ、また、これらの各手法が複数組み合わせて顔検出の精度を向上させてもよい。顔検出部１１６は、これらの手法によって撮影画像に含まれる目の位置や顔領域の位置（顔座標）を検出する。顔検出部１１６は、顔領域が検出された場合、顔領域の位置や大きさに関する情報を顔情報として出力し、顔情報はＣＰＵ１１７へ送られる。
【００１３】
ＣＰＵ１１７は、顔検出部１１６により顔領域が検出された場合には、顔領域が適正露出で撮像されるようにするための露出値（シャッター速度、絞り値）を計算する。また、ＣＰＵ１１７は、顔領域を焦点検出領域とした合焦制御のためのフォーカスレンズの駆動量を計算する。一方、顔検出部１１６により顔領域が検出されていない場合には、ＣＰＵ１１７は、画像全体の輝度に基づいて露出値（シャッター速度、絞り値）を計算すると共に、予め定めた合焦領域を用いた合焦制御のためのフォーカスレンズの駆動量を計算する。
【００１４】
ＣＰＵ１１７にて計算された露出値及びフォーカスレンズの駆動量は、制御回路１１５に送られる。制御回路１１５は、これら各値に基づいて光学系１０１が有する絞り、シャッター、フォーカスレンズを駆動する。
【００１５】
また、本実施形態の電子カメラは、いわゆるストロボ光を発光させるストロボ１２０を備えている。ストロボ１２０は、電子カメラの内蔵ストロボでもよいし、いわゆるホットシュー等に接続される外付けストロボ装置でもよい。外付けストロボ装置は、ホットシューに取り付けられる場合だけでなく、例えばケーブルや無線を通じて接続されてもよい。それらストロボ装置は、例えば制御回路１１５により、ストロボ光の発光と非発光の制御がなされる。その他に、図１では図示を省略しているが、本実施形態の電子カメラは、シャッターボタン等の各種操作ボタンをも備えている。
【００１６】
ホワイトバランス制御部１０４は、補正手段の一例であり、顔検出部１１６から顔情報が送られてきた場合、その顔領域に対するホワイトバランス補正値を算出する。そして、ホワイトバランス制御部１０４は、算出したホワイトバランス補正値を用いて、メモリ１０３に記憶された画像データのホワイトバランスを補正する。なお、以下の説明では、記載を簡略にするために「ホワイトバランス」を「ＷＢ」と表記する。
【００１７】
特に、本実施形態の場合、環境光下でストロボ１２０を発光させて画像撮影がなされる場合、ＷＢ制御部１０４は、ストロボ発光時に撮影された画像と、その直前又は直後に環境光のみで撮影されたストロボ非発光時の撮影画像とから、ＷＢ補正値を算出する。より具体的には、ＷＢ制御部１０４は、環境光下でストロボ発光時に撮影された第１の撮影画像から第１のＷＢ補正値を算出する。同様に、ＷＢ制御部１０４は、ストロボ発光時の画像撮影の直前又は直後にストロボ発光がなされていない環境光のみで撮影された第２の撮影画像から第２のＷＢ補正値を算出する。なお、撮影画像の中の画像領域は、例えば人物や建物、空、乗り物などの様々な被写体画像の領域であり、以下の説明では、被写体領域と表記する。また、以下の説明では、環境光下でストロボ発光がなされて撮影された第１の撮影画像を「ストロボ発光画像」と表記し、ストロボ発光がなされずに環境光のみで撮影された第２の撮影画像を「ストロボ非発光画像」と表記する。
【００１８】
また、ＷＢ制御部１０４は、ストロボ発光画像とストロボ非発光画像とから、被写体領域毎に、ストロボ光の輝度成分と環境光の輝度成分を算出し、それらの輝度成分の比（以下、輝度成分比とする。）を算出する。さらに、ＷＢ制御部１０４は、被写体領域毎に、第１のＷＢ補正値と第２のＷＢ補正値を輝度成分比に応じて合成して、合成ホワイトバランス補正値（合成ＷＢ補正値）を生成する。そして、ＷＢ制御部１０４は、ストロボ発光画像に対して、被写体領域毎に、合成ＷＢ補正値を用いたＷＢ補正を行う。なお、ＷＢ制御部１０４における第１，第２のＷＢ補正値の算出処理と、それら第１，第２のＷＢ補正値から合成ＷＢ補正値を算出して、被写体領域毎にＷＢ補正を行う処理の詳細については後述する。
【００１９】
色変換マトリックス（ＭＴＸ）回路１０５は、ＷＢ制御部１０４によりＷＢ補正されたストロボ発光画像が最適な色で再現されるように、ストロボ発光画像データに色ゲインを乗じ、さらに二つの色差データＲ−Ｙ，Ｂ−Ｙへ変換する。ローパスフィルタ（ＬＰＦ）回路１０６は、色差データＲ−Ｙ，Ｂ−Ｙの帯域を制限する。ＣＳＵＰ（Ｃｈｒｏｍａ  Ｓｕｐｒｅｓｓ）回路１０７は、ＬＰＦ回路１０６で帯域制限された色差データの飽和部分の偽色成分を低減する。
【００２０】
一方、ＷＢ制御部１０４によりＷＢ補正されたストロボ発光画像のデータは、輝度信号生成回路１１３（Ｙ生成回路）にも供給される。輝度信号生成回路１１３は、ＷＢ補正されたストロボ発光画像データから輝度データＹを生成する。エッジ強調回路１１４は、輝度信号生成回路１１３で生成された輝度データＹに対してエッジ強調処理を適用する。ＣＳＵＰ回路１０７から出力された色差データＲ−Ｙ，Ｂ−Ｙと、エッジ強調回路１１４から出力された輝度データＹは、ＲＧＢ変換回路１０８に送られる。ＲＧＢ変換回路１０８は、色差データＲ−Ｙ，Ｂ−Ｙと輝度データＹを、ＲＧＢデータに変換する。
【００２１】
階調補正回路１０９は、処理手段の一例であり、ＷＢ補正後のストロボ発光画像に対して、画像全体又は被写体領域毎にＲＧＢデータのゲイン、つまり階調補正処理の強度を調整する。そして、階調補正回路１０９による階調補正処理後のＲＧＢデータは、色輝度変換回路１１０へ送られる。階調補正回路１０９における階調補正処理の詳細につては後述する。
【００２２】
また、前述したＣＰＵ１１７は、検出手段と制御手段の一例でもある。ＣＰＵ１１７は、ＷＢ制御部１０４によりＷＢ補正されたストロボ発光画像とストロボ非発光画像に基づいて、ストロボ発光画像の撮影とストロボ非発光画像の撮影がなされた間に被写体の位置が移動した場合の被写体領域毎の動き量を検出する。そして、ＣＰＵ１１７は、その被写体領域毎の動き量に基づいて、階調補正回路１０９による画像全体又は被写体領域毎の階調補正処理における入出力特性（つまり階調補正処理の際のゲイン値）を制御する。具体的には、ＣＰＵ１１７は、ＷＢ制御部１０４によるＷＢ補正後のストロボ発光画像とストロボ非発光画像から、後述するようにしてそれぞれ算出した色評価値の差分に基づいて、被写体領域の動き量を算出する。そして、ＣＰＵ１１７は、被写体領域の動き量に応じて、階調補正回路１０９における階調補正処理の入出力特性（ゲイン値）を調整する。なお、ＣＰＵ１１７が被写体領域毎に動き量を検出する処理の詳細については後述する。
【００２３】
色輝度変換回路１１０は、ＲＧＢデータをＹＵＶデータに変換し、そのＹＵＶデータをＪＰＥＧ圧縮回路１１１へ送る。ＪＰＥＧ圧縮回路１１１は、ＹＵＶデータをＪＰＥＧ圧縮符号化して記録回路１１２へ送る。記録回路１１２は、圧縮符号化後のデータを記録媒体に画像データファイルとして記録する。なお、記録媒体は、電子カメラに対して着脱可能な記録媒体であってもよいし、電子カメラに内蔵された記録媒体であってもよく、外部の記録装置に配されている記録媒体であってもよい。記録媒体が外部の記録装置に配されている場合、記録回路１１２は、その記録装置へ画像データファイルを送信する。
【００２４】
ここで、図２を参照して、本実施形態の電子カメラのＣＰＵ１１７による撮影制御動作について説明する。図２は、ＣＰＵ１１７による撮影制御動作を時系列に並べて示す図である。
【００２５】
ＣＰＵ１１７は、図２に示すように、例えばシャッターボタンのいわゆる半押しに相当する「Ｓｗ１」のユーザー操作がなされる前には、ライブビュー制御４０１，４０２，４０３により、定期的（フレーム毎）にライブビュー画像を撮影させる。そして「Ｓｗ１」の押下操作がなされた場合、ＣＰＵ１１７は、ＡＦロック制御４０４とＡＥロック制御４０５を行う。なお、ＡＦロック制御４０４は、光学系１０１内のフォーカスレンズを駆動するオートフォーカスの制御において焦点距離をロックする制御である。ＡＥロック制御４０５は、自動露出制御において露出値（シャッター速度、絞り値）をロックする制御である。ＡＦロック制御４０４によるＡＦロックとＡＥロック制御４０５によるＡＥロックは、シャッターボタンの半押しが解除されるまで、又は、シャッターボタンのいわゆる全押しがなされるまでのＳｗ１保持期間だけ継続される。
【００２６】
そして、シャッターボタンの全押しに相当する「Ｓｗ２」のユーザー操作がなされた場合、ＣＰＵ１１７は、テスト発光制御４０７と本露光制御４０８を行う。テスト発光制御４０７は、本露光が行われる前にストロボ１２０をテスト発光させる制御であり、そのテスト発光により得られた露光量を基に、後の本露光のストロボ発光で適正露出が得られるストロボ光量を求めるために行われる。本露光制御４０８ではストロボ１２０を発光させて画像の撮影がなされる。本露光制御４０８でストロボ１２０を発光させて撮影された画像は、前述した第１の撮影画像すなわち「ストロボ発光画像」である。また、テスト発光制御４０７の前には、外光制御４０６により、環境光すなわち外光のみの露光による撮影が行われる。以下、環境光については、適宜「外光」と表記する。この外光のみの露光により撮影された画像は、前述した第２の撮影画像すなわち「ストロボ非発光画像」である。なお、ストロボ非発光画像は、例えば、本露光制御４０８の直後に外光のみで露光されて撮影された画像が用いられてもよいし、ライブビュー制御４０１〜４０３の何れかで取得された画像が用いられてもよい。
【００２７】
以下、ストロボ発光画像とストロボ非発光画像の取得、第１，第２のＷＢ補正値の算出、第１，第２のＷＢ補正値に基づくＷＢ補正、さらに動き量の検出とその動き量に応じた階調補正処理までの流れを、図３，図４のフローチャートを参照しながら説明する。なお、図３のフローチャートにおいて、ストロボ発光画像とストロボ非発光画像の取得、第１，第２のＷＢ補正値の算出、第１，第２のＷＢ補正値に基づくＷＢ補正の各処理は、ＷＢ制御部１０４により行われる。また、図３のフローチャートにおいて、動き量の検出はＣＰＵ１１７により実行され、階調補正処理はＣＰＵ１１７による制御のもとで階調補正回路１０９により行われる。図４のフローチャートは、ＷＢ制御部１０４におけるＷＢ補正値の算出処理の詳細を示している。
【００２８】
図３のフローチャートにおいて、ＷＢ制御部１０４は、先ず、ステップＳ５０１の処理として、前述した図２の本露光制御４０８の直前の外光制御４０６で撮影されてメモリ１０３に記憶されているストロボ非発光画像のデータを、当該メモリ１０３から取得する。ステップＳ５０１の後、ＷＢ制御部１０４は、処理をステップＳ５０２へ進める。ステップＳ５０２では、ＷＢ制御部１０４は、図２の本露光制御４０８で撮影されてメモリ１０３に記憶されているストロボ発光画像のデータを、当該メモリ１０３から取得する。ステップＳ５０２の後、ＷＢ制御部１０４は、処理をステップＳ５０３へ進める。
【００２９】
ステップＳ５０３では、ＷＢ制御部１０４は、図４のフローチャートに示すＷＢ補正値算出処理により、ＷＢ補正値を算出する。以下、図４のフローチャートを参照しながら、図３のステップＳ５０３で行われるＷＢ補正値の算出処理について説明する。
【００３０】
先ず、前述した図２の本露光制御４０８によるストロボ発光画像から、ＷＢ制御部１０４が第１のＷＢ補正値を算出する処理について説明する。図４のフローチャートにおいて、ＷＢ制御部１０４は、ステップＳ２０１として、図３のステップＳ５０２で取得したストロボ発光画像を、予め任意に決められたｍ個のブロックに分割する。ステップＳ２０１の後、ＷＢ制御部１０４は、処理をステップＳ２０２へ進める。
【００３１】
ステップＳ２０２では、ＷＢ制御部１０４は、前述のようにｍ個に分割したブロック毎に、ブロック内の全ての画素についてＲＧＢの色毎の加算平均を行って色平均値Ｒ[i]，Ｇ[i]，Ｂ[i]を算出する。そして、ＷＢ制御部１０４は、ブロック毎に、式（１）により色評価値Ｃｘ[i]，Ｃｙ[i]を算出する。なお、Ｒ[i]，Ｇ[i]，Ｂ[i]とＣｘ[i]，Ｃｙ[i]における「ｉ」は、１番目〜ｍ番目のブロックのうちの例えばｉ番目のブロックであることを表している。
【００３２】
Ｃｘ[i]＝（Ｒ[i]−Ｂ[i]）／Ｙ[i]×１０２４
Ｃｙ[i]＝（Ｒ[i]＋Ｂ[i]−２Ｇ[i]）／Ｙ[i]×１０２４  ・・・式（１）
ただし、Ｙ[i]＝Ｒ[i]＋２Ｇ[i]＋Ｂ[i]、１０２４は階調数である。
【００３３】
ステップＳ２０２の後、ＷＢ制御部１０４は、処理をステップＳ２０３へ進める。ステップＳ２０３では、ＷＢ制御部１０４は、図５（ａ）に示すような座標軸を持つグラフを用いて白検出を行う。図５（ａ）におけるｘ座標の色評価値Ｃｘは、負方向が高色温度被写体の白を撮影したときの色評価値、正方向が低色温度被写体の白を撮影したときの色評価値を示している。また、ｙ座標の色評価値Ｃｙは、光源の緑成分の度合いを意味しており、負方向になるにつれＧｒｅｅｎ（緑）成分が大きくなることを示している。ここで、ストロボ光は既知の光源であるため、ＷＢ制御部１０４は、図２の本露光制御４０８によるストロボ発光画像に関しては、図５（ａ）に示すように限定された白検出範囲３０１を用いて白検出を行う。
【００３４】
そして、ＷＢ制御部１０４は、ステップＳ２０３において、ステップＳ２０２で算出した例えばｉ番目のブロックの色評価値Ｃｘ[i]，Ｃｙ[i]が、図５（ａ）に示したストロボ光用の白検出範囲３０１に含まれるか否かを判断する。ＷＢ制御部１０４は、ステップＳ２０３において、ｉ番目のブロックの色評価値Ｃｘ[i]，Ｃｙ[i]が白検出範囲３０１に含まれると判断した場合には、そのブロックの画像が白色であると判断して、処理をステップＳ２０４へ進める。ステップＳ２０４では、ＷＢ制御部１０４は、ステップＳ２０３で白検出範囲３０１に含まれると判断したｉ番目のブロックの色平均値Ｒ[i]，Ｇ[i]，Ｂ[i]を後述の式（２）のように積算する。ステップＳ２０４の後、ＷＢ制御部１０４は、処理をステップＳ２０５へ進める。一方、ＷＢ制御部１０４は、ステップＳ２０３において、ｉ番目のブロックの色評価値Ｃｘ[i]，Ｃｙ[i]が白検出範囲３０１に含まれないと判断した場合には、ステップＳ２０４での加算を行わずに、処理をステップＳ２０５へ進める。これらステップＳ２０３とステップＳ２０４の処理は、式（２）で表すことができる。式（２）は、ｉ番目のブロックの色平均値Ｒ[i]，Ｇ[i]，Ｂ[i]の積分値ＳｕｍＲ，ＳｕｍＧ，ＳｕｍＢを求める式である。
【００３５】
【数１】
0006570311.tif 000002
【００３６】
すなわち、ＷＢ制御部１０４は、色評価値Ｃｘ[i]，Ｃｙ[i]が、図５（ａ）の白検出範囲３０１に含まれる場合は式（２）のＳｗ[i]を「１」に、一方、白検出範囲３０１に含まれない場合には式（２）のＳｗ[i]を「０」とする。これにより、ＷＢ制御部１０４は、ブロック毎に、ステップＳ２０３の判断結果に応じて色評価値（Ｒ[i]，Ｇ[i]，Ｂ[i]）の加算（積算）を行うか、又は、加算（積算）を行わないかの処理を実質的に切り替えている。
【００３７】
次に、ステップＳ２０５の処理に進むと、ＷＢ制御部１０４は、全てのブロックについて前述のステップＳ２０２からステップＳ２０４の処理が終わったか否かを判定する。そして、ＷＢ制御部１０４は、未処理のブロックが存在する場合には、処理をステップＳ２０２に戻して、ステップＳ２０２以降の各処理を行う。一方、ＷＢ制御部１０４は、ステップＳ２０５で全てのブロックについて処理が終わったと判断した場合には、処理をステップＳ２０６へ進める。
【００３８】
ステップＳ２０６では、ＷＢ制御部１０４は、前述の式（２）にて算出した積分値ＳｕｍＲ，ＳｕｍＧ，ＳｕｍＢを用い、式（３）により、第１のＷＢ補正値ＷＢＣｏ１_Ｒ，ＷＢＣｏ１_Ｇ，ＷＢＣｏ１_Ｂを算出する。
【００３９】
ＷＢＣｏ１_Ｒ＝ＳｕｍＹ×１０２４／ＳｕｍＲ
ＷＢＣｏ１_Ｇ＝ＳｕｍＹ×１０２４／ＳｕｍＧ        ・・・式（３）
ＷＢＣｏ１_Ｂ＝ＳｕｍＹ×１０２４／ＳｕｍＢ
ただし、ＳｕｍＹ＝（ＳｕｍＲ＋２×ＳｕｍＧ＋ＳｕｍＢ）／４
【００４０】
なお、第１のＷＢ補正値ＷＢＣｏ１_Ｒ，ＷＢＣｏ１_Ｇ，ＷＢＣｏ１_Ｂは、ストロボ光が既知の光源であるため予め算出して設定しておいてもよい。
【００４１】
次に、前述の図２の外光制御４０６によるストロボ非発光画像から第２のＷＢ補正値を算出する場合、ＷＢ制御部１０４は、図４で説明した第１のＷＢ補正値の算出処理と同様にして、第２のＷＢ補正値ＷＢＣｏ２_Ｒ，ＷＢＣｏ２_Ｇ，ＷＢＣｏ２_Ｂを算出する。
【００４２】
ただし、第２のＷＢ補正値算出処理の場合、ＷＢ制御部１０４は、図４のステップＳ２０１では、ストロボ非発光画像を前述同様にｍ個のブロックに分割する。
【００４３】
また、第２のＷＢ補正値の算出処理の場合、ＷＢ制御部１０４は、図４のステップＳ２０４では、例えばｉ番目のブロックの色評価値Ｃｘ[i]，Ｃｙ[i]が、図５（ｂ）に示す外光用の白検出範囲３０２に含まれるか否かを判断する。図５（ｂ）に示したような広い白検出範囲３０２を用いるのは、ストロボ光が既知の光源であるのに対し、外光（環境光）は既知の光源でないためであり、前述の図５（ａ）の白検出範囲３０１のように検出範囲を限定出来ないからである。図５（ｂ）に示す外光用の白検出範囲３０２は、予め異なる光源のもとで白い物体を撮影し、その撮影画像データから求めた色評価値を黒体放射軸に沿ってプロットすることにより生成されたものである。この白検出範囲３０２は、外光（環境光）が、例えば、太陽光であるか、曇天光であるか、室内の蛍光灯や電球の光など、何れの種類の光源による光であるかにより、個別に設定可能となされている。これら各外光の種類に対応した白検出範囲３０２の何れを用いるかについては、例えば各外光の種類に応じて用意されている複数の光源撮影モードの選択に応じて行われる。図５（ｂ）の色評価値ＣｘとＣｙは前述の図５（ａ）と同様に表されており、色評価値Ｃｙが負方向になるにつれてＧｒｅｅｎ成分が大きくなって例えば蛍光灯光源に近づくことを示している。
【００４４】
図３に説明を戻し、ステップＳ５０３では、ＷＢ制御部１０４は、ストロボ発光画像とストロボ非発光画像のデータから、ストロボ光の輝度成分と環境光の輝度成分を算出し、それらの輝度成分比（光量比）を算出する処理をも行う。
【００４５】
より具体的に説明すると、ステップＳ５０３において、ＷＢ制御部１０４は、図３のステップＳ５０１で取得したストロボ非発光画像を、予め任意に決められたｎ個のブロックに分割する。なお、この場合のブロック分割数の「ｎ」は、前述の図４のステップＳ２０１におけるブロック分割数の「ｍ」と同じでもよいが、本実施形態では異なる分割数としている。これは、輝度成分比算出処理と前述のＷＢ補正値算出処理とでは、それぞれ処理に必要な分解能や処理量、処理負荷が異なるためであり、ここでは輝度成分比算出処理に適した分割数の「ｎ」によりブロック分割を行う。
【００４６】
そして、ＷＢ制御部１０４は、ステップＳ５０３の輝度成分比算出処理において、ストロボ非発光画像について、当該ブロック毎に、前述の式（１）により色平均値Ｒ[i]，Ｇ[i]，Ｂ[i]を算出し、さらにブロック毎の輝度値ａ[i]を算出する。ここでは、輝度成分比算出処理においてストロボ非発光画像データから算出される色平均値Ｒ[i]，Ｇ[i]，Ｂ[i]をＲ２[i]，Ｇ２[i]，Ｂ２[i]と表記する。具体的には、ＷＢ制御部１０４は、ストロボ非発光画像データから算出された色平均値Ｒ２[i]，Ｇ２[i]，Ｂ２[i]を用い、式（４）の演算を行うことにより輝度値ａ[i]を求める。なお、ストロボ非発光画像から算出された輝度値ａ[i]は外光（環境光）の輝度成分であるため、以下の説明では当該輝度値ａ[i]を外光成分ａ[i]と呼ぶことにする。
【００４７】
ａ[i]＝０．３×Ｒ２[i]＋０．６×Ｇ２[i]＋０．１×Ｂ２[i]  ・・・・式（４）
【００４８】
また、ＷＢ制御部１０４は、ストロボ非発光画像から各ブロックの輝度値ａ[i]を算出する処理と同様に、ストロボ発光画像をｎ個のブロックに分割する。さらに前述同様に、ＷＢ制御部１０４は、ストロボ発光画像のブロック毎に、前述の式（１）により色平均値Ｒ[i]，Ｇ[i]，Ｂ[i]を算出し、式（４）と同様の演算を行うことでブロック毎の輝度値ａ[i]を算出する。なお、ここでは輝度成分比算出処理においてストロボ発光画像データから算出される輝度値ａ[i]をｂ[i]と表記する。
【００４９】
またさらに、ＷＢ制御部１０４は、式（５）に示すように、ブロック毎に、ストロボ発光画像より算出された輝度値ｂ[i]から外光成分ａ[i]を減算することにより、ブロック毎にストロボ光の輝度成分ｃ[i]を算出する。すなわち、ストロボ発光画像から算出された輝度値ｂ[i]は、環境光（外光）下でストロボ発光により撮影された画像の輝度成分であるため、この輝度値ｂ[i]から外光成分ａ[i]を減算した輝度値ｃ[i]が、ストロボ光のみの輝度成分となる。以下の説明では、ストロボ光の輝度値ｃ[i]を、ストロボ成分ｃ[i]と呼ぶことにする。
【００５０】
ｃ[i]＝ｂ[i]−ａ[i]      ・・・式（５）
【００５１】
そして、ＷＢ制御部１０４は、式（６）により、それぞれ対応したブロック毎にストロボ成分ｃ[i]と外光成分ａ[i]との比率α[i]を算出する。このストロボ成分ｃ[i]と外光成分ａ[i]との比率α[i]が、前述したストロボ光の輝度成分と環境光（外光）の輝度成分比であり、以下、光量比α[i]と呼ぶことにする。
【００５２】
α[i]＝ｃ[i]／（ａ[i]＋ｃ[i]）    ・・・式（６）
【００５３】
ステップＳ５０３の後、ＷＢ制御部１０４は、処理をステップＳ５０４へ進める。ステップＳ５０４では、ＷＢ制御部１０４は、前述した第１のＷＢ補正値ＷＢＣｏ１_Ｒ，ＷＢＣｏ１_Ｇ，ＷＢＣｏ１_Ｂと第２のＷＢ補正値ＷＢＣｏ２_Ｒ，ＷＢＣｏ２_Ｇ，ＷＢＣｏ２_Ｂとを光量比α[i]に応じて合成して合成ＷＢ補正値を算出する。
【００５４】
ただし、合成ＷＢ補正値を算出する場合、ＲＧＢ座標系よりも（Ｃｘ，Ｃｙ）座標系で処理した方が処理は軽くなるため、ＷＢ制御部１０４は、ＲＧＢ座標系のＷＢ補正値を（Ｃｘ，Ｃｙ）座標系のＷＢ補正値に変換してから合成する。ＲＧＢ座標系から（Ｃｘ，Ｃｙ）座標系への変換は、例えば前述した式（１）の演算により行われる。具体的には、ＷＢ制御部１０４は、ストロボ発光時の色評価値Ｃｘ[i]，Ｃｙ[i]が白検出範囲３０１に含まれる場合の積分値ＳｕｍＲ，ＳｕｍＧ，ＳｕｍＢを、式（１）にて変換することで、（Ｃｘ，Ｃｙ）座標系の第１のＷＢ補正値Ｃｘ１，Ｃｙ１を得る。第２のＷＢ補正値についても同様に、ＷＢ制御部１０４は、ストロボ非発光時の色評価値Ｃｘ[i]，Ｃｙ[i]が白検出範囲３０２に含まれる場合の積分値を式（１）にて変換することで、（Ｃｘ，Ｃｙ）座標系の第２のＷＢ補正値Ｃｘ２，Ｃｙ２を得る。そして、ＷＢ制御部１０４は、式（７）を用い、ブロック毎に、第１のＷＢ補正値Ｃｘ１，Ｃｙ１と第２のＷＢ補正値Ｃｘ２，Ｃｙ２とをそれぞれ光量比α[i]に応じて合成することにより、合成ＷＢ補正値Ｃｘｍ[i]，Ｃｙｍ[i]を算出する。
【００５５】
Ｃｘｍ[i]＝Ｃｘ１[i]×α[i]＋Ｃｘ２[i]×（１−α[i]）
Ｃｙｍ[i]＝Ｃｙ１[i]×α[i]＋Ｃｙ２[i]×（１−α[i]）    ・・・式（７）
【００５６】
その後、ＷＢ制御部１０４は、合成ＷＢ補正値Ｃｘｍ[i]，Ｃｙｍ[i]を再びＲＧＢ座標系に戻し、そのＲＧＢ座標系に戻した後の合成ＷＢ補正値を、各ブロックの各画素値に乗算することによりストロボ発光画像データに対するＷＢ補正処理を行う。
【００５７】
ステップＳ５０４の後、処理はステップＳ５０５へ進むが、このステップＳ５０５の処理はＣＰＵ１１７により行われる。ステップＳ５０５において、ＣＰＵ１１７は、被写体領域の動き量を算出する。ＣＰＵ１１７は、動き量算出処理の一例として、ＷＢ制御部１０４においてＷＢ補正された後のストロボ発光画像とストロボ非発光画像とからそれぞれ色評価値を算出し、それら色評価値の差分に基づいて被写体領域の動き量を算出する。
【００５８】
具体的には、ＣＰＵ１１７は、ストロボ光と外光の混合光源で撮像されたストロボ発光画像については、前述の合成ＷＢ補正値でＷＢ補正した後の画像データから、前述の式（１）と同様の演算によりブロック毎に色評価値ＷＣｘ[i]，ＷＣｙ[i]を算出する。また、ＣＰＵ１１７は、外光のみで撮像されたストロボ非発光画像については、前述の第２のＷＢ補正値でＷＢ補正を行った後の画像データから、前述の式（１）同様の演算によりブロック毎に色評価値ＷＣｘ２[i]，ＷＣｙ２[i]を算出する。そして、ＣＰＵ１１７は、それら色評価値ＷＣｘ１[i]，ＷＣｙ１[i]と色評価値ＷＣｘ２[i]，ＷＣｙ２[i]のうち、ｘ座標の色評価値ＷＣｘ１[i]とＣｘ２[i]を用いて、式（８）の演算により差分ΔＷＣｘ[i]を求める。ＣＰＵ１１７は、この差分ΔＷＣｘ[i]を動き量ΔＷＣｘ[i]とする。
【００５９】
ΔＷＣｘ[i]＝ＷＣｘ１[i]−ＷＣｘ２[i]    ・・・式（８）
【００６０】
さらに、ＣＰＵ１１７は、前述の動き量ΔＷＣｘ[i]と所定の第１の閾値とを比較し、動き量ΔＷＣｘ[i]が第１の閾値以上である場合は、そのブロック（ｉ番目のブロック）において動き差分があると判断する。そして、ＣＰＵ１１７は、動き量ΔＷＣｘ[i]が第１の閾値以上になっているブロックの数をカウントしていき、それらブロックのカウント数が所定の第２の閾値以上である場合に、それらブロックを含んでいる被写体領域の動き量が大きいと判断する。
【００６１】
なお、前述の例では、ＣＰＵ１１７は、色評価値の差分に基づいて動き量を求めたが、例えばストロボ発光画像とストロボ非発光画像の輝度エッジの差分に基づいて動き量を判断してもよい。すなわちこの場合、ＣＰＵ１１７は、ストロボ発光画像とストロボ非発光画像の両画像から、被写体領域毎にそれぞれ輝度値が急激に変化している輝度エッジ部を抽出する。また、ＣＰＵ１１７は、ストロボ発光画像の撮影とストロボ非発光画像の撮影がなされた間に、被写体領域の輝度エッジ部の位置が変化した際の位置差分を算出する。そして、ＣＰＵ１１７は、ストロボ発光画像とストロボ非発光画像から被写体領域毎に抽出された輝度エッジ部の位置差分が所定の第３の閾値以上である場合に、被写体領域の動き量が大きいと判断する。
【００６２】
次に、ステップＳ５０５の後は、ステップＳ５０６の処理に進むが、このステップＳ５０６の処理は、ＣＰＵ１１７が階調補正回路１０９における階調補正処理の強度（ゲイン量）を制御することにより実行される処理である。ステップＳ５０６において、ＣＰＵ１１７は、ステップＳ５０５で算出した動き量ΔＷＣｘに基づいて、階調補正回路１０９で行われる階調補正処理の際の入出力特性を制御する。
【００６３】
ここで、被写体の移動等により、ストロボ発光時とストロボ非発光時の間で被写体位置が変化すると、ストロボ発光時とストロボ非発光時の両撮影画像内における被写体領域の位置は異なるようになる。このように、ストロボ発光時とストロボ非発光時の両撮影画像内で被写体領域の位置が異なる場合において、前述のような被写体領域毎のＷＢ補正処理が行われると、動きのある被写体領域と動きの無い背景の画像領域の境界部分等に色むらが生ずる。すなわち、ストロボ発光時とストロボ非発光時の両撮影画像内の被写体領域の位置の差分に相当する差分画像領域に色むらが生ずる。特に被写体の動き量が大きいような場合には、当該差分画像領域に生じた色むらが目立つことになる。そして、被写体領域毎のＷＢ補正処理後に階調補正処理が行われる場合、その差分画像領域の色むらが階調補正処理により更に強調されてしまうことがある。このように、差分画像領域の色むらが階調補正処理によって強調されてしまうと、ユーザーが意図しない不自然な画像になってしまう。
【００６４】
このため、本実施形態では、ＣＰＵ１１７は、被写体領域の位置差分が大きい場合、つまり被写体領域の動き量が大きい場合、図６に示すように、その動き量に応じて、階調補正回路１０９で行われる階調補正処理の強度（ゲイン量）を制御する。例えば、ＣＰＵ１１７は、被写体領域の動き量が大きい場合には、ゲインアップを抑えるような入出力特性を階調補正回路１０９に設定して、階調補正処理を行わせる。具体的に説明すると、被写体領域に動きが無い場合や、動き量が少ないため色むらが発生しても目立たない場合には、ＣＰＵ１１７は、図６に示す第１の入出力特性６０１のように或る程度大きなゲインを掛けるような階調補正処理を行わせる。一方、被写体領域の動き量が大きいため色むらが発生すると目立つ虞がある場合には、ＣＰＵ１１７は、図６の第２の入出力特性６０２のように第１の入出力特性６０１よりもゲイン量が抑えられた入出力特性による階調補正処理を行わせる。
【００６５】
また、本実施形態において、図６で示したような被写体領域の動き量に応じた階調補正処理は、画像全体に対して行う場合だけでなく、被写体領域毎に対して行うことも可能である。すなわち、ＣＰＵ１１７は、被写体領域の動き量が大きい場合には、当該動きが有る被写体領域とその被写体領域に接している被写体領域に対して、例えばゲインアップを抑えるような入出力特性で階調補正回路１０９による階調補正処理を行わせる。言い換えると、ＣＰＵ１１７は、被写体領域の動きにより発生する差分画像領域に対応した各被写体領域に対して、当該被写体領域の動き量に応じた階調補正処理が行われるように階調補正回路１０９を制御する。
【００６６】
より具体的に説明すると、例えば図７（ａ）に示すような空画像７０１と背景画像７０２と人物画像７０３からなる撮影画像７００の場合、ＣＰＵ１１７は、先ず、当該撮影画像７００から各被写体領域を判別する。すなわちこの場合、ＣＰＵ１１７は、図７（ｂ）に示すように、図７（ａ）の撮影画像７００から、空領域７１１と背景領域７１２と人物の顔領域７１４と顔以外の体領域７１３をそれぞれ被写体領域として判別する。なお、各被写体領域の判定方法については、例えばニューラルネットワークによる学習データを用いた物体認識等の公知の方法を挙げることができる。また、被写体領域の判定方法については、一画素毎ではなく、一定のサイズで区切られたブロック毎に判定する方法でもよい。
【００６７】
そして、ＣＰＵ１１７は、被写体領域の動き量が大きい場合には、動きの有る被写体領域とその被写体領域に接している被写体領域に対して、当該被写体領域の動き量に応じた階調補正処理が行われるように階調補正回路１０９を制御する。ここで、図８には、図７（ａ）のような撮影画像７００の被写体領域毎に階調補正処理を行う場合において、被写体領域別に設定される入出力特性の一例を示している。すなわち、図７（ａ）の撮影画像７００は明るい空画像７０１がある逆光シーンで人物画像７０３が撮影された画像例であり、図８の例はこのような逆光シーンを想定した入出力特性の一例を示している。図７（ａ）のような逆光シーンでは、人物の顔が露出アンダー傾向となるため人物の被写体領域に対しては、図８に示すように、ゲインが高くなる入出力特性８０１が設定されることになる。一方、空等の被写体領域は露出がオーバー傾向となりいわゆる白飛びし易いので、図８のようにゲインが抑え目になる入出力特性８０３が設定され、背景の被写体領域にはそれらの中間の入出力特性８０２が設定されることになる。図８のように被写体領域毎に入出力特性が設定されている場合に、例えば図７（ａ）の人物画像７０３に動きがあると、図７（ｂ）の顔領域７１４及び体領域７１３と背景領域７１２との境界部分における差分画像領域の色むらが目立つようになる。したがって、ＣＰＵ１１７は、図７（ａ）の人物画像７０３に動きがある場合、当該人物画像７０３の動きにより差分画像領域が発生する顔領域７１４及び体領域７１３と背景領域７１２については、階調補正処理の強度（ゲイン量）を下げるようにする。すなわちこの場合、ＣＰＵ１１７は、顔領域７１４及び体領域７１３と背景領域７１２に対して、階調補正処理の強度（ゲイン量）を下げるように、図８の入出力特性８０１と８０２を調整する。一方、人物画像７０３の動きによる差分画像領域が発生しない空領域７１１、つまり動きの有る人物画像７０３に接していない空領域７１１については、ＣＰＵ１１７は、階調補正処理のための入出力特性８０３の調整は行わない。
【００６８】
なお、前述の実施形態では、ＣＰＵ１１７が、ＷＢ制御部１０４でＷＢ補正値を求める際に算出された情報に基づいて動き量を検出する例を挙げたが、ＷＢ制御部１０４が動き量を検出してもよい。この場合、ＣＰＵ１１７は、ＷＢ制御部１０４が検出した動き量に基づいて階調補正処理を制御する。その他、階調補正回路１０９は、動き量の情報を受け取り、その動き量に基づいて、自ら階調補正処理の際の入出力特性を調整してもよい。
【００６９】
その他、前述した外光用の第２のＷＢ補正値は、ストロボ非発光画像のデータから求められるため、図２のテスト発光制御４０７の前の外光制御４０６による画像データだけでなく、異なる撮像駆動モードで得られた画像データから算出されてもよい。異なる撮像駆動モードとしては、例えば、静止画像を撮像する駆動モード、ＥＶＦ（Ｅｌｅｃｔｏｒｎｉｃ  Ｖｉｅｗ  Ｆｉｎｄｅｒ）駆動モード、動画を撮像する駆動モードを挙げることができる。例えば、第２のＷＢ補正値は、ＥＶＦ駆動モードにおいて過去に算出されたＷＢ補正値を用いてもよい。ただし、これらの各駆動モードではそれぞれ得られる画像のサイズや画素加算数、画素間引き率などが異なるため、撮像素子１０２において各駆動モードで分光感度特性が異なる場合がある。この場合、第１のＷＢ補正値と第２のＷＢ補正値をそのまま合成できない場合がある。このように、第１のＷＢ補正値が算出された際の撮像駆動モードと第２のＷＢ補正値が算出された際の撮像駆動モードとの間に分光感度特性に差がある場合には、それら分光感度特性の差分を補正した上で合成ＷＢ補正値を算出する。例えばストロボ発光画像の色評価値が（Ｃｘ１，Ｃｙ１）、ストロボ非発光画像の色評価値が（Ｃｘ２＋ΔＣｘ，Ｃｙ２＋ΔＣｙ）であり、分光感度特性の差分（ΔＣｘ，ΔＣｙ）が存在する場合には、当該差分を補正した上で合成ＷＢ補正値を算出する。
【００７０】
以上説明したように、第１の実施形態の電子カメラにおいては、ストロボ発光画像とストロボ非発光画像の被写体領域における輝度成分の比に基づいて、ストロボ発光画像の被写体領域毎にＷＢ補正を行うようにしている。そして、電子カメラは、ストロボ発光画像とストロボ非発光画像の撮影間で被写体領域の動きが検出された場合、ホワイトバランス補正後の階調補正処理の際に、被写体領域の動き量に応じて階調補正処理の強度（ゲイン、度合い）を調整する。例えば、被写体領域の動きが大きい場合には、階調補正処理で掛けられるゲインを小さくする。これにより、第１の実施形態によれば、ＷＢ補正後の被写体領域の境界付近で発生する色むらが、階調補正処理により強調されてしまうことを防いでいる。
【００７１】
（第２の実施形態）
次に第２の実施形態について説明する。第２の実施形態の電子カメラは、前述した図１と同様に構成される。第２の実施形態の場合、ＷＢ制御部１０４は、前述の第１の実施形態と同様に算出した第１のＷＢ補正値を用いて、ストロボ発光画像データのＷＢ補正を行う。また、ＷＢ制御部１０４は、第１の実施形態と同様に算出した第２のＷＢ補正値を用いて、ストロボ非発光画像データのＷＢ補正を行う。そして、第２の実施形態の場合、それら第１，第２のＷＢ補正値によりそれぞれＷＢ補正されたストロボ発光画像データとストロボ非発光画像データがそれぞれ現像され、その現像後の画像データを、前述した光量比に応じて合成する。以下、第１の実施形態とは異なる点を中心に説明し、第１の実施形態と同様な構成や処理についての詳細は省略する。
【００７２】
図９は、第２の実施形態の電子カメラにおいて、第１，第２のＷＢ補正値によりそれぞれストロボ発光画像データとストロボ非発光画像データがＷＢ補正され、さらにそのＷＢ補正後の画像データが合成されるまでの処理の流れを示すフローチャートである。
【００７３】
なお、図９において、ステップＳ８０１〜Ｓ８０６までは、図３のフローチャートのステップＳ５０１〜Ｓ５０６までと同等の処理が行われるためそれらの詳細な説明は省略する。ただし、図９のステップＳ８０４において、ＷＢ制御部１０４は、第１のＷＢ補正値を用いてストロボ発光画像データのＷＢ補正を行い、第２のＷＢ補正値を用いてストロボ非発光画像データのＷＢ補正を行う。また、図９のステップＳ８０６において、階調補正回路１０９は、ＷＢ補正後のストロボ発光画像データに対して前述の第１の実施形態と同様の階調補正処理を行う。
【００７４】
ステップＳ８０７以降は、色輝度変換回路１１０で行われる処理である。第２の実施形態の場合、色輝度変換回路１１０には、ＷＢ補正後のストロボ発光画像とストロボ非発光画像のデータが色変換ＭＩＸ回路１０５〜階調補正回路１０９にて前述同様に処理された後の画像データが入力される。
【００７５】
ステップＳ８０７では、色輝度変換回路１１０は、階調補正回路１０９による階調補正処理後のストロボ発光画像のデータから画像データＹＵＶ１を生成する。ステップＳ８０７の後、色輝度変換回路１１０は、処理をステップＳ８０８へ進める。ステップＳ８０８では、色輝度変換回路１１０は、階調補正回路１０９を介したストロボ非発光画像データから画像データＹＵＶ２を生成する。ステップＳ８０８の後、色輝度変換回路１１０は、処理をステップＳ８０９へ進める。
【００７６】
ステップＳ８０９では、色輝度変換回路１１０に対し、ＣＰＵ１１７から、前述の第１の実施形態で説明した光量比α[i]の情報が供給される。そして、色輝度変換回路１１０は、式（９）により、光量比α[i]を用いて画像データＹＵＶ１と画像データＹＵＶ２とを合成して、合成画像データＹＵＶ３を生成する。なお、式（９）において、各値Ｙ１[i]，Ｕ１[i]，Ｖ１[i]は画像データＹＵＶ１の値であり、各値Ｙ２[i]，Ｕ２[i]，Ｖ２[i]は画像データＹＵＶ２の値である。また、各値Ｙ３[i]，Ｕ３[i]，Ｖ３[i]は合成画像データＹＵＶ３の値である。このステップＳ８０９の処理の完了により、図９のフローチャートの処理は終了する。
【００７７】
Ｙ３[i]＝Ｙ１[i]×α[i]＋Ｙ２[i]×（１−α[i]）
Ｕ３[i]＝Ｕ１[i]×α[i]＋Ｕ２[i]×（１−α[i]）      ・・・式（９）
Ｖ３[i]＝Ｖ１[i]×α[i]＋Ｖ２[i]×（１−α[i]）
【００７８】
なお、図１には図示しないが、例えば色輝度変換回路１１０の後段に合成回路を設け、当該合成回路において、光量比α[i]を用いた画像データＹＵＶ１と画像データＹＵＶ２との合成処理を行うようにしてもよい。
【００７９】
第２の実施形態においては、第１の実施形態と同様にストロボ発光時とストロボ非発光時の画像領域の動きに応じて階調補正処理の強度（ゲイン、度合い）を調整する。これにより、第２の実施形態によれば、ＷＢ補正後の被写体領域の境界付近で発生する色むらが、階調補正処理により強調されてしまうことを防ぐことができる。
【００８０】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８１】
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００８２】
１０１  光学系、１０２  撮像素子、１０３  メモリ、１０４  ＷＢ補正部、１０５  色変換ＭＩＸ回路、１０６  ＬＰＦ回路、１０７  ＣＳＵＰ回路、１０８  ＲＧＢ変換回路、１０９  階調補正回路、１１０  色輝度変換回路、１１１  ＪＰＥＧ圧縮回路、１１２  記録回路、１１３  輝度信号（Ｙ）生成回路、１１４  エッジ強調回路、１１５  制御回路、１１６  顔検出部、１１７  ＣＰＵ
【図１】
0006570311.tif 000003
【図２】
0006570311.tif 000004
【図３】
0006570311.tif 000005
【図４】
0006570311.tif 000006
【図５】
0006570311.tif 000007
【図６】
0006570311.tif 000008
【図７】
0006570311.tif 000009
【図８】
0006570311.tif 000010
【図９】
0006570311.tif 000011