(57)【要約】【課題】画像処理装置および方法において、光源推定の精度を向上させ、安定したホワイトバランス補正をおこなう。【解決手段】特定被写体検出部６６が、与えられた画像データから特定の色を有する特定被写体を検出し、特定色度算出部７９が、特定被写体の特定の色を表すデータから特定色度を算出し、基準色度から算出された特定色度に近似する基準色度を決定し、色度差情報算出部１０６が、決定された基準色度から算出された特定色度までの色度差を表す一つ以上の色度差情報を算出し、白色色度補正部１０７により白色色度データに基づいて、決定された基準色度に対応する一つ以上の白色色度を求め、求められた白色色度を前記一つ以上の色度差情報を参照することにより補正する。【選択図】図４
2011078137.tif 000002
【特許請求の範囲】
【請求項１】
入力される画像データから特定の色を有する特定被写体を検出する特定被写体検出部と、
該特定被写体の特定の色を表すデータから特定色度を算出する特定色度算出部と、
各種光源と該光源下で撮像された複数の基準色度との対応関係を参照する基準色度参照部と、
前記算出された特定色度から、前記複数の基準色度の色度点のうち最も近い距離に位置する色度点を前記基準色度として決定し、該決定された基準色度に対応する基準光源を選択する基準光源選択部と、
前記選択された基準光源に対応する白色色度を求め、該白色色度に基づいてホワイトバランス補正するホワイトバランス補正部とを備えたものであることを特徴とする画像処理装置。
【請求項２】
前記複数の基準色度が、特定の色に関する黒体軌跡上の複数の色度点および一つ以上の特殊光源下における色度点であるものであることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記特定色度算出部が、前記特定被写体の複数の領域に分割し、該分割された領域毎の色度点を算出し、該色度点の色度空間における分布において所定の密度以上に分布する複数の前記色度点の平均値を前記特定色度として算出するものであることを特徴とする請求項１または２記載の画像処理装置。
【請求項４】
前記特定色度算出部が、前記領域毎の代表輝度値を算出し、算出された代表輝度値の大きさに基づいて重み係数を設定し、該設定された重み係数により前記所定の密度以上に分布する複数の色度点を重み付けするものであることを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記基準光源選択部が、更に、前記決定された基準色度の次に近い距離に位置する色度点を第二の基準色度として決定し、該第二の基準色度に対応する第二の基準光源を選択し、
前記色度差情報算出部が、前記決定された基準色度から前記算出された特定色度までの色度差である第一の色度差情報、および前記第二の基準色度から前記算出された特定色度までの色度差である第二の色度差情報を算出し、
前記白色色度補正部が、前記選択された基準光源に対応する第一の白色色度、および前記第二の基準光源に対応する第二の白色色度を決定し、続いて
前記第一の色度差情報および前記第二の色度差情報により
前記第一白色色度および前記第二の白色色度を重み付けすることにより補正するものであることを特徴とする請求項１から４いずれかに記載の画像処理装置。
【請求項６】
前記特定被写体が顔であり、前記特定被写体検出部が顔領域らしさを示す評価値に基づいて、顔を検出するものであることを特徴とする請求項１から５いずれかに記載の画像処理装置。
【請求項７】
前記特定の色は、肌色であることを特徴とする請求項１から６いずれかに記載の画像処理装置。
【請求項８】
入力される画像データから特定の色を有する特定被写体を表す画像データ部分を検出し、
該画像データ部分の特定の色を表すデータから特定色度を算出し、
各種光源と該光源下で撮像された複数の基準色度との対応関係を参照し、
前記算出された特定色度から、前記複数の基準色度の色度点のうち最も近い距離に位置する色度点を前記基準色度として決定し、該決定された基準色度に対応する基準光源を選択し、
該選択された基準光源に対応する白色色度を求め、該白色色度に基づいてホワイトバランス補正することを特徴とする画像処理方法。
【請求項９】
コンピュータに、
入力される画像データから特定の色を有する特定被写体を表す画像データ部分を検出し、
該画像データ部分の特定の色を表すデータから特定色度を算出する機能と、
各種光源と該光源下で撮像された複数の基準色度との対応関係を参照する機能と、
前記算出された特定色度から、前記複数の基準色度の色度点のうち最も近い距離に位置する色度点を前記基準色度として決定し、該決定された基準色度に対応する基準光源を選択する機能と、
該選択された基準光源に対応する白色色度を求め、該白色色度に基づいてホワイトバランス補正する機能を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および方法ならびに画像処理プログラムに関し、特に、与えられた画像データに基づいて光源推定を利用し白色色度を補正する装置および方法ならびにプログラムに関する。
【背景技術】
【０００２】
近年、顔を検出する技術を利用して、顔を含む被写体のカラー画像のホワイトバランス補正処理等の画像処理をコンピュータによりおこなうことが提案されている。
【０００３】
デジタルカメラによって撮像された画像データの撮像環境は必ずしも一様ではない。例えば、画像データは、昼光や蛍光灯、タングステン光等の様々な撮像光源下で撮像されて得られる。従って、撮像された画像データに対し、何ら画像処理を施すことなく、画面上に画像を表示すると光源に基づく色味が反映されてしまうことがある。
【０００４】
そこで、撮像光源の影響に左右されることなく、適切な画像データを得るためホワイトバランス補正処理を施すことが知られている。
【０００５】
特許文献１には、画像中の顔や肌の部分などの特定被写体を検出し、その部分における色分布を色分布計算部により計算し、参照色分布記憶部に記憶されている各光源下で撮影された肌色の分布とを比較して、光源判定部により撮影の際の光源を判定し、対象物体のその光源下での色を標準光源下での対応する色に変換することによって色を補正する画像処理を行うコンピュータについて開示されている。
【特許文献１】特開平１１−２８３０２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の顔などの特定被写体の検出を行う画像処理回路を備えたコンピュータ（特許文献１）では、顔の色度と各光源下での既知の肌色度との単純な比較に基づいて撮影の際の光源を推定するため、光源推定における精度が低いという問題があった。
【０００７】
本発明は上記事情に鑑みなされたものであり、より安定したホワイトバランス補正をおこなうことが可能な画像処理装置および方法並びにプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
本発明の画像処理装置は、与えられた画像データから特定の色を有する特定被写体を検出する特定被写体検出部と、特定被写体の特定の色を表すデータから特定色度を算出する特定色度算出部と、各種光源と該光源下で撮像された複数の基準色度との対応関係を参照する基準色度参照部と、算出された特定色度から、複数の基準色度の色度点のうち最も近い距離に位置する色度点を基準色度として決定し、決定された基準色度に対応する基準光源を選択する基準光源選択部と、選択された基準光源に対応する白色色度を求め、この白色色度に基づいてホワイトバランス補正するホワイトバランス補正部とを備えたものであることを特徴とするものである。
【０００９】
本発明の画像処理方法は、与えられた画像データから特定の色を有する特定被写体を表す画像データ部分を検出し、画像データ部分の特定の色を表すデータから特定色度を算出し、各種光源と該光源下で撮像された複数の基準色度との対応関係を参照し、算出された特定色度から、複数の基準色度の色度点のうち最も近い距離に位置する色度点を基準色度として決定し、決定された基準色度に対応する基準光源を選択し、選択された基準光源に対応する白色色度を求め、この白色色度に基づいてホワイトバランス補正することを特徴とするものである。
【００１０】
本発明のプログラムは、与えられた画像データから特定の色を有する特定被写体を表す画像データ部分を検出し、画像データ部分の特定の色を表すデータから特定色度を算出する機能と、各種光源と該光源下で撮像された複数の基準色度との対応関係を参照する機能と、算出された特定色度から、複数の基準色度の色度点のうち最も近い距離に位置する色度点を基準色度として決定し、決定された基準色度に対応する基準光源を選択する機能と、選択された基準光源に対応する白色色度を求め、この白色色度に基づいてホワイトバランス補正する機能とを有することを特徴とするものである。
【００１１】
ここで「特定被写体」とは、画像データに含まれる特定の被写体を表す部分的な画像領域で、画像データによって表される画像中に含まれる特定の構造、形状、色等を持つ画像領域を意味する。特定の被写体としては、例えば、人物の顔、胴体、手、足の他、人物以外の動物の顔、などを表す画像が挙げられる。
【００１２】
また「特定被写体検出部」は、画像処理装置の一部であり、特定被写体らしさを示す評価値である位置、大きさ、向き、傾き、彩度、色相などに基づいて特定被写体を自動的に検出するものである。
【００１３】
「特定色度」とは、特定被写体から算出された特定の色に関する色度値を意味する。例えば、特定被写体から算出された肌色に関する色度値である肌色度値であってもよい。
【００１４】
「特定色度算出部」は、色度値を算出するものであり、例えば、特定被写体の複数の領域に分割し、分割された領域毎の色度点を算出し、色度点の色度空間における分布において所定の密度以上に分布する複数の色度点の平均値を特定色度として算出する。さらに領域毎の代表輝度値を算出し、算出された代表輝度値の大きさに基づいて重み係数を設定し、設定された重み係数により所定の密度以上に分布する複数の色度点を重み付けすることで、特定色度を算出するようにしてもよい。
【００１５】
「基準光源選択部」は、与えられた画像データが、いかなる光源下で撮像されたものであるか推定するもので、例えば、算出された特定色度から、前記複数の基準色度の色度点のうち最も近い距離に位置する色度点を基準色度として決定することにより、推定するものである。さらに、次に近い距離に位置する色度点を第二の基準色度として決定することにより、光源を推定するものであってもよい。
【００１６】
「決定された基準色度」とは、算出された特定色度から、複数の基準色度の色度点のうち近似する色度点を基準色度として決定されたもので、例えば、黒体軌跡上の複数の色度点までの距離と特殊光源下における少なくとも一つ以上の色度点までの距離との比較において、最も近い距離に位置する色度点である基準色度である。また最も近い距離の色度点の次に近い距離に位置する色度点である第二の基準色度であってもよい。
【００１７】
「白色色度」とは、画像データから算出される無彩色に関する色度値を意味する。例えば、選択された基準光源に対応する第一の白色色度、および選択された基準光源に対応する第二の白色色度により構成されていてもよい。
【発明の効果】
【００１８】
本発明の画像処理装置および方法並びにプログラムによれば、与えられた画像データから特定被写体を検出し、検出された特定被写体から特定色度を算出し、算出された特定色度に基づき、与えられた画像データがいかなる光源下で撮像されたかを推定し、推定された光源に対応する基準色色度と算出された特定色度との色度差に基づき、白色色度を補正するので、検出した顔の特定色度と各光源下での既知の特定色度との比較により光源推定を行う従来技術よりも、ホワイトバランス補正のためのゲイン係数として利用される白色色度を適切に補正させることが可能となる。
【００１９】
さらに、本発明は、決定された基準色度に対応する基準光源を複数選択する際、ミックス（複数）光源下の場合であっても、白色色度を適切に補正させることが可能となる。
【図面の簡単な説明】
【００２０】
【図１】デジタルカメラの背面図
【図２】デジタルカメラの前面図
【図３】デジタルカメラの機能ブロック図
【図４】第一の実施形態に関する機能ブロック図
【図５】第一の実施形態に関する処理フローチャート
【図６】デジタルカメラのモニタ表示の一実施例を示す図
【図７】画像データを分割した図
【図８】肌に関する色度点のプロットを表す模式図
【図９】基準肌色度データを表す模式図
【図１０】白色色度を補正するまでを表す模式図（その１）
【図１１】肌色度の分布密度を表すヒストグラム
【図１２】白色色度データを表す図
【図１３】白色色度を補正するまでを表す模式図（その２）
【図１４】第二の実施形態に関する機能ブロック図
【図１５】第二の実施形態に関する色度差情報を表す模式図
【図１６】第二の実施形態に関する処理フローチャート
【図１７】第三の実施形態に関する機能ブロック図
【図１８】第三の実施形態に関する色度差情報を表す模式図
【図１９】第三の実施形態に関する処理フローチャート（その１）
【図２０】第三の実施形態に関する処理フローチャート（その２）
【図２１】第四の実施形態に関する機能ブロック図
【図２２】第四の実施形態に関する処理フローチャート（その１）
【図２３】肌に関する色度点の有効領域等を表す模式図
【図２４】顔エリアとフラッシュ割合算出エリアを表す模式図（その１）
【図２５】輝度重み係数と光に関する割合値との関係を表す模式図
【図２６】顔エリアとフラッシュ割合算出エリアを表す模式図（その２）
【発明を実施するための形態】
【００２１】
本発明の画像処理装置における実施の形態について、以下、詳細に説明する。実施の形態では、本発明における画像処理装置としてデジタルカメラを例に説明するが、本発明の適用範囲はこれに限定されず、例えば、パーソナルコンピュータ、プリンタ、電子撮像機能を備えた他の電子機器に対しても適用可能である。
【００２２】
図１及び図２は、デジタルカメラの一例を示すものであり、それぞれ背面側及び前面側から見た外観図である。デジタルカメラ１の本体１０の背面には、図１に示す如く、撮像者による操作のためのインターフェースとして、動作モードスイッチ１１、メニュー／ＯＫボタン１２、ズーム／上下レバー１３、左右ボタン１４、Ｂａｃｋ（戻る）ボタン１５、表示切替ボタン１６が設けられ、更に撮影のためのファインダ１７、撮影並びに再生のためのモニタ１８及びレリーズボタン１９が設けられている。
【００２３】
動作モードスイッチ１１は、静止画撮影モード、動画撮影モード、再生モード、の各動作モードを切り替えるためのスライドスイッチである。メニュー／ＯＫボタン１２は、押下される毎に撮影モード、フラッシュ発光モード、被写体追跡モード及び被写体特定モード、セルフタイマーＯＮ／ＯＦＦ、記録画素数や感度等の設定を行うための各種メニューをモニタ１８に表示させたり、モニタ１８に表示されたメニューに基づく選択・設定を決定したりするためのボタンである。
【００２４】
被写体追跡モードは、動く被写体を撮像するときに被写体を追跡し、追跡した被写体に対して最適な撮像条件で撮像を行うものであり、このモードが選択されると、後述の枠表示部７８が起動される。
【００２５】
ズーム／上下レバー１３は、上下方向に倒すことによって、撮影時には望遠／広角の調整が行われ、各種設定時にはモニタ１８に表示されるメニュー画面中のカーソルが上下に移動して表示される。左右ボタン１４は、各種設定時にモニタ１８に表示されるメニュー画面中のカーソルを左右に移動して表示させるためのボタンである。
【００２６】
Ｂａｃｋ（戻る）ボタン１５は、押下されることによって各種設定操作を中止し、モニタ１８に１つ前の画面を表示するためのボタンである。表示切替ボタン１６は、押下することによってモニタ１８の表示のＯＮ／ＯＦＦ、各種ガイド表示、文字表示のＯＮ／ＯＦＦ等を切り替えるためのボタンである。ファインダ１７は、ユーザが被写体を撮像する際に構図やピントを合わせるために覗くためのものである。ファインダ１７から見える被写体像は、本体１０の前面にあるファインダ窓２３を介して映し出される。
【００２７】
レリーズボタン１９は、半押し及び全押しの二段階操作が可能な操作ボタンであり、レリーズボタン１９を押下すると、後述の操作系制御部７４を介して半押し信号又は全押し信号をＣＰＵ７５へ出力する。
【００２８】
以上説明した各ボタンやレバー等の操作によって設定された内容は、モニタ１８中の表示や、ファインダ１７内のランプ、スライドレバーの位置等によって確認可能となっている。また、モニタ１８には、撮影の際に被写体確認用のスルー画像が表示される。これにより、モニタ１８は電子ビューファインダとして機能する他、撮影後の静止画や動画の再生表示、各種設定メニューの表示を行う。ユーザによってレリーズボタン１９が全押し操作されると、撮像が行われ、光源推定部６７及びホワイトバランス（以下、ＷＢという）算出部６３等によって出力されたデータに基づいて、モニタ１８に表示された画像が撮影画像として記録される。
【００２９】
更に、本体１０の前面には、図２に示す如く、撮影レンズ２０、レンズカバー２１、電源スイッチ２２、ファインダ窓２３、フラッシュライト２４及びセルフタイマーランプ２５が設けられ、側面にはメディアスロット２６が設けられている。
【００３０】
撮影レンズ２０は、被写体像を所定の結像面上（本体１０内部にあるＣＣＤ等）に結像させるためのものであり、フォーカスレンズやズームレンズ等によって構成される。レンズカバー２１は、デジタルカメラ１の電源がオフ状態のとき、再生モードであるとき等に撮影レンズ２０の表面を覆い、汚れやゴミ等から撮影レンズ２０を保護するものである。
【００３１】
電源スイッチ２２は、デジタルカメラ１の電源のオン／オフを切り替えるためのスイッチである。フラッシュライト２４は、レリーズボタン１９が押下され、本体１０の内部にあるシャッタが開いている間に、撮像に必要な光を被写体に対して瞬間的に照射するためのものである。セルフタイマーランプ２５は、セルフタイマーによって撮像する際に、シャッタの開閉タイミングすなわち露光の開始及び終了を被写体に知らせるためのものである。メディアスロット２６は、メモリカード等の外部記録メディア７０が充填されるための充填口であり、外部記録メディア７０が充填されると、データの読み取り／書き込みが行われる。
【００３２】
図３は、デジタルカメラ１の機能構成を示すブロック図を示す。図３に示す如く、デジタルカメラ１の操作系として、前述の動作モードスイッチ１１、メニュー／ＯＫボタン１２、ズーム／上下レバー１３、左右ボタン１４、Ｂａｃｋ（戻り）ボタン１５、表示切替ボタン１６、レリーズボタン１９、電源スイッチ２２と、これらのスイッチ、ボタン、レバー類の操作内容をＣＰＵ７５に伝えるためのインターフェースである操作系制御部７４が設けられている。
【００３３】
また、撮影レンズ２０を構成するものとして、フォーカスレンズ２０ａ及びズームレンズ２０ｂが設けられている。これらの各レンズは、モータとモータドライバからなるフォーカスレンズ駆動部５１、ズームレンズ駆動部５２によってステップ駆動され、光軸方向に移動可能な構成となっている。フォーカスレンズ駆動部５１は、ＡＦ処理部６２から出力されるフォーカス駆動量データに基づいてフォーカスレンズ２０ａをステップ駆動する。ズームレンズ駆動部５２は、ズーム／上下レバー１３の操作量データに基づいてズームレンズ２０ｂのステップ駆動を制御する。
【００３４】
絞り５４は、モータとモータドライバとからなる絞り駆動部５５によって駆動される。
【００３５】
シャッタ５６は、メカニカルシャッタであり、モータとモータドライバとからなるシャッタ駆動部５７によって駆動される。シャッタ駆動部５７は、レリーズボタン１９の押下信号等に応じてシャッタ５６の開閉の制御を行う。
【００３６】
上記光学系の後方には、撮像素子であるＣＣＤ５８を有している。ＣＣＤ５８は、多数の受光素子がマトリクス状に配置されてなる光電面を有しており、光学系を通過した被写体像が光電面に結像され、光電変換される。光電面の前方には、各画素に光を集光させるためのマイクロレンズアレイ（不図示）と、ＲＧＢ各色のフィルタが規則的に配列されてなるカラーフィルタアレイ（不図示）とが配置されている。ＣＣＤ５８は、ＣＣＤ制御部５９から供給される垂直転送クロック信号及び水平転送クロック信号に同期して、画素毎に蓄積された電荷を１ラインずつ読み出して画像信号として出力する。各画素における電荷の蓄積時間（即ち露出時間）は、ＣＣＤ制御部５９から与えられる電子シャッタ駆動信号によって決定される。
【００３７】
ＣＣＤ５８が出力する画像像信号は、アナログ信号処理部６０に入力される。このアナログ信号処理部６０は、画像信号のノイズ除去を行う相関２重サンプリング回路（ＣＤＳ）と、画像信号のゲイン調整を行うオートゲインコントローラ（ＡＧＣ）と、画像信号をデジタル画像データに変換するＡ／Ｄコンバータ（ＡＤＣ）とからなる。そしてデジタル画像データは、画素毎にＲＧＢの濃度値を持つＣＣＤ−ＲＡＷデータである。
【００３８】
タイミングジェネレータ７２は、タイミング信号を発生させるものであり、このタイミング信号がシャッタ駆動部５７、ＣＣＤ制御部５９、アナログ信号処理部６０に入力されて、レリーズボタン１９の操作と、シャッタ５６の開閉、ＣＣＤ５８の電荷取り込み、アナログ信号処理６０の処理の同期が取られる。フラッシュ制御部７３は、フラッシュライト２４の発光動作を制御する。
【００３９】
画像入力コントローラ６１は、上記アナログ信号処理部６０から入力されたＣＣＤ−ＲＡＷデータをフレームメモリ６８に書き込む。このフレームメモリ６８は、画像データに対して後述の各種デジタル画像処理（信号処理）を行う際に使用する作業用メモリであり、例えば、一定周期のバスクロック信号に同期してデータ転送を行うＳＤＲＡＭ（Syncｈronous Dynamic Random Access Memory）から構成されている。また画像入力コントローラ６１は、画像データを撮影する際のフラッシュ発光する／しない指示等に応じて、本撮影する前に行われるプレ画像を作業用メモリに記録することも可能である。
【００４０】
プレ画像は、撮影条件を決定するための撮像（例えば、調光処理）によって得られる。
【００４１】
表示制御部７１は、フレームメモリ６８に格納された画像データをスルー画像としてモニタ１８に表示させるためのものであり、例えば、輝度（Ｙ）信号と色（Ｃ）信号を一緒にして１つの信号としたコンポジット信号に変換して、モニタ１８に出力する。スルー画像は、撮像モードが選択されている間、所定時間間隔で取得されてモニタ１８に表示される。また、表示制御部７１は、外部記録メディア７０に記憶され、メディア制御部６９によって読み出された画像ファイルに含まれる画像データに基づいた画像をモニタ１８に表示させる。
【００４２】
枠表示部７８は、表示制御部７１を介してモニタ１８に所定の大きさの枠を表示させるものである。ここで図６にモニタ１８の表示の一実施例を示す。枠表示部７８は、図６に示す如く、レリーズボタン１９が半押しされることで、後述の特定被写体検出部６６によって検出された特定被写体を囲む追跡枠Ｆ１〜Ｆ４を表示させる。追跡枠は、この検出された特定被写体の動きに追従して動いて表示され、例えば人物が遠方へ移動したときには、顔の大きさに合わせて枠は小さく表示され、近方へ移動したときには枠は大きく表示されるようにしてもよい。またレリーズボタンが半押しする前から特定被写体検出部６６により顔検出をしてもよく、かつ検出された顔に対して、枠表示部７８により追跡枠をモニタ１８に表示させてもよい。
【００４３】
画像処理部６４は、本画像の画像データに対してガンマ補正、シャープネス補正、コントラスト補正、色補正等の画質補正処理を施すと共に、ＣＣＤ−ＲＡＷデータを輝度信号であるＹデータと、青色色差信号であるＣｂデータ及び赤色色差信号であるＣｒデータとからなるＹＣデータに変換するＹＣ処理を行う。この本画像とは、レリーズボタン１９が全押しされることによってＣＣＤ５８から画像信号が出力され、アナログ信号処理部６０、画像入力コントローラ６１経由でフレームメモリ６８に格納された画像データに基づいた画像である。
【００４４】
本画像の画素数の上限はＣＣＤ５８の画素数によって決定されるが、例えば、ユーザが設定可能な画質設定（ファイン、ノーマル等の設定）により、記録画素数を変更することができる。一方、プレ画像の画素数は本画像より少なくてもよく、例えば、本画像の１／１６程度の画素数で取り込まれてもよい。
【００４５】
圧縮／伸長処理部６７は、画像処理部６４によって画質補正等の処理が行われた画像データに対して、例えばＪＰＥＧ等の圧縮形式で圧縮処理を行って、画像ファイルを生成する。この画像ファイルには、各種データ形式に基づいて付帯情報が付加される。またこの圧縮／伸長処理部６７は、再生モードにおいては外部記録メディア７０から圧縮された画像ファイルを読み出し、伸長処理を行う。伸長後の画像データは表示制御部７１に出力され、表示制御部７１は画像データに基づいた画像をモニタ１８に表示する。
【００４６】
メディア制御部６９は、図２におけるメディアスロット２６に相当し、外部記録メディア７０に記憶された画像ファイル等の読み出し、又は画像ファイルの書き込みを行う。ＣＰＵ７５は、各種ボタン、レバー、スイッチの操作や各機能ブロックからの信号に応じて、デジタルカメラ１の本体各部を制御する。またＣＰＵ７５は図示しない内部メモリに画像ファイルを記録する記録手段としても機能する。
【００４７】
またデータバス７６は、画像入力コントローラ６１、重み係数算出部６２、ＷＢゲイン算出部６３、画像処理部６４、圧縮／伸長処理部６５、特定被写体検出部６６、光源推定部６７、フレームメモリ６８、各種制御部６９、７１、８２、肌色度評価部７７、枠表示部７８、肌色度算出部７９、及びＣＰＵ７５、ＷＢゲイン合成部１１０、ＷＢ補正部１１２に接続されており、このデータバス７６を介して各種信号、データの送受信が行われる。
【００４８】
本発明の画像データにおける画素数の上限はＣＣＤ５８の画素数によって決定されるが、例えば、ユーザが設定可能な画質設定（ファイン、ノーマル等の設定）により、記録画素数を変更することができる。一方、スルー画像やプレ画像の画素数は本画像より少なくてもよく、例えば、本画像の１／１６程度の画素数で取り込まれてもよい。
【００４９】
手ブレ補正処理部８３は、撮像時に手ブレを起こすことで生じる撮像画像のブレを自動的に補正するものである。
【００５０】
メディア制御部（記録手段）６９は、図２におけるメディアスロット２６に相当し、外部記録メディア７０に記憶された画像ファイル等の読み出し、又は画像ファイルの書き込みを行う。ＣＰＵ７５は、各種ボタン、レバー、スイッチの操作や各機能ブロックからの信号に応じて、デジタルカメラ１の本体各部を制御する。またＣＰＵ７５は図示しない内部メモリに画像ファイルを記録する記録手段としても機能する。
【００５１】
なお、重み係数算出部６２、特定被写体検出部６６、光源推定部６７、肌色度評価部７７、肌色度算出部７９、ＷＢゲイン算出部６３、撮像条件制御部８２、ＷＢゲイン補正部１１２、ＷＢ補正部１１２については追って詳細に説明する。
【００５２】
次に、以上の構成のデジタルカメラ１において撮像後に行われるホワイトバランス補正をおこなうまでの画像処理について説明する。
【００５３】
＜第一の実施形態＞
図４は、第一の実施形態における、ホワイトバランス補正のためのＷＢゲイン係数を算出するまでについての電気的構成を示すブロック図である。
【００５４】
図４を構成する各回路は、画像入力コントローラ６１、特定被写体検出部６６、肌色度算出部７９、光源推定部６７、ＷＢゲイン算出部８０の５つから構成される。
【００５５】
特定被写体検出部６６は、画像入力コントローラ６１から読出された画像データによって表される被写体の中から特定被写体（例えば、顔領域）を検出し、検出した顔領域から得られるＲＧＢ値等を算出する。
【００５６】
肌色度算出部７９（色度算出部）は、顔領域の画像データから背景や顔の器官などのノイズ成分を除外し、Ｒ／ＧとＢ／Ｇ空間から特定の色の特定色度を算出する。好ましくは肌色の色度である肌色度を算出する。
【００５７】
光源推定部６７は、基準光源選択部１０５、肌色度差算出部１０６（色度差算出部）および白色色度算出部１０７から構成される。
【００５８】
まず、基準光源選択部１０５は、各種光源と光源下で撮像された特定の色を表す基準色度との対応関係を示す基準色度データ（複数の基準色度）を有しており、特定色度と色度データベースのデータとを比較し、既知の特定の色に関する色度の中で色成分特定色度と近似する特定色度点を基準色度として決定する。
【００５９】
また上述したデータベースは、基準光源選択部以外の回路に配置されていてもよい。また、デジタルカメラ１の外部に存在するデータベースまたは基準光源選択部以外の回路に存在するデータベースにアクセスする手段（基準色度参照部）を有していてもよい。
【００６０】
なお、好ましくは、上述したデータベースは、肌色に関するデータベースである。各種光源と光源下で撮像された基準肌色度との対応関係を示す基準肌色度データ（複数の基準色度）を有しており、肌色度と肌色度データベースのデータとを比較し、既知の肌色度の中で色成分が肌色度と近似する肌色点を基準肌色度として決定する。
【００６１】
肌色度差算出部１０６（色度差算出部）は、特定色度と決定された基準色度との色度差を算出する。好ましくは、肌色度と決定された基準肌色度との色度差を算出する。
【００６２】
白色色度算出部１０７は肌色の色度と白色の色度との対応関係を示す白色色度データを有しており、肌色度と決定された基準肌色度との色度差に基づいて白色色度を補正する。
【００６３】
ＷＢゲイン算出部８０は、白色色度算出部１０７によって補正された白色色度を用いて、ＷＢ補正部１１２でホワイトバランス補正を行うためのＷＢゲイン係数を算出する。
【００６４】
以下、画像入力コントローラ６１、特定被写体検出部６６、肌色度算出部６６、光源推定部６７、基準光源選択部１０５、肌色度差算出部１０６、白色色度算出部１０７、ＷＢゲイン算出部におけるそれぞれの処理を、図５から図１３を参照しつつ説明する。図５は、第一の実施形態におけるホワイトバランスのゲイン係数が算出されるまでの処理の流れを示すフローチャートである。
【００６５】
フローチャートのステップＳ１について説明する。特定被写体検出部６６は、画像入力コントローラ６１から読出された画像データによって表される被写体の中から特定被写体（例えば、顔領域）を検出し、検出した顔領域から得られるＲＧＢ値等を算出する（ステップＳ１）。
【００６６】
具体的には、顔領域を検出する際に顔領域らしさを示す評価値である位置、大きさ、向き、傾き、彩度、色相のうちいずれか一つに基づき顔領域を自動的に検出する処理を用いる。
【００６７】
例えば、特開２００６−２０２２７６号（以下、参考文献１という）の手法を用いることができる。参考文献１の手法は、顔の追跡は、動きベクトル、特徴点検出等の公知の手法や学習データに対してリサンプリングの際に重みを逐次的に更新していき，できた機械を最後に学習機械に対する重みをつけて足し合わせて統合学習機械をつくる手法であるＡｄａｂｏｏｓｔに基づいたマシンラーニング手法を利用するものであることが考えられる。例えば、平均フレームモデルを実際の顔画像に嵌め込み、平均フレームモデル上の各ランドマークの位置を、顔から検出された相対応するランドマークの位置に合致するように移動することによって平均フレームモデルを変形させて顔のフレームモデルを構築するのに際し、マシンラーニング手法により、所定のランドマークであることが分かっている複数のサンプル画像上の点における輝度プロファイルと、該ランドマークではないことが分かっている複数のサンプル画像上の点における輝度プロファイルとに対して学習を行って得た識別器および各識別器に対する識別条件を用いて、顔画像から当該ランドマークを示す点の位置を検出する手法である。
【００６８】
また、特開２００４−３３４８３６号（以下、参考文献２という）の手法を用いることも可能である。参考文献２の手法は、画像データから一定の大きさの画像データを切り出し、各切出画像データと特徴部分画像データの照合データとを比較して前記処理対象画像中に前記特徴部分画像が存在するか否かを検出する画像データの特徴部分抽出方法を使用する手法である。
【００６９】
なお、特開２００７−１１９７０号（以下、参考文献３という）の手法のように人物の顔領域以外に、動物の顔等を特定被写体として検出してもよい。
【００７０】
例えば、図６は家族の誕生日会を撮像した画像データ例である。Ｆ１〜Ｆ４は特定被写体検出部６６によって検出された顔を枠で示したものである。
【００７１】
次に、フローチャートのステップＳ２について説明する。肌色度算出部７９は、特定被写体検出部６６によって検出された顔領域から背景や顔の器官などの不要なノイズ成分を除外し、肌色度(Ｒ／Ｇ−Ｂ／Ｇ色空間)を算出する（ステップＳ２）。肌色度を算出する具体的手法としては、図７に示すように画像データをＭ×Ｍ(例えばＭ ＝ ８)の領域に分割する。各領域でＲＧＢ値のそれぞれの平均値を算出する。算出された各領域のＲＧＢ値から、Ｒ／ＧとＢ／Ｇ空間に領域毎の色度点をプロットする（図８参照）。顔領域の大部分は、肌に関する画素であることから、肌色度算出部７９は色度分布が密になっている部分が肌色度の候補と推測する。図８に示される有効領域は、プロットされた色度点の肌色度群を示すものである。図８に示すように、肌色度の候補が、一定の密度のもとに収束していることがわかる。
【００７２】
次に、上記の有効領域に存在する色度点に基づき、Ｒ／ＧとＢ／Ｇ空間毎のヒストグラムを算出する。図１１は、肌色度算出部７９によってプロットされた肌色度群をＲ／ＧとＢ／Ｇ空間毎に作成されたヒストグラム例である。頻度が閾値以上の範囲で囲まれる領域を肌色度候補領域として、その領域に含まれる肌色度分布を肌色度候補としている。
【００７３】
そして、顔領域に明暗のコントラストがあった場合、暗部は明部に比べて色度点に対する光源の影響が少ない可能性があるため、各領域の輝度値に応じて、輝度値が大きいほど重み付けを大きくし、肌色度候補の色度点の重み平均を肌色度として算出する。
【００７４】
次に、フローチャートのステップＳ３について説明する。基準光源選択部１０５は、各種光源と光源下で撮像された基準肌色度との対応関係を示す基準肌色度データを有しており、基準肌色度データは肌色軌跡と特殊光源１，２，３から構成される（図９参照）。
【００７５】
肌色軌跡は、光源の色温度が変化した場合の肌の色変化を示す黒体軌跡である。また特殊光源に関する肌色度（以下、特殊光源肌という）１、２、３は、黒体軌跡に対応する光源では表わせない特殊な光源下での肌色度である。特殊光源としては、例えば、蛍光灯や水銀灯などが挙げられる。
【００７６】
基準光源選択部１０５は、基準肌色度データから、算出された肌色度に近似する基準肌色度を算出する。例えば、算出された肌色度と予め求めてある各種光源下での既知の基準肌色度（基準肌色度データ）とを比較し、色空間上での距離が肌色度と最も近いものを基準肌色度として決定する（ステップＳ３）。距離というのは、例えばユークリッド距離またはマハラノビス距離等が挙げられる。
【００７７】
次に、フローチャートのステップＳ４について説明する。肌色度差算出部１０６は、色空間上における肌色度とステップＳ３にて決定された基準肌色度との色度差により色度差情報を算出する（ステップＳ４）。肌色度が肌色軌跡に最も近い場合に、算出された肌色度を(ＲＧ＿１、ＢＧ＿１)とし、決定された基準肌色度を(ＲＧ＿２、ＢＧ＿２)とする。それにより肌色度と決定された基準肌色度の色度差情報を算出することができる。図１０は、肌色軌跡と決定された基準肌色度、肌色度および後述する白色色度（補正前、補正後）の関係を示すものである。
【００７８】
なお、フローチャートのステップＳ５において、肌色度が特殊光源肌と最も近い関係にある場合がある。図１３は、特殊光源におけるＲ／ＧとＢ／Ｇ空間における肌と白色の色度点の関係を示している。肌色度と決定された基準肌色度をそれぞれ(ＲＧ＿１、ＢＧ＿１)、(ＲＧ＿２、ＢＧ＿２)とする。特殊光源肌の場合はそれに対応する白色色度は一点しかないため、その色度点を白色色度(ＲＧ＿３、ＢＧ＿３)とする。
【００７９】
次に、フローチャートのステップＳ５について説明する。白色色度算出部１０７は、肌色度と決定された基準肌色度との色度差に基づいて白色色度を算出する。白色色度算出部１０７は、肌色の色度と白色の色度との対応関係を示す白色色度データを有している（図１２参照）。図１２は、Ｒ／ＧとＢ／Ｇ空間のＲ／Ｇ軸における肌と白色の色度点の関係を示すものである。白色色度算出部１０７は、この関係を利用することで、ステップＳ３で決定された基準肌色度から白色色度(ＲＧ＿３、ＢＧ＿３)に変換することが可能となり、白色色度を算出することができる。
【００８０】
次にフローチャートのステップＳ６に説明する。肌色度と決定された基準肌色度の位置関係に基づいて、式（１）（２）の関係により白色色度を補正することが可能となる。補正された白色色度を（ＲＧ＿Ｗ、ＢＧ＿Ｗ）とする。
【００８１】
ＲＧ＿Ｗ＝ＲＧ＿３×（ＲＧ＿１  ／  ＲＧ＿２）  ・・・（１）
ＢＧ＿Ｗ＝ＢＧ＿３×（ＢＧ＿１  ／  ＢＧ＿２）  ・・・（２）
次にフローチャートのステップＳ７に説明する。ＷＢゲイン算出部８０は、ＷＢ補正部１１２によってホワイトバランス補正をおこなうためのＷＢゲイン係数を算出する（ステップＳ７）。例えば、補正後の白色色度をＲＧ＿Ｗ、ＢＧ＿Ｗ、画像が十分な明るさを得るためのＧのゲイン値をＧａｉｎ＿Ｇとすると、Ｒ、Ｂのゲインは（３）式（４）式により算出される。ＷＢゲイン係数は（Ｇａｉｎ＿Ｒ、Ｇａｉｎ＿Ｇ、Ｇａｉｎ＿Ｂ）とする。
【００８２】
Ｇａｉｎ＿Ｒ  ＝  Ｇａｉｎ＿Ｇ  ／  ＲＧ＿ｗ  ・・・（３）
Ｇａｉｎ＿Ｂ  ＝  Ｇａｉｎ＿Ｇ  ／  ＢＧ＿ｗ  ・・・（４）
第一の実施形態において、肌色度と決定された基準肌色度の色度差（色度差情報）を考慮し、決定された基準肌色度に対応する白色色度を補正することで、照明光源下での白色色度を高精度に求めることが可能となる。なお、フローチャートのステップＳ３において、基準光源選択部１０５は、色空間上において、肌色度と最も近い距離にある基準肌色度を決定したが、本発明はこれに限定するものではなく、二番目、三番目に近い距離にある基準肌色度を決定してもよい。
【００８３】
＜第二の実施形態＞
次いで、本発明の第二の実施形態について説明する。第二の実施形態における画像処理装置は、光源推定部６７内は、複数の光源推定（光源推定部６７Ａ、光源推定部６７Ｂ）部により構成されていることを特徴とするものである。
【００８４】
図１４は、第二の実施形態における、ホワイトバランス補正のためのＷＢゲイン係数を算出するまでについての電気的構成を示すブロック図である。
【００８５】
図１４を構成する各回路は、画像入力コントローラ６１、特定被写体検出部６６、肌色度算出部７９（特定色度算出部）、光源推定部６７（６７Ａ、６７Ｂ）、重み係数算出部６２、ＷＢゲイン算出部８０の６つから構成される。
【００８６】
特定被写体検出部６６および肌色度算出部７９（特定色度算出部）は、第一の実施形態で説明したとおりである。
【００８７】
第二の実施形態において、光源推定部６７は、複数の光源推定部（例えば、第一光源推定部６７Ａ、第二光源推定部６７Ｂ）により構成される。第一の光源推定部６７Ａと第二の光源推定部６７Ｂは共に第一の実施形態で説明した光源推定部６７と同様の構成を有する。よって、同様に基準光源選択部１０５、肌色度差算出部１０６および白色色度算出部１０７から構成されるものである。
【００８８】
なお、第一の光源推定部６７Ａを構成するものは、基準光源選択部１０５Ａ、肌色度差算出部１０６Ａ、白色色度算出部１０７Ａという。また、第二の光源推定部６７Ｂを構成するものは、基準光源選択部１０５Ｂ、肌色度差算出部１０６Ｂ、白色色度算出部１０７Ｂという。
【００８９】
なお、第一の光源推定部６７Ａと第二の光源推定部６７Ｂは、結果として互いに異なる基準肌色度や白色色度を算出するものであってもよいし、同一の基準肌色度や白色色度を算出するものであってもよい。
【００９０】
重み係数算出部６２は、第一の光源推定部６７Ａと第二の光源推定部６７Ｂによって算出された各色度差の情報を利用して、白色色度を算出するための重み係数を算出する。
【００９１】
ＷＢゲイン算出部８０は、第一の実施形態で説明したとおりである。
【００９２】
図１６は、ホワイトバランスのゲイン係数が算出されるまでの処理の流れを示すフローチャートである。
【００９３】
まずフローチャート（図１６）のステップＳ１１について説明する。特定被写体検出部６６は、画像入力コントローラ６１から読出された画像データによって表される被写体の中から特定被写体（例えば、顔領域）を検出し、検出した顔領域から得られるＲＧＢ値等を算出する（ステップＳ１１）。具体的には、第一の実施形態で説明した特定被写体検出と同様である。
【００９４】
次に、フローチャートのステップＳ１２について説明する。肌色度算出部７９は、特定被写体検出部６６によって検出された顔領域から背景や顔の器官などの不要なノイズ成分を除外し、肌色度を算出する（ステップＳ１２）。具体的には、第一の実施形態で説明した手法を用いる。
【００９５】
次に、フローチャートのステップＳ１３について説明する。基準光源選択部１０５は、各種光源と光源下で撮像された基準肌色度との対応関係を示す基準肌色度データを有している。基準肌色度データは肌色軌跡と特殊光源１，２，３から構成される（図９参照）。肌色軌跡は、光源の色温度が変化した場合の肌の色変化を示す黒体軌跡である。また特殊光源１、２、３は、黒体軌跡に対応する光源では表わせない特殊な光源下での肌色度であり、特殊光源としては、例えば、蛍光灯や水銀灯などが挙げられる。基準光源選択部１０５Ａでは、基準肌色度データから、算出された肌色度に近似する基準肌色度を決定する。
【００９６】
例えば、算出された肌色度と予め求めてある各種光源下での既知の基準肌色度（基準肌色度データ）とを比較し、色空間上での距離が肌色度と最も近いものを第一の基準肌色度として決定する（ステップＳ１３）。また、基準光源選択部１０５Ｂでは、算出された肌色度と予め求めてある各種光源下での既知の基準肌色度（基準肌色度データ）とを比較し、色空間上での距離が肌色度と二番目に近いものを第二の基準肌色度として決定する（ステップＳ１３）。距離というのは、例えばユークリッド距離またはマハラノビス距離等である。
【００９７】
次に、フローチャートのステップＳ１４について説明する。肌色度差算出部１０６Ａは、色空間上における肌色度と決定された第一の基準肌色度との色度差ａにより色度差情報を算出する（ステップＳ１４）。図１５は、肌色軌跡と第一の基準肌色度、第二の基準肌色度および肌色度の関係を示すものである。図１５では、一例として、肌色度に最も近い色度点は、肌色軌跡である場合を表している。白色色度算出部１０７は、肌色度と決定された第一の基準肌色度との色度差に基づいて白色色度を算出する。白色色度の算出方法は第一の実施形態で説明したものと同様であり、白色色度算出部１０７Ａは、肌色の色度と白色の色度との対応関係を示す白色色度データを有しており（図１２参照）、この関係を利用することで、ステップＳ１３で決定された第一の基準肌色度から白色色度に変換することが可能となり、第一の白色色度を算出することができる。
【００９８】
一方、フローチャートのステップＳ１９について説明する。肌色度差算出部１０６Ｂは、色空間上における肌色度と決定された第二の基準肌色度との色度差により色度差（色度差情報）を算出する（ステップＳ１９）。肌色度が肌色軌跡の次に特殊光源に最も近い場合を例に説明すると、肌色度と決定された第二の基準肌色度をそれぞれ算出する。それにより肌色度と決定された第二の基準肌色度の色度差ｂを算出することができる。
【００９９】
白色色度算出部１０７は、肌色度と決定された第二の基準肌色度との色度差に基づいて白色色度を算出する。白色色度の算出方法は第一の実施形態で説明したものと同様であり、白色色度算出部１０７Ｂは、肌色の色度と白色の色度との対応関係を示す白色色度データを有しており（図１２参照）、この関係を利用することで、ステップＳ１３で決定された第二の基準肌色度から白色色度に変換することが可能となり、第二の白色色度を算出することができる。
【０１００】
次に、フローチャートのステップＳ１５について説明する。白色色度算出部１０７Ａは、第一の実施形態で説明した手法により、色度差情報（色度差ａ）を用いて第一の白色色度を補正する。
【０１０１】
一方、フローチャートのステップＳ２０について説明する。白色色度算出部１０７Ｂは、第一の実施形態で説明した手法により、色度差情報（色度差ｂ）を用いて第二の白色色度を補正する。
【０１０２】
フローチャートのステップＳ１６について説明する。重み係数算出部６２は、白色色度算出部１０７Ａと白色色度算出部１０７Ｂによって算出された色度差ａ、ｂを用いて、以下の（５）式、（６）式により、重み係数を算出する。白色色度算出部１０７Ａによって算出された第一の白色色度に対する重み係数をｗ１とし、白色色度算出部１０７Ｂによって算出された第二の白色色度に対する重み係数をｗ２とする。
【０１０３】
ｗ１  ＝  ｂ  ／（ａ＋ｂ）  ・・・（５）
ｗ２  ＝  １  −  ｗ１    ・・・（６）
（５）式、（６）式は、色度差が大きいほど、重みが大きくなるように重み係数が設定されるようになる。
【０１０４】
フローチャートのステップＳ１７について説明する。重み係数算出部６２は、算出したｗ１，ｗ２に基づき、第一の白色色度および第二の白色色度の重み平均を算出する。重み平均後の白色色度を（ＲＧ＿Ｗ、ＢＧ＿Ｗ）とする。
【０１０５】
フローチャートのステップＳ１８について説明する。ＷＢゲイン算出部８０は、画像
が十分な明るさを得るためのＧのゲイン値（測光で得られた既知の値）をＧａｉｎ＿Ｇとすることで、Ｒ、Ｂのゲイン係数は（７）式、（８）式により算出される。ＷＢゲイン係数は（Ｇａｉｎ＿Ｒ、Ｇａｉｎ＿Ｇ，Ｇａｉｎ＿Ｂ）とする。
【０１０６】
Ｇａｉｎ＿Ｒ  ＝  Ｇａｉｎ＿Ｇ  ／  ＲＧ＿ｗ    ・・・（７）
Ｇａｉｎ＿Ｂ  ＝  Ｇａｉｎ＿Ｇ  ／  ＢＧ＿ｗ    ・・・（８）
第二の実施形態により、光源推定を複数の回路（光源推定部６７Ａ、光源推定部６７Ｂ）で行っていることから、ミックス（複数）光源下であっても精度よく光源を推定することが可能となる。
【０１０７】
なお、第二の実施形態において、光源推定に関する回路は複数であればよく、二つの回路に限定されるものではない。
【０１０８】
また肌色度と第一の基準肌色度および第二の基準肌色度との色度差ａ、ｂに応じて重み付けを行うことから、撮像環境が単一光源シーンであっても、光源推定の精度が低下しないという効果を奏する。
【０１０９】
＜第三の実施形態＞
次いで、本発明の第三の実施形態について説明する。第三の実施形態における画像処理装置は、ＷＢゲイン算出部８０は、複数のＷＢゲイン算出部（ＷＢゲイン算出部８０Ａ、ＷＢゲイン算出部８０Ｂ）部により構成されていることを特徴とするものである。
【０１１０】
図１７は、第二の実施形態における、ホワイトバランス補正のためのＷＢゲイン係数を算出するまでについての電気的構成を示すブロック図である。
【０１１１】
図１７を構成する各回路は、画像入力コントローラ６１、特定被写体検出部６６、肌色度算出部７９、ＷＢゲイン算出部８０（８０Ａ、８０Ｂ）、肌色度評価部７７、重み係数算出部６２、ＷＢゲイン合成部１１０から成る。
【０１１２】
ＷＢゲイン算出部８０は、複数のＷＢゲイン算出部（例えば、ＷＢゲイン算出部８０Ａ、ＷＢゲイン算出部８０Ｂ）により構成される。また、ＷＢゲイン算出部８０Ａは、画像入力コントローラ６１から画像データから第一のＷＢゲイン係数を算出するものである。
【０１１３】
また、ＷＢゲイン算出部８０Ｂのブロックは、第一の実施形態または第二の実施形態で説明した手法により算出されたＷＢゲイン係数を用いるものである。
【０１１４】
肌色度評価部７７は、肌色度算出部７９により算出された肌色度に対して第一のＷＢゲイン係数を積算して第一の色度点を算出し、また、肌色度算出部７９により算出された肌色度に対して第二のＷＢゲイン係数を積算して第二色度点を算出し、第一の色度点と第二の色度点の色空間上での位置関係を評価するものである。
【０１１５】
肌色度算出部７９により算出された肌色度は、第一の実施形態で説明した手法を用いて算出されたものである。
【０１１６】
重み係数算出部６２は、肌色度評価部７７によって評価された結果に基づき、第一のＷＢゲイン係数と第二のＷＢゲイン係数の重み係数を算出するものである。
【０１１７】
ＷＢゲイン合成部１１０は、複数のＷＢゲイン算出部（例えば、ＷＢゲイン算出部８０Ａ、ＷＢゲイン算出部８０Ｂ）によって算出された複数のＷＢゲイン係数に対して、合成処理をおこなうものである。
【０１１８】
図１９は、ホワイトバランスのゲイン係数が合成されるまでの処理の流れを示すフローチャートである。
【０１１９】
まずフローチャート（図１９）のステップＳ３０について説明する。第一のＷＢゲイン算出部８０Ａは、画像データ全体を用いて第一のＷＢゲイン係数を算出する。具体的手法として、まず図７に示すように画像データをＭ×Ｍ(例えばＭ ＝ ８)の領域に分割する。各領域でＲＧＢ値のそれぞれの平均値を算出する。算出された各領域のＲＧＢ値から、Ｒ／ＧとＢ／Ｇ空間に領域毎の色度点をプロットする（図２３参照）。肌色軌跡は、光源の色温度が変化した場合の黒体の色変化を示す黒体軌跡である。これを囲むように記載されている多角形は白色物体の判定領域として設定し、多角形の内側に分布する色度点は白色色度候補とし、外側に分布する色度点は白色色度以外の色度点と判断する。白色物体候補の色度点の平均座標をＲＧ１＿ｗ、ＢＧ１＿ｗとし、画像が十分な明るさを得るためのＧのゲイン値（測光で得られた既知の値）をＧａｉｎ１＿Ｇとすると、Ｒ、Ｂのゲインは（９）式、（１０）式により算出される。
【０１２０】
Ｇａｉｎ１＿Ｒ  ＝  Ｇａｉｎ１＿Ｇ  ／  ＲＧ１＿ｗ    ・・・（９）
Ｇａｉｎ１＿Ｂ  ＝  Ｇａｉｎ１＿Ｇ  ／  ＢＧ１＿ｗ    ・・・（１０）
このように、第一のＷＢゲイン係数（Ｇａｉｎ＿Ｒ、Ｇａｉｎ＿Ｇ，Ｇａｉｎ＿Ｂ）として、算出ことが可能となる。
【０１２１】
次に、フローチャートのステップＳ３１について説明する。特定被写体検出部６６は、画像入力コントローラ６１から読出された画像データによって表される被写体の中から特定被写体（例えば、顔領域）を検出し、検出した顔領域から得られるＲＧＢ値等を算出する（ステップＳ３１）。具体的には、第一の実施形態で説明した特定被写体検出と同様である。
【０１２２】
次に、フローチャートのステップＳ３２について説明する。顔領域が検出されない場合（Ｓ３２；Ｎｏ）、第１のＷＢゲイン係数をＷＢゲイン合成部１１０にて合成処理がおこなわれずに、最終のＷＢゲイン係数とする。顔領域が検出された場合（Ｓ３２；Ｙｅｓ）は、次のステップＳ３３へと進む。
【０１２３】
フローチャートのステップＳ３３について説明する。前述した特定被写体検出部６６の検出された特定被写体（顔領域）の情報を利用する第一の実施形態または第二の実施形態で算出した手法により第二のＷＢゲイン係数を算出する。
【０１２４】
次に、フローチャートのステップＳ３４（図１９）について説明する。また、フローチャートＳ３４の説明については、図２０のフローチャートを用いて説明する。
【０１２５】
肌色度評価部７７は、肌色度算出部７９によって算出された肌色度に対して、第一のＷＢゲイン算出部８０Ａによって算出された第一のＷＢゲイン係数を適用し積算した場合の色度点ｐ１、および肌色度算出部７９によって算出された肌色度に対して第二のＷＢゲイン算出部８０Ｂによって算出された第二のＷＢゲイン係数を適用し積算した場合の色度点ｐ２を算出する（ステップＳ４０）。図１８に示すように、Ｌ＊ａ＊ｂのａ＊−ｂ＊空間における色度点ｐ１とｐ２の関係について評価する。ｈ１が角度θ１〜θ２の範囲内であるか評価する（ステップＳ４１）。ｈ１が角度θ１〜θ２の範囲内であれば（Ｓ４１；Ｙｅｓ）、ｈ２が角度θ１〜θ２の範囲内であるか評価する（ステップＳ４２）。次にｈ２が角度θ１〜θ２の範囲内である場合（ステップＳ４２；Ｙｅｓ）、色度点ｐ１、ｐ２と有効領域との色度差ｄ１、ｄ２（色度差情報）を算出する（ステップＳ３８）。ここで言う色度差とは、色空間上のユークリッド距離またはマハラノビス距離等のことである。
【０１２６】
その後、色度差情報を用いて、重み係数算出部６２によって重み係数を算出する（ステップＳ３９）。具体的には、図１８に示す好ましい肌色と判断される範囲として設定された有効領域内に、色度点が存在する場合は、色度差は０とする。色度差ｄ１、ｄ２に応じて、（１１）式により重み係数ｗを算出する。もし、ｄ１とｄ２がどちらも０であった場合は、ｗ= ０．５とする。
【０１２７】
ｗ  ＝  ｄ１  ／（ｄ１＋ｄ２）  ・・・（１１）
また、ｈ２が角度θ１〜θ２の範囲外である場合（ステップＳ４２；Ｎｏ）、重み係数算出部６２によって重み係数がＷ＝０として算出される（ステップＳ４６）。こうすることで、第一のＷＢゲイン係数の算出において、他の色物体と白色物体と誤認識して不適切なゲイン係数を算出した場合、また第二のＷＢゲイン算出において顔領域を誤検出して不適切なゲイン係数を算出してしまった場合にも適切なホワイトバランス処理により対応することが可能となる。
【０１２８】
一方、ｈ１が角度θ１〜θ２の範囲外であれば（Ｓ４１；Ｎｏ）、ｈ２が角度θ１〜θ２の範囲内であるか評価する（ステップＳ４５）。ｈ２が角度θ１〜θ２の範囲内である場合（ステップＳ４５；Ｙｅｓ）、重み係数算出部６２によって重み係数がＷ＝１として算出される（ステップＳ４７）。ｈ２が角度θ１〜θ２の範囲外である場合（ステップＳ４５；Ｎｏ）、重み係数算出部６２によって重み係数がｗ＝―１として算出される（ステップＳ４８）。この場合、第一のＷＢゲイン係数および第二のＷＢゲイン係数はいずれも適切ではないと判断し、既知の光源（例えば、デーライト光源であるＤ＝５０）に相当する所定のＷＢゲイン（既知の設定値）をＷＢゲイン合成部１１０において、最終ＷＢゲインとして算出してもよい。
【０１２９】
次に、フローチャートステップＳ３５について説明する。前述したとおり、重み係数算出部６２は、重み係数ｗを設定する。
【０１３０】
次に、フローチャートのステップＳ３６について説明する。ＷＢゲイン合成部１１０は、（１２）式、（１３）式、（１４）式のように、重み係数ｗの値に応じて第一のＷＢゲイン係数(Ｇａｉｎ１＿Ｒ、Ｇａｉｎ２＿Ｇ，Ｇａｉｎ３＿Ｂ)と第二のＷＢゲイン係数(Ｇａｉｎ２＿Ｒ、Ｇａｉｎ２＿Ｇ，Ｇａｉｎ２＿Ｂ)を重み付け平均し、最終的なＷＢゲイン係数(Ｇａｉｎ＿Ｒ、Ｇａｉｎ＿Ｇ，Ｇａｉｎ＿Ｂ)を算出する。
【０１３１】
Ｇａｉｎ＿Ｒ＝Ｇａｉｎ１＿Ｒ×（１−ｗ）＋Ｇａｉｎ２＿Ｒ×ｗ  ・・・（１２）
Ｇａｉｎ＿Ｇ＝Ｇａｉｎ１＿Ｇ×（１−ｗ）＋Ｇａｉｎ２＿Ｇ×ｗ  ・・・（１３）
Ｇａｉｎ＿Ｂ＝Ｇａｉｎ１＿Ｂ×（１−ｗ）＋Ｇａｉｎ２＿Ｂ×ｗ  ・・・（１４）
＜第四の実施形態＞
次いで、本発明の第四の実施形態について説明する。ホワイトバランス補正のためのＷＢゲイン係数を算出するまでについての電気的構成を示すブロック図である。
【０１３２】
図２１を構成する各回路は、画像入力コントローラ６１、特定被写体検出部６６、ＷＢゲイン算出部８０（８０Ａ、８０Ｂ）、撮像条件制御部８２、重み係数算出部６２、ＷＢゲイン合成部１１０から成る。画像入力コントローラ６１、特定被写体検出部６６、ＷＢゲイン算出部８０（８０Ａ、８０Ｂ）は、前述した第三の実施形態と同様の機能を有する。
【０１３３】
撮像条件制御部８２は、撮像条件として、少なくともフラッシュ光のＯＮ／ＯＦＦに関する情報を算出する。
【０１３４】
重み係数算出部６２は、撮像条件を考慮して、輝度重み係数を算出する。
【０１３５】
ＷＢゲイン合成部１１０は、ＷＢゲイン算出部８０ＡおよびＷＢゲイン算出部８０Ｂによって算出された第一のＷＢゲイン係数および第二のＷＢゲイン係数を、輝度重み係数を用いて合成し、最終ＷＢゲイン係数を算出する。
【０１３６】
図２２は、ホワイトバランスのゲイン係数が合成されるまでの処理の流れを示すフローチャートである。
【０１３７】
まずフローチャート（図２２）のステップＳ５１について説明する。第一のＷＢゲイン算出部８０Ａは、第三の実施形態で説明した手法を用いて、第一のＷＢゲイン係数を算出する
次に、フローチャートのステップＳ５２について説明する。特定被写体検出部６６は、画像入力コントローラ６１から読出された画像データによって表される被写体の中から特定被写体（例えば、顔領域）を検出し、検出した顔領域から得られるＲＧＢ値等を算出する（ステップＳ５２）。具体的には、第一の実施形態で説明した手法を用いる。
【０１３８】
次に、フローチャートのステップＳ５３について説明する。顔領域が検出されない場合（Ｓ５３；Ｎｏ）、第一のＷＢゲイン係数をＷＢゲイン合成部１１０にて合成することなく、最終のＷＢゲイン係数として算出する。顔領域が検出された場合（Ｓ５３；Ｙｅｓ）、次のステップＳ５４へと進む。
【０１３９】
次に、フローチャートのステップＳ５４について説明する。前述した特定被写体検出部６６の検出された特定被写体（顔領域）の情報を利用する第一の実施形態または第二の実施形態で算出した手法により最終的に算出されたＷＢゲイン係数を、第二のＷＢゲイン係数として算出する。
【０１４０】
次に、フローチャートのステップＳ５５について説明する。フラッシュライト２４が、フラッシュ発光されなかった場合は（ステップＳ５５；Ｎｏ）、第二のＷＢ係数を最終ＷＢゲインとして算出する。フラッシュライト２４がフラッシュ発光した場合は（ステップＳ５５；Ｙｅｓ）、ステップ５６に進む。
【０１４１】
フラッシュライト２４が発光されたか否かについて、撮像条件制御部８２によりフラッシュライト２４が制御され、かつ撮像条件制御部８２がその制御情報（フラッシュライト２４がフラッシュ発光したか否かの制御情報含む）が記録している。
【０１４２】
さらに撮像制御部８２は、画像データの全領域のフラッシュ光割合をｒａｔｉｏ１、顔領域のフラッシュ光割合をｒａｔｉｏ２として算出することで、フラッシュ発光割合を算出する。
【０１４３】
また、撮像制御部８２は、特定被写体検出部６６によって検出された顔領域から算出される輝度値からｒａｔｉｏ２を算出する
具体的には、図２４のように、画像データ領域をブロック分割し、フラッシュ撮影時にフラッシュ非発光時の各ブロックの輝度とフラッシュ発光時の各ブロックの輝度を取得し、フレームメモリ６８に記録しておく。
【０１４４】
特定被写体検出部６６によって検出された顔領域に含まれる分割ブロックで構成されるエリアであるフラッシュ割合算出エリアを用いて、ｒａｔｉｏ２を算出する。
【０１４５】
調光時に得られたプレ画像から取得されるフラッシュ発光前のフラッシュ割合算出エリアのブロックにおける輝度平均値をＹ１として算出する。また、フラッシュ発光時のフラッシュ割合算出エリアのブロックにおける輝度平均値からＹ１を減算した輝度値をＹ２として算出する。フラッシュ割合ｒａｔｉｏ２を（１５）式のように算出する。画像データ全領域のフラッシュ割合ｒａｔｉｏ１も同様に算出する。
【０１４６】
Ｒａｔｉｏ２  ＝  １００  ×  Ｙ２  ／  （Ｙ１  ＋  Ｙ２）    ・・・（１５）
また、図２６は画像データ領域をブロック分割したものと、撮像された人物を畳み重ねて表示されたものを示すものである。顔エリアから少し狭めたフラッシュ割合算出エリアを用いることで、より肌を占める割合が多いことがわかる（図２６参照）。それにより肌に関する輝度値を最適に取得することができる。
【０１４７】
なお、顔領域に含まれる分割ブロックが存在しない場合、顔領域との重なる面積が最も大きい分割ブロックのエリアをフラッシュ割合算出エリアとすることも可能である。
【０１４８】
次に、フローチャートのステップＳ５７について説明する。ＷＢゲイン合成部１１０は、重み係数算出部６２により算出されたｒａｔｉｏ１とｒａｔｉｏ２の比に応じて、第二のＷＢゲインに対する輝度重み係数ｗを算出する。図２５は、ｒａｔｉｏ２／ｒａｔｉｏ１と第二のＷＢゲイン係数に対する輝度重み係数ｗの関係を表わしたルックアップテーブルである。このルックアップテーブルを利用することで、輝度重み係数ｗを算出することができる。ｒａｔｉｏ１に対してｒａｔｉｏ２が十分大きい場合は、顔の背景とでフラッシュ割合に差があるため、第二のＷＢゲイン係数にあまり大きな重みを設定すると背景の色が破綻する恐れがある。一方で、ｒａｔｉｏ１とｒａｔｉｏ２が同程度の場合は、信頼度の高い第二のＷＢゲイン係数の重みを大きくするように設定することが可能となる。
【０１４９】
以上により、輝度重み係数ｗを算出し、（１６）（１７）（１８）式のように、重み
係数算出部６２により算出された輝度重み係数ｗの値に応じて、第一のＷＢゲイン係数(Ｇａｉｎ１＿Ｒ、Ｇａｉｎ２＿Ｇ，Ｇａｉｎ３＿Ｂ)と第二のＷＢゲイン係数(Ｇａｉｎ２＿Ｒ、Ｇａｉｎ２＿Ｇ，Ｇａｉｎ２＿Ｂ)を重み付け平均し、最終的なＷＢゲイン係数(Ｇａｉｎ＿Ｒ、Ｇａｉｎ＿Ｇ，Ｇａｉｎ＿Ｂ)を算出する。
【０１５０】
Ｇａｉｎ＿Ｒ＝Ｇａｉｎ１＿Ｒ×（１−ｗ）＋Ｇａｉｎ２＿Ｒ×ｗ  ・・・（１６）
Ｇａｉｎ＿Ｇ＝Ｇａｉｎ１＿Ｇ×（１−ｗ）＋Ｇａｉｎ２＿Ｇ×ｗ  ・・・（１７）
Ｇａｉｎ＿Ｂ＝Ｇａｉｎ１＿Ｂ×（１−ｗ）＋Ｇａｉｎ２＿Ｂ×ｗ  ・・・（１８）
以上、第一から第四の実施形態まで説明したが、それぞれの実施形態で算出された最終のＷＢゲイン係数を用いて、ＷＢ補正部１１２により画像データに対してホワイトバランス補正が可能となる。
【０１５１】
なお、本発明は特定の色の最適例として、肌色を用いて説明したが、肌色に限定されるものではない。
【符号の説明】
【０１５２】
１    デジタルカメラ
１８  モニタ
１９  レリーズボタン
６１  画像入力コントローラ
６２  重み係数算出部
６３  ＷＢゲイン算出部
６４  画像処理部
６６  特定被写体検出部
６７  光源推定部
６９  メディア制御部
７０  外部記録メディア
７１  表示制御部
７７  肌色度評価部
７８  枠表示部
７９  肌色度算出部（特定色度算出部）
８２  撮像条件制御部
１０５  基準光源選択部
１０６  肌色度差算出部（特定色度差部）
１０７  白色色度算出部
１１０  ＷＢゲイン合成部
１１２  ＷＢ補正部
【図１】
2011078137.tif 000003
【図２】
2011078137.tif 000004
【図３】
2011078137.tif 000005
【図４】
2011078137.tif 000006
【図５】
2011078137.tif 000007
【図６】
2011078137.tif 000008
【図７】
2011078137.tif 000009
【図８】
2011078137.tif 000010
【図９】
2011078137.tif 000011
【図１０】
2011078137.tif 000012
【図１１】
2011078137.tif 000013
【図１２】
2011078137.tif 000014
【図１３】
2011078137.tif 000015
【図１４】
2011078137.tif 000016
【図１５】
2011078137.tif 000017
【図１６】
2011078137.tif 000018
【図１７】
2011078137.tif 000019
【図１８】
2011078137.tif 000020
【図１９】
2011078137.tif 000021
【図２０】
2011078137.tif 000022
【図２１】
2011078137.tif 000023
【図２２】
2011078137.tif 000024
【図２３】
2011078137.tif 000025
【図２４】
2011078137.tif 000026
【図２５】
2011078137.tif 000027
【図２６】
2011078137.tif 000028