以下、本実施形態について、図を用いて説明する。撮像装置1は、デジタルカメラであるとして説明する。なお、方向を説明するために、撮像装置1において光軸LXと直交する水平方向を第1方向x、光軸LXと直交する鉛直方向を第2方向y、光軸LXと平行な水平方向を第3方向zとして説明する。
撮像装置1の撮像に関する部分は、主電源のオンオフ切り替えを行うPonボタン11、レリーズボタン13、像ブレ補正ボタン14、LCDモニタ17、ミラー絞りシャッタ部18、DSP19、CPU21、AE部23、AF部24、像ブレ補正部30の撮像部39a、及び撮影レンズ67から構成される(図1〜3参照)。Ponボタン11の押下に対応してPonスイッチ11aのオンオフ状態が切り替えられ、これにより撮像装置1の主電源のオンオフ状態が切り替えられる。被写体像は、撮像部39aによって撮影レンズ67を介した光学像として撮像され、LCDモニタ17によって撮像された画像が表示される。また被写体像は光学ファインダ(不図示)によって光学的に観察することも可能である。
レリーズボタン13は、半押しすることにより測光スイッチ12aがオン状態にされ測光や測距及び合焦動作が行われ、全押しすることによりレリーズスイッチ13aがオン状態にされ撮像部39a(撮像手段)による撮像(撮像動作)が行われ、撮影像がメモリされる。
ミラー絞りシャッタ部18は、CPU21のポートP7と接続され、レリーズスイッチ13aのオン状態に連動して、ミラーのUP/DOWN、絞りの開閉(閉開)、及びシャッタの開閉動作を行う。
DSP19は、CPU21のポートP9、及び撮像部39aと接続され、CPU21の指示に基づいて、撮像部39aにおける撮像により得られた画像信号について、画像処理などの演算処理を行う。
CPU21は、撮像に関する各部の制御、後述する像ブレ補正に関する各部の制御を行う制御手段である。また、CPU21は、後述する補正モードか否かを判断する像ブレ補正パラメータISの値、レリーズ状態管理パラメータRP、ミラー状態管理パラメータMP、ミラーダウン時間パラメータMRDN、及び第1、第2現在位置パラメータPPx、PPyの値をメモリする。
レリーズ状態管理パラメータRPは、レリーズシーケンス動作に連動して値が切り替えられ、レリーズシーケンス動作中に値が1に設定され(図4のステップS22〜S32参照)、レリーズシーケンス動作終了の時に値が0に設定される(図4のステップS13、S32参照)。
ミラー状態管理パラメータMPは、撮像装置1のミラー(不図示)が露光時間終了後に、ミラーダウン動作が行われている間、値が1に設定され(図4のステップS26参照)、それ以外の間は、値が0に設定される(図4のステップS28参照)。
撮像装置1におけるミラーアップ動作が完了したか否かの検知は、メカスイッチ(不図示)のオンオフ状態を検知することにより行われる。ミラーダウン動作が完了したか否かの検知は、シャッタチャージが完了したか否かの状態を検知することにより行われる。
ミラーダウン時間パラメータMRDNは、ミラーダウン動作が行われている時間をカウントするパラメータである(図5のステップS59、S64参照)。
CPU21は、露光時間終了後に像ブレ補正処理のための可動部30aの駆動を終了する(オフ状態にする)。像ブレ補正処理のための駆動がオフ状態にされ、他の駆動が行われなければ、可動部30aは重力に従って、移動範囲端に移動せしめられる(落下移動)。本実施形態では、像ブレ補正処理のための駆動がオフ状態にされた後も、CPU21は、第1時間(30ms)の間は可動部30aを駆動せず、第1時間の可動部30a移動方向に基づいて、その後可動部30aを第2時間(90ms)駆動する。具体的には、CPU21は、ミラー状態管理パラメータMPの値が1に設定された後、第1時間(30ms)経過後に、可動部30aが第1時間経過前と比較した移動方向から、第1特定位置を決定し、第2時間(90ms)をかけて、可動部30aを第1特定位置に移動させる。
第1特定位置への駆動において、移動終了前(終点:第1特定位置近傍にある時)は、低速で駆動する。すなわち、移動終了前に減速し、移動終了時に停止する。具体的には、CPU21は、像ブレ補正処理のための駆動がオフ状態にされた後の第1時間は可動部30aの移動制御は行わない。CPU21は、第1時間経過後の第2時間開始時(MRDN=30、経過時間:30ms)から、移動終了時(第2時間終了時、MRDN=120、経過時間:120ms)の間の、第2時間開始時からの可動部30aの移動距離と、経過時間との関係が正弦波形を示す(図7参照)、すなわち可動部30aの移動速度と、経過時間との関係が余弦波形を示す(図8参照)ように、可動部30aの移動制御を行う。
第1、第2最終位置パラメータRLSPx、RLSPyは、第1特定位置の第1方向x成分、第2方向y成分が設定される。第1特定位置は、像ブレ補正処理のための駆動がオフ状態にされた後の第1時間の間に、可動部30aが重力に従って移動した方向に基づいて算出された、第2時間経過後に可動部30aを移動させる位置である。
撮像装置1の撮像部39aの撮像面が水平方向を向いている場合など、可動部30aが第1時間の間に重力に従って基準移動量za以上に移動している場合は、可動部30aの移動範囲端のいずれかが第1特定位置に設定される(図9のステップS87、S88、S90、S91、S94、S95、S97、S98参照)。撮像装置1の撮像部39aの撮像面が上又は下を向いている場合など、可動部30aが第1時間の間に重力に従って基準移動量za以上に移動していない場合は、第1時間経過後の位置が第1特定位置に設定される(図9のステップS99参照)。
CPU21は、第1特定位置の算出のために使用される第1、第2移動量パラメータXX、YYをメモリする。第1移動量パラメータXXは、第1時間経過後の可動部30aの位置Pnの第1方向x成分pdxnと、第1現在位置パラメータPPxとの差が設定され、第2移動量パラメータYYは、第1時間経過後の可動部30aの位置Pnの第2方向y成分pdynと、第2現在位置パラメータPPyとの差が設定される(図9のステップS81参照)。
第1、第2現在位置パラメータPPx、PPyは、像ブレ補正処理のための駆動がオフ状態にされた後の第1時間は可動部30aの第1方向x、第2方向yの位置が設定される(図5のステップS57参照)。すなわち、可動部30aを第2時間(90ms)だけかけて第1特定位置に移動させる際の、移動開始時点の第1方向x、第2方向yの位置が設定される。
第1特定位置の算出するために使用される基準移動量za、第1、第2水平方向移動端位置X+LMT、X−LMT、及び第1、第2鉛直方向移動端位置Y+LMT、Y−LMTは、CPU21などにメモリされる。
また、CPU21は、後述する第1、第2デジタル角速度信号Vxn、Vyn、第1、第2デジタル角速度VVxn、VVyn、第1、第2デジタル角度Bxn、Byn、位置Snの第1方向x成分Sxn、第2方向y成分Syn、第1駆動力Dxn、第2駆動力Dyn、A/D変換後の位置Pnの第1方向x成分pdxn、第2方向y成分pdyn、第1、第2減算値exn、eyn、第1、第2比例係数Kx、Ky、像ブレ補正処理のサンプリング周期θ、第1、第2積分係数Tix、Tiy、及び第1、第2微分係数Tdx、Tdyをメモリする。
AE部23は、被写体の測光動作を実行して露光値を演算し、この露光値に基づき撮影に必要となる絞り値及び露光時間を演算する。AF部24は、測距を行い、この測距結果に基づき撮影レンズ67を光軸方向に変位させ焦点調節を行う。
撮像装置1の像ブレ補正装置すなわち像ブレ補正に関する部分は、像ブレ補正ボタン14、LCDモニタ17、CPU21、角速度検出部25、駆動用ドライバ回路29、像ブレ補正部30、磁界変化検出素子の信号処理回路としてのホール素子信号処理回路45、及び撮影レンズ67から構成される。
像ブレ補正ボタン14は、押下することにより像ブレ補正スイッチ14aがオン状態にされ、測光など他の動作と独立して、一定時間ごとに、角速度検出部25、及び像ブレ補正部30が駆動されて像ブレ補正処理が行われる。像ブレ補正スイッチ14aがオン状態にされた補正モードの場合に像ブレ補正パラメータISが1に設定され、像ブレ補正スイッチ14aがオフ状態にされた補正モードでない場合に像ブレ補正パラメータISが0に設定する。本実施形態ではこの一定時間を1msであるとして説明する。
これらのスイッチの入力信号に対応する各種の出力はCPU21によって制御される。測光スイッチ12a、レリーズスイッチ13a、像ブレ補正スイッチ14aのオン/オフ情報は、それぞれ1ビットのデジタル信号としてCPU21のP12、P13、P14に入力される。AE部23、AF部24、LCDモニタ17は、それぞれポートP4、P5、P6で信号の入出力が行われる。
次に、角速度検出部25、駆動用ドライバ回路29、像ブレ補正部30、ホール素子信号処理回路45についての詳細、及びCPU21との入出力関係について説明する。
角速度検出部25は、第1、第2角速度センサ26a、26b、第1、第2ハイパスフィルタ回路27a、27b、及び第1、第2アンプ28a、28bを有する。第1、第2角速度センサ26a、26bは、撮像装置1の第1方向x(第2方向yに平行な軸周りのヨーイング)及び第2方向y(第1方向xに平行な軸周りのピッチング)の角速度を検出する。第1角速度センサ26aは、第1方向xの角速度(ヨーイング角速度)を、第2角速度センサ26bは第2方向yの角速度(ピッチング角速度)を検出するジャイロセンサである。第1、第2ハイパスフィルタ回路27a、27bは、第1、第2角速度センサ26a、26bからの出力のヌル電圧やパンニングである低周波成分をカットする(アナログハイパスフィルタ処理)。第1、第2アンプ28a、28bは、低周波成分がカットされた角速度に関する信号を増幅し、第1、第2角速度vx、vyとしてアナログ信号をCPU21のA/D0、A/D1に入力する。
低周波成分のカットは、第1、第2ハイパスフィルタ回路27a、27bにおけるアナログハイパスフィルタ処理、及びCPU21におけるデジタルハイパスフィルタ処理が行われる。後段のデジタルハイパスフィルタ処理においては、アナログハイパスフィルタ処理におけるカットオフ周波数以上のカットオフ周波数が設定される。後段のデジタルハイパスフィルタ処理では、時定数(第1、第2ハイパスフィルタ時定数hx、hy)の値の変更が、容易に行えるメリットを有する。
CPU21、及び角速度検出部25の各部への電力供給は、Ponスイッチ11aがオン状態にされた(主電源がオン状態にされた)後に開始される。角速度検出部25におけるブレ量検出演算は、Ponスイッチ11aがオン状態にされた(主電源がオン状態にされた)後に開始される。
CPU21は、A/D0、A/D1に入力された第1、第2角速度vx、vyをA/D変換し(第1、第2デジタル角速度信号Vxn、Vyn)、ヌル電圧やパンニングである低周波成分をカットし(デジタルデジタルハイパスフィルタ処理、第1、第2デジタル角速度VVxn、VVyn)、及び積分演算を行い、像ブレ量(像ブレ角度)を求める(第1、第2デジタル角度Bxn、Byn)。従って、角速度検出部25とCPU21は、像ブレ量演算機能を有する。
nは、0以上の整数であり、タイマ割り込み処理(t=0、図4のステップS12参照)から、最新のタイマ割り込み処理を行った時点(t=n)までの時間(ms)を示す。
第1方向xに関するデジタルハイパスフィルタ処理は、第1デジタル角速度信号Vxnを、一定時間(1ms)前までのタイマ割り込み処理で求められた第1デジタル角速度VVx0〜VVxn―1の和ΣVVxn−1を第1ハイパスフィルタ時定数hxで割ったもので減算して、第1デジタル角速度VVxnを求めることにより行われる(VVxn=Vxn―(ΣVVxn−1)/hx、図6の(1)参照)。第2方向yに関するデジタルハイパスフィルタ処理は、第2デジタル角速度信号Vynを、一定時間(1ms)前までのタイマ割り込み処理で求められた第2デジタル角速度VVy0〜VVyn―1の和ΣVVyn−1を第2ハイパスフィルタ時定数hyで割ったもので減算して、第2デジタル角速度VVynを求めることにより行われる(VVyn=Vyn―(ΣVVyn−1)/hy)。
本実施形態では、タイマ割り込み処理における角速度検出処理は、角速度検出部25における処理、及び角速度検出部25からCPU21への第1、第2角速度vx、vyの入力処理を言うものとする。
第1方向xに関する積分演算処理は、タイマ割り込み処理開始(t=0、図4のステップS12参照)から、最新の時点(t=n)の第1デジタル角速度VVx0〜VVxnの和を求めることにより行われる(Bxn=ΣVVxn、図6の(3)参照)。第2方向yに関する積分演算処理は、タイマ割り込み処理の開始後から最新の第2デジタル角速度VVy0〜VVynの和を求めることにより行われる(Byn=ΣVVyn)。
CPU21は、演算により求められた像ブレ量(像ブレ角度:第1、第2デジタル角度Bxn、Byn)に応じた撮像部39aの移動すべき位置Snを、焦点距離などを考慮した位置変換係数zzに基づいて、第1方向x、第2方向yごとに演算し設定する。位置Snの第1方向x成分をSxn、第2方向y成分をSynとする。撮像部39aを含む可動部30aの移動は、後述する電磁力によって行われる。可動部30aをこの位置Snまで移動させるために駆動用ドライバ回路29を介して第1駆動用コイル31aを駆動する駆動力Dnの第1方向x成分を第1駆動力Dxn(D/A変換後は第1PWMデューティdx)、第2駆動用コイル32aを駆動する第2方向y成分を第2駆動力Dyn(D/A変換後は第2PWMデューティdy)とする。
但し、像ブレ補正処理のための駆動がオフ状態にされた後の第1時間経過後の第2時間の間の移動すべき位置Sn(Sxn、Syn)は、像ブレ量と関連しない演算で求められた値(第2時間かけて第1特定位置に移動させるための値)が設定される(図5のステップS63参照)。
第1方向xに関する位置設定演算処理は、最新の第1デジタル角度Bxnに第1位置変換係数zxを乗算することにより求められる(位置Snの第1方向x成分Sxn=zx×Bxn、図6の(3)参照)。第2方向yに関する位置設定演算処理は、最新の第2デジタル角度Bynに第2位置変換係数zyを乗算することにより求められる(位置Snの第2方向y成分Syn=zy×Byn)。
像ブレ補正部30は、露光時間内であって、像ブレ補正処理を行う場合(IS=1)に、CPU21が演算した移動すべき位置Snに撮像部39aを移動させることによって、ブレによって生じた被写体像の結像面における光軸LXのずれを無くし、被写体像と結像面位置を一定に保ち、像ブレを補正する像ブレ補正処理を行う装置であり、撮像部39aを含みxy平面上に移動可能領域をもつ可動部30aと、固定部30bとを備える。露光時間内であって、像ブレ補正処理を行わない場合(IS=0)は、可動部30aは、第2特定位置(本実施形態では移動範囲中心)に固定される。露光時間内と、露光時間終了後の第2時間以外は、可動部30aの駆動は行われない。
像ブレ補正部30は、駆動オフ状態で可動部30aを固定する機構を有しない。
像ブレ補正部30の可動部30aの駆動(第2特定位置への固定を含む)は、CPU21のPWM0から第1PWMデューティdx、PWM1から第2PWMデューティdyの出力を受けた駆動用ドライバ回路29を介して、駆動手段に含まれる駆動用コイル部、駆動用磁石部による電磁力によって行われる(図6の(5)参照)。可動部30aの移動前または移動後の位置Pnはホール素子部44a、ホール素子信号処理回路45によって検出される。検出された位置Pnの情報は、第1検出位置信号pxが第1方向x成分として、第2検出位置信号pyが第2方向y成分としてそれぞれCPU21のA/D2、A/D3に入力される(図6の(2)参照)。第1、第2検出位置信号px、pyはA/D2、A/D3を介してA/D変換される。第1、第2検出位置信号px、pyに対してA/D変換後の位置Pnの第1方向x成分、第2方向y成分をそれぞれpdxn、pdynとする。検出された位置Pn(pdxn、pdyn)のデータと移動すべき位置Sn(Sxn、Syn)のデータによりPID制御(第1、第2駆動力Dxn、Dynの算出)が行われる。
第1駆動力Dxnは、位置Snの第1方向x成分Sxnを、A/D変換後の位置Pnの第1方向x成分pdxnで減算した第1減算値exn、第1比例係数Kx、サンプリング周期θ、第1積分係数Tix、第1微分係数Tdxに基づいて算出される(Dxn=Kx×{exn+θ÷Tix×Σexn+Tdx÷θ×(exn―exn−1)}、図6の(4)参照)。
第2駆動力Dynは、位置Snの第2方向y成分Synを、A/D変換後の位置Pnの第2方向y成分pdynで減算した第2減算値eyn、第2比例係数Ky、サンプリング周期θ、第2積分係数Tiy、第2微分係数Tdyに基づいて算出される(Dyn=Ky×{eyn+θ÷Tiy×Σeyn+Tdy÷θ×(eyn―eyn−1)})。
サンプリング周期θの値は、一定時間:1msに設定される。
像ブレ補正処理すなわちPID制御による像ブレ補正に対応した移動すべき位置Sn(Sxn、Syn)への可動部30aの駆動は、像ブレ補正スイッチ14aがオン状態にされた補正モード(IS=1)の時に行われる。像ブレ補正パラメータISが0の時には、可動部30aは、像ブレ補正処理に対応しない第2特定位置へのPID制御が行われ、移動中心位置に移動せしめられる。
可動部30aは、駆動用コイル部として2つの第1、第2駆動用コイル31a、32a、撮像素子を有する撮像部39a、及び磁界変化検出素子部としてのホール素子部44aを有する。本実施形態では、撮像素子がCCDであるとして説明するが、CMOSなど他の撮像素子であってもよい。
固定部30bは、駆動用磁石部として2つの第1、第2位置検出及び駆動用磁石411b、412b、第1、第2位置検出及び駆動用ヨーク431b、432bを有する。
固定部30bは、可動部30aを第1方向x、第2方向yに移動自在に支持する。
撮像素子の撮像範囲を最大限活用して像ブレ補正を行うために、撮影レンズ67の光軸LXが撮像素子の中心近傍を通る位置関係にある時に、第1方向x、第2方向yともに可動部30aが移動範囲の中心に位置する(移動中心位置にある)ように可動部30aと固定部30bの位置関係を設定する。撮像素子の中心とは、撮像素子の撮像面を形成する矩形が有する2つの対角線の交点をいう。
可動部30aには、シート状でかつ渦巻き状のコイルパターンが形成された第1、第2駆動用コイル31a、32a、及びホール素子部44aとが取り付けられている。第1駆動用コイル31aのコイルパターンは、第1駆動用コイル31aの電流の方向と第1位置検出及び駆動用磁石411bの磁界の向きから生じる電磁力により第1駆動用コイル31aを含む可動部30aを第1方向xに移動させるべく、第2方向yと平行な線分を有する。第2駆動用コイル32aのコイルパターンは、第2駆動用コイル32aの電流の方向と第2位置検出及び駆動用磁石412bの磁界の向きから生じる電磁力により第2駆動用コイル32aを含む可動部30aを第2方向yに移動させるべく、第1方向xと平行な線分を有する。ホール素子部44aについては後述する。
第1、第2駆動用コイル31a、32aは、フレキシブル基板(不図示)を介してこれらを駆動する駆動用ドライバ回路29と接続される。駆動用ドライバ回路29は、CPU21のPWM0、PWM1から第1、第2PWMデューティdx、dyのそれぞれが入力される。駆動用ドライバ回路29は、入力された第1、第2PWMデューティdx、dyの値に応じて第1、第2駆動用コイル31a、32aに電力を供給し、可動部30aを駆動する。
第1位置検出及び駆動用磁石411bは、第1駆動用コイル31a及び水平方向ホール素子hh10と対向するように固定部30bの可動部30a側に取り付けられる。第2位置検出及び駆動用磁石412bは、第2駆動用コイル32a及び鉛直方向ホール素子hv10と対向するように固定部30bの可動部30a側に取り付けられる。
第1位置検出及び駆動用磁石411bは、第3方向zにおいて固定部30b上で且つ可動部30a側に取り付けられた第1位置検出及び駆動用ヨーク431bの上であって、第1方向xにN極とS極が並べて取り付けられる。
第2位置検出及び駆動用磁石412bは、第3方向zにおいて固定部30b上で且つ可動部30a側に取り付けられた第2位置検出及び駆動用ヨーク432bの上であって、第2方向yにN極とS極が並べて取り付けられる。
第1位置検出及び駆動用ヨーク431bは、軟磁性体材料で構成され、固定部30b上に取り付けられる。第1位置検出及び駆動用ヨーク431bは、第1位置検出及び駆動用磁石411bの磁界が周囲に漏れないようにする役目、及び第1位置検出及び駆動用磁石411bと第1駆動用コイル31a、及び第1位置検出及び駆動用磁石411bと水平方向ホール素子hh10との間の磁束密度を高める役目を果たす。
第2位置検出及び駆動用ヨーク432bは、軟磁性体材料で構成され、固定部30b上に取り付けられる。第2位置検出及び駆動用ヨーク432bは、第2位置検出及び駆動用磁石412bの磁界が周囲に漏れないようにする役目、及び第2位置検出及び駆動用磁石412bと第2駆動用コイル32a、及び第2位置検出及び駆動用磁石412bと鉛直方向ホール素子hv10との間の磁束密度を高める役目を果たす。
ホール素子部44aは、ホール効果を利用した磁電変換素子であるホール素子を2つ有し、可動部30aの第1方向x、第2方向yの現在位置Pn(第1検出位置信号px、第2検出位置信号py)を検出する1軸ホール素子である。2つのホール素子のうち第1方向xの位置検出用のホール素子を水平方向ホール素子hh10、第2方向yの位置検出用のホール素子を鉛直方向ホール素子hv10とする。
水平方向ホール素子hh10は、第3方向zから見て可動部30a上であって、固定部30bの第1位置検出及び駆動用磁石411bと対向する位置に取り付けられる。鉛直方向ホール素子hv10は、第3方向zから見て可動部30a上であって、固定部30bの第2位置検出及び駆動用磁石412bと対向する位置に取り付けられる。
直線的な変化量を使って精度の高い位置検出が行える範囲を最大限活用して位置検出を行うため、水平方向ホール素子hh10の第1方向xの位置は、撮像素子の中心近傍が光軸LXを通る位置関係にある時に、第1位置検出及び駆動用磁石411bのN極、S極と等距離近傍にあるのが望ましい。同様に、鉛直方向ホール素子hv10の第2方向yの位置は、撮像素子の中心近傍が光軸LXを通る位置関係にある時に、第2位置検出及び駆動用磁石412bのN極、S極と等距離近傍にあるのが望ましい。
ホール素子信号処理回路45は、水平方向ホール素子hh10の出力信号から水平方向ホール素子hh10における出力端子間の水平方向電位差x10を検出し、これから第1方向xの位置を特定する第1検出位置信号pxをCPU21のA/D2に出力する第1ホール素子信号処理回路450と、鉛直方向ホール素子hv10の出力信号から、鉛直方向ホール素子hv10における出力端子間の鉛直方向電位差y10を検出し、これから第2方向yの位置を特定する第2検出位置信号pyをCPU21のA/D3に出力する第2ホール素子信号処理回路460とを有する。
次に、撮像装置1のメイン動作について図4のフローチャートで説明する。
撮像装置1の電源がオンにされると、ステップS11で、角速度検出部25に電力が供給され、電源オン状態にされる。ステップS12で、一定時間(1ms)間隔でタイマ割り込み処理が開始される。ステップS13で、レリーズ状態管理パラメータRPの値が0に設定される。タイマの割り込み処理の詳細については、図5のフローチャートを使って後述する。
ステップS14で、測光スイッチ12aがオン状態にされているか否かが判断される。オン状態にされていない場合は、ステップS14が繰り返され、オン状態にされている場合は、ステップS15に進められる。
ステップS15で、像ブレ補正スイッチ14aがオン状態にされたか否かが判断される。像ブレ補正スイッチ14aがオン状態にされていない場合は、ステップS16で、像ブレ補正パラメータISの値が0に設定される。像ブレ補正スイッチ14aがオン状態にされている場合は、ステップS17で、像ブレ補正パラメータISの値が1に設定される。
ステップS18で、AE部23のAEセンサ駆動により測光が行われ、絞り値や露光時間が演算される。ステップS19で、AF部24のAFセンサが駆動され測距が行われ、AF部24のレンズ制御回路駆動により合焦動作が行われる。
ステップS20で、レリーズスイッチ13aがオン状態にされたか否かが判断される。レリーズスイッチ13aがオン状態にされていない場合には、ステップS14に戻される(ステップS14〜19を繰り返す)。レリーズスイッチ13aがオン状態にされている場合は、ステップS22に進められ、レリーズシーケンス動作が開始される。
ステップS22で、レリーズ状態管理パラメータRPの値が1に設定される。ステップS23で、ミラー絞りシャッタ部18により、ミラーアップ動作、及び絞りの絞り込み動作が行われる。ミラーアップ動作終了後、ステップS24で、ミラー絞りシャッタ部18により、シャッタ開動作(先幕動作)が行われる。
ステップS25で、CCDの電荷蓄積すなわち露光が行われる。露光時間終了後、ステップS26で、ミラー状態管理パラメータMPの値が1に設定され、ミラーダウン時間パラメータMRDNの値が0に設定される。ステップS27で、ミラー絞りシャッタ部18により、シャッタ閉動作(後幕動作)、ミラーダウン動作、及び絞り開放動作が行われる。ステップS28で、ミラー状態管理パラメータMPの値が0に設定される。
露光時間終了後は、像ブレ補正処理は終了し、次にレリーズスイッチ13aがオン状態にされるまで像ブレ補正処理のための可動部30aの駆動は行われない(タイマ割り込み処理は、ステップS65〜S67の手順は経由しないで行われる)。
ミラーダウン動作は約120msで完了する。本実施形態では、ミラーダウン動作の間に、可動部30aを第1特定位置(RLSPx、RLSPy)に移動させる。また、可動部30aの第1特定位置への移動完了タイミングと、ミラーダウン動作の完了タイミングが合わせられると、可動部30aの制動による衝撃と、ミラーのミラーダウン動作による衝撃とが同じタイミングで生じる。ミラーダウン動作による衝撃は、ミラーを有する撮像装置には存在するため、可動部30aの制動による衝撃タイミングをこれに合わせることで、使用者が覚える違和感を少なくするメリットを有する。
ステップS29で、CCD入力、すなわち露光時間内の間CCDに蓄積された電荷が移動せしめられる。ステップS30で、CPU21とDSP19との間で通信が行われ、移動された電荷に基づいて画像処理が行われ、画像処理された画像が撮像装置1内の映像メモリに記憶される。ステップS31で、記憶された画像信号は、LCDモニタ17によって表示される。ステップS32で、レリーズ状態管理パラメータRPの値が0に設定され、レリーズシーケンス動作が完了する。その後、ステップS14に戻される(次の撮像動作が可能な状態にされる)。
次に、図4のステップS12で開始され、一定時間(1ms)間隔で行われるタイマ割り込み処理について図5のフローチャートを用いて説明する。タイマ割り込み処理が開始されると、ステップS51で、角速度検出部25から出力された第1、第2角速度vx、vyが、CPU21のA/D0、A/D1を介しA/D変換され入力される(第1、第2デジタル角速度信号Vxn、Vyn、角速度検出処理)。第1、第2デジタル角速度信号Vxn、Vynは、ヌル電圧やパンニングである低周波成分がカットされる(第1、第2デジタル角速度VVxn、VVyn、デジタルハイパスフィルタ処理)。
ステップS52で、レリーズ状態管理パラメータRPの値が1に設定されているか否かが判断される。1に設定されていない場合は、ステップS53で、可動部30aの駆動がオフ状態、すなわちコイルをつかった可動部30aへの駆動制御が行われない状態にされる。1に設定されている場合はステップS54に進められる。
ステップS54で、ホール素子部44aで位置検出され、ホール素子信号処理回路45で演算された第1、第2検出位置信号px、pyがCPU21のA/D2、A/D3を介しA/D変換され入力され、現在位置Pn(pdxn、pdyn)が求められる。
ステップS55で、ミラー状態管理パラメータMPの値が1に設定されているか否かが判断される。ミラー状態管理パラメータMPの値が1に設定されていない場合は、ステップS70に進められる。ミラー状態管理パラメータMPの値が1に設定されている場合は、ステップS56に進められる。
ステップS56で、ミラーダウン時間パラメータMRDNの値が0に設定されているか否かが判断される。ミラーダウン時間パラメータMRDNの値が0に設定されている場合はステップS57で、第1現在位置パラメータPPxの値が、A/D変換後の位置Pnの第1方向x成分pdxnの値に設定され、第2現在位置パラメータPPyの値が、A/D変換後の位置Pnの第2方向y成分pdynの値に設定され、ステップS58に進められる。ミラーダウン時間パラメータMRDNの値が0に設定されていない場合はステップS58に進められる。
ステップ58で、ミラーダウン時間パラメータMRDNの値が30よりも小さい値に設定されているか否かが判断される。ミラーダウン時間パラメータMRDNの値が30よりも小さい値に設定されている場合は、ステップS59に進められる。ミラーダウン時間パラメータMRDNの値が30よりも小さくない(30以上)の値に設定されている場合は、ステップS60に進められる。
ステップS59で、ミラーダウン時間パラメータMRDNの値が1だけ加算されて、ステップS53に進められる。
ステップS60で、ミラーダウン時間パラメータMRDNの値が30に設定されているか否かが判断される。ミラーダウン時間パラメータMRDNの値が30に設定されている場合は、ステップS61で、第2時間で移動させる可動部30aの位置:第1特定位置(RLSPx、RLSPy)を演算により求め、ステップS62に進められる。ステップS61の詳細は、図9のフローチャートを使って後述する。ミラーダウン時間パラメータMRDNの値が30に設定されていない(30よりも大きい)場合は、ステップS62に進められる。
ステップS62で、ミラーダウン時間パラメータMRDNの値が120に設定されているか否かが判断される。ミラーダウン時間パラメータMRDNの値が120に設定されている場合はステップS53に進められる。ミラーダウン時間パラメータMRDNの値が120に設定されていない場合は、ステップS63に進められる。
ステップS63で、位置Snの第1方向x成分Sxnの値が、第1現在位置パラメータPPx、第1最終位置パラメータRLSPx、及びミラーダウン時間パラメータMRDNに基づいて算出される(Sxn=PPx+(RLSPx―PPx)×sin{(MRDN―30)×90度÷90})。位置Snの第2方向y成分Synの値が、第2現在位置パラメータPPy、第2最終位置パラメータRLSPy、及びミラーダウン時間パラメータMRDNに基づいて算出される(Syn=PPy+(RLSPy―PPy)×sin{(MRDN―30)×90度÷90})。ステップS64で、ミラーダウン時間パラメータMRDNの値が1だけ加算されて、ステップS68に進められる。
sin{(MRDN―30)×90度÷90}の値を求めるための三角関数演算は、演算処理を行うCPU21への負荷が大きいため、処理速度を高めるためには、予めMRDN=30からMRDN=120までの91通りのsin{(MRDN―30)×90度÷90}の値(変換値)をメモリしておくのが望ましい。
ステップS70で、ミラーダウン時間パラメータMRDNの値が120に設定されているか否かが判断される。ミラーダウン時間パラメータMRDNの値が120に設定されている場合はステップS53に進められる。ミラーダウン時間パラメータMRDNの値が120に設定されていない場合は、ステップS65に進められる。
ステップS65で、像ブレ補正パラメータISの値が0か否かが判断される。IS=0すなわち補正モードでない場合は、ステップS66で、可動部30aの移動すべき位置Sn(Sxn、Syn)が可動部30aの移動中心位置と同じに設定される。IS=1すなわち補正モードの場合は、ステップS67で、ステップS51で求めた第1、第2角速度vx、vyから可動部30aの移動すべき位置Sn(Sxn、Syn)が演算され設定される。
ステップS68で、ステップS63、S66またはS67で設定した位置Sn(Sxn、Syn)と現在位置Pn(pdxn、pdyn)より可動部30aの移動に必要な駆動力Dnすなわち第1、第2駆動用コイル31a、32aを駆動するのに必要な第1駆動力Dxn(第1PWMデューティdx)、第2駆動力Dyn(第2PWMデューティdy)が演算される。ステップS69で第1、第2PWMデューティdx、dyにより駆動用ドライバ回路29を介し第1、第2駆動用コイル31a、32aが駆動され可動部30aが移動せしめられる。ステップS68、S69の動作は、一般的な比例、積分、微分演算を行うPID自動制御で用いられる自動制御演算である。
次に、図5のステップS61における、第2時間で移動させる可動部30aの位置:第1特定位置(RLSPx、RLSPy)を演算により求める流れを、図9のフローチャートを使って説明する。図9のフローチャートでは、可動部30aの移動範囲が正方形である場合の第1特定位置の求める流れを説明するが、可動部30aの移動範囲は矩形形状であってもよい。矩形形状の場合は、各ステップの条件の数値が矩形形状の縦横比に対応して異なる。
第1特定位置を求める演算が開始されると、ステップS81で、第1時間終了時の位置Pnの第1方向x成分pdxn、第1現在位置パラメータPPxに基づいて、第1移動量パラメータXXが算出される(XX=pdxn−PPx)。第1時間終了時の位置Pnの第2方向y成分pdyn、第2現在位置パラメータPPyに基づいて、第2移動量パラメータYYが算出される(YY=pdyn−PPy)。
ステップS82で、第1移動量パラメータXXの絶対値が、移動基準量zaよりも小さいか否かが判断される。第1移動量パラメータXXの絶対値が、移動基準量zaよりも小さい場合は、ステップS83で、第2移動量パラメータYYの絶対値が、移動基準量zaよりも小さいか否かが判断される。第1移動量パラメータXXの絶対値が、移動基準量zaよりも小さくない場合は、ステップS84に進められる。第2移動量パラメータYYの絶対値が、移動基準量zaよりも小さい場合は、ステップS99に進められる。第2移動量パラメータYYの絶対値が、移動基準量zaよりも小さくない場合は、ステップS84に進められる。
ステップS84で、第1移動量パラメータXXの絶対値が、第2移動量パラメータYYの絶対値と等しいか否かが判断される。等しい場合はステップS92に進められ、等しくない場合は、ステップS85に進められる。
ステップS85で、第1移動量パラメータXXの絶対値が、第2移動量パラメータYYの絶対値以上に大きいか否かが判断される。大きい場合はステップS89に進められ、大きくない場合は、ステップS86に進められる。
ステップS86で、第2移動量パラメータYYが0よりも小さいか否かが判断される。小さい場合はステップS88に進められ、小さくない場合はステップS87に進められる。
ステップS87で、第1最終位置パラメータRLSPxの値が、第1時間終了時の位置Pnの第1方向x成分pdxnに設定され、第2最終位置パラメータRLSPyの値が、第1鉛直方向移動端位置Y+LMTに設定される。すなわち、第1特定位置のx座標は、第1時間終了時のx座標と同じ値に設定され、第1特定位置のy座標は、第2方向yで第1時間の間に可動部30aが移動する側にある移動範囲端のy座標と同じ値に設定される。
ステップS88で、第1最終位置パラメータRLSPxの値が、第1時間終了時の位置Pnの第1方向x成分pdxnに設定され、第2最終位置パラメータRLSPyの値が、第2鉛直方向移動端位置Y―LMTに設定される。すなわち、第1特定位置のx座標は、第1時間終了時のx座標と同じ値に設定され、第1特定位置のy座標は、第2方向yで第1時間の間に可動部30aが移動する側にある移動範囲端のy座標と同じ値に設定される。
ステップS89で、第1移動量パラメータXXが0よりも小さいか否かが判断される。小さい場合はステップS91に進められ、小さくない場合はステップS90に進められる。
ステップS90で、第1最終位置パラメータRLSPxの値が、第1水平方向移動端位置X+LMTに設定され、第2最終位置パラメータRLSPyの値が、第1時間終了時の位置Pnの第2方向y成分pdynに設定される。すなわち、第1特定位置のx座標は、第1方向xで第1時間の間に可動部30aが移動する側にある移動範囲端のx座標と同じ値に設定され、第1特定位置のy座標は、第1時間終了時のy座標と同じ値に設定される。
ステップS91で、第1最終位置パラメータRLSPxの値が、第2水平方向移動端位置X―LMTに設定され、第2最終位置パラメータRLSPyの値が、第1時間終了時の位置Pnの第2方向y成分pdynに設定される。すなわち、第1特定位置のx座標は、第1方向xで第1時間の間に可動部30aが移動する側にある移動範囲端のx座標と同じ値に設定され、第1特定位置のy座標は、第1時間終了時のy座標と同じ値に設定される。
ステップS92で、第2移動量パラメータYYが0よりも小さいか否かが判断される。小さい場合はステップS96に進められ、小さくない場合はステップS93に進められる。
ステップS93で、第1移動量パラメータXXが0よりも小さいか否かが判断される。小さい場合はステップS95に進められ、小さくない場合はステップS94に進められる。
ステップS94で、第1最終位置パラメータRLSPxの値が、第1水平方向移動端位置X+LMTに設定され、第2最終位置パラメータRLSPyの値が、第1鉛直方向移動端位置Y+LMTに設定される。すなわち、第1特定位置のx座標は、第1方向xで第1時間の間に可動部30aが移動する側にある移動範囲端のx座標と同じ値に設定され、第1特定位置のy座標は、第2方向yで第1時間の間に可動部30aが移動する側にある移動範囲端のy座標と同じ値に設定される。
ステップS95で、第1最終位置パラメータRLSPxの値が、第2水平方向移動端位置X−LMTに設定され、第2最終位置パラメータRLSPyの値が、第1鉛直方向移動端位置Y+LMTに設定される。すなわち、第1特定位置のx座標は、第1方向xで第1時間の間に可動部30aが移動する側にある移動範囲端のx座標と同じ値に設定され、第1特定位置のy座標は、第2方向yで第1時間の間に可動部30aが移動する側にある移動範囲端のy座標と同じ値に設定される。
ステップS96で、第1移動量パラメータXXが0よりも小さいか否かが判断される。小さい場合はステップS98に進められ、小さくない場合はステップS97に進められる。
ステップS97で、第1最終位置パラメータRLSPxの値が、第1水平方向移動端位置X+LMTに設定され、第2最終位置パラメータRLSPyの値が、第2鉛直方向移動端位置Y―LMTに設定される。すなわち、第1特定位置のx座標は、第1方向xで第1時間の間に可動部30aが移動する側にある移動範囲端のx座標と同じ値に設定され、第1特定位置のy座標は、第2方向yで第1時間の間に可動部30aが移動する側にある移動範囲端のy座標と同じ値に設定される。
ステップS98で、第1最終位置パラメータRLSPxの値が、第2水平方向移動端位置X―LMTに設定され、第2最終位置パラメータRLSPyの値が、第2鉛直方向移動端位置Y―LMTに設定される。すなわち、第1特定位置のx座標は、第1方向xで第1時間の間に可動部30aが移動する側にある移動範囲端のx座標と同じ値に設定され、第1特定位置のy座標は、第2方向yで第1時間の間に可動部30aが移動する側にある移動範囲端のy座標と同じ値に設定される。
ステップS99で、第1最終位置パラメータRLSPxの値が、第1時間終了時の位置Pnの第1方向x成分pdxnに設定され、第2最終位置パラメータRLSPyの値が、第1時間終了時の位置Pnの第2方向y成分pdynに設定される。すなわち、第1特定位置のx座標は、第1時間終了時のx座標と同じ値に設定され、第1特定位置のy座標は、第1時間終了時のy座標と同じ値に設定される(第1時間終了時から、第2時間終了時まで移動しない)。
本実施形態のように、駆動オフ状態で可動部30aを固定する機構を有しない像ブレ補正装置においては、像ブレ補正処理が終了して駆動オフ状態にされると、可動部30aは重力に従って移動せしめられ、移動範囲端に接触して停止する。移動範囲端での接触における衝撃が大きいと、可動部30aなどが破損するおそれがあり、さらに衝撃が撮像装置1を保持する使用者に伝わって不快感を与えるおそれがある。
本実施形態では、像ブレ補正処理が終了して像ブレ補正処理のための駆動オフ状態にされると、第1時間(30ms)経過後に第2時間(90ms)かけて、可動部30aを第1特定位置に移動させる。第1特定位置は、第1時間経過前後の可動部30aの位置から、第1時間経過中に可動部30aが移動した方向に基づいて、算出される。そのため、第1特定位置は、像ブレ補正処理が終了して駆動オフ状態にされた時に、重力に従って移動せしめられる位置(移動範囲端のいすれかの位置)と殆ど変わらない位置に設定することができる。また、この移動は第2時間(90ms)かけて、比較的低速で行われる(図7参照)。特に、移動終了前(終点:第1特定位置近傍にある時)は、低速で駆動させて、移動による衝撃を和らげることが可能になる。
また、駆動オフ状態における可動部30aの移動方向が特定されるため、露光直前の撮像装置1の保持姿勢と、露光終了後の撮像装置1の保持姿勢が変わっても、重力方向に沿った第1特定位置を算出することが出来る。また、重力検知センサなど重力方向を特定するための部材を別途用意する必要はない。
本実施形態では、像ブレ補正処理が終了し第1時間(30ms)経過後の、移動開始時(MRDN=30、経過時間:30ms)から、移動終了時(MRDN=120、経過時間:120ms)の間の、移動開始時からの可動部30aの移動距離と、経過時間との関係が正弦波形を示す(図7参照)、すなわち可動部30aの移動速度と、経過時間との関係が余弦波形を示す(図8参照)ように、可動部30aの移動制御が行われるが、波形は正弦波形に限られない。例えば、飽和曲線のように、移動終了時(MRDN=120)の時点での移動が低速で駆動されている形態である。
また、撮像装置1は、ミラーアップ動作が行われる一眼レフカメラであるとして説明したが、ミラーの有無は問わない。ミラーアップ動作が無いカメラの場合は、像ブレ補正処理が終了され駆動オフ状態にされた後の第1時間経過後から、画像処理などの後処理が完了する時点までに、可動部30aを第1特定位置に移動させる。
また、像ブレ補正処理は、露光時間内に限らず、他の期間に行っても良い。例えば、スルー画像表示など、撮像装置1の電源がオン状態にされている期間、像ブレ補正処理が行われる場合には、撮像装置1の電源がオフ状態にされた後に、第1時間、第2時間をかけて可動部30aを第1特定位置に移動させる。これにより、駆動オフ状態にされた時の可動部30aの重力に従った移動で移動範囲端に接触する際の衝撃を和らげることが可能になる。
また、第1時間の長さ、及び第2時間の長さはそれぞれ30ms、90msに限られない。第1、第2時間の合計は、像ブレ補正処理が終了されて駆動オフ状態にされた時点から、ミラーダウン動作が完了する時点(または画像処理などの後処理が完了する時点)まで間の時間以下の長さに設定されており、ミラーダウン動作が完了する時点(または画像処理などの後処理が完了する時点)に、第2時間が終了していれば良い。本実施形態では、ミラーダウン動作開始から終了まで(図4のステップS27参照)の間が、第1、第2時間の合計(30ms+90ms=120ms)と同じ約120msの時間に設定され、ミラーダウン動作が完了する時点(または画像処理などの後処理が完了する時点)までに、第2時間が終了される。
また、撮像素子を含む撮像部39aが可動部30aに配置されて移動する形態を説明したが、撮像部39aは固定で、像ブレ補正レンズを可動部30aに配置して移動させる形態でも同様の効果が得られる。
また、磁界変化検出素子としてホール素子を利用したホール素子部44aによる位置検出を説明したが、磁界変化検出素子として別の検出素子を利用してもよい。具体的には、磁界の変化を検出することにより可動部の位置検出情報を求めることが可能なMIセンサ(高周波キャリア型磁界センサ)、または磁気共鳴型磁界検出素子、MR素子(磁気抵抗効果素子)であり、ホール素子を利用した本実施形態と同様の効果が得られる。