(57)【要約】【課題】超高輝度時に発生する飽和などの異常画素が数多く発生した場合等においても、焦点検出精度の悪化を軽減できる焦点検出装置および方法を提供すること。【解決手段】焦点検出装置７は、瞳領域を通過した光束により形成される一対の被写体の像信号を受光し、出力する受光手段１０７と、受光手段から出力される像信号に含まれる異常信号を発生する異常画素を検出する手段１１１を有する。更に、異常画素による信号を含んだ画素信号列の位相差を検出する第一演算手段１１２と、異常画素による信号を除外した画素信号列の位相差を検出する第二演算手段１１２と、第一及び第二演算手段からの結果のいずれかを選択する判定手段を備える。判定手段により選択された結果を基に焦点状態が検出される。【選択図】  図２
2015018194.tif 000002
【特許請求の範囲】
【請求項１】
撮影光学系の一対の瞳領域を通過した光束により形成される一対の被写体の像信号を受光し、出力する複数の画素を含む受光手段と、
前記受光手段から出力される像信号で形成される一対の画素信号列に含まれる異常信号を発生する異常画素を検出する異常画素検出手段と、
前記異常画素検出手段により検出された異常画素による信号を含んだ一対の画素信号列の位相差を検出する第一演算手段と、
異常画素による信号を除外した一対の画素信号列の位相差を検出する第二演算手段と、
前記第一演算手段と前記第二演算手段からの結果のいずれか一方を選択する判定手段と、
を備え、
前記判定手段により選択された結果を基に焦点状態を検出することを特徴とする焦点検出装置。
【請求項２】
前記第二演算手段は、異常画素とその近傍の正常画素を除外対象画素とすることを特徴とする請求項１に記載の焦点検出装置。
【請求項３】
前記判定手段は、
前記受光手段から出力される前記一対の画素信号列から得られる情報から、前記第一演算手段および前記第二演算手段からの結果のうち、いずれか一方を選択することを特徴とする請求項１または２に記載の焦点検出装置。
【請求項４】
前記判定手段は、
前記一対の画素信号列から前記除外対象画素の信号を除外した範囲を演算画素範囲とし、該演算画素範囲に含まれる画素の数が所定の閾値以下の場合、前記第一演算手段からの結果を選択することを特徴とする請求項３に記載の焦点検出装置。
【請求項５】
前記判定手段は、
前記一対の画素信号列から前記除外対象画素の信号を除外した範囲を演算画素範囲とし、該演算画素範囲のコントラスト情報が所定の閾値以下の場合、前記第一演算手段からの結果を選択することを特徴とする請求項３または４に記載の焦点検出装置。
【請求項６】
前記第一演算手段および前記第二演算手段は、
前記一対の画素信号列を相対的に一画素ずつシフトさせ、複数のシフト位置における相関量から補間演算することで、前記像信号の一対の画素信号列の位相差を一画素より小さい単位で検出可能であり、
前記判定手段は、
前記第一演算手段で検出した位相差が整数値近傍である場合、前記第一演算手段からの結果を選択することを特徴とする請求項３から５の何れか１項に記載の焦点検出装置。
【請求項７】
前記判定手段は、
前記第一演算手段で検出した位相差が整数値近傍である場合、演算画素数とコントラスト情報の判定項目のうち、少なくとも１つの閾値を変更することを特徴とする請求項６に記載の焦点検出装置。
【請求項８】
前記受光手段は、光電変換素子が二次元に配置された撮像素子であり、
前記撮像素子の少なくとも一部を焦点検出用画素とし、
前記焦点検出用画素からの像信号を基に前記位相差を検出することで焦点状態を検出することを特徴とする請求項１から７の何れか１項に記載の焦点検出装置。
【請求項９】
前記判定手段は、
前記異常画素検出手段により異常画素が検出された場合、演算画素数とコントラスト情報のいずれかの判定結果により、前記撮像素子における目標露光値を変更することを特徴とする請求項８に記載の焦点検出装置。
【請求項１０】
被写体を撮像する撮像装置であって、
請求項１から９の何れか１項に記載の焦点検出装置を有することを特徴とする撮像装置。
【請求項１１】
少なくとも１対の複数画素からなるセンサを用いて位相差検出方式の焦点検出を行う焦点検出方法であって、
撮影光学系の一対の瞳領域を通過した光束により形成される一対の被写体の像信号を受光し、出力する出力ステップと、
前記出力ステップで出力される像信号で形成される一対の画素信号列に含まれる異常信号を発生する異常画素を検出する異常画素検出ステップと、
前記異常画素検出ステップで検出された異常画素による信号を含んだ一対の画素信号列の位相差を検出する第一演算手ステップと、
異常画素による信号を除外した一対の画素信号列の位相差を検出する第二演算ステップと、
前記第一演算ステップと前記第二演算ステップの結果のいずれか一方を選択する判定ステップと、
前記判定ステップにより選択された結果を基に焦点状態を検出する焦点検出ステップと、
を有することを特徴とする焦点検出方法。
【請求項１２】
被写体に対する異なる視点にて取得した視差画像信号に基づき焦点検出を行うためのプログラムであって、
請求項１１に記載の焦点検出方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位相差検出方式により被写体のデフォーカス量などを検出する焦点検出を行う焦点検出装置、撮像装置などに関する。
【背景技術】
【０００２】
従来、ＡＦ（自動焦点調節）機能を提供するカメラの焦点検出装置として、いわゆる位相差検出方式の焦点検出装置が知られている。このような焦点検出装置では、撮影レンズの異なる射出瞳領域を通過した被写体からの光束を、一対の焦点検出センサ上に結像させる。そして、一対の画素信号列を相対的にシフトさせながら相関演算を行い、一対の画素信号列の相対的な位相差を検出し、該位相差に基づいて撮影レンズのデフォーカス量を求めている。
【０００３】
また、特許文献１には像信号を生成する焦点検出センサの画素中における異常画素を検出し、異常画素を除外した画素による信号波形に対して相関演算を行う焦点検出装置が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−４２５９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の特許文献１に開示された従来技術では、異常画素が検出された場合、必ず異常画素を取り除いて、その他の画素からの像信号の位相差を検出する演算を行っている。しかし、異常画素からの信号を取り除いて演算を行うと、超高輝度時に発生する飽和などの異常画素が数多く生じた場合、焦点検出の精度が悪化してしまう恐れがある。例えば、被写体の輝度レベルが非常に明るい場合、除外対象画素が増加し、演算画素数が減少してしまう。少ない演算画素数からは、十分なコントラストが得られないため、位相差を検出する際の相関量も減少することになる。したがって、画素に発生するノイズ成分の影響を受けやすく、焦点検出の精度が悪化してしまうことがある。
【０００６】
そこで、本発明の目的は、超高輝度被写体の撮影において飽和などによる異常画素が数多く発生した場合等でも、焦点検出精度の悪化を軽減できる焦点検出装置、これを用いた撮像装置等を提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の焦点検出装置は、撮影光学系の一対の瞳領域を通過した光束により形成される一対の被写体の像信号を受光し、出力する複数の画素を含む受光手段と、前記受光手段から出力される像信号で形成される一対の画素信号列に含まれる異常信号を発生する異常画素を検出する異常画素検出手段と、前記異常画素検出手段により検出された異常画素による信号を含んだ一対の画素信号列の位相差を検出する第一演算手段と、異常画素による信号を除外した一対の画素信号列の位相差を検出する第二演算手段と、前記第一演算手段と前記第二演算手段からの結果のいずれか一方を選択する判定手段と、を備え、前記判定手段により選択された結果を基に焦点状態を検出することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、一対の像信号を受光した時に超高輝度光源などの被写体による異常画素が発生した場合等においても、比較的精度の高い焦点検出を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態のデジタルスチルカメラの構成を示す図である。
【図２】図１の焦点検出ユニットを含む焦点検出装置の概略構成を示す図である。
【図３】図１のカメラにおける焦点検出センサを用いた場合の撮影動作フローを示すフローチャートである。
【図４】本発明の実施例１における焦点検出処理を示すフローチャートである。
【図５】飽和レベルに達していない像信号を示す図である。
【図６】第一演算におけるシフト波形を示す図である。
【図７】第一演算におけるシフト量毎の相関量を示す図である。
【図８】飽和画素除外の波形生成を示すフローチャートである。
【図９】演算画素数による判定を示す除外波形と演算画素範囲を示す図である。
【図１０】第二演算におけるシフト波形を示す図である。
【図１１】シフト波形における飽和画素位置を示す図である。
【図１２】本発明の実施例２における焦点検出処理を示すフローチャートである。
【図１３】像信号の位相差とＡＦ誤差の関係を示す図である。
【図１４】−０．５bitの位相差を持つ像信号のシフト波形を示す図である。
【図１５】図１４の像信号において飽和レベルに達している画素を持つシフト波形を示す図である。
【図１６】図１４、図１５のシフト波形毎の相関量を示す図である。
【図１７】−１bitの位相差を持つ像信号のシフト波形を示す図である。
【図１８】図１７の像信号において飽和レベルに達している画素を持つシフト波形を示す図である。
【図１９】図１７、図１８のシフト波形毎の相関量を示す図である。
【図２０】本発明の実施例３における焦点検出処理を示すフローチャートである。
【図２１】撮像素子の撮像用画素の平面図と断面図である。
【図２２】撮像素子の水平方向用ＡＦ画素の平面図と断面図である。
【図２３】撮像素子の最小単位の画素配列説明図である。
【図２４】横ずれ焦点検出時の画素グループ化方法の説明図である。
【図２５】図１のカメラにおける撮像面中の焦点検出用画素を用いた場合の撮影動作フローを示すフローチャートである。
【図２６】図２５の撮影サブルーチンのフロー図である。
【図２７】本発明の実施例４における焦点検出処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
本発明では、受光手段からの像信号による一対の画素信号列中の異常信号を発生する画素を検出し、異常画素信号を含んだ一対の画素信号列の位相差を検出する第一演算と、異常画素信号を除外した一対の画素信号列の位相差を検出する第二演算を実行する。そして、異常画素が発生した場合においても、比較的精度の高い焦点検出を行うことができるように、第一演算と第二演算の結果のいずれか一方を所定の判定基準に基づいて選択し、選択された結果を基に焦点状態を検出する。
【００１１】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。図１は、本発明の実施形態にかかわる焦点検出装置を備えた撮像装置である。
（実施例１）
図１において、本実施例における撮像装置は、レンズ交換式の一眼レフカメラ（以下、単に「カメラ」と称する）１００である。カメラ１００は、カメラ本体３０と、カメラ本体３０に脱着可能に構成された撮影レンズユニット２０とで構成される。撮影レンズユニット２０とカメラ本体３０は、図中央の縦方向の点線で示したマウントを介して接続される。撮影レンズユニット２０は、撮影レンズ２１と、絞り２２と、レンズ側ＭＰＵ（マイクロプロセッシングユニット）１と、レンズ駆動ユニット２と、絞り駆動ユニット３と、繰り返し位置検出ユニット４と、光学情報テーブル５とを備える。
【００１２】
レンズ側ＭＰＵ１は、撮影レンズユニット２０の動作に関する全ての演算及び制御を行う。レンズ駆動ユニット２は、レンズ側ＭＰＵ１による制御に応じて撮影レンズ２１を駆動する駆動部である。絞り駆動ユニット３は、レンズ側ＭＰＵ１による制御に応じて絞り２２を駆動する駆動部である。繰り返し位置検出ユニット４は、レンズ鏡筒の繰り返し位置を検出する検出部である。光学情報テーブル５は、自動焦点調節に必要な光学情報であり、不図示のメモリなどに記憶されている。
【００１３】
カメラ本体３０は、カメラ側ＭＰＵ６と、焦点検出ユニット７と、シャッター駆動ユニット８と、ダイヤルユニット１０と、測光ユニット１１、メモリ２３とを備える。また、カメラ本体３０は、メインミラー１２と、サブミラー１３と、ピント板１４と、ペンタミラー１５と、ファインダー１６と、撮像素子（イメージセンサ）１０１と、スイッチＳＷ１＿１８とスイッチＳＷ２＿１９とを備える。カメラ側ＭＰＵ６は、カメラ本体３０の動作に関する全ての演算及び制御を行う。また、カメラ側ＭＰＵ６は、マウントの信号線を介してレンズ側ＭＰＵ１に接続され、レンズ側ＭＰＵ１からレンズ位置情報を取得したり、レンズ駆動及び交換レンズごとに固有の光学情報を取得したりする。
【００１４】
また、カメラ側ＭＰＵ６には、カメラ本体３０の動作を制御するためのプログラムが格納されたＲＯＭ（不図示）、変数を記憶するＲＡＭ（不図示）、各種パラメータを記憶するＥＥＰＲＯＭ（電気的消去、書き込み可能メモリ）（不図示）が内蔵されている。ＲＯＭに格納されたプログラムにより、後述の焦点検出処理が実行される。また、１７はＬＣＤ等の表示器で、カメラの撮影モードに関する情報、撮影前のプレビュー画像と撮影後の確認用画像等を表示する。
【００１５】
焦点検出ユニット７は、後述する焦点検出センサを備え、焦点検出処理を行うと共に、位相差検出方式により焦点検出を行う。焦点検出ユニット７は、焦点検出センサからの信号読み出し完了をカメラ側ＭＰＵ６に通知する。シャッター駆動ユニット８は、不図示シャッターを駆動するための駆動部である。ダイヤルユニット１０は、カメラ１００の諸設定を変更するための操作部であり、例えば、連続撮影速度（連写速度）やシャッター速度、絞り値、撮影モード等の切り替えなどを行うことができる。測光ユニット１１は、測光センサを備え、不図示のレリーズボタンへの半押し操作に応じて、ペンタミラー１５からの光束に基づき測光センサ（不図示）を介して測光処理を行う。これらはいずれもカメラ側ＭＰＵ６に接続されている。測光センサは、フォトダイオード等の光電変換素子及びその信号処理回路等からなり、被写体の輝度レベルに関する信号出力を行い、その出力信号はカメラ側ＭＰＵ６に入力される。
【００１６】
メインミラー１２は、撮影レンズユニット２０を介して入射された光束のほとんどを上方へ折り返し、ピント板１４上に被写体像を結像させる機能を有する。ピント板１４上の被写体像はペンタミラー１５により正立正像に変換反射されてファインダー１６へ導かれる。これにより、光学ファインダーとして機能する。ペンタミラー１５を透過した一部の光は、測光ユニット１１へ導かれる。また、メインミラー１２は、入射された光束の一部を透過させ、透過した光がサブミラー１３を介して焦点検出ユニット７へと導かれる。そして、カメラ１００が撮影状態になると、メインミラー１２及びサブミラー１３が退避して、撮影レンズユニット２０を介して入射される被写体からの光束がイメージセンサ１０１に結像される。スイッチＳＷ１＿１８は、レリーズボタンの第１ストローク操作（半押し）によりＯＮするスイッチである。スイッチＳＷ２＿１９は、レリーズボタンの第２ストローク操作（全押し）によりＯＮするスイッチである。
【００１７】
次に、焦点検出ユニット７の構成について図２を用いて説明する。図２は、図１の焦点検出ユニット７の概略構成を示す。撮影レンズユニット２０からの入射光の一部は、メインミラー１２を透過し、後方のサブミラー１３で下方へ曲げられ、焦点検出ユニット７へ導かれる。焦点検出ユニット７は、視野マスク１０２、赤外線カットフィルタ１０３、フィールドレンズ１０４、絞り１０５、二次結像レンズ１０６、焦点検出センサ１０７、複数の反射ミラー１０８ａ〜１０８ｃで構成される。焦点検出用の焦点検出センサ１０７は、フォトダイオード等の光電変換素子で構成された一対のラインセンサ及びその信号処理回路等からなる。そして、被写体までの距離或いはデフォーカス量に関する画素信号（像信号）出力を行い、その像信号はカメラ側ＭＰＵ６に入力される。本明細書では、一対のラインセンサからの像信号をＡ像、Ｂ像とする。カメラ側ＭＰＵ６は、焦点検出処理に関わるブロックとして、異常画素検出部（異常画素検出手段）１１１、相関演算部（演算手段）１１２、演算切替判定部（判定手段）１１３を有する。
【００１８】
次に、図１のカメラ１００における基本動作を、図３のフローチャートを用いて説明する。図１のカメラ１００の電源がＯＮされると、メモリ内容や実行プログラムの初期化状態を検出すると共に、撮影準備動作を実行し、図３のフローチャートが開始する。ステップＳ２０１では、カメラ側ＭＰＵ６は、ユーザーが各種ボタン（不図示）を操作してカメラの各種設定を行ったことを認識する。ステップＳ２０２では、カメラ側ＭＰＵ６は、スイッチＳＷ１＿１８がＯＮされたか否かの判定を行う。スイッチＳＷ１＿１８がＯＮされた場合はステップＳ２０４に移行する。一方、ＯＮされていない場合はステップＳ２０３に移行し、電源のＯＮ/ＯＦＦ判定を行う。電源ＯＦＦの場合は一連の撮影動作を終了する。電源がＯＮの場合は、ステップＳ２０１の動作へ戻る。
【００１９】
ステップＳ２０４では、カメラ側ＭＰＵ６は、スイッチＳＷ１＿１８がＯＮされたことに対応して、後述する焦点検出処理を行う。ステップＳ２０５では、カメラ側ＭＰＵ６は、スイッチＳＷ２＿１９がＯＮされたか否かの判断を行い、スイッチＳＷ２＿１９がＯＮされたと判断すればステップＳ２０６の撮影処理を行う。一方、カメラ側ＭＰＵ６は、スイッチＳＷ２＿１９がＯＮされていないと判断すればステップＳ２０１へ戻る。
【００２０】
図４は、本実施例における図３のステップＳ２０４の焦点検出処理を示すフローチャートである。ステップＳ３０１では、カメラ側ＭＰＵ６は、焦点検出センサに対して、信号蓄積指示を出力する。指示に基づき、焦点検出センサは信号蓄積動作を開始する。そして、蓄積動作が終了すると焦点検出センサは、一対のラインセンサで得た像信号をそれぞれＡ像、Ｂ像としてカメラ側ＭＰＵ６に出力する。ステップＳ３０１で出力したＡ像、Ｂ像の一例を図５に示す。この例では、Ａ像とＢ像は−２bit〜−３bitの位相差がある。ここでは、Ａ像がＢ像に対して右に存在する場合を負の位相差と定義する。図５のＡ像、Ｂ像の信号レベルは、共に飽和レベルを超えていない。Ａ像、Ｂ像について、仮に飽和レベルを超えている画素が存在している場合、飽和レベルを超えた画素信号は飽和レベルにクリップされて出力される。
【００２１】
次にステップＳ３０２では、カメラ側ＭＰＵ６は、ステップＳ３０１で焦点検出センサから出力された像信号から得たコントラスト情報が所定量以下であるか否かの判定を行う。コントラスト情報が所定量以下の場合は、ステップＳ３０３に移行し、焦点検出を行わずに、焦点検出が不可能であることをユーザーに警告する。一方、コントラスト情報が所定量より大きい場合、ステップＳ３０４の第一演算に移行する。ここでのコントラスト情報とは、カメラ側ＭＰＵ６が、像信号の演算画素範囲において、画素信号列の互いに隣接した画素の画素信号の差分を二乗した値の総和である。コントラスト情報が小さい場合、位相差を検出する際、後述する相関量も小さくなる。したがって、画素に発生するノイズ成分の影響を受けやすく焦点検出の精度が悪化する。以上の理由から、コントラスト情報が小さく焦点検出の信頼性が十分ではない場合は、焦点検出を行わない。
【００２２】
次にステップＳ３０４では、カメラ側ＭＰＵ６は、Ａ像、Ｂ像を基に図２の相関演算部１１２にて第一演算を行う。第一演算について詳細に説明する。第一演算におけるＡ像、Ｂ像のシフト波形と相関量の演算方法について、図６を用いて説明する。焦点検出センサから取得した像信号を所定画素分（bit）シフトさせた波形をシフト波形と定義する。図６（a）はセンサから取得した像信号そのものであり、シフト量０のシフト波形である。図６（ｂ）はシフト量−１bitのシフト波形、図６（ｃ）はシフト量−２bitのシフト波形を示している。ここでは、Ｂ像を固定して、Ａ像を左右にシフトすることでシフト量を制御する。下記の相関演算式（１）を用いて、シフト量ｋbitでの相関量Ｃ（k）を演算する。
【００２３】
【数１】
2015018194.tif 000003
【００２４】
この例では、最大シフト量は±４bitとし、９つのシフト波形をＲＡＭに保存する。また、演算範囲は、最大シフト量を考慮し、出力されたＡ像、Ｂ像の総画素数２５のうちの最初と最後の４bit分を演算から除外した範囲を演算範囲として設定する。そこで、各シフト波形のＡ像、Ｂ像の差分面積（図６（a）〜（c）の斜線部の面積）を相関量Ｃとし、シフト波形の相関量Ｃが最も小さくなるシフト量がＡ像、Ｂ像の位相差に対応する。
【００２５】
このように、図６（a）の２つの画素信号を相対的に±４bitの範囲でシフトさせた時の相関量Ｃを図７に示す。シフト量ｋ＝−２bitの時の相関量が最も小さい値となっているが、極小値は点線で示すようにｋ＝−２bit〜−３bitにある。そこで、シフト量ｋ＝−２とその近傍の相関量情報から補間演算することで、位相差検出の分解能を上げる。ここでは、シフト量ｋ＝−１bit〜−４bitの４つの相関量Ｃを用いることで、破線のように直線補間している。直線補間に用いる４つのシフト量は、以下の通り決定する。まず、最も小さい相関量を示すシフト量ｋを決定し、その近傍をシフト量ｋ−２、ｋ−１、ｋ＋１とする。また、相関量が最小なものが２つある場合は、シフト量が大きい方をシフト量ｋとして採用する。このように、第一演算手段は、一対の画素信号列を相対的に一画素ずつシフトさせ、複数のシフト位置における相関量から補間演算することで、像信号の一対の画素信号列の位相差を一画素より小さい単位で検出可能である。後述の第二演算手段でも、演算原理は同じである。
【００２６】
次にステップＳ３０５では、カメラ側ＭＰＵ６は、異常信号を検出する手段を備えた図２の異常画素検出部１１１により、ステップＳ３０１で取得した一対の像信号であるＡ像、Ｂ像の画素信号列中における異常画素（飽和画素、欠陥画素）を検出する。ここでは飽和画素を異常画素として検出する。飽和画素が存在しない場合は、ステップＳ３１０の合焦判定に移行する。一方、飽和画素が存在する場合はステップＳ３０６に移行する。ステップ３０６では、ステップ３０４の第一演算の補間演算で使用した４つのシフト波形と、ステップ３０５で検出した飽和画素の情報から、飽和画素を除外した波形を生成する。ここでは、４つのシフト波形から飽和した画素信号とその近傍の画素信号が除外された波形を生成する。飽和画素を除外した波形の生成方法の詳細は後述する。
【００２７】
ステップＳ３０７〜Ｓ３０８では、図２の演算切替判定部１１３にて、ステップＳ３０４の第一演算の結果と、後述する飽和画素と飽和画素の近傍の画素を除外して演算する第二演算の結果の信頼性判定を行う。信頼性判定は、画素数とコントラストの２つの項目とする。
【００２８】
ステップＳ３０７では、飽和画素を除外した波形生成の処理を施した４つの除外波形において、演算範囲内の画素数が所定数以下であるか否かの判定を行う。演算画素数が所定数以下である場合は、飽和画素とその近傍の画素を含めて演算する第一演算の方がより精度が高いと判定し、ステップＳ３１０の合焦判定に移行する。一方、演算画素数が所定数より多い場合、ステップＳ３０８のコントラスト情報による判定へ移行する。
【００２９】
ここで、上記ステップＳ３０７について図９を用いて詳細に説明する。図９は除外波形生成の処理を施した４つの除外波形のうちの１つを示している。横軸は画素位置、縦軸は像信号のレベルを示している。図９で示している除外範囲は、除外対象画素の位置を示しており、図５に示した波形と比べて、中央部の信号が飽和レベルを超えているものとする。演算画素範囲は４〜８画素目と１４〜２１画素目となっている。
【００３０】
演算画素数が少ない像信号の場合、相関量も小さくなる。そのため、被写体の明暗から得られる画素信号に対してノイズの割合が大きくなり、信頼性が低いと判定できる。したがって、除外対象画素が多くなることで演算画素数が所定数以下になってしまう場合は、第一演算の結果に基づいて焦点検出を行う。第一演算の結果を用いる理由は、次の通りである。まず、ステップＳ３０２の判定により、十分なコントラストが得られており、飽和の影響を受けにくい。更に、演算画素数が少ない波形から求める焦点検出の結果より、飽和画素近傍の除外対象になっている正常な画素信号を用いて演算する場合の方が、より精度の高い焦点検出が可能であるためである。
【００３１】
次にステップＳ３０８では、ステップＳ３０６で生成した除外波形のコントラスト情報が所定値以下であるか否かの判定を行う。コントラスト情報が所定値以下である場合は、第一演算がより精度が高いと判定し、ステップＳ３１０の合焦判定に移行する。一方、コントラストが所定値より大きい場合は、第二演算が第一演算より精度が高いと判定し、ステップＳ３０９の第二演算へ移行する。
【００３２】
ここで、上記ステップＳ３０８について前述した図９を用いて詳細に説明する。コントラスト情報は演算画素範囲における隣接画素間の差分を二乗した値の総和とし、次の式（２）に示す。ＣＮＴは、コントラスト情報のことを示している。
【００３３】
【数２】
2015018194.tif 000004
【００３４】
ここで、ｋはＡ（ｉ）、Ａ（ｉ＋１）のいずれかの画素が除外対象の画素である場合は０とし、Ａ（ｉ）、Ａ（ｉ＋１）の画素がともに演算画素範囲の画素である場合は１として、演算画素範囲の画素からコントラスト情報を求める。図９では、９〜１３画素目までは除外対象画素であり、この間の画素信号によるコントラスト情報は、式（２）のＣＮＴには加算されない。また、コントラスト情報は、Ａ像、Ｂ像それぞれに対して式（２）を用いて求め、Ａ像、Ｂ像の小さい方のコントラスト情報をとることとする。式（２）より求めたコントラスト情報と演算切替判定部１１３に記憶されている所定の判定値との大小関係の比較を４つの除外波形に対して行い、判定を行う。コントラスト情報とＡＦ精度についても、ステップＳ３０７の演算画素数と同様の関係にあり、コントラスト情報が小さい像信号から求めた相関量はノイズを受けやすくなる。したがって、除外処理を行った波形から求めたコントラスト情報が所定量以下の場合、第一演算の結果に基づいて焦点検出を行う。
【００３５】
以上のステップＳ３０７、ステップＳ３０８の２つの信頼性項目について規定の所定値を超えた場合は、飽和画素とその近傍画素を除外した第二演算がより精度が高いと判定し、ステップＳ３０９の第二演算に移行する。
【００３６】
次にステップＳ３０９では、ステップＳ３０６の飽和画素を除外する波形生成で生成した４つのシフト波形から、ステップＳ３０４の第一演算と同様に上記式（１）を用いて相関量Ｃを求める。それぞれの相関量から極小値となるシフト量を求め、第二演算結果とする。相関量Ｃ（Ｆ−１）とＣ（Ｆ）をつないだ直線と、相関量Ｃ（Ｆ＋１）とＣ（Ｆ＋２）をつないだ直線の交点を相関量の極小値とし、位相差を算出する。
【００３７】
ステップＳ３１０では、ステップＳ３０４もしくはステップＳ３０９で算出された位相差が所定の範囲内であるか否かの判定を行う。レンズの駆動量を示すデフォーカス量に変換するため、算出された位相差に係数を乗じてデフォーカス量を求める。求めたデフォーカス量が所望の範囲内、例えば１／４Ｆδ以内（Ｆ：レンズの絞り値、δ：定数：２０μｍ、したがってＦ２．０のレンズの開放絞りでは１０μｍ）であるならば合焦と判断し、一連の焦点検出処理を終了する。一方、１／４Ｆδより大であるならば、ステップＳ３１１のレンズ駆動に移行する。ステップＳ３１１では、ステップＳ３０４もしくはＳ３０９で算出された位相差の情報に基づき、レンズ駆動量を算出してレンズ側ＭＰＵ１に送信する。レンズ側ＭＰＵ１は、送信されたレンズ駆動量を基にレンズ駆動制御を行い、ステップＳ３０１に戻り、合焦状態になるまで前述の動作が繰り返される。
【００３８】
ここで飽和画素を除外する波形生成方法について、図８のフローチャートを用いて詳細に説明する。ステップＳ４０１では、第一演算から検出した位相差Ｐを基に第二演算で使用するシフト量の範囲を決定する。まず、最初に処理を行うシフト波形のシフト量ｋ＝Ｆ−１に設定する。Ｆは、検出した位相差Ｐよりも小さい整数に丸めた値とする。図７を例にすると、位相差Ｐ＝−２bit〜−３bitであり、Ｆ＝−３となる。ステップＳ４０２では、第一演算で取得したシフト量（ｋ）のシフト波形をＲＡＭから読み出す。
【００３９】
ステップＳ４０３で、ステップＳ４０２で読み出したシフト波形から１画素ずつＡ像、Ｂ像のいずれかが飽和画素であるか判断し、飽和画素の位置を検知する。画素信号と予めＲＡＭに記憶してある飽和レベルの値とを比較することで飽和の判定を行う。ステップＳ４０４では、ステップＳ４０３で飽和画素と判定された画素の位置をＲＡＭに記憶する。ステップＳ４０５では、ｋがＦ＋２か否かの判定を行い、Ｆ＋２であればステップＳ４０７へ移行する。つまり、ここでは４つのシフト量のシフト波形について飽和画素の検知処理を行った場合に次のステップＳ４０７へ移行する。一方、Ｆ＋２よりも小さければ、飽和画素を検知すべきシフト波形が残っているので、ステップＳ４０６で、シフト量ｋ＝ｋ＋１を設定し、次のシフト量のシフト波形について検知処理を行う。
【００４０】
ステップＳ４０７では、ステップＳ４０４で夫々のシフト波形における飽和画素位置が記憶されているため、ステップＳ４０４で飽和画素位置として記憶された画素位置をＲＡＭから読み出す。そして、４つのシフト波形のいずれか一か所でも飽和画素位置として記憶された画素位置を除外対象の画素位置とする。
【００４１】
ここで上記ステップＳ４０７について、図１０と図１１を用いて詳細に説明する。図１０は第二演算で用いる４つのシフト波形を示している。横軸は画素位置、縦軸は像信号のレベルを示している。図１０におけるシフト波形は、図４のステップＳ３０４の第一演算の結果でＲＡＭに記憶したＦ−１、Ｆ、Ｆ＋１、Ｆ＋２のシフト量、ここではＦ＝−３のためシフト量ｋ＝−４、−３、−２、−１のシフト波形である。図１０（a）はシフト量ｋ＝−１のシフト波形であり、画素位置９〜１２でＡ像、Ｂ像のいずれかに飽和画素が存在し、カメラ側ＭＰＵ６は飽和画素位置として画素位置９、１０、１１、１２の４画素をＲＡＭに記憶する。図１０（ｂ）はシフト量ｋ＝−２のシフト波形であり、図１０（a）と同様の判定により画素位置９、１０、１１の３画素をＲＡＭに記憶する。図１０（ｃ）はシフト量ｋ＝−３のシフト波形であり、上記と同様の判定により画素位置９、１０、１１の３画素をＲＡＭに記憶する。図１０（ｄ）ではシフト量ｋ＝−４のシフト波形であり、上記と同様の判定により画素位置８、９、１０、１１の４画素をＲＡＭに記憶する。
【００４２】
図１０（a）〜（ｄ）のシフト波形における飽和画素位置を図１１の表にまとめて示した。飽和画素および除外画素に対応した画素位置は“×”で表している。このようにシフト波形によってＡ像、Ｂ像のいずれかが飽和している画素の数が異なる。相関量は、相関演算式（１）で示したように、各画素の対になっている像信号の差分を総和した値である。飽和画素のみ、または、飽和画素とこれと対になる画素のみを除外すると、シフト波形毎に演算画素数が異なり、総和する画素数が異なるために、位相差を示すそれぞれの相関量の基準が異なってしまい、正しい演算結果を求めることが出来ない。
【００４３】
そこで、図１０（a）〜（d）のいずれかのシフト波形で、任意の画素位置（i）を飽和画素位置として記憶している場合、他のシフト波形においても画素位置（i）は除外画素とする。この場合、除外画素は正常画素であってもよい。つまり、第二演算に用いる４つのシフト波形において、８、９、１０、１１、１２の５画素が除外画素位置となる。したがって、図１０（a）のシフト波形では画素位置９、１０、１１、１２が飽和画素であるが、正常画素である画素の位置８についても飽和画素と同様に扱う。このため、いずれかのシフト波形で飽和画素とした画素を４つのシフト波形から取り除いている。よって、４つのシフト波形の相関量Ｃを式（１）より演算すると、演算範囲および演算画素数が等しくなり、除外を行った波形から演算する際、高精度な位相差を検出することが出来る。
【００４４】
ステップＳ４０８では、４つのシフト波形において、ステップＳ４０７で除外対象画素とした画素の信号を０とすることで、飽和画素とその近傍画素を除外した除外波形を生成することになる。
【００４５】
上記実施例１によれば、像信号に飽和画素の信号が存在した場合、飽和画素とその近傍画素の信号を除外して相関演算することで、飽和によって生じるＡＦ誤差を低減することが出来る。しかし、被写体状況によっては、飽和画素とその近傍画素を除外することで、演算画素数やコントラスト情報の信頼度を失ってしまう。そこで、除外処理した波形に対して、演算画素数とコントラスト情報を基に信頼性判定（Ｓ３０７、Ｓ３０８）して、その判定結果に基づき相関演算を選択することで、高精度な焦点検出を行うことが出来る。
【００４６】
（実施例２）
上記実施例１では、除外処理した後の波形から信頼性を判定することで第１と第２演算を切替えている。実施例２では、演算切替判定のために第１演算の結果を使う焦点検出装置ないし方法について説明する。以下、図１２を参照して、実施例２について詳細に説明する。上記実施例１と同様の部分については、同一の符号を用いてその説明を省略する。また、実施例２におけるカメラ１００の構成（図１）と撮影動作（図３）については、上記実施例１と同様であり、それらの説明を省略する。
【００４７】
図１２は、本実施例における焦点検出処理を示すフローチャートである。図１２のフローチャートでは、ステップＳ５０７以外のステップは、実施例１で説明した図４のフローチャートと同じステップ番号であり、それらの説明を省略する。図１２のステップＳ５０７では、ステップＳ３０４において飽和画素とその近傍画素を含めて演算した第一演算の結果（Ａ像、Ｂ像の位相差）が整数値近傍であるか否かの判定を行う。第一演算の結果が整数値近傍である場合は、飽和によるＡＦ誤差が許容できる値と判定し、ステップＳ３１１に移行する。一方、第一演算の結果が整数値近傍ではない場合、飽和画素とこれの近傍画素を除外した第二演算を行うために、ステップＳ３０６の飽和画素を除外した波形生成に移行する。
【００４８】
ここで、ステップＳ３０４の第一演算結果（位相差）による判定の閾値について図１３により説明する。図１３は、第一演算結果のＡＦ誤差を示す図である。横軸は第一演算結果、縦軸は実際のＡ像、Ｂ像の位相差を示している。誤差がない場合は、第一演算結果とＡ像、Ｂ像の位相差の関係は傾き１の直線になる。しかし実際には、飽和画素の影響により破線の領域内でＡＦ誤差が生じてしまう。飽和により発生するＡＦ誤差の特徴としては、位相差が整数である１bit、２bitではＡＦ誤差が生じず、正しい演算結果を得ることが出来る。一方、０．５bit単位の位相差に近づくにつれて、ＡＦ誤差が大きくなる。ここでの判定値として、ＡＦ誤差の範囲を焦点検出の合焦範囲である１/４Ｆδとする。ＡＦ誤差をデフォーカス量換算して、１/４Ｆδ以内であればそのまま第一演算結果を選択する。一方、ＡＦ誤差が１/４Ｆδより大きければ前述した第二演算結果を用いる。
【００４９】
位相差によってＡＦ誤差の大きさが変化する原理について、図１３〜図１９を用いて説明する。図１４は、Ａ像、Ｂ像の位相差が−０．５bitである像信号において、相関演算する際に生成する４つのシフト波形を示している。横軸は画素位置、縦軸は像信号のレベルを示している。図１４は、波形のシフト量がそれぞれ（a）：シフト量ｋ＝１、（ｂ）：シフト量ｋ＝０、（ｃ）：シフト量ｋ＝−１、（ｄ）：シフト量ｋ＝−２の４つのシフト波形を示している。それぞれの波形において、●はＡ像の画素信号、○はＢ像の画素信号、▲はＡ像、Ｂ像が重なっている画素信号を示している。図１４のシフト波形は、Ａ像、Ｂ像共に飽和レベルを超えていない波形である。それぞれのシフト波形に対して式（１）より相関量を求める。
【００５０】
図１５では、図１４の像信号はそのままで飽和レベルを低くすることにより、Ａ像、Ｂ像の一部の画素信号が飽和レベルを超えた場合を想定する。もちろん、飽和レベルはそのままで、信号レベルを上げても同様の現象が起きる。飽和レベルを超える信号量を持つ画素は全て飽和画素とし、飽和レベルより高い信号量を持っている飽和画素の信号量は、飽和レベルにクリップされてしまう。そのため、飽和がない本来の信号量よりも減少する。
【００５１】
図１６は、飽和画素なしの相関量と、飽和画素ありの相関量を示した図である。図１６において、シフト量−２のシフト波形の相関量を式（１）より算出した値をＣ（−２）とし、Ｃ（−２）とＣ（−１）をつないだ直線と、Ｃ（０）とＣ（１）をつないだ直線との交点を極小値として、位相差を算出する。図１６より、飽和画素なしのシフト波形から算出した位相差に対して、飽和画素ありのシフト波形から算出した位相差はズレていることが分かる。このズレはＡＦ誤差である。
【００５２】
このＡＦ誤差の原因として、図１４（a）と図１５（a）の１０画素目と１２画素目に注目すると、飽和によるクリップがない図１４（a）と比べて、飽和によるクリップがある図１５（a）はＡ像、Ｂ像の信号量の差が減少していることがある。Ａ像、Ｂ像の信号量の差は相関量になるので、飽和がないときに比べて、飽和ありの像信号の相関量は少なくなる。図１６より、シフト量ｋ＝０の場合は、ｋ＝−２、−１、１の場合と比較して、飽和によって相関量が減少している量が少ない。これは、シフト量０bitのシフト波形である図１４（ｂ、図１５（ｂ）に注目して分かるように、１０画素目と１１画素目は飽和により飽和レベルにクリップされるが、相関量に及ぼす影響は他のシフト波形と比較すると少ないことに起因する。このように、シフト波形毎に、飽和の影響による相関量の減少量が異なるため、それぞれのシフト波形から補間演算することで位相差を求めると正しい結果が得られず、ＡＦ誤差が生じてしまう。補間演算する際、整数bitから最も離れている０．５bit付近に極小値がある場合に、最も相関量の変動の影響を受けやすくなる。このように、位相差の小数部が０．５bitである像信号を演算した場合、ＡＦ誤差が最も大きくなる。
【００５３】
一方で、位相差が整数bitの場合について図１７、１８、１９を用いて説明する。図１７では、Ａ像、Ｂ像の位相差が−１bitである像信号の４つのシフト波形を示しており、位相差以外の振幅、像信号は図１４と同様の波形である。飽和レベルは、図１７と同様に飽和画素が生じないような、像信号の最大値よりも大きい値とする。図１８は、図１７の像信号はそのままで飽和レベルを低くすることにより、Ａ像、Ｂ像の一部の画素信号が飽和レベルを超えた場合を想定している。
【００５４】
図１９には、図１７と図１８のシフト波形から求めた相関量を示す。図１９においても、図１６と同様にして相関量の極小値を求め、位相差を算出する。Ａ像、Ｂ像の位相差が整数である像信号の相関量を示している図１９では、飽和画素の有無に関わらず同じ位相差を示し、ＡＦ誤差は生じていない。この理由は、図１８（ｂ）に着目すると分かるように、Ａ像、Ｂ像の位相差が整数であるため、飽和画素に関わらずＡ像とＢ像が重なるからである。Ａ像、Ｂ像の像信号が完全に同じとすると、Ａ像、Ｂ像が重なったシフト波形の相関量は０となる。相関量は負の値をとらないため、極小値は像が一致したシフト量になる。したがって、上述したように、像信号が一致するシフト量は飽和画素とは関係がないため、飽和画素の存在に関わらず、正しい位相差を算出することが出来る。
【００５５】
また、実際の演算では、シフト波形毎の相関量から直線補間を行う。図１８（ａ）、（ｃ）が示すように、像信号が一致している図１８（ｂ）の波形に対し、左右にシフトした（ａ）と（c）の波形は、Ａ像とＢ像が入れ替わっただけである。そのため、（a）と（c）のシフト波形における相関量は同じ値である。したがって、図１９において、上述したように極小値を算出すると飽和画素の有無に関わらずシフト量ｋ＝−１で極値を持つ。以上の原理により、Ａ像、Ｂ像の位相差が整数値の場合は、ＡＦ誤差は生じず、位相差が整数の間で小数部が０．５bitである値に近づくにつれて、第一演算結果のＡＦ誤差は大きくなる。
【００５６】
上記実施例１によれば、像信号に飽和画素が存在した場合、第一演算結果から飽和画素除外波形を生成し、生成した波形を基に第二演算を行っている。つまり、第二演算を行う場合は、相関演算を二回行う必要がある。そこで、実施例２では、第一演算結果より、位相差が整数値近傍である場合は、ＡＦ誤差が少ないと判定し（Ｓ５０７）、第二演算を行わず、第一演算結果から焦点検出を行う。このことで、焦点検出処理にかかる時間を短縮し、かつ高精度で焦点検出を行うことが出来る。
【００５７】
（実施例３）
実施例３は、実施例１の考え方と実施例２の考え方を組み合わせた演算切替の判定方法を採用する。実施例３におけるカメラ１００の構成（図１）と撮影動作（図３）については、上記実施例１と同様なので、それらの説明は省略する。図２０は、本実施例における焦点検出処理を示すフローチャートである。なお、図２０のフローチャートでは、演算切替判定部のステップＳ６０１〜Ｓ６０７以外のステップについては、図４のフローチャートと同じステップ番号であり、それらの説明を省略する。
【００５８】
図２０のステップＳ６０１では、先に算出した第一演算（飽和画素を含む像信号による位相差演算）の結果が整数値近傍であるか否かの判定を行う。ここでの判定は前述の実施例２で説明したのと同様であり、第一演算の結果が整数値近傍でＡＦ誤差が１/４Ｆδ以内である場合は、ステップＳ６０２に移行する。一方、第一演算の結果が整数値近傍ではなくＡＦ誤差が１/４Ｆδより大きい場合は、ステップＳ６０５に移行する。ステップＳ６０２では、実施例１のステップＳ３０６と同様の飽和画素を除外した波形生成を行う。飽和画素除外の波形生成は、第一演算の補間演算で使用した４つのシフト波形と、ステップＳ３０５で検出した飽和画素情報から、飽和画素を除外した波形を生成する。ここでは、４つのシフト波形から飽和画素とその近傍画素が除外される。
【００５９】
ステップＳ６０３では、ステップＳ６０２で生成した除外波形の演算画素数が閾値１（第一閾値）以下であるか否かの判定を行う。演算画素数が閾値１より多い場合は、演算画素数による判定においては第二演算が有効であると判定し、ステップＳ６０４のコントラストによる判定に移行する。一方、演算画素数が閾値１以下の場合は、第二演算が有効ではないと判定し、第一演算の結果を用いるステップＳ３１０の合焦判定に移行する。なお、ここでの閾値１の決定方法については後述する。
【００６０】
ステップＳ６０４では、除外波形のコントラスト情報が閾値２（第２閾値）以下であるか否かの判定を行う。コントラスト情報は実施例１で述べた通り、式（２）より求める。コントラスト情報が閾値２より大きい場合は、第二演算が有効であると判定し、ステップＳ３０９の第二演算に移行する。一方、コントラスト情報が閾値２以下の場合は、第二演算が有効ではないと判定し、第一演算の結果を用いるステップＳ３１０の合焦判定に移行する。
【００６１】
ここで、ステップＳ６０３とＳ６０４の閾値の決定方法について説明する。ステップＳ６０１の位相差の判定により、第一演算結果のＡＦ誤差は、図１３より、１/４Ｆδ以内である。そこで、さらに精度の高い演算を行うため、第二演算では、ＡＦ誤差が１/８Ｆδ以内になるような、演算画素数とコントラスト情報の閾値を設定し、判定を行う。演算画素数とコントラスト情報が共に判定閾値より大きく、第二演算結果のＡＦ誤差が１/８Ｆδ以内であると判断された場合は、第二演算を選択する。一方、演算画素数とコントラスト情報のいずれかが判定閾値以下で、第二演算でのＡＦ誤差が１/８Ｆδより大きくなる場合は、第一演算を選択する。ここにおいて、判定手段は、第一演算手段で検出した位相差が整数値近傍である場合、演算画素数とコントラスト情報の判定項目のうち、少なくとも１つの閾値を変更することができる。これにより、ＡＦ誤差の１/８Ｆδ以内という目標を変更することができる。
【００６２】
次に、ステップＳ６０１で、第一演算の結果が整数値近傍ではなくＡＦ誤差が１/４Ｆδより大きいと判定された場合について説明する。ステップＳ６０５では、ステップＳ６０２と同様に飽和画素とその近傍画素を除外する飽和画素除外の波形生成を行う。ステップＳ６０６では、ステップＳ６０５で生成された除外波形の演算画素数が閾値３（第３閾値）以下であるか否かの判定を行う。演算画素数が閾値３より多い場合は、演算画素数による判定においては第二演算が有効であると判定し、ステップＳ６０７のコントラストによる判定に移行する。一方、演算画素数が閾値３以下の場合は、第二演算が有効ではないと判定し、ステップＳ３０３に移行する。ステップＳ３０３では、焦点検出を行わず、焦点検出が不可能であることをユーザーに警告する。なお、ここでの閾値の決定方法についても後述する。
【００６３】
ステップＳ６０７では、除外波形のコントラスト情報が閾値４（第４閾値）以下であるか否かの判定を行う。コントラスト情報が閾値４より大きい場合は、第二演算が有効であるとして、ステップＳ３０９の第二演算に移行する。一方、コントラスト情報が閾値４以下の場合は、第二演算が有効ではないと判定され、ステップＳ３０３に移行する。ステップＳ３０３では、焦点検出を行わずに焦点検出が不可能であることをユーザーに警告する。
【００６４】
ここで、ステップＳ６０６とＳ６０７の閾値の決定方法について説明する。ステップＳ６０１の位相差の判定のより、第一演算結果のＡＦ誤差は、図１３より、１/４Ｆδより大きい。そこで、第二演算ではＡＦ誤差が１/４Ｆδ以内になるように演算画素数とコントラスト情報の閾値を設定し、判定を行う。演算画素数とコントラスト情報が共に判定閾値を超えて、第二演算結果のＡＦ誤差が１/４Ｆδ以内であると判断された場合は、第二演算を選択する。一方で、演算画素数とコントラスト情報のいずれかが判定閾値以下で、第二演算でのＡＦ誤差が１/４Ｆδより大きくなると判断された場合、焦点検出は行わない。
【００６５】
上記実施例３によれば、像信号に飽和画素が存在した場合、第一演算結果の位相差によって第一演算のＡＦ誤差を判定する（Ｓ６０１）。判定された第一演算のＡＦ誤差が１/４Ｆδ以内である場合、信頼性判定の閾値１、２により、第二演算で、さらに高い精度の高い演算が可能であるかを判定している（Ｓ６０３、Ｓ６０４）。一方、判定された第一演算のＡＦ誤差が１/４Ｆδより大きく焦点検出が行えない場合、信頼性判定の閾値３、４により、第二演算で、ＡＦ誤差１/４Ｆδ以内の精度で演算が可能であるか否かの判定を行う（Ｓ６０６、Ｓ６０７）。この判定により、第二演算による焦点検出が可能あるか否かを判定することが出来る。以上の判定により、様々な被写体状況に対応して、最適な演算を選択し、高精度な焦点検出を行うことが出来る。
【００６６】
（実施例４）
実施例４では、撮像素子に焦点検出用画素が離散的に配置された撮像装置における焦点検出処理について説明する。上記実施例１では、メインミラー１２がダウン位置に配置され、サブミラー１３により光束が焦点検出ユニット７へ入射するような構成であり、イメージセンサ１０１への光束に対して、所謂２次光学系による位相差検出方式の焦点検出を行っていた。しかし、これに限らず、イメージセンサ１０１の一部画素を焦点検出用に転用し、その焦点検出用画素にて、撮像面で瞳分割するマスクを配置することで、撮像面における位相差検出方式の焦点検出を行ってもよい。すなわち、実施例４では、受光手段は、画素の光電変換素子が二次元に配置された撮像素子であり、撮像素子の少なくとも一部を焦点検出用画素とし、焦点検出用画素からの像信号を基に位相差を検出することで焦点状態を検出する。
【００６７】
焦点検出用画素は、例えば、複数の光電変換部を備え、撮影レンズの瞳上の異なる領域を通過した光束が、それぞれ、異なる光電変換部に導かれるように構成される。各焦点検出用画素に含まれる光電変換部で得た画像信号により、異なる瞳領域を通過した光束により生成される光像（Ａ像とＢ像）を取得する。そして、上記相関演算式を用いて、このＡ像とＢ像の相対的な位相差を算出する。他方、撮像用画素は、例えば、画素内に１つの光電変換部を有する画素である。こうした場合、各焦点検出用画素で取得した信号を用いて焦点検出を行い、撮影用画素で取得した信号を用いて画像を生成できる。また、撮像用画素で取得した信号を用いて、近接する焦点検出用画素の画像用信号を生成してもよい。このような構成とすることで、撮像素子に占める焦点検出用画素の割合を減らすことができ、焦点検出と同時に、高画質な画像を撮像することができる。
【００６８】
図２１から図２３は、撮像用画素と焦点検出用画素の構造を説明する図である。実施例４においては、２行×２列の４画素のうち、対角２画素にＧ（緑色）の分光感度を有する画素を配置し、他の２画素にＲ（赤色）とＢ（青色）の分光感度を有する画素を各１個配置した、ベイヤー配列が採用されている。そして、ベイヤー配列の間に、後述する構造の焦点検出用画素が所定の規則にて分散配置される。図２１に撮像用画素の配置と構造を示す。同図（ａ）は２行×２列の撮像用画素の平面図である。ベイヤー配列では対角方向にＧ画素が、他の２画素にＲとＢの画素が配置される。この２行×２列の構造が繰り返し配置される。同図（ａ）における断面Ａ−Ａを同図（ｂ）に示す。ＭＬは各画素の最前面に配置されたオンチップマイクロレンズ、ＣＦＲはＲのカラーフィルタ、ＣＦＧはＧのカラーフィルタである。ＰＤはＣ−ＭＯＳセンサの光電変換部を模式的に示し、ＣＬはＣ−ＭＯＳセンサ内の各種信号を伝達する信号線を形成するための配線層である。ＴＬは撮影光学系を模式的に示し、ＥＰは射出瞳を示す。撮像用画素のオンチップマイクロレンズＭＬと光電変換部ＰＤは、撮影光学系ＴＬを通過した光束を可能な限り有効に取り込むように構成されている。換言すると、撮影光学系ＴＬの射出瞳ＥＰと光電変換部ＰＤは、マイクロレンズＭＬにより共役関係にあり、かつ光電変換部の有効面積は大面積に設計される。同図（ｂ）ではＲ画素の入射光束について説明したが、Ｇ画素及びＢ画素も同一の構造となっている。従って、撮像用のＲＧＢ各画素に対応した射出瞳ＥＰは大径となり、被写体からの光束を効率良く取り込んで画像信号のＳ／Ｎを向上させている。
【００６９】
図２２は、撮影光学系の水平方向（横方向）に瞳分割を行なうための焦点検出用画素の配置と構造を示す。ここで水平方向あるいは横方向の定義は、撮影光学系の光軸が水平となるようにカメラを構えたとき、該光軸に直交し、かつ水平方向に伸びる直線に沿った方向を指す。同図（ａ）は、焦点検出用画素を含む２行×２列の画素の平面図である。記録もしくは観賞のための画像信号を得る場合、Ｇ画素で輝度情報の主成分を取得する。そして人間の画像認識特性は輝度情報に敏感であるため、Ｇ画素が欠損すると画質劣化が認知されやすい。一方で、ＲもしくはＢ画素は、色情報（色差情報）を取得する画素であるが、人間の視覚特性は色情報には鈍感であるため、色情報を取得する画素は多少の欠損が生じても画質劣化は認識され難い。そこで本実施例では、２行×２列の画素のうち、Ｇ画素は撮像用画素として残し、ＲとＢの画素を焦点検出用画素に置き換える。これを同図（ａ）においてＳＨＡ及びＳＨＢで示す。同図（ａ）における断面Ａ−Ａを同図（ｂ）に示す。マイクロレンズＭＬと、光電変換部ＰＤは図２１（ｂ）に示した撮像用画素と同一構造である。本実施例においては、焦点検出用画素の信号は画像創生には用いないため、色分離用カラーフィルタの代わりに透明膜ＣＦＷが配置される。また、撮像素子で瞳分割を行なうため、配線層ＣＬの開口部はマイクロレンズＭＬの中心線に対して一方向に偏倚している。具体的には、画素ＳＨＡ及の開口部ＯＰＨＡは右側に偏倚しているため、撮影光学系ＴＬの左側の射出瞳ＥＰＨＡを通過した光束を受光する。同様に、画素ＳＨＢの開口部ＯＰＨＢは左側に偏倚しているため、撮影光学系ＴＬの右側の射出瞳ＥＰＨＢを通過した光束を受光する。よって、画素ＳＨＡを水平方向に規則的に配列し、これらの画素群で取得した被写体像をＡ像とする。また、画素ＳＨＢも水平方向に規則的に配列し、これらの画素群で取得した被写体像をＢ像とし、Ａ像とＢ像の位相差を検出することで、デフォーカス量が検出できる。上記画素ＳＨＡ及びＳＨＢでは、撮影画面の横方向に輝度分布を有した被写体、例えば縦線に対しては焦点検出可能であるが、縦方向に輝度分布を有する横線は焦点検出不能である。そこで本実施例では、後者についても焦点検出できるよう、撮影光学系の垂直方向（縦方向）にも瞳分割を行なう画素も備えている。
【００７０】
図２３と図２４は、上記図２１と図２２で説明した撮像用画素と焦点検出用画素の配置規則を説明する図である。図２３は撮像用画素の間に焦点検出用画素を離散的に配置する場合の、最小単位の配置規則を説明するための図である。同図において、１０行×１０列＝１００画素を１つのブロックとする。そして一番左上のブロックＢＬＫ（1，1）において、一番左下のＲ画素とＢ画素を、水平方向に瞳分割を行なう１組の焦点検出用画素ＳＨＡ及びＳＨＢで置き換える。その右隣りのブロックＢＬＫ（1，2）においては、同じく一番左下のＲ画素とＢ画素を、垂直方向に瞳分割を行なう１組の焦点検出用画素ＳＶＣ及びＳＶＤで置き換える。また、最初のブロックＢＬＫ（1，1）の下に隣接したブロックＢＬＫ（2，1）の画素配列は、ブロックＢＬＫ（1，2）と同一とする。そして、その右隣りのブロックＢＬＫ（2，2）画素配列は、先頭のブロックＢＬＫ（1，1）と同一とする。この配置規則を普遍的に表現すると、ブロックＢＬＫ（ｉ，ｊ）において、ｉ＋ｊが偶数なら水平瞳分割用の焦点検出用画素を配置し、ｉ＋ｊが奇数なら垂直瞳分割用の焦点検出用画素を配置することになる。そして、図２３の２×２＝４ブロック、すなわち２０行×２０列＝４００画素の領域を、ブロックの上位の配列単位として、クラスタとする。
【００７１】
こうして、クラスタを単位とした配置を行い、クラスタが集まって単位としたフィールドを単位とした配置を行う。図２４は、撮影光学系によって形成された被写体像の、横ずれ方向の焦点検出を行なう場合の画素グループ化方法を説明する図である。横ずれ方向の焦点検出とは、撮影光学系の射出瞳を横方向に分割するための焦点検出用画素を用いて、位相差演算を行なうことを指す。図２４に示す画素配列は、ブロックが集まったクラスタの配置を示す。焦点検出の際には、横方向に１ブロック、縦方向に１０ブロックの合計１０ブロックを１つのグループとし、これをセクションとする。そして、本実施例では、横方向に並んだ３０セクションで、１つの焦点検出領域を構成する。すなわち、１００行×３００列＝３万画素の領域が１つの焦点検出領域となる。この１つの焦点検出領域をＡＦエリアと定義する。ここで、１つのセクション内においては、横方向における一方の瞳分割を行なう画素ＳＨＡが５個、他方の瞳分割を行なう画素ＳＨＢも５個含まれている。そこで本実施例においては、５個のＳＨＡの出力を加算して、位相差演算用の一方の画像信号（Ａ像）の１ＡＦ画素とする。同様に、５個のＳＨＢの出力を加算して、位相差演算用の他方の画像信号（Ｂ像）の１ＡＦ画素とする。撮影光学系によって形成された被写体像の、縦ずれ方向の焦点検出を行なう場合の画素グループ化方法も原理は同じである。
【００７２】
図２５から図２７は、本実施例に関わる撮影動作及び焦点検出処理を説明するためのフローチャートである。図２５は本実施例のカメラの撮影動作フローである。撮影者がカメラの電源スイッチをオン操作すると、ステップＳ７０１においては目標露光値を適正露光値に設定する。また、その他に、メモリ内容や実行プログラムの初期化を行なうと共に、撮影準備動作を実行する。ステップＳ７０２では撮像素子の撮像動作を開始する。ここではステップＳ７０１、あるいは後述するステップＳ７０５で設定された目標露光値になるように露光時間を制御し、プレビュー用の低画素動画像を出力する。ステップＳ７０３では読み出した動画をカメラ背面に設けられた表示器１７に表示し、撮影者はこのプレビュー画像を目視して撮影時の構図決定を行なう。ステップＳ７０４では、ＳＷ１_１８がオン操作されたか否かを判別し、オン操作されていなければステップＳ７０２に戻る。そして、撮像素子駆動からステップＳ７０３のプレビュー画像表示を繰り返し実行する。ステップＳ７０４でＳＷ１＿１８がオン操作されるとステップＳ７０５に移行し、焦点検出処理を実行する。ステップＳ７０５で行う焦点検出処理は、図２７のフローチャートを用いて説明する。
【００７３】
図２７は、本発実施例における焦点検出処理を示すフローチャートである。ステップＳ９０１では、ＭＰＵ６は１０１のＣ−ＭＯＳセンサに対して、信号蓄積指示を出力する。指示に基づき、Ｃ−ＭＯＳセンサは信号蓄積動作を開始する。そして、蓄積動作が終了すると焦点検出用画素を読み出す。次にステップＳ９０２では、ステップＳ９０１で焦点検出用画素から出力された像信号から得たコントラスト情報が所定量以下であるか否かの判定を行う。コントラスト情報が所定量以下の場合は、ステップＳ９１６に移行し、焦点検出を行わず、焦点検出が不可能であることをユーザーに警告する。一方、コントラスト情報が所定量より大きい場合、ステップＳ９０３の第一演算に移行する。ここで、コントラスト情報とは、実施例１と同様に、像信号の演算画素範囲において、ＡＦ画素の隣接したＡＦ画素の画素信号の差分を二乗した値の総和である。コントラスト情報が小さい場合、位相差を検出する際、相関量も小さくなる。したがって、画素に発生するノイズ成分の影響を受けやすく焦点検出の精度が悪化する。以上の理由からコントラスト情報が小さく焦点検出の信頼性が十分ではない場合は、焦点検出を行わない。次にステップＳ９０３では、ＭＰＵ６はＡ像、Ｂ像を基に、実施例１と同様の第一演算を行う。Ｃ−ＭＯＳセンサのＡＦ画素から取得した像信号のシフトさせた波形をシフト波形とする。相関演算式（１）を用いて、それぞれのシフト波形から相関量Ｃ（k）を演算し、像信号の位相差を算出する。
【００７４】
次にステップＳ９０４では、ＭＰＵ６は、ステップＳ９０１で取得した一対の像信号における異常画素（飽和画素、欠陥画素）を検出する。ここでは異常画素として飽和画素を検出する。実施例４において、ＡＦ画素は複数の焦点検出用画素の出力を加算する構成になっている。ここで定義する飽和画素は、ＡＦ画素単位に含まれる焦点検出用画素（ＳＣＴＶ・ＳＣＴＨ）に１つでも飽和画素が含まれていた場合、そのＡＦ画素は飽和画素として扱う。次に、検出した情報を基に飽和画素が存在するか否かの判定を行う。飽和画素が存在しない場合は、ステップＳ９１３の合焦判定に移行する。一方、飽和画素が存在する場合はステップＳ９０５のＡ像、Ｂ像の位相差による判定に移行する。ステップＳ９０５での位相差による判定は実施例２、３でも説明した通りであり、先に算出した第一演算の結果が整数値近傍であるか否かの判定を行う。ここでの判定は第一演算の結果が整数値近傍でＡＦ誤差が１/４Ｆδ以内である場合は、ステップＳ９０６に移行する。一方、第一演算の結果が整数値近傍ではなくＡＦ誤差が１/４Ｆδより大きい場合は、ステップＳ９０９に移行する。ステップＳ９０６では、実施例１のステップＳ３０６と同様の飽和画素除外の波形生成を行う。飽和画素除外の波形生成は、第一演算の補間演算で使用した４つのシフト波形と、ステップＳ９０４で検出した飽和画素情報から、飽和画素の除外波形を生成する。ここでは、４つのシフト波形から飽和した画素信号とその近傍画素の信号が除外される。
【００７５】
ステップＳ９０７では、除外波形の演算画素数が閾値１以下であるか否かの判定を行う。演算画素数が閾値１より多い場合は、演算画素数による判定においては、実施例１で説明した第二演算が有効であると判定し、ステップＳ９０８のコントラストによる判定に移行する。一方、演算画素数が閾値１以下の場合は、第二演算が有効ではないと判定し、第一演算の結果を用いてステップＳ９１３の合焦判定に移行する。ステップＳ９０８では、除外波形のコントラスト情報が閾値２以下であるか否かの判定を行う。コントラスト情報は実施例１で述べた通り、上記式（２）より求める。コントラスト情報が閾値２より大きい場合は、第二演算が有効であると判定し、ステップＳ９１２の第二演算に移行する。一方、コントラスト情報が閾値２以下の場合は、第二演算が有効ではないと判定し、第一演算の結果を用いてステップＳ９１３の合焦判定に移行する。ここで、ステップＳ９０７とＳ９０８の閾値の決定方法については実施例３のステップＳ６０３、Ｓ６０４と同じものとする。ステップＳ９０９では、ステップＳ９０６と同様に飽和画素とその近傍画素を除外する飽和画素除外の波形生成を行う。
【００７６】
ステップＳ９１０では、除外波形の演算画素数が閾値３以下であるか否かの判定を行う。演算画素数が閾値３より多い場合は、演算画素数による判定においては第二演算が有効であると判定し、ステップＳ９１１のコントラストによる判定に移行する。一方、演算画素数が閾値３以下の場合は、第二演算が有効ではないと判定し、ステップＳ９１５に移行する。ステップＳ９１５では、焦点検出を行わず、図２５のステップＳ７０２で撮像素子の駆動に関わる目標露光値を１ＥＶ分アンダーに変更する。ステップＳ９１１では、除外波形のコントラスト情報が閾値４以下であるか否かの判定を行う。コントラスト情報が閾値４より大きい場合は、第二演算が有効であるとして、ステップＳ９１２の第二演算に移行する。一方、コントラスト情報が閾値４以下の場合は、第二演算が有効ではないと判定され、ステップＳ９１５に移行する。ステップＳ９０８もしくはＳ９１１で、コントラスト情報がそれぞれで決められた閾値以上であると判定された場合、ステップＳ９１２で飽和画素とその近傍画素を除外した除外波形から演算する第二演算を行う。ステップＳ９１３では、ステップＳ９０３もしくはステップＳ９１２で算出された位相差が所定の範囲内であるか否かの判定を行う。ステップＳ９１４では、位相差の情報に基づき、レンズ駆動量を算出し、レンズ駆動制御を行い、ステップＳ９０１に戻り、合焦状態になるまで前述の動作が繰り返される。ここで、ステップＳ９１０とＳ９１１の閾値の決定方法は実施例３のステップＳ６０６、Ｓ６０７と同じものとする。ステップＳ９１５では、目標露光値を１ＥＶ分アンダーに設定する。そのため次回の焦点検出処理の際、焦点検出用画素の飽和量を改善できる。
【００７７】
図２５の撮影動作フローの説明に戻る。ステップＳ７０６では、目標露光値の変更を行ったか否かの判定を行う。目標露光値の変更が行われていない場合は、ステップＳ７０７のＳＷ２＿１９の判定に移行する。一方、目標露光値の変更が行われている場合は、変更された目標露光値に基づいて撮像素子を駆動させる。ステップＳ７０７では、ＳＷ２＿１９がオン操作されたか否かを判別し、オン操作されていなければステップＳ７０２の撮像素子駆動へ戻る。一方、ステップＳ７０８でＳＷ２＿１９がオン操作されるとステップＳ７０８に移行し、撮影サブルーチンを実行する。
【００７８】
図２６は撮影サブルーチンのフロー図である。撮影開始スイッチが操作されると、ステップＳ８０１では適正露光値であるか否かの判定を行う。メインフローのステップＳ７０５で目標露光値が変更され、ステップＳ７０１で設定した適正露光値とは異なる露光値でプレビュー画像に出力されていた場合、ステップＳ８０２の露光値変更に移行する。一方、適正露光値で出力されている場合はステップＳ８０３の絞り・シャッター駆動へ移行する。ステップＳ８０２では、焦点検出を行うために変更された目標露光値を、適正露光値に変更し、ステップＳ８０３の動作に備える。ステップＳ８０３では光量調節絞りを駆動し、露光時間を規定するメカニカルシャッタの開口制御を行なう。ステップＳ８０４では、高画素静止画撮影のための画像読み出し、すなわち全画素の読み出しを行なう。ステップＳ８０５では読み出した画像信号の欠損画素補間を行なう。すなわち、焦点検出用画素の出力は撮像のためのＲＧＢカラー情報を有しておらず、画像を得る上では欠陥画素に相当するため、周囲の撮像用画素の情報から補間により画像信号を創生する。ステップＳ８０６では、画像のγ補正、エッジ強調等の画像処理を行い、ステップＳ８０７において、フラッシュメモリ２３に撮影画像を記録する。ステップＳ８０８では、表示器１７に撮影済み画像を表示し、図２５の撮影動作フローにリターンする。図２５の撮影動作フローに戻り、一連の撮影動作を終了する。
【００７９】
以上説明したように、ライブビュー撮影の時、撮像面全体から露光値を決定するため、焦点検出範囲の一部に明るい被写体が存在した場合、焦点検出用画素が飽和してしまい、焦点検出の精度が悪化してしまう。一方、焦点検出範囲に飽和画素が発生しないように目標露光値を暗くしてしまうと、プレビュー画面が暗くなってしまい、撮影者は構図を定める際の障害になってしまう。そこで、飽和画素が発生しても可能な限り露光値を変更せず、実施例３と同様、位相差、演算画素数、コントラスト情報から最適な演算を選択して焦点検出処理を行う（Ｓ９０３〜Ｓ９１５）。
【００８０】
（他の実施形態）
本発明の目的は、以下の実施形態によって達成することもできる。即ち、前述した実施例の機能（カメラ側ＭＰＵなどの制御手段などの機能）を実現するソフトウェアのプログラムコードを格納した記憶媒体を、焦点検出装置に供給する。そして、そのカメラコントローラのコンピュータ（またはＣＰＵ、ＭＰＵなど）が記憶媒体に格納されたプログラムコードを読み出し上記機能を実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上記実施例の機能を実現することになり、被写体に対する異なる視点にて取得した視差画像信号に基づき焦点検出を行うためのプログラム、これを格納した記憶媒体は本発明を構成することになる。詳細には、少なくとも１対の複数画素からなるセンサを用いて位相差検出方式の焦点検出を行う焦点検出方法は次のステップを有する。撮影光学系の一対の瞳領域を通過した光束により形成される一対の被写体の像信号を受光し、出力する出力ステップ。前記出力ステップで出力される像信号で形成される一対の画素信号列に含まれる異常信号を発生する異常画素を検出する異常画素検出ステップ。前記異常画素検出ステップで検出された異常画素による信号を含んだ一対の画素信号列の位相差を検出する第一演算手ステップ。異常画素による信号を除外した一対の画素信号列の位相差を検出する第二演算ステップ。前記第一演算ステップと前記第二演算ステップの結果のいずれか一方を所定の判定基準に基づいて選択する判定ステップ。前記判定ステップにより選択された結果を基に焦点状態を検出する焦点検出ステップ。
【産業上の利用可能性】
【００８１】
上述した本発明による焦点検出装置及び方法は、焦点検出装置を必要とするデジタルカメラなどの撮像装置等に用いることができる。本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００８２】
１・・レンズ側ＭＰＵ、６・・カメラ側ＭＰＵ、７・・焦点検出ユニット（焦点検出装置）、２０・・撮影レンズユニット、３０・・カメラ本体、１００・・カメラ（撮像装置）、１０１・・撮像素子（受光手段）、１０７・・焦点検出センサ（受光手段）、１１１・・異常画素検出部（異常画素検出手段）、１１２・・相関演算部（第一演算手段、第二演算手段）、１１３・・演算切替判定部（判定手段）
【図１】
2015018194.tif 000005
【図２】
2015018194.tif 000006
【図３】
2015018194.tif 000007
【図４】
2015018194.tif 000008
【図５】
2015018194.tif 000009
【図６】
2015018194.tif 000010
【図７】
2015018194.tif 000011
【図８】
2015018194.tif 000012
【図９】
2015018194.tif 000013
【図１０】
2015018194.tif 000014
【図１１】
2015018194.tif 000015
【図１２】
2015018194.tif 000016
【図１３】
2015018194.tif 000017
【図１４】
2015018194.tif 000018
【図１５】
2015018194.tif 000019
【図１６】
2015018194.tif 000020
【図１７】
2015018194.tif 000021
【図１８】
2015018194.tif 000022
【図１９】
2015018194.tif 000023
【図２０】
2015018194.tif 000024
【図２１】
2015018194.tif 000025
【図２２】
2015018194.tif 000026
【図２３】
2015018194.tif 000027
【図２４】
2015018194.tif 000028
【図２５】
2015018194.tif 000029
【図２６】
2015018194.tif 000030
【図２７】
2015018194.tif 000031