(57)【特許請求の範囲】
【請求項１】
撮像素子からの画像信号のうちの白検出範囲内の画像信号から第１の色温度を算出する第１の色温度算出工程と、
前記撮像素子からの画像信号のうちの有彩色検出範囲内の画像信号から第２の色温度を算出する第２の色温度算出工程と、
前記第１の色温度と前記第２の色温度に基づいてホワイトバランスを調整するホワイトバランス調整工程とを具備し、
前記ホワイトバランス調整工程では、前記第１の色温度と前記第２の色温度とを比較して、前記第１の色温度の方が前記第２の色温度より高い場合は、前記第１の色温度に基づいてホワイトバランスを調整し、前記第１の色温度よりも前記第２の色温度が高い場合は、前記第２の色温度に基づいてホワイトバランスを調整することを特徴とするホワイトバランス調整方法。
【請求項２】
撮像素子からの画像信号のうちの白検出範囲内の画像信号から第１の色温度を算出する第１の色温度算出工程と、
前記撮像素子からの画像信号のうちの有彩色検出範囲内の画像信号から第２の色温度を算出する第２の色温度算出工程と、
前記第１の色温度と前記第２の色温度に基づいてホワイトバランスを調整するホワイトバランス調整工程とを具備し、
前記ホワイトバランス調整工程では、前記第１の色温度と前記第２の色温度とを比較して、前記第１の色温度の方が前記第２の色温度より高い場合は、前記第１の色温度に基づいてホワイトバランスを調整し、前記第１の色温度よりも前記第２の色温度が高い場合は、前記画像信号内に占める白色の範囲の比率と有彩色の範囲の比率に基づいて、前記第１の色温度と前記第２の色温度を加重平均した値に基づいてホワイトバランスを調整することを特徴とするホワイトバランス調整方法。
【請求項３】
撮像素子からの画像信号のうちの白検出範囲内の画像信号から第１の色温度を算出する第１の色温度算出工程と、
前記撮像素子からの画像信号のうちの有彩色検出範囲内の画像信号から第２の色温度を算出する第２の色温度算出工程と、
前記第１の色温度と前記第２の色温度に基づいてホワイトバランスを調整するホワイトバランス調整工程とを具備し、
前記ホワイトバランス調整工程では、前記第１の色温度から第１のホワイトバランス係数を算出し、該第１のホワイトバランス係数で前記画像信号を補正し、補正後の画像信号から第１の彩度値を算出すると共に、前記第２の色温度から第２のホワイトバランス係数を算出し、該第２のホワイトバランス係数で前記画像信号を補正し、補正後の画像信号から第２の彩度値を算出し、前記第１の彩度値と前記第２の彩度値を加重平均してホワイトバランス係数を決定することを特徴とするホワイトバランス調整方法。
【請求項４】
撮像素子からの画像信号のうちの白検出範囲内の画像信号から第１の色温度を算出する第１の色温度算出工程と、
前記撮像素子からの画像信号のうちの有彩色検出範囲内の画像信号から第２の色温度を算出する第２の色温度算出工程と、
前記第１の色温度と前記第２の色温度に基づいてホワイトバランスを調整するホワイトバランス調整工程とを具備し、
前記ホワイトバランス調整工程では、前記画像信号内に占める白色の範囲の比率を算出し、該白色の範囲の比率が所定値より大きいときには前記第１の色温度に基づいてホワイトバランスを調整し、前記白色の範囲の比率が所定値より小さいときには前記第１の色温度と前記第２の色温度を加重平均した値に基づいてホワイトバランスを調整することを特徴とするホワイトバランス調整方法。
【請求項５】
撮像素子からの画像信号のうちの白検出範囲内の画像信号から第１の色温度を算出する第１の色温度算出工程と、
前記撮像素子からの画像信号のうちの有彩色検出範囲内の画像信号から第２の色温度を算出する第２の色温度算出工程と、
前記第１の色温度と前記第２の色温度に基づいてホワイトバランスを調整するホワイトバランス調整工程とを具備し、
画像信号内に占める白色の範囲の比率に基づいて、前記第１の色温度と前記第２の色温度を加重平均した値に基づいてホワイトバランスを調整することを特徴とするホワイトバランス調整方法。
【請求項６】
前記有彩色とは肌色であることを特徴とする請求項１乃至５のいずれか１項に記載のホワイトバランス調整方法。
【請求項７】
前記ホワイトバランス調整工程では、撮像装置の撮影モードが人物撮影モードに設定されているときには、前記第２の色温度に基づいてホワイトバランスを調整することを特徴とする請求項５に記載のホワイトバランス調整方法。
【請求項８】
前記ホワイトバランス調整工程では、撮像装置の撮影モードが人物撮影モードに設定されているときには、前記第２の色温度の重みを増して前記第１の色温度と加重平均することによって、ホワイトバランスを調整することを特徴とする請求項５に記載のホワイトバランス調整方法。
【請求項９】
前記第１，第２の彩度値を算出する場合、それぞれホワイトバランス補正された画像信号のうち、画面の中央部の画像信号に基づいて前記第１，第２の色温度を算出することを特徴とする請求項３に記載のホワイトバランス調整方法。
【請求項１０】
請求項１乃至９のいずれか１項に記載のホワイトバランス調整方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１１】
請求項１０に記載のプログラムをコンピュータ読み取り可能に記憶したことを特徴とする記憶媒体。
【請求項１２】
請求項１乃至９のいずれか１項に記載のホワイトバランス調整方法を実行することを特徴とする撮像装置。
【請求項１３】
撮像素子からの画像信号のうちの白検出範囲内の画像信号から第１の色温度を算出する第１の色温度算出手段と、
前記撮像素子からの画像信号のうちの有彩色検出範囲内の画像信号から第２の色温度を算出する第２の色温度算出手段と、
前記第１の色温度と前記第２の色温度に基づいてホワイトバランスを調整するホワイトバランス調整手段とを具備し、
前記ホワイトバランス調整手段は、前記第１の色温度と前記第２の色温度とを比較して、前記第１の色温度の方が前記第２の色温度より高い場合は、前記第１の色温度に基づいてホワイトバランスを調整し、前記第１の色温度よりも前記第２の色温度が高い場合は、前記第２の色温度に基づいてホワイトバランスを調整することを特徴とする撮像装置。
【請求項１４】
撮像素子からの画像信号のうちの白検出範囲内の画像信号から第１の色温度を算出する第１の色温度算出手段と、
前記撮像素子からの画像信号のうちの有彩色検出範囲内の画像信号から第２の色温度を算出する第２の色温度算出手段と、
前記第１の色温度と前記第２の色温度に基づいてホワイトバランスを調整するホワイトバランス調整手段とを具備し、
前記ホワイトバランス調整手段は、前記第１の色温度と前記第２の色温度とを比較して、前記第１の色温度の方が前記第２の色温度より高い場合は、前記第１の色温度に基づいてホワイトバランスを調整し、前記第１の色温度よりも前記第２の色温度が高い場合は、前記画像信号内に占める白色の範囲の比率と有彩色の範囲の比率に基づいて、前記第１の色温度と前記第２の色温度を加重平均した値に基づいてホワイトバランスを調整することを特徴とする撮像装置。
【請求項１５】
撮像素子からの画像信号のうちの白検出範囲内の画像信号から第１の色温度を算出する第１の色温度算出手段と、
前記撮像素子からの画像信号のうちの有彩色検出範囲内の画像信号から第２の色温度を算出する第２の色温度算出手段と、
前記第１の色温度と前記第２の色温度に基づいてホワイトバランスを調整するホワイトバランス調整手段とを具備し、
前記ホワイトバランス調整手段は、前記第１の色温度から第１のホワイトバランス係数を算出し、該第１のホワイトバランス係数で前記画像信号を補正し、補正後の画像信号から第１の彩度値を算出すると共に、前記第２の色温度から第２のホワイトバランス係数を算出し、該第２のホワイトバランス係数で前記画像信号を補正し、補正後の画像信号から第２の彩度値を算出し、前記第１の彩度値と前記第２の彩度値を加重平均してホワイトバランス係数を決定することを特徴とする撮像装置。
【請求項１６】
撮像素子からの画像信号のうちの白検出範囲内の画像信号から第１の色温度を算出する第１の色温度算出手段と、
前記撮像素子からの画像信号のうちの有彩色検出範囲内の画像信号から第２の色温度を算出する第２の色温度算出手段と、
前記第１の色温度と前記第２の色温度に基づいてホワイトバランスを調整するホワイトバランス調整手段とを具備し、
前記ホワイトバランス調整手段は、前記画像信号内に占める白色の範囲の比率を算出し、該白色の範囲の比率が所定値より大きいときには前記第１の色温度に基づいてホワイトバランスを調整し、前記白色の範囲の比率が所定値より小さいときには前記第１の色温度と前記第２の色温度を加重平均した値に基づいてホワイトバランスを調整することを特徴とする撮像装置。
【請求項１７】
撮像素子からの画像信号のうちの白検出範囲内の画像信号から第１の色温度を算出する第１の色温度算出手段と、
前記撮像素子からの画像信号のうちの有彩色検出範囲内の画像信号から第２の色温度を算出する第２の色温度算出手段と、
前記第１の色温度と前記第２の色温度に基づいてホワイトバランスを調整するホワイトバランス調整手段とを具備し、
画像信号内に占める白色の範囲の比率に基づいて、前記第１の色温度と前記第２の色温度を加重平均した値に基づいてホワイトバランスを調整することを特徴とする撮像装置。
【請求項１８】
前記有彩色とは肌色であることを特徴とする請求項１３乃至１７のいずれか１項に記載の撮像装置。
【請求項１９】
前記ホワイトバランス調整手段は、撮像装置の撮影モードが人物撮影モードに設定されているときには、前記第２の色温度に基づいてホワイトバランスを調整することを特徴とする請求項１７に記載の撮像装置。
【請求項２０】
前記ホワイトバランス調整手段は、撮像装置の撮影モードが人物撮影モードに設定されているときには、前記第２の色温度の重みを増して前記第１の色温度と加重平均することによって、ホワイトバランスを調整することを特徴とする請求項１７に記載の撮像装置。
【請求項２１】
前記第１，第２の彩度値を算出する場合、それぞれホワイトバランス補正された画像信号のうち、画面の中央部の画像信号に基づいて前記第１，第２の色温度を算出することを特徴とする請求項１５に記載の撮像装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタルカメラやデジタルビデオカメラなどにおける撮像装置のホワイトバランスを調整する技術に関する。
【０００２】
【従来の技術】
従来の撮像装置のホワイトバランス装置について説明する。
【０００３】
撮像素子から出力された画像信号は、Ａ／Ｄ変換器を通りデジタル信号となる。デジタル化された撮像素子出力信号は図３のような任意の複数のブロックに分割され、各ブロックごとに色評価値
Cx=（R-B）/Y
Cy=（R+B-２G）/Y
Y=（R+G+B）/２
が算出される（原色信号の場合の変換式の例）。
【０００４】
ここで、後述する予め設定した白検出エリアに色評価値（Cx,Cy）が含まれる場合に、そのブロックが白であると仮定し、白と仮定されたブロックのそれぞれの色画素の積分値（SumR、SumG、SumB）を算出する。その積分値から以下の式を用いてホワイトバランスゲインを算出している。
kWB_R=１.０/SumR
kWB_G=１.０/SumG
kWB_B=１.０/SumB
図２は、白検出エリアの例を示す図である。高色温度から低色温度の光源下で任意の色温度ステップ毎に白を撮影し、撮像素子から得られた信号値より色評価値を算出し、それをプロットする。これにより、図２に（ａ）で示すように、高色温度から低色温度までの白の判定ラインが作られる。実際には白でも分光に若干のばらつきがあるため、ラインから若干の幅をもたせる。
【０００５】
しかしながら、従来のホワイトバランス検出装置では以下のような欠点があった。
【０００６】
例えば、太陽光などの高色温度光源下で人肌アップなどを撮影した場合、太陽光源下の白色被写体の色評価値は（図２に示す「White」）のように分布するが、人肌の色評価値は（図２に示す「Skin」）のように低色温度光源下の白色とほぼ同一位置に分布する。このため、肌色の面積が大きい場合、実際より低い光源と誤判別してしまう問題点があった。
【０００７】
従来は、このような誤判別を避けるために、被写体照度が明るい場合は外光である可能性が高いという仮定で、白検出範囲をWhiteで示す範囲のように狭めて、低色温度の光源をひろわないように工夫していた。
【０００８】
【発明が解決しようとする課題】
しかしながら、従来のホワイトバランス装置では、スタジオなどのタングステン光など色温度が低く照度が非常に大きい場合には対応できず、また、日陰や夕方などの被写体が暗い場合には、色温度の高い光源から低い光源まで検出する必要があるため、白検出範囲を広くしなければならず、これにより、肌色にひっぱられるという問題点を解消することはできなかった。
【０００９】
従って、本発明は上述した課題に鑑みてなされたものであり、その目的は、撮影条件によらず、常に正確なホワイトバランスを取ることができるようにすることである。
【００１０】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するために、本発明に係わるホワイトバランス調整方法は、撮像素子からの画像信号のうちの白検出範囲内の画像信号から第１の色温度を算出する第１の色温度算出工程と、前記撮像素子からの画像信号のうちの有彩色検出範囲内の画像信号から第２の色温度を算出する第２の色温度算出工程と、前記第１の色温度と前記第２の色温度に基づいてホワイトバランスを調整するホワイトバランス調整工程とを具備し、前記ホワイトバランス調整工程では、前記第１の色温度と前記第２の色温度とを比較して、前記第１の色温度の方が前記第２の色温度より高い場合は、前記第１の色温度に基づいてホワイトバランスを調整し、前記第１の色温度よりも前記第２の色温度が高い場合は、前記第２の色温度に基づいてホワイトバランスを調整することを特徴としている。
【００１１】
【発明の実施の形態】
以下、添付の図面に沿って本発明の実施の形態を説明する。
【００１２】
（第１の実施の形態）
図１は、本発明の実施形態に係わるホワイトバランス装置を備える撮像装置の概略構成を示すブロック図である。
【００１３】
図１において、レンズ１８を通過した光をＣＣＤ１９において受光し、ＣＣＤからの出力信号をＡ／Ｄ変換器２０においてデジタル信号にした後、本発明の実施形態のＷＢ回路６においてホワイトバランスをとり、色信号作成回路２１において色差信号Ｕ,Ｖを作成し、また、輝度信号作成回路において輝度信号Ｙを作成することで、カラー画像を得ることが可能である。
【００１４】
図２および図８は白検出範囲と肌色検出範囲を示した図である。本実施形態では原色フィルタを使用した撮像素子を例にあげて説明する。図２において、「Ｗｈｉｔｅ」,「Ｓｋｉｎ」で示した領域は、白色、肌色が、それぞれ、屋外など高色温度において撮影した場合に検出される領域を示している。図８において、「Ｗｈｉｔｅ」,「Ｓｋｉｎ」で示した領域は、白色、肌色が、それぞれ、タングステン光など低色温度において撮影した場合に検出される領域を示している。
【００１５】
白検出範囲は高色温度から低色温度まで、任意のステップで白色を撮影した撮像素子の出力値から、
Cx=（R-B）/Y
Cy=（R+B-２G）/Y
Y=（R+G+B）/２          …（１）
を計算し、２次元軸にプロットしたものである（図２に（ａ）で示す）。ここで、Ｘ軸が光源の色温度に対応し、Ｙ軸が緑方向補正量に対応している。このようにして白検出範囲（細かい点線が示す範囲）を作成しておく。
【００１６】
また、肌色に対しても同様に、各色温度毎に人肌を撮影し、軸にプロットしたものである（図２に（ｂ）で示す）。ここで、人肌は、白人、黒人、黄色人など様々いるが、各人肌における色相値はあまりかわらないので、ほぼ中間的な肌色を用いて肌検出軸を作成する。そして緑色補正を行うためにこの肌検出軸に対してＹ軸方向に検出範囲を広げたものが肌検出範囲（細かい点線が示す範囲）である。
【００１７】
以上の検出軸を用いて、本実施形態のホワイトバランスを検出する動作を図５に示すフローチャートを参照して説明する。
【００１８】
まず、図３に示す１画面を任意の大きさのブロックに分割する。そして、各ブロック毎において、撮像素子からの色信号に基づいて白評価値（Cx、Cy）を計算し、図の白検出範囲、肌検出範囲に入るか否かを判定する。
【００１９】
次に、白検出範囲内に含まれるブロックの各色フィルタの出力値の積分値SumRw、SumGw、SumBw及び総サンプル数SampleWNumを算出する。
SumRw=ΣR（i）
SumGw=ΣG（i）
SumBw=ΣB（i）                  …（２）
SampleWNum= ΣSample（i）
更に、上記積分値から白評価値SumCxW、SumCyWを算出する。
SumCxW=（SumRw-SumBw）/Yw
SumCyW=（SumRw+SumBw-２SumGw）/Yw      …（３）
Yw=（SumRw+SumGr+SumBg）/２
この白評価値より、被写体（撮像画面内）の色温度（第１の色温度：CTempFromWhite）を予測する（ステップＳ１）。白検出軸のX軸は色温度に対応する軸であるので、SumCxWがわかれば光源色温度は計算可能である。
【００２０】
同様に、肌検出範囲内に含まれるブロックの各色フィルタの出力値の積分値及び総サンプル数を算出する。
SumRskin（赤）,SumGskin（緑）,SumBskin（青）,SampleSkinNum（総サンプル数）…（４）
また、上記積分値より肌評価値SumCxSkin、SumCySkinを算出する。
SumCxSkin=（SumRskin-SumBskin）/Yskin
SumCySkin=（SumRskin+SumBw-２SumGskin）/Yskin      …（５）
Yskin= （SumRskin+SumGw+SumBskin）/２
この肌評価値より、被写体（撮像画面内）の色温度（第２の色温度：CTempFromSkin）を予測する（ステップＳ２）。
【００２１】
ここで、SumCxと色温度との関係を示す図６を用いてステップＳ１およびステップＳ２において求められたSumCxW, SumCxSkinから各色温度を予測する方法を説明する。
【００２２】
SumCxWから色温度CtempFromWhiteを求める場合、図６の式Ｌ１を用いる。式Ｌ１は、
Ｌ１：Ctemp=α×SumCx+m（但し、αは負の係数であり、mは4000K前後の値である）    …（６）’
として表わされる。
【００２３】
また、SumCxSkinから色温度CtempFromSkinを求める場合、図６の式Ｌ２を用いる。式Ｌ２は、
Ｌ２：Ctemp=α×SumCx+n（但し、n＞mであり、mは人肌として定義した色相によって定められる）    …（７）’
として表わされる。
【００２４】
なお、式Ｌ１は各色温度毎に白紙などを撮影したときの色温度をプロットすることによって予め求められているものとする。また、式Ｌ２においても各色温度毎に人肌を撮影したときの色温度をプロットすることによって予め求められているものとする。
【００２５】
そして、白評価値より算出した色温度と肌評価値より算出した色温度を比較する（ステップＳ３）。
【００２６】
白検出で正しい色温度が検出できていれば（高色温度下であってかつ肌色面積が少ない場合）、
CtempFromWhite≧CTempFromSkin    …（６）
となる（ステップＳ３Ｙｅｓ）。よって白検出結果の色温度を最終的な光源の色温度と判定する（ステップＳ４）。なお、白検出結果の色温度が肌検出結果の色温度より高い場合も、白検出結果の色温度を最終的な光源の色温度と判定する。
【００２７】
しかしながら、色温度の高低に関わらず、肌色の面積が多いときには、白検出軸の低色温度側に肌色が多く分布するために、肌検出範囲から予測された色温度より低くなり、
CTempFromWhite＜CTempFromSkin    …（７）
という結果になる（ステップＳ３Ｎｏ）。これが肌色のひっぱられをあらわしており、このような場合には、肌色の検出領域において予測された色温度CTempFromSkinを出力する（ステップＳ５）。また、タングステン光などの低色温度下において撮影された場合、肌色が存在しない場合においても白色が肌検出範囲に含まれることになるので、やはり式（７）の結果を用いることになる。この場合、後述のステップＳ５の処理によって白検出結果CTempFromWhite、肌検出結果CtempFromSkinが加重平均されるのでその影響はなくなる。
【００２８】
ここで、デジタル的に白検出結果CTempFromWhite、肌検出結果CTempFromSkinをきりかえてホワイトバランス補正に用いると、若干のシーンずれでホワイトバランスの切り替わりが発生してしまう場合がある。よって、これを防ぐ理由からも、肌検出されたサンプル数の割合によって、２つの係数を加重平均する処理（以下、この処理をサンプル数係数MIXと呼ぶ）を行うことがより好ましい。以下、例をあげてこのサンプル数係数MIX処理を説明する。
【００２９】
１画面を分割して得られるブロック数のトータルをAllSampleNumberとし、肌検出されたサンプルポイントの合計より、以下の式を用いて、肌が画面の何％を占めていたかを判断する。
SkinSamplePercent= SampleSkinNum×１００/AllSampleNumber    …（８）
このSkinSamplePercentを用いて、以下の式を用いて最終的な被写体の色温度を算出する。
CTempResult=k×CTempFromSkin+（１−k）×CTempFromWhite  …（９）
例えばSkinSamplePercentが１０％以上の場合は、肌検出結果を１００％（k=1）使用し、SkinPercentが１０％をきると徐々に白検出結果をまぜはじめる。SkinSamplePercentが５％で、肌検出結果を５０％（k=0.5）、白検出結果を５０％とし、SkinSamplePercentが０％で、肌検出結果が０％（k=0）、白検出結果が１００％になるように設定する。
【００３０】
このようにして求められた色温度に基づいてホワイトバランス係数を算出し、撮像信号のホワイトバランス補正処理を実行する（ステップ６）。
【００３１】
なお、本実施の形態においては、CTempFromWhite＜CtempFromSkinの場合にCtempFromWhiteおよびCtempFromSkinの加重平均を行っていたが、CtempFromWhite≧CTempFromSkinの場合にこれらの色温度の加重平均をおこなってもよい。この場合処理が簡略化するので応答性が向上する。
【００３２】
以上説明したように、光源の色温度の高低、および撮影画面内の肌色の有無に関わらず、適切なホワイトバランス補正が可能となる。
【００３３】
（第２の実施形態）
本実施形態では、第１の実施形態の白検出によって予測された色温度と肌検出によって予測された被写体色温度のミックス方法が異なる。図７は第２の実施の形態における撮像装置の動作処理フローチャートであり、図７を用いて本実施の形態の処理を説明する。
【００３４】
まず白検出からの色温度CtempFromWhite（第１の色温度）よりSumCxW及びSumCyWを求め、さらに、式（１）の連立方程式を解くことで撮像素子の色画素出力値Rw、Gw、Bw値を逆算する。
【００３５】
これより、ホワイトバランス係数WB_Rw、WB_Gw、WB_Bwを算出する（ステップＳ２１）。
WB_Rw=１.０/Rw
WB_Gw=１.０/Gw      …（１０）
WB_Bw=１.０/Bw
次に、肌検出からの色温度CTempFromSkin（第２の色温度）より、肌検出軸でのCxFromSkin、CyFromSkinを算出する。この算出方法は第１の実施の形態と同様である。これから、先ほどと同様に連立方程式を解くことで、Rs、Gs、Bs値を求める。更にこれより、肌からのホワイトバランス係数WB_Rs、WB_Gs、WB_Bsを算出する（ステップＳ２２）。
WB_Rs=１.０/Rs
WB_Gs=１.０/Gs      …（１１）
WB_Bs=１.０/Bs
画面の予め指定したブロック（図４のような画面中央部）内において得られる色信号に対して、上記２種類のWB係数のそれぞれに基づいてホワイトバランス補正を行い、その補正された信号より色差信号を作成し、色差信号の平均値を算出する（ステップＳ２３）。白からのホワイトバランス係数に基づいて補正された信号から色差信号を算出し、色差信号の絶対値の和を平均化したものを、
AveCrw、AveCbw    …（１２）
とし、肌からのホワイトバランス係数に基づいて補正された信号から色差信号を算出し、色差信号の絶対値の和を平均したものを、
AveCrs、AveCbs    …（１３）
とする。
【００３６】
これより彩度を算出すると、
ChromaW=sqrt（AveCrw１2+AveCbw１2）
ChromaS=sqrt（AveCrs１2+AveCbs１2）  …（１４）
となる（ステップＳ２５）。
【００３７】
ここで、白検出から算出されたWB係数が正しければ（肌にひっぱられていなければ）
ChromaW=ChromaS    …（１５）
となるが、白色を検出する際に人物の肌色にひっぱられると肌色を無彩色にするように（画面全体が青くなる方向に）動作してしまう。つまり、人肌が画面中央部にあって、肌色が白色検出領域に存在する場合には、
ChromaW＜ChromaS    …（１６）
となる。
【００３８】
式（１５）のような状態になったとき、白検出からの色温度CtempFromWhiteを出力する（ステップＳ２７）。一方、式（１６）のような場合、肌検出からの色温度CTempFromSkinを用いてホワイトバランス係数を算出してもよいが、急激な画面のホワイトバランス補正の切換わりを防ぐため、第１の実施形態と同じような加重平均を用いて最終的な被写体の色温度を予測する（ステップＳ２６）。
CTempResult= k×CTempFromSkin+（１−k）×CTempFromWhite    …（１７）
ただし、式（１７）において、k，CTempResult，CTempFromSkin，CTempFromWhiteは、第１の実施形態と同様の意味を表わすものとする。式（１７）は肌色が多く検出されればされるほど肌検出からの色温度CTempFromSkinを重視することを意味する。例えば、画面内の全てに肌色が検出された場合は肌検出からの色温度CTempFromSkinのみを採用することになるので、画面中から白色が検出されない場合においても適切なホワイトバランス補正を行うことができる。
【００３９】
このようにして得られた色温度からホワイトバランス補正を行うための係数を決定する（ステップＳ２８）。
【００４０】
なお、本実施の形態においては、ChromaW＜ChromaSの場合にCtempFromWhiteおよびCtempFromSkinの加重平均を行っていたが、ChromaW≧ChromaSの場合にこれらの色温度の加重平均をおこなってもよい。この場合処理が簡略化するので応答性が向上する。
【００４１】
なお、ステップＳ２５の処理では肌色の検出が少ないため、確度が低い可能性が考えられる。この場合、ステップＳ２５に進む前の処理において、肌検出範囲から検出されるサンプル数がある値より小さい場合には（例えば、SkinSamplePercentが１％以下）ステップＳ２７の処理に進み、それ以外の場合にはステップＳ２５の処理に進むようにしてもよい。
【００４２】
以上説明したように、本実施の形態においても適切なホワイトバランスの補正を行うことができる。
【００４３】
（第３の実施形態）
本実施形態では、第１の実施形態の白検出からの被写体色温度と肌検出からの被写体色温度のミックス方法（図５のステップ５）とは異なるミックス方法を示す。
【００４４】
白検出、肌検出の対象となった撮像素子の複数ブロックの総数を
AllBlockNum      …（１８）
とする。
【００４５】
白検出範囲に含まれるブロック数SampleWNumとAllBlockNumを用いて、白と判別されたブロックの割合WBlockPercentを算出する。
WBlockPercent= SampleWNum/AllBlockNum×１００    …（１９）
この割合を用いて以下のような加重加算を用いて最終の被写体色温度（CTempResult）を算出する。
【００４６】
（例）
WBlockPercent＞１０％を満たす場合、
CTempResult=CTempFromWhite    …（２０）
とする。
【００４７】
また、WBlockPercent＞１０％を満たさない場合、
CTempResult=WhiteRatio×CTempWhite＋(１-WhiteRatio)×CtempFromSkin
ここで、WhiteRatioは、WBlockPercent=１０％のときWhiteRatio=１.０、WBlockPercent=０％のときWhiteRatio=０.０となるように、WhiteRatio= a×WBlockPercent+b      …（２１）
の１次関数で色温度が求まる。
【００４８】
本実施形態では、白検出と有彩色の検出として肌色を用いたが、肌色のみならず、葉っぱなどの緑、青空などの青を用いても効果は期待できる。
【００４９】
（第４の実施形態）
本実施形態では、第１の実施形態の白検出からの被写体色温度と肌検出からの被写体色温度のミックス方法が第１の実施の形態の方法（図５のステップ５）とは異なる形態を示す。
【００５０】
本実施形態では、カメラの撮影モードがポートレートモード（人物撮影モード）と指定されたときに、肌検出からの被写体色温度情報を用いてホワイトバランスをとる。
【００５１】
あるいは、カメラの撮影モードがポートレートモードのとき、ミックス時の式の係数kの割合を大きくする重みをつける。
【００５２】
以上説明したように、上記の第１乃至第４の実施形態によれば、従来のホワイトバランス装置に用いられる白検出手段からの色情報に加え、肌色を検出することによって求められる色情報を加味して最終の被写体色温度を特定する構成をとっているので、人顔アップなどのショットで白の面積が小さくなった場合でもより正確な色温度判別が可能となる。
【００５３】
また、従来肌色を白と誤判別し白く誤補正していた比較的低照度の被写体において、肌色のひっぱられを防ぐことが可能となる。
【００５４】
また、明るい被写体においても従来のように白検出範囲を狭める必要がなくなるため、スタジオなどの非常に高照度のタングステン光のホワイトバランス補正を適正に行うことができる。
【００５５】
【他の実施形態】
また、各実施形態の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（OS）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５７】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００５８】
【発明の効果】
以上説明したように、本発明によれば、撮影条件によらず、常に正確なホワイトバランスを取ることが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態のホワイトバランス装置を備える撮像装置の概略構成を示す図である。
【図２】白及び肌検出軸を示した図である。
【図３】色検出ブロックを示した図である。
【図４】肌判定ブロックを示した図である。
【図５】第１の実施の形態におけるホワイトバランス装置の動作を示すフローチャートである。
【図６】  SumCxWおよびSumCxSkinから色温度を求めるための式を示す図である。
【図７】第２の実施の形態におけるホワイトバランス装置の動作を示すフローチャートである。
【図８】白及び肌検出軸を示した図である。
【符号の説明】
６  ホワイトバランス回路
１８  レンズ
１９  撮像素子
２０  Ａ／Ｄ変換器
２１  色信号作成回路
２２  輝度信号作成回路
【図１】
0003848274.tif 000002
【図２】
0003848274.tif 000003
【図３】
0003848274.tif 000004
【図４】
0003848274.tif 000005
【図５】
0003848274.tif 000006
【図６】
0003848274.tif 000007
【図７】
0003848274.tif 000008
【図８】
0003848274.tif 000009