説明

撮像装置及び画像処理方法

【課題】 顔検出の結果に応じて、より安定したホワイトバランス補正を行うこと。
【解決手段】 被写体を撮影し、得られた画像信号を処理する撮像装置であって、前記画像信号から顔領域を検出する顔検出部(115)と、前記画像信号の内、白色と判定された画像信号、及び前記顔検出手段の検出結果とに基づき、ホワイトバランス補正を行うWB制御部(104)と、前記ホワイトバランス補正における、前記顔検出部の検出結果に基づく度合を変更するように制御するCPU(116)とを有し、前記ホワイトバランス補正における、前記顔検出部の検出結果に基づく度合は、前記画像信号の内、顔領域の画像信号が白色であると判定することに基づくホワイトバランス補正の不具合を抑制する度合であることを特徴とするを有する。

【発明の詳細な説明】
【技術分野】
【0001】
デジタルカメラ及びデジタルビデオカメラなどの撮像装置及び、撮像して得られた画像信号を処理する画像処理方法に関し、特に顔検出を行う撮像装置におけるホワイトバランス補正及び画像処理方法に関する。
【背景技術】
【0002】
以下に、デジタルカメラ等に用いられている従来のホワイトバランスゲイン算出回路の動作を説明する。まず図22に示すように、予め画面を任意の複数のブロック(m個)に分割し、各ブロック(1〜m)毎に、画素値を各色毎に加算平均して色平均値(R[i]、G[i]、B[i])を算出し、例えば以下の式(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)
ただし、Y[i] = R[i] + 2G[i] + B[i]、[i]は各ブロックのインデックス番号
【0003】
そして、予め様々な光源下で白色被写体を撮影し、色評価値を算出することで設定された図23に示すような白検出範囲301に、各ブロック毎に算出された色評価値が含まれる場合、そのブロックは白であると判定し、同様にして白と判定されたブロックの画素値を積分する。白検出範囲301は、予め異なる光源下で白を撮影し、算出した色評価値をプロットしたもので、図23におけるx座標(Cx)の負方向が高色温度被写体の白を撮影したときの色評価値、正方向が低色温度被写体の白を撮影したときの色評価値である。またy座標(Cy)は光源の緑成分の度合いを意味しており、負方向になるにつれG成分が大きくなり、つまり光源が蛍光灯であることを示している。
【0004】
そして、積分された画素値(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
【0005】
しかしながら、従来のホワイトバランスゲイン算出方法では、図24のように被写体として人顔が大きく写っている場合、太陽光下で撮影した人肌領域の色評価値(図23の901)と、タングステン光下で撮影した白色被写体の色評価値(図23の902)がほぼ同じ値となるため、人肌をタングステン光下の白と誤判別し、肌色を白く補正してしまう場合があった。
そこで、特許文献1では、顔検出回路にて検出された顔領域を、白検出の対象から外す(図25を参照)という提案がされている。
【0006】
【特許文献1】特開2003−189325号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した従来のホワイトバランスゲイン算出方法においては、顔検出回路において人顔を誤認識した場合や検出できなかった場合の対策が考慮されていない。そのため顔検出回路において人顔でない領域を人顔と誤検出した場合に、白検出対象領域が少なくなるため、結果として出力される色温度情報の精度が低くなるという欠点があった。また、人顔であるにも関わらず人顔と認識されない場合には、顔領域で白検出を実施してしまうため、結果としてホワイトバランス補正精度が低くなるという欠点があった。
【0008】
また、図24のような人顔がアップで撮影された場合、顔領域を白検出対象から除外すると、白検出を実施する被写体領域がほとんどなくなってしまい、結果としてホワイトバランス補正精度が低くなるという欠点があった。
【0009】
本発明は上記問題点を鑑みてなされたものであり、顔検出の結果に応じて、より安定したホワイトバランス補正を行えるようにすることを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、被写体を撮像し、得られた画像信号を処理する本発明の撮像装置は、前記画像信号から顔領域を検出する顔検出手段と、前記画像信号の内、白色と判定された画像信号、及び前記顔検出手段の検出結果とに基づき、ホワイトバランス補正を行うホワイトバランス補正手段と、前記ホワイトバランス補正における、前記顔検出手段の検出結果に基づく度合を変更するように制御する制御手段とを有し、前記ホワイトバランス補正における、前記顔検出手段の検出結果に基づく度合は、前記画像信号の内、顔領域の画像信号が白色であると判定することに基づくホワイトバランス補正の不具合を抑制する度合であることを特徴とする。
【0011】
また、被写体を撮像し、得られた画像信号を処理する本発明の画像処理方法は、前記画像信号から顔領域を検出する顔検出ステップと、前記画像信号の内、白色と判定された画像信号、及び前記顔検出手段の検出結果とに基づき、ホワイトバランス補正を行うホワイトバランス補正ステップと、前記ホワイトバランス補正における、前記顔検出手段の検出結果に基づく度合を変更するように制御する制御ステップとを有し、前記ホワイトバランス補正における前記顔検出ステップの検出結果に基づく度合は、前記画像信号の内、顔領域の画像信号が白色であると判定することに基づくホワイトバランス補正の不具合を抑制する度合であることを特徴とする。
【0012】
また、別の構成によれば、被写体を撮影し、得られた画像信号を処理する本発明の撮像装置は、前記画像信号から顔領域を検出し、該検出した顔領域の属性情報を取得する顔検出手段と、前記画像信号の内、白色と判定された画像信号を用いて第1のホワイトバランス補正値を算出する第1の算出手段と、前記画像信号の内、前記顔検出手段により検出された前記顔領域の画像信号を用いて第2のホワイトバランス補正値を算出する第2の算出手段と、前記第1のホワイトバランス補正値と、前記第2のホワイトバランス補正値とを、前記顔検出手段により取得した前記属性情報に基づいて重み付け合成を行って、第3のホワイトバランス補正値を算出する第3の算出手段と、前記第3のホワイトバランス補正値を用いて、ホワイトバランス補正を行うホワイトバランス補正手段とを有する。
【0013】
また、被写体を撮影して得られた画像信号を処理する本発明の画像処理方法は、前記画像信号から顔領域を検出し、該検出した顔領域の属性情報を取得する顔検出ステップと、前記画像信号の内、白色と判定された画像信号を用いて第1のホワイトバランス補正値を算出する第1の算出ステップと、前記画像信号の内、前記顔検出ステップで検出された前記顔領域の画像信号を用いて第2のホワイトバランス補正値を算出する第2の算出ステップと、前記第1のホワイトバランス補正値と、前記第2のホワイトバランス補正値とを、前記顔検出ステップで取得した前記属性情報に基づいて重み付け合成を行って、第3のホワイトバランス補正値を算出する第3の算出ステップと、前記第3のホワイトバランス補正値を用いて、ホワイトバランス補正を行うホワイトバランス補正ステップとを有する。
【0014】
更に別の構成によれば、被写体を撮影し、得られた画像信号を処理する本発明の撮像装置は、前記画像信号から顔領域を検出し、該検出した顔領域の属性情報を取得する顔検出手段と、前記画像信号を分割した複数の分割領域毎に、各分割領域の画像信号が白色と判定された信号かどうか、各分割領域が顔領域に含まれるかどうか、及び前記属性情報に基づいて、各分割領域に対する重み付けを決定する重み付け決定手段と、各分割領域毎に前記重み付け決定手段により決定した重み付けを用いて前記画像信号を加重加算した画像信号に基づいて、ホワイトバランス補正値を算出する算出手段と、前記ホワイトバランス補正値を用いて、ホワイトバランス補正を行うホワイトバランス補正手段とを有する。
【0015】
また、被写体を撮影して得られた画像信号を処理する本発明の画像処理方法は、前記画像信号から顔領域を検出し、該検出した顔領域の属性情報を取得する顔検出ステップと、前記画像信号を分割した複数の分割領域毎に、各分割領域の画像信号が白色を示す信号かどうか、各分割領域が顔領域に含まれるかどうか、及び前記属性情報に基づいて、各分割領域に対する重み付けを決定する重み付け決定ステップと、各分割領域毎に前記重み付け決定手段により決定した重み付けを用いて前記画像信号を加重加算した画像信号に基づいて、ホワイトバランス補正値を算出する算出する算出ステップと、前記ホワイトバランス補正値を用いて、ホワイトバランス補正を行うホワイトバランス補正ステップとを有する。
【0016】
更に別の構成によれば、被写体を撮像し、得られた画像信号を処理する本発明の撮像装置は、前記画像信号から顔領域を検出する顔検出手段と、前記画像信号の内、白色と判定された画像信号を用いて第1のホワイトバランス補正値を算出する第1の算出手段と、前記顔検出手段により検出結果を用いて、前記画像信号から第2のホワイトバランス補正値を算出する第2の算出手段と、前記第1のホワイトバランス補正値と、前記第2のホワイトバランス補正値とを用いて第3のホワイトバランス補正値を算出する第3の算出手段と、前記第3のホワイトバランス補正値を用いて、ホワイトバランス補正を行うホワイトバランス補正手段とを有し、前記第2のホワイトバランス補正値に基づくホワイトバランス補正は、前記画像信号の内、顔領域の画像信号が白色であると判定することに基づくホワイトバランス補正の不具合が抑制されるホワイトバランス補正であることを特徴とする。
【0017】
また、被写体を撮像し、得られた画像信号を処理する本発明の画像処理方法は、前記画像信号から顔領域を検出する顔検出ステップと、前記画像信号の内、白色と判定された画像信号を用いて第1のホワイトバランス補正値を算出する第1の算出ステップと、前記顔検出ステップによる検出結果を用いて、前記画像信号から第2のホワイトバランス補正値を算出する第2の算出ステップと、前記第1のホワイトバランス補正値と、前記第2のホワイトバランス補正値とを用いて第3のホワイトバランス補正値を算出する第3の算出ステップと、前記第3のホワイトバランス補正値を用いて、ホワイトバランス補正を行うホワイトバランス補正ステップとを有し、前記第2のホワイトバランス補正値に基づくホワイトバランス補正は、前記画像信号の内、前記顔領域の画像信号が白色であると判定することに基づくホワイトバランス補正の不具合が抑制されるホワイトバランス補正であることを特徴とする画像処理方法。
【発明の効果】
【0018】
本発明によれば、顔検出の結果に応じて、より安定したホワイトバランス補正を行うことができる。
【発明を実施するための最良の形態】
【0019】
以下、添付図面を参照して本発明を実施するための最良の形態を詳細に説明する。
【0020】
<第1の実施形態>
図1は本発明の第1の実施形態における、顔検出機能を備えた撮像装置の機能構成を示す概略ブロック図である。
【0021】
図1において、101はCCDやCMOS等から成る固体撮像素子であり、その表面は、例えばベイヤー配列のRGBカラーフィルタにより覆われ、カラー撮影が可能な構成となっている。102はOB(Optical Black)回路102で、撮像素子101に設けられた遮光部から得られる暗電流分の信号を、撮像素子101の露光領域から得られる画像信号から差し引く黒引き処理を行う。OB回路102により黒引き処理された画像信号は、メモリ103に一旦記憶される。
【0022】
115はメモリ103に記憶された画像信号を用いて人顔の検出を行う顔検出部である。顔検出部115は、公知の方法で図2(a)に示すように人顔(Face1、Face2)を検出すると、図2(b)に示すように、顔部分の領域及び中心を表す座標値、左右の目の座標値、及び信頼度(顔以外のものを顔であると誤検出していないことの信頼性を示す度合)等から成る顔情報をメモリに記憶する。なお、ここで使用するメモリとしては、メモリ103を用いても、その他の内部メモリを用いてもよい。
【0023】
ここで、信頼度の求める方法について説明する。
【0024】
まず、顔部分を、画像信号から抽出する。具体的には、例えば以下のような方法で抽出する。まず、顔部分の抽出は、画面に、水平及び垂直方向のバッドパスフィルタをかけ、エッジを検出する。その後、エッジを2値化し、テキスチャー検出をする。検出されたテキスチャーを、顔部分のパーツである、顔の輪郭や目、鼻、口などのパターン認識回路にかけ、顔パーツ候補を絞り込む。
【0025】
次に、上記で抽出された顔パ−ツ候補を非顔フィルタで、パーツを絞り込む。具体的には、例えば、検出された顔パーツを、複数の非顔フィルタを通し、点数をつけ、予め設定した点数以上のパーツを顔パーツとする。
【0026】
例えば、1)検出された目の候補のパーツは、1組あるか否か、2)一組の目のパーツにおいて、目の大きさと、目の距離に不自然さはないか、3)目と目の中心から下に、鼻や口のパーツがあるか、4)目のまわりの色が肌色であるか、のようなフィルタがあり、各フィルタ毎に予め設定した閾値で点数をつける。そして、上記顔パーツである点数以上のものを顔として出力する。
【0027】
ここで、上記点数を信頼度に反映させ、例えば点数が何点以上ならば信頼度を1、点数が何点以上ならば、0.5のようにする(信頼度最大1〜信頼度最低0)。
【0028】
また、顔検出部115は、検出した顔部分に対応する画像信号(つまり、顔部分の座標値により定義される領域内にある画像信号)をCPU116に送る。なお、人顔を検出できなかった場合には、検出できなかったことを示す情報をメモリに記録すると共に、メモリ103に記憶されている画像信号をそのままCPU116に送る。
【0029】
CPU116では、顔検出部115から送られた画像信号に基づいて、人顔が検出されていれば、人顔が最適な明るさになるようなシャッタースピードTv、絞り値Avを計算し、また人顔に合焦するようにフォーカスレンズ駆動量を計算する。一方、人顔が検出されていなければ、CPU116は画像全体が最適な明るさになるようなシャッタースピードTv、絞り値Avを計算すると共に、予め設定された合焦領域内にある被写体に合焦するようなフォーカスレンズ駆動量を計算する。CPU116で計算された露出値(Tv、Av)及びフォーカスレンズ駆動量はシャッター・絞り・フォーカスレンズ制御回路114に送られ、各値に基づいて不図示のレンズや絞り、シャッター、撮像素子101がそれぞれ制御される。
【0030】
104はホワイトバランス(WB)制御部であり、メモリ103に記憶された画像信号及び顔検出部115から得られる顔情報に基づいてWB補正値を算出し、算出したWB補正値を用いて、メモリ103に記憶された画像信号に対してWB補正を行う。なお、このWB制御部104の詳細構成及びWB補正値の算出方法については、詳細に後述する。
【0031】
105は、WB制御部104によりWB補正された画像信号が最適な色で再現されるように色ゲインをかけて色差信号R−Y、B−Yに変換する色変換MTX回路、106は色差信号R−Y、B−Yの帯域を制限するローパスフィルタ(LPF)回路、107はLPF回路106で帯域制限された画像信号の内、飽和部分の偽色信号を抑圧するCSUP(Chroma Supress)回路である。
【0032】
一方、WB制御部104によりWB補正された画像信号は輝度信号(Y)生成回路112にも出力されて輝度信号Yが生成され、生成された輝度信号Yに対してエッジ強調回路113にてエッジ強調処理が施される。
【0033】
CSUP回路107から出力される色差信号R−Y、B−Yと、エッジ強調回路113から出力される輝度信号Yは、RGB変換回路108にてRGB信号に変換され、ガンマ補正回路109にて階調補正が施される。その後、色輝度変換回路110にてYUV信号に変換され、更に圧縮回路111にて圧縮されて、コンパクトフラッシュ(登録商標)等の外部記録媒体または内部記録媒体に画像信号として記録される。
【0034】
次に、上記構成を有する撮像装置における撮像処理について、図3〜図6を参照して説明する。なお、この処理は、不図示のモードダイヤルなどにより撮像モードに設定されている場合に行われる。
【0035】
まず、ステップS11において、不図示のシャッタースイッチの状態をチェックし、ユーザによりシャッタースイッチが半押し(SW1がON)されると、ステップS12に進み、測距・測光・測色処理を行う。この測距・測光・測色処理の詳細は図4を用いて後述する。測距・測光・測色処理(ステップS12)を終えると、ステップS13に進む。
【0036】
不図示のシャッタースイッチが全押し(SW2がON)されずに(ステップS13でOFF)、さらにシャッタースイッチの半押し(SW1がON)も解除されたならば(ステップS14でOFF)、ステップS11に戻り、上記処理を繰り返す。シャッタースイッチが全押し(SW2がON)されずに(ステップS13でOFF)、シャッタースイッチが半押し(SW1がON)のままである場合には(ステップS14でON)、ステップS13に戻る。シャッタースイッチ全押し(SW2がON)されると(ステップS13でON)、ステップS15に進む。
【0037】
ステップS15では、撮影処理を実行する。このステップS15で行われる撮影処理の詳細は、図5を参照して詳細に後述する。ステップS15の撮影処理終了後、ステップS16に進み記録処理を実行する。このステップS16における記録処理の詳細は図6を用いて後述する。
【0038】
ステップS16の記録処理が終了すると、ステップS17でシャッタースイッチが全押し(SW2がON)であるかどうかを調べ、ONであれば、ステップS18に進んで連写モードが設定されているかどうかを確認する。連写モードが設定されていなければステップS17に戻ってシャッタースイッチの全押し(SW2がON)が解除されるのを待ってステップS19に進み、設定されていれば、ステップS15に戻って、次の撮影を行う。一方、シャッタースイッチの全押し(SW2がON)が解除されていれば(ステップS17でOFF)、ステップS19でシャッタースイッチの半押し(SW1がON)が解除されるのを待って、解除されるとステップS11に戻る。
【0039】
図4は、図3のステップS12で行われる測距・測光・測色処理の詳細なフローチャートを示す。
【0040】
まずステップS21において、撮像素子101から電荷信号を読み出し、OB回路102で黒引き処理を行って得た画像信号を、メモリ103に逐次書き込む。そしてCPU116はメモリ103に書き込まれた画像信号から露出が適切であるかどうかを判断し(ステップS22)、適切でないと判断した場合にはCPU116は上述したようにしてシャッタースピードTv及び絞り値Avを算出してステップS21に戻り、シャッター・絞り・フォーカスレンズ制御回路114はこれら各値に基づいて不図示の絞り、シャッター、撮像素子101をそれぞれ制御し、再度電荷信号の読み出しを行う。なお、上述したように、顔検出部115により人顔の検出がされている場合には、CPU116は撮影した全画素の画像信号の内、検出した人顔の領域内にある画像信号を演算に用いるので、人顔に適した露出制御を行うことができる。
【0041】
ステップS22で露出が適切であると判断すると、算出したシャッタースピードTv及び絞り値AvをCPU116の内部メモリに記憶する。
【0042】
次に、ホワイトバランスが適正と判断されるまで(ステップS26でNOの間)、WB制御部104を用いてAWB制御(ステップS27)を行う。このAWB制御については、図7及び図8〜図10を参照して詳しく後述する。
【0043】
ホワイトバランスが適正と判断したならば(ステップS26でYES)、WB補正値(ホワイトバランスゲイン)をWB制御部104の後述するWB係数保持部205に記憶して、ステップS28に進む。
【0044】
ステップS28では、CPU116は測距処理により合焦していると判断されるまで(ステップS28でNOの間)、フォーカスレンズ駆動量を算出し、シャッター・絞り・フォーカスレンズ制御回路114において算出したフォーカスレンズ駆動量に基づいて、不図示のフォーカスレンズを制御するAF制御を行う(ステップS29)。なお、上述したように、顔検出部115により人顔の検出がされている場合には、CPU116は撮影した全画素の画像信号の内、検出した顔の座標値内にある画像信号を演算に用いので、人顔に焦点を合わせることが可能となる。
【0045】
測距処理により合焦していると判断したならば(ステップS28でYES)、測定データをCPU116の内部メモリに記憶し、測距・測光・測色処理ルーチンS12を終了する。
【0046】
なお、上記処理例では、露出制御、WB制御、合焦制御の順に処理を行う場合について説明したが、本発明はこれに限られるものではなく、異なる処理順としたり、処理を平行して行うことも勿論可能である。
【0047】
図5は、図3のステップS15における撮影処理の詳細なフローチャートを示す。
【0048】
不図示のシャッターボタンが全押しされると(SW2がON)、図4で説明したようにして得たシャッタースピードTv及び絞り値Avに従い、シャッター・絞り・フォーカスレンズ制御回路114を制御して、絞り機能を有する不図示のシャッターを絞り値に応じて開放して(ステップS31)、撮像素子101の露光を開始する(ステップS32)。
【0049】
シャッター・絞り・フォーカスレンズ制御回路114は、シャッタースピードTvに従って撮像素子101の露光終了を待ち(ステップS33)、露光時間が終了すると、ステップS34に進んでシャッターを閉じて、撮像素子101から電荷信号を読み出し、OB回路102により黒引き処理を行った画像信号をメモリ103に画像信号を書き込む(ステップS35)。
【0050】
ステップS36において、WB制御部104から色輝度変換回路110の各回路により、WB補正を含む上述した色処理を順次行った後、撮影処理ルーチン(ステップS15)を終了する。
【0051】
図6は、図3のステップS16における記録処理の詳細なフローチャートを示す。
【0052】
ステップS41において、色処理が施された画像データに対して圧縮回路111で圧縮処理を行った後、メモリカードやコンパクトフラッシュ(登録商標)カード等の不図示の外部記録媒体や内部記録媒体へ圧縮した画像データの書き込みを行う(ステップS42)。記録媒体への書き込みが終わったならば、記録処理ルーチン(ステップS16)を終了する。
【0053】
次に、図4の測距・測光・測色処理のステップS27で行われる本第1の実施形態におけるAWB制御について、図7及び図8〜図10を参照して詳しく説明する。
【0054】
図7はWB制御部104の詳細機能構成を示すブロック図、図8〜図10はWB制御部104で行われるWB補正値の算出方法を説明するフローチャートである。
【0055】
本第1の実施形態におけるWB制御部104の特徴は、顔検出部115により検出された顔情報を用いずに従来手法を用いて第1のWB補正値を算出する第1WB補正値算出部202と、顔検出部115により検出された顔領域の肌色を最適な色再現にする第2のWB補正値を算出する第2WB補正値算出部203と、第1のWB補正値と第2のWB補正値とを、顔情報から算出した加重加算係数を用いて加重加算することで第3のWB補正値を算出する第3WB補正値算出部204とを有することを特徴とする。また、不図示のシャッタースイッチの半押し(SW1がON)の場合に端子1に接続し、それ以外の場合に端子0に接続するスイッチ201と、第3WB補正値算出部204により算出された第3のWB補正値を記憶する第1WB補正値保持部205と、予め設定されたWB補正値を保持する第2WB補正値保持部206と、不図示のシャッタースイッチが半押し(SW1がON)または全押し(SW2がON)の場合に端子1に接続し、それ以外の場合に端子0に接続するスイッチ207と、第1または第2WB補正値保持部205または206に記憶されたWB補正値を用いて、メモリ103に記憶された画像信号のWB補正を行うWB補正部208とを有する。この構成では、シャッタースイッチの操作がされていない場合には(SW1もSW2もOFF)スイッチ201、207は共に端子0に接続し、メモリ103に記憶された画像信号はWB補正部208に入力し、WB補正部208は第2WB補正値保持部206に記憶された所定のWB補正値によりWB補正を行う。なお、図7では第1及び第2WB補正値保持部205、206はWB制御部104内部にあるものとして記載したが、WB制御部104の外部にあり、WB制御部104から書き込み及び読み出し可能なメモリを用いてもよいことは言うまでもない。
【0056】
図4の測距・測光・測色処理におけるステップS27では、シャッタースイッチが半押し(SW1がON)の状態であるので、スイッチ201、207共には端子1側に接続し、第1のWB補正値、第2のWB補正値、第3のWB補正値の算出処理が行われる。以下、第1のWB補正値、第2のWB補正値、第3のWB補正値の算出方法の詳細な説明を行う。
【0057】
まず最初に、第1WB補正値算出部202で行われる第1のWB補正値の算出方法について図8を参照して説明する。まず、メモリ103に記憶された画像信号を読み出し、その画面を図22のような任意のm個のブロックに分割する(ステップS101)。そして、各ブロック(1〜m)毎に、画素値を各色毎に加算平均して色平均値(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 …(1)
ただし、Y[i] = R[i] + 2G[i] + B[i]、[i]は各ブロックのインデックス番号
【0058】
次に、ステップS102で算出したi番目のブロックの色評価値(Cx[i]、Cy[i])が、図23に示す予め設定した白検出範囲301に含まれるかどうかを判断する(ステップS103)。白検出範囲301は、予め異なる光源下で白を撮影し、算出した色評価値をプロットしたものである。図23におけるx座標(Cx)の負方向が高色温度被写体の白を撮影したときの色評価値、正方向が低色温度被写体の白を撮影したときの色評価値である。またy座標(Cy)は光源の緑成分の度合いを意味しており、負方向になるにつれG成分が大きくなり、つまり光源が蛍光灯であることを示している。
【0059】
算出した色評価値(Cx[i]、Cy[i])がこの白検出範囲301に含まれる場合には(ステップS103でYES)そのブロックが白色であると判断して、そのブロックの色平均値(R[i]、G[i]、B[i])を積算していき(ステップS104)、含まれない場合には加算せずにステップS105に進む。このステップS103及びステップS104の処理は、式(3)により表すことができる。
【0060】

【0061】
ここで、式(3)において、色評価値(Cx[i]、Cy[i])が白検出範囲103に含まれる場合はSw[i]を1に、含まれない場合にはSw[i]を0とすることにより、ステップS103の判断により色平均値(R[i]、G[i]、B[i])加算を行うか、行わないかの処理を実質的に行っている。
ステップS105では、全てのブロックについて上記処理を行ったかどうかを判断し、未処理のブロックがあればステップS102に戻って上記処理を繰り返し、全てのブロックの処理が終了していればステップS106に進む。
【0062】
ステップS106では、得られた色評価値の積分値(sumR、sumG、sumB)から、以下の式(4)を用いて、第1のWB補正値(WBCo1_R、WBCo1_G、WBCo1_B)を算出する。
WBCo1_R = sumY × 1024 / sumR
WBCo1_G = sumY × 1024 / sumG …(4)
WBCo1_B = sumY × 1024 / sumB
ただし、sumY = (sumR + 2 × sumG + sumB) / 4
【0063】
次に、第2WB補正値算出部203で行われる第2のWB補正値の算出方法について図9を参照して説明する。本第1の実施形態における第2のWB補正値算出方法は、予め複数個設定されたWB補正値群の中から、検出された顔領域の色相(色再現)が最適になるWB補正値を選択することを特徴としている。また、説明を判りやすくするために、まず、顔が一つだけ検出された場合について説明を行う。
【0064】
まず、顔検出部115により検出された顔領域内の画素値をRGBの各色毎に加算平均して、人顔領域の色平均値(aveFaceR、aveFaceG、aveFaceB)を算出する(ステップS111)。
【0065】
次に、式(5)により予め各色温度毎に用意した後述するn個のWB補正値(WBCo_R[j]、WBCo_G[j]、WBCo_B[j]、j=1〜n)とステップS111で算出された人顔領域の色平均値をそれぞれ掛け合わせ、各色毎に各WB補正値で補正した人顔領域の補正色平均値(R[j]、G[j]、B[j])を算出する(ステップS112)。
R[j] = aveFaceR × WBCo_R[j]
G[j] = aveFaceG × WBCo_G[j] …(5)
B[j] = aveFaceB × WBCo_B[j]
【0066】
ここで、n個のWB補正値について説明する。
【0067】
図11の301は、図23に示すものと同じ白検出範囲である。この色検出範囲301内の各色評価値はWB補正値に1:1に対応しており、色評価値が求まればWB補正値は以下のような計算式で算出できる。
【0068】
上記式(1)において、Y[m]=1024とすると、
Cx[m] = R[m] - B[m]
Cy[m] = R[m] + B[m] -2G[m] …(6)
1024 = R[m] +2G[m] + B[m]
【0069】
となり、式(6)の連立方程式を解くと、RGBの画素値はそれぞれ
R[m] = 2Cx[m] + Cy[m] + 1024 / 4
G[m] = 1024 - Cy[m] / 2 …(7)
B[m] = -2Cx[m] + Cy[m] + 1024 / 4
となり、これよりWB補正値が算出できる。本第1の実施形態における第2のWB補正値の算出方法では、図11の○点のように、予め任意の色温度幅(Cx)、任意の蛍光灯度幅(Cy)毎に、色評価値と、その色評価値から算出されるWB補正値をn個分、色評価値に対応させて記憶しておき(WBCo_R[j]、WBCo_G[j]、WBCo_B[j]、j=1〜n)、その中から以下のプロセスで最適なWB補正値を選択し、第2のWB補正値を算出する。
次に、上述したようにして算出された補正色平均値から、式(8)により顔領域色差値(R-Y[j]、B-Y[j])を算出する(ステップS113)。
R-Y[j] = R[j] - Y[j]
B-Y[j] = B[j] - Y[j] …(8)
ただし、Y[j] = 0.3×R[j] + 0.59×G[j] + 0.11×B[j]、j=1〜n
【0070】
次に、式(8)により算出した顔領域色差値(R-Y[j]、B-Y[j])から、式(9)により色相角値(Hue[j])を算出する(ステップS114)。
【0071】

【0072】
そして、算出した色相角値が、図12に示す予め設定した好ましい肌色色相範囲内に入るかどうかを判断し(ステップS115)、入る場合にはその色相角値を算出する時に用いたWB補正値(WBCo_R[j]、WBCo_G[j]、WBCo_B[j])を積算していく(ステップS116)。そして、予め用意したn個分のWB補正値(WBCo_R[j]、WBCo_G[j]、WBCo_B[j])に対し、ステップS112からS116を実施する(ステップS117)。
【0073】
n個全てWB補正値に対して処理を終えると、算出されたWB補正値の和の平均をとり、第2のWB補正値を算出する(ステップS118)。即ち、ステップS112〜ステップS118を総括すると、第2のWB補正値は、以下の式(10)により与えられることになる。
【0074】

【0075】
式(10)において、ステップS114で算出されたn個の色相角値のうち、図12に示す肌色色相領域に含まれる場合はSw[i]を1に、含まれない場合はSw[i]を0とすることにより、ステップS115の判断によりWB補正値の加算を行うか、行わないかの処理を実質的に行っている。また、Numは、n個の色相角値のうち、Sw[i]が1であるものの個数を表している。
次に、第3WB補正値算出部204で行われる第3のWB補正値の算出方法について図10を参照して説明する。
【0076】
本第1の実施形態における第3のWB補正値の算出方法は、顔検出部115により検出された顔の信頼度(図2(b)を参照)に応じて、第1のWB補正値と第2のWB補正値を選択もしくは加重加算し、第3のWB補正値として出力するものである。顔検出部115により検出される(!!!顔検出部115の説明部分でもコメントしてありますが、信頼度の検出方法について説明を追加した方がよいと思いますので、よろしくお願い致します。)信頼度は1〜0までの値を取り、1が顔検出の信頼度が100%であることを示し、値が小さくなるにつれて信頼度が下がる。
【0077】
まず、ステップS121において、第1及び第2WB補正値算出部202及び203で算出された第1及び第2のWB補正値を入力する。次に、顔検出部115から出力される顔情報の中から、信頼度(r)を抽出し(ステップS122)、抽出した信頼度(r)を用いて、以下の式(11)により第3の補正値(WBCo3_R、WBCo3_G、WBCo3_B)を算出する(ステップS123)。
WBCo3_R = (1-r) × WBco1_R + R× WBco2_R
WBCo3_G = (1-r) × WBco1_G + R× WBco2_G …(11)
WBCo3_B = (1-r) × WBco1_B + R× WBco2_B
【0078】
このように、本第1の実施形態では、顔検出部115において顔検出を行ったときの信頼度が高い時(r=1)には、第2のWB補正値を100%使用し、信頼度が低い時(r=0)には第1のWB補正値を100%使用し、その中間は信頼度によって第1のWB補正値と第2のWB補正値とを加重加算することを特徴としている。顔検出部115では、人の顔に近いテキスチャーを顔として誤検出する場合があるが、式(11)を用いて第3のWB補正値を算出することで、誤って検出された非顔領域を用いて算出された第2のWB補正値を使用してしまう不具合を回避することができる。
【0079】
また、顔の領域が画像の大部分を占めている場合であっても、第2のWB補正値を用いて第3のWB補正値を算出することが可能になる。
【0080】
上述したようにして算出された第3のWB補正値は、第1WB補正値保持部205に記憶される。そして、不図示のシャッタースイッチが全押しされて(SW2がON)、撮影処理が行われた場合に、図5のステップS36における色処理において、WB補正部208は、スイッチ201の端子0を介してメモリ103から読み込まれた画像信号に対して、スイッチ207の端子1を介して入力する第3のWB補正値を用いてWB補正を行う。
【0081】
上記説明では、第2のWB補正値を算出する際に検出された顔が1つである場合について説明したが、検出された顔が複数ある場合の第2のWB補正値の算出方法について、図13のフローチャートを参照して説明する。ここでは、図2に示すように顔が2つ検出されているものとする。
【0082】
まず、ステップS131において、顔検出部115から得られる顔情報に基づいて、検出された顔領域の数(Face1、Face2)を取得する。
【0083】
そして、各顔領域について、図9のステップS111〜S118を参照して上述した処理を行い、各顔領域の第2のWB補正値を算出する(ステップS132)。ステップS133で全ての顔領域について処理が終了するまで、ステップS132を繰り返す。
【0084】
ここでは、図2に示すように顔領域の数は2であるので、Face1の第2のWB補正値(WBCo2_R_Face[1]、WBCo2_G_Face[1]、WBCo2_B_Face[1])と、Face2の第2のWB補正値(WBCo2_R_Face[2]、WBCo2_G_Face[2]、WBCo2_B_Face[2])の2組が算出される。
【0085】
次に、顔情報に含まれる信頼度の値(r[1]=F1(rel)、r[2]=F2(rel))から、式(12)を用いて加重加算係数MixRatio[i]を算出する(ステップS134)。
MixRatio[1] = r[1] / (r[1] + r[2])
MixRatio[2] = r[2] / (r[1] + r[2]) …(12)
【0086】
これは、検出された顔のうち、顔である信頼性の高い領域から算出したWB補正値が多く使われるように考慮したものである。次に、ステップS134で算出した加重加算係数MixRatio[i]により、ステップS132で算出した2組の第2のWB補正値を式(13)により加重加算する(ステップS135)。
WBCo2_R = (MixRatio[1] × WBCo2_R_Face[1] + MixRatio [2]×WBCo2_R_Face[2])
WBCo2_G = (MixRatio [1] × WBCo2_G_Face[1] + MixRatio [2]×WBCo2_G_Face[2])
WBCo2_B = (MixRatio [1] × WBCo2_B_Face[1] + MixRatio [2]×WBCo2_B_Face[2])
…(13)
このようにして加重加算したものを、第2のWB補正値とする。
【0087】
なお、第3のWB補正値は、上述した図10の手順により算出することが可能であるが、複数の顔領域が検出された場合にはステップS122において抽出した信頼度の平均値を算出し、ステップS123で用いる。例えば、2つの顔領域が検出され、各顔領域の信頼度がr[1]=F1(rel)、r[2]=F2(rel)の場合、第3のWB補正値の算出時に用いる信頼度r = (r[1] + r[2])/2とする。
【0088】
なお、上述した図13のステップS134で行われる加重加算係数MixRatio[i]の算出には、顔情報のうち顔である確からしさを数値化した信頼度値r[i]を用いたが、以下に記述する手法を用いても良い。
【0089】
例1)
顔領域の面積によって算出される0から1までの値を使用する。これは顔が大きく写っている被写体に優先的にWB補正値を最適化するものである。顔検出部115により検出された顔情報を用いて式(14)により各顔領域の面積S[i]を算出し、図14に示すような、入力として顔の面積S[i](iは顔領域のインデックス番号)、出力として加重加算係数k[i]を出力するグラフを用いて得られた値をr[i]として、式(12)を用いてMixRatio[i]を算出する。例えば、図2に示すように顔が2つ算出された場合、面積S[i]は、
S[1] = (x1[1] - x0[1]) × (y1[1] - y0[1])
S[2] = (x1[2] - x0[2]) × (y1[2] - y0[2]) …(14)
【0090】
例2)
顔の座標値によって算出される0から1までの値を使用する。これは画面中央に写っている被写体に優先的にWBを最適化するものである。顔検出部115により検出された顔情報の中心座標(x_Center[i]、y_Center[i]、[i]は顔領域のインデックス番号)と、撮影画面の中心座標値(CenterX、CenterY)、画面中心から対角方向の画面隅までの距離より、式(15)を用いて各顔領域の像高(FaceDis[i])を算出し、図15に示すような、入力として像高、出力として加重加算係数k[i]を出力するグラフを用いて得られた値をr[i]として、式(12)を用いてMixRatio[i]を算出する。
【0091】

