(57)【特許請求の範囲】
【請求項１】
被写体の像を結像する結像光学系と、
前記結像光学系の射出瞳のうち、主に第１の瞳領域を通過した光束により形成された第１の像と、主に第２の瞳領域を通過した光束により形成された第２の像を取得する画素群からなる撮像手段と、演算手段と、を有する測距装置であって、
前記演算手段により、前記第１の像に、補正された第１の像修正関数を畳み込み積分して第３の像を生成すると共に、前記第２の像に、補正された第２の像修正関数を畳み込み積分して第４の像を生成し、前記第３の像と前記第４の像を比較して前記被写体の距離を演算し、
前記補正された第１の像修正関数及び前記補正された第２の像修正関数はそれぞれ、第１の像修正関数の、前記画素群の画素配置に応じたサンプリング点のデータより算出される重心位置と、該重心位置に最も近いサンプリング点とを一致させたもの、及び前記第２の像修正関数の、前記画素群の画素配置に応じたサンプリング点のデータより算出される重心位置と、該重心位置に最も近いサンプリング点とを一致させたものであり、
前記第１の像への畳み込み積分は、前記第１の像修正関数の重心位置に最も近いサンプリング点を基準点とした畳み込み積分であり、前記第２の像への畳み込み積分は、前記第２の像修正関数の重心位置に最も近いサンプリング点を基準点とした畳み込み積分であり、
前記補正された第１の像修正関数及び前記補正された第２の像修正関数は、前記第１の像修正関数のサンプリング点における各データの間及び前記第２の像修正関数のサンプリング点における各データの間を一次関数で補間し、前記サンプリング点における各点から、前記第１の像修正関数の前記重心位置と前記基準点との差分だけずらした位置における前記一次関数の補間値により得られるもの及び前記サンプリング点における各点から、前記第２の像修正関数の前記重心位置と前記基準点との差分だけずらした位置における前記一次関数の補間値により得られるものであることを特徴とする測距装置。
【請求項２】
被写体の像を結像する結像光学系と、
前記結像光学系の射出瞳のうち、主に第１の瞳領域を通過した光束により形成された第１の像と、主に第２の瞳領域を通過した光束により形成された第２の像を取得する画素群からなる撮像手段と、演算手段と、を有する測距装置であって、
前記演算手段により、前記第１の像に、補正された第１の像修正関数を畳み込み積分して第３の像を生成すると共に、前記第２の像に、補正された第２の像修正関数を畳み込み積分して第４の像を生成し、前記第３の像と前記第４の像を比較して前記被写体の距離を演算し、
前記補正された第１の像修正関数及び前記補正された第２の像修正関数はそれぞれ、第１の像修正関数の、前記画素群の画素配置に応じたサンプリング点のデータより算出される重心位置と、該重心位置に最も近いサンプリング点とを一致させたもの及び前記第２の像修正関数の、前記画素群の画素配置に応じたサンプリング点のデータより算出される重心位置と、該重心位置に最も近いサンプリング点とを一致させたものであり、
前記第１の像への畳み込み積分は、前記第１の像修正関数の重心位置に最も近いサンプリング点を基準点とした畳み込み積分であり、前記第２の像への畳み込み積分は、前記第２の像修正関数の重心位置に最も近いサンプリング点を基準点とした畳み込み積分であり、
前記補正された第１の像修正関数及び前記補正された第２の像修正関数はそれぞれ、前記第１の像修正関数のサンプリング点の各データ及び第２の像修正関数のサンプリング点の各データに、次の式で表される所定値を加算することで得られるものであることを特徴とする測距装置。
【数１】
0005963514.tif 000018
但し、
δＬ：所定値
ｉ：像修正関数の各サンプリング点に対応する番号
ｎ：測距に用いるサンプリング点の数
ｘｉ：サンプリング点の座標
Ｌｉ：像修正関数の各サンプリング点のデータ
ｇ：像修正関数のサンプリング点のデータより算出される重心位置
δｘ：重心位置ｇと基準点とのズレ量
【請求項３】
前記演算手段は、前記第１の像と前記第２の像の比較により、前記被写体の距離を演算し、測定した距離情報に基づいて、前記補正された第１の像修正関数及び前記補正された第２の像修正関数を得るものであることを特徴とする請求項１または２に記載の測距装置。
【請求項４】
前記第１の像修正関数が、前記第２の像に対応する線像分布関数であり、
前記第２の像修正関数が、前記第１の像に対応する線像分布関数であることを特徴とする請求項１から３のいずれか１項に記載の測距装置。
【請求項５】
前記第１の像修正関数が、前記第１の像に対応する線像分布関数の逆関数であり、
前記第２の像修正関数が、前記第２の像に対応する線像分布関数の逆関数であることを特徴とする請求項１から３のいずれか１項に記載の測距装置。
【請求項６】
前記画素群は、平面内に画素を配列することで構成された固体撮像素子の一部の画素群で構成されていることを特徴とする請求項１から５のいずれか１項に記載の測距装置。
【請求項７】
請求項１から６のいずれか１項に記載の測距装置の測距結果に基づき、前記結像光学系の焦点検出を行うことを特徴とする撮像システム。
【請求項８】
請求項１から６のいずれか１項に記載の測距装置を備え、距離画像を取得することを特徴とする撮像システム。
【請求項９】
被写体の像を結像させる結像光学系を用い、該結像光学系の射出瞳のうち、主に第１の瞳領域を通過した光束により形成された第１の像と、主に第２の瞳領域を通過した光束により形成された第２の像を、画素群からなる撮像手段により取得し、
前記撮像手段により取得された前記第１の像と前記第２の像より、前記被写体の距離を測定する測距方法であって、
前記第１の像に第１の像修正フィルタを畳み込み積分することで第３の像を生成すると共に、前記第２の像に第２の像修正フィルタを畳み込み積分することで第４の像を生成する修正演算のステップと、
前記第３の像と前記第４の像の像ズレ量から、前記被写体の距離を演算する距離演算のステップと、を有し、
前記第１の像修正フィルタと前記第２の像修正フィルタは、離散化ステップと重心補正ステップを備え、
前記離散化ステップにおいて、像修正関数を、前記画素群の画素の配置に応じて離散化し、離散関数を形成し、
前記離散関数の離散データのうち、該離散関数の重心位置に最も近い離散データの位置を基準点として、前記重心補正ステップにより前記重心位置を前記基準点に一致させる像修正フィルタであり、
前記重心補正ステップは、前記離散関数の各離散データの間を一次関数で補間し、
離散化した各点から、該重心位置と該基準点との差分だけずらした位置における前記一次関数の補間値を、前記像修正フィルタの各データの値とすることを特徴とする測距方法。
【請求項１０】
被写体の像を結像させる結像光学系を用い、該結像光学系の射出瞳のうち、主に第１の瞳領域を通過した光束により形成された第１の像と、主に第２の瞳領域を通過した光束により形成された第２の像を、画素群からなる撮像手段により取得し、
前記撮像手段により取得された前記第１の像と前記第２の像より、前記被写体の距離を測定する測距方法であって、
前記第１の像に第１の像修正フィルタを畳み込み積分することで第３の像を生成すると共に、前記第２の像に第２の像修正フィルタを畳み込み積分することで第４の像を生成する修正演算のステップと、
前記第３の像と前記第４の像の像ズレ量から、前記被写体の距離を演算する距離演算のステップと、を有し、
前記第１の像修正フィルタと前記第２の像修正フィルタは、離散化ステップと重心補正ステップを備え、
前記離散化ステップにおいて、像修正関数を、前記画素群の画素の配置に応じて離散化し、離散関数を形成し、
前記離散関数の離散データのうち、該離散関数の重心位置に最も近い離散データの位置を基準点として、前記重心補正ステップにより前記重心位置を前記基準点に一致させる像修正フィルタであり、
前記重心補正ステップは、前記像修正フィルタの各データの値を、前記離散関数の各離散データの値に、次の式で表される所定値を加算した値とすることを特徴とする測距方法。
【数２】
0005963514.tif 000019
但し、
δＬ：所定値
ｉ：離散関数に含まれる各離散データに対応する番号
ｎ：測距に用いる離散データの数
ｘｉ：離散データの座標
Ｌｉ：離散データの値
ｇ：離散関数の重心位置
δｘ：重心位置ｇと基準点とのズレ量
【請求項１１】
前記第１の像と前記第２の像との比較により測定した、前記被写体の距離情報に基づいて、前記第１の像修正フィルタと前記第２の像修正フィルタを作成することを特徴とする請求項９または１０に記載の測距方法。
【請求項１２】
前記第１の像修正フィルタを形成する像修正関数を、前記第２の像に対応する線像分布関数とし、
前記第２の像修正フィルタを形成する像修正関数を、前記第１の像に対応する線像分布関数とすることを特徴とする請求項９から１１のいずれか１項に記載の測距方法。
【請求項１３】
前記第１の像修正フィルタを形成する像修正関数を、前記第１の像に対応する線像分布関数の逆関数とし、
前記第２の像修正フィルタを形成する像修正関数を、前記第２の像に対応する線像分布関数の逆関数とすることを特徴とする請求項９から１１のいずれか１項に記載の測距方法。
【請求項１４】
前記第３の像と前記第４の像の比較により測定した距離情報に基づいて、前記修正演算を再度行うか判定するステップと、
前記距離情報に基づいて前記第１の像修正フィルタと前記第２の像修正フィルタを作成するステップと、
を有することを特徴とする請求項９から１３のいずれか１項に記載の測距方法。
【請求項１５】
前記第１の像と前記第２の像の像ズレ量の大きさを判定するステップを有し、該ステップでの判定により像ズレ量が小さいと判定されたとき、前記修正演算のステップと前記距離演算のステップにより、前記被写体の距離を演算することを特徴とする請求項９から１４のいずれか１項に記載の測距方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測距装置、測距方法及び撮像システムに関し、特にデジタルスチルカメラやデジタルビデオカメラなどの撮像システムに用いられる測距装置、測距方法に関するものである。
【背景技術】
【０００２】
デジタルスチルカメラやビデオカメラにおいて、距離検出技術が知られている。
特許文献１では撮像素子の一部の画素に測距機能を持たせ、位相差方式で検出するようにした固体撮像素子が提案されている。
この位相差方式は、カメラレンズの瞳上の異なる領域を通過した光束により生成される光像（それぞれＡ像、Ｂ像と呼び、両像をまとめてＡＢ像と呼ぶ）のズレ量を推定し、ステレオ画像による三角測量を用いてデフォーカス量を算出し、測距を行う方法である。
これによると、従来のコントラスト方式とは異なり、距離を測定するためにレンズを動かす必要が無いため、高速高精度な測距が可能となる。また、動画撮影時にリアルタイムで測距が可能になる。
【０００３】
撮影レンズのレンズ枠などによる光束のケラレがあると、Ａ像とＢ像が異なる形状となり、像ズレ量の推定精度が低下し、測距精度が低下する。
特許文献２には、像の形状補正手法について開示されている。
Ａ像およびＢ像を形成する瞳領域に応じた線像分布関数を用いて像修正フィルタを作成する。
そして、Ａ像およびＢ像に、像修正フィルタを入れ替えて畳み込み積分することで像の形状を修正する。
また、デフォーカス量に応じて像修正フィルタ（線像分布関数）の大きさが変化するため、算出したデフォーカス量に応じて像修正フィルタの形状を補正し、像修正処理とデフォーカス量の再計算を繰り返し行う。
このようなループ処理による測距演算によって、正解値に近いデフォーカス量から像修正フィルタを作成し、像修正の精度を向上させ、測距精度を向上させている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３１４０６２号公報
【特許文献２】特開２０１０−２８６８２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献２の手法において、ＡＢ像は、各画素で取得した値からなる離散的なデータである。
各像と畳み込み積分するために、像修正フィルタは、連続的な線像分布関数の重心位置を基準点とし、画素の配置間隔に応じて離散化することで作成される。
しかし、被写体の距離（デフォーカス量）によって、像修正フィルタの離散値から算出される重心位置は、基準点とは異なる位置となる場合がある。
この誤差を重心誤差と呼ぶ。このような重心誤差があると、修正像の重心位置は元の像から変化する。
そして、像ズレ量およびデフォーカス量の推定値に誤差が生じる。この重心誤差は、像修正フィルタの形状の誤差とは独立した誤差であり、ループ処理による測距演算を行っても、重心誤差か形状誤差のいずれかが残存する。
そのため、像ズレ量およびデフォーカス量の算出値は収束せず、測距時間が増加し、測距精度が悪化する。
【０００６】
本発明は、上記課題に鑑み、高速かつ高精度な測距を行うことが可能となる測距装置、測距方法及び撮像システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の測距装置は、
被写体の像を結像する結像光学系と、
前記結像光学系の射出瞳のうち、主に第１の瞳領域を通過した光束により形成された第１の像と、主に第２の瞳領域を通過した光束により形成された第２の像を取得する画素群からなる撮像手段と、演算手段と、を有する測距装置であって、
前記演算手段により、前記第１の像に、補正された第１の像修正関数を畳み込み積分して第３の像を生成すると共に、前記第２の像に、補正された第２の像修正関数を畳み込み積分して第４の像を生成し、前記第３の像と前記第４の像を比較して前記被写体の距離を演算し、
前記補正された第１の像修正関数及び前記補正された第２の像修正関数はそれぞれ、第１の像修正関数の、前記画素群の画素配置に応じたサンプリング点のデータより算出される重心位置と、該重心位置に最も近いサンプリング点とを一致させたもの、及び前記第２の像修正関数の、前記画素群の画素配置に応じたサンプリング点のデータより算出される重心位置と、該重心位置に最も近いサンプリング点とを一致させたものであり、
前記第１の像への畳み込み積分は、前記第１の像修正関数の重心位置に最も近いサンプリング点を基準点とした畳み込み積分であり、前記第２の像への畳み込み積分は、前記第２の像修正関数の重心位置に最も近いサンプリング点を基準点とした畳み込み積分であり、
前記補正された第１の像修正関数及び前記補正された第２の像修正関数は、前記第１の像修正関数のサンプリング点における各データの間及び前記第２の像修正関数のサンプリング点における各データの間を一次関数で補間し、前記サンプリング点における各点から、前記第１の像修正関数の前記重心位置と前記基準点との差分だけずらした位置における前記一次関数の補間値により得られるもの及び前記サンプリング点における各点から、前記第２の像修正関数の前記重心位置と前記基準点との差分だけずらした位置における前記一次関数の補間値により得られるものであることを特徴とする。
また、本発明の測距装置は、
被写体の像を結像する結像光学系と、
前記結像光学系の射出瞳のうち、主に第１の瞳領域を通過した光束により形成された第１の像と、主に第２の瞳領域を通過した光束により形成された第２の像を取得する画素群からなる撮像手段と、演算手段と、を有する測距装置であって、
前記演算手段により、前記第１の像に、補正された第１の像修正関数を畳み込み積分して第３の像を生成すると共に、前記第２の像に、補正された第２の像修正関数を畳み込み積分して第４の像を生成し、前記第３の像と前記第４の像を比較して前記被写体の距離を演算し、
前記補正された第１の像修正関数及び前記補正された第２の像修正関数はそれぞれ、第１の像修正関数の、前記画素群の画素配置に応じたサンプリング点のデータより算出される重心位置と、該重心位置に最も近いサンプリング点とを一致させたもの及び前記第２の像修正関数の、前記画素群の画素配置に応じたサンプリング点のデータより算出される重心位置と、該重心位置に最も近いサンプリング点とを一致させたものであり、
前記第１の像への畳み込み積分は、前記第１の像修正関数の重心位置に最も近いサンプリング点を基準点とした畳み込み積分であり、前記第２の像への畳み込み積分は、前記第２の像修正関数の重心位置に最も近いサンプリング点を基準点とした畳み込み積分であり、
前記補正された第１の像修正関数及び前記補正された第２の像修正関数はそれぞれ、前記第１の像修正関数のサンプリング点の各データ及び第２の像修正関数のサンプリング点の各データに、次の式で表される所定値を加算することで得られるものであることを特徴とする。
【数１】
0005963514.tif 000002
但し、
δＬ：所定値
ｉ：像修正関数の各サンプリング点に対応する番号
ｎ：測距に用いるサンプリング点の数
ｘｉ：サンプリング点の座標
Ｌｉ：像修正関数の各サンプリング点のデータ
ｇ：像修正関数のサンプリング点のデータより算出される重心位置
δｘ：重心位置ｇと基準点とのズレ量
また、本発明の測距方法は、
被写体の像を結像させる結像光学系を用い、該結像光学系の射出瞳のうち、主に第１の瞳領域を通過した光束により形成された第１の像と、主に第２の瞳領域を通過した光束により形成された第２の像を、画素群からなる撮像手段により取得し、
前記撮像手段により取得された前記第１の像と前記第２の像より、前記被写体の距離を測定する測距方法であって、
前記第１の像に第１の像修正フィルタを畳み込み積分することで第３の像を生成すると共に、前記第２の像に第２の像修正フィルタを畳み込み積分することで第４の像を生成する修正演算のステップと、
前記第３の像と前記第４の像の像ズレ量から、前記被写体の距離を演算する距離演算のステップと、を有し、
前記第１の像修正フィルタと前記第２の像修正フィルタは、離散化ステップと重心補正ステップを備え、
前記離散化ステップにおいて、像修正関数を、前記画素群の画素の配置に応じて離散化し、離散関数を形成し、
前記離散関数の離散データのうち、該離散関数の重心位置に最も近い離散データの位置を基準点として、前記重心補正ステップにより前記重心位置を前記基準点に一致させる像修正フィルタであり、
前記重心補正ステップは、前記離散関数の各離散データの間を一次関数で補間し、
離散化した各点から、該重心位置と該基準点との差分だけずらした位置における前記一次関数の補間値を、前記像修正フィルタの各データの値とすることを特徴とする。
また、本発明の測距方法は、
被写体の像を結像させる結像光学系を用い、該結像光学系の射出瞳のうち、主に第１の瞳領域を通過した光束により形成された第１の像と、主に第２の瞳領域を通過した光束により形成された第２の像を、画素群からなる撮像手段により取得し、
前記撮像手段により取得された前記第１の像と前記第２の像より、前記被写体の距離を測定する測距方法であって、
前記第１の像に第１の像修正フィルタを畳み込み積分することで第３の像を生成すると共に、前記第２の像に第２の像修正フィルタを畳み込み積分することで第４の像を生成する修正演算のステップと、
前記第３の像と前記第４の像の像ズレ量から、前記被写体の距離を演算する距離演算のステップと、を有し、
前記第１の像修正フィルタと前記第２の像修正フィルタは、離散化ステップと重心補正ステップを備え、
前記離散化ステップにおいて、像修正関数を、前記画素群の画素の配置に応じて離散化し、離散関数を形成し、
前記離散関数の離散データのうち、該離散関数の重心位置に最も近い離散データの位置を基準点として、前記重心補正ステップにより前記重心位置を前記基準点に一致させる像修正フィルタであり、
前記重心補正ステップは、前記像修正フィルタの各データの値を、前記離散関数の各離散データの値に、次の式で表される所定値を加算した値とすることを特徴とする測距方法。
【数２】
0005963514.tif 000003
但し、
δＬ：所定値
ｉ：離散関数に含まれる各離散データに対応する番号
ｎ：測距に用いる離散データの数
ｘｉ：離散データの座標
Ｌｉ：離散データの値
ｇ：離散関数の重心位置
δｘ：重心位置ｇと基準点とのズレ量
【発明の効果】
【０００８】
本発明によれば、高速かつ高精度な測距を行うことが可能となる測距装置、測距方法及び撮像システムを実現することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施例における測距装置の構成例を説明する図である。
【図２】本発明の実施例における測距装置、測距方法の構成例を説明するフローチャートである。
【図３】本発明の実施例における測距装置、測距方法の構成例を説明する図である。
【図４】本発明の実施例１における像修正フィルタを作成するフローチャートを示す図である。
【図５】本発明の実施例における像修正フィルタを示す図である。
【図６】本発明の実施例１におけるフローチャートを用いて被写体の距離の測定結果について説明する図である。
【図７】本発明の実施例における像修正フィルタを示す図である。
【図８】本発明の実施例における測距のフローチャートを示す図である。
【図９】本発明の実施例における測距装置の概略断面図である。
【図１０】本発明の実施例における測距装置の概略断面図である。
【発明を実施するための形態】
【００１０】
本発明を実施するための形態を、以下の実施例により説明する。
【実施例】
【００１１】
以下に、実施例として本発明を適用した測距装置、測距方法の構成例について説明する。
本実施例の測距装置１００の構成例を図１に示す。結像光学系１０２は外界の被写体の像を撮像素子１０３の面上に結像する。撮像素子１０３は複数の画素を備えて構成される。更に、測距装置１００は、取得した信号の読み出しを行うための配線１１５と、取得した信号を用いて被写体までの距離を算出するための演算手段１２０を備える。
演算手段１２０は、例えば、ＣＰＵ、メモリを含む信号処理基板で構成される。距離検出装置１００は、読み出した信号あるいは演算結果を記録するための記録装置１３０を備える。
本実施例の測距方法を、図２に示すフローチャートに沿って説明する。
ステップＳ１では、処理回数Ｎを０に設定する。
ステップＳ２では、図３の構成例で示す測距装置１００によって、ＡＢ像を取得する。
図３（ａ）の結像レンズ１０２は外界の被写体の像を撮像素子１０３の面上に結像する。
撮像素子１０３は、図３（ｂ）に示す画素１０１を複数備えている。
画素１０１は、例えばマイクロレンズ１０７と、基板１０４内に光電変換部１０５、１０６を備える。
光電変換部１０５および１０６は、それぞれ遮光部１０８および１０９の下に配置されている。
さらに、図３には図示していないが、測距装置１００は、図１に示した取得した信号の読み出し、記録、処理を行うための、配線、記録装置、ＣＰＵ等を備える。
【００１２】
画素１０１の大きさに対して、結像レンズ１０２と撮像素子１０３の間の距離が長い。
このため、結像レンズ１０２の射出瞳面上の異なる領域を通過した光束は、異なる入射角の光束として撮像素子１０３の面上に入射する。
撮像素子１０３の各画素に含まれる光電変換部１０５では、結像レンズ１０２の射出瞳（被写体像を形成する光学系の射出瞳）のうち、主に第１の方向１１０に対応する領域１１２（第１の瞳領域）を通過した光束が検出される。
同様に、光電変換部１０６では、結像レンズ１０２の射出瞳のうち、主に第２の方向１１１に対応する領域１１３（第２の瞳領域）を通過した光束が検出される。
複数の光電変換部１０５からの画素信号よりＡ像、複数の光電変換部１０６の画素信号よりＢ像を取得することができる。
被写体の光量分布をｆ［ｘ，ｙ］、測距光学系のＡ像を構成する点像分布関数をＰａ［ｘ，ｙ］とする。Ａ像の光量分布Ａ［ｘ，ｙ］は、式１に示す畳み込み積分の関係で記述できる。
0005963514.tif 000004
【００１３】
被写体の距離検出においては、一対の被写体像の一次元方向に注目し、像ズレ量を算出する。本実施例ではこの方向をｘ軸の方向とする。
このとき、Ａ像の一次元方向の光量分布Ａ［ｘ］は、点像分布関数の代わりに線像分布関数Ｌａ［ｘ］を用いて式２のように記述することができる。
線像分布関数Ｌａ［ｘ，ｙ］は、主に第１の瞳領域を通過した光束を検出する画素１０１の光電変換部１０５の入射角度特性や、結像レンズ１０２の射出瞳によって決定される。
0005963514.tif 000005
【００１４】
Ｂ像の一次元方向の光量分布Ｂ［ｘ］についても同様に、線像分布関数Ｌｂ［ｘ］を用いて式３のように記述することができる。
0005963514.tif 000006
【００１５】
撮像レンズの枠などによる光束のケラレがあると、Ａ像とＢ像を形成する線像分布関数Ｌａ［ｘ］とＬｂ［ｘ］は異なる関数となり、Ａ像とＢ像は互いに異なる形状となる。
ステップＳ３では、一対のＡ像とＢ像から、公知の距離演算手段によって、被写体の距離を算出する。例えば、一対のＡＢ像の相関演算によってＡ像とＢ像の像ズレ量を求め、一対のＡＢ像の重心間隔から基線長を求める。
このようにして求めた像ズレ量と基線長からデフォーカス量ＤＥＦ［０］を求め、被写体の距離を算出することができる。
ステップＳ４では、処理回数Ｎに１を加算し、ステップＳ５に進む。
ステップＳ５では、以降の処理で使用する暫定デフォーカス量を設定する。
処理回数Ｎが１の場合、ステップＳ３で算出したデフォーカス量ＤＥＦ［０］を設定し、処理回数Ｎが２以上の場合、後述するステップＳ８で算出した最新のデフォーカス量ＤＥＦ［Ｎ］を暫定デフォーカス量に設定する。
【００１６】
ステップＳ６およびステップＳ７では、Ａ像とＢ像を修正した像であるＡ’像（第３の像）とＢ’像（第４の像）を作成（生成）する。
ステップＳ６は、像修正フィルタ（第１の像修正フィルタ）Ｌａ’［ｘ］、像修正フィルタ（第２の像修正フィルタ）Ｌｂ’［ｘ］を作成するステップであり、離散化ステップと重心補正ステップを有している。
像修正フィルタは、像修正関数（第１の修正関数、第２の修正関数）を元に作成される。像修正関数は、例えば、Ａ像あるいはＢ像に対応する線像分布関数（線像関数）とする。
図４は、像修正フィルタを作成するフローチャートを示す図である。
図５には、各ステップで作成される関数を示す。
【００１７】
テップＳ１０１では、レンズ情報とＡＢ像を取得した測距画素の撮像面上での位置情報、暫定デフォーカス量から、ＡＢ像のシェーディングを予測し、ＡＢ像の光量比を調整するシェーディング補正を行う。
ステップＳ１０２では、像修正関数を算出する。例えば、記録装置内に保管されている瞳強度分布を読み出し、レンズ情報と測距画素の撮像面上の位置情報と、ステップＳ５で設定した暫定デフォーカス量を元に、線像分布関数Ｌａ（ｘ）を算出する（図５（ａ））。
このとき必要に応じて、Ｌａ（ｘ）とＬｂ（ｘ）の最大値が同じになるように、調整する。これは、ステップＳ１０１において、ＡＢ像のシェーディング補正を行っているためである。
ステップＳ１０３では、像修正関数を離散化した離散関数Ｌａ［ｘ］を作成する（図５（ｂ））。
この離散化は、取得したＢ像との演算を行うために、測距画素１０１の配置間隔に応じて行う。
【００１８】
離散関数Ｌａ［ｘ］のｘ軸上における重心位置ｇａは、式４で算出される。ｉは正の整数で、ｎは測距演算を行う測距画素の数を表している。
0005963514.tif 000007
【００１９】
離散関数Ｌａ［ｘ］の離散データのうち、重心ｇａに最も近い離散データのｘ軸上の位置を基準点ｘｇａとする。また、基準点ｘｇａと重心ｇａとの差分をδｘとする。
ステップＳ１０４では、離散関数Ｌａ［ｘ］の重心位置を補正する。
離散関数Ｌａ［ｘ］の各データの間（サンプリング点間）を一次関数で補間し、各データの位置からｘ軸方向にδｘだけシフト（移動）した場所における補間値を算出する（図５（ｃ））。
算出した補間値より、像修正フィルタ（第１の像修正フィルタ）Ｌａ’［ｘ］を作成する（図５（ｄ））。
このとき必要に応じてＬａ’［ｘ］とＬｂ’［ｘ］の最大値が同じになるように調整する。像修正フィルタＬａ’［ｘ］の各データから算出した重心位置を重心Ｇａ’とする。
このような手法によって、離散関数Ｌａ［ｘ］と概略同じ形状で、重心ｇａ’と基準点ｘｇａとが一致した像修正フィルタＬａ’［ｘ］を作成することができる。
像修正フィルタＬｂ’［ｘ］についても同様の手順で作成することができ、離散関数Ｌｂ［ｘ］と概略同じ形状で、重心ｇｂ’と基準点ｘｇｂとが一致した像修正フィルタ（第２の像修正フィルタ）Ｌｂ’［ｘ］を作成することができる。
【００２０】
ステップＳ７では、Ａ像およびＢ像と、像修正フィルタＬａ’、Ｌｂ’を用いて、像形状を修正したＡ’像およびＢ’像を作成する。
Ａ像の一次元信号Ａ［ｘ］に、像修正フィルタＬｂ’［ｘ］を、畳み込み積分することで、Ａ’［ｘ］を作成する。
このとき、畳み込み積分の基準点は基準点ｘｇｂとする。Ａ’像は、式５で表される。
0005963514.tif 000008
【００２１】
Ｂ像についても同様に、Ｂ像の一次元信号Ｂ［ｘ］に像修正フィルタＬａ’（ｘ）を、畳み込み積分することで、Ｂ’［ｘ］を作成する。このとき、畳み込み積分の基準点は基準点ｘｇａとする。Ｂ’像は式６で表される。
0005963514.tif 000009
【００２２】
Ｌａ’［ｘ］とＬａ［ｘ］、Ｌｂ’［ｘ］とＬｂ［ｘ］とは概略同じ形状の関数であるため、式５と式６で得られるＡ’像とＢ’像は概略同じ形状となる。
ステップＳ８では、Ａ’像とＢ’像を用い、ステップ３と同様に、公知の手段によって、デフォーカス量ＤＥＦ［Ｎ］および被写体の距離を算出する。
修正したＡ’像とＢ’像を用いることで、両像の形状の違いによる像ズレ量の算出誤差が低減し、デフォーカス量の算出精度が向上する。
また、本発明にかかる像修正フィルタを用いることで、従来よりも高い精度でデフォーカス量および被写体の距離を算出することができる。
【００２３】
ステップＳ９では、修正演算の再計算を行うかどうかの判断を行う。
具体的には、ステップＳ８で求めたデフォーカス量ＤＥＦ［Ｎ］と、ステップＳ５で設定した暫定デフォーカス量との差を計算し、所定の収束判定閾値と比較する。閾値より大きい場合には、算出したデフォーカス量が収束していないため、ステップＳ４に戻る。
ステップＳ４で、このデフォーカス量ＤＥＦ［Ｎ］を暫定デフォーカス量に設定し、再処理を行う。ステップＳ９で、閾値以下に収束している場合には、フローを終了する。
線像分布関数Ｌａ［ｘ］、Ｌｂ［ｘ］の形状はデフォーカス量に応じて変化する。このようなループ処理を繰り返し、正解値に近いデフォーカス量ＤＥＦ［Ｎ］を元に、像修正フィルタを作成することで、像修正フィルタの形状誤差が小さくなる。
そして、修正像の形状誤差が低減し、像ズレ量およびデフォーカス量の算出精度が向上し、測距精度が向上する。
【００２４】
本実施例の像修正フィルタを用い、上記のフローチャートで測距を行うことで、従来の手法よりも高速かつ高精度にデフォーカス量を算出することができる。デフォーカス量（距離）は、像修正フィルタを用いて修正した一対の像の像ズレ量から算出される。
この像ズレ量は、一対の修正像のうち、片方の像をずらしながら相関演算を行い、最も相関が高いときのズレ量を算出することで求められる。
このとき算出される像ズレ量は、各像の重心位置と像形状で決定される。像修正フィルタに重心誤差があると、修正像の重心位置が修正前の像の重心位置から変化する。
像修正フィルタの形状が、正解のデフォーカス量に応じた像修正関数の離散関数と異なる形状を有していると、修正像は、互いに異なる形状となる。
これらの誤差を有すると、像ズレ量の算出値に誤差が含まれ、測距精度が悪化する。
【００２５】
本実施例では、離散関数の各データの値を補正し、基準点と重心位置を一致させた像修正フィルタを作成することにより、重心誤差を低減している。
また、離散データ間を関数補間し、補間値によって作成することにより、形状誤差を抑制している。
これらの効果によって、重心誤差および形状誤差が小さい像修正フィルタを得ることができ、高精度な測距を行うことができる。
さらに、本実施例の修正フィルタを用いることで、ループ処理による測距演算処理の収束性を向上させ、高速かつ高精度な測距を行うことができる。
本実施例の像修正フィルタは、重心誤差が関数の形状に反映した関数となっている。
そのため、ループ処理による測距演算を繰り返すと、重心誤差と形状誤差の両方の影響が最小となる、デフォーカス量に収束する。
従来の像修正フィルタと比べて、正確なデフォーカス量を少ないループ数で算出することができ、高速かつ高精度な測距を行うことができる。
本実施例の像修正フィルタを容易かつ高速に作成することができる理由について説明する。
測距演算に使用する離散関数のデータの数をｎ、離散データの番号をｉとする。各データの値をＬｉとし、Ｌ１からＬｎまで各離散データの値を有し、Ｌ０およびＬｎ＋１、Ｌｎ＋２は０とする。
各離散データの撮像面上における座標をｘｉ、間隔をΔｘとする。重心補正前の重心位置ｇは式７で算出することができる。
0005963514.tif 000010
【００２６】
重心位置ｇと基準点とのズレ量をδｘとする。離散データ間を一次関数補間し、各離散データの位置からδｘだけズレた位置における補間値をＬｉ’とする。このときＬｉ’は式８で書くことができ、重心ｇ’は、式９のように書くことができる。
0005963514.tif 000011
【００２７】
0005963514.tif 000012
【００２８】
式９のように、重心ｇ’は、式７の元の重心ｇを−δｘだけシフトさせた形となり、基準点と一致する。
以上のように、本実施例の手法により、像修正フィルタを高速かつ容易に作成することができる。
【００２９】
図６は、本発明における像修正フィルタを用いて修正演算を行った場合の測距精度について示した図である。
図の横軸は、図２のフローチャートにおける処理回数Ｎを示している。縦軸は、計算で求めたデフォーカス量の誤差を表しており、デフォーカス量の正解値と計算値との差を正解値で割った値である。
実線は、本発明の像修正フィルタを用い、破線は、従来の像修正フィルタＬａ、Ｌｂを用いた場合の結果を表している。
図のように、従来の像修正フィルタを用いた場合、処理回数Ｎが増加しても、誤差は低減しない。一方、本発明における像修正フィルタを用いることで、少ない処理回数Ｎで測距誤差が低減し、高速かつ高精度な測距が可能であることが分かる。
【００３０】
本実施例におけるステップＳ６の像修正フィルタの作成工程は、別の手段を用いてもよい。
例えば、ステップＳ１０４の重心補正ステップとして、離散関数の各離散データに、所定の値を加算することで重心補正してもよい。図７に、ステップＳ１０４の本手法で作成される関数を示す。
離散線像分関数Ｌａ［ｘ］の各離散データに所定の値δＬを加算する（図７（ａ））。重心補正後の重心位置をｇ’、補正前の重心位置をｇ、重心位置ｇと重心位置ｇに最も近い離散データの位置とのズレ量をδｘとする。重心補正後の重心位置ｇ’は式１０で表すことができる。
0005963514.tif 000013
【００３１】
各離散データに所定の値δＬを加算したときの重心位置ｇ’は、式１１で表すことができる。
式１１において、ｉは離散データの番号、ｎはデータの数とし、ｘｉは各データの座標、Ｌｉは各データの値とする。
0005963514.tif 000014
【００３２】
上記式１０と式１１より、所定の値δＬは、式１２で表すことができる。
0005963514.tif 000015
【００３３】
次に、必要に応じて、像修正フィルタＬａ’［ｘ］とＬｂ’［ｘ］の最大値が同じになるように調整し、像修正フィルタＬａ’［ｘ］を作成する（図７（ｂ））。
このような手法によって、元の離散関数と概略同じ形状を有する像修正フィルタを作成することができる。
また、式１２で表される値δＬを算出し、各離散データに加算することで、一度の処理で重心位置と離散データの位置が一致した像修正フィルタを作成することができる。
これにより、形状誤差および重心誤差を低減した像修正フィルタを容易に得ることができ、高速かつ高精度な測距を行うことができる。
【００３４】
本実施例のステップ６およびステップ７における像修正処理において、像修正関数は、線像分布関数の逆関数を用いてもよい。
Ａ像の一次元信号をＡ［ｘ］とし、第１の像に対応する線像分布関数の逆関数より作成した像修正フィルタをＬａ’−１［ｘ］とする。ステップ６と同様の処理を行うことで、重心位置と基準点が一致した像修正フィルタＬａ’−１［ｘ］を作成することができる。
Ａ像の一次元信号Ａ［ｘ］に、像修正フィルタＬａ’−１［ｘ］を畳み込み積分することで、像形状を修正する。このとき、畳み込み積分の基準点は修正フィルタＬａ’−１［ｘ］の基準点ｘｇａとする。Ａ像の形状を修正した像であるＡ’像は、式１３で表される。
0005963514.tif 000016
【００３５】
Ｂ像についても同様に、Ｂ像の一次元信号Ｂ［ｘ］に第２の像に対応する線像分布関数の逆関数より作成した像修正フィルタＬｂ’−１（ｘ）を畳み込み積分することで、像形状を修正する。
Ｂ像の形状を修正した像であるＢ’［ｘ］は式１４で表される。このとき、畳み込み積分の基準点は修正フィルタＬｂ’−１［ｘ］の基準点ｘｇｂとする。
0005963514.tif 000017
【００３６】
Ｌａ’［ｘ］とＬａ［ｘ］、Ｌｂ’［ｘ］とＬｂ［ｘ］とは概略同じ形状の関数であるため、式１３と式１４で得られるＡ’像とＢ’像は元の被写体の光量分布ｆと概略同じ形状となる。このような処理を行うことで、デフォーカスによる被写体像のボケを除去し、明確なＡ’像とＢ’像を得ることができる。
そして、このＡ’像とＢ’像を用いて、公知の手段によって、デフォーカス量ＤＥＦ［Ｎ］および被写体の距離を算出することで、高精度な測距を行うことができる。
なお、本実施例では、ステップＳ５における演算を再度行うかどうかの判定を、デフォーカス量（被写体の距離情報）の収束状態から判定する方法について示したが、他の方法を用いても良い。例えば、像修正フィルタの形状や、基線長、ＡＢ像の像ズレ量などの収束状態から判定してもよい。あるいは、予め所定の回数Ｎを設定し、処理回数を計算することで判定してもよい。
【００３７】
本実施例において、更に第１の像と第２の像の像ズレ量の大きさを判定する手段を設け、像ズレ量が小さいときに本発明における像修正フィルタを用いて測距を行ってもよい。図８は、このときのフローチャートを示す図である。
ＡＢ像の像ズレ量は、デフォーカス量が小さいほど、小さくなる。
一方、重心誤差量および、それに起因する像ズレ量の誤差量は、デフォーカス量に比例しない。
そのため、デフォーカス量が小さいときほど、重心誤差に起因する像ズレ量の誤差の影響は大きくなり、測距精度が悪化する。
また、ループ処理による収束性が悪くなり、測距時間が増大する。そこで、図８のように、ＡＢ像の像ズレ量の大きさを判定するステップＳ１０を設ける。像ズレ量が小さいとき、ステップＳ３以降に進み、本発明における像修正フィルタを用いて測距を行う。
一方、像ズレ量が大きいときは、重心誤差の影響が小さいため、ステップＳ１１に進み、従来の方法を用いて測距を行う。
例えば、従来の重心誤差を有する像修正フィルタを用いて測距を行う。あるいは、像修正の処理を行わず、取得したＡＢ像を用いて測距を行ってもよい。
ステップＳ１０において、像ズレ量の大きさの判定基準は、重心誤差に起因する像ズレ量の誤差と、像ズレ量の許容誤差との比較によって決定することができる。
像ズレ量の許容誤差は、目標とする測距精度と測距装置の構成によって決定される。
このようなフローチャートによって、被写体の概略の距離（デフォーカス量）に応じて、適切な測距を行うことができ、より高速かつ高精度な測距を行うことができる。
【００３８】
本実施例の測距装置１００の測距結果は、例えば、結像光学系の焦点検出に用いることができる。
本実施例の測距装置１００によって、高速かつ高精度に被写体の距離を測定することができ、被写体と結像光学系の焦点位置とのズレ量を知ることができる。結像光学系の焦点位置を制御することで、被写体に対して高速かつ高精度に焦点位置を合わせることができる。
【００３９】
本実施例の測距装置１００において、画素１０１のように、画素内に複数の光電変換部を配置した構成とすると、光電変換部１０５と１０６で取得した信号を用いて、画素１０１の画像信号を作成することができる。
撮像素子１０３の全画素にこのような画素を配置すると、各画素で画像信号を取得することができ、測距と共に、被写体の画像を取得することができる。
また、撮像素子１０３の任意の画素群より抽出した画素信号を用いて測距を行うことで、任意の撮像領域（被写体）の距離を測定することができる。
あるいは、撮像素子１０３の領域ごとに画素信号を抽出し、測距を行うことで、距離画像を取得することができる。
【００４０】
本実施例における測距装置１００は、本実施例の構成に制限されるものではない。
平面内に画素を配列して構成された撮像素子（固体撮像素子）１０３の一部の画素に画素１０１を配置し、他の画素には画像取得用の画素を配置してもよい。一部の画素１０１で測距を行い、残りの画素で被写体の画像を取得することができる。あるいは、撮像素子１０３は、撮像面の一方向に画素を配置した構成とし、一方向の像ズレ量を検出することで測距を行っても良い。
各画素１０１内に配置される遮光部１０８、１０９および光電変換部１０５、１０６をｙ方向に配列し、各光電変換部で取得した信号を用いて測距を行ってもよい。
このような構成にすると、ｙ方向にコントラストの変化を有する被写体の測距を行うことができる。
あるいは、遮光部１０８、１０９および光電変換部１０５、１０６を、ｘ方向に並べた画素と、ｙ方向に並べた画素が混在させた構成や斜め方向（ｘｙ方向）に並べた構成でもよい。
被写体のコントラストが変化する方向に応じて、測距に使用する信号を適時選択し、測距を行うことができる。
【００４１】
あるいは、図９に示す画素１２０、１２１を複数備えた構成でもよい。
画素１２０は、基板１０４にマイクロレンズ１０７、遮光部１２２、光電変換部１０５が配置され、画素１２１は、基板１０４にマイクロレンズ１０７、遮光部１２３、光電変換部１０６を配置することで構成されている。
画素１２０では、第１の方向から入射した光を受光し、画素１２１は第２の方向から入射した光を受光することができる。
このような画素１２０、画素１２１の光電変換部１０５、１０６で取得した信号より、ＡＢ像を取得することができる。各画素に含まれる遮光部および光電変換部の間隔が広くなり、各画素を容易に作製することができる。
【００４２】
あるいは、測距装置１００に含まれる各画素を図１０に示す導波路で構成してもよい。
画素１３０は、基板１０４の光入射側（＋ｚ側）に導波路１３１を配置し、基板１０４の内部に光電変換部１０５、１０６を配置している。
導波路１３１は、コア部１３２とクラッド部１３３を有している。コア部１３２およびクラッド部１３３は、撮像する波長帯域で透明な材料で形成され、コア部１３２は、クラッド部１３３より高い屈折率を有する材料で形成される。
これにより、コア部１３２およびクラッド部１３３内に光を閉じ込めて伝播させることができる。
画素１３０に外部から入射した光束は、導波路１３１を伝播し、基板１０４中に射出される。画素１３０に第１の方向から入射した光束１１０は、導波路１３１を伝播し、光電変換部１０５に導くことができる。
【００４３】
一方、画素１３０に第２の方向から入射した光束１１１は、導波路１３１を伝播し、光電変換部１０６に導くことができる。
このような構成とすることで、入射方法に応じた光を効率良く検出することができる。あるいは、基板１０４中にコア部およびクラッド部からなる導波路を設けた、裏面入射型の構成としてもよい。
このような構成にすると、基板の裏側から入射した光（＋ｚ方向に伝播する光）が検出される。配線等は基板１０４の表側に配置することができ、入射光の伝播が、配線等によって妨げられるのを回避することができる。
また、配線等による空間的制約が軽減され、入射光を光電変換部に効率良く導くことができる。
以上の本実施例における測距装置、測距方法は、デジタルスチルカメラやデジタルビデオカメラなどの撮像システムに好適に適用可能である。
【符号の説明】
【００４４】
１００：測距装置
１０１：画素
１０２：結像レンズ
１０３：撮像素子
１０４：基板
１０５：光電変換部
１０６：光電変換部
１０７：マイクロレンズ
１０８：遮光部
１０９：遮光部
１１２：第１の瞳領域
１１３：第２の瞳領域
１２０：演算手段
【図１】
0005963514.tif 000020
【図２】
0005963514.tif 000021
【図３】
0005963514.tif 000022
【図４】
0005963514.tif 000023
【図５】
0005963514.tif 000024
【図６】
0005963514.tif 000025
【図７】
0005963514.tif 000026
【図８】
0005963514.tif 000027
【図９】
0005963514.tif 000028
【図１０】
0005963514.tif 000029