説明

ホワイトバランス制御装置およびそれを用いた撮像装置並びにホワイトバランス制御方法

【課題】 ホワイトバランス制御の精度を向上させる。
【解決手段】 撮像された画像の色評価値に基づいて第1のホワイトバランス補正値を算出する。また、画像から検出された顔領域の画像信号を第1のホワイトバランス補正値を用いて補正した画像信号が色空間上で第1の色信号領域の周辺領域である第2の色信号領域内にあるとき、補正された顔領域の画像信号が色空間上で第1の色信号領域に近づくように補正するための第2のホワイトバランス補正値を算出する。そして、これら第1及び第2のホワイトバランス補正値を用いて画像のホワイトバランス補正を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はホワイトバランス制御装置及び制御方法に関し、特に画像の輝度及び色差信号に基づいて画像のホワイトバランスを制御するホワイトバランス制御装置及び制御方法に関する。
本発明はさらに、本発明のホワイトバランス制御装置を用いた撮像装置に関する。
【背景技術】
【0002】
デジタルカメラやデジタルビデオカメラなどの、撮像素子を用いる撮像装置においては、撮像によって得られた画像の色調を調整するホワイトバランス制御機能を備えている。ホワイトバランス制御は、白い物体が白く撮像されるよう、ホワイトバランス係数(補正値)により画素値を補正する処理である。
【0003】
ホワイトバランス制御には、白く撮影したい物体を撮像してホワイトバランス係数を求めるマニュアルホワイトバランス制御と、撮像した画像から白色と思われる部分を自動検出してホワイトバランス係数を求めるオートホワイトバランス制御とがある。
【0004】
ここで、従来のオートホワイトバランス制御について説明する。
撮像素子から出力された信号はAD変換によってデジタル化され、図2に示すように複数のブロックに分割される。
【0005】
各ブロックはR、G、Bの色画素で構成されており、ブロック毎に、例えば以下の算出式(1)により、色評価値(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に含まれるRGB画素の平均値、Y[i] = R[i] + 2G[i] + B[i])
【0006】
予め設定した白検出範囲に色評価値(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
【0007】
しかし、このようなホワイトバランス制御においては、次のような問題があった。
太陽光源下において、白の色評価値は図3の領域A付近に分布する。また、太陽光源下における肌色の色評価値は、低色温度光源下における白点の色評価値とほぼ同等の領域である領域Bに分布する。
【0008】
従って、人物のアップのように、白色が少なく肌色が多い画像の場合、上述の式を用いて求めた色評価値は図3の領域Bに分布することになる。この結果、肌色を低色温度光源下の白色と誤判別し、肌色を白色に補正するようなホワイトバランス係数を算出してしまうことにより、人の肌が白色に誤補正されてしまうという問題があった。同様に、肌色に近い有彩色が多く含まれる画像では、その有彩色を白と誤判別し、肌色を白に誤補正してしまう場合もあった。
【0009】
この問題に対し、被写体輝度が高い場合は外光(太陽光)と判断し、白色と検出する範囲(白検出範囲)を狭めて肌色を低色温度光源下の白と誤判別しないことが行われていた。しかし、室内光源で低照度の高色温度蛍光灯や中色温度蛍光灯などを用いた場合、肌色は黒体放射軸の下方向(図3、領域C)に分布する。そのため、これらの蛍光灯に対してもオートホワイトバランス制御を行うためには、白検出範囲を拡大しなければならず、肌色を白と誤判別するようなケースがあった。
【0010】
そのため、特許文献1においては、顔検出技術を利用し、顔として検出された領域(顔領域)は、白色画素の検出対象から外してホワイトバランス制御を行うことが提案されている。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2003−189325号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、特許文献1記載のホワイトバランス制御方法においては、顔領域を誤検出した場合や、顔領域を検出できなかった場合の対策が考慮されていない。そのため、人顔でない領域を顔領域と誤検出した場合、白検出の対象領域が必要以上に少なくなり、得られる色温度情報の精度、ひいてはホワイトバランス制御の精度が低下するという問題がある。
【0013】
また、人顔がアップで撮影された場合や、集合写真のように多くの顔が含まれる場合、白検出対象領域が非常に少なくなり、はやりホワイトバランス制御の精度が低下してしまうという問題があった。
【0014】
本発明はこのような従来技術の課題に鑑みてなされたものであり、精度の良いホワイトバランス補正を実現するホワイトバランス制御装置及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【0015】
上述の目的は、撮像を行って得られた画像のホワイトバランスを制御するホワイトバランス制御装置であって、画像の色評価値に基づいて第1のホワイトバランス補正値を算出する第1の算出手段と、画像から顔領域を検出する顔検出手段と、顔検出手段により検出された顔領域の画像信号を第1のホワイトバランス補正値に基づきホワイトバランス補正した場合に、補正された顔領域の画像信号が色空間上で第1の色信号領域の周辺領域である第2の色信号領域内にあるとき、補正された顔領域の画像信号を、色空間上で第1の色信号領域に近づくように補正するための第2のホワイトバランス補正値を算出する第2の算出手段と、第1及び第2のホワイトバランス補正値を用いて画像のホワイトバランス補正を行うホワイトバランス補正手段と、を有することを特徴とするホワイトバランス制御装置によって達成される。
【0016】
また、上述の目的は、撮像を行って得られた画像のホワイトバランスを制御するホワイトバランス制御装置であって、画像の色評価値に基づいて第1のホワイトバランス補正値を算出する第1の算出手段と、画像から顔領域を検出する顔検出手段と、顔検出手段により検出された顔領域の画像信号を第1のホワイトバランス補正値に基づきホワイトバランス補正した場合に、補正された顔領域の画像信号が色空間上で第1の色信号領域の周辺領域である第2の色信号領域内にないとき、第1のホワイトバランス補正値を最終的なホワイトバランス補正値として画像のホワイトバランス補正を行うホワイトバランス補正手段と、を有することを特徴とするホワイトバランス制御装置によっても達成される。
【発明の効果】
【0017】
このような構成により、本発明によれば、精度の良いホワイトバランス補正を実現することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の第1の実施形態に係るホワイトバランス制御装置を適用可能な撮像装置の機能構成例を示すブロック図である。
【図2】本発明の実施形態においてホワイトバランス補正値の算出時に行う画面分割の例を示す図である。
【図3】本発明の実施形態における色評価値の白検出範囲の例を示す図である。
【図4】図1における顔検出部114が実行するパターン認識処理の一例を示すフローチャートである。
【図5】図4のS503において顔検出部114が実行しうるテンプレートマッチングの例を説明するための図である。
【図6】、
【図7】本発明の第1の実施形態に係るホワイトバランス制御部103が実行するホワイトバランス補正値の算出動作を説明するフローチャートである。
【図8】本発明の第1の実施形態に係るホワイトバランス制御部103が参照する肌色領域の例を表す図である。
【図9】本発明の第1の実施形態に係るホワイトバランス制御部103が算出する第2のWB補正値による補正量を説明する図である。
【図10】本発明の第1の実施形態における、第2のWB補正値による補正量を制限する補正ゲインの例を示す図である。
【図11】本発明の第2の実施形態に係るホワイトバランス制御部103が実行するホワイトバランス補正値の算出動作を説明するフローチャートである。
【図12】本発明の第2の実施形態に係るホワイトバランス制御部103が第2のWB補正値を求める際の距離算出について説明する図である。
【図13】本発明の第2の実施形態に係るホワイトバランス制御部103が有する距離−補正値の対応情報の一例を示す図である。
【図14】本発明の第2の実施形態に係るホワイトバランス制御部103が有する距離−補正値の対応情報の別の例を示す図である。
【発明を実施するための形態】
【0019】
以下、添付図面を参照して、本発明の例示的かつ好適な実施形態について詳細に説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態に係るホワイトバランス制御装置を適用可能な撮像装置の機能構成例を示すブロック図である。
【0020】
図1において、光学系116は絞り、メカニカルシャッター、レンズなどを備え、制御回路の制御に従って被写体光学像を撮像素子101上に結像する。撮像素子101はCCDイメージセンサやCMOSイメージセンサ等の固体撮像素子であり、例えばベイヤー配列を有する原色カラーフィルタを備え、カラー画像の撮影が可能である。本実施形態において、撮像素子101は、A/D変換器等の前処理回路を含むものとし、メモリ102には撮像された画像データが格納される。
【0021】
顔検出部114は、メモリ102に記憶された画像データに対し、公知の顔検出技術を適用し、画像中に含まれる人間の顔領域を検出する。公知の顔検出技術としては、ニューラルネットワークなどを利用した学習に基づく手法、テンプレートマッチングを用いて目、鼻、口等の形状に特徴のある部位を画像から探し出し、類似度が高ければ顔とみなす手法などがある。また、他にも、肌の色や目の形といった画像特徴量を検出し、統計的解析を用いた手法等、多数提案されている。一般的にはこれらの手法を複数組み合わせ、顔検出の精度を向上させている。
具体的な例としては特開2002−251380号公報に記載のウェーブレット変換と画像特徴量を利用して顔検出する方法などが挙げられる。
【0022】
ここで、テンプレートマッチングを用いたパターン認識について簡単に説明する。パターン認識とは、観測されたパターンをあらかじめ定められた概念(クラス)の一つに対応させる処理である。
【0023】
図4は、図1における顔検出部114が実行するパターン認識処理の一例を示すフローチャートである。
顔検出部114は、まず、メモリ102から取得した画像データを前処理する(S501)。前処理には、例えば画像特徴を抽出する際に用いるための輝度情報の生成などが含まれる。
【0024】
そして、顔検出部114は、前処理された画像データから予め定められた画像特徴を有する領域(パターン)を抽出する(S502)。次に、顔検出部114は、抽出したパターンを、予め用意されたテンプレート(標準パターン)601と比較する(テンプレートマッチング)。そして、テンプレートの中から、例えば相関が所定以上大きいものがあれば、抽出したパターンがそのテンプレートに対応したパターンであると認識する(S503)。さらに顔検出部114は、認識したパターンを特定する情報を出力し(S504)、パターン認識処理を終了する。
【0025】
ここで、S503において顔検出部114が実行しうるテンプレートマッチングの例を、図5を参照して説明する。
図5において、顔検出部114が、画像データ603をメモリ102から取得したものとする。
【0026】
まず、顔検出部114に予め記憶されたテンプレート601の中心点602を、メモリ102から取得した画像データ603のある座標点(i,j)に対応させる。そして、テンプレート601と、画像データ603のテンプレート601と重なる部分領域との類似度を算出する。この類似度の算出動作を、テンプレート601の中心点602をずらしながら画像データ603全体に対して実行し、類似度が最大となる中心点602の位置を探索する。類似度が所定の閾値以上となる中心点602の位置が検出された場合、テンプレート601に対応する部分領域はテンプレート601と類似したパターンであると認識することができる。
【0027】
従って、例えば、目や耳等の形状に対応したテンプレート601を用いることにより、画像データ603中に含まれる目の位置や顔領域の位置(顔座標)を検出することができる。顔検出部114は、顔領域が検出された場合、顔領域の位置や大きさに関する情報を顔情報として出力する。
【0028】
CPU115は、顔検出部114により顔領域が検出されていれば、顔領域が適正露出で撮像されるよう、シャッター速度、絞り値を計算する。また、顔領域を焦点検出領域として合焦制御を行い、フォーカスレンズの駆動量を計算する。
【0029】
一方、顔検出部114により顔領域が検出されていなければ、CPU115は画像全体の輝度に基づいてシャッター速度、絞り値を計算する共に、予め定めた合焦領域を用いて合焦制御を行い、フォーカスレンズの駆動量を計算する。
【0030】
CPU115で計算された露出値(シャッター速度、絞り値)およびフォーカスレンズの駆動量は制御回路113に送られる。制御回路113は、これら各値に基づいて光学系116が有する絞り、シャッター、フォーカスレンズを駆動する。
【0031】
ホワイトバランス(WB)制御部103は、メモリ102に記憶された画像データおよび顔検出部114から得られる顔情報に基づいてホワイトバランス(WB)補正値を算出する。そして、ホワイトバランス制御部103は、算出したWB補正値を用いて、メモリ102に記憶された画像データのホワイトバランスを補正する。ホワイトバランス制御部103の詳細構成およびWB補正値の算出方法については、後述する。
【0032】
色マトリックス(MTX)回路104は、ホワイトバランス制御部103によりWB補正された画像データが最適な色で再現されるよう色ゲインを乗じ、2つの色差信号データR-Y、B-Yに変換する。ローパスフィルタ(LPF)回路105は、色差信号データR-Y、B-Yの帯域を制限する。CSUP(Chroma Surpress)回路106は、LPF回路105で帯域制限された色差信号データの飽和部分の偽色信号を抑圧する。
【0033】
一方、ホワイトバランス制御部103によりWB補正された画像データは輝度信号(Y)生成回路111にも供給され、輝度信号生成回路111で輝度信号データYが生成される。エッジ強調回路112は、生成された輝度信号データYに対してエッジ強調処理を適用する。
【0034】
CSUP回路106から出力される色差信号データR-Y、B-Yと、エッジ強調回路112から出力される輝度信号データYは、RGB変換回路107にてRGB信号データに変換される。ガンマ補正回路108は、RGB信号データに対し、予め定められたγ特性に従った階調補正を適用する。ガンマ補正されたRGB信号データは、色輝度変換回路109によってYUV信号データに変換された後、JPEG圧縮回路110にて圧縮符号化され、記録回路117によって記録媒体に画像データファイルとして記録される。ここで、記録媒体は着脱可能であっても、内蔵されていても良い。
【0035】
図6及び図7は、ホワイトバランス制御部103におけるホワイトバランス補正値の算出動作を説明するフローチャートである。
図6は、第1の補正値算出手段としてのホワイトバランス制御部103の動作を、図7は、第2の補正値算出手段としてのホワイトバランス制御部103の動作を、それぞれ示している。
【0036】
まず、ホワイトバランス制御部103は、メモリ102に記憶された1画面(フレーム又はフィールド)分の画像データを読み出し、図2に示すような任意のm(mは1以上の整数)個のブロックに分割する(S101)。
【0037】
そして、ホワイトバランス制御部103は、ブロックに含まれる画素値を色成分ごとに加算平均して色平均値(R[i]、G[i]、B[i])を算出し、さらに式(1)を用いてブロックごとに色評価値(Cx[i]、Cy[i])を算出する(S102)。
Cx[i] =(R[i] − B[i])/ Y[i] × 1024
Cy[i] =(R[i] + B[i] − 2G[i])/ Y[i] × 1024
ただし、Y[i] = R[i] + 2G[i] + B[i]、i=1...m
【0038】
次に、ホワイトバランス制御部103は、S102で算出したi番目のブロックの色評価値(Cx[i]、Cy[i])が、図3に示す、予め設定した白検出範囲301に含まれるかどうかを判断する(S103)。
白検出範囲301は、白色物体を特性(色温度など)の異なる光源下で予め撮影し、算出した色評価値をプロットしたものである。
【0039】
図3におけるx座標(Cx)の負方向が高色温度光源下で白色物体を撮影したときの色評価値、正方向が低色温度光源下で白色物体を撮影したときの色評価値である。またy座標(Cy)は光源の緑(G)成分の度合いを意味しており、負方向になるにつれG成分が大きくなる。つまり、光源が蛍光灯である場合には、負の方向に色評価値が分布する。
【0040】
算出した色評価値(Cx[i]、Cy[i])が白検出範囲301に含まれる場合(S103でYES)、ホワイトバランス制御部103はそのブロックが白色であると判断する。そして、ホワイトバランス制御部103は、白色であると判断したブロックの色平均値(R[i]、G[i]、B[i])を積算する(S104)。一方、色評価値(Cx[i]、Cy[i])が白検出範囲301に含まれない場合、ホワイトバランス制御部103は、そのブロックの色平均値を積算せずに処理をS105に進める。
【0041】
このS103及びS104における処理は、以下の式(3)により表すことができる。

【0042】
式(3)において、色評価値(Cx[i]、Cy[i])が白検出範囲(図3の301)に含まれる場合はSw[i]を1に、含まれない場合にはSw[i]を0とする。これにより、色評価値(Cx[i]、Cy[i])が白検出範囲(図3の301)に含まれるブロックの色平均値(R[i]、G[i]、B[i])のみが積算される。
【0043】
S105でホワイトバランス制御部103は、すべてのブロックについてS102〜S104の処理を行ったかどうかを判断し、未処理のブロックがあれば処理をS102に戻し、すべてのブロックで処理したならば処理をS106に進める。
【0044】
S106でホワイトバランス制御部103は、得られた色平均値の積分値(sumR、SumG、SumB)から、以下の式(4)式を用いて、第1のWB補正値(WBCol_R、WBCol_G、WBCol_B)を算出する。
WBCol_R = sumY × 1024 / sumR
WBCol_G = sumY × 1024 / sumG ・・・(4)
WBCol_B = sumY × 1024 / sumB
ただし、sumY = (sumR + 2 × sumG + sumB)/ 4
【0045】
図7に移り、S202においてホワイトバランス制御部103は、顔検出部114で顔(顔領域)が検出されているかどうかを判断する。顔が検出されていなければ、既に算出した第1のWB補正値を最終的なWB補正値として決定し(S210)、ホワイトバランス補正値算出処理を終了する。
【0046】
一方、顔が検出されていれば、ホワイトバランス制御部103は、S203において顔領域に対応するブロック全体についての色平均値(FR、FG、FB)を取得する。なお、顔領域がブロック単位で検出され無い場合には、顔領域に完全に含まれるブロックだけでなく、所定割合(例えば50%以上)が顔領域であるブロックを顔領域に対応するブロックに含めてよい。
【0047】
次に、S204でホワイトバランス制御部103は、S203で取得した色平均値(FR、FG、FB)に、第1のWB補正値(WBCol_R、WBCol_G、WBCol_B)をそれぞれ乗じて、肌色平均値を求める。肌色平均値は、顔領域の色平均値を第1のWB補正値により補正した値、補正画像信号データである。
【0048】
すなわち、肌色平均値(SR, SG, SB)を、
SR=FR × WBCol_R
SG=FG × WBCol_G
SB=FB × WBCol_B
として求める。
そして、ホワイトバランス制御部103は、肌色平均値(SR, SG, SB)が肌色補正対象領域(図8の領域(B))内にあるか否かを判断する。
【0049】
なお、図8において、肌色領域(A)は第1の色信号領域に対応し、肌色補正対象領域(B)は、第1の色信号領域からのズレが所定範囲内の周辺領域である第2の色信号領域に対応する。ここで、図8においては、所定の色空間座標系としてCx、Cy座標系が用いられているので、RGBデータをCx=SR-SB、Cy=SR+SB-2SGと色差信号に変換してから、判断を行う。もちろん、公知の色空間変換方法を適用することにより、任意の色空間で判断を行うことができる。
【0050】
なお、図8に示す肌色領域(A)及び肌色補正対象領域(B)は、例えば、太陽光(昼光)などの白色光下で予め肌色を複数撮影し、統計的な手法を用いて設定することができる。また、肌色領域(A)及び肌色補正対象領域(B)を特定する情報は、ホワイトバランス制御部103に予め登録しておいても、別の記憶装置に記憶しておき、必要な際にホワイトバランス制御部103が参照しても良い。
【0051】
肌色平均値が図8の肌色領域(A)に入っている場合、第1のWB補正値により肌色が適正にWB補正されたと判断できるため、ホワイトバランス制御部103は、第1のWB補正値を最終的に使用するWB補正値に決定する(S210)。
【0052】
また、肌色平均値が肌色補正対象外領域(C)にある場合は、ホワイトバランス制御部103は、肌色平均値が人の肌を表していないと判断し、やはり第1のWB補正値を最終的に使用するWB補正値に決定する(S210)。
【0053】
一方、肌色平均値が肌色補正対象領域(B)内にある場合、第1のWB補正値では、肌色が適正にWB補正されなかったと判断できる。従って、ホワイトバランス制御部103は、肌色平均値と肌色領域(A)とのズレを補正する第2のホワイトバランス補正値(第2のWB補正値)を算出する(S205)。
【0054】
ここでは、図9に示すように、肌色平均値から肌色領域(A)への移動距離が最も小さくなるような補正量を算出するものとする。すなわち、肌色平均値の座標を(Cx1, Cy1)、肌色領域内で、かつ肌色平均値に最も近い点(目標ポイント)の座標を(Cx2, Cy2)とすると、補正量は、
ΔCx=Cx2−Cx1
ΔCy=Cy2−Cy1
となる。そして、この補正量(ΔCx、ΔCy)を第2のWB補正値とする。
【0055】
なお、ここで目標ポイントを肌色平均値から肌色領域(A)への移動距離が最も小さくなる座標にしているのは、第2のWB補正値による過補正があっても適正な肌色の範囲内に入るようにするための制御の一例である。従って、目標ポイントが肌色領域(A)の内部に設定されてもよい。
【0056】
さらに、本実施形態のホワイトバランス制御部103は、補正ゲイン算出手段として、好ましくは第2のWB補正値を抑制するための補正ゲインを算出する(S206)。補正ゲインの例について図10を用いて説明する。補正ゲインは、顔領域の検出精度、すなわち顔領域から得られる情報の信頼度、が低くなる場合に第2のWB補正値を適用することによる過補正、誤補正を低減するために算出する。本実施形態において、ホワイトバランス制御部103は、顔領域情報の確からしさ(信頼度や顔の大きさ等)、撮影時の被写体輝度、撮影感度などを考慮して補正ゲインを算出する。本実施形態において、全ての補正ゲインの上限値は1であるとする。
【0057】
図10(a)は取得した顔領域に対応するブロック数に応じたゲイン(ブロック数Gain)である。顔領域に対応するブロック数が少ない(顔領域が小さい)場合は、肌色の評価値としての精度が低くなる場合があるのでゲインを低く設定する。一方、ブロック数が大きい場合は肌色の評価値としての精度が高い(信頼度が高い)と考えられるので、ゲインを高く設定している。
【0058】
図10(b)は顔領域の輝度値ゲイン(YGain)であり、顔領域の輝度値が低い場合(顔領域が露出アンダーの場合等)、高い場合(顔領域が露出オーバーな場合等)は、肌色の評価値として不正確な場合があるため、ゲインを下げている。図中のTH_Y2からTH_Y3までの間が適正露出範囲である。
【0059】
図10(c)は顔検出の信頼度に応じたゲイン値(顔信頼度Gain)である。顔検出部114における顔検出処理時に得られる、パターンマッチングの相関度や、顔領域の大きさなどの顔検出の信頼度情報から、顔信頼度が低いと判断される場合には、ゲインを低下させている。
【0060】
図10(d)は被写体輝度値(Bv値)に応じたゲイン(BV Gain)である。被写体輝度、すなわち画像の全体輝度が明るい場合、光源を推定しやすいため第1のWB補正値により適正肌領域に存在する可能性が高い。そのため、被写体輝度が高い場合は顔検出によるホワイトバランスの補正の必要性は低いと考えられる。従って、顔の誤検出が生じた場合の悪影響を抑制する方が効果的であるので、ゲインを低下させている。
【0061】
図10(e)は撮影感度(Sv値)に応じたゲイン(SV Gain)である。撮影感度が高い場合、画像中のノイズが増加するため、顔を誤検出したり、肌色評価値の精度が低下する可能性が高くなる。そのため、高感度側でゲインを低下させている。
【0062】
ホワイトバランス制御部103は、これらのゲイン設定の1つ以上を用いて、最終的な補正ゲインを算出する(S206)。
そして、ホワイトバランス制御部103は、第2のWB補正値と補正ゲインを乗算した結果を最終肌色目標ポイントとして、顔領域の肌色平均値が(Cx’,Cy’)になるようなWB補正値(Gain×ΔCx,Gain×ΔCy)を演算する(S207)。
Cx’=Gain×ΔCx+Cx1
Cy’=Gain×ΔCy+Cy1
【0063】
このようにして補正ゲインで補正された第2のWB補正値と、第1のホワイトバランス補正値の合計値を、最終的にホワイトバランス制御部103で使用するWB補正値と決定する(S208)。補正ゲインの算出を行わない場合には、(補正されない)第2のWB補正値と、第1のホワイトバランス補正値の合計値を、最終的にホワイトバランス制御部103で使用するWB補正値と決定すればよい。
そして、ホワイトバランス制御部103は、このようにして決定したWB補正値を用いてホワイトバランス制御を行う。
【0064】
以上説明したように本実施形態によれば、まず、画像全体の情報を用いた第1のホワイトバランス補正値を、検出された顔領域の色平均値に適用し、正しい補正結果となっていれば、第1のホワイトバランス補正値を用いる。つまり、顔検出結果を用いて、画像全体の情報を用いた第1のホワイトバランス補正値の精度を評価し、十分な精度であると判断されれば、第1のホワイトバランス補正値を用いる。
【0065】
従って、顔領域を除外せずに算出したホワイトバランスが適正であれば、それを利用することができるため、顔領域を除外した場合よりも精度の良いホワイトバランス制御が実現できる。また、顔領域の検出結果を利用するので、第1のホワイトバランス補正値の精度をより正しく評価することができる。
【0066】
さらに、本実施形態によれば、第1のホワイトバランス補正値で正しく補正できていない場合、正しい補正結果からのズレが所定範囲内であれば、そのズレを小さくする第2のホワイトバランス補正値を算出し、第1及び第2のホワイトバランス補正値を用いる。
そのため、画像全体の情報に基づいて算出したホワイトバランス補正値のみを用いる場合よりも精度の良いホワイトバランス制御が可能である。
【0067】
さらに、本実施形態によれば、顔領域から得られる情報の信頼性に応じて第2のWB補正値の大きさを制限するので、顔領域の誤検出による過補正、誤補正を軽減することができる。
【0068】
さらに、本実施形態によれば、第1のホワイトバランス補正値による補正結果と正しい補正結果とのズレが所定範囲内でなければ、顔領域の検出精度(信頼度)が低いものとして、第1のホワイトバランス補正値を用いる。そのため、やはり顔領域の誤検出による過補正、誤補正を軽減することができる。
また、顔検出が出来なかった場合も、第1のホワイトバランス補正値を用いるので、ホワイトバランス制御が可能である。
【0069】
(第2の実施形態)
第1の実施形態では第1のホワイトバランス補正値を顔領域に適用した結果に基づいて肌色評価値(肌色平均値)を求め、色評価値が肌色領域からのズレが所定範囲内にある場合に第2のWB補正値を算出していた。
【0070】
これに対し、本実施形態では、所定の色空間座標系における肌色平均値の座標と、肌色領域内の予め定められた座標、ここでは例えば肌色として最も好ましい色に対応する中心座標との距離に応じて第2のWB補正値を算出する。
本実施形態のホワイトバランス制御装置を適用可能な撮像装置の機能構成は第1の実施形態と同様で良いため、各機能ブロックの詳細についての説明は省略する。
【0071】
図11は、本実施形態の撮像装置におけるホワイトバランス制御部103が実行するホワイトバランス補正値算出処理を説明するフローチャートである。
図11において、図7と同じ処理には同じ参照数字を付した。
【0072】
S301でホワイトバランス制御部103は、図6のS101〜S106と同様の処理を行い、第1のホワイトバランス補正値を算出する。
【0073】
S202においてホワイトバランス制御部103は、顔検出部114で顔(顔領域)が検出されているかどうかを判断する。顔が検出されていなければ、既に算出した第1のWB補正値を最終的なWB補正値として決定し(S210)、ホワイトバランス補正値算出処理を終了する。
一方、顔が検出されていれば、ホワイトバランス制御部103は、S203において顔領域に対応するブロック全体についての色平均値(FR、FG、FB)を取得する。
【0074】
次に、S304でホワイトバランス制御部103は、S203で取得した色平均値(FR、FG、FB)に、第1のWB補正値(WBCol_R、WBCol_G、WBCol_B)をそれぞれ乗じて、肌色平均値(Cx1, Cy1)を求める。肌色平均値(Cx1, Cy1)は、顔領域の色平均値を第1のWB補正値により補正した値、補正画像信号データである。
そして、ホワイトバランス制御部103は、予め設定した肌色中心値の座標と肌色平均値の座標との距離を算出する。
【0075】
図12は、本発明の第2の実施形態に係るホワイトバランス制御部103が第2のWB補正値を求める際の距離算出について説明する図である。図12では、肌色領域の中心座標(Cx2, Cy2)、即ち補正の目標ポイントと、肌色平均値(Cy1, Cy1)との距離を、Cx成分(DisCx)、Cy成分(DisCy)で表している。
S305でホワイトバランス制御部103は、S304で求めた距離DisCx, DisCyと、予め用意した、距離−補正値の対応情報に基づいて、補正値を求める。
【0076】
図13は、ホワイトバランス制御部103が有する距離−補正値の対応情報の一例を示す図である。
ここでは、2次元グラフの形式で、Cx成分の距離DisCxとCx成分の補正値ΔCxとの対応を示している。実際には、この対応関係を表す関数式を記憶してもよいし、図14に示すように代表的な距離と補正値との対応をルックアップテーブルとして記憶し、他の値は補間におり求めても良い。
【0077】
Cy成分についても同様に、Cx成分の距離DisCxとCx成分の補正値ΔCxとの対応情報を用いて求めることができる。
そして、S306においてホワイトバランス制御部103は、第1および第2のWB補正値の合計を最終的なWB補正値に決定する。
【0078】
なお、第1の実施形態の同様に、S305とS306との間で補正ゲインの算出および補正ゲインによる第2のWB補正値の補正を実行しても良い。
本実施形態によれば、第1の実施形態より簡便な方法により、同様の効果が実現できる。
【0079】
(他の実施形態)
なお、上述の実施形態においては、ホワイトバランス制御装置を適用した撮像装置について説明したが、本発明に係るホワイトバランス制御装置は、顔検出情報と画像データが取得可能であれば、撮像装置に限らず他の任意の画像処理装置に適用可能である。
【0080】
また、上述の実施形態は、システム或は装置のコンピュータ(或いはCPU、MPU等)によりソフトウェア的に実現することも可能である。
従って、上述の実施形態をコンピュータで実現するために、該コンピュータに供給されるコンピュータプログラム自体も本発明を実現するものである。つまり、上述の実施形態の機能を実現するためのコンピュータプログラム自体も本発明の一つである。
【0081】
なお、上述の実施形態を実現するためのコンピュータプログラムは、コンピュータで読み取り可能であれば、どのような形態であってもよい。例えば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等で構成することができるが、これらに限るものではない。
【0082】
上述の実施形態を実現するためのコンピュータプログラムは、記憶媒体又は有線/無線通信によりコンピュータに供給される。プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記憶媒体、MO、CD、DVD等の光/光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【0083】
有線/無線通信を用いたコンピュータプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル(プログラムファイル)をサーバに記憶しておく。プログラムファイルとしては、実行形式のものであっても、ソースコードであっても良い。
【0084】
そして、このサーバにアクセスしたクライアントコンピュータに、プログラムファイルをダウンロードすることによって供給する。この場合、プログラムファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。
つまり、上述の実施形態を実現するためのプログラムファイルをクライアントコンピュータに提供するサーバ装置も本発明の一つである。
【0085】
また、上述の実施形態を実現するためのコンピュータプログラムを暗号化して格納した記憶媒体を配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを許可してもよい。鍵情報は、例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。
【0086】
また、上述の実施形態を実現するためのコンピュータプログラムは、すでにコンピュータ上で稼働するOSの機能を利用するものであってもよい。
さらに、上述の実施形態を実現するためのコンピュータプログラムは、その一部をコンピュータに装着される拡張ボード等のファームウェアで構成してもよいし、拡張ボード等が備えるCPUで実行するようにしてもよい。

【特許請求の範囲】
【請求項1】
撮像を行って得られた画像のホワイトバランスを制御するホワイトバランス制御装置であって、
前記画像の色評価値に基づいて第1のホワイトバランス補正値を算出する第1の算出手段と、
前記画像から顔領域を検出する顔検出手段と、
前記顔検出手段により検出された顔領域の画像信号を前記第1のホワイトバランス補正値に基づきホワイトバランス補正した場合に、補正された顔領域の画像信号が色空間上で第1の色信号領域の周辺領域である第2の色信号領域内にあるとき、前記補正された顔領域の画像信号を、色空間上で前記第1の色信号領域に近づくように補正するための第2のホワイトバランス補正値を算出する第2の算出手段と、
前記第1及び第2のホワイトバランス補正値を用いて前記画像のホワイトバランス補正を行うホワイトバランス補正手段と、を有することを特徴とするホワイトバランス制御装置。
【請求項2】
前記ホワイトバランス補正手段は、前記顔検出手段により検出された顔領域の画像信号を前記第1のホワイトバランス補正値に基づきホワイトバランス補正した場合に、補正された顔領域の画像信号が前記第2の色信号領域内にないとき、前記第2のホワイトバランス補正値を用いずに、前記第1のホワイトバランス補正値を用いて前記画像のホワイトバランス補正を行うことを特徴とする請求項1に記載のホワイトバランス制御装置。
【請求項3】
前記顔領域から得られる情報の信頼度が低いほど、前記第2の算出手段により算出された第2のホワイトバランス補正値が小さくなるように前記第2のホワイトバランス補正値を修正する修正手段をさらに有し、
前記顔検出手段により検出された顔領域の画像信号を前記第1のホワイトバランス補正値に基づきホワイトバランス補正した場合に、補正された顔領域の画像信号が前記第2の色信号領域内にあるとき、前記ホワイトバランス補正手段は、前記第1のホワイトバランス補正値及び前記修正手段により修正された前記第2のホワイトバランス補正値を用いて前記画像のホワイトバランス補正を行うことを特徴とする請求項1または2に記載のホワイトバランス制御装置。
【請求項4】
前記修正手段は、前記顔領域の大きさ、前記顔領域の輝度値、前記画像の撮像された被写体輝度、前記画像の撮像された撮影感度の少なくとも1つに基づいて前記顔領域から得られる情報の信頼度を判定することを特徴とする請求項1乃至3のいずれか1項に記載のホワイトバランス制御装置。
【請求項5】
前記第1の算出手段は前記画像の色評価値を所定のブロック単位で算出して白画素を前記所定のブロック単位で検出し、前記第2の算出手段は前記所定のブロック単位の顔領域の画像信号に基づいて前記第2のホワイトバランス補正値を算出することを特徴とする請求項1乃至4のいずれか1項に記載のホワイトバランス制御装置。
【請求項6】
前記第1の算出手段は、前記撮像を行って得られた画像の前記顔領域よりも大きい領域の色評価値に基づいて前記第1のホワイトバランス補正値を算出することを特徴とする請求項1乃至5のいずれか1項に記載のホワイトバランス制御装置。
【請求項7】
撮像を行って得られた画像のホワイトバランスを制御するホワイトバランス制御装置であって、
前記画像の色評価値に基づいて第1のホワイトバランス補正値を算出する第1の算出手段と、
前記画像から顔領域を検出する顔検出手段と、
前記顔検出手段により検出された顔領域の画像信号を前記第1のホワイトバランス補正値に基づきホワイトバランス補正した場合に、補正された顔領域の画像信号が色空間上で第1の色信号領域の周辺領域である第2の色信号領域内にないとき、前記第1のホワイトバランス補正値を最終的なホワイトバランス補正値として前記画像のホワイトバランス補正を行うホワイトバランス補正手段と、を有することを特徴とするホワイトバランス制御装置。
【請求項8】
請求項1乃至7のいずれか1項に記載のホワイトバランス制御装置と、
前記画像を撮像する撮像手段と、
前記ホワイトバランス補正手段により補正された画像信号にガンマ補正を行うガンマ補正手段と、
前記ガンマ補正手段により補正された画像信号を記録する記録手段と、を有することを特徴とする撮像装置。
【請求項9】
撮像を行って得られた画像のホワイトバランスを制御するホワイトバランス制御方法であって、
前記画像の色評価値に基づいて第1のホワイトバランス補正値を算出する第1の算出工程と、
前記画像から顔領域を検出する顔検出工程と、
前記顔検出工程により検出された顔領域の画像信号を前記第1のホワイトバランス補正値に基づきホワイトバランス補正した場合に、補正された顔領域の画像信号が色空間上で第1の色信号領域の周辺領域である第2の色信号領域内にあるとき、前記補正された顔領域の画像信号を、色空間上で前記第1の色信号領域に近づくように補正するための第2のホワイトバランス補正値を算出する第2の算出工程と、
前記第1及び第2のホワイトバランス補正値を用いて前記画像のホワイトバランス補正を行うホワイトバランス補正工程と、を有することを特徴とするホワイトバランス制御方法。
【請求項10】
撮像を行って得られた画像のホワイトバランスを制御するホワイトバランス制御方法であって、
前記画像の色評価値に基づいて第1のホワイトバランス補正値を算出する第1の算出工程と、
前記画像から顔領域を検出する顔検出工程と、
前記顔検出工程により検出された顔領域の画像信号を前記第1のホワイトバランス補正値に基づきホワイトバランス補正した場合に、補正された顔領域の画像信号が色空間上で第1の色信号領域の周辺領域である第2の色信号領域内にないとき、前記第1のホワイトバランス補正値を最終的なホワイトバランス補正値として前記画像のホワイトバランス補正を行うホワイトバランス補正工程と、を有することを特徴とするホワイトバランス制御方法。
【請求項11】
コンピュータを請求項1乃至7のいずれか1項に記載のホワイトバランス制御装置の各手段として動作させるためのプログラム。
【請求項12】
コンピュータに、請求項1乃至7のいずれか1項に記載のホワイトバランス制御装置の各手段として動作させるためのプログラムが記憶された、コンピュータが読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2012−257337(P2012−257337A)
【公開日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願番号】特願2012−218445(P2012−218445)
【出願日】平成24年9月28日(2012.9.28)
【分割の表示】特願2007−337664(P2007−337664)の分割
【原出願日】平成19年12月27日(2007.12.27)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】