(57)【要約】【課題】  サブピクセル演算の焦点検出精度を向上させる。【解決手段】  焦点検出装置は、一対の像信号を相対的にシフトして相関量を算出する第１の算出手段と、シフトを行う単位よりも小さい分解能で相関量から像ずれ量を算出する第２の算出手段を有する。また、シフト量の変化に対する相関量の変化を示した相関量波形の形状に応じて、第２の算出手段により像ずれ量を算出する際の演算式を複数の演算式の中から選択する、もしくは、第２の算出手段により複数の演算式から算出された演算式ごとの焦点検出データの中からいずれかの像ずれ量を選択する選択手段を有する。【選択図】  図１１
2018010266.tif 000002
【特許請求の範囲】
【請求項１】
視差を有する一対の像信号を出力可能な撮像素子と、
前記一対の像信号を相対的にシフトして相関量を算出する第１の算出手段と、
シフト量の変化に対する前記相関量の変化を示した相関量波形の形状に応じて、複数の演算式の中からいずれかの演算式を選択する選択手段と、
前記選択手段により選択された演算式に基づいて、前記シフトを行う単位よりも小さい分解能で前記相関量から像ずれ量を算出する第２の算出手段とを有することを特徴とする焦点検出装置。
【請求項２】
前記選択手段は、前記相関量波形の波形形状の特徴量を算出し、当該特徴量に応じて、前記演算式を選択することを特徴とする請求項１に記載の焦点検出装置。
【請求項３】
前記特徴量は、前記相関量波形の極値付近における前記相関量の変化の急峻性を示す量であることを特徴とする請求項２に記載の焦点検出装置。
【請求項４】
前記シフト量の変化に対する前記相関量の変位量に基づく相関変位量を算出する第３の算出手段を有し、
前記特徴量は、前記相関量波形において前記相関量が極値となるシフト量の付近における前記相関変位量の変化量であることを特徴とする請求項２または３に記載の焦点検出装置。
【請求項５】
前記特徴量は、前記一対の像信号の一致度に基づく量であることを特徴とする請求項２または３に記載の焦点検出装置。
【請求項６】
前記特徴量は、前記相関量から算出される像ずれ量であることを特徴とする請求項２または３に記載の焦点検出装置。
【請求項７】
前記特徴量は、前記相関量が極値となるシフト量の付近における所定範囲内での前記相関量の差および前記相関量波形の変曲点の数と位置に基づいて決定される有効な相関量の個数であることを特徴とする請求項２または３に記載の焦点検出装置。
【請求項８】
撮像素子から出力された視差を有する一対の像信号を用いて焦点検出を行う方法であって、
前記一対の像信号を相対的にシフトして相関量を算出する第１の算出ステップと、
シフト量の変化に対する前記相関量の変化を示した相関量波形の形状に応じて、複数の演算式の中からいずれかの演算式を選択する選択ステップと、
前記選択ステップにより選択された演算式に基づいて、前記シフトを行う単位よりも小さい分解能で前記相関量から像ずれ量を算出する第２の算出ステップとを有することを特徴とする焦点検出方法。
【請求項９】
視差を有する一対の像信号を出力可能な撮像素子と、
前記一対の像信号を相対的にシフトして相関量を算出する第１の算出手段と、
複数の演算式を用いて、シフトを行う単位よりも小さい分解能で前記相関量から像ずれ量を含む焦点検出データを算出する第２の算出手段と、
前記複数の演算式から算出された演算式ごとの焦点検出データを用いて、前記シフトの量の変化に対する前記相関量の変化を示した相関量波形の形状を判定する判定手段と、
前記相関量波形の判定結果に基づいて、前記複数の演算式から算出された焦点検出データの中からいずれかの像ずれ量を選択する選択手段を有することを特徴とする焦点検出装置。
【請求項１０】
前記選択手段は、前記複数の演算式から算出される焦点検出データの中から相関量波形の波形形状の示す特徴量を取得し、当該特徴量に応じて、前記像ずれ量を選択することを特徴とする請求項９に記載の焦点検出装置。
【請求項１１】
前記特徴量は、前記相関量波形の極値付近における前記相関量の変化の急峻性を示す量であることを特徴とする請求項１０に記載の焦点検出装置。
【請求項１２】
前記シフトの量の変化に対する前記相関量の変位量に基づく相関変位量を算出する第３の算出手段を有し、
前記特徴量は、前記相関量波形において前記相関量が極値となるシフト量の付近における前記相関変位量の変化量であることを特徴とする請求項１０または１１に記載の焦点検出装置。
【請求項１３】
前記特徴量は、前記一対の像信号の一致度に基づく量であることを特徴とする請求項１０または１１に記載の焦点検出装置。
【請求項１４】
撮像素子から出力された視差を有する一対の像信号を用いて焦点検出を行う方法であって、
前記一対の像信号を相対的にシフトして相関量を算出する第１の算出ステップと、
複数の演算式を用いて、シフトを行う単位よりも小さい分解能で前記相関量から像ずれ量を含む焦点検出データを算出する第２の算出ステップと、
前記複数の演算式から算出された演算式ごとの焦点検出データを用いて、前記シフトの量の変化に対する前記相関量の変化を示した相関量波形の形状を判定する判定ステップと、
前記相関量波形の判定結果に基づいて、前記複数の演算式から算出された焦点検出データの中からいずれかの像ずれ量を選択する選択ステップを有することを特徴とする焦点検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位相差検出方式の焦点検出機能を備えた焦点検出装置に関する。
【背景技術】
【０００２】
カメラなどの撮像装置で用いられる焦点検出方式の一つとして、位相差検出方式がある。位相差検出方式では、撮影レンズの射出瞳の異なる領域を通過した光束を、１組のセンサによりそれぞれ受光する。そして、１組のセンサから出力される信号のずれ量、すなわち光束の分割方向の相対的位置ずれ量（像ずれ量）を検出することにより、撮影レンズのピント方向のずれ量（デフォーカス量）を算出する。このようにして算出されたデフォーカス量をもとにフォーカスレンズの制御を行うことで、位相差検出方式による自動焦点調節（位相差ＡＦ）が実現される。
【０００３】
また、位相差検出方式の焦点検出に用いる信号を取得可能な構成を撮像素子に備えることで、専用の焦点検出用センサを不要にするとともに、高速に位相差ＡＦを実現する撮像面位相差ＡＦが知られている。一例として、撮像素子の画素の光電変換部を２分割して瞳分割機能を付与し、２分割された光電変換部の出力を個別に処理することで焦点検出を行うとともに、２分割された光電変換部の合算出力を画像信号として用いる構成が知られている。
【０００４】
特許文献１には、２分割した光束を１組の焦点検出センサにより受光したときの状態を判定し、判定された状態に応じて、複数の相関演算式の中から相関量に影響を及ぼす程度を低減する相関演算式を選択する方法が記載されている。
【０００５】
特許文献２には、１画素違いの連続した２種類の画素信号に対してそれぞれ相関演算を行い、算出された２種類の相関量から２種類の像ずれ量を算出、平均化処理を行った上で焦点検出結果とする方法が記載されている。また、特許文献２には、１シフトの整数単位よりも細かい小数単位の分解能で相関が高くなる像ずれ量を近似演算する、サブピクセル演算の一例が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２７１５２３号公報
【特許文献２】特開平５−２７１６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献２のようなサブピクセル演算を行う際に、相関量波形の形状によっては、正しい像ずれ量を算出することができない可能性がある。相関量波形の状態に応じてサブピクセル演算式を決定することは、いずれの先行技術文献にも記載されていない。
【０００８】
上記の課題に鑑みて、本発明は、サブピクセル演算の焦点検出精度を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明に係る焦点検出装置は、視差を有する一対の像信号を出力可能な撮像素子と、前記一対の像信号を相対的にシフトして相関量を算出する第１の算出手段と、シフト量の変化に対する前記相関量の変化を示した相関量波形の形状に応じて、複数の演算式の中からいずれかの演算式を選択する選択手段と、前記選択手段により選択された演算式に基づいて、前記シフトを行う単位よりも小さい分解能で前記相関量から像ずれ量を算出する第２の算出手段とを有することを特徴とする。
【００１０】
また、本発明に係る焦点検出装置は、視差を有する一対の像信号を出力可能な撮像素子と、前記一対の像信号を相対的にシフトして相関量を算出する第１の算出手段と、複数の演算式を用いて、シフトを行う単位よりも小さい分解能で前記相関量から像ずれ量を含む焦点検出データを算出する第２の算出手段と、前記複数の演算式から算出された演算式ごとの焦点検出データを用いて、前記シフト量の変化に対する前記相関量の変化を示した相関量波形の形状を判定する判定手段と、前記相関量波形判定結果に基づいて、前記複数の演算式から算出された焦点検出データの中からいずれかの像ずれ量を選択する選択手段を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、サブピクセル演算の焦点検出精度を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態における撮像装置の構成を示すブロック図である。
【図２】本実施形態における撮像装置の撮像動作を示すフローチャートである。
【図３】本実施形態における撮像素子の構成を説明するための図である。
【図４】本実施形態における撮影レンズの瞳分割を説明するための図である。
【図５】本実施形態における焦点検出領域を示す図である。
【図６】本実施形態における焦点検出領域の画素の配列を模式的に示す図である。
【図７】本実施形態における像信号および相関量波形の一例を示す図である。
【図８】本実施形態における撮像光学系を説明するための図である。
【図９】第１および第２の実施形態における焦点検出動作を示すフローチャートである。
【図１０】本実施形態における相関量波形の例を示す図である。
【図１１】第１の実施形態における相関量波形形状判定動作を示すフローチャートである。
【図１２】本実施形態における信頼性判定動作を示すフローチャートである。
【図１３】本実施形態における焦点調節制御動作を示すフローチャートである。
【図１４】第２の実施形態における相関量波形形状判定動作を示すフローチャートである。
【図１５】第２の実施形態における相関量波形形状判定を説明する図である。
【図１６】第３の実施形態における焦点検出動作を示すフローチャートである。
【図１７】第３の実施形態における相関量波形形状判定動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の好適な実施の形態について、図面を参照しながら詳細に説明する。なお、各図において同一の部材については同一の参照番号を付し、重複する説明は省略する。
【００１４】
（第１の実施形態）
＜撮像装置の構成＞
まず、図１を参照して、本実施形態における焦点検出装置を備えた撮像装置の構成について説明する。図１は、撮像装置１００の構成を示すブロック図である。撮像装置１００の例としては、被写体を撮影して、動画や静止画のデータをテープや固定メモリ、光ディスクや磁気ディスクなどの各種メディアに記録可能なビデオカメラやスチルカメラなどがあるが、これらに限定されるものではない。
【００１５】
撮像装置１００内の各部は、バス１６０を介して接続され、メインＣＰＵ１５１（演算処理装置、以下ＣＰＵ）により制御される。撮像装置１００は、一つのマイクロレンズを共有する複数の光電変換素子を備えた撮像素子１４１を有し、当該撮像素子が出力する像信号を用いて位相差検出方式（撮像面位相差検出方式）の焦点検出を行う焦点検出装置を搭載している。
【００１６】
撮影レンズ１０１は、第１の固定レンズ群１０２、ズームレンズ１１１、絞り１０３、第２の固定レンズ群１２１、およびフォーカスレンズ１３１を含む撮像光学系を備えたレンズユニットとして構成されている。絞り制御部１０５は、ＣＰＵ１５１の指示に従い、絞りアクチュエータ１０４を介して絞り１０３を駆動することにより、絞り１０３の開口径を調整して撮影時の光量調整を行う。ズーム制御部１１３は、ズームアクチュエータ１１２を介してズームレンズ１１１を駆動することにより、焦点距離を変更する。フォーカス制御部１３３は、フォーカスアクチュエータ１３２を介してフォーカスレンズ１３１を駆動することにより、焦点状態（フォーカス状態）を制御する。フォーカスレンズ１３１は、焦点調節用レンズであり、図１には単レンズとして簡略的に示されているが、通常複数のレンズから構成されている。なお、図１では撮影レンズ１０１と一体となって構成されている撮像装置１００を示しているが、撮影レンズ１０１を着脱可能な構成でもよい。
【００１７】
撮像光学系を通過した光束により撮像素子１４１上に結像される被写体像は、撮像素子１４１により電気信号に変換される。撮像素子１４１は、光電変換により被写体像（光学像）を電気信号に変換する光電変換素子である。撮像素子１４１は、横（水平）方向にｍ画素、縦（垂直）方向にｎ画素の受光素子のそれぞれにおいて、後述のように２つの光電変換素子（受光領域）が配置されている構成となっている。撮像素子１４１上に結像された被写体像を光電変換して得られた電気信号は、撮像信号処理部１４２により画像信号（画像データ）として処理される。
【００１８】
位相差ＡＦ処理部１３５は、撮像素子１４１の各画素における２つの光電変換素子（第１の光電変換素子・第２の光電変換素子）からの像信号（信号値）を撮像信号処理部１４２より取得する。そして、被写体からの光を分割して得られた像の分割方向における像ずれ量の検出（算出）を行う。また、位相差ＡＦ処理部１３５は、検出した像ずれ量に基づいて撮影レンズ１０１のピント方向のずれ量（デフォーカス量）の算出を行う。デフォーカス量は、像ずれ量に係数（換算係数）を掛けることによって算出することができる。なお、像ずれ量算出・デフォーカス量算出の各動作は、ＣＰＵ１５１の指示に基づいて行われる。また、これらの動作の少なくとも一部をＣＰＵ１５１またはフォーカス制御部１３３で実行するように構成してもよい。
【００１９】
位相差ＡＦ処理部１３５は、算出されたデフォーカス量をフォーカス制御部１３３へ出力する。フォーカス制御部１３３は、デフォーカス量に基づいて、フォーカスアクチュエータ１３２を駆動する駆動量を決定する。フォーカス制御部１３３およびフォーカスアクチュエータ１３２によるフォーカスレンズ１３１の移動制御により、焦点調節制御（ＡＦ制御）が実現される。
【００２０】
撮像信号処理部１４２から出力される画像データは、撮像素子制御部１４３に送られ、一時的に一時記憶装置ＲＡＭ１５５に蓄積される。ＲＡＭ１５５に蓄積された画像データは、画像圧縮解凍部１５３にて圧縮された後、メモリーカードなどの記録媒体１５８に記録される。
【００２１】
これと並行して、ＲＡＭ１５５に蓄積された画像データは、画像処理部１５２に送られる。画像処理部１５２（画像処理手段）は、第１の光電変換素子および第２の光電変換素子の合成信号を用いて得られた画像信号を処理する。画像処理部１５２は、例えば、画像データに対して最適なサイズへの縮小・拡大処理を行う。最適なサイズに処理された画像データは、表示部１５０（ディスプレイ）に送信され画像表示される。これにより、操作者はリアルタイムで撮影画像を観察することができる。なお、画像の撮影直後には表示部１５０が所定時間だけ撮影画像を表示することで、操作者が撮影画像を確認することができる。
【００２２】
操作部１５７（操作スイッチ）は、操作者が撮像装置１００への指示を行うための操作部材である。操作部１５７の操作により入力された操作指示信号は、バス１６０を介してＣＰＵ１５１に送信される。
【００２３】
撮像素子制御部１４３は、ＣＰＵ１５１からの指示に基づき、撮像素子１４１の蓄積時間、撮像素子１４１から撮像信号処理部１４２へ出力するゲインの値の指示を受け取り、撮像素子１４１を制御する。
【００２４】
読出し専用メモリＲＯＭ１５４は、撮像装置１００の動作に必要な制御プログラムを記憶している。操作者の操作により撮像装置１００が起動すると（電源オフ状態から電源オン状態へ移行すると）、読出し専用メモリＲＯＭ１５４に格納された制御プログラムがＲＡＭ１５５の一部に読込まれる（ロードされる）。ＣＰＵ１５１は、ＲＡＭ１５５にロードされた制御プログラムに従って撮像装置１００の動作の制御を行う。
【００２５】
＜撮像動作＞
次に、図２を参照して、撮像装置１００の焦点調節制御を含む撮影動作について説明する。図２は、撮像装置１００の撮影動作を示すフローチャートである。図２の各ステップは、ＣＰＵ１５１の制御プログラムに従った指示に基づいて行われる。
【００２６】
まず、ステップＳ２０１において、撮像装置１００の電源がオンにされると、ＣＰＵ１５１は、演算（制御）を開始する。続いて、ステップＳ２０２において、ＣＰＵ１５１は、レジスタの初期化やデータの初期化、及び周辺回路の初期化等の初期設定を行う。次に、ステップＳ２０３において、ＣＰＵ１５１は、フォーカスレンズ１３１などの光学部材を初期位置に移動させる初期化を行う。
【００２７】
次に、ステップＳ２０４において、ＣＰＵ１５１は、操作者により電源オフ操作が行われたか否か（電源オフ操作の有無）を検出する。ステップＳ２０４にて電源オフ操作が検出された場合、ステップＳ２０５に進む。
【００２８】
ステップＳ２０５において、ＣＰＵ１５１は、撮像装置１００の電源をオフにするため、光学部材を初期位置へ移動し、各種フラグや制御変数のクリアなどの後処理を行う。そして、ステップＳ２０６において、撮像装置１００の撮影動作（制御）を終了する。
【００２９】
一方、ステップＳ２０４にて電源オフ操作が検出されない場合、ステップＳ２０７に進む。ステップＳ２０７において、ＣＰＵ１５１は、焦点検出処理を行う。焦点検出処理の詳細については、図９を用いて後述する。
【００３０】
次に、ステップＳ２０８において、フォーカス制御部１３３は、ステップＳ２０７にて決定された駆動方向、速度、および位置にしたがってフォーカスレンズ１３１を駆動し、フォーカスレンズ１３１を所望の位置に移動させる焦点調節制御を行う。焦点調節制御の詳細については、図１３を用いて後述する。
【００３１】
次に、ステップＳ２０９において、撮像素子１４１は、本露光により被写体像を光電変換して撮像信号を生成する（撮像処理）。また、撮像信号処理部１４２は、光電変換により生成された撮像信号に所定の処理（画像処理）を施して画像信号の出力を行う。
【００３２】
次に、ステップＳ２１０において、ＣＰＵ１５１は、操作者により記録ボタン（操作部１５７）の押下がなされたか否かを検出し、記録中であるか否かを判定する。記録中でない場合には、ステップＳ２０４へ戻る。一方、記録中である場合には、ステップＳ２１１に処理を移す。
【００３３】
ステップＳ２１１において、画像圧縮解凍部１５３は、撮像信号処理部１４２から出力された画像信号（画像データ）に圧縮処理を行う。ＣＰＵ１５１は、圧縮処理された画像データを記録媒体１５８に記録する。そして、ステップＳ２０４に戻り、前述の各ステップの処理を繰返す。
【００３４】
＜撮像面位相差検出方式の焦点検出＞
次に、本実施形態における位相差検出方式の焦点検出について説明する。まず、図３を参照して、位相差検出方式の焦点検出に用いる像信号を出力可能な撮像素子１４１の構成について説明する。
【００３５】
図３（ａ）は、瞳分割機能を有する撮像素子１４１の画素の構成図（断面図）である。各画素の光電変換素子３０は、２つの光電変換素子３０―１（第１の光電変換素子）および光電変換素子３０−２（第２の光電変換素子）に分割されており、瞳分割機能を有する。マイクロレンズ３１（オンチップマイクロレンズ）は、光電変換素子３０に効率よく光を集める機能を有し、光電変換素子３０―１、３０−２の境界に光軸が合うように配置されている。すなわち、各画素において、１つのマイクロレンズ３１に対応して２つの光電変換素子３０−１および光電変換素子３０−２が設けられている。また、各画素には、平坦化膜３２、カラーフィルタ３３、配線３４、および層間絶縁膜３５が設けられている。なお、各画素の光電変換素子３０の分割数は２より大きくてもよい。
【００３６】
図３（ｂ）は、撮像素子１４１が有する画素配列の一部を示す図（平面図）である。撮像素子１４１は、図３（ａ）に示す構成を有する１画素を複数配列することで形成される。また、撮像を行うため、各画素にはＲ（赤色）、Ｇ（緑色）、Ｂ（青色）のカラーフィルタ３３が交互に配列され、４画素で１組の画素ブロック４０、４１、４２を配列することで、所謂ベイヤー配列が構成されている。なお、図３（ｂ）において、Ｒ、Ｇ、Ｂのそれぞれの下に示される「１」または「２」は、光電変換素子３０−１、３０−２のそれぞれに対応している。
【００３７】
図３（ｃ）は、撮像素子１４１の光学原理図であり、図３（ｂ）中のＡ―Ａ線で切断して得られた断面図の一部を示す。撮像素子１４１は、撮影レンズ１０１の撮影光学系の予定結像面に配置されている。マイクロレンズ３１の作用により、光電変換素子３０−１、３０−２はそれぞれ、撮影レンズ１０１の瞳（射出瞳）の異なる位置（領域）を通過した１対の光束を受光するように構成されている。
【００３８】
光電変換素子３０−１は、主に撮影レンズ１０１の瞳のうち図３（ｃ）中の右側位置を透過する光束を受光する。一方、光電変換素子３０−２は、主に、撮影レンズ１０１の瞳の図３（ｃ）中の左側位置を透過する光束を受光する。
【００３９】
＜撮影レンズの瞳の原理＞
続いて、図４を参照して、撮影レンズ１０１の瞳について説明する。図４は、撮像素子１４１から見た場合の、撮影レンズ１０１の瞳５０を示す図である。
【００４０】
図４において、光電変換素子３０−１の感度領域５１−１（以下、Ａ像瞳とする）、光電変換素子３０−２の感度領域５１−２は（以下、Ｂ像瞳とする）が示されている。また、Ａ像瞳の重心位置５２−１と、Ｂ像瞳の重心位置５２−２が示されている。
【００４１】
撮像処理を行う場合、同一画素において同一色のカラーフィルタが配置された２つの光電変換素子の出力を合成することにより、画像信号を生成することが可能である。
【００４２】
一方、焦点検出処理を行う場合、各画素ブロック内における光電変換素子３０−１に対応する光電変換素子からの出力を積算することにより、一画素の焦点検出信号を取得する。そして、この信号を画素ブロック４０、４１、４２のように横（水平）方向に連続して取得することによりＡ像信号を生成することが可能である。
【００４３】
同様に、一画素ブロック内における光電変換素子３０−２に対応する光電変換素子からの出力を積算することにより、一画素の焦点検出信号を取得する。そして、この信号を横方向の画素ブロックについて連続して取得することによりＢ像信号を生成することが可能である。Ａ像信号およびＢ像信号により、視差を有する一対の位相差検出用信号が生成される。このように、本実施形態の撮像素子は、１つのマイクロレンズに対して第１の光電変換部および第２の光電変換部を備えており、第１の光電変換部および第２の光電変換部から撮像光学系の焦点状態に応じた一対の像信号を出力する。
【００４４】
＜焦点検出領域の説明＞
図５は、本実施形態の焦点検出方法にて用いられる焦点検出領域を示す図である。図５に示されるように、撮像画角６０に対して、適切な位置に焦点検出領域６１が設けられる。位相差ＡＦ処理部１３５は、焦点検出領域６１において、一対の位相差検出用信号を生成し、焦点検出を行う。なお、撮像画角６０上において、複数の焦点検出領域を設定することも可能である。本実施形態では、撮像素子１４１を構成する全画素において２つの光電変換素子を設け、焦点検出領域から位相差検出用信号を生成する方法について説明したが、これに限定されるものではない。例えば、焦点検出領域にのみ図３（ａ）に示される構造（分割画素構造）を有する撮像素子１４１を用いてもよい。
【００４５】
本実施形態では図６に示すように、適度な範囲で図中縦方向において各画素ブロックの像信号を合成（輝度ライン合成）したものを焦点検出に用いる。図６の例では、縦方向にベイヤー配列における２画素ブロック分を用いて、加算平均することにより、焦点検出に用いる像信号を生成している。なお、輝度ライン合成する数は、任意に設定可能である。輝度ライン合成する数が多いほど、撮像画角６０に対して焦点検出領域６１が縦方向に大きくなる。
【００４６】
＜２つの像信号の像ずれ量＞
次に、図７を参照して、Ａ像信号およびＢ像信号（以下、像信号とも言う）について説明する。
【００４７】
図７（ａ）は、像信号を説明するための図であり、縦軸は像信号の信号レベル、横軸は画素位置をそれぞれ示している。一対の位相差検出用の像信号の像ずれ量Ｘは、撮影レンズ１０１の結像状態（合焦状態、前ピン状態、または後ピン状態）に応じて変化する。
【００４８】
撮影レンズ１０１が合焦状態の場合、２つの像信号の像ずれ量は０となる。一方、前ピン状態または後ピン状態の場合、異なる方向に像ずれ量が生じる。また、像ずれ量Ｘは、撮影レンズ１０１により被写体像が結像している位置とマイクロレンズ上面との距離、いわゆるデフォーカス量と一定の関係を有する。
【００４９】
像ずれ量Ｘを算出するため、位相差ＡＦ処理部１３５は、２つの像信号に対して相関演算を行う。この相関演算では、画素をシフトさせながら２つの像信号の相関量が演算され、相関が最も高くなる位置同士の差が像ずれ量Ｘとして算出される。
【００５０】
図７（ｂ）は、像信号の画素をシフトさせていったときのシフト位置（シフト量）（ｋ）における２つの像信号の相関量Ｃｏｒ（ｋ）を並べた波形（以下、相関量波形とする）を示す図である。図７（ｂ）において、横軸は画素のシフト位置（ｋ）、縦軸はその時のＡ像信号とＢ像信号の相関量Ｃｏｒ（ｋ）を示している。この像ずれ量Ｘから撮影レンズのデフォーカス量を求め、撮影レンズが合焦状態になるようなレンズ駆動量を算出することで焦点調節を行う。
【００５１】
＜像ずれ量からデフォーカス量への変換＞
図８を参照して、相関演算により算出された像ずれ量からデフォーカス量への変換について説明する。図８は、撮影レンズ１０１および撮像素子１４１を含む光学系を示す図である。
【００５２】
図８において、被写体８０に対する予定結像面の位置ｐ０の光軸上に焦点検出面の位置ｐ１がある。像ずれ量とデフォーカス量との関係は、光学系に応じて決定される。デフォーカス量は、像ずれ量Ｘに所定の係数Ｋ（換算係数）を掛けることにより算出することができる。
【００５３】
係数Ｋは、Ａ像瞳とＢ像瞳との重心位置に基づいて算出される。焦点検出面の位置ｐ１が位置ｐ２に移動した場合、位置ｐ０、ｑ２、ｑ３の三角形と位置ｐ０、ｑ２’、ｑ３’との三角形の相似に従って、像ずれ量が変化する。この係数Ｋを用いることにより、焦点検出面の位置ｐ２でのデフォーカス量を算出することが可能となる。ＣＰＵ１５１は、デフォーカス量に基づいて、被写体に対して合焦状態を得るためのフォーカスレンズ１３１の位置（駆動量）を算出する。
【００５４】
＜焦点検出処理＞
次に、図９を参照して、本実施形態における焦点検出処理について説明する。図９は、図２中のステップＳ２０７における焦点検出処理を示すフローチャートである。図９の各ステップは、ＣＰＵ１５１が制御プログラムを実行して各部を制御することにより実施される。
【００５５】
まず、ステップＳ９０１において、焦点検出が開始される。ステップＳ９０２にて、ＣＰＵ１５１および撮像素子制御部１４３は、撮像素子１４１を制御して所定の蓄積時間に従って電荷蓄積（露光）を行わせる。ステップＳ９０３にて蓄積の完了を待ち、蓄積が完了したと判断した場合は、次のステップＳ９０４に移行する。ステップＳ９０４では、ＣＰＵ１５１は、位相差ＡＦ処理部１３５により焦点検出領域での像信号の読出しを行わせる。
【００５６】
次に、ステップＳ９０５において、ＣＰＵ１５１は、焦点検出領域にある所定画素数分の読み出しが完了したか否かを判定する。所定画素数分の読出しが終了したら、ステップＳ９０６の処理に移行する。
【００５７】
次に、ステップＳ９０６において、ＣＰＵ１５１は、像信号に前補正処理を行う。この前補正処理は、読み出した像信号に対する補正処理と、平均化フィルタ、エッジ強調フィルタなどの像信号のフィルタ処理とを含む。
【００５８】
ステップＳ９０７において、ＣＰＵ１５１は、像信号に対して相関演算を行い、算出された相関量から、相関が最も高くなるシフト量を算出し、像ずれ量Ｘの算出を行う。相関演算の詳細に関しては後述する。なお、ここでの像ずれ量算出は、相関が最も高くなるシフト量と前後のシフト量での相関値を用いたサブピクセル演算を含み、画素シフト単位未満の補間値の算出を行う。このシフト量と補間値との和が像ずれ量Ｘとなる。サブピクセル演算の詳細に関しては後述する。
【００５９】
次に、ステップＳ９０８において、ＣＰＵ１５１は、ステップＳ９０７で算出された相関量波形の形状判定を行う。相関量波形形状判定の詳細については、図１１を用いて後述する。
【００６０】
次に、ステップＳ９０９において、ＣＰＵ１５１は、ステップＳ９０８での相関量波形形状判定の判定結果に基づいて選択されたサブピクセル演算式を用いて、焦点検出データの演算を行う。具体的には、像ずれ量および信頼性判定で用いる二像一致度・相関変化量といった指標の算出を行う。
【００６１】
次に、ステップＳ９１０において、ＣＰＵ１５１は、算出した像ずれ量Ｘの信頼性を判定する信頼性判定を行う。この信頼性判定は、ステップＳ９０９の焦点検出データ演算において同時に算出される信頼性判定評価値に基づいて判定される。この信頼性判定の詳細については、図１２を用いて後述する。
【００６２】
次に、ステップＳ９１１において、ＣＰＵ１５１は、信頼性判定の結果に基づいて、信頼できる像ずれ量Ｘが得られたか否かを判定する。信頼性があると判定された場合、ステップＳ９１２において、ＣＰＵ１５１は、算出された像ずれ量Ｘに係数Ｋを掛けることにより（Ｄｅｆ＝Ｋ×Ｘの関係式により）、デフォーカス量Ｄｅｆの算出を行う。なお、このデフォーカス量を算出するにあたり、撮影レンズ１０１を被写体に対してよりピントを合わせるための後補正処理を行うようにしても良い。続いて、ステップＳ９１４において焦点検出を終了して本処理を呼び出したメインルーチンに戻る。
【００６３】
一方、ステップＳ９１１において信頼性のある像ずれ量を検出できなかったと判定された場合は、ステップＳ９１３において焦点検出ＮＧとする。この場合、位相差検出方式の焦点調節を行わない。続いて、ステップＳ９１４において焦点検出を終了して、本処理を呼び出したメインルーチンに戻る。
【００６４】
＜相関演算＞
次に、図９中のステップＳ９０７における相関演算についての説明を行う。相関演算については、例えば特許文献２のように、各種方法が開示されている。各種相関演算には、相関演算の演算子、相関量の極値の求め方、相関演算のシフト方法の処理に特徴がある。以下、本実施形態における処理について説明する。
【００６５】
まず、演算子について説明する。本実施形態では、相関演算の演算子として、「対応２信号の差の絶対値」（以下、差の絶対値とする）を用いて相関量を算出している。この「差の絶対値」は、２つの像信号を重ねて、対応する信号どうしを比較し、その差分の累積値となる。
【００６６】
相関量が上述の手法によって演算されると、得られたシフト毎の相関量から、相関が最も高い（本実施形態では相関量が極小値をとる）シフト量を検知することができる。このシフト量は２つの被写体像の像ずれ量に対応しており、これから撮影レンズの焦点状態（デフォーカス量に対応）が検出できる。
【００６７】
しかしながら、上記のように単純に相関が高くなるシフト量をもって像ずれ量とすると、検知できる像ずれ量は像信号の１シフトの整数単位でしか得ることができない。これをデフォーカス量に換算すると、デフォーカス量の分解能は比較的粗いものとなる。
【００６８】
そこで、１シフトの整数単位よりも細かい小数単位の分解能で相関が高くなる像ずれ量を近似演算するサブピクセル演算を用いる。以下で、相関演算におけるシフト方法について説明する。シフト方法は、特許文献２に記載されている「相互シフト」の手法を用いる。相互シフトは対応する２つの像信号の演算領域を対称にかつ相互にずらしていくシフト方法である。この相互シフトの方法は、２つの像信号を同時にずらしていくため、相関のシフトが２シフト単位にならざるを得ない。従って、演算し得るシフトは、…、−４、−２、０、＋２、＋４、…、となる。このように相互シフトの補間演算では、求めるべき相関量の極値の位置に対して、１シフト単位で行う方法よりも距離の離れたシフトでの相関量を使って算出することになる。その相関量の座標距離が離れると補間演算時の算出誤差が大きくなることが考えられる。
【００６９】
そこで、特許文献２では、相互シフトの場合に１画素違いの連続した２種類の演算画素数に対して演算を行う手法が提案されている。この手法では、２種類（シフトが「…、−４、−２、０、−２、−４、…」と…、「…、−５、−３，−１、＋１、＋３、＋５、…」）の相関量波形からそれぞれ像ずれ量を算出し、２つの像ずれ量を平均化処理したものを焦点検出結果としている。以下、２種類の相関量から算出した一方の相関量波形を第１の相関量波形、もう一方を第２の相関量波形、同じく２種類の相関量から算出した一方の像ずれ量を第１の像ずれ量（Ｘ１）、もう一方を第２の像ずれ量（Ｘ２）とする。
【００７０】
＜サブピクセル演算＞
上述したように、相関量波形から単純に相関が高くなるシフト量をもって像ずれ量とすると、検知できる像ずれ量は像信号の１シフトの整数単位でしか得ることができない。これをデフォーカス量に換算すると、デフォーカス量の分解能は比較的粗いものとなる。そこで、１シフトの整数単位よりも細かい小数単位の分解能で相関が高くなる像ずれ量を算出するサブピクセル演算を行う。本実施形態では、相関量波形の形状に応じて、複数のサブピクセル演算式の中から、焦点状態に応じた相関量波形形状に最適なサブピクセル演算式を選択することで、像ずれ量の算出誤差をできるだけ小さくさせる。
【００７１】
次に、本実施形態で使用するサブピクセル演算式として、サブピクセル演算式Ａ（数１、数２）、サブピクセル演算式Ｂ（数３、数４）、サブピクセル演算式Ｃ（数５）について説明する。
（数１）
Ｘｓｕｂ＝（Ｃｏｒ（−１）−Ｃｏｒ（１））／（２Ｃｏｒ（−１）−２Ｃｏｒ（０））（Ｃｏｒ（−１）≧Ｃｏｒ（１））
（数２）
Ｘｓｕｂ＝（Ｃｏｒ（−１）−Ｃｏｒ（１））／（２Ｃｏｒ（１）−２Ｃｏｒ（０））
（Ｃｏｒ（−１）＜Ｃｏｒ（１））
（数３）
Ｘｓｕｂ＝（Ｃｏｒ（−１）−Ｃｏｒ（１））／（Ｃｏｒ（−１）−Ｃｏｒ（０）−Ｃｏｒ（１）＋Ｃｏｒ（２））
（Ｃｏｒ（−１）≧Ｃｏｒ（１））
（数４）
Ｘｓｕｂ＝（Ｃｏｒ（−１）−Ｃｏｒ（１））／（Ｃｏｒ（−２）−Ｃｏｒ（−１）−Ｃｏｒ（０）＋Ｃｏｒ（１））
（Ｃｏｒ（−１）＜Ｃｏｒ（１））
（数５）
Ｘｓｕｂ＝（Ｃｏｒ（−１）−Ｃｏｒ（１））／（２Ｃｏｒ（−１）−４Ｃｏｒ（０）＋２Ｃｏｒ（１））
【００７２】
図１０は、相関量波形の例を示しており、横軸が画素シフト位置、縦軸が相関量Ｃｏｒを示している。図１０（ａ）は、図１０（ｂ）よりも合焦近傍の相関量波形が急峻な形状となっている。
【００７３】
サブピクセル演算の近似方法には、一般的に１次の折れ線近似や２次の放物線近似がよく用いられる。サブピクセル演算式Ａ（数１、数２）は、折れ線近似で用いられるサブピクセル演算式である。特に図１０（ａ）のような合焦近傍の相関量波形が急峻な形状を示している場合、サブピクセル演算式Ａによる像ずれ量の算出誤差は小さくなる。
【００７４】
一方、サブピクセル演算式Ｂ（数３、数４）は、折れ線近似と放物線近似の中間の特性を持つサブピクセル演算式で、広範囲な相関量波形形状において像ずれ量の算出誤差が小さくなる。図１０（ａ）よりも合焦近傍の相関量波形が緩やかな図１０（ｂ）においては、サブピクセル演算式Ｂによる像ずれ量の算出誤差は小さくなる。サブピクセル演算式Ｃ（数５）は、放物線近似で用いられるサブピクセル演算式である。図１０（ｂ）の相関量波形よりもさらに緩やかな形状を示している場合、サブピクセル演算式Ｃもより像ずれ量の算出誤差は小さくなる。
【００７５】
本実施形態では、これらのサブピクセル演算式Ａ・Ｂ・Ｃの中から最適な演算式を選択することによって、各焦点状態において像ずれ量の算出誤差をできるだけ小さくする方法について説明する。
【００７６】
なお、ステップＳ９０７におけるサブピクセル演算は、ステップＳ９０８で演算式が選択される前に行われるため、予め定められたいずれかの演算式を用いて演算を行うこととする。例えば、前記選択された演算式を用いても良い。
【００７７】
＜信頼性判定評価値の算出＞
像ずれ量Ｘの算出とともに、像信号波形および相関量波形から、後述の相関波形形状判定および信頼性判定で用いる評価値の一つの算出を行う。以下、相関量を２つの像信号の差分の累積として取得した場合についての信頼性判定評価値の算出について説明する。なお、以下に示す説明は例示で、他の方法で信頼性判定評価値を算出しても良い。
【００７８】
信頼性は、被写体のコントラストの大きさや、２つの像信号の一致度、２つの像が最も一致するときの相関変化量によって定義することができる。被写体のコントラストの大きさを表す指標として、像信号波形より、最大値（ピーク値）と最小値（ボトム値）の差分であるピークボトム値を算出する。ピークボトム値が大きいほど信頼性が高いことを示す。
【００７９】
図７（ｂ）のポイント７０に示すように、２つの像信号の相関が最も高い場合に、相関量は極小となる。このときの相関量の大きさは、２つの像信号の相関が最も高いときの２つの像信号の差分であり、２つの像信号の一致度Ｆで表す。この像一致度の値が小さいほど高い一致度を示し、信頼性が高いことを示す。
【００８０】
図７（ｃ）は、相関変位量を並べた波形を示す図である。相関変位量ΔＣｏｒは、図７（ｂ）に示す相関量波形から、例えばサブピクセル演算式Ｂを用いる場合、１シフト飛ばしの相関量の差から（ΔＣｏｒ＝Ｃｏｒ（ｋ−１）−Ｃｏｒ（ｋ＋１）の関係式により）算出される。図７（ｃ）において、横軸は画素のシフト位置ｋ、縦軸はそのときの相関変位量ΔＣｏｒ（ｋ）を示している。図７（ｂ）に示すように、２つの像信号の相関が最も高い場合に相関量が極小となるため、相関変位量波形は、相関変位量がプラスからマイナスになるポイント７１を有する。この相関変位量が０となるシフト位置ｋ付近での相関変位量の変化量を、２つの像が最も一致するときの相関変化量Ｍとして（Ｍ＝｜ΔＣｏｒ（ｋ−１）｜＋｜ΔＣｏｒ（ｋ）｜の関係式により）算出する。この算出された値が大きいほど信頼性が高いことを示す。
【００８１】
本実施形態では、２つの相関量波形を持つため、その相関量波形それぞれにおいて信頼性判定評価値の算出を行う。以降、算出された像一致度を第１の像一致度（Ｆ１）、第２の像一致度（Ｆ２）とし、算出された相関変化量を第１の相関変化量（Ｍ１）、第２の相関変化量（Ｍ２）とする。また、後述する相関量波形の形状判定において用いる第１と第２の相関量波形を画素シフトが順列になるように、互い違いに入れ子状に並び替えた相関量波形から算出された像一致度を第３の像一致度（Ｆ３）、相関変化量を第３の相関変化量（Ｍ３）とする。
【００８２】
＜相関量波形形状判定＞
次に、図１０と図１１を参照して、本実施形態における相関量波形形状判定処理について説明する。図１０は、相関量波形の例である。図１１は、図９中のステップＳ９０８における相関量波形の特徴量に関する波形形状判定処理を示すフローチャートである。また、図１１の各ステップは、ＣＰＵ１５１が制御プログラムを実行して、各部を制御することにより実施される。
【００８３】
また、本実施形態では、波形形状判定の相関量波形の特徴量として、第１と第２の相関量波形を画素シフトが順列になるように、互い違いに入れ子状に並び替えた相関量波形から算出した相関変化量Ｍ３を用いる場合を例に説明を行う。
【００８４】
まず、ステップＳ１１０１において、相関量波形形状判定が開始される。ステップＳ１１０２において、ＣＰＵ１５１は、相関量波形の特徴量の算出を行う。ＣＰＵ１５１は、第１と第２の相関量波形を画素シフトが順列になるように、互い違いに入れ子上に並び替えた相関量波形から相関変化量Ｍ３を算出し、ステップＳ１１０３へ処理を移す。
【００８５】
次に、ステップＳ１１０３において、ＣＰＵ１５１は、ステップＳ１１０２で算出された相関量波形形状を示す特徴量（ここでは相関変化量Ｍ３）に基づいて、サブピクセル演算式Ａを選択するかどうかの判定を行う。ここで、ＣＰＵ１５１は、相関変化量Ｍ３と相関変化量閾値ＭＴｈｒｅｓｈＡとの比較を行う。
【００８６】
まず、本実施形態で説明している相関演算においては、相関変化量の値が大きいほど信頼性が高く合焦に近いと判断できる。このとき、図１０（ａ）のような相関量の極値前後の形状は急峻なものとなる。一方、相関変化量の値が小さいほど信頼性が低く合焦位置から離れボケた状態と判断でき、図１０（ｂ）のような相関量の極値前後の形状は比較的緩やかなものとなる。
【００８７】
前述の相関変化量閾値ＭＴｈｒｅｓｈＡは、図１０（ａ）のような合焦近傍において、極値前後が急峻な形状を示す相関量波形に対し、サブピクセル演算式Ａを用いた場合に像ずれ量の算出誤差が小さくなる値が設定される。この閾値は、例えば１００００というような定数でもよいし、焦点検出条件に応じて動的な値に設定してもよい。ＣＰＵ１５１は、相関変化量Ｍ３が閾値ＭＴｈｒｅｓｈＡ以上の場合にはステップＳ１１０４へ処理を移し、サブピクセル演算式Ａを選択する。一方、閾値ＭＴｈｒｅｓｈＡよりも小さい場合には、ＣＰＵ１５１はステップＳ１１０５へ処理を移す。
【００８８】
次に、ステップＳ１１０５において、ＣＰＵ１５１は、相関変化量Ｍ３と相関変化量閾値ＭＴｈｒｅｓｈＢとの比較を行う。相関変化量閾値ＭＴｈｒｅｓｈＢは、図１０（ｂ）のようなボケた焦点状態において、極値前後が比較的緩やかな形状を示す相関量波形に対し、サブピクセル演算式Ｂを用いた場合に像ずれ量の算出誤差が小さくなる値を設定する。ＣＰＵ１５１は、相関変化量Ｍ３が閾値ＭＴｈｒｅｓｈＢ以上の場合にはステップＳ１１０６へ処理を移し、サブピクセル演算式Ｂを選択する。一方、相関変化量Ｍ３が閾値ＭＴｈｒｅｓｈＢよりも小さい場合には、ＣＰＵ１５１はステップＳ１００７へ処理を移し、サブピクセル演算式Ｃを選択する。
【００８９】
いずれかのサブピクセル演算式が選択されると、ステップＳ１１０８において相関量波形形状判定を終了し、本処理を呼び出したメインルーチンへ処理を戻す。
【００９０】
なお、ここでは相関変化量Ｍ３を特徴量として用いる場合について説明したが、ステップＳ９０７で算出された像ずれ量を特徴量として用いても良い。この場合、像ずれ量が閾値Ａ以下であればサブピクセル演算式Ａを選択し、像ずれ量が閾値Ｂ（Ａ＜Ｂ）よりも大きければサブピクセル演算式Ｃを選択し、その中間の像ずれ量であればサブピクセル演算式Ｂを選択しても良い。これは、像ずれ量が小さい（合焦位置に近い）ほど、相関量波形が極値前後で急峻な形状を示す傾向を利用したものである。
【００９１】
また、ステップＳ９０７において２つの像信号の一致度Ｆを算出し、この一致度Ｆを特徴量として用いても良い。この場合、一致度Ｆが閾値Ｃ以下であれば（一致度が高ければ）サブピクセル演算式Ａを選択する。そして、一致度が閾値Ｄ（Ｃ＜Ｄ）よりも大きければ（一致度が低ければ）サブピクセル演算式Ｃを選択する。そして、その中間の一致度であればサブピクセル演算式Ｂを選択する。これは、一致度Ｆが小さい（合焦位置に近い）ほど、相関量波形が極値前後で急峻な形状を示す傾向を利用したものである。なお、特徴量を示す指標は、本実施形態の例に限定されない。
【００９２】
＜信頼性判定＞
次に、図１２を参照して、図９中のステップＳ９１０における信頼性判定処理について説明する。図１２は、本実施形態における２つの像信号の一致度Ｆに関する信頼性判定処理を示すフローチャートである。図１２の各ステップは、ＣＰＵ１５１が制御プログラムを実行して、各部を制御することにより実施される。
【００９３】
まず、ステップＳ１２０１において、信頼性判定が開始される。ステップＳ１２０２において、ＣＰＵ１５１は、２つの像信号の一致度に関する閾値を設定する。この閾値は例えば１０００というような定数でよいし、撮像素子の感度や被写体の輝度などの焦点検出条件に応じた動的な数値でもよい。
【００９４】
次に、ステップＳ１２０３において、ＣＰＵ１５１は、信頼性評価値（ここれは像一致度Ｆ）が所定のレベルを満足しているかどうかの判定を行う。所定のレベルを満たしている場合はステップＳ１２０４へ処理を移し、焦点検出ＯＫとする。一方、所定のレベルを満たしていない場合はステップＳ１２０５へ処理を移し、焦点検出ＮＧとする。なお、ステップＳ１２０５での焦点検出ＮＧは、図９のステップＳ９１３と等価である。
【００９５】
焦点検出ＯＫとＮＧのいずれかの判定がされると、ステップＳ１２０８において信頼性判定を終了して、本処理を呼出したルーチンに処理を戻す。
【００９６】
ここでは像一致度を用いた信頼性判定について詳述したが、像一致度と異なる指標に基づいて信頼性判定を行ってもよい。例えば、ステップＳ９０８の相関量波形形状判定の特徴量の一つである相関量変位量が規格に満足しているか否か、像信号のコントラストが十分に大きいか否か、相関演算が苦手とする被写体か否かの判定などを含んでもよい。
【００９７】
＜焦点調節動作の説明＞
次に、図１３を参照して、図２中のステップＳ２０８における焦点調節制御動作（焦点調節動作）について説明する。図１３は、本実施形態における焦点調節制御動作を示すフローチャートである。図１３に示される各ステップは、ＣＰＵ１５１およびフォーカス制御部１３３により実行される。
【００９８】
本実施形態の焦点調節制御動作が開始されると、ＣＰＵ１５１は、制御プログラムに従い、所定の演算を行う。続いて、フォーカス制御部１３３は、ＣＰＵ１５１の指示に基づいて、フォーカスアクチュエータ１３２の制御を行う。
【００９９】
まず、ステップＳ１３０１にて焦点制御が開始される。ステップＳ１３０２において、フォーカス制御部１３３は、図９の焦点検出処理で算出されたデフォーカス量を取得する。次に、ステップＳ１３０３において、フォーカス制御部１３３は、取得したデフォーカス量に基づいてフォーカスレンズ１３１の駆動量（レンズ駆動量）を算出する。このレンズ駆動量の算出には、レンズ駆動方向とレンズ駆動速度の算出も含まれている。
【０１００】
次に、ステップＳ１３０４において、ＣＰＵ１５１（フォーカス制御部１３３）は、デフォーカス量の絶対値が所定値以下であるか否かの判定を行う。デフォーカス量の絶対値が所定値よりも大きい場合はステップＳ１３０６へ処理を移し、所定値以下である場合にはステップＳ１３０５へ処理を移す。
【０１０１】
ステップＳ１３０４においてデフォーカス量の絶対値が所定値以下の場合、フォーカスレンズ１３１の位置は合焦範囲内にあると見なされるため、ステップＳ１３０５において、フォーカス制御部１３３は、レンズ駆動を停止する。
【０１０２】
一方、ステップＳ１３０４においてデフォーカス量の絶対値が所定値よりも大きい場合、フォーカスレンズ１３１の位置は合焦範囲でないと見なされる。この場合、ステップＳ１３０６において、フォーカス制御部１３３は、ステップＳ１３０３にて算出されたレンズ駆動量に従ってフォーカスレンズ１３１を駆動する。
【０１０３】
ステップＳ１３０５またはＳ１３０６の後、ステップＳ１３０７へ進んで焦点調節制御動作を終了する。以降、図２に示される処理フローに従って焦点検出を行い、デフォーカス量が再び所定値を超えた場合にはフォーカスレンズ１３１の駆動を行う。撮像装置１００は、図２に示される処理の通り、電源をオフにされるまで図９および図１３の処理を繰返すことで、被写体に合焦するまで複数回の焦点検出を行う。
【０１０４】
以上のように、本実施形態では、相関量波形の特徴量に応じて、複数のサブピクセル演算式から最適な演算式を選択する。これにより、バラつきが少なく、より精度の高い焦点検出が可能となる。
【０１０５】
（第２の実施形態）
第１の実施形態では、相関量の波形形状判定において、前述した第３の相関変化量Ｍ３を特徴量として、当該特徴量に基づいてサブピクセル演算式を選択する例について説明した。これに対して、第２の実施形態では、相関量の波形形状判定において、相関量波形の極小値を持つシフト位置前後の相関量の変化量と変曲点の数と位置から算出した有効な相関量の個数を特徴量とした例について説明する。なお、本実施形態において、第１の実施形態と同様の内容に関しては、同一の符号を用いて説明を省略する。
【０１０６】
図１４と図１５を参照して、本実施形態について説明する。図１４は、本実施形態における相関量波形形状判定処理を示すフローチャートである。図１５は、本実施形態における相関量波形の一例を示している。以下、偶数シフトをとる相関量波形を第１の相関量波形、奇数シフトをとる相関量波形を第２の相関量波形とする。
【０１０７】
まず、ステップＳ１４０１において、相関量波形形状判定が開始される。ステップＳ１４０２において、ＣＰＵ１５１は、相関量波形の特徴量の算出を行う。ＣＰＵ１５１は、第１の相関量波形と第２の相関量波形を画素シフトが順列になるよう、互い違いに入れ子状の相関量波形に並び替える。図１５（ａ）では第１の相関量波形と第２の相関量波形の一例を示し、図１５（ｂ）では図１５（ａ）の第１の相関量波形と第２の相関量波形を入れ子状に並べ替えたものを示している。このときの各シフト位置の相関量をＣｏｒ（−６）〜Ｃｏｒ（＋２）とする。この入れ子状に並び替えた相関量波形において、ＣＰＵ１５１は、第１の像ずれ量と第２の像ずれ量の平均値を基準にして左右（シフト方向に対応）にある各シフト位置の相関量の差の絶対値を算出する。
【０１０８】
図１５（ｂ）の相関量波形では、第１の像ずれ量と第２の像ずれ量の平均値は、−２．５付近にある。この第１の像ずれ量と第２の像ずれ量の平均値を基準として、左右の各シフト位置前後の相関量の差を算出する。本実施形態では、サブピクセル演算式で使用する相関量の最大個数が相関量４点までとして、左右画素シフト２分まで算出する。まず１つ目のデータとして左側にＣｏｒ（−３）、右側にＣｏｒ（−２）がある。このとき、像ずれ量の平均値の位置における相関量を第３の像一致度Ｆ３として、ＣＰＵ１５１は、これらの差ＣｏｒＤｉｆｆ（−３）＝Ｃｏｒ（−３）−Ｆ３、ＣｏｒＤｉｆｆ（−２）＝Ｃｏｒ（−２）−Ｆ３の算出を行う。また、算出した差の符号が負になっているかどうかの判定を行う。負の場合は変曲点があったものと判定し、このシフト位置を変曲点の位置とする。
【０１０９】
次に、２つ目のデータとして左側にＣｏｒ（−４）、右側にＣｏｒ（―１）がある。ＣＰＵ１５１は、直前のシフト位置の相関量との差ＣｏｒＤｉｆｆ（−４）＝Ｃｏｒ（−４）−Ｃｏｒ（−３）、ＣｏｒＤｉｆｆ（−１）＝Ｃｏｒ（−１）−Ｃｏｒ（−２）の算出を行う。
【０１１０】
ＣＰＵ１５１は、同様の処理を所定シフト分継続し、算出された複数の相関量差の中から最小値と最大値を算出する。相関量差の最小値をＣｏｒＤｉｆｆＭｉｎ、最大値をＣｏｒＤｉｆｆＭａｘとする。続いて、ＣＰＵ１５１は、相関量波形の各シフト位置の相関量と極値近傍の変曲点の個数と位置から、サブピクセル演算において有効な相関量の数の算出を行う。
【０１１１】
次に、ステップＳ１４０３において、ＣＰＵ１５１は、ステップＳ１４０２にて算出された相関量波形形状の示す特徴量の一部に基づく判定を行う。具体的には、ＣＰＵ１５１は、有効な相関量の個数が所定数以上（ここでは４つ以上）あるか否かの判定を行う。本実施形態で使用するサブピクセル演算では、相関量３点または４点を使用してシフト単位未満の分解能の像ずれ量の算出を行う。もし有効な相関量が３点しかない場合、４点を使用したサブピクセル演算を行うことができないため、相関量３点を使用してサブピクセル演算を行うために、ＣＰＵ１５１はＳ１４０４へ処理を移す。一方、有効な相関量が４点以上ある場合は、ステップＳ１４０７へ処理を移す。
【０１１２】
例えば、図１５（ｅ）の相関量波形では、真の極値はＣｏｒ（−２）とＣｏｒ（−１）の間にある。この位置から前後２シフト分の相関量を見た場合、相関量Ｃｏｒ（−３）・Ｃｏｒ（−２）・Ｃｏｒ（−１）・Ｃｏｒ（０）がサブピクセル演算で使用対象となる。このとき、Ｃｏｒ（−２）とＣｏｒ（−１）との差とＣｏｒ（−３）とＣｏｒ（−２）との差は符号が逆となる。そのため、これらの相関量４点を用いたサブピクセル演算式Ｂを用いて演算を行うと、正しく近似できず、正確な像ずれ量が算出できない。そのため、相関量Ｃｏｒ（−２）・Ｃｏｒ（−１）・Ｃｏｒ（０）の３点からサブピクセル演算が可能な、サブピクセル演算式Ａもしくはサブピクセル演算式Ｃのどちらかを選択するようにする。
【０１１３】
続いて、ステップＳ１４０４において、ＣＰＵ１５１は、ステップＳ１４０２で算出した相関量波形形状の特徴量を示す所定シフト範囲内（所定範囲内）での各シフト間での相関量の差について判定を行う。ここでは、具体的に相関量差の最大値の判定を行う。ＣＰＵ１５１は、相関量シフト間差の最大値ＣｏｒＤｉｆｆＭａｘが相関量シフト間差閾値ＣｏｒＤｉｆｆＴｈｒｅｓｈＡ以上かどうかの判定を行い、閾値以上の場合はステップＳ１４０５へ処理を移す。一方、相関量シフト間差の最大値ＣｏｒＤｉｆｆＭａｘが閾値より小さい場合はステップＳ１４０６へ処理を移す。
【０１１４】
図１５（ｃ）では第１の相関量波形と第２の相関量波形の別の一例を示し、図１５（ｄ）では図１５（ｃ）の第１の相関量波形と第２の相関量波形を入れ子状に並べ替えたものを示している。相関量シフト間差閾値ＣｏｒＤｉｆｆＴｈｒｅｓｈＡは、図１５（ｄ）のような極値前後の相関量波形が急峻な形状を示す（急峻性が高い）場合で、サブピクセル演算式Ａを用いた場合に像ずれ量の算出誤差が小さくなる値を設定する。この閾値は例えば５００というような定数でもよいし、焦点検出条件に応じて動的な値に設定してもよい。
【０１１５】
ステップＳ１４０５において、ＣＰＵ１５１は、サブピクセル演算式Ａを選択する。一方、ステップＳ１４０６において、ＣＰＵ１５１は、サブピクセル演算式Ｃを選択する。すなわち、有効な相関量が４点未満の場合には、相関量シフト間差の最大値ＣｏｒＤｉｆｆＭａｘに応じてサブピクセル演算式Ａとサブピクセル演算式Ｃのいずれかを選択する。
【０１１６】
一方、ステップＳ１４０３において有効な相関量の個数が４点ある場合、ＣＰＵ１５１は、Ｓ１４０７へ処理を移す。ステップＳ１４０７において、ＣＰＵ１５１は、相関量シフト間差の最大値ＣｏｒＤｉｆｆＭａｘと前述した相関量シフト間差閾値ＣｏｒＤｉｆｆＴｈｒｅｓｈＡとの比較を行う。相関量シフト間差の最大値ＣｏｒＤｉｆｆＭａｘが閾値以上であった場合、ステップＳ１４０５へ処理を移し、ＣＰＵ１５１は、サブピクセル演算式Ａを選択する。一方、相関量シフト間差の最大値ＣｏｒＤｉｆｆＭａｘが閾値より小さい場合、ステップＳ１４０８へ処理を移す。
【０１１７】
ステップＳ１４０８において、ＣＰＵ１５１は、相関量シフト間差の最大値ＣｏｒＤｉｆｆＭａｘと相関量シフト間差閾値ＣｏｒＤｉｆｆＴｈｒｅｓｈＢとの比較を行う。相関量シフト間差の最大値ＣｏｒＤｉｆｆＭａｘが閾値以上の場合、ＣＰＵ１５１は、ステップＳ１４０９へ処理を移し、サブピクセル演算式Ｂを選択する。一方、相関量シフト間差の最大値ＣｏｒＤｉｆｆＭａｘが閾値より小さい場合、ＣＰＵ１５１は、ステップＳ１４０６へ処理を移し、サブピクセル演算式Ｃを選択する。この閾値ＣｏｒＤｉｆｆＴｈｒｅｓｈＢは、前述した図１５（ｂ）のような極値前後の相関量波形が比較的緩やかな形状を示す場合で、サブピクセル演算式Ｂを用いた場合に像ずれ量の算出誤差が小さくなる値を設定する。
【０１１８】
ステップＳ１４０５、Ｓ１４０６、Ｓ１４０９のいずれかにおいてサブピクセル演算式が選択されると、ステップＳ１４１０に進んで相関量波形形状判定を終了し、本処理を呼出したルーチンに処理を戻す。続いて、ＣＰＵ１５１は、図９のステップＳ９０９以降の焦点検出動作を続行する。
【０１１９】
以上のように、本実施形態では、相関量の極値付近における所定シフト数分の各シフト間の相関量の差および相関量波形の変曲点の数と位置に基づいて決定される有効な相関量の個数を相関量波形の特徴量とする。そして、当該特徴量に応じて最適なサブピクセル演算式を選択する。これにより、第１の実施形態と同様の効果を得ることができる。
【０１２０】
（第３の実施形態）
第１の実施形態では、相関量の波形形状判定において、前述した第３の相関変化量Ｍ３を特徴量として、当該特徴量に基づいてサブピクセル演算式を選択する例について説明した。第２の実施形態では、相関量の波形形状判定において、相関量波形の極小値を持つシフト位置前後の相関量の変化量と変曲点の数と位置から算出した有効な相関量の個数を特徴量とした例について説明した。第３の実施形態では、相関量波形に対し、複数のサブピクセル演算式を用いて、焦点検出データの算出を行い、それぞれの演算式の算出結果から相関量波形形状判定を行い、最適な焦点検出結果を選択する例について説明する。
【０１２１】
なお、本実施形態において、第１の実施形態と同様の内容に関しては、同一の符号を用いて説明を省略する。
【０１２２】
図１６と図１７を参照して、本実施形態について説明を行う。図１６は、図２中のステップＳ２０７における本実施形態の焦点検出処理を示すフローチャートである。図１６の各ステップは、ＣＰＵ１５１が制御プログラムを実行して各部を制御することにより実施される。また、ステップＳ１６０１からＳ１６０６は、図９のステップＳ９０１からＳ９０６と、ステップＳ１６１０からＳ１６１４とステップＳ９１０からＳ９１４は、同様の処理内容のため、説明を省略する。
【０１２３】
まず、図１６中のステップＳ１６０７における相関演算についての説明を行う。本実施形態での相関量波形を算出するまでの手段は、第１の実施形態で説明した手段と同じものとし、算出された２つの相関量波形のそれぞれに対し、上述したサブピクセル演算式Ａ、Ｂ、Ｃを用いてサブピクセル演算を行う。この時、像ずれ量とともに信頼性判定で用いる評価値の像一致度、相関変化量の算出を行う。第１の相関量波形からサブピクセル演算式Ａを用いて算出された像ずれ量を像ずれ量Ｘ１Ａ、像一致度を像一致度Ｆ１Ａ、相関変化量を相関変化量Ｍ１Ａとする。また、第２の相関量波形からサブピクセル演算式Ａを用いて算出された像ずれ量を像ずれ量Ｘ２Ａ、像一致度を像一致度Ｆ２Ａ、相関変化量を相関変化量Ｍ２Ａとする。同じく、第１、第２の相関量波形からサブピクセル演算式Ｂで算出したものを、像ずれ量Ｘ１Ｂ、像一致度Ｆ１Ｂ、相関変化量Ｍ１Ｂ、像ずれ量Ｘ２Ｂ、像一致度Ｆ２Ｂ、相関変化量Ｍ２Ｂとする。また、サブピクセル演算式Ｃで算出したものを、像ずれ量Ｘ１Ｃ、像一致度Ｆ１Ｃ、相関変化量Ｍ１Ｃ、像ずれ量Ｘ２Ｃ、像一致度Ｆ２Ｃ、相関変化量Ｍ２Ｃとする。
【０１２４】
次に、図１７を参照して、本実施形態における相関量波形形状判定を行う。図１７は、図１６中のステップＳ１６０８における相関量波形の特徴量に関する波形形状判定処理を示すフローチャートである。また、図１７の各ステップは、ＣＰＵ１５１が制御プログラムを実行して、各部を制御することにより実施される。
【０１２５】
また、本実施形態では、波形形状判定の相関量波形の特徴量として、相関変化量Ｍを用いる場合を例に説明を行う。
【０１２６】
まず、ステップＳ１７０１において、相関量波形形状判定が開始される。以降のステップＳ１７０２からＳ１７０６に関しては、第１の相関量波形の波形形状判定、ステップＳ１７０７からＳ１７１１に関しては、第２の相関量波形の波形形状判定を行う。
【０１２７】
次に、ステップＳ１７０２において、ＣＰＵ１５１は、図１６のステップＳ１６０７において算出された焦点検出データの中から相関量波形形状を示す特徴量（ここでは相関変化量Ｍ）に基づいて、相関量波形形状の判定を行う。ここで、ＣＰＵ１５１は、相関変化量Ｍ１Ａと相関変化量Ｍ１Ｂとの比較を行う。まず、本実施形態で説明している相関演算においては、相関変化量の値が大きいほど信頼性が高く合焦に近いと判断できる。一方、相関変化量の値が小さいほど信頼性が低く合焦位置から離れボケた状態と判断できる。このため、相関変化量Ｍ１Ａと相関変化量Ｍ１Ｂを比較する。相関変化量Ｍ１Ａが相関変化量Ｍ１Ｂ以上の場合には、第１の相関量波形からサブピクセル演算式Ａで算出した相関変化量Ｍ１Ａの方が、サブピクセル演算式Ｂで算出した相関変化量Ｍ１Ｂよりも信頼性が高いと判断できる。このため、ＣＰＵ１５１は、ステップＳ１７０３へ処理を移し、サブピクセル演算式Ａで算出した焦点検出データを第１の相関量波形から算出した焦点検出データとして選択する（第１の焦点検出データとする）。一方、相関変化量Ｍ１Ａが相関変化量Ｍ１Ｂよりも小さい場合には、ＣＰＵ１５１はステップＳ１７０４へ処理を移す。
【０１２８】
次に、ステップＳ１７０４において、ＣＰＵ１５１は、相関変化量Ｍ１Ｂと相関変化量Ｍ１Ｃとの比較を行う。相関変化量Ｍ１Ｂが相関変化量Ｍ１Ｃ以上の場合には、第１の相関量波形からサブピクセル演算式Ｂで算出した相関変化量Ｍ１Ｂの方が、サブピクセル演算式Ｃよりも信頼性が高いと判断できる。このため、ＣＰＵ１５１は、ステップＳ１７０５へ処理を移し、サブピクセル演算式Ｂで算出した焦点検出データを第１の相関量波形から算出した焦点検出データとして選択する。一方、相関変化量Ｍ１Ｂが相関変化量Ｍ１Ｃよりも小さい場合には、ＣＰＵ１５１は、ステップＳ１７０６へ処理を移し、サブピクセル演算式Ｃで算出した焦点検出データを第２の相関量波形から算出した焦点検出データとして選択する。
【０１２９】
つづいて、ステップＳ１７０７以降において、ＣＰ∪１５１は、第２の相関量波形からサブピクセル演算式Ａ、Ｂ、Ｃを用いて算出された相関変化量Ｍ２Ａ、相関変化量Ｍ２Ｂ、相関変化量Ｍ２Ｃを比較する。ステップＳ１７０７からステップＳ１７１１の処理に関しては、上述したステップＳ１７０２からステップＳ１７０６の処理における対象が第１の相関量波形であるか第２の相関量波形であるかの違いしかない。このため、詳細な説明は省略する（ステップＳ１７０７からステップＳ１７１１で最終的に選択された焦点検出データを第２の焦点検出データとする）。以上、複数のサブピクセル演算式を用いて第１の相関量波形から算出され最適なものを選択された第１の焦点検出データと第２の相関量波形から算出され最適なものを選択された第２の焦点検出データを得ることができる。
【０１３０】
つづいて、ＣＰＵ１５１はステップＳ１７１２へ処理を移し、相関量波形形状判定を終了して、本処理を呼出したルーチンに処理を戻す。
【０１３１】
ステップＳ１６０９で、ＣＰＵ１５１はステップＳ１６０８での判定結果に基づいて選択された、第１の相関量波形から算出された第１の焦点検出データと第２の相関量波形から算出された第２の焦点検出データの平均化演算を行う。以降、ＣＰＵ１５１は、平均演算された焦点検出データを用いて、ステップ１６１０以降の焦点検出動作を続行する。
【０１３２】
なお、ここでは相関変化量Ｍを特徴量として用いる場合について説明したが、ステップＳ１６０７で算出された像一致度Ｆを特徴量として用いても良い。この場合、像一致度Ｆが小さい（合焦位置に近い）ほど、相関量波形が極値前後で急峻な形状を示す傾向を利用したものである。また、特徴量を示す指標は、本実施形態の例に限定されない。
【０１３３】
以上のように、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【０１３４】
１００  撮像装置
１３５  位相差ＡＦ処理部
１４１  撮像素子
１４２  撮像信号処理部
１４３  撮像素子制御部
１５１  演算装置（ＣＰＵ）
【図１】
2018010266.tif 000003
【図２】
2018010266.tif 000004
【図３】
2018010266.tif 000005
【図４】
2018010266.tif 000006
【図５】
2018010266.tif 000007
【図６】
2018010266.tif 000008
【図７】
2018010266.tif 000009
【図８】
2018010266.tif 000010
【図９】
2018010266.tif 000011
【図１０】
2018010266.tif 000012
【図１１】
2018010266.tif 000013
【図１２】
2018010266.tif 000014
【図１３】
2018010266.tif 000015
【図１４】
2018010266.tif 000016
【図１５】
2018010266.tif 000017
【図１６】
2018010266.tif 000018
【図１７】
2018010266.tif 000019