(57)【特許請求の範囲】
【請求項１】
画像処理装置であって、
撮影画像から、所定の白色検出範囲内の色を有するデータを抽出することで光源色を推定し、推定された光源色に対応したホワイトバランス補正値を算出する算出手段と、
前記算出手段により算出されたホワイトバランス補正値を用いて、前記撮影画像に対してホワイトバランス補正を行うホワイトバランス補正手段と、
前記撮影画像の撮像に適用するシャッター速度に応じて、前記白色検出範囲を変更する変更手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記変更手段は、シャッター速度が第１の速度よりも速い第２の速度である場合、前記白色検出範囲を前記第１の速度の場合に用いられる白色検出範囲よりも広くすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
フリッカ光源の波形を検出する検出手段を更に有し、
前記変更手段は、前記検出手段によりフリッカ光源の波形が検出されたときに、シャッター速度に応じて前記白色検出範囲を変更することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記変更手段は、前記検出手段により検出されたフリッカ波形から、２つ以上の異なるシャッター速度に相当する色を取得し、前記シャッター速度に相当する色の変化に応じて、前記白色検出範囲を変更することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記変更手段は、前記検出手段により検出されたフリッカ波形から、撮影時のシャッター速度に相当する色を取得し、前記シャッター速度における色に応じて、前記白色検出範囲を変更することを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記検出手段は、測光センサの複数の領域ごとの色に関する信号値が前記白色検出範囲内にあるかどうかの判定を行い、前記白色検出範囲内にあった領域の前記信号値を用いてフリッカの波形を検出することを特徴とする請求項３乃至５の何れか１項に記載の画像処理装置。
【請求項７】
前記変更手段は、前記検出手段により検出されたフリッカ波形から、２つ以上の異なるシャッター速度に相当する色を取得し、前記取得した色が前記白色検出範囲外となるシャッター速度を取得し、撮影時のシャッター速度が前記取得したシャッター速度を超えた場合に、前記白色検出範囲を変更することを特徴とする請求項３に記載の画像処理装置。
【請求項８】
前記変更手段は更に、シャッター速度に応じてホワイトバランス補正値の制御範囲を制限するリミッタ範囲を変更することを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
画像処理装置が実行する情報処理方法であって、
撮影画像から、所定の白色検出範囲内の色を有するデータを抽出することで光源色を推定し、推定された光源色に対応したホワイトバランス補正値を算出する算出ステップと、
前記算出ステップにより算出されたホワイトバランス補正値を用いて、前記撮影画像に対してホワイトバランス補正を行うホワイトバランス補正ステップと、
前記撮影画像の撮像に適用するシャッター速度に応じて、前記白色検出範囲を変更する変更ステップと、
を含むことを特徴とする情報処理方法。
【請求項１０】
コンピュータに、
撮影画像から、所定の白色検出範囲内の色を有するデータを抽出することで光源色を推定し、推定された光源色に対応したホワイトバランス補正値を算出する算出ステップと、
前記算出ステップにより算出されたホワイトバランス補正値を用いて、前記撮影画像に対してホワイトバランス補正を行うホワイトバランス補正ステップと、
前記撮影画像の撮像に適用するシャッター速度に応じて、前記白色検出範囲を変更する変更ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、デジタルスチルカメラ等の撮像装置のホワイトバランス設定として、撮影した画像に適したホワイトバランスを前記撮像装置が自動で設定するオートホワイトバランス（以下、ＡＷＢという）モードがある。
このＡＷＢの演算方法の一つとして、撮影画像データ（ＲＧＢデータ）の無彩色と思われる画像領域のデータを抽出し、前記画像領域が無彩色となるように、前記画像領域を構成する色成分のＲ成分及びＢ成分のゲイン（利得）を調整する方法がある。以下、無彩色と思われる画像領域のデータを抽出することを白検出という。
一方で、蛍光灯等の周期的に明滅を繰り返すフリッカ光源下では、フリッカ周期よりも高速なシャッター速度で撮影を行うと、図１に示すように撮影するタイミングによって撮影される画像の色が変化してしまう課題がある。図１はフリッカ光源の１周期分の明滅周期における撮像装置のＲＧＢ信号に対する信号レベルの変化の一例であり、ＲＧＢそれぞれで信号レベルが時間毎に異なっていることを示している。図１において、信号２０１がＧ、信号２０２がＢ、信号２０３がＲの信号を示している。図１において、期間２０４に示す期間で撮影された場合と、期間２０５に示す期間で撮影された場合ではＲＧＢの色比がそれぞれ異なる。その結果、撮影されたタイミングによって撮影毎に画像の色が変化してしまう。
この課題を解決する手段として近年、撮影時に光源のフリッカ波形を検出し、フリッカ波形の最も信号レベルが高くなるピーク位置で撮影するような構成とした撮像装置が考案されている。例えば図１の光源の場合、常に期間２０４のタイミングで撮影することで、何度撮影を繰り返しても同じ色で撮影することができ、フリッカ光源での色変化を抑えることができる。この撮影手法を以下、フリッカレス撮影という。
しかしながらこのフリッカレス撮影では、同じシャッター速度であれば撮影毎に色は変化しないが、シャッター速度が変化すると色が変化してしまう。
【０００３】
図２は、あるフリッカ光源における、異なるシャッター速度でフリッカレス撮影を行った場合の例を示す図である。図２において信号３０１はＧ信号、信号３０２はＢ信号、信号３０３はＲ信号の時間毎の信号レベルの変化を示している。
図２の３０４と３０５とはどちらもフリッカ波形のピーク位置を中心に撮影が行われているが、３０４のほうが３０５よりもシャッター速度が高速である（露光時間が短い）ことを示している。図２に示すようにフリッカ波形のピーク位置で撮影するようにタイミングを揃えていても、シャッター速度が変化した場合、色が変化してしまう。
【０００４】
図３は、別のフリッカ光源におけるフリッカレス撮影の例を示す図である。図３ではＲＧＢそれぞれの信号のピーク位置が異なっている。図３において信号４０１はＧ信号、信号４０２はＢ信号、信号４０３はＲ信号の時間毎の信号レベルの変化を示している。このような場合フリッカレス撮影では例えば信号４０１のピーク位置を基準に撮影を行うことで、撮影毎の色変化を抑えることができる。
しかしながら図３に示すケースにおいてもシャッター速度が変化した場合、図３の期間４０４、期間４０５に示すように同じピーク位置で撮影していても色が変化してしまう。
以上のようなフリッカレス撮影において、前述したＡＷＢの演算を行う場合、以下に示す課題がある。
【０００５】
フリッカレス撮影が無いシステムでは、蛍光灯等のフリッカ光源における撮影はフリッカの影響を受けにくい、光源のフリッカ周期よりも長い低速なシャッター速度での撮影を前提としていた。そのため、ＡＷＢ演算用の前記白検出手段の白検出範囲は低速シャッターでの蛍光灯の色が検出できる図４に示す範囲としていた。図４は、各種蛍光灯を低速なシャッター速度で撮影したときのＲ／Ｇ、Ｂ／Ｇ信号のプロット範囲を示す図である。図４において、軌跡５０１は黒体輻射軌跡を示している。また、プロット位置５０２は白色蛍光灯、プロット位置５０３は昼白色蛍光灯、プロット位置５０４は昼光色蛍光灯、プロット位置５０５は三波長形昼光色蛍光灯、プロット位置５０６は三波長形昼白色蛍光灯を低速シャッターで撮影したときのプロット位置である。従来はこの低速シャッターでの蛍光灯の色が検出範囲に収まるように、図４の白検出範囲５０７に示すように白検出範囲を設定していた。
【０００６】
しかしながらフリッカレス撮影時はフリッカ光源で高速シャッターでの撮影が可能となる。図５において、プロット位置６０１からプロット位置６０５まではそれぞれ、白色蛍光灯、昼白色蛍光灯、昼光色蛍光灯、三波長形昼光色蛍光灯、三波長形昼白色蛍光灯を高速シャッターで撮影したときのプロット位置である。このようにフリッカレス撮影によりフリッカ光源でシャッター速度を高速にして撮影することで、図５に示すように各蛍光灯のプロット位置が低速シャッターにおけるプロット位置から変化してしまう。その結果、白検出範囲外にプロットされ、適切にホワイトバランスを算出できなかったり、蛍光灯がプロットされない領域の色まで白検出範囲に含んでしまい、本来検出対象から除外したい被写体色を検出しやすくなったりすることがあった。
従来、蛍光灯照明下で適切なホワイトバランスを算出する手段として、例えば特許文献１では、フリッカが検出された場合には蛍光灯用の色検出範囲を設定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２８７３６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述の特許文献に開示された従来技術では、フリッカ光源下でシャッター速度が変化した場合の制御については触れられていないため、前述したようにシャッター速度が変化した場合に適切なＡＷＢ演算結果が得られないことがあった。
本発明は、フリッカ光源下での撮影においてシャッター速度によらず最適なホワイトバランス補正が施された画像を提供することを目的とする。
【課題を解決するための手段】
【０００９】
そこで、本発明は、画像処理装置であって、撮影画像から、所定の白色検出範囲内の色を有するデータを抽出することで光源色を推定し、推定された光源色に対応したホワイトバランス補正値を算出する算出手段と、前記算出手段により算出されたホワイトバランス補正値を用いて、前記撮影画像に対してホワイトバランス補正を行うホワイトバランス補正手段と、前記撮影画像の撮像に適用するシャッター速度に応じて、前記白色検出範囲を変更する変更手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、フリッカ光源下での撮影においてシャッター速度によらず最適なホワイトバランス補正が施された画像を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】フリッカ光源での撮影タイミングを示す図である。
【図２】フリッカレス撮影でのシャッター秒時の変化を示す図である。
【図３】フリッカレス撮影でのシャッター秒時の変化を示す図である。
【図４】低速シャッター用の白検出範囲を示す図である。
【図５】高速シャッター時の白検出範囲とフリッカ光源の関係を示す図である。
【図６】本実施形態の画像処理装置のハードウェア構成を示す図である。
【図７】本実施形態の情報処理を示すフローチャートである。
【図８】本実施形態の測光センサ用の白検出範囲を示す図である。
【図９】本実施形態の測光センサを用いて検出したフリッカ波形を示す図である。
【図１０】本実施形態のＡＷＢ演算の処理を示すフローチャートである。
【図１１】本実施形態の白検出範囲、リミッタ範囲の算出方法を示す図である。
【図１２】本実施形態の白検出範囲、リミッタ範囲の算出方法を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面に基づいて説明する。
【００１３】
図６は、画像処理装置７１７のハードウェア構成の一例を示す図である。
図６において、レンズ７００は、撮影レンズである。絞り７０１は、通過する光の量を調整する。シャッター７０２は、撮像素子７０３に対して撮影時に光があたるように、撮影時に開き、撮影時以外のときは光をさえぎる。撮像素子７０３は光学像を電気信号に変換する。Ａ／Ｄ変換器７０４は、撮像素子７０３のアナログ信号出力をデジタル信号に変換する。タイミング発生部７０５は、撮像素子７０３、Ａ／Ｄ変換器７０４にクロック信号や制御信号を供給して、それらの動作を制御している。このタイミング発生部７０５はメモリ制御部７０６及びシステム制御部７１６により制御されている。
画像処理部７０８ではＡ／Ｄ変換器７０４からのデータ又はメモリ制御部７０６からの画像データに対して、以下の画像処理を施している。即ち、ホワイトバランス処理、ＲＧＢベイヤー配列の信号をＲＧＢ３プレーン信号に変換するための色補間処理、ガンマ補正処理、彩度補正、色相補正等の画像処理である。また、この画像処理部７０８では、後述の露光制御部７１０から得られるシャッター速度情報を用いて撮影画像からホワイトバランスを演算するＡＷＢ演算も行っている。但し、画像処理部７０８の画像処理等は、システム制御部７１６の制御に基づき処理を行っているため、以下では、説明の簡略化のため、特に言及しない限り、システム制御部７１６が画像処理を行うものとして説明を行う。画像処理の詳細は、後述する。
メモリ制御部７０６は、Ａ／Ｄ変換器７０４、タイミング発生部７０５、画像処理部７０８、メモリ７０７を制御する。これにより、Ａ／Ｄ変換器７０４でＡ／Ｄ変換されたデジタルデータは画像処理部７０８、メモリ制御部７０６を介して、又は直接、メモリ制御部７０６を介して、メモリ７０７に書き込まれる。
メモリ７０７は撮影した静止画像を格納する為のメモリで、所定枚数の静止画像を格納するのに十分な記憶容量を備えている。また、このメモリ７０７は、システム制御部７１６や画像処理部７０８の作業領域としても使用することが可能である。
外部記憶装置７０９はＣＦカードやＳＤカードといった着脱可能な外付けの記録媒体である。メモリ７０７に一時的に記録された画像データは最終的にこの外部記憶装置７０９に記録される。
【００１４】
測光センサ７１３は、撮影画面の平均輝度を測定することができる。この測光センサ７１３の輝度値に応じて、システム制御部７１６にて適切な露光量が算出されると、露光制御部７１０は、露光量に応じた絞り７０１とシャッター７０２とを制御する。また測光センサ７１３は、水平９個、垂直７個の計６３分割された複数の領域を有し、各領域内にＲＧＢ３色の感度を持ち、毎秒１２０回各領域のＲＧＢそれぞれの信号値を出力することで、フリッカ有無やフリッカの波形を取得する。このことで、システム制御部７１６は、波形のピーク位置で撮影するフリッカレス撮影用の撮影タイミングを算出することができる。なお、測光センサ７１３の分割数や信号取得周期については前記数値に限るものではない。
測距センサ７１２は、被写体の距離情報を検出する。測距制御部７１１は、測距センサ７１２の出力によりレンズ７００のフォーカシングを制御する。
システム制御部７１６は、この画像処理装置７１７全体の動作を制御している。
ＳＷ１は、レリーズ釦７１４の第１ストロークでＯＮし、測光、測距を開始するスイッチとなる。ＳＷ２は、レリーズ釦７１４の第２ストロークでＯＮし、露光動作を開始するスイッチとなる。なお、フリッカレス撮影時は前記ＳＷ２ＯＮ後、測光センサ７１３で得られるフリッカ波形の最初のピーク位置が露光期間中の中心になるタイミングで露光が開始される。また、ＳＷ２が継続して押されていた場合、連写撮影となり１コマ目の露光完了後、２コマ目の露光が行われる。フリッカレス撮影時についてはこの２コマ目の露光についても前記フリッカ波形のピーク位置が露光期間中の中心になるタイミングで露光が開始される。３コマ目以降の連写についても同様である。
システム制御部７１６がメモリ７０７又は外部記憶装置７０９等に記憶されているプログラムに基づき処理を実行することによって、後述する画像処理装置の機能及びフローチャートの処理等が実現される。
【００１５】
以下、図７及び図１０のフローチャートを参照して、本実施形態による、画像処理装置７１７の撮影動作及びＡＷＢ演算の情報処理について説明する。
まず図７のフローチャートを用いて撮影動作の情報処理について説明する。
ステップＳ８０１において、システム制御部７１６は、レリーズ釦７１４のＳＷ１がＯＮになるまで待機する。
ＳＷ１がＯＮとなったら、ステップＳ８０２において、システム制御部７１６は、測光センサ７１３の６３分割された各分割領域のＲＧＢ信号を取得する。システム制御部７１６は、取得した各領域のＲＧＢ信号に対して、後述する（式１）を用いてＹ値を算出し、各領域のＹ値の平均値を算出することで被写体の明るさを算出する。
Ｙ＝３×Ｒ＋６×Ｇ＋Ｂ                                          ・・・（式１）
更に、システム制御部７１６は、取得した各領域のＲＧＢ信号それぞれについてその領域の色が光源の色かどうかの判定を行う。その判定方法について以下に述べる。
まず、システム制御部７１６は、測光センサ７１３の各領域のＲＧＢ値に対して、Ｒ／Ｇ、Ｂ／Ｇ値を算出する。
そして、システム制御部７１６は、測光センサ７１３の各領域のＲ／Ｇ、Ｂ／Ｇ値に対して、図８に示す白検出範囲内に入る領域のＲＧＢ値のみを積分する。図８において線９０１は黒体輻射軌跡に近似した線である。プロット位置９０２からプロット位置９０６まではそれぞれ、測光センサ７１３で白色蛍光灯、昼白色蛍光灯、昼光色蛍光灯、三波長形昼光色蛍光灯、三波長形昼白色蛍光灯を撮影したときのプロット位置である。白検出範囲９０７は測光センサ７１３用の白検出範囲で図４、図５で示した撮像素子７０３用の白検出範囲５０７よりも広めの枠が設定されている。なお、測光センサ７１３の各領域のＲＧＢ値に対して、白検出範囲内に含まれる領域が１つも存在しない場合、システム制御部７１６は、全ての領域のＲＧＢ値を積分する。白検出範囲内は、色抽出範囲内の一例である。
システム制御部７１６は、この判定を毎秒１２０回実施し、ＲＧＢそれぞれの信号値を出力する。システム制御部７１６は、取得した信号値の変化からフリッカ光源のＲＧＢそれぞれの点滅周期を示す波形を得る。
【００１６】
図９は、算出されたフリッカ光源の波形を示す図である。図９において波形１００１、波形１００２、波形１００３はそれぞれＲ、Ｂ、Ｇの信号値の波形を示している。
ステップＳ８０３において、システム制御部７１６は、レリーズ釦７１４のＳＷ２がＯＮになるまでステップＳ８０２の動作を繰り返す。
そして、ＳＷ２がＯＮになったら、ステップＳ８０４において、システム制御部７１６は、ステップＳ８０２で算出した光源の波形から光源のフリッカ有無判定を行う。このフリッカ有無判定の方法としては、システム制御部７１６は、ステップＳ８０２で算出した光源の波形から一定周期で光源の明るさが変化しているかどうかを判定し、一定周期で変化している場合フリッカ有りと判定する。
ステップＳ８０４でフリッカ有りと判定した場合、ステップＳ８０５において、システム制御部７１６は、以下の処理を行う。即ち、システム制御部７１６は、フリッカレス撮影を行い、ステップＳ８０２で算出した光源波形（図９のＧ信号の波形１００３）のピーク位置が露光期間の中心となるような図９の期間１００４で示すタイミングで露光を開始する。
【００１７】
ステップＳ８０４で光源のフリッカが無いと判定した場合、ステップＳ８０６において、システム制御部７１６は、ステップＳ８０３でレリーズ釦７１４のＳＷ２がＯＮとなったら直ぐに露光を開始する。
なお、露光時のシャッター速度についてはステップＳ８０２で算出された光源の明るさから被写体の明るさが適正になるように、撮像素子７０３の感度（ＩＳＯ感度）、絞り７０１、シャッター７０２の速度が決定される。
以上のようにして露光動作が完了したら画像信号が取得され、ステップＳ８０７において、システム制御部７１６は、取得した画像信号を用いてＡＷＢ演算を行う。このＡＷＢ演算の詳細については図１０のフローチャートを用いて後述する。
ステップＳ８０８において、システム制御部７１６は、ステップＳ８０７で算出されたホワイトバランス補正値を用いて、取得した画像信号に対してホワイトバランス補正処理を施す。そして、色補間処理、ガンマ補正処理、彩度補正、色相補正等の現像処理が施された後、外部記憶装置７０９に画像が記録され、一連の処置が終了となる。
【００１８】
次に図１０のフローチャートを用いてステップＳ８０７のＡＷＢ演算の情報処理について詳細に説明する。
まずステップＳ１０１において、システム制御部７１６は、撮影画像を水平ｎ個、垂直ｍ個の領域に分割する。ｎ、ｍはそれぞれ任意の整数であり、本実施形態ではｎ、ｍ共に１６とし、全部で２５６個の領域に分割する。また以下この分割領域をブロック分割領域とする。
次にステップＳ１０２において、システム制御部７１６は、各ブロック分割領域内のＲ、Ｇ、Ｂ信号の平均値Ｒａｖｅ、Ｇａｖｅ、Ｂａｖｅを以下の（式２）を用いて取得する。
Ｒａｖｅ  ＝  Ｒａｌｌ／Ｒｃｏｕｎｔ
Ｇａｖｅ  ＝  Ｇａｌｌ／Ｇｃｏｕｎｔ                        ・・・（式２）
Ｂａｖｅ  ＝  Ｂａｌｌ／Ｂｃｏｕｎｔ
ここで、Ｒａｌｌ、Ｇａｌｌ、Ｂａｌｌはそれぞれ各ブロック分割領域内のＲ、Ｇ、Ｂそれぞれの積分値である。Ｒｃｏｕｎｔ、Ｇｃｏｕｎｔ、Ｂｃｏｕｎｔはそれぞれ各ブロック分割領域内のＲ、Ｇ、Ｂそれぞれの個数である。
【００１９】
次にステップＳ１０３において、システム制御部７１６は、各ブロック分割領域内のＧ信号で正規化したＲ、Ｂ信号Ｒ／Ｇ、Ｂ／Ｇを、式３を用いて算出する。
Ｒ／Ｇ  ＝  Ｒａｖｅ／Ｇａｖｅ
Ｂ／Ｇ  ＝  Ｂａｖｅ／Ｇａｖｅ                              ・・・（式３）
次にステップＳ１０４において、システム制御部７１６は、フリッカ検知及びフリッカレス撮影が行われたかどうかを判定する。フリッカレス撮影が行われていた場合、システム制御部７１６は、ステップＳ１０５の処理を行う。
ステップＳ１０５において、システム制御部７１６は、撮影画像の撮像に適用するシャッター速度からＡＷＢ演算に使用する白検出範囲及び、後述するホワイトバランス補正値の制御範囲を制限するリミッタ範囲を算出する。その詳細について説明する前に、先にステップＳ１０７の白検出処理及びステップＳ１０８のリミッタ処理について説明する。白検出範囲は、例えば、色抽出範囲の一例である。
【００２０】
ステップＳ１０７の白検出処理では、システム制御部７１６は、ステップＳ１０３で取得した各ブロック領域のＲ／Ｇ、Ｂ／Ｇ値についてステップＳ１０５で算出した白検出範囲内にプロットされるブロックのみを抽出する。そして、システム制御部７１６は、抽出したブロックのＲＧＢ信号の平均値Ｒａｖｅ、Ｇａｖｅ、Ｂａｖｅの平均値ＲａｖｅＡｌｌ、ＧａｖｅＡｌｌ、ＢａｖｅＡＬＬを、以下の（式４）を用いて算出する。
ＲａｖｅＡＬＬ  ＝  （抽出されたブロックのＲａｖｅ積分値）／（抽出されたブロック個数）
ＧａｖｅＡＬＬ  ＝  （抽出されたブロックのＧａｖｅ積分値）／（抽出されたブロック個数）
ＢａｖｅＡＬＬ  ＝  （抽出されたブロックのＢａｖｅ積分値）／（抽出されたブロック個数）
・・・（式４）
なお、抽出されたブロックが１つもない場合については、システム制御部７１６は、全てのブロックのＲＧＢ信号の平均値Ｒａｖｅ、Ｇａｖｅ、Ｂａｖｅを用いて平均値ＲａｖｅＡｌｌ、ＧａｖｅＡｌｌ、ＢａｖｅＡＬＬを算出する。
そして、システム制御部７１６は、（式４）で算出した結果から以下の（式５）を用いてＧ信号で正規化したＲ、Ｂ信号Ｒ／Ｇａｌｌ、Ｂ／Ｇａｌｌを１点算出する。
Ｒ／Ｇａｌｌ  ＝  ＲａｖｅＡＬＬ／ＧａｖｅＡＬＬ
Ｂ／Ｇａｌｌ  ＝  ＢａｖｅＡＬＬ／ＧａｖｅＡＬＬ              ・・・（式５）
ここまででＧ信号で正規化したＲ、Ｂ信号１点が算出され、ステップＳ１０７の白検出処理は終了である。
【００２１】
次にステップＳ１０８のリミッタ処理について説明する。
ステップＳ１０８のリミッタ処理は、ステップＳ１０７で算出した１点のＲ／Ｇａｌｌ、Ｂ／Ｇａｌｌについて、想定する光源の色からかけ離れた結果にならないように制限をかける処理である。システム制御部７１６は、ステップＳ１０５で算出したリミッタ範囲に基づいて、Ｒ／Ｇａｌｌ、Ｂ／Ｇａｌｌがリミッタ範囲外にプロットされる場合は最も近いリミッタ範囲の枠上に乗るようにＲ／Ｇａｌｌ、Ｂ／Ｇａｌｌを移動する。そして、システム制御部７１６は、リミッタ処理後のＲ／Ｇａｌｌ、Ｂ／ＧａｌｌとなるＲ／Ｇａｌｌ＿Ｌｉｍｉｔ、Ｂ／Ｇａｌｌ＿Ｌｉｍｉｔを算出する。このリミッタ処理が完了したら、システム制御部７１６は、最終的なＷＢ補正値（Ｒ、Ｇ、Ｂ信号にかけるゲイン）Ｒｇａｉｎ、Ｇｇａｉｎ、Ｂｇａｉｎを以下の（式６）で算出してＡＷＢ演算処理を終了する。
Ｒｇａｉｎ  ＝  １／（Ｒ／Ｇａｌｌ＿Ｌｉｍｉｔ）
Ｇｇａｉｎ  ＝  １                                            ・・・（式６）
Ｂｇａｉｎ  ＝  １／（Ｂ／Ｇａｌｌ＿Ｌｉｍｉｔ）
【００２２】
ここで、白検出範囲及びリミッタ範囲の算出処理を行うステップＳ１０５について詳細に説明する。
この白検出範囲及びリミッタ範囲の算出方法として３通りの方法を以下に示す。
最初に１つ目の方法について説明する。
１つ目の方法は測光センサ７１３で測定したフリッカ光源の波形（図９）からシステム制御部７１６が低速シャッター用の色と撮影時のシャッター速度の色とを算出しその２つのシャッター速度の色の変化に応じて白検出範囲及びリミッタ範囲を変更する方法である。
その詳細について以下に示す。
１つ目の方法では画像処理装置７１７の設定時に、事前にフリッカの点滅周期かそれよりも長いシャッター速度にて各種蛍光灯下で無彩色な被写体に対応したデータを準備しておく。そして、それぞれのＲ／Ｇ、Ｂ／Ｇ値が含まれる範囲を低速シャッター速度用の白検出範囲、リミッタ範囲としてメモリ７０７に記録しておく。この低速シャッター速度用の白検出範囲の例を図１１（ａ）に、リミッタ範囲を図１１（ｂ）にそれぞれ示す。図１１において線１１０１は黒体輻射軌跡に近似した線である。また、プロット位置１１０２からプロット位置１１０６までは低速シャッター速度における白色蛍光灯、昼白色蛍光灯、昼光色蛍光灯、三波長形昼光色蛍光灯、三波長形昼白色蛍光灯に対応したプロット位置である。また白検出範囲１１０７は低速シャッター速度用の白検出範囲である。リミッタ範囲１１０８は低速シャッター速度用のリミッタ範囲である。白検出範囲１１０７は多少色がずれても検出できるようにリミッタ範囲１１０８よりも広めに設定されている。
【００２３】
前記設定に関する値がメモリ７０７に記録されている状態において、まず、システム制御部７１６は、ステップＳ８０２の測光センサ７１３で測定した図９に示すフリッカ光源の波形から、低速シャッター相当のＲＧＢ値を算出するために、以下の処理を行う。即ち、システム制御部７１６は、図９に示すフリッカの１周期分に相当する期間１００５のＲＧＢそれぞれの積分結果（期間１００５における波形の面積）を算出する。
そして、システム制御部７１６は、この積分結果から低速シャッター用のＲ／Ｇ、Ｂ／Ｇ値Ｒ／Ｇ＿ｌｏｗ、Ｂ／Ｇ＿ｌｏｗを算出する。
同様に、システム制御部７１６は、撮影時のシャッター速度におけるＲＧＢそれぞれの積分結果を求め、その積分結果から撮影時のシャッター速度用のＲ／Ｇ、Ｂ／Ｇ値Ｒ／Ｇ＿ｓ、Ｂ／Ｇ＿ｓを算出する。なお本実施形態では図９の期間１００４を撮影時のシャッター速度とする。
以上のように算出した低速秒時用のＲ／Ｇ、Ｂ／Ｇ値Ｒ／Ｇ＿ｌｏｗ、Ｂ／Ｇ＿ｌｏｗを図１１（ｃ）及び（ｄ）の１１０９に示す。また撮影時のシャッター速度用のＲ／Ｇ、Ｂ／Ｇ値Ｒ／Ｇ＿ｓ、  Ｂ／Ｇ＿ｓを１１１０に示す。
【００２４】
図１１（ｃ）に示すように、システム制御部７１６は、低速秒時用のＲ／Ｇ、Ｂ／Ｇ値Ｒ／Ｇ＿ｌｏｗ、Ｂ／Ｇ＿ｌｏｗ１１０９に対する撮影時のシャッター速度用のＲ／Ｇ、Ｂ／Ｇ値Ｒ／Ｇ＿ｓ、Ｂ／Ｇ＿ｓ１１１０の変化量１１１１の分だけ低速秒時用の白検出範囲１１０７に対して範囲を広げる。そのようにして広げた白検出範囲が図１１（ｃ）の白検出範囲１１１２である。同様にして広げたリミッタ範囲が図１１（ｄ）のリミッタ範囲１１１３である。
なお、低速秒時用のＲ／Ｇ、Ｂ／Ｇ値と撮影時のシャッター速度用のＲ／Ｇ、Ｂ／Ｇ値との変化量が閾値等よりも小さい場合、システム制御部７１６は、前記白検出範囲及びリミッタ範囲を広げないように制御するようにしてもよい。
また、本実施形態では、システム制御部７１６は、白検出範囲及びリミッタ範囲を広げるように制御している。しかし、システム制御部７１６は、前記白検出範囲及びリミッタ範囲の大きさは変えずに白検出範囲及びリミッタ範囲の座標を、撮影時のシャッター速度用のＲ／Ｇ、Ｂ／Ｇ値Ｒ／Ｇ＿ｓ、Ｂ／Ｇ＿ｓである１１１０が含まれるように移動させるように制御してもよい。
また、システム制御部７１６は、フリッカ波形から、２つ以上の異なるシャッター速度に相当する色を取得し、前記取得した色が白検出範囲及びリミッタ範囲外となるシャッター速度を取得するようにしてもよい。そして、システム制御部７１６は、撮影時のシャッター速度が前記取得したシャッター速度を超えた場合に、白検出範囲及びリミッタ範囲を変更するようにしてもよい。白検出範囲外は色抽出範囲外の一例である。
以上が１つ目の白検出範囲、リミッタ範囲算出方法である。
【００２５】
次に２つ目の方法について説明する。
２つ目の方法は測光センサ７１３で測定したフリッカ光源の波形（図９）から、システム制御部７１６が、撮影時シャッター速度に対応した光源色を推定し、その色が含まれるように白検出範囲及びリミッタ範囲を設定するものである。
その詳細について以下に示す。
２つめの方法では、システム制御部７１６が、ステップＳ８０２において測光センサ７１３で測定された図９に示すフリッカ光源の波形から、撮影時相当のＲＧＢ値を算出するために、以下の処理を実行する。即ち、システム制御部７１６は、図９の期間１００４に示す撮影時の露光期間のＲＧＢそれぞれの積分結果（期間１００４における波形の面積）を算出する。そして、システム制御部７１６は、この撮影時のシャッター速度に対応したＲＧＢそれぞれの積分結果から撮影時のシャッター速度用のＲ／Ｇ、Ｂ／Ｇ値Ｒ／Ｇ＿ｓ、Ｂ／Ｇ＿ｓを算出する。
そして、システム制御部７１６は、Ｒ／Ｇ＿ｓ、Ｂ／Ｇ＿ｓが含まれる範囲を白検出範囲、リミッタ範囲として設定する。
図１２の１２０２に撮影時のシャッター速度用のＲ／Ｇ、Ｂ／Ｇ値Ｒ／Ｇ＿ｓ、Ｂ／Ｇ＿ｓを示す。また図１２において線１２０１は黒体輻射軌跡に近似した線である。図１２（ａ）に白検出範囲、（ｂ）にリミッタ範囲の例を示す。白検出範囲１２０３は多少色がずれても検出できるようにリミッタ範囲１２０４よりも広めに設定されている。
【００２６】
次に３つ目の方法について説明する。
３つ目の方法は事前にメモリ７０７に各シャッター速度に対応した白検出範囲及びリミッタ範囲を記録しておき、システム制御部７１６が、撮影時のシャッターに対応した枠をメモリ７０７から読み出して使用するものである。
その詳細について以下に示す。
３つ目の方法では、画像処理装置７１７の設定時に、各種蛍光灯におけるＲ／Ｇ、Ｂ／Ｇ値が含まれる範囲を白検出範囲、リミッタ範囲としてシャッター速度毎に用意しメモリ７０７に記録しておく。
そしてシステム制御部７１６が、撮影時のシャッター速度に応じて、対応した白検出範囲、リミッタ範囲をメモリ７０７から読み出して使用する。
なお、使用メモリ容量削減のため、例えば以下の３つのシャッター速度のみの白検出範囲、リミッタ範囲をメモリ７０７に記録しておき、使用時にシャッター速度に応じて線形補間等を行い、枠を設定する構成としてもよい。前記３つのシャッター速度の例として、例えば、フリッカの点滅周期と同じシャッター速度、画像処理装置７１７が設定できる最も速いシャッター速度、前記２つの中間のシャッター速度の３つが挙げられる。
【００２７】
システム制御部７１６は、フリッカレス撮影時に、以上に示した３通りの何れかの方法で算出した白検出範囲、リミッタ範囲を用いて、前述したステップＳ１０７、Ｓ１０８の白検出処理、及びリミッタ処理を行う。上記のように、システム制御部７１６が、シャッター速度に応じて白検出範囲、リミッタ範囲を変更することで、フリッカレス撮影時にシャッター速度が変化しても適切な白検出範囲、及びリミッタ範囲を設定することができる。その結果、フリッカレス撮影時にシャッター速度によらず、適切なＡＷＢ演算結果が得られるようになる。
なお、ステップＳ１０４でフリッカレス撮影されていないと判定された場合は、ステップＳ１０６において、システム制御部７１６は、予め算出しておいた低速シャッター用の白検出範囲、リミッタ範囲を設定する。そして、システム制御部７１６は、ステップＳ１０７の白検出処理、及び、Ｓ１０８のリミッタ処理を行う。
以上で、一連のＡＷＢ処理が完了する。
【００２８】
なお上記に加えて、システム制御部７１６は、連続撮影時において、１コマ目のＡＷＢ演算結果を２コマ目以降に用いる構成とすることで連続撮影時の演算誤差による色のばらつきを軽減することができる。但し、この構成において、フリッカレス撮影され、かつ、シャッター速度が１コマ目と２コマ目以降とで変化した場合、前述した理由により色がずれてしまう。
そこで連続撮影時において、１コマ目のＡＷＢ演算結果を２コマ目以降に用いる構成とした場合で、フリッカ撮影、かつ、シャッター速度が１コマ目と２コマ目以降とで変化した場合、システム制御部７１６は、１コマ目のＡＷＢ演算結果を用いないように制御する。
このような構成とすることで連続撮影時において、フリッカレス撮影時にシャッター速度が変化していないときには色のばらつきが軽減され、シャッター速度が変化したときの色ずれについても色のばらつきを最小限に抑えることができる。
【００２９】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００３０】
以上、上述した各実施形態によれば、フリッカ光源下での撮影においてシャッター速度によらず最適なホワイトバランス補正が施された画像を提供することができる。
【符号の説明】
【００３１】
７０７  メモリ
７０８  画像処理部
７０９  外部記憶装置
７１６  システム制御部
７１７  画像処理装置
【図１】
0006570252.tif 000002
【図２】
0006570252.tif 000003
【図３】
0006570252.tif 000004
【図４】
0006570252.tif 000005
【図５】
0006570252.tif 000006
【図６】
0006570252.tif 000007
【図７】
0006570252.tif 000008
【図８】
0006570252.tif 000009
【図９】
0006570252.tif 000010
【図１０】
0006570252.tif 000011
【図１１】
0006570252.tif 000012
【図１２】
0006570252.tif 000013