(57)【特許請求の範囲】
【請求項１】
撮像装置の振れの角速度と、連続して撮像された複数の画像データから検出される被写体の動き検出情報を取得する取得手段と、
前記動き検出情報の検出に使用する画像のフレームレートの値を決定する決定手段と、
前記振れの角速度および前記被写体の動き検出情報から、前記撮像装置に対する前記被写体の角速度を算出する算出手段と、を備え、
前記決定手段は、前記フレームレートの値を決定する際、撮像光学系の焦点距離が大きいほど前記フレームレートの値を大きくし、
前記取得手段は、前記決定手段により決定された前記フレームレートで撮像された複数の画像データから検出される前記被写体の動き検出情報を取得する
ことを特徴とする画像処理装置。
【請求項２】
第１の検出手段により検出される撮像装置の振れの角速度と、前記撮像装置の撮像素子により連続して撮像された複数の画像データから第２の検出手段により検出される被写体の動き検出情報とを取得する取得手段と、
前記動き検出情報の検出に使用する画像のフレームレートの値を決定する決定手段と、
前記振れの角速度および前記被写体の動き検出情報から、前記撮像装置に対する前記被写体の角速度を算出する算出手段と、
前記撮像素子により取得される画像の像ブレを補正する像ブレ補正手段と、
前記撮像素子により撮像された画像を縮小処理する縮小手段と、
前記算出手段により算出される前記被写体の角速度の情報を用いて、前記像ブレ補正手段の制御を行う制御手段と、を備え、
前記取得手段は、前記撮像素子により連続して撮像されて前記縮小手段により縮小処理された複数の画像データを用いて前記第２の検出手段が検出した前記被写体の動き検出情報を取得し、
前記決定手段は、前記フレームレートの値を決定する際、前記振れの角速度に対応するフレームレートの値が閾値よりも小さい場合に当該フレームレートの値への変更を行い、
前記縮小手段は、前記フレームレートの値が閾値以上であって、かつ前記算出手段によって前記被写体の角速度が算出されていない場合に前記撮像素子により撮像された画像を縮小処理し、
前記制御手段は、第１のモードにて前記像ブレ補正手段により像ブレ補正の制御を行い、第２のモードにて前記第１および第２の検出手段によりそれぞれ検出される情報から前記算出手段が算出した前記被写体の角速度の情報を取得し、前記像ブレ補正手段により、前記被写体の角速度と前記撮像装置の振れの角速度との差を小さくする制御を行う
ことを特徴とする撮像装置。
【請求項３】
撮像装置の振れの角速度と、撮像素子により連続して撮像された複数の画像データから検出される被写体の動き検出情報を取得する取得手段と、
前記動き検出情報の検出に使用する画像のフレームレートの値を決定する決定手段と、
前記振れの角速度および前記被写体の動き検出情報から、前記撮像装置に対する前記被写体の角速度を算出する算出手段と、
前記撮像素子により取得される画像の像ブレを補正する像ブレ補正手段と、
前記算出手段により算出される前記被写体の角速度の情報を用いて、前記像ブレ補正手段により、前記被写体の角速度と前記撮像装置の振れの角速度との差を小さくする制御を行う制御手段と、
前記撮像素子により取得される画像を表示する表示手段と、
前記表示手段に表示する前記画像を更新する表示更新手段と、を備え、
前記決定手段は、前記振れの角速度に対応する前記フレームレートの値を決定し、
前記取得手段は、前記決定手段により決定された前記フレームレートで撮像された複数の画像データから検出される前記被写体の動き検出情報を取得し、
前記表示更新手段は、前記決定手段により変更される前記フレームレートによらずに、前記画像の表示更新を一定値のフレームレートで行う
ことを特徴とする撮像装置。
【請求項４】
前記縮小手段は、前記振れの角速度が大きいほど画像の縮小率を大きくする
ことを特徴とする請求項２に記載の撮像装置。
【請求項５】
前記縮小手段は、前記振れの角速度が閾値よりも大きい場合に、前記振れの角速度に応じて前記画像の縮小率を変化させる
ことを特徴とする請求項４に記載の撮像装置。
【請求項６】
複数の光電変換素子を備える前記撮像素子にてライン単位で読み出しタイミングを異ならせることにより、第１のフレームレートの画像信号と第２のフレームレートの画像信号を出力する読み出し手段を備え、
前記決定手段は、前記振れの角速度に対応する前記第１のフレームレートの値を決定し、
前記表示更新手段は、前記第２のフレームレートを一定値とする
ことを特徴とする請求項３に記載の撮像装置。
【請求項７】
被写体の動き検出情報の検出に使用する画像のフレームレートの値を決定する決定工程と、
撮像装置の振れの角速度と、前記フレームレートで連続して撮像された複数の画像データから検出される被写体の動き検出情報を取得する取得工程と、
前記振れの角速度および前記被写体の動き検出情報から、前記撮像装置に対する前記被写体の角速度を算出する算出工程と、を有し、
前記決定工程では、前記フレームレートの値を決定する際、撮像光学系の焦点距離が大きいほど前記フレームレートの値を大きくし、
前記取得工程では、前記決定工程により決定された前記フレームレートで撮像された複数の画像データから検出される前記被写体の動き検出情報を取得する処理が行われる
ことを特徴とする画像処理装置の制御方法。
【請求項８】
像ブレ補正手段を制御して、撮像素子により取得される画像の像ブレを補正する撮像装置にて実行される制御方法であって、
第１の検出手段により検出される前記撮像装置の振れの角速度と、前記撮像素子により連続して撮像された複数の画像データから第２の検出手段により検出される被写体の動き検出情報とを取得する取得工程と、
前記動き検出情報の検出に使用する画像のフレームレートの値を決定する決定工程と、
前記振れの角速度および前記被写体の動き検出情報から、前記撮像装置に対する前記被写体の角速度を算出する算出工程と、
前記撮像素子により撮像された画像を縮小処理する縮小工程と、
前記算出工程で算出された前記被写体の角速度の情報を用いて、前記像ブレ補正手段の制御を行う制御工程と、を有し、
前記取得工程では、前記撮像素子により連続して撮像されて前記縮小工程により縮小処理された複数の画像データを用いて前記第２の検出手段が検出した前記被写体の動き検出情報が取得され、
前記決定工程では、前記フレームレートの値を決定する際、前記振れの角速度に対応するフレームレートの値が閾値よりも小さい場合に当該フレームレートの値への変更が行われ、
前記縮小工程では、前記フレームレートの値が閾値以上であって、かつ前記算出工程によって前記被写体の角速度が算出されていない場合に前記撮像素子により撮像された画像の縮小処理が行われ、
前記制御工程では、第１のモードにて前記像ブレ補正手段により像ブレ補正の制御が行われ、第２のモードにて前記第１および第２の検出手段によりそれぞれ検出される情報から前記算出工程で算出された前記被写体の角速度の情報を取得し、前記像ブレ補正手段により、前記被写体の角速度と前記撮像装置の振れの角速度との差を小さくする制御が行われる
ことを特徴とする撮像装置の制御方法。
【請求項９】
像ブレ補正手段を制御して、撮像素子により取得される画像の像ブレを補正する撮像装置にて実行される制御方法であって、
前記撮像装置の振れの角速度と、前記撮像素子により連続して撮像された複数の画像データから検出される被写体の動き検出情報を取得する取得工程と、
前記動き検出情報の検出に使用する画像のフレームレートの値を決定する決定工程と、
前記振れの角速度および前記被写体の動き検出情報から、前記撮像装置に対する前記被写体の角速度を算出する算出工程と、
前記撮像素子により取得される画像の像ブレを前記像ブレ補正手段により補正する像ブレ補正工程と、
前記算出工程により算出される前記被写体の角速度の情報を用いて、前記像ブレ補正手段により、前記被写体の角速度と前記撮像装置の振れの角速度との差を小さくする制御を行う制御工程と、
前記撮像素子により取得される画像を表示手段が表示する表示工程と、
前記表示手段に表示する前記画像を表示更新手段が更新する表示更新工程と、を有し、
前記決定工程では、前記振れの角速度に対応する前記フレームレートの値を決定する処理が行われ、
前記取得工程では、前記決定工程により決定された前記フレームレートで撮像された複数の画像データから検出される前記被写体の動き検出情報を取得する処理が行われ、
前記表示更新工程では、前記決定工程により変更される前記フレームレートによらずに、前記画像の表示更新を前記表示更新手段が一定値のフレームレートで行う
ことを特徴とする撮像装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像された画像に基づく被写体の移動量の検出性能を向上させるための技術に関する。
【背景技術】
【０００２】
流し撮りは、動体（被写体）を追いつつ通常よりも遅いシャッタ速度で撮影する方法である。流し撮りでは背景が流れ、被写体が静止している画像を取得できるので、スピード感あふれる写真を撮影できる。しかし長秒撮影が行われるため、露光期間中に被写体の速度とカメラの振れ速度とを合わせることが難しく、熟練を要する撮影技術のひとつである。
【０００３】
流し撮りを好適に行うための撮影補助技術として、被写体の速度とカメラの振れ速度との差分を検出し、差分に相当するズレ量を像ブレ補正機能で補正する方法がある。撮影直前にカメラ内の角速度センサは、被写体を追っているカメラのパンニングに対する角速度を検出し、撮像面上の主被写体の画像の移動量が検出される。検出されたパンニング角速度と像面上の被写体像の移動量から被写体の角速度を算出することができる。露光中には、算出された主被写体の角速度と、カメラ内の角速度センサ出力との差分量に従って振れ補正処理が実行される。主被写体とカメラのパンニング速度との差、および手ブレ量の補正によって、流し撮り対象である主被写体像のブレを抑制可能である。
【０００４】
前記方法で重要な事項は、被写体の角速度、すなわち、撮影者が狙っている被写体の画像を止めるために撮影者が被写体に合わせてカメラをパンニングするべき角速度を、より正確に求めることである。つまり、角速度に誤差が生じると、像ブレ補正機能による補正に誤差が発生し得る。誤差分がブレ残りとして画像に現れる可能性がある。主被写体の角速度を正確に求めるためには、像面上の移動量の検出が必要であり、現時点のフレームの画像と、次のフレームの画像とを比較することにより、動きベクトルが検出される。この場合、動きベクトルの検出の際に予め定めた探索範囲を超えてしまい、画像において分割領域（ブロック）毎に動きベクトルを正確に検出できないことが発生し得る。特許文献１では、探索範囲を実質的に広げるために画像を縮小し、探索範囲における画素数を低減して、実質的に探索範囲を広げることが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−６０６５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示された従来技術では、画像の縮小により、被写体の画像が不明瞭になってしまった場合等において、正確に被写体の移動量を検出できない可能性がある。流し撮りにおいて撮影チャンスが少ない場合、失敗の可能性をできる限り低くすることが望ましい。本発明の目的は、被写体の光学的な検出において、被写体の移動量の検出性能を向上させることである。
【課題を解決するための手段】
【０００７】
本発明の一実施形態に係る画像処理装置は、撮像装置の振れの角速度と、連続して撮像された複数の画像データから検出される被写体の動き検出情報を取得する取得手段と、前記動き検出情報の検出に使用する画像のフレームレートの値を決定する決定手段と、前記振れの角速度および前記被写体の動き検出情報から、前記撮像装置に対する前記被写体の角速度を算出する算出手段と、を備え、前記決定手段は、前記フレームレートの値を決定する際、撮像光学系の焦点距離が大きいほど前記フレームレートの値を大きくし、前記取得手段は、前記決定手段により決定された前記フレームレートで撮像された複数の画像データから検出される前記被写体の動き検出情報を取得する。
【発明の効果】
【０００８】
本発明の画像処理装置によれば、被写体の移動量の検出性能を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る撮像装置を例示する構成図である。
【図２】本発明の実施形態における流し撮り制御の構成図である。
【図３】本発明の実施形態におけるパンニング制御のフローチャートである。
【図４】パンニング判定を説明するための図である。
【図５】本発明の第１実施形態における流し撮り制御のフローチャートである。
【図６】第１実施形態におけるフレームレートの特性を例示するグラフである。
【図７】動きベクトルの算出タイミングと角速度センサ出力との関係を示す図である。
【図８】角速度センサ出力の取得タイミングの設定処理を説明するフローチャートである。
【図９】割り込み処理のフローチャートである。
【図１０】角速度データのサンプリングタイミングの説明図である。
【図１１】パンニング速度が大きい場合に流し撮り時の動きベクトルの検出領域と探索範囲を示す説明図である。
【図１２】パンニング速度が小さい場合に流し撮り時の動きベクトルの検出領域と探索範囲を示す説明図である。
【図１３】動きベクトル検出結果を像面上の移動距離に換算した場合のヒストグラムを例示する図である。
【図１４】本発明の第２実施形態における動きベクトル検出のフレームレートの決定処理を示すフローチャートである。
【図１５】第２実施形態におけるフレームレートの特性を例示するグラフである。
【図１６】本発明の第３実施形態における動きベクトル検出のフレームレートの決定処理を示すフローチャートである。
【図１７】第３実施形態におけるフレームレートの特性を例示するグラフである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明の各実施形態を説明する。各実施形態に共通する事項として、画像処理装置を適用した撮像装置の構成および動作を説明した上で、各実施形態について説明する。各実施形態では、一例としてレンズ装置を撮像装置本体部に装着可能なカメラを説明するが、本発明はレンズ部と撮像装置本体部が一体的に構成されたカメラや撮像部を有する情報処理装置等に適用可能である。
図１は、本発明の実施形態に係る撮像装置の構成例を示すブロック図である。撮像装置は、交換レンズ１００と、交換レンズ１００を装着可能なカメラ本体部１２０を備える。
交換レンズ１００は撮影レンズユニット１０１を備える。撮影レンズユニット１０１は、主撮像光学系１０２、焦点距離を変更可能なズームレンズ群１０３、像ブレ補正光学系を構成するシフトレンズ群１０４を有する。シフトレンズ群１０４は、手ブレ等による光軸に対する画像のブレを、光軸と垂直方向に移動することにより光学的に補正する可動光学部材である。ズームエンコーダ１０５はズームレンズ群１０３の位置を検出し、位置センサ１０６はシフトレンズ群１０４の位置を検出する。各レンズ群の位置検出信号は、レンズシステム制御用マイクロコンピュータ（以下、レンズ制御部という）１１３に送信される。
【００１１】
角速度センサ１１１は撮像装置の振れを検出し、角速度検出信号をアンプ１１２に出力する。アンプ１１２は、角速度センサ１１１の出力する角速度検出信号を増幅してレンズ制御部１１３に出力する。アンプ１１５は、位置センサ１０６の出力を増幅してレンズ制御部１１３に出力する。レンズ制御部１１３はシフトレンズ群１０４の位置検出信号をアンプ１１５から取得し、ドライバ１１４に制御信号を出力してシフトレンズ群１０４の駆動制御を行う。つまり、レンズ制御部１１３は像ブレ補正制御を行う像ブレ補正制御部１１７を有しており、シフトレンズ群１０４を駆動するドライバ１１４によりシフトレンズ群１０４を制御する。さらにレンズ制御部１１３は、流し撮りアシスト用の制御を行う流し撮り制御部１１８を有する。流し撮りアシストとは、シフトレンズ群１０４の移動によって、被写体の移動速度（角速度）と、カメラの振れの角速度（パンニング速度またはチルティング速度）との差を小さくすることでユーザの流し撮りを補助する機能である。
【００１２】
レンズ制御部１１３は、その他にもフォーカスレンズ制御、絞り制御、ズームレンズ制御等も行うが、図示の簡略化のため、それらの詳細な説明を省略する。また、像ブレ補正制御部１１７は、例えば横方向と縦方向といった、直交する２軸に関して振れ検出および像ブレ補正処理を行うが、これらの処理は方向の相異を除いて同様の構成で行われるため、１軸分のみについて説明する。
【００１３】
交換レンズ１００およびカメラ本体部１２０は、マウント接点部１１６および１６１により結合される。レンズ制御部１１３と、カメラ本体部１２０内のシステム制御用マイクロコンピュータ（以下、カメラ制御部という）１３２は、マウント接点部１１６および１６１を介して所定のタイミングでシリアル通信が可能である。
【００１４】
カメラ本体部１２０のシャッタ１２１は露光時間を制御する。撮像素子１２２は、撮影レンズユニット１０１を通過して結像された被写体の像を光電変換により電気信号として画像信号を取得する。撮像素子１２２はＣＭＯＳ（相補型金属酸化膜半導体）センサ等のイメージセンサである。アナログ信号処理回路１２３は、撮像素子１２２の出力を信号処理するＡＦＥ（アナログ・フロント・エンド）回路である。カメラ信号処理回路１２４はアナログ信号処理回路１２３の出力を取得し、後述の信号処理を行う。
【００１５】
タイミングジェネレータ（以下、ＴＧと記す）１２５は、カメラ信号処理回路１２４からの信号にしたがって、撮像素子１２２やアナログ信号処理回路１２３の動作タイミングを設定する。操作部１３１は電源スイッチ、レリーズスイッチ、流し撮りアシストモードへの設定の切り替えスイッチ等で構成される。操作部１３１はユーザ操作に応じた操作信号をカメラ制御部１３２に出力する。カメラ制御部１３２は、カメラ全体のシステムを制御する中枢部であり、ユーザ操作等に応じて各部の処理や動作を制御する。例えばカメラ制御部１３２はドライバ１３３に制御信号を出力し、シャッタ１２１を駆動するモータ１３４の駆動制御を行う。
【００１６】
また、撮影された映像等のデータを記録する記録媒体としてのメモリカード１７１が設けられている。ＲＡＭ（ランダム・アクセス・メモリ）１８１は画像データ等を記憶する記憶デバイスである。メモリカード１７１およびＲＡＭ１８１はカメラ信号処理回路１２４に接続されている。表示部１７２は、例えば液晶パネル（ＬＣＤ）を備える。表示部１７２はカメラ信号処理回路１２４から信号にしたがって、ユーザがカメラで撮影しようとしている被写体の画像のモニタ表示や、撮影した画像の表示等を行う。
【００１７】
カメラ信号処理回路１２４は、動きベクトル検出部１４１とリサイズ部１４２とフレームレート変更部１４３と表示更新部１４４を備える。またカメラ制御部１３２は、シャッタ制御部１５１、主被写体の角速度を算出する被写体角速度算出部１５２、流し撮り判定部１５３を備える。各部の詳細については後述する。
【００１８】
次に、図１の撮像装置の動作について概要を説明する。
ユーザが操作部１３１により、撮像装置の電源投入操作（ＯＮ操作）を行うと、その状態変化をカメラ制御部１３２が検出する。カメラ制御部１３２はカメラ本体部１２０の各回路への電源供給および初期設定を行う。またマウント接点部１１６および１６１を介して、カメラ本体部１２０から交換レンズ１００への電源供給が行われる。レンズ制御部１１３は、交換レンズ１００内の初期設定を行う。そしてレンズ制御部１１３とカメラ制御部１３２との間で所定のタイミングで通信が開始する。カメラ制御部１３２とレンズ制御部１１３は情報を必要なタイミングで送受信する。情報とは、例えばカメラ制御部１３２からレンズ制御部１１３へ送信される、カメラの状態や撮影設定等の情報、またレンズ制御部１１３からカメラ制御部１３２へ送信される、レンズの焦点距離情報、角速度情報等である。
【００１９】
第１のモード（流し撮りアシストモードの設定が行われていない通常モード）において、交換レンズ１００内では、角速度センサ１１１が手ブレ等によるカメラの振れを検出する。角速度センサ１１１の出力はアンプ１１２を介してレンズ制御部１１３の像ブレ補正制御部１１７が取得する。像ブレ補正制御部１１７は、シフトレンズ群１０４を駆動して像ブレ補正動作の制御を行う。
【００２０】
一方、ユーザが操作部１３１を用いて、流し撮りアシストモード（第２のモード）を設定した場合、カメラ制御部１３２は、流し撮りアシスト用の制御に切り替える。カメラ制御部１３２は流し撮りアシスト用の制御への切り替え情報を、レンズ制御部１１３へ送信し、レンズ制御部１１３は流し撮りアシストモードに移行する。流し撮りアシストモードの設定中に、カメラ制御部１３２は所定のフレームレートで撮像された映像情報から被写体の動き検出情報を取得する処理を実行する。被写体の動き検出情報として、撮像された画像のデータから被写体領域の画像の移動量（動きベクトル）が検出される。つまりカメラ信号処理回路１２４内の動きベクトル検出部１４１は、現在のフレームの画像データと過去のフレームの画像データを比較し、被写体の動きベクトルを検出して出力する。同時にカメラ制御部１３２は、レンズ制御部１１３から、交換レンズ１００内の角速度センサ１１１が検出した角速度検出信号を受信する。さらには、カメラ信号処理回路１２４は映像情報に対して現像処理等を施した画像データをＲＡＭ１８１に一旦出力する。表示更新部１４４は同期信号に対応する更新間隔で、ＲＡＭ１８１上の画像データを読み込み、当該画像データを表示部１７２へ出力する。撮像された画像を表示部１７２の画面に逐次表示させるため、ライブビュー画像の表示更新処理が実行される。
【００２１】
流し撮りの最中に動きベクトル検出部１４１は被写体の動きベクトルを検出して出力する。この動きベクトルは２種類のベクトルである。第１のベクトルは、撮影者が撮影しようとしている被写体（主被写体ともいう）に対応したベクトルである。第２のベクトルは、流れている背景に対応したベクトルである。第２のベクトルは、カメラの角速度データ（角速度センサ１１１の検出情報）から換算した像面上の移動量とほぼ等しくなる。また第１のベクトルは、第２のベクトルに対して動き量が小さくなる。よって、第１および第２のベクトルを識別可能であり、主被写体の動きベクトル、つまり主被写体の像面上の移動量を特定できる。図１３（Ａ）を参照して具体的に説明する。
【００２２】
図１３（Ａ）は横軸に被写体の像面上の移動量をとり、縦軸に度数をとったヒストグラムを例示する。図１３（Ａ）では、背景と主被写体という２つの領域に分かれており、領域ごとに度数分布のピーク（度数ピーク）が現れている。カメラ角速度付近には背景領域に相当する像面上の移動量が集まっている。したがって、背景領域での度数ピークに相当する移動量は第２のベクトルの大きさにほぼ等しい。主被写体領域での度数ピークに相当する移動量は、第１のベクトルの大きさにほぼ等しい。このように主被写体の像面上の移動量を特定することが可能である。
【００２３】
カメラ制御部１３２がレンズ制御部１１３から受信したカメラ角速度データは、カメラの流し撮り速度に対応している。このため、受信したカメラ角速度データと、前記した主被写体の像面上の移動量および撮影レンズの現在の焦点距離から算出される角速度との差分を算出すると、その結果はカメラに対する主被写体の角速度データとなる。カメラ制御部１３２は、被写体角速度算出部１５２が算出した、カメラに対する主被写体の角速度データをレンズ制御部１１３に送信する。
【００２４】
カメラ制御部１３２の流し撮り判定部１５３は、レンズ制御部１１３から受信したカメラ角速度データを積分し、角度データを記憶部に保持する。また流し撮り判定部１５３は、所定のタイミングで記憶部に保持しておいた積分データ（角度データ）をリセットすることもできる。これにより、ユーザが流し撮りを行う際に、所定のタイミングを起点としたカメラの角度変化（流し撮り角度）を取得できる。図２を参照して、流し撮りアシストモード時における交換レンズ１００内のシフトレンズ駆動制御について説明する。
【００２５】
図２は、主に像ブレ補正制御部１１７および流し撮り制御部１１８に関する構成図である。図２にて図１の構成部に相当する部分には、既に使用した符号を付することで、それらの説明を割愛する。
まず、像ブレ補正制御部１１７の構成部（符号４０１〜４０７参照）の詳細を説明する。Ａ（アナログ）／Ｄ（デジタル）変換器４０１は、角速度センサ１１１が検出した振れ信号をアンプ１１２から取得してデジタル信号に変換する。角速度センサ１１１が出力するデータのサンプリングは、１〜１０ｋＨｚ程度の周波数帯域で行われる。Ａ／Ｄ変換器４０１の出力はフィルタ演算部４０２に送られる。
【００２６】
フィルタ演算部４０２はハイパスフィルタ（ＨＰＦ）等で構成され、角速度センサ１１１の出力に含まれているオフセット成分を除去し、カットオフ周波数を変更することでパンニング対策のための処理を行う。第１の積分器４０３はフィルタ演算部４０２の出力を取得し、シフトレンズ群１０４の駆動目標データを生成するために角速度データを積分して角変位データに変換する。第１の積分器４０３は角変位データを加算器４０４に出力する。角変位データは正入力として加算器４０４に入力される。
【００２７】
Ａ／Ｄ変換器４０６は、位置センサ１０６の出力をアンプ１１５から取得してデジタルデータに変換する。Ａ／Ｄ変換器４０６はデジタルデータ（位置検出データ）を加算器４０４に出力する。位置検出データは負入力として加算器４０４に入力される。加算器４０４は、第１の積分器４０３、Ａ／Ｄ変換器４０６、および流し撮り制御部１１８の各出力を加算する。なお、この場合の加算は負値の加算（減算）も含む。加算器４０４の加算結果はＰＷＭ（パルス幅変調）出力部４０５に出力される。例えば加算器４０４は、シフトレンズ群１０４の駆動目標値から現在のシフトレンズ群の位置を示す値を減算して、シフトレンズ群１０４の駆動量データを算出する。ＰＷＭ出力部４０５は、算出された駆動量データに応じたＰＷＭ信号を、シフトレンズ駆動用のドライバ１１４に出力する。
【００２８】
パンニング制御部４０７はＡ／Ｄ変換器４０１の出力を取得し、角速度データの状態からカメラのパンニング操作が行われたかどうかを判定する。判定の結果、パンニング操作が行われたことが判定された場合、パンニング制御部４０７はフィルタ演算部４０２のカットオフ周波数の変更制御、および第１の積分器４０３の出力の調整を行う。図３を参照して、パンニング制御について具体的に説明する。
【００２９】
図３は、レンズ制御部１１３の像ブレ補正制御部１１７により行われるパンニング制御の一例を示すフローチャートである。なお、以下ではパンニング制御を例示して説明するが、チルティング制御の場合にも同様の処理が行われる。
図３のＳ３０１でパンニング制御部４０７は、Ａ／Ｄ変換器４０１から取得した角速度データの平均値を所定値と比較する。角速度データの平均値は所定のサンプリング回数分の平均値であり、所定値（αと記す）は判定用の第１閾値である。角速度データの平均値が第１閾値よりも大きいか否かが判定される。角速度データの平均値が所定値α以下の場合、パンニング制御部４０７はパンニング操作が行われていないと判断してＳ３０７に移行する。また、角速度データの平均値が所定値αよりも大きい場合、Ｓ３０２に処理を進める。
【００３０】
Ｓ３０２でパンニング制御部４０７は、角速度データの平均値を所定値（βと記す）と比較する。所定値βは判定用の第２閾値であり、角速度データの平均値が第２閾値より大きいか否かの判定が行われる。判定の結果、角速度データの平均値が所定値β以下である場合、パンニング制御部４０７はゆっくりとしたパンニング操作が行われていると判断し、Ｓ３０６に移行する。また、角速度データの平均値が所定値βよりも大きい場合にパンニング制御部４０７は、速いパンニング操作が行われていると判断し、Ｓ３０３に処理を進める。
【００３１】
Ｓ３０３でパンニング制御部４０７は、フィルタ演算部４０２内にあるＨＰＦのカットオフ周波数を最大値に設定し、次のＳ３０４で像ブレ補正制御を強制的にＯＦＦに設定する。この設定は、ＨＰＦのカットオフ周波数を高くすることでシフトレンズ群１０４が徐々に停止するようにし、像ブレ補正制御をＯＦＦしたときの画像の違和感をなくすために行われる。また、速いパンニング操作の時には、手ブレの大きさに対してパンニングによる移動量が非常に大きくなる。このため、像ブレ補正制御をＯＦＦに設定することで手ブレが仮に残ったとしても違和感はない。このような設定を行わず、パンニング操作によるカメラの振れを大きなブレとして補正しようとすると、パンニング開始時には撮影画像が停止するが、その後に画像が大きく動く可能性がある。つまりシフトレンズ群１０４が補正端（制御範囲の限界位置に相当）に到達した瞬間に突然、画像が大きく動くため、非常に不自然な動きとして見えてしまうことが懸念される。本実施形態ではＳ３０４の設定により、違和感の少ない画像をユーザに提示することができる。
【００３２】
その後、Ｓ３０５でパンニング制御部４０７は、第１の積分器４０３の出力を現在のデータから徐々に初期位置のデータに変更する処理を行い、シフトレンズ群１０４を初期位置に移動させる。その理由は、次回に像ブレ補正動作を再開させる場合に、シフトレンズ群１０４の位置が駆動範囲の初期位置にあることが望ましいからである。
【００３３】
Ｓ３０２からＳ３０６へ移行した場合、Ｓ３０６でパンニング制御部４０７は角速度データの大きさに応じてフィルタ演算部４０２内にあるＨＰＦのカットオフ周波数を設定する。これは、ゆっくりとしたパンニング操作が行われている場合には手ブレの影響を無視することができないためである。Ｓ３０６の処理は、パンニング時の画像の追従性を不自然にならない程度に維持しつつ、像ブレ補正を行うために必要な処理である。
【００３４】
Ｓ３０１からＳ３０７へ移行した場合、Ｓ３０７でパンニング制御部４０７はフィルタ演算部４０２内にあるＨＰＦのカットオフ周波数を通常値に設定する。通常値はデフォルト値として予め設定されている値である。Ｓ３０６またはＳ３０７の後、Ｓ３０８にてパンニング制御部４０７は像ブレ補正制御の強制的なＯＦＦ設定を解除する。Ｓ３０５またはＳ３０８の後にパンニング制御が終了する。
【００３５】
図４を参照して、角速度データと所定値αおよびβの関係を説明する。図４の横軸は時間軸であり、縦軸はパンニング時の横方向の角速度データを表している。所定値α、βの絶対値は、｜β｜＞｜α｜の関係を満たすものとする。グラフ線Ｇ４０１は、角速度データのサンプリング結果をプロットしたものである。この例では、カメラを右方向にパンニングした場合に、角速度データとしてプラス方向の出力が得られ、左方向にパンニングした場合に、角速度データとしてマイナス方向の出力が得られる。グラフ線Ｇ４０１の時間的変化から分かるように、右方向への急激なパンニングと、左右方向のゆっくりとしたパンニングが検出されている。
【００３６】
図４にて、パンニング操作中には角速度データが初期値（ここでは０）から大きく外れる。この角速度データを積分してそのままシフトレンズ群１０４の駆動目標値を算出した場合、ＤＣ（直流）的なオフセット成分により、積分出力が非常に大きな値となり、制御不能状態に陥る可能性がある。これは急激なパンニングの場合、特に顕著になる。そこで本実施形態では、パンニングが検出された場合にはフィルタ演算部４０２内にあるＨＰＦのカットオフ周波数を相対的に高く変更する処理が行われることにより、ＤＣ成分がカットされる。急激なパンニングの場合には、さらにＨＰＦのカットオフ周波数を上げることで、積分出力が増大しないように設定される。なお、パンニング速度が大きい場合には、パンニングによる画像の動きが手ブレに対して非常に大きくなるため、パンニング方向に関して像ブレ補正機能をＯＦＦにしても特に違和感は発生しない。
以上のパンニング制御が行われることで、パンニング中でも違和感のない画像をモニタ表示することが可能となる。
【００３７】
次に図２を参照して、流し撮り制御部１１８の構成部（符号６０１〜６０６参照）の詳細について説明する。カメラ情報取得部６０１は通信制御部６１０から流し撮りアシストモードの設定情報、レリーズ情報等を取得する。カメラ角速度データ出力部６０２はカメラ制御部１３２に送信するために、所定のタイミングでＡ／Ｄ変換器４０１からカメラ角速度データをサンプリングする。
【００３８】
被写体角速度取得部６０３は、通信によって得られたカメラ情報から流し撮りアシストに必要な主被写体の角速度データを取得する。加算器６０４は、Ａ／Ｄ変換器４０１からのカメラ角速度データを正入力とし、被写体角速度取得部６０３からの被写体の被写体角速度データを負入力として、両者の差分を算出する。第２の積分器６０５は加算器６０４の出力を取得して所定期間のみ積分動作を行う。設定変更部６０６はカメラ情報取得部６０１が取得したモード情報に応じて設定を変更する。通信制御部６１０はカメラ制御部１３２との双方向通信を行うためにレンズ制御部１１３内に設けられ、受信情報をカメラ情報取得部６０１、被写体角速度取得部６０３に出力する。
【００３９】
カメラ本体部に設けられたスイッチの操作により流し撮りアシストモードが設定された場合、通信制御部６１０の受信情報はカメラ情報取得部６０１が読み込んで設定変更部６０６に通知する。設定変更部６０６は通知されたモード情報に従い、パンニング制御部４０７の設定変更を行う。ここで行われる設定変更は、急激なパンニング状態に移行しやすくする変更である。具体的には、前述のパンニング判定用の所定値αおよびβが変更される。
【００４０】
また被写体角速度取得部６０３は、カメラ制御部１３２からレンズ制御部１１３へ送信される主被写体の角速度データを読み込む。加算器６０４は角速度センサ１１１により検出されたカメラ角速度データと、主被写体の角速度データとの差分を計算し、第２の積分器６０５に出力する。第２の積分器６０５は、カメラ情報取得部６０１により取得された露光期間中を示す信号にしたがって積分動作を開始し、その他の期間にはシフトレンズ群１０４の位置が所定位置、例えば制御範囲の中央位置となる値を出力する。ここで、露光期間以外においてシフトレンズ群１０４を制御範囲の中央位置に配置しようとした場合、露光期間終了時には現在位置から中央位置までシフトレンズ群１０４が急峻に移動することになる。しかし、露光期間が終了した直後は撮像素子１２２からの信号読み出しのため、表示部１７２上では画像が消失している期間である。よって、シフトレンズ群１０４の急峻な移動による画像の動きは問題とはならない。
【００４１】
第２の積分器６０５の出力は加算器４０４に送られ、加算器４０４は正入力である第１の積分器４０３および第２の積分器６０５の各出力の加算、および負入力であるＡ／Ｄ変換器４０６の出力の減算を行う。これにより、シフトレンズ群１０４の駆動量が算出される。
【００４２】
流し撮りアシストモードが設定されている状態で撮影者が流し撮りを行うと、交換レンズ１００内ではパンニング制御部４０７が直ちに反応して、急なパンニング状態に対するパンニング制御が行われ、像ブレ補正動作が禁止される。つまりシフトレンズ群１０４は、カメラのパンニング時のカメラ角速度と被写体角速度との差分に対応した量を補正することになる。よって、流し撮りの失敗の原因となる、露光期間中のカメラのパンニング速度と被写体の速度との差分がシフトレンズ群１０４の動作で相殺される。その結果として流し撮りを成功させることができる。以下に、主被写体の移動速度と撮像装置のパンニング速度との関係で主被写体の特定が容易でない状況においても、主被写体の移動量を検出可能とする撮像装置の実施形態を説明する。
【００４３】
[第１実施形態]
以下、図５を参照して、本発明の第１実施形態を説明する。図５は本実施形態に係る撮像装置における流し撮りアシストモード時の撮影シーケンスを説明するフローチャートである。以下の処理はカメラ制御部１３２の中央演算処理装置（ＣＰＵ）がメモリからプログラムを読み出して実行することにより実現される。
【００４４】
図５のＳ５０１でカメラ制御部１３２は、レリーズスイッチが半押し操作されたかどうかを判定する。レリーズスイッチが半押し操作されたことが判定された場合、Ｓ５０２へ進み、半押し操作されていないと判定された場合にはＳ５０３に移行する。Ｓ５０２でカメラ制御部１３２は、時間計測カウンタのインクリメントを行う。またＳ５０３では時間計測カウンタのリセットが行われ、Ｓ５０１に戻る。
【００４５】
Ｓ５０３の次に、Ｓ５０４でカメラ制御部１３２は、主被写体の角速度がすでに算出されているかどうかを判定する。主被写体の角速度が算出されている場合、Ｓ５０５に進み、主被写体の角速度が算出されていない場合にはＳ５０６に移行する。Ｓ５０５でカメラ制御部１３２は時間計測カウンタを所定時間（Ｔと記す）と比較する。つまりカメラ制御部１３２は所定時間Ｔが経過したかどうかを確認し、所定時間Ｔが経過している場合、Ｓ５０６に進む。所定時間Ｔが経過していない場合にはＳ５０９に移行する。
【００４６】
Ｓ５０６でカメラ制御部１３２は主被写体の角速度を算出する。Ｓ５０４で主被写体の角速度が算出済みであっても、Ｓ５０６で主被写体の角速度がさらに算出される。主被写体の角度を算出し直す処理は、時間経過と共に主被写体の速度が変化する場合を考慮しての処置である。Ｓ５０６で算出される主被写体の角速度については、算出のたびにカメラ制御部１３２がレンズ制御部１１３へ送信する。Ｓ５０７では、被写体角速度の算出に用いる動きベクトルを検出するためのフレームレートを決定する処理が実行される。この処理では、カメラ制御部１３２がフレームレート変更部１４３を通してＴＧ１２５を制御し、撮像素子１２２から画像データを取得する際のフレームレートを変更する。そして、Ｓ５０８で流し撮り制御部１１８は、Ｓ５０７で決定されたフレームレートに基づく角速度のサンプリングタイミングを、カメラ角速度データ出力部６０２に設定する。そしてＳ５０９へ処理を進める。
【００４７】
Ｓ５０９でカメラ制御部１３２は、レリーズスイッチが全押し操作されたかどうかを判定する。レリーズスイッチが全押し操作されたと判定された場合、Ｓ５１０に進み、レリーズスイッチが全押し操作されていないと判定された場合にはＳ５０１へ戻る。Ｓ５１０でカメラ制御部１３２は、現在のカメラ設定の状態で撮影動作の制御を行う。次にＳ５１１でカメラ制御部１３２は、レリーズスイッチが全押し操作されたかどうかを判定する。レリーズスイッチが全押し操作されていることが判定された場合、Ｓ５１０へ戻り次の撮影を開始する。またＳ５１１でレリーズスイッチが全押し操作されていないと判定された場合にはＳ５０１へ戻る。
【００４８】
図６を参照して図５のＳ５０７で実行される動きベクトルを検出するためのフレームレートの決定処理について説明する。図６はフレームレートを段階的に制御する例を示す。
図６（Ａ）は、動きベクトル検出のフレームレートを決定する際の特性を示したグラフである。横軸はカメラ角速度（単位：degree/sec）を示し、縦軸はフレームレート（単位：ｆｐｓ）を示している。カメラ角速度Ａ，Ｂは閾値を表し、フレームレートｆ１，ｆ２，ｆ３の比を「ｆ１：ｆ２：ｆ３＝１：２：４」とする。カメラ角速度が大きくなるほど、つまりカメラが素早くパンニング操作されるほど、フレームレートの値が大きくなる。カメラ角速度が大きい場合、つまりパンニング速度が大きい場合には、撮影者が動きの速い被写体を流し撮りしようとしていると判断され、フレームレートの値が大きく設定される。その結果、主被写体の動きベクトルの検出が高頻度で行われる。ここで、図１１を参照して本実施形態を適用することによる効果について説明する。図１１（Ａ）は適用前の説明図であり、図１１（Ｂ）は適用後の説明図である。図１１にてＡ１，Ａ２，Ａ３を付して示す矢印はパンニング方向を表している。
【００４９】
図１１（Ａ）にて、矢印Ａ１方向へのパンニング操作が行われた場合において、フレーム７００の画像と、その次のフレーム７１０の画像を例示する。フレーム７１０は、フレーム７００に対し、１フレームに相当する時間が経過した後のフレームとする。フレーム７１０内の矩形範囲は探索範囲７１１を表している。フレーム７００とフレーム７１０との間で動きベクトルが算出される。この場合、動きベクトル検出の対象領域を背景画像部分７０２および主被写体画像部分７０３とする。フレーム７００よりも後のフレーム７１０上では、各画像部分が背景画像部分７１２、主被写体画像部分７１３へ移動している。像面上の移動距離が大きいと、対象領域の画像部分７１３が探索範囲７１１からはみ出してしまうため、正しく検出できなくなる可能性がある。
【００５０】
一方、図１１（Ｂ）では、カメラ角速度が大きい場合に、フレームレートが大きい値に設定される。その結果、フレーム７００と７１０との中間にフレーム７２０が位置する。フレーム７２０での動きベクトル検出の対象領域を背景画像部分７２２および主被写体画像部分７２３とする。つまり、フレーム７００の次のフレームがフレーム７２０であり、その次のフレームがフレーム７１０となる。矢印Ａ２およびＡ３で示すように、図１１（Ａ）に示す矢印Ａ１のパンニングの期間は、第１の期間（フレーム７００と７２０の区間）と第２の期間（フレーム７２０と７１０の区間）に分けられる。これにより、像面上の移動距離が実質的に短くなるため、対象領域の画像部分７１３が探索範囲７１１に収まり、パンニング操作の期間中に主被写体の移動ベクトルを検出することが可能となる。
【００５１】
逆に、カメラ角速度が小さい場合、つまりユーザがカメラをゆっくりパンニング操作した場合には、フレームレートが小さい値に設定される。この場合、パンニング速度が遅いということは、ユーザが動きの遅い被写体を流し撮りしようとしているので、主被写体と背景の像面上の移動量に差がつきにくくなる。図１２を参照して具体的に説明する。
【００５２】
図１２（Ａ）では、矢印Ｂ１で示すパンニングの期間がフレーム８０１とフレーム８１０の区間に相当し、矢印Ｂ２で示すパンニングの期間がフレーム８１０とフレーム８２０の区間に相当する。それぞれの期間において動きベクトルが検出される。各フレーム８０１，８１０，８２０での動きベクトル検出の対象領域を、背景画像部分８０３，８１３，８２３でそれぞれ示す。動きベクトルの検出結果を、像面上の移動量に換算した後でヒストグラムした図が図１３（Ｂ）である。上述の通り、流し撮りの際には主被写体の動きベクトルは背景の動きベクトルに対して小さくなるはずである。しかし、ゆっくりした流し撮りの場合には背景の動きベクトルも小さくなり、背景と主被写体の、像面上の移動量が、カメラ角速度の近辺に集まってしまう。背景と主被写体の識別が困難となるため、主被写体を特定することが難しくなる。
【００５３】
そこで、図６（Ａ）に示すようにカメラ角速度が小さい場合にはフレームレートが小さい値に設定される。動きベクトルの検出間隔を広げることで、図１２（Ｂ）に矢印Ｂ３で示すパンニングの期間がフレーム８０１と８２０の区間に相当する。動きベクトル検出の対象領域の画像部分は、各フレームの画像部分８０３と８２３のようになるため、背景の動きベクトルが大きくなる。被写体間に移動量に差をつけることで、主被写体の動きベクトルを特定することが可能となる。なお、図６（Ａ）では、カメラ角速度Ａ、Ｂを閾値としてフレームレートを段階的に変更する場合の特性を例示しているが、これは一例である。カメラ角速度に応じてフレームレートを連続的に変化させ、カメラ角速度が大きくなるほどフレームレートが高くなる特性であれば如何なる特性でもよい。
【００５４】
また、図１１（Ａ）のようにフレーム間で移動量が大きく、対象領域の画像部分が探索範囲を逸脱しやすい状況として、撮像光学系の焦点距離が長い場合がある。この場合には、像面上に被写体が大きく写る分、カメラ角速度が小さくても像面上の移動距離が大きくなるので、対象領域の画像部分が探索範囲を外れやすくなる。そこで、図６（Ｂ）のように焦点距離に応じてフレームレートの値が変更される。図６（Ｂ）の横軸は焦点距離（単位：ｍｍ）を表し、縦軸はフレームレート（単位：ｆｐｓ）を表す。ｆ１からｆ３については図６（Ａ）と同じである。図６（Ｂ）は焦点距離Ａ、Ｂを閾値としてフレームレートを段階的に変更する場合の特性を一例として示す。なお、焦点距離が大きくなるほどフレームレートが高くなる特性であれば如何なる特性でもよい。
【００５５】
次に図７を参照し、動きベクトル検出のフレームレートに対して適切な角速度データを取得する方法について説明する。図７（Ａ）および（Ｂ）は、流し撮り中に、主被写体の角速度変化に対するカメラのパンニング中のカメラ角速度変化（角速度センサ出力変化）と、検出される動きベクトルを示した図である。図７の横軸は時間軸であり、縦軸はパンニング方向の符号をプラスとした場合の角速度の大きさを示している。
【００５６】
図７（Ａ）は、時刻０からｔ０，ｔ１，ｔ２に亘る約４秒間にユーザが被写体を追ってカメラをパンニング操作している状況を例示する。主被写体の角速度を破線で表し、パンニングによるカメラ角速度の変化を実線で表している。図７（Ａ）にて実線のグラフと破線のグラフとの差分は、主被写体の角速度に対してカメラのパンニング速度がずれている部分に相当する。この部分の期間で撮影が行われた場合、主被写体にブレが発生した画像として撮影されることになる。
【００５７】
図７（Ｂ）は、図７（Ａ）に矢印Ａで示している円形枠内の部分を拡大した図であり、縦軸が角速度を示している。また、横軸である時間軸には、時刻ｔ１−γ、ｔ１、ｔ１＋γを示す。γは１フレームの時間に相当しており、ｔ１を中心として各フレームに相当する時刻を示す。図７（Ｂ）ではさらに、１フレーム間に検出される主被写体の動きベクトルから換算した主被写体の角速度変化（差分角速度）を、時刻ｔ１、ｔ１＋γにて矢印で表示している。
【００５８】
角速度センサ１１１の出力はＡ／Ｄ変換器４０１により、４ｋＨｚ程度でサンプリングされるため、１フレーム内でも滑らかに変化している。一方、動きベクトル情報は、基本的に１フレームの期間に１回検出されるため、角速度センサ１１１の情報に対して離散的なデータとなる。そのため、動きベクトルが検出されている期間中でも角速度データは変化する。角速度データのサンプリングのタイミングによっては、主被写体の角速度の算出結果に多少の誤差が生じることになる。つまり、角速度データを取得するタイミングを最適なタイミングにすれば、主被写体の角速度検出の精度が向上する。ここで、図７（Ｂ）のパンニングによる角速度変化に着目する。パンニング時の動きは基本的に一方向であり、カメラ角速度データの変化の周波数としては非常に低くなる。そのため、フレーム時間単位で角速度データの変化を見ると、ほぼ線形とみなすことができる。つまり、蓄積期間とその次の蓄積期間との中心に相当するタイミングで角速度データを取得できれば、そのデータが動きベクトル検出タイミングと最も合っていることとなる。例えば図７（Ｂ）では、時刻ｔ１＋γでの主被写体の角速度検出タイミングに最も適したカメラ角速度データは、時刻ｔ１と時刻ｔ１＋γとの中間の時刻で取得したデータである。すなわち、これは矢印Ｂで示すように、×印の時点に対応する時刻ｔ１＋γ÷２のタイミングで取得したデータである。より正確には、第ｎフレーム目の蓄積期間の中心に相当する時刻から、第ｎ＋１フレーム目の蓄積期間の中心に相当する時刻までの期間の丁度真ん中に相当する時刻が最適な検出時点となる。本実施形態では、同期信号が発生した時刻から、角速度データが必要となる時刻を、タイマ割り込み等でＣＰＵに通知することで、必要なデータを最適なタイミングで取得できる。
【００５９】
次に図８、図９を参照して、動きベクトル検出のフレームレートに対して適切な角速度データを取得する制御について説明する。
図８は、図５のＳ５０８における角速度データの取得タイミング設定処理について詳細に示したフローチャートであり、カメラ角速度データ出力部６０２にて処理が行われる。図８のＳ８０１では、タイマのスタートフラグの状態について、角速度データの取得用タイマが計時動作中かどうかについて判定される。タイマが計時動作中でない場合、Ｓ８０３に進み、タイマが計時動作中である場合、Ｓ８０２に進む。
【００６０】
Ｓ８０３でカメラ角速度データ出力部６０２は、カメラ情報取得部６０１から現在のフレームレートとシャッタ速度の情報を取得する。Ｓ８０４にて当該情報に基づき、同期信号から角速度データの取得タイミングまでの時刻（蓄積期間の中心位置に相当する時刻）が算出される。Ｓ８０５において、Ｓ８０４で設定したタイミングでデータが取得できるようにタイマ割り込みのレジスタ設定が行われる。Ｓ８０６でタイマのスタートフラグがセットされる。スタートフラグの設定によりタイマが計時動作を開始し、設定時間の経過後にタイマ割り込みが発生する。タイマの計時動作の開始は、割り込み処理の中で実行される。
【００６１】
Ｓ８０１でタイマが計時動作中である場合、Ｓ８０２へと進み、カメラの設定変更があったか否かについて判定される。ここでは、図５のＳ５０７の結果、フレームレートが変化したかどうか等の確認が行われる。カメラの設定変更があった場合、つまり、フレームレートの変更等、角速度データの取得時間の算出に変更が発生する場合にはＳ８０３へと進む。また、Ｓ８０２でカメラ設定が変更されていない場合には、必要なタイミングで角速度データを取得する設定がなされているため、処理を終了する。
【００６２】
図９は、レンズ制御部１１３内で実行される割り込み処理を示したフローチャートである。レンズ制御部１１３内の割り込み要因としては様々なものがあるが、図９では角速度センサ出力のサンプリングのタイミング決定に対して必要な処理だけを示す。図９にて割り込み処理が開始すると、Ｓ９０１で同期信号による割り込みの発生かどうかが判定される。同期信号による割り込みの場合、Ｓ９０２に進み、同期信号以外による割り込みの場合、Ｓ９０４に移行する。
【００６３】
Ｓ９０２では、タイマのスタートフラグがセットされているかどうかについて判定される。タイマのスタートフラグは、流し撮りアシストモード中にセットされる。スタートフラグがセットされていなければ、何もせずに処理を終える。またスタートフラグがセットされている場合には、Ｓ９０３に進み、同期信号と同じタイミングで、図８のＳ８０５で設定された値に基づきタイマのリセットおよびスタートが行われる。Ｓ９０４では、タイマ割り込みが発生したかどうかについて判定される。タイマ割り込みが発生した場合、この時点で角速度データの取得に最適なタイミングであることを示しているため、Ｓ９０５に処理を進める。タイマ割り込みの発生でない場合にはＳ９０７に移行する。
【００６４】
Ｓ９０５で角速度データの取得処理が行われ、次のＳ９０６でタイマが停止する。また、Ｓ９０４からＳ９０７へ移行する場合、タイマ割り込みではなく、その他の要因による割り込みであるため、Ｓ９０７で要因ごとの割り込み処理がそれぞれ行われる。Ｓ９０６またはＳ９０７の処理後、割り込み処理を終える。尚、Ｓ９０５で取得される角速度データには手ブレ成分も含まれているが、パンニング期間中には、パンニングにより発生する角速度センサ出力に対して、手ブレによる角速度センサ出力の変動は十分に小さいので、無視しても構わない。
【００６５】
次に、図１０を参照して、本実施形態における像面上の移動量検出タイミングと、角速度センサ検出タイミングを説明する。図１０には、同期信号１００１、蓄積時間１００２、角速度センサ出力のサンプリング周期１００３を例示する。図１０の例では、現在のカメラ角速度での動きベクトル検出のフレームレートを３０ｆｐｓとし、シャッタ速度を１／５０ｓｅｃとしている。同期信号１００１の周期はフレームレートの逆数に相当する。蓄積時間１００２は、撮像素子としてＣＭＯＳセンサを使用した場合のフレームレート毎の蓄積時間を示している。またサンプリング周期１００３は、角速度センサ１１１の出力信号に対するＡ／Ｄ変換器４０１でのサンプリング周期を示している。矢印１００４で示すように、主被写体の角速度を求めるための角速度データの取得タイミングは、蓄積期間の中心位置と、次の蓄積期間の中心位置との丁度中間の位置（中心位置）となる。
【００６６】
本実施形態によれば、カメラ角速度データの取得結果に応じて、動きベクトルを検出する際のフレームレートを変更することで、カメラのパンニング速度と被写体の移動速度に差があっても、主被写体の移動ベクトルを求めることが可能となる。カメラの振れの角速度に応じて動きベクトル検出のフレームレートが変更されることで、動きベクトルの検出頻度が可変制御される。よって、被写体の移動量の検出性能が向上し、流し撮りの成功確率を高めることができる。
【００６７】
［第２実施形態］
以下、図１４および図１５を参照して、本発明の第２実施形態を説明する。本実施形態ではフレームレートの変更処理に加えて、動きベクトル検出に用いる画像のリサイズ処理について説明する。尚、本実施形態において第１実施形態の場合と同様の構成要素については既に使用した符号を用いることにより、それらの説明を省略し、相違点を中心に説明する。このような説明の省略の仕方は後述の実施形態でも同じである。
【００６８】
図１４は、本実施形態における動きベクトル検出時のフレームレートの決定処理を説明するフローチャートであり、図５のＳ５０７の処理例を示す図である。
まず、Ｓ１４０１では、動きベクトル検出部１４１におけるフレームレートが所定の閾値（例えば最高値）に相当するフレームレートであるかどうかについて判定される。現在のフレームレートが閾値以上、すなわち最高値に相当する値である場合、Ｓ１４０２へ進み、そうでなければＳ１４０３へ進む。
【００６９】
Ｓ１４０２は、図５のＳ５０６で主被写体の角速度が算出されているか否かについて判断される。この判断処理では、例えば図１３のように像面上の移動量の度数分布を表したヒストグラムを用いて、カメラ角速度付近を除く箇所に、主被写体の角速度に相当する像面上の移動量の度数ピークが存在するかについて判断される。このような度数ピークが存在する場合、つまり主被写体を特定できている場合には、そのまま処理を終了し、主被写体を特定できていない場合（図１３（Ｃ）参照）、Ｓ１４０４へ進む。
【００７０】
Ｓ１４０４では、リサイズ処理を有効化する設定が行われる。これにより、撮像素子１２２から一定のフレームレートで取得される映像情報から、カメラ信号処理回路１２４内の動きベクトル検出部１４１が動きベクトルを検出する前に、映像情報に対して縮小処理が実行される。リサイズ部１４２は所定の縮小率に基づき、バイキュービック法等を用いて縮小処理を行う。尚、リサイズ処理については通常の設定では無効化された状態になっており、Ｓ１４０４の設定処理を実行することで初めて有効化されるものとする。Ｓ１４０３では、フレームレートが最高値ではないので、図６（Ａ）で説明した特性にしたがってフレームレートの変更処理が実行される。Ｓ１４０３またはＳ１４０４の後に処理を終える。
【００７１】
図１５を参照して、本実施形態における制御例を具体的に説明する。図１５（Ａ）は、カメラ角速度に対するフレームレートの特性を例示し、図６（Ａ）と同じである。また図１５（Ｂ）は、リサイズ部１４２により縮小率を変更する際の特性を表したグラフである。横軸はカメラ角速度（単位：degree/sec）を表し、縦軸は縮小率を表す。
【００７２】
図１５（Ａ）では、カメラ角速度が閾値Ａとなるところで、フレームレートがｆ２からｆ３に変更され、以降はカメラ角速度の増加に関わらずｆ３で一定となる例を示している。図１５（Ｂ）では、カメラ角速度が閾値Ａ未満である場合に縮小率がゼロである。カメラ角速度が閾値Ａ以上になると、縮小率が線形的に大きくなる（右上がりの直線参照）。
【００７３】
このように、カメラ角速度がある値（図１５では閾値Ａ）になるまでの間は、フレームレートの変更により、主被写体の動きベクトルが探索範囲に収まるように調整される。そして、カメラ角速度が閾値以上の値になった場合には、動きベクトル検出に用いる画像が縮小される。これにより実質的な探索範囲を広げ、動きベクトルの検出率を上げて、主被写体の移動量の検出性能を向上させることができる。
【００７４】
なお、図１５（Ａ）および（Ｂ）に示す特性は一例である。フレームレートと縮小率の組み合わせについては、フレームレートの変わらない期間にて縮小率が、カメラ角速度の増加につれて大きくなる特性を備えていればよい。例えば、図１５（Ｂ）において、カメラ角速度がＡからＢまでの区間でフレームレートが一定値ｆ２であり、ＢからＡにかけてカメラ角速度の増加につれて縮小率が大きくなる特性であってもよい。
【００７５】
また、本実施形態では、撮像素子１２２により取得した映像情報をリサイズ部１４２が縮小処理する場合を説明したが、撮像素子１２２にて縮小した状態で画像データを読み出してもよい。この場合には、図１５（Ｂ）の縮小率はリサイズ部１４２ではなく、撮像素子１２２から読み出される画像の縮小率を表す。
【００７６】
本実施形態によれば、カメラ角速度データの結果に応じて、動きベクトルを検出する際のフレームレートを変更することに加えて、動きベクトルの検出に用いる画像の縮小処理が実行される。よって、カメラのパンニング速度と主被写体の移動速度に乖離があったとしても、主被写体の動きベクトル検出率を上げて、流し撮りの成功確率をより高くすることができる。
【００７７】
［第３実施形態］
以下、図１６を参照して、本発明の第３実施形態を説明する。本実施形態では、動きベクトル検出のフレームレートを変更し、表示更新のフレームレートを一定にする制御について説明する。
【００７８】
図１６は、本実施形態における動きベクトル検出時のフレームレートの決定処理を説明するフローチャートであり、図５のＳ５０７の処理例を示す図である。
まず、Ｓ１６０１ではカメラ角速度に応じた動きベクトル検出のフレームレートが取得される。フレームレート変更部１４３は、図１７（Ｂ）に示す特性でフレームレートを変化させる。図１７（Ｂ）は図６（Ａ）と同じである。
【００７９】
図１７（Ａ）は、フレームレートがカメラ角速度によらない特性で表示更新が行われる場合を例示する。図１７（Ａ）に示す例では、表示更新フレームレートはｆ２である。カメラ角速度がＡのときの動きベクトル検出フレームレートは、図１７（Ｂ）からｆ３となる。
【００８０】
次に、Ｓ１６０２でカメラ信号処理回路１２４は、Ｓ１６０１で求めた動きベクトル検出フレームレートと、表示更新フレームレートを比較する。動きベクトル検出フレームレートの値が表示更新フレームレートの値以上である場合、Ｓ１６０３に進み、動きベクトル検出フレームレートの値が表示更新フレームレートの値未満である場合にはＳ１６０４に移行する。
【００８１】
Ｓ１６０３では、撮像素子１２２から画像データを読み出すフレームレート（撮像フレームレート）が、動きベクトル検出フレームレートに設定される。この設定処理は、フレームレート変更部１４３からＴＧ１２５に対して行われ、撮像素子１２２の読み出しフレームレートが制御される。次のＳ１６０５では表示更新部１４４にて、同期信号に対する更新間隔が設定される。つまり、図１７（Ａ）の特性にしたがって表示更新フレームレートが設定される。図１７の例の場合、カメラ角速度がＡであるときに動きベクトル検出フレームレートがｆ３であり、表示更新フレームレートがｆ２となっている。よって、図１６のＳ６０３では、撮像素子１２２より画像データを読み出すフレームレートはｆ３となる。このとき、表示更新フレームレートをｆ２にするためには、同期信号がフレームレートｆ３に相当する間隔で発生することから、同期信号に対して２回に１回の割合で表示更新部１４４が表示画像を更新する。そして一連の処理を終了する。
Ｓ１６０４では、Ｓ１６０１で取得された動きベクトル検出のフレームレートが設定された後、処理を終了する。
【００８２】
本実施形態の変形例に係る撮像素子１２２として、いわゆるマルチストリーム出力と呼ばれる、ライン単位で独立して読み出しタイミングを変更して、フレームレートの異なる画像を並列して出力可能なデバイスを使用することも可能である。この場合、撮像素子１２２はマトリクス状に配置された複数の光電変換素子を備え、所定の方向に沿った所定数のラインごとに読み出しタイミングを異ならせることにより、第１のフレームレートの画像信号と、第２のフレームレートの画像信号を出力する。第１および第２のフレームレートの各画像信号の読み出しは、カメラ信号処理回路１２４からの信号にしたがってＴＧ１２５が撮像素子１２２を制御することで行われる。フレームレート変更部１４３はカメラの振れの角速度に対応する第１のフレームレートの値を決定し、表示更新部１４４は、第２のフレームレートを一定値として設定する。つまり、表示部１７２の画面に表示する映像情報については、図１７（Ａ）に例示する表示更新フレームレートの特性にしたがって第２のフレームレートで撮像素子１２２から取得される。それとは独立して、動きベクトル検出用の映像情報については、図１７（Ｂ）に例示するフレームレートの特性にしたがって第１のフレームレートで撮像素子１２２から取得される。２つの独立したフレームレートによる動作の場合、フレームレート変更部１４３の指示に応じて、ＴＧ１２５がそれぞれの映像情報を取得するフレームレートを制御する。表示更新部１４４での表示更新間隔は同期信号に対して１／１の比率で設定される。
【００８３】
本実施形態によれば、カメラ角速度データの結果に応じて、動きベクトルを検出する際のフレームレートを変更することで、流し撮りの成功確率を高めることができる。また表示更新のフレームレートを一定にする制御が行われるので、動きベクトル検出に係るフレームレートの変更によって表示更新の頻度が変化してしまうことはない。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００８４】
１１１  角速度センサ
１２２  撮像素子
１４２  動きベクトル検出部
１４３  フレームレート変更部
１４４  表示更新部
６０２  カメラ角速度データ出力部
【図１】
0006598549.tif 000002
【図２】
0006598549.tif 000003
【図３】
0006598549.tif 000004
【図４】
0006598549.tif 000005
【図５】
0006598549.tif 000006
【図６】
0006598549.tif 000007
【図７】
0006598549.tif 000008
【図８】
0006598549.tif 000009
【図９】
0006598549.tif 000010
【図１０】
0006598549.tif 000011
【図１１】
0006598549.tif 000012
【図１２】
0006598549.tif 000013
【図１３】
0006598549.tif 000014
【図１４】
0006598549.tif 000015
【図１５】
0006598549.tif 000016
【図１６】
0006598549.tif 000017
【図１７】
0006598549.tif 000018