以下、本発明の各実施形態について添付図面を参照して詳細に説明する。本発明は、ビデオカメラ、デジタルスチルカメラや、それらの交換レンズ等の光学機器、撮像部を有する電子機器に適用可能である。
[第1実施形態]
図1を参照して、本発明の第1実施形態を説明する。図1(A)は本実施形態に係る像振れ補正装置を含む撮像装置の構成の概要を示す中央断面図である。図1(B)は撮像装置の電気的構成を示すブロック図である。本実施形態では交換レンズ式カメラの例を説明する。被写体側を前側と定義して各部の位置関係を説明する。
図1(A)に示す撮像装置1は、その本体部(以下、装置本体部という)にレンズユニット2を装着した状態で撮影が可能である。レンズユニット2は、複数のレンズからなる撮像光学系3を有し、光軸4は撮像光学系3の光軸を示す。レンズユニット2内の補正レンズユニット19は、ユーザの手振れ等による撮像画像の像振れを補正するための補正レンズを備える。装置本体部は内部に撮像素子6を備え、後部に背面表示装置10aを備える。電気接点14は装置本体部とレンズユニット2とを電気的に接続する。
図1(B)において、装置本体部はカメラシステム制御部(以下、カメラ制御部という)5を備え、レンズユニット2はレンズシステム制御部(以下、レンズ制御部という)15を備える。カメラ制御部5とレンズ制御部15は、電気接点14を介して相互に通信可能である。
まず、レンズユニット2内の構成を説明する。レンズ側操作部16は、ユーザが操作する操作部材を備え、ユーザの操作指示をレンズ制御部15に通知する。レンズ側振れ検出部(以下、振れ検出部という)17は角速度センサを備え、レンズユニット2の振れ量を検出し、振れ検出信号をレンズ制御部15に出力する。例えばジャイロセンサを用いて、撮像光学系3の光軸4に対する、ピッチ方向、ヨー方向、ロール方向の回転を検出することができる。
像振れ補正部18はレンズ制御部15からの制御指令にしたがって、補正レンズユニット19の駆動制御を行い、像振れを補正する。補正レンズユニット19は、光軸4に垂直な平面内でシフト駆動またはチルト駆動される補正レンズとその駆動機構部を備える。レンズ位置検出部20は補正レンズユニット19の位置検出を行い、位置検出信号をレンズ制御部15に出力する。焦点距離変更部22はレンズ制御部15からの制御指令にしたがってズームレンズの駆動制御を行い、撮像光学系3の焦点距離を変更する。
次に撮像装置1の装置本体部内の構成を説明する。撮像部を構成する撮像素子6は、撮像光学系3を通して結像される被写体の光像を光電変換して電気信号を出力する。被写界の物体光は、撮像光学系3を介して撮像素子6の撮像面に結像され、撮像素子6では焦点調節用の評価量や適切な露光量が得られる。撮像光学系3が調整されることで、適正光量の物体光を撮像素子6に露光することができ、撮像素子6の近傍にて被写体像が結像する。
画像処理部7は撮像素子6の出力信号を取得して画像処理を行い、画像データを記憶部8に記憶する処理を行う。画像処理部7は内部にA(アナログ)/D(デジタル)変換器、ホワイトバランス調整回路、ガンマ補正回路、補間演算回路等を有しており、記録用の画像データを生成する。画像処理部7は色補間処理部を備え、ベイヤ配列の信号から色補間(デモザイキング)処理を施してカラー画像データを生成する。また画像処理部7は、予め定められた圧縮方式で画像、動画、音声等のデータ圧縮を行う。画像処理部7は、撮像素子6により取得された複数の画像を比較し、動きベクトル検出を行うことで画像の動き量を取得する。つまり画像処理部7は、撮像画像に基づく動き量である動きベクトルを算出する動きベクトル算出部7aを備える。
カメラ制御部5は、装置本体部およびレンズユニット2からなるカメラシステムの制御を統括する。カメラ制御部5は画像処理部7と記憶部8の制御を行う。カメラ側操作部9は操作部材を備え、ユーザの操作指示をカメラ制御部5に通知する。表示部10は背面表示装置10a、装置本体部の上面に設けられた撮影情報を表示する不図示の小型表示パネル、EVF(電子ビューファインダ)等を備える。表示部10はカメラ制御部5からの制御指令にしたがって画像表示を行い、画像情報等をユーザに提示する。画像データの記録再生処理はカメラ制御部5の制御下で、画像処理部7と記憶部8を用いて実行される。例えば撮像画像データは記録媒体に記録され、または外部インタフェースを通じて外部装置に送信される。
カメラシステムの各構成部の制御は、カメラ制御部5およびレンズ制御部15によって行われ、ユーザ操作に応じて静止画撮影および動画撮影が可能である。カメラ制御部5およびレンズ制御部15はそれぞれCPU(中央演算処理装置)を備えており、所定のプログラムを実行することにより各構成部の動作制御や処理を行う。例えば、レンズ制御部15はカメラ制御部5と通信し、補正レンズユニット19の駆動制御や、不図示のフォーカスレンズの駆動による焦点調節制御、絞り制御、ズーム制御等を行う。
カメラ制御部5は撮像の際のタイミング信号等を生成して各構成部に出力し、ユーザ操作に応動して撮像処理、画像処理、記録再生処理をそれぞれ実行する。例えば、ユーザがカメラ側操作部9に含まれるシャッタレリーズ釦を操作した場合、カメラ制御部5はスイッチ信号を検出して撮像素子6、画像処理部7等を制御する。さらにカメラ制御部5は、表示部10が備える情報表示デバイスを制御する。また、背面表示装置10aは表示画面部にタッチパネルを備え、ユーザ操作を検出してカメラ制御部5に通知する。この場合、背面表示装置10aは操作機能と表示機能を兼ね備える。
次に、撮像光学系3の調整動作について説明する。画像処理部7は、撮像素子6の出力信号を取得し、カメラ側操作部9による撮影者の操作に基づいて、撮像光学系3の適切な焦点位置、絞り位置を求める。カメラ制御部5は、電気接点14を介してレンズ制御部15に制御指令を送信する。レンズ制御部15は、カメラ制御部5からの制御指令にしたがって、焦点距離変更部22、および不図示の絞り駆動部を適切に制御する。
像振れ補正モードが設定された場合、レンズ制御部15はカメラ制御部5から当該モードへの移行指令を受け付けると、像振れ補正の制御を開始する。レンズ制御部15は振れ検出部17から振れ検出信号を取得し、レンズ位置検出部20から位置検出信号を取得して像振れ補正部18の制御を行う。像振れ補正部18は、例えばマグネットと平板コイルを用いたアクチュエータにより、補正レンズユニット19を駆動する。レンズ位置検出部20は、例えばマグネットとホール素子を備える。具体的な制御方法としては、まずレンズ制御部15が振れ検出部17から振れ検出信号を取得し、像振れ補正を行うための補正レンズユニット19の駆動量を算出する。レンズ制御部15は算出した駆動量を、像振れ補正部18への指令値として出力して補正レンズユニット19を駆動する。レンズ位置検出部20による検出位置が指令値に追従するようにフィードバック制御が行われる。
図2は、レンズ制御部15における像振れ補正制御に関わる構成例を示すブロック図である。なお、像振れ補正軸としてピッチ方向、ヨー方向、ロール方向の各軸については同様の構成であるため、1軸についてのみ説明を行う。また加算器301、305、307、311、316が行う演算は、負値の加算(減算)を含むものとする。
図2にて振れ検出部17は、振れ検出信号を加算器301、帯域制限フィルタ303、ノイズ項算出部300に出力する。帯域制限フィルタ303により帯域制限された振れ信号は、オフセット推定部304と加算器305に出力される。オフセット推定部304による推定結果を示す信号は、加算器301と加算器305に出力される。加算器301の出力は積分フィルタ302によって積分されて補正レンズの駆動目標値が算出される。以下にレンズ制御部15における駆動目標値の算出処理と、ノイズ項算出部300およびオフセット推定部304について詳述する。
レンズ制御部15は、振れ検出部17から振れ検出信号を取得し、帯域制限フィルタ303により帯域制限した振れ信号を生成する。帯域制限フィルタ303の効果については、図3を用いて後述する。
オフセット推定部304は、帯域制限フィルタ303により帯域制限された振れ信号を取得し、振れ検出部17の角速度センサの出力のオフセット成分を推定する。加算器301は、振れ検出部17による振れ検出信号からオフセット推定値を減算する。積分フィルタ302は、加算器301の出力である、オフセット推定値が減算された振れの角速度信号を積分して、振れの角度信号を生成する。この信号を駆動目標値として像振れ補正部18が補正レンズユニット19を駆動することで像振れ補正動作が行われる。
一方、加算器305は、帯域制限フィルタ303により帯域制限された振れ信号から、オフセット推定部304によるオフセット推定値を減算する。ノイズ項算出部300内の積分フィルタ306は、加算器305の出力信号を積分することでノイズ算出用の振れ角度信号を生成する。
本実施形態では、ノイズ算出用の振れ角度信号に基づいて、オフセット推定部304のフィルタ特性を変更する処理が行われる。オフセット推定部304は、周波数特性が可変のフィルタを備え、帯域制限フィルタ303の出力信号からオフセット成分を推定する処理を行う。したがって、オフセット推定部304がオフセット成分を正確に推定できている場合、加算器305により算出される値は、オフセット成分のない振れ信号となる。この場合、積分フィルタ306により算出されるノイズ算出用の振れ角度信号は、基準値であるゼロを中心とする値となる。一方、オフセット推定部304がオフセット成分を正確に推定できてない場合、振れ検出信号におけるオフセット誤差の影響によって、積分フィルタ306が算出するノイズ算出用の振れ角度信号の値は、ゆっくりとドリフトした値となる。
低域遮断フィルタ313は、積分フィルタ306からノイズ算出用の振れ角度信号を取得し、低域成分を除去することで高周波成分を抽出する。低域遮断フィルタ313のカットオフ周波数については、振れ検出部17の出力に含まれるオフセット成分および低周波揺らぎ、ドリフト成分を含む周波数帯域を遮断するように設定される。こうすることで、振れ検出部17による振れ検出信号のうち、推定対象である低周波数のオフセット成分と、実際の揺れにより発生している高周波数の振れ成分とを分離することができる。
加算器307は、ノイズ算出用の振れ角度信号(積分フィルタ306の出力)から、低域遮断フィルタ313の出力する高周波成分を減算する。これにより、振れ角度信号の低周波成分が抽出される。つまり、ノイズ算出用の振れ角度信号を低周波成分と高周波成分に分離することができる。べき乗演算部309は加算器307の出力を取得し、ノイズ算出用の振れ角度信号の低周波成分を2乗演算して絶対値を算出する。ゲイン部310はべき乗演算部309の出力に対して所定のゲインを乗算する。これにより、主に低周波数の振れ検出信号のオフセット成分およびドリフト成分の大きさ、影響度を表す低周波振れ角度の評価値を算出することができる。以下、この評価値を、システムノイズ項と呼ぶ。
一方、べき乗演算部314は低域遮断フィルタ313の出力を取得し、ノイズ算出用の振れ角度信号の高周波成分を2乗演算して絶対値を算出する。ゲイン部315はべき乗演算部314に対して所定のゲインを乗算する。これにより、高周波数の振れ検出信号の大きさを表す高周波振れ角度の評価値を算出することができる。以下、この評価値を観測ノイズ項と呼ぶ。
オフセット推定部304によるオフセット推定値が正確でない場合には、積分後のノイズ算出用の振れ角度信号の低周波成分がドリフトして増加するので、システムノイズ項が大きくなっていく動作となる。
三脚状態検出部317は、撮像装置1の振れが小さい状態であることを検出する。例えば三脚状態検出部317は、振れ検出部17の検出信号、または画像処理部7の動きベクトル算出部7aにより算出された動きベクトルを用いて、撮像装置1の振れ量を検出する。この振れ量が、あらかじめ決められた所定の閾値よりも小さい状態が、所定の閾値時間以上に亘って継続した場合に、撮像装置が静定状態であると判断される。静定状態とは、撮像装置が三脚等に取り付けられて、振れが殆ど無い状態である。三脚状態検出部317は撮像装置が静定状態であると判断した場合に、その判断信号をカメラ状態ノイズ算出部318へ出力する。
カメラ状態ノイズ算出部318は、あらかじめ設定された所定値を三脚検出状態ノイズとして、加算器311に出力する。加算器311は、ゲイン部310の出力であるシステムノイズ項と、三脚検出状態ノイズとを加算する。
P/T検出部319は、撮影者によりパンニング等が行われていることを検出する。例えばP/T検出部319は、振れ検出部17の検出信号、または画像処理部7の動きベクトル算出部7aにより算出された動きベクトルを用いて、撮像装置1の振れ量を検出する。この振れ量が、あらかじめ決められた所定の閾値よりも大きい状態が所定の閾値時間以上に亘って継続した場合、撮影者がパンニングやチルティングによって構図変更等を行ったことが判断される。P/T検出部319は、パンニング等の状態であると判断した場合に、その判断信号をカメラ状態ノイズ算出部318へ出力する。
カメラ状態ノイズ算出部318は、あらかじめ設定された所定値を、P/T(パンニング/チルティング)検出状態ノイズとして、加算器316に出力する。加算器316は、ゲイン部315の出力である観測ノイズ項と、P/T検出状態ノイズとを加算する。ノイズ項算出部300は、オフセット推定部304に対し、加算器311、316がそれぞれ演算したノイズ項の信号を出力する。オフセット推定部304が行う推定処理の詳細については後述する。
本実施形態では、三脚状態検出およびパンニング等の検出において、振れ検出部17の検出信号と動きベクトルを併用する。振れ検出部17のみでは検出しづらい、ゆっくりとしたパンニング等の動きの変化に対し、画素レベルのマッチング比較で算出できるので、撮像装置の振れをより正確に検出することができる。
次に図3を参照して、帯域制限フィルタ303の効果について説明する。図3は横軸を周波数[Hz]の軸とし、縦軸を振れ角度の振幅[degree]の軸として例示したグラフである。実線で示すグラフ線G1は、振れ検出部17により検出された振れ角速度情報を積分した振れ角度の周波数スペクトル情報(周波数に対する振幅情報)の例を表している。
一般的に、撮影者の手振れ周波数は1Hz~10Hzの範囲に分布し、低周波の振れ角度が大きく、高周波になるほど振れ角度が小さくなることが知られている。特定の周波数帯域に大きな振れ成分があるかどうかは、撮影者や、撮影の状態(乗車中や乗船中の撮影、歩き撮り等)で異なるが、同じ撮影状況においては撮影者によらず、ある程度同じ周波数範囲に大きな振れ成分が存在することが多い。本実施形態の目的は、振れ検出部17により検出される振れ情報に対して、オフセット推定部304によってオフセット成分を正確に推定することである。大きく変動する振れ信号の中から正確にオフセット成分を推定することは難しく、オフセット成分を正確に推定する上では、振れ信号からできるだけオフセット成分以外の大きな振れ周波数成分を除去しておくことが望ましい。そこで、図3の実線G1で表される、振れの周波数スペクトル分布情報に基づいて、帯域制限フィルタ(具体的にはノッチフィルタ等を使用)により、スペクトル振幅の大きい周波数成分を低減させる処理が行われる。これにより、オフセット成分の推定精度を向上させることができる。
オフセット成分以外の高周波成分をローパスフィルタですべて減衰させる方法もある。しかし、この方法ではローパスフィルタ処理での位相遅れによって、オフセット推定部304のフィルタ特性を変更するための、ノイズ算出用振れ角度信号の位相ずれが発生する。そのため、できるだけ他の周波数帯域での位相ずれの影響が小さいノッチフィルタを使用することが好ましい。またノッチフィルタの目標周波数および減衰率については撮影状況に応じて変更してもよい。図3に点線で示すグラフ線G2は、0.1Hzから1Hzの周波数帯域に存在する手振れ周波数成分を、ノッチフィルタで低減させたときの手振れ周波数の分布特性を表している。
図4から図6のフローチャートを参照して、レンズ制御部15による駆動目標値の演算処理について説明する。S2以降の処理が一定の周期で繰り返し実行される。S1でレンズ制御部15は、所定周期での動作の開始を判断する。動作の開始が判断されるとS2に処理を進める。S2で振れ検出部17は振れを検出する。振れ検出部17は角速度センサ等を備え、像振れ補正用に振れ検出信号を出力する。
S3でレンズ制御部15は、画像処理部7内の動きベクトル算出部7aにより算出される動きベクトルの取得周期に対応する時点であるかどうかを判断する。現時点が取得周期に対応する時点であると判断された場合、S4の処理に進み、当該時点でないことが判断された場合にはS5の処理に進む。S4では動きベクトルが取得される。動きベクトル算出部7aは、出力される映像信号のフレーム画像間の振れを解析することで動きベクトルを検出する。そのため、S3における動きベクトルの取得周期は、フレームレート(例えば30Hzまたは60Hz等)に対応する周期となる。一方、フレームレートごとに画像処理部7で実行される動きベクトルの取得周期に対応する時点でない場合にはS5に進み、前回の周期に対応する時点で取得された動きベクトルが保持される。
S6でレンズ制御部15は、オフセット推定処理の実行周期に対応する時点であるかどうかを判定する。オフセット推定処理の実行周期は、S2の振れ検出信号の取得周期と合わせてもよいし、S3の動きベクトルの取得周期に合わせてもよい。あるいはそれ以外の周期で実行しても構わないが、ごく低周波のオフセット成分を推定するという目的に沿うように、長周期で実行することで、推定処理の演算負荷を低減可能である。S6にて、現時点がオフセット推定処理の実行周期に対応する時点であると判定された場合、S7へ進む。一方、現時点がオフセット推定処理の実行周期に対応する時点でないと判定された場合には図5のS33に進む。S33では前回のオフセット推定処理の実行周期に対応する時点で推定されたオフセット推定値が保持された後、S34の処理に進む。
S7でレンズ制御部15は特定の周波数の振れ成分を除去し、または減衰させるための帯域制限フィルタ303の周波数特性を設定する。この設定は撮影状態、撮影条件に応じた振れの周波数スペクトルデータに基づいて行われる。S8では、S7にて周波数特性が設定された帯域制限フィルタ303が、振れ検出部17による振れ検出信号から特定の周波数帯域の振れ成分を除去する。帯域制限フィルタ303の出力は、加算器305へ入力される。
S9で加算器305は、特定の周波数成分が除去された振れ信号から、前回の推定処理の実行時にオフセット推定部304が推定してS33にて保存しておいたオフセット推定値(記憶値)を減算する。
次にS10で積分フィルタ306は、加算器305で演算した振れ信号を積分することで振れ角度信号を算出する。積分フィルタ306の処理は、単純な数値積分処理であるが、ローパスフィルタで構成した疑似的な積分処理でも構わない。疑似的な積分処理とは、特定のカットオフ周波数以下の低周波成分を積分しない積分処理のことである。加算器305により振れ信号から減算したオフセット推定値が真のオフセット値から大きく離れている場合、積分後の振れ角度信号が大きくドリフトする。そのためシステムノイズ項または観測ノイズ項の算出値が演算上オーバーフローする可能性がある。よって、ドリフト量を低減するために疑似的な積分処理を行うことが好ましい。また後述するが、オフセット推定部304によるオフセット推定値は時間経過とともに真のオフセット値に近づくように推定される。そのため、オフセット推定値の推定が進むにつれて疑似積分のカットオフ周波数を低周波側へ変更する処理が行われる。
S11で低域遮断フィルタ(ハイパスフィルタ)313は、振れ角度信号から低域の周波数成分を除去し、高周波成分を抽出する。次のS12でべき乗演算部314は振れ角度信号の高周波成分を2乗演算する。S13でゲイン部315は、べき乗演算部314の出力に所定のゲインを乗算した信号を評価値とし、S14にて観測ノイズ項として保持する。
図5のS15で加算器307は、積分フィルタ306により算出された角度振れ信号から、低域遮断フィルタ313にて算出された振れ角度信号の高周波成を減算することで、振れ角度信号の低周波成分を算出する。S16でべき乗演算部309は、振れ角度信号の低周波成分を2乗演算する。S17でゲイン部310は、べき乗演算部309の出力に所定のゲインを積算した信号を評価値とし、S18にてシステムノイズ項として保持する。
図6のS19からS29の処理は、図4のS6から図5のS18の処理に対して並行して実行される。S19でレンズ制御部15は、現時点がカメラ状態ノイズ算出処理を実行する周期に対応する時点であるか否かを判定する。カメラ状態ノイズ算出の周期は、オフセット推定周期と同じ周期でもよいし、また異なる周期でもよい。S19にて現時点がカメラ状態ノイズ算出の周期に対応する時点ではないと判定された場合、S28へ移行し、当該時点であることが判定された場合にはS20の処理に進む。
S20で三脚状態検出部317は、S2で取得された振れの角速度と、S4で取得され動きベクトルに基づき、撮像装置1の振れが小さい状態が閾値時間以上継続しているか否かを判定することで三脚状態の検出を行う。S21でカメラ状態ノイズ算出部318は、撮像装置が三脚に取り付けられた三脚検出状態等の静定状態が検出されていると判断した場合、S22の処理に進み、静定状態が検出されていないと判断した場合、S23の処理に進む。
S22にてカメラ状態ノイズ算出部318は三脚検出状態ノイズに所定値を設定する。またS23にてカメラ状態ノイズ算出部318は前回の演算周期までに設定された三脚検出状態ノイズの値をゼロにクリアする。S24でP/T検出部319は、S2で取得された振れの角速度と、S4で取得された動きベクトルに基づき、パンニング動作またはチルティング動作の検出を行う。S25でカメラ状態ノイズ算出部318は、パンニング等の状態が検出されていると判断した場合、S26の処理に進み、パンニング等の状態が検出されていないと判断した場合にはS27の処理に進む。
S26でカメラ状態ノイズ算出部318はパンニング等の検出状態ノイズに所定値を設定する。またS27でカメラ状態ノイズ算出部318は、前回の演算周期までに設定されたパンニング等の検出状態ノイズの値をゼロにクリアする。
S28でレンズ制御部15は、前回のカメラ状態ノイズ算出周期にて算出した三脚検出状態ノイズの値を保存し、S29で前回のカメラ状態ノイズ算出周期にて算出したP/T検出状態ノイズの値を保存した後に図5のS30へ進む。S30で加算器316は観測ノイズ項とパンニング等の検出状態ノイズを加算する。S31で加算器311はシステムノイズ項と三脚検出状態ノイズを加算する。S30、S31で算出された情報に基づき、S32にてオフセット推定部304はオフセット推定の演算を行う。
S33でレンズ制御部15は、S32でオフセット推定部304が演算したオフセット推定値を保持する。S34で加算器301は振れの角速度からオフセット推定値を減算する。S35で積分フィルタ302は積分処理を行って振れ角度信号を生成することで像振れ補正制御の目標値を生成する。積分フィルタ302が行うフィルタ処理については、積分フィルタ306と同様に、オフセット推定値の推定が進むにつれて疑似積分のカットオフ周波数を低周波側へ変更する疑似的な積分処理としてもよい。S36でレンズ制御部15は、今回の演算周期での目標値の演算処理を終了する。
次に、S32にてオフセット推定部304が行う、振れ検出部17の出力のオフセット推定処理について数式を用いて説明する。オフセット推定部304を線形カルマンフィルタで構成する場合、線形カルマンフィルタは、以下の式(1)~式(7)で表すことができる。
式(1)は状態空間表現での動作モデルを表し、式(2)は観測モデルを表す。各記号の意味は以下のとおりである。
A:動作モデルでのシステムマトリクス
B:入力マトリクス
C:観測モデルでの出力マトリクス
ε
t:プロセスノイズ
δ
t:観測ノイズ
t:離散的な時間。
式(3)は予測ステップにおける事前推定値を表し、式(4)は事前誤差共分散を表す。また、Σ
xは動作モデルのノイズの分散を表す。
式(5)はフィルタリングステップにおいてカルマンゲインの算出式を表し、上付き添え字のTは行列の転置を表している。さらに式(6)はカルマンフィルタによる事後推定値、式(7)は事後誤差共分散を表す。またΣ
zは観測モデルのノイズの分散を表す。
本実施形態では、振れ検出部17のオフセット成分を推定するため、オフセット値をx
tとし、観測された振れ量をz
tとする。オフセット成分のモデルは式(1)における入力項u
tがなく、式(1)および式(2)でA=C=1となる、以下の1次線形モデルの式で表すことができる。
式(4)における動作モデルのノイズの分散Σxを、システムノイズσxと三脚検出状態ノイズσtの合算値で表す。また、式(5)における観測モデルのノイズの分散Σzを、観測ノイズσzとP/T(パンニング/チルティング)検出状態ノイズσpの合算値で表す。
さらにオフセット事前推定値を、
と表記し、
時刻tにおける誤差共分散推定値を、
と表記する。
時刻tにおけるカルマンゲインをk
tと表記する。観測ノイズσ
z、P/T検出状態ノイズσ
pと、振れ検出部17による観測された振れ量をz
tとして、以下の式でカルマンフィルタを構成することができる。
オフセット推定部304は、式(10)から式(14)までの演算式を用いて構成される。
は、推定演算の更新周期の時刻t-1でのオフセット推定値である。このオフセット推定値から、時刻tでのオフセット事前推定値
が得られる。
加算器311により出力されるシステムノイズσ
xと、三脚検出状態ノイズσ
tと、時刻t-1での誤差共分散推定値
とにより、時刻tでの誤差共分散事前推定値
が算出される。
この誤差共分散事前推定値、および観測ノイズσ
z、P/T検出状態ノイズσ
pに基づいて、カルマンゲインk
tが算出される。そして、式(13)によって、観測された振れ量z
tと、オフセット事前推定値
との誤差に対して、カルマンゲインk
tを乗算した値によって、オフセット事前推定値が修正され、オフセット推定値
が算出される。
また式(14)により、誤差共分散事前推定値
が修正されて、誤差共分散推定値
が算出される。これらの演算によって事前推定更新と修正を演算周期ごとに繰り返すことでオフセット推定値が算出される。
以上のように構成されたカルマンフィルタにて、各ノイズの大きさが変化することによる、オフセット推定動作の変化について、式(11)、式(12)、式(13)、および図7を用いて説明する。各ノイズとは、システムノイズσx、観測ノイズσz、三脚検出状態ノイズσt、P/T検出状態ノイズσpである。図7は、振れの大きさと、撮影状態による各ノイズの大きさとの関係を表した図である。
図7(A)は横軸に振れ角度信号の低周波成分をとり、縦軸にシステムノイズをとって両者の関係を表したグラフである。積分フィルタ306で算出された振れ角度信号のうち、低周波成分が大きくなるにつれてシステムノイズσxが大きくなる。これは、振れ検出部17の出力にオフセット誤差があり、加算器305で減算しているオフセット推定値が真のオフセット値になっていないことを意味する。すなわち、真のオフセット値に対する誤差がまだあるため、積分フィルタ306による積分後のノイズ算出用振れ角度信号の低周波成分のドリフトが大きいことを表している。オフセット推定部304が正しくオフセットを推定できていない状態であることを示している。
図7(C)は横軸に三脚検出時の振れの振幅をとり、縦軸に三脚検出状態ノイズをとって両者の関係を表したグラフである。三脚状態検出部317による三脚検出時の揺れ状態が小さくなるにつれて三脚検出状態ノイズが大きくなる。これは撮像装置1が三脚上に置かれているような静定状態にあることを表している。
システムノイズ、三脚検出状態ノイズにより、式(11)では誤差共分散事前推定値
の値が大きくなる。観測ノイズ、およびパンニング等の検出状態ノイズが変化していない時の状態を考えると、これにより式(12)で算出するカルマンゲインk
tは、算出式の分母に比べて分子の値の割合が大きくなることで1に近づく。逆にシステムノイズおよび三脚検出状態ノイズが小さくなるにつれて、式(12)で算出されるカルマンゲインk
tは0に近づく。
以上から、式(13)で演算されるオフセット推定値
は、カルマンゲインk
tが1に近づくにつれて、観測された振れ量z
tに近づくように補正され、カルマンゲインk
tが0に近づくにつれて、オフセット事前推定値
を維持するように更新される。
このような動作によって、振れ検出部17の出力のオフセット誤差が大きい間、またはオフセット推定値が真のオフセット値から誤差を持っている間はS32におけるオフセット推定演算で、カルマンゲインが1に近づく。これは、観測された振れ量と推定値との誤差を式(13)にて補正するようにオフセット推定値を更新する働きをする。低周波の振れ量(システムノイズσx)が大きくなるにつれて、オフセット推定の更新速度を大きくするようにオフセット推定部304の特性が変更される。
また、三脚検出状態での振れの振幅が小さくなるにつれて、式(11)における動作モデルのノイズの分散がさらに大きくなることでカルマンゲインが1に近づく。これは、観測された振れ量にオフセット推定値が近づくように働く。その理由は、三脚検出状態で振れの小さい状態であれば、観測した振れ量に実際の撮影者の振れによる振れ周波数成分が含まれないため、観測された振れ量の低周波成分はオフセット成分が主であり、オフセット推定の精度が高まるからである。そのため、積極的にオフセットの推定値を観測した振れ量に近づけるように更新処理が行われる。
図7(B)は横軸に振れ角度信号の高周波成分をとり、縦軸に観測ノイズをとって両者の関係を表したグラフである。積分フィルタ306で算出された振れ角度信号のうち、高周波成分が大きくなるにつれて観測ノイズσzが大きくなる。これは、振れ検出部17が検出した振れ量のうち、手振れ周波数帯域を含む高周波成分が大きいことを表している。つまり、歩き撮りのような、振れの大きい撮影条件で撮像装置1が保持されている状態であることを示している。
図7(D)は横軸にパンニング等の検出時の振れの振幅をとり、縦軸にP/T検出状態ノイズをとって両者の関係を表したグラフである。P/T検出部319によるパンニング検出時の振れの振幅が大きくなるにつれてP/T検出状態ノイズが大きくなる。これは撮影者が意図的に構図変更を行うパンニング動作またはチルティング動作を行っている状態であり、撮像装置1の振れが大きいことを表している。パンニング動作等の判定は、振れが大きい状態という点で観測ノイズの判定で代用可能である。しかし、パンニング動作等のような一定方向への所定時間の動きに対して、単に振れの大きさだけを検出している場合に比べて本実施形態は動き変化の検出精度が高いというメリットがある。
システムノイズおよび三脚検出状態ノイズが変化していない時の状態において、式(11)では、誤差共分散事前推定値
の値が変化しない。式(12)で算出されるカルマンゲインk
tは、観測ノイズおよびP/T検出状態ノイズが大きくなると、算出式の分子に比べて分母の値の割合が大きくなることで0に近づく。逆に、観測ノイズおよびP/T検出状態ノイズが小さくなるにつれて式(12)で算出されるカルマンゲインk
tは1に近づく。以上のことから、式(13)で演算されるオフセット推定値
は、カルマンゲインk
tが1に近づくにつれて、観測された振れ量z
tに近づくように補正される。カルマンゲインk
tが0に近づくにつれて、オフセット事前推定値
を維持するように更新される。
このような動作によって、振れ検出部17により検出される振れ量が大きくなるにつれて、S32のオフセット推定演算で、カルマンゲインが0に近づく。これは、観測された振れ量と推定値との誤差を式(13)にて補正しないようにオフセット推定値の更新を遅くする(または更新しない)働きをする。高周波の振れ量(観測ノイズσz)が大きくなるにつれて、オフセット推定の更新速度を遅くするようにオフセット推定部304の特性が変更される。
同様にパンニング動作等が検出された場合にも、式(12)における観測モデルのノイズの分散がさらに大きくなることでカルマンゲインが0に近づき、これはオフセット推定の更新を遅くするように働く。
オフセット推定部304が以上のような動きとなることで、振れ検出部17による振れ量に撮影者の動きによって大きな振れが含まれるような撮影条件であっても撮影者の動きによる振れ成分が誤ってオフセット成分として抽出されることを回避できる。すなわち撮影条件や撮影状態によらず、正確にオフセット推定を行うことができる。また、三脚検出状態のように撮像装置の静定状態でオフセット推定値の更新を早める処理が行われる。撮像装置1の電源投入の直後等においてオフセット推定値と真のオフセット値との誤差が大きい状態においてオフセット推定の更新を早める処理が行われる。オフセット推定が完了するまでの速度を速くしつつ、不正確な推定を回避することで像振れ補正性能を向上させることが可能である。
図8から図10を参照して、各撮影状況でのオフセット推定値の時系列変化の例を示す。図8は撮像装置1の三脚検出状態、つまり静定状態での振れ角速度とオフセット除去後の角速度とオフセット推定値の時間的変化を示す。横軸は時間軸であり、msec(ミリ秒)の単位で示す。縦軸は、振れ検出部17による振れ角速度信号と、オフセット推定値と、オフセット推定値を減算した後の振れ角速度信号を表している。
図8(A)は、比較例として、振れ検出部17のオフセット成分を固定のカットオフ周波数をもつローパスフィルタで抽出し、オフセット成分を除去した場合の波形例を示す。図8(B)は本実施形態における波形例を示す。比較例では、像振れ補正の低周波性能を向上させるため、極低周波なカットオフ周波数(例えば0.01Hzなど)のローパスフィルタを用いてオフセット成分が推定される。そのため、図8(A)で示すようにオフセット成分が除去されるまでに約220msec程度の時間がかかってしまい、正しくオフセット成分を除去できるまで像振れ補正性能が低下する可能性がある。一方、本実施形態では、三脚状態検出で静定状態と判定した判定結果や、オフセット推定値の真値からの誤差が大きい状態であるといった判定結果に応じてオフセット推定値の更新が早くなる。図8(B)で示すように正しくオフセット成分を除去できるまでの時間は約50msec程度であり、比較例よりも短縮されることがわかる。
図9は、歩き撮りのような振れが大きい撮影条件での波形例を示す。横軸と縦軸については図8と同じ設定である。図9(A)は比較例における波形例を示す。振れが大きい状態においては、振れ補正部材(補正レンズ等)の制御端への突き当たり(以下、端当たりという)を防止するため、低周波成分を除去するローパスフィルタのカットオフ周波数が静定時に比べて高く設定される。そのため、ローパスフィルタによるオフセット推定値は、除去したい一定値のオフセット成分のみならず撮影時の振れによる周波数成分も含んだ時系列で振幅方向に変動の大きいオフセット推定値となる。その結果、本来、像振れ補正したい振れ成分であるオフセット成分以外の周波数成分が振れ検出値から除去されるので、像振れ補正性能が低下する。
図9(B)は本実施形態における波形例を示す。振れの高周波成分の大きさを判定し、大きな振れが発生した状態であることが検出されると、オフセット推定の更新を遅くする処理が行われる。オフセット推定部304はオフセット成分の周波数のみを推定できている。その結果、オフセット除去後の角速度は、撮影時に発生している振れ周波数成分を減衰させることなく、オフセット成分のみを除去できるので像振れ補正性能が低下しない。
図10は、撮影者がパンニング動作により構図変更を行った場合の波形例を示す。横軸と縦軸については図8と同じ設定である。図10(A)は比較例における波形例を示す。想定している撮影者のパンニング動作は、グラフの時間軸に関して70msec付近で所定方向に撮像装置を動かし、120msec付近で停止させる動作とする。比較例における静定状態では良好に像振れ補正ができているが、パンニング動作の開始と同時にパンニング中の角速度変化がオフセット成分として誤って抽出される。パンニング動作が停止した後に、正しいオフセット成分に戻るまでに時間がかかっている。そのため、オフセット除去後の角速度値は、パンニング動作の停止後にパンニング方向と逆方向の振れ角速度変化として演算されてしまう。この逆振れは、いわゆる揺り戻しの動きとなって撮像画像に現れる。
図10(B)は本実施形態における波形例を示す。パンニング動作開始と同時にパンニング検出によるオフセット推定の更新を遅くする処理によって、パンニング動作中のオフセット成分の誤推定を防止することができる。パンニング動作中は、振れ補正部材(補正レンズ等)の端当たりを防止するため、振れ補正を停止して振れ補正部材を基準位置(中央位置等)に戻し、パンニング動作の終了直後から振れ補正を再開させる処理が実施される。本実施形態では、パンニング動作中にオフセット推定値の更新を停止し、パンニング動作の終了時点からオフセット更新を再開させる。よって、パンニング動作の終了直後のオフセット除去後角速度信号には逆振れが発生しないので、逆振れに伴う揺り戻しを防止できる。
本実施形態では、撮像装置の振れ信号について周波数帯域の異なる複数の振れ量の成分に分離したうえで、複数の周波数成分の大きさを判定し、撮影状況を判定した情報に基づいてオフセット推定の更新速度を制御する。高周波の振れ量の成分が大きくなるにつれてオフセット推定値の更新を遅くする特性に変更し、または低周波の振れ量の成分が大きくなるにつれてオフセット推定値の更新を早める特性に変更する制御が行われる。したがって、撮影状態によらず正確にオフセット成分を推定できる。本実施形態によれば、パンニング等により大きな振れが発生した場合でも、広い周波数帯域で安定した像振れ補正を実現できる。
[第2実施形態]
次に、第2実施形態について説明する。本実施形態では、第1実施形態と異なる構成および処理部分のみ説明し、重複する部分の説明を省略する。図11は、本実施形態に係るレンズ制御部15の像振れ補正制御にかかわる構成を示すブロック図である。第1実施形態では、帯域制限フィルタ303を用いて、振れ検出部17による振れ量のうち、手振れで発生する主な周波数成分を取り除いてオフセット推定の精度を向上させる方法を説明した。本実施形態は以下の点で第1実施形態と相違する。
・帯域制限フィルタ303がないこと。
・動きベクトル情報と補正レンズユニット19の検出位置の微分値を、オフセット推定部に入力する振れ量から減算していること。
・動きベクトル信頼度判定部404が設けられていること。
レンズ位置検出部20が検出した位置情報は微分器403により微分処理され、レンズ速度情報が加算器402に出力される。また動きベクトル算出部7aによって算出された動きベクトル情報が加算器402に入力される。加算器402はレンズ速度情報と動きベクトル情報の加算結果を加算器401に出力する。加算器401は、振れ検出部17の振れ検出信号から、加算器402に出力であるレンズ速度情報と動きベクトル情報にそれぞれ対応する信号を減算して、オフセット推定部304および加算器305へ出力する。
動きベクトル信頼度判定部(以下、単に信頼度判定部という)404は動きベクトルの信頼度を判定する。この判定は、算出された動きベクトルと、後述する画像処理情報と、カメラ側操作部9およびレンズ側操作部16により設定される撮影のための設定情報に基づいて行われる。信頼度判定部404は判定した信頼度情報にしたがってゲイン部310およびゲイン部315の各ゲイン値を所定値に設定する。つまりゲイン部310およびゲイン部315はいずれも可変ゲイン部であり、オフセット推定部304でのオフセット推定に使用されるシステムノイズおよび観測ノイズの大きさをそれぞれ決定する。
図12のフローチャートを参照して、撮像装置における目標値演算処理について説明する。図4と異なる個所のみ説明し、図5および図6の処理については説明を省略する。S4の次のS37では、レンズ位置検出部20により補正レンズユニット19の検出位置が取得される。取得周期については、レンズ速度情報が動きベクトル情報と合算して使用されるため、レンズ制御部15はS3により判定した動きベクトルの取得周期以上に設定する。S38で信頼度判定部404は後述する各条件で、算出された動きベクトル、画像処理情報、カメラ側操作部9およびレンズ側操作部16により設定される撮影のための設定情報に基づいて動きベクトルの信頼度を判定する。S39にて信頼度判定部404は、動きベクトルの信頼度情報にしたがってゲイン部310およびゲイン部315のゲイン値を所定値に設定する。
S6にてレンズ制御部15は、現時点がオフセット推定処理の実行周期に対応する時点であるかどうかを判定し、当該時点であると判定した場合、S40へ進む。S40で微分器403は、レンズ位置検出部20により取得される補正レンズユニット19の検出位置の微分値を算出する。オフセット推定処理は、あらかじめ設定された所定の離散的なタイミングで実行される。そのため、S40での微分演算では、1周期前の時点で取得された補正レンズ位置と、現周期の時点で取得された補正レンズ位置との差分が計算される。補正レンズユニット19の位置の差分演算結果は、像振れ補正により駆動される補正レンズユニット19の駆動速度(補正レンズ速度)を表す。
像振れ補正部18により像振れ補正動作が実施されている場合、S41で加算器402は、算出された動きベクトルと、補正レンズユニット19の位置微分値である補正レンズ速度とを加算する。この処理では、像振れ補正によって補正された振れ速度と動きベクトルによって検出された振れ残り速度を合算することで、撮像装置1の振れ速度が算出される。また仮に像振れ補正が実施されていない場合には、補正レンズ速度はゼロとなるので、必ずしも補正レンズ速度を加算しなくとも動きベクトル情報がそのまま撮像装置1の振れの検出結果を表わしていることになる。
ここで、動きベクトルは撮像面上での像の移動量を検出した情報であるため、厳密には撮像装置1の角度振れに加えてシフト振れ等の影響を含んでいる。しかし、シフト振れの影響の少ない撮影条件においては、像面上で観察される移動量は角度振れの影響が支配的である。このような条件において、像振れ補正によって補正された振れ速度と、動きベクトルによって検出された振れ残り速度が合算され、撮像装置1の振れ速度として使用される。動きベクトルを用いて算出された撮像装置1の振れ速度を使用することにより、振れ検出部17に比べてオフセット誤差の少ない撮像装置1の振れそのものを正確に検出できる。S42で加算器401は、振れ検出部17の振れ検出信号から、撮像装置1の振れ速度(加算器402の出力信号)を減算する。こうして振れ検出部17のオフセット成分を正確に分離できる。
第1実施形態では、撮像装置1の振れに対して特定周波数の成分をノッチフィルタで減衰させることによって影響を低減させる方法を採用した。本実施形態では振れ検出部17のオフセット成分を、動きベクトルを用いて正確に分離することで、オフセット成分の推定精度をさらに向上させることができる。但し、動きベクトルの算出においては、取得画像の1フレーム以上前の画像と現時点で取得した画像とが比較され、画像ずれが算出されるので、画像情報が取得できない場合には動きベクトルを算出できない。また撮影条件によっては撮像画像のボケ量が大きく、算出された動きベクトルが正しくない場合もあり得る。そのような場合には第1実施形態の方法が使用される。なお、信頼度の算出方法については各種の方法が知られており、本実施形態にて任意の方法を採用可能である。
動きベクトル情報が撮影条件によって取得できない場合や、後述するように撮影条件によって動きベクトル情報が正しく取得できない場合には、信頼度判定部404によって動きベクトル情報の信頼度が判定される。信頼度の判定結果にしたがって、オフセット推定に用いるシステムノイズおよび観測ノイズの大きさを変化させる処理が行われる。動きベクトルの信頼度と、オフセット推定に用いるシステムノイズおよび観測ノイズの大きさの関係について、図13を参照して説明する。
図13(A)は、ゲイン部310により算出されるノイズ算出用振れ角度信号の低周波成分の大きさを横軸にとり、システムノイズを縦軸にとって両者の関係を表した図である。図13(B)は、ゲイン部315により算出されるノイズ算出用振れ角度信号の高周波成分の大きさを横軸にとり、観測ノイズを縦軸にとって両者の関係を表した図である。実線のグラフは、第1実施形態でのシステムノイズおよび観測ノイズの大きさを表す。点線のグラフは、動きベクトルの信頼度が高いと判定された場合のシステムノイズおよび観測ノイズの大きさを表す。一点鎖線のグラフは動きベクトルの信頼度が低いと判定された場合のシステムノイズおよび観測ノイズの大きさを表す。
動きベクトルの信頼度が高い場合には、信頼度が低い場合に比べて、同じノイズ算出用の振れ角度信号値に対してシステムノイズを大きくし、観測ノイズを小さくするように設定される。信頼度が高い場合には、加算器401により算出される撮像装置1の振れを正確に検出できる。振れ検出部17が検出した撮影動作時の振れを含む振れ量から、動きベクトルにより算出した撮像装置1の振れを減算することで振れ検出部17のオフセット成分の分離を正確に行える。そのため、式(13)におけるカルマンフィルタへ入力される観測された振れ量ztについては、振れ検出部17のオフセット成分の周波数成分が抽出できる。よって、システムノイズを大きくすること、または観測ノイズを小さくすることでカルマンゲインを1に近づけ、観測された振れ量にオフセット推定値が近づくように補正が行われる。
一方、動きベクトルの信頼度が低い場合には、信頼度が高い場合に比べて、同じノイズ算出用の振れ角度信号値に対してシステムノイズを小さくし、観測ノイズを大きくするように設定される。信頼度が低い場合には、加算器401により算出される撮像装置1の振れに誤差が大きく、正確に検出できていない状態である。そのため、振れ検出部17が検出した撮影動作時の振れを含む振れ量から、動きベクトルにより算出した撮像装置1の振れを減算すると、振れ検出部17のオフセット成分以外の動きベクトル検出誤差が重畳した振れ信号となる。式(13)において、システムノイズを小さくすること、または観測ノイズを大きくすることでカルマンゲインをゼロに近づけ、オフセット推定値の更新を遅くする処理が実行される。あるいは更新されないように制限することで、オフセット推定値の更新速度と精度を向上させることができる。
次に、信頼度判定部404による動きベクトルの信頼度判定についての条件を説明する。
・移動被写体に対応する動体領域が撮影画像全体に対して所定値以上を占める場合
本実施形態では、動きベクトルにより撮像装置1の振れを検出することが目的であるが、動体領域が撮影画像全体を占めている場合、動きベクトルとして移動被写体の移動速度が検出されてしまう。そこで信頼度判定部404は、動体領域が撮影画像全体に対して占める割合が大きくなるにつれて信頼度を低く設定する。
・カメラ側操作部9により撮影者によって設定されたISO感度設定値が所定値よりも高い場合
ISO感度設定値を高くすると撮像部による電気信号を増幅する際にノイズ成分も増幅されるため、ISO感度を高くするほど、画像から検出した動きベクトルにノイズが混入してしまい、動きベクトルの信頼度が低下する。そこで、信頼度判定部404は撮像部の撮像感度の設定値が高くなるにつれて信頼度を低く設定する。
・被写体のコントラスト値が所定値よりも低い場合
動きベクトルを算出する際、ブロックマッチング処理にて被写体のコントラスト値が低いと画像の類似点の判定が困難となり、マッチング結果に誤差が発生する。そこで、信頼度判定部404は、被写体のコントラスト値が低くなるにつれて信頼度を低く設定する。
・繰り返しパターンのある被写体領域が撮影画像全体に対して所定値以上を占めている場合
撮影画像中に周期的なパターン(縞模様のような繰り返しパターン)が存在して撮影画像全体を占めていると、ブロックマッチング処理により誤った動きベクトルが検出されることがある。そこで、信頼度判定部404は周期的なパターンが撮影画像全体の領域に対して占める割合が大きくなるにつれて信頼度を低く設定する。
・撮像装置から第1被写体までの距離と、撮像装置から第1被写体とは異なる距離の第2被写体までの距離との差が所定値以上離れており、これらの被写体領域が撮影画像全体に対して所定値以上を占めている場合
撮像装置から被写体までの距離によって撮像面での画像の動き量と、実際の被写体の移動速度の関係が異なる。そのため、動きベクトルの検出に用いる画像中に撮像装置からの距離が遠い被写体と近い被写体が混在して、被写体領域が撮影画像全体に対して所定値以上を占めている場合、動きベクトルに誤差が生じ得る。そこで、信頼度判定部404は、撮像装置から第1被写体までの距離と撮像装置から第2被写体までの距離との差が閾値以上である場合に、被写体領域が撮影画像全体に対して占める割合が大きくなるにつれて信頼度を低く設定する。
・ローリングシャッタ歪み量が所定値よりも大きい場合
撮像部がCMOS(相補型金属酸化膜半導体)イメージセンサを有する場合、高速に動く被写体を撮影すると取り込む時間差により画像に差異が生じ、高速に移動しているものを動画で撮影すると歪みが生じる。歪んだ画像を用いて動きベクトルを検出した場合、動きベクトルの検出に誤差が生じ得る。そこで、信頼度判定部404は、撮影画像のローリングシャッタ歪み量が大きくなるにつれて信頼度を低く設定する。
・被写体のテクスチャの相関値の最大値が低い場合
動きベクトル検出時にマッチングの基準領域とサーチ領域との相関値の最大値が低い場合には、基準領域とサーチ領域との類似度が低いと考えられ、信頼度が低いと判定される。信頼度判定部404は、被写体のテクスチャの相関値の最大値が小さくなるにつれて信頼度を低く設定する。
・被写体のテクスチャの相関値の最大値と最小値の差分と、相関値の最大値と平均値の差分との比率が小さい場合
相関値の最大値と最小値の差分と、最大値と平均値の差分との比率は、相関値ピークの急峻性を表わしており、比率が小さい場合、基準領域とサーチ領域との類似度が低いと考えられ、信頼度が低いと判定される。信頼度判定部404は、被写体のテクスチャの相関値の最大値と最小値の差分と、相関値の最大値と平均値の差分との比率が小さくなるにつれて信頼度を低く設定する。なお、相関値の算出方法については差分絶対値和(Sum of Absolute Difference)を用いる方法があるが、どのような算出方法を用いてもよい。
図14、図15、図16は、振れの角速度と、オフセット推定部304によるオフセット推定値の時系列変化の一例を示す。各波形の想定撮影状況は、図8、図9、図10にそれぞれ対応する。図14において、動きベクトル信頼度が高いときには、図14の下図で示すように、オフセット推定に用いる振れ角速度の値から撮影による振れ周波数成分があらかじめ取り除かれている。本実施形態は第1実施形態に比べてシステムノイズを大きく、観測ノイズを小さく設定できるため、オフセット推定値の更新を早めることができる。図15においても同様の効果が得られる。
図16においては、動きベクトルによりパンニング動作中の角速度変化が検出され、オフセット推定に用いる振れ角速度から取り除かれる。そのため、第1実施形態に比べてオフセット推定精度をより高めることができる。
本実施形態では、撮像装置の振れ成分と振れ検出部の出力のオフセット成分を、動きベクトルを用いることでより正確に分離することができ、オフセット推定の更新速度と推定精度を向上させることができる。
前記実施形態では撮像光学系の補正レンズの移動制御によって像振れ補正を行う装置を説明した。本発明は、これに限らず、撮像素子の移動制御によって像振れ補正を行う装置や、補正レンズの移動制御と撮像素子の移動制御を併用して像振れ補正を行う装置に適用可能である。