(57)【要約】【課題】必要最小限のレンズ駆動（ＡＦ時間）で合焦させられるようにすること。【解決手段】カメラ側ＣＰＵ２８は、位相差ＡＦデフォーカス量算出回路４８を用いた位相差検出方式により検出されたデフォーカス量が示す方向に基づいて、フォーカスレンズをスキャン駆動させながらコントラストＡＦ評価値算出回路４６を用いてＡＦ評価値を繰り返し取得し、ＡＦ評価値の極値とＡＦ評価値の変化方向とを検出して記憶するスキャン動作を行わせる。そして、カメラ側ＣＰＵ２８は、このスキャン動作を停止させるか否かの判断を開始させる最低スキャン位置を、位相差合焦位置よりも前の位置として算出し、フォーカスレンズが最低スキャン位置に達してから、最低スキャン位置に達する前のスキャン動作中にピーク（極大値）が検出され、且つ、スキャン動作中の最新のＡＦ評価値の変化が下降中であると判定する場合に、スキャン動作を停止させる。【選択図】      図１
2018087859.tif 000002
【特許請求の範囲】
【請求項１】
フォーカスレンズを含む撮影レンズを介して被写体光を受光し撮像信号を生成する撮像素子を有し、上記撮像信号に基づく位相差検出方式によりデフォーカス量を検出し、上記撮像信号に基づくコントラスト検出方式によりコントラストを検出することが可能な焦点調節装置において、
上記位相差検出方式により検出されたデフォーカス量が示す方向に基づいて、上記フォーカスレンズをスキャン駆動させながら上記コントラストを繰り返し取得しコントラストの極値とコントラストの変化方向とを検出して記憶するスキャン動作を行う極値検出部と、
上記スキャン動作を停止させるか否かの判断を開始させる上記フォーカスレンズの位置である判断開始位置を、上記デフォーカス量に基づく合焦位置よりも前の位置として算出する判断開始位置算出部と、
上記フォーカスレンズが上記判断開始位置算出部により算出された上記判断開始位置に達してから、上記判断開始位置に達する前の上記スキャン動作中に極大値が検出され、且つ、上記スキャン動作中の最新のコントラストの変化が下降中であると判定する場合に、上記スキャン動作を停止させる制御部と、
を具備する焦点調節装置。
【請求項２】
上記制御部は、上記判断開始位置に達する前の上記スキャン動作中に極大値が検出され、且つ、上記スキャン動作中の最新のコントラストの変化が上昇中であると判定する場合には、上記スキャン動作を継続させる請求項１に記載の焦点調節装置。
【請求項３】
上記制御部は、上記スキャン動作を継続させた場合、上記極値検出部によりコントラストの極大値の検出を実行させ、このスキャン動作継続中に検出した極大値に対応するフォーカスレンズの位置へ上記フォーカスレンズを駆動する請求項２に記載の焦点調節装置。
【請求項４】
上記制御部は、上記判断開始位置に達する前の上記スキャン動作中にコントラストの極小値を検出している場合に、上記スキャン動作を継続して上記極値検出部によりコントラストの極大値の検出を実行させる請求項１に記載の焦点調節装置。
【請求項５】
上記制御部は、上記スキャン動作を停止した後、上記判断開始位置に達する前の上記スキャン動作中に検出された上記極大値に対応するフォーカスレンズの位置へ上記フォーカスレンズを駆動する請求項１に記載の焦点調節装置。
【請求項６】
上記判断開始位置算出部は、上記位相差検出方式により複数のデフォーカス量を検出した場合に、より近距離側を示すデフォーカス量に基づいて、上記判断開始位置を算出する請求項１乃至５の何れか一項に記載の焦点調節装置。
【請求項７】
フォーカスレンズを含む撮影レンズを介して被写体光を受光し撮像信号を生成する撮像素子を有し、上記撮像信号に基づく位相差検出方式によりデフォーカス量を検出し、上記撮像信号に基づくコントラスト検出方式によりコントラストを検出して、焦点調節動作を行う焦点調節方法において、
上記位相差検出方式により検出されたデフォーカス量が示す方向に基づいて、上記フォーカスレンズをスキャン駆動させながら上記コントラストを繰り返し取得しコントラストの極値とコントラストの変化方向とを検出して記憶するスキャン動作を行い、
上記スキャン動作を停止させるか否かの判断を開始させる上記フォーカスレンズの位置である判断開始位置を、上記デフォーカス量に基づく合焦位置よりも前の位置として算出し、
上記フォーカスレンズが上記判断開始位置に達してから、上記判断開始位置に達する前の上記スキャン動作中に極大値が検出され、且つ、上記スキャン動作中の最新のコントラストの変化が下降中であると判定する場合に、上記スキャン動作を停止させ、
上記スキャン動作を停止後、上記判断開始位置に達する前の上記スキャン動作中に検出された上記極大値に対応するフォーカスレンズの位置へ上記フォーカスレンズを駆動する焦点調節方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば撮像装置においてフォーカスレンズの焦点を調節する焦点調節装置及び焦点調節方法に関する。
【背景技術】
【０００２】
撮像装置などの光学機器には、自動的に焦点を合わせる自動焦点調節（所謂オートフォーカス（ＡＦ））機能が搭載されている。このＡＦ機能には様々な方式がある。例えば、撮像素子に設けられた焦点検出用の画素列からの出力信号に基づいて、瞳分割型像面位相差検出方式による焦点調節を行う位相差ＡＦ方式が知られている。また、撮像素子に設けられた撮像用画素からの出力信号に基づいて、コントラスト検出方式による焦点調節を行うコントラストＡＦ方式も広く用いられている。さらに、ハイブリッドＡＦ方式と称される、複数のＡＦ方式、例えば位相差ＡＦ方式とコントラストＡＦ方式との両方を採用した焦点調節装置も知られている。
【０００３】
例えば、特開２００９−６９２５５号公報（以下、特許文献１と記す。）には、位相差ＡＦ方式により検出された合焦位置にオフセットを加えた位置を停止目標位置としてフォーカスレンズのスキャン駆動を行い、そのスキャン駆動中に検出されたコン卜ラス卜ピークを合焦位置とする焦点調節方法が提案されている。上記特許文献１では、このような焦点調節方法により、精度の良い迅速な焦点検出を安定して行えるとしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−６９２５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１における停止目標位置を構成するオフセット値（固定値）は、位相差ＡＦ方式による測距誤差を考慮して設定される。しかしながら、撮影状況によっては、このオフセット値には、過少又は過多が発生する可能性がある。過少の場合は、ピーク検出が行なえず、再スキャン駆動を行うことになる。逆に、過多の場合は、不必要なスキャン駆動が継続されることになる。よって、何れの場合も、ＡＦ時間の増加に繋がる。
【０００６】
本発明は、上記の点に鑑みてなされたもので、必要最小限のレンズ駆動（ＡＦ時間）で合焦させることが可能な焦点調節装置及び焦点調節方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の焦点調節装置の一態様は、フォーカスレンズを含む撮影レンズを介して被写体光を受光し撮像信号を生成する撮像素子を有し、上記撮像信号に基づく位相差検出方式によりデフォーカス量を検出し、上記撮像信号に基づくコントラスト検出方式によりコントラストを検出することが可能な焦点調節装置であって、上記位相差検出方式により検出されたデフォーカス量が示す方向に基づいて、上記フォーカスレンズをスキャン駆動させながら上記コントラストを繰り返し取得しコントラストの極値とコントラストの変化方向とを検出して記憶するスキャン動作を行う極値検出部と、上記スキャン動作を停止させるか否かの判断を開始させる上記フォーカスレンズの位置である判断開始位置を、上記デフォーカス量に基づく合焦位置よりも前の位置として算出する判断開始位置算出部と、上記フォーカスレンズが上記判断開始位置算出部により算出された上記判断開始位置に達してから、上記判断開始位置に達する前の上記スキャン動作中に極大値が検出され、且つ、上記スキャン動作中の最新のコントラストの変化が下降中であると判定する場合に、上記スキャン動作を停止させる制御部と、を具備する。  
また、本発明の焦点調節方法の一態様は、フォーカスレンズを含む撮影レンズを介して被写体光を受光し撮像信号を生成する撮像素子を有し、上記撮像信号に基づく位相差検出方式によりデフォーカス量を検出し、上記撮像信号に基づくコントラスト検出方式によりコントラストを検出して、焦点調節動作を行う焦点調節方法であって、上記位相差検出方式により検出されたデフォーカス量が示す方向に基づいて、上記フォーカスレンズをスキャン駆動させながら上記コントラストを繰り返し取得しコントラストの極値とコントラストの変化方向とを検出して記憶するスキャン動作を行い、上記スキャン動作を停止させるか否かの判断を開始させる上記フォーカスレンズの位置である判断開始位置を、上記デフォーカス量に基づく合焦位置よりも前の位置として算出し、上記フォーカスレンズが上記判断開始位置に達してから、上記判断開始位置に達する前の上記スキャン動作中に極大値が検出され、且つ、上記スキャン動作中の最新のコントラストの変化が下降中であると判定する場合に、上記スキャン動作を停止させ、上記スキャン動作を停止後、上記判断開始位置に達する前の上記スキャン動作中に検出された上記極大値に対応するフォーカスレンズの位置へ上記フォーカスレンズを駆動する。
【発明の効果】
【０００８】
本発明によれば、判断開始位置をデフォーカス量に基づく合焦位置よりも前の位置として設定し、フォーカスレンズがこの判断開始位置に達してから、当該判断開始位置に達する前のスキャン動作中に極大値が検出され、且つ、スキャン動作中の最新のコントラストの変化が下降中であると判定する場合に、スキャン動作を停止させるようにしているので、必要最小限のレンズ駆動で合焦させることが可能な焦点調節装置及び焦点調節方法を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の一実施形態に係る焦点調節装置が適用された撮像装置のブロック構成図である。
【図２】図２は、ＡＦ動作を説明するためのフローチャートを示す図である。
【図３】図３は、図２中のデフォーカス量取得サブルーチンの動作を説明するためのフローチャートを示す図である。
【図４】図４は、図２中のスキャン駆動開始サブルーチンの動作を説明するためのフローチャートを示す図である。
【図５】図５は、図２中の方向判断サブルーチンの動作を説明するためのフローチャートを示す図である。
【図６】図６は、図２中のピーク検出サブルーチンの動作を説明するためのフローチャートを示す図である。
【図７】図７は、図５中の極小検出処理サブルーチンの動作を説明するためのフローチャートを示す図である。
【図８】図８は、図５中のピーク検出処理サブルーチンの動作を説明するためのフローチャートを示す図である。
【図９】図９は、図５中のスキャン完了判断サブルーチンの動作を説明するためのフローチャートを示す図である。
【図１０】図１０は、スキャン駆動がコントラストカーブの上り方向に開始され且つ複数のピーク（極大値）が存在する場合のＡＦ動作を説明するための図である。
【図１１】図１１は、スキャン駆動がコントラストカーブの下り方向に開始され且つ複数のピーク（極大値）が存在する場合のＡＦ動作を説明するための図である。
【図１２】図１２は、スキャン駆動を判断開始位置で停止する場合のＡＦ動作を説明するための図である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態を図面を参照して説明する。
【００１１】
図１に示すように、本発明の一実施形態に係る焦点調節装置が適用された撮像装置１０は、ボディユニット１２と、アクセサリ装置として例えば交換可能なレンズユニット（すなわちレンズ鏡筒）１４と、から成る。なお、ここでは、レンズ交換式の撮像装置１０を例に説明するが、本実施形態に係る焦点調節装置は、レンズがカメラ本体に着脱できない一般的なコンパクトカメラのような、レンズ一体式の撮像装置にも同様に適用可能である。
【００１２】
レンズユニット１４は、ボディユニット１２の前面に設けられた図示しないレンズマウントを介して当該ボディユニット１２に対して着脱自在に装着可能である。このレンズユニット１４は、フォーカスレンズを含む撮影レンズ１６と、絞り１８と、レンズ枠２０と、レンズモータ２２Ａ及び絞りモータ２２Ｂと、モータドライブ回路２４と、レンズ側ＣＰＵ２６と、から構成される。
【００１３】
撮影レンズ１６は、レンズ枠２０によって支持されている。レンズモータ２２Ａは、撮影レンズ１６のフォーカスレンズを光軸方向に沿って移動させるべくレンズ枠２０を移動させる。絞りモータ２２Ｂは、絞り１８の開放度を調節させるべく絞り１８を開閉させる。これらのレンズモータ２２Ａ及び絞りモータ２２Ｂは、モータドライブ回路２４を介してレンズ側ＣＰＵ２６からの制御信号に従って駆動される。
【００１４】
レンズ側ＣＰＵ２６は、レンズモータ２２Ａ及び絞りモータ２２Ｂ等、レンズユニット１４内の各部を駆動制御する。このレンズ側ＣＰＵ２６は、図示しない通信コネクタを介して、ボディユニット１２側のカメラ側ＣＰＵ２８と電気的に接続され、当該カメラ側ＣＰＵ２８からの指令に従って制御される。すなわち、カメラ側ＣＰＵ２８とレンズ側ＣＰＵ２６とは、レンズユニット１４の装着時において、通信コネクタを介して通信可能に電気的接続される。レンズ側ＣＰＵ２６は、カメラ側ＣＰＵ２８に従属的に協働しながら稼動する。
【００１５】
一方、ボディユニット１２内には、レンズユニット１４における撮影レンズ１６の光軸上に、撮影レンズ１６を通過した被写体像を光電変換するための撮像素子３０が設けられている。すなわち、撮影レンズ１６と絞り１８を通った光束は、撮像素子３０の撮像面上に結像される。撮像素子３０は、電子シャッタ（例えば電子ローリングシャッタ）により露光制御可能な撮像素子として構成されたものであり、一例としてはＣＭＯＳセンサや、ＣＣＤが挙げられる。ここに、電子ローリングシャッタとは、撮像素子３０の撮像面に２次元状に配列されている複数の画素をリセットする際、または信号を読み出す際に、画素毎に時系列的に、あるいはライン単位で時系列的に、リセットまたは読み出しを行うものをいう。すなわち、撮像素子３０は、各画素または各ラインの信号蓄積時間を電子的に制御することにより、メカニカルシャッタと同様の機能を果たすことができる。また、特に図示はしないが、撮像素子３０は、瞳分割型位相差検出方式による焦点調節を行うための位相差画素を有している。
【００１６】
また、ボディユニット１２内には、撮像素子３０に接続された撮像制御・信号処理回路３２が設けられている。この撮像制御・信号処理回路３２は、カメラ側ＣＰＵ２８に接続され、カメラ側ＣＰＵ２８の指令に従って、撮像素子３０の電子シャッタを制御する。
【００１７】
カメラ側ＣＰＵ２８には、さらに、画像処理回路３４と、メモリ３６と、記録装置３８と、表示装置４０と、操作部４２と、ＡＥ評価値算出回路４４と、コントラストＡＦ評価値算出回路４６と、位相差ＡＦデフォーカス量算出回路４８と、が接続されている。
【００１８】
画像処理を行うための画像処理回路３４には、撮像制御・信号処理回路３２が接続されている。ボディユニット１２は、これらのカメラ側ＣＰＵ２８、撮像素子３０、撮像制御・信号処理回路３２、画像処理回路３４、メモリ３６及び記録装置３８によって、電子撮像機能を提供できるように構成されている。
【００１９】
画像処理回路３４は、カメラ側ＣＰＵ２８の指令に従って、撮像制御・信号処理回路３２を介して撮像素子３０の出力する撮像信号を取り込む。この撮像信号は、画像処理回路３４によりビデオ信号に変換され、カメラ側ＣＰＵ２８を介して表示装置４０に出力表示される。撮影者は、この表示装置４０の表示画像から、撮影した画像を確認することができる。
【００２０】
記憶領域として設けられたメモリ３６は、例えば、ＳＤＲＡＭ及びフラッシュ（ＦＬＡＳＨ）ＲＯＭを含む。ここで、ＳＤＲＡＭは、撮像信号の一時的保管用メモリであり、撮像信号が変換される際のワークエリア等に使用される。この撮像信号は、各種の画像処理が行われＪＰＥＧデータに変換された後には、記録装置３８に保管されるように設定されている。記録装置３８は、各種のメモリカードや外付けのハードディスクドライブ（ＨＤＤ）等の外部記録媒体であり、撮像装置１０のボディユニット１２と通信可能で、かつ交換可能に装着される。ＦＬＡＳＨ  ＲＯＭは、カメラ側ＣＰＵ２８で実行される制御プログラムを不揮発性に記憶する。なお、上記メモリ３６は、この制御プログラム実行中に参照／書き換えられる制御パラメータ、モード設定値、などのデータを一時記憶するバッファとして利用される。
【００２１】
操作部４２は、特に図示はしていないが、例えば撮影動作の実行を指示するレリーズスイッチ、撮影モードと画像表示モードを切り替えるモード変更スイッチ及びパワースイッチ等、当該撮像装置１０を操作するために必要な操作釦を含むスイッチ群で構成される。レリーズスイッチの動作には、レリーズ釦の半押し動作すなわちファースト（１ｓｔ）レリーズ押下の動作と、全押し動作であるセカンド（２ｎｄ）レリーズ押下の動作とがある。
【００２２】
ＡＥ評価値算出回路４４は、撮像素子３０が出力する撮像信号からＡＥ（Automatic Exposure、自動露出）評価値を算出する。カメラ側ＣＰＵ２８は、このＡＥ評価値算出回路４４が算出したＡＥ評価値に基づいて、露出状態（シャッタスピード、絞り値）を設定する。絞り値を示す情報は、カメラ側ＣＰＵ２８からレンズ側ＣＰＵ２６に送られ、レンズ側ＣＰＵ２６は、それに従って絞り１８の開度を制御する。
【００２３】
コントラストＡＦ評価値算出回路４６は、撮像制御・信号処理回路３２を介して撮像素子３０の出力する撮像信号を取り込み、該撮像信号に基づいてコントラストを示すＡＦ評価値を算出する。カメラ側ＣＰＵ２８は、このコントラストＡＦ評価値算出回路４６で算出したＡＦ評価値に基づいて、撮影レンズ１６が備えるフォーカスレンズの焦点が合うレンズ位置を決定する。
【００２４】
また、位相差ＡＦデフォーカス量算出回路４８は、撮像素子３０が備える位相差画素からの信号を撮像制御・信号処理回路３２を介して取り込み、位相差検出により焦点検出を行って、撮影レンズ１６のデフォーカス量を出力する。カメラ側ＣＰＵ２８は、この位相差ＡＦデフォーカス量算出回路４８の出力するデフォーカス量に基づいて、撮影レンズ１６が備えるフォーカスレンズの焦点が合うレンズ位置を決定する。なお、撮像素子３０に位相差画素を設ける代わりに、専用のセンサを用意して、そのセンサからの信号を用いて位相差を算出するようにしても良い。
【００２５】
上記の如く構成された撮像装置１０においては、撮影レンズ１６から入射した光束は、絞り１８を介して撮像素子３０に導かれる。この撮像素子３０により撮像信号が生成される。画像処理回路３４は、カメラ側ＣＰＵ２８からの指令に従って撮像制御・信号処理回路３２を制御し、撮像素子３０から撮像信号を取り込む。この取り込まれた撮像信号は、カメラ側ＣＰＵ２８を介して、一時保管用メモリであるメモリ３６に取り込まれる。このメモリ３６に取り込まれた撮像信号は、カメラ側ＣＰＵ２８を介して画像処理回路３４により読み出され、ビデオ信号に変換されて、カメラ側ＣＰＵ２８を介して表示装置４０に出力表示される。これにより、撮影者は、この表示装置４０の表示画像から撮影した画像を確認する、いわゆるライブビュー画像を確認することができる。
【００２６】
撮影レンズ１６が備えるフォーカスレンズの焦点合わせは次のように行われる。すなわち、フォーカスレンズの位置を順次変更するスキャン駆動を行い、順次撮像し、コントラストＡＦ評価値算出回路４６でＡＦ評価値を順次に生成する。なお、このスキャン駆動開始に先立って、カメラ側ＣＰＵ２８は、このスキャン動作を停止させるか否かの判断を開始させるフォーカスレンズの位置である判断開始位置を、位相差ＡＦデフォーカス量算出回路４８の出力するデフォーカス量に基づいて設定する。そして、カメラ側ＣＰＵ２８は、上記スキャン動作中にコントラストＡＦ評価値算出回路４６で生成したＡＦ評価値に基づいて、撮像画像の最もコントラストの高いレンズ位置を演算する。この演算したレンズ位置は、カメラ側ＣＰＵ２８からボディユニット１２のレンズ側ＣＰＵ２６に伝達され、レンズ側ＣＰＵ２６が撮影レンズ１６のフォーカスレンズをそのレンズ位置へ位置制御する。
【００２７】
このように、コントラストＡＦ評価値算出回路４６、位相差ＡＦデフォーカス量算出回路４８及びカメラ側ＣＰＵ２８は、焦点調節装置として機能する。
【００２８】
また、ＡＥ評価値算出回路４４は、撮像素子３０が出力する撮像信号から光量（ＡＥ評価値）を検出し、それに基づき周知の測光処理を行う機能を有している。
【００２９】
撮影時には、撮像制御・信号処理回路３２は、カメラ側ＣＰＵ２８からシャッタを駆動制御するための信号を受け取ると、この信号に基づいて電子シャッタを制御する。
【００３０】
画像処理回路３４は、前述のように、カメラ側ＣＰＵ２８からの指令に従って撮像素子３０から撮像信号をメモリ３６に取り込む。その後、画像処理回路３４は、このメモリ３６に取り込まれた撮像信号に対して各種の画像処理を施した後、ＪＰＥＧデータに変換し、記録装置３８に保管する。ここで、撮像信号が動画である場合は、ＭＰＥＧデータ等に変換して、記録装置３８に保管する。
【００３１】
撮影者によって操作部４２の中のモード変更スイッチが操作され、撮影モードから画像表示モードへ切り換えられると、記録装置３８に保管されている撮像信号が読み出されて表示装置４０に表示可能となる。すなわち、記録装置３８から読み出された撮像信号は、画像処理回路３４によりビデオ信号に変換され、カメラ側ＣＰＵ２８を介して表示装置４０にて出力表示される。
【００３２】
次に、上記の如く構成された撮像装置１０におけるＡＦ動作の詳細を、図２に示すフローチャートを参照して説明する。
【００３３】
まず、撮影者によって操作部４２のパワースイッチが操作されて、ボディ電源がオンされると、カメラ側ＣＰＵ２８は、所定の初期化動作を行った後、撮影待機状態となり、表示装置４０にライブビュー表示を行う（ステップＳＡ）。
【００３４】
その後、カメラ側ＣＰＵ２８は、撮影者により操作部４２内のレリーズスイッチが半押し動作されたか否か、すなわち１ｓｔレリーズ押下による１ｓｔレリーズ入力が有ったか否かを判定する（ステップＳＢ）。ここで、１ｓｔレリーズ入力が無いと判定した場合には、カメラ側ＣＰＵ２８は、処理を上記ステップＳＡに戻す。この１ｓｔレリーズ入力の有無判定は、定期的（例えば、撮像のフレームレート単位）に行われる。また、カメラ側ＣＰＵ２８は、レンズ側ＣＰＵ２６と定期的に通信を行ってフォーカスレンズの位置情報等の各種情報を取得する。
【００３５】
これに対して、１ｓｔレリーズ入力が有ったと判定した場合には、カメラ側ＣＰＵ２８は、デフォーカス量取得サブルーチンを実行する（ステップＳＣ）。これは、カメラ側ＣＰＵ２８が、位相差ＡＦデフォーカス量算出回路４８にデフォーカス量を算出させ、このデフォーカス量に基づいて、スキャン動作を停止させるか否かの判断を開始させるフォーカスレンズの位置である判断開始位置等を設定する処理である。このデフォーカス量取得サブルーチンの詳細については後述する。その後、カメラ側ＣＰＵ２８は、コントラストＡＦ用露出設定サブルーチンを実行する（ステップＳＤ）。これは、カメラ側ＣＰＵ２８が、ＡＥ評価値算出回路４４に周知の測光処理を行わせ、その結果に基づいてコントラストＡＦ用の露出状態、つまりシャッタスピードを撮像制御・信号処理回路３２に設定すると共に、絞り値をモータドライブ回路２４及び絞りモータ２２Ｂを介して絞り１８に設定するものである。なお、絞り１８の設定は、カメラ側ＣＰＵ２８からレンズ側ＣＰＵ２６に送信される制御コマンドに基づいてなされる。
【００３６】
こうして判断開始位置等の設定やコントラストＡＦ用露出の設定が行われたならば、カメラ側ＣＰＵ２８は、初期位置駆動サブルーチンを実行する（ステップＳＥ）。これは、カメラ側ＣＰＵ２８が、位相差ＡＦデフォーカス量算出回路４８の出力するデフォーカス量に基づいて、必要によりフォーカスレンズの初期位置駆動を実施するものである。
【００３７】
次に、カメラ側ＣＰＵ２８は、スキャン駆動開始サブルーチンを実行する（ステップＳＦ）。これは、カメラ側ＣＰＵ２８が、コントラストＡＦ評価値算出回路４６にＡＦ評価値の取得を開始させると共に、モータドライブ回路２４及びレンズモータ２２Ａを駆動して撮影レンズ１６のフォーカスレンズの移動を開始させるものである。なお、フォーカスレンズのレンズ駆動制御は、カメラ側ＣＰＵ２８からレンズ側ＣＰＵ２６に送信される制御コマンドに基づいてなされる。このスキャン駆動開始サブルーチンの詳細については後述する。
【００３８】
次に、カメラ側ＣＰＵ２８は、方向判断サブルーチンを実行する（ステップＳＧ）。これは、カメラ側ＣＰＵ２８が、フォーカスレンズのスキャン駆動すべき方向を判断するものである。この方向判断サブルーチンの詳細については後述する。
【００３９】
次に、カメラ側ＣＰＵ２８は、ピーク検出サブルーチンを実行する（ステップＳＨ）。これは、カメラ側ＣＰＵ２８が、コントラストＡＦ評価値算出回路４６で求めたＡＦ評価値の変化からＡＦ評価値のピーク（極大値）を検出するものである。このピーク検出サブルーチンの詳細については後述する。
【００４０】
こうして、ＡＦ評価値のピークが検出されたならば、カメラ側ＣＰＵ２８は、合焦位置算出サブルーチンを実行することにより、合焦位置を算出し、その合焦位置へフォーカスレンズを移動させるためのパルス量を算出する（ステップＳＩ）。その後、カメラ側ＣＰＵ２８は、合焦位置駆動サブルーチンを実行することで、この算出したパルス量分だけフォーカスレンズを駆動する（ステップＳＪ）。
【００４１】
その後は、特に図示はしていないが、レリーズスイッチの全押し動作である２ｎｄレリーズ入力に応じて、カメラ側ＣＰＵ２８は、露光動作を行い、撮像素子３０から撮像信号に対して各種の画像処理を施した後、記録装置３８に保管することになる。
【００４２】
次に、上記ステップＳＣで実行されるデフォーカス量取得サブルーチンの詳細を、図３に示すフローチャートを参照して説明する。
【００４３】
このデフォーカス量取得サブルーチンにおいては、カメラ側ＣＰＵ２８は、まず、位相差ＡＦデフォーカス量算出回路４８によりデフォーカス量を算出させる（ステップＳＣ１）。そして、カメラ側ＣＰＵ２８は、その算出したデフォーカス量が信頼性の有るものであるか否かを判定する（ステップＳＣ２）。
【００４４】
ここで、算出したデフォーカス量が信頼性の有るものではないと判定した場合には、カメラ側ＣＰＵ２８は、内部又はメモリ３６に構成した「デフォーカス量」フラグに「無効」を設定する（ステップＳＣ３）。そして、カメラ側ＣＰＵ２８は、本デフォーカス量取得サブルーチンの処理を終了して、上記ステップＳＤのコントラストＡＦ用露出設定へと処理を進める。
【００４５】
これに対して、算出したデフォーカス量が信頼性の有るものであると判定した場合は、カメラ側ＣＰＵ２８は、上記「デフォーカス量」フラグに「有効」を設定する（ステップＳＣ４）。その後、位相差ＡＦデフォーカス量算出回路４８により算出したデフォーカス量に相当するパルス量ｄｅｆｏｃｕｓ＿ｐｌｓを取得し、メモリ３６に構成したバッファにそれを一時的に記憶する（ステップＳＣ５）。すなわち、現在のフォーカスレンズの位置（ｐｏｓ＿ｉｎｉ）からデフォーカス量に相当する位置（位相差合焦位置）までフォーカスレンズを移動させるのに必要なレンズモータ２２Ａの駆動パルス量を取得するものである。なお、取得したデフォーカス量相当パルス量ｄｅｆｏｃｕｓ＿ｐｌｓは、メモリ３６に構成したバッファに一時的に記憶される。
【００４６】
その後、カメラ側ＣＰＵ２８は、スキャン動作を停止させるか否かの判断を開始させるフォーカスレンズの位置である判断開始位置としての最低スキャン位置までフォーカスレンズを移動させるのに必要なレンズモータ２２Ａの駆動パルス量を算出する（ステップＳＣ６）。すなわち、最低スキャン位置までの最低スキャンパルス量ｓｃａｎ＿ｎｅｅｄ＿ｐｌｓを、上記デフォーカス量相当パルス量ｄｅｆｏｃｕｓ＿ｐｌｓに所定の係数ｋ＿ｓｃａｎ＿ｎｅｅｄを乗算することで算出する。算出した最低スキャンパルス量ｓｃａｎ＿ｎｅｅｄ＿ｐｌｓは、メモリ３６に構成したバッファに一時的に記憶される。ここで、係数ｋ＿ｓｃａｎ＿ｎｅｅｄは例えば０．８であり、デフォーカス量の算出誤差を考慮して、適切な値を選択して、メモリ３６に格納されている。
【００４７】
またさらに、カメラ側ＣＰＵ２８は、スキャン動作を強制的に終了させるフォーカスレンズの位置である最大スキャン位置までフォーカスレンズを移動させるのに必要なレンズモータ２２Ａの駆動パルス量を算出する（ステップＳＣ７）。すなわち、最大スキャン位置までの最大スキャンパルス量ｓｃａｎ＿ｌｉｍｉｔ＿ｐｌｓを、上記デフォーカス量相当パルス量ｄｅｆｏｃｕｓ＿ｐｌｓに所定の係数ｋ＿ｓｃａｎ＿ｌｉｍｉｔを乗算することで算出する（ステップＳＣ７）。算出した最大スキャンパルス量ｓｃａｎ＿ｌｉｍｉｔ＿ｐｌｓは、メモリ３６に構成したバッファに一時的に記憶される。ここで、係数ｋ＿ｓｃａｎ＿ｌｉｍｉｔは例えば１．３であり、デフォーカス量の算出誤差を考慮して、適切な値を選択して、メモリ３６に格納されている。
【００４８】
こうして、デフォーカス量相当パルス量ｄｅｆｏｃｕｓ＿ｐｌｓを取得し、最低スキャンパルス量ｓｃａｎ＿ｎｅｅｄ＿ｐｌｓ及び最大スキャンパルス量ｓｃａｎ＿ｌｉｍｉｔ＿ｐｌｓを算出したならば、カメラ側ＣＰＵ２８は、本デフォーカス量取得サブルーチンの処理を終了して、上記ステップＳＤのコントラストＡＦ用露出設定へと処理を進める。
【００４９】
次に、上記ステップＳＦで実行されるスキャン駆動サブルーチンの詳細を、図４に示すフローチャートを参照して説明する。
【００５０】
このスキャン駆動サブルーチンにおいては、カメラ側ＣＰＵ２８は、まず、上記「デフォーカス」フラグに「有効」が設定されているか否かを判定する（ステップＳＦ１）。
【００５１】
ここで、「デフォーカス」フラグに「有効」が設定されていると判定した場合には、カメラ側ＣＰＵ２８は、レンズ側ＣＰＵ２６に制御コマンドを送信して、フォーカスレンズのスキャン駆動をデフォーカス方向に開始させる（ステップＳＦ２）。そして、カメラ側ＣＰＵ２８は、本スキャン駆動サブルーチンの処理を終了して、上記ステップＳＧの方向判断サブルーチンへと処理を進める。
【００５２】
これに対して、「デフォーカス」フラグに「有効」が設定されていないと判定した場合には、カメラ側ＣＰＵ２８は、レンズ側ＣＰＵ２６に制御コマンドを送信して、フォーカスレンズのスキャン駆動を、現在のフォーカスレンズの位置から遠い側の端点方向に開始させる（ステップＳＦ３）。そして、カメラ側ＣＰＵ２８は、本スキャン駆動サブルーチンの処理を終了して、上記ステップＳＧの方向判断サブルーチンへと処理を進める。
【００５３】
次に、上記ステップＳＧで実行される方向判断サブルーチンの詳細を、図５に示すフローチャートを参照して説明する。
【００５４】
この方向判断サブルーチンにおいては、カメラ側ＣＰＵ２８は、まず、上記「デフォーカス」フラグに「有効」が設定されているか否かを判定する（ステップＳＧ１）。
【００５５】
ここで、「デフォーカス」フラグに「有効」が設定されていると判定した場合には、カメラ側ＣＰＵ２８は、内部又はメモリ３６に構成した「方向」フラグに「順方向」を設定する（ステップＳＧ２）。さらに、カメラ側ＣＰＵ２８は、内部又はメモリ３６に構成した「状態」フラグに「極小検出中」を設定する（ステップＳＧ３）。そして、カメラ側ＣＰＵ２８は、本方向判断サブルーチンの処理を終了して、上記ステップＳＨのピーク検出サブルーチンへと処理を進める。
【００５６】
これに対して、「デフォーカス」フラグに「有効」が設定されてないと判定した場合には、カメラ側ＣＰＵ２８は、コントラストＡＦ評価値算出回路４６により現在のＡＦ評価値ＡＦｖａｌ＿Ｎｏｗを取得する（ステップＳＧ４）。この取得した現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗは、メモリ３６に構成したバッファに一時的に記憶される。なお、初回のみ、この取得した現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗは、基準ＡＦ評価値ＡＦｖａｌ＿Ｂａｓｅとして、バッファに記憶される。
【００５７】
その後、カメラ側ＣＰＵ２８は、バッファに保存した基準ＡＦ評価値ＡＦｖａｌ＿Ｂａｓｅから現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗへの変化率を算出する（ステップＳＧ５）。すなわち、カメラ側ＣＰＵ２８は、ＡＦｖａｌ＿Ｎｏｗ／ＡＦｖａｌ＿Ｂａｓｅ−１を演算することで、変化率を算出する。こうして算出した変化率は、メモリ３６に構成したバッファに一時的に記憶される。
【００５８】
次に、カメラ側ＣＰＵ２８は、算出した変化率が、メモリ３６に予め記憶されている上り方向判断閾値以上であるか否かを判定する（ステップＳＧ６）。
【００５９】
ここで、変化率が上り方向判断閾値以上であると判定した場合には、カメラ側ＣＰＵ２８は、上記「方向」フラグに「順方向」を設定する（ステップＳＧ７）。さらに、カメラ側ＣＰＵ２８は、上記「状態」フラグに「ピーク検出中」を設定する（ステップＳＧ８）。そして、カメラ側ＣＰＵ２８は、本方向判断サブルーチンの処理を終了して、上記ステップＳＨのピーク検出サブルーチンへと処理を進める。
【００６０】
これに対して、変化率が上り方向判断閾値以上でないと判定した場合には、カメラ側ＣＰＵ２８は、さらに、変化率が、メモリ３６に予め記憶されている下り方向判断閾値以下であるか否かを判定する（ステップＳＧ９）。
【００６１】
ここで、変化率が下り方向判断閾値以下であると判定した場合には、カメラ側ＣＰＵ２８は、上記「方向」フラグに「逆方向」を設定する（ステップＳＧ１０）。そして、カメラ側ＣＰＵ２８は、レンズ側ＣＰＵ２６に制御コマンドを送信して、フォーカスレンズのスキャン駆動の方向を反転させる（ステップＳＧ１１）。その後、カメラ側ＣＰＵ２８は、上記ステップＳＧ８の処理に進む。
【００６２】
一方、変化率が下り方向判断閾値以下でもないと判定した場合には、カメラ側ＣＰＵ２８は、上記「方向」フラグに「未確定」を設定する（ステップＳＧ１２）。そして、カメラ側ＣＰＵ２８は、１ＶＤ期間が終了するのを待って（ステップＳＧ１３）、上記ステップＳＧ４に、その処理を戻す。
【００６３】
次に、上記ステップＳＨで実行されるピーク検出サブルーチンの詳細を、図６に示すフローチャートを参照して説明する。
【００６４】
このピーク検出サブルーチンにおいては、カメラ側ＣＰＵ２８は、まず、コントラストＡＦ評価値算出回路４６により現在のＡＦ評価値ＡＦｖａｌ＿Ｎｏｗを取得する（ステップＳＨ１）。この取得した現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗは、メモリ３６に構成したバッファに一時的に記憶される。なお、初回のみ、この取得した現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗは、基準ＡＦ評価値ＡＦｖａｌ＿Ｂａｓｅとして、バッファに記憶される。
【００６５】
その後、カメラ側ＣＰＵ２８は、上記「状態」フラグに「極小検出中」が設定されているか否かを判定する（ステップＳＨ２）。
【００６６】
ここで、「状態」フラグに「極小検出中」が設定されていると判定した場合には、カメラ側ＣＰＵ２８は、極小検出処理サブルーチンを実行する（ステップＳＨ３）。これは、カメラ側ＣＰＵ２８が、ＡＦ評価値の極小値を検出するものである。この極小検出処理サブルーチンの詳細については後述するが、極小値が検出されたときには、カメラ側ＣＰＵ２８は、内部又はメモリ３６に構成した「極小検出条件」フラグに「成立」を設定することとなる。而して、カメラ側ＣＰＵ２８は、この「極小検出条件」フラグに「成立」が設定されているか否かを判定する（ステップＳＨ４）。
【００６７】
「極小検出条件」フラグに「成立」が設定されていないと判定した場合、カメラ側ＣＰＵ２８は、上記「状態」フラグに「極小検出中」を設定する（ステップＳＨ５）。そして、カメラ側ＣＰＵ２８は、１ＶＤ期間が終了するのを待って（ステップＳＨ６）、上記ステップＳＨ１に、その処理を戻す。
【００６８】
これに対して、「極小検出条件」フラグに「成立」が設定されていると判定した場合には、カメラ側ＣＰＵ２８は、上記「状態」フラグに「ピーク検出中」を設定する（ステップＳＨ７）。そして、カメラ側ＣＰＵ２８は、スキャン完了判断サブルーチンを実行する（ステップＳＨ８）。これは、カメラ側ＣＰＵ２８が、フォーカスレンズのスキャン駆動の完了条件が満たされたか否かを判定するものである。このスキャン完了判断サブルーチンの詳細については後述するが、スキャン駆動の完了条件が満たされたときには、カメラ側ＣＰＵ２８は、内部又はメモリ３６に構成した「スキャン完了条件」フラグに「Ｔｒｕｅ」を設定することとなる。而して、カメラ側ＣＰＵ２８は、この「スキャン完了条件」フラグに「Ｔｒｕｅ」が設定されているか否かを判定する（ステップＳＨ９）。
【００６９】
ここで、「スキャン完了条件」フラグに「Ｔｒｕｅ」が設定されていないと判定した場合には、カメラ側ＣＰＵ２８は、上記ステップＳＨ６に、その処理を戻す。
【００７０】
一方、上記ステップＳＨ２において、「状態」フラグに「極小検出中」が設定されていないと判定した場合には、カメラ側ＣＰＵ２８は、ピーク検出処理サブルーチンを実行する（ステップＳＨ１０）。これは、カメラ側ＣＰＵ２８が、ＡＦ評価値のピークが検出されたか否かを判定するものである。このピーク検出処理サブルーチンの詳細については後述するが、ＡＦ評価値のピークが検出されたときには、カメラ側ＣＰＵ２８は、内部又はメモリ３６に構成した「ピーク検出条件」フラグに「成立」を設定することとなる。而して、カメラ側ＣＰＵ２８は、この「ピーク検出条件」フラグに「成立」が設定されているか否かを判定する（ステップＳＨ１１）。
【００７１】
ここで、「ピーク検出条件」フラグに「成立」が設定されていないと判定した場合には、カメラ側ＣＰＵ２８は、上記ステップＳＨ８に、その処理を戻す。
【００７２】
これに対して、「ピーク検出条件」フラグに「成立」が設定されていると判定した場合には、カメラ側ＣＰＵ２８は、上記ピーク検出処理サブルーチン中で、メモリ３６に構成したバッファに更新記憶されていくＡＦ評価値の検出最大値であるＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘを、最終検出ピークデータとして、メモリ３６に更新記憶する（ステップＳＨ１２）。そして、カメラ側ＣＰＵ２８は、メモリ３６のバッファに記憶されているＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘを０クリアする（ステップＳＨ１３）。また、カメラ側ＣＰＵ２８は、上記「状態」フラグに「極小検出中」を設定する（ステップＳＨ１４）。その後、カメラ側ＣＰＵ２８は、上記ステップＳＨ８に、その処理を戻す。
【００７３】
また、上記ステップＳＨ９において、「スキャン完了条件」フラグに「Ｔｒｕｅ」が設定されていると判定した場合には、カメラ側ＣＰＵ２８は、合焦位置演算のための採用ピークデータとして、メモリ３６に更新記録されている最終検出ピークデータを設定し、メモリ３６に一時的に記憶する（ステップＳＨ１５）。また、カメラ側ＣＰＵ２８は、レンズ側ＣＰＵ２６に制御コマンドを送信して、フォーカスレンズのスキャン駆動を終了させる（ステップＳＨ１６）。そして、カメラ側ＣＰＵ２８は、本ピーク検出サブルーチンの処理を終了して、上記ステップＳＩの合焦位置演算サブルーチンへと処理を進める。
【００７４】
カメラ側ＣＰＵ２８は、このステップＳＩの合焦位置演算サブルーチンにおいて、メモリ３６に一時的に記憶された上記採用ピークデータに基づいて合焦位置を算出し、次のステップＳＪの合焦位置駆動サブルーチンにおいて、この算出した合焦位置にフォーカスレンズを駆動することとなる。
【００７５】
次に、上記ステップＳＨのピーク検出サブルーチン中にステップＳＨ３として実行される極小検出処理サブルーチンの詳細を、図７に示すフローチャートを参照して説明する。
【００７６】
この極小検出処理サブルーチンにおいては、カメラ側ＣＰＵ２８は、まず、上記ステップＳＨ１で取得した現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗが、１つ前のＶＤ期間に取得した前回ＡＦ評価値ＡＦｖａｌ＿Ｂｅｆｏｒｅから減少しているかを判定する（ステップＳＨ３１）。具体的には、カメラ側ＣＰＵ２８は、それぞれメモリ３６に構成したバッファに一時的に記憶される現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗと前回ＡＦ評価値ＡＦｖａｌ＿Ｂｅｆｏｒｅとを読み出して、それらの差分ＡＦｖａｌ＿Ｎｏｗ−ＡＦｖａｌ＿Ｂｅｆｏｒｅを算出し、算出結果が０より小さいか否かを判定する。なお、前回ＡＦ評価値ＡＦｖａｌ＿Ｂｅｆｏｒｅの初期値としては、メモリ３６に構成したバッファに記憶されている基準ＡＦ評価値ＡＦｖａｌ＿Ｂａｓｅが使用される。
【００７７】
ここで、現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗが前回ＡＦ評価値ＡＦｖａｌ＿Ｂｅｆｏｒｅから減少していると判定した場合、カメラ側ＣＰＵ２８は、バッファに記憶した基準ＡＦ評価値ＡＦｖａｌ＿Ｂａｓｅを、現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗに更新する（ステップＳＨ３２）。その後、カメラ側ＣＰＵ２８は、内部又はメモリ３６に構成した「極小検出条件」フラグに「不成立」を設定する（ステップＳＨ３３）。そして、カメラ側ＣＰＵ２８は、本極小検出処理サブルーチンの処理を終了して、上記ステップＳＨ４の判定へと処理を進める。
【００７８】
これに対して、現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗが前回ＡＦ評価値ＡＦｖａｌ＿Ｂｅｆｏｒｅから減少していないと判定した場合、カメラ側ＣＰＵ２８は、バッファに記憶した基準ＡＦ評価値ＡＦｖａｌ＿Ｂａｓｅから現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗへの上昇率を算出する（ステップＳＨ３４）。すなわち、カメラ側ＣＰＵ２８は、ＡＦｖａｌ＿Ｎｏｗ／ＡＦｖａｌ＿Ｂａｓｅ−１を演算することで、上昇率を算出する。こうして算出した上昇率は、メモリ３６に構成したバッファに一時的に記憶される。
【００７９】
次に、カメラ側ＣＰＵ２８は、ＡＦ評価値が上昇しているか否かを判定する（ステップＳＨ３５）。この判定は、上記算出した上昇率が、メモリ３６に予め記憶されている極小検出閾値以上であるか否かを判定することによって行われる。
【００８０】
ここで、ＡＦ評価値が上昇していないと判定した場合には、カメラ側ＣＰＵ２８は、上記ステップＳＨ３３に、その処理を戻す。
【００８１】
これに対して、ＡＦ評価値が上昇していると判定した場合には、カメラ側ＣＰＵ２８は、上記「極小検出条件」フラグに「成立」を設定する（ステップＳＨ３６）。そして、カメラ側ＣＰＵ２８は、本極小検出処理サブルーチンの処理を終了して、上記ステップＳＨ４の判定へと処理を進める。
【００８２】
このように、極小検出処理サブルーチンでは、ＡＦ評価値が減少していっている間は基準ＡＦ評価値ＡＦｖａｌ＿Ｂａｓｅが更新されていき、ＡＦ評価値が極小値を超えて上昇に転じたならば、その基準ＡＦ評価値ＡＦｖａｌ＿Ｂａｓｅが保持される。そして、この基準ＡＦ評価値ＡＦｖａｌ＿Ｂａｓｅと現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗとに基づいて算出される上昇率が極小検出閾値以上を示したならば、カメラ側ＣＰＵ２８は、ＡＦ評価値が上昇していっていることは確実である、つまり、極小値が検出された、と判定する。こうして極小値が検出されたならば、スキャン駆動に伴ってＡＦ評価値は増加していくので、今度は、上記ステップＳＨ１０のピーク検出サブルーチンを実行して、ピーク検出を行うことが必要になる。そこで、カメラ側ＣＰＵ２８は、上記ステップＳＨ３６で「極小検出条件」フラグに「成立」を設定することで、上記ステップＳＨ４から上記ステップＳＨ７に処理を進めて、上記「状態」フラグに「ピーク検出中」を設定することで、上記ステップＳＨのピーク検出サブルーチンに処理が進むようにしている。
【００８３】
次に、上記ステップＳＨのピーク検出サブルーチン中にステップＳＨ１０として実行されるピーク検出処理サブルーチンの詳細を、図８に示すフローチャートを参照して説明する。
【００８４】
このピーク検出処理サブルーチンにおいては、カメラ側ＣＰＵ２８は、まず、上記ステップＳＨ１で取得した現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗが、ＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘより大きいか否かを判定する（ステップＳＨ１０１）。具体的には、カメラ側ＣＰＵ２８は、それぞれメモリ３６に構成したバッファに一時的に記憶される現在ＡＦ評価値ＡＦｖａｌ＿ＮｏｗとＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘとを読み出して、それらの差分ＡＦｖａｌ＿Ｎｏｗ−ＡＦｖａｌ＿Ｍａｘを算出し、算出結果が０より大きいか否かを判定する。
【００８５】
ここで、現在ＡＦ評価値ＡＦｖａｌ＿ＮｏｗがＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘより大きいと判定した場合、カメラ側ＣＰＵ２８は、バッファに記憶したＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘを、現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗに更新する（ステップＳＨ１０２）。そして、カメラ側ＣＰＵ２８は、本ピーク検出処理サブルーチンの処理を終了して、上記ステップＳＨ１１の判定へと処理を進める。
【００８６】
これに対して、現在ＡＦ評価値ＡＦｖａｌ＿ＮｏｗがＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘより大きくないと判定した場合、カメラ側ＣＰＵ２８は、バッファに記憶したＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘから現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗへの減少率を算出する（ステップＳＨ１０３）。すなわち、カメラ側ＣＰＵ２８は、１−ＡＦｖａｌ＿Ｎｏｗ／ＡＦｖａｌ＿Ｍａｘを演算することで、減少率を算出する。こうして算出した減少率は、メモリ３６に構成したバッファに一時的に記憶される。
【００８７】
次に、カメラ側ＣＰＵ２８は、上記算出した減少率が、メモリ３６に予め記憶されているピーク検出閾値以上であるか否かを判定する（ステップＳＨ１０４）。
【００８８】
ここで、減少率がピーク検出閾値以上であると判定した場合には、カメラ側ＣＰＵ２８は、内部又はメモリ３６に構成した「ピーク検出条件」フラグに「成立」を設定する（ステップＳＨ１０５）。そして、カメラ側ＣＰＵ２８は、本ピーク検出処理サブルーチンの処理を終了して、上記ステップＳＨ１１の判定へと処理を進める。
【００８９】
これに対して、減少率がピーク検出閾値以上でないと判定した場合には、カメラ側ＣＰＵ２８は、上記「ピーク検出条件」フラグに「不成立」を設定する（ステップＳＨ１０６）。そして、カメラ側ＣＰＵ２８は、本ピーク検出処理サブルーチンの処理を終了して、上記ステップＳＨ１１の判定へと処理を進める。
【００９０】
次に、上記ステップＳＨのピーク検出サブルーチン中にステップＳＨ８として実行されるスキャン完了判断サブルーチンの詳細を、図９に示すフローチャートを参照して説明する。
【００９１】
このスキャン完了判断サブルーチンにおいては、カメラ側ＣＰＵ２８は、まず、内部又はメモリ３６に構成した上記「デフォーカス量」フラグに「有効」が設定されているか否かを判定する（ステップＳＨ８１）。
【００９２】
ここで、「デフォーカス量」フラグに「有効」が設定されていると判定した場合には、カメラ側ＣＰＵ２８は、スキャン完了条件として、以下のような条件［１］乃至条件［５］の組み合わせを選択する（ステップＳＨ８２）。すなわち、
条件［１］：１つ以上のピークが検出されている、
条件［２］：最低スキャン位置に達している、
条件［３］：「状態」フラグに「ピーク検出中」が設定されていない、
条件［４］：最大スキャン位置を超えている、
条件［５］：端点に到達している、
において、条件［１］が満足されると共に、条件［２］且つ［３］、条件［４］、又は条件［５］の何れかが満足されたとき、スキャン完了条件が満たされたとする。
【００９３】
また、「デフォーカス量」フラグに「有効」が設定されてないと判定した場合には、カメラ側ＣＰＵ２８は、スキャン完了条件として、１つ以上のピークが検出されていること、をスキャン完了条件として選択する（ステップＳＨ８３）。
【００９４】
このようなスキャン完了条件が選択されたならば、カメラ側ＣＰＵ２８は、そのスキャン完了条件が満たされたか否かを判定する（ステップＳＨ８）。
【００９５】
ここで、スキャン完了条件が満たされたと判定した場合には、カメラ側ＣＰＵ２８は、内部又はメモリ３６に構成した「スキャン完了条件」フラグに「Ｔｒｕｅ」を設定する（ステップＳＨ８５）。そして、カメラ側ＣＰＵ２８は、本スキャン完了判断サブルーチンの処理を終了して、上記ステップＳＨ９の判定へと処理を進める。
【００９６】
これに対して、スキャン完了条件が満たされていないと判定した場合には、カメラ側ＣＰＵ２８は、上記「スキャン完了条件」フラグに「Ｆａｌｓｅ」を設定する（ステップＳＨ８６）。そして、カメラ側ＣＰＵ２８は、本スキャン完了判断サブルーチンの処理を終了して、上記ステップＳＨ９の判定へと処理を進める。
【００９７】
以上のような撮像装置１０におけるＡＦ動作を、具体例に基づいて更に説明する。  
まず、スキャン駆動がコントラストカーブの上り方向に開始され且つ複数のピーク（極大値）が存在する場合のＡＦ動作を、図１０を参照して説明する。
【００９８】
すなわち、上記ステップＳＢにおいて１ｓｔレリーズ入力が有ったと判定したときのフォーカスレンズ位置である初期位置ｐｏｓ＿ｉｎｉが図１０に示すような位置にあり、上記ステップＳＣのデフォーカス量取得サブルーチンの上記ステップＳＣ１で算出したデフォーカス量が、上記ステップＳＣ２において信頼性があると判定されたとする。この場合には、上記ステップＳＣ４にて「デフォーカス量」フラグに「有効」が設定され、上記ステップＳＣ５乃至上記ステップＳＣ７において、デフォーカス量相当パルス量ｄｅｆｏｃｕｓ＿ｐｌｓが取得されると共に、最低スキャンパルス量ｓｃａｎ＿ｎｅｅｄ＿ｐｌｓ及び最大スキャンパルス量ｓｃａｎ＿ｌｉｍｉｔ＿ｐｌｓが算出される。
【００９９】
その後、上記ステップＳＤにおいてコントラストＡＦ用の露出設定が行われ、上記ステップＳＥにおいて初期位置駆動が行われた後、上記ステップＳＦのスキャン駆動開始サブルーチンが実行されることとなる。このスキャン駆動サブルーチンにおいては、上記ステップＳＦ１で上記「デフォーカス」フラグに「有効」が設定されていると判定されるので、上記ステップＳＦ２において、フォーカスレンズのスキャン駆動がデフォーカス方向に開始される。
【０１００】
そして、次の上記ステップＳＧの方向判断サブルーチンにおいては、上記ステップＳＧ１で上記「デフォーカス」フラグに「有効」が設定されていると判定されるので、上記ステップＳＧ２で上記「方向」フラグに「順方向」が設定され、上記ステップＳＧ３で上記「状態」フラグに「極小検出中」が設定される。
【０１０１】
これにより、次の上記ステップＳＨのピーク検出サブルーチンにおいては、上記ステップＳＨ１で現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗが取得された後の上記ステップＳＨ２では、上記「状態」フラグに「極小検出中」が設定されていると判定される。従って、この場合には、上記ステップＳＨ３の極小検出処理サブルーチンが実行されることになる。
【０１０２】
図１０の例では、上記初期位置ｐｏｓ＿ｉｎｉから開始されたスキャン駆動の方向がコントラストカーブの上り方向であるため、この極小検出処理サブルーチンの上記ステップＳＨ３１では、現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗが前回ＡＦ評価値ＡＦｖａｌ＿Ｂｅｆｏｒｅから減少していないと判定され、上記ステップＳＨ３４にて上昇率が算出される。その後、上記ステップＳＨ３５でＡＦ評価値が上昇していないと判定され、上記ステップＳＨ３３で上記「極小検出条件」フラグに「不成立」が設定される。よって、この極小検出処理サブルーチン終了後、上記ステップＳＨ５及び上記ステップＳＨ６を経て、処理は上記ステップＳＨ１に戻され、上記ステップＳＨ１乃至上記ステップＳＨ６の処理ループが回されることになる。そして、スキャン駆動が進むにつれてＡＦ評価値が上昇していって、上記ステップＳＨ３５でＡＦ評価値が上昇していると判定されると、極小値が検出されたとして、上記ステップＳＨ３６で上記「極小検出条件」フラグに「成立」が設定される。これにより、上記ステップＳＨ４で上記「極小検出条件」フラグに「成立」が設定されていると判定され、上記ステップＳＨ７にて上記「状態」フラグに「ピーク検出中」が設定される。
【０１０３】
このように、図１０の例では、上記初期位置ｐｏｓ＿ｉｎｉから開始されたスキャン駆動の方向がコントラストカーブの上り方向であるため、このステップＳＨ３の極小検出処理サブルーチンにおいては、極小値が検出されることはなく、ＡＦ評価値が上昇していることのみが検出される。従って、この極小検出処理サブルーチンは、上昇検出サブルーチンと読み替えることができる。
【０１０４】
上記ステップＳＨ７にて上記「状態」フラグに「ピーク検出中」が設定された後の上記ステップＳＨ８のスキャン完了判断サブルーチンにおいては、上記ステップＳＨ８１で上記「デフォーカス量」フラグに「有効」が設定されていると判定されるので、上記ステップＳＨ８２において上記条件［１］乃至上記条件［５］の組み合わせがスキャン完了条件として選択される。そして、上記ステップＳＨ８４でこのスキャン完了条件が満たされたか否か判定されるが、上記条件［１］乃至上記条件［５］の何れも未だ満たしていないので、上記ステップＳＨ８６で上記「スキャン完了条件」フラグに「Ｆａｌｓｅ」が設定される。よって、このスキャン完了判断サブルーチン終了後、上記ステップＳＨ９及び上記ステップＳＨ６を経て、処理は上記ステップＳＨ１に戻され、更に上記ステップＳＨ２に進められる。すると、「状態」フラグに「極小検出中」が設定されていないと判定されるので、上記ステップＳＨ１０のピーク検出処理サブルーチンが実行されることになる。このようにして、極小（上昇）検出からピーク検出へと処理が切り替えられる。
【０１０５】
上記ピーク検出処理サブルーチンにおいては、ＡＦ評価値が増加していっている間は、上記ステップＳＨ１０１で現在ＡＦ評価値ＡＦｖａｌ＿ＮｏｗがＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘより大きいと判定されるので、上記ステップＳＨ１０２でＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘが現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗで更新されていく。従って、この、このピーク検出処理サブルーチン終了後、上記ステップＳＨ１１、上記ステップＳＨ８、上記ステップＳＨ９、上記ステップＳＨ６を経て、処理は上記ステップＳＨ１に戻される。こうして、上記ステップＳＨ１、ＳＨ２、ＳＨ１０、ＳＨ１１、ＳＨ８、ＳＨ９及びＳＨ６でなる処理ループが回されることになる。そして、スキャン駆動が進むにつれてＡＦ評価値が上昇していって、ＡＦ評価値がピークを越えて減少に転じたならば、上記ステップＳＨ１０のピーク検出処理サブルーチン中の上記ステップＳＨ１０１で現在ＡＦ評価値ＡＦｖａｌ＿ＮｏｗがＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘより大きくないと判定される。すると、上記ステップＳＨ１０３にて減少率が算出される。その後、上記ステップＳＨ１０４で減少率がピーク検出閾値以上でないと判定され、上記ステップＳＨ１０６で上記「ピーク検出条件」フラグに「不成立」が設定される。よって、このピーク検出処理サブルーチン終了後も、上記ステップＳＨ１１から上記ステップＳＨ８を経て、上記のステップＳＨ１、ＳＨ２、ＳＨ１０、ＳＨ１１、ＳＨ８、ＳＨ９及びＳＨ６でなる処理ループが更に回されることになる。
【０１０６】
そして、スキャン駆動が進むにつれてＡＦ評価値が更に減少していって、上記ステップＳＨ１０４で減少率がピーク検出閾値以上であると判定されると、上記ステップＳＨ１０５で上記「ピーク検出条件」フラグに「成立」が設定される。これにより、このピーク検出処理サブルーチン終了後の上記ステップＳＨ１１で上記「ピーク検出条件」フラグに「成立」が設定されていると判定されることになる。この場合には、上記ステップＳＨ１２で、ＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘが最終検出ピークデータとして更新記憶された後、上記ステップＳＨ１３でＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘが０クリアされ、上記ステップＳＨ１４で上記「状態」フラグに「極小検出中」が設定される。
【０１０７】
その後、上記ステップＳＨ８のスキャン完了判断サブルーチンに処理が進み、上記ステップＳＨ８１で上記「デフォーカス量」フラグに「有効」が設定されていると判定されるので、上記ステップＳＨ８２において上記条件［１］乃至上記条件［５］の組み合わせがスキャン完了条件として選択される。そして、上記ステップＳＨ８４でこのスキャン完了条件が満たされたか否か判定されるが、この場合には、上記条件［１］は満たされているが、その他の条件は何れも未だ満たしていないので、上記ステップＳＨ８６で上記「スキャン完了条件」フラグに「Ｆａｌｓｅ」が設定されることとなる。よって、このスキャン完了判断サブルーチン終了後、上記ステップＳＨ９及び上記ステップＳＨ６を経て、処理は上記ステップＳＨ１に戻され、更に上記ステップＳＨ２に進められる。すると、今度は、「状態」フラグに「極小検出中」が設定されていると判定されるので、上記ステップＳＨ３の極小検出処理サブルーチンが実行されることになる。このようにして、ピーク検出から極小検出へと処理が切り替えられる。
【０１０８】
この極小検出処理サブルーチンでは、今度は、ＡＦ評価値が減少して行っているので、上記ステップＳＨ３１では、現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗが前回ＡＦ評価値ＡＦｖａｌ＿Ｂｅｆｏｒｅから減少していると判定されることになる。よって、上記ステップＳＨ３２に処理が進められて、基準ＡＦ評価値ＡＦｖａｌ＿Ｂａｓｅが現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗによって更新された後、上記ステップＳＨ３３で上記「極小検出条件」フラグに「不成立」が設定される。これにより、上記ステップＳＨ４で上記「極小検出条件」フラグに「成立」が設定されていないと判定され、上記ステップＳＨ５にて上記「状態」フラグに「極小検出中」が設定される。その後、上記ステップＳＨ６を経て、処理は上記ステップＳＨ１に戻される。こうして、上記ステップＳＨ１乃至ステップＳＨ６でなる処理ループが回され、基準ＡＦ評価値ＡＦｖａｌ＿Ｂａｓｅが更新されていく。
【０１０９】
そして、スキャン駆動が進むにつれてＡＦ評価値が減少していって、ＡＦ評価値が最小値を超えて上昇に転じたならば、上記ステップＳＨ３の極小検出処理サブルーチン中の上記ステップＳＨ３１で現在ＡＦ評価値ＡＦｖａｌ＿Ｎｏｗが前回ＡＦ評価値ＡＦｖａｌ＿Ｂｅｆｏｒｅから減少していないと判定され、上記ステップＳＨ３４にて上昇率が算出される。その後、上記ステップＳＨ３５でＡＦ評価値が上昇していないと判定され、上記ステップＳＨ３３で上記「極小検出条件」フラグに「不成立」が設定される。よって、この極小検出処理サブルーチン終了後、上記ステップＳＨ５及び上記ステップＳＨ６を経て、処理は上記ステップＳＨ１に戻され、上記ステップＳＨ１乃至上記ステップＳＨ６の処理ループが更に回されることになる。そして、スキャン駆動が進むにつれてＡＦ評価値が上昇していって、上記ステップＳＨ３５でＡＦ評価値が上昇していると判定されると、上記ステップＳＨ３６で上記「極小検出条件」フラグに「成立」が設定される。これにより、上記ステップＳＨ４で上記「極小検出条件」フラグに「成立」が設定されていると判定され、上記ステップＳＨ７にて上記「状態」フラグに「ピーク検出中」が設定される。
【０１１０】
その後は、上述したような上記ステップＳＨ８のスキャン完了判断サブルーチン及び上記ステップＳＨ１０のピーク検出処理サブルーチンが繰り返し実行されていく。
【０１１１】
こうしてスキャン駆動が行いながらスキャン完了判断及びピーク検出を行っていくと、フォーカスレンズの位置が最低スキャン位置に達する。この場合、上記ステップＳＨ８のスキャン完了判断サブルーチン中の上記ステップＳＨ８４においてスキャン完了条件を満たしているか否かの判定を行う際に、上記条件［１］に加えて上記条件［２］を満たしていることとなる。しかしながら、この条件［２］は、上記条件［３］とのＡＮＤ条件であるため、このステップＳＨ８４では、変わらずスキャン完了条件を満たしていないと判定されることになり、スキャン駆動が続けられることになる。
【０１１２】
そして更にスキャン駆動を行いながらスキャン完了判断及びピーク検出を行っていくと、ＡＦ評価値が２つ目のピークを越えて減少に転じ、そのことが、上記ステップＳＨ１０のピーク検出処理サブルーチン中の上記ステップＳＨ１０４で減少率がピーク検出閾値以上であると判定されることで検出される。これにより、上記ステップＳＨ１０５で上記「ピーク検出条件」フラグに「成立」が設定され、よって、このピーク検出処理サブルーチン終了後の上記ステップＳＨ１１で上記「ピーク検出条件」フラグに「成立」が設定されていると判定されることになる。この場合には、上記ステップＳＨ１２で、ＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘが最終検出ピークデータとして更新記憶された後、上記ステップＳＨ１３を経て、上記ステップＳＨ１４で上記「状態」フラグに「極小検出中」が設定される。なお、この場合のＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘ、つまりピーク位置は、デフォーカス量に基づく位相差合焦位置と必ずしも一致しない。
【０１１３】
こうして上記「状態」フラグに「極小検出中」が設定された後では、上記ステップＳＨ８のスキャン完了判断サブルーチン中の上記ステップＳＨ８４においてスキャン完了条件を満たしているか否かの判定を行う際に、上記条件［１］及び上記条件［２］に加えて、上記条件［３］も満たすこととなる。従って、この場合には、上記ステップＳＨ８４で、スキャン完了条件を満たしたと判定され、上記ステップＳＨ８５で上記「スキャン完了条件」フラグに「Ｔｒｕｅ」が設定される。これにより、次の上記ステップＳＨ９において、「スキャン完了条件」フラグに「Ｔｒｕｅ」が設定されていると判定されることで、上記ステップＳＨ１５で合焦位置演算のための採用ピークデータとして、最終検出ピークデータが設定されると共に、上記ステップＳＨ１６でフォーカスレンズのスキャン駆動が終了させられる。
【０１１４】
その後、上記ステップＳＩの合焦位置演算サブルーチンにおいて、上記ステップＳＨ１２で記憶しておいた最終検出ピークデータに基づいて、つまり更新記憶されていく複数のピークの内の最後に検出されたピークデータであるＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘに基づいて、合焦位置が算出される。そして、上記ステップＳＪの合焦位置駆動サブルーチンで、この算出された合焦位置へフォーカスレンズが駆動されることとなる。
【０１１５】
このように、最低スキャン位置をデフォーカス量に基づく位相差合焦位置よりも前の位置として設定し、フォーカスレンズがこの最低スキャン位置に達してから、当該最低スキャン位置に達する前のスキャン動作中にピーク（極大値）が検出され、且つ、スキャン動作中のコントラストを示すＡＦ評価値の最新の変化が減少つまり下降中であると判定する場合に、スキャン動作を停止させる。これにより、必要最小限のレンズ駆動で合焦させることが可能となる。更に、ＡＦ評価値に図１０に示すように、複数のピークが存在する場合、つまり遠近混在被写体条件であったとしても、最終検出ピークデータに基づいて合焦位置算出が行われるので、確実に近側被写体に合焦させることが可能となる。
【０１１６】
次に、スキャン駆動がコントラストカーブの下り方向に開始され且つ複数のピーク（極大値）が存在する場合のＡＦ動作を、図１１を参照して説明する。
【０１１７】
すなわち、上記ステップＳＢにおいて１ｓｔレリーズ入力が有ったと判定したときのフォーカスレンズ位置である初期位置ｐｏｓ＿ｉｎｉが図１１に示すような位置にあり、上記ステップＳＣのデフォーカス量取得サブルーチンの上記ステップＳＣ１で算出したデフォーカス量が、上記ステップＳＣ２において信頼性があると判定されたとする。この場合には、上記図１０の場合と同様にして、このステップＳＣのデフォーカス量取得サブルーチン中で、デフォーカス量相当パルス量ｄｅｆｏｃｕｓ＿ｐｌｓが取得されると共に、最低スキャンパルス量ｓｃａｎ＿ｎｅｅｄ＿ｐｌｓ及び最大スキャンパルス量ｓｃａｎ＿ｌｉｍｉｔ＿ｐｌｓが算出される。そして、上記ステップＳＤ及び上記ステップＳＥを経て上記ステップＳＦでフォーカスレンズのスキャン駆動がデフォーカス方向に開始されて、上記ステップＳＧで上記「状態」フラグに「極小検出中」が設定される。その後、上記ステップＳＨのピーク検出サブルーチンが実行される。
【０１１８】
このピーク検出サブルーチンにおいては、上記「状態」フラグに「極小検出中」が設定されているので、まず上記ステップＳＨ３の極小検出処理サブルーチンが実行される。ここで、図１１の例では、上記初期位置ｐｏｓ＿ｉｎｉから開始されたスキャン駆動の方向が、図１０の例とは異なり、コントラストカーブの下り方向であるため、この極小検出処理サブルーチンは、上記図１０の例のような上昇検出サブルーチンとはならない。
【０１１９】
そして、上記ステップＳＨ３の極小検出処理サブルーチンにおいて極小値が検出されて、上記ステップＳＨ３６で上記「極小検出条件」フラグに「成立」が設定され、上記ステップＳＨ７にて上記「状態」フラグに「ピーク検出中」が設定されると、上記ステップＳＨ８のスキャン完了判断サブルーチンが実行される。
【０１２０】
このスキャン完了判断サブルーチンにおいて、上記ステップＳＨ８４でこのスキャン完了条件が満たされたか否か判定されるが、この場合には、上記条件［３］は満たされているが、まずは、上記条件［１］が満たされていることが前提としてあるので、上記ステップＳＨ８６で上記「スキャン完了条件」フラグに「Ｆａｌｓｅ」が設定されることとなる。従って、このスキャン完了判断サブルーチン終了後、上記ステップＳＨ９、ＳＨ６、ＳＨ１及びＳＨ２を経て、上述したような上記ステップＳＨ１０のピーク検出処理サブルーチン及び上記ステップＳＨ８のスキャン完了判断サブルーチンが繰り返し実行されていく。
【０１２１】
こうしてスキャン駆動が行いながらピーク検出及びスキャン完了判断を行っていくと、フォーカスレンズの位置が最低スキャン位置に達する。この場合、上記ステップＳＨ８のスキャン完了判断サブルーチン中の上記ステップＳＨ８４においてスキャン完了条件を満たしているか否かの判定を行う際に、上記条件［２］に加えて上記条件［３］を満たしていることとなる。しかしながら、上記条件［１］が満たされていることが前提としてあるので、このステップＳＨ８４では、変わらずスキャン完了条件を満たしていないと判定されることになり、スキャン駆動が続けられることになる。
【０１２２】
そして更にスキャン駆動を行いながらピーク検出及びスキャン完了判断を行っていくと、ＡＦ評価値がピークを越えて減少に転じ、そのことが、上記ステップＳＨ１０のピーク検出処理サブルーチン中の上記ステップＳＨ１０４で減少率がピーク検出閾値以上であると判定されることで検出される。これにより、上記ステップＳＨ１０５で上記「ピーク検出条件」フラグに「成立」が設定され、よって、このピーク検出処理サブルーチン終了後の上記ステップＳＨ１１で上記「ピーク検出条件」フラグに「成立」が設定されていると判定されることになる。この場合には、上記ステップＳＨ１２で、ＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘが最終検出ピークデータとして更新記憶された後、上記ステップＳＨ１３を経て、上記ステップＳＨ１４で上記「状態」フラグに「極小検出中」が設定される。なお、この場合のＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘ、つまりピーク位置は、デフォーカス量に基づく位相差合焦位置と必ずしも一致しない。
【０１２３】
こうして上記「状態」フラグに「極小検出中」が設定された後では、上記ステップＳＨ８のスキャン完了判断サブルーチン中の上記ステップＳＨ８４においてスキャン完了条件を満たしているか否かの判定を行う際に、上記条件［２］及び上記条件［３］に加えて、前提条件で有る上記条件［１］が満たされることとなる。従って、この場合には、上記ステップＳＨ８４で、スキャン完了条件を満たしたと判定され、上記ステップＳＨ８５で上記「スキャン完了条件」フラグに「Ｔｒｕｅ」が設定される。これにより、次の上記ステップＳＨ９において、「スキャン完了条件」フラグに「Ｔｒｕｅ」が設定されていると判定されることで、上記ステップＳＨ１５で合焦位置演算のための採用ピークデータとして、最終検出ピークデータが設定されると共に、上記ステップＳＨ１６でフォーカスレンズのスキャン駆動が終了させられる。
【０１２４】
その後、上記ステップＳＩの合焦位置演算サブルーチンにおいて、上記ステップＳＨ１２で記憶しておいた最終検出ピークデータに基づいて、つまり更新記憶されていく複数のピークの内の最後に検出されたピークデータであるＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘに基づいて、合焦位置が算出される。そして、上記ステップＳＪの合焦位置駆動サブルーチンで、この算出された合焦位置へフォーカスレンズが駆動されることとなる。
【０１２５】
このように、スキャン駆動がコントラストカーブの下り方向に開始され且つ複数のピーク（極大値）が存在する場合のＡＦ動作においても、図１０の例と同様、必要最小限のレンズ駆動で合焦させることが可能となり、また、遠近混在被写体条件であっても、確実に近側被写体に合焦させることが可能となる。
【０１２６】
次に、スキャン駆動を判断開始位置である最低スキャン位置で停止する場合のＡＦ動作を、図１２を参照して説明する。
【０１２７】
すなわち、上記ステップＳＢにおいて１ｓｔレリーズ入力が有ったと判定したときのフォーカスレンズ位置である初期位置ｐｏｓ＿ｉｎｉが図１２に示すような位置にあり、上記ステップＳＣのデフォーカス量取得サブルーチンの上記ステップＳＣ１で算出したデフォーカス量が、上記ステップＳＣ２において信頼性があると判定されたとする。この場合には、上記図１０の場合と同様にして、スキャン駆動が開始されて、上昇検出が行われ、その後、ピーク検出が行われる。
【０１２８】
この図１２の例では、フォーカスレンズが最低スキャン位置に達する前にＡＦ評価値のピーク（最大値）が検出され、その後、極小検出中となる。このとき極小値を検出する前に、スキャン駆動されているフォーカスレンズが最低スキャン位置に達したとする。すると、上記ステップＳＨ８のスキャン完了判断サブルーチン中の上記ステップＳＨ８４においてスキャン完了条件を満たしているか否かの判定を行う際、上記条件［１］及び上記条件［３］に加えて、上記条件［２］が満たされることとなる。従って、この場合には、上記ステップＳＨ８４で、スキャン完了条件を満たしたと判定され、上記ステップＳＨ８５で上記「スキャン完了条件」フラグに「Ｔｒｕｅ」が設定される。これにより、次の上記ステップＳＨ９において、「スキャン完了条件」フラグに「Ｔｒｕｅ」が設定されていると判定されることで、上記ステップＳＨ１５で合焦位置演算のための採用ピークデータとして、最終検出ピークデータが設定されると共に、上記ステップＳＨ１６でフォーカスレンズのスキャン駆動が終了させられる。
【０１２９】
その後、上記ステップＳＩの合焦位置演算サブルーチンにおいて、上記ステップＳＨ１２で記憶しておいた最終検出ピークデータに基づいて、つまり更新記憶されていく複数のピークの内の最後に検出されたピークデータであるＡＦ評価値最大値ＡＦｖａｌ＿Ｍａｘに基づいて、合焦位置が算出される。そして、上記ステップＳＪの合焦位置駆動サブルーチンで、この算出された合焦位置へフォーカスレンズが駆動されることとなる。
【０１３０】
このように、最低スキャン位置をデフォーカス量に基づく位相差合焦位置よりも前の位置として設定し、フォーカスレンズがこの最低スキャン位置に達してから、当該最低スキャン位置に達する前のスキャン動作中にピーク（極大値）が検出され、且つ、スキャン動作中のコントラストを示すＡＦ評価値の最新の変化が減少つまり下降中であると判定する場合に、スキャン動作を停止させる。これにより、必要最小限のレンズ駆動で合焦させることが可能となる。
【０１３１】
以上のように、一実施形態に係る撮像装置１０における焦点調節装置は、フォーカスレンズを含む撮影レンズ１６を介して被写体光を受光し撮像信号を生成する撮像素子３０を有し、上記撮像信号に基づく位相差検出方式によりデフォーカス量を検出し、上記撮像信号に基づくコントラスト検出方式によりコントラストを検出することが可能な焦点調節装置であり、上記撮像素子３０の出力する撮像信号を取り込み、該撮像信号に基づいてコントラストを示すＡＦ評価値を算出するコントラストＡＦ評価値算出回路４６と、上記撮像素子３０が備える位相差画素からの信号を取り込み、位相差検出により焦点検出を行って、撮影レンズ１６のデフォーカス量を出力する位相差ＡＦデフォーカス量算出回路４８と、これらコントラストＡＦ評価値算出回路４６と位相差ＡＦデフォーカス量算出回路４８の出力に基づいてフォーカスレンズの焦点調節を制御するカメラ側ＣＰＵ２８と、を備える。そして、上記カメラ側ＣＰＵ２８は、上記位相差検出方式により検出されたデフォーカス量が示す方向に基づいて、上記フォーカスレンズをスキャン駆動させながら上記ＡＦ評価値を繰り返し取得しＡＦ評価値の極値とＡＦ評価値の変化方向とを検出して記憶するスキャン動作を行う極値検出部と、上記スキャン動作を停止させるか否かの判断を開始させる上記フォーカスレンズの位置である判断開始位置としての最低スキャン位置を、上記デフォーカス量に基づく合焦位置である位相差合焦位置よりも前の位置として算出する判断開始位置算出部と、上記フォーカスレンズが上記最低スキャン位置に達してから、上記最低スキャン位置に達する前の上記スキャン動作中にピーク（極大値）が検出され、且つ、上記スキャン動作中の最新のＡＦ評価値の変化が下降中であると判定する場合に、上記スキャン動作を停止させる制御部と、として機能する。  
従って、必要最小限のレンズ駆動（ＡＦ時間）で合焦させることが可能となる。
【０１３２】
なお、上記カメラ側ＣＰＵ２８は、上記最低スキャン位置に達する前の上記スキャン動作中にピークが検出され、且つ、上記スキャン動作中の最新のＡＦ評価値の変化が上昇中であると判定する場合には、上記スキャン動作を継続させる。  
従って、最低スキャン位置に達しても最新のＡＦ評価値の変化が上昇中であれば、更にピークの検出を実施するので、複数のピークが存在する遠近混在被写体条件であっても、確実に近側被写体に合焦させることが可能となる。
【０１３３】
すなわち、上記カメラ側ＣＰＵ２８は、上記スキャン動作を継続させた場合、上記ＡＦ評価値のピークの検出を実行させ、このスキャン動作継続中に検出したピークに対応するフォーカスレンズの位置へ上記フォーカスレンズを駆動する。  
従って、フォーカスレンズを近側被写体の合焦位置に移動させることが可能となる。
【０１３４】
また、上記カメラ側ＣＰＵ２８は、上記最低スキャン位置に達する前の上記スキャン動作中にＡＦ評価値の極小値を検出している場合に、上記スキャン動作を継続して上記ＡＦ評価値のピークの検出を実行させる。  
従って、最低スキャン位置に達しても、それ以前にＡＦ評価値の極小値を検出している場合には、更にピークの検出を実施するので、複数のピークが存在する遠近混在被写体条件であっても、確実に近側被写体に合焦させることが可能となる。
【０１３５】
また、上記カメラ側ＣＰＵ２８は、上記スキャン動作を停止した後、上記最低スキャン位置に達する前の上記スキャン動作中に検出された上記ピークに対応するフォーカスレンズの位置へ上記フォーカスレンズを駆動する。  
従って、精度良く被写体に合焦させることが可能となる。
【０１３６】
なお、上記カメラ側ＣＰＵ２８は、上記位相差検出方式により複数のデフォーカス量を検出した場合に、より近距離側を示すデフォーカス量に基づいて、上記最低スキャン位置を算出する。  
従って、複数のピークが存在する遠近混在被写体条件であっても、確実に近側被写体に合焦させることが可能となる。
【０１３７】
また、一実施形態に係る点調節方法は、フォーカスレンズを含む撮影レンズ１６を介して被写体光を受光し撮像信号を生成する撮像素子３０を有し、上記撮像信号に基づく位相差検出方式によりデフォーカス量を検出し、上記撮像信号に基づくコントラスト検出方式によりコントラストを検出して、焦点調節動作を行う焦点調節方法であって、上記位相差検出方式により検出されたデフォーカス量が示す方向に基づいて、上記フォーカスレンズをスキャン駆動させながら上記ＡＦ評価値を繰り返し取得しＡＦ評価値の極値とＡＦ評価値の変化方向とを検出して記憶するスキャン動作を行い（ステップＳＦ、ＳＨ（ＳＨ１、ＳＨ１０））、上記スキャン動作を停止させるか否かの判断を開始させる上記フォーカスレンズの位置である判断開始位置としての最低スキャン位置を、上記デフォーカス量に基づく合焦位置である位相差合焦位置よりも前の位置として算出し（ステップＳＣ（ＳＣ５、ＳＣ６））、上記フォーカスレンズが上記最低スキャン位置に達してから、上記最低スキャン位置に達する前の上記スキャン動作中にピーク（極大値）が検出され、且つ、上記スキャン動作中の最新のＡＦ評価値の変化が下降中であると判定する場合に、上記スキャン動作を停止させ（ステップＳＨ（ＳＨ８））、上記スキャン動作を停止後、上記最低スキャン位置に達する前の上記スキャン動作中に検出された上記ピークに対応するフォーカスレンズの位置へ上記フォーカスレンズを駆動する（ステップＳＩ、ＳＪ）。  
従って、必要最小限のレンズ駆動（ＡＦ時間）で合焦させることが可能となる。
【０１３８】
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【０１３９】
１０…撮像装置、  １２…ボディユニット、  １４…レンズユニット、  １６…撮影レンズ、  １８…絞り、  ２０…レンズ枠、  ２２Ａ…レンズモータ、  ２２Ｂ…絞りモータ、  ２４…モータドライブ回路、  ２６…レンズ側ＣＰＵ、  ２８…カメラ側ＣＰＵ、  ３０…撮像素子、  ３２…撮像制御・信号処理回路、  ３４…画像処理回路、  ３６…メモリ、  ３８…記録装置、  ４０…表示装置、  ４２…操作部、  ４４…ＡＥ評価値算出回路、  ４６…コントラストＡＦ評価値算出回路、  ４８…位相差ＡＦデフォーカス量算出回路。
【図１】
2018087859.tif 000003
【図２】
2018087859.tif 000004
【図３】
2018087859.tif 000005
【図４】
2018087859.tif 000006
【図５】
2018087859.tif 000007
【図６】
2018087859.tif 000008
【図７】
2018087859.tif 000009
【図８】
2018087859.tif 000010
【図９】
2018087859.tif 000011
【図１０】
2018087859.tif 000012
【図１１】
2018087859.tif 000013
【図１２】
2018087859.tif 000014