(57)【要約】【課題】  距離情報の精度を向上させることにより、距離情報に基づく画像処理や撮影処理を適切に実施可能とする。【解決手段】  ＡＦスキャンにより得られる焦点評価値に基づいて、撮影シーンに含まれる被写体距離の分布を求める際に、焦点検出領域ごとに、焦点評価値がピークとなるフォーカスレンズ位置を検出したのち、検出した前記焦点評価値がピークとなるフォーカスレンズ位置を焦点検出領域の位置に応じて補正してから被写体距離の分布を求める。【選択図】  図３
2014126858.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置であって、
設定された焦点検出領域の合焦位置を、撮影画像から得られる焦点評価値に基づいて検出するＡＦスキャンを実行する焦点検出手段と、
前記ＡＦスキャンにより得られる前記焦点評価値に基づいて、撮影シーンに含まれる被写体距離の分布を求める距離検出手段と、
前記距離検出手段によって求められた前記被写体距離の分布に基づいて、前記撮像装置の動作を制御する制御手段と、を有し、
前記距離検出手段は、前記焦点検出領域ごとに、前記焦点評価値がピークとなるフォーカスレンズ位置を検出したのち、検出した前記焦点評価値がピークとなるフォーカスレンズ位置を焦点検出領域の位置に応じて補正して、前記被写体距離の分布を求めることを特徴とする撮像装置。
【請求項２】
前記距離検出手段は、前記撮像装置が有する撮像素子の中央と周辺とで生じる前記焦点評価値がピークとなるフォーカスレンズ位置のずれを補正することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記距離検出手段は、複数の被写体距離について予め保存した、前記焦点評価値がピークとなるフォーカスレンズ位置のずれを求めるための情報を用いて前記フォーカスレンズ位置のずれを補正することを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記距離検出手段は、撮影レンズの複数のズームポジションと、複数の被写体距離との組み合わせについて予め保存した、前記焦点評価値がピークとなるフォーカスレンズ位置のずれを求めるための情報を用いて前記焦点評価値がピークとなるフォーカスレンズ位置のずれを補正することを特徴とする請求項２に記載の撮像装置。
【請求項５】
前記焦点評価値がピークとなるフォーカスレンズ位置のずれを求めるための情報が、前記撮像装置の個体ごとに実測された値に基づくものであることを特徴とする請求項３または請求項４に記載の撮像装置。
【請求項６】
前記制御手段は、前記撮影シーンに含まれる被写体距離の分布が予め定めた範囲内であれば、前記撮影シーンを等距離シーンと判定することを特徴とする請求項１から請求項５のいずれか１項に記載の撮像装置。
【請求項７】
前記制御手段は、前記被写体距離の分布に応じて、距離が異なる被写体領域を撮影画像から検出し、前記被写体領域に対し、距離に応じた画像処理を適用することを特徴とする請求項１から請求項５のいずれか１項に記載の撮像装置。
【請求項８】
設定された焦点検出領域の合焦位置を、撮影画像から得られる焦点評価値に基づいて検出するＡＦスキャンを実行する焦点検出手段を有する撮像装置の制御方法であって、
距離検出手段が、前記ＡＦスキャンにより得られる前記焦点評価値に基づいて、撮影シーンに含まれる被写体距離の分布を求める距離検出工程と、
制御手段が、前記距離検出工程によって求められた前記被写体距離の分布に基づいて、前記撮像装置の動作を制御する制御工程と、を有し、
前記距離検出工程において前記距離検出手段は、前記焦点検出領域ごとに、前記焦点評価値がピークとなるフォーカスレンズ位置を検出したのち、検出した前記焦点評価値がピークとなるフォーカスレンズ位置を焦点検出領域の位置に応じて補正して、前記被写体距離の分布を求めることを特徴とする撮像装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は撮像装置およびその制御方法に関する。
【背景技術】
【０００２】
従来、電子スチルカメラやビデオカメラなどでは、ＣＣＤ（電荷結合素子）などを用いた撮像素子から得られる輝度信号の高域周波数成分が最大となるフォーカスレンズ位置を合焦位置とする自動焦点調節（オートフォーカスまたはＡＦ）方式が用いられている。この方式はコントラスト検出方式とも呼ばれる。
【０００３】
合焦位置を探索（スキャン）する際には、焦点検出範囲（例えば至近端から無限遠）でフォーカスレンズを駆動しながら撮影を行う。そして、撮像素子から得られる輝度信号の高域周波数成分に基づく評価値（焦点評価値とも記す）を求め、フォーカスレンズの位置と対応付けて記憶していく。
【０００４】
焦点評価値は画像全体ではなく、画面の中央付近や被写体検出領域付近に設定された焦点検出領域（以下、ＡＦ枠と記す）について求める。そして、ＡＦ枠における焦点評価値の最大値に対応するフォーカスレンズ位置（以下、ピーク位置とも記す）を合焦位置として決定する。
【０００５】
こうして得られるＡＦ時の合焦結果を、撮影時の合焦位置決定のために使用するだけではなく、複数のＡＦ枠を設定して画面内の距離の分布を取得して撮影時処理や画像処理時の判断に使用する場合がある。
【０００６】
特許文献１には、各被写体の距離情報を取得し、前景側に位置する被写体が存在する領域と、背景側に位置する被写体が存在する領域に画像を分割し、分割領域ごとにシーン判定ならびにシーン判定結果に基づく画像処理を行うことが開示されている。また、フォーカスレンズを移動させながら取得した画像の高域周波数成分に基づいて撮影画面内に含まれる被写体の距離情報（距離画像）を生成することが開示されている。
【０００７】
また、特許文献２には、複数のＡＦ枠のそれぞれで被写体までの距離を測定し、被写体距離が予め定めたフォーカスブラケットの開始条件に該当する場合に、満たされる条件に対応づけられた撮影動作を実行することが開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１２−４７１６号公報
【特許文献２】特開２００６−１６２７２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
撮影光学系が設計上持つ光学特性や、製造上の誤差により、像面湾曲や像面倒れが発生し、光学像面が理想的な傾きのない平面ではなくなるため、像高に応じた誤差がピーク位置に発生する。そのため、同じ距離に存在する被写体に対する焦点評価値のピーク位置が一致しなかったり、異なる距離の被写体に対する焦点評価値のピーク位置が等しくなってしまうといったことが起こりうる。
【００１０】
その結果、実際には距離に差のない平面被写体について、実際には距離による領域分割ができないにも関わらず、取得した被写体距離のばらつきによって誤った領域分割をしてしまったり、異なる被写体を同じ被写体と見なしてしまったりする可能性がある。
【００１１】
しかしながら、特許文献１、２では、光学像面の傾きによるピーク位置のずれについて何ら考慮していない。
【００１２】
本発明は、距離情報の精度を向上させることにより、距離情報に基づく画像処理や撮影処理を適切に実施可能とすることを目的とする。
【課題を解決するための手段】
【００１３】
上述の目的は、撮像装置であって、設定された焦点検出領域の合焦位置を、撮影画像から得られる焦点評価値に基づいて検出するＡＦスキャンを実行する焦点検出手段と、ＡＦスキャンにより得られる焦点評価値に基づいて、撮影シーンに含まれる被写体距離の分布を求める距離検出手段と、距離検出手段によって求められた被写体距離の分布に基づいて、撮像装置の動作を制御する制御手段と、を有し、距離検出手段は、焦点検出領域ごとに、焦点評価値がピークとなるフォーカスレンズ位置を検出したのち、検出した前記焦点評価値がピークとなるフォーカスレンズ位置を焦点検出領域の位置に応じて補正して、被写体距離の分布を求めることを特徴とする撮像装置によって達成される。
【発明の効果】
【００１４】
このような構成により本発明によれば距離情報の精度を向上させることができ、距離情報に基づく画像処理や撮影処理の適切な実施が可能となる。
【図面の簡単な説明】
【００１５】
【図１】実施形態に係る撮像装置の一例であるデジタルスチルカメラの機能的な構成例を示すブロック図
【図２】実施形態のデジタルカメラの全体的な動作について説明するフローチャート
【図３】実施形態のＡＦスキャン処理を説明するフローチャート
【図４】実施形態のＡＦスキャン処理におけるＡＦ枠設定例を示す図
【図５】実施形態のゾーンＡＦスキャン処理を説明するフローチャート
【図６】実施形態のゾーン更新判定処理を説明するフローチャート
【図７】実施形態のゾーン更新判定処理の例を説明する図
【図８】実施形態における被写体検出時のＡＦ枠選択処理を説明するフローチャート
【図９】実施形態における被写体未検出時のＡＦ枠選択処理を説明するフローチャート
【図１０】実施形態における被写体未検出時のＡＦ枠選択の例を説明するための模式図
【図１１】実施形態の等距離判定処理を説明するフローチャート
【図１２】実施形態のコンティニュアスＡＦ動作を説明するフローチャート
【図１３】実施形態のブラケット判定処理を説明するフローチャート
【図１４】実施形態の本露光用ＡＦ動作を説明するフローチャート
【図１５】（ａ）は本露光用ＡＦ動作におけるＡＦ枠設定例を示す図、（ｂ）は各ＡＦ枠で得られたピーク位置を模式的に示す図
【図１６】実施形態の撮影処理を説明するフローチャート
【図１７】実施形態の距離マップ取得用スキャン実施時における合焦枠表示の例を示す図
【図１８】実施形態のシーン不安定判定の動作を説明するフローチャート
【図１９】実施形態のシーン変化フラグ設定処理を説明するフローチャート
【図２０】実施形態の前回参照判定の動作を説明するフローチャート
【図２１】実施形態の像面値補正動作を説明するフローチャート
【図２２】実施形態の像面値補正量算出式の係数の補間方法の例を示す図
【図２３】実施形態の像面値補正量算出式で用いるＡＦ枠の座標の例を示す図
【図２４】実施形態における、補正量算出式の係数を製造時に算出して記憶する動作を説明するフローチャート
【図２５】実施形態における、補正量算出式の係数を製造時に算出して記憶する際の測定点の配置例を示す図
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら本発明の例示的な実施形態について詳細に説明するが、本発明は実施形態で説明する具体的な構成に限定されない。
＜デジタルカメラのブロック図＞
図１は本発明の実施形態に係る撮像装置の一例であるデジタル（スチル）カメラの構成を示すブロック図である。
撮影レンズ１０１は例えばズーム機構を含む。ＡＥ処理部１０３は、被写体の輝度を測定し、露出条件（シャッタースピード、絞り値、撮影感度など）を決定する。フォーカスレンズ１０４はＡＦ処理部１０５の制御により光軸方向に移動可能であり、撮影レンズ１０１が撮像素子１０８の撮像面に合焦する被写体距離を調節する。ＡＦ処理部１０５は、撮影レンズ１０１のズーム機構の駆動も行う。
【００１７】
撮像素子１０８はＣＣＤイメージセンサやＣＭＯＳイメージセンサなどの光電変換素子であり、撮影レンズ１０１およびフォーカスレンズ１０４によって撮像面に結像された被写体からの反射光である被写体像を画素ごとに電気信号に変換する。Ａ／Ｄ変換部１０９は、撮像素子１０８の出力信号をデジタル信号に変換する。なお、Ａ／Ｄ変換部１０９には、信号ノイズを除去するＣＤＳ回路やＡ／Ｄ変換前に行う非線形増幅回路も含まれている。画像処理部１１０はＡ／Ｄ変換されたデジタル画像信号に対し、色補間処理、ガンマ変換処理、リサイズ処理、符号化処理など、さまざまな画像処理を適用する。また、画像処理部１１０は、画像記録部１１４から読み出された符号化画像データの復号なども行う。
【００１８】
フォーマット変換部１１２は、ＲＧＢ形式からＹＵＶ形式への変換など、信号形式の変換を行う。ＤＲＡＭ１１３は内蔵メモリであり、一時的な画像記憶手段としての高速バッファとして、あるいは画像の圧縮伸張における作業用メモリなどに使用される。画像記録部１１４は半導体メモリカードなどの記録媒体と、記録媒体に読み書きするためのインターフェースを有する。
【００１９】
システム制御部１１５は、例えばＣＰＵやＭＰＵのようなプログラマブルプロセッサであり、ＲＯＭなどの不揮発性記憶装置に予め記憶されたプログラムを実行して各部を制御することにより、後述するＡＦ処理を含む、デジタルカメラの動作を実現する。ＶＲＡＭ１１６は表示用メモリであり、表示部１１７はＶＲＡＭ１１６に記憶された表示用データを表示する。表示部１１７は例えば液晶ディスプレイや有機ＥＬディスプレイのようなフラットパネルディスプレイであってよい。表示部１１７は、撮像素子１０８で撮影された画像や、画像記録部１１４から読み出された画像のほか、ユーザ操作を補助する表示、カメラ状態の表示、撮影時には撮影画面と焦点検出領域を示すマークなどを表示する。
【００２０】
操作部１１８はデジタルカメラにユーザが指示や設定を与える入力デバイス群の総称である。例えば、シャッターボタン、撮影機能や画像再生時の設定などの各種設定を行うためのボタン（メニューボタン、方向ボタン、決定ボタンなど）、撮影レンズ１０１のズーム動作を指示するズームレバー、撮影モードと再生モードの切換えスイッチなどが含まれる。また操作部１１８には、表示部１１７に設けられたタッチパネルや、音声認識や視線検出のような技術を用いたボタンやスイッチを用いない入力デバイスが含まれてもよい。
【００２１】
スイッチ１２１（以下ＳＷ１と記す）は、自動焦点調節（ＡＦ）処理や自動露出制御（ＡＥ）等の撮影スタンバイ動作の開始を指示するスイッチである。スイッチ１２２（以下ＳＷ２と記す）は、記録用の撮影を指示するスイッチである。本実施形態において、ＳＷ２はＳＷ１がＯＮの状態でＯＮする。例えば、ＳＷ１はシャッターボタンの半押しでＯＮし、ＳＷ２はシャッターボタンの全押しでＯＮする。
【００２２】
被写体検出部１２３は画像処理部１１０で処理された画像信号を用いて予め定められた特徴を有する被写体の領域を検出する。代表的な被写体は人物の顔であるが、画像信号から検出可能な任意の被写体であってよい。被写体検出の方法に特に制限は無く、パターンマッチング利用した方法など、公知の方法を適宜用いることができる。被写体検出部１２３は、検出結果として、個々の被写体領域の情報（位置・大きさ・信頼度など）をシステム制御部１１５に出力する。
【００２３】
動体検出部１２４は、画面内の被写体及び背景が動いているかどうかを検出し、検出結果（動体情報）をシステム制御部１１５に出力する。動体検出部１２４は例えば、異なる時間に撮影された複数の画像の差分情報から、被写体や背景の動体情報（動体領域の位置、範囲、移動の量および方向）を検出する。角速度センサ１２５はデジタルカメラ自体の動きを検出し、カメラ動き情報をシステム制御部１１５に出力する。
【００２４】
＜デジタルカメラの動作＞ 
次に、図２のフローチャートを参照して本実施形態のデジタルカメラの全体的な動作について説明する。
まずＳ２０１でシステム制御部１１５はシステム制御部１１５が、撮影準備を指示するＳＷ１の状態（ＯＮ／ＯＦＦ）を判定し、ＳＷ１がＯＮ（オン）状態ならばＳ２０８へ、ＯＦＦ（オフ）状態の場合にはＳ２０２へ処理を進める。
Ｓ２０２でシステム制御部１１５は撮影シーンが安定した状態かどうかを判定する（シーン安定判定）。ここで、撮影シーンが安定した状態とは、撮影する被写体の動きや、デジタルカメラの状態（姿勢）の変化が閾値未満に維持された状態であり、撮影に適した状態である。たとえば、角速度センサ１２５で検出したデジタルカメラの動き量や、ＡＥ処理部１０３で検出した被写体輝度の変化の量に基づいて、システム制御部１１５は撮影シーンが安定した状態かどうかを判定することができる。
【００２５】
Ｓ２０３でシステム制御部１１５は、Ｓ２０２において撮影シーンが安定した状態と判定したかどうかを調べ、安定した状態と判定していればＳ２０４へ、安定した状態と判断していなければＳ２０１へ戻る。
【００２６】
Ｓ２０４で距離検出手段としてのシステム制御部１１５は、後述する手順に従ってＡＦスキャン処理を行い、撮影シーンに含まれる被写体の焦点検出および距離情報の検出を行う。次いでＳ２０５でシステム制御部１１５は、後述する手順に従ってコンティニュアスＡＦ処理を行う。
【００２７】
Ｓ２０６でシーン変化検出手段としてのシステム制御部１１５は撮影シーンが不安定な状態かどうか判定する（シーン不安定判定）。ここで、撮影シーンが不安定な状態とは、撮影する被写体の状態、デジタルカメラの状態が不安定となり、撮影に適していない状態である。たとえば、角速度センサ１２５で検出したデジタルカメラの動き量や、ＡＥ処理部１０３で検出した被写体輝度の変化の量に基づいて、システム制御部１１５は撮影シーンが不安定な状態かどうかを判定することができる。詳細は図１８を用いて後述する。
【００２８】
Ｓ２０７でシステム制御部１１５は、Ｓ２０６において撮影シーンが不安定な状態と判定したかどうかを調べ、不安定な状態と判定していればＳ２０１へ、不安定な状態と判定していなければＳ２０５へ処理を進める。
【００２９】
Ｓ２０１でＳＷ１がオンの場合、Ｓ２０８でシステム制御部１１５は、後述する手順に従って、記録用画像の撮影時に実行する最適な制御（ＡＦブラケット、ＡＥブラケット、連写）を判定する（ブラケット判定）。
Ｓ２０９でシステム制御部１１５は、ＡＥ処理部１０３を用いて本露光（記録用画像の撮影）用のＡＥ（自動露出制御）処理を行う。
Ｓ２１０でシステム制御部１１５は、後述する手順に従って本露光用のＡＦ（自動焦点検出または自動焦点調節）処理を行う。
【００３０】
Ｓ２１１でシステム制御部１１５はＳＷ２の状態（ＯＮ／ＯＦＦ）を判定し、ＯＮならばＳ２１２へ進むが、ＯＦＦ状態の場合にはＳ２１１で待機する。
Ｓ２１２でシステム制御部１１５は後述する手順に従って撮影処理を行う。
【００３１】
＜ＡＦスキャン＞
図３は図２のＳ２０４で実行するＡＦスキャン処理を説明するフローチャートである。ここでは、撮影シーンが距離に差のある被写体を含んでいるかどうかの判定（以下、等距離判定という）を行うための距離情報の取得と、合焦位置を探索するためのＡＦスキャン処理を行う。
【００３２】
まずＳ３０１でシステム制御部１１５は、画面内に垂直方向Ｎ×水平方向Ｍ個の焦点検出領域（ＡＦ枠）を設定する。図４に、Ｎ＝７、Ｍ＝９とした場合のＡＦ枠設定例を示す。なお、ＡＦ枠の設定範囲は図４に示すものに限定されない。例えば、被写体検出部１２３が検出した被写体領域を考慮して設定してもよい。
【００３３】
Ｓ３０２でシステム制御部１１５は、前回判定時から撮影シーンがあまり変化していないかどうかを判定する（前回参照判定）。システム制御部１１５は、前回判定時から撮影シーンがあまり変化していないと判定される場合にはＴＵＲＥ、そうでない場合にはＦＡＵＳＥを判定結果として得る。また、システム制御部１１５は、前回参照判定処理の結果に応じたＡＦスキャン範囲を設定する。前回参照判定の詳細については図２０を用いて後述する。
【００３４】
Ｓ３０３でシステム制御部１１５は、Ｓ３０２における前回参照判定の判定結果がＴＲＵＥの場合はＳ３０４へ、ＦＡＬＳＥの場合はＳ３０７へ処理を進める。Ｓ３０４でシステム制御部１１５はスキャン可能範囲の全域ではなく、前回参照判定で設定された特定の測距範囲内をスキャンする前回参照ＡＦスキャンを行う。
【００３５】
Ｓ３０５でシステム制御部１１５は、図１１を用いて後述する手順に従って等距離判定を行う。等距離判定は、各ＡＦ枠のピーク位置の分布から、画面内の被写体に距離差がないと見なせる等距離シーンであるかどうかを判定する処理である。等距離判定の結果は、（１）等距離判定を実施でき、等距離シーンと判定された、（２）等距離判定を実施できたが、等距離シーンと判定されなかった、（３）等距離判定を実施できなかった、のいずれかである。
【００３６】
Ｓ３０６でシステム制御部１１５は、Ｓ３０４の前回参照ＡＦスキャンにおいて合焦位置を検出でき、かつＳ３０５で等距離判定が実施できたと判定された場合はＳ３０９へ、そうでなければＳ３０７へ処理を進める。
【００３７】
Ｓ３０７でシステム制御部１１５は、後述する手順に従ってゾーンＡＦスキャンを行う。ゾーンＡＦスキャンは、至近端から無限遠までの範囲を複数の範囲（ゾーン）に分割した際に、ゾーン単位でＡＦスキャンを行う処理である。
【００３８】
Ｓ３０８でシステム制御部１１５は、Ｓ３０５と同様の等距離判定を行う。
Ｓ３０９でシステム制御部１１５は、Ｓ３０５またはＳ３０８の等距離判定において等距離シーンと判定された場合はＳ３１０で等距離判定フラグをＴＲＵＥに設定し、そうでなければＳ３１１で等距離判定フラグをＦＡＬＳＥに設定する。
【００３９】
Ｓ３１２でシステム制御部１１５は、被写体検出部１２３で被写体領域が検出されていれば被写体検出領域へＡＦ枠を設定する。またシステム制御部１１５は、被写体検出部１２３で被写体領域が検出されていないが、Ｓ３０７のゾーンＡＦスキャンにおいて被写体領域が特定できた場合は、ゾーンＡＦスキャンで特定した被写体領域にＡＦ枠を設定する。被写体検出部１２３で被写体領域が検出されておらず、Ｓ３０７のゾーンＡＦスキャンにおいても被写体領域が特定できなかった場合、システム制御部１１５は予め定められた所定領域にＡＦ枠を設定する。ここで所定領域は、例えば画面の中央領域など、被写体が存在しそうな領域とする。
【００４０】
Ｓ３１３でシステム制御部１１５は、Ｓ３０７のゾーンＡＦスキャンにおいて合焦位置が見つかった場合はＡＦ処理部１０５を用いて合焦位置へフォーカスレンズ１０４を駆動する。一方、ゾーンＡＦスキャンで合焦位置が見つからなかった場合は、予め決められた定点（被写体存在確率の高い位置）にフォーカスレンズ１０４を駆動する。
【００４１】
＜ゾーンＡＦスキャン＞
図５は図３のＳ３０７で実施するゾーンＡＦスキャン処理を説明するフローチャートである。ここでゾーンとは、合焦可能距離範囲（至近端から無限遠）を複数の範囲（ゾーン）に分割した際の、各範囲のことを意味する。
まずＳ５０１でシステム制御部１１５は、フォーカスレンズ１０４をスキャン開始位置へと移動させる。ここで、スキャン開始位置は、例えば、無限遠端に対応する位置とする。
【００４２】
Ｓ５０２では、撮像素子１０８から読み出されたアナログ映像信号をＡ／Ｄ変換部１０９がデジタル信号に変換し、その出力から画像処理部１１０が輝度信号の高域周波数成分を焦点評価値として抽出し、システム制御部１１５は焦点評価値を記憶する。
Ｓ５０３でシステム制御部１１５は、フォーカスレンズ１０４の現在位置をＡＦ処理部１０５から取得し、焦点評価値と対応付けて記憶する。
【００４３】
Ｓ５０４でシステム制御部１１５は、撮影準備を指示するＳＷ１の状態（ＯＮ／ＯＦＦ）を判定し、ＯＮ（オン）状態なら本処理を終了して図２のＳ２０８へ、ＯＦＦ（オフ）状態の場合にはＳ５０５へ処理を進める。
Ｓ５０５でシステム制御部１１５は、スキャン開始時と露出設定が変化しているかを判定し、変化している場合は図２のＳ２０１へ、変化していなければＳ５０６へ処理を進める。
【００４４】
Ｓ５０６でシステム制御部１１５は、フォーカスレンズ１０４が予め設定したゾーンの境界位置にあるかどうかを調べ、そうであればＳ５０７へ、そうでなければＳ５０９へ処理を進める。
Ｓ５０７でシステム制御部１１５は、図６を用いて後述する手順に従ってゾーン更新判定を行う。ここでゾーン更新判定とは、あるゾーンのＡＦスキャンが完了した際に、引き続き隣接するゾーンでＡＦスキャンを実行するかどうかの判定である。
【００４５】
Ｓ５０８でシステム制御部１１５は、Ｓ５０７でのゾーン更新判定により、ゾーン更新する、すなわちスキャン終了位置方向に隣接するゾーンでＡＦスキャンを継続すると判定されていればＳ５０９へ処理を進める。一方、ゾーン更新しないと判定されていれば、システム制御部１１５は、処理をＳ５１１へ進める。
【００４６】
Ｓ５０９でシステム制御部１１５は、ＡＦ処理部１０５を通じてフォーカスレンズ１０４の現在位置がスキャン終了位置（ここでは至近端に対応する位置）に等しいかを調べ、両者が等しい場合にはＳ５１１へ、そうでなければＳ５１１へそれぞれ処理を進める。
Ｓ５１０でシステム制御部１１５は、ＡＦ処理部１０５を通じてフォーカスレンズ１０４をスキャン終了方向へ向かって所定量だけ移動させた後、処理をＳ５０２に戻す。
【００４７】
Ｓ５１１でシステム制御部１１５は、各ＡＦ枠でのスキャン結果を、以下の３つのいずれに該当するか判定する。
○判定（合焦判定）：被写体のコントラストが十分、かつスキャンした距離範囲内に被写体が存在する。
×判定：被写体のコントラストが不十分、もしくはスキャンした距離範囲外に被写体が存在する。
△判定：スキャンした距離範囲よりもスキャン終了方向（ここでは至近側方向）に被写体が位置する。
【００４８】
なお、合焦判定は例えば特許第４２３５４２２号公報や特許第４１８５７４０号公報などに記載されているような、公知の方法を用いて行うことができるため、説明は割愛する。
Ｓ５１２でシステム制御部１１５は、被写体検出部１２３により被写体領域が検出されているかどうかを調べ、被写体領域が検出されている場合はＳ５１３へ、被写体領域が検出されていない場合はＳ５１４へ、それぞれ処理を進める。
Ｓ５１３でシステム制御部１１５は、図８を用いて後述する処理に従って被写体検出時のＡＦ枠選択を行う。
Ｓ５１４でシステム制御部１１５は、図９を用いて後述する処理に従って被写体未検出時のＡＦ枠選択を行う。
【００４９】
＜ゾーン更新判定＞
図６は、図５のＳ５０７で実施するゾーン更新判定を説明するフローチャートである。ここではスキャン方向の先に被写体が存在していそうかどうか、つまりＡＦスキャンを続けるかどうかを判定する。図７は図６におけるゾーン更新判定の例を説明する図であり、図４と同様、この例では、Ｎ＝７、Ｍ＝９（水平方向に９、垂直方向に７のＡＦ枠を設定したものとする。
【００５０】
まずＳ６０１でシステム制御部１１５は、設定した各ＡＦ枠すべてにおいてＳ５１１と同様の合焦判定を行う。ここでは、各ＡＦ枠において図７（ａ）に示すような合焦判定結果が得られたものとする。
【００５１】
Ｓ６０２でシステム制御部１１５は最終ゾーンまでＡＦスキャンを行ったかどうか調べ、最終ゾーンまでスキャン済みであればＳ６１４へ、そうでなければＳ６０３へ、それぞれ処理を進める。
Ｓ６０３でシステム制御部１１５は○判定されたＡＦ枠（○判定枠）があるかどうかを調べ、○判定枠があればＳ６０４へ、そうでなければＳ６１３へ処理を進める。
【００５２】
Ｓ６０４でシステム制御部１１５は被写体検出部１２３が被写体領域を検出しているかどうかを調べ、被写体領域を検出していればＳ６０６へ、そうでなければＳ６０５へ処理を進める。
Ｓ６０５でシステム制御部１１５は画面中央部のＭ１×Ｍ２枠の中で△判定されたＡＦ枠（△判定枠）が所定数以上「かたまって」いるかどうかを調べ、そうであればＳ６１３へ、そうでなければＳ６０７へ処理を進める。ここで例としてＭ１=３、Ｍ２＝５、所定数を５とすると、図７（ｂ）に太枠で示す中央部の枠の中で隣接する△判定枠の数は２のため、所定枠数以上のかたまりは存在しない。なお、「かたまり」は判定結果が同じＡＦ枠のみで構成された領域である。
【００５３】
Ｓ６０６でシステム制御部１１５は、検出された被写体領域を含むＡＦ枠の中に△判定枠が所定数以上あるかどうかを調べ、所定数以上ある場合はＳ６１３へ、所定数以上ない場合はＳ６０７へ処理を進める。ここでは、被写体領域を含むＡＦ枠とは、被写体領域がＡＦ枠の所定割合以上を占めるＡＦ枠とする。図７（ｃ）は、被写体領域として人物の顔領域が検出されている例を示し、所定数を５とすると、顔領域を含むＡＦ枠（太枠内のＡＦ枠）には３つの△判定枠からなるかたまりが存在するが、所定枠数以上からなるかたまりは存在しない。
【００５４】
Ｓ６０７でシステム制御部１１５は中央Ｌ１×Ｌ２枠の１枠以上を含むようなＮ×ＭのＡＦ枠の配置の中に、△判定枠が所定枠数以上「かたまって」存在する場合があるかどうかを調べる。そして、システム制御部１１５は、そのような位置があればＳ６１３へ、なければＳ６０８へ処理を進める。図７（ｄ）では、例としてＬ１＝５、Ｌ１＝７（内側の太枠）、所定数を１０とする。Ｎ×Ｍの枠を内側の太枠内のＡＦ枠を１つ以上含むように移動させた際、Ｎ×Ｍの枠に含まれる△判定枠のかたまりを構成する△判定枠は最大でも６つであるため、所定枠数以上のかたまりは存在しない。
【００５５】
Ｓ６０８でシステム制御部１１５は予め決められた所定ゾーンまでスキャンを完了したかどうかを調べ、完了した場合はＳ６１４へ、完了していない場合はＳ６０９へ処理を進める。ここで、所定ゾーンとは、ＡＦスキャン方向のスキャン可能範囲の端（本実施形態では至近端）に被写体が存在した場合に、被写体の画面内位置に対応するＡＦ枠について△判定されることが想定されるゾーンである。このゾーンに到達しても△判定のかたまり（被写体領域）が検出されない場合、これからスキャンする方向のゾーンには被写体が存在しないと考えられる。
【００５６】
Ｓ６０９でシステム制御部１１５は、Ｎ×Ｍ枠中に△判定枠または×判定枠が所定数以上かたまって存在するかどうかを調べ、そうであればＳ６１３へ、そうでなければＳ６１４へ処理を進める。図７（ｅ）では、例として所定数を２０とすると、△判定または×判定は最大で１８個かたまっているため、所定数以上からなるかたまりは存在しない。
【００５７】
Ｓ６１０でシステム制御部１１５は、被写体検出部１２３で被写体領域が検出されているかどうかを調べ、検出されていればＳ６１２へ、検出されていなければＳ６１１へ処理を進める。
【００５８】
Ｓ６１１でシステム制御部１１５は中央のＭ１×Ｍ２枠中に○判定枠が所定数以上かたまって存在しているかどうかを調べ、そうであればＳ６１３へ、そうでなければＳ６１４へ処理を進める。例として所定数を１０とすると、図７（ｆ）では太枠で示す中央のＭ１×Ｍ２枠中に○判定枠が１０個かたまっているため、所定枠数以上のかたまりが存在する。
【００５９】
Ｓ６１２でシステム制御部１１５は被写体領域を含むＡＦ枠のうち○判定枠が所定数以上あるかどうかを調べ、そうであればＳ６１３へ、そうでなければＳ６１４へ処理を進める。例として所定数を５とすると、図７（ｇ）では被写体領域を含むＡＦ枠（太枠内）に○判定枠が５個かたまって存在するため、所定枠数以上のかたまりが存在する。
【００６０】
Ｓ６１３でシステム制御部１１５は「ゾーン更新する」と判定して処理を終了する。Ｓ６１４でシステム制御部１１５は「ゾーン更新しない」と判定して処理を終了する。
なお、Ｓ６０５、Ｓ６０６、Ｓ６０７、Ｓ６０９、Ｓ６１１、Ｓ６１２における所定数を固定値とした場合を説明したが、ゾーン範囲やフォーカス位置に応じて変えてもいい。例えば、被写体距離が至近側になるほど、所定数を大きくしてもよい。
【００６１】
このように、スキャンした距離範囲内に被写体が存在せず、これからスキャンするゾーンに被写体が存在する可能性があると思われる場合にはゾーンを更新すると判定する。また、スキャンした距離範囲内に被写体が存在し、距離情報が判明していると思われる場合や、これからスキャンするゾーンに被写体が存在しないと考えられる場合にはゾーンを更新しないと判断する。
【００６２】
＜被写体検出時のＡＦ枠選択＞
図８は図５のＳ５１３で実行する被写体検出時のＡＦ枠選択処理を説明するフローチャートである。ここでは、被写体領域を含むＡＦ枠の中から選択する。
まず、Ｓ８０１でシステム制御部１１５は、被写体検出部１２３で検出された被写体領域を含むＡＦ枠の中から、図５のＳ５１１において○判定されているＡＦ枠（合焦ＡＦ枠）を、候補枠として決定する。
【００６３】
Ｓ８０２でシステム制御部１１５は、候補枠における焦点評価値のピーク位置（以下ＰｅａｋＰｏｓと記す）を算出して記憶しておく。焦点評価値を求めたフォーカスレンズ位置が離散的であるため、システム制御部１１５は、ピーク位置を補間等によって算出する。
Ｓ８０３でシステム制御部１１５は各候補枠のＰｅａｋＰｏｓを至近側からソートし、ソートされた数（＝候補枠の総数）をＳとする。
【００６４】
Ｓ８０４でシステム制御部１１５はソート数Ｓが１以上であるかを調べ、１以上の場合はＳ８０５へ、１未満の場合（候補枠なしの場合）はＳ８２１へ処理を進める。Ｓ８２１でシステム制御部１１５は合焦枠が選択できなかったため非合焦として本処理を終了する。
Ｓ８０５でシステム制御部１１５は、Ｓ８０２で算出した候補枠のピーク位置の至近側からの順番を示すカウンタＰを１に設定する。
Ｓ８０６でシステム制御部１１５は、ソート順でＰ番目のＰｅａｋＰｏｓとＰ＋１番目のＰｅａｋＰｏｓの差が焦点深度内で、かつ画面内の枠位置が近接しているかどうかを調べる。ここで、枠位置の「近接」範囲は、枠の大きさなどに応じて予め規定しておく。必ずしも隣接している必要は無い。システム制御部１１５は、条件に合致していればＳ８２０へ処理を進め、Ｐ番目のＰｅａｋＰｏｓに対応するＡＦ枠を合焦枠として選択して処理を終了する。また、システム制御部１１５は、条件に合致していなければＳ８０７へ処理を進める。
【００６５】
Ｓ８０７でシステム制御部１１５はカウンタＰに１を加える。
Ｓ８０８でシステム制御部１１５はカウンタＰがソート数Ｓよりも大きい（Ｐ＞Ｓ）かどうかを調べ、カウンタＰがソート数Ｓよりも大きければＳ８０９へ処理を進め、そうでなければ処理をＳ８０６に戻す。
Ｓ８０９でシステム制御部１１５は１番目のＰｅａｋＰｏｓとＳ番目のＰｅａｋＰｏｓの差を算出して変数ＭａｘＭｉｎに記憶する。ＭａｘＭｉｎの値は、合焦判定の結果が○判定の枠におけるピーク位置の差の最大値である。
【００６６】
Ｓ８１０でシステム制御部１１５はＳ８０９で算出したＭａｘＭｉｎが焦点深度内であるかを調べ、焦点深度内であればＳ８１９で１番目のＡＦ枠（合焦判定の結果が○判定の枠のうちピーク位置が最も至近端であるＡＦ枠）を合焦枠として選択して処理を終了する。なお、Ｓ８０６およびＳ８１０における焦点深度とは許容錯乱円径をε、撮影レンズ１０１の解放絞り値をＦとすると、±εＦで表され、解放深度とも呼ばれる。
【００６７】
一方、ＭａｘＭｉｎが焦点深度内でなければＳ８１１でシステム制御部１１５は、１番目からＳ番目のＰｅａｋＰｏｓの範囲（＝ＭａｘＭｉｎ）を深度ごとに区切ってグループ化する。
Ｓ８１２でシステム制御部１１５はグループの至近側からの順番を示すカウンタＮを１に設定する。
Ｓ８１３でシステム制御部１１５はＮ番目のグループに含まれるＡＦ枠数をカウントする。
Ｓ８１４でシステム制御部１１５はＳ８１３でカウントしたカウント数がＮ−１（Ｎ≧２）番目のグループのカウント数よりも多いかどうかを調べ、多い場合はＳ８１５へ、少ない場合はＳ８１６へ処理を進める。
【００６８】
Ｓ８１５でシステム制御部１１５は、Ｎ番目のグループに含まれるＡＦ枠のうち、ＰｅａｋＰｏｓが最も至近側のＡＦ枠を、候補枠の代表枠とする。
Ｓ８１６でシステム制御部１１５はカウンタＮに１を加える。
Ｓ８１７でシステム制御部１１５は全てのグループについて確認したかを調べ、全てのグループについて確認した場合はＳ８１８へ処理を進め、全てのグループについて確認していない場合はＳ８１３へ戻る。
Ｓ８１８でシステム制御部１１５は代表枠を合焦枠として選択して処理を終了する。
【００６９】
＜被写体未検出時のＡＦ枠選択＞
図９は図５におけるＳ５１４の被写体未検出時のＡＦ枠選択を説明するフローチャートである。ここでは画面内の主被写体領域を特定して、その領域内で枠選択を行う。
図１０は本実施形態における被写体未検出時のＡＦ枠選択の例を説明するための模式図である。ここではＮ＝７、Ｍ＝９におけるＮ×Ｎ枠のＡＦ枠設定で、スキャン範囲を０〜３００、所定深度範囲を±１０とする。また、図５のＳ５１１における合焦判定では、各ＡＦ枠について図１０（ａ）に示すような結果が得られているものとする。なおスキャン範囲及び所定深度範囲の数値はフォーカスレンズ１０４の位置を表す数値である。ＡＦ処理部１０５が備えるフォーカスレンズ１０４の駆動用モータにステッピングモータを使用する場合の駆動パルス数に相当し、値が大きい方が至近側とする。
【００７０】
まずＳ９０１でシステム制御部１１５は各ＡＦ枠における焦点評価値のピーク位置（以下ＰｅａｋＰｏｓと記す）を算出して記憶しておく。ここで例えば、各ＡＦ枠において図（ｂ）に示すようなピーク位置算出結果が得られたものとする。ピーク位置は上述した駆動パルス数によって表されている
【００７１】
Ｓ９０２でシステム制御部１１５は中央の横Ｍ１×縦Ｍ２枠（図１０（ｂ）に太枠で示す）の各ＡＦ枠のＰｅａｋＰｏｓを至近順にソートし、ソートされた数をＳとする。以下の説明ではＭ１＝３、Ｍ２＝５とする。この１５のＡＦ枠の内、図５のＳ５１１の合焦判定で×判定のＡＦ枠ではピーク位置が算出できないのでソートの対象としない。例えば、図１０（ｂ）の場合は、至近順に２０２、２０２、２０１、２０１、２０１、２００、２００、２００、１０３、１０３、１０２、１０２、１０１とソートされ、ソート数Ｓ＝１３となる。
【００７２】
Ｓ９０３でシステム制御部１１５はＳ９０２で算出したＭ１×Ｍ２枠内のピーク位置の至近側からの順番を示すカウンタＰを１に設定する。
Ｓ９０４でシステム制御部１１５はソート順でＰ番目のＰｅａｋＰｏｓをＰｅａｋＰｏｓＰとする。例えば、図１０（ｂ）の場合はＰ＝１の場合、ＰｅａｋＰｏｓＰ＝２０２となる。
【００７３】
Ｓ９０５でシステム制御部１１５は、中央のＭ１×Ｍ２個のＡＦ枠中において○判定、かつＰｅａｋＰｏｓＰに対して所定深度範囲内のＡＦ枠の「かたまり」を検出し、「かたまり」を構成するＡＦ枠の数と各ＡＦ枠の位置を記憶しておく。ここで、「かたまり」とは、例えば、条件を満たすＡＦ枠が隣接した状態である。また、「かたまり」が複数存在する場合には、「かたまり」を構成するＡＦ枠の数や「かたまり」の位置に基づいて、複数の「かたまり」のうちの１つを選択してもよい。
【００７４】
Ｓ９０６でシステム制御部１１５はＮ×Ｍ個のＡＦ枠中において、中央のＭ１×Ｍ２個のＡＦ枠中を１枠以上含むように、○判定かつＰｅａｋＰｏｓＰに対して所定深度内の「かたまり」を検出し、「かたまり」を構成するＡＦ枠の数と位置を記憶しておく。例えば、図１０（ａ），（ｂ）のような判定結果に対して、図１０（ｃ）に灰色で示すような「かたまり」が検出される。
【００７５】
Ｓ９０７でシステム制御部１１５はＳ９０５またはＳ９０６で検出した「かたまり」が画面の中央枠（Ｎ＝Ｍ＝４）を含む「かたまり」であるかどうかを調べ、中央枠を含む「かたまり」であればＳ９１３へ、そうでなければＳ９０８へ処理を進める。
【００７６】
Ｓ９０８でシステム制御部１１５はＳ９０５またはＳ９０６で検出した「かたまり」が、Ｍ１×Ｍ２枠内のＡＦ枠を所定数以上含む「かたまり」であるかどうかを調べ、そうであればＳ９１３へ、そうでなければＳ９０９へ処理を進める。
【００７７】
Ｓ９０９でシステム制御部１１５はＳ９０５またはＳ９０６で検出した「かたまり」が、中央Ｍ１×Ｍ２枠の１枠以上を含み、かつＮ×Ｍ枠内のＡＦ枠を所定数以上含む「かたまり」であるかどうかを調べる。システム制御部１１５は、中央Ｍ１×Ｍ２枠の１枠以上を含みＮ×Ｍ枠内のＡＦ枠を所定数以上含む「かたまり」であればＳ９１３へ、そうでなければＳ９１０へ処理を進める。
【００７８】
Ｓ９１０でシステム制御部１１５はカウンタＰに１を加える。
Ｓ９１１でシステム制御部１１５はカウンタＰがソート数Ｓよりも大きい（Ｐ＞Ｓ）かどうかを調べ、カウンタＰがソート数Ｓよりも大きければＳ９１２へ処理を進め、主被写体領域の特定ができなかったと判定して本判定処理を終了する。カウンタＰがソート数Ｓ以下ならＳ９０４に処理を戻す。
【００７９】
Ｓ９１３でシステム制御部１１５は主被写体領域が特定できたと判定する。
Ｓ９１４でシステム制御部１１５は、Ｓ９０７，Ｓ９０８，Ｓ９０９のいずれかで検出されたかたまりを構成する各ＡＦ枠を主被写体領域と判断して選択して本判定処理を終了する。
【００８０】
なお、Ｓ９０８、Ｓ９０９における所定数はフォーカス位置によらず一律で決めてもよいし、フォーカス位置に応じて変えてもいい。例えば、被写体距離が至近側になるほど、所定数を大きくしてもよい。
【００８１】
＜等距離判定＞
図１１は、図３のＳ３０５およびＳ３０８における等距離判定を説明するフローチャートである。ここでは、各ＡＦ枠のピーク位置の分布から、撮影シーンが画面内での距離差が小さい等距離シーンであるかどうかを判定する。
【００８２】
Ｓ１１０１でシステム制御部１１５は予め用意した像高ごとの誤差量を基に、各ＡＦ枠のピーク位置を補正する。これは、像面湾曲や、撮像素子の取り付け誤差による像倒れの影響により、ピーク位置の分布に誤差を持つ場合があるためである。
【００８３】
Ｓ１１０２でシステム制御部１１５は、図６のＳ６０１において○判定されたＡＦ枠（合焦ＡＦ枠）をピーク位置が近側な順に並び変える。
Ｓ１１０３でシステム制御部１１５は○判定枠数が全てのＡＦ枠数に対して所定割合以上あるかどうかを調べ、所定割合以上ない場合はＳ１１１３で、等距離判定は実施できなかったとして等距離判定の処理を終了する。本実施形態では、○判定枠数が全体の所定割合以上ない場合は、○判定枠数が少ないため等距離判定が正しく行えないものとしている。ＡＦ枠全体の所定割合以上が○判定枠数であれば、システム制御部１１５は処理をＳ１１０４へ進める。
【００８４】
Ｓ１１０４でシステム制御部１１５は、等距離とみなす範囲（EqualRange）として○判定枠数の所定割合を設定する。
Ｓ１１０５でシステム制御部１１５は、○判定枠数をカウントする変数ｉを０に初期化する。
Ｓ１１０６でシステム制御部１１５は、ｉ番目のＡＦ枠のピーク位置と（ｉ＋EqualRange）番目のＡＦ枠のピーク位置の差が所定深度内であるかを調べる、所定深度内であればＳ１１０７へ、所定深度内でなければＳ１１０９へ処理を進める。
【００８５】
Ｓ１１０７でシステム制御部１１５は、直前のスキャン（図３のＳ３０４またはＳ３０７）において合焦したかどうかを調べ、合焦した場合はＳ１１０８へ、合焦していない場合はＳ１１１１へ処理を進める。
Ｓ１１０８でシステム制御部１１５は、直前のスキャンで検出された合焦位置がｉ番目のＡＦ枠のピーク位置とｉ＋EqualRange番目のＡＦ枠のピーク位置の範囲内に含まれるかどうかを調べ、含まれる場合はＳ１１１１へ処理を進める。
Ｓ１１１１でシステム制御部１１５は、等距離判定を実施でき、かつ等距離シーンと判定し、処理を終了する。
【００８６】
直前のスキャンで検出された合焦位置がｉ番目のＡＦ枠のピーク位置とｉ＋EqualRange番目のＡＦ枠のピーク位置の範囲内に含まれない場合、Ｓ１１０９でシステム制御部１１５はｉに１を足してＳ１１１０へ処理を進める。
【００８７】
Ｓ１１１０でシステム制御部１１５はｉが○判定枠の総数未満であれば処理をＳ１１０６へ戻して判定を続ける。一方、ｉが○判定枠の総数以上であれば全ての○判定枠に対して判定を行ったと判断し、Ｓ１１１２で、等距離判定を実施でき、かつ距離差のあるシーンと判定して処理を終了する。
【００８８】
＜コンティニュアスＡＦ＞
図１２は図２のＳ２０５で実施するコンティニュアスＡＦ動作を説明するフローチャートである。
Ｓ１２０１でシステム制御部１１５は、コンティニュアスＡＦでの合焦制御のために設定した各ＡＦ枠で焦点評価値を取得する。ここで、コンティニュアスＡＦでの合焦制御のために設定したＡＦ枠とは、被写体領域が検出されていれば被写体領域に設定したＡＦ枠であり、被写体領域が検出されていない場合は図５のＳ５１３において合焦枠として選択されたＡＦ枠である。
【００８９】
Ｓ１２０２でシステム制御部１１５は、撮影準備を指示するＳＷ１の状態（ＯＮ／ＯＦＦ）を判定し、ＯＮ（オン）状態ならば本処理を終了して図２のＳ２０８へ、ＯＦＦ（オフ）状態の場合にはＳ１２０３へ処理を進める。
Ｓ１２０３でシステム制御部１１５は、ピーク検出フラグがＴＲＵＥであるかどうかを調べ、ＴＲＵＥであればＳ１２２０へ、ＦＡＬＳＥであればＳ１２０４へ処理を進める。ここで、ピーク検出フラグは、初期値としてあらかじめＦＡＬＳＥが設定されているものとする。
【００９０】
Ｓ１２０４でシステム制御部１１５は、フォーカスレンズ１０４の現在位置を取得する。
Ｓ１２０５でシステム制御部１１５は、焦点評価値の取得及びフォーカスレンズ１０４の現在位置の取得をカウントするための取得カウンタに１を加える。この取得カウンタは、初期化動作において予め０に設定されているものとする。
【００９１】
Ｓ１２０６でシステム制御部１１５は、取得カウンタの値が１かどうかを調べ、取得カウンタの値が１ならばＳ１２０９へ、取得カウンタの値が１でなければＳ１２０７へ処理を進める。
Ｓ１２０７でシステム制御部１１５は、「今回の焦点評価値」が「前回の焦点評価値」よりも大きいかどうかを調べ、そうであればＳ１２０８へ、そうでなければＳ１２１５へ処理を進める。
Ｓ１２０８でシステム制御部１１５は増加カウンタに１を加える。
【００９２】
Ｓ１２０９でシステム制御部１１５は、今回の焦点評価値を焦点評価値の最大値としてシステム制御部１１５内の演算メモリに記憶する。
Ｓ１２１０でシステム制御部１１５は、フォーカスレンズ１０４の現在の位置を焦点評価値のピーク位置として演算メモリに記憶する。
Ｓ１２１１でシステム制御部１１５は、今回の焦点評価値を前回の焦点評価値として演算メモリに記憶する。
【００９３】
Ｓ１２１２でシステム制御部１１５は、フォーカスレンズ１０４の現在位置が駆動範囲の端にあるかどうかを調べ、そうであればＳ１２１３へ、そうでなければＳ１２１４へ処理を進める。
Ｓ１２１３でシステム制御部１１５は、フォーカスレンズ１０４の移動方向を反転する。
Ｓ１２１４でシステム制御部１１５は、フォーカスレンズ１０４を所定量移動する。
【００９４】
Ｓ１２１５でシステム制御部１１５は、「焦点評価値の最大値−今回の焦点評価値」が所定量より大きければステップＳ１２１６へ、所定量以下ならステップＳ１２１１へ処理を進める。ここで「焦点評価値の最大値−今回の焦点評価値」が所定量より大きい、即ち焦点評価値が最大値から所定量減少していれば、その最大値をピーク位置での焦点評価値とみなす。
【００９５】
Ｓ１２１６でシステム制御部１１５は増加カウンタが０より大きいかどうかを調べ、０より大きければＳ１２１７へ、０以下ならＳ１２１１へ処理を進める。
Ｓ１２１７でシステム制御部１１５は、フォーカスレンズ１０４をＳ１２１０で記憶したピーク位置へ移動させる。
【００９６】
Ｓ１２１８でシステム制御部１１５は、ピーク検出フラグをＴＲＵＥとする。
Ｓ１２１９でシステム制御部１１５は、取得カウンタを０とする。
Ｓ１２２０でシステム制御部１１５は、今回の焦点評価値が焦点評価値の最大値に対して所定割合以上変動したかどうかを調べ、所定割合以上の大きな変動をしていればＳ１２２２へ、所定割合未満の小さな変動であればＳ１２２１へ処理を進める。
【００９７】
Ｓ１２２１でシステム制御部１１５はフォーカスレンズ１０４の位置をそのまま保持する。
Ｓ１２２２でシステム制御部１１５は、焦点評価値が最大となるフォーカスレンズ位置を再び求め直すため、ピーク検出フラグをＦＡＬＳＥとし、焦点評価値の最大値およびピーク位置をリセットする。
Ｓ１２２３でシステム制御部１１５は増加カウンタリセットをリセットする。
以上のようにして、コンティニュアスＡＦ動作では常に主被写体が合焦状態となるようにフォーカスレンズを駆動する。
【００９８】
＜ブラケット判定＞
図１３は、図２のＳ２０８におけるブラケット判定の処理を説明するフローチャートである。ここでは、ＳＷ１をＯＮする前に得られた情報から撮影時に最適な処理を判定する。
Ｓ１３０１でシステム制御部１１５は、ＳＷ１がＯＮする直前の角速度センサ１２５や動体検出部１２４での出力結果を参照し、デジタルカメラまたは被写体が動いているかどうかを判断する。カメラまたは被写体が動いている場合、動きシーンであると判定し、システム制御部１１５はＳ１３０３へ、動きシーンでない場合はＳ１３０２へ処理を進める。
【００９９】
Ｓ１３０２でシステム制御部１１５は、ＳＷ１がＯＮする直前での図３のＳ３０５またはＳ３０８における等距離判定において等距離シーンであると判定されている場合はＳ１３０５へ、等距離シーンと判定されていなければＳ１３０４へ処理を進める。
Ｓ１３０４でシステム制御部１１５は、撮影時の処理としてＡＦブラケットを行うと決定して本処理を終了する。
【０１００】
Ｓ１３０３でシステム制御部１１５は、ＳＷ１がＯＮする直前の画面内の露出分布をＡＥ処理部１０３から取得し、画面内に露出差があるシーンと判定された場合はＳ１３０５へ、画面内に露出差がないと判定されればＳ１３０６へ処理を進める。
Ｓ１３０５でシステム制御部１１５は、撮影時の処理としてＡＥブラケットを行うと決定して本処理を終了する。
Ｓ１３０６でシステム制御部１１５は、撮影時の処理として連写を行うと決定して本処理を終了する。
【０１０１】
＜本露光用ＡＦ＞
図１４は、図２のＳ２１０で実施する本露光用ＡＦの動作を説明するフローチャートである。この処理では、距離情報の取得と、合焦位置を決めるためのＡＦスキャンを行う。距離情報は、画面内の距離分布に応じたグルーピング結果（以下、距離マップと記す）の生成や、上述した等距離判定処理に用いられる。
【０１０２】
まずＳ１４０１でシステム制御部１１５はフォーカスレンズ１０４をスキャン開始位置へと移動させる。ここでスキャン開始位置とは、たとえば無限遠などのＡＦスキャン可能な範囲の遠端の位置とする。
Ｓ１４０２でシステム制御部１１５は図２のＳ２０８におけるブラケット判定の結果、撮影時に連写を行うと判定した場合はＳ１４０９へ、ＡＦブラケットまたはＡＥブラケットを行うと判定した場合はＳ１４０３へ処理を進める。
【０１０３】
Ｓ１４０３でシステム制御部１１５は距離マップを取得するためにＮ×Ｍ枠のＡＦ枠を設定する（図１５（ａ））。ここでも図４と同様にＮ＝７、Ｍ＝９として設定したものとする。
Ｓ１４０４でシステム制御部１１５は距離マップ取得のために、Ｓ１４０３で設定した全てのＡＦ枠についてピーク位置を探索するＡＦスキャンを行う。
【０１０４】
Ｓ１４０５でシステム制御部１１５はＳ１４０４でのスキャンの結果得られた各ＡＦ枠のピーク位置に基づき合焦位置を決定する。
Ｓ１４０７でシステム制御部１１５は図１１で説明した等距離判定を行う。
【０１０５】
Ｓ１４０８でシステム制御部１１５は、等距離判定のＳ１１０１で補正した各ＡＦ枠でのピーク位置の分布から距離マップを作成する。図１５（ｂ）は、前方の花と背景の山を撮影した際の各ＡＦ枠でのピーク位置を模式的に示している。×はピーク位置が見つからなかったことを示す。ここで、ピーク位置は図１０（ｂ）と同様、ステッピングモータのパルス数で示したものである。前方の花はピーク位置が１９９〜２０２の範囲に分布しており、背景の山はピーク位置が１００〜１０３の範囲に分布している。
【０１０６】
ピーク位置が近く、かつ近接するＡＦ枠をグループ化することで、図１５（ｂ）に示すように、ピーク位置が得られているＡＦ枠から３つのフォーカスエリアを抽出することができる。ここで、フォーカスエリア１と２はピーク位置が近いため、１つのフォーカスエリアに統合することによって、フォーカスエリア１、２による背景のグループと、フォーカスエリア３による前方被写体グループに画面内を分割することができる。以上のようにして画面内を距離によって複数のグループに分割する。さらに、画像処理部１１０において色によって画面内を分割した結果と、距離による分割結果を合わせてグルーピングの精度を高めてもよい。
【０１０７】
Ｓ１４０９でシステム制御部１１５は、被写体検出部１２３により被写体を検出した場合は被写体位置へＡＦ枠を設定し、被写体未検出時は多枠のＡＦ枠を設定する。ここで、ブラケット判定処理において連写処理を行うと判定した場合は、被写体またはカメラが動いている場合であるため、焦点評価値が動きの影響を受けて各ＡＦ枠での合焦精度も悪くなる。そのため、距離による領域の分割は行わず、合焦位置を決めるためだけのＡＦスキャンを行う。
【０１０８】
Ｓ１４１０でシステム制御部１１５は、合焦位置を決定するためのＡＦスキャンを行う。ここで、被写体検出時は被写体検出位置に設定したＡＦ枠でピーク位置が見つかるまでスキャンを行い、被写体未検出時は多枠のＡＦ枠の中からピーク位置が近いＡＦ枠のかたまりが得られるまでスキャンを行う。
【０１０９】
Ｓ１４１１でシステム制御部１１５は、Ｓ１４１０でスキャンした結果得られた各ＡＦ枠でのピーク位置から合焦位置を決定する。ここで、被写体検出時は被写体検出位置に設定したＡＦ枠でピーク位置が合焦位置となり、被写体検出位置に設定したＡＦ枠でピーク位置が検出できなかった場合は非合焦となる。被写体未検出時はピーク位置が近いＡＦ枠のかたまりが得られた場合は、ＡＦ枠のかたまりの中から合焦位置を決めるためのＡＦ枠を決定し、ＡＦ枠のかたまりが得られなかった場合は非合焦となる。
【０１１０】
Ｓ１４１２でシステム制御部１１５は、Ｓ１４０７またはＳ１４１０において合焦位置が決められた場合はＡＦ処理部１０５を通じて合焦位置へフォーカスレンズ１０４を駆動する。非合焦の場合、システム制御部１１５は予め決められた定点と呼ばれる被写体存在確率の高い位置へフォーカスレンズ１０４を駆動する。
【０１１１】
Ｓ１４１３でシステム制御部１１５は表示部１１７に合焦枠および／または非合焦枠を表示する。システム制御部１１５は、合焦時は合焦位置とその深度内にあるＡＦ枠を合焦枠として表示し、非合焦時は中央など予め決められた位置に非合焦枠を表示する。
【０１１２】
ここで、Ｓ１４０４の距離マップ取得用スキャン実施時においては、ＡＦ枠の設定数が多いため合焦枠と深度内のＡＦ枠を全て表示するのは見栄えが煩雑になる。そこで図１７（ａ）で示す、合焦位置と深度内のＡＦ枠（実線で示す領域）を含む領域に対して、図１７（ｂ）で示すように合焦表示用の枠（点線で示す領域）を再設定して表示する。
【０１１３】
＜撮影処理＞
図１６は、図２のＳ２１２で実施する撮影処理の動作を説明するフローチャートである。ここでは、図２のＳ２０８におけるブラケット判定の結果および図１４のＳ１６０７の本露光用ＡＦ処理における等距離判定による判定結果に応じて適切な撮影処理や画像処理を実施する。
【０１１４】
Ｓ１６０１でシステム制御部１１５は、図２のＳ２０８におけるブラケット判定の結果、撮影時にどの処理を実施するように判定されたかを調べる。そして、システム制御部１１５は、ＡＦブラケットを行うと判定された場合はＳ１６０２へ、ＡＥブラケットを行うと判定された場合はＳ１６０５へ、連写を行うと判定された場合はＳ１６０７へ処理を進める。
【０１１５】
Ｓ１６０２でシステム制御部１１５は、図１４のＳ１４０７の本露光用ＡＦ時の等距離判定において等距離シーンと判定された場合はＳ１６０５へ、等距離シーンでないと判定された場合はＳ１６０３へ処理を進める。
Ｓ１６０３でシステム制御部１１５は、図１４のＳ１４０８において分割した各グループの距離に基づき、ＡＦブラケットを行うフォーカス位置を決定する。
【０１１６】
Ｓ１６０４でシステム制御部１１５はＳ１６０３で決定したフォーカス位置においてＡＦブラケット撮影を行う。ここでは、等距離判定の結果距離、等距離シーンでない、すなわち画面内の被写体距離に差があるシーンと判定されているため、ＡＦブラケットが効果的なシーンである。
【０１１７】
Ｓ１６０５でシステム制御部１１５は、ＡＥ処理部１０３において取得した、ＳＷ１がＯＮする直前での画面内の露出差の結果により、ＡＥブラケット時の露出設定を決定してＳ１６０６へ処理を進める。
Ｓ１６０６でシステム制御部１１５は、Ｓ１６０５で決定した露出設定に基づきＡＥブラケット撮影を行う。
【０１１８】
Ｓ１６０７でシステム制御部１１５はＳＷ１がＯＮする直前の、角速度センサ１２５や動体検出部１２４での出力結果に基づき、例えばカメラや被写体の動きが大きいほど速い連写の速度を決定してＳ１６０８へ処理を進める。
Ｓ１６０８でシステム制御部１１５は、Ｓ１６０７で決めた速度に基づいて各部を制御し、連写撮影を行う。
【０１１９】
Ｓ１６０９でシステム制御部１１５は、Ｓ１６０４におけるフォーカスブラケット撮影で得られた各撮影画像について、画面内の主要被写体領域以外の領域に対して距離分布に応じたぼかし処理を施した画像を、画像処理部１１０を用いて作成する。この際、図１４のＳ１４０８におけるグルーピング結果や画面内の距離や色の分布を用いることができる。ここでは、等距離判定の結果、被写体距離に差があるシーンと判定した場合においてのみぼかし関連処理を行っているため、距離分布に応じたぼかし処理を精度よく行うことができる。
【０１２０】
Ｓ１６１０でシステム制御部１１５は、検出された被写体領域や図１４のＳ１４０８におけるグループ分け結果、画面内の距離や色の分布に基づいて画面内の一部を切りだす処理を施した画像を作成する。
【０１２１】
＜シーン不安定判定＞
図１８は、図２のＳ２０６におけるシーン不安定判定の動作を説明するフローチャートである。Ｓ１８０１でシステム制御部１１５はシーン変化フラグの設定を行う。詳細については図１９を用いて後述する。
【０１２２】
Ｓ１８０２でシステム制御部１１５は、シーン変化フラグがＴＲＵＥであればＳ１８０３へ、そうでなければシーン不安定判定結果としてＦＡＬＳＥを返す。
Ｓ１８０３でシステム制御部１１５はＡＥ処理部１０３で取得した被写体輝度Ｂｖが所定値以上であればＳ１８０４へ処理を進める。一方、被写体輝度Ｂｖが所定値未満ならばシーン変化していてもＡＦスキャン精度が低下するため、システム制御部１１５はコンティニュアスＡＦを実行し続けるために判定結果ＦＡＬＳＥを返す。
【０１２３】
Ｓ１８０４でシステム制御部１１５は主被写体が図３のＳ３０１で設定したＡＦ枠領域の外へ移動したかを判断し、被写体がＡＦ枠領域内であればＴＲＵＥを返す。主被写体がＡＦ枠領域内になければＡＦスキャン実行不可であるため、コンティニュアスＡＦを実行し続けるために判定結果ＦＡＬＳＥを返す。
【０１２４】
＜シーン変化フラグ設定＞
図１９は、図１８のＳ１８０１におけるシーン変化フラグ設定処理を説明するフローチャートである。Ｓ１９０１でシステム制御部１１５はユーザが撮影シーンを決定する前かどうかを判断するために、角速度センサ１２５からの出力を参照する。角速度センサ１２５からの出力が所定値以上であれば、システム制御部１１５は、まだシーンが決定されておらず、シーン変化ありと判断し、Ｓ１９１０でシーン変化フラグをＴＲＵＥとして処理を終了する。
【０１２５】
角速度センサ１２５からの出力が所定値未満ならＳ１９０２でシステム制御部１１５は、前回スキャンした時からカメラの縦横位置が変化したかを角速度センサ１２５の出力から検出する。縦横位置が変化していればシーン変化ありと判定し、システム制御部１１５はＳ１９１０でシーン変化フラグをＴＲＵＥとして処理を終了する。
【０１２６】
前回スキャンした時からカメラの縦横位置が変化していなければ、Ｓ１９０３でシステム制御部１１５は、前回スキャンした時から被写体輝度が所定値以上変化したかをＡＥ処理部１０３の出力から判定する。被写体輝度が所定値以上変化していればシーン変化ありと判定し、システム制御部１１５はＳ１９１０でシーン変化フラグをＴＲＵＥとして処理を終了する。
【０１２７】
前回スキャンしたときから被写体輝度が所定値以上変化していなければ、Ｓ１９０４でシステム制御部１１５は、前回のスキャン実行時と検出有無に変化があった被写体が存在するかどうかを、被写体検出部１２３の出力から判定する。例えば、前回スキャンしたシーンにて検出された被写体が検出されなくなったり、前回スキャンしたシーンで検出されなかった被写体が検出されたと判定される場合、システム制御部１１５はシーン変化ありと判定する。そして、システム制御部１１５はＳ１９１０でシーン変化フラグをＴＲＵＥとして処理を終了する。
【０１２８】
前回のスキャン実行時と検出有無に変化があった被写体が存在しない場合、システム制御部１１５は処理をＳ１９０５に進める。Ｓ１９０５でシステム制御部１１５は、Ｓ２０５のコンティニュアスＡＦによって被写体に合焦させ続けた結果、前回スキャン時に求めたピーク位置からフォーカスレンズ１０４が所定量以上動いたか判別する。フォーカスレンズ１０４の位置が所定量以上変化した場合、システム制御部１１５はシーン変化ありと判定し、Ｓ１９１０でシーン変化フラグをＴＲＵＥとして処理を終了する。フォーカスレンズ１０４の位置が所定値以上変化していなければ、システム制御部１１５は処理をＳ１９０６に進める。
【０１２９】
Ｓ１９０６でシステム制御部１１５は、被写体検出部１２３によって被写体領域が検出されているか判別する。被写体領域が検出されていなければシーン変化なしと判定し、システム制御部１１５はＳ１９０９でシーン変化フラグをＦＡＬＳＥとして処理を終了する。被写体領域が検出されている場合、システム制御部１１５はＳ１９０７で、検出されている被写体領域の位置が前回スキャンした時から所定量以上移動しているかを判定する。被写体領域が所定量以上移動していればシステム制御部１１５はシーン変化ありと判定し、Ｓ１９１０でシーン変化フラグをＴＵＲＥとして処理を終了し、そうでなければシーン変化なしとしてＳ１９０９でシーン変化フラグをＦＡＬＳＥとして処理を終了する。
【０１３０】
＜前回参照判定＞
図２０は、図３のＳ３０２における前回参照判定の動作を説明するフローチャートである。
Ｓ２００１でシステム制御部１１５は前述したＳ３０５の等距離判定の結果、等距離シーンと判定されていればＳ２００４へ、等距離シーンと判定されていなければＳ２００２へ処理を進める。
【０１３１】
Ｓ２００２でシステム制御部１１５は距離マップが生成できているかを判定し、生成できていればＳ２００５へ、生成できていなければＳ２００３へ処理を進める。ここで、距離マップが生成できているとは図１４のＳ１４０４にて複数のピークが得られている状態であり、ピークが一つも得られていない場合は距離マップが生成できていないと判定する。
【０１３２】
Ｓ２００５でシステム制御部１１５は、検出された被写体、つまり、ピークを含むように測距範囲（２）を設定する。また、Ｓ２００３はスキャン範囲を全域（３）に設定する。Ｓ２００４でシステム制御部１１５は、Ｓ２００１にて画面内の被写体がほぼ等距離に存在していると判定されたので、現在のフォーカスレンズ位置を中心に（２）よりも狭い範囲（１）を設定する。
【０１３３】
システム制御部１１５は、スキャン範囲（１）または（２）を設定した場合（Ｓ２００４，Ｓ２００５）に、前回参照判定＝ＴＲＵＥ、すなわちシーン変化がないか、少ないと判定する。一方、スキャン範囲（３）、すなわち全域スキャンを設定した場合（Ｓ２００３）は、前回参照判定＝ＦＡＬＳＥ、すなわちシーン変化が大きく、距離マップの生成が必要と判定する。
【０１３４】
以上説明したように、本実施形態によれば、シーン変化があると判定された場合には、被写体の距離情報を再度取得するようにしたため、被写体の距離情報の精度を向上することができ、距離情報を利用した撮影処理や画像処理の精度向上を実現できる。また、撮影シーンに含まれる被写体の距離範囲に応じてＡＦスキャンの範囲を変更することで、高速な焦点検出動作の実施が可能である。
【０１３５】
＜像面値補正＞
次に、図１１のＳ１１０１でおこなう像面値補正の詳細について説明する。像面値補正は、像面湾曲や、レンズ・撮像素子の位置関係による像倒れによる、ＡＦ枠のピーク位置の誤差を、予め取得した像高ごとの誤差量を基に補正する処理である。
【０１３６】
図２１は、図１１のＳ１１０１で実施する像面値補正処理の動作を説明するフローチャートである。ここでは、撮影レンズ１０１、フォーカスレンズ１０４、および撮像素子１０８によって構成される撮影光学系の光学特性に基づき、ピーク位置に生じる誤差を補正する。
【０１３７】
撮影光学系が設計上持つ光学特性や、製造上の誤差により、像面湾曲や像面倒れが発生し、光学像面が理想的な傾きのない平面ではなくなるため、像高に応じた誤差がピーク位置に発生する。そのため、同じ距離に存在する被写体に対する焦点評価値のピーク位置が一致しなかったり、異なる距離の被写体に対する焦点評価値のピーク位置が等しくなってしまうといったことが起こりうる。
【０１３８】
このような誤差が生じた場合、図１４のＳ１４０７で行う等距離判定や、Ｓ１４０８で行う距離マップの作成の精度を低下させる原因となる。像面値補正処理では、撮影光学系の光学特性に基づき、像面湾曲や像面倒れを補正し、像面を理想的な傾きのない平面に近い状態で求めたＡＦ評価値のピーク位置に補正することで、ピーク位置の分布に生じる誤差を低減する。
【０１３９】
ここで行う光学特性による補正は、像面を、理想的な傾きのない平面に近づける補正である。像面の傾きは像面湾曲と像面倒れによって生じるものと仮定し、傾きの量は中心位置との差分で現わされるものとすると、
像面湾曲は中心からの距離に比例して大きくなり、その形状は二次関数で表現できる
像面倒れは水平方向と垂直方向に各々一次元の関数で表現できる
と規定することができる。
【０１４０】
その結果、撮像素子の中心を原点とする直交座標系において、座標（ｘ，ｙ）における像面値の中心との差分Ｚは
Ｚ＝ａ・ｒ＾２ ＋ ｂ・ｒ ＋ ｃ・ｘ ＋ ｄ・ｙ    （式１）
と表すことができる。ただし、ｒ^2 = X^2 + y^2、ａ〜ｄは係数である。
【０１４１】
そこで図１４のＳ１４０４の距離マップ取得用スキャンで得られた各ＡＦ枠に対するピーク位置から式１で求まる値を減じることで像面値を補正することができる。
式１の各係数（ａ，ｂ，ｃ，ｄ）は、予め多数の個体の像面を撮影時に設定されるズームポジションごと測定して、その平均値を用いることにする。また距離による像面値の差が大きいズームポジションでは、複数の距離において測定を行いその平均値を補正値とする。この距離方向についての補正値に関しては代表的な距離でのみ測定を行い、他の距離については設計値に基づいて計算で求めても良い。
【０１４２】
ズームポジションが広角端にある際、図２５に示すような、中心（測定点０）と測定点１〜８の合計９点で像面値を測定し、その座標と測定結果（複数個体の平均値）が
x座標    ｙ座標    像面値
xi    yi    zi
x0’    y0’    z0’
x1’    y1’    z1’
x2’    y2’    z2’
x3’    y3’    z3’
x4’    y4’    z4’
x5’    y5’    z5’
x6’    y6’    z6’
x7’    y7’    z7’
x8’    y8’    z8’
であったとする。
【０１４３】
この場合、各測定点と像面値の中心（測定点０）のについて、座標と像面値についての差分(xi=xi’-x0’，yi=yi’-y0’，zi=zi’-z0’(i=0,...,8）を求めると、以下のようになる。
x座標    ｙ座標    像面値差分
xi    yi    zi
0    0    0
x1    y1    z1
x2    y2    z2
x3    y3    z3
x4    y4    z4
x5    y5    z5
x6    y6    z6
x7    y7    z7
x8    y8    z8
【０１４４】
この値を用いると、式１の係数ａ〜ｄは、
a = [AveZh・r2 − AveZm・r1] ÷ [r1・r2・(r1 − r2)]
b = [AveZm・r1・r1 − AveZh・r2・r2] ÷ [r1・r2・(r1 − r2)]
AveZh = average (z1, z4, z5, z8)
AveZm = average (z2, z3, z6, z7)
r1 = √(x1・x1 + y1・y1)
r2 = √(x2・x2 + y2・y2)
c = [n・Σ(xi・zi) − Σzi・Σxi] ÷ [n・Σ(xi・xi) − (Σxi)・(Σxi )]
d = [n・Σ(yi・zi) − Σzi・Σyi] ÷ [n・Σ(yi・yi) − (Σyi)・(Σyi )]
と求められる（ｎは測定点の総数）。
【０１４５】
また補正値の係数は、複数の距離および複数のズームポジションのそれぞれについて用意しておく。距離別の補正値は、距離のそれぞれにおいて測定して求めるか、代表的な離散的な距離でのみ測定を行い、他の距離に対応する補正値は測定値と設計値とに基づいて計算で求めても良い。ズームホジションに対応する補正値は、ズームポジションごとに測定して求める。
【０１４６】
例えば、ズームポジションが広角端Ｗおよび望遠端Ｔとその間の５点（Ｍ１〜Ｍ５）の７つであり、それぞれについて４つの離散的な距離（Ｌ０〜Ｌ３）について補正式の係数ａを予め用意する場合、
距離Ｌ３    Ｌ２    Ｌ１    Ｌ０
Ｗ    a30    a20    a10    a00
Ｍ１  a31     a21    a11    a01
Ｍ２  a32     a22    a12    a02
Ｍ３  a33     a23    a13    a03
Ｍ４  a34     a24    a14    a04
Ｍ５  a35     a25    a15    a05
Ｔ    a36     a26    a16    a06
のようなテーブルとして保存しておくことができる。また補正式の係数ｂ，ｃ，ｄも同様に保存しておく。
【０１４７】
像面値補正の手順を図２１のフローチャートを用いて説明する。
Ｓ２１０１において、システム制御部１１５は、撮影者によって設定された、現在の撮影レンズ１０１のズームポジションをＡＦ処理部１０５を通じて読み込む。
【０１４８】
次いでＳ２１０２にて、現在のズームポジションに対応する補正式の各係数を読み込む。例えば、ズームポジションがＷｉｄe，Ｍ１〜Ｍ５，Ｔｅｌｅの７つである場合は、設定されているズームポジションの補正係数を読み込めばよい。一方、多数のズームポジションがある場合は、ズームポジションをグループ化して補正式の係数を持ち、設定されたズームポジションが属するグループの値を読み出すようにすることができる。
【０１４９】
例えば、ズームポジションがＷｉｄe，Ｍ１〜Ｍ９９，Ｔｅｌｅの１０１個である場合は補正式の係数aは、
距離Ｌ３    Ｌ２    Ｌ１    Ｌ０
Ｗ，Ｍ１〜Ｍ５      a30    a20    a10    a00
Ｍ６〜Ｍ１５        a31     a21    a11    a01
Ｍ１６〜Ｍ２５      a32     a22    a12    a02
Ｍ２６〜Ｍ３５      a33     a23    a13    a03
Ｍ３６〜Ｍ４５      a34     a24    a14    a04
Ｍ４６〜Ｍ５５      a35     a25    a15    a05
Ｍ５６〜Ｍ６５      a36     a26    a16    a06
Ｍ６６〜Ｍ７５      a37     a27    a17    a07
Ｍ７６〜Ｍ８５      a38     a28    a18    a08
Ｍ８６〜Ｍ９５      a39     a29    a19    a09
Ｍ９６〜Ｍ９９，Ｔ  a310   a210    a110  a010
のように保存しておくことができる。各グループの代表値としては、Ｗ，Ｍ１〜Ｍ５はＷｉｄｅの値、Ｍ９６〜Ｍ９９，ＴはＴｅｌｅの値、他のグループはその中心のズームポジションの値を用いることにする。これは広角端（Ｗｉｄｅ）および望遠端（Ｔｅｌｅ）での撮影頻度が他のズームポジションに比べて高いからである。また補正式の係数ｂ，ｃ，ｄについても同様である。
【０１５０】
そして、Ｓ２１０３でシステム制御部１１５は、Ｓ１４０５で決定した合焦位置を参照し、Ｓ２１０２で読み込んだ補正式の係数のうち、どの距離の値を使用するかを決定する。合焦位置を距離に換算した値Ｌが、係数を保持している距離Ｌ０〜Ｌ３と異なる場合は、換算された距離を挟む距離の係数を使用する。距離Ｌ３を無限遠に設定すれば、距離Ｌ３より遠側の合焦位置は存在しないので、Ｌ３より遠側の距離に関しては考慮する必要はない。しかし、距離Ｌ０は撮影頻度を考慮して５０ｃｍ程度に設定する場合がある。この場合は、距離Ｌ０より近側の合焦位置の場合は、距離Ｌ０の値を使用する。
【０１５１】
よって式に表わすと
Ｌ＝Ｌ３の場合、  a = a3、b = b3、c = c3、d = d3、
Ｌ＝Ｌ２の場合、  a = a2、b = b2、c = c2、d = d2、
Ｌ＝Ｌ１の場合、  a = a1、b = b1、c = c1、d = d1、
Ｌ≦Ｌ０の場合、  a = a0、b = b0、c = c0、d = d0、
となる。
【０１５２】
Ｓ２１０４においてシステム制御部１１５は、合焦位置の距離Ｌが、係数を記憶してある特定の距離Ｌ０〜Ｌ３もしくは距離Ｌ０より近距離以外の場合は、記憶された係数を補間して距離Ｌに対応する係数を求める。
【０１５３】
この補間は、例えば係数ａに関して図２２に示すように、記憶されていない距離に対応する計数値を、隣接する２つの記憶されている値からの直線補間であってよい。具体的には、以下の式に従って補間を行う。
Ｌ３＞Ｌ＞Ｌ２の場合
a  =   a2 + (a3 - a2) × ( 1 - Ｌ2/L)
b  =   b2 + (b3 - b2) × ( 1 - Ｌ2/L)
c  =   c2 + (c3 - c2) × ( 1 - Ｌ2/L)
d  =   d2 + (d3 - d2) × ( 1 - Ｌ2/L)
Ｌ２＞Ｌ＞Ｌ１の場合
a  =   a1 + (a2 - a1) × ( 1/Ｌ1 - 1/L ) / ( 1/Ｌ1 - 1/Ｌ2 )
b  =   b1 + (b2 - b1) × ( 1/Ｌ1 - 1/L ) / ( 1/Ｌ1 - 1/Ｌ2 )
c  =   c1 + (c2 - c1) × ( 1/Ｌ1 - 1/L ) / ( 1/Ｌ1 - 1/Ｌ2 )
d  =   d1 + (d2 - d1) × ( 1/Ｌ1 - 1/L ) / ( 1/Ｌ1 - 1/Ｌ2 )
Ｌ１＞Ｌ＞Ｌ０の場合
a  =   a0 + (a1 - a0) × ( 1/Ｌ０ - 1/L ) / ( 1/Ｌ０ - 1/Ｌ１ )
b  =   b0 + (b1 - b0) × ( 1/Ｌ０ - 1/L ) / ( 1/Ｌ０ - 1/Ｌ１ )
c  =   c0 + (c1 - c0) × ( 1/Ｌ０ - 1/L ) / ( 1/Ｌ０ - 1/Ｌ１ )
d  =   d0 + (d1 - d0) × ( 1/Ｌ０ - 1/L ) / ( 1/Ｌ０ - 1/Ｌ１ )
【０１５４】
そしてＳ２１０５においてシステム制御部１１５は、各ＡＦ枠について、Ｓ１４０４の距離マップ取得用スキャンで得られたピーク位置に対応する合焦距離に応じた係数を用いて式１から求めた像面値補正量Ｚをピーク位置から減じることにより、像面値を補正する。
【０１５５】
この際の式１で用いるｘ座標、ｙ座標は、例えば図２３に示すものを用いる。
距離マップ取得用スキャンは図４等に示すように７×９＝６３個のＡＦ枠を有しており、その座標は図２３に示すようになっている。例えば、００枠の像面を補正する場合は、Ｓ１４０４の距離マップ取得用スキャンで得られた００枠のＡＦ評価値のピーク位置から、ｘ＝−１．５、ｙ＝０．９９６として式１で求めた補正値を減じて、００枠の補正された像面値（ピーク位置）を得る。
【０１５６】
システム制御部１１５はこのようにして、各ＡＦ枠のｘ座標・ｙ座標を式１に代入し、００枠〜８６枠の６３個のＡＦ枠に対する補正値Ｚを求め、像面値（ピーク位置）を補正する。
【０１５７】
本実施形態では、図２５に示すような測定点０〜８の９点で像面値を用いて、式１の係数を決定した。しかし、測定された像面値と設計値から求まる像面値との差が閾値未満の場合は、測定値の代わりに設計値を用いてもよく、この場合測定誤差の影響を排除することができる。
【０１５８】
このように、光学特性によって生じるピーク位置の誤差を補正することにより、同一距離の被写体について等しいピーク位置を得ることができる。そのため、被写体距離に応じた領域分割や、等距離判定、被写体距離に応じた画像処理など、被写体距離を用いた処理の精度を向上することができる。
【０１５９】
（変形例）
なお、図２１のＳ２１０２で読み込む補正量算出式の係数は、デジタルカメラの個体ごとに実測した値であってもよい。製造工程において、複数の所定の距離、複数の所定のズームポジションで像面値の測定を行い、測定されていない距離とズームポジションについては測定点の結果から補間して求めればよい。
【０１６０】
デジタルカメラ１００において、補正量算出式の係数を算出して記憶する動作について、図２４に示すフローチャートを用いて説明する。この処理は、製造工程で実行するだけでなく、ユーザの指示に応じて実行可能としてもよい。
【０１６１】
Ｓ２４０１でシステム制御部１１５は、使用する変数のリセットなど初期化処理を行う。
Ｓ２４０２でシステム制御部１１５は、ＡＦ処理部１０５を通じて撮影レンズ１０１のズームポジションを、測定を開始するズームポジションに設定する。例えば、Ｗｉｄｅ・Ｍ４０・Ｍ６０・Ｍ８０・Ｔｅｌｅのズームポジションで測定するのであれば、ズームポジションをＷｉｄｅに設定する。どのズームポジションで測定するかは予め設定しておく。
【０１６２】
Ｓ２４０３でシステム制御部１１５は、ＡＦ処理部１０５を通じて、フォーカスレンズ１０４をＡＦ評価値の取得を開始する位置、例えば合焦距離が無限遠に相当するフォーカスレンズ位置へ移動させる。
Ｓ２４０４でシステム制御部１１５は、撮像素子の中心と、像高の異なる周辺位置８点の計９点のＡＦ評価値を取得する。ここで、ＡＦ評価値を取得する位置は、例えば図２５に示すように、中心、中心から撮像素子の４角に向かう方向における像高２割の４点および像高７割の４点とする。
【０１６３】
９点についてのＡＦ評価値を取得すると、Ｓ２４０５でシステム制御部１１５は、フォーカスレンズ１０４が測定の終了位置に到達したか否かを判定する。到達していなければ、Ｓ２４０６でシステム制御部１１５は、ＡＦ処理部１０５を通じ、次の測定を行う位置へフォーカスレンズ１０４を移動させ、Ｓ２４０４でＡＦ評価値を取得する処理を繰り返す。測定を無限遠側から行った場合、例えば、フォーカスレンズ１０４の測定終了位置は５０ｃｍなど通常撮影で想定される至近に相当する位置とする。
【０１６４】
フォーカスレンズ１０４が測定の終了位置に到達したならば、Ｓ２４０７でシステム制御部１１５は、各測定点で取得したＡＦ評価値のピーク位置を求める。
そしてＳ２４０８でシステム制御部１１５は、周辺の８つの測定点のＡＦ評価値のピーク位置x1’,..., x8’と中心のＡＦ評価値のピーク位置x0’の差分を求める。これにより、ある１つの被写体距離について、中心と周辺位置とのピーク位置の差が得られる。
【０１６５】
Ｓ２４０９でシステム制御部１１５は、ズームポジションが測定終了位置に到達したか否かを判定する。到達していなければＳ２４１０で、ＡＦ処理部１０５を通じて撮影レンズ１０１を次の測定を行うズームポジションへ移動させ、Ｓ２４０３からの処理を繰り返す。例えば、Ｗｉｄｅ・Ｍ４０・Ｍ６０・Ｍ８０・Ｔｅｌｅのズームポジションで測定する場合、ズームポジションの測定終了位置はＴｅｌｅになる。
【０１６６】
ズームポジションが測定終了位置に到達していれば、Ｓ２４１１でシステム制御部１１５は、中心と測定点１〜８とのピーク位置の差が測定されていない距離における、中心と測定点１〜８とのピーク位置の差を求める。この処理を距離補間と称する。
中心におけるピーク位置と、測定点１〜８でのピーク位置の差は、像面値の差に相当するが、この値は光学系の焦点距離が短い（画角が広い）場合は距離依存性が小さい。そこで、Ｗｉｄｅ側のズームポジションでは、測定した距離における値をそのまま用いる。上述したように、距離Ｌ３、Ｌ２、Ｌ１、Ｌ０での係数が保存され、距離Ｌ０で測定したならば、距離Ｌ０での測定値を、距離Ｌ３、Ｌ２、Ｌ１にそのまま適用する。
【０１６７】
Ｔｅｌｅ側のようにピーク位置の差における距離依存性が大きいズームポジションについては、設計値を基準に所定のオフセット量を加算もしくは減算することで距離補間を行うことができる。例えば、Ｗｉｄｅ・Ｍ４０・Ｍ６０・Ｍ８０・Ｔｅｌｅのズームポジションで測定する場合で、Ｍ８０からＴｅｌｅ側のズームポジションでピーク位置の差の距離依存性が大きいとする。この場合、距離Ｌ０の値から、距離Ｌ３、Ｌ２、Ｌ１に対応する異なる値の所定のオフセット量を減算することで、距離Ｌ３、Ｌ２、Ｌ１の値を計算することができる。
【０１６８】
Ｓ２４１２でシステム制御部１１５は、中心と測定点１〜８とのピーク位置の差が測定されていないズームポジションにおける、中心と測定点１〜８とのピーク位置の差を求める。この処理をズーム補間と称する。
ズーム補間は、実測値の直線補間によって実施することができる。例えば、Ｗｉｄｅ・Ｍ４０・Ｍ６０・Ｍ８０・Ｔｅｌｅのズームポジションで測定を行っているとすると、Ｍ９０の値は広角側および望遠側に隣接するズームポジションでの測定値、すなわちＭ８０とＴｅｌｅでの測定値を直線補間して求めることができる。
【０１６９】
ズームポジションzoom(i)における、中心と周辺位置におけるＡＦ評価値のピーク位置の差分値Ｓ(zoom(i))は、以下のように計算することができる。
S(zoom(i)) =S(i-1) + [S(i+1) - S(i-1)] × [zoom(i) - zoom(i-1)] ÷ [zoom(i+1) × zoom(i-1)]
ここで、ズームポジションzoom(i-1)およびzoom(i+1)は、広角側および望遠側でズームポジションzoom(i)に隣接するズームポジションである。また、Ｓ(zoom(i-1))およびＳ(zoom(i+1))はこれらズームポジションにおける中心と周辺位置におけるＡＦ評価値のピーク位置の差分値である。
【０１７０】
このズーム補間処理を、記録するズームポジションのぞれぞれにおいて、記録する距離（例えば距離Ｌ３、Ｌ２、Ｌ１、Ｌ０）全てについて行う。
【０１７１】
このように全ての記録するズームポジション・距離において、周辺８つの測定点におけるＡＦ評価値のピーク位置の、中心におけるピーク位置との差分を算出すると、Ｓ２１１３でシステム制御部１１５は、式１における係数ａ〜ｄを上述の通り求める。
この処理を全ての記録するズームポジション・距離において行ったならば、Ｓ２４１４でシステム制御部１１５は、求めた値を、所定の不揮発性の記録領域に保存する。
【０１７２】
ここでは、１つの距離について、中心におけるＡＦ評価値のピーク値と周辺位置におけるＡＦ評価値のピーク位置との差分値を測定したが、複数の距離について測定してもよい。この場合の測定されない距離の値は、ズーム補間と同様に、直線補間によって求めればよい。もちろん、記録する全ての距離において測定を行えば、補間は不要である。
【図１】
2014126858.tif 000003
【図２】
2014126858.tif 000004
【図３】
2014126858.tif 000005
【図５】
2014126858.tif 000006
【図６】
2014126858.tif 000007
【図８】
2014126858.tif 000008
【図９】
2014126858.tif 000009
【図１１】
2014126858.tif 000010
【図１２】
2014126858.tif 000011
【図１３】
2014126858.tif 000012
【図１４】
2014126858.tif 000013
【図１６】
2014126858.tif 000014
【図１８】
2014126858.tif 000015
【図１９】
2014126858.tif 000016
【図２０】
2014126858.tif 000017
【図２１】
2014126858.tif 000018
【図２２】
2014126858.tif 000019
【図２３】
2014126858.tif 000020
【図２４】
2014126858.tif 000021
【図２５】
2014126858.tif 000022
【図４】
2014126858.tif 000023
【図７】
2014126858.tif 000024
【図１０】
2014126858.tif 000025
【図１５】
2014126858.tif 000026
【図１７】
2014126858.tif 000027