(57)【要約】【課題】センサ出力の温度補正のための情報を適切に管理することを課題としている。【解決手段】ジャイロ２３Ｘ、２３Ｙからの出力を積分して、手ブレ量を算出し、補正レンズ１４を駆動して手ブレ補正を行う。温度センサ５０を設け、工程調整時の温度とジャイロ出力と、カメラ静止状態における温度センサ５０の出力およびジャイロ出力とからジャイロ出力の線形補正式のゲインＧＧを算出する。手ブレ補正機構１３のロック機構２６のロックモータ４４駆動時に算出されたゲインＧＧをフラッシュメモリ５１に記録する。【選択図】図６
2015200797.tif 000002
【特許請求の範囲】
【請求項１】
温度ドリフトを含むセンサからの出力を補正する温度補正装置であって、
温度センサと、
不揮発性メモリと、
静止状態にあるか否かの判定を行う静止状態判定手段と、
静止状態にあると判定されるとき、前記温度センサの温度特性に係る情報を算出する温度特定算出手段と、
前記温度特性に係る情報を前記不揮発性メモリに記録する記録手段とを備え、
前記温度特性に係る情報の前記不揮発性メモリへの記録を、鏡筒に搭載された駆動部が駆動されている最中に行う
ことを特徴とするセンサ出力の温度補正装置。
【請求項２】
前記静止状態を前記センサからの出力に基づき判定することを特徴とする請求項１に記載のセンサ出力の温度補正装置。
【請求項３】
前記補正が、基準となる第１温度における前記センサからの出力と、前記静止状態において検出される第２温度とこのときの前記センサからの出力とを用いて行われることを特徴とする請求項１〜２の何れか一項に記載のセンサ出力の温度補正装置。
【請求項４】
前記情報は、前記第１温度と前記第２温度の差が所定値以上のとき算出されることを特徴とする請求項１〜３の何れか一項に記載のセンサ出力の温度補正装置。
【請求項５】
前記駆動部は、前記鏡筒に搭載された手ブレ補正機構のアクチュエータ、あるいは前記手ブレ補正機構をロックするためのモータであることを特徴とする請求項１〜４に記載のセンサ出力の温度補正装置。
【請求項６】
前記情報の前記不揮発性メモリへの記録が終了した直後に、有効データコードを前記不揮発性メモリに記録することを特徴とする請求項１〜５の何れか一項に記載のセンサ出力の温度補正装置。
【請求項７】
請求項１〜６に記載のセンサ出力の温度補正装置を備えたことを特徴とするレンズ鏡筒。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、温度に依存するセンサ出力の処理方法に関し、特にカメラに搭載されるジャイロセンサの出力の温度補正に関する。
【背景技術】
【０００２】
手ブレ補正機能を備えたカメラでは、例えばジャイロセンサを用いてカメラの揺れを検知し、揺れによる像ブレを相殺するように、光学的あるいは電子的に補正を施している。しかし、ジャイロセンサの出力（角速度）には、一般に温度ドリフト（オフセット）が存在する。そのためジャイロセンサの出力をそのまま積分し角度を計算するとオフセット成分によるズレが経時的に増大され、適切な手ブレ補正が行えない。
【０００３】
温度によるオフセット除去にハイパスフィルタを利用することも知られている。しかしこの場合フィルタの通過帯域を高めの周波数に設定する必要があるため、本来検出すべき手ブレの振動に起因する信号成分も遮断されてしまい、高精度な手ブレ補正が阻害される可能性がある。また、ジャイロ出力の温度特性を測定し、温度補正式あるいは補正データを予め求めておくことも考えられるが、ジャイロ出力の温度特性は、センサ毎に異なるため、出荷前に全ての製品に対し、少なくとも２以上の異なる温度での各ジャイロの出力を調べる必要があり、生産効率を著しく低下させる。このような問題から、ジャイロ搭載電子機器に加速度センサを搭載して静止状態を検出可能とすることで、製品出荷後にジャイロ搭載電子機器に自らキャリブレーションを行わせ、温度補正を行う構成が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−０３７４０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、カメラでは、三脚を利用した撮影時以外、静止状態で撮影が行われることは殆どない。そのため撮影中や移動中に気温が変化してしまうと、静止状態で取得されたキャリブレーション結果を利用しても正確な補正ができない。温度特性に係る情報を取得し記録することも考えられるが、情報の記録が有効に行われない場合には、補正処理に対応できなくなる可能性がある。
【０００６】
本発明は、センサ出力の温度補正のための情報を適切に管理することを課題としている。
【課題を解決するための手段】
【０００７】
本発明のセンサ出力の温度補正装置は、温度ドリフトを含むセンサからの出力を補正する温度補正装置であって、温度センサと、不揮発性メモリと、静止状態にあるか否かの判定を行う静止状態判定手段と、静止状態にあると判定されるとき、温度センサの温度特性に係る情報を算出する温度特定算出手段と、温度特性に係る情報を不揮発性メモリに記録する記録手段とを備え、温度特性に係る情報の不揮発性メモリへの記録を、鏡筒に搭載された駆動部が駆動されている最中に行うことを特徴としている。
【０００８】
温度補正装置は、例えば静止状態をセンサからの出力に基づき判定する。補正は、基準となる第１温度におけるセンサからの出力と、静止状態において検出される第２温度とそのときのセンサからの出力とを用いて行われる。情報は、第１温度と前記第２温度の差が所定値以上のとき算出されることが好ましい。駆動部は、鏡筒に搭載された手ブレ補正機構のアクチュエータ、あるいは手ブレ補正機構をロックするためのモータであることが好ましい。温度補正装置は、情報の不揮発性メモリへの記録が終了した直後に、有効データコードを不揮発性メモリに記録する。
【０００９】
本発明のレンズ鏡筒は、上記にセンサ出力の温度補正装置を備えたことを特徴とするものである。
【発明の効果】
【００１０】
本発明によれば、センサ出力の温度補正のための情報を適切に管理することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態のカメラの構成を模式的に示すブロック図である。
【図２】本実施形態の手ブレ補正機構の正面斜視図、ロック解除時の正面図、ロック時の正面図である。
【図３】ロック解除時およびロック時の補正レンズの可動範囲を模式的に示す図である。
【図４】手ブレによるカメラの動きとＸ、Ｙ軸の関係を模式的に示す斜視図である。
【図５】カメラ本体、補正レンズ、およびＸ、Ｙ軸の関係を示す正面図である。
【図６】レンズＣＰＵにおいて実行される手ブレ補正制御のブロック図である。
【図７】カメラＣＰＵで実行されるメインプログラムのフローチャートである。
【図８】レンズＣＰＵで実行されるメインプログラムのフローチャートである。
【図９】レンズＣＰＵで実行される１ｍＳタイマ割り込み処理のフローチャートである。
【図１０】レンズＣＰＵで実行される工程テスト処理のフローチャートである。
【図１１】レンズＣＰＵで実行される第２補正値（ＶＶ）リセット処理のフローチャートである。
【図１２】レンズＣＰＵで実行される三脚検知処理のフローチャートである。
【図１３】レンズＣＰＵで実行される中心駆動処理のフローチャートである。
【図１４】レンズＣＰＵで実行される手ブレ補正駆動処理のフローチャートである。
【図１５】レンズＣＰＵで実行されるゲインデータ更新処理のフローチャートである
【図１６】ゲインデータ更新処理における不揮発性メモリへのデータの書き込みの様子を示す模式図である。
【図１７】ロック環を含む手ブレ補正機構の動作内容と、補正レンズの動き、およびゲインデータ更新処理実行のタイミングを示すタイミングチャートである。
【図１８】レンズＣＰＵで実行される変形例の１ｍＳタイマ割り込み処理のフローチャートである。
【図１９】本実施形態における温度補正の方法を説明するグラフである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を、図面を参照して説明する。図１は、本発明の第１実施形態であるセンサ出力の温度補正装置が搭載されたカメラの構成を示すブロック図である。なお、本図においては、発明に係る構成のみが模式的に図示される。
【００１３】
本実施形態においてカメラ１０は、例えばカメラ本体１１に鏡筒１２を着脱可能なデジタル一眼レフカメラである。また本実施形態では、鏡筒１２内に手ブレ補正機構１３が設けられる。すなわち、ブレ補正用の補正レンズ１４を備えた手ブレ補正機構１３は、撮像レンズ１５Ａ、１５Ｂの間に配置される。撮像レンズ１５Ａから入射した光は、光軸Ｌに沿って補正レンズ１４、撮像レンズ１５Ｂを介してカメラ本体１１内の撮像素子１６へと導かれ結像する。
【００１４】
カメラ本体１１および鏡筒１２内にはそれぞれカメラＣＰＵ１７、レンズＣＰＵ１８が設けられる。カメラＣＰＵ１７には、メインスイッチ１９、測光スイッチ２０、レリーズスイッチ２１が接続されており、電源ラインおよびグランドとともに、レンズマウント（図示せず）の複数の電極を通して、レンズＣＰＵ１８に接続される。なお、カメラＣＰＵ１７は、カメラ全体の様々な制御を行うもので、この他にも様々なデバイスに接続されている。
【００１５】
鏡筒１２には、手ブレ補正制御のオン／オフを設定する手ブレ補正スイッチ２２が設けられ、レンズＣＰＵ１８に接続される。また、鏡筒１２内に、光軸Ｌに垂直なカメラの縦軸、横軸に沿ったＹ、Ｘ軸周りの回転角速度を検出する角速度センサ２３Ｘ、２３Ｙが設けられ、各角速度センサ２３Ｘ、２３Ｙで検出された信号は、レンズＣＰＵ１８へ入力される。手ブレ補正制御がオンのとき、レンズＣＰＵ１８は角速度センサ２３Ｘ、２３Ｙで検出された各軸周りの角速度、および焦点距離などのレンズ情報に基づき、手ブレを相殺するために補正レンズ１４が移動すべきＸ、Ｙ軸方向の目標位置を算出する。
【００１６】
補正レンズ１４は、例えば補正レンズ１４を保持する可動部に設けられるコイル（図示せず）と鏡筒１２に固定された固定部に設けられるヨークとの間の電磁相互作用により駆動され、コイルへの電流供給はＸ方向駆動制御部２４ＸおよびＹ方向駆動制御部２４Ｙによって制御される。補正レンズ１４を保持する可動部には、例えばホール素子などを用いた位置センサ２５Ｘ、２５Ｙが設けられ、補正レンズ１４の位置が検出され、レンズＣＰＵ１８へとフィードバックされる。すなわち、レンズＣＰＵ１８は、角速度センサ２３Ｘ、２３Ｙの信号に基づき算出された補正レンズ１４の目標位置と位置センサ２５Ｘ、２５Ｙから得られた現補正レンズ１４の位置とからコイルへの電流供給量を算出し、Ｘ方向駆動制御部２４ＸおよびＹ方向駆動制御部２４Ｙへと出力する。
【００１７】
手ブレ補正機構１３には、後述するメカニカルなロック機構２６が併設されるとともに、ロック状態を検出するためのロック検知センサ２６Ｓが設けられる。ロック機構２６は補正レンズ１４の中心を光軸Ｌ上に維持するための機構である。ロック機構２６は、ロックモータ４４により駆動され、ロックモータ４４は、レンズＣＰＵ１８からの指令に基づきロック環制御部２７によって制御される。また現ロック状態はロック検知センサ２６Ｓによりその状態がレンズＣＰＵ１８に通知される。
【００１８】
また、鏡筒１２には温度センサ５０が設けられ、温度センサ５０の検出信号はレンズＣＰＵ１８に入力され、後述するように、例えばレンズＣＰＵ１８に設けられたフラッシュメモリなどの不揮発性メモリ５１（図６参照）に、角速度センサ２３Ｘ、２３Ｙからの角速度信号（ジャイロ出力）とともに記録可能である。またレンズＣＰＵ１８の通信ポートと、カメラＣＰＵ１７の通信ポートは、レンズマウントの電極を通して接続され、両者の間では後述するようにデータ通信が行われる。
【００１９】
図２（ａ）〜図２（ｃ）は、本実施形態の手ブレ補正機構１３の外観図であり、図２（ａ）が正面斜視図、図２（ｂ）がロック解除時の正面図、図２（ｃ）がロック時の正面図である。
【００２０】
図示されるように、補正レンズ１４は円環フレームを備える可動部２８によってその略中央に保持される。可動部２８の円環フレームの外周部には、径方向外側に延出する例えば４つの突起２８Ｐが外周に沿って略等間隔で設けられる。可動部２８の円環フレームの周囲には、それを取り囲むように環状のロック環３０が配置され、ロック環３０と円環フレームの間には環状クリアランス２９が設けられる。
【００２１】
ロック環３０の内径は、可動部２８の各突起２８Ｐが公差を除きロック環３０の内周に当接する寸法であり、その内周縁には、突起２８Ｐに対応する数の凹部３０Ｐが内周に沿って略等間隔で形成される。後述するように、凹部３０Ｐは、突起２８Ｐと協働して手ブレ補正における補正レンズ１４の可動範囲を規定する。
【００２２】
ロック環３０は、概ね円筒外観を呈するケーシング３１内に収容され、ケーシング（固定部）３１内において光軸周りに回動可能である。ロック環３０の回動は、例えばロック環３０の外周部に設けられたラック・アンド・ピニオン機構により行われる。すなわちロック環３０の外周部にはラック部３０Ｒが設けられるとともにケーシング３１側に設けられたピニオン３２に噛合され、ピニオン３２は、ケーシング３１内に固定されたステッピングモータなどのロックモータ４４により駆動される。
【００２３】
またロック環３０の外周部には、ロック環３０の回動位置からロック状態を検知するための切り欠き３０Ａ、３０Ｂが設けられ、ケーシング３１には、切り欠き３０Ａ、３０Ｂと協働するフォトインタラプタ（ロック検知センサ）２６Ｓが設けられる。すなわち、ロック解除時には図２（ｂ）に示されるように切り欠き３０Ａを通してフォトインタラプタ２６Ｓにおいて光が検知され、ロック時には図２（ｃ）に示されるように切り欠き３０Ｂを通して光が検知される。
【００２４】
また、可動部２８には、環状フレームから径方向外側に延出する平板部２８Ａが複数設けられ、可動部２８を駆動するためのコイル等が搭載される。平板部２８Ａは、ケーシング３１内において、その前後がベアリング（図示せず）を介して支持され、光軸方向への移動が規制される。
【００２５】
次に図２および図３を参照して、本実施形態における補正レンズ１４の可動範囲について説明する。なお図３（ａ）、図３（ｂ）は、ロック解除時およびロック時の補正レンズ１４の可動範囲を模式的に示す図である。
【００２６】
図２（ｂ）のロック解除時、ロック環３０は、可動部２８の各突起２８Ｐが各々凹部３０Ｐに位置するように配置される。このとき可動部２８の動きは、突起２８Ｐが凹部３０Ｐの側壁に当接することで規制され、補正レンズ１４の可動範囲は、図３（ａ）において網掛けされる矩形領域（ロック解除時可動範囲）３３となる。一方、図２（ｃ）のロック時には、ロック環３０が図２（ｂ）の位置から右回りに回動され、各突起２８Ｐは、ロック環３０の円弧状の内周面に当接される。これにより、可動部２８の上下左右への運動は規制され、補正レンズ１４の中心が光軸Ｌに一致するように固定される。
【００２７】
しかし、突起２８Ｐとロック環３０の円弧状内周面との間には公差が存在するため、ロック時においても、補正レンズ１４は実際には図３（ｂ）に示されるように、光軸Ｌを中心とする円形網掛け領域（ロック時可動範囲）３４内において移動可能である。
【００２８】
図４〜図６を参照して、本実施形態の手ブレ補正処理についてより詳細に説明する。図４は、手ブレによるカメラの動きとＸ、Ｙ軸の関係を模式的に示す斜視図であり、図５は、カメラ本体１１、補正レンズ１４、Ｘ、Ｙ軸の関係を示す正面図である。
【００２９】
図４に示されるように、カメラでの撮影においては、垂直軸（Ｙ軸）周りの回転（ヨー）より横方向（Ｘ軸方向）へ移動する像ブレが発生し、水平軸周りの回転（ピッチ）により縦方向（Ｙ軸方向）へ移動する像ブレが発生する。したがって、Ｙ軸周りの回転運動を検出することでＸ軸方向の像ブレを相殺するための補正レンズ１４のＸ軸方向へのシフト量が決定し、Ｘ軸周りの回転運動を検出することでＹ軸方向の像ブレを相殺するための補正レンズ１４のＹ軸方向へのシフト量が決定する。
【００３０】
図６は、レンズＣＰＵ１８において実行される手ブレ補正制御のブロック図であり、補正処理は例えば所定時間（例えば１ｍＳ）間隔の割り込み処理として実行される。
【００３１】
角速度センサ２３Ｘ、２３Ｙの各ジャイロで得られたＹ軸周り、Ｘ軸周りのアナログ角速度信号（ジャイロ出力）は、レンズＣＰＵ１８のＡ／Ｄポート（Ａ／Ｄ１、Ａ／Ｄ２）に入力され、Ａ／Ｄ演算部３３Ｘ、３３Ｙにおいてデジタル信号（ジャイロ出力）Ｖｘ、Ｖｙに変換される。Ｙ軸、Ｘ軸周りの角速度信号Ｖｘ、Ｖｙからは、後述するように、温度補正用のオフセット補正値Ｖｒｘ、ＶｒｙおよびＶＶｘ、ＶＶｙが差し引かれ、補正出力Ｖｏｕｔ＿ｘ、Ｖｏｕｔ＿ｙとされる。補正出力Ｖｏｕｔ＿ｘ、Ｖｏｕｔ＿ｙは、制御部３９に入力されるとともに、角度演算部３６Ｘ、３６Ｙに入力される。角度演算部３６Ｘ、３６Ｙでは、補正出力Ｖｏｕｔ＿ｘ、Ｖｏｕｔ＿ｙが積分され、Ｙ軸、Ｘ軸周りの回転角度（ヨー角θＸ、ピッチ角θＹ）が算出される。レンズ駆動位置計算部３７Ｘ、３７Ｙでは、ヨー角、ピッチ角、およびメモリに保存された焦点距離ｆなどのレンズ情報３８に基づいて、像ブレを相殺するためのＸ方向、Ｙ方向における補正レンズ１４の駆動位置が算出され、制御部３９に入力される。
【００３２】
ポート４から入力される手ブレ補正スイッチ２２がオン状態の時には、制御部３９はレンズ駆動位置計算部３７Ｘ、３７Ｙにおいて算出されたＸ軸方向への駆動位置Ｘ、Ｙ軸方向への駆動位置Ｙを補正レンズ１４の目標位置とし、駆動位置Ｘ、駆動位置Ｙと補正レンズ１４の現在位置Ｘ、現在位置Ｙの偏差を算出し、これらに対して例えばＰＩＤ演算などの処理を自動制御演算部４０Ｘ、４０Ｙにおいて施す。自動制御演算部４０Ｘ、４０Ｙからの出力は、ポート１、ポート２を通してＸ方向駆動制御部２４Ｘ、Ｙ方向駆動制御部２４Ｙへ出力され、手ブレ補正機構１３に設けられたＸ方向コイル４１Ｘ、Ｙ方向コイル４１Ｙへ供給される電流が制御される。
【００３３】
可動部２８の位置、すなわち補正レンズ１４の現在のＸ軸、Ｙ軸方向の位置は、ホールセンサ（位置センサ）２５Ｘ、２５Ｙからの信号に基づきＸ方向駆動制御部２４Ｘ、Ｙ方向駆動制御部２４Ｙにおいて算出され、現在のＸ位置信号、Ｙ位置信号としてＡ／Ｄポート（Ａ／Ｄ３、Ａ／Ｄ４）を通してレンズＣＰＵ１８に入力され、Ａ／Ｄ演算部４３Ｘ、４３Ｙにおいてデジタル信号としての現在位置Ｘ、現在位置Ｙへ変換され、前述したようにフィードバックされる。これにより、手ブレ補正スイッチ２２がオンされているときには、角速度センサ２３Ｘ、２３Ｙの出力に基づいて補正レンズ１４の目標とする駆動位置が算出され、この目標値に基づき補正レンズ１４がＸ軸、Ｙ軸方向に駆動される。
【００３４】
なお、レンズＣＰＵ１８は、手ブレ補正スイッチ２２のオン／オフ状態に基づいて、ポート３に接続されたロック環制御部（ドライバ）２７を通してロックモータ４４を駆動しロック環３０を回動させる。すなわち、その位置をロック解除位置（図２（ｂ））とロック位置（図２（ｃ））の間で切り替える。ロック環３０がロック解除位置、ロック位置に達したかは、フォトインタラプタ（ロック検知センサ）２６Ｓによって検出される。
【００３５】
また、フラッシュメモリ５１には、レンズＣＰＵ１８のＡ／Ｄポート５を介して入力される温度センサ５０からの工程調整時(後述)の温度Ｔ０と、これに対応する工程調整時のオフセット補正値(第１補正値)Ｖｒｘ、Ｖｒｙ、およびゲインＧＧｘ、ＧＧｙ(後述)などのセンサの温度特性に係る情報が記録される。制御部３９は、同データに基づき、現在の温度のオフセット補正値(第２補正値)ＶＶｘ、ＶＶｙを算出する。
【００３６】
次に、図１９を参照して、第１オフセット補正値Ｖｒｘ、Ｖｒｙ、第２オフセット補正値ＶＶｘ、ＶＶｙおよびゲインＧＧｘ、ＧＧｙを用いた本実施形態のセンサ出力の温度補正処理の原理について説明する。なお、温度補正処理は、ジャイロ２３Ｘ、２３Ｙからの出力各々に対して行われるが、両者は同一の方法で取り扱われる。したがって、図１９の説明では、各ジャイロ２３Ｘ、２３Ｙとの対応を示す添え字ｘ、ｙを除いたゲインＧＧ、ジャイロ出力Ｖ、オフセット補正値Ｖｒ、ＶＶ、補正出力Ｖｏｕｔ等の変数を用いて説明する。
【００３７】
図１９は、温度と線形近似を行った静止時のジャイロの出力との関係を示すグラフであり、横軸は温度、縦軸は静止時ジャイロ出力に対応する。ジャイロ出力を線形近似する場合、２点のデータが必要である。本実施形態では、出荷前に行われる工程調整（較正）時の温度Ｔ０における出力Ｖ０を１点目のデータとし、２点目のデータは、出荷後、カメラが静止状態にあることが検知されたとき（三脚検知時）に取得する。
【００３８】
出荷後２点目データが取得されるまでの間は、工程調整において取得される１点目の温度Ｔ０と、その時のジャイロ出力Ｖ０のみが、工程調整温度Ｔ０と第１補正値Ｖｒとしてフラッシュメモリ５１に記録されている。したがって、２点目データが取得されるまでの間、ジャイロ出力Ｖからは温度Ｔ０におけるオフセット値（第１補正値）Ｖｒは差し引かれるだけであり、温度補正後においても温度がＴ０から離れるとオフセット誤差は増大する。
【００３９】
出荷後、例えば温度Ｔ１、出力Ｖ１が２点目のデータとして取得されると、直線Ｌ１が静止時ジャイロ出力の近似式として算出できる。このとき任意の温度Ｔに対応するジャイロ出力Ｖ（Ｔ）は、Ｖ（Ｔ）〜ＧＧ１・（Ｔ−Ｔ０）＋Ｖｒ、ＧＧ１＝（Ｖ１−Ｖ０）／（Ｔ１−Ｔ０）として表せ、以後の補正処理では、任意の温度Ｔに対して、Ｖ（ｔ）−Ｖｒ〜ＶＶ（Ｔ）＝ＧＧ１・（Ｔ−Ｔ０）と近似できる。これにより、任意の温度Ｔに対して補正出力Ｖｏｕｔ＝Ｖ（Ｔ）−Ｖｒ−ＶＶ（Ｔ）は、静止状態において略０となり、ジャイロ出力のオフセットが除去される。
【００４０】
しかし、通常測定値には誤差があり、更にオフセット値も経時的に変化する可能性がある。したがって、本実施形態では、静止状態が検出されると、後述する一定の条件の下で再度２点目データの取り直しが行われ、ゲインＧＧが更新される。
【００４１】
例えば温度Ｔ２、ジャイロ出力Ｖ２が新たに２点目データとして取得されると、直線Ｌ２が静止時ジャイロ出力の近似式と考えられる。しかし温度Ｔ２、出力Ｖ２が２点目データとして検出されるときには、直線Ｌ１を用いた補正式でジャイロ出力が補正されているので、このときの第２補正値ＶＶ２＝ＧＧ１・（Ｔ２−Ｔ０）となる。ここで直線Ｌ２のゲインＧＧ２は、ＧＧ２＝（Ｖｏｕｔ＋ＶＶ２）／（Ｔ２−Ｔ０）となり、直線Ｌ２によるジャイロ出力Ｖ（Ｔ）の補正式は、Ｖ（Ｔ）〜ＧＧ２・（Ｔ−Ｔ０）＋Ｖｒとなる。そして第２補正値ＶＶ（Ｔ）は、以後、新しいゲインＧＧ２を用いて、ＶＶ（Ｔ）＝ＧＧ２・（Ｔ−Ｔ０）として求められる。
【００４２】
次に図１、図６、図７、図８を参照して、カメラＣＰＵ１７およびレンズＣＰＵ１８で実行されるメインフローについて説明する。図７、図８のフローは、カメラ本体１１に設けられたメインスイッチ１９がオンされると開始される。なお、ここでは鏡筒１２がカメラ本体１１に装着されていることを前提としている。
【００４３】
図７は、カメラＣＰＵ１７側のフローチャートであり、ステップＳ１００ではレリーズスイッチ２１がオンされているか否かが判定される。レリーズスイッチ２１がオンされている場合には、ステップＳ１３２においてレンズＣＰＵ１８との通信を行い、後述する第２補正値のリセットを要求し、ステップＳ１１８へとジャンプする。
【００４４】
一方、ステップＳ１００においてレリーズスイッチ２１がオンされていないと判定された場合には、ステップＳ１０２において測光スイッチ２０がオンされているか否か判定される。この処理は測光スイッチ２０がオンされるまで繰り返され、測光スイッチ２０がオンされたと判定されると、ステップＳ１０４において、レンズＣＰＵ１８との通信を行い、第２補正値のリセットを要求するとともに、スルー画像の表示が行われることをレンズＣＰＵ１８に通知する。
【００４５】
ステップＳ１０６〜Ｓ１１４では、スルー画像の撮影および表示が行われる。すなわち、ステップＳ１０６ではＡＥ処理、ステップＳ１０８ではＡＦ処理が行われ、ステップＳ１１０ではステップＳ１０８で設定されたフォーカス位置、ステップＳ１０６で決定された露出の下、撮像素子（ＣＣＤ）１６における電荷蓄積が開始される。そしてステップＳ１１２では撮像素子（ＣＣＤ）１６に蓄積された画素信号の例えばフィールド読出しが行われ、画像信号として出力される。ステップＳ１１４では、入力された画像信号がモニタ（図示せず）へ出力され、スルー画像として表示される。
【００４６】
次にステップＳ１１６では、レリーズスイッチ２１がオンされているか否かが判定され、レリーズスイッチ２１がオンされていない場合、処理はステップＳ１３０へジャンプする。一方、レリーズスイッチ２１がオンされている場合には、ステップＳ１１８においてレンズＣＰＵ１８との通信を行い、手ブレ補正処理の開始を要求するとともに、レリーズ処理を実行することをレンズＣＰＵ１８に通知する。そしてステップＳ１２０〜Ｓ１２６において、静止画の撮影が実行される。すなわち、ステップＳ１２０ではステップＳ１０８で設定されたフォーカス位置およびステップＳ１０６で決定された露出の下で、撮像素子（ＣＣＤ）１６における電荷蓄積が開始される。そしてステップＳ１２２において撮像素子（ＣＣＤ）１６に蓄積された電荷の例えば全画素読出しが行われる。ステップＳ１２４では、出力された画像信号が不揮発性の映像メモリ（図示せず）に保存され、ステップＳ１２６においてその画像がモニタ（図示せず）に表示される。
【００４７】
ステップＳ１２８で、レンズＣＰＵ１８との通信を行い、手ブレ補正処理の終了を要求し、ステップＳ１３０では、測光スイッチ２０がオンされているか否かを判定する。測光スイッチ２０がオンされていると判定されれば処理はステップＳ１０６へ戻り、オンされていないと判定されるとステップＳ１０２に戻り同様の処理が繰り返される。なお以上の処理はカメラ本体１１のメインスイッチ１９がオフされるまで、あるいはカメラがスリープモードへ移行するまで繰り返される。
【００４８】
図８は、レンズＣＰＵ１８側のフローチャートである。ステップＳ２００、Ｓ２０２ではステータスレジスタ（フラグ）、タイマカウンタ、オフセット補正値等の変数の初期化が行われる。すなわちステップＳ２００では、第２補正値リセット要求フラグＫＶＲＥＳ（１：リセット要求）、手ブレ補正フラグＢＲＥ（１：手ブレ補正駆動要求）、工程テストフラグＴＳＴ（１：工程テスト中）が初期化され、ステップＳ２０２では、三脚検知要求フラグＫＶ（１：三脚検知要求有り）、ロック状態フラグＬＯＣＫ（１：ロック解除状態）、三脚検知フラグＳＡＮ（１：三脚検知有り）、三脚検知用タイムカウンタＴｉｍ、第２補正値ＶＶｘ、ＶＶｙ（以下、両者をＶＶで表す）の初期化が行われる。すなわち、ステップＳ２００では、ＫＶＲＥＳ＝０、ＢＲＥ＝０、ＴＳＴ＝０とされ、ステップＳ２０２では、ＫＶ＝１、ＬＯＣＫ＝０、ＳＡＮ＝０、Ｔｉｍ＝０、ＶＶ（ＶＶｘ、ＶＶｙ）＝０が設定される。
【００４９】
ステップＳ２００、Ｓ２０２において、ステータスレジスタ（フラグ）、タイマカウンタ、オフセット補正値等の変数の初期化が終了すると、ステップＳ２０４において、カメラＣＰＵ１７から通信要求があったか否かが判定され、この判定はカメラＣＰＵ１７から通信要求があるまで繰り返される。レンズＣＰＵ１８においてカメラＣＰＵ１７から通信要求が検出されると、ステップＳ２０６、Ｓ２０８、Ｓ２１０、Ｓ２１２において、カメラＣＰＵ１７からの通信が、第２補正値のリセット要求（Ｓ２０６）か、手ブレ補正開始の要求か（Ｓ２０８）、手ブレ補正終了の要求か（Ｓ２１０）、工程テストの要求か（Ｓ２１２）が順次判定される。
【００５０】
カメラＣＰＵ１７からの通知が、第２補正値リセット要求である場合には、ステップＳ２１４において第２補正値リセット要求フラグＫＶＲＥＳが１に設定される。また、手ブレ補正開始の要求の場合には、ステップＳ２１６においてフラグＢＲＥが１に設定され、手ブレ補正終了の要求の場合には、ステップＳ２１８においてフラグＢＲＥが０に設定される。そして工程テストの要求の場合には、ステップＳ２２０において工程テストフラグＴＳＴが１に設定される。ステップＳ２０６〜ステップＳ２１２の判定が全て終了すると、処理はステップＳ２０４に戻り、同処理はレンズＣＰＵ１８の電源がオフされるまで繰り返される。
【００５１】
また、レンズＣＰＵ１８では、１ｍｓの周期で図９のフローチャートに示されるタイマ割り込みが発生する。以下図２、図６、図９を参照して、本実施形態の１ｍｓタイマ割り込み処理について説明する。
【００５２】
１ｍｓタイマ割り込み処理では、ステップＳ３００、Ｓ３０２、Ｓ３０４、Ｓ３０６、ステップＳ３０８において、第２補正値リセット要求フラグＫＶＲＥＳ＝１か否か（第２補正値（ＶＶ）のリセットが要求されているか）、三脚検知要求フラグＫＶ＝１であるか否か（カメラが静止状態にあるか否かを検知する三脚検知処理が要求されているか）、手ブレ補正フラグＢＲＥ＝１であるか否か（手ブレ補正の駆動が要求されているか）、手ブレ補正フラグＢＲＥ＝０であるか否か（手ブレ補正の停止が要求されているか）、工程テストフラグＴＳＴ＝１であるか否か（工程テストが要求されているか）が順次判定される。ステップＳ３００〜ステップＳ３０６の各ステップにおける判定がＮｏのときには、次のステップの判定が行われ、ステップＳ３００〜ステップＳ３０８の全ての判定が終了すると、本タイマ割り込み処理は終了する。一方、ステップＳ３００〜ステップＳ３０８の各ステップにおける判定がＹｅｓのときには、以下に説明する各フラグに対応する処理が実行された後、ステップＳ３００〜ステップＳ３０８の中の次のステップにおけるフラグ判定が行われる。
【００５３】
ステップＳ３００において、第２補正値リセット要求フラグＫＶＲＥＳ＝１であるときには（第２補正値（ＶＶ）のリセットが要求されている場合）、ステップＳ３１０において、後述する第２補正値ＶＶのリセット処理が行われる。そして、ステップＳ３１２において第２補正値リセット要求フラグＫＶＲＥＳが０に設定され、ステップＳ３０２の判定が実行される。
【００５４】
ステップＳ３０２において、三脚検知要求フラグＫＶ＝１のときには（カメラが静止状態にあるか否かを検知する三脚検知処理が要求されている場合）、ステップＳ３１４において後述するジャイロ出力を用いた三脚検知処理を実行し、三脚検知処理実行後、ステップＳ３０４の判定を実行する。なお、同処理において、カメラが静止状態（三脚使用状態）にあると判断されるときには、後述するゲインＧＧｘ、ＧＧｙの算出が行われるとともに三脚検知フラグＳＡＮが１に設定される。
【００５５】
ステップＳ３０４において、手ブレ補正フラグＢＲＥ＝１（手ブレ補正駆動要求）のときには、ステップＳ３１６においてロック状態フラグＬＯＣＫ＝０であるか否か、すなわち手ブレ補正機構１３がロック状態にあるか否かが判定される。ロック状態にない場合（ロック解除状態の場合）には、ステップＳ３１８において後述する手ブレ補正処理を実行した後、ステップＳ３０６の判定を実行する。一方、ロック状態フラグＬＯＣＫ＝０の場合（ロック状態の場合）、ステップＳ３２０において、後述する中心駆動処理を実行して、補正レンズ１４をロック時可動範囲３４（図３（ｂ））の中心に移動するとともに、ステップＳ３２２においてロック環３０を回動してロックを解除して、ステップＳ３２４においてロック状態フラグＬＯＣＫを１（ロック解除状態）に設定する。そしてその後にステップＳ３１８の手ブレ補正処理を開始し、ステップＳ３０６の判定を実行する。
【００５６】
ステップＳ３０６において、手ブレ補正フラグＢＲＥ＝０（手ブレ補正停止要求）のときには、ステップＳ３２０においてロック状態フラグＬＯＣＫ＝１であるか否か、すなわち手ブレ補正機構１３がロック解除状態にあるか否かが判定される。ロック解除状態にない場合（ロック状態の場合）には、直ちにステップＳ３０８の判定が実行される。一方、ロック状態フラグＬＯＣＫ＝１（ロック解除状態）の場合には、ステップＳ３２６において、ステップＳ３２０と同様の中心駆動処理が実行され、レンズ１４をロック解除時可動範囲３３（図３（ａ））の中心に移動する。そして、ステップＳ３２８において、ロック環３０を回転して手ブレ補正機構１３をロックするためのロックモータ４４の駆動を開始する（ロック処理）。そして、ステップＳ３３０において、三脚検知フラグＳＡＮ＝１であるか否か、すなわち現在カメラが静止状態（三脚使用状態）にあるか否かが判定される。
【００５７】
三脚検知フラグＳＡＮ≠１のとき（静止状態にない場合）、ステップＳ３３２においてロック環３０による手ブレ補正機構１３のロックが完了したか否かが判定され、同処理はロックが完了するまで繰り返される。ロックの完了が確認されると、ステップＳ３３４においてロック状態フラグＬＯＣＫが０（ロック状態）に設定され、ステップＳ３０８の判定が実行される。一方、ステップＳ３３０においてＳＡＮ＝１（静止状態にある）と判定されると、ステップＳ３３６において後述するゲインデータ更新処理が実行されるとともに、ステップＳ３３８において三脚検知フラグＳＡＮが０（静止状態にない）に設定された後、ステップＳ３３２以下の処理が実行される。すなわち、ステップＳ３０６において、手ブレ補正フラグＢＲＥ＝０（手ブレ補正停止要求）と判定されると、手ブレ補正処理が実行されることなく手ブレ補正機構１３がロックされ、手ブレ補正機構１３をロックするためにロックモータ４４が駆動されている間（ロック処理作動中）にゲインデータ更新処理Ｓ３３６が実行される。
【００５８】
ステップＳ３０８において、工程テストフラグＴＳＴ＝１（工程テスト要求）のときには、ステップＳ３４０において後述する工程テストが実行される。そして、ステップＳ３４２において工程テストフラグＴＳＴが０（工程テスト要求なし）に設定され、本タイマ割り込み処理は終了する。なお、工程テストフラグＴＳＴ＝１（工程テスト要求）で要求されるテストは、出荷前の工場における調整工程で行われる温度キャリブレーションテストである。すなわち、出荷後、工程テストフラグＴＳＴは常時０であり、工程テストが通常行われることはない。
【００５９】
次に図６、図１０を参照して、図９のステップＳ３４０において実行される工程テスト処理について説明する。なお、温度補正は、ジャイロ２３Ｘ、２３Ｙのそれぞれに対して行われ、工程テストも両ジャイロに対して独立に行われる。しかし両者は同一の方法で取り扱われるので、以下の説明では、図１９の説明と同様に、各ジャイロ２３Ｘ、２３Ｙとの対応を示す添え字ｘ、ｙを除いたゲインＧＧ、ジャイロ出力Ｖ、オフセット補正値Ｖｒ、ＶＶ、補正出力Ｖｏｕｔ等の変数を用いて説明する。
【００６０】
レンズＣＰＵ１８の工程テスト処理では、まずステップＳ４００において、フラッシュメモリ５１のゲインＧＧ（後述）の書き込み領域がクリアされる。領域のクリアには所定時間掛かるので、レンズＣＰＵ１８はステップＳ４０２において５０ｍＳ待機し、その後ステップＳ４０４において、第１補正値Ｖｒの値、および第２補正値ＶＶの値が０に設定される。ステップＳ４０６、Ｓ４０８では、制御部３９において、ジャイロ２３Ｘ、２３ＹのＡＤ値（ジャイロ出力）Ｖ、および温度センサ５０のＡＤ値Ｔｅｍｐが取得されるとともに、ステップＳ４１０において、Ｖｏｕｔの値が入力される。
【００６１】
ここでは、オフセット補正値Ｖｒ、ＶＶの値が、ステップＳ４０４においてＶｒ＝０、ＶＶ＝０に設定されているので、Ｖｏｕｔ（＝Ｖ−Ｖｒ−ＶＶ）の値は、このときのジャイロ２３Ｘ、２３ＹのＡＤ値Ｖそのもの、すなわち工程調整時の温度Ｔ０でのジャイロ出力Ｖ０となる。ステップＳ４１２では、第１補正値Ｖｒの値が、このときの補正出力Ｖｏｕｔの値に設定され（Ｖｒ＝Ｖｏｕｔ＝Ｖ０）、工程テスト時の工程調整温度Ｔ０が、ステップＳ４０８で取得された現在の温度ＡＤ値Ｔｅｍｐに設定されるとともに（Ｔ０＝Ｔｅｍｐ）、ゲインＧＧが０に設定される（ＧＧ＝０）。そしてステップＳ４１４において、ステップＳ４１２で設定された、Ｖｒの値、Ｔ０の値、およびＧＧの値がフラッシュメモリ５１に記録され、工程テストは終了する。
【００６２】
次に図６および図１１のフローチャートを参照して、図９のステップＳ３１０で実行されるレンズＣＰＵ１８における第２補正値（ＶＶ）リセット処理について説明する。
【００６３】
ステップＳ５００では、フラッシュメモリ５１からゲインＧＧ、工程調整時温度Ｔ０、後述するＯＫコード（有効データコード）のデータが読み出され、ステップＳ５０２においてＯＫコードが有効であるか否かが判定される。ＯＫコードは、後述するように、前回のゲインＧＧのフラッシュメモリ５１への記録処理が有効に行われたか否かを示すコードであり、ＯＫコードが有効のときには、フラッシュメモリ５１から読み出されたゲインＧＧを用いて、ステップＳ５０４において、現在の温度Ｔｅｍｐに対する第２補正値ＶＶの値がＶＶ＝ＧＧ・（Ｔｅｍｐ−Ｔ０）として計算される。一方、ステップＳ５０２においてＯＫコードが有効でないと判定されると、ステップＳ５０８においてＧＧが０に設定され、ステップＳ５０４では、ＧＧ＝０を用いて現在の温度Ｔｅｍｐに対する第２補正値ＶＶの値がＶＶ＝ＧＧ・（Ｔｅｍｐ−Ｔ０）計算される。すなわち、ＯＫコードが無効のときには、ＶＶ＝０とされる。そしてステップＳ５０６では、フラッシュメモリ５１から読み出されたゲインＧＧ、あるいはステップＳ５０８で設定されたＧＧ＝０を用いてステップＳ５０４で算出されたＶＶの値を現温度Ｔｅｍｐにおける第２補正値ＶＶして制御部３９に設定し、本第２補正値リセット処理は終了する。
【００６４】
次に図１２を参照して、図９のステップＳ３１４で実行されるレンズＣＰＵ１８での三脚検知処理について説明する。
【００６５】
ステップＳ６００では、制御部３９においてジャイロ２３Ｘ、２３ＹのＡＤ値（ジャイロ出力）Ｖが取得され、ステップＳ６０２では、温度センサ５０のＡＤ値Ｔｅｍｐが取得される。そしてステップＳ６０４において、ジャイロ２３Ｘ、２３Ｙの補正出力Ｖｏｕｔの値が制御部３９に入力される。
【００６６】
ステップＳ６０６では、Ｖｏｕｔの変動ΔＶｏｕｔの絶対値｜ΔＶｏｕｔ｜が所定値ＭｏｖＬｖｌよりも小さいか否かが判定され、すなわち１つ前のＶｏｕｔの値と現在のＶｏｕｔの値の差をＸ、Ｙ成分毎に求め、両者の絶対値の何れもが所定値ＭｏｖＬｖｌよりも小さいか否かが判定される。｜ΔＶｏｕｔ｜のＸ、Ｙ成分の何れかが所定値ＭｏｖＬｖｌ以上のときには、カメラは動いていると考えられるので、処理はステップＳ６１８に移り、三脚検知用タイムカウンタＴｉｍの値を０にリセットして、本三脚検知処理を終了する。
【００６７】
一方、ステップＳ６０６において、｜ΔＶｏｕｔ｜のＸ、Ｙ成分の何れもが所定値ＭｏｖＬｖｌよりも小さいと判定されると、ステップＳ６０８において三脚検知用タイムカウンタＴｉｍの値が所定値よりも大きいか否かが判定される。Ｔｉｍ＞所定値でない場合には、ステップＳ６２０においてＴｉｍがインクリメントされ、処理はステップＳ６００に戻る。そして、次のジャイロ出力Ｖ、次の温度Ｔｅｍｐ、次のＶｏｕｔがステップＳ６００〜Ｓ６０４で順次取得され、｜ΔＶｏｕｔ｜＜ＭｏｖＬｖｌである限り、同処理はＴｉｍ＞所定値となるまで繰り返される。Ｔｉｍ＞所定値となるまでの一定時間、｜ΔＶｏｕｔ｜＜ＭｏｖＬｖｌであると、カメラは三脚などに設置され、静止していると判断され、処理はステップＳ６１０へと移る。
【００６８】
ステップＳ６１０では、補正出力Ｖｏｕｔの絶対値｜Ｖｏｕｔ｜が所定値ＶＬｖｌよりも大きいか否かが判定される。第２補正値ＶＶによるジャイロ出力Ｖの補正が適正に行われているならば、ステップＳ６０８においてカメラが静止されていると判断される場合には、Ｖｏｕｔは略０にならなければならない。それにもかかわらず、ステップＳ６１０において｜Ｖｏｕｔ｜＞ＶＬｖｌと判定される場合、現在のゲインＧＧを用いて算出される第２補正値ＶＶによる補正は不適切と考えられる。そのためステップＳ６１０において｜Ｖｏｕｔ｜＞ＶＬｖｌであると判断されるときには、ステップＳ６１４において三脚検知フラグＳＡＮを１に設定するとともに、ステップＳ６１６において現在の補正出力Ｖｏｕｔ、現在の第２補正値ＶＶ、現在の温度Ｔｅｍｐ、工程調整時温度Ｔ０を用いて新しいゲインＧＧが算出される。そしてステップＳ６１８において三脚検知用タイムカウンタＴｉｍの値を０にリセットして、本三脚検知処理を終了する。
【００６９】
一方、ステップＳ６１０において｜Ｖｏｕｔ｜がＶＬｖｌ以下であると判定される場合には、ステップＳ６１２において、現在の温度Ｔｅｍｐと工程調整時温度Ｔ０の差の絶対値｜Ｔｅｍｐ−Ｔ０｜が所定値ＧＧＣａｌｃよりも大きいか否かが判定される。｜Ｔｅｍｐ−Ｔ０｜＞ＧＧＣａｌｃでないときには、現在の温度Ｔｅｍｐが、工程調整時温度Ｔ０に近過ぎ、ゲインＧＧを計算しても精度が得られない判断される。そのため、ステップＳ６１４、Ｓ６１６を飛ばしてステップＳ６１８へと処理は移り、三脚検知用タイムカウンタＴｉｍの値を０にリセットして、本三脚検知処理を終了する。
【００７０】
またステップＳ６１２において、｜Ｔｅｍｐ−Ｔ０｜＞ＧＧＣａｌｃであると判定されるときには、ステップＳ６１０のＹｅｓのときと同様に、ステップＳ６１４、Ｓ６１６を実行し新たなゲインＧＧの値を掲載した後、ステップＳ６１８を実行して三脚検知用タイムカウンタＴｉｍの値を０にリセットし、本三脚検知処理を終了する。
【００７１】
次に図１３のフローチャートを参照して、図９のステップＳ３２０およびステップＳ３２６において実行されるレンズＣＰＵ１８での中心駆動処理について説明する。
【００７２】
中心駆動処理は、手ブレ補正機構１３において、補正レンズ１４を可動範囲３３、３４（図３）の中央に移動する処理であり、ステップＳ７００において、ホールセンサ２５Ｘ、２５Ｙ（図６）の出力に基づき補正レンズ１４の現在の位置情報を検出する。そしてステップＳ７０２において制御部３９における補正レンズ１４の目標位置である駆動位置（Ｘ，Ｙ）を光軸および可動範囲３３、３４の中心に対応する（０，０）に設定する。その後ステップＳ７０４、Ｓ７０６において、自動制御のための演算を、現在位置および目標位置に基づき行い、その演算結果に基づき手ブレ補正機構１３を駆動して、補正レンズ１４を中心位置（０，０）へと移動して本処理は終了する。
【００７３】
次に図１４のフローチャートを参照して、図９のステップＳ３１８において実行されるレンズＣＰＵ１８での手ブレ補正処理について説明する。
【００７４】
手ブレ補正処理では、まずステップＳ８００において、角速度センサ（ジャイロ）２３Ｘ、２３ＹからＹ軸、Ｘ軸周りの角速度信号を取得し、ステップＳ８０２においてＹ軸、Ｘ軸周りの回転角を計算する（角度演算部３６Ｘ、３６Ｙ）。ステップＳ８０４では、ステップＳ８０２において計算された回転角とレンズの焦点距離ｆなどから駆動位置Ｘ、Ｙを計算する（レンズ駆動位置計算部３７Ｘ、３７Ｙ；制御部３９）。ステップＳ８０６では、ホールセンサ２５Ｘ、２５Ｙの信号に基づき補正レンズ１４の現在位置を取得し（Ｘ、Ｙ方向駆動制御部２４Ｘ、２４Ｙ）、ステップＳ８０８の自動制御計算において、駆動位置Ｘ、Ｙとフィードバックされる現在位置の偏差から操作量を計算する（自動制御演算部４０Ｘ、４０Ｙ）。ステップＳ８１０では、操作量に基づきＸ、Ｙ方向コイル４１Ｘ、４１Ｙに電力を供給し手ブレ補正機構１３を駆動し（Ｘ、Ｙ方向駆動制御部２４Ｘ、２４Ｙ）、本実施形態の手ブレ補正処理は終了する。
【００７５】
次に図１５のフローチャートを参照して、図９のステップＳ３３６において実行されるレンズＣＰＵ１８でのゲインデータ更新処理について説明する。
【００７６】
ゲインデータ更新処理は、三脚検知フラグＳＡＮ＝１のとき、すなわち図１２の三脚検知処理のステップＳ６１６においてゲインＧＧの計算が行われたときに、ゲインＧＧをフラッシュメモリ５１に記録する処理である。まずステップＳ９００において、フラッシュメモリ５１のゲインＧＧの書き込み領域がクリアされる。領域のクリアには所定時間掛かるので、レンズＣＰＵ１８はステップＳ９０２において５０ｍＳ待機し、その後ステップＳ９０４において、ステップＳ６１６において計算されたゲインＧＧのフラッシュメモリ５１への書き込みが行われる。次に、ステップＳ９０６において、フラッシュメモリ５１へのＯＫコードの書き込みが行われ、本ゲインデータ更新処理は終了する。
【００７７】
図１６に、ゲインデータ更新処理によるフラッシュメモリ５１へのデータの書き込みの様子を模式的に示す。
【００７８】
図１６（ａ）に示されるように、本実施形態では、フラッシュメモリ５１の連続する３つのアドレス（ここでは１０００、１００１、１００２）が、Ｘ方向ゲインＧＧｘ、Ｙ方向ゲインＧＧｙ、ＯＫコードのデータに割り当てられる。書き換え時には、図１６（ｂ）に示されるように、この連続する３つのアドレスに対応する領域がクリアされ、全て「００」のデータが書き込まれる。その後、図１６（ｃ）、（ｄ）に示されるように、Ｘ方向ゲインＧＧｘ、Ｙ方向ゲインＧＧｙ、ＯＫコードの順で、各メモリ領域への書き込みが連続して行われる。ＯＫコードは例えば「０１」であり、ＯＫコードの書き込みが完了していれば、このアドレスには「０１」のデータが記録されている。しかし、ゲインデータ更新処理の途中で、レンズが取り外されるなどして、レンズの電源がオフされてしまった場合、ＯＫコードを記録する領域には「００」のデータが記録されている。すなわち、図１１の第２補正処理リセット処理のステップＳ５０２におけるＯＫコードが有効なときとは、同領域から読み出されたデータが「０１」のときであり、「００」の場合には、読み出されたゲインＧＧｘ、ＧＧｙが不正データである可能性がある。
【００７９】
次に図１７のタイミングチャートを参照して、本実施形態のゲインデータ更新処理（図９のＳ３３６、図１５）が実行されるタイミングについて説明する。図１７の横軸は時間に対応し、図１７（ａ）は、ロック環３０を含む手ブレ補正機構１３（図２参照）の動作内容を、図１７（ｂ）は補正レンズ１４の動きを模式的に示す。
【００８０】
時点ｔ０でレンズ電源がＯＮされ、レンズＣＰＵ１８がｔ１でカメラＣＰＵ１７から第２補正値リセット（命令（要求）（Ｓ１０４またはＳ１３２）が通知され、続いてｔ２でカメラＣＰＵ１７から手ブレ補正処理開始要求（命令）（Ｓ１１８）あると、略同時に手ブレ補正レンズの中心駆動処理（Ｓ３２０）がｔ２〜ｔ３の間に行われ、更にロック環３０のロック解除処理（Ｓ３２２）がｔ３〜ｔ４の間に行われる。ロック環３０が解除されると、手ブレ補正処理（Ｓ３１８）が実行され、図１７（ｂ）に示されるように補正レンズ１４が、手ブレに合わせて中心周りに搖動される。ｔ５においてレンズＣＰＵ１８がカメラＣＰＵ１７から手ブレ補正終了命令（要求）（Ｓ１２８）を通知されると、中心駆動処理（Ｓ３２６）がｔ５〜ｔ６の間に行われ、中心駆動処理が終了すると直ちにロック環３０をロックするためのロック処理（Ｓ３２８）が開始され、ｔ７にロック処理動作が終了する（Ｓ３３２のＹｅｓ）。本実施形態では、ロック処理（Ｓ３２８）が開始されてから終了するまでの期間ｔ６〜ｔ７の間に、ゲインデータ更新処理（Ｓ３３６）を実行する期間ＴＰ１を設ける。
【００８１】
ゲインデータのメモリへの書き込みには一定の時間が掛かるので、書き込みの最中に鏡筒１２がカメラ本体１１から外されるなどしてレンズＣＰＵ１８の電源がオフされる可能性がある。その場合、ゲインデータが正しくメモリに記録されていないので、次回のゲインデータを利用するときに適正な温度補正を行うことができない。そこで本実施形態では、ロックモータ４４が駆動している間に、ゲインデータの更新処理（Ｓ３３６）を行うことで、メモリへの書き込み途中で、レンズＣＰＵ１８の電源がオフされることを防止する。すなわち、ロックモータ４４が駆動している間は、通常モータ音が発せられており、多少の振動もあるため、ユーザが誤って鏡筒１２をカメラ本体１１から取り外す可能性は極めて低い。そのため、本実施形態では、同期間中にゲインデータのフラッシュメモリ５１への書き込みを行う。また、本実施形態では、ゲインデータに続けてＯＫコードを記録する構成としたことで、データ読み出し時にＯＫコードを参照することで、読み出されたゲインデータの有効性を判断することが可能である。
【００８２】
ゲイン更新処理（Ｓ３３６）は、レンズの電源がオフされない状況であれば、他のタイミングで行われてもよい。例えば中心駆動が開始されてからロック環のロックが完了するまでの期間ｔ５〜ｔ７は、手ブレ補正機構１３のモータやアクチュエータが駆動されており、ユーザが電源をオフする可能性は低いので、この期間ＴＰ（ｔ５〜ｔ７）、あるいはｔ２〜ｔ４の期間の間にゲインデータ更新処理を行う場合にも同様に、メモリへの書き込み途中で、レンズＣＰＵ１８の電源がオフされることを防止することができる。これにより本実施形態によれば、センサ出力の温度補正のための情報を適切に管理することができる。
【００８３】
図１８に、期間ＴＰの中心駆動処理中にゲインデータ更新処理を行う場合のレンズＣＰＵ１８の１ｍＳタイマ割り込み処理のフローチャートを変形例として示す。
【００８４】
図１８のフローチャートは、図９のフローチャートに対応し、図９と異なるのは、ステップＳ３２６〜Ｓ３３８までのフローであり、その他の処理は図９の各ステップと同様である。したがって、本図の説明では、ステップＳ３２６〜Ｓ３３８に置き換えられるステップＳ３４６〜Ｓ３５８についてのみ説明する。
【００８５】
ステップＳ３２０でロック状態フラグＬＯＣＫ＝１であると判定されると、ステップＳ３４６において、図９のステップＳ３２６と同様に中心駆動処理が開始される。図９のフローでは、中心駆動処理が終了してから、ステップＳ３３０の三脚検知フラグＳＡＮ＝１であるか否かが判定されたが、変形例では、中心駆動処理が開始されると直ぐに、ステップＳ３４８において三脚検知フラグＳＡＮ＝１であるか否かの判定が行われる。
【００８６】
三脚検知フラグＳＡＮ≠１のとき（静止状態にない場合）には、手ブレ補正機構１３による中心駆動処理が完了したか否かがステップＳ３５０において判定され、同処理は中心駆動処理が完了するまで繰り返される。ステップＳ３５０において中心駆動処理の完了が確認されると、ステップＳ３５２においてロック環３０による手ブレ補正機構１３のロック処理が実行される。ステップＳ３５２においてロックが完了すると、ステップＳ３５４においロック状態フラグＬＯＣＫが０（ロック状態）に設定され、以下図９と同様にステップＳ３０８の判定が実行される。
【００８７】
一方、ステップＳ３４８においてＳＡＮ＝１（静止状態にある）と判定されると、ステップＳ３５６において図９のステップＳ３３６と同様にゲインデータ更新処理が実行されるとともに、ステップＳ３５８において図９のステップＳ３３８と同様に三脚検知フラグＳＡＮが０（静止状態にない）に設定される。その後は、ステップＳ３５０以下の処理が実行される。すなわち、ステップＳ３０６において、手ブレ補正フラグＢＲＥ＝０（手ブレ補正停止要求）と判定されると、補正レンズ１４を可動範囲の中心に移動するためにアクチュエータが駆動されている間（中心駆動処理作動中）にゲインデータ更新処理Ｓ３５６が実行される。
【００８８】
以上のように変形例において本実施形態と同様に、ゲインデータのメモリへの書き込み途中で、レンズＣＰＵ１８の電源がオフされることを防止することができる。
【００８９】
なお、本実施形態および変形例では、ジャイロ出力を用いてカメラの静止状態を検知したが、加速度センサなど他のセンサを搭載し、これらのセンサ出力に基づいて静止状態を検知してもよい。また、本実施形態および変形例では、ユーザによりレンズ電源がオフされない状況、例えばレンズのモータやアクチュエータなどの駆動部が稼働している最中にデータのメモリへの書き込みが行われた。しかし、本発明を駆動部が停止しているときにメモリへの書き込みを行い、ＯＫコードの付加により記録されたゲインの有効性を判断する構成にしてもよく、この場合、無効なゲインデータが発生する可能性は増大するものの、ゲインデータの記録が適正に行われていない場合であっても、温度補正処理を実行することができる。
【符号の説明】
【００９０】
１０  カメラ
１３  手ブレ補正機構
１４  補正レンズ
１６  撮像素子
１７  カメラＣＰＵ
１８  レンズＣＰＵ
１９  メインスイッチ
２１  レリーズスイッチ
２２  手ブレ補正スイッチ
２３Ｘ、２３Ｙ  角速度センサ
２４Ｘ、２４Ｙ  駆動制御部
２５Ｘ、２５Ｙ  ホールセンサ（位置センサ）
２６  ロック機構
２６Ｓ  フォトインタラプタ（ロック検知センサ）
２８  可動部
２８Ｐ  突起
３０  ロック環
３０Ａ、３０Ｂ  切り欠き
３０Ｐ  凹部
３０Ｒ  ラック部
３２  ピニオン
４４  ロックモータ
５０  温度センサ
５１  フラッシュメモリ（不揮発性メモリ）
【図１】
2015200797.tif 000003
【図２】
2015200797.tif 000004
【図３】
2015200797.tif 000005
【図４】
2015200797.tif 000006
【図５】
2015200797.tif 000007
【図６】
2015200797.tif 000008
【図７】
2015200797.tif 000009
【図８】
2015200797.tif 000010
【図９】
2015200797.tif 000011
【図１０】
2015200797.tif 000012
【図１１】
2015200797.tif 000013
【図１２】
2015200797.tif 000014
【図１３】
2015200797.tif 000015
【図１４】
2015200797.tif 000016
【図１５】
2015200797.tif 000017
【図１６】
2015200797.tif 000018
【図１７】
2015200797.tif 000019
【図１８】
2015200797.tif 000020
【図１９】
2015200797.tif 000021