(57)【要約】【課題】測距における演算時間を短縮するとともに、同一画面内に距離値の異なる対象物が存在している場合でも正確な測距を行うことのできる距離画像生成装置、距離画像生成方法及びプログラムを提供する。【解決手段】被写体を撮影した基準画像と基準画像とは異なる視点から被写体を撮像した参照画像とを取得する撮像装置２ａ，２ｂと、撮像装置２ａ，２ｂより取得された基準画像と参照画像との視差を所定の演算範囲について算出し、算出された視差に基づいて距離画像を生成する距離画像生成部１５と、撮像装置２ａ，２ｂによって取得された基準画像が複数の被写体の境界であるエッジ部分を含むか否かを判定するエッジ判定部１４と、を備え、距離画像生成部１５は、エッジ判定部１４による判定結果に応じて演算範囲を決定する。【選択図】図１
2008058279.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つの撮像手段を備え、前記各撮像手段により、被写体を撮影した基準画像と前記基準画像とは異なる視点から被写体を撮像した参照画像とを取得する画像取得手段と、
前記画像取得手段より取得された前記基準画像と前記参照画像との視差を所定の演算範囲について算出し、算出された視差に基づいて距離画像を生成する距離画像生成手段と、
前記画像取得手段によって取得された前記基準画像が複数の被写体の境界であるエッジ部分を含むか否かを判定するエッジ判定手段と、を備え、
前記距離画像生成手段は、前記エッジ判定手段による判定結果に応じて、前記演算範囲を決定することを特徴とする距離画像生成装置。
【請求項２】
前記距離画像生成手段は、前記エッジ判定手段により基準画像が前記エッジ部分を含むと判定された場合には、前記演算範囲を水平方向における全画素とし、前記エッジ判定手段により基準画像が前記エッジ部分を含まないと判定された場合には、前記演算範囲を隣接画素近傍に限定することを特徴とする請求項１に記載の距離画像生成装置。
【請求項３】
前記距離画像生成手段は、前記基準画像を単位面積に分割し、分割された各単位面積ごとに参照画像との視差を算出するものであり、
前記エッジ判定手段は、前記単位面積ごとに前記基準画像が前記エッジ部分を含むか否かを判断するものであることを特徴する請求項１又は請求項２に記載の距離画像生成装置。
【請求項４】
少なくとも２つの撮像手段により、被写体を撮影した基準画像と前記基準画像とは異なる視点から被写体を撮像した参照画像とを取得する画像取得工程と、
前記画像取得工程より取得された前記基準画像と前記参照画像との視差を所定の演算範囲について算出し、算出された視差に基づいて距離画像を生成する距離画像生成工程と、
前記画像取得工程によって取得された前記基準画像が複数の被写体の境界であるエッジ部分を含むか否かを判定するエッジ判定工程と、を備え、
前記距離画像生成工程は、前記エッジ判定工程による判定結果に応じて、前記演算範囲を決定することを特徴とする距離画像生成方法。
【請求項５】
前記距離画像生成工程は、前記エッジ判定工程により基準画像が前記エッジ部分を含むと判定された場合には、前記演算範囲を水平方向における全画素とし、前記エッジ判定工程により基準画像が前記エッジ部分を含まないと判定された場合には、前記演算範囲を隣接画素近傍に限定することを特徴とする請求項４に記載の距離画像生成方法。
【請求項６】
前記距離画像生成工程は、前記基準画像を単位面積に分割し、分割された各単位面積ごとに参照画像との視差を算出するものであり、
前記エッジ判定工程は、前記単位面積ごとに前記基準画像が前記エッジ部分を含むか否かを判断するものであることを特徴する請求項４又は請求項５に記載の距離画像生成方法。
【請求項７】
被写体を撮影した基準画像と前記基準画像とは異なる視点から被写体を撮像した参照画像との視差を所定の演算範囲について算出し、算出された視差に基づいて距離画像を生成する距離画像生成機能と、
前記基準画像が複数の被写体の境界であるエッジ部分を含むか否かを判定するエッジ判定機能と、
前記エッジ判定機能による判定結果に応じて、距離画像の生成における前記演算範囲を決定する演算範囲決定機能と、
をコンピュータに実現させることを特徴とするコンピュータ読取可能なプログラム。
【請求項８】
前記演算範囲決定機能は、前記エッジ判定機能により基準画像が前記エッジ部分を含むと判定された場合には、前記演算範囲を水平方向における全画素とし、前記エッジ判定機能により基準画像が前記エッジ部分を含まないと判定された場合には、距離画像の生成における前記演算範囲を隣接画素近傍に限定するものであることを特徴する請求項７に記載のコンピュータ読取可能なプログラム。
【請求項９】
前記距離画像生成機能は、前記基準画像を単位面積に分割し、分割された各単位面積ごとに参照画像との視差を算出するものであり、
前記エッジ判定機能は、前記単位面積ごとに前記基準画像が前記エッジ部分を含むか否かを判断するものであることを特徴する請求項７又は請求項８に記載のコンピュータ読取可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は距離画像生成装置、距離画像生成方法及びプログラムに係り、特に、複数の撮像素子を用いて３次元画像を撮影することにより距離画像を生成する距離画像生成装置、距離画像生成方法及びプログラムに関する。
【背景技術】
【０００２】
従来、複数の撮像素子により被写体を異なる位置から撮像して複数の撮影画像を得て、相関演算を行うことによりこの撮影画像の相関度を算出し、相関度に基づいて同一被写体に対する視差値を求め、視差値から被写体の位置（距離）を求める距離画像生成装置が知られている。
【０００３】
しかし、撮影画像内の全画素について被写体の距離を求めるためには、全画素について相関度を算出しなければならず、測定範囲内の全ての視差範囲につき相関演算を行うと、演算量が多く、処理に多くの時間を要する。
【０００４】
そこで、演算時間を短縮するため、画面内の無地部分等の測距不能な点の測距値を周囲の複数測距値より内挿する測距装置、並びに、測距のための相関演算及び探索演算の相関検討範囲及び探索検討範囲を隣接距離近傍の距離に限定する（即ち既知の隣接点の測距値に依存させる）測距装置が考案されている（例えば、特許文献１参照）。
【特許文献１】特開平７−１８１０１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されている技術は、全測距について測距のための相関演算及び探索演算の相関検討範囲及び探索検討範囲を隣接距離近傍の距離に限定するものである。このため、距離値に比較的変化が少ない場合には有効であるが、同一画面内に複数の被写体が重なり合って距離値の異なるものが含まれているような場合には、誤った距離値を算出するおそれがあるとの問題がある。
【０００６】
そこで、本発明は以上のような課題を解決するためになされたものであり、測距における演算時間を短縮するとともに、同一画面内に距離値の異なる対象物が存在している場合でも正確な測距を行うことのできる距離画像生成装置、距離画像生成方法及びプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１記載の距離画像生成装置は、
少なくとも２つの撮像手段を備え、前記各撮像手段により、被写体を撮影した基準画像と前記基準画像とは異なる視点から被写体を撮像した参照画像とを取得する画像取得手段と、
前記画像取得手段より取得された前記基準画像と前記参照画像との視差を所定の演算範囲について算出し、算出された視差に基づいて距離画像を生成する距離画像生成手段と、
前記画像取得手段によって取得された前記基準画像が複数の被写体の境界であるエッジ部分を含むか否かを判定するエッジ判定手段と、を備え、
前記距離画像生成手段は、前記エッジ判定手段による判定結果に応じて、前記演算範囲を決定することを特徴としている。
【０００８】
請求項１記載の発明によれば、画像取得手段により被写体を撮影した基準画像と基準画像とは異なる視点から被写体を撮像した参照画像とを取得し、距離画像生成手段によりこの基準画像と参照画像との視差を所定の演算範囲について算出し、算出された視差に基づいて距離画像を生成する。さらにエッジ判定手段によって基準画像が複数の被写体の境界であるエッジ部分を含むか否かを判定し、距離画像生成手段は、エッジ判定手段による判定結果に応じて演算範囲を決定するようになっている。
【０００９】
請求項２記載の発明は、請求項１記載の距離画像生成装置であって、
前記距離画像生成手段は、前記エッジ判定手段により基準画像が前記エッジ部分を含むと判定された場合には、前記演算範囲を水平方向における全画素とし、前記エッジ判定手段により基準画像が前記エッジ部分を含まないと判定された場合には、前記演算範囲を隣接画素近傍に限定することを特徴としている。
【００１０】
請求項２記載の発明によれば、エッジ判定手段により基準画像がエッジ部分を含むと判定された場合には、演算範囲を水平方向における全画素とし、エッジ判定手段により基準画像がエッジ部分を含まないと判定された場合には、演算範囲を隣接画素近傍に限定するように、距離画像生成手段が演算範囲を決定するようになっている。
【００１１】
請求項３記載の発明は、請求項１又は請求項２に記載の距離画像生成装置であって、
前記距離画像生成手段は、前記基準画像を単位面積に分割し、分割された各単位面積ごとに参照画像との視差を算出するものであり、
前記エッジ判定手段は、前記単位面積ごとに前記基準画像が前記エッジ部分を含むか否かを判断するものであることを特徴としている。
【００１２】
請求項３記載の発明によれば、距離画像生成手段が、単位面積ごとに基準画像と参照画像との視差を算出し、エッジ判定手段は、この単位面積ごとに基準画像がエッジ部分を含むか否かを判断するようになっている。
【００１３】
請求項４記載の距離画像生成方法は、
少なくとも２つの撮像手段により、被写体を撮影した基準画像と前記基準画像とは異なる視点から被写体を撮像した参照画像とを取得する画像取得工程と、
前記画像取得工程より取得された前記基準画像と前記参照画像との視差を所定の演算範囲について算出し、算出された視差に基づいて距離画像を生成する距離画像生成工程と、
前記画像取得工程によって取得された前記基準画像が複数の被写体の境界であるエッジ部分を含むか否かを判定するエッジ判定工程と、を備え、
前記距離画像生成工程は、前記エッジ判定工程による判定結果に応じて、前記演算範囲を決定することを特徴としている。
【００１４】
請求項４記載の発明によれば、画像取得工程により被写体を撮影した基準画像と基準画像とは異なる視点から被写体を撮像した参照画像とを取得し、距離画像生成工程によりこの基準画像と参照画像との視差を所定の演算範囲について算出し、算出された視差に基づいて距離画像を生成する。さらにエッジ判定工程によって基準画像が複数の被写体の境界であるエッジ部分を含むか否かを判定し、エッジ判定工程における判定結果に応じて、距離画像生成工程における演算範囲が決定されるようになっている。
【００１５】
請求項５記載の発明は、請求項４に記載の距離画像生成方法であって、
前記距離画像生成工程は、前記エッジ判定工程により基準画像が前記エッジ部分を含むと判定された場合には、前記演算範囲を水平方向における全画素とし、前記エッジ判定工程により基準画像が前記エッジ部分を含まないと判定された場合には、前記演算範囲を隣接画素近傍に限定することを特徴とする。
【００１６】
請求項５記載の発明によれば、エッジ判定手段により基準画像がエッジ部分を含むと判定された場合には、距離画像生成工程における演算範囲が水平方向における全画素とされ、エッジ判定手段により基準画像がエッジ部分を含まないと判定された場合には、距離画像生成工程における演算範囲が隣接画素近傍に限定されるようになっている。
【００１７】
請求項６記載の発明は、請求項４又は請求項５に記載の距離画像生成方法であって、
前記距離画像生成工程は、前記基準画像を単位面積に分割し、分割された各単位面積ごとに参照画像との視差を算出するものであり、
前記エッジ判定工程は、前記単位面積ごとに前記基準画像が前記エッジ部分を含むか否かを判断するものであることを特徴とする。
【００１８】
請求項６記載の発明によれば、距離画像生成工程において、単位面積ごとに基準画像と参照画像との視差を算出し、エッジ判定工程では、この単位面積ごとに基準画像がエッジ部分を含むか否かを判断するようになっている。
【００１９】
請求項７記載の発明は、コンピュータ読取可能なプログラムであって、
被写体を撮影した基準画像と前記基準画像とは異なる視点から被写体を撮像した参照画像との視差を所定の演算範囲について算出し、算出された視差に基づいて距離画像を生成する距離画像生成機能と、
前記基準画像が複数の被写体の境界であるエッジ部分を含むか否かを判定するエッジ判定機能と、
前記エッジ判定機能による判定結果に応じて、距離画像の生成における前記演算範囲を決定する演算範囲決定機能と、
をコンピュータに実現させることを特徴とする。
【００２０】
請求項７記載の発明によれば、画像取得機能により被写体を撮影した基準画像と基準画像とは異なる視点から被写体を撮像した参照画像とを取得し、距離画像生成機能によりこの基準画像と参照画像との視差を所定の演算範囲について算出し、算出された視差に基づいて距離画像を生成する。さらにエッジ判定機能によって基準画像が複数の被写体の境界であるエッジ部分を含むか否かを判定し、エッジ判定機能による判定結果に応じて、演算範囲決定機能により演算範囲が決定されるようになっている。
【００２１】
請求項８記載の発明は、請求項７に記載のプログラムであって、
前記演算範囲決定機能は、前記エッジ判定機能により基準画像が前記エッジ部分を含むと判定された場合には、前記演算範囲を水平方向における全画素とし、前記エッジ判定機能により基準画像が前記エッジ部分を含まないと判定された場合には、距離画像の生成における前記演算範囲を隣接画素近傍に限定するものであることを特徴とする。
【００２２】
請求項８記載の発明によれば、エッジ判定機能により基準画像がエッジ部分を含むと判定された場合には、演算範囲決定機能により距離画像の生成における演算範囲が水平方向における全画素とされ、エッジ判定機能により基準画像がエッジ部分を含まないと判定された場合には、演算範囲決定機能により距離画像の生成における演算範囲が隣接画素近傍に限定されるようになっている。
【００２３】
請求項９記載の発明は、請求項７又は請求項８に記載のプログラムであって、
前記距離画像生成機能は、前記基準画像を単位面積に分割し、分割された各単位面積ごとに参照画像との視差を算出するものであり、
前記エッジ判定機能は、前記単位面積ごとに前記基準画像が前記エッジ部分を含むか否かを判断するものであることを特徴とする。
【００２４】
請求項９記載の発明によれば、距離画像生成機能により、単位面積ごとに基準画像と参照画像との視差を算出し、エッジ判定機能は、この単位面積ごとに基準画像がエッジ部分を含むか否かを判断するようになっている。
【発明の効果】
【００２５】
請求項１、請求項４又は請求項７に記載の発明によれば、測距における演算時間を短縮するとともに、同一画面内に距離値の異なる対象物が存在している場合でも正確な測距を行うことができるとの効果を奏する。
【００２６】
請求項２、請求項５又は請求項８に記載の発明によれば、基準画像がエッジ部分を含むと判定された場合には、距離画像の生成における演算範囲が水平方向における全画素とされ、エッジ部分を含まないと判定された場合についてのみ、演算範囲を隣接画素近傍に限定するので、測距における演算時間を短縮するとともに、同一画面内に距離値の異なる対象物が存在している場合でも正確な測距を行うことができるとの効果を奏する。
【００２７】
請求項３、請求項６又は請求項９に記載の発明によれば、エッジ判定をある程度の範囲をもった単位面積ごとに行うので、点同士を比較する場合に比べて、エッジ部分を含むか否かの判断を容易に行うことができるとの効果を奏する。
【発明を実施するための最良の形態】
【００２８】
以下、図１から図７を参照しつつ、本発明に係る距離画像生成装置の一実施形態について説明する。
【００２９】
図１に示すように、距離画像生成装置１は、被写体を撮像する２つの撮像装置２ａ，２ｂを備えている。
撮像装置２ａ，２ｂは、それぞれ撮像手段として撮像素子（光電変換素子）３とこの撮像素子３の結像面（図示せず）に被写体光像を結像させるレンズ４とを備えている。撮像素子３は、例えばＣＣＤ（Charge Coupled Device）、ＣＭＯＳ（Complementary Metal-Oxide Semiconductor）等のイメージセンサであり、撮像素子３は、レンズ４を透過した入射光を電気信号に光電変換して取り込むことにより、被写体光像をアナログ画像信号に変換するようになっている。また、距離画像生成装置１は、撮像素子３によって得られたアナログ画像信号をデジタル画像信号に変換するＡ／Ｄ変換部５を備えている。
【００３０】
２つ撮像装置２ａ，２ｂは、一方が被写体をある視点から撮影した基準画像を取得し、他方が基準画像とは異なる視点から被写体を撮像し基準画像と対照される参照画像を取得するようになっており、２つ撮像装置２ａ，２ｂは、基準画像及び参照画像の画像データを取得する画像取得手段として機能する。なお、距離画像生成装置１が備える撮像装置２は複数であればよく、２つに限られるものではない。
【００３１】
また、距離画像生成装置１は、各撮像装置２ａ，２ｂによって取得された画像データについて、画像処理を行い、視差値を算出して距離画像を生成する画像処理部１０を備えている。
【００３２】
画像処理部１０は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）等の処理装置と、システムプログラム、後述する距離画像生成処理を行うための距離画像生成処理プログラム等、各種の制御プログラム等を格納するＲＯＭ（Read Only Memory）と、各種データを一時記憶するＲＡＭ（Random Access Memory）と（いずれも図示せず）、等により構成されるコンピュータであり、画像のレンズ歪みを補正するレンズ歪み補正部１１、各撮像装置２ａ，２ｂによって取得された画像の平行化処理を行う画像平行化処理部１２、画像から複数の被写体の境界であるエッジ部分を抽出するエッジ抽出部１３、画像にエッジ部分が含まれているか否かを判定するエッジ判定部１４、距離画像を生成する距離画像生成部１５等を備えている。
【００３３】
レンズ歪み補正部１１は、レンズ４を用いて結像させる場合に発生する歪み（レンズ歪み）を補正するものである。レンズ４には歪みがあるため、正しく画像を生成することができず、特に端部において画像が歪んでしまう。レンズ歪み補正部１１は、このようなレンズ歪みの補正を行うものであり、例えば、予めレンズ歪み補正用のパラメータを作成、記憶しておき、これに基づいて画像を補正する処理等を行う。なお、レンズ歪み補正部１１による補正の手法はここに例示したものに限定されず、各種公知の手段を用いることができる。
【００３４】
画像平行化処理部１２は、各撮像装置２ａ，２ｂによって取得された２つの画像について、あたかも平行移動したカメラから撮影したかのように変換してエピ極線が平行になるようにする画像の平行化処理を行うものである。画像の平行化処理は、２つの撮像装置２ａ，２ｂを厳密に正しく設置することは困難であるため、２つの撮像装置２ａ，２ｂの設置位置ずれ等により生じる画像の歪みを補正するために行われる。
【００３５】
画像について平行化処理を施すことにより、２つの画像は、縦方向（図２におけるＹ軸方向）においてずれのないものとなり、後述する相関演算処理を行う場合に、横方向（図２におけるＸ軸方向）のずれのみを検出すれば足りることとなる。なお、画像平行化処理部１２による画像平行化処理の手法はここに例示したものに限定されず、各種公知の手段を用いることができる。
【００３６】
エッジ抽出部１３は、例えば、画像に微分処理を行う微分フィルタの一種であるＬＯＧ（Laplacian of Gaussian）フィルタによりエッジ部分（複数の被写体の境界部分）を抽出し、エッジ情報の生成を行うものである。エッジ抽出部１３により生成されたエッジ情報は、図示しない記憶部に記憶されるようになっている。なお、エッジ抽出部１３によるエッジ部分の抽出の手法は、ここに例示したものに限定されず、各種公知の手段を用いることができる。
【００３７】
エッジ判定部１４は、後述する距離画像生成処理における相関演算を行う際の対象領域（単位面積）ごとに、エッジ抽出部１３によって生成されたエッジ情報に基づいてエッジ部分が含まれるか否かの判定を行うものである。例えば、予めエッジ部分と判断される所定の閾値を設定しておき、対象領域内の画像に閾値を越える部分が含まれている場合には、当該対象領域内の画像にエッジ部分が含まれると判断する。
【００３８】
エッジ判定部１４により対象領域（単位面積）ごとに判定を行った結果、当該対象領域内にエッジ部分が含まれていると判定された場合には、当該対象領域については、以下エッジ部分を含む場合の処理手順に従って距離画像生成処理が行われ（図６参照）、エッジ部分が含まれていないと判定された場合には、当該対象領域については、以下エッジ部分を含まない場合の処理手順に従って距離画像生成処理が行われる（図７参照）。
【００３９】
距離画像生成部１５は、撮像装置２ａ，２ｂによって取得された画像データのうち、いずれか一方を基準画像とし、他方を参照画像とした場合に、基準画像と参照画像との相関度を演算（相関演算）し、参照画像中、基準画像の当該対象領域と相関度の最も高かった領域について、基準画像と参照画像とのずれ量（以下「視差値」と称する。）を求める。
【００４０】
基準画像と参照画像との相関演算について図２を参照しつつ説明する。図２（ａ）は基準画像を表し、図２（ｂ）は参照画像を表している。図２において、各マスは１画素を表しており、基準画像及び参照画像の全画面は、ともに、Ｘ軸方向（横方向）が２６画素、Ｙ軸方向（縦方向）が２０画素で構成されている場合を例としている。
【００４１】
相関演算を行う場合には、距離画像生成部１５は、基準画像を所定の単位面積に分割し、基準画像中のある領域を視差値を算出する位置（対象領域）として設定する。対象領域の設定は、例えば図２（ａ）のＸ＝１，Ｙ＝１を基点として所定の範囲の領域が順次設定される。
ある領域（例えばＸ＝１〜５，Ｙ＝１〜５の２５画素）が対象領域として設定され、当該対象領域についての相関演算が完了すると、例えばＸ軸方向（画像の水平方向）に１画素ずつ順次ずらして次の対象領域（例えばＸ＝２〜６，Ｙ＝１〜５の２５画素）が設定され、相関演算が行われる。Ｘ軸方向の全画素（図２（ａ）において２６画素）についてすべての相関演算が完了すると、Ｙ軸方向に１画素ずらして次の対象領域（例えばＸ＝１〜５，Ｙ＝２〜６の２５画素）が設定され、相関演算が行われる。当該対象領域について相関演算が完了すると、さらに、対象領域をＸ軸方向に１画素ずつ順次ずらして次の対象領域（例えばＸ＝２〜６，Ｙ＝２〜６の２５画素）が設定され、相関演算が行われる。このように、Ｘ軸方向、Ｙ軸方向それぞれ１画素ずつずらして順次対象領域が設定され、全画面の全画素について相関演算が完了するまで、各対象領域についての相関演算が繰り返される。
【００４２】
次に、相関演算の具体的手法について説明する。
相関度の高い領域を探索する手法は各種ありうるが、本実施形態においては、ＳＡＤ（Sum of Absolute Differences：絶対誤差合計）演算という相関演算を行うことにより相関度の高い領域を探索する場合を例として説明する。なお、相関度を求める手法はここに例示するものに限定されない。
【００４３】
例えば、図２（ａ）に示すように、基準画像中の破線で囲んだ範囲（Ｘ＝８〜１２，Ｙ＝１４〜１８の２５画素）が対象領域として設定され、相関演算が行われる場合、距離画像生成部１５は、参照画像中、対象領域と同じＹ軸範囲（Ｙ＝１４〜１８）についてＸ軸方向（画像の水平方向）に順次比較対照領域を設定し、順次相関演算を行うことにより、対象領域と各比較対照領域との相関度を算出する。これにより参照画像中、対象領域と最も相関度の高い領域を探索する。
【００４４】
すなわち、距離画像生成部１５は、まず、対象領域を構成する各画素（図２（ａ）中のＸ＝８，Ｙ＝１４、Ｘ＝９，Ｙ＝１４・・・の全２５画素）の画像データ値を算出する。また、参照画像の中で対象領域に対照させるものとして設定した比較対照領域内の各画素（例えば、図２（ｂ）中の破線で囲んだ範囲（Ｘ＝８，Ｙ＝１４、Ｘ＝９，Ｙ＝１４・・・の全２５画素））の画像データ値を算出する。そして、対象領域を構成する各画素の画像データ値から、比較対照領域を構成する各画素の画像データ値を減算して、その絶対値を算出する。
例えば、対象領域内のある画素（図２（ａ）中のＸ＝８，Ｙ＝１４）の画像データ値が１００であり、これに対応する比較対照領域内の画素が図２（ｂ）におけるＸ＝８，Ｙ＝１４の画像データ値が５０である場合には、１００−５０＝５０となり、絶対値５０となる。
また例えば、対象領域内のある画素（図２（ａ）中のＸ＝１２，Ｙ＝１８）の画像データ値が５０であり、これに対応する比較対照領域内の画素が図２（ｂ）におけるＸ＝１２，Ｙ＝１８の画像データ値が９０である場合には、５０−９０＝−４０となり、絶対値４０となる。
このような画像データ値の減算及び絶対値の算出を対象領域及び比較対照領域を構成する２５画素全てについて行う。なお、この演算は、各画素について順次行われてもよいし、当該領域内の全画素について同時進行的に行われてもよい。
【００４５】
さらに、距離画像生成部１５は、算出された結果（絶対値）を全て加算する。そして加算後の値が小さければ小さいほど相関度が高く、同じ画像である場合には、限りなく０に近づく。例えば、図２の場合、図２（ａ）中の破線で囲んだ範囲（Ｘ＝８〜１２，Ｙ＝１４〜１８の２５画素）と、図２（ｂ）中の一点鎖線で囲んだ範囲（Ｘ＝１４〜１８，Ｙ＝１４〜１８の２５画素）とは同じ画像であり、前者を構成する各画素の画像データ値から後者を構成する各画素のうち対応するものの画像データ値をそれぞれ減算して絶対値を求め、算出結果を加算すると、限りなく０に近づく。
【００４６】
このようにして、参照画像中、基準画像の対象領域と相関度の最も高い領域を検索すると、距離画像生成部１５は、当該相関度の最も高い領域が、基準画像の対象領域とどの程度ずれているかのずれ量（視差値）を算出し、図３に示すように、相関度の最も高い領域がどの視差値に対応するかを求める。
すなわち、図２の例によれば、対象領域（図２（ａ）中のＸ＝８〜１２，Ｙ＝１４〜１８の２５画素）と、相関度の最も高い領域である図２（ｂ）中の一点鎖線で囲んだ範囲（Ｘ＝１４〜１８，Ｙ＝１４〜１８の２５画素）とは、Ｘ軸方向に６画素ずれている。したがって、この場合の視差値は６となる。
【００４７】
また、視差値と距離値との関係は、距離値＝定数／視差値であり、距離値は視差値の逆数となるとの関係にある。すなわち、視差値が小さくなるほど距離は遠くなり、視差値が大きくなるほど距離が近くなるという関係にある。このため、距離画像生成部１５は、前記相関演算により視差値を求め、視差値の逆数を求めることにより、距離値を取得して、距離画像を生成するようになっている。
【００４８】
さらに、本実施形態においては、距離画像生成部１５は、基準画像に設定された対象領域内にエッジ部分が含まれているか否かによって、相関演算を行う演算範囲を決定するようになっている。
すなわち、前記エッジ判定部１４により当該対象領域内にエッジ部分が含まれていると判断された場合には、距離画像生成部１５は、Ｘ軸方向（画像の水平方向）の全領域について対象領域との相関演算を行うように演算範囲を決定する。
これに対して、当該対象領域内にエッジ部分が含まれていないと判断された場合には、距離画像生成部１５は、相関演算を行う範囲をＸ軸方向の隣接画素近傍に限定する。
【００４９】
例えば、対象領域が図２（ａ）中のＸ＝１７〜２１，Ｙ＝１４〜１８の２５画素であり、エッジ判定部１４により当該対象領域内にエッジ部分が含まれていないと判断された場合であって、相関演算を行う演算範囲をＸ軸方向に隣接する５画素に限定する場合には、参照画像（図２（ｂ））において、Ｘ軸方向の演算範囲をＸ＝１２〜２６とし、この範囲で参照画像内に比較対照領域を設定して順次対象領域と各比較対照領域との相関演算を行う。なお、エッジ部分が含まれていないと判断された場合に、どの範囲を演算範囲とするか（何画素までを隣接画素近傍とするか）は、予めデフォルトとして設定がなされていてもよいし、ユーザが任意に設定できるようにしてもよい。
【００５０】
また、距離画像生成装置１には、距離画像生成部１５によって生成された距離画像を出力する出力部２０が設けられている。出力部２０は、例えば、ＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）等のモニタ（表示手段）であり、距離画像を表示させるようになっている。なお、出力部１５は、モニタに限定されず、例えば、プリンタ等の外部機器（出力手段）と接続するための通信部であり、生成された距離画像を外部機器に送信して出力可能に構成されていてもよい。
【００５１】
以下、図４から図７を参照しつつ、距離画像生成装置１によって行われる距離画像生成方法について説明する。
【００５２】
距離画像生成装置１によって距離画像を生成するときは、まず、距離画像生成部１５は、２つの撮像装置２ａ，２ｂにより被写体を撮像し、基準画像、参照画像の画像データを取得する。撮像装置２ａ，２ｂにより取得された基準画像、参照画像の画像データは、Ａ／Ｄ変換部５によりＡ／Ｄ変換され、画像処理部１０に送られる。
【００５３】
図４に示すように、基準画像、参照画像の画像データが画像処理部１０に送られると、各画像データについて、レンズ歪み補正部１１による歪み補正及び画像平行化処理部１２による画像平行化処理が施される（ステップＳ１）。次に、エッジ抽出部１３によりエッジ部分を抽出しエッジ情報を生成するエッジ情報生成処理が行われる（ステップＳ２）。生成されたエッジ情報は各画素ごとに図示しない記憶部に記憶される。
【００５４】
さらに、距離画像生成部１５により距離画像生成処理が行われ（ステップＳ３）、被写体の距離画像が生成される。なお、この距離画像生成処理は、ＣＰＵ等から構成されるコンピュータである画像処理部１０と前記距離画像生成処理プログラムとの協働により実現される。
【００５５】
次に距離画像生成処理の具体的処理手順について、図５を参照しつつ説明する。
【００５６】
図５に示すように、距離画像生成処理を行う場合には、まず、距離画像生成部１５により、基準画像内における視差値を算出する位置（対象領域：例えば、図２（ａ）中のＸ＝８〜１２，Ｙ＝１４〜１８の２５画素）が設定される（ステップＳ１１）。
次に、エッジ抽出部１３によって生成されたエッジ情報のうち当該対象領域についての情報が読み出され、エッジ判定部１４により当該対象領域内にエッジ部分が含まれているか否かが判断される（ステップＳ１２）。そして、距離画像生成部１５は、演算範囲を決定する機能部として機能し、エッジ判定部１４によりエッジ部分が含まれていると判断された場合には（ステップＳ１２；ＹＥＳ）、以降の処理においてＸ軸方向の全ての画素を演算範囲とするエッジ用の相関演算処理であるエッジ用処理（図６参照）を適用し（ステップＳ１３）、エッジ判定部１４によりエッジ部分が含まれていないと判断された場合には（ステップＳ１２；ＮＯ）、以降の処理においてＸ軸方向の画素のうち隣接する画素近傍のみを演算範囲とする非エッジ用の相関演算処理である非エッジ用処理（図７参照）を適用する（ステップＳ１４）。
【００５７】
ここで、図６を参照しつつ、エッジ用の相関演算処理であるエッジ用処理について説明する。
【００５８】
対象領域内にエッジ部分が含まれている場合（ステップＳ１２；ＹＥＳ）には、距離画像生成部１５は、相関演算を行う範囲をＸ軸方向（画像の水平方向）の全画素にわたる視差範囲（視差０〜ｄｍａｘ（本実施形態においては０〜２５。図２参照））に設定する（ステップＳ２１）。そして、まず、参照画像のうち、対象領域に対して視差ｄ＝０の領域を比較対照領域として設定し（ステップＳ２２）、この比較対照領域について、対象領域との相関演算を行い、視差ｄにおける相関度を算出する（ステップＳ２３）。
【００５９】
視差ｄにおける相関度の算出が完了すると、距離画像生成部１５は、ｄ＋１がｄｍａｘより大きいかを常に判断し、次に比較対照領域とすべき領域があるか否かを判断する（ステップＳ２４）。ｄ＋１がｄｍａｘに満たない場合には（ステップＳ２４；ＮＯ）、次に、視差ｄ＝ｄ＋１の領域を比較対照領域として設定し（ステップＳ２５）、この比較対照領域について、対象領域との相関演算を行い、視差ｄにおける相関度を算出する（ステップＳ２３）。他方、ｄ＋１がｄｍａｘより大きい場合（ステップＳ２４；ＹＥＳ）には、算出された相関度が最も高い領域の視差値を、設定された範囲（対象領域）についての視差値と決定して（ステップＳ２６）、エッジ用の相関演算処理を終了する。
【００６０】
また、非エッジ用の相関演算処理である非エッジ用処理について、図７を参照しつつ説明する。
【００６１】
対象領域内にエッジ部分が含まれていない場合（ステップＳ１２；ＮＯ）には、距離画像生成部１５は、対象領域に隣接する画素の視差値情報を取得し、この値をｄ０とする（ステップＳ３１）。そして、距離画像生成部１５は、相関演算を行う範囲を、この隣接画素の視差値前後（ｄ０−α＜ｄ＜ｄ０＋α）に設定する（ステップＳ３２）。例えば、隣接画素の視差値±５の範囲を相関演算を行う演算範囲とする場合には、相関演算を行う演算範囲を、ｄ０−５＜ｄ＜ｄ０＋５に設定する。
そして、まず、参照画像のうち、対象領域に対して視差ｄ＝ｄ０−αの領域を比較対照領域として設定し（ステップＳ３４）、この比較対照領域について、対象領域との相関演算を行い、視差ｄ０−αにおける相関度を算出する（ステップＳ３５）。
【００６２】
視差ｄ０−αにおける相関度の算出が完了すると、距離画像生成部１５は、ｄ＋１がｄ０＋αより大きいかを常に判断し、次に比較対照領域とすべき領域があるか否かを判断する（ステップＳ３５）。ｄ＋１がｄ０＋αに満たない場合には（ステップＳ３５；ＮＯ）、次に、視差ｄ＝ｄ＋１の領域を比較対照領域として設定し（ステップＳ３６）、この比較対照領域について、対象領域との相関演算を行い、視差ｄにおける相関度を算出する（ステップＳ３４）。他方、ｄ＋１がｄ０＋αより大きい場合（ステップＳ３５；ＹＥＳ）には、算出された相関度が最も高い領域の視差値を、設定された範囲（対象領域）についての視差値と決定して（ステップＳ３７）、非エッジ用の相関演算処理を終了する。
【００６３】
なお、対象領域に隣接する画素の視差値情報が未だ取得されていない場合には、まず、対象領域について参照画像中に設定された比較対照領域との相関演算を行い、視差値情報を取得する。そして、次に当該対象領域と隣接する画素について相関演算を行うときに当該対象領域の視差値情報として当該視差値をｄ０とする。
【００６４】
次に、図５に戻り、当該対象画像についてエッジ用処理（ステップＳ１３）又は非エッジ用処理（ステップＳ１４）による相関演算処理が終了すると、距離画像生成部１５は、相関演算が全画面（図２においては、２６画素×２０画素）について終了したかを判断し（ステップＳ１５）、終了した場合（ステップＳ１５；ＹＥＳ）には処理を終了する。また、相関演算の終了していない箇所がある場合（ステップＳ１５；ＮＯ）には、距離画像生成部１５は、対象領域を次の位置（例えば、図２（ａ）中のＸ＝９〜１３，Ｙ＝１４〜１８の２５画素）に移動して（ステップＳ１６）、当該領域を新たな対象領域として設定し（ステップＳ１１）、ステップＳ１２からステップＳ１５の処理を繰り返す。
そして、距離画像生成部１５は、視差値を取得すると、この逆数を求めて距離値を得、距離画像を生成する。
【００６５】
以上より、本実施形態における距離画像生成装置１、距離画像生成方法及びプログラムによれば、エッジ部分を含まない領域については、相関演算を行う範囲を隣接画素の視差値前後に限定するので、距離画像を生成する際の相関演算を行う回数を減少させることができ、相関演算の処理時間を短縮することができる。他方で、エッジ部分を含む領域については、Ｘ軸方向（画像の水平方向）における全領域を相関演算を行う対象（演算範囲）とするので、被写体が複数重なり合っている場合でも、各被写体までの距離を正確に算出することができる。
このように、当該領域がエッジ部分を含むか否かにより演算範囲を決定し切り替えるので、被写体が複数重なり合っている場合でも、各被写体までの距離を正確に算出できるとともに、可能な限り相関演算の処理時間を短縮することができる。
【００６６】
また、本実施形態においては、２５画素ずつの範囲を単位面積として、相関演算を行っているので、点（１画素）同士を対比する場合と比較して容易かつ正確に相関度を求めることができる。
【００６７】
なお、本実施形態においては、基準画像を２５画素ずつの単位面積に分割して対象領域として設定し、この単位面積ごと（対象領域ごと）に相関演算を行う場合を例として説明したが、対象領域の範囲は、２５画素ずつに限定されず、任意の範囲に設定することができる。
また、本実施形態においては、単位面積ごと（対象領域ごと）に相関演算を行うものとしたが、１画素ごとに基準画像と参照画像の相関度を算出するようにしてもよい。
【００６８】
また、本実施形態においては、エッジ用の相関演算処理において、Ｘ軸方向の全画素を演算範囲とする場合について説明したが、ユーザの用途等により、一定の限定された距離値の範囲のみ距離を求めることができればよい場合もある。このような場合には、用途に応じた距離範囲に対応する視差値の範囲を演算範囲として設定し、この範囲内においてのみ相関演算を行うようにしてもよい。
例えば、１００ｍ以上離れた距離にあるものの距離のみを求めれば足りる場合には、１００ｍ以上の距離値に対応する視差値の範囲を演算範囲として設定する。これにより、エッジ用の相関演算処理においても、一層相関演算の処理時間を短縮することができる。
【図面の簡単な説明】
【００６９】
【図１】本実施形態に係る距離画像生成装置の全体構成を示すブロック図である。
【図２】本実施形態に係る基準画像と参照画像との演算範囲を説明する説明図である。
【図３】相関度と視差地との関係を示すグラフである。
【図４】本実施形態に係る距離画像生成装置により行われる処理を表すフローチャートである。
【図５】本実施形態に係る距離画像生成装置により行われる距離画像生成処理を表すフローチャートである。
【図６】図５に示す距離画像生成処理におけるエッジ用処理を表すフローチャートである。
【図７】図５に示す距離画像生成処理における非エッジ用処理を表すフローチャートである。
【符号の説明】
【００７０】
１  距離画像生成装置
２ａ，２ｂ  撮像装置
１０  画像処理部
１１  レンズ歪み補正部
１２  画像平行化処理部
１３  エッジ抽出部
１４  エッジ判定部
１５  距離画像生成部
【図１】
2008058279.tif 000003
【図２】
2008058279.tif 000004
【図３】
2008058279.tif 000005
【図４】
2008058279.tif 000006
【図５】
2008058279.tif 000007
【図６】
2008058279.tif 000008
【図７】
2008058279.tif 000009