(57)【要約】【課題】精度の良いホワイトバランス補正を実現できるようにする。【解決手段】撮像された画像のホワイトバランス補正を行う画像処理装置であって、白検出範囲を設定し光源の検出を行う光源検出手段と、画面内を領域分割し、分割した各領域毎の種類を識別する領域識別手段と、前記光源検出手段によって光源検出される際に前記領域識別手段によって識別された任意の領域を光源検出領域から除外する光源検出領域除外手段と、前記光源検出手段が設定した白検出範囲内における重みを変更する白検出重み変更手段と、前記光源検出手段が設定した白検出範囲を変更する白検出範囲変更手段とを設ける。【選択図】図１
2015080046.tif 000002
【特許請求の範囲】
【請求項１】
撮像された画像のホワイトバランス補正を行う画像処理装置であって、
白検出範囲を設定し光源の検出を行う光源検出手段と、
画面内を領域分割し、分割した各領域毎の種類を識別する領域識別手段と、
前記光源検出手段によって光源検出される際に前記領域識別手段によって識別された任意の領域を光源検出領域から除外する光源検出領域除外手段と、
前記光源検出手段が設定した白検出範囲内における重みを変更する白検出重み変更手段と、
前記光源検出手段が設定した白検出範囲を変更する白検出範囲変更手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記領域識別手段は、領域の特徴量を算出し、空及び草地及び山及び道及び床の領域の種類を識別することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記領域識別手段によって識別された領域が画面内に占める面積比率を求める手段をさらに備えていることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記領域識別手段によって識別された領域内の輝度及び色評価値を求める手段をさらに備えていることを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記領域識別手段によって空と識別された領域が、前記面積比率によって画面全体に及ぶ場合、画面全体の明るさに応じて前記白検出範囲変更手段によって白検出範囲を変更することを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記領域識別手段によって空と識別された領域が、前記面積比率によって所定の比率以下の場合、空領域内の輝度及び色評価値を用いて青空及び夕焼け及び曇天の判定を行うことを特徴とする請求項３に記載の画像処理装置。
【請求項７】
前記領域識別手段によって空と識別された領域を青空或いは夕焼けと判定した場合、前記光源検出領域除外手段は、光源検出の領域から除外することを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記領域識別手段によって床と識別された領域について、床領域内の輝度及び色評価値を用いて暖色系であるか判定を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項９】
前記領域識別手段によって床と識別された領域が暖色系と判定された場合、床領域が前記面積比率によって画面全体に及ぶ場合には前記白検出重み変更手段は、白検出範囲内の重みを変更し、床領域の画面比率が所定の比率以下である場合には前記光源検出領域除外手段によって光源検出領域から除外することを特徴とする請求項３に記載の画像処理装置。
【請求項１０】
前記領域識別手段によって草地と識別された領域が、前記面積比率によって画面全体に及ぶ場合には、前記白検出重み変更手段は、白検出範囲内の重みを変更し、草地領域の画面比率が所定の比率以下である場合には前記光源検出領域除外手段は、光源検出領域から除外することを特徴とする請求項３に記載の画像処理装置。
【請求項１１】
撮像された画像のホワイトバランス補正を行う画像処理装置であって、
白検出範囲を設定し光源の検出を行う光源検出手段と、
画面内を領域分割し、分割された各領域毎の種類を識別する領域識別手段と、
前記領域識別手段によって識別した領域毎に有彩色領域であるかの判定を行う有彩色領域判定手段と、
前記光源検出手段による光源の検出を行う対象領域が前記有彩色領域判定手段により有彩色と判定された場合、前記光源検出手段によって光源検出する領域から除外する光源検出領域除外手段と、
前記有彩色領域判定手段によって画面内に有彩色領域が存在すると判定された場合、前記光源検出手段による白検出範囲内における重みを変更する白検出重み変更手段と、
前記有彩色領域判定手段によって画面内に有彩色領域が存在すると判定された場合、前記光源検出手段による白検出範囲を変更する白検出範囲変更手段と、
を有することを特徴とする画像処理装置。
【請求項１２】
撮像された画像のホワイトバランス補正を行う画像処理装置の制御方法であって、
白検出範囲を設定し光源の検出を行う光源検出工程と、
画面内を領域分割し、分割した各領域毎の種類を識別する領域識別工程と、
前記光源検出工程において光源検出される際に前記領域識別工程において識別された任意の領域を光源検出領域から除外する光源検出領域除外工程と、
前記光源検出工程において設定した白検出範囲内における重みを変更する白検出重み変更工程と、
前記光源検出工程において設定した白検出範囲を変更する白検出範囲変更工程と、
を有することを特徴とする画像処理装置の制御方法。
【請求項１３】
撮像された画像のホワイトバランス補正を行う画像処理装置の制御方法であって、
白検出範囲を設定し光源の検出を行う光源検出工程と、
画面内を領域分割し、分割された各領域毎の種類を識別する領域識別工程と、
前記領域識別工程において識別した領域毎に有彩色領域であるかの判定を行う有彩色領域判定工程と、
前記光源検出工程において光源の検出を行う対象領域が前記有彩色領域判定工程により有彩色と判定された場合、前記光源検出工程において光源検出する領域から除外する光源検出領域除外工程と、
前記有彩色領域判定工程において画面内に有彩色領域が存在すると判定された場合、前記光源検出工程において白検出範囲内における重みを変更する白検出重み変更工程と、
前記有彩色領域判定工程において画面内に有彩色領域が存在すると判定された場合、前記光源検出工程において白検出範囲を変更する白検出範囲変更工程と、
を有することを特徴とする画像処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置及び画像処理装置の制御方法に関し、特に、ホワイトバランスを行う画像処置装置及び方法及び撮像装置に用いて好適な技術に関するものである。
【背景技術】
【０００２】
デジタルカメラやデジタルビデオカメラなどの、撮像素子を用いる撮像装置においては、撮像によって得られた画像の色調を調整するホワイトバランス制御機能を備えている。
ホワイトバランス制御には、あらかじめ白色被写体を撮像してホワイトバランス係数を求めておき、算出したホワイトバランス係数を画面全体に適用するマニュアルホワイトバランス制御がある。
【０００３】
また、撮像した画像から白色と思われる部分を自動検出し、画面全体の各色成分の平均値からホワイトバランス係数を求め、算出したホワイトバランス係数を画面全体に適用するオートホワイトバランス制御がある。
【０００４】
特許文献１では、レンズのF値情報と被写体までの距離情報から、画面上部を白検出範囲から除外する自動ホワイトバランス調整装置について開示している。
特許文献２では、画像中から顔や空や人工物等の領域を認識し、領域に適した画像処理（シャープネス、コントラスト、色補正、ホワイトバランス処理）を施す画像処理方法について開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−３２４８９号公報
【特許文献２】特開２００５−９４４５２号公報
【特許文献３】特開２００９−１２３２３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のホワイトバランス制御においては、次のような問題があった。
前述の白検出範囲は光源の分布を示したものであるが、例えば青空とストロボ光、蛍光灯と草地など、光源と有彩色被写体の区別が難しい領域が存在する。従って、ストロボ光を検出するために高色温度側まで白検出範囲を設定した場合、日中屋外で青空を含むシーンの撮影を行うと青空領域を高色温度被写体として引き込んでしまうために、やや低色温度寄りとなって赤色被りしてしまうという問題があった。
【０００７】
同様に、蛍光灯を検出するためにGreen側の白検出範囲が草地と重なるために、草地を引き込んでMagenta被りしてしまうといった問題があった。このように、青空、草地、フローリングの床などの被写体を光源と誤認識して引き込んでしまうために、ホワイトバランスが引っ張られてしまう問題が存在していた。
【０００８】
特許文献１のように、画面の上部に青空があると仮定して、有彩色領域を白検出の対象から除外する技術が提案されている。しかしながら、青空の領域を確実に認識することができないため、青空領域を除外しきれずに引き込んでしまったり、逆に除外しすぎることで白検出の精度を落としてしまったりする問題点があった。
本発明は前述の問題点に鑑み、精度の良いホワイトバランス補正を実現できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の画像処理装置は、撮像された画像のホワイトバランス補正を行う画像処理装置であって、白検出範囲を設定し光源の検出を行う光源検出手段と、画面内を領域分割し、分割した各領域毎の種類を識別する領域識別手段と、前記光源検出手段によって光源検出される際に前記領域識別手段によって識別された任意の領域を光源検出領域から除外する光源検出領域除外手段と、前記光源検出手段が設定した白検出範囲内における重みを変更する白検出重み変更手段と、前記光源検出手段が設定した白検出範囲を変更する白検出範囲変更手段とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、精度の良いホワイトバランス補正を実現することができる。特に、青空や草地等光源と誤認識して引き込んでしまうために、ホワイトバランスが有彩色に引っ張られる問題を防止することが可能となる。また、曇天と識別した空領域から積極的に色評価値を得ることでホワイトバランス補正の性能向上につなげることも可能である。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態における撮像装置の構成例を示すブロック図である。
【図２】ブロック分割の一例を示す図である。
【図３】(ａ)は白検出範囲を示す図であり、(ｂ)は特定領域の重みを下げた白検出範囲を示す図である。
【図４】基本的なＷＢ補正値算出処理の一例を示すフローチャートである。
【図５】画像に含まれるオブジェクトが識別される様子を示す図である。
【図６】本発明の実施形態の領域認識を利用したＷＢ補正値算出処理の一例を示すフローチャートである。
【図７】領域認識に基づくホワイトバランス処理の一例を示すフローチャートである。
【図８】範囲を狭くした場合の白検出範囲を示す図である。
【発明を実施するための形態】
【００１２】
（第１の実施形態）
以下に、本発明の画像処理装置及び画像処理装置の制御方法の好ましい実施形態を、添付の図面に基づいて詳細に説明する。図１は、本発明の実施形態における撮像装置の構成例を示すブロック図である。
図１において、１０１はＣＣＤやＣＭＯＳ等からなる固体撮像素子であり、その表面は例えばベイヤー配列のようなＲＧＢカラーフィルタにより覆われ、カラー撮影が可能な構成となっている。
【００１３】
ＣＰＵ１１５は、画像全体が明るくなるようなシャッター速度、絞り値を計算するとともに、合焦領域内にある被写体に合焦するようにフォーカスレンズの駆動量を計算する。ＣＰＵ１１５で計算された露出値（シャッター速度、絞り値）、およびフォーカスレンズの駆動量は制御回路１１４に送られ、各値に基づいてそれぞれ制御される。
【００１４】
１０３はホワイトバランス（ＷＢ）制御部であり、メモリ１０２に記憶された画像信号からの情報に基づいてＷＢ補正値を算出し、算出したＷＢ補正値を用いて、メモリ１０２に記憶された画像信号に対してＷＢ補正を行う。なお、このＷＢ制御部１０３の詳細構成およびＷＢ補正値の算出方法については、後述する。
【００１５】
１０４はＷＢ制御部１０３によりＷＢ補正された画像信号が最適な色で再現されるように色ゲインをかけて色差信号Ｒ−Ｙ、Ｂ−Ｙに変換する色変換マトリックス回路、１０５は色差信号Ｒ−Ｙ、Ｂ−Ｙの帯域を制限するローパスフィルタ（ＬＰＦ）回路である。１０６はＬＰＦ回路１０５で帯域制限された画像信号の内、飽和部分の偽色信号を抑圧するＣＳＵＰ（Chroma Supress）回路である。
【００１６】
一方、ＷＢ制御部１０３によりＷＢ補正された画像信号は輝度信号（Y）生成回路１１２にも出力されて輝度信号Ｙが生成され、生成された輝度信号Ｙに対してエッジ強調回路１１３にてエッジ強調処理が施される。
【００１７】
ＣＳＵＰ回路１０６から出力される色差信号Ｒ−Ｙ、Ｂ−Ｙと、エッジ強調回路１１３から出力される輝度信号Ｙは、ＲＧＢ変換回路１０７にてＲＧＢ信号に変換され、ガンマ補正回路１０８にて階調補正が施される。その後、色輝度変換回路１０９にてＹＵＶ信号に変換され、さらに圧縮回路１１０にて圧縮され、記録回路１１１によって外部記録媒体または内部記録媒体に画像データファイルとして記録される。
【００１８】
認識回路１１６は、メモリ１０２に記憶された画像データに対し、公知の認識技術を適用し、画面内にどのような画像が含まれているか識別する。公知の識別技術としては、画像の局所領域を抽出し、その局所領域の大きさを参照画像照合して画像の分類を行う手法。或いは、局所領域の色ヒストグラムを利用して色ヒストグラムを参照画像の色ヒストグラムと照合することで画像の分類を行う手法等、多数提案されている。一般的にはこれらの手法を複数組み合わせ、認識の精度を向上させている。
【００１９】
具体的な例としては、特許文献３に記載の、特徴量の二次元マップを利用してシーン領域の小ブロックを個別に判別し領域認識する方法などが挙げられている。
【００２０】
図２、図３及び図４を用いて、ＷＢ制御部１０３における基本的なホワイトバランス補正値の算出動作を説明する。図４は基本的なホワイトバランス補正値算出処理手順を説明するフローチャートである。
まず、ＷＢ制御部１０３は、メモリ１０２に記憶された１画面（フレームまたはフィールド）分の画像データを読み出し、図２に示すような任意のｍ（ｍは1以上の整数）個のブロックに分割する（Ｓ４０１）。
【００２１】
そして、各ブロック（１〜ｍ）毎に、画素値を各色に加算平均して色平均値（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] − 2G[i]）/ Y[i] × 1024
ただし、Y[i] = (R[i] + 2G[i] + B[i]) /4                （式１）
【００２２】
次に、図３(ａ)のような座標軸を持つ特性図を用いて白検出を行う（Ｓ４０３）。ｘ座標（Cx）の負方向が高色温度被写体の白を撮影したときの色評価値を表し、正方向が低色温度被写体の白を撮影したときの色評価値を表す。また、ｙ座標（Cy）は光源の緑成分の度合いを意味しており、負方向になるにつれGreen成分が大きくなり、つまり蛍光灯であることを示している。なお、ｙ座標（Cy）の正方向はMagenta成分を示している。
【００２３】
Ｓ４０３では、Ｓ４０２で算出したi番目のブロックの色評価値（Cx[i]、Cy[i]）が、図３(ａ)に示す予め設定した白検出範囲３０１に含まれるかどうかを判断する（Ｓ４０３）。
【００２４】
白検出範囲３０１は、白色物体を特性（色温度など）の異なる光源下で予め撮影し、算出した色評価値をプロットしたものである。算出した色評価値（Cx[i]、Cy[i]）がこの白検出範囲３０１に含まれる場合には（Ｓ４０３でYES）そのブロックが白色であると判断する。そして、そのブロックの色平均値（R[i]、G[i]、B[i]）を積算していき（Ｓ４０４）、含まれない場合には加算せずにＳ４０５に進む。このＳ４０３及びＳ４０４の処理は、以下の式２により表すことができる。
【００２５】
【数１】
2015080046.tif 000003
【００２６】
ここで、式２において、色評価値（Cx[i]、Cy[i]）が白検出範囲（図３(ａ)３０１）に含まれる場合はSw[i]を１にする。また、含まれない場合にはSw[i]を０とすることにより、Ｓ４０３の判断により色平均値（R[i]、G[i]、B[i]）加算を行うか、行わないかの処理を実質的に行っている。なお、白検出範囲（図３(ａ)の３０１）において所定の領域に限ってSw[i]を０〜１の間の任意の値とすることにより、特定の領域だけ重みを下げることも可能である。
【００２７】
Ｓ４０５では、すべてのブロックについて前述の処理を行ったかどうかを判断し、未処理のブロックがあればＳ４０２に戻って前述の処理を繰り返し、すべてのブロックの処理が終了していればＳ４０６に進む。
Ｓ４０６では、得られた色平均値の積分値（sumR１、SumG１、SumB１）から、以下の（式３）式を用いて、ＷＢ補正値（ＷＢCol＿R、ＷＢCol＿G、ＷＢCol＿B）を算出する。
ＷＢCol＿R = sumY × １０２４ / sumR
ＷＢCol＿G = sumY×１０２４ / sumG        ・・・・（式３）
ＷＢCol＿B = sumY × １０２４ / sumB
ただし、sumY = （sumR + ２ × sumG ＋ sumB）/ ４
【００２８】
以上、基本的なホワイトバランス補正値の算出動作について説明した。
続いて、図６及び図７を用いて、画面内の領域識別処理を用いたホワイトバランス補正値の算出方法について説明する。
【００２９】
図７は、図１における認識回路１１６が実行する領域認識処理と、認識回路１１６による領域認識結果を用いたホワイトバランス処理について説明しているフローチャートである。
Ｓ７０１において、認識回路１１６は、領域認識処理を実行する。即ち、認識回路１１６は、メモリ１０２に格納された１画面分の画像データを読み出し、図５に示すように当該画像データを領域毎（図５の例では、空領域、草地領域、建物領域、道領域）に領域分割し、分割した各領域の特徴量の種類を算出し、領域識別を行う。
【００３０】
Ｓ７０２において、認識回路１１６は、Ｓ７０１で空領域を認識したか否かを判定する。空領域を認識していない場合、処理はＳ７０３に移行する。一方、空領域を認識した場合、処理はＳ７０４に移行する。
【００３１】
Ｓ７０３において、認識回路１１６は、空判定結果として「検出対象（なし）」と記憶する。空判定結果の利用方法については後述するが、図３の白検出範囲３０１及び図４のＳ４０３を用いて説明した白検出において、検出方法を変化させるために使用する。空判定＝検出対象とした場合には、画面内において空と認識した領域を白検出の対象に含めることを示している。
【００３２】
Ｓ７０４において、認識回路１１６は、空領域が広いか否かを判定する。即ち、認識回路１１６は、画面内に占める空領域の面積比率を算出し、当該面積比率が所定の比率を上回る場合には空領域が広いと判定する。これは主に、空を含む構図の写真を撮影しているのか、或いは、空に向けて撮影しているのかを判別するための処理である。空領域が広い場合、処理はＳ７０５に移行する。一方、空領域が広くない場合、処理はＳ７０６に移行する。
【００３３】
Ｓ７０５において、認識回路１１６は、空判定結果として「検出対象（大空）」と記憶する。これは、空領域が広い場合において、空領域を白検出対象領域から除外してしまうと、白検出対象領域が狭くなってしまうため、光源の色温度を正しく求めることができなかったり、画角の変化等による敏感度が上がってしまったりすることを回避するためである。
【００３４】
Ｓ７０６において、認識回路１１６は、空領域内の色評価値を算出し、その後、Ｓ７０７に移行する。
Ｓ７０７において、空領域が青空、夕焼け又は曇天であるか否かを判定する有彩色領域判定処理が行なわれる。空領域の判定方法は様々な方法がある。一例を挙げれば、空領域内の輝度、彩度及び色相の平均値を算出し、輝度及び彩度の平均値が低い場合を曇天とし、それ以外の場合は、輝度、彩度及び色相の平均値の組み合わせによって青空又は夕焼けを判定する方法がある。なお、判別パターンに合致しない場合は不明とする。平均値を用いる方法のほかに、代表値を算出して判別する方法やヒストグラムを求める方法等を用いてもよい。空領域が青空又は夕焼けである場合、処理はＳ７０８に移行する。一方、それ以外の場合、処理はＳ７０９に移行する。
【００３５】
Ｓ７０８において、認識回路１１６は、空判定結果として「検出除外（青空夕焼け）」と記憶する。「空判定結果＝検出除外（青空／夕焼け）」とした場合には、これまでの解析によって空領域が有彩色領域であると判定され、画面内における空領域が白検出対象領域（光源検出領域）から除外される、光源検出領域除外処理が行なわれる。
【００３６】
Ｓ７０９において、認識回路１１６は、空判定結果として「検出対象（曇天）」と記憶する。「空判定結果＝検出対象（曇天）」とした場合には、これまでの解析によって空領域が有彩色ではないと判定され、画面内における空領域が白検出対象領域に含められる。
【００３７】
以上で空領域の解析処理を終了し、草地領域の解析処理に移行する。
Ｓ７１０において、認識回路１１６は、Ｓ７０１で草地領域を認識したか否かを判定する。草地領域を認識した場合、処理はＳ７１１に移行する。一方、草地領域を認識していない場合、処理はＳ７１４に移行する。
Ｓ７１４において、認識回路１１６は、草地判定結果として「検出対象」と記憶する。
【００３８】
Ｓ７１１において、認識回路１１６は、草地領域が広いか否かを判定する。即ち、認識回路１１６は、画面内に占める草地領域の面積比率（画面比率）を算出し、当該面積比率が所定の比率を上回る場合には草地領域が広いと判定する。草地領域が広い場合、処理はＳ７１２に移行する。一方、草地領域が広くない（所定の比率以下）場合、処理はＳ７１３に移行する。
【００３９】
Ｓ７１２において、認識回路１１６は、白検出範囲におけるグリーン成分側の重みを下げるフラグをセットする。例えば、図３（ａ）に示す白検出範囲３０１において、ｙ座標（Ｃｙ）の負方向がグリーン成分側であり、白検出範囲３０１の下側の重みを下げることになる。
【００４０】
Ｓ７１３において、認識回路１１６は、草地判定結果として「検出除外」と記憶する。一方、草地領域が広くないときには、草地領域を白検出対象領域から除外することでホワイトバランスが有彩色に引っ張られることを防ぐ。
以上で草地領域の解析処理を終了し、床領域の解析処理に移行する。
【００４１】
次に、Ｓ７１５において、認識回路１１６は、Ｓ７０１で床領域を認識したか否かを判定する。床領域を認識した場合、処理はＳ７１６に移行する。一方、床領域を認識していない場合、処理はＳ７２１に移行する。
【００４２】
Ｓ７２１において、認識回路１１６は、床判定結果として「検出対象」と記憶する。Ｓ７１６において、認識回路１１６は、床領域の色評価値を算出し、その後Ｓ７１７に移行する。
Ｓ７１７において、床領域が暖色系の色であるか否かを判定する。床領域の判定方法の一例としては、床領域内の輝度、彩度及び色相の平均値を算出し、彩度及び色相の平均値から暖色系の床であるか否かを判定する方法がある。床領域が暖色系の色である場合、処理はＳ７１８に移行する。一方、床領域が暖色系の色ではない場合、処理はＳ７２１に移行する。
【００４３】
Ｓ７１８において、認識回路１１６は、床領域が広いか否かを判定する。即ち、認識回路１１６は、画面内に占める床領域の面積比率を算出し、当該面積比率が所定の比率を上回っている場合には床領域が広いと判定する。床領域が広い場合、処理はＳ７１９に移行する。一方、床領域が広くない場合、処理はＳ７２０に移行する。
【００４４】
Ｓ７１９において、認識回路１１６は、白検出範囲における低色温度側の重みを下げるフラグをセットする。これは、図３（ａ）に示す白検出範囲３０１において、ｘ座標（Ｃｘ）の正方向が低色温度側であり、白検出範囲３０１の右側の重みを下げるための処理である。
【００４５】
Ｓ７２０において、認識回路１１６は、床判定結果として「床判定結果＝検出除外」と記憶する。床領域が暖色系の色である場合には、ホワイトバランスが有彩色に引っ張られることを防ぐため、床領域を白検出対象領域から除外することが好ましいが、床領域を除外することで白検出対象領域が狭くなることによる弊害も懸念される。そこで、床領域が広い場合、低色温度側の重みを下げることで対応し、床領域が広くない場合、床領域を白検出対象領域から除外することにしている。
【００４６】
以上で空領域、草地領域及び床領域の解析処理を終了し、分割ブロック毎の判定処理に移行する。
Ｓ７２２において、認識回路１１６は、図４のＳ４０１と同様に１画面分の画像データを図２に示すような任意のｍ個のブロックに分割する。
Ｓ７２３において、認識回路１１６は、Ｓ７２２で分割したブロックのうち、現在対象となっているブロック（以下、対象ブロックと称す）を空領域と認識したか否かを判定する。対象ブロックを空領域と認識した場合、処理はＳ７２５に移行する。一方、対象ブロックを空領域と認識していない場合、処理はＳ７２４に移行する。
【００４７】
Ｓ７２５において、認識回路１１６は、空判定結果が「空判定結果＝検出除外（青空／夕焼け）」であるか否かを判定する。空判定結果が「空判定結果＝検出除外（青空／夕焼け）」である場合、処理はＳ７３０に移行する。一方、空判定が「空判定結果＝検出除外（青空／夕焼け）」ではない場合、処理はＳ７２４に移行する。
【００４８】
Ｓ７３０において、認識回路１１６は、対象ブロックを白検出対象外領域としてマークする。認識回路１１６は、ブロック毎に白検出対象領域とするか否かを示す情報を保持しており、Ｓ７３０では、対象ブロックに対応する情報に対して白検出対象領域から除外する旨がマークされる。
【００４９】
Ｓ７２４及びＳ７２６は草地領域に関する処理であり、Ｓ７２３及びＳ７２５と同様、対象ブロックが草地領域、且つ草地判定結果が「草地判定結果＝検出除外」である場合、処理はＳ７３０に移行して、対象ブロックが白検出対象外領域としてマークされる。Ｓ７２７及びＳ７２８は床領域に関する処理であり、Ｓ７２４及びＳ７２６と同様、対象ブロックが床領域であり、且つ床判定結果が「床判定結果＝検出除外」である場合、処理はＳ７３０に移行して、対象ブロックが白検出対象外領域としてマークされる。
【００５０】
Ｓ７２９は、Ｓ７２３〜Ｓ７２８の処理を経て対象ブロックが白検出対象外領域としてマークされなかった場合の処理であり、認識回路１１６は、対象ブロックを白検出対象領域としてマークする。
【００５１】
Ｓ７３１において、認識回路１１６は、全てのブロックについて前述の処理を行ったか否かを判定する。未処理のブロックが存在する場合、処理はＳ７２３に戻り、前述の処理が繰り返される。一方、全てのブロックの処理が終了している場合、処理は終了する。
【００５２】
以上により、分割されたブロック毎に白検出対象領域であるか白検出対象外領域であるかがマークされる。なお、草地領域が広ければ、グリーン側の重み下げフラグが設定され、床領域が暖色系の色であり、且つ床領域が広ければ、低色温度側の重み下げフラグが設定される。
【００５３】
次に、図６を用いて、図７で説明した領域認識結果を用いたホワイトバランス処理について説明する。
Ｓ６０１は、図7で説明した領域認識を利用した処理を実行する。
Ｓ６０２において、ＷＢ制御部１０３は、図４のＳ４０１と同様に、メモリ１０２に記憶された１画面分の画像データを読み出し、図２に示すような画像データを任意のｍ（ｍ：１以上の整数）個のブロックに分割する。
【００５４】
Ｓ６０３において、ＷＢ制御部１０３は、図７のＳ７２９及びＳ７３０にて記憶したフラグを参照し、対象ブロックが白検出対象領域であるか否かを判定する。対象ブロックが白検出対象領域である場合、処理はＳ６０４に移行する。一方、対象ブロックが白検出対象領域ではない場合（即ち、対象ブロックが白検出対象外領域である場合）、処理はＳ６０８に移行する。
【００５５】
Ｓ６０４においては、Ｓ４０２と同様に、ブロック（１〜ｍ）毎に、画素値を各色に加算平均して色平均値（Ｒ［ｉ］，Ｇ［ｉ］，Ｂ［ｉ］）を算出し、式（１）を用いて色評価値（Ｃｘ［ｉ］，Ｃｙ［ｉ］）を算出する。
【００５６】
Ｓ６０５は、図４のＳ４０３と同様、図３の白検出範囲３０１に含まれるかどうかを判断する。ただし、Ｓ６０１で実行した図７のＳ７０５の処理によって空判定が「検出対象（大空）」と記憶している場合、画面全体の輝度に応じて白検出範囲を図８の８０１のように縮小する白検出範囲変更を行う。
【００５７】
Ｓ６０６は、（式２）のSw[i]を求める処理である。Ｓ６０１の処理によって、低色温度側の重み下げフラグがONである場合の白検出範囲を示したのが図３（ｂ）である。図３（ｂ）の３０２は斜線で示した低色温度側の領域について重みを下げることを示している。Ｓ６０４で算出した色評価値（Cx[i]、Cy[i]）が３０２の低色温度側領域に入る場合には、Sw[i]を０〜１の間の任意の値とすることで重み下げを行う。このように、白検出範囲内における重みを変更する白検出重み変更を行う。
【００５８】
グリーン側の重みを下げる場合も同様に、色評価値がy座標（Cy）の負方向の所定の領域に入る場合にSw[i]を任意の値として重み下げを行う。
Ｓ６０７は、Ｓ６０４で算出した色評価値（Cx[i]、Cy[i]）がこの白検出範囲３０１に含まれる場合にそのブロックが白色であると判断して、そのブロックの色平均値（R[i]、G[i]、B[i]）を積算していく処理である。（式２）を用いて色平均値を積算していくが、このときＳ６０６で求めたSw[i]を用いることで重みを適用する。
【００５９】
Ｓ６０８において、ＷＢ制御部１０３は、全てのブロックについて前述した処理を行ったか否かを判定する。未処理のブロックが存在する場合、処理はＳ６０３に戻って前述した処理を繰り返す。一方、全てのブロックについて処理を行った場合、処理はＳ６０９に移行する。
【００６０】
Ｓ６０９は、図４のＳ４０６と同様、得られた色平均値の積分値（sumR1、SumG1、SumB1）から、（式３）を用いて、WB補正値（ＷＢCol＿R、ＷＢCol＿G、ＷＢCol＿B）を算出する。
【００６１】
以上、図６、図７及び図３を用いて、画面内の領域識別処理を用いたホワイトバランス補正値の算出方法について説明した。
なお、本実施形態の説明においては、図６のＳ６０６においてSw[i]を用いて重み下げをおこなう方法について説明したが、Sw[i]を０にすることで重みを０として白検出範囲を狭くすることも可能である。
（他の実施形態）
本発明は、複数の機器（例えばホストコンピュータ、インターフェイス機器、カメラヘッドなど）から構成されるシステムを適用しても、一つの機器からなる装置（例えば、デジタルスチルカメラ、デジタルビデオカメラなど）に適用してもよい。
【００６２】
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワークまたは各種のコンピュータ読み取り可能な記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６３】
１０１  撮像素子
１０２  メモリ
１０３  ＷＢ制御部
１０４  色変換マトリックス回路
１０５  ＬＰＦ回路
１０６  ＣＳＵＰ回路
１０７  ＲＧＢ変換回路
１０８  γ補正回路
１０９  色輝度変換回路
１１０  ＪＰＥＧ圧縮回路
１１１  記録回路
１１２  Ｙ生成回路
１１３  エッジ強調回路
１１４  制御回路
１１５  ＣＰＵ
１１６  認識回路
【図１】
2015080046.tif 000004
【図２】
2015080046.tif 000005
【図３】
2015080046.tif 000006
【図４】
2015080046.tif 000007
【図５】
2015080046.tif 000008
【図６】
2015080046.tif 000009
【図７】
2015080046.tif 000010
【図８】
2015080046.tif 000011