(57)【要約】【課題】少ない演算量で高精度なズレ量取得を行う。【解決手段】ズレ量取得装置は、第１の画像に基づく所定の画素間隔の複数の画素の画像信号を含む第１の信号と、第２の画像に基づく前記所定の画素間隔の複数の画素の画像信号を含む第２の信号と、の間の前記相関量のデータ列である第１のデータ列を取得し、前記第１のデータ列の極値を与える変位量が前記閾値よりも小さいとき、前記第２の画像に基づく画像信号であって、前記所定の画素間隔の複数の画素の画像信号を含み、前記第２の信号とは異なる位置の画素において取得される信号に相当する第３の信号と、前記第１の信号と、の間の前記相関量のデータ列である第２のデータ列を取得する相関演算手段と、前記第１のデータ列と前記第２のデータ列に含まれるデータから求められる変位量と相関量の関係を表す近似関数の極値を与える変位量を、前記ズレ量として取得するズレ量取得手段と、を備える。【選択図】図５
2017083817.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素を含む撮像素子で取得された視点の異なる第１の画像と第２の画像との相対的な位置のズレ量を取得するズレ量取得装置であって、
２つの画像信号を相対的に変位させたときの、各変位量に対する相関量のデータ列を取得する相関演算手段と、
相関量のデータ列から前記第１の画像と前記第２の画像の間の前記ズレ量を取得するズレ量取得手段と、
を備え、
前記相関演算手段は、
前記第１の画像に基づく画像信号であって、所定の画素間隔の複数の画素の画像信号を含む第１の信号と、前記第２の画像に基づく画像信号であって、前記所定の画素間隔の複数の画素の画像信号を含む第２の信号と、の間の前記相関量のデータ列である第１のデータ列を取得し、
前記第１のデータ列の極値を与える変位量が閾値よりも小さいとき、前記第２の画像に基づく画像信号であって、前記所定の画素間隔の複数の画素の画像信号を含み、前記第２の信号とは異なる位置の画素において取得される信号に相当する第３の信号と、前記第１の信号と、の間の前記相関量のデータ列である第２のデータ列を取得し、
前記ズレ量取得手段は、
前記第１のデータ列の極値を与える変位量が前記閾値よりも小さいとき、前記第１のデータ列と前記第２のデータ列に含まれるデータから求められる変位量と相関量の関係を表す近似関数の極値を与える変位量を、前記ズレ量として取得する、
ことを特徴とするズレ量取得装置。
【請求項２】
前記ズレ量取得手段は、
前記変位量が前記閾値よりも大きいとき、前記第２のデータ列を用いずに前記第１のデータ列から前記ズレ量を取得する、
ことを特徴とする請求項１に記載のズレ量取得装置。
【請求項３】
前記ズレ量取得手段は、前記第１のデータ列と前記第２のデータ列に含まれるデータのうち、相関量が極値をとるデータと当該極値を与える変位量の近傍のデータとを用いて、前記ズレ量を取得する、
請求項１または２に記載のズレ量取得装置。
【請求項４】
前記相関演算手段は、前記第１のデータ列の極値を与える変位量とその近傍の変位量のみについて、前記第２のデータ列を取得する、
請求項３に記載のズレ量取得装置。
【請求項５】
前記第３の信号は、前記第２の信号が取得される画素の位置から、前記所定の画素間隔の０．５倍だけ異なる位置で取得される信号に相当する画像信号である、
請求項１から４のいずれか１項に記載のズレ量取得装置。
【請求項６】
前記第２の信号から演算によって前記第３の信号を生成する信号生成手段を、さらに備える、
請求項１から５のいずれか１項に記載のズレ量取得装置。
【請求項７】
前記第２の信号は、前記撮像素子の一部の画素から読み出された画像信号を含み、
前記第３の信号は、前記撮像素子の前記一部の画素とは異なる画素から読み出された画像信号を含む、
請求項１から５のいずれか１項に記載のズレ量取得装置。
【請求項８】
前記第１のデータ列の極値と該第１のデータ列の該極値の近傍の変位量に対応する相関量との差が閾値より小さいとき、前記相関演算手段は前記第２のデータ列を取得し、前記ズレ量取得手段は前記第１のデータ列と前記第２のデータ列に基づいて前記ズレ量を取得し、
前記第１のデータ列の極値と該第１のデータ列の該極値の近傍の変位量に対応する相関量との差が前記閾値以上のとき、前記ズレ量取得手段は、前記第２のデータ列を用いずに前記第１のデータ列から前記ズレ量を取得する、
請求項１から７のいずれか１項に記載のズレ量取得装置。
【請求項９】
前記第１のデータ列の極値を該第１のデータ列の該極値の近傍の変位量に対応する相関量で除算した値が閾値より小さいとき、前記相関演算手段は前記第２のデータ列を取得し、前記ズレ量取得手段は前記第１のデータ列と前記第２のデータ列に基づいて前記ズレ量を取得し、
前記第１のデータ列の極値を該第１のデータ列の該極値の近傍の変位量に対応する相関量で除算した値が前記閾値以上のとき、前記ズレ量取得手段は、前記第２のデータ列を用いずに前記第１のデータ列から前記ズレ量を取得する、
請求項１から７のいずれか１項に記載のズレ量取得装置。
【請求項１０】
前記ズレ量から被写体の距離情報を取得する距離取得部をさらに備える、
請求項１から９のいずれか１項に記載のズレ量取得装置。
【請求項１１】
前記第１の画像と前記第２の画像を取得する画像取得手段と、
請求項１から１０のいずれか１項に記載のズレ量取得装置と、
を備えることを特徴とする撮像装置。
【請求項１２】
前記画像取得手段は、結像光学系の射出瞳の第１の瞳領域を通過した光束に対応する第１の画像信号と、前記射出瞳の前記第１の瞳領域とは異なる第２の瞳領域を通過した光束に対応する第２の画像信号とを取得する画素で構成された撮像素子を有する、
請求項１１に記載の撮像装置。
【請求項１３】
前記画像取得手段は、前記第１の画像信号を取得するための第１の結像光学系と第１の撮像素子を含む第１の撮像手段と、前記第２の画像信号を取得するための第２の結像光学系と第２の撮像素子を含む第２の撮像手段とを有する、
請求項１１に記載の撮像装置。
【請求項１４】
複数の画素を含む撮像素子で取得された視点の異なる第１の画像と第２の画像との相対的な位置のズレ量を取得する、ズレ量取得装置によって実行されるズレ量取得方法であって、
前記第１の画像に基づく画像信号であって、所定の画素間隔の複数の画素の画像信号を含む第１の信号と、前記第２の画像に基づく画像信号であって、前記所定の画素間隔の複数の画素の画像信号を含む第２の信号と、の間の相関量のデータ列である第１のデータ列を取得する工程と、
前記第１のデータ列の極値を与える変位量が閾値よりも小さいとき、前記第２の画像に基づく画像信号であって、前記所定の画素間隔の複数の画素の画像信号を含み、前記第２の信号とは異なる位置の画素において取得される信号に相当する第３の信号と、前記第１の信号と、の間の相関量のデータ列である第２のデータ列を取得する工程と、
前記第１のデータ列の極値を与える変位量が前記閾値よりも小さいとき、前記第１のデータ列と前記第２のデータ列に含まれるデータから求められる変位量と相関量の関係を表す近似関数の極値を与える変位量を、前記ズレ量として取得する工程と、
を含むことを特徴とするズレ量取得方法。
【請求項１５】
請求項１４に記載の方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ズレ量取得装置、撮像装置、およびズレ量取得方法に関する。
【背景技術】
【０００２】
デジタルスチルカメラやビデオカメラで複数の視点から撮影した画像信号を用いて距離を検出する手法が知られている（非特許文献１）。また、撮像素子の一部あるいは全部の画素に測距機能を有する測距画素を配置したカメラで撮影した画像信号より測距を行う手法が知られている（特許文献１）。一対のステレオ画像信号の相対的な位置のズレ量を算出し、三角測量により被写体までの距離を測定することができる。
【０００３】
一対の画像信号のズレ量が、画像信号を構成するデータの間隔（画素間隔）と異なるとき、測距精度が低下することが知られている。非特許文献１には、位置ズレ量の算出誤差を低減し、測距精度を向上させる手法が提案されている。具体的には、ステレオ画像の一方の画像信号から、撮像素子上の互いに異なる位置で取得した画像信号に相当する２つの画像信号を生成する。そして、２組のステレオ画像信号からそれぞれズレ量を算出し、両ズレ量を平均することで最終的なズレ量を算出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３１４０６２号公報
【特許文献２】米国特許第７５９９５１２号明細書
【特許文献３】米国特許第８７２３９２６号明細書
【非特許文献】
【０００５】
【非特許文献１】Masao Shimizu and Masatoshi Okutomi, "Sub-Pixel Estimation Error Cancellation on Area-Based Matching", International Journal of Computer Vision, Vol. 63, No. 3, pp. 207-224, 2005
【発明の概要】
【発明が解決しようとする課題】
【０００６】
非特許文献１に記載の手法は、前述の２組の画像信号を用いることで、互いに逆方向かつ同程度の誤差を含む２つのズレ量が取得できることを利用している。２つのズレ量がこの条件を満たす場合には、これらのズレ量を平均することでズレ量の取得誤差が低減する。
【０００７】
しかしながら、ズレ量の誤差は、一対の画像信号のズレ量に応じて変化する。ズレ量が画像信号を構成するデータの間隔の整数倍あるいは半整数倍となるとき、２つのズレ量のうちの一方の誤差が非常に増大する。そのため、平均による改善効果が減少し、ズレ量の取得精度が低下し、測距精度が低下する。また、従来の手法では２組の画像信号について、それぞれズレ量の取得を行うため、演算負荷が大きくなる。
【０００８】
本発明は、上記課題に鑑み、少ない演算負荷で高精度な像ズレ量取得が可能なズレ量取得装置、距離検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の態様は、複数の画素を含む撮像素子で取得された視点の異なる第１の画像と第２の画像との相対的な位置のズレ量を取得するズレ量取得装置であって、
２つの画像信号を相対的に変位させたときの、各変位量に対する相関量のデータ列を取得する相関演算手段と、
相関量のデータ列から前記第１の画像と前記第２の画像の間の前記ズレ量を取得するズレ量取得手段と、
を備え、
前記相関演算手段は、
前記第１の画像に基づく画像信号であって、所定の画素間隔の複数の画素の画像信号を含む第１の信号と、前記第２の画像に基づく画像信号であって、前記所定の画素間隔の複数の画素の画像信号を含む第２の信号と、の間の前記相関量のデータ列である第１のデータ列を取得し、
前記第１のデータ列の極値を与える変位量が閾値よりも小さいとき、前記第２の画像に基づく画像信号であって、前記所定の画素間隔の複数の画素の画像信号を含み、前記第２の信号とは異なる位置の画素において取得される信号に相当する第３の信号と、前記第１の信号と、の間の前記相関量のデータ列である第２のデータ列を取得し、
前記ズレ量取得手段は、
前記第１のデータ列の極値を与える変位量が前記閾値よりも小さいとき、前記第１のデータ列と前記第２のデータ列に含まれるデータから求められる変位量と相関量の関係を表す近似関数の極値を与える変位量を、前記ズレ量として取得する、
ことを特徴とする。
【００１０】
本発明の第２の態様は、複数の画素を含む撮像素子で取得された視点の異なる第１の画像と第２の画像との相対的な位置のズレ量を取得する、ズレ量取得装置によって実行されるズレ量取得方法であって、
前記第１の画像に基づく画像信号であって、所定の画素間隔の複数の画素の画像信号を含む第１の信号と、前記第２の画像に基づく画像信号であって、前記所定の画素間隔の複数の画素の画像信号を含む第２の信号と、の間の前記相関量のデータ列である第１のデータ列を取得する工程と、
前記第１のデータ列の極値を与える変位量が閾値よりも小さいとき、前記第２の画像に基づく画像信号であって、前記所定の画素間隔の複数の画素の画像信号を含み、前記第２の信号とは異なる位置の画素において取得される信号に相当する第３の信号と、前記第１の信号と、の間の前記相関量のデータ列である第２のデータ列を取得する工程と、
前記第１のデータ列の極値を与える変位量が前記閾値よりも小さいとき、前記第１のデータ列と前記第２のデータ列に含まれるデータから求められる変位量と相関量の関係を表す近似関数の極値を与える変位量を、前記ズレ量として取得する工程と、
を含むことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、少ない演算負荷で高精度な像ズレ量取得が可能となる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る距離検出装置を有する撮像装置の一例を示す模式図
【図２】測距画素の感度特性と瞳領域を説明する図
【図３】本実施形態に係る距離検出方法のフローの一例を示す図
【図４】本実施形態に係る距離検出方法の画像信号の一例を示す図
【図５】本実施形態に係る距離検出方法のデータ列の一例を示す図
【図６】従来の距離検出方法の例を説明する図
【図７】本実施形態に係る距離検出方法の原理を示す図
【図８】本実施形態に係る距離検出方法の効果を示す図
【図９】本実施形態に係る距離検出装置を有する撮像装置の一例を示す模式図
【図１０】本実施形態に係る距離検出方法のフローの一例を示す図
【発明を実施するための形態】
【００１３】
視差のある２つの画像から相対的な位置のズレ量を取得して、当該ズレ量に基づいて被写体の距離を検出する距離検出装置（ズレ量取得装置）の一実施形態を説明する。なお、以下の説明では、本発明の実施形態に係る距離検出装置を備えた撮像装置の一例として、デジタルスチルカメラを用いて説明するが、本発明の適用はこれに限定されるものではない。例えば、本発明に係る距離検出装置は、デジタルビデオカメラやデジタル距離計測器などにも適用することができる。
【００１４】
なお、図を参照した説明においては、図番は異なっても原則として同一部位を示す部位には、同一の符号を付すこととし、なるべく重複した説明は避ける。
【００１５】
＜距離検出装置＞
図１（ａ）は、本実施形態に係る距離検出装置４０を有する撮像装置の模式図である。この撮像装置は、距離検出装置４０の他に、撮像素子１０と結像光学系２０と記録装置３０とを有する。さらに、撮像装置は、結像光学系２０の合焦のための駆動機構、シャッター、観賞用画像生成手段、画像確認用の液晶等のディスプレイ等を有している。
【００１６】
図１（ｂ）は、撮像素子１０の一例を示す模式図である。撮像素子１０は、光電変換部１１、１２を含む測距画素１３を複数有している（以下、測距画素のことを単に画素とも称する）。具体的には、ＣＭＯＳセンサ（相補型金属酸化物半導体を用いたセンサ）や、ＣＣＤセンサ（電荷結合素子を用いたセンサ）等の固体撮像素子を撮像素子１０として用いることができる。
【００１７】
図１（ｃ）は、画素１３の一例を示す断面模式図である。画素１３の光電変換部１１、１２は基板１４内に形成されている。画素１３はマイクロレンズ１５を有している。マイクロレンズ１５は、射出瞳２１と光電変換部１１、１２とが光学的に共役関係になるように配置されている。
【００１８】
図１（ａ）に示すように、結像光学系２０は、外界の被写体の像を撮像素子１０の面上に結像する。撮像素子１０は、結像光学系２０の射出瞳２１を透過した光束を、マイクロレンズ１５を介して画素１３の光電変換部１１または光電変換部１２で取得し、電気信号に変換する。具体的には、射出瞳２１の第１の瞳領域２３（図２（ｂ））を通過した光束は各画素１３の光電変換部１１で電気信号に変換される。また、射出瞳２１の第１の瞳領域とは異なる第２の瞳領域２４（図２（ｃ））を通過した光束は各画素１３の光電変換部１２で電気信号に変換される。画素１３は、電気信号を距離検出装置４０に出力するために、フローティングディフュージョン（ＦＤ）部、ゲート電極、配線等を備えている。
【００１９】
撮像素子１０の全画素が測距画素１３であってよい。あるいは、撮像素子１０は、単一の光電変換部を有する画素と測距画素１３とを有してもよい。画素１３の複数の光電変換部１１、１２で取得した信号を合算することで、単一の光電変換部を有する場合と同等の画像信号を作成することができる。あるいは、撮像素子１０は、第１の瞳領域２３を通過した光束を受光する光電変換部１１のみを含む画素と、第２の瞳領域２４を通過した光束を受光する光電変換部１２のみを含む画素とを有してもよい。なお、画素１３は、撮像素子１０の中で離散的に配置されていてもよく、Ｘ方向とＹ方向で異なる間隔で配置されていてもよい。
【００２０】
距離検出装置４０は、結像光学系２０の射出瞳２１の第１の瞳領域２３を通過した光束に対応する第１の信号Ｓ１と、第２の瞳領域２４を通過した光束に対応する第２の信号Ｓ２と、に基づき、被写体の距離を算出する機能を有している。具体的には、距離検出装置
４０は、信号生成部４１、相関演算部４２、ズレ量算出部４３、距離算出部４４、の各機能部を備える。例えば、ＣＰＵ、メモリを含む信号処理基板で構成され、ＣＰＵがプログラムを実行することによりこれらの機能が実現される。信号処理基板は、半導体素子を集積化した集積回路を用いて構成することができ、ＩＣ、ＬＳＩ、システムＬＳＩ、マイクロ処理ユニット（ＭＰＵ）、中央演算装置（ＣＰＵ）等で構成することができる。
【００２１】
第１の信号Ｓ１は、各画素１３の光電変換部１１で生成された各電気信号の集合である。第１の信号Ｓ１において、各画素１３の撮像素子上の位置と各画素１３の光電変換部１１で生成された各電気信号とが対応付けられている。また、第２の信号Ｓ２は、各画素１３の光電変換部１２で生成された各電気信号の集合である。第２の信号Ｓ２において、各画素１３の撮像素子上の位置と各画素の光電変換部１２で生成された各電気信号とが対応付けられている。画素１３の光電変換部１１、１２で取得した信号を合算することで、単一の光電変換部を有する場合と同等の画像信号を作成することができる。
【００２２】
本実施形態においては、画素１３の大きさに対して、結像光学系２０と撮像素子１０の間の距離が十分に長い。このため、結像光学系２０の射出瞳２１上の異なる位置を通過した光束は、異なる入射角の光束として撮像素子１０の面上に入射する。光電変換部１１、１２には、射出瞳２１の形状や像高（光束が到達する撮像素子上の位置）に応じて、所定の角度範囲２２（図１（ａ））からの光束が入射する。
【００２３】
入射光束に対する光電変換部１１、１２の感度特性を、角度に応じて射出瞳上に射影したときの射出瞳上の感度分布を瞳透過率分布という。このときの瞳透過率分布の重心位置を瞳重心という。瞳重心は、以下の式（１）で算出することができる。式（１）において、ｒは射出瞳２１上の座標であり、ｔは光電変換部１１、１２の瞳透過率分布を表し、積分範囲は射出瞳２１上の領域である。
【数１】
2017083817.tif 000003
【００２４】
また、光電変換部で受光される光束が通過する射出瞳２１上の領域のうち、瞳重心を含み、対応する光電変換部の感度が所定の閾値よりも高い領域を瞳領域という。また、２つの瞳領域の瞳重心を結ぶ方向を瞳分割方向といい、瞳重心間の長さを基線長という。本実施形態においては、瞳分割方向はｘ方向であり、この方向を第１の方向とし、ｘ方向に垂直なｙ方向を第２の方向とする。このような構成により、互いに異なる視点からの被写体の画像信号Ｓ１とＳ２を取得することができる。画像信号Ｓ１とＳ２には視差があり、被写体像の位置がずれるので、このズレ量から被写体の距離を検出することができる。
【００２５】
また、本実施形態では、結像光学系２０の結像面と撮像素子１０の受光面との光軸方向（ｚ方向）におけるズレ量をデフォーカス量と呼ぶ。
【００２６】
図２（ａ）は、ｘｚ平面内において入射した光束に対する、光電変換部１１の感度特性１６と光電変換部１２の感度特性１７を示す。横軸は、ｘｚ平面内における入射光束とｚ軸が成す角度を示し、縦軸は感度を表している。
【００２７】
図２（ｂ）は、結像光学系２０の射出瞳２１、および光電変換部１１に対応する瞳透過率分布２５と瞳重心２７と瞳領域２３（第１の瞳領域）を示した図である。瞳領域２３は、射出瞳２１の中心から＋ｘ方向（第１の方向）に偏心した瞳領域である。各画素１３の光電変換部１１は、主として瞳領域２３を通過した光束を受光するように構成されている
。この構成により、瞳領域２３を通過した光束に対応する第１の信号Ｓ１が得られる。
【００２８】
図２（ｃ）は、結像光学系２０の射出瞳２１、および光電変換部１２に対応する瞳透過率分布２６と瞳重心２８と瞳領域２４（第２の瞳領域）を示した図である。瞳領域２４は、射出瞳２１の中心から−ｘ方向（第２の方向）に偏心した瞳領域である。各画素１３の光電変換部１２は、主として瞳領域２４を通過した光束を受光するように構成されている。この構成により、瞳領域２４を通過した光束に対応する第２の信号Ｓ２が得られる。
【００２９】
＜距離検出方法＞
図３は、距離検出装置４０が行う、被写体までの距離を検出する距離検出方法のフローチャートの一例である。この距離検出方法は、信号生成工程（ステップＳ１０）と相関演算工程（ステップＳ１１）とズレ量算出工程（ステップＳ１２）と距離算出工程（ステップＳ１３）を有する。
【００３０】
図４（ａ）〜４（ｃ）は各信号の一例を説明する図である。説明を簡便にするために、信号Ｓ１及びＳ２が図４（ａ）の撮像素子１０のある行１８で取得した一次元の信号である場合について説明する。図４（ｂ）は、信号Ｓ１、Ｓ２の例を示した図である。図の横軸は撮像素子１０上の位置、縦軸は信号の強度を表している。各点は信号を構成するデータを表している。ｎは各データの撮像素子１０上での位置を表すデータ番号であり、瞳分割方向（ｘ方向）に順に割り振られた任意の実数である。信号Ｓ１、Ｓ2は、行１８の各
画素１３の光電変換部で取得した電気信号からなり、画素１３の大きさと同じデータ間隔Ｐを有している。
【００３１】
［信号生成工程］
信号生成工程（Ｓ１０）では、信号生成部４１が、信号Ｓ２と同じデータ間隔を有し、Ｓ２とは撮像素子１０上の瞳分割方向において異なる位置で取得した信号に相当する信号Ｓ３を生成する。信号Ｓ３は、信号Ｓ２を取得した画素１３の間の位置１９（図４（ａ）参照）で取得した信号に相当する。信号Ｓ３は、例えば式（２）にしたがって、各データの周囲にある信号Ｓ２のデータ間を線形補間することで作成される。式（２）において、αは０より大きく１より小さい実数であり、信号Ｓ３と信号Ｓ２の各データの位置の瞳分割方向における距離を、データ間隔で規格化した係数である。
【数２】
2017083817.tif 000004
【００３２】
図４（ｃ）は信号Ｓ３の例を示す。図４（ｃ）において、信号Ｓ２のデータは黒丸、信号Ｓ３のデータは白丸で示される。
【００３３】
なお、信号Ｓ３は、信号Ｓ２のデータ間を非線形補間することで生成しても良い。また、信号Ｓ３を算出する位置の周囲にある３つ以上の信号Ｓ２のデータを用いて補間してもよい。
【００３４】
以下、本実施形態では、信号Ｓ３の位置が信号Ｓ２の各データの丁度中間とする（式（２）においてα＝０．５）。すなわち、信号Ｓ３は、信号Ｓ２を生成する画素１３から瞳分割方向に画素間隔の０．５倍だけずれた位置にある画素（仮想的な画素）から取得された画像信号に相当する。
【００３５】
[相関演算工程］
相関演算工程（Ｓ１１）では、相関演算部４２が、２組の信号（Ｓ１およびＳ２と、Ｓ１およびＳ３）から、相関量のデータ列Ｃ１２、Ｃ１３を算出する。データ列Ｃ１２及び
Ｃ１３は、各組の信号間の相対的な位置（変位量）を変えたときの、各変位量における一対の信号の類似度の度合いを表す相関量からなるデータ配列である（図５）。
【００３６】
データ列Ｃ１２は、信号Ｓ１とＳ２のｘ方向における相対的な位置を変えて相関量を演算することで求められる。データ列Ｃ１３は、信号Ｓ１とＳ３のｘ方向における相対的な位置を変えて相関量を演算することで求められる。変位量は、画素間隔の倍数とする。また、変位の方向は、光電変換部１１，１２に対応する瞳重心２７，２８を結ぶ方向であり、本実施形態ではｘ方向である。
【００３７】
相関量として、例えばＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）やＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅ  Ｄｉｆｆｅｒｅｎｃｅ）を用いることができる。相関量としてＳＡＤやＳＳＤを用いる場合は、相関量が小さいほど相関が高いことを意味する。
【００３８】
具体的には、データ列Ｃ１２は、式（３）や式（４）によって求めることができる。ここで、ｄはデータ間隔で規格化した変位量（整数）、添え字ｉとｊはそれぞれｘ方向とｙ方向のデータ番号であり、積分の範囲は任意に選ぶことができる。相関量の算出方法は、これらの手法に限定されるものではなく、他の手法を用いても良い。
【数３】
2017083817.tif 000005
【００３９】
なお、信号Ｓ３を取得する画素位置は、信号Ｓ１の取得を取得する画素の位置からｘ方向に画素間隔のα倍だけずれているので、データ列Ｃ１３は式（２）を考慮して以下の式（３’）や（４’）により表される。
【数４】
2017083817.tif 000006
【００４０】
［ズレ量算出工程］
ズレ量算出工程（Ｓ１２）では、ズレ量算出部４３が、データ列Ｃ１２とＣ１３を用いて信号Ｓ１とＳ２のズレ量Ｎａを算出する。
【００４１】
ズレ量算出部４３は、まず、データ列Ｃ１２とＣ１３を合成し、データ列Ｃ１２３を作成する。データ列Ｃ１２３は、整数ｎおよびｎ＋αの変位量に対して以下のように定義される。
Ｃ１２３（ｎ）＝Ｃ１２（ｎ）
Ｃ１２３（ｎ＋α）＝Ｃ１３（ｎ＋α）
【００４２】
図５は、データ列Ｃ１２３の例を示した図である。図の横軸はデータ間隔Ｐで規格化した変位量を表している。縦軸は相関量を表し、本実施形態では相関量が小さいほど相関が高いことを表している。図中の黒丸はデータ列Ｃ１２、白丸はデータ列Ｃ１３を表してい
る。データ列Ｃ１２とＣ１３とは、信号Ｓ２とＳ３の各データの撮像素子１０上の位置が異なる分だけ、互いにズレている。データ列Ｃ１２３は、データ列Ｃ１２とＣ１３の各々のデータを、各データを算出した変位量に応じて交互に配列したデータ列である。
【００４３】
ズレ量算出部４３は、次に、合成したデータ列Ｃ１２３を用いてズレ量を算出する。データ列Ｃ１２３のうち、最も高い相関を表す相関量をデータ列Ｃ１２３の極値と呼ぶ。ズレ量算出部４３は、データ列Ｃ１２３の極値を含む複数のデータを用いてズレ量を算出する。ズレ量算出に用いるデータは、データ列Ｃ１２３に含まれるデータのうち、極値をとるデータと、極値を与える変位量の近傍のデータとするとよい。
【００４４】
ここで、極値を与える変位量の近傍のデータとは、データ列Ｃ１２３の極値を与える変位量をｉ０としたときに、｜ｉ−ｉ０｜≦ｔｈを満たす変位量ｉについてのデータ（Ｃ１２３（ｉ））を意味する。ここで、ｔｈは近傍の範囲を決定するための閾値である。例えば、ｔｈ＝０．５（より一般的には、ｍａｘ（α，１−α））とすると、極値をとるデータに隣接する２つのデータが近傍のデータとなる。なお、極値を与える変位量の近傍のデータのことを、以下では単に、極値近傍のデータとも称する。
【００４５】
ズレ量の算出には公知の手法を用いることができる。例えば、米国特許第ＵＳ７５９９５１２号明細書に記載されているように、まず、極値近傍の所定数個の相関量（例えば図５ではＣ１２（１）、Ｃ１３（０．５）、Ｃ１３（１．５）の３個）を多項式で近似する。そして、多項式の極値を与える変位量（実数量）を信号Ｓ１と信号Ｓ２のズレ量Ｎａとして算出する。なお、近似関数として多項式以外の関数を採用してもよい。
【００４６】
なお、上記の手法によるズレ量Ｎａの算出は、多項式近似や極値算出を具体的に行うことなく、下記の式（５）を適用することで行える。式（５）において、Ｃ（０）はデータ列Ｃ１２３の極値、Ｃ（−１）およびＣ（＋１）はＣ（０）の極値の隣の相関量、Ｎ０はＣ（０）に対応する変位量を表している。
【数５】
2017083817.tif 000007
【００４７】
式（５）を用いて、変位量と相関量の関係を表す近似関数の極値を与える変位量をズレ量Ｎａとして求めることができる。
【００４８】
ズレ量Ｎａの算出手法の別の例は、米国特許第８７２３９２６号明細書に記載されているように、極値と極値の隣のデータを結ぶ直線の傾きから算出する手法である。例えば、式（６）を適用することでズレ量を算出することができる。なお、Ｃ１はＣ（−１）とＣ（＋１）のうち相関量が高い方の相関値を表している。
【数６】
2017083817.tif 000008
【００４９】
式（６）を用いる算出方法も、変位量と相関量の関係を表す近似関数の極値を与える変位量をズレ量Ｎａとして求めていると捉えられる。
【００５０】
ズレ量Ｎａは他の手法を用いて算出しても良い。相関量の演算に用いた手法に応じて、適切な方法でズレ量を算出すれば良い。
【００５１】
なお、上記ではデータ列Ｃ１２３を生成すると説明しているが、実際にデータ列Ｃ１２３を生成する（すなわち、データ列Ｃ１２やＣ１３と異なる配列を記憶装置に用意しデータを新たに格納する）必要はない。上記で説明した処理は、データ列Ｃ１２およびＣ１３からデータを適宜取得して利用することで実現可能である。例えば、ズレ量Ｎａは、以下のようにして求めることができる。データ列Ｃ１２とＣ１３のそれぞれの極値を求め、両極値を比較することで、データ列Ｃ１２３の極値に相当する相関量を求める。そして、データ列Ｃ１２およびＣ１３から極値近傍の変位量と相関の関係を抽出し、前述の方法でズレ量を算出する。
【００５２】
［距離算出工程］
距離算出工程（Ｓ１３）では、距離算出部（距離取得部）４４が、ステップＳ１２で算出したズレ量Ｎａに基づいて距離情報を算出する。より具体的には、距離算出部４４は、ズレ量Ｎａからデフォーカス量を求め、デフォーカス量と結像光学系２０の結像関係とから被写体の距離を算出する。例えば、デフォーカス量ΔＬは、以下の式（７）により算出することができる。
【数７】
2017083817.tif 000009
ここで、ＮａはステップＳ１２で算出したズレ量であり、Ｋａはズレ量を距離に変換するための変換係数である。
【００５３】
デフォーカス量は結像光学系の結像関係を用いて実空間における被写体までの距離に容易に変更可能であるため、デフォーカス量は被写体までの距離情報であると捉えることができる。距離算出部４４は、被写体までの距離情報として、デフォーカス量を出力してもよいし、実空間における距離を出力してもよい。距離算出部４４が出力する距離情報は、フォーカス位置から被写体までの距離（相対距離）であってもよいし、撮影時の撮像装置から被写体までの距離（絶対距離）であってもよい。また、絶対距離あるいは相対距離は、像面側での距離、物体側での距離のどちらであってもよい。また、距離は、実空間の距離で表されてもよいし、デフォーカス量やズレ量など実空間の距離に換算できる量で表されてもよい。
【００５４】
このような距離検出方法により、少ない演算負荷で、被写体の距離を高精度に算出することができる。
【００５５】
＜原理＞
本手法により、少ない演算負荷で、被写体の距離を高精度に算出できる原理を述べる。
【００５６】
本手法では、一対の画像信号（Ｓ１とＳ２またはＳ１とＳ３）のズレ量が以下のようにして算出される。まず、一対の画像信号の相対的な位置（変位量）を変化させ、各位置で両画像信号の相関量を算出することで相関量のデータ列が算出される。相関量のデータ列の極値近傍のデータから、変位量と相関量の関係を表す所定の関数を求め、この近似関数の極値を与える変位量が、ズレ量Ｎａとして推定される。これにより、画像信号のデータ間隔よりも細かい精度でズレ量が算出される。以下の説明において、相関量のデータ列の近似に用いる関数を近似関数と呼ぶ。また、画像信号のズレ量及び相関演算における変位量は、画像信号のデータ間隔Ｐで規格化した量で説明する。
【００５７】
これに対して、従来の手法である非特許文献１では、以下のようにしてズレ量が算出される。まず、本実施形態の手法と同様に、ステレオ画像の一方の画像信号であり、撮像素子上の互いに異なる位置で取得した信号に相当する２つの画像信号（信号Ｓ２とＳ３に対
応）が生成される。次に、非特許文献１では、本手法とは異なり、各々の画像信号（Ｓ２とＳ３に対応）と、もう一方のステレオ画像信号（Ｓ１に対応）より各変位量に対する相関量のデータ列Ｃ１２、Ｃ１３が算出される。そして、データ列Ｃ１２、Ｃ１３からそれぞれ独立にズレ量Ｎａ１２、Ｎａ１３を推定し、これら２つのズレ量を平均することで最終的なズレ量Ｎａ（＝０．５×（Ｎａ１２＋Ｎａ１３））が算出される。
【００５８】
図６（ａ）（ｂ）（ｃ）は一対の画像信号の正解のズレ量ＮｃがそれぞれＮ、Ｎ＋０．２５、Ｎ＋０．５のときに算出される相関量のデータ列Ｃ１２と推定ズレ量Ｎａ１２の例を示した模式図である。Ｎは任意の整数とする。横軸は変位量を表している。縦軸は相関量を表し、下にいくほど相関が高いことを表している。
【００５９】
図中の黒点は相関量のデータ列Ｃ１２の各データを表している。実線Ｌ１は、データ列Ｃ１２の近似関数、破線Ｌ２は正解の関数を表している。正解の関数は、近似関数と同じ形の関数を用いて、関数の頂点が正解のズレ量Ｎｃとなる条件の元で求めた関数である。
【００６０】
縦線はそれぞれ正解のズレ量Ｎｃと推定されるズレ量Ｎａ１２を表している。通常、データ列Ｃ１２を結ぶ関数と近似関数とは異なる特性を有する関数であるため、近似関数には誤差が含まれる。この誤差は、データ列Ｃ１２が正解ズレ量Ｎｃ近傍のデータを含まないときほど大きくなる。正解ズレ量Ｎｃがデータ間隔Ｐの整数倍Ｎから遠ざかるにつれて近似関数の誤差が増大し、図６（ｂ）（ｃ）のように、正解ズレ量Ｎｃと推定ズレ量Ｎａ１２の差が増大する。
【００６１】
図６（ｄ）（ｅ）（ｆ）は、データ列Ｃ１３と推定されるズレ量Ｎａ１３の例を示した模式図である。図中の白点はＣ１３の各データを表している。図６（ｄ）は図６（ａ）と同様に正解ズレ量がＮ、図６（ｅ）は図６（ｂ）と同様に正解ズレ量がＮ＋０．２５、図６（ｆ）は図６（ｃ）と同様に正解ズレ量がＮ＋０．５のときに算出される相関量のデータ列を示した図である。
【００６２】
図６（ｂ）（ｅ）のように、正解ズレ量ＮｃがＮ＋０．２５のとき、２つの推定ズレ量Ｎａは、正解ズレ量Ｎｃを中心に互いに逆方向かつ同程度の誤差を含むため、平均すると推定ズレ量Ｎａの算出誤差が低減する。
【００６３】
しかしながら、図６（ａ）（ｄ）あるいは図６（ｃ）（ｆ）のように、正解ズレ量ＮｃがＮあるいはＮ＋０．５のときは、データ列Ｃ１２又はＣ１３のいずれか一方は、正解ズレ量Ｎｃ近傍のデータを含まないため、近似関数の誤差が増大する。２つのズレ量Ｎａ１２またはＮａ１３のうちの一方の誤差が増大するので、他方のデータ列が正解ズレ量Ｎｃ近傍のデータを含み誤差が少なくても、これら２つのズレ量を平均したズレ量Ｎａの算出誤差は大きくなる。また、各データ列Ｃ１２、Ｃ１３についてズレ量Ｎａ１２、Ｎａ１３の算出を行うため、演算負荷が大きくなる。
【００６４】
本実施形態にかかる距離検出装置４０は、データ列Ｃ１２とＣ１３を合成したデータ列Ｃ１２３を作成し、データ列Ｃ１２３の極値とその周囲のデータに対して近似関数を算出し、当該近似関数に基づいてズレ量Ｎａを算出する。図７（ａ）（ｂ）（ｃ）は、正解ズレ量ＮｃがそれぞれＮ、Ｎ＋０．２５、Ｎ＋０．５のときに算出されるデータ列Ｃ１２３と推定ズレ量Ｎａの例を示した模式図である。
【００６５】
正解ズレ量ＮｃがＮ＋０．２５のとき、データ列Ｃ１２とＣ１３は、互いに正解ズレ量Ｎｃを中心に反転したデータ列となる。データ列Ｃ１２３のうち極値周囲のデータに対する近似関数を算出すると、近似関数はデータ列Ｃ１２とＣ１３の間の特性を有する関数となる。したがって、近似関数から算出される推定ズレ量Ｎａは正解ズレ量Ｎｃ近傍の値と
なる（図７（ｂ））。
【００６６】
正解ズレ量ＮｃがＮあるいはＮ＋０．５のとき、データ列Ｃ１２３には、正解ズレ量Ｎｃ近傍のデータが含まれ、データ列Ｃ１２３は正解ズレ量Ｎｃの近傍で極値をとる。この変位量を含むデータ列Ｃ１２３に対して近似関数を算出することで、近似関数の誤差を低減することができる。この近似関数を用いることで、ズレ量の算出誤差を低減することができる（図７（ａ）、（ｃ））。
【００６７】
このように、データ列Ｃ１２、Ｃ１３を組み合わせたデータ列Ｃ１２３を用い推定ズレ量Ｎａを算出することで、画像信号Ｓ１とＳ２がどのようなズレ量を有している場合であっても従来よりも高精度にズレ量を算出することができる。
【００６８】
なお、信号Ｓ３は、信号Ｓ２の瞳分割方向における各データの中間の位置における信号であることが望ましい。すなわち、式（２）においてα＝０．５とすることが望ましい。こうすることで、正解ズレ量Ｎｃを与える変位量と、データ列Ｃ１２３において当該変位量に最も近いデータの変位量との間の差を、小さくすることができる。具体的にはα＝０．５とすることで、この差を常に０．２５よりも小さくすることができる。すなわち、画像信号が有する正解ズレ量によらずに、データ列Ｃ１２３は正解ズレ量Ｎｃの近傍の変位量に対する相関量のデータを得やすくなる。したがって、近似関数の誤差を小さくでき、前述の効果を最も得ることができる。
【００６９】
また、相関値のデータ列Ｃ１２とＣ１３を合成したデータ列Ｃ１２３を用いてズレ量ｄｃを算出することで、非特許文献１の手法と比べてズレ量の算出回数を減らすことができ、演算負荷を軽減することができる。
【００７０】
ズレ量の算出精度は、同じ正解ズレ量を有する様々な画像信号からズレ量を算出し、それらの標準偏差を求めることで評価できる。図８は、様々な画像信号についてズレ量を算出し、算出したズレ量の標準偏差を評価した結果を表す図である。図の横軸は設定したズレ量、縦軸は標準偏差を表している。破線Ｌ３は非特許文献１の手法を用いた場合、実線Ｌ４は本実施形態の手法を用いた場合の結果を表す線である。図８のように、本手法により、標準偏差が低減し、ズレ量の算出精度が向上することが分かる。
【００７１】
上記のような理由により、本実施形態の方法を用いることで、少ない演算負荷で、高精度なズレ量の算出が可能となる。
【００７２】
＜他の構成＞
本実施形態において、撮像素子１０は、図９（ａ）のように、一部のみに測距画素１３が配置され、その他の画素に単一の光電変換部５０を有する撮像専用の画素５１が配置された構成であってもよい。また、撮像素子１０は、図９（ｂ）のように、画素１３の光電変換部１１のみを含む画素と光電変換部１２のみを含む画素とが配置された構成でもよい。なお、画素１３は、Ｘ方向とＹ方向で異なる間隔で配置されていてもよい。また、撮像素子１０は、図９（ｃ）のように全画素に測距画素１３が配置され、距離検出装置４０は一部の画素５２（ハッチングを付した画素）で取得した信号を距離検出に用いても良い。いずれの構成においても、各光電変換部１１及び１２より信号Ｓ１及びＳ２を取得し、前述と同様の手法でズレ量を算出することで計算負荷が小さく、高精度な距離検出が可能となる。一部の画素で取得した信号を用いることで、ズレ量の算出に用いるデータ量を削減でき、計算負荷をより小さくすることができる。
【００７３】
信号生成工程Ｓ１０において、信号生成部４１が、信号Ｓ２を取得した画素１３とは異なる位置にある画素１３の光電変換部１２で生成された電気信号を読み出すことで、信号
Ｓ３を生成しても良い。例えば、図９（ｄ）において画素１３のうちの一部の画素５２の光電変換部１１，１２で取得した信号よりＳ１、Ｓ２を生成し、他の画素５３の光電変換部１２で取得した信号よりＳ３を生成することができる。信号Ｓ２から演算（補間）によってＳ３を生成する場合と比べて、より高精度な信号を得ることができ、より高精度に距離を検出することができる。
【００７４】
なお、本実施形態における撮像素子１０は、赤（Ｒ）、緑（Ｇ）、青（Ｂ）のそれぞれの波長を有する光に対して高い感度を有する画素（Ｒ画素、Ｇ画素、Ｂ画素）を配列した構成を有してもよい。この場合、測距画素１３はＲＧＢの各画素あるいは一部の画素に配置する。例えば、画像信号Ｓ１、Ｓ２はＲ、Ｇ、Ｂのいずれかの画素に配置した画素１３から取得した信号を用いて生成できる。あるいは互いに近傍にあるＲＧＢの各画素で取得した信号を加算あるいは輝度情報に変換することで、信号Ｓ１、Ｓ２を生成できる。いずれの信号を用いても、前述と同様の手法を用いることで、計算負荷が小さく、高精度にズレ量を算出することができ、より高精度な距離検出が可能となる。
【００７５】
＜距離検出方法の変形例１＞
ズレ量は、データ列Ｃ１２、Ｃ１３のうち、極値を与える変位量およびその近傍でのデータに基づいて算出される。したがって、データ列Ｃ１３はデータ列Ｃ１２の全範囲に対応するように生成する必要はない。ここでは、データ列Ｃ１３を一部の範囲内についてのみ生成して距離検出を行う方法を説明する。
【００７６】
本変形例では、相関演算工程（Ｓ１１）において、相関演算部４２が、次のようにデータ列Ｃ１２、Ｃ１３を算出する。まず、信号Ｓ１とＳ２のｘ方向における相対的な位置を変えて相関量を演算することでデータ列Ｃ１２を算出する。次に、相関演算部４２が、データ列Ｃ１２の極値を与える変位量を求め、この変位量を含む近傍の範囲をデータ列Ｃ１３の算出範囲として決定する。そして、相関演算部４２が、決定した範囲内でデータ列Ｃ１３を算出する。
【００７７】
ズレ量算出工程（Ｓ１２）では、データ列Ｃ１２３の極値近傍のデータを用いてズレ量を算出する。そのため、データ列Ｃ１３は、極値近傍の変位量に対するデータが必要となる。データ列Ｃ１２３の極値を与える変位量は、データ列Ｃ１２の極値を与える変位量かデータ列Ｃ１３の極値を与える変位量のいずれかであり、これらはいずれもほぼ等しい。したがって、データ列Ｃ１２の極値の近傍範囲は、データ列Ｃ１２３の極値の近傍範囲とほぼ等しい。データ列Ｃ１２を用いて高い相関が得られる変位量を予め把握し、この情報を元にデータ列Ｃ１３の算出範囲を決定し、データ列Ｃ１３を算出することで、不要な相関演算を低減し、計算負荷を更に軽減することができる。
【００７８】
＜距離検出方法の変形例２＞
正解ズレ量によっては、データ列Ｃ１３を考慮しなくてもデータ列Ｃ１２（信号Ｓ１とＳ２の相関）のみからズレ量あるいは距離を精度良く検出できる。本変形例では、まずデータ列Ｃ１２の算出を行い、その結果を元に、残りの工程を行うか判断する。
【００７９】
図１０は、本変形例に係る距離検出方法のフローチャートを示す。以下、図１０を参照して、本変形例にかかる距離検出方法を説明する。なお、図３と同一の符号が付された処理は、上記実施形態と同様であるため説明を省略する。
【００８０】
第１の相関演算工程（ステップＳ１７）では、相関演算部４２が、信号Ｓ１、Ｓ２よりデータ列Ｃ１２の算出を行う。具体的な算出方法は上述したとおりである。
【００８１】
次に、評価工程（ステップＳ１８）では、相関演算部４２が、データ列Ｃ１２を評価し
、正解ズレ量Ｎｃがデータ間隔の整数倍に近いかどうかを評価する。この評価は、例えば、データ列Ｃ１２の極値とその両隣のデータ（相関量）の大きさを比較することにより行える。正解ズレ量Ｎｃがデータ間隔の整数倍に近いとき、データ列Ｃ１２の極値は小さい値となり、両隣の相関量は大きな値となる。例えば、極値と両隣のデータの差が閾値よりも小さいとき、正解ズレ量Ｎｃが非整数倍であると判断することができる。あるいは、極値の両隣のデータを、極値で除算した値が閾値よりも小さいとき、正解ズレ量Ｎｃが非整数倍であると判断することができる。
【００８２】
評価工程Ｓ１８で正解ズレ量Ｎｃがデータ間隔の整数倍に近いと判断したときは、すなわち、データ列Ｃ１２における極値と両隣のデータの値の差または比が閾値以上のときは、第２のズレ量算出工程（ステップＳ１９）に進む。第２のズレ量算出工程Ｓ１９は、データ列Ｃ１２よりズレ量Ｎａを算出する工程であり、公知の手法でズレ量を算出する。具体的には、データ列Ｃ１２の極値近傍のデータを用いて、変位量と相関の関係を近似関数で近似し、この近似関数の極値を与える変位量をズレ量Ｎａとして求めればよい。
【００８３】
評価工程Ｓ１８で正解ズレ量Ｎｃがデータ間隔の非整数倍と判断される場合は、信号生成工程（ステップＳ１０）に進み、信号生成部４１が信号Ｓ３を生成する。そして、第２の相関演算工程（ステップＳ２０）において、相関演算部４２が、データ列Ｃ１３の算出を行い、ズレ量算出工程（ステップＳ１２）においてズレ量算出部４３が、データ列Ｃ１２とＣ１３に基づいてズレ量を算出する。距離算出工程Ｓ１３は前述と同様である。
【００８４】
正解ズレ量Ｎｃがデータ間隔の整数倍のときは、図６（ａ）に示すようにデータ列Ｃ１２のみから高精度にズレ量を算出することができる。したがって、評価工程Ｓ１８を設けることで、正解ズレ量Ｎｃがデータ間隔の整数倍に近いときは、データ列Ｃ１２のみを用いて高精度にズレ量を算出することができる。また、信号Ｓ３の生成や、データ列Ｃ１３の生成を省略できるので、演算負荷をさらに少なくすることができる。一方、正解ズレ量Ｎｃがデータ間隔の整数倍以外のときは、本発明の手法によって精度良くズレ量を算出できる。
【００８５】
＜距離検出方法の変形例３＞
上記の変形例２では、評価工程（ステップＳ１８）においてデータ列Ｃ１２から求まるズレ量がデータ間隔の整数倍に近いか否かを判断して、データ列Ｃ１３を生成するか否かを切り替えている。本変形例では、変形例２とは異なる評価方法によってデータ列Ｃ１３の生成要否を判断する。本変形例の処理は変形例２（図１０）とほぼ同様であるので、以下では、異なる部分を主に説明する。
【００８６】
本変形例では、図１０の評価工程（ステップＳ１８）において、データ列Ｃ１２を用いて正解ズレ量Ｎｃの大きさを評価する。この評価は、データ列Ｃ１２の極値を与える変位量の大きさを評価することで行える。この変位量が閾値よりも大きいとき、正解ズレ量Ｎｃは大きいと評価され、閾値よりも小さいとき、正解ズレ量Ｎｃは小さいと評価される。
【００８７】
評価工程Ｓ１８で正解ズレ量Ｎｃが大きいと判断した場合は、第２のズレ量算出工程（ステップＳ１９）に進み、データ列Ｃ１２に基づいてズレ量を算出する。評価工程Ｓ１８で正解ズレ量Ｎｃが小さいと判断される場合は、信号生成工程（ステップＳ１０）及び第２の相関演算工程（ステップＳ２０）及びズレ量算出工程（ステップＳ１２）に進み、データ列Ｃ１３も利用してズレ量を算出する。
【００８８】
上記（段落００５６）の説明において、データ列Ｃ１２を結ぶ関数と近似関数とが異なる特性を有する関数であるため、近似関数には誤差が含まれ、この誤差がズレ量の算出誤差の原因となることを述べた。この近似関数の誤差は、画像に高い空間周波数が含まれる
ほど誤差が大きくなる。正解ズレ量が大きいときは、デフォーカス量が大きく、画像に高周波の信号が含まれる可能性が低いため、この誤差が小さくなる。一方、正解ズレ量が小さいときは、デフォーカス量が小さく、画像に高周波の信号が含まれる可能性が高いため、この誤差が大きくなる。
【００８９】
したがって、評価工程Ｓ１８を設けることで正解ズレ量Ｎｃの大きさを評価し、正解ズレ量が大きいときは、データ列Ｃ１２のみから高精度にズレ量を算出することができる。また、正解ズレ量Ｎｃが小さいときは、前述と同様にデータ列Ｃ１２とＣ１３を用いて高精度にズレ量を算出することができる。また、正解ズレ量が大きいときに、信号Ｓ３の生成や、データ列Ｃ１３の生成を省略できるので、演算負荷をさらに少なくすることができる。
【００９０】
＜距離検出方法の変形例４＞
距離算出工程Ｓ１３では、例えば、式（８）のように、ズレ量Ｎｃと被写体距離Ｌを結びつける変換係数Ｋｂを用いて、被写体の距離Ｌを直接算出してもよい。
【数８】
2017083817.tif 000010
【００９１】
あるいは式（９）にしたがってデフォーカス量ΔＬを算出し、デフォーカス量ΔＬから被写体距離を算出してもよい。ここで、Ｋｃは変換係数、Ｈは射出瞳２１と撮像素子１０までの距離を表している。このような式を用いることにより、より高精度にデフォーカス量及び距離を算出することができる。
【数９】
2017083817.tif 000011
【００９２】
＜測距結果＞
本発明の距離検出装置の測距結果は、例えば、結像光学系の焦点検出に用いることができる。本発明の距離検出装置によって、高速かつ高精度に被写体の距離を測定することができ、被写体と結像光学系の焦点位置とのズレ量を知ることができる。結像光学系の焦点位置を制御することで、被写体に対して高速かつ高精度に焦点位置を合わせることができる。本実施形態の距離検出装置を備えてデジタルスチルカメラ、デジタルビデオカメラ等の撮像装置を構成でき、距離検出装置の距離検出結果に基づき、光学系の焦点検出を行うことができる。また、本発明の距離検出装置で、撮像素子１０上の複数の位置で距離を算出することで、距離マップを生成することができる。
【００９３】
＜その他の実施例＞
なお、ステレオ画像信号Ｓ１、Ｓ２を取得する画像取得手段は、上述の実施形態の構成に限定されるものではない。例えば、複数のカメラもしくは単体のカメラで異なる撮影位置から撮影することで、画像信号Ｓ１、Ｓ２を取得し、これらの画像信号のズレ量を算出し、距離の検出を行っても良い。例えば、２つの結像光学系と２つの撮像素子を有し、それぞれの撮像素子から視点の異なるステレオが像信号を取得する構成を採用可能である。このような構成でも、ステレオ画像信号を取得することができ、前述と同様の手法でズレ量を算出することで計算負荷が小さく、高精度なズレ量の算出が可能となり、高精度な距離検出が可能となる。
【００９４】
上述した実施形態では被写体までの距離を算出する例について示したが、ズレ量に対応する視差量（被写体方向の角度差）を検出する視差量検出装置にも本発明を提供すること
ができる。例えば、視差量検出装置では、ズレ量に基づいて、合焦位置近傍の被写体を画像から切り出すなどの処理を施すことができる。なお、視差量とは、２つの信号のズレ量であってもよく、またはそれらに関連した物理量であってもよい。
【００９５】
この視差量検出装置は、実施形態１の距離検出装置４０の距離算出部４４の代わりに、２つの信号のズレ量に対応する視差量を算出する視差量算出部を有する構成とすれば、その他の構成は距離検出装置４０と同じでよい。さらに、視差量検出装置は、視差量（ズレ量）に応じて、所定の視差量の被写体を画像から抽出する抽出部を有していてもよい。
【００９６】
視差量検出装置における視差量検出方法は、図３のフローチャートにおいて、距離算出工程Ｓ１３の代わりに視差量の算出工程を行うようにすれば、その他の処理工程は、図３と同じでよい。なお、視差量の算出は、信号のズレ量を算出してもよいし、それらに関連した物理量を算出するようにしてもよい。
【００９７】
この視差量検出装置も実施形態１の距離検出装置と同様に撮像装置の一部として用いることができる。
【００９８】
本発明は、距離検出装置や視差量検出装置の他にコンピュータプログラムをも包含する。本実施形態のコンピュータプログラムは、距離の算出あるいは視差量の算出のために、コンピュータに所定の工程を実行させるものである。
【００９９】
本実施形態のプログラムは、距離検出装置、視差量検出装置またはそのいずれかを備えるデジタルカメラ等の撮像装置のコンピュータにインストールされる。インストールされたプログラムがコンピュータによって実行されることで上記の機能が実現し、高速で高精度な距離検出、視差量検出が可能なものとすることができる。
【０１００】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０１】
４０  距離検出装置
４２  相関演算部
４３  ズレ量算出部
【図１】
2017083817.tif 000012
【図２】
2017083817.tif 000013
【図３】
2017083817.tif 000014
【図４】
2017083817.tif 000015
【図５】
2017083817.tif 000016
【図６】
2017083817.tif 000017
【図７】
2017083817.tif 000018
【図８】
2017083817.tif 000019
【図９】
2017083817.tif 000020
【図１０】
2017083817.tif 000021