(57)【特許請求の範囲】
【請求項１】
ストロボ非発光時に撮影された画像データを複数の領域に分割し、前記複数の領域毎に色味評価値を算出する第１の評価値算出手段と、
ストロボ発光時に撮影された画像データを前記複数の領域に分割し、前記複数の領域毎に色味評価値を算出する第２の評価値算出手段と、
前記第１の評価値算出手段により算出された色味評価値と前記第２の評価値算出手段により算出された色味評価値との差分に基づいて、前記複数の領域毎に動き判定を行う動き判定手段と、
前記動き判定手段による動き判定結果に基づいて、ストロボ非発光時のホワイトバランス係数を用いてホワイトバランス処理された画像データと、ストロボ発光時のホワイトバランス係数を用いてホワイトバランス処理された画像データとの合成比率を決定する決定手段と、を有することを特徴とする画像処理装置。
【請求項２】
前記第２の評価値算出手段は、ストロボ光の輝度とストロボ光の色温度とに基づいて、前記ストロボ発光時に撮影された画像データの色味評価値を算出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の評価値算出手段は、前記ストロボ非発光時に撮影された画像データに対してストロボ非発光時のホワイトバランス係数を乗算することにより、前記ストロボ非発光時に撮影された画像データの色味評価値を算出することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記動き判定手段は、前記複数の領域毎に、前記第１の評価値算出手段により算出された色味評価値と前記第２の評価値算出手段により算出された色味評価値との差分を算出し、当該差分と所定の閾値とを比較することにより、前記複数の領域毎に動き判定を行うことを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記動き判定手段は、前記複数の領域毎の動き判定結果に基づいて、画面全体における動き量を判定することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記動き判定手段は、動きありと判定した領域を連結し、その連結サイズに基づいて画面全体における動き量を判定することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記動き判定手段は、動きありと判定した領域の面積に基づいて画面全体における動き量を判定することを特徴とする請求項５に記載の画像処理装置。
【請求項８】
前記所定の閾値は、前記ストロボ非発光時に撮影された画像データの色味評価値に応じて決定されることを特徴とする請求項４乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記決定手段によって決定された合成比率を用いて、ストロボ非発光時のホワイトバランス係数を用いてホワイトバランス処理された画像データと、ストロボ発光時のホワイトバランス係数を用いてホワイトバランス処理された画像データとを合成する合成手段を更に有することを特徴とする請求項１乃至８の何れか１項に記載の画像処理装置。
【請求項１０】
画像処理装置によって実行される画像処理方法であって、
ストロボ非発光時に撮影された画像データを複数の領域に分割し、前記複数の領域毎に色味評価値を算出する第１の評価値算出ステップと、
ストロボ発光時に撮影された画像データを前記複数の領域に分割し、前記複数の領域毎に色味評価値を算出する第２の評価値算出ステップと、
前記第１の評価値算出ステップにより算出された色味評価値と前記第２の評価値算出ステップにより算出された色味評価値との差分に基づいて、前記複数の領域毎に動き判定を行う動き判定ステップと、
前記動き判定ステップによる動き判定結果に基づいて、ストロボ非発光時のホワイトバランス係数を用いてホワイトバランス処理された画像データと、ストロボ発光時のホワイトバランス係数を用いてホワイトバランス処理された画像データとの合成比率を決定する決定ステップと、を有することを特徴とする画像処理方法。
【請求項１１】
ストロボ非発光時に撮影された画像データを複数の領域に分割し、前記複数の領域毎に色味評価値を算出する第１の評価値算出ステップと、
ストロボ発光時に撮影された画像データを前記複数の領域に分割し、前記複数の領域毎に色味評価値を算出する第２の評価値算出ステップと、
前記第１の評価値算出ステップにより算出された色味評価値と前記第２の評価値算出ステップにより算出された色味評価値との差分に基づいて、前記複数の領域毎に動き判定を行う動き判定ステップと、
前記動き判定ステップによる動き判定結果に基づいて、ストロボ非発光時のホワイトバランス係数を用いてホワイトバランス処理された画像データと、ストロボ発光時のホワイトバランス係数を用いてホワイトバランス処理された画像データとの合成比率を決定する決定ステップと、をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに対するホワイトバランス制御技術に関するものである。
【背景技術】
【０００２】
デジタルカメラやデジタルビデオカメラ等の、撮像素子を用いる撮像装置においては、撮影によって得られた画像データの色調を調整するホワイトバランス制御機能を備えている。ホワイトバランス制御には、マニュアルホワイトバランス制御とオートホワイトバランス制御とがある。マニュアルホワイトバランス制御は、予め白色被写体を撮像してホワイトバランス係数を算出しておき、算出したホワイトバランス係数を画面全体に適用する。オートホワイトバランス制御は、撮影した画像データから白色と思われる部分を自動検出し、画面全体の各色成分の平均値からホワイトバランス係数を算出し、算出したホワイトバランス係数を画面全体に適用する。
【０００３】
従来のオートホワイトバランス制御においては、ストロボ発光シーンにおいて画像データ内にストロボ光と異なる光源が存在する場合、上記のように算出されたホワイトバランス係数を画面全体に適用してホワイトバランス制御を行う。そのため、各光源をともに適正な色味とするホワイトバランス制御を行うことが困難であった。例えば、ストロボ発光シーンで環境光に電球色光源のような低色温度光源が存在する場合、ストロボ光が高色温度光源であるため、ストロボ光にホワイトバランスを合わせると低色温度光源にホワイトバランスが合わなくなってしまう。一方、低色温度光源にホワイトバランスを合わせた場合には、ストロボ光にホワイトバランスが合わなくなってしまう。また、両方の光源の中間にホワイトバランスを合わせてホワイトバランス制御を行ったとしても、両方の光源にホワイトバランスが合わず、ストロボ光で照射されている領域は青みを帯び、低色温度光源で照射されている領域は赤味を帯びるような色味となってしまう。
【０００４】
これに対し、特許文献１には次のような技術が開示されている。即ち、特許文献１に開示される技術は、ストロボ発光時に撮影された画像データとストロボ非発光時に撮影された画像データとを、任意の被写体領域毎に比較してデータの比を求め、その比の値によりストロボ光の寄与度を判定する。そして、判定した寄与度に応じてストロボ発光し、露光させたときの画像データに対して被写体領域毎にホワイトバランス制御値を選択して、ホワイトバランス制御を行う。
【０００５】
特許文献２には次のような技術が開示されている。即ち、特許文献２に開示される技術は、ストロボ発光時に撮影された画像データとストロボ非発光時に撮影された画像データとからストロボ発光成分を抽出する。そして、それぞれのストロボ発光成分に基づいてホワイトバランス制御を切り替える際に、被写体のぶれ領域を検出し、被写体の非ぶれ領域のホワイトバランス係数と被写体のぶれ領域のホワイトバランス係数とを補間により算出して画像データに適応する。その際、被写体のぶれを検出するために、画像データの高周波成分が検出される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３５４０４８５号公報
【特許文献２】特許第４３８９６７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示される技術では、ストロボ非発光時に撮影された画像データとストロボ発光時に撮影された画像データとの差分をとることにより、ストロボ照射量を推定し、そのストロボ照射量に応じたホワイトバランス制御を行う必要がある。しかしながら、被写体が動いている場合、ストロボ照射量を正確に求めることができなくなり、間違ったホワイトバランス制御を行うことにより、まだら模様のような画像データが生成され、良好な画像データを取得することが難しい。
【０００８】
特許文献２に開示される技術では、ぶれ領域の検出に高周波成分を検出するという手法を採用している。しかしながら、特許文献２に開示される技術は、画像データ中における画像の高周波成分であるか、被写体ぶれや手ぶれによる高周波成分であるかを区別することができないため、最適なホワイトバランス制御を行うことができず、良好な画像データの取得が難しい。
【０００９】
そこで、本発明の目的は、領域毎に最適なホワイトバランス制御を可能とすることにある。
【課題を解決するための手段】
【００１０】
本発明の画像処理装置は、ストロボ非発光時に撮影された画像データを複数の領域に分割し、前記複数の領域毎に色味評価値を算出する第１の評価値算出手段と、ストロボ発光時に撮影された画像データを前記複数の領域に分割し、前記複数の領域毎に色味評価値を算出する第２の評価値算出手段と、前記第１の評価値算出手段により算出された色味評価値と前記第２の評価値算出手段により算出された色味評価値との差分に基づいて、前記複数の領域毎に動き判定を行う動き判定手段と、前記動き判定手段による動き判定結果に基づいて、ストロボ非発光時のホワイトバランス係数を用いてホワイトバランス処理された画像データと、ストロボ発光時のホワイトバランス係数を用いてホワイトバランス処理された画像データとの合成比率を決定する決定手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、領域毎に最適なホワイトバランス制御を行うことが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る撮像装置の回路構成を示す図である。
【図２】ストロボ発光時のＷＢ係数である第１のＷＢ係数の算出処理を示すフローチャートである。
【図３】白検出の際に使用されるグラフを示す図である。
【図４】色温度とＣｘＣｙ値との対応を示す図である。
【図５】撮影制御を時系列に並べて示した図である。
【図６】静止画撮影駆動モードにおけるＷＢ係数とＥＶＦ撮影駆動モードにおけるＷＢ係数とを示す図である。
【図７】本発明の実施形態に係る撮像装置の機能的な構成を示す図である。
【図８】ストロボ発光時画像データとストロボ非発光時画像データ間での被写体の動き判定処理を示すフローチャートである。
【図９】ブロック毎の色味評価値の差分の合計値に基づいて動き量を算出する処理について説明するための図である。
【図１０】動き量と色温度差分との関係から定まる合成比率の一例を表で示す図である。
【図１１】画像合成処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１４】
図１は、本発明の実施形態に係る撮像装置の回路構成を示す図である。図１において、１０１は、ＣＣＤやＣＭＯＳ等からなる固体撮像素子であり、その表面は例えばベイヤー配列のようなＲＧＢカラーフィルタにより覆われ、カラー撮影が可能な構成となっている。なお、本実施形態に係る撮像装置は、画像処理装置の適用例となる構成である。
【００１５】
ＣＰＵ１１４は、画像データ全体が所定の輝度になるようなシャッタ速度、絞り値を計算するとともに、合焦領域内にある被写体に合焦するようにフォーカスレンズの駆動量を計算する。ＣＰＵ１１４によって計算された露出値（シャッタ速度、絞り値）及びフォーカスレンズの駆動量は鏡筒制御回路１１３に送られ、各値に基づいてそれぞれ鏡筒装置１１５が制御される。また、ストロボ発光制御の場合も同様に、ＣＰＵ１１４がストロボの発光量（以下、ストロボ発光量）を計算し、ストロボ発光装置１１６を所定の光量で発光させる。
【００１６】
１０３はホワイトバランス制御回路（以下、ＷＢ制御回路）であり、メモリ１０２に記憶された画像データに基づいてホワイトバランス係数（以下、ＷＢ係数）を算出し、算出したＷＢ係数を用いて、メモリ１０２に記憶された画像データに対してＷＢ補正を行う。なお、このＷＢ制御回路１０３によるＷＢ係数の算出方法の詳細については後述する。
【００１７】
１０４は、ＷＢ制御回路１０３によりＷＢ補正された画像データが最適な色で再現されるように色ゲインをかけて色差信号Ｒ−Ｙ、Ｂ−Ｙに変換する色マトリックス回路である。１０５は、色差信号Ｒ−Ｙ、Ｂ−Ｙの帯域を制限するローパスフィルタ（以下、ＬＰＦ）回路である。１０６は、ＬＰＦ回路１０５で帯域制限された画像データのうち、飽和部分の偽色信号を抑圧するＣＳＵＰ（Chroma Supress）回路である。一方、ＷＢ制御回路１０３によりＷＢ補正された画像データは輝度信号（Ｙ）生成回路１１１にも出力されて輝度信号Ｙが生成され、エッジ強調回路１１２は、生成された輝度信号Ｙに対してエッジ強調処理を施す。
【００１８】
ＣＳＵＰ回路１０６から出力される色差信号Ｒ−Ｙ、Ｂ−Ｙと、エッジ強調回路１１２から出力される輝度信号Ｙとは、ＲＧＢ変換回路１０７にてＲＧＢ信号に変換され、ガンマ（γ）補正回路１０８にて階調補正が施される。階調補正が施されたＲＧＢ信号は、色輝度変換回路１０９にてＹＵＶ信号に変換され、さらに圧縮回路１１０にて圧縮されて、外部記録媒体又は内部記録媒体に画像データとして記録される。
【００１９】
次に、ＷＢ制御回路１０３におけるＷＢ係数の算出処理について詳細に説明する。先ず、図２のフローチャートを参照しながら、ストロボ発光時のＷＢ係数である第１のＷＢ係数の算出処理について説明する。なお、第１のＷＢ係数は、ストロボ発光時に撮影された画像データ（以下、ストロボ発光時画像データ）より算出される値である。
【００２０】
ステップＳ２０１において、ＷＢ制御回路１０３は、メモリ１０２に記憶されたストロボ発光時画像データを読み出し、当該ストロボ発光時画像データを任意のｍ個のブロックに分割する。ステップＳ２０２において、ＷＢ制御回路１０３は、ブロック（１〜ｍ）毎に、画素値を色毎に加算平均して色平均値（Ｒ［ｉ］，Ｇ［ｉ］，Ｂ［ｉ］）を算出し、次の式を用いて色味評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）を算出する。
Ｃｘ［ｉ］＝（Ｒ［ｉ］−Ｂ［ｉ］）／Ｙ［ｉ］×１０２４
Ｃｙ［ｉ］＝（Ｒ［ｉ］＋Ｂ［ｉ］−２Ｇ［ｉ］）／Ｙ［ｉ］×１０２４
但し、Ｙ［ｉ］＝（Ｒ［ｉ］＋２Ｇ［ｉ］＋Ｂ［ｉ］）／４
【００２１】
ＷＢ制御回路１０３は、図３に示すような座標軸を持つグラフを用いて白検出を行う。ｘ座標（Ｃｘ）の負方向が高色温度被写体の白を撮影したときの色味評価値を表し、正方向が低色温度被写体の白を撮影したときの色味評価値を表す。また、ｙ座標（Ｃｙ）は光源の緑成分の度合いを意味しており、負方向になるにつれＧｒｅｅｎ成分が大きくなり、つまり蛍光灯であることを示している。
【００２２】
図４は、色温度とＣｘＣｙ値との対応を示す図である。図４（ａ）は、色温度とＣｘＣｙ値との対応をグラフで示しており、図４（ｂ）は、色温度とＣｘＣｙ値との対応を表で示している。予め黒体放射軸上の既知の色温度の光源を用いてカメラで画像データを取得し、ＣｘＣｙ値を算出することにより、色温度とＣｘＣｙ値との対応を明確にすることができる。もちろん色温度だけではなく、上述した白色蛍光灯のグレーン方向やマゼンタ方向の光源に対しても同様にＣｘＣｙ値との対応を明確にすることが可能である。また、ストロボの発光色温度に対応したＣｘＣｙ値も取得しておくことにより、ストロボの発光色温度がわかれば、当該ストロボに対するＣｘＣｙ値を算出することが可能である。
【００２３】
ステップＳ２０３において、ＷＢ制御回路１０３は、ステップＳ２０２で算出したｉ番目のブロックの色味評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）が、予め設定される白検出範囲（図３の３０１）に含まれるか否かを判定する。白検出範囲３０１は、ストロボが既知の光源であるために検出範囲が限定されている。ｉ番目のブロックの色味評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）が予め設定される白検出範囲３０１に含まれる場合、処理はステップＳ２０４に移行する。一方、ｉ番目のブロックの色味評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）が予め設定される白検出領域３０１に含まれない場合、処理はステップＳ２０４をスキップして、ステップＳ２０５に移行する。
【００２４】
ステップＳ２０４において、ＷＢ制御回路１０３は、ｉ番目のブロックが白色であると判定して、当該ブロックの色平均値（Ｒ［ｉ］，Ｇ［ｉ］，Ｂ［ｉ］）を積分する。なお、ステップＳ２０３、Ｓ２０４の処理は次の式によって表すことができる。
【００２５】
【数１】
0005808142.tif 000002
【００２６】
ここで、上記式において、色味評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）が白検出範囲３０１に含まれる場合にはＳｗ［ｉ］を１とし、色味評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）が白検出範囲３０１に含まれない場合にはＳｗ［ｉ］を０とする。これにより、ステップＳ２０３、Ｓ２０４において、色平均値（Ｒ［ｉ］，Ｇ［ｉ］，Ｂ［ｉ］）を積分するか、積分しないかを実質的に行っている。
【００２７】
ステップＳ２０５において、ＷＢ制御回路１０３は、全てのブロックについて上記処理を行ったか否かを判定する。未処理のブロックが存在する場合、処理はステップＳ２０２に戻って上記処理を繰り返す。一方、全てのブロックについて処理を行った場合、処理はステップＳ２０６に移行する。
【００２８】
ステップＳ２０６において、ＷＢ制御回路１０３は、得られた色平均値の積分値（ＳｕｍＲ１，ＳｕｍＧ１，ＳｕｍＢ１）から、次の式を用いて、第１のＷＢ係数（ＷＢＣｏｌ＿Ｒ１，ＳｕｍＧ１，ＳｕｍＢ１）を算出する。
ＷＢＣｏｌ＿Ｒ１＝ＳｕｍＹ１×１０２４／ＳｕｍＲ１
ＷＢＣｏｌ＿Ｇ１＝ＳｕｍＹ１×１０２４／ＳｕｍＧ１
ＷＢＣｏｌ＿Ｂ１＝ＳｕｍＹ１×１０２４／ＳｕｍＢ１
但し、ＳｕｍＹ１＝（ＳｕｍＲ１＋２×ＳｕｍＧ１＋ＳｕｍＢ１）／４
なお、第１のＷＢ係数としてストロボ光のＷＢ係数を既知のものとして予め設定してもよい。
【００２９】
次に、ストロボ非発光時のＷＢ係数である第２のＷＢ係数の算出処理について説明する。なお、第２のＷＢ係数は、ストロボ非発光時に撮影された画像データ（以下、ストロボ非発光時画像データ）より算出される値である。図５は、撮影制御を時系列に並べて示した図である。図５に示すように、ＳＷ１の押下前には、ＥＶＦ（Electronic View Finder）撮影駆動モードにおいてライブビュー画像データが定期的に撮影され、ＳＷ１の押下時には、ＡＦロックとＡＥロックとが行われる。ＳＷ２の押下後には、テスト発光と本露光とが行われるが、テスト発光前の「外光」と表記されている時間に露光され、撮影された画像データを、ここではストロボ非発光時画像データとする。なお、本露光後に露光され、撮影された画像データをストロボ非発光時画像データとしてもよいし、ライブビュー画像データをストロボ非発光時画像データとしてもよい。
【００３０】
第２のＷＢ係数の算出処理は、上述した第１のＷＢ係数の算出処理と同様の方法によって行われる。但し、第１のＷＢ係数の算出処理とは、図３の３０２に示すような外光用の白検出範囲で処理する点で異なる。これはストロボが既知の光源であるのに対し、外光は既知の光源ではないため、ストロボ発光時の白検出範囲３０１のように限定できないからである。白検出範囲３０２は、予め異なる光源下で白を撮影し、算出した色味評価値をプロットしたものである。この白検出範囲は撮影駆動モードによって個別に設定できるものとする。第２のＷＢ係数は、撮影駆動モードが異なる場合にも適応でき、例えば、過去に算出されたＥＶＦ撮影駆動モードのＷＢ係数を使用することができる。但し、撮影駆動モードにより分光差分が生じる場合、ＷＢ制御回路１０３はＷＢ係数を補正する。図６は、静止画撮影駆動モードにおけるＷＢ係数とＥＶＦ撮影駆動モードにおけるＷＢ係数とを示す図である。過去に撮影されたＥＶＦ撮影駆動モードのＷＢ係数を用いて、静止画撮影駆動モードのＷＢ係数を算出する場合、図６に示すように、ＷＢ制御回路１０３は、ＥＶＦ撮影駆動モードのＷＢ係数６０１（ＥｖｆＣｘ，ＥｖｆＣｙ）をΔＣｘ、ΔＣｙだけ補正する。これにより、静止画撮影駆動モードのＷＢ係数６０２（ＣａｐＣｘ，ＣａｐＣｙ）が算出される。
【００３１】
図７は、本実施形態に係る撮像装置の機能的な構成を示す図である。撮像装置は、撮影指示がなされると、ストロボ非発光時画像データ７０２とストロボ発光時画像データ７００とを保存する。外光ＷＢ係数算出処理部７０７は、ストロボ非発光時画像データ７０２から外光用ＷＢ係数を算出する。第１のＷＢ処理部７０９ａは、外光用ＷＢ係数をストロボ発光時画像データ７００に対して乗算してＷＢ処理（ホワイトバランス処理）を行う。第１の現像処理部７１３ａは、ＷＢ処理後のストロボ発光時画像データ７００を現像し、外光用ＹＵＶ画像データを生成する。なお、外光用ＷＢ係数の算出方法は、上述した第２のＷＢ係数の算出方法と同様である。
【００３２】
ストロボＷＢ係数算出処理部７１１は、ストロボ発光量を示す発光量情報７１０に基づいてストロボ用ＷＢ係数を算出する。第２のＷＢ処理部７０９ｂは、ストロボ用ＷＢ係数をストロボ発光時画像データ７００に対して乗算してＷＢ処理を行う。第２の現像処理部７１３ｂは、ＷＢ処理後のストロボ発光時画像データ７００を現像し、ストロボ用ＹＵＶ画像データを生成する。このとき、第１のＷＢ係数を用いてストロボ発光時画像データ７００をＷＢ処理し、ストロボ用ＹＵＶ画像データを生成するようにしてもよい。
【００３３】
リサイズ処理部７０１は、ストロボ発光時画像データ７００をストロボ非発光時画像データ７０２相当のサイズにリサイズし、リサイズ後のストロボ発光時画像データ７００を複数のブロックに分割し、各ブロックの色平均値を積分した積分値を算出する。同様に、リサイズ処理部７０１は、ストロボ非発光時画像データ７０２を複数のブロックに分割し、各ブロックの色平均値を積分した積分値を算出する。その際、各ブロックの領域は、ストロボ非発光時画像データ７０２とストロボ発光時画像データ７００とで画角に対して同一の設定とする。露光量演算部７０３は、本露光時の感度、絞り値、シャッタ速度と、外光時の感度、絞り値、シャッタ速度との関係から、本露光時に設定された露光量と外光時に設定された露光量との差分を計算する。そして露光量演算部７０３は、ストロボ非照射領域において色平均値の積分値が同一の露光量になるようにストロボ非発光時画像データ７０２の色平均値の積分値を換算する。領域毎ストロボ発光量演算部７０４は、ブロック毎にストロボ照射量を演算する。外光画像色味情報取得部７２２は、ストロボ非発光時画像データ７０２から色味評価値を算出する。本露光画像色味情報取得部７２０は、ストロボ発光時画像データ７００の色平均値の積分値をリサイズ処理部７０１から取得する。本露光画像色味補正部７２１は、本露光画像色味取得部７２０によって取得されたストロボ発光時画像データ７００の色平均値の積分値に対して、ブロック毎のストロボ照射量に応じたＷＢ補正を行い、ストロボ発光時画像データ７００の色味評価値を取得する。なお、外光画像色味情報取得部７２２は、第１の評価値算出手段の適用例となる構成であり、本露光画像色味補正部７２１は、第２の評価値算出手段の適用例となる構成である。
【００３４】
動き量推定部７２３は、本露光画像色味補正部７２１によって算出されたストロボ発光時画像データ７００の色味評価値と、外光画像色味情報取得部７２２によって算出されたストロボ非発光時画像データ７０２の色味評価値との差分を、被写体の動き量として算出する。画像合成比率決定部７０５は、ストロボ照射量及び被写体の動き量に基づいて、画像データのブロック毎の合成比率を決定する。リサイズ処理部７０６は、ブロック毎の合成比率をストロボ非発光時画像データ７０２と同じサイズまで拡大させる。画像合成部７１４は、ストロボ用ＹＵＶ画像データと外光用ＹＵＶ画像データとを上記合成比率に従って合成する。
【００３５】
図８は、ストロボ発光時画像データ７００とストロボ非発光時画像データ７０２間での被写体の動き判定処理を示すフローチャートである。
【００３６】
図５に示すようにＳＷ１保持中に撮影指示としてＳＷ２が押されると、ステップＳ８０１において、外光画像色味情報取得部７２２は、最新のストロボ非発光時画像データ７０２を取得する。ステップＳ８０２において、外光画像色味情報取得部７２２は、ストロボ非発光時画像データ７０２のブロック（１〜ｎ）毎に、画素値を色毎に加算平均して色平均値（Ｒ２［ｉ］，Ｇ２［ｉ］，Ｂ２［ｉ］）を算出する。そして外光画像色味情報取得部７２２は、次の式に従って、外光用ＷＢ係数からブロック毎にストロボ非発光時画像データ７０２の色味評価値ＷＣｘ＿ｅｖｆ、ＷＣｙ＿ｅｖｆを算出する。
Ｒ２´［ｉ］＝ＷＢ＿Ｒ＿ｅｖｆ［ｉ］×Ｒ２［ｉ］
Ｇ２´［ｉ］＝ＷＢ＿Ｇ＿ｅｖｆ［ｉ］×Ｇ２［ｉ］
Ｒ２´［ｉ］＝ＷＢ＿Ｂ＿ｅｖｆ［ｉ］×Ｂ２［ｉ］
ＷＣｘ＿ｅｖｆ［ｉ］＝（Ｒ２´［ｉ］−Ｂ２´［ｉ］）／Ｙ２´［ｉ］×１０２４
ＷＣｙ＿ｅｖｆ［ｉ］＝（Ｒ２´［ｉ］＋Ｂ２´［ｉ］−２Ｇ２´［ｉ］）／Ｙ２´［ｉ］×１０２４
但し、Ｙ２´［ｉ］＝（Ｒ２´［ｉ］＋２Ｇ２´［ｉ］＋Ｂ２´［ｉ］）／４
ここで、ＷＢ＿Ｒ＿ｅｖｆは、赤色（Ｒ）の外光用ＷＢ係数である。緑色（Ｇ）、青色（Ｂ）に関しても同様である。
【００３７】
ステップＳ８０３において、本露光画像色味情報取得部７２０は、ストロボ発光時画像データ７００を取得する。ステップＳ８０４において、本露光画像色味補正部７２１は、発光量情報７１０からストロボ光の色温度（以下、ストロボ色温度）を取得する。ここで、ストロボ色温度は、キセノン管の発光特性としての色温度と発光時間等の関係から定まるため、ストロボ用ＷＢ係数も上述したように発光量情報７１０から算出することができる。
【００３８】
ステップＳ８０５において、本露光画像色味取得部７２０は、ステップＳ８０３で取得したストロボ発光時画像データ７００のブロック（１〜ｎ）毎に、画素値を色毎に加算平均して色平均値（Ｒ１［ｉ］，Ｇ１［ｉ］，Ｂ１［ｉ］）を算出する。
【００３９】
ステップＳ８０６において、外光画像色味情報取得部７２２は、次の式に示すように、ステップＳ８０２で算出したストロボ非発光時画像データ７０２の各ブロックの色平均値に基づいて、外光の輝度成分a［ｉ］を算出する。また、本露光画像色味情報取得部７２０は、次の式に示すように、ステップＳ８０５で算出したストロボ発光時画像データの各ブロックの色平均値に基づいて、輝度成分b［ｉ］を算出する。そして、本露光画像色味情報取得部７２０は、次の式に示すように、それらの輝度値の差分として、ストロボ光の輝度成分ｃ［ｉ］を算出する。
【００４０】
【数２】
0005808142.tif 000003
【００４１】
なお、ストロボ発光時画像データ７００とストロボ非発光時画像データ７０２との間にシャッタスピード、絞り値、感度設定等の露光量や感度設定が異なる場合、本露光画像色味情報取得部７２０は、外光の輝度成分ｂ［ｉ］に対してその露光差分を補正する。これにより、ストロボ光の輝度成分を算出することができる。
【００４２】
ステップＳ８０７において、本露光画像色味補正部７２１は、ステップＳ８０６で算出したストロボ光の輝度成分ｃ［ｉ］とステップＳ８０４で取得したストロボ色温度とに基づいて、ストロボ発光時画像データ７００の色味評価値を算出する。
【００４３】
ここで、本露光画像色味補正部７２１は、次の式に示すように、それぞれ対応するブロック毎の外光の輝度成分ａ［ｉ］とストロボ光の輝度成分ｃ［ｉ］との比率に基づいて、Ｍｉｘ比率αを算出する。
α［ｉ］＝ｃ［ｉ］／（ａ［ｉ］＋ｃ［ｉ］）
【００４４】
そして、本露光画像色味補正部７２１は、次の式に従って、外光用ＷＢ係数とストロボ用ＷＢ係数とＭｉｘ比率αとに基づいて、本露光用ＷＢ係数を算出する。ここで、Ｘ色に対する本露光用ＷＢ係数をＷＢ＿Ｘ＿ｃａｐ［ｉ］、Ｘ色に対する外光用ＷＢ係数をＷＢ＿Ｘ＿ｅｖｆ［ｉ］、Ｘ色に対するストロボ用ＷＢ係数をＷＢ＿Ｘ＿ｆｌａｓｈとする。但し、ＸはＲ、Ｇ、Ｂの何れかの色を示す。
ＷＢ＿Ｒ＿ｃａｐ［ｉ］＝ＷＢ＿Ｒ＿ｅｖｆ［ｉ］×（１−α［ｉ］）＋ＷＢ＿Ｒ＿ｆｌａｓｈ×α［ｉ］
ＷＢ＿Ｇ＿ｃａｐ［ｉ］＝ＷＢ＿Ｇ＿ｅｖｆ［ｉ］×（１−α［ｉ］）＋ＷＢ＿Ｇ＿ｆｌａｓｈ×α［ｉ］
ＷＢ＿Ｂ＿ｃａｐ［ｉ］＝ＷＢ＿Ｂ＿ｅｖｆ［ｉ］×（１−α［ｉ］）＋ＷＢ＿Ｂ＿ｆｌａｓｈ×α［ｉ］
【００４５】
そして、本露光画像色味補正部７２１は、次の式に示すように、本露光用ＷＢ係数を各ブロックの色平均値に乗算し、色味評価値ＷＣｘ＿ｃａｐ［ｉ］、ＷＣｙ＿ｃａｐ［ｉ］を算出する。
Ｒ１´［ｉ］＝ＷＢ＿Ｒ＿ｃａｐ［ｉ］×Ｒ１［ｉ］
Ｇ１´［ｉ］＝ＷＢ＿Ｇ＿ｃａｐ［ｉ］×Ｇ１［ｉ］
Ｂ１´［ｉ］＝ＷＢ＿Ｂ＿ｃａｐ［ｉ］×Ｂ１［ｉ］
ＷＣｘ＿ｃａｐ［ｉ］＝（Ｒ１´［ｉ］−Ｂ１´［ｉ］）／Ｙ１´［ｉ］×１０２４
ＷＣｙ＿ｃａｐ［ｉ］＝（Ｒ１´［ｉ］＋Ｂ１´［ｉ］−２Ｇ１´［ｉ］）／Ｙ１［ｉ］×１０２４
但し、Ｙ１´［ｉ］＝（Ｒ１´［ｉ］＋２Ｇ１´［ｉ］＋Ｂ１´［ｉ］）／４
【００４６】
ステップＳ８０８において、本露光画像色味補正部７２１は、次の式に示すように、ストロボ発光時画像データ７００の色味評価値ＷＣｘ＿ｃａｐ［ｉ］、ＷＣｙ＿ｃａｐ［ｉ］と、ストロボ非発光時画像データ７０２の色味評価値ＷＣｘ＿ｅｖｆ［ｉ］、ＷＣｙ＿ｅｖｆ［ｉ］との差分を算出する。
ΔＷＣｘ＝｜ＷＣｘ＿ｃａｐ［ｉ］−ＷＣｘ＿ｅｖｆ［ｉ］｜
ΔＷＣｙ＝｜ＷＣｙ＿ｃａｐ［ｉ］−ＷＣｙ＿ｅｖｆ［ｉ］｜
【００４７】
そして、本露光画像色味補正部７２１は、次の式に示すように、色味評価値の差分の合計値を算出する。
ΔＷＣｘＣｙ＝ΔＷＣｘ＋ΔＷＣｙ
【００４８】
なお、ストロボ照射量は、ストロボ発光時画像データ７００の輝度値とストロボ非発光時画像データ７０２の輝度値との差分から算出されており、被写体が動いていない場合においてはストロボ照射量が適正に算出される。被写体や光源に動きがなく、ストロボ照射量の算出が成功していれば、ＷＢ係数も所望の値が算出され、色味評価値も正しく算出される。一方、被写体が動いたり急激に光源の光量が変化したりした場合等は、ストロボ照射量の推定を間違えてしまい、ＷＢ係数を正しく算出することができなくなり、結果として色味評価値を間違えて算出することになる。従って、この色味評価値の差分に基づいて、被写体の移動や光源変動の有無を判定することが可能である。
【００４９】
ステップＳ８０９において、動き量推定部７２３は、ブロック毎に算出された、色味評価値の差分の合計値に基づいて動き量を算出する。
【００５０】
図９は、ブロック毎の色味評価値の差分の合計値に基づいて動き量を算出する処理について説明するための図である。なお、図９の各ブロック内の数値は、ステップＳ８０８にて算出される色味評価値の差分の合計値ΔＷＣｘＣｙを示している。
【００５１】
動き量推定部７２３は、色味評価値の差分の合計値ΔＷＣｘＣｙに対して閾値判定を行う。図９（ａ）では、閾値Ｔｈ＝５０と設定された例を示しており、動き量推定部７２３は、閾値以上のΔＷＣｘＣｙをもつブロックを動きブロックとして判定する。即ち、図９（ａ）において、太線で囲まれたブロックが動きブロックとして判定される。なお、本実施形態では、閾値を一定値としているが、ストロボ非発光時画像データ７０２の色味評価値ＷＣｘ、ＷＣｙに応じて閾値を変化させてもよい。色味評価値の差分は、被写体の色味やストロボ非発光時画像データ７０２の撮影環境である色温度によって色毎に敏感度が異なるためであり、色毎に敏感度を変化させることにより、被写体の動き判定処理の精度を向上させることができる。
【００５２】
また、被写体の動き判定処理で算出された色味評価値の差分の合計値は、光源の色温度に応じてＷＢ係数が掛け合わされているが、色味成分の補正までは行われていない。グレーの領域に対しては、正確に算出することが可能であるものの、有彩色に対しては若干の誤差を有する。例えば低色光源であれば、赤み被写体や、高色温度光源下の青み被写体等は色味が強く発色する傾向がある。これら色温度毎による発色性の差分の誤差を減らすためには、もとの外光色温度や外光用ＷＢ係数に応じた色味補正や被写体の色味毎の補正を行うことで精度を向上させることが可能である。
【００５３】
例えば、ストロボ非発光時画像データ７０２及びストロボ発光時画像データ７００の両方の色味評価値に対して、色温度や適応されたＷＢ係数毎に、ＷＣｘ、ＷＣｙの補正ゲインを予め算出しておくことで実現可能である。例えば、ＷＣｘ、ＷＣｙをＷＢ係数や色温度に応じて次の式に従って補正してもよい。
【００５４】
【数３】
0005808142.tif 000004
【００５５】
ここで、補正値ａ、ｂ、ｃ、ｄは、例えば色チャートを色温度毎に撮影し、色毎にＷＣｘ、ＷＣｙを算出し、５０００ＫのときのＷＣｘ、ＷＣｙを基準に、各色温度のＷＣｘ、ＷＣｙが略同じ値になるようにするための係数を予め求めておけばよい。もちろん算出された補正値は、色温度毎に線形補間を行うことにより、取得された色温度以外の中間色温度においても計算可能であることはいうまでもない。この色味変換処理は、色温度毎の色味の差分を吸収させる色再現マトリックスと同様の効果を有し、これらの処理により色温度毎の色味の差分を吸収させることにより、被写体の動き判定処理を精度よく行うことが可能になる。
【００５６】
図９（ｂ）は、上記動きブロックに対して８近傍連結を行っている例を示している。本実施形態では、走査方向、副走査方向に順に動きブロックを探索し、動きブロックを検出した場合には、右手探索を行い、動きブロックの連結サイズを算出している。図９（ｂ）の例では、４（縦）×５（横）ブロックが１つ、２（縦）×２（横）ブロックが１つ、１（縦）×１（横）ブロックが２つ検出されている状態を示している。以上の検出結果に基づいて、動き量推定部７２３は、最大ブロックサイズを画面全体における動きとして抽出する。８近傍連結を行う前に、光源等のフリッカやネオンの点滅等によって発生する細かい動きブロックの除去としてブロック状態でメディアンフィルタ等を行うことでも計算を簡略化することが可能である。また、最大ブロックサイズを算出する以外の手法として、動きブロック数やその面積、色味評価値の差分とブロック数とを乗算した積分値等の手法を用いてもよい。
【００５７】
次に、被写体の動きが検出された場合における画像合成比率決定部７０５の動作について説明する。図１０は、動き量と色温度差分との関係から定まる合成比率の一例を表で示す図である。図１０において、動き量とは、ステップＳ８０９の動きブロックの数に対応したものであり、動きブロックの数に応じて動きレベルを５段階に分類している。また色温度差分とは、外光の色温度とストロボ光の色温度との差分である。
【００５８】
また、図１０に示す表の中にある割合の数字は、本露光用ＷＢ係数と外光用ＷＢ係数の補正割合Ｓ［ｉ］を示しており、値が小さいほど、両者のＷＢ係数の差分が小さくなるように制御するパラメータである。
ＷＢ＿Ｒ＿ｅｖｆ´［ｉ］＝（ＷＢ＿Ｒ＿ｅｖｆ［ｉ］−ＷＢ＿Ｒ＿ａｗｂ）×Ｓ［ｉ］＋ＷＢ＿Ｒ＿ａｗｂ
ＷＢ＿Ｇ＿ｅｖｆ´［ｉ］＝（ＷＢ＿Ｇ＿ｅｖｆ［ｉ］−ＷＢ＿Ｇ＿ａｗｂ）×Ｓ［ｉ］＋ＷＢ＿Ｇ＿ａｗｂ
ＷＢ＿Ｂ＿ｅｖｆ´［ｉ］＝（ＷＢ＿Ｂ＿ｅｖｆ［ｉ］−ＷＢ＿Ｂ＿ａｗｂ）×Ｓ［ｉ］＋ＷＢ＿Ｂ＿ａｗｂ
ＷＢ＿Ｒ＿ｃａｐ´［ｉ］＝（ＷＢ＿Ｒ＿ｃａｐ［ｉ］−ＷＢ＿Ｒ＿ａｗｂ）×Ｓ［ｉ］＋ＷＢ＿Ｒ＿ａｗｂ
ＷＢ＿Ｇ＿ｃａｐ´［ｉ］＝（ＷＢ＿Ｇ＿ｃａｐ［ｉ］−ＷＢ＿Ｇ＿ａｗｂ）×Ｓ［ｉ］＋ＷＢ＿Ｇ＿ａｗｂ
ＷＢ＿Ｂ＿ｃａｐ´［ｉ］＝（ＷＢ＿Ｂ＿ｃａｐ［ｉ］−ＷＢ＿Ｂ＿ａｗｂ）×Ｓ［ｉ］＋ＷＢ＿Ｂ＿ａｗｂ
ここで、ＷＢ＿Ｘ＿ａｗｂは、オートホワイトバランスのＸ色のＷＢ係数（オートホワイトバランス用ＷＢ係数）である。ＷＢ＿Ｘ＿ｃａｐは、Ｘ色の本露光用ＷＢ係数である。ＷＢ＿Ｘ＿ｅｖｆは、Ｘ色の外光用ＷＢ係数である。但し、ＸはＲＧＢの何れかである。
【００５９】
上述したように動きの大きい被写体においては、ストロボ照射量の算出を間違える領域が大きくなるため、その大きい動き領域において色ムラが発生する。一方、ストロボ光の色温度は一般的に高色温度であり、日陰やクール系の蛍光灯等で外光の色温度が高い場合には、外光の色温度とストロボ光の色温度との差分が少なくなる。そのような場合においては、ＷＢ係数自体も近い値となるため、色むらが発生しにくいため多少の被写体に動きによる影響は少ないが、逆に電球色とストロボ光の合成では色温度差分が大きいため、ＷＢ係数の差分が大きくなり、多少の被写体の動きにおいても色ムラが強く発生する。つまり、動き被写体の動き量、及び、外光の色温度とストロボ光の色温度との差分の両方をみて、色ムラが発生しそうな被写体や環境であることを自動的に判別することができる。本露光用ＷＢ係数とストロボ用ＷＢ係数とをオートホワイトバランス用ＷＢ係数の値に近づけることにより、合成による色ムラを減らすことができる。
【００６０】
次に、図１１のフローチャートを参照しながら、画像合成処理について説明する。ステップステップＳ１１０１において、第１のＷＢ処理部７０９ａは、外光用ＷＢ係数を用いてストロボ発光時画像データ７００をＷＢ処理する。そして、第１の現像処理部７１３ａは、ＷＢ処理後のストロボ発光時画像データ７００を現像して外光用ＹＵＶ画像データを生成する。ステップＳ１１０２において、第２のＷＢ処理部７０９ｂは、ストロボ用ＷＢ係数（又は、第１のＷＢ係数）を用いてストロボ発光時画像データ７００をＷＢ処理する。そして、第２の現像処理部７１３ｂは、ＷＢ処理後のストロボ発光時画像データ７００を現像してストロボ用ＹＵＶ画像データを生成する。ステップＳ１１０３において、画像合成処理部７１４は、上記合成比率を用いて、外光用ＹＵＶ画像データとストロボ用ＹＵＶ画像データとを合成し、ＹＵＶ合成画像データを生成する。
【００６１】
ＹＵＶ合成画像データにおける色味評価値（Ｙ３［ｉ］，ｕ３［ｉ］，ｖ３［ｉ］）は、ストロボ用ＹＵＶ画像データにおける色味評価値（Ｙ１［ｉ］，ｕ１［ｉ］，ｖ１［ｉ］）、外光用ＹＵＶ画像データにおける色味評価値（Ｙ２［ｉ］，ｕ２［ｉ］，ｖ２［ｉ］）を用いて、次の式のように算出される。
【００６２】
【数４】
0005808142.tif 000005
【００６３】
なお、ブロック境界部分の色味ずれを緩和するため、画素補間処理を行うことによりブロック毎の合成比率から画素毎の合成比率を算出してもよい。例えば、画素補間処理としてバイリニア補間を用い、ブロック毎の合成比率から画素毎の合成比率を算出する。そして、画素毎の合成比率を用いてストロボ用ＹＵＶ画像データと外光用ＹＵＶ画像データとが合成され、ＹＵＶ合成画像データが生成される。このときのＹＵＶ合成画像データにおける色味評価値（Ｙ３［ｊ］，ｕ３［ｊ］，ｖ３［ｊ］）は、ストロボ用ＹＵＶ画像データにおける色味評価値（Ｙ１［ｊ］，ｕ１［ｊ］，ｖ１［ｊ］）、外光用ＹＵＶ画像データにおける色味評価値（Ｙ２［ｊ］，ｕ２［ｊ］，ｖ２［ｊ］）を用いて、次の式のように算出される。
【００６４】
【数５】
0005808142.tif 000006
【００６５】
本実施形態においては、ストロボ発光したシーンにおいて、主被写体と背景とをともに適正な色味とする画像データを生成する上で、合成比率を決定するにあたり、ストロボ発光時画像データとストロボ非発光時画像データと用いて被写体の動きを判定している。これにより、本実施形態によれば、ブロック毎に最適なＷＢ制御が可能となる。
【００６６】
本発明は、複数の機器（例えばホストコンピュータ、インターフェイス機器、カメラヘッドなど）から構成されるシステムを適用しても、一つの機器からなる装置（例えば、デジタルスチルカメラ、デジタルビデオカメラなど）に適用してもよい。
【００６７】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６８】
７００：ストロボ発光時画像データ、７０１、７０６：リサイズ処理部、７０２：ストロボ非発光時画像データ、７０３：露光量演算部、７０４：領域毎ストロボ発光量演算部、７０５：画像合成比率決定部、７０７：外光ＷＢ係数算出部、７０９ａ：第１のＷＢ処理部、７０９ｂ：第２のＷＢ処理部、７１０：発光量情報、７１１：ストロボＷＢ係数算出部、７１３ａ：第１の現像処理部、７１３ｂ：第２の現像処理部、７１４：画像合成処理部、７２０：本露光画像色味情報取得部、７２１：本露光画像色味補正部、７２２：外光画像色味情報取得部、７２３：動き量推定部
【図１】
0005808142.tif 000007
【図２】
0005808142.tif 000008
【図３】
0005808142.tif 000009
【図４】
0005808142.tif 000010
【図５】
0005808142.tif 000011
【図６】
0005808142.tif 000012
【図７】
0005808142.tif 000013
【図８】
0005808142.tif 000014
【図９】
0005808142.tif 000015
【図１０】
0005808142.tif 000016
【図１１】
0005808142.tif 000017