(57)【要約】【課題】被写体距離検出時の検出エラーを抑制して、高い面内空間分解能の距離分布を生成可能な距離検出装置などを提供する。【解決手段】距離検出装置１１０は、撮像手段１０２で生成された、結像光学系１０１の第１及び第２の瞳領域１０７、１０８を夫々通過した光束による第１及び第２の信号に基づき、被写体１０５までの距離を検出する演算手段１０４を備える。演算手段は、第１及び第２の信号の暫定的な検出に用いる画素範囲として暫定距離検出範囲を設定する処理と、暫定距離検出範囲の第１及び第２の信号から暫定像ズレ量を算出する処理と、暫定像ズレ量に基づき、第１及び第２の信号の検出に用いる画素範囲として距離検出範囲を設定する処理と、距離検出範囲に対して距離検出範囲の数の増減を行う処理と、増減処理で設定された距離検出範囲の第１及び第２の信号に基づき被写体までの距離を算出する距離算出処理と、を行う。【選択図】図１
2014074891.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素が配列して構成された撮像手段により生成された、結像光学系の第１の瞳領域を通過した光束による第１の信号と第２の瞳領域を通過した光束による第２の信号とに基づき、被写体までの被写体距離を検出するための演算手段を備えた距離検出装置であって、
前記演算手段は、
前記第１の信号と前記第２の信号の暫定的な検出に用いる画素の範囲として暫定距離検出範囲を設定する暫定領域設定処理と、
前記暫定距離検出範囲における前記第１の信号と前記第２の信号とから暫定像ズレ量を算出する暫定像ズレ量算出処理と、
前記暫定像ズレ量に基づき、前記第１の信号と前記第２の信号の検出に用いる画素の範囲として距離検出範囲を設定する領域設定処理と、
前記設定された距離検出範囲に対して距離検出範囲の数の増減を行う増減処理と、
前記増減処理で設定された距離検出範囲における前記第１の信号と前記第２の信号とに基づき、被写体までの距離を算出する距離算出処理と、を行う、
ことを特徴とする距離検出装置。
【請求項２】
前記増減処理は、前記設定された距離検出範囲に対して新たな距離検出範囲を付加する領域付加処理であることを特徴とする請求項１に記載の距離検出装置。
【請求項３】
前記演算手段は、前記第１の信号と前記第２の信号の少なくとも一方に基づき、同一被写体か否か判定し、被写体のサイズを算出する判定処理をさらに行うことを特徴とする請求項１または２に記載の距離検出装置。
【請求項４】
前記暫定領域設定処理では、前記判定処理にて同一被写体と判定された被写体を覆うように暫定の距離検出範囲を配置することを特徴とする請求項３に記載の距離検出装置。
【請求項５】
前記領域設定処理では、前記第１の信号と前記第２の信号の少なくとも一方に基づき、被写体輝度変化率から被写体の端部を判定し、前記距離検出範囲に該端部が含まれるように前記距離検出範囲の中心位置を設定することを特徴とする請求項３または４に記載の距離検出装置。
【請求項６】
前記領域付加処理では、両側に隣接する距離検出範囲の幅を比較し、大きい方の幅に合わせて、付加する距離検出範囲の幅を設定することを特徴とする請求項２に記載の距離検出装置。
【請求項７】
複数の画素が配列して構成された撮像手段と、被写体の像を前記撮像手段へ結像する結像光学系と、請求項１から６の何れか１項に記載の距離検出装置を備えたことを特徴とする撮像装置。
【請求項８】
複数の画素が配列して構成された撮像手段により生成された、結像光学系の第１の瞳領域を通過した光束による第１の信号と第２の瞳領域を通過した光束による第２の信号とに基づき、被写体までの被写体距離を検出するためのコンピュータに、
前記第１の信号と前記第２の信号の暫定的な検出に用いる画素の範囲として暫定距離検出範囲を設定する暫定領域設定工程と、
前記暫定距離検出範囲における前記第１の信号と前記第２の信号とから暫定像ズレ量を算出する暫定像ズレ量算出工程と、
前記暫定像ズレ量に基づき、前記第１の信号と前記第２の信号の検出に用いる画素の範囲として距離検出範囲を設定する領域設定工程と、
前記設定された距離検出範囲に対して距離検出範囲の数の増減を行う領域数増減工程と、
前記増減工程で設定された距離検出範囲における前記第１の信号と前記第２の信号とに基づき、被写体までの距離を算出する距離算出工程と、を実行させる、
ことを特徴とするプログラム。
【請求項９】
請求項８に記載のプログラムを格納したことを特徴とする記憶媒体。
【請求項１０】
複数の画素が配列して構成された撮像手段により生成された、結像光学系の第１の瞳領域を通過した光束による第１の信号と第２の瞳領域を通過した光束による第２の信号とに基づき、被写体までの被写体距離を検出する距離検出方法であって、
前記第１の信号と前記第２の信号の暫定的な検出に用いる画素の範囲として暫定距離検出範囲を設定する暫定領域設定工程と、
前記暫定距離検出範囲における前記第１の信号と前記第２の信号とから暫定像ズレ量を算出する暫定像ズレ量算出工程と、
前記暫定像ズレ量に基づき、前記第１の信号と前記第２の信号の検出に用いる画素の範囲として距離検出範囲を設定する領域設定工程と、
前記設定された距離検出範囲に対して距離検出範囲の数の増減を行う数増減工程と、
前記領域数増減工程で設定された距離検出範囲における前記第１の信号と前記第２の信号とに基づき、被写体までの距離を算出する距離算出工程と、
を含むことを特徴とする距離検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、距離検出装置に関し、特にデジタルカメラやデジタルビデオカメラなどの撮像装置等に用いられる距離検出装置などに関する。
【背景技術】
【０００２】
デジタルカメラやデジタルビデオカメラにおいて、撮像素子の一部あるいは全部の画素に測距機能を有する画素（以下、測距画素）を配置し、位相差方式で被写体の距離を検出するようにした固体撮像素子が提案されている（特許文献１参照）。測距画素は、複数の光電変換部を備え、カメラレンズの瞳上の異なる領域を通過した光束が、それぞれ、異なる光電変換部に導かれるように構成される。各測距画素に含まれる光電変換部で得た信号により、異なる瞳領域を通過した光束により生成される光像（それぞれ「Ａ像」、「Ｂ像」とも呼び、両像をまとめて「ＡＢ像」とも呼ぶ）を取得する。このＡＢ像の相対的位置変化であるズレ量（以下、「像ズレ量」とも呼ぶ）を検出する。この像ズレ量を、デフォーカス量に変換することで、被写体までの距離を算出できる。デフォーカスとは、撮影レンズの結像面と撮像面（受光面）とが一致せず、レンズの結像面が光軸方向にズレた状態のことを言い、この量がデフォーカス量である。これによると、従来のコントラスト方式とは異なり、距離を測定するためにレンズを動かす必要が無いので、高速高精度な測距が可能となる。
【０００３】
測距画素を撮像素子面内全域に複数配置し、さらにＡ像とＢ像を用いることで、画像の生成と、画像に対応した距離分布（距離マップ）を同時に生成することができる。画像内にある被写体のボケ量はデフォーカス量に依存するので、得られた画像に対して距離分布に基づく処理を行うことで、任意のボケ付加処理、撮影後のリフォーカス処理（任意の位置にピントを合わせる処理）等の画像処理などを適切に行うことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４０２７１１３号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＡＢ像の像ズレ量は、デフォーカス量に比例する関係にある。その為、デフォーカス量が大きい場合には、像ズレ量を検出するための測距範囲（検出に用いる対象領域として設定される画素範囲）を広くとる必要がある。デフォーカス量に対して測距範囲が狭い場合には、像ズレ量を検知することができずに検出エラーとなってしまうことがある。一方、画像に対して適切な画像処理を行うためには、撮像素子の面内方向にて高い面内空間分解能を有する距離分布を取得することが望ましい。その為には、測距範囲を小さく設定し、密に配置することが望ましい。
【０００６】
従来の距離検出装置では、デフォーカス量が大きい被写体にも対応するため、測距範囲を比較的大きく設定していた。その為、距離分布の面内空間分解能が低下するということがあった。本発明は、上記課題に鑑み、像ズレ量の検出エラーを抑制すると共に、高い面内空間分解能の距離分布を生成可能な距離検出装置等を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の距離検出装置は、複数の画素が配列して構成された撮像手段により生成された、結像光学系の第１の瞳領域を通過した光束による第１の信号と第２の瞳領域を通過した光束による第２の信号とに基づき、被写体までの被写体距離を検出するための演算手段を備える。前記演算手段は、前記第１の信号と前記第２の信号の暫定的な検出に用いる画素の範囲として暫定距離検出範囲を設定する暫定領域設定処理と、前記暫定距離検出範囲における前記第１の信号と前記第２の信号とから暫定像ズレ量を算出する暫定像ズレ量算出処理と、前記暫定像ズレ量に基づき、前記第１の信号と前記第２の信号の検出に用いる画素の範囲として距離検出範囲を設定する領域設定処理と、前記設定された距離検出範囲に対して距離検出範囲の数の増減を行う増減処理と、前記増減処理で設定された距離検出範囲における前記第１の信号と前記第２の信号とに基づき、被写体までの距離を算出する距離算出処理と、を行う。
【発明の効果】
【０００８】
本発明によれば、被写体距離検出時の検出エラーを抑制して、高い面内空間分解能の距離分布を生成可能な距離検出装置、これを用いた撮像装置、距離検出方法などを実現することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の距離算出装置を備えたデジタルカメラを説明する図。
【図２】実施例の撮像素子を説明する図。
【図３】実施例の測距画素の画素感度を示す図。
【図４】実施例の被写体距離算出処理のフローチャート。
【図５】実施例の距離検出範囲設定方法を説明する図。
【図６】実施例の被写体距離算出処理のフローチャート。
【図７】実施例の撮像素子を説明する図。
【図８】実施例の距離検出範囲設定方法を説明する図。
【発明を実施するための形態】
【００１０】
本発明の特徴は、次のことにある。複数の画素が配列して構成された撮像手段により生成された、結像光学系の第１及び第２の瞳領域をそれぞれ通過した光束による第１及び第２の信号に基づき、被写体までの被写体距離を検出する。そのために、第１及び第２の信号の暫定的な検出に用いる画素の範囲として暫定距離検出範囲を設定する処理を経て、最終的に設定された距離検出範囲における第１及び第２の信号に基づき被写体までの距離を算出する。詳細には、暫定距離検出範囲における第１及び第２の信号から算出された暫定像ズレ量に基づき、第１及び第２の信号の検出に用いる画素範囲として距離検出範囲を設定する。そして、この距離検出範囲に対して距離検出範囲の数の増減を行う処理を経て、最終的に設定された距離検出範囲における第１及び第２の信号に基づき被写体までの距離を算出する。暫定距離検出範囲を設定する規準、暫定像ズレ量に基づき設定する距離検出範囲の設定規準、距離検出範囲の数の増減の規準は、適宜、被写体の状況、距離検出の要求精度、距離分布に要求される面内空間分解能などを考慮して種々に決めることができる。
【００１１】
以下、図を参照しながら本発明の距離算出装置、これを用いた撮像装置、距離算出方法などの実施形態について説明する。以下の説明では、本発明の距離検出装置を備えた撮像装置の一例として、デジタルカメラを用いて説明するが、本発明の適用はこれに限定されない。例えば、デジタルビデオカメラやライブビューカメラ等の撮像装置、デジタル距離計測器等に適用することができる。尚、図を参照した説明においては、図番は異なっても、原則として同一の機能を有する部位には同一の符号を付すこととし、なるべく重複した説明は省略する。
【００１２】
（実施例１）
本発明の距離検出装置の実施例１を備えたデジタルカメラを説明する。
＜距離検出装置の構成＞
図１において、１００は、本実施例の距離検出装置を備えたデジタルカメラである。デジタルカメラ１００は、撮像手段である撮像素子１０２と、結像光学系である撮影レンズ１０１、距離検出装置１１０を有する。本実施例では、距離検出装置１１０は、演算部１０４を含む距離検出部１０３、メモリ１０９で構成される。図１においては、焦点位置１２０がデフォーカスした状態を示している。
【００１３】
本実施例における撮像素子１０２を図２に示す。図２（ａ）に、２行×２列の画素群を２０１にて示す。画素群２０１内には、対角方向に２つの緑画素２０１Ｇが、他の対角方向の２画素に、赤画素２０１Ｒと青画素２０１Ｂが配置されている。そして、この２行×２列の画素群２０１が繰り返し行列状に配置される。図２（ｂ）に、図２（ａ）内のＩ−Ｉ’断面を示す。２０２はマイクロレンズ、２０３はカラーフィルタ、そして２０４Ａ及び２０４Ｂは光電変換部である。本実施例の撮像素子１０２では、１つの画素（２０１Ｒ、２０１Ｇ、２０１Ｂ）内に光電変換部を２つ配置し、光電変換部と撮影レンズ１０１の射出瞳１０６を光学的に共役関係になるようにマイクロレンズ２０２のパワーを設定している。このような配置とすることで、光電変換部２０４Ａと光電変換部２０４Ｂでは、それぞれ射出瞳１０６の異なる領域１０７、１０８を通過した光束を受光することができる。異なる領域１０７、１０８は、例えば、射出瞳１０６内において瞳重心に対して対称な異なる領域である。光電変換部２０４Ａと光電変換部２０４Ｂは、それぞれ、受光した光束を光電変換して第１の被写体像信号と第２の被写体像信号を生成する。第１の被写体像信号は、光電変換部２０４Ａにて生成される信号で、以下、Ａ画素の像信号とも言う。第２の被写体像信号は、光電変換部２０４Ｂにて生成される信号で、以下、Ｂ画素の像信号とも言う。本実施例では、撮像素子１０２内の全画素に測距画素を配置している。全画素に図２に示す測距画素を配置することで、Ａ画素の像信号とＢ画素の像信号を用いて画像生成が可能となる。さらに、後述の処理フローを用いることで、得られた画像と対応する距離分布も同時に生成することができる。
【００１４】
被写体１０５の距離情報を取得するために、撮影レンズ１０１により、被写体１０５の像を撮像素子１０２へ結像する。撮像素子１０２には、測距画素が複数配置されており、射出瞳１０６の異なる領域（第１の瞳領域１０７及び第２の瞳領域１０８）を通過した光束の被写体像（Ａ像、Ｂ像）を取得する。本実施例における測距画素の感度は、図３に示すように、入射角度＝０°に関して対称な入射角度依存性を有している。図３において、横軸は光線が光軸（図１の１３０）となす入射角度、縦軸は感度であり、実線３０１は第１の瞳領域１０８からの光束を主として受光するＡ画素の感度、破線３０２は第２の瞳領域１０７からの光束を主として受光するＢ画素の感度を示している。後述する処理フローを、距離検出部１０３内の演算部１０４にて行うことで、被写体の距離情報を算出する。
【００１５】
＜距離検出の処理フロー＞
本実施例における被写体の距離情報を算出する処理を、図４のフローチャートに沿って詳細に説明する。説明の際、図５をも用いる。図５（ａ）は、被写体５０１をｚ方向から見た図である。図５（ｂ）は被写体をｙ方向から見た図であり、実線５０２は被写体５０１の位置を、破線５０３は撮影レンズ１０１のピント面を示している。また図５（ｃ）〜（ｅ）は被写体５０１の像信号５０４を示しており、横軸は撮像素子１０２上のｘ座標、縦軸は像信号強度である。
【００１６】
ステップＳ４０１は暫定領域設定処理を行う工程である。Ｓ４０１では、図５（ｃ）に示すように、撮像素子１０２上の暫定距離検出範囲（暫定範囲［ｉ］、［ｉ＋１］）を設定する。暫定距離検出範囲を狭く設定すると、Ａ像とＢ像の相対的位置変化を検出することができずに距離検出エラーとなることがある。そのため、暫定距離検出範囲の幅は広く設定する。設定の規準として、例えば、想定する最大のデフォーカス量と撮影レンズ１０１のＦ値から像ズレ量の最大値を算出し、幅を像ズレ最大値よりも広く設定して撮像素子の端から暫定距離検出範囲を配置する。また、本実施例では、Ｓ４０１を行う前に、撮像素子１０２の各画素の輝度情報から同一被写体であるか否か判定し、さらに被写体のサイズを算出する被写体判定処理を行っている。この判定において、図５（ｃ）では、暫定範囲［ｉ］と暫定範囲［ｉ＋１］の間に大きな被写体輝度変化率があるため、暫定範囲［ｉ］と暫定範囲［ｉ＋１］の各範囲に含まれる被写体はそれぞれ別の被写体であると判定している。さらに、各被写体を覆い、且つ像ズレ最大値よりも広く暫定距離検出範囲を設定している。なお、被写体判定工程では、同一の被写体であるか否かを判定でき、さらに被写体のサイズを算出できればよい。例えば、色情報（赤色用画素の像信号、緑色用画素の像信号、青色用画素の像信号）を用いることができる。また、被写体によらず、予め暫定距離検出範囲の位置及び幅を決めても良い。予め暫定距離検出範囲を設定しておくことで、必要な工程数を削減することができ、より高速に被写体までの距離検出を行うことができる。
【００１７】
ステップＳ４０２では、暫定距離検出範囲において、被写体のＡ像とＢ像を取得し、距離検出部１０３に伝送する。ステップＳ４０３の暫定像ズレ量算出処理の工程では、各暫定距離検出範囲の像ズレ量を算出する。像ズレ量の算出には、Ａ像とＢ像の相関演算を行う。相関演算は公知の手法を用いることができ、例えば数式１により相関値Ｓ（ｋ）を算出し、Ｓ（ｋ）＝０となるｋから像ズレ量ｒを算出することができる。ここで、Ａ（ｍ）はＡ像の像信号データ、Ｂ（ｍ）はＢ像の像信号データ、ｍは画素番号、ｋはＡ像とＢ像の相対的シフト量である。ｐ及びｑは相関値Ｓ（ｋ）の算出に用いる暫定距離検出範囲を表している。
【００１８】
【数１】
2014074891.tif 000003
【００１９】
ステップＳ４０４の領域設定処理の工程では、図５（ｄ）に示すように、Ｓ４０３にて算出された像ズレ量に基づき、距離検出範囲の設定を行う。具体的には、像ズレ量が小さいほど距離検出範囲を狭くする。より具体的には、距離検出範囲はＳ４０３にて算出した像ズレ量と同程度の画素範囲に設定する。より望ましくは、光ショットノイズ等に代表されるノイズに起因する像ズレ量算出誤差の影響を考慮して、Ｓ４０３にて算出した像ズレ量よりも数画素程度広い範囲とする。Ｓ４０１では、像ズレ量の検出エラーを回避するために、大きな距離検出範囲（暫定範囲［ｉ］、［ｉ＋１］）を取っている。一方、Ｓ４０４では、Ｓ４０３にて算出した像ズレ量を基に、像ズレ量検出に必要な範囲に距離検出範囲を限定することにより、Ｓ４０１の暫定距離検出範囲に比べて狭い距離検出範囲（図５（ｄ）の範囲［ｉ］、［ｉ＋１］）にすることができる。暫定範囲［ｉ］には、ピント面５０３から距離の近い被写体と遠い被写体が含まれる。そのため、数式１から像ズレ量を算出すると、複数の像ズレ量が算出される。本実施例では、複数の像ズレ量の大きさを比較し、最大の像ズレ量に合わせて範囲［ｉ］の幅を設定している。範囲［ｉ］の幅を最大の像ズレ量に合わせることで、距離検出エラーを防ぐことができる。範囲［ｉ］には、被写体の端部が含まれるように範囲［ｉ］を設定している。暫定範囲［ｉ＋１］においても、暫定範囲［ｉ］と同様にＳ４０３にて算出される像ズレ量に基づき、範囲［ｉ＋１］を設定している。本実施例では、距離検出範囲の幅を像ズレ量と同程度の幅に設定している。距離検出範囲の幅を、像ズレ量と同程度の幅に限定することで、生成される距離分布の面内空間分解能を高くすることができる。なお、相関演算による像ズレ量算出時に、内挿演算を用いる場合には、像ズレ量に１０画素程度付加した範囲を距離検出範囲として設定することが望ましい。距離検出範囲を１０画素程度大きく設定することで、Ｓ（ｋ）〜０となるｋ近傍の値を用いた内挿演算を行うことができ、後述のＳ４０６においてより高精度に像ズレ量を検出することができる。
【００２０】
本実施例において、ステップＳ４０５の領域数増減処理の工程では、距離検出範囲を付加する処理を行う。Ｓ４０４では、距離検出範囲である範囲［ｉ］、［ｉ＋１］の幅を変化させたが、Ｓ４０５では、各距離検出範囲の間にさらに距離検出範囲を追加する処理を行う。例えば、図５（ｅ）に示すように、範囲［ｉ］と［ｉ＋１］の間に、範囲［ｊ］を追加する。範囲［ｊ］が暫定範囲［ｉ］に含まれる場合には、範囲［ｉ］の幅と範囲［ｊ］の幅を等しく設定する。以上の工程により、距離検出範囲を密に配置することができ、面内空間分解能の高い距離分布を生成することができる。ここでは、距離検出範囲を付加しているが、Ｓ４０５において、距離検出範囲の数が多すぎる場合などは、適宜、範囲の数を減らすこともできる。被写体の一方の端部が、範囲［ｉ］に含まれなかった場合は、この増減処理により範囲［ｊ］をその端部が含まれるように設定する。ステップＳ４０５を経ても、距離検出範囲の数が増減しない場合もありうる。
【００２１】
ステップＳ４０６では、Ｓ４０５にて設定した各距離検出範囲において、相関演算による像ズレ量ｒの算出を行う。像ズレ量ｒは数式１を用いて算出するが、Ｓ４０３とは数式１においてｐ、ｑの値が変わる。この像ズレ量ｒを、以下数式２の変換式により像側のデフォーカス量ΔＬに変換する。
ΔＬ＝ｒＬ／（ｗ−ｒ）・・数式２
ここで、Ｌは撮像素子１０２から射出瞳１０６までの距離であり、ｗは基線長である。なお、測距画素の画素感度３０１、３０２を、射出瞳１０８に射影し、それぞれの重心位置を算出する。この時の重心位置間の距離が基線長となる。像側のデフォーカス量を算出した後、必要に応じて、撮影レンズ１０１の焦点距離を介して物側のデフォーカス量及び被写体までの距離に変換してもよい。なお、ステップＳ４０５で距離検出範囲の数が変化しない場合は、Ｓ４０５にて設定した各距離検出範囲は、Ｓ４０４にて設定した各距離検出範囲と同じものである。
【００２２】
本実施例の距離検出装置１１０では、暫定距離検出範囲内の像ズレ量に基づき、距離検出範囲を適切に設定することにより、距離検出範囲を密に配置することができる。その結果、面内空間分解能の高い距離分布を生成することができる。
【００２３】
本実施例では、図４に示すフローチャートに沿って被写体までの距離を検出したが、図６に示すフローチャートに沿った処理を行ってもよい。図６において、Ｎは領域設定を行った回数である。ステップＳ６０２では、Ｓ４０４及びＳ４０５にて行った領域設定結果に基づき、像ズレ量の算出を行う。Ｓ６０３では、Ｓ４０３にて算出した暫定像ズレ量とＳ６０２にて算出した像ズレ量の差分が予め設定した閾値未満であるか又はＮが所定数より大きい場合には、Ｓ４０６の距離算出処理の工程へ進む。そうでない場合には、Ｓ６０４の工程にて暫定像ズレ量にＳ６０２にて算出した像ズレ量を代入する処理へ進む。複数回Ｓ４０４及びＳ４０５の工程を行うことで、より高い面内空間分解能の距離分布を生成することができる。また、領域設定を行う回数が過度に多くなって距離検出に時間がかかり過ぎるということも無くなる。
【００２４】
本実施例では、暫定領域設定工程Ｓ４０１の暫定距離検出範囲の中心と領域設定工程Ｓ４０４の距離検出範囲の中心位置が、一部において、異なるように、Ｓ４０４の距離検出範囲を設定したが、全ての中心位置が一致するように設定してもよい。また、例えば、図４のフローチャート中の暫定領域設定工程Ｓ４０１または領域設定工程Ｓ４０４を行う前に、被写体の像信号を用いてエッジ検出を行い、距離検出範囲の中心位置と被写体のエッジ部が一致するように距離検出範囲を配置してもよい。エッジ部を中心に距離検出範囲を設定することで、得られた画像に対する任意のボケ付加処理、リフォーカス処理等の画像処理時に、問題となるエッジ部の処理をより適切に行うことができ、自然な画像処理を施すことができる。
【００２５】
本実施例では、図２に示すように１画素中に光電変換部を２つ有する撮像素子１０２を用いたが、図７に示すように１画素中に光電変換部を１つ有する撮像素子１０２を用いてもよい。図７（ａ）及び（ｂ）は、撮像素子１０２に含まれる一部画素のｘｚ断面図である。画素７０１Ａ及び７０１Ｂは、画素の一部が遮光部７０３で遮光されている。遮光部７０３で画素の一部を遮光することにより、光電変換部７０４Ａは第１の射出瞳１０７からの光束を、光電変換部７０４Ｂは第２の射出瞳１０８からの光束の被写体像を取得することができる。
【００２６】
（実施例２）
次に、実施例１とは被写体が異なる場合に適した距離検出範囲設定法を採用した実施例２について説明する。本実施例では、図８（ａ）に示すように、徐々に被写体輝度が変化する被写体８０１について説明する。図８（ｂ）は被写体８０１をｙ方向から見た図であり、＋ｘ方向に向かってピント面８０３から徐々に遠ざかるように被写体８０１が配置されている。本実施例でも、図４に示すフローチャートに沿って説明する。図８（ｃ）〜（ｅ）は、図５（ｃ）〜（ｅ）と同様に被写体像信号を示している。
【００２７】
ステップＳ４０１では、予め暫定距離検出範囲を等間隔に設定し、図８（ｃ）の暫定範囲［ｉ］〜［ｉ＋２］のように配置している。Ｓ４０２では、被写体のＡ像とＢ像を取得し、距離検出部１０３に伝送する。Ｓ４０３では、上記数式１を用いて相関演算を行い、各暫定距離検出範囲の像ズレ量を算出する。Ｓ４０４では、各暫定距離検出範囲の像ズレ量に基づき、図８（ｄ）に示すように、距離検出範囲である範囲［ｉ］〜［ｉ＋２］の幅を設定する。また、距離検出範囲の中心位置は暫定距離検出範囲の中心位置と等しくなるように配置している。
【００２８】
領域付加処理の工程であるＳ４０５では、図８（ｅ）に示すように、範囲［ｉ］と［ｉ＋１］の間に範囲［ｊ］を付加し、範囲［ｉ＋１］と範囲［ｉ＋２］の間に範囲［ｊ＋１］を付加する処理を行うことにより、距離検出範囲の数を増やす。付加する距離検出範囲の幅は、両側に隣接する距離検出範囲の幅を比較し、大きい方の幅に合わせて設定する。大きい方の幅に合わせることで、距離検出範囲が狭いことに起因する距離検出エラーを防ぐことができる。また、範囲［ｊ＋１］のように、範囲［ｉ＋１］及び範囲［ｉ＋２］と一部が重複するように距離検出範囲を設定しても構わない。Ｓ４０６では、Ｓ４０５までに設定した各距離検出範囲において、距離検出を行う。
【００２９】
本実施例の距離検出装置１１０では、暫定距離検出範囲内の像ズレ量に基づき、距離検出範囲を適切に設定することにより、距離検出範囲を密に配置することができる。その結果、面内空間分解能の高い距離分布を生成することができる。
【００３０】
（他の実施形態）
本発明の目的は、以下の実施形態によって達成することもできる。即ち、前述した実施形態の機能（演算手段などの機能）を実現するソフトウェアのプログラムコードを格納した記憶ないし記録媒体を、距離検出装置に供給する。そして、その演算部のコンピュータ（またはＣＰＵ、ＭＰＵなど）が記憶媒体に格納されたプログラムコードを読み出し上記機能を実行する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラム、これを格納した記憶媒体は本発明を構成することになる。
【００３１】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も本発明に含まれる。更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も本発明に含まれる。本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００３２】
本発明のデジタルカメラなどへの適用を考えると、本発明は、被写体像を撮像する撮像部とは別に距離検出を専用で行う距離検出装置（一眼レフカメラ等で用いられる）よりも、撮像部を用いて距離検出をも行う所謂撮像面測距に好適な装置と捉えることができる。上述した様に、本発明の距離検出装置における演算部は、半導体素子を集積化した集積回路を用いて構成することができ、ＩＣ、ＬＳＩ、システムＬＳＩ、マイクロ処理ユニット（ＭＰＵ）、中央演算装置（ＣＰＵ）等で構成することができる。演算部をマイクロ処理ユニットや中央演算装置（ＣＰＵ）等で構成する場合には、演算部は、コンピュータとして捉えることが可能である。本発明のプログラムは、所定の結像光学系と、所定の撮像部、コンピュータと、を備えた撮像装置のコンピュータにインストールすることによって、撮像装置を高精度の距離検出が可能なものとなすことができる。本発明のプログラムは、記録媒体の他、インターネットを通じて頒布することも可能である。
【００３３】
本発明により検出される距離を用いて、撮像装置にて得られる画像と対応する距離分布（距離マップ）を生成することができる。また、画像内の被写体のボケ量はデフォーカス量に依存するので、得られた画像に対して距離分布に基づく処理を行うことで、任意のボケ付加処理、撮影後のリフォーカス処理（任意の位置にピントを合わせる処理）等の画像処理などを適切に行うことができる。
【符号の説明】
【００３４】
１００・・デジタルカメラ（撮像装置）、１１０・・距離検出装置、１０１・・撮影レンズ（結像光学系）、１０２・・撮像素子（撮像手段）、１０３・・距離検出部（距離検出手段）、１０４・・演算部（演算手段）、１０５・・被写体、１０６・・射出瞳、１０７・・第１の瞳領域、１０８・・第２の瞳領域、１２０・・焦点位置
【図１】
2014074891.tif 000004
【図２】
2014074891.tif 000005
【図３】
2014074891.tif 000006
【図４】
2014074891.tif 000007
【図５】
2014074891.tif 000008
【図６】
2014074891.tif 000009
【図７】
2014074891.tif 000010
【図８】
2014074891.tif 000011