(57)【要約】      （修正有）【課題】小さい被写体の動きベクトルの検出を高精度に行う像振れ補正装置を提供する。【解決手段】被写体動きベクトル量算出部は、被写体の大きさが所定の大きさより小さいか否かを判定するＳ５０１。所定の大きさより小さいと判定された場合には、動きベクトルの検出範囲を縮小しＳ５０３、縮小したテンプレート枠において取得した動きベクトルの中でエラーベクトル個数を参照しＳ５０５、エラーベクトル個数が所定の閾値より多い場合、間引きなしの画像で動きベクトルの検出を行うＳ５０６。【選択図】図５
2019125933.tif 000002
【特許請求の範囲】
【請求項１】
被写体の大きさを判定する被写体判定手段と、
前記被写体判定手段の判定結果に応じて、動きベクトルを検出する検出範囲を設定する検出範囲設定手段と、
前記検出範囲設定手段が設定した検出範囲で複数の画像から動きベクトルの検出を行う検出手段と、を備え、
前記被写体判定手段が被写体の大きさが所定の大きさより小さいと判定した場合、前記検出範囲設定手段は、前記検出範囲を縮小し、前記検出手段は、間引きなしの画像で動きベクトルの検出を行う
ことを特徴とする像振れ補正装置。
【請求項２】
前記検出手段は、前記被写体判定手段が被写体の大きさが所定の大きさより小さいと判定した場合、縮小した検出範囲で行った間引きあり画像での動きベクトルの検出において、検出した動きベクトルの信頼度が低い場合、間引きなしの画像で動きベクトルの検出を行う
ことを特徴とする請求項１に記載の像振れ補正装置。
【請求項３】
前記検出手段は、縮小した検出範囲で行った間引きあり画像での動きベクトルの検出において、検出した動きベクトルのうちエラーと判定されたベクトルの個数が第１の閾値より多い場合、検出した動きベクトルの信頼度が低いと判定し、間引きなしの画像で動きベクトルの検出を行う
ことを特徴とする請求項２に記載の像振れ補正装置。
【請求項４】
前記検出手段は、縮小した検出範囲で行った間引きあり画像での動きベクトルの検出において、検出した動きベクトルのうちエラーと判定されたベクトルの個数が第１の閾値より多く、かつ、被写体の動きベクトル量が第２の閾値未満であった場合、間引きなしの画像で動きベクトルの検出を行う
ことを特徴とすることを特徴とする請求項２または請求項３に記載の像振れ補正装置。
【請求項５】
前記第１の閾値は、被写体の大きさ、被写体の色情報、被写体までの距離および露出状態のいずれかに応じて設定される
ことを特徴とする請求項３または請求項４に記載の像振れ補正装置。
【請求項６】
前記検出範囲設定手段は、前記被写体判定手段が被写体の大きさが所定の大きさより小さいと判定した場合、前記検出範囲を縮小し、前記被写体の位置に応じて縮小した前記検出範囲を配置する
ことを特徴とする請求項１乃至５のいずれか１項に記載の像振れ補正装置。
【請求項７】
前記被写体判定手段は、検出した動きベクトルのうち、被写体の動きベクトルの個数が第３の閾値未満であり、かつ、背景の動きベクトルの個数が第４の閾値以上である場合に、前記被写体の大きさが所定の大きさより小さいと判定する
ことを特徴とする請求項２乃至５のいずれか１項に記載の像振れ補正装置。
【請求項８】
前記被写体判定手段は、検出した動きベクトルのうち、被写体の動きベクトルの個数が第３の閾値未満であり、かつ、背景の動きベクトルの個数が第４の閾値以上であり、さらに、前記被写体の範囲が所定の範囲内である場合に、前記被写体の大きさが所定の大きさより小さいと判定する
ことを特徴とする請求項２乃至５のいずれか１項に記載の像振れ補正装置。
【請求項９】
前記検出範囲は複数のベクトル検出枠の集合であり、前記検出手段による動きベクトルの検出は前記ベクトル検出枠ごとに行われ、
前記被写体の範囲は、被写体の動きベクトル量が検出された前記ベクトル検出枠の範囲であり、
前記検出範囲設定手段は、前記ベクトル検出枠の大きさを縮小することで前記検出範囲を縮小し、縮小した前記検出範囲の中心と前記被写体の範囲の中心が重なるよう前記検出範囲を配置する
ことを特徴とする請求項８に記載の像振れ補正装置。
【請求項１０】
前記検出範囲設定手段は、被写体の動きベクトルの個数が第３の閾値以上になるまで前記検出範囲を縮小する
ことを特徴とする請求項７乃至９のいずれか１項に記載の像振れ補正装置。
【請求項１１】
前記検出手段が検出した動きベクトルのうち被写体の動きベクトルに基づいて像振れ補正制御を行う制御手段をさらに備える
ことを特徴とする請求項１乃至１０のいずれか１項に記載の像振れ補正装置。
【請求項１２】
撮像素子を有する撮像手段と、
請求項１乃至１１のいずれか１項に記載の像振れ補正装置と、を備える
ことを特徴とする撮像装置。
【請求項１３】
前記撮像手段により撮像される画像を取得する取得手段をさらに備え、
前記間引きあり画像は、前記撮像素子から画素間引きありの駆動で取得した画像であり、前記間引きなし画像は、前記撮像素子から画素間引きしない駆動で取得した画像であり、
前記取得手段は、前記間引きなし画像として、被写体を含んだ所定の大きさの画像を取得する
ことを特徴とする請求項１２に記載の撮像装置。
【請求項１４】
像振れ補正装置の制御方法であって、
被写体の大きさを判定する被写体判定工程と、
前記被写体判定工程における判定結果に応じて、動きベクトルを検出する検出範囲を設定する検出範囲設定工程と、
前記検出範囲設定工程で設定した検出範囲で複数の画像から動きベクトルの検出を行う検出工程と、を有し、
前記被写体判定工程において被写体の大きさが所定の大きさより小さいと判定した場合、前記検出範囲設定工程で、前記検出範囲を縮小し、前記検出工程で、間引きなしの画像で動きベクトルの検出を行う
ことを特徴とする像振れ補正装置の制御方法。
【請求項１５】
請求項１乃至１１のいずれか１項に記載の像振れ補正装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、像振れ補正装置、撮像装置、像振れ補正装置の制御方法およびプログラムに関する。
【背景技術】
【０００２】
移動している被写体のスピード感を表現する撮影技術として流し撮りがある。流し撮りでは、撮影者が被写体の動きに合わせてカメラをパンニングすることにより、移動している被写体は静止させて、背景は流すよう撮影する。一般的な流し撮りは、撮影したい被写体の移動速度に合わせて露光時間を通常より長めに調節することで撮影を行う。特許文献１は、流し撮り撮影時には背景の流し量を十分に確保できるような露光時間での撮影を行う技術を開示している。
【０００３】
流し撮り撮影においては、パンニング速度が速すぎたり遅すぎたりすることで、被写体の移動速度とパンニング速度の間に差が発生してしまうと、被写体までぶれた画像になってしまう恐れがある。そこで、ユーザの流し撮り撮影の補助を行う技術として、シフトレンズの駆動により被写体の移動速度とパンニング速度の差を吸収する技術（以下、流し撮りアシスト機能という）が提案されている。特許文献２は、被写体の速度とカメラを振る速度との差分を検出し、当該差分に相当する補正量に応じてシフトレンズを移動させて流し撮り撮影を行う技術を開示している。
【０００４】
流し撮りでは、静止させる被写体と流す背景部分とを区別する必要がある。画面の動きベクトルから被写体と背景を判別する方法として、ヒストグラムを用いた判別手法が提案されている。特許文献３は、特定個所から得られた動きベクトルを検出して特定個所の動きを検出する場合に、過去に入力画像の各部に設定した特徴点で検出される動きベクトルをヒストグラム化して分類した分類情報を参照する技術を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２４５７７４号公報
【特許文献２】特開２００６−３１７８４８号公報
【特許文献３】特開２００７−３３６２３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１〜３の技術では、小さな被写体に対しては動きベクトルを検出する参照ブロックがわずかしか割り当たらないため、被写体に対する動きベクトルの信頼度が低くなってしまう。また、小さな被写体の動きベクトルを検出するためにベクトル検出枠を増やすと、動きベクトル量の算出処理に時間が掛かってしまう。また、小さな被写体の動きベクトルを検出するためにテンプレート枠を縮小すると、被写体ベクトルではなくエラーベクトルが増加してしまう場合がある。
【０００７】
本発明は、小さい被写体の動きベクトルの検出を高精度に行う像振れ補正装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の像振れ補正装置は、被写体の大きさを判定する被写体判定手段と、前記被写体判定手段の判定結果に応じて、動きベクトルを検出する検出範囲を設定する検出範囲設定手段と、前記検出範囲設定手段が設定した検出範囲で複数の画像から動きベクトルの検出を行う検出手段と、を備える。前記被写体判定手段が被写体の大きさが所定の大きさより小さいと判定した場合、前記検出範囲設定手段は、前記検出範囲を縮小し、前記検出手段は、間引きなしの画像で動きベクトルの検出を行う。
【発明の効果】
【０００９】
本発明によれば、小さい被写体の動きベクトルの検出を高精度に行う像振れ補正装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】撮像装置の構成を示す図である。
【図２】流し撮りアシスト処理を示すフローチャートである。
【図３】流し撮りアシストの動作イメージを示す図である。
【図４】被写体の角速度の算出方法を示す図である。
【図５】被写体動きベクトル量算出処理を示すフローチャートである。
【図６】大きい被写体と小被写体のヒストグラムを示す図である。
【図７】被写体判定処理を示すフローチャートである。
【図８】テンプレート枠の縮小とヒストグラムの関係を示す図である。
【図９】テンプレート枠変更処理を示すフローチャートである。
【図１０】テンプレート枠の縮小とヒストグラムの関係を示す図である。
【図１１】間引きあり画像と間引きなし画像のベクトル検出を説明する図である。
【図１２】間引きなし画像範囲へのテンプレート枠の配置方法を説明する図である。
【図１３】間引きなし画像の動きベクトル検出処理を示すフローチャートである。
【図１４】間引きなし画像と間引きあり画像のサーチエリアの関係を示す図である。
【図１５】被写体動きベクトル量算出処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
図１は、撮像装置１の構成を示す図である。撮像装置１の一例としてレンズ交換式のデジタルカメラの説明を行うが、これに限られるものではない。撮像装置１は、交換レンズ１００とカメラ本体部１２０を備える。交換レンズ１００はカメラ本体部１２０に着脱可能である。また、本実施形態の撮像装置１は、流し撮りを支援する流し撮りアシスト機能を有している。流し撮りアシストの設定が行われた場合の制御モードを、「流し撮りアシストモード」という。
【００１２】
交換レンズ１００は、撮影レンズユニット１０１、ズームエンコーダ１０５、位置センサ１０６、角速度センサ１１１、アンプ１１２、レンズ制御部１１３、ドライバ１１４、アンプ１１５およびマウント接点部１１６を備える。撮影レンズユニット１０１は、主撮像光学系１０２、焦点距離を変更可能なズームレンズ１０３および像振れ補正用のシフトレンズ１０４を備える撮像光学系である。シフトレンズ１０４は、被写体からの光の結像位置を変更することにより像振れを補正する補正レンズの役目をもつレンズ群である。シフトレンズ１０４を撮影レンズユニット１０１の光軸と垂直な方向に移動させることで、撮像装置１の振れによる像の振れを光学的に補正できる。
【００１３】
ズームエンコーダ１０５は、ズームレンズ１０３の位置を検出する。位置センサ１０６は、シフトレンズ１０４の位置を検出する。アンプ１１５は、位置センサ１０６の出力を増幅し、レンズ制御部１１３に出力する。ドライバ１１４は、レンズ制御部１１３による制御に応じて、シフトレンズ１０４を駆動する。角速度センサ１１１は、撮像装置１の振れを検出する。角速度センサ１１１は、撮像装置１の振れを検出する振れ検出手段であり、例えば、ジャイロセンサである。撮像装置１の振れを検出することで、流し撮りにおける撮像装置１のパンニングを検出することができる。アンプ１１２は、角速度センサ１１１の出力を増幅し、レンズ制御部１１３に出力する。マウント接点部１１６は、カメラ本体部１２０のマウント接点部１６１と接続される。
【００１４】
レンズ制御部１１３は、レンズシステム制御用のマイクロコンピュータである。レンズ制御部は、像振れ補正制御部１１７および流し撮り制御部１１８を備える。像振れ補正制御部１１７は、像振れ補正用の制御を行う。流し撮り制御部１１８は、流し撮りアシスト用の制御を行う。レンズ制御部１１３は、ドライバ１１４を介してシフトレンズ１０４の駆動を制御することで、像振れ補正や流し撮りアシストを行う。なお、像振れ補正では、例えば横方向と縦方向といった、直交する２軸に関して振れの検出および補正が行われるが、２軸に関して同じ構成であるため、本実施形態では１軸分についてのみ説明する。また、レンズ制御部１１３は、その他にもフォーカスレンズの移動による焦点調節制御や絞り制御等も行うが、図示上の簡略化のため省略する。
【００１５】
このように、本実施形態の撮像装置１は、光学素子（シフトレンズ１０４）を光軸と直交する方向に移動させて像振れ補正を行う像振れ補正装置を備える。なお、像振れ補正の方法は、補正素子としてシフトレンズ１０４を光軸と直交する方向に移動させる方法だけではなく、補正素子として後述する撮像素子１２２を光軸と直交する方向に移動させる方法であってもよい。
【００１６】
カメラ本体部１２０は、シャッタ１２１、撮像素子１２２、ＡＦＥ１２３、カメラ信号処理回路１２４、ＴＧ１２５、カメラ制御部１３２、ドライバ１３３、モーター１３４、一次記憶装置１３５を備える。さらに、カメラ本体部１２０は、記録媒体１７１、表示部１７２、操作部１３１、マウント接点部１６１を備える。
【００１７】
シャッタ１２１は、非撮影時には撮像素子１２２を遮光し、撮影時には開いて撮像素子１２２へ光線を導く。シャッタ１２１の駆動により、露光時間を制御することができる。撮像素子１２２は、例えばＣＭＯＳ（相補型金属酸化膜半導体）型イメージセンサ等であり、撮像光学系を通して結像される被写体からの光を受光し、光電変換により電気信号を出力する。ＡＦＥ１２３は、アナログ信号処理回路であり、撮像素子１２２の出力信号を処理してカメラ信号処理回路１２４に出力する。ＴＧ１２５は、撮像素子１２２やＡＦＥ１２３の動作タイミングを設定するタイミングジェネレータである。
【００１８】
カメラ信号処理回路１２４は、動きベクトル検出部１４１および画像処理部１４２を備える。動きベクトル検出部１４１は、撮像素子１２２の出力に基づいて被写体の動きを検出する。具体的には、撮影した画像をもとにベクトル検出枠の動きベクトル量の算出を行う。画像処理部１４２は、現像処理を行う。画像処理部１４２は、現像した画像を記録媒体１７１に記録したり、表示部１７２に表示したりする。
【００１９】
記録媒体１７１は、フラッシュメモリ等のカメラ本体部に着脱可能な記録媒体であり、画像データ等を記録する。表示部１７２は、ＬＣＤ（液晶表示装置）等の表示デバイスを有し、カメラの撮影モードに関する情報、操作画面、撮影した画像等を表示する。操作部１３１は、電源スイッチ、レリーズスイッチ、切り替えスイッチ等を備える。ユーザは切り替えスイッチを操作して、流し撮りアシストモードに設定可能である。
【００２０】
カメラ制御部１３２は、カメラシステム制御用のマイクロコンピュータを備え、撮像システムの各構成部を制御する。カメラ制御部１３２は、シャッタ制御部１５１、被写体角速度算出部（以下、角速度算出部という）１５３、被写体動きベクトル量算出部（以下、ベクトル量算出部という）１５４およびメイン制御部１５２を備える。シャッタ制御部１５１は、シャッタ１２１を制御する。角速度算出部１５３は、被写体の角速度を算出する。ベクトル量算出部１５４は、複数の画像から被写体の動きベクトル量を検出する。メイン制御部１５２は、シャッタ制御部１５１、角速度算出部１５３およびベクトル量算出部１５４を制御する。
【００２１】
モーター１３４は、シャッタ１２１駆動用のモーターである。ドライバ１３３は、シャッタ動作を行わせるためのモーター１３４を駆動する。シャッタ制御部１５１は、ドライバ１３３およびモーター１３４を介してシャッタ１２１を制御する。一次記憶装置１３５は、一時的なデータを記憶し、カメラ制御部１３２の作業用に使われる。一次記憶装置１３５は、例えばＲＡＭのような揮発性装置である。マウント接点部１６１は、交換レンズ１００のマウント接点部１１６と接続される。レンズ制御部１１３とカメラ制御部１３２は、マウント接点部１１６および１６１を介して通信を行なう。
【００２２】
操作部１３１において撮像装置１の電源がＯＮされると、撮像装置１の状態変化をカメラ制御部１３２が検出する。そして、撮像装置１の電源が入れられたことを検出したカメラ制御部１３２の制御により、カメラ本体部１２０の各回路への電源供給および初期設定が行われ、交換レンズ１００への電源供給が行われる。電源が供給された交換レンズ１００では、レンズ制御部１１３の制御により、交換レンズ１００内の初期設定が行われる。そして、レンズ制御部１１３とカメラ制御部１３２との間で所定のタイミングで通信が開始される。通信は必要なタイミングで適宜行われ、レンズ制御部１１３からカメラ制御部１３２への通信では、交換レンズ１００の識別情報、交換レンズ１００の焦点距離情報、角速度情報等が送受信される。一方、カメラ制御部１３２からレンズ制御部１１３への通信では、カメラ本体部１２０の状態、撮影設定等が送受信される。
【００２３】
ユーザは操作部１３１の切り替えスイッチを操作することにより、通常モードと流し撮りアシストモードを変更することができる。通常モードとは、流し撮りアシストモードの設定が行われていないモードである。通常モードが選択された場合、交換レンズ１００内では角速度センサ１１１が、手ブレ等により撮像装置１に加わる振れを検出する。像振れ補正制御部１１７は角速度センサ１１１による検出信号を用いてシフトレンズ１０４の駆動制御を行う。これにより、像振れ補正動作が行われ、撮像画像の像振れが低減される。
【００２４】
一方、流し撮りアシストモードが選択された場合、カメラ制御部１３２は、カメラ本体部１２０の制御を流し撮りアシストモードの制御に切り替える。また、カメラ制御部１３２は、流し撮りアシストモードへの切り替えを示す情報を、レンズ制御部１１３へと送信する。レンズ制御部１１３は、交換レンズ１００の制御を流し撮りアシストモードの制御に切り替える。流し撮りアシストモードの詳細は、後述する。
【００２５】
ユーザは操作部１３１の撮影ボタン（レリーズスイッチ）を操作することにより、撮像を行う。撮影ボタンが押下されると、撮像素子１２２は、撮像光学系を通して結像される被写体からの光を受光し、光電変換により電気信号を出力する。本実施形態の撮像素子１２２は、高画素を有している。高画素を有する撮像素子を用いて高フレームレートの動画撮影やリアルタイムビュー表示を実現するための手法として、間引き手法が知られている。間引き手法では、撮像素子の駆動方式を切り替えて、水平または垂直方向に特定周期で画素を読み飛ばすことで撮像素子の出力を低画素化し、データレートを下げることで高フレームレートでの画像信号処理を実現している。
【００２６】
＜流し撮りアシスト処理＞
まず、流し撮りアシストモードでの撮影時におけるメイン制御部１５２の処理について、図２を用いて説明する。図２は、流し撮りアシスト処理を示すフローチャートである。本処理は、例えば、流し撮りアシストモードが選択された状態で、撮影者が操作部１３１の撮影ボタンを半押し（ＳＷ１がＯＮ）したタイミングで開始される。
【００２７】
Ｓ２０１で、メイン制御部１５２は、ベクトル量算出部１５４に対し、被写体動きベクトル量の算出開始要求を送信する。ベクトル量算出部１５４は、算出開始要求を受信すると、被写体動きベクトル量の算出を開始する。ベクトル量算出部１５４による被写体動きベクトル量算出処理については、図５を用いて後述する。
Ｓ２０２で、メイン制御部１５２は、撮影ボタンが全押し（ＳＷ２がＯＮ）されたかどうかを検出している。撮影ボタンが全押しされたと判断した場合は、被写体動きベクトル量の取得のためＳ２０３へと進む。一方、撮影ボタンが全押しされていないと判断した場合は、Ｓ２０２へと戻り、撮影ボタンが全押しされるまでＳ２０２の処理を繰り返す。
【００２８】
Ｓ２０３で、メイン制御部１５２は、ベクトル量算出部１５４に対し、被写体動きベクトル量の取得要求を送信する。ベクトル量算出部１５４は、被写体動きベクトル量の取得要求を受信すると、メイン制御部１５２に対し最新の被写体の動きベクトル量を動きベクトル結果として送信する。メイン制御部１５２は、被写体動きベクトル量の取得要求に対する応答として、動きベクトル結果である被写体の動きベクトル量を取得する。
【００２９】
Ｓ２０４で、メイン制御部１５２は、角速度算出部１５３にシフトレンズ１０４の駆動量の算出を要求する。角速度算出部１５３は、動きベクトル結果に基づいて被写体の角速度を算出し、被写体の動きベクトル量が０になるように補正するためのシフトレンズ１０４の駆動量（補正量）を算出する。
【００３０】
流し撮りアシストによる補正について、図３を用いて説明する。図３は、流し撮りアシストの動作イメージを示す図である。被写体の角速度が３０ｄｅｇ／ｓｅｃ、撮像装置１のパンニング角速度が２４ｄｅｇ／ｓｅｃだった場合は、その差の６ｄｅｇ／ｓｅｃを流し撮りアシスト機能で補助する必要がある。流し撮りアシストでは、取得した画像内の被写体の動きベクトルによって差分の６ｄｅｇ／ｓｅｃを検出し、角速度センサ１１１によって撮像装置１のパンニング速度の２４ｄｅｇ／ｓｅｃを検出する。それらを加算するとこで、被写体の角速度である３０ｄｅｇ／ｓｅｃを算出する。次に撮影を行う際には、検出された被写体の角速度の３０ｄｅｇ／ｓｅｃからカメラのパンニング速度の２４ｄｅｇ／ｓｅｃとの差分の６ｄｅｇ／ｓｅｃを用いて補正量を算出する。例えば、露光時間が０．５秒だとすると、シフトレンズ１０４で補正する量は６ｄｅｇ／ｓｅｃ×０．５ｓｅｃ＝３ｄｅｇと求まる。
【００３１】
被写体の角速度の算出方法を、図４を用いて説明する。図４は、被写体の角速度の算出方法を示す図である。被写体がｔ秒の間に点Ａから点Ｂへ移動し、それに応じて撮像素子１２２上に結像した被写体像も点Ｃから点Ｄへと移動している。ここで、点Ｃと点Ｄとの距離をｖ［ｐｉｘｅｌ］、焦点距離をｆ［ｍｍ］、センサの画素ピッチをｐ［μｍ／ｐｉｘｅｌ］とすると、被写体の角速度ω［ｒａｄ／ｓｅｃ］は以下の式（１）で表わされる。
【数１】
2019125933.tif 000003
【００３２】
Ｓ２０５で、メイン制御部１５２は、Ｓ２０４で算出したシフトレンズ１０４の駆動量をレンズ制御部１１３に送信し、シフトレンズ１０４の駆動を要求する。また、メイン制御部１５２は、ドライバ１３３に対し、シャッタ１２１を開き、所定時間で閉じるように要求する。
Ｓ２０６で、メイン制御部１５２は、カメラ信号処理回路１２４に対し撮像素子１２２が露光したデータを現像し、記録媒体１７１に記録するように要求し、本処理を終了する。すなわち、Ｓ２０５およびＳ２０６でメイン制御部１５２は、シフトレンズ１０４を駆動しながら撮影を行う。
【００３３】
（第１実施形態）
＜被写体動きベクトル量算出処理＞
次に、第１実施形態におけるベクトル量算出部１５４の被写体動きベクトル量算出処理について、図５を用いて説明する。図５は、被写体動きベクトル量算出処理を示すフローチャートである。本処理は、メイン制御部１５２からの算出開始要求（Ｓ２０１）を受信したタイミングで開始される。
【００３４】
Ｓ５０１で、ベクトル量算出部１５４は、被写体判定処理を実行する。被写体判定処理については、図７を用いて後述する。
Ｓ５０２で、ベクトル量算出部１５４は、被写体判定処理の結果、被写体の大きさが所定の大きさより小さい（以下、小被写体）か否かを判定する。具体的には、Ｓ５０１の被写体判定処理の結果として取得した後述する小被写体フラグを参照する。Ｓ５０１において、小被写体であると判定された場合には小被写体フラグにＴＲＵＥが設定され、小被写体でないと判定された場合には小被写体フラグにＦＡＬＳＥが設定されている。小被写体であると判定した場合は、小被写体に対しテンプレート枠（動きベクトルの検出範囲）の変更を行うため、Ｓ５０３へと進む。一方、小被写体ではないと判定した場合は、本処理を終了する。
【００３５】
Ｓ５０３で、ベクトル量算出部１５４は、テンプレート枠変更処理を実行する。テンプレート枠変更処理については、図９を用いて後述する。
Ｓ５０４で、ベクトル量算出部１５４は、被写体検出に成功したか否かを判定する。具体的には、テンプレート枠変更処理の結果として取得した後述する被写体検出成功フラグを参照する。なお、被写体検出に成功した場合は、被写体検出成功フラグにＴＲＵＥが設定され、被写体検出に成功しなかった場合は、被写体検出成功フラグにＦＡＬＳＥが設定される。被写体検出に成功したと判定した場合は、本処理を終了する。一方、被写体検出に成功しなかったと判定した場合は、Ｓ５０５へ進む。
【００３６】
Ｓ５０５で、Ｓ５０３のテンプレート枠変更処理の後に取得した動きベクトルの中でエラーと判定されたエラーベクトル個数を参照し、エラーベクトル個数が閾値γより多いか否か判定する。エラーベクトルの個数が閾値γより多いと、被写体の動きベクトルの信頼度が低くなる。エラーベクトル個数が閾値γより多い場合は、間引きなしの画像をもとに被写体ベクトルを検出するため、Ｓ５０６に進む。一方、エラーベクトル個数が閾値γ以下の場合は、被写体の再検索を実施するためにＳ５０１に戻る。なお、閾値γは、被写体の大きさ、被写体の色情報、撮像装置１から被写体までの距離および露出状態のいずれかに応じて設定される
【００３７】
Ｓ５０６で、ベクトル量算出部１５４は、間引きなし画像の被写体ベクトル検出処理を実行して処理を終了する。間引きなし画像の被写体ベクトル検出処理については、図１３を用いて後述する。
このように、通常のベクトル検出は間引きありの画像で行われるが、本実施形態では、被写体が所定の大きさより小さい場合にテンプレート枠を縮小する。そして、間引きありの画像に対して縮小したテンプレート枠で行ったベクトル検出の結果、検出した動きベクトルの信頼度が低かった場合に、間引きなし画像でのベクトル検出を行う。
【００３８】
＜被写体判定処理＞
Ｓ５０１の被写体判定処理について説明する。まず、小被写体であるか否かの判別方法について、図６を用いて詳述する。図６は、大きい被写体と小被写体のヒストグラムを示す図である。図６（Ａ）は、像面上の被写体が大きい場合を図示している。一方、図６（Ｂ）は、像面上の被写体が小さい場合を図示している。ベクトル検出枠６０１は、動きベクトル量を検出する参照ブロックである。テンプレート枠６０２は、ベクトル検出枠６０１の集合であり、動きベクトルの検出範囲を示している。本実施形態においてテンプレート枠６０２は、７×５のベクトル検出枠６０１を有している。テンプレート枠６０２は、像面６０３および像面６０４の全面もしくは端部を除く大部分に配置されている。
【００３９】
ヒストグラム６０５は、像面６０３の被写体の動きベクトル量の検出結果をヒストグラムにした例である。一方、ヒストグラム６０６は、像面６０４の被写体の動きベクトル量の検出結果をヒストグラムにした例である。横軸が動きベクトル量、縦軸が同一の動きベクトル量の個数（以下、ベクトル個数）を示している。ない、ヒストグラム６０５およびヒストグラム６０６には、図の簡略化のため背景の動きベクトル量は省略し、被写体の動きベクトル量のみ図示している。
【００４０】
図６（Ａ）に示される通り、被写体が大きい場合は、被写体に割り当たるベクトル検出枠６０１が多くなる。被写体のベクトル個数を多く取得できるため、被写体の動きベクトル量の信頼度が高くなる。一方、図６（Ｂ）に示される通り、被写体が小さい場合は、被写体に割り当たるベクトル検出枠６０１が少なくなる。図６（Ｂ）では、枠６０７内のベクトル検出枠６０１のみが動きベクトル量を検出している。取得できる被写体の動きベクトルの個数が少ないため、被写体の動きベクトル量の信頼度が低くなる。
【００４１】
被写体の動きベクトルの信頼度が高い場合、すなわち、被写体のベクトル個数が多い場合は、現在のテンプレート枠６０２のままでよい。一方、被写体の動きベクトルの信頼度が低い場合、すなわち、被写体のベクトル個数が少ない小被写体の場合は、現在のテンプレート枠６０２よりさらに小さいテンプレート枠にテンプレート枠を縮小する必要がある。テンプレート枠の変更が必要な小被写体であるか否かは、被写体のベクトル個数が閾値α未満か否かで判定する。ヒストグラム６０５に示されるように、被写体のベクトル個数が閾値α以上の場合は、小被写体ではないと判定する。一方、ヒストグラム６０６に示されるように、被写体のベクトル個数が閾値α未満である場合は、小被写体であると判定する。
【００４２】
このとき、被写体のベクトル個数が閾値α未満の場合に小被写体であると判定すると、被写体が大きいにも関わらず、小被写体であると判別されるケースがある。例えば、低コントラストの被写体の場合が考えられる。動きベクトル量を検出する処理はブロックマッチングなどを用いて行うため、低コントラストだと動きベクトル量を検出できずエラーとなり、閾値α以上の被写体のベクトル個数を取得できないケースがある。そのため、被写体のベクトル個数が閾値α未満の場合に小被写体であると判別すると、被写体が大きいにも関わらず、小被写体であると判別されることになる。
【００４３】
そこで、小被写体であるか否かの判定に、被写体のベクトル個数に加えて背景のベクトル個数も用いる。被写体が大きい場合は、背景のベクトル個数が少なくなる。一方、被写体が小さい場合は、背景のベクトル個数が多くなる。そのため、背景のベクトル個数が閾値β以上である場合は、小被写体であると判定することが可能である。一方、背景のベクトル個数が閾値β未満である場合は、大きい被写体であると判定する。
【００４４】
ここで、背景のベクトル個数を判定に用いる場合、被写体と背景の動きベクトル量を判別する必要がある。背景の動きベクトル量は撮像装置の動きベクトル量と同じになるため、背景の動きベクトル量の判別が可能である。具体的には、レンズ制御部１１３の角速度センサ１１１から撮像装置１の動きベクトル量を取得し、ヒストグラムの動きベクトル量と比較することで、被写体と背景の動きベクトル量を判別することが可能である。
【００４５】
さらに、小被写体である場合、図６の枠６０７に示すように被写体の動きベクトル量は固まって存在するという特徴がある。よって、被写体の動きベクトル量を検出したベクトル検出枠６０１（以下、被写体ポイントという）が所定の範囲（以下、小被写体判定範囲という）内であれば小被写体であると判定することができる。以下、被写体ポイントの範囲を被写体範囲という。被写体および背景のベクトル個数を用いた判定に加え、被写体範囲を用いた判定を行うことで、小被写体であるか否かの判定の精度を向上させることができる。
【００４６】
具体的には、それぞれの被写体ポイントの中心位置（Ｘ，Ｙ）の中から最小値（Ｘ，Ｙ）と最大値（Ｘ，Ｙ）を求め「サイズ（Ｘ，Ｙ）＝ 最大値（Ｘ，Ｙ）− 最小値（Ｘ，Ｙ）」として求めたサイズ（Ｘ，Ｙ）を被写体範囲とする。そして、被写体範囲のサイズ（Ｘ，Ｙ）と予め規定した小被写体判定範囲のサイズ（Ｘ，Ｙ）を比較し、小被写体判定範囲内であれば、小被写体であると判定する。また、被写体範囲の情報として、サイズ（Ｘ，Ｙ）の他に被写体範囲の中心位置（Ｘ，Ｙ）を保持する。
【００４７】
次に、被写体判定処理の流れについて、図７のフローチャートを用いて説明する。図７は、被写体判定処理を示すフローチャートである。
Ｓ７０１で、ベクトル量算出部１５４は、動きベクトル検出部１４１に対し、画素間引きありで読み出した画素データに対して像面上の全体にテンプレート枠を配置するよう要求する。ここで、テンプレート枠は、図６と同様に７×５のベクトル検出枠を設定することにする。
【００４８】
Ｓ７０２で、ベクトル量算出部１５４は、動きベクトル検出部１４１からテンプレート枠に配置されたベクトル検出枠の動きベクトル量を取得し、ヒストグラムを作成する。ここで、ヒストグラムは、図６と同様に横軸が動きベクトル量で縦がベクトル個数となるヒストグラムを作成ことにする。そしてベクトル量算出部１５４は、被写体と背景の動きベクトル量と被写体のエラーベクトルを判別し一次記憶装置１３５に保持する。
【００４９】
Ｓ７０３で、ベクトル量算出部１５４は、ヒストグラムに基づいて、被写体のベクトル個数が閾値α未満であるか否かを判定する。被写体のベクトル個数が閾値α未満であると判定した場合は、小被写体である可能性が高いので背景のベクトル個数を調べるため、Ｓ７０４へと進む。一方、被写体のベクトル個数が閾値α以上であると判定した場合は、被写体が大きいと判断し、Ｓ７０９へと進む。
【００５０】
Ｓ７０４で、ベクトル量算出部１５４は、ヒストグラムから背景のベクトル個数が閾値β以上であるか否かを判定する。背景のベクトル個数が閾値β以上であると判定した場合は、小被写体である可能性が高いので、被写体範囲の情報を生成するＳ７０５へと進む。一方、背景のベクトル個数が閾値β未満であると判定した場合は、被写体が大きいと判断し、Ｓ７０８へと進む。
【００５１】
Ｓ７０５で、ベクトル量算出部１５４は、被写体範囲の情報を生成する。ここで、被写体ポイントを調べるのに使用する被写体の動きベクトル量は、閾値α未満の中でベクトル個数の一番多い被写体の動きベクトル量とする。また、このとき、被写体範囲の情報は後述するテンプレート枠変更処理でも使用するため、一次記憶装置１３５に被写体範囲の情報として保持する。被写体範囲の情報としては、サイズ（Ｘ，Ｙ）の他に被写体範囲の中心位置（Ｘ，Ｙ）を保持する。
【００５２】
Ｓ７０６で、ベクトル量算出部１５４は、被写体範囲が小被写体判定範囲内か否かを判定する。具体的には、被写体範囲のサイズ（Ｘ，Ｙ）と予め規定した小被写体判定範囲のサイズ（Ｘ，Ｙ）を比較する。被写体範囲が小被写体判定範囲内と判定した場合は、Ｓ７０７に進む。一方、被写体範囲が小被写体判定範囲内ではないと判定した場合は、Ｓ７０８に進む。
【００５３】
Ｓ７０７で、ベクトル量算出部１５４は、メイン制御部１５２から取得要求があった際の動きベクトル結果を一次記憶装置１３５に保持する。なお、後述するテンプレート枠変更処理で被写体の動きベクトルの信頼度を高めるが、現時点で確定している被写体の動きベクトル量を動きベクトル結果として保持することとする。すなわち、Ｓ７０７で保持する動きベクトル結果は、Ｓ７０５で被写体ポイントを調べるのに使用した被写体の動きベクトル量とする。
Ｓ７１０で、ベクトル量算出部１５４は、被写体判定処理の結果として、小被写体だと判断したため、小被写体フラグをＴＲＵＥに設定し処理を終了する。このように、本実施形態では、被写体の動きベクトルの個数が閾値未満であり、かつ、背景の動きベクトルの個数が閾値以上であり、さらに、被写体範囲が小被写体判定範囲内である場合に、被写体の大きさが所定の大きさより小さいと判定する
【００５４】
Ｓ７０８およびＳ７０９は、被写体が大きいと判断した場合の処理である。Ｓ７０８で、ベクトル量算出部１５４は、被写体は大きいが低コントラストだと判断し、閾値α未満の被写体のベクトル個数の中で、被写体のベクトル個数が一番多い被写体の動きベクトル量を動きベクトル結果として一次記憶装置１３５に保持する。Ｓ７０９で、ベクトル量算出部１５４は、被写体が大きいと判断し、被写体のベクトル個数が閾値α以上の被写体の動きベクトル量を動きベクトル結果として一次記憶装置１３５に保持する。
Ｓ７１１で、ベクトル量算出部１５４は、被写体判定処理の結果として、小被写体でないと判断したため、小被写体フラグをＦＡＬＳＥに設定し処理を終了する。
【００５５】
＜テンプレート枠変更処理＞
次に、Ｓ５０３のテンプレート枠変更処理について説明する。テンプレート枠変更処理、すなわち動きベクトルの検出範囲設定処理では、検出範囲を縮小させ、縮小した検出範囲を被写体に応じた位置に設定する。
まず、テンプレート枠のサイズを変更する方法について、図８を用いて詳述する。図８（Ａ）は、テンプレート枠の縮小を説明する図である。図８（Ｂ）は、テンプレート枠の縮小とヒストグラムの関係を説明する図である。
【００５６】
図８（Ａ）では、像面上のテンプレート枠を、枠８０１、枠８０２、枠８０３と段階的に縮小している。図８（Ｂ）は、図８（Ａ）に示されるテンプレート枠の縮小による動きベクトル量のヒストグラムの変化を示している。ヒストグラム８０４は枠８０１、ヒストグラム８０５は枠８０２、ヒストグラム８０６は枠８０３で検出した動きベクトル量のヒストグラムである。また、増加量８０７および増加量８０８は、ヒストグラム８０４の被写体のベクトル個数からの増加量を示している。図８（Ｂ）に示されるように、テンプレート枠を縮小することで、被写体のベクトル個数を多く取得でき、被写体の動きベクトルの信頼度が高くなる。
【００５７】
次に、テンプレート枠の位置を変更する方法について詳述する。流し撮り撮影においては、撮影者が被写体の動きに合わせてパンニングをするが、被写体がテンプレート枠外となる可能性がある。そのため、被写体範囲の中心位置（Ｘ，Ｙ）に基づいて、テンプレート枠の中心が被写体範囲の中心位置（Ｘ，Ｙ）に来るようにテンプレート枠の位置を変更する。テンプレート枠の位置の変更により、被写体がテンプレート枠外となることを防ぐことができる。
【００５８】
次に、テンプレート枠変更処理の流れについて、図９のフローチャートを用いて説明する。図９は、テンプレート枠変更処理を示すフローチャートである。
Ｓ９０１で、ベクトル量算出部１５４は、一次記憶装置１３５に保持されている被写体範囲の情報を取得する。被写体範囲の情報は、Ｓ７０５で一次記憶装置１３５に保存された、被写体範囲のサイズ（Ｘ，Ｙ）情報と被写体範囲の中心位置（Ｘ，Ｙ）である。
【００５９】
Ｓ９０２で、ベクトル量算出部１５４は、動きベクトル検出部１４１に対し、テンプレート枠を縮小するようにテンプレート枠の変更を要求する。ここでは、縮小率を１／２とするが、縮小率はこれに限られるものではなく、例えば、テンプレート枠の縮小率を１／３、１／４としてもよい。また、被写体範囲のサイズ（Ｘ，Ｙ）となるような縮小率にしてもよい。
【００６０】
Ｓ９０３で、ベクトル量算出部１５４は、Ｓ９０１で取得した被写体範囲の中心位置（Ｘ，Ｙ）にテンプレート枠の中心位置（Ｘ，Ｙ）を移動するように動きベクトル検出部１４１に要求する。
Ｓ９０４で、ベクトル量算出部１５４は、動きベクトル検出部１４１からテンプレート枠に配置されたベクトル検出枠の動きベクトル量を取得し、ヒストグラムを作成する。
【００６１】
Ｓ９０５で、ベクトル量算出部１５４は、作成したヒストグラムに基づいて、被写体のベクトル個数が増加したか否かを判定する。被写体のベクトル個数が増加したと判定した場合は、被写体範囲の情報を生成するＳ９０６へと進む。一方、被写体のベクトル個数が増加しなかったと判定した場合は、被写体の動きベクトル量を検出できなかったと判断し、Ｓ９１０へと進む。
【００６２】
Ｓ９０６で、ベクトル量算出部１５４は、増加した被写体のベクトル個数の動きベクトル量を動きベクトル結果として保持する。
Ｓ９０７で、ベクトル量算出部１５４は、増加した被写体のベクトル個数の動きベクトル量に対する被写体範囲の情報を生成し、一次記憶装置１３５に保持する。
【００６３】
Ｓ９０８で、ベクトル量算出部１５４は、Ｓ９０４で作成したヒストグラムに基づいて、被写体のベクトル個数が閾値α以上であるか否かを判定する。被写体のベクトル個数が閾値α以上であると判定した場合は、被写体検出に成功したと判断し、Ｓ９０９へと進む。一方、被写体のベクトル個数が閾値α未満であると判定した場合は、テンプレート枠をさらに縮小するために、Ｓ９０１へと戻る。
【００６４】
Ｓ９０９で、ベクトル量算出部１５４は、テンプレート枠の変更により被写体検出に成功したと判断したため、被写体検出成功フラグをＴＲＵＥに設定し、処理を終了する。
Ｓ９１０で、ベクトル量算出部１５４は、テンプレート枠を変更しても被写体検出に成功しなかったと判断したため、被写体検出成功フラグをＦＡＬＳＥに設定し、処理を終了する。
【００６５】
このように、テンプレート枠を縮小させることで、被写体のベクトル個数を多く取得でき、被写体の動きベクトルの信頼度が向上させることができる。しかしながら、被写体に合わせてテンプレート枠を縮小させても十分に被写体のベクトル個数が増加しない被写体（以下、苦手被写体という）もある。テンプレート枠を縮小させても十分に被写体のベクトル個数が増加しないと、検出した動きベクトルの信頼度が低いままである。苦手被写体の例として、低コントラストと繰り返しパターンが挙げられる。低コントラスト被写体では、ベクトル検出枠とその周辺にコントラストがなく、どの位置でも高い相関値が得られてしまうためにベクトルを誤って検出してしまう恐れがある。繰り返しパターン被写体では、ベクトル検出枠とその周辺に高周波で高コントラストなパターンが含まれている場合に、相関値の高い位置が周期的に得られることでベクトルを誤って検出してしまう恐れがある。そこで、誤検出につながるベクトル検出結果をエラーと判定して無効化する手法が用いられる。
【００６６】
＜間引きなし画像の被写体ベクトル検出処理＞
次に、Ｓ５０６の間引きなし画像の被写体ベクトル検出処理について説明する。まず、間引きなし画像の被写体ベクトルの検出方法について、図１０、図１１を用いて詳述する。図１０は、苦手被写体に対するテンプレート枠の縮小とヒストグラムの関係を示す図である。
【００６７】
図１０（Ａ）は、苦手被写体に対して像面上のテンプレート枠を枠１００１、枠１００２、枠１００３の段階で縮小した様子を図示している。図１０（Ｂ）は、テンプレート枠の縮小による動きベクトル量のヒストグラムの変化を示している。ヒストグラム１００４は枠１００１、ヒストグラム１００５は枠１００２、ヒストグラム１００６枠１００３で検出した動きベクトル量のヒストグラムである。エラーベクトル１００７およびエラーベクトル１００８は、被写体の動きベクトルではなく、ベクトル検出でエラー判定となったベクトルのベクトル個数を示している。エラーベクトル１００７とエラーベクトル１００８を比較すると、テンプレート枠を縮小することで被写体ベクトルではなくエラーベクトルが増加し、期待どおりに被写体の動きベクトルの信頼度を高めることができていないことが分かる。
【００６８】
図１１は、間引きあり画像と間引きなし画像のベクトル検出を説明する図である。図１１（Ａ）は、被写体の低コントラスト部分にベクトル検出枠１１０１が存在する様子を示している。図１１（Ｂ）は、撮像素子で水平または垂直方向に画素データを間引いた間引きあり画像１１０２と、間引きをされていない間引きなし画像１１０３とのベクトル検出のエラー判定結果の違いを示している。
【００６９】
間引きあり画像１１０２、間引きなし画像１１０３で示される範囲をベクトル探索範囲とする。間引きあり画像１１０２では、ベクトル検出に必要なデータ量が少なく、ベクトル探索範囲の中でベクトル検出枠１１０１とその周辺１１０４とのコントラストが低くなりベクトル検出でエラー判定されやすくなる。一方、間引きなし画像１１０３では、被写体を構成するデータ量が増えるため、ベクトル探索範囲の中でベクトル検出枠１１０１とその周辺１１０４とのコントラストが高くなりやすく、ベクトル検出でエラー判定される可能性が低くなる。すなわち、間引きなし画像１１０３は間引きあり画像１１０２に比べてコントラストが高くなりやすく、ベクトル検出のエラー判定となる確率は下がる。
【００７０】
このように、小被写体でありかつベクトル検出をしにくい苦手被写体に対しては、間引きなし画像でベクトル検出することで、被写体の動きベクトルの信頼度を高めることができる。ただし、像面上のすべての画素データを間引きなしで取得すると処理時間が増加し、連続的に流し撮り撮影処理を実行することができない。そのため、ベクトル検出したい被写体範囲の画素データのみを間引きなしで取得して、テンプレート枠を配置する必要がある。
【００７１】
次に、被写体の間引きなし画像にテンプレート枠を設定する方法について、図１２を用いて詳述する。図１２は、間引きなし画像範囲へのテンプレート枠の配置方法を説明する図である。図１２（Ａ）の被写体範囲１２０１は、被写体範囲の情報に基づいて設定された被写体範囲を示している。
【００７２】
図１２（Ｂ）の間引きなし画像範囲１２０２は、間引きなし画像で設定される間引きなし画像範囲を示している。間引きなし画像範囲１２０２には、被写体範囲１２０１の中心位置（Ｘ，Ｙ）を間引きなし画像の中心とし、中心位置（Ｘ，Ｙ）に対して予め規定した間引きなし画像取得可能サイズ（Ｘ，Ｙ）の範囲が設定される。間引きなし画像取得可能サイズ（Ｘ，Ｙ）は、撮像素子からの間引きなし画像取得が流し撮り撮影処理に必要とされる所定時間以内に収まるよう設定される。これにより、間引きなし画像による被写体動きベクトル検出処理と連続的な流し撮り撮影処理の実行を両立させることができる。なお、間引きなし画像範囲の設定はこれに限られるものではなく、被写体の移動方向に応じて水平垂直サイズの割合を変更してもよいし、被写体距離や速度に応じて画像取得可能範囲の増減を変更してもよい。
【００７３】
図１２（Ｃ）は、間引きなし画像範囲１２０２にテンプレート枠１２０２を配置した様子を示している。テンプレート枠１２０２は、間引きなし画像範囲１２０２の全体に配置されてもよいし、間引きなし画像範囲１２０２内の一部に配置されてもよい。
【００７４】
次に、間引きなし画像の被写体ベクトル検出処理の流れについて、図１３を用いて説明する。図１３は、間引きなし画像の被写体ベクトル検出処理を示すフローチャートである。
Ｓ１３０１で、ベクトル量算出部１５４は、間引きなし画像範囲を算出する。例えば、被写体範囲の中心位置（Ｘ，Ｙ）を間引きなし画像の中心とし、予め規定した間引きなし画像取得可能サイズ（Ｘ，Ｙ）の範囲を間引きなし画像範囲とする。
Ｓ１３０２で、ベクトル量算出部１５４は、動きベクトル検出部１４１に対し、Ｓ１３０１で算出した間引きなし画像範囲にテンプレート枠を配置するよう要求する。ここで、テンプレート枠として例えば、図６と同様に７×５のベクトル検出枠を設定することにする。
【００７５】
Ｓ１３０３で、ベクトル量算出部１５４は、動きベクトル検出部１４１からテンプレート枠に配置されたベクトル検出枠の動きベクトル量を取得し、ヒストグラムを作成する。ここで、ヒストグラムは、図６と同様に横軸が動きベクトル量で縦がベクトル個数となるヒストグラムを作成ことにする。また、被写体と背景の動きベクトル量と被エラーベクトルを、一次記憶装置１３５に保持する。
【００７６】
Ｓ１３０４で、ベクトル量算出部１５４は、間引きなし画像でベクトル検出を行ったことで、間引きあり画像のベクトル検出に比べ被写体のベクトル個数が増加したか否かを判定する。被写体のベクトル個数が増加したと判定した場合はＳ１３０５へと進む。一方、被写体のベクトル個数が増加しなかったと判定した場合は処理を終了する。
Ｓ１３０５で、ベクトル量算出部１５４は、増加した被写体のベクトル個数に対する動きベクトル量を動きベクトル結果として一次記憶装置１３５に保持して処理を終了する。
【００７７】
以上説明したように、本実施形態によれば、小被写体でかつベクトル検出をしにくい苦手被写体に対しても、小被写体の間引きなし画像にテンプレート枠を配置して被写体の動きベクトルを検出することで、被写体の動きベクトルの信頼度を高めることができる。これにより、流し撮りアシストモードの撮影時における被写体ブレの補正精度を向上させることを可能にした撮像装置を提供することができる。なお、上記の実施形態では、エラーベクトルの個数が閾値より多い場合に、間引きなし画像を用いて被写体の動きベクトル検出を行っているが、エラーベクトルの個数の判定処理を行わないようにしてもよい。すなわち、被写体が小被写体と判定された場合、テンプレート枠を縮小するとともに間引きなし画像を用いた動きベクトル検出に切替える。このような制御を行うことで、被写体の動きベクトルの信頼度を高めるとともに、パンニング中のエラーベクトルの個数の増減による間引きなし画像と間引きあり画像の切替えを抑制することができる。
【００７８】
（第２実施形態）
第１実施形態では、エラーベクトルの個数が閾値より多い場合に、間引きなし画像を用いて被写体の動きベクトル検出を行った。しかしながら、間引きなし画像を用いて被写体の動きベクトル検出行う際に、画像範囲が小さいと被写体の動きベクトルが正確に検出できない場合がある。
【００７９】
図１４は、間引きなし画像と間引きあり画像のサーチエリアの関係を示す図である。図１４（Ａ）は、テンプレート枠を縮小した後の間引きあり画像のサーチエリア１４０１について説明する図である。一方、図１４（Ｂ）は、比較的小さな間引きなし画像のサーチエリア１４０２について説明する図である。間引きなし画像のサーチエリア１４０２およびベクトル検出枠１４０４は、間引きあり画像のサーチエリア１４０１およびベクトル検出枠１４０３に比べ小さい。被写体の速度及び撮影者のパンニング速度が一定であれば、被写体の動きベクトル量は間引きなしと間引きありで変化しないため、動きベクトル量１４０５は、図１４（Ａ）と図１４（Ｂ）で同一である。
【００８０】
間引きあり画像の場合、動きベクトル量１４０５は、サーチエリア１４０１の範囲内となるため、動きベクトル量の検出が可能である。一方、間引きなし画像の場合、動きベクトル量１４０５は、サーチエリア１４０２の範囲外となるため、動きベクトル量の検出ができずにエラーとなり、被写体の動きベクトル量が取得できなくなる。すなわち、被写体の動きベクトル量が大きい場合に間引きなし画像でベクトル検出すると、被写体の動きベクトル量を取得できない。そこで、本実施形態では、小被写体の動きベクトル量が小さいと判断した場合、すなわち、パンニング速度が被写体の速度に近いと判断した場合のみ、間引きなし画像のベクトル検出を実行させることとする。
【００８１】
＜被写体動きベクトル量算出処理＞
第２実施形態における被写体動きベクトル量算出処理について、図１５を用いて説明する。図１５は、第２実施形態における被写体動きベクトル量算出処理を示すフローチャートである。なお、Ｓ１５０１〜７０５、Ｓ１５０７は、第１実施形態のＳ５０１〜３０６と同じステップであるため、その説明を省略し、Ｓ１５０６について説明する。
【００８２】
Ｓ１５０６で、ベクトル量算出部１５４は、被写体の動きベクトル量が閾値θ未満か否かを判定する。なお閾値θは、０近辺の値とする。被写体の動きベクトル量が閾値θ未満と判定した場合は、間引きなし画像で被写体ベクトルを検出するため、Ｓ１５０７へ進む。一方、被写体の動きベクトル量が閾値θ未満でないと判定した場合は、間引きなし画像でのベクトル検出を実行せず、Ｓ１５０１へ戻る。なお、過去数フレームのヒストグラムを作成し、被写体の動きベクトル量の平均値から閾値θ未満か否かを判定するようにしてもよい。
【００８３】
以上説明したように、本実施形態によれば、被写体の動きベクトル量に応じて間引きなし画像での動きベクトル検出を実行するか否かを判定することで動きベクトルの非検出を防ぎ、被写体の動きベクトルの信頼度を高めることができる。これにより、これにより、流し撮りアシストモードの撮影時における被写体ブレの補正精度を向上させることを可能にした撮像装置を提供することができる。また、被写体の動きベクトル量がサーチエリアに比して大きく被写体の動きベクトル量を取得できない場合に、間引きなし画像を用いた被写体の動きベクトル検出を行うことを回避することができるため、演算量や電力の消費を抑制することができる。なお、上記の２つの実施形態では、間引きあり画像と間引きなし画像との切替えを行っているが、第１の間引き率である第１の画像と、第１の間引き率よりも間引き率が低い第２の間引き率である第２の画像との切替えを行うようにしてもよい。
【００８４】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８５】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【００８６】
１３２  カメラ制御部
１４１  動きベクトル検出部
１５２  メイン制御部
１５４  被写体動きベクトル量算出部
【図１】
2019125933.tif 000004
【図２】
2019125933.tif 000005
【図３】
2019125933.tif 000006
【図４】
2019125933.tif 000007
【図５】
2019125933.tif 000008
【図６】
2019125933.tif 000009
【図７】
2019125933.tif 000010
【図８】
2019125933.tif 000011
【図９】
2019125933.tif 000012
【図１０】
2019125933.tif 000013
【図１１】
2019125933.tif 000014
【図１２】
2019125933.tif 000015
【図１３】
2019125933.tif 000016
【図１４】
2019125933.tif 000017
【図１５】
2019125933.tif 000018