(57)【特許請求の範囲】
【請求項１】
ホワイトバランス処理対象の画像を複数のブロックに分割するブロック分割手段と、
分割された各ブロックごとに、当該ブロック内の画素値に基づき当該ブロックの代表色を求める代表色算出手段と、
前記各ブロックごとかつ想定する各光源ごとに、当該光源下での白色物体の色の色差成分と当該ブロックの代表色の色差成分との距離を求め、これら各距離に基づき前記各光源が前記各ブロックのシーンを照明している信頼度を推定するブロック信頼度推定手段と、
前記各光源ごとについて、各ブロックの代表色を当該ブロックについての当該光源の信頼度に従って加重平均することにより、当該光源の画像全体に対する寄与成分を推定する光源寄与成分推定手段と、
前記各光源ごとに、当該光源の各ブロックについての信頼度を前記画像中の全ブロックにわたって総和することにより、前記画像全体についての当該光源の信頼度を推定する全体信頼度推定手段と、
前記光源寄与成分推定手段で推定された前記各光源の画像全体に対する寄与成分を、前記全体信頼度推定手段で推定された前記各光源の画像全体についての信頼度に従って加重平均することにより、前記画像全体のシーンを照明する照明色を推定する照明色推定手段と、
推定した前記照明色を打ち消すよう、前記画像の各画素に対してホワイトバランス処理を行うホワイトバランス手段と、
を有するオートホワイトバランス装置。
【請求項２】
請求項１記載の装置であって、
前記ブロック信頼度推定手段は、前記距離が大きくなるにつれて単調に減少する連続関数を用いて前記信頼度を推定することを特徴とする装置。
【請求項３】
請求項２記載の装置であって、
前記信頼度を求めるために用いる前記連続関数は、前記各光源ごとに個別に用意されることを特徴とする装置。
【請求項４】
請求項１記載の装置であって、さらに、
前記各ブロックごとに、そのブロックの前記画像内での位置に応じて定められる係数により、前記ブロック信頼度推定手段で推定された前記信頼度を修正する手段を有することを特徴とする装置。
【請求項５】
請求項１記載の装置であって、
前記各光源ごとについて、前記ブロック信頼度推定手段で推定された各ブロックについての前記信頼度を、前記ブロックの代表色の輝度成分に応じて修正する手段を有することを特徴とする装置。
【請求項６】
請求項５記載の装置であって、
前記各ブロックについての前記信頼度を修正する手段は、前記各光源ごとに個別に用意した連続関数を用いて修正を行うことを特徴とする装置。
【請求項７】
請求項１記載の装置であって、さらに、
前記ブロックからサンプリングした画素の画素値の分散を求める手段と、
前記ブロック信頼度推定手段で推定された信頼度を、前記画素値の分散が大きいほど値が小さくなる所定の関数に従って修正する手段と、
を有する装置。
【請求項８】
請求項１記載の装置であって、さらに、
前記ブロックに含まれる飽和画素の数をカウントする手段と、
前記ブロック信頼度推定手段で推定された信頼度を、前記飽和画素の数が大きいほど値が小さくなる所定の関数に従って修正する手段と、
を有する装置。
【請求項９】
請求項１記載の装置であって、
被写体の輝度を検出する被写体輝度検出手段と、
検出した被写体の輝度に応じて、前記光源寄与成分推定手段で推定された前記各光源ごとの寄与成分を修正する修正手段と、
を更に含み、
前記照明色推定手段は、前記修正手段による前記寄与成分の修正結果に基づき、前記照明色を推定することを特徴とする装置。
【請求項１０】
請求項１記載の装置であって、
前記各光源ごとに、前記光源寄与成分推定手段で推定された前記各光源ごとの寄与成分を、当該光源について予め用意されている標準色により修正する第二の修正手段を更に含み、
前記照明色推定手段は、前記第二の修正手段による前記寄与成分の修正結果に基づき前記照明色を推定することを特徴とする装置。
【請求項１１】
請求項１記載の装置であって、
前記想定する各光源には、昼間の日光と昼間の日陰とが含まれることを特徴とする装置。
【請求項１２】
撮影された画像に対してオートホワイトバランス調整を行う方法であって、
（ａ）ホワイトバランス処理対象の画像を複数のブロックに分割し、
（ｂ）分割された各ブロックごとに、当該ブロック内の画素値に基づき当該ブロックの代表色を算出し、
（ｃ）前記各ブロックごとかつ想定する各光源ごとに、当該光源下での白色物体の色の色差成分と当該ブロックの代表色の色差成分との距離を求め、これら各距離に基づき前記各光源が前記各ブロックのシーンを照明している信頼度を推定し、
（ｄ）前記各光源ごとについて、各ブロックの代表色を当該ブロックについての当該光源の信頼度に従って加重平均することにより、当該光源の画像全体に対する寄与成分を推定し、
（ｅ）前記各光源ごとに、当該光源の各ブロックについての信頼度を前記画像中の全ブロックにわたって総和することにより、前記画像全体についての当該光源の信頼度を推定し、
（ｆ）推定された前記各光源の画像全体に対する寄与成分を、推定された前記各光源の画像全体についての信頼度に従って加重平均することにより、前記画像全体のシーンを照明する照明色を推定し、
（ｇ）推定した前記照明色を打ち消すよう、前記画像の各画素に対してホワイトバランス処理を行う、
ことを特徴とする方法。
【請求項１３】
請求項１２記載の方法であって、
（ｃ１）前記各光源ごとについて、前記ステップ（ｃ）で推定された前記各ブロックについての前記信頼度を、当該ブロックの代表色の輝度成分に応じて修正し、
ステップ（ｄ）以降の各ステップでは、前記ステップ（ｃ１）で修正された前記信頼度に基づき処理を行うことを特徴とする方法。
【請求項１４】
請求項１３記載の方法であって、
前記ステップ（ｃ１）では、前記各光源ごとに個別に用意した連続関数を用いて修正を行うことを特徴とする方法。
【請求項１５】
請求項１３記載の方法であって、
前記想定する各光源には、昼間の日光と昼間の日陰とが含まれることを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子スチルカメラやビデオカメラなどに用いられるオートホワイトバランス装置に関する。
【０００２】
【従来の技術】
ビデオカメラやデジタルスチルカメラでは、白い被写体を白く再現するために、オートホワイトバランス調整が行われている。従来のオートホワイトバランス方式としては、画像全体の平均が無彩色となるように各画素の信号のＲＧＢ成分（赤、緑、青の三原色成分）のバランスを調整する方式がよく知られている。しかしながらこの方式では、有彩色が画像の大部分の領域を占めている場合、誤ったホワイトバランス調整を行うことになりやすいという欠点があった。
【０００３】
このような誤ったホワイトバランス調整はカラーフェイリアと呼ばれる。このカラーフェイリアを軽減するオートホワイトバランス調整方式として、特開平５−２９２５３３号公報に示される技術が知られている。この技術では、画像を複数のブロックに分割し、各ブロックのＲＧＢの平均値を計算し、その平均値が予め定めた範囲に属しているブロックのみを抽出する。そして、抽出したブロック群のＲＧＢの平均値が無彩色になるように、ＲＧＢ各成分の調整を行う。
【０００４】
ところが、これらの方式は、被写体を照明する光源が限定されている場合には効果が得られたが、想定外の光源で照明される場合や複数種類の光源により同時照明される場合などには十分なホワイトバランス調整を行うことができなかった。
【０００５】
そこで、本出願人は、特開平８−２８９３１４号公報に開示した改良されたオートホワイトバランス調整装置を提案した。この装置では、画像を複数のブロックに分割し、蛍光灯下で白い対象物を撮影したと判定されるブロック群、太陽光又はタングステン光下で白い対象物を撮影したと判定されるブロック群、画像中で最も明るいブロックに近い色を持つブロック群、をそれぞれ抽出する。そして、それら各ブロック群ごとにＲＧＢ各成分の平均値を求め、それらを予め定めた規則に従って混合した値をホワイトバランス調整信号として用いる。この装置では、画像中で最も明るいブロックに近似した色のブロック群のＲＧＢの平均値をホワイトバランス信号に反映させることにより、想定外の光源下や複数種類の光源下でも、適切なホワイトバランス調整を行うことができる。
【０００６】
【発明が解決しようとする課題】
上記従来方式は、各光源に対して固定的に定められた領域（光源領域）に対して各ブロックの色差の平均値が含まれるか否かという二値的な弁別の結果を用いているため、撮影シーンの変化によってホワイトバランスの挙動が不安定になりやすいと言う問題があった。例えば、ある光源領域に属していたあるブロックが、撮影シーンが少し変化しただけで、その光源領域に属さないものとなる可能性があり、このような二値的な急激な変化がホワイトバランスの不安定さを惹起するおそれがあった。
【０００７】
本発明は、この問題を解決するためになされたものであり、安定したホワイトバランス調整を行うことができるオートホワイトバランス装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明に係るオートホワイトバランス装置は、ホワイトバランス処理対象の画像を複数のブロックに分割するブロック分割手段と、分割された各ブロックごとに、当該ブロック内の画素値に基づき当該ブロックの代表色を求める代表色算出手段と、前記各ブロックごとかつ想定する各光源ごとに、当該光源下での白色物体の色の色差成分と当該ブロックの代表色の色差成分との距離を求め、これら各距離に基づき前記各光源が前記各ブロックのシーンを照明している信頼度を推定するブロック信頼度推定手段と、前記各光源ごとについて、各ブロックの代表色を当該ブロックについての当該光源の信頼度に従って加重平均することにより、当該光源の画像全体に対する寄与成分を推定する光源寄与成分推定手段と、前記各光源ごとに、当該光源の各ブロックについての信頼度を前記画像中の全ブロックにわたって総和することにより、前記画像全体についての当該光源の信頼度を推定する全体信頼度推定手段と、前記光源寄与成分推定手段で推定された前記各光源の画像全体に対する寄与成分を、前記全体信頼度推定手段で推定された前記各光源の画像全体についての信頼度に従って加重平均することにより、前記画像全体のシーンを照明する照明色を推定する照明色推定手段と、推定した前記照明色を打ち消すよう、前記画像の各画素に対してホワイトバランス処理を行うホワイトバランス手段と、を有する。
【０００９】
この装置は、各光領域に対して各ブロックの色差平均値が含まれるか否かという二値的な弁別の結果を用いる代わりに、ブロック代表色の色差と各光源の典型色差との距離から求めた信頼度を用いてホワイトバランス調整を行う。両色差値間の距離は連続な値をとる。したがって、本発明によるホワイトバランス調整処理は、ホワイトバランスの挙動を撮影シーンの変化に対して連続的に追従させることが可能になり、二値的な弁別結果に基づく調整をしていた従来技術よりも滑らかなホワイトバランス調整が行える。
【００１０】
本発明の好適な態様に係る装置は、ブロック信頼度推定手段で推定された各ブロックについての前記信頼度を、前記ブロックの代表色の輝度成分に応じて修正する手段を備える。
【００１１】
シーンの明るさによりそのシーンの色が照明の色を反映している度合いは異なる。この態様によれば、そのようなシーンの明るさ、すなわち輝度に応じて各光源がシーンを照明している信頼度を修正できるので、照明色の推定の精度が向上し、この結果ホワイトバランス調整の精度も向上する。
【００１２】
この態様において、信頼度の修正を、各光源ごとに個別に用意した関数を用いて行うようにすれば、各光源の明るさに関する知識を用いて各光源がシーンを照明している信頼度を修正することができる。また、修正に用いる関数を、輝度に対して値が連続的に変化する連続関数とすることにより、滑らかなホワイトバランス調整が可能となる。
【００１３】
また、本発明の別の好適な態様では、光源として、昼間の直射日光と昼間の日陰の光とを区別して取り扱うことにより、画像に日光が当たっている部分と日陰の部分の両方が含まれる場合でも、柔軟にホワイトバランスを制御することができる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態（以下実施形態という）について、図面に基づいて説明する。
【００１５】
図１は、本実施形態のオートホワイトバランス装置１０の構成を示す機能ブロック図である。このオートホワイトバランス装置１０は、典型的には、電子スチルカメラやビデオカメラなどのカメラ装置に組み込まれる。このオートホワイトバランス装置１０は、カメラ装置の撮像装置２０から入力された画像信号からホワイトバランス調整信号を生成し、この信号を用いて園が増進号に対してホワイトバランス調整を施して出力する。本実施形態では、画像のシーン（場景）を照明する光源の色（照明色と呼ぶ）を推定し、この推定結果に基づきホワイトバランス調整を行う。
【００１６】
図２は、このオートホワイトバランス装置が行う処理の手順を示すフローチャートである。
【００１７】
以下、図１及び図２を参照して、オートホワイトバランス装置１０の詳細な構成及びその処理内容を詳しく説明する。
【００１８】
撮像装置２０から出力される画像信号は、ブロック分割回路１０２によってブロック単位に分割される（Ｓ１０）。図３は、画像のブロック分割の一例を示す。この例では、１フレームの画像２００は、それぞれｍ×ｍ個の画素からなる１６（＝４×４）個の等しいブロック２１０に分割される。図３に示したブロック分割はあくまで一例であり、これ以外の分割法を用いてももちろんよい。この回路１０２で分割された各ブロックの画像データは、代表色計算回路１０４、分散係数計算回路１０６、飽和係数計算回路１０８、光源寄与計算回路１１４にそれぞれ入力される。
【００１９】
代表色計算回路１０４は、各ブロックごとの画像データに基づき、各ブロックの平均的な色である代表色を求める（Ｓ１２）。この回路１０４の詳細な処理内容は以下の通りである。すなわち、代表色計算回路１０４は、まず１ブロックの全画素の画素値の平均値を求める。撮像装置２０の画像信号がＲＧＢ（赤、緑、青）で表されている場合、代表色計算回路１０４は各画素のＲＧＢ値を、ＲＧＢの各成分ごとに、当該ブロックの全画素にわたって平均する。この平均（Ｒ，Ｇ，Ｂ）が当該ブロックの代表色である。次に、代表色計算回路１０４は、その平均値（Ｒ，Ｇ，Ｂ）を、輝度（Ｌ）及び２つの色差成分（ｕ，ｖ）の組（Ｌ，ｕ，ｖ）に線形変換する。この変換は次式で表される。
【００２０】
【数１】
0004081213.tif 000002
なお、変換に用いる変換行列は、撮像装置２０の入力色特性に依存するものであり、式（１）に示したものはあくまでその一例にすぎない。また、画像信号がＲＧＢ以外の表色系で表されている場合は、その表色系に応じた変換行列を用いて輝度及び色差成分を求めればよい。また、以上の処理では、ブロックの代表色を求めるに当たり、ブロックの全画素についての平均を行ったが、この代わりに、ブロックの画素の中から予め定めたサンプリング規則に従って抽出した画素の平均を用いるようにしてもよい。
【００２１】
このような処理が、１画像を構成する各ブロックごとに対して行われる。求められた各ブロックの代表色の輝度・色差表現（Ｌ，ｕ，ｖ）はブロック信頼度計算回路１１０に入力される。以下、ブロックの識別番号をｉ（ｉ＝１，２，…，ｎ：ｎは画像の総ブロック数）とし、ｉ番目のブロック（ブロックｉと記す）の代表色を（Ｌi，ｕi，ｖi）と表現する。
【００２２】
以上の代表色計算回路１０４の処理と並行して、分散係数計算回路１０６及び飽和係数計算回路１０８が各々の処理を実行する。
【００２３】
分散係数計算回路１０６は、各ブロックの画像データを受け取り、各ブロックごとにその分散係数Ｃｖを求める。分散係数Ｃｖは、後述するブロック信頼度の補正のための係数であり、当該ブロックの画素値の分散に応じて決まる。ブロックｉの分散係数をＣｖiと表す。分散係数計算回路１０６は、まずブロックの画素群の中から予め定めた方法で画素をサンプリングし、それらサンプリングした画素群の画素値の分散を求める。この場合、回路１０６は、例えば、Ｒ，Ｇ，Ｂの各成分ごとにサンプリングした画素群における分散を求め、これら各成分ごとの分散を例えば平均するなどして全体的な分散値を求める。そして、分散係数計算回路１０６は、このようにして求めた分散値に基づき分散係数を求める。分散係数Ｃｖは、予め用意した関数を用いて求める。図４は、この関数の一例のグラフである。図４に示すように、回路１０６では、分散値が大きくなるほど、それに対応する分散係数が小さくなるような関数を用いる。この関数は、例えば回路１０６内にあらかじめ登録されている。
【００２４】
飽和係数計算回路１０８は、各ブロックの画像データを受け取り、各ブロックごとに、その飽和係数Ｃｓを求める。飽和係数Ｃｓは、後述するブロック信頼度の補正のための係数であり、当該ブロックにおける飽和画素の数に応じて決まる。飽和画素とは、画素値の１以上の成分（例えばＲ、Ｇ、またはＢ）が、その成分の上限値（例えば８ビット表現ならば２５５）に達している画素をいう。ブロックｉの飽和係数をＣｓiと表す。飽和係数計算回路１０８は、まずブロックの中の飽和画素の数をカウントし、このカウント結果から飽和係数を求める。飽和係数Ｃｓは、予め用意した関数を用いて求める。図５は、この関数の一例のグラフである。図５に示すように、回路１０８では、飽和画素数が大きくなるほど、それに対応する飽和係数が小さくなるような関数を用いる。ここで用いる関数は、例えば回路１０８内にあらかじめ登録されている。
【００２５】
分散係数計算回路１０６及び飽和係数計算回路１０８で求められた分散係数及び飽和係数は、信頼度修正回路１１２に入力される。
【００２６】
代表色計算回路１０４にてブロックの代表色の輝度・色差表現（Ｌ，ｕ，ｖ）が求められると、次にブロック信頼度計算回路１１０が、予め想定した各光源ごとに、その光源がそのブロックを照明している信頼度（ブロック信頼度と呼ぶ）を求める（Ｓ１４）。あるブロックについてのブロック信頼度は、想定した光源ごとに求められる。以下、このＳ１４の処理を詳しく説明する。
【００２７】
本実施形態では、光源として、太陽光、タングステン光（例えば白熱灯など）、蛍光灯光を想定する。これらは、一般ユーザの写真撮影やビデオ撮影における照明光源として一般的なものである。前述した特開平８−２８９３１４号公報開示の従来技術では、太陽光とタングステン光とを一括して扱っていたが、本実施形態ではこれらを別々に取り扱う。これにより、太陽光とタングステン光のスペクトルの差をよりよく反映したホワイト処理が可能になる。
【００２８】
更に、本実施形態では、太陽光を昼光（昼間の日なたの光）と日陰光（昼間の日陰の光）とに分けて取り扱う。日なたと日陰では、同じ太陽光の影響下であるといっても、前者は色温度が比較的低く（赤っぽい）、後者は色温度が比較的高い（青っぽい）という違いがある。したがって、両者を一括して取り扱ったのでは、日なた、日陰とも中途半端なホワイトバランスになるおそれがあり、更に、日なたの部分と日陰の部分が混在するシーンで柔軟なホワイトバランスのコントロールが困難になる。そこで本実施形態では、昼光と日陰光とを別の光源として区別して取り扱うことにより、そのような問題を解決している。結局、本実施形態では、昼光、日陰光、タングステン光、蛍光灯光の４種類の光源を想定することになる。
【００２９】
ブロック信頼度計算回路１１０は、これら想定した各光源ごとに、その光源下での白色物体の色の色差成分（以下、その光源の典型色差と呼ぶ）と、ブロックの代表色の色差成分（ｕ，ｖ）との距離Ｄを求める。ここで、光源の識別番号をｊ（ｊ＝１，２，…，ｍ：ｍは想定光源の個数。本実施形態ではｍ＝４）とし、識別番号ｊの光源を光源ｊと表現する。ここでは、便宜上光源１を昼光、光源２を日陰光、光源３をタングステン光、光源４を蛍光灯光とする。ブロックｉの代表色の色差成分（ｕi，ｖi）と光源ｊの典型色差（Ｕj，Ｖj）との距離Ｄijは、例えば次式に従って求める。
【００３０】
【数２】
0004081213.tif 000003
ここで、ｄ11、ｄ12、ｄ22はそれぞれ所定の定数である。各光源ごとに、その特性に合わせてこれら定数ｄ11、ｄ12、ｄ22の組を選択することにより、光源特性にあった適切な距離を定義できる。この場合、それら定数の値は、各光源ごとに、実験などで予め求め、ブロック信頼度計算回路１１０又はカメラに設けられた記憶装置（ＲＯＭなど。図示省略）に記憶しておく。また、距離の定義には、上記式（２）以外のものを用いることも可能である。この場合、光源ごとに、その特性に応じた異なる距離の定義式を用いることも可能である。
【００３１】
以上の距離Ｄの計算が、１つのブロックｉに対し、全想定光源ｊについて行われる。
【００３２】
次にブロック信頼度計算回路１１０は、求めた距離Ｄijから、ブロックｉが光源ｊにより照明されている信頼度Ｒｄijを求める。この信頼度Ｒｄijは、色差の観点から見た信頼度である。信頼度Ｒｄijは、予め定めた関数ｆを用いて距離Ｄijから求める。光源の種類ごとに、距離Ｄと信頼度Ｒｄとの関係が異なるので、この関数ｆは光源ｊごとに個別に用意することが好適である。光源ｊについての信頼度関数をｆjと表すと、ブロックｉが光源ｊにより照明されている信頼度Ｒｄijは次式により求められる。
【００３３】
【数３】
Ｒｄij＝ｆj（Ｄij）        …（３）
図６に信頼度関数ｆjの一例を示す。図６に示すように、関数ｆjは、距離Ｄijが大きくなるに従って値が減少する関数である。この関数を距離に関して連続的に変化する関数とすることにより、二値的な弁別結果をベースにしたことによる従来技術の問題を回避できる。各光源ごとの信頼度関数ｆjは、予め実験等により求め、装置内に記憶しておく。
【００３４】
また、ブロック信頼度計算回路１１０は、このようにして求めた色差の観点からの信頼度Ｒｄに対し、輝度の観点からの修正を加える。これは、蛍光灯下での白い物体の明るさの分布、直射日光（昼光）下での白い物体の明るさの分布、日陰での白い物体の明るさの分布、などがそれぞれ異なるためである。したがって、ブロックｉの輝度（明るさ）Ｌiに応じて、ブロックｉが光源ｊにより照明されている可能性を求めることができる。ここでは、この可能性を係数として、前に求めた色差に基づく信頼度Ｒｄを修正する。
【００３５】
このため、ブロック信頼度計算回路１１０は、各ブロックｉごとに、輝度の観点から見てそのブロックｉが光源ｊで照明されている可能性を示す輝度係数Ｃｌijを求める。輝度係数Ｃｌijは、光源ｊごとに予め定められた関数ｇjに、ブロックiの輝度Ｌiを適用することにより求められる。すなわち、
【数４】
Ｃｌij＝ｇj（Ｌi）      …（４）
図７に関数ｇjの一例を示す。関数ｇjは、輝度Ｌiの関数であり、この例は輝度が大きくなるほど係数Ｃｌは大きくなるものを示している。これは明るい物ほど光源の影響を受けている可能性が高いことを考慮したものである。この関数を輝度に関して連続的に変化する関数とすることにより、ホワイトバランスに対するブロック輝度Ｌiの影響を滑らかなものとすることができる。これは、ホワイトバランスの挙動の安定化に役立つ。なお、この輝度係数の特性は、光源ｊごとに異なる。各光源ごとの輝度係数関数ｇjは、予め実験等により求め、装置内に記憶しておく。
【００３６】
そして、ブロック信頼度計算回路１１０は、色差に基づく信頼度Ｒｄに輝度係数Ｃｌを乗じることにより、信頼度Ｒijを求める。信頼度Ｒijは、色差及び輝度の両方の観点から見て、ブロックｉが光源ｊで照明されている可能性を示す値である。すなわち、信頼度Ｒijは、
【数５】
Ｒij＝Ｃｌij*Ｒｄij      …（３）
により求められる。
【００３７】
ブロック信頼度計算回路１１０は、以上の処理を画像中の全てのブロックｉに対して、各光源ｊごとに実行する。求められた信頼度Ｒijの情報は、信頼度修正回路１１２に入力される。
【００３８】
信頼度Ｒijが推定されると、次に信頼度修正回路１１２が、その信頼度に対して修正を加える（Ｓ１６）。この回路１１２では、ブロックｉに対する光源ｊの信頼度Ｒijを、当該ブロックｉについての前述の分散係数Ｃｖi及び飽和係数Ｃｓiと、当該ブロックｉの画像全体の中での位置によって決まる位置係数Ｃｐiとにより信頼度Ｒijを補正する。具体的には、これら係数を信頼度Ｒijにかけることにより、信頼度を修正する。修正された信頼度（修正信頼度と呼ぶ）Ｒｍijとすると、
【数６】
Ｒｍij＝Ｃｖi*Ｃｌi*Ｃｐi*Ｒij      …（６）
である。
【００３９】
ここで、位置係数Ｃｐiは、ブロックｉが画像の中央に近いほど大きい値になるように予め定めておく。これは、一般に、画像の中央に近いブロックほど画像の中での重要度が高いと考えられるからである。位置的に見て重要度の高いブロックに対し高い位置係数を与えることにより、重要度の高いブロックの色がホワイトバランス制御により強く反映されることになる。図８は、位置係数の設定例を示す図である。この例では、画像中央部のブロック２１０−１には位置係数として１．０、画像周縁部のブロック２１０−２には位置係数として０．５が与えられている。これら位置係数は、装置内に予め記憶されている。
【００４０】
また、この修正処理では、分散係数Ｃｖi、飽和係数Ｃｓiも考慮している。これには次のような意義がある。
【００４１】
まず、分散係数Ｃｖiは、前述のように、ブロックｉ内での画素値の分散が大きくなるほどその値が小さくなるように定められている。したがって、ブロックｉの分散が大きいほど分散係数Ｃｖiは小さくなり、この結果修正信頼度Ｒｍijの値も小さくなる。このような修正を行うのは、ブロックｉの画素値の分散が大きいほど、そのブロックの代表色（Ｌi，ｕi，ｖi）から求めた信頼度Ｒij自体の信頼性が低いと考えられるためである。分散が大きいほどそのブロックの各画素値のばらつきが大きいので、その画素値から求めた代表色がそのブロックの色の傾向（すなわち照明の傾向）を表している可能性が低いと考えられる。したがって、そのような信頼性の低い代表色から求めた信頼度Ｒijは、信頼性が低いと考えられるので、その信頼度Ｒijのホワイトバランスへの影響を小さくするために、分散係数Ｃｖiの値を小さくする。
【００４２】
また、飽和係数Ｃｓiは、前述のように、ブロックｉ内での飽和画素の数が大きくなるほどその値が小さくなる。したがって、ブロックｉ内の飽和画素数が多いほど飽和係数Ｃｓiは小さくなり、この結果信頼度Ｒijは小さい値に修正されることになる。このような修正を行うのは、ブロックｉの飽和画素数が大きいほど、そのブロックの代表色（Ｌi，ｕi，ｖi）から求めた信頼度Ｒij自体の信頼性が低いと考えられるためである。飽和画素は、ＲＧＢ各成分の上限値を超える部分がカットされている可能性があるので、対象物の正しい色を表していないおそれがある。したがって、飽和画素が多いほど、ブロックの代表色がそのブロックの色の傾向（したがって照明の傾向）を表している可能性が低くなると考えられる。そのような信頼性の低い代表色から求めた信頼度Ｒijは、それ自体信頼性が低いと考えられるので、ここでは、その信頼度Ｒijのホワイトバランスへの影響を小さくするために、飽和係数Ｃｓiの値を小さくするのである。
【００４３】
Ｓ１６では、以上の信頼度修正処理が、各ブロックｉごとに、及び各光源ｊごとに実行される。求められた修正信頼度Ｒｍijは光源寄与計算回路１１４及び全体信頼度計算回路１１６に入力される。
【００４４】
全ブロックについて修正信頼度Ｒｍijが求められると、次に、画像のシーン全体についての各光源ｊの信頼度、及び各光源ｊの画像全体への寄与成分の推定が行われる（Ｓ１８）。
【００４５】
光源ｊの画像全体への信頼度（全体信頼度と呼ぶ）Ｒｔjは、全体信頼度計算回路１１６により計算される。回路１１６は、各ブロックｉの修正信頼度Ｒｍijを画像中の全ブロックについて総和することにより、全体信頼度Ｒｔijを求める。すなわち、
【数７】
Ｒｔj＝ΣＲｍij（ただしΣはｉ＝１〜ｎについての総和）    …（７）
である。
【００４６】
光源寄与成分は、光源寄与計算回路１１６により求められる。光源ｊの光源寄与成分は、画像全体の色合いに対して各光源ｊが与えている影響のことであり、言い換えれば、その光源ｊがその画像のシーンを照明することで、その画像に現れると推定される色の傾向である。光源寄与成分は、輝度及び色差の組で表される。ここでは、画像全体に対する光源ｊの寄与成分を（Ｌｃj，ｕｃj，ｖｃj）と表す。
【００４７】
光源寄与計算回路１１６は、各ブロックごと各光源ごとの修正信頼度Ｒｍij、各ブロックの代表色（Ｌi，ｕi，ｖi）、及び各光源の全体信頼度Ｒｔjに基づき、次式に従って光源寄与成分を推定する。
【００４８】
【数８】
Ｌｃj＝（ΣＲｍij・Ｌｉ）／Ｒｔj
ｕｃj＝（ΣＲｍij・ｕｉ）／Ｒｔj
ｖｃj＝（ΣＲｍij・ｖｉ）／Ｒｔj        …（８）
式（８）において、Σはｉ＝１〜ｎ（ｎは総ブロック数）についての総和を示す。この計算は、各ブロックｉの輝度及び色差を、それぞれ各ブロックｉの修正信頼度Ｒｍijによって、全ブロックにわたって加重平均する処理と等価である。
【００４９】
このようにして当該画像のシーン全体に対する各光源ｊの寄与成分が推定されると、次にこの推定値に対して光源寄与修正回路１１８が修正を加える（Ｓ２０）。この修正は大きく分けて２段階からなる。
【００５０】
第一段階では、各光源ｊの寄与成分を、各光源ｊごとに予め定められた標準色と加重平均する。光源ｊの標準色は、光源ｊの照明下でのシーンの標準的な色（すなわち輝度及び色差の組）であり、これは予めその光源ｊで各種のシーンを撮影し、それら撮影画像の輝度、色差を集計することで求めておく。各光源ｊの標準色（Ｌｓj，ｕｓj，ｖｓj）は、装置内に予め記憶しておく。この第一段階の修正処理は、次式で表される。
【００５１】
【数９】
Ｌｍj＝ｗｓj・Ｌｃj＋（１−ｗｓj）・Ｌｓj
ｕｍj＝ｗｓj・ｕｃj＋（１−ｗｓj）・ｕｓj
ｖｍj＝ｗｓj・ｖｃj＋（１−ｗｓj）・ｖｓj        …（９）
ここで（Ｌｍj，ｕｍj，ｖｍj）は寄与成分の修正結果であり、ｗｓj（ただし０≦ｗs≦１）は予め定めた重みである。この重みｗｓjは、各光源ｊごとに予め実験等により求めておき、装置内に記憶しておく。
【００５２】
第一段階の修正は、光源寄与成分（Ｌｃj，ｕｃj，ｖｃj）に含まれる物体色の影響を低減するための修正である。画像に現れる色は、光源からの照明光の色（照明色）と物体それ自体の色（物体色）の両方から影響を受ける。ホワイトバランスは照明光の色温度に合わせて白い物が白く見えるように色補正することである。したがって照明光の色が精度よく推定できれば、精度のよいホワイトバランス調整が行える。しかしながら、実際の画像は、白色以外の物体が数多く含まれたシーンを撮影したものがほとんどであり、画像の色には物体色の影響が多分に含まれている。光源寄与成分と当該光源ｊの標準色とを加重平均することで、光源寄与成分に含まれる物体色の影響を相対的に低減することができ、光源寄与成分をより照明の色に近い値に修正できる。
【００５３】
第二段階では、この第一段階の修正結果（Ｌｍj，ｕｍj，ｖｍj）に対し、被写体輝度を考慮した修正を加える。被写体輝度Ｌｏは、カメラ装置に設けられた被写体輝度検出装置３０にて検出される。この第二段階の修正では、修正回路１１８は、まず各光源ｊごとの修正係数Ｃｏjを求める。修正係数Ｃｏjは、光源ｊごとに用意された関数ｈjに、被写体輝度Ｌｏを適用することにより求める。すなわち、
【数１０】
Ｃｏj＝ｈj（Ｌｏ）      …（１０）
である。
【００５４】
図９に被写体輝度に基づく修正関数ｈjの一例を示す。この例では、被写体輝度Ｌｏが大きくなるにつれて修正係数Ｃｏが小さくなっており、被写体輝度がある値を超えると修正係数が０になっている。これは光源が蛍光灯である場合の関数ｈjの一例である。撮影シーンが蛍光灯照明下である場合、シーンが昼間の屋外である場合に比べて被写体が暗い。被写体輝度が非常に大きい場合、画像は屋外のシーンを撮影したものである可能性が高く、蛍光灯照明である可能性は低い。そこで、蛍光灯光源の場合、被写体輝度が高くなるにつれて修正係数Ｃｏが小さい値になるようにしている。タングステン光や日陰光のシーンの場合も、昼光シーンに比べて被写体輝度が低いと考えられるので、被写体輝度がある程度以上高くなると修正係数Ｃｏが小さくなるような関数ｈjを用いる。これら修正関数ｈjは、実験等により予め求めておき、装置内に記憶しておく。
【００５５】
そして、光源寄与修正回路１１８は、このようにして求めた修正係数Ｃｏを第一段階の修正結果（Ｌｍj，ｕｍj，ｖｍj）に乗じることにより、最終的な修正結果（Ｌｚj，ｕｚj，ｖｚj）を求める。すなわち、
【数１１】
Ｌｚj＝Ｃｏj・Ｌｍj
ｕｚj＝Ｃｏj・ｕｍj
ｖｚj＝Ｃｏj・ｖｍj        …（１１）
である。この修正結果（Ｌｚj，ｕｚj，ｖｚj）は、被写体輝度などのパラメータを考慮して修正された光源寄与成分となっている。この修正結果は、照明色推定回路１２０に入力される。
【００５６】
照明色推定回路１２０は、光源寄与修正回路１１８から入力された各光源ｊの光源寄与成分の修正結果（Ｌｚj，ｕｚj，ｖｚj）と、全体信頼度計算回路１１６で求められたシーン全体に対する各光源ｊの全体信頼度Ｒｔjとに基づき、当該画像の撮影シーンを照明する照明の色（照明色）を推定する（Ｓ２２）。この推定は、光源寄与成分の修正結果（Ｌｚj，ｕｚj，ｖｚj）を、各光源ｊの全体信頼度Ｒｔjを重みとして、想定する全光源について加重平均することにより行う。すなわち、照明色を（ＩＬ，Ｉｕ，Ｉｖ）とすると、
【数１２】
Ｗj＝Ｒｔj／（ΣＲｔj）
ＩＬ＝Σ（Ｗj*Ｌｚj）
Ｉｕ＝Σ（Ｗj*ｕｚj）
Ｉｖ＝Σ（Ｗj*ｖｚj）        …（１２）
式（１２）において、Σは全想定光源ｊについての総和である。
【００５７】
すなわち、このＳ２２では、シーンがそれら想定光源ｊで複合的に照明されているとの仮定の下で、加重平均によりその複合照明の照明色を推定している。この照明色は、その複合照明下での白色物体の色に対応する。求められた照明色（ＩＬ，Ｉｕ，Ｉｖ）は、ホワイトバランスゲイン計算回路１２２に入力される。
【００５８】
ホワイトバランスゲイン計算回路１２２は、受け取った照明色（ＩＬ，Ｉｕ，Ｉｖ）の情報に基づき、ホワイトバランス調整のためのゲイン（Ｒgain，Ｇgain，Ｂgain）を計算する（Ｓ２４）。この計算は、以下の式に基づき行われる。
【００５９】
【数１３】
0004081213.tif 000004
【数１４】
ＩMax＝ｍａｘ（ＩＲ，ＩＧ，ＩＢ）      …（１４）
【数１５】
Ｒgain＝ＩMax／ＩＲ
Ｇgain＝ＩMax／ＩＧ
Ｂgain＝ＩMax／ＩＢ          …（１５）
（ＩＲ，ＩＧ，ＩＢ）は、照明色のＲＧＢ表現である。求められるホワイトバランスゲイン（Ｒgain，Ｇgain，Ｂgain）は、この色の照明が白色物体で反射されたときの色（すなわち（ＩＲ，ＩＧ，ＩＢ）そのもの）をグレイ（すなわちＲ＝Ｇ＝Ｂ）に補正する値となる。求められたホワイトバランスゲインは、ホワイトバランス調整回路１２４に入力される。
【００６０】
ホワイトバランス調整回路１２４は、撮像装置２０から入力された画像の各画素値Ｒ，Ｇ，Ｂに対し、ホワイトバランスゲイン計算回路１２２で求めたゲインＲgain，Ｇgain，Ｂgainをそれぞれ乗じることにより、その画像のホワイトバランスを調整する（Ｓ２６）。したがって、オートホワイトバランス装置１０の出力端子１２６からは、次式、
【数１６】
Ｒout＝Ｒgain*Ｒ
Ｇout＝Ｇgain*Ｇ
Ｂout＝Ｂgain*Ｂ        …（１６）
によって求められた出力（Ｒout，Ｇout，Ｂout）が出力される。
【００６１】
以上、本発明の好適な実施の形態を説明した。以上説明したように、本実施形態では、各ブロックの代表色と各光源の典型色差との距離に基づいて、各ブロックが各光源で照明されている信頼度を推定し、その信頼度に基づきホワイトバランス調整を行う。信頼度は、距離に対する連続的な関数から求められるので、各ブロックが各光源に対応する範囲に含まれるか否かという二値的な弁別結果に基づきホワイトバランス調整を行っていた従来技術に比べ、ホワイトバランス制御の挙動が安定するという効果が得られる。
【００６２】
また、本実施形態では、色差に基づく信頼度を、ブロックの代表色の輝度に応じて修正することで、想定する各光源がシーンの輝度に与える影響に関する知識を折り込んだホワイトバランス制御が可能になる。この輝度に応じた修正は、輝度に関する連続的な関数に従って行うので、ホワイトバランス制御が滑らかに行われると言う利点もある。
【００６３】
また、本実施形態では、ブロック内の画素値の分散が大きくなるほど信頼度が小さくなるように補正する機構を設けたので、画素値のばらつきが大きい（すなわち照明光の色を表している可能性の低い）ブロックがホワイトバランス制御に与える影響を低減することができる。
【００６４】
また、本実施形態では、ブロック内の飽和画素数が大きくなるほど信頼度が小さくなるように補正する機構を設けたので、飽和画素数が大きい（すなわち画素値が正しい色を表していない可能性がある）ブロックがホワイトバランス制御に与える影響を低減することができる。
【００６５】
また、本実施形態では、光源と被写体輝度との関係に関する知識を用い、被写体輝度に応じてホワイトバランスを調整する機構を設けたので、より適切なホワイトバランス制御を行うことができる。
【００６６】
なお、以上の実施形態では、ブロックの代表色の色差から求めた信頼度を、代表色の輝度や、ブロック内の画素値の分散、ブロック内の飽和画素数、ブロックの画像内での位置、などに応じて修正したが、このような修正をまったく施さない信頼度を用いてホワイトバランス制御を行っても、従来技術に対してある程度の改善効果が得られる。この色差に基づく信頼度に対して、上記各項目についての修正を行うことにより、改善度合いが向上する。そして、より多くの項目に関して修正を行うほど、ホワイトバランス制御の精度が高くなる。
【図面の簡単な説明】
【図１】  実施形態のオートホワイトバランス装置の構成を示す図である。
【図２】  実施形態のオートホワイトバランス装置の処理手順を示す図である。
【図３】  ブロック分割の一例を示す図である。
【図４】  分散係数を求めるための関数の一例を示す図である。
【図５】  飽和係数を求めるための関数の一例を示す図である。
【図６】  ブロック信頼度を求めるための関数の一例を示す図である。
【図７】  輝度係数を求めるための関数の一例を示す図である。
【図８】  位置係数の設定例を示す図である。
【図９】  被写体輝度に基づく修正係数を求めるための関数の一例を示す図である。
【符号の説明】
１０  オートホワイトバランス装置、２０  撮像装置、３０  被写体輝度検出装置、１０２  ブロック分割回路、１０４  代表色計算回路、１０６  分散係数計算回路、１０８  飽和係数計算回路、１１０  ブロック信頼度計算回路、１１２  信頼度修正回路、１１４  光源寄与計算回路、１１６  全体信頼度計算回路、１１８  光源寄与修正回路、１２０  照明色推定回路、１２２  ホワイトバランスゲイン計算回路、１２４  ホワイトバランス調整回路。
【図１】
0004081213.tif 000005
【図２】
0004081213.tif 000006
【図３】
0004081213.tif 000007
【図４】
0004081213.tif 000008
【図５】
0004081213.tif 000009
【図６】
0004081213.tif 000010
【図７】
0004081213.tif 000011
【図８】
0004081213.tif 000012
【図９】
0004081213.tif 000013