(57)【要約】【課題】できるだけライブ画像の見栄えを損ねることなく、動いている被写体にピント追従し続けることを可能とする。【解決手段】電子カメラは、撮影する画角が変化する設定がなされた場合、被写体の動き検出に使用する、被写体像のサイズ及び位置の履歴を消去するとともに（ステップ３０３）、当該設定前の動き検出結果を用いる。【選択図】図３
2011039455.tif 000002
【特許請求の範囲】
【請求項１】
フォーカスレンズを介して入力される被写体像を撮像して画像データを出力する撮像手段と、
前記画像データに基づき前記フォーカスレンズの位置を制御して焦点調整を行う焦点調整手段と、
被写体像に関する情報を取得し、取得した情報の履歴に基づいて被写体像の動きを検出する動き検出手段と、
前記動き検出手段により被写体像の動きが検出されなかった場合には第１の焦点調整動作を行うように前記焦点調整手段を制御し、前記動き検出手段により被写体像の動きが検出された場合には前記第１の焦点調整動作とは異なる第２の焦点調整動作を行うように前記焦点調整手段を制御する制御手段とを有し、
前記動き検出手段は、撮影する画角が変化する設定がなされた場合、前記履歴を消去するとともに、当該設定前の動き検出結果を用いることを特徴とする自動合焦装置。
【請求項２】
前記画角が変化する設定とは、光学ズームの変更設定、電子ズームの変更設定及び撮影画像のアスペクト比の変更設定のうちの少なくとも何れか一つを含むことを特徴とする請求項１に記載の自動合焦装置。
【請求項３】
前記動き検出手段による被写体像の動き検出結果を画面上に表示させる表示制御手段を更に有し、
前記表示制御手段は、撮影する画角が変化する設定がなされた場合、当該設定前における被写体の動き検出結果を表示させ、新たに被写体像の動きが検出された際に前記画面上の表示を更新することを特徴とする請求項１又は２に記載の自動合焦装置。
【請求項４】
前記制御手段は、前記第１の焦点調整動作においては、前記フォーカスレンズを所定量駆動する毎に、前記フォーカスレンズの次回の駆動方向を決定し、前記第２の焦点調整動作においては、過去に検出した合焦位置に基づく駆動範囲内で前記フォーカスレンズを駆動することを特徴とする請求項１乃至３の何れか１項に記載の自動合焦装置。
【請求項５】
前記制御手段は、前記第２の焦点調整動作では、前記第１の焦点調整動作よりも単位時間あたりの前記フォーカスレンズの駆動量を多くすることを特徴とする請求項４に記載の自動合焦装置。
【請求項６】
前記動き検出手段は、前記被写体像に関する情報の履歴から被写体の顔の変化を判定することによって被写体像の動きを検出することを特徴とする請求項１乃至５の何れか１項に記載の自動合焦装置。
【請求項７】
前記顔の変化とは、被写体の顔の位置又は大きさの変化であることを特徴とする請求項６に記載の自動合焦装置。
【請求項８】
前記動き検出手段は、被写体の顔の位置又は大きさの変化量が所定の値以上である場合に被写体の動きを検出することを特徴とする請求項７に記載の自動合焦装置。
【請求項９】
前記制御手段は、前記画像データの輝度が所定の値以下である場合、前記第２の焦点調整動作は行わず、前記第１の焦点調整動作を行うことを特徴とする請求項１乃至８の何れか１項に記載の自動合焦装置。
【請求項１０】
被写体像に関する情報を取得し、取得した情報の履歴に基づいて被写体像の動きを検出する動き検出ステップと、
前記動き検出ステップにより被写体像の動きが検出されなかった場合には第１の焦点調整動作を行うように、撮像手段より出力される、フォーカスレンズを介して入力される被写体像の画像データに基づき前記フォーカスレンズの位置を制御して焦点調整を行う焦点調整手段を制御し、前記動き検出ステップにより被写体像の動きが検出された場合には前記第１の焦点調整動作とは異なる第２の焦点調整動作を行うように前記焦点調整手段を制御する制御ステップとを含み、
前記動き検出ステップは、撮影する画角が変化する設定がなされた場合、前記履歴を消去するとともに、当該設定前の動き検出結果を用いることを特徴とする自動合焦方法。
【請求項１１】
被写体像に関する情報を取得し、取得した情報の履歴に基づいて被写体像の動きを検出する動き検出ステップと、
前記動き検出ステップにより被写体像の動きが検出されなかった場合には第１の焦点調整動作を行うように、撮像手段より出力される、フォーカスレンズを介して入力される被写体像の画像データに基づき前記フォーカスレンズの位置を制御して焦点調整を行う焦点調整手段を制御し、前記動き検出ステップにより被写体像の動きが検出された場合には前記第１の焦点調整動作とは異なる第２の焦点調整動作を行うように前記焦点調整手段を制御する制御ステップとをコンピュータに実行させ、
前記動き検出ステップは、撮影する画角が変化する設定がなされた場合、前記履歴を消去するとともに、当該設定前の動き検出結果を用いることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォーカスレンズを介して被写体像が入力される撮像手段上の焦点調整の技術に関するものである。
【背景技術】
【０００２】
従来より、電子スチルカメラ等において、フォーカスレンズ位置を動かして被写体にピントを合わせる方法として、ＣＣＤ等の撮像素子から得られる輝度信号を用いて自動的に合焦動作を行うオートフォーカス（以下、ＡＦと称す）方式が用いられている。このＡＦ方式を用いた自動合焦装置では、各画面内に設定された測距領域内における輝度信号の高周波成分を積分したＡＦ評価値に基づいて、最もコントラストの高いフォーカスレンズ位置を検出し、合焦点を求めることが一般的に行われている。
【０００３】
このＡＦの一つの方式として、ＡＦ評価値が増加する方向にフォーカスレンズを動かし、ＡＦ評価値が最大になる位置を合焦位置とする山登り方式(以下、コンティニュアスＡＦと称す)が知られている。この方式を用いて、ＡＦ評価値が増加する方向に遅い速度でフォーカスレンズを動かすと、ライブ画像の見栄えを損なわずに被写体にピント追従させることができる。しかし、距離方向に大きく動いている状態の被写体へのピント追従性は悪い。
【０００４】
距離方向に大きく動いている状態の被写体へのピント追従性を良くするためには、フォーカスレンズの駆動速度を早くすればよい。距離方向に動いている被写体へのピント追従性を良くするためのＡＦ方式として、過去に検出した合焦点に基づいた距離範囲内で、常にフォーカスレンズを速く駆動して合焦点を求め続ける方式（以下、サーボＡＦと称す）がある。しかし、距離方向に大きく動いている状態の被写体へのピント追従性を良くしようとすると、単位時間あたりのピント変動が大きくなるため、ライブ画像の見栄えは悪くなる。
【０００５】
特許文献１では、検出した主要人物被写体の状態を検出して、検出状態に応じて撮影動作の制御を行う電子カメラが開示されている。特許文献２では、被写体の動き及び本撮影装置の動きを推測し、被写体の動きによってシャッタスピード、絞り、感度、発光条件、その他の撮影条件を設定する撮影装置が開示されている。特許文献３では、過去の検出履歴に基づいたパターン検出・認識において、入力状態の変化検出により過去の履歴をリセットする画像処理方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２８２１１９号公報
【特許文献２】特開２００６−１５７４２８号公報
【特許文献３】特開２００７−０６７５５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示される技術では、検出した主要人物である被写体の状態を検出し、検出状態に応じて撮影動作の制御を行っているが、検出した被写体の動きによってＡＦ制御を変えているわけではない。従って、動いている被写体にピント追従させることができない、又は、動いていない被写体を撮影する場合にピント変動によりライブ画像の見栄えが悪くなってしまう、という問題がある。
【０００８】
特許文献２に開示される技術では、被写体の動き及び撮影装置の動きを推測し、被写体の動きによってシャッタスピード、絞り、感度、発光条件、その他の撮影条件を設定しているが、検出した被写体の動きによってＡＦ制御を変えているわけではない。従って、動いている被写体にピント追従させることができない、又は、動いていない被写体を撮影する場合にピント変動によりライブ画像の見栄えが悪くなってしまう、という問題がある。
【０００９】
特許文献３に開示される技術では、被写体の過去の検出履歴に基づいたパターン検出・認識において、検出履歴を全てリセットすると、被写体の動きを再検出することになる。従って、ユーザからライブ画角が変わるような設定がなされる度にＡＦの制御が頻繁に切り替わることになり、見栄えが良くないという問題がある。
【００１０】
そこで、本発明の目的は、できるだけライブ画像の見栄えを損ねることなく、動いている被写体にピント追従し続けることを可能とすることにある。
【課題を解決するための手段】
【００１１】
本発明の自動合焦装置は、フォーカスレンズを介して入力される被写体像を撮像して画像データを出力する撮像手段と、前記画像データに基づき前記フォーカスレンズの位置を制御して焦点調整を行う焦点調整手段と、被写体像に関する情報を取得し、取得した情報の履歴に基づいて被写体像の動きを検出する動き検出手段と、前記動き検出手段により被写体像の動きが検出されなかった場合には第１の焦点調整動作を行うように前記焦点調整手段を制御し、前記動き検出手段により被写体像の動きが検出された場合には前記第１の焦点調整動作とは異なる第２の焦点調整動作を行うように前記焦点調整手段を制御する制御手段とを有し、前記動き検出手段は、撮影する画角が変化する設定がなされた場合、前記履歴を消去するとともに、当該設定前の動き検出結果を用いることを特徴とする。
【発明の効果】
【００１２】
本発明においては、被写体像の動きが検出されなかった場合には第１の焦点調整動作を行い、被写体像の動きが検出された場合には第１の焦点調整動作とは異なる第２の焦点調整動作を行うようにしている。従って、例えば被写体像の動きがない場合にはコンティニュアスＡＦを実行し、被写体像の動きがある場合にはサーボＡＦを実行することにより、できるだけライブ画像の見栄えを損ねることなく、動いている被写体にピント追従し続けることが可能となる。また、本発明においては、撮影する画角が変化する設定がなされた場合、被写体の動き検出に使用される、被写体像に関する情報の履歴を消去するとともに、当該設定前の動き検出結果を用いるように構成している。従って、本発明によれば、画角が変更される度にＡＦの制御が頻繁に切り替わることを回避し、ライブ画像の見栄えを損ねることがない。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る電子カメラの構成を示すブロック図である。
【図２】本発明の実施形態に係る電子カメラの動作を表すフローチャートである。
【図３】主被写体の変化判断の処理を示すフローチャートである。
【図４】顔サイズの変化判断の処理を示すフローチャートである。
【図５】顔位置の変化判断の処理を示すフローチャートである。
【図６】コンティニュアスＡＦの処理を示すフローチャートである。
【図７】サーボＡＦの処理を示すフローチャートである。
【図８】山登りＡＦの処理を示すフローチャートである。
【図９】被写体距離変化判定の処理を示すフローチャートである。
【図１０】通常ＡＦ動作を示すフローチャートである。
【図１１】サーボ中ＡＦ動作を示すフローチャートである。
【図１２】予測可能判定の処理を示すフローチャートである。
【図１３】被写体位置予測の処理を示すフローチャートである。
【図１４】被写体位置予測の処理を説明するための図である。
【図１５】スキャン処理を示すフローチャートである。
【図１６】合焦判定の処理を示すフローチャートである。
【図１７】合焦判定の処理を説明するための図である。
【発明を実施するための形態】
【００１４】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１５】
先ず、本発明の第１の実施形態について説明する。図１は、本発明の実施形態に係る電子カメラの構成を示すブロック図である。図１（ａ）は、本実施形態に係る電子カメラの全体構成を示しており、図１（ｂ）は、本実施形態に係る電子カメラが主被写体の変化判断を実行するための構成を示している。図１（ａ）において、１０１はズーム機構を含む撮影レンズである。１０２は光量を制御する絞り及びシャッタである。１０３はＡＥ処理部である。１０４は後述する撮像素子上に焦点をあわせるためのフォーカスレンズである。１０５はＡＦ処理部である。１０６はフォーカスレンズ１０４を介して入力される被写体からの反射光を電気信号に変換する撮像素子である。１０７は撮像素子１０６の出力ノイズを除去するＣＤＳ回路やＡ／Ｄ変換前に行う非線形増幅回路を含むＡ／Ｄ変換部である。１０８は画像処理部である。１０９はフォーマット変換部である。１１０は高速な内蔵メモリ(例えばランダムアクセスメモリ等、以下ＤＲＡＭと称す)である。１１１はメモリカード等の記録媒体とそのインタフェースからなる画像記録部である。１１２は撮影シーケンス等のシステムを制御するシステム制御部である。１１３は画像表示用メモリ(以下、ＶＲＡＭと称す)である。１１４は、操作補助のための表示や主被写体が動いているか否か等を示す表示、撮影時には撮影画面と測距領域の表示を行う操作表示部である。１１５は光学ズーム動作や電子ズーム動作等、カメラを外部から操作するための操作部である。１１６は顔検出モードをＯＮ又はＯＦＦに切り替える等の設定を行う撮影モードスイッチである。１１７はシステムに電源を投入するためのメインスイッチである。１１８はＡＦやＡＥ等の撮影スタンバイ動作を行うためのスイッチ(以下、ＳＷ１と称す)である。１１９はＳＷ１の操作後、撮影を行うためのスイッチ(以下、ＳＷ２と称す)である。１２０は画像処理部１０８で処理された画像信号を用いて顔検出を行い、検出した一つ又は複数の顔情報（位置・大きさ）をシステム制御部１１２に送る顔検出モジュールである。ＤＲＡＭ１１０は一時的な画像記憶手段としての高速バッファ、或いは画像の圧縮伸張における作業用メモリ等に使用される。操作部１１５には、例えば、撮像装置の撮影機能や画像再生時の設定等の各種設定を行うメニュースイッチ、撮影レンズのズーム動作を指示するズームレバー、撮影モードと再生モードの動作モード切換えスイッチ等が含まれる。なお、本実施形態に係る電子カメラは、本発明の自動合焦装置の適用例となる構成である。
【００１６】
図１（ｂ）において、１３０は入力データに対して過去の履歴を数回バッファリングし、平滑化処理するローパスフィルタのブロックである。１３１はローパスフィルタリング後のデータに対して過去の履歴を数回バッファリングし、ディレイ分前の入力との差分をとるハイパスフィルタのブロックである。
【００１７】
以下、本発明の実施形態の動作について、図２〜図１７を参照しながら詳述する。図２は、本発明の実施形態に係る電子カメラの動作を示すフローチャートである。
【００１８】
図２は、本発明の実施形態に係る電子カメラの動作を表すフローチャートである。まずメインスイッチ１１７がＯＮになると、ステップ２０１へと進む。ステップ２０１において、システム制御部１１２は、後述する図３のフローチャートに従って主被写体の変化判断を行い、ステップ２０２へと進む。ステップ２０２において、システム制御部１１２は、輝度が所定値以下か否かを判定する。輝度が所定値以下であればステップ２０７へ進み、輝度が所定値以下でなければステップ２０３へと進む。これにより、後述するサーボＡＦにおいて必要なＡＦ精度が得られない低照度条件時にサーボＡＦを行わずコンティニュアスＡＦを行うようにすることができる。ステップ２０３において、システム制御部１１２は、ステップ２０１のサブルーチンで判断した結果、主被写体が動いていると判定されたか否かを判定する。主被写体が動いていると判定された場合、ステップ２０４へと進み、そうでなければステップ２０７へと進む。ステップ２０４において、システム制御部１１２は、主被写体が動いていることを示す動きアイコンを画面上の所定位置に表示して、ステップ２０５へと進む。ステップ２０５において、システム制御部１１２は、後述する図７のフローチャートに従いサーボＡＦを行ってステップ２０９へと進む。ステップ２０７において、システム制御部１１２は、画面上の所定位置に主被写体が動いていることを示す動きアイコンが表示されていれば、非表示にしてステップ２０８へと進む。ステップ２０８において、システム制御部１１２は、後述する図６のフローチャートに従いコンティニュアスＡＦを行ってステップ２０９へと進む。なお、ステップ２０５、ステップ２０８は、本発明の焦点調整手段の処理例である。ステップ２０１は、本発明の動き検出手段の処理例である。また、ステップ２０１における主被写体（被写体像）の変化（動き）検出結果に応じてステップ２０５、ステップ２０８の処理を制御する処理は、本発明の制御手段の処理例である。さらに、コンティニュアスＡＦは、本発明の第１の焦点調整動作の適用例となる処理であり、サーボＡＦは、本発明の第２の焦点調整動作の適用例となる処理である。また、ステップ２０４、２０７は、本発明の表示制御手段の処理例である。
【００１９】
ステップ２０９において、システム制御部１１２は、スイッチＳＷ１の状態を判定する。ＯＮであればステップ２１０へと進み、ＯＮでなければステップ２０１へと進む。ステップ２１０において、システム制御部１１２は、画像処理部１０８の出力からＡＥ処理部１０３にＡＥ処理を行わせてステップ２１１へと進む。ステップ２１１において、システム制御部１１２は、合焦フラグの状態を判定する。合焦フラグがＴＲＵＥであればステップ２１３へと進み、合焦フラグがＦＡＬＳＥであればステップ２１２へと進む。ステップ２１２において、システム制御部１１２は、後述する図１０のフローチャートに従い通常ＡＦ動作を行ってステップ２１３へと進む。ステップ２１３において、システム制御部１１２は、サーボＡＦモードに設定されているか否かを判定する。サーボＡＦモードに設定されていればステップ２１４へと進み、サーボＡＦモードに設定されていなければステップ２１５へと進む。ステップ２１４において、システム制御部１１２は、後述する図７のフローチャートに従いサーボＡＦを行ってステップ２１５へと進む。ステップ２１５において、システム制御部１１２は、スイッチＳＷ１の状態を判定する。ＯＮであればステップ２１６へと進み、ＯＮでなければステップ２０１へと進む。ステップ２１６において、システム制御部１１２は、スイッチＳＷ２の状態を判定する。ＯＮであればステップ２１７へと進み、ＯＮでなければステップ２１３へと進む。ステップ２１７において、システム制御部１１２は撮影動作を行ってステップ２０１へと進む。ここで、ステップ２１７の撮影動作では、ＡＦやＡＥ等の撮影スタンバイ動作が行われた後、撮像され画像処理された画像データが電子カメラ内のメモリ、または電子カメラに装着された外部記憶媒体へと転送され記憶される。
【００２０】
以下、図２のフローチャートにおけるステップ２０１の主被写体の変化判断のサブルーチンについて、図３のフローチャートを参照しながら説明する。
【００２１】
まずステップ３０１において、顔検出モジュール１２０は顔検出したか否かを判定する。顔検出していればステップ３０２へと進み、顔検出していなければこのサブルーチンを終了し、ステップ２０２へと進む。ステップ３０２において、システム制御部１１２は、画角が変化するような設定があったか否かを判定する。画角が変化する設定とは、光学ズーム、電子ズーム、撮影画像のアスペクト比を変更するような設定である。画角が変化するような設定があった場合にはステップ３０３へと進み、そうでなければステップ３０４へと進む。このように光学ズームの変更設定、電子ズームの変更設定、撮影画像のアスペクト比の変更設定があった場合には、人物である被写体に変化がなくても顔サイズや画面内の顔位置が変化してしまう。そのため、システム制御部１１２は、ステップ３０３において、システム制御部１１２は顔サイズや顔位置の履歴を消去する。ここで消去するデータは、図１（ｂ）における各フィルタのバッファリングデータである。後述する変動フラグや動きアイコンの状態は前回の状態（設定変更前の状態）を継続したままとする。特に動きアイコンは、画角が変化する設定前の状態で表示させておき、新たに被写体の動きが検出された際にその表示を更新するものとする。ステップ３０４において、システム制御部１１２は、後述する図４のフローチャートに従い顔サイズの変化判断を行ってステップ３０５へと進む。ステップ３０５において、システム制御部１１２は、後述する図５のフローチャートに従い顔位置の変化判断を行ってステップ３０６へと進む。ステップ３０６において、システム制御部１１２は、顔サイズ変動フラグがＴＲＵＥか否かを判定する。ＴＲＵＥであればステップ３０９へと進み、そうでなければステップ３０７へと進む。ステップ３０７において、システム制御部１１２は、顔位置変動フラグがＴＲＵＥであるか否かを判定する。ＴＲＵＥであればステップ３０８へと進み、そうでなければステップ３０９へと進む。ステップ３０９において、システム制御部１１２は主被写体が動いていると判断してこのサブルーチンを終了し、ステップ２０２へと進む。一方、ステップ３０８においては、システム制御部１１２は主被写体が動いていないと判断してこのサブルーチンを終了し、ステップ２０２へと進む。
【００２２】
以下、図３のフローチャートにおけるステップ３０４の顔サイズの変化判断のサブルーチンについて、図１（ｂ）及び図４を参照しながら説明する。
【００２３】
まずステップ４０１において、システム制御部１１２は、顔検出モジュール１２０で検出された顔サイズ情報を取得してステップ４０２へ進む。ステップ４０２において、システム制御部１１２は、図１（ｂ）のローパスフィルタ１３０によって時間軸方向で顔サイズ情報のローパス処理を施し、顔検出モジュール１２０の誤差の低減を図る。図１（ｂ）ではローパスフィルタのタップ数を４としているが、このパラメータは顔検出モジュール１２０の精度によって変更できる。さらにステップ４０３において、システム制御部１１２は、図１（ｂ）のハイパスフィルタ１３１によって顔サイズ情報のハイパス処理を施し、時間軸方向での顔サイズ変化の差分を算出する。ステップ４０４ではハイパス処理後の顔サイズ変化の差分の絶対値が予め設定した変化判定の閾値以上か否かを判定する。変化判定の閾値以上であればステップ４０５へ進み、そうでなければステップ４０７へ進む。ここで変化判定の閾値は、被写体距離が変化していない時の顔検出の誤差によって変化判定してしまわないように設定する。ステップ４０５において、システム制御部１１２は、顔サイズ変動フラグをＴＲＵＥにしてステップ４０６へ進む。ステップ４０６において、システム制御部１１２は、顔サイズ安定カウンタを初期化する。
【００２４】
ステップ４０７において、システム制御部１１２は、顔サイズ安定カウンタをインクリメントする。ステップ４０８において、システム制御部１１２は、顔サイズ安定カウンタが予め設定した安定回数の閾値以上であるか否かを判定する。安定回数の閾値以上であればステップ４０９へ進み、そうでなければこのサブルーチンを終了し、ステップ３０５へ進む。ここで安定回数の閾値は、被写体距離が変化している時に誤って安定したと判定してしまわないように設定する。ステップ４０９では、顔サイズ変動フラグをＦＡＬＳＥにしてこのサブルーチンを終了し、ステップ３０５へ進む。
【００２５】
以下、図３のフローチャートにおけるステップ３０５の顔位置の変化判断のサブルーチンについて、図５のフローチャートを参照しながら説明する。
【００２６】
まずステップ５０１において、システム制御部１１２は、顔検出モジュール１２０で検出した顔位置のＸ座標、Ｙ座標の情報を取得してステップ５０２へ進む。ステップ５０２において、システム制御部１１２は、図１（ｂ）のローパスフィルタ１３０によって時間軸方向でローパス処理を施し、顔検出モジュール１２０の誤差の低減を図る。さらにシステム制御部１１２は、ステップ５０３において、図１（ｂ）のハイパスフィルタ１３１によってハイパス処理を施し、時間軸方向での顔位置変化の差分を算出する。ステップ５０４において、システム制御部１１２は、顔位置変化の差分の絶対値が予め設定した変化判定の閾値以上か否かを判定する。変化判定の閾値以上であれば、ステップ５０５へ進み、そうでなければステップ５０７へ進む。ここで変化判定の閾値は、被写体距離が変化していない時の顔検出の誤差や、手ぶれによる画面内の動きによって誤って変化判定してしまわないように設定する。ステップ５０６において、システム制御部１１２は、顔位置安定カウンタを初期化する。ステップ５０８において、システム制御部１１２は、顔位置安定カウンタが予め設定した安定回数の閾値以上か否かを判定する。安定回数の閾値以上であれば、ステップ５０９へ進み、そうでなければこのサブルーチンを終了してステップ３０６へ進む。ここで、安定回数の閾値は、被写体距離が変化している時に誤って安定したと判定してしまわないように設定する。ステップ５０８では、顔位置変動フラグをＦＡＬＳＥにしてこのサブルーチンを終了してステップ３０６へすすむ。
【００２７】
以下、図２のフローチャートにおけるステップ２０８のコンティニュアスＡＦのサブルーチンについて、図６のフローチャートを参照しながら説明する。コンティニュアスＡＦは、フォーカスレンズを所定量駆動する毎に、フォーカスレンズの次回の駆動方向を決定するＡＦ方式である。
【００２８】
まず、ステップ６０１において、顔検出モジュール１２０は顔検出したか否かを判定する。顔検出していればステップ６０２へと進み、顔検出していなければステップ６０４へと進む。ステップ６０２において、システム制御部１１２は、顔検出モジュール１２０で検出した顔位置・顔サイズ等の顔情報を取得してステップ６０３へと進む。ステップ６０３において、システム制御部１１２は、顔検出していることを示す顔検出フラグをＴＲＵＥにしてステップ６０４へと進む。ステップ６０４において、システム制御部１１２は、顔検出フラグの状態を判定する。顔検出フラグがＴＲＵＥであれば、ステップ６０５へと進み、顔検出フラグがＦＡＬＳＥであれば、ステップ６０６へと進む。ステップ６０５において、システム制御部１１２は、最新の顔検出位置にＡＦ枠を設定してステップ６０７へと進む。ここで、顔検出されているときのＡＦ枠のサイズは、所定のサイズにしてもよいし、顔検出サイズに基づいて決定してもよい。ステップ６０６において、システム制御部１１２は、中央領域等の所定位置にＡＦ枠を設定してステップ６０７へと進む。ステップ６０７において、システム制御部１１２は、ステップ６０５又はステップ６０６で設定したＡＦ枠において焦点評価値及び輝度値を取得してステップ６０８へと進む。
【００２９】
ステップ６０８において、システム制御部１１２は、後述するステップ６０９の山登りＡＦにおいてピークが検出されたことを示す、ピーク検出フラグの状態を判定する。ピーク検出フラグがＴＲＵＥであれば、ステップ６１０へと進み、ピーク検出フラグがＦＡＬＳＥであれば、ステップ６０９へと進む。ステップ６０９において、システム制御部１１２は、後述する図８のフローチャートに従い山登りＡＦを行ってステップ２０９へと進む。ステップ６１０において、システム制御部１１２は、後述する図９のフローチャートに従い被写体距離の変化判定を行って、ステップ６１１へと進む。ステップ６１１において、システム制御部１１２は、被写体距離が変化したことを示す距離変化フラグの状態を判定する。距離変化フラグがＴＲＵＥであれば、ステップ６１２へと進み、距離変化フラグがＦＡＬＳＥであれば、ステップ６１３へと進む。ステップ６１２において、システム制御部１１２は、ピーク検出フラグ及び距離変化フラグをＦＡＬＳＥにする。そしてシステム制御部１１２は、ステップ６０９の山登りＡＦのサブルーチンで用いる焦点評価値の最大値、ピーク位置、焦点評価値の増加を示す増加カウンタをリセットしてステップ６１３へと進む。ステップ６１３において、システム制御部１１２は、フォーカスレンズをそのまま停止させてステップ２０９へと進む。
【００３０】
以下、図２のフローチャートにおけるステップ２０５、ステップ２１４のサーボＡＦのサブルーチンについて、図７のフローチャートを参照しながら説明する。サーボＡＦは、過去に検出した合焦位置に基づく駆動範囲内でフォーカスレンズを駆動するＡＦ方式である。なお、サーボＡＦは、コンティニュアスＡＦよりもフォーカスレンズの駆動速度が速い（単位時間あたりのフォーカスレンズの駆動量が多い）。
【００３１】
まず、ステップ７０１において、顔検出モジュール１２０は顔検出しているか否かを判定する。顔検出していればステップ７０２へと進み、顔検出していなければステップ７０４へと進む。ステップ７０２において、システム制御部１１２は、顔検出モジュール１２０で検出した顔位置・顔サイズ等の顔情報を取得してステップ７０３へと進む。ステップ７０３において、システム制御部１１２は、顔検出していることを示す顔検出フラグをＴＲＵＥにしてステップ７０４へと進む。ステップ７０４において、システム制御部１１２は、顔検出フラグの状態を判定する。顔検出フラグがＴＲＵＥであればステップ７０５へと進み、顔検出フラグがＦＡＬＳＥであればステップ７０６へと進む。ステップ７０５において、システム制御部１１２は、最新の検出位置にＡＦ枠を設定してステップ７０７へと進む。ここで、顔検出されているときのＡＦ枠のサイズは、所定のサイズにしてもよいし、顔検出サイズに基づいて決定してもよい。ステップ７０６において、システム制御部１１２は、中央領域等の所定位置にＡＦ枠を設定してステップ７０７へと進む。ステップ７０７において、システム制御部１１２は、ステップ７０５又はステップ７０６で設定したＡＦ枠において焦点評価値及び輝度値を取得してステップ７０８へと進む。
【００３２】
ステップ７０８において、システム制御部１１２は、後述するステップ７１３の山登りＡＦにおいてピークが検出されたことを示す、ピーク検出フラグの状態を判定する。ピーク検出フラグがＴＲＵＥであればステップ７１０へと進み、ピーク検出フラグがＦＡＬＳＥであればステップ７０９へと進む。ステップ７０９において、システム制御部１１２は、後述する図８のフローチャートに従い山登りＡＦを行ってステップ７０７へと進む。ステップ７１０において、システム制御部１１２は、被写体距離が変化したことを示す距離変化フラグの状態を判定する。距離変化フラグがＴＲＵＥであればステップ７１２へと進み、距離変化フラグがＦＡＬＳＥであればステップ７１１へと進む。ステップ７１１において、システム制御部１１２は、合焦フラグがＴＲＵＥであるか否かを判定する。合焦フラグがＴＲＵＥであればステップ７１３へと進み、合焦フラグがＦＡＬＳＥであればステップ７１２へと進む。ステップ７１２において、システム制御部１１２は、後述する図１１のフローチャートに従いサーボ中ＡＦ動作を行って、ステップ２０９又はステップ２１５へと進む。ステップ７１３において、システム制御部１１２は、後述する図９のフローチャートに従い被写体距離変化判定を行ってステップ２０９又はステップ２１５へと進む。
【００３３】
以下、図６のフローチャートにおけるステップ６０９及び図７のフローチャートにおけるステップ７０９の山登りＡＦのサブルーチンについて、図８のフローチャートを参照しながら説明する。
【００３４】
まずステップ８０１において、システム制御部１１２は、フォーカスレンズ１０４の現在位置を取得してステップ８０２へと進む。ステップ８０２において、システム制御部１１２は、焦点評価値・輝度値の取得及びフォーカスレンズ１０４の現在位置の取得をカウントするための取得カウンタに１を加えてステップ８０３へと進む。この取得カウンタは、初期化動作(図示略)において予め０に設定されているものとする。ステップ８０３において、システム制御部１１２は、取得カウンタの値が１か否かを判定する。取得カウンタの値が１ならばステップ８０６へと進み、取得カウンタの値が１でなければステップ８０４へと進む。ステップ８０４において、システム制御部１１２は、「今回の焦点評価値」が「前回の評価値」よりも大きいか否かを判定する。「今回の焦点評価値」が「前回の焦点評価値」よりも大きければステップ８０５へと進み、そうでなければステップ８１２へと進む。ステップ８０５において、システム制御部１１２は、「今回の焦点評価値」が「前回の評価値」よりも大きいことを示す増加カウンタに１を加えてステップ８０６へと進む。この増加カウンタは、初期化動作(図示略)において予め０に設定されているものとする。ステップ８０６において、システム制御部１１２は、今回の焦点評価値を焦点評価値の最大値としてシステム制御部１１２に内蔵される図示しない演算メモリに記憶して、ステップ８０７へと進む。ステップ８０７において、システム制御部１１２は、フォーカスレンズ１０４の現在の位置を焦点評価値のピーク位置としてシステム制御部１１２に内蔵される図示しない演算メモリに記憶して、ステップ８０８へと進む。ステップ８０８において、システム制御部１１２は、今回の焦点評価値を前回の焦点評価値としてシステム制御部１１２に内蔵される図示しない演算メモリに記憶してステップ８０９へと進む。ステップ８０９において、システム制御部１１２は、フォーカスレンズ１０４の現在位置が測距範囲の端にあるか否かを判定する。測距範囲の端にあればステップ８１０へと進み、測距範囲の端になければステップ８１１へと進む。ステップ８１０において、システム制御部１１２は、フォーカスレンズ１０４の移動方向を反転してステップ８１１へと進む。ステップ８１１において、システム制御部１１２は、フォーカスレンズ１０４を所定量移動してステップ２０９又はステップ２１５へと進む。
【００３５】
ステップ８１２において、システム制御部１１２は、「焦点評価値の最大値−今回の焦点評価値」が所定量より大きいか否かを判定する。所定量より大きければステップ８１３へと進み、そうでなければステップ８０８へと進む。ここで、「焦点評価値の最大値−今回の焦点評価値」が所定量より大きいこと、即ち最大値から所定量減少していれば、その最大値をピントのピーク位置での値とみなす。ステップ８１３において、システム制御部１１２は、増加カウンタが０より大きいか否かを判定する。増加カウンタが０より大きければステップ８１４へと進み、そうでなければステップ８０８へと進む。ステップ８１４において、システム制御部１１２は、フォーカスレンズ１０４をステップ８０７で記憶した焦点評価値が最大値となったピーク位置へ移動させて、ステップ８１５へと進む。ステップ８１５において、システム制御部１１２は、ピーク検出フラグをＴＲＵＥにしてステップ８１６へと進む。ステップ８１６において、システム制御部１１２は、取得カウンタを０としてステップ２０９又はステップ２１５へと進む。
【００３６】
以下、図６のフローチャートにおけるステップ６１０及び図７のフローチャートにおけるステップ７１３の被写体距離変化判定のサブルーチンについて、図９のフローチャートを参照しながら説明する。
【００３７】
まずステップ９０１において、顔検出モジュール１２０は、顔検出しているか否かを判定する。顔検出していればステップ９０２へと進み、顔検出していなければステップ９０６へと進む。ステップ９０２において、システム制御部１１２は、今回検出した顔サイズが前回検出した顔サイズに対して所定割合以上変化したか否かを判定する。所定割合以上変化していればステップ９０３へと進み、所定割合以上変化していなければステップ９０６へと進む。ステップ９０３において、システム制御部１１２は、顔検出サイズ変化回数に１を加えてステップ９０４へと進む。ステップ９０４において、システム制御部１１２は、顔サイズ変化回数が閾値以上か否かを判定する。閾値以上であればステップ９０５へと進み、そうでなければステップ９０６へと進む。ステップ９０６において、システム制御部１１２は、前回取得した輝度値に対して、今回取得した輝度値が所定値以上変化したか否かを判定する。所定値以上変化していればステップ９０７へと進み、所定値以上変化していなければステップ９０９へと進む。ステップ９０７において、システム制御部１１２は、輝度値変化回数に１を加えてステップ９０８へと進む。ステップ９０８において、システム制御部１１２は、輝度値変化回数が閾値以上か否かを判定する。閾値以上であればステップ９０５へと進み、そうでなければステップ９０９へと進む。ステップ９０９において、システム制御部１１２は、前回取得した焦点評価値に対して、今回取得した焦点評価値が所定値以上変化したか否かを判定する。所定値以上変化していればステップ９１０へと進み、所定値以上変化していなければステップ９１２へと進む。ステップ９１０において、システム制御部１１２は、焦点評価値変化回数に１を加えてステップ９１１へと進む。ステップ９１１において、システム制御部１１２は、焦点評価値変化回数が閾値以上か否かを判定する。閾値以上であればステップ９０５へと進み、そうでなければステップ９１２へと進む。ステップ９１２において、システム制御部１１２は、角速度センサ部１２５で検出したカメラの動作量が所定値以上変化したか否かを判定する。所定値以上変化していればステップ９１３へと進み、そうでなければステップ９１５へと進む。ステップ９１３において、システム制御部１１２は、カメラ動作回数に１を加えてステップ９１４へと進む。ステップ９１４において、システム制御部１１２は、カメラ動作回数が閾値以上か否かを判定する。閾値以上であればステップ９０５へと進み、そうでなければステップ９１５へと進む。ステップ９１５において、システム制御部１１２は、動体検出部１２４で被写体の動作量が所定値以上であるか否かを判定する。所定値以上であればステップ９１６へと進み、そうでなければステップ９１８へと進む。ステップ９１６において、システム制御部１１２は、被写体動作回数に１を加えてステップ９１７へと進む。ステップ９１７において、システム制御部１１２は、被写体動作回数が閾値以上か否かを判定する。閾値以上であればステップ９０５へと進み、そうでなければステップ９１８へと進む。
【００３８】
ステップ９０５において、システム制御部１１２は、合焦フラグをＦＡＬＳＥにし、距離変化フラグをＴＲＵＥにして被写体距離変化判定を終了し、ステップ６１１又はステップ２０９、ステップ２１５へと進む。ステップ９１８において、システム制御部１１２は、顔検出サイズ・輝度値・焦点評価値のいずれの評価値も変化しておらず、カメラ動作量、被写体動作量が所定値以上となっていないか否かを判定する。いずれの評価値も変化しておらず、いずれの動作量も所定値以上となっていなければステップ９１９へと進む。どれかの評価値が変化している、又は、どれかの動作量が所定値以上となっていれば、被写体距離変化判定を終了してステップ６１１又はステップ２０９、ステップ２１５へと進む。ステップ９１３において、システム制御部１１２は、顔サイズ変化回数・輝度値変化回数・焦点評価値変化回数の全てを０にして被写体距離変化判定を終了し、ステップ６１１又はステップ２０９、ステップ２１５へと進む。
【００３９】
以下、図２のフローチャートにおけるステップ２１２の通常ＡＦ動作のサブルーチンについて、図１０のフローチャートを参照しながら説明する。
【００４０】
まず、ステップ１００１において、顔検出モジュール１２０は顔検出したか否かを判定する。顔検出していればステップ１００２へと進み、顔検出していなければステップ１００４へと進む。ステップ１００２において、システム制御部１１２は、顔検出モジュール１２０で検出した顔位置・顔サイズ等の顔情報を取得してステップ１００３へと進む。ステップ１００３において、システム制御部１１２は、顔検出していることを示す顔検出フラグをＴＲＵＥにしてステップ１００４へと進む。ステップ１００４において、システム制御部１１２は、顔検出フラグの状態を判定する。顔検出フラグがＴＲＵＥであればステップ１００５へと進み、顔検出フラグがＦＡＬＳＥであれば、ステップ１００６へと進む。ステップ１００５において、システム制御部１１２は、最新の顔検出位置にＡＦ枠を設定してステップ１００７へと進む。ここで、顔検出されているときのＡＦ枠のサイズは、所定のサイズにしてもよいし、顔検出サイズに基づいて決定してもよい。ステップ１００６において、システム制御部１１２は、中央領域等の所定位置にＡＦ枠を設定してステップ１００７へと進む。ステップ１００７において、システム制御部１１２は、ＡＦモードがコンティニュアスＡＦモードであるかシングルＡＦモードであるか否かを判定する。コンティニュアスＡＦモードであればステップ１００８へと進み、シングルＡＦモードであればステップ１０１０へと進む。
【００４１】
ステップ１００８において、システム制御部１１２は、ピーク検出フラグがＴＲＵＥか否かを判定する。ピーク検出フラグがＴＲＵＥであればステップ１０１１へと進み、ピーク検出フラグがＦＡＬＳＥであればステップ１０１０へと進む。ステップ１０１０において、システム制御部１１２は、スキャン範囲設定を全域に設定してステップ１０１２へと進む。ステップ１０１１において、システム制御部１１２は、スキャン範囲をフォーカスレンズ１０４の現在位置を中心とした所定範囲と設定してステップ１０１２へと進む。ステップ１０１２において、システム制御部１１２は、後述する図１５のフローチャートに従いスキャンを行って、ステップ１０１３へと進む。ステップ１０１３において、システム制御部１１２は、後述する図１６のフローチャートに従い合焦判定を行って、ステップ１０１４へと進む。
【００４２】
ステップ１０１４において、システム制御部１１２は、ステップ１０１３における合焦判定の結果が○判定か否かを判定する。○判定であればステップ１０１５へと進み、○判定でなければステップ１０１７へと進む。ステップ１０１５において、システム制御部１１２は、フォーカスレンズ１０４をステップ１０１２でのスキャンで計算したピーク位置へ移動してステップ１０１６へと進む。ステップ１０１６において、システム制御部１１２は、ピーク検出フラグ及び合焦フラグをＴＲＵＥにして、距離変化フラグをＦＡＬＳＥにして通常ＡＦ動作を終了し、ステップ１０１３へと進む。ステップ１０１７において、システム制御部１１２は、フォーカスレンズ１０４を予め設定している位置(定点)へと移動してステップ１０１８へと進む。ここで、定点は被写体の存在確率の高い距離に設定する。顔が検出されていれば、顔サイズより人物の距離を推定して算出した距離に設定してもよい。ステップ１０１８において、システム制御部１１２は、ピーク検出フラグ及び距離変化フラグをＦＡＬＳＥにして通常ＡＦ動作を終了し、ステップ２１３へと進む。
【００４３】
以下、図７のフローチャートにおけるステップ７１２のサーボ中ＡＦ動作のサブルーチンについて、図１１のフローチャートを参照しながら説明する。
【００４４】
まずステップ１１０１において、システム制御部１１２は、現在の時刻と次回のスキャンにかかる時間とから、次回のスキャンにおいてフォーカスレンズ１０４の位置がスキャン範囲の中心に位置するときの時刻を算出してPreTimeとする。そして処理はステップ１１０２へと進む。なお、上記次回のスキャンとは後述するステップ１１１０のスキャンのことである。ステップ１１０２において、システム制御部１１２は、後述する図１２のフローチャートに従い予測可能判定を行って、ステップ１１０３へと進む。
【００４５】
ステップ１１０３において、システム制御部１１２は、ステップ１１０２の予測可能判定における予測可能判定結果が○判定か否かを判定する。○判定であればステップ１１０４へと進み、○判定でなければステップ１１０５へと進む。ステップ１１０４において、システム制御部１１２は、後述する図１３のフローチャートに従い被写体位置予測を行って、ステップ１１０７へと進む。ステップ１１０５において、システム制御部１１２は、後述する過去の動体予測用のデータScanTime[0]〜ScanTime[i-1]及びHokanPeak[0]〜HokanPeak[i-1]をクリアする。そしてシステム制御部１１２は、さらに連続して予測可能判定となった回数を示すiを０にしてステップ１１０６へと進む。ステップ１１０６において、システム制御部１１２は、フォーカスレンズ１０４の現在位置をスキャン中心位置に設定して、ステップ１１０７へと進む。
【００４６】
ステップ１１０７において、システム制御部１１２は、合焦フラグがＴＲＵＥか否かを判定する。合焦フラグがＴＲＵＥであればステップ１１０８へと進み、合焦フラグがＦＡＬＳＥであればステップ１１０９へと進む。ステップ１１０８において、システム制御部１１２は、スキャン範囲を所定範囲に設定してステップ１１１０へと進む。ステップ１１０９において、システム制御部１１２は、ステップ１１０８で設定する所定範囲よりも広い範囲にスキャン範囲を設定してステップ１１１０へと進む。ステップ１１１０において、システム制御部１１２は、後述する図１５のフローチャートに従いスキャンを行って、ステップ１１１１へと進む。ステップ１１１１において、システム制御部１１２は、後述する図１６のフローチャートに従い合焦判定を行って、ステップ１１１２へと進む。
【００４７】
ステップ１１１２において、システム制御部１１２は、ステップ１１１１で判定した合焦判定結果が○判定か否かを判定する。○判定であればステップ１１１３へと進み、○判定でなければステップ１１２５へと進む。ステップ１１１３において、システム制御部１１２は、合焦フラグをＴＲＵＥにしてステップ１１１４へと進む。ステップ１１１４において、連続して合焦判定が○判定でなかった回数を示す×countを０にしてステップ１１１５へと進む。
【００４８】
ステップ１１１５において、システム制御部１１２は、ステップ１１１０におけるスキャン結果(ピーク位置)とスキャン中心位置の差が所定値より小さいか否かを判定する。所定値より小さければステップ１１１６へと進み、そうでなければステップ１１１９へと進む。ステップ１１１６において、システム制御部１１２は、連続してステップ１１１０におけるピーク位置とスキャン中心位置の差が所定値より小さくなった回数を示すStCountに１を加えてステップ１１１７へと進む。ステップ１１１７において、システム制御部１１２は、StCountが閾値以上であるか否かを判定する。閾値以上であればステップ１１１８へと進み、そうでなければステップ１１２０へと進む。ステップ１１１８において、システム制御部１１２は、被写体の距離変化がなくなったと判断して、距離変化フラグをＦＡＬＳＥにしてサーボ中ＡＦ動作を終了し、ステップ２０９又はステップ２１５へと進む。これにより、被写体距離が変化しない場合には、無駄にスキャンを繰り返すことなくフォーカスレンズを停止させることができる。
【００４９】
ステップ１１１９において、システム制御部１１２は、StCountを０にクリアしてステップ１１２０へと進む。ステップ１１２０において、システム制御部１１２は、ステップ１１１０における今回のスキャン中心位置に対する今回のピーク位置の方向と、前回のスキャン中心位置に対する前回のピーク位置の方向とが同方向であるか否かを判定する。同方向であればステップ１１２１へと進み、同方向でなければステップ１１２２へと進む。ステップ１１２１において、システム制御部１１２は、同方向移動フラグをＴＲＵＥにしてステップ１１２３へと進む。ステップ１１２２において、システム制御部１１２は、同方向移動フラグをＦＡＬＳＥにしてステップ１１２３へと進む。ステップ１１２３において、システム制御部１１２は、今回のスキャンにおいてフォーカスレンズ１０４の位置がスキャン範囲の中心に位置した時刻をScanTime[i]とする。そしてシステム制御部１１２は、今回のスキャンにおけるピーク位置をHokanPeak[i]としてステップ１１２４へと進む。ステップ１１２４において、システム制御部１１２は、ｉに１を加えてサーボＡＦ動作を終了し、ステップ２０９またはステップ２１５へと進む。ステップ１１２５において、システム制御部１１２は、合焦フラグをＦＡＬＳＥにしてステップ１１２６へと進む。ステップ１１２６において、システム制御部１１２は、×Countに１を加えてステップ１１２７へと進む。ステップ１１２７において、システム制御部１１２は、×Countが所定値よりも大きいか否かを判定する。所定値より大きければステップ１１２８へと進み、そうでなければサーボＡＦ動作を終了し、ステップ２０９又はステップ２１５へと進む。ステップ１１２８において、システム制御部１１２は、ピーク検出フラグ及び距離変化フラグをＦＡＬＳＥにしてサーボＡＦ動作を終了し、ステップ２０９又はステップ２１５へと進む。
【００５０】
以下、図１１のフローチャートにおけるステップ１１０２の予測可能判定のサブルーチンについて、図１２のフローチャートを参照しながら説明する。
【００５１】
まずステップ１２０１において、システム制御部１１２は、ｉ＝０か否かを判定する。０であればステップ１２０５へと進み、そうでなければステップ１２０２へと進む。ステップ１２０２において、システム制御部１１２は、PreTimeとScanTime[i-1]との差が所定時間よりも短いか否かを判定する。所定時間よりも短ければステップ１２０３へと進み、そうでなければステップ１２０５へと進む。これより、前回のスキャンから今回のスキャンまでの間の時間が分かり、前回のスキャン結果を使用した予測の信頼性があるのか否かを判断することができる。ステップ１２０３において、システム制御部１１２は、同方向移動フラグがＴＲＵＥか否かを判定する。同方向移動フラグがＴＲＵＥであればステップ１２０４へと進み、同方向移動フラグがＦＡＬＳＥであればステップ１２０５へと進む。これにより、被写体が距離方向で同方向に移動していると判断したときにのみ予測を行うことで、誤測距の結果を使用することによる誤った予測を低減することができる。ステップ１２０４において、システム制御部１１２は、予測可能判定の結果を○判定として、予測可能判定フローを終了し、ステップ１１０３へと進む。ステップ１２０５において、システム制御部１１２は、予測可能判定の結果を×判定として、予測可能判定フローを終了し、ステップ１１０３へと進む。
【００５２】
以下、図１１のフローチャートにおけるステップ１１０４の被写体位置予測のサブルーチンについて、図１３及び図１４を参照しながら説明する。
【００５３】
まずステップ１３０１において、システム制御部１１２は、ｉが２より小さいか否かを判定する。ｉが２より小さければステップ１３０２へと進み、そうでなければステップ１３０３へと進む。ステップ１３０２において、システム制御部１１２は、スキャン中心位置を前回のスキャンのピーク位置に設定して被写体位置予測フローを終了し、ステップ１１０７へと進む。ステップ１３０３において、システム制御部１１２は、ｉ＝２であるか否かを判定する。ｉ＝２であればステップ１３０４へと進み、ｉが２より大きければステップ１３０６へと進む。ステップ１３０４において、システム制御部１１２は、図１４（ａ）に示すように下記の動体予測式（１）を使って、(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をスキャン中心位置に設定して被写体位置予測フローを終了し、ステップ１１０７へと進む。
【００５６】
以下、図１０のフローチャートにおけるステップ１０１２及び図１１のフローチャートにおけるステップ１１１０のスキャンのサブルーチンを、図１５のフローチャートを参照しながら説明する。
【００５７】
まずステップ１５０１において、システム制御部１１２は、フォーカスレンズ１０４をスキャン開始位置に移動する。スキャン開始位置は設定されたスキャン範囲の一端に設定される。ステップ１５０２において、システム制御部１１２は、撮影画面内に設定される測距領域の焦点評価値とフォーカスレンズ１０４の位置をシステム制御部１１２に内蔵される図示しない演算メモリに記憶する。ステップ１５０３において、システム制御部１１２は、レンズ位置がスキャン終了位置にあるか否かを判定する。終了位置であればステップ１５０５へ、そうでなければステップ１５０４へ進む。スキャン終了位置は、設定されたスキャン範囲の他端に設定される。ステップ１５０４において、システム制御部１１２は、フォーカスレンズ１０４を駆動して所定の方向へ所定量動かしてステップ１５０２へと進む。ステップ１５０５において、システム制御部１１２は、ステップ１５０２で記憶した焦点評価値とそのレンズ位置から、焦点評価値のピーク位置を計算する。
【００５８】
以下、図１０のフローチャートにおけるステップ１０１３及び図１１のフローチャートにおけるステップ１１１１の合焦判定のサブルーチンを、図１６〜図１７を参照しながら説明する。
【００５９】
焦点評価値は遠近競合等の特殊な場合を除けば、横軸にフォーカスレンズ位置、縦軸に焦点評価値をとるとその形は図１７に示すような山状になる。そこで焦点評価値が山状になっているか否かを、焦点評価値の最大値と最小値の差、一定値（ＳｌｏｐｅＴｈｒ）以上の傾きで傾斜している部分の長さ、傾斜している部分の勾配から判断する。これにより、合焦判定を行うことができる。合焦判定における判定結果は、以下に示すように○×で出力される。
○：焦点評価値のピーク位置から、被写体の焦点調節が可能である。
×：被写体のコントラストが不十分、もしくはスキャンした距離範囲外の距離に被写体が位置する。
ここで図１７に示すように、山の頂上（Ａ点）から傾斜が続いていると認められる点をＤ点、Ｅ点とし、Ｄ点とＥ点の幅を山の幅Ｌ、Ａ点とＤ点の焦点評価値の差ＳＬ１とＡ点とＥ点の焦点評価値の差ＳＬ２の和ＳＬ１＋ＳＬ２をＳＬとする。
【００６０】
図１６は、図１０のフローチャートにおけるステップ１０１３及び図１１のフローチャートにおけるステップ１１１１の合焦判定のサブルーチンのフローチャートである。
【００６１】
まずステップ１６０１において、システム制御部１１２は、焦点評価値の最大値と最小値、及び最大値を与えるスキャンポイントｉｏを求めてステップ１６０２へと進む。次にステップ１６０２において、システム制御部１１２は、焦点評価値の山の幅を表す変数Ｌ、山の勾配を表す変数ＳＬをともに零に初期化してステップ１６０３へと進む。ステップ１６０３において、システム制御部１１２は、最大値を与えるスキャンポイントｉｏがスキャンを行った所定範囲における遠側端の位置か否かを判定する。遠側端位置でないならばステップ１６０４へ進み、システム制御部１１２は無限遠方向への単調減少を調べる。遠側端位置であったならば、この処理をスキップしステップ１６０５に進む。ステップ１６０５において、システム制御部１１２は、最大値を与えるスキャンポイントｉｏがスキャンを行った所定範囲における至近端の位置か否かを判定する。至近端位置でないならばステップ１６０６へ進み、システム制御部１１２は至近端方向への単調減少を調べる。至近端位置であったならば、システム制御部１１２はこの処理をスキップしステップ１６０７に進む。
【００６２】
無限遠方向および至近端方向への単調減少をチェックする処理が終了したならば、システム制御部１１２は、得られた焦点評価値が山状になっているか否か、諸係数をそれぞれのしきい値と比較し、○×の判定を行う。ステップ１６０７において、システム制御部１１２は、焦点評価値の最大値を与えるスキャンポイントｉｏがスキャンを行った所定範囲における至近端であり、かつ至近端スキャンポイントｎにおける焦点評価値の値ｄ［ｎ］と、ｎより１スキャンポイント分無限遠よりのスキャンポイントｎ−１における焦点評価値の値ｄ［ｎ−１］との差が所定値ＳｌｏｐｅＴｈｒ以上であればステップ１６１１へ進み、そうでなければステップ１６０８へ進む。ステップ１６０８において、システム制御部１１２は、焦点評価値の最大値を与えるスキャンポイントｉｏがスキャンを行った所定範囲における遠側端であり、かつ遠側端スキャンポイント０における焦点評価値の値ｄ［０］と、０より１スキャンポイント分至近端よりのスキャンポイント１における焦点評価値の値ｄ［１］との差が所定値ＳｌｏｐｅＴｈｒ以上であればステップ１６１１へ進み、そうでなければステップ１６０９へ進む。
【００６３】
ステップ１６０９において、システム制御部１１２は、一定値以上の傾きで傾斜している部分の長さＬが所定値Ｌｏ以上であり、かつ傾斜している部分の傾斜の平均値ＳＬ／Ｌが所定値ＳＬｏ／Ｌｏ以上であり、かつ焦点評価値の最大値と最小値の差が所定値以上であるか否かを判定する。この判定において真と判定されれば、ステップ１３１０へ進み、偽と判定されればステップ１６１１へ進む。ステップ１６１０において、得られた焦点評価値が山状となっていて、被写体の焦点調節が可能であるため判定結果を○としている。ステップ１６１１において、得られた焦点評価値が山状となっておらず、被写体の焦点調節が不可能であるため判定結果を×としている。以上のようにして、図１０のフローチャートにおけるステップ１０１３及び図１１のフローチャートにおけるステップ１１１１の合焦判定を行う。
【００６４】
上述した実施形態においては、被写体像の動きが検出されなかった場合にはコンティニュアスＡＦを行い、被写体像の動きが検出された場合にはサーボＡＦを行うようにしている。従って、できるだけライブ画像の見栄えを損ねることなく、動いている被写体にピント追従し続けることが可能となる。また、撮影する画角が変化する設定がなされた場合、被写体の動き検出に使用される、被写体の位置及びサイズの履歴を消去するとともに、当該設定前の動き検出結果（変動フラグ）を用いるように構成している。従って、画角が変更される度にＡＦの制御が頻繁に切り替わることを回避し、ライブ画像の見栄えを損ねることがない。
【００６５】
上述した実施形態においては、できるだけライブ画像の見栄えを損ねることなく動いている被写体にピント追従し続けることが可能となる。以上、本発明を適用した好適な実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【００６６】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６７】
１０１：撮影レンズ、１０２：絞り及びシャッタ、１０３：ＡＥ処理部、１０４：フォーカスレンズ、１０５：ＡＦ処理部、１０６：撮像素子、１０７：Ａ／Ｄ変換部、１０８：画像処理部、１０９：フォーマット変換部、１１０：ＤＲＡＭ、１１１：画像記録部、１１２：システム制御部、１１３：ＶＲＡＭ、１１４：操作表示部、１１５：操作部、１１６：撮影モードＳＷ、１１７：メインＳＷ、１１８：ＳＷ１、１１９：ＳＷ２、１２０：顔検出モジュール、１３０：ローパスフィルタ、１３１：ハイパスフィルタ
【図１】
2011039455.tif 000003
【図２】
2011039455.tif 000004
【図３】
2011039455.tif 000005
【図４】
2011039455.tif 000006
【図５】
2011039455.tif 000007
【図６】
2011039455.tif 000008
【図７】
2011039455.tif 000009
【図８】
2011039455.tif 000010
【図９】
2011039455.tif 000011
【図１０】
2011039455.tif 000012
【図１１】
2011039455.tif 000013
【図１２】
2011039455.tif 000014
【図１３】
2011039455.tif 000015
【図１４】
2011039455.tif 000016
【図１５】
2011039455.tif 000017
【図１６】
2011039455.tif 000018
【図１７】
2011039455.tif 000019