(57)【特許請求の範囲】
【請求項１】
撮像された画像データにおける第１の光源に対応する第１のホワイトバランス補正値と、前記画像データにおける第２の光源に対応する第２のホワイトバランス補正値とを決定する補正値決定手段と、
前記画像データに対して前記第２の光源が存在するか否かを判定する判定手段と、
前記判定手段により前記第２の光源が存在すると判定された場合、同一の前記画像データに対し、前記第１のホワイトバランス補正値に基づいて第１の画像データを現像するとともに、前記第２のホワイトバランス補正値に基づいて第２の画像データを現像する現像手段と、
前記画像データの色評価値と前記第２の光源下の白の色評価値との差分に基づいて、前記第１の画像データと前記第２の画像データとの合成比率を決定する合成比率決定手段と、
前記合成比率決定手段により決定された前記合成比率に従って、前記第１の画像データと前記第２の画像データとを合成する合成手段とを有することを特徴とする画像処理装置。
【請求項２】
前記判定手段は、前記画像データにおける各ブロックの色評価値と前記第２の光源下の白の色評価値との距離に応じて、前記画像データに対して前記第２の光源が存在するか否かを判定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、前記画像データの撮影環境の明るさに応じて、前記画像データに対して前記第２の光源が存在するか否かを判定することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記判定手段は、前記第１のホワイトバランス補正値における色温度に応じて、前記画像データに対して前記第２の光源が存在するか否かを判定することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記合成手段は、前記判定手段により前記画像データに対して前記第２の光源が存在しないと判定された場合、前記第１の画像データと前記第２の画像データとの合成処理を行わないことを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記補正値決定手段は、黒体放射軸を用いたホワイトバランス制御に基づいて、前記第１のホワイトバランス補正値を決定することを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
前記補正値決定手段は、光源毎に予め決められた値を用いて、前記第２のホワイトバランス補正値を決定することを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
前記画像データの色評価値をブロック毎に算出する色評価値算出手段を更に有し、
前記合成比率決定手段は、前記ブロック毎の前記画像データの色評価値と前記第２の光源下の白の色評価値との差分に基づいて、前記合成比率を前記ブロック毎に決定することを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記合成比率決定手段は、画素補間処理により、前記ブロック毎の前記合成比率から画素毎の合成比率を決定することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記色評価値算出手段は、前記画像データの色評価値を算出する際に、飽和画素の画素値と当該画素に対応する別色の画素の画素値とを色平均値の算出に含めないことを特徴とする請求項８又は９に記載の画像処理装置。
【請求項１１】
前記合成手段は、前記第１の画像データと前記第２の画像データとの色成分のみを合成することを特徴とする請求項１乃至１０の何れか１項に記載の画像処理装置。
【請求項１２】
画像処理装置によって実行される画像処理方法であって、
撮像された画像データにおける第１の光源に対応する第１のホワイトバランス補正値と、前記画像データにおける第２の光源に対応する第２のホワイトバランス補正値とを決定する補正値決定ステップと、
前記画像データに対して前記第２の光源が存在するか否かを判定する判定ステップと、
前記判定ステップにより前記第２の光源が存在すると判定された場合、同一の前記画像データに対し、前記第１のホワイトバランス補正値に基づいて第１の画像データを現像するとともに、前記第２のホワイトバランス補正値に基づいて第２の画像データを現像する現像ステップと、
前記画像データの色評価値と前記第２の光源下の白の色評価値との差分に基づいて、前記第１の画像データと前記第２の画像データとの合成比率を決定する合成比率決定ステップと、
前記合成比率決定ステップにより決定された前記合成比率に従って、前記第１の画像データと前記第２の画像データとを合成する合成ステップとを有することを特徴とする画像処理方法。
【請求項１３】
撮像された画像データにおける第１の光源に対応する第１のホワイトバランス補正値と、前記画像データにおける第２の光源に対応する第２のホワイトバランス補正値とを決定する補正値決定ステップと、
前記画像データに対して前記第２の光源が存在するか否かを判定する判定ステップと、
前記判定ステップにより前記第２の光源が存在すると判定された場合、同一の前記画像データに対し、前記第１のホワイトバランス補正値に基づいて第１の画像データを現像するとともに、前記第２のホワイトバランス補正値に基づいて第２の画像データを現像する現像ステップと、
前記画像データの色評価値と前記第２の光源下の白の色評価値との差分に基づいて、前記第１の画像データと前記第２の画像データとの合成比率を決定する合成比率決定ステップと、
前記合成比率決定ステップにより決定された前記合成比率に従って、前記第１の画像データと前記第２の画像データとを合成する合成ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに対するホワイトバランス制御技術に関するものである。
【背景技術】
【０００２】
デジタルカメラやデジタルビデオカメラ等の、撮像素子を用いる撮像装置においては、撮影によって得られた画像データの色調を調整するホワイトバランス制御機能を備えている。ホワイトバランス制御には、マニュアルホワイトバランス制御とオートホワイトバランス制御とがある。マニュアルホワイトバランス制御は、予め白色被写体を撮像してホワイトバランス係数を算出しておき、算出したホワイトバランス係数を画面全体に適用する制御である。オートホワイトバランス制御は、撮影した画像データから白色と思われる部分を自動検出し、画面全体の各色成分の平均値からホワイトバランス係数を算出し、算出したホワイトバランス係数を画面全体に適用する制御である。
【０００３】
従来のオートホワイトバランス制御においては、ストロボ発光シーンにおいて画像データ内にストロボ光とは異なる光源が存在する場合、上記のように算出されたホワイトバランス係数を画面全体に適用してホワイトバランス制御を行う。そのため、各光源をともに適正な色味とするホワイトバランス制御を行うことが困難であった。例えば、ストロボ発光シーンで環境光に電球色光源のような低色温度光源が存在する場合、ストロボ光が高色温度光源であるため、ストロボ光にホワイトバランスを合わせると低色温度光源にホワイトバランスが合わなくなってしまう。一方、低色温度光源にホワイトバランスを合わせた場合には、ストロボ光にホワイトバランスが合わなくなってしまう。また、両方の光源の中間にホワイトバランスを合わせてホワイトバランス制御を行ったとしても、両方の光源にホワイトバランスが合わず、ストロボ光で照射されている領域は青みを帯び、低色温度光源で照射されている領域は赤味を帯びるような色味となってしまう。
【０００４】
これに対し、特許文献１には次のような技術が開示されている。即ち、特許文献１に開示される技術は、ストロボ発光時に撮影された画像データとストロボ非発光時に撮影された画像データとを、任意の被写体領域毎に比較してデータの比を求め、その比の値によりストロボ光の寄与度を判定する。そして、判定した寄与度に応じて被写体領域毎にホワイトバランス制御値を選択して、ホワイトバランス制御を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３５４０４８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示された技術は、ストロボ光を発光したときのホワイトバランス制御に関する技術であるため、ストロボ光を発光していない場合には適用することができない。また、ホワイトバランス制御値を各被写体領域で可変させた後に現像処理を行うため、色の再現等、その他の制御がホワイトバランス制御値に対して適正にならなくなってしまう場合があり、適正な色味を十分に再現することができない。
【０００７】
そこで、本発明の目的は、複数の光源が混在する場合であっても、適正な色味の画像データを生成することにある。
【課題を解決するための手段】
【０００８】
本発明の画像処理装置は、撮像された画像データにおける第１の光源に対応する第１のホワイトバランス補正値と、前記画像データにおける第２の光源に対応する第２のホワイトバランス補正値とを決定する補正値決定手段と、前記画像データに対して前記第２の光源が存在するか否かを判定する判定手段と、前記判定手段により前記第２の光源が存在すると判定された場合、同一の前記画像データに対し、前記第１のホワイトバランス補正値に基づいて第１の画像データを現像するとともに、前記第２のホワイトバランス補正値に基づいて第２の画像データを現像する現像手段と、前記画像データの色評価値と前記第２の光源下の白の色評価値との差分に基づいて、前記第１の画像データと前記第２の画像データとの合成比率を決定する合成比率決定手段と、前記合成比率決定手段により決定された前記合成比率に従って、前記第１の画像データと前記第２の画像データとを合成する合成手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、複数の光源が混在する場合であっても、適正な色味の画像データを生成することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係るデジタルカメラの構成例を示すブロック図である。
【図２】第１のホワイトバランス補正値(第１のＷＢ補正値)の算出方法を示すフローチャートである。
【図３】白検出の際に使用されるグラフを示す図である。
【図４】第１の実施形態における画像データの合成処理を示すフローチャートである。
【図５】第２の光源の白評価値と各ブロックの色評価値との関係の一例を示す図である。
【図６】第２の光源を検出する際の重み付け（ゲイン）処理を説明するための図である。
【図７】第２の光源を判別する際の判別評価値を示す図である。
【図８】第２の光源を判別する際の色温度による判別評価値を示す図である。
【図９】合成比率を算出する際に用いられる第２の光源の白評価値と各ブロックの色評価値との関係の一例を示す図である。
【図１０】第２の実施形態における画像データの合成処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１２】
図１は、本発明の第１の実施形態に係るデジタルカメラの構成例を示すブロック図である。なお、本実施形態に係るデジタルカメラは、画像処理装置の適用例となる構成である。図１において、固体撮像素子１０１はＣＣＤやＣＭＯＳ等からなる撮像素子であり、その表面は例えばベイヤー配列のようなＲＧＢカラーフィルタにより覆われ、カラー撮影が可能な構成となっている。被写体像が固体撮像素子１０１上で結像されると、固体撮像素子１０１は画像データ（画像信号）を生成し、メモリ１０２に記憶させる。
【００１３】
制御部１１４は、画像データ全体が明るくなるようなシャッタ速度、絞り値を計算するとともに、合焦領域内にある被写体に合焦するようにフォーカスレンズの駆動量を計算する。そして、制御部１１４によって計算された露出値（シャッタ速度、絞り値）及びフォーカスレンズの駆動量は撮像制御回路１１３に出力され、各値に基づいてそれぞれ制御される。１０３はホワイトバランス（以下、ＷＢ）制御回路であり、メモリ１０２に記憶された画像データに基づいてＷＢ補正値を算出し、算出したＷＢ補正値を用いて、メモリ１０２に記憶された画像データに対してＷＢ補正を行う。なお、このＷＢ制御回路１０３のＷＢ補正値の算出方法の詳細については後述する。
【００１４】
１０４は、ＷＢ制御回路１０３によりＷＢ補正された画像データが最適な色で再現されるように色ゲインをかけて色差信号Ｒ−Ｙ、Ｂ−Ｙに変換する色変換マトリックス回路である。１０５は、色差信号Ｒ−Ｙ、Ｂ−Ｙの帯域を制限するためのローパスフィルタ（以下、ＬＰＦ）回路である。１０６は、ＬＰＦ回路１０５で帯域制限された画像信号のうち、飽和部分の偽色信号を抑圧するためのＣＳＵＰ（Chroma Supress）回路である。一方、ＷＢ制御回路１０３によりＷＢ補正された画像データは、輝度信号生成回路１１１にも出力されて輝度信号Ｙが生成され、エッジ強調回路１１２は、生成された輝度信号Ｙに対してエッジ強調処理を施す。
【００１５】
１０７は、ＣＳＵＰ回路１０６から出力される色差信号Ｒ−Ｙ、Ｂ−Ｙと、エッジ強調回路１１２から出力される輝度信号ＹとをＲＧＢ信号に変換するＲＧＢ変換回路である。１０８は、変換されたＲＧＢ信号に対して階調補正を施すガンマ（γ）補正回路である。１０９は、階調補正されたＲＧＢ信号をＹＵＶ信号に変換する色輝度変換回路である。１１０は、色輝度変換回路１０９により生成されたＹＵＶ信号をＪＰＥＧ方式により圧縮するＪＰＥＧ圧縮回路である。ＪＰＥＧ圧縮回路１１０から出力された信号は外部記録媒体又は内部記録媒体に画像データとして記録される。
【００１６】
次に、第１の実施形態におけるＷＢ制御回路１０３によるＷＢ補正値の算出方法について説明する。先ず、図２を参照しながら、第１のホワイトバランス補正値(第１のＷＢ補正値)の算出方法について説明する。ここで、第１のＷＢ補正値とは、第１の光源に対する通常のホワイトバランス制御により算出される補正値である。また本処理は、黒体放射軸を用いたＷＢ制御に基づいてＷＢ補正値を算出する処理である。
【００１７】
ステップＳ２０１において、ＷＢ制御回路１０３は、メモリ１０２に記憶された画像データを読み出し、当該画像データを任意のｍ個のブロックに分割する。ステップＳ２０２において、ＷＢ制御回路１０３は、ブロック（１〜ｍ）毎に、画素値を色毎に加算平均して色平均値（Ｒ［ｉ］，Ｇ［ｉ］，Ｂ［ｉ］）を算出し、次の式を用いて色評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）を算出する。
Ｃｘ［ｉ］＝（Ｒ［ｉ］−Ｂ［ｉ］）／Ｙ［ｉ］×１０２４
Ｃｙ［ｉ］＝（Ｒ［ｉ］＋Ｂ［ｉ］−２Ｇ［ｉ］）／Ｙ［ｉ］×１０２４
但し、Ｙ［ｉ］＝（Ｒ［ｉ］＋２Ｇ［ｉ］＋Ｂ［ｉ］）／４
【００１８】
ステップＳ２０３において、ＷＢ制御回路１０３は、ｉ番目のブロックの色評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）が、図３に示す予め設定される白検出範囲３０１に含まれるか否かを判定する。白検出範囲３０１は、予め異なる光源下で白を撮影し、算出した色評価値をプロットしたものである。この白検出範囲は撮影モードに対応して個別に設定できるものとする。図３におけるｘ座標（Ｃｘ）の負方向が高色温度被写体の白を撮影したときの色評価値を表し、正方向が低色温度被写体の白を撮影したときの色評価値を表している。また、ｙ座標（Ｃｙ）は光源の緑成分の度合いを意味しており、負方向になるにつれてＧｒｅｅｎ成分が大きくなる。
【００１９】
ｉ番目のブロックの色評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）が予め設定される白検出範囲３０１に含まれる場合、処理はステップＳ２０４に移行する。一方、ｉ番目のブロックの色評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）が予め設定される白検出範囲３０１に含まれない場合、処理はステップＳ２０４をスキップして、ステップＳ２０５に移行する。
【００２０】
ステップＳ２０４において、ＷＢ制御回路１０３は、ｉ番目のブロックが白色であると判定して、当該ブロックの色平均値（Ｒ［ｉ］，Ｇ［ｉ］，Ｂ［ｉ］）を積分する。なお、ステップＳ２０３、Ｓ２０４の処理は次の式によって表すことができる。
【００２１】
【数１】
0005804857.tif 000002
【００２２】
ここで、上記式において、色評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）が白検出範囲３０１に含まれる場合にはＳｗ［ｉ］を１とし、色評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）が白検出範囲３０１に含まれない場合にはＳｗ［ｉ］を０とする。これにより、ステップＳ２０３、Ｓ２０４において、色評価値（Ｒ［ｉ］，Ｇ［ｉ］，Ｂ［ｉ］）を積分するか、積分しないかを実質的に行っている。
【００２３】
ステップＳ２０５において、ＷＢ制御回路１０３は、全てのブロックについて上記処理を行ったか否かを判定する。未処理のブロックが存在する場合、処理はステップＳ２０２に戻って上記処理を繰り返す。一方、全てのブロックについて処理を行った場合、処理はステップＳ２０６に移行する。
【００２４】
ステップＳ２０６において、ＷＢ制御回路１０３は、得られた色平均値の積分値（ＳｕｍＲ１，ＳｕｍＧ１，ＳｕｍＢ１）から、次の式を用いて、第１のＷＢ補正値（ＷＢＣｏｌ＿Ｒ１，ＷＢＣｏｌ＿Ｇ１，ＷＢＣｏｌ＿Ｂ１）を算出する。
ＷＢＣｏｌ＿Ｒ１＝ＳｕｍＹ１×１０２４／ＳｕｍＲ１
ＷＢＣｏｌ＿Ｇ１＝ＳｕｍＹ１×１０２４／ＳｕｍＧ１
ＷＢＣｏｌ＿Ｂ１＝ＳｕｍＹ１×１０２４／ＳｕｍＢ１
但し、ＳｕｍＹ１＝（ＳｕｍＲ１＋２×ＳｕｍＧ１＋ＳｕｍＢ１）／４
【００２５】
なお、ストロボ光を発光する場合には、図３の３０２に示すようなストロボ光用の白検出範囲３０２を用いて、上述したＷＢ補正値の算出方法と同様に第１のＷＢ補正値を算出する。これはストロボ光という既知の光源であることから、白検出範囲を限定できるためである。なお、ストロボ光を発光する場合には、第１のＷＢ補正値としてストロボ光のＷＢ補正値を既知のものとして予め設定してもよい。
【００２６】
次に、第２の光源に対する第２のホワイトバランス補正値（第２のＷＢ補正値）の決定方法について説明する。第２のＷＢ補正値（ＷＢＣｏ２＿Ｒ，ＷＢＣｏ２＿Ｇ，ＷＢＣｏ２＿Ｂ）は、光源毎に予め決められた値を用いて決定する。この値は、予め各光源下で白を撮影して算出した値を用いる。例えば、第２の光源が水銀灯である場合、水銀灯用に予め決められているＷＢ補正値を第２のＷＢ補正値として用いる。ここで、光源に複数の種類がある場合、光源の種類に応じて第２のＷＢ補正値を可変にしてもよい。例えば、水銀灯に２つの種類がある場合には、それぞれの水銀灯に応じてＷＢ補正値を可変にしてもよい。
【００２７】
次に、図４のフローチャートを参照しながら、第１の実施形態に係るデジタルカメラの画像データの合成処理について説明する。ステップＳ４０１において、ＷＢ制御回路１０３は、メモリ１０２に記憶された画像データに対してシーン判別を行い、第２の光源が存在するか否かを判定する。例えば、ＷＢ制御回路１０３は、第２の光源として水銀灯が存在すると判定した場合、図５に示すように、当該画像データの色評価値５０２が、予め決められている水銀灯光源下での白の色評価値（以下、白評価値）５０３を含む所定のエリア５０１に属するか否かを判定する。即ち、ＷＢ制御回路１０３は、水銀灯光源下での白評価値５０３から画像データの色評価値５０２までの距離（ＤｉｓＣｘ，ＤｉｓＣｙ）に基づいて、画像データの色評価値５０２が所定のエリア５０１の範囲内に存在するか否かを判定する。そしてＷＢ制御回路１０３は、画像データから分割された各ブロックから所定のエリア５０１内に存在する色評価値のブロックを検出し、検出したブロック数を、第２の光源が存在するか否かを判別するための判別評価値として算出する。
【００２８】
また、各ブロックの色評価値が第２の光源における白評価値５０３に近い場合、第２の光源である確率が高く、離れていくにつれて低くなっていく。そのため、ＷＢ制御回路１０３は、図６（ａ）に示すようなＣｘ方向の距離（ＤｉｓＣｘ）に応じた重みと、図６（ｂ）に示すようなＣｙ方向の距離（ｄＤｉｓＣｙ）に応じた重みとをかけてブロック数を積算する。また、非常に暗いブロックや飽和しているようなブロックは検出精度が落ちる。そのため、ＷＢ制御回路１０３は、図６（ｃ）に示すようなブロック輝度値（Ｙ）に応じた重みをかけてブロック数を積算する。即ち、ＷＢ制御回路１０３は、次の式のようにブロック数（CountNum）を積算する。
【００２９】
【数２】
0005804857.tif 000003
【００３０】
また、ブロック数以外の判定要素として、撮影環境の明るさ（Ｂｖ）も加味してもよい。例えば、水銀灯は夜景等、比較的暗いようなシーンで存在するため、ＷＢ制御回路１０３は、図７のマトリックスに示すような明るさ（Ｂｖ）とブロック数（CountNum）とによって判別評価値（Judge_Value）を算出する。ここで算出した判別評価値が高い程、第２の光源の存在確率が高いということになる。また、通常のホワイトバランス制御である第１のＷＢ補正値においての色温度を判定要素として付加してもよい。例えば、第１のＷＢ補正値において低色温度光源と判定された場合、シーンとして夜景等の水銀灯は存在しにくいためである。つまり、ＷＢ制御回路１０３は、図８に示すような第１のＷＢ補正値の算出処理にて出力される色温度による判別評価値（Temp_Value）も考慮して、第２の光源が存在するか否かを判定する。最終的な判別評価値（Final_Judge）は次の式のようになる。
Final_Judge=Judge_Value×Temp_Value
【００３１】
ステップＳ４０１において判別評価値が或る閾値未満であると判定された場合、ＷＢ制御回路１０３は第２の光源が存在しないと判定し、処理はステップＳ４０７に移行する。ステップＳ４０７において、ＷＢ制御回路１０３は、画像データの合成処理を行わず、図２に示した処理で算出された第１のＷＢ補正値を用いて通常のホワイトバランス制御を行う。一方、ステップＳ４０１において判別評価値が閾値以上であると判定された場合、ＷＢ制御回路１０３は第２の光源が存在すると判定し、処理はステップＳ４０２に移行する。
【００３２】
ステップＳ４０２において、ＷＢ制御回路１０３は、メモリ１０２に記憶されている画像データに対し、上記第１のＷＢ補正値を用いてホワイトバランス補正を行うことにより第１の現像画像データＹｕｖ１を現像する。同様に、ＷＢ制御回路１０３は、メモリ１０２に記憶されている画像データに対し、上記第２のＷＢ補正値を用いてホワイトバランス補正を行うことにより、第２の現像画像データＹｕｖ２を現像する。ステップＳ４０３において、ＷＢ制御回路１０３は、メモリ１０２に記憶されている画像データ、第１の現像画像データＹｕｖ１、及び、第２の現像画像データＹｕｖ２をそれぞれｎ個のブロックに分割する。なお、第１の現像画像データＹｕｖ１は第１の画像データの例であり、第２の現像画像データＹｕｖ２は第２の画像データの例である。
【００３３】
ステップＳ４０４において、ＷＢ制御回路１０３は、メモリ１０２に記憶されている画像データのブロック毎に、画素値を各色に加算平均して色平均値（Ｒ［ｉ］，Ｇ［ｉ］，Ｂ［ｉ］）を算出する。そしてＷＢ制御回路１０３は、ステップＳ２０２と同様に、色評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）を算出する。なお、ステップＳ２０２で算出した色評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）をそのまま用いてもよい。このとき、飽和画素が存在する場合には、その飽和画素の画素値とその画素に対応する別色の画素の画素値とを加算処理に含めなくてもよい。例えば、或るＲ画素が飽和画素である場合には、Ｒ画素の画素値とそのＲ画素に対応するＧ画素の画素値及びＢ画素の画素値とを加算処理に含めないようにする。
【００３４】
ステップＳ４０５において、ＷＢ制御回路１０３は、各光源に応じて後述の評価枠及び内枠を設定して、上記の第２のＷＢ補正値と各ブロックの色評価値との差分に基づいて、ブロック毎の合成比率（Ｍｉｘ率）を算出する。例えば、光源に水銀灯を用いたシーンでは、ＷＢ制御回路１０３は、図９に示すように、第２のＷＢ補正値として予め決められた水銀灯光源下の白の色評価値９０３を重心とした水銀灯用の評価枠９０１及び内枠９０２を設定する。そしてＷＢ制御回路１０３は、予め決められた水銀灯光源下の白の色評価値９０３と各ブロックの色評価値との距離とに基づいて、各ブロックの合成比率を算出する。なお、評価枠９０１及び内枠９０２は予め水銀灯光源下で白の被写体を撮影して算出された色評価値に基づき設定されたものである。
【００３５】
先ず、色評価値と水銀灯光源下の白の色評価値９０３との差分が小さく、図９に示す内枠９０２の内部に色評価値が存在するブロックに対しては、当該ブロックの合成比率α［ｉ］を１とする。次に、図９に示す内枠９０２と評価枠９０１との間の領域に色評価値が存在するブロックに対しては、ＷＢ制御回路１０３は次のように合成比率α［ｉ］を算出する。即ち、ＷＢ制御回路１０３は、内枠９０２を合成比率α［ｉ］＝１、評価枠９０１を合成比率α［ｉ］＝０とするように、内枠９０２から評価枠９０１に向かって合成比率を線形的に減少させ、当該ブロックの合成比率α［ｉ］を算出する。そして、評価枠９０１の外部に色評価値が存在するブロックに対しては、ＷＢ制御回路１０３は合成比率α［ｉ］を０とする。
【００３６】
ここで、評価枠９０１や内枠９０２の設定は四角形ではなく任意の形にしてもよい。例えば、評価枠９０１を楕円形（円形）にしてもよい。また例えば、電球色光源のような低色温度光源を用いたシーンの場合においても、当該光源に適した評価枠及び内枠に変更して設定すればよい。これにより、水銀灯光源下でのシーンにおける合成比率算出方法と同様の処理により合成比率を算出することができる。
【００３７】
ステップＳ４０６において、ＷＢ制御回路１０３は、ブロック毎の合成比率α［ｉ］を用いて第１の現像画像データＹｕｖ１と第２の現像画像データＹｕｖ２とを合成し、合成画像データＹｕｖ３を生成する。合成画像データＹｕｖ３の色評価値（Ｙ３［ｉ］，ｕ３［ｉ］，ｖ３［ｉ］）を算出する際に、第１の現像画像データＹｕｖ１の色評価値（Ｙ１［ｉ］，ｕ１［ｉ］，ｖ１［ｉ］）と第２の現像画像データＹｕｖ２の色評価値（Ｙ２［ｉ］，ｕ２［ｉ］，ｖ２［ｉ］）とを用いる。即ち、次の式により合成画像データＹｕｖ３の色評価値（Ｙ３［ｉ］，ｕ３［ｉ］，ｖ３［ｉ］）を算出する。
【００３８】
【数３】
0005804857.tif 000004
【００３９】
ここで、ブロックの境界部分に生じる色味ずれを緩和するために、ステップＳ４０５でさらに画素補間処理を行うことにより、ブロック毎の合成比率α［ｉ］から画素毎の合成比率α´［ｊ］を算出してもよい。例えばＷＢ制御回路１０３は、画素補間処理としてバイリニア補間を用い、ブロック毎の合成比率α［ｉ］から画素毎の合成比率α´［ｊ］を算出する。このとき、ステップＳ４０６において、ＷＢ制御回路１０３は、画素毎の合成比率α´［ｊ］を用いて第１の現像画像データＹｕｖ１と第２の現像画像データＹｕｖ２とを合成し、合成画像データＹｕｖ３を生成する。合成画像データＹｕｖ３の色評価値（Ｙ３［ｊ］，ｕ３［ｊ］，ｖ３［ｊ］）を算出する際に、第１の現像画像データＹｕｖ１における色評価値（Ｙ１［ｊ］，ｕ１［ｊ］，ｖ１［ｊ］）と第２の現像画像データＹｕｖ２の色評価値（Ｙ２［ｊ］，ｕ２［ｊ］，ｖ２［ｊ］）とが用いられる。即ち、ＷＢ制御回路１０３は、次の式により合成画像データＹｕｖ３の色評価値（Ｙ３［ｊ］，ｕ３［ｊ］，ｖ３［ｊ］）を算出する。
【００４０】
【数４】
0005804857.tif 000005
【００４１】
また、ＷＢ制御回路１０３における計算量を低減するために、色成分であるｕ成分及びｖ成分のみを合成してもよい。即ち、ＷＢ制御回路１０３は、画像データの合成処理において合成画像データＹｕｖ３の色評価値（Ｙ３［ｉ］，ｕ３［ｉ］，ｖ３［ｉ］）を次の式により算出する。
【００４２】
【数５】
0005804857.tif 000006
【００４３】
また、上述した画像データの合成処理において現像画像データはＹｕｖ形式を用いたが、例えば、画像形式としてＲＧＢ形式を用いた場合、ステップＳ４０６において用いた式の代わりに、次の式を用いる。つまり、ＷＢ制御回路１０３は、第１のＷＢ補正値を用いて現像した現像画像データＲＧＢ１の色評価値（Ｒ１［ｉ］，Ｇ１［ｉ］，Ｂ１［ｉ］）と、第２のＷＢ補正値を用いて現像した現像画像データＲＧＢ２の色評価値（Ｒ２［ｉ］，Ｇ２［ｉ］，Ｂ２［ｉ］）とを算出する。そして、ＷＢ制御回路１０３は、合成画像データＲＧＢ３の色評価値（Ｒ３［ｉ］，Ｇ３［ｉ］，Ｂ３［ｉ］）を次の式により算出する。
【００４４】
【数６】
0005804857.tif 000007
【００４５】
また、上述した画像データの合成処理では、光源が２種類以上存在する場合に、現像画像データを２枚以上にして合成してもよい。例えば、水銀灯を用いたシーンにおいてストロボ光を発光した場合には、ＷＢ制御回路１０３は、上記第１のＷＢ補正値及び第２のＷＢ補正値に加えて、上記第２のＷＢ補正値を決定する方法と同様にストロボ光に対応した第３のＷＢ補正値を決定する。そしてＷＢ制御回路１０３は、３つのＷＢ補正値をそれぞれ用いて３枚の画像データを現像して画像データの合成処理を行う。
【００４６】
以上のように本実施形態によれば、異なる複数の光源が混在するシーンにおいて、光源を判別し主被写体と背景とをともに適正な色味とする画像データを生成し、ユーザにとって好ましい画像を提供することができる。
【００４７】
次に、本発明の第２の実施形態について説明する。第１の実施形態では、第２の光源の存在が判別された場合は画像データの合成処理を行い、第２の光源の存在が判別されなかった場合は通常のホワイトバランス処理を行っていた。これに対し、第２の実施形態では、第２の光源らしさの評価値を算出し、その評価値に応じて合成比率を制御して画像データの合成処理を行う。以下では、第１の実施形態と相違する処理についてのみ説明するものとする。また、第２の実施形態に係るデジタルカメラの構成は図１に示した構成と同様であるため、以下の第２の実施形態の説明においても、図１の符合を引用しながら説明を行うものとする。
【００４８】
以下、図１０を参照しながら、第２の実施形態に係るデジタルカメラによる画像データの合成処理について説明する。ステップＳ１００１において、ＷＢ制御回路１０３は、第２の光源らしさの評価値を算出する。ここでは、上述した図７のような明るさと検出したブロック数とから第２の光源らしさの評価値を算出する。第２の実施形態においては、この評価値を、合成比率を算出する際の制御値（β：０〜１）として使用する。図１０のステップＳ４０２〜Ｓ４０４は、図４のステップＳ４０２〜Ｓ４０４と同様である。
【００４９】
ステップＳ１００２において、ＷＢ制御回路１０３は、算出した制御値に基づいて合成比率α［ｉ］を算出する。例えば、第２の光源らしさの評価値が低い場合はβが低くなり、第２のＷＢ補正値の使用率も低くなる。
【００５０】
ステップＳ１００３において、ＷＢ制御回路１０３は、ブロック毎の合成比率α［ｉ］と制御値βとを用いて第１の現像画像データＹｕｖ１と第２の現像画像データＹｕｖ２とを合成し、合成画像データＹｕｖ３を生成する。ＷＢ制御回路１０３は、合成画像データＹｕｖ３の色評価値（Ｙ３［ｉ］，ｕ３［ｉ］，ｖ３［ｉ］）を算出する際に、第１の現像画像データＹｕｖ１の色評価値（Ｙ１［ｉ］，ｕ１［ｉ］，ｖ１［ｉ］）と第２の現像画像データＹｕｖ２の色評価値（Ｙ２［ｉ］，ｕ２［ｉ］，ｖ２［ｉ］）とを用いる。即ち、ＷＢ制御回路１０３は、次の式により合成画像データＹｕｖ３の色評価値（Ｙ３［ｉ］，ｕ３［ｉ］，ｖ３［ｉ］）を算出する。
【００５１】
【数７】
0005804857.tif 000008
【００５２】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００５３】
１０１：固体撮像素子、１０２：メモリ、１０３：ＷＢ制御回路、１０４：色変換マトリックス回路、１０５：ＬＰＦ回路、１０６：ＣＳＵＰ回路、１０７：ＲＧＢ変換回路、１０８：γ補正回路、１０９：色輝度変換回路、１１０：ＪＰＥＧ圧縮回路、１１１：輝度信号生成回路、１１２：エッジ強調回路、１１３：撮像制御回路、１１４：制御部
【図１】
0005804857.tif 000009
【図２】
0005804857.tif 000010
【図３】
0005804857.tif 000011
【図４】
0005804857.tif 000012
【図５】
0005804857.tif 000013
【図６】
0005804857.tif 000014
【図７】
0005804857.tif 000015
【図８】
0005804857.tif 000016
【図９】
0005804857.tif 000017
【図１０】
0005804857.tif 000018