(57)【特許請求の範囲】
【請求項１】
撮像装置であって、
被写体像を撮像して撮像画像を得る撮像手段と、
前記撮像装置に加わる振れを検出する振れ検出手段と、
前記撮像装置に振れが加わっていないときに前記振れ検出手段から出力される値である基準値を、演算により算出する基準値算出手段と、
前記振れ検出手段の出力と前記基準値との差分に基づいて、前記撮像画像の像ぶれを補正する像ぶれ補正手段と、
前記像ぶれ補正手段の位置を検出する位置検出手段と、
前記撮像画像から動きベクトルを検出する動きベクトル検出手段と、
前記動きベクトルが被写体の動きを示しているか否かを判定する判定手段と、
前記判定手段によって前記動きベクトルが被写体の動きを示していると判定された場合は、前記振れ検出手段の出力及び前記位置検出手段の出力及び前記動きベクトル検出手段の出力を用いた前記基準値の算出を行わないように制御する制御手段と、
を備えることを特徴とする撮像装置。
【請求項２】
前記判定手段によって前記動きベクトルが被写体の動きを示していると判定された場合は、過去に算出した基準値を前記基準値とすることを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記基準値算出手段は、前記振れ検出手段の出力が、所定期間内に、第１の閾値を超え、かつ前記動きベクトル検出手段の出力が、前記所定期間内に、第２の閾値を超え、かつ前記振れ検出手段の出力の符号から判定した前記撮像装置の振れ方向と、前記動きベクトルの符号から判定した前記撮像装置の振れ方向とが一致する場合、前記振れ検出手段の出力及び前記位置検出手段の出力及び前記動きベクトル検出手段の出力を用いて前記基準値を算出することを特徴とする請求項１に記載の撮像装置。
【請求項４】
前記振れ検出手段の出力と前記動きベクトル検出手段の出力とを同一スケールに変換した値の差分が、前記所定期間の間、第５の閾値より大きい場合、過去に算出した基準値を前記基準値とすることを特徴とする請求項３に記載の撮像装置。
【請求項５】
前記基準値算出手段は、前記振れ検出手段の出力が、所定期間内に、第１の閾値を超え、かつ前記動きベクトル検出手段の出力が、前記所定期間内に、第２の閾値を超え、かつ前記振れ検出手段の出力の符号から判定した前記撮像装置の振れ方向と、前記動きベクトルの符号から判定した前記撮像装置の振れ方向とが一致しない場合、前記過去に算出した基準値を前記基準値とすることを特徴とする請求項２に記載の撮像装置。
【請求項６】
前記基準値算出手段は、前記振れ検出手段の出力が、所定期間の間、第１の閾値より小さく、かつ前記動きベクトル検出手段の出力が、前記所定期間の間、第２の閾値より小さい場合、前記振れ検出手段の出力及び前記位置検出手段の出力及び前記動きベクトル検出手段の出力を用いて前記基準値を算出することを特徴とする請求項１に記載の撮像装置。
【請求項７】
前記基準値算出手段は、前記振れ検出手段の出力が、所定期間内に、第１の閾値を超え、かつ前記動きベクトル検出手段の出力が、前記所定期間の間、第２の閾値より小さい場合、前記過去に算出した基準値を前記基準値とすることを特徴とする請求項２に記載の撮像装置。
【請求項８】
前記基準値算出手段は、前記振れ検出手段の出力が、所定期間の間、第１の閾値より小さく、かつ前記動きベクトル検出手段の出力が、前記所定期間内に、第２の閾値を超える場合、前記過去に算出した基準値を前記基準値とすることを特徴とする請求項２に記載の撮像装置。
【請求項９】
前記基準値算出手段は、前記振れ検出手段の出力が、所定期間の間、前記第１の閾値より小さい第３の閾値より小さく、かつ前記動きベクトル検出手段の出力が、前記所定期間内に、前記第２の閾値より小さい第４の閾値を超える場合、前記振れ検出手段の出力を用いて前記基準値を算出することを特徴とする請求項６に記載の撮像装置。
【請求項１０】
被写体像を撮像して撮像画像を得る撮像手段を備える撮像装置を制御する方法であって、
振れ検出手段が、前記撮像装置に加わる振れを検出する振れ検出工程と、
基準値算出手段が、前記撮像装置に振れが加わっていないときに前記振れ検出手段から出力される値である基準値を、演算により算出する基準値算出工程と、
像ぶれ補正手段が、前記振れ検出手段の出力と前記基準値との差分に基づいて、前記撮像画像の像ぶれを補正する像ぶれ補正工程と、
位置検出手段が、前記像ぶれ補正手段の位置を検出する位置検出工程と、
動きベクトル検出手段が、前記撮像画像から動きベクトルを検出する動きベクトル検出工程と、
判定手段が、前記動きベクトルが被写体の動きを示しているか否かを判定する判定工程と、
制御手段が、前記判定工程において前記動きベクトルが被写体の動きを示していると判定された場合は、前記振れ検出手段の出力及び前記位置検出手段の出力及び前記動きベクトル検出手段の出力を用いた前記基準値の算出を行わないように制御する制御工程と、
を備えることを特徴とする撮像装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手振れ等による撮像画像のぶれを補正する機能を備えた撮像装置に関するものである。
【背景技術】
【０００２】
従来より、デジタルカメラなどの撮像装置においては、撮像装置の振れを算出するために例えば角速度センサなどを用いている。しかし、角速度センサの基準値（撮像装置に振れが生じていないときの角速度センサの出力）は角速度センサ個々に値が異なる。
【０００３】
撮像装置の振れを正確に検出するためには、角速度センサの基準値を算出する必要があるが、基準値は温度などの要因により値が変動するため、基準値の変動量は常に算出する必要がある。
【０００４】
上記のような基準値を算出する方法として、例えば特許文献１に示されるような方法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４４１９４６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の特許文献１に開示された従来の基準値算出方法では、以下のような問題点があった。
【０００７】
基準値算出部により算出した基準値に含まれる誤差を動きベクトルにより修正できるのは、動きベクトルが撮像装置のぶれ補正後の残存ぶれを検出したときだけである。例えば、動きベクトルが被写体の動きを検出してしまうときは、動きベクトルを用いて基準値に含まれる誤差を修正することができず、かえって基準値に含まれる誤差を大きくする可能性もある。
【０００８】
上記のように動きベクトルが撮像装置のぶれ補正後の残存ぶれを検出できないときは、基準値算出に動きベクトルを用いると算出した基準値に誤差が含まれ、正確なぶれ補正ができなくなる恐れがある。
【０００９】
本発明は上述した課題に鑑みてなされたものであり、その目的は、より正確に撮像画像のぶれを補正できるようにすることである。
【課題を解決するための手段】
【００１０】
本発明に係わる撮像装置は、撮像装置であって、被写体像を撮像して撮像画像を得る撮像手段と、前記撮像装置に加わる振れを検出する振れ検出手段と、前記撮像装置に振れが加わっていないときに前記振れ検出手段から出力される値である基準値を、演算により算出する基準値算出手段と、前記振れ検出手段の出力と前記基準値との差分に基づいて、前記撮像画像の像ぶれを補正する像ぶれ補正手段と、前記像ぶれ補正手段の位置を検出する位置検出手段と、前記撮像画像から動きベクトルを検出する動きベクトル検出手段と、前記動きベクトルが被写体の動きを示しているか否かを判定する判定手段と、前記判定手段によって前記動きベクトルが被写体の動きを示していると判定された場合は、前記振れ検出手段の出力及び前記位置検出手段の出力及び前記動きベクトル検出手段の出力を用いた前記基準値の算出を行わないように制御する制御手段と、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、より正確に撮像画像のぶれを補正することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態に係わる撮像装置の構成を示すブロック図。
【図２】基準値算出方法制御部が行う処理を説明するためのフローチャート。
【図３】ステップＳ１０１における処理を説明するためのフローチャート。
【図４】角速度センサの出力に基づく値GYROが所定時間の間、th_A以内であるときのGYROの波形の一例を示す図。
【図５】GYROが所定時間内に、th_Aを上回り、所定時間の間、th_B以内であるときのGYROの波形の一例を示す図。
【図６】GYROが所定時間内に、th_Bを上回るときのGYROの波形の一例を示す図。
【図７】図２のステップＳ１０２における処理を説明するためのフローチャート。
【図８】動きベクトル検出部の出力に基づく値MVが所定時間の間、th_C以内であるときのMVの波形の一例を示す図。
【図９】MVが所定時間内に、th_Cを上回り、所定時間の間、th_D以内であるときのMVの波形の一例を示す図。
【図１０】MVが所定時間内に、th_Dを上回るときのMVの波形の一例を示す図。
【図１１】図２のステップＳ１０５における撮影状況の判定結果をまとめた図。
【図１２】撮像装置の振れが小さく、撮像画像のぶれが小さく、被写体が静止しているときの撮影状態と撮像画像を示す図。
【図１３】撮像装置の振れが小さく、撮像画像のぶれが大きく、被写体が動いているときの撮影状態と撮像画像を示す図。
【図１４】撮像装置の振れが大きく、撮像画像のぶれが小さく、被写体が動いているときの撮影状態と撮像画像を示す図。
【図１５】撮像装置の振れが大きく、撮像画像のぶれが大きく、被写体が静止しているときの撮影状態と撮像画像を示す図。
【図１６】撮像装置の振れが大きく、撮像画像のぶれが大きく、被写体が動いているときの撮影状態と撮像画像を示す図。
【図１７】第２の実施形態に係わる撮像装置の構成を示すブロック図。
【図１８】MVをGYROと同一のスケールに変換する処理を説明するための図。
【図１９】図２のステップＳ１０１における処理を説明するためのフローチャート。
【図２０】MVをGYROと同一のスケールに変換した値であるMV’とGYROの差が所定期間の間、th_E以内であるときの、MV’とGYROの波形の一例を示す図。
【図２１】MVをGYROと同一のスケールに変換した値であるMV’とGYROの差が所定期間内に、th_Eを上回るときの、MV’とGYROの波形の一例を示す図。
【図２２】図２のステップＳ１０５における撮影状況の判定結果をまとめた図。
【発明を実施するための形態】
【００１３】
（第１の実施形態）
図１は、本発明の第１の実施形態に係わる撮像装置の構成を示すブロック図である。図１の撮像装置１００の構成において、従来の構成との相違点は主に、積分器１１２、レンズ駆動量検出部１１３、基準値算出方法制御部１１４のブロックである。そして、特に基準値算出方法制御部１１４が本実施形態の特徴となる構成要件である。図１の撮像装置１００の各構成部とその動作について具体的に説明する。
【００１４】
撮像画像のぶれ補正機能を備える撮像装置１００において、角速度センサ１０１は撮像装置１００に加わる振れを角速度として算出する。増幅部１０２は、角速度センサ１０１の出力を増幅する。Ａ／Ｄ変換部１０３は増幅部１０２から出力される角速度出力をデジタル化する。Ａ／Ｄ変換部１０３の出力であるデジタル化された角速度出力、すなわち角速度データはマイクロコンピュータ（マイコン）ｕＣＯＭ１０４で処理される。基準値算出部１０５、ＨＰＦ１０６、積分器１０７、補正量算出部１０８、積分器１１２、レンズ駆動量検出部１１３、基準値算出方法制御部１１４はｕＣＯＭ１０４によって構成される。基準値算出部１０５は角速度センサ１０１の基準値を算出する。
【００１５】
ここで、基準値算出部１０５における基準値算出は、所定期間毎に以下の１〜３のいずれかの方法で行われる。
【００１６】
（基準値算出方法１）
上記の角速度データの積分値を用いて、式（１）により基準値の算出を行う。
【００１７】
ref＝d/dt{sensor_int−(correct_blur＋remain_blur)}      …（１）
なお、d/dtは微分を示し、refは基準値を示す。また、sensor_int、correct_blur、remain_blurについては、後述する。
【００１８】
（基準値算出方法２）
角速度データの低周波成分を抽出する。なお、この低周波成分の抽出には、移動平均値やローパスフィルタなどを用いる。
【００１９】
（基準値算出方法３）
基準値算出を行わず、前回（過去に）算出した基準値を基準値として用いる。
【００２０】
基準値算出部１０５において上記の基準値算出方法（１）〜（３）の中からいずれの方法で基準値を算出するかを、後述する基準値算出方法制御部１１４により制御する。
【００２１】
ここで、（基準値算出方法１）について説明する。
【００２２】
角速度データは、基準値に振れ信号が重畳された値である。したがって、基準値をref、撮像装置１００の振れ角速度をblur、所定期間の角速度データの積分値をsensor_intとすると、sensor_intは、以下の式で表すことができる。
【００２３】
sensor_int＝∫blur＋∫ref      …（２）
また、所定期間における、レンズ駆動量検出部１１３の出力の変化を、光軸の傾き角度に換算した値をcorrect_blurとする。更に、所定期間における、動きベクトル検出部１１１の出力の積算値をvector_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 )      …（５）
式（５）の両辺を微分すると、式（１）と一致することが分かる。
【００２７】
ここで、式（１）による基準値算出は、動きベクトル検出部１１１の検出周期よりも大きい期間（例えばＮＴＳＣ方式では１／６０秒）であれば、算出することができる。この時間は基準値の変動周期よりも十分に速い周期であり、基準値の変動に遅延なく追従することが可能となる。
【００２８】
しかし式（４）は、動きベクトル検出部１１１が、被写体の動きを検出してしまうときには成立しなくなり、式（１）も同様に成立しないため、（基準値算出方法１）を用いることができない。このとき、撮像装置１００が静止状態であるならば（基準値算出方法２）を用いる。撮像装置１００に振れが加わらないとき角速度データの低周波成分を用いる方法でも、算出した基準値に含まれる誤差は無視できるほど小さくなる。
【００２９】
（基準値算出方法１）を用いることができず、かつ撮像装置１００が静止状態でなければ（基準値算出方法２）を用いても算出した基準値に含まれる誤差が大きい。その場合、基準値の算出を行わず前回算出した基準値を用いることで、誤った基準値算出が行われないようにする。
【００３０】
基準値算出部１０５により求めた基準値を角速度データから減算することで撮像装置１００における真の振れ、すなわち真の角速度データが得られる。
【００３１】
ＨＰＦ１０６は真の角速度データの低周波成分を遮断して出力する。積分器１０７はＨＰＦ１０６の出力を積分し、角変位データとして出力する。補正量算出部１０８は角変位データに基づき補正光学系１０９の駆動量を算出する。この駆動量に基づき補正光学系１０９を駆動させ、被写体像を撮像する撮像素子１１０の撮像面への入射光の光軸の位置を変えることで、撮像画像に生じるぶれを光学的に補正する。
【００３２】
補正光学系１０９の駆動によりぶれ補正を行った後、撮像素子１１０より得られる撮像画像を動きベクトル検出部１１１に入力し、動きベクトルを検出する。動きベクトルの検出方法は、例えば従来提案されているブロックマッチング法などを用いる。
【００３３】
ブロックマッチング法は、撮像画像をブロックと呼ばれる領域に分割し、例えば１フレーム前の撮像画像と現在の撮像画像と類似箇所をブロック単位で検出する方法である。現在の撮像画像内の任意ブロック位置と１フレーム前の撮像画像内の類似ブロック位置との変位量を求め、撮像画像のフレーム間の動き情報、すなわち動きベクトルを検出する。ブロック単位で検出した動きベクトルに基づいて、１フレーム単位の動きベクトルを検出する。
【００３４】
なお、ブロックマッチング法は動きベクトル検出部１１１における動きベクトル検出方法の一例であり、動きベクトル検出方法はブロックマッチング法以外の方法を用いてもよい。また、マッチング演算については、尾上守夫等により、情報処理Vol.17,No.7,p.634 〜640 July 1976 で詳しく論じられている。
【００３５】
積分器１１２は動きベクトル検出部１１１で検出した動きベクトルの積分値を出力する。レンズ駆動量検出部１１３は実際に補正光学系１０９を駆動させた量を検出し出力する。基準値算出方法制御部１１４では、撮像装置１００の状態、及び撮像画像の状態を判定し、その判定結果に基づいて基準値算出部１０５における基準値算出方法を（基準値算出方法１、２、３）のいずれかに変更する。
【００３６】
ここで、基準値算出方法制御部１１４における撮像装置の状態判定には角速度センサ１０１の出力に基づく値を用い、また基準値算出方法制御部１１４における撮影状態判定には動きベクトル検出部１１１の出力に基づく値を用いる。ただし、角速度データに基づく値とは、Ａ／Ｄ変換部１０３の出力、ＨＰＦ１０６の出力、積分器１０７の出力いずれを用いてもよい。また、動きベクトル検出部１１１の出力に基づく値とは、動きベクトル検出部１１１の出力、積分器１１２の出力いずれを用いてもよい。
【００３７】
［基準値算出方法制御部１１４の処理手順］
基準値算出方法制御部１１４の処理を図２を用いて説明する。図２は、基準値算出方法制御部１１４の処理を示したフローチャートである。図中のＴは、基準値算出方法制御部１１４が基準値算出を行う処理周期である。
【００３８】
ステップＳ１００では、基準値算出部１０５における処理回数カウンタｔを０にする。ステップＳ１０１では、角速度センサ１０１の出力に基づく値から撮像装置１００の状態判定を行う。ステップＳ１０２では、動きベクトル算出部１１１の出力に基づく値から撮像画像に生じるぶれの状態判定を行う。
【００３９】
ステップＳ１０３では、カウンタｔが処理周期Ｔ（所定期間内）と等しくなったかを判定する。ｔがＴと等しくないとき、ステップＳ１０４へ処理を移行し、等しいときステップＳ１０５へ処理を移行する。このステップＳ１０３は基準値算出部１０５と基準値算出方法制御部１１４の処理を同期させるための処理である。
【００４０】
ステップＳ１０４では、カウンタｔの値を１増やす。ステップＳ１０５では、ステップＳ１０１での撮像装置１００の状態判定結果とステップＳ１０２での撮像画像ぶれ判定結果から撮影状態を判定する。
【００４１】
ステップＳ１０６では、ステップＳ１０５での判定結果から、動きベクトルが撮像装置１００におけるぶれ補正後の残存ぶれを示すかどうか判定する。動きベクトルが残存ぶれを示すときはステップＳ１０７に処理を移行し、動きベクトルが残存ぶれを示さないときは処理をステップＳ１０８に移行する。ステップＳ１０７では、基準値算出部１０５における基準値算出方法として、（基準値算出方法１）を選択する。
【００４２】
ステップＳ１０８では、ステップＳ１０１での撮像装置１００の状態判定結果から、撮像装置１００が静止状態かどうか判定する。撮像装置１００が静止状態である場合はステップＳ１０９へ処理を移行し、撮像装置１００が静止状態でない場合はステップＳ１１０へ処理を移行する。
【００４３】
ステップＳ１０９では、基準値算出部１０５における基準値算出方法として、（基準値算出方法２）を選択する。ステップＳ１１０では、基準値算出部１０５における基準値算出方法として、（基準値算出方法３）を選択する。
【００４４】
［撮像装置の状態判定を行う処理手順］
ステップＳ１０１における撮像装置１００の状態判定を図３により説明する。図３は、撮像装置１００の状態判定処理を示したフローチャートである。なお、図中、および以下の説明におけるGYROとは角速度センサ１０１の出力に基づく値であり、Ａ／Ｄ変換部１０３の出力、ＨＰＦ１０６の出力、積分器１０７の出力のいずれを用いてもよい。また、撮像装置１００の状態はＸの値で表す。
【００４５】
以下の説明では撮像装置１００における横方向の振れに関してのみ説明する。縦方向の振れに関しては横方向と同様の処理であるため説明を省略する。
【００４６】
ステップＳ２００ではＸの値を１にする。Ｘ＝１のときは、撮像装置１００が静止状態であることを示す。ステップＳ２０１では、GYROが閾値th_Aより小さく、かつＸ＝１のときはステップＳ２０２に処理を移行し、GYROが閾値th_A以上、またはＸ＝１以外のときはステップＳ２０３に処理を移行する。なお、閾値th_A（第３の閾値）は撮像装置１００が静止状態かどうかを判定するためのGYROの閾値である。
【００４７】
ステップＳ２０２では、Ｘの値を１にする。図４は撮像装置１００が静止状態のときのGYRO波形の一例を示している。ステップＳ２０３では、GYROが閾値th_Bより小さく、かつＸの値が２以下のときはステップＳ２０４に処理を移行し、GYROが閾値th_B以上、またはＸの値が２より大きいときはステップＳ２０５に処理を移行する。なお、閾値th_B（第１の閾値）は撮像装置がパンニング状態かどうかを判定するためのGYROの閾値である。
【００４８】
ステップＳ２０４では、Ｘの値を２にする。Ｘの値が２のときは、撮像装置が静止状態よりぶれが大きくパンニング状態よりぶれが小さい状態、例えば手持ちで固定点を撮影しているような状態であることを示す。以下、ステップＳ２０４のような状態を固定点撮影状態と表現する。図５は撮像装置１００が固定点撮影状態のときのGYRO波形の一例を示している。
【００４９】
ステップＳ２０５では、GYROの符号を判定する。GYROが正であるときはステップＳ２０６へ処理を移行し、GYROが負であるときはステップＳ２０７に処理を移行する。ステップＳ２０６では、Ｘの値を３にする。Ｘの値が３のときは、撮像装置がパンニング状態であり、特にパンニングの方向は右向きであることを示す。図６は撮像装置１００がパンニング状態であるときのGYRO波形の一例を示している。
【００５０】
ステップＳ２０７では、Ｘの値を４にする。Ｘの値が４のときは、撮像装置がパンニング状態であり、特にパンニングの方向は左向きであることを示す。ステップＳ２０７におけるGYROはステップＳ２０６のGYROと符号が異なるだけであるため、図は省略する。
【００５１】
［撮像画像の状態判定を行う処理手順］
上記のステップＳ１０２において動きベクトルに基づく値から撮像装置の状態判定を行う方法を図７を用いて説明する。図７は、動きベクトルから撮像装置の状態を判定する判定処理の一例を示したフローチャートである。
【００５２】
なお、図中および以下の説明におけるMVは動きベクトル検出部１１１により検出した動きベクトルに基づく値であり、動きベクトル検出部１１１の出力、積分器１１２の出力のいずれを用いてもよい。また、撮像画像の状態はUの値で表す。以下の説明では撮像画像における横方向のぶれに関してのみ説明する。縦方向のぶれに関しては横方向と同様の処理であるため説明を省略する。
【００５３】
ステップＳ３００では、Uの値を１にする。U＝１のときは、撮像画像にほとんどぶれが生じていない状態であることを示す。ステップＳ３０１では、MVが閾値th_Cより小さく、かつU＝１のときはステップＳ３０２に処理を移行し、MVが閾値th_C以上、またはU＝１以外のときはステップＳ３０３に処理を移行する。なお、閾値th_C（第４の閾値）は撮像画像にほとんどぶれが生じていないかどうか判定するためのMVの閾値である。ステップＳ３０２では、Uの値を１にする。図８は撮像画像にほとんどぶれが生じていないときのMV波形の一例を示している。
【００５４】
ステップＳ３０３では、MVが閾値th_Dより小さく、かつUの値が２以下のときはステップＳ３０４に処理を移行し、動きベクトル積分値が閾値th_D以上、またはUの値が２より大きいときはステップＳ３０５に処理を移行する。なお、閾値th_D（第２の閾値）は撮像画像に大きなぶれが生じていないかとうか判定するためのMVの閾値である。ステップＳ３０４では、Uの値を２にする。U＝２のときは、撮像画像に小さいぶれが生じている状態であることを示す。図９は撮像画像に小さいぶれが生じているときのMV波形の一例を示している。 
ステップＳ３０５では、MVの符号を判定する。MVが負であるときはステップＳ３０６に処理を移行し、正であるときはステップＳ３０７に処理を移行する。ステップＳ３０６では、Uの値を３にする。U＝３のときは、撮像画像に大きなぶれが生じていることを示す。また、Uの値が３のときは、撮像画像に生じるぶれの方向は左向きである。これは撮像装置１００が右向きのパンニング状態のときに撮像画像に生じるぶれ方向である。図１０は撮像画像に大きいぶれが生じているときのMV波形の一例を示している。
【００５５】
ステップＳ３０７では、Uの値を４にする。U＝４のときは、撮像画像に大きなぶれが生じていることを示す。また、Uの値が４のときは、撮像画像に生じるぶれの方向は右向きである。これは撮像装置１００が左向きのパンニング状態のときに撮像画像に生じるぶれ方向である。ステップＳ３０７における動きベクトル積分値はステップＳ３０６のMVと符号が異なるだけであるため、図は省略する。
【００５６】
［撮影状態の判定処理］
以下、ステップＳ１０１、及びＳ１０２の各組み合わせ時の撮影状態を図１２〜図１６を用いて説明する。また、撮影状態の判定結果を図１１にまとめる。なお、Xは撮像装置の状態、Uは撮像画像ぶれの状態を示す。
（１）X＝１、U＝１のとき
撮像装置１００が静止状態であり、撮像画像にほとんどぶれが生じないことから、被写体が静止している撮影状態であると判定できる。この撮影状態の一例を図１２（ａ）に示す。また、この状態のときの撮像画像を図１２（ｂ）に示す。この状態のとき、撮像装置１００の状態と撮像画像の状態が一致しているため、動きベクトルは撮像装置１００のぶれ補正後の残存ぶれを示す。
（２）X＝１、U＝２〜４のとき
撮像装置１００が静止状態であるが、撮像画像にぶれが生じていることから、被写体が動いている撮影状態であると判定できる。この撮影状態の一例を図１３（ａ）に示す。また、この状態のときの撮像画像を図１３（ｂ）に示す。ただし、U＝２〜４における差異は被写体の動きの大きさ、動きの方向の違いであり、それぞれを図で示すことは省略する。この状態のとき、撮像装置１００の状態と撮像画像の状態が一致していないため、動きベクトルは撮像装置１００のぶれ補正後の残存ぶれを示さない。また、撮像装置１００は静止状態である。
（３）X＝２、U＝１〜２のとき
撮像装置１００が固定点撮影状態であり、撮像画像に生じるぶれが小さい、もしくはぶれがほとんど生じないことから、被写体が静止している撮影状態であると判定できる。なお、この撮影状態、撮像画像は図１２と図上ではほとんど差異がないため、図は省略する。ただし、U＝１とU＝２における差異はU＝１のときはU＝２よりもぶれ補正が正確に行われことに起因するものである。この状態のとき、撮像装置１００の状態と撮像画像の状態が一致しているため、動きベクトルは撮像装置１００のぶれ補正後の残存ぶれを示す。
（４）X＝２、U＝３〜４のとき
撮像装置１００が固定点撮影状態であるが、撮像画像に大きなぶれが生じていることから、被写体が動いている撮影状態であると判定できる。なお、この撮影状態、撮像画像は図１３と図上ではほとんど差異がないため、図は省略する。また、U＝３とU＝４における差異は被写体の動きの方向の違いである。この状態のとき、撮像装置１００の状態と撮像画像の状態が一致していないため、動きベクトルは撮像装置１００のぶれ補正後の残存ぶれを示さない。また、撮像装置１００は静止状態でない。
（５）X＝３、U＝１〜２のとき
撮像装置１００がパンニング状態であるが、撮像画像に生じるぶれが小さい、もしくはぶれがほとんど生じないことから、動いている被写体に合わせて撮像装置を動かしている撮影状態であると判定できる。この撮影状態の一例を図１４（ａ）に示す。また、この状態のときの撮像画像を図１４（ｂ）に示す。ただし、U＝１とU＝２における差異はU＝１のときはU＝２よりも撮像装置の動きを被写体の動きに正確に合わせて撮影されたことに起因するものであり、それぞれを図で示すことは省略する。この状態のとき、撮像装置１００の状態と撮像画像の状態が一致していないため、動きベクトルは撮像装置１００のぶれ補正後の残存ぶれを示さない。また、撮像装置１００は静止状態でない。
（６）X＝３、U＝３のとき
撮像装置１００がパンニング状態であり、撮像画像に大きなぶれが生じており、撮像装置１００のパンニング方向と撮像画像のぶれ方向が一致していることから、撮像装置１００を動かして静止している被写体を撮影している撮影状態であると判定できる。この撮影状態の一例を図１５（ａ）に示す。また、この状態のときの撮像画像を図１５（ｂ）に示す。この状態のとき、撮像装置１００の状態と撮像画像の状態が一致しているため、動きベクトルは撮像装置１００のぶれ補正後の残存ぶれを示す。
（７）X＝３、U＝４のとき
撮像装置１００がパンニング状態であり、撮像画像に大きなぶれが生じており、撮像装置１００のパンニング方向と撮像画像のぶれ方向が一致していないことから、被写体の動きと撮像装置１００の動きが異なる撮影状態であると判定できる。この撮影状態の一例を図１６（ａ）に示す。図１６では、被写体の動きが撮像装置で追う動きよりも速いことを表している。また、この状態のときの撮像画像を図１６（ｂ）に示す。この状態のとき、撮像装置１００の状態と撮像画像の状態が一致していないため、動きベクトルは撮像装置１００のぶれ補正後の残存ぶれを示さない。また、撮像装置１００は静止状態でない。
（８）X＝４、U＝１〜２のとき
撮像装置１００がパンニング状態であるが、撮像画像に生じるぶれが小さい、もしくはぶれがほとんど生じないことから、動いている被写体に合わせて撮像装置を動かしている撮影状態であると判定できる。この撮影状態はX＝３、U＝１〜２のときとパンニングの方向が異なるだけであるため、説明は省略する。
（９）X＝４、U＝３のとき
撮像装置１００がパンニング状態であり、撮像画像に大きなぶれが生じており、撮像装置１００のパンニング方向と撮像画像のぶれ方向が一致していないことから、被写体の動きと撮像装置１００の動きが異なる撮影状態であると判定できる。この撮影状態はX＝３、U＝４のときとパンニングの方向が異なるだけであるため、説明は省略する。
（１０）X＝４、U＝４のとき
撮像装置１００がパンニング状態であり、撮像画像に大きなぶれが生じており、撮像装置１００のパンニング方向と撮像画像のぶれ方向が一致していることから、撮像装置１００を動かして静止している被写体を撮影している撮影状態であると判定できる。この撮影状態はX＝３、U＝３のときとパンニングの方向が異なるだけであるため、説明は省略する。 
上記の（１）〜（１０）をそれぞれ図２のフローチャートのステップＳ１０６〜Ｓ１１０に当てはめると、以下のようになる。すなわち、（１）、（３）、（６）、（１０）の場合は、ステップＳ１０６からステップＳ１０７に進み、（基準値算出方法１）を選択する。また、（２）の場合は、ステップＳ１０８からステップＳ１０９に進み、（基準値算出方法２）を選択する。また、（４）、（５）、（７）、（８）、（９）の場合は、ステップＳ１０８からステップＳ１１０に進み、（基準値算出方法３）を選択する。
【００５７】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。図１７は、本発明の第２の実施形態に係わる撮像装置の構成を示すブロック図である。図１７のブロック図は、図１に動きベクトル変換部１１６を追加し、また、動きベクトル変換部１１６の出力を基準値算出方法制御部１１４の入力に追加し、基準値算出方法制御部１１４の動作を変更した点以外は、図１と同様であるためこの変更点以外の説明は省略する。
【００５８】
動きベクトル変換部１１６では、動きベクトル検出部１１１の出力に基づく値MVを角速度センサ１０１の出力と同一スケールに変換する。ここで、MVは動きベクトル検出部１１１の出力、または積分器１１２の出力である。
【００５９】
図１８を用いて動きベクトル変換部１１６におけるMVの変換方法を説明する。MVを撮像素子上の動き量に変換する。MVの大きさは画素数で表わされるため、MVに撮像素子上の画素間の距離を乗ずる。MVの撮像素子上の動き量が図１８におけるdistである。distについて下記式（６）が成り立つ。
【００６０】
dist＝f×tanθ（fは焦点距離）      …（６）
式（６）のθがMVを角速度センサ１０１出力と同一スケールに変換した値となる。θは以下の式（７）により算出できる。
【００６１】
θ＝arctan（dist/f）                  …（７）
基準値算出方法制御部１１４は第１の実施形態で説明した撮像画像の状態判定にスケール変換したMV’（＝θ）を用いる判定を追加することで、撮像画像の状態判定をより詳細に行う。また、撮像画像の状態判定結果を用いることで、撮影状態の判定処理もより詳細な場合分けが可能となる。なお、撮像画像の状態判定を行う処理手順と撮影状態の判定処理以外は第１の実施形態と同じであるため、説明は省略する。
【００６２】
［撮像画像の状態判定を行う処理手順］ 
図１９を用いて、動きベクトルに基づく値から撮像装置の状態を判定する処理手順を説明する。ステップＳ３００〜Ｓ３０４は第１の実施形態と同じであるため説明を省略する。なお、図中、および以下の説明におけるGYROとは角速度センサ１０１の出力に基づく値であり、Ａ／Ｄ変換部１０３の出力、ＨＰＦ１０６の出力、積分器１０７の出力のいずれを用いてもよい。
【００６３】
また、図中および以下の説明におけるMVは動きベクトル検出部１１１により検出した動きベクトルに基づく値であり、動きベクトル検出部１１１の出力、積分器１１２の出力のいずれを用いてもよい。図中および以下のMV’はスケール変換されたMVを示す。
【００６４】
ステップＳ３０５では、GYROとMV’の差分が閾値th_Eより小さいときはステップＳ３０６に処理を移行し、GYROとMV’の差分が閾値th_E以上のときはステップＳ３０７に処理を移行する。なお、閾値th_E（第５の閾値）は、GYROとMV’の差分が十分に小さいときを判定する閾値である。
【００６５】
ステップＳ３０５の処理は、角速度センサ１０１で検出した撮像装置１００の振れの大きさが、撮像画像から判定する撮像装置の振れの大きさとほぼ一致するかどうかを判定するための処理である。
【００６６】
ステップＳ３０６では、MVの符号を判定する。MVが負であるときはステップＳ３０７に処理を移行し、正であるときはステップＳ３０８に処理を移行する。ステップＳ３０７では、Uの値を３にする。U＝３のときは、撮像画像に大きなぶれが生じており、撮像画像のぶれから判定される撮像装置の振れの大きさが角速度センサ１０１が検出した撮像装置１００の振れの大きさとほぼ同じ大きさであることを示す。
【００６７】
また、U＝３のときは、撮像画像に生じるぶれの方向は左向きである。これは撮像装置１００が右向きのパンニング状態のときに撮像画像に生じるぶれ方向である。図２０はステップＳ３０７におけるMV’とGYRO波形の一例を示している。
【００６８】
ステップＳ３０８では、Uの値を４にする。U＝４のときは、撮像画像に大きなぶれが生じており、撮像画像のぶれから判定される撮像装置の振れの大きさが角速度センサ１０１が検出した撮像装置１００の振れの大きさとほぼ同じ大きさであることを示す。
【００６９】
また、U＝４のときは、撮像画像に生じるぶれの方向は右向きである。これは撮像装置１００が左向きのパンニング状態のときに撮像画像に生じるぶれ方向である。ステップＳ３０８は、ステップＳ３０７とMV’の符号が異なるだけであるため、図は省略する。
【００７０】
ステップＳ３０９では、 Uの値を５にする。U＝５のときは、撮像画像に大きなぶれが生じており、ぶれの大きさは角速度センサ１０１が検出した撮像装置１００の振れの大きさと異なることを示す。図２１はステップＳ３０９におけるMV’とGYRO波形の一例を示している。
【００７１】
［撮影状態の判定処理］
以下、ステップＳ１０１、及びＳ１０２の各組み合わせ時の撮影状態を説明する。なお、Xは前記撮像装置の状態、Uは撮像画像のぶれの状態を示す。
【００７２】
撮影状態の判定結果を図２２にまとめる。U＝１〜２に関しては第１の実施形態と同じであるため、説明を省略する。
（１）X＝１、U＝３〜５のとき
撮像装置１００が静止状態であるが、撮像画像にぶれが生じていることから、被写体が動いている撮影状態であると判定できる。そのときの撮影状態は図１３（ａ）に、その状態のときの撮像画像は図１３（ｂ）に示したものと同じである。ただし、U＝３〜５における差異は被写体の動きの大きさ、動きの方向の違いであり、それぞれの違いを図で説明することは省略する。この状態のとき、撮像装置１００の状態と撮像画像の状態が一致していないため、動きベクトルは撮像装置１００のぶれ補正後の残存ぶれを示さない。また、撮像装置１００は静止状態である。
（２）X＝２、U＝３〜５のとき
撮像装置１００は固定点撮影状態であるが、撮像画像にぶれが生じていることから、被写体が動いている撮影状態であると判定できる。なお、この撮影状態、撮像画像は図１３と図上ではほとんど差異がないため、図は省略する。ただし、U＝３〜５における差異は被写体の動きの大きさ、動きの方向の違いである。この状態のとき、撮像装置１００の状態と撮像画像の状態が一致していないため、動きベクトルは撮像装置１００のぶれ補正後の残存ぶれを示さない。また、撮像装置１００は固定点撮影状態である。
（３）X＝３、U＝３のとき
撮像装置１００がパンニング状態であり、撮像画像に大きなぶれが生じており、撮像装置１００の振れと撮像画像のぶれが大きさ、方向ともに一致していることから、撮像装置１００を動かして静止している被写体を撮影している撮影状態であると判定できる。この撮影状態は図１５（ａ）に、その状態のときの撮像画像は図１５（ｂ）に示したものと同じである。この状態のとき、撮像装置１００の状態と撮像画像の状態が一致しているため、動きベクトルは撮像装置１００のぶれ補正後の残存ぶれを示す。
（４）X＝３、U＝４のとき
撮像装置１００がパンニング状態であり、撮像画像に大きなぶれが生じており、撮像装置１００の振れと撮像画像のぶれが大きさは一致するが、方向が一致しないことから、被写体の動きと撮像装置１００の動きが異なる撮影状態であると判定できる。この撮影状態は図１６（ａ）に、この状態のときの撮像画像は図１６（ｂ）に示した状態で、特に撮像装置１００の振れの大きさと撮像画像のぶれの大きさが一致している状態である。この状態のとき、撮像装置１００の状態と撮像画像の状態が一致していないため、動きベクトルは撮像装置１００のぶれ補正後の残存ぶれを示さない。また、撮像装置１００は静止状態でない。
（５）X＝３、U＝５のとき
撮像装置１００がパンニング状態であり、撮像画像に大きなぶれが生じており、撮像装置１００の振れと撮像画像のぶれが大きさが一致していないことから、被写体の動きと撮像装置１００の動きが異なる撮影状態であると判定できる。この撮影状態の一例を図１６（ａ）に示す。図１６では、被写体の動きが撮像装置で追う動きよりも速いことを表している。また、この状態のときの撮像画像を図１６（ｂ）に示す。この状態のとき、撮像装置１００の状態と撮像画像の状態が一致していないため、動きベクトルは撮像装置１００のぶれ補正後の残存ぶれを示さない。また、撮像装置１００は静止状態でない。
（６）X＝４、U＝３のとき
撮像装置１００がパンニング状態であり、撮像画像に大きなぶれが生じており、撮像装置１００の振れと撮像画像のぶれが大きさは一致するが、方向が一致しないことから、被写体の動きと撮像装置１００の動きが異なる撮影状態であると判定できる。この撮影状態は図１６（ａ）に、この状態のときの撮像画像は図１６（ｂ）に示した状態で、特に撮像装置１００の振れの大きさと撮像画像のぶれの大きさが一致している状態である。この状態のとき、撮像装置１００の状態と撮像画像の状態が一致していないため、動きベクトルは撮像装置１００のぶれ補正後の残存ぶれを示さない。また、撮像装置１００は静止状態でない。
（７）X＝４、U＝４のとき
撮像装置１００がパンニング状態であり、撮像画像に大きなぶれが生じており、撮像装置１００の振れと撮像画像のぶれが大きさ、方向ともに一致していることから、撮像装置１００を動かして静止している被写体を撮影している撮影状態であると判定できる。この撮影状態は図１５（ａ）に、この状態のときの撮像画像は図１５（ｂ）に示したものと同じである。この状態のとき、撮像装置１００の状態と撮像画像の状態が一致しているため、動きベクトルは撮像装置１００のぶれ補正後の残存ぶれを示す。
（８）X＝４、U＝５のとき
撮像装置１００がパンニング状態であり、撮像画像に大きなぶれが生じており、撮像装置１００の振れと撮像画像のぶれが大きさが一致していないことから、被写体の動きと撮像装置１００の動きが異なる撮影状態であると判定できる。この撮影状態の一例を図１６（ａ）に示す。図１６では、被写体の動きが撮像装置で追う動きよりも速いことを表している。また、この状態のときの撮像画像を図１６（ｂ）に示す。この状態のとき、撮像装置１００の状態と撮像画像の状態が一致していないため、動きベクトルは撮像装置１００のぶれ補正後の残存ぶれを示さない。また、撮像装置１００は静止状態でない。
【００７３】
上記の（１）〜（８）をそれぞれ図２のフローチャートのステップＳ１０６〜Ｓ１１０に当てはめると、以下のようになる。すなわち、（３）、（７）の場合は、ステップＳ１０６からステップＳ１０７に進み、（基準値算出方法１）を選択する。また、（１）の場合は、ステップＳ１０８からステップＳ１０９に進み、（基準値算出方法２）を選択する。また、（２）、（４）、（５）、（６）、（８）の場合は、ステップＳ１０８からステップＳ１１０に進み、（基準値算出方法３）を選択する。
【図１】
0005572031.tif 000002
【図２】
0005572031.tif 000003
【図３】
0005572031.tif 000004
【図４】
0005572031.tif 000005
【図５】
0005572031.tif 000006
【図６】
0005572031.tif 000007
【図７】
0005572031.tif 000008
【図８】
0005572031.tif 000009
【図９】
0005572031.tif 000010
【図１０】
0005572031.tif 000011
【図１１】
0005572031.tif 000012
【図１２】
0005572031.tif 000013
【図１３】
0005572031.tif 000014
【図１４】
0005572031.tif 000015
【図１５】
0005572031.tif 000016
【図１６】
0005572031.tif 000017
【図１７】
0005572031.tif 000018
【図１８】
0005572031.tif 000019
【図１９】
0005572031.tif 000020
【図２０】
0005572031.tif 000021
【図２１】
0005572031.tif 000022
【図２２】
0005572031.tif 000023