以下、添付図面を参照して本発明を実施するための最良の形態を詳細に説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態における撮像装置の構成を示すブロック図である。図1において、1は撮像装置、2はズームレンズ群、3はフォーカスレンズ群、4はズームレンズ群2及びフォーカスレンズ群3等からなる撮像光学系を透過した光束の量を制御する光量調節及び後述する個体撮像素子5への露出を制御する絞りである。31は、ズームレンズ群2、フォーカスレンズ群3、絞り4等からなる撮影レンズ鏡筒である。5はCCDやCMOSセンサ等に代表される固体撮像素子(以下、「CCD」と呼ぶ。)で、撮影レンズ鏡筒31を透過し、絞り4によって光量調節された光学被写体像がその受光面に結像され、この結像した被写体像を光電変換して電気的な画像信号を出力する。CCD5からは、複数の異なる読み出し方法により、複数の異なる画素数の画像信号を出力することができる。
6はCCD5から出力された画像信号を受けて各種の画像処理を施すことにより所定のフォーマットの画像信号を生成する撮像回路、7は撮像回路6により生成されたアナログ画像信号をデジタル画像信号(画像データ)に変換するA/D変換回路である。8はこのA/D変換回路7から出力される画像データを一時的に記憶するバッファメモリ等のメモリ(VRAM)である。9はVRAM8に記憶された画像信号を読み出してアナログ画像信号に変換すると共に、再生表示に適する形態の画像信号に変換するD/A変換回路、10はこのアナログ画像信号を表示する液晶表示装置(LCD)等の画像表示装置(以下、「LCD」と呼ぶ。)である。CCD5により得られた画像を、後述する記憶用メモリ12に記憶せずにVRAM8及びD/A変換回路9を介してLCD10に逐次表示することで、電子ファインダ機能を実現することができる。
また、12は半導体メモリ等からなる画像データを記憶する記憶用メモリである。記憶用メモリ12としては、フラッシュメモリ等の半導体メモリや、カード形状やスティック形状をし、撮像装置1に対して着脱自在に形成されるカード型フラッシュメモリ等の半導体メモリが用いられる。他にも、ハードディスクやフロッピーディスク(登録商標)等の磁気記憶媒体等、様々な形態のものが適用される。
11は圧縮伸長回路であって、圧縮回路と伸長回路とからなる。圧縮回路は、VRAM8に一時記憶された画像データを読み出し、記憶用メモリ12への記憶に適した形態に変換するために圧縮処理や符号化処理等を施す。伸長回路は、記憶用メモリ12に記憶された画像データを再生表示等をする為に適した形態に変換するための復号化処理や伸長処理等を施す。例えば、後述する操作スイッチ24のうち、不図示のモード切替スイッチが操作されて撮影モードになり、更にレリーズスイッチが操作されて露光記録動作が指示されると、以下の処理が行われる。まず、上述したようにしてVRAM8に一時記憶された画像データは圧縮伸長回路11の圧縮回路により圧縮及び符号化された後、記憶用メモリ12に記憶される。また、再生モードになると再生動作が開始され、以下の処理が行われる。まず、記憶用メモリ12に記憶された画像データは圧縮伸長回路11の伸長回路において復号及び伸長された後、VRAM8に一時的に記憶される。VRAM8に一時的に記憶された画像データはD/A変換回路9を介して上述した処理により表示に適したフォーマットのアナログ信号に変換され、LCD10に画像として再生表示される。
15は撮像装置1全体の制御を行う演算用のメモリを内蔵したCPU、13はA/D変換回路7から出力されるデジタル画像信号に基づいて自動露出(AE)処理を行うAE処理回路である。AE処理回路13は、A/D変換回路7によってデジタル化された一画面分のデジタル画像信号の輝度値に対して累積加算等の演算処理を行って、被写体の明るさに応じたAE評価値を算出する。このAE評価値はCPU15に出力される。
14はA/D変換回路7から出力されるデジタル画像信号に基づいて自動焦点調節(AF)処理を行うAF処理回路である。AF処理回路14では、A/D変換回路7によってデジタル化された一画面分のデジタル画像信号の内、AF領域として指定された画面の一部分の領域に相当する画像データの高周波成分をハイパスフィルター(HPF)等を介して抽出する。更に、累積加算等の演算処理を行って、高域側の輪郭成分量等に対応するAF評価値を算出する。このように、AF処理回路14は、AF処理を行う過程において、CCD5によって生成された画像信号から所定の高周波成分を検出する高周波成分検出手段の役割を担っている。なお、AF領域は中央部分の一箇所である場合や中央部分とそれに隣接する複数箇所である場合、離散的に分布する複数箇所である場合などがある。
16は所定のタイミング信号を発生するタイミングジェネレータ(TG)、17はCCD5を駆動するCCDドライバである。TG16は、所定のタイミング信号をCPU15、撮像回路6、CCDドライバ17へ出力し、CPU15はこのタイミング信号に同期させて各種の制御を行う。また撮像回路6は、TG16からのタイミング信号を受け、これに同期させて色信号の分離等の各種画像処理を行う。さらにCCDドライバ17は、TG16のタイミング信号を受け、これに同期してCCD5を駆動する。
また、21は絞り4を駆動する絞り駆動モータ、18は絞り駆動モータ21を駆動制御する第1モータ駆動回路、22はフォーカスレンズ群3を駆動するフォーカス駆動モータ、19はフォーカス駆動モータ22を駆動制御する第2モータ駆動回路である。23はズームレンズ群2を駆動するズーム駆動モータ、20はズーム駆動モータ23を駆動制御する第3モータ駆動回路、24は各種のスイッチ群からなる操作スイッチである。
CPU15は、第1モータ駆動回路18、第2モータ駆動回路19、第3モータ駆動回路20をそれぞれ制御する。これにより、絞り駆動モータ21、フォーカス駆動モータ22、ズーム駆動モータ23を介して、絞り4、フォーカスレンズ群3、ズームレンズ群2をそれぞれ駆動制御する。具体的には、CPU15はAE処理回路13において算出されたAE評価値等に基づき第1モータ駆動回路18を制御して絞り駆動モータ21を駆動し、絞り4の絞り量を適正になるように調整するAE制御を行う。
またCPU15はスキャンAF処理回路14において算出されるAF評価値信号に基づき第2モータ駆動回路19を制御してフォーカス駆動モータ22を駆動し、フォーカスレンズ群3を合焦位置に移動させるAF制御を行う。また操作スイッチ24のうち不図示のズームスイッチが操作された場合は、これを受けてCPU15は、第3モータ駆動回路20を制御してズーム駆動モータ23を駆動制御することによりズームレンズ群2を移動させ、撮像光学系の変倍動作(ズーム動作)を行う。
また、操作スイッチ24としては、例えば、以下のものがある。撮像装置1を起動させて電源供給を行うための主電源スイッチや撮影動作(記憶動作)等を開始させるレリーズスイッチ、再生動作を開始させる再生スイッチ、ズーム倍率の変更、すなわち、ズームレンズ群2の移動を指示するズームスイッチ等である。本実施の形態では、レリーズスイッチは、第1ストローク(以下、「SW1」と呼ぶ。)と、第2ストローク(以下、「SW2」と呼ぶ。)との二段スイッチにより構成される。SW1は撮像動作に先立ってAE処理及びAF処理を開始させる指示信号を発生する。SW2は実際に画像を撮影して記録する露光記録動作を開始させる指示信号を発生する。また、CCD5から読み出す画像信号の画素数を選択するためのスイッチも含まれる。
25は各種制御等を行うプログラムや各種動作を行わせるために使用するデータ等が予め記憶されている電気的に書き換え可能な読み出し専用メモリであるEEPROMである。26は電池、28はストロボ発光部、27はストロボ発光部28の閃光発光を制御するスイッチング回路、29は警告表示などを行うLEDなどの表示素子、30は音声によるガイダンスや警告などを行うためのスピーカーである。
次に、上記構成を有する撮像装置1の撮影動作について図2に示すフローチャートを用いて説明する。
なお、以下の説明において、フォーカスレンズ群3を光軸方向に駆動しながらCCD5の出力に基づいてAF評価値を取得する動作をスキャンと呼ぶ。また、AF評価値を取得するフォーカスレンズ群3の位置をスキャンポイント、スキャンポイントの間隔をスキャン間隔、AF評価値を取得するフォーカスレンズ群3の駆動範囲をスキャン範囲、フォーカスレンズ群3を駆動する速度をスキャン速度と呼ぶ。
図2に示す撮影処理シーケンスは、撮像装置1の主電源スイッチがオン状態であり、かつ撮像装置1の動作モードが撮影(録画)モードにあるときに実行される。
まずステップS1において、CPU15は、上述したように、撮影レンズ鏡筒31を透過しCCD5上に結像した被写体光学像を、撮像回路6、A/D変換回路7、VRAM8、D/A変換回路9を介して、LCD10に画像として表示する。この処理を所定時間おきに行うことで、LCD10は電子ビューファインダーとして機能する。ユーザーはLCD10に表示された画像を観察することで、撮影するシーンを確認することができる。
次いでステップS2において、動画撮影モードに設定されているか否かの判定を行う。動画撮影モードに設定されている場合はステップS3に進み、動画用AE、AF処理を行い、CCD5から順次入力される画像データに基づいて常に被写体に露出とピントを合わせ続けるようにする。なお、ステップS3で行う動画用AF処理については、詳細に後述する。
そしてステップS4において操作スイッチ24のレリーズスイッチの状態を確認する。撮影者によってレリーズスイッチが操作され、SW1がオン状態になったことをCPU15が確認すると次のステップS5に進み、動画中静止画用AE、AF処理を実行する。なお、ステップS5で行う動画中静止画用AF処理については、詳細に後述する。また、ステップS5では合焦位置を求める前にAF評価値の信頼性を評価しておく。そして、動画中静止画用AE、AF処理が終了すると、ステップS9に進む。
一方、ステップS2で動画撮影モードに設定されていない場合は、静止画撮影モードであると判断してステップS6に進む。
ステップS6において、操作スイッチ24のレリーズスイッチの状態を確認する。撮影者によってレリーズスイッチが操作され、SW1がオン状態になったことをCPU15が確認すると次のステップS7に進み、静止画用AE処理を行う。ここでは、CPU15がAE処理回路13により求められたAE評価値に基づいて第1モータ駆動回路18を制御することにより、絞り駆動モータ21を介して絞り4の開口状態を制御するとともにCCD5の露出時間を制御する。
続いてステップS8において静止画用AF処理が行われる。静止画用AF処理では、CCD5により得られた画像信号の高周波成分が最も多くなるフォーカスレンズ群3の位置を求め、CPU15は第2モータ駆動回路19を介してフォーカス駆動モータ22を制御し、フォーカスレンズ群3をその求めた位置に移動する。ここで、静止画用AF処理の概略を図3を用いて説明する。
静止画用AF処理はCCD5によって生成された画像信号から出力される高周波成分が最も多くなるフォーカスレンズ群3の位置を求めることにより行われる。先ず、CPU15は第2モータ駆動回路19を介してフォーカス駆動モータ22を制御し、フォーカスレンズ群3を無限遠に相当する位置(図3における「A」)に移動させる。そして、無限遠位置から各々の撮影モードにおいて設定される至近距離に相当する位置(図3における「B」)までのスキャン範囲を、予め設定されたスキャン間隔でスキャンする。そして、各スキャンポイントでAF処理回路14によりAF評価値を取得する。フォーカスレンズ群3の駆動が終了した時点で、各スキャンポイントで取得したAF評価値から、高周波成分が最大になる位置、即ち合焦位置(図3における「C」)を求め、その位置にフォーカスレンズ群3を移動する。ただし、合焦位置を求める前にAF評価値の信頼性を評価する。そして、その信頼性が十分であれば、合焦位置を求めてフォーカスレンズ群3を移動してからステップS9に進み、信頼性が低い場合には、合焦位置を求める処理は行わずにステップS9に進む。
なお、スキャンAF処理の高速化のために、ステップS4のスキャン間隔は、フォーカスレンズ群3を停止させることが可能な全ての停止位置ではなく、所定の停止可能位置おきにする。この場合、図3に示すように、実際にAF評価値が最大値となるスキャンポイントでAF評価値の取得が行われず、その前後のスキャンポイントa1、a2、a3においてAF評価値を取得することがあり得る。このような場合は得られたAF評価値の内、最大値となったスキャンポイントとその前後のスキャンポイントから合焦位置Cを計算にて求める。なお、静止画用AF処理は上記方法に限るものではなく、従来用いられている方法により行っても構わない。
次に、ステップS9において、ステップS5における動画中静止画用AF処理またはステップS8における静止画用AF処理の結果、その信頼性に応じて「AF OK」表示または「AF NG」表示を行う。「AF OK」表示では表示素子29を点灯すると同時に、LCD10上に緑の枠を表示するなどの処理を行う。「AF NG」表示では、表示素子29を点滅すると同時に、LCD10上に黄色の枠を表示するなどの処理を行う。なお、表示方法についてはこれらに限るものではなく、撮影者に信頼性を知らせることができれば、表示に限らずどのような方法を用いても構わない。例えば、音声を表示と併用して用いたり、音声のみにより通知するようにしてもよい。
このようにしてAF表示を終了後、CPU15はステップS10において、SW1のオン状態が継続しているかをチェックする。オフであればステップS2に戻り、オンであればステップS11に進んでSW2の確認を行う。なお、SW1のオン状態が保持されている場合は、AF・AEの状態は保持される。
SW2がオフであればステップS10に戻り、SW2がオンになっていたならばステップS12に進む。
ステップS12では、被写体の画像を記録するための露光処理を実行する。露光してCCD5から得た画像信号は、上述したように、撮像回路6、A/D変換回路7、VRAM8、圧縮伸長回路11を介して記憶用メモリ12に記憶する。
露光処理が終わると、ステップS13で再びSW2の確認を行う。SW2がオフになっていたならばステップS14に進んでSW1がオフされるのを待ち、処理を終了する。
動画画像の記録は動画記録指示の操作により開始・終了が行われるが、動画記録中・待機中にかかわらず図2の動作が行われる。すなわち動画モードに設定されていれば、動画記録中であるか待機中であるかによらず自動焦点調節に関しては同一の動作が行われる。
次に、ステップS3で行われる動画用AF処理の詳細について説明する。動画用AF処理中のAFモードには微小駆動AFモード41、山登りAFモード42、レンズ停止43の3つの状態があり、図4に示すように、それぞれの状態での動作結果に応じて他の状態に遷移する。
微小駆動AFモード41とは、フォーカスレンズ群3のスキャン間隔を微小距離とし、フォーカスレンズ群3移動前後のスキャンポイントで取得したAF評価値を比較することで、合焦判別、合焦位置の方向判別、短距離のピント調整を行う動作モードである。フォーカスレンズ群3移動前後のAF評価値を比較した結果、AF評価値が増加していれば同一方向に移動し、減少していれば逆方向に移動する。また同一方向に所定回数連続して移動すると、山登りAFモード42に遷移する(P41a)。この場合、フォーカスレンズ群3は、ある基準位置に基づいて決められたステップ幅で往復移動動作を行う。このようなフォーカスレンズの往復移動の際にAF評価値を取得することで、被写体画像のコントラストが高くなるフォーカスレンズの移動方向を見つけ出すモードである。
一方、所定時間(または所定回数)連続して所定範囲内(同一とみなせるエリア)で反転を繰り返している場合は、合焦しているものと判断する。そして、AF評価値がピークとなる位置(AF評価値を取得したフォーカスレンズ位置の中でAF評価値が最大となる位置、もしくは補間演算を行って求めたAF評価値が最大となる位置)にフォーカスレンズ群3を移動する。その後、レンズ停止43の状態に遷移する(P41b)。従来は、レンズ停止43の状態に遷移する際に詳細な合ピントを合わせる動作は行わず、微小駆動におけるAF評価値取得位置のうちでAF評価値が最大となる位置へフォーカスレンズ群3を移動してレンズ停止状態に遷移していた。これに対し、本発明においては微小駆動動作中に被写体の光軸方向の移動量を検出し、その量が小さい場合には更に詳細にピントを合わせる動作を行う。逆にその量が大きい場合には更に詳細にピントを合わせる動作を行なわず、従来と同様に微小駆動におけるAF評価値取得位置のうちでAF評価値が最大となる位置へフォーカスレンズ群3を移動する。
山登りAFモード42とは、微小駆動AFモード41と比較して、フォーカスレンズ群3のより広いスキャン範囲に亘って、より高速に合焦判別を行うモードである。上述したようにして、微小駆動AFモード41から遷移した場合に(P41a)、微小駆動AFモード41で判定した方向に、フォーカスレンズ群3を微小駆動AFモード41での移動速度よりも速い一定速で移動する。この移動中に、微小駆動AFモード41におけるスキャン間隔よりも広いスキャン間隔で、即ち、より高速なスキャン速度でフォーカスレンズ群3を駆動しながらAF評価値を取得する。そして、AF評価値がピークを越えて減少すると、ピーク位置にフォーカスレンズ群3を戻し、微小駆動AFモード41に遷移する(P42)。
レンズ停止43とは、合焦状態を維持するモードである。上述したようにして、微小駆動AFモード41から遷移した場合に(P41b)、遷移時のAF評価値を記録し、その後取得されるAF評価値との比較を行い、所定以上変動したら微小駆動AFモードに遷移する(P43)。
上記のように3つのAFモード間で遷移することで、非合焦状態から合焦状態を得、更に合焦状態を維持する。
次に図5(A)及び図5(B)を参照して、上述した微小駆動AFモードにおける動作ついて詳細に説明する。なお、図5(A)及び図5(B)に示す処理において、後述するステップS54以降の処理は、所定時間間隔で繰り返し実行される。
微小駆動AFモードでは、カウンタのクリアなどの初期化動作の後、ステップS51において停止状態から微小駆動AFモードに遷移したか否かを調べる。この判断結果に応じて、今回のルーチンでフォーカスレンズ群3を移動する量(初期移動量)を設定する。停止状態から微小駆動AFモードに遷移した場合(図4のP43)はステップS52に進み、前回に微小駆動AFモードから停止状態に遷移した時(図4のP41b)の移動量をフォーカスレンズ群3の初期移動量とする。一方、停止状態以外(山登りAFモードや電源投入時など)から微小駆動AFモードに遷移した場合はステップS53に進み、デフォルト移動量をフォーカスレンズ群3の初期移動量とする。
上記のように初期移動量を設定するのは以下の理由による。即ち、停止状態から微小駆動AFモードに遷移した場合は、微小駆動AFモードから停止状態へ遷移した時と同じ被写体を撮影しており、その被写体の光軸方向の移動速度もほぼ等しい可能性が高いと予測される。そのため、フォーカスレンズ群3の初期移動量を停止状態に遷移した時と同じ移動量にして遷移時と同じスキャン速度にすることで、光軸方向の移動被写体への追従が良好になると予想される。
これに対して、山登りAFモードや電源投入時など、停止状態以外から微小駆動AFモードに遷移した場合は、被写体の光軸方向の移動速度を予測することができない。よってこの場合は、デフォルト移動量を微小駆動動作の初期移動量とする。なおデフォルト移動量は、例えば、設定された画像の画素数における焦点深度の半分程度に設定する。勿論、デフォルト移動量はこれに限るものではなく、適宜設定することが可能であることは言うまでもない。
ステップS52またはS53でフォーカスレンズ群3の初期移動量の設定が終了したらステップS54へ進み、AF評価値を取得して記録する。ここではスキャンAF処理回路14より次の2つの評価値を取得する。1つは、入力されたデジタル画像信号を受けてハイパスフィルタ(HPF)等を介して抽出されたAF領域の画像データの高周波成分の最大値であり、これを第1のAF評価値(TEP)とする。もう1つは入力されたデジタル画像信号を受けてHPF等を介して抽出されたAF領域の画像データの高周波成分の累積加算値であり、これを第2のAF評価値(TES)とする。
次いでステップS55で、今回のルーチンでステップS54において取得した第2のAF評価値(TES)と、前回のルーチンで取得した第2のAF評価値(TES)との比較を行う。なお、1回目のAF評価値取得の場合はこの処理は行わず、ステップS56に進む。
前回よりも第2のAF評価値(TES)が大きい場合は、ステップS56にて連続反転カウンタをクリアする。このカウンタは被写体の移動速度に対して微小駆動AFモードでのスキャン速度が遅い場合に、フォーカスレンズ群3を無限遠側、至近側のどちらに動かしても第2のAF評価値が減少してしまう現象を検出するためのカウンタである。なお、この現象については、図10(A)を参照して後述する。
ついでステップS57で、フォーカスレンズ群3の移動方向を前回と同一方向のままにする。次のステップS58では、フォーカスレンズ群3を所定回(N回)連続して同一方向に移動したか否かを調べる。N回連続して同一方向に移動した場合はステップS81に、していない場合は図5(B)のステップS59に進む。
ステップS81では、フォーカスレンズ群3を所定回(M回)連続して同一方向に移動したか否かを調べる。M回連続して同一方向に移動した場合はステップS83に進み、当該方向を山登りAFモードでのフォーカスレンズ群3の移動方向として設定した後、ステップS84で山登りAFモードに移行する(S41a)。
一方、M回連続して同一方に移動していない場合は(ステップS81でNO)ステップS82でフォーカスレンズ群3の移動量を増加した後にステップS59に進む。なおステップS82におけるフォーカスレンズ群3の移動量の増加の仕方は後で述べる。
ここで、所定回Nと所定回MはN<Mの関係があり、Nは3回程度、Mは6〜8回程度に設定するのが望ましいが、勿論、本発明はこれらの値に限られるものではない。このように、連続して同一方向に移動した回数がNとMとの間である場合に、微小駆動時のフォーカスレンズ群3の移動量を増加することにより、図10(B)に示す現象を回避することができる。なお、この現象についても詳細に後述する。
また、ステップS55で、今回取得した第2のAF評価値(TES)と前回取得した第2のAF評価値(TES)との比較を行った結果、前回より第2のAF評価値(TES)が小さい場合はステップS71に進み、連続反転カウンタをカウントアップする。そして、ステップS72で連続反転カウンタが所定値を越えたか否かをチェックする。所定値は5回程度に設定するのが好ましいが、本発明はこれに限られるものではなく、適宜設定することができる。所定値を超えた場合はステップS73でフォーカスレンズ群3の移動量を増加した後にステップS74に進む。なお、ステップS73におけるフォーカスレンズ群3の移動量の増加の仕方は後で述べる。
ついでステップS74でフォーカスレンズ群3の移動方向を前回と逆方向に設定し、ステップS75で反転カウンタをカウントアップするとともに、反転位置、即ちその時点でのフォーカスレンズ群3の位置を記録する。記録する反転位置の数は、少なくとも後述するステップS59で比較される反転回数の所定値の数と同じにする。ここでは、一例として4個程度に設定する。そして図5(B)のステップS59に進む。
ステップS59では反転回数が所定回数を越えたかどうかをチェックする。この所定回数は4回程度の値に設定することが望ましい。なお反転回数カウンタは上述したようにステップS75でカウントアップされ、後述するステップS68でクリアされる。反転回数カウンタをチェックした結果、反転回数が所定回数を越えていなければ、ステップS91に進む。
一方、反転回数が所定回数を越えている場合はステップS60に進み、前回と今回の反転位置の間隔を調べ、それが動画の画素数における焦点深度以下の場合はステップS62に進む。
反転位置の間隔が焦点深度を越える場合はステップS61に進み、以下の3つの条件を満たすか調べる。
・連続反転カウンタの値が1
・直前(1つ前)の反転位置(1)と3つ前の反転位置(3)が等しい
・2つ前の反転位置(2)と4つ前の反転位置(4)が等しい
上記の3つの条件を全て満たした場合はステップS66に進む。
ステップS66では、設定されているフォーカスレンズ群3の移動量が設定された画素数での焦点深度の半分より大きいか否かを調べ、大きくなければステップS62に進む。
大きければステップS67に進み、フォーカスレンズ群3の移動量を減少した後にステップS91に進む。なお、ステップS67におけるフォーカスレンズ群3の移動量の減少の仕方は後で述べる。ここでフォーカスレンズ群3の移動量を減少するのは、この移動量が大きいために反転位置の間隔が焦点深度程度にならない不具合を解決するためである。合焦している場合は移動量が設定された画素数における焦点深度の半分以下となれば反転間隔が焦点深度程度になる。しかしフォーカスレンズ群3の移動量が大きい場合は一挙に焦点深度の半分以下にしてしまうと被写体の動きに追従できなくなってしまう。よって反転する状況になった場合において、フォーカスレンズ群3の移動量を徐々に少なくし、追従が可能な間は移動量を徐々に減少し、スキャン速度を焦点深度の半分以下にすることで合焦させることが可能になる。
一方ステップS62では、直近のピーク位置が反転している区間にあるか否かをチェックする。ピーク位置は第2のAF評価値(TES)がその前後の値に比べて大きい位置である。例えば図3のスキャンポイントa1、a2、a3で第2のAF評価値(TES)を取得する場合、フォーカスレンズ群3をa1→a2と移動させると第2のAF評価値(TES)が増加するので、次にa3へ移動する。すると第2のAF評価値(TES)は減少するので、移動方向が反転し、a2に移動する。今度は第2のAF評価値(TES)が増加するのでa1へ移動する。この場合にも第2のAF評価値(TES)は減少するので、移動方向が反転しa2に移動する。よってフォーカスレンズ群3は、・・・・・・a1→a2→a3→a2→a1→a2→a3→a2→a1→a2→a3→a2と移動する。そして反転位置は1番目がa3、2番目がa1、3番目がa3、4番目がa1、前回のピーク位置がa2となる。従ってこの例では、直近のピーク位置が反転している区間にあることになる。
直近のピーク位置が反転している区間にある場合はステップS62からステップS63に進み、被写体の光軸方向の移動速度を検出する。その後ステップS64で合焦位置へフォーカスレンズ群3を移動する。そしてステップS65でレンズを停止し、レンズ停止状態へ移行する。
一方、前回のピーク位置が反転している区間に無い場合はステップS62からステップS68に進んで反転カウンタをクリアし、ステップS91へ進む。
ステップS91では、第1のAF評価値(TEP)が所定値より小さいか否かを調べる。第1のAF評価値(TEP)が所定値より小さくなければ、ステップS96に進む。そして、ステップS57またはS74で設定されている方向に、ステップS52、S53、S67、S73またはS82で設定されたスキャン速度でフォーカスレンズ群3を移動した後、ステップS54へ戻る。第1のAF評価値(TEP)が所定値より小さくないということは、AF評価値の値が十分であり微小駆動AFモードにおいて合焦判定やフォーカスレンズ群3の移動方向の判別が可能であるため、微小駆動AFモードを継続する。
第1のAF評価値(TEP)が所定値より小さければ、ステップS92で非合焦カウンタをカウントアップする。そしてステップS93で非合焦カウンタの値を所定値と比較する。
その結果、非合焦カウンタの値が所定値以下の場合は、ステップS96で上述したように設定された移動量だけフォーカスレンズ群3を移動した後、ステップS54へ戻る。これは非合焦カウンタの値が所定値以下の場合は微小駆動AFモードで合焦判定や方向判別ができる可能性があるからである。
逆に非合焦カウンタの値が所定値を越えた場合、微小駆動AFモードで合焦判定や方向判別ができる可能性が非常に低い、もしくは多くの時間を必要とする。そのため、ステップS94に進み山登りAFモードにおけるフォーカスレンズ群3の移動方向を所定方向に設定した後、ステップS95で山登りAFモードに移行する。例えば、大きくピントが外れ、画像のコントラストがほとんど無くなってしまっている場合などがこのケースにあたる。なお、ステップS94で設定する所定方向は、山登りAFモードにおいて適用する山登りAF処理方法に応じて決めればよい。
次に、ステップS67、S73、S82で行われる微小駆動AFモードにおけるフォーカスレンズ群3の移動量の増減の仕方について、図6及び図7を参照して説明する。
従来、微小駆動AFモードを行うことによって、被写体が移動するような場合においても焦点を合わせることができた(例えば、特許第2744336号公報)。しかしながら、このような技術を使っても、被写体の動きが速い場合には、その動きに追従することが困難な場合があった。これに対し、以下に説明するように、微小駆動時にフォーカスレンズ群3の移動量を増減することによって、従来に比べてより動きのある被写体にも追従可能なAFを実現することが可能となる。
先ず、ステップS73でフォーカスレンズ群3の微小駆動時の移動量を増加するのは、図10(A)に示すような問題に対応するためである。図10(A)に示すように、被写体の光軸方向の移動速度に対してフォーカスレンズ群3の微小駆動時のスキャン速度が遅い場合は、フォーカスレンズ群3をどちらの方向に移動しても第2のAF評価値は前回に比べて小さくなってしまう。そのため、フォーカスレンズ群3の移動方向は、常に前回と逆方向に設定される。そして、ステップS56を通過することが無いので連続反転カウンタはクリアされることなくカウントアップされていく。そのためこの状態がしばらく継続すると、連続反転カウンタが所定値を越える。このような状態では、微小駆動AFで合焦することのみならず山登りAFモードにおける移動方向の設定(方向判別)を行うことすら不可能である。
そこで連続反転カウンタが所定値を越える場合は、フォーカスレンズ群3の移動量を増加してスキャン速度を上げることで、スキャン速度が被写体の光軸方向の移動速度に対して小さいために生じる問題を回避する。
また、ステップS82でフォーカスレンズ群3の微小駆動時の移動量を増加するのは、図10(B)のような問題に対応するためである。図10(B)に示すように被写体の光軸方向の移動速度に対してフォーカスレンズ群3の微小駆動時のスキャン速度がやや大きい場合は、フォーカスレンズ群3を同一方向に移動すれば第2のAF評価値は前回に比べて大きくなる。しかし被写体の移動速度とフォーカスレンズ群3のスキャン速度に大差がないために移動方向が反転するまでに時間がかかってしまう。また連続して同一方向に移動する回数が所定回を越え山登りAFモードに移行してしまうこともある。このような場合、合焦までに多くの時間を要することになる。しかしながら、同一方向に連続して移動している場合には、ピントが大きく外れている状態から、合焦状態に近づいている場合もある。
そこでN回以上、M回未満連続して同一方向にフォーカスレンズ群3が移動させられたなら、フォーカスレンズ群3の移動量を増加してスキャン速度を上げることで、この問題を回避する。
また、ステップS67でフォーカスレンズ群3の微小駆動時の移動量を減少するのは、図10(C)のような問題に対応するためである。図10(C)に示すように被写体の光軸方向の移動速度に対してフォーカスレンズ群3の微小駆動時のスキャン速度が速すぎてスキャン間隔が大きすぎる場合、フォーカスレンズ群3は常に同一の範囲で移動させられる。そのため、合焦している場合の条件が成立して、レンズ停止に遷移してしまう場合がある。この際には被写体が光軸方向に動いていても移動速度は0と計算され、正しい移動速度を計算することができない。
そこで、ステップS61において上述した3つの条件を満たし、移動量が設定された画素数での焦点深度の半分よりも大きい場合に、フォーカスレンズ群3の移動量を減少してスキャン速度を遅くする。このようにすることで、スキャン速度が被写体の光軸方向の移動速度に対して大きすぎるために生じる問題を回避する。つまり、フォーカスレンズ群3の移動量が大きいために反転位置の間隔が焦点深度程度にならない不具合を解決する。
次に、ステップS73もしくはステップS82におけるフォーカスレンズ群3の移動量の具体的な増加方法の一例について図6を用いて説明する。
ステップS101で現在のフォーカスレンズ群3の移動量とデフォルトの移動量とを比較し、現在の移動量がデフォルト移動量以下であればステップS102に進み、次回の移動量を現在の移動量の2倍に設定する。逆にデフォルト移動量より大きい場合は、ステップS103で現在の移動量にデフォルト移動量を加え、次回の移動量とする。ステップS104で移動量の上限値と比較し、上限値を超えていればステップS105で上限値を次回の移動量とする。
次に、ステップS67におけるフォーカスレンズ群3の移動量の具体的な減少方法の一例について図7を用いて説明する。
ステップS111で現在のフォーカスレンズ群3の移動量とデフォルトの移動量とを比較し、現在の移動量がデフォルト移動量を越えていれば、ステップS112に進む。そして現在の移動量からデフォルト移動量を引いた値を次回の移動量とする。逆にデフォルト移動量以下の場合は、ステップS113で現在の移動量を半分にし、次回の移動量とする。ステップS114で移動量の下限値と比較し、下限値未満であればステップS115で下限値を次回の移動量とする。
なお、フォーカスレンズ群3の移動量の上限値はデフォルト移動量の4倍程度、下限値はデフォルト移動量の4分の1程度に設定するのが好ましい。
ただし、本発明は上記図6及び図7に示した増減方法に限定されるものではなく、増減幅を一定にしたり、所定割合で増減するようにするなど、様々な他の方法が考えられ、図10(A)〜図10(C)に示すような問題を解決できるような増減方法であればよい。
次に、ステップS63〜S64で行われる被写体の光軸方向の動き量を検出し、その結果に応じて合焦位置へ駆動する方法について説明する。
動き量が大きい場合は詳細なピント合わせを行わない。すなわち、微小駆動AFモードで取得した複数の第2のAF評価値の内、極大値となったスキャンポイントへフォーカスレンズ群3を移動する。例えば図3に示すように、スキャンポイントa1、a2、a3でAF評価値を取得している場合は、フォーカスレンズ群3はa2へ移動される。これは被写体の光軸方向への動き量が大きい場合は詳細な合焦位置を求める効果が少ないからである。すなわち合焦と判定されてレンズ停止状態に移行しても、比較的短い時間でAF評価値などが所定量以上変化して微小駆動AFモードに移行する確率が高いため、その間に静止画撮影が行われる確率が低いからである。またレンズ停止状態で静止画撮影が行われた場合でも、詳細な合焦位置へフォーカスレンズ群3を移動しても、実際に静止画を撮影する時には詳細な合焦位置が移動しているからである。
動き量が小さい場合は詳細なピント合わせを行う。すなわち、微小駆動AFモードで取得した複数の第2のAF評価値から詳細な合焦位置を求め、そこへフォーカスレンズ群3を移動する。例えば図3のスキャンポイントa1、a2、a3でAF評価値を取得している場合は、a1、a2、a3の3つの位置および各スキャンポイントで得られた第2のAF評価値から補間計算を行い、詳細な合焦位置cを求めてフォーカスレンズ群3をそこに移動する。補間計算の方法としては極大値付近の3つスキャンポイント及び第2のAF評価値から二次関数を導出し、その2次関数の最大値に対応するスキャンポイントを求める方法などが考えられる。これは被写体の光軸方向への動き量が小さい場合、詳細な合焦位置を求める効果があるからである。すなわち合焦と判定されてレンズ停止状態に移行した後、比較的長い時間AF評価値などの変化が小さくレンズ停止状態に滞在し、その間に静止画撮影が行われる確率が高いからである。またその際も、被写体の動き量が小さいので詳細な合焦位置から移動していない確率が高いからである。
なお動き量は以下のようにして求める。
山登りモードなどから微小駆動AFモードに移行した際の移動平均と、微小駆動AFモードからレンズ停止状態に移行した際の移動平均から、微小駆動AFモード実行中の移動量を求める。すなわち、微小駆動AFモードに移行した後の最初のn回の評価値を取得したフォーカスレンズ群3の位置の平均値と、レンズ停止状態に推移する直前のn回の評価値を取得したフォーカスレンズ群3の位置の平均値とから、平均移動速さを求める。式にすると、
平均移動速さ=[(停止状態に推移する直前のn回のレンズ位置の平均値)―(最初のn回のレンズ位置の平均値)]/[(停止状態に推移する直前の時刻)―(最初の評価値取得時刻)−(n−1)*AF評価値取得間隔]
となる。なおnは5回程度の数値が好ましい。
そして、この平均移動速さを被写体の光軸方向の動き量を表す量とする。この他に、微小駆動AFモードから停止モードに遷移するまでのフォーカスレンズ群3の移動量を被写体の光軸方向の動き量を表す量としても良い。
次に、図2のステップS5で行われる動画撮影モードにおける動画中静止画用AF処理の詳細に関して、図8のフローチャートを参照して説明する。
図2の動画撮影モードにおいて、ステップS4で撮影者によってレリーズスイッチが操作され、SW1がオン状態になったことをCPU15が確認すると、図8の処理が開始される。先ずステップS201において、図8の処理開始時点でのフォーカスレンズ群3の位置における合焦度合いを求める。合焦度合いはスキャンAF処理回路14によって求められる次の2つのAF評価値から求める。
一つは、図5のステップS54と同様にして求める第1のAF評価値(TEP)である。もう一つは、入力されたデジタル画像信号を受けてハイパスフィルタ(HPF)等を介さずに抽出されたAF領域の画像データの最大値と最小値との差であり、これを第3のAF評価値(MMP)とする。そして、合焦度合いは、第1のAF評価値と第3のAF評価値の比、すなわち、第1のAF評価値(TEP)を第3のAF評価値(MMP)で割った値(TEP/MMP)とする。
また実際に合焦位置を求める際には、入力されたデジタル画像信号を受けてHPF等を介して抽出された一画面分の画像データの高周波成分の累積加算処理された第2のAF評価値(TES)を用いる。
ステップS202では、ステップS201で求めた合焦度合いから、合焦度合いが高いか、低いか、中間的なものかを判定する。実際には、高いと判定できる閾値、低いと判定する閾値と比較し、合焦度合いの「高」「中」「低」を判定する。高いと判定する閾値より合焦度合いが大きければ合焦度合いは高いと判定し、ステップS210へ進む。低いと判定する閾値より合焦度合いが小さければ合焦度合いは低いと判定し、ステップS203へ進む。ステップS201で求められた値が2つの閾値の間であれば合焦度合いは中と判定し、ステップS220へ進む。
合焦度合いが低い場合は、ピントが大きくボケていて合焦させるためにはフォーカスレンズ群3を大きく動かす必要がある。また合焦位置が現在のフォーカスレンズ群3の位置より無限遠側にピントを合わせる方向にあるのか、逆に至近側にピントを合わせる方向にあるのかがわからない場合が多い。更にコントラストが低く合焦が困難な場合も想定される。
このような場合はフォーカスレンズ群3が大きく動くため、動画として記録された画像が再生時に見苦しくなる。この現象はピントの方向を間違えた場合顕著になる。すなわち一旦ボケ量が増したのち、フォーカスレンズ群3の移動方向が反転しボケ量が減少して合焦状態に至るため、AFが誤動作したような印象を与える場合がある。更に合焦困難なコントラストが低い場合などは合焦に近い状態から非合焦状態になり、その後のフォーカスレンズ群3が反転して合焦状態に至る。この場合は、動作開始時に合焦に近い状態にあるので、ピントの方向を間違えた場合以上に見え方が悪くなる。
またこのような大きくボケた状態から静止画撮影に十分な合焦精度を得られる状態になるまでAF動作を行うと、それに要する時間が長くなり、動画中のAFがおろそかになる。その結果、パンニングなどシーン変化や被写体の前後左右の動きなど動画撮影時にAF動作で対応しなければならない状況への対応が遅れる。そのような場合、動画撮影中に撮影された静止画のピントが合わないばかりではなく、その後に撮影、記録される動画のピントをも悪化させる可能性がある。
従って、このように合焦度合いが低い場合は、合焦動作を行わない。すなわちステップS203に進み、非合焦であることを記録し、図2のステップS9に進んで非合焦表示を行う。
ステップS202で合焦度合いが高いと判定され、ステップS210へ進んだ場合は、動画の画素数では十分とみなせる合焦状態であると言える。この場合は、静止画の画素数によっては、現在のフォーカスレンズ群3の位置で合焦とみなせる可能性がある。もしくはすぐ近くに静止画の画素数でも合焦とみなせる位置にフォーカスレンズ群3がある。従ってその位置で撮影するか、極狭いスキャン範囲でピントの探索を行い撮影すれば、短時間で十分に合焦した画像を得ることが可能となる。
そこでまずステップS210で設定された静止画の画素数を調べ、所定の画素数より小さければステップS211へ進み、大きければ極狭いスキャン範囲でピント探索の処理を行うステップS213へ進む。所定の画素数は動画の画素数によって異なるが、VGA動画(640画素×480画素)の場合は例えばSVGAサイズ(800×600)まで、HD動画(1920×1080)の場合は例えば2592×1944(または2400×1350)までとする。なお、ここでは動画の画素数より一回り大きいサイズまでを許容するサイズとしたが、本発明はこれに限定されるものではない。
ステップS211で図5のステップS63または同様にして求められた光軸方向の被写体の動き量が所定値を越えるか否かをチェックし、所定値を越えていればステップS213へ進む。微小駆動AFモード中の平均移動速さを動き量を表す値にしている場合の所定値は、動画の画素数よりひとまわり大きいサイズでの焦点深度の半分に設定するとよい。
動き量が所定値以下の場合はステップS212で詳細なピント合わせが済んでいるかをチェックする。微小駆動AFモードにおいて合焦と判断されるとステップS64で詳細な合焦位置への駆動(詳細なピント合わせ)が行われる。従って、通常は詳細なピント合わせは既に行われているが、稀に詳細な合焦位置へのフォーカスレンズ群3の移動中にSW1がオンされることがある。この場合は上述の処理を行うために詳細なピント合わせが完了していない場合がある。このような場合はステップS213へ進む。
詳細なピント合わせが済んでいる場合は合焦であることを記憶し、図2のステップのS9に進み合焦表示を行う。
また、ステップS213では極狭いスキャン範囲でピントの探索を行う。そしてステップS214において、ステップS213のスキャンで得られたAF評価値から合焦可能であるか否かを判定するローコントラスト判定を行う。ローコントラストでは無く合焦が可能と判断された場合はステップS215に進み合焦動作を行う。ローコントラストで合焦が不可能と判断された場合は、ステップS216へ進み非合焦であることを記憶したのち、図2のステップS9に進み非合焦表示を行う。
ローコントラスト判定方法としては、例えば、特開2004−101766号公報で説明されている方法を適用することができる。
ここで、ステップS213〜S215で行われる合焦動作の概略を図9を用いて説明する。
スキャンAFはCCD5によって生成された画像信号から出力される高周波成分が最も多くなるフォーカスレンズ群3の位置を求めることにより行われる。先ず、CPU15は第2モータ駆動回路19を介してフォーカス駆動モータ22を制御し、フォーカスレンズ群3を現在の位置からスキャン開始位置A1へ移動する。そしてその位置から所定のスキャン速度でスキャン終了位置B1へフォーカスレンズ群3を移動し、その間に所定のスキャン間隔でAF評価値を取得する。フォーカスレンズ群3の移動が終了した時点で、取得したAF評価値から最大になる位置(図9における「C」)を求め、その位置にフォーカスレンズ群3を移動する。
なお、ステップS213のスキャンにおけるAF評価値のスキャンポイント数は、例えば、5ポイント程度に設定する。またこの微小スキャン範囲はA1−B1の幅が動画撮影時の焦点深度の約2倍、A1への移動前のフォーカスレンズ群3の位置からはA1、B1ともに動画撮影時の焦点深度幅程度に設定する。この設定により動画中の静止画撮影のためのAFでフォーカスレンズ群3を移動させても、記録された動画ではほとんどピントの変化が認識されないため、動画の画質を損ねることがない。
なお、スキャンAFの高速化のために、ステップS213のスキャン間隔は、フォーカスレンズ群3を停止させることが可能な全ての停止位置ではなく、所定の停止可能位置おきにする。この場合、図9に示すように、実際にAF評価値が最大値となるスキャンポイントでAF評価値の取得が行われず、その前後のスキャンポイントa1、a2、a3においてAF評価値を取得することがあり得る。このような場合は得られたAF評価値の内、最大値となったスキャンポイントとその前後のスキャンポイントから合焦位置Cを計算にて求める。
そして合焦であることを記憶し、図2のステップS9に進み合焦表示を行う。
ステップS202で、合焦度合いが2つの閾値の間で中と判定され、ステップS220へ進む場合は、動画の画素数では合焦状態に近いが、静止画の画素数ではピントの合わせこみが必要な状態であると言える。この場合は現在のフォーカスレンズ群3の位置のあまり遠くない位置に静止画撮影の画素数でも合焦とみなせるフォーカスレンズ群3位置があると考えられる。従って、やや狭い範囲でピントの探索を行う。よってステップS220では小スキャン範囲でスキャンを行う。そしてステップS221において、ステップS214と同様に、ステップS220のスキャンで得られたAF評価値から合焦可能であるか否かを判定するローコントラスト判定を行う。ローコントラストでは無く合焦が可能と判断された場合はステップS222に進み合焦動作を行う。ローコントラストで合焦が不可能と判断された場合は、ステップS223へ進み非合焦であることを記憶したのち、図2のステップS9に進み非合焦表示を行う。
ここで、ステップS220〜S222で行われる合焦動作の概略を図9を用いて説明する。
スキャンAFはCCD5によって生成された画像信号から出力される高周波成分が最も多くなるフォーカスレンズ群3の位置を求めることにより行われる。先ず、CPU15は第2モータ駆動回路19を介してフォーカス駆動モータ22を制御し、フォーカスレンズ群3を現在の位置からスキャン開始位置A2へ移動する。そしてその位置から所定のスキャン速度でスキャン終了位置B2へフォーカスレンズ群3を移動し、その間に所定のスキャン間隔でAF評価値を取得する。フォーカスレンズ群3の移動が終了した時点で、取得したAF評価値から最大になる位置(図9における「C」)を求め、その位置にフォーカスレンズ群3を移動する。
なお、ステップS220のスキャンにおけるAF評価値のスキャンポイント数は、例えば、5ポイント程度に設定する。この小スキャン範囲はA2−B2の幅が動画撮影時の焦点深度の約5倍、A2への移動前のフォーカスレンズ群3の位置からはA2、B2ともに動画撮影時の焦点深度の2.5程度に設定する。この設定では動画中の静止画撮影のためのAFでフォーカスレンズ群3を移動させた場合、記録された動画でピントの変化が認識されるが、その変化量は小さくかつ変化している時間も短いため、動画の画質を大きく損ねることはない。
なお、スキャンAFの高速化のために、ステップS220のスキャン間隔は、フォーカスレンズ群3を停止させることが可能な全ての停止位置ではなく、所定の停止可能位置おきにする。この場合の処理はステップS215の場合と同様である。
そして合焦であることを記録し、図2のステップS9に進み合焦表示を行う。
上記の通り、本第1の実施形態においては、静止画の画素数が動画の画素数より多いことを考慮する。即ち、動画撮影モード中に静止画撮影を行う際に、動画撮影中の合焦位置を中心にフォーカスレンズを駆動し、静止画記録においても十分合焦とみなせる位置を探すようにした。
一方で、動画撮影中に撮影する静止画の撮影画像サイズが小さい場合は、動画撮影中の静止画撮影時には詳細なピント合わせを行わないようにした。
また、動画記録中もしくは動画記録待機中に被写体の光軸方向の動きを検出し、その量が小さいならば動画記録中もしくは動画記録待機中に詳細にピント合わせをし、動画中の静止画撮影時には詳細なピント合わせを行わないようにした。
更に、動画の画素数によって、動画中の静止画撮影時には詳細なピント合わせを行わないようにする静止画の画素数を変更するようにした。これにより動画記録中もしくは動画記録待機中の静止画撮影におけるレリーズタイムラグを短縮し、シャッターチャンスを逃さないようにすることが可能となる。また静止画の画素数が大きいときにも十分な合焦精度を得ることができる。
なお、上記第1の実施形態においては、スキャン時に各スキャンポイントでフォーカスレンズ群3を停止するものとして説明したが、本願発明はこれに限るものではない。例えば、等速でフォーカスレンズ群3を駆動しながら、所定時間間隔でCCD5から画像信号を読み出してAF評価値を取得するように制御しても良い。その場合には、上述した処理においてフォーカスレンズ群3の移動量を制御する代わりに、スキャン速度を制御すればよい。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。
本第2の実施形態においても、図1を参照して説明したものと同様の撮像装置を用いるため、ここでは説明を省略する。
本第2の実施形態では、図5(A)及び図5(B)のステップS67、S73、S82で行われる微小駆動AFモードにおける移動量の増減方法が、第1の実施形態で図6及び図7を参照して上述した方法と異なる。これ以外は、第1の実施形態と同様であるためここでは説明を省略し、以下、相違点に関して説明を行う。
本第2の実施形態は、フォーカスレンズ群3を至近側に移動する場合と無限遠側に移動する場合とで増減量を異ならせることを特徴とする。至近側に移動する場合の方が無限遠側に移動する場合に比べて移動量が大きくなるようにする。またその上限値も至近方向に移動する場合を大きくしている。例えば、至近方向に移動する場合の上限値は、無限遠方向に移動する場合の上限値に比べてデフォルト移動量の2倍程度大きな値(至近方向の上限値=無限遠方向の上限値+2×デフォルト移動量)とする。
先ず、ステップS73もしくはステップS82におけるフォーカスレンズ群3の移動量の本第2の実施形態の具体的な増減方法の一例について図11を用いて説明する。
先ず、ステップS301で、次回のフォーカスレンズ群3の移動方向を判定する。移動方向が至近方向ならステップS303へ進み、移動量の増減倍率αを1に、上限値を至近側上限値に設定する。逆に次回の移動方向が無限遠方向ならステップS302へ進み、移動量の増減倍率αを0.5に、上限値を無限遠側上限値に設定する。なおここでは移動量の増減倍率αは0.5の例を示したが、1未満の適当な数値であれば構わない。その後ステップS101へ進む。
ステップS101で現在のフォーカスレンズ群3の移動量とデフォルトの移動量とを比較し、現在の移動量がデフォルト移動量以下であればステップS102に進み、次回の移動量を現在の移動量の2倍に設定する。逆にデフォルト移動量より大きい場合は、ステップS304で現在の移動量にデフォルト移動量×αを加え、次回の移動量とする。ステップS104で移動量の上限値と比較し、上限値を超えていればステップS105で上限値を次回の移動量とする。
次に、ステップS67におけるフォーカスレンズ群3の移動量の本第2の実施形態の具体的な減少方法の一例について図12を用いて説明する。
先ず、ステップS311では次回のフォーカスレンズ群3の移動方向を判定する。移動方向が至近方向ならステップS313へ進み、移動量の増減倍率αを1に、上限値を至近側上限値に設定する。その後ステップS111へ進む。逆に次回の移動方向が無限遠方向ならステップS312へ進み、移動量の増減倍率αを0.5に、上限値を無限遠側上限値に設定する。その後ステップS314へ進み、現在の移動量が上限値(無限遠方向の上限値)を越えていないかを調べる。移動方向が反転した場合は至近方向の移動量が設定されており、それが無限遠方向の上限値を越えている可能性があるからである。越えていればステップS315へ進み、次回移動量を上限値(無限遠方向の上限値)に設定する。越えていなければ、ステップS111へ進む。
ステップS111で現在のフォーカスレンズ群3の移動量とデフォルトの移動量とを比較し、現在の移動量がデフォルト移動量を越えていれば、ステップS316に進む。そして現在の移動量からデフォルト移動量×αを引いた値を次回の移動量とする。逆にデフォルト移動量以下の場合は、ステップS113で現在の移動量を半分にし、次回の移動量とする。ステップS114で移動量の下限値と比較し、下限値未満であればステップS115で下限値を次回の移動量とする。
なお、フォーカスレンズ移動量の上限値は無限遠側がデフォルト移動量の4倍程度、至近側はデフォルト移動量の6倍程度、下限値はデフォルト移動量の4分の1程度に設定するのが好ましい。