(57)【特許請求の範囲】
【請求項１】
フォーカスレンズを含む撮像光学系で結像された被写体の画像を撮像して画像データを出力する撮像素子と、
前記フォーカスレンズを予め設定された所定範囲の全域を測距範囲として一方向に移動させることで得られた前記画像データに基づいて、焦点検出領域における前記被写体に合焦する最大焦点評価値を検出し、前記最大焦点評価値に対応するレンズ位置に前記フォーカスレンズを移動させる第１の合焦動作を連続的に行う第１の焦点調整手段と、を有する撮像装置であって、
前記フォーカスレンズの測距範囲は、前記フォーカスレンズの可動範囲の一部に限定された範囲であり、
前記測距範囲の前回の中心位置に対する前回の最大焦点評価値に対応するレンズ位置の方向と前記測距範囲の今回の中心位置に対する今回の最大焦点評価値に対応するレンズ位置の方向が同じ方向である場合、前記第１の合焦動作を連続的に行うことで検出された最大焦点評価値に対応するレンズ位置を用いた予測演算により前記測距範囲の次回の中心位置を算出することを特徴とする撮像装置。
【請求項２】
前記第１の合焦動作は、撮影スタンバイ動作の開始指示から撮影開始動作の間に行われることを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記撮影スタンバイ動作の開始指示以前、焦点評価値が大きくなる方向に前記フォーカスレンズを移動させる第２の合焦動作を行う第２の焦点調整手段をさらに有することを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記被写体と前記撮像装置との間の距離に関する情報の変化を検出する距離変化検出手段をさらに有し、
前記第１の焦点調整手段で前記第１の合焦動作を行っている際に前記距離変化検出手段により前記距離に関する情報の変化が検出されない場合、前記第１の合焦動作を停止することを特徴とする請求項１乃至３の何れか１項に記載の撮像装置。
【請求項５】
フォーカスレンズを含む撮像光学系で結像された被写体の画像を撮像して画像データを出力する撮像工程と、
前記フォーカスレンズを予め設定された所定範囲の全域を測距範囲として一方向に移動させることで得られた前記画像データに基づいて焦点検出領域における前記被写体に合焦する最大焦点評価値を検出し、前記被写体が合焦する位置に前記フォーカスレンズを移動させる第１の合焦動作を連続的に行う第１の焦点調整工程と、
を有する撮像装置の制御方法であって、
前記フォーカスレンズの測距範囲は、前記フォーカスレンズの可動範囲の一部に限定された範囲であり、
前記測距範囲の前回の中心位置に対する前回の最大焦点評価値に対応するレンズ位置の方向と前記測距範囲の今回の中心位置に対する今回の最大焦点評価値に対応するレンズ位置の方向が同じ方向である場合、前記第１の合焦動作を連続的に行うことで検出された最大焦点評価値に対応するレンズ位置を用いた予測演算により前記測距範囲の次回の中心位置を算出することを特徴とする撮像装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置及びその制御方法に関する。
【背景技術】
【０００２】
従来より、電子スチルカメラなどでは、ＣＣＤなどの撮像素子から得られる輝度信号に基づいてフォーカスレンズ位置を動かすことで、被写体に焦点を合わせるオートフォーカス（ＡＦ）方式の自動合焦装置が用いられている。この自動合焦装置では、撮像画面内に設定された測距領域内における信号の高周波成分を積分することで、測距領域内のコントラストを示す焦点評価値を算出する。そして、フォーカスレンズを駆動してフォーカスレンズ位置ごとの焦点評価値を取得するＡＦスキャンを行って、最も焦点評価値の高いフォーカスレンズ位置を検出して合焦点としている。また、このＡＦ方式の自動合焦装置では、ＡＦスキャンを繰り返して行うことで、動く被写体に対しても追随して合焦することが可能となっている。
【０００３】
動く被写体に対しても追随して合焦する自動合焦装置に関する技術としては、特許文献１、２が知られている。特許文献１には、撮影前にレンズ駆動によるＡＦスキャンを繰り返して、被写体にＡＦ追従させる自動合焦装置を備えた撮像装置が提案されている。また、特許文献２には、連続撮影などにおいて、撮影毎にＡＦスキャンを行った後の合焦位置を記憶しておき、記憶している過去の合焦位置に基づいて、次回の撮影前の合焦位置を予測し、ＡＦスキャンする範囲を決定する技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２１２５５６号公報
【特許文献２】特開２００７−２０６４３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術では、被写体が静止するなどして自装置と被写体との間の距離が変化しない場合であっても、ＡＦスキャンが連続的に行われてフォーカスレンズが逐次駆動される。このために、常にピント変動があり、被写体への追従性が低下する虞があった。特に連続した撮影画像を用いるＥＶＦ（電子ビューファインダ）表示などにおいては、ピントずれのコマが発生することにより見栄えが悪くなる。また、フォーカスレンズが逐次駆動されることで、電池消耗量が大きくなる。
【０００６】
本発明は、このような従来技術の課題を解決することを目的としてなされたものである。本発明は、フォーカスレンズの位置の調整を連続的に行って被写体に合焦させる際に、自装置と被写体との間の距離が変化しない場合であっても、被写体への追従性が低下することを防止できる撮像装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的は、フォーカスレンズを含む撮像光学系で結像された被写体の画像を撮像して画像データを出力する撮像素子と、フォーカスレンズを予め設定された所定範囲の全域を測距範囲として一方向に移動させることで得られた画像データに基づいて、焦点検出領域における被写体に合焦する最大焦点評価値を検出し、被写体が合焦する位置にフォーカスレンズを移動させる第１の合焦動作を連続的に行う第１の焦点調整手段と、を有する撮像装置であって、フォーカスレンズの測距範囲は、フォーカスレンズの可動範囲の一部に限定された範囲であり、測距範囲の前回の中心位置に対する前回の最大焦点評価値に対応するレンズ位置の方向と測距範囲の今回の中心位置に対する今回の最大焦点評価値に対応するレンズ位置の方向が同じ方向である場合、第１の合焦動作を連続的に行うことで検出された最大焦点評価値に対応するレンズ位置を用いた予測演算により測距範囲の次回の中心位置を算出することを特徴とする撮像装置によって達成される。
【０００８】
また、上記目的は、フォーカスレンズを含む撮像光学系で結像された被写体の画像を撮像して画像データを出力する撮像工程と、フォーカスレンズを予め設定された所定範囲の全域を測距範囲として一方向に移動させることで得られた画像データに基づいて、焦点検出領域における被写体に合焦する最大焦点評価値を検出し、被写体が合焦する位置にフォーカスレンズを移動させる第１の合焦動作を連続的に行う第１の焦点調整工程手段と、を有する撮像装置の制御方法であって、フォーカスレンズの測距範囲は、フォーカスレンズの可動範囲の一部に限定された範囲であり、測距範囲の前回の中心位置に対する前回の最大焦点評価値に対応するレンズ位置の方向と測距範囲の今回の中心位置に対する今回の最大焦点評価値に対応するレンズ位置の方向が同じ方向である場合、第１の合焦動作を連続的に行うことで検出された最大焦点評価値に対応するレンズ位置を用いた予測演算により測距範囲の次回の中心位置を算出することを特徴とする撮像装置の制御方法によっても達成される。
【発明の効果】
【０００９】
本発明によれば、フォーカスレンズの位置の調整を連続的に行って被写体に対して合焦させる際に、自装置と被写体との間の距離が変化しない場合であっても、被写体への追従性が低下することを防止できる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る撮像装置の構成を示すブロック図である。
【図２】撮像装置の動作を示すフローチャートである。
【図３】ContinuousAFのサブルーチンを示すフローチャートである。
【図４】ServoAFのサブルーチンを示すフローチャートである。
【図５】山登りAFのサブルーチンを示すフローチャートである。
【図６】被写体距離変化判定のサブルーチンを示すフローチャートである。
【図７】通常AF動作のサブルーチンを示すフローチャートである。
【図８】Servo中AF動作のサブルーチンを示すフローチャートである。
【図９】予測可能判定のサブルーチンを示すフローチャートである。
【図１０】被写体位置予測のサブルーチンを示すフローチャートである。
【図１１】被写体位置予測の計算を説明するための概念図であり、（ａ）は、２点で被写体位置予測の計算を行うことを示す概念図であり、（ｂ）は、３点で被写体位置予測の計算を行うことを示す概念図である。
【図１２】スキャンのサブルーチンを示すフローチャートである。
【図１３】焦点評価値とフォーカスレンズ位置との関係を示すグラフである。
【図１４】合焦判定のサブルーチンを示すフローチャートである。
【図１５】無限遠方向の単調減少のチェックを示すフローチャートである。
【図１６】至近端方向の単調減少のチェックを示すフローチャートである。
【図１７】撮影動作のサブルーチンを示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、この発明の実施の形態について図を参照して説明するが、この発明は以下の実施の形態に限定されない。また、この発明の実施の形態は発明の最も好ましい形態を示すものであり、発明の範囲を限定するものではない。
【００１２】
図１は、本実施形態に係る撮像装置１の構成を示すブロック図である。図１に示すように、撮像装置１は、撮影レンズ１０１、絞り及びシャッター１０２、フォーカスレンズ１０４などの撮影光学系を介して結像される画像を撮像素子１０８で撮影する電子スチルカメラである。また、撮像装置１は、制御部１１５の制御の下でフォーカスレンズ１０４を駆動させるＡＦ処理部１０５を含み、撮像素子１０８で撮像された画像データに基づいてフォーカスレンズ１０４を駆動させて焦点調整を行う自動合焦装置も含む構成である。
【００１３】
撮影レンズ１０１は、ズーム機構などを含む光学レンズである。絞り及びシャッター１０２は、ＡＥ処理部１０３（ＡＥ：自動露光）の制御に従って被写体からの光量を制御する。ＡＥ処理部１０３は、制御部１１５の制御の下、絞り及びシャッター１０２の絞り量やシャッタースピードを制御する。フォーカスレンズ１０４は、ＡＦ処理部１０５の制御に従って駆動するアクチュエータ（特に図示しない）により光軸に沿って移動されることで、撮像素子１０８に結像される画像の焦点調整を行う。焦点調整手段としてのＡＦ処理部１０５は、制御部１１５の制御の下、フォーカスレンズ１０４の移動を制御する（詳細は後述する）。従って、撮像素子１０８には、被写体からの反射光が撮影レンズ１０１から入射された後に絞り及びシャッター１０２を介して露光量が調節され、フォーカスレンズ１０４により結像される。
【００１４】
ストロボ１０６は、ＥＦ処理部１０７（ＥＦ：フラッシュプリ発光）の制御に従って被写体へ補助光を照射する。ＥＦ処理部１０７は、制御部１１５の制御の下、ストロボ１０６の発光を制御する。例えば、ＥＦ処理部１０７は、制御部１１５の制御の下で行われる撮像素子１０８による本撮影の前にストロボ１０６にプリ発光を行わせ、被写体からの反射光量をセンサ（図示しない）で検出して本発光時の発光量を計算する。次いで、本撮影時において、ＥＦ処理部１０７は、計算された発光量でストロボ１０６を発光させることで、被写体を適正に露光させる。
【００１５】
撮像素子１０８は、フォーカスレンズ１０４により結像される画像を、光電変換によりアナログ電気信号に変換した画像データとして出力する。具体的には、撮像素子１０８は、ＣＣＤやＣＭＯＳイメージセンサなどである。Ａ／Ｄ変換部１０９は、撮像素子１０８から出力されるアナログ画像データをデジタル画像データに変換する。なお、Ａ／Ｄ変換部１０９は、撮像素子１０８の出力ノイズを除去するＣＤＳ（Correlated Double Sampling：相関二重サンプリング）回路やＡ／Ｄ変換前に行う非線形増幅回路を含む構成であってよい。
【００１６】
画像処理部１１０は、Ａ／Ｄ変換部１０９より出力されたディジタル画像データに対して各種の画像処理を行い、処理済みのディジタル画像データを出力する。ＷＢ処理部１１１は、画像処理部１１０より出力された画像処理済みのデジタル画像データに対してホワイトバランス処理を行う。フォーマット変換部１１２は、画像処理部１１０から出力された画像処理済みのデジタル画像データのデータフォーマットをＪＰＥＧ（Joint Photographic Experts Group）などの所定の画像形式へ変換する。
【００１７】
ＤＲＡＭ１１３（Dynamic Random Access Memory）は、フォーマット変換部１１２により所定の画像形式に変換された画像データを一時記憶する。また、ＤＲＡＭ１１３は、制御部１１５の作業領域や画像データの圧縮伸長における作業領域として使用されてもよい。画像記録部１１４は、メモリーカードなどの記録媒体とそのインターフェース（いずれも図示しない）などである。画像記録部１１４は、制御部１１５の制御の下、撮像素子１０８で撮像されてＤＲＡＭ１１３に一時記憶されたデジタル画像データを記録媒体に記録する。なお、画像記録部１１４の記録媒体は、インターフェースにより撮像装置１に対して着脱可能であってよい。
【００１８】
制御手段としての制御部１１５は、撮像装置１の各部の動作を中央制御する。具体的には、制御部１１５は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）などで構成される。制御部１１５は、ＣＰＵがＲＯＭに記憶されたプログラムデータを読み出して画像記録部１１４の作業領域に展開し、そのプログラムデータを順次実行することで、上記中央制御を実現する。例えば、制御部１１５は、撮像素子１０８による撮影シーケンスなどのシステム処理を操作部１１８や撮影モードＳＷ１１９で設定された動作モードに従って制御する。
【００１９】
ＶＲＡＭ１１６（Video RAM）は、操作表示部１１７の表示用として制御部１１５から出力された画像データを一時記憶する。操作表示部１１７は、制御部１１５の制御の下で画像を表示するＬＣＤなどの表示用デバイスである。操作表示部１１７は、操作補助のための表示や撮像装置１の状態表示の他、撮影時にはＥＶＦによる撮影画面やその撮影画面において予め設定された測距領域の表示などを行う。
【００２０】
操作部１１８は、ユーザからの操作指示を受け付けて制御部１１５に操作信号を出力するボタンや操作表示部１１７の画面上に配置されたタッチパネルなどである。具体的には、操作部１１８は、撮像装置１の撮影機能や画像再生時の設定などの各種設定を行うメニュースイッチ、撮影レンズ１０１のズーム動作を指示するズームレバー、撮影モードと再生モードの動作モード切換えスイッチなどがある。撮影モードＳＷ１１９は、撮像装置１の撮影モードの切り替え指示をユーザから受け付けて制御部１１５へ出力するスイッチである。例えば、撮影モードＳＷ１１９は、撮影画像から顔検出を行う顔検出モードのＯＮ又はＯＦＦの切り替え指示をユーザから受け付ける。また、撮影モードＳＷ１１９は、ＡＦモードの切り替え指示をユーザから受け付けてもよい。
【００２１】
メインスイッチ１２０は、電源のＯＮ／ＯＦＦをユーザから受け付けて制御部１１５へ出力するスイッチである。第１スイッチ１２１は、ＡＦ処理やＡＥ処理を予め開始する等の撮影スタンバイ動作の開始指示をユーザから受け付けて制御部１１５へ出力するスイッチである。第２スイッチ１２２は、第１スイッチ１２１の操作後に撮影の開始指示をユーザから受け付けて制御部１１５へ出力するスイッチである。なお、第１スイッチ１２１、第２スイッチ１２２は、シャッターボタン（図示しない）の半押しにより第１スイッチ１２１がＯＮされ、シャッターボタンの全押しにより第２スイッチ１２２がＯＮされる構成であってもよい。
【００２２】
顔検出モジュール１２３は、画像処理部１１０により出力された画像処理済みのデジタル画像データから人物の顔領域の検出を行い、検出した一つ又は複数の顔情報（顔領域の位置、そのサイズ、信頼度など）を制御部１１５へ出力する（顔検出手段）。人物の顔検出方法は、公知の技術を適用可能であり、本発明と直接関係しないため、詳細な説明は省略する。
【００２３】
なお、公知の顔検出技術としては、ニューラルネットワークなどを利用した学習に基づく手法、テンプレートマッチングを用いて目、鼻、口等の形状に特徴のある部位を画像から探し出し、類似度が高ければ顔とみなす手法などがある。また、他にも、肌の色や目の形といった画像特徴量を検出し、統計的解析を用いた手法等、多数提案されている。一般的には、これらの手法を複数組み合わせ、顔検出の精度を向上させている。具体的な例としては特開２００２−２５１３８０号公報に記載されるような、ウエーブレット変換と画像特徴量を利用して顔検出する方法などが挙げられる。
【００２４】
動体検出部１２４は、撮像素子１０８で連続的に撮影された複数の撮影画像を互いに比較することで、被写体及び背景が動いているか否かを検出してその動体情報を制御部１１５へ出力する（第１の動き量検出手段）。具体的には、動体検出部１２４は、画像処理部１１０により出力された画像処理済みのデジタル画像データのうち、時系列的に並んだ２枚の撮影画像を比較し、その差分情報から被写体や背景の動体情報（動き量、位置、範囲）を検出して制御部１１５へ出力する。
【００２５】
角速度センサ部１２５は、撮像装置１自体の動き（角速度）を検出してその動き情報（動き量）を制御部１１５へ出力する（第２の動き量検出手段）。具体的には、角速度センサ部１２５は、円い空洞の中の球体の位置を検出して鉛直方向に対する撮像装置１の姿勢を検出する重力センサやジャイロセンサ等であってよい。
【００２６】
次に、制御部１１５の制御の下で行われる撮像装置１の動作について、図２〜図１７を参照して説明する。ここで、図２は、撮像装置１の動作を示すフローチャートである。なお、制御部１１５は、以下に示すフローチャートにおいて、ＤＲＡＭ１１３の作業領域に動作用の変数情報を格納し、各ステップでその変数情報の読み出しや更新を行いながら処理を実行している。ＤＲＡＭ１１３の作業領域に格納される変数情報としては、フラグデータや算出値やカウンタ値などの数値データなどがある。
【００２７】
［変数情報について］
フラグデータとしては、合焦フラグ、ピーク検出フラグ、距離変化フラグ、同方向移動フラグ、顔検出フラグなどがある。合焦フラグは、合焦判定における判定結果を示すフラグデータであり、ＴＲＵＥである場合に被写体に合焦されていることを示し、ＦＡＬＳＥである場合に被写体に合焦されていないことを示す。顔検出フラグは、顔検出モジュール１２３において顔検出したか否かを示すフラグデータであり、ＴＲＵＥである場合に顔検出していることを示し、ＦＡＬＳＥである場合に顔検出していないことを示す。ピーク検出フラグは、山登りＡＦ（ＡＦスキャン）において焦点評価値が最大となるピークが検出されたことを示すフラグデータである。ピーク検出フラグがＴＲＵＥである場合にはピークが検出されたことを示し、ＦＡＬＳＥである場合にはピークが検出されていないことを示す。距離変化フラグは、自装置である撮像装置１と被写体との間の被写体距離が変化したことを示すフラグデータである。距離変化フラグがＴＲＵＥである場合には被写体距離が変化したことを示し、ＦＡＬＳＥである場合には被写体距離が変化していないことを示す。同方向移動フラグは、今回のＡＦスキャンにおけるスキャン中心位置に対するピーク位置の方向と、前回のＡＦスキャンにおけるスキャン中心位置に対するピーク位置の方向とが同方向であるか否かを示すフラグデータである。同方向移動フラグがＴＲＵＥである場合には同方向であることを示し、ＦＡＬＳＥである場合には同方向でないことを示す。
【００２８】
また、数値データとしては、前述した焦点評価値、取得カウンタ、増加カウンタ、顔検出サイズ変化回数、輝度値変化回数、焦点評価値変化回数、カメラ動作回数、被写体動作回数、×count値、StCount値などがある。取得カウンタは、フォーカスレンズ１０４の現在位置を取得した回数を示す数値データである。増加カウンタは、山登りAFにおいて、直近の処理で取得した焦点評価値がその前の処理で取得した焦点評価値より大きいこと（その回数など）を示す数値データである。顔検出サイズ変化回数は、AF枠の画像領域において顔検出モジュール１２３で検出した顔のサイズが変化した回数を示す数値データである。輝度値変化回数は、AF枠の画像領域において輝度値が変化した回数を示す数値データである。焦点評価値変化回数は、AF枠の画像領域において焦点評価値が変化した回数を示す数値データである。カメラ動作変化回数は、撮像装置１の動作量（動き量）が予め設定された所定値以上変化した回数を示す数値データである。被写体動作変化回数は、被写体の動作量が予め設定された所定値以上変化した回数を示す数値データである。×count値は、合焦判定が連続して○判定でなかった回数（×判定の回数）を示す数値データである。StCount値は、ピーク位置とスキャン中心位置との差が所定値より連続して小さくなった回数を示す数値データである。
【００２９】
［メインルーチンについて］
図２に示すように、撮像装置１は、メインスイッチ１２０がＯＮとなり電源が投入されることで、制御部１１５が制御して行う処理を開始する。処理が開始されると、Ｓ２０１で制御部１１５は、画像記録部１１４における記録媒体の残容量を調べ、残容量が０であればＳ２０２へと進み、残容量が０でなければＳ２０３へと進む。なお、Ｓ２０１では、残容量の検出に先立って、画像記録部１１４における記録媒体の有無を検出し、記録媒体が接続されていない場合にＳ２０１へ処理を進めてもよい。
【００３０】
画像記録部１１４の記憶媒体の残容量が０である場合、制御部１１５は、Ｓ２０２において画像記録部１１４の残容量が０であることを操作表示部１１７に警告表示してＳ２０１へと戻る。なお、Ｓ２０２では、アンプ及びスピーカから構成された音声出力部（図示しない）から警告音を出力してもよいし、操作表示部１１７による警告表示と音声出力部による警告音の出力の両方を行ってもよい。
【００３１】
Ｓ２０３で制御部１１５は、ＡＦモードがContinuousAFモードであるかSingleAFモードであるかを調べる。制御部１１５は、ContinuousAFモードであればステップＳ２０４へと処理を進め、SingleAFモードであればステップＳ２０７へと処理を進める。上述したＡＦモードは、撮影モードＳＷ１１９を介したユーザからの指示により予め設定される。なお、SingleAFモードは撮影の直前に一回ＡＦスキャンを行って被写体への合焦させるＡＦモードである。ContinuousAFモードは、撮影前からＡＦスキャンを繰り返し行って被写体へ合焦させるＡＦモードである。ContinuousAFモードには、ＥＶＦ表示の見栄えよりもＡＦスキャンを優先して行うServoAFモードがある。すなわち、ContinuousAFモード又はServoAFモードがフォーカスレンズの位置の調整を連続的に行う動作モードである。
【００３２】
Ｓ２０４で制御部１１５は、操作部１１８を介したユーザからの指示において、ＥＶＦ表示の見栄えを優先するかＡＦスキャンを繰り返し行うＡＦ追従を優先するかを調べる。制御部１１５は、ＥＶＦ表示の見栄えを優先する場合はＳ２０５へと処理を進め、ＡＦ追従を優先する場合はＳ２０６へと処理を進める。
【００３３】
Ｓ２０５で制御部１１５は、後述する図３のフローチャートに従ってContinuousAFを行い、Ｓ２０７へと処理を進める。Ｓ２０６で制御部１１５は、後述する図４のフローチャートに従ってServoAFを行い、Ｓ２０７へと処理を進める。
【００３４】
Ｓ２０７で制御部１１５は、第１スイッチ１２１の状態を調べ、ＯＮであればＳ２０８へと処理を進め、ＯＮでなければＳ２０１へと処理を進める。Ｓ２０８で制御部１１５は、ＡＥ処理部１０３で画像処理部１１０の出力からＡＥ処理を行ってＳ２０９へと処理を進める。Ｓ２０９で制御部１１５は、合焦フラグの状態を調べ、合焦フラグがＴＲＵＥであればＳ２１１へと処理を進め、合焦フラグがＦＡＬＳＥであればＳ２１０へと処理を進める。
【００３５】
Ｓ２１０で制御部１１５は、後述する図７のフローチャートに従って、通常ＡＦ動作を行ってＳ２１１へと処理を進める。Ｓ２１１で制御部１１５は、ServoAFモードに設定されているか否かを調べる。制御部１１５は、ServoAFモードに設定されていればＳ２１２へと処理を進め、ServoAFモードに設定されていなければＳ２１３へと処理を進める。Ｓ２１２で制御部１１５は、後述する図４に従って、ServoAFを行ってＳ２１３へと処理を進める。
【００３６】
Ｓ２１３で制御部１１５は、第１スイッチ１２１の状態を調べ、ＯＮであればＳ２１４へと処理を進め、ＯＮでなければＳ２０１へと処理を進める。Ｓ２１４で制御部１１５は、第２スイッチ１２２の状態を調べ、ＯＮであればＳ２１５へと処理を進め、ＯＮでなければＳ２１１へと処理を進める。Ｓ２１５で制御部１１５は、後述する図１７のフローチャートに従って、撮影動作を行ってＳ２０１へと処理を進める。
【００３７】
上述した処理により、撮像装置１では、電源が投入されて第１スイッチ１２１がＯＮされるまではＳ２０１〜Ｓ２０７の処理がループして行われることとなる。また、撮像装置１では、第１スイッチ１２１がＯＮされるとＳ２０８〜Ｓ２１３までの処理が行われ、第１スイッチ１２１がＯＮのままで第２スイッチ１２２がＯＦＦの状態ではＳ２１１〜Ｓ２１３の処理がループして行われることとなる。そして、第１スイッチ１２１がＯＮの状態で第２スイッチ１２２がＯＮされると撮影が行われることとなる。
【００３８】
［ContinuousAFについて］
次に、図２のフローチャートにおけるＳ２０５のContinuousAFのサブルーチンについて、図３のフローチャートを参照しながら説明する。図３に示すように、ContinuousAFが開始されると、Ｓ３０１で制御部１１５は、顔検出モジュール１２３において顔検出したか否かを調べる。制御部１１５は、顔検出していればＳ３０２へと処理を進め、顔検出していなければＳ３０４へと処理を進める。
【００３９】
Ｓ３０２で制御部１１５は、顔検出モジュール１２３で検出した顔位置・顔サイズなどの顔情報を取得してＳ３０３へと処理を進める。Ｓ３０３で制御部１１５は、顔検出していることを示す顔検出フラグをＴＲＵＥにしてＳ３０４へと処理を進める。
【００４０】
Ｓ３０４で制御部１１５は、顔検出フラグの状態を調べる。制御部１１５は、顔検出フラグがＴＲＵＥであればＳ３０５へと処理を進め、顔検出フラグがＦＡＬＳＥであればＳ３０６へと処理を進める。
【００４１】
Ｓ３０５で制御部１１５は、顔検出モジュール１２３で検出された最新の顔検出位置にAF枠（焦点検出領域）を設定してＳ３０７へと処理を進める。ここで、顔検出されているときのAF枠のサイズは、ＲＯＭなどに予め設定された所定のサイズに設定してもよいし、顔検出モジュール１２３で検出した顔サイズに応じたサイズに設定してもよい。Ｓ３０６で制御部１１５は、中央領域などの予め設定された所定位置にAF枠を設定してＳ３０７へと処理を進める。Ｓ３０７で制御部１１５は、Ｓ３０５、又は、Ｓ３０６で設定したAF枠内の画像領域における焦点評価値（コントラスト値）及び輝度値を取得してＳ３０８へと処理を進める（輝度取得手段）。
【００４２】
Ｓ３０８で制御部１１５は、後述するＳ３０９の山登りAFにおいてピークが検出されたことを示す、ピーク検出フラグの状態を調べる。制御部１１５は、ピーク検出フラグがＴＲＵＥであればＳ３１０へと処理を進め、ピーク検出フラグがＦＡＬＳＥであればＳ３０９へと処理を進める。Ｓ３０９で制御部１１５は、後述する図５のフローチャートに従って山登りAFを行った後にContinuousAFのサブルーチンを終了し、Ｓ２０７へ処理を進める。
【００４３】
Ｓ３１０で制御部１１５は、後述する図６のフローチャートに従って被写体距離変化判定を行って、ステップＳ３１１へと処理を進める。Ｓ３１１で制御部１１５は、被写体距離が変化したことを示す距離変化フラグの状態を調べる。制御部１１５は、距離変化フラグがＴＲＵＥであればステップＳ３１２へと処理を進め、距離変化フラグがＦＡＬＳＥであればＳ３１３へと処理を進める。
【００４４】
Ｓ３１２で制御部１１５は、ピーク検出フラグ及び距離変化フラグをＦＡＬＳＥにしてリセットする。また、制御部１１５は、Ｓ３０９の山登りAFのサブルーチンで用いる焦点評価値の最大値、ピーク位置、焦点評価値の増加を示す増加カウンタをリセットしてＳ３１３へと処理を進める。Ｓ３１３で制御部１１５は、フォーカスレンズをそのまま停止させてＳ２０７へと処理を進める。
【００４５】
［ServoAFについて］
次に、図２のフローチャートにおけるＳ２０６やＳ２１２のServoAFのサブルーチンについて、図４のフローチャートを参照しながら説明する。図４に示すように、ServoAFが開始されると、Ｓ４０１で制御部１１５は、顔検出モジュール１２３において顔検出したか否かを調べる。制御部１１５は、顔検出していればＳ４０２へと処理を進め、顔検出していなければＳ４０４へと処理を進める。
【００４６】
Ｓ４０２で制御部１１５は、顔検出モジュール１２３で検出した顔位置・顔サイズなどの顔情報を取得してＳ４０３へと処理を進める。Ｓ４０３で制御部１１５は、顔検出していることを示す顔検出フラグをＴＲＵＥにしてＳ４０４へと処理を進める。
【００４７】
Ｓ４０４で制御部１１５は、顔検出フラグの状態を調べる。制御部１１５は、顔検出フラグがＴＲＵＥであればＳ４０５へと処理を進め、顔検出フラグがＦＡＬＳＥであればＳ４０６へと処理を進める。
【００４８】
Ｓ４０５で制御部１１５は、顔検出モジュール１２３で検出された最新の顔検出位置にAF枠を設定してＳ４０７へと処理を進める。ここで、顔検出されているときのAF枠のサイズは、予め設定された所定のサイズに設定してもよいし、検出した顔サイズに応じたサイズに設定してもよい。Ｓ４０６で制御部１１５は、中央領域などの予め設定された所定位置にAF枠を設定してＳ４０７へと処理を進める。Ｓ４０７で制御部１１５は、Ｓ４０５、又は、Ｓ４０６で設定したAF枠内の画像領域における焦点評価値及び輝度値を取得してＳ４０８へと処理を進める（輝度取得手段）。
【００４９】
Ｓ４０８で制御部１１５は、後述するＳ４０９の山登りAFにおいてピークが検出されたことを示す、ピーク検出フラグの状態を調べる。制御部１１５は、ピーク検出フラグがＴＲＵＥであればＳ４１０へと処理を進め、ピーク検出フラグがＦＡＬＳＥであればＳ４０９へと処理を進める。Ｓ４０９で制御部１１５は、後述する図５のフローチャートに従って山登りAFを行った後にServoAFのサブルーチンを終了し、Ｓ２０７又はＳ２１３へ処理を進める。
【００５０】
Ｓ４１０で制御部１１５は、被写体距離が変化したことを示す距離変化フラグの状態を調べる。制御部１１５は、距離変化フラグがＴＵＲＥであればＳ４１２へと処理を進め、距離変化フラグがＦＡＬＳＥであればＳ４１１へと処理を進める。Ｓ４１１で制御部１１５は、合焦フラグがＴＲＵＥであるか否かを調べる。制御部１１５は、合焦フラグがＴＲＵＥであればＳ４１３へと処理を進め、合焦フラグがＦＡＬＳＥであればＳ４１２へと処理を進める。
【００５１】
Ｓ４１２で制御部１１５は、後述する図８のフローチャートに従って、Servo中AF動作を行った後にServoAFのサブルーチンを終了し、Ｓ２０７又はＳ２１３へ処理を進める。Ｓ４１３で制御部１１５は、後述する図６のフローチャートに従って被写体距離変化判定を行った後にServoAFのサブルーチンを終了し、Ｓ２０７又はＳ２１３へ処理を進める。
【００５２】
［山登りAFについて］
次に、図３のフローチャートにおけるＳ３０９、図４のフローチャートにおけるＳ４０９の山登りAFのサブルーチンについて、図５のフローチャートを参照しながら説明する。図５に示すように、山登りAFが開始されると、Ｓ５０１で制御部１１５は、フォーカスレンズ１０４の現在位置を取得してＳ５０２へと処理を進める。
【００５３】
Ｓ５０２で制御部１１５は、設定されたAF枠内の画像領域における焦点評価値・輝度値の取得し、フォーカスレンズ１０４の現在位置の取得をカウントするための取得カウンタをインクリメントしてＳ５０３へと処理を進める。なお、取得カウンタは、初期化動作(図示しない)において予め０（又はＮＵＬＬ値）に設定されているものとする。
【００５４】
Ｓ５０３で制御部１１５は、取得カウンタの値が１か否かを調べる。制御部１１５は、取得カウンタの値が１ならばＳ５０６へと処理を進め、取得カウンタの値が１でなければＳ５０４へと処理を進める。
【００５５】
Ｓ５０４で制御部１１５は、直近の処理で取得した「今回の焦点評価値」がその前の処理で取得した「前回の焦点評価値」よりも大きいか否かを調べる。制御部１１５は、「今回の焦点評価値」が「前回の焦点評価値」よりも大きければＳ５０５へと処理を進め、それ以下であればＳ５１２へと処理を進める。
【００５６】
Ｓ５０５で制御部１１５は、「今回の焦点評価値」が「前回の焦点評価値」よりも大きいことを示す増加カウンタに１を加えてＳ５０５へと処理を進める。この増加カウンタは、前述した初期化動作において予め０（又はＮＵＬＬ値）に設定されているものとする。
【００５７】
Ｓ５０６で制御部１１５は、今回の焦点評価値を焦点評価値の最大値（ピーク評価値）として制御部１１５に内臓される演算メモリ（図示しない）に記憶して、Ｓ５０７へと処理を進める。Ｓ５０７で制御部１１５は、フォーカスレンズ１０４の現在の位置を焦点評価値のピーク位置として制御部１１５に内臓される演算メモリに記憶して、Ｓ５０８へと処理を進める。Ｓ５０８で制御部１１５は、今回の焦点評価値を前回の焦点評価値として制御部１１５に内臓される演算メモリに記憶して、Ｓ５０９へと処理を進める。
【００５８】
Ｓ５０９で制御部１１５は、フォーカスレンズ１０４の現在位置が予め設定された測距範囲の端にあるか否かを調べる。制御部１１５は、測距範囲の端にあればＳ５１０へと処理を進め、測距範囲の端になければＳ５１１へと処理を進める。なお、測距範囲は、後述する処理により設定されるフォーカスレンズ１０４の駆動範囲であり、標準状態ではフォーカスレンズ１０４の可動範囲が予め設定されているものとする。山登りAF等のスキャンは、設定された測距範囲内（駆動範囲内）でフォーカスレンズ１０４を駆動することで行われる。
【００５９】
Ｓ５１０で制御部１１５は、フォーカスレンズ１０４の移動方向を反転してＳ５１１へと処理を進める。Ｓ５１１で制御部１１５は、フォーカスレンズ１０４を予め設定された所定量移動した後に後に山登りAFのサブルーチンを終了する。
【００６０】
Ｓ５１２で制御部１１５は、演算メモリに記憶されたピーク評価値を読み出し、「ピーク評価値−今回の焦点評価値」が予め設定された所定量（閾値）より大きいか否かを調べる。制御部１１５は、所定量より大きければＳ５１３へと処理を進め、所定量以下であればＳ５０８へと処理を進める。ここで、「ピーク評価値−今回の焦点評価値」が所定量より大きく、ピーク評価値から所定量減少していれば、そのピーク評価値を被写体へ合焦している際の焦点評価値とみなす。すなわち、フォーカスレンズ１０４を測距範囲内で駆動した際に、焦点評価値が増加から減少に転じる変曲点が被写体へ合焦している焦点評価値とみなされることとなる。
【００６１】
Ｓ５１３で制御部１１５は、増加カウンタが０より大きいか否かを調べる。制御部１１５は、増加カウンタが０より大きければＳ５１４へと処理を進め、増加カウンタが０以下であればＳ５０８へと処理を進める。
【００６２】
Ｓ５１４で制御部１１５は、フォーカスレンズ１０４をＳ５０７で記憶した焦点評価値が最大値となったピーク位置へ移動させて、Ｓ５１５へと処理を進める。Ｓ５１５で制御部１１５は、ピーク検出フラグをＴＲＵＥにしてＳ５１６へと処理を進める。Ｓ５１６で制御部１１５は、取得カウンタを０としてＳ２０７へと処理を進める。
【００６３】
［被写体距離変化判定について］
次に、図３のフローチャートにおけるＳ３１０、及び、図４のフローチャートにおけるＳ４１３の被写体距離変化判定のサブルーチンについて、図６のフローチャートを参照しながら説明する。図６に示すように、被写体距離変化判定が開始されると、Ｓ６０１で制御部１１５は、顔検出モジュール１２３において顔検出したか否かを調べる。制御部１１５は、顔検出していればＳ６０２へと処理を進め、顔検出していなければＳ６０６へと処理を進める。
【００６４】
Ｓ６０２で制御部１１５は、今回の処理で検出した顔サイズが前回の処理で検出した顔サイズに対して予め設定された所定割合以上変化したか否かを調べる。すなわち、Ｓ６０２では、フォーカスレンズの位置の調整を連続的に行う動作モード時において、連続的に取得された人物の顔領域のサイズ変化が所定割合以上変化したか否かにより被写体との距離の変化の有無を検出している。制御部１１５は、所定割合以上変化していればＳ６０３へと処理を進め、所定割合以上変化していなければＳ６０６へと処理を進める。Ｓ６０３で制御部１１５は、顔検出サイズ変化回数をインクリメントしてＳ６０４へと処理を進める。Ｓ６０４で制御部１１５は、顔サイズ変化回数が予め設定された閾値以上であるか否かを調べ、閾値以上であればＳ６０５へと処理を進め、閾値未満であればＳ６０６へと処理を進める。Ｓ６０５で制御部１１５は、合焦フラグをＦＡＬＳＥにし、距離変化フラグをＴＲＵＥにして被写体距離変化判定のサブルーチンを終了する。
【００６５】
Ｓ６０６で制御部１１５は、前回の処理で取得した輝度値に対して、今回の処理で取得した輝度値が予め設定された所定値以上変化したか否かを調べる。すなわち、Ｓ６０６では、フォーカスレンズの位置の調整を連続的に行う動作モード時において、連続的に取得された輝度値の変化量が所定値以上変化したか否かにより被写体との距離の変化の有無を検出している。制御部１１５は、所定値以上変化していればＳ６０７へと処理を進め、所定値以上変化していなければＳ６０９へと処理を進める。Ｓ６０７で制御部１１５は、輝度値変化回数をインクリメントしてＳ６０８へと処理を進める。Ｓ６０８で制御部１１５は、輝度値変化回数が予め設定された閾値以上か否かを調べ、閾値以上であればＳ６０５へと処理を進め、閾値未満であればＳ６０９へと処理を進める。
【００６６】
Ｓ６０９で制御部１１５は、前回の処理で取得した焦点評価値に対して、今回の処理で取得した焦点評価値が予め設定された所定値以上変化したか否かを調べる。すなわち、Ｓ６０９では、フォーカスレンズの位置の調整を連続的に行う動作モード時において、連続的に取得された焦点評価値の変化量が所定値以上変化したか否かにより被写体との距離の変化の有無を検出している。制御部１１５は、所定値以上変化していればＳ６１０へと処理を進め、所定値以上変化していなければＳ６１２へと処理を進める。Ｓ６１０で制御部１１５は、焦点評価値変化回数をインクリメントしてＳ６１１へと処理を進める。Ｓ６１１で制御部１１５は、焦点評価値変化回数が予め設定された閾値以上か否かを調べ、閾値以上であればＳ６０５へと処理を進め、閾値未満であればＳ６１２へと処理を進める。
【００６７】
Ｓ６１２で制御部１１５は、角速度センサ部１２５で検出した撮像装置１の動作量が予め設定された所定値以上変化したか否かを調べる。すなわち、Ｓ６１２では、フォーカスレンズの位置の調整を連続的に行う動作モード時において、自装置の動作量により被写体との距離の変化の有無を検出している。制御部１１５は、所定値以上変化していればＳ６１３へと処理を進め、所定値以上変化していなければＳ６１５へと処理を進める。Ｓ６１３で制御部１１５は、カメラ動作回数をインクリメントしてＳ６１４へと処理を進める。Ｓ６１４で制御部１１５は、カメラ動作回数が予め設定された閾値以上か否かを調べ、閾値以上であればＳ６０５へと処理を進め、閾値未満であればＳ６１５へと処理を進める。
【００６８】
Ｓ６１５で制御部１１５は、動体検出部１２４で検出した被写体の動作量が予め設定された所定値以上であるか否かを調べる。すなわち、Ｓ６１５では、フォーカスレンズの位置の調整を連続的に行う動作モード時において、被写体の動作量により被写体との距離の変化の有無を検出している。制御部１１５は、所定値以上であればＳ６１６へと処理を進め、所定値以上でなければＳ６１８へと処理を進める。Ｓ６１６で制御部１１５は、被写体動作回数をインクリメントしてＳ６１７へと処理を進める。Ｓ６１７で制御部１１５は、被写体動作回数が予め設定された閾値以上か否かを調べ、閾値以上であればＳ６０５へと処理を進め、閾値未満であればＳ６１８へと処理を進める。
【００６９】
Ｓ６１８で制御部１１５は、顔検出サイズ・輝度値・焦点評価値のいずれの評価値も変化しておらず、カメラ動作量、被写体動作量が所定値以上となっていないか否かを調べる。制御部１１５は、いずれの評価値も変化しておらず、いずれの動作量も所定値以上となっていなければＳ６１９へと処理を進める。また、制御部１１５は、どれかの評価値が変化している、又は、どれかの動作量が所定値以上となっていれば、被写体距離変化判定のサブルーチンを終了する。Ｓ６１９で制御部１１５は、顔サイズ変化回数・輝度値変化回数・焦点評価値変化回数、カメラ動作回数、被写体動作回数の全てを０（又はＮＵＬＬ値）にして被写体距離変化判定のサブルーチンを終了する。
【００７０】
上述したように、距離変化検出手段としての制御部１１５は、ContinuousAFモード又はServoAFモード時において、被写体と自装置との距離変化を有無を検出する被写体距離変化判定のサブルーチンを行う。これにより、撮像装置１では、フォーカスレンズの位置の調整を連続的に行う動作モード時に、被写体と自装置との距離変化の有無を検出した検出結果である距離変化フラグを下に、フォーカスレンズの駆動を制御することが可能となる。例えば、被写体と自装置との距離が変化した際には、距離変化フラグをＴＲＵＥとすることで、停止していたフォーカスレンズの駆動を再開させることが可能となる。
【００７１】
［通常AF動作について］
次に、図２のフローチャートにおけるＳ２１０の通常AF動作のサブルーチンについて、図７のフローチャートを参照しながら説明する。図７に示すように、通常AF動作が開始されると、Ｓ７０１で制御部１１５は、顔検出モジュール１２３において顔検出したか否かを調べる。制御部１１５は、顔検出していればＳ７０２へと処理を進め、顔検出していなければＳ７０４へと処理を進める。
【００７２】
Ｓ７０２で制御部１１５は、顔検出モジュール１２３で検出した顔位置・顔サイズなどの顔情報を取得してＳ７０３へと処理を進める。Ｓ７０３で制御部１１５は、顔検出していることを示す顔検出フラグをＴＲＵＥにしてＳ７０４へと処理を進める。
【００７３】
Ｓ７０４で制御部１１５は、顔検出フラグの状態を調べる。制御部１１５は、顔検出フラグがＴＲＵＥであればＳ７０５へと処理を進め、顔検出フラグがＦＡＬＳＥであればＳ７０６へと処理を進める。
【００７４】
Ｓ７０５で制御部１１５は、最新の顔検出位置にAF枠を設定してＳ７０７へと処理を進める。ここで、顔検出されているときのAF枠のサイズは、予め設定された所定のサイズに設定してもよいし、検出した顔サイズに応じたサイズに設定してもよい。Ｓ７０６で制御部１１５は、中央領域などの予め設定された所定位置にAF枠を設定してＳ７０７へと処理を進める。
【００７５】
Ｓ７０７で制御部１１５は、撮影モードＳＷ１１９により設定されたＡＦモードがContinuousAFであるか、又は、SingleAFモードであるかを調べる。制御部１１５は、ContinuousAFモードであればＳ７０８へと進み、SingleAFモードであればステップＳ７１０へと進む。
【００７６】
Ｓ７０８で制御部１１５は、ピーク検出フラグがＴＲＵＥかどうかを調べる。制御部１１５は、ピーク検出フラグがＴＲＵＥであればＳ７１１へと処理を進め、ピーク検出フラグがＦＡＬＳＥであればＳ７１０へと処理を進める。Ｓ７１０で制御部１１５は、測距範囲をフォーカスレンズ１０４の可動範囲の全域（第１の範囲）に設定してＳ７１２へと処理を進める。Ｓ７１１で制御部１１５は、フォーカスレンズ１０４の現在位置を中心として予め設定された所定範囲（第２の範囲）を測距範囲として設定してＳ７１２へと進む。
【００７７】
Ｓ７１１では、被写体へ合焦しているピーク評価値が検出されているため、そのピーク評価値となるフォーカスレンズ１０４のレンズ位置を中心とし、第１の範囲よりも狭く絞り込んだ第２の範囲が測距範囲として設定される。従って、撮像装置１では、Ｓ７１１による測距範囲の設定により、通常ＡＦ動作時におけるスキャン（ＡＦスキャン）をより効率的に行うことが可能となる。
【００７８】
Ｓ７１２で制御部１１５は、後述する図１２のフローチャートに従ってスキャンを行って、Ｓ７１３へと処理を進める。Ｓ７１３で制御部１１５は、後述する図１３のフローチャートに従って合焦判定を行って、Ｓ７１４へと処理を進める。
【００７９】
Ｓ７１４で制御部１１５は、Ｓ７１３における合焦判定（詳細は後述する）の結果が○判定か否かを調べる。制御部１１５は、○判定であればＳ７１５へと処理を進め、×判定であればＳ７１７へと処理を進める。
【００８０】
Ｓ７１５で制御部１１５は、フォーカスレンズ１０４をＳ７１２でのスキャンで計算したピーク位置へ移動してＳ７１６へと処理を進める。Ｓ７１６で制御部１１５は、ピーク検出フラグ及び合焦フラグをＴＲＵＥにし、距離変化フラグをＦＡＬＳＥにして通常AF動作のサブルーチンを終了する。
【００８１】
Ｓ７１７で制御部１１５は、フォーカスレンズ１０４を予め設定されている位置(定点)へと移動してＳ７１８へと処理を進める。ここで、定点は被写体の存在確率の高い距離に設定する。顔が検出されていれば、顔サイズより人物の距離を推定して算出した距離に設定してもよい。Ｓ７１８で制御部１１５は、ピーク検出フラグ及び距離変化フラグをＦＡＬＳＥにして通常AF動作のサブルーチンを終了する。
【００８２】
［Servo中AF動作について］
次に、図４のフローチャートにおけるＳ４１２のServo中AF動作のサブルーチンについて、図８のフローチャートを参照しながら説明する。図８に示すように、Ｓ８０１で制御部１１５は、ＲＴＣ部（Real Time Clock（図示しない））から現在の時刻を取得し、次回のスキャン(後述するＳ８１０のスキャン)にかかる時間を算出する。次いで、制御部１１５は、次回のスキャンにおいてフォーカスレンズ１０４の位置が測距範囲の中心に位置するときの時刻(予測時刻)、を算出してPreTimeとし、Ｓ８０２へと処理を進める。Ｓ８０２で制御部１１５は、後述する図９のフローチャートに従って予測可能判定を行って、Ｓ８０３へと処理を進める。
【００８３】
Ｓ８０３で制御部１１５は、Ｓ８０２の予測可能判定における予測可能判定結果が予測可能か否かを調べる。制御部１１５は、予測可能であればＳ８０４へと処理を進め、予測可能でなければＳ８０５へと処理を進める。
【００８４】
Ｓ８０４で制御部１１５は、後述する図１０のフローチャートに従って被写体位置予測を行って、Ｓ８０７へと処理を進める。Ｓ８０５で制御部１１５は、後述する過去の動体予測用のデータScanTime[0]〜ScanTime[i-1]及びHokanPeak[0]〜HokanPeak[i-1]をクリアする。さらに、制御部１１５は、連続して予測可能判定となった回数を示す変数iを０にしてＳ８０６へと処理を進める。Ｓ８０６で制御部１１５は、フォーカスレンズ１０４の現在位置をスキャン中心位置に設定して、Ｓ８０７へと処理を進める。
【００８５】
Ｓ８０７で制御部１１５は、合焦フラグがＴＲＵＥかどうかを調べ、合焦フラグがＴＲＵＥであればＳ８０８へと処理を進め、合焦フラグがＦＡＬＳＥであればＳ８０９へと処理を進める。Ｓ８０８で制御部１１５は、測距範囲を予め設定された所定範囲（第３の範囲）に設定してＳ８１０へと処理を進める。Ｓ８０９で制御部１１５は、Ｓ８０８で設定する第３の範囲よりも広い範囲（第４の範囲）に測距範囲を設定してＳ８１０へと処理を進める。Ｓ８０９では、被写体へ合焦しているピーク評価値が検出されていないことが合焦フラグから明らかであるため、第３の範囲よりも広い第４の範囲に測距範囲を設定してスキャンを行うことで、被写体へ合焦を的確に行わせる。
【００８６】
Ｓ８１０で制御部１１５は、後述する図１２のフローチャートに従ってスキャンを行って、Ｓ８１１へと処理を進める。Ｓ８１１で制御部１１５は、後述する図１３のフローチャートに従って合焦判定を行って、Ｓ８１２へと処理を進める。
【００８７】
Ｓ８１２で制御部１１５は、Ｓ８１１で判定した合焦判定結果が○判定か否かを調べる。制御部１１５は、○判定であればＳ８１３へと処理を進め、×判定であればＳ８２５へと処理を進める。
【００８８】
Ｓ８１３で制御部１１５は、合焦フラグをＴＲＵＥにしてＳ８１４へと処理を進める。Ｓ８１４で制御部１１５は、連続して合焦判定が○判定でなかった回数（×判定の回数）を示す×countを０にしてＳ８１５へと処理を進める。
【００８９】
Ｓ８１５で制御部１１５は、Ｓ８１０におけるスキャン結果(ピーク位置)とスキャン中心位置の差が予め設定された所定値より小さいか否かを調べる。制御部１１５は、、所定値より小さければＳ８１６へと処理を進め、所定値より小さくなければＳ８１９へと処理を進める。
【００９０】
Ｓ８１６で制御部１１５は、Ｓ８１０におけるピーク位置とスキャン中心位置との差が所定値より連続して小さくなった回数を示すStCountに１をインクリメントしてＳ８１７へと処理を進める。Ｓ８１７で制御部１１５は、StCountが予め設定された閾値以上であるか否かを調べ、閾値以上であればＳ８１８へと処理を進め、閾値未満であればＳ８２０へと処理を進める。すなわち、制御部１１５は、Servo中AF動作によるフォーカスレンズ１０４の調整結果に基づいて決定した基準位置（スキャン中心位置）に対して、予め設定された範囲内に焦点評価値が最大となるフォーカスレンズ位置が含まれるか否かを判定する。そして、制御部１１５は、予め設定された範囲内に焦点評価値が最大となるフォーカスレンズ位置が含まれることが、予め設定された回数繰り返されるか否かを判定して、距離変化の有無を検出している距離変化検出手段である。
【００９１】
Ｓ８１８で制御部１１５は、被写体の距離変化がなくなったと判断して、距離変化フラグをＦＡＬＳＥにする。Ｓ８１８ａで制御部１１５は、フォーカスレンズ１０４の駆動を停止させて、Servo中AF動作のサブルーチンを終了する。これにより、撮像装置１では、ServoAF時においても、被写体距離が変化しない場合にはフォーカスレンズを停止させることで、ServoAFにおけるスキャンが無駄に繰り返されることを無くすことができる。
【００９２】
Ｓ８１９で制御部１１５は、StCountを０にクリアしてＳ８２０へと処理を進める。Ｓ８２０で制御部１１５は、Ｓ８１０における今回のスキャン中心位置に対する今回のピーク位置の方向と、前回のスキャン中心位置に対する前回のピーク位置の方向とが同方向であるか否かを調べる。制御部１１５は、同方向であればＳ８２１へ処理を進め、同方向でなければＳ８２２へと処理を進める。
【００９３】
Ｓ８２１で制御部１１５は、同方向移動フラグをＴＲＵＥにしてＳ８２３へと処理を進める。Ｓ８２２で制御部１１５は、同方向移動フラグをＦＡＬＳＥにしてＳ８２３へと処理を進める。
【００９４】
Ｓ８２３で制御部１１５は、今回のスキャンにおいてフォーカスレンズ１０４の位置が測距範囲の中心に位置した時刻をScanTime[i]とし、今回のスキャンにおけるピーク位置をHokanPeak[i]としてＳ８２４へと処理を進める。Ｓ８２４で制御部１１５は、iをインクリメントしてServo中AF動作のサブルーチンを終了する。
【００９５】
Ｓ８２５で制御部１１５は、合焦フラグをＦＡＬＳＥにしてＳ８２６へと処理を進める。Ｓ８２６で制御部１１５は×CountをインクリメントしてＳ８２７へと処理を進める。
【００９６】
Ｓ８２７で制御部１１５は、×Countが予め設定された所定値よりも大きいか否かを調べる。制御部１１５は、所定値より大きければＳ８２８へと処理を進め、所定値より大きくなければServo中AF動作のサブルーチンを終了する。Ｓ８２８で制御部１１５は、ピーク検出フラグ及び距離変化フラグをＦＡＬＳＥにしてServo中AF動作のサブルーチンを終了する。
【００９７】
［予測可能判定について］
次に、図８のフローチャートにおけるＳ８０２の予測可能判定のサブルーチンについて、図９のフローチャートを参照しながら説明する。図９に示すように、Ｓ９０１で制御部１１５は、Servo中AF動作における変数ｉについて、i=０か否かを調べる。制御部１１５は、ｉが０であればＳ９０５へと処理を進め、ｉが０でなければＳ９０２へと処理を進める。
【００９８】
Ｓ９０２で制御部１１５は、PreTimeとScanTime[i-1]の差が予め設定された所定時間よりも短いか否かを調べる。制御部１１５は、所定時間よりも短ければＳ９０３へと処理を進め、所定時間よりも長ければＳ９０５へと処理を進める。これより、前回のスキャンから今回のスキャンまでの間の時間が分かり、前回のスキャン結果を使用した予測の信頼性があるのかどうかを判断することができる。例えば、所定時間よりも長く時間がかかる場合には、予測の信頼性がないとすることができる。
【００９９】
Ｓ９０３で制御部１１５は、同方向移動フラグがＴＲＵＥかどうかを調べ、同方向移動フラグがＴＲＵＥであればＳ９０４へと処理を進め、同方向移動フラグがＦＡＬＳＥであればＳ９０５へと処理を進める。これにより、被写体が距離方向で同方向に移動していると判断したときにのみ予測の信頼性があるとすることで、誤測距の結果を使用することによる誤った予測を低減することができる。
【０１００】
Ｓ９０４で制御部１１５は、予測可能判定の結果を予測可能として、予測可能判定のサブルーチンを終了し、Ｓ８０３へと処理を進める。Ｓ９０５で制御部１１５は、予測可能判定の結果を予測不可能として、予測可能判定のサブルーチンを終了し、Ｓ８０３へと処理を進める。
【０１０１】
［被写体位置予測について］
次に、図８のフローチャートにおけるＳ８０４の被写体位置予測のサブルーチンについて、図１０のフローチャート、及び、図１１（ａ）、（ｂ)の説明図を参照しながら説明する。図１０に示すように、Ｓ１００１で制御部１１５は、Servo中AF動作における変数ｉについて、iが２より小さいか否かを調べる。制御部１１５は、iが２より小さければＳ１００２へと処理を進め、ｉが２以上であればＳ１００３へと処理を進める。Ｓ１００２で制御部１１５は、スキャン中心位置を前回のスキャンのピーク位置に設定して被写体位置予測のサブルーチンを終了し、Ｓ８０７へと処理を進める。
【０１０２】
Ｓ１００３で制御部１１５は、i＝２であるか否かを調べる。すなわち、Ｓ１００３では、動体予測用のデータが２点であるか否かを調べ、２点である場合と、３点以上ある場合とを判定している。制御部１１５は、i＝２であればＳ１００４へと処理を進め、iが２より大きければＳ１００６へと処理を進める。
【０１０３】
Ｓ１００４で制御部１１５は、図１１（ａ)に示すように、次に示す第１の動体予測式（１）を使って、２点分の動体予測用のデータから被写体の予測位置を算出して、Ｓ１００５へと処理を進める。具体的には、(ScanTime[0],HokanPeak[0])と、(ScanTime[1],HokanPeak[1])の２点より、PreTime時の被写体の予測位置PrePositionを算出する。
PrePosition = (PreTime - ScanTime[0])×(HokanPeak[1] - HokanPeak[0])/(ScanTime[1] - ScanTime[0]) + HokanPeak[0]  ……（１）
【０１０４】
Ｓ１００５で制御部１１５は、Ｓ１００４で算出した被写体の予測位置PrePositionをスキャン中心位置に設定して被写体位置予測のサブルーチンを終了し、Ｓ８０７へと処理を進める。
【０１０５】
Ｓ１００６で制御部１１５は、図１１（ｂ）に示すように、次に示す第２の動体予測式（２）を使って、３点分の動体予測用のデータから被写体の予測位置を算出して、Ｓ１００７へと処理を進める。３点分の動体予測用のデータは、(ScanTime[i-2],HokanPeak[i-2])、(ScanTime[i-1],HokanPeak[i-1])、(ScanTime[i],HokanPeak[i])である。従って、上述した３点より、PreTime時の被写体の予測位置PrePositionを算出する。
PrePosition = ( t3 / t2 )×{ (t3 - t2)×(t2×Pos1 - t1×Pos2)
/t1/(t1 - t2) + Pos2 } + HokanPeak[i-2]  ……（２）
なお、
t1 = ScanTime[i-1] - ScanTime[i-2]
t2 = ScanTime[i] - ScanTime[i-2]
t3 = PreTime - ScanTime[i-2]
Pos1 = HokanPeak[i-1] - HokanPeak[i-2]
Pos2 = HokanPeak[i] - HokanPeak[i-2]
とする。
【０１０６】
Ｓ１００７で制御部１１５は、Ｓ１００６で算出した被写体の予測位置PrePositionをスキャン中心位置に設定して被写体位置予測のサブルーチンを終了し、Ｓ８０７へと処理を進める。
【０１０７】
次に、図７のフローチャートにおけるＳ７１２、及び、図８のフローチャートにおけるＳ８１０のスキャンのサブルーチンを、図１２のフローチャートを参照しながら説明する。図１２に示すように、Ｓ１２０１で制御部１１５は、フォーカスレンズ１０４をスキャン開始位置に移動する。なお、スキャン開始位置は設定された測距範囲の一端に設定される。
【０１０８】
Ｓ１２０２で制御部１１５は、撮影画面内におけるAF枠に応じた画像領域の焦点評価値とフォーカスレンズ１０４の位置を制御部１１５に内蔵された演算メモリに記憶し、Ｓ１２０３へと処理を進める。
【０１０９】
Ｓ１２０３で制御部１１５は、フォーカスレンズ１０４のレンズ位置がスキャン終了位置にあるか否かを調べる。制御部１１５は、レンズ位置が終了位置であればＳ１２０５へ処理を進め、レンズ位置が終了位置でなければＳ１２０４へ処理を進める。なお、スキャン終了位置は、スキャン開始位置として設定された測距範囲の一端とは反対側の測距範囲の他端に設定される。
【０１１０】
Ｓ１２０４で制御部１１５は、予め設定された所定の方向へ所定量だけフォーカスレンズ１０４を移動させてＳ１２０２へと処理を進める。Ｓ１２０５で制御部１１５は、Ｓ１２０２で演算メモリに記憶した焦点評価値とそのレンズ位置を順次読み出して焦点評価値のピーク位置を計算し、スキャンのサブルーチンを終了する。
【０１１１】
［合焦判定について］
次に、図７のフローチャートにおけるＳ７１３、及び、図８のフローチャートにおけるＳ８１１の合焦判定のサブルーチンを、図１３〜図１６を参照しながら説明する。
【０１１２】
焦点評価値は遠近競合などの特殊な場合を除けば、横軸にフォーカスレンズ位置、縦軸に焦点評価値をとるとそのグラフは、図１３に示すような山状になる。そこで撮像装置１では、焦点評価値が山状になっているか否かを、焦点評価値の最大値と最小値の差、一定値（ＳｌｏｐｅＴｈｒ）以上の傾きで傾斜している部分の長さ、傾斜している部分の勾配から判断することにより、合焦判定を行うことができる。合焦判定における判定結果は、次に示すように○×で出力される。
○判定：焦点評価値のピーク位置から、被写体の焦点調節が可能である。
×判定：被写体のコントラストが不十分、もしくはスキャンした距離範囲外の距離に被写体が位置する。
【０１１３】
ここで図１３に示すように、山の頂上（Ａ点）から傾斜が続いていると認められる点をＤ点、Ｅ点とし、Ｄ点とＥ点の幅を山の幅Ｌ、Ａ点とＤ点の焦点評価値の差ＳＬ１とＡ点とＥ点の焦点評価値の差ＳＬ２の和ＳＬ１＋ＳＬ２をＳＬとする。
【０１１４】
図１４は、合焦判定のサブルーチンを示すフローチャートである。図１４に示すように、Ｓ１３０１において、制御部１１５は、焦点評価値の最大値と最小値、及び、最大値を与えるスキャンポイントｉｏを前述したスキャンの結果から求めてＳ１３０２へと処理を進める。
【０１１５】
次に、Ｓ１３０２で制御部１１５は、焦点評価値の山の幅を表す変数Ｌ、山の勾配を表す変数ＳＬなどの変数をともに零に初期化してＳ１３０３へと処理を進める。Ｓ１３０３で制御部１１５は、最大値を与えるスキャンポイントｉｏがスキャンを行った測距範囲における遠側端の位置か否かを調べる。制御部１１５は、遠側端位置でないならばＳ１３０４へ処理を進め、無限遠方向への単調減少を調べる。また、制御部１１５は、遠側端位置であったならば、Ｓ１３０４の処理をスキップしＳ１３０５へ処理を進める。
【０１１６】
ここで、Ｓ１３０４における無限遠方向への単調減少を調べる処理について説明する。図１５に示すように、まずＳ１４０１において、制御部１１５は、カウンタ用の変数ｉをｉｏに初期化してＳ１４０２へと処理を進める。
【０１１７】
Ｓ１４０２で制御部１１５は、スキャンポイントｉにおける焦点評価値の値ｄ［ｉ］と、ｉより１スキャンポイント分無限遠よりのスキャンポイントｉ−１における焦点評価値の値ｄ［ｉ−１］の差を予め設定された所定値ＳｌｏｐｅＴｈｒと比較する。制御部１１５は、ｄ［ｉ］−ｄ［ｉ−１］＞＝ＳｌｏｐｅＴｈｒであれば、無限遠方向への単調減少が生じていると判断し、Ｓ１４０３へ処理を進める。一方、制御部１１５は、ｄ［ｉ］−ｄ［ｉ−１］＞＝ＳｌｏｐｅＴｈｒでなければ、無限遠方向への単調減少は生じていないと判断し、無限遠方向への単調減少を調べる処理を終了し、Ｓ１３０５へ処理を進める。
【０１１８】
無限遠方向への単調減少をチェックする処理を継続する場合、制御部１１５はＳ１４０３へと処理を進める。Ｓ１４０３で制御部１１５は、焦点評価値が一定値以上の傾きで傾斜している部分の長さ（山の幅）を表す変数Ｌ、単調減少区間における減少量を表す変数ＳＬを次の式に従い更新してＳ１４０４へと処理を進める。
Ｌ  ＝  Ｌ＋１
ＳＬ＝  ＳＬ＋（ｄ［ｉ］−ｄ［ｉ−１］）
【０１１９】
Ｓ１４０４で制御部１１５は、ｉ＝ｉ−１として、検出をする点を１スキャンポイント無限遠側に移してＳ１４０５へと処理を進める。Ｓ１４０５で制御部１１５は、カウンタｉがスキャンを行った所定の測距範囲における遠側端位置の値（＝０）になったか否かをチェックする。制御部１１５は、カウンタｉの値が０、すなわち単調減少を検出する開始点がスキャンを行った所定の測距範囲における遠側端位置に達したならば、無限遠方向への単調減少を調べる処理を終了し、Ｓ１３０５へ処理を進める。以上のようにして、撮像装置１は、ｉ＝ｉｏから無限遠方向への焦点評価値の単調減少をチェックする。
【０１２０】
図１４に戻って、合焦判定のサブルーチンの続きを説明する。Ｓ１３０５で制御部１１５は、最大値を与えるスキャンポイントｉｏがスキャンを行った所定の測距範囲における至近端の位置か否かを調べる。制御部１１５は、至近端位置でないならばＳ１３０６へ処理を進め、至近端方向への単調減少を調べる。また、制御部１１５は、至近端位置であったならば、Ｓ１３０６の処理をスキップしＳ１３０７へ処理を進める。
【０１２１】
ここで、Ｓ１３０６における至近端方向への単調減少を調べる処理について説明する。図１６に示すように、まずＳ１５０１において、制御部１１５は、カウンタ変数ｉをｉｏに初期化してＳ１５０２へと処理を進める。
【０１２２】
Ｓ１５０２で制御部１１５は、スキャンポイントｉにおける焦点評価値の値ｄ［ｉ］と、ｉより１スキャンポイント分至近端よりのスキャンポイントｉ＋１における焦点評価値の値ｄ［ｉ＋１］の差を所定値ＳｌｏｐｅＴｈｒと比較する。制御部１１５は、ｄ［ｉ］−ｄ［ｉ＋１］＞＝ＳｌｏｐｅＴｈｒであれば、至近端方向への単調減少が生じていると判断し、Ｓ１５０３へ処理を進める。一方、制御部１１５は、ｄ［ｉ］−ｄ［ｉ＋１］＞＝ＳｌｏｐｅＴｈｒでなければ、至近端方向への単調減少は生じていないと判断し、至近端方向への単調減少を調べる処理を終了し、Ｓ１３０７へ処理を進める。
【０１２３】
至近端方向への単調減少をチェックする処理を継続する場合、制御部１１５はＳ１５０３へと処理を進める。Ｓ１５０３で制御部１１５は、焦点評価値が一定値以上の傾きで傾斜している部分の長さ（山の幅）を表す変数Ｌ、単調減少区間における減少量を表す変数ＳＬを次の式に従い更新してＳ１５０４へと処理を進める。
Ｌ  ＝  Ｌ＋１
ＳＬ＝  ＳＬ＋（ｄ［ｉ］−ｄ［ｉ＋１］）
【０１２４】
Ｓ１５０４で制御部１１５は、ｉ＝ｉ＋１として、検出をする点を１スキャンポイント至近端側に移してＳ１５０５へと処理を進める。Ｓ１５０５で制御部１１５は、カウンタｉがスキャンを行った所定の測距範囲における至近端位置の値（＝Ｎ）になったか否かをチェックする。制御部１１５は、カウンタｉの値がＮ、すなわち単調減少を検出する開始点がスキャンを行った所定の測距範囲における至近端位置に達したならば、至近端方向への単調減少をチェックする処理を終了し、Ｓ１３０７へ処理を進める。以上のようにして、撮像装置１は、ｉ＝ｉｏから至近端方向への焦点評価値の単調減少をチェックする。
【０１２５】
図１４に戻って、合焦判定のサブルーチンの続きを説明する。合焦判定では、無限遠方向および至近端方向への単調減少をチェックする上記処理が終了したならば、得られた焦点評価値が山状になっているか否か、諸係数をそれぞれのしきい値と比較し、○×の判定を行う。具体的には、以下に説明するＳ１３０７〜Ｓ１３０９の処理により、○×の判定が行われる。
【０１２６】
Ｓ１３０７において、制御部１１５は、焦点評価値の最大値を与えるスキャンポイントｉｏがスキャンを行った所定の測距範囲における至近端であるか否かを調べる。至近端である場合は、至近端スキャンポイントｎにおける焦点評価値の値ｄ［ｎ］と、ｎより１スキャンポイント分無限遠よりのスキャンポイントｎ−１における焦点評価値の値ｄ［ｎ−１］の差が、所定値ＳｌｏｐｅＴｈｒ以上であるか否かを調べる。制御部１１５は、至近端であり、かつ所定値ＳｌｏｐｅＴｈｒ以上である場合、Ｓ１３１１へ処理を進め、その条件を満たさない場合、Ｓ１３０８へ処理を進める。
【０１２７】
Ｓ１３０８で制御部１１５は、焦点評価値の最大値を与えるスキャンポイントｉｏがスキャンを行った所定の測距範囲における遠側端であるか否かを調べる。遠側端である場合は、遠側端スキャンポイント０における焦点評価値の値ｄ［０］と、０より１スキャンポイント分至近端よりのスキャンポイント１における焦点評価値の値ｄ［１］の差が、所定値ＳｌｏｐｅＴｈｒ以上であるか否かを調べる。制御部１１５は、遠側端であり、かつ所定値ＳｌｏｐｅＴｈｒ以上である場合、Ｓ１３１１へ処理を進め、その条件を満たさない場合、Ｓ１３０９へ処理を進める。
【０１２８】
Ｓ１３０９で制御部１１５は、一定値以上の傾きで傾斜している部分の長さＬが予め設定された所定値Ｌｏ以上であるか否かを調べる。所定値Ｌｏ以上である場合は、傾斜している部分の傾斜の平均値ＳＬ／Ｌが予め設定された所定値ＳＬｏ／Ｌｏ以上であり、かつ焦点評価値の最大値と最小値の差が予め設定された所定値以上であるか否かを調べる。制御部１１５は、傾斜している部分の長さＬが所定値Ｌｏ以上、かつ傾斜している部分の傾斜の平均値ＳＬ／Ｌが所定値ＳＬｏ／Ｌｏ以上、かつ焦点評価値の最大値と最小値の差が所定値以上である場合にＳ１３１０へ処理を進める。一方、制御部１１５は、上記の条件を満たさない場合、Ｓ１３１１へ処理を進める。
【０１２９】
Ｓ１３１０で制御部１１５は、Ｓ１３０７〜Ｓ１３０９の判定条件をすべて満たしており、得られた焦点評価値が山状となっていて、被写体の焦点調節が可能であるため判定結果を○判定としている。Ｓ１３１１で制御部１１５は、Ｓ１３０７〜Ｓ１３０９の判定条件のいずれかを満たさずに、得られた焦点評価値が山状となっておらず、被写体への焦点調節が不可能であるため判定結果を×判定としている。以上のようにして、撮像装置１は、図７のフローチャートにおけるＳ７１３、及び、図８のフローチャートにおけるＳ８１１の合焦判定を行う。
【０１３０】
次に、図２のフローチャートにおけるＳ２１５の撮影動作のサブルーチンについて、図１７のフローチャートを参照しながら説明する。図１７に示すように、Ｓ１７０１で制御部１１５は、被写体輝度を測定してＳ１７０１へと処理を進める。Ｓ１７０２で制御部１１５は、Ｓ１７０１で測定した被写体輝度に応じてＡＥ処理部１０３を制御し、撮像素子１０８への露光を行ってＳ１７０３へと処理を進める。
【０１３１】
Ｓ１７０２における露光により、撮像素子１０８の撮像面に結像された被写体像は光電変換されてアナログ信号（アナログ画像データ）としてＡ／Ｄ変換部１０９へ出力される。Ｓ１７０３にて、Ａ／Ｄ変換部１０９では、撮像素子１０８からのアナログ画像データを、撮像素子１０８の出力ノイズ除去や非線形処理などの前処理の後にデジタル画像データへ変換して出力する。
【０１３２】
Ｓ１７０４で制御部１１５は、Ａ／Ｄ変換部１０９から出力されたデジタル画像データを、ＷＢ処理部１１１のホワイトバランス調整や画像処理部１１０の画像処理などにより、適正なデジタル画像データへ変換して、Ｓ１７０５へと処理を進める。Ｓ１７０５で制御部１１５は、適正に変換されたデジタル画像データをフォーマット変換部１１２でＪＰＥＧフォーマット等への画像フォーマット変換を行った後、ＤＲＡＭ１１３に一時的に記憶してＳ１７０６へと処理を進める。Ｓ１７０６で制御部１１５は、ＤＲＡＭ１１３内のデータを画像記録部１１４でメモリカードなどの記録媒体へと記憶して、撮影動作のサブルーチンを終了する。
【０１３３】
以上、説明したように、本実施形態では、被写体が距離方向に動いていないと判断した場合に、次に被写体が動いて被写体との距離が変化するまでフォーカスレンズを停止させることで、無駄なレンズ駆動を軽減させることができる。このため、ＥＶＦ表示の見栄えの低下や、電池消耗を軽減させることができる。また、本実施形態では、信頼性の低い合焦位置または誤った合焦位置が求められてしまった場合に、被写体位置予測を行わないようにすることで、被写体へ追従した合焦が不能となることを軽減できる。
【０１３４】
なお、上述した実施の形態における記述は、一例を示すものであり、これに限定するものではない。上述した実施の形態における構成及び動作に関しては、適宜変更が可能である。
【０１３５】
（他の実施形態）
上述の実施形態は、システム或は装置のコンピュータ（或いはＣＰＵ、ＭＰＵ等）によりソフトウェア的に実現することも可能である。従って、上述の実施形態をコンピュータで実現するために、該コンピュータに供給されるコンピュータプログラム自体も本発明を実現するものである。つまり、上述の実施形態の機能を実現するためのコンピュータプログラム自体も本発明の一つである。
【０１３６】
なお、上述の実施形態を実現するためのコンピュータプログラムは、コンピュータで読み取り可能であれば、どのような形態であってもよい。例えば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等で構成することができるが、これらに限るものではない。上述の実施形態を実現するためのコンピュータプログラムは、記憶媒体又は有線／無線通信によりコンピュータに供給される。プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記憶媒体、ＭＯ、ＣＤ、ＤＶＤ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【０１３７】
有線／無線通信を用いたコンピュータプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムファイル）をサーバに記憶しておく。プログラムファイルとしては、実行形式のものであっても、ソースコードであっても良い。そして、このサーバにアクセスしたクライアントコンピュータに、プログラムファイルをダウンロードすることによって供給する。この場合、プログラムファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。つまり、上述の実施形態を実現するためのプログラムファイルをクライアントコンピュータに提供するサーバ装置も本発明の一つである。
【０１３８】
また、上述の実施形態を実現するためのコンピュータプログラムを暗号化して格納した記憶媒体を配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを許可してもよい。鍵情報は、例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。また、上述の実施形態を実現するためのコンピュータプログラムは、すでにコンピュータ上で稼働するＯＳの機能を利用するものであってもよい。さらに、上述の実施形態を実現するためのコンピュータプログラムは、その一部をコンピュータに装着される拡張ボード等のファームウェアで構成してもよいし、拡張ボード等が備えるＣＰＵで実行するようにしてもよい。
【符号の説明】
【０１３９】
１  撮像装置
１０１  撮影レンズ
１０２  絞り及びシャッター
１０３  ＡＥ処理部
１０４  フォーカスレンズ
１０５  ＡＦ処理部
１０６  ストロボ
１０７  ＥＦ処理部
１０８  撮像素子
１０９  Ａ／Ｄ変換部
１１０  画像処理部
１１１  ＷＢ処理部
１１２  フォーマット変換部
１１３  ＤＲＡＭ
１１４  画像記録部
１１５  制御部
１１６  ＶＲＡＭ
１１７  操作表示部
１１８  操作部
１１９  撮影モードＳＷ
１２０  メインスイッチ
１２１  第１スイッチ
１２２  第２スイッチ
１２３  顔検出モジュール
１２４  動体検出部
１２５  角速度センサ部
【図１】
0005607701.tif 000002
【図２】
0005607701.tif 000003
【図３】
0005607701.tif 000004
【図４】
0005607701.tif 000005
【図５】
0005607701.tif 000006
【図６】
0005607701.tif 000007
【図７】
0005607701.tif 000008
【図８】
0005607701.tif 000009
【図９】
0005607701.tif 000010
【図１０】
0005607701.tif 000011
【図１１】
0005607701.tif 000012
【図１２】
0005607701.tif 000013
【図１３】
0005607701.tif 000014
【図１４】
0005607701.tif 000015
【図１５】
0005607701.tif 000016
【図１６】
0005607701.tif 000017
【図１７】
0005607701.tif 000018