(57)【特許請求の範囲】
【請求項１】
撮像を行って得られた画像のホワイトバランスを制御するホワイトバランス制御装置であって、
前記画像の色評価値に基づいて第１のホワイトバランス補正値を算出する第１の算出手段と、
前記画像から顔領域を検出する顔検出手段と、
前記顔検出手段により検出された顔領域の画像信号を前記第１のホワイトバランス補正値に基づきホワイトバランス補正した場合に、補正された顔領域の画像信号が色空間上で第１の色信号領域の周辺領域である第２の色信号領域内にあるとき、前記補正された顔領域の画像信号を、色空間上で前記第１の色信号領域に近づくように補正するための第２のホワイトバランス補正値を算出する第２の算出手段と、
前記第１及び第２のホワイトバランス補正値を用いて前記画像のホワイトバランス補正を行うホワイトバランス補正手段と、を有することを特徴とするホワイトバランス制御装置。
【請求項２】
前記ホワイトバランス補正手段は、前記顔検出手段により検出された顔領域の画像信号を前記第１のホワイトバランス補正値に基づきホワイトバランス補正した場合に、補正された顔領域の画像信号が前記第２の色信号領域内にないとき、前記第２のホワイトバランス補正値を用いずに、前記第１のホワイトバランス補正値を用いて前記画像のホワイトバランス補正を行うことを特徴とする請求項１に記載のホワイトバランス制御装置。
【請求項３】
前記顔領域から得られる情報の信頼度が低いほど、前記第２の算出手段により算出された第２のホワイトバランス補正値が小さくなるように前記第２のホワイトバランス補正値を修正する修正手段をさらに有し、
前記顔検出手段により検出された顔領域の画像信号を前記第１のホワイトバランス補正値に基づきホワイトバランス補正した場合に、補正された顔領域の画像信号が前記第２の色信号領域内にあるとき、前記ホワイトバランス補正手段は、前記第１のホワイトバランス補正値及び前記修正手段により修正された前記第２のホワイトバランス補正値を用いて前記画像のホワイトバランス補正を行うことを特徴とする請求項１または２に記載のホワイトバランス制御装置。
【請求項４】
前記修正手段は、前記顔領域の大きさ、前記顔領域の輝度値、前記画像の撮像された被写体輝度、前記画像の撮像された撮影感度の少なくとも１つに基づいて前記顔領域から得られる情報の信頼度を判定することを特徴とする請求項１乃至３のいずれか１項に記載のホワイトバランス制御装置。
【請求項５】
前記第１の算出手段は前記画像の色評価値を所定のブロック単位で算出して白画素を前記所定のブロック単位で検出し、前記第２の算出手段は前記所定のブロック単位の顔領域の画像信号に基づいて前記第２のホワイトバランス補正値を算出することを特徴とする請求項１乃至４のいずれか１項に記載のホワイトバランス制御装置。
【請求項６】
前記第１の算出手段は、前記撮像を行って得られた画像の前記顔領域よりも大きい領域の色評価値に基づいて前記第１のホワイトバランス補正値を算出することを特徴とする請求項１乃至５のいずれか１項に記載のホワイトバランス制御装置。
【請求項７】
撮像を行って得られた画像のホワイトバランスを制御するホワイトバランス制御装置であって、
前記画像の色評価値に基づいて第１のホワイトバランス補正値を算出する第１の算出手段と、
前記画像から顔領域を検出する顔検出手段と、
前記顔検出手段により検出された顔領域の画像信号を前記第１のホワイトバランス補正値に基づきホワイトバランス補正した場合に、補正された顔領域の画像信号が色空間上で第１の色信号領域の周辺領域である第２の色信号領域内にないとき、前記第１のホワイトバランス補正値を最終的なホワイトバランス補正値として前記画像のホワイトバランス補正を行うホワイトバランス補正手段と、を有することを特徴とするホワイトバランス制御装置。
【請求項８】
請求項１乃至７のいずれか１項に記載のホワイトバランス制御装置と、
前記画像を撮像する撮像手段と、
前記ホワイトバランス補正手段により補正された画像信号にガンマ補正を行うガンマ補正手段と、
前記ガンマ補正手段により補正された画像信号を記録する記録手段と、を有することを特徴とする撮像装置。
【請求項９】
撮像を行って得られた画像のホワイトバランスを制御するホワイトバランス制御方法であって、
前記画像の色評価値に基づいて第１のホワイトバランス補正値を算出する第１の算出工程と、
前記画像から顔領域を検出する顔検出工程と、
前記顔検出工程により検出された顔領域の画像信号を前記第１のホワイトバランス補正値に基づきホワイトバランス補正した場合に、補正された顔領域の画像信号が色空間上で第１の色信号領域の周辺領域である第２の色信号領域内にあるとき、前記補正された顔領域の画像信号を、色空間上で前記第１の色信号領域に近づくように補正するための第２のホワイトバランス補正値を算出する第２の算出工程と、
前記第１及び第２のホワイトバランス補正値を用いて前記画像のホワイトバランス補正を行うホワイトバランス補正工程と、を有することを特徴とするホワイトバランス制御方法。
【請求項１０】
撮像を行って得られた画像のホワイトバランスを制御するホワイトバランス制御方法であって、
前記画像の色評価値に基づいて第１のホワイトバランス補正値を算出する第１の算出工程と、
前記画像から顔領域を検出する顔検出工程と、
前記顔検出工程により検出された顔領域の画像信号を前記第１のホワイトバランス補正値に基づきホワイトバランス補正した場合に、補正された顔領域の画像信号が色空間上で第１の色信号領域の周辺領域である第２の色信号領域内にないとき、前記第１のホワイトバランス補正値を最終的なホワイトバランス補正値として前記画像のホワイトバランス補正を行うホワイトバランス補正工程と、を有することを特徴とするホワイトバランス制御方法。
【請求項１１】
コンピュータを請求項１乃至７のいずれか１項に記載のホワイトバランス制御装置の各手段として動作させるためのプログラム。
【請求項１２】
コンピュータに、請求項１乃至７のいずれか１項に記載のホワイトバランス制御装置の各手段として動作させるためのプログラムが記憶された、コンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はホワイトバランス制御装置及び制御方法に関し、特に画像の輝度及び色差信号に基づいて画像のホワイトバランスを制御するホワイトバランス制御装置及び制御方法に関する。
本発明はさらに、本発明のホワイトバランス制御装置を用いた撮像装置に関する。
【背景技術】
【０００２】
デジタルカメラやデジタルビデオカメラなどの、撮像素子を用いる撮像装置においては、撮像によって得られた画像の色調を調整するホワイトバランス制御機能を備えている。ホワイトバランス制御は、白い物体が白く撮像されるよう、ホワイトバランス係数（補正値）により画素値を補正する処理である。
【０００３】
ホワイトバランス制御には、白く撮影したい物体を撮像してホワイトバランス係数を求めるマニュアルホワイトバランス制御と、撮像した画像から白色と思われる部分を自動検出してホワイトバランス係数を求めるオートホワイトバランス制御とがある。
【０００４】
ここで、従来のオートホワイトバランス制御について説明する。
撮像素子から出力された信号は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 Surpress）回路１０６は、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]）が白検出範囲３０１に含まれない場合、ホワイトバランス制御部１０３は、そのブロックの色平均値を積算せずに処理をＳ１０５に進める。
【００４１】
このＳ１０３及びＳ１０４における処理は、以下の式（３）により表すことができる。
0005367140.tif 000002
【００４２】
式（３）において、色評価値（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）/ ４
【００４５】
図７に移り、Ｓ２０２においてホワイトバランス制御部１０３は、顔検出部１１４で顔（顔領域）が検出されているかどうかを判断する。顔が検出されていなければ、既に算出した第１のＷＢ補正値を最終的なWB補正値として決定し（Ｓ２１０）、ホワイトバランス補正値算出処理を終了する。
【００４６】
一方、顔が検出されていれば、ホワイトバランス制御部１０３は、Ｓ２０３において顔領域に対応するブロック全体についての色平均値（FR、FG、FB）を取得する。なお、顔領域がブロック単位で検出され無い場合には、顔領域に完全に含まれるブロックだけでなく、所定割合（例えば５０％以上）が顔領域であるブロックを顔領域に対応するブロックに含めてよい。
【００４７】
次に、Ｓ２０４でホワイトバランス制御部１０３は、Ｓ２０３で取得した色平均値（FR、FG、FB）に、第１のＷＢ補正値（WBCol_R、WBCol_G、WBCol_B）をそれぞれ乗じて、肌色平均値を求める。肌色平均値は、顔領域の色平均値を第１のＷＢ補正値により補正した値、補正画像信号データである。
【００４８】
すなわち、肌色平均値（SR, SG, SB）を、
SR=FR × WBCol_R
SG=FG × WBCol_G
SB=FB × WBCol_B
として求める。
そして、ホワイトバランス制御部１０３は、肌色平均値（SR, SG, SB）が肌色補正対象領域（図８の領域（Ｂ））内にあるか否かを判断する。
【００４９】
なお、図８において、肌色領域（Ａ）は第１の色信号領域に対応し、肌色補正対象領域（Ｂ）は、第１の色信号領域からのズレが所定範囲内の周辺領域である第２の色信号領域に対応する。ここで、図８においては、所定の色空間座標系としてＣｘ、Ｃｙ座標系が用いられているので、ＲＧＢデータをＣｘ＝SR-SB、Ｃｙ＝SR+SB-2SGと色差信号に変換してから、判断を行う。もちろん、公知の色空間変換方法を適用することにより、任意の色空間で判断を行うことができる。
【００５０】
なお、図８に示す肌色領域（Ａ）及び肌色補正対象領域（Ｂ）は、例えば、太陽光（昼光）などの白色光下で予め肌色を複数撮影し、統計的な手法を用いて設定することができる。また、肌色領域（Ａ）及び肌色補正対象領域（Ｂ）を特定する情報は、ホワイトバランス制御部１０３に予め登録しておいても、別の記憶装置に記憶しておき、必要な際にホワイトバランス制御部１０３が参照しても良い。
【００５１】
肌色平均値が図８の肌色領域（Ａ）に入っている場合、第１のＷＢ補正値により肌色が適正にＷＢ補正されたと判断できるため、ホワイトバランス制御部１０３は、第１のＷＢ補正値を最終的に使用するＷＢ補正値に決定する（Ｓ２１０）。
【００５２】
また、肌色平均値が肌色補正対象外領域（Ｃ）にある場合は、ホワイトバランス制御部１０３は、肌色平均値が人の肌を表していないと判断し、やはり第１のＷＢ補正値を最終的に使用するＷＢ補正値に決定する（Ｓ２１０）。
【００５３】
一方、肌色平均値が肌色補正対象領域（Ｂ）内にある場合、第１のＷＢ補正値では、肌色が適正にＷＢ補正されなかったと判断できる。従って、ホワイトバランス制御部１０３は、肌色平均値と肌色領域（Ａ）とのズレを補正する第２のホワイトバランス補正値（第２のＷＢ補正値）を算出する（Ｓ２０５）。
【００５４】
ここでは、図９に示すように、肌色平均値から肌色領域（Ａ）への移動距離が最も小さくなるような補正量を算出するものとする。すなわち、肌色平均値の座標を(Cx1, Cy1)、肌色領域内で、かつ肌色平均値に最も近い点（目標ポイント）の座標を(Cx2, Cy2)とすると、補正量は、
ΔＣｘ＝Ｃｘ２−Ｃｘ１
ΔＣｙ＝Ｃｙ２−Ｃｙ１
となる。そして、この補正量（ΔCx、ΔCy）を第２のＷＢ補正値とする。
【００５５】
なお、ここで目標ポイントを肌色平均値から肌色領域（Ａ）への移動距離が最も小さくなる座標にしているのは、第２のＷＢ補正値による過補正があっても適正な肌色の範囲内に入るようにするための制御の一例である。従って、目標ポイントが肌色領域（Ａ）の内部に設定されてもよい。
【００５６】
さらに、本実施形態のホワイトバランス制御部１０３は、補正ゲイン算出手段として、好ましくは第２のＷＢ補正値を抑制するための補正ゲインを算出する（Ｓ２０６）。補正ゲインの例について図１０を用いて説明する。補正ゲインは、顔領域の検出精度、すなわち顔領域から得られる情報の信頼度、が低くなる場合に第２のＷＢ補正値を適用することによる過補正、誤補正を低減するために算出する。本実施形態において、ホワイトバランス制御部１０３は、顔領域情報の確からしさ（信頼度や顔の大きさ等）、撮影時の被写体輝度、撮影感度などを考慮して補正ゲインを算出する。本実施形態において、全ての補正ゲインの上限値は１であるとする。
【００５７】
図１０（ａ）は取得した顔領域に対応するブロック数に応じたゲイン（ブロック数Gain）である。顔領域に対応するブロック数が少ない（顔領域が小さい）場合は、肌色の評価値としての精度が低くなる場合があるのでゲインを低く設定する。一方、ブロック数が大きい場合は肌色の評価値としての精度が高い（信頼度が高い）と考えられるので、ゲインを高く設定している。
【００５８】
図１０（ｂ）は顔領域の輝度値ゲイン(YGain)であり、顔領域の輝度値が低い場合（顔領域が露出アンダーの場合等）、高い場合（顔領域が露出オーバーな場合等）は、肌色の評価値として不正確な場合があるため、ゲインを下げている。図中のTH_Y2からTH_Y3までの間が適正露出範囲である。
【００５９】
図１０（ｃ）は顔検出の信頼度に応じたゲイン値（顔信頼度Gain）である。顔検出部１１４における顔検出処理時に得られる、パターンマッチングの相関度や、顔領域の大きさなどの顔検出の信頼度情報から、顔信頼度が低いと判断される場合には、ゲインを低下させている。
【００６０】
図１０（ｄ）は被写体輝度値（Ｂｖ値）に応じたゲイン（BV Gain）である。被写体輝度、すなわち画像の全体輝度が明るい場合、光源を推定しやすいため第１のＷＢ補正値により適正肌領域に存在する可能性が高い。そのため、被写体輝度が高い場合は顔検出によるホワイトバランスの補正の必要性は低いと考えられる。従って、顔の誤検出が生じた場合の悪影響を抑制する方が効果的であるので、ゲインを低下させている。
【００６１】
図１０（ｅ）は撮影感度（Ｓｖ値）に応じたゲイン（SV Gain）である。撮影感度が高い場合、画像中のノイズが増加するため、顔を誤検出したり、肌色評価値の精度が低下する可能性が高くなる。そのため、高感度側でゲインを低下させている。
【００６２】
ホワイトバランス制御部１０３は、これらのゲイン設定の１つ以上を用いて、最終的な補正ゲインを算出する（Ｓ２０６）。
そして、ホワイトバランス制御部１０３は、第２のＷＢ補正値と補正ゲインを乗算した結果を最終肌色目標ポイントとして、顔領域の肌色平均値が（Ｃｘ’，Ｃｙ’）になるようなＷＢ補正値(Gain×ΔＣｘ,Gain×ΔＣｙ)を演算する（Ｓ２０７）。
Ｃｘ’＝Gain×ΔＣｘ＋Ｃｘ１
Ｃｙ’＝Gain×ΔＣｙ＋Ｃｙ１
【００６３】
このようにして補正ゲインで補正された第２のＷＢ補正値と、第１のホワイトバランス補正値の合計値を、最終的にホワイトバランス制御部１０３で使用するＷＢ補正値と決定する（Ｓ２０８）。補正ゲインの算出を行わない場合には、（補正されない）第２のＷＢ補正値と、第１のホワイトバランス補正値の合計値を、最終的にホワイトバランス制御部１０３で使用するＷＢ補正値と決定すればよい。
そして、ホワイトバランス制御部１０３は、このようにして決定したＷＢ補正値を用いてホワイトバランス制御を行う。
【００６４】
以上説明したように本実施形態によれば、まず、画像全体の情報を用いた第１のホワイトバランス補正値を、検出された顔領域の色平均値に適用し、正しい補正結果となっていれば、第１のホワイトバランス補正値を用いる。つまり、顔検出結果を用いて、画像全体の情報を用いた第１のホワイトバランス補正値の精度を評価し、十分な精度であると判断されれば、第１のホワイトバランス補正値を用いる。
【００６５】
従って、顔領域を除外せずに算出したホワイトバランスが適正であれば、それを利用することができるため、顔領域を除外した場合よりも精度の良いホワイトバランス制御が実現できる。また、顔領域の検出結果を利用するので、第１のホワイトバランス補正値の精度をより正しく評価することができる。
【００６６】
さらに、本実施形態によれば、第１のホワイトバランス補正値で正しく補正できていない場合、正しい補正結果からのズレが所定範囲内であれば、そのズレを小さくする第２のホワイトバランス補正値を算出し、第１及び第２のホワイトバランス補正値を用いる。
そのため、画像全体の情報に基づいて算出したホワイトバランス補正値のみを用いる場合よりも精度の良いホワイトバランス制御が可能である。
【００６７】
さらに、本実施形態によれば、顔領域から得られる情報の信頼性に応じて第２のＷＢ補正値の大きさを制限するので、顔領域の誤検出による過補正、誤補正を軽減することができる。
【００６８】
さらに、本実施形態によれば、第１のホワイトバランス補正値による補正結果と正しい補正結果とのズレが所定範囲内でなければ、顔領域の検出精度（信頼度）が低いものとして、第１のホワイトバランス補正値を用いる。そのため、やはり顔領域の誤検出による過補正、誤補正を軽減することができる。
また、顔検出が出来なかった場合も、第１のホワイトバランス補正値を用いるので、ホワイトバランス制御が可能である。
【００６９】
（第２の実施形態）
第１の実施形態では第１のホワイトバランス補正値を顔領域に適用した結果に基づいて肌色評価値（肌色平均値）を求め、色評価値が肌色領域からのズレが所定範囲内にある場合に第２のＷＢ補正値を算出していた。
【００７０】
これに対し、本実施形態では、所定の色空間座標系における肌色平均値の座標と、肌色領域内の予め定められた座標、ここでは例えば肌色として最も好ましい色に対応する中心座標との距離に応じて第２のＷＢ補正値を算出する。
本実施形態のホワイトバランス制御装置を適用可能な撮像装置の機能構成は第１の実施形態と同様で良いため、各機能ブロックの詳細についての説明は省略する。
【００７１】
図１１は、本実施形態の撮像装置におけるホワイトバランス制御部１０３が実行するホワイトバランス補正値算出処理を説明するフローチャートである。
図１１において、図７と同じ処理には同じ参照数字を付した。
【００７２】
Ｓ３０１でホワイトバランス制御部１０３は、図６のＳ１０１〜Ｓ１０６と同様の処理を行い、第１のホワイトバランス補正値を算出する。
【００７３】
Ｓ２０２においてホワイトバランス制御部１０３は、顔検出部１１４で顔（顔領域）が検出されているかどうかを判断する。顔が検出されていなければ、既に算出した第１のＷＢ補正値を最終的なWB補正値として決定し（Ｓ２１０）、ホワイトバランス補正値算出処理を終了する。
一方、顔が検出されていれば、ホワイトバランス制御部１０３は、Ｓ２０３において顔領域に対応するブロック全体についての色平均値（FR、FG、FB）を取得する。
【００７４】
次に、Ｓ３０４でホワイトバランス制御部１０３は、Ｓ２０３で取得した色平均値（FR、FG、FB）に、第１のＷＢ補正値（WBCol_R、WBCol_G、WBCol_B）をそれぞれ乗じて、肌色平均値(Cx1, Cy1)を求める。肌色平均値(Cx1, Cy1)は、顔領域の色平均値を第１のＷＢ補正値により補正した値、補正画像信号データである。
そして、ホワイトバランス制御部１０３は、予め設定した肌色中心値の座標と肌色平均値の座標との距離を算出する。
【００７５】
図１２は、本発明の第２の実施形態に係るホワイトバランス制御部１０３が第２のＷＢ補正値を求める際の距離算出について説明する図である。図１２では、肌色領域の中心座標(Cx2, Cy2)、即ち補正の目標ポイントと、肌色平均値(Cy1, Cy1)との距離を、Cx成分(DisCx)、Cy成分(DisCy)で表している。
Ｓ３０５でホワイトバランス制御部１０３は、Ｓ３０４で求めた距離DisCx, DisCyと、予め用意した、距離−補正値の対応情報に基づいて、補正値を求める。
【００７６】
図１３は、ホワイトバランス制御部１０３が有する距離−補正値の対応情報の一例を示す図である。
ここでは、２次元グラフの形式で、Cx成分の距離DisCxとCx成分の補正値ΔCxとの対応を示している。実際には、この対応関係を表す関数式を記憶してもよいし、図１４に示すように代表的な距離と補正値との対応をルックアップテーブルとして記憶し、他の値は補間におり求めても良い。
【００７７】
Cy成分についても同様に、Cx成分の距離DisCxとCx成分の補正値ΔCxとの対応情報を用いて求めることができる。
そして、Ｓ３０６においてホワイトバランス制御部１０３は、第１および第２のＷＢ補正値の合計を最終的なＷＢ補正値に決定する。
【００７８】
なお、第１の実施形態の同様に、Ｓ３０５とＳ３０６との間で補正ゲインの算出および補正ゲインによる第２のＷＢ補正値の補正を実行しても良い。
本実施形態によれば、第１の実施形態より簡便な方法により、同様の効果が実現できる。
【００７９】
（他の実施形態）
なお、上述の実施形態においては、ホワイトバランス制御装置を適用した撮像装置について説明したが、本発明に係るホワイトバランス制御装置は、顔検出情報と画像データが取得可能であれば、撮像装置に限らず他の任意の画像処理装置に適用可能である。
【００８０】
また、上述の実施形態は、システム或は装置のコンピュータ（或いはＣＰＵ、ＭＰＵ等）によりソフトウェア的に実現することも可能である。
従って、上述の実施形態をコンピュータで実現するために、該コンピュータに供給されるコンピュータプログラム自体も本発明を実現するものである。つまり、上述の実施形態の機能を実現するためのコンピュータプログラム自体も本発明の一つである。
【００８１】
なお、上述の実施形態を実現するためのコンピュータプログラムは、コンピュータで読み取り可能であれば、どのような形態であってもよい。例えば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等で構成することができるが、これらに限るものではない。
【００８２】
上述の実施形態を実現するためのコンピュータプログラムは、記憶媒体又は有線／無線通信によりコンピュータに供給される。プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記憶媒体、ＭＯ、ＣＤ、ＤＶＤ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【００８３】
有線／無線通信を用いたコンピュータプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムファイル）をサーバに記憶しておく。プログラムファイルとしては、実行形式のものであっても、ソースコードであっても良い。
【００８４】
そして、このサーバにアクセスしたクライアントコンピュータに、プログラムファイルをダウンロードすることによって供給する。この場合、プログラムファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。
つまり、上述の実施形態を実現するためのプログラムファイルをクライアントコンピュータに提供するサーバ装置も本発明の一つである。
【００８５】
また、上述の実施形態を実現するためのコンピュータプログラムを暗号化して格納した記憶媒体を配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを許可してもよい。鍵情報は、例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。
【００８６】
また、上述の実施形態を実現するためのコンピュータプログラムは、すでにコンピュータ上で稼働するＯＳの機能を利用するものであってもよい。
さらに、上述の実施形態を実現するためのコンピュータプログラムは、その一部をコンピュータに装着される拡張ボード等のファームウェアで構成してもよいし、拡張ボード等が備えるＣＰＵで実行するようにしてもよい。
【図１】
0005367140.tif 000003
【図２】
0005367140.tif 000004
【図３】
0005367140.tif 000005
【図４】
0005367140.tif 000006
【図５】
0005367140.tif 000007
【図６】
0005367140.tif 000008
【図７】
0005367140.tif 000009
【図８】
0005367140.tif 000010
【図９】
0005367140.tif 000011
【図１０】
0005367140.tif 000012
【図１１】
0005367140.tif 000013
【図１２】
0005367140.tif 000014
【図１３】
0005367140.tif 000015
【図１４】
0005367140.tif 000016