(57)【特許請求の範囲】
【請求項１】
画像に関する処理を行う情報処理システムであって、
第１方向に沿って複数の画素がそれぞれ配列され、且つ前記第１方向とは異なる第２方向に沿って所定数の画素がそれぞれ配列され、相互に重なり合う前記第２方向に沿った１以上の画素列を含んだ重複領域を有する第１および第２処理対象領域を前記画像に対して設定する設定手段と、
前記第１および第２処理対象領域を含む画像領域に関し、前記第２方向に沿った画素列ごとに１次元演算を行う第１演算手段と、
前記第１演算手段による演算結果を記憶する記憶手段と、
前記重複領域については同一の演算結果を用いつつ、前記記憶手段に記憶された演算結果に対して、前記第１方向に沿った画素列ごとに１次元演算を行うことで、前記第１および第２処理対象領域に関する２次元演算をそれぞれ行う第２演算手段と、
異なる視点から撮像された第１画像および第２画像を取得する取得手段と、
を備え、
前記設定手段が、
前記第１画像上で指定される指定点を内包し、且つ所定サイズを有する基準領域を、前記第１画像に設定する第１設定手段と、
前記所定サイズを有する複数の比較領域を、前記第２画像における複数の位置に設定する第２設定手段と、
を有し、
前記情報処理システムが、
各前記比較領域について、前記基準領域内の画像と、前記比較領域内の画像とに関する相関値を算出する相関演算手段と、
前記相関演算手段によって前記複数の比較領域についてそれぞれ算出された複数の相関値に基づき、前記指定点に対応する前記第２画像上の対応点を検出する検出手段と、
を更に備え、
前記複数の比較領域が、
前記第１方向に沿ってそれぞれ所定画素数ずつずれ、且つ相互に重なり合う前記第２方向に沿った１以上の画素列を含んだ重複領域を有する第１および第２比較領域を含み、
前記第１および第２比較領域が、
それぞれ前記第１および第２処理対象領域であり、
前記相関演算手段が、
前記基準領域に係る２次元演算の結果と、前記第１および第２演算手段による前記第１および第２比較領域に係る２次元演算の結果とに基づき、各前記比較領域に係る相関値を算出することを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記第１設定手段が、
前記第１画像上で指定される複数の指定点をそれぞれ内包し、且つ前記所定サイズをそれぞれ有する複数の基準領域を、前記第１画像における複数の位置にそれぞれ設定し、
前記複数の基準領域が、
前記第１方向に沿ってそれぞれ所定画素数ずつずれ、且つ相互に重なり合う前記第２方向に沿った１以上の画素列を含んだ重複領域を有する第１および第２基準領域を含み、
前記第１および第２基準領域が、
それぞれ前記第１および第２処理対象領域であり、
前記相関演算手段が、
前記第１および第２演算手段による前記第１および第２基準領域に係る２次元演算の結果に基づき、各前記基準領域について、各前記比較領域に係る相関値を算出し、
前記検出手段が、
前記第１画像上の各前記指定点に対応する前記第２画像上の各対応点を検出することを特徴とする情報処理システム。
【請求項３】
請求項２に記載の情報処理システムであって、
前記第１および第２画像が、
所定方向に離隔配置された第１および第２撮像手段によってそれぞれ撮像され、
前記第１方向が、
前記第１および第２画像上で前記所定方向に対応する方向であり、
前記第２設定手段が、
前記第２画像に対して、前記複数の比較領域を、各前記比較領域が前記第１方向に所定画素数ずつずらされるように時間順次に設定し、
前記記憶手段が、
前記第１設定手段により前記第１方向に沿って前記複数の基準領域が設定される際には、前記複数の比較領域に係る１次元演算の結果を記憶することを特徴とする情報処理システム。
【請求項４】
請求項１に記載の情報処理システムであって、
前記第１演算手段が、
前記第２画像のうち、前記第２方向に沿って前記所定数の画素をそれぞれ有し、且つ前記第１方向に向けて並べられた複数の画素列に関して、画素列ごとに１次元演算を行い、
前記第２設定手段が、
前記第２画像に対して、前記複数の比較領域を、各前記比較領域が前記第１方向に所定画素数ずつずらされるように時間順次に設定し、
前記第２演算手段が、
前記第２設定手段によって各前記比較領域が設定される度に、前記記憶手段に記憶された各前記比較領域を構成する複数の画素列に係る演算結果に対して、前記第１方向に沿った画素列ごとに１次元演算を行うことで、各前記比較領域に関する２次元演算をそれぞれ行うことを特徴とする情報処理システム。
【請求項５】
画像に関する処理を行う情報処理システムであって、
第１方向に沿って複数の画素がそれぞれ配列され、且つ前記第１方向とは異なる第２方向に沿って所定数の画素がそれぞれ配列され、相互に重なり合う前記第２方向に沿った１以上の画素列を含んだ重複領域を有する第１および第２処理対象領域を前記画像に対して設定する設定手段と、
前記第１および第２処理対象領域を含む画像領域に関し、前記第２方向に沿った画素列ごとに１次元演算を行う第１演算手段と、
前記第１演算手段による演算結果を記憶する記憶手段と、
前記重複領域については同一の演算結果を用いつつ、前記記憶手段に記憶された演算結果に対して、前記第１方向に沿った画素列ごとに１次元演算を行うことで、前記第１および第２処理対象領域に関する２次元演算をそれぞれ行う第２演算手段と、
異なる視点から撮像された第１画像および第２画像を取得する取得手段と、
を備え、
前記設定手段が、
前記第１画像上で指定される第１指定点を内包し、且つ所定サイズを有する第１基準領域と、前記第１画像上で指定される第２指定点を内包し、且つ前記所定サイズを有する第２基準領域とを、前記第１画像に設定する第１設定手段と、
前記所定サイズを有する第１および第２比較領域を、前記第２画像に設定する第２設定手段と、
を有し、
前記情報処理システムが、
前記第１基準領域内の画像と、前記第１比較領域内の画像とに関する第１相関値と、前記第２基準領域内の画像と、前記第２比較領域内の画像とに関する第２相関値とを算出する相関演算手段と、
前記相関演算手段によって算出された前記第１および第２相関値に基づき、前記第１および第２指定点にそれぞれ対応する前記第２画像上の第１および第２対応点を検出する検出手段と、
を更に備え、
前記第１および第２比較領域が、
前記第１方向に沿って所定画素数ずれ、且つ相互に重なり合う前記第２方向に沿った１以上の画素列を含んだ重複領域を有し、
前記第１および第２比較領域が、
それぞれ前記第１および第２処理対象領域であり、
前記相関演算手段が、
前記第１および第２基準領域に係る２次元演算の結果と、前記第１および第２演算手段による前記第１および第２比較領域に係る２次元演算の結果とに基づき、前記第１および第２相関値を算出することを特徴とする情報処理システム。
【請求項６】
請求項１から請求項５のいずれかに記載の情報処理システムであって、
前記検出手段によって、前記相関演算手段で算出される各前記比較領域に係る相関値に基づき、前記第１画像上の指定点に対応する前記第２画像上の対応点を検出する処理が、ウィンドウ内のパターンを周波数分解し、振幅成分を抑制した信号の類似度に基づいて対応位置を演算する処理であることを特徴とする情報処理システム。
【請求項７】
請求項６に記載の情報処理システムであって、
前記周波数分解する処理が、
フーリエ変換、離散コサイン変換、離散サイン変換、ウェーブレット変換、およびアダマール変換のうちのいずれかの演算を含むことを特徴とする情報処理システム。
【請求項８】
画像に関する処理を行う情報処理システムであって、
第１方向に沿って複数の画素がそれぞれ配列され、且つ前記第１方向とは異なる第２方向に沿って所定数の画素がそれぞれ配列され、相互に重なり合う前記第２方向に沿った１以上の画素列を含んだ重複領域を有する第１および第２処理対象領域を前記画像に対して設定する設定手段と、
前記第１および第２処理対象領域を含む画像領域に関し、前記第２方向に沿った画素列ごとに１次元演算を行う第１演算手段と、
前記第１演算手段による演算結果を記憶する記憶手段と、
前記重複領域については同一の演算結果を用いつつ、前記記憶手段に記憶された演算結果に対して、前記第１方向に沿った画素列ごとに１次元演算を行うことで、前記第１および第２処理対象領域に関する２次元演算をそれぞれ行う第２演算手段と、
所定方向に離隔配置された第１および第２撮像手段によってそれぞれ撮像された第１および第２画像を取得する取得手段と、
を備え、
前記設定手段が、
前記第１画像上で指定される指定点を内包する画像領域から、前記第１方向に所定の間引き度合いで、第１所定数の画素列を認識することで、前記第２方向に沿って第２所定数の画素を有し、且つ前記第１方向に沿って前記第１所定数の画素を有する第１基準領域を、前記第１画像に対して設定し、
前記第１演算手段が、
前記第２画像のうち、前記第２方向に沿って前記第２所定数の画素をそれぞれ有し、且つ前記第１方向に向けて並べられた複数の画素列に関して、画素列ごとに１次元演算を行い、
前記設定手段が、
前記複数の画素列から前記所定の間引き度合いで認識された前記第１所定数の画素列によってそれぞれ形成された複数の第１比較領域を、前記第２画像に対して設定し、
前記第２演算手段が、
前記記憶手段に記憶された演算結果のうち、各前記第１比較領域を構成する画素列に関する演算結果に対して、前記第１方向に沿った画素列ごとに１次元演算を行うことで、各前記第１比較領域に関する２次元演算を行い、
前記情報処理システムが、
前記第１基準領域に係る２次元演算の結果と、各前記第１比較領域に関する２次元演算の結果とに基づき、前記第１基準領域内の画像と、各前記第１比較領域内の画像とに関する第１相関値を算出する第１相関演算手段と、
前記第１相関演算手段によって前記複数の第１比較領域についてそれぞれ算出された複数の第１相関値に基づき、前記指定点に対応する前記第２画像上の対応点候補を検出する第１検出手段と、
を更に備え、
前記設定手段が、
前記指定点を内包し、前記第２方向に沿って前記第２所定数の画素をそれぞれ有し、且つ前記第１方向に沿って隣接配置される前記第１所定数の画素列からなる第２基準領域を、前記第１画像に対して設定するとともに、前記対応点候補を内包し、且つ前記複数の画素列に含まれる前記第１所定数の画素列によってそれぞれ形成された複数の第２比較領域を、前記第２画像に対して設定し、
前記第２演算手段が、
前記記憶手段に記憶された演算結果のうち、各前記第２比較領域を構成する画素列に関する演算結果に対して、前記第１方向に沿った画素列ごとに１次元演算を行うことで、各前記第２比較領域に関する２次元演算を行い、
前記情報処理システムが、
前記第２基準領域に係る２次元演算の結果と、各前記第２比較領域に関する２次元演算の結果とに基づき、前記第２基準領域内の画像と、各前記第２比較領域内の画像とに関する第２相関値を算出する第２相関演算手段と、
前記第２相関演算手段によって前記複数の第２比較領域についてそれぞれ算出された複数の第２相関値に基づき、前記指定点に対応する前記第２画像上の対応点を検出する第２検出手段と、
を更に備えることを特徴とする情報処理システム。
【請求項９】
請求項８に記載の情報処理システムであって、
前記設定手段が、
前記第１画像上で指定される複数の指定点に対して、複数の前記第１および第２基準領域を、前記第１画像における複数の位置にそれぞれ設定し、
前記第２検出手段が、
前記第１画像上の各指定点に対応する前記第２画像上の各対応点を検出することを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に関する処理を行う情報処理技術に関する。
【背景技術】
【０００２】
ステレオカメラによって異なる視点から撮像し取得された２つの画像の各画素を相互に対応付けし、その得られた対応関係から三角測量の原理に基づいて、画像上の各点の３次元位置を算出する方法が知られている。
【０００３】
図４０は、画像間の対応点から三角測量の原理に基づいて、３次元位置を算出する方法を模式的に示す図である。
【０００４】
基準カメラと参照カメラとの対応点位置の差がΔｄであった場合に、対象物までの距離Ｄは、次の式で算出される。
【０００５】
Ｄ＝ｆＢ／Δｄ：
但し、カメラの基線長をＢ、カメラレンズの焦点距離をｆとする。
【０００６】
このとき、対象物の３次元位置(Ｘ,Ｙ,Ｚ)は、次の式で算出される。
【０００７】
Ｘ＝ｘＤ／ｆ、Ｙ＝ｙＤ／ｆ、Ｚ＝Ｄ：
但し、上記のｘ、ｙは、基準画像上の注目画素の座標である。
【０００８】
ところで、近年、異なる視点から撮影した２つの画像の各座標点を相互に対応付ける方法（対応点探索方法）として、ロバストかつ高精度な対応付けが可能な位相限定相関法を用いた方法が提案されている。
【０００９】
例えば、位相限定相関法を用いて、画像中の目標物体までの距離を測定することができる技術が提案され（例えば、特許文献１）、更に、位相限定相関法を画像間の各座標点の対応付けに利用する技術が提案されている（例えば、非特許文献１）。なお、特許文献１では、画像のうち、目標物体までの距離を測定したい画像領域に１つだけウィンドウを設定する技術が開示されている。
【００１０】
この位相限定相関法を用いた対応点探索方法では、画像の振幅成分を取り除いて、画像の位相成分のみで相関演算を行うため、輝度変動やノイズに影響され難く、画像間の各座標点の対応付けを高精度で行うことができる。
【００１１】
【特許文献１】特開平１０−１３４１９６号
【００１２】
【非特許文献１】Kenji TAKITA et.al, 「High-Accuracy Subpixel Image Registration Based on Phase-Only Correlation」,IEICE TRANS. FUNDAMENTALS, VOL.E86-A, NO.8 AUGUST 2003, p.1925-1934
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、特許文献１では、演算処理に要する時間については全く触れられていないが、非特許文献１で開示されるように、画像間の各座標点の対応付けを行うためには、多数回の２次元フーリエ変換を含む２次元演算を行う必要性があり、演算処理に多大な時間を要する。すなわち、画像間の各座標点の対応付けを高速で行うことができない。
【００１４】
本発明は、上記課題に鑑みてなされたものであり、１つの画像に関する複数回の２次元演算を高速で行う技術を提供することを第１の目的とし、更に、画像間における座標点の対応付けを高速かつ高精度で行う技術を提供することを第２の目的とする。
【課題を解決するための手段】
【００１５】
上記の課題を解決するために、請求項１の発明は、画像に関する処理を行う情報処理システムであって、第１方向に沿って複数の画素がそれぞれ配列され、且つ前記第１方向とは異なる第２方向に沿って所定数の画素がそれぞれ配列され、相互に重なり合う前記第２方向に沿った１以上の画素列を含んだ重複領域を有する第１および第２処理対象領域を前記画像に対して設定する設定手段と、前記第１および第２処理対象領域を含む画像領域に関し、前記第２方向に沿った画素列ごとに１次元演算を行う第１演算手段と、前記第１演算手段による演算結果を記憶する記憶手段と、前記重複領域については同一の演算結果を用いつつ、前記記憶手段に記憶された演算結果に対して、前記第１方向に沿った画素列ごとに１次元演算を行うことで、前記第１および第２処理対象領域に関する２次元演算をそれぞれ行う第２演算手段と、異なる視点から撮像された第１画像および第２画像を取得する取得手段とを備え、前記設定手段が、前記第１画像上で指定される指定点を内包し、且つ所定サイズを有する基準領域を、前記第１画像に設定する第１設定手段と、前記所定サイズを有する複数の比較領域を、前記第２画像における複数の位置に設定する第２設定手段とを有し、前記情報処理システムが、各前記比較領域について、前記基準領域内の画像と、前記比較領域内の画像とに関する相関値を算出する相関演算手段と、前記相関演算手段によって前記複数の比較領域についてそれぞれ算出された複数の相関値に基づき、前記指定点に対応する前記第２画像上の対応点を検出する検出手段とを更に備え、前記複数の比較領域が、前記第１方向に沿ってそれぞれ所定画素数ずつずれ、且つ相互に重なり合う前記第２方向に沿った１以上の画素列を含んだ重複領域を有する第１および第２比較領域を含み、前記第１および第２比較領域が、それぞれ前記第１および第２処理対象領域であり、前記相関演算手段が、前記基準領域に係る２次元演算の結果と、前記第１および第２演算手段による前記第１および第２比較領域に係る２次元演算の結果とに基づき、各前記比較領域に係る相関値を算出することを特徴とする。
【００２２】
また、請求項２の発明は、請求項１に記載の情報処理システムであって、前記第１設定手段が、前記第１画像上で指定される複数の指定点をそれぞれ内包し、且つ前記所定サイズをそれぞれ有する複数の基準領域を、前記第１画像における複数の位置にそれぞれ設定し、前記複数の基準領域が、前記第１方向に沿ってそれぞれ所定画素数ずつずれ、且つ相互に重なり合う前記第２方向に沿った１以上の画素列を含んだ重複領域を有する第１および第２基準領域を含み、前記第１および第２基準領域が、それぞれ前記第１および第２処理対象領域であり、前記相関演算手段が、前記第１および第２演算手段による前記第１および第２基準領域に係る２次元演算の結果に基づき、各前記基準領域について、各前記比較領域に係る相関値を算出し、前記検出手段が、前記第１画像上の各前記指定点に対応する前記第２画像上の各対応点を検出することを特徴とする。
【００２３】
また、請求項３の発明は、請求項２に記載の情報処理システムであって、前記第１および第２画像が、所定方向に離隔配置された第１および第２撮像手段によってそれぞれ撮像され、前記第１方向が、前記第１および第２画像上で前記所定方向に対応する方向であり、前記第２設定手段が、前記第２画像に対して、前記複数の比較領域を、各前記比較領域が前記第１方向に所定画素数ずつずらされるように時間順次に設定し、前記記憶手段が、前記第１設定手段により前記第１方向に沿って前記複数の基準領域が設定される際には、前記複数の比較領域に係る１次元演算の結果を記憶することを特徴とする。
【００２４】
また、請求項４の発明は、請求項１に記載の情報処理システムであって、前記第１演算手段が、前記第２画像のうち、前記第２方向に沿って前記所定数の画素をそれぞれ有し、且つ前記第１方向に向けて並べられた複数の画素列に関して、画素列ごとに１次元演算を行い、前記第２設定手段が、前記第２画像に対して、前記複数の比較領域を、各前記比較領域が前記第１方向に所定画素数ずつずらされるように時間順次に設定し、前記第２演算手段が、前記第２設定手段によって各前記比較領域が設定される度に、前記記憶手段に記憶された各前記比較領域を構成する複数の画素列に係る演算結果に対して、前記第１方向に沿った画素列ごとに１次元演算を行うことで、各前記比較領域に関する２次元演算をそれぞれ行うことを特徴とする。
【００２５】
また、請求項５の発明は、請求項１に記載の情報処理システムであって、画像に関する処理を行う情報処理システムであって、第１方向に沿って複数の画素がそれぞれ配列され、且つ前記第１方向とは異なる第２方向に沿って所定数の画素がそれぞれ配列され、相互に重なり合う前記第２方向に沿った１以上の画素列を含んだ重複領域を有する第１および第２処理対象領域を前記画像に対して設定する設定手段と、前記第１および第２処理対象領域を含む画像領域に関し、前記第２方向に沿った画素列ごとに１次元演算を行う第１演算手段と、前記第１演算手段による演算結果を記憶する記憶手段と、前記重複領域については同一の演算結果を用いつつ、前記記憶手段に記憶された演算結果に対して、前記第１方向に沿った画素列ごとに１次元演算を行うことで、前記第１および第２処理対象領域に関する２次元演算をそれぞれ行う第２演算手段と、異なる視点から撮像された第１画像および第２画像を取得する取得手段とを備え、前記設定手段が、前記第１画像上で指定される第１指定点を内包し、且つ所定サイズを有する第１基準領域と、前記第１画像上で指定される第２指定点を内包し、且つ前記所定サイズを有する第２基準領域とを、前記第１画像に設定する第１設定手段と、前記所定サイズを有する第１および第２比較領域を、前記第２画像に設定する第２設定手段とを有し、前記情報処理システムが、前記第１基準領域内の画像と、前記第１比較領域内の画像とに関する第１相関値と、前記第２基準領域内の画像と、前記第２比較領域内の画像とに関する第２相関値とを算出する相関演算手段と、前記相関演算手段によって算出された前記第１および第２相関値に基づき、前記第１および第２指定点にそれぞれ対応する前記第２画像上の第１および第２対応点を検出する検出手段とを更に備え、前記第１および第２比較領域が、前記第１方向に沿って所定画素数ずれ、且つ相互に重なり合う前記第２方向に沿った１以上の画素列を含んだ重複領域を有し、前記第１および第２比較領域が、それぞれ前記第１および第２処理対象領域であり、前記相関演算手段が、前記第１および第２基準領域に係る２次元演算の結果と、前記第１および第２演算手段による前記第１および第２比較領域に係る２次元演算の結果とに基づき、前記第１および第２相関値を算出することを特徴とする。
【００２６】
また、請求項６の発明は、請求項１から請求項５のいずれかに記載の情報処理システムであって、前記検出手段によって、前記相関演算手段で算出される各前記比較領域に係る相関値に基づき、前記第１画像上の指定点に対応する前記第２画像上の対応点を検出する処理が、ウィンドウ内のパターンを周波数分解し、振幅成分を抑制した信号の類似度に基づいて対応位置を演算する処理であることを特徴とする。
【００２７】
また、請求項７の発明は、請求項６に記載の情報処理システムであって、前記周波数分解する処理が、フーリエ変換、離散コサイン変換、離散サイン変換、ウェーブレット変換、およびアダマール変換のうちのいずれかの演算を含むことを特徴とする。
【００２８】
また、請求項８の発明は、画像に関する処理を行う情報処理システムであって、第１方向に沿って複数の画素がそれぞれ配列され、且つ前記第１方向とは異なる第２方向に沿って所定数の画素がそれぞれ配列され、相互に重なり合う前記第２方向に沿った１以上の画素列を含んだ重複領域を有する第１および第２処理対象領域を前記画像に対して設定する設定手段と、前記第１および第２処理対象領域を含む画像領域に関し、前記第２方向に沿った画素列ごとに１次元演算を行う第１演算手段と、前記第１演算手段による演算結果を記憶する記憶手段と、前記重複領域については同一の演算結果を用いつつ、前記記憶手段に記憶された演算結果に対して、前記第１方向に沿った画素列ごとに１次元演算を行うことで、前記第１および第２処理対象領域に関する２次元演算をそれぞれ行う第２演算手段と、所定方向に離隔配置された第１および第２撮像手段によってそれぞれ撮像された第１および第２画像を取得する取得手段とを備え、前記設定手段が、前記第１画像上で指定される指定点を内包する画像領域から、前記第１方向に所定の間引き度合いで、第１所定数の画素列を認識することで、前記第２方向に沿って第２所定数の画素を有し、且つ前記第１方向に沿って前記第１所定数の画素を有する第１基準領域を、前記第１画像に対して設定し、前記第１演算手段が、前記第２画像のうち、前記第２方向に沿って前記第２所定数の画素をそれぞれ有し、且つ前記第１方向に向けて並べられた複数の画素列に関して、画素列ごとに１次元演算を行い、前記設定手段が、前記複数の画素列から前記所定の間引き度合いで認識された前記第１所定数の画素列によってそれぞれ形成された複数の第１比較領域を、前記第２画像に対して設定し、前記第２演算手段が、前記記憶手段に記憶された演算結果のうち、各前記第１比較領域を構成する画素列に関する演算結果に対して、前記第１方向に沿った画素列ごとに１次元演算を行うことで、各前記第１比較領域に関する２次元演算を行い、前記情報処理システムが、前記第１基準領域に係る２次元演算の結果と、各前記第１比較領域に関する２次元演算の結果とに基づき、前記第１基準領域内の画像と、各前記第１比較領域内の画像とに関する第１相関値を算出する第１相関演算手段と、前記第１相関演算手段によって前記複数の第１比較領域についてそれぞれ算出された複数の第１相関値に基づき、前記指定点に対応する前記第２画像上の対応点候補を検出する第１検出手段とを更に備え、前記設定手段が、前記指定点を内包し、前記第２方向に沿って前記第２所定数の画素をそれぞれ有し、且つ前記第１方向に沿って隣接配置される前記第１所定数の画素列からなる第２基準領域を、前記第１画像に対して設定するとともに、前記対応点候補を内包し、且つ前記複数の画素列に含まれる前記第１所定数の画素列によってそれぞれ形成された複数の第２比較領域を、前記第２画像に対して設定し、前記第２演算手段が、前記記憶手段に記憶された演算結果のうち、各前記第２比較領域を構成する画素列に関する演算結果に対して、前記第１方向に沿った画素列ごとに１次元演算を行うことで、各前記第２比較領域に関する２次元演算を行い、前記情報処理システムが、前記第２基準領域に係る２次元演算の結果と、各前記第２比較領域に関する２次元演算の結果とに基づき、前記第２基準領域内の画像と、各前記第２比較領域内の画像とに関する第２相関値を算出する第２相関演算手段と、前記第２相関演算手段によって前記複数の第２比較領域についてそれぞれ算出された複数の第２相関値に基づき、前記指定点に対応する前記第２画像上の対応点を検出する第２検出手段とを更に備えることを特徴とする。
【００２９】
また、請求項９の発明は、請求項８に記載の情報処理システムであって、前記設定手段が、前記第１画像上で指定される複数の指定点に対して、複数の前記第１および第２基準領域を、前記第１画像における複数の位置にそれぞれ設定し、前記第２検出手段が、前記第１画像上の各指定点に対応する前記第２画像上の各対応点を検出することを特徴とする。
【発明の効果】
【００３２】
請求項１から請求項９のいずれに記載の発明によっても、１つの画像に設定された複数の処理対象領域について２次元演算が行われる際に、２つの処理対象領域が重複する領域については、同一の１次元演算の結果が利用されるため、演算量の低減が図られ、１つの画像に関する複数回の２次元演算が高速で行われる。
【００３７】
また、請求項１から請求項７のいずれに記載の発明によっても、１つの画像に設定された複数の領域について２次元演算が行われる際に、重なり合う領域については、同一の１次元演算の結果が利用されるため、演算量の低減が図られ、画像間における座標点の対応付けが高速かつ高精度で行われる。
【００３８】
また、請求項２および請求項９のいずれに記載の発明によっても、画像間における各座標点の対応付けが高速で行われる。
【００３９】
また、請求項３に記載の発明によれば、スキャン方向に沿って複数の基準領域が設定される際に、１次元演算の結果の再利用が更に図られるため、画像間における座標点の対応付けが更に高速化される。また、再利用される１次元演算の結果がある程度限定されるため、１次元演算の結果の記憶に必要な記憶容量の増大が極力抑制される。
【００４０】
また、請求項４に記載の発明によれば、第１方向に沿って順次に設定される複数の領域を構成する画素列に係る１次元演算が予め行われるため、既に１次元演算が行われたか否かといった判定が不要となり、パイプライン処理を利用した演算の高速化が可能となる。したがって、画像間における座標点の対応付けの更なる高速化が図られる。
【００４１】
また、請求項６および請求項７のいずれに記載の発明によっても、ウィンドウ内のパターンが周波数分解され、振幅成分を抑制した信号の類似度に基づいて対応位置が演算されるため、画像間における座標点の対応付けが高精度で行われる。
【００４２】
また、請求項８および請求項９のいずれに記載の発明によっても、低精度で対応点の候補が検出され、その対応点の候補を含む絞り込まれた領域について高精度で対応点が検出されるため、画像間における座標点の対応付けが更に高速で行われる。
【発明を実施するための最良の形態】
【００４５】
以下、本発明の実施形態を図面に基づいて説明する。
【００４６】
＜第１実施形態＞
＜情報処理システムの構成＞
図１は、本発明の第１実施形態に係る情報処理システム１Ａの概略構成を示す図であり、図２は、情報処理システム１Ａの要部構成を示すブロック図である。
【００４７】
情報処理システム１Ａは、２眼のステレオカメラ２と、ステレオカメラ２に対してデータ伝送可能に接続する情報処理装置３Ａとを備えている。
【００４８】
２眼のステレオカメラ２には、それぞれ撮像素子を有する２つの撮像系２１、２２が設けられている。撮像系２１，２２は、所定方向に沿って離隔配置され、カメラ正面の被写体ＯＢを、同期されつつ同じタイミングで異なる視点から撮像するように構成されている。撮像系２１，２２によって同じタイミングで撮像される２画像は、いわゆるステレオ画像であり、データ線ＣＢを介して情報処理装置３Ａに送信される。
【００４９】
なお、ステレオ画像を構成する２画像のうち、撮像系２１によって撮像されて取得される画像を、適宜「第１撮像画像」Ｇ１と称し、撮像系２２によって撮影されて取得される画像を、適宜「第２撮像画像」Ｇ２と称する。
【００５０】
情報処理装置３Ａは、例えばパーソナルコンピュータ（パソコン）で構成され、マウスやキーボードからなる操作部３１と、例えば液晶ディスプレイで構成される表示部３２と、ステレオカメラ２からのデータを受信するためのインターフェース(Ｉ／Ｆ)部３３とを備えている。また、情報処理装置３Ａは、記憶部３４と入出力部３５と制御部３６とを有している。
【００５１】
記憶部３４は、例えばハードディスクなどで構成され、後述する対応点探索処理を行うためのプログラムＰＧａなどが格納されている。
【００５２】
入出力部３５は、例えばディスクドライブを備えて構成され、光ディスクなどの記憶媒体９を受け付け、制御部３６との間でデータの授受を行うものである。
【００５３】
制御部３６は、プロセッサーとして働くＣＰＵ３６ａ、および情報を一時的に記憶するメモリ３６ｂを有し、情報処理装置３Ａの各部を統括的に制御するものである。制御部３６では、記憶部３４内のプログラムＰＧａを読み込んで実行することで、各種機能や情報処理などを実現する。
【００５４】
制御部３６のメモリ３６ｂには、記憶媒体９に記憶されているプログラムデータを入出力部３５を介して格納させることができる。これにより、この格納したプログラムを情報処理装置３Ａの動作に反映させることができる。
【００５５】
また、制御部３６は、ステレオカメラ２で取得したステレオ画像を構成する２画像（具体的には、第１および第２撮像画像Ｇ１，Ｇ２）間において対応点を探索する処理を行うが、この対応点探索処理については後述する。更に、制御部３６は、図４０を示して説明したように、画像間の対応点から三角測量の原理に基づき、被写体ＯＢの３次元位置を算出する。
【００５６】
表示部３２では、制御部３６で算出された被写体ＯＢの３次元位置に基づく被写体ＯＢの３次元画像が可視的に出力される。
【００５７】
なお、本実施形態では、説明を簡素化するために、ステレオカメラ２の収差は良好に補正されており、かつ撮像系２１，２２は、略平行（好ましくは完全に平行）に設定されているものとする。つまり、撮像系２１，２２の光軸が略平行（好ましくは完全に平行）に設定され、第１および第２撮像画像Ｇ１，Ｇ２で捉えられた被写体は、第１および第２撮像画像Ｇ１，Ｇ２の外縁に対して略同一の角度関係（好ましくは完全に同一の角度関係）を有しているものとする。また、実際のステレオカメラ２の構成がこのような条件になくても、画像処理によって同等の条件下で撮像されたステレオ画像に変換することも可能である。
【００５８】
＜対応点探索処理＞
情報処理装置３Ａでは、制御部３６において、ステレオ画像を構成する２画像間の対応点探索処理が行われる。
【００５９】
対応点探索手法としては、振幅成分を抑制した相関法が知られており、位相限定相関法やＤＣＴ符号限定相関法（参考論文：「画像信号処理と画像パターン認識の融合−ＤＣＴ符号限定相関とその応用」貴塚仁志）などがある。これらの相関法は、パターンの周波数分解信号から、振幅成分を抑制した位相成分のみの信号を用いて類似度演算を行うため、画像を取得するためのステレオカメラ２における撮影条件の差（ここでは、撮像系２１，２２における撮影条件の差）や、ノイズなどの影響を受けにくく、ロバストな対応点検索が可能である。
【００６０】
ここでは、位相限定相関法を用いた対応点探索の基本原理について説明する。
【００６１】
○位相限定相関法を用いた対応点探索の基本原理：
ステレオカメラ２の撮像系２１，２２により同期して取得された第１および第２撮像画像Ｇ１，Ｇ２のうち、第１撮像画像Ｇ１を基準画像として設定し、第２撮像画像Ｇ２を参照画像として設定する。以下、基準画像Ｇ１および参照画像Ｇ２とも称する。
【００６２】
なお、ここでは、基準画像Ｇ１および参照画像Ｇ２は、それぞれ相互に直交するＸ方向およびＹ方向に沿って多数の画素がマトリックス状に配置されて形成されているものとする。また、基準画像Ｇ１および参照画像Ｇ２では、Ｘ方向に沿って所定数（Ｎ個）の画素が配列されることで長辺が形成され、Ｘ方向とは異なるＹ方向に沿って所定数（Ｍ個）の画素が配列されることで短辺が形成されているものとする。
【００６３】
図３は、基準画像Ｇ１と参照画像Ｇ２との間において対応点探索を行う際に、基準画像Ｇ１および参照画像Ｇ２に対して設定されるウィンドウの設定態様を例示する図である。なお、図３および図３以降の図では、基準画像Ｇ１および参照画像Ｇ２の長辺に沿ったＸ方向と、短辺に沿ったＹ方向とを明示するために、ＸＹの直交する２軸が付されている。なお、基準画像Ｇ１および参照画像Ｇ２では、左下の画素が基準（例えば原点）とされ、各画素の位置がＸＹの座標（Ｘ，Ｙ）で示されるものとし、例えば、Ｘ方向に１画素ずれるとＸ座標の値が１増加し、Ｙ方向に１画素ずれるとＹ座標の値が１増加するものとする。
【００６４】
まず、図３(ａ)で示すように、基準画像Ｇ１上で指定される点（以下「指定点」と称する）Ｐを中心点として内包するウィンドウ（基準領域）Ｗ１が基準画像Ｇ１上に設定される。その一方で、図３(ｂ)で示すように、ウィンドウＷ１のサイズと同じサイズを有するウィンドウ（比較領域）Ｗ２が参照画像Ｇ２における複数の位置に設定される。
【００６５】
なお、基準領域Ｗ１および比較領域Ｗ２では、それぞれＸ方向およびＹ方向に沿って複数の画素がマトリックス状に配列されている。具体的には、Ｘ方向に沿って所定数Ｎ1の画素が配列され、Ｙ方向に沿って所定数Ｎ2の画素が配列されている。
【００６６】
次に、基準領域Ｗ１および各比較領域Ｗ２が演算処理の対象となる領域（処理対象領域）とされて、基準領域Ｗ１と各比較領域Ｗ２との相関を示す値（以下「相関値」と称する）が算出される。そして、各比較領域Ｗ２に係る相関値（ここでは、後述するＰＯＣ値）に基づき、参照画像Ｇ２上で指定点Ｐに対応する点（対応点）が検出される。
【００６７】
更に、基準画像Ｇ１に対して、図４(ａ)の矢印で示すように、指定点Ｐを中心として内包する基準領域Ｗ１が、上方向（＋Ｙ方向）から順に、左から右方向（Ｘ方向）に沿って１画素ずつずらされながら時間順次に設定され、各指定点Ｐに対応する対応点が、参照画像Ｇ２上で検出される。
【００６８】
つまり、基準画像Ｇ１については、＋Ｙ方向から−Ｙ方向に向けて並んだＸ方向に平行な各画素列に沿って、指定点Ｐが時間順次に設定される。そして、Ｘ方向に平行な１つの画素列に沿った指定点Ｐの設定が完了すると、１画素だけ−Ｙ方向に位置するＸ方向に平行な次の画素列に沿って指定点Ｐが時間順次に設定される。すなわち、指定点を内包する基準領域Ｗ１によって基準画像Ｇ１の走査（スキャン）が行われる。このスキャンの方向（スキャン方向）は、Ｘ方向に沿った方向、すなわちＸ方向に平行な方向となる。
【００６９】
なお、各対応点が検出される際には、図４(ｂ)で示すように、参照画像Ｇ２に対して、比較領域Ｗ２が、上方向（＋Ｙ方向）から順に、左から右方向（Ｘ方向）に沿って１画素ずつずらされながら時間順次に設定される。
【００７０】
つまり、参照画像Ｇ２については、Ｘ方向に沿って、比較領域Ｗ２が時間順次に設定され、Ｘ方向に平行な１つの画素列に沿った比較領域Ｗ２の設定が完了すると、１画素だけ−Ｙ方向にずれた位置に、Ｘ方向に沿って比較領域Ｗ２が時間順次に設定される。すなわち、参照画像Ｇ２が比較領域Ｗ２によって走査（スキャン）される。このスキャン方向は、Ｘ方向に沿った方向、すなわちＸ方向に平行な方向となる。
【００７１】
なお、指定点Ｐに対応する対応点が中心点となり得る領域が比較領域Ｗ２が設定される対象となる領域（設定対象領域）とされ、その限定された領域に比較領域Ｗ２が設定されるようにスキャンが行われることが、効率良く対応点が検出される上で好ましい。この設定対象領域については、撮像系２１，２２の配置、撮像系２１，２２の撮影方向（具体的には光軸の設定）、および撮像系２１，２２の撮影範囲（具体的には画角）などといった撮像系２１，２２に係る各種設定に従って適宜設定可能である。この設定対象領域の具体例については後述するが、例えば、図４(ｂ)で示したように、参照画像Ｇ２のほぼ全体がスキャンされるように、比較領域Ｗ２が設定される態様などが挙げられる。
【００７２】
図５は、位相限定相関法を用いた対応点探索処理を説明するための図である。
【００７３】
位相限定相関法を用いた対応点探索処理では、まず、基準画像Ｇ１に対するウィンドウＷ１の設定Ｔ０ａと、参照画像Ｇ２に対するウィンドウＷ２の設定Ｔ０ｂとが行われる。このとき、基準画像Ｇ１上のウィンドウＷ１内の画像領域（基準領域）と、参照画像Ｇ２上のウィンドウ内の画像領域（比較領域）とがそれぞれ抽出される。これらの画像領域については、次の数１のように表されるものとする。
【００７４】
【数１】
0005364982.tif 000002
【００７５】
ここで、上記の数１におけるｆ(ｎ1,ｎ2)およびｇ(ｎ1,ｎ2)は、基準画像Ｇ１上のウィンドウＷ１内の基準領域および参照画像Ｇ２上のウィンドウＷ２内の比較領域を示している。また、Ｎ1およびＮ2は、例えばＮ1＝２Ｍ1＋１、Ｎ2＝２Ｍ2＋１と設定されている。
【００７６】
次に、基準画像Ｇ１および参照画像Ｇ２のウィンドウＷ１，Ｗ２内の各画像領域に対し、次の数２で示す演算式を用いた２次元のフーリエ変換処理Ｔ１ａ、Ｔ１ｂが行われる。
【００７７】
【数２】
0005364982.tif 000003
【００７８】
なお、上記の数２のただし書におけるＷの添字Ｐには、Ｎ1、Ｎ2が代入され、またｋの添字ｓには、１、２が代入される。
【００７９】
このようなフーリエ変換処理Ｔ１ａ、Ｔ１ｂが施された各画像領域に対しては、次の数３で示す演算式を用いて、画像の振幅成分を除去するための規格化処理Ｔ２ａ、Ｔ２ｂが行われる。
【００８０】
【数３】
0005364982.tif 000004
【００８１】
規格化処理Ｔ２ａ、Ｔ２ｂが完了すると、次の数４で示す演算式を用いた合成処理Ｔ３が行われるとともに、数５で示す演算式を用いた２次元の逆フーリエ変換処理Ｔ４が行われる。これにより、各画像間の相関演算が実施されることとなり、その結果(ＰＯＣ値)が出力される。
【００８２】
【数４】
0005364982.tif 000005
【００８３】
【数５】
0005364982.tif 000006
【００８４】
以上の処理により、基準領域Ｗ１と比較領域Ｗ２との相関を示す演算結果(ＰＯＣ値)が得られ、例えば、図６で示すような結果（ＰＯＣ値）が得られる。
【００８５】
図６においては、ウィンドウ(Ｎ1×Ｎ2)内で相関が高い箇所のＰＯＣ値が大きくなっており、ＰＯＣ値のピークＪｃに対応する参照画像Ｇ２上のウィンドウＷ２内の位置が、基準画像Ｇ１上の基準領域Ｗ１の中心点(指定点)Ｐに対応した参照画像Ｇ２上の対応点に相当することとなる。
【００８６】
ここでは、１つの基準領域Ｗ１と、参照画像Ｇ２上に設定された複数の比較領域Ｗ２との間で相関演算が行われ、ＰＯＣ値のピークＪｃが検出される。その結果、基準画像Ｇ１上の指定点Ｐに対応した参照画像Ｇ２上の対応点が検出される。
【００８７】
更に、同様な手法により、基準画像Ｇ１に対して、指定点Ｐを中心点として内包する複数の基準領域Ｗ１が設定され、各指定点Ｐに対応した参照画像Ｇ２上の各対応点が検出される。
【００８８】
以上のような位相限定相関法を用いた対応点探索処理によれば、画像の振幅成分が除去され、画像の位相成分のみで相関演算が行われるため、輝度変動やノイズの影響が抑制されて対応点が精度良く検出される。
【００８９】
なお、ＰＯＣ値は、離散的に求められるため、隣接画素間で補間演算を行い、ピークＪｃの位置を１画素のサイズよりも細かいサブピクセルのサイズで推定することで、更に細かく対応点の検出を行うこともできる。補間演算の手法としては、離散的に求められたＰＯＣ値の分布から放物線の関数を求める手法などが考えられる。
【００９０】
ここまで、位相限定相関法による対応点探索の基本原理について説明したが、基準画像Ｇ１と参照画像Ｇ２との間で、各座標点の対応付けを行うためには、多数回の２次元フーリエ変換を含む２次元演算を行う必要性がある。したがって、２次元演算を単に繰り返し行ったのでは、演算処理に多大な時間を要してしまい、画像間の各座標点の対応付けを高速で行うことができない。
【００９１】
そこで、本願の発明者らは、１つの画像に対して複数回の２次元演算を高速で行う手法を創出することで、画像間における座標点の対応付けを高速かつ高精度で行う技術を創出した。
【００９２】
以下、１つの画像に対して複数回の２次元演算を高速で行うことができる２次元演算の手法について説明する。
【００９３】
○２次元演算の手法：
位相限定相関法による対応点探索では、離散的に存在する画素の画素値を用いてフーリエ変換が行われるため、離散フーリエ変換（discrete Fourier transform ：ＤＦＴ）が行われる。
【００９４】
ところで、２次元的に画素が配列される画像領域に対して２次元ＤＦＴを行うことは、一方向（例えば、Ｙ方向）に沿った画素列ごとに１次元ＤＦＴを行った後に、その１次元ＤＦＴの結果に対して、一方向とは異なる他方向（例えば、Ｙ方向と直交するＸ方向）に沿った画素列ごとに１次元ＤＦＴを行うことと等価であることが知られている。
【００９５】
そこで、本実施形態に係る情報処理システム１Ａでは、制御部３６により、図７で示すように、２次元的に画素が配列される基準領域Ｗ１および比較領域Ｗ２に関して、まず、一方向（例えば、Ｙ方向）に沿った画素列（例えば、画素列Ｌｙ）ごとに１次元ＤＦＴの演算が行われる。このとき、１次元ＤＦＴの演算結果がメモリ３６ｂに一時的に記憶される。そして、メモリ３６ｂに一時的に記憶された１次元ＤＦＴの結果に対して、一方向とは異なる他方向（例えば、Ｘ方向）に沿った画素列（例えば、画素列Ｌｘ）ごとに１次元ＤＦＴの演算が行われることで、２次元ＤＦＴの演算が行われる。
【００９６】
また、本実施形態に係る情報処理システム１Ａでは、基準画像Ｇ１に対して、複数の基準領域Ｗ１が時間順次に設定されて、その複数の基準領域Ｗ１に関する２次元ＤＦＴが行われる過程で、基準画像Ｇ１に対する基準領域Ｗ１の位置が、一方向（ここではＸ方向）に沿って時間順次に所定画素数（ここでは１画素）ずつずらされていく。
【００９７】
例えば、基準画像Ｇ１に対して、図８(ａ)で示すように基準領域Ｗ１が設定された次に、図８(ｂ)で示すように基準領域Ｗ１が設定される。このとき、基準領域Ｗ１を構成するＹ方向にそれぞれ沿った複数の画素列のうち、最も＋Ｘ側のＹ方向に沿った画素列Ｌｙを除く、残余の画素列Ｌｙ（図８(ｂ)で砂地ハッチングが付された画素列）については、前回の基準領域Ｗ１を構成するＹ方向に沿った複数本の画素列Ｌｙと重複する。
【００９８】
つまり、基準画像Ｇ１に対して、（Ｚ−１）回目（Ｚは２以上の自然数）に設定される基準領域Ｗ１と、Ｚ回目に設定される基準領域Ｗ１とは、（Ｚ−１）回目の基準領域Ｗ１の最も−Ｘ側の画素列Ｌｙ、およびＺ回目の基準領域Ｗ１の最も＋Ｘ側の画素列Ｌｙを除いて、相互に重なり合う領域（重複領域）を有する。
【００９９】
そして、本実施形態に係る情報処理システム１Ａでは、基準画像Ｇ１に対して（Ｚ−１）回目に設定される基準領域Ｗ１を構成する画素列Ｌｙごとに１次元ＤＦＴの演算が行われた結果（演算結果）がメモリ３６ｂに保存される。そして、Ｚ回目の基準領域Ｗ１のうち、（Ｚ−１）回目の基準領域Ｗ１との重複領域を構成する画素列Ｌｙに関しては、画素列Ｌｙごとの１次元ＤＦＴが再度行われることなく、メモリ３６ｂに保存された演算結果が再利用される。
【０１００】
つまり、重複領域については、メモリ３６ｂに保存された同一の演算結果が用いられつつ、メモリ３６ｂに記憶された演算結果に対して、Ｘ方向に沿った画素列Ｌｘごとに１次元ＤＦＴの演算が行われる。その結果、基準領域Ｗ１に関する２次元演算が行われる。
【０１０１】
ここで、仮に、基準領域Ｗ１のサイズを規定する所定数Ｎ1，Ｎ2をそれぞれ８とし、８個の画素によって形成される各画素列について１次元ＤＦＴを行う際の所要時間をＡとし、１つの基準領域Ｗ１に関して２次元ＤＦＴの演算を行う際に要する時間をＴ１とすると、Ｔ１＝Ａ×８＋Ａ×８＝１６×Ａとなる。
【０１０２】
また、基準画像Ｇ１を構成する画素数を規定する所定数Ｎ，Ｍについて、Ｎ≫８，Ｍ≫８の関係が成立する場合には、基準画像Ｇ１の全域に渡って、指定点Ｐが指定されると、基準画像Ｇ１には、約Ｎ×Ｍ個の基準領域Ｗ１が時間順次に設定される。より詳細には、あるＹ座標に関してＸ方向に沿った約Ｍ個の基準領域Ｗ１が時間順次に設定され、この約Ｍ個の基準領域Ｗ１の列が、約Ｎ列分、時間順次に設定される。
【０１０３】
このとき、基準画像Ｇ１に対して新たな基準領域Ｗ１が設定される度に、新たに１次元フーリエ変換の演算をすべき画素列Ｌｙが１本増加する。よって、基準画像Ｇ１のあるＸ方向に沿った画素列上に指定点Ｐが順次に設定されていく際、すなわちあるＹ座標については、基準画像Ｇ１のＸ方向に沿った画素数に相当する約Ｍ回の１次元ＤＦＴの演算が行われ、この約Ｍ回の１次元ＤＦＴの演算には、Ａ×Ｍの処理時間を要する。更に、基準画像Ｇ１の各Ｙ座標すなわち約Ｎ列について、同様の処理時間を要するため、約Ｎ×Ｍ個の基準領域Ｗ１を構成する全画素列Ｌｙに関する１次元ＤＦＴの演算を行う際に要する時間は、約Ａ×Ｎ×Ｍとなる。
【０１０４】
一方、約Ｎ×Ｍ個の基準領域Ｗ１に関する２次元フーリエ変換の演算を完了するために、約Ｎ×Ｍ個の基準領域Ｗ１をそれぞれ構成するＸ方向に沿った全画素列Ｌｘの本数（約８×Ｎ×Ｍ本）に相当する回数分、画素列Ｌｘごとの１次元ＤＦＴの演算が行われ、その処理に要する時間は、約Ａ×８×Ｎ×Ｍとなる。
【０１０５】
したがって、約Ｎ×Ｍ個の基準領域Ｗ１に関する２次元フーリエ変換を行う際に要する時間（本実施形態の所要時間）をＴtotalとすると、Ｔtotal≒Ａ×Ｎ×Ｍ＋Ａ×８×Ｎ×Ｍ＝９×Ａ×Ｎ×Ｍとなる。
【０１０６】
なお、仮に、従来技術のように、約Ｎ×Ｍ個の基準領域Ｗ１に関して２次元ＤＦＴが行われる際に、重複する画素列Ｌｙごとの１次元ＤＦＴの演算結果が再利用されることなく、各基準領域Ｗ１に関して、単に画素列Ｌｙごとに１次元ＤＦＴの演算が行われた後に、画素列Ｌｘごとに１次元ＤＦＴの演算が行われるものとすると、約Ｎ×Ｍ個の基準領域Ｗ１に関する２次元ＤＦＴに要する時間（従来の所要時間）をＴstとすると、Ｔst≒Ｍ×Ｎ×Ｔ１＝１６×Ａ×Ｎ×Ｍとなる。
【０１０７】
このように、本実施形態に係る情報処理システム１Ａでは、相互に隣接し合う（Ｚ−１），Ｚ回目の基準領域Ｗ１については、重複領域を構成する画素列Ｌｙごとの１次元ＤＦＴが再度行われず、メモリ３６ｂに保存された演算結果が再利用されるため、本実施形態の所要時間Ｔtotalは、従来の処理時間Ｔstと比較して、約半分（ここでは、Ｔtotal／Ｔst≒９／１６）まで大幅に短縮化される。
【０１０８】
また、本実施形態に係る情報処理システム１Ａでは、基準画像Ｇ１に対して順次に設けられる複数の基準領域Ｗ１と同様に、参照画像Ｇ２に対して順次に設定され、相互に隣接し合う（Ｚ−１），Ｚ回目の比較領域Ｗ２についても、重複領域を構成する画素列Ｌｙごとの１次元ＤＦＴが再度行われず、メモリ３６ｂに保存された演算結果が再利用される。このため、参照画像Ｇ２に対して設けられる複数の比較領域Ｗ２に関する２次元ＤＦＴに要する時間も大幅に短縮化される。したがって、１つの画像に含まれた異なる画像領域に関する複数回の２次元フーリエ変換を高速で行うことが可能となる。
【０１０９】
なお、ここでは、重複領域が７本の画素列Ｌｙで形成されたが、これに限られず、重複領域が少なくとも１以上の画素列によって形成されれば、重複した演算の省略が図られるため、１つの画像に含まれた異なる画像領域に関する複数回の２次元フーリエ変換が高速で行われる。
【０１１０】
○対応点探索処理の動作フロー：
図９から図１１は、対応点探索処理の動作フローを示すフローチャートである。なお、本動作フローは、制御部３６でプログラムＰＧａが実行されることで実現され、例えば、操作部３１から所定の信号が制御部３６に対して入力されたことに応答して、開始され、図９のステップＳ１に進む。
【０１１１】
ステップＳ１では、ステレオカメラ２（具体的には、撮像系２１，２２）によりステレオ画像（具体的には、基準画像Ｇ１、参照画像Ｇ２）が撮影され、ステレオ画像が取得される。
【０１１２】
ステップＳ２では、ステップＳ１で取得された基準画像Ｇ１に対し、指定点Ｐ、およびこの指定点Ｐを中心点として内包する所定のサイズ（所定サイズ）を有するウィンドウ（基準領域）Ｗ１が設定される。なお、ここで言う「所定サイズ」は、Ｘ方向に沿って所定数Ｎ1の画素が配列され、Ｙ方向に沿って所定数Ｎ2の画素が配列された画像領域のサイズを示す。
【０１１３】
ステップＳ３では、基準画像Ｇ１上の指定点Ｐに対応した参照画像Ｇ２上の対応点の探索が行われる(後で詳述)。
【０１１４】
ステップＳ４では、ウィンドウＷ１によるスキャン対象が基準画像Ｇ１に存在するかが判定される。すなわち、基準画像Ｇ１の各画素について参照画像Ｇ２の対応点が探索されたか否かが判定される。ここで、スキャン対象が存在する場合には、ステップＳ２に進み、スキャン対象が残存しない場合には、本フローチャートの動作が終了される。
【０１１５】
なお、ステップＳ４からステップＳ２へ進む度に、基準画像Ｇ１に対して、新規な指定点Ｐおよび基準領域Ｗ１が設定される。このとき、Ｘ方向に沿って基準領域Ｗ１が順次に設定される場合には、新規な基準領域Ｗ１と前回設定された基準領域Ｗ１とは、相互に重なり合うＹ方向に沿った１以上（ここでは７つ）の画素列を含んだ重複領域を有する。
【０１１６】
図１０は、上記ステップＳ３の動作に対応しており、対応点の探索動作を示すフローチャートである。
【０１１７】
ステップＳ３１では、ステップＳ２で設定された基準領域Ｗ１に関して２次元ＤＦＴの演算が行われる(後で詳述)。このとき、２次元のフーリエ変換処理Ｔ１ａ、および画像の振幅成分を除去するための規格化処理Ｔ２ａが行われる。
【０１１８】
ステップＳ３２では、ステップＳ１で取得された参照画像Ｇ２に対し、所定サイズを有するウィンドウ（比較領域）Ｗ２が設定される。
【０１１９】
ステップＳ３３では、ステップＳ３２で設定された比較領域Ｗ２に関して２次元ＤＦＴの演算が行われる(後で詳述)。ここでは、２次元のフーリエ変換処理Ｔ１ｂ、および画像の振幅成分を除去するための規格化処理Ｔ２ｂが行われる。
【０１２０】
ステップＳ３４では、ステップＳ３１における演算結果と、ステップＳ３３における演算結果とに基づき、合成処理が行われる。ここでは、数４で示した演算式を用いた合成処理Ｔ３が行われる。
【０１２１】
ステップＳ３５では、合成処理Ｔ３の結果に対して、数５で示した演算式を用いた２次元の逆フーリエ変換処理Ｔ４が行われる。これにより、相関値（ＰＯＣ値）が求められる。
【０１２２】
ステップＳ３６では、ステップＳ３５で求められた相関値（ＰＯＣ値）が解析されて、その解析結果がメモリ３６ｂに記憶される。例えば、図６で示すようなＰＯＣ値の分布に基づき、ＰＯＣ値のピークＪｃの値と、ピークＪｃに対応する参照画像Ｇ２上の座標とが検出され、メモリ３５ｂに記憶される。
【０１２３】
まず、ステップＳ３６の処理が１回目の場合には、１回目に設定された比較領域Ｗ２に対して算出されたＰＯＣ値の分布から、ＰＯＣ値の最高値（ピーク値）と、ＰＯＣ値が最高値を示す座標（ピーク座標）とが検出され、ピーク値とピーク座標とを示す情報（ピーク情報）が、メモリ３６ｂに記憶される。そして、ステップＳ３６の処理がａ回目（ａは２以上の自然数）以降の場合には、ａ回目に設定された比較領域Ｗ２に対して算出されたＰＯＣ値の分布から、ＰＯＣ値のピーク値とその座標（ピーク座標）とが検出される。このとき、もしも、新規に検出されたピーク値の方が、メモリ３６ｂに記憶されているピーク情報に係るピーク値よりも高ければ、メモリ３６ｂに記憶されるピーク情報が、新規に検出されたピーク値に係る情報（ピーク値とピーク座標とを示す情報）に書き換えられる更新処理が行われる。
【０１２４】
ステップＳ３７では、ステップＳ１で取得された参照画像Ｇ２に対し、基準領域Ｗ１に対応する全ての設定対象領域に比較領域Ｗ２が設定されたか否か判定される。ここで、参照画像Ｇ２上で全ての設定対象領域に比較領域Ｗ２が設定されていなければ、ステップＳ３２に進み、全ての設定対象領域に比較領域Ｗ２が設定されていれば、ステップＳ３８に進む。
【０１２５】
なお、ステップＳ３７からステップＳ３２へ進む度に、参照画像Ｇ２に対して、新規な比較領域Ｗ２が設定される。このとき、Ｘ方向に沿って比較領域Ｗ２が順次に設定される場合には、新規な比較領域Ｗ２と前回設定された比較領域Ｗ２とは、相互に重なり合うＹ方向に沿った１以上（ここでは７つ）の画素列を含んだ重複領域を有する。
【０１２６】
ステップＳ３８では、メモリ３６ｂに記憶されているピーク情報に基づき、基準画像Ｇ１上の指定点Ｐに対応した参照画像Ｇ２上の対応点が検出され、対応点の探索動作のフローが終了される。ここでは、全ての比較領域Ｗ２に対するピーク値を示すピーク座標が、参照画像Ｇ２上の対応点として検出される。
【０１２７】
図１１は、上記ステップＳ３１の動作に対応しており、２次元ＤＦＴの動作を示すフローチャートである。
【０１２８】
ステップＳ４１では、処理対象領域（例えば基準領域Ｗ１）が一方向（ここではＹ方向）に沿った画素列（ここでは画素列Ｌｙ）に分割される。
【０１２９】
ステップＳ４２では、ステップＳ４１で分割・生成された画素列のうち、前回分割・生成された画素列Ｌｙと重複した画素列が存在するか否か判定される。ここで、重複した画素列が存在しなければステップＳ４３に進み、存在すればステップＳ４４に進む。
【０１３０】
具体的には、基準領域Ｗ１に関する２次元ＤＦＴを行う場合には、基準画像Ｇ１に対して１つ目の基準領域Ｗ１が設定される際には、複数の基準領域Ｗ１の間で重複した画素列は存在しないため、必然的にステップＳ４３に進む。一方、基準画像Ｇ１に対して、１画素ずつＸ方向にずらされながら基準領域Ｗ１が順次に設定される際には、順次に設定される複数の基準領域Ｗ１の間で重複した画素列が存在するため、ステップＳ４４に進む。
【０１３１】
ステップＳ４３では、ステップＳ４１で分割・生成された全画素列に関して、一方向（ここではＹ方向）に沿った画素列ごとに１次元ＤＦＴの演算が行われる。
【０１３２】
ステップＳ４４では、ステップＳ４１で分割・生成された画素列のうち、前回分割・生成された画素列と重複していない画素列に関して、一方向（ここでは、Ｙ方向）に沿った１次元ＤＦＴの演算が行われる。
【０１３３】
ステップＳ４５では、ステップＳ４３およびステップＳ４４で求められた１次元ＤＦＴの演算結果がメモリ３６ｂに記憶される。なお、重複した画素列についての１次元ＤＦＴの演算結果については、前回のステップＳ４３，Ｓ４４において求められてステップＳ４５で予めメモリ３６ｂに記憶されているため、メモリ３６ｂに記憶されているものが採用される。このような動作により、重複した画素列に係る１次元ＤＦＴの演算が省略される。
【０１３４】
ステップＳ４６では、処理対象領域に係る一方向（ここではＹ方向）に沿った１次元ＤＦＴの演算結果を用いて、他方向（Ｘ方向）に沿った画素列ごとに１次元ＤＦＴの演算が行われる。このとき、前回の処理対象領域との重複領域に係る重複した画素列については同一の１次元ＤＦＴの演算結果が用いられつつ、メモリ３６ｂに記憶された１次元ＤＦＴの演算結果に対して、他方向沿った画素列ごとに１次元ＤＦＴの演算が行われることで、処理対象領域に関する２次元ＤＦＴの演算が行われる。また、規格化処理Ｔ２ｂも行われる。
【０１３５】
また、比較領域Ｗ２に関する２次元ＤＦＴの動作については、図１１で示した基準領域Ｗ１に関する２次元ＤＦＴの動作と同様な動作が行われるため、図１１は、上記ステップＳ３３の動作にも対応する。
【０１３６】
但し、比較領域Ｗ２に関する２次元ＤＦＴを行う場合には、ステップＳ４２では、参照画像Ｇ２に対して１つ目の比較領域Ｗ２が設定される際には、複数の参照画像Ｇ２の間で重複した画素列は存在しないため、必然的にステップＳ４３に進む。一方、参照画像Ｇ２に対して、１画素ずつＸ方向にずらされながら複数の比較領域Ｗ２が順次に設定される際には、順次に設定される複数の比較領域Ｗ２の間で重複した画素列が存在するため、ステップＳ４４に進む。
【０１３７】
以上のように、第１実施形態に係る情報処理システム１Ａでは、１つの画像（例えば、基準画像Ｇ１や参照画像Ｇ２など）に設定された複数の処理対象領域（例えば、基準領域Ｗ１や比較領域Ｗ２）について２次元演算（例えば、２次元ＤＦＴの演算）が行われる際に、２つの処理対象領域が重複する領域については、同一の１次元演算（例えば、１次元ＤＦＴの演算）の結果が利用される。このため、演算量の低減が図られ、１つの画像に関する複数回の２次元演算が高速で行われる。
【０１３８】
そして、２つの画像（例えば、基準画像Ｇ１と参照画像Ｇ２）の間における座標点の対応付けを行う際に、１つの画像に関する複数回の２次元演算を含む手法（例えば位相限定相関法）が用いられる場合には、演算量の低減により、画像間における座標点の対応付けが高速かつ高精度で行われる。
【０１３９】
更に、演算の高速化が図られた位相限定相関法により、画像間における座標点の対応付けが高速かつ高精度で行われる。
【０１４０】
また、基準画像Ｇ１に対して指定点Ｐ、およびその指定点Ｐを含む基準領域Ｗ１が、一方向（例えばＸ方向）に沿って、所定画素数ずつずらされながら順次に設定される場合、すなわち、基準画像Ｇ１が基準領域Ｗ１により一方向に沿ってスキャンされる場合には、各指定点Ｐに対応する対応点が高速で検出される。このため、画像間における各座標点の対応付けが高速で行われることになる。
【０１４１】
なお、１つの画像に関する複数回の２次元演算の高速化を図る上では、処理対象領域に関して先に１次元演算がなされる方向が、スキャン方向と異なる方向である必要性はなく、１次元演算の結果を保持しておき、重複する演算が省略されれば良い。
【０１４２】
＜第２実施形態＞
上記第１実施形態では、１つの画像に関する複数回の２次元演算の高速化を図る上では、処理対象領域に関して先に１次元演算がなされる方向は、スキャン方向と異なる方向である必要性はないものとして説明した。
【０１４３】
これに対して、第２実施形態に係る情報処理システム１Ｂでは、処理対象領域に関して先に１次元演算がなされる方向が、スキャン方向と異なる方向であり、メモリ３６ｂの記憶容量が低減された情報処理装置３Ｂの採用が可能となる。
【０１４４】
なお、情報処理装置３Ｂでは、制御部３６により、記憶部３４内のプログラムＰＧｂが読み込まれて実行されることで、各種機能や情報処理などが実現される。
【０１４５】
第２実施形態に係る情報処理システム１Ｂは、第１実施形態に係る情報処理システム１Ａと比較して、処理対象領域に関して先に１次元演算がなされる方向が限定される点で異なるため、以下、異なる点について主に説明する。
【０１４６】
なお、基準画像Ｇ１上での基準領域Ｗ１によるスキャン、および参照画像Ｇ２上での比較領域Ｗ２によるスキャンは、同様な動作で行われ、基準領域Ｗ１に関する２次元演算、および比較領域Ｗ２に関する２次元演算についても、同様な動作で行われる。したがって、ここでは、基準画像Ｇ１上での基準領域Ｗ１によるスキャン、および基準領域Ｗ１に関する２次元演算を例にとって説明する。
【０１４７】
図１２は、第２実施形態に係るスキャンの方向と１次元演算の態様を説明するための図である。図１２では、基準領域Ｗ１の所定サイズを規定する所定数Ｎ1，Ｎ2がそれぞれ８とされ、Ｘ方向がスキャン方向Ｄｓｃとされている。
【０１４８】
図１２(ａ)〜図１２(ｃ)で示すように、例えば、基準画像Ｇ１に対して、基準領域Ｗ１が所定画素数（１画素）ずつスキャン方向に沿ってずらされながら時間順次に設定される。そして、各基準領域Ｗ１に関して２次元ＤＦＴの演算が行われる際には、まず、各基準領域Ｗ１がスキャン方向Ｄｓｃとは異なるＹ方向に沿った画素列Ｌｙに分割されて、Ｙ方向に沿った画素列Ｌｙごとに１次元ＤＦＴの演算が行われ、その後、その１次元ＤＦＴの演算結果に対し、スキャン方向Ｄｓｃに沿った１次元ＤＦＴが行われる。
【０１４９】
このとき、図１２(ａ)で設定された基準領域Ｗ１を構成する８本の画素列Ｌｙのうち、右方（＋Ｘ側）の７本の画素列Ｌｙが、図１２(ｂ)で設定された基準領域Ｗ１に含まれる。つまり、図１２(ａ)で設定された基準領域Ｗ１を構成する右方（＋Ｘ側）の７本の画素列Ｌｙに関する１次元ＤＦＴの演算結果が、図１２(ｂ)で設定された基準領域Ｗ１を構成する左方（−Ｘ側）の７本の画素列Ｌｙ（図中砂地ハッチング部）に関する１次元ＤＦＴの演算結果として利用される。
【０１５０】
また、図１２(ｂ)で設定された基準領域Ｗ１を構成する８本の画素列Ｌｙのうち、右方（＋Ｘ側）の７本の画素列Ｌｙが、図１２(ｃ)で設定された基準領域Ｗ１に含まれる。つまり、図１２(ｂ)で設定された基準領域Ｗ１を構成する右方（＋Ｘ側）の７本の画素列Ｌｙに関する１次元ＤＦＴの演算結果が、図１２(ｃ)で設定された基準領域Ｗ１を構成する左方（−Ｘ側）の７本の画素列Ｌｙ（図中砂地ハッチング部）に関する１次元ＤＦＴの演算結果として利用される。
【０１５１】
このように、第２実施形態に係る情報処理システム１Ｂでは、Ｙ方向に沿った画素列Ｌｙごとの１次元演算（例えば１次元ＤＦＴの演算）の結果が、次に設定される処理対象領域に係る２次元演算（例えば２次元ＤＦＴの演算）に利用される。このため、１次元演算の結果の記憶に必要な記憶部（例えばメモリ３６ｂ）の記憶容量が少なくても済む。したがって、情報処理装置３Ｂ、および情報処理システム１Ｂの小型化および製造コストの低減が図られる。
【０１５２】
ここで、１次元演算の結果の記憶に必要な記憶部の記憶容量に関し、処理対象領域に関して先に１次元演算がなされる方向が、スキャン方向Ｄｓｃと異なる場合（第２実施形態）と、スキャン方向Ｄｓｃと同一である場合（比較例）とを比較する。
【０１５３】
図１３は、比較例に係るスキャンの方向と１次元演算の態様を説明するための図である。図１３では、図１２と同様に、基準領域Ｗ１の所定サイズを規定する所定数Ｎ1，Ｎ2がそれぞれ８とされ、Ｘ方向がスキャン方向Ｄｓｃとされている。
【０１５４】
図１３(ａ)〜図１３(ｄ)で示すように、比較例では、例えば、基準画像Ｇ１に対して、基準領域Ｗ１が所定画素数（１画素）ずつスキャン方向に沿ってずらされながら時間順次に設定される。そして、各基準領域Ｗ１に関して２次元ＤＦＴの演算が行われる際には、各基準領域Ｗ１がスキャン方向Ｄｓｃに沿った画素列Ｌｘに分割されて、画素列Ｌｘごとに１次元ＤＦＴの演算が行われた後に、その１次元ＤＦＴの演算結果に対し、Ｙ方向に沿った画素列ごとに１次元ＤＦＴが行われる。このとき、重複する画素列Ｌｘに関する１次元演算が行われるのは、１つのＹ座標に係るＸ方向に沿ったスキャンが終了して、１画素分ずれたＹ座標に係るＸ方向に沿ったスキャンが行われる際となる。
【０１５５】
例えば、ｂ番目（例えばｂ＝１）に設定される基準領域Ｗ１を構成する下方（−Ｙ側）の７本の画素列Ｌｘ（例えば図１３(ａ)）が、約（ｂ＋Ｍ）番目に設定される基準領域Ｗ１の上方（＋Ｙ側）の７本の画素列Ｌｘ（例えば図１３(ｄ)の図中砂地ハッチング部）と一致する。
【０１５６】
よって、比較例では、あるＹ座標に沿ってスキャンした際に計算された７本分の画素列Ｌｘに係る１次元ＤＦＴの演算結果が、次のＹ座標に沿ってスキャンする際の２次元ＤＦＴの演算に利用される。このため、１次元ＤＦＴの演算結果を再利用するために、メモリ３６ｂには、７本分の画素列Ｌｘに係る１次元ＤＦＴの演算結果を約Ｍ回分保持できる容量が必要となる。
【０１５７】
これに対して、第２実施形態に係る情報処理システム１Ｂでは、前回計算された７本分の画素列Ｌｙに係る１次元ＤＦＴの演算結果が、直後の２次元ＤＦＴの演算に利用される。このため、１次元ＤＦＴの演算結果を再利用するために、メモリ３６ｂには、７本分の画素列Ｌｙに係る１次元ＤＦＴの演算結果を１回分保持できる容量があれば良い。
【０１５８】
したがって、第２実施形態では、比較例と比べて、１次元ＤＦＴの演算結果を再利用するためのメモリ３６ｂの記憶容量が、約１／Ｍに低減される。
【０１５９】
＜第３実施形態＞
上記第１および第２実施形態に係る情報処理システム１Ａ，１Ｂでは、一方向（例えばＸ方向）および他方向（例えばＹ方向）に沿った画素数が同一であるウィンドウ（処理対象領域）Ｗ１，Ｗ２を挙げて説明した。
【０１６０】
これに対して、第３実施形態に係る情報処理システム１Ｃでは、一方向（例えばＸ方向）および他方向（例えばＹ方向）に沿った画素数が異なるウィンドウ（処理対象領域）Ｗ１ｃ，Ｗ２ｃが採用され、更に、処理対象領域Ｗ１ｃ，Ｗ２ｃに関して先に１次元演算がなされる方向が、処理対象領域Ｗ１ｃ，Ｗ２ｃの長手方向となる情報処理装置３Ｃが採用されている。
【０１６１】
なお、情報処理装置３Ｃでは、制御部３６により、記憶部３４内のプログラムＰＧｃが読み込まれて実行されることで、各種機能や情報処理などが実現される。
【０１６２】
第３実施形態に係る情報処理システム１Ｃは、第１および第２実施形態に係る情報処理システム１Ａ，１Ｂと比較して、ウィンドウ（処理対象領域）Ｗ１ｃ，Ｗ２ｃの形状、および処理対象領域Ｗ１ｃ，Ｗ２ｃに関して先に１次元演算がなされる方向が限定される点で異なるため、以下、異なる点について主に説明する。
【０１６３】
なお、基準画像Ｇ１上での基準領域Ｗ１ｃによるスキャン、および参照画像Ｇ２上での比較領域Ｗ２ｃによるスキャンは、同様な動作で行われ、基準領域Ｗ１ｃに関する２次元演算、および比較領域Ｗ２ｃに関する２次元演算についても、同様な動作で行われる。したがって、ここでは、基準画像Ｇ１上での基準領域Ｗ１ｃによるスキャン、および基準領域Ｗ１ｃに関する２次元演算を例にとって説明する。
【０１６４】
図１４は、第３実施形態に係る基準領域Ｗ１ｃの形状と２次元演算の態様を説明するための図である。図１４では、基準領域Ｗ１ｃの所定サイズを規定する所定数Ｎ1，Ｎ2のうちのいずれか一方が８であり、他方が４とされている。
【０１６５】
図１４で示すように、基準領域Ｗ１ｃは、一方向（例えばＸ方向またはＹ方向）に沿った長辺と、一方向とは異なる他方向（例えばＹ方向またはＸ方向）に沿った短辺とによってそれぞれ形成される。つまり、基準領域Ｗ１ｃは、一方向に沿った長手方向と、他方向に沿った短手方向とを有する。
【０１６６】
そして、基準領域Ｗ１ｃに関して２次元ＤＦＴの演算が行われる際には、まず、長手方向に沿った画素列（８×１画素）ごとに１次元ＤＦＴの演算が行われる。その後、長手方向に沿った画素列（８×１画素）ごとの１次元ＤＦＴの演算結果に対して、短手方向に沿った画素列（１×４画素）ごとに１次元ＤＦＴの演算が行われる。
【０１６７】
このように、長手方向に沿った画素列ごとの１次元演算を先に行う態様（本実施形態）では、短手方向に沿った画素列ごとの１次元演算を先に行う態様（比較例）よりも、２次元演算に要する時間（所要演算時間）が短くて済む。
【０１６８】
なお、図１４では、短手方向に沿った画素列ごとの１次元演算を先に行う態様（比較例）が破線で示されている。比較例では、短手方向に沿った画素列（１×４画素）ごとの１次元演算が先に行われ、その後、長手方向に沿った画素列（８×１画素）ごとの１次元演算が行われる。
【０１６９】
ここで、本実施形態の所要演算時間Ｔｃ１と比較例の所要演算時間Ｔｃ２とを比較した例を示す。
【０１７０】
まず、画素列（８×１画素）の１次元ＤＦＴの演算に要する時間（所要時間）をＡｃ、画素列（１×４画素）の１次元ＤＦＴの演算に要する時間（所要時間）をＢｃとすると、本実施形態の２次元ＤＦＴの所要演算時間は、Ａｃ×４＋Ｂｃ×８となる。
【０１７１】
一般に、高速フーリエ変換（Fast Fourier Transform：ＦＦＴ）を用いる場合には、ＦＦＴの演算処理に要する時間Ｔfftは、演算対象となる画素値の数をＣｎとすると、Ｔfft＝Ｃｎ×ｌｏｇ2（Ｃｎ）で示される。このため、所要時間Ａｃは、２４（＝８×Ｌｏｇ2８）、所要時間Ｂｃは、８（＝４×Ｌｏｇ2４）となり、Ａｃ＝３×Ｂｃとなる。
【０１７２】
ここで、仮に、基準領域Ｗ１ｃに関して、スキャン方向に対して垂直な方向に沿って、２次元ＤＦＴの演算の前段の１次元ＤＦＴの演算が行われるものとする。
【０１７３】
まず、２次元ＤＦＴの演算の前段の１次元ＤＦＴの演算については、基準画像Ｇ１のあるＹ座標についてスキャンが行われる際には、基準画像Ｇ１に対して新規な基準領域Ｗ１ｃが設定される度に、新たに１次元ＤＦＴの演算をすべき画素列が１本ずつ追加される。よって、基準画像Ｇ１のあるＹ座標については、おおよそ基準画像Ｇ１のＸ方向に沿った画素数（Ｍ）に相当する回数のＹ方向に沿った画素列ごとの１次元ＤＦＴの演算が行われ、更に約Ｍ回の１次元ＤＦＴの演算が、基準画像Ｇ１のＹ方向に沿った画素数（Ｎ）に相当する回数分行われる。
【０１７４】
一方、２次元ＤＦＴの演算の後段の１次元ＤＦＴの演算については、おおよそ基準画像Ｇ１を構成する画素数（Ｎ×Ｍ）に、Ｘ方向に沿った画素列の本数を乗じた回数のＸ方向に沿った画素列ごとの１次元ＤＦＴの演算が行われる。
【０１７５】
よって、比較例では、２次元ＤＦＴの演算の前段の１次元ＤＦＴの演算に要する時間が、約Ｂｃ×Ｍ×Ｎとなり、２次元ＤＦＴの演算の後段の１次元ＤＦＴの演算に要する時間が、約（Ａｃ×４）×Ｍ×Ｎとなる。このため、比較例に係る所要演算時間Ｔｃ２は、約１３×Ｂｃ×Ｍ×Ｎ（＝（Ｂｃ＋４Ａｃ）×Ｍ×Ｎ）となる。
【０１７６】
これに対して、本実施形態では、２次元ＤＦＴの演算の前段の１次元ＤＦＴの演算に要する時間が、約Ａｃ×Ｍ×Ｎとなり、２次元ＤＦＴの演算の後段の１次元ＤＦＴの演算に要する時間が、約（Ｂｃ×８）×Ｍ×Ｎとなる。このため、本実施形態に係る所要演算時間Ｔｃ１は、約１１×Ｂｃ×Ｍ×Ｎ（＝（Ａｃ＋８Ｂｃ）×Ｍ×Ｎ）となる。
【０１７７】
このように、第３実施形態に係る情報処理システム１Ｃでは、処理対象領域に関する２次元演算が行われる際に、長辺に沿った画素列ごとの１次元演算が、短辺に沿った画素列ごとの１次元演算よりも先に行われることで、２次元演算の高速化が更に図られる。
【０１７８】
なお、メモリ３６ｂの記憶容量の増大を考慮しなければ、２次元演算の高速化を図る上では、処理対象領域の短手方向とスキャン方向とが一致する必要性はなく、長辺に沿った画素列ごとの１次元演算が、短辺に沿った画素列ごとの１次元演算よりも先に行われれば良い。
【０１７９】
＜第４実施形態＞
上記第３実施形態では、１つの画像に関する複数回の２次元演算の高速化を図る上では、処理対象領域の短手方向とスキャン方向とが一致する必要性はないものとして説明した。
【０１８０】
これに対して、第４実施形態に係る情報処理システム１Ｄでは、処理対象領域の短手方向とスキャン方向とが一致すれば、メモリ３６ｂの記憶容量が低減された情報処理装置３Ｄの採用が可能となる。
【０１８１】
なお、情報処理装置３Ｄでは、制御部３６により、記憶部３４内のプログラムＰＧｄが読み込まれて実行されることで、各種機能や情報処理などが実現される。
【０１８２】
第４実施形態に係る情報処理システム１Ｄは、第３実施形態に係る情報処理システム１Ｃと比較して、処理対象領域の短辺に沿った方向とスキャン方向との関係が限定される点で異なるため、以下、異なる点について主に説明する。
【０１８３】
なお、第４実施形態に係るウィンドウ（基準領域、比較領域）Ｗ１ｄ，Ｗ２ｄは、第３実施形態に係るウィンドウ（基準領域、比較領域）Ｗ１ｃ，Ｗ２ｃと同様なサイズを有しているものとする。
【０１８４】
また、基準画像Ｇ１上での基準領域Ｗ１ｄによるスキャン、および参照画像Ｇ２上での比較領域Ｗ２ｄによるスキャンは、同様な動作で行われ、基準領域Ｗ１ｄに関する２次元演算、および比較領域Ｗ２ｄに関する２次元演算についても、同様な動作で行われる。したがって、ここでは、基準画像Ｇ１上での基準領域Ｗ１ｄによるスキャン、および基準領域Ｗ１ｄに関する２次元演算を例にとって説明する。
【０１８５】
図１５は、第４実施形態に係るスキャンの方向と１次元演算の態様を説明するための図である。図１５では、基準領域Ｗ１ｄの所定サイズを規定する所定数Ｎ1が４、Ｎ2が８とされ、Ｘ方向がスキャン方向Ｄｓｃとされている例が示されている。
【０１８６】
図１５(ａ)〜図１５(ｃ)で示すように、基準領域Ｗ１ｄの短手方向（ここではＸ方向）とスキャン方向Ｄｓｃとが一致している。
【０１８７】
したがって、第４実施形態に係る情報処理システム１Ｄでは、Ｙ方向に沿った画素列Ｌｙごとの１次元演算（例えば１次元ＤＦＴの演算）の結果が、次に設定される処理対象領域に係る２次元演算（例えば２次元ＤＦＴの演算）に利用される。このため、１次元演算の結果の記憶に必要な記憶部（例えばメモリ３６ｂ）の記憶容量が少なくても済む。したがって、２次元演算の更なる高速化に加えて、情報処理装置３Ｄ、および情報処理システム１Ｄの小型化および製造コストの低減が図られる。
【０１８８】
＜第５実施形態＞
第１〜４実施形態に係る情報処理システム１Ａ〜１Ｄでは、撮像系２１，２２が離隔配置される方向と、１次元演算が行われる方向との関係は、特に限定されなかった。
【０１８９】
これに対して、第５実施形態に係る情報処理システム１Ｅでは、情報処理装置３Ｅにおいて、基準画像Ｇ１上での基準領域Ｗ１によるスキャン、および参照画像Ｇ２上での比較領域Ｗ２によるスキャンの方向が、撮像系２１，２２が離隔配置される所定方向に対応する方向、すなわち、視差が生じている方向（視差発生方向）とされて、対応点の検出の高速化が図られている。更に、処理対象領域Ｗ１，Ｗ２に関して先に１次元演算がなされる方向が、スキャン方向とは異なる方向とされて、メモリ３６ｂの記憶容量が低減されている。
【０１９０】
この対応点の検出の高速化、およびメモリ３６ｂの記憶容量の低減を図るためには、例えば、第２および第４実施形態に係る情報処理システム１Ｂ，１Ｄにおいて、スキャン方向と視差発生方向とを一致させれば良い。
【０１９１】
なお、情報処理装置３Ｅでは、制御部３６により、記憶部３４内のプログラムＰＧｅが読み込まれて実行されることで、各種機能や情報処理などが実現される。
【０１９２】
第５実施形態に係る情報処理システム１Ｅは、第２実施形態に係る情報処理システム１Ｂにおいて、スキャン方向と視差発生方向とを一致させたものである。よって、以下、第２実施形態に係る情報処理システム１Ｂと異なる点について主に説明する。
【０１９３】
図１６は、第５実施形態に係るスキャンの態様を説明するための図であり、図１７は、第５実施形態に係る２次元演算の前段における１次元演算について説明するための図である。図１６および図１７では、基準領域Ｗ１および比較領域Ｗ２の所定サイズを規定する所定数Ｎ1，Ｎ2がそれぞれ８とされ、Ｘ方向がスキャン方向Ｄｓｃおよび視差発生方向とされている例が示されている。
【０１９４】
図１６(ａ)で示すように、基準画像Ｇ１に対して基準領域Ｗ１が設定される際には、基準領域Ｗ１の中心点である指定点Ｐを通り、且つ視差発生方向（Ｘ方向）に延設される線（以下「視差基準線」とも称する）Ｌｓ上に、指定点Ｐに対応する参照画像Ｇ２上の対応点が存在することになる。
【０１９５】
そこで、基準画像Ｇ１上で、ある視差基準線Ｌｓに沿って各基準領域Ｗ１が設定されるスキャン時には、各基準領域Ｗ１が設定される度に、図１６(ｂ)で示すように、参照画像Ｇ２に対して、視差基準線Ｌｓ上に中心点を有する比較領域Ｗ２がスキャン方向Ｄｓｃに沿って順次に設定される。つまり、あるＹ座標の指定点Ｐを中心とする基準領域Ｗ１に対して、参照画像Ｇ２上で比較領域Ｗ２を設定すべき領域（設定対象領域）が１本の視差基準線Ｌｓに沿った領域に限定される。
【０１９６】
このとき、比較領域Ｗ２に関する２次元演算の前段の１次元演算が、スキャン方向Ｄｓｃとは異なるＹ方向に沿った画素列ごとに行われる。より詳細には、１つ目の比較領域Ｗ２が設定された際に、比較領域Ｗ２を構成するＹ方向に沿った全画素列に関して画素列ごとの１次元演算が行われ、２つ目以降の各比較領域Ｗ２が設定された際に、前回の比較領域Ｗ２とは重複しない画素列Ｌｙに関する１次元演算が行われる。その結果、図１７で示すように、参照画像Ｇ２の左端（−Ｘ側の端部）から右端（＋Ｘ側の端部）まで、視差基準線Ｌｓを中心とし、且つＹ方向に沿った画素列Ｌｙごとに１次元演算が行われる。
【０１９７】
そして、図１７で示したような１つのＹ座標を中心とする各画素列Ｌｙについての１次元演算の結果がメモリ３６ｂに記憶される。この１次元演算の結果は、基準画像Ｇ１に対して同じ視差基準線Ｌｓ上に沿った他の位置に基準領域Ｗ１が設定される際に、参照画像Ｇ２上での比較領域Ｗ２によるスキャン時に利用される。
【０１９８】
つまり、基準画像Ｇ１上で１つのＹ座標について基準領域Ｗ１によるスキャンがなされる場合、スキャン方向に沿って設定される複数の比較領域を構成する画素列Ｌｙに係る１次元演算の結果がメモリ３６ｂに蓄積される。そして、２つ目以降の基準領域Ｗ１に対して参照画像Ｇ２上で対応点が検索される際には、各比較領域Ｗ２を構成する画素列Ｌｙに関して１次元演算が行われることなく、メモリ３６ｂ内に既に格納された１次元演算の結果が利用される。
【０１９９】
このため、スキャン方向に沿って複数の基準領域Ｗ１が設定される場合に、１次元演算の結果の再利用が更に図られ、対応点の探索に必要な比較領域Ｗ２に関する２次元演算に必要な時間が低減される。その結果、画像間の対応点の探索の高速化が更に図られる。
【０２００】
但し、このような構成を採用するためには、メモリ３６ｂに対して、参照画像Ｇ２のＸ方向に沿った画素数Ｍ個分の画素列Ｌｙに関する１次元演算の結果を記憶するための記憶
容量を持たせる必要性がある。
【０２０１】
しかしながら、第２実施形態で説明したように、比較領域Ｗ２に関して先に１次元演算がなされる方向（ここではＹ方向）が、スキャン方向Ｄｓｃ（ここではＸ方向）とは異なる方向である。このため、再利用される１次元演算の結果が、同じ視差基準線Ｌｓに沿って並ぶ画素列に係る１次元演算の結果といった具合に、ある程度限定される。したがって、１次元演算の結果の記憶に必要なメモリ３６ｂの記憶容量の増大が極力抑制される。
【０２０２】
なお、仮に、比較領域Ｗ２に関して先に１次元演算がなされる方向と、スキャン方向Ｄｓｃ（例えばＸ方向）とが同一である場合には、第２実施形態でも説明したように、１次元演算の結果の再利用を図るためには、メモリ３６ｂの記憶容量の増大が必要となる。
【０２０３】
＜第６実施形態＞
第１〜５実施形態に係る情報処理システム１Ａ〜１Ｅでは、１次元演算および２次元演算として、１次元フーリエ変換および２次元フーリエ変換が行われるものについて説明した。
【０２０４】
これに対して、第６実施形態に係る情報処理システム１Ｆでは、情報処理装置３Ｆにおいて、２次元フーリエ変換を行う前処理として、基準領域Ｗ１および比較領域Ｗ２に対し、各領域の端部にあたる境界の不連続性を除去することを目的とした窓関数を掛ける処理が更に行われる。
【０２０５】
なお、情報処理装置３Ｆでは、制御部３６により、記憶部３４内のプログラムＰＧｆが読み込まれて実行されることで、各種機能や情報処理などが実現される。
【０２０６】
図１８は、第６実施形態に係る位相限定相関法を用いた対応点探索処理を説明するための図である。
【０２０７】
図１８で示す対応点探索処理は、図５で示したフーリエ変換処理Ｔ１ａ，Ｔ１ｂの前に、窓関数を掛ける処理ＴＰａ，ＴＰｂが加えられたものとなっている。より詳細には、基準画像Ｇ１に対するウィンドウ設定Ｔ０ａとフーリエ変換処理Ｔ１ａとの間に、窓関数を掛ける処理ＴＰａが挿入され、参照画像Ｇ２に対するウィンドウ設定Ｔ０ｂとフーリエ変換処理Ｔ１ｂとの間に、窓関数を掛ける処理ＴＰｂが挿入される。
【０２０８】
この窓関数を掛ける処理ＴＰａ，ＴＰｂでは、基準領域Ｗ１および比較領域Ｗ２に対し、例えば、次の数６で示されるハニング窓に係る係数が掛けられる。
【０２０９】
【数６】
0005364982.tif 000007
【０２１０】
そして、この窓関数を基準領域Ｗ１および比較領域Ｗ２に対して２次元的にそれぞれ掛ける演算（２次元演算）は、図７で示した２次元フーリエ変換と同様に、一方向（例えばＸ方向）に沿った画素列ごとに窓関数を掛け、その演算結果に対して、一方向とは異なる他方向（例えばＹ方向）に沿った画素列ごとに窓関数を掛けることと等価である。
【０２１１】
そこで、ここでは、一方向（例えばＸ方向）に沿った画素列ごとに窓関数を掛け、その演算結果に対して、一方向とは異なる他方向（例えばＹ方向）に沿った画素列ごとに窓関数を掛ける処理が行われる。
【０２１２】
そして、上記第１〜５実施形態に係る２次元フーリエ変換に係る構成を、この窓関数を掛ける処理ＴＰａ，ＴＰｂに適用すれば、１つの画像に関して、２次元的に窓関数を掛ける演算を高速で複数回行うことが可能となる。このため、上記実施形態と同様に、画像間における対応点の検索の高速化も更に図られる。
【０２１３】
なお、上記第１〜５実施形態に係る２次元フーリエ変換に係る各構成を、この窓関数を掛ける処理ＴＰａ，ＴＰｂに適用すると、２次元演算の高速化や１次元演算の保持に要するメモリ３６ｂの記憶容量の低減などといった上記第１〜５実施形態に係る効果と同様な効果が得られる。
【０２１４】
＜第７実施形態＞
上記第１〜６実施形態に係る情報処理システム１Ａ〜１Ｆでは、参照画像Ｇ２に対して比較領域Ｗ２が設定される度に、未だ１次元演算がなされていない画素列に関する１次元演算が行われた。
【０２１５】
これに対して、第７実施形態に係る情報処理システム１Ｇでは、情報処理装置３Ｇにおいて、参照画像Ｇ２上で或るＹ座標（例えば、ｙ１）の中心点を有する比較領域Ｗ２によりスキャンが行われる際に、まず、中心の画素のＹ座標がｙ１であるＹ方向に沿った全画素列に関して１次元演算が行われ、この演算結果が、順次設定される比較領域Ｗ２に関して２次元演算を行う際に利用される。つまり、順次に設定される複数の領域を構成する複数の画素列に係る１次元演算が予めある程度まとめて行われ、順次、その演算結果の一部が利用される。
【０２１６】
なお、情報処理装置３Ｇでは、制御部３６により、記憶部３４内のプログラムＰＧｇが読み込まれて実行されることで、各種機能や情報処理などが実現される。
【０２１７】
第７実施形態に係る情報処理システム１Ｇは、第５実施形態に係る情報処理システム１Ｅにおいて、１次元演算がある程度まとめて行われ、順次、その演算結果の一部が利用されるようにしたものである。よって、以下、第５実施形態に係る情報処理システム１Ｅと異なる点について主に説明する。
【０２１８】
図１９は、１次元演算がまとめて行われる動作について説明するための図である。図１９では、基準領域Ｗ１および比較領域Ｗ２の所定サイズを規定する所定数Ｎ1，Ｎ2がそれぞれ８とされ、Ｘ方向がスキャン方向Ｄｓｃおよび視差発生方向とされている例が示されている。
【０２１９】
図１９で示すように、参照画像Ｇ２上で中心点のＹ座標がｙ１である比較領域Ｗ２でスキャンを行う場合に、まず、Ｙ座標がｙ１である点を結んだ視差基準線Ｌｓを中心とし、且つＹ方向に沿った全画素列Ｌｙに関して１次元演算が行われる。つまり、参照画像Ｇ２のうち、Ｙ方向に沿って所定数Ｎ2の画素を有し且つＸ方向に向けて並んだ複数の画素列Ｌｙに関して、画素列ごとに１次元演算が行われる。このとき、全画素列Ｌｙに係る１次元演算の結果がメモリ３６ｂに記憶される。
【０２２０】
ここで、１次元演算の対象となる全画素列Ｌｙは、基準画像Ｇ１に対してＹ座標がｙ１である指定点Ｐを中心とする基準領域Ｗ１が設定された際に、この指定点Ｐに対応する対応点が中心点となり得る各比較領域Ｗ２（すなわち各設定対象領域）を形成する画素列Ｌｙを網羅するものである。つまり、全設定対象領域に比較領域Ｗ２が順次に設定された際に、各比較領域Ｗ２を形成するＹ方向に沿った画素列Ｌｙを網羅するものである。
【０２２１】
次に、図１９中の太線枠でも示すように、上記第２〜６実施形態と同様に、参照画像Ｇ２に対して、比較領域Ｗ２が、所定画素数ずつずらされながらＸ方向に沿って時間順次に設定される。
【０２２２】
そして、中心点のＹ座標がｙ１であり、且つ順次に設定される各比較領域Ｗ２に関する２次元演算では、メモリ３６ｂに記憶された１次元演算の結果に対してＸ方向に沿った画素列ごとに１次元演算が行われる。つまり、各比較領域Ｗ２が設定される度に、メモリ３６ｂに記憶された各比較領域Ｗ２を構成する複数の画素列Ｌｙに係る１次元演算の結果に対して、Ｘ方向に沿った画素列ごとに１次元演算が行われる。
【０２２３】
このように、Ｘ方向に沿った一列に並ぶＹ方向に沿った全画素列Ｌｙに関して１次元演算がまとめて行われることで、参照画像Ｇ２に対して比較領域Ｗ２が設定される度に、未だ１次元演算がなされていない画素列が判別されて１次元演算が行われるといった煩雑な演算が不必要となる。このため、１次元演算がまとめて行われる動作を、ハードウェアで構成される電子回路などを利用したパイプライン処理に適用することが容易に可能となり、複数回の２次元演算の高速化が更に図られる。
【０２２４】
但し、このような構成を採用するためには、メモリ３６ｂに対して、参照画像Ｇ２のＸ方向に沿った画素数Ｍ個分の画素列Ｌｙに関する１次元演算の結果を記憶するための記憶
容量を持たせる必要性がある。
【０２２５】
しかしながら、第２、５実施形態で説明したように、比較領域Ｗ２に関して先に１次元演算がなされる方向（ここではＹ方向）が、スキャン方向Ｄｓｃ（ここではＸ方向）とは異なる方向である。
【０２２６】
このため、再利用される１次元演算の結果が、同じ視差基準線Ｌｓに沿って並ぶ画素列に係る１次元演算の結果といった具合に、ある程度限定される。したがって、１次元演算の結果の記憶に必要なメモリ３６ｂの記憶容量の増大は極力抑制される。
【０２２７】
ここで、２次元演算が２次元ＤＦＴの演算である場合について、対応点の探索動作の動作フローについて説明する。
【０２２８】
図２０は、第７実施形態に係る情報処理システム１Ｇにおいて、図９のステップＳ３の代わりに実行されるステップＳ３Ａの動作に対応しており、対応点の探索動作を示すフローチャートである。つまり、図１０および図１１の代わりに実行される対応点の検索動作を示すフローチャートである。
【０２２９】
ステップＳＰ３１では、図１０のステップＳ３１と同様な処理が行われる。
【０２３０】
ステップＳＰ３２では、指定点Ｐすなわち基準領域Ｗ１の中心点のＹ座標が変更されたか否か判定される。ここで、指定点ＰのＹ座標が変更されていれば、ステップＳＰ３３に進み、変更されていなければ、ステップＳＰ３６に進む。なお、基準画像Ｇ１上に１つ目の指定点Ｐが設定された際には、指定点Ｐが変更されたと判定されるものとする。
【０２３１】
ステップＳＰ３３では、参照画像Ｇ２において、視差基準線を中心とした全画素列が認識される。例えば、図１９で示したように、Ｙ座標がｙ１である点が結ばれた視差基準線Ｌｓを中心とし、且つＹ方向に沿った全画素列Ｌｙが認識される。
【０２３２】
ステップＳＰ３４では、ステップＳＰ３２で認識された全画素列Ｌｙに関してＹ方向に沿った１次元ＤＦＴの演算が行われる。
【０２３３】
ステップＳＰ３５では、ステップＳＰ３４で求められた１次元ＤＦＴの演算結果がメモリ３６ｂに記憶される。
【０２３４】
ステップＳＰ３６では、参照画像Ｇ２に対して、比較領域Ｗ２が設定される。ここでは、Ｙ座標がｙ１である点が結ばれた視差基準線Ｌｓ上に中心点が配置される比較領域Ｗ２が設定される。なお、ステップＳＰ３６が１回目である場合には、参照画像Ｇ２の最も−Ｘ側に比較領域Ｗ２が設定され、ステップＳＰ３６が２回目以降である場合には、前回よりも所定画素数（ここでは１画素）だけ＋Ｘ側にずらした位置に比較領域Ｗ２が設定される。
【０２３５】
ステップＳＰ３７では、メモリ３６ｂに記憶された全画素列Ｌｙに関する１次元ＤＦＴの演算結果のうち、ステップＳＰ３６で設定された比較領域Ｗ２を構成する画素列Ｌｙに係る１次元ＤＦＴの演算結果が用いられ、Ｘ方向に沿った画素列ごとに１次元ＤＦＴの演算が行われる。このとき、規格化処理Ｔ２ｂも行われる。
【０２３６】
ステップＳＰ３８では、ステップＳＰ３１における演算結果と、ステップＳＰ３７における演算結果とに基づき、合成処理が行われる。ここでは、数４で示した演算式を用いた合成処理Ｔ３が行われる。
【０２３７】
ステップＳＰ３９〜ＳＰ４１では、ステップＳ３５〜Ｓ３７と同様な処理が行われる。
【０２３８】
但し、ステップＳＰ４１では、参照画像Ｇ２のうち、ステップＳ２で設定された基準領域Ｗ１に対応する視差基準線Ｌｓに沿った全ての設定対象領域に比較領域Ｗ２が設定されたか否か判定される。ここで、全ての設定対象領域に比較領域Ｗ２が設定されていなければ、ステップＳＰ３６に進み、全ての設定対象領域に比較領域Ｗ２が設定されていれば、ステップＳＰ４２に進む。
【０２３９】
なお、ステップＳＰ４１からステップＳＰ３６へ進む度に、参照画像Ｇ２に対して、視差基準線Ｌｓに沿って新規な比較領域Ｗ２が設定される。つまり、Ｘ方向に沿って複数（例えば８つ）の画素がそれぞれ配列され、且つＹ方向に沿って所定数（例えば８つ）の画素がそれぞれ配列され、相互に重なり合う重複領域を有する複数の比較領域Ｗ２が参照画像Ｇ２に対して順次に設定される。
【０２４０】
ステップＳＰ４２では、ステップＳ３８と同様な処理が行われる。
【０２４１】
このように、第７実施形態に係る情報処理システム１Ｇでは、第１方向（Ｘ方向）に沿って順次に設定される複数の領域を構成する画素列に係る１次元演算が予めまとめて行われる。このため、既に１次元演算が行われた否かといった判定が不要となり、パイプライン処理を利用した演算の高速化が可能となる。したがって、画像間における座標点の対応付けの更なる高速化が図られる。
【０２４２】
なお、以上では、指定点ＰのＹ座標（ｙ１）を通る参照画像Ｇ２の視差基準線Ｌｓ上に対応点が存在するものとして説明したが、撮像系２１，２２が並べられる方向と、基準画像Ｇ１および参照画像Ｇ２上の画素列の方向とが完全に一致しないことも有り得る。このため、例えば、視差基準線Ｌｓから上下に若干ずれた画素についても、対応点があるか否か比較領域Ｗ２にてスキャンされても良い。
【０２４３】
例えば、以下の動作を行うようにしても良い。
【０２４４】
まず、指定点ＰのＹ座標がｙ１となると、参照画像Ｇ２上の、(ｉ)Ｙ座標がｙ１＋１である点が結ばれた線を中心とし且つ視差基準線Ｌｓに沿って並んだ全画素列Ｌｙ（図２１(ａ)）、(ii)Ｙ座標がｙ１である点が結ばれた線を中心とし且つ視差基準線Ｌｓに沿って並んだ全画素列Ｌｙ（図２１(ｂ)）、(iii)Ｙ座標がｙ１−１である点が結ばれた線を中心とし且つ視差基準線Ｌｓに沿って並んだ全画素列Ｌｙ（図２１(ｃ)）、に関してそれぞれＹ方向に沿った１次元演算が行われる。このとき、メモリ３６ｂに、１次元演算の結果が記憶される。
【０２４５】
次に、図２１(ａ)〜(ｃ)で示されたＸ方向に沿った３列の画素列Ｌｙのうちの連続して並ぶ所定数の画素列Ｌｙによって構成される比較領域Ｗ２が参照画像Ｇ２上に順次に設定される。このとき、各比較領域Ｗ２を構成する所定数の画素列Ｌｙに係る１次元演算の結果が、メモリ３６ｂから選択的に読み出され、その所定数の画素列Ｌｙに係る１次元演算の結果に対して、Ｘ方向に沿った画素列ごとに１次元演算が行われることで、各比較領域Ｗ２に関する２次元演算が行われる。
【０２４６】
このように、視差基準線Ｌｓから上下に若干ずれた画素についても、対応点があるか否か比較領域Ｗ２にてスキャンされるような構成を採用する場合には、１次元演算の結果を保持するために必要なメモリ３６ｂの容量が若干増加する。しかしながら、視差基準線Ｌｓ上の画素についてのみ対応点が検索されるよりも、より正確な対応点が検出される。したがって、画像間の対応点の検出における高速化と高精度化とを図ることができる。
【０２４７】
なお、ここでは、参照画像Ｇ２上での比較領域Ｗ２におけるスキャン動作について、ある程度まとめて１次元演算が行われる例を挙げて説明したが、これに限られない。例えば、参照画像Ｇ２上での比較領域Ｗ２におけるスキャン動作と同様に、基準画像Ｇ１上での基準領域Ｗ１におけるスキャン動作において、１次元演算がある程度まとめて行われ、順次、その演算結果の一部が利用されるようにしても良い。
【０２４８】
＜第８実施形態＞
上記第１〜７実施形態に係る情報処理システム１Ａ〜１Ｇでは、基準画像Ｇ１に対して基準領域Ｗ１が設定されると、参照画像Ｇ２上が比較領域Ｗ２によってスキャンされることで、画像間の対応点が検出された。
【０２４９】
これに対して、第８実施形態に係る情報処理システム１Ｈでは、情報処理装置３Ｈにおいて、まず、基準画像Ｇ１に対して指定点Ｐが指定されると、指定点Ｐを中心点として内包し、かつ所定の間引き度合いで画素列が間引かれた所定サイズと同数の画素からなる低解像度の基準領域が設定される。そして、参照画像Ｇ２から所定の間引き度合いで画素列が間引かれた所定サイズと同数の画素から成る低解像度の複数の比較領域が設定されるとともに、各比較領域に関して２次元演算が行われ、指定点Ｐに対応する比較画像Ｇ２上の対応点の候補（対応点候補）が検出される。その後、基準領域および比較領域を設定するための画素列の間引き度合いが低減されるとともに、対応点候補の近傍に比較領域が適宜設定されつつ、最終的に対応点が検出される。つまり、低精度で対応点候補が検出され、その対応点候補の近傍について高精度で対応点が検出される。
【０２５０】
なお、情報処理装置３Ｈでは、制御部３６により、記憶部３４内のプログラムＰＧｈが読み込まれて実行されることで、各種機能や情報処理などが実現される。
【０２５１】
第８実施形態に係る情報処理システム１Ｈは、第７実施形態に係る情報処理システム１Ｇと比較して、１次元演算がある程度まとめて行われ、順次、その演算結果の一部が利用される点で同様な構成を有する。但し、低精度で対応点候補が検出され、その対応点候補の近傍について高精度で対応点が検出される点が異なっている。そこで、以下、第７実施形態に係る情報処理システム１Ｇと異なる点を中心として説明する。
【０２５２】
図２２〜図３１は、第８実施形態に係る位相限定相関法を用いた対応点探索処理の原理を説明するための図である。
【０２５３】
図２２〜図３１では、基準領域Ｗ１１〜Ｗ１３（後述）および比較領域Ｗ２１〜Ｗ２３（後述）の所定サイズを規定する所定数Ｎ1，Ｎ2がそれぞれ９とされ、Ｘ方向がスキャン方向Ｄｓｃおよび視差発生方向とされている例が示されている。なお、ここでは、基準画像Ｇ１上で設定された指定点ＰのＹ座標がｙ１であるものとして説明する。
【０２５４】
基準画像Ｇ１上でＹ座標がｙ１である指定点Ｐが設定されると、図２２で示すように、第７実施形態と同様に、参照画像Ｇ２について、中心の画素のＹ座標がｙ１であるＹ方向に沿った全画素列に関して１次元演算が行われる。具体的には、Ｙ座標がｙ１である点が結ばれた視差基準線Ｌｓが中心とされ、且つＹ方向に沿った全画素列Ｌｙに関して１次元ＤＦＴが行われる。つまり、参照画像Ｇ２のうち、Ｙ方向に沿って所定数Ｎ2の画素を有し且つＸ方向に向けて並んだ複数の画素列に関して、画素列ごとに１次元演算が行われる。このとき、全画素列Ｌｙに係る１次元演算の結果がメモリ３６ｂに記憶される。
【０２５５】
続いて、低精度で対応点候補が検出され、その対応点候補の近傍について高精度で対応点が検出される。ここでは、(Ｉ)比較的低精度の第１対応点候補の検出、(II)比較的中程度の精度の第２対応点候補の検出、(III)比較的高精度の対応点の検出、が時間順次に行われる。
【０２５６】
○第１対応点候補の検出：
まず、図２３で示すように、基準画像Ｇ１上で指定される指定点Ｐを内包する画像領域（図２３では、３３×９画素の画像領域）から、Ｘ方向に所定の第１の間引き度合い（ここでは４画素ごとに１画素を取得、すなわち間引き率３／４）で、所定数Ｎ1本の画素列（図２３では、斜線ハッチングが付された画素列）Ｌｙが認識される。この所定数Ｎ1本の画素列Ｌｙが認識されることで、図２４で示すように、Ｙ方向に沿って所定数Ｎ2の画素を有し、且つＸ方向に沿って所定数Ｎ1の画素を有する基準領域Ｗ１１が、基準画像Ｇ１に対して設定されることになる。そして、基準領域Ｗ１１に対して２次元演算（ここでは、２次元ＤＦＴ）が行われる。なお、ここでは、指定点Ｐを内包する画像領域は、指定点Ｐを中心点とし、指定点Ｐを通る視差基準線Ｌｓに沿って並んだ複数本（図２３では、３３本）の画素列Ｌｙからなる。
【０２５７】
次に、図２５(ａ)で示すように、視差基準線Ｌｓに沿って並んだ複数の画素列Ｌｙに含まれる所定数（ここでは、Ｎ本）の画素列Ｌｙによって構成された評価対象領域ＡＲ１（図中太枠で囲まれた領域）が、参照画像Ｇ２に対して設定される。ここで言う「評価対象領域」は、対応点が存在するか否か評価される対象の領域である。
【０２５８】
更に、評価対象領域ＡＲ１を構成する複数の画素列Ｌｙから所定の第１の間引き度合い（ここでは間引き率３／４）で、複数の画素列（ここでは図２５(ａ)で斜線ハッチングが付された画素列）が抽出され、間引き画像ＣＧ１が生成される。例えば、図２５(ｂ)で示すように、間引き画像ＣＧ１はＮ／４本の画素列Ｌｙから構成される。
【０２５９】
そして、図２５(ｂ)で示されるように、間引き画像ＣＧ１上に、所定サイズ（ここでは、Ｎ1×Ｎ2＝９×９画素）を有する比較領域Ｗ２１（図中太枠で囲まれた領域）が、左から右方向（Ｘ方向）に沿って１画素ずつずらされながら順次に設定される。なお、比較領域Ｗ２１のように、画素列が間引かれて生成された比較領域を、適宜「間引き比較領域」とも称する。
【０２６０】
具体的には、図２５(ｂ)で示す間引き画像ＣＧ１上では、合計（Ｎ／４−８）すなわち約Ｎ／４個の比較領域Ｗ２１が設定される。このとき、評価対象領域ＡＲ１を構成する複数の画素列Ｌｙから、所定の第１の間引き度合いでＮ1本の画素列Ｌｙが認識および抽出されることで、Ｎ1本の画素列Ｌｙによって構成された各比較領域Ｗ２１が、参照画像Ｇ２に対して設定されることになる。なお、図２５(ｃ)は、比較領域Ｗ２１に着目した図である。
【０２６１】
次に、各比較領域Ｗ２１に対して２次元演算（ここでは、２次元ＤＦＴ）が行われる。具体的には、メモリ３６ｂに記憶された１次元演算の演算結果のうち、比較領域Ｗ２１を構成する画素列に関する演算結果に対して、一方向（ここではＸ方向）に沿った画素列ごとに１次元演算（ここでは１次元ＤＦＴ）が行われる。
【０２６２】
更に、基準領域Ｗ１１に係る２次元演算の結果と、各比較領域Ｗ２１に関する２次元演算の結果とに基づき、基準領域Ｗ１１内の画像と、各比較領域Ｗ２１内の画像とに関する相関値（ここではＰＯＣ値）が算出される。なお、ＰＯＣ値の算出方法については、上記第１〜７実施形態で既に説明した。
【０２６３】
そして、上記の如く算出された基準領域Ｗ１１内の画像と、各比較領域Ｗ２１内の画像とに関する相関値（ここではＰＯＣ値）に基づき、指定点Ｐに対応する参照画像Ｇ２上の対応点の候補（第１対応点候補）が検出される。このとき、ＰＯＣ値の分布のうち、ＰＯＣ値のピーク位置が、第１対応点候補（例えば図２８(ａ)の第１対応点候補Ｃｐ１）として検出される。
【０２６４】
○第２対応点候補の検出：
まず、図２６で示すように、基準画像Ｇ１上で指定される指定点Ｐを内包する画像領域（図２６では、１７×９画素の画像領域）から、Ｘ方向に第１対応点候補の検出時よりも間引き度合いが小さい所定の第２の間引き度合い（ここでは２画素ごとに１画素を取得、すなわち間引き率１／２）で、所定数Ｎ1本の画素列（図２６では、斜線ハッチングが付された画素列）Ｌｙが認識される。この所定数Ｎ1本の画素列Ｌｙが認識されることで、図２７で示すように、Ｙ方向に沿って所定数Ｎ2の画素を有し、且つＸ方向に沿って所定数Ｎ1の画素を有する基準領域Ｗ１２が、基準画像Ｇ１に対して設定されることになる。そして、基準領域Ｗ１２に対して２次元演算（ここでは、２次元ＤＦＴ）が行われる。なお、ここでは、指定点Ｐを内包する画像領域は、指定点Ｐを中心点とし、指定点Ｐを通る視差基準線Ｌｓに沿って並んだ複数本（図２６では、１７本）の画素列Ｌｙからなる。
【０２６５】
次に、図２８(ａ)で示すように、第１対応点候補Ｃｐ１を内包し、且つ視差基準線Ｌｓに沿って並んだ複数の画素列Ｌｙに含まれる所定数の画素列Ｌｙによって構成された評価対象領域ＡＲ２（図中太枠で囲まれた領域）が、参照画像Ｇ２に対して設定される。ここでは、第１対応点候補Ｃｐ１が中心とされた２５本の画素列Ｌｙからなる評価対象領域ＡＲ２が、参照画像Ｇ２に対して設定される。
【０２６６】
更に、評価対象領域ＡＲ２を構成する複数の画素列Ｌｙから、所定の第２の間引き度合い（ここでは間引き率１／２）で、複数の画素列（ここでは図２８(ａ)で斜線ハッチングが付された画素列）が抽出され、間引き画像ＣＧ２が生成される。例えば、図２８(ｂ)で示すように、間引き画像ＣＧ２は１３本の画素列Ｌｙから構成される。
【０２６７】
そして、図２８(ｂ)で示されるように、間引き画像ＣＧ２上に、所定サイズ（ここでは、Ｎ1×Ｎ2＝９×９画素）を有する比較領域Ｗ２２（図中太枠で囲まれた領域）が、左から右方向（Ｘ方向）に沿って１画素ずつずらされながら順次に設定される。なお、比較領域Ｗ２２は、画素列が間引かれて生成された比較領域（間引き比較領域）となっている。
【０２６８】
具体的には、図２８(ｂ)で示す間引き画像ＣＧ２上では、合計５つの比較領域Ｗ２２が設定される。このとき、評価対象領域ＡＲ２を構成する複数の画素列Ｌｙから、所定の第２の間引き度合いでＮ1本の画素列Ｌｙが認識および抽出されることで、Ｎ1本の画素列Ｌｙによって構成された各比較領域Ｗ２２が、参照画像Ｇ２に対して設定されることになる。なお、図２８(ｃ)は、比較領域Ｗ２２に着目した図である。
【０２６９】
次に、各比較領域Ｗ２２に対して２次元演算（ここでは、２次元ＤＦＴ）が行われる。具体的には、メモリ３６ｂに記憶された１次元演算の演算結果のうち、比較領域Ｗ２２を構成する全画素列Ｌｙに関する演算結果に対して、一方向（ここではＸ方向）に沿った画素列ごとに１次元演算（ここでは１次元ＤＦＴ）が行われる。
【０２７０】
更に、基準領域Ｗ１２に係る２次元演算の結果と、各比較領域Ｗ２２に関する２次元演算の結果とに基づき、基準領域Ｗ１２内の画像と、各比較領域Ｗ２２内の画像とに関する相関値（ここではＰＯＣ値）が算出される。
【０２７１】
そして、上記の如く算出された基準領域Ｗ１２内の画像と、各比較領域Ｗ２２内の画像とに関する相関値（ここではＰＯＣ値）に基づき、指定点Ｐに対応する参照画像Ｇ２上の対応点の候補（第２対応点候補）が検出される。このとき、ＰＯＣ値の分布のうち、ＰＯＣ値のピーク位置が、第２対応点候補（例えば図３１(ａ)の第２対応点候補Ｃｐ２）として検出される。
【０２７２】
○対応点の検出：
まず、図２９で示すように、基準画像Ｇ１上で指定される指定点Ｐを内包し、Ｙ方向に沿って所定数Ｎ2の画素をそれぞれ有する所定数Ｎ1本の画素列（図２９では、斜線ハッチングが付された画素列）Ｌｙからなる基準領域Ｗ１３が、基準画像Ｇ１に対して設定される。そして、基準領域Ｗ１３に対して２次元演算（ここでは、２次元ＤＦＴ）が行われる。なお、基準領域１３を構成する所定数Ｎ1本の画素列Ｌｙは、基準画像Ｇ１上で、Ｘ方向に沿って隣接配置されていたものである。図３０は、基準領域１３に着目した図である。
【０２７３】
次に、図３１(ａ)で示すように、第２対応点候補Ｃｐ２を内包し、且つ視差基準線Ｌｓに沿って並んだ複数の画素列Ｌｙに含まれる所定数の画素列Ｌｙによって構成された評価対象領域ＡＲ３（図中太枠で囲まれた領域）が、参照画像Ｇ２に対して設定される。ここでは、第２対応点候補Ｃｐ２が中心とされた１３本の画素列Ｌｙからなる評価対象領域ＡＲ３が、参照画像Ｇ２に対して設定される。なお、図３１(ｂ)は、評価対象領域ＡＲ３に着目した図である。
【０２７４】
そして、図３１(ｂ)で示されるように、評価対象領域ＡＲ３上に、所定サイズ（ここでは、Ｎ1×Ｎ2＝９×９画素）を有する比較領域Ｗ２３（図中太枠で囲まれた領域）が、左から右方向（Ｘ方向）に沿って１画素ずつずらされながら順次に設定される。図３１(ｂ)で示す評価対象領域ＡＲ３上では、合計５つの比較領域Ｗ２３が設定される。このとき、評価対象領域ＡＲ３を構成する複数の画素列ＬｙのうちのＮ1本の画素列Ｌｙによって構成された各比較領域Ｗ２３が、参照画像Ｇ２に対して設定されることになる。なお、図３１(ｃ)は、比較領域Ｗ２３に着目した図である。
【０２７５】
次に、各比較領域Ｗ２３に対して２次元演算（ここでは、２次元ＤＦＴ）が行われる。具体的には、メモリ３６ｂに記憶された１次元演算の演算結果のうち、比較領域Ｗ２３を構成する画素列Ｌｙに関する演算結果に対して、一方向（ここではＸ方向）に沿った画素列ごとに１次元演算（ここでは１次元ＤＦＴ）が行われる。
【０２７６】
更に、基準領域Ｗ１３に係る２次元演算の結果と、各比較領域Ｗ２３に関する２次元演算の結果とに基づき、基準領域Ｗ１３内の画像と、各比較領域Ｗ２３内の画像とに関する相関値（ここではＰＯＣ値）が算出される。
【０２７７】
そして、上記の如く算出された基準領域Ｗ１３内の画像と、各比較領域Ｗ２３内の画像とに関する相関値（ここではＰＯＣ値）に基づき、指定点Ｐに対応する参照画像Ｇ２上の対応点が検出される。このとき、ＰＯＣ値の分布のうち、ＰＯＣ値のピーク位置が、対応点として検出される。
【０２７８】
このように、本実施形態では、比較的低精度の対応点候補の検出によって、評価対象領域が絞り込まれ、絞り込まれた評価対象領域（例えば評価対象領域ＡＲ３）について、比較的高精度な対応点の検出が行われる。例えば、図２２〜図３１で示した例では、例えば、約Ｎ／４＋１０｛＝（Ｎ／４）＋５＋５｝個の比較領域Ｗ２１〜２３に関してそれぞれ評価を行えば、１つの指定点Ｐに対応する参照画像Ｇ２上の対応点が検出される。
【０２７９】
これに対して、第７実施形態と同様に、評価対象領域ＡＲ１に対して、１画素ずつずれた比較領域Ｗ２が設定される場合には、約Ｎ個の比較領域Ｗ２の設定が可能であり、約Ｎ個の比較領域Ｗ２に対して評価を行うことで、１つの指定点Ｐに対応する参照画像Ｇ２上の対応点が検出される。
【０２８０】
したがって、本実施形態では、第７実施形態と比べて、更に指定点Ｐに対応する参照画像Ｇ２上の対応点の検出に要する演算量が低減され、対応点の検出がより高速化される。
【０２８１】
なお、基準画像Ｇ１に対して指定点Ｐが設定される度に、上述した、(Ｉ)比較的低精度の第１対応点候補の検出、(II)比較的中程度の精度の第２対応点候補の検出、(III)比較的高精度の対応点の検出、が時間順次に行われ、基準画像Ｇ１の各指定点Ｐに対応する参照画像Ｇ２上の各対応点が検出される。
【０２８２】
但し、指定点ＰのＹ座標が同一（例えばＹ＝ｙ１）である限りは、基準画像Ｇ１に対して指定点Ｐが設定されても、比較領域に係る２次元演算に必要となる画素列Ｌｙに係る１次元演算の結果は同じである。このため、指定点ＰのＹ座標が変わる度に、参照画像Ｇ２のうち、中心の画素のＹ座標が或る値であるＹ方向に沿った全画素列に関して１次元演算が行われる。
【０２８３】
ここで、第８実施形態に係る対応点の探索動作の動作フローについて説明する。
【０２８４】
図３２〜図３８は、第８実施形態に係る情報処理システム１Ｈにおける対応点の探索動作を示すフローチャートである。なお、本動作フローは、制御部３６でプログラムＰＧｈが実行されることで実現され、例えば、操作部３１から所定の信号が制御部３６に対して入力されたことに応答して、開始され、図３２のステップＳＴ１に進む。
【０２８５】
ステップＳＴ１では、図９のステップＳ１と同様な処理が行われる。
【０２８６】
ステップＳＴ２では、ステップＳＴ１で取得された基準画像Ｇ１に対し、指定点Ｐが設定される。
【０２８７】
ステップＳＴ３では、基準画像Ｇ１上の指定点Ｐに対応した参照画像Ｇ２上の対応点の探索が行われる(後で詳述)。
【０２８８】
ステップＳＴ４では、図９のステップＳ４と同様な処理が行われる。ここで、スキャン対象が存在する場合には、ステップＳＴ２に進み、スキャン対象が残存しない場合には、本フローチャートの動作が終了される。
【０２８９】
図３３〜図３８は、上記ステップＳＴ３の動作に対応しており、対応点の探索動作を示すフローチャートである。
【０２９０】
ステップＳＴ３１では、図２０のステップＳ３２と同様な処理が行われる。ここで、指定点ＰのＹ座標が変更されていれば、ステップＳＴ３２に進み、変更されていなければ、ステップＳＴ３５に進む。
【０２９１】
ステップＳＴ３２〜ＳＴ３４では、図２０のステップＳＰ３３〜ＳＰ３５と同様な処理が行われる。
【０２９２】
ステップＳＴ３５では、ステップＳＴ２で設定された指定点Ｐを中心として、所定の第１の間引き度合いで基準画像Ｇ１から所定数Ｎ1本の画素列Ｌｙを認識する画素列の間引き処理が行われることで、基準画像Ｇ１に対して基準領域Ｗ１１（図２３，図２４）が設定される。
【０２９３】
ステップＳＴ３６では、基準領域Ｗ１１が一方向（ここではＹ方向）に沿った画素列（ここでは画素列Ｌｙ）に分割される。
【０２９４】
ステップＳＴ３７では、ステップＳＴ３６で分割・生成された全画素列に関して、一方向（ここではＹ方向）に沿った画素列ごとに１次元ＤＦＴの演算が行われる。
【０２９５】
ステップＳＴ３８では、ステップＳＴ３７で求められた１次元ＤＦＴの演算結果がメモリ３６ｂに記憶される。なお、既に１次元ＤＦＴの演算が行われた結果を記憶しておき、その結果を適宜再利用することで、ステップＳＴ３７の演算回数を低減しても良い。
【０２９６】
ステップＳＴ３９では、基準領域Ｗ１１に係る一方向（ここではＹ方向）に沿った１次元ＤＦＴの演算結果（ここでは、ステップＳＴ３７の演算結果）に対して、他方向（Ｘ方向）に沿った画素列ごとに１次元ＤＦＴの演算が行われることで、基準領域Ｗ１１に関する２次元ＤＦＴの演算が行われる。また、規格化処理Ｔ２ａも行われる。
【０２９７】
図３４のステップＳＴ４１では、ステップＳＴ３２で認識された全画素列Ｌｙによって構成された評価対象領域ＡＲ１（例えば図２５(ａ)）が参照画像Ｇ２に対して設定される。
【０２９８】
ステップＳＴ４２では、ステップＳＴ４１で設定された評価対象領域ＡＲ１を構成する複数の画素列Ｌｙから所定の第１の間引き度合い（ここでは４画素ごとに１画素を取得、すなわち間引き率３／４）で複数の画素列が抽出され、間引き画像ＣＧ１（例えば図２５(ｂ)）が生成される。
【０２９９】
ステップＳＴ４３では、第１対応点候補Ｃｐ１の検出動作における比較領域Ｗ２１の設定回数を示すカウンタｉが１に設定される。
【０３００】
ステップＳＴ４４では、間引き画像ＣＧ１に対してｉ番目の比較領域Ｗ２１が設定される（例えば図２５(ｂ)，(ｃ)）。なお、ステップＳＴ４４が１回目（ｉ＝１）である場合には、間引き画像ＣＧ１の最も−Ｘ側に比較領域Ｗ２１が設定され、ステップＳＴ４４が２回目以降（ｉ≧２）である場合には、前回よりも所定画素数（ここでは１画素）だけ＋Ｘ側にずらした位置に比較領域Ｗ２１が設定される。
【０３０１】
ステップＳＴ４５では、メモリ３６ｂに記憶された全画素列Ｌｙに係る１次元ＤＦＴの演算結果のうち、ステップＳＴ４４で設定された比較領域Ｗ２１を構成する画素列Ｌｙに係る１次元ＤＦＴの演算結果が用いられ、Ｘ方向に沿った画素列ごとに１次元ＤＦＴの演算が行われる。つまり、２次元ＤＦＴの演算が行われる。このとき、規格化処理Ｔ２ｂも行われる。
【０３０２】
ステップＳＴ４６では、ステップＳＴ３９における演算結果と、ステップＳＴ４５における演算結果とに基づき、合成処理が行われる。ここでは、数４で示した演算式を用いた合成処理Ｔ３が行われる。
【０３０３】
ステップＳＴ４７、ＳＴ４８では、図１０のステップＳ３５、Ｓ３６と同様な処理が行われる。
【０３０４】
ステップＳＴ４９では、カウンタｉ＝Ｎ／４−８に達したか否か判定される。ここで、カウンタｉ＝Ｎ／４−８に達していなければ、カウンタｉが１だけ増加されて（ステップＳＴ５０）、ステップＳＴ４４に進む。このとき、Ｘ方向に沿って複数（例えば９つ）の画素がそれぞれ配列され、且つＹ方向に沿って所定数（例えば９つ）の画素がそれぞれ配列され、相互に重なり合う重複領域を有する比較領域Ｗ２１が間引き画像ＣＧ１に対して順次に設定される。一方、カウンタｉ＝Ｎ／４−８に達していれば、間引き画像ＣＧ１に対する全設定対象領域に比較画像Ｗ２１が設定されたものとして、ステップＳＴ５１に進む。
【０３０５】
ステップＳＴ５１では、メモリ３６ｂに記憶されているピーク情報に基づき、基準画像Ｇ１上の指定点Ｐに対応した参照画像Ｇ２上の第１対応点候補Ｃｐ１が検出され、図３５のステップＳＴ６１に進む。
【０３０６】
図３５のステップＳＴ６１では、ステップＳＴ２で設定された指定点Ｐを中心として、所定の第２の間引き度合いで基準画像Ｇ１から所定数Ｎ1本の画素列Ｌｙを認識する画素列の間引き処理が行われることで、基準画像Ｇ１に対して基準領域Ｗ１２（図２６，図２７）が設定される。
【０３０７】
ステップＳＴ６２では、基準領域Ｗ１２が一方向（ここではＹ方向）に沿った画素列（ここでは画素列Ｌｙ）に分割される。
【０３０８】
ステップＳＴ６３では、ステップＳＴ６２で分割・生成された全画素列に関して、一方向（ここではＹ方向）に沿った画素列ごとに１次元ＤＦＴの演算が行われる。
【０３０９】
ステップＳＴ６４では、ステップＳＴ６３で求められた１次元ＤＦＴの演算結果がメモリ３６ｂに記憶される。なお、既に１次元ＤＦＴの演算が行われた結果を記憶しておき、その結果を適宜再利用することで、ステップＳＴ６３の演算回数を低減しても良い。
【０３１０】
ステップＳＴ６５では、基準領域Ｗ１２に係る一方向（ここではＹ方向）に沿った１次元ＤＦＴの演算結果（ここでは、ステップＳＴ６３の演算結果）に対して、他方向（Ｘ方向）に沿った画素列ごとに１次元ＤＦＴの演算が行われることで、基準領域Ｗ１２に関する２次元ＤＦＴの演算が行われる。また、規格化処理Ｔ２ａも行われる。
【０３１１】
図３６のステップＳＴ７１では、ステップＳＴ５１で検出された第１対応点候補Ｃｐ１を中心とした評価対象領域ＡＲ２が参照画像Ｇ２に対して設定される（例えば図２８(ａ)）。例えば、評価対象領域ＡＲ２は、第１対応点候補Ｃｐ１を中心として、Ｘ方向に沿った所定本（ここでは２５本）の画素列Ｌｙからなる。
【０３１２】
ステップＳＴ７２では、ステップＳＴ７１で設定された評価対象領域ＡＲ２を構成する複数の画素列Ｌｙから所定の第２の間引き度合い（ここでは２画素ごとに１画素を取得、すなわち間引き率１／２）で複数の画素列が抽出され、間引き画像ＣＧ２（例えば図２８(ｂ)）が生成される。
【０３１３】
ステップＳＴ７３では、第２対応点候補Ｃｐ２の検出動作における比較領域Ｗ２２の設定回数を示すカウンタｊが１に設定される。
【０３１４】
ステップＳＴ７４では、間引き画像ＣＧ２に対してｊ番目の比較領域Ｗ２２が設定される（例えば図２８(ｂ)，(ｃ)）。なお、ステップＳＴ７４が１回目（ｊ＝１）である場合には、間引き画像ＣＧ２の最も−Ｘ側に比較領域Ｗ２２が設定され、ステップＳＴ７４が２回目以降（ｊ≧２）である場合には、前回よりも所定画素数（ここでは１画素）だけ＋Ｘ側にずらした位置に比較領域Ｗ２２が設定される。
【０３１５】
ステップＳＴ７５では、メモリ３６ｂに記憶された全画素列Ｌｙに係る１次元ＤＦＴの演算結果のうち、ステップＳＴ７４で設定された比較領域Ｗ２２を構成する画素列Ｌｙに係る１次元ＤＦＴの演算結果が用いられ、Ｘ方向に沿った画素列ごとに１次元ＤＦＴの演算が行われる。つまり、２次元ＤＦＴの演算が行われる。このとき、規格化処理Ｔ２ｂも行われる。
【０３１６】
ステップＳＴ７６では、ステップＳＴ６５における演算結果と、ステップＳＴ７５における演算結果とに基づき、合成処理が行われる。ここでは、数４で示した演算式を用いた合成処理Ｔ３が行われる。
【０３１７】
ステップＳＴ７７、ＳＴ７８では、図１０のステップＳ３５、Ｓ３６と同様な処理が行われる。
【０３１８】
ステップＳＴ７９では、カウンタｊ＝５に達したか否か判定される。ここで、カウンタｊ＝５に達していなければ、カウンタｊが１だけ増加されて（ステップＳＴ８０）、ステップＳＴ７４に進む。このとき、Ｘ方向に沿って複数（例えば９つ）の画素がそれぞれ配列され、且つＹ方向に沿って所定数（例えば９つ）の画素がそれぞれ配列され、相互に重なり合う重複領域を有する比較領域Ｗ２２が間引き画像ＣＧ２に対して順次に設定される。一方、カウンタｊ＝５に達していれば、間引き画像ＣＧ２に対する全設定対象領域に比較画像Ｗ２２が設定されたものとして、ステップＳＴ８１に進む。
【０３１９】
ステップＳＴ８１では、メモリ３６ｂに記憶されているピーク情報に基づき、基準画像Ｇ１上の指定点Ｐに対応した参照画像Ｇ２上の第２対応点候補Ｃｐ２が検出され、図３７のステップＳＴ９１に進む。
【０３２０】
図３７のステップＳＴ９１では、ステップＳＴ２で設定された指定点Ｐを中心として、基準画像Ｇ１に対して所定数Ｎ1本の画素列Ｌｙからなる基準領域Ｗ１３（図２９，図３０）が設定される。
【０３２１】
ステップＳＴ９２では、基準領域Ｗ１３が一方向（ここではＹ方向）に沿った画素列（ここでは画素列Ｌｙ）に分割される。
【０３２２】
ステップＳＴ９３では、ステップＳＴ９２で分割・生成された全画素列に関して、一方向（ここではＹ方向）に沿った画素列ごとに１次元ＤＦＴの演算が行われる。
【０３２３】
ステップＳＴ９４では、ステップＳＴ９３で求められた１次元ＤＦＴの演算結果がメモリ３６ｂに記憶される。なお、既に１次元ＤＦＴの演算が行われた結果を記憶しておき、その結果を適宜再利用することで、ステップＳＴ９３の演算回数を低減しても良い。
【０３２４】
ステップＳＴ９５では、基準領域Ｗ１３に係る一方向（ここではＹ方向）に沿った１次元ＤＦＴの演算結果（ここでは、ステップＳＴ９３の演算結果）に対して、他方向（Ｘ方向）に沿った画素列ごとに１次元ＤＦＴの演算が行われることで、基準領域Ｗ１３に関する２次元ＤＦＴの演算が行われる。また、規格化処理Ｔ２ａも行われる。
【０３２５】
図３８のステップＳＴ１０１では、ステップＳＴ８１で検出された第２対応点候補Ｃｐ２を中心とした評価対象領域ＡＲ３が参照画像Ｇ２に対して設定される（例えば図３１(ａ)）。例えば、評価対象領域ＡＲ３は、第２対応点候補Ｃｐ２を中心として、Ｘ方向に沿った所定本（ここでは１３本）の画素列Ｌｙからなる。
【０３２６】
ステップＳＴ１０２では、対応点の検出動作における比較領域Ｗ２３の設定回数を示すカウンタｋが１に設定される。
【０３２７】
ステップＳＴ１０３では、評価対象領域ＡＲ３に対してｋ番目の比較領域Ｗ２３が設定される（例えば図３１(ｂ)，(ｃ)）。なお、ステップＳＴ１０３が１回目（ｋ＝１）である場合には、評価対象領域ＡＲ３の最も−Ｘ側に比較領域Ｗ２３が設定され、ステップＳＴ１０３が２回目以降（ｋ≧２）である場合には、前回よりも所定画素数（ここでは１画素）だけ＋Ｘ側にずらした位置に比較領域Ｗ２３が設定される。
【０３２８】
ステップＳＴ１０４では、メモリ３６ｂに記憶された全画素列Ｌｙに係る１次元ＤＦＴの演算結果のうち、ステップＳＴ１０３で設定された比較領域Ｗ２３を構成する画素列Ｌｙに係る１次元ＤＦＴの演算結果が用いられ、Ｘ方向に沿った画素列ごとに１次元ＤＦＴの演算が行われる。つまり、２次元ＤＦＴの演算が行われる。このとき、規格化処理Ｔ２ｂも行われる。
【０３２９】
ステップＳＴ１０５では、ステップＳＴ９５における演算結果と、ステップＳＴ１０４における演算結果とに基づき、合成処理が行われる。ここでは、数４で示した演算式を用いた合成処理Ｔ３が行われる。
【０３３０】
ステップＳＴ１０６、ＳＴ１０７では、図１０のステップＳ３５、Ｓ３６と同様な処理が行われる。
【０３３１】
ステップＳＴ１０８では、カウンタｋ＝５に達したか否か判定される。ここで、カウンタｋ＝５に達していなければ、カウンタｋが１だけ増加されて（ステップＳＴ１０９）、ステップＳＴ１０３に進む。このとき、Ｘ方向に沿って複数（例えば９つ）の画素がそれぞれ配列され、且つＹ方向に沿って所定数（例えば９つ）の画素がそれぞれ配列され、相互に重なり合う重複領域を有する比較領域Ｗ２３が評価対象領域ＡＲ３に対して順次に設定される。一方、カウンタｋ＝５に達していれば、評価対象領域ＡＲ３に対する全設定対象領域に比較画像Ｗ２３が設定されたものとして、ステップＳＴ１１０に進む。
【０３３２】
ステップＳＴ１１０では、メモリ３６ｂに記憶されているピーク情報に基づき、基準画像Ｇ１上の指定点Ｐに対応した参照画像Ｇ２上の対応点が検出され、対応点の探索動作のフローが終了される。
【０３３３】
以上のように、第８実施形態に係る情報処理システム１Ｈでは、第１方向（Ｘ方向）に沿って順次に設定される複数の領域を構成する画素列に係る１次元演算が予めまとめて行われる。そして、その１次元演算の結果を利用して、比較的低精度で対応点の候補（例えば第１および第２対応点候補）が検出され、その対応点の候補を含むある程度絞り込まれた領域（例えば評価対象領域ＡＲ３）について高精度で対応点が検出される。このため、演算量の低減が図られ、画像間における座標点の対応付けが更に高速で行われる。
【０３３４】
なお、図２２〜図３８を示した上記説明では、(Ｉ)比較的低精度の第１対応点候補の検出、(II)比較的中程度の精度の第２対応点候補の検出、(III)比較的高精度の対応点の検出、が時間順次に行われ、評価対象領域の絞り込みが２回行われた。しかしながら、評価対象領域の絞り込みは２回である必要性はなく、例えば、１回など、少なくとも１回以上であれば良い。また、上記説明では、１次元演算および２次元演算については１次元ＤＦＴおよび２次元ＤＦＴであるものとして説明したが、１次元ＤＦＴおよび２次元ＤＦＴと併せて、１次元的に窓関数を掛ける演算および２次元的に窓関数を掛ける演算を含ませても良い。
【０３３５】
＜変形例＞
以上、この発明の実施形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
【０３３６】
◎例えば、上記第５、７実施形態では、１つの対応点を検出するために、参照画像Ｇ２上で視差基準線Ｌｓに沿って−Ｘ側の端部から＋Ｘ側の端部まで比較領域Ｗ２によってスキャンされたが、これに限られない。例えば、図３９で示す参照画像Ｇ２上における位置（視差ｐ＝０の位置）Ｑoから、最大視差ｐmaxに対応した位置ＱmaxまでＸ方向に１画素ずつずらされた複数の比較領域Ｗ２が設定されて、１つの対応点が検出されても良い。この最大視差ｐmaxは、撮像系２１，２２の配置や設計から求めることができる。
【０３３７】
このような構成が採用されれば、演算量の低減を図ることができ、画像間の画素の対応付けの高速化に資する。なお、このように最大視差ｐmaxに対応させて比較領域Ｗ２によってスキャンする領域を制限する構成が、第１〜４、６、８実施形態に対して適宜適用されると、演算量の低減、ひいては画像間の画素の対応付けの高速化が適宜図られる。
【０３３８】
◎また、上記第１〜８実施形態に係る情報処理システム１Ａ〜１Ｈでは、ステレオカメラ２と、情報処理装置３Ａ〜３Ｈとが別々の装置として構成されたが、これに限られない。例えば、ステレオカメラ２と情報処理装置３Ａ〜３Ｈとが一体的に構成された１個の装置として構成されても良いし、第１〜８実施形態に係る情報処理システム１Ａ〜１Ｈを構成する各機能が適宜異なる装置に分散されて配置されても良い。
【０３３９】
◎また、上記実施形態では、重複する１次元フーリエ変換の演算が省略されることで、複数回の２次元フーリエ変換の演算量の低減が図られたが、これに限られず、本発明を、フーリエ変換以外の１次元および２次元の周波数分解の演算に適用することもできる。１次元および２次元の周波数分解（１次元周波数分解および２次元周波数分解）としては、例えば、フーリエ変換の他に、離散コサイン変換、離散サイン変換、ウェーブレット変換、およびアダマール変換などが挙げられる。したがって、これらの周波数分解のうちのいずれかの演算に本発明が適用されることで、重複する１次元周波数分解の演算が省略されることで、複数回の２次元周波数分解の演算量の低減が図られる。
【０３４０】
◎また、上記第１〜８実施形態に係る情報処理システム１Ａ〜１Ｈでは、基準画像に対して１つの基準領域が設定される毎に、参照画像に対して複数の比較領域が設定されて、指定点に対応する対応点が検出されたが、これに限られない。例えば、基準画像に対して指定点を包含する１つの基準領域が設定される毎に、参照画像に対して１つの比較領域が設定されて、指定点に対応する対応点が検出されても良い。このような構成であっても、ある基準領域に対応して設定された１つの比較領域と、前回の基準領域に対応して設定された前回の比較領域との間で、相互に重なり合う重複領域（具体的には、一方向に沿った１以上の画素列）について、同一の１次元演算の結果が利用されつつ、基準領域と比較領域との各組合せについての２次元演算が行われれば、演算量の低減が図られる。すなわち、１つの画像に関する複数回の２次元演算が高速で行われる。
【０３４１】
◎なお、上記第１〜８実施形態に係る各種構成については、矛盾を生じない範囲内で、適宜組み合わされても良い。
【図面の簡単な説明】
【０３４２】
【図１】本発明の第１実施形態に係る情報処理システムの概略構成を示す図である。
【図２】第１実施形態に係る情報処理システムの要部構成を示すブロック図である。
【図３】基準画像および参照画像に対するウィンドウの設定態様を示す図である。
【図４】基準画像および参照画像上でのスキャンの態様を例示する図である。
【図５】位相限定相関法による対応点の探索を説明するための図である。
【図６】位相限定相関法による対応点の探索を説明するための図である。
【図７】２次元ＤＦＴの手法を説明するための図である。
【図８】２次元ＤＦＴの手法を説明するための図である。
【図９】対応点探索処理の動作フローを示すフローチャートである。
【図１０】対応点探索処理の動作フローを示すフローチャートである。
【図１１】対応点探索処理の動作フローを示すフローチャートである。
【図１２】第２実施形態に係るスキャンと１次元演算の態様を例示する図である。
【図１３】比較例に係るスキャンと１次元演算の態様を説明する図である。
【図１４】第３実施形態に係るウィンドウと２次元演算の態様を例示する図である。
【図１５】第４実施形態に係るスキャン方向と１次元演算の態様を示す図である。
【図１６】第５実施形態に係るスキャンの態様を説明するための図である。
【図１７】第５実施形態に係る１次元演算について説明するための図である。
【図１８】第６実施形態に係る対応点の探索を説明するための図である。
【図１９】第７実施形態に係る１次元演算の動作について説明するための図である。
【図２０】第７実施形態に係る対応点探索処理を示すフローチャートである。
【図２１】第７実施形態に係る１次元演算の動作について説明するための図である。
【図２２】第８実施形態に係る対応点探索処理を説明するための図である。
【図２３】第８実施形態に係る対応点探索処理を説明するための図である。
【図２４】第８実施形態に係る対応点探索処理を説明するための図である。
【図２５】第８実施形態に係る対応点探索処理を説明するための図である。
【図２６】第８実施形態に係る対応点探索処理を説明するための図である。
【図２７】第８実施形態に係る対応点探索処理を説明するための図である。
【図２８】第８実施形態に係る対応点探索処理を説明するための図である。
【図２９】第８実施形態に係る対応点探索処理を説明するための図である。
【図３０】第８実施形態に係る対応点探索処理を説明するための図である。
【図３１】第８実施形態に係る対応点探索処理を説明するための図である。
【図３２】第８実施形態に係る対応点探索処理を示すフローチャートである。
【図３３】第８実施形態に係る対応点探索処理を示すフローチャートである。
【図３４】第８実施形態に係る対応点探索処理を示すフローチャートである。
【図３５】第８実施形態に係る対応点探索処理を示すフローチャートである。
【図３６】第８実施形態に係る対応点探索処理を示すフローチャートである。
【図３７】第８実施形態に係る対応点探索処理を示すフローチャートである。
【図３８】第８実施形態に係る対応点探索処理を示すフローチャートである。
【図３９】変形例に係る比較領域の設定手法について説明する図である。
【図４０】画像間の対応点から三角測量の原理に基づいて３次元位置を算出する方法を模式的に示す図である。
【符号の説明】
【０３４３】
１Ａ〜１Ｈ  情報処理システム  
２  ステレオカメラ
２１，２２撮像系
３Ａ〜３Ｈ  情報処理装置
３１  操作部
３２  表示部
３４  記憶部
３６  制御部
３６ａ  ＣＰＵ
３６ｂ  メモリ
ＡＲ１〜ＡＲ３  評価対象領域
ＣＧ１，ＣＧ２  間引き画像
Ｃｐ１  第１対応点候補
Ｃｐ２  第２対応点候補
Ｄｓｃ  スキャン方向
Ｇ１  基準画像（第１撮像画像）
Ｇ２  参照画像（第２撮像画像）
Ｌｓ  視差基準線
Ｌｘ，Ｌｙ  画素列
ＰＧａ〜ＰＧｈ  プログラム
Ｗ１，Ｗ１１，Ｗ１２，Ｗ１３，Ｗ１ｄ  基準領域（処理対象領域）
Ｗ２，Ｗ２１，Ｗ２２，Ｗ２３，Ｗ２ｄ  比較領域（処理対象領域）
【図１】
0005364982.tif 000008
【図２】
0005364982.tif 000009
【図３】
0005364982.tif 000010
【図４】
0005364982.tif 000011
【図５】
0005364982.tif 000012
【図６】
0005364982.tif 000013
【図７】
0005364982.tif 000014
【図８】
0005364982.tif 000015
【図９】
0005364982.tif 000016
【図１０】
0005364982.tif 000017
【図１１】
0005364982.tif 000018
【図１２】
0005364982.tif 000019
【図１３】
0005364982.tif 000020
【図１４】
0005364982.tif 000021
【図１５】
0005364982.tif 000022
【図１６】
0005364982.tif 000023
【図１７】
0005364982.tif 000024
【図１８】
0005364982.tif 000025
【図１９】
0005364982.tif 000026
【図２０】
0005364982.tif 000027
【図２１】
0005364982.tif 000028
【図２２】
0005364982.tif 000029
【図２３】
0005364982.tif 000030
【図２４】
0005364982.tif 000031
【図２５】
0005364982.tif 000032
【図２６】
0005364982.tif 000033
【図２７】
0005364982.tif 000034
【図２８】
0005364982.tif 000035
【図２９】
0005364982.tif 000036
【図３０】
0005364982.tif 000037
【図３１】
0005364982.tif 000038
【図３２】
0005364982.tif 000039
【図３３】
0005364982.tif 000040
【図３４】
0005364982.tif 000041
【図３５】
0005364982.tif 000042
【図３６】
0005364982.tif 000043
【図３７】
0005364982.tif 000044
【図３８】
0005364982.tif 000045
【図３９】
0005364982.tif 000046
【図４０】
0005364982.tif 000047