(57)【要約】【課題】相関値の誤差を低減して、より高精度な視差量を取得すること。【解決手段】距離検出装置１０１は、撮像部によって視点の異なる複数の画像データを取得する。演算処理部１０５は取得された複数の画像データのうち、基準画像である第１の画像データの画像上で基準画像領域を設定し、参照画像である第２の画像データの画像上で参照画像領域を設定する。演算処理部１０５は基準画像領域と参照画像領域との相関演算を行い、参照画像領域を変更して得られる相関値群より視差量を算出する。演算処理部１０５は基準画像領域の視差方向の境界部における隣接画素の輝度変化値が閾値未満となるように基準画像領域の形状を決定し、当該基準画像領域の形状に対応する形状を有する参照画像領域との間で相関演算を行う。【選択図】  図１
2020021126.tif 000002
【特許請求の範囲】
【請求項１】
視点の異なる複数の画像データの画像処理を行う画像処理装置であって、
前記複数の画像データを取得する取得手段と、
前記取得手段によって取得された前記複数の画像データのうち、基準画像である第１の画像データの画像に基準画像領域を設定し、参照画像である第２の画像データの画像に参照画像領域を設定して、前記基準画像領域と前記参照画像領域との相関演算によって前記複数の画像データの視差量を算出する演算処理手段と、を備え、
前記演算処理手段は、前記基準画像領域の視差方向の境界部における隣接画素の輝度変化値が閾値未満となる形状を有する前記基準画像領域を決定し、決定された前記基準画像領域と、当該基準画像領域の形状に対応する形状を有する前記参照画像領域との間で前記相関演算を行う
ことを特徴とする画像処理装置。
【請求項２】
前記演算処理手段は、
前記基準画像領域の初期形状を設定する設定手段と、
前記初期形状である基準画像領域の視差方向の境界部における隣接画素の輝度変化値を算出する算出手段と、
前記算出手段により算出される前記輝度変化値が前記閾値以上である場合、前記初期形状である基準画像領域の境界の位置を変更することにより当該基準画像領域の形状を変形する変形手段と、を備える
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記算出手段は、前記変形手段によって変形された前記基準画像領域の視差方向の境界部における隣接画素の輝度変化値を算出し、
前記演算処理手段は、前記算出手段により算出された前記輝度変化値が前記閾値未満である場合、前記変形手段により変形された前記基準画像領域の境界の位置を決定する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記変形手段は、前記基準画像領域の形状を変形する際の変形量を制限し、前記算出手段によって算出される前記輝度変化値が前記閾値未満とならない場合には前記基準画像領域の形状の変形処理を止める
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記変形手段は、前記算出手段によって算出される前記輝度変化値が前記閾値未満とならない場合、前記算出手段によって算出された前記輝度変化値のうちで、最小の輝度変化値となる形状を前記基準画像領域の形状として決定する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記演算処理手段は、前記変形手段によって前記基準画像領域の形状の変形処理を行う毎に前記閾値を大きく設定する
ことを特徴とする請求項２乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記初期形状である基準画像領域のサイズと、前記変形手段による変形処理後の基準画像領域のサイズとが等しいか、または前記初期形状である基準画像領域のサイズと、前記変形手段による変形処理後の基準画像領域のサイズとのサイズ差が閾値未満である
ことを特徴とする請求項２乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記変形手段は、前記基準画像領域の形状を変形する方向を行ごとに変更する
ことを特徴とする請求項２乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
前記変形手段は、前記基準画像領域の形状を変形する方向を、視差方向の第１の境界と第２の境界とで異なる側の方向に設定する
ことを特徴とする請求項２乃至７のいずれか１項に記載の画像処理装置。
【請求項１０】
前記変形手段は、前記基準画像領域の形状を変形する方向を、既に行った変形処理による変形量の総計値にしたがって変更する
ことを特徴とする請求項２乃至７のいずれか１項に記載の画像処理装置。
【請求項１１】
前記変形手段は、前記初期形状である基準画像領域のサイズに比べて、変形処理ごとに変更される前記基準画像領域のサイズを常に大きくするかまたは小さくする
ことを特徴とする請求項２乃至６のいずれか１項に記載の画像処理装置。
【請求項１２】
前記変形手段は、前記算出手段によって事前に算出された前記隣接画素の輝度変化値を用いて前記基準画像領域の形状を変形する処理を行う
ことを特徴とする請求項２に記載の画像処理装置。
【請求項１３】
前記変形手段は、前記算出手段によって事前に算出された前記隣接画素の輝度変化値についての最小値を探索し、探索された前記輝度変化値の最小値である画素位置に対応した前記基準画像領域の位置を境界として設定する
ことを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
前記変形手段は、前記算出手段によって事前に算出された前記隣接画素の輝度変化値が閾値未満となる画素位置により前記基準画像領域の形状を決定する
ことを特徴とする請求項１２に記載の画像処理装置。
【請求項１５】
前記変形手段は、前記隣接画素の輝度変化値が前記閾値未満である画素位置のうち、前記初期形状である基準画像領域の形状により近い画素位置を選択して前記基準画像領域の形状を決定する
ことを特徴とする請求項１４に記載の画像処理装置。
【請求項１６】
前記変形手段は、前記隣接画素の輝度変化値が前記閾値未満である画素位置のうち、前記基準画像領域の境界位置で変形済みの変形量にしたがって前記画素位置を選択して前記基準画像領域のサイズを調整し、前記基準画像領域の形状を決定する
ことを特徴とする請求項１４に記載の画像処理装置。
【請求項１７】
前記算出手段によって事前に算出された前記隣接画素の輝度変化値により、前記基準画像領域の形状の変形処理を行うかどうかを判断する判断手段を備え、
前記変形手段は、前記判断手段により前記基準画像領域の形状の変形処理を行うと判断された場合、前記輝度変化値が閾値以上である画素位置を選択して前記基準画像領域の形状を決定する
ことを特徴とする請求項１２に記載の画像処理装置。
【請求項１８】
前記判断手段は、前記初期形状である基準画像領域の境界部にて前記隣接画素の輝度変化値が閾値未満である場合に前記基準画像領域の形状の変形処理を行わないと判断する
ことを特徴とする請求項１７に記載の画像処理装置。
【請求項１９】
請求項１乃至１８のいずれか１項に記載の画像処理装置と、
撮像手段と、を備え、
前記演算処理手段は、前記参照画像領域を変更して前記基準画像領域と前記参照画像領域との相関演算により算出された複数の相関値から前記視差量に対応する距離情報を算出する
ことを特徴とする距離検出装置。
【請求項２０】
前記撮像手段は、複数のマイクロレンズと、各マイクロレンズに対応する複数の光電変換部を備え、
前記取得手段は、前記撮像手段から視点の異なる複数の画像データを取得する
ことを特徴とする請求項１９に記載の距離検出装置。
【請求項２１】
請求項１乃至１８のいずれか１項に記載の画像処理装置と、
撮像手段と、
前記視差量に対応するデフォーカス量を算出して撮像光学系の焦点調節の制御を行う制御手段と、を備える
ことを特徴とする撮像装置。
【請求項２２】
前記撮像手段は、複数のマイクロレンズと、各マイクロレンズに対応する複数の光電変換部を備え、
前記取得手段は、前記撮像手段から視点の異なる複数の画像データを取得する
ことを特徴とする請求項２１に記載の撮像装置。
【請求項２３】
視点の異なる複数の画像データの画像処理を行う画像処理装置にて実行される制御方法であって、
前記複数の画像データを取得する取得工程と、
取得された前記複数の画像データのうち、基準画像である第１の画像データの画像に基準画像領域を設定し、参照画像である第２の画像データの画像に参照画像領域を設定する設定工程と、
前記基準画像領域と前記参照画像領域との相関演算によって前記複数の画像データの視差量を算出する算出工程と、を有し、
前記設定工程では、前記基準画像領域の視差方向の境界部における隣接画素の輝度変化値が閾値未満となる形状を有する前記基準画像領域を決定する処理が行われ、前記算出工程では、決定された前記基準画像領域と、当該基準画像領域の形状に対応する形状を有する前記参照画像領域との間で前記相関演算が行われる
ことを特徴とする画像処理装置の制御方法。
【請求項２４】
請求項２３に記載の制御方法の各工程をコンピュータに実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像された画像を用いて視差量を算出する画像処理技術に関する。
【背景技術】
【０００２】
撮影画像から距離情報を算出する方法には、異なる視点で取得した複数の画像間の相関値から視差量を求めて距離情報を取得する方法がある。具体的には、組をなす画像のうち、片方の画像において着目画素を含む部分領域の画像信号を基準画像領域の信号として抜き出し、他方の画像における部分領域の画像信号を参照画像信号として抜き出す処理が行われる。参照画像信号の抜き出し位置を変え、各位置における相関値が計算される。各位置における相関値のうちで最も相関が高くなる位置を求めることで、着目画素における視差量を算出することができる。また最も相関が高くなる位置と、その位置に隣接する参照画像の位置との間で画素値の相関値を用いて、より高分解能な視差量を推定するサブピクセル推定法が行われる。この場合、撮影画像の画素値が大きく変化する領域は被写体の形状等に依存し、当該領域と基準画像領域の端部とが重なる条件で視差量を算出すると誤差が発生する。特許文献１にはブロックマッチング処理において、対象物の形状と基準画像領域の形状とが重ならないように基準画像領域の形状を選択することで誤差を低減する方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５７８２７６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
対象物の形状と基準画像領域の形状が一致しないように基準画像領域の形状を選択する場合、例えば縦線のような被写体に対し、円形状となるように基準画像領域の形状を選択しても誤差は残存する。対象物の形状と基準画像領域の形状とが一致しないとしても、基準画像領域の視差探索方向の境界部に輝度変化が残存する場合、サブピクセル推定法にて高相関値の位置と隣接する参照画像位置における相関値に誤差が発生する可能性がある。
本発明は、相関値の誤差を低減して、より高精度な視差量を取得することができる画像処理装置の提供を目的とする。
【課題を解決するための手段】
【０００５】
本発明の実施形態の画像処理装置は、視点の異なる複数の画像データの画像処理を行う画像処理装置であって、前記複数の画像データを取得する取得手段と、前記取得手段によって取得された前記複数の画像データのうち、基準画像である第１の画像データの画像に基準画像領域を設定し、参照画像である第２の画像データの画像に参照画像領域を設定して、前記基準画像領域と前記参照画像領域との相関演算によって前記複数の画像データの視差量を算出する演算処理手段と、を備える。前記演算処理手段は、前記基準画像領域の視差方向の境界部における隣接画素の輝度変化値が閾値未満となる形状を有する前記基準画像領域を決定し、決定された前記基準画像領域と、当該基準画像領域の形状に対応する形状を有する前記参照画像領域との間で前記相関演算を行う。
【発明の効果】
【０００６】
本発明の画像処理装置によれば、相関値の誤差を低減して、より高精度な視差量を取得することができる。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態に係る距離検出装置の一例を示す模式図である。
【図２】第１実施形態に係る撮像装置の構成例を説明する模式図である。
【図３】第１実施形態に係る距離検出方法を説明する図である。
【図４】第１実施形態に係る基準画像領域の形状の決定方法の説明図である。
【図５】第１実施形態に係る距離検出結果の一例を示す図である。
【図６】第２実施形態に係る基準画像領域の形状の決定方法の説明図である。
【発明を実施するための形態】
【０００８】
本発明の各実施形態について、添付図面を用いて詳細に説明する。以下の実施形態では、本発明の画像処理装置を適用した装置例として、撮像部によって視点の異なる複数の画像データを取得して、視差量または視差量に対応する距離情報等を算出する装置を説明する。
【０００９】
［第１実施形態］
図１は本実施形態の距離検出装置１０１の概要を示す。撮像部を含む距離検出装置１０１は、被写体１０２の撮影を行う。距離検出装置１０１は、結像光学系１０３、撮像素子１０４、演算処理部１０５、メモリ部１０６を備える。
【００１０】
結像光学系１０３は、被写体からの光を結像し、被写体の像を撮像素子１０４の撮像面に形成する撮像光学系である。結像光学系１０３は図示しない複数のレンズ群および絞りを備え、撮像素子１０４から所定距離の位置に射出瞳を有する。なお、図１に結像光学系１０３の光軸１１０を示し、互いに直交する３軸であるＸ軸、Ｙ軸、Ｚ軸を定義する。本明細書中では光軸１１０がＺ軸と平行であって、Ｚ軸に対して直交するＸ軸とＹ軸は互いに垂直であり、且つ光軸と垂直な軸であるものとする。
【００１１】
撮像素子１０４には複数の画素部が配置される。図２を参照して具体的に説明する。図２（Ａ）は、各画素部の構成を模式的に示す断面図である。画素部はマイクロレンズ２０１、カラーフィルタ２０２、光電変換部２０３Ａおよび２０３Ｂを有する。撮像素子１０４は画素部ごとのカラーフィルタ２０２によって検出する波長帯域に応じたＲ（赤），Ｇ（緑），Ｂ（青）の分光特性が与えられており、図示しない配色パターンでカラーフィルタ群が配置されている。本明細書中では便宜上、各画素部がＸＹ平面に配置されているとして説明する。基板２０４には、検出する波長帯域に感度を有する光電変換部２０３Ａおよび２０３Ｂが形成されている。光電変換部２０３Ａおよび２０３Ｂはフォトダイオードを用いて形成されている。また、各画素部は図示しない配線を備えている。
【００１２】
図２（Ｂ）は、光軸１１０と撮像素子１０４との交点（中心像高）から、結像光学系１０３の射出瞳を見た図である。光電変換部２０３Ａには、第１の瞳部分領域２１０を主に通過した第１の光束が入射する。光電変換部２０３Ｂには、第２の瞳部分領域２２０を主に通過した第２の光束が入射する。第１の瞳部分領域２１０と第２の瞳部分領域２２０は、射出瞳における異なる領域である。光電変換部２０３Ａおよび２０３Ｂは、入射された光束をそれぞれ光電変換することで、Ａ画像とＢ画像を生成する。光電変換部２０３Ａおよび２０３Ｂによって取得されたＡ画像とＢ画像の各信号は演算処理部１０５に伝送される。演算処理部１０５は測距演算処理を実行し、距離検出装置１０１から被写体１０２までの距離値を算出する。算出された距離値のデータはメモリ部１０６に記憶される。また、Ａ画像の信号とＢ画像の信号を加算した画像信号は、被写体１０２の撮像画像信号として利用することができる。
【００１３】
図２（Ｂ）にて、第１の瞳部分領域２１０の重心位置（第１の重心位置）を点２１１で示し、第２の瞳部分領域２２０の重心位置（第２の重心位置）を点２２１で示す。軸２００は、点２１１と点２２１を通ってＸ軸方向に延在する軸である。
【００１４】
本実施形態においては、点２１１で示す第１の重心位置は、射出瞳の中心から軸２００に沿って偏心（移動）している。一方、点２２１で示す第２の重心位置は、軸２００に沿って、第１の重心位置とは逆の方向に偏心（移動）している。第１の重心位置を示す点２１１と第２の重心位置を示す点２２１とを結ぶ方向を、瞳分割方向と呼ぶ。また、点２１１と点２２１との距離、つまり重心間距離が基線長２２２となる。Ａ画像とＢ画像は、デフォーカスによって瞳分割方向と同じ方向（本実施形態ではＸ軸方向）に位置が変化する。Ａ画像とＢ画像との間の相対的な位置変化量、すなわちＡ画像とＢ画像との視差量は、デフォーカス量に応じた量となる。よって、Ａ画像とＢ画像との視差量を後述の方法により取得し、既知の変換方法によって視差量をデフォーカス量または距離に変換することができる。
【００１５】
図３を参照して、本実施形態の測距演算について説明する。図３（Ａ）は処理の流れを説明するフローチャートであり、以下の処理は距離検出装置１０１の制御部が備えるＣＰＵ（中央演算処理装置）が所定のプログラムを実行することで実現される。
【００１６】
図３（Ａ）のＳ３０１に示す「画像取得」では、被写体を撮影して画像信号を保存する処理が行われる。撮影された画像は、視差を有するＡ画像とＢ画像からなる画像の組として取得されて、各画像データはメモリ部１０６に記憶される。
【００１７】
次のＳ３０２からＳ３０５に示す測距演算処理は演算処理部１０５によって行われる。図３（Ｂ）を参照して、各ステップにて設定される基準画像領域および参照画像領域の位置関係を説明する。図３（Ｂ）は、Ａ画像３１０ＡとＢ画像３１０Ｂを模式的に表した図である。Ｚ軸を図３の紙面に垂直な軸とする。Ｘ軸は左右方向の軸であって、Ｙ軸は上下方向の軸である。
【００１８】
図３（Ａ）のＳ３０２に示す「基準画像領域形状算出」では、基準画像領域の形状を決定する処理が実行される。図３（Ｂ）のＡ画像３１０Ａにおいて画素３２０は、距離算出を行う対象であり、以下では着目画素と呼ぶ。着目画素３２０とその近傍画素を含む部分領域を抜き出す処理が行われ、初期形状の画像領域３１１が得られる。以下では画像領域３１１を初期基準画像領域と呼ぶ。本明細書ではＡ画像３１０Ａ上に着目画素を設定する例を説明する。つまりＡ画像３１０Ａを基準画像とし、Ｂ画像３１０Ｂを参照画像としているが、Ｂ画像３１０Ｂ上に着目画素を設定してＡ画像３１０Ａを参照画像としても構わない。Ｓ３０２の処理の詳細については図４を用いて後述する。
【００１９】
Ｓ３０３に示す「相関演算」では、Ａ画像３１０ＡとＢ画像３１０Ｂとの間で相関値を算出する処理が実行される。Ａ画像の着目画素におけるＳ３０２で決定された形状の基準画像領域が取得される。次にＢ画像上で基準画像領域と同形状の領域を抜き出す処理が行われて、参照画像領域３１３が取得される。図３（Ｂ）では説明の便宜上、参照画像領域３１３が四角形として表示されているが、実際にはＳ３０２で決定された形状と同形状の画像領域である。Ｂ画像上で参照画像領域を抜き出す位置を、瞳分割方向と同じＸ軸方向に沿って移動させ、各移動量における参照画像領域と基準画像領域との相関値を算出する処理が行われる。これにより、各移動量に対する相関値のデータ列からなる相関値が得られる。参照画像領域を移動させて相関演算を行う方向を視差算出方向と呼ぶ。視差算出方向を瞳分割方向と同じ方向に設定することにより、Ａ画像とＢ画像に係る被写体距離に応じて生じる視差量を正しく算出できる。相関値の算出には、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）やＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）等の一般的な算出方法を用いることができる。
【００２０】
Ｓ３０４に示す「視差量算出」では、Ｓ３０３で求めた相関値より視差量を算出する処理が実行される。視差量については、既存の方法を用いて算出することができる。例えば、相関値の中で最も高い相関が得られる移動量とその近傍の移動量に対応する相関値のデータ列を抽出する処理が行われる。既知の内挿方法により、最も相関が高くなる移動量をサブピクセル精度で推定することにより、視差量を算出できる。既知の内挿方法とは、例えば相関値の算出にＳＡＤを用いた場合の等角直線フィッティング法であり、またＳＳＤを用いた場合のパラボラフィッティング法である。相関値の算出方法に応じて様々な内挿方法が使用されるが、いかなる内挿方法を用いてサブピクセル精度で視差量を算出してもよい。
【００２１】
Ｓ３０５に示す「距離値算出」では、Ｓ３０４で算出された視差量をデフォーカス量または被写体距離に変換する処理が実行される。視差量からデフォーカス量への換算は、基線長を用いた幾何学的関係を利用して行うことができる。また、デフォーカス量から被写体距離への変換については、結像光学系１０３の結像関係を用いて行えばよい。あるいは視差量に所定の変換係数を乗算することでデフォーカス量または被写体距離に変換してもよい。このような方法により、着目画素における距離値を算出することができる。
【００２２】
距離値に対応する分布データ群としては、距離マップの他に像ずれ量マップやデフォーカスマップ等がある。視点の異なる複数の画像データは互いに視差を有し、視差量に対応する像ずれ量またはデフォーカス量を取得することができる。例えば、撮像装置への適用において、制御部はデフォーカス量を用いて撮像光学系の焦点調節の制御を行う。つまり、視点の異なる複数の画像間の相対的な位置ずれ量に基づき、撮像面位相差方式のオートフォーカス制御が行われる。あるいは撮像装置内の画像処理部は、取得された複数の画像データを用いて距離マップ、像ずれ量マップ、デフォーカスマップ等のデータを生成する。これらのデータは撮像画像における奥行き方向の深度情報であり、例えば被写体領域の認識処理、視点変更処理、ボケ補正処理等で使用可能である。また撮像装置内の画像処理部は、取得された視点の異なる複数の画像データを用いて３次元表示（立体視表示）用の画像を生成し、表示部や記録部に出力する。
【００２３】
次に図４を参照して、図３のＳ３０２に示す「基準画像領域形状算出」の処理例について説明する。図４（Ａ）はＳ３０２の処理の一例を示すフローチャートである。図４（Ｂ）は「基準画像領域形状算出」処理を説明するための画像例を示す。図中では画素値が閾値以上の画素を白色で表示し、画素値が閾値未満の画素を黒色で表示しており、白色の画素が高輝度画素を表し、黒色の画素が低輝度画素を表す。図４（Ｂ）の紙面に垂直な軸をＺ軸とし、Ｚ軸と直交する左右方向の軸をＸ軸（左側を正方向と定義）とし、Ｚ軸と直交する上下方向の軸をＹ軸（上側を正方向と定義）とする。
【００２４】
図４（Ｂ）において上側に示す図は、着目画素付近の部分画像を表している。灰色で示す太線枠内の領域は、初期基準画像領域（５×５画素領域）を示す。本実施形態では初期基準画像領域に関し、図３（Ｂ）の初期形状（画像領域３１１の形状）を四角形として説明するが、任意の形状を初期形状として選択可能である。
【００２５】
図４（Ａ）のＳ４００では、基準画像領域における視差探索方向の初期形状の境界部が取得されて、境界部の近傍画素に対して順番に処理が実行される。視差探索方向とは、本実施形態では瞳分割方向と同じで、Ｘ軸方向のことである。初期形状とは初期基準画像領域の形状である。図４（Ｂ）の上側の図では、灰色で示す太線枠Ｌの左側の境界部に、それぞれに矢印が記載されている。太線枠Ｌの右側にも同様に境界部が存在する場合もある。
【００２６】
Ｓ４０１の「輝度変化計算」処理では、初期形状の境界部において隣接画素の輝度変化を計算する処理が実行される。図４（Ｂ）の上側の図で矢印の端点となっている画素が対象画素である。Ｓ４０２の「輝度変化閾値処理」では、Ｓ４０１で算出した輝度変化値が閾値と比較される。対象画素での輝度変化値が閾値以上である場合、Ｓ４０３の処理に進み、輝度変化値が閾値未満である場合にはＳ４０４の処理に進む。具体的には、図４（Ｂ）の上側の図において上から２行目では、初期形状の境界部の隣接画素はいずれも低輝度画素であり、輝度変化値が閾値未満であるので、Ｓ４０４の処理に移行する。一方、図４（Ｂ）の上側の図において上から３行目では、初期形状の境界部の隣接画素が低輝度画素と高輝度画素である。この場合、輝度変化値が閾値以上であるので、Ｓ４０３の処理に進む。
【００２７】
Ｓ４０３の「形状変形処理」において、基準画像領域の形状を初期形状から変形する処理が実行される。つまり境界部を視差探索方向に移動させる処理が行われる。そしてＳ４０１に移行して、移動後の境界部での輝度変化計算が行われる。次にＳ４０２にて輝度変化閾値処理が行われる。閾値未満となる境界部が見つかるまで、境界部を視差探索方向に移動させる処理が繰り返し実行される。図４（Ｂ）に示す例で具体的に説明する。
【００２８】
図４（Ｂ）の上側の図では、上から３行目（初期形状内では２行目）において輝度変化値が閾値以上である。つまり、境界に隣接する２つの画素のうち、左側の画素が黒色の低輝度画素であり、右側の画素は白色の高輝度画素である。この場合、図４（Ｂ）の下側の図にて太線枠ＬＬで示すように、３行目（初期形状内では２行目）において、境界を１画素分だけ−Ｘ方向（右方向）に移動させる処理が行われる。これにより、境界の左右の画素がいずれも、高輝度画素となり、輝度変化値が閾値未満となる。その他の境界部についても同様の処理が行われ、いずれの境界部でも輝度変化値が閾値未満となったことがＳ４０２で判定された場合にＳ４０４の処理に進む。
【００２９】
Ｓ４０４の「形状決定処理」において境界が決定される。すべての視差探索方向の境界において形状を決定する処理が行われることで、基準画像領域の形状が決定される。例えば、図４（Ｂ）の上側の図において、上から２行目と４〜６行目（初期形状内では１行目と３〜５行目）や、右側の境界部では輝度変化値が閾値未満であるので、初期形状に対する変形処理が行われず、変更なしで境界が決定される。この場合、図４（Ｂ）の下側の図において、太線枠ＬＬでは上から２行目と４〜６行目に該当する部分の形状が変化していない。
【００３０】
Ｓ４０５では初期形状のすべての境界部に係る処理が終了したかどうかが判断される。処理が終了した場合、それまでのＳ４０１からＳ４０４の処理によって、図３（Ｂ）の初期形状の画像領域３１１に対して、基準画像領域３１２の形状が決定される。また、未終了の場合にはＳ４００に戻って次の境界部の処理を続行する。
【００３１】
Ｓ４０２で使用する輝度変化値に対する閾値は、どのように決定しても構わない。閾値を小さくする程、精度が良くなるが、Ｓ４０３の形状変形処理が行われても輝度変化値が閾値未満とならないことが多くなる。その結果、計算量が増加する可能性がある。その場合には、形状変形処理を行う毎に閾値を大きくする設定処理が実行される。これまでに計算した輝度変化値と、変更された閾値とを比較する処理が行われて、輝度変化値が閾値未満である場合にはその時点で形状が決定される。それにより形状の変形量を抑えることができ、誤差の低減と計算量の増加とのバランスをとることができる。変更後の閾値と比較される輝度変化値はそれまでに計算された値の最小値でよい。または形状の変形量そのものに制限を加える方法を採用してもよい。Ｓ４０３の形状変形処理を行って、輝度変化値を計算する処理が所定の閾値回数で実行されても、輝度変化値が閾値未満とならない場合には形状変形処理が打ち切られ、計算量の増加が抑えられる。その場合には計算された輝度変化値のうちで、最小の輝度変化値となる形状変形量を選択する処理が行われる。つまり、最小の輝度変化値となる形状が基準画像領域の形状として決定される。計算量が上限を超えないように制限された上で、複数の形状変形量から最適な形状変形量を決定することができる。
【００３２】
図４（Ｂ）では形状変形処理の例として、Ｘ軸方向のマイナス側に境界を変更する場合を説明したが、Ｘ軸方向のプラス側に境界を変形させてもよく、プラス側およびマイナス側の両方の側に変形させてもよい。変形順に関しても特定の順序に限定されない。
【００３３】
また基準画像領域のサイズ（つまり画素数）に関しては、サイズが小さくなると画素信号のノイズ耐性が低くなり、誤差が大きくなって計算量が増加する可能性がある。初期基準画像領域はノイズと計算量のバランスをとって設定することが望ましい。形状変形処理が行われたとしても、形状変形処理後の基準画像領域のサイズが変形前後で同等となるように変形を行うことが望ましい。同等とは、初期基準画像領域のサイズと形状変形処理後の基準画像領域のサイズとが等しいか、または両者のサイズ差が閾値未満であることをいう。そのためには、Ｘ軸方向のプラス側に変形する場合の境界部とマイナス側に変形する場合の境界部とを同数とするか、または同数に近くなるように設定する処理が行われる。例えば、行ごとに交互にプラス側への形状変形とマイナス側への形状変形を行う方法がある。あるいは、初期基準画像領域の左側の境界と右側の境界とで形状変形の方向を異なる側の方向に設定する方法がある。これは初期基準画像領域の左側の境界でその外側（または内側）への形状変形を行い、右側の境界でその内側（または外側）への形状変形を行う方法である。その他、初期基準画像領域のサイズを形状変形後の基準画像領域のサイズと同等とする、どのような方法を用いて構わない。
【００３４】
また図３（Ａ）に示すＳ３０２の「基準画像領域形状算出」内のループ処理中で前回の処理までの形状変形量に合わせて、形状の変形方向を変更してもよい。ループ処理中とは、Ｓ４００からＳ４０５までの処理にてＳ４０５で未処理の判断が行われて処理が継続していることである。初期形状の新たな境界部を処理する場合、前回の処理までに行われた形状変形処理（Ｓ４０３）による形状変形量の総計値が算出される。例えば、ループ処理ごとに形状変形量の加算値を計算する処理が行われる。算出された加算値が正値である場合にはマイナス側への形状変形処理が行われ、また算出された加算値が負値である場合には、プラス側への形状変形処理が行われる。この処理によって、初期基準画像領域のサイズ（画素数）と変形後の基準画像領域のサイズとの差がゼロに近づくように、形状変形処理を行うことができる。また初期基準画像領域のサイズを、ノイズの観点から最小となるサイズに設定し、常にサイズが大きくなる方向へと形状変形処理を行う方法でもよい。これとは逆に初期基準画像領域のサイズを、計算量が許容できる最大のサイズに設定し、常にサイズが小さくなる方向へと形状変形処理を行う方法でもよい。
【００３５】
本実施形態では、視差探索方向の基準画像領域の境界部における輝度変化値に応じて基準画像領域の形状変形処理を行うことによって、被写体の輝度分布と基準画像領域の位置とに関係して発生する相関値の誤差を低減し、より高精度な測距を実現できる。
【００３６】
ここで誤差の発生原理と、本実施形態により誤差が改善されることを説明する。まず図５（Ａ）、（Ｂ）、（Ｃ）を参照して、基準画像領域の形状を変更しない場合（初期基準形状のまま使用する場合）に誤差が発生する理由を説明する。以降の説明では前提として、Ａ画像とＢ画像とが同じ濃淡を有する画像であって、視差が無いものとする。
【００３７】
図５（Ａ）は、Ａ画像５０１において基準画像領域５０２と基準画像領域５０３との位置関係を示す図である。Ａ画像５０１は左右方向にて明暗が変化する縦ストライプ形状のパターン画像である。以下ではＡ画像５０１にて明暗が切り替わる境界部５０４および５０５を、画像エッジと呼ぶ。基準画像領域５０２内には、画像エッジである境界部５０４および５０５が存在する。一方、基準画像領域５０３内には、画像エッジである境界部５０５が存在し、基準画像領域５０３の右端が境界部５０４と重なっている。
【００３８】
図５（Ｂ）は、参照画像領域を移動させて基準画像領域５０２との相関演算を行うことで算出される各相関値を例示する。横軸は参照画像領域の移動量を表し、縦軸は相関値を表す。ここでは相関値が低いほど、画像間の相関が高いことを意味する。相関値Ｃ０，Ｃｐ，Ｃｍはそれぞれ参照画像領域の位置を０，＋１画素，−１画素に相当する量だけ移動させたときの相関値である。移動量がゼロである場合に参照画像と基準画像は一致し、相関値Ｃ０は低い値となる。参照画像領域を＋１画素または−１画素に相当する量だけ移動させた場合、画像エッジである境界部５０４と５０５では基準画像領域と参照画像領域との間に差が発生し、相関値Ｃｐ，Ｃｍはいずれも増加する。このときの相関値ＣｐとＣｍは同じ値となる。この相関値を内挿して相関曲線５１０を求め、最も高い相関となる移動量（視差量）を算出することにより、符号５１１に示す視差量、すなわち正しい値（視差量０）が求まる。
【００３９】
図５（Ｃ）は、参照画像領域を移動させて基準画像領域５０３との相関演算を行うことで算出される各相関値を例示する。横軸および縦軸の設定は図５（Ｂ）と同じである。図５（Ｃ）の場合、画像エッジである境界部５０４と基準画像領域５０３の右端が重なっている。移動量がゼロであるときに参照画像と基準画像は一致し、相関値Ｃ０は低い値となる。移動量が＋１画素に相当する量であるときには、基準画像領域５０２の場合と同様に相関値Ｃｐが増加する。他方、移動量が−１画素に相当する量であるときには、画像エッジである境界部５０５のみで基準画像と参照画像との差が発生する。そのため、−１画素に対応する相関値Ｃｍの増加については微増となる。相関値は移動量のプラス側とマイナス側で非対称となるので、各相関値を内挿して求まる視差量（符号５１２参照）は正しい値（視差量０）とは異なる値となり、その結果、誤差が発生する。
【００４０】
次に本実施形態により、前記誤差が低減される理由を説明する。本実施形態では基準画像領域５０３のように画像エッジと基準画像領域の右端とが重なる場合、基準画像領域の形状変形処理が行われる。画像エッジと基準画像領域の右端とが重ならないように、基準画像領域の形状が変化する。図５（Ｄ）を参照して具体的に説明する。
【００４１】
図５（Ｄ）に示す基準画像領域５０６は、基準画像領域５０３に対応する形状変形処理後の領域である。基準画像領域５０３の右端部が変形されて、基準画像領域５０６は画像エッジと重ならない形状になる。そのため、図５（Ｂ）と同様に移動量が＋１画素と−１画素に対応する量である場合の相関値ＣｐとＣｍが同じ値となる。よって、正しい値（視差量０）を求めることができる。より詳細には、基準画像領域の形状が変化することで、基準画像領域の視差方向の境界で大きな輝度変化が発生しないように形状が設定される。例えば基準画像領域の形状を菱形や円形にした場合でも画像エッジと重ならなくなるが、境界の一部分では視差方向の境界で大きな輝度変化が発生する部分が残存し、それが誤差を発生させる要因となる。そこで、本実施形態では、視差方向の各境界で大きな輝度変化が発生しないように基準画像領域の形状変形処理を実行することにより、前記誤差をより低減することができる。例えば、撮像画像の画素値が大きく変化する領域と基準画像領域の左右方向の端部（境界部）とが重なる場合に発生する視差量の算出誤差を低減できる。
【００４２】
本実施形態によれば、撮影画像を用いた距離計測において、相関値の誤差を低減して、より高精度な距離情報を取得することができる。
【００４３】
［第２実施形態］
次に本発明の第２実施形態を説明する。本実施形態では第１実施形態との相違点を主に説明し、第１実施形態と同様の事項については説明を省略する。このような説明の省略の仕方は後述の実施形態でも同じである。
【００４４】
図３（Ａ）のＳ３０２に示す「基準画像領域形状算出」では、隣接画素の差分値（輝度変化値）により、基準画像領域の形状を決定する処理が実行される。着目画素として多くの画素を計算する必要がある場合、隣接画素の輝度変化値の計算として何度も同じ計算が行われる可能性がある。そこで本実施形態では、事前に隣接画素の輝度変化値の計算を行うことで計算量を削減し、効率良く基準画像領域の形状算出を行う例を説明する。
【００４５】
図６は、本実施形態におけるＳ３０２の「基準画像領域形状算出」を説明するフローチャートである。Ｓ６１０の処理は、Ａ画像上での隣接画素の輝度変化値を計算する処理である。この計算処理は、Ｓ３０２の処理が行われる前に事前に実行される。Ｓ６１０での計算結果のデータは、例えばメモリ部１０６に記憶される。Ｓ６１０ではＡ画像上の隣接画素の輝度変化値、つまり着目画素とその周辺画素とで複数回の輝度変化値を計算する可能性がある画素領域の全域に亘って計算処理が実行される。隣接画素の輝度変化値は、例えば隣接画素値同士の差分の絶対値として算出される。
【００４６】
Ｓ３０２においては、図４（Ａ）と同様に、視差探索方向における初期基準画像の形状の境界に沿って繰り返し計算が行われる。Ｓ４００に続くＳ６０１の「最小値探索処理」では、Ｓ６１０で事前に計算されている隣接画素の輝度変化値についての最小値を探索する処理が行われる。初期基準画像の形状の境界から許容できる形状変更範囲に対応した隣接画素の輝度変化値を抽出する処理が実行される。抽出された隣接画素の輝度変化値の最小値が探索される。
【００４７】
Ｓ６０２の「基準画像領域形状決定処理」では、Ｓ６０１で探索された輝度変化値の最小値である画素位置に対応したＡ画像上の位置を境界として設定することにより、基準画像領域の形状が決定される。
【００４８】
複数の着目画素間で基準画像領域のサイズをおよそ一定にするために、前述した初期基準画像の形状の境界から許容できる形状変更範囲をループ処理ごとに変更してもよい。例えば行ごとに形状変更範囲を変更する方法や、右側の境界と左側の境界とで形状変更範囲を変更する方法がある。
【００４９】
またＳ６０１を最小値の探索ではなく閾値処理とし、輝度変化値が閾値未満となる画素位置を探索してもよい。これにより隣接画素の輝度変化値が閾値未満となる画素位置候補からＳ６０２において基準画像領域の形状を決定することができる。例えば、初期基準画像領域の形状に最も近い位置を選択することで初期基準画像領域の形状により近い基準画像領域の形状を決定することができる。また複数の着目画素間で基準画像領域のサイズがおよそ一定となるように、基準画像領域の各境界位置で既に変形済みの形状変形量に従って画素位置を選択することでサイズを調整することができる。
【００５０】
またＳ６１０で事前に計算されている隣接画素の輝度変化値に基づいて、Ｓ３０２の「基準画像領域形状算出」を行う位置をあらかじめ決定してもよい。隣接画素の輝度変化値の情報により、各着目画素で輝度変化値が閾値以上である画素位置をあらかじめ判別することができる。輝度変化値が閾値以上である画素位置を抽出し、その画素位置で初期基準画像領域の形状の視差方向の境界が重なる着目画素を抽出する処理が実行され、その着目画素のみでＳ３０２の処理が実行される。当該着目画像以外ではＳ３０２の処理を行わず、Ｓ３０３へ移行する。これにより、計算量を削減することができる。
【００５１】
本実施形態によれば、初期基準画像領域に対する形状変形処理において、より効率的に基準画像領域の形状を算出することができる。
【００５２】
［第３実施形態］
次に本発明の第３実施形態を説明する。本実施形態では、各マイクロレンズに対する複数の光電変換部を有する瞳分割型撮像素子ではなく、ステレオカメラを使用する。視点の異なる複数の画像データを取得可能な撮像装置は、２つ以上の複数の撮像光学系とそれらに対応する撮像素子によって実現できる。この場合、基線長の設計自由度が向上し、測距分解能が向上する。
【００５３】
本実施形態では、例えば撮像装置と投影装置とを別の装置として距離検出装置が構成される。被写体に所定のパターンの光を照射する投影装置と組み合わせることで、より高精度な測距を行うことができる。例えば、図５（Ａ），（Ｄ）に示すような縦線チャートを被写体に投影することで、被写体にテクスチャがない領域でも測距が可能となる。ただし、前述したように誤差が生じやすいシーンとなるので、前述した基準画像領域の形状変形処理を実行することにより、誤差を低減できる。制御装置としては撮像装置内に備えられたＣＰＵを用いて構成することが装置の小型化の観点から好適である。
【００５４】
本実施形態は、撮像装置から被写体までの距離を算出する以外に、視差量を検出する視差量検出装置に適用することができる。この場合、図３において、Ｓ３０５の「距離値算出」を省略可能である。視差量検出装置では、検出された視差量に基づいて、合焦位置近傍の被写体の画像領域を撮像された画像から切り出す処理等が行われる。視差量検出装置は、前記実施形態の距離検出装置１０１において視差量を距離に変換せずにそのまま出力する構成であり、その他の構成は距離検出装置１０１と同じである。
【００５５】
デジタルカメラにおいては、検出された視差量に基づいて結像光学系１０３や撮像素子１０４に対するフィードバック制御が行われ、例えば、より高精度な自動焦点調節を実現できる。この場合、撮像光学系の制御部および撮像素子の制御部、またはそのいずれか一方の制御部は、任意の画角における補正距離に応じた移動量を計算する。例えば制御部は、視差量に対応する像ずれ量またはデフォーカス量を算出し、撮像光学系内のフォーカスユニットを駆動する駆動部を制御して焦点調節を行う。あるいは制御部は視差量に対応する像ずれ量またはデフォーカス量を算出し、撮像素子の駆動部を制御することで撮像素子を移動させて焦点調節を行う。より高精度な視差量を得ることができるので、被写体に対して１回のフィードバック制御で、より正確な焦点合わせが可能となる。また視差量に対応する距離情報（深度情報）を用いて、より高精度な被写界情報を取得できるので、不図示のストロボを用いて、最適なストロボ撮影を行うこともできる。
【００５６】
この他、本実施形態の装置は、自律的に行動計画を作成可能なロボットや自動車、ドローン等に搭載され、外部環境を認識するための情報取得手段として活用することができる。取得された距離情報を用いて、外部環境認識部で外部環境認識データに変換する処理が実行される。この場合のシステムは撮像装置と、撮像画像データを処理する外部環境認識部と、行動計画作成部と、アクチュエータ制御部を備える。行動計画作成部は、外部環境認識部が出力する外部環境認識データを取得し、当該データと事前に与えてある目的に応じて行動計画を作成する。アクチュエータ制御部は、行動計画作成部により作成された行動計画にしたがってアクチュエータを制御する。アクチュエータは原動機や電気モータや車輪の駆動部、脚機構部等である。ロボットや移動装置の自律移動を実現する上で、本実施形態に係る撮像装置は、誤差が低減された距離情報を取得できるので、外部環境をより安定して認識できるという効果を奏する。
【００５７】
本実施形態によれば、距離検出装置または視差量検出装置を利用する各種システムへの適用において、より高速で高精度な距離検出または視差量検出が可能である。
【００５８】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５９】
１０１  距離検出装置
１０３  結像光学系
１０４  撮像素子
１０５  演算処理部
【図１】
2020021126.tif 000003
【図２】
2020021126.tif 000004
【図３】
2020021126.tif 000005
【図４】
2020021126.tif 000006
【図５】
2020021126.tif 000007
【図６】
2020021126.tif 000008