(57)【特許請求の範囲】
【請求項１】
被写体に対するカメラ本体の手振れを周期的に検出する振れ検出手段と、前記振れ検出手段の検出結果から振れ量を検出する振れ量検出手段と、前記振れ量検出手段から得られる複数の振れ量を用いて前記振れ検出手段の振れ検出精度を評価する評価手段と、前記評価結果に応じてパラメータを設定するパラメータ設定手段と、設定されたパラメータを用いて予測振れ量を算出する予測振れ量演算手段とを備えてなり、
前記パラメータは、予測演算に用いられる複数の振れ量の選択条件を決定する振れ検出時間間隔であって、該振れ検出時間間隔は、第１の時間間隔と該第１の時間間隔より長い第２の時間間隔とを有し、
前記パラメータ設定手段は、前記振れ検出精度の評価が高いとき、前記第１の時間間隔を前記パラメータとして設定し、前記振れ検出精度の評価が低いとき、前記第２の時間間隔を前記パラメータとして設定することを特徴とする振れ補正機能付きカメラ。
【請求項２】
被写体に対するカメラ本体の手振れを周期的に検出する振れ検出手段と、前記振れ検出手段の検出結果から振れ量を検出する振れ量検出手段と、前記振れ量検出手段から得られる複数の振れ量を用いて前記振れ検出手段の振れ検出精度を評価する評価手段と、前記評価結果に応じてパラメータを設定するパラメータ設定手段と、設定されたパラメータを用いて予測振れ量を算出する予測振れ量演算手段とを備えてなり、
前記予測振れ量演算手段は、複数の振れ量を用いて振れ速度と振れ加速度を算出し、これら振れ速度及び振れ加速度を有する演算式を用いて振れ予測を行うもので、前記パラメータは、上記振れ加速度の項に掛かる係数であって、該係数は、第１の係数と該第１の係数より小さい第２の係数とを有し、
前記パラメータ設定手段は、前記振れ検出精度の評価が高いとき、前記第１の係数を前記パラメータとして設定し、前記振れ検出精度の評価が低いとき、前記第２の係数を前記パラメータとして設定することを特徴とする振れ補正機能付きカメラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、被写体に対するカメラ本体の手振れを補正しながら撮影を行うカメラに関するものである。
【０００２】
【従来技術】
近年、複数のＣＣＤ（電荷結合素子）等の光電変換素子が二次元状に配列されたエリアセンサを用いて、手振れに起因する被写体像の振れを検出し（画像処理方式）、得られた振れ量を打ち消すように補正する機能を備えたカメラが提案されている（特開平８−５１５６６号公報）。即ち、エリアセンサに撮像された被写体像から参照画像を抽出し、これを基準画像と比較することで振れ量を検出し、得られた振れ量を複数個用いて予測振れ量を予測演算し、この予測振れ量に応じて補正レンズを駆動制御することで手振れの補正を行うものである。
【０００３】
【発明が解決しようとする課題】
ＣＣＤ等を用いた画像処理方式で振れ量を検出する場合、被写体の輝度が撮影環境等により大きく変わると、エリアセンサの各光電変換素子が受光する光量が大きく変化して、撮影された被写体像に差（バラツキ）が出るため、かかる輝度差等の影響を受けて撮像された画像を用いて振れを検出すれば、そのバラツキを含んだまま振れ量が得られることとなり、適正な振れ補正が維持し得なくなるという問題がある。
【０００４】
本発明は、上記事情に鑑みてなされたもので、振れ検出精度に応じた適切な振れ補正の実行やその精度が悪いときの振れ検出結果の使用禁止等を可能にする振れ補正機能付きカメラを提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記課題を解決するための本発明は、被写体に対するカメラ本体の手振れを周期的に検出する振れ検出手段と、前記振れ検出手段の検出結果から振れ量を検出する振れ量検出手段と、前記振れ量検出手段から得られる複数の振れ量を用いて前記振れ検出手段の振れ検出精度を評価する評価手段と、前記評価結果に応じてパラメータを設定するパラメータ設定手段と、設定されたパラメータを用いて予測振れ量を算出する予測振れ量演算手段とを備えてなり、前記パラメータは、予測演算に用いられる複数の振れ量の選択条件を決定する振れ検出時間間隔であって、該振れ検出時間間隔は、第１の時間間隔と該第１の時間間隔より長い第２の時間間隔とを有し、前記パラメータ設定手段は、前記振れ検出精度の評価が高いとき、前記第１の時間間隔を前記パラメータとして設定し、前記振れ検出精度の評価が低いとき、前記第２の時間間隔を前記パラメータとして設定することを特徴とする（請求項１）。
【０００６】
この構成では、振れ検出精度の評価結果に応じて予測振れ量が算出されるようになっているので、振れ検出精度に適した振れ補正が実行されるようになる。例えば、振れ検出精度が所定値より小さい場合、即ち振れ検出精度の評価が高い場合には、より新しい振れ量を用いて正確に予測振れ量を算出し、またこれを積極的に利用するようにすれば、振れ検出精度にマッチした適切な振れ補正が実行されるようになる。これに対して、振れ検出精度の評価が低い場合には、正確な予測振れ量を算出するよりもむしろ振れ検出結果のバラツキの大きさを吸収するように、例えば振れ検出精度の評価が高い場合に使用される間隔よりも長い時間間隔を用いて複数の振れ量を選択するようにし、これらを予測振れ量の算出に用いるようにすればよい。或いは、予測振れ量の利用度を小さくしたり、予測振れ量の使用を禁止して振れ量で振れ補正を行うようにしてもよい。これにより、評価の低い振れ検出精度にマッチした振れ補正が実行されるようになる。
【０００７】
前記パラメータ設定手段により設定されるパラメータが、予測演算に用いられる複数の振れ量の選択条件を決定する振れ検出時間間隔とされているので、振れ検出精度の評価結果に応じて決定された振れ検出時間間隔を用いて、予測振れ量算出のための複数の振れ量が選択されるようになり、その複数の振れ量から得られる予測振れ量は振れ検出精度に適したものとなって、その振れ検出精度にマッチした振れ補正が実行されるようになる。
【０００８】
また、前記振れ検出時間間隔は、第１の時間間隔と該第１の時間間隔より長い第２の時間間隔とを有し、前記パラメータ設定手段は、前記振れ検出精度の評価が高いとき、前記第１の時間間隔を前記パラメータとして設定し、前記振れ検出精度の評価が低いとき、前記第２の時間間隔を前記パラメータとして設定する構成であるので、振れ検出精度の評価が高い場合には、より新しい振れ量から予測振れ量が算出されるようになり、振れ検出精度の評価が低い場合には、振れ検出結果のバラツキを吸収するような時間間隔を用いて選択された振れ量から予測振れ量が算出されるようになる。
【０００９】
また本発明は、被写体に対するカメラ本体の手振れを周期的に検出する振れ検出手段と、前記振れ検出手段の検出結果から振れ量を検出する振れ量検出手段と、前記振れ量検出手段から得られる複数の振れ量を用いて前記振れ検出手段の振れ検出精度を評価する評価手段と、前記評価結果に応じてパラメータを設定するパラメータ設定手段と、設定されたパラメータを用いて予測振れ量を算出する予測振れ量演算手段とを備えてなり、前記予測振れ量演算手段は、複数の振れ量を用いて振れ速度と振れ加速度を算出し、これら振れ速度及び振れ加速度を有する演算式を用いて振れ予測を行うもので、前記パラメータは、上記振れ加速度の項に掛かる係数であって、該係数は、第１の係数と該第１の係数より小さい第２の係数とを有し、前記パラメータ設定手段は、前記振れ検出精度の評価が高いとき、前記第１の係数を前記パラメータとして設定し、前記振れ検出精度の評価が低いとき、前記第２の係数を前記パラメータとして設定することを特徴とする（請求項２）。
【００１０】
この構成では、上記請求項１と同様な基本作用を奏しつつ、前記予測振れ量演算手段が、複数の振れ量を用いて振れ速度と振れ加速度を算出し、これら振れ速度及び振れ加速度を有する演算式を用いて振れ予測を行うもので、前記パラメータは、上記振れ加速度の項に掛かる係数である構成とされているので、振れ検出精度の評価結果に応じて用いられる係数が予測振れ量の演算式における振れ加速度の項に掛かるようになり、その項の値（予測振れ量の利用度）が振れ検出精度に応じて増減するようになり、振れ検出精度にマッチした振れ補正が実行されるようになる。更に、前記パラメータである係数は、第１の係数と該第１の係数より小さい第２の係数とを有し、前記パラメータ設定手段は、前記振れ検出精度の評価が高いとき、前記第１の係数を前記パラメータとして設定し、前記振れ検出精度の評価が低いとき、前記第２の係数を前記パラメータとして設定する構成とされているので、振れ検出精度の評価が高い場合には、予測振れ量の利用度が大きくなり、振れ検出精度の評価が低い場合には、予測振れ量の利用度が小さくなる。
【００１１】
【発明の実施の形態】
図１は、本発明の一実施形態のブロック図である。カメラ１は、撮影部２、補正レンズ部３、振れ検出部４、振れ補正量設定部５、駆動部６、位置検出部７、露出制御部８、レリーズ監視部９、測距モジュール１０、フォーカス部１１及び振れ表示部１２により構成されている。
【００１２】
撮影部２は、光軸Ｌを有する撮影レンズ２１、装填されたフィルム２２を光軸Ｌ上の結像位置に給送する図略の機構部、及びフィルム２２の前方に配置されるシャッタ２３を備え、被写体像を撮影するものである。
【００１３】
補正レンズ部３は、撮影レンズ２１の前方に配置された横振れ補正レンズ３１及び縦振れ補正レンズ３２で構成され、被写体像振れをプリズム方式で補正するものである。横振れ補正レンズ３１及び縦振れ補正レンズ３２は、それぞれ、光軸Ｌに平行な光軸を有し、光軸Ｌと直交する面上を互いに直交する横及び縦方向に移動可能に支持されている。
【００１４】
図２は、鏡胴内に収納された縦振れ補正レンズ３２等の斜視図である。本実施形態では、縦振れ補正レンズ３２は、鏡胴２４内に収納され、支点Ｏで回動可能に支持されたフレーム３２１に取り付けられている。フレーム３２１の外周部における支点Ｏの反対側には、ギヤ部３２２が形成されている。このギヤ部３２２と噛合するギヤ６３１を有するモータ６３２が駆動することで、縦振れ補正レンズ３２は略縦方向に移動する。図２から理解されるように、縦振れ補正レンズ３２は、鏡胴２４の内径に当たる可動範囲Ｒ内において、略縦方向に移動可能である。横振れ補正レンズ３１についても同様である。
【００１５】
振れ検出部４は、検出用レンズ４１、振れセンサ４２、振れセンサ制御部４３及び信号処理部４４により構成されており、被写体に対するカメラ１本体の相対的な振れにより生じる被写体像振れを検出するための画像データを得るものである。検出用レンズ４１は、撮影レンズ２１の光軸Ｌと平行な光軸を有し、被写体像を後方の振れセンサ４２上に結像させるものである。振れセンサ４２は、複数のＣＣＤ等の光電変換素子が二次元状に配列されたエリアセンサであり、検出用レンズ４１により結像された被写体像を受光し、受光量に応じた電気信号を得るものである。被写体像の画像信号は、各光電変換素子で受光されて得られた電気信号である画素信号の平面的な集合として得られる。振れセンサ制御部４３は、振れセンサ４２に対して所定の電荷蓄積時間（積分時間）で受光動作を周期的に行わせ、各受光動作で得られた画像信号を信号処理部４４に送出させるものである。信号処理部４４は、振れセンサ４２からの各画素信号に対し、所定の信号処理（信号増幅及びオフセット調整等の処理）を施して画素データにＡ／Ｄ変換するものである。
【００１６】
図３は、振れ検出部４がカバーする振れ検出エリアの一例を示す図である。本実施形態では、振れ検出部４は、撮影画面に対して、中央に位置する振れ検出エリアＡ１と左側に位置する振れ検出エリアＡ２とをカバーするように構成されている。即ち、振れセンサ４２は、検出用レンズ４１によって結像される被写体像のうち、振れ検出エリアＡ１内に対応する被写体像をカバーするだけの受光素子が形成された受光面と、振れ検出エリアＡ２内に対応する被写体像をカバーするだけの受光素子が形成された別の受光面とを有している。
【００１７】
なお、振れ検出部４は、撮影画面の全てをカバーする振れセンサ４２を用いてもよい。この場合、画像処理の段階で、検出エリアＡ１，Ａ２に相当するエリアの信号を抽出するようにしてもよい。
【００１８】
図１に示される振れ補正量設定部５は、振れ量検出部５１、係数変換部５２、目標位置設定部５３、補正ゲイン設定部５４、温度センサ５５、メモリ５６、位置データ入力部５７及びタイマ５８によって構成され、振れ補正のための駆動信号を生成するデータを設定するものである。なお、温度センサ５５は、カメラ１の環境温度を検出するものである。また、メモリ５６は、振れ量検出部５１で用いられる画像データや振れ量等のデータを一時記憶するＲＡＭや、係数変換部５２で用いられる変換係数等を記憶するＲＯＭにより構成される。
【００１９】
図４は、振れ量検出部５１の構成を説明するためのブロック図である。振れ量検出部５１は、振れ量算出部５１１、データ選択部５１２、予測振れ量算出部５１３及び評価設定部５１４によって構成され、信号処理部４４からの画像データを用いて振れ量を求め、この振れ量を利用して予測振れ量を更に求めるものである。
【００２０】
振れ量算出部５１１は、画像データダンプ部５１１ａ，検出エリア選択部５１１ｂ及び画像比較演算部５１１ｃにより構成されている。画像データダンプ部５１１ａは、信号処理部４４からの画像データをメモリ５６（ＲＡＭ）にダンプするものである。メモリ５６には、振れ検出エリアＡ１，Ａ２の各々の画像データが記憶される。
【００２１】
検出エリア選択部５１１ｂは、所定の選択基準に応じて振れ検出エリアＡ１，Ａ２のいずれか一方を選択するものである。振れ検出エリアの選択については、例えば、両エリア内の画像のコントラスト値を比較し、コントラスト値が高い方のエリアを選択するようにしてもよい。
【００２２】
また、検出エリア選択部５１１ｂは、選択した振れ検出エリア内の画像のコントラスト値が所定値（しきい値）よりも低いか否かの判定を行うとともに、コントラスト値が所定値よりも低ければローコントラスト（ローコン）であることを示すためにローコンフラグＦL を“１”に設定する。また、検出エリア選択部５１１ｂは、一旦、ローコン状態に入ると、後述する振れ検出精度の演算処理の実行を禁止させるために許可フラグＦP を“０”に設定する。これは、一旦、ローコン状態に入ると、短時間でローコン状態から脱する場合の少ないことを考慮したものである。
【００２３】
画像比較演算部５１１ｃは、検出エリア選択部５１１ｂで選択された振れ検出エリア内の画像データと基準画像とを用いて、振れ量を求めるものである。基準画像は、振れ検出の開始時において、補正レンズ部３の各レンズが所定の基準位置、例えば各レンズが互いに逆向きに等距離移動可能な中央位置（図２ではＲａ＝Ｒｂとなる位置）にセットされた状態で、振れ検出部４から取り込まれた画像に含まれる、振れ量検出のための基準となる画像のことである。このように、中央位置を基準にすることで、一方の可動範囲が他方よりも短い場合に生じやすくなる振れ補正レンズが終端に当たりやすくなるという問題が回避される。即ち、画像比較演算部５１１ｃは、メモリ５６に記憶されている最新画像データから、基準画像に対応する画像を参照画像として抽出し、最初に設定された基準画像の位置に対する参照画像位置の変化量から画素数単位の振れ量を求める演算処理を行う。振れ量は、横及び縦方向の各々について求められ、メモリ５６に一時記憶される。
【００２４】
また、画像比較演算部５１１ｃは、振れ量を求めた演算処理回数が後述の予測開始回数Ｎｐ以上である場合に、ローコンフラグＦL が“１”になると、メモリ５６に記憶された最新の横及び縦方向の予測振れ量を、それぞれ横及び縦方向の振れ量として用いる。これは、ローコンの際には、検出された振れ量の信頼性が低いために、最新の予測振れ量を代わりに用いることで、誤差等の不具合を回避するための処理である。
【００２５】
図５は、データ選択部５１２による振れ量データ選択抽出の説明図である。データ選択部５１２は、評価設定部５１４により、予測振れ量を求めるためのパラメータとして設定される所定の基準時間間隔（速度演算時間Ｔｖ及び加速度演算時間Ｔα）を利用して、最新の振れ量を含む４個の振れ量をメモリ５６から選択抽出するものである。即ち、最新時点ｔ１（以下ｔａとする。）における振れ量Ｅａが選択抽出され、時点ｔａに対してＴｖ（所要の信頼性を有する振れ速度を求めるのに必要な時間間隔）よりも長く且つ最短となる時点ｔ３（以下ｔｂとする。）が検索され、この時点ｔｂにおける振れ量Ｅｂが選択抽出される。また、時点ｔａに対してＴα（所要の信頼性を有する振れ加速度を求めるのに必要な時間間隔）よりも長く且つ最短となる時点ｔ５（以下ｔｃとする。）が検索され、この時点Ｔｃにおける振れ量Ｅｃが選択抽出される。更に、時点ｔｃに対して前述のＴｖよりも長く且つ最短となる時点ｔ７（以下ｔｄとする。）が検索され、この時点ｔｄにおける振れ量Ｅｄが選択抽出される。これら４個の振れ量Ｅａ，Ｅｂ，Ｅｃ，Ｅｄ及び時点ｔａ，ｔｂ，ｔｃ，ｔｄは、横及び縦方向の各々について選択抽出されるとともに、対応してメモリ５６に記憶される。
【００２６】
但し、時点ｔ１，ｔ２，…の順に時刻が古くなっている。また各時点は、積分時間の中間時点を表している。更に、各時点における上向きの矢印は、検出された振れ量を表しているもので、これらの振れ量はメモリ５６に記憶されているものである。
【００２７】
本実施形態では、データ選択部５１２が用いる所定の基準時間間隔は、評価設定部５１４により、短い方（例えばＴｖ＝５ｍｓ）かこれよりも長い方（例えばＴｖ＝１０ｍｓ）のどちらかが設定されるようになっている。
【００２８】
なお、データ選択部５１２は、上記選択方法に限らず、所定の基準時間間隔に最も近い離間時間となる時点における振れ量を選択するものでもよく、或いは所定の基準時間間隔よりも短く且つ最長となる離間時間となる時点における振れ量を選択するものでもよい。
【００２９】
図４に示される予測振れ量算出部５１３は、横及び縦方向の各々について、データ選択部５１２で選択抽出された４個の振れ量を用いて予測振れ量を算出するものである。即ち、最新の振れ量Ｅａと過去の１つの振れ量Ｅｂから（数１）により振れ速度Ｖ１が求められ、残りの古い方の２つの振れ量Ｅｃ，Ｅｄから（数２）により振れ速度Ｖ２が求められる。そして、振れの速度Ｖ１，Ｖ２から（数３）により振れ加速度αが求められる。
【００３０】
【数１】
0003675131.tif 000002
【００３１】
【数２】
0003675131.tif 000003
【００３２】
【数３】
0003675131.tif 000004
【００３３】
次いで、手振れによる振れはほぼ等加速度運動に従って推移していくとの仮定に基づいて、最新の振れ量Ｅａ、振れ速度Ｖ１及び振れ加速度αと評価設定部５１４により設定される定数ｋとから、（数４）により予測振れ量ＥP が算出される。この予測振れ量はメモリ５６に一時記憶される。
【００３４】
【数４】
0003675131.tif 000005
【００３５】
但し、定数ｋ（０＜ｋ＜１）は、実際の手振れに近づけるための補正係数で、振れ加速度αに掛かるものである。また、時間ＴP は、タイマ５８からの現時刻（時点ｔｒとする。）から、ｔｒ−ｔａ＋Ｔｄの演算で求められる時間である。更に、時間Ｔｄは、振れ量検出部５１が予測振れ量を送出した時点から補正レンズ部３による駆動が完了するまでに要する遅れ時間である。なお、遅れ時間Ｔｄは、時間ＴP に加味されなくてもよい。また、時間ＴP は、ＴP ＝（１／２）×Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＋Ｔｄの関係から求められるようにしてもよい。ここに、時間Ｔ１は振れセンサ４２の積分時間、時間Ｔ２は振れセンサ４２の画像情報がメモリ５６にダンプされるまでに要する転送時間、時間Ｔ３は振れ量算出の演算時間、時間Ｔ４は予測振れ量算出の予測演算時間である。
【００３６】
また、予測振れ量算出部５１３は、振れ量算出部５１１の演算処理回数が予測開始回数Ｎｐ未満である場合に、ローコンフラグＦL が“０”になるとき、メモリ５６に記憶された最新の横及び縦方向の振れ量を、それぞれ横及び縦方向の予測振れ量として用いる。これにより、予測振れ量による振れ補正が開始したときに、スムーズな振れ補正の駆動を行わせるようにしている。
【００３７】
評価設定部５１４は、検出精度演算部５１４ａ、検出精度評価部５１４ｂ及びパラメータ設定部５１４ｃにより構成され、振れ検出結果から振れ検出精度を算出・評価し、この評価結果に応じて、前述した速度演算時間Ｔｖ、加速度演算時間Ｔα及び定数ｋという各パラメータ（以後、単にパラメータＴｖ，Ｔα，ｋという。）を設定するものである。
【００３８】
検出精度演算部５１４ａは、振れ加速度を利用して振れ検出部４の振れ検出精度を求めるものである。
【００３９】
図６は、振れ検出結果のバラツキの様子を示す図で、（ａ）は振れセンサ取付不具合等によるズレを含んだ状態のバラツキの様子を示し、（ｂ）はそのズレ要因を含まないバラツキの様子を示している。振れ検出結果が図６（ａ）に示されるように振れの真値に対してどちらかの側（図では上側）に偏るとしたら、この偏りは、振れ検出精度によるものではなく、振れセンサ取付不具合等に起因するものである。この偏りがなければ、振れ検出結果は、図６（ｂ）に示されるように、振れの真値を挟むようなバラツキ状態となる。このような偏りのないバラツキ状態にある検出結果を示す振れ検出精度は、検出精度演算部５１４ａが実行する以下の方法による演算結果で表される。
【００４０】
図７は、振れ検出精度測定の説明図で、（ａ）はバラツキが大きい場合の振れ検出結果を示し、（ｂ）はバラツキが小さい場合の振れ検出結果を示している。図７（ａ），（ｂ）に示される振れ量Ｅａ〜Ｅｄ間の時間は、前述の基準時間間隔で選択抽出されるため、大きく見積もっても３０ｍｓ程度である。
【００４１】
例えば、図７（ａ）に示されるように、３０ｍｓ程度の時間に山と谷が存在するとしたら、その波形は、人の手振れの上限値である１０Ｈｚよりも高い周波数になっていることから、人の手振れに起因しない振れ検出誤差を含んでいると考えられる。本実施形態では、振れ検出部４に画像処理方式を採用しているので、低輝度の場合には振れ検出精度が低くなって、図７（ａ）に示されるような振れ検出結果のバラツキになる場合がある。これに対して、高輝度の場合には検出精度が高く、図７（ｂ）に示されるように、変化の小さい滑らかな振れ検出結果のバラツキになる。
【００４２】
そこで、Ｅａ〜Ｅｄの振れ検出精度は、図６（ｂ）に示されるようなバラツキを考慮して表すようにすればよいから、振れ速度の変化量で表すことも可能であるが、本実施形態では、振れ加速度の変化量で表すようにしている。この場合、Ｅａ〜Ｅｄの振れ検出精度は、振れ加速度αの算出には少なくとも３つの振れ量が必要なので、例えばＥａ〜Ｅｃによる振れ加速度とＥｂ〜Ｅｄによる振れ加速度を用いると、（数５）の振れ加速度変化Ｃで表される。
【００４３】
【数５】
0003675131.tif 000006
【００４４】
但し、Ｅａ〜Ｅｄを得るために用いられた各画像信号の積分周期は、ほぼ一定とみなせるので、ｔａ−ｔｂ，ｔｂ−ｔｃ，ｔｃ−ｔｄは同一の積分周期Ｔ１’でくくれる。また、バラツキの状態を表すのが目的であるので、振れ加速度変化Ｃを正確に求める必要はなく、それに対応する値が得られれば十分であり、また値の大きい積分周期Ｔ１’で除算すると精度が落ちるので、Ｔ’＝１とし、或いは無視して計算するようにしている。これにより、演算処理時間の短縮が可能になる。
【００４５】
得られた振れ加速度変化Ｃの値は積算される。この積算値（総和）は、各振れ加速度変化Ｃが符号を持つので、各振れ加速度変化Ｃの自乗値について求められる。そして、最終的な振れ検出部４の振れ検出精度は、横及び縦方向の総和の平均値、即ち（横方向の総和＋縦方向の総和）／２で示される。なお、評価を早く得るための素早い演算処理（遅いと適切な振れ補正の時間が短くなる。）や適切な統計処理等を考慮すれば、振れ精度検出の回数は２０回程度が好ましい。
【００４６】
なお、上記総和は、各振れ加速度変化Ｃの自乗値で求められるようにしているが、各振れ加速度変化Ｃの絶対値で求められるようにしてもよい。また、最終的な振れ検出部４の振れ検出精度は、横及び縦方向の総和の平均値で表されるようにしているが、これに限らず、横及び縦方向の総和のどちらかで、或いは値の大きい方を用いて表されるようにしてもよい。
【００４７】
また、縦及び横方向について、個々に判定を下すという方法もあるが、こうすると、予測に使うデータの選択時間が２倍になり、処理時間が長くなるので、上記演算処理の方がより好ましい。
【００４８】
図４に示される検出精度評価部５１４ｂは、手振れをｓｉｎ波形等に見立て、これに所定のバラツキを与えた検出結果の加速度変化を求めることで得られる所定の評価基準値を用いて、振れ検出部４の振れ検出精度が高いか否かの評価（判定）を行うものである。即ち、検出精度演算部５１４ａからの振れ検出精度値が上記評価基準値よりも小さければ、振れ検出精度は高い（バラツキが小さい。）と評価され、そうでなければ振れ検出精度は低い（バラツキが大きい。）と評価される。このとき、評価フラグＦB は、バラツキが大きければ、即ち評価結果が低ければ“１”に、バラツキが小さければ、即ち評価結果が高ければ“０”に設定される。
【００４９】
パラメータ設定部５１４ｃは、検出精度評価部５１４ｂの評価結果に応じて、パラメータＴｖ，Ｔα，ｋをデータ選択部５１２及び予測振れ量算出部５１３に設定するものである。ここで、評価結果が高い場合に設定されるパラメータを第１パラメータといい、低い場合のパラメータを第２パラメータという。第１パラメータのＴｖ，Ｔαの値は、それぞれ第２パラメータのＴｖ，Ｔαの値よりも小さく、また第１パラメータのｋの値は、第２パラメータのｋの値と同等か又は大きくなるように設定されている。即ち、パラメータ設定部５１４ｃは、評価フラグＦB が“０”で許可フラグＦP が“１”であれば、第１パラメータを設定し、評価フラグＦB が“１”或いは許可フラグＦP が“０”であれば、第２パラメータを設定するようになっている。
【００５０】
図８は、振れの真値に対し±σのバラツキを有する振れ検出結果を示す図で、（ａ）は第１パラメータのＴｖを用いて選択抽出された振れ量の誤差の影響を示す図で、（ｂ）は第２パラメータのＴｖを用いて選択抽出された振れ量の誤差の影響を示す図である。但し、Ｒ１，Ｒ２，Ｒ３は、それぞれ振れ量Ｅ１，Ｅ２，Ｅ３に対する振れの真値（真の振れ量）を示す。
【００５１】
図８（ａ），（ｂ）において、最大誤差を含む振れ速度Ｖbaは、（数６）により求められる。
【００５２】
【数６】
0003675131.tif 000007
【００５３】
上式の２×σ／Ｔｖは、真の振れ速度（Ｒ１−Ｒ２）／Ｔｖに加わる誤差分である。ここで、第１パラメータのＴｖをＴｖ１とおき、第２パラメータのＴｖをＴｖ２とおくと、図８（ａ）の場合の誤差分は２×σ／Ｔｖ１、図８（ａ）の場合の誤差分は２×σ／Ｔｖ２となる。このとき、Ｔｖ１＜Ｔｖ２の関係が成立するので、上記誤差分の関係は、２×σ／Ｔｖ１＞２×σ／Ｔｖ２となる。これにより、バラツキσが大きい場合、第２パラメータのＴｖを使用することで、誤差分を小さくすることが可能になることが理解される。
【００５４】
そこで、本実施形態では、バラツキσが大きい場合、即ち評価結果が低い場合は、第２パラメータのＴｖ，Ｔαを使用するようにしている。また、この場合、（数４）の振れ加速度項の信頼性が低いので、その誤差の影響を低減させるために、第１パラメータのｋよりも値が小さい第２パラメータのｋが使用される。
【００５５】
これに対して、評価結果が高い場合は、第１パラメータのＴｖ，Ｔαを使用することで、できるだけ現在時点に近い時点で得られた振れ量を使用するようにして、振れ補正精度を高く維持するようにしている。また、この場合、振れ加速度項の信頼性が高いことから、この振れ加速度項を積極的に振れ予測に反映させるべく、第２パラメータのｋよりも値が大きい第１パラメータのｋが使用される。
【００５６】
図９は、第１，第２パラメータによる振れ補正精度のシミュレーションのグラフである。このシミュレーションは、手振れの振動をｓｉｎ波形に見立てて求めたものである。図９において、第１曲線は、ｓｉｎ波形の振れ量と、このｓｉｎ波形に対し、第１パラメータで求められた予測振れ量との差である振れ補正精度（補正残り）を表している。同様に、第２曲線は、ｓｉｎ波形の振れ量と、このｓｉｎ波形に対し、第２パラメータで求められた予測振れ量との差である振れ補正精度（補正残り）を表している。
【００５７】
図９に示されるように、振れ補正精度は、振れ検出精度値が評価基準値よりも小さければ、第１パラメータを用いて得た予測振れ量の方が良い振れ補正精度になるのが理解される。一方、振れ検出精度値が評価基準値よりも大きければ、第２パラメータを用いて得た予測振れ量の方が良い振れ補正精度になっている。本実施形態では、検出精度評価部５１４ｂで用いられる評価基準値は、このようなシミュレーションによって予め求められている。
【００５８】
図１０（ａ）は、図９の評価基準値を具体的数値で示した図である。振れ補正精度（補正残り）は、振れ検出精度値が０．００７５６３[ｄｅｇ]という評価基準値よりも小さければ、第１パラメータを用いた方が高くなり、大きければ第２パラメータを用いた方が高くなっている。
【００５９】
なお、本実施形態では、振れ検出精度は、振れ加速度変化から算出されるようにしているが、これに限らず、振れ速度変化から算出されるようにすれば、図９の具体的なシミュレーション結果は、図１０（ｂ）に示されるようになる。
【００６０】
図１に戻って、係数変換部５２は、横及び縦方向の予測振れ量を、メモリ５６に記憶されている変換係数を用いて、補正レンズ部３に対する横及び縦方向の目標角度位置（駆動量）に変換するものである。また、係数変換部５２は、温度センサ５５で検出された環境温度に応じて補正係数を算出し、この補正係数で横及び縦方向の目標角度位置を補正する。この補正係数は、環境温度変化に伴って生じる検出用レンズ４１の焦点距離や補正レンズ部３による光の屈折率（パワー）の変動分を補正するためのものである。
【００６１】
目標位置設定部５３は、温度補正された横及び縦方向の目標角度位置を目標位置情報（駆動終了位置）に変換するものである。これら横及び縦方向の目標位置情報は、それぞれ設定データＳＤPH，ＳＤPVとして駆動部６にセットされる。
【００６２】
また、目標位置設定部５３は、振れ量算出部５１１の演算処理回数が予測開始回数Ｎｐ未満である場合に、ローコンフラグＦL が“１”になるとき、前回の設定データＳＤPH，ＳＤPVを再度利用して駆動部６にセットする。これにより、補正レンズ部３の各レンズは、現在位置に停止するようにされる。
【００６３】
補正ゲイン設定部５４は、温度センサ５５で検出された環境温度に応じて、横及び縦方向のゲイン補正量を求め、それぞれを設定データＳＤGH，ＳＤGVとして駆動部６に出力するものである。横及び縦方向のゲイン補正量は、それぞれ横及び縦方向の基本ゲインを補正するものである。設定データＳＤGH，ＳＤGV及び基本ゲインの詳細については後述する。
【００６４】
位置データ入力部５７は、位置検出部７の各出力信号をＡ／Ｄ変換し、得られた各出力データから、横振れ補正レンズ３１及び縦振れ補正レンズ３２の各位置をモニターするものである。この位置データをモニターすることで、補正レンズ部３用の駆動メカの異常状態等が検出可能となる。
【００６５】
駆動部６は、駆動制御回路６１、横アクチュエータ６２及び縦アクチュエータ６３により構成されている。駆動制御回路６１は、目標位置設定部５３及び補正ゲイン設定部５４からの設定データＳＤPH，ＳＤPV，ＳＤGH，ＳＤGVに応じて、横及び縦方向の駆動信号を生成するものである。横アクチュエータ６２及び縦アクチュエータ６３は、コアレスモータ等で構成され（図２のモータ６３２及びギヤ６３１参照）、それぞれ駆動制御回路６１で生成された横及び縦方向の駆動信号に応じて、横振れ補正レンズ３１及び縦振れ補正レンズ３２を駆動するものである。
【００６６】
図１１は、サーボ回路の一部を構成する駆動制御回路６１の一例を示すブロック図である。まず、駆動制御回路６１にセットされる設定データＳＤGH，ＳＤGVについて説明する。カメラ１は、その環境温度が変化すると、振れ補正の駆動系に関する種々の特性が変化する。例えば環境温度変化に伴って、駆動部６における各モータ（図２のモータ６３２参照）のトルク定数、補正レンズ部３及び駆動部６における駆動系（可動メカ）のバックラッシュ、及びその駆動系のギヤ（図２のギヤ部３２２及びギヤ６３１参照）の硬さなどが変化する。
【００６７】
図１２は、この変化の一要因となるモータトルクの温度特性図である。図１２から理解されるように、環境温度が基準温度（例えば２５℃）から外れると、モータトルクは基準温度での値とは異なる値を示す。この結果、振れ補正に関する駆動特性が変化してしまうこととなる。このように、横及び縦方向の基本ゲイン（基準温度における駆動ゲイン）による駆動特性は、温度センサ５５で得た環境温度が基準温度から外れると、変動するようになる。
【００６８】
そこで、補正ゲイン設定部５４は、温度センサ５５で得た環境温度に応じて、横及び縦方向の各基本ゲインによる駆動特性の変動を補正するゲイン補正量を生成する。本実施形態では、環境温度が基準温度から外れることにより生じるモータトルク、バックラッシュ及びギヤの硬さ等の各変動を個別に補正するゲイン補正量を求めるための関数（環境温度を引数とする。）が、横及び縦方向の各々について予め求められている。そして、横及び縦方向の各々について、各補正関数に温度センサ５５で検出された環境温度が入力され、得られた各値の合計値がゲイン補正量として求められる。これら横及び縦方向のゲイン補正量は、それぞれ設定データＳＤGH，ＳＤGVとして、駆動制御回路６１にセットされる。
【００６９】
次に、駆動制御回路６１について説明する。図１では、説明の便宜上、設定データＳＤGH，ＳＤGVは、２本の信号線で伝送されるように図示しているが、実際には、図略の２本のデータ線（ＳＣＫ，ＳＤ）及び３本の制御線（ＣＳ，ＤＡ／ＧＡＩＮ，Ｘ／Ｙ）によりシリアル伝送されてセットされる。同様に、設定データＤPH，ＳＤPVも交互に駆動制御回路６１に送出される。
【００７０】
このため、駆動制御回路６１は、バッファ及びサンプルホールド回路等を備えている。即ち、図１１において、バッファ６０１，６０２は、それぞれ目標位置設定部５３から交互にセットされる設定データＳＤPH，ＳＤPVを記憶するメモリである。
【００７１】
ＤＡＣ６０３は、Ｄ／Ａ変換器であり、バッファ６０１にセットされた設定データＳＤPHを目標位置電圧ＶPHに変換する。また、ＤＡＣ６０３は、バッファ６０２にセットされた設定データＳＤPVを目標位置電圧ＶPVに変換する。
【００７２】
Ｓ／Ｈ６０４，６０５はサンプルホールド回路である。Ｓ／Ｈ６０４は、ＤＡＣ６０３で変換された目標位置電圧ＶPHをサンプリングし、次のサンプリングまでその値をホールドする。同様に、Ｓ／Ｈ６０５は、ＤＡＣ６０３で変換された目標位置電圧ＶPVをサンプリングし、次のサンプリングまでその値をホールドする。
【００７３】
加算回路６０６は、目標位置電圧ＶPHと横位置検出部７１からの出力電圧ＶH との差電圧を求めるものである。加算回路６０７は、目標位置電圧ＶPVと縦位置検出部７２からの出力電圧ＶV との差電圧を求めるものである。即ち、加算回路６０６，６０７では、それぞれ横位置検出部７１及び縦位置検出部７２において負電圧で出力電圧ＶH，ＶVを得るようにしているので、加算することにより差電圧が求められる。
【００７４】
Ｖ／Ｖ６０８は、入力電圧を、基準温度に対して予め設定された比率で、横方向の比例ゲインとしての電圧に増幅するものであり、Ｖ／Ｖ６０９は、入力電圧を、基準温度に対して予め設定された比率で、縦方向の比例ゲインとしての電圧に増幅するものである。ここで、横方向の比例ゲインとは、横振れ補正レンズ３１の目標位置と横位置検出部７１により検出された横振れ補正レンズ３１の位置との差に比例するゲインのことである。また、縦方向の比例ゲインとは、縦振れ補正レンズ３２の目標位置と縦位置検出部７２により検出された縦振れ補正レンズ３２の位置との差に比例するゲインのことである。
【００７５】
微分回路６１０は、基準温度に対して予め設定された時定数による微分を、加算回路６０６で求められた差電圧に施して、横方向の微分ゲインとしての電圧を得るものである。この得られた電圧は、横方向の速度差（目標の駆動速度と現在の駆動速度との差）に相当する。同様に、微分回路６１１は、基準温度に対して予め設定された時定数による微分を、加算回路６０７で求められた差電圧に施して、縦方向の微分ゲインとしての電圧を得るものである。この得られた電圧は、縦方向の速度差（目標の駆動速度と現在の駆動速度との差）に相当する。
【００７６】
このように、Ｖ／Ｖ６０８，６０９及び微分回路６１０，６１１によって、横及び縦方向の各々について、基準温度に対する基本ゲインとしての比例及び微分ゲインの設定が行われる。
【００７７】
バッファ６１２は、補正ゲイン設定部５４からの設定データＳＤGHを記憶するメモリである。この設定データＳＤGHとは、横方向の基本ゲイン（比例及び微分ゲイン）を補正するゲイン補正量（比例及び微分ゲイン補正量）である。バッファ６１３は、補正ゲイン設定部５４からの設定データＳＤGVを記憶するメモリである。この設定データＳＤGVとは、縦方向の基本ゲイン（比例及び微分ゲイン）を補正するゲイン補正量（比例及び微分ゲイン補正量）である。
【００７８】
ＨＰゲイン補正回路６１４は、Ｖ／Ｖ６０８で得られた横方向の比例ゲインに対して、バッファ６１２からの横方向の比例ゲイン補正量に相当するアナログ電圧を加えて、温度補正後における横方向の比例ゲインを出力するものである。また、ＶＰゲイン補正回路６１５は、Ｖ／Ｖ６０９で得られた縦方向の比例ゲインに対して、バッファ６１３からの縦方向の比例ゲイン補正量に相当するアナログ電圧を加えて、温度補正後における縦方向の比例ゲインを出力するものである。
【００７９】
ＨＤゲイン補正回路６１６は、微分回路６１０で得られた横方向の微分ゲインに対して、バッファ６１２からの横方向の微分ゲイン補正量に相当するアナログ電圧を加えて、温度補正後における横方向の微分ゲインを出力するものである。また、ＶＤゲイン補正回路６１７は、微分回路６１１で得られた縦方向の微分ゲインに対して、バッファ６１３からの縦方向の微分ゲイン補正量に相当するアナログ電圧を加えて、温度補正後における縦方向の微分ゲインを出力するものである。
【００８０】
このように、ＨＰゲイン補正回路６１４、ＶＰゲイン補正回路６１５、ＨＤゲイン補正回路６１６及びＶＤゲイン補正回路６１７によって、基本ゲインとしての比例及び微分ゲインが温度補正される。
【００８１】
ＬＰＦ６１８は、ＨＰゲイン補正回路６１４及びＨＤゲイン補正回路６１６の各出力電圧に含まれる高周波ノイズを除去するローパスフィルタである。ＬＰＦ６１９は、ＶＰゲイン補正回路６１５及びＶＤゲイン補正回路６１７の各出力電圧に含まれる高周波ノイズを除去するローパスフィルタである。
【００８２】
ドライバー６２０は、ＬＰＦ６１８、６１９の出力電圧に対応した駆動電力を、それぞれ横アクチュエータ６２及び縦アクチュエータ６３に供給するモータ駆動用のＩＣである。
【００８３】
図１に戻って、位置検出部７は、横位置検出部７１及び縦位置検出部７２により構成されている。横位置検出部７１及び縦位置検出部７２は、それぞれ横振れ補正レンズ３１及び縦振れ補正レンズ３２の現在位置を検出するものである。
【００８４】
図１３は、横位置検出部７１の構成図である。横位置検出部７１は、発光ダイオード（ＬＥＤ）７１１、スリット７１２及び位置検出素子（ＰＳＤ）７１３を有している。ＬＥＤ７１１は、横振れ補正レンズ３１のフレーム３１１におけるギヤ部の形成位置に取り付けられる（図２のＬＥＤ７２１を参照）。スリット７１２は、ＬＥＤ７１１の発光部から射出される光の指向性を鋭くするためのものである。ＰＳＤ７１３は、鏡胴２４の内壁側におけるＬＥＤ７１１に対向する位置に取り付けられる。ＰＳＤ７１３は、ＬＥＤ７１１からの射出光束の受光位置（重心位置）に応じた値の光電変換電流Ｉ１，Ｉ２を出力するものである。光電変換電流Ｉ１，Ｉ２の差が測定されることで、横振れ補正レンズ３１の位置が検出されるようになっている。縦位置検出部７２も、同様にして縦振れ補正レンズ３２の位置を検出するように構成されている。
【００８５】
図１４は、横位置検出部７１のブロック図である。横位置検出部７１は、ＬＥＤ７１１及びＰＳＤ７１３に加えて、Ｉ／Ｖ変換回路７１４，７１５、加算回路７１６、電流制御回路７１７、減算回路７１８及びＬＰＦ７１９等により構成されている。Ｉ／Ｖ変換回路７１４，７１５は、それぞれＰＳＤ７１３の出力電流Ｉ１，Ｉ２を電圧Ｖ１，Ｖ２に変換するものである。加算回路７１６は、Ｉ／Ｖ変換回路７１４，７１５の出力電圧Ｖ１，Ｖ２の加算電圧Ｖ３を求めるものである。電流制御回路７１７は、加算回路７１６の出力電圧Ｖ３、即ちＬＥＤ７１１の発光量を一定に保持するようにトランジスタＴｒ１のベース電流を増減するものである。減算回路７１８は、Ｉ／Ｖ変換回路７１４，７１５の出力電圧Ｖ１，Ｖ２の差電圧Ｖ４を求めるものである。ＬＰＦ７１９は、減算回路７１８の出力電圧Ｖ４に含まれる高周波成分をカットするものである。
【００８６】
次に、横位置検出部７１による検出動作について説明する。ＰＳＤ７１３から送出された電流Ｉ１，Ｉ２は、それぞれＩ／Ｖ変換回路７１４，７１５で電圧Ｖ１，Ｖ２に変換される。
【００８７】
次いで、電圧Ｖ１，Ｖ２は加算回路７１６で加算される。電流制御回路７１７は、この加算により得られた電圧Ｖ３が常に一定となる電流をトランジスタＴｒ１のベースに供給する。ＬＥＤ７１１は、このベース電流に応じた光量で発光する。
【００８８】
他方、電圧Ｖ１，Ｖ２は、減算回路７１８で減算される。この減算により得られた電圧Ｖ４は、横振れ補正レンズ３１の位置を示す値になっている。例えば、ＰＳＤ７１３の中心から右側に長さｘ離れた位置に受光位置がある場合には、長さｘ，電流Ｉ１，Ｉ２及びＰＳＤ７１３の受光エリア長Ｌは、（数７）の関係を満たす。
【００８９】
【数７】
0003675131.tif 000008
【００９０】
同様に、長さｘ，電圧Ｖ１，Ｖ２及び受光エリア長Ｌは（数８）の関係を満たす。
【００９１】
【数８】
0003675131.tif 000009
【００９２】
これより、Ｖ２＋Ｖ１の値、即ち電圧Ｖ３の値が常に一定となるように制御すれば（数９）の関係が得られ、Ｖ２−Ｖ１の値、即ち電圧Ｖ４の値が長さｘを示すものとなり、電圧Ｖ４をモニターすれば横振れ補正レンズ３１の位置を検出することが可能となる。
【００９３】
【数９】
0003675131.tif 000010
【００９４】
図１に示される露出制御部８は、測光部８１及び露出決定部８２により構成されている。測光部８１は、Ｃｄｓ（硫化カドミウム）等の光電変換素子で被写体からの光を受光して、被写体の明るさ（被写体輝度）を検出するものである。露出決定部８２は、被写体輝度に応じて、適正露出時間（ｔｓｓ）を決定するものである。シャッタ２３は、図略のシャッタ開閉部により開閉されるようになっており、開いた時点からの経過時間が適正露出時間以上になれば閉じられる。
【００９５】
レリーズ監視部９は、シャッタレリーズボタンが半押しされてスイッチＳ１がオンになったか否かの判定を行うとともに、シャッタレリーズボタンが全押しされてスイッチＳ２がオンになったか否かの判定を行うものである。スイッチＳ１がオンされると、撮影準備処理が実行され、スイッチＳ２がオンされると撮影処理が実行される。
【００９６】
測距モジュール１０は、赤外線を発光するＬＥＤと、被写体で反射して戻ってくるＬＥＤからの光を受光する一次元ＰＳＤ等により構成され、ＰＳＤの受光位置に応じて被写体距離を測距するものである。なお、測距モジュール１０は、このアクティブ方式のものに限らず、被写体からの光を受光する一対のラインセンサ等により構成される外光パッシブモジュールでもよい。外光パッシブモジュールでは、一対のラインセンサで被写体像が受光され、両ラインセンサ間での被写体像の位相差から被写体までの距離に相当する測距データが求められるようになっている。
【００９７】
フォーカス部１１は、測距モジュール１０からの測距情報に応じてデフォーカス量（合焦からのずれ量）を求め、このデフォーカス量に応じて撮影レンズ２１を合焦位置に駆動するものである。
【００９８】
振れ表示部１２は、例えばファインダー内においてＬＥＤセグメント等で、振れ量検出部５１からの振れ量の大きさに応じて、振れの状態を表示するものである。これにより、現在のカメラ振れ量が認識可能になる。なお、振れ量そのものを表示するようにしてもよい。
【００９９】
なお、本実施形態では、露出決定部８２、レリーズ監視部９及びフォーカス部１１（フォーカス制御部分）は、振れ補正以外のカメラ１全般の処理が記述されたプログラムを実行するマイクロプロセッサユニット（μＣ１）によりソフト的に構成される。これに対して、振れセンサ制御部４３、信号処理部４４、振れ量検出部５１、係数変換部５２、目標位置設定部５３、補正ゲイン設定部５４及び位置データ入力部５７は、振れ補正の処理が記述されたプログラムを実行する別のマイクロプロセッサユニット（μＣ２）によりソフト的に構成される。
【０１００】
次に、カメラ１の動作について説明する。
図１５は、μＣ１，μＣ２が実行する制御フローチャートである。図略のメインスイッチがオンされると、μＣ１は、μＣ２を起動させ、スイッチＳ１がオンされたか否かの判定を行う（Ｓ５）。この判定は、スイッチＳ１がオンされるまで繰り返される（Ｓ５でＮＯ）。
【０１０１】
スイッチＳ１がオンされると（Ｓ５でＹＥＳ）、「Ｓ１オン」を示すＳ１コマンドがμＣ２に送信される（Ｓ１０）。
【０１０２】
この後、被写体輝度が検出（測光）されるとともに、被写体までの距離が測定（測距）される（Ｓ１５）。この後、焦点距離データが求められる。これらの測光データ、測距データ及び焦点距離データは、μＣ２に送信される（Ｓ２０）。
【０１０３】
一方、μＣ２では、Ｓ１コマンドの受信の有無に応じて、スイッチＳ１がオンされたか否かの判定が行われる（＃５）。この判定は、スイッチＳ１がオンされるまで、即ちＳ１コマンドを受信するまで繰り返される（＃５でＮＯ）。
【０１０４】
スイッチＳ１がオンされたと判定されると（＃５でＹＥＳ）、測光データ、測距データ及び焦点距離データが受信される（＃１０）。次いで、振れ検出として被写体像が撮像され（＃１５）、撮像された画像を用いた振れ量演算によって振れ量が求められる（＃２０）。この振れ量に応じて、振れの状態を示す振れ表示が振れ表示部１２で行われる（＃２５）。
【０１０５】
μＣ１では、ステップＳ２０の送信後、スイッチＳ２がオンされたか否かの判定が行われる（Ｓ２５）。この判定は、スイッチＳ２がオンされるまで繰り返される（Ｓ２５でＮＯ）。スイッチＳ２がオンされると（Ｓ２５でＹＥＳ）、「Ｓ２オン」を示すＳ２コマンドがμＣ２に送信される（Ｓ３０）。次いで、ステップＳ１５の測距で得られた測距データに応じて、撮影レンズ２１が合焦位置に向けて駆動される（Ｓ３５）。
【０１０６】
一方、μＣ２では、ステップ＃２５の表示の後、Ｓ２コマンドの受信の有無に応じて、スイッチＳ２がオンされたか否かの判定が行われる（＃３０）。スイッチＳ２がオンされなかったと判定されると（＃３０でＮＯ）、ステップ＃１５に戻る。これにより、振れ検出、振れ量演算及び振れ表示が繰り返し実行される。
【０１０７】
スイッチＳ２がオンされたと判定されると（＃３０でＹＥＳ）、初期設定が行われる（＃３５）。例えば、ローコンフラグＦL 、カウント“ｉ”は“０”に、評価フラグＦB 、許可フラグＦP は“１”に初期設定される。次いで、補正レンズ部３の各レンズが中央位置に駆動され（＃４０）、シャッタ開信号が、μＣ１に認識されるように、ステップＳ３５のフォーカス駆動終了後に送信される（＃４５）。
【０１０８】
なお、シャッタ開信号がフォーカス駆動終了後に送信されるようにするため、例えば初期設定の最初に所定の待ち時間を設けるようにしてもよい。この場合、フォーカス駆動に要する最長時間を予め求めておき、この最長時間よりもステップ＃３５，４０の処理時間の方が長くなるように、上記所定の待ち時間を設定するようにすればよい。このようにすることで、補正レンズ部３の中央位置への駆動とフォーカス駆動の各起動時点をずらすことができ、起動時の過渡電流の発生時点を分散させることが可能になる。この結果、重畳した過渡電流によるマイコンの誤動作を防止する効果が得られる。
【０１０９】
μＣ１では、ステップＳ３５のフォーカス駆動終了後、シャッタ開信号の受信の有無に応じて、シャッタ２３を開くか否かの判定が行われる（Ｓ４０）。この判定は、シャッタ開信号が受信されるまで繰り返される（Ｓ４０でＮＯ）。
【０１１０】
シャッタ開信号が受信されると、即ちシャッタ２３を開く場合（Ｓ４０でＹＥＳ）には、シャッタ２３が開いて露光が開始され（Ｓ４５）、この開始時点からの経過時間がタイマ５８によって計測される。この経過時間が適正露出時間ｔｓｓ以上に達すると、シャッタ閉信号がμＣ２に送信される（Ｓ５０）。この後、ステップＳ５に戻る。
【０１１１】
一方、μＣ２では、ステップ＃４５の後、後述の「振れ補正シーケンス」のサブルーチンが実行され（＃５０）、シャッタ閉信号の受信の有無に応じて、シャッタ２３を閉じるか否かの判定が行われる（＃５５）。シャッタ閉信号が受信されなければ、シャッタ２３を閉じることなく（＃５５でＮＯ）。ステップ＃５０に戻る。これにより、経過時間が適正露出時間以上になるまで、「振れ補正シーケンス」の処理が繰り返し実行されるようになる。シャッタ閉信号が受信されると（＃５５でＹＥＳ）、シャッタ２３が閉じられる（＃６０）。この後、ステップ＃５に戻る。
【０１１２】
図１６は、「振れ補正シーケンス」のサブルーチンのフローチャートである。このサブルーチンがコールされると、振れ検出として被写体像が撮像され（＃１５０）、撮像された画像から横及び縦方向の振れ量を求める演算処理が実行される（＃１５５）。このとき、撮像画像のコントラスト値が所定値よりも低いときは、ローコンフラグＦL が“１”にセットされる。
【０１１３】
次いで、ローコンフラグＦL が“１”であるか否かの判定が行われる（＃１６０）。ローコンフラグＦL が“１”でないときは（＃１６０でＮＯ）、カウンタ“ｉ”が“１”だけインクリメントされ（＃１６５）、後述の「検出精度演算処理」のサブルーチンが実行される（＃１７０）。
【０１１４】
この後、振れ検出部４の振れ検出精度が高いか否かの評価（判定）が行われる（＃１７５）。振れ検出精度が高いとき（＃１７５でＹＥＳ）、評価フラグＦB が“０”に設定され（＃１８０）、そうでなければ（＃１７５でＮＯ）、ステップ＃１８０はスキップされる。
【０１１５】
次いで、カウンタ“ｉ”が予測開始回数Ｎｐ以上であるか否かの判定が行われる（＃１８５）。カウンタ“ｉ”が予測開始回数Ｎｐ以上であるときは（＃１８５でＹＥＳ）、後述の「パラメータセット」のサブルーチンが実行され（＃１９０）、後述の「予測演算」のサブルーチンが実行される（＃１９５）。
【０１１６】
この後、設定データＳＤPH，ＳＤPVが駆動制御回路６１にセットされる（＃２００）。この後、リターンする。これにより、横及び縦方向の駆動信号が生成され、補正レンズ部３の各レンズは、対応する駆動信号に応じて駆動する。なお、補正ゲイン設定部５４による設定データＳＤGH，ＳＤGVは、目標位置設定部５３による設定データＳＤPH，ＳＤPVが最初にセットされる際にセットされるようになっている。
【０１１７】
ステップ＃１８５で、カウンタ“ｉ”が予測開始回数Ｎｐ以上でなければ（ＮＯ）、メモリ５６に記憶された最新の横及び縦方向の振れ量が、それぞれ、横及び縦方向の予測振れ量として用いられる（＃２０５）。これら予測振れ量の各々が目標角度位置に変換されて温度補正が施された後、ステップ＃２００に進む。これにより、温度補正が施された横及び縦方向の目標角度位置は、それぞれ設定データＳＤPH，ＳＤPVとして駆動制御回路６１にセットされ、補正レンズ部３の各レンズは、メモリ５６に記憶された最新の横及び縦方向の振れ量に応じて、手振れによる被写体像振れを補正するように駆動する。
【０１１８】
一方、ステップ＃１６０で、ローコンフラグＦL が“１”であるときは（ＹＥＳ）、許可フラグＦP は“０”にセットされる（＃２１０）。次いで、カウンタ“ｉ”が予測開始回数Ｎｐ以上であるか否かの判定が行われる（＃２１５）。カウンタ“ｉ”が予測開始回数Ｎｐ以上であれば（＃２１５でＹＥＳ）、メモリ５６に記憶された最新の横及び縦方向の予測振れ量が、それぞれ、横及び縦方向の振れ量として用いられる（＃２２０）。この後、ステップ＃１９０に進む。これにより、補正レンズ部３の各レンズは、メモリ５６に記憶された最新の横及び縦方向の予測振れ量に応じて、手振れによる被写体像振れを補正するように駆動する。
【０１１９】
カウンタ“ｉ”が予測開始回数Ｎｐ以上でなければ（＃２１５でＮＯ）、前回の設定データＳＤPH，ＳＤPVが再度利用される（＃２２５）。この後、ステップ＃２００に進む。これにより、前回の設定データＳＤPH，ＳＤPVが駆動制御回路６１に再度セットされ、補正レンズ部３の各レンズは、現在位置で停止する。
【０１２０】
図１７は、「検出精度演算処理」のサブルーチンのフローチャートである。このサブルーチンがコールされると、カウンタ“ｉ”が“４”未満であるか否かの判定が行われる（＃２５０）。カウンタ“ｉ”が“４”未満であれば（＃２５０でＹＥＳ）、図１６におけるステップ＃１８５に進み、そうでなければ（＃２５０でＮＯ）、カウンタ“ｉ”が“２０”より大きいか否かの判定が行われる（＃２５５）。
【０１２１】
カウンタ“ｉ”が“２０”より大きければ（＃２５５でＹＥＳ）、ステップ＃１８５に進み、そうでなければ（＃２５５でＮＯ）、許可フラグＦP が“１”であるか否かの判定が行われる（＃２６０）。許可フラグＦP が“１”でなければ（＃２６０でＮＯ）、ステップ＃１８５に進む。
【０１２２】
許可フラグＦP が“１”であれば（＃２６０でＹＥＳ）、（数５）の演算により横方向の振れ加速度変化Ｃが求められ、この振れ加速度変化Ｃの自乗値が算出される（＃２７０）。次いで、この横方向の自乗値Ｃ2 が前回求められた横方向の総和に積算されることで、今回の横方向の総和が求められる（＃２７５）。
【０１２３】
同様に、（数５）の演算により縦方向の振れ加速度変化Ｃが求められ、この振れ加速度変化Ｃの自乗値が算出される（＃２８０）。次いで、この縦方向の自乗値Ｃ2 が前回求められた縦方向の総和に積算されることで、今回の縦方向の総和が求められる（＃２８５）。
【０１２４】
次いで、カウンタ“ｉ”が２０であるか否かの判定が行われる（＃２９０）。カウンタ“ｉ”が２０であれば（＃２９０でＹＥＳ）、（横方向の総和＋縦方向の総和）／２から振れ検出部４の振れ検出精度が算出される（＃２９５）。この後、リターンする。カウンタ“ｉ”が２０でなければ（＃２９０でＮＯ）、ステップ＃１８５に進む。
【０１２５】
図１８は、「パラメータセット」のサブルーチンのフローチャートである。このサブルーチンがコールされると、評価フラグＦB が“１”であるか否かの判定が行われる（＃３００）。評価フラグＦB が“１”であるときは（＃３００でＹＥＳ）、第２パラメータのＴｖ，Ｔαがデータ選択部５１２にセットされ、且つ第２パラメータのｋが予測振れ量算出部５１３にセットされる（＃３０５）。この後、リターンする。
【０１２６】
評価フラグＦB が“１”でないときは（＃３００でＮＯ）、許可フラグＦP が“１”であるか否かの判定が行われる（＃３１０）。許可フラグＦP が“１”であるときは（＃３１０でＹＥＳ）、第１パラメータのＴｖ，Ｔαがデータ選択部５１２にセットされ、第１パラメータのｋが予測振れ量算出部５１３にセットされる（＃３１５）。この後、リターンする。許可フラグＦP が“１”でないときは（＃３１０でＮＯ）、ステップ＃３０５に進む。
【０１２７】
図１９は、「予測演算」のサブルーチンのフローチャートである。このサブルーチンがコールされると、後述の「振れ量の選択抽出」のサブルーチンが実行され（＃３５０）、メモリ５６から予測振れ量を算出するために必要な複数の振れ量が選択抽出される。
【０１２８】
図２０は、「振れ量の選択抽出」のサブルーチンのフローチャートである。なお、各時点は、図５の振れ検出時点に対応しており、時点ｔ１が最新の検出時点に対応する。
【０１２９】
このサブルーチンがコールされると、カウンタ“ｎ”が“１”に設定され（＃４００）、“１”だけインクリメントされて（＃４０５）、時間間隔Ｔ1n（＝ｔ１−ｔｎ）が算出される（＃４１０）。次いで、時間間隔Ｔ1nがＴαより短いか否かの判定が行われる（＃４１５）。時間間隔Ｔ1nがＴαより短いときは（＃４１５でＹＥＳ）、ステップ＃４０５に戻る。
【０１３０】
一方、時間間隔Ｔ1nがＴαより短くないときは（＃４１５でＮＯ）、カウンタ“ｍ”はカウンタ“ｎ”の値が設定される（＃４２０）。これにより、カウンタ“ｎ”の値が保存され、図５に示される振れ量Ｅｃを特定するための時間ｔｃの検索が完了する。
【０１３１】
この後、カウンタ“ｍ”が“１”だけインクリメントされて（＃４２５）、時間間隔Ｔnm（＝ｔｎ−ｔｍ）が算出される（＃４３０）。次いで、時間間隔ＴnmがＴｖより短いか否かの判定が行われる（＃４３５）。時間間隔ＴnmがＴｖより短いときは（＃４３５でＹＥＳ）、ステップ＃４２５に戻る。
【０１３２】
一方、時間間隔ＴnmがＴｖより短くないときは（＃４３５でＮＯ）、カウンタ“ｈ”は“１”が設定される（＃４４０）。これにより、カウンタ“ｍ”の値が保存され、図５に示される振れ量Ｅｄを特定するための時間ｔｄの検索が完了する。
【０１３３】
この後、カウンタ“ｈ”が“１”だけインクリメントされて（＃４４５）、時間間隔Ｔ1h（＝ｔ１−ｔｈ）が算出される（＃４５０）。次いで、時間間隔Ｔ1hがＴｖより短いか否かの判定が行われる（＃４５５）。時間間隔Ｔ1hがＴｖより短いときは（＃４５５でＹＥＳ）、ステップ＃４４５に戻る。
【０１３４】
一方、時間間隔Ｔ1hがＴｖより短くないときは（＃４５５でＮＯ）、次のデータの抽出に移行する（＃４６０）。
【０１３５】
ステップ＃４６０では、ステップ＃４１５の判定がＮＯとなったときのカウンタ“ｎ”の値で特定される時点ｔｎにおける振れ量が、図５に示される時点ｔｃにおける振れ量Ｅｃとして抽出される。また、ステップ＃４３５の判定がＮＯとなったときのカウンタ“ｍ”の値で特定される時点ｔｍにおける振れ量が、図５に示される時点ｔｄにおける振れ量Ｅｄとして抽出される。また、ステップ＃４５５の判定がＮＯとなったときのカウンタ“ｈ”の値で特定される時点ｔｈにおける振れ量が、図５に示される時点ｔｂにおける振れ量Ｅｂとして抽出される。なお、最新時点ｔ１（＝ｔａ）における振れ量Ｅａは常に抽出される。この後、リターンする。
【０１３６】
図１９におけるステップ＃３５０の後、横及び縦方向の各々について、振れ速度Ｖ１及び振れ加速度αが算出される（＃３５５）。次いで、タイマ５８の計測により現時点ｔｒが取り込まれ（＃３６０）、（ｔｒ−ｔａ＋ｔｄ）の演算で時間ＴP が算出された後、横及び縦方向の各々について、（数４）の演算で予測振れ量ＥP が算出される（＃３６５）。次いで、横及び縦方向の予測振れ量は、横及び縦方向の目標角度位置に変換され、温度補正が施される。この後、リターンする。これにより、温度補正が施された横及び縦方向の目標角度位置は、設定データＳＤPH，ＳＤPVとして駆動制御回路６１にセットされ、補正レンズ部３の各レンズは、手振れによる被写体像振れを補正するように駆動する。
【０１３７】
なお、本実施形態では、振れ検出精度は、パラメータの切り換えに使用されるようになっているが、これに限らず、振れ検出結果使用の可否判定に使用されるようにしてもよい。即ち、振れ検出精度が高ければ振れ検出結果が使用されるようにし、そうでなければ振れ検出結果の使用が禁止されるようにしてもよい。或いは、振れ検出結果が高ければ予測振れ量で振れ補正を行うようにし、そうでなければ振れ量で振れ補正を行うようにしてもよい。
【０１３８】
また、本実施形態では、振れ検出精度は、振れ加速度変化から求められるようにしているが、これに限らず、振れ速度変化（＝振れ加速度）から求められるようにしてもよい。この場合、振れ速度の算出には少なくとも２つの振れ量が必要になるので、振れ速度変化を求めるには少なくとも３つの振れ量が必要になる。また、積分周期を一定とみなせば、振れ加速度変化と同様に、振れ速度変化を求める演算式の簡単化が可能になる。
【０１３９】
また、本実施形態では、第１及び第２パラメータが使用されるようにしているが、このような２種類のパラメータに限らず、３種又はそれ以上のパラメータが使用されるようにしてもよい。このようにすれば、精度に則した予測振れ量を得ることが可能となる。
【０１４０】
更に、本実施形態では、振れ加速度変化から振れ検出精度を求め、この振れ検出精度を所定の評価基準値と比較することで、振れ検出精度の評価を得るようにしているが、これに限らず、振れセンサ４２で取り込まれた被写体画像のコントラストに応じて振れ検出の精度を判定するようにしてもよい。
【０１４１】
振れセンサ４２のようにＣＣＤを用いた振れ検出システムでは、振れ検出精度は、ＣＣＤで取り込まれた被写体画像のコントラストに依存する。即ち、被写体のコントラストが高いと振れ検出精度が高くなり、被写体のコントラストが低いと振れ検出精度が低くなる。このため、振れ量を使用しなくても、被写体のコントラストを使用すれば、振れ検出精度の評価が可能になる。
【０１４２】
そこで、例えば、振れ検出部４の検出結果からコントラスト値を算出し、算出された複数のコントラスト値を平均化して、この平均化されたコントラスト値を所定値と比較すれば、振れ検出精度の判定が可能になる。このとき、平均化されたコントラスト値が所定値よりも大きければ、振れ検出精度は高いと評価され、所定値よりも小さければ振れ検出精度は低いと評価される。
【０１４３】
【発明の効果】
以上のことから明らかなように、請求項１記載の発明によれば、振れ検出精度に応じた適切な振れ補正の実行やその精度が悪いときの振れ検出結果の使用禁止等が可能になる。さらに、振れ検出精度に適した予測振れ量を算出するための複数の振れ量の選択が可能になる。これにより、振れ検出精度にマッチした振れ補正の実行が可能となる。
【０１４５】
請求項２記載の発明によれば、振れ検出精度に応じた適切な振れ補正の実行やその精度が悪いときの振れ検出結果の使用禁止等が可能になる。さらに、振れ検出精度に応じて振れ加速度の項の値（予測振れ量の利用度）を増減させることが可能になる。これにより、振れ検出精度にマッチした振れ補正の実行が可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態のブロック図である。
【図２】鏡胴内に収納された縦振れ補正レンズ等の斜視図である。
【図３】振れ検出部がカバーする振れ検出エリアの一例を示す図である。
【図４】振れ量検出部の構成を説明するためのブロック図である。
【図５】データ選択部による振れ量データ選択抽出の説明図である。
【図６】（ａ）は振れセンサ取付不具合等によるズレを含んだ状態のバラツキの様子を示す図、（ｂ）はそのズレ要因を含まないバラツキの様子を示す図である。
【図７】（ａ）はバラツキが大きい場合の振れ検出結果を示す図、（ｂ）はバラツキが小さい場合の振れ検出結果を示す図である。
【図８】（ａ）は第１パラメータのＴｖを用いて選択抽出された振れ量の誤差の影響を示す図、（ｂ）は第２パラメータのＴｖを用いて選択抽出された振れ量の誤差の影響を示す図である。
【図９】Ｇ，第２パラメータによる振れ補正精度のシミュレーションのグラフである。
【図１０】（ａ）は図９の評価基準値を具体的数値で示した図、（ｂ）は振れ速度変化から得られる振れ補正精度のシミュレーションのグラフである。
【図１１】サーボ回路の一部を構成する駆動制御回路の一例を示すブロック図である。
【図１２】駆動特性の変化の一要因となるモータトルクの温度特性図である。
【図１３】横位置検出部の構成図である。
【図１４】横位置検出部のブロック図である。
【図１５】マイクロコンピュータが実行する制御フローチャートである。
【図１６】「振れ補正シーケンス」のサブルーチンのフローチャートである。
【図１７】「検出精度演算処理」のサブルーチンのフローチャートである。
【図１８】「パラメータセット」のサブルーチンのフローチャートである。
【図１９】「予測演算」のサブルーチンのフローチャートである。
【図２０】「振れ量の選択抽出」のサブルーチンのフローチャートである。
【符号の説明】
１  カメラ
２  撮影部
３  補正レンズ部
４  振れ検出部（振れ検出手段）
５  振れ補正量設定部
６  駆動部
７  位置検出部
８  露出制御部
９  レリーズ監視部
１０  測距モジュール
１１  フォーカス部
１２  振れ表示部
２１  撮影レンズ
２２  フィルム
２３  シャッタ
３１  横振れ補正レンズ
３２  縦振れ補正レンズ
４１  検出用レンズ
４２  振れセンサ
４３  振れセンサ制御部
４４  信号処理部
５１  振れ量検出部（振れ量検出手段）
５２  係数変換部
５３  目標位置設定部
５４  補正ゲイン設定部
５５  温度センサ
５６  メモリ
５７  位置データ入力部
５８  タイマ
６１  駆動制御回路
６２  横アクチュエータ
６３  縦アクチュエータ
７１  横位置検出部
７２  縦位置検出部
５１１  振れ量算出部（振れ量検出手段）
５１２  データ選択部
５１３  予測振れ量算出部（予測振れ量演算手段）
５１４  評価設定部
５１４ａ  検出精度演算部
５１４ｂ  検出精度評価部（評価手段）
５１４ｃ  パラメータ設定部（パラメータ設定手段）
【図１】
0003675131.tif 000011
【図２】
0003675131.tif 000012
【図３】
0003675131.tif 000013
【図４】
0003675131.tif 000014
【図５】
0003675131.tif 000015
【図６】
0003675131.tif 000016
【図７】
0003675131.tif 000017
【図８】
0003675131.tif 000018
【図９】
0003675131.tif 000019
【図１０】
0003675131.tif 000020
【図１１】
0003675131.tif 000021
【図１２】
0003675131.tif 000022
【図１３】
0003675131.tif 000023
【図１４】
0003675131.tif 000024
【図１５】
0003675131.tif 000025
【図１６】
0003675131.tif 000026
【図１７】
0003675131.tif 000027
【図１８】
0003675131.tif 000028
【図１９】
0003675131.tif 000029
【図２０】
0003675131.tif 000030