(57)【特許請求の範囲】
【請求項１】
撮像装置であって、
被写体像を光電変換して画像信号を出力する撮像手段と、
前記撮像装置に加わる振れを検出する振れ検出手段と、
前記画像信号から画像の動きを示す動きベクトルを検出する動きベクトル検出手段と、
前記撮像装置が静止している時の、前記振れ検出手段の出力である基準値を算出するための基準値演算手段と、
前記振れ検出手段の出力と前記基準値との差分に基づいて、振れ補正量を算出する補正量演算手段と、
前記補正量演算手段の出力に基づいて、被写体像のブレを補正する振れ補正手段と、
を備え、
前記基準値演算手段は、前記振れ検出手段の出力の積分値と、前記動きベクトル検出手段の出力の積分値と、前記基準値演算手段により前回算出された前記基準値に基づく前記補正量演算手段の出力の変化量とに基づいて、今回の前記基準値を算出することを特徴とする撮像装置。
【請求項２】
前記基準値演算手段は、前記振れ検出手段の出力の積分値と、前記動きベクトル検出手段の出力の積分値と、前記基準値演算手段により前回算出された前記基準値に基づく前記補正量演算手段の出力の変化量とを、同一の単位に換算し、
前記振れ検出手段の出力の積分値を前記同一の単位に換算した値から、前記動きベクトル検出手段の出力の積分値を前記同一の単位に換算した値と、前記補正量演算手段の出力の変化量を前記同一の単位に換算した値とを減算した値の微分値に基づいて、今回の前記基準値を算出することを特徴とする請求項１に記載の撮像装置。
【請求項３】
撮像装置であって、
被写体像を光電変換して画像信号を出力する撮像手段と、
前記撮像装置に加わる振れを検出する振れ検出手段と、
前記画像信号から画像の動きを示す動きベクトルを検出する動きベクトル検出手段と、
前記撮像装置が静止している時の、前記振れ検出手段の出力である基準値を算出するための基準値演算手段と、
前記振れ検出手段の出力と前記基準値との差分に基づいて、振れ補正量を算出する補正量演算手段と、
前記補正量演算手段の出力に基づいて、被写体像のブレを補正する振れ補正手段と、
前記振れ補正手段の位置を検出する位置検出手段と、
を備え、
前記基準値演算手段は、所定の期間における、前記振れ検出手段の出力の積分値と、前記動きベクトル検出手段の出力の積分値と、前記位置検出手段の出力の変化量とに基づいて、前記基準値を算出することを特徴とする撮像装置。
【請求項４】
前記基準値演算手段は、前記振れ検出手段の出力の積分値と、前記動きベクトル検出手段の出力の積分値と、前記位置検出手段の出力の変化量とを、同一の単位に換算し、
前記振れ検出手段の出力の積分値を前記同一の単位に換算した値から、前記動きベクトル検出手段の出力の積分値を前記同一の単位に換算した値と、前記位置検出手段の出力の変化量を前記同一の単位に換算した値とを減算した値の微分値に基づいて、前記基準値を算出することを特徴とする請求項３に記載の撮像装置。
【請求項５】
前記同一の単位とは、角度を示す単位であることを特徴とする請求項２または４に記載の撮像装置。
【請求項６】
前記補正量演算手段は、遅延素子を有するデジタルハイパスフィルタを有し、前記基準値演算手段により新たな前記基準値が算出された場合に、前記デジタルハイパスフィルタの制御サンプリング毎における演算結果として保持されている中間値を変更することを特徴とする請求項１乃至５のいずれか１項に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、手振れ等による撮像画像のブレを補正する機能を備えた撮像装置に関するものである。
【背景技術】
【０００２】
近年、撮像装置の小型化や光学系の高倍率化に伴い、撮像装置に加わる振れ等が撮影画像の品位を低下させる大きな原因となっている。この点に着目し、このような装置の振れ等により生じた撮像画像のブレを補正する振れ補正機能を備えた撮像装置が種々提案されている。
【０００３】
特許文献１には、角速度センサを備え、角速度センサの出力をキャンセルするように振れ補正レンズを移動させて、撮像画像のブレを補正する撮像装置が開示されている。このとき、角速度センサは、加えられる振動がゼロのときに、ある出力値（基準値）を有するため、撮像装置に加わる純粋な角速度を求めるには、角速度センサの出力からこの基準値を差し引く必要がある。しかし、この基準値は、温度等の環境によって変動するため、基準値を正確に求めることが困難であった。そして、特許文献１は、この基準値をより正確に算出する方法を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４４１９４６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の特許文献１に開示された従来技術では、以下のような問題点がある。撮影者が撮像装置の撮影方向を変更するパンニング操作を行ったとき、パンニング動作の動き成分まで補正を行うと撮影者のパンニング操作を妨げてしまう。よって、通常はパンニング時に振れ補正効果を弱くする制御を行う。このとき、動きベクトルの検出結果は、前述した基準値の誤差に起因する振れ残り成分と、パンニング時に振れ補正効果を弱くしたことによる画の動き成分が加算された値となる。よって、パンニング時の動きベクトル検出結果は、前述した基準値の誤差に起因する振れ残り成分だけを表すものではなく、正しい基準値の算出を行うことができない。
【０００６】
本発明は、上述した課題に鑑みてなされたものであり、その目的は、パンニング中など、振れ補正効果を意図的に弱くした場合においても、高い基準値の算出精度を実現し、手振れ補正性能の向上を実現することである。
【課題を解決するための手段】
【０００７】
本発明に係わる撮像装置は、撮像装置であって、被写体像を光電変換して画像信号を出力する撮像手段と、前記撮像装置に加わる振れを検出する振れ検出手段と、前記画像信号から画像の動きを示す動きベクトルを検出する動きベクトル検出手段と、前記撮像装置が静止している時の、前記振れ検出手段の出力である基準値を算出するための基準値演算手段と、前記振れ検出手段の出力と前記基準値との差分に基づいて、振れ補正量を算出する補正量演算手段と、前記補正量演算手段の出力に基づいて、被写体像のブレを補正する振れ補正手段と、を備え、前記基準値演算手段は、前記振れ検出手段の出力の積分値と、前記動きベクトル検出手段の出力の積分値と、前記基準値演算手段により前回算出された前記基準値に基づく前記補正量演算手段の出力の変化量とに基づいて、今回の前記基準値を算出することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、パンニング中など、振れ補正効果を意図的に弱くした場合においても、高い基準値の算出精度を実現し、手振れ補正性能の向上を実現することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係わる撮像装置の構成を示すブロック図。
【図２】ＨＰＦ演算部１０６の構成の一例を示すブロック図。
【図３】基準値演算部１１６が行う処理を説明するためのフローチャート。
【図４】図３のフローチャートにおけるステップＳ１０９の詳細な処理を説明するためのフローチャート。
【図５】図４のフローチャートの処理を説明するための図。
【図６】基準値演算部１１６が基準値を更新するときに、ＨＰＦ演算部１１６に対して行う制御を説明するための図。
【発明を実施するための形態】
【００１０】
以下に、本発明の一実施形態について、添付図面を参照して詳細に説明する。なお、以下の説明では全て画像の横方向の振れ補正制御に関して説明を行い、縦方向については横方向と同様であるため、説明は省略する。
【００１１】
図１は、本発明の一実施形態に係わる撮像装置の構成を示すブロック図である。図１の撮像装置１００の各構成部とその一例の動作について具体的に説明する。
【００１２】
角速度センサ１０２は撮像装置に加わる振れ検出を行う。例えば、振動ジャイロの角速度センサ等により、手振れや体の揺れ等による撮像装置自体の振れを角速度信号として検出し、その角速度信号をアンプ１０３に供給する。アンプ１０３は、角速度センサ１０２からの角速度信号を、最適な感度に増幅して、Ａ／Ｄ変換器１０４に供給する。Ａ／Ｄ変換器１０４は、アンプ１０３からの角速度信号をデジタル化して、ｕＣＯＭ１０１内部の加減算器１０５に供給する。ここで、Ａ／Ｄ変換器１０４の出力を「角速度センサ信号」と定義する。
【００１３】
角速度センサ１０２は、加えられる振動がゼロのときの出力が環境によって変動する。上記の角速度センサ信号は、撮像装置１００の振れ信号に、振動がゼロのときの出力変動が重畳された信号となっている。そこで基準値演算部１１６では、角速度センサ１０２に加えられる振動がゼロのときのＡ／Ｄ変換器１０４の出力、すなわち「基準値」を後述する方法によって算出し、加減算器１０５に供給する。加減算器１０５では、角速度センサ信号から基準値を減算した結果を、ＨＰＦ演算部１０６に供給する。
【００１４】
ＨＰＦ演算部１０６の構成の一例を図２に示す。ＨＰＦ演算部１０６は、図２に示すような一般的な再帰型デジタルハイパスフィルタを構成している。ゲインａ，ｂ，ｃは、入力信号に対して係数ａ，ｂ，ｃを乗算して出力することを示している。またＺ-1（遅延素子）は、入力信号を１サンプリング遅延して出力することを示している。ＨＰＦ演算部１０６において、ｎサンプリング目の入力信号をHPF_IN[ｎ]、出力信号をHPF_OUT[ｎ]、Ｚ-1へ供給される信号（以下、ＨＰＦ中間信号（ＨＰＦ中間値）とする）をZ[ｎ]とすると、HPF_OUT[ｎ]とZ[ｎ]の計算値は以下のようになる。
【００１５】
HPF_OUT[ｎ]＝ｂZ[ｎ]＋ｃZ[ｎ−１]      …（式１）
Z[ｎ]＝HPF_IN[ｎ]＋ａZ[ｎ−１]         …（式２）
（式１）と（式２）の演算を繰り返し行うことにより、ＨＰＦ演算部１０６では、加減算器１０５から供給された信号の低周波数成分を減衰して出力する。
【００１６】
なお、上記係数ａ，ｂ，ｃは、撮影状況に応じて、任意の値に設定することができる。例えば静止画撮影時には、ＨＰＦ演算部１０６による低周波数帯域の振れ信号減衰を行わないように、ａ＝０，ｂ＝１，ｃ＝０とし、入力信号をそのまま出力する。また、パンニング時などに低周波数帯域の振幅が大きな信号が入力された場合は、低周波数帯域の減衰率を決めるａの値を減衰率が大きくなるように変更する（ａを負の符号で小さい値に変更する）。
【００１７】
積分器１０７は、ＨＰＦ演算部１０６から出力された信号を積分して、その積分結果を角変位データとして出力する。焦点距離演算部１０８（振れ補正量演算部）は、ズーミング及びフォーカシング動作を行う撮像光学系１１７の、ズーム位置を検出するズームエンコーダ１２５から、現在のズーム位置情報を取得し、その情報から焦点距離を算出する。そして、この焦点距離情報と、上述した角変位データから、補正光学系１１８の補正駆動量を算出する。ここで、焦点距離演算部１０８の出力を「振れ補正信号」とする。
【００１８】
制御フィルタ１１０には、上記補正駆動量と、補正光学系１１８の位置を検出する位置検出センサ１１４の出力をＡ／Ｄ変換器１１５によってデジタル化した値（以下、「位置検出信号」とする）との差分が入力される。パルス幅変調回路１１１は、制御フィルタ１１０の出力をＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）信号に変換し出力する。モータ駆動回路１１２は、パルス幅変調回路１１１からのＰＷＭ出力に基づいて、補正光学系１１８を動かすためのモータ１１３を駆動し、撮像素子１１９の撮像面への入射光の光軸の入射角度を変更することで、撮像画像に生じる振れを光学的に補正する。なお、補正光学系１１８は撮像光学系１１７の光軸に直交する方向に移動することで光学像の像ブレを補正する。また、補正光学系１１８は撮像光学系１１７中のシフトレンズであっても良いし、撮像素子１１９が光軸に直交する方向に移動する構成であっても良い。
【００１９】
信号処理回路１２０は、被写体像を光電変換して画像信号を出力する撮像素子１１９により得られた撮像画像情報から映像信号を生成し、動きベクトル検出回路１２１に供給する。動きベクトル検出回路１２１は、信号処理回路１２０で生成された現在の映像信号に含まれる輝度信号と、１フィールド前の映像信号に含まれる輝度信号に基づいて画像の動きベクトルを検出する。
【００２０】
基準値演算部１１６は、Ａ／Ｄ変換器１０４の出力である角速度センサ信号、Ａ／Ｄ変換器１１５の出力である位置検出信号あるいは焦点距離演算部１０８の出力である振れ補正信号、動きベクトル検出回路１２１の出力である動きベクトル信号に基づいて、基準値の算出を行う。
【００２１】
以下、本実施形態における、基準値演算部１１６の動作について説明する。
【００２２】
図３は、基準値演算部１１６の処理の一例を示したフローチャートである。図３に示したフローチャートの処理は、例えば１０００分の１秒等の所定期間毎に繰り返し行われる。図３の処理ではまず、所定期間における、上記角速度センサ信号の積算値、上記位置検出信号あるいは振れ補正信号の変化量、動きベクトル信号の積算値（すなわち画の動き量）の算出を行い、そしてそれらの算出値から、基準値の演算を行っている。以下にその詳細を説明する。
【００２３】
ステップＳ１００においては、基準値算出が開始されているかどうかを示すフラグSTART_FLAGがセットされているかどうかの判定を行う。START_FLAGがセットされていない場合は、ステップＳ１０５の処理へ移行する。
【００２４】
ステップＳ１０５においては、現在の位置検出信号あるいは現在の振れ補正信号を、変数Start_Posに格納し、ステップＳ１０６の処理へ移行する。ステップＳ１０６においては、後述する変数Gyro_Int、Vector_Int、Gyro_Countをゼロに初期化し、ステップＳ１０７の処理へ移行する。ステップＳ１０７では、START_FLAGをセットし、図３のフローチャートの処理は終了となる。ステップＳ１０７でSTART_FLAGをセットしたことにより、次の図３の処理では、ステップＳ１００の判定において、START_FLAGがセットされているという判定が行われ、ステップＳ１０１の処理へ移行する。
【００２５】
ステップＳ１０１の処理においては、変数Gyro_Intに現在の角速度センサ信号を加算する。ここで変数Gyro_Intは、角速度センサ信号の積算値を格納するための変数である。ステップＳ１０１の処理の後は、ステップＳ１０２の処理へ移行する。ステップＳ１０２の処理においては、変数Gyro_Countをカウントアップする。ここで変数Gyro_Countは、角速度センサ信号の積算回数を格納するための変数である。ステップＳ１０２の処理の後はステップＳ１０３へ移行する。
【００２６】
ステップＳ１０３においては、動きベクトル検出回路１２１によって、動きベクトル信号が更新されたかどうかの判定を行う。ステップＳ１０３において、動きベクトルが更新されたと判定された場合はステップＳ１０４の処理を行った後、ステップＳ１０８の処理へ移行する。ステップＳ１０３において、動きベクトルが更新されていないと判定された場合はステップＳ１０４の処理を行わず、ステップＳ１０８の処理へ移行する。
【００２７】
ステップＳ１０４の処理においては、変数Vector_Intに現在の動きベクトル信号を加算する。ここで変数Vector_Intは、動きベクトル信号の積算値を格納するための変数である。ステップＳ１０３において、動きベクトル信号が更新されたタイミングのみステップＳ１０４の処理に移行するのは、以下の理由による。動きベクトル検出回路１２１による動きベクトル検出タイミングは、撮像素子１１９によって撮像画像情報が生成されるタイミングによって決まる。例えばＮＴＳＣ方式の撮像装置においては、上記撮像画像情報は１／６０秒間隔で生成され、動きベクトル検出回路１２１による動きベクトル検出タイミングも１／６０秒間隔となる。一方、Ａ／Ｄ変換器１０４による角速度センサ信号サンプリング間隔は、例えば１／１０００秒など動きベクトル検出よりも速い間隔となっている。そのため、図３のフローチャートの処理を、角速度センサ信号のサンプリング間隔に合わせて行うと、動きベクトルが更新されない期間がある。この動きベクトルが更新されない期間にステップＳ１０４の処理を行わないために、ステップＳ１０３の判定を行っている。
【００２８】
ステップＳ１０８においては、変数Gyro_Countが予め定められた所定の値Time_Threshと一致するかどうかの判定を行う。ステップＳ１０８において、Gyro_Count が Time_Threshと等しいと判定された場合はステップＳ１０９の処理へ移行する。ステップＳ１０８において、Gyro_Count が Time_Threshと異なる場合は、図３の処理を終了する。そして、Gyro_Count＝Time_Threshとなるまで（Time_Threshで決まる所定期間が経過するまで）、ステップＳ１０１〜Ｓ１０４の処理が繰り返し行われる。
【００２９】
ステップＳ１０９においては、基準値の算出を行う。ステップＳ１０９の基準値算出の処理については、図４のフローチャートを用いて更に詳しく説明する。
【００３０】
図４のフローチャートのステップＳ２００においては、現在の位置検出信号あるいは現在の振れ補正信号とステップＳ１０５で算出した変数Start_Posとの差分を、変数Move_Posに格納する。変数Move_Posは、Time_Threshで決まる所定期間内に、補正光学系１１８が移動した量、すなわち振れ補正量を表す。ステップＳ２００の処理の後はステップＳ２０１へ移行する。
【００３１】
ステップＳ２０１においては、ステップＳ２００で算出した変数Move_Posと係数Ｋ１の乗算を行う。係数Ｋ１は補正光学系１１８が移動した量を、補正光学系１１８が移動したことによって光軸が傾いた角度（以下、振れ補正角度とする）に変換する係数であり、ステップＳ２０１では、この振れ補正角度を算出する。なお、本実施形態においては振れ補正角度の算出に、Ａ／Ｄ変換器１１５の出力あるいは焦点距離演算部１０８の出力を用いたが、これに限定されるものではない。例えば、積分器１０７やＨＰＦ演算部１０６の出力などを用いてもよい。ステップＳ２０１の処理を行った後は、ステップＳ２０２の処理へ移行する。
【００３２】
ステップＳ２０２においては、図３のステップＳ１０４で算出した変数Vector_Intと係数Ｋ２の乗算を行う。変数Vector_Intは、Time_Threshで決まる所定期間内に、撮像画像が動いた量（画の動き量）を表す。係数Ｋ２は、画の動き量を光軸の傾き角度（同一の単位）に換算する係数であり、ステップＳ２０２では、画の動き量を光軸の傾き角度に換算した値（以下、振れ残り角度とする）を算出する。
【００３３】
なお、係数Ｋ２は、以下のように求めることができる。撮像光学系１１７の焦点距離をｆ、振れ残り角度をθ、画の動き量をｘとすると以下の式が成立する。
【００３４】
ｘ＝ｆθ
∴θ＝１／ｆ×ｘ
∴Ｋ２＝１／ｆ
ステップＳ２０２の処理を行った後は、ステップＳ２０３の処理へ移行する。ステップＳ２０３においては、図３のステップＳ１０１で算出した変数Gyro_Intと係数Ｋ３の乗算を行う。変数Gyro_Intは、Time_Threshで決まる所定期間内での、角速度センサ信号のTime_Thresh回の積算値を表す。係数Ｋ３は角速度センサ信号のTime_Thresh回の積算値を、撮像装置１００が傾いた角度に換算する係数である。角速度センサ信号のTime_Thresh回の積算値を、撮像装置１００が傾いた角度に換算した値を、角速度センサ信号角度換算値とする。
【００３５】
なお、係数Ｋ３は、以下のように求めることができる。Gyro_Count＝ｎのときの角速度センサ信号をGyro_Int[ｎ]とすると、Gyro_Count＝１〜Time_Threshのときの角速度センサ信号角度換算値は、角速度センサ信号の積分値となり、以下の式で表すことができる。
【００３６】
【数１】
0005600516.tif 000002
【００３７】
Δｔは図３の処理が繰り返し行われる間隔であり、すなわちＫ３＝Δｔとなる。ステップＳ２０３の処理を行った後は、ステップＳ２０４の処理へ移行する。
【００３８】
ステップＳ２０４においては、ステップＳ２０１〜Ｓ２０３で算出した振れ補正角度、振れ残り角度、角速度センサ信号角度換算値を用いて、基準値の算出を行う。基準値の算出式の導出方法について、図５を用いて説明する。
【００３９】
図５（ａ）は、Ａ／Ｄ変換器１０４の出力である、角速度センサ信号の時間による変化を示した図である。角速度センサ信号は、破線で示した基準値に対して、手振れが重畳された波形になっている。また、時間Ｔ１においてパンニングが開始されるとともに、時間Ｔ２においてパンニングが終了され、時間Ｔ１〜Ｔ２でパンニングによる角速度変化分だけ低周波数成分が大きくなった波形となっている。
【００４０】
図５（ｂ）は、上記角速度センサ信号の積分値である、角速度センサ信号角度換算値の時間による変化を示した図である。角速度センサ信号角度換算値は、手振れに基準値及びパンニングの低周波数成分が重畳された信号を積分した値なので、図５（ｂ）に示すように、時間の経過とともに一方向に変動し続ける波形となる。
【００４１】
図５（ｃ）は、Ａ／Ｄ変換器１１５あるいは焦点距離演算部１０８の変化量を、振れ補正角度に換算した信号の時間による変化を示した図である。振れ補正角度は、Ａ／Ｄ変換器１０４から出力された角速度センサ信号が、加減算器１０５及びＨＰＦ演算部１０６を通過し、低周波数成分がカットされた信号を用いて生成されている。よって振れ補正角度は、図５（ｃ）に示すように、図５（ａ）で手振れに重畳されていた、基準値及びパンニングの低周波数成分は除去され、手振れのみを補正するための信号となる。
【００４２】
図５（ｄ）は、動きベクトル検出回路１２１の出力の積算値を、振れ残り角度に換算した値の時間による変化を示した図である。上述したように、振れ補正量は、Ａ／Ｄ変換器１０４から出力された角速度センサ信号が、加減算器１０５及びＨＰＦ演算部１０６を通過し、低周波数成分がカットされた信号を用いて生成されている。そのため、パンニングの低周波数成分は、補正光学系１１８によって補正されず、撮像画像の動きとして現れる。よって振れ残り角度は、図５（ｄ）に示すように、パンニングの開始時間Ｔ０から増加し始め、パンニングの終了時間Ｔ１で一定値となる。なお実際には、手振れの補正残り信号も振れ残り角度に含まれるが、以下の説明では説明を分かりやすくするために省略する。
【００４３】
図５（ｅ）の実線波形は、図５（ｂ）の角速度センサ信号角度換算値から、図５（ｃ）の振れ補正角度及び図５（ｄ）の振れ残り角度を引いた信号である。上述したように角速度センサ信号角度換算値は、手振れに基準値及びパンニングの低周波数成分が重畳された信号を積分した値である。また、振れ補正角度は手振れのみを補正するための信号であり、振れ残り角度は、パンニングの低周波数成分を示す信号である。よって、図５（ｂ）の角速度センサ信号角度換算値から、図５（ｃ）の振れ補正角度及び図５（ｄ）の振れ残り角度を引いた信号は、基準値の積算値の角度換算のみを表す信号となる。よって、図５（ａ）に示すように基準値が一定値の場合は、図５（ｅ）の実線波形のような直線波形となる。図５（ｅ）の点線波形は、比較のため振れ補正角度及び振れ残り角度を減算する前の、角速度センサ信号角度換算値を示している。
【００４４】
ここで（式３）において、角速度センサ信号を、撮像装置の動き成分Blur[ｎ]と基準値Refに分解して、Gyro_Int[ｎ]＝Blur[ｎ]＋Refとすると、
【００４５】
【数２】
0005600516.tif 000003
【００４６】
よって、図５（e）に示した基準値の積分値の角度換算は、以下の式で表すことができる。
【００４７】
基準値の積算値の角度換算＝Ref×Time_Thresh×Δt
＝Ref×Time_Thresh×Ｋ３
基準値の積算値の角度換算は、上述したように、角速度センサ信号角度換算値から、振れ補正角度及び振れ残り角度を減算した値であるため、基準値（Ref）は基準値の積算値の微分値として以下の式で算出することができる。
【００４８】
基準値＝｛角速度センサ信号角度換算値−（振れ補正角度＋振れ残り角度）｝÷
（Ｋ３×Time_Thresh）            …（式４）
なお、図５では説明を分かりやすくするために、パンニング時間まで含めた長時間の波形を示した。しかし、（式４）による基準値算出は、実際には動きベクトル検出回路１２１の検出周期よりも大きい期間（例えばＮＴＳＣ方式では１／６０秒）であれば、算出することができる。この時間は基準値の変動周期よりも十分に速い周期であり、基準値の変動に遅延なく追従することが可能となる。また、本実施形態では、基準値の算出のために、角速度センサ信号の積算値、位置検出信号あるいは振れ補正信号の変化量、動きベクトル信号の積算値（すなわち画の動き量）の算出を行い、それらを「角度」の単位へと換算した。しかし、換算する単位は「角度」の単位でなくてもよい。例えば、画の動き量の単位に換算してもよいし、その他物理的な意味を持たない値に換算してもよい。また、角速度センサ信号の積算値は、加減算器１０５の出力の積算値としてもよい。その場合は、（式４）で算出される基準値は、基準値の変化量となる。
【００４９】
ステップＳ２０４において基準値の算出を行った後、図４の処理は終了となり、図３のフローチャートのステップＳ１１０の処理へ移行する。
【００５０】
ステップＳ１１０においては、ステップＳ１０９で算出した新しい基準値を、加減算器１０５に供給するとともに、ＨＰＦ演算部１０６の制御サンプリング毎の演算結果として保持されている中間信号（中間値）を変更する。ＨＰＦ演算部１０６の中間信号を変更する理由を、図２及び図６を用いて説明する。
【００５１】
図６（ａ）は、ＨＰＦ演算部１０６への入力信号の時間による変化を示したグラフである。時間０において、図６（ａ）に示すように基準値がΔrefずれた状態であったとする。そして時間Ｔ０において、基準値演算部１１６によって正しい基準値が算出され、加減算器１０５に入力される基準値が更新されたとする。すると、ＨＰＦ演算部１０６への入力信号は、時間Ｔ０において、図６（ａ）に示すように不連続に変化する。
【００５２】
図２に示した構成のＨＰＦ演算部１０６において、ｎサンプリング目に基準値がΔref変化したとして、入力信号をHPF_IN[ｎ]＋Δref、出力信号をHPF_OUT[ｎ]、Ｚ-1へ供給される信号（以下、HPF中間信号とする）をZ[ｎ]とすると、HPF_OUT[ｎ]とZ[ｎ]の計算値は以下のようになる。
【００５３】
HPF_OUT[ｎ]＝ｂZ[ｎ]＋ｃZ[ｎ−１]         …（式５）
Z[ｎ]＝HPF_IN[ｎ]＋Δref＋ａZ[ｎ−１]     …（式６）
（式５）と（式６）より、以下の式が導出される。
【００５４】
HPF_OUT[ｎ]＝ｂHPF_IN[ｎ]＋ｂΔref＋(ａｂ＋ｃ)Z[ｎ−１]      …（式７）
（式７）より、ステップＳ１０９で算出した新しい基準値を加減算器１０５に供給するだけでは、ＨＰＦ演算部１０６の出力に、ステップ状の変化ｂΔrefが生じてしまう。図６（ｂ）は、ＨＰＦ演算部１０６の中間信号を変更する処理を行わず、図６（ａ）に示すＨＰＦ演算部１０６への入力信号の変更を行ったときの、ＨＰＦ演算部１０６の出力信号の時間による変化を示したグラフである。図６（ｂ）の時間Ｔ０のように、ＨＰＦ演算部１０６の出力信号に変動が生じると、撮像装置１００に振れが生じていないのにも関わらず、補正光学系１１８の駆動を行い、画が動いてしまうという不具合が生じる。
【００５５】
そこで、基準値演算部１１６によって算出された新しい基準値（前回算出された基準値とΔref異なるものとする）を、加減算器１０５に入力するときは、ＨＰＦ演算部１０６の中間信号Z[ｎ−１]を、以下式に示すZ[ｎ−１]’に変更する。
【００５６】
Z[ｎ−１]’＝Z[ｎ−１]−Δref／ａ          …（式８）
（式６）のZ[ｎ−１]を、（式８）のZ[ｎ−１]’に置き換えると、以下のようになる。
【００５７】
Z[ｎ]＝HPF_IN[ｎ]＋Δref＋ａZ[ｎ−１]’
＝HPF_IN[ｎ]＋Δref＋ａ（Z[ｎ−１]−Δref／ａ）
＝HPF_IN[ｎ]＋ａZ[ｎ−１]           …（式９）
すると、（式９）は（式２）と一致し、ＨＰＦ演算部１０６の出力信号は（式１）と一致する。このように、ステップＳ１０９で算出した新しい基準値を加減算器１０５に供給するとともに、ＨＰＦ演算部１０６の中間信号Z[ｎ−１]を（式８）に示すように変更すれば、ＨＰＦ演算部１０６の出力の、ステップ状の変化をなくすことができる。図６（ｃ）は、ＨＰＦ演算部１０６の中間信号を変更する処理を行い、図６（ａ）に示すＨＰＦ演算部１０６への入力信号の変更を行ったときの、ＨＰＦ演算部１０６の出力信号の時間による変化を示したグラフである。図６（ｃ）の時間Ｔ０では、上述したように、図６（ｂ）で生じたようなＨＰＦ演算部１０６の出力信号の変動は生じない。
【００５８】
以上のように、ステップＳ１１０においては、基準値の変化がＨＰＦ演算部１０６の出力に影響を与えないように、ステップＳ１０９で算出した新しい基準値を、加減算器１０５に供給するとともに、ＨＰＦ演算部１０６の中間信号の変更を行っている。なお、例えば静止画撮影時などに、図２においてａ＝０，ｂ＝１，ｃ＝０とし、ＨＰＦ演算部１０６の入力信号をそのまま出力する場合は、ステップＳ１１０の基準値の変更及びＨＰＦ演算部１０６の中間信号の変更は行わない。静止画撮影時などの短い期間では、基準値の変動はほぼゼロでおり、本実施形態においてはａ＝０，ｂ＝１，ｃ＝０とする期間以外に精度の高い基準値の算出を行うことが可能であるため、ａ＝０，ｂ＝１，ｃ＝０としたときに、ステップＳ１１０の基準値の変更を行わなくとも問題はない。
【００５９】
ステップＳ１１０の処理の後は、ステップＳ１１１の処理へ移行する。ステップＳ１１１においては、次の基準値算出を行うためにSTART_FLAGをリセットし、図３の処理は終了となる。
【００６０】
以上のように、本実施形態によれば、従来の課題であった、パンニング中など振れ補正効果を意図的に弱くした場合においても、高い基準値の算出精度を実現することができる。これによって、手振れ補正性能の向上を実現することが可能となる。
【００６１】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、補正光学系１１８は、電子的な補正手段であってもよいし、撮像素子１１９を移動する構成のものであってもよい。また、角速度センサ１０２は、加速度センサ等を用いる構成のものであってもよい。
【図１】
0005600516.tif 000004
【図２】
0005600516.tif 000005
【図３】
0005600516.tif 000006
【図４】
0005600516.tif 000007
【図５】
0005600516.tif 000008
【図６】
0005600516.tif 000009