(57)【要約】【課題】動きベクトルが正しく検出されない状況であっても、パンニング時等での制御が正しく行われ、良好な像振れ補正効果が得られる撮像装置を提供する。【解決手段】撮像画像の像振れを補正する機能を有する撮像装置であって、振れを検出する振れ検出部１０２と、撮像画像信号から画像の動きを示す動きベクトルを検出する動きベクトル検出部１２１と、動きベクトル検出部の出力と、振れ検出部の出力に基づいて演算される演算結果とを選択的に出力する、動きベクトル出力制御部１２２と、動きベクトル出力制御部の出力に基づいて振れ補正量を演算する補正量演算部１０９と、振れ補正量に基づいて、撮像画像の像振れを補正する補正部１１２とを備える。【選択図】  図１
2014128015.tif 000002
【特許請求の範囲】
【請求項１】
撮像画像の像振れを補正する機能を有する撮像装置であって、
振れを検出する振れ検出手段と、
撮像画像信号から画像の動きを示す動きベクトルを検出する動きベクトル検出手段と、
前記動きベクトル検出手段の出力と、前記振れ検出手段の出力に基づいて演算される演算結果とを選択的に出力する、動きベクトル出力制御手段と、
前記動きベクトル出力制御手段の出力に基づいて振れ補正量を演算する補正量演算手段と、
前記振れ補正量に基づいて、撮像画像の像振れを補正する補正手段と、
を備えることを特徴とする撮像装置。
【請求項２】
前記動きベクトル検出手段の出力に基づいて、前記撮像装置の撮像方向を変更する動作を行っているか否かを判定し、前記撮像装置の撮像方向を変更する動作を行っている場合には、前記補正量演算手段の演算を低周波数帯域の減衰量が大きくなるように変更する制御手段をさらに備えることを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記動きベクトル検出手段の出力に基づいて、前記撮像装置が定点撮影状態か否かを判定し、前記撮像装置が定点撮影状態である場合には、前記補正量演算手段の演算を低周波数帯域の減衰量が小さくなるように変更する制御手段をさらに備えることを特徴とする請求項１に記載の撮像装置。
【請求項４】
前記撮像装置が静止状態であるときの前記振れ検出手段の出力である、基準値を演算する基準値演算手段をさらに備え、
前記動きベクトル出力制御手段は、前記振れ検出手段の出力と前記基準値との差分を積分した出力に基づいて演算した撮像面上の被写体の移動量に基づく値と、前記動きベクトル検出手段の出力とを選択的に出力することを特徴とする請求項１乃至３のいずれか１項に記載の撮像装置。
【請求項５】
前記動きベクトル出力制御手段は、前記動きベクトル検出手段の出力の信頼性が低いと判定した場合、前記振れ検出手段の出力に基づいて演算される演算結果を選択して出力し、前記動きベクトル検出手段の出力の信頼性が低いと判定しなかった場合、前記動きベクトル検出手段の出力を選択して出力することを特徴とする請求項４に記載の撮像装置。
【請求項６】
前記動きベクトル検出手段は、前記撮像画像を複数ブロックに分割し、各ブロック毎に、現在のフレーム画像と過去のフレーム画像の輝度データの差分絶対値和を用いて動きベクトルを算出し、
前記動きベクトル出力制御手段は、
前記差分絶対値和の最大値と最小値の差が所定値より小さいブロックの数が所定数を超えたとき、前記差分絶対値和が最小値近傍となる箇所が複数存在するブロックの数が所定数を超えたとき、前記撮像装置がズーム動作中のとき、前記振れ検出手段の出力が所定の大きさ以上のとき、および前記振れ検出手段の出力に基づいて演算される演算結果と前記動きベクトル検出手段の出力との差分が所定値以上のとき、のうち少なくとも１つのとき、前記動きベクトル検出手段の出力の信頼性が低いと判定することを特徴とする請求項５に記載の撮像装置。
【請求項７】
前記振れ検出手段の出力の低周波数成分を減衰する低周波数成分減衰手段をさらに備え、
前記動きベクトル出力制御手段は、前記撮像装置の電源オン後、前記基準値演算手段による基準値演算が初めて行われるまでは、前記低周波数成分減衰手段の出力を積分した出力に基づいて演算した撮像面上の被写体の移動量に基づく値と、前記動きベクトル検出手段の出力とを選択的に出力することを特徴とする請求項４に記載の撮像装置。
【請求項８】
撮像画像の像振れを補正する機能を有する撮像装置を制御する方法であって、
振れを検出する振れ検出工程と、
撮像画像信号から画像の動きを示す動きベクトルを検出する動きベクトル検出工程と、
前記動きベクトル検出工程での出力と、前記振れ検出工程での出力に基づいて演算される演算結果とを選択的に出力する、動きベクトル出力制御工程と、
前記動きベクトル出力制御工程での出力に基づいて振れ補正量を演算する補正量演算工程と、
前記振れ補正量に基づいて、撮像画像の像振れを補正する補正工程と、
を備えることを特徴とする撮像装置の制御方法。
【請求項９】
請求項８に記載の制御方法をコンピュータに実行させるためのプログラム。
【請求項１０】
請求項８に記載の制御方法をコンピュータに実行させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置の振れに起因する撮影画像の像振れを機械的、あるいは電子的に補正する技術に関する。
【背景技術】
【０００２】
近年、撮像装置の小型化や光学系の高倍率化に伴い、撮像装置の振れ等が撮影画像の品位を低下させる大きな原因となっている。この点に着目し、このような装置の振れ等により生じた撮像画像の像振れを補正する像像振れ補正機能が種々提案されている。
【０００３】
像振れ補正機能においては、撮影者が意図的に撮像装置の撮影範囲を変更させるパンニング操作による画像の動きまでも補正してしまうと、撮影者のパンニング操作の妨げとなってしまう。そのため、撮像装置がパンニング状態であることを検出して、パンニングの動きを補正しないようにする機能の提案が本願出願人からもなされている。例えば特許文献１では、撮像装置の振れを検出する振れ検出センサと、動きベクトルを用いて、撮像装置がパンニング状態であることを検出する撮像装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１４７８５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来例では以下のような問題点があった。上記従来例では、例えばコントラストの低い被写体を撮影している状況等、動きベクトルが正しく検出されない状態で撮影を行っているときには、パンニングを正しく検出することができない問題点があった。また、上記パンニング検出に関わらず、動きベクトル検出結果を他の種々の制御に用いる場合にも、それらの制御が正しく行われず、像振れ補正性能の低下を招くことがあった。
【０００６】
本発明は上述した課題に鑑みてなされたものであり、その目的は、動きベクトルが正しく検出されない状況であっても、パンニング時等での制御が正しく行われ、良好な像振れ補正効果が得られる撮像装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明に係わる撮像装置は、撮像画像の像振れを補正する機能を有する撮像装置であって、振れを検出する振れ検出手段と、撮像画像信号から画像の動きを示す動きベクトルを検出する動きベクトル検出手段と、前記動きベクトル検出手段の出力と、前記振れ検出手段の出力に基づいて演算される演算結果とを選択的に出力する、動きベクトル出力制御手段と、前記動きベクトル出力制御手段の出力に基づいて振れ補正量を演算する補正量演算手段と、前記振れ補正量に基づいて、撮像画像の像振れを補正する補正手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、動きベクトルが正しく検出されない状況であっても、パンニング時等での制御が正しく行われ、良好な像振れ補正効果が得られる撮像装置を提供することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の撮像装置の実施形態としてのビデオカメラの構成を示すブロック図である。
【図２】動きベクトル出力制御部１２２の構成例を示すブロック図である。
【図３】動きベクトル出力選択部１２４の処理を示すフローチャートである。
【図４】動きベクトル検出部１２１の動きベクトル検出方法を説明するための図である。
【図５】動きベクトル検出部１２１の差分絶対値和（ＳＡＤ）を用いた画像の動き量の算出方法を説明するための図である。
【図６】図３のフローチャートにおける、ステップＳ２３及びステップＳ２４の処理を説明するための図である。
【図７】図３のフローチャートにおける、ステップＳ２４の処理を説明するためのグラフである。
【図８】角速度入力選択部２０５の処理を示すフローチャートである。
【図９】角速度入力選択部２０５の処理を説明するためのグラフである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、添付図面を参照して詳細に説明する。なお、以下の説明では、画像の横方向または縦方向のいずれか一方の像振れ補正制御に関して説明を行い、他方向の像振れ補正制御は同様の制御であるため、説明を省略する。
【００１１】
図１は、本発明の撮像装置の実施形態としてのビデオカメラの構成を示すブロック図である。図１の撮像装置１００の各構成部とその動作について具体的に説明する。
【００１２】
振れ検出手段としての角速度センサ１０２は、撮像装置１００に加わる振れを角速度信号として検出し、その角速度信号をＡ／Ｄ変換器１０３に供給する。Ａ／Ｄ変換器１０３は、角速度センサ１０２からの角速度信号をアナログ信号からデジタル信号に変換（Ａ／Ｄ変換）して、μＣＯＭ１０１内部の基準値演算部１０４及び減算器１０５に供給する（以下、角速度センサ信号とする）。
【００１３】
角速度センサ１０２は、例えばジャイロセンサであり、加えられる振動がゼロのときの出力が環境によって変動するものとする。上記角速度センサ信号は、角速度センサ１０２が撮像装置１００の振れ量を検出した信号に、上記振動がゼロのときの出力変動が重畳された信号となっている。そこで基準値演算部１０４では、角速度センサ１０２に加えられる振動がゼロ（静止状態）のときの角速度センサ信号、すなわち「基準値」を算出し、減算器１０５に供給する。ここで、基準値の演算には、角速度センサ信号の所定時間の平均値を用いる等、公知の方法を用いればよい。減算器１０５では、角速度センサ信号から基準値を減算した結果を、ＨＰＦ（ハイパスフィルタ）１０６及び動きベクトル出力制御部１２２に供給する。
【００１４】
ＨＰＦ１０６は、任意の周波数帯域でフィルタの特性を変更し得る機能を有しており、減算器１０５からの角速度データに含まれる低周波数成分を遮断して高周波数帯域の信号を出力する。またＨＰＦ１０６は、基準値演算部１０４の基準値演算結果が更新されたときに、過去の基準値からの変化量がＨＰＦ１０６の出力に現れないように、ＨＰＦ１０６の中間保持データも同時に更新する制御も行う。積分器１０７は、任意の周波数帯域でその特性を変更し得る機能を有しており、ＨＰＦ１０６からの出力を積分し、焦点距離補正部１０８に供給する。
【００１５】
補正光学系１１４は、例えば撮像光学系１１５の一部をなすシフトレンズであり、光軸に垂直方向に移動することによって光軸を偏向し、撮像画像のブレ像振れを光学的に補正する。撮像光学系１１５は、複数のレンズ群からなり、ズーミング、フォーカシング等の動作を行うことができる。撮像光学系１１５は、補正光学系１１４を通して、被写体像を撮像素子１１９に結像させる。ズームエンコーダ１１８は、撮像光学系１１５のズーム位置を検出し、μＣＯＭ１０１内部の焦点距離補正部１０８に出力する。焦点距離補正部１０８では、ズームエンコーダ１１８の出力より撮像光学系１１５の焦点距離を算出し、補正光学系１１４を駆動するのに最適な値となるように、積分器１０７の出力を補正する。
【００１６】
位置検出部１１６は、補正光学系１１４の位置を検出する。そしてＡ／Ｄ変換器１１７は、位置検出部１１６からのの出力をアナログ信号からデジタル信号へ変換（Ａ／Ｄ変換）する。加減算器１０９は、Ａ／Ｄ変換器１１７にてデジタル化した補正光学系１１４の位置データを、焦点距離補正部１０８の出力と動きベクトル補正量演算部１２３の出力とを加算した値から減算し、偏差データを算出する。そして、加減算器１０９における演算の結果である偏差データを制御フィルタ１１０に供給する。
【００１７】
制御フィルタ１１０は、偏差データを所定のゲインで増幅する増幅器、及び位相補償フィルタで構成されている。加減算器１０９から供給された偏差データは、制御フィルタ１１０に供給される。制御フィルタ１１０は、加減算器１０９から供給された偏差データに対して増幅器及び位相補償フィルタによる信号処理を行い、パルス幅変調部１１１に出力する。パルス幅変調部１１１は、制御フィルタ１１０を通過して供給されたデータを、パルス波のデューティー比を変化させる波形（即ちＰＷＭ波形）に変調して、モータ駆動部１１２に供給する。
【００１８】
モータ１１３は、補正光学系１１４の駆動用のボイス・コイル型モータである。モータ１１３は、モータ駆動部１１２で駆動制御されることにより、補正光学系１１４が光軸と垂直な方向に移動される。位置検出部１１６は、磁石とそれに対向する位置に備えられたホール・センサとからなり、補正光学系１１４の光軸と垂直な方向への移動量を検出し、その検出結果をＡ／Ｄ変換器１１７を介して、上述した加減算器１０９に供給する。これによって、焦点距離補正部１０８と動きベクトル補正量演算部１２３の加算出力に対して、補正光学系１１４の光軸と垂直な方向への移動量を追従させる、フィードバック制御系を構成している。補正光学系１１４は、例えばシフトレンズであり、光軸と垂直な方向に移動されることにより光軸を偏向する（結像位置を移動させる）、光学的に振れ補正可能な補正系である。その結果、装置の振れ等により生じる撮像面上の被写体の移動が補正された像が、撮像素子１１９に結像される。撮像素子１１９は、撮像光学系１１５によって結像された被写体像を撮像画像信号としての電気信号に変換し、信号処理部１２０に供給する。信号処理部１２０は、撮像素子１１９により得られた信号から、例えばＮＴＳＣフォーマットに準拠したビデオ信号（映像信号）を生成して動きベクトル検出部１２１に供給する。
【００１９】
動きベクトル検出部１２１は、信号処理部１２０で生成された現在の映像信号（フレーム画像）に含まれる輝度信号と、動きベクトル検出部１２１内部の画像メモリに格納された１フィールド前の映像信号（フレーム画像）に含まれる輝度信号とに基づいて画像の動きベクトルを検出する。動きベクトル検出部１２１によって検出された動きベクトル出力は、μＣＯＭ１０１内部の動きベクトル出力制御部１２２に供給される。
【００２０】
動きベクトル出力制御部１２２は、本実施形態における最も特徴的な処理を行うブロックであり、詳細は後述する。動きベクトル制御部１２２の出力は、動きベクトル補正量演算部１２３及び動き判定制御部１２４に供給される。
【００２１】
動きベクトル補正量演算部１２３は、動きベクトル出力に対して、所定の演算処理を行った結果を加減算器１０９に加算して補正光学系１１４を駆動し、像振れ補正残り量を抑圧するフィードバック制御を行っている。動きベクトル補正量演算部１２３は、動きベクトル出力制御部１２２の出力を、変更可能なゲインで増幅する増幅器、及び位相補償フィルタで構成されており、当該変更可能なゲインを大きくするほど、像振れ補正残り量の抑圧効果は強くなる。
【００２２】
動き判定制御部１２４は、動きベクトル出力制御部１２２の出力を用いて、撮像装置１００がパンニング状態（撮像方向を変更する動作状態）であるかどうかの判定及び、撮像装置１００が固定被写体を手持ち撮影している状態であるかどうかの判定を行う。
【００２３】
例えば、動き判定制御部１２４では、動きベクトル出力制御部１２２の出力を用いた演算結果が所定の第１閾値よりも大きいとき、撮像装置１００がパンニング状態であると判定する。なお、動きベクトル出力制御部１２２の出力を用いた演算結果とは、動きベクトル出力制御部１２２の出力そのものであってもよいし、動きベクトル出力制御部１２２の出力に対して、ＬＰＦ等の演算を行った結果であってもよい。つまり、動きベクトル出力制御部１２２の出力を用いていれば、どのような信号を用いてもよい。撮像装置１００がパンニング状態であると判定されると、動き判定制御部１２４は、ＨＰＦ１０６のカットオフ周波数を高くする（低周波数成分減衰量を大きくする）制御、積分器１０７の時定数を短くする制御、動きベクトル補正量演算部１２３のゲインを小さくする制御のうちの、少なくとも１つの処理を行う。これによって、パンニングによって発生する低周波数帯域の動き成分を遮断することができ、撮影者のパンニング操作を妨げてしまう不具合を防止することができる。具体的には、補正光学系１１４が中心に向かいやすくすることによって、検出する振れに対する像振れ補正の度合いを下げる（像振れ補正の追従性を下げる）ことになる。
【００２４】
また、例えば、動き判定制御部１２４では、動きベクトル出力制御部１２２の出力を用いた演算結果が所定の第２閾値よりも小さい状態が所定時間以上継続したとき、撮像装置１００が固定点撮影状態（撮影者が撮像装置を持ち、特にテレ側で動きの少ない被写体を撮影している状態）であると判定する。撮像装置１００が固定点撮影状態と判定されると、ユーザーはパンニングなどの大きな動作をしないと予想できるため、より低周波数帯域の振れによる動画像の像振れも補正することが可能である。なお、動きベクトル出力制御部１２２の出力を用いた演算結果とは、動きベクトル出力制御部１２２の出力そのものであってもよいし、動きベクトル出力制御部１２２の出力に対して、ＬＰＦ等の演算を行った結果であってもよい。つまり、動きベクトル出力制御部１２２の出力を用いていれば、どのような信号を用いてもよい。撮像装置１００が固定点撮影状態であると判定されると、動き判定制御部１２４は、ＨＰＦ１０６のカットオフ周波数を低くする制御、積分器１０７の時定数を長くする制御、動きベクトル補正量演算部１２３のゲインを大きくする制御のうちの、少なくとも１つの処理を行う。これによって、固定点撮影状態では、撮影時の体の揺れ等によって生じる、低周波数帯域の撮像装置１００の振れによる動画像の像振れも補正することができ、像振れ補正性能の向上を実現することができる。
【００２５】
次に、本発明の実施形態の特徴的な部分である動きベクトル出力制御部１２２の２つの実施形態について説明する。
【００２６】
（第１の実施形態）
図２（ａ）は、動きベクトル出力制御部１２２の第１の実施形態の構成を示すブロック図である。以下、動きベクトル出力制御部１２２の動作について具体的に説明する。なお、図１の各構成部と同一のブロックには、同一の符号を付しており、説明は省略する。
【００２７】
動きベクトル出力制御部１２２は、角速度センサ１０２の出力を用いて、動きベクトル検出結果と同等な出力（以下、角速度移動量と定義する）を演算する。そして、動きベクトル検出部１２１の動きベクトル検出結果が正しくないと推定されるときに、動きベクトル検出部１２１の出力に替えて、この角速度移動量を出力する機能を有している。
【００２８】
積分器２０１、画素換算部２０２、光学補正量除去部２０３は、上記の角速度移動量を演算するためのブロックである。積分器２０１は、減算器１０５の出力、すなわち角速度を示すデータを積分し角度に変換する演算を行う。積分期間は、動きベクトル検出部１２１で動きベクトルを検出するための画像の更新期間と一致させ、その画像更新期間毎に積分を行い、画像更新期間毎の振れ角度θを演算する。
【００２９】
画素換算部２０２は、上記の画像更新期間毎の振れ角度θを用いて、撮像光学系１１５による像振れ補正が行われなかったとしたときの、画像更新期間毎の振れ角度θによる、撮像素子１１９上での画像の移動量（以下、補正前角速度移動量とする）を算出する。ここで、上記の画像更新期間毎の振れ角度をθ[rad]、撮像光学系１１５の焦点距離をｆ[mm]、撮像素子１１９のセルピッチをｃ[mm]とすると、補正前角速度移動量[pixel]は、（式１）で演算することができる。
【００３０】
補正前角速度移動量＝ｆθ／ｃ        …（式１）
光学補正量除去部２０３は、補正光学系１１４の位置検出結果を示す、Ａ／Ｄ変換器１１７の出力を用いて、画像更新期間毎の像振れ補正量[pixel]を演算し、画素換算部２０２から供給される補正前角速度移動量[pixel]から減算する。本演算結果は、画像更新期間毎の像振れ補正残り量を示し、動きベクトル検出部１２１の出力と同等な出力である。即ち、これが上述した「角速度移動量」となる。
【００３１】
図３（ａ）は、動きベクトル出力選択部２０４の処理の流れを示したフローチャートである。図３（ａ）のフローチャートの処理は、上記の画像更新期間毎に繰り返し行われる。
【００３２】
動きベクトル出力選択部２０４は、ステップＳ１０において動きベクトルの信頼性判定を行う。動きベクトルの信頼性判定についての詳細は後述する。ステップＳ１１において、ステップＳ１０の信頼性判定の結果、動きベクトルの信頼性が低いと判定された場合は、ステップＳ１２の処理へと進み、動きベクトルの信頼性が低いと判定されなかった場合は、ステップＳ１３の処理へと進み、本処理は終了となる。
【００３３】
図３（ｂ）は、ステップＳ１０の動きベクトル信頼性判定の処理の流れを示したフローチャートである。ここで、本実施形態においては、ステップＳ２０乃至ステップＳ２４の処理を全て実施するものとして説明を行うが、これに限定されるものではない。例えばステップＳ２０乃至ステップＳ２４の処理の内、いずれか１つの処理だけを実施する構成にしてもよいし、任意の複数の処理を組み合わせて実施する構成にしてもよい。
【００３４】
動きベクトル出力選択部２０４は、ステップＳ２０において、動きベクトル検出部１２１でＳＡＤ（差分絶対値和）複数ピークエラーが発生しているかどうかの判定を行う。ここで、ＳＡＤ複数ピークエラーについて説明する。
【００３５】
動きベクトル検出部１２１は、現在の画像の輝度データと過去の画像の輝度データを複数ブロックに分割し、各ブロック毎に画像の動き量を演算し、各々のブロック毎に演算された画像の動き量を、統計的に処理し、最終的な動きベクトルを算出する。即ち、ブロックマッチング法を用いた構成となっている。
【００３６】
図４（ａ）は、上記の複数ブロックへの分割例を示した図である。図４（ａ）は、点線で示すように、動きベクトル検出に用いる画像を横８×縦５個のブロックに分割した例を示している。図４（ｂ）は、図４（ａ）の次（未来）の画像を示しており、図４（ｂ）の被写体の位置は、図４（ａ）の被写体の位置よりも、撮像装置に加えられた振れの影響で、左上に動いた画像となっている。
【００３７】
図４（ｃ）及び図４（ｄ）は、図４（ａ）に示したブロックＡにおける画像の動き量の算出方法を説明するための図である。ブロックＡにおける画像の動き量を算出するには、まず図４（ｂ）の画像のブロックＡに対応するブロックＡ’内部の、ブロックＡ’よりも小さく中心位置が一致している画像を、テンプレート画像Ｂとして設定する。なお、ブロックＡ、テンプレート画像Ｂは正方形の画像データとし、図４（ｃ）及び図４（ｄ）に示すように、一辺の長さをそれぞれＮ、Ｍ（Ｎ＞Ｍ）とする。また、説明を分かりやすくするため、ブロックＡの画像の左上隅を原点（０，０）として、横方向をＸ軸、縦方向をＹ軸として、画像の座標を定義する。
【００３８】
画像の動き量の算出は、以下の手順で行う。まず、図４（ｃ）の原点（０，０）と図４（ｄ）の点Ｐの位置を一致させて画像を重ね、全画素での輝度値の差分の総和（差分絶対値和＝ＳＡＤ）を算出する。なお、以下では「ＳＡＤ」は、全画素での輝度値の差分絶対値和とする。次に、テンプレート画像Ｂの位置をＸ方向、Ｙ方向に１画素ずつ動かしながら、図４（ｄ）の点Ｐ’と図４（ｃ）の座標（Ｎ，Ｎ）とが一致するまで、各位置でＳＡＤを演算していく。ＳＡＤは、画像の一致率が高いほど小さな値となるため、ＳＡＤが最小値となる位置を求めれば、画像の動き量を算出することができる。図４（ｅ）はＳＡＤが最小値となるときのブロックＡとテンプレート画像Ｂとの位置関係を示し、図４（ｅ）におけるブロックＡの中心座標（Ｎ／２，Ｎ／２）とテンプレート画像Ｂの中心座標Ｏの位置の差分が、ブロックＡにおける画像の動き量となる。なお、テンプレート画像をブロックＡの画像の範囲で移動させることから、ブロックＡの画像を、以下サーチ画像と呼ぶ。
【００３９】
図５（ａ）乃至図５（ｄ）は、上記のＸ方向のＳＡＤの変化の例を示した図である。本来ＳＡＤはＸＹ方向の二次元マップになるが、説明を分かりやすくするためＸ軸方向のみのＳＡＤで説明を行う。図５（ａ）乃至図５（ｄ）のグラフは、テンプレート画像の中心位置のＸ座標が、サーチ画像の中心位置のＸ座標と一致しているときの移動量を０として、横軸をテンプレート画像の移動画素、縦軸をＳＡＤの演算結果としたグラフである。テンプレート画像の最大移動量は、サーチ画像の大きさとテンプレート画像の大きさで決まり、図４（ｃ）と図４（ｄ）に示した画像においては、±（Ｎ−Ｍ）／２となる。
【００４０】
テンプレート画像の移動に応じたＳＡＤの変化の仕方は、撮影した画像に応じて変わる。例えば、コントラストのはっきりした被写体が撮像されているブロックにおいては、サーチ画像とテンプレート画像の絵柄が一致したときの輝度値の差分が０に近くなる。そのため、図５（ａ）に示すように、ＳＡＤの最大値と最小値の差がはっきりと現れ、画像の動き量の演算結果の精度は高くなる。
【００４１】
しかし、例えばタイル状の模様等、同じ絵柄が繰り返される被写体が撮像されているブロックにおいては、サーチ画像とテンプレート画像の絵柄が一致する箇所が複数存在することとなる。そのため、図５（ｂ）に示すように、ＳＡＤが最小値近傍となる箇所が複数現れ、画像の動き量の演算結果の精度は低くなる。
【００４２】
また、例えば空などのコントラストが低い被写体が撮像されているブロックにおいては、サーチ画像とテンプレート画像の一致度合いが低い。そのため、図５（ｃ）に示すように、ＳＡＤの最大値と最小値の差異が小さくなり、画像の動き量の演算結果の精度は低くなる。
【００４３】
また、一方向にグラデーションがかかったような被写体が撮像されているブロックにおいては、図５（ｄ）に示すように、テンプレート画像の移動と共に、ＳＡＤが単調減少・増加することとなる。そのため、画像の動き量は非常に大きな値となり、演算結果の精度は低くなる。
【００４４】
「ＳＡＤ複数ピークエラー」は、図５（ｂ）に示したように、ＳＡＤのピークが複数個所現れるブロックの数が所定数を超えたことを示している。ＳＡＤのピークが複数個所現れたかどうかの判定は、具体的には、ＳＡＤの最小値（ＳＡＤ_ＭＩＮ）から、所定の閾値（ＳＡＤ_ＴＨ）以内のＳＡＤの極小値（ピーク）が、２か所以上存在するかどうかを判定することで行う。そして、その判定を図４（ａ）に示した全てのブロックについて行う。そして、ＳＡＤのピークが複数個所現れたと判定されたブロック数が所定数（例えば、全ブロック数の７割以上のブロック数等）を超えたと判定されたとき、ステップＳ２０においてＳＡＤ複数ピークエラーである、と判定される。
【００４５】
ステップＳ２０においてＳＡＤ複数ピークエラーである、という判定が行われると、ステップＳ２６に進み、動きベクトルの信頼性が低いという判定が行われ、本処理は終了となる。ステップＳ２０においてＳＡＤ複数ピークエラーではない、という判定が行われると、ステップＳ２１の処理に進む。
【００４６】
動きベクトル出力選択部２０４は、ステップＳ２１において、動きベクトル検出部１２１で「ＳＡＤピーク小エラー」が発生しているかどうかの判定を行う。ここで、ＳＡＤピーク小エラーについて説明する。
【００４７】
「ＳＡＤピーク小エラー」は、図５（ｃ）に示したように、ＳＡＤの最大値と最小値の差異が閾値より小さいブロックの数が所定数を超えたことを示している。即ち、ＳＡＤの最大値（ＳＡＤ_ＭＡＸ）とＳＡＤの最小値（ＳＡＤ_ＭＩＮ）の差分が、閾値以内であるかどうかの判定を、図４（ａ）に示した全てのブロックについて行う。そして、ＳＡＤの最大値と最小値の差異が閾値より小さいブロック数が所定数（例えば、全ブロック数の７割以上のブロック数等）を超えたと判定されたとき、ステップＳ２１においてＳＡＤピーク小エラーである、と判定される。
【００４８】
ステップＳ２１においてＳＡＤピーク小エラーである、という判定が行われると、ステップＳ２６に進み、動きベクトルの信頼性が低いという判定が行われ、本処理は終了となる。ステップＳ２１においてＳＡＤピーク小エラーではない、という判定が行われると、ステップＳ２２の処理に進む。
【００４９】
動きベクトル出力選択部２０４は、ステップＳ２２において、動きベクトル検出出力の大きさが所定値以上であるかどうかの判定を行う。動きベクトル検出出力の大きさが所定値以上の場合は、図５（ｄ）で説明したように、動きベクトル検出出力が正しい値ではない可能性が高い。よって、ステップＳ２２において動きベクトル検出出力の大きさが所定値以上である、という判定が動きベクトル出力選択部２０４によって行われると、ステップＳ２６に進み、動きベクトルの信頼性が低い判定され、本処理は終了となる。ステップＳ２２において動きベクトル検出出力の大きさが所定値以上ではない、と動きベクトル出力選択部２０４によって判定されると、ステップＳ２３の処理に進む。
【００５０】
動きベクトル出力選択部２０４は、ステップＳ２３において、撮像装置がズーム動作中であるかどうかの判定を行う。ズーム中の各動きベクトル検出ブロックにおける、画像動き量の演算結果の一例を図６（ａ）に示す。図６（ａ）から明らかなように、ズーム中は動きベクトル検出部１２１の出力は、撮像装置の振れによる画像の動き量とは全く異なる出力となる。よって、ステップＳ２３において撮像装置がズーム中である、という判定が動きベクトル出力選択部２０４によって行われると、ステップＳ２６に進み、動きベクトルの信頼性が低いという判定が行われ、本処理は終了となる。ステップＳ２３において撮像装置がズーム中ではない、という判定が動きベクトル出力選択部２０４によって行われると、ステップＳ２４の処理に進む。
【００５１】
動きベクトル出力選択部２０４は、ステップＳ２４において、動きベクトル検出部１２１の出力と前述した角速度移動量との差分が、所定の閾値以上かどうかの判定を行う。ステップＳ２４の処理は、図６（ｂ）に示すように、車等の移動被写体の撮影を行うときは、動きベクトル検出部１２１の出力が撮像装置の振れによる画像の移動量と一致しないことが多い。このため、ステップＳ２４の処理において、動きベクトル出力選択部２０４は、車等の移動被写体の撮影を行うときは動きベクトルの信頼性が低いと判定するための処理である。
【００５２】
図７（ａ）乃至図７（ｃ）のグラフは、図６（ｂ）の移動被写体を撮影しているときの各種信号の時間による変化を示している。図７（ａ）は、横軸を時間、縦軸を光学補正量除去部２０３の出力である角速度移動量として、角速度移動量の時間による変化を示したグラフである。図７（ｂ）は、横軸を時間、縦軸を動きベクトル検出部１２１の出力とし、動きベクトル検出出力の時間による変化を示したグラフである。図７（ｃ）は、横軸を時間、縦軸を図７（ｂ）の動きベクトル検出出力と図７（ａ）の角速度移動量との差分とし、その差分の時間による変化を示したグラフである。
【００５３】
図７（ａ）のグラフでは、角速度センサ１０２の出力に基づいて算出された画像の移動量を示す角速度移動量は、０を中心にプラスマイナスに変動する波形になっている。それに対して図７（ｂ）のグラフでは、動きベクトル検出出力は、被写体の移動も検出するため、被写体の移動速度を示す出力に対して、図７（ａ）の角速度移動量の変化が重畳された波形になっている。そのため、動きベクトル検出出力と角速度移動量との差分は、図７（ｃ）に示すように、被写体の移動速度を示す出力となる。よって、ステップＳ２４において、動きベクトル検出部１２１の出力と角速度移動量との差分が、所定の閾値以上と判定された場合は、動きベクトル出力選択部２０４は動きベクトルの信頼性が低いという判定を行い、本処理は終了となる。ステップＳ２４において、動きベクトル検出部１２１の出力と角速度移動量との差分が所定の閾値以上ではない、という判定が動きベクトル出力選択部２０４によって行われると、ステップＳ２５の処理に進む。そしてステップＳ２５にて、動きベクトル出力選択部２０４は動きベクトルの信頼性は問題ないという判定を行い、本処理は終了となる。
【００５４】
以上説明してきたように、動きベクトル出力制御部１２２の処理においては、動きベクトル検出部１２１の出力と、角速度センサ１０２に基づいて演算された角速度移動量とを、選択的に出力することができるようにした。角速度移動量は、角速度センサ１０２のノイズや振れ検出感度の誤差等を含むため、動きベクトル検出出力と比較すると、動きベクトル検出出力の方が画像の移動量の検出誤差は小さい。しかし、動きベクトル検出出力は、被写体によってその信頼性が変動するという欠点を有している。よって、動きベクトル出力制御部１２２の処理によって、動きベクトル検出部１２１の出力と、角速度センサ１０２に基づいて演算された角速度移動量とを、動きベクトル検出部１２１の信頼性判定結果に応じて選択的に出力することによって、上記動きベクトル検出出力の欠点を補うことができる。これにより、以下に説明するような効果を実現することが可能となる。
【００５５】
動きベクトル補正量演算部１２３は、動きベクトル検出部１２１の出力をそのまま使用するのではなく、動きベクトル出力制御部１２２の出力を用いて、動きベクトル検出部１２１の出力と、角速度センサ１０２に基づいて演算された角速度移動量とを選択的に利用するようにした。これによって、動きベクトル検出を正しく行うことができないときの像振れ補正性能の劣化や、移動被写体の動きを補正してしまうような現象を防止し、より高い像振れ補正性能を実現することができる。
【００５６】
また、動き判定制御部１２４も同様に、ベクトル検出部１２１の出力をそのまま使用するのではなく、動きベクトル出力制御部１２２の出力を用いて、動きベクトル検出部１２１の出力と、角速度センサ１０２に基づいて演算された角速度移動量とを選択的に利用するようにした。これによって、動きベクトル検出を正しく行うことができないときに、パンニングの動きを妨げるように像振れ補正を行ってしまうことを防止できる。また、逆に移動被写体の動きをパンニングであると誤判定して、固定点撮影性能の性能劣化を招いてしまうような現象を防止し、より高い像振れ補正性能を実現することができる。
【００５７】
（第２の実施形態）
図２（ｂ）は、動きベクトル出力制御部１２２の第２の実施形態の構成を示すブロック図である。以下、動きベクトル出力制御部１２２の動作について具体的に説明する。なお、図１及び図２（ａ）の各構成部と同一のブロックには、同一の符号を付しており、説明は省略する。
【００５８】
図２（ｂ）は、図２（ａ）に対し、積分器２０１の前に角速度入力選択部２０５が追加されたブロック図となっている。角速度入力選択部２０５は、減算器１０５の出力或いはＨＰＦ１０６の出力のいずれか一方を選択して積分器２０１に供給する。
【００５９】
図８は角速度入力選択部２０５の処理の流れを示したフローチャートである。角速度入力選択部２０５は、ステップＳ１００において、基準値演算部１０４による基準値算出が、撮像装置の電源オン後１回でも行われたかどうかの判定を行う。ステップＳ１００でＹＥＳと判定された場合は、ステップＳ１０２の処理へと進み、角速度入力選択部２０５は、角速度入力選択部２０５の出力として減算器１０５の出力を選択し、本処理は終了となる。ステップＳ１００でＮＯと判定された場合は、ステップＳ１０１の処理へと進み、角速度入力選択部２０５は、角速度入力選択部２０５の出力としてＨＰＦ１０６の出力を選択し、本処理は終了となる。
【００６０】
図９（ａ）、図９（ｂ）のグラフは、基準値演算部１０４による基準値算出が行われる前の、減算器１０５の出力とＨＰＦ１０６の出力の時間による変化を示している。図９（ａ）は、横軸を時間、縦軸を減算器１０５の出力としたグラフであり、図９（ｂ）は、横軸を時間、縦軸をＨＰＦ１０６の出力としたグラフである。撮像装置が静止している状態の角速度センサ１０２の出力は、環境等により変動するオフセット成分を含んでおり、ゼロにならない可能性が高い。よって、基準値演算部１０４による基準値算出が行われる前は、減算器１０５の出力は、図９（ａ）に示すように、固定点を撮影している状況でもゼロを中心とした変動にならない。一方、ＨＰＦ１０６の出力は、ＤＣ成分をカットするため、基準値が正しく算出できていない状況でも図９（ｂ）に示すように、撮像装置に加えられた振れ成分を抽出することができる。
【００６１】
以上のように、本実施形態における動きベクトル出力制御部１２２の処理においては、角速度移動量を算出するのに用いる信号を、減算器１０５の出力とＨＰＦ１０６の出力から選択することができるようにした。ＨＰＦ１０６の出力は、フィルタの位相遅れ等の誤差を含むため、減算器１０５の出力と比較すると、減算器１０５の出力の方が画像の移動量の検出誤差は小さい。しかし、減算器１０５の出力は、基準値演算部１０４による基準値算出が行われるまでは、オフセット成分を含んでいるという欠点を有している。よって、基準値演算部１０４による基準値算出が行われるまでは、動きベクトル出力制御部１２２で角速度移動量の演算に用いる信号をＨＰＦ１０６の出力とすることによって、減算器１０５の出力の欠点を補うことができる。これにより、基準値演算部１０４による基準値算出が行われる前であって、動きベクトル検出部１２１の動きベクトル検出結果の信頼性が低いときでも、像振れ補正性能の劣化を防止することができる。
【００６２】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【００６３】
（他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014128015.tif 000003
【図２】
2014128015.tif 000004
【図３】
2014128015.tif 000005
【図４】
2014128015.tif 000006
【図５】
2014128015.tif 000007
【図６】
2014128015.tif 000008
【図７】
2014128015.tif 000009
【図８】
2014128015.tif 000010
【図９】
2014128015.tif 000011