(57)【要約】【課題】フリッカー光源下でも精度よく被写体の動き量検知を行うこと。【解決手段】撮像装置は測光センサ１０８を備え、一度の撮像動作で連続して複数の画像を取得可能である。画像処理および演算用のＣＰＵ１１２は、測光センサ１０８の出力する画像データを取得して測光処理を行う。ＣＰＵ１１２は取得した複数の画像データを用いてフリッカー光源の有無を判定し、画像データの比較によって被写体の動きべクトルを算出する。撮影環境にフリッカー光源が有ると判定された場合、動きべクトルの検知に適した画像の明るさとなるようにフリッカー検知結果に基づいてゲイン調整が行われ、ゲイン調整後の画像データを用いて動きベクトルが算出される。【選択図】  図１
2018107563.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮像して画像信号を取得する撮像手段と、
前記画像信号を用いて測光処理を行う処理手段と、
前記撮像手段により連続して取得される複数の画像信号を用いてフリッカー光源の検知および被写体の動き検知を行う検知手段と、を備え、
前記検知手段は、画像の明るさの変化を検出してフリッカー光源の有無を判定する判定手段と、前記被写体の動き量を算出する算出手段を有する
ことを特徴とする撮像装置。
【請求項２】
前記処理手段は、前記撮像手段により第１の露光時間で撮像されて読み出される画像信号を用いて前記測光処理を行い、
前記検知手段は、前記撮像手段により第２の露光時間で撮像されて読み出される画像信号を用いてフリッカー光源の検知および被写体の動き検知を行う
ことを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記第１の露光時間は、前記測光処理にて画像の明るさの測定に用いる画像信号の蓄積時間であり、
前記第２の露光時間は、前記フリッカー光源の明るさの変化に対して予め設定される数の画像を取得する際の画像信号の蓄積時間である
ことを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記判定手段はフリッカー光源の明るさのピークを検出して周期を算出する
ことを特徴とする請求項１から３のいずれか１項に記載の撮像装置。
【請求項５】
前記判定手段によりフリッカー光源が有ることが判定された場合、前記画像信号に係る画像の明るさを補正する補正手段を備え、
前記算出手段は、前記補正手段により補正された前記複数の画像信号により被写体の動きべクトルを算出する
ことを特徴とする請求項１から４のいずれか１項に記載の撮像装置。
【請求項６】
前記補正手段は、前記検知手段によって前回に得られたフリッカー検知情報を用いて明るさを補正した画像を生成する
ことを特徴とする請求項５に記載の撮像装置。
【請求項７】
前記補正手段は、前記フリッカー光源の明るさの変化に対応するゲインを決定し、前記複数の画像信号に前記ゲインを乗算する処理を行う
ことを特徴とする請求項６に記載の撮像装置。
【請求項８】
前記フリッカー検知情報は、前記撮像手段の蓄積開始時刻、フリッカー光源の有無を示す情報、フリッカー光源の明るさのピークを示す情報、前記ゲインの情報のうち、１つ以上を含む
ことを特徴とする請求項７に記載の撮像装置。
【請求項９】
前記算出手段は、前記判定手段によりフリッカー光源が有ると判定された場合、補正された前記複数の画像信号から選択した画像信号を用いて前記動きべクトルを算出する
ことを特徴とする請求項５に記載の撮像装置。
【請求項１０】
前記補正手段は、前記判定手段によりフリッカー光源が有ると判定され、かつ前記ゲインが閾値より小さい場合に前記画像信号の補正を行う
ことを特徴とする請求項７に記載の撮像装置。
【請求項１１】
前記算出手段は、前記判定手段によりフリッカー光源が有ると判定された場合、フリッカー光源の明るさのピークに対応する、前記補正された画像信号を用いて被写体の動きべクトルを算出する
ことを特徴とする請求項５に記載の撮像装置。
【請求項１２】
前記補正手段は、前記フリッカー光源の明るさの変化に対応するゲインを決定し、前記ゲインが閾値より大きい場合、連続して取得された複数の画像を加算する処理を行う
ことを特徴とする請求項６に記載の撮像装置。
【請求項１３】
前記算出手段は、前記測光処理にて取得される画像信号、および前記撮像手段により連続して取得される複数の画像信号を用いて、被写体の動き量を算出する
ことを特徴とする請求項１に記載の撮像装置。
【請求項１４】
画像信号を取得する取得手段と、
前記取得手段により連続して取得された複数の画像信号それぞれの測光値を演算する演算手段と、
前記演算手段により演算されたそれぞれの測光値を用いてフリッカー光源の有無を判定する判定手段と、
前記複数の画像信号に基づいて被写体の動き量を算出する算出手段と、を備える
ことを特徴とする画像処理装置。
【請求項１５】
被写体を撮像する撮像手段を備える撮像装置にて実行される制御方法であって、
前記撮像手段により取得された画像信号を用いて測光処理を行う処理工程と、
前記撮像手段により連続して取得された複数の画像信号を用いてフリッカー光源の検知および被写体の動き検知を行う検知工程と、を有し、
前記検知工程では、画像の明るさの変化を検出してフリッカー光源の有無を判定する工程と、前記被写体の動き量を算出する工程が行われる
ことを特徴とする撮像装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フリッカー光源下での明るさ検知および被写体の動き量検知の技術に関する。
【背景技術】
【０００２】
一眼レフカメラ等の撮像装置は、撮影前に測光センサで取得した画像信号を処理して測光を行う。蛍光灯等の光源は交流電流のもとで点滅を繰り返す、いわゆるフリッカー現象が発生し、その点滅周期を検出する撮影システムがある。
【０００３】
一方で、被写体（動体）のスピード感を表現する撮影技術としての流し撮りでは、撮影者が被写体の動きに合わせてカメラのパンニングを行い、静止した被写体画像と背景の流れた画像の撮影を目的とする。撮影者が被写体の動きに合わせて行うパンニングの速度が適切でない場合、被写体の移動速度とパンニング速度との間に差が発生し、被写体画像にブレが生じ得る。そこで、ユーザの流し撮りの補助を行う技術として、撮像光学系のシフトレンズの移動により被写体の移動速度とパンニング速度の差を補う方法が提案されている。
【０００４】
特許文献１では、ジャイロセンサによるブレ検出と、画像の動きベクトルを用いた被写体の検出を行い、検出された被写体領域を画像中央に位置させるための補正量が算出される。補正量に応じてシフトレンズが移動することにより、流し撮りを補助する動作が行われる。また、動きベクトルの検出技術として、特許文献２では、動きベクトルを検出するブロックマッチングの対象となる参照ブロックと候補ブロックの画素値を、サーチエリア内で候補ブロックの位置をずらしながら比較する方法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３１７８４８号公報
【特許文献２】特開平８−８８８５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の技術では、フリッカー光源が有る撮影状況において連続して撮影された画像のサンプリング間隔が長く、ある一定時間内でのサンプリング数が少ない場合、被写体の動き量の検知精度が低下する可能性がある。
本発明の目的は、フリッカー光源下でも精度よく被写体の動き量検知を行うことである。
【課題を解決するための手段】
【０００７】
本発明の一実施形態の撮像装置は、被写体を撮像して画像信号を取得する撮像手段と、前記画像信号を用いて測光処理を行う処理手段と、前記撮像手段により連続して取得される複数の画像信号を用いてフリッカー光源の検知および被写体の動き検知を行う検知手段と、を備える。前記検知手段は、画像の明るさの変化を検出してフリッカー光源の有無を判定する判定手段と、前記被写体の動き量を算出する算出手段を有する。
【発明の効果】
【０００８】
本発明によれば、フリッカー光源下でも精度よく被写体の動き量検知を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態のカメラシステムの構成例を示す図である。
【図２】焦点検出枠の配置例を示す図である。
【図３】第１実施例の測光フリッカー動きベクトル検知処理のフローチャートである。
【図４】第１実施例における測光処理のフローチャートである。
【図５】第１実施例のフリッカー動きベクトル検知処理のフローチャートである。
【図６】第１実施例におけるフリッカー検知演算処理のフローチャートである。
【図７】第１実施例の測光フリッカー動きベクトル検知処理の説明図である。
【図８】第１実施例におけるフリッカー光源下でない撮影状況の説明図である。
【図９】第１実施例におけるフリッカー光源下での撮影状況の説明図である。
【図１０】第２実施例のフリッカー動きベクトル検知処理のフローチャートである。
【図１１】第２実施例におけるフリッカー検知演算処理のフローチャートである。
【図１２】第２実施例のフリッカー検知情報の一例を示す図である。
【図１３】第２実施例の前回フリッカー検知情報利用処理のフローチャートである。
【図１４】第２実施例の前回フリッカー検知情報利用処理の説明図である。
【図１５】前回フリッカー検知情報を利用した測光画生成処理の説明図である。
【図１６】第２実施例の測光フリッカー動きベクトル検知処理の説明図である。
【図１７】第２実施例におけるフリッカー光源下での撮影状況の説明図である。
【図１８】第３実施例におけるフリッカー光源下での撮影状況の説明図である。
【図１９】第３実施例における測光画選択生成処理のフローチャートである。
【図２０】第３実施例の測光フリッカー動きベクトル検知処理の説明図である。
【図２１】第４実施例における測光画選択生成処理のフローチャートである。
【図２２】第４実施例の測光フリッカー動きベクトル検知処理の説明図である。
【発明を実施するための形態】
【００１０】
以下に、本発明の好ましい実施の形態を、添付図面に基づいて詳細に説明する。
まず、本発明の概要を説明する。撮像装置によって連続して撮影される画像のサンプリング間隔が長く、ある一定時間内でのサンプリング数が少なくなる場合には、動きベクトル検知の精度が問題となる。被写体の動きが大きいと、連続して撮影された画像における参照ブロックと候補ブロックとの比較エリアを大きくする必要が生じる。しかし、比較エリアを広げすぎると、動きべクトル検知の処理時間が長くなるため、リアルタイム性を欠いた処理になる可能性がある。
【００１１】
そこで、動きべクトル検知のために撮像画像のサンプリング数を増やすことが考えられる。この場合、ペンタプリズム部に設けられた測光センサにおいて、例えば測光やフリッカー検知のための撮像処理の分解能が低下することが懸念され、測光精度やフリッカー検知精度の低下が問題となる。仮に測光用の撮像画像を使って動きべクトル検知を行う場合、測光に適した撮像の第１の露光時間と、動きべクトル検知に適した撮像の第２の露光時間とが異なるという問題がある。第１の露光時間は、撮像素子で測光を精度よく行うために必要な蓄積時間である。測光動作では、ある程度の明るさがある撮像画像を使用する必要がある。このため、画像信号（電荷）の蓄積時間が長くなった場合に第１の露光時間は、第２の露光時間から乖離し得る。つまり、蓄積時間が長いと被写体の像ブレが大きくなる可能性があり、動きべクトル検知を正確に行う目的には適さない。
【００１２】
仮にフリッカー検知に使用する撮像画像を用いて動きべクトル検知を行う場合、フリッカー検知では第２の露光時間を短くし、フリッカー光源下において画像の明暗を検出することでフリッカー現象の有無が判断される。このため、動きべクトル検知においても、画像信号の蓄積時間の短さから被写体の像ブレが起きにくいという点では、目的に適う画像が得られるといえる。しかし、動きべクトル検知では、フリッカー光源下で起きる明暗の違いにより、明るさの異なる連続した画像が取得される。よって、明暗差をもつ複数の撮像画像を用いて、動体である被写体の動きべクトルを検知することが難しい。
【００１３】
本発明の実施形態では、測光センサによる画像信号を用いて測光処理を行い、連続して取得される複数の画像信号を用いてフリッカー光源の検知および被写体の動き検知を行う処理を説明する。撮像手段である測光センサの出力に基づく測光動作に引き続き、フリッカー検知および被写体の動き検知が行われる。動き検知では画像取得のサンプリング間隔を短くすることで、フリッカー光源下でも被写体の動き量を精度よく取得できる。以下では、撮像装置として一眼レフカメラを例示し、フリッカー現象の影響を考慮しつつ、被写体の動きベクトルの算出が可能なシステムを説明する。なお、ユーザの流し撮りを支援する機能（流し撮りアシスト）を有するデジタルカメラを例示するが、当該機能を有さない撮像装置にも本発明を適用可能である。
【００１４】
図１は、本発明の実施形態にかかわるカメラシステムの構成例を示す図である。ユーザはカメラ本体部１００にレンズ装置２００を装着して使用可能である。カメラ制御部１０１は、カメラ本体部１００の各部を制御するＣＰＵ（中央演算処理装置）を有する。メモリ１０２は、カメラ制御部１０１に接続されたＲＡＭ（ランダム・アクセス・メモリ）やＲＯＭ（リード・オンリ・メモリ）等である。
【００１５】
撮像部１０３は、赤外カットフィルタやローパスフィルタ等の光学部材と、撮像素子を備える。撮像素子はＣＣＤ（電荷結合素子）型イメージセンサやＣＭＯＳ（相補型金属酸化膜半導体）型イメージセンサ等である。レンズ装置２００によって撮影時に被写体の像が結像され、撮像素子は光電変換により電気信号を出力する。シャッタ１０４は非撮影時に撮像素子を遮光し、撮影時には開放されて撮像素子へ光線を導く。ハーフミラー１０５は、非撮影時にレンズ装置２００より入射する光の一部を反射し、ピント板１０６に結像させる光学部材である。
【００１６】
表示素子１０７はＡＦ（オートフォーカス）用の焦点検出枠を表示する。焦点検出枠の表示により、ユーザが光学ファインダを覗いたときにどの位置でＡＦ処理が行われているかをユーザに提示できる。表示素子１０７はＰＮ（ポリマーネットワーク）液晶等を用いた表示デバイスである。図２を参照して、焦点検出枠の配置例を説明する。
【００１７】
図２は、ＰＮ液晶を用いた表示素子１０７において、複数の焦点検出枠が表示された状態を示す。ＰＮ液晶では、カメラ制御部１０１からの指示で選択された焦点検出枠の液晶が拡散し、焦点検出枠が表示される。撮像領域内の測光領域には、複数に分割されたブロック領域の境界線を点線で示している。つまり、測光領域は所定数のブロック領域に分割されており、交差する境界線の交点に焦点検出枠が位置している。
【００１８】
図１の測光センサ１０８には、ＣＣＤセンサ、ＣＭＯＳセンサ等の撮像素子が使用される。測光センサ１０８は測光だけでなく、後述する動きベクトルの検出に用いられる。ペンタプリズム１０９は、ピント板１０６の被写体画像を、測光センサ１０８と光学ファインダに導く。測光センサ１０８は、ペンタプリズムを介してピント板１０６に結像された被写体画像を斜め方向から見込む位置に配置される。
【００１９】
ＡＦミラー１１１は、レンズ装置２００からカメラ本体部１００内に入射してハーフミラー１０５を通過した光線の一部を焦点検出部１１０へ導く光学部材である。焦点検出部１１０は焦点検出回路を有し、焦点検出状態の検出処理を行う。
【００２０】
演算部１１２は、測光センサ１０８の出力信号を処理する画像処理および演算用のＣＰＵ（以下、ＡＰＵと呼ぶ）である。ＡＰＵ１１２は、被写体の顔検出の演算や追尾の演算、測光演算、フリッカー検知演算、動きベクトル検知演算等を行う。またＡＰＵ１１２は、画像信号に対するゲイン処理を行うゲイン回路と、画像信号の加算回路と、時間情報を取得する計時用のタイマを備える。メモリ１１３はＡＰＵ１１２に接続されているＲＡＭやＲＯＭ等であり、ＡＰＵ１１２が参照する情報等を記憶する。なお、本実施形態では、測光センサ専用の演算部を使用する例を説明するが、カメラ制御部１０１のＣＰＵのみで処理を行ってもよい。
【００２１】
レンズ装置２００はレンズ制御部２０１（以下、ＬＰＵと呼ぶ）を備え、レンズ装置２００内の各部を制御する。ＬＰＵ２０１はカメラ制御部１０１と通信可能であり、被写体の距離情報や、振れの角速度情報等をカメラ制御部１０１に送信する。角速度センサ２０２はジャイロセンサ等の角速度センサである。角速度センサ２０２はレンズ装置２００に加わる振れ等を表す角速度を検出し、角速度を電気信号に変換してＬＰＵ２０１へ出力する。ＬＰＵ２０１は角速度センサ２０２により検出される振れ検出信号を取得し、撮像光学系を構成する補正レンズ（シフトレンズ）の駆動制御を行う。これにより被写体の画像ブレを光学的に補正する像ブレ補正動作が行われる。また、撮像装置がユーザの流し撮りを支援する機能（流し撮りアシスト）を有する場合、カメラ制御部１０１は、流し撮りアシスト用の制御に切り替わったことを示す情報をＬＰＵ２０１へ送信する。ＬＰＵ２０１は流し撮りアシストモードに移行すると、カメラ制御部１０１からの制御信号にしたがってシフトレンズの移動制御を行い、被写体の移動速度とパンニング速度との差を低減させる制御を行う。流し撮りアシストは公知技術であるため、その詳細な説明を省略する。
【００２２】
カメラ本体部１００には撮影用の操作部材（撮影ボタン）が設けられており、ユーザが操作部材を操作することで測光動作が行われる。この操作部材については、ユーザの操作に応じた第１の状態（ＳＷ１のＯＮ状態）で測光動作を開始し、さらに操作量の大きい第２の状態（ＳＷ２のＯＮ状態）で撮影動作が行われるものとする。
【００２３】
［第１実施例］
以下、本発明の第１実施例を説明する。図３は、本実施例における測光フリッカー動きベクトル検知処理のフローチャートである。以下の処理はカメラ制御部１０１のＣＰＵと、ＡＰＵ１１２がメモリからプログラムを読み出して実行することにより実現される。
まず、Ｓ３０１では、ユーザにより撮影ボタンが操作され、ＳＷ１のＯＮ状態が検出された否かの判定処理が行われる。ＳＷ１のＯＮ状態と判定された場合、Ｓ３０２の処理に進む。ＳＷ１のＯＮ状態と判定されない場合には、Ｓ３０１の判定処理が繰り返される。
【００２４】
Ｓ３０２では、撮影時の露出を決定するための測光処理が実行される。測光処理については、図４のフローチャートを用いて後述する。次にＳ３０３では、フリッカー動きベクトル検知処理が実行される。被写体がフリッカー光源下にあるか否かの検知処理と、被写体の動きベクトルの検知処理が行われる。各処理の詳細については、図５、図６のフローチャートを用いて後述する。
【００２５】
次にＳ３０４では、撮影ボタンの操作が終了してＳＷ１のＯＮ状態が解除されたかどうかの判定処理が行われる。ＳＷ１のＯＮ状態が解除された場合、処理を終了し、解除されていないと判定された場合には、Ｓ３０２の処理に戻って処理を続行する。本実施例による検出処理については具体例を挙げて、図７から図９を参照して説明する。
【００２６】
図４のフローチャートを参照して、図３のＳ３０２の測光処理について説明する。Ｓ４０１では蓄積Ａ処理が実行される。蓄積Ａ処理は、図１のペンタプリズム１０９、ピント板１０６により導かれた被写体画像の信号を、測光センサ１０８が所定の時間で蓄積する処理である。所定の時間とは、測光センサ１０８によって明るさを正確に測定するときに必要な蓄積時間（露光時間）であり、所定のプログラム線図に従う。プログラム線図について公知の技術であるため、その詳細な説明を省略する。
【００２７】
次にＳ４０２では読出Ａ処理が実行される。読出Ａ処理は、Ｓ４０１で蓄積された電荷に対応する画像信号を読み出して、メモリ１１３に保持する処理である。次のＳ４０３では測光演算処理が実行される。Ｓ４０２にてメモリ１１３に保持された、露出決定のための画像（以下、測光画Ａという）に基づいて、測光演算処理が行われ、測光対象領域の明るさが測定される。図２に示す測光領域を所定数のブロック領域に分割して、明るさをブロックごとに測定して演算処理が行われることで、画像全体の明るさを測定できる。なお、測光演算処理のアルゴリズムについては、本発明の特徴とは直接的な関係がないため、説明を省略する。
【００２８】
図５のフローチャートを参照して、図３のＳ３０３のフリッカー動きベクトル検知処理について説明する。Ｓ５０１では、フリッカー検知および動きべクトル検知のために蓄積ＦＶ処理が行われる。蓄積ＦＶ処理とは、図１のペンタプリズム１０９、ピント板１０６により導かれた被写体画像を、測光センサ１０８が所定の時間で蓄積する処理である。所定の時間とは、交流電流のもとで点滅を繰り返すフリッカー現象の点滅周期を判断し、かつ、動きべクトル検知のサンプリング間隔を短くし、ブレのない被写体画像を精度よく取得するための時間のことである。具体的には、フリッカー検知および動きべクトル検知のための蓄積ＦＶの設定時間（以下、ＦＶＴと表記する）を１．６６ミリ秒とする。その詳細については、図７から図９を使って後述する。なお、ＡＰＵ１１２は時間情報を取得するためのタイマを具備し、蓄積開始時刻を基準とする時間データを取得する。第１回目の時間データＴs１、第２回目の時間データＴｓ２、第３回目の時間データＴｓ３という具合に取得されて各データがメモリ１１３に保持される。
【００２９】
次にＳ５０２では読出ＦＶ処理が行われる。読出ＦＶ処理は、Ｓ５０１で蓄積された画像信号を読出し、メモリ１１３に保持する処理である。Ｓ５０３の処理は、所定枚数の画像が取得されたかどうかの判定処理である。例えば、蓄積ＦＶ処理および読出ＦＶ処理により、連続する１２枚の画像（以下、測光画ＦＶという）が取得されたかどうかが判断される。測光画ＦＶの詳細については、図７から図９を使って後述する。Ｓ５０３にて、所定枚の測光画ＦＶが撮像されていないことが判断された場合、Ｓ５０１へ戻って処理を続行する。一方、所定枚数の測光画ＦＶが撮像されたことが判断された場合、Ｓ５０４の処理に進む。
【００３０】
Ｓ５０４でフリッカー検知演算処理が実行される。Ｓ５０１、５０２でメモリ１１３に保持された所定枚数の測光画ＦＶから、フリッカーの有無が判断される。フリッカー検知演算処理については、図６を使って後述する。次にＳ５０５で動きべクトル検知演算処理が実行される。Ｓ５０１、５０２でメモリ１１３に保持した所定枚数の測光画ＦＶから動きべクトルが算出される。具体的には、計１２枚の連続して撮影された測光画ＦＶを比較するブロックパターンマッチング処理が行われるが、公知の技術であるため、その詳細な説明を省略する。動きべクトル検知（動き検知ともいう）演算処理では、被写体の動きの有無を判定する処理と、被写体（動体）の動き量を算出する処理が行われるものとする。算出された動き量は、流し撮りアシストの制御に利用され、あるいは電子式像ブレ補正の制御や、被写体の動きを検知して自動的に画角を調整するオートズーム制御等に利用される。被写体の動き検知結果は任意の制御に利用可能である。Ｓ５０５の処理を終えると、リターン処理に移行する。
【００３１】
図６のフローチャートを参照して、図５のＳ５０４のフリッカー検知演算処理について説明する。まず、Ｓ６０１でフリッカー測光演算処理が行われる。つまり、メモリ１１３に保持された測光画ＦＶのデータを用いて測光演算処理が実行される。測光演算処理のアルゴリズムについては、本発明の特徴と直接関係がないため、説明を省略する。次のＳ６０２は、所定枚数の画像に対してフリッカー測光演算処理が完了したか否かの判定処理である。１２枚分の測光画ＦＶを用いてフリッカー測光演算処理が終わったかどうかが判定され、終わっていないと判定された場合、Ｓ６０１に戻って処理を続行する。一方、フリッカー測光演算処理が終わったと判定された場合、Ｓ６０３の処理に進む。
【００３２】
Ｓ６０３ではフリッカー判断処理が行われる。フリッカー判断処理とは、Ｓ６０１でフリッカー測光演算が行われた所定枚数の画像の測光結果に基づいて、撮影状況がフリッカー光源下であるか否かを判断する処理である。判断処理の詳細については、図９で説明するが、予め設定された時間間隔ＦＶＴで連続的に撮像された複数枚の測光画ＦＶから測光値（ＥＶ_Ｆｖ）を比較することで、撮影状況がフリッカー光源下であるか否かを判断できる。撮影状況がフリッカー光源下である場合には、フリッカー光源の点滅のピークとその周期について判断される。Ｓ６０３の処理を終えると、リターン処理に移行する。
【００３３】
図７は、本実施例における測光処理と、フリッカー検知および動きベクトル検知処理のシーケンスを説明するためのタイミングチャートである。横軸は時間軸である。Ｔｓ１は第１回目の時間データを表し、Ｔｓ１までの期間が、（Ａ）測光処理の期間である。Ｔｓ１以後の期間は、（Ｂ）フリッカー動きベクトル検知処理の期間である。
【００３４】
（Ａ）測光処理の期間には、プログラム線図に従った、任意の蓄積時間で蓄積Ａ処理が行われた後に読出Ａ処理が行われる。読み出された画像（測光画Ａ）のデータを用いて測光演算処理が行われる。その後、（Ｂ）フリッカー動きベクトル検知処理の期間には、蓄積開始時刻に対応するＴｓ１から、所定の時間間隔ＦＶＴで連続して蓄積ＦＶ処理が繰り返し実行される。１２回分の蓄積ＦＶを、「蓄積ＦＶ１〜１２」と表記し、それぞれ蓄積ＦＶに対応する読出ＦＶを、「読出ＦＶ１〜１２」と表記する。本実施例では蓄積ＦＶｊ（ｊ＝１〜１１）が終わると同時に、読出ＦＶｊと次の蓄積ＦＶｊ＋１とが並行して実行される。これにより、撮像画像の連続性が損なわれることを回避できる。
【００３５】
蓄積ＦＶ１２が終わると、読出ＦＶ１２が行われた後でフリッカー検知演算処理が実行される。一般的にフリッカー光源の周期は、商用交流電源の周波数５０Ｈｚ、６０Ｈｚのいずれかに対応する周期である。このことから、例えば、蓄積時間を１．６６ミリ秒に設定した場合、１０ミリ秒の間に撮像される測光画像の枚数は６となる。つまり、６枚の測光画像を取得して測光演算を行い、測光範囲の明るさの変化を判断することで、５０Ｈｚ、６０Ｈｚのいずれの場合でも、フリッカーの有無と光源のピークを検出できる。残り６枚の測光画像についても同様にフリッカーの有無と光源の明るさのピークを検出することができる。検出された２つのピークの時間間隔からフリッカー光源の点滅周期を判断することができる。その詳細については図９を使って後述する。
【００３６】
フリッカー検知演算処理が終わると、連続して撮像された１２枚の測光画ＦＶを用いて、動きべクトル検知演算処理が行われる。例えば、蓄積ＦＶでの蓄積時間が１．６６ミリ秒という比較的短い時間で連続的な撮像が行われる場合、測光画ＦＶにおいて、像ブレを含んだ被写体領域の移動量が小さい。そのため、連続する撮像画像における参照ブロックと候補ブロックとの比較を行うための比較エリアの大きさを小さくすることができ、処理時間をより短縮し、かつ、精度よく被写体の動き検知を行える。以上の処理は、第２回目の時間データＴｓ２以降についても繰り返し実行される。
【００３７】
図８は、フリッカー光源下でない撮影状況である場合に、測光画ＦＶの明るさと、測光画ＦＶ１〜１２の各測光値ＥＶ＿Ｆｖ１〜１２、および対応する画像例を示す図である。図７の（Ｂ）フリッカー動きベクトル検知処理期間にて、フリッカー光源下でない撮影状況では図８（Ａ）に示す測光画像の明るさが一定である。図８（Ａ）の縦軸は明るさを表し、横軸は時間軸である。フリッカー光源下でないことから、明るさが時間経過によらず、一定値のＥＶ_Ａ１として示されている。
【００３８】
図８（Ｂ）は、図８（Ａ）の撮影条件にて、蓄積ＦＶ、読出ＦＶ（図７）により、連続して撮像される所定枚数の測光画ＦＶおよびその測光値ＥＶ_Ｆｖをそれぞれ示す。この場合、一定の明るさＥＶ_Ａ１であるので、複数の測光値ＥＶ_Ｆｖを比較することによって、連続した１２枚の測光画ＦＶには明暗差がないことが判定される。図８（Ｃ）は、撮像画像内の動体の被写体画像を例示する模式図である。測光画ＦＶ１、測光画ＦＶ２のみを代表して示す。測光画ＦＶ１内の被写体領域は、１．６６ミリ秒の時間経過後に撮像された測光画ＦＶ２にて実線で示す位置まで移動していることを示す。
【００３９】
明るさが大きく変化しない撮影環境で被写体の動き検知を行う場合には、比較エリアの対象における明暗差が小さいので、一般的に画像領域の比較が容易である。すなわち、連続する測光画像における被写体領域を明確に比較できるため、動き検知精度が高い。また、１．６６ミリ秒という短い時間間隔で撮像された測光画ＦＶにより動き検知を行う場合には、比較する画像間での被写体領域の移動距離が小さくなるので比較エリアの大きさを小さくすることができる。
【００４０】
図９は、フリッカー光源下での撮影状況において、測光画ＦＶの明るさと、測光画ＦＶ１〜１２と各測光値ＥＶ＿Ｆｖ１〜１２、および対応する画像例を示す図である。図９（Ａ）から（Ｃ）は、図８（Ａ）から（Ｃ）にそれぞれ対応するので、相違点のみ説明する。図９では、５０Ｈｚに対応する周期の２分の１で点滅を繰り返すフリッカー光源下での撮影を例示する。図９（Ａ）に示す明るさのピークを、ＥＶ_Ｆｐ１と表記する。
【００４１】
図９（Ｂ）は、フリッカー光源下の撮影条件において、１．６６ミリ秒ごとの蓄積ＦＶ、読出ＦＶにより、連続して撮像される測光画ＦＶ１〜１２および測光値ＥＶ_Ｆｖ１〜１２を示す。この場合、フリッカー光源の影響により測光画ＦＶ１〜６までの６枚の画像には明暗差がある。これらの明暗差は測光値ＥＶ_Ｆｖ１〜６を比較することで検出することができ、測光画ＦＶ４の測光値ＥＶ_Ｆｖ４からＥＶ_Ｆｐ１が算出される。つまり、各測光値ＥＶ_Ｆｖ１〜６の比較により、フリッカー光源のピークＥＶ_Ｆｐ１が測光画ＦＶ４内にあると判断される。同様に、測光画ＦＶ７〜ＦＶ１２までの６枚の画像についても明暗差が検出される。各測光値ＥＶ_Ｆｖ７〜１２を比較することで、２回目のピークＥＶ_Ｆｐ１が測光画ＦＶ１０内にあると判断される。蓄積時間が１．６６ｍｓに設定されていることと、およびピークＥＶ_Ｆｐ１が測光画ＦＶ４内と測光画ＦＶ１０内であることから、２つのピーク間の差分（時間差）は１０ミリ秒と判断される。つまり、５０Ｈｚのフリッカー光源の周波数に対応する周期であるという判断結果が得られる。
【００４２】
図９（Ｃ）に例示する測光画ＦＶ１と測光画ＦＶ２を比べると、測光画ＦＶ１よりも測光画ＦＶ２の方が明るい画像である。測光画ＦＶ１内の被写体領域は、１．６６ミリ秒の経過後の測光画ＦＶ２内に実線で示す位置まで移動している。明るさが大きく変化するフリッカー光源下において、明るさが変化する被写体の動き検知を行う場合、検知精度が低下する可能性がある。つまり、図８のようにフリッカー光源下にない撮影状況に比べて、画像間の比較エリア内の対象に明暗があると、画像領域を明確に比較することが困難になる。フリッカー光源下では動き検知精度が低下するという問題に関しては、第２実施例で解決方法を説明する。
【００４３】
本実施例では、フリッカー検知および動きべクトル検知処理のために短い露光時間で連続して撮像された画像を用い、２つの検知処理を連続して実行する。測光やフリッカー検知を行う時間間隔を適切に設定することで、分解能の低下を伴わずに動き検知処理を行うことができる。本実施例によれば、測光センサを用いた撮像動作において、動きべクトル検知のサンプリング間隔を短くし、フリッカー光源下でも精度よく動き検知を行える撮像装置を提供できる。
【００４４】
［第２実施例］
次に、本発明の第２実施例を説明する。本実施例では、フリッカー光源下での動き検知精度の低下に対し、フリッカー検知情報を使うことで、フリッカー光源下で動き検知を精度よく行う処理について説明する。本実施例にて第１実施例と同様の事項については説明を省略し、主に相違点を説明する。このような説明の省略の仕方は、後述の実施例でも同じである。
【００４５】
図１０のフローチャートを参照して、本実施例のフリッカー動きベクトル検知処理（図３：Ｓ３０３）について説明する。Ｓ１００１では、図５のＳ５０１と同様に蓄積ＦＶ処理が行われる。時間を計測するタイマにより、時間情報（Ｔs１、Ｔｓ２、Ｔｓ３等）がメモリ１１３に保持される。Ｓ１００２では、図５のＳ５０２と同様に読出ＦＶ処理が行われる。
【００４６】
Ｓ１００３では、本実施例の特徴である前回フリッカー検知情報利用処理が行われる。この処理は、前回のフリッカー検知情報を利用して測光画ＦＶから測光画Ｖｇを生成する処理である。その詳細については図１３のフローチャートを用いて後述する。Ｓ１００４は、連続して撮像された１２枚の測光画ＦＶに対して、前回フリッカー検知情報利用処理により測光画Ｖｇが生成されたかどうかの判断処理である。１２枚の測光画ＦＶの撮像、および測光画Ｖｇの生成が行われていないと判断された場合、Ｓ１００１へ戻って処理を繰り返す。一方、１２枚の測光画ＦＶの撮像、および測光画Ｖｇの生成が行われたと判断された場合、Ｓ１００５の処理に進む。
【００４７】
Ｓ１００５でフリッカー検知演算処理が実行される。Ｓ１００１、１００２でメモリ１１３に保持された１２枚の測光画ＦＶから、撮影環境にフリッカー光源が有るかどうかの判断処理が行われる。その詳細については、図１１を使って後述する。次にＳ１００６で動きべクトル検知演算処理が実行される。メモリ１１３に保持された１２枚の測光画ＦＶに対し、前回のフリッカー情報を反映して生成した測光画Ｖｇから動きべクトルを算出する演算処理が行われる。例えば、計１２枚の連続して撮像された測光画Ｖｇを比較するブロックパターンマッチングが用いられる。処理方法は公知の技術であるので、その詳細を省略する。
【００４８】
図１１のフローチャートを参照して、フリッカー検知演算処理を説明する。Ｓ１１０１、Ｓ１１０２の処理はそれぞれ、図６のＳ６０１、Ｓ６０２と同様の処理であるため、それらの説明を省略し、Ｓ１１０３を説明する。Ｓ１１０３ではフリッカー検知情報生成処理が行われる。Ｓ１１０１で演算された１２枚の測光画ＦＶの測光結果から、フリッカー検知情報が生成される。なお、フリッカー判断処理の詳細については、図９で説明済みである。フリッカー検知情報に関して、図１２の具体例で説明する。
【００４９】
図１２は、図９で説明した条件下におけるフリッカー検知情報の一例を表した図である。蓄積ＦＶ開始時間Ｔｓは、例えば図１０のＳ１００１で保持された蓄積開始時刻Ｔｓ１である。フリッカーあり判定Ｆｌａｇは、フリッカー測光によりフリッカーの有無の判定結果を示すフラグである。ＴＲＵＥはフリッカーありの判定結果を示し、ＦＡＬＳＥはフリッカーなしの判定結果を示す。フリッカー周期は、撮影環境にフリッカー光源が有ると判断された場合（ＴＲＵＥの場合）、フリッカー現象の周期を示す。フリッカー光源がないと判断された場合（ＦＡＬＳＥの場合）、フリッカー周期は無効値となる。ピーク測光値ＥＶ_Ｆｐ１は、撮影環境にフリッカー光源が有ると判断された場合の測光値のピークを示す。ピーク測光画番号は、フリッカー光源があると判断された場合、ピーク測光値が測光画ＦＶの何番目と何番目の画像であるかを示し、フリッカー光源がないと判断された場合には無効値となる。ゲインテーブルは、測光画ＦＶ１〜ＦＶ１２の各測光値が、ピーク測光値ＥＶ_Ｆｐ１に比べて、どれだけの比率（ＥＶ_Ｆｐ１/Ｅｖ_Ｆｖ）であるかを表わすデータ群である。これは、各測光値にどれだけのゲインをかければＥＶ_Ｆｐ１と同等の明るさになるのかを、ゲインテーブルとして保持するデータテーブルである。ゲインテーブルには、測光画ＦＶ１〜ＦＶ１２を指定するＩｎｄｅｘが割り当てられ、Ｉｎｄｅｘによりゲイン名およびゲイン値が参照されるものとする。
【００５０】
図１３のフローチャートを参照して、前回フリッカー検知情報利用処理を説明する。Ｓ１３０１では取得された前回のフリッカー検知情報が参照され、フリッカーあり判定Ｆｌａｇが判定される。フリッカーあり判定ＦｌａｇがＴＲＵＥであると判定された場合、Ｓ１３０３の処理に進み、フリッカーあり判定ＦｌａｇがＦＡＬＳＥであると判定された場合、Ｓ１３０２の処理に進む。
【００５１】
Ｓ１３０２では、測光画ＦＶに対して１倍のゲインテーブルを選択する、１倍ゲインテーブル選択処理が行われる。１倍ゲインテーブルとは、測光画ＦＶに対して、ゲインをかけず（ゲイン値を１倍とする）、測光画ＦＶをそのまま測光画Ｖｇとして生成するためのゲインテーブルである。この場合、フリッカー現象による明暗差を、ゲイン調整によって補正する必要はないので、各測光画ＦＶに対するゲイン値は１である。なお、本処理が初回である場合、つまりフリッカー検知情報が存在しない場合には、フリッカーあり判定ＦｌａｇがＴＲＵＥではないものと判断される。次にＳ１３０５の処理に進む。
【００５２】
Ｓ１３０３は、図１０のＳ１００１およびＳ１００２での測光画ＦＶの蓄積ＦＶおよび読出ＦＶの画像が１枚目の画像であるか否かの判定処理である。１枚目の画像でないと判定された場合、Ｓ１３０５の処理に移行する。また、１枚目の画像であると判断された場合、Ｓ１３０４の処理に進む。
【００５３】
Ｓ１３０４では、前回のフリッカー検知情報のゲインテーブルから、どのＩｎｄｅｘでゲインを選択するかを判断する処理が実行される。本処理では下記式（１）のように、図１０のＳ１００１で保持された時間情報Ｔｓ１から、フリッカー検知情報に含まれている時刻情報Ｔｓを引き算し、フリッカー周期で割り算をし、その余りを算出する演算が行われる。
（Ｔｓ１−Ｔｓ）/フリッカー周期＝商（Ｓｈ）＋余り（Ａｍ）        式（１）
下記式（２）により、余りＡｍは蓄積時間１．６６（ミリ秒）で除算される。
Ａｍ/１．６６＝商（Ｓｈ２）＋余り（Ａｍ２）                    式（２）
下記式（３）により、算出された商Ｓｈ２に対して、１が加算される。
Ｉｎｄｅｘ  ＝  Ｓｈ２＋１                        式（３）
この結果は、前回フリッカー検知情報のゲインテーブルのＩｎｄｅｘとなる。
【００５４】
図１４は上記演算を図解して示す図であり、Ｎ−１回目とＮ回目のゲインテーブルの時間的な関係を例示する。例えば、余りＡｍを１．６６ミリ秒で除算したときの商Ｓｈ２を３とすると、Ｔｓ１の時刻にてＩｎｄｅｘ４の位置からゲインテーブルの参照が順次行われる。図１５は処理シーケンスを説明する図である。本実施例の測光フリッカー動きベクトル検知処理を繰り返し行う場合、Ｎ−１回目の検知処理の際には、図１０のＳ１００５のフリッカー検知演算処理によるフリッカー検知情報がメモリ１１３に保持される。これによって、Ｎ回目の検知処理で撮像した測光画ＦＶから、測光画Ｖｇを生成することができる。
【００５５】
図１３のＳ１３０５では、測光画Ｖｇの生成処理が行われる。図１のＡＰＵ１１２内のゲインアップ回路は、測光画ＦＶに対して、Ｓ１３０２およびＳ１３０４で決定したゲインにしたがってゲインアップ処理を行い、測光画Ｖｇのデータ生成を行う。次にＳ１３０６では、ゲインテーブルのＩｎｄｅｘ値が１２であるかどうかについて判定処理が行われる。ゲインテーブルのＩｎｄｅｘ値が１２である場合、Ｓ１３０７に進み、Ｉｎｄｅｘ値が１２でない場合、Ｓ１３０８に進む。Ｓ１３０７では、ゲインテーブルのＩｎｄｅｘが１に設定された後、リターン処理へ移行する。Ｓ１３０８では、ゲインテーブルのＩｎｄｅｘをインクリメントが行われる。つまりＩｎｄｅｘ値に１が加算された後、リターン処理へ移行する。
【００５６】
図１６は、本実施例における測光処理と、フリッカー動きベクトル検知処理のシーケンスを説明するタイミングチャートである。（Ａ）測光処理の期間では、任意の蓄積時間で蓄積Ａが行われたあと、読出Ａが行われる。読み出された測光画Ａを用いて測光演算が行われる。（Ｂ）フリッカー動きベクトル検知処理の期間では、蓄積開始時刻Ｔｓ１から、１．６６ミリ秒の蓄積時間間隔で連続して蓄積ＦＶが繰り返される。この際、蓄積ＦＶ１が終わると同時に、読出ＦＶ１と蓄積ＦＶ２が並行に行われるので、画像の連続性が損なわれることはない。さらに、読出ＦＶ１時には、図１３で説明した前回フリッカー検知情報利用処理によりゲイン乗算処理が実行され、測光画Ｖｇ１が同時に生成される。蓄積ＦＶ２以降についても、同様に処理が行われ、読出ＦＶ１２と測光画Ｖｇ１２の生成が終わると、次に、フリッカー検知演算が行われる。蓄積時間を１.６６ミリ秒に設定した場合、１０ミリ秒の間の撮像された測光画ＦＶ６枚の測光演算が行われる。測光領域の明るさの変化を判断することで、フリッカーの有無と光源の明るさのピークを検出できる。次に、残りの測光画６枚からも同様に光源の明るさのピークが検出され、２つのピークの時間間隔からフリッカー光源の周期を判断することができる。その詳細は図１７を使って後述する。
【００５７】
続いて、連続して撮像され、かつゲインをかけた測光画Ｖｇ１２枚を用いて、動きべクトル検知演算が行われる。本実施例では蓄積ＦＶの蓄積時間が１．６６ミリ秒という短い時間で連続に撮影が行われる。このため、測光画Ｖｇは、ブレを含んだ被写体画像の移動量が小さいので、連続する画像における参照ブロックと候補ブロックとの比較エリアの大きさを小さくすることができる。さらには処理時間が短く、明暗差が小さい画像を比較するので、精度よく動きべクトル検知を行うことができる。
【００５８】
図１７は、フリッカー光源下にて、図１６に示す（Ｂ）フリッカー動きベクトル検知処理期間中の測光画ＦＶ、測光画Ｖｇの明るさの変化を表した図である。図１７（Ａ）に示すグラフにて、縦軸は明るさを表わし、横軸は時間軸である。グラフは５０Ｈｚのフリッカー光源下での明るさの変化を示しており、明るさのピークをＥＶ_Ｆｐ１と表記する。
【００５９】
図１７（Ｂ）は、設定された１．６６ミリ秒の蓄積ＦＶ、読出ＦＶにより、連続して撮像される測光画ＦＶ１〜１２と測光値ＥＶ_Ｆｖ１〜１２を示す。フリッカー光源下で連続して撮像された測光画ＦＶ１〜６の画像には明暗差があることを示す。それらの明暗差は、各測光値ＥＶ_Ｆｖ１〜６を比較することで判断される。本例では、フリッカー光源の明るさのピークＥＶ_Ｆｐ１が、測光画ＦＶ４内にあることが判断される。同様に、測光画ＦＶ７〜１２の画像の明暗差が、各測光値ＥＶ_Ｆｖ７〜１２の比較により判断される。２つ目の明るさのピークが測光画ＦＶ１０にあることが判断される。蓄積時間が１．６６ミリ秒であることと、明るさのピークが測光画ＦＶ４内と測光画ＦＶ１０内にあることから、両画像の時間差は１０ミリ秒である。つまり５０Ｈｚのフリッカー光源の周波数に対応することが分かる。
【００６０】
図１７（Ｃ）は、図１３で説明した前回フリッカー検知情報利用処理によりゲインを乗算した測光画Ｖｇを示す模式図である。各測光画ＦＶ１〜１２のデータにゲインをかけることで、連続した測光画Ｖｇ１〜１２のデータ、つまり、明暗差の小さい画像データが生成される。
【００６１】
図１７（Ｄ）は、測光画ＦＶ１とＦＶ２を代表例として示す図であり、いずれも動体の被写体画像を含む画像を示す。測光画ＦＶ１内の被写体画像は、１．６６ミリ秒後に撮像された測光画ＦＶ２内では、実線で示す位置に移動している。図１７（Ｅ）は、測光画Ｖｇ１とＶｇ２を代表例として示す図である。測光画Ｖｇ１内の被写体画像は、１．６６ミリ秒後に撮像された測光画Ｖｇ２内では、実線で示す位置に移動している。図１７（Ｅ）では、図１７（Ｄ）に比べて、測光画Ｖｇ１、Ｖｇ２の明暗差がないか、または小さいことを示す。つまり、前回フリッカー検知情報を利用したゲイン乗算処理によって、各測光画Ｖｇの明暗差が低減される。よって、明暗差が低減された測光画Ｖｇを使って被写体の動きベクトルを検出することができる。
【００６２】
本実施例では、フリッカー検知のために短い蓄積時間で連続して撮像した測光画像を用いて動き検知がフリッカー検知と同時期に行われる。さらに、ゲイン調整によって明暗差が低減されて明るさの変化が抑制された補正画像を使って、精度よく動き検知を行うことができる。
【００６３】
［第３実施例］
次に、本発明の第３実施例を説明する。第２実施例では、ゲイン乗算による補正画像を用いる動きべクトル検知について説明したが、ゲイン乗算に伴う画像ノイズの発生が懸念される。画像ノイズが大きい場合、動き検知の精度が低下する可能性がある。そこで本実施例では、フリッカー光源下にて画像ノイズを発生させずに、フリッカー検知情報を使って精度よく動き検知を行う処理について説明する。なお、本実施例では前記実施例で説明したフリッカー光源下に比べて、特にフリッカー光源の明るさの振幅が大きい場合を例にして説明する。
【００６４】
図１８は、フリッカー光源下にて、フリッカー動きベクトル検知処理期間に撮像される測光画ＦＶの明るさの変化を説明する図である。図１８（Ａ）のグラフにて、縦軸は明るさを表わし、横軸は時間軸である。グラフは５０Ｈｚのフリッカー光源下での明るさの変化を示しており、明るさのピークをＥＶ_Ｆｐ１と表記する。本実施例ではフリッカー光源の明るさの振幅が大きい。このため、測光画ＦＶ１が暗く（測光値ＥＶ_Ｆｖ１が小さい）、測光値ＥＶ_Ｆｖ１とピークＥＶ_Ｆｐ１との差が大きい。
【００６５】
図１８（Ｂ）は、設定された１．６６ミリ秒の蓄積ＦＶ、読出ＦＶにより、連続して撮像される測光画ＦＶ１〜１２と測光値ＥＶ_Ｆｖ１〜１２を示す。フリッカー光源下で連続して撮像された測光画ＦＶ１〜６には明暗差がある。各測光値ＥＶ_Ｆｖ１〜６を比較することで、フリッカー光源の明るさのピークＥＶ_Ｆｐ１が測光画ＦＶ４内にあると判断される。同様に、測光画ＦＶ７〜１２の測光値ＥＶ_Ｆｖ７〜１２から比較することで、２つ目の明るさのピークが測光画ＦＶ１０内にあると判断される。測光画ＦＶ４と測光画ＦＶ１０との時間差は１０ミリ秒であり、つまり５０Ｈｚのフリッカー光源の周波数に対応することがわかる。
【００６６】
図１８（Ｃ）は、測光画ＦＶ１、測光画ＦＶ２を代表例として示す図であり、いずれも動体の被写体画像を含む画像を示す。測光画ＦＶ１内の被写体画像は、１．６６ミリ秒後に撮像された測光画ＦＶ２内では移動しているが、暗い画像ではその移動を判別することができないか、または精度が著しく低下する。
【００６７】
図１８（Ｄ）は、上記の条件におけるフリッカー検知情報のゲインテーブルを例示する。ゲインテーブルは第２実施例で説明済みであるが、本実施例では、ゲイン値が所定の閾値Ｇｍａｘと比較される。閾値Ｇｍａｘより大きいゲイン範囲では、大きいノイズが発生する可能性がある。この例では、ゲイン名Ｇ４とＧ１０以外では、ゲイン値が閾値Ｇｍａｘより大きいことを示す。
【００６８】
次に、本実施例における前回フリッカー検知情報利用処理について説明する。図１３のフローチャートとの相違点は、Ｓ１３０５に示す測光画Ｖｇの生成処理が、測光画選択生成処理に置き換わる点である。よって、図１９のフローチャートを参照して、測光画選択生成処理を説明する。
【００６９】
Ｓ１９０１は、ゲインテーブルのＩｎｄｅｘから取得されるゲイン値を閾値Ｇｍａｘと比較する判定処理である。ゲイン値が閾値Ｇｍａｘ以下であると判定された場合、Ｓ１９０２に進む。Ｓ１９０２では第２実施例と同様に、測光画Ｖｇの生成処理が実行される。そしてリターン処理へ移行する。一方、Ｓ１９０１にて、取得されたゲイン値が閾値Ｇｍａｘより大きいと判定された場合、測光画Ｖｇの生成処理は行われず、リターン処理へ移行する。
【００７０】
図２０は、本実施例における測光処理と、フリッカー動きベクトル検知処理のシーケンスを説明するタイミングチャートである。（Ａ）測光処理の期間では、任意の蓄積時間で蓄積Ａが行われたあと、読出Ａが行われる。取得された測光画Ａにより測光演算が行われる。
次に、（Ｂ）フリッカー動きベクトル検知処理の期間では、蓄積開始時刻Ｔｓ１から、１．６６ミリ秒の蓄積時間の間隔で連続して蓄積ＦＶが繰り返される。読出ＦＶと蓄積ＦＶが並行して行われ、読出ＦＶ時には、前回フリッカー検知情報利用処理により、選択的にゲイン乗算処理が行われ、測光画Ｖｇが同時に生成される。
【００７１】
次にフリッカー検知演算が行われ、前記実施例と同様、６枚ごとの測光画に基づいて明るさのピークが検知され、２つのピークの時間間隔からフリッカー光源の周期が判断される。動きべクトル検知演算は、選択的に生成される２枚の測光画Ｖｇ（図２０：Ｖｇ４とＶｇ１０）を用いて行われる。すなわち、本実施例では、選択的に取得される測光画Ｖｇを使うことで、ゲイン乗算に伴うノイズが少なく、明暗差の少ない画像で精度よく動き検知を行える。選択的とは、ゲイン閾値を用いて取捨選択される測光画像（補正画像）を用いることを意味する。
本実施例によれば、第２実施例の効果に加えて、フリッカー光源下においてノイズの少ない画像を使うことにより、精度よく動き検知を行える。
【００７２】
［第４実施例］
次に、本発明の第４実施例を説明する。
図２１のフローチャートを参照し、本実施例の測光画選択生成処理について説明する。以下、第３実施例の測光画選択生成処理との相違点を主に説明する。Ｓ２１０１は、Ｓ１９０１と同様の閾値を用いた判定処理である。ゲインテーブルのＩｎｄｅｘから取得されたゲイン値が、閾値Ｇｍａｘ以下であると判定された場合、Ｓ２１０２に進み、Ｓ１９０２と同様、測光画Ｖｇの生成処理が行われる。そしてリターン処理に移行する。
【００７３】
Ｓ２１０１でゲイン値が閾値Ｇｍａｘより大きいと判断された場合、Ｓ２１０３の処理に進む。Ｓ２１０３では、測光画Ｖｋの生成処理が行われる。図１のＡＰＵ１１２内の加算回路は、複数の測光画ＦＶを加算することにより測光画Ｖｋを生成する。生成される測光画Ｖｋは、測光画Ｖｇとともに、動きべクトル検知に用いるものとする。測光画Ｖｋは、１．６６ミリ秒の時間間隔で撮像された複数枚の画像を加算することで生成される。したがって、本来ならば動きべクトル検知に使用できない暗い画像を明るい画像として処理することができる。ある一定時間内でのサンプリング数を下げることなく、動きべクトル検知の精度を高めることが可能となる。ただし、加算の枚数が多すぎると、蓄積時間が延びることと同義になり、被写体の像ブレの問題が発生する可能性があるため、加算の枚数は制限される。また、加算を行ったとしても画像の明るさが暗い場合には、加算後にゲインを改めてかけてもよい。
【００７４】
図２２は、本実施例における測光処理と、フリッカー動きベクトル検知処理のシーケンスを説明するタイミングチャートである。本実施例では、読出ＦＶ時に、測光画選択生成処理により、選択的に加算処理を行い、またはゲイン乗算処理を行う。これにより、測光画Ｖｋおよび測光画Ｖｇが同時期に生成される。加算Ｖｋ１２３は、測光画ＦＶ１〜３の加算画像を示し、加算Ｖｋ５６７８９は、測光画ＦＶ５〜９の加算画像を示す。加算Ｖｋ１１１２は、測光画ＦＶ１１およびＦＶ１２の加算画像を示す。またゲインＶｇ４は測光画Ｖｇ４を示し、ゲインＶｇ１０は測光画Ｖｇ１０を示す。
【００７５】
フリッカー検知演算にて、フリッカー光源の明るさのピーク検知、およびフリッカー光源の周期が判断され、動きべクトル検知演算が行われる。その際、生成された測光画Ｖｋ、測光画Ｖｇを用いて被写体の動きべクトルが検出される。つまり、本実施例では選択的に加算された測光画Ｖｋと、ゲイン乗算により得られる測光画Ｖｇを使うため、ノイズが少なく、明暗差の小さい画像を用いて動き検知を行える。
【００７６】
本実施例によれば、前記実施例の効果に加えて、フリッカー光源下でも明暗差が小さくノイズの少ない画像を使って、ある一定時間内に撮像される画像の枚数を減らすことなく、精度よく動き検知を行うことができる。この場合の、ある一定時間とは、（Ｂ）フリッカー動きべクトル検知演算が行われる期間長に相当する。
【００７７】
［第５実施例］
次に、本発明の第５実施例を説明する。
本実施例では、第１実施例で説明した（Ａ）測光処理での蓄積Ａ，読出Ａにて取得される画像も動きべクトル検知に使用するものとする。つまり、測光フリッカー動きべクトル検知では、フリッカー検知のために短い蓄積時間で連続して撮像された画像を用いるだけではなく、測光処理で撮像された画像がさらに用いられる。したがって、本実施例によれば、前記実施例の効果に加えて、ある一定時間内に撮像される画像の使用枚数を増やすことで、精度よく動き検知を行える。この場合の、ある一定時間とは、（Ａ）測光処理および（Ｂ）フリッカー動きべクトル検知演算が行われる期間長に相当する。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
例えば、上述の実施形態では、撮像装置のＡＰＵ１１２が測光演算、フリッカー検知演算、動きベクトル検知演算等を行う例を説明した。しかしながら、画像信号を生成する撮像装置とは別の画像処理装置の演算部が生成された画像信号を取得し、取得した画像信号を用いて測光演算、フリッカー検知演算、動きベクトル検知演算等を行ってもよい。
【００７８】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７９】
１００  カメラ本体部
１０１  カメラ制御部
１０８  測光センサ
１１２  画像処理・演算用のＣＰＵ
【図１】
2018107563.tif 000003
【図２】
2018107563.tif 000004
【図３】
2018107563.tif 000005
【図４】
2018107563.tif 000006
【図５】
2018107563.tif 000007
【図６】
2018107563.tif 000008
【図７】
2018107563.tif 000009
【図８】
2018107563.tif 000010
【図９】
2018107563.tif 000011
【図１０】
2018107563.tif 000012
【図１１】
2018107563.tif 000013
【図１２】
2018107563.tif 000014
【図１３】
2018107563.tif 000015
【図１４】
2018107563.tif 000016
【図１５】
2018107563.tif 000017
【図１６】
2018107563.tif 000018
【図１７】
2018107563.tif 000019
【図１８】
2018107563.tif 000020
【図１９】
2018107563.tif 000021
【図２０】
2018107563.tif 000022
【図２１】
2018107563.tif 000023
【図２２】
2018107563.tif 000024