(57)【要約】【課題】手ぶれ補正性能を向上させる。【解決手段】像ぶれ補正装置は、被写体像を結像面に結像する光学系と、結像面を有する装置の加速度を検出する加速度センサと、加速度を用いて第１の状態量を算出する第１の算出回路と、第１の状態量とモデルとを用いて、第１の状態量の真値を推定した推定値を第２の状態量として算出する第２の算出回路と、第２の状態量を用いて結像面での像ぶれ量を算出する第３の算出回路と、モデルを記録するメモリと、を備える。【選択図】図６
2020190690.tif 000002
【特許請求の範囲】
【請求項１】
像ぶれ補正装置であって、
被写体像を結像面に結像する光学系と、
前記結像面を有する装置の加速度を検出する加速度センサと、
前記加速度を用いて第１の状態量を算出する第１の算出回路と、
前記第１の状態量とモデルとを用いて、前記第１の状態量の真値を推定した推定値を第２の状態量として算出する第２の算出回路と、
前記第２の状態量を用いて前記結像面での像ぶれ量を算出する第３の算出回路と、
前記モデルを記録するメモリと、
を備えることを特徴とする。
【請求項２】
請求項１記載の像ぶれ補正装置であって、
前記メモリは、前記モデルとして推定パラメータを記録する、
ことを特徴とする。
【請求項３】
請求項１又は２記載の像ぶれ補正装置であって、
前記メモリに記録された複数のモデルの中から、前記第２の算出回路が使用する前記モデルを選択する選択回路を更に備える、
ことを特徴とする。
【請求項４】
請求項２記載の像ぶれ補正装置であって、
前記推定パラメータは、複数の前記第１の状態量から算出された複数の自己回帰係数を含む、
ことを特徴とする。
【請求項５】
請求項１記載の像ぶれ補正装置であって、
前記第２の算出回路は、カルマンフィルタ又は加重平均フィルタである、
ことを特徴とする。
【請求項６】
請求項１記載の像ぶれ補正装置であって、
前記第１の状態量は、速度であり、
前記第２の状態量は、前記速度の真値を推定した推定値である、
ことを特徴とする。
【請求項７】
請求項１記載の像ぶれ補正装置であって、
前記第１の状態量は、前記加速度に対して所定の信号処理が施された加速度であり、
前記第２の状態量は、前記所定の信号処理後の加速度の真値を推定した推定値である、
ことを特徴とする。
【請求項８】
請求項１記載の像ぶれ補正装置であって、
前記第１の状態量は、変位であり、
前記第２の状態量は、前記変位の真値を推定した推定値である、
ことを特徴とする。
【請求項９】
請求項４記載の像ぶれ補正装置であって、
前記複数の自己回帰係数は、前記像ぶれ補正装置の製造工程時に算出されて前記メモリに記録される、
ことを特徴とする。
【請求項１０】
請求項４記載の像ぶれ補正装置であって、
前記複数の自己回帰係数は、前記像ぶれ補正装置に所定の動作モードが設定されたときに算出される、
ことを特徴とする。
【請求項１１】
請求項４記載の像ぶれ補正装置であって、
前記結像面を有する装置は、撮像装置であり、
前記複数の自己回帰係数は、前記撮像装置の撮影待機中に算出される、
ことを特徴とする。
【請求項１２】
請求項１記載の像ぶれ補正装置であって、
前記結像面は、撮像素子の撮像面であり、
前記撮像素子又は前記光学系の一部を光軸に垂直な方向に移動させる駆動機構と、
前記像ぶれ量に基づいて前記駆動機構を動作させる制御回路と、
を更に備える、
ことを特徴とする。
【請求項１３】
像ぶれ補正方法であって、
被写体像を結像面に結像することと、
前記結像面を有する装置の加速度を検出することと、
前記加速度を用いて第１の状態量を算出することと、
前記第１の状態量とモデルとを用いて、前記第１の状態量の真値を推定した推定値を第２の状態量として算出することと、
前記第２の状態量を用いて前記結像面での像ぶれ量を算出することと、
を有することを特徴とする。
【請求項１４】
像ぶれ補正プログラムであって、
被写体像を結像面に結像することと、
前記結像面を有する装置の加速度を検出することと、
前記加速度を用いて第１の状態量を算出することと、
前記第１の状態量とモデルとを用いて、前記第１の状態量の真値を推定した推定値を第２の状態量として算出することと、
前記第２の状態量を用いて前記結像面での像ぶれ量を算出することと、
を有する処理を実行させることを特徴とする。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置の平行移動に依り生じる像ぶれを補正する像ぶれ補正装置、像ぶれ補正方法、及び像ぶれ補正プログラムに関する。
【背景技術】
【０００２】
近年、デジタルカメラ等の撮像装置が備える手ぶれ補正機能の進歩に依って、撮像装置の回転運動に依り生じる像ぶれ（「角度ぶれ」とも言う）に関しては高い精度で補正することができる。
【０００３】
一方、マクロ撮影時の手ぶれは、撮像装置の並進運動に依り生じる像ぶれ（「並進ぶれ」、「平行ぶれ」、又は「シフトぶれ」とも言う）の影響が大きくなる為、角度ぶれの補正だけでは補正が不十分で、画質劣化を生じるケースがある。
【０００４】
こうしたことから、撮像装置の並進運動の加速度を検出するセンサと、撮像装置の回転運動の角速度を検出するセンサとを備えて、検出した加速度及び角速度、又は、検出した加速度から、並進ぶれのぶれ量を算出して像ぶれを補正する、といった処理を行う補正装置が提案されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−２２５４０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の補正装置では、２回の積分に依り並進移動量を求める過程で、センサの温度ドリフト、重力変動、オフセット誤差等の誤差が積算され、時間経過に伴い誤差が増加してしまう。そこで、誤差除去のためのバンドパスフィルタが用いられるが、誤差の周波数帯域（１Hｚ以下）と手ぶれの周波数帯域（１〜１０Hｚ）が近いために、検出した手ぶれ成分のゲイン低下や位相変動に依る特性損失が避けられず、高精度な手ぶれ補正が行えない原因となっている。
【０００７】
本発明は、上記実状に鑑み、フィルタリング処理に依る手ぶれ成分の特性損失に着目したものであり、人の並進手ぶれ特性そのものをモデル化し、モデルに依る推定値を用いることに依る、従来のフィルタよりも特性損失の少ないフィルタリング処理の実現に依り、手ぶれ補正性能を向上させることができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の態様は、像ぶれ補正装置であって、被写体像を結像面に結像する光学系と、前記結像面を有する装置の加速度を検出する加速度センサと、前記加速度を用いて第１の状態量を算出する第１の算出回路と、前記第１の状態量とモデルとを用いて、前記第１の状態量の真値を推定した推定値を第２の状態量として算出する第２の算出回路と、前記第２の状態量を用いて前記結像面での像ぶれ量を算出する第３の算出回路と、前記モデルを記録するメモリと、を備えることを特徴とする。
【０００９】
本発明の第２の態様は、第１の態様において、前記メモリは、前記モデルとして推定パラメータを記録する、ことを特徴とする。
本発明の第３の態様は、第１又は２の態様において、前記メモリに記録された複数のモ
デルの中から、前記第２の算出回路が使用する前記モデルを選択する選択回路を更に備える、ことを特徴とする。
【００１０】
本発明の第４の態様は、第２の態様において、前記推定パラメータは、複数の前記第１の状態量から算出された複数の自己回帰係数を含む、ことを特徴とする。
本発明の第５の態様は、第１の態様において、前記第２の算出回路は、カルマンフィルタ又は加重平均フィルタである、ことを特徴とする。
【００１１】
本発明の第６の態様は、第１の態様において、前記第１の状態量は、速度であり、前記第２の状態量は、前記速度の真値を推定した推定値である、ことを特徴とする。
本発明の第７の態様は、第１の態様において、前記第１の状態量は、前記加速度に対して所定の信号処理が施された加速度であり、前記第２の状態量は、前記所定の信号処理後の加速度の真値を推定した推定値である、ことを特徴とする。
【００１２】
本発明の第８の態様は、第１の態様において、前記第１の状態量は、変位であり、前記第２の状態量は、前記変位の真値を推定した推定値である、ことを特徴とする。
本発明の第９の態様は、第４の態様において、前記複数の自己回帰係数は、前記像ぶれ補正装置の製造工程時に算出されて前記メモリに記録される、ことを特徴とする。
【００１３】
本発明の第１０の態様は、第４の態様において、前記複数の自己回帰係数は、前記像ぶれ補正装置に所定の動作モードが設定されたときに算出される、ことを特徴とする。
本発明の第１１の態様は、第４の態様において、前記結像面を有する装置は、撮像装置であり、前記複数の自己回帰係数は、前記撮像装置の撮影待機中に算出される、ことを特徴とする。
【００１４】
本発明の第１２の態様は、第１の態様において、前記結像面は、撮像素子の撮像面であり、前記撮像素子又は前記光学系の一部を光軸に垂直な方向に移動させる駆動機構と、前記像ぶれ量に基づいて前記駆動機構を動作させる制御回路と、を更に備える、ことを特徴とする。
【００１５】
本発明の第１３の態様は、像ぶれ補正方法であって、被写体像を結像面に結像することと、前記結像面を有する装置の加速度を検出することと、前記加速度を用いて第１の状態量を算出することと、前記第１の状態量とモデルとを用いて、前記第１の状態量の真値を推定した推定値を第２の状態量として算出することと、前記第２の状態量を用いて前記結像面での像ぶれ量を算出することと、を有することを特徴とする。
【００１６】
本発明の第１４の態様は、像ぶれ補正プログラムであって、被写体像を結像面に結像することと、前記結像面を有する装置の加速度を検出することと、前記加速度を用いて第１の状態量を算出することと、前記第１の状態量とモデルとを用いて、前記第１の状態量の真値を推定した推定値を第２の状態量として算出することと、前記第２の状態量を用いて前記結像面での像ぶれ量を算出することと、を有する処理を実行させることを特徴とする。
【発明の効果】
【００１７】
本発明に依れば、人の並進手ぶれ特性そのものをモデル化し、モデルに依る推定値を用いることに依る、従来のフィルタよりも特性損失の少ないフィルタリング処理の実現に依り、手ぶれ補正性能を向上させることができる、という効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】カルマンフィルタを含むシステムの一例を示す図である。
【図２】図１に示した観測対象系を観測方程式と状態方程式の関係に依る状態空間モデルで表したブロック図である。
【図３】図１に示したカルマンゲイン算出部の機能構成を表したブロック図である。
【図４】実施の形態に係る像ぶれ補正装置を含む撮像装置であるカメラに対して定義される方向を示す図である。
【図５】第１の実施形態に係る像ぶれ補正装置を含む撮像装置であるカメラの構成を示すブロック図である。
【図６】第１の実施形態に係るぶれ補正マイコンの構成を示す図である。
【図７】第１の実施形態に係るカルマンフィルタの構成を示す図である。
【図８】第１の実施形態に係る速度モデル記録部と速度モデル選択部の構成を示す図である。
【図９】第１の実施形態に係る時系列データの一例を示す図である。
【図１０】第２の実施形態に係る並進手ぶれ速度モデル作成専用モードが設定されたときの処理の流れを示すフローチャートである。
【図１１】第２の実施形態に係るぶれ補正マイコンとシステムコントローラの構成を示す図である。
【図１２】第２の実施形態に係る時系列データの一例を示す図である。
【図１３】第３の実施形態に係るぶれ補正マイコンとシステムコントローラの構成を示す図である。
【図１４】第３の実施形態に係る時系列データの一例を示す図である。
【図１５】第４の実施形態に係るぶれ補正マイコンの構成を示す図である。
【図１６】第４の実施形態に係るカルマンフィルタの構成を示す図である。
【図１７】第５の実施形態に係るぶれ補正マイコンの構成を示す図である。
【図１８】第５の実施形態に係るカルマンフィルタの構成を示す図である。
【図１９】第６の実施形態に係るぶれ補正マイコンの構成を示す図である。
【図２０】第６の実施形態に係る加重平均フィルタの構成を示す図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照しながら、本発明の実施の形態について説明する。
はじめに、実施の形態において対象となるフィルタリング処理（推定フィルタリング処理）の原理について説明する。なお、以下では、対象となるシステムや時系列信号の振る舞いを、単純化した数式に置き換えたものをモデルと言う。
【００２０】
モデルを用いることに依り、過去の状態から現在の状態を推定することが可能となる。
この推定された現在の状態値と現在の観測値とを比較し、それぞれの誤差を計算することで、より精度の高い現在の状態や、直接観測できない値を推定する方法がある。
【００２１】
フィルタ（推定フィルタ）の具体例として、カルマンフィルタについて述べる。
カルマンフィルタは、誤差のある観測値とシステムを模したモデルとを用いて、ある動的システムの状態を推定あるいは制御するための、ベイズフィルタ（Bayesian filter）
の一種である。
【００２２】
図１は、カルマンフィルタを含むシステムの一例を示す図である。
図１に示すシステムは、観測対象系１０１とカルマンフィルタ１０２を含む。
観測対象系１０１において、対象となるシステム１０４は、システムノイズｖｔ１０３に依り駆動する。加算器１０６は、システム１０４の状態の一部と観測ノイズｗｔ１０５とを加算して観測値ｙｔを出力する。
【００２３】
カルマンフィルタ１０２において、システム１０４を模したモデル１０７は、システムノイズｖｔ１０３と、遅延演算子Ｚ−１１０８に依り得られる前回（時刻ｔ−１）の事後
状態推定値
2020190690.tif 000003
とから、時刻ｔにおける事前状態推定値
2020190690.tif 000004
を出力する。事後推定値算出部１０９は、時刻ｔにおける事前状態推定値
2020190690.tif 000005
に対して、モデルの誤差と観測誤差に基づいてカルマンゲイン算出部１１０に依り算出されたカルマンゲインｇｔと、現在の観測値ｙｔとを用いて補正を行い、事後状態推定値
2020190690.tif 000006
を出力する。
【００２４】
図２は、図１に示した観測対象系１０１を、観測方程式と状態方程式の関係に依る状態空間モデルで表したブロック図である。なお、観測対象系１０１を状態空間モデルで表現できることが、カルマンフィルタを使用できる条件となる。この状態空間モデルは、下記の状態方程式（式（１））と観測方程式（式（２））の２つの式で表される。
【００２５】
【数１】
2020190690.tif 000007
【数２】
2020190690.tif 000008
状態方程式（式（１））において、左辺は、システム１０４の時刻ｔの状態ｘｔを示す。右辺は、状態ｘｔから遅延演算子Ｚ−１２０２に依り得られた前回（時刻ｔ−１）の状態ｘｔ−１に状態遷移行列Ａ２０３を乗じたもの（第１項）と、システムノイズｖｔ１０３に駆動源ベクトルｂ２０１を乗じたもの（第２項）との和を示す。ここで、状態遷移行列Ａ２０３は、前回（時刻ｔ−１）の状態から現在（時刻ｔ）の状態への状態の伝播を表す係数である。駆動源ベクトルｂ２０１は、システムノイズが状態に与える影響を表す係数である。
【００２６】
また、観測方程式（式（２））において、左辺は、時刻ｔの観測値ｙｔを示す。右辺は、状態ｘｔに観測係数ｃＴ２０４を乗じたもの（第１項）と、観測ノイズｗｔ１０５（第２項）との和を示す。ここで、観測係数ｃＴ２０４は、状態を観測値に変換する係数である。
【００２７】
状態方程式（式（１））及び観測方程式（式（２））において、システムノイズｖｔ１０３と観測ノイズｗｔ１０５が正規性を持つ白色ノイズ（平均値が０になる）であれば、カルマンフィルタ１０２を用いることで、求める状態ｘｔの最適な推定が可能である。
【００２８】
ここで、カルマンフィルタ１０２で求める状態推定値
2020190690.tif 000009
の算出過程について、図１及び図２並びに図３を参照しながら詳細に説明する。
なお、下記の式（３）及び式（６）は、図１に対応する。下記の式（４）、式（５）、及び式（７）は、図３に対応する。
【００２９】
図３は、カルマンゲイン算出部１１０の機能構成を表したブロック図である。
図３において、係数Ａ、ｂ、ｃＴは、図２に示した状態遷移行列Ａ２０３、駆動源ベクトルｂ２０１、観測係数ｃＴ２０４に対応し、同一の符号が付されている。また、システムノイズｖｔ１０３の分散をｑ３０１とし、観測ノイズｗｔ１０５の分散をｒ３０２とする。
【００３０】
事前状態推定値
2020190690.tif 000010
は、図１に示した事前推定値算出部１１１の出力に対応する。事後状態推定値
2020190690.tif 000011
を遅延演算子Ｚ−１１０８に依り前回（時刻ｔ−１）の状態推定値
2020190690.tif 000012
とし、モデル１０７を用いて事前状態推定値
2020190690.tif 000013
を求める。これは、図２に示した、状態遷移行列Ａ２０３を前回（時刻ｔ−１）の状態推定値
2020190690.tif 000014
に乗じたものに対応し、下記式（３）で表される。
【００３１】
【数３】
2020190690.tif 000015
現在の推定値の予測誤差を表す事前誤差共分散行列
2020190690.tif 000016
は、図１に示したカルマンゲイン算出部１１０内で、より詳しくは、図３に示した
2020190690.tif 000017
算出部３０４で、次のとおり算出される。
【００３２】
Ｐｔ算出部３０６で算出した誤差共分散行列Ｐｔを遅延演算子Ｚ−１３０３に依り前回（時刻ｔ−１）の予測誤差を表すＰｔ−１とし、これと、システムノイズｖｔ１０３の分散ｑ３０１、状態遷移行列Ａ２０３、及び駆動源ベクトルｂ２０１とから、下記式（４）に依り算出される。
【００３３】
【数４】
2020190690.tif 000018
ここで、ＡＴはＡの転置行列であり、ｂＴはｂの転置行列である。
事前状態推定値
2020190690.tif 000019
を観測値ｙｔに依り補正する係数であるカルマンゲインｇｔは、図１に示したカルマンゲイン算出部１１０内で、より詳しくは、図３に示したｇｔ算出部３０５で、次のとおり算出される。
【００３４】
2020190690.tif 000020
算出部３０４で算出された事前誤差共分散行列
2020190690.tif 000021
と、観測ノイズ分散ｒ３０２と、観測係数ｃＴ２０４とから、下記式（５）に依り算出される。
【数５】
2020190690.tif 000022
【００３５】
ここで、ｃはｃＴの転置行列である。
カルマンフィルタ１０２の出力となる事後状態推定値
2020190690.tif 000023
は、図１に示した事後推定値算出部１０９において、カルマンゲインｇｔと観測値ｙｔと観測係数ｃＴとに依り事前状態推定値
2020190690.tif 000024
を補正することに依り求められる。具体的には、下記式（６）に依り求められる。
【００３６】
【数６】
2020190690.tif 000025
ここで、Ｉは、単位行列である。
こうして推定された事後状態推定値
2020190690.tif 000026
が、最適な状態推定値となる。
【００３７】
なお、次の周期で使用される事後誤差共分散行列Ｐｔは、図１に示したカルマンゲイン算出部１１０内で、より詳しくは、図３に示したＰｔ算出部３０６で、次のとおり算出される。
【００３８】
2020190690.tif 000027
算出部３０４で算出された事前誤差共分散行列
2020190690.tif 000028
と、カルマンゲインｇｔと、観測係数ｃＴ２０４とから、下記式（７）に依り算出される。
【数７】
2020190690.tif 000029
【００３９】
ここで、Ｉは、単位行列である。
次に、実施の形態に係る像ぶれ補正装置を含む撮像装置であるカメラに対する方向を定義する。
【００４０】
図４は、実施の形態に係る像ぶれ補正装置を含む撮像装置であるカメラに対して定義される方向を示す図である。
図４に示すとおり、実施の形態に係る像ぶれ補正装置を含む撮像装置であるカメラ５０１に対して、Ｘ方向、Ｙ方向、Ｚ方向、ピッチ（Pitch）方向、ヨー（Yaw）方向、及びロール（Roll）方向を、次のとおり定義する。
【００４１】
カメラ５０１に対して左右方向をＸ方向とし、カメラ５０１に対して上下方向をＹ方向とし、カメラ５０１に対して前後方向をＺ方向とする。
また、Ｘ方向の軸回り（Ｘ軸回り）の回転方向をピッチ方向とし、Ｙ方向の軸回り（Ｙ軸回り）の回転方向をヨー方向とし、Ｚ方向の軸回り（Ｚ軸回り）の回転方向をロール方向とする。
【００４２】
この定義に従えば、角度ぶれは、カメラ５０１のヨー方向の回転に依り、カメラ５０１の撮像面のＸ方向に生じる像移動で生じる像ぶれと、カメラ５０１のピッチ方向の回転に依り、カメラ５０１の撮像面のＹ方向に生じる像移動で生じる像ぶれとなる。
【００４３】
また、並進ぶれは、カメラ５０１のＸ方向への平行移動に依り、カメラ５０１の撮像面のＸ方向に生じる像移動で生じる像ぶれと、カメラ５０１のY方向への平行移動に依り、
カメラ５０１の撮像面のＹ方向に生じる像移動で生じる像ぶれとなる。
【００４４】
＜第１の実施形態＞
図５は、第１の実施形態に係る像ぶれ補正装置を含む撮像装置であるカメラの構成を示すブロック図である。
【００４５】
図５に示すカメラ５０１は、手ぶれ補正機能を有するカメラである。カメラ５０１は、光学系５０２、撮像素子５０３、駆動部５０４、システムコントローラ５０５、ぶれ補正マイコン５０６、角速度センサ５０７、加速度センサ５０８、及びＥＶＦ（Electronic View Finder）５０９を含む。
【００４６】
光学系５０２は、被写体からの光束を撮像素子５０３に被写体像として結像させる。光学系５０２は、例えば、フォーカスレンズやズームレンズを含む複数のレンズから構成される。
【００４７】
撮像素子５０３は、撮像面（結像面でもある）に結像された被写体像を、画素信号となる電気信号に変換する。撮像素子５０３は、例えば、ＣＣＤ（charge coupled device）
又はＣＭＯＳ（complementarymetal oxide semiconductor）等のイメージセンサである。
【００４８】
駆動部５０４は、撮像素子５０３を撮像面に平行な方向（光学系５０２の光軸に対して垂直な方向でもある）へ移動させる駆動機構である。駆動部５０４は、撮像素子５０３を平行移動させるための複数のアクチュエータを含んで構成される。複数のアクチュエータは、例えばＶＣＭ（Voice Coil Motor）である。
【００４９】
システムコントローラ５０５は、撮像素子５０３に依り変換された電気信号を画像データとして読み出し、読み出した画像データに対して様々な画像処理を行う。また、画像処理した画像データをＥＶＦ５０９に表示させたり、図示しないメモリ（例えば、メモリカード等の着脱自在の記録媒体）に記録させたりする。システムコントローラ５０５は、この他にも、ぶれ補正マイコン５０６とのデータ通信をはじめとしたカメラ全体の制御を行う。
【００５０】
角速度センサ５０７は、カメラ５０１のヨー方向及びピッチ方向の回転運動に伴う角速度を検出し、検出した角速度に対応したアナログ信号を検出信号として出力する。
加速度センサ５０８は、カメラ５０１のＸ方向及びＹ方向に生じる加速度を検出し、検出した加速度に対応したアナログ信号を検出信号として出力する。
【００５１】
ぶれ補正マイコン５０６は、角速度センサ５０７の検出信号から角度ぶれ量を算出し、加速度センサ５０８の検出信号から並進ぶれ量を算出する。また、ぶれ補正マイコン５０６は、算出した角度ぶれ量及び並進ぶれ量に依って撮像素子５０３の撮像面に生じる像移動を打ち消す方向に撮像素子５０３を移動させるために駆動部５０４を制御する。
【００５２】
なお、カメラ５０１は、撮像素子５０３を撮像面に平行な方向へ移動させることに依り像ぶれ補正を行う方式（所謂イメージセンサシフト方式）を採用するが、像ぶれ補正を行う方式は、この方式に限定されるものではない。例えば、光学系に含まれるレンズを、当該光学系の光軸に対して垂直な方向に移動させることに依り像ぶれ補正を行う方式（所謂レンズシフト方式）や、撮像素子から読み出された画像データに係る画像の切り出し位置を変更するといった画像処理に依り像ぶれの影響を軽減させる方式（電子的な方式）を採用してもよい。また、採用される像ぶれ補正方式は１つに限定されず、例えば、イメージ
センサシフト方式、レンズシフト方式、及び電子的な方式のうちの２つ以上の方式を組み合わせて採用してもよい。
【００５３】
また、カメラ５０１において、システムコントローラ５０５及びぶれ補正マイコン５０６の各々は、例えば、ＣＰＵ等のプロセッサとメモリを含み、プロセッサがメモリに記録されたプログラムを実行することに依り、システムコントローラ５０５及びぶれ補正マイコン５０６の各機能が実現される。あるいは、システムコントローラ５０５及びぶれ補正マイコン５０６の各々は、ＡＳＩＣ（Application Specific Integrated Circuit）又は
ＦＰＧＡ（Field-Programmable Gate Array）等の専用回路から構成されてもよい。
【００５４】
図６は、ぶれ補正マイコン５０６の構成を示す図である。
ぶれ補正マイコン５０６は、撮像面のＸ方向の像ぶれを補正する構成と、撮像面のＹ方向の像ぶれを補正する構成を有し、両者の構成は基本的に同じである。そこで、図６には、その一方の構成のみを示し、他方の構成については図示を省略する。また、ここでは、その一方の構成のみを説明し、他方の構成については説明を省略する。
【００５５】
図６に示すぶれ補正マイコン５０６は、角度ぶれ量と並進ぶれ量を算出して両者を合算することに依り、撮像面に生じる像移動量を算出する。
まず、角度ぶれ量の算出に係る構成について説明する。
【００５６】
図６に示すぶれ補正マイコン５０６において、角速度信号処理部６０１は、角速度センサ５０７から出力されたアナログ信号（検出信号）を、角速度のデジタル値に変換し、変換したデジタル値から基準値を減算する。ここで、基準値は、カメラ５０１が静止状態である時の角速度センサ５０７の出力に対応する値である。従って、カメラ５０１が静止状態である場合は、基準値の減算結果が０になる。また、基準値の減算結果の符号は、カメラ５０１の回転方向を示すことになる。なお、角速度信号処理部６０１は、必要に応じてフィルタリング処理を行ってもよい。
【００５７】
乗算部６０２は、角速度信号処理部６０１に依り符号付きのデジタル値に変換された角速度に対して焦点距離（ｆ）を乗算することに依り、カメラ５０１の回転運動に依る撮像面での像移動速度を算出する。
【００５８】
積分フィルタ６０３は、乗算部６０２に依り算出された像移動速度を時間積分することに依り、カメラ５０１の回転運動に依る撮像面での像移動量を算出する。
なお、これらの角度ぶれ量の算出に係る構成において、角速度信号処理部６０１は、所定のサンプリング周期ごとに、角速度センサ５０７の出力信号の取得、デジタル値への変換、及び基準値の減算を行う。乗算部６０２は、角速度信号処理部６０１に依る基準値の減算結果の各々に対し、焦点距離（ｆ）の乗算を行う。積分フィルタ６０３は、所定の周期ごとに、当該周期において取得された乗算部６０２に依る乗算結果の各々を積算（累積加算）する、といった時間積分を行う。
【００５９】
続いて、並進ぶれ量の算出に係る構成について説明する。
並進ぶれ量は、カメラ５０１の移動に伴って発生する加速度（移動加速度）から算出される。なお、並進ぶれ量は、並進移動する像移動量でもある。
【００６０】
加速度信号処理部６０４は、加速度センサ５０８から出力されたアナログ信号（検出信号）を、加速度のデジタル値に変換し、変換したデジタル値から基準値を減算する。ここで、基準値は、カメラ５０１が静止状態である時の加速度センサ５０８の出力に対応する値である。但し、加速度センサ５０８が検出する加速度は、重力加速度も含まれる。また、加速度センサ５０８が検出する重力加速度は、カメラ５０１の姿勢に依って変化する。
そこで、基準値は、当該基準値の減算に依り、加速度センサ５０８が検出する重力加速度の成分も取り除かれる値とされることが望ましい。なお、加速度センサの出力から重力加速度の成分を取り除く（減算する）手法は公知であるので、ここでは、その説明を省略する。
【００６１】
加速度信号処理部６０４において、こういった基準値の減算に依り、カメラ５０１が静止状態である場合は、基準値の減算結果が０になる。また、基準値の減算結果の符号は、カメラ５０１の移動による加速度の方向を示すことになる。
【００６２】
積分フィルタ６０５は、加速度信号処理部６０４に依り符号付きデジタル値に変換された加速度を時間積分することに依り、カメラ５０１の並進速度を算出する。
なお、加速度信号処理部６０４は、所定のサンプリング周期ごとに、加速度センサ５０８の出力信号の取得、デジタル値への変換、及び基準値の減算を行う。積分フィルタ６０５は、所定の周期ごとに、当該周期において取得された加速度信号処理部６０４に依る減算結果の各々を積算（累積加算）する、といった時間積分を行う。
【００６３】
カルマンフィルタ６０６は、速度モデル記録部６０７に記録されたモデルの中から速度モデル選択部６０８に依り選択されたモデルと、観測ノイズＲ６０９と、システムノイズＱ６１０と、駆動源ベクトルｂ６１１とを用いて、積分フィルタ６０５に依り算出された並進速度に含まれる誤差（演算ノイズ）を除去する。カルマンフィルタ６０６を含むこれらの詳細については、図７を用いて後述する。
【００６４】
乗算部６１２は、カルマンフィルタ６０６に依り誤差が除去された並進速度に対して光学系５０２の撮影倍率βを乗算し、撮像面における像移動速度を算出する。
積分フィルタ６１３は、乗算部６１２に依り算出された像移動速度を時間積分し、カメラ５０１の平行移動に伴う、撮像面での像移動量（像の並進移動量）を算出する。なお、積分フィルタ６１３は、所定の周期ごとに、当該周期において取得された乗算部６１２に依る乗算結果の各々を積算（累積加算）する、といった時間積分を行う。
【００６５】
加算部６１４は、積分フィルタ６０３に依り算出された像移動量（カメラ５０１の回転に依る撮像面での像移動量（角度ぶれの像移動量））と、積分フィルタ６１３に依り算出された像移動量（カメラ５０１の並進移動に依る撮像面での像移動量（並進ぶれの像移動量））とを加算することに依り、カメラ５０１の回転と並進移動に依る像移動量を算出する。
【００６６】
補正制御部６１５は、加算部６１４に依り算出された像移動量を打ち消す方向に撮像素子５０３を動かすための駆動指示（駆動信号の出力）を駆動部５０４に対して行う。
図６に示したぶれ補正マイコン５０６では、加算部６１４が角度ぶれと並進ぶれとを合わせた手ぶれに依る像移動量を算出する。そして、補正制御部６１５が、算出された像移動量に基づいて駆動部５０４を制御することで、例えば、並進ぶれが生じ易いマクロ撮影でもぶれのない撮影が可能になる。
【００６７】
なお、カメラ５０１において、角速度センサ５０７と加速度センサ５０８は、検出信号としてアナログ信号を出力する形態に限らず、デジタル値を出力する形態であってもよい。但し、デジタル値を出力する形態である場合は、ぶれ補正マイコン５０６にデジタル値を読み出すためのインタフェース（例えばシリアルインタフェース）が必要になる。
【００６８】
図７は、カルマンフィルタ６０６の構成を示す図である。図８は、速度モデル記録部６０７と速度モデル選択部６０８の構成を示す図である。
カルマンフィルタ６０６は、図１等を用いて説明したとおり、対象となるシステムに対
応するモデル（図１ではシステム１０４に対応するモデル１０７）が必要になる。一般的には、対象となるシステムの伝達特性のモデルが既知であることが多いが、本実施形態では、それが既知でない。そこで、本実施形態では、実際に取得した物理量の時系列データからモデルを生成可能なＡＲ(Auto-Regressive：自己回帰)モデルで手ぶれに依る並進速
度をモデル化して使用する。ＡＲモデルの詳細については、後述する。
【００６９】
並進ぶれに関しては、カメラ５０１を把持するユーザの個人差や、カメラ５０１の姿勢差があるため、おのおののユーザの特性、およびおのおのの姿勢差の特定に応じて最適なモデルを使用する必要がある。そこで、本実施形態では、予めモデルを複数用意しておき、その時点の並進ぶれに応じてモデルを選択して使用する。
【００７０】
ＡＲモデルを使用する場合、モデルの次数が定まれば状態方程式の形が一意に定まるため、モデルのパラメータは、ｎ次の自己回帰係数φｉ＝[φ０，φ１，φ２，・・・，φ
ｎ]及びモデルの推定誤差Ｑとなる。本実施形態では、ぶれ補正マイコン５０６における
演算処理回路や演算プログラムに実装する場合の実現性と演算精度を考慮した例を示す。ここでは、ｎ次の自己回帰係数を、３次の自己回帰係数φ３＝[φ０，φ１，φ２，φ３]として説明する（φ０は定数項となるため０として使用しない）。
【００７１】
図８に示すとおり、速度モデル記録部６０７には、様々なケースに対応するモデル（ＡＲモデルの自己回帰係数φと推定誤差Ｑ）が記録されている。例えば、並進ぶれが大きい撮影者の不安定な姿勢に対応するモデルや、並進ぶれが小さい撮影者の安定した姿勢に対応するモデルや、平均的な撮影者の姿勢に対応するモデル等が記録されている。
【００７２】
速度モデル選択部６０８において、手ぶれ速度解析部８０１は、所定の周期ごとに、当該周期において積分フィルタ６０５に依り算出された並進速度の各々を時系列データとして蓄積して分析する。例えば、１秒ごとに、当該１秒分の時系列データに対してＦＦＴ（Fast Fourier Transform）解析等の分析を行って、主要なぶれ周波数帯域と振幅を求める。なお、主要なぶれ周波数帯域と振幅は、他の簡易的な方法に依って求めてもよい。
【００７３】
使用モデル判定部８０２は、手ぶれ速度解析部８０１に依る分析結果を用いて、現在のぶれの状態に最も近い特性のモデルを判定する。
使用モデル取得部８０３は、使用モデル判定部８０２の判定結果に基づいて、速度モデル記録部６０７から、使用するモデル（ＡＲモデルの自己回帰係数φと推定誤差Ｑ）を取得し、取得した自己回帰係数φを並進手ぶれ速度モデル７０１および駆動源ベクトルｂ６１１に指定し、取得した推定誤差ＱをシステムノイズＱ６１０に指定する。
【００７４】
これに依り、おのおののユーザの手ぶれ特性やカメラ支持状態に応じて最適な並進手ぶれ速度モデルが選択される。
続いて、カルマンフィルタ６０６に係る状態方程式と観測方程式について説明する。
【００７５】
まず、時刻ｔにおける並進速度をｖｔとし、求める状態ｘｔを、現在からｔ−２までの時刻での並進速度の要素であるとすると、状態ｘｔは、下記のベクトル変数の式（８）で表される。
【００７６】
【数８】
2020190690.tif 000030
このとき、観測値ｙｔを並進速度とすると、ＡＲモデルを使用する場合のカルマンフィルタ６０６に係る状態方程式と観測方程式は、下記の式（９）と式（１０）で表される。
【００７７】
【数９】
2020190690.tif 000031
【数１０】
2020190690.tif 000032
状態方程式（式（９））と観測方程式（式（１０））の２つの式が、本実施形態で使用する状態空間モデルとなる。
【００７８】
状態方程式（式（９））と観測方程式（式（１０））に依り、上述の式（３）〜式（７）における係数は、次のとおりとなる。
【数１１】
2020190690.tif 000033
なお、ここでＩ２は、２行×２列の単位行列である。
【００７９】
また、並進手ぶれ速度モデル７０１を駆動するシステムノイズｖｔの分散をシステムノイズQ６１０とし、入力（並進速度）の観測ノイズｗｔの分散を観測ノイズR６０９とする。なお、Ｑは、式（４）のｑに対応し、Ｒは、式（５）のｒに対応する。
【００８０】
これらＡ、ｂ、ｃＴ、ｒ、ｑの各係数と図６及び図７に示した要素との対応関係は、次のとおりである。
Ａ：並進手ぶれ速度モデル７０１
ｂ：駆動源ベクトルｂ６１１
ｃＴ：カルマンゲイン算出部７０２の内部、演算部７０４
Ｑ：システムノイズＱ６１０
Ｒ：観測ノイズＲ６０９
【００８１】
こうして係数が全て定まると、これらに依りカルマンフィルタ６０６が定まり、得られる状態ｘｔの事後状態推定値
2020190690.tif 000034
は、下記式（１１）で表すことができる。
【数１２】
2020190690.tif 000035
【００８２】
ここで、
2020190690.tif 000036
は３次のベクトルであるため、現在の推定速度
2020190690.tif 000037
を取り出し、乗算部６１２への入力とする。
カルマンフィルタ６０６内でのデータの流れを、図７を参照しながら説明する。
【００８３】
事後状態推定値
2020190690.tif 000038
を、遅延演算子Ｚ−１７０６に依り前回（時刻ｔ−１）の状態推定値
2020190690.tif 000039
とする。前回（時刻ｔ−１）の状態推定値
2020190690.tif 000040
と並進手ぶれ速度モデル７０１に依って事前状態推定値
2020190690.tif 000041
を算出する（式（３）参照）。
【００８４】
カルマンゲイン算出部７０２は、図３に示したカルマンゲイン算出部１１０と同様の構成を有し、Ａ、ｂ、ｃＴ、ｒ、ｑの各係数を用いて、事前誤差共分散行列
2020190690.tif 000042
の算出（式（４）参照）、カルマンゲインｇｔの算出（式（５）参照）、事後誤差共分散行列Ｐｔの算出（式（７）参照）を行う。
【００８５】
乗算部７０３は、カルマンゲインｇｔを用いて観測値ｙｔ（積分フィルタ６０５に依り算出された並進速度）に対する重みづけを行い、演算部７０４は、カルマンゲインｇｔを用いて事前状態推定値
2020190690.tif 000043
に対する重みづけを行い、加算部７０５は、それらを加算する。これに依り、事後状態推定値
2020190690.tif 000044
が算出される。
【００８６】
続いて、ＡＲモデルについて説明する。
ＡＲモデルは、時刻ｔにおける時系列データｘｔの値を、時刻ｔよりも古いデータを用いて推定するモデルであり、ｎ次のＡＲモデルは、その自己回帰係数φｉ＝[φ０，φ１
，φ２，・・・，φｎ]を用いて、下記式（１２）で表される。
【００８７】
【数１３】
2020190690.tif 000045
自己回帰係数φｉは、時系列データからユール・ウォーカー法（Yule-Walker - equation）や最小二乗法を用いて求めることができる。
【００８８】
ここではユール・ウォーカー法を用いた例を説明する。
ここで、時系列データを｛Ｙｔ｝としてＹｔとＹｔーｓの共分散、つまりｓ次の自己共分散をｃｓとする。そして、下記のユール・ウォーカー方程式（式（１３））を解くことで自己回帰係数φｉ＝[φ０，φ１，φ２，・・・，φｎ]のそれぞれの値を算出することができる。
【００８９】
【数１４】
2020190690.tif 000046
つまり、φｉを算出するためには、精度の高い並進ぶれの時系列データが必要となる。本実施形態では、並進ぶれ速度の時系列データを用いて、上記方式に依りモデル（速度モデル記録部６０７に記録されるモデル）が作成される。
【００９０】
ここで、モデルの作成に用いられる並進ぶれ速度の時系列データの取得方法の一例を説明する。
カメラ５０１は、手ぶれが生じる撮影条件で、マクロ撮影を行う状態且つ角度ぶれの高精度補正を行う状態で動画撮影を行う。このときの動画撮影では、フレーム間の移動量(
オプティカルフロー)の取得に適した被写体チャートを撮影する。そして、カメラ５０１
は角度ぶれを高精度に補正を行って角度ぶれを完全に補正する。
【００９１】
つまり、図６に示したぶれ補正マイコン５０６では、加速度信号処理部６０４から積分フィルタ６１３に至る構成に依る、カメラ５０１の並進移動に依る像移動量の算出が停止し、カメラ５０１の回転に依る像移動量の算出結果のみを用いて、補正制御部６１５が駆
動部５０４を制御する。
【００９２】
こういった処理に依り得られた動画データは、角度ぶれが完全に除去され、並進ぶれの影響のみが残った動画データとなる。そのため、動画データに表された被写体チャートのフレーム間の移動量を解析することで、並進速度の時間変化を算出することができる。
【００９３】
具体的には、カメラ５０１の並進速度Ｙｋは、フレーム間の移動量
2020190690.tif 000047
と、フレーム間時間Δｔと、画素ピッチｄと、撮影倍率βとから、下記式（１４）に依り求めることができる。
【００９４】
【数１５】
2020190690.tif 000048
これに依り、動画データから、並進ぶれ速度の時系列データ｛Ｙｔ｝が得られる。
なお、並進速度は、個人差やカメラ５０１の姿勢差に依り特性が異なる。
【００９５】
このため、例えばカメラ５０１の工場出荷前の製造工程において、ユーザや撮影姿勢が異なる場合の複数の時系列データを予め用意してＡＲモデルを作成する。そして、作成したモデルの中から、周波数及び振幅特性が近いもので分類し、平均化することで、ある条件における一般化モデルを作成することができる。これを幾つかの条件ごとに行って、条件ごとのモデルを作成しパラメータを準備しておく（即ち、速度モデル記録部６０７に記録しておく）。この場合、モデルのパラメータは、ＡＲモデルの自己回帰係数φｉ＝[φ
０，φ１，φ２，・・・，φｎ]と推定誤差分散Ｑとなる。
【００９６】
図９は、本実施形態に係る時系列データの一例を示す図である。
図９において、（Ａ）は、像ぶれ補正を行わない場合の撮像面に生じる像移動速度を示しており、角度ぶれと並進ぶれ双方の影響を受けている。
【００９７】
（Ｂ）は、ぶれ補正マイコン５０６で算出された角度ぶれに依る像移動速度を示している。
（Ｃ）は、（Ｂ）に示した角度ぶれに依る像移動速度に基づいて駆動部５０４を駆動して像ぶれを補正したときの動画データから得られたフレーム間の像移動速度である（（Ａ）−（Ｂ）に対応）。角度ぶれの補正が完全であるならば、（Ｃ）に示した像移動速度が、撮像面における並進ぶれと等しくなる。
【００９８】
（Ｄ）は、（Ｃ）に示した像移動速度を撮影倍率βで除算すること（（Ｃ）／β）に依り得られたカメラ５０１の移動速度を示している。
【００９９】
＜第２の実施形態＞
次に、第２の実施形態について説明する。第２の実施形態の説明では、第１の実施形態に対して異なる点を中心に説明する。また、第１の実施形態と同一の構成要素については同一の符号を付し、その説明を省略する。
【０１００】
第２の実施形態に係る像ぶれ補正装置を含む撮像装置であるカメラ５０１は、ユーザが設定可能な動作モードの一つとして、並進手ぶれ速度モデル作成専用モードを有する。並進手ぶれ速度モデル作成専用モードが設定されると、カメラ５０１は、ユーザの使用環境における並進速度の時系列データを取得し、その時系列データを用いて並進手ぶれ速度モデルを作成し、その並進手ぶれ速度モデルを撮影時の手ぶれ補正に使用する。
【０１０１】
つまり、ユーザが動作モードとして並進手ぶれ速度モデル作成専用モードを設定することで、ユーザに最適な並進手ぶれ速度モデルが生成される。これに依り、各ユーザの特性に対応した、より高精度なぶれ補正が実現可能になる。
【０１０２】
図１０は、並進手ぶれ速度モデル作成専用モードが設定されたときの処理の流れを示すフローチャートである。
カメラ５０１は、並進手ぶれ速度モデル作成専用モードが設定されると、図１０に示す処理を開始する。
【０１０３】
まず、カメラ５０１は、角度ぶれの補正を開始し（Ｓ１００１）、動画撮影を開始する（Ｓ１００２）。なお、このときの撮影対象物は、オプティカルフローの取得に適したチャートであるとする。
【０１０４】
次に、カメラ５０１は、角度ぶれ補正速度不足分算出処理を行う（Ｓ１００３）。この処理の詳細は、後述する。
次に、カメラ５０１は、動画データを取得し記録する（Ｓ１００４）。
【０１０５】
次に、カメラ５０１は、動画撮影を開始してから規定時間が経過したか否かを判定する（Ｓ１００５）。なお、規定時間は、オプティカルフローの周波数解析に依る周波数分解能を上げるために必要な動画撮影時間に対応し、例えば数秒〜１０秒程度である。
【０１０６】
Ｓ１００５の判定結果がＮＯの場合は、処理がＳ１００３に戻る。これに依り、Ｓ１００５がＹＥＳになるまでは、角度ぶれ補正速度不足分算出処理（Ｓ１００３）と動画データの取得及び記録（Ｓ１００４）が繰り返し行われる。
【０１０７】
一方、Ｓ１００５の判定結果がＹＥＳの場合、カメラ５０１は、動画撮影を終了し（Ｓ１００６）、角度ぶれ補正を終了する（Ｓ１００７）。
次に、カメラ５０１は、記録された動画データからオプティカルフローを算出する（Ｓ１００８）。
【０１０８】
次に、カメラ５０１は、算出されたオプティカルフローと、動画撮影中に算出された角度ぶれ補正速度不足分とから、並進速度（並進ぶれ速度）の時系列データを作成する（Ｓ１００９）。なお、この作成の際に用いる計算式については後述する。
【０１０９】
次に、カメラ５０１は、第１の実施形態と同様に、ユール・ウォーカー法を用いて、並進速度の時系列データから並進手ぶれ速度モデルを作成する（Ｓ１０１０）。
次に、カメラ５０１は、作成した並進手ぶれ速度モデルを速度モデル記録部６０７に記録し（Ｓ１０１１）、図１０に示した処理が終了する。
【０１１０】
ここで、上述の角度ぶれ補正速度不足分算出処理（Ｓ１００３）について、詳細に説明する。
図１１は、第２の実施形態に係るぶれ補正マイコン５０６とシステムコントローラ５０５の構成を示す図である。但し、図１１には、図１０に示した処理に関係する構成のみを示す。
【０１１１】
図１１において、補正速度制限部１１０１は、角度ぶれ補正量を制限するために、乗算部６０２に依り算出された像移動速度を制限する。これに依り、ぶれ補正マイコン５０６は、制限された角度ぶれ量に依り駆動部５０４を動作させて角度ぶれの補正を行う。
【０１１２】
なお、補正速度制限部１１０１が設けられる理由は、図１０に示した処理では数秒から１０秒程度の動画撮影時間（上述の規定時間）が必要であることから、動画撮影中に駆動部５０４の状態が補正可能範囲を超過してしまうことを防止するためである。
【０１１３】
減算部１１０２は、乗算部６０２に依り算出された像移動速度から、補正速度制限部１１０１に依り制限された像移動速度を減算することに依り、角度ぶれ補正速度不足分
2020190690.tif 000049
を算出する。
【０１１４】
なお、角度ぶれ補正量の制限方法は、上記の他、１周期での補正量に上限を設け、上限を超えた分の補正量の補正を行わない方法や、毎周期に一定量を補正量から減算する方法など様々な方法があり、いずれの方法を用いてもよい。
【０１１５】
また、図１１において、画像処理部１１０３、オプティカルフロー演算部１１０４、並進ぶれ速度時系列データ作成部１１０５、及びモデル作成部１１０６は、図１０に示したＳ１００２、Ｓ１００４、Ｓ１００６、及びＳ１００８〜Ｓ１０１１の処理に対応する構成である。
【０１１６】
続いて、上述の、並進速度（並進ぶれ速度）の時系列データを作成する処理（Ｓ１００９）において、その作成の際に用いられる計算式について説明する。
記録された動画データには、並進ぶれと角度ぶれに依る補正残りの影響が像移動として現れるので、角度ぶれ補正速度不足分
2020190690.tif 000050
を減算することで、並進ぶれの影響を抽出することができる。但し、このときの減算結果は、撮像面での像ぶれであるため、撮影時の像倍率（撮影倍率）で除算することに依り、カメラ５０１の並進速度を算出する。
【０１１７】
カメラ５０１の並進速度の時系列データＹｋは、下記式（１５）に依り求められる。
【数１６】
2020190690.tif 000051
ここで、
2020190690.tif 000052
は、動画フレーム間像移動量である。
2020190690.tif 000053
は、角度ぶれ補正速度不足分である。Δｔは、フレーム間時間である。ｄは、動画データに係る動画の画素ピッチである。βは、撮影時の像倍率（撮影倍率）である。
【０１１８】
式（１５）に依り求められた並進速度の時系列データＹｋを用いて、並進手ぶれ速度モデルが作成される。
第２の実施形態では、実際にカメラ５０１を使用するユーザの手ぶれから並進手ぶれ速度モデルが作成されるので、個人差に依る特性の違いを考慮する必要がなく、使用するユーザに最適な手ぶれ補正を提供することができる。
【０１１９】
なお、第２の実施形態は、第１の実施形態を組み合わせて構成してもよい。この場合は、並進手ぶれ速度モデル作成専用モードが設定された場合は、上述のとおり、その設定に依って作成された並進手ぶれ速度モデルを使用し、並進手ぶれ速度モデル作成専用モードが設定されなかった場合は、第１の実施形態で説明したとおり、予め準備されたモデルの中から最適なモデルを選択して使用してもよい。
【０１２０】
また、第２の実施形態では、モデル作成部１１０６が、システムコントローラ５０５内に設けられたが、カメラ５０１の外部に設けられてもよい。この場合は、カメラ５０１内で作成された並進速度の時系列データをＰＣ（Personal Computer）やスマートフォンな
どの外部装置に転送し、その外部装置内でのプログラムの実行に依りモデルを作成し、作成したモデルをカメラ５０１の速度モデル記録部６０７に戻してもよい。
【０１２１】
図１２は、第２の実施形態に係る時系列データの一例を示す図である。
図１２において、（Ａ）は、像ぶれ補正を行わない場合の撮像面に生じる像移動速度を示している。
【０１２２】
（Ｂ）は、乗算部６０２の出力である角度ぶれに依る像移動速度を示している。
（Ｃ）は、補正速度制限部１１０１の出力であって、所定の速度を閾値として、その閾値までに制限された像移動速度を示している。
【０１２３】
（Ｄ）は、（Ｂ）に示した角度ぶれに依る像移動速度から、（Ｃ）に示した制限された像移動速度を減算すること（（Ｂ）−（Ｃ））に依り得られた、角度ぶれ補正速度不足分（減算部１１０２の出力）を示している。
【０１２４】
（Ｅ）は、記録された動画データに係る動画の像移動量から算出された像移動速度を示している。
（Ｆ）は、（Ｅ）に示した像移動速度から、（Ｄ）に示した角度ぶれ補正速度不足分を減算すること（（Ｅ）−（Ｄ））に依り得られた、並進ぶれに依る像移動速度を示している。
【０１２５】
（Ｇ）は、（Ｆ）に示した像移動速度を撮影倍率βで除算すること（（Ｆ）／β）に依り得られたカメラ５０１の移動速度を示している。
【０１２６】
＜第３の実施形態＞
次に、第３の実施形態について説明する。第３の実施形態の説明では、第１の実施形態に対して異なる点を中心に説明する。また、第１の実施形態と同一の構成要素については同一の符号を付し、その説明を省略する。
【０１２７】
第３の実施形態に係る像ぶれ補正装置を含む撮像装置であるカメラ５０１は、撮影待機中に手ぶれ補正を行っている場合に、ライブビューに使用するフレーム画像から、並進速度の時系列データを取得し、その時系列データを用いて並進手ぶれ速度モデルをリアルタイムに作成して並進ぶれの補正に使用する。
【０１２８】
なお、並進手ぶれ補正モデルの作成に必要な計算量は多く、カメラ５０１が備えるプロセッサでは、その作成に要する計算時間が長くなる場合がある。この場合は、手ぶれ補正の補正周期よりも長い周期（例えば１秒周期）でモデルの更新を行えばよい。
【０１２９】
図１３は、第３の実施形態に係るぶれ補正マイコン５０６とシステムコントローラ５０５の構成を示す図である。但し、図１３には、手ぶれ補正及び並進手ぶれ速度モデルの作成に関係する構成のみを示す。また、図１３に示した角度ぶれ補正速度制限部１１０１、減算部１１０２、画像処理部１１０３、オプティカルフロー演算部１１０４、及びモデル作成部１１０６は、第２の実施形態で説明した図１１の補正速度制限部１１０１、減算部１１０２、画像処理部１１０３、オプティカルフロー演算部１１０４、及びモデル作成部１１０６と同様の機能を有するため、同一の符号を付している。
【０１３０】
図１３を参照しながら、まず、ライブビュー時の手ぶれ補正動作について説明する。
なお、ライブビューとは、システムコントローラ５０５が撮像素子５０３から読みだした画像データに係る映像を画像処理部１１０３に依りＥＶＦ５０９に表示可能なデータ形式に変換してＥＶＦ５０９に出力することに依り、撮影する画像をＥＶＦ５０９にリアルタイムに表示させる動作のことである。
【０１３１】
ライブビュー時の手ぶれ補正では、連続的に手ぶれ補正を行う必要がある。そのため、ぶれ補正マイコン５０６は、手ぶれ補正中に駆動部５０４の状態が補正可能範囲を超過してしまうことを防止するための制御が必要になる。
【０１３２】
そこで、角度ぶれ補正速度制限部１１０１を備えて、角度ぶれ補正量を制限する。同様に、並進ぶれ補正速度制限部１３０１を備えて、並進ぶれ補正量も制限する。
減算部１１０２は、乗算部６０２に依り算出された像移動速度から、角度ぶれ補正速度制限部１１０１に依り制限された像移動速度を減算することに依り、角度ぶれ補正速度不足分
2020190690.tif 000054
を算出する。
【０１３３】
加算部６１４は、角度ぶれ補正量制限部１１０１に依る制限等に依って得られた角度ぶれ量（像移動量）と、並進ぶれ補正速度制限部１３０１に依る制限等に依って得られた並進ぶれ量（像移動量）とを合算し、合算ぶれ量（像移動量）を算出する。
【０１３４】
補正制御部６１５は、その合算ぶれ量を打ち消す方向に撮像素子５０３を移動させるための駆動指示を駆動部５０４に与えて、撮像面での角度ぶれ及び並進ぶれの両方を補正する。
【０１３５】
次に、並進手ぶれ速度モデルの作成について説明する。
システムコントローラ５０５において、オプティカルフロー演算部１１０４は、撮像素子５０３から読み出されて画像処理部１１０３に依り画像処理された映像データ（画像データ）のフレーム間の像移動量を算出する。
【０１３６】
並進ぶれ速度時系列データ算出部１３０２は、ある時点における、フレーム間の像移動量
2020190690.tif 000055
と、フレーム間の並進ぶれ補正速度
2020190690.tif 000056
と、フレーム間の角度ぶれ補正速度不足分
2020190690.tif 000057
とから、ライブビュー中のカメラ５０１の並進速度の時系列データＹｋを、下記式（１６）に依り算出する。
【０１３７】
【数１７】
2020190690.tif 000058
ここで、Δｔは、フレーム間時間である。ｄは、動画データに係る動画の画素ピッチである。βは、撮影時の像倍率（撮影倍率）である。
【０１３８】
このカメラ５０１の並進速度の時系列データＹｋを、例えば１秒間蓄積し、１秒分のデータがそろったら、モデル作成部１１０６が並進手ぶれ速度モデル作成する。そして、その並進手ぶれ速度モデルを、カルマンフィルタ６０６、システムノイズＱ６１０、駆動源ベクトルｂ６１１に指定し、次回以降の並進手ぶれ補正を行う。
【０１３９】
第３の実施形態では、撮影直前の状態からモデルが作成されることで、個人差やカメラ５０１の姿勢差などの特性の変化に対応が可能になる。
図１４は、第３の実施形態に係る時系列データの一例を示す図である。
【０１４０】
図１４において、（Ａ）は、手ぶれ補正を行わない場合の撮像面に生じる像移動速度を示している。
（Ｂ）は、乗算部６０２の出力である角度ぶれに依る像移動速度を示している。
【０１４１】
（Ｃ）は、角度ぶれ補正速度制限部１１０１の出力であって、所定の速度を閾値として、その閾値までに制限された像移動速度を示している。
（Ｄ）は、（Ｂ）に示した角度ぶれに依る像移動速度から、（Ｃ）に示した制限された像移動速度を減算すること（（Ｂ）−（Ｃ））に依り得られた、角度ぶれ補正速度不足分（減算部１１０２の出力）を示している。
【０１４２】
（Ｅ）は、並進ぶれ補正を行わない場合の撮像面に生じる並進ぶれ像移動速度（乗算部６１２の出力に対応）を示している。
（Ｆ）は、並進ぶれ補正速度制限部１３０１の出力であって、所定の速度を閾値として、その閾値までに制限された像移動速度を示している。
【０１４３】
（Ｇ）は、（Ｆ）に示した制限された像移動速度に基づいて、（Ｅ）に示した並進ぶれ像移動速度を補正した場合の補正残り（（Ｅ）−（Ｆ）に対応）を示している。
（Ｈ）は、動画データに係る動画において検出されたフレーム間の像移動量から算出した像移動速度を示している。
【０１４４】
（Ｉ）は、（Ｆ）に示した制限された像移動速度と、（Ｈ）に示したフレーム間の像移動量から算出された像移動速度とを加算し、（Ｄ）に示した角度ぶれ補正速度不足分を減算すること（（Ｆ）＋（Ｈ）−（Ｄ））に依り得られた、並進ぶれに依る像移動速度を示している。
【０１４５】
（Ｊ）は、（Ｉ）に示した像移動速度を撮影倍率βで除算すること（（Ｉ）／β）に依り得られたカメラ５０１の移動速度を示している。
【０１４６】
＜第４の実施形態＞
次に、第４の実施形態について説明する。第４の実施形態の説明では、第１の実施形態に対して異なる点を中心に説明する。また、第１の実施形態と同一の構成要素については同一の符号を付し、その説明を省略する。
【０１４７】
図１５は、第４の実施形態に係るぶれ補正マイコン５０６の構成を示す図である。
図１５に示すぶれ補正マイコン５０６では、加速度信号処理部６０４の処理結果がカルマンフィルタ１５０１に入力される。カルマンフィルタ１５０１は、第１の実施形態に係るカルマンフィルタ６０６に対して、フィルタリング処理する対象と、使用するモデルが異なる。カルマンフィルタ１５０１の詳細は、図１６を用いて後述する。
【０１４８】
積分フィルタ６０５は、カルマンフィルタ１５０１の出力である、ノイズ成分が除去された並進加速度を時間積分することに依り、並進速度を算出する。
乗算部６１２は、積分フィルタ６０５に依り算出された並進速度に撮影倍率βを乗算することに依り、撮像面における並進ぶれに依る像移動量を算出する。
【０１４９】
図１６は、第４の実施形態に係るカルマンフィルタ１５０１の構成を示す図である。
図１６に示すとおり、第４の実施形態に係るカルマンフィルタ１５０１と、第１の実施形態に係るカルマンフィルタ６０６との異なる点は、入力が加速度であり、使用されるモデルが、並進ぶれに依り生じる並進ぶれ加速度の時系列データから生成された並進手ぶれ加速度モデル１６０１である点である。
【０１５０】
加速度モデル記録部１５０２には、第１の実施形態に係る速度モデル記録部６０７と同様に、様々なケースに対応するモデル（ＡＲモデルの自己回帰係数φと推定誤差Ｑ）が記録されている。例えば、並進ぶれの大きい撮影者の不安定な姿勢に対応するモデルや、並進ぶれが小さい撮影者の安定した姿勢に対応するモデルや、平均的な撮影者の姿勢に対応するモデル等が記録されている。但し、これらのモデルは、第１の実施形態とは異なり、並進手ぶれに依る並進加速度の時系列データを用いて作成されたモデルである。
【０１５１】
加速度モデル選択部１５０３は、加速度信号処理部６０４の処理結果である並進加速度を解析し、周波数帯域が最も近いモデルを、加速度モデル記録部１５０２に記録されている複数のモデルの中から選択する。また、選択したモデルに対応するパラメータを並進手ぶれ加速度モデル１６０１、システムノイズＱ６１０、駆動源ベクトルｂ６１１に指定することに依り、カルマンフィルタ１５０１で加速度のノイズが高精度に除去される。
【０１５２】
並進加速度の時系列データから、並進手ぶれ加速度モデル（加速度モデル記録部１５０２に記録されるモデル）を作成する際は、第一実施形態と同様に、ユール・ウォーカー法
を用いる。
並進手ぶれ加速度モデルを作成するためには、通常の手ぶれ補正に使用する加速度センサ５０８よりも高精度な並進加速度の時系列データが必要である。例えば、その時系列データは、加速度センサ５０８よりも高精度にＸ、Ｙ、Ｚの３軸の加速度が取得できる加速度計をカメラ５０１に装着して取得した並進加速度の時系列データでもよいし、ノイズを平均化し除去するために長期間にわたり加速度センサ５０８で取得した撮影者の並進ぶれ加速度の時系列データを用いてもよい。
【０１５３】
＜第５の実施形態＞
次に、第５の実施形態について説明する。第５の実施形態の説明では、第１の実施形態に対して異なる点を中心に説明する。また、第１の実施形態と同一の構成要素については同一の符号を付し、その説明を省略する。
【０１５４】
図１７は、第５の実施形態に係るぶれ補正マイコン５０６の構成を示す図である。
図１７に示すぶれ補正マイコン５０６では、積分フィルタ６０５の出力が積分フィルタ６１３に入力さる。積分フィルタ６１３は、積分フィルタ６０５に依り算出された並進速度を時間積分して並進移動量（並進変位）を算出する。
【０１５５】
積分フィルタ６１３の出力は、カルマンフィルタ１７０１に入力される。カルマンフィルタ１７０１は、第１の実施形態に係るカルマンフィルタ６０６に対して、フィルタリング処理する対象と、使用するモデルが異なる。カルマンフィルタ１７０１の詳細は、図１８を用いて後述する。
【０１５６】
カルマンフィルタ１７０１の出力は、乗算部６１２に入力される。乗算部６１２は、カルマンフィルタ１７０１の出力である、ノイズ成分が除去された並進変位（並進移動量）に撮影倍率βを乗算して、並進ぶれ像移動量を算出する。
【０１５７】
乗算部６１２の出力は、加算部６１４に入力される。
図１８は、第５の実施形態に係るカルマンフィルタ１７０１の構成を示す図である。
図１８に示すとおり、第５の実施形態に係るカルマンフィルタ１７０１と、第１の実施形態に係るカルマンフィルタ６０６との異なる点は、入力が並進移動量であり、使用されるモデルが、並進ぶれに依り生じる並進ぶれ移動量の時系列データから生成された並進手ぶれ変位モデル１８０１である点である。
【０１５８】
変位モデル記録部１７０２には、第１の実施形態に係る速度モデル記録部６０７と同様に、様々なケースに対応するモデル（ＡＲモデルの自己回帰係数φと推定誤差Ｑ）が記録されている。例えば、並進ぶれの大きい撮影者の不安定な姿勢に対応するモデルや、並進ぶれが小さい撮影者の安定した姿勢に対応するモデルや、平均的な撮影者の姿勢に対応するモデル等が記録されている。但し、これらのモデルは、第１の実施形態とは異なり、並進手ぶれに依る並進変位（並進移動量）の時系列データを用いて作成されたモデルである。
【０１５９】
変位モデル選択部１７０３は、積分フィルタ６１３の算出結果である並進変位を解析し、周波数帯域が最も近いモデルを、変位モデル記録部１７０２に記録されている複数のモデルの中から選択する。また、選択したモデルに対応するパラメータを並進手ぶれ変位モデル１８０１、システムノイズＱ６１０、駆動源ベクトルｂ６１１に指定することに依り、カルマンフィルタ１７０１で変位（移動量）のノイズが高精度に除去される。
【０１６０】
変位（移動量）でモデルを作成する利点は、低周波が優位なデータであるため、モデルの次数を低く抑えることができ、計算量を減らすことができる可能性が高いことである。
第５の実施形態では、モデルの次数を２次とすることで十分な精度が確保できる。
【０１６１】
並進変位の時系列データから、並進手ぶれ変位モデル（変位モデル記録部１７０２に記録されるモデル）を作成する際は、第一実施形態と同様に、ユール・ウォーカー法を用いる。
並進手ぶれ変位モデルを作成するためには、通常の手ぶれ補正に使用する加速度センサ５０８の検出結果の２回積分よりも高精度な並進変位の時系列データが必要である。例えば、その時系列データとして、レーザ変位計に依り手持ち撮影時のカメラ変位を測定した並進ぶれ変位の時系列データなどが考えられる。
【０１６２】
＜第６の実施形態＞
次に、第６の実施形態について説明する。第６の実施形態の説明では、第１の実施形態に対して異なる点を中心に説明する。また、第１の実施形態と同一の構成要素については同一の符号を付し、その説明を省略する。
【０１６３】
図１９は、第６の実施形態に係るぶれ補正マイコン５０６の構成を示す図である。
図１９に示すとおり、第１の実施形態に対して異なる点は、カルマンフィルタ６０６の代わりに加重平均フィルタ１９０１を用いる点である。
【０１６４】
図２０は、加重平均フィルタ１９０１の構成を示す図である。
図２０に示す加重平均フィルタ１９０１において、加重決定部２００１は、入力された並進速度（積分フィルタ６０５の算出結果）の特性を解析し、使用中のモデルの特性との乖離が増大した場合は、観測値である並進速度の加重を高くし、使用中のモデルの特性の差が小さいほど、並進手ぶれ速度モデル２００２の出力の加重を高くするための加重係数ａを加重乗算部２００３、２００４に設定する。
【０１６５】
こうすることで、モデルで精度の高い予測が可能な場合は、予測値を用い、予測精度が低下している場合は、観測値から出力を求めることができ、誤動作を防止できる。
なお、並進手ぶれ速度モデル２００２、遅延演算子Ｚ−１２００５、及び加算部２００６は、第１の実施形態で説明した並進手ぶれ速度モデル７０１、遅延演算子Ｚ−１７０６、及び加算部７０５に対応する。
【０１６６】
第６の実施形態で使用する加重平均フィルタ１９０１は、第１の実施形態で用いたカルマンフィルタ６０６に比べると計算量が少ないために高速処理ができる（第２〜第５の実施形態で用いたカルマンフィルタに対しても同様）。そのため、ぶれ補正マイコン５０６の演算性能が低い場合でも実現可能性が高いというメリットがある。
【０１６７】
以上に述べた各実施形態は、様々な変形や組み合わせが可能である。
例えば、第４又は第５の実施形態に対し、第２の実施形態で説明した並進手ぶれ速度モデル作成専用モードに類するモデル作成専用モードを備えさせたり、第３の実施形態で説明したライブビュー中のモデル作成を可能にさせたりしてもよい。また、例えば、第１の実施形態と第３の実施形態とを組み合わせて、状況に応じて適したモデルを使用する構成としてもよい。さらに、例えば、第６の実施形態と同様に、第２〜第５の各実施形態において、カルマンフィルタの代わりに加重平均フィルタを用いてもよい。その他にも、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、例えば、実施形態に示される全構成要素のいくつかの構成要素を削除してもよい。
【符号の説明】
【０１６８】
１０１            観測対象系
１０２            カルマンフィルタ
１０３            システムノイズ
１０４            システム
１０５            観測ノイズ
１０６            加算器
１０７            モデル
１０８            遅延演算子
１０９            事後推定値算出部
１１０            カルマンゲイン算出部
１１１            事前推定値算出部
２０１            駆動源ベクトル
２０２            遅延演算子
２０３            状態遷移行列
２０４            観測係数
３０１            システムノイズの分散
３０２            観測ノイズの分散
３０３            遅延演算子
３０４            事前誤差共分散行列算出部
３０５            カルマンゲイン算出部
３０６            誤差共分散行列算出部
５０１            カメラ
５０２            光学系
５０３            撮像素子
５０４            駆動部
５０５            システムコントローラ
５０６            ぶれ補正マイコン
５０７            角速度センサ
５０８            加速度センサ
５０９            ＥＶＦ
６０１            角速度信号処理部
６０２            乗算部
６０３            積分フィルタ
６０４            加速度信号処理部
６０５            積分フィルタ
６０６            カルマンフィルタ
６０７            速度モデル記録部
６０８            速度モデル選択部
６０９            観測ノイズ
６１０            システムノイズ
６１１            駆動源ベクトル
６１２            乗算部
６１３            積分フィルタ
６１４            加算部
６１５            補正制御部
７０１            並進手ぶれ速度モデル
７０２            カルマンゲイン算出部
７０３            乗算部
７０４            演算部
７０５            加算部
７０６            遅延演算子
８０１            手ぶれ速度解析部
８０２            使用モデル判定部
８０３            使用モデル取得部
１１０１          補正速度制限部
１１０２          減算部
１１０３          画像処理部
１１０４          オプティカルフロー演算部
１１０５          並進ぶれ速度時系列データ作成部
１１０６          モデル作成部
１３０１          並進ぶれ補正速度制限部
１３０２          並進ぶれ速度時系列データ算出部
１５０１          カルマンフィルタ
１５０２          加速度モデル記録部
１５０３          加速度モデル選択部
１６０１          並進手ぶれ加速度モデル
１７０１          カルマンフィルタ
１７０２          変位モデル記録部
１７０３          変位モデル選択部
１８０１          並進手ぶれ変位モデル
１９０１          加重平均フィルタ
２００１          加重決定部
２００２          並進手ぶれ速度モデル
２００３、２００４  加重乗算部
２００５          遅延演算子
２００６          加算部
【図１】
2020190690.tif 000059
【図２】
2020190690.tif 000060
【図３】
2020190690.tif 000061
【図４】
2020190690.tif 000062
【図５】
2020190690.tif 000063
【図６】
2020190690.tif 000064
【図７】
2020190690.tif 000065
【図８】
2020190690.tif 000066
【図９】
2020190690.tif 000067
【図１０】
2020190690.tif 000068
【図１１】
2020190690.tif 000069
【図１２】
2020190690.tif 000070
【図１３】
2020190690.tif 000071
【図１４】
2020190690.tif 000072
【図１５】
2020190690.tif 000073
【図１６】
2020190690.tif 000074
【図１７】
2020190690.tif 000075
【図１８】
2020190690.tif 000076
【図１９】
2020190690.tif 000077
【図２０】
2020190690.tif 000078