(57)【要約】【課題】高精度かつ高速に距離画像を生成することのできる距離画像生成装置、距離画像生成方法及びプログラムを提供する。【解決手段】基準画像と参照画像とを取得する撮像装置２ａ，２ｂと、基準画像及び参照画像について解像度の異なる複数の階層画像を生成する多重解像度画像生成部１３と、少なくとも最低解像度の階層画像に対して対応点探索を行うＳＡＤ演算部６と、少なくとも最高解像度の階層画像に対して対応点探索を行うＰＯＣ演算部７を備え、低解像度の階層画像から対応点探索を開始し、順次解像度の高い階層画像について対応点探索を行い、最高解像度の階層画像に至るまで順に対応点探索を繰り返す対応点探索部１５と、直前の階層についての探索結果に基づいて次の階層の階層画像の探索領域を設定する探索領域設定部１４と、探索結果に基づいて距離画像を生成する距離画像生成部１６とを備えている。【選択図】図１
2008216126.tif 000002
【特許請求の範囲】
【請求項１】
第１画像情報と比較対象となる第２画像情報とを取得する画像取得手段と、
前記画像取得手段により取得された前記第１画像情報及び前記第２画像情報について解像度の異なる複数の階層画像が低解像度から高解像度まで順に階層構造をなす多重解像度画像を生成する多重解像度画像生成手段と、
前記第１画像情報と前記第２画像情報とを照合して所定の探索領域について対応点を探索するものであって、前記多重解像度画像のうち、少なくとも最低解像度の階層画像に対して第１の演算手法により対応点探索を行う第１の演算手段と、少なくとも最高解像度の階層画像に対して前記第１の演算手法よりも精度の高い第２の演算手法により対応点探索を行う第２の演算手段と、を備え、前記多重解像度画像のうち、低解像度の階層画像から前記対応点探索を開始し、順次解像度の高い階層画像について前記対応点探索を行い、最高解像度の階層画像に至るまで順に前記対応点探索を繰り返す対応点探索手段と、
前記対応点探索手段により一つの階層画像についての探索が終了すると当該階層画像についての探索結果に基づいて次の階層の階層画像の探索領域を設定する探索領域設定手段と、
前記対応点探索手段による探索結果に基づいて距離画像を生成する距離画像生成手段と、
を備えていることを特徴とする距離画像生成装置。
【請求項２】
前記第２の演算手段による対応点探索が行われた後は、以降の階層画像について前記第１の演算手段による対応点探索を行わないことを特徴とする請求項１に記載の距離画像生成装置。
【請求項３】
前記第１の演算手段により行われる第１の演算手法は、ＳＡＤ演算法、ＳＳＤ演算法、ＮＣＣ演算法のうちのいずれかであることを特徴とする請求項１又は請求項２に記載の距離画像生成装置。
【請求項４】
前記第２の演算手段により行われる第２の演算手法は、ＰＯＣ演算法であることを特徴とする請求項１から請求項３のいずれか一項に記載の距離画像生成装置。
【請求項５】
第１画像情報と比較対象となる第２画像情報とを取得する画像取得工程と、
前記画像取得工程において取得された前記第１画像情報及び前記第２画像情報について解像度の異なる複数の階層画像が低解像度から高解像度まで順に階層構造をなす多重解像度画像を生成する多重解像度画像生成工程と、
前記第１画像情報と前記第２画像情報とを照合して所定の探索領域について対応点を探索するものであって、前記多重解像度画像のうち、少なくとも最低解像度の階層画像に対して第１の演算手法により対応点探索を行う第１の演算工程と、少なくとも最高解像度の階層画像に対して前記第１の演算手法よりも精度の高い第２の演算手法により対応点探索を行う第２の演算工程と、を含み、前記多重解像度画像のうち、低解像度の階層画像から前記対応点探索を開始し、順次解像度の高い階層画像について前記対応点探索を行い、最高解像度の階層画像に至るまで順に前記対応点探索を繰り返す対応点探索工程と、
前記対応点探索工程において一つの階層画像についての探索が終了すると当該階層画像についての探索結果に基づいて次の階層の階層画像の探索領域を設定する探索領域設定工程と、
前記対応点探索工程における探索結果に基づいて距離画像を生成する距離画像生成工程と、
を備えていることを特徴とする距離画像生成方法。
【請求項６】
前記第２の演算工程による対応点探索が行われた後は、以降の階層画像について前記第１の演算工程による対応点探索を行わないことを特徴とする請求項５に記載の距離画像生成方法。
【請求項７】
前記第１の演算工程により行われる第１の演算手法は、ＳＡＤ演算法、ＳＳＤ演算法、ＮＣＣ演算法のうちのいずれかであることを特徴とする請求項５又は請求項６に記載の距離画像生成方法。
【請求項８】
前記第２の演算工程により行われる第２の演算手法は、ＰＯＣ演算法であることを特徴とする請求項５から請求項７のいずれか一項に記載の距離画像生成方法。
【請求項９】
第１画像情報と比較対象となる第２画像情報とについて解像度の異なる複数の階層画像が低解像度から高解像度まで順に階層構造をなす多重解像度画像を生成する多重解像度画像生成機能と、
前記第１画像情報と前記第２画像情報とを照合して所定の探索領域について対応点を探索するものであって、前記多重解像度画像のうち、少なくとも最低解像度の階層画像に対して第１の演算手法により対応点探索を行う第１の演算機能と、少なくとも最高解像度の階層画像に対して前記第１の演算手法よりも精度の高い第２の演算手法により対応点探索を行う第２の演算機能と、を含み、前記多重解像度画像のうち、低解像度の階層画像から前記対応点探索を開始して順次解像度の高い階層画像について前記対応点探索を行い、最高解像度の階層画像に至るまで順に前記対応点探索を繰り返す対応点探索機能と、
前記対応点探索機能により一つの階層画像についての探索が終了すると当該階層画像についての探索結果に基づいて次の階層の階層画像の探索領域を設定する探索領域設定機能と、
前記対応点探索機能による探索結果に基づいて距離画像を生成する距離画像生成機能と、
をコンピュータに実現させることを特徴とするコンピュータ読取可能なプログラム。
【請求項１０】
前記第２の演算手法による対応点探索が行われた後は、以降の階層画像について前記第１の演算手法による対応点探索を行わないことを特徴とする請求項９に記載のコンピュータ読取可能なプログラム。
【請求項１１】
前記第１の演算手法は、ＳＡＤ演算法、ＳＳＤ演算法、ＮＣＣ演算法のうちのいずれかであることを特徴とする請求項９又は請求項１０に記載のコンピュータ読取可能なプログラム。
【請求項１２】
前記第２の演算手法は、ＰＯＣ演算法であることを特徴とする請求項９から請求項１１のいずれか一項に記載のコンピュータ読取可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は距離画像生成装置、距離画像生成方法及びプログラムに係り、特に、同一対象物について複数の画像を撮影することにより距離画像を生成する距離画像生成装置、距離画像生成方法及びプログラムに関する。
【背景技術】
【０００２】
従来、複数の撮像手段により同一対象物（被写体）を異なる位置から撮像して複数の画像情報を得て、ＳＡＤ（Sum of Absolute Difference）演算法、ＳＳＤ（Sum of Squared Difference）演算法等による相関演算を行うことによりこの画像情報の相関度を算出し、相関度に基づいて同一対象物に対する視差値を求め、視差値から対象物の位置（距離値）を求めて距離画像を生成する装置が知られている。
【０００３】
また、このような装置において、解像度の異なる複数の画像を生成して、解像度別に階層構造とし、低解像度の上位層から高解像度の下位層に向かって逐次ＳＡＤ演算法、ＳＳＤ演算法等による相関演算を繰り返すことにより距離画像を生成する技術が知られている（例えば、特許文献１参照）。
【０００４】
特許文献１に開示されている技術では、演算手法として、高速で処理が可能なＳＡＤ演算法、ＳＳＤ演算法等を用いるとともに、低解像度の上位層から高解像度の下位層に向かって演算を繰り返す際に、低解像度の上位層で得られた視差値に基づいて次の階層における探索領域の設定を行うため、最下層（最高解像度の層）まで演算処理を行う時間を短縮することができる。
【０００５】
また、近年では、より高精度に３次元位置情報を得られる手法として、ＰＯＣ（Phase-Only Correlation；位相限定相関）演算法を用いて基準画像と参照画像との対応点を探索し、両画像の位置ずれ量に基づいて対象物の距離画像を生成することが提案されている（例えば、非特許文献１参照）。
【０００６】
ＰＯＣ演算法は、もとになる画像のデータとこれと照合すべき画像のデータとをフーリエ変換で数学的に処理して、振幅（濃淡データ）と位相（像の輪郭データ）とに分解し、このうち位相情報のみを用いて、両画像の相関を求めるアルゴリズムであり、ＳＡＤ演算法、ＳＳＤ演算法等、従来の振幅情報を用いた相関演算法と異なって、外乱に強く、高精度な演算結果を得られるとの特色がある。
【０００７】
さらに、非特許文献１に開示されている技術では、解像度別に階層構造に形成された画像に対して、低解像度の上位層から高解像度の下位層に向かって順次ＰＯＣ演算を行うことにより、より高精度な対応点探索が可能となり、正確な距離画像の生成が可能である。
【特許文献１】特開２００１−３１９２２９号公報
【非特許文献１】A Sub-Pixel Correspondence Search Technique for Computer Vision Applications（東北大学）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示されているように、ＳＡＤ演算法、ＳＳＤ演算法を用いる場合には、高速な処理が可能な反面、高精度に視差値を算出することは難しく、正確な距離画像を得ることができないとの問題があった。
【０００９】
また、非特許文献１に開示されているＰＯＣ演算法は、高精度な演算結果が得られる半面、演算処理に時間を要する。このため、例えば非特許文献１に開示されている技術のように、最低解像度から順にすべての階層についてＰＯＣ演算法で処理を行うとすると、処理時間がかかって作業効率が低下するとの問題がある。
【００１０】
そこで、本発明は以上のような課題を解決するためになされたものであり、高速かつ高精度に距離画像を生成することのできる距離画像生成装置、距離画像生成方法及びプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、請求項１に記載の距離画像生成装置は、
第１画像情報と比較対象となる第２画像情報とを取得する画像取得手段と、
前記画像取得手段により取得された前記第１画像情報及び前記第２画像情報について解像度の異なる複数の階層画像が低解像度から高解像度まで順に階層構造をなす多重解像度画像を生成する多重解像度画像生成手段と、
前記第１画像情報と前記第２画像情報とを照合して所定の探索領域について対応点を探索するものであって、前記多重解像度画像のうち、少なくとも最低解像度の階層画像に対して第１の演算手法により対応点探索を行う第１の演算手段と、少なくとも最高解像度の階層画像に対して前記第１の演算手法よりも精度の高い第２の演算手法により対応点探索を行う第２の演算手段と、を備え、前記多重解像度画像のうち、低解像度の階層画像から前記対応点探索を開始し、順次解像度の高い階層画像について前記対応点探索を行い、最高解像度の階層画像に至るまで順に前記対応点探索を繰り返す対応点探索手段と、
前記対応点探索手段により一つの階層画像についての探索が終了すると当該階層画像についての探索結果に基づいて次の階層の階層画像の探索領域を設定する探索領域設定手段と、
前記対応点探索手段による探索結果に基づいて距離画像を生成する距離画像生成手段と、
を備えていることを特徴としている。
【００１２】
請求項２に記載の発明は、請求項１に記載の距離画像生成装置であって、
前記第２の演算手段による対応点探索が行われた後は、以降の階層画像について前記第１の演算手段による対応点探索を行わないことを特徴としている。
【００１３】
請求項３に記載の発明は、請求項１又は請求項２に記載の距離画像生成装置であって、
前記第１の演算手段により行われる第１の演算手法は、ＳＡＤ演算法、ＳＳＤ演算法、ＮＣＣ演算法のうちのいずれかであることを特徴としている。
【００１４】
請求項４に記載の発明は、請求項１から請求項３のいずれか一項に記載の距離画像生成装置であって、
前記第２の演算手段により行われる第２の演算手法は、ＰＯＣ演算法であることを特徴としている。
【００１５】
請求項５に記載の距離画像生成方法は、
第１画像情報と比較対象となる第２画像情報とを取得する画像取得工程と、
前記画像取得工程において取得された前記第１画像情報及び前記第２画像情報について解像度の異なる複数の階層画像が低解像度から高解像度まで順に階層構造をなす多重解像度画像を生成する多重解像度画像生成工程と、
前記第１画像情報と前記第２画像情報とを照合して所定の探索領域について対応点を探索するものであって、前記多重解像度画像のうち、少なくとも最低解像度の階層画像に対して第１の演算手法により対応点探索を行う第１の演算工程と、少なくとも最高解像度の階層画像に対して前記第１の演算手法よりも精度の高い第２の演算手法により対応点探索を行う第２の演算工程と、を含み、前記多重解像度画像のうち、低解像度の階層画像から前記対応点探索を開始し、順次解像度の高い階層画像について前記対応点探索を行い、最高解像度の階層画像に至るまで順に前記対応点探索を繰り返す対応点探索工程と、
前記対応点探索工程において一つの階層画像についての探索が終了すると当該階層画像についての探索結果に基づいて次の階層の階層画像の探索領域を設定する探索領域設定工程と、
前記対応点探索工程における探索結果に基づいて距離画像を生成する距離画像生成工程と、
を備えていることを特徴としている。
【００１６】
請求項６に記載の発明は、請求項５に記載の距離画像生成方法であって、
前記第２の演算工程による対応点探索が行われた後は、以降の階層画像について前記第１の演算工程による対応点探索を行わないことを特徴とする。
【００１７】
請求項７に記載の発明は、請求項５又は請求項６に記載の距離画像生成方法であって、
前記第１の演算工程により行われる第１の演算手法は、ＳＡＤ演算法、ＳＳＤ演算法、ＮＣＣ演算法のうちのいずれかであることを特徴とする。
【００１８】
請求項８に記載の発明は、請求項５から請求項７のいずれか一項に記載の距離画像生成方法であって、
前記第２の演算工程により行われる第２の演算手法は、ＰＯＣ演算法であることを特徴とする。
【００１９】
請求項９に記載の発明は、コンピュータ読取可能なプログラムであって、
第１画像情報と比較対象となる第２画像情報とについて解像度の異なる複数の階層画像が低解像度から高解像度まで順に階層構造をなす多重解像度画像を生成する多重解像度画像生成機能と、
前記第１画像情報と前記第２画像情報とを照合して所定の探索領域について対応点を探索するものであって、前記多重解像度画像のうち、少なくとも最低解像度の階層画像に対して第１の演算手法により対応点探索を行う第１の演算機能と、少なくとも最高解像度の階層画像に対して前記第１の演算手法よりも精度の高い第２の演算手法により対応点探索を行う第２の演算機能と、を含み、前記多重解像度画像のうち、低解像度の階層画像から前記対応点探索を開始して順次解像度の高い階層画像について前記対応点探索を行い、最高解像度の階層画像に至るまで順に前記対応点探索を繰り返す対応点探索機能と、
前記対応点探索機能により一つの階層画像についての探索が終了すると当該階層画像についての探索結果に基づいて次の階層の階層画像の探索領域を設定する探索領域設定機能と、
前記対応点探索機能による探索結果に基づいて距離画像を生成する距離画像生成機能と、
をコンピュータに実現させることを特徴とする。
【００２０】
請求項１０に記載の発明は、請求項９に記載のプログラムであって、
前記第２の演算手法による対応点探索が行われた後は、以降の階層画像について前記第１の演算手法による対応点探索を行わないことを特徴とする。
【００２１】
請求項１１に記載の発明は、請求項９又は請求項１０に記載のプログラムであって、
前記第１の演算手法は、ＳＡＤ演算法、ＳＳＤ演算法、ＮＣＣ演算法のうちのいずれかであることを特徴とする。
【００２２】
請求項１２に記載の発明は、請求項９から請求項１１のいずれか一項に記載のプログラムであって、
前記第２の演算手法は、ＰＯＣ演算法であることを特徴とする。
【発明の効果】
【００２３】
請求項１、請求項５又は請求項９に記載の発明によれば、解像度の異なる複数の階層画像からなる多重解像度画像を生成して、低解像度の階層画像から高解像度の階層画像に向かって順次対応点の探索処理を繰り返すとともに、低解像度の階層画像について得られた探索結果に基づいて次階層の階層画像の探索領域を設定するので、高速かつ高精度の対応点探索を行うことができ、その結果に基づいて対象物の正確な距離画像を生成することが可能となるとの効果を奏する。
【００２４】
また、対応点探索手段は、少なくとも最低解像度の階層画像に対して第１の演算手法により対応点探索を行う第１の演算手段と、少なくとも最高解像度の階層画像に対して第２の演算手法により対応点探索を行う第２の演算手段とを備えているので、例えば低解像度の階層画像に対しては高速で演算処理を行う演算手段を用い、高解像度の階層画像に対しては高精度の演算処理を行う演算手段を用いることにより、対応点探索を効率的に行って、相関演算の総処理時間の短縮を図るとともに、高精度な処理を行うことができる。
【００２５】
請求項２、請求項６又は請求項１０に記載の発明によれば、一旦前記第１の演算手法よりも精度の高い第２の演算手法により対応点探索を行う第２の演算手段による演算を行った後は第１の演算手段による演算を行わないとするので、高解像度の階層画像に対しては高精度の演算処理を行うことができ、信頼性の高い演算結果を得ることができるとの効果を奏する。
【００２６】
請求項３、請求項７又は請求項１１に記載の発明によれば、高速で処理を行うことのできるＳＡＤ演算法、ＳＳＤ演算法、ＮＣＣ演算法のうちのいずれかにより低解像度の階層画像に対する対応点探索を行うので、低解像度での対応点探索を効率的に行うことができ、相関演算の総処理時間の短縮を図ることができるとの効果を奏する。
【００２７】
請求項４、請求項８又は請求項１２に記載の発明によれば、高精度、かつ、外乱に強くロバストな演算手法であるＰＯＣ演算法により高解像度の階層画像に対する対応点探索を行うので、高解像度での対応点探索において信頼性の高い高精度の演算結果を得ることができるとの効果を奏する。
【発明を実施するための最良の形態】
【００２８】
以下、図１から図１０を参照しつつ、本発明に係る距離画像生成装置の一実施形態について説明する。ただし、発明の範囲を図示例に限定するものではない。
【００２９】
本実施形態に係る距離画像生成装置１は、２つの画像を照合して位置ずれ量を算出し、算出した位置ずれ量に基づいて対象物までの距離情報を得て距離画像を生成するものである。
【００３０】
図１に示すように、距離画像生成装置１は、被写体（対象物）を撮像する２つの撮像装置２ａ，２ｂを備えている。
撮像装置２ａ，２ｂは、それぞれ撮像手段として撮像素子（光電変換素子）３とこの撮像素子３の結像面（図示せず）に被写体光像を結像させるレンズ４とを備えている。撮像素子３は、例えばＣＣＤ（Charge Coupled Device）、ＣＭＯＳ（Complementary Metal-Oxide Semiconductor）等のイメージセンサであり、撮像素子３は、レンズ４を透過した入射光を電気信号に光電変換して取り込むことにより、被写体光像をアナログ画像信号に変換するようになっている。また、距離画像生成装置１は、撮像素子３によって得られたアナログ画像信号をデジタル画像信号に変換するＡ／Ｄ変換部５を備えている。
【００３１】
２つの撮像装置２ａ，２ｂは、同一対象物を異なる視点から撮像して画像情報としての画像データを取得するものであり、一方が基準となる基準画像に基づく基準画像データ（第１画像情報）を取得し、他方が比較対象となる画像（以下、「参照画像」とする）に基づく参照画像データ（第２画像情報）を取得する。このように、２つの撮像装置２ａ，２ｂは、基準画像及び参照画像の画像データを取得する画像取得手段として機能する。
【００３２】
また、距離画像生成装置１は、各撮像装置２ａ，２ｂによって取得された画像データについて、画像処理を行い、視差値を算出して距離画像を生成する画像処理部１０を備えている。
【００３３】
画像処理部１０は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）等の処理装置と、システムプログラム、後述する距離画像生成処理を行うための距離画像生成処理プログラム等、各種の制御プログラム等を格納するＲＯＭ（Read Only Memory）と、各種データを一時記憶するＲＡＭ（Random Access Memory）と（いずれも図示せず）、等により構成されるコンピュータであり、画像のレンズ歪みを補正するレンズ歪み補正部１１、各撮像装置２ａ，２ｂによって取得された画像の平行化処理を行う画像平行化処理部１２、撮像装置２ａ，２ｂにより取得された画像データから解像度の異なる複数の階層画像（後述）を生成する多重解像度画像生成部１３、対応点探索を行う探索領域を設定する探索領域設定部１４、対応点探索処理を行う対応点探索部１５、距離画像を生成する距離画像生成部１６等を備えている。
【００３４】
レンズ歪み補正部１１は、レンズ４を用いて結像させる場合に発生する歪み（レンズ歪み）を補正するものである。レンズ４には歪みがあるため、正しく画像を生成することができず、特に端部において画像が歪んでしまう。レンズ歪み補正部１１は、このようなレンズ歪みの補正を行うものであり、例えば、予めレンズ歪み補正用のパラメータを作成、記憶しておき、これに基づいて画像を補正する処理等を行う。なお、レンズ歪み補正部１１による補正の手法はここに例示したものに限定されず、各種公知の手段を用いることができる。
【００３５】
画像平行化処理部１２は、各撮像装置２ａ，２ｂによって取得された２つの画像について、あたかも平行移動したカメラから撮影したかのように変換してエピ極線が平行になるようにする画像の平行化処理を行うものである。画像の平行化処理は、２つの撮像装置２ａ，２ｂを厳密に正しく設置することは困難であるため、２つの撮像装置２ａ，２ｂの設置位置ずれ等により生じる画像の歪みを補正するために行われる。
【００３６】
画像について平行化処理を施すことにより、２つの画像は、縦方向（図３におけるＹ軸方向）においてずれのないものとなり、後述する相関演算処理を行う場合に、横方向（図３におけるＸ軸方向）のずれのみを検出すれば足りることとなる。なお、画像平行化処理部１２による画像平行化処理の手法はここに例示したものに限定されず、各種公知の手段を用いることができる。
【００３７】
多重解像度画像生成部１３は、前記撮像装置２ａ，２ｂにより取得された基準画像データ（第１画像情報）と参照画像データ（第２画像情報）について、解像度の異なる複数の画像が、解像度の低いものから解像度の高いものに順に階層構造となった多重解像度画像を生成するものである。なお、各階層における画像を、以下「階層画像」と称する。
【００３８】
図２は、多重解像度画像生成部１３が生成する多重解像度画像の画像データの例を模式的に示したものである。図２では、もとの画像データの解像度（最高解像度）が１２８０×９６０の解像度であり、最低解像度がもとの画像データの１／３２の解像度である４０×３０の解像度である場合の多重解像度画像の画像データの階層構造を示している。この場合、最高解像度の階層である第０層目が１２８０×９６０の解像度の階層画像、最低解像度の階層である第ｎ層目が４０×３０の解像度の階層画像であり、第０層目から第ｎ層目までの間に、解像度の異なる複数の階層画像が生成されて、多くの階層を有する多重解像度画像が生成される。
【００３９】
なお、多重解像度画像生成部１３が何層構造の多重解像度画像を生成するか、最低解像度をどの程度の解像度とするかは特に限定されない。例えば、もとの画像データが８０×６０程度の低解像度の画像であれば、第０層目が８０×６０の解像度の階層画像、第１層目が４０×３０の解像度の階層画像というように２層から３層程度の少ない階層構造となる。
なお、多重解像度画像生成部１３により生成される多重解像度画像の構造は、もとの画像データの解像度等に応じて予めデフォルトで設定されていてもよいし、ユーザが任意に設定できるようにしてもよい。
【００４０】
探索領域設定部１４は、対応点探索部１５により対応点探索を行う領域を設定するものであり、基準画像内に測距点を設定し、この測距点を中心とした所定の領域を探索領域として設定する。
また、本実施形態において、後述するように、対応点探索部１５により一つの階層画像についての探索が終了すると当該階層画像についての探索結果が探索領域設定部１４に出力されるようになっており、探索領域設定部１４は、２回目以降の対応点探索処理においては、この探索結果に基づいて基準画像について次の階層の階層画像の探索領域を設定する。
【００４１】
すなわち、２回目以降の対応点探索処理の際には、探索領域設定部１４は、その直前の対応点探索処理で得られた候補座標（ｘ０，ｙ０）及びその周辺の領域を、次の階層画像における対応点探索処理の探索領域として設定する。本実施形態においては、例えば、探索領域設定部１４は、（ｘ０，ｙ０）を中心として５画素×５画素分の領域を抽出し探索領域として設定するようになっている。なお、探索領域設定部１４により設定される探索領域の範囲はここに例示したものに限定されない。
【００４２】
対応点探索部１５は、基準画像データと参照画像データのそれぞれから抽出、設定された探索領域について両画像データの対応点を探索し、位置ずれ量を算出して相関値を得る対応点探索手段である。
対応点探索部１５は、ＳＡＤ演算法（第１の演算手法）により対応点探索を行う第１の演算手段としてのＳＡＤ演算部６と、ＳＡＤ演算法（第１の演算手法）よりも精度の高い演算法であるＰＯＣ演算法（第２の演算手法）により対応点探索を行う第２の演算手段としてのＰＯＣ演算部７とを備えている。対応点探索部１５は、多重解像度画像のうち、低解像度の階層画像から対応点探索を開始し、直前の階層における探索結果を次の対応点探索に反映させながら、順次解像度の高い階層画像についてＳＡＤ演算部６又はＰＯＣ演算部７による対応点探索を行い、もとの画像の解像度（最高解像度）の階層画像（本実施形態では、図２に示す第０層目の階層画像）に至るまで順に対応点探索を繰り返すようになっている。
【００４３】
具体的には、対応点探索部１５は、まずＳＡＤ演算部６により最低解像度の階層画像から対応点探索を開始し、当該階層画像についての探索が終了すると当該階層画像についての対応点探索処理で得られた相関値の頂点を候補座標として算出し、探索結果として探索領域設定部１４に出力する。そして、探索領域設定部１４が当該階層画像についての探索結果に基づいて次の階層の階層画像の探索領域を設定すると、対応点探索部１５は、次の階層画像について、設定された探索領域内の対応点探索を行う。
【００４４】
また、対応点探索部１５は、対応点探索をＳＡＤ演算部６によって行うか、ＰＯＣ演算部７によって行うかを判断するようになっている。すなわち、対応点探索部１５は、多重解像度画像生成部１３により生成された多重解像度画像のうち、少なくとも最低解像度の階層画像に対してはＳＡＤ演算部６により対応点探索を行い、少なくとも最高解像度の階層画像に対してはＰＯＣ演算部７により対応点探索を行うようになっており、中間の階層の階層画像については、対応点探索部１５において、ＳＡＤ演算部６、ＰＯＣ演算部７のいずれによって対応点探索を行うかを判断する。そして、当該階層画像に応じた演算手法により対応点探索を行うようになっている。
【００４５】
本実施形態では、以下、もとの画像の解像度の１／２の解像度の階層画像からＰＯＣ演算部７による対応点探索を行う場合を例として説明する。
すなわち、図２のようにもとの画像データが１２８０×９６０の解像度であり、最低解像度が４０×３０の解像度である場合には、４０×３０の解像度である第ｎ層目からＳＡＤ演算部６による対応点探索が開始され、１２８０×９６０の１／２の解像度である６４０×４８０の解像度の階層以降、最高解像度の第０層目の階層まではＰＯＣ演算部７によって対応点探索が行われる。
【００４６】
なお、何階層目からＰＯＣ演算部７による演算を行うと判断するかは、特に限定されず、もとの画像データの解像度、多重解像度画像の階層数等に応じて予めデフォルトで設定されていてもよいし、ユーザが任意に設定できるようにしてもよい。
ただし、一旦ＰＯＣ演算部７による対応点探索が行われた後は、以降の階層画像についてＳＡＤ演算部６による対応点探索を行わず、最高解像度の階層画像に至るまでＰＯＣ演算部７による対応点探索を行うようになっている。
【００４７】
以下、ＳＡＤ演算部６及びＰＯＣ演算部７による対応点探索について具体的に説明する。
【００４８】
まず、ＳＡＤ演算部６は、画像取得手段２によって取得された画像データのうち、いずれか一方を基準画像とし、他方を参照画像とした場合に、基準画像と参照画像との相関度をＳＡＤ（Sum of Absolute Differences：絶対誤差合計）演算法により相関演算して対応点を探索し、参照画像中、基準画像の探索領域と相関度の最も高かった領域について、基準画像と参照画像とのずれ量（視差値）を求める対応点探索処理を行う。
【００４９】
基準画像と参照画像との相関演算について図３を参照しつつ説明する。図３（ａ）は基準画像を表し、図３（ｂ）は参照画像を表している。図３において、各マスは１画素を表しており、基準画像及び参照画像の全画面は、ともに、Ｘ軸方向（横方向）が２６画素、Ｙ軸方向（縦方向）が２０画素で構成されている場合を例としている。
【００５０】
相関演算を行う場合には、ＳＡＤ演算部６は、基準画像を所定の単位面積に分割し、基準画像中のある領域を視差値を算出する位置（探索領域）として設定する。探索領域の設定は、例えば図３（ａ）の左上（Ｘ＝１，Ｙ＝２０）を基点として所定の範囲の領域が順次設定される。
【００５１】
すなわち、ある領域（例えばＸ＝１〜５，Ｙ＝１６〜２０の２５画素）が探索領域として設定され、当該探索領域についての相関演算が完了すると、例えばＸ軸方向（画像の水平方向）に１画素ずつ順次ずらして次の探索領域（例えばＸ＝２〜６，Ｙ＝１６〜２０の２５画素）が設定され、相関演算が行われる。Ｘ軸方向の全画素（図３（ａ）において２６画素）についてすべての相関演算が完了すると、Ｙ軸方向に１画素ずらして次の探索領域（例えばＸ＝１〜５，Ｙ＝１５〜１９の２５画素）が設定され、相関演算が行われる。当該探索領域について相関演算が完了すると、さらに、探索領域をＸ軸方向に１画素ずつ順次ずらして次の探索領域（例えばＸ＝２〜６，Ｙ＝１５〜１９の２５画素）が設定され、相関演算が行われる。
このように、画面の左上から右下にかけて、Ｘ軸方向、Ｙ軸方向それぞれ１画素ずつずらして順次探索領域が設定され、全画面の全画素について相関演算が完了するまで、各探索領域についての相関演算が繰り返される。なお、相関演算を行う順序（探索領域の設定の仕方）は、ここに例示したものに限定されない。
【００５２】
次に、相関演算の具体的手法について説明する。
例えば、図３（ａ）に示すように、基準画像中の破線で囲んだ範囲（Ｘ＝９〜１３，Ｙ＝９〜１３の２５画素）が探索領域として設定され、相関演算が行われる場合、ＳＡＤ演算部６は、参照画像中、探索領域と同じＹ軸範囲（Ｙ＝９〜１３）についてＸ軸方向（画像の水平方向）に順次比較対照領域を設定し、順次相関演算を行うことにより、探索領域と各比較対照領域との相関度を算出する。これにより参照画像中、探索領域と最も相関度の高い領域、対応点を探索する。
【００５３】
すなわち、ＳＡＤ演算部６は、まず、探索領域を構成する各画素（図３（ａ）中のＸ＝９，Ｙ＝１３、Ｘ＝１０，Ｙ＝１３・・・の全２５画素）の画像データ値を算出する。また、参照画像の中で探索領域に対照させるものとして設定した比較対照領域内の各画素（例えば、図３（ｂ）中の破線で囲んだ範囲（Ｘ＝９，Ｙ＝１３、Ｘ＝１０，Ｙ＝１３・・・の全２５画素））の画像データ値を算出する。そして、探索領域を構成する各画素の画像データ値から、比較対照領域を構成する各画素の画像データ値を減算して、その絶対値を算出する。
例えば、探索領域内のある画素（図３（ａ）中のＸ＝９，Ｙ＝１０）の画像データ値が１００であり、これに対応する比較対照領域内の画素が図３（ｂ）におけるＸ＝９，Ｙ＝１０の画像データ値が５０である場合には、１００−５０＝５０となり、絶対値５０となる。
また例えば、探索領域内のある画素（図３（ａ）中のＸ＝１３，Ｙ＝１０）の画像データ値が５０であり、これに対応する比較対照領域内の画素が図３（ｂ）におけるＸ＝１３，Ｙ＝１０の画像データ値が９０である場合には、５０−９０＝−４０となり、絶対値４０となる。
このような画像データ値の減算及び絶対値の算出を探索領域及び比較対照領域を構成する２５画素全てについて行う。なお、この演算は、各画素について順次行われてもよいし、当該領域内の全画素について同時進行的に行われてもよい。
【００５４】
さらに、ＳＡＤ演算部６は、算出された結果（絶対値）を全て加算する。そして加算後の値が小さければ小さいほど相関度が高く、同じ画像である場合には、限りなく０に近づく。例えば、図３の場合、図３（ａ）中の破線で囲んだ範囲（Ｘ＝９〜１３，Ｙ＝９〜１３の２５画素）と、図３（ｂ）中の一点鎖線で囲んだ範囲（Ｘ＝１２〜１６，Ｙ＝９〜１３の２５画素）とは同じ画像であり、前者を構成する各画素の画像データ値から後者を構成する各画素のうち対応するものの画像データ値をそれぞれ減算して絶対値を求め、算出結果を加算すると、限りなく０に近づく。
【００５５】
このようにして、参照画像中、基準画像の探索領域と相関度の最も高い領域（相関演算により相関度の極値が得られた領域）を検索すると、ＳＡＤ演算部６は、当該相関度の最も高い領域が、基準画像の探索領域とどの程度ずれているかのずれ量（視差値）を算出し、図４に示すように、相関度の最も高い領域がどの視差値に対応するかを求める。
すなわち、図３の例によれば、探索領域（図３（ａ）中のＸ＝９〜１３，Ｙ＝９〜１３の２５画素）と、相関度の最も高い領域である図３（ｂ）中の一点鎖線で囲んだ範囲（Ｘ＝１２〜１６，Ｙ＝９〜１３の２５画素）とは、Ｘ軸方向に３画素ずれている。したがって、この場合の視差値は３となる。
【００５６】
なお、視差値と距離値との関係は、距離値＝定数／視差値であり、距離値は視差値の逆数に比例するとの関係にある。すなわち、視差値が小さくなるほど距離は遠くなり、視差値が大きくなるほど距離が近くなるという関係にある。このため、ＳＡＤ演算部６は、前記相関演算により視差値を求め、視差値の逆数を求めることにより、距離値を取得することができる。
【００５７】
また、ＰＯＣ演算部７は、ＰＯＣ（Phase-Only Correlation；位相限定相関）演算法により、基準画像データと参照画像データのそれぞれから抽出、設定された探索領域について両画像データの対応点を探索し、位置ずれ量を算出して相関値を得るものである。
【００５８】
ＰＯＣ演算部７には、図５に示すように、窓関数部７１ａ，７１ｂ、ＦＦＴ（Fast Fourier Transform：高速フーリエ変換）部７２ａ，７２ｂ、位相情報抽出部７３ａ，７３ｂ、合成部７４、ＩＦＦＴ（Inverse Fast Fourier Transform：逆高速フーリエ変換）部７５、及び相関値演算部７６が備えられている。
【００５９】
窓関数部７１ａ，７１ｂは、基準画像データと参照画像データの探索領域に対応する信号に窓関数をかけるものである。窓関数の種類に特に制限はなく適宜変更可能である。ここで、基準画像データに基づく信号に対して窓関数をかけたものをｆ１、参照画像データに基づく信号に対して窓関数をかけたものをｆ２とする。窓関数部７１ａ，７１ｂは、窓関数をかけた信号ｆ１、ｆ２をそれぞれＦＦＴ部７２ａ，７２ｂに出力するようになっている。
【００６０】
ＦＦＴ部７２ａ，７２ｂは、信号ｆ１、ｆ２に対してフーリエ変換処理を施して位相情報抽出部７３ａ，７３ｂに出力するものである。詳しくは、ＦＦＴ部７２ａは、信号ｆ１に対して２次元離散的フーリエ変換を施し、基準画像に基づくフーリエ画像データＦ１を得る。また、ＦＦＴ部７２ｂは、信号ｆ２に対して２次元離散的フーリエ変換を施して参照画像に基づくフーリエ画像データＦ２を得るようになっている。なお、フーリエ変換処理に特に制限は無く、２次元離散的フーリエ変換については、「コンピュータ画像処理入門、日本工業技術センター編、総研出版（株）発行、Ｐ４４〜４５」を参照した。
【００６１】
位相情報抽出部７３ａ，７３ｂは、ＦＦＴ部７２ａ，７２ｂから出力された信号に対して振幅成分を除去して位相情報を抽出するものである。つまり、位相情報抽出部７３ａ，７３ｂは、フーリエ変換された信号Ｆ１、Ｆ２に対して位相限定処理を行ない、フーリエ画像データＦ３，Ｆ４を得るものである。位相情報抽出部７３ａ，７３ｂは、得られたフーリエ画像データＦ３，Ｆ４を合成部７４に出力する。
なお、位相情報抽出部７３ａ，７３ｂが位相情報のみを抽出する手法は特に限定されず、振幅を１として位相のみを抽出するものであってもよいし、ｌｏｇ処理や√処理等によって振幅成分を除去することとしてもよい。
【００６２】
合成部７４は、フーリエ変換された信号Ｆ１、Ｆ２から位相情報のみを抽出して得られたフーリエ画像データＦ３，Ｆ４を合成し、合成フーリエ画像データＦ５（ｕ，ｖ）＝Ｆ３＊（ｕ，ｖ）・Ｆ４（ｕ，ｖ）を得るものである。なお、式中「＊」は複素共役を表し、（ｕ，ｖ）はフーリエ空間の座標を示す。合成部７４は、得られた合成フーリエ画像データＦ５をＩＦＦＴ部７５に出力するようになっている。
【００６３】
ＩＦＦＴ部７５は、合成部７４で得られた合成フーリエ画像データＦ５に対して逆フーリエ変換を施し合成逆フーリエ画像データｆ５を得るものである。ＩＦＦＴ部７５は、合成逆フーリエ画像データｆ５を相関値演算部７６に出力するようになっている。
【００６４】
相関値演算部７６は、合成逆フーリエ画像データｆ５より、各画像間の相関演算を行い、相関値（ＰＯＣ値）を得るものである。
図６に、ＰＯＣ演算法によって各画像間の相関演算を実施することにより得られる結果の例を示す。図６は、基準画像上及び参照画像上にＮ1×Ｎ2画素の探索領域及び比較対象領域を設定した場合の例であり、Ｎ1×Ｎ2画素の領域内で相関が高い箇所の相関値（ＰＯＣ値）が大きくなっている。このＰＯＣ値のピーク（図６においてＪｃ）に対応する参照画像上の比較対象領域内の位置が、基準画像上の探索領域における中心点に対応した参照画像上の対応点(候補座標)に相当することとなる。
【００６５】
以上のようなＰＯＣ演算法を用いた演算処理によれば、画像の振幅成分を除去し画像の位相成分のみで相関演算が行われるため、輝度変動やノイズの影響を抑制して参照画像上の対応点を精度良く探索できる。
【００６６】
相関値演算部７６は、候補座標を算出すると、これを探索領域設定部１４に出力する。当該対応点探索を行った階層画像が最高解像度画像でない場合には、探索領域設定部１４により、この候補座標に基づいて次の階層の対応点探索における探索領域が決定される。また、当該対応点探索を行った階層画像が最高解像度画像である場合には、演算結果が相関値演算部７６から距離画像生成部１６に出力される。
【００６７】
距離画像生成部１６は、ＰＯＣ演算部７による最高解像度の階層画像についての対応点探索が終了すると、当該対応点探索における基準画像データと参照画像データとの位置ずれ量の演算結果に基づいて距離画像データを生成する。
【００６８】
また、距離画像生成装置１には、距離画像生成部１６によって生成された距離画像を出力する出力部２０が設けられている。出力部２０は、例えば、ＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）等のモニタ（表示手段）であり、距離画像を表示させるようになっている。なお、出力部２０は、モニタに限定されず、例えば、プリンタ等の外部機器（出力手段）と接続するための通信部であり、生成された距離画像を外部機器に送信して出力可能に構成されていてもよい。
【００６９】
次に、図７から図１０を参照して本実施形態における距離画像生成装置１によって行われる距離画像生成方法について説明する。なお、距離画像生成処理は、コンピュータである画像処理部１０と前記距離画像生成処理プログラムとの協働により実現されるものである。
【００７０】
図７に示すように、距離画像生成装置１によって３次元位置情報を得るための相関演算を行う場合には、まず、撮像装置２ａ，２ｂは、２つの撮像手段２ａ，２ｂにより対象物を撮像し、基準画像、参照画像の画像データを取得する（ステップＳ１）。
【００７１】
撮像手段２ａ，２ｂにより取得された基準画像、参照画像の画像データは、Ａ／Ｄ変換部５によりＡ／Ｄ変換され、画像処理部１０に送られる。基準画像、参照画像の画像データが画像処理部１０に送られると、各画像データについて、レンズ歪み補正部１１による歪み補正及び画像平行化処理部１２による画像平行化処理が施される（ステップＳ２）。
【００７２】
さらに、多重解像度画像生成部１３において、基準画像、参照画像の画像データについて、最低解像度画像からもとの画像と同じ解像度の最高解像度画像までの複数の階層画像が順に階層構造となった多重解像度画像が生成される（ステップＳ３）。生成された多重解像度画像は対応点探索部１５に送られて、基準画像データと参照画像データとの対応点を探索する対応点探索処理が行われる（ステップＳ４）。
【００７３】
ここで、図８から図１０を参照しつつ、対応点探索部１５に対応点探索処理（図７のステップＳ４）について、具体的に説明する。なお、以下においては、画像の全画面を測距の対象とし（すなわち、全画素を測距点とし）、１つの探索領域について、Ｘ軸方向のすべての画素について対応点探索を行う場合を例として説明する。
【００７４】
図８に示すように、多重解像度画像が対応点探索部１５に送られると、まず、ＳＡＤ演算部６によりＳＡＤ演算を行うことにより、１回目の対応点探索処理（第ｎ層目の階層画像についての対応点探索処理）が行われる（ステップＳ１１）。
【００７５】
図９は、この１回目の対応点探索処理を示すフローチャートである。図９に示すように、対応点探索部１５は、最低解像度の階層画像（図２において第ｎ層目の階層画像）を演算対象として設定するとともに、当該基準画像内に測距点を設定し（ステップＳ２１）、この測距点を中心とした所定の探索領域を設定する（ステップＳ２２）。
探索領域が設定されると、対応点探索部１５は参照画像内に探索領域と同じサイズの比較対象領域を設定し（ステップＳ２３）、ＳＡＤ演算部６によるＳＡＤ演算法により対応点探索を行うことにより、探索領域と比較対象領域との相関度が算出される（ステップＳ２４）。
【００７６】
ＳＡＤ演算部６は当該探索領域について、比較対象画像のＸ軸方向のすべての画素について対応点探索処理が終了したかを判断する（ステップＳ２５）。終了していない場合（ステップＳ２５；ＮＯ）には、参照画像内の比較対象領域をＸ軸方向に１画素ずらして（ステップＳ２６）、ステップ２４に戻り、ＳＡＤ演算部６による対応点探索処理を繰り返す。Ｘ軸方向のすべての画素について対応点探索処理が終了した場合（ステップＳ２５；ＹＥＳ）には、当該対応点探索処理において最も相関度の高い画素を検索して、視差値を算出する（ステップＳ２７）。
【００７７】
ＳＡＤ演算部６は当該探索領域について視差値を算出すると、さらに、基準画像内の全測距点（測距を行うべきすべての画素）についての対応点探索処理が終了したかを判断する（ステップＳ２８）。本実施形態では、画像の全画素について対応点探索処理を行うので、全画素について処理が終了したかを判断する。
そして、画像中に、測距を行うべき画素であって未処理のものがある場合（ステップＳ２８；ＮＯ）には、当該未処理の画素を新たな測距点として設定し（ステップＳ２９）、この測距点を中心とした探索領域を設定して（ステップＳ２２）以下ステップＳ２３からステップＳ２７の処理を繰り返す。他方、画像中に未処理の測距点がない場合（ステップＳ２８；ＹＥＳ）には、１回目の対応点探索処理（第ｎ層目の階層画像についての対応点探索処理）を終了する。
【００７８】
図８に戻って、１回目の対応点探索処理が終了すると、対応点探索部１５は、当該対応点探索処理において得られた相関値に基づいて候補座標を算出し、これを探索結果として探索領域設定部１４に出力する（ステップＳ１２）。また、対応点探索部１５は、次階層の階層画像を演算対象として設定する（ステップＳ１３）。
探索領域設定部１４は、対応点探索部１５から探索結果が送られると、この探索結果に基づいて次階層についての探索領域を設定する（ステップＳ１４）。さらに、対応点探索部１５は、次階層がＳＡＤ演算部６による演算対象の対象となる階層か否かを判断し（ステップＳ１５）、ＳＡＤ演算部６の対象である場合（ステップＳ１５；ＹＥＳ）には、ステップＳ１１に戻ってＳＡＤ演算部６による対応点探索処理を行い、以下ステップＳ１２からステップＳ１４の処理を繰り返す。
【００７９】
他方、次階層がＳＡＤ演算部６による演算対象の階層ではない場合（ステップＳ１５；ＮＯ）には、当該階層及びそれ以降の階層についてＰＯＣ演算部７による対応点探索処理が行われる（ステップＳ１６）。本実施形態では、もとの画像の１／２の解像度の階層以降の階層画像についてＰＯＣ演算部７による演算が行われるようになっている。
【００８０】
図１０は、ＰＯＣ演算部７による対応点探索処理を示すフローチャートである。
ＰＯＣ演算処理においては、まず、窓関数部７１ａ，７１ｂが画像データに基づく信号に対して窓関数を掛け、ＦＦＴ部７２ａ，７２ｂが中心画素を中心とした３２×３２画素のブロックサイズの２次元フーリエ変換処理を行う。
つまり、窓関数部７１ａが基準画像に基づく信号ｆ１を作成し、この信号ｆ１について７２ａがフーリエ変換処理を行って信号ｆ１を信号Ｆ１に変換する（ステップＳ３１）。また、窓関数部７１ｂが基準画像に基づく信号ｆ２を作成し、この信号ｆ２について７２ｂがフーリエ変換処理を行って信号ｆ２を信号Ｆ２に変換する。（ステップＳ３２）。
２次元フーリエ変換処理は、基準画像に設定した測距点を中心としたブロックと、直前の階層における演算処理によって得られた視差に対応する参照画像内の対応点（候補座標）を中心としたブロックと、に対して行われる。
【００８１】
その後、位相情報抽出部７３ａ，７３ｂは、信号Ｆ１，Ｆ２に基づき、その振幅成分を除去して信号Ｆ１から位相情報Ｆ３を、信号Ｆ２から位相情報Ｆ４をそれぞれ抽出する（ステップＳ３３）。さらに、位相情報のみの信号Ｆ３，Ｆ４は、合成部７４によって合成され、合成信号Ｆ５が生成される（ステップＳ３４）。合成信号Ｆ５は合成部７４からＩＦＦＴ部７５に出力され、ＩＦＦＴ部７５はこの合成信号Ｆ５に対して、逆フーリエ変換処理を施しｆ５に変換する（ステップＳ３５）。その後、相関値演算部７６は、ｆ５に基づいて相関値ｍａｘｘ，ｙｆ５（ｕ，ｖ）を算出し（ステップＳ３６）、さらに、対応点の候補座標を算出する（ステップＳ３７）。
【００８２】
図８に戻って、１つの階層についてＰＯＣ演算が終了すると、対応点探索部１５は、当該対応点探索処理において得られた相関値に基づいて候補座標を算出し、これを探索結果として探索領域設定部１４に出力する（ステップＳ１７）。また、対応点探索部１５は、最高解像度画像までＰＯＣ演算処理が終了したか否か（当該階層画像が最高解像度画像か否か）を判断する（ステップＳ１８）。そして、最高解像度画像（もとの画像と同じ解像度の画像）まで処理が終了している場合（ステップＳ１８；ＹＥＳ）には、ＰＯＣ演算部７によるＰＯＣ演算処理を終了する。
他方、最高解像度の階層画像まで処理が終了していない場合（さらに高解像度の次階層がある場合、ステップＳ１８；ＮＯ）には、対応点探索部１５は、次階層の階層画像を演算対象として設定する（ステップＳ１９）。また、探索領域設定部１４は直前の階層における探索結果に基づいて探索領域を設定する（ステップＳ２０）。そして、ステップＳ１６に戻り、次階層についてＰＯＣ演算部７による対応点探索処理が行われ、最高解像度の階層画像（もとの画像と同じ解像度の画像）について処理が終了するまで、多重解像度画像の各階層画像についてステップＳ１７からステップＳ２０の処理が繰り返される。
【００８３】
次に、図７に戻って、最低解像度の階層画像（図２における第ｎ層目）から最高解像度画像（もとの画像と同じ解像度の画像、図２における第０層目）まで、ＳＡＤ演算部６及びＰＯＣ演算部７による対応点探索処理が終了すると（図８のステップＳ１８；ＹＥＳ）、距離画像生成部１６によって距離画像が生成され（ステップＳ５）、必要に応じて出力部２０から出力される。
【００８４】
以上のように、本実施形態によれば、解像度の異なる複数の階層画像からなる多重解像度画像を生成して、低解像度の階層画像から高解像度の階層画像に向かって順次対応点の探索処理を繰り返すとともに、低解像度の階層画像について得られた探索結果に基づいて探索領域設定部１４が次階層の階層画像の探索領域を設定するので、高速に対応点探索を行うことができるとともに、対象物の正確な距離画像を生成することが可能となる。
【００８５】
また、対応点探索部１５は、ＳＡＤ演算部６とＰＯＣ演算部７とを備え、低解像度の階層画像については高速で演算処理を行うことのできるＳＡＤ演算部６により対応点探索処理を行い、もとの画像の１／２の解像度以上の階層画像については高精度の演算処理を行うことのできるＰＯＣ演算部７により対応点探索処理を行うので、対応点探索を効率的に行って、相関演算の総処理時間の短縮と、高精度な距離画像の生成との両立を図ることができる。
【００８６】
さらに、一旦精度の高いＰＯＣ演算部７による対応点探索を行った後はＳＡＤ演算部６による対応点探索を行わないこととするので、高解像度の階層画像に対しては高精度の演算処理を行うことができ、信頼性の高い演算結果を得ることができる。
【００８７】
なお、本実施形態においては、２つの撮像手段２ａ，２ｂを備えて各撮像手段２ａ，２ｂにより同一対象物を撮像して基準画像データ（第１画像情報）と参照画像データ（第２画像情報）とを取得する構成としたが、撮像装置２ａ，２ｂの構成はこれに限定されない。撮像装置２ａ，２ｂは少なくとも１つの撮像手段を備えて構成されていればよく、１つの撮像手段により同一対象物を異なるタイミングで撮像して基準画像データと参照画像データとを取得するものでもよいし、２つ以上の撮像手段を備えて各撮像手段により同一対象物を撮像して基準画像データと参照画像データとを取得するものでもよい。
【００８８】
また、本実施形態においては、距離画像生成装置１の構成要素として撮像装置２ａ，２ｂを備える場合について説明したが、画像取得部を距離画像生成装置１の外部に設けて、距離画像生成装置１に外部から基準画像データ（第１画像情報）と参照画像データ（第２画像情報）が入力され、この画像データに基づいて相関演算等の処理が行われるようにしてもよい。
【００８９】
また、本実施形態においては、ＳＡＤ演算部６及びＰＯＣ演算部７において、相関値に基づく候補座標の算出を行い、算出された候補座標を探索結果として探索領域設定部１４に出力するように構成したが、探索領域設定部１４に出力される探索結果はこれに限定されない。例えば、探索領域設定部１４には、探索結果としてＳＡＤ演算部６及びＰＯＣ演算部７から相関値を示す演算結果が出力され、探索領域設定部１４が、この演算結果に基づいて、最も相関度の高かった点（候補座標）を算出し、この候補座標の周辺を探索領域として設定してもよい。
【００９０】
また、本実施形態においては、画像の全画面を測距の対象とする（すなわち、全画素を測距点とする）場合を例として説明したが、ユーザの用途等により、例えば画像内の人物部分についてだけ測距を行いたい場合等であれば、測距を行いたい対象部分のみに測距点を設定して対応点探索処理を行う等、対応点探索処理を行う範囲を限定してもよい。
【００９１】
また、本実施形態においては、１つの探索領域について、Ｘ軸方向のすべての画素について対応点探索を行う場合を例として説明したが、ユーザの用途等により一定の限定された距離値の範囲のみ距離を求めることができればよい場合もある。このような場合には、用途に応じた距離範囲に対応する視差値の範囲を演算範囲とし、比較対象領域をこの範囲で移動させて対応点探索処理を行うようにしてもよい。
例えば、１００ｍ以上離れた距離にあるものの距離のみを求めれば足りる場合には、１００ｍ以上の距離値に対応する視差値の範囲で比較対象領域をこの範囲で移動させる。これにより、対応点探索処理において、相関演算の処理時間を短縮することができる。
【００９２】
また、本実施形態においては、基準画像を２５画素ずつの単位面積に分割して探索領域を設定し、この探索領域ごとに相関演算を行う場合を例として説明したが、探索領域の範囲は、２５画素ずつに限定されず、任意の範囲に設定することができる。
また、本実施形態においては、探索領域を２５画素ずつの所定の領域とし、この領域ごとに相関演算を行うものとしたが、例えば１画素ごとに基準画像と参照画像の相関度を算出するようにしてもよい。
【００９３】
また、本実施形態においては、第１の演算手段として、ＳＡＤ演算法により距離値を求めるＳＡＤ演算部６を設けたが、第１の演算手段は高速に距離値を求める処理を行うことができるものであればよく、これに限定されない。例えば、第１の演算手段として、ＳＳＤ（Sum of Squared Differences）演算法や、ＮＣＣ（Normalized Cross-Correlation）演算法により距離値を求める演算部を設けてもよい。
【００９４】
また、本実施形態においては、第２の演算手段として、ＰＯＣ演算法により対応点を探索するＰＯＣ演算部７を設けたが、第２の演算手段は高精度に対応点の探索を行うことのできるものであればよく、ＰＯＣ演算法によるものに限定されない。
【００９５】
また、本実施形態においては、画像処理部１０が、ＣＰＵ等とＲＯＭ、ＲＡＭ等のメモリで構成されるコンピュータである場合を例として説明したが、画像処理部１０の全体又は一部を専用ハードウェアで構成してもよい。
すなわち、例えばＰＯＣ演算部７は、位相限定相関処理を行なう専用のハードウェアで構成されていることが好ましい。専用のハードウェアとしては、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）等が適用可能である。
【００９６】
その他、本発明が上記実施の形態に限らず適宜変更可能であるのは勿論である。
【図面の簡単な説明】
【００９７】
【図１】本実施形態に係る相関演算装置の全体構成を示すブロック図である。
【図２】本実施形態における多重解像度画像の構造を模式的に示した説明図である。
【図３】図３（ａ）は、本実施形態における基準画像の例を示した図であり、図３（ｂ）は、本実施形態における参照画像の例を示した図である。
【図４】相関度と視差値との関係を示す説明図である。
【図５】図１に示すＰＯＣ演算部の構成を示すブロック図である。
【図６】ＰＯＣ演算処理によって得られる結果の例を示す説明図である。
【図７】本実施形態における距離画像生成処理を表すフローチャートである。
【図８】図７に示す対応点探索処理を表すフローチャートである。
【図９】図８に示す１回目のＳＡＤ演算処理を表すフローチャートである。
【図１０】図８に示すＰＯＣ演算処理を表すフローチャートである。
【符号の説明】
【００９８】
１  距離画像生成装置
２ａ，２ｂ  撮像装置（画像取得手段）
６  ＳＡＤ演算部（第１の演算手段）
７  ＰＯＣ演算部（第１の演算手段）
１０  画像処理部
１１  レンズ歪み補正部
１２  画像平行化処理部
１３  多重解像度画像生成部（多重解像度画像生成手段）
１４  探索領域設定部（探索領域設定手段）
１５  距離画像生成部（距離画像生成手段）
７１ａ，７１ｂ  窓関数部
７２ａ，７２ｂ  ＦＦＴ部
７３ａ，７３ｂ  位相情報抽出部
７４  合成部
７５  ＩＦＦＴ部
７６  相関演算部
【図１】
2008216126.tif 000003
【図２】
2008216126.tif 000004
【図３】
2008216126.tif 000005
【図４】
2008216126.tif 000006
【図５】
2008216126.tif 000007
【図６】
2008216126.tif 000008
【図７】
2008216126.tif 000009
【図８】
2008216126.tif 000010
【図９】
2008216126.tif 000011
【図１０】
2008216126.tif 000012