【0092】
なお、上記ステップS134で説明した方法、及び上記例1、例2で説明した方法の任意の組み合わせによって求まる値を使用することも可能である。例えば顔検出の信頼度より算出した加重加算係数と、顔の面積から算出した加重加算係数を乗算することで新たな加重加算係数を算出することができる。これは、顔である確からしさが高い顔に、更に面積による重みをかけた係数となる。
【0093】
また、第3のWB補正値を算出する際に用いる信頼度(r)として、複数の顔領域が検出された場合には各顔領域の信頼度(r[i])の平均値を用いることを上述したが、他の方法を用いて信頼度(r)を算出してもよい。例えば、カメラに予め登録した人物の人顔を最適な色再現にするモードを備えた場合、予め登録した人物のみに対して最適なWB補正値を算出するもので、
r = 特定の人物の信頼度(1〜0)
【0094】
とする。これにより、予め登録された人物に最適なWB補正値を得ることができる。
また、デジタルカメラが肌色優先モードを備え、肌色優先モードが選択された場合、第2のWB補正値を第3のWB補正値として出力することで、人顔が最適な肌色になるようにしてもよい。
【0095】
上記では、顔検出部115により検出された顔の信頼度に応じて、第1のWB補正値と第2のWB補正値との重み付け合成を行っているが、以下のような構成であっても良い。
【0096】
撮影者によって、第2のWB補正値を用いる割合を設定することができる操作部材を撮像装置に設ける。操作部材は、例えば、0.1刻みで0〜1の間で設定することができるようになっている。例えば、0が設定された際は、第1のWB補正値のみを用いるようにCPU116が制御する。また、例えば、0.4が設定された際は、第1のWB補正値を6割、第2のWB補正値を4割用いて第3のWB補正値を算出するようにCPU116が制御する。また、1が設定された際は、第2のWB補正値のみを用いるようにCPU116が制御する。
【0097】
また、上記では、第1のWB補正値と第2のWB補正値とを重み付け合成を行う際の割合を変更できるようになっているが、第3のWB補正値を算出する際に、第1のWB補正値と第2の補正値とを常に半分ずつ用いるようにしても良い。
【0098】
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。
【0099】
本第2の実施形態においては、第2のWB補正値の算出方法が第1の実施形態のものとは異なる。その他の構成及び処理は第1の実施形態と同様であるのでここでは説明を省略し、本第2の実施形態における第2のWB補正値の算出方法について、図16を参照して説明する。
【0100】
本第2の実施形態における第2のWB補正値の算出方法では、顔検出部115により検出された顔領域より色評価値(本第2の実施形態では「肌色評価値」と呼ぶ。)を算出し、予め設定された肌色評価値−白色評価値直線に基づき白色の色評価値(本第2の実施形態では「白評価値」と呼ぶ。)を算出し、白評価値より第2のWB係数を算出する。
【0101】
まず、顔検出部115により検出された顔領域内の画素値をRGBの各色毎に加算平均して、人顔領域の色平均値(aveFaceR[i]、aveFaceG[i]、aveFaceB[i])を算出する(ステップS211)。なお、iは検出された顔領域のインデックス番号である。
【0102】
ステップS211で算出した色平均値より、式(16)により各顔領域毎に肌色評価値(CxSkin[i]、CySkin[i])を算出する(ステップS212)。
CxSkin[i] = (aveFaceR[i] - aveFaceB[i]) / Y[i] × 1024
CySkin[i] = (aveFaceR[i] + aveFaceB[i]) - 2aveFaceG[i]/ Y[i] × 1024
ただし、Y[i] = aveFaceR[i]] + 2aveFaceG[i] + aveFaceB[i]、[i]は各顔領域のインデックス番号
…(16)
【0103】
次に、図17のような予め設定した肌色評価値(CxSkin, CySkin)−白評価値(CxWhite, CyWhite)対応直線を用い、各顔領域毎に白評価値(Cx[i]、Cy[i])に変換する(ステップS213)。各顔領域毎に算出された白評価値より、式(7)を用いて各色値(R[i]、G[i]、B[i])を算出し、算出した各色値を用いて式(17)により、まず各領域毎に第2のWB補正値を算出する(ステップS214)。
WBco2_R[i] = Y[i] × 1024 / R[i]
WBco2_G[i] = Y[i] × 1024 / G[i] …(17)
WBco2_B[i] = Y[i] × 1024 / B[i]
ただし、Y[i] = (R[i] + 2 ×G[i] + B[i]) / 4
【0104】
顔検出部115により検出された顔領域の数が1である場合には、式(17)により第2のWB補正値が決定するが、2つ以上ある場合には上記第1の実施形態で説明したように、式(12)を用いて各顔領域の信頼度の加重加算係数MixRatio[i]を算出し、加重加算係数MixRatio[i]を用いて、式(13)により算出した第2のWB補正値を加重加算し、得られた値を第2のWB補正値とする。
【0105】
上記では、顔検出部115により検出された顔の信頼度に応じて、第1のWB補正値と第2のWB補正値との重み付け合成を行っているが、以下のような構成であっても良い。
【0106】
撮影者によって、第2のWB補正値を用いる割合を設定することができる操作部材を撮像装置に設ける。操作部材は、例えば、0.1刻みで0〜1の間で設定することができるようになっている。例えば、0が設定された際は、第1のWB補正値のみを用いるようにCPU116が制御する。また、例えば、0.4が設定された際は、第1のWB補正値を6割、第2のWB補正値を4割用いて第3のWB補正値を算出するようにCPU116が制御する。また、1が設定された際は、第2のWB補正値のみを用いるようにCPU116が制御する。
【0107】
また、上記では、第1のWB補正値と第2のWB補正値とを重み付け合成を行う際の割合を変更できるようになっているが、第3のWB補正値を算出する際に、第1のWB補正値と第2の補正値とを常に半分ずつ用いるようにしても良い。
【0108】
<第3の実施形態>
次に、本発明の第3の実施形態について説明する。
【0109】
本第3の実施形態では、WB補正値の算出方法が第1及び第2の実施形態と異なり、第1の実施形態で説明した図4のステップS27において、上記第1の実施形態で説明した第1〜第3WB補正値の算出処理の代わりに実行される。なお、撮像装置の構成は図1に示すものと同様であり、また、図3〜図6を参照して説明した撮像処理も同様であるため、ここでは説明を省略する。
【0110】
図18は、本第3の実施形態におけるWB制御部104の機能構成を示すブロック図である。図18において、401は重み付け決定部、402はWB補正値算出部、403はWB補正部である。
【0111】
以下、図4のステップS27で図18に示す構成を有するWB制御部104により行われる、本第3の実施形態におけるWB補正値の算出方法について図19を参照して説明する。
【0112】
まず、メモリ103に記憶された画像信号を読み出し、その画面を例えば図22のような任意のm個のブロックに分割する(ステップS311)。そして、m個の各ブロック毎に、ブロック内の画素値を各色毎に加算平均して色平均値(R[i]、G[i]、B[i])を算出し、上述した式(1)を用いて色評価値(Cx[i]、Cy[i])を算出する(ステップS312)。
【0113】
次に、ステップS312で算出した色評価値(Cx[i]、Cy[i])が図23に示す予め設定した白検出範囲301に含まれるか否かを判断する(ステップS313)。含まれない場合には、ステップS312に戻って次のブロックの処理を行い、含まれる場合にはステップS314に進んで、顔検出部115が検出した顔領域に含まれるかどうかを判断する。
【0114】
顔領域に含まれない場合には、そのブロックの色平均値を積分し(ステップS315)、含まれる場合には、顔情報から算出された重み値(FaceWeight[i])を色平均値にかけてから、積分する(ステップS316)。なお、ステップS313〜S316の処理は、以下の式(18)により実現される。
【0115】

