(57)【特許請求の範囲】
【請求項１】
入力された画像を複数のブロックに分割するブロック分割手段と、
分割した各ブロック毎に、ブロック内の画素の各色値に基づき、ブロックを代表する輝度及び色差を含む代表値を算出する代表値計算手段と、
各ブロックの代表値に基づき、各ブロックの中から最高輝度のブロックを求める最高輝度ブロック探索手段と、
各ブロックの代表値における輝度に基づき、輝度閾値を決定する輝度閾値計算手段と、
最高輝度ブロックの代表値に基づき、色空間において最高輝度ブロックの代表値と類似した色を示す領域として高輝度領域を定め、ブロック群の中の前記輝度閾値より高い輝度を持つブロックの中から、高輝度領域に含まれる代表値を有するブロックを高輝度色ブロックとして抽出し、抽出した高輝度色ブロックの代表値の平均値を求める高輝度色ブロック平均値計算手段と、
想定した各光源に対応してそれぞれ設けられ、ブロック群の中の前記輝度閾値より高い輝度を持つブロックの中から、色空間において当該光源下での白色物体の色を示す領域として定められた当該光源領域に含まれる代表値を有するブロックを、当該光源に対応する光源ブロックとして抽出し、抽出した当該光源ブロックの代表値の平均値を求める光源ブロック平均値計算手段と、
高輝度色ブロックの代表値の平均値と、各光源ごとの光源ブロックの代表値の平均値と、に基づき、ホワイトバランス調整信号を算出するホワイトバランス調整信号計算手段と、
前記ホワイトバランス調整信号計算手段で求めたホワイトバランス調整信号を用いて、前記入力された画像の各画素に対してホワイトバランス調整を行うホワイトバランス手段と、
ブロックの代表値を、入力された画像の全ブロックについて平均した全ブロック平均値を算出する全ブロック平均値計算手段と、
を有し、
前記ホワイトバランス調整信号計算手段は、全ブロック平均値も考慮に入れてホワイトバランス調整信号を求め、全ブロック平均値がいずれの光源領域にも属さない場合は、前記全ブロック平均値を所定の小さい値に修正した上でホワイトバランス調整信号の計算に用いる、
ことを特徴とするオートホワイトバランス装置。
【請求項２】
入力された画像を複数のブロックに分割するブロック分割手段と、
分割した各ブロック毎に、ブロック内の画素の各色値に基づき、ブロックを代表する輝度及び色差を含む代表値を算出する代表値計算手段と、
各ブロックの代表値に基づき、各ブロックの中から最高輝度のブロックを求める最高輝度ブロック探索手段と、
各ブロックの代表値における輝度に基づき、輝度閾値を決定する輝度閾値計算手段と、
最高輝度ブロックの代表値に基づき、色空間において最高輝度ブロックの代表値と類似した色を示す領域として高輝度領域を定め、ブロック群の中の前記輝度閾値より高い輝度を持つブロックの中から、高輝度領域に含まれる代表値を有するブロックを高輝度色ブロックとして抽出し、抽出した高輝度色ブロックの代表値の平均値を求める高輝度色ブロック平均値計算手段と、
想定した各光源に対応してそれぞれ設けられ、ブロック群の中の前記輝度閾値より高い輝度を持つブロックの中から、色空間において当該光源下での白色物体の色を示す領域として定められた当該光源領域に含まれる代表値を有するブロックを、当該光源に対応する光源ブロックとして抽出し、抽出した当該光源ブロックの代表値の平均値を求める光源ブロック平均値計算手段と、
高輝度色ブロックの代表値の平均値と、各光源ごとの光源ブロックの代表値の平均値と、に基づき、ホワイトバランス調整信号を算出するホワイトバランス調整信号計算手段と、
前記ホワイトバランス調整信号計算手段で求めたホワイトバランス調整信号を用いて、前記入力された画像の各画素に対してホワイトバランス調整を行うホワイトバランス手段と、
被写体輝度を検出する手段と、
を有し、
前記光源ブロック平均値計算手段の一つとして、太陽を光源として想定した太陽光ブロック平均値計算手段を有し、
前記太陽光ブロック平均値計算手段は、被写体輝度が所定の閾値より高い場合は、太陽光に対応する前記光源領域を高色温度部分を含まないよう狭め、被写体輝度が前記閾値より低い場合は、太陽光に対応する前記光源領域を高色温度部分を含むように広げることを特徴とするオートホワイトバランス装置。
【請求項３】
入力された画像を複数のブロックに分割するブロック分割手段と、
分割した各ブロック毎に、ブロック内の画素の各色値に基づき、ブロックを代表する輝度及び色差を含む代表値を算出する代表値計算手段と、
各ブロックの代表値に基づき、各ブロックの中から最高輝度のブロックを求める最高輝度ブロック探索手段と、
各ブロックの代表値における輝度に基づき、輝度閾値を決定する輝度閾値計算手段と、
最高輝度ブロックの代表値に基づき、色空間において最高輝度ブロックの代表値と類似した色を示す領域として高輝度領域を定め、ブロック群の中の前記輝度閾値より高い輝度を持つブロックの中から、高輝度領域に含まれる代表値を有するブロックを高輝度色ブロックとして抽出し、抽出した高輝度色ブロックの代表値の平均値を求める高輝度色ブロック平均値計算手段と、
想定した各光源に対応してそれぞれ設けられ、ブロック群の中の前記輝度閾値より高い輝度を持つブロックの中から、色空間において当該光源下での白色物体の色を示す領域として定められた当該光源領域に含まれる代表値を有するブロックを、当該光源に対応する光源ブロックとして抽出し、抽出した当該光源ブロックの代表値の平均値を求める光源ブロック平均値計算手段と、
高輝度色ブロックの代表値の平均値と、各光源ごとの光源ブロックの代表値の平均値と、に基づき、ホワイトバランス調整信号を算出するホワイトバランス調整信号計算手段と、
前記ホワイトバランス調整信号計算手段で求めたホワイトバランス調整信号を用いて、前記入力された画像の各画素に対してホワイトバランス調整を行うホワイトバランス手段と、
ストロボ発光を通知する信号を受信する受信手段と、
を有し、
前記ホワイトバランス調整信号計算手段は、各光源についてのブロックの代表値の平均値を、当該光源について予め定めた標準値を用いて修正する第１の修正手段を有し、この第１の修正手段により修正した平均値を用いてホワイトバランス調整信号を算出すると共に、前記受信手段によりストロボ発光の通知を受けた場合は、前記第１の修正手段は、太陽を光源として想定した光源ブロックの代表値の平均値を、太陽光に対応して定めた標準値の代わりに、予め定めたストロボ標準値を用いて修正することを特徴とするオートホワイトバランス装置。
【請求項４】
入力された画像を複数のブロックに分割するブロック分割手段と、
分割した各ブロック毎に、ブロック内の画素の各色値に基づき、ブロックを代表する輝度及び色差を含む代表値を算出する代表値計算手段と、
各ブロックの代表値に基づき、各ブロックの中から最高輝度のブロックを求める最高輝度ブロック探索手段と、
各ブロックの代表値における輝度に基づき、輝度閾値を決定する輝度閾値計算手段と、
最高輝度ブロックの代表値に基づき、色空間において最高輝度ブロックの代表値と類似した色を示す領域として高輝度領域を定め、ブロック群の中の前記輝度閾値より高い輝度を持つブロックの中から、高輝度領域に含まれる代表値を有するブロックを高輝度色ブロックとして抽出し、抽出した高輝度色ブロックの代表値の平均値を求める高輝度色ブロック平均値計算手段と、
想定した各光源に対応してそれぞれ設けられ、ブロック群の中の前記輝度閾値より高い輝度を持つブロックの中から、色空間において当該光源下での白色物体の色を示す領域として定められた当該光源領域に含まれる代表値を有するブロックを、当該光源に対応する光源ブロックとして抽出し、抽出した当該光源ブロックの代表値の平均値を求める光源ブロック平均値計算手段と、
高輝度色ブロックの代表値の平均値と、各光源ごとの光源ブロックの代表値の平均値と、に基づき、ホワイトバランス調整信号を算出するホワイトバランス調整信号計算手段と、
前記ホワイトバランス調整信号計算手段で求めたホワイトバランス調整信号を用いて、前記入力された画像の各画素に対してホワイトバランス調整を行うホワイトバランス手段と、
を有し、前記ホワイトバランス調整信号計算手段は、予め想定したすべての光源について、当該光源ブロックの数に基づき当該光源が照明光源である可能性を示す指標値を求め、その指標値が予め想定したすべての光源について所定の閾値より小さい場合は、入力された画像について求めたホワイトバランス調整信号の信頼性が低いと判定し、そのホワイトバランス調整信号を、過去に求めた信頼性が高いと判定されたホワイトバランス信号により補正した上で前記ホワイトバランス手段に出力することを特徴とするオートホワイトバランス装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子スチルカメラやビデオカメラなどに用いられるオートホワイトバランス装置に関する。
【０００２】
【従来の技術】
ビデオカメラやデジタルスチルカメラでは、白い被写体を白く再現するために、オートホワイトバランス調整が行われている。従来のオートホワイトバランス方式としては、画像全体の平均が無彩色となるように各画素の信号のＲＧＢ成分（赤、緑、青の三原色成分）のバランスを調整する方式がよく知られている。しかしながらこの方式では、有彩色が画像の大部分の領域を占めている場合、誤ったホワイトバランス調整を行うことになりやすいという欠点があった。
【０００３】
このような誤ったホワイトバランス調整はカラーフェイリアと呼ばれる。このカラーフェイリアを軽減するオートホワイトバランス調整方式として、特開平５−２９２５３３号公報に示される技術が知られている。この技術では、画像を複数のブロックに分割し、各ブロックのＲＧＢの平均値を計算し、その平均値が予め定めた範囲に属しているブロックのみを抽出する。そして、抽出したブロック群のＲＧＢの平均値が無彩色になるように、ＲＧＢ各成分の調整を行う。
【０００４】
また、カラーフェイリアを軽減する別のオートホワイトバランス方式として、特開平５−７３６９号公報に示されるものがある。この方式では、ホワイトバランス調整信号のとりうる値の範囲を制限し、過度のホワイトバランス調整が行われることを避けている。
【０００５】
ところが、これらの方式は、被写体を照明する光源が限定されている場合には効果が得られたが、想定外の光源で照明される場合や複数種類の光源により同時照明される場合などには十分なホワイトバランス調整を行うことができなかった。
【０００６】
そこで、本出願人は、特開平８−２８９３１４号にて、改良されたオートホワイトバランス調整装置を提案した。この装置では、画像を複数のブロックに分割し、蛍光灯下で白い対象物を撮影したと判定されるブロック群、太陽光又はタングステン光下で白い対象物を撮影したと判定されるブロック群、画像中で最も明るいブロックに近い色を持つブロック群、をそれぞれ抽出する。そして、それら各ブロック群ごとにＲＧＢ各成分の平均値を求め、それらを予め定めた規則に従って混合した値をホワイトバランス調整信号として用いる。この装置では、画像中で最も明るいブロックに近似した色のブロック群のＲＧＢの平均値をホワイトバランス信号に反映させることにより、想定外の光源下や複数種類の光源下でも、適切なホワイトバランス調整を行うことができる。
【０００７】
また、オートホワイトバランスとは別に、ユーザから指定された光源に対応して固定的なホワイトバランス調整を行う機能を持つ装置は、従来よりよく知られている。
【０００８】
【発明が解決しようとする課題】
上記特開平８−２８９３１４号に示した方式は、上記のメリットはあるものの、次に示すような問題もあった。
【０００９】
すなわち、この従来方式では、色のみに基づき上記各ブロック群を抽出していたため、各ブロック群の平均値を求める際に暗いブロックの値も用いられていた。画像として現れる色には、物体自体の色と物体を照明する光源の色の双方の影響がある。ここで、暗いブロックは光源の色を反映していない可能性が高いので、暗いブロックの情報をオートホワイトバランスの調整信号に反映させることは、誤差の要因となり兼ねない。したがって、最も明るいブロックに色が近いというだけで暗いブロックの情報を調整信号に反映させる上記従来方式では、性能のよいホワイトバランスが得られない場合があった。
【００１０】
本発明は、この問題を解決するためになされたものであり、光源の色を強く反映しているブロックのみ抽出してホワイトバランス調整を行うことができるオートホワイトバランス装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明の基礎となるオートホワイトバランス装置は、入力された画像を複数のブロックに分割するブロック分割手段と、分割した各ブロック毎に、ブロック内の画素の各色値に基づき、ブロックを代表する輝度及び色差を含む代表値を算出する代表値計算手段と、各ブロックの代表値に基づき、各ブロックの中から最高輝度のブロックを求める最高輝度ブロック探索手段と、各ブロックの代表値における輝度に基づき、輝度閾値を決定する輝度閾値計算手段と、最高輝度ブロックの代表値に基づき、色空間において最高輝度ブロックの代表値と類似した色を示す領域として高輝度領域を定め、ブロック群の中の前記輝度閾値より高い輝度を持つブロックの中から、高輝度領域に含まれる代表値を有するブロックを高輝度色ブロックとして抽出し、抽出した高輝度色ブロックの代表値の平均値を求める高輝度色ブロック平均値計算手段と、想定した各光源に対応してそれぞれ設けられ、ブロック群の中の前記輝度閾値より高い輝度を持つブロックの中から、色空間において当該光源下での白色物体の色を示す領域として定められた当該光源領域に含まれる代表値を有するブロックを、当該光源に対応する光源ブロックとして抽出し、抽出した当該光源ブロックの代表値の平均値を求める光源ブロック平均値計算手段と、高輝度色ブロックの代表値の平均値と、各光源ごとの光源ブロックの代表値の平均値と、に基づき、ホワイトバランス調整信号を算出するホワイトバランス調整信号計算手段と、前記ホワイトバランス調整信号計算手段で求めたホワイトバランス調整信号を用いて、前記入力された画像の各画素に対してホワイトバランス調整を行うホワイトバランス手段とを有することを特徴とする。
【００１２】
この構成によれば、ホワイトバランス調整信号が、輝度閾値より高い輝度を持つブロックのみの値に基づき求められるので、光源の色を反映していない可能性の高い暗いブロックの値がホワイトバランス調整信号に悪影響を及ぼすことを防止できる。
【００１３】
本発明の別の参考例では、輝度閾値を、最高輝度ブロックの輝度と全ブロックの平均輝度とに基づき決定する。これにより、個々の画像の状況に対応して輝度閾値を変化させることができる。
【００１４】
また、別の参考例の態様では、各光源についての代表値の平均値を、予め定めた当該光源の標準値により修正することにより、各平均値の値をより光源の光の色に近くすることができ、光源の光の色に対する適切なホワイトバランスが可能となる。
【００１５】
また、別の参考例の態様では、被写体輝度を検出する手段を更に有し、前記ホワイトバランス調整信号計算手段は、室内光源として用いられる種類の光源に対応する光源ブロックの代表値の平均値を、被写体輝度が高いほど小さい重みを掛けて修正し、この修正した平均値に基づきホワイトバランス調整信号を算出する。この態様によれば、被写体輝度が高いときに室内光源に対するホワイトバランスが行われることを防ぐことができる。
【００１６】
また別の参考例の態様では、ブロックの画素のうち飽和画素を除いた画素の値に基づきブロックの代表値を計算することにより、光源の光の色をよりよく表していると考えられる代表値を得ることができる。
【００１７】
また別の参考例の態様では、飽和画素が所定基準以上多いブロックを除いたブロックの代表値のみから平均値を求めることにより、光源の光の色によりよく対応したホワイトバランス調整信号を得ることができる。
【００１８】
また別の参考例の態様では、ブロック中の所定画素の値が当該ブロックの代表値と所定値以上差がある場合、ブロックの代表値の平均値の計算において当該ブロックの代表値を所定の割合まで小さくする。この態様によれば、平均処理の結果偶然ある光源領域に属することになったブロックが、ホワイトバランス調整信号に与える影響を低減することができる。
【００１９】
また別の参考例の態様では、ブロックの代表値の平均値の計算において、各ブロックの代表値に対し画面中央のブロックほど大きい重みを重みづけした上で、平均値を求める。これにより、一般に重要と考えられる画面中央部に対して適切なホワイトバランスを行うことができる。
【００２０】
また別の参考例の態様は、ブロックの代表値を、入力された画像の全ブロックについて平均した全ブロック平均値を算出する全ブロック平均値計算手段を更に含み、ホワイトバランス調整信号計算手段は、全ブロック平均値も考慮に入れてホワイトバランス調整信号を求める。この態様では、光源の光の色に近いことが多い全ブロック平均値を考慮することにより、ちょっとした構図の変化によってホワイトバランスが急激に変化してしまうようなことを防ぐことができる。
【００２１】
本発明では、全ブロック平均値がいずれの光源領域にも属さない場合は、全ブロック平均値を所定の小さい値に修正した上でホワイトバランス調整信号の計算に用いるようにすることも好適である。これによれば、全ブロック平均値が光源の光の色を反映しない不適切な値である場合は、その値のホワイトバランス調整信号に対する寄与を小さくすることができる。
【００２２】
また本発明の別の態様は、被写体輝度を検出する手段を更に有するとともに、光源ブロック平均値計算手段の一つとして、太陽を光源として想定した太陽光ブロック平均値計算手段を有し、前記太陽光ブロック平均値計算手段は、被写体輝度が所定の閾値より高い場合は、太陽光に対応する前記光源領域を高色温度部分を含まないよう狭め、被写体輝度が前記閾値より低い場合は、太陽光に対応する前記光源領域を高色温度部分を含むように広げる。この態様によれば、色温度が似通っている昼間の青空のシーンと日陰等のシーンとに、自動的に適切なホワイトバランスを行うことができる。
【００２３】
また本発明の別の態様は、ストロボが発光した場合は、太陽を光源として想定した光源ブロックの代表値の平均値を、太陽光に対応して定めた標準値の代わりに、予め定めたストロボ標準値を用いて修正し、これをホワイトバランス調整信号の計算に用いる。この態様によれば、太陽光とストロボ光とを共通のユニットで処理することができ、装置構成の単純化を図ることができる。
【００２４】
また別の参考例の態様は、指定された光源のみを考慮したホワイトバランスを行う光源指定モードを有し、ホワイトバランス調整信号計算手段は、光源指定モードの場合、指定された光源に対応する光源ブロックの平均値のみに基づきホワイトバランス調整信号を求める。この態様によれば、指定された光源に対応する光源ブロックの平均値に基づきホワイトバランス調整信号を求めることにより、光源指定によるホワイトバランスについてもシーンの状況を反映した動的な調整を行うことができる。
【００２５】
また別の参考例の態様は、入力された画像について求めたホワイトバランス調整信号と、直前の画像についてのホワイトバランス調整信号との比較に基づき、直前と現在とで照明環境が変化したか否かを判定する判定手段と、照明環境が変化しないと判定されている間、求めたホワイトバランス調整信号を蓄積する記憶手段とを有し、前記ホワイトバランス調整信号計算手段は、前記判定手段で照明環境が変化していないと判定された場合、入力された画像について求めたホワイトバランス調整信号を、前記記憶手段に蓄積されたホワイトバランス調整信号を用いて補正した上で前記ホワイトバランス手段に出力する。この態様によれば、照明環境が変化していないと判定される間は、過去に蓄積したホワイトバランス調整信号により現在の調整信号が平滑化される。これにより、照明環境が変わらない間は、ホワイトバランスが急激に変化することが無くなる。
【００２６】
また本発明の別の態様では、前記ホワイトバランス調整信号計算手段は、予め想定したすべての光源について、当該光源ブロックの数に基づき当該光源が照明光源である可能性を示す指標値を求め、その指標値が予め想定したすべての光源について所定の閾値より小さい場合は、入力された画像について求めたホワイトバランス調整信号の信頼性が低いと判定し、そのホワイトバランス調整信号を、過去に求めた信頼性が高いと判定されたホワイトバランス信号により補正した上で前記ホワイトバランス手段に出力する。この態様によれば、求めたホワイトバランス調整信号の信頼性が低い場合は、信頼性の高い過去のホワイトバランス調整信号により補正を行うので、信頼性の低いホワイトバランス調整信号しか得られない難しいシーンでもある程度良好なホワイトバランスを実現することができる。
【００２７】
【発明の実施の形態】
以下、本発明の実施の形態（以下実施形態という）について、図面に基づいて説明する。
【００２８】
［実施形態１］
図１は、本発明に係るオートホワイトバランス装置の全体構成を示す機能ブロック図である。
【００２９】
本実施形態の装置は、図示しない撮像装置から入力された画像信号からホワイトバランス調整信号を生成し、この信号により画像信号にホワイトバランス調整を施す。ここで、本実施形態では、被写体を照明する光源の色を推定し、この推定結果に基づきホワイトバランス調整信号を生成する。光源の色の推定は、画像の中で輝度の高い色に近い色を持つ画像領域と、予め想定した各種光源の色に近い色を持つ画像領域の情報に基づいて行う。本実施形態では、光源として、一般的と考えられる蛍光灯、太陽、タングステンランプ（白熱灯）を想定している。
【００３０】
以下、本装置各部について説明する。
【００３１】
＜ブロック代表値計算部＞
撮像装置からの画像信号は、ブロック代表値計算部１０に入力される。ブロック代表値計算回路１０は、入力された画像を、予め定めたブロックに分割する。図２は、画面のブロック分割の仕方の一例である。この例では、１フレームの画像５００は、ｎ×ｍ画素のブロック５１０に等分割される。そして、ブロック代表値計算回路１０は、それら各ブロック毎に、そのブロックの代表値を計算する。この計算の方式は以下の通りである。
【００３２】
すなわち、まずブロック内の全画素のＲＧＢ値の平均値（Ｒ，Ｇ，Ｂ）を求める。その平均値に対し、次の線形変換を施すことにより、代表値（Ｔl，Ｔg，Ｔi）が求められる。
【００３３】
【数１】
0004063418.tif 000002
ここでＴlはブロックの輝度を表し、Ｔg，Ｔiはブロックの色差を表す。なお、ここで用いた線形変換の行列はあくまで一例であり、別の行列を用いてももちろん良い。
【００３４】
求められた各ブロックの代表値は、最高輝度ブロック探索部１２、輝度閾値計算部１４、高輝度色ブロック平均値計算部１６、蛍光灯ブロック平均値計算部１８、太陽光ブロック平均値計算部２０、タングステン光ブロック平均値計算部２２に入力される。
【００３５】
＜最高輝度ブロック探索部＞
最高輝度ブロック探索部１２は、入力された各ブロックの代表値（Ｔl，Ｔg，Ｔi）のデータに基づき、輝度Ｔｌの最も高いブロックを探索する。この探索では、飽和画素（すなわちＲ、Ｇ又はＢの値が上限値に達している画素）の多いブロックや、非常に暗い（輝度の低い）ブロックが最高輝度ブロックに選ばれることを防ぐため、探索対象を、
【数２】
ＴlMin＜Ｔl≦ＴlMax        ・・・（２）
を満足するブロックのみに限定する。ここで、ＴlMin及びＴlMaxは、予め定めた閾値である。飽和画素が多いブロックは、全体的に輝度が高いので、この条件により、探索対象から除くことができる。
【００３６】
このような限定を行うのは次のような理由からである。すなわち、最高輝度ブロックは、最も明るいブロックであるから被写体を照明する光源の色をよく反映しているものと考えられるので、本実施形態では、最高輝度ブロックの色の情報を、被写体を照明する光源の色を推定する重要なファクターとして用いている。この目的からすれば、最高輝度ブロックとしては、被写体を照明する光源の色をよく反映したものを選ぶ必要がある。ところが、飽和画素は、色値の上限値を超える部分がカットされていることになるので、対象物の正しい色を表しておらず、光源の色をよく反映しているとはいえない。したがって、このような飽和画素が多いブロックは、最高輝度ブロックに選ぶには適切ではない。同様に、非常に暗いブロックは、一般に光源の色をあまり反映していないと考えられるので、これも最高輝度ブロックとしては適切ではない。
【００３７】
このように限定された範囲のブロックから、Ｔｌの値が最大のブロックが最高輝度ブロックとして選択される。そして、最高輝度ブロック探索部１２は、選択した最高輝度ブロックの代表値（ＴlBr0，ＴgBr0，ＴiBr0）を、輝度閾値計算部１４及び高輝度色ブロック平均値計算部１６に出力する。
【００３８】
＜輝度閾値計算部＞
輝度閾値計算部１４は、ブロック代表値計算部１０から入力される各ブロックの代表値と、最高輝度ブロック探索部１２から入力される最高輝度ブロックの代表値に基づき、輝度閾値を計算する。
【００３９】
輝度閾値は、光源の色をあまり反映していないと考えられる暗いブロックを、後段の各種演算処理から除くために用いる閾値である。
【００４０】
ここでは、各ブロックの輝度Ｔｌの平均値ＴlAvrを求め、これと最高輝度ブロックの輝度ＴlBr0とに基づき輝度閾値を求める。
【００４１】
輝度閾値ＴlThrの算出式の一例を次式に示す。
【００４２】
【数３】
ＴlThr＝Ｐ0＊ＴlAvr＋Ｐ1＊ＴlBr0      ・・・（３）
ここでＰ0及びＰ1は、予め定めた０以上１以下の定数であり、Ｐ0＋Ｐ1＝１を満たす。この例では、輝度閾値ＴlThrは、平均輝度ＴlAvrと最高輝度ブロックの輝度ＴlBr0の中間の値となる。Ｐ0及びＰ1の値は、様々な光源において撮影した画像のデータをもとに予め求めておく。
【００４３】
なお、輝度閾値の算出式はこれに限られるものではない。いずれにしても、対象画像の平均輝度ＴlAvrと最高輝度ブロックの輝度ＴlBr0に基づき輝度閾値を定めることにより、光源の色を反映している可能性の低いブロックが後段の処理において使われないよう、シーンの状況に応じて適切に輝度閾値を定めることができる。
【００４４】
このようにして求められた輝度閾値ＴlThrは、高輝度色ブロック平均値計算部１６、蛍光灯ブロック平均値計算部１８、太陽光ブロック平均値計算部２０、タングステン光ブロック平均値計算部２２にそれぞれ入力される。
【００４５】
＜高輝度色ブロック平均値計算部＞
高輝度色ブロック平均値計算部１６には、各ブロックの代表値（Ｔl，Ｔg，Ｔi）、輝度閾値ＴlThr、及び最高輝度ブロックの代表値（ＴlBr0，ＴgBr0，ＴiBr0）が入力される。
【００４６】
高輝度色ブロック平均値計算部１６は、まず各ブロックの中から輝度Ｔlが輝度閾値ＴlThrより高いブロックを選択し、これら選択したブロックの中から、最高輝度ブロックの色差（ＴgBr0，ＴiBr0）に近い色差（Ｔg，Ｔi）を持つブロックを抽出する。抽出したブロックを高輝度色ブロックと呼ぶ。ここで、ブロックの色差（Ｔg，Ｔi）が、最高輝度ブロックの色差（ＴgBr0，ＴiBr0）に応じて定めた高輝度色領域に含まれる場合、ブロックの色差が最高輝度ブロックの色差に“近い”とみなす。
【００４７】
図３に高輝度色領域の一例を示す。この例では、高輝度色領域６００は、Ｔg−Ｔi平面において、原点と点（ＴgBr0，ＴiBr0）とを結ぶ直線に沿い、点（ＴgBr0，ＴiBr0）を含む予め定められた大きさの長方形である。なお、この領域の形状は、長方形以外でももちろんよい。いずれにしても、高輝度色領域は、最高輝度ブロックの色差情報（ＴgBr0，ＴiBr0）に基づき、一定の規則の下に決定される。
【００４８】
すべての高輝度色ブロックを抽出すると、高輝度色ブロック平均値計算部１６は、高輝度色ブロックの数ＣntBrと、高輝度色ブロックの代表値の平均値（ＴlBr，ＴgBr，ＴiBr）を求める。求めた高輝度色ブロック数ＣntTl及び高輝度色ブロック平均値（ＴlBr，ＴgBr，ＴiBr）は、平均値修正部２４及び重み係数計算部２６に入力される。
【００４９】
＜蛍光灯ブロック平均値計算部＞
蛍光灯ブロック平均値計算部１８には、各ブロックの代表値（Ｔl，Ｔg，Ｔi）及び輝度閾値ＴlThrが入力される。
【００５０】
蛍光灯ブロック平均値計算部１８は、まず各ブロックの中から輝度Ｔlが輝度閾値ＴlThrより高いブロックを選択し、更にその中から、蛍光灯下での白い物体に近い色をもつブロック（蛍光灯ブロックと呼ぶ）を抽出する。ここで、ブロックの色差（Ｔg，Ｔi）が、蛍光灯下の白色物体の色に近い色の範囲として予め定められた蛍光灯領域に含まれる場合、そのブロックの色が蛍光灯下の白色物体の色に近いと判定する。図４に蛍光灯領域６１０の一例を示す。蛍光灯領域６１０は、様々な蛍光灯下で様々な白色物体を撮影してデータ収集を行い、その結果に基づき予め定めたものである。
【００５１】
すべての蛍光灯ブロックを抽出すると、蛍光灯ブロック平均値計算部１８は、蛍光灯ブロックの数ＣntFlと、蛍光灯ブロックの代表値の平均値（ＴlFl，ＴgFl，ＴiFl）（蛍光灯ブロック平均値と呼ぶ）を求め、これらを平均値修正部２４、重み係数計算部２６に入力する。
【００５２】
＜太陽光ブロック平均値計算部＞
太陽光ブロック平均値計算部２０には、各ブロックの代表値（Ｔl，Ｔg，Ｔi）及び輝度閾値ＴlThrが入力される。
【００５３】
太陽光ブロック平均値計算部２０は、まず各ブロックの中から輝度Ｔlが輝度閾値ＴlThrより高いブロックを選択し、これら選択したブロックの中から、太陽光下での白い物体に近い色をもつブロック（太陽光ブロックと呼ぶ）を抽出する。ブロックの色差（Ｔg，Ｔi）が、太陽光下の白色物体の色に近い色の範囲である太陽光領域に含まれる場合、そのブロックの色が太陽光下の白色物体の色に近いと判定する。図５に太陽光領域６２０の一例を示す。太陽光領域６２０は、様々な太陽光下で様々な白色物体を撮影してデータ収集を行い、その結果に基づき予め定めたものである。
【００５４】
すべての太陽光ブロックを抽出すると、太陽光ブロック平均値計算部２０は、太陽光ブロックの数ＣntDyと、太陽光ブロックの代表値の平均値（ＴlDy，ＴgDy，ＴiDy）（太陽光ブロック平均値と呼ぶ）を求め、これらを平均値修正部２４、重み係数計算部２６に入力する。
【００５５】
＜タングステン光ブロック平均値計算部＞
タングステン光ブロック平均値計算部２２には、各ブロックの代表値（Ｔl，Ｔg，Ｔi）及び輝度閾値ＴlThrが入力される。
【００５６】
タングステン光ブロック平均値計算部２２は、まず各ブロックの中から輝度Ｔlが輝度閾値ＴlThrより高いブロックを選択し、これら選択したブロックの中から、タングステン光下での白い物体に近い色をもつブロック（タングステン光ブロックと呼ぶ）を抽出する。ブロックの色差（Ｔg，Ｔi）が、タングステン光下の白色物体の色に近い色の範囲であるタングステン光領域に含まれる場合、そのブロックの色がタングステン光下の白色物体の色に近いと判定する。図５にタングステン光領域６３０の一例を示す。タングステン光領域６３０は、様々なタングステン光下で様々な白色物体を撮影してデータ収集を行い、その結果に基づき予め定めたものである。
【００５７】
すべてのタングステン光ブロックを抽出すると、タングステン光ブロック平均値計算部２２は、タングステン光ブロックの数ＣntTuと、タングステン光ブロックの代表値の平均値（ＴlTu，ＴgTu，ＴiTu）（タングステン光ブロック平均値と呼ぶ）を求め、これらを平均値修正部２４、重み係数計算部２６に入力する。
【００５８】
＜平均値修正部＞
本実施形態では、以上に説明した各ブロック平均値計算部１６〜２２で求めた各ブロック平均値を基にホワイトバランス調整信号（ホワイトバランスゲイン）を生成する。ここで、本実施形態では、各ブロック平均値をそのまま利用するのではなく、平均値修正部２４により修正を施してから利用する。この修正は、主として次の２つの目的のためのものである。
【００５９】
第一の目的は、ブロック平均値に含まれる物体色の影響を低減することである。画像に現れる色は、光源からの照明光の色と、物体それ自体の色の両方から影響を受ける。前者を光源色、後者を物体色と呼ぶ。ホワイトバランスは光源からの照明光の色温度に合わせて白いものが白く見えるように画像を色補正することであり、光源色が正確に分かれば理想的なホワイトバランスが行える。しかしながら、実際のホワイトバランスは、白色以外の物体を多く含んだシーンの画像を基に行うものであり、物体色をも含んだ画像情報からどこまで正確に光源色を推定できるかがホワイトバランスの品質を決めることになる。そこで、本実施形態では、各ブロック平均値計算部１６〜２２で求められた各ブロック平均値に対し、物体色の影響を相対的に低減させる補正を行うことにより、ホワイトバランスの品質向上を目指す。
【００６０】
第二の目的は、各光源についての経験的知識を利用してきめの細かいホワイトバランスを行うことである。ここでいう光源についての経験的知識の例としては、例えば被写体の輝度が非常に高ければ照明が蛍光灯である可能性は低い、などがある。
【００６１】
本実施形態では、上記第一の目的のために、ブロック平均値とこれに対応する光源の標準値（予め求めた各光源の光の色を示す典型的な値）とを加重平均することにより、ブロック平均値における光源色の比率を高め、物体色の影響を減らす。
【００６２】
第二の目的のための処理は、光源の種類によって異なり多岐に渡るので、次の各光源ごとの修正処理の説明において個別に説明する。
【００６３】
平均値修正部２４は、各ブロック平均値計算部１６〜２２から入力された各ブロック平均値を、同様に入力される高輝度色ブロック数、蛍光灯ブロック数、太陽光ブロック数、タングステン光ブロック数と、図示しない被写体輝度検出手段から入力される被写体輝度の情報とに基づき、上記目的に沿うように修正する。
【００６４】
以下、各光源についてのブロック平均値の修正処理について説明する。
【００６５】
（１）蛍光灯ブロック平均値の修正
まず、蛍光灯ブロック平均値を、予め定めておいた蛍光灯標準値と加重平均する。これは、上記第一の目的のための処理である。
【００６６】
ここで、蛍光灯標準値（ＴgStdFl，ＴiStdFl）は、色差Ｔg及びＴi成分についての標準値であり、蛍光灯の光の典型的な色合いを表すものと捉えることができる。この標準値は、蛍光灯で照明したシーンを多数撮影して収集したデータから予め定めておく。
【００６７】
蛍光灯ブロック平均値（ＴlFl，ＴgFl，ＴiFl）のうち、色差成分ＴgFl，ＴiFlについては、それぞれ蛍光灯標準値ＴgStdFl，ＴiStdFlと所定の比率で加重平均する。この処理によるＴgFl、ＴiFlの修正結果ＴgFlNew、ＴiFlNewは、次のように求められる。
【００６８】
【数４】
ＴgFlNew＝Ａ＊ＴgFl＋Ｂ＊ＴgStdFl
ＴiFlNew＝Ａ＊ＴiFl＋Ｂ＊ＴiStdFl        ・・・（４）
加重平均の際の平均値と標準値の係数Ａ及びＢは、蛍光灯で照明した多くのシーンの撮影データから予め定めておく。
【００６９】
輝度成分ＴlFlは、この例では基本的に修正しないが、修正を行うことももちろん可能である。例えば、色差成分との組合せにおいて、表す色がＲＧＢ系で表現可能な範囲を外れる場合には、これを避けるよう輝度成分に調整を加えてもよい。
【００７０】
次に、平均値修正部２４は、別途入力された被写体輝度の情報を用いて、上記加重平均による修正結果を更に修正する。この修正は、被写体輝度が高い場合、蛍光灯で照明されている可能性が低いという経験的知識に基づく処理である。
【００７１】
すなわち、被写体輝度がかなり高い場合、その画像は屋外シーンの画像である可能性が高いので、ブロックが蛍光灯ブロックと判定されたとしてもそれは蛍光灯の光によるものばかりとは考えにくく、むしろ物体色その他の影響で蛍光灯ブロックと判定された場合が多いと考えられる。したがって、このような場合、仮に蛍光灯ブロックが多かったとしても、蛍光灯照明に対するホワイトバランスを行ったのでは、色が不自然になるおそれがある。
【００７２】
そこでここでは、被写体輝度が高くなるほど、蛍光灯ブロックのホワイトバランス調整信号への影響を低減するよう、蛍光灯ブロック平均値の修正を行う。具体的には、例えば図７に示すような被写体輝度が高くなるにつれて重みが小さくなる重み関数を用意し、被写体輝度の値に対応する重みＷFlを求め、この重みを上述の加重平均による修正結果ＴgFlNew、ＴiFlNewに乗算することにより、修正結果ＴgFlNew、ＴiFlNewの値を更新する。すなわち、
【数５】
ＷFl＊ＴgFlNew→ＴgFlNew
ＷFl＊ＴiFlNew→ＴiFlNew      ・・・（５）
重み関数は、被写体輝度が小さいときは１であり、被写体輝度が高くなるにつれて０に近づくような関数である。図７に示す重み関数はあくまで一例である。実際の装置を構築するに当たっては、重み関数を様々に変えながら多くのシーンを撮影し、その結果から、最適な重み関数を見つけて利用する。
【００７３】
なお、ここで、蛍光灯ブロック数ＣntFlと太陽光ブロック数ＣntDyとの比較に基づき更なる修正を加えることも好適である。すなわち、太陽光ブロック数の方が蛍光灯ブロック数よりも所定以上多いと、屋外シーンである可能性が高いので、蛍光灯ブロック数平均値のホワイトバランスへの影響を減らすよう、これまでの修正結果ＴgFlNew、ＴiFlNewに対して、１より小さい所定の重みを更に乗じて修正を行う。
【００７４】
このように更新されたＴgFlNew，ＴiFlNewが、蛍光灯ブロック平均値の色差成分の本実施形態における最終的な修正結果である。この修正によれば、被写体輝度が高いほど、蛍光灯ブロック平均値の色差成分が０に近くなり、蛍光灯ブロックの色はグレイ（無彩色）に近づく。したがって、ホワイトバランスに対する蛍光灯ブロックの影響は低く抑えられることになる。
【００７５】
このようにして求められた値が、修正蛍光灯ブロック平均値（ＴlFlNew，ＴgFlNew，ＴiFlNew）として、重み係数計算部２６及びホワイトバランスゲイン計算部２８に入力される。なお、ＴlFlNewは、輝度成分について修正を行わなかった場合は、入力されたＴlFlと同じ値である。
【００７６】
（２）タングステン光ブロック平均値の修正
タングステン光ブロック平均値についても、蛍光灯ブロックの場合と同様、予め色差成分についてタングステン光標準値（ＴgStdTu，ＴiStdTu）を定めておき、まず上記平均値を、標準値との加重平均により修正する。計算式は蛍光灯ブロックの場合と同様なので割愛する。ただし、この計算における係数の値は、タングステン光について別個に求めておいたものを用いるのはいうまでもない。
【００７７】
そして、加重平均による修正結果ＴgTuNew，ＴiTuNewに対して、経験的知識を利用して次のような修正を更に加える。
【００７８】
よく知られているように、タングステン光照明は、蛍光灯よりも、「暖かみ」を重視する場合に用いられる。まず、この知識を利用した修正を行う。「暖かみ」を重視する場合、白が完全に白に見えるようにホワイトバランスを行うよりも、若干赤みを残すようにした方が、見る者により良い印象を与える。そこで、画像が暖かみを重視するタングステン光シーンの画像と考えられる場合、タングステン光ブロック平均値を若干青めに修正する。すなわち、例えば平均値のＴi成分ＴiTuNewの値が所定の閾値よりも小さい場合（すなわち青みよりも赤みが強い場合。Ｔiの定義を参照されたい。）、タングステン光シーンである可能性が高いものと判断し、ＴiTuNewの値を大きくする（すなわち青みを強める）。ホワイトバランスは、色がグレイ（無彩色）に近づくように行うものなので、青めに修正することにより、ホワイトバランス結果はそのような修正を行わない場合よりも若干赤みが増すことになる。
【００７９】
次に、この修正結果に対して、更に、夕焼けシーンの場合は赤みが好まれるという知識を利用した修正を行う。すなわち、画像が夕焼けシーンを示していると判断される場合は、タングステン光ブロック平均値を青めに修正することにより、ホワイトバランスの結果が赤くなるようにする。より具体的には、太陽光ブロックの数ＣntDyがタングステン光ブロックの数ＣntTuよりも所定数以上多く、かつ太陽光ブロック平均値の色差ＴiDyの値が負（すなわち青よりも赤が強い）の場合、画像が夕焼けシーンであると判定し、ＴiTuNewの値を大きく（すなわち青みを強く）する。このような修正により、夕焼けシーンの場合、画像の色の傾向を赤めにし、夕焼けらしい印象を増すことができる。
【００８０】
夕焼けシーンではないと判断される場合、すなわち上記夕焼けシーンの判定基準が満たされない場合には、青みを増すという夕焼けシーンの修正の代わりに、蛍光灯ブロック平均値と同様の被写体輝度に基づく修正を更に行う。すなわち、タングステン光も一般的に室内照明であり屋外より暗いことが多いので、被写体の輝度が高ければタングステン光で照明されている可能性は低くなる。したがって、被写体輝度が高くなるほど色みを弱める（すなわち色差を小さく（０に近く）する）よう、タングステン光ブロック平均値を修正する。より具体的には、蛍光灯の場合と同様、図８に示すような被写体輝度が高くなるにつれて重みが小さくなる重み関数を用意し、被写体輝度の値に対応する重みＷTuを求め、この重みを上述の加重平均による修正結果ＴgTuNew、ＴiTuNewに乗算することにより、修正結果ＴgTuNew、ＴiTuNewの値を更新する。この処理は、蛍光灯ブロックの場合の式（５）と同様の計算でよい。このような修正により、被写体輝度が高いほど、タングステン光ブロック平均値の色差成分が０に近くなり、ホワイトバランスに対するタングステン光ブロックの影響は低く抑えられることになる。
【００８１】
なお、以上の説明から明らかなように、夕焼けシーンの場合の修正と被写体輝度に基づく修正とは二者択一である。
【００８２】
以上のような処理による修正結果（ＴlTuNew，ＴgTuNew，ＴiTuNew）が、修正タングステン光ブロック平均値として、重み係数計算部２６及びホワイトバランスゲイン計算部２８に入力される。なお、ＴlTuNewは、輝度成分について修正を行わなかった場合は、入力されたＴlTuと同じ値である。
【００８３】
（３）太陽光ブロック平均値の修正
太陽光ブロック平均値についても、蛍光灯ブロックの場合と同様、予め色差成分について太陽光標準値（ＴgStdDy，ＴiStdDy）を定めておき、平均値を、標準値との加重平均により修正する。計算式は蛍光灯ブロックの場合と同様なので割愛する。ただし、この計算における係数の値は、太陽光について別個に求めておいたものを用いるのはいうまでもない。
【００８４】
そして、加重平均による修正結果ＴgDyNew，ＴiDyNewに対して、経験的知識を利用して次のような修正を更に加える。
【００８５】
ここで基礎とする知識は、太陽光で照明されたシーンの画像では、被写体が明るい場合（すなわち太陽光による照明が十分強い場合）は、ホワイトバランスの必要は少ないという知識である。すなわち、このような場合、白い物体は強いホワイトバランスをかけなくても一般に白く写る。逆に、ホワイトバランスが必要となるのは、例えば日陰で色温度が低い（シーンが赤っぽい）場合や夕方で色温度が高い（シーンが青っぽい）場合など、一般に暗いシーンが多い。
【００８６】
本実施形態では、このような経験的知識に基づき、被写体輝度が高いほど、太陽光ブロック平均値がグレイに近づくような修正を行う。すなわち、図９に示すような重み関数を用意し、被写体輝度の値に対応する重みＷDyを求め、この重みを上述の加重平均による修正結果ＴgDyNew、ＴiDyNewに乗算することにより、修正結果ＴgDyNew、ＴiDyNewの値を更新する。この処理は、蛍光灯ブロックの場合の式（５）と同様の計算でよい。このような修正により、被写体輝度が低い場合は、ホワイトバランスに対して太陽光ブロック平均値の色みを十分に反映させることができる。
【００８７】
以上のような処理による修正結果（ＴlDyNew，ＴgDyNew，ＴiDyNew）が、修正太陽光ブロック平均値として、重み係数計算部２６及びホワイトバランスゲイン計算部２８に入力される。なお、ＴlDyNewは、輝度成分について修正を行わなかった場合は、入力されたＴlDyと同じ値である。
【００８８】
（４）高輝度色ブロック平均値の修正
高輝度色ブロック平均値の修正は、高輝度色ブロック平均値の色み（色差成分（ＴgBr，ＴiBr））が蛍光灯光、太陽光、タングステン光のいずれの下での白色物体の色に近いかに応じ、その近い光源についてのブロック平均値の修正処理と同様の処理により行う。
【００８９】
すなわち、まず高輝度色ブロック標準値を、予め用意した標準値と加重平均し、その結果に対して経験的知識に基づく処理（例えば被写体輝度が高くなるほど小さくなる重みを平均値に乗ずるなど）を行う。このとき、高輝度色ブロック平均値の色みがどの光源下での白色物体の色に近いかに応じて、加重平均の際の標準値や係数を変えたり、経験的知識に基づく処理の内容を変えたりする。
【００９０】
例えば、高輝度色ブロック平均値の色みが蛍光灯下の白色物体の色に最も近いと判断される場合は、上述の蛍光灯ブロック平均値の修正処理と同様の処理を高輝度色ブロック平均値に適用する。このとき、加重平均の際の標準値や係数としては、蛍光灯ブロック平均値修正の際の標準値、係数そのものを用いてもよいし、これと一定の関係を持つ別の値を用いてもよい。また、被写体輝度についての重み関数も、蛍光灯ブロック平均値修正の場合と同じものを用いてよい。
【００９１】
なお、高輝度色ブロック平均値の色みがどの光源下での白色物体の色に近いかは、色差（Ｔg-Ｔi）平面上に、各光源（蛍光灯、太陽、タングステン灯）毎に、近いとみなす色差の領域を予め設定しておき、高輝度色ブロック平均値の色差成分がどの領域に含まれるかで定めればよい。
【００９２】
以上のような処理による修正結果（ＴlBrNew，ＴgBrNew，ＴiBrNew）が、修正高輝度色ブロック平均値として、重み係数計算部２６及びホワイトバランスゲイン計算部２８に入力される。なお、ＴlBrNewは、輝度成分について修正を行わなかった場合は、入力されたＴlBrと同じ値である。
【００９３】
以上、平均値修正部２４の処理について説明した。なお、平均値修正部２４は、以上の処理によって求めた各ブロック平均値の修正結果に加え、各ブロック数の値をホワイトバランスゲイン計算部２８に入力する。
【００９４】
＜重み係数計算部＞
重み係数計算部２６は、各ブロック平均値についての重み係数を算出する。この重み係数は、後述するホワイトバランスゲイン計算部２８において用いられる。すなわち、ホワイトバランスゲイン計算部２８では、各ブロック平均値を加重平均することによりシーンを照明する光源の色を推定し、これに基づきホワイトバランス調整信号（ゲイン）を求めるわけであるが、その加重平均のための重みを求めるのが重み係数計算部２６である。
【００９５】
重み係数計算部２６には、各ブロック平均計算部１６〜２２から各ブロック平均値及び各ブロック数が入力されると共に、平均値修正部２４から修正された各ブロック平均値が入力され、更に図示しない被写体輝度検出手段で求められた被写体輝度が入力される。
【００９６】
（１）蛍光灯ブロック重み係数ＷgtFlの算出
蛍光灯ブロックについての重み係数ＷgtFlは、基本的に被写体輝度に基づき定める。これには、例えば平均値修正部２４で用いた重み関数（図７）と同様、被写体輝度が高くなるほど値が小さくなる重み関数を用いる。この関数は、平均値修正部２４で用いたものと全く同じでもよいし、異なるものでもよい。重み関数は、被写体輝度の変化に応じて滑らかに変化するものが好ましい。
【００９７】
なお、このように求めた重み係数と蛍光灯ブロック数との積が予め定めた閾値より小さい場合は、シーンが蛍光灯で照明されている可能性が低いと考えられるので、重み係数ＷgtFlを、１より小さい所定値を掛けることにより更新する。
【００９８】
（２）タングステン光ブロック重み係数ＷgtTuの算出
タングステン光ブロックについての重み係数ＷgtTuも、基本的には被写体輝度に基づき求めるが、夕焼けシーンの場合だけは被写体輝度を用いず、特別の方法により求める。すなわち、まず夕焼けシーンか否かの判定を行い、夕焼けシーンであると判定される場合は、重み係数ＷgtTuを予め定めた正の小さい値とする。こうすることにより、赤みを多く含んだタングステン光ブロック平均値の重み係数を小さくすることができるので、夕焼けシーンのホワイトバランス結果において赤みを強く残すことができる。
【００９９】
夕焼けシーンか否かの判定は、平均値修正部２４のタングステン光ブロックの修正のところで説明したのと同様の方法で行えばよい。そして、夕焼けシーンでないと判定された場合は、被写体輝度に基づき重み係数ＷgtTuを決定する。この場合も、平均値修正部２４で用いたのと同様（図８参照）の、被写体輝度が高くなるほど徐々に値が小さくなる重み関数を用いることが好適である。
【０１００】
そして、このように求めた重み係数ＷgtTuを、照明光におけるタングステン光と蛍光灯光の比率に応じて調整する。この調整では、蛍光灯ブロックがタングステン光ブロックより優勢（例えばブロック数が多いなど）の場合に、重み係数ＷgtTuに１より小さい所定数を掛けて、その値を小さくする。その他の場合には調整を行わない。
【０１０１】
この調整は、主としてタングステン光で照明された部分と主として蛍光灯光で照明された部分とが混在するシーンでは、蛍光灯光の色が補正されずに残る場合（この場合色が緑がかる）よりも、タングステン光の色が補正されずに残る（この場合色が赤みがかる）方が、人間の目にとって不快感が少ない、という経験的知識を利用したものである。
【０１０２】
例えば、右側が主としてタングステン光で照明され、左側が主として蛍光灯光で照明されているシーンなどでは、タングステン光ブロック平均値と蛍光灯ブロック平均値とを等しい重み付けで加重平均した値を光源の色と推定してホワイトバランスを行うと、中途半端なホワイトバランスになってしまい、画像の右側も左側も色が不自然になってしまう。これに対し、上記のような調整を行えば、そのような不自然さを低減することができる。
【０１０３】
なお、このように求めた重み係数とタングステン光ブロック数との積が予め定めた閾値より小さい場合は、シーンがタングステン灯で照明されている可能性が低いと考えられるので、重み係数ＷgtTuを、１より小さい所定値を掛けることにより更新する。
【０１０４】
（３）太陽光ブロック重み係数ＷgtDyの算出
タングステン光ブロックの数CntTuが太陽光ブロックの数CntDyよりも所定数以上多い場合、画像がタングステン光シーンである可能性が高いものと判断し、太陽光ブロックの重み係数WgtDyを１より小さい所定値にする。それ以外の場合は、１とする。
【０１０５】
（４）高輝度色ブロック重み係数ＷgtBrの算出
高輝度色ブロック重み係数ＷgtBrは、修正高輝度色ブロック平均値の色差成分（ＴgBrNew，ＴiBrNew）が蛍光灯光、太陽光、タングステン光のいずれの下での白色物体の色に近いかに応じ、その近い光源の場合と同様の方法で求める。ここで、どの光源に近いかは、色差（Ｔg-Ｔi）平面上に、各光源（蛍光灯、太陽、タングステン灯）毎に、近いとみなす色差の領域を予め設定しておき、修正高輝度色ブロック平均値の色差成分がどの領域に含まれるかで定めればよい。どの領域にも含まれない場合は、重み係数ＷgtBrは１とする。
【０１０６】
なお、この場合の各領域は、例えば次のように定めればよい。すなわち、予め各光源ごとに、当該光源のみの照明によるシーンを多数撮影し、それら各シーンでの高輝度色ブロックの平均値の色差成分の分布を求める。そして、各光源についての上記高輝度色ブロック平均値の分布に対応するように、各領域を定める。
【０１０７】
以上のようにして求められた各ブロックに対する重み係数は、ホワイトバランスゲイン計算部２８に入力される。
【０１０８】
＜ホワイトバランスゲイン計算部＞
ホワイトバランスゲイン計算部２８は、平均値修正部２４から入力された各ブロック平均値の修正値及びブロック数と、重み係数計算部２６から入力された各ブロックについての重み係数とに基づき、ホワイトバランス調整信号としてのホワイトバランスゲインを計算する。ホワイトバランスゲインは、被写体を照明する光源の光の色を推定し、この光の色をグレイ（無彩色）に補正するような値として求める。被写体を照明する光源の色は、各ブロック平均値（修正値）を、対応光源のブロック数及び重み係数を用いて加重平均することにより求める。以下に、ホワイトバランスゲインの計算式の一例を示す。
【０１０９】
【数６】
Ｔwc＝ＷgtFl*ＣntFl＋ＷgtTu*ＣntTu＋ＷgtDy*ＣntDy＋ＷgtBr*ＣntBr・・・（６）
【数７】
0004063418.tif 000003
【数８】
0004063418.tif 000004
【数９】
MaxMix＝max（ＲMix，ＧMix，ＢMix）        ・・・（９）
【数１０】
Ｒgain＝MaxMix／ＲMix
Ｇgain＝MaxMix／ＧMix
Ｂgain＝MaxMix／ＢMix                      ・・・（１０）
すなわち、上記計算手順で求められた（ＲMix，ＧMix，ＢMix）が、被写体を照明する光源の色であり、ホワイトバランスゲイン（Ｒgain，Ｇgain，Ｂgain）は、この光源色（ＲMix，ＧMix，ＢMix）が白色物体で反射されたときの色（すなわち（ＲMix，ＧMix，ＢMix）そのもの）をグレイに補正するよう（すなわちＲ＝Ｇ＝Ｂとなるよう）に定められる。
【０１１０】
＜ホワイトバランス調整部＞
ホワイトバランス調整部３０は、撮像装置から入力された画像の各画素値Ｒ，Ｇ，Ｂに対し、ホワイトバランスゲイン計算部２８で求めたゲインＲgain，Ｇgain，Ｂgainをそれぞれ乗じることにより画像のホワイトバランスを調整し、その結果を出力する。
【０１１１】
＜実施形態１の効果＞
以上説明した実施形態１の装置によれば、各種光源（蛍光灯、太陽など）の影響を強く受けていると考えられるブロックの色（すなわちブロック平均値）に加え、最も輝度の高いブロックの色も反映させてホワイトバランスを行うことができるので、シーンが複数種類の光源によって照明されている場合や、想定していなかった光源により照明されている場合にも、良好なホワイトバランスを行うことができる。
【０１１２】
また、本実施形態では、所定の方法により定めた輝度閾値以上の輝度を持つブロックのみを選択して、これらブロックのみからホワイトバランスの基礎となるブロック平均値を定めるので、光源の色をあまり反映していないと考えられる暗いブロックの情報をホワイトバランスに反映させることがなくなり、より適切なホワイトバランスが可能となる。
【０１１３】
また本実施形態では、輝度閾値を最高輝度ブロックの輝度と全ブロックの平均輝度とに基づき決定することにより、各々のシーンに応じた適切な輝度閾値を定めることができる。
【０１１４】
また本実施形態では、太陽光とタングステン光の特性を吟味し、太陽とタングステンとを別の光源区分として取り扱った。すなわち、タングステン光は太陽光より赤みが強いという特性を考慮し、図５及び図６に示したように太陽光領域６２０とタングステン光領域６３０とを重ならないように別々に設け、これにより太陽光ブロックとタングステン光ブロックとを区別した。これにより、太陽光とタングステン光をまとめて１つの光として扱っていた従来技術に比べて、より適切なホワイトバランスゲインを得ることができる。
【０１１５】
また本実施形態では、各種光源に対応するブロック平均値に対し、当該光源の標準値を用いて光源色を強めるよう修正を加えることにより、ブロックの色における物体色の影響を低減し、より適切なホワイトバランスゲインを得ることができる。
【０１１６】
また本実施形態では、光源と被写体輝度との関係についての知識を生かして、被写体輝度に連動して各ブロック平均値を修正するようにしたので、より適切なホワイトバランスゲインを得ることができる。
【０１１７】
また本実施形態では、最高輝度ブロックを求めるに当たり、光をあまり受けていないと考えられる暗すぎるブロック、及び飽和画素が多いと考えられる明るすぎるブロックを探索対象から外したことにより、光源の色をよく反映しているブロックの中から最高輝度ブロックを選ぶことができる。したがって、ホワイトバランスにも光源の情報がよく反映されることになる。
【０１１８】
［実施形態２］
この実施形態では、ブロック代表値を求める際、飽和している画素を除くことにより、より適切なホワイトバランスを実現する。
【０１１９】
以下、図１０に示すベイヤー（Ｂａｙｅｒ）パターンのカラーフィルタを有するＣＣＤから得られる画像を例にとって、本実施形態の処理内容を説明する。この図において、Ｒ，Ｇ，Ｂはそれぞれ３原色の各色である。
【０１２０】
本実施形態では、ブロック代表値計算部１０におけるブロック代表値の計算に当たり、まずブロックを、Ｇ，Ｒ，Ｂ，Ｇの４つの画素からなる２×２画素の画素グループ６５０に分割する。そして、各画素グループごとにその中の各画素の値を調べる。そのうち１画素でも予め定めた閾値SatPixより大きい値を持つものがあれば、その画素グループの全画素の値をブロック代表値の計算から除く。
【０１２１】
閾値SatPixより大きい値を持つ画素は飽和している画素と考えられ、その値は物体の正しい色成分の値を示していない。このような画素をブロック代表値の計算から除くことにより、ブロックの色傾向をより正しく反映したブロック代表値を得ることができる。また、この処理では、単に飽和した画素だけでなく、被写体のある点の色を表す（すなわちＲＧＢすべてを含む）２×２画素のグループを単位として計算から除くので、正しい色を示している点のみから代表値を求めることができる。
【０１２２】
なお、この例では、ベイヤーパターンのカラーフィルタを持つＣＣＤの画像を例にとって説明したが、本実施形態の方法は、他のタイプの画像にももちろん適用可能である。
【０１２３】
［実施形態３］
実施形態２では、各ブロック代表値を求める際に、飽和した画素の値を計算から除くことにより飽和画素の影響を低減したが、この実施形態では、各ブロックの代表値を平均してブロック平均値を求める際に、飽和画素の多いブロックを平均計算から除くことにより、飽和画素の影響を低減する。
【０１２４】
この実施形態では、予め１ブロック中で許容可能な飽和画素の上限値を定めておく。そして、ブロック代表値計算部１０は、実施形態２と同様、各ブロックをＲＧＢすべての成分を含む２×２画素の画素グループに分割する。そして、各ブロック毎に飽和画素（すなわち  予め定めた閾値SatPixより大きい値を持つ画素）を含む画素グループの数を求める。ブロック代表値計算部１０は、飽和画素を含む画素グループの数が前記上限値を超えるブロックの代表値は破棄し、後段に出力しない。
【０１２５】
これにより、飽和画素が多いブロックはブロック平均値の計算に用いられないので、飽和画素によるホワイトバランスの性能の劣化を防止することができる。
【０１２６】
［実施形態４］
ブロックの色の傾向をブロック内での色の平均（すなわち代表値）で判断する方法では、ブロックの個々の点の色はいずれの光源下での白色からもほど遠いのに、その平均が偶然いずれかの光源下での白色に近くなる場合も起こり得る。そのようなブロックは、いずれかの光源に対応するブロックとして抽出されることになるが、そのブロックがその光源で照明されていない可能性も高い。したがって、そのようなブロックの代表値をそのまま用いると、適切なホワイトバランスゲインが得られない場合も考えられる。そこで、本実施形態では、そのような場合の発生を効果的に抑制することができる構成を提供する。
【０１２７】
本実施形態では、ブロックの中の所定画素を参照画素とし、その参照画素近傍の色とそのブロックの代表値の色とを比較し、両者の差が大きい場合に、そのブロックを“擬似的な”光源ブロックとみなし、そのブロックの代表値には１より小さい重みを掛けることにより、ホワイトバランスゲインに与える影響を小さくする。
【０１２８】
参照画素としては、例えばブロックの中央画素や、ブロック代表値を求める際の平均演算で最後に値を読み込んだ画素などを用いればよい。特に後者は、代表値の計算が完了したその時点で、手持ちのデータとして残っている画素値なので、比較が容易である。
【０１２９】
より具体的には、ブロック代表値計算部１０は、各ブロック毎に、ブロック中の参照画素の周囲所定範囲のＲ、Ｇ、Ｂの各画素の値から、参照画素近傍での画像の色（Ｒr，Ｇr，Ｂr）を求め、これを式（１）の線形変換により輝度成分及び色差成分（Ｔlr，Ｔgr，Ｔir）に変換し、これを代表値（Ｔl，Ｔg，Ｔi）とともに出力する。各ブロック平均値計算部１６〜２２では、平均値を求めるために抽出したブロックの中で、参照画素近傍の値（Ｔlr，Ｔgr，Ｔir）と代表値（Ｔl，Ｔg，Ｔi）との差が予め定めておいた閾値を超えるものがあれば、そのブロックを擬似的光源ブロックと判定し、このブロックの代表値に小さい重み付けを行った上で平均処理を行う。参照画素の値とブロック代表値との差は、例えば各成分毎の差の二乗和や、各成分毎の差の絶対値を総和したものを用いればよい。
【０１３０】
また、参照画素近傍とブロック代表値の差とで、輝度成分を無視して色差成分（Ｔg，Ｔi）のみの比較をすることも好適である。また、線形変換を施さないＲＧＢ値同士の比較でも、同様に不適切なブロックを判別することができる。
【０１３１】
このように、本実施形態によれば、擬似的光源ブロックがホワイトバランスゲインに与える悪影響を、比較的簡単な処理により低減することができる。
【０１３２】
［実施形態５］
シーンによっては、画面の中央部と周辺部とが異なる光源により照明されている場合がある。室内から窓を撮影した場合がその一例である。室内は例えば蛍光灯で照明され、窓を通して見える屋外は太陽光で照明されている。このようなシーンにおいて、周辺部の光源で照明された部分の方が面積が大きい場合は、何も工夫しなければ、周辺部の光源に重きをおいたホワイトバランスが行われることになる。しかし、写真撮影においては、最も注目しているもの（被写体）が画面中央になるように構図取りを行うことが一般的であり、周辺部の光源を重視したホワイトバランスでは、画面中央の重要な被写体の色が不自然になってしまいかねないという問題がある。本実施形態はこのような問題を解決するためのものである。
【０１３３】
本実施形態では、画面上に、画面中央ほど大きく、周辺部にいくほど小さくなるような重み分布を設定し、各ブロック平均値計算部１６〜２２でブロック平均値を求める際、各ブロックの代表値に対し当該ブロックの画面内での位置に応じて重み付けを行った上で平均処理を行う。
【０１３４】
この処理により、一般に重要度の高い画面中央部のブロックの色の情報をホワイトバランスに強く反映させることができ、画面中央部に対するホワイトバランスを適切に行うことが可能となる。
【０１３５】
［実施形態６］
同じ照明環境下で撮影しているにもかかわらず、カメラの位置や向きを変えるなどして撮影シーンが変わると、各ブロックが蛍光灯ブロック、太陽光ブロック等のいずれに属するかが変化し、その結果ホワイトバランスが大きく変化することがある。ホワイトバランスが大きく変化すると、全体的な色の印象が異なってくる。
【０１３６】
本実施形態では、このような問題を解決するために、同じ照明環境下と考えられる状況ではシーンが変わってもホワイトバランスが大きく変化しないこと（「ホワイトバランスの安定性」と呼ぶ）を実現する制御方式を提供する。
【０１３７】
ホワイトバランスの安定性を得るため、本実施形態では、「通常のシーンでは、画像全体の全平均の色は、光源の色に近い」という経験的知識を利用する。すなわち、画像全平均の色の情報をホワイトバランスに反映させることにより、シーンの変化によるホワイトバランスゲインの変化を和らげる。
【０１３８】
図１１は、この実施形態の装置構成を示す機能ブロック図である。この構成は、図１に示す実施形態１の構成に全ブロック平均値計算部３２を加えたものである。この装置が実施形態１の装置と異なる点は、全ブロック平均値計算部３２を加えた点と、それに伴い平均値修正部２４、重み係数計算部２６及びホワイトバランスゲイン計算部２８の計算処理が一部変わる点のみである。実施形態１と同様の部分については説明を省略する。
【０１３９】
全ブロック平均値計算部３２は、ブロック代表値計算部１０から画像の各ブロックの代表値（Ｔl，Ｔg，Ｔi）の入力を受け、それら全ブロックの代表値の平均値を求める。この結果を全ブロック平均値（ＴlAl，ＴgAl，ＴiAl）と呼ぶ。
【０１４０】
平均値修正部２４は、前述した各ブロック平均値の修正処理に加え、全ブロック平均値の修正処理及び全ブロック平均値に対応するブロック数ＣntAlの計算を行う。ここで、全ブロック平均値に対応するブロック数ＣntAlは、ホワイトバランスゲイン算出の際の他のブロック平均値との混合（加重平均）比率を調整するためのものである。以下、これら本実施形態特有の平均値修正部２４の処理内容について説明する。
【０１４１】
まず、平均値修正部２４は、全ブロック平均値の色差成分（ＴgAl，ＴiAl）が、蛍光灯光、太陽光、タングステン光のいずれの照明下での白色物体の色に近いかを判別する。この判別は、色差（Ｔg-Ｔi）平面上に、蛍光灯領域、太陽光領域、タングステン光領域の３つの領域を互いに重複がないように設定し、全ブロック平均値の色差成分（ＴgAl，ＴiAl）がそのいずれに含まれるかにより行う。
【０１４２】
ここで用いる各領域は次のようにして予め実験的に定めておく。蛍光灯のみで照明されたシーンを多数撮影し、それら各シーンの全ブロック平均値の分布を求める。太陽光及びタングステン光についても同様の実験を行う。そして、それら各光源についての分布に対応するように、かつ互いに重ならないように、各領域を定める。なお、全ブロック平均値の分布と高輝度色ブロック平均値の分布とはよく似ている場合が多いので、高輝度色ブロック重み係数の算出処理で用いた各光源の領域をここで共用することもできる。
【０１４３】
このようにして全ブロック平均値の色差成分がいずれの光源の下での白色物体の色に近いかが判別できると、次に近いと判別された光源についての平均値修正処理と同様の平均値修正を全ブロック平均値に対して施す。ただし、ここでは、標準値との加重平均処理は行わず、それ以外の平均値修正処理を行う。
【０１４４】
また、平均値修正部２４は、近いと判別された光源についてのブロック数（蛍光灯ブロック数ＣntFl、太陽光ブロック数ＣntDy、タングステン光ブロック数ＣntTuのいずれか）に基づき、全ブロック平均値に対応するブロック数ＣntAlを定める。ＣntAlは、近いと判別された光源のブロック数（仮にＮとする）が増えればＣntAlも増え、逆にＮが減ればＣntAlも減るという条件を満足するような関数を利用して定める。例えば、
【数１１】
ＣntAl＝ａ×Ｎ＋ｂ（ａ，ｂは０以上の定数）        ・・・（１１）
なる一次関数によりＣntAlを求めてもよい。
【０１４５】
なお、全ブロック平均値が、蛍光灯領域、太陽光領域、タングステン光領域のいずれにも属さない場合は、全ブロック平均値を０に近い所定の小さい値に修正すると共に、ＣntAlを予め定めた極めて少ない個数に設定する。
【０１４６】
このような平均値修正及びＣntAl決定は、次のような考察に基づくものである。
【０１４７】
全ブロック平均値は、画像全体の色の平均に近く、一般にはシーンを照明する光源の色に近いと考えられる。このことから、照明環境が同一のとき、シーンが変わった場合の全ブロック平均値の変化は、蛍光灯ブロック等の各光源に対応するブロック平均値の変化よりも少ないものと期待できる。したがって、全ブロック平均値をホワイトバランスゲインに反映させれば、同一照明環境下でホワイトバランスゲインが急激に変化することを防止することができる。
【０１４８】
ただし、全ブロック平均値は必ずしも常に照明光源の色に近いとは言えず、例えば赤い物体をアップで撮影した場合などには全ブロック平均値は赤色の方に偏り、光源の色とかけ離れたものとなる。すなわち、全ブロック平均値の色差成分（ＴgAl，ＴiAl）が蛍光灯領域、太陽光領域、タングステン光領域のいずれにも含まれない場合は、全ブロック平均値は光源の色に近いとは考えられず、従ってそれをホワイトバランスに強く反映させることは好ましくない。
【０１４９】
逆に、全ブロック平均値の色差成分（ＴgAl，ＴiAl）がそれらいずれかの光源の領域に含まれていれば、その光源でシーンが照明されている可能性がある程度高い。このため、全ブロック平均値がいずれかの光源の領域に含まれている場合は、その光源と同様の平均値修正処理を行う。
【０１５０】
ただし、この場合でも、全ブロック平均値は偶然その光源の色に近くなっただけで、個々のブロックは光源の色からかけ離れている場合も考えられる。そのような場合、全ブロック平均値をホワイトバランスに強く反映させることは好ましくない。そこで、本実施形態では、全ブロック平均値が光源の光の色を反映しているか否かに応じて全ブロック平均値のホワイトバランスへの影響の度合いを調整する目的のために、全ブロック平均値に対応するブロック数ＣntAlを利用する。すなわち、全ブロック平均値が光源の光の色を反映している可能性が高いと判断される場合ほど、ＣntAlの値を大きくするのである。ＣntAlを大きくすれば、ホワイトバランスゲインにおける全ブロック平均値の重みを増すことができる。全ブロック平均値が光源の光の色を反映している可能性が高いか否かは、その光源のブロック数から判断できる。すなわち、全ブロック平均値がある光源の色に近いと判定され、その上更にその光源のブロック数が多ければ、その光源がシーンの照明光源である可能性は高いといえる。また、その可能性は、その光源のブロック数が多ければ多いほど、高くなると考えられる。以上の考察から、本実施形態が、全ブロック平均値が近いと判定された光源のブロック数Ｎが大きいほどＣntAlを大きくするという方法を採用した。
【０１５１】
なお、ＣntAlの計算式として、式（１１）を採用した場合、各定数ａ，ｂは、ホワイトバランスの安定性とホワイトバランスの適正さ（ホワイトバランス処理後の画像の色の自然さ）のトレードオフを考慮して、多数のシーンの撮影結果から試行錯誤的に定めればよい。ホワイトバランスの安定性を重視するならばａ，ｂは大きい値とし、ホワイトバランスの適正さを重視するならばａ，ｂは小さい値とする。
【０１５２】
次に、重み係数計算部２６は、実施形態１で述べた各ブロック平均値に対する重み係数の計算に加え、全ブロック平均値に対する重み係数ＷgtAlを計算する。この手順は以下の通りである。
【０１５３】
すなわち、まず全ブロック平均値の色差成分（ＴgAl，ＴiAl）が蛍光灯領域、太陽光領域、タングステン光領域のいずれに含まれるかを判定し、その領域に対応する光源についての重み係数の計算方式（実施形態１参照）を利用して全ブロック平均値に対する重み係数ＷgtAlを求める。例えば、（ＴgAl，ＴiAl）が蛍光灯領域に含まれる場合は、重み係数ＷgtAlは、蛍光灯ブロック重み係数ＷgtFlと同じ方法で求める。
【０１５４】
そして、ホワイトバランスゲイン計算部２８は、修正された全ブロック平均値（ＴlAlNew，ＴgAlNew，ＴiAlNew）、ブロック数ＣntAl及び重み係数ＷgtAlを反映したホワイトバランスゲインを計算する。その計算式の一例を以下に示す。
【０１５５】
【数１２】
Ｔwc＝ＷgtFl*ＣntFl＋ＷgtTu*ＣntTu＋ＷgtDy*ＣntDy＋ＷgtBr*ＣntBr
＋ＷgtAl*ＣntAl
【数１３】
0004063418.tif 000005
【数１４】
0004063418.tif 000006
【数１５】
MaxMix＝max（ＲMix，ＧMix，ＢMix）
【数１６】
Ｒgain＝MaxMix／ＲMix
Ｇgain＝MaxMix／ＧMix
Ｂgain＝MaxMix／ＢMix
以上説明したように、本実施形態によれば、照明光の色に近いと考えられる全ブロック平均値をホワイトバランスゲインに反映させることにより、ホワイトバランスゲインの安定性を向上させることができる。同一照明下ではシーンが変わっても全ブロック平均値はそれほど変わらないと考えられるので、ホワイトバランスのゲインが急激に変わることを防ぐことができる。
【０１５６】
［実施形態７］
日陰や暗い夕方のシーンは、一般に色温度が高い（すなわち青みがかっている）。したがって、このようなシーンの画像は、色温度を下げるべくホワイトバランスを行う必要がある。一方、明るい昼間の屋外シーンの画像は色温度の補正をほとんど必要としない。昼間の屋外での色がすべての基準となる色だからである。
【０１５７】
これら日陰や暗い夕方のシーンと明るい昼間のシーンとの両方に対し良好なオートホワイトバランスを実現するのに、１つの事実が障害となっている。それは、昼間の青空も、日陰等のシーンと同様色温度が高いという事実である。色温度（色差成分と一定の関係にある）に基づく単純なホワイトバランスを行っていたのでは、日陰等のシーンと昼間の青空を多く含むシーンとが同じホワイトバランスが行われることになる。この場合、日陰等のシーンの青みを除くようにホワイトバランスの程度が調節されていると、そのホワイトバランスでは昼間の青空が赤っぽく補正されてしまうことになる。
【０１５８】
本実施形態は、このような問題を解決するためのものである。その解決策として、本実施形態では、太陽光ブロックを抽出する際の太陽光領域（実施形態１参照）の大きさを、被写体輝度に応じて動的に変更する。すなわち、被写体輝度がある閾値より高いときは、日陰や暗い夕方ではないと考えられるので、青空によるホワイトバランスの誤動作を防ぐため、太陽光領域を色温度の高い領域を含まないように狭める。これにより、青空の画像を多く含むブロックが太陽光ブロックに選ばれなくなるので、色温度が高い青空の色の情報がホワイトバランスゲインに反映されなくなり、青空を赤く補正してしまうことが防げる。逆に、被写体輝度がある閾値より低いときは、太陽光領域を色温度が高い領域を含むように広げる。これにより、日陰や暗い夕方のシーンにおける色温度の高いブロックがホワイトバランスに反映されることになるので、そのような色温度の高さを補正することができる。
【０１５９】
なお、日陰・暗い夕方か否かを判別する被写体輝度の閾値は、実験により予め定めておく。
【０１６０】
［実施形態８］
以上の例では、光源として蛍光灯、太陽、タングステン灯を想定した。ところが、電子スチルカメラなどを考えると、これらの他にストロボが光源として用いられる場合も多い。本実施形態は、実施形態１のオートホワイトバランス装置において、ストロボ発光時のホワイトバランスの適正化を目指したものである。
【０１６１】
単純には、ストロボ光についても蛍光灯光、太陽光などと同様、独立の光源として取り扱えばよいのであるが、そうすると処理が複雑になりがちである。そこで、本実施形態では、ストロボ光の色が太陽光にかなり近いことを利用する。すなわち、太陽光ブロック平均値及び太陽光ブロック数に対して補正を加えることによりストロボ光用の平均値、ブロック数を求め、これをホワイトバランスゲインの計算に用いることにより、ストロボ発光の場合のホワイトバランスの適正化を図る。
【０１６２】
本実施形態では、オートホワイトバランス装置は、ストロボ装置からストロボが発光したか否かを示す信号を受ける。
【０１６３】
ストロボ発光時の太陽光ブロック平均値等の補正は、平均値修正部２４により行う。平均値修正部２４は、ストロボ発光を示す信号を受けた場合、太陽光標準値の代わりに予め定めたストロボ標準値を用いて、太陽光ブロック平均値と標準値の加重平均を行う。このときの計算式は、前述の式（４）と同じでよい。すなわち、ストロボ光標準値（ＴgStdSt，ＴiStdSt）とすると、
【数１７】
ＴgDyNew＝Ａ＊ＴgDy＋Ｂ＊ＴgStdSt
ＴiDyNew＝Ａ＊ＴiDy＋Ｂ＊ＴiStdSt
により、太陽光ブロック平均値（ＴgDy，ＴiDy）を修正する。このとき、標準値だけでなく係数Ａ，Ｂについてもストロボ用の値を用いるのが好適である。この場合、係数Ｂの方を係数Ａより大きな値とすることにより、ストロボ標準値の方が重視されるようにする。これにより、太陽光ブロック平均値をストロボ光の色に近くなるように修正することができる。このような係数設定によれば、ホワイトバランスがストロボ光に対してより強く作用することになる。
【０１６４】
また、平均値修正部２４は、ストロボ発光時には、太陽光ブロック数に対して所定の数を加える。この操作により、蛍光灯ブロック平均値やタングステン光ブロック平均値よりも太陽光ブロック平均値（この場合の太陽光ブロック平均値はストロボ光の影響を表している）の方が重視されることになる。
【０１６５】
このような操作により、本実施形態の装置では、ストロボ光が発光したときには、ストロボ光の色を重視したホワイトバランスが実現される。
【０１６６】
なお、カメラに装備されるストロボには、自動発光モードと強制発光モードの２つのモードを持つものが多い。前者はストロボが被写体輝度に応じて発光するモードであり、後者は被写体輝度によらずシャッター操作に応じて強制的にストロボが発光するモードである。これらストロボのモードに応じて、上記操作におけるストロボ光標準値や係数Ａ，Ｂ、太陽光ブロック数に加える数を変更する構成とすれば、モードに応じたきめの細かいホワイトバランスが実現できる。
【０１６７】
［実施形態９］
以上説明してきたオートホワイトバランス装置は、画像や被写体輝度の情報から自動的にホワイトバランスを行うものであるが、このような自動的な処理には自ずと限界がある。例えば、蛍光灯照明下では、蛍光灯に対応したホワイトバランスが行われるべきである。しかしながら、蛍光灯照明下であっても、撮影対象が真っ赤な壁であったら、そのシーンの画像から蛍光灯ブロックを検出することはできない。したがって、この場合、上述のオートホワイトバランス処理では、蛍光灯に対するホワイトバランスを行うことはできない。
【０１６８】
このような特殊な場合に対応できるよう、オートホワイトバランス装置には光源指定モードが設けられている。例えば、予め蛍光灯で照明されていると分かっているならば、ユーザが蛍光灯モードを指定することにより、蛍光灯対応のホワイトバランスが行われる。従来の光源指定によるホワイトバランスは、シーンによらず一定の色補正を行うものであった。しかしながら、同じ蛍光灯照明といってもその色温度は様々であり、一律的な色補正では高品質のホワイトバランスは望めない。
【０１６９】
そこで、本実施形態では、実施形態１のオートホワイトバランス装置の機構を利用して、光源指定モードでも、シーンに応じてホワイトバランスの程度が調節できる方式を提供する。
【０１７０】
本実施形態のオートホワイトバランス装置には、実施形態１で説明したホワイトバランス処理を行う自動モードに加え、光源指定モードとして蛍光灯モード、太陽光モード、タングステン光モードを設ける。そして、光源指定モードのいずれかが指定された場合、重み係数計算部２６は、指定された光源以外の光源の重み係数を０とし、指定された光源のみ実施形態１に示した方法で計算した重み係数を出力する。その他は、実施形態１で説明したのと同様の処理を行う。
【０１７１】
このような構成により、実施形態１のオートホワイトバランス装置で、光源指定モードでのホワイトバランス処理が可能になる。そして、この光源指定モードでのホワイトバランスは、画像から得た平均値や重み係数に基づき行われるので、個々のシーンに対応した動的なホワイトバランスの調整も実現される。
【０１７２】
なお、平均値修正部２４において、指定された光源のブロック平均値をその光源の標準値と加重平均する際の標準値の方の係数を自動モードの場合より大きくしておけば、その光源のブロック平均値を標準値に近づけることができ、よりその光源に適したホワイトバランスが可能となる。
【０１７３】
また、本実施形態において、指定された光源の数が０である場合に備え、各ブロック平均値計算部１６〜２２に、そのような場合のためのブロック平均値とブロック数のデフォルト値を設定しておくことも好適である。光源指定モードで、指定された光源のブロックが画像になかった場合、指定された光源に対応するブロック平均値計算部は、ブロック平均値及びブロック数としてそのデフォルト値を出力し、以降の各ユニットではこの情報に基づき計算が行われる。
【０１７４】
［実施形態１０］
ビデオカメラ等において、同じ照明環境下で連続して撮影した場合、構図が少し変わっただけでホワイトバランスゲインが微妙に変化することがある。そのような場合、たとえその変化が小さいものであっても、それによって引き起こされる画像の色合いの変化が人の目にとまりやすい。
【０１７５】
本実施形態では、そのような問題に鑑み、連続撮影時において同一照明環境下と考えられる場合に、連続した画像間でのホワイトバランスゲインの変化を和らげる仕組みを提供する。
【０１７６】
本実施形態の装置の基本的な構成は、実施形態１のものと同じでよい。ただし、ホワイトバランスゲイン計算部２８に次の機能を追加する。
【０１７７】
すなわち、ホワイトバランスゲイン計算部２８に、過去の画像についてのホワイトバランスゲインの履歴を保持する履歴記憶部を設ける。履歴記憶部には、順次入力された画像について求めたホワイトバランスゲインが記憶されていくが、照明環境が変わったと判断されると、それまで記憶していたホワイトバランスゲインがクリアされる。
【０１７８】
ホワイトバランスゲイン計算部２８は、入力された画像に対し、実施形態１で説明した手順でホワイトバランスゲインを求めた後、そのゲインの値を履歴記憶部に記憶された１つ前のフレームの画像のホワイトバランスゲインと比較する。比較の結果、両者の差が小さい場合は、同一照明下で連続撮影されているものと判断して、現在のホワイトバランスゲインを履歴記憶部に記憶されている過去のホワイトバランスゲインと平均した上で出力する。ここでは、現在の画像と１つ前の画像とで、Ｒ，Ｇ，Ｂそれぞれについてのゲインの絶対値同士の差のすべてが所定の閾値より小さい場合に、「ゲインの差が小さい」と判定し、それ以外の場合はゲインの差が大きいと判定する。この代わりに、Ｒ，Ｇ，Ｂそれぞれについてのゲインの二乗和が所定の閾値より小さい場合を、「ゲインの差が小さい」と判定してもよい。また、平均処理としては、例えば現在に近いフレームのゲインほど高い重みづけを与えて平均する加重平均処理が好適である。なお、このようにして求められたゲインは、それまで記憶していたゲインに加えて履歴記憶部に記憶される。
【０１７９】
このような構成により、現在の画像が以前の画像と同一照明環境下にあると判定される場合には、ホワイトバランスゲインが過去の値を用いて平滑化されるので、ホワイトバランスゲインの急激な変化が抑えられ、画像の色合いの急激な変化を抑制することができる。
【０１８０】
なお、現在の画像について求めたホワイトバランスゲインと１つ前の画像のそれとの差が大きい場合は、ホワイトバランスゲイン計算部２８は、現在の画像について求めたホワイトバランスゲインをそのまま出力する。そして、履歴記憶部に記憶された過去のホワイトバランスゲインをクリアして、出力したホワイトバランスゲインを新たに記憶する。
【０１８１】
［実施形態１１］
実施形態１の装置では、画像中から各光源下での白色物体の色に近いブロックを抽出し、それらブロックの色からホワイトバランスゲインを求めるものであった。しかしながら、シーンによっては、いずれの光源に対応するブロックもほとんど存在しない場合がある。例えば、真っ赤な壁を写した画像では、それを照明している光源が蛍光灯であっても太陽であっても、蛍光灯ブロック、太陽光ブロック、タングステン光ブロックどれもほとんど存在しないであろうと考えられる。このような画像から求めたホワイトバランスゲインは、信頼性が低い。すなわち、画像から光源の色の情報があまり得られないので、そのような画像から得たホワイトバランスゲインでは、光源の色を正しく補正できる可能性が低い。このようなシーンは、自動的なホワイトバランスは本質的に困難だと言える。
【０１８２】
本実施形態では、実施形態１のオートホワイトバランス装置において、このような場合にもある程度良好なホワイトバランスを行える仕組みを提供するものである。
【０１８３】
実施形態１の装置では、ある光源についてのブロック数（蛍光灯ブロック数など）が非常に少なければ、シーンがその光源で照明されている可能性は少ないものと考えられる。また、実施形態１の装置は、ある光源についてのブロック数がある程度多くても、その光源が照明している可能性が少ない場合は、その光源について重み係数計算部２６で求められる重み係数の値が小さくなるようになっている。例えば、明るい屋外で緑の木々を撮影した画像の場合、緑色の部分のブロックが蛍光灯ブロックと判定され蛍光灯ブロックの数が多くなることがあるが、この場合、被写体輝度が高いため蛍光灯ブロック重み係数は非常に小さい値となる。これにより、蛍光灯で照明されている可能性が低いことが分かる。
【０１８４】
本実施形態では、このような考察に基づき、シーンがある光源で照明されている可能性をその光源のブロック数と重み係数とに基づき決定する。そして、この可能性がいずれの光源についても低い場合は、そのとき求めたホワイトバランスゲインは信頼性が低いものと判断する。
【０１８５】
光源が照明している可能性を示す指標値としては、その光源のブロック数と重み係数との積を用いるのが好適である。ある光源のブロック数も重み係数も共に小さければ、両者の積は極めて小さくなるが、このような場合はその光源で照明されている可能性も非常に低いと考えられる。処理としては、予めその積の値について小さい値を閾値と定めておき、各光源ごとにブロック数と重み係数との積を求めて各々その閾値と比較し、すべての光源についてその積が閾値より小さければ、そのときの画像について求めたホワイトバランスゲインは信頼性の低いものと判定する。なお、この方法は一例であり、ブロック数と重み係数とを他の方法で組み合わせた別の指標値を用いてももちろんよい。
【０１８６】
ホワイトバランスゲイン計算部２８には、過去に求めたホワイトバランスゲインを記憶する記憶部を設ける。ホワイトバランスゲイン計算部２８は、求めたホワイトバランスゲインの信頼性が低いと判定されなかった場合、そのゲインを記憶部に記憶する。そして、あるとき求めたホワイトバランスゲインの信頼性が低いものと判定した場合は、そのホワイトバランスゲインと、記憶部に記憶している最新のホワイトバランスゲインとを予め定めた重み付けで加重平均し、その結果を最終的なホワイトバランスゲインとして出力する。
【０１８７】
このような構成によれば、自動的はホワイトバランスが難しいシーンに対しても過去のホワイトバランスゲインの情報を利用して比較的良好なホワイトバランスを行うことができる。
【０１８８】
以上、本発明の好適な実施形態について説明した。以上の例では、画像信号がＲＧＢ信号である場合の例を説明したが、ＲＧＢ信号以外の形式の画像信号に対しても本発明が同様に適用可能であり、同様の効果を奏することは、以上の説明から明らかであろう。
【０１８９】
また、上記各実施形態では、ホワイトバランス調整信号として、画像信号に対するゲイン（ホワイトバランスゲイン）の形式のものを用いたが、ホワイトバランス調整信号がこれ以外の形式のものでも、本発明は同様に適用可能であり、同様の効果を奏する。
【図面の簡単な説明】
【図１】  本発明に係るオートホワイトバランス装置の全体構成を示す機能ブロック図である。
【図２】  画像のブロック分割の一例を示す図である。
【図３】  高輝度色領域の一例を示す図である。
【図４】  蛍光灯領域の一例を示す図である。
【図５】  太陽光領域の一例を示す図である。
【図６】  タングステン光領域の一例を示す図である。
【図７】  蛍光灯ブロック平均値に対する、被写体輝度に応じた重み関数の一例を示す図である。
【図８】  タングステン光ブロック平均値に対する、被写体輝度に応じた重み関数の一例を示す図である。
【図９】  太陽光ブロック平均値に対する、被写体輝度に応じた重み関数の一例を示す図である。
【図１０】  画素グループを説明するための図である。
【図１１】  別の実施形態に係る装置の構成を示す機能ブロック図である。
【符号の説明】
１０  ブロック代表値計算部、１２  最高輝度ブロック探索部、１４  輝度閾値計算部、１６  高輝度色ブロック平均値計算部、１８  蛍光灯ブロック平均値計算部、２０  太陽光ブロック平均値計算部、２２  タングステン光ブロック平均値計算部、２４  平均値修正部、２６  重み係数計算部、２８  ホワイトバランスゲイン計算部、３０  ホワイトバランス調整部、３２  全ブロック平均値計算部。
【図１】
0004063418.tif 000007
【図２】
0004063418.tif 000008
【図３】
0004063418.tif 000009
【図４】
0004063418.tif 000010
【図５】
0004063418.tif 000011
【図６】
0004063418.tif 000012
【図７】
0004063418.tif 000013
【図８】
0004063418.tif 000014
【図９】
0004063418.tif 000015
【図１０】
0004063418.tif 000016
【図１１】
0004063418.tif 000017