(57)【要約】【課題】保持する焦点評価値の数を少なくしつつ、焦点評価値の極大値をピーク値と誤判定することを回避する。【解決手段】焦点検出装置１０６は、光学系により形成される光学像のコントラストに応じた焦点評価値を用いて焦点状態の検出を行う。該装置は、光学系に含まれる焦点調節用の可動素子１０４の移動に伴い、該可動素子の移動範囲において複数である第１の数の焦点評価値を順次取得する取得手段と、順次取得される焦点評価値のうち、第１の数よりも少ない複数である第２の数の焦点評価値を更新しつつ保持する保持手段１０６ａと、順次取得される焦点評価値の極大値を検出する検出手段と、極大値が検出されることに応じて、保持手段にて保持された焦点評価値を用いて、極大値を光学系の合焦状態に対応するピーク値として検出するか否かを判定するピーク検出処理を行う処理手段とを有する。【選択図】図１
2016099413.tif 000002
【特許請求の範囲】
【請求項１】
光学系により形成される光学像のコントラストに応じた焦点評価値を用いて前記光学系の焦点状態の検出を行う焦点検出装置であって、
前記光学系に含まれる焦点調節用の可動素子の移動に伴い、該可動素子の移動範囲において複数である第１の数の前記焦点評価値を順次取得する取得手段と、
順次取得される前記焦点評価値のうち、前記第１の数よりも少ない複数である第２の数の前記焦点評価値を更新しつつ保持する保持手段と、
順次取得される前記焦点評価値の極大値を検出する検出手段と、
前記極大値が検出されることに応じて、前記保持手段にて保持された前記焦点評価値を用いて、前記極大値を前記光学系の合焦状態に対応するピーク値として検出するか否かを判定するピーク検出処理を行う処理手段とを有することを特徴とする焦点検出装置。
【請求項２】
前記処理手段は、前記極大値が検出され、かつ該極大値まで連続して増加した前記焦点評価値の数が所定増加数以上である場合に、前記ピーク検出処理を行うことを特徴とする請求項１に記載の焦点検出装置。
【請求項３】
前記処理手段は、前記極大値が検出され、かつ該極大値から連続して減少した前記焦点評価値の数が所定減少数以上である場合に、前記ピーク検出処理を行うことを特徴とする請求項１または２に記載の焦点検出装置。
【請求項４】
前記処理手段は、前記極大値が検出され、かつ該極大値まで連続して増加した前記焦点評価値の数と該極大値から連続して減少した前記焦点評価値の数との合計が所定合計数以上である場合に、前記ピーク検出処理を行うことを特徴とする請求項１から３のいずれか一項に記載の焦点検出装置。
【請求項５】
前記判定手段は、前記保持手段にて保持された前記焦点評価値のうち、前記極大値と該極大値よりも前に取得された該極大値よりも小さい焦点評価値との差が所定増加量以上である場合に、該極大値を前記ピーク値として検出することを特徴とする請求項１から４のいずれか一項に記載の焦点検出装置。
【請求項６】
前記判定手段は、前記保持手段にて保持された前記焦点評価値のうち、前記極大値と該極大値よりも後に取得された該極大値より小さい焦点評価値との差が所定減少量以上である場合に、前記極大値を前記ピーク値として検出することを特徴とする請求項１から５のいずれか一項に記載の焦点検出装置。
【請求項７】
前記判定手段は、前記保持手段にて保持された前記焦点評価値とは別に前記極大値よりも前に取得された最小の焦点評価値と前記極大値との差が所定増加量以上である場合に、該極大値を前記ピーク値として検出することを特徴とする請求項５または６に記載の焦点検出装置。
【請求項８】
前記検出手段は、順次取得される前記焦点評価値が増加した後に減少することで、その増加した最後の前記焦点評価値を前記極大値として検出し、
前記保持手段は、前記極大値と、該極大値から減少した最初の前記焦点評価値と、前記極大値に向かって増加した少なくとも２つの前記焦点評価値とを含む前記第２の数の焦点評価値を保持することを特徴とする請求項１から７のいずれか一項に記載の焦点検出装置。
【請求項９】
請求項１から８のいずれか一項に記載の焦点検出装置と、
前記移動範囲のうち前記ピーク値が取得された位置に向けて前記可動素子を移動させる制御を行う移動制御手段とを有することを特徴とする焦点調節装置。
【請求項１０】
請求項１から８のいずれか一項に記載の焦点検出装置および請求項９に記載の焦点調節装置のうち一方と、
前記光学系および前記光学像を光電変換して前記焦点評価値を取得するための信号を生成する撮像素子のうち少なくとも一方とを有することを特徴とする光学機器。
【請求項１１】
コンピュータに、光学系により形成される光学像のコントラストに応じた焦点評価値を用いて前記光学系の焦点状態の検出を行う処理を実行させるコンピュータプログラムとしての焦点検出プログラムであって、
前記処理は、
前記光学系に含まれる焦点調節用の可動素子の移動に伴い、該可動素子の移動範囲において複数である第１の数の前記焦点評価値を順次取得し、
順次取得される前記焦点評価値のうち、前記第１の数よりも少ない複数である第２の数の前記焦点評価値を更新しつつ保持し、
順次取得される前記焦点評価値の極大値を検出し、
前記極大値が検出されることに応じて、前記保持された焦点評価値を用いて、前記極大値を前記光学系の合焦状態に対応するピーク値として検出するか否かを判定することを特徴とする焦点検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像に用いられる光学機器において、光学系の焦点状態の検出や焦点調節を行う装置に関する。
【背景技術】
【０００２】
被写体像を形成する光学系を被写体に合焦させる方法として、光学系内のフォーカスレンズを移動させながら被写体像のコントラストに応じた焦点評価値を取得し、該焦点評価値がピークとなるフォーカスレンズの位置を探索する方法がある。この方法は、いわゆるコントラスト検出方式やＴＶ−ＡＦ方式と称され、焦点評価値がピーク値となる位置（ピーク位置）にフォーカスレンズを移動させることで、被写体に対する光学系の合焦状態が得られる。
【０００３】
ピーク値は、例えば、焦点評価値が極大値となるフォーカスレンズの位置を含む所定のフォーカスレンズ位置範囲における該極大値と焦点評価値の最小値との差分を求め、該差分が所定量以上と判定されればその極大値をピーク値とすることで検出可能である。
【０００４】
また、ピーク値を検出するのに要する時間を短縮する方法として、特許文献１にて開示された方法がある。この方法では、無限遠に合焦するフォーカスレンズの位置と至近距離に合焦する位置との間を数個のゾーンに分割し、撮像条件に応じてゾーンの数やピーク値の検出を行うゾーンの順序を変更する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３４３７７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ピーク値を検出する際に、焦点評価値の極大値とその付近の最小値との差分が所定量以上であるか否かのみを判定するだけでは、その極大値付近の焦点評価値が小さくなっているだけでも該極大値がピーク値であると判定される。つまり、実際の被写体像のコントラストによらず、ノイズによって焦点評価値に極大値が表れた場合でも、その極大値がピーク値と判定される。この場合にピーク位置にフォーカスレンズを移動させても、良好な合焦状態は得られない。
【０００７】
また、特許文献１にて開示された方法では、各ゾーン内で順次取得する焦点評価値をすべて記憶領域に保持しておく必要があるために、多くの容量の記憶領域を必要とする。さらに、隣り合うゾーンの境目にピーク値が存在するような場合には、これら隣り合うゾーンでのピーク値の検出を行わなければ、正確なピーク値を決定することができない。
【０００８】
本発明は、保持する焦点評価値の数を少なくしつつ、ノイズ等に起因する偽の焦点評価値の極大値をピーク値と誤判定することを回避できるようにした焦点検出装置およびこれを備えた焦点調節装置および光学機器を提供する。
【課題を解決するための手段】
【０００９】
本発明の一側面としての焦点検出装置は、光学系により形成される光学像のコントラストに応じた焦点評価値を用いて該光学系の焦点状態の検出を行う。焦点検出装置は、光学系に含まれる焦点調節用の可動素子の移動に伴い、該可動素子の移動範囲において複数である第１の数の焦点評価値を順次取得する取得手段と、順次取得される焦点評価値のうち、第１の数よりも少ない複数である第２の数の焦点評価値を更新しつつ保持する保持手段と、順次取得される焦点評価値の極大値を検出する検出手段と、極大値が検出されることに応じて、保持手段にて保持された焦点評価値を用いて、極大値を光学系の合焦状態に対応するピーク値として検出するか否かを判定するピーク検出処理を行う処理手段とを有することを特徴とする。
【００１０】
なお、上記焦点検出装置と、可動素子の移動範囲のうちピーク値が取得された位置に向けて該可動素子を移動させる制御を行う移動制御手段とを有する焦点調節装置も、本発明の他の一側面を構成する。
【００１１】
また、上記焦点検出装置または焦点調節装置と、上記光学系および光学像を光電変換して焦点評価値を取得するための信号を生成する撮像素子のうち少なくとも一方とを有する光学機器も、本発明の他の一側面を構成する。
【００１２】
さらに、本発明の他の一側面としての焦点検出プログラムは、コンピュータに、光学系により形成される光学像のコントラストに応じた焦点評価値を用いて該光学系の焦点状態の検出を行う処理を実行させるコンピュータプログラムである。該処理は、光学系に含まれる焦点調節用の可動素子の移動に伴い、該可動素子の移動範囲において複数である第１の数の焦点評価値を順次取得し、順次取得される焦点評価値のうち、第１の数よりも少ない複数である第２の数の焦点評価値を更新しつつ保持し、順次取得される焦点評価値の極大値を検出し、極大値が検出されることに応じて、保持された焦点評価値を用いて、極大値を光学系の合焦状態に対応するピーク値として検出するか否かを判定することを特徴とする焦点検出プログラム。
【発明の効果】
【００１３】
本発明によれば、保持する焦点評価値の数を少なくしつつ、ノイズ等に起因する偽の焦点評価値の極大値をピーク値と誤判定することを回避することができ、合焦状態に対応するピーク値を良好な精度で検出することができる。したがって、検出されたピーク値が取得された位置に可動素子を移動させることで、精度良く合焦状態を得ることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施例である撮像装置の構成を示すブロック図。
【図２】実施例におけるスキャン中のＡＦ評価値とフォーカス位置を示す図。
【図３】実施例におけるピーク判定処理を示すフローチャート。
【図４】実施例におけるＡＦ評価値増加判定処理を示すフローチャート。
【図５】実施例におけるＡＦ評価値減少判定処理を示すフローチャート。
【図６】実施例におけるピーク検出処理を示すフローチャート。
【図７】実施例における偽のピーク値と真のピーク値を示す図。
【発明を実施するための形態】
【００１５】
以下、本発明の実施例について図面を参照しながら説明する。
【００１６】
まず、図１を用いて本発明の実施例１である光学機器としての撮像装置の構成について説明する。１０１は後述する撮像光学系の光軸方向に移動して変倍を行う変倍レンズである。１０２は光量を制御する絞り兼シャッターであり、１０３は絞り兼シャッター１０２の駆動および後述する撮像素子の電荷蓄積時間（電子シャッター）を制御するＡＥ処理部である。１０４は上記光軸方向に移動して焦点調節を行う焦点調節用の可動素子としてのフォーカスレンズである。変倍レンズ１０１、絞り兼シャッター１０２、フォーカスレンズ１０４および不図示の他のレンズによって、被写体からの光に被写体像（光学像）を形成させる撮像光学系が構成される。
【００１７】
１０５はフォーカスレンズ１０４を駆動するフォーカスモータである。１０６はコントラスト検出方式での自動焦点調節であるコントラストＡＦ（オートフォーカス）を行い、フォーカスレンズ１０４（フォーカスモータ１０５）の駆動を制御する焦点調節装置としてのＡＦ処理部である。ＡＦ処理部１０６は、被写体像のコントラストに応じた焦点評価値を用いて撮像光学系の焦点状態の検出を行う焦点検出装置と、焦点評価値の後述するピーク値が取得された位置に向けてフォーカスレンズ１０４を移動させる制御を行う移動制御手段として機能する。
【００１８】
１０７は撮像光学系により形成された被写体像を光電変換して電気信号を出力する光電変換素子としての撮像素子である。１０８はＣＤＳ回路や非線形増幅回路等を含み、撮像素子１０７からのアナログ撮像信号をデジタル撮像信号に変換するＡ／Ｄ変換部である。
【００１９】
１０９はデジタル撮像信号に対して各種画像処理を行うことにより画像信号を生成する画像処理部である。１１０は画像信号のフォーマットを記録や表示に適した所定のフォーマットに変換するフォーマット変換部である。
【００２０】
１１１は内蔵メモリ（ＤＲＡＭ）であり、１１２は半導体メモリや光ディスク等の記録媒体に所定のフォーマットに変換された画像信号（静止画像または動画像）を記録するインターフェースを含む画像記録部である。
【００２１】
１１３は撮像シーケンス等の撮像装置の各種動作を制御するコンピュータとしてのシステム制御部（制御手段）である。
【００２２】
１１４は画像表示用メモリ（ＶＲＡＭ）である。１１６は操作部であり、ユーザが撮像装置に対する各種操作を行う操作ボタンや操作ダイヤルを含む。１１５は画像信号（撮像前のライブビュー画像および撮像により生成された撮像画像）や撮像に関する各種情報、さらにユーザに撮像装置に対する各種設定や選択を行わせるためのメニュー画面を表示する画像表示部である。画像表示部１１５は、ライブビュー画像に重畳して焦点検出領域（以下、ＡＦ領域という）を表示する。
【００２３】
１１７はユーザに撮像モード（マクロモード、遠景モード、スポーツモード等）を選択させる撮像モードスイッチである。１１８は撮像装置の電源を投入／遮断するためのメインスイッチである。１１９はＡＦやＡＥ等の撮像スタンバイ動作の開始をユーザが指示するためのスイッチ（以下、ＳＷ１と記す）であり、１２０はＳＷ１のＯＮ操作後に撮像の開始をユーザが指示するためのスイッチ（以下、ＳＷ２と記す）である。
【００２４】
前述したＡＦ処理部１０６は、画像処理部１０９により生成された画像信号から被写体像のコントラストに応じた焦点評価値（以下、ＡＦ評価値という）を取得する。具体的には、ＡＦ処理部１０６は、画像信号における所定の高周波成分を抽出することでＡＦ評価値信号を生成し、その信号値であるＡＦ評価値を取得する。基本的には、ＡＦ評価値が大きいほど被写体像のコントラストが高い、すなわち撮像光学系が被写体に対して合焦状態に近いことを示す。
【００２５】
ＡＦ処理部１０６は、フォーカスレンズ１０４をその移動範囲において所定の移動方向に移動させながら複数（第１の数）のフォーカスレンズ位置（以下、評価値取得位置という）にてＡＦ評価値を順次取得する「スキャン」を行う。スキャンのためのフォーカスレンズ１０４の移動範囲であるスキャン範囲は、無限遠被写体に対する合焦状態が得られる位置（無限遠端）と至近距離被写体に対する合焦状態が得られる位置（至近端）との間の全範囲でもよいし、該全範囲のうち一部の範囲でもよい。また、スキャンにおけるフォーカスレンズ１０４の移動方向であるスキャン進行方向は、無限遠端側から至近端側に向かう方向でもよいし、その逆でもよい。
【００２６】
そして、ＡＦ処理部１０６は、スキャンにより得られた複数のＡＦ評価値のうち極大値を検出し、さらに極大値をピーク値として検出するか否かの判定も行う。ピーク値は、撮影光学系が被写体に対して合焦状態になることに対応して得られる。このため、ＡＦ処理部１０６は、そのピーク値が検出されたフォーカスレンズ１０４の位置であるピーク位置にフォーカスレンズ１０４を移動させる。これにより、撮影光学系を被写体に対して合焦状態とすることができる。ＡＦ処理部１０６は、ピーク値が検出されるまで、フォーカスレンズ１０４をスキャン範囲で往復させながら繰り返しスキャンを行う。
【００２７】
このようなＡＦ処理部１０６は、取得手段、検出手段および処理手段として機能する。また、ＡＦ処理部１０６は、順次取得するＡＦ評価値のうち、スキャン範囲でのＡＦ評価値の全取得数（第１の数）より少ない所定の複数（第２の数：本実施例では５つ）のＡＦ評価値を更新しつつ保持するための記憶領域（保持手段）１０６ａを有する。なお、記憶領域１０６ａに保持するＡＦ評価値の数は５つ以外の数でもよい。ただし、できるだけ少ない方がよい。
【００２８】
図１には、撮像光学系、撮像素子１０７およびＡＦ処理部１０６等をすべて内蔵する撮像装置の例を示しているが、撮像光学系（交換レンズ）の着脱が可能な撮像装置も本発明の他の実施例に含まれる。また、撮像光学系とＡＦ処理部１０６とを含む交換レンズ（光学機器）も本発明の他の実施例に含まれる。
[ピーク判定処理]
次に、図２および図３を用いて、ＡＦ処理部１０６により行われるピーク判定処理について説明する。図２はスキャンにより取得されるＡＦ評価値の変化の例を示している。また、図３は、ピーク判定処理のフローチャートである。ＡＦ処理部１０６は、コンピュータプログラムとしての焦点検出プログラムに従って本処理を実行する。このことは、後述する他の処理についても同じである。
【００２９】
図３において、まずステップＳ３０１では、ＡＦ処理部１０６は、今回のＡＦ評価値の取得が初回のＡＦ評価値の取得か否かを判定する。初回である場合はステップＳ３０２にて今回（以下、現在という）のＡＦ評価値を今回のスキャンにおけるＡＦ評価値の最大値（最大評価値）として初期設定する。また、次のステップＳ３０３では、ＡＦ処理部１０６は、現在のＡＦ評価値を今回のスキャンにおけるＡＦ評価値の最小値（最小評価値）として初期設定する。ステップＳ３０１において初回ではないと判定した場合は、ＡＦ処理部１０６はステップＳ３０４に進む。
【００３０】
ステップＳ３０４では、ＡＦ処理部１０６は、現在のＡＦ評価値が最小評価値より小さいか否かを判定する。現在のＡＦ評価値が最小評価値より小さい場合は、ＡＦ処理部１０６はステップＳ３０５にて現在のＡＦ評価値を最小評価値に設定し、ステップＳ３０６に進む。一方、現在のＡＦ評価値が最小評価値以上である場合は、ＡＦ処理部１０６はステップＳ３０６に進む。
【００３１】
ステップＳ３０６では、ＡＦ処理部１０６は、現在のＡＦ評価値と前回取得したＡＦ評価値との差分値を求める。
【００３２】
次に、ステップＳ３０７では、ＡＦ処理部１０６は、現在のＡＦ評価値が前回のＡＦ評価値より大きいか否かを判定する。現在のＡＦ評価値が前回のＡＦ評価値より大きい場合は、ＡＦ処理部１０６は、ステップＳ３０８に進み、ＡＦ評価値増加判定処理を行う。このＡＦ評価値増加判定処理については、後に図４を用いて説明する。一方、現在のＡＦ評価値が前回のＡＦ評価値以下である場合は、ＡＦ処理部１０６は、ステップＳ３０９に進み、ＡＦ評価値減少判定処理を行う。このＡＦ評価値減少判定処理については、後に図５を用いて説明する。
【００３３】
次に、ステップＳ３１０では、ＡＦ処理部１０６は、ステップＳ３０８でのＡＦ評価値増加判定処理またはステップＳ３０９でのＡＦ評価値減少判定処理により得られた結果を用いて、ピーク値を検出するピーク検出処理を行う。ピーク検出処理については、後に図６を用いて説明する。
【００３４】
次に、ステップＳ３１１では、ＡＦ処理部１０６は、ステップＳ３１０でのピーク検出処理の結果であるピーク値の検出が成功（ＯＫ）か失敗（ＮＧ）かを判定する。ピーク値の検出がＯＫである場合は、ＡＦ処理部１０６は、ステップＳ３１２にてピーク有フラグをセットする。そして、ステップＳ３１３にて、ＡＦ処理部１０６は、ピークＩｎｄｅｘを最大値Ｉｎｄｅｘとして保存する。Ｉｎｄｅｘは、スキャンにおいて複数回取得されるＡＦ評価値のうち何回目に取得されたＡＦ評価値かを示す番号であり、初回を０として、ＡＦ評価値の取得回数が１回増えるごとに１ずつ増加する。Ｉｎｄｅｘの差が大きいほど、それらのＩｎｄｅｘでのＡＦ評価値の取得間隔（つまりはフォーカスレンズの位置の間隔）が大きいことを意味する。ピークＩｎｄｅｘはピーク値が検出されたＩｎｄｅｘであり、最大値ＩｎｄｅｘはＡＦ評価値の最大値（極大値）が得られたＩｎｄｅｘである。
【００３５】
次に、ステップＳ３１４では、ＡＦ処理部１０６は、合焦判定結果を合焦状態が得られたことを示す「○」にセットいる。
【００３６】
一方、ステップＳ３１１にてピーク値の検出がＮＧであった場合は、ＡＦ処理部１０６は、ステップＳ３１５にてピーク有フラグがセットされているか否かを判定する。ピーク有フラグがセットされている場合は、ＡＦ処理部１０６は、ステップＳ３１４にて合焦状態が得られたと判定する。また、ピーク有フラグがセットされていない場合は、ＡＦ処理部１０６はステップＳ３１６に進む。
【００３７】
ステップＳ３１６では、ＡＦ処理部１０６は、ＡＦ評価値減少判定処理でセットされたＡＦ評価値減少カウンタが減少カウンタ閾値以上か否かを判定する。ＡＦ評価値減少カウンタは、ＡＦ評価値の最大値（極大値）から連続して減少したＡＦ焦点評価値の数をカウントする。本実施例では、例として、減少カウンタ閾値を２とする。ＡＦ評価値減少カウンタが減少カウンタ閾値以上であれば、ＡＦ処理部１０６は、ステップＳ３１７に進む。
【００３８】
ステップＳ３１７では、ＡＦ処理部１０６は、ＡＦ評価値の最大最小差分値〈進行方向〉が最大最小差分閾値〈進行方向〉以上か否かを判定する。最大最小差分値〈進行方向〉は、スキャン進行方向におけるＡＦ評価値の最大値と最小値（最大値よりも後に取得された最大値より小さいＡＦ評価値）との差分値であり、図２ではＡＦ評価値の最大値２０３と最小値との差分２０５に相当する。本実施例では、例として、最大最小差分閾値〈進行方向〉を２５０とする。最大最小差分値〈進行方向〉が最大最小差分閾値〈進行方向〉以上である場合は、ＡＦ処理部１０６は、ステップＳ３１９にて合焦判定結果をスキャンが既に行われた方向であるスキャン経過方向にピーク値が存在する可能性があることを示す「△Ｂ」にセットする。
【００３９】
一方、ステップＳ３１６においてＡＦ評価値減少カウンタが減少カウンタ閾値より少ない又はステップＳ３１７において最大最小差分値〈進行方向〉が最大最小差分閾値〈進行方向〉より少ない場合は、ＡＦ処理部１０６は、ステップＳ３１８に進む。
【００４０】
ステップＳ３１８では、ＡＦ処理部１０６は、ＡＦ評価値増加判定処理でセットされたＡＦ評価値増加カウンタが増加カウンタ閾値以上か否かを判定する。ＡＦ評価値増加カウンタは、ＡＦ評価値の最大値（極大値）まで連続して増加したＡＦ焦点評価値の数をカウントする。本実施例では、例として、増加カウンタ閾値を２とする。
【００４１】
ＡＦ評価値増加カウンタが増加カウンタ閾値以上であれば、ＡＦ処理部１０６は、ステップＳ３２０にて合焦判定結果を、スキャン進行方向にピーク値が存在する可能性があることを示す「△Ｆ」にセットする。ＡＦ評価値増加カウンタが増加カウンタ閾値以上である場合は、スキャン進行方向にＡＦ評価値が増え続けていることを意味するので、スキャン進行方向にピーク値が存在する可能性がある。ＡＦ評価値増加カウンタが増加カウンタ閾値より少ない場合は、ＡＦ処理部１０６は、合焦判定結果をピーク値がないことを示す「×」にセットする。
【００４２】
ステップＳ３１９、Ｓ３２０およびＳ３２１にて合焦判定結果をセットしたＡＦ処理部１０６は、ステップＳ３２２にて、現在のＡＦ評価値を前回のＡＦ評価値に設定して本処理を終了する。なお、上述した減少カウンタ閾値、増加カウンタ閾値および最大最小差分閾値〈進行方向〉は、撮像装置の特性や撮像条件に応じて適宜変更することができる。
【００４３】
なお、ＡＦ処理部１０６は、ステップＳ３１４、Ｓ３１９、Ｓ３２０およびＳ３２１で得られた合焦判定結果に応じて以下の処理を行う。
【００４４】
合焦判定結果として「○」が得られた場合（ステップＳ３１４）は、その時点でフォーカスレンズ１０４の移動を停止させ、ＡＦ評価値減少判定処理にて保存したピーク検出用評価値を用いてピーク値が得られるフォーカスレンズ位置（ピーク位置）を計算する。そして、そのピーク位置にフォーカスレンズ１０４を移動させるとともに、合焦状態が得られたことを示す合焦表示を画像表示部１１５に表示する。
【００４５】
合焦判定結果として「△Ｂ」が得られた場合は、スキャン経過方向に存在する可能性があるピーク値を検出するために、その時点でフォーカスレンズ１０４の移動方向、つまりはスキャン進行方向を反転させる。スキャン進行方向の反転は、スキャン範囲の全域でのスキャンにおいて１度しか行わない。これは何度もスキャン進行方向の反転が行われること避けるためである。
【００４６】
合焦判定結果として「△Ｆ」が得られた場合は、スキャン進行方向に存在する可能性があるピーク値を検出するために現在のスキャン進行方向でのスキャンを継続する。
【００４７】
合焦判定結果として「×」が得られた場合も、現在のスキャン進行方向でのスキャンを継続する。そして、スキャン範囲の全域をスキャンしても「×」しか得られたかった場合は、フォーカスレンズ１０４の移動を停止させるとともに、合焦状態が得られないことを示す非合焦表示を画像表示部１１５に表示する。
［ＡＦ評価値増加判定処理］
次に、図４のフローチャートを用いてＡＦ評価値増加判定処理について説明する。ステップＳ４０１では、ＡＦ処理部１０６は、ＡＦ評価値減少状態フラグがセットされているかを否か判定する。ＡＦ評価値減少状態フラグは後述するＡＦ評価値減少判定処理においてセットされるが、この時点でＡＦ評価値減少状態フラグがセットされていることは、前回まで減少していたＡＦ評価値が今回から増加を始めたことを意味する。このため、ＡＦ評価値減少状態フラグがセットされている場合は、ＡＦ処理部１０６は、ステップＳ４０３にてＡＦ評価値増加カウンタをクリアする。また、ステップＳ４０４にてＡＦ評価値減少カウンタをクリアし、さらにステップＳ４０５にてＡＦ評価値変化無し状態フラグをクリアする。そして、ステップＳ４０６に進む。
【００４８】
一方、ＡＦ評価値減少状態Ｆフラグがセットされていない場合は、ＡＦ処理部１０６は、ステップＳ４０２にてＡＦ評価値変化無し状態フラグがセットされているか否かを判定する。ＡＦ評価値変化無し状態フラグがセットされていれば、ＡＦ処理部１０６は、ステップＳ４０３にてＡＦ評価値増加カウンタをクリアする。ＡＦ評価値変化無し状態フラグがセットされていなければ、ＡＦ処理部１０６は、ステップＳ４１０に進む。
【００４９】
ステップＳ４０６では、ＡＦ処理部１０６は、現在のＩｎｄｅｘと最大値Ｉｎｄｅｘとが所定Ｉｎｄｅｘ以上離れているか否かを判定する。これはＡＦ評価値が増加している現在のＩｎｄｅｘが過去に最大評価値が取得された最大値Ｉｎｄｅｘから大きく離れている場合には、該過去の最大評価値を廃棄して、最新の最大評価値に更新するためである。このようにＡＦ評価値が過去の最大評価値から所定Ｉｎｄｅｘ以上にわたって増加している場合は、最大評価値を更新することで、過去の最大評価値がピーク値と判定されることを回避することができる。
【００５０】
本実施例では、例として、所定Ｉｎｄｅｘを３とする。ただし、所定Ｉｎｄｅｘは、撮像装置の特性や撮像条件に応じて適宜変更することができる。
【００５１】
現在のＩｎｄｅｘと最大値Ｉｎｄｅｘとが所定Ｉｎｄｅｘ以上離れている場合は、ＡＦ処理部１０６はステップＳ４０７にてＡＦ評価値減少状態フラグをクリアする。そして、ステップＳ４０８にて現在のＡＦ評価値を最大評価値に設定（更新）し、ステップ４０９にて現在のＩｎｄｅｘを最大値Ｉｎｄｅｘに設定する。一方、現在のＩｎｄｅｘと最大値Ｉｎｄｅｘとが所定Ｉｎｄｅｘ以上離れていない場合は、ＡＦ処理部１０６は、ステップＳ４１０に進む。
【００５２】
ステップＳ４１０では、ＡＦ処理部１０６は、図３のステップＳ３０６で計算したＡＦ評価値の差分値、すなわち現在のＡＦ評価値と前回のＡＦ評価値との差分値（図２中に２０２ａ，２０２ｂで示す）が増加差分閾値以上かを判定する。本実施例では、増加差分閾値を１とする。この増加差分閾値は、撮像装置に搭載された撮像素子１０７のＳＮから求めてもよいし、スキャン時におけるＡＦ評価値を取得する時間間隔（またはフォーカスレンズ位置の間隔）に基づいて決定してもよい。ＡＦ評価値の差分値が増加差分閾値以上である場合は、ＡＦ処理部１０６は、ステップＳ４１３にてＡＦ評価値増加カウンタを１つインクリメントし、ステップＳ４１４にてＡＦ評価値増加状態フラグをセットする。ＡＦ評価値の差分値が増加差分閾値以上でない場合は、ＡＦ処理部１０６は、ステップＳ４１１に進む。
【００５３】
ステップＳ４１１では、ＡＦ処理部１０６は、ＡＦ評価値変化無し状態フラグがセットされているか否かを判定する。ＡＦ評価値変化無しフラグがセットされていれば、ＡＦ処理部１０６は、ステップＳ４１３でのＡＦ評価値増加カウンタのインクリメントを行わずに、ステップＳ４１４にてＡＦ評価値増加状態フラグをセットする。一方、ＡＦ評価値変化無しフラグがセットされていなければ、ＡＦ処理部１０６は、ステップＳ４１２にてＡＦ評価値変化無しフラグをセットし、ステップＳ４１３にてＡＦ評価値増加カウンタを１つインクリメントする。そして、ステップＳ４１４にてＡＦ評価値増加状態フラグをセットする。
【００５４】
ステップＳ４１４の後、ステップＳ４１５では、ＡＦ処理部１０６は、現在のＡＦ評価値が最大評価値より大きいか否かを判定する。この最大評価値は、図３のステップＳ３０２、図５のステップＳ５１３およびステップＳ４０８で初期設定され、このステップＳ４１５の判定により更新されていく値である。現在のＡＦ評価値が最大評価値より大きくない場合は、ＡＦ処理部１０６は、ＡＦ評価値増加判定処理を終了する。一方、現在のＡＦ評価値が最大評価値よりも大きい場合は、ＡＦ処理部１０６は、ステップＳ４１６にてＡＦ評価値減少状態フラグをクリアし、さらにステップＳ４１７にてＡＦ評価値変化無しフラグをクリアする。また、ＡＦ処理部１０６は、ステップＳ４１８にて、現在のＡＦ評価値を最小評価値〈進行方向〉に設定する。これは、ＡＦ評価値が減少を開始した際に、その減少したＡＦ評価値と最初に比較するＡＦ評価値の初期値として現在のＡＦ評価値を用いるためである。
【００５５】
次に、ステップＳ４１９では、ＡＦ処理部１０６は、現在のＡＦ評価値を最大評価値に設定する。そして、ステップＳ４２０では、ＡＦ処理部１０６は、現在のＩｎｄｅｘを最大Ｉｎｄｅｘに設定し、ＡＦ評価値増加判定処理を終了する。
［ＡＦ評価値減少判定処理］
次に、図５のフローチャートを用いてＡＦ評価値減少判定処理について説明する。ステップＳ５０１では、ＡＦ処理部１０６は、現在のＩｎｄｅｘが最大値Ｉｎｄｅｘ＋１か否かを判定する。つまりは、現在のＡＦ評価値が、最大値（極大値：図２に２０３で示す）の次に得られたＡＦ評価値であって、最大値より小さいＡＦ評価値（図２に２０４で示す）であるか否かを判定する。このように、ＡＦ処理部１０６は、順次取得されるＡＦ評価値が増加した後に減少することで、その増加した最後のＡＦ評価値を最大値として検出する。
【００５６】
現在のＩｎｄｅｘが最大値Ｉｎｄｅｘ＋１であれば、ＡＦ処理部１０６はステップＳ５０２に進み、現在のＩｎｄｅｘが最大値のＩｎｄｅｘ＋１でなければステップＳ５０３に進む。
【００５７】
ステップＳ５０２では、ＡＦ処理部１０６は、ピーク検出用ＡＦ評価値として、図２に示すように最大値Ｉｎｄｅｘ＋１にて得られたＡＦ評価値（２０４）を含むスキャン経過方向での５つのＡＦ評価値を記憶領域１０６ａに保存（バッファリング）する。言い換えれば、最大値(図２中の２０３)と、該最大値から減少した最初のＡＦ評価値（図２中の２０４）と、最大値に向かって増加した少なくとも２つ（本実施例では３つ）のＡＦ評価値とがバッファリングされる。そして、ステップＳ５０３に進む。
【００５８】
ステップＳ５０３では、ＡＦ処理部１０６は、図３のステップＳ３０６で計算したＡＦ評価値の差分値、すなわち現在のＡＦ評価値と前回のＡＦ評価値との差分値（図２中に２０２ｃで示す）が減少差分閾値以上か否かを判定する。ＡＦ評価値の差分値が減少差分閾値以上であれば、ＡＦ処理部１０６は、ステップＳ５０８にてＡＦ評価値減少カウンタを１つインクリメントして、ステップＳ５０９に進む。一方、ＡＦ評価値の差分値が減少差分閾値以上でなければ、ＡＦ処理部１０６は、ステップＳ５０４に進む。
【００５９】
ステップＳ５０４では、ＡＦ処理部１０６は、ＡＦ評価値増加状態フラグがセットされているか否かを判定する。ＡＦ評価値増加状態フラグがセットされていれば、ＡＦ処理部１０６は、ステップＳ５０５にてＡＦ評価値変化無し状態フラグがセットされているか否かを判定する。ＡＦ評価値変化無し状態フラグがセットされていなければ、ＡＦ処理部１０６は、ステップＳ５０６にてＡＦ評価値減少カウンタを１つインクリメントし、さらにステップＳ５０７にてＡＦ評価値変化無しフラグをセットする。
【００６０】
一方、ステップＳ５０４にてＡＦ評価値増加状態フラグがセットされていない又はステップＳ５０５にてＡＦ評価値変化無フラグがセットされていない場合は、ＡＦ処理部１０６はステップＳ５０９に進む。
【００６１】
ステップＳ５０９では、ＡＦ処理部１０６は、現在のＩｎｄｅｘと最大値Ｉｎｄｅｘとが所定Ｉｎｄｅｘ以上離れているか否かを判定する。この理由は、図４のステップＳ４０６にて説明した通りである。現在のＩｎｄｅｘと最大値Ｉｎｄｅｘとが所定Ｉｎｄｅｘ以上離れていない場合は、ＡＦ処理部１０６はステップＳ５１５に進む。
【００６２】
一方、現在のＩｎｄｅｘと最大値Ｉｎｄｅｘとが所定ｉｎｄｅｘ以上離れている場合は、ＡＦ処理部１０６は、ステップＳ５１０にてＡＦ評価値増加状態フラグをセットし、さらにステップＳ５１１にてＡＦ評価値増加カウンタをクリアする。そして、ステップＳ５１２にて現在のＡＦ評価値を最小評価値〈進行方向〉に設定し、ステップＳ５１３にて現在のＡＦ評価値を最大評価値に設定し、ステップＳ５１４にて現在のＩｎｄｅｘを最大値Ｉｎｄｅｘに設定する。そして、ステップＳ５１５に進む。
【００６３】
ステップＳ５１５では、ＡＦ処理部１０６は、ＡＦ評価値減少フラグをセットする。
【００６４】
次に、ステップＳ５１６では、ＡＦ処理部１０６は、最小評価値〈進行方向〉が現在のＡＦ評価値より大きいか否かを判定する。最小評価値〈進行方向〉が現在のＡＦ評価値より大きい場合は、ＡＦ処理部１０６は、ステップＳ５１７にて現在のＡＦ評価値を最小評価値〈進行方向〉に設定（更新）し、ＡＦ評価値減少判定処理を終了する。一方、最小評価値〈進行方向〉が現在のＡＦ評価値より大きくない場合は、ＡＦ処理部１０６は、そのままＡＦ評価値減少判定処理を終了する。
［ピーク検出処理］
次に、図６のフローチャートを用いてピーク検出処理について説明する。このピーク検出処理は、最大評価値（極大値）を撮像光学系の合焦状態に対応するピーク値として検出するか否かを判定する処理である。
【００６５】
まず、ステップＳ６０１において、ＡＦ処理部１０６は、ＡＦ評価値の最大最小差分値〈全部〉を計算する。この最大最小差分値〈全部〉は、図２に２０６で示すように、最大評価値より前に得られた全てのＡＦ評価値のうち最大評価値（図２に２０３で示す）と最小評価値（図２に２０７で示す）との差分を意味する。ＡＦ処理部１０６は、この最小評価値を、前述した記憶領域１０６ａにバッファリングされるＡＦ評価値とは別のＡＦ評価値として、記憶領域１０６ａとは別の記憶領域（図示せず）にて保持する。
【００６６】
次に、ステップＳ６０２では、ＡＦ処理部１０６は、最大最小差分値〈進行方向〉（図２に２０５で示す）を計算する。最大最小差分値〈進行方向〉は、最大評価値と、記憶領域１０６ａにバッファリングされたＡＦ評価値のうち最大評価値より後に取得された最小評価値〈進行方向〉と最大評価値との差分である。
【００６７】
次に、ステップＳ６０３では、ＡＦ処理部１０６は、ＡＦ評価値増加状態フラグがセットされているかを判定する。ＡＦ評価値増加状態フラグがセットされている場合は、ＡＦ処理部１０６は、ステップＳ６０４にてＡＦ評価値減少状態フラグがセットされているか否かを判定する。ＡＦ評価値減少フラグがセットされていると判定された場合は、ＡＦ処理部１０６は、ステップＳ６０５にてＡＦ評価値増加カウンタが増加カウンタ閾値以上(所定増加数以上)か否かを判定する。ＡＦ評価値増加カウンタが増加カウンタ値以上である場合は、ＡＦ処理部１０６は、ステップＳ６０６にてＡＦ評価値減少カウンタが減少カウンタ閾値以上(所定減少数以上)か否かを判定する。ＡＦ評価値減少カウンタが減少カウンタ閾値以上である場合はステップＳ６０７に進む。本実施例では、増加カウンタ閾値を２とし、減少カウンタ閾値を１とする。ただし、これらカウンタ閾値は適宜変更することができる。
【００６８】
ステップＳ６０７では、ＡＦ処理部１０６は、ＡＦ評価値増加カウンタとＡＦ評価値減少カウンタの合計が合計カウンタ閾値以上（所定合計数以上）か否かを判定する。該合計が合計カウンタ閾値以上である場合は、ＡＦ処理部１０６は、ステップＳ６０８に進む。本実施例では、合計カウンタ閾値を３とする。ただし、この合計カウンタ閾値は適宜変更することができる。
【００６９】
ステップＳ６０８では、ＡＦ処理部１０６は、ステップＳ６０１で計算したＡＦ評価値の最大最小差分値〈全部〉（図２に２０６で示す）が最大最小差分閾値〈全部〉以上（所定増加量以上）か否かを判定する。本実施例では、最大最小差分閾値〈全部〉を２５０とする。最大最小差分値〈全部〉が最大最小差分閾値〈全部〉以上である場合は、ＡＦ処理部１０６は、ステップＳ６０９に進む。
【００７０】
ステップＳ６０９では、ＡＦ処理部１０６は、ステップＳ６０２で計算したＡＦ評価値の最大最小差分値〈進行方向〉が最大最小差分閾値〈進行方向〉以上（所定減少量以上）か否かを判定する。本実施例では、最大最小差分閾値〈進行方向〉を２５０とする。上述した最大最小差分閾値〈全部〉および最大最小差分閾値〈進行方向〉は、撮像素子１０７のＳＮやスキャン時におけるＡＦ評価値を取得する時間間隔（またはフォーカスレンズ位置の間隔）に基づいて予め決めてもよい。また、スキャン実行中のＡＦ評価値の履歴から動的に決定してもよい。このことは、後述する最大最小差分閾値〈経過方向〉についても同じである。
【００７１】
最大最小差分値〈進行方向〉が最大最小差分閾値〈進行方向〉以上である場合は、ＡＦ処理部１０６は、ステップＳ６１０にて最小評価値〈経過方向〉を取得する。最小評価値〈経過方向〉は、最大評価値よりも前に取得された該最大評価値より小さいＡＦ評価値である。本実施例では、ＡＦ処理部１０６は、この最小評価値〈経過方向〉を、ＡＦ評価値減少判定処理のステップＳ５０２において記憶領域１０６ａにバッファリングした５つのピーク検出用ＡＦ評価値の中から選択する。また、最小評価値〈経過方向〉の取得は、ステップＳ６０９までの判定が全て肯定（ＹＥＳ）である場合のみ行われるので、この最小評価値〈経過方向〉を効率的に取得することができる。
【００７２】
次に、ステップＳ６１１では、ＡＦ処理部１０６は、ＡＦ評価値の最大最小差分値〈経過方向〉（図２に２０１で示す）を算出する。この最大最小差分値〈経過方向〉は、スキャン経過方向にて求められた最小評価値〈経過方向〉と最大評価値との差分である。
【００７３】
次に、ステップＳ６１２では、ＡＦ処理部１０６は、ＡＦ評価値の最大最小差分値〈経過方向〉が最大最小差分閾値〈経過方向〉以上(所定増加量以上)か否かを判定する。本実施例では、最大最小差分閾値〈経過方向〉を２５０とする。最大最小差分値〈経過方向〉が最大最小差分閾値〈経過方向〉以上であれば、ＡＦ処理部１０６は、ステップＳ６１３にてピーク検出が成功（ＯＫ）したと判定してピーク検出処理を終了する。最大最小差分値〈経過方向〉が最大最小差分閾値〈経過方向〉以上ではない場合は、ＡＦ処理部１０６は、ステップＳ６１４にてピーク検出が失敗（ＮＧ）したと判定してピーク検出処理を終了する。
【００７４】
また、ステップＳ６０３〜Ｓ６０９の判定において１つでも否定（ＮＯ）であった場合は、ＡＦ処理部１０６は、ステップＳ６１４にてピーク検出がＮＧであるとしてピーク検出処理を終了する。
［ピーク検出ＯＫ／ＮＧの判定例］
次に、図７を用いて、上記ピーク検出処理においてピーク検出がＯＫおよびＮＧとなる例について説明する。図７中の○（７０１〜７１２）は、図の左から右に向けてフォーカスレンズ１０４を移動させながら取得されたフォーカスレンズ位置（評価値取得位置）ごとのＡＦ評価値である。
（例１）
まず、ノイズ等の影響により１つのＡＦ評価値のみが増加した（極大値となった）場合について説明する。この場合、ピーク検出はＮＧとなる。
【００７５】
７０１は初回に取得されたＡＦ評価値であり、このＡＦ評価値の取得時には、図３のステップＳ３０１にて初回のＡＦ評価値の取得であると判定されて、ステップＳ３０２で最大評価値に、ステップＳ３０３にて最小評価値に設定される。
【００７６】
初回のＡＦ評価値の取得後にフォーカスレンズ１０４を移動させながらＡＦ評価値を取得していく中で、ＡＦ評価値（極大値）７０２のようにノイズ等の影響でその前後のＡＦ評価値に対して１つのみが増加した場合は、ＡＦ処理部１０６は以下のように処理を行う。ステップＳ３０７においてＡＦ処理部１０６は現在のＡＦ評価値が前回のＡＦ評価値より大きいと判定するので、ステップＳ３０８では図４に示すＡＦ評価値増加判定処理を行う。そして、ＡＦ処理部１０６は、ＡＦ評価値増加判定処理においてステップＳ４０１での判定で評価値減少状態フラグがセットされておらず、ステップＳ４０２の判定で評価値変化無し状態フラグもセットされていないため、ステップＳ４１０に進む。
【００７７】
次に、ステップＳ４１０においてＡＦ評価値の差分値が増加差分閾値以上となることで、ステップＳ４１３にて評価値増加カウンタをインクリメントして１とする。
【００７８】
次に、ステップＳ４１５においてＡＦ処理部１０６は現在のＡＦ評価値７０２が現在設定されている最大評価値７０１よりも大きいと判定し、ステップＳ４１８において現在のＡＦ評価値７０２を最小評価値〈進行方向〉に設定する。また、ステップＳ４１９において現在のＡＦ評価値７０２を最大評価値にも設定する。
【００７９】
次のＡＦ評価値７０３を取得すると、ＡＦ処理部１０６は、ステップＳ３０７にて前回のＡＦ評価値よりも今回のＡＦ評価値が小さいと判定するので、ステップＳ３０９にてＡＦ評価値減少判定処理を行う。
【００８０】
図５に示すＡＦ評価値減少判定処理において、ＡＦ処理部１０６は、ステップＳ５０１にて現在のＩｎｄｅｘが最大評価値のＩｎｄｅｘ＋１であるので、ステップＳ５０２に進む。ステップＳ５０２では、ＡＦ処理部１０６は、ピーク検出用ＡＦ評価値として、ＡＦ評価値７０３を含むスキャン経過方向の５つのＡＦ評価値を記憶領域１０６ａにバッファリングする。５つのＡＦ評価値をバッファリングできない場合は、バッファリング可能な数のＡＦ評価値をバッファリングする。
【００８１】
次に、ＡＦ処理部１０６は、ステップＳ５０３にて現在のＡＦ評価値７０３と前回のＡＦ評価値７０２との差分値が減少差分閾値以上であると判定すると、ステップＳ５０８にて評価値減少カウンタをインクリメントする。そして、ＡＦ処理部１０６は、ステップＳ５０９において現在のＩｎｄｅｘと最大値Ｉｎｄｅｘとが所定Ｉｎｄｅｘ（＝３）以上離れているか否かを判定するが、所定Ｉｎｄｅｘ以上離れていないので、ステップＳ５１５にてＡＦ評価値減少状態フラグをセットする。
【００８２】
次に、ＡＦ処理部１０６は、ステップＳ５１６において最小評価値〈進行方向〉７０２が現在のＡＦ評価値７０３より大きいので、ステップＳ５１７にて最小評価値〈進行方向〉を現在のＡＦ評価値７０３に更新する。
【００８３】
続いて、図６におけるピーク検出処理において、ＡＦ処理部１０６は、ＡＦ評価値増加および減少状態フラグがそれぞれセットされているので、ステップＳ６０３およびステップＳ６０４を経てステップＳ６０５に進む。しかし、ステップＳ６０５において、ＡＦ処理部１０６は、ＡＦ評価値増加カウンタが１であり（ステップＳ４１３）、増加カウンタ閾値（＝２）以上ではないので、ステップＳ６１４にてピーク検出をＮＧとする。
（例２）
次に、極大値として現れたＡＦ評価値が十分に大きくないことでピーク検出がＮＧとなる場合について説明する。ここでは、ＡＦ処理部１０６が、現在のＡＦ評価値として図７中のＡＦ評価値７０４を取得した場合について説明する。現在のＡＦ評価値７０４を取得したＡＦ処理部１０６は、ステップＳ３０７にて現在のＡＦ評価値７０４が前回のＡＦ評価値より大きいと判定するので、ステップＳ３０８にて図４に示すＡＦ評価値増加判定処理を行う。
【００８４】
ＡＦ処理部１０６は、ステップＳ４０１にてＡＦ評価値減少状態フラグがセットされているので、ステップＳ４０３にてＡＦ評価値増加カウンタをクリアし、ステップＳ４０４にてＡＦ評価値減少カウンタをクリアする。さらに、ＡＦ評価値変化無し状態フラグをクリアする。
【００８５】
また、ＡＦ処理部１０６は、ステップＳ４０６にて現在のＩｎｄｅｘと最大値Ｉｎｄｅｘ（ＡＦ評価値７０２に対するＩｎｄｅｘ）が所定Ｉｎｄｅｘ（＝３）以上離れているので、ステップＳ４０７にてＡＦ評価値減少状態フラグをクリアする。そして、ステップＳ４０８にて現在のＡＦ評価値７０４を最大評価値に設定し、さらにステップＳ４０９にて現在のＩｎｄｅｘを最大値Ｉｎｄｅｘに設定する。
【００８６】
次に、ＡＦ処理部１０６は、ステップＳ４１０にて現在のＡＦ評価値７０４と前回のＡＦ評価値との差分値が増加差分閾値以上と判定することで、ステップＳ４１３にてＡＦ評価値増加カウンタをインクリメントして１とする。さらに、ステップＳ４１４にてＡＦ評価値増加状態フラグをセットする。
【００８７】
次のＡＦ評価値（極大値）７０５を取得したときも、ＡＦ処理部１０６は、ステップＳ４１０にて現在のＡＦ評価値７０５と前回のＡＦ評価値７０４との差分値が増加差分閾値以上と判定する。これにより、ＡＦ処理部１０６き、ステップＳ４１３にてＡＦ評価値増加カウンタをインクリメントして２とする。このとき、ＡＦ処理部１０６は、ステップＳ４１５において現在のＡＦ評価値７０５が最大評価値としてのＡＦ評価値７０４よりも大きいと判定し、ステップＳ４１９にて現在のＡＦ評価値７０５を最大評価値に設定する。また、ステップＳ４２０にて現在のＩｎｄｅｘを最大値Ｉｎｄｅｘに設定する。
【００８８】
さらに次のＡＦ評価値７０６を取得したときは、ＡＦ処理部１０６は、ステップＳ３０７にて現在のＡＦ評価値７０６が前回のＡＦ評価値７０５よりも小さいと判定し、ステップＳ３０９にて図５に示すＡＦ評価値減少判定処理を行う。このＡＦ評価値減少判定処理では、ＡＦ処理部１０６は、ＡＦ評価値７０３を取得したときの同様の処理を行う。すなわち、ＡＦ処理部１０６は、ステップＳ５０１にて現在のＩｎｄｅｘが最大評価値のＩｎｄｅｘ＋１であるので、ステップＳ５０２に進み、ピーク検出用ＡＦ評価値として、ＡＦ評価値７０６を含むスキャン経過方向の５つのＡＦ評価値をバッファリングする。
【００８９】
次に、ＡＦ処理部１０６は、ステップＳ３１０にて図６に示すピーク検出処理を行う。ピーク検出処理においてはＡＦ評価値増加および減少フラグがともにセットされているので、ＡＦ処理部１０６はステップＳ６０３およびＳ６０４を通ってステップＳ６０５に進む。ステップＳ６０５〜Ｓ６０７においては、ＡＦ評価値増加カウンタ、ＡＦ評価値減少カウンタおよびＡＦ評価値増加カウンタがそれぞれ、増加カウンタ閾値、減少カウンタ閾値および合計カウンタ閾値以上であるので、ＡＦ処理部１０６はステップＳ６０８に進む。
【００９０】
ステップＳ６０８では、ＡＦ処理部１０６は、ＡＦ評価値の最大最小差分値〈全部〉、つまり最大評価値であるＡＦ評価値７０５とこれまでに取得したＡＦ評価値の最小値であるＡＦ評価値７０１との差分値が最大最小差分閾値〈全部〉以上か否かを判定する。しかし、図７には、ＡＦ評価値７０５とＡＦ評価値７０１との差分値が最大最小差分閾値〈全部〉である２５０より大幅に小さい例を示している。このため、ＡＦ処理部１０６は、最大最小差分値〈全部〉が最大最小差分閾値〈全部〉以上ではないと判定して、ステップＳ６１４に進み、ピーク検出をＮＧとする。
（例３）
次に、ピーク検出がＯＫとなる場合について説明する。ここでは、ＡＦ処理部１０６が、現在のＡＦ評価値として図７中のＡＦ評価値７０９を取得した場合について説明する。現在のＡＦ評価値７０９を取得したＡＦ処理部１０６は、ステップＳ３０７にて現在のＡＦ評価値７０９が前回のＡＦ評価値より大きいと判定するので、ステップＳ３０８にて図４に示すＡＦ評価値増加判定処理を行う。
【００９１】
ＡＦ処理部１０６は、ステップＳ４０６にてＡＦ評価値減少状態フラグがセットされているので、ステップＳ４０３にてＡＦ評価値増加カウンタをクリアし、ステップＳ４０４にてＡＦ評価値減少カウンタをクリアする。さらに、ＡＦ評価値変化無し状態フラグをクリアする。
【００９２】
また、ＡＦ処理部１０６は、ステップＳ４０６にて現在のＩｎｄｅｘと最大値Ｉｎｄｅｘ（ＡＦ評価値７０５に対するＩｎｄｅｘ）が所定Ｉｎｄｅｘ（＝３）以上離れているので、ステップＳ４０７にてＡＦ評価値減少状態フラグをクリアする。そして、ステップＳ４０８にて現在のＡＦ評価値７０９を最大評価値に設定し、さらにステップＳ４０９にて現在のＩｎｄｅｘを最大値Ｉｎｄｅｘに設定する。
【００９３】
次に、ＡＦ処理部１０６は、ステップＳ４１０にて現在のＡＦ評価値７０９と前回のＡＦ評価値との差分値が増加差分閾値以上と判定することで、ステップＳ４１３にてＡＦ評価値増加カウンタをインクリメントして１とする。さらに、ステップＳ４１４にてＡＦ評価値増加状態フラグをセットする。
【００９４】
さらに次のＡＦ評価値７１０を取得したときは、ＡＦ処理部１０６は、ステップＳ３０７にて現在のＡＦ評価値７１０が前回のＡＦ評価値７０９よりも大きいと判定するので、ステップＳ３０８にて図４に示すＡＦ評価値増加判定処理を行う。このＡＦ評価値増加判定処理では、ＡＦ処理部１０６は、ステップＳ４１０において現在のＡＦ評価値７１０と前回のＡＦ評価値７０９との差分値が増加差分閾値（＝１）以上と判定し、ステップＳ４１３でＡＦ評価値増加カウンタをインクリメントして２とする。また、ＡＦ処理部１０６は、ステップＳ４１５にて現在のＡＦ評価値７１０が最大評価値７０９より大きいと判定する。このため、ステップＳ４１８にて現在のＡＦ評価値７１０を最小評価値〈進行方向〉に設定するとともに、ステップＳ４１９にて現在のＡＦ評価値７１０を最大評価値に設定する。さらに、ステップＳ４２０では、ＡＦ処理部１０６は、現在のＩｎｄｅｘを最大Ｉｎｄｅｘに設定する。
【００９５】
次のＡＦ評価値７１１を取得すると、ＡＦ処理部１０６は、ステップＳ３０７にて現在のＡＦ評価値７１１が前回のＡＦ評価値７１０よりも小さいと判定し、ステップＳ３０９にて図４に示すＡＦ評価値減少判定処理を行う。このＡＦ評価値減少判定処理では、ＡＦ処理部１０６は、ＡＦ評価値７０３を取得したとき同様の処理を行う。すなわち、ＡＦ処理部１０６は、ステップＳ５０１にて現在のＩｎｄｅｘが最大評価値のＩｎｄｅｘ＋１であるので、ステップＳ５０２に進み、ピーク検出用ＡＦ評価値として、ＡＦ評価値７１１を含むスキャン経過方向の５つのＡＦ評価値をバッファリングする。
【００９６】
次に、ＡＦ処理部１０６は、ステップＳ３１０にて図６に示すピーク検出処理を行う。ピーク検出処理においてはＡＦ評価値増加および減少フラグがともにセットされているので、ＡＦ処理部１０６はステップＳ６０３およびＳ６０４を通ってステップＳ６０５に進む。ステップＳ６０５〜Ｓ６０７においては、ＡＦ評価値増加カウンタ、ＡＦ評価値減少カウンタおよびＡＦ評価値増加カウンタがそれぞれ、増加カウンタ閾値、減少カウンタ閾値および合計カウンタ閾値以上であるので、ＡＦ処理部１０６はステップＳ６０８に進む。
【００９７】
ステップＳ６０８では、ＡＦ処理部１０６は、ＡＦ評価値の最大最小差分値〈全部〉、つまり最大評価値であるＡＦ評価値７１０とこれまでに取得したＡＦ評価値の最小値であるＡＦ評価値７０１との差分値が最大最小差分閾値〈全部〉以上か否かを判定する。図７には、ＡＦ評価値７１０とＡＦ評価値７０１との差分値が最大最小差分閾値〈全部〉である２５０より大きい例を示している。このため、ＡＦ処理部１０６は、最大最小差分値〈全部〉が最大最小差分閾値〈全部〉以上であると判定して、ステップＳ６０９に進む。
【００９８】
ステップＳ６０８では、ＡＦ処理部１０６は、ＡＦ評価値の最大最小差分値〈進行方向〉、つまり最大評価値であるＡＦ評価値７１０と最小評価値〈進行方向〉であるＡＦ評価値７１１との差分値が最大最小差分閾値〈進行方向〉以上か否かを判定する。仮にこの判定を最初に行った時点で最大最小差分値〈進行方向〉が最大最小差分閾値〈進行方向〉より小さくても、フォーカスレンズ１０４がさらに移動してＡＦ評価値が下がり続ければ最大最小差分値〈進行方向〉が最大最小差分閾値〈進行方向〉以上となる。この時点で、ＡＦ処理部１０６は、ステップＳ６１０に進む。
【００９９】
ステップＳ６１０では、ＡＦ処理部１０６は、ステップＳ５０２にてバッファリングされた５つのピーク検出用ＡＦ評価値の中から最小評価値〈経過方向〉を取得（選択）する。具体的には、図７におけるＡＦ評価値７１１からＡＦ評価値７１２までの５つのＡＦ評価値がステップＳ５０２でバッファリングされたため、このうちＡＦ評価値７１２が最小評価値〈経過方向〉として選択される。
【０１００】
そして、ＡＦ処理部１０６は、ステップＳ６１１においてＡＦ評価値の最大最小差分値〈経過方向〉、つまり最小評価値〈経過方向〉であるＡＦ評価値７１２と最大評価値であるＡＦ評価値７１０との差分値を算出する。そして、ステップＳ６１２において、ＡＦ処理部１０６は、ＡＦ評価値の最大最小差分値〈経過方向〉が最大最小差分閾値〈経過方向〉（＝２５０）以上と判定する。このため、ＡＦ処理部１０６は、ステップＳ６１３にてピーク検出をＯＫとする。
【０１０１】
以上説明したように、本実施例によれば、記憶領域１０６ａに保持するＡＦ評価値の数を少なくしつつ（本実施例では５つ）、ノイズ等に起因する偽のＡＦ評価値の極大値をピーク値と誤判定することを回避することができる。つまり、合焦状態に対応するピーク値を良好な精度で検出することができる。したがって、検出されたピーク値が取得された位置にフォーカスレンズ１０４を移動させることで、精度良く合焦状態を得ることができる。
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１０２】
以上説明した各実施例は代表的な例にすぎず、各実施例に対して種々の変形や変更を施した場合でも本発明の実施例に含まれる。
【符号の説明】
【０１０３】
１０４  フォーカスレンズ  
１０６  ＡＦ処理部  
１０７  撮像素子  
【図１】
2016099413.tif 000003
【図２】
2016099413.tif 000004
【図３】
2016099413.tif 000005
【図４】
2016099413.tif 000006
【図５】
2016099413.tif 000007
【図６】
2016099413.tif 000008
【図７】
2016099413.tif 000009