(57)【要約】【課題】  ホワイトバランス制御の精度を向上させる。【解決手段】  撮像された画像を複数のブロックに分割し、ブロックごとの色評価値に基づいて第１のホワイトバランス補正値を算出するとともに、環境光源を推定する。そして、画像から検出された顔領域に対応するブロックに対し、第１のホワイトバランス補正値を適用して肌色評価値を取得する。この肌色評価値が、推定された環境光源に対して予め定めた肌色領域に含まれる場合には、第１のホワイトバランス補正値を最終的なホワイトバランス補正値として決定する。【選択図】  図７
2010041622.tif 000002
【特許請求の範囲】
【請求項１】
撮像された画像のホワイトバランス補正を行うホワイトバランス制御装置であって、
前記画像を複数のブロックに分割し、前記複数のブロックの各々の色評価値に基づいて第１のホワイトバランス補正値を算出する第１の補正値算出手段と、
前記複数のブロックの色評価値に基づいて、環境光源を推定する推定手段と、
前記複数のブロックのうち、前記画像から検出された顔領域に対応するブロックに対し、前記第１のホワイトバランス補正値を適用し、肌色評価値を取得する取得手段と、
前記肌色評価値が前記推定手段により推定された環境光源に対して予め定められた肌色補正対象領域に含まれるか否かを判別する判別手段と、
前記肌色評価値が前記肌色補正対象領域に含まれないと判別された場合、前記第１のホワイトバランス補正値を最終的なホワイトバランス補正値として決定する決定手段と、
撮像された画像を、前記決定手段が最終的なホワイトバランス補正値として決定したホワイトバランス補正値を用いて補正する補正手段とを有することを特徴とするホワイトバランス制御装置。
【請求項２】
前記判別手段により前記肌色評価値が前記肌色補正対象領域に含まれると判別された場合、前記肌色評価値と、予め定めた肌色目標値との差を補正する第２のホワイトバランス補正値を算出する第２の補正値算出手段をさらに有し、
前記決定手段は、前記判別手段により前記肌色評価値が前記肌色補正対象領域に含まれると判別された場合、前記第１のホワイトバランス補正値と前記第２のホワイトバランス補正値との合計を前記最終的なホワイトバランス補正値として決定することを特徴とする請求項１記載のホワイトバランス制御装置。
【請求項３】
前記第２の補正値算出手段が、前記推定手段によって推定された環境光源に対して予め設定された肌色目標値を用いて前記第２のホワイトバランス補正値を算出することを特徴とする請求項２記載のホワイトバランス制御装置。
【請求項４】
前記第２の補正値算出手段が、前記肌色補正対象領域における前記肌色評価値の位置と、前記推定手段によって推定された環境光源とに応じて予め設定された量の変更を加えた前記第２のホワイトバランス補正値を算出することを特徴とする請求項２又は請求項３記載のホワイトバランス制御装置。
【請求項５】
前記決定手段は、前記画像から顔領域が検出されない場合、前記第１のホワイトバランス補正値を前記最終的なホワイトバランス補正値として決定することを特徴とする請求項１乃至請求項４のいずれか１項に記載のホワイトバランス制御装置。
【請求項６】
前記画像を撮像する撮像手段と、
前記画像から顔領域を検出する顔検出手段と、
請求項１乃至請求項５のいずれか１項に記載のホワイトバランス制御装置とを有することを特徴とする撮像装置。
【請求項７】
撮像された画像のホワイトバランス補正を行うホワイトバランス制御方法であって、
前記画像を複数のブロックに分割し、前記複数のブロックの各々の色評価値に基づいて第１のホワイトバランス補正値を算出する第１の補正値算出工程と、
前記複数のブロックの色評価値に基づいて、環境光源を推定する推定工程と、
前記複数のブロックのうち、前記画像から検出された顔領域に対応するブロックに対し、前記第１のホワイトバランス補正値を適用し、肌色評価値を取得する取得工程と、
前記肌色評価値が前記推定工程により推定された環境光源に対して予め定められた肌色補正対象領域に含まれるか否かを判別する判別工程と、
前記肌色評価値が前記肌色補正対象領域に含まれないと判別された場合、前記第１のホワイトバランス補正値を最終的なホワイトバランス補正値として決定する決定工程と、
撮像された画像を、前記決定工程が最終的なホワイトバランス補正値として決定したホワイトバランス補正値を用いて補正する補正工程とを有することを特徴とするホワイトバランス制御方法。
【請求項８】
コンピュータを請求項１乃至請求項５のいずれか１項に記載のホワイトバランス制御装置の各手段として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はホワイトバランス制御装置及び制御方法に関し、特に画像の輝度及び色差信号に基づいて画像のホワイトバランスを制御するホワイトバランス制御装置及び制御方法に関する。
本発明はさらに、本発明のホワイトバランス制御装置を用いた撮像装置に関する。
【背景技術】
【０００２】
デジタルカメラやデジタルビデオカメラなどの、撮像素子を用いる撮像装置においては、撮像によって得られた画像の色調を調整するホワイトバランス制御機能を備えている。ホワイトバランス制御は、白い物体が白く撮像されるよう、ホワイトバランス係数（補正値）により画素値を補正する処理である。
【０００３】
ホワイトバランス制御には、白く撮影したい物体を撮像してホワイトバランス係数を求めるマニュアルホワイトバランス制御と、撮像した画像から白色と思われる部分を自動検出してホワイトバランス係数を求めるオートホワイトバランス制御とがある。
【０００４】
ここで、従来のオートホワイトバランス制御について説明する。
撮像素子から出力された信号はAD変換によってデジタル化され、図２に示すように複数のブロックに分割される。
【０００５】
各ブロックはR、G、Bの色画素で構成されており、ブロック毎に、例えば以下の算出式（１）により、色評価値（Cx[i]、Cy[i]）を求める。
Cx[i] =（R[i]−B[i]）/ Y[i] × 1024
Cy[i] =（R[i] + B[i]−2G[i]）/  Y[i] × 1024          ・・・（1）
（ただし、iはブロックの番号、R[i],G[i],B[i]はブロックiに含まれるＲＧＢ画素の平均値、Y[i] = R[i] + 2G[i] + B[i]）
【０００６】
予め設定した白検出範囲に色評価値（Cx[i]、Cy[i]）が含まれる場合は、そのブロックが白であると判定する。そして、そのブロックに含まれる色画素の積分値SumR、SumG、SumBを算出して、以下（2）式のようにホワイトバランス係数（WBCo_R,WBCo_G,WBCo_B）を算出する。
WBCo_R = SumY × 1024 / sumR
WBCo_G = SumY × 1024 / sumG                                  ・・・ （2）
WBCo_B = SumY × 1024 / sumB
ただし、SumY = （sumR + 2 × sumG + SumB） /4
【０００７】
しかし、このようなホワイトバランス制御においては、次のような問題があった。
太陽光源下において、白の色評価値は図３の領域Ａ付近に分布する。また、太陽光源下における肌色の色評価値は、低色光源下における白点の色評価値とほぼ同等の領域である領域Ｂに分布する。
【０００８】
従って、人物のアップのように、白色が少なく肌色が多い画像の場合、上述の式を用いて求めた色評価値は図３の領域Ｂに分布することになる。この結果、肌色を低色温度光源下の白色と誤判別し、肌色を白色に補正するようなホワイトバランス係数を算出してしまうことにより、人の肌が白色に誤補正されてしまうという問題があった。同様に、肌色に近い有彩色が多く含まれる画像では、その有彩色を白と誤判別し、肌色を白に誤補正してしまう場合もあった。
【０００９】
この問題に対し、被写体輝度が高い場合は外光（太陽光）と判断し、白色と検出する範囲（白検出範囲）を狭めて肌色を低色温度光源下の白と誤判別しないことが行われていた。しかし、室内光源で低照度の高色温度蛍光灯や中色温度蛍光灯などを用いた場合、肌色は黒体放射軸の下方向（図３、領域Ｃ）に分布する。そのため、これらの蛍光灯に対してもオートホワイトバランス制御を行うためには、白検出範囲を拡大しなければならず、肌色を白と誤判別するようなケースがあった。
【００１０】
そのため、特許文献１においては、顔検出技術を利用し、顔として検出された領域（顔領域）は、白色画素の検出対象から外してホワイトバランス制御を行うことが提案されている。
【００１１】
また、特許文献２では、画像から顔を検出し、顔が検出された場合は顔領域の色情報を抽出して基準肌色と比較し、その結果を基にホワイトバランス補正を行うことが提案されている。
【００１２】
【特許文献１】特開２００３−１８９３２５号公報
【特許文献２】米国特許第６９７５７５９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上述した従来のホワイトバランス制御方法においては、顔を誤検出した場合や、顔を検出できなかった場合の対策が考慮されていない。また、環境光源に応じた好ましい肌色の再現についても考慮されていない。
【００１４】
そのため、人顔でない領域を顔領域と誤検出した場合、白検出の対象領域が必要以上に少なくなり、得られる色温度情報の精度、ひいてはホワイトバランス制御の精度が低下するという問題がある。また、環境光源に応じた肌色の表現を考慮していないので、撮影時の環境光源の種類によっては補正が撮像画像の雰囲気を損ねる場合があった。
【００１５】
本発明はこのような従来技術の課題に鑑みてなされたものであり、顔領域の誤検出や環境光源を考慮した、精度の良いホワイトバランス補正を実現するホワイトバランス制御装置及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上述の目的は、撮像された画像のホワイトバランス補正を行うホワイトバランス制御装置であって、画像を複数のブロックに分割し、複数のブロックの各々の色評価値に基づいて第１のホワイトバランス補正値を算出する第１の補正値算出手段と、複数のブロックの色評価値に基づいて、環境光源を推定する推定手段と、複数のブロックのうち、画像から検出された顔領域に対応するブロックに対し、第１のホワイトバランス補正値を適用し、肌色評価値を取得する取得手段と、肌色評価値が推定手段により推定された環境光源に対して予め定められた肌色補正対象領域に含まれるか否かを判別する判別手段と、肌色評価値が肌色補正対象領域に含まれないと判別された場合、第１のホワイトバランス補正値を最終的なホワイトバランス補正値として決定する決定手段と、撮像された画像を、決定手段が最終的なホワイトバランス補正値として決定したホワイトバランス補正値を用いて補正する補正手段とを有することを特徴とするホワイトバランス制御装置によって達成される。
【００１７】
また、上述の目的は、画像を撮像する撮像手段と、画像から顔領域を検出する顔検出手段と、本発明のホワイトバランス制御装置とを有することを特徴とする撮像装置によっても達成される。
【００１８】
また、上述の目的は、撮像された画像のホワイトバランス補正を行うホワイトバランス制御方法であって、画像を複数のブロックに分割し、複数のブロックの各々の色評価値に基づいて第１のホワイトバランス補正値を算出する第１の補正値算出工程と、複数のブロックの色評価値に基づいて、環境光源を推定する推定工程と、複数のブロックのうち、画像から検出された顔領域に対応するブロックに対し、第１のホワイトバランス補正値を適用し、肌色評価値を取得する取得工程と、肌色評価値が推定工程により推定された環境光源に対して予め定められた肌色補正対象領域に含まれるか否かを判別する判別工程と、肌色評価値が肌色補正対象領域に含まれないと判別された場合、第１のホワイトバランス補正値を最終的なホワイトバランス補正値として決定する決定工程と、撮像された画像を、決定工程が最終的なホワイトバランス補正値として決定したホワイトバランス補正値を用いて補正する補正工程とを有することを特徴とするホワイトバランス制御方法によっても達成される。
【発明の効果】
【００１９】
このような構成により、本発明によれば、顔領域の誤検出や環境光源を考慮した、精度の良いホワイトバランス補正を実現することができる。
【発明を実施するための最良の形態】
【００２０】
以下、添付図面を参照して、本発明の例示的かつ好適な実施形態について詳細に説明する。
図１は、本発明の実施形態に係るホワイトバランス制御装置を適用可能な撮像装置の機能構成例を示すブロック図である。
【００２１】
図１において、光学系１１６は絞り、メカニカルシャッター、レンズなどを備え、制御回路の制御に従って被写体光学像を撮像素子１０１上に結像する。撮像素子１０１はＣＣＤイメージセンサやＣＭＯＳイメージセンサ等の固体撮像素子であり、例えばベイヤー配列を有する原色カラーフィルタを備え、カラー画像の撮影が可能である。本実施形態において、撮像素子１０１は、Ａ／Ｄ変換器等の前処理回路を含むものとし、メモリ１０２には撮像された画像データが格納される。
【００２２】
顔検出部１１４は、メモリ１０２に記憶された画像データに対し、公知の顔検出技術を適用し、画像中に含まれる人間の顔領域を検出する。公知の顔検出技術としては、ニューラルネットワークなどを利用した学習に基づく手法、テンプレートマッチングを用いて目、鼻、口等の形状に特徴のある部位を画像から探し出し、類似度が高ければ顔とみなす手法などがある。また、他にも、肌の色や目の形といった画像特徴量を検出し、統計的解析を用いた手法等、多数提案されている。一般的にはこれらの手法を複数組み合わせ、顔検出の精度を向上させている。
具体的な例としては特開２００２−２５１３８０号公報に記載のウェーブレット変換と画像特徴量を利用して顔検出する方法などが挙げられる。
【００２３】
ここで、テンプレートマッチングを用いたパターン認識について簡単に説明する。パターン認識とは、観測されたパターンをあらかじめ定められた概念（クラス）の一つに対応させる処理である。
【００２４】
図４は、図１における顔検出部１１４が実行するパターン認識処理の一例を示すフローチャートである。
顔検出部１１４は、まず、メモリ１０２から取得した画像データを前処理する（Ｓ５０１）。前処理には、例えば画像特徴を抽出する際に用いるための輝度情報の生成などが含まれる。
【００２５】
そして、顔検出部１１４は、前処理された画像データから予め定められた画像特徴を有する領域（パターン）を抽出する（Ｓ５０２）。次に、顔検出部１１４は、抽出したパターンを、予め用意されたテンプレート（標準パターン）６０１と比較する（テンプレートマッチング）。そして、テンプレートの中から、例えば相関が所定以上大きいものがあれば、抽出したパターンがそのテンプレートに対応したパターンであると認識する（Ｓ５０３）。さらに顔検出部１１４は、認識したパターンを特定する情報を出力し（Ｓ５０４）、パターン認識処理を終了する。
【００２６】
ここで、Ｓ５０３において顔検出部１１４が実行しうるテンプレートマッチングの例を、図５を参照して説明する。
図５において、顔検出部１１４が、画像データ６０３をメモリ１０２から取得したものとする。
【００２７】
まず、顔検出部１１４に予め記憶されたテンプレート６０１の中心点６０２を、メモリ１０２から取得した画像データ６０３のある座標点（ｉ，ｊ）に対応させる。そして、テンプレート６０１と、画像データ６０３のテンプレート６０１と重なる部分領域との類似度を算出する。この類似度の算出動作を、テンプレート６０１の中心点６０２をずらしながら画像データ６０３全体に対して実行し、類似度が最大となる中心点６０２の位置を探索する。類似度が所定の閾値以上となる中心点６０２の位置が検出された場合、テンプレート６０１に対応する部分領域はテンプレート６０１と類似したパターンであると認識することができる。
【００２８】
従って、例えば、目や耳等の形状に対応したテンプレート６０１を用いることにより、画像データ６０３中に含まれる目の位置や顔領域の位置（顔座標）を検出することができる。顔検出部１１４は、顔領域が検出された場合、顔領域の位置や大きさに関する情報を顔情報として出力する。
【００２９】
ＣＰＵ１１５は、顔検出部１１４により顔領域が検出されていれば、顔領域が適正露出で撮像されるよう、シャッター速度、絞り値を計算する。また、顔領域を焦点検出領域として合焦制御を行い、フォーカスレンズの駆動量を計算する。
【００３０】
一方、顔検出部１１４により顔領域が検出されていなければ、ＣＰＵ１１５は画像全体の輝度に基づいてシャッター速度、絞り値を計算する共に、予め定めた合焦領域を用いて合焦制御を行い、フォーカスレンズの駆動量を計算する。
【００３１】
ＣＰＵ１１５で計算された露出値（シャッター速度、絞り値）およびフォーカスレンズの駆動量は制御回路１１３に送られる。制御回路１１３は、これら各値に基づいて光学系１１６が有する絞り、シャッター、フォーカスレンズを駆動する。
【００３２】
ホワイトバランス(WB)制御部１０３は、メモリ１０２に記憶された画像データおよび顔検出部１１４から得られる顔情報に基づいてホワイトバランス(WB)補正値を算出する。そして、ホワイトバランス制御部１０３は、算出したWB補正値を用いて、メモリ１０２に記憶された画像データのホワイトバランスを補正する。ホワイトバランス制御部１０３の詳細構成およびWB補正値の算出方法については、後述する。
【００３３】
色マトリックス(MTX)回路１０４は、ホワイトバランス制御部１０３によりWB補正された画像データが最適な色で再現されるよう色ゲインを乗じ、２つの色差信号データR-Y、B-Yに変換する。ローパスフィルタ（LPF）回路１０５は、色差信号データR-Y、B-Yの帯域を制限する。CSUP（Chroma Supress）回路１０６は、LPF回路１０５で帯域制限された色差信号データの飽和部分の偽色信号を抑圧する。
【００３４】
一方、ホワイトバランス制御部１０３によりWB補正された画像データは輝度信号（Y）生成回路１１１にも供給され、輝度信号生成回路１１１で輝度信号データYが生成される。エッジ強調回路１１２は、生成された輝度信号データYに対してエッジ強調処理を適用する。
【００３５】
CSUP回路１０６から出力される色差信号データR-Y、B-Yと、エッジ強調回路１１２から出力される輝度信号データYは、RGB変換回路１０７にてRGB信号データに変換される。ガンマ補正回路１０８は、ＲＧＢ信号データに対し、予め定められたγ特性に従った階調補正を適用する。ガンマ補正されたＲＧＢ信号データは、色輝度変換回路１０９によってYUV信号データに変換された後、ＪＰＥＧ圧縮回路１１０にて圧縮符号化され、記録回路１１７によって記録媒体に画像データファイルとして記録される。ここで、記録媒体は着脱可能であっても、内蔵されていても良い。
【００３６】
図６及び図７は、ホワイトバランス制御部１０３におけるホワイトバランス補正値の算出動作を説明するフローチャートである。
図６は、第１の補正値算出手段としてのホワイトバランス制御部１０３の動作を、図７は、第２の補正値算出手段としてのホワイトバランス制御部１０３の動作を、それぞれ示している。
【００３７】
まず、ホワイトバランス制御部１０３は、メモリ１０２に記憶された１画面（フレーム又はフィールド）分の画像データを読み出し、図２に示すような任意のｍ（ｍは１以上の整数）個のブロックに分割する（Ｓ１０１）。
【００３８】
そして、ホワイトバランス制御部１０３は、ブロックに含まれる画素値を各色成分ごとに加算平均して色平均値（R[i]、G[i]、B[i]）を算出し、さらに式（１）を用いてブロックごとに色評価値（Cx[i]、Cy[i]）を算出する（Ｓ１０２）。
Cx[i] =（R[i] − B[i]）/  Y[i] × 1024
Cy[i] =（R[i] + B[i] − ２G[i]）/ Y[i] × 1024
ただし、Y[i] = R[i] + ２G[i] + B[i]、i=1...m
【００３９】
次に、ホワイトバランス制御部１０３は、Ｓ１０２で算出したi番目のブロックの色評価値（Cx[i]、Cy[i]）が、図３に示す、予め設定した白検出範囲３０１に含まれるかどうかを判断する（Ｓ１０３）。
白検出範囲３０１は、白色物体を特性（色温度など）の異なる環境光源下で予め撮影し、算出した色評価値をプロットしたものである。そして、環境光源が外光（太陽光）である場合の白評価値範囲は領域Ａといったように、予め環境光源に応じた白評価値の範囲が設定されている。
【００４０】
図３におけるx座標（Cx）の負方向が高色温度光源下で白色物体を撮影したときの色評価値、正方向が低色温度光源下で白色物体を撮影したときの色評価値である。またy座標（Cy）は光源の緑(G)成分の度合いを意味しており、負方向になるにつれG成分が大きくなる。つまり、光源が蛍光灯である場合には、負の方向に色評価値が分布する。
【００４１】
算出した色評価値（Cx[i]、Cy[i]）が白検出範囲３０１に含まれる場合（Ｓ１０３でYES）、ホワイトバランス制御部１０３はそのブロックが白色であると判断する。そして、ホワイトバランス制御部１０３は、白色であると判断したブロックの色平均値（R[i]、G[i]、B[i]）を積算する（Ｓ１０４）。一方、色評価値（Cx[i]、Cy[i]）が白検出範囲３０１に含まれない場合、ホワイトバランス制御部１０３は、そのブロックの色平均値を積算せずに処理をＳ１０５に進める。
【００４２】
このＳ１０３及びＳ１０４における処理は、以下の式（３）により表すことができる。
2010041622.tif 000003
【００４３】
式（３）において、色評価値（Cx[i]、Cy[i]）が白検出範囲（図３の３０１）に含まれる場合はSw[i]を１に、含まれない場合にはSw[i]を０とする。これにより、色評価値（Cx[i]、Cy[i]）が白検出範囲（図３の３０１）に含まれるブロックの色平均値（R[i]、G[i]、B[i]）のみが積算される。
【００４４】
Ｓ１０５でホワイトバランス制御部１０３は、すべてのブロックについてＳ１０２〜Ｓ１０４の処理を行ったかどうかを判断し、未処理のブロックがあれば処理をＳ１０２に戻し、すべてのブロックで処理したならば処理をＳ１０６に進める。
【００４５】
Ｓ１０６でホワイトバランス制御部１０３は、得られた色平均値の積分値（sumR、SumG、SumB）から、以下の式（４）式を用いて、第１のWB補正値（WBCol_R、WBCol_G、WBCol_B）を算出する。
WBCol_R = sumY × 1024 / sumR
WBCol_G = sumY × 1024 / sumG        ・・・（４）
WBCol_B = sumY × 1024 / sumB
ただし、sumY = （sumR + ２ × sumG ＋ sumB）/ ４
【００４６】
白検出範囲３０１には、環境光源ごとの白評価値の範囲が設定されている。そのため、ホワイトバランス制御部１０３は、色評価値が白検出範囲に含まれるブロックの色平均値の積分値（sumR、SumG、SumB）から、環境光源を推定することができる。そして、ホワイトバランス制御部１０３は、推定した環境光源に関する情報（例えば、白色色温度や、光源の種類）を、後述する第２のWB補正値算出に用いるため、図示しない内部メモリなどに保存する。
【００４７】
図７に移り、Ｓ２０２においてホワイトバランス制御部１０３は、顔検出部１１４で顔（顔領域）が検出されているかどうかを判断する。なお、ここでの顔領域の検出はホワイトバランス補正の対象の画像を用いることが適切であるが、それ以前に撮影された他のフレーム画像に基づき検出してもよい。顔が検出されていなければ、既に算出した第１のWB補正値を最終的なWB補正値として決定し（Ｓ２１０）、ホワイトバランス補正値算出処理を終了する。
【００４８】
一方、顔が検出されていれば、ホワイトバランス制御部１０３は、Ｓ２０３において顔領域に対応するブロック（例えば顔領域に全体が含まれるブロック）の全てについての色平均値（FR、FG、FB）を取得する。なお、顔領域がブロック単位で検出されない場合には、顔領域に完全に含まれるブロックだけでなく、所定割合（例えば５０％以上）が顔領域であるブロックを顔領域に対応するブロックに含めてよい。
【００４９】
次に、Ｓ２０４でホワイトバランス制御部１０３は、第１のWB補正値算出処理において推定した環境光源の情報を参照し、推定された環境光源に応じた肌色補正対象領域を設定する。この設定処理の詳細については後述する。なお、ここではホワイトバランス制御部１０３は、肌色領域についても推定されている環境光源に応じて設定するものとする。
【００５０】
そして、Ｓ２０５でホワイトバランス制御部１０３は、肌色評価値を求める。具体的には、Ｓ２０３で取得した色平均値（FR、FG、FB）に、第１のWB補正値（WBCol_R、WBCol_G、WBCol_B）をそれぞれ乗じた肌色平均値を肌色評価値として求める。肌色平均値は、顔領域の色平均値を第１のWB補正値により補正した値、補正画像信号データである。
【００５１】
すなわち、肌色平均値（SR, SG, SB）を、
SR=FR × WBCol_R
SG=FG × WBCol_G
SB=FB × WBCol_B
として求める。
そして、ホワイトバランス制御部１０３は、肌色平均値（SR, SG, SB）が肌色補正対象領域内にあるか否かを判別する。
【００５２】
図８は、肌色領域、肌色補正対象領域及び肌色補正対象外領域の例を示す図である。
図８において、肌色領域（Ａ）は第１の色信号領域に対応し、肌色補正対象領域（Ｂ）は、第１の色信号領域からのズレが所定範囲内の周辺領域である第２の色信号領域に対応する。ここで、図８においては、所定の色空間座標系としてＣｘ、Ｃｙ座標系が用いられているので、ＲＧＢデータをＣｘ＝SR-SB、Ｃｙ＝SR+SB-2SGと色差信号に変換してから、判別する。もちろん、公知の色空間変換方法を適用することにより、任意の色空間で判別することができる。
【００５３】
ここで、図８に示す肌色領域（Ａ）及び肌色補正対象領域（Ｂ）は、環境光源の種類ごとに、予め肌色を複数撮影し、統計的な手法を用いて設定することができる。また、肌色領域（Ａ）及び肌色補正対象領域（Ｂ）を特定する情報は、ホワイトバランス制御部１０３に予め登録しておいても、別の記憶装置に記憶しておき、必要な際にホワイトバランス制御部１０３が参照しても良い。
【００５４】
Ｓ２０４においてホワイトバランス制御部１０３は、推定されている環境光源に対応する肌色補正対象領域を、Ｓ２０５における判別に用いる肌色補正対象領域として設定する。肌色平均値が図８の肌色領域（Ａ）に入っている場合、第１のWB補正値により肌色が適正にWB補正されたと判別できるため、ホワイトバランス制御部１０３は、第１のWB補正値を最終的に使用するWB補正値に決定する（Ｓ２１０）。
【００５５】
また、肌色平均値が肌色補正対象外領域（Ｃ）にある場合は、ホワイトバランス制御部１０３は、肌色平均値が人の肌を表していないと判別し、やはり第１のWB補正値を最終的に使用するWB補正値に決定する（Ｓ２１０）。
【００５６】
一方、肌色平均値が肌色補正対象領域（Ｂ）内にある場合、第１のWB補正値では、肌色が適正にWB補正されなかったと判別できる。従って、ホワイトバランス制御部１０３は、肌色平均値と肌色領域（Ａ）とのズレを補正する第２のホワイトバランス補正値（第２のWB補正値）を算出する（Ｓ２０６）。
【００５７】
ここでは、図９に示すように、肌色平均値から肌色領域（Ａ）への移動距離が最も小さくなるような補正量を算出するものとする。すなわち、肌色平均値の座標を(Cx1, Cy1)、肌色領域内で、かつ肌色平均値に最も近い点（肌色目標値）の座標を(Cx2, Cy2)とすると、補正量は、
ΔＣｘ＝Ｃｘ２−Ｃｘ１
ΔＣｙ＝Ｃｙ２−Ｃｙ１
となる。そして、この補正量（ΔCx、ΔCy）を第２のWB補正値とする。
【００５８】
なお、ここで肌色目標値を肌色平均値から肌色領域（Ａ）への移動距離が最も小さくなる座標にしているのは、第２のWB補正値による過補正があっても適正な肌色の範囲内に入るようにするための制御の一例である。従って、肌色目標値が肌色領域（Ａ）の内部に設定されてもよい。
【００５９】
このようにして算出された第２のWB補正値と、第１のホワイトバランス補正値の合計を、最終的にホワイトバランス制御部１０３で使用するWB補正値と決定する（Ｓ２０８）。
そして、ホワイトバランス制御部１０３は、このようにして決定したWB補正値を用いてホワイトバランス制御を行う。
【００６０】
ここで、推定されている環境光源に応じたホワイトバランス制御部１０３の動作について、さらに説明する。
基本的な動作についての理解を容易にするため、Ｓ２０４の処理において、ホワイトバランス制御部１０３が、推定されている環境光源に応じた肌色領域と肌色補正対象領域の両方を設定するものとして説明した。しかし、Ｓ２０４においてホワイトバランス制御部１０３は、少なくとも肌色補正対象領域を設定すればよい。
【００６１】
図１０は、本発明の実施形態に係るホワイトバランス制御部１０３が、推定される環境光源に応じて設定する肌色領域、肌色補正対象領域及び補正量の例を表す図である。
図１０（ａ）は、環境光源Ａの肌色領域８００と、環境光源Ｂの肌色領域８１０の関係例を示す図である。
【００６２】
従って、第２のWB補正値を求める際の肌色目標値を、肌色領域内で、かつ肌色平均値に最も近い点とした場合、Ｓ２０６においてホワイトバランス制御部１０３は、推定されている環境光源に応じた肌色領域を用いて肌色目標値を変更する。そして、変更後の肌色目標値と肌色平均値とから、第２のWB補正値を算出する。
【００６３】
また、図１０（ｂ）は、環境光源Ａが推定される際に設定される肌色補正対象領域８０２の例を示す図である。同様に、図１０（ｃ）は、環境光源Ｂが推定される際に設定される肌色補正対象領域８１２の例を示す図である。
【００６４】
従って、Ｓ２０４において、ホワイトバランス制御部１０３は、環境光源Ａが推定されていれば肌色補正対象領域８０２を、環境光源Ｂが推定されていれば肌色補正対象領域８１２を設定する。
【００６５】
図１０（ｄ）は、推定される環境光源に応じて、補正量を変更する例を説明する図である。例えば、環境光源Ａと環境光源Ｂのように、肌色領域の多くが重複している関係にある場合、推定される環境光源に応じて肌色補正対象領域や肌色領域の設定は変更せず、補正量を変更することによって環境光源に応じた第２のWB補正量を算出してもよい。
【００６６】
補正量に加える変更の量は、肌色補正対象領域における肌色評価値の位置に応じて予め定めておくことができる。ここでの変更の量は、各肌色領域の中の１点を基準にその点からの方向に応じて決めることができる。例えば、顔の誤検出の頻度が高い色方向は補正量を少なくし、顔の色被り頻度が高いような色方向は補正量を多くすることができる。この様な決め方にすることで補正テーブルを簡素化することができる。また、この位置毎の変更の量についても、環境光源の種類に応じて予め定めておくことができる。
【００６７】
例えば、環境光源Ｂが推定されている場合であっても、Ｓ２０４でホワイトバランス制御部１０３は、環境光源Ａに対応した肌色補正対象領域８０２と肌色目標値を設定することができる。しかし、この場合、肌色補正対象領域８０２のうち、環境光源Ｂの肌色領域８１０から離れた領域８０２ａに対しては、環境光源Ｂの肌色領域８１０に近い領域８０２ｂに対するよりも第２のWB補正値を大きくなるように変更することができる。これにより、環境光源Ｂに適した肌色目標値に対する第２のWB補正値との差を小さくすることができる。この場合、第２のWB補正値の変更は、算出した第２のWB補正量に対して正のゲインを乗じるといった方法で行うことができる。
【００６８】
なお、同様の効果は、第２のWB補正量の大きさを変更せず、肌色目標値を変更することによっても得られる。すなわち、ホワイトバランス制御部１０３は、環境光源Ｂが推定されている場合に環境光源Ａに対応した肌色補正対象領域８０２を設定した場合、肌色目標値については、環境光源Ｂの肌色領域に基づいて設定する。これにより、環境光源Ｂに応じた肌色平均値と肌色目標値とのずれに基づいて第２のWB補正量を求めることができる。
【００６９】
また、肌色補正対象領域を環境光源に応じて変更した場合にも、肌色補正対象領域内の領域に応じたゲインを乗じて補正量を変更することもできる。例えば、図１０（ａ）の環境光源Ｂの肌色領域８１０のように細長い場合、肌色補正対象領域８１２のうち、座標原点に近い領域については、補正量に正のゲインを乗じて大きくすることができる。
【００７０】
以上説明したように本実施形態によれば、まず、画像全体の情報を用いた第１のホワイトバランス補正値を、検出された顔領域の色平均値に適用し、正しい補正結果となっていれば、第１のホワイトバランス補正値を用いる。つまり、顔検出結果を用いて、画像全体の情報を用いた第１のホワイトバランス補正値の精度を評価し、十分な精度であると判別されれば、第１のホワイトバランス補正値を用いる。
【００７１】
従って、顔領域を除外せずに算出したホワイトバランスが適正であれば、それを利用することができるため、顔領域を除外した場合よりも精度の良いホワイトバランス制御が実現できる。また、顔領域の検出結果を利用するので、第１のホワイトバランス補正値の精度をより正しく評価することができる。
【００７２】
さらに、本実施形態によれば、第１のホワイトバランス補正値で正しく補正できていない場合、正しい補正結果からのズレが所定範囲内であれば、そのズレを小さくする第２のホワイトバランス補正値を算出し、第１及び第２のホワイトバランス補正値を用いる。
そのため、画像全体の情報に基づいて算出したホワイトバランス補正値のみを用いる場合よりも精度の良いホワイトバランス制御が可能である。
【００７３】
また、第１のホワイトバランス補正値の算出時に推定した環境光源に応じて第２のホワイトバランス補正値を求めるので、光源の種類に応じた適正な肌色への補正が可能であり、補正の精度を一層高めることができる。
【００７４】
さらに、本実施形態によれば、第１のホワイトバランス補正値による補正結果と正しい補正結果とのズレが所定範囲内でなければ、顔領域の検出精度（信頼度）が低いものとして、第１のホワイトバランス補正値を用いる。そのため、やはり顔領域の誤検出による過補正、誤補正を軽減することができる。
また、顔検出が出来なかった場合も、第１のホワイトバランス補正値を用いるので、顔検出の結果によらずホワイトバランス制御が可能である。
【００７５】
（他の実施形態）
なお、上述の実施形態においては、ホワイトバランス制御装置を適用した撮像装置について説明したが、本発明に係るホワイトバランス制御装置は、顔検出情報と画像データが取得可能であれば、撮像装置に限らず他の任意の画像処理装置に適用可能である。
【００７６】
また、上述の実施形態は、システム或は装置のコンピュータ（或いはＣＰＵ、ＭＰＵ等）によりソフトウェア的に実現することも可能である。
従って、上述の実施形態をコンピュータで実現するために、該コンピュータに供給されるコンピュータプログラム自体も本発明を実現するものである。つまり、上述の実施形態の機能を実現するためのコンピュータプログラム自体も本発明の一つである。
【００７７】
なお、上述の実施形態を実現するためのコンピュータプログラムは、コンピュータで読み取り可能であれば、どのような形態であってもよい。例えば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等で構成することができるが、これらに限るものではない。
【００７８】
上述の実施形態を実現するためのコンピュータプログラムは、記憶媒体又は有線／無線通信によりコンピュータに供給される。プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記憶媒体、ＭＯ、ＣＤ、ＤＶＤ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【００７９】
有線／無線通信を用いたコンピュータプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムファイル）をサーバに記憶しておく。プログラムファイルとしては、実行形式のものであっても、ソースコードであっても良い。
【００８０】
そして、このサーバにアクセスしたクライアントコンピュータに、プログラムファイルをダウンロードすることによって供給する。この場合、プログラムファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。
つまり、上述の実施形態を実現するためのプログラムファイルをクライアントコンピュータに提供するサーバ装置も本発明の一つである。
【００８１】
また、上述の実施形態を実現するためのコンピュータプログラムを暗号化して格納した記憶媒体を配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを許可してもよい。鍵情報は、例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。
【００８２】
また、上述の実施形態を実現するためのコンピュータプログラムは、すでにコンピュータ上で稼働するＯＳの機能を利用するものであってもよい。
さらに、上述の実施形態を実現するためのコンピュータプログラムは、その一部をコンピュータに装着される拡張ボード等のファームウェアで構成してもよいし、拡張ボード等が備えるＣＰＵで実行するようにしてもよい。
【図面の簡単な説明】
【００８３】
【図１】本発明の実施形態に係るホワイトバランス制御装置を適用可能な撮像装置の機能構成例を示すブロック図である。
【図２】本発明の実施形態においてホワイトバランス補正値の算出時に行う画面分割の例を示す図である。
【図３】本発明の実施形態における色評価値の白検出範囲の例を示す図である。
【図４】図１における顔検出部１１４が実行するパターン認識処理の一例を示すフローチャートである。
【図５】図４のＳ５０３において顔検出部１１４が実行しうるテンプレートマッチングの例を説明するための図である。
【図６】、
【図７】本発明の実施形態に係るホワイトバランス制御部１０３が実行するホワイトバランス補正値の算出動作を説明するフローチャートである。
【図８】本発明の実施形態に係るホワイトバランス制御部１０３が参照する肌色領域の例を表す図である。
【図９】本発明の実施形態に係るホワイトバランス制御部１０３が算出する第２のWB補正値による補正量を説明する図である。
【図１０】本発明の実施形態に係るホワイトバランス制御部１０３が、推定される環境光源に応じて設定する肌色領域、肌色補正対象領域及び補正量の例を表す図である。
【図１】
2010041622.tif 000004
【図２】
2010041622.tif 000005
【図３】
2010041622.tif 000006
【図４】
2010041622.tif 000007
【図５】
2010041622.tif 000008
【図６】
2010041622.tif 000009
【図７】
2010041622.tif 000010
【図８】
2010041622.tif 000011
【図９】
2010041622.tif 000012
【図１０】
2010041622.tif 000013