【0116】
但し、rは顔領域iにおける信頼度値、Sw[i]は、色評価値が白検出範囲に含まれる場合は1、含まれない場合は0である。
ここで、顔情報を用いて重みFaceWeightを算出する方法について説明する。本第3の実施形態におけるWB補正値の算出では、白色と判断されたブロックの内、顔と検出された領域を画素積分対象から除外する事が目的であるため、信頼度rを用いてFaceWeightを算出する。例えば、信頼度が100%の顔領域では重みを0にして積分対象には加えず、信頼度が0%の顔領域は重みを1にして積分対象にする。ここでは、以下の式(19)によりFaceWeightを算出する。
FaceWeight[i] = -r[i] + 1
【0117】
ただし、rは顔領域iにおける信頼度である。
上記処理を全ブロックについて終了したかどうかを判断し(ステップS317)、全ブロック終了すると、積分した色平均値(SumR、SumG、SumB)を用いて以下の式(20)によりWB補正値を算出する(ステップS318)。
WBCo_R = sumY × 1024 /sumR
WBCo_G = sumY × 1024 /sumG …(20)
WBCo_B = sumY × 1024 /sumB
ただし、sumY = (sumR + 2 × sumG + sumB) / 4
【0118】
上記のようにWB補正値を算出することで、白と判断されたブロックが顔領域に含まれる場合には、顔情報の信頼度により重みをつけて色平均値を積分することができるため、顔領域の検出精度に応じたWB補正値を算出することが可能になる。
【0119】
上記では、顔検出部115により検出された顔の信頼度に応じて、第1のWB補正値と第2のWB補正値との重み付け合成を行っているが、以下のような構成であっても良い。
【0120】
撮影者によって、第2のWB補正値を用いる割合を設定することができる操作部材を撮像装置に設ける。操作部材は、例えば、0.1刻みで0〜1の間で設定することができるようになっている。例えば、0が設定された際は、第1のWB補正値のみを用いるようにCPU116が制御する。また、例えば、0.4が設定された際は、第1のWB補正値を6割、第2のWB補正値を4割用いて第3のWB補正値を算出するようにCPU116が制御する。また、1が設定された際は、第2のWB補正値のみを用いるようにCPU116が制御する。
【0121】
<変形例1>
上記第1乃至第3の実施形態では、図3の不図示のシャッタースイッチの半押し(SW1がON)されたときにステップS12で行われる測距・測光・測色処理で顔検出及びWB補正値の算出を行ったが、変形例1では、このタイミングで算出を行わず、シャッタースイッチの全押し(SW2がON)によりステップS15の撮影処理を行うときに、撮影して得られた画像信号を用いて、図5のステップS36で画像信号を色処理するタイミングで、顔検出及び第1〜第3のWB補正値の算出及びWB補正を共に行う。
【0122】
<変形例2>
図3の不図示のシャッタースイッチの半押し(SW1がON)されたときに顔検出及び第2のWB補正値の算出のみを行い、シャッタースイッチの全押し(SW2がON)に応じてステップS15の撮影処理を行うときに、撮影して得られた画像信号を用いて、図5のステップS36の画像信号を色処理するタイミングで、第1及び第3のWB補正値の算出及びWB補正を行う。
【0123】
<変形例3>
次に、変形例3について説明する。
【0124】
変形例3では、シーン変化に応じて顔検出及びWB補正値の算出のタイミングを変更する。以下、図20及び図21を参照して説明する。
【0125】
図20は変形例3における撮像装置の撮像処理を示すフローチャートである。まずステップS41において、撮像素子101から電荷信号を読み出し、OB回路102で黒引き処理を行って得た画像信号を、メモリ103に逐次書き込む。次にステップS42において、メモリ103に書き込まれた画像信号を用いて、第1〜第3の実施形態で上述したいずれかの方法を用いて、顔検出及びWB補正値の算出を行う。なお、第1及び第2の実施形態の方法では、ここで言うWB補正値は、第1〜第3のWB補正値のことである。
【0126】
次に、ステップS43において、メモリ103に書き込まれた画像信号を用いて、不図示の表示装置に公知のスルー表示処理を行う。ステップS44では不図示のシャッタースイッチの半押し(SW1がON)が行われたかどうかを判断し、行われていなければステップS41に進み、行われていればステップS45に進んで、変形例3に係る測距・測光・測色処理を行う。これ以降の処理は上記第1の実施形態で図3を参照して説明したステップS13以降の処理と同様であるため、ここでは説明を省略する。
【0127】
次に、ステップS45で行われる測距・測光・測色処理について図21を参照して説明するが、図4と同じ処理には同じ参照番号を付して説明を省略する。変形例3における測距・測光・測色処理では、ホワイトバランスの状態を確認する前に、ステップS21で読み込んだ画像と、図20でシャッタースイッチの半押し(SW1がON)の前にスルー表示のために読み込んだ画像とを比較し、シーン変化があったかどうかを判断する(ステップS51)。この判断は、例えば、ステップS21で読み込んだ画像とスルー画像との差分の和を算出し、それが所定値を超えた場合にシーン変化があったと判断する。
【0128】
判断の結果、シーン変化があった場合にはステップS26に進んでホワイトバランスの状態及びWB補正値の算出を再び行い、シーン変化が無い場合には、図20のステップS42で算出したWB補正値を用いるようにして、ステップS26及びS27の処理をスキップする。
【0129】
このようにすることで、シーンに変化が無い場合には測距・測光・測色処理にかかる時間を短縮することができるので、レリーズタイムラグを短くすることが可能になる。
【0130】
<変形例4>
スルー表示中に顔検出及び第2のWB補正値を算出しておき、シャッタースイッチの半押し(SW1がON)後の測距・測光・測色処理で第1及び第3のWB補正値を算出する。
【0131】
<変形例5>
スルー表示中に顔検出を算出しておき、シャッタースイッチの半押し(SW1がON)後の測距・測光・測色処理でWB補正値を算出する。
【0132】
<変形例6>
スルー表示中に顔検出を算出しておき、シャッタースイッチの半押し(SW1がON)後の測距・測光・測色処理で第2のWB補正値を算出し、更に、シャッタースイッチの全押し(SW2がON)後の色処理で第1及び第3のWB補正値を算出する。
【0133】
<変形例7>
シャッタースイッチの半押し(SW1がON)後の測距・測光・測色処理で顔検出を行い、シャッタースイッチの全押し(SW2がON)後の色処理でWB補正値を算出する。
【0134】
このように、顔検出及びWB補正値の算出のタイミングは、適宜変更することが可能である。
【0135】
<他の実施形態>
なお、本発明は、撮影した画像信号そのままの信号(RAW画像データ)またはRAW画像データを可逆圧縮してされた画像データを入力し、処理する画像処理装置においても実行することが可能である。
【0136】
その場合、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。ここでプログラムコードを記憶する記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、ROM、RAM、磁気テープ、不揮発性のメモリカード、CD−ROM、CD−R、DVD、光ディスク、光磁気ディスク、MOなどが考えられる。また、LAN(ローカル・エリア・ネットワーク)やWAN(ワイド・エリア・ネットワーク)などのコンピュータネットワークを、プログラムコードを供給するために用いることができる。
【0137】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【0138】
【図1】本発明の第1の実施形態における顔検出機能を備えた撮像装置の機能構成を示す概略ブロック図である。
【図2】本発明の第1の実施形態における顔情報を説明するための図である。
【図3】本発明の第1の実施形態における撮像処理を説明するためのフローチャートである。
【図4】本発明の第1の実施形態における測距・測光・測色処理を説明するためのフローチャートである。
【図5】本発明の第1の実施形態における撮影処理を説明するためのフローチャートである。
【図6】本発明の第1の実施形態における記録処理を説明するためのフローチャートである。
【図7】本発明の第1の実施形態におけるWB制御部の詳細機能構成を示すブロック図である。
【図8】本発明の第1の実施形態における第1のWB補正値の算出処理を示すフローチャートである。
【図9】本発明の第1の実施形態における第2のWB補正値の算出処理を示すフローチャートである。
【図10】本発明の第1の実施形態における第3のWB補正値の算出処理を示すフローチャートである。
【図11】本発明の第1の実施形態における白検出範囲及び予め用意したWB補正値に対応する色評価値の例を示した図である。
【図12】本発明の第1の実施形態における肌色色相範囲を示した図である。
【図13】本発明の第1の実施形態における複数の顔領域が検出された場合の第2のWB補正値の算出処理を示すフローチャートである。
【図14】本発明の第1の実施形態における加重加算係数を算出するための特性を示す図である。
【図15】本発明の第1の実施形態における加重加算係数を算出するための特性を示す図である。
【図16】本発明の第2の実施形態における第2のWB補正値の算出処理を示すフローチャートである。
【図17】本発明の第2の実施形態における肌色評価値−白評価値対応直線を示した図である。
【図18】本発明の第3の実施形態におけるWB制御部の機能構成を示すブロック図である。
【図19】本発明の第3の実施形態におけるWB補正値の算出処理を示すフローチャートである。
【図20】本発明の変形例3における撮像処理を説明するためのフローチャートである。
【図21】本発明の変形例3における測距・測光・測色処理を説明するためのフローチャートである。
【図22】画面を任意の複数ブロックに分割した例を示す図である。
【図23】白検出範囲を示す図である。
【図24】被写体として顔のアップを撮影した例を示す図である。
【図25】従来の顔領域を白検出の対象から外す例を説明する図である。
【符号の説明】
【0139】
101 CCD撮像素子
102 OB回路
103 メモリ
104 WB回路
105 色変換MTX回路
106 LPF回路
107 CSUP回路
108 RGB変換回路
109 ガンマ補正回路
110 色輝度変換回路
111 圧縮回路
112 Y生成回路
113 エッジ強調回路
114 シャッター・絞り・フォーカスレンズ制御回路
115 顔検出部
116 CPU
201、207 スイッチ
202 第1WB補正値算出部
203 第2WB補正値算出部
204 第3WB補正値算出部
205 第1WB補正値保持部
206 第2WB補正値保持部
208 WB補正部
401 重み付け決定部
402 WB補正値算出部
403 WB補正部

【特許請求の範囲】
【請求項1】
被写体を撮像し、得られた画像信号を処理する撮像装置であって、
前記画像信号から顔領域を検出する顔検出手段と、
前記画像信号の内、白色と判定された画像信号、及び前記顔検出手段の検出結果とに基づき、ホワイトバランス補正を行うホワイトバランス補正手段と、
前記ホワイトバランス補正における、前記顔検出手段の検出結果に基づく度合を変更するように制御する制御手段とを有し、
前記ホワイトバランス補正における、前記顔検出手段の検出結果に基づく度合は、前記画像信号の内、顔領域の画像信号が白色であると判定することに基づくホワイトバランス補正の不具合を抑制する度合であることを特徴とする撮像装置。
【請求項2】
前記ホワイトバランス補正手段は、第1の一画面分の画像信号の内、白色と判定された画像信号から第1のホワイトバランス補正値を算出する第1の算出手段と、前記顔検出手段による検出結果を用いて、第2の一画面分の画像信号から第2のホワイトバランス補正値を算出する第2の算出手段と、前記第1のホワイトバランス補正値と前記第2のホワイトバランス補正値とに基づき、前記第3のホワイトバランス補正値を算出する第3の算出手段とを有し、前記第3の補正値を用いてホワイトバランス補正を行い、
前記第2のホワイトバランス補正値に基づくホワイトバランス補正は、前記画像信号の内、顔領域の画像信号が白色であると判定することに基づくホワイトバランス補正の不具合が抑制されるホワイトバランス補正であり、
前記制御手段は、前記第3のホワイトバランス補正値を算出する際の、前記第1のホワイトバランス補正値を用いる割合と、第2のホワイトバランス補正値を用いる割合とを変更するように制御することによって、前記画像信号の内、顔領域の画像信号が白色であると判定することに基づくホワイトバランス補正の不具合を抑制する度合を変更することを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記ホワイトバランス補正手段は、一画面分の画像信号の内、白色と判定された画像信号に基づき前記ホワイトバランス補正値を算出し、前記ホワイトバランス補正値を用いてホワイトバランス補正を行い、前記制御手段は、前記ホワイトバランス補正値を算出する際の、前記顔検出手段によって検出された前記顔領域の画像信号の内、白色と判定された画像信号を用いる度合を変更するように制御することによって、前記画像信号の内、顔領域の画像信号が白色であると判定することに基づくホワイトバランス補正の不具合を抑制する度合を変更することを特徴とする請求項1に記載の撮像装置。
【請求項4】
前記制御手段は、前記顔領域の属性情報を用いて、前記ホワイトバランス補正における、前記顔検出手段の検出結果に基づく度合を変更するように制御することを特徴とする請求項1乃至3のいずれか1項に記載の撮像装置。
【請求項5】
前記属性情報は、顔以外のものを顔であると誤検出していないことの信頼性を示す信頼度、前記顔領域の大きさ、及び前記顔領域の被写体内の位置の少なくとも一つを含むことを特徴とする請求項4に記載の撮像装置。
【請求項6】
被写体を撮影し、得られた画像信号を処理する撮像装置であって、
前記画像信号から顔領域を検出し、該検出した顔領域の属性情報を取得する顔検出手段と、
前記画像信号の内、白色と判定された画像信号を用いて第1のホワイトバランス補正値を算出する第1の算出手段と、
前記画像信号の内、前記顔検出手段により検出された前記顔領域の画像信号を用いて第2のホワイトバランス補正値を算出する第2の算出手段と、
前記第1のホワイトバランス補正値と、前記第2のホワイトバランス補正値とを、前記顔検出手段により取得した前記属性情報に基づいて重み付け合成を行って、第3のホワイトバランス補正値を算出する第3の算出手段と、
前記第3のホワイトバランス補正値を用いて、ホワイトバランス補正を行うホワイトバランス補正手段と
を有することを特徴とする撮像装置。
【請求項7】
前記第2の算出手段は、前記顔検出手段により検出された各顔領域毎に、予め設定された複数の固定ホワイトバランス補正値を用いて各顔領域に含まれる画像信号を補正して複数の補正画像信号を算出し、該複数の補正画像信号の内、所定範囲内にある補正画像信号を算出する時に用いた固定ホワイトバランス補正値を平均して各顔領域のホワイトバランス補正値を算出し、前記顔検出手段により検出された顔領域が1つの場合には、当該ホワイトバランス補正値を第2のホワイトバランス補正値とすることを特徴とする請求項6に記載の撮像装置。
【請求項8】
前記第2の算出手段は、前記顔検出手段により検出された各顔領域毎に、各顔領域に含まれる画像信号から色評価値を算出し、該算出した色評価値を対応する白色の色評価値に変換し、当該変換した色評価値からホワイトバランス補正値を算出し、前記顔検出手段により検出された顔領域が1つの場合には、当該ホワイトバランス補正値を第2のホワイトバランス補正値とすることを特徴とする請求項6に記載の撮像装置。
【請求項9】
前記顔検出手段は、前記属性情報として、検出した各顔領域毎に信頼度、領域の大きさ、及び領域の中心位置のいずれかを少なくとも取得し、
前記顔検出手段が複数の顔領域を検出した場合に、前記第2の算出手段は、各顔領域の信頼度、中心位置、及び大きさの少なくともいずれか1つに応じて、各顔領域毎に算出したホワイトバランス補正値を加重平均して前記第2のホワイトバランス補正値を算出することを特徴とする請求項6乃至8のいずれかに記載の撮像装置。
【請求項10】
前記第2の算出手段は、前記信頼度がより高い顔領域、前記重心の位置が画像の中心により近い位置にある顔領域、領域の大きさがより大きい顔領域に対して、より大きい重み付け値を設定することを特徴とする請求項9に記載の撮像装置。
【請求項11】
予め特定の被写体を登録し、記憶する登録手段を更に有し、
前記登録された被写体の色再現を最適にするモードが設定され、前記判断手段が複数の顔領域を検出した場合に、前記第2の算出手段は、前記登録された被写体の顔領域に対してより大きい重み付け値を設定することを特徴とする請求項6乃至8のいずれかに記載の撮像装置。
【請求項12】
前記顔検出手段は、前記属性情報として、検出した各顔領域毎の信頼度を少なくとも取得し、
前記第3の検出手段は、前記顔検出手段が複数の顔領域を検出した場合に、前記複数の顔領域それぞれの信頼度の平均に基づいて重み付け合成を行うことを特徴とする請求項6乃至11のいずれかに記載の撮像装置。
【請求項13】
前記第3の検出手段は、前記信頼度または信頼度の平均がより高い場合に、前記第2のホワイトバランス補正値の重み付けをより小さくすることを特徴とする請求項12に記載の撮像装置。
【請求項14】
被写体を撮影し、得られた画像信号を処理する撮像装置であって、
前記画像信号から顔領域を検出し、該検出した顔領域の属性情報を取得する顔検出手段と、
前記画像信号を分割した複数の分割領域毎に、各分割領域の画像信号が白色と判定された信号かどうか、各分割領域が顔領域に含まれるかどうか、及び前記属性情報に基づいて、各分割領域に対する重み付けを決定する重み付け決定手段と、
各分割領域毎に前記重み付け決定手段により決定した重み付けを用いて前記画像信号を加重加算した画像信号に基づいて、ホワイトバランス補正値を算出する算出手段と、
前記ホワイトバランス補正値を用いて、ホワイトバランス補正を行うホワイトバランス補正手段と
を有することを特徴とする撮像装置。
【請求項15】
前記重み付け決定手段は、前記白色判断手段により白色であると判断された分割領域が前記顔領域に含まれないと判断された場合に重み付け値を最大にし、前記所定色の領域に含まれると判断された場合に、前記属性情報に基づいて重み付けを決定することを特徴とする請求項14に記載の撮像装置。
【請求項16】
前記顔検出手段は、前記属性情報として、検出した各顔領域毎に信頼度、領域の大きさ、及び領域の中心位置のいずれかを少なくとも取得し、
前記顔検出手段が複数の顔領域を検出した場合に、前記重み付け決定手段は、前記信頼度がより高い顔領域、前記重心の位置が画像の中心により近い位置にある顔領域、領域の大きさがより大きい顔領域に対して、より大きい重み付け値を設定することを特徴とする請求項14または15に記載の撮像装置。
【請求項17】
被写体を撮像し、得られた画像信号を処理する撮像装置であって、
前記画像信号から顔領域を検出する顔検出手段と、
前記画像信号の内、白色と判定された画像信号を用いて第1のホワイトバランス補正値を算出する第1の算出手段と、
前記顔検出手段により検出結果を用いて、前記画像信号から第2のホワイトバランス補正値を算出する第2の算出手段と、
前記第1のホワイトバランス補正値と、前記第2のホワイトバランス補正値とを用いて第3のホワイトバランス補正値を算出する第3の算出手段と、
前記第3のホワイトバランス補正値を用いて、ホワイトバランス補正を行うホワイトバランス補正手段とを有し、
前記第2のホワイトバランス補正値に基づくホワイトバランス補正は、前記画像信号の内、顔領域の画像信号が白色であると判定することに基づくホワイトバランス補正の不具合が抑制されるホワイトバランス補正であることを特徴とする撮像装置。
【請求項18】
被写体を撮像し、得られた画像信号を処理する画像処理方法であって、
前記画像信号から顔領域を検出する顔検出ステップと、
前記画像信号の内、白色と判定された画像信号、及び前記顔検出手段の検出結果とに基づき、ホワイトバランス補正を行うホワイトバランス補正ステップと、
前記ホワイトバランス補正における、前記顔検出手段の検出結果に基づく度合を変更するように制御する制御ステップとを有し、
前記ホワイトバランス補正における前記顔検出ステップの検出結果に基づく度合は、前記画像信号の内、顔領域の画像信号が白色であると判定することに基づくホワイトバランス補正の不具合を抑制する度合であることを特徴とする画像処理方法。
【請求項19】
被写体を撮影して得られた画像信号を処理する画像処理方法であって、
前記画像信号から顔領域を検出し、該検出した顔領域の属性情報を取得する顔検出ステップと、
前記画像信号の内、白色と判定された画像信号を用いて第1のホワイトバランス補正値を算出する第1の算出ステップと、
前記画像信号の内、前記顔検出ステップで検出された前記顔領域の画像信号を用いて第2のホワイトバランス補正値を算出する第2の算出ステップと、
前記第1のホワイトバランス補正値と、前記第2のホワイトバランス補正値とを、前記顔検出ステップで取得した前記属性情報に基づいて重み付け合成を行って、第3のホワイトバランス補正値を算出する第3の算出ステップと、
前記第3のホワイトバランス補正値を用いて、ホワイトバランス補正を行うホワイトバランス補正ステップと
を有することを特徴とする画像処理方法。
【請求項20】
被写体を撮影して得られた画像信号を処理する画像処理方法であって、
前記画像信号から顔領域を検出し、該検出した顔領域の属性情報を取得する顔検出ステップと、
前記画像信号を分割した複数の分割領域毎に、各分割領域の画像信号が白色を示す信号かどうか、各分割領域が顔領域に含まれるかどうか、及び前記属性情報に基づいて、各分割領域に対する重み付けを決定する重み付け決定ステップと、
各分割領域毎に前記重み付け決定手段により決定した重み付けを用いて前記画像信号を加重加算した画像信号に基づいて、ホワイトバランス補正値を算出する算出する算出ステップと、
前記ホワイトバランス補正値を用いて、ホワイトバランス補正を行うホワイトバランス補正ステップと
を有することを特徴とする画像処理方法。
【請求項21】
被写体を撮像し、得られた画像信号を処理する画像処理方法であって、
前記画像信号から顔領域を検出する顔検出ステップと、
前記画像信号の内、白色と判定された画像信号を用いて第1のホワイトバランス補正値を算出する第1の算出ステップと、
前記顔検出ステップによる検出結果を用いて、前記画像信号から第2のホワイトバランス補正値を算出する第2の算出ステップと、
前記第1のホワイトバランス補正値と、前記第2のホワイトバランス補正値とを用いて第3のホワイトバランス補正値を算出する第3の算出ステップと、
前記第3のホワイトバランス補正値を用いて、ホワイトバランス補正を行うホワイトバランス補正ステップとを有し、
前記第2のホワイトバランス補正値に基づくホワイトバランス補正は、前記画像信号の内、前記顔領域の画像信号が白色であると判定することに基づくホワイトバランス補正の不具合が抑制されるホワイトバランス補正であることを特徴とする画像処理方法。
【請求項22】
請求項18乃至21のいずれか1項に記載の画像処理方法を実現するためのプログラムコードを有することを特徴とする情報処理装置が実行可能なプログラム。
【請求項23】
請求項22に記載のプログラムを記憶したことを特徴とする情報処理装置が読み取り可能な記憶媒体。

【図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

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2006−352795(P2006−352795A)
【公開日】平成18年12月28日(2006.12.28)
【国際特許分類】
【出願番号】特願2005−179645(P2005−179645)
【出願日】平成17年6月20日(2005.6.20)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】