(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0023】
以下、本発明の実施形態について、本発明をデジタルカメラに適用した場合を例にして、図面を参照しつつ説明する。なお、本明細書においては、単に補正係数というときは、振幅補正係数およびオフセット補正係数の両方のことをいうものとする。
【0024】
図1は本実施形態に係るデジタルカメラ1の構成を示すブロック図である。デジタルカメラ1は、ボディ部1aと、ボディ部1aに取付けられたレンズ鏡筒100とから構成されている。
【0025】
レンズ鏡筒100内には撮像光学系101が配置されている。撮像光学系101は複数のレンズ群を有し、焦点調節レンズ102を含んでいる。焦点調節レンズ102は光軸方向に移動可能な保持枠103に保持されている。つまり、焦点調節レンズ102は保持枠103を介して光軸方向に移動可能となっている。保持枠103には磁気スケール104が設けられている。磁気スケール104は、焦点調節レンズ102の駆動方向に沿って所定のピッチでS極とN極とを交互に着磁させることで構成されている。レンズ鏡筒100の内壁の、磁気スケール104と対向する位置には、磁気抵抗効果を利用した磁気センサ105が配置されている。磁気スケール104と磁気センサ105とは適切な距離の空隙を介して対向している。
【0026】
保持枠103が光軸方向へ移動すると、磁気センサ105からは保持枠103の位置変化に対応して相互に90°の位相差がある2相の正弦波状信号が出力される。これら2つの正弦波状信号をA相およびB相の正弦波状信号とする。A相およびB相の正弦波状信号は、磁気スケール104と磁気センサ105との光軸方向の位置の変位に対応しており、A相およびB相の正弦波状信号の1周期は、保持枠103の所定の変位量、すなわち焦点調節レンズ102の光軸方向への所定の変位量と対応している。焦点調節レンズ102の光軸方向の位置は、この2相の正弦波状信号を位置演算ブロック120で演算処理することにより取得される。このように、磁気スケール104と磁気センサ105とは、焦点調節レンズ102の位置検出手段を構成している。なお、以下の説明においては、A相の正弦波状信号をA相信号と、B相の正弦波状信号をB相信号とそれぞれ略記する。
【0027】
撮像素子110および焦点検出部111は、デジタルカメラ1のボディ部1a側に配置された要素である。なお、
図1中の他の要素は、レンズ鏡筒100側に配置された要素である。図示しない被写体からの光は撮像光学系101を介して撮像素子110に結像される。撮像素子110は結像した被写体像を電気信号に変換する。電気信号に変換された被写体像はボディ部1a側の図示しない画像処理部で、公知の方法によって所定の画像処理が施される。被写体光の一部は焦点検出部111へ導かれて焦点検出処理が行われる。焦点検出部111で検出された焦点位置はレンズ駆動制御部112に入力される。
【0028】
位置演算ブロック120は、AD変換部121a、121bと、振幅オフセット補正部121と、位置演算部122と、補正係数保持部123と、補正係数生成部124と、不揮発性メモリ125とから構成されている。
【0029】
磁気センサ105から出力されたA相およびB相信号は、それぞれAD変換部121a、121bに入力される。すなわちAD変換部121a、121bによってサンプリングされる。AD変換部121a、121bは図示しないサンプル・ホールド回路をそれぞれ含んでいる。A相およびB相信号はAD変換部121a、121bでそれぞれデジタル信号に変換される。デジタル信号に変換されたA相およびB相信号は振幅オフセット補正部121に入力され、後述する所定の計算式に則って振幅およびオフセットが補正され、正規化される。振幅およびオフセットの補正は、補正係数保持部123に保持された振幅補正係数およびオフセット補正係数を用いて行われる。振幅およびオフセットが補正されたA相およびB相信号は、位置演算部122に入力される。
【0030】
位置演算部122は周期カウント部122aと内挿処理演算部122bとを含んでいる。周期カウント部122aはA相およびB相信号の周期をカウントする。内挿処理演算部122bは1周期内における焦点調節レンズ102の位置を演算する。内挿処理方法としては、2相の正弦波状信号の逆正接を演算して位相角を求め、その値を距離に換算している。位置演算部122は、周期カウント部122aのカウント結果と内挿処理演算部122bの演算結果とに基づいて焦点調節レンズ102の位置演算を行う。位置演算部122での演算結果すなわち焦点調節レンズ102の位置は、レンズ駆動制御部112に入力される。
【0031】
レンズ駆動制御部112では、上記焦点検出部111で得られた焦点位置情報と、位置演算部122で演算されたレンズ位置情報とに基づいて焦点調節レンズ102の駆動制御を行う。具体的には、焦点位置に焦点調節レンズ102を移動させる。焦点調節レンズ102の駆動制御はモータ駆動部113を介して行われる。モータ駆動部113はレンズ駆動モータ114の駆動回路であり、レンズ駆動制御部112からの指示に従ってレンズ駆動モータ114を駆動し、焦点調節レンズ102を光軸方向に移動させる。こうして、焦点調節レンズ102は目標位置である焦点位置まで移動される。
【0032】
補正係数生成部124は補正係数の更新処理を行う。不揮発性メモリ125は、補正係数の初期値を格納している。これらの要素については、それぞれ後述する補正係数更新処理フローおよびレンズ駆動装置の初期化処理フローの説明において説明する。
【0033】
レンズ鏡筒100内には、温度センサ106が配置されている。温度センサ106はレンズ鏡筒100内部の温度を常に測定している。温度センサ106で測定された温度はAD変換部131でデジタル信号に変換され、補正係数更新要否判定部132に入力される。補正係数更新要否判定部132は、温度センサ106からの温度情報に基づいて、補正係数保持部123に保持されている補正係数を更新する必要があるか否かを判定する。補正係数を更新するか否かは、具体的には、最後に補正係数を更新したときのレンズ鏡筒100内の温度と現在のレンズ鏡筒100内の温度との差が所定の値よりも大きいか否かで判定する。補正係数更新要否判定部132は、この温度差が所定の値よりも大きければ補正係数を更新する必要があると判定する。判定結果はレンズ駆動制御部112に入力され、補正係数生成部124が補正係数の更新処理を行う。
【0034】
このように、本実施形態においては、焦点調節レンズ102と、レンズ保持枠103と、位置演算ブロック120と、モータ駆動部113と、レンズ駆動モータ114と、レンズ駆動制御部112と、温度センサ106と、補正係数更新要否判定部132とで、焦点調節レンズ102を駆動制御するためのレンズ駆動装置を構成している。
【0035】
次に、振幅オフセット補正部121での補正処理について説明する。振幅オフセット補正部121では、以下の式(1)、(2)に従ってA相およびB相信号の補正処理を行い、これらA相およびB相信号を正規化している。
(1)A相信号:Va-nrm=(Va−OfsA)/AmpA
ただし、
Va-nrm:振幅およびオフセット補正後のA相信号の電圧値
Va:AD変換されたA相信号の電圧値
OfsA:A相信号のオフセット補正係数
AmpA:A相信号の振幅補正係数
(2)B相信号:Vb-nrm=(Vb−OfsB)/AmpB
ただし、
Vb-nrm:振幅およびオフセット補正後のB相信号の電圧値
Vb:AD変換されたB相信号の電圧値
OfsB:B相信号のオフセット補正係数
AmpB:B相信号の振幅補正係数
【0036】
また、振幅オフセット補正部121での補正処理で必要となる振幅補正係数AmpA、AmpB、およびオフセット補正係数OfsA、OfsBは、A相およびB相信号の電圧値の最大値と最小値とを用いてそれぞれ以下の式(3)〜(6)から求められる。
(3)A相信号の振幅補正係数 AmpA=(Va-max−Va-min)/2
ただし、
Va-max:A相信号の最大電圧値
Va-min:A相信号の最小電圧値
(4)B相信号の振幅補正係数 AmpB=(Vb-max−Vb-min)/2
ただし
Vb-max:B相信号の最大電圧値
Vb-min:B相信号の最小電圧値
(5)A相信号のオフセット補正係数 OfsA=(Va-max+Va-min)/2
ただし、
Va-max:A相信号の最大電圧値
Va-min:A相信号の最小電圧値
(6)B相信号のオフセット補正係数 OfsB=(Vb-max+Vb-min)/2
ただし、
Vb-max:B相信号の最大電圧値
Vb-min:B相信号の最小電圧値
【0037】
ここで、実際の磁気センサ105においては、周期的に出力されるA相およびB相信号の振幅は、焦点調節レンズ102の駆動範囲の全領域において一定となっているわけではない。つまり焦点調節レンズ102の位置によって変動がある。例えば焦点調節レンズ102の位置によって磁気センサ105と磁気スケールとの間の空隙が変化すると、振幅は変動する。そこで、本実施形態では、焦点調節レンズ102の駆動領域を複数の領域ブロックに分割し、領域ブロックごとに振幅補正係数およびオフセット補正係数を設定する構成としている。そして領域ブロックごとに設定された振幅補正係数およびオフセット補正係数を補正係数保持部123が保持している。本実施形態においては、1つの領域ブロックに対応する焦点調節レンズ102の光軸方向の移動距離は、A相およびB相信号の1/2の周期に相当する距離としている。つまり、焦点調節レンズ102の移動範囲の一方端から他方端までの距離を、当該1/2の周期に相当する距離で分割している。なお、以後の説明において、A相およびB相信号について最大値または最小値というときは、各信号の最大電圧値または最小電圧値のことをいう。
【0038】
図2(a)は、領域ブロックごとの補正係数と各信号との関係を示す図であり、
図2(b)は周期番号、領域ブロック番号、および各領域ブロック番号に対応する補正係数の一覧表である。なお、本実施形態におけるA相およびB相信号の周期の番号は、
図2(a)、(b)に示すように、n(n=0、1、2、・・・、m)とする。また、各周期に対応する領域ブロックの番号は、2nおよび2n+1(n=0、1、2、・・・、m)とする。例えば、周期番号1の周期に対応する領域ブロックは、番号2および3の領域ブロックである。
【0039】
図2(a)に示すように、周期番号n(n=0、1、2、・・・、m)の周期に対応する領域ブロックは、領域ブロック番号2nおよび2n+1の2つであるが、番号2nの領域ブロックには、番号nの周期におけるB相信号の最大値とA相信号の最小値とが含まれている。また、番号2n+1の領域ブロックには、番号nの周期におけるA相信号の最大値とB相信号の最小値とが含まれている。番号nの周期の次の周期である番号n+1の周期についても同様である。このように、各領域ブロックには、当該周期におけるA相信号およびB相信号の一方の最大値と他方の最小値とが含まれている。そして隣り合う領域ブロックとは、含まれる最大値および最小値の信号の相が異なるものとなっている。
【0040】
各領域ブロックにおいて補正係数を求める際、すなわち式(3)〜(6)を計算する際に、各信号の最大値および最小値は、次のものを用いるようになっている。すなわち、当該領域ブロックに含まれるものはそれを用い、含まれないものは隣接する領域ブロックに含まれるものを用いる。例えば
図2(a)の番号2n+1の領域ブロックにおいては、次のようになる。まずA相信号に関する補正係数を求める場合は、A相の最大値は当該領域ブロックに含まれるのでこれを用いる。最小値については、当該領域ブロックには含まれていないので、隣接する領域ブロック、本実施形態においては番号2nの領域ブロックに含まれる最小値を用いている。ここで、反対側に隣接する番号2n+2の領域ブロックに含まれる最小値を用いずに番号2nの領域ブロックに含まれる最小値を用いているのは、焦点調節レンズ102の移動範囲において、番号2n+2の領域ブロックに含まれるA相信号の最小値に対応する位置よりも、番号2nの領域ブロックに含まれるA相信号の最小値に対応する位置の方が、番号2n+1の領域ブロックに近いからである。こちらの値を用いて計算することにより、番号2n+1の領域ブロックの状態に近い状態の値で補正係数を求めることができる。
【0041】
番号2n+1の領域ブロックにおいてB相信号に関する補正係数を求める場合も同様に、B相の最小値は当該領域ブロックに含まれるのでこれを用いる。また、最大値については、番号2n+1の領域ブロックには含まれていないので、隣接する領域ブロックのうち、番号2n+1の領域ブロックに近い位置にある最大値を含んでいる方の領域ブロック、つまり番号2n+2の領域ブロックに含まれる最大値を用いている。
【0042】
次に、焦点調節レンズ102の駆動制御処理について、
図3のフロー図を参照して説明する。
図3は焦点調節レンズ102の駆動制御のフロー図である。
【0043】
デジタルカメラ1に初めて電源を投入した際は、まずレンズ駆動系、すなわちレンズ駆動装置の初期化処理が実行される(ステップ201)。レンズ駆動系の初期化処理の詳細については後述するが、初期化処理の実行中に補正係数の最初の更新処理が実行され、その際のレンズ鏡筒100内の温度が最終更新時の温度Tsとして補正係数更新要否判定部132に記憶される。
【0044】
初期化処理終了後は、デジタルカメラ1はユーザー操作が可能な状態となり、レンズ駆動制御部112はユーザー操作等による合焦駆動指令を待つ(ステップS202)。このとき補正係数更新要否判定部132では、振幅オフセット補正処理に使用する補正係数を更新する必要があるか否かの判定処理が並行して行われる。具体的には、レンズ鏡筒100の現在の内部温度Tcと補正係数の最終更新時におけるレンズ鏡筒100の内部温度Tsとの差が規定の値を超えた場合に更新処理が必要と判定するものとする。補正係数の更新要否判定の詳細については、
図8のフロー図を参照して後述する。
【0045】
レンズ駆動制御部112は、合焦駆動指令を受信すると、補正係数更新要否判定部132での判定結果を確認する(ステップS203)。補正係数の更新が必要と判定された場合は、レンズ駆動制御部112は合焦駆動による焦点調節レンズ102の移動量を確認する(ステップS204)。焦点調節レンズ102の移動量がA相およびB相信号の1周期に対応する距離以上であれば、レンズ駆動制御部112は焦点調節レンズ102の合焦駆動中に補正係数の更新処理を実行するための準備を行う。すなわち、レンズ駆動制御実行中の焦点調節レンズ102の移動速度の上限値を設定する。このときに設定される上限速度をVlimitCPと表す。同時に、レンズ駆動制御部112は補正係数の更新処理を補正係数生成部124に指示する(ステップS205)。
【0046】
ここでVlimitCPとは、通常状態の焦点調節レンズ102の移動速度であるデフォルト上限速度よりも遅い速度であって、AD変換部121a、121bが磁気センサ105からの出力信号の最大値および最小値を正確にサンプリング可能な速度の上限値である。焦点調節レンズ102がVlimitCPを越える速度で移動中にサンプリングを行うと、その精度は粗くなり、信号の最大値および最小値を正確に取得することができなくなってしまう。一方、ステップS203で補正係数の更新処理が不要な場合、またはステップS204で焦点レンズ102の移動距離がA相およびB相信号の1周期に対応する距離よりも短い場合は、補正係数の更新処理は行わないので、レンズ駆動制御部112は焦点調節レンズ102の移動速度を通常のデフォルト上限速度に設定する(S206)。
【0047】
上限速度の設定後は、レンズ駆動制御部112は通常の制御則に従って焦点調節レンズ102の駆動制御処理を行う(ステップS207)。具体的には、焦点検出部111から取得した目標合焦位置情報および位置演算ブロック120の位置演算部122から取得した現在の焦点調節レンズ102の位置情報、さらに、設定された上限速度等のパラメータから焦点調節レンズ102の適切な駆動速度を演算し、その演算結果に相当する駆動指令をモータ駆動部113に出力する。モータ駆動部113はこの駆動指令に従って駆動モータ114を駆動する。このステップS207の焦点調節レンズ102の駆動速度演算処理は、焦点調節レンズ102が目標位置に到達するまで繰り返し実行される。
【0048】
具体的な焦点調節レンズ102の移動は次の通りである。まず、ステップS205で補正係数の更新処理が指示されていた場合は、焦点調節レンズ102はVlimitCP以下の速度で移動する。そして焦点調節レンズ102がVlimitCP以下の速度で移動している間に、AD変換部121a、121bがA相およびB相信号の最大値および最小値を精度良くサンプリングする。補正係数生成部124は、AD変換部121a、121bが取得したA相およびB相信号の最大値および最小値を取得し、これら最大値および最小値を用いて補正係数の更新処理を行う。補正係数生成部124での補正係数更新処理の詳細については後述する。一方、ステップS206で焦点調節レンズ102の駆動速度がデフォルト上限速度に設定された場合は、補正係数の更新処理は行われず、焦点調節レンズ102はデフォルト上限速度を上限とする速い速度で目標位置まで移動される。
【0049】
レンズ駆動制御部112は、焦点調節レンズ102の駆動中は、焦点調節レンズ102が目標位置に到達したか否かを常に確認している(ステップS208)。また、レンズ駆動制御部112は、ステップS205で補正係数の更新処理を指示していた場合であって、かつステップS208にて焦点調節レンズ102が目標位置に未到達であると判断された場合は、補正係数生成部124で実行されている補正係数の更新処理の状態を確認する(ステップS210)。更新処理が完了していない場合はステップS207に戻り、焦点調節レンズ102の駆動速度の演算を再度実行する。更新処理が完了していた場合は、レンズ駆動制御部112は、即座に焦点調節レンズ102の移動上限速度のVlimitCP以下への制限を解除する(ステップS211)。そしてステップS207に戻り、焦点調節レンズ102の駆動速度の演算を再度実行する。このとき移動上限速度のVlimitCP以下への制限は解除されているので、補正係数の更新処理完了後以降のステップS207でのレンズ駆動速度演算では駆動速度を通常の上限速度に設定することが可能となる。ステップS208にて焦点調節レンズ102の目標位置への到達を確認したら焦点調節レンズ102の駆動を停止し(ステップS209)、ステップS202に戻って次の合焦駆動の指令を待つ。
【0050】
以上のように焦点調節レンズ102の駆動制御を行うことで、補正係数の更新が必要なときに精度良くA相およびB相信号の最大値および最小値を取得し、確実に更新処理を実行することが可能となる。
図4(a)、(b)は焦点調節レンズ102の移動速度の変化を示すグラフであり、
図4(a)は通常時の移動速度(単位:mm/sec)を表し、
図4(b)は補正係数更新処理実行時の移動速度(単位:mm/sec)を示している。
図4(b)に示すように、焦点調節レンズ102の移動速度は、補正係数の更新処理を実行している間は移動上限速度をVlimitCPとし、それ以外のときはデフォルト上限速度としている。
【0051】
次に、補正係数生成部124による補正係数の更新処理を説明する。
図5は補正係数生成部124による補正係数の更新処理を示すフロー図である。
【0052】
補正係数更新要否判定部132が補正係数の更新が必要と判定すると、レンズ駆動制御部112は補正係数生成部124に補正係数の更新指令を発信する。補正係数生成部124は、補正係数の更新指令を受信すると、まずA相およびB相信号の最大値および最小値を記憶する変数をクリアする(ステップS401)。これにより補正係数保持部123に保持されていた現在の補正係数がクリアされる。
【0053】
次にAD変換部121a、121bが取得した各相の信号を取得し、焦点調節レンズ102が1周期相当の距離を移動する間での各相の信号の最大値および最小値を検出する処理を開始する(ステップS402)。このとき、焦点調節レンズ102はVlimitCP以下の速度で移動しているので、各相の信号の最大値および最小値は精度良く検出することができる。各信号の最大値および最小値の検出処理は、焦点調節レンズ102がA相およびB相信号の1周期分の距離を移動するまで行われる。1周期分の距離は、焦点調節レンズ102の移動開始位置が隣り合う領域ブロックの境界上であった場合は、移動開始領域を含めて焦点調節レンズ102が3領域ブロック目に到達したことをもって1周期分の距離を移動したと判断する。すなわち、更新処理中の焦点調節レンズ102は、領域ブロック番号iを中心領域ブロックとして、番号(i−1)〜番号i〜番号(i+1)の領域ブロック間を1周期分の距離だけ順方向または逆方向に移動する。
【0054】
補正係数生成部124は、焦点調節レンズ102が1周期分の距離を移動したことを確認したら(ステップS403)、ステップS402で検出した信号の最大値と最小値とから、式(3)〜式(6)に従って各相の最新の振幅補正係数およびオフセット補正係数を算出する(ステップS404)。ここで、領域ブロック番号iにおける各相の計算後の振幅補正係数およびオフセット補正係数をそれぞれ以下の通り表す。
AmpAi_new :領域ブロック番号i 最新のA相振幅補正係数
OfsAi_new :領域ブロック番号i 最新のA相オフセット補正係数
AmpBi_new :領域ブロック番号i 最新のB相振幅補正係数
OfsBi_new :領域ブロック番号i 最新のB相オフセット補正係数
次に、上記で計算された領域ブロック番号iの最新の補正係数を基に、他の全ての領域ブロック番号jの補正係数を更新する(ステップS405)。すなわち、領域ブロック番号iの更新前の補正係数を以下の通りとし、
AmpAi :領域ブロック番号i 更新前のA相振幅補正係数
OfsAi :領域ブロック番号i 更新前のA相オフセット補正係数
AmpBi :領域ブロック番号i 更新前のB相振幅補正係数
OfsBi :領域ブロック番号i 更新前のB相オフセット補正係数
領域ブロック番号iの最新の補正係数と更新前の補正係数との関係から、領域ブロック番号i以外の、他の領域ブロック番号jの最新の補正係数を推定する。具体的には、一般的に振幅の変動割合は全領域でほぼ一定であり、オフセット変動幅は全領域でほぼ一定の傾向があることを利用して、以下の式(7)〜(10)を用いて全領域ブロックの補正係数を補正する。
(7)AmpAj_new=(AmpAj)×(Ka_ i)
(8)OfsAj_new=(OfsAj)+(Ca_ i)
(9)AmpBj_new=(AmpBj)×(Kb_ i)
(10)OfsBj_new=(OfsBj)+(Cb_ i)
ただし、
Ka_ i=(AmpAi_new)/(AmpAi)
Ca_ i=(OfsAi_new)−(OfsAi)
Kb_ i=(AmpBi_new)/(AmpBi)
Cb_ i=(OfsBi_new)−(OfsBi)
ただし、
j:領域ブロック番号
jの範囲:0〜2m+1
【0055】
図6は、補正係数更新処理前後の補正係数を視覚的に比較した図である。
図6および式(7)〜(10)に示すように、振幅補正係数は全領域に亘って番号iの領域と同率で補正を行い、オフセット補正は全領域に亘って番号iの領域と同量で補正を行う。
【0056】
なお、補正係数更新処理が開始される際の焦点調節レンズ102の位置によっては、A相の補正係数とB相の補正係数とが、隣り合う領域ブロックにまたがって求められる場合がある。例えば、
図2(a)を参照して、焦点調節レンズ102が周期番号n−1とnとの境界上から、周期番号n+1に達するまでの1周期分の距離を移動した場合、取得できる各相の最大値および最小値から求められる各相の補正係数は次の通りとなる。すなわち、A相の補正係数は領域ブロック番号2n+1の領域で求められ、B相の補正係数は領域ブロック番号2nの領域で求められる。このような場合であっても、A相については番号2n+1の領域以外の、他の領域ブロックの補正係数を式(7)、(8)を用いて補正する。また、B相については番号2nの領域以外の、他の領域ブロックの補正係数を(9)、(10)を用いて補正する。
【0057】
補正係数生成部124は、全領域ブロックの補正係数の計算後、計算結果を補正係数保持部123に格納する(ステップS406)。また、レンズ駆動制御部112および補正係数更新要否判定部132に対して、補正係数の更新が終了したことを通知する(ステップS407)。こうして、補正係数更新処理が終了する。
【0058】
次に、補正係数更新要否判定処理について説明する。
図7は補正係数更新要否判定処理を示すフロー図である。補正係数更新要否判定処理は、デジタルカメラ1に初めて電源を投入したときはレンズ駆動系の初期化処理が終了した直後に開始され、その後デジタルカメラ1の電源が落されるまで繰り返し実行される。また、その後の通常の使用状態にあっては、電源が投入されると実行され、電源が落されるまで繰り返し実行される。言い換えると、デジタルカメラ1の電源が投入されている間は当該処理が繰り返し実行される。
【0059】
デジタルカメラ1の電源が投入されると、補正係数更新要否判定部132は温度センサ106が検知しているレンズ鏡筒100内の現在の温度Tcを取得する(ステップS501)。続くステップS502で、既に補正係数の更新要求フラグがセットされているか、あるいは補正係数の更新処理中であるかを確認する。補正係数の更新要求フラグがセットされている場合、または補正係数の更新処理中である場合はステップS506に進む。ステップS502でNoの場合は、補正係数更新要否判定部132は補正係数の最終更新時の鏡筒100内の温度Tsと現在の温度Tcとの差ΔTを計算する(ステップS503)。このときの計算式は次の式(11)である。
(11)ΔT=|Tc−Ts|
【0060】
ステップS504でΔTの値が規定値以下の場合はステップS501に戻る。一方、ΔTの値が規定値よりも大きい場合はステップS505に進み、補正係数の更新処理要求フラグをセットする。すなわち、最終更新時の温度Tsと比較して現在の温度Tcが高い場合であっても低い場合であっても、その差が規定値よりも大きければ補正係数の更新処理要求フラグをセットする。上述した焦点調節レンズ駆動制御処理のステップS203(
図3参照)では、レンズ駆動制御部112は、当該ステップS505において補正係数更新要否判定部132に当該補正係数更新処理要求フラグがセットされているか否かを確認している。補正係数更新処理要求フラグがセットされていると、レンズ駆動制御部112は上述したように補正係数更新処理を実行する。
【0061】
補正係数の更新処理要求フラグをセットするか否かの基準となる規定値は、A相およびB相信号の振幅やオフセットに変動を与える程度の温度差であり、磁気スケール104および磁気センサ105の性能や特性、更には、AD変換部121a、121bの性能や特性等を考慮して決定される。
【0062】
ステップS506に進み、補正係数の更新処理が完了していない場合は、ステップS501に戻る。一方、補正係数の更新処理が完了したら、ステップS507に進み、補正係数更新処理要求フラグをリセットする。その後、現在のレンズ鏡筒100内の温度Tcを補正係数最終更新温度Tsとして保存する(ステップS508)。そしてデジタルカメラ1の電源が落されるまで、ステップS501〜S508を繰り返す。本実施形態はこのような処理を行っているので、常に最適な補正係数を取得することができ、高い位置検出精度を維持することが可能となる。
【0063】
次に、レンズ駆動系の初期化処理について説明する。レンズ駆動系の初期化処理は、
図3に示すステップS201である。本実施形態では、レンズ駆動系の初期化処理のシーケンス中に最初の補正係数更新処理が行われ、その際用いられる補正係数の初期値は不揮発性メモリ125に格納されている。補正係数の初期値は、工場出荷時の初期データである。以下、
図8に示すレンズ駆動系の初期化処理に係るフロー図に従って説明する。
【0064】
まず、電源投入直後に補正係数生成部124によって不揮発性メモリ125に格納された補正係数の初期値が読み出され、補正係数保持部123に格納される(ステップS701)。
【0065】
次に、原点位置を検出するため、原点方向に向けて焦点調節レンズ102を駆動する(ステップS702)。ここではおおよその原点位置を検出すること、すなわち粗検出を目的とするため、後述する詳細な原点検出動作より早い速度で駆動する。なお、原点位置が判明するまでは絶対位置が不定となるため正確な補正係数を参照することはできない。従って、ここでの移動中は仮の値、例えば領域ブロック番号0の補正係数を使用して振幅オフセット補正処理を実行し位置演算する。
【0066】
ステップS703で原点位置を検出した後は、焦点調節レンズ102の駆動を停止するとともに位置演算部122内の周期カウント部122aをクリアし、絶対位置を確定させる(ステップS704)。これ以降は領域ブロック番号が正しく取得できるため、振幅オフセット補正処理においては補正係数保持部123に保持されている領域ブロック番号ごとの補正係数を使用する。
【0067】
次に、詳細な原点位置検出を行う。そのため、焦点調節レンズ102を一旦原点から遠ざける必要があるが、原点位置の詳細な検出と同時に補正係数の更新処理も行うため、少なくとも磁気センサ105の出力信号の1周期分以上離れた位置に焦点調節レンズ102を位置決めする必要がある。本実施形態においては、1周期分の距離を移動させるものとする(ステップS705)。
【0068】
次に焦点調節レンズ102を再度原点方向に移動させる。このときの移動速度は、信号の最大値と最小値とが正確に取得可能なVlimitCP以下とする(ステップS706)。移動開始とともに補正係数生成部124では上記した
図5に示す補正係数の更新処理が実行される。
【0069】
ステップS708では、焦点調節レンズ102の駆動の終了を判断する。ここでは原点位置の検出完了とともに補正係数の更新処理の完了も確認し、両方とも完了と判断した場合に焦点調節レンズ102の駆動の終了と判断する。ステップS708で焦点調節レンズ102の駆動が終了と判断されたら、焦点調節レンズ102の駆動を停止する(ステップS709)。最後に、例えば無限遠合焦位置のように、本装置で決められたHomeポジションに焦点調節レンズ102を移動して初期化処理を終了する(ステップS710)。初期化処理中に実行される補正係数の更新処理完了通知は、補正係数更新要否判定部132にも同時に通知され、更新時の温度がTsとして保存される。
【0070】
なお、本実施形態では、原点位置の詳細位置検出時に最初の補正係数の更新処理を実行するようにしたが、Homeポジションへの移動時に第1回目の補正係数の更新処理を実行しても良い。
【0071】
以上説明したように、本実施形態によれば、温度変化のような環境変化等があっても確実に高い位置検出精度を維持することが可能なレンズ駆動装置およびレンズ駆動方法、さらに当該レンズ駆動装置を備えた撮像装置を提供することができる。
【0072】
なお、本実施形態では、レンズ鏡筒100内の温度を検出し、最後の更新時の温度と比較して所定の温度差があるときに補正係数の更新を実行する構成としたが、他の条件によって補正係数の更新を実行するようにしても良い。例えばレリーズボタンを半押しするごとに補正係数の更新を実行するようにしても良い。あるいは、所定の時間が経過したら補正係数の更新を実行するようにしても良い。あるいは鏡筒内の湿度を検出し、湿度が所定の値になったら補正係数の更新を実行するようにしても良い。あるいはこれらの条件の組み合わせとしても良い。何れの条件を採用した場合であっても、補正係数の更新処理の実行中は、焦点調節レンズの移動速度の上限をVlimitCPとする。こうすることで、確実に高い位置検出精度を維持することが可能となる。
【0073】
また、本実施形態においては、補正係数生成手段が新たな補正係数を生成する際にレンズの移動速度が移動上限速度(VlimitCP)以下になるように制限する構成を用いて説明したがこれに限定されるものではない。例えば、最後に補正係数を更新した時の温度と現在の温度との差が所定の値を超えた後、レンズの移動速度が移動上限速度(VlimitCP)以下になる制御タイミング(例えば、低速駆動モード時、レンズの駆動開始時など)に新たな補正係数を生成してもよい。
【0074】
また、本実施形態に係るデジタルカメラは、連写機能やコンティニュアスオートフォーカス(AFC)機能を備えていても良いが、これらの機能がオンになっている状態では、補正係数の更新処理は実行しない。
【0075】
以上で本発明の実施形態の説明を終了するが、本発明の構成は上記実施形態に限定されるものではなく、適宜変更が可能である。