(57)【特許請求の範囲】
【請求項１】
結像光学系の射出瞳の第１の瞳領域を通過した光束に対応する第１の信号と、前記第１の瞳領域とは異なる第２の瞳領域を通過した光束に対応する第２の信号と、に基づき、被写体の距離情報を検出する距離検出装置であって、
前記第１の信号と前記第２の信号の間の位置のズレ量である暫定ズレ量を算出するズレ量算出手段と、
前記暫定ズレ量に基づいて生成されるフィルタを用いて、前記第１の信号および前記第２の信号の一方または両方にフィルタ処理を施すフィルタ処理手段と、
前記フィルタ処理が施された前記第１の信号と前記フィルタ処理が施された前記第２の信号の間の位置のズレ量、または前記フィルタ処理が施された一方の信号と前記フィルタ処理が施されていない他方の信号の間の位置のズレ量、に基づいて被写体の距離情報を導出する距離導出手段と、
を備え、
前記フィルタは、前記第１の瞳領域または前記第２の瞳領域に対応する位相伝達関数と前記暫定ズレ量とに基づく関数に、０より大きく１より小さい実数である係数を乗算した関数を位相項に有する、
ことを特徴とする距離検出装置。
【請求項２】
前記係数は、前記暫定ズレ量の大きさに応じて決定される係数であり、前記暫定ズレ量が小さいほど小さい値を有する、
ことを特徴とする請求項１に記載の距離検出装置。
【請求項３】
前記係数は、前記暫定ズレ量の誤差量と、前記第１の信号と前記第２の信号の形状差とに基づいて決定される、
ことを特徴とする請求項２に記載の距離検出装置。
【請求項４】
前記フィルタは、前記第１の瞳領域に対応する位相伝達関数の逆数を示す関数に前記係数を乗算した関数を位相項に有する第１のフィルタと、前記第２の瞳領域に対応する位相伝達関数の逆数を示す関数に前記係数を乗算した関数を位相項に有する第２のフィルタと、からなり、
前記フィルタ処理手段は、前記第１のフィルタを用いて前記第１の信号にフィルタ処理を施し、前記第２のフィルタを用いて前記第２の信号にフィルタ処理を施す、
ことを特徴とする請求項１から３のいずれか１項に記載の距離検出装置。
【請求項５】
前記第１のフィルタは、前記第１の瞳領域に対応する振幅伝達関数の逆数を示す関数または前記第２の瞳領域に対応する振幅伝達関数に、振幅補正係数を乗算した関数を振幅項に有し、
前記第２のフィルタは、前記第２の瞳領域に対応する振幅伝達関数の逆数を示す関数または前記第１の瞳領域に対応する振幅伝達関数に、振幅補正係数を乗算した関数を振幅項に有する、
ことを特徴とする請求項４に記載の距離検出装置。
【請求項６】
前記フィルタは、前記第１の瞳領域に対応する位相伝達関数と前記第２の瞳領域に対応する位相伝達関数の差を示す関数に、前記係数を乗算した関数を位相項に有し、
前記フィルタ処理手段は、前記フィルタを用いて、前記第１の信号または前記第２の信号のいずれか一方のみにフィルタ処理を施す、
ことを特徴とする請求項１から３のいずれか１項に記載の距離検出装置。
【請求項７】
前記フィルタは、前記第１の瞳領域に対応する振幅伝達関数と前記第２の瞳領域に対応
する振幅伝達関数の一方と他方の逆関数とに基づく関数に、振幅補正係数を乗算した関数を振幅項に有する、
請求項６に記載の距離検出装置。
【請求項８】
前記振幅補正係数は、前記第１の瞳領域または前記第２の瞳領域に対応する振幅伝達関数と前記暫定ズレ量の誤差量とに基づいて決定される、
ことを特徴とする請求項５または７に記載の距離検出装置。
【請求項９】
前記距離検出装置は、前記フィルタを生成するフィルタ生成手段を備える、
ことを特徴とする請求項１から８のいずれか１項に記載の距離検出装置。
【請求項１０】
前記フィルタ処理手段は、前記暫定ズレ量が所定の閾値よりも小さいときは前記フィルタを用い、前記暫定ズレ量が前記所定の閾値以上のときは前記フィルタとは異なるフィルタを用いて、前記第１の信号および前記第２の信号の少なくとも一方にフィルタ処理を施す、
ことを特徴とする請求項１から９のいずれか１項に記載の距離検出装置。
【請求項１１】
結像光学系と、
前記結像光学系の第１の瞳領域および第２の瞳領域を通過した光束に対応する第１の信号および第２の信号を取得する撮像素子と、
請求項１から１０のいずれか１項に記載の距離検出装置と、
を備える撮像装置。
【請求項１２】
結像光学系の射出瞳の第１の瞳領域を通過した光束に対応する第１の信号と、前記第１の瞳領域とは異なる第２の瞳領域を通過した光束に対応する第２の信号と、に基づき、距離検出装置が被写体の距離情報を検出する距離検出方法であって、
前記第１の信号と前記第２の信号の間の位置のズレ量である暫定ズレ量を算出する暫定ズレ量算出ステップと、
前記暫定ズレ量に基づいて生成されるフィルタを用いて、前記第１の信号および前記第２の信号の一方または両方にフィルタ処理を施すフィルタ処理ステップと、
前記フィルタ処理が施された前記第１の信号と前記フィルタ処理が施された前記第２の信号の間の位置のズレ量、または前記フィルタ処理が施された一方の信号と前記フィルタ処理が施されていない他方の信号の間の位置のズレ量、に基づいて被写体の距離情報を導出する距離導出ステップと、を含み、
前記フィルタは、前記第１の瞳領域または前記第２の瞳領域に対応する位相伝達関数と前記暫定ズレ量とに基づく関数に、０より大きく１より小さい実数である係数を乗算した関数を位相項に有する、
ことを特徴とする距離検出方法。
【請求項１３】
請求項１２に記載の方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、距離検出装置、撮像装置、および距離検出方法に関する。
【背景技術】
【０００２】
デジタルカメラに適用可能な距離検出技術として、撮像素子の一部または全ての画素に測距機能を持たせ、位相差方式で被写体までの距離を検出する距離検出技術が知られている。測距機能を有する画素（以下、「測距画素」ともいう）は、結像光学系の瞳上の異なる領域をそれぞれ通過した光束を受光する複数の光電変換部を備える。各光電変換部で生成される像信号のズレ量を推定し、変換係数を用いてズレ量をデフォーカス量に変換することによって測距が行われる。
【０００３】
測距精度低下の要因として、各光電変換部で生成される像信号の形状変化が挙げられる。光学系の枠などによる光束のケラレや画素の感度特性の相違により、各光電変換部で生成される像信号が互いに異なる形状となると、像信号のズレ量の推定精度が低下し、測距精度が低下してしまう。
【０００４】
特許文献１には、像信号にフィルタを施すことで形状差を修正し、ズレ量の検出精度を向上させる方法が記載されている。像信号の形状差はデフォーカス量に応じて変化する。そこで特許文献１は、修正前の像信号を用いて暫定的にズレ量（以下、「暫定ズレ量」と呼ぶ）を算出することで、概略のデフォーカス量を検出し、この結果に基づいて生成されるフィルタを用いて像形状を修正する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５６０６２０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
暫定ズレ量には一般に誤差が含まれるため、暫定ズレ量に基づくフィルタを用いて像形状を修正しても像形状を完全に回復することはできない。デフォーカス量（被写体距離）が大きい場合には、暫定ズレ量にある程度の誤差が含まれても、像形状の修正効果が低下するだけで済む。しかしながら、デフォーカス量が小さい場合には、暫定ズレ量の誤差の影響が大きくなり、修正信号の形状差が元の像信号の形状差よりも増大し、測距精度が低下してしまうこともありうる。
【０００７】
本発明は、上記課題に鑑み、高精度な測距を行うことができる距離検出装置及び距離検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の態様は、結像光学系の射出瞳の第１の瞳領域を通過した光束に対応する第１の信号と、前記第１の瞳領域とは異なる第２の瞳領域を通過した光束に対応する第２の信号と、に基づき、被写体の距離情報を検出する距離検出装置であって、
前記第１の信号と前記第２の信号の間の位置のズレ量である暫定ズレ量を算出するズレ量算出手段と、
前記暫定ズレ量に基づいて生成されるフィルタを用いて、前記第１の信号および前記第２の信号の一方または両方にフィルタ処理を施すフィルタ処理手段と、
前記フィルタ処理が施された前記第１の信号と前記フィルタ処理が施された前記第２の
信号の間の位置のズレ量、または前記フィルタ処理が施された一方の信号と前記フィルタ処理が施されていない他方の信号の間の位置のズレ量、に基づいて被写体の距離情報を導出する距離導出手段と、を備え、
前記フィルタは、前記第１の瞳領域または前記第２の瞳領域に対応する位相伝達関数と前記暫定ズレ量とに基づく関数に、０より大きく１より小さい実数である係数を乗算した関数を位相項に有する、ことを特徴とする。
【０００９】
本発明の第２の態様は、結像光学系の射出瞳の第１の瞳領域を通過した光束に対応する第１の信号と、前記第１の瞳領域とは異なる第２の瞳領域を通過した光束に対応する第２の信号と、に基づき、距離検出装置が被写体の距離情報を検出する距離検出方法であって、
前記第１の信号と前記第２の信号の間の位置のズレ量である暫定ズレ量を算出する暫定ズレ量算出ステップと、
前記暫定ズレ量に基づいて生成されるフィルタを用いて、前記第１の信号および前記第２の信号の一方または両方にフィルタ処理を施すフィルタ処理ステップと、
前記フィルタ処理が施された前記第１の信号と前記フィルタ処理が施された前記第２の信号の間の位置のズレ量、または前記フィルタ処理が施された一方の信号と前記フィルタ処理が施されていない他方の信号の間の位置のズレ量、に基づいて被写体の距離情報を導出する距離導出ステップと、
を含み、
前記フィルタは、前記第１の瞳領域または前記第２の瞳領域に対応する位相伝達関数と前記暫定ズレ量とに基づく関数に、０より大きく１より小さい実数である係数を乗算した関数を位相項に有する、
ことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、高精度な測距が可能となる距離検出装置、距離検出方法を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係る距離検出装置を有する撮像装置の一例を示す模式図
【図２】測距画素の感度特性と瞳領域を説明する図
【図３】点像分布関数を示す模式図
【図４】実施形態に係る距離検出方法のフローの一例を示す図
【図５】実施形態に係る信号修正処理を行い、変形された点像分布関数を示す図
【図６】実施形態に係る距離検出方法の効果を説明する図
【図７】実施形態に係る係数αの一例を示す図
【図８】実施形態に係る距離検出方法のフローの一例を示す図
【発明を実施するための形態】
【００１２】
以下の説明では、本発明に係る距離検出装置を備えた撮像装置の一例として、デジタルスチルカメラを用いて説明するが、本発明の適用はこれに限定されるものではない。例えば、本発明に係る距離検出装置は、デジタルビデオカメラやデジタル距離計測器などにも適用することができる。
【００１３】
なお、図を参照した説明においては、図番は異なっても原則として同一部位を示す部位には、同一の符号を付すこととし、なるべく重複した説明は避ける。
【００１４】
＜距離検出装置＞
図１（ａ）は、本実施形態に係る距離検出装置４０を有する撮像装置の模式図である。
この撮像装置は、距離検出装置４０の他に、撮像素子１０と結像光学系２０と記録装置３０とを有する。さらに、撮像装置は、結像光学系２０の合焦のための駆動機構、シャッター、観賞用画像生成手段、画像確認用の液晶等のディスプレイ等を有している。
【００１５】
図１（ｂ）は、撮像素子１０の一例を示す模式図である。撮像素子１０は、光電変換部１１、１２を含む測距画素１３を複数有している（以下、「測距画素」のことを単に「画素」とも称する）。具体的には、ＣＭＯＳセンサ（相補型金属酸化物半導体を用いたセンサ）や、ＣＣＤセンサ（電荷結合素子を用いたセンサ）等の固体撮像素子を撮像素子１０として用いることができる。
【００１６】
図１（ｃ）は、画素１３の一例を示す断面模式図である。画素１３の光電変換部１１、１２は基板１４内に形成されている。画素１３はマイクロレンズ１５を有している。マイクロレンズ１５は、射出瞳２１と光電変換部１１、１２とが光学的に共役関係になるように配置されている。
【００１７】
図１（ａ）に示すように、結像光学系２０は、外界の被写体の像を撮像素子１０の面上に結像する。撮像素子１０は、結像光学系２０の射出瞳２１を透過した光束を、マイクロレンズ１５を介して画素１３の光電変換部１１または光電変換部１２で取得し、電気信号に変換する。具体的には、射出瞳２１の第１の瞳領域２３（図２（ｂ））を通過した光束は各画素１３の光電変換部１１で電気信号に変換される。また、射出瞳２１の第１の瞳領域とは異なる第２の瞳領域２４（図２（ｃ））を通過した光束は各画素１３の光電変換部１２で電気信号に変換される。画素１３は、電気信号を距離検出装置４０に出力するために、フローティングディフュージョン（ＦＤ）部、ゲート電極、配線等を備えている。
【００１８】
撮像素子１０の全画素が測距画素１３であってよい。あるいは、撮像素子１０は、単一の光電変換部を有する画素と測距画素１３とを有してもよい。画素１３の複数の光電変換部１１、１２で取得した信号を合算することで、単一の光電変換部を有する場合と同等の画像信号を生成することができる。あるいは、撮像素子１０は、第１の瞳領域２３を通過した光束を受光する光電変換部１１のみを含む画素と、第２の瞳領域２４を通過した光束を受光する光電変換部１２のみを含む画素とを有してもよい。なお、画素１３は、撮像素子１０の中で離散的に配置されていてもよく、Ｘ方向とＹ方向で異なる間隔で配置されていてもよい。
【００１９】
距離検出装置４０は、結像光学系２０の射出瞳２１の第１の瞳領域２３を通過した光束に対応する第１の信号Ｓ１と、第２の瞳領域２４を通過した光束に対応する第２の信号Ｓ２と、に基づき、被写体の距離情報を算出する機能を有している。具体的には、距離検出装置４０は、フィルタ生成部４１、信号処理部（フィルタ処理手段）４２、ズレ量算出部（ズレ量算出手段）４３、距離導出部（距離導出手段）４４、の各機能部を備える。距離検出装置４０は、例えば、ＣＰＵ、メモリを含む信号処理基板で構成され、ＣＰＵがプログラムを実行することによりこれらの機能部が実現される。信号処理基板は、半導体素子を集積化した集積回路を用いて構成することができ、ＩＣ、ＬＳＩ、システムＬＳＩ、マイクロ処理ユニット（ＭＰＵ）、中央演算装置（ＣＰＵ）等で構成することができる。
【００２０】
なお、第１の信号Ｓ１は、各画素１３の光電変換部１１で生成された各電気信号の集合である。第１の信号Ｓ１において、各画素１３の撮像素子上の位置と各画素１３の光電変換部１１で生成された各電気信号とが対応付けられている。
【００２１】
また、第２の信号Ｓ２は、各画素１３の光電変換部１２で生成された各電気信号の集合である。第２の信号Ｓ２において、各画素１３の撮像素子上の位置と各画素の光電変換部１２で生成された各電気信号とが対応付けられている。
【００２２】
ズレ量算出部４３は、２つの像信号の位置のズレ量を算出する機能を有している。ズレ量算出部４３は、例えば、信号Ｓ１とＳ２との位置のズレ量（暫定ズレ量）を算出したり、後述するフィルタ処理後の信号ＣＳ１とＣＳ２との位置のズレ量を算出したりする。
【００２３】
フィルタ生成部４１は、ズレ量算出部４３で算出された暫定ズレ量と信号Ｓ１に対応する位相伝達関数と信号Ｓ２に対応する位相伝達関数とに基づき、フィルタ（デジタルフィルタ）を生成する機能を有している。
【００２４】
信号処理部４２は、フィルタ生成部４１で生成したフィルタを用いて信号Ｓ１とＳ２のうちいずれか一つまたは両方の信号をフィルタ処理する機能を有している。
【００２５】
距離導出部４４は、ズレ量算出部４３で算出したズレ量から被写体の距離情報を算出する機能を有している。
【００２６】
記録装置３０は、読み書き可能なメモリから構成され、距離検出装置４０が読み出した信号あるいは演算結果を一時的あるいは永続的に記録する機能を有している。
【００２７】
＜距離検出方法＞
本実施形態においては、画素１３の大きさに対して、結像光学系２０と撮像素子１０の間の距離が十分に長い。このため、結像光学系２０の射出瞳２１上の異なる位置を通過した光束は、異なる入射角の光束として撮像素子１０の面上に入射する。光電変換部１１、１２には、射出瞳２１の形状や像高（光束が到達する撮像素子上の位置）に応じて、所定の角度範囲２２（図１（ａ））からの光束が入射する。
【００２８】
入射光束に対する光電変換部１１、１２の感度特性を、角度に応じて射出瞳上に射影したときの射出瞳上の感度分布を瞳透過率分布という。このときの瞳透過率分布の重心位置を瞳重心という。瞳重心は、以下の式（１）で算出することができる。式（１）において、ｒは射出瞳２１上の座標であり、ｔは光電変換部１１、１２の瞳透過率分布を表し、積分範囲は射出瞳２１上の領域である。
【数１】
0006590639.tif 000002
【００２９】
また、光電変換部で受光される光束が通過する射出瞳２１上の領域のうち、瞳重心を含み、対応する光電変換部の感度が所定の閾値よりも高い領域を瞳領域という。また、２つの瞳領域の瞳重心を結ぶ方向を瞳分割方向といい、瞳重心間の長さを基線長という。本実施形態においては、瞳分割方向はｘ方向であり、この方向を第１の方向とし、ｘ方向に垂直なｙ方向を第２の方向とする。
【００３０】
また、本実施形態では、結像光学系２０の結像面と撮像素子１０の受光面との光軸方向（ｚ方向）におけるズレ量の絶対値をデフォーカス量と呼ぶ。
【００３１】
図２（ａ）は、ｘｚ平面内において入射した光束に対する、光電変換部１１の感度特性１６と光電変換部１２の感度特性１７を示す。横軸は、ｘｚ平面内における入射光束とｚ軸が成す角度を示し、縦軸は感度を表している。
【００３２】
図２（ｂ）は、結像光学系２０の射出瞳２１、および光電変換部１１に対応する瞳透過
率分布２５と瞳重心２７と瞳領域２３（第１の瞳領域）を示した図である。瞳領域２３は、射出瞳２１の中心から＋ｘ方向（第１の方向）に偏心した瞳領域である。各画素１３の光電変換部１１は、主として瞳領域２３を通過した光束を受光するように構成されている。この構成により、瞳領域２３を通過した光束に対応する第１の信号Ｓ１が得られる。
【００３３】
図２（ｃ）は、結像光学系２０の射出瞳２１、および光電変換部１２に対応する瞳透過率分布２６と瞳重心２８と瞳領域２４（第２の瞳領域）を示した図である。瞳領域２４は、射出瞳２１の中心から−ｘ方向（第２の方向）に偏心した瞳領域である。各画素１３の光電変換部１２は、主として瞳領域２４を通過した光束を受光するように構成されている。この構成により、瞳領域２４を通過した光束に対応する第２の信号Ｓ２が得られる。
【００３４】
信号Ｓ１、Ｓ２は、以下の式（２）のように記述できる。
【数２】
0006590639.tif 000003
ｆは被写体の光量分布、＊は畳み込み積分を表している。添え字ｊは、１または２を表す。ＰＳＦjおよびＯＴＦｊはそれぞれ第ｊの瞳領域に対応する点像分布関数および光学
伝達関数である。点像分布関数および光学伝達関数は、被写体からの光束が信号Ｓjとし
て取得される際の結像光学系２０や撮像素子１０による劣化度合いを、それぞれ実空間領域および空間周波数領域で表した伝達関数である。ＦＦＴはフーリエ変換を表し、ＦＦＴ［ｆ］は被写体の光量分布ｆをフーリエ変換したものである。ＦＦＴ−１は逆フーリエ変換を表している。
【００３５】
ＯＴＦｊは、空間周波数領域において、振幅伝達関数ＭＴＦｊを振幅項に、位相伝達関数ＰＴＦｊを位相項に有する関数として表される（OTFj=MTFj×exp(iPTFj))。ＭＴＦｊ、ＰＴＦｊは、それぞれ伝達に伴う各空間周波数成分の振幅、位置の変化量を決定する関数である。
【００３６】
ＰＧｊは、ＰＳＦｊの重心位置のデフォーカスに伴う移動量を、各空間周波数に対する位相量に換算した成分であり、信号の形状に影響しない成分である。
【００３７】
ｐｔｆｊは、ＰＴＦｊからＰＧｊを除いた成分であり、ＰＴＦｊに含まれる信号の形状に影響する成分である。光学系の枠などによる光束のケラレや画素１３の感度特性が異なることにより、ＰＳＦ１とＰＳＦ２、あるいはＭＴＦ１とＭＴＦ２、あるいはＰＴＦ１（ｐｔｆ１）とＰＴＦ２（ｐｔｆ２）は、それぞれ互いに異なる形状を有する関数となる。
【００３８】
図３（ａ）（ｂ）は、それぞれＰＳＦ１、ＰＳＦ２を示す。縦軸及び横軸はそれぞれｘ座標、ｙ座標を表す。また、値が大きいほど部分ほど白く描かれている。図３（ｃ）は各ＰＳＦのｘ方向の断面図を示したものである。図３（ａ）（ｂ）のようにＰＳＦ１とＰＳＦ２が異なるため、信号Ｓ１とＳ２は形状が異なる信号となり、ズレ量の算出誤差が生じる。また、同一距離にある被写体でも、被写体に含まれる空間周波数成分の分布によって両信号の形状差が変化し、ズレ量の算出誤差量が変化する。これらにより、測距誤差あるいは測距値のばらつきが増大する。
【００３９】
図４は、距離検出装置４０が行う、被写体までの距離を検出する距離検出方法のフロー
チャートである。この距離検出方法は、ズレ量算出工程と信号処理工程と距離算出工程を有する。
【００４０】
［暫定ズレ量算出工程］
暫定ズレ量算出工程（暫定ズレ量算出ステップ；ステップＳ１０）では、ズレ量算出部４３が、信号Ｓ１とＳ２からズレ量（暫定ズレ量）を算出する。信号Ｓ１とＳ２のｘ方向（第１の方向）における信号のズレ量は公知の方法により求められる。例えば、一対の信号（Ｓ１、Ｓ２）のうち、片方の信号をｘ方向にずらしながら相関演算を行い、最も相関が高いときのズレ量を暫定ズレ量として算出できる。
【００４１】
［フィルタ生成工程］
次に、フィルタの生成工程（ステップＳ１１）では、フィルタ生成部４１が、像信号を修正するフィルタ（デジタルフィルタ）を生成する。本実施形態では、フィルタ生成部４１は、信号Ｓ１に適用されるフィルタＩＣＦ１と信号Ｓ２に適用されるＩＣＦ２を生成する。フィルタ生成部４１は、ステップＳ１０で算出された暫定ズレ量の大きさと光学伝達関数ＯＴＦｊとに基づき、フィルタＩＣＦｊを生成する。これらのフィルタは、ｘ方向にＡｘ、ｙ方向にＡｙ（Ａｘ及びＡｙは１以上の整数）のセル数を有するフィルタである。
【００４２】
フィルタＩＣＦ１は、周波数空間において、ＯＴＦ１の逆数と係数α１とを追加した関数で表される。フィルタＩＣＦ２は、周波数空間において、ＯＴＦ２の逆数と係数α２とを追加した関数で表される。なお、本実施形態ではＯＴＦの振幅伝達関数ＭＴＦを用いず、位相伝達関数ＰＴＦのみを用いた例を示す。ＯＴＦ及びＭＴＦ及びＰＴＦは、デフォーカス量に応じて変化する関数である。
【００４３】
フィルタＩＣＦｊは、以下の式（３）及び（４）で表される。添え字ｊは、１または２を表す。
【数３】
0006590639.tif 000004
ＦＰｊは、ＩＣＦｊの周波数空間における位相項である。位相項ＦＰｊは、位相伝達関数ＰＴＦｊの形状に影響する成分であるｐｔｆｊとαｊとを有する。係数αｊは０よりも大きく１よりも小さい実数である（０＜αｊ＜１）。すなわち、フィルタＩＣＦｊは、第ｊの瞳領域に対応する位相伝達関数ＰＴＦｊの形状に影響する成分ｐｔｆｊに、実数係数α（０＜α＜１）を乗算した関数を、位相項ＦＰｊとして有するフィルタである。なお、式（３）及び（４）は他の式の形に変形してもよい。いずれの変形式も、本発明にかかるフィルタの実施形態に含まれるものである。
【００４４】
フィルタＩＣＦｊの具体的な生成方法は特に限定されない。例えば、フィルタ生成部４１は、各条件に応じたフィルタデータ（セル値）を予め保持しておき、ステップＳ１０で算出された暫定ズレ量に基づき、それに対応したフィルタデータを呼び出すことで（決定することで）フィルタを生成する。
【００４５】
フィルタ生成部４１は、代表的な暫定ズレ量に対応するフィルタデータのみを保持しておき、代表値以外の暫定ズレ量に対しては、予め保持してあるフィルタデータ間を補間することでフィルタを生成してもよい。暫定ズレ量（デフォーカス量）の増減に応じてｐｔｆｊ及びαｊの最適値も増減する（詳細は後述の原理説明で述べる）。そのため、このような方法でも各暫定ズレ量に応じたフィルタを生成することができる。
【００４６】
また、フィルタ生成部４１は、ある暫定ズレ量の代表値に対応しαｊ＝０のフィルタ（ＦＰｊ＝０）と、その次の代表値に対応しαｊ＝１のフィルタ（ＦＰｊ＝−ｐｔｆｊ）のデータを保持しておき、これらのデータを補間することでフィルタを生成してもよい。このような生成方法でも、同様の理由で、位相項にｐｔｆｊと、０より大きく１よりも小さい係数αｊとを有するフィルタを生成することができる。これらの方法により、保持するフィルタデータ量を削減でき、フィルタ保持用の記録容量を低減できる。
【００４７】
また、フィルタ生成部４１は、フィルタデータを関数で近似し、関数の各係数を保持してもよい。例えば、フィルタのセル値をフィルタ内の位置を変数とする多項式で近似し、フィルタ生成部４１が関数（多項式）の各係数を保持する。例えば、式（５）のように、周波数ｆｎを有する三角関数の多項式（三角多項式）で近似し、所定の周波数に対する振幅Ｍｎと位相Ｐｎを係数として保持してもよい。ｍは任意の整数である。このとき振幅Ｍｎと位相Ｐｎは、それぞれＩＣＰｊの振幅（本実施形態では省略）と位相ＦＰｊに対応する。
【数４】
0006590639.tif 000005
フィルタ生成部４１は、測距条件に応じて係数を読み出して（決定して）、フィルタを生成する。このような方法により、保持するフィルタデータ量を削減でき、フィルタ保持用の記録容量を更に低減できる。
【００４８】
［像信号修正工程］
次に、像信号修正工程（フィルタ処理ステップ；ステップＳ１２）では、信号処理部４２が、信号Ｓ１とＳ２にステップＳ１１で生成したフィルタＩＣＦ１とＩＣＦ２をそれぞれ畳み込み積分することで修正信号ＣＳ１とＣＳ２を生成する。
【００４９】
修正信号ＣＳｊは、式（２）と式（３）を用いて、式（６）及び式（７）で表わされる。
【数５】
0006590639.tif 000006
【００５０】
以下、説明を簡便にするため、ＭＴＦ１＝ＭＴＦ２とし、α１＝α２＝αとする。ＭＴＦが異なる場合については後述する。また、α１とα２の値が異なる場合であっても本質的な原理は同じであり、同様の効果を得ることができる。
【００５１】
ｃｐｔｆｊはＣＳｊの形状を決定する関数であり、ＣＰＳＦｊはＰＳＦｊを変形した点像分布関数である。ｃｐｔｆｊがＣＰＳＦｊの形状を決定し、したがって、修正信号ＣＳｊの形状を決定する。ＣＳ１とＣＳ２の形状の差を決定する位相差は、式（８）で表される。
【数６】
0006590639.tif 000007
【００５２】
式（８）において、Δｐｔｆはｐｔｆ１とｐｔｆ２の差、Δｃｐｔｆはｃｐｔｆ１とｃｐｔｆ２の差であり、それぞれＳ１とＳ２の形状の差、ＣＳ１とＣＳ２の形状の差を位相差で表したものである。αの値を０よりも大きく１よりも小さい実数とすることで、ΔｃｐｔｆはΔｐｔｆよりも小さくなり、ＣＳ１とＣＳ２の形状の差をＳ１とＳ２の形状の差よりも小さくすることができる。
【００５３】
図５（ａ）（ｂ）は、それぞれＣＰＳＦ１、ＣＰＳＦ２を示す。縦軸及び横軸はそれぞれｘ座標、ｙ座標を表す。また、値が大きい部分ほど白く描かれている。図５（ｃ）はＣＰＳＦ１及びＣＰＳＦ２のｘ方向の断面図を示したものであり、実線はＣＰＳＦ１、破線ＣＰＳＦ２を表している。図５（ａ）〜５（ｃ）から分かるように、ＣＰＳＦ１とＣＰＳＦ２は、元のＰＳＦ１とＰＳＦ２（図３（ａ）〜３（ｃ））よりも、互いに近い形状となる。修正信号ＣＳ１とＣＳ２は、互いに形状が近い信号となり、ズレ量を高精度に算出することができる。このため、後述する距離算出工程によって被写体の距離情報を高精度に算出することができる。
【００５４】
［ズレ量算出工程］
次にズレ量算出工程（ステップＳ１３）では、ズレ量算出部４３が、修正信号ＣＳ１とＣＳ２と間のｘ方向（第１の方向）のズレ量を算出する。ステップＳ１３では、ステップＳ１０の暫定ズレ量の算出工程と同じ方法を用いることができる。
【００５５】
［距離導出工程］
距離導出工程（距離導出ステップ；ステップＳ１４）では、距離導出部４４が、ステップＳ１３で算出したズレ量に基づいて、被写体までの距離情報を導出する。ステップＳ１４では、距離導出部４４は、求めたズレ量からデフォーカス量を求め、デフォーカス量と結像光学系２０の結像関係とから被写体の距離情報を導出することができる。例えば、デフォーカス量ΔＬは、例えば以下の式（９）により算出することができる。
【数７】
0006590639.tif 000008
ｄはズレ量であり、Ｋａは変換係数である。また、予め得ておいた、ズレ量ｄとデフォーカス量ΔＬとの対応関係を表した表（対応関係表）により、デフォーカス量ΔＬを導出することもできる。
【００５６】
デフォーカス量は、結像光学系の結像関係を用いて実空間における、撮像素子１０から被写体までの距離に容易に変更可能であるため、デフォーカス量は被写体までの距離情報であると捉えることができる。距離導出部４４は、撮像素子１０から被写体までの距離情報として、デフォーカス量を出力してもよいし、実空間における距離を出力してもよい。距離導出部４４が出力する距離情報は、フォーカス位置（合焦した、実空間における位置）から被写体までの距離（相対距離）であってもよいし、撮影時における、撮像装置（撮像素子１０）から被写体までの距離（絶対距離）であってもよい。また、絶対距離あるいは相対距離は、像面側での距離、物体側での距離のどちらであってもよい。また、距離は、実空間における距離で表されてもよいし、デフォーカス量や像ズレ量など実空間における距離に換算できる量で表されてもよい。
【００５７】
このような距離検出方法により、被写体の距離情報を高速かつ高精度に算出することが
できる。
【００５８】
＜原理＞
以下、本実施形態におけるフィルタの係数（αｊ）の決定方法についてより詳細に説明する。
【００５９】
前述の暫定ズレ量は、像形状の修正前の信号を用いるため、検出誤差を含んでいる。この誤差が有る場合、式（３）及び（４）はそれぞれ式（１０）及び（１１）のように記述できる。
【数８】
0006590639.tif 000009
δｐｔｆｊは暫定ズレ量の誤差に伴う位相誤差であり、δｐｔｆ１とδｐｔｆ２とは異なる空間周波数特性を有する関数である。修正信号の形状差を決定する位相差Δｃｐｔｆ´は、式（１２）のように記述できる。
【数９】
0006590639.tif 000010
Δδｐｔｆは、δｐｔｆ１とδｐｔｆ２との差を表している。説明を簡便にするために、α１＝α２＝αとする。仮に、係数αの値を１とし、暫定ズレ量の誤差が無い場合（δｐｔｆｊ＝０）、式（１２）よりΔｃｐｔｆ´は０となり、両像は同じ形状となる。しかしながら、暫定ズレ量の誤差があると、Δｃｐｔｆ´はΔδｐｔｆとなり、修正信号は互いに異なる形状となる。ΔδｐｔｆがΔｐｔｆよりも大きいとき、修正信号の形状差は、元の信号の形状差よりも増大する。
【００６０】
本実施形態では、係数αの値を０よりも大きく１よりも小さい実数とする。式（１２）より、αの値が小さくなると、暫定ズレ量の誤差に伴う項（右辺第２項）は軽減し、元の信号の形状差に伴う項（右辺第１項）は増加する。Δｃｐｔｆ´がΔｐｔｆよりも小さくなるように、αの値を最適な値とすることで、暫定ズレ量の誤差の影響を軽減しつつ、修正信号の形状差を低減することができる。そして像ズレ量の算出精度及び距離検出精度を向上することができる。
【００６１】
図６は、各デフォーカス量におけるデフォーカス量の検出誤差との関係を示す図である。横軸はデフォーカス量であり、縦軸は様々な被写体について検出した距離の標準偏差を表している。横軸は右にいくほど、縦軸は上にいくほど、大きな値となる。破線Ｌ１は信号Ｓ１とＳ２から求めた場合、破線Ｌ２は従来の像形状修正方法を用いた場合（α＝１に相当）、実線Ｌ３は、本実施形態の像形状修正方法を用いた場合の結果を表す線である。図６のように、本実施形態の方法により、検出誤差が低減することが分かる。像信号修正処理で、αの値を０よりも大きく１よりも小さい適切な値に設定することで、ズレ量の算出誤差を低減することができ、高精度な距離検出が可能となる。
【００６２】
式（１２）において、Δｃｐｔｆ´＝０とすると、αは式（１３）のように記述できる。すなわち適切なαの値は、Δｐｔｆ（第１の信号Ｓ１と第２の信号Ｓ２の形状差）とΔδｐｔｆの大きさ（暫定ズレ量の誤差量）に基づいて決定することができる。このように係数αを設定すれば、像形状修正処理によって、修正前よりも形状差を増大させてしまうことを防止できる。
【数１０】
0006590639.tif 000011
【００６３】
ΔｐｔｆとΔδｐｔｆは、被写体に含まれる空間周波数成分の分布や距離、結像光学系２０や撮像素子１０の状態などの条件によって変化する。Δｐｔｆは、結像光学系２０や撮像素子１０の設計値を元に数値計算を行うことで決定できる。Δδｐｔｆは、既知の距離にある被写体のズレ量や距離を実測あるいは数値計算によって算出し、誤差量を求めることであらかじめ決定できる。これらの方法により、様々な条件におけるΔｐｔｆとΔδｐｔｆの大きさをあらかじめ求めておき、撮影条件に応じたαの値を決定することができる。なお、α１とα２の値が異なる場合であっても本質的な原理は同じであり、同様の効果を得ることができる。
【００６４】
αの値は、暫定ズレ量が小さいときほど、小さい値であることが望ましい。暫定ズレ量（デフォーカス量）が小さくなると、光学系の枠などによる光束のケラレの影響が小さくなるので、Δｐｔｆは小さくなる。一方、Δδｐｔｆは、信号に含まれるノイズの影響や測距演算の性能によって決定されるため、暫定ズレ量（デフォーカス量）が小さい場合でも、一定値以上の値を有する。暫定ズレ量が小さくなるほど、ΔｐｔｆよりもΔδｐｔｆの影響が大きくなる。そのため、暫定ズレ量が小さいときほどαの値を小さくし、Δδｐｔｆの影響を軽減することで、より高精度な距離検出が可能となる。
【００６５】
図７は、式（１３）より算出した係数αとデフォーカス量との関係の一例を示した図である。横軸はデフォーカス量、縦軸はαを表している。横軸は右にいくほど、大きな値となる。実線Ｌ４は、式（１３）より算出した係数αである。実線Ｌ４のように、暫定ズレ量（デフォーカス量）が小さくなるにつれてαの値が小さくなるようにαを設定することで前述の効果を得ることができる。あるいは、式（１４）のように、実線Ｌ４を多項式で近似して算出したαを用いても良い。ｎ及びｍは整数である。１次関数で近似した場合のαの例を破線Ｌ５で示す。あるいは破線Ｌ６のように、実線Ｌ４の一部分について多項式で近似して算出したαを用いてもよい。いずれの場合も前述の効果を得ることができる。
【数１１】
0006590639.tif 000012
【００６６】
＜その他のフィルタ＞
フィルタＩＣＦｊは、式（１５）及び（１６）のように振幅項ＦＭｊを有するフィルタであってもよい。式（１５）及び（１６）で表されるフィルタもＯＴＦｊの逆数に基づくフィルタである。
【数１２】
0006590639.tif 000013
βｊはフィルタの振幅を補正する係数（振幅補正係数）である。
【００６７】
暫定ズレ量の誤差がある場合の修正信号ＣＳｊは、式（６）、（１５）及び（１６）を用いて、式（１７）及び（１８）のように表すことができる。
【数１３】
0006590639.tif 000014
ｃｍｔｆ´ｊはＣＳｊの振幅項である、ｃｍｔｆ´１とｃｍｔｆ´２の差、並びにｃｐｔｆ´１とｃｐｔｆ´２の差がＣＳ１とＣＳ２の形状の差を決定する。前述のようにｃｐｔｆ´ｊの差はフィルタの位相ＦＰｊにより補正される。ｃｍｔｆ´ｊの差はフィルタの振幅ＦＭｊにより補正される。ｃｍｔｆ´１とｃｍｔｆ´２の差がＭＴＦ１とＭＴＦ２の差よりも小さくなるようにβｊの値を決定することで、暫定ズレ量の誤差がある場合でも信号Ｓ１とＳ２の振幅の差を補正することができる。式（１８）でｃｍｔｆ´１＝ｃｍｔｆ´２とすると、β１とβ２の比は式（１９）のように表すことができる。
【数１４】
0006590639.tif 000015
【００６８】
式（１９）を満たすようにβｊを決定することで、信号の振幅成分の差を補正することができる。位相ｐｔｆｊ及びδｐｔｆｊと同様に、ＭＴＦｊ及びδＭＴＦｊは、数値計算や実測によって求めることができる。このようなフィルタを用いると、Ｓ１とＳ２の振幅伝達関数及び位相伝達関数の差を補正することができ、Ｓ１とＳ２の形状差を更に補正することができる。前述のズレ量算出誤差をより低減する効果を得ることができる。
【００６９】
あるいは、フィルタＩＣＦｊは、以下の式（２０）〜（２４）で表されるフィルタを用いてもよい。式（２０）〜（２４）で表されるフィルタはＯＴＦｊに基づくフィルタである。
【数１５】
0006590639.tif 000016
【００７０】
上記のフィルタを用いた場合の修正信号ＣＳｊは、式（６）、（２０）及び（２４）を用いて、式（２５）〜（２８）で表わされる。
【数１６】
0006590639.tif 000017
【００７１】
α１＝α２＝αとすると、ＣＳｊの形状差を決定する関数Δｃｐｔｆ及び暫定ズレ量の誤差がある場合の関数Δｃｐｔｆ´は、式（８）及び式（１２）と同じ式となる。また、ＣＳ１とＣＳ２の振幅成分が等しくなる条件を求めると、式（１９）と同じ式となる。前
述と同様に、適切な値を有するαｊ及びβｊを用いることで、暫定ズレ量の算出誤差がある場合でも、像形状の差を補正することができる。
【００７２】
あるいは、信号Ｓ１あるいは信号Ｓ２のいずれか一方のみに像信号修正処理を行ってもよい。例えば、信号Ｓ１に施すフィルタＩＣＦは、光学伝達関数ＯＴＦ１の逆関数と光学伝達関数ＯＴＦ２に基づいて生成される。フィルタＩＣＦは、以下の式（２９）〜（３１）で表される。
【数１７】
0006590639.tif 000018
【００７３】
上記のフィルタを用いた場合の修正信号ＣＳ１は、式（６）、（２９）〜（３１）を用いて、式（３２）〜（３３）で表わされる。
【数１８】
0006590639.tif 000019
【００７４】
α１＝αとすると、ＣＳ１とＣＳ２（＝Ｓ２）の形状差を決定する関数Δｃｐｔｆ及び暫定ズレ量の誤差がある場合の関数Δｃｐｔｆ´は、式（８）及び式（１２）と同じ式となる。また、ＣＳ１とＣＳ２（＝Ｓ２）の振幅成分が等しくなる条件を求めると、式（１９）と同じ式となる（ただし、β２＝１とする）。前述と同様に、適切な値を有するαｊ及びβｊを用いることで、暫定ズレ量の算出誤差がある場合でも、像形状の差を補正することができる。
【００７５】
像信号の修正処理を一方の信号（第１の信号Ｓ１）に対してのみ行うだけで、形状の補正を行うことができる。信号の修正処理の計算負荷を減らすことができ、高速な前処理が可能となる。信号の修正処理を一方の信号（例えば第１の信号Ｓ１）に対してのみ行う場合は、修正信号（例えば信号ＣＳ１）と像信号修正処理を施していない他方の像信号（例えば第２の信号Ｓ２）の間のズレ量がステップＳ１３において求められる。
【００７６】
以上のようなフィルタを用いることで、前述と同様に、暫定ズレ量の算出誤差がある場合でも、像形状の差を軽減することができ、ズレ量の算出誤差を低減することができる。
【００７７】
本実施形態において、実空間でフィルタを信号に畳み込み積分することで修正信号を生成する処理方法について示したが、周波数空間で像信号修正処理を行ってもよい。この場合、信号処理部４２は、以下に示す処理を行うように構成される。まず、周波数空間におけるフィルタデータ（式（３）における逆フーリエ変換ＦＦＴ−１の括弧内のデータ）を予め保持しておく。次に、取得した信号Ｓｊをフーリエ変換し、周波数空間における信号ＦＳｊを生成する。信号ＦＳｊにフィルタを乗算し、逆フーリエ変換することで修正信号ＣＳｊを生成することができる。フィルタを施す際に、畳み込み積分するよりも計算負荷を軽減することができ、高速かつ高精度な測距が可能となる。
【００７８】
また、フィルタＩＣＦを構成する各伝達関数は、上述した関数でなくても、他の関数で近似した関数を用いてもよい。各伝達関数を多項式等で近似した関数を用いてもよい。これらの方法でフィルタＩＣＦを生成しても、前述の効果を得ることができる。
【００７９】
＜距離検出方法の変形例＞
上記の説明では、係数αの値を式（１３）にしたがって決定すると説明したが、係数αの値は０より大きく１より小さい値であればよい。上述したように係数αの値は、暫定ズレ量が小さいほど小さいことが望ましいが、暫定ズレ量によらず一定の値としても構わない。係数αを０より大きく１より小さい値とすることで、暫定ズレ量がある閾値よりも小さい場合に、従来技術の方法（α＝１）よりも高精度な像形状修正および距離検出が可能となる。
【００８０】
前記距離検出装置４０は、暫定ズレ量の大きさを判定するズレ量判定部を備えてもよい。図８のように、ステップＳ１５にて、ズレ量判定部が、暫定ズレ量の大きさを判定する。暫定ズレ量が所定の閾値よりも小さいとき、前記フィルタの生成工程及び前記信号の修正工程を行い、暫定ズレ量が閾値以上のとき、ステップＳ１１とは異なるフィルタを生成する第２のフィルタ生成工程（ステップＳ１６）を行う。第２のフィルタ生成工程では、像信号の形状を修正する公知のフィルタを生成する。たとえば、上記の説明においてα＝１としたフィルタを生成する。暫定ズレ量の誤差の影響はデフォーカス量が小さいほど、大きくなる。そのため、暫定ズレ量が小さいときは、本発明に係るフィルタ（０＜α＜１）を使用し、暫定ズレ量が大きいときは、従来のフィルタ（α＝１）を使用することで、各々のデフォーカス量において、フィルタ処理による像信号の補正効果を十分に得ることができる。すなわち、本変形例による処理によっても、ズレ量の算出誤差及び距離算出誤差を低減することができる。
【００８１】
また、式（３４）のように、ズレ量ｄと被写体距離Ｌを結びつける変換係数Ｋｂを用いて、被写体の距離Ｌを直接算出してもよい。
【数１９】
0006590639.tif 000020
【００８２】
あるいは式（３５）よりデフォーカス量ΔＬを算出し、デフォーカス量ΔＬから被写体距離を算出してもよい。ここで、Ｋｃは変換係数、Ｈは射出瞳２１と撮像素子１０までの距離を表している。このような式を用いることにより、より高精度にデフォーカス量及び距離を算出することができる。
【数２０】
0006590639.tif 000021
【００８３】
＜測距結果＞
本発明の距離検出装置の測距結果は、例えば、結像光学系の焦点検出に用いることができる。本発明の距離検出装置によって、高速かつ高精度に被写体の距離情報を測定することができ、被写体と結像光学系の焦点位置とのズレ量を知ることができる。結像光学系の焦点位置を制御することで、被写体に対して高速かつ高精度に焦点位置を合わせることができる。本実施形態の距離検出装置を備えてデジタルスチルカメラ、デジタルビデオカメラ等の撮像装置を構成でき、距離検出装置の距離検出結果に基づき、光学系の焦点検出を行うことができる。また、本発明の距離検出装置で、撮像素子１０上の複数の位置で距離を算出することで、距離マップを生成することができる。
【００８４】
＜その他の実施例＞
上述した実施形態では被写体までの距離を算出する例について示したが、ズレ量に対応する視差量を検出する視差量検出装置にも本発明を適用することができる。例えば、視差量検出装置では、ズレ量に基づいて、合焦位置近傍の被写体を画像から切り出すなどの処理を施すことができる。なお、視差量とは、２つの信号のズレ量であってもよく、またはそれらに関連した物理量であってもよい。
【００８５】
この視差量検出装置は、実施形態１の距離検出装置４０の距離導出部４４の代わりに、２つの信号のズレ量に対応する視差量を算出する視差量算出部を有する構成とすれば、その他の構成は距離検出装置４０と同じでよい。さらに、視差量検出装置は、視差量（ズレ量）に応じて、所定の視差量の被写体を画像から抽出する抽出部を有していてもよい。
【００８６】
本実施形態の視差量検出方法は、図４のフローチャートにおいて、距離の算出工程Ｓ１４の代わりに視差量の算出工程を行うようにすれば、その他の処理工程は、図４と同じでよい。なお、視差量の算出は、信号のズレ量を算出してもよいし、それらに関連した物理量を算出するようにしてもよい。
【００８７】
この視差量検出装置も実施形態１の距離検出装置と同様に撮像装置の一部として用いることができる。
【００８８】
本発明は、距離検出装置や視差量検出装置の他にコンピュータプログラムをも包含する。本実施形態のコンピュータプログラムは、距離の算出あるいは視差量の算出のために、コンピュータに所定の工程を実行させるものである。
【００８９】
本実施形態のプログラムは、距離検出装置、視差量検出装置またはそのいずれかを備えるデジタルカメラ等の撮像装置のコンピュータにインストールされる。インストールされたプログラムがコンピュータによって実行されることで上記の機能が実現し、高速で高精度な距離検出、視差量検出が可能なものとすることができる。
【００９０】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９１】
４０  距離検出装置
４１  フィルタ生成部
４２  信号処理部（フィルタ処理手段）
４３  ズレ量算出部（ズレ量算出手段）
４４  距離導出部（距離導出手段）
【図１】
0006590639.tif 000022
【図２】
0006590639.tif 000023
【図３】
0006590639.tif 000024
【図４】
0006590639.tif 000025
【図５】
0006590639.tif 000026
【図６】
0006590639.tif 000027
【図７】
0006590639.tif 000028
【図８】
0006590639.tif 000029