(57)【要約】【課題】  像ズレ量からデフォーカス量への変換時に生じる誤差を低減し、高精度の距離算出を可能にする。【解決手段】  結像光学系の瞳領域を通過した光束に基づく第１の像信号と、瞳領域を通過した光束に基づく第２の像信号と、を生成する撮像部と、演算処理部と、を備え、前記撮像部の撮像面と、前記結像光学系を通過した光束の結像面と、の距離を示すデフォーカス量に基づいて被写体までの距離を検出する距離検出装置であって、演算処理部は、第１の像信号と第２の像信号とに基づき暫定デフォーカス量を算出する暫定距離算出処理と、暫定デフォーカス量に基づき、第１の像信号と第２の像信号に各々依拠する第１の像と第２の像との相対的位置ズレを示す像ズレ量を、前記デフォーカス量に変換する変換係数を算出する変換係数算出処理と、前記変換係数を用いて前記デフォーカス量を算出する距離算出処理と、を行う距離検出装置。【選択図】  図３
2014029393.tif 000002
【特許請求の範囲】
【請求項１】
被写体の像を結像する結像光学系の第１の瞳領域を通過した光束に基づく第１の像信号と、前記結像光学系の第２の瞳領域を通過した光束に基づく第２の像信号と、を生成する撮像部と、演算処理部と、を備え、
前記撮像部の撮像面と、前記結像光学系を通過した光束の結像面と、の距離を示すデフォーカス量に基づいて前記被写体までの距離を検出する距離検出装置であって、
前記演算処理部は、前記第１の像信号と前記第２の像信号とに基づき暫定デフォーカス量を算出する暫定距離算出処理と、
前記暫定デフォーカス量に基づき、前記第１の像信号と前記第２の像信号に各々依拠する第１の像と第２の像との相対的位置ズレを示す像ズレ量を前記デフォーカス量に変換する変換係数を算出する変換係数算出処理と、
前記変換係数を用いて前記デフォーカス量を算出する距離算出処理と、を行うことを特徴とする距離検出装置。
【請求項２】
前記被写体までの距離は、前記結像光学系を構成する撮影レンズの焦点距離と、前記撮影レンズの主点位置と、前記デフォーカス量と、を用いて検出される請求項１に記載の距離検出装置。
【請求項３】
前記暫定デフォーカス量は、前記デフォーカス量をゼロとして得られる暫定変換係数と、前記第１の瞳領域及び前記第２の瞳領域を含む射出瞳と前記撮像面との距離と、前記像ズレ量と、を用いて算出されることを特徴とする請求項１または２に記載の距離検出装置。
【請求項４】
前記変換係数は、前記撮像部を構成し前記第１の像信号を生成する第１の光電変換部からなる第１の画素の感度分布を前記第１の瞳領域及び前記第２の瞳領域を含む射出瞳に射影した感度分布の重心位置と、前記撮像部を構成し前記第２の像信号を生成する第２の光電変換部からなる第２の画素の感度分布を前記第１の瞳領域及び前記第２の瞳領域を含む射出瞳に射影した感度分布の重心位置と、の間の長さである基線長であり、前記第１の画素の感度分布は、前記暫定デフォーカス量に基づき算出した結像点を基準に前記第１の瞳領域及び前記第２の瞳領域を含む射出瞳に前記第１の画素の感度を射影することで算出され、前記第２の画素の感度分布は、前記結像点を基準に前記射出瞳に前記第２の画素の感度を射影して算出されることを特徴とする請求項１または２に記載の距離検出装置。
【請求項５】
前記基線長と、前記射出瞳と前記撮像面との距離と、前記像ズレ量と、を用いて前記デフォーカス量を算出する請求項４に記載の距離検出装置。
【請求項６】
前記変換係数は、前記撮像部を構成し前記第１の像信号を生成する第１の光電変換部からなる第１の画素の感度分布を前記第１の瞳領域及び前記第２の瞳領域を含む射出瞳に射影した感度分布の重心位置と、前記結像面と、前記撮像部を構成し前記第２の像信号を生成する第２の光電変換部からなる第２の画素の感度分布を前記第１の瞳領域及び前記第２の瞳領域を含む射出瞳に射影した感度分布の重心位置と、がなす重心角度であり、前記第１の画素の感度分布は、前記暫定デフォーカス量に基づき算出した結像点を基準に前記第１の瞳領域及び前記第２の瞳領域を含む射出瞳に前記第１の画素の感度を射影することで算出され、前記第２の画素の感度分布は、前記結像点を基準に前記射出瞳に前記第２の画素の感度を射影して算出されることを特徴とする請求項１または２に記載の距離検出装置。
【請求項７】
前記変換係数算出処理は、前記デフォーカス量を変数とする関数に、前記暫定デフォーカス量を代入することで変換係数を算出することを特徴とする請求項１乃至３に記載の距離検出装置。
【請求項８】
前記関数は、前記デフォーカス量を変数とする２次関数であることを特徴とする請求項７に記載の距離検出装置。
【請求項９】
前記撮像部は、行列状に配置された複数の測距用画素を備えていることを特徴とする請求項１に記載の距離検出装置。
【請求項１０】
前記演算処理部は、前記複数の測距用画素の一部の画素領域について、前記暫定距離算出処理、前記変換係数算出処理、及び前記距離算出処理を行うことを特徴とする請求項９に記載の距離検出装置。
【請求項１１】
前記演算処理部は、前記暫定デフォーカス量に基づき前記一部の画素領域を決定する画素領域判定処理をさらに行う特徴とする請求項９に記載の距離検出装置。
【請求項１２】
前記変換係数算出処理は、前記暫定デフォーカス量と第１の瞳領域に対応した第１の線像分布関数の重心位置と、第２の瞳領域に対応した第２の線像分布関数の重心位置とに基づいてなされることを特徴とする請求項１に記載の距離検出装置。
【請求項１３】
前記演算処理部は、前記第１の像信号と前記第２の像信号の形状の非対称性を修正した第１の修正像信号と第２の修正像信号を生成する像修正処理をさらに行う、ことを特徴とする請求項１に記載の距離検出装置。
【請求項１４】
前記演算処理部は、前記暫定デフォーカス量に基づき、前記像修正処理を行うか否かの判定を行う像修正判定処理をさらに行うことを特徴とする請求項１３に記載の距離検出装置。
【請求項１５】
前記演算処理部は、前記距離算出処理にて算出されたデフォーカス量の収束状態と変換係数算出処理を行った回数の少なくとも一方に基づき、再度、前記変換係数算出処理及び距離算出処理を行うか否かの判定を行う繰り返し判定処理をさらに行うことを特徴とする請求項１に記載の距離検出装置。
【請求項１６】
請求項１乃至１５のいずれかに記載の距離検出装置を備えたことを特徴とする撮像装置。
【請求項１７】
前記撮像部を構成し前記第１の像信号を生成する第１の光電変換部からなる第１の画素と、前記撮像部を構成し前記第２の像信号を生成する第２の光電変換部からなる第２の画素と、を有する測距用画素と、前記被写体の画像取得用の撮像を行う光電変換部からなる画像取得用画素と、を同じ面に並置してなることを特徴とする請求項１６に記載の撮像装置。
【請求項１８】
前記撮像装置は、デジタルカメラであることを特徴とする請求項１６または１７に記載の撮像装置。
【請求項１９】
前記撮像装置は、デジタルビデオカメラであることを特徴とする請求項１６または１７に記載の撮像装置。
【請求項２０】
被写体の像を結像する結像光学系の第１の瞳領域を通過した光束に基づく第１の像信号と、前記結像光学系の第２の瞳領域を通過した光束に基づく第２の像信号と、を生成する撮像部を備えた撮像装置に、
前記撮像部の撮像面と、前記第１の瞳領域及び第２の瞳領域を通過した前記光束の結像面と、の距離を示すデフォーカス量に基づいて前記被写体までの距離を検出するための演算処理を施す演算処理装置であって、
前記演算処理装置は、前記第１の像信号と前記第２の像信号とに基づき暫定デフォーカス量を算出する暫定距離算出処理と、
前記暫定デフォーカス量に基づき、前記第１の像信号と前記第２の像信号に各々依拠する第１の像と第２の像との相対的位置ズレを示す像ズレ量を前記デフォーカス量に変換する変換係数を算出する変換係数算出処理と、
前記変換係数を用いて前記デフォーカス量を算出する距離算出処理と、を行うことを特徴とする演算処理装置。
【請求項２１】
被写体の像を結像する結像光学系と、前記結像光学系の第１の瞳領域を通過した光束に基づく第１の像信号と、前記結像光学系の第２の瞳領域を通過した光束に基づく第２の像信号と、を生成する撮像部によって生成された前記第１の像信号と前記第２の像信号とを用いて前記被写体までの距離を検出するためのコンピュータに、
前記第１の像信号と前記第２の像信号とに基づき暫定デフォーカス量を算出する暫定距離算出工程と、
前記暫定デフォーカス量に基づき、前記第１の像信号と前記第２の像信号に各々依拠する第１の像と第２の像との相対的位置ズレを示す像ズレ量を、前記デフォーカス量に変換する変換係数を算出する変換係数算出工程と、
前記変換係数を用いて前記デフォーカス量を算出する距離算出工程と、を実行させることを特徴とするプログラム。
【請求項２２】
被写体の像を結像する結像光学系の第１の瞳領域を通過した光束に基づく第１の像信号と、前記結像光学系の第２の瞳領域を通過した光束に基づく第２の像信号と、を生成する撮像部と、演算処理部と、を備え、
前記撮像部の撮像面と、前記結像光学系を通過した光束の結像面と、の距離を示すデフォーカス量に基づいて前記被写体までの距離を検出する距離検出装置であって、
前記演算処理部は、前記第１の像信号と前記第２の像信号とに基づき暫定デフォーカス量を算出する暫定距離算出処理と、
前記暫定デフォーカス量と、前記第１の像信号と前記第２の像信号に各々依拠する第１の像と第２の像との相対的位置ズレを示す像ズレ量と、に基づいて前記デフォーカス量を算出する距離算出処理と、を行うことを特徴とする距離検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、距離検出装置に関し、特にデジタルスチルカメラやデジタルビデオカメラなどの撮像装置等に用いられる距離検出装置に関するものである。
【背景技術】
【０００２】
デジタルスチルカメラやデジタルビデオカメラにおいて、撮像素子の一部あるいは全部の画素に測距機能を有する画素（以下、「測距画素」ともいう。）を配置し、位相差方式で被写体までの距離を検出するようにした固体撮像素子が特許文献１に提案されている。測距画素は、複数の光電変換部を備え、カメラレンズの瞳上の異なる領域を通過した光束が、異なる光電変換部に導かれるように構成される。
【０００３】
各測距画素に含まれる光電変換部で得た信号により、異なる瞳領域を通過した光束により生成される光像（以下、それぞれ「Ａ像」、「Ｂ像」ともいい、両像をまとめて「ＡＢ像」ともいう。）を取得する。このＡＢ像のズレ量（以下、「像ズレ量」ともいう。）を検出する。
【０００４】
この像ズレ量を、変換係数を介してデフォーカス量に変換することで、被写体までの距離を算出できる。これによると、従来のコントラスト方式とは異なり、距離を測定するためにレンズを動かす必要が無いため、高速高精度な測距が可能となる。
【０００５】
ここで、測定の際の距離精度は、像ズレ量と基線長を正確に求めることで向上する。
【０００６】
特許文献２では、被写体の像を固体撮像素子上に形成する結像光学系の光束の分布情報と、口径情報に基づいて変換係数である基線長を算出することで距離精度を向上させる方法が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４０２７１１３号公報
【特許文献２】特許２００７−１２１８９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
一般のデジタルカメラやデジタルビデオカメラの結像光学系は、変換係数はデフォーカス量に依存し変化する。
【０００９】
特許文献２に開示された距離検出装置では、デフォーカス量に関わらず一定の変換係数が用いられているため、常に良好な距離精度が保たれるという訳ではなく、特に、デフォーカス量が大きい時の距離精度の悪化が懸念される。
【００１０】
そこで、本発明は、像ズレ量からデフォーカス量への変換時に生じる誤差を低減し、高精度の距離算出が可能で、いわゆる撮像面測距に好適な距離検出装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明により提供される距離検出装置は、被写体の像を結像する結像光学系の第１の瞳領域を通過した光束に基づく第１の像信号と、前記結像光学系の第２の瞳領域を通過した光束に基づく第２の像信号と、を生成する撮像部と、演算処理部と、を備え、
前記撮像部の撮像面と、前記結像光学系を通過した光束の結像面と、の距離を示すデフォーカス量に基づいて前記被写体までの距離を検出する距離検出装置であって、
前記演算処理部は、前記第１の像信号と前記第２の像信号とに基づき暫定デフォーカス量を算出する暫定距離算出処理と、
前記暫定デフォーカス量に基づき、前記第１の像信号と前記第２の像信号に各々依拠する第１の像と第２の像との相対的位置ズレを示す像ズレ量を、前記デフォーカス量に変換する変換係数を算出する変換係数算出処理と、
前記変換係数を用いて前記デフォーカス量を算出する距離算出処理と、を行うことを特徴とする。
【発明の効果】
【００１２】
本発明では、デフォーカス量に基づいて被写体までの距離を検出する距離検出装置の演算処理部で、暫定デフォーカス量の算出、これに基づいて像ズレを正確なデフォーカス量に変換する変換係数の算出、さらに、変換係数を用いたデフォーカス量の算出を行う。
【００１３】
本発明では、暫定デフォーカス量を用いて、変換係数を算出し、算出された変換係数を用いてデフォーカス量を得ることで、像ズレ量からデフォーカス量への変換時に生じる誤差を低減し、高精度の距離算出が可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の距離検出装置備えた撮像装置を示す模式図
【図２】測距用画素の感度を示す図
【図３】被写体距離算出処理のフローチャートの一例
【図４】暫定距離算出処理工程を説明する模式図
【図５】変換係数算出処理工程の一例を説明する模式図
【図６】変換係数算出処理工程の一例を説明する模式図
【図７】本発明の効果を説明する説明図
【図８】数値例１の説明する模式図
【図９】被写体距離算出処理のフローチャートの一例
【図１０】本発明における撮像部（撮像素子）の一例を示す模式図
【図１１】被写体距離算出処理のフローチャートの一例
【図１２】被写体距離算出処理のフローチャートの一例
【図１３】被写体距離算出処理のフローチャートの一例
【図１４】被写体距離算出処理のフローチャートの一例
【発明を実施するための形態】
【００１５】
本発明は、これまで特には着目されてこなかったデフォーカス量が変化した場合（特にはデフォーカス量が大きな場合）であっても、適切な変換係数を用いることで被写体までの距離を高精度に検出し得るという発明者が得た知見に基づいてなされた。
【００１６】
以下、図を参照しながら本発明の実施形態について説明する。
【００１７】
以下の説明では、本発明の距離検出装置を備えた撮像装置の一例として、デジタルカメラを用いて説明するが、本発明の適用はこれに限定されるものではない。例えば、デジタルビデオカメラや、ライブビューカメラ等の撮像装置や、デジタル距離計測器等に適用することができる。
【００１８】
ここで、本発明のデジタルカメラへの適用を考えると、本発明は、被写体像を撮像する撮像部とは別に距離検出を専用で行う距離検出装置（一眼レフカメラ等で用いられる）よりも、撮像部を用いて距離検出をも行ういわゆる撮像面測距に好適な装置と捉えることができる。
【００１９】
尚、図を参照した説明においては、図番は異なっても原則として同一部位を示す部位には、同一の符号を付すこととし、なるべく重複した説明は省略する。
【００２０】
図１（Ａ）は、本発明の距離検出装置を備えた撮像装置の一例として、デジタルスチルカメラを含むデジタルカメラを示す模式図である。
【００２１】
図１（Ａ）において、デジタルカメラ１００は、結像光学系を構成する撮影レンズ１０１と、本発明の距離検出装置１１０を備えて構成されている。
【００２２】
距離検出装置１１０は、撮像部を構成する撮像素子１０２と、演算処理部１０４を有する距離検出部１０３と、メモリ１０９を有している。
【００２３】
被写体１０５の像は、撮影レンズ１０１を介して撮像素子１０２に結像されるが、図１（Ａ）では射出瞳１０６を通過した光束が結像面１２０で焦点を結び、焦点がデフォーカスした状態を示している。
【００２４】
尚、デフォーカスとはレンズの結像面１２０と、撮像面（受光面）とが一致せず、レンズの結像面１２０が光軸１３０方向にズレた状態のことをいう。
【００２５】
デフォーカス量は、ΔＬで表されており、この量は撮像部１０２の撮像面と結像面１２０との間の距離を示す。本発明の距離検出装置ではこのデフォーカス量に基づいて撮像面と被写体１０５との間の距離が検出される。
【００２６】
図１（Ｂ）は、図１（Ａ）における撮像素子１０２をＺ方向から見た平面図である。
【００２７】
撮像素子１０２は、９０１で表される２行×２列の測距用画素（１つの画素は９０１Ｇ画素、９０１Ｂ画素、９０１Ｒ画素）を行列状（マトリクス状）に配置して構成されている。
【００２８】
図１（Ｃ）は、図１（Ｂ）のＩ−Ｉ’における断面図である。
【００２９】
図１（Ｃ）において、９０２はマイクロレンズ、９０３はカラーフィルタであり、９０１Ａ及び９０１Ｂは、光電変換部である。
【００３０】
ここで、光電変換部９０４Ａ（第１の光電変換部）及び９０４Ｂ（第２の光電変換部）には、それぞれ射出瞳１０６の異なる領域（第１の瞳領域１０７及び第２の瞳領域１０８）を通過した光束が入射し、それぞれ第１の像信号及び第２の像信号を生成する。
【００３１】
第１の像信号に依拠する像が「Ａ像」、第２の像信号に依拠する像が「Ｂ像」であり、これに鑑み、光電変換部９０４Ａを「Ａ画素（第１の画素）」、光電変換部９０４Ｂを「Ｂ画素（第２の画素）」と呼ぶ。第１の画素と第２の画素との一組で１つの測距用画素を構成する。
【００３２】
本発明において撮像素子は、ＣＭＯＳセンサ（相補型金属酸化物半導体を用いたセンサ）や、ＣＣＤセンサ（電荷結合素子を用いたセンサ）等の固体撮像素子を用いることができる。
【００３３】
ここで、本発明の距離検出装置を備えて構成されるデジタルカメラ（撮像装置）１００では、測距画素（９０４Ａ，９０４Ｂ）と、撮影対象である被写体の画像取得用の撮像を司る光電変換部からなる画素（以下、「画像取得用画素」ともいう。）と、を同じ面（例えば同一平面）に並置した構成とすることができる。
【００３４】
この場合、並置の仕方は、撮像装置に持たせる機能を考慮して適宜選択されるが、例えば、測距画素と画像取得用画素とを互い違いに配置する（市松模様状）手法や、行列状に配された画像取得用画素の一部の列を離散的に測距画素で置き換えた手法等を採用することができる。
【００３５】
また、測距画素自体を画像取得用画素として用いることもできる。
【００３６】
本発明において特徴的なことは、演算処理部１０４が第１の像信号と第２の像信号とに基づき暫定デフォーカス量を算出する暫定距離算出処理を行うことである。
【００３７】
また、暫定デフォーカス量に基づき、第１の像信号と第２の像信号に各々依拠する第１の像と第２の像との相対的位置ズレを示す像ズレ量をデフォーカス量に変換する変換係数を算出する、変換係数算出処理を行うことである。
【００３８】
さらに、変換係数を用いて前記デフォーカス量を算出する距離算出処理を行うことである。
【００３９】
〈本発明による基本的な距離検出手法〉
演算処理部１０４における演算フローを踏まえた本発明の距離算出処理のフローチャートの一例を図３に示す。
【００４０】
以下、図３のフローチャートを参照して被写体の距離情報算出について説明する。
【００４１】
ステップＳ３０１では、Ａ画素（例えば、図１（Ｃ）における光電変換部９０４Ａ）、Ｂ画素（例えば、図１（Ｃ）における光電変換部９０４Ｂ）で異なる瞳領域を通過した光束に基づき、被写体のＡ像とＢ像に対応する像信号を取得する。
この像信号が距離検出部１０３内の演算処理部１０４に伝送される。
ステップＳ３０２の暫定距離算出工程では、暫定的なデフォーカス量（暫定デフォーカス量）の算出を行う。
まず、Ａ像とＢ像の相関演算を行うことでＡ像とＢ像間の相対的な位置ズレ量である像ズレ量ｒの算出を行う。
相関演算は公知の手法を用いることができ、例えば（式１）を用いて、Ａ像とＢ像の像信号データＡ（ｉ）、Ｂ（ｉ）を用いて相関値Ｓ（ｋ）を算出する。
【００４２】
【数１】
2014029393.tif 000003
【００４３】
（式１）において、Ｓ（ｋ）はシフト量ｋにおけるＡ像とＢ像の相関度を示す相関値、ｉは画素番号、ｋはＡ像とＢ像の相対的なシフト量である。
シフト量ｋを変えながらＳ（ｋ）を求めると、Ａ像とＢ像の相関度が高いシフト量にてＳ（ｋ）は極小値を示す。
相関値Ｓ（ｋ）の極小値を与えるシフト量ｋを求め、Ａ像とＢ像の像信号データサンプリング間隔である画素の周期サイズを乗じることでＡ像とＢ像の像ズレ量ｒを算出することができる。なお、ｐ及びｑは、相関値Ｓ（ｋ）の算出に用いる対象画素範囲を示している。ここで算出される像ズレ量ｒは、図４（Ｃ）におけるｒに相当する。
【００４４】
続いて、暫定変換係数である暫定的な基線長ｗ１（暫定基線長ｗ１）の算出を行う。
基線長は、射出瞳１０６上に投影した２つのＡ画素、Ｂ画素の感度の重心位置間の長さのことである。
つまり、暫定基線長ｗ１の算出に際しては、測距用の画素（測距画素）における感度が影響する。
【００４５】
図２は、測距画素の感度を示す模式図であり、横軸は光線が光軸（図１（Ａ）の１３０）となす入射角度、縦軸は感度を示している。
図２において、実線２０１は第１の瞳領域１０７からの光束を主として受光するＡ画素の感度、破線２０２は第２の瞳領域１０８からの光束を主として受光するＢ画素の感度をそれぞれ示している。
【００４６】
図４（Ａ）は、図１（Ａ）のデジタルカメラ１００における、射出瞳１０６と撮像素子１０２のみを模式的に示した図である。
図４（Ａ）においては、撮像素子１０２の撮像面に射出瞳１０６を通過した光束が結像していることから理解されるように、暫定基線長ｗ１の算出に際しては、デフォーカス量がゼロ（デフォーカス無）の状態の基線長を暫定基線長ｗ１とする。
本来、基線長ｗはデフォーカス量依存性を有するのであるが、暫定基線長ｗ１は、デフォーカス量ゼロの状態での基線長とする。
図２に示した画素感度を、撮像素子１０２内の測距範囲の中心（図４（Ａ）の４０３）から射出瞳１０６に射影し、図４（Ｂ）に示す瞳感度分布情報を得る。
【００４７】
図４（Ｂ）は、Ａ画素とＢ画素それぞれの瞳感度分布であり、色が濃い領域ほど高い感度を有している。１０６は射出瞳の枠を示しており、これは図１（Ａ）における１０６に相当する。
瞳感度分布から瞳上でのＡ画素感度の重心位置４０１Ａ、及びＢ画素感度の重心位置４０１Ｂを算出する。
重心位置４０１Ａと重心位置４０１Ｂの長さが暫定基線長ｗ１となる。
【００４８】
像ズレ量ｒ及び暫定基線長ｗ１を得たのち、以下の（式２）の変換式により像ズレ量ｒを像側の暫定デフォーカス量ΔＬ１に変換する。
【００４９】
【数２】
2014029393.tif 000004
【００５０】
（式２）において、Ｌは撮像素子（撮像面）１０２から、射出瞳１０６までの距離である。
こうして得られる暫定基線長ｗ１、像ズレ量ｒ、撮像素子１０２から射出瞳１０６までの距離Ｌ、暫定デフォーカス量ΔＬ１との関係は、図４（Ｃ）となる。
【００５１】
尚、撮影レンズ１０１を通過した光束の結像面と、Ａ像とＢ像間の像ズレ量がゼロとなる面（測距基準面）とは、撮影レンズ１０１の波面収差に起因して異なる位置となる。
【００５２】
従って、（式２）において、結像面と測距基準面間の位置ズレ量を補正することが好適である。
【００５３】
本発明では、図４（Ｃ）に示すように撮像素子１０２を基準に−ｚ軸方向のデフォーカス量を負とし、さらに、Ｂ像に対しＡ像が−ｘ軸方向に像ズレしている場合の像ズレ量を負とする。
【００５４】
ステップＳ３０３の変換係数算出工程では、Ｓ３０２にて算出した暫定デフォーカス量ΔＬ１を用いて、より正確な変換係数である基線長ｗ２を算出する。
【００５５】
図５（Ａ）は、図４（Ａ）と同様に、射出瞳１０６と撮像素子１０２を模式的に示した図である。
【００５６】
Ｓ３０３では、Ｓ３０２にて算出した暫定デフォーカス量ΔＬ１を用いて、焦点位置（結像点）５０２を算出する。さらに、焦点位置（結像点）５０２を起点に射出瞳１０６に図２に示した画素感度を射影し、Ａ画素及びＢ画素に対応する瞳感度分布図５（Ｂ）を得る。
【００５７】
図５（Ｂ）より重心位置５０１Ａ及び５０１Ｂを算出し、基線長ｗ２を算出する。
【００５８】
ステップＳ３０４の距離算出工程では、前述の（式２）におけるｗ１をステップＳ３０２で算出した基線長ｗ２と置き換えて、デフォーカス量ΔＬ２を算出する。
【００５９】
ここで算出したデフォーカス量ΔＬ２、撮影レンズの焦点距離及び主点位置（撮影レンズの位置）を用いることで、被写体までのより正確な距離を算出することができる。
【００６０】
本発明では、Ｓ３０１からＳ３０４までの処理を行うことで、暫定基線長ｗ１に比べて精度の高い基線長ｗ２を算出することが可能となり、像ズレ量からデフォーカス量への変換誤差を低減し、高精度の距離算出が可能となる。
【００６１】
以上の説明では、変換係数として基線長を求める手法について説明したが、変換係数は重心角度とすることもできる。
【００６２】
変換係数として重心角度を算出は、次のようにして算出できる。
【００６３】
ステップＳ３０２において、図４（Ａ）における、暫定基線長ｗ１の代わりに重心位置４０１Ａと、測距範囲中心４０３と、重心位置４０１Ｂと、が成す暫定重心角度θ１を算出する。そして、ステップＳ３０３において、基線長ｗ２の代わりに重心位置５０１Ａと、焦点位置５０２と、重心位置５０１Ｂと、が成す重心角度θ２を算出する。像ズレ量ｒを底辺とし、重心角度θ１またはθ２を頂角とする三角形の高さを求めることで像ズレ量をデフォーカス量に変換することができる。
【００６４】
尚、変換係数は、基線長、重心角度に限定されるものではなく、基線長、重心角度を近似的に導きだすことが可能な関数であっても良い。例えば、デフォーカス量を変数とする２次関数で近似し、２次関数の係数をメモリ１０９に格納しておき、適宜係数を読み出し基線長を算出してもよい。例えば、デフォーカス量を変数とする関数に、暫定デフォーカス量を代入することで変換係数を算出することができる。
【００６５】
関数近似することで、ステップＳ３０３にて暫定デフォーカス量に基づき基線長を算出する際の計算量を削減し、より高速に被写体までの距離検出が可能となる。
【００６６】
次に、変換係数算出工程の別の形態について説明する。
【００６７】
本発明のステップＳ３０２及びステップＳ３０３においては、重心位置の算出に撮影レンズ１０１のヴィネッティング（口径食）を考慮することがより望ましい。
【００６８】
ヴィネッティング（口径食）を考慮することで、より正確な変換係数を算出することができ、高精度の距離算出が可能となる。
【００６９】
上述のステップＳ３０３の説明では、Ａ画素及びＢ画素の瞳感度分布を生成した後に変換係数ｗ２を算出した。しかし、予め撮影レンズ１０１の射出瞳の情報（距離、Ｆ値、ヴィネッティング）と暫定デフォーカス量ΔＬ１に対応する変換係数情報をメモリ１０９に格納しておき、適宜読み出して用いることも可能である。
【００７０】
予めメモリ１０９に変換係数情報を格納しておくことで、計算量を削減し、より高速に被写体までの距離検出が可能となる。
【００７１】
また、変換係数算出時に用いる重心位置５０１Ａ、５０１Ｂの算出に線像分布関数を用いてもよい。
【００７２】
以下変換係数として基線長を用いる場合を例に、線像分布関数を用いる手法について具体的に説明する。
【００７３】
図６（Ａ）に、暫定デフォーカス量ΔＬだけデフォーカスした状態のＡ画素の線像分布関数（第１の線像分布関数）５０３ＡとＢ画素の線像分布関数（第２の線像分布関数）５０３Ｂを示す。
【００７４】
まず、線像分布関数５０３Ａについて、の重心位置５０４Ａを算出する。同様に、線像分布関数５０３Ｂについて重心位置５０４Ｂを算出する。
【００７５】
次に、図６（Ｂ）に示すように、線像分布関数の重心位置５０４Ａ（５０４Ｂ）と上述のステップＳ３０３にて算出した焦点位置５０２を結んだ直線と射出瞳との交点を瞳上でのＡ画素（Ｂ画素）感度の重心位置５０１Ａ（５０１Ｂ）とする。
【００７６】
そして、重心位置５０１Ａと５０１Ｂ間の長さを基線長ｗ２とする。
【００７７】
線像分布関数を用いることで、撮影レンズ１０１の収差の影響、及び回折拡がりの影響を考慮した基線長を算出することができ、より高精度の距離算出が可能となる。
【００７８】
変換係数として重心角度を用いる際には、重心位置５０４Ａ、焦点位置５０２、重心位置５０４Ｂが成す角度を重心角度θ２とすればよい。
【００７９】
次にさらに高精度に被写体までの距離を算出するための手法について、図９に示す処理フローを用いて説明する。
【００８０】
図９において、Ｎは、変換係数算出回数である。ステップＳ８０３の繰り返し判定工程では、変換係数算出回数Ｎが予め設定した値未満であり、且つステップＳ３０４にて算出されたデフォーカス量と暫定デフォーカス量の差分が、予め設定した閾値以上である場合にはステップＳ８０４へ進み、そうでない場合には、距離検出を終了する。
【００８１】
ステップＳ８０４では、ステップＳ３０４にて算出されたデフォーカス量を暫定デフォーカス量として、再度、ステップＳ３０３の及びステップＳ３０４を行う。
【００８２】
本フローによると、複数回ステップＳ３０３及びＳ３０４を行うことで、算出される変換係数の精度がさらに向上し、一層高精度の距離算出が可能となる。
【００８３】
〈本発明により高精度の距離検出が可能となる理由〉
図７等を参照して、本発明の距離検出装置により、高精度の距離算出が可能となる理由について、変換係数として基線長を用いる場合を例に説明する。
【００８４】
図７（Ａ）は、図１（Ａ）で示したデジタルカメラ１００における射出瞳１０６と撮像素子１０２の関係を模式的に示した図である。
【００８５】
図３に示したステップＳ３０２にて算出される暫定基線長は、図７（Ａ）における破線６０１の範囲の光束が撮像素子１０２に入射すると仮定して、算出される。
【００８６】
しかしながら、実際には焦点位置１２０はデフォーカスしているため、実線６０２に示す光束が撮像素子１０２に入射している。
【００８７】
従って、光束６０１が持つ入射角度範囲は、光束６０２の入射角度範囲とは異なるために、光束６０１を元に算出した図４（Ａ）における重心位置４０１Ａ及び４０１Ｂは、光束６０２を元に算出した重心位置とは異なる値となる。
【００８８】
図７（Ｂ）は、基線長のデフォーカス量依存を示している。横軸はデフォーカス量であり、縦軸は基線長である。
【００８９】
図７（Ｂ）より、基線長はデフォーカス量に依存して変化することが理解される。
【００９０】
暫定基線長ｗ１は、デフォーカス量をゼロとして、暫定的に光束６０１を元に算出しているため、ステップＳ３０２にて算出される暫定デフォーカス量は誤差を含んでいるもののデフォーカス量ゼロに比べて実際のデフォーカス量に近づく。
【００９１】
一方、ステップＳ３０３では、暫定デフォーカス量ΔＬ１を考慮して、より実際の光束６０２に近い状態で基線長（ｗ２）を算出することができるため誤差が軽減されることとなる。つまり、暫定基線長ｗ１に対して基線長ｗ２は、より実際の焦点位置に近い点を起点として算出されている。
【００９２】
その為、より正確な基線長を算出することが可能となり、ステップＳ３０４にてより高精度の距離検出が可能となる。
【００９３】
〈本発明の採用し得るその他の構成〉
本発明の距離検出装置における撮像部は、撮像素子で構成することができる。
【００９４】
撮像素子は具体的には、ＣＭＯＳセンサ（相補型金属酸化物半導体を用いたセンサ）や、ＣＣＤセンサ（電荷結合素子を用いたセンサ）等の固体撮像素子を用いることができる。
【００９５】
本発明の距離検出装置における演算処理部は、半導体素子を集積化した集積回路を用いて構成することができ、ＩＣ、ＬＳＩ、システムＬＳＩ、マイクロ処理ユニット（ＭＰＵ）、中央演算装置（ＣＰＵ）等で構成することができる。
【００９６】
本発明は、距離検出装置の他にプラグラムをも包含する。
【００９７】
本発明のプラグラムは、被写体の像を結像する結像光学系と、前記結像光学系の第１の瞳領域を通過した光束に基づく第１の像信号と、前記結像光学系の第２の瞳領域を通過した光束に基づく第２の像信号と、を生成する撮像部と、前記被写体までの距離を検出するためのコンピュータと、を備えた撮像装置の前記コンピュータに、所定の工程を実行させるものである。
【００９８】
ここで、説明する撮像装置は、例えば、図１（Ａ）で上述したデジタルカメラ１００であり、撮像部としての撮像素子１０２と、演算処理部１０４と、メモリ１０９を有して構成されている。
【００９９】
演算処理部１０４をマイクロ処理ユニットや中央演算装置等で構成する場合には、演算処理部は、コンピュータとして捉えることが可能である。
【０１００】
本発明のプログラムは、撮像部によって生成された第１の像信号と第２の像信号とを用いて被写体までの距離を検出するためのコンピュータに所定の工程を実行させるものである。そして、本発明のプログラムは、前記コンピュータに、前記第１の像信号と前記第２の像信号とに基づき暫定デフォーカス量を算出する暫定距離算出工程を実行させるものである。
【０１０１】
さらに、前記コンピュータに前記暫定デフォーカス量に基づき、前記第１の像信号と前記第２の像信号に各々依拠する第１の像と第２の像との相対的位置ズレを示す像ズレ量を、前記デフォーカス量に変換する変換係数を算出する変換係数算出工程を実行させるものである。
【０１０２】
さらに、前記コンピュータに前記変換係数を用いて前記デフォーカス量を算出する距離算出工程を実行させるものである。
【０１０３】
本発明のプログラムは、所定の結像光学系と、所定の撮像部と、コンピュータと、を備えた撮像装置のコンピュータにインストールすることによって、撮像装置を高精度の距離検出が可能なものとなすことができる。
【０１０４】
本発明のプログラムは、記録媒体の他、インターネットを通じて頒布することも可能である。
【０１０５】
さらに本願発明は、演算処理装置として捉えることもできる。
【０１０６】
この演算処理装置は、被写体の像を結像する結像光学系の第１の瞳領域を通過した光束に基づく第１の像信号と、前記結像光学系の第２の瞳領域を通過した光束に基づく第２の像信号と、を生成する撮像部を備えた撮像装置に特定の距離を検出するための演算処理を施すものである。
【０１０７】
特定の距離の検出は、撮像部の撮像面と、前記第１の瞳領域及び第２の瞳領域を通過した前記光束の結像面と、の距離を示すデフォーカス量に基づいて前記被写体までの距離を検出することと捉えることができる。
【０１０８】
この演算処理装置は、前記第１の像信号と前記第２の像信号とに基づき暫定デフォーカス量を算出する暫定距離算出処理を行う。
【０１０９】
さらに前記暫定デフォーカス量に基づき、前記第１の像信号と前記第２の像信号に各々依拠する第１の像と第２の像との相対的位置ズレを示す像ズレ量を前記デフォーカス量に変換する変換係数を算出する変換係数算出処理を行う。
【０１１０】
さらに、前記変換係数を用いて前記デフォーカス量を算出する距離算出処理を行うものである。
【０１１１】
以下、具体的な実施例を挙げて本発明を詳細に説明する。
【実施例１】
【０１１２】
本発明の距離検出装置を備えたデジタルカメラについて説明する。
【０１１３】
本例では、発明を実施する形態で説明した図１（Ａ）に示す本発明の距離検出装置１１０を有するデジタルカメラ１００を構成した、数値例について示す。本例で用いた撮像素子１０２に配置される測距画素は、図８（Ａ）に示す画素感度を有する。
【０１１４】
図８（Ａ）の横軸は光線が光軸と成す角度（入射角度）であり、縦軸は画素感度を最大値＝１として示した。
【０１１５】
図８（Ｂ）は、撮影レンズ１０１の焦点位置が撮像素子１０２上に有る時の、Ａ画素とＢ画素それぞれの画素感度を射出瞳１０６に射影した瞳感度分布である。
【０１１６】
本例では、撮影レンズ１０１のＦ値を２．０、撮像素子１０２から射出瞳１０６までの距離Ｌを２０ｍｍ、撮影倍率を５０倍、被写体までの距離を５ｍとした。
【０１１７】
また、予め設定した像側のデフォーカス量は＋６ｍｍとした。
【０１１８】
本例の距離検出装置１１０において、図３に示す処理フローを用いてデフォーカス量を算出した結果が図８（Ｃ）である。
【０１１９】
図８（Ｃ）の縦軸は、各工程にて算出された被写体距離を示している。
【０１２０】
横軸は、図３のフローチャートのＳ３０２と、Ｓ３０４の各工程を示している。
【０１２１】
Ｓ３０２にて算出された被写体距離は４．５６［ｍ］と測距誤差が比較的大きいが、Ｓ３０３にて再度変換係数を算出することで、被写体距離を４．９８［ｍ］と測距誤差を小さな値に減少させることできる。
【０１２２】
本発明の距離算出装置１１０を用いることで、像ズレ量から被写体距離への変換誤差を低減し、高精度に被写体までの距離を算出することができる。
【実施例２】
【０１２３】
本例では、図１を用いて説明したデジタルカメラ１００に類似するカメラを構成した例である。
【０１２４】
本例の距離検出装置１１０を構成する撮像素子１０２を図１０に示す。
【０１２５】
図１０（Ａ）に、２行×２列の測距用画素を９０１にて示し、さらに９０１内には、対角方向にＧ画素９０１Ｇが、他の２画素に、Ｒ画素とＢ画素が配置されている。
【０１２６】
そして、この２行×２列の画素９０１が繰り返し配置される。
【０１２７】
図１０（Ｂ）に、図１０（Ａ）内のＩ−Ｉ’断面を示す。
【０１２８】
９０２はマイクロレンズ、９０３はカラーフィルタ、そして９０４Ａ及び９０４Ｂは光電変換部である。
【０１２９】
本例の撮像素子１０２では、１つの画素（９０１Ｒ、９０１Ｇ、９０１Ｂ）内に光電変換部を２つ配置し、光電変換部と射出瞳１０６を光学的に共役関係になるようにマイクロレンズ９０２のパワーを設定している。
【０１３０】
このような配置とすることで、光電変換部９０４Ａと９０４Ｂでは、それぞれ射出瞳１０６の異なる領域を通過した光束を受光することができる。
本例の距離検出装置１１０では、撮像素子１０２内の全画素に測距画素を配置している。
【０１３１】
全画素に図１０に示す測距画素を配置することで、Ａ画素の像信号とＢ画素の像信号を用いて画像生成が可能となる。
【０１３２】
さらに、デジタルカメラ１００にて得られた画像と対応する距離分布（距離マップ）も同時に生成することができる。
【０１３３】
画像内にある被写体のボケ量はデフォーカス量（物側の焦点位置からの距離）に依存する。得られた画像に対して距離分布に基づく処理を行うことで、画像に対し任意のボケ付加処理、及び撮影後のリフォーカス処理等の画像処理を適切に行うことができる。
【０１３４】
本例においては、撮像素子１０２内に含まれる複数の画素のうち、一部の画素領域について図３に示すフローチャートに沿った被写体距離の算出を行う。
【０１３５】
本例においては、図３の処理を行う画素領域を撮像素子１０２の周辺領域に設定する。
【０１３６】
一般に、撮影者が撮影を行う主被写体は撮像素子１０２の中央領域に配置されることが多い。
【０１３７】
一方、撮像素子１０２の周辺領域には、背景が配置される。
【０１３８】
主被写体に比べて背景はデフォーカス量が大きく、撮像素子１０２の周辺領域では図３のＳ３０２にて算出される暫定デフォーカス量の精度が低い。
【０１３９】
本例の距離検出部１０３においては、周辺領域では図３のフローチャートに沿った距離算出を行い、中央領域では図３のステップＳ３０１とＳ３０２のみ行う。
【０１４０】
距離検出部１０３にてこのような処理を行うことで、距離分布の算出に必要な工程数の削減（すなわち、距離分布算出の高速化）と高精度な距離分布の生成を両立させることができる。
【０１４１】
本例においては、図３の処理を行う画素領域を予め設定したが、図１１に示すフローチャートに沿った処理を全画素領域について行ってもよい。
【０１４２】
図１１内のステップＳ１００１の画素領域判定処理では、Ｓ３０２にて算出された暫定デフォーカス量が予め設定した暫定デフォーカス量範囲の外（範囲内にあるか否かの判断）にある場合は、ステップＳ３０３に進み、暫定デフォーカス量範囲の内にある場合には、ステップＳ１００２にてデフォーカス量ΔＬ２を暫定デフォーカス量ΔＬ１で置き換える処理を行う。
【０１４３】
暫定デフォーカス量範囲は、距離検出装置１１０に求められる距離検出精度に応じて適宜設定することが望ましい。
【０１４４】
例えば、撮影レンズ１０１のＦ値及び許容錯乱円σから像側の被写界深度が±σＦとなることを用い、図７（Ｂ）から算出できる変換係数誤差による測距誤差が±σＦ以下となるように暫定デフォーカス量範囲を設定することができる。
【０１４５】
図１１に示すフローチャートに沿った処理を全画素領域について行うことで、距離分布の算出に必要な工程数の削減と、高精度な距離分布の生成を両立させることができる。
【実施例３】
【０１４６】
本例では、上述したのとは異なるフローに沿って距離の算出を行う例を示す。
【０１４７】
本例の距離検出装置１１０を構成する距離検出部１０３は、図１２（ａ）に示すフローチャートに沿って被写体距離の算出を行う。
【０１４８】
図１２（Ａ）のステップＳ１１０１では、Ａ像及びＢ像の像修正処理を行う。
【０１４９】
ステップＳ１１０１内の処理をより詳細に示したのが、図１２（ｂ）である。
【０１５０】
ステップＳ１１０２の線像分布関数算出工程では、Ｓ３０２にて算出された暫定デフォーカス量に対応したＡ画素とＢ画素の線像分布関数を生成する。
【０１５１】
ステップＳ１１０３の畳み込み積分工程では、Ｓ３０１にて取得したＡ像に対してＢ画素の線像分布関数を畳み込み積分し、Ｂ像に対してはＡ画素の線像分布関数を畳み込み積分することで、像形状を修正したＡ像（修正Ａ像）とＢ像（修正Ｂ像）を生成する。
【０１５２】
次に、ステップＳ３０４では、修正Ａ像（第１の修正像信号）と修正Ｂ像（第２の修正像信号）の像ズレ量ｒを、公知の相関演算（例えば、数式１）を用いて算出し、被写体距離の算出を行う。
【０１５３】
ステップＳ３０１にて取得されるＡ像は、被写体にＡ画素の線像分布関数を畳み込み積分した形状となる。
【０１５４】
またＢ像は、被写体にＢ画素の線像分布関数を畳み込み積分した形状となる。
【０１５５】
一般に、ヴィネッティング等の影響により、Ａ画素の線像分布関数とＢ画素の線像分布関数は、非対称な形状を有する。
【０１５６】
非対称な線像分布関数が畳込み積分されることにより、Ｓ３０１にて得られるＡ像とＢ像には非対称性が生じる。
【０１５７】
Ａ像とＢ像とが光軸に対して対称とならない場合には、Ａ像とＢ像の一致度が低下し、相関演算による像ズレ量算出において、像ズレ量の検出精度が低下する。
【０１５８】
その結果、算出されるデフォーカス量の検出精度が低下することとなる。
【０１５９】
像ズレ量の検出精度を向上させるためには、Ａ像とＢ像の非対称性を補正し、像の一致度を高めることが必要となる。
【０１６０】
本例の距離検出装置１１０を構成する距離検出部１０３では、像修正工程Ｓ１１０１により、像の一致度を向上させている。
【０１６１】
しかし、Ｓ３０２にて算出された暫定デフォーカス量が小さい合焦近傍においては、一致度の高いＡ像とＢ像を得ることができる。
【０１６２】
そのため、Ｓ１１０１とＳ３０２の間に、像修正工程を行うか否かの判定を暫定デフォーカス量に基づき判定する像修正判定処理を導入してもよい。
【０１６３】
図１２のフローチャートにて像修正判定工程をさらに備えることにより、合焦近傍における被写体距離の算出に必要な工程数を削減し、高速高精度に被写体までの距離を算出することができる。
【０１６４】
本例の距離検出装置１１０を構成する距離検出部１０３では、図１２に示すフローチャートに沿った処理を行ったが、図１３に示す繰り返し判定工程Ｓ８０３を付加してもよい。
【０１６５】
図１３に示すように像修正工程Ｓ１１０１及び基線長算出工程Ｓ３０３を複数回行うことで、デフォーカス量の収束状態を考慮してより高精度の距離算出が可能となる。
【０１６６】
撮像素子１０２に測距画素が複数画素配置される場合には、図１４に示すフローチャートに沿った処理を行ってもよい。
【０１６７】
画素領域判定工程Ｓ１００１を導入することにより、一部の画素領域を決定し、距離分布の生成に必要な工程数の削減と、高精度な距離分布の生成を両立させることができる。
【符号の説明】
【０１６８】
１００  デジタルカメラ
１１０  距離検出装置
１０１  結像光学系
１０２  撮像部
１０３  距離検出部
１０４  演算処理部
１０５  被写体
１０６  射出瞳
１０７  第１の瞳領域
１０８  第２の瞳領域
【図１】
2014029393.tif 000005
【図２】
2014029393.tif 000006
【図３】
2014029393.tif 000007
【図６】
2014029393.tif 000008
【図７】
2014029393.tif 000009
【図９】
2014029393.tif 000010
【図１０】
2014029393.tif 000011
【図１１】
2014029393.tif 000012
【図１２】
2014029393.tif 000013
【図１３】
2014029393.tif 000014
【図１４】
2014029393.tif 000015
【図４】
2014029393.tif 000016
【図５】
2014029393.tif 000017
【図８】
2014029393.tif 000018