(57)【要約】【課題】振れ検出センサの基準電圧の変動による画像振れ補正の精度低下を、簡単な構成で抑制する。【解決手段】撮像装置の振れを検出し、検出した振れに基づく値を出力する振れ検出部と、振れ検出部の出力に対して基準値を演算する基準値演算部と、振れ検出部の出力と基準値演算部で演算した基準値との差分に基づいて、撮像装置の振れ量を演算し、演算した振れ量を出力する振れ量演算部と、振れ量演算部の出力に基づいて撮像画像に発生する像振れを補正する像振れ補正部と、撮像画像から画面の動きを示す動きベクトルを検出し、検出した動きベクトルを出力する動きベクトル検出部と、装置の安定状態を判定する判定部とを備え、前記装置が安定状態にあるときは、振れ量演算部の出力と動きベクトル検出部の出力に基づいて基準値を演算する。【選択図】図１
2014126859.tif 000002
【特許請求の範囲】
【請求項１】
被写体像を受光して撮像画像を生成する撮像手段と、
撮像装置の振れを検出し、前記検出した振れに基づく値を出力する振れ検出手段と、
前記振れ検出手段の出力に対して基準値を演算する基準値演算手段と、
前記振れ検出手段の出力と前記基準値演算手段で演算した基準値との差分に基づいて、撮像装置の振れ量を演算し、演算した振れ量を出力する振れ量演算手段と、
前記振れ量演算手段の出力に基づいて、撮像画像に発生する像振れを補正する像振れ補正手段と、
撮像画像から画面の動きを示す動きベクトルを検出し、検出した動きベクトルを出力する動きベクトル検出手段と、
前記振れ検出手段と前記動きベクトル検出手段との出力に基づいて装置の安定状態を判定する判定手段と、
前記基準値演算手段は、前記判定手段によって装置が安定状態にあると判定されたときに、前記振れ量演算手段の出力と前記動きベクトル検出手段の出力に基づいて前記基準値を演算することを特徴とする撮像装置。
【請求項２】
前記判定手段は、前記振れ量演算手段の出力を所定の時間間隔でサンプリングし、サンプリングした振れ量の大きさが所定の大きさ未満である場合のみカウントする振れ安定回数カウント手段と、
前記動きベクトル検出手段の出力を前記所定の時間間隔でサンプリングし、サンプリングした動きベクトルの大きさが所定の大きさ未満である場合のみカウントする動きベクトル安定回数カウント手段と、を備え、
前記基準値演算手段は、所定の期間における前記振れ安定回数カウント手段でのカウント値が所定の回数以上であり、かつ、前記所定の期間における前記動きベクトル安定回数カウント手段でのカウント値が所定の回数以上である場合に、前記振れ量演算手段の出力と前記動きベクトル検出手段の出力に基づいて前記基準値を演算することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記基準値演算手段は、前記所定の期間における前記動きベクトル安定回数カウント手段でのカウント値が所定の回数未満であるときに、前記所定の期間における前記振れ安定回数カウント手段でのカウント値が所定の回数以上であれば、前記振れ量演算手段の出力のみに基づいて前記基準値を演算することを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記基準値演算手段は、前記所定の期間における前記動きベクトル安定回数カウント手段でのカウント値が所定の回数未満であり、かつ前記所定の期間における前記振れ安定回数カウント手段でのカウント値が所定の回数未満である場合は、前記基準値の演算を中止し、前記振れ量演算手段は、前記振れ検出手段の出力と、前記基準値演算手段において前記基準値の演算が中止される前に演算した基準値との差分に基づいて、撮像装置の振れ量を演算し、前記演算した振れ量を出力することを特徴とする請求項２又は３に記載の撮像装置。
【請求項５】
焦点距離を変更可能なズームレンズと、前記撮像手段における露光時間を変更する露光時間変更手段とをさらに備え、前記動きベクトル検出手段は、被写体のコントラストが所定の値より低いか否かを判定し、前記動きベクトル安定回数カウント手段は、前記動きベクトルをサンプリングした時において、前記ズームレンズが駆動中である場合、または、前記露光時間変更手段によって変更された露光時間が所定の時間以上である場合、または、前記動きベクトル検出手段において被写体のコントラストが所定の値より低いと判定した場合は、サンプリングした動きベクトルが前記所定の大きさ未満であってもカウントしないことを特徴とする請求項２乃至４のいずれか１項に記載の撮像装置。
【請求項６】
被写体像を受光して撮像画像を生成する撮像手段と、撮像装置の振れを検出し、前記検出した振れに基づく値を出力する振れ検出手段とを備える撮像装置を制御する方法であって、
前記振れ検出手段の出力に対して基準値を演算する基準値演算工程と、
前記振れ検出手段の出力と前記基準値演算工程で演算した基準値との差分に基づいて、撮像装置の振れ量を演算し、演算した振れ量を出力する振れ量演算工程と、
前記振れ量演算工程での出力に基づいて、撮像画像に発生する像振れを補正する像振れ補正工程と、
撮像画像から画面の動きを示す動きベクトルを検出し、検出した動きベクトルを出力する動きベクトル検出工程と、
前記振れ検出工程と前記動きベクトル検出工程からの出力に基づいて装置の安定状態を判定する判定工程と、を有し、
前記基準値演算工程は、前記判定工程によって装置が安定状態にあると判定されたときに、前記振れ量演算工程からの出力と前記動きベクトル検出工程からの出力に基づいて前記基準値を演算することを特徴とする撮像装置の制御方法。
【請求項７】
前記判定工程は、前記振れ量演算工程での出力を所定の時間間隔でサンプリングし、サンプリングした振れ量の大きさが所定の大きさ未満である場合のみカウントする振れ安定回数カウント工程と、
前記動きベクトル検出工程での出力を前記所定の時間間隔でサンプリングし、サンプリングした動きベクトルの大きさが所定の大きさ未満である場合のみカウントする動きベクトル安定回数カウント工程と、を備え、
前記基準値演算工程は、所定の期間における前記振れ安定回数カウント工程でのカウント値が所定の回数以上であり、かつ、前記所定の期間における前記動きベクトル安定回数カウント工程でのカウント値が所定の回数以上である場合に、前記振れ量演算工程での出力と前記動きベクトル検出工程での出力に基づいて前記基準値を演算することを特徴とする撮像装置の制御方法。
【請求項８】
請求項６または７に記載の制御方法の各工程をコンピュータに実行させるためのプログラム。
【請求項９】
請求項６または７に記載の制御方法の各工程をコンピュータに実行させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手振れ等による撮像画像の像振れを補正する機能を備えた撮像装置に関するものである。
【背景技術】
【０００２】
近年、デジタルカメラ、デジタルビデオカメラなどの撮像装置において、像振れ像振れ補正機能を有することが主流となっている。像振れ像振れ補正機能とは、例えば角速度センサなどを用いて撮像装置の振れを検出し、検出した振れに基づいて補正レンズ等を駆動することで、撮影画像に像振れを生じさせない機能である。しかし、一般的に角速度センサは撮像装置に振れが生じていないときも、出力は０とならず、任意の基準値が定常的に出力される。
【０００３】
すなわち、角速度センサからは撮像装置の振れに基づいた出力と基準値の出力とが混在して出力されるため、撮像装置の振れだけを正確に検出するためには、角速度センサの基準値の算出が必要となる。しかしながら、角速度センサの基準値は、個々の角速度センサによって値が異なるだけでなく、温度などの要因で変動するため、定期的に角速度センサの基準値算出を行わなければならない。
【０００４】
従来行われている基準値算出の方法として、例えば特許文献１に示されるような方法がある。すなわち、角速度データから低周波成分を抽出した角速度センサの基準値から、基準値と同一スケールに変換された動きベクトルを減算して基準値の修正を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４４１９４６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の特許文献１に開示された従来の基準値算出方法では、以下のような問題点があった。
【０００７】
すなわち、装置の振れが大きく、角速度センサの出力から抽出した低周波成分と真の基準値との差が大きい場合、動きベクトルによる修正では不十分な可能性がある。また、被写体の動きが大きく、動きベクトル検出部が主被写体の動きを検出した場合、動きベクトルを残存像振れとして扱う従来の方法では正確な基準値算出は困難である。
【０００８】
しかしながら、動画撮影において、パンニング撮影を行った場合、従来の方法を用いて基準値算出を行うと、パンニング撮影時には算出した基準値に真の基準値からのズレが生じる可能性があった。その結果、像振れ補正精度が低下するといった懸念が考えられる。
【０００９】
本発明は上述した課題に鑑みてなされたものであり、その目的は、振れ検出センサの基準電圧の変動による画像振れ補正の精度低下を、簡単な構成で抑制することである。
【課題を解決するための手段】
【００１０】
本発明に係わる撮像装置は、被写体像を受光して撮像画像を生成する撮像手段と、撮像装置の振れを検出し、前記検出した振れに基づく値を出力する振れ検出手段と、前記振れ検出手段の出力に対して基準値を演算する基準値演算手段と、前記振れ検出手段の出力と前記基準値演算手段で演算した基準値との差分に基づいて、撮像装置の振れ量を演算し、演算した振れ量を出力する振れ量演算手段と、前記振れ量演算手段の出力に基づいて、撮像画像に発生する像振れを補正する像振れ補正手段と、撮像画像から画面の動きを示す動きベクトルを検出し、検出した動きベクトルを出力する動きベクトル検出手段と、前記振れ検出手段と前記動きベクトル検出手段との出力に基づいて装置の安定状態を判定する判定手段と、前記基準値演算手段は、前記判定手段によって装置が安定状態にあると判定されたときに、前記振れ量演算手段の出力と前記動きベクトル検出手段の出力に基づいて前記基準値を演算することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、振れ検出センサの基準電圧の変動による画像振れ補正の精度低下を、簡単な構成で抑制することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態に係る撮像装置の一例としてのビデオカメラの構成を示すブロック図である。
【図２】動きベクトル検出部１１４における低コントラスト判定方法を説明するための図である。
【図３】基準値演算部１１７が行う処理を説明するためのフローチャートである。
【図４】振れ安定回数カウント部１１５が行う処理を説明するためのフローチャートである。
【図５】動きベクトル安定回数カウント部１１６が行う処理を説明するためのフローチャートである。
【図６】本発明の第２の実施形態に係る撮像装置の一例としてのビデオカメラの構成を示すブロック図である。
【図７】動きベクトル安定回数カウント部２０２が行う処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施形態について詳細に説明する。まず、本発明の実施形態において使用する言葉の定義について説明する。実施形態の説明においては、撮像装置の振動を「振れ」とし、撮像装置の振れによって発生する撮像画像のフレーム間の被写体位置ずれ、もしくは振れによる被写体像のボケを「像振れ」とする。
【００１４】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る撮像装置の一例として、ビデオカメラの構成を示すブロック図である。なお、撮像装置として、ビデオカメラ以外にも、コンパクトデジタルカメラ、デジタル一眼レフカメラ、監視カメラ、またはカメラユニット付きのタブレットデバイスやゲーム機であっても良い。以下、図１の撮像装置１００の各構成部とその動作について具体的に説明する。
【００１５】
角速度センサ１０１は、撮像装置１００の振れを角速度信号として検出し、その角速度信号をＡ／Ｄ変換器１０２に供給する。Ａ／Ｄ変換器１０２は、角速度センサ１０１からの角速度信号をデジタル化してμＣＯＭ１０３内部の減算器１１８に供給する。減算器１１８は、Ａ／Ｄ変換器１０２の出力から固定基準値保持部１０４にあらかじめ保持されている固定基準値を減算して減算器１１９に供給する。この固定基準値とは、角速度センサの基準値をあらかじめ算出した値であり、例えば、角速度センサ１０１の仕様に基づいて決定される値、もしくは、撮像装置個々に調整等によって算出した値である。減算器１１９は、減算器１１８の出力から後述する基準値演算部１１７で算出した基準値を減算して、その差分をレンズ駆動量演算部１０５、振れ安定回数カウント部１１５および積分器１２１に供給する。以下では、減算器１１９の出力を角速度データと定義する。
【００１６】
レンズ駆動量演算部１０５は、上記の角速度データに基づいて、補正光学系１０９を駆動するための駆動量を算出し、減算器１２０に供給する。減算器１２０は、位置データをレンズ駆動量演算部１０５の出力から減算し、その結果である偏差データを制御フィルタ１０６に供給する。上記の位置データとは、補正光学系１０９の位置を検出する位置検出センサ１１０の出力をＡ／Ｄ変換器１１１にてＡ／Ｄ変換したデータである。
【００１７】
制御フィルタ１０６は、入力データを所定のゲインで増幅する増幅器、及び位相補償フィルタで構成されている。減算器１２０から供給された偏差データは、制御フィルタ１０６において増幅器及び位相補償フィルタによる信号処理が行われた後、パルス幅変調部１０７に出力される。
【００１８】
パルス幅変調部１０７は、制御フィルタ１０６を通過して供給されたデータを、パルス波のデューティー比を変化させる波形（即ちＰＷＭ波形）に変調して、モータ駆動部１０８に供給する。補正光学系１０９は、不図示の駆動用のボイス・コイル型モータがモータ駆動部１０８に駆動されることにより、光軸と垂直な方向に移動される。
【００１９】
位置検出センサ１１０は、磁石とそれに対向する位置に備えられたホール・センサとからなり、補正光学系１０９の光軸と垂直な方向への移動量を検出し、その検出結果をＡ／Ｄ変換器１１１を介して、上述した減算器１２０に供給する。Ａ／Ｄ変換器１１１の出力は、後述の基準値演算部１１７にも供給される。
【００２０】
補正光学系１０９は、例えば補正部材としてのシフトレンズを保持する補正レンズユニットであり、光軸と垂直な方向に移動されることにより光軸を偏向する。像振れ補正可能な光学系である。機器の振れを打ち消すように補正光学系１０９の移動が行われた結果、撮像装置１００の振れによって生じる撮像面上の被写体の並進方向の像振れが補正された像が、撮像素子１１２に結像される。
【００２１】
撮像素子１１２は、補正光学系１０９を含む撮像光学系によって結像された被写体像を受光して撮像画像信号としての電気信号に変換し、信号処理部１１３に供給する。信号処理部１１３は、撮像素子１１２により得られた信号から、例えばＮＴＳＣフォーマットに準拠したビデオ信号（映像信号）を生成して動きベクトル検出部１１４に供給する。
【００２２】
動きベクトル検出部１１４は、信号処理部１１３で生成された現在の映像信号の画面に含まれる輝度信号と、不図示の画像メモリに格納された１フィールド前（または１フレーム前）の映像信号に含まれる輝度信号とに基づいて、画像の動きベクトルを検出する。動きベクトルの検出方法は、例えば従来提案されているブロックマッチング法などを用いる。
【００２３】
ブロックマッチング法は、撮像画像をブロックと呼ばれる領域に分割し、例えば１フレーム前の撮像画像と現在の撮像画像との類似箇所をブロック単位で検出する方法である。１フレーム前の撮像画像内の任意の範囲において、現在の撮像画像内の任意ブロックとの相関値が最も大きい個所を類似ブロック位置とする。現在の撮像画像内の任意ブロック位置と１フレーム前の撮像画像内の類似ブロック位置との変位量を求め、撮像画像のフレーム間の動き情報、すなわち動きベクトルを検出する。このブロック単位で検出した動きベクトルに基づいて、１フレーム単位の動きベクトルを検出する。
【００２４】
なお、ブロックマッチング法は動きベクトル検出部１１４における動きベクトル検出方法の一例であり、動きベクトル検出方法はブロックマッチング法以外の方法を用いてもよい。
【００２５】
また、動きベクトル検出部１１４は、動きベクトルの検出時に被写体のコントラストが低いか否かを判定する低コントラスト判定機能を有するものとする。コントラストが高い場合は任意範囲内の最大相関値と最小相関値の差が大きく（図２（Ａ）を参照）、コントラストが低い場合は最大相関値と最小相関値の差が小さい（図２（Ｂ）参照）。この特徴を利用して、低コントラスト判定方法の一例として、任意の範囲内での相関値の最大値と最小値の差が所定値より小さい場合を低コントラストと判定する方法を用いる。なお、図２におけるブロックマッチング位置とは、任意の範囲内の端から水平方向に１画素単位で位置をずらしながらマッチングしていき、開始位置と逆側の端までのマッチングを行った位置を示す。ただし、実際のブロックマッチングは水平、垂直の両方向で行う。また、前述の低コントラスト判定方法において、被写体が低コントラストと判定された場合は、本実施形態においては、動きベクトルを出力する代わりに被写体が低コントラストであることを示すエラー出力を行うものとする。
【００２６】
動きベクトル検出部１１４によって検出された動きベクトルデータは、動きベクトル安定回数カウント部１１６と積分器１２２に供給される。積分器１２２は動きベクトルを積分し、基準値演算部１１７に供給する。
【００２７】
振れ安定回数カウント部１１５は、装置の安定状態を判定する判定手段の一部をなす。振れ安定回数カウント部１１５は、所定期間にサンプリングした角速度データのうち、値が小さい、すなわち安定している回数をカウントすることができる。振れ安定回数カウント部１１５は、このカウントした回数に基づいて装置の安定状態を判定し、安定状態か否かの情報を基準値演算部１１７に供給する。
【００２８】
動きベクトル安定回数カウント部１１６は、装置の安定状態を判定する判定手段の一部をなす。動きベクトル安定回数カウント部１１６は、所定期間にサンプリングした動きベクトルのうち、値が小さい、すなわち安定している回数をカウントすることができる。動きベクトル安定回数カウント部１１６は、このカウントした回数に基づいて装置の安定状態を判定し、安定状態か否かの情報を基準値演算部１１７に供給する。
【００２９】
基準値演算部１１７は振れ安定回数カウント部１１５の出力と動きベクトル安定回数カウント部１１６の出力に基づいて角速度センサ１０１の基準値の算出方法を選択する。そして基準値演算部１１７は、積分器１２１の出力及び積分器１２２の出力に基づいて基準値を演算する。
【００３０】
基準値演算部１１７における基準値算出方法は、所定期間毎に以下の（i）〜（iii）のいずれかの方法である。
・基準値算出方法（i）
角速度データの積分値と動きベクトルの積分値を用いて、下記（式１）により基準値の算出を行う。
【００３１】
ref＝d/dt｛sensor_int−（correct_blur＋remain_blur）｝      …（式１）
なお、d/dtは微分を示し、refは基準値を示す。また、sensor_int、correct_blur、remain_blurについては、後述する。
・基準値算出方法（ii）
角速度データの低周波成分を抽出する。なお、この低周波成分の抽出には、移動平均値やローパスフィルタなどを用いる。
・基準値算出方法（iii）
基準値算出を行わず、前回算出した基準値をそのまま基準値として減算器１１９に供給する。
【００３２】
なお、基準値演算部１１７において上記基準値算出方法（i）〜（iii）の中から基準値算出方法を選択する方法は、後述の基準値演算部１１７の一連の動作の説明において説明する。
【００３３】
ここで、基準値算出方法（i）についてより詳細に説明する。角速度データは、基準値に像振れ信号が重畳された値である。したがって、基準値をref、撮像装置１００の振れ角速度をblur、所定期間の角速度データの積分値をsensor_intとすると、sensor_intは、以下の式で表すことができる。
【００３４】
sensor_int＝∫blur +∫ref              …（式２）
ただし、sensor_intに関しては、単純に所定期間の角速度データの積分値であってもよいが、後述の所定の大きさ（第１の閾値）所定の大きさ未満である角速度データの積分値であってもよい。所定の大きさ未満である角速度データのみを積分する処理は、後述の図４のステップＳ２０５に該当する。
【００３５】
また、所定期間における、位置検出センサ１１０の出力の変化を、光軸の傾き角度に換算した値をcorrect_blurとする。更に、所定期間における、動きベクトル検出部１１４の出力の積算値をvector_intとする。Vector_intに関しても、sensor_intと同様に所定の大きさ（第２の閾値）未満の動きベクトルの積分値であってもよい。所定の大きさ未満である動きベクトルのみを積分する処理は、後述の図５のステップＳ３０３に該当する。
【００３６】
vector_intは、所定期間の画像の動き量を示す値である。これを光軸の傾き角度に換算した値をremain_blurとすると、remain_blurは、以下のように算出することができる。撮像装置１００の焦点距離をｆとすると下の式が成立する。
【００３７】
vector_int＝f×remain_blur
∴remain_blur＝vector_int / f          …（式３）
ここでcorrect_blurは、補正光学系１０９によって像振れ補正を行った角度を示す。そしてremain_blurは、補正光学系１０９によって補正しきれなかった角度を示す。よって、correct_blurとremain_blurとの和は、撮像装置１００の振れ角度を示す。また、（式２）の右辺の∫blurも同様に、撮像装置１００の振れ角度を示すため、以下の式が成立する。
【００３８】
∫blur＝correct_blur＋remain_blur      …（式４）
よって、（式２）と（式４）より、以下の式が導出される。
【００３９】
∫ref＝sensor_int−（correct_blur＋remain_blur）      …（式５）
（式５）の両辺を微分すると、（式１）と一致することが分かる。
【００４０】
ここで、（式５）によって基準値を算出する場合は、動きベクトル検出部１１４の検出周期よりも大きい期間（例えばＮＴＳＣ方式では１／６０秒）であればよい。この時間は基準値の変動周期よりも十分に速い周期であり、基準値の変動に遅延なく追従することが可能となる。
【００４１】
しかし動きベクトル検出部１１４が補正光学系１０９によって補正しきれなかった像振れを検出できない場合には、（式４）は成立しなくなり、（式１）も同様に成立しない。このため、基準値算出方法（i）を用いて基準値を算出することができない。このとき、撮像装置１００が静止状態あるいは定点撮影のように振れが小さい場合は、基準値算出方法（ii）を用いて基準値を算出する。このような場合には、角速度センサ１０１の出力から算出した基準値と真の基準値との誤差は無視できるほど小さく、算出した基準値を動きベクトルによる補正なしで用いても十分像振れ補正精度を保てると考えられる。
【００４２】
基準値算出方法（i）を用いることができず、かつ装置の振れが大きい場合は、基準値算出方法（ii）を用いても算出した基準値に含まれる誤差が大きくなることが予想できる。この場合、基準値の算出を行わず前回算出した基準値をそのまま基準値演算部１１７の出力とすることで、誤った基準値算出が行われないようにする。
【００４３】
以下では、基準値演算部１１７における動作について図３のフローチャートを用いて説明する。
【００４４】
基準値演算部１１７の処理は所定時間の角速度センサ１０１の出力、動きベクトル検出部１１４の出力が安定しているか否かで基準値算出を行う方法を決定する。ステップＳ１００では現在の経過時間が所定の時間（第５の閾値）以上か判定する。基準値演算部１１７は、不図示のタイマに基づいて時間計測を行う機能を有するものとし、撮像装置が通電された後、基準値演算部１１７の処理が実行される前に経過時間は０に設定されるものとする。
【００４５】
ここで、所定の時間（第５の閾値）とは、角速度センサ１０１の出力、もしくは、動きベクトル検出部１１４の出力が安定状態か否かを判定するに十分な時間とする。ただし、所定の時間は、角速度センサ１０１の基準値変動に対して、基準値更新の遅延による像振れ補正精度低下が生じない程度の短い時間であることも同時に満たすものとする。現在の経過時間が所定の時間未満の場合は、ステップＳ１０１に処理を移し、時間計測を継続する。
【００４６】
ステップＳ１００で現在の経過時間が所定の時間以上の場合、処理をステップＳ１０２に移行する。ステップＳ１０２では、振れ安定回数カウント部１１５のカウント値が所定の回数（第３の閾値）以上であるか判定し、所定の回数未満の場合は処理をステップＳ１０３に移行し、所定の回数以上の場合は処理をステップＳ１０４に移行する。ここで、所定の回数（第３の閾値）とは、角速度データが安定している状態が十分に継続していると判断できる値とする。
【００４７】
ステップＳ１０３では、角速度データが安定しておらず、現在の角速度データを用いて基準値算出を行っても誤差を含む可能性があると判断し、基準値の算出を中止し、前回算出した値をそのまま基準値として用いる。このとき、計測時間を０にリセットする。
【００４８】
ステップＳ１０４では、動きベクトル安定回数カウント部１１６のカウント値が所定の回数（第４の閾値）以上であるか判定し、所定の回数未満の場合は処理をステップＳ１０６に移行し、所定の回数以上の場合は処理をステップＳ１０５に移行する。ここで、所定の回数（第４の閾値）とは、振れ安定回数カウント部１１５のカウント値と同じ考えに基づくものであり、動きベクトルが安定している状態が十分に継続していると判断できる値とする。
【００４９】
ステップＳ１０５では、角速度データ、動きベクトルが十分に安定していると判断できたため、基準値算出方法（i）を採用する。ステップＳ１０６では基準値算出方法（ii）を採用する。これは、角速度データが基準値演算に用いるのに十分小さいが、動きベクトルが大きいため、ステップＳ１０５で示した基準値算出方法のうち、位置データと動きベクトルを用いた基準値の補正を行わないようにして、誤補正を回避する。
【００５０】
次に、振れ安定回数カウント部１１５における動作について図４のフローチャートを用いて説明する。
【００５１】
振れ安定回数カウント部１１５の処理が開始されると、ステップＳ２００では現在の経過時間が所定の時間以上か判定する。ここでの経過時間とは、基準値演算部１１７で計測している時間と同じものであればよく、必ずしも振れ安定回数カウント部１１５が時間計測を行う必要はない。例えば所定の時間以上になったタイミングで基準値演算部１１７から振れ安定回数カウント部１１５へ通知し、ステップＳ２００は、基準値演算部１１７からの通知があるか否かを判定する処理であってもよい。
【００５２】
現在の経過時間が所定の時間未満である場合は、処理をステップＳ２０１に移行し、現在の経過時間が所定の時間以上である場合は、処理をステップＳ２０３に移行する。
【００５３】
ステップＳ２０１以降では、経過時間が所定の時間に達するまで、所定の時間間隔でサンプリングした角速度データが所定値に収まる回数をカウントし続ける。ステップＳ２０１では、角速度データが所定の大きさ未満か否かを判定し、所定の大きさ未満である場合は、処理をステップＳ２０２に移行し、所定の大きさ以上である場合は処理をステップＳ２０５に移行する。ステップＳ２０２では、振れ安定回数カウント値を１回加算する。ステップＳ２０５では、振れ安定回数カウントを行わない。さらに、現在の角速度データを積分器１２１での積分対象から外して、基準値演算用のデータとして使用されないようにする。これは、安定していない角速度データを用いて基準値を演算した場合に真の基準値との誤差が大きくなってしまうことを回避するための処理である。ここで、所定の大きさとは、角速度データを用いて基準値演算を行ったときに誤差が生じない程度の値とし、具体的には撮像装置をパンニングさせたときの角速度データが所定の大きさより大きくなる程度の値とする。
【００５４】
ステップＳ２０３では、現在の振れ安定回数カウント値を基準値演算部１１７に対して出力し、処理をステップＳ２０４に移行する。ステップＳ２０４では振れ安定回数カウント値を０にリセットする。
【００５５】
この一連の処理によって、振れ安定回数カウント部１１５では、所定期間にサンプリングした角速度データのうち、値が小さい、すなわち安定している回数をカウントすることができる。
【００５６】
次に、動きベクトル安定回数カウント部１１６における動作について図５のフローチャートを用いて説明する。基本的には振れ安定回数カウント部１１５の処理と同じ考えに基づく。
【００５７】
動きベクトル安定回数カウント部１１６の処理が開始されると、ステップＳ３００では現在の経過時間が所定の時間（第５の閾値）以上か判定する。ここでの経過時間とは、基準値演算部１１７で計測している時間と同じものであればよく、必ずしも動きベクトル安定回数カウント部１１６が時間計測を行う必要はない。例えば所定の時間以上になったタイミングで基準値演算部１１７から動きベクトル安定回数カウント部１１６へ通知し、ステップＳ３００は、基準値演算部１１７からの通知があるか否かを判定する処理であってもよい。
【００５８】
現在の経過時間が所定の時間未満である場合は、処理をステップＳ３０１に移行し、現在の経過時間が所定の時間以上である場合は、処理をステップＳ３０５に移行する。
【００５９】
ステップＳ３０１以降では、経過時間が所定の時間に達するまで、所定の時間間隔でサンプリングした動きベクトルが所定値に収まる回数をカウントし続ける。ただし、前述ように被写体が低コントラストの場合（動きベクトル検出部１１４の出力が動きベクトルでなく低コントラストを示すエラー出力の場合）、処理をステップＳ３０３に移行する。被写体が低コントラストでない場合は、処理をステップＳ３０２に移行し動きベクトルの大きさ判定を行う。ステップＳ３０２では、動きベクトルが所定の大きさ未満か否かを判定し、所定の大きさ未満である場合は、処理をステップＳ３０４に移行し、所定の大きさ以上である場合は処理をステップＳ３０３に移行する。ステップＳ３０３では、動きベクトル安定回数カウントを行わない。さらに、現在の動きベクトルを積分器１２２での積分対象から外して、基準値演算用のデータとして使用されないようにする。安定していない動きベクトルを用いて基準値を演算した場合に真の基準値との誤差が大きくなってしまうことを回避するための処理である。
【００６０】
ステップＳ３０４では、動きベクトル安定回数カウント値を１回加算する。ここで、所定の大きさとは、角速度データが所定値に収まる回数と同じ考えに基づくものであり、動きベクトルを用いて基準値演算を行ったときに誤差が生じない程度の値とする。具体的には、補正光学系１０９による像振れ補正を行わず撮像装置をパンニングさせたときの動きベクトルが所定の大きさより大きくなる程度の値とする。
【００６１】
ステップＳ３０５では、現在の動きベクトル安定回数カウント値を基準値演算部１１７に対して出力し、処理をステップＳ３０６に移行する。ステップＳ３０６では動きベクトル安定回数カウント値を０にリセットする。
【００６２】
この一連の処理によって、動きベクトル安定回数カウント部１１６では、所定期間にサンプリングした動きベクトルのうち、値が小さい、すなわち安定している回数をカウントすることができる。
【００６３】
以上説明してきたように、本発明の第１の実施形態においては、角速度センサ１０１の出力と動きベクトル検出部１１７の出力とが所定時間安定しているか否か判定し、その判定結果に基づいて適切な基準値算出方法を選択する。特に、角速度センサ１０１、動きベクトル検出部１１６の出力がともに安定している場合は、角速度センサ１０１の出力から算出した基準値に対し、位置検出センサ１１０の出力と動きベクトル検出部１１４の出力とによって誤差を修正する基準値演算を行う。これによって、角速度センサ１０１の出力のみを用いた場合よりも精度よく基準値算出ができ、像振れ補正精度低下を最小限に抑えることができる。
【００６４】
なお、この第１の実施形態においては、撮像装置の振れ検出に、角速度センサ１０１の出力を用いたが、これは種々の変形が可能である。例えば、加速度センサを用いてもよい。また、光学的な像振れ補正手段として、補正光学系１０９を例にとって説明したが、これに限定されるものではない。例えば、撮像素子１１１２を駆動する方法や、プリズムを用いる方法等、種々の像振れ補正手段を用いることができる。
【００６５】
（第２の実施形態）
図６は、本発明の第２の実施形態に係る撮像装置の一例として、ビデオカメラの構成を示すブロック図である。なお、図６において、図１と同様の構成には、同じ符号を付し、説明を省略する。
【００６６】
図６に示す撮像装置２００は、図１に示す撮像装置１００の構成に対し、焦点距離を変更可能な、ズーミング及びフォーカシング動作を行う撮像光学系２０３（ズームレンズ）、ズーム位置を検出するズームエンコーダ２０４を追加している。また、撮像素子１１２の露光時間の制御を行う露光時間制御部２０５（露光時間変更手段）がμＣＯＭ２０１に追加された構成となっている。なお、本実施形態において露光時間制御部２０５は現在の設定露光時間を動きベクトル安定回数カウント部２０２に供給する機能も備えるものとする。
【００６７】
動きベクトル安定回数カウント部２０２における動作について図７のフローチャートを用いて説明する。ただし、図７のフローチャートにおけるＳ４００およびＳ４０２〜Ｓ４０４は図５におけるＳ３００およびＳ３０２〜Ｓ３０４と同じ処理であるため、説明は省略する。
【００６８】
ステップＳ４００で、現在の経過時間が所定の時間未満であると判定した場合は、処理をステップＳ４０１に移行する。ステップＳ４０１では、現在の撮影条件下で動きベクトル検出が可能か否かを判定し、動きベクトル検出が可能である条件を満たす場合のみ、処理をステップＳ４０２に移行する。前述した動きベクトルの検出可能である条件とは、少なくとも以下の３つを満たすものとする。
【００６９】
１つ目の条件は、第１の実施形態で示したように、動きベクトル検出部１１４が低コントラスト状態であることを検出していないことである。２つめの条件は、ズーム駆動中（焦点距離が変化している状態）でないことである。本実施形態では、ズームエンコーダ２０４により検出したズーム位置からズーム中か否かを判断する。ただし、ズーム中か否かの判定に関してはこれに限定するものでなく、例えばズームキーが操作されているか否かをハードウェアで検出し、これを動きベクトル安定回数カウント部２０２に通知するものであってもよい。ズーム中は動きベクトルが放射状に出力されるため、検出した動きベクトルから撮像画像の残存像振れを正確に算出することは困難であり、基準値算出に誤差を生じる恐れがある。３つめの条件は、露光時間が動きベクトル検出精度を確保できる時間未満（所定値未満）であることである。露光時間が動きベクトル検出精度を確保できる時間（所定時間）より長いと、被写体の動き、または撮像装置２００の像振れによって、撮像画像内の被写体のエッジがぼやけてしまい、動きベクトル検出精度低下を招く恐れがある。この場合にも、上記２つの条件と同じく、検出した動きベクトルを撮像画像の残存像振れとして基準値演算に用いると誤差を生じる可能性がある。
【００７０】
上記３つのうち、１つでも満たしていなければ、検出した動きベクトルを基準値算出に用いないようにする。
【００７１】
以上のように、本発明の第２の実施形態においては、第１の実施形態の構成に加えて、ズームエンコーダ２０４、露光時間制御部２０５を追加し、動きベクトルが検出可能な撮影条件にあるか否かの判定も行う構成とした。これによって、単純に動きベクトルの大きさで基準値演算を行うことが可能か否かを判定する場合と比べ、更に基準値の誤算出を回避することが可能となる。なお、この第２の実施形態においては、動きベクトルの検出可能条件に３つの条件を示したが、動きベクトルの誤検出を回避する条件は、これに限定されるものではない。
【００７２】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【００７３】
（他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014126859.tif 000003
【図２】
2014126859.tif 000004
【図３】
2014126859.tif 000005
【図４】
2014126859.tif 000006
【図５】
2014126859.tif 000007
【図６】
2014126859.tif 000008
【図７】
2014126859.tif 000009