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