(57)【特許請求の範囲】
【請求項１】
角速度を検出する角速度検出部と、
前記角速度検出部の検出信号に基づき、撮像光学系を通して被写体を撮像する撮像素子と前記撮像光学系との少なくとも一方を動かして、前記撮像素子により撮像して得られる撮像画像データに生じる像ぶれを補正する像ぶれ補正部と、
前記撮像素子により撮像して得られた第一の撮像画像データと前記第一の撮像画像データよりも後に得られ前記像ぶれ補正部によって像ぶれが補正された第二の撮像画像データとの間の第一の動きベクトルを算出する第一の動きベクトル算出部と、
前記第一の動きベクトルに基づいて、前記角速度検出部の検出信号に含まれるオフセット信号を低減するオフセット補正を行うオフセット補正部と、
前記角速度検出部の検出信号の低周波成分を減衰させるフィルタ処理を行うフィルタ処理部と、を備え、
前記像ぶれ補正部は、前記フィルタ処理後の検出信号に基づいて生成した像ぶれ補正量にしたがって像ぶれを補正し、
前記オフセット補正部は、前記フィルタ処理前の前記検出信号に基づいて生成した像ぶれ補正量と、前記フィルタ処理後の検出信号に基づいて生成した像ぶれ補正量との差分を更に用いて前記オフセット補正を行う手ぶれ補正装置。
【請求項２】
請求項１記載の手ぶれ補正装置であって、
前記撮像光学系は焦点距離可変のものであり、
前記第一の動きベクトルの大きさと前記撮像光学系の焦点距離とを用いて補正値を生成する第一の補正値生成部を更に備え、
前記オフセット補正部は、前記第一の動きベクトルの向きにしたがって、前記角速度検出部の検出信号に前記補正値を加算又は減算してオフセット補正を行う手ぶれ補正装置。
【請求項３】
請求項１又は２記載の手ぶれ補正装置であって、
前記第一の撮像画像データと、前記オフセット補正部によるオフセット信号低減後の前記角速度検出部の検出信号に基づいて像ぶれが補正された撮像画像データとの間の第二の動きベクトルを算出する第二の動きベクトル算出部を更に備え、
前記第一の動きベクトルの向きと、前記第二の動きベクトルの向きが逆である場合に、前記オフセット補正部は、新たに算出される前記第一の動きベクトルに基づいて前記オフセット補正をやり直す手ぶれ補正装置。
【請求項４】
請求項１〜３のいずれか１項記載の手ぶれ補正装置であって、
前記オフセット補正部は、少なくとも前記手ぶれ補正装置の起動時に前記オフセット補正を行う手ぶれ補正装置。
【請求項５】
角速度を検出する角速度検出部と、
前記角速度検出部の検出信号に基づき、撮像光学系を通して被写体を撮像する撮像素子と前記撮像光学系との少なくとも一方を動かして、前記撮像素子により撮像して得られる撮像画像データに生じる像ぶれを補正する像ぶれ補正部と、
前記像ぶれ補正部によって像ぶれが補正された撮像画像データから当該撮像画像データに生じている像ぶれ量を算出する像ぶれ量算出部と、
前記像ぶれ量に基づいて、前記角速度検出部の検出信号に含まれるオフセット信号を低減するオフセット補正を行うオフセット補正部と、を備える手ぶれ補正装置。
【請求項６】
請求項５記載の手ぶれ補正装置であって、
前記像ぶれ量に対応する補正値を生成する第二の補正値生成部を更に備え、
前記オフセット補正部は、前記角速度検出部の検出信号に前記補正値を加算又は減算してオフセット補正を行う手ぶれ補正装置。
【請求項７】
請求項６記載の手ぶれ補正装置であって、
前記オフセット補正部は、前記補正値を加算又は減算する前の前記検出信号に基づいて像ぶれが補正された撮像画像データから前記像ぶれ量算出部によって算出された第一の像ぶれ量と、前記補正値を加算又は減算した後の前記検出信号に基づいて像ぶれが補正された撮像画像データから前記像ぶれ量算出部によって算出された第二の像ぶれ量との大小関係にしたがって、前記検出信号に前記補正値を加算するか減算するかを決定する手ぶれ補正装置。
【請求項８】
請求項６又は７記載の手ぶれ補正装置であって、
前記第二の補正値生成部は、前記像ぶれ量を時間微分した値に、前記撮像素子の画素ピッチと前記角速度検出部の感度特性との相関係数を乗じて、前記補正値を生成する手ぶれ補正装置。
【請求項９】
請求項５記載の手ぶれ補正装置であって、
前記オフセット補正部は、前記角速度検出部の検出信号に補正値を加算又は減算した後の前記検出信号に基づいて像ぶれが補正された撮像画像データから前記像ぶれ量算出部によって算出される像ぶれ量が閾値未満になるまで前記補正値を一定量ずつ変化させていき、当該像ぶれ量が閾値未満になった状態での前記補正値を前記角速度検出部の検出信号に加算又は減算してオフセット補正を行う手ぶれ補正装置。
【請求項１０】
請求項１〜９のいずれか１項記載の手ぶれ補正装置を備える撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手ぶれ補正装置とこれを備える撮像装置に関する。
【背景技術】
【０００２】
撮像光学系を通して被写体を撮像する撮像素子を備える撮像装置には、ジャイロセンサ等の角速度検出部によって検出した撮像装置の角速度に基づき、撮像装置の動きによって生じる撮像画像の像ぶれを補正する手ぶれ補正機能を有するものがある。【０００３】
特許文献１には、角速度検出部の出力を増幅しＡＤ変換して求めた像ぶれ補正量と、時間的に連続する２つの撮像画像間の動きベクトルとに基づいて、上記像ぶれ補正量を補正することで、精度の高い手ぶれ補正を行う手ぶれ補正装置が記載されている。【０００４】
特許文献２には、角速度検出部を持たない撮像装置において、任意の撮像画像中の画素間における輝度の変化に基づいて、この撮像画像におけるぼけ量とぼけ方向とを求めることで、手ぶれによって生じたぼけか、撮像装置の平行移動によって生じたぼけなのかを判別し、手ぶれによって生じたぼけである場合には、撮像画像からの切り出し範囲を変更することで手ぶれ補正を行うことが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】日本国特開２００７−２６６７７１号公報
【特許文献２】日本国特開２００７−２２１２９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ジャイロセンサに代表される角速度検出部は、この角速度検出部が搭載される装置が動いていない状態であっても検出信号（オフセット信号）を出力する。したがって、正確な手ぶれ補正を行うには、このオフセット信号を考慮する必要がある。【０００７】
特許文献１に記載の手ぶれ補正装置は、センサ出力に基づいて算出した像ぶれ補正量と、２つの撮像画像間の動きベクトルとが等しくなるように、像ぶれ補正量を補正することで、角速度検出部では検出できない動き（例えば平行移動）による誤補正を防いでいる。この手ぶれ補正装置は、像ぶれが補正されない状態で得られた２つの撮像画像間の動きベクトルに基づいて像ぶれ補正量を補正している。この動きベクトルは、撮影間のカメラの動きを反映するものであり、角速度検出部のオフセット信号は反映していない。このため、特許文献１に記載の手ぶれ補正装置ではオフセット信号に起因する誤補正を防ぐことができない。【０００８】
特許文献２に記載の撮像装置は、角速度検出部を用いた手ぶれ補正を行うものではないため、オフセット信号に起因する誤補正といった課題は生じない。【０００９】
本発明は、上記事情に鑑みてなされたものであり、角速度検出部のオフセット信号が存在しても高精度な補正が可能な手ぶれ補正装置とこれを備える撮像装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の手ぶれ補正装置は、角速度を検出する角速度検出部と、前記角速度検出部の検出信号に基づき、撮像光学系を通して被写体を撮像する撮像素子と前記撮像光学系との少なくとも一方を動かして、前記撮像素子により撮像して得られる撮像画像データに生じる像ぶれを補正する像ぶれ補正部と、前記撮像素子により撮像して得られた第一の撮像画像データと前記第一の撮像画像データよりも後に得られ前記像ぶれ補正部によって像ぶれが補正された第二の撮像画像データとの間の第一の動きベクトルを算出する第一の動きベクトル算出部と、前記第一の動きベクトルに基づいて、前記角速度検出部の検出信号に含まれるオフセット信号を低減するオフセット補正を行うオフセット補正部と、前記角速度検出部の検出信号の低周波成分を減衰させるフィルタ処理を行うフィルタ処理部と、を備え、前記像ぶれ補正部は、前記フィルタ処理後の検出信号に基づいて生成した像ぶれ補正量にしたがって像ぶれを補正し、前記オフセット補正部は、前記フィルタ処理前の前記検出信号に基づいて生成した像ぶれ補正量と、前記フィルタ処理後の検出信号に基づいて生成した像ぶれ補正量との差分を更に用いて前記オフセット補正を行うものである。
【００１１】
本発明の手ぶれ補正装置は、角速度を検出する角速度検出部と、上記角速度検出部の検出信号に基づき、撮像光学系を通して被写体を撮像する撮像素子と上記撮像光学系との少なくとも一方を動かして、上記撮像素子により撮像して得られる撮像画像データに生じる像ぶれを補正する像ぶれ補正部と、上記像ぶれ補正部によって像ぶれが補正された撮像画像データからその撮像画像データに生じている像ぶれ量を算出する像ぶれ量算出部と、上記像ぶれ量に基づいて、上記角速度検出部の検出信号に含まれるオフセット信号を低減するオフセット補正を行うオフセット補正部と、を備えるものである。【００１２】
本発明の撮像装置は、上記手ぶれ補正装置を備えるものである。
【発明の効果】
【００１３】
本発明によれば、角速度検出部のオフセット信号が存在しても高精度な補正が可能な手手ぶれ補正装置とこれを備える撮像装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態である手ぶれ補正装置を搭載する撮像装置の概略構成を示す図である。
【図２】手ぶれ補正装置が起動してからの撮像装置の動作を説明するためのフローチャートである。
【図３】図２の動作を説明するための図である。
【図４】手ぶれ補正装置が起動してからの撮像装置の動作の変形例を説明するためのフローチャートである。
【図５】図４の動作を説明するための図である。
【図６】パンニング等によって像ぶれを補正しきれない動きが生じたときの角速度検出信号ωｘの変化を示す図である。
【図７】パンニングによる誤補正がなされたときの動きベクトルの変化を説明するための図である。
【図８】手ぶれ補正装置が起動してからの撮像装置の動作の変形例を説明するためのフローチャートである。
【図９】図１の撮像装置における手ぶれ補正装置の部分の変形例を示す図である。
【図１０】露光時間が長いときの撮像画像データＧ（１），Ｇ（２）を示した図である。
【図１１】露光時間が長いときの撮像画像データＧ（１）を示した図である。
【図１２】図１に示した撮像装置の動作の変形例を説明するためのフローチャートである。
【図１３】図１に示した撮像装置の動作の別の変形例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について図面を参照して説明する。
【００１６】
図１は、本発明の一実施形態である手ぶれ補正装置を搭載する撮像装置の概略構成を示す図である。
【００１７】
図１の撮像装置は、撮像光学系としての撮像レンズ１と、撮像レンズ１を駆動するレンズ駆動部２と、撮像レンズ１を通して被写体を撮像する撮像素子３と、撮像素子３から出力される撮像画像信号に画像処理を施して撮像画像データを生成する画像処理部４と、撮像画像データが一次記憶されるメモリ５と、角速度検出部６と、加減算部７ｘ，７ｙと、フィルタ処理部としてのハイパスフィルタ（ＨＰＦ）８ｘ，８ｙと、増幅器９ｘ，９ｙと、積分器１０ｘ，１０ｙと、制御部１１と、を備える。これらの構成要素のうち、撮像レンズ１とレンズ駆動部２は、撮像装置に対して着脱可能なユニットであってもよい。
【００１８】
撮像素子３は、ｘ方向とこれに直交するｙ方向に二次元状に画素が配置された撮像面を有している。
【００１９】
撮像レンズ１は、ｘ方向とこれに直交するｙ方向にそれぞれ移動可能であり、レンズ駆動部２によって駆動される。撮像レンズ１は、焦点距離を変更するためのズームレンズを含み、焦点距離可変の撮像光学系となっている。
【００２０】
角速度検出部６、加減算部７ｘ，７ｙ、ＨＰＦ８ｘ，８ｙ、増幅器９ｘ，９ｙ、積分器１０ｘ，１０ｙ、及び制御部１１により、手ぶれ補正装置が構成される。
【００２１】
角速度検出部６は、角速度を検出するものであり、例えばジャイロセンサが用いられる。本明細書では、角速度検出部６を、撮像素子３の撮像面の直交する２辺に沿う方向（ｘ方向及びｙ方向）に伸びる軸回りの角速度を検出する２軸ジャイロセンサとして説明する。
【００２２】
角速度検出部６からは、ｘ方向に伸びるｘ軸回りの角速度検出信号ωｘと、ｙ方向に伸びるｙ軸回りの角速度検出信号ωｙとが出力される。
【００２３】
角速度検出信号ωｘは、撮像レンズ１の光軸が重力方向に垂直な状態から、被写体側から見て光軸が右側に向いたときに検出されるものが符号プラスとなり、光軸が左側に向いたときに検出されるものが符号マイナスとなる。
【００２４】
角速度検出信号ωｙは、撮像レンズ１の光軸が重力方向に垂直な状態から、被写体側から見て光軸が上方に傾いたときに検出されるものが符号プラスとなり、光軸が下方に傾いたときに検出されるものが符号マイナスとなる。
【００２５】
加減算部７ｘは、角速度検出部６から出力された角速度検出信号ωｘにオフセット補正値Ｘを加算又は減算する。加算を行うか減算を行うかは、制御部１１によって設定される。手ぶれ補正装置が起動した直後の初期状態では、オフセット補正値Ｘ＝０である。
【００２６】
ＨＰＦ８ｘは、角速度検出部６から出力された角速度検出信号ωｘに含まれる低周波成分を減衰させるフィルタ処理を行う。この低周波成分には、ノイズの他、オフセット信号も含まれる。
【００２７】
ＨＰＦ８ｘは、低周波成分が最終的にほぼゼロになるようにフィルタ処理を行うが、低周波成分がゼロになるまでには、信号入力からある程度の時間が必要となる。このため、この時間が経過するまでは角速度検出部６のオフセット補正が必要となる。また、ＨＰＦ８を設けても、オフセット信号を完全には除去できるわけではない。このため、角速度検出部６のオフセット補正が必要となる。
【００２８】
増幅器９ｘは、ＨＰＦ８ｘから出力される角速度検出信号ωｘにゲインを乗じて、角速度検出信号ωｘを増幅する。
【００２９】
積分器１０ｘは、増幅器９ｘから出力された角速度検出信号ωｘを時間で積分して、この時間で撮像装置がｘ軸回りに動いた角度であるぶれ角θ１を算出する。
【００３０】
加減算部７ｙは、角速度検出部６から出力された角速度検出信号ωｙにオフセット補正値Ｙを加算又は減算する。加算を行うか減算を行うかは、制御部１１によって設定される。手ぶれ補正装置が起動した直後の初期状態では、オフセット補正値Ｙ＝０である。
【００３１】
ＨＰＦ８ｙは、角速度検出部６から出力された角速度検出信号ωｙに含まれる低周波成分を減衰させるフィルタ処理を行う。この低周波成分には、ノイズの他、オフセット信号も含まれるが、角速度検出信号ωｘと同様に、オフセット補正は必要となる。
【００３２】
増幅器９ｙは、ＨＰＦ８ｙから出力される角速度検出信号ωｙにゲインを乗じて、角速度検出信号ωｙを増幅する。
【００３３】
積分器１０ｙは、増幅器９ｙから出力された角速度検出信号ωｙを時間で積分して、この時間で撮像装置がｙ軸回りに動いた角度であるぶれ角θ２を算出する。
【００３４】
制御部１１は、ぶれ角θ１に基づき、撮像素子３により撮像して得られる撮像画像データに生じるｙ方向の像ぶれを補正するための像ぶれ補正量であるレンズ移動量Ｄｙを算出する。
【００３５】
具体的には、撮像レンズ１の焦点距離をｆとすると、ｆ×ｔａｎθ１で求まる値が、実際に撮像装置がｙ方向に動いたぶれ量になる。このため、このぶれ量を相殺するために必要なレンズ移動量Ｄｙは、Ｄｙ＝−（ｆ×ｔａｎθ１）となる。
【００３６】
また、制御部１１は、ぶれ角θ２に基づき、撮像素子３により撮像して得られる撮像画像データに生じるｘ方向の像ぶれを補正するための像ぶれ補正量であるレンズ移動量Ｄｘを算出する。
【００３７】
具体的には、ｆ×ｔａｎθ２で求まる値が、実際に撮像装置がｘ方向に動いたぶれ量になる。このため、このぶれ量を相殺するために必要なレンズ移動量Ｄｘは、Ｄｘ＝−（ｆ×ｔａｎθ２）となる。
【００３８】
制御部１１は、算出したレンズ移動量Ｄｘとレンズ移動量Ｄｙをレンズ駆動部２に送信し、レンズ駆動部２により撮像レンズ１をレンズ移動量分移動させて、像ぶれを補正する制御を行う。制御部１１は像ぶれ補正部として機能する。
【００３９】
また、制御部１１は、メモリ５に記憶された像ぶれ補正前の撮像画像データ（第一の撮像画像データ）と、この撮像画像データの後に撮像して得られた像ぶれ補正後の撮像画像データ（第二の撮像画像データ）との間の第一の動きベクトルを算出する。そして、制御部１１は、この第一の動きベクトルに基づいて、角速度検出部６の検出信号に含まれるオフセット信号を低減するオフセット補正を行う。制御部１１は、第一の動きベクトル算出部及びオフセット補正部として機能する。
【００４０】
以下、図１の撮像装置の手ぶれ補正機能オン時の動作を説明する。
【００４１】
手ぶれ補正装置を搭載する撮像装置において、手ぶれ補正機能がオンにされると、手ぶれ補正装置が起動する。図２は、手ぶれ補正装置が起動してからの撮像装置の動作を説明するためのフローチャートである。図３は、図２の動作を説明するための図である。
【００４２】
手ぶれ補正装置が起動すると、制御部１１は、起動直前又は直後に撮像素子３により撮像して得られた撮像画像データＧ（ｎ）（ｎ＝１）をメモリ５から取得する（ステップＳ１）。撮像画像データＧ（ｎ）は、オフセット補正及び像ぶれ補正がなされていない状態で取得されたデータである。
【００４３】
次に、制御部１１は、図３に示すように、撮像画像データＧ（１）を得るための露光開始から、撮像画像データＧ（２）を得るための露光開始までの期間Ｔ（１）における角速度検出信号ωｘ，ωｙの積分値（ぶれ角θ１，θ２）を積分器１０ｘ，１０ｙから取得する。
【００４４】
制御部１１は、取得したぶれ角θ１，θ２に基づいて、撮像装置の動きによる撮像画像データの像ぶれをキャンセルするために必要なレンズ移動量Ｄｘ，Ｄｙを算出する（ステップＳ２）。
【００４５】
次に、制御部１１は、算出したレンズ移動量Ｄｘ，Ｄｙにしたがって撮像レンズ１を駆動して像ぶれ補正を行う（ステップＳ３）。この像ぶれ補正が行われている期間に、撮像画像データＧ（ｎ＋１）を得るための露光が行われる。
【００４６】
この露光が終了し、撮像画像データＧ（ｎ＋１）がメモリ５に記憶されると、制御部１１は、撮像画像データＧ（ｎ＋１）をメモリ５から取得する（ステップＳ４）。撮像画像データＧ（ｎ＋１）は、オフセット補正前及び像ぶれ補正後の撮像画像データとなる。
【００４７】
そして、制御部１１は、取得した撮像画像データＧ（ｎ）と撮像画像データＧ（ｎ＋１）とでパターンマッチングを行い、撮像画像データＧ（ｎ）及び撮像画像データＧ（ｎ＋１）間の第一の動きベクトル（図３の符号ｂ１）を算出する（ステップＳ５）。
【００４８】
第一の動きベクトルｂ１は、オフセット補正前かつ像ぶれ補正前の撮像画像データを基準としたときの、この撮像画像データより後に得られたオフセット補正前かつ像ぶれ補正後の撮像画像データの動きを示しており、角速度検出部６の検出信号に含まれるオフセット信号により誤補正された動きを反映したものとなる。
【００４９】
第一の動きベクトルｂ１は、撮像面におけるｘ方向の成分であるｘ方向動きベクトルｂｘ１と、撮像面におけるｙ方向の成分であるｙ方向動きベクトルｂｙ１とに分解される。
【００５０】
ｘ方向動きベクトルｂｘ１は、図３において下から上に向かう方向をプラス、図３において上から下に向かう方向をマイナスとしている。ｙ方向動きベクトルｂｙ１は、図３において左から右に向かう方向をプラス、図３において右から左に向かう方向をマイナスとしている。
【００５１】
制御部１１は、ｘ方向動きベクトルｂｘ１と撮像レンズ１の焦点距離ｆを用い、第一の補正値としてのオフセット補正値Ｙｃを生成し、ｙ方向動きベクトルｂｙ１と撮像レンズ１の焦点距離ｆを用い、第一の補正値としてのオフセット補正値Ｘｃを生成する（ステップＳ６）。制御部１１は第一の補正値生成部として機能する。
【００５２】
ｘ方向動きベクトルｂｘ１は、２つの画像間のｘ方向の動きを表すものであるため、この動きを角速度検出信号ωｙに変換する必要がある。ｘ方向動きベクトルｂｘ１の大きさの単位は画素数であるため、この画素数をｙ軸回りのぶれ角θｙに変換する。ｔａｎ（θｙ）＝｛（ｂｘ１の大きさ（画素数））＊（撮像素子３の画素ピッチ）｝／ｆなので、この式からぶれ角θｙが求まる。
【００５３】
次に、ぶれ角θｙは期間Ｔ（２）の間の積分値に相当するため、ぶれ角θｙを期間Ｔ（２）で割った値を、増幅器９ｙで設定しているゲインで更に割った値が、オフセット補正値Ｙｃの大きさとなる。
【００５４】
同様に、ｙ方向動きベクトルｂｙ１の大きさの単位は画素数であるため、この画素数をｘ軸回りのぶれ角θｘに変換する。ｔａｎ（θｘ）＝｛（ｂｙ１の大きさ（画素数））＊（撮像素子３の画素ピッチ）｝／ｆなので、この式から、ぶれ角θｘが求まる。
【００５５】
ぶれ角θｘを期間Ｔ（２）で割った値を、増幅器９ｘで設定しているゲインで更に割った値が、オフセット補正値Ｘｃの大きさとなる。
【００５６】
オフセット補正値Ｘｃとオフセット補正値Ｙｃを、角速度検出部６の検出信号に加算すべきか減算すべきかは、オフセット補正値Ｘｃとオフセット補正値Ｙｃそれぞれの算出の元となった動きベクトルｂｙ１又は動きベクトルｂｘ１の向きによって決まる。
【００５７】
ｙ方向動きベクトルｂｙ１の向きがプラスであれば、像ぶれ補正の結果、撮像レンズ１が−ｙ方向に動いたことを示し、角速度検出信号ωｘのオフセット信号がプラスであることが分かる。このため、このオフセット信号を相殺すべくオフセット補正値Ｘｃを検出信号から減算する必要がある。また、ｙ方向動きベクトルｂｙ１の向きがマイナスであれば、オフセット補正値Ｘｃを検出信号に加算する必要がある。
【００５８】
同様に、ｘ方向動きベクトルｂｘ１の向きがプラスであれば、像ぶれ補正の結果、撮像レンズ１が−ｘ方向に動いたことを示し、角速度検出信号ωｙのオフセット信号がプラスであることが分かる。このため、このオフセット信号を相殺すべくオフセット補正値Ｙｃを検出信号から減算する必要がある。また、ｘ方向動きベクトルｂｘ１の向きがマイナスであれば、オフセット補正値Ｙｃを検出信号に加算する必要がある。
【００５９】
ステップＳ６の後、制御部１１は、加減算部７ｘに設定するオフセット補正値Ｘを、初期値＝０から、ステップＳ６で生成したＸｃに更新し、加減算部７ｙに設定するオフセット補正値Ｙを、初期値＝０から、ステップＳ６で生成したＹｃに更新する（ステップＳ７）。
【００６０】
続いて、制御部１１は、加減算部７ｘに設定する補正方法を、オフセット補正値Ｘｃの生成元の動きベクトルｂｙ１の符号がプラスであれば［減算］に設定し、動きベクトルｂｙ１の符号がマイナスであれば［加算］に設定する。同様に、制御部１１は、加減算部７ｙに設定する補正方法を、オフセット補正値Ｙｃの生成元の動きベクトルｂｘ１の符号がプラスであれば［減算］に設定し、動きベクトルｂｘ１の符号がマイナスであれば［加算］に設定する（ステップＳ８）。
【００６１】
これらの設定により、角速度検出部６から出力される検出信号は、オフセット補正値Ｘｃ，Ｙｃが加算又は減算されることでオフセット信号が低減されることになり、オフセット補正が行われる。以降は、オフセット補正された状態で像ぶれ補正量が算出されるため、正確な像ぶれ補正がなされる。
【００６２】
以上のように、図１の撮像装置は、撮像画像データとこの撮像画像データよりも後に得られた像ぶれ補正後の撮像画像データとの間の第一の動きベクトルに基づいて、角速度検出部６のオフセット信号を低減するオフセット補正を行う。このように、角速度検出部６の検出信号そのものを補正してしまうため、オフセット補正値Ｘｃ，Ｙｃと補正方法を設定した後は、オフセット信号に起因する補正動作（動きベクトル算出、オフセット補正値算出等）が不要となり、従来技術と比べて制御部１１の演算量を減らすことができる。
【００６３】
以上の説明では、加減算部７ｘ，７ｙに設定するオフセット補正値Ｘｃ，Ｙｃを、動きベクトルｂ１の大きさと焦点距離ｆとによって演算して生成した値にしている。
【００６４】
この変形例として、オフセット補正値Ｘ，Ｙを一定量ずつ変化させていき、動きベクトルｂ１の大きさが閾値未満となった時点でのオフセット補正値Ｘ，Ｙを最終的なオフセット補正値として加減算部７ｘ，７ｙに設定してもよい。
【００６５】
図４は、手ぶれ補正装置が起動してからの撮像装置の動作の変形例を説明するためのフローチャートである。図５は、図４の動作を説明するための図である。図４において図２と同一処理には同一符号を付して説明を省略する。
【００６６】
ステップＳ５の後、制御部１１は、オフセット補正値Ｘとして予め決めた補正値Ｈｘを仮設定し、オフセット補正値Ｙとして予め決めた補正値Ｈｙを仮設定し、動きベクトルｂｘ１，ｂｙ１の向きにしたがって補正方法として［加算］又は［減算］を設定する（ステップＳ２０）。
【００６７】
具体的には、制御部１１は、動きベクトルｂｘ１（ｂｙ１）の向きがプラスであれば加減算部７ｘ（７ｙ）に対して［減算］を設定し、動きベクトルｂｘ１（ｂｙ１）の向きがマイナスであれば加減算部７ｘ（７ｙ）に対して［加算］を設定する。
【００６８】
次に、制御部１１は、加減算部７ｘ，７ｙによって補正値Ｈｘ，Ｈｙが加算又は減算された検出信号に基づいて像ぶれ補正を行って得られた撮像画像データＧ（ｎ＋２）（第三の撮像画像データ（図５の撮像画像データＧ（３）））を取得する（ステップＳ２１）。
【００６９】
次に、制御部１１は、補正値Ｈｘ，Ｈｙの設定前に得られた撮像画像データＧ（１）と、撮像画像データＧ（ｎ＋２）との間の動きベクトルｂ１を算出する（ステップＳ２２）。
【００７０】
制御部１１は、ステップＳ２２で算出した動きベクトルｂ１のｘ方向成分である動きベクトルｂｘ１の大きさを閾値Ｔｘと比較する（ステップＳ２３）。
【００７１】
動きベクトルｂｘ１の大きさが閾値Ｔｘ以上であれば（ステップＳ２３：ＮＯ）、制御部１１は、オフセット補正値Ｘとして仮設定中のＨｙを一定量変化させる（ステップＳ２６）。例えば、Ｈｙの値を１．５倍した値に変化させる。
【００７２】
制御部１１は、ステップＳ２６の後は、ｎをｎ＋１にして（ステップＳ２８）、ステップＳ２１の処理を行う。
【００７３】
ステップＳ２３の判定がＹＥＳであれば、制御部１１は、ステップＳ２２で算出した動きベクトルｂ１のｙ方向成分である動きベクトルｂｙ１の大きさを閾値Ｔｙと比較する（ステップＳ２４）。
【００７４】
動きベクトルｂｙ１の大きさが閾値Ｔｙ以上であれば（ステップＳ２４：ＮＯ）、制御部１１は、オフセット補正値Ｙとして仮設定中のＨｘを一定量変化させる（ステップＳ２７）。例えば、Ｈｘの値を１．５倍した値に変化させる。
【００７５】
制御部１１は、ステップＳ２７の後は、ｎをｎ＋１にして（ステップＳ２８）、ステップＳ２１の処理を行う。
【００７６】
ステップＳ２４の判定がＹＥＳであれば、制御部１１は、この時点で仮設定されている補正値Ｈｘ，Ｈｙを、最終的なオフセット補正値として設定する（ステップＳ２５）。
【００７７】
以上の動作により、オフセット補正前の撮像画像データと、補正値Ｈｘ，Ｈｙによる検出信号の補正後かつ像ぶれ補正後の撮像画像データの間の動きベクトルｂ１の大きさは、図５に示すように収束していき、撮像画像データＧ（４）が得られたときにほぼゼロとなる。
【００７８】
この撮像画像データＧ（４）を得た時点で仮設定しているオフセット補正値Ｘｃ，Ｙｃを最終的な値として設定することで、オフセット信号を低減することができる。この構成によれば、オフセット補正値の算出が不要となるため、演算量を減らして消費電力を下げることができる。
【００７９】
図１の撮像装置では、制御部１１が、角速度検出信号に基づいて像ぶれ補正を行うため、撮像装置の小さな動きについては撮像画像に影響することはない。しかし、パンニング等のように、撮像装置がｘ方向やｙ方向に大きく動かされている場合には、像ぶれを補正しきれなくなり、オフセット補正前の撮像画像データと、この撮像画像データよりも後に得られたオフセット補正前かつ像ぶれ補正後の撮像画像データとの間には、オフセット信号に起因した像ぶれに加えて、パンニングに起因した像ぶれが残ることになる。
【００８０】
図６は、パンニング等によって像ぶれを補正しきれない動きが生じたときの角速度検出信号ωｘの変化を示す図である。
【００８１】
図６に示すように、オフセット補正前にはオフセット信号は正の値であるが、パンニングによって補正しきれない動きがあると、オフセット補正前の撮像画像データと、この撮像画像データよりも後に得られたオフセット補正前かつ像ぶれ補正後の撮像画像データとの間の動きベクトルｂ１の大きさが、上記動きがないときよりも大きな値となる。このため、オフセット補正後の角速度検出信号ωｘは負の値となる。
【００８２】
そして、オフセット補正の結果、撮像装置の動きが全くない状態において、角速度検出信号ωｘが負の値になってしまい、オフセット信号が残ることになる。
【００８３】
このように、元々存在していたオフセット信号と、オフセット補正の結果によって生じたオフセット信号とで符号が異なっていると、図７に示すように、オフセット補正前の撮像画像データＧ（ｎ）と、撮像画像データＧ（ｎ）よりも後に得られたオフセット補正前かつ像ぶれ補正後の撮像画像データＧ（ｎ＋１）との間の第一の動きベクトルｂ１の向きと、撮像画像データＧ（ｎ）と、オフセット補正後かつ像ぶれ補正後の撮像画像データＧ（ｎ＋２）の間の第二の動きベクトルｂ２の向きは逆となる。
【００８４】
このため、動きベクトルｂ１，ｂ２の向きが同じか否かで、パンニング等の像ぶれ補正処理によって補正しきれない動きの発生有無を判定することができる。
【００８５】
図８は、手ぶれ補正装置が起動してからの撮像装置の動作の変形例を説明するためのフローチャートである。図８において、図２と同一処理には同一符号を付して説明を省略する。
【００８６】
ステップＳ８の後、制御部１１は、撮像画像データＧ（ｎ＋１）を得るための露光開始から、撮像画像データＧ（ｎ＋２）を得るための露光開始までの期間Ｔ（ｎ＋１）における角速度検出信号ωｘ，ωｙの積分値を積分器１０ｘ，１０ｙから取得する。
【００８７】
そして、制御部１１は、取得した積分値に基づいて、撮像装置の動きによる撮像画像データの像ぶれをキャンセルするために必要なレンズ移動量Ｄｘ，Ｄｙを算出する（ステップＳ９）。
【００８８】
次に、制御部１１は、ステップＳ９で算出したレンズ移動量Ｄｘ，Ｄｙにしたがって撮像レンズ１を駆動して像ぶれ補正を行う（ステップＳ１０）。この像ぶれ補正が行われている期間に、撮像画像データＧ（ｎ＋２）を得るための露光が行われる。
【００８９】
この露光が終了し、撮像画像データＧ（ｎ＋２）がメモリ５に記憶されると、制御部１１は、撮像画像データＧ（ｎ＋２）をメモリ５から取得する（ステップＳ１１）。撮像画像データＧ（ｎ＋２）は、オフセット補正後かつ像ぶれ補正後の撮像画像データとなる。
【００９０】
制御部１１は、取得した撮像画像データＧ（ｎ）と撮像画像データＧ（ｎ＋２）とでパターンマッチングを行い、撮像画像データＧ（ｎ）及び撮像画像データＧ（ｎ＋２）間の第二の動きベクトル（図７の符号ｂ２）を算出する（ステップＳ１２）。制御部１１は第二の動きベクトル算出部として機能する。
【００９１】
制御部１１は、ステップＳ５で算出した第一の動きベクトルｂ１の向きと、ステップＳ１２で算出した第二の動きベクトルｂ２の向きが異なるかどうかを判定する（ステップＳ１３）。
【００９２】
ここでは、動きベクトルｂ１，ｂ２をそれぞれｘ方向成分とｙ方向成分に分け、同じ方向成分同士で向きが異なるかどうかを判定する。そして、ｘ方向成分とｙ方向成分のいずれかで向きが異なる場合にはステップＳ１３の判定をＹＥＳとし、ｘ方向成分とｙ方向成分とでいずれも向きが同じになった場合にはステップＳ１３の判定をＮＯとする。
【００９３】
ステップＳ１３の判定がＹＥＳの場合は、ステップＳ６で生成したオフセット補正値が正確ではないと判断できる。このため、制御部１１は、加減算部７ｘ，７ｙに設定するオフセット補正値Ｘ，Ｙを初期値（＝０）に戻して（ステップＳ１４）、ステップＳ１に処理を戻す。
【００９４】
ステップＳ１３の判定がＮＯの場合は、ステップＳ６で生成したオフセット補正値が正確であると判断できる。このため、制御部１１は、加減算部７ｘ，７ｙに設定したオフセット補正値Ｘｃ，Ｙｃをそのままにして、処理を終了する。
【００９５】
以上のように、パンニング等によって像ぶれを補正しきれないような動きがあった場合には、オフセット補正値の生成をやり直すことで、オフセット補正精度を向上させることができる。
【００９６】
図９は、図１の撮像装置における手ぶれ補正装置の部分の変形例を示す図である。
【００９７】
図９に示した手ぶれ補正装置は、増幅器９ｘａ、積分器１０ｘａ、増幅器９ｙａ、積分器１０ｙａを追加した点を除いては図１の手ぶれ補正装置と同じ構成である。
【００９８】
増幅器９ｘａは、増幅器９ｘと同じ機能であるが、加減算部７ｘの出力信号を直接増幅する点が増幅器９ｘとは異なる。
【００９９】
積分器１０ｘａは、積分器１０ｘと同じ機能であり、増幅器９ｘａの出力信号を積分して制御部１１に出力する。
【０１００】
増幅器９ｙａは、増幅器９ｙと同じ機能であるが、加減算部７ｙの出力信号を直接増幅する点が増幅器９ｙとは異なる。
【０１０１】
積分器１０ｙａは、積分器１０ｙと同じ機能であり、増幅器９ｙａの出力信号を積分して制御部１１に出力する。
【０１０２】
図９に示す手ぶれ補正装置では、制御部１１がオフセット補正値Ｘｃを生成する際に、第一の動きベクトルと焦点距離ｆに加えて、ＨＰＦ８ｙでフィルタ処理前の検出信号に基づいて生成した像ぶれ補正量と、ＨＰＦ８ｙでフィルタ処理後の検出信号に基づいて生成した像ぶれ補正量との差分の情報を更に利用する。
【０１０３】
また、図９に示す手ぶれ補正装置では、制御部１１がオフセット補正値Ｙｃを生成する際に、第一の動きベクトルと焦点距離ｆに加えて、ＨＰＦ８ｘでフィルタ処理前の検出信号に基づいて生成した像ぶれ補正量と、ＨＰＦ８ｘでフィルタ処理後の検出信号に基づいて生成した像ぶれ補正量との差分の情報を更に利用する。
【０１０４】
図１の手ぶれ補正装置では、制御部１１が、ＨＰＦ８ｘとＨＰＦ８ｙを通した信号に基づいて像ぶれ補正量を算出している。しかし、ＨＰＦ８ｘとＨＰＦ８ｙを用いることで、角速度検出信号の一部の情報がカットされてしまう。このため、ＨＰＦ８ｘとＨＰＦ８ｙを通した信号に基づいて算出される像ぶれ補正量は、ＨＰＦ８ｘとＨＰＦ８ｙを通さずに加減算部７ｘ，７ｙの出力を直接増幅して得た信号に基づいて算出される像ぶれ補正量に対して誤差を含むことになる。
【０１０５】
そこで、図９の制御部１１は、積分器１０ｘで積分して得たぶれ角から算出した像ぶれ補正量と、積分器１０ｘａで積分して得たぶれ角から算出した像ぶれ補正量との差分を求める。そして、この差分を単位時間あたりの角速度検出信号ωｘの値に変換し、この値をオフセット補正値Ｘｃから減算する。
【０１０６】
このようにすることで、ＨＰＦ８ｘを用いたことにより生じる像ぶれ補正誤差分をオフセット補正時に補正しなくてすむようになり、オフセット補正を精度良く行うことができる。
【０１０７】
同様に、図９の制御部１１は、積分器１０ｙで積分して得たぶれ角から算出した像ぶれ補正量と、積分器１０ｙａで積分して得たぶれ角から算出した像ぶれ補正量との差分を求める。そして、この差分を単位時間あたりの角速度検出信号ωｙの値に変換し、この値をオフセット補正値Ｙｃから減算する。
【０１０８】
このようにすることで、ＨＰＦ８ｙを用いたことにより生じる像ぶれ補正誤差分をオフセット補正時に補正しなくてすむようになり、オフセット補正を精度良く行うことができる。
【０１０９】
ここまでは、制御部１１が行う像ぶれ補正の方法として、撮像レンズ１をｘ方向及びｙ方向に移動させる方法を例に説明した。しかし、像ぶれ補正の方法としては、撮像レンズ１を固定にし、撮像素子３をｘ方向及びｙ方向に移動させる方法を採用してもよいし、撮像レンズ１と撮像素子３をそれぞれ移動させる方法を採用してもよい。
【０１１０】
また、ここまでは、オフセット補正を手ぶれ補正装置の起動時にのみ行うものとしたが、起動後、定期的にオフセット補正値の設定をやり直してもよい。
【０１１１】
角速度検出部６のオフセット信号は、周辺環境（温度等）によって変化する。このため、環境がかわったことを検知し、このタイミングでオフセット補正値の再設定を行うことで、正確なオフセット補正が可能になる。また、オフセット補正値の設定を手動で開始できるようにしてもよい。
【０１１２】
図２の動作例では、制御部１１がオフセット補正値Ｘｃ，Ｙｃを演算により求めるものとした。この変形例として、第一の動きベクトルの大きさと、これに対応するオフセット補正値Ｘｃ，Ｙｃとの関係を予め求めてテーブルを作成しておき、このテーブルからオフセット補正値Ｘｃ，Ｙｃを読み出して設定してもよい。これにより演算を減らして消費電力を低減することができる。
【０１１３】
このように、第一の動きベクトルとテーブルを用いてオフセット補正を行う構成においても、第一の動きベクトルの大きさに対し、ＨＰＦ８ｘ，８ｙでフィルタ処理前の検出信号に基づいて生成した像ぶれ補正量と、ＨＰＦ８ｘ，８ｙでフィルタ処理後の検出信号に基づいて生成した像ぶれ補正量との差分の情報を更に関連付けて記憶しておく。
【０１１４】
このようにすることで、ＨＰＦ８ｘ，８ｙを用いたことにより生じる像ぶれ補正誤差分をオフセット補正時に補正しなくてすむようになり、オフセット補正の精度を向上させることができる。
【０１１５】
撮像レンズ１は焦点距離可変のものとしたが、固定焦点距離のものであっても、本発明を適用可能である。
【０１１６】
ここまでは、オフセット補正前かつ像ぶれ補正前の撮像画像データを基準としたときの、この撮像画像データより後に得られたオフセット補正前かつ像ぶれ補正後の撮像画像データの動きを第一の動きベクトルとして算出した。
【０１１７】
しかし、オフセット補正前かつ像ぶれ補正後の撮像画像データを基準としたときの、この撮像画像データより後に得られたオフセット補正前かつ像ぶれ補正後の撮像画像データの動きを第一の動きベクトルとして算出してもよい。
【０１１８】
撮像画像データを得るための露光時間が短いときは、各撮像画像データにおいて像ぶれが生じにくい。このため、像ぶれ補正前の撮像画像データを基準として第一の動きベクトルを算出しても、第一の動きベクトルはオフセット信号による撮像画像データ間の像ぶれを反映したものとなる。
【０１１９】
一方で、撮像画像データを得るための露光時間が長いときは、露光期間中に撮像装置が動くことによって撮像画像データにおいて像ぶれが生じやすい。図１０に示した撮像画像データＧ（１）は、図１１に示すように、１回の露光期間中に得られたものであり、十字の画像がｙ方向に少しずつずれて重なった画像が撮像されたものである。
【０１２０】
このように、撮像画像データＧ（１）において像ぶれがあると、像ぶれ補正前の撮像画像データＧ（１）と、図１０に示した像ぶれ補正後の撮像画像データＧ（２）とで異なる被写体像が含まれることになる。このため、パターンマッチングがうまくできなくなって、第一の動きベクトルを正確に算出できない可能性がある。
【０１２１】
そこで、露光時間が長い場合には、像ぶれ補正後の撮像画像データを基準として第一の動きベクトルを算出することで、第一の動きベクトルの算出精度を上げることができ、精度の高いオフセット補正が可能となる。
【０１２２】
次に、露光時間が長いときにおける、図１に示した撮像装置の動作の変形例について説明する。
【０１２３】
図１２は、図１に示した撮像装置の動作の変形例を説明するためのフローチャートである。
【０１２４】
手ぶれ補正装置が起動すると、制御部１１は、起動直前又は直後に撮像素子３により撮像して得られた像ぶれが補正された撮像画像データＧ（ｎ）（ｎ＝１）をメモリ５から取得する（ステップＳ３１）。
【０１２５】
次に、制御部１１は、撮像画像データＧ（ｎ）に生じている像ぶれ量Ｂ（ｎ）を算出する（ステップＳ３２）。制御部１１は像ぶれ量算出部として機能する。制御部１１は、例えば特許文献２に記載された方法によって像ぶれ量Ｂ（ｎ）を算出する。
【０１２６】
すなわち、制御部１１は、撮像画像データＧ（ｎ）中の１又は複数の箇所において、隣接する画素データの輝度の差を比較して、像の縁（エッジ）がぼけによって拡がった箇所を特定し、この拡がりの幅を像ぶれ量（単位：画素数）として算出する。
【０１２７】
像ぶれ量Ｂ（ｎ）は、ｘ方向成分とｙ方向成分に分解して算出する。像ぶれ量Ｂ（ｎ）のうちｘ方向成分を像ぶれ量Ｂｘ（ｎ）といい、像ぶれ量Ｂ（ｎ）のうちｙ方向成分を像ぶれ量Ｂｙ（ｎ）という。
【０１２８】
次に、制御部１１は、像ぶれ量Ｂｘ（ｎ）に対応する第二の補正値として補正値Ｙｂを生成し、像ぶれ量Ｂｙ（ｎ）に対応する第二の補正値として補正値Ｘｂを生成する。更に、制御部１１は、加減算部７ｘに設定するオフセット補正値Ｘとして補正値Ｘｂを仮設定し、加減算部７ｙに設定するオフセット補正値Ｙとして補正値Ｙｂを仮設定し、補正方法として［加算］又は［減算］を設定する（ステップＳ３３）。制御部１１は第二の補正値生成部として機能する。
【０１２９】
制御部１１は、像ぶれ量Ｂｘ（ｎ）を時間微分した値に、撮像素子３の画素ピッチと角速度検出部６の感度特性（１ｍＶの出力がｙ軸回りの何ｄｅｇ／ｓｅｃに相当するかを示すデータ）との相関係数を乗じて、補正値Ｙｂを生成する。
【０１３０】
像ぶれ量Ｂｘ（ｎ）を時間微分することでぶれ速度（画素／ｓｅｃ）を得ることができる。このぶれ速度をｙ軸回りの角速度検出信号（ｍＶ）に変換するために、このぶれ速度に相関係数を乗じる。上記相関係数は、１画素分の移動がｙ軸回りの何°の角度の移動に相当するかを示す係数であり、像ぶれ量Ｂｘ（ｎ）を時間微分して得たぶれ速度にこの相関係数を乗じることで、補正値Ｙｂ（単位：ｍＶ）を得ることができる。
【０１３１】
同様に、制御部１１は、像ぶれ量Ｂｙ（ｎ）を時間微分した値に、撮像素子３の画素ピッチと角速度検出部６の感度特性（１ｍＶの出力がｘ軸回りの何ｄｅｇ／ｓｅｃに相当するかを示すデータ）との相関係数を乗じて、補正値Ｘｂを生成する。
【０１３２】
ステップＳ３３の後、制御部１１は、加減算部７ｘ，７ｙによって補正値Ｘｂ，Ｙｂが加算又は減算された検出信号に基づいて像ぶれ補正を行って得られた撮像画像データＧ（ｎ＋１）を取得する（ステップＳ３４）。
【０１３３】
次に、制御部１１は、撮像画像データＧ（ｎ＋１）に生じている像ぶれ量Ｂ（ｎ＋１）を算出する（ステップＳ３５）。像ぶれ量Ｂ（ｎ）は第一の像ぶれ量に対応し、像ぶれ量Ｂ（ｎ＋１）は第二の像ぶれ量に対応する。
【０１３４】
次に、制御部１１は、ステップＳ３２で算出した像ぶれ量Ｂｘ（ｎ）と、ステップＳ３５で算出した像ぶれ量Ｂｘ（ｎ＋１）とを比較する（ステップＳ３６）。
【０１３５】
像ぶれ量Ｂｘ（ｎ＋１）が像ぶれ量Ｂｘ（ｎ）以上である場合（ステップＳ３６：ＮＯ）は、角速度検出部６の検出信号に補正値Ｙｂを加算又は減算した結果、ｘ方向の像ぶれ量が減っておらず、ステップＳ３３で仮設定した補正方法が謝っていると判断できる。このため、制御部１１は、ステップＳ３７において、加減算部７ｙに設定する補正方法を、加算であれば減算に変更し、減算であれば加算に変更する。
【０１３６】
像ぶれ量Ｂｘ（ｎ＋１）が像ぶれ量Ｂｘ（ｎ）未満である場合（ステップＳ３６：ＹＥＳ）、制御部１１は、像ぶれ量Ｂｙ（ｎ＋１）と像ぶれ量Ｂｙ（ｎ）を比較する（ステップＳ３８）。
【０１３７】
像ぶれ量Ｂｙ（ｎ＋１）が像ぶれ量Ｂｙ（ｎ）以上である場合（ステップＳ３８：ＮＯ）は、角速度検出部６の検出信号に補正値Ｘｂを加算又は減算した結果、ｙ方向の像ぶれ量が減っておらず、ステップＳ３３で仮設定した補正方法が謝っていると判断できる。このため、制御部１１は、加減算部７ｘに設定する補正方法を、加算であれば減算に変更し、減算であれば加算に変更する（ステップＳ３９）。
【０１３８】
像ぶれ量Ｂｙ（ｎ＋１）が像ぶれ量Ｂｙ（ｎ）未満である場合（ステップＳ３８：ＹＥＳ）、制御部１１は、加減算部７ｘ，７ｙに対し現時点で設定している補正方法及びＸｂ，Ｙｂを確定する（ステップＳ４０）。
【０１３９】
ステップＳ４０の処理により、角速度検出部６から出力される検出信号は、オフセット補正値Ｘｂ，Ｙｂが加算又は減算されることでオフセット信号が低減されることになり、オフセット補正が行われる。以降は、オフセット補正された状態で像ぶれ補正量が算出されるため、正確な像ぶれ補正がなされる。
【０１４０】
以上のように、図１２の動作例によれば、２つの撮像画像データ間の動きベクトルを算出しなくともオフセット補正が可能になる。この動作例においても、角速度検出部６の検出信号そのものを補正してしまうため、補正方法及びオフセット補正値Ｘｂ，Ｙｂを設定した後は、オフセット信号に起因する補正動作が不要となり、従来技術と比べて制御部１１の演算量を減らすことができる。
【０１４１】
図１３は、図１に示した撮像装置の動作の別の変形例を説明するためのフローチャートである。図１３において図１２と同じ処理には同一符号を付して説明を省略する。
【０１４２】
ステップＳ３２の後、制御部１１は、加減算部７ｘに設定するオフセット補正値Ｘを補正値Ｈｘに仮設定し、補正方法として［加算］又は［減算］を設定する。また、制御部１１は、加減算部７ｙに設定するオフセット補正値Ｙとして補正値Ｈｙを仮設定し、補正方法として［加算］又は［減算］を設定する（ステップＳ４１）。
【０１４３】
次に、制御部１１は、加減算部７ｘ，７ｙによって補正値Ｈｘ，Ｈｙが加算又は減算された検出信号に基づいて像ぶれ補正を行って得られた撮像画像データＧ（ｎ＋１）を取得する（ステップＳ４２）。
【０１４４】
次に、制御部１１は、撮像画像データＧ（ｎ＋１）に生じている像ぶれ量Ｂ（ｎ＋１）を算出する（ステップＳ４３）。
【０１４５】
次に、制御部１１は、ステップＳ３２で算出した像ぶれ量Ｂｘ（ｎ）と、ステップＳ４３で算出した像ぶれ量Ｂｘ（ｎ＋１）とを比較する（ステップＳ４４）。
【０１４６】
像ぶれ量Ｂｘ（ｎ＋１）が像ぶれ量Ｂｘ（ｎ）以上である場合（ステップＳ４４：ＮＯ）、制御部１１は、加減算部７ｙに仮設定中の補正方法を、加算であれば減算に、減算であれば加算に変更する（ステップＳ５０）。制御部１１は、ステップＳ５０の後は、ｎをｎ＋１に更新して（ステップＳ５４）、ステップＳ４２の処理を行う。
【０１４７】
像ぶれ量Ｂｘ（ｎ＋１）が像ぶれ量Ｂｘ（ｎ）未満である場合（ステップＳ４４：ＹＥＳ）、制御部１１は、ステップＳ３２で算出した像ぶれ量Ｂｙ（ｎ）と、ステップＳ４３で算出した像ぶれ量Ｂｙ（ｎ＋１）とを比較する（ステップＳ４５）。
【０１４８】
像ぶれ量Ｂｙ（ｎ＋１）が像ぶれ量Ｂｙ（ｎ）以上である場合（ステップＳ４５：ＮＯ）、制御部１１は、加減算部７ｘに仮設定中の補正方法を、加算であれば減算に、減算であれば加算に変更する（ステップＳ５１）。ステップＳ５１の後はステップＳ５４に移行する。
【０１４９】
像ぶれ量Ｂｙ（ｎ＋１）が像ぶれ量Ｂｙ（ｎ）未満である場合（ステップＳ４５：ＹＥＳ）、制御部１１は、像ぶれ量Ｂｘ（ｎ＋１）が閾値ＴＨ１未満であるか否かを判定する（ステップＳ４６）。
【０１５０】
ステップＳ４６の判定がＮＯのとき、制御部１１は、加減算部７ｙに設定するオフセット補正値をＨｙから一定量変化させる（ステップＳ５２）。例えばＨｙの値を１．５倍にした値に変更する。ステップＳ５２の後はステップＳ５４に移行する。
【０１５１】
ステップＳ４６の判定がＹＥＳのとき、制御部１１は、像ぶれ量Ｂｙ（ｎ＋１）が閾値ＴＨ２未満であるか否かを判定する（ステップＳ４７）。
【０１５２】
ステップＳ４７の判定がＮＯのとき、制御部１１は、加減算部７ｘに設定するオフセット補正値をＨｘから一定量変化させる。例えばＨｘの値を１．５倍にした値に変更する。ステップＳ５３の後はステップＳ５４に移行する。
【０１５３】
ステップＳ４７の判定がＹＥＳのとき、制御部１１は、現時点で設定している補正方法及びオフセット補正値Ｈｘ，Ｈｙを、最終的な補正方法及びオフセット補正値として設定する（ステップＳ４８）。
【０１５４】
ステップＳ４８の処理により、角速度検出部６から出力される検出信号は、オフセット補正値Ｈｘ，Ｈｙが加算又は減算されることでオフセット信号が低減されることになり、オフセット補正が行われる。以降は、オフセット補正された状態で像ぶれ補正量が算出されるため、正確な像ぶれ補正がなされる。
【０１５５】
このように、制御部１１は、角速度検出部６の検出信号に補正値Ｈｘ，Ｈｙを加算又は減算した後の検出信号に基づいて像ぶれが補正された撮像画像データから算出した像ぶれ量が閾値未満になるまで補正値Ｈｘ，Ｈｙを一定量ずつ変化させていき、その像ぶれ量が閾値未満になった状態での補正値Ｈｘ，Ｈｙを角速度検出部６の検出信号に加算又は減算してオフセット補正を行う。
【０１５６】
以上の動作により、像ぶれ補正後の撮像画像データに生じる像ぶれ量は収束していき、最終的にはほぼゼロとなる。この時点で仮設定している補正方法及びオフセット補正値Ｘ，Ｙを最終的な値として設定することで、オフセット信号を低減することができる。この構成によれば、像ぶれ量に対応する補正値の算出が不要となるため、演算量を減らして消費電力を下げることができる。
【０１５７】
以上説明してきたように、本明細書に以下の事項が開示されている。
【０１５８】
開示された手ぶれ補正装置は、角速度を検出する角速度検出部と、上記角速度検出部の検出信号に基づき、撮像光学系を通して被写体を撮像する撮像素子と上記撮像光学系との少なくとも一方を動かして、上記撮像素子により撮像して得られる撮像画像データに生じる像ぶれを補正する像ぶれ補正部と、上記撮像素子により撮像して得られた第一の撮像画像データと上記第一の撮像画像データよりも後に得られ上記像ぶれ補正部によって像ぶれが補正された第二の撮像画像データとの間の第一の動きベクトルを算出する第一の動きベクトル算出部と、上記第一の動きベクトルに基づいて、上記角速度検出部の検出信号に含まれるオフセット信号を低減するオフセット補正を行うオフセット補正部と、を備えるものである。
【０１５９】
開示された手ぶれ補正装置は、上記オフセット補正部は、上記第一の動きベクトル算出部によって算出され、上記第一の動きベクトルの向きにしたがって補正値を加算又は減算した後の上記検出信号に基づいて像ぶれが補正された第三の撮像画像データと上記第一の撮像画像データとの間の第一の動きベクトルの大きさが閾値未満になるまで上記補正値を一定量ずつ変化させていき、上記第一の動きベクトルの大きさが上記閾値未満になったときの上記補正値を上記検出信号に加算又は減算して上記オフセット信号を低減するものである。
【０１６０】
開示された手ぶれ補正装置は、上記撮像光学系は焦点距離可変のものであり、上記第一の動きベクトルの大きさと上記撮像光学系の焦点距離とを用いて補正値を生成する第一の補正値生成部を更に備え、上記オフセット補正部は、上記第一の動きベクトルの向きにしたがって、上記角速度検出部の検出信号に上記補正値を加算又は減算してオフセット補正を行うものである。
【０１６１】
開示された手ぶれ補正装置は、上記角速度検出部の検出信号の低周波成分を減衰させるフィルタ処理を行うフィルタ処理部を更に備え、上記像ぶれ補正部は、上記フィルタ処理後の検出信号に基づいて生成した像ぶれ補正量にしたがって像ぶれを補正し、上記第一の補正値生成部は、上記フィルタ処理前の上記検出信号に基づいて生成した像ぶれ補正量と、上記フィルタ処理後の検出信号に基づいて生成した像ぶれ補正量との差分を更に用いて上記補正値を生成するものである。
【０１６２】
開示された手ぶれ補正装置は、上記角速度検出部の検出信号の低周波成分を減衰させるフィルタ処理を行うフィルタ処理部を更に備え、上記像ぶれ補正部は、上記フィルタ処理後の検出信号に基づいて生成した像ぶれ補正量にしたがって像ぶれを補正し、上記オフセット補正部は、上記フィルタ処理前の上記検出信号に基づいて生成した像ぶれ補正量と、上記フィルタ処理後の検出信号に基づいて生成した像ぶれ補正量との差分を更に用いて上記オフセット補正を行うものである。
【０１６３】
開示された手ぶれ補正装置は、上記第一の撮像画像データと、上記オフセット補正部によるオフセット信号低減後の上記角速度検出部の検出信号に基づいて像ぶれが補正された撮像画像データとの間の第二の動きベクトルを算出する第二の動きベクトル算出部を更に備え、上記第一の動きベクトルの向きと、上記第二の動きベクトルの向きが逆である場合に、上記オフセット補正部は、新たに算出される上記第一の動きベクトルに基づいて上記オフセット補正をやり直すものである。
【０１６４】
開示された手ぶれ補正装置は、上記オフセット補正部は、少なくとも上記手ぶれ補正装置の起動時に上記オフセット補正を行うものである。
【０１６５】
開示された手ぶれ補正装置は、角速度を検出する角速度検出部と、上記角速度検出部の検出信号に基づき、撮像光学系を通して被写体を撮像する撮像素子と上記撮像光学系との少なくとも一方を動かして、上記撮像素子により撮像して得られる撮像画像データに生じる像ぶれを補正する像ぶれ補正部と、上記像ぶれ補正部によって像ぶれが補正された撮像画像データからその撮像画像データに生じている像ぶれ量を算出する像ぶれ量算出部と、上記像ぶれ量に基づいて、上記角速度検出部の検出信号に含まれるオフセット信号を低減するオフセット補正を行うオフセット補正部と、を備えるものである。
【０１６６】
開示された手ぶれ補正装置は、上記像ぶれ量に対応する補正値を生成する第二の補正値生成部を更に備え、上記オフセット補正部は、上記角速度検出部の検出信号に上記補正値を加算又は減算してオフセット補正を行うものである。
【０１６７】
開示された手ぶれ補正装置は、上記オフセット補正部は、上記補正値を加算又は減算する前の上記検出信号に基づいて像ぶれが補正された撮像画像データから上記像ぶれ量算出部によって算出された第一の像ぶれ量と、上記補正値を加算又は減算した後の上記検出信号に基づいて像ぶれが補正された撮像画像データから上記像ぶれ量算出部によって算出された第二の像ぶれ量との大小関係にしたがって、上記検出信号に上記補正値を加算するか減算するかを決定するものである。
【０１６８】
開示された手ぶれ補正装置は、上記第二の補正値生成部は、上記像ぶれ量を時間微分した値に、上記撮像素子の画素ピッチと上記角速度検出部の感度特性との相関係数を乗じて、上記補正値を生成するものである。
【０１６９】
開示された手ぶれ補正装置は、上記オフセット補正部は、上記角速度検出部の検出信号に補正値を加算又は減算した後の上記検出信号に基づいて像ぶれが補正された撮像画像データから上記像ぶれ量算出部によって算出される像ぶれ量が閾値未満になるまで上記補正値を一定量ずつ変化させていき、その像ぶれ量が閾値未満になった状態での上記補正値を上記角速度検出部の検出信号に加算又は減算してオフセット補正を行うものである。
【０１７０】
開示された手ぶれ撮像装置は、上記手ぶれ補正装置を備えるものである。
【産業上の利用可能性】
【０１７１】
本発明は、特にデジタルカメラやカメラ付きスマートフォン等の撮像機能を有する電子機器（撮像装置と称す）に適用して利便性が高く、有効である。【０１７２】
以上、本発明を特定の実施形態によって説明したが、本発明はこの実施形態に限定されるものではなく、開示された発明の技術思想を逸脱しない範囲で種々の変更が可能である。
本出願は、２０１４年３月２５日出願の日本特許出願（特願２０１４−０６２１９４）に基づくものであり、その内容はここに取り込まれる。
【符号の説明】
【０１７３】
１  撮像レンズ（撮像光学系）
３  撮像素子
６  角速度検出部
７ｘ，７ｙ  加減算部
８ｘ，８ｙ  ハイパスフィルタ（フィルタ処理部）
１１  制御部（第一の動きベクトル算出部、第二の動きベクトル算出部、第一の補正値生成部、第二の補正値生成部、オフセット補正部、像ぶれ補正部、像ぶれ量算出部）
【図１】
0006040338.tif 000002
【図２】
0006040338.tif 000003
【図３】
0006040338.tif 000004
【図４】
0006040338.tif 000005
【図５】
0006040338.tif 000006
【図６】
0006040338.tif 000007
【図７】
0006040338.tif 000008
【図８】
0006040338.tif 000009
【図９】
0006040338.tif 000010
【図１０】
0006040338.tif 000011
【図１１】
0006040338.tif 000012
【図１２】
0006040338.tif 000013
【図１３】
0006040338.tif 000014