(57)【要約】  基線長方向の画像領域サイズが小さい対象物についても高精度に視差を算出することができる、ステレオ画像処理装置。この装置（１００）は、ステレオ画像の基準画像および参照画像を取得するステレオ画像取得部（１０１）と、ステレオ画像から基準画素データおよび参照画素データを取得する画像切出部（１０２）と、基準画素データの値をより左右対称にする処理である位相補正処理を、上記画素データのそれぞれに対して行う位相補正部（１０３）と、位相補正済みの上記画素データのそれぞれに対して窓掛けを行う窓掛部（１０４）と、窓掛け済みの上記２つの画素データの間の位相相関値を算出する（位相相関部１０５）と、位相相関値に基づいて、基準画像の基準点に対する参照画像の対応点の視差を算出するピーク位置検出部（１０６）とを有する。
2014049919.tif 000002
【特許請求の範囲】
【請求項１】
ステレオ画像の基準画像および参照画像を取得するステレオ画像取得部と、
前記基準画像および前記参照画像のそれぞれから、前記ステレオ画像の基線長方向に平行な部分画像を切り出し、当該部分画像の前記基線長方向における画素値の分布を示す一次元画素データ列を取得する画像切出部と、
前記基準画像から取得された前記一次元画素データ列である基準画素データに対して行った場合に当該基準画素データの値をより左右対称にする処理である位相補正処理を、前記基準画素データと、前記参照画像から取得された前記一次元画素データ列である参照画素データと、のそれぞれに対して行う位相補正部と、
前記基準画素データに対して前記位相補正処理を行って得られた位相補正済み基準画素データと、前記参照画素データに対して前記位相補正処理を行って得られた位相補正済み参照画素データと、のそれぞれに対して、窓掛けを行う窓掛部と、
前記位相補正済み基準画素データに対して前記窓掛けを行って得られた窓掛け済み基準画素データと、前記位相補正済み参照画素データに対して前記窓掛けを行って得られた窓掛け済み参照画素データと、の間の相関の度合いを示す位相相関値を算出する位相相関部と、
前記位相相関値に基づいて、前記基準画像の基準点に対する前記参照画像の対応点の視差を算出するピーク位置検出部と、を有する、
ステレオ画像処理装置。
【請求項２】
前記位相補正部は、
前記基準画素データに対して、各周波数成分の位相を零にする零位相化処理を行うことにより、前記位相補正済み基準画素データを算出する基準画素データ零位相化部と、
前記基準画素データおよび前記位相補正済み基準画素データに基づいて、前記基準画素データに対して適用した場合に当該基準画素データの値を左右対称にする位相補正フィルタを算出する位相補正フィルタ算出部と、
前記参照画素データに対して前記位相補正フィルタを適用することにより、前記位相補正済み参照画素データを算出する参照画素データ位相補正部と、を有する、
請求項１に記載のステレオ画像処理装置。
【請求項３】
前記零位相化処理は、前記基準画素データに対して、一次元フーリエ変換、虚数成分の除去、および一次元逆フーリエ変換をこの順序で施す処理を含み、
前記位相補正フィルタは、前記位相補正済み基準画素データを一次元フーリエ変換して得られる値を、前記基準画素データを一次元フーリエ変換して得られる値で割ることにより算出されるフィルタを含む、
請求項２に記載のステレオ画像処理装置。
【請求項４】
前記位相補正部は、
前記基準画素データに対して、一部または全部の周波数成分の位相を９０度シフトさせる位相シフトフィルタを適用して、位相シフト済み基準画素データを算出する基準画素データ位相シフト部と、
前記位相シフト済み基準画素データおよび前記基準画素データのそれぞれに対して、値の左右対称性を示す左右対称判定値を算出する左右対称判定値算出部と、
前記位相シフト済み基準画素データから算出された前記左右対称判定値と、前記基準画素データから算出された前記左右対称判定値と、を比較し、前記位相シフト済み基準画素データの前記左右対称性が前記基準画素データの前記左右対称性よりも高いか否かを判定する左右対称判定値比較部と、
前記参照画素データに対して前記位相シフトフィルタを適用して、位相シフト済み参照画素データを算出する参照画素データ位相シフト部と、を有し、
前記窓掛部は、
前記位相シフト済み基準画素データの前記左右対称性が前記基準画素データの前記左右対称性よりも高いとき、前記位相シフト済み基準画素データおよび前記位相シフト済み参照画素データを、それぞれ前記位相補正済み基準画素データおよび前記位相補正済み参照画素データとして扱い、前記位相シフト済み基準画素データの前記左右対称性が前記基準画素データの前記左右対称性よりも高くないとき、前記基準画素データおよび前記参照画素データを、それぞれ前記位相補正済み基準画素データおよび前記位相補正済み参照画素データとして扱う、
請求項１に記載のステレオ画像処理装置。
【請求項５】
前記位相シフトフィルタは、微分フィルタである、
請求項４に記載のステレオ画像処理装置。
【請求項６】
前記位相相関部は、
前記窓掛け済み基準画素データを配列方向に反転させて逆位相フィルタ係数を算出し、前記逆位相フィルタ係数を用いて前記窓掛け済み参照画素データをフィルタリングすることにより、前記位相相関値を算出する、
請求項１に記載のステレオ画像処理装置。
【請求項７】
ピクセルレベルの前記対応点を取得する画像マッチング部、を更に有し、
前記画像切出部は、
前記部分画像に前記基準点および前記対応点が含まれるように、前記部分画像の切り出し位置を決定し、
前記ピーク位置検出部は、
前記位相相関値に基づいて、前記基準画像の基準点に対する、サブピクセルレベルの前記対応点の視差を算出する、
請求項１に記載のステレオ画像処理装置。
【請求項８】
ステレオ画像の基準画像および参照画像を取得するステップと、
前記基準画像および前記参照画像のそれぞれから、前記ステレオ画像の基線長方向に平行な部分画像を切り出し、当該部分画像の前記基線長方向における画素値の分布を示す一次元画素データ列を取得するステップと、
前記基準画像から取得された前記一次元画素データ列である基準画素データに対して行った場合に当該基準画素データの値をより左右対称にする処理である位相補正処理を、前記基準画素データと、前記参照画像から取得された前記一次元画素データ列である参照画素データと、のそれぞれに対して行うステップと、
前記基準画素データに対して前記位相補正処理を行って得られた位相補正済み基準画素データと、前記参照画素データに対して前記位相補正処理を行って得られた位相補正済み参照画素データと、のそれぞれに対して、窓掛けを行うステップと、
前記位相補正済み基準画素データに対して前記窓掛けを行って得られた窓掛け済み基準画素データと、前記位相補正済み参照画素データに対して前記窓掛けを行って得られた窓掛け済み参照画素データと、の間の相関の度合いを示す位相相関値を算出するステップと、
前記位相相関値に基づいて、前記基準画像の基準点に対する前記参照画像の対応点の視差を算出するステップと、を有する、
ステレオ画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオ画像の基準画像の基準点に対するステレオ画像の参照画像の対応点の視差を算出する、ステレオ画像処理装置およびステレオ画像処理方法に関する。
【背景技術】
【０００２】
従来、ステレオ画像に基づいて対象物までの距離を測定するステレオ画像処理装置が知られている。このようなステレオ画像処理装置（以下、単に「ステレオ画像処理装置」という）は、参照画像から、基準画像に対する対応点を抽出する。ここで、「対応点」とは、参照画像において、基準画像の基準点と同一の対象物が撮影されている点である。そして、ステレオ画像処理装置は、カメラパラメータと、基準点に対する対応点のずれ量である視差とに基づいて、対象物までの距離を算出する。【０００３】
ステレオ画像処理装置は、車載カメラで撮影した前方車両または歩行者までの距離を測定する安全装置などへの適用が検討されている。また、近年、このような安全装置は、小型車へも普及してきている。このため、ステレオ画像処理装置に用いられるステレオカメラの小型化が要求されている。【０００４】
ステレオカメラが小型化すると、基準画像を撮影するカメラと参照画像を撮影するカメラとの間隔は狭くなり、視差は小さくなる。このため、ステレオ画像処理装置には、高精度な視差算出が要求される。【０００５】
高精度な視差算出の技術としては、例えば、特許文献１に記載の従来技術がある。この従来技術は、一次元ＰＯＣ（Phase Only Correlation）方式を用いて視差を算出する。【０００６】
具体的には、従来技術は、ハニング窓を用いて、基準画像および参照画像のそれぞれから一次元の画素データ列を切り出し、切り出した画素データ列を、一次元フーリエ変換を施して合成する。そして、従来技術は、合成したデータ列の振幅成分を正規化して一次元逆フーリエ変換することにより位相限定相関係数を求める。更に、従来技術は、求めた位相限定相関係数の相関ピークに基づいて、上記視差を算出する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−１２３１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来技術は、基線長方向の画像領域サイズが小さい対象物については、高精度に視差を算出することが困難であるという課題を有する。ここで、「基線長方向の画像領域サイズ」とは、基線長方向における画像領域の、ステレオ画像上で占めるサイズである。【０００９】
基線長方向の画像領域サイズが小さい対象物としては、例えば、カメラから遠くに位置する歩行者が挙げられる。特に、ステレオ画像処理装置を上記安全装置に適用するような場合には、基線長方向の画像領域サイズが小さい対象物についても、より高精度に視差を算出できることが望ましい。【００１０】
本発明の目的は、基線長方向の画像領域サイズが小さい対象物についても高精度に視差を算出することができる、ステレオ画像処理装置およびステレオ画像処理方法を提供することである。
【課題を解決するための手段】
【００１１】
本開示のステレオ画像処理装置は、ステレオ画像の基準画像および参照画像を取得するステレオ画像取得部と、前記基準画像および前記参照画像のそれぞれから、前記ステレオ画像の基線長方向に平行な部分画像を切り出し、当該部分画像の前記基線長方向における画素値の分布を示す一次元画素データ列を取得する画像切出部と、前記基準画像から取得された前記一次元画素データ列である基準画素データに対して行った場合に当該基準画素データの値をより左右対称にする処理である位相補正処理を、前記基準画素データと、前記参照画像から取得された前記一次元画素データ列である参照画素データと、のそれぞれに対して行う位相補正部と、前記基準画素データに対して前記位相補正処理を行って得られた位相補正済み基準画素データと、前記参照画素データに対して前記位相補正処理を行って得られた位相補正済み参照画素データと、のそれぞれに対して、窓掛けを行う窓掛部と、前記位相補正済み基準画素データに対して前記窓掛けを行って得られた窓掛け済み基準画素データと、前記位相補正済み参照画素データに対して前記窓掛けを行って得られた窓掛け済み参照画素データと、の間の相関の度合いを示す位相相関値を算出する位相相関部と、前記位相相関値に基づいて、前記基準画像の基準点に対する前記参照画像の対応点の視差を算出するピーク位置検出部と、を有する。【００１２】
本開示のステレオ画像処理方法は、ステレオ画像の基準画像および参照画像を取得するステップと、前記基準画像および前記参照画像のそれぞれから、前記ステレオ画像の基線長方向に平行な部分画像を切り出し、当該部分画像の前記基線長方向における画素値の分布を示す一次元画素データ列を取得するステップと、前記基準画像から取得された前記一次元画素データ列である基準画素データに対して行った場合に当該基準画素データの値をより左右対称にする処理である位相補正処理を、前記基準画素データと、前記参照画像から取得された前記一次元画素データ列である参照画素データと、のそれぞれに対して行うステップと、前記基準画素データに対して前記位相補正処理を行って得られた位相補正済み基準画素データと、前記参照画素データに対して前記位相補正処理を行って得られた位相補正済み参照画素データと、のそれぞれに対して、窓掛けを行うステップと、前記位相補正済み基準画素データに対して前記窓掛けを行って得られた窓掛け済み基準画素データと、前記位相補正済み参照画素データに対して前記窓掛けを行って得られた窓掛け済み参照画素データと、の間の相関の度合いを示す位相相関値を算出するステップと、前記位相相関値に基づいて、前記基準画像の基準点に対する前記参照画像の対応点の視差を算出するステップと、を有する。
【発明の効果】
【００１３】
本開示によれば、基線長方向の画像領域サイズが小さい対象物についても高精度に視差を算出することができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１に係るステレオ画像処理装置の構成の一例を示すブロック図
【図２】実施の形態２に係るステレオ画像処理装置の構成の一例を示すブロック図
【図３】実施の形態２に係るステレオ画像処理装置の動作の一例を示すフローチャート
【図４】実施の形態２における位相補正済みデータ生成処理の一例を示すフローチャート
【図５】実施の形態３に係るステレオ画像処理装置の構成の一例を示すブロック図
【図６】実施の形態３における微分フィルタの効果を説明するための図
【図７】実施の形態３に係るステレオ画像処理装置の動作の一例を示すフローチャート
【図８】実施の形態３における位相補正済みデータ生成処理の一例を示すフローチャート
【図９】実施の形態４に係るステレオ画像処理装置の構成の一例を示すブロック図
【図１０】実施の形態４に係るステレオ画像処理装置の動作の一例を示すフローチャート
【図１１】実施の形態４におけるマッチング度の最大位置検出までの処理の概要を示す模式図
【図１２】実施の形態４におけるサブピクセル推定処理の動作の一例を示すフローチャート
【図１３】実施の形態４における部分画像の切り出しから逆位相フィルタ係数の算出までの処理の概要を示す模式図
【図１４】実施の形態４における逆位相フィルタ係数によるフィルタリングの概念を説明するための模式図
【図１５】実施の形態４におけるｓｉｎｃ関数を用いたピーク位置検出の処理の一例の概要を示す模式図
【図１６】実施の形態４における二次曲線近似を用いたピーク位置検出の処理の一例の概要を示す模式図
【発明を実施するための形態】
【００１５】
本発明は、基準画像から取得した画素データ列に窓掛けして得られたデータと、参照画像から取得した画素データ列に窓掛けして得られたデータとの間で、位相特性を比較することによりステレオ画像の視差を求める、ステレオ画像処理に関するものである。より具体的には、本発明は、基準画素データと参照画素データとの間の位相の差を算出し、算出結果に基づいて視差を求める、ステレオ画像処理に関するものである。
【００１６】
このように位相の差を算出する場合、上述の窓掛けに用いる窓関数は、左右対称で、かつ、両端が連続するようゼロとなる形状が最適である。ところが、窓掛けの対象となる画素データの値が、画素データの両端で大きく異なる場合、このような窓関数の窓掛けによる画素データの位相特性への影響は、顕著となる。画素データの両端で大きく異なる画素データの一例は、画素データの左端の（最初の）輝度値が０で、右端の（最後の）輝度値が２５５となっているような、エッジ信号（対象物のエッジ部分に対応する画素データ）である。
【００１７】
この点に関して、本発明者は、画素データの値を左右対称にすることにより、当該画素データの値が、画素データの両端で一致することを発見した。すなわち、本発明者は、窓掛けの対象となる画素データの値が左右対称により近いほど、窓掛けによる位相特性への影響がより低減されることを、発見した。
【００１８】
また、本発明者は、窓掛けの対象となる画素データの画素データ数（＝窓掛けのデータ数）が、窓掛け後の画素データ列の位相特性に大きく影響することを発見した。画素データ数が大きければ、窓掛けによる位相特性への影響は小さい。ところが、画素データ数が小さくなるにつれて、窓掛けによる位相特性への影響は、急激に大きくなる。
【００１９】
そこで、本発明は、基準画像から取得された画素データの値をより左右対称にする処理である位相補正処理を、基準画像から取得した画素データ列と、参照画像から取得した画素データ列と、の両方に対して行う。すなわち、本発明は、２つの画素データ列の間の位相差を残しつつ、２つの画素データのそれぞれをより左右対称にする。
【００２０】
これにより、本発明は、画素データ数が小さい場合であっても、窓掛けによる位相特性への影響を低く抑えることを可能にする。この効果は、基線長方向の画像領域サイズが小さい対象物に対しては、特に大きくなる。すなわち、本発明は、上記位相補正処理を行うことにより、視差の算出精度の低下を抑え、基線長方向の画像領域サイズが小さい対象物についても高精度に視差を算出することを可能にする。
【００２１】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００２２】
（実施の形態１）
本発明の実施の形態１は、本発明の基本的態様の一例である。
【００２３】
図１は、本実施の形態に係るステレオ画像処理装置の構成の一例を示すブロック図である。
【００２４】
図１において、ステレオ画像処理装置１００は、ステレオ画像取得部１０１、画像切出部１０２、位相補正部１０３、窓掛部１０４、位相相関部１０５、およびピーク位置検出部１０６を有する。
【００２５】
ステレオ画像取得部１０１は、ステレオ画像の基準画像および参照画像を取得する。
【００２６】
画像切出部１０２は、基準画像および参照画像のそれぞれから、ステレオ画像の基線長方向に平行な部分画像を切り出す。そして、画像切出部１０２は、切り出した部分画像の基線長方向における画素値の分布を示す一次元画素データ列を取得する。
【００２７】
以降の説明において、基準画像から取得された一次元画素データ列は、「基準画素データ」という。また、参照画像から取得された一次元画素データ列は、「参照画素データ」という。
【００２８】
位相補正部１０３は、基準画素データに対して行った場合に当該基準画素データの値をより左右対称にする処理である位相補正処理を、基準画素データおよび参照画素データのそれぞれに対して行う。
【００２９】
以降の説明において、基準画素データに対して位相補正処理を行って得られたデータは、「位相補正済み基準画素データ」という。また、参照画素データに対して位相補正処理を行って得られたデータは、「位相補正済み参照画素データ」という。
【００３０】
窓掛部１０４は、位相補正済み基準画素データおよび位相補正済み参照画素データのそれぞれに対して、窓掛けを行う。
【００３１】
以降の説明において、位相補正済み基準画素データに対して窓掛けを行って得られたデータは、「窓掛け済み基準画素データ」という。また、位相補正済み参照画素データに対して窓掛けを行って得られたデータは、「窓掛け済み参照画素データ」という。
【００３２】
位相相関部１０５は、窓掛け済み基準画素データと窓掛け済み参照画素データとの間の相関の度合いを示す、位相相関値を算出する。
【００３３】
ピーク位置検出部１０６は、位相相関値に基づいて、基準画像の基準点に対する参照画像の対応点の視差を算出する。
【００３４】
ステレオ画像処理装置１００は、例えば、ＣＰＵ（central processing unit）、およびＲＡＭ（random access memory）などの記憶媒体を有する。この場合、上述の各機能部は、ＣＰＵが制御プログラムを実行することにより実現される。
【００３５】
このように、本実施の形態に係るステレオ画像処理装置１００は、基準画素データの値をより左右対称にする処理である位相補正処理を、基準画素データおよび参照画素データのそれぞれに対して行う。そして、本実施の形態に係るステレオ画像処理装置１００は、位相補正処理を行った後のデータに対して、窓掛けを行い、対応点の視差の算出を行う。
【００３６】
これにより、ステレオ画像処理装置１００は、窓掛けによる影響を抑えた状態で、基準画素データの位相特性および参照画素データの位相特性をそれぞれ抽出することができる。すなわち、ステレオ画像処理装置１００は、遠方に位置する路上の歩行者など、基線長方向の画像領域サイズが小さい対象物に対しても、高精度に視差を算出することができる。
【００３７】
（実施の形態２）
本発明の実施の形態２は、基準画素データの全ての周波数帯域の信号が左右対称となるような位相補正処理を採用する例である。言い換えると、本実施の形態は、視差算出の高精度化を演算負荷に対してよりも優先させた例である。
【００３８】
まず、本実施の形態に係るステレオ画像処理装置の構成について説明する。
【００３９】
図２において、ステレオ画像処理装置１００は、ステレオ画像取得部１０１、画像切出部１０２、位相補正部１０３、窓掛部１０４、位相相関部１０５、およびピーク位置検出部１０６を有する。
【００４０】
＜ステレオ画像取得部１０１＞
ステレオ画像取得部１０１は、ステレオ画像の基準画像および参照画像を取得する。そして、ステレオ画像取得部１０１は、取得した基準画像および参照画像を、画像切出部１０２へ出力する。
【００４１】
具体的には、ステレオ画像取得部１０１は、２つ以上の撮像系（つまり、２つ以上のカメラ）で撮影されたステレオ画像を取得する。ステレオ画像には、２つの異なるカメラによって同一対象物が撮影された基準画像および参照画像が含まれる。ステレオ画像取得部１０１は、例えば、ステレオカメラに接続して画像データを取得するためのコネクタを有しており、コネクタを介してステレオ画像を入力する。なお、本実施の形態において、ステレオ画像取得部１０１は、基線長方向が水平方向にほぼ一致する２つのカメラにより撮影されたステレオ画像を、入力するものとする。
【００４２】
＜画像切出部１０２＞
画像切出部１０２は、基準画像および参照画像のそれぞれから、ステレオ画像の基線長方向に平行な部分画像を切り出す。そして、画像切出部１０２は、切り出した部分画像の基線長方向における画素値の分布を示す一次元画素データ列を取得する。すなわち、画像切出部１０２は、基準画素データおよび参照画素データを取得する。そして、画像切出部１０２は、取得した基準画素データおよび参照画素データを、位相補正部１０３へ出力する。
【００４３】
一次元画素データ列の基となる部分画像の切り出し手法は、視差算出の対象物の位置が、切り出された部分画像において、基線長方向における位相特性としてよく表現されるようなものであればよく、特定の手法に限定されない。したがって、一次元画素データ列の基となる部分画像は、基線長方向の幅が長く、基線長方向に直交する方向の高さが１画素分の、部分画像でもよい。あるいは、一次元画素データ列の基となる部分画像は、基線長方向の幅が長く、基線長方向に直交する方向の高さが複数画素分の、部分画像でもよい。更には、一次元画素データ列の基となる部分画像は、同じ画素数であって互いに分離した複数の部分画像でもよい。
【００４４】
切り出した部分画像から一次元画素データ列を取得する手法は、基の部分画像の基線長方向における位相特性が、一次元画素データ列においてよく表現されるようなものであればよく、特定の手法に限定されない。
【００４５】
したがって、例えば、部分画像が１行である場合には、画像切出部１０２は、画素値データ列をそのまま一次元画素データ列とすることができる。
【００４６】
また、部分画像が複数行である場合には、画像切出部１０２は、基線長方向と直交する方向において画素値を平均して得られる一次元のデータを、一次元画素データ列とすることができる。また、画像切出部１０２は、基線長方向に伸びた複数の一次元の画素値データ列を連結した上で、連結に伴うノイズである低周波を除去して得られる一次元のデータを、一次元画素データ列とすることができる。また、画像切出部１０２は、同一画素行に含まれる任意の画素同士の、再構成前の間隔と再構成後の間隔との比が、全ての画素同士について同一となるように、各画素値を再構成して得られる一次元のデータを、一次元画素データ列とすることができる。
【００４７】
＜位相補正部１０３＞
位相補正部１０３は、基準画素データに対して行った場合に当該基準画素データの値をより左右対称にする処理である位相補正処理を、基準画素データおよび参照画素データのそれぞれに対して行う。すなわち、位相補正部１０３は、基準画素データに対して位相補正処理をすることにより、位相補正済み基準画素データを生成する。また、位相補正部１０３は、参照画素データに対して位相補正処理をすることにより、位相補正済み参照画素データを生成する。そして、位相補正部１０３は、位相補正済み基準画素データおよび位相補正済み参照画素データを、窓掛部１０４へ出力する。
【００４８】
より具体的には、位相補正部１０３は、基準画素データ零位相化部２０１、位相補正フィルタ算出部２０２、および参照画素データ位相補正部２０３を有する。
【００４９】
＜基準画素データ零位相化部２０１＞
基準画素データ零位相化部２０１は、基準画素データに対して、各周波数成分の位相を零にする零位相化処理を行うことにより、位相補正済み基準画素データを算出する。そして、基準画素データ零位相化部２０１は、基準画素データ、参照画素データ、および算出した位相補正済み基準画素データを、位相補正フィルタ算出部２０２へ出力する。
【００５０】
零位相化処理は、基準画素データの各周波数成分の位相を零にするものであればよく、特定の処理に限定されない。本実施の形態において、位相補正部１０３は、零位相化処理として、基準画素データに対して、一次元フーリエ変換、全ての周波数帯域における虚数成分の除去、および一次元逆フーリエ変換をこの順序で施す処理を行うものとする。虚数成分の除去とは、複素数で表すと、ｃｏｓ（ωｔ）＋ｉｓｉｎ（ωｔ）のうち、ｉの項を零にすることである。この結果、一次元フーリエ変換によって得られた信号は、ｃｏｓ（ωｔ）で表現される左右対称な信号に変換される。
【００５１】
以降の説明において、基準画素データの位相を零にすることは、「基準画素データの零位相化」という。
【００５２】
＜位相補正フィルタ算出部２０２＞
位相補正フィルタ算出部２０２は、基準画素データおよび位相補正済み基準画素データに基づいて、基準画素データに対して適用した場合に当該基準画素データの値を左右対称にする位相補正フィルタを算出する。そして、位相補正フィルタ算出部２０２は、位相補正済み基準画素データ、参照画素データ、および算出した位相補正フィルタを、参照画素データ位相補正部２０３へ出力する。
【００５３】
位相補正フィルタは、基準画素データに対して適用した場合に当該基準画素データの値を左右対称にするものであればよく、特定のフィルタに限定されない。例えば、位相補正フィルタは、基準画素データを零位相化するＦＩＲ（Finite Impulse Response）フィルタとすることができる。位相補正フィルタ算出部２０２は、例えば、位相補正済み基準画素データを一次元フーリエ変換して得られる値を、基準画素データを一次元フーリエ変換して得られる値で割り、一次元逆フーリエ変換することにより、ＦＩＲフィルタを算出する。
【００５４】
＜参照画素データ位相補正部２０３＞
参照画素データ位相補正部２０３は、参照画素データに対して位相補正フィルタを適用することにより、位相補正済み参照画素データを算出する。そして、参照画素データ位相補正部は、位相補正済み基準画素データおよび算出した位相補正済み参照画素データを、窓掛部１０４へ出力する。
【００５５】
参照画素データに対して位相補正フィルタを適用することは、つまり、基準画素データに対して行った零位相化と同量の位相シフトを、参照画素データに対しても行うことである。すなわち、位相補正部１０３は、基準画素データと参照画素データとの間に存在する位相の差を残したまま、それぞれの位相がより左右対称となるように補正することができる。
【００５６】
＜窓掛部１０４＞
窓掛部１０４は、位相補正済み基準画素データおよび位相補正済み参照画素データのそれぞれに対して、窓掛けを行う。すなわち、窓掛部１０４は、位相補正済み基準画素データに対して窓掛けを行うことにより、窓掛け済み基準画素データを生成する。そして、窓掛部１０４は、位相補正済み参照画素データに対して窓掛けを行うことにより、窓掛け済み参照画素データを生成する。窓掛部１０４は、取得した窓掛け済み基準画素データおよび窓掛け済み参照画素データを、位相相関部１０５へ出力する。
【００５７】
窓掛けに用いる窓関数は、左右対称、かつ、両端が連続するようゼロとなるような形状のものであればよく、特定の手法に限定されない。したがって、窓関数は、ハニング窓、ブラックマン窓、カイザー窓などを採用することができる。本実施の形態においては、窓掛部１０４は、ハニング窓を用いるものとする。
【００５８】
＜位相相関部１０５＞
位相相関部１０５は、窓掛け済み基準画素データと窓掛け済み参照画素データとの間の相関の度合いを示す、位相相関値を算出する。そして、位相相関部１０５は、算出した位相相関値を、ピーク位置検出部１０６へ出力する。
【００５９】
位相相関値を算出する方法は、一次元フーリエ変換を用いた一次元ＰＯＣ方式があるが、演算量を考慮した場合、逆位相フィルタを用いた方式が最適である。逆位相フィルタを用いた手法については、後述の実施の形態４において説明する。なお、位相相関値を算出する方法は、位相の相関を算出するものであればよく、特定の手法に限定されない。
【００６０】
＜ピーク位置検出部１０６＞
ピーク位置検出部１０６は、位相相関値に基づいて、基準画像の基準点に対する参照画像の対応点の視差を算出する。
【００６１】
ステレオ画像処理装置１００は、例えば、ＣＰＵ、およびＲＡＭなどの記憶媒体を有する。この場合、上述の各機能部は、ＣＰＵが制御プログラムを実行することにより実現される。
【００６２】
このようなステレオ画像処理装置１００は、基準画素データにおける全ての周波数において、位相を零に変換しつつ、参照画素データとの間の位相差を情報として残すことができる。このため、ステレオ画像処理装置１００は、いずれの周波数においても窓関数の影響を受けずに、高精度に視差を算出することが可能である。
【００６３】
次に、ステレオ画像処理装置１００の動作について説明する。
【００６４】
図３は、ステレオ画像処理装置１００の動作の一例を示すフローチャートである。
【００６５】
まず、ステップＳ１０００において、ステレオ画像取得部１０１は、ステレオ画像の基準画像および参照画像を取得する。
【００６６】
そして、ステップＳ２０００において、画像切出部１０２は、基準画像および参照画像のそれぞれから、ステレオ画像の基線長方向に平行な部分画像を切り出し、基準画素データおよび参照画素データを取得する。
【００６７】
そして、ステップＳ３０００において、位相補正部１０３は、位相補正済みデータ生成処理を行う。
【００６８】
位相補正済みデータ生成処理とは、基準画素データに対して行った場合に当該基準画素データの値をより左右対称にする処理である位相補正処理を、基準画素データおよび参照画素データのそれぞれに対して行う処理である。すなわち、位相補正済みデータ生成処理とは、位相補正済み基準画素データおよび位相補正済み参照画素データを生成する処理である。本実施の形態において、位相補正処理は、上述の零位相化処理である。
【００６９】
図４は、位相補正済みデータ生成処理（図３のステップ３０００）の一例を示すフローチャートである。
【００７０】
まず、ステップＳ３０１０において、基準画素データ零位相化部２０１は、基準画素データに対して、零位相化処理を行う。
【００７１】
そして、ステップＳ３０２０において、位相補正フィルタ算出部２０２は、位相補正フィルタを算出する。
【００７２】
そして、ステップＳ３０３０において、参照画素データ位相補正部２０３は、参照画素データに位相補正フィルタを適用する。そして、ステレオ画像処理装置１００の処理は、図３のフローチャートへ戻る。
【００７３】
図３のステップＳ４０００において、窓掛部１０４は、位相補正済み基準画素データおよび位相補正済み参照画素データのそれぞれに対して、窓掛けを行う。
【００７４】
そして、ステップＳ５０００において、位相相関部１０５は、窓掛け済み基準画素データと窓掛け済み参照画素データとの間の位相相関値を算出する。
【００７５】
そして、ステップＳ６０００において、ピーク位置検出部１０６は、位相相関値に基づいて、基準画像の基準点に対する参照画像の対応点の視差を算出する。
【００７６】
そして、ステップＳ７０００において、画像切出部１０２は、測距の対象となる領域の全てに対して、部分画像の切り取りの基準位置の設定から視差算出までの処理が完了したか否かを判定する。
【００７７】
画像切出部１０２は、測距の対象となる領域の全てに対する処理が完了していない場合（Ｓ７０００：ＮＯ）、残りの領域に、部分画像の切り取りの基準位置を移動させて、ステップＳ２０００へ戻る。以下、このような基準位置は、「切り取り基準位置」という。また、画像切出部１０２は、測距の対象となる領域の全てに対する処理を完了した場合（Ｓ７０００：ＹＥＳ）、一連の処理を終了する。
【００７８】
このような動作により、ステレオ画像処理装置１００は、測距の対象となる領域内の各対応点について、いずれの周波数においても窓関数の影響を受けることなく、視差を高精度に算出することができる。
【００７９】
以上のように、本実施の形態に係るステレオ画像処理装置１００は、全ての周波数領域について基準画素データを零位相化する零位相化処理を、基準画素データおよび参照画素データのそれぞれに対して行う。そして、本実施の形態に係るステレオ画像処理装置１００は、零位相化処理を行った後のデータに対して、窓掛けを行い、対応点の視差の算出を行う。
【００８０】
これにより、ステレオ画像処理装置１００は、窓掛けによる影響を最小限に抑えた状態で、基準画素データの位相特性および参照画素データの位相特性をそれぞれ抽出することができる。すなわち、ステレオ画像処理装置１００は、基線長方向の画像領域サイズが小さい対象物に対して、より高精度に、視差を算出することができる。
【００８１】
（実施の形態３）
本発明の実施の形態３は、基準画素データに支配的な周波数帯域の信号のみが左右対称となるような位相補正処理を採用する例である。言い換えると、本実施の形態は、演算負荷の軽減を視差算出の精度よりも優先させた例である。ここで、基準画素データに支配的な周波数帯域とは、例えば、他の周波数帯域に比べて振幅成分が大きい周波数帯域である。
【００８２】
まず、本実施の形態に係るステレオ画像処理装置の構成について説明する。
【００８３】
図５は、本実施の形態に係るステレオ画像処理装置の構成の一例を示すブロック図であり、実施の形態２の図２に対応するものである。図２と同一部分には同一符号を付し、これについての説明を省略する。
【００８４】
図５において、ステレオ画像処理装置１００ａは、図２の位相補正部１０３に代えて、位相補正部１０３ａを有する。
【００８５】
位相補正部１０３ａは、基準画素データに対して行った場合に当該基準画素データの値をより左右対称にする処理である位相補正処理を、基準画素データおよび参照画素データのそれぞれに対して行う。すなわち、位相補正部１０３ａは、基準画素データに対して位相補正処理を行うことにより、位相補正済み基準画素データを生成する。そして、位相補正部１０３ａは、参照画素データに対して位相補正処理を行うことにより、位相補正済み参照画素データを生成する。そして、位相補正部１０３ａは、位相補正済み基準画素データおよび位相補正済み参照画素データを、窓掛部１０４へ出力する。
【００８６】
但し、本実施の形態に係る位相補正部１０３ａは、上記位相補正処理の効果が低い場合には、基準画素データおよび参照画素データを、そのまま位相補正済み基準画素データおよび位相補正済み参照画素データとして扱う。
【００８７】
より具体的には、位相補正部１０３ａは、基準画素データ位相シフト部３０１ａ、左右対称判定値算出部３０２ａ、左右対称判定値比較部３０３ａ、および参照画素データ位相シフト部３０４ａを有する。
【００８８】
＜基準画素データ位相シフト部３０１ａ＞
基準画素データ位相シフト部３０１ａは、基準画素データに対して、一部または全部の周波数成分の位相を９０度シフトさせる位相シフトフィルタを適用して、位相シフト済み基準画素データを算出する。そして、基準画素データ位相シフト部３０１ａは、基準画素データ、参照画素データ、および算出した位相シフト済み基準画素データを、左右対称判定値算出部３０２ａへ出力する。
【００８９】
位相シフトフィルタは、基準画素データに対して適用した場合に一部または全部の周波数成分の位相を９０度シフトさせるものであればよく、特定のフィルタに限定されない。本実施の形態では、位相シフトフィルタは、基準画素データの一部または全部の周波数を簡易的に零に近づけるＦＩＲフィルタとし、具体的には、一部の周波数において位相を９０度シフトさせる微分フィルタとする。
【００９０】
図６は、微分フィルタの効果を説明するための図である。図６Ａ〜図６Ｄのそれぞれにおいて、横軸は基準画素データの配列方向における位置（Ｘ）を示し、縦軸は画素値（例えば輝度）あるいはその微分値を示す。
【００９１】
図６Ａに示すように、ある基準画素データが、中央付近で輝度が階段状に増大する画素値信号４０１であったとする。この画素値信号４０１をＸで微分すると、図６Ｂに示すように、中央付近にパルス形状を有する画素値微分データ４０２となる。
【００９２】
また、図６Ｃに示すように、ある基準画素データが、位相が９０度付近にある画素値信号４０３であったとする。この画素値信号４０３をＸで微分すると、図６Ｄに示すように、位相が０度付近にある画素値微分データ４０４となる。
【００９３】
信号の位相が０もしくは１８０度付近にある場合、当該信号に窓関数を掛けることによる位相特性への影響は、小さい。これに対し、信号の位相が９０度付近にある場合、当該信号に窓関数を掛けることによる位相特性への影響は、大きい。このため、位相が９０度付近にある信号に対して、０度もしくは１８０度にその位相をシフトさせることができる微分フィルタを適用することにより、窓関数の影響を低減することが可能である。
【００９４】
また、デジタル信号における微分フィルタは全帯域に対して９０度位相シフトさせるものではないが、少なくとも一部の帯域を位相シフトさせることができ、窓関数の影響を低減させることが可能となる。
【００９５】
但し、実際の信号には、通常、位相が９０度付近以外にある信号も多く含まれている。例えば、信号の位相の多くが０度付近もしくは１８０度付近に位置するような場合、微分フィルタを適用することより、かえって左右対称性が損なわれ得る。
【００９６】
そこで、ステレオ画像処理装置１００ａは、位相シフトフィルタを掛けた結果、基準画素データの左右対称性が向上した場合にのみ、位相補正処理の結果を採用するものとする。これについては、以降で説明する。
【００９７】
＜左右対称判定値算出部３０２ａ＞
左右対称判定値算出部３０２ａは、位相シフト済み基準画素データおよび基準画素データのそれぞれに対して、値の左右対称性を示す左右対称判定値を算出する。そして、左右対称判定値算出部３０２ａは、基準画素データ、参照画素データ、位相シフト済み基準画素データ、および算出した左右対称性判定値を、左右対称判定値比較部３０３ａへ出力する。
【００９８】
左右対称判定値は、一次元データの値の左右対称性を示すものであればよく、特定の指標値に限定されない。例えば、左右対称判定値算出部３０２ａは、以下の式（１）、（２）を用いて、基準画素データの左右対称判定値Ｓｙｍ０、および、位相シフト済み基準画素データの左右対称判定値Ｓｙｍ１を算出する。なお、ここで、Ｉ０（ｘ）（１≦ｘ≦ｍ、ｍ：奇数）は、基準画素データであり、Ｉ１（ｘ）（１≦ｘ≦ｍ、ｍ：奇数）は、位相シフト済み基準画素データである。また、式（１）、（２）により算出される左右対称判定値Ｓｙｍ０、Ｓｙｍ１は、左右対称性が高いほど大きい値となる。
【数１】
2014049919.tif 000003
【数２】
2014049919.tif 000004
【００９９】
＜左右対称判定値比較部３０３ａ＞
左右対称判定値比較部３０３ａは、位相シフト済み基準画素データから算出された左右対称判定値と、基準画素データから算出された左右対称判定値とを比較する。左右対称判定値比較部３０３ａは、位相シフト済み基準画素データの左右対称性が、基準画素データの前記左右対称性よりも高いか否かを、判定する。
【０１００】
そして、左右対称判定値比較部３０３ａは、基準画素データ、参照画素データ、および位相シフト済み基準画素データとともに、左右対称性が高い方（つまり左右対称判定値が大きい方）を示す情報を、参照画素データ位相シフト部３０４ａへ出力する。すなわち、左右対称判定値比較部３０３ａは、位相シフト済み基準画素データの左右対称性が、基準画素データの左右対称性よりも高いか否かを示す情報を、参照画素データ位相シフト部３０４ａへ出力する。
【０１０１】
以降の説明において、位相シフト済み基準画素データの左右対称性が基準画素データの左右対称性よりも高い場合は、「位相シフトの効果がある場合」という。また、位相シフト済み基準画素データの左右対称性が基準画素データの左右対称性よりも高くない場合は、「位相シフトの効果がない場合」という。
【０１０２】
＜参照画素データ位相シフト部３０４ａ＞
参照画素データ位相シフト部３０４ａは、参照画素データに対して位相シフトフィルタを適用して、位相シフト済み参照画素データを算出する。なお、参照画素データ位相シフト部３０４ａは、位相シフトの効果がある場合にのみ、位相シフト済み参照画素データの算出を行ってもよい。そして、参照画素データ位相シフト部３０４ａは、位相シフトの効果がある場合、位相シフト済み基準画素データおよび位相シフト済み参照画素データを、それぞれ位相補正済み基準画素データおよび位相補正済み参照画素データとして、窓掛部１０４へ出力する。
【０１０３】
また、参照画素データ位相シフト部３０４ａは、位相シフトの効果がない場合、基準画素データおよび参照画素データを、それぞれ位相補正済み基準画素データおよび位相補正済み参照画素データとして、窓掛部１０４へ出力する。
【０１０４】
この結果、窓掛部１０４は、位相シフトの効果がある場合、位相シフト済み基準画素データおよび位相シフト済み参照画素データを、それぞれ位相補正済み基準画素データおよび位相補正済み参照画素データとして扱うことになる。また、窓掛部１０４は、位相シフトの効果がない場合、基準画素データおよび参照画素データを、それぞれ位相補正済み基準画素データおよび位相補正済み参照画素データとして扱うことになる。
【０１０５】
ステレオ画像処理装置１００ａは、例えば、ＣＰＵ、およびＲＡＭなどの記憶媒体を有する。この場合、上述の各機能部は、ＣＰＵが制御プログラムを実行することにより実現される。
【０１０６】
次に、ステレオ画像処理装置１００ａの動作について説明する。
【０１０７】
図７は、ステレオ画像処理装置１００ａの動作の一例を示すフローチャートであり、実施の形態２の図３に対応するものである。図３と同一部分には同一ステップ番号を付し、これについての説明を省略する。ステレオ画像処理装置１００ａは、図３のステップＳ３０００の処理に代えて、図７のステップＳ３０００ａの処理を実行する。
【０１０８】
図８は、位相補正済みデータ生成処理（図７のステップ３０００ａ）の一例を示すフローチャートである。
【０１０９】
まず、ステップＳ３０２１ａにおいて、基準画素データ位相シフト部３０１ａは、基準画素データに対して、上述の位相シフトフィルタを適用する。
【０１１０】
そして、ステップＳ３０２２ａにおいて、左右対称判定値算出部３０２ａは、基準画素データの左右対称判定値Ｓｙｍ０を算出する。
【０１１１】
そして、ステップＳ３０２３ａにおいて、左右対称判定値算出部３０２ａは、位相シフト済み基準画素データの左右対称判定値Ｓｙｍ１を算出する。
【０１１２】
そして、ステップＳ３０２４ａにおいて、左右対称判定値比較部３０３ａは、位相シフト済み基準画素データの左右対称判定値Ｓｙｍ１が、基準画素データの左右対称判定値Ｓｙｍ０よりも大きいか否かを判定する。
【０１１３】
左右対称判定値比較部３０３ａは、左右対称判定値Ｓｙｍ１が左右対称判定値Ｓｙｍ０よりも大きい場合（Ｓ３０２４ａ：ＹＥＳ）、処理をステップＳ３０３１ａへ進める。また、左右対称判定値比較部３０３ａは、左右対称判定値Ｓｙｍ１が左右対称判定値Ｓｙｍ０以下である場合（Ｓ３０２４ａ：ＮＯ）、処理を後述のステップＳ３０３２ａへ進める。
【０１１４】
ステップＳ３０３１ａにおいて、参照画素データ位相シフト部３０４ａは、参照画素データに位相シフトフィルタを適用する。
【０１１５】
そして、ステップＳ３０３２ａにおいて、参照画素データ位相シフト部３０４ａは、位相シフトの効果の有無に従って、各データを取り扱う。すなわち、参照画素データ位相シフト部３０４ａは、位相シフトの効果がある場合、位相シフト済み基準画素データおよび位相シフト済み参照画素データを、窓掛部１０４へ出力する。また、参照画素データ位相シフト部３０４ａは、位相シフトの効果がない場合、基準画素データおよび参照画素データを、窓掛部１０４へ出力する。そして、ステレオ画像処理装置１００ａの処理は、図７のフローチャートへ戻る。
【０１１６】
このように、本実施の形態に係るステレオ画像処理装置１００ａは、位相シフトフィルタにより、位相補正済み基準画素データ位相補正済み参照画素データを、より左右対称にすることができる。本実施の形態に係るステレオ画像処理装置１００ａは、位相シフトフィルタの適用により、実施の形態２の零位相化の処理を適用する場合に比べて、演算負荷を大幅に抑えることができる。また、微分フィルタを採用した場合や、位相のシフト対象を一部の帯域に絞った場合には、更に演算負荷が低減する。
【０１１７】
したがって、本実施の形態に係るステレオ画像処理装置１００ａは、実施の形態２に係るステレオ画像処理装置１００に比べて、演算負荷を低減した状態で、基線長方向の画像領域サイズが小さい対象物の視差を高精度に算出することができる。
【０１１８】
（実施の形態４）
本発明の実施の形態４は、画像マッチングにより部分画像の切り出し対象を絞るとともに、位相相関部において逆位相フィルタを採用する例である。言い換えると、本実施の形態は、演算負荷の更なる低減を図るようにした例である。
【０１１９】
まず、本実施の形態に係るステレオ画像処理装置の構成について説明する。
【０１２０】
図９は、本実施の形態に係るステレオ画像処理装置の構成の一例を示すブロック図であり、実施の形態２の図２に対応するものである。図２と同一部分には同一符号を付し、これについての説明を省略する。
【０１２１】
図９において、ステレオ画像処理装置１００ｂは、図２の構成に加えて、画像マッチング部１０７ｂを有する。また、ステレオ画像処理装置１００ｂは、図２の位相相関部１０５に代えて、逆位相フィルタ部１０８ｂを有する。なお、逆位相フィルタ部１０８ｂは、位相相関部１０５を下位概念化したものである。
【０１２２】
なお、本実施の形態において、ステレオ画像取得部１０１は、取得したステレオ画像を、画像マッチング部１０７ｂおよび画像切出部１０２へそれぞれ出力する。
【０１２３】
＜画像マッチング部１０７ｂ＞
画像マッチング部１０７ｂは、基準画像の基準点に対する参照画像の対応点を取得する。ここで取得される対応点は、ピクセルレベルの精度で基準点に対応付けがされた対応点である。以下、このような対応点は、「ピクセルレベルの対応点」という。
【０１２４】
具体的には、画像マッチング部１０７ｂは、ステレオ画像取得部１０１により取得された基準画像および参照画像に対して画像マッチング処理を行うことにより、基準画像の基準点に対する参照画像の対応点を取得する。そして、画像マッチング部１０７ｂは、基準点の画像上の位置に対する参照画像の対応点の画像上の位置の「ピクセルレベルのずれ量ｎ」を算出する。
【０１２５】
例えば、画像マッチング部１０７ｂは、基準画像に含まれる所定の１ピクセルを「基準点」とし、この基準点を中心とした周辺の部分画像を、基準画像から切り出す。以下、このような部分画像は「ピクセルマッチング基準画素データ」という。また、画像マッチング部１０７ｂは、参照画像に含まれ、かつ、ピクセルマッチング基準画素データと同一サイズである部分画像を、参照画像から複数切り出す。以下、このような部分画像は、「ピクセルマッチング参照画素データ」という。複数のピクセルマッチング参照画素データのそれぞれは、参照画像において、異なる位置から切り出される。なお、ピクセルマッチング基準画素データは、基準点を含んでいればよく、必ずしも基準点が中心点である必要はない。
【０１２６】
ステレオ画像の場合、基準画像と参照画像との視差はカメラの基線長方向にしか発生しない。したがって、画像マッチング部１０７ｂは、基線長方向に切り出し位置を変更して、複数のピクセルマッチング参照画素データを切り出せばよい。そして、基準画像における基準点の位置と、参照画像の対応点の位置とのずれ量が、上記したずれ量ｎとして算出される。
【０１２７】
そして、画像マッチング部１０７ｂは、切り出された複数のピクセルマッチング参照画素データから、ピクセルマッチング基準画素データとのマッチング度が最も大きいピクセルマッチング参照画素データを特定する。特定されたピクセルマッチング参照画素データにおいて、基準点に対応する１ピクセルが、参照画像上の対応点になる。マッチング度を表す指標としては、例えば、輝度相違度を示すＳＡＤ（画素輝度の相違度：Sum of Absolute Differences）値が用いられる。
【０１２８】
そして、画像マッチング部１０７ｂは、基準点の位置と参照画像の対応点の位置とを、例えば、基準点の位置、ピクセルレベルのずれ量ｎ、およびそのずれの方向を示す情報を出力することにより、画像切出部１０２へ出力する。
【０１２９】
なお、本実施の形態において、画像切出部１０２は、基準画素データに基準点が含まれるように、基準画像における画像の切り出し位置を決定するものとする。また、画像切出部１０２は、参照画素データに対応点が含まれるように、画像の切り出し位置を決定するものとする。画像切出部１０２は、基準画素データを、前述のピクセルマッチング基準画素データと異なるサイズとなるように決定してもよい。
【０１３０】
また、本実施の形態において、窓掛部１０４は、窓掛け済み基準画素データおよび窓掛け済み参照画素データを、逆位相フィルタ部１０８ｂへ出力するものとする。
【０１３１】
＜逆位相フィルタ部１０８ｂ＞
逆位相フィルタ部１０８ｂは、窓掛け済み基準画素データを配列方向に反転させて逆位相フィルタ係数を算出する。そして、逆位相フィルタ部１０８ｂは、算出した逆位相フィルタ係数を用いて窓掛け済み参照画素データをフィルタリングすることにより、位相相関値を算出する。フィルタリングの処理の詳細については後述する。そして、逆位相フィルタ部１０８ｂは、フィルタリングの結果である位相相関値を、ピーク位置検出部１０６へ出力する。以下、このようなフィルタリングの結果は、「フィルタリング結果」という。
【０１３２】
なお、本実施の形態において、ピーク位置検出部１０６は、逆位相フィルタ部１０８ｂからの出力に基づいて、対応点の視差を算出するものとする。
【０１３３】
具体的には、ピーク位置検出部１０６は、フィルタリング結果において、基準画素データと参照画素データとの相関度（位相相関値）が最も高くなる相対位置関係を取得する。そして、ピーク位置検出部１０６は、取得した相対位置関係に基づいて、基準画素データの基準点に対する、参照画素データの対応点のずれ量を算出する。ここで取得されるずれ量は、ピクセルレベルよりも細かい、サブピクセルレベルの精度のずれ量である。
【０１３４】
更に具体的には、ピーク位置検出部１０６は、フィルタリング結果におけるピークの位置を検出することにより、かかるずれ量を算出する。ここで、フィルタリング結果におけるピークとは、フィルタリング結果が最大値となる位置である。このサブピクセルレベルのずれ量と、画像マッチング部１０７ｂにおいて算出されるピクセルレベルのずれ量（上記したずれ量ｎ）とを加算することにより、基準画像と参照画像との間の正確なずれ量（視差）が算出される。
【０１３５】
ステレオ画像処理装置１００ｂは、例えば、ＣＰＵ、およびＲＡＭなどの記憶媒体を有する。この場合、上述の各機能部は、ＣＰＵが制御プログラムを実行することにより実現される。
【０１３６】
次に、ステレオ画像処理装置１００ｂの動作について説明する。
【０１３７】
なお、以降の説明において、画像横方向をＸ軸、画像縦方向をＹ軸として、１画素が１座標点であるものとする。また、説明の便宜のため、エピポーラ線の方向（基線長方向）は、画像全体において、Ｘ軸に平行であるものとする。
【０１３８】
図１０は、ステレオ画像処理装置１００の動作の一例を示すフローチャートであり、実施の形態２の図３に対応するものである。図３と同一部分には同一ステップ番号を付し、これについての説明を省略する。
【０１３９】
画像マッチング部１０７ｂは、ステレオ画像取得部１０１からステレオ画像が入力されるごとに、その基準画像の全体で基準点を移動させながら、基準画像および参照画像に対して画像マッチング処理を行う。ステレオ画像処理装置１００は、以下のステップＳ２０１０ｂ〜Ｓ２０８０ｂの動作を、全ての基準点について行う。
【０１４０】
＜基準点の位置決定処理＞
ステップＳ２０１０ｂにおいて、画像マッチング部１０７ｂは、視差算出の対象となる基準点の位置（分析基準位置）を決定する。
【０１４１】
＜ピクセルマッチング基準画素データの切り出し処理＞
ステップＳ２０２０ｂにおいて、画像マッチング部１０７ｂは、基準画像から、ピクセルマッチング基準画素データを切り出す。
【０１４２】
ピクセルマッチング基準画素データは、ステップＳ２０１０ｂにおいて決定された基準点を含む部分領域の画像である。ピクセルマッチング基準画素データの大きさの単位は、上述の通り、ピクセル（画素）である。つまり、ピクセルマッチング基準画素データは、複数の画素行×複数の画素列の画像である。
【０１４３】
＜サーチ範囲およびサーチ開始位置の決定処理＞
ステップＳ２０３０ｂにおいて、画像マッチング部１０７ｂは、ステップＳ２０２０ｂで決定された基準点の位置に基づいて、参照画像におけるサーチ範囲およびサーチ開始位置を決定する。
【０１４４】
ステレオ画像の視差は、三角測量の原理により、カメラ間の距離である基線長とレンズの焦点距離と、ステレオカメラから測距の対象物までの距離に基づいて決定される。すなわち、視差は、基線長と焦点距離に比例し、対象物までの距離に反比例する。基線長と焦点距離はカメラパラメータで固定である。このため、サーチ範囲は、ステレオカメラから測距の対象物までの距離に基づいて決定すればよい。ステレオカメラから無限遠にある対象物は基準画像と参照画像において同じ位置に撮像されるため、参照画像におけるサーチ開始位置は基準画像における基準点と同じ座標を設定してもよい。
【０１４５】
＜ピクセルマッチング参照画素データの切り出し処理＞
ステップＳ２０４０ｂにおいて、画像マッチング部１０７ｂは、参照画像における切り出し位置を決定し、画素行の数と画素列の数がピクセルマッチング基準画素データと同一のピクセルマッチング参照画素データを切り出す。
【０１４６】
画像マッチング部１０７ｂは、ステップＳ２０３０ｂで決定されたサーチ開始位置を例えば最初の切り出し位置に決定し、以降、切り出し位置を移動させていく。
【０１４７】
＜マッチング度の算出処理＞
ステップＳ２０５０ｂにおいて、画像マッチング部１０７ｂは、ピクセルマッチング基準画素データとピクセルマッチング参照画素データとの間のマッチング度を算出する。このマッチング度としては、例えば、輝度相違度を示すＳＡＤ値や輝度類似度が用いられる。
【０１４８】
なお、マッチング度の指標は、ＳＡＤ値に限定されるものではなく、マッチング度の指標として用いることができるものであれば他の指標を用いることができる。例えば、画像マッチング部１０７ｂは、マッチング度の指標として、ＳＳＤ（Sum of Squared Differences）を用いてもよい。
【０１４９】
＜サーチ範囲の終了判定処理＞
ステップＳ２０６０ｂにおいて、画像マッチング部１０７ｂは、サーチ範囲に対する処理の終了判定処理を行う。すなわち、画像マッチング部１０７ｂは、切り出し位置が移動によりサーチ範囲を網羅したか否かを判定する。
【０１５０】
画像マッチング部１０７ｂは、サーチ範囲に対する処理が終了していない場合（Ｓ２０６０ｂ：ＮＯ）、ステップＳ２０４０ｂへ戻る。この結果、画像マッチング部１０７ｂは、ステップＳ２０４０ｂでのピクセルマッチング参照画素データの切り出し領域がずれるように、切り出し位置を、サーチ範囲内において移動させる。このようにして、ステップＳ２０４０ｂ〜Ｓ２０６０ｂまでの処理は、サーチ範囲に対する処理が終了するまで（Ｓ２０６０ｂ：ＹＥＳ）、繰り返される。
【０１５１】
＜マッチング度最大の参照位置検出処理＞
ステップＳ２０７０ｂにおいて、画像マッチング部１０７ｂは、ステップＳ２０４０ｂ〜Ｓ２０６０ｂの処理によって得られた、複数のマッチング度に基づいて、切り出し位置を決定する。すなわち、画像マッチング部１０７ｂは、マッチング度が最大となるピクセルマッチング参照画素データの切り出し位置を、特定する。
【０１５２】
マッチング度として輝度相違度が用いられている場合には、画像マッチング部１０７ｂは、輝度相違度が極小ないし最小となるピクセルマッチング参照画素データの切り出し位置を特定する。そして、画像マッチング部１０７ｂは、マッチング度が最大となる切り出し位置を、基準点に対する参照画像の対応点として特定する。
【０１５３】
ここで、マッチング度の最大位置検出までの処理（図１０のステップＳ２０１０〜Ｓ２０７０ｂ）の概要を、模式的に説明する。
【０１５４】
図１１は、マッチング度の最大位置検出までの処理の概要を示す模式図である。
【０１５５】
図１１Ａに示すように、画像マッチング部１０７ｂは、分析基準位置（基準点）（ｘａ，ｙａ）３１１を中心とした周辺の部分画像を、ピクセルマッチング基準画素データ３１２として切り出す（図１０のステップＳ２０２０ｂ）。このピクセルマッチング基準画素データ３１２の切り出しには、所定サイズ（縦サイズ：ｗｖピクセル、横サイズ：ｗｈピクセル）の矩形窓３１３が用いられる。なお、ここでは、第１の窓関数によって規定される矩形窓３１３の中心と分析基準位置３１１とを一致させるものとして説明を行うが、厳密に中心でなくてもよい。すなわち、矩形窓３１３の中心付近に、分析基準位置３１１が存在していればよい。
【０１５６】
次に、画像マッチング部１０７ｂは、決定された分析基準位置に基づいて（図１０のステップＳ２０１０ｂ）、参照画像におけるサーチ範囲およびサーチ開始位置を決定する（図１０のステップＳ２０３０ｂ）。サーチ開始位置（参照画像においてピクセルマッチング参照画素データを切り出す初期座標）は、例えば、基準画像における分析基準位置と同じ座標（ｘａ，ｙａ）が用いられる。
【０１５７】
次に、画像マッチング部１０７ｂは、図１１Ｂに示すように、切り取り基準位置３２１を、参照画像からサーチ開始位置を中心とした周辺の部分画像をピクセルマッチング参照画素データ３２２として切り出す（図１０のステップＳ２０４０ｂ）。この単位参照画像３２２の切り出しには、ピクセルマッチング基準画素データの切り出しに用いられる矩形窓３１３と同じ矩形窓が用いられる。
【０１５８】
そして、図１１Ｃに示すように、画像マッチング部１０７ｂは、ピクセルマッチング基準画素データ３１２と各ピクセルマッチング参照画素データ３２２とのマッチング度を算出する（図１０のステップＳ２０５０ｂ）。このマッチング度には、例えば、輝度相違度を示すＳＡＤ値が用いられる。このＳＡＤ値は、次の式（３）によって算出される。
【数３】
2014049919.tif 000005
【０１５９】
そして、図１１Ｂに示すように、画像マッチング部１０７ｂは、サーチ範囲が修了していないと判定される場合には（図１０のステップＳ２０６０ｂ：ＮＯ）、切り出す位置をずらして新たなピクセルマッチング参照画素データ３２２'を参照画像から切り出す。切り出す位置は、ここでは１ピクセルずつずらされる。また、ずらす方向は、図１１Ｂにおける参照画像の座標（ｘａ，ｙａ）から伸びる右矢印の方向である。
【０１６０】
このようにして、画像マッチング部１０７ｂは、１つのピクセルマッチング基準画素データ３１２に対して、複数のピクセルマッチング参照画素データ３２２についての複数のＳＡＤ値を算出する。そして、画像マッチング部１０７ｂは、複数のマッチング度に基づいて、マッチング度が最大となるピクセルマッチング参照画素データを特定する。具体的には、画像マッチング部１０７ｂは、複数のＳＡＤ値の内で、例えば最小のＳＡＤ値に対応するピクセルマッチング参照画素データ３２２'を特定する。この特定されたピクセルマッチング参照画素データの切り出し基準位置３２１'の座標を（ｘａ＋ｎ、ｙａ）とすると、ｎは、ピクセル単位のずれ量となる。そして、画像マッチング部１０７ｂは、ＳＡＤ値が最小となる切り出し基準位置３２１'を、基準位置３２１（基準点）のピクセルレベルの対応点とする。
【０１６１】
＜サブピクセル推定処理＞
図１０のステップＳ２０８０ｂにおいて、ステレオ画像処理装置１００ｂは、サブピクセル推定処理を行う。サブピクセル推定処理は、基準点に対する対応点の、サブピクセルレベルの精度のずれ量を推定する処理である。ステレオ画像処理装置１００ｂは、Ｓ２０１０ｂで設定した基準点と、ステップＳ２０７０ｂで得られた参照画像の対応点と、ステレオ画像取得部１０１が入力する基準画像および参照画像とに基づいて、サブピクセル推定処理を行う。
【０１６２】
図１２は、サブピクセル推定処理の詳細を示すフローチャートである。
【０１６３】
＜基準画素データの切り出し処理＞
ステップＳ２０８１ｂにおいて、画像切出部１０２は、基準画像から、基準点を中心とした周辺の部分画像を切り出し、基準画素データを取得する。この基準画素データの基となる部分画像の切り出しには、矩形窓が用いられる。
【０１６４】
＜参照画素データの切り出し処理＞
ステップＳ２０８２ｂにおいて、画像切出部１０２は、参照画像から、ステップＳ２０７０ｂにおいて検出された対応点を中心とした周辺の部分画像を切り出し、参照画素データを取得する。この参照画素データの取得にも、基準画素データの場合と同じ矩形窓が用いられる。
【０１６５】
なお、矩形窓のサイズは、ピクセルマッチング基準画素データの切り出しに用いられたものと異なってもよい。また、本実施の形態においては、基準画素データを、新たに基準画像から取得するものとして説明したが、これに限定されない。画像切出部１０２は、画像マッチング部１０７ｂで用いられたピクセルマッチング基準画素データを、そのまま基準画素データとして用いてもよい。
【０１６６】
＜基準画素データの位相補正処理＞
ステップＳ３０１１ｂにおいて、位相補正部１０３は、基準画素データを位相補正する。
【０１６７】
＜参照画素データの位相補正処理＞
ステップＳ３０３１ｂにおいて、位相補正部１０３は、参照画素データを位相補正する。
【０１６８】
＜位相補正済み基準画素データの窓掛け処理＞
ステップＳ４００１ｂにおいて、窓掛部１０４は、位相補正済み基準画素データに対して、第２の窓関数を用いて窓掛けを行う。第２の窓関数は、例えば、ハニング窓の窓関数である。
【０１６９】
＜位相補正済み参照画素データの窓掛け処理＞
ステップＳ４００２ｂにおいて、窓掛部１０４は、位相補正済み参照画素データに対して、位相補正済み基準画素データに対して用いられたものと同様の窓関数を用いて、窓掛けを行う。
【０１７０】
なお、ここでは、ハニング窓の窓関数が用いられる場合について説明するが、本発明はこれに限定されるものではない。上述の通り、窓関数として、ハミング窓、ブラックマン窓、カイザー窓などが用いられてもよい。これらの窓関数は、基準画素データの特性（例えば、周波数パワー特性、位相特性、切り出し端連続性）のうち、どの特性を重要視するかに応じて選択される。例えば、位相特性を重要視する場合には、カイザー窓が適している。但し、カイザー窓を用いると、演算がかなり複雑となる。一方、演算量削減の観点からは、ハニング窓が適している。
【０１７１】
ここで、サブピクセル推定処理では、切り出された部分画像にノイズが含まれないことが重要である。これは、サブピクセルレベルのずれ量を精度よく算出するためである。一方、画像マッチング部１０７ｂにおける画像切り出し処理は、例えば、ピクセル単位で行われるため、画像切り出しの精度よりも演算回数を削減することに重きが置かれる。
【０１７２】
したがって、画像マッチング部１０７ｂで用いられる第１の窓関数には、単に画像データを切り出すだけの窓関数が用いられる。これに対して、サブピクセル推定処理で用いられる第２の窓関数は、ノイズが少ないことが重要視される。このため、第２の窓関数は、窓の両端における変化が連続的である関数（例えば、窓の両端の値がゼロである関数）であることが好ましい。
【０１７３】
このような第２の窓関数を用いることにより、基準画素データ、および参照画素データの連続性が保たれ、後述する逆位相フィルタの特性に含まれる、切り出しによるノイズ成分を低減することができる。なお、第１の窓関数と第２の窓関数とを周波数特性について比較すると、第１の窓関数の方が、第２の窓関数よりも、メインローブ（main-lobe）の幅が狭く、サイドローブ（side-lobe）の振幅が大きい。
【０１７４】
＜逆位相フィルタ係数算出処理＞
ステップＳ５００１ｂにおいて、逆位相フィルタ部１０８ｂは、窓掛け済み基準画素データから、逆位相フィルタ係数を算出する。具体的には、逆位相フィルタ部１０８ｂは、窓掛け済み基準画素データの各画素値の位置を、配列方向において反転させる形で、信号列を逆の順番に並べ換える。
【０１７５】
＜フィルタリング処理＞
ステップＳ５００２ｂにおいて、逆位相フィルタ部１０８ｂは、窓掛け済み参照画素データを、ステップＳ５００１ｂにおいて算出された逆位相フィルタ係数を用いてフィルタリングする。
【０１７６】
＜ピーク位置検出処理＞
ステップＳ６００１ｂにおいて、ピーク位置検出部１０６は、フィルタリング結果によって検出されたピーク位置に基づいて、基準画像と参照画像とのサブピクセルレベルのずれ量（視差）を算出する。基準画像における基準点の視差は、ピクセルレベルのずれ量ｎと、サブピクセルレベルのずれ量δ’を加算することによって求められる。そして、ステレオ画像処理装置１００の処理は、図１０のフローチャートへ戻る。
【０１７７】
なお、図ステップＳ２０８１ｂ〜Ｓ５００２ｂの処理の順序については、図１２のフローチャートで示した順序に限定されない。基準画像に関する処理であるＳ２０８１ｂ、Ｓ３０１１ｂ、Ｓ４００１ｂと、参照画像に関する処理であるＳ２０８２ｂ、Ｓ３０３１ｂ、Ｓ４００２ｂとが、それぞれこれらの順序で実行されればよい。そして、Ｓ２０８１ｂ〜Ｓ４００２ｂの処理が、Ｓ５００１ｂの前までに完了していればよい。
【０１７８】
以降、サブピクセル推定処理（図１２）の概要を、模式的に説明する。
【０１７９】
図１３は、部分画像の切り出しから逆位相フィルタ係数の算出までの処理（図１２のステップＳ２０８１ｂ〜Ｓ５００２ｂ）の概要を示す模式図である。
【０１８０】
図１３Ａに示すように、画像切出部１０２は、基準画像から、（Ｍ）個の画素値から成る基準画素データ３５３を取得する。また、図１３Ｂに示すように、画像切出部１０２は、参照画像から、Ｍ個の画素値から成る参照画素データ３５６を取得する。
【０１８１】
そして、窓掛部１０４は、基準点（ｘａ，ｙａ）およびピクセルレベルの対応点（ｘａ＋ｎ,ｙａ）を中心とするＭピクセルのサイズのハニング窓を、第２の窓関数ｗ（ｍ）３５７として用いる。なお、第２の窓関数ｗ（ｍ）のサイズは、Ｍに限定されない。
【０１８２】
逆位相フィルタ部１０８ｂは、必ずしも逆位相フィルタ係数を別途算出する必要はなく、逆位相フィルタ係数を適用した場合のフィルタリング結果が得られるような演算を行えばよい。すなわち、図１３Ｃに示すように、逆位相フィルタ部１０８ｂは、例えば、以下に示す式（４）を用いて、フィルタリング処理を行う。ここで、ｆ'（ｍ）は、基準画像の画素値を表し、ｇ'（ｍ）は、参照画像の画素値を表す。
【数４】
2014049919.tif 000006
【０１８３】
図１４は、逆位相フィルタ係数によるフィルタリング（図１２のステップＳ５００２ｂ）の概念を説明するための模式図である。
【０１８４】
図１４において、窓関数ｗ（ｍ）の長さ（Ｍ）は、５画素であるものとする。そして、折り返しノイズの除去および窓掛けが行われた基準画素データは、「１，２，３，４，５」であるものとする。また、折り返しノイズの除去および窓掛けが行われた参照画素データｘ（ｍ）も、「１，２，３，４，５」であるものとする。また、フィルタリングに用いる画素値は、輝度値であるものとする。
【０１８５】
基準画素データが「１，２，３，４，５」の場合、逆位相フィルタ部１０８ｂは、逆位相フィルタ係数ｈ（ｋ）として、「５，４，３，２，１」を算出する。
【０１８６】
そして、逆位相フィルタ部１０８ｂは、図１４Ｂに示すように、逆位相フィルタ係数ｈ（ｋ）を用いて、参照画素データに対してフィルタリング処理を施す。
【０１８７】
このフィルタリング処理は、具体的には次のように行われる。参照画素データにおける、任意の構成信号の座標をｋとした場合、逆位相フィルタ部１０８ｂは、構成信号の座標が「ｋ−２、ｋ−１、ｋ、ｋ＋１、ｋ＋２」となる信号列に対して、逆位相フィルタ係数ｈ（ｋ）を乗算することによりフィルタリング処理を施す。そして、逆位相フィルタ部１０８ｂは、各乗算結果の総和を、フィルタリング結果ｚ（ｍ）として算出する。ここで、ｍは、０〜４の整数値を取る。
【０１８８】
ここで、参照画素データの両端の外部に、輝度が０の仮想的な座標点を考慮すると、図１４Ａに示すように、参照画素データｘ（ｍ）は、「０，０，１，２，３，４，５，０，０」となる。図１４Ａにおけるｍ（ｍ：０〜４）を参照画素データの座標点とした場合（つまり、ｘ（０）=１、ｘ（１）=２、ｘ（２）=３、ｘ（３）=４、ｘ（４）=５）、フィルタリング処理は、次のように行われる。
【０１８９】
逆位相フィルタ部１０８ｂは、ｍ＝０の場合、ｍ＝０を中心とする輝度値信号列「０、０、１、２、３」を、逆位相フィルタ「５、４、３、２、１」によってフィルタリング処理する。この結果、ｚ（０）は、２６（＝０×１＋０×２＋１×３＋２×４＋３×５）となる。
【０１９０】
また、逆位相フィルタ部１０８ｂは、ｍ＝１の場合、ｍ＝１を中心とする輝度値信号列「０、１、２、３、４」を、逆位相フィルタ「５、４、３、２、１」によってフィルタリング処理する。この結果、ｚ（１）は、４０（＝０×１＋１×２＋２×３＋３×４＋４×５）となる。
【０１９１】
同様にして、ｚ（２）は、５５となり、ｚ（３）は、４０となり、ｚ（４）は、２６となる。
【０１９２】
したがって、逆位相フィルタ部１０８ｂは、フィルタリング結果ｚ（ｍ）として、「２６、４０、５５、４０、２６」を得る。
【０１９３】
このようなフィルタリング処理は、上述の式（４）によって表される。式（４）において、基準画素データが反転されたｆ'（−ｋ）は、逆位相フィルタのフィルタ係数ｈ（ｋ）として用いられている。また、ｇ'（ｍ）は、参照画素データの輝度値である。
【０１９４】
逆位相フィルタを用いたフィルタリング処理によるフィルタリング結果ｚ（ｍ）は、図１４Ｃに示すように、対称（図１４では、ｍ＝２を中心として左右対称）になると共に、中央付近にピークが存在するという特徴を有する。
【０１９５】
また、逆位相フィルタは、いわゆるＦＩＲフィルタの一種に相当するものであり、線形推移不変システムであるという特徴を有する。ここで、線形推移不変システムとは、入力信号にずれがある場合には、出力信号にも入力信号と同じだけのずれが生じるシステムである。
【０１９６】
上述した具体例では、参照画素データと基準画素データとの間にズレがない場合を例にとって説明した。ところが、参照画素データが基準画素データに対してサンプリング間隔より小さなずれが存在する場合、フィルタリング結果であるｚ（ｍ）にも同じだけのずれが生じることになる。
【０１９７】
なお、実空間において同一サイズの対象物の視差を求める場合、対象物が遠くに存在する場合は近くに存在する場合よりも視差は小さく、ピクセル単位のずれ量ｎも小さくなる。それと同時に、当該対象物の基線長方向の画像領域サイズも小さくなる。
【０１９８】
したがって、ステレオ画像処理装置１００は、逆位相フィルタのタップ数を、画像マッチング部１０７ｂで検出されたピクセル単位のずれ量ｎの大きさに応じて設定することが望ましい。
【０１９９】
例えば、ピクセル単位のズレ量ｎが小さい場合には、それに応じて逆位相フィルタのタップ長も短く設定される。すなわち、実空間において同一サイズの物体の視差を求める場合、物体が遠くに存在する場合は近くに存在する場合よりも視差は小さく、ピクセル単位のズレ量ｎも小さくなる。それと同時に、画像中に撮影されるサイズも小さくなるため、ズレ量ｎの大きさに応じて基準画素データおよび参照画素データのサイズを変更することにより、逆位相フィルタのタップ長も適応的に変更することができる。これにより測距対象の物体のサイズに合わせた視差を算出することができる。
【０２００】
また、フィルタリング結果は、線形推移不変システムの出力である。したがって、フィルタリング結果は、レンズの歪補正の誤差、ＣＣＤなどのイメージセンサに起因するゲインノイズなどの誤差、窓掛けによる画像切り出しの演算精度の誤差を除けば、理論的には真のずれ量を表現していることになる。よって、ピクセル単位で離散化されている逆位相フィルタの出力をサンプリング定理に従ってピクセル間の数値を補間することにより、サブピクセル単位での真のピーク位置を求めることができる。
【０２０１】
図１５は、ピーク位置検出の処理（図１２のステップＳ６００１ｂ）の一例の概要を示す模式図である。ここでは、ｓｉｎｃ関数を用いたピーク位置検出の処理の概要を示す。
【０２０２】
ｓｉｎｃ関数は、ｓｉｎ（πｘ）／πｘで定義される関数であり、離散化されたサンプリングデータを元の連続データに戻す場合に用いられる関数である。サンプリングされた離散データとｓｉｎｃ関数との畳み込み演算を行うことにより、元の連続データを完全に復元可能であることは、サンプリング定理によって証明されている。
【０２０３】
したがって、ピーク位置検出部１０６は、離散化されているフィルタリング結果をｓｉｎｃ関数によって畳み込み演算する。これにより、ピーク位置検出部１０６は、ピクセル単位間隔の信号データを補間することができ、サブピクセル単位でも理論的に信号データが補間されたフィルタリング結果ｚ（ｍ）の真のピーク位置を導出することができる。
【０２０４】
図１５に示すように、ピーク位置検出部１０６は、例えば、２分探索によって、ピーク位置を検出する。
【０２０５】
例えば、ピーク位置検出部１０６は、ピクセル単位間隔のフィルタリング結果ｚ（ｍ）が最大となる位置ｍ＝０を、位置Ａ（つまり、２分探索基準点）とする。ピーク位置検出部１０６は、その最大位置Ａから左右に１ピクセルずつずれた位置のフィルタリング結果であるｚ（＋１）とｚ（−１）とを比較する。そして、ピーク位置検出部１０６は、大きい方の位置（ここでは、ｍ＝１）を、位置Ｂ（つまり、２分探索使用点）とする。
【０２０６】
そして、ピーク位置検出部１０６は、２分探索基準点Ａと２分探索使用点Ｂとの中点である位置Ｃの値を、サンプリング定理に基づき、例えば以下の式（５）を用いて算出する。
【数５】
2014049919.tif 000007
【０２０７】
そして、ピーク位置検出部１０６は、位置Ｃを新たな２分探索基準点として、上記と同様の処理を繰り返す。
【０２０８】
この処理の繰り返し回数は、必要な精度に応じた数とすることができる。すなわち、ピーク位置検出部１０６は、必要なサブピクセル精度が１／２ピクセルであれば、上記した処理を１回行えばよい。また、ピーク位置検出部１０６は、必要なサブピクセル精度が１／４ピクセル精度であれば２回、１／８ピクセルであれば３回と、必要なサブピクセル精度に応じて繰り返し回数を決定すればよい。
【０２０９】
そして、ピーク位置検出部１０６は、最後に得られた中点を、検出したピーク位置δとして扱う。
【０２１０】
なお、以上の説明では、ｓｉｎｃ関数および２分探索法を用いてピーク位置を検出する方法について説明を行った。しかしながら、本発明はこれに限定されるものではなく、例えば、ピーク位置検出部１０６は、ｓｉｎｃ関数と勾配法との組み合わせによって、ピーク位置を探索してもよい。すなわち、ピーク位置検出部１０６は、離散化されているフィルタリング結果をｓｉｎｃ関数によって畳み込み演算してピクセル単位間隔の信号データを補間した後であれば、各種の最大値検出方法を用いることができる。
【０２１１】
または、ピーク位置検出部１０６は、二次曲線近似を用いてピーク位置を検出してもよい。これにより、ピーク位置検出部１０６は、ピーク位置検出のための演算量を削減することができる。この場合、ピーク位置検出部１０６は、離散化されているフィルタリング結果を二次曲線でフィッティングし、その二次曲線の極大値の位置を、ピーク位置として検出する。これにより、ピーク位置検出部１０６は、離散化の間隔以下の精度でピーク位置を求めることができる。
【０２１２】
図１６は、二次曲線近似を用いたピーク位置検出の処理（図１２のステップＳ６００１ｂ）の一例の概要を示す模式図である。
【０２１３】
図１６に示すように、ピーク位置検出部１０６は、まず、ピクセル単位間隔のフィルタリング結果ｚ（ｍ）が最大となる、位置ｍ＝０における値ｚ（０）を求める。また、ピーク位置検出部１０６は、その最大位置ｍ＝０から左右に１ピクセルずつずれた、位置ｍ＝＋１、−１のフィルタリング結果である、ｚ（＋１）、ｚ（−１）を取得する。そして、ピーク位置検出部１０６は、これら３点を通る二次曲線を求め、さらにその二次曲線が極大値をとる位置を、ピーク位置δとして検出する。このピーク位置δは、例えば、次の式（６）を用いて算出することができる。
【数６】
2014049919.tif 000008
【０２１４】
なお、以上の説明において、ステレオ画像処理装置１００ｂは、基準画素データに基づいて逆位相フィルタ係数を算出し、逆位相フィルタ係数を用いて参照画素データに対してフィルタリング処理を施した。しかし、ステレオ画像処理装置１００ｂは、逆に、参照画素データに基づいて逆位相フィルタ係数を算出し、逆位相フィルタを用いて基準画素データに対してフィルタリング処理を施してもよい。これは、基準画素データと参照画素データとが、ステレオ画像の一方と他方という意味において、等価なデータであるためである。
【０２１５】
以上のように、本実施の形態に係るステレオ画像処理装置１００ｂは、画像マッチングにより部分画像の切り出し対象を絞るとともに、逆位相フィルタを用いて視差を算出する。これにより、本実施の形態に係るステレオ画像処理装置１００ｂは、演算負荷を低減した状態で、基線長方向の画像領域サイズが小さい対象物に対して、より高精度に視差を算出することができる。
【０２１６】
なお、以上説明した各実施の形態におけるステレオ画像処理装置の各機能部は、例えば、集積回路により構成されてもよい。ステレオ画像処理装置の各機能部は、個別に１チップ化されていてもよいし、複数で１チップ化されてもよい。集積回路は、集積度の違いにより、ＬＳＩ（large scale integration）、ＩＣ（integrated circuit）、システムＬＳＩ、スーパーＬＳＩ、またはウルトラＬＳＩなどとすることができる。また、集積回路は、専用回路または汎用プロセッサにより実現されるものであってもよい。また、集積回路は、その製造後にプログラムすることが可能なＦＰＧＡ（field programmable gate array）や、内部の回路セルの接続や設定を再構成可能なコンフィギュラブル・プロセッサとしてもよい。更には、ステレオ画像処理装置の各機能部は、半導体技術の進歩または派生する別技術に応じて、ＬＳＩに置き換わる他の集積回路化の技術（例えばバイオ技術）により集積化されたものにより実現されてもよい。
【０２１７】
本開示のステレオ画像処理装置は、ステレオ画像の基準画像および参照画像を取得するステレオ画像取得部と、前記基準画像および前記参照画像のそれぞれから、前記ステレオ画像の基線長方向に平行な部分画像を切り出し、当該部分画像の前記基線長方向における画素値の分布を示す一次元画素データ列を取得する画像切出部と、前記基準画像から取得された前記一次元画素データ列である基準画素データに対して行った場合に当該基準画素データの値をより左右対称にする処理である位相補正処理を、前記基準画素データと、前記参照画像から取得された前記一次元画素データ列である参照画素データと、のそれぞれに対して行う位相補正部と、前記基準画素データに対して前記位相補正処理を行って得られた位相補正済み基準画素データと、前記参照画素データに対して前記位相補正処理を行って得られた位相補正済み参照画素データと、のそれぞれに対して、窓掛けを行う窓掛部と、前記位相補正済み基準画素データに対して前記窓掛けを行って得られた窓掛け済み基準画素データと、前記位相補正済み参照画素データに対して前記窓掛けを行って得られた窓掛け済み参照画素データと、の間の相関の度合いを示す位相相関値を算出する位相相関部と、前記位相相関値に基づいて、前記基準画像の基準点に対する前記参照画像の対応点の視差を算出するピーク位置検出部と、を有する。
【０２１８】
また、上記ステレオ画像処理装置において、前記位相補正部は、前記基準画素データに対して、各周波数成分の位相を零にする零位相化処理を行うことにより、前記位相補正済み基準画素データを算出する基準画素データ零位相化部と、前記基準画素データおよび前記位相補正済み基準画素データに基づいて、前記基準画素データに対して適用した場合に当該基準画素データの値を左右対称にする位相補正フィルタを算出する位相補正フィルタ算出部と、前記参照画素データに対して前記位相補正フィルタを適用することにより、前記位相補正済み参照画素データを算出する参照画素データ位相補正部と、を有してもよい。
【０２１９】
また、上記ステレオ画像処理装置において、前記零位相化処理は、前記基準画素データに対して、一次元フーリエ変換、虚数成分の除去、および一次元逆フーリエ変換をこの順序で施す処理を含み、前記位相補正フィルタは、前記位相補正済み基準画素データを一次元フーリエ変換して得られる値を、前記基準画素データを一次元フーリエ変換して得られる値で割ることにより算出されるフィルタを含んでもよい。
【０２２０】
また、上記ステレオ画像処理装置において、前記位相補正部は、前記基準画素データに対して、一部または全部の周波数成分の位相を９０度シフトさせる位相シフトフィルタを適用して、位相シフト済み基準画素データを算出する基準画素データ位相シフト部と、前記位相シフト済み基準画素データおよび前記基準画素データのそれぞれに対して、値の左右対称性を示す左右対称判定値を算出する左右対称判定値算出部と、前記位相シフト済み基準画素データから算出された前記左右対称判定値と、前記基準画素データから算出された前記左右対称判定値と、を比較し、前記位相シフト済み基準画素データの前記左右対称性が前記基準画素データの前記左右対称性よりも高いか否かを判定する左右対称判定値比較部と、前記参照画素データに対して前記位相シフトフィルタを適用して、位相シフト済み参照画素データを算出する参照画素データ位相シフト部と、を有し、前記窓掛部は、前記位相シフト済み基準画素データの前記左右対称性が前記基準画素データの前記左右対称性よりも高いとき、前記位相シフト済み基準画素データおよび前記位相シフト済み参照画素データを、それぞれ前記位相補正済み基準画素データおよび前記位相補正済み参照画素データとして扱い、前記位相シフト済み基準画素データの前記左右対称性が前記基準画素データの前記左右対称性よりも高くないとき、前記基準画素データおよび前記参照画素データを、それぞれ前記位相補正済み基準画素データおよび前記位相補正済み参照画素データとして扱ってもよい。
【０２２１】
また、上記ステレオ画像処理装置において、前記位相シフトフィルタは、微分フィルタであってもよい。
【０２２２】
また、上記ステレオ画像処理装置において、前記位相相関部は、前記窓掛け済み基準画素データを配列方向に反転させて逆位相フィルタ係数を算出し、前記逆位相フィルタ係数を用いて前記窓掛け済み参照画素データをフィルタリングすることにより、前記位相相関値を算出してもよい。
【０２２３】
また、上記ステレオ画像処理装置は、ピクセルレベルの前記対応点を取得する画像マッチング部、を更に有し、前記画像切出部は、前記部分画像に前記基準点および前記対応点が含まれるように、前記部分画像の切り出し位置を決定し、前記ピーク位置検出部は、前記位相相関値に基づいて、前記基準画像の基準点に対する、サブピクセルレベルの前記対応点の視差を算出してもよい。
【０２２４】
本開示のステレオ画像処理方法は、ステレオ画像の基準画像および参照画像を取得するステップと、前記基準画像および前記参照画像のそれぞれから、前記ステレオ画像の基線長方向に平行な部分画像を切り出し、当該部分画像の前記基線長方向における画素値の分布を示す一次元画素データ列を取得するステップと、前記基準画像から取得された前記一次元画素データ列である基準画素データに対して行った場合に当該基準画素データの値をより左右対称にする処理である位相補正処理を、前記基準画素データと、前記参照画像から取得された前記一次元画素データ列である参照画素データと、のそれぞれに対して行うステップと、前記基準画素データに対して前記位相補正処理を行って得られた位相補正済み基準画素データと、前記参照画素データに対して前記位相補正処理を行って得られた位相補正済み参照画素データと、のそれぞれに対して、窓掛けを行うステップと、前記位相補正済み基準画素データに対して前記窓掛けを行って得られた窓掛け済み基準画素データと、前記位相補正済み参照画素データに対して前記窓掛けを行って得られた窓掛け済み参照画素データと、の間の相関の度合いを示す位相相関値を算出するステップと、前記位相相関値に基づいて、前記基準画像の基準点に対する前記参照画像の対応点の視差を算出するステップと、を有する。
【０２２５】
２０１２年９月２７日出願の特願２０１２−２１４９７４の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
【産業上の利用可能性】
【０２２６】
本発明に係るステレオ画像処理装置およびステレオ画像処理方法は、基線長方向の画像領域サイズが小さい対象物についても高精度に視差を算出することができる、ステレオ画像処理装置およびステレオ画像処理方法として有用である。
【符号の説明】
【０２２７】
１００、１００ａ、１００ｂ  ステレオ画像処理装置
１０１  ステレオ画像取得部
１０２  画像切出部
１０３、１０３ａ  位相補正部
１０４  窓掛部
１０５  位相相関部
１０６  ピーク位置検出部
１０７ｂ  画像マッチング部
１０８ｂ  逆位相フィルタ部
２０１  基準画素データ零位相化部
２０２  位相補正フィルタ算出部
２０３  参照画素データ位相補正部
３０１ａ  基準画素データ位相シフト部
３０２ａ  左右対称判定値算出部
３０３ａ  左右対称判定値比較部
３０４ａ  参照画素データ位相シフト部
【図１】
2014049919.tif 000009
【図２】
2014049919.tif 000010
【図３】
2014049919.tif 000011
【図４】
2014049919.tif 000012
【図５】
2014049919.tif 000013
【図６】
2014049919.tif 000014
【図７】
2014049919.tif 000015
【図８】
2014049919.tif 000016
【図９】
2014049919.tif 000017
【図１０】
2014049919.tif 000018
【図１１】
2014049919.tif 000019
【図１２】
2014049919.tif 000020
【図１３】
2014049919.tif 000021
【図１４】
2014049919.tif 000022
【図１５】
2014049919.tif 000023
【図１６】
2014049919.tif 000024
【国際調査報告】
2014049919.tif 000025
2014049919.tif 000026
2014049919.tif 000027
2014049919.tif 000028