(57)【特許請求の範囲】
【請求項１】
基準画像及び参照画像に対して歪み補正及び平行化補正を行い、前記歪み補正及び前記平行化補正された補正基準画像及び補正参照画像を出力する平行化補正処理部と、
前記補正基準画像と前記補正参照画像とに対して画像マッチング処理することで前記補正基準画像の基準点に対する前記補正参照画像の対応点を取得する画像マッチング部と、
前記基準点及び前記対応点のそれぞれの座標を前記基準画像及び前記参照画像における座標に変換し、前記変換の際に画素行方向に切り上げもしくは切り捨てられた値を出力する座標変換部と、
複数の画素行及び複数の画素列を有し前記座標変換後の基準点を含む第１の二次元画素データを前記基準画像から抽出し、複数の画素行及び複数の画素列を有し前記座標変換後の対応点を含む第２の二次元画素データを前記参照画像から抽出する画像切り出し部と、
所定の再構成ルールに基づいて前記第１の二次元画素データ及び前記第２の二次元画素データのそれぞれを、第１の一次元画素データ及び第２の一次元画素データに再構成する画像再構成部と、
前記再構成によって生じる折り返しノイズを前記第１の一次元画素データ及び前記第２の一次元画素データから除去するアンチエイリアシング部と、
前記ノイズが除去された第１の一次元画素データの各画素値の位置を配列方向において反転して得られる逆位相フィルタ係数を算出し、前記ノイズが除去された第２の一次元画素データに対して前記逆位相フィルタ係数を用いてフィルタリング処理するフィルタ生成部と、
前記フィルタリング処理の結果における相関位置関係に基づいて算出した前記座標変換後の基準点と前記座標変換後の対応点とのずれ量に、前記変換の際に画素行方向において切り上げもしくは切り捨てられた値を加算することにより視差を算出するピーク位置検出部と、
を備えるステレオ画像処理装置。
【請求項２】
前記所定の再構成ルールは、二次元画素データのうち同一画素行に含まれる任意の画素同士の、再構成前の間隔と再構成後の間隔との比が、二次元画素データに含まれる全ての画素同士について同一になるように、二次元画素データを一次元画素データに再構成するルールである、
請求項１に記載のステレオ画像処理装置。
【請求項３】
前記所定の再構成ルールは、前記画素行の方向における画素の間隔が元の間隔以上になるように、前記１次元画素データを生成する内容である、
請求項１に記載のステレオ画像処理装置。
【請求項４】
前記第１の二次元画素データと、前記第２の二次元画素データとは、同一の画素データ数を含む、
請求項１に記載のステレオ画像処理装置。
【請求項５】
前記ノイズが除去された第１の一次元画素データ及び第２の一次元画素データに対して、窓の両端における変化が連続的である窓関数を用いて窓掛けを行う窓掛け部を、更に有し、
前記窓関数の窓長は、前記座標変換後の基準点の基準画像上の位置と前記座標変換後の対応点の前記参照画像上の位置のずれ量に応じて設定され、
前記フィルタ生成部は、前記窓掛けされた第１の一次元画素データの各画素値の位置を配列方向において反転させて得られる逆位相フィルタ係数を算出し、前記窓掛けされた第２の一次元画素データに対して、前記逆位相フィルタ係数を用いてフィルタリング処理を行う、
請求項１に記載のステレオ画像処理装置。
【請求項６】
前記基準画像及び前記参照画像に対して、縦方向にのみ歪み補正および平行化補正を行い、前記基準画像に対して縦方向にのみ歪み補正および平行化補正した画像である縦画素補正基準画像と、前記参照画像に対して縦方向にのみ歪み補正および平行化補正した画像である縦画素補正参照画像とを、前記画像切り出し部へ出力する縦画素補正画像生成部を、更に有し、
前記座標変換部は、前記基準点及び前記画像マッチング部から取得した前記対応点のそれぞれの座標を前記縦画素補正基準画像および前記縦画素補正参照画像上での座標に変換し、
前記画像切り出し部は、前記縦画素補正基準画像および前記縦画素補正参照画像から画像範囲を切り出し、
前記フィルタ生成部は、前記縦画素補正基準画像から生成され、折り返しノイズが除去された１次元画素データである基準画素データの各画素値の位置を配列方向において反転させて得られる逆位相フィルタ係数を算出し、前記縦画素補正参照画像から生成され、折り返しノイズが除去された１次元画素データである参照画素データ対して、前記逆位相フィルタ係数を用いてフィルタリング処理を行い、
前記ピーク位置検出部は、前記フィルタリング処理の結果における相関位置関係に基づいて算出した、前記座標変換部の変換によって得られた前記縦画素補正基準画像上の基準点と前記縦画素補正参照画像上の対応点との視差を算出する、
請求項１に記載のステレオ画像処理装置。
【請求項７】
サブピクセルレベルの視差概算値を算出するサブピクセル視差概算部と、
前記サブピクセルレベルの視差概算値に基づいてデータ抽出開始位置を求め、前記一次元画素データに対して前記データ抽出開始位置に基づいたデータ抽出を行うことで抽出一次元画素データを得るデータ抽出部を更に有し、
前記窓掛け部は、前記抽出一次元画素データに対して窓掛けを行い、
前記ピーク位置検出部は、前記データ抽出開始位置に基づいて、算出する視差を補正する、
請求項６に記載のステレオ画像処理装置。
【請求項８】
前記ステレオ画像はベイヤ配列画像であり、
前記画像切り出し部は、単数もしくは複数の画素行と複数の画素列から成る二次元画素データを抽出し、
前記再構成ルールは、Ｒ画素値、Ｇ画素値、およびＢ画素値の少なくとも１つを画像範囲から抽出することにより一次元画素データを生成する内容である、
請求項１に記載のステレオ画像処理装置。
【請求項９】
前記ステレオ画像はベイヤ配列画像であり、
縦画素補正基準画像と縦画素補正参照画像のベイヤ配列の並びが一致していない場合、並びが一致するよう前記マッチング部が算出した前記対応点の位置をずらすベイヤ配列調整部を更に有し、
前記再構成ルールは、Ｒ画素値、Ｇ画素値、およびＢ画素値の少なくとも１つを前記画像範囲から抽出することにより一次元画素データを生成する内容である、
請求項６に記載のステレオ画像処理装置。
【請求項１０】
基準画像及び参照画像に対して歪み補正及び平行化補正を行い、前記歪み補正及び前記平行化補正された補正基準画像及び補正参照画像を出力する平行化補正処理ステップと、
前記補正基準画像と前記補正参照画像とに対して画像マッチング処理することで前記補正基準画像の基準点に対する前記補正参照画像の対応点を取得する画像マッチングステップと、
前記基準点及び前記対応点のそれぞれの座標を前記基準画像及び前記参照画像における座標に変換し、前記変換の際に画素行方向に切り上げもしくは切り捨てられた値を出力する座標変換ステップと、
複数の画素行及び複数の画素列を有し前記座標変換後の基準点を含む第１の二次元画素データを前記基準画像から抽出し、複数の画素行及び複数の画素列を有し前記座標変換後の対応点を含む第２の二次元画素データを前記参照画像から抽出する画像切り出しステップと、
所定の再構成ルールに基づいて前記第１の二次元画素データ及び前記第２の二次元画素データのそれぞれを、第１の一次元画素データ及び第２の一次元画素データに再構成する画像再構成ステップと、
前記再構成によって生じる折り返しノイズを前記第１の一次元画素データ及び前記第２の一次元画素データから除去するアンチエイリアシングステップと、
前記ノイズが除去された第１の一次元画素データの各画素値の位置を配列方向において反転して得られる逆位相フィルタ係数を算出し、前記ノイズが除去された第２の一次元画素データに対して前記逆位相フィルタ係数を用いてフィルタリング処理するフィルタ生成ステップと、
前記フィルタリング処理の結果における相関位置関係に基づいて算出した前記座標変換後の基準点と前記座標変換後の対応点とのずれ量に、前記変換の際に画素行方向において切り上げもしくは切り捨てられた値を加算することにより視差を算出するピーク位置検出ステップと、
を有するステレオ画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオ画像の基準画像の基準点に対するステレオ画像の参照画像の対応点の視差を算出するステレオ画像処理装置およびステレオ画像処理方法に関する。
【背景技術】
【０００２】
従来、ステレオ画像に基づいて対象物までの距離を測定するステレオ画像処理装置（以下、単に「ステレオ画像処理装置」という）が知られている。ステレオ画像処理装置は、参照画像から、基準画像の基準点と同一の対象物が撮影されている点（以下、「対応点」という）を抽出し、カメラパラメータと、基準点に対する対応点のずれ量である視差とに基づいて、対象物までの距離を算出する。【０００３】
ステレオ画像処理装置は、車載カメラで撮影した前方車両または歩行者までの距離を測定する安全装置などへの適用が検討されている。近年、この様な安全装置が小型車へも普及してきているため、ステレオカメラの小型化が要求されている。ステレオカメラの小型化に伴い、基準画像を撮影するカメラと参照画像を撮影するカメラとの間隔が狭くなる。その間隔が狭くなることで視差が小さくなるため、高精度な視差算出が要求されている。【０００４】
高精度な視差算出の技術として、例えば、特許文献１に記載の従来技術がある。この従来技術は、１次元ＰＯＣ（Phase Only Correlation）方式を用いて視差を算出する。具体的には、基準画像および参照画像のそれぞれから、１次元の画素データ列がハニング窓を用いて切り出され、１次元フーリエ変換が施されて合成される。合成されたデータ列の振幅成分は正規化され、１次元逆フーリエ変換されることにより位相限定相関係数が求まる。そして、位相限定相関係数の相関ピークに基づいて視差が算出される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１２３１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術は、カメラから遠くに位置する歩行者など、ステレオ画像上で占める基線長方向における画像領域のサイズ（以下、「基線長方向の画像領域サイズ」という）が小さい対象物については、高精度に視差を算出することが困難であった。【０００７】
本発明の目的は、基線長方向の画像領域サイズが小さい対象物についても高精度に視差を算出することができる、ステレオ画像処理装置およびステレオ画像処理方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明のステレオ画像処理装置は、基準画像及び参照画像に対して歪み補正及び平行化補正を行い、前記歪み補正及び前記平行化補正された補正基準画像及び補正参照画像を出力する平行化補正処理部と、前記補正基準画像と前記補正参照画像とに対して画像マッチング処理することで前記補正基準画像の基準点に対する前記補正参照画像の対応点を取得する画像マッチング部と、前記基準点及び前記対応点のそれぞれの座標を前記基準画像及び前記参照画像における座標に変換し、前記変換の際に画素行方向に切り上げもしくは切り捨てられた値を出力する座標変換部と、複数の画素行及び複数の画素列を有し前記座標変換後の基準点を含む第１の二次元画素データを前記基準画像から抽出し、複数の画素行及び複数の画素列を有し前記座標変換後の対応点を含む第２の二次元画素データを前記参照画像から抽出する画像切り出し部と、所定の再構成ルールに基づいて前記第１の二次元画素データ及び前記第２の二次元画素データのそれぞれを、第１の一次元画素データ及び第２の一次元画素データに再構成する画像再構成部と、前記再構成によって生じる折り返しノイズを前記第１の一次元画素データ及び前記第２の一次元画素データから除去するアンチエイリアシング部と、前記ノイズが除去された第１の一次元画素データの各画素値の位置を配列方向において反転して得られる逆位相フィルタ係数を算出し、前記ノイズが除去された第２の一次元画素データに対して前記逆位相フィルタ係数を用いてフィルタリング処理するフィルタ生成部と、前記フィルタリング処理の結果における相関位置関係に基づいて算出した前記座標変換後の基準点と前記座標変換後の対応点とのずれ量に、前記変換の際に画素行方向において切り上げもしくは切り捨てられた値を加算することにより視差を算出するピーク位置検出部と、を備える。
【０００９】
本発明のステレオ画像処理方法は、基準画像及び参照画像に対して歪み補正及び平行化補正を行い、前記歪み補正及び前記平行化補正された補正基準画像及び補正参照画像を出力する平行化補正処理ステップと、前記補正基準画像と前記補正参照画像とに対して画像マッチング処理することで前記補正基準画像の基準点に対する前記補正参照画像の対応点を取得する画像マッチングステップと、前記基準点及び前記対応点のそれぞれの座標を前記基準画像及び前記参照画像における座標に変換し、前記変換の際に画素行方向に切り上げもしくは切り捨てられた値を出力する座標変換ステップと、複数の画素行及び複数の画素列を有し前記座標変換後の基準点を含む第１の二次元画素データを前記基準画像から抽出し、複数の画素行及び複数の画素列を有し前記座標変換後の対応点を含む第２の二次元画素データを前記参照画像から抽出する画像切り出しステップと、所定の再構成ルールに基づいて前記第１の二次元画素データ及び前記第２の二次元画素データのそれぞれを、第１の一次元画素データ及び第２の一次元画素データに再構成する画像再構成ステップと、前記再構成によって生じる折り返しノイズを前記第１の一次元画素データ及び前記第２の一次元画素データから除去するアンチエイリアシングステップと、前記ノイズが除去された第１の一次元画素データの各画素値の位置を配列方向において反転して得られる逆位相フィルタ係数を算出し、前記ノイズが除去された第２の一次元画素データに対して前記逆位相フィルタ係数を用いてフィルタリング処理するフィルタ生成ステップと、前記フィルタリング処理の結果における相関位置関係に基づいて算出した前記座標変換後の基準点と前記座標変換後の対応点とのずれ量に、前記変換の際に画素行方向において切り上げもしくは切り捨てられた値を加算することにより視差を算出するピーク位置検出ステップと、を有する。
【発明の効果】
【００１０】
本発明によれば、基線長方向の画像領域サイズが小さい対象物についても高精度に視差を算出することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１に係るステレオ画像処理装置の構成の一例を示すブロック図
【図２】本発明の実施の形態２に係るステレオ画像処理装置の構成の一例を示すブロック図
【図３】本発明の実施の形態２におけるフィルタ部の構成の一例を示すブロック図
【図４】本発明の実施の形態２における再構成ルールの概念を示す模式図
【図５】本発明の実施の形態２に係るステレオ画像処理装置の動作の一例を示すフローチャート
【図６】本発明の実施の形態２における画像範囲の切り出しから対応点の特定までの処理の概要を示す模式図
【図７】本発明の実施の形態２におけるサブピクセルレベル演算処理の一例を示すフローチャート
【図８】本発明の実施の形態２における再構成ルールの一例の概要を示す模式図
【図９】本発明の実施の形態２におけるアンチエイリアシングを説明するための模式図
【図１０】本発明の実施の形態２における画像範囲の再構成からフィルタリングまでの処理の概要を示す模式図
【図１１】本発明の実施の形態２における逆位相フィルタ係数によるフィルタリングの概念を説明するための模式図
【図１２】本発明の実施の形態２におけるｓｉｎｃ関数を用いたピーク位置検出の処理の一例の概要を示す模式図
【図１３】本発明の実施の形態２における二次曲線近似を用いたピーク位置検出の処理の一例の概要を示す模式図
【図１４】本発明の実施の形態２におけるベイヤ配列画像の構成を示す模式図
【図１５】本発明の実施の形態２におけるベイヤ配列画像に対するアップサンプリングの例を示す模式図
【図１６】本発明の実施の形態３に係るステレオ画像処理装置の構成の一例を示すブロック図
【図１７】本発明の実施の形態３におけるフィルタ部の構成の一例を示すブロック図
【図１８】本発明の実施の形態３に係るステレオ画像処理装置の構成の一例を示すブロック図
【図１９】本発明の実施の形態３における縦画素補正画像生成部の構成の一例を示すブロック図
【図２０】本発明の実施の形態３における縦画素補正処理の概要の一例を示す模式図
【図２１】本発明の実施の形態３における縦画素補正処理の概要の一例を示す模式図
【図２２】本発明の実施の形態３におけるフィルタ部の構成の一例を示すブロック図
【図２３】本発明の実施の形態３におけるフィルタ部の構成の一例を示すブロック図
【図２４】本発明の実施の形態４に係るステレオ画像処理装置の構成の一例を示すブロック図
【図２５】本発明の実施の形態４におけるサブピクセルレベルの視差の概算値を算出する概念を示す模式図
【図２６】本発明の実施の形態４におけるフィルタ部の構成の一例を示すブロック図
【図２７】本発明の実施の形態４にて等間隔のデータ抽出が可能な理由を説明する模式図
【図２８】本発明の実施の形態４におけるデータ抽出の例を示す模式図
【図２９】本発明の実施の形態４におけるデータ抽出の開始位置の変更が相関ピークに合わせた窓掛け処理に必要な理由を説明する模式図
【図３０】本発明の実施の形態４におけるデータ抽出開始位置の差Ｄを算出する概念を示す模式図
【図３１】本発明の実施の形態４におけるデータ抽出処理の概念を示す模式図
【図３２】本発明の実施の形態４におけるデータ抽出処理の一例を示すフローチャート
【図３３】本発明の実施の形態３における縦画素補正処理の一例を示すフローチャート
【図３４】本発明の実施の形態３における異色の場合の補正画素値算出処理の一例を示すフローチャート
【図３５】本発明の実施の形態３における同色の場合の補正画素値算出処理の一例を示すフローチャート
【発明を実施するための形態】
【００１２】
以下、本発明の各実施の形態について、図面を参照して詳細に説明する。なお、従来技術は、画像領域サイズが小さい場合、背景など周囲の画像の影響を低減するために１次元の画素データ列を小さくする必要があった。１次元の画素データ列を小さくするほど相関ピークの精度は低くなるからである。本発明は、この課題意識に基づいて創作された。
【００１３】
（実施の形態１）
本発明の実施の形態１は、本発明の基本的態様の一例である。
【００１４】
図１は、本実施の形態に係るステレオ画像処理装置の構成の一例を示すブロック図である。
【００１５】
図１において、ステレオ画像処理装置１００は、ステレオ画像取得部１０１、画像切り出し部２０１、画像再構成部２０２、およびピーク位置検出部１０４を有する。
【００１６】
ステレオ画像取得部１０１は、基準画像および参照画像を含むステレオ画像を取得する。
【００１７】
画像切り出し部２０１は、基準画像および参照画像のそれぞれから、ステレオ画像の基線長方向に平行な複数の画素行と、複数の画素列とから成る画像範囲を切り出す。
【００１８】
画像再構成部２０２は、切り出した画像範囲の各画素の画素値（二次元画素データ）を、所定の再構成ルール（以下、単に「再構成ルール」という）に従って１次元に再構成することにより、一次元画素データを生成する。一次元画素データは、基準画像および参照画像のそれぞれについて生成される。再構成ルールは、画像範囲の同一画素行に含まれる任意の画素同士の、再構成前の間隔と再構成後の間隔との比が、画像範囲に含まれる全ての画素同士について同一になる内容である。
【００１９】
ピーク位置検出部１０４は、基準画像から生成された一次元画素データである基準画素データと、参照画像から生成された一次元画素データである参照画素データとの相関関係に基づいて、基準画像の基準点に対する参照画像の対応点の視差を算出する。
【００２０】
ステレオ画像処理装置１００は、例えば、ＣＰＵ（central processing unit）、ＲＡＭ（random access memory）などの記憶媒体を有する。この場合、上述の各機能部は、ＣＰＵが制御プログラムを実行することにより実現される。
【００２１】
このようなステレオ画像処理装置１００は、複数画素行×複数画素列の画像範囲の各画素の画素値を、行の成分をアップサンプリングする形で、一次元画素データに再構成することができる。そして、ステレオ画像処理装置１００は、基準画像から得られた基準画素データと、参照画像から得られた参照画素データとの相関関係に基づいて、基準画像の基準点に対する参照画像の対応点の視差を算出することができる。また、画素行の方向は、基線長方向に一致させることができる。これにより、ステレオ画像処理装置１００は、従来技術に比べて１次元の画素データ列を長く取ることができるので、基線長方向の画像領域サイズが小さい対象物についても、高精度に視差を算出することができる。
【００２２】
なお、図示しないが、ステレオ画像処理装置１００は、画像マッチング部１０２、画像切り出し部２０１、画像再構成部２０２、およびピーク位置検出部１０４を有する構成でもよい。すなわち、ステレオ画像は、外部機器から取得し、画像マッチング部１０２は、ステレオ画像に基づいて、画像マッチング処理をする。すなわち、画像マッチング部１０２は、基準画像と参照画像とに対して画像マッチング処理することで、前記基準画像の基準点に対する前記参照画像の対応点を取得する。
【００２３】
（実施の形態２）
本発明の実施の形態２は、本発明を、基線長方向が水平方向にほぼ一致するステレオ画像を処理対象とする装置に適用した例である。
【００２４】
まず、ステレオ画像処理装置１００の構成について説明する。
【００２５】
図２は、本実施の形態に係るステレオ画像処理装置の構成の一例を示すブロック図である。
【００２６】
図２において、ステレオ画像処理装置１００は、ステレオ画像取得部１０１と、画像マッチング部１０２と、フィルタ部１０３と、ピーク位置検出部１０４とを有する。
【００２７】
＜ステレオ画像取得部１０１＞
ステレオ画像取得部１０１は、ステレオ画像の基準画像および参照画像を取得する。
【００２８】
具体的には、ステレオ画像取得部１０１は、２つ以上の撮像系（つまり、カメラ）で撮影されたステレオ画像を取得する。ステレオ画像には、２つの異なるカメラによって同一対象物が撮影された基準画像および参照画像が含まれる。そして、ステレオ画像取得部１０１は、取得したステレオ画像を、画像マッチング部１０２およびフィルタ部１０３へ出力する。なお、本実施の形態において、ステレオ画像取得部１０１は、基線長方向が水平方向にほぼ一致する２つのカメラにより撮影されたステレオ画像を、入力するものとする。
【００２９】
＜画像マッチング部１０２＞
画像マッチング部１０２は、基準画像の基準点に対する参照画像の対応点を取得する。すなわち、画像マッチング部１０２は、基準画像と参照画像とに対して画像マッチング処理することで、前記基準画像の基準点に対する前記参照画像の対応点を取得する。
【００３０】
具体的には、画像マッチング部１０２は、ステレオ画像取得部１０１により取得された基準画像および参照画像に対して画像マッチング処理を行うことにより、基準画像の基準点に対する参照画像の対応点を取得する。そして、画像マッチング部１０２は、基準点の画像上の位置に対する参照画像の対応点の画像上の位置の「ピクセルレベルのずれ量ｎ」を算出する。画像マッチング部１０２は、基準点の位置と参照画像の対応点の位置とを、例えば、基準点の位置、ピクセルレベルのずれ量ｎ、およびそのずれの方向を示す情報を出力することにより、フィルタ部１０３へ出力する。
【００３１】
例えば、画像マッチング部１０２は、基準画像に含まれる所定の１ピクセルを「基準点」とし、基準点を中心とした周辺の部分画像（以下、「単位基準画像」という）を、基準画像から切り出す。また、画像マッチング部１０２は、参照画像に含まれ、かつ、単位基準画像と同一サイズである部分画像（以下、「単位参照画像」という）を、参照画像から複数切り出す。複数の単位参照画像は、参照画像において、異なる位置から切り出される。
【００３２】
ステレオ画像の場合、基準画像と参照画像との視差はカメラの基線長方向にしか発生しない。したがって、画像マッチング部１０２は、基線長方向に切り出し位置を変更して、複数の単位参照画像を切り出せばよい。そして、基準画像における基準点の位置と、参照画像の対応点の位置とのずれ量が、上記したずれ量ｎとして算出される。
【００３３】
そして、画像マッチング部１０２は、切り出された複数の単位参照画像から、単位基準画像とのマッチング度が最も大きい単位参照画像を特定する。特定された単位参照画像において、基準点に対応する１ピクセルが、参照画像上の対応点になる。マッチング度を表す指標としては、例えば、輝度相違度を示すＳＡＤ（画素輝度の相違度：Sum of Absolute Differences）値が用いられる。
【００３４】
＜フィルタ部１０３＞
フィルタ部１０３は、基準画像に基づいて、参照画像に対するフィルタリング処理を行う。
【００３５】
具体的には、フィルタ部１０３は、基準画像および基準点の位置に基づいてフィルタ係数を算出し、算出されたフィルタ係数を用いて、参照画像の対応点周辺の部分画像に対するフィルタリング処理を行う。
【００３６】
＜フィルタ部１０３の構成＞
図３は、フィルタ部１０３の構成の一例を示すブロック図である。
【００３７】
図３において、フィルタ部１０３は、画像切り出し部２０１、画像再構成部２０２、アンチエイリアシング部２０３、窓掛け部２０４、およびフィルタ生成部２０５を有する。
【００３８】
＜画像切り出し部２０１＞
画像切り出し部２０１は、基準画像から、ステレオ画像の基線長方向に平行な複数の画素行と複数の画素列とから成る部分画像（二次元画素データ）を、サブピクセル推定用単位基準画像として切り出す（抽出ステップ）。また、画像切り出し部２０１は、同様に、参照画像から、サブピクセル推定用単位基準画像と同一の画素行数、画素列数（同一サイズ）からなる部分画像（二次元画素データ）を、サブピクセル推定用単位参照画像として切り出す（抽出ステップ）。すなわち、画像切り出し部２０１は、複数の画素行及び複数の画素列を有し、前記基準点を含む第１の二次元画素データを前記基準画像から抽出し、複数の画素行及び複数の画素列を有し、前記対応点を含む第２の二次元画素データを前記参照画像から抽出する。
【００３９】
そして、画像切り出し部２０１は、サブピクセル推定用単位基準画像およびサブピクセル推定用単位参照画像を、画像再構成部２０２へ出力する。
【００４０】
なお、本実施の形態において、画像切り出し部２０１は、サブピクセル推定用単位基準画像に基準点が含まれるように、基準画像における画像の切り出し位置を決定するものとする。また、画像切り出し部２０１は、サブピクセル推定用単位参照画像に対応点が含まれるように、画像の切り出し位置を決定するものとする。
【００４１】
なお、画像切り出し部２０１は、サブピクセル推定用単位基準画像を、前述の単位基準画像と異なるサイズとなるように決定してもよい。また、画像切り出し部２０１は、サブピクセル推定用単位基準画像およびサブピクセル推定用単位参照画像のそれぞれの「画像範囲」を指定し、指定した画像範囲を、画像再構成部２０２へ出力してもよい。「画像範囲」は、例えば、重心座標と幅と高さで表すことができるが、これに限定されるものではない。
【００４２】
＜画像再構成部２０２＞
画像再構成部２０２は、画像切り出し部２０１から取得した、サブピクセル推定用単位基準画像およびサブピクセル推定用単位参照画像の各画素の画素値を、再構成ルールに従って１次元に再構成することにより、一次元画素データを生成する。なお、画像範囲は、サブピクセル推定用単位基準画像およびサブピクセル推定用単位参照画像の上位概念である。
【００４３】
再構成ルールは、画像範囲の同一画素行に含まれる任意の画素同士の、再構成前の間隔と再構成後の間隔との比が、画像範囲に含まれる全ての画素同士について同一となるように、１次元上に再構成するルールである。すなわち、画像再構成部２０２は、画像範囲に含まれる各画素行において、等間隔に並んだ画素同士を所定の間隔だけ離隔し、離隔した画素の間に、他の画素行に含まれる画素を入れ込むようにして、各画素行を線形結合する。また、再構成ルールは、画像範囲の同一画素行に含まれる画素同士の再構成後の間隔が、再構成前の間隔より大きくなるように、一次元画素データを再構成するルールである。
【００４４】
所定の間隔とは、原則として、画像範囲の画素行の数より１少ない数である。具体的に、たとえば、白黒画像であって、かつ、画像範囲の画素行の数が３で画素列の数が３である場合について説明する。画像再構成部２０２は、画像範囲に含まれる任意の画素行において、再構成前に隣接して並ぶ３つの画素をそれぞれ２画素ずつ離隔する。そして、画像再構成部２０２は、離隔された画素の間に、他の画素行の画素を配置することにより、３つの画素行を線形結合する。線形結合の具体的な方法の一例については、後述する。
【００４５】
ここで、再構成ルールの概念について、図面を用いて説明する。
【００４６】
図４は、再構成ルールの概念を示す模式図である。
【００４７】
再構成ルールでは、画像範囲の各画素行のデータは、それぞれ独立したデータとして扱われる。画像再構成部２０２は、各画素行のデータの画素を離隔し、画素間をゼロで補間することにより、サンプリング周波数を上げることが出来る（これは、一般的に「アップサンプリング」といわれる）。但し、アップサンプリングにより得られたデータは、そのままでは、折り返しノイズを拾ってしまう。そのため、アンチエイリアシング部２０３（anti-aliasing section）が、アップサンプリングにより得られたデータをローパスフィルタに通して、アンチエイリアシングする必要がある。
【００４８】
ここで、各画素行のデータは、独立であるため、画像再構成部２０２は、各画素行をアップサンプリングし、アンチエイリアシングした上で、各画素行を結合することが可能である。その際、画像に写っている物体が垂直方向に伸びた物体（例えば、歩行者など）である場合、基準画像と参照画像間とのずれ量は、画像範囲のいずれの画素行においても同じである。そのため、基準画像および参照画像における画素の位置に同じオフセットを加えても、ずれ量は変わらない。すなわち、基準画像および参照画像の画素の位置を同じだけ、かつ、基線長方向の同じ方向にずらしても、基準画像と参照画像とのずれ量の算出に影響はない。したがって、画素行毎に画素の位置に一定のオフセットを加えた上で結合したデータを用いて、基準画像と参照画像のずれ量を算出することができる。
【００４９】
また、アンチエイリアシングフィルタは、線形フィルタであるため、各画素行のデータから、アンチエイリアシングしたデータへの変換に対し線形性が成り立つ。そのため、ステレオ画像処理装置１００は、各画素行をアップサンプリングし、線形結合してから、例えばローパスフィルタに通してアンチエイリアシングしたデータから、ずれ量を算出することができる。
【００５０】
次に、複数の画素行を線形結合する具体的な方法の一例について、説明する。図４Ａに示すように、画像再構成部に入力された、サブピクセル推定用単位基準画像が、基準点を中心とする３つの画素行×３つの画素列＝画素数９のサイズであったとする。ここで、説明の便宜のため、左上から下方向へ行を移動しながら右方向に走査していったときの順序（１）〜（９）を、各画素の番号とする。
【００５１】
最初に、画像再構成部２０２は、画像を各画素行に分解する。次に、図４Ｂに示すように、画像再構成部２０２は、それぞれの画素行を画素列の数だけアップサンプリングする。この場合、１行目の画素行である第１の画素行４０１は、左から順に「（１）（０）（０）（２）（０）（０）（３）（０）（０）」となる。２行目の画素行である第２の画素行４０２は、左から順に「（４）（０）(０)（５）（０）（０）（６）（０）（０）」となる。３行目の画素行である第３の画素行４０３は、左から順に「（７）（０)（０）（８）（０）（０）（９）（０）（０））」となる。なお、（０）は、ゼロを補間した画素を示す。
【００５２】
そして、図４Ｃに示すように、画像再構成部２０２は、アップサンプリングされた３行に対し、１行目の画素行である第１の画素行４０１の画素の位置にはオフセットを加えず（つまり、オフセット０を加える）、第２の画素行４０２の画素の位置にはオフセット１を加え、第３の画素行４０３の画素の位置にはオフセット２を加えて、３つの画素行を加算することによって結合する。
【００５３】
この結果、図４Ｄに示すように、「（１）（４）（７）（２）（５）（８）（３）（６）（９）」という構成のデータが得られる。また、画像再構成部２０２は、サブピクセル推定用単位参照画像についても同様の処理を施し、一次元画素データを得る。
【００５４】
なお、各画素行を線形結合する際に各画素行の画素の位置に加えられるオフセット量は、上述の例に限定されず、０以上、画素行の数より１だけ少ない数以下の整数であり、各画素行の再構成前の画素の位置が同じにならないよう、互いに異なっていればよい。例えば、画像再構成部２０２は、別のオフセット量を各画素行の画素の位置に加えることにより、「（１）（７）（４）（２）（８）（５）（３）（９）（６）」などの一次元画素データを得るようにしてもよい。
【００５５】
以上で、再構成ルールの概念についての説明を終える。
【００５６】
そして、画像再構成部２０２は、サブピクセル推定用単位基準画像から生成された一次元画素データ（以下、「基準画素データ」という）、および、サブピクセル推定用単位参照画像から生成された一次元画素データ（以下、「参照画素データ」という）を、アンチエイリアシング部２０３へ出力する。
【００５７】
なお、本実施の形態において、上述の画素行は、ステレオ画像の基線長方向（エピポーラ線の方向）に平行であるものとする。そして、上述の再構成ルールは、画像範囲の任意の画素と、当該画素が画素行の方向に隣接する画素との間隔が、再構成前の間隔よりも広くなるように、一次元画素データを生成する内容であるものとする。また、再構成ルールは、画像範囲の任意の画素と、当該画素が基線長方向（水平方向）に（すなわち、同じ画素行の）隣接する画素との間隔が、基線長方向に直交する方向（垂直方向）に並んだ（すなわち、同じ画素列の）他のいずれの画素との間隔よりも広くなるように、一次元画素データを生成する内容である。また、画素値とは、例えば、画素ごとの輝度値である。
【００５８】
＜アンチエイリアシング部２０３＞
アンチエイリアシング部２０３は、一次元画素データ（基準画素データおよび参照画素データ）から、上述の再構成により生じる折り返しノイズ（エイリアシング）を除去する（これは、一般的に「アンチエイリアシング」といわれる）。具体的には、アンチエイリアシング部２０３は、例えばローパスフィルタを用いて、一次元画素データから折り返しノイズを除去する。そして、アンチエイリアシング部２０３は、折り返しノイズの除去が行われた一次元画素データ（基準画素データおよび参照画素データ）を、窓掛け部２０４へ出力する。
【００５９】
＜窓掛け部２０４＞
窓掛け部２０４は、一次元画素データに対して、窓掛けを行う。そして、窓掛け部２０４は、窓掛けが行われた一次元画素データを、フィルタ生成部２０５へ出力する。
【００６０】
＜フィルタ生成部２０５＞
フィルタ生成部２０５は、基準画素データの各画素の位置を、配列方向において反転させて得られる、逆位相フィルタ係数を算出する。そして、フィルタ生成部２０５は、参照画素データに対して、逆位相フィルタ係数を用いてフィルタリング処理を行う。フィルタリング処理の詳細については後述する。そして、フィルタ生成部２０５は、フィルタリング処理の結果（以下、「フィルタリング結果」という）を、図２のピーク位置検出部１０４へ出力する。
【００６１】
＜ピーク位置検出部１０４＞
ピーク位置検出部１０４は、フィルタリング結果において、基準画素データと参照画素データとの相関度が最も高くなる相対位置関係を取得する。そして、ピーク位置検出部１０４は、取得した相対位置関係に基づいて、サブピクセル推定用単位基準画像の基準点に対する、サブピクセル推定用単位参照画像の対応点のサブピクセルレベルのずれ量を算出する。
【００６２】
具体的には、ピーク位置検出部１０４は、フィルタリング結果におけるピークの位置を検出することにより、かかるずれ量を算出する。ここで、フィルタリング結果におけるピークとは、フィルタリング結果が最大値となる位置である。このサブピクセルレベルのずれ量と、画像マッチング部１０２において算出されるピクセルレベルのずれ量（上記したずれ量ｎ）を加算することにより、基準画像と参照画像との間の正確なずれ量が算出される。
【００６３】
ステレオ画像処理装置１００は、例えば、ＣＰＵ、ＲＡＭなどの記憶媒体を有する。この場合、上述の各機能部は、ＣＰＵが制御プログラムを実行することにより実現される。
【００６４】
このようなステレオ画像処理装置１００は、複数画素行×複数画素列の画像範囲の各画素の画素値を、基線長方向の成分をアップサンプリングすることにより、一次元画素データ（基準画素データおよび参照画素データ）に再構成することができる。そして、ステレオ画像処理装置１００は、基準画像から得られた一次元画素データである基準画素データと、参照画像から得られた一次元画素データである参照画素データとの相関関係に基づいて、基準画像の基準点に対する参照画像の対応点のサブピクセルレベルの視差を算出する。これにより、ステレオ画像処理装置１００は、従来技術に比べて長い１次元の画素データ列を視差算出に用いることができるので、基線長方向の画像領域サイズが小さい対象物についても、高精度に視差を算出することができる。
【００６５】
以上で、ステレオ画像処理装置１００の構成についての説明を終える。
【００６６】
次に、以上の構成を有するステレオ画像処理装置１００の動作について説明する。
【００６７】
なお、以下では、画像横方向をＸ軸、画像縦方向をＹ軸として、１画素が１座標点であるものとして説明する。また、説明の便宜のため、エピポーラ線の方向（基線長方向）は、画像全体において、Ｘ軸に平行であるものとする。
【００６８】
図５は、ステレオ画像処理装置１００の動作の一例を示すフローチャートである。
【００６９】
画像マッチング部１０２は、ステレオ画像取得部１０１からステレオ画像が入力されるごとに、その基準画像の全体で基準点を移動させながら、基準画像および参照画像に対して画像マッチング処理を行う。ステレオ画像処理装置１００は、以下のステップＳ１〜Ｓ８の動作を、全ての基準点について行う。
【００７０】
＜基準点の位置決定処理＞
ステップＳ１において、画像マッチング部１０２は、視差算出の対象となる基準点の位置を決定する。
【００７１】
＜単位基準画像の切り出し処理＞
ステップＳ２において、画像マッチング部１０２は、基準画像から、単位基準画像を切り出す。単位基準画像は、ステップＳ１において決定された基準点を含む部分領域の画像である。単位基準画像の大きさの単位は、上述の通り、ピクセル（画素）である。つまり、単位基準画像は、複数の画素行×複数の画素列の画像である。
【００７２】
＜サーチ範囲およびサーチ開始位置の決定処理＞
ステップＳ３において、画像マッチング部１０２は、ステップＳ２で決定された基準点の位置に基づいて、参照画像におけるサーチ範囲およびサーチ開始位置を決定する。ステレオ画像の視差は、三角測量の原理により、カメラ間の距離である基線長とレンズの焦点距離と、ステレオカメラから測距の対象物までの距離に基づいて決定される。すなわち、視差は、基線張と焦点距離に比例し、対象物までの距離に反比例する。基線長と焦点距離はカメラパラメータで固定のため、サーチ範囲は、ステレオカメラから測距の対象物までの距離に基づいて決定すればよい。ステレオカメラから無限遠にある対象物は基準画像と参照画像において同じ位置に撮像されるため、参照画像におけるサーチ開始位置は基準画像における基準点と同じ座標を設定してもよい。
【００７３】
＜単位参照画像の切り出し処理＞
ステップＳ４において、画像マッチング部１０２は、参照画像における切り出し位置を決定し、画素行の数と画素列の数が単位基準画像と同一の単位参照画像を切り出す。画像マッチング部１０２は、ステップＳ３で決定されたサーチ開始位置を例えば最初の切り出し位置に決定し、以降、切り出し位置を移動させていく。
【００７４】
＜マッチング度の算出処理＞
ステップＳ５において、画像マッチング部１０２は、単位基準画像と単位参照画像とのマッチング度を算出する。このマッチング度には、例えば、輝度相違度を示すＳＡＤ値や輝度類似度が用いられる。
【００７５】
＜サーチ範囲の終了判定処理＞
ステップＳ６において、画像マッチング部１０２は、サーチ範囲に対する処理の終了判定処理を行う。すなわち、画像マッチング部１０２は、切り出し位置が移動によりサーチ範囲を網羅したか否かを判定する。画像マッチング部１０２は、サーチ範囲に対する処理が終了していない場合（Ｓ６：Ｎｏ）、ステップＳ４へ戻る。この結果、画像マッチング部１０２は、ステップＳ４での単位参照画像の切り出し領域がずれるように、切り出し位置をサーチ範囲内において移動させる。このようにして、ステップＳ４〜Ｓ６までの処理は、サーチ範囲に対する処理が終了するまで（Ｓ６：Ｙｅｓ）、繰り返される。
【００７６】
＜対応点の特定処理＞
ステップＳ７において、画像マッチング部１０２は、ステップＳ４〜Ｓ６の処理によって得られた、複数のマッチング度に基づいて、マッチング度が最大となる単位参照画像の切り出し位置を特定する。マッチング度として輝度相違度が用いられている場合には、画像マッチング部１０２は、輝度相違度が極小ないし最小となる単位参照画像の切り出し位置を特定する。そして、画像マッチング部１０２は、マッチング度が最大となる切り出し位置を、基準点に対する参照画像の対応点として特定する。
【００７７】
ここで、ステップＳ２〜Ｓ７の処理について、具体的に説明する。
【００７８】
図６は、画像範囲の切り出しから対応点の特定までの処理の概要を示す模式図である。
【００７９】
図６Ａに示すように、画像マッチング部１０２は、上述のステップＳ２において、基準点（ｘａ，ｙａ）３１１を中心とした周辺の部分画像を、単位基準画像３１２として切り出す。この単位基準画像３１２の切り出しには、所定サイズ（縦サイズ：ｗｖピクセル、横サイズ：ｗｈピクセル）の矩形窓３１３が用いられる。なお、ここでは、第１の窓関数によって規定される矩形窓３１３の中心と基準点３１１の位置とを一致させるものとして説明を行うが、厳密に中心でなくてもよく、矩形窓３１３の中心付近に基準点３１１が存在していればよい。
【００８０】
次に、画像マッチング部１０２は、上述のステップＳ３において、ステップＳ１において決定された基準点の位置に基づいて、参照画像におけるサーチ範囲およびサーチ開始位置を決定する。サーチ開始位置（参照画像において単位参照画像を切り出す初期座標）は、例えば、基準画像における基準点と同じ座標（ｘａ，ｙａ）が用いられる。次に、画像マッチング部１０２は図６Ｂに示すように、切り出し位置３２１を、ステップＳ４で参照画像からサーチ開始位置を中心とした周辺の部分画像を単位参照画像３２２として切り出す。この単位参照画像３２２の切り出しには、単位基準画像の切り出しに用いられる矩形窓３１３と同じ矩形窓が用いられる。
【００８１】
そして、画像マッチング部１０２は、上述のステップＳ５において、単位基準画像３１２と各単位参照画像３２２とのマッチング度を算出する。このマッチング度には、例えば、輝度相違度を示すＳＡＤ値が用いられる。このＳＡＤ値は、次の式（１）によって算出される。
【数１】
0005942203.tif 000002
【００８２】
そして、画像マッチング部１０２は、上述のステップＳ６において、サーチ範囲が終了していないと判定される場合には、図６Ｂに示すように、切り出す位置をずらして新たな単位参照画像３２３を参照画像から切り出す。切り出す位置は、ここでは１ピクセルずつずらされる。また、ずらす方向は、図６Ｂにおける参照画像の座標（ｘａ，ｙａ）から伸びる右矢印の方向である。
【００８３】
このようにして、画像マッチング部１０２は、１つの単位基準画像３１２に対する複数の単位参照画像について、それぞれのマッチング度を算出する。そして、画像マッチング部１０２は、ステップＳ７でステップＳ４〜Ｓ６の処理によって得られた複数のマッチング度に基づいて、マッチング度が最大となる単位参照画像を特定する。具体的には、画像マッチング部１０２は、複数のマッチング度の内で、最もマッチング度が最大（例えば、ＳＡＤ値が最小）である単位参照画像３２３を特定する。この特定された単位参照画像の切り出し位置３２３の座標を（ｘａ＋ｎ、ｙａ）とすると、ｎは、ピクセルレベルのずれ量となる。そして、画像マッチング部１０２は、マッチング度が最大となる切り出し位置３２３を、基準点３２１に対する参照画像の対応点として特定する。
【００８４】
なお、マッチング度の指標としてはＳＡＤ値に限定されるものではなく、マッチング度の指標として用いることができるものであれば他の指標を用いることができる。例えば、画像マッチング部１０２は、マッチング度の指標として、ＳＳＤ（Sum of Squared Differences）を用いてもよい。
【００８５】
以上で、ステップＳ２〜Ｓ７の処理についての具体的な説明を終える。
【００８６】
＜サブピクセルレベル演算処理＞
図５のステップＳ８において、フィルタ部１０３およびピーク位置検出部１０４は、ステップＳ７で得られた参照画像の対応点と、ステレオ画像取得部１０１から受け取る基準画像および参照画像とに基づいて、サブピクセルレベル演算処理を行う。
【００８７】
図７は、サブピクセルレベル演算処理の詳細を示すフローチャートである。
【００８８】
＜サブピクセル推定用単位基準画像の切り出し処理＞
ステップＳ１０において、フィルタ部１０３は、基準画像から基準点を中心とした周辺の部分画像を、サブピクセル推定用単位基準画像として切り出す。このサブピクセル推定用単位基準画像の切り出しには、上述の単位基準画像の切り出しに用いたものと同様の矩形窓３１３が用いられる。
【００８９】
＜サブピクセル推定用単位参照画像の切り出し処理＞
ステップＳ１１において、フィルタ部１０３は、参照画像から、ステップＳ７で検出された対応点を中心とした周辺の部分画像を、サブピクセル推定用単位参照画像として切り出す。サブピクセル推定用単位参照画像の切り出し処理にも、サブピクセル推定用単位基準画像の場合と同じ矩形窓が用いられる。但し、矩形窓は、対応点（ｘａ＋ｎ、ｙａ）を中心に設定される。
【００９０】
なお、矩形窓のサイズは単位基準画像の切り出しに用いたものと異なってもよい。また、本実施の形態においては、サブピクセル推定用単位基準画像を、新たに基準画像から切り出すものとして説明したが、画像マッチング部１０２で用いた単位基準画像をそのままサブピクセル推定用単位基準画像として用いてもよい。
【００９１】
＜サブピクセル推定用単位基準画像の画像再構成処理＞
ステップＳ１２において、画像再構成部２０２は、サブピクセル推定用単位基準画像を１次元画像データに再構成する。すなわち、画像再構成部２０２は、サブピクセル推定用単位基準画像の各画素の画素値を、再構成ルールに従って１次元に再構成することによって、「基準画素データ」を生成する。
【００９２】
＜サブピクセル推定用単位参照画像の画像再構成処理＞
ステップＳ１３において、画像再構成部２０２は、サブピクセル推定用単位参照画像を１次元画像データに再構成する。すなわち、画像再構成部２０２は、サブピクセル推定用単位参照画像の各画素の画素値を、再構成ルールに従って１次元に再構成することによって、「参照画素データ」を生成する。
【００９３】
図８は、再構成ルールの一例の概要を示す模式図である。
【００９４】
図８Ａに示すように、基準画像（参照画像）３３１のサブピクセル推定用単位基準画像（サブピクセル推定用単位参照画像）３３２は、基準点（対応点）３３３を含む４つの画素行×４つの画素列＝画素数１６のサイズであったとする。なお、サブピクセル推定用単位基準画像（サブピクセル推定用単位参照画像）３３２をこのサイズとしたのは、ステレオカメラから遠くに位置する歩行者のように、その画像領域サイズが小さく、基線長方向の情報量が少ない場合を想定しているためであるが、これに限定されない。
【００９５】
ここで、説明の便宜のため、サブピクセル推定用単位基準画像（サブピクセル推定用単位参照画像）３３２を左上から下方向へ行を移動しながら右方向に走査していったときの順序（１）〜（１６）を、各画素の番号とする。
【００９６】
すなわち、第１の画素行は、左から順に「（１）（２）（３）（４）」であり、第２の画素行は、左から順に「（５）（６）（７）（８）」である。また、第３の画素行は、左から順に「（９）（１０）（１１）（１２）」であり、第４の画素行は、左から順に「（１３）（１４）（１５）（１６）」である。
【００９７】
また、第１の画素列は、上から順に「（１）（５）（９）（１３）」であり、第２の画素列は、上から順に「（２）（６）（１０）（１４）」である。また、第３の画素列は、上から順に「（３）（７）（１１）（１５）」であり、第４の画素列は、上から順に「（４）（８）（１２）（１６）」である。
【００９８】
ここでは、画像再構成部２０２は、図８Ｂに示すように、左上から右方向へ列を移動しながら下方向に走査していったときの順序で、図８Ｃに示すように、各画素の画素値の配置を再構成する。すなわち、画像再構成部２０２は、「（１）（５）（９）（１３）（２）（６）（１０）（１４）（３）（７）（１１）（１５）（４）（８）（１２）（１６）」という画素の順序で、各画素の画素値を１次元に並べる。そして、画像再構成部２０２は、１次元に並べて得られるデータを、基準画素データ（参照画素データ）３３４とする。
【００９９】
このようにして再構成された基準画素データ（参照画素データ）３３４では、例えば、第１の画素行「（１）（２）（３）（４）」において隣接する画素の間の間隔３３５の比は、「１：１：１」のまま変化していない。
【０１００】
また、第１の画素行「（１）（２）（３）（４）」を含めた全ての画素行において、隣接する画素の間の間隔は３画素に広がっている。したがって、基準画素データ（参照画素データ）３３４は、横方向（画素行方向）の成分がアップサンプリングされた状態となっている。
【０１０１】
なお、上記の例では、再構成後の画素の配列は、「（１）（５）（９）（１３）（２）（６）（１０）（１４）（３）（７）（１１）（１５）（４）（８）（１２）（１６）」という画素の順序としたが、これに限定されない。再構成前の各画素行において隣接する画素の間隔が、再構成後の画素の配列においてすべて同じであればよい。具体的には、再構成後の画素の配列は、「（１）（９）（５）（１３）（２）（１０）（６）（１４）（３）（１１）（７）（１５）（４）（１２）（８）（１６）」や、「（５）（１）（９）（１３）（６）（２）（１０）（１４）（７）（３）（１１）（１５）（８）（４）（１２）（１６）」等でもよい。
【０１０２】
このようなアップサンプリングにより、基準点および対応点の上下範囲の情報を利用し、かつ、視差算出に用いる画素データの数も多く取ることができるようになる。また、視差算出に用いる画素データの数を多くすることにより、後段で適用される第２の窓関数の視差算出への影響を少なくすることができる。すなわち、ステレオ画像処理装置１００は、ノイズにロバストな視差算出を行うことが可能となる。
【０１０３】
ところが、アップサンプリングにより、縦方向（画素列方向）の成分が等間隔で配置されることになるため、同時に、本来は画像上に存在しない高周波成分の信号（エイリアシング）が発生することになる。そこで、ステレオ画像処理装置１００は、以降に説明するアンチエイリアシング処理を行う。
【０１０４】
＜基準画素データのアンチエイリアシング処理＞
図７のステップＳ１４において、アンチエイリアシング部２０３は、基準画素データに対し、アンチエイリアシング処理を行う。アンチエイリアシング処理は、アップサンプリングにより発生する上述のエイリアシングを除去する処理である。
【０１０５】
＜参照画素データのアンチエイリアシング処理＞
ステップＳ１５において、アンチエイリアシング部２０３は、参照画素データに対し、アンチエイリアシング処理を行う。
【０１０６】
図９は、アンチエイリアシングを説明するための模式図である。
【０１０７】
ここで、基準画素データおよび参照画素データが画像信号となる前の元の信号波形および振幅特性は、図９Ａに示すような状態であったとする。これを標本化すると、図９Ｂのように、信号は離散化し、標本化周波数の半分であるナイキスト周波数３４１よりも低い周波数において、元信号と同じ振幅特性３４２が現れる。したがって、標本化した信号を２倍アップサンプリングした場合、ナイキスト周波数は２倍となり、図９Ｃに示すように、標本化による折り返しノイズ（エイリアシング）３４３が現れる。
【０１０８】
後段のピーク位置検出部１０４では、基準画素データと参照画素データとの相関関係に基づいて視差算出を行う。このため、折り返しノイズを除去しなければ、高精度な視差算出を行うことができない。
【０１０９】
そこで、アンチエイリアシング部２０３は、ナイキスト周波数の１／２を遮断周波数としたローパスフィルタ３４４を基準画素データと参照画素データに適用する。これにより、アンチエイリアシング部２０３は、元信号と同じ振幅特性３４２となる、アップサンプリングされた信号を得ることができる。
【０１１０】
なお、ローパスフィルタの遮断周波数は、サブピクセル推定用単位基準画像、およびサブピクセル推定用単位参照画像の、画素行の数（高さ）に依存する。例えば、アンチエイリアシング部２０３は、画素行の数が２つの場合、ローパスフィルタの遮断周波数をナイキスト周波数の１／２、画素行の数が３つの場合、ローパスフィルタの遮断周波数をナイキスト周波数の１／３とする。したがって、アンチエイリアシング部２０３は、画像再構成部２０２でのアップサンプリングのサンプリング周波数に応じて、ローパスフィルタの遮断周波数を動的に変更するようにしてもよい。
【０１１１】
＜基準画素データの窓掛け処理＞
図７のステップＳ１６において、窓掛け部２０４は、アンチエイリアシング処理が行われた基準画素データに対して、第２の窓関数を用いて窓掛けを行う。第２の窓関数は、例えば、式（２）で表されるハニング窓の窓関数ｗ（ｍ）である。Ｎは、タップ数（基準画素データの画素数）を表す。ｍは、ハニング窓における位置を表す。
【数２】
0005942203.tif 000003
【０１１２】
＜参照画素データの窓掛け処理＞
ステップＳ１７において、窓掛け部２０４は、アンチエイリアシング処理が行われた参照画素データに対して、アンチエイリアシング処理が行われた基準画素データに対して用いられたものと同様の窓関数を用いて、窓掛けを行う。
【０１１３】
なお、ここでは、ハニング窓の窓関数が用いられる場合について説明するが、本発明はこれに限定されるものではなく、窓関数として、ハミング窓、ブラックマン窓、カイザー窓などが用いられてもよい。これらの窓関数は、サブピクセル推定用単位基準画像の特性（例えば、周波数パワー特性、位相特性、切り出し端連続性）のうち、どの特性を重要視するかに応じて選択される。例えば、位相特性を重要視する場合には、カイザー窓が適している。但し、カイザー窓を用いると、演算がかなり複雑となる。一方、演算量削減の観点からは、ハニング窓が適している。
【０１１４】
ここで、サブピクセルレベルの演算処理では、切り出された画像にノイズが含まれないことが重要である。これは、サブピクセルレベルのずれ量を精度よく算出するためである。一方、画像マッチング部１０２における画像切り出し処理は、例えば、ピクセル単位で行われるため、画像切り出しの精度よりも演算回数を削減することに重きが置かれる。
【０１１５】
したがって、画像マッチング部１０２で用いられる第１の窓関数には、単に画像データを切り出すだけの窓関数が用いられる。これに対して、サブピクセルレベルの演算処理で用いられる第２の窓関数は、ノイズが少ないことが重要視される。このため、第２の窓関数は、窓の両端における変化が連続的である関数（例えば、窓の両端の値がゼロである関数）であることが好ましい。
【０１１６】
このような第２の窓関数を用いることにより、基準画素データ、および参照画素データの連続性が保たれ、後述する逆位相フィルタの特性に含まれる、切り出しによるノイズ成分を低減することができる。なお、第１の窓関数と第２の窓関数とを周波数特性について比較すると、第１の窓関数の方が、第２の窓関数よりも、メインローブ（main-lobe）の幅が狭く、サイドローブ（side-lobe）の振幅が大きい。
【０１１７】
＜逆位相フィルタ係数算出処理＞
ステップＳ１８において、フィルタ部１０３は、折り返しノイズの除去および窓掛けが行われた基準画素データから、逆位相フィルタ係数を算出する。具体的には、フィルタ部１０３は、折り返しノイズの除去および窓掛けが行われた基準画素データの各画素値の位置を、配列方向において反転させる形で、信号列を逆の順番に並べ換える。
【０１１８】
＜フィルタリング処理＞
ステップＳ１９において、フィルタ部１０３は、折り返しノイズの除去および窓掛けが行われた参照画素データを、ステップＳ１６で算出された逆位相フィルタ係数を用いてフィルタリングする。
【０１１９】
＜ピーク位置の検出処理＞
ステップＳ２０において、ピーク位置検出部１０４は、フィルタリング結果によって検出されたピーク位置に基づいて、基準画像と参照画像とのサブピクセルレベルのずれ量（視差）を算出することができる。そして、ステレオ画像処理装置１００は、図５の処理へ戻る。
【０１２０】
ここで、ステップＳ１０〜Ｓ２０の処理について、説明する。
【０１２１】
まず、画像範囲の再構成からフィルタリングまでの処理の概要について説明する。
【０１２２】
図１０は、画像範囲の再構成からフィルタリングまでの処理の概要を示す模式図である。
【０１２３】
図１０Ａに示すように、画像再構成部２０２は、基準画像３５１から切り出されたサブピクセル推定用単位基準画像３５２を、Ｎ個の画素値から成る基準画素データ３５３に再構成する。また、図１０Ｂに示すように、画像再構成部２０２は、参照画像３５４から切り出されたサブピクセル推定用単位参照画像３５５を、Ｎ個の画素値から成る参照画素データ３５６に再構成する。アンチエイリアシング部２０３は、これら基準画素データ３５３および参照画素データ３５６のそれぞれに対して、アンチエイリアシング処理を行う。
【０１２４】
そして、窓掛け部２０４は、基準点（ｘａ，ｙａ）および対応点（ｘａ＋ｎ,ｙａ）を中心とするＮピクセルのサイズのハニング窓を、第２の窓関数ｗ（ｍ）３５７として用いる。なお、第２の窓関数ｗ（ｍ）のサイズは、Ｎに限定されない。
【０１２５】
フィルタ生成部２０５は、必ずしも逆位相フィルタ係数を別途算出する必要はなく、逆位相フィルタ係数を適用した場合のフィルタリング結果が得られるような演算を行えばよい。すなわち、フィルタ生成部２０５は、例えば、以下に示す式（３）を用いて、フィルタリング処理を行う。ここで、ｆ'’（ｍ）は、基準画像の画素値を表し、ｇ’'（ｍ）は、参照画像の画素値を表す。
【数３】
0005942203.tif 000004
【０１２６】
以上で、画像範囲の再構成からフィルタリングまでの処理の概要についての説明を終える。
【０１２７】
次に、フィルタリングの概念について説明する。
【０１２８】
図１１は、逆位相フィルタ係数によるフィルタリングの概念を説明するための模式図である。
【０１２９】
本実施の形態において、窓関数ｗ（ｍ）の長さ（Ｎ）は、５画素であるものとする。そして、折り返しノイズの除去および窓掛けが行われた基準画素データは、図１１Ａに示すように、「１，２，３，４，５」であるものとする。また、折り返しノイズの除去および窓掛けが行われた参照画素データｘ（ｍ）も、「１，２，３，４，５」であるものとする。また、フィルタリングに用いる画素値は、輝度値であるものとする。
【０１３０】
基準画素データが「１，２，３，４，５」の場合、フィルタ部１０３は、逆位相フィルタ係数ｈ（ｋ）として、「５，４，３，２，１」を算出する。
【０１３１】
そして、フィルタ部１０３は、図１１Ｂに示すように、逆位相フィルタ係数ｈ（ｋ）を用いて、参照画素データに対してフィルタリング処理を施す。
【０１３２】
このフィルタリング処理は、具体的には次のように行われる。参照画素データにおける、任意の構成信号の座標をｋとした場合、フィルタ部１０３は、構成信号の座標が「ｋ−２、ｋ−１、ｋ、ｋ＋１、ｋ＋２」となる信号列に対して、逆位相フィルタ係数ｈ（ｋ）を乗算することによりフィルタリング処理を施し、各乗算結果の総和を、フィルタリング結果ｚ（ｍ）として算出する。ここで、ｍは、０〜４の整数値を取る。
【０１３３】
ここで、参照画素データの両端の外側に存在する、画素値が０である仮想的な座標点を考慮すると、図１１Ａに示すように、参照画素データｘ（ｍ）は、「０，０，１，２，３，４，５，０，０」となる。図１１Ａにおけるｍ（ｍ：０〜４）を参照画素データの座標点とした場合、フィルタリング処理は、次のように行われる。
【０１３４】
フィルタ部１０３は、ｍ＝０の場合、ｍ＝０を中心とする画素値信号列「０、０、１、２、３」を、逆位相フィルタ「５、４、３、２、１」によってフィルタリング処理する。この結果、ｚ（０）は、２６（＝０×１＋０×２＋１×３＋２×４＋３×５）となる。
【０１３５】
また、フィルタ部１０３は、ｍ＝１の場合、ｍ＝１を中心とする画素値信号列「０、１、２、３、４」を、逆位相フィルタ「５、４、３、２、１」によってフィルタリング処理する。この結果、ｚ（１）は、４０（＝０×１＋１×２＋２×３＋３×４＋４×５）となる。
【０１３６】
同様にして、ｚ（２）は、５５となり、ｚ（３）は、４０となり、ｚ（４）は、２６となる。
【０１３７】
したがって、フィルタ部１０３は、フィルタリング結果ｚ（ｍ）として、「２６、４０、５５、４０、２６」を得る。
【０１３８】
このようなフィルタリング処理は、上述の式（３）によって表される。式（３）において、基準画素データが反転されたｆ’（−ｋ）は、逆位相フィルタのフィルタ係数ｈ（ｋ）として用いられている。また、ｇ’（ｍ）は、参照画素データの画素値である。
【０１３９】
逆位相フィルタを用いたフィルタリング処理によるフィルタリング結果ｚ（ｍ）は、図１１Ｃに示すように、対称（図１１では、ｍ＝２を中心として左右対称）になると共に、中央付近にピークが存在するという特徴を有する。
【０１４０】
また、逆位相フィルタは、いわゆるＦＩＲフィルタの一種に相当するものであり、線形推移不変システムであるという特徴を有する。ここで、線形推移不変システムとは、入力信号にずれがある場合には、出力信号にも入力信号と同じだけのずれが生じるシステムである。
【０１４１】
上述した具体例では、基準画素データと参照画素データとの間にずれがない場合を例にとって説明した。ところが、参照画素データが基準画素データに対してサンプリング間隔より小さなずれが存在する場合、フィルタリング結果であるｚ（ｍ）にも同じだけのずれが生じることになる。
【０１４２】
なお、実空間において同一サイズの対象物の視差を求める場合、対象物がステレオカメラから遠くに存在する場合は近くに存在する場合よりも視差は小さく、ピクセルレベルのずれ量ｎも小さくなる。それと同時に、ステレオ画像上の対象物の基線長方向の画像領域サイズも小さくなる。
【０１４３】
したがって、ステレオ画像処理装置１００は、逆位相フィルタのタップ数を、画像マッチング部１０２で検出されたピクセルレベルのずれ量ｎの大きさに応じて設定することが望ましい。
【０１４４】
例えば、ピクセルレベルのずれ量ｎが小さい場合には、それに応じて逆位相フィルタのタップ長も短く設定される。すなわち、実空間において同一サイズの物体の視差を求める場合、物体がステレオカメラから遠くに存在する場合は近くに存在する場合よりも視差は小さく、ピクセルレベルのずれ量ｎも小さくなる。それと同時に、ステレオ画像中に撮影される画像領域サイズも小さくなるため、ずれ量ｎの大きさに応じてサブピクセル推定用単位基準画像およびサブピクセル推定用単位参照画像のサイズを変更することにより、逆位相フィルタのタップ長も適応的に変更することができる。これにより測距対象の物体のサイズに合わせた視差を算出することができる。
【０１４５】
また、フィルタリング結果は、線形推移不変システムの出力である。したがって、フィルタリング結果は、レンズの歪補正の誤差、ＣＣＤなどのイメージセンサに起因するゲインノイズ等の誤差、窓掛けによる画像切り出しの演算精度の誤差を除けば、理論的には真のずれ量を表現していることになる。よって、ピクセル単位で離散化されている逆位相フィルタの出力をサンプリング定理に従ってピクセル間の数値を補間することにより、サブピクセルレベルでの真のピーク位置を求めることができる。
【０１４６】
以上で、フィルタリングの概念についての説明を終える。
【０１４７】
次に、フィルタリング結果におけるピーク位置検出の処理の概要を説明する。
【０１４８】
図１２は、ｓｉｎｃ関数を用いたピーク位置検出の処理の一例の概要を示す模式図である。
【０１４９】
ｓｉｎｃ関数は、ｓｉｎ（πｘ）／πｘで定義される関数であり、離散化されたサンプリングデータを元の連続データに戻す場合に用いられる関数である。サンプリングされた離散データとｓｉｎｃ関数との畳み込み演算を行うことにより、元の連続データを完全に復元可能であることは、サンプリング定理によって証明されている。
【０１５０】
したがって、ピーク位置検出部１０４は、離散化されているフィルタリング結果をｓｉｎｃ関数によって畳み込み演算する。これにより、ピーク位置検出部１０４は、ピクセル単位の間隔の信号データを補間することができ、サブピクセルレベルでも理論的に信号データが補間されたフィルタリング結果ｚ（ｍ）の真のピーク位置を導出することができる。
【０１５１】
図１２に示すように、ピーク位置検出部１０４は、例えば、２分探索によって、フィルタリング結果のピーク位置を検出する。
【０１５２】
例えば、ピーク位置検出部１０４は、フィルタリング結果ｚ（ｍ）が最大となる位置ｍ＝０（位置Ａ）を２分探索基準点とする。ピーク位置検出部１０４は、その２分探索基準点（位置Ａ）から左右に１ピクセルずつずれた位置のフィルタリング結果であるｚ（＋１）とｚ（−１）とを比較する。そして、ピーク位置検出部１０４は、フィルタリング結果が大きい方の位置（ここでは、ｍ＝１である位置Ｂを２分探索使用点とする。
【０１５３】
そして、ピーク位置検出部１０４は、２分探索基準点（位置Ａ）と２分探索使用点（位置Ｂ）との中点である位置Ｃの値を、サンプリング定理に基づき、例えば以下の式（４）を用いて算出する。なお、Ｔは、サンプリング間隔（画素ピッチ）である。
【数４】
0005942203.tif 000005
【０１５４】
そして、ピーク位置検出部１０４は、位置Ｃを新たな２分探索基準点として、上記と同様の処理を繰り返す。
【０１５５】
この処理の繰り返し回数は、必要な精度に応じた数とすることができる。すなわち、ピーク位置検出部１０４は、必要なサブピクセル精度が１／２ピクセルであれば、上記した処理を１回行えばよい。また、ピーク位置検出部１０４は、必要なサブピクセル精度が１／４ピクセル精度であれば２回、１／８ピクセルであれば３回と、必要なサブピクセル精度に応じて繰り返し回数を決定すればよい。
【０１５６】
そして、ピーク位置検出部１０４は、最後に得られた中点を、検出したピーク位置δとして扱う。
【０１５７】
なお、以上の説明では、ｓｉｎｃ関数および２分探索法を用いてピーク位置を検出する方法について説明を行った。しかしながら、本発明はこれに限定されるものではなく、例えば、ピーク位置検出部１０４は、ｓｉｎｃ関数と勾配法との組み合わせによって、ピーク位置を探索してもよい。すなわち、ピーク位置検出部１０４は、離散化されているフィルタリング結果をｓｉｎｃ関数によって畳み込み演算してピクセル単位の間隔の信号データを補間した後であれば、各種の最大値検出方法を用いることができる。
【０１５８】
または、ピーク位置検出部１０４は、二次曲線近似を用いてフィルタリング結果のピーク位置を検出してもよい。これにより、ピーク位置検出部１０４は、ピーク位置検出のための演算量を削減することができる。この場合、ピーク位置検出部１０４は、離散化されているフィルタリング結果を二次曲線でフィッティングし、その二次曲線の極大値の位置を、ピーク位置として検出する。これにより、ピーク位置検出部１０４は、離散化の間隔以下の精度で、フィルタリング結果のピーク位置を求めることができる。
【０１５９】
図１３は、二次曲線近似を用いたフィルタリング結果のピーク位置検出の処理の一例の概要を示す模式図である。
【０１６０】
図１３に示すように、ピーク位置検出部１０４は、まず、ピクセル単位の間隔のフィルタリング結果ｚ（ｍ）が最大となる、位置ｍ＝０における値ｚ（０）を求める。また、ピーク位置検出部１０４は、その最大位置ｍ＝０から左右に１ピクセルずつずれた、位置ｍ＝＋１、−１のフィルタリング結果である、ｚ（＋１）、ｚ（−１）を取得する。そして、ピーク位置検出部１０４は、これら３点を通る二次曲線を求め、さらにその二次曲線が極大値をとる位置を、フィルタリング結果のピーク位置δとして検出する。このピーク位置δは、例えば、次の式（５）を用いて算出することができる。
【数５】
0005942203.tif 000006
【０１６１】
なお、基準画素データおよび参照画素データは、画像再構成で使用された画素行数分、画素行方向の画素値がアップサンプリングされている。このため、算出されたフィルタリング結果のピーク位置δは、画像再構成で使用された画素行数倍されて算出される。つまり、サブピクセルレベルのずれ量δ’は、フィルタリング結果のピーク位置δを画像再構成で使用された画素行数で除算することで算出される。
【０１６２】
基準画像における基準点の視差は、ピクセルレベルのずれ量ｎと、サブピクセルレベルのずれ量δ’を加算することによって求められる。
【０１６３】
以上で、フィルタリング結果におけるピーク位置検出の処理の概要についての説明を終える。また、ステップＳ１０〜Ｓ２０の処理についての具体的な説明を終える。
【０１６４】
なお、ステップＳ１０〜Ｓ１７の処理の順序については、図７のフローチャートで示した順序に限らない。基準画像に関する処理であるＳ１０、Ｓ１２、Ｓ１４、Ｓ１６と参照画像に関する処理であるＳ１１、Ｓ１３、Ｓ１５、Ｓ１７がそれぞれこれらの順序で実行され、Ｓ１０〜Ｓ１７の処理がＳ１８の前までに完了していればよい。
【０１６５】
＜測距対象領域の終了判定処理＞
ステップＳ９において、画像マッチング部１０２は、測距対象領域の終了判定処理を行う。すなわち、画像マッチング部１０２は、基準画像の全体において、未だステップＳ１〜ステップＳ８までの処理が行われていない未処理領域が存在するか否かを判定する。画像マッチング部１０２は、未処理領域が存在する場合には（Ｓ９：Ｎｏ）、ステップＳ１へ戻り、基準点の位置をずらしてステップＳ１〜ステップＳ８の処理を行う。また、画像マッチング部１０２は、未処理領域が存在しない場合には（Ｓ９：Ｙｅｓ）、一連の動作を終了する。
【０１６６】
以上のような動作により、ステレオ画像処理装置１００は、基準画像および参照画像の複数行×複数列の画像範囲を、基線長方向の成分をアップサンプリングする形で、一次元の基準画素データおよび参照画素データに再構成することができる。そして、ステレオ画像処理装置１００は、基準画素データに含まれる基準点との相関関係が最も高くなる参照画素データのピーク位置を、アンチエイリアシングおよび窓関数の適用により、高い精度で検出することができる。これにより、ステレオ画像処理装置１００は、高い精度で視差を算出することができる。
【０１６７】
以上で、ステレオ画像処理装置１００の動作についての説明を終える。
【０１６８】
以上説明したように、本実施の形態に係るステレオ画像処理装置１００は、複数行×複数列の画像範囲を、画素行方向および画素列方向の少なくとも一方の成分をアップサンプリングする形で、一次元画素データに再構成することができる。そして、ステレオ画像処理装置１００は、基準画像から得られた基準画素データと、参照画像から得られた参照画素データとの相関関係に基づいて、視差を算出することができる。これにより、ステレオ画像処理装置１００は、従来技術に比べて視差算出に用いる画素データ列を長く取ることができるので、基線長方向の画像領域サイズが小さい対象物についても、高精度に視差を算出することができる。
【０１６９】
また、ステレオ画像処理装置１００は、少なくとも、ステレオ画像の基線長方向（水平方向）に平行な方向の成分をアップサンプリングする形で、基準画素データおよび参照画素データを生成する。これにより、ステレオ画像処理装置１００は、路上の歩行者など、垂直方向に伸びた形状の対象物や、基線長方向の画像領域サイズが小さい対象物に対して、より高精度に視差を算出することができる。
【０１７０】
また、ステレオ画像処理装置１００は、画像マッチングにより、参照画像における、基準画像の基準点に対する対応点を取得し、その周辺の部分領域を、一次元画素データの生成の対象とする。これにより、ステレオ画像処理装置１００は、効率よく、かつ、より高い精度で、視差を算出することができる。
【０１７１】
また、ステレオ画像処理装置１００は、逆位相フィルタ係数によるフィルタリング処理を行い、フィルタリング結果がピークとなる位置を、基準画素データと参照画素データとのずれ量（基準点と対応点との視差）として算出する。これにより、ステレオ画像処理装置１００は、より高い精度で、視差を算出することができる。
【０１７２】
また、ステレオ画像処理装置１００は、アンチエイリアシング処理および窓掛けを行ってから、基準画素データと参照画素データとの相関関係を算出する。これにより、ステレオ画像処理装置１００は、入力されたステレオ画像の周波数特性を変化させずに情報量を増加させることが可能となるため、視差算出精度を更に向上させることができる。すなわち、ステレオ画像処理装置１００は、上述の通り、画像における上下方向の情報を利用し、かつ視差算出に用いる画素データ列を長く取れるため、一次元画素データ列が持つ情報に対する第２の窓関数の影響を少なくすることが出来る。そして、ステレオ画像処理装置１００は、上述の通り、折り返しノイズをアンチエイリアシング処理により除去する。したがって、ステレオ画像処理装置１００は、元の各画素行の周波数特性（振幅特性と位相特性）をそのまま維持した状態で、複数の画素行の画素データを組み合わせることができる。
【０１７３】
なお、上述の再構成ルールは、図８で説明した例に限定されない。例えば、ステレオ画像がカラー画像で、画素のデータとしてはベイヤ配列の画像データである場合にも適用可能である。ベイヤ配列の画像データへ適用する再構成ルールは、Ｒ画素値（赤の画素値）、Ｇ画素値（緑の画素値）、およびＢ画素値（青の画素値）の少なくとも１つを画像範囲から抽出することにより、一次元画素データを生成する内容とすることができる。ベイヤ配列画像では、Ｒ画素値、Ｇ画素値、およびＢ画素値は、それぞれ等間隔に配置されており、この配置を利用することにより、上述のアップサンプリング処理を簡単に行うことができる。
【０１７４】
図１４は、ベイヤ配列画像の構成を示す模式図である。
【０１７５】
図１４に示すように、ベイヤ配列画像３６１は、Ｒ画素３６２、Ｇ画素３６３、Ｇ画素３６４、Ｂ画素３６５を、１つの構成単位（以下、「カラー画素ユニット」という）３６６として構成されている。ベイヤ配列画像３６１は、Ｒデータ３６７、Ｇデータ３６８、およびＢデータ３６９から成る。Ｒデータ３６７は、Ｒ画素３６２の画素値のみの画像データである。Ｇデータ３６８は、Ｇ画素３６３もしくは３６４の画素値のみの画像データである。Ｂデータ３６９は、Ｂ画素３６５の画素値のみの画像データである。
【０１７６】
例えば、Ｒ画素３６２は、画素行方向において、１画素おきに配置されている。他のＧ画素３６３、３６４、Ｂ画素３６５についても同様である。
【０１７７】
そこで、画像再構成部２０２は、基準画像と参照画像のそれぞれにおいて、例えば、Ｇデータ３６８から画像範囲を切り出し、上述の基準画素データおよび参照画素データを生成する。
【０１７８】
図１５は、ベイヤ配列画像３６１に対するアップサンプリングの例を示す模式図である。
【０１７９】
図１５Ａに示すように、１ユニット行のカラー画素ユニット３６６が、一次元画素データを生成するための画像範囲である場合を想定する。この場合、画像再構成部２０２は、画素行毎にＧ画素値を抽出し、抽出した複数のＧ画素値を線形結合することにより、Ｇ画素値のアップサンプリングを行うことができる。
【０１８０】
また、図１５Ｂに示すように、複数ユニット行のカラー画素ユニット３６６が、一次元画素データを生成するための画像範囲である場合を想定する。この場合、画像再構成部２０２は、画素行毎にＧ画素値を抽出し、抽出した複数のＧ画素値を、ゼロ補完を行った上で線形結合することにより、Ｇ画素値のアップサンプリングを行うことができる。この例では、画像再構成部２０２は、１画素行目および４画素行目のG画素値に対して、カラー画素ユニット３６６の各境目の直前にゼロを２個補完し、２画素行目および３画素行目のＧ画素値に対して、カラー画素ユニット３６６の各境目の直後にゼロを２個補完する。
【０１８１】
なお、図１５Ｃに示すように、画像再構成部２０２は、画素行毎に特定の色の画素値を抽出する。そして、画像再構成部２０２は、抽出したＧ画素値、Ｂ画素値、およびＲ画素値を、ゼロ補完を行った上で線形結合することで、全ての色の画素値のアップサンプリングを行うことができる。ゼロ補完する位置によって、図１５Ｃに示すように、異なる一次元画素データが得られる。
【０１８２】
このように、ステレオ画像処理装置１００は、ベイヤ配列画像の性質を利用することにより、アップサンプリング処理を、簡単に行うことができる。
【０１８３】
また、特にＧ画素３６３、３６４は、カラー画素ユニット３６６を構成する４画素のうちの２画素を占めているため、全体の輝度への影響が大きい。したがって、ステレオ画像処理装置１００は、Ｇデータ３６８を用いることにより、Ｒデータ３６７およびＢデータ３６９を用いる場合に比べて、より高い精度での視差算出を行うことができる。
【０１８４】
また、上述のベイヤ配列のように、複数の画素値から１画素の画素値を推定するような場合には、実効の画像解像度が劣化するが、ステレオ画像処理装置１００は、このような場合にも、高精度な視差算出を行うことが可能となる。
【０１８５】
また、一般的には、波長の異なるＲデータ３６７、Ｇデータ３６８、およびＢデータ３６９をそのまま用いるとピクセルロッキングが発生するため、ＲＡＷデータとして利用することはできないが、ステレオ画像処理装置１００は、Ｒデータ３６７、Ｇデータ３６８、およびＢデータ３６９をそのまま利用することができる。
【０１８６】
（実施の形態３）
一般的なステレオカメラから得られる画像は、カメラのレンズの歪み等の影響を受ける。画像の各所の歪み量は、画像中心から離れるほど大きい。また、左右のレンズで設置環境（角度、明るさなど）が異なるため、撮影した画像をそのまま用いた場合、精度よく視差を算出できない場合が多い。そのため、撮影された画像に前処理を施し、画像からレンズの歪み等の影響を取り除く必要がある。
【０１８７】
本発明の実施の形態３は、画像マッチング部への入力前に、画像に対して平行化補正処理を行い、平行化補正処理後の画像上でのずれ量を高精度にかつ、高速に算出するようにした例である。
【０１８８】
図１６は、本実施の形態に係るステレオ画像処理装置の構成の一例を示すブロック図であり、実施の形態２の図２に対応するものである。図２と同一部分には同一符号を付し、これについての説明を省略する。
【０１８９】
図１６において、ステレオ画像処理装置１００ａは、図２の構成に加えて、平行化補正処理部１０６ａおよび平行化補正情報格納部１０５ａを有する。
【０１９０】
＜平行化補正情報格納部１０５ａ＞
平行化補正情報格納部１０５ａは、平行化補正情報を予め格納する。平行化補正情報は、ステレオ画像取得部１０１が取得した基準画像および参照画像のそれぞれに対して、歪み補正処理および平行化補正処理を行う際の変換ルールである。基準画像に対する変換ルールを「基準画像用平行化補正情報」、参照画像に対する変換ルールを「参照画像用平行化補正情報」という。
【０１９１】
ここで、歪み補正処理は、撮像に用いられたレンズの歪みの影響を低減する処理であり、実空間で直線である物体が画像においても直線に映るように補正する処理である。平行化補正処理は、基準画像および参照画像との間で光軸を平行にする処理であり、座標変換処理および画像シフト処理を含む。座標変換処理は、任意の対象物が、カメラ光軸方向におけるカメラからの距離が同一である位置に存在する限り、画像中のどの位置に撮像されても同一の画像領域サイズとなるように、座標を変換する処理である。画像シフト処理は、カメラの光軸を擬似的に平行にし、無限遠点にある対象物が、基準画像と参照画像の同一の位置に映るようにする処理である。なお、以下、歪み補正および平行化補正を総称して、「歪み平行化補正」、歪み補正処理および平行化補正処理を総称して、「歪み平行化補正処理」という。
【０１９２】
具体的には、平行化補正情報は、平行化補正画像の各画素が参照する（対応する）、平行化補正前のステレオ画像における位置を、実数値で示している。平行化補正画像は、歪み平行化補正処理を行うことによって得られる画像である。
【０１９３】
＜平行化補正処理部１０６ａ＞
平行化補正処理部１０６ａは、平行化補正情報格納部１０５ａに格納されている平行化補正情報に基づいて、ステレオ画像（基準画像および参照画像）に対して、歪み平行化補正処理を行う。そして平行化補正処理部１０６ａは、基準画像および参照画像それぞれの平行化補正画像を生成する。
【０１９４】
なお、平行化補正処理部１０６ａは、座標変換処理後に画像シフト処理を行うことによって歪み平行化補正を行ってもよいし、画像シフト処理後に座標変換処理を行ってもよい。すなわち、レンズの歪み補正と、２つのカメラの位置関係の補正との両方を行うことができれば、その方法は特に限定されるものではない。
【０１９５】
画像マッチング部１０２は、平行化補正処理部１０６ａにより、基準画像および参照画像それぞれの平行化補正画像を、基準画像および参照画像として扱い、対応点を取得する。詳細な取得方法は、前述の実施の形態と同様である。画像マッチング部１０２は、基準点の位置と対応点の位置とを、フィルタ部１０３ａへ出力する。
【０１９６】
なお、基準画像および参照画像がカラー画像の場合、ステレオ画像処理装置１００ａは、画像マッチング部１０２への入力前処理として、カラー画像をグレースケール画像に変換し、画像マッチング部１０２はグレースケール画像を用いて、基準画像の基準点に対する参照画像の対応点を特定するとしてもよい。
【０１９７】
このように、本実施の形態のステレオ画像処理装置１００ａは、基準画像および参照画像に対して歪み平行化補正処理を行ってから画像マッチングを行うので、対応点を精度良く取得することができる。
【０１９８】
＜フィルタ部１０３ａ＞
フィルタ部１０３ａは、実施の形態２と同様のフィルタリング処理を行う。但し、画像マッチング部１０２で取得される基準点の位置と対応点の位置は、平行化補正画像上での位置であるが、フィルタ部１０３ａは、ステレオ画像取得部１０１が取得したステレオ画像上でのサブピクセルレベルの視差を算出する。
【０１９９】
＜フィルタ部１０３ａの構成＞
図１７は、ステレオ画像処理装置１００に、平行化補正処理部１０６ａを追加した場合の、フィルタ部１０３ａの構成の一例を示すブロック図であり、実施の形態２の図３に対応するものである。図３と同一部分には同一符号を付し、これについての説明を省略する。
【０２００】
フィルタ部１０３ａは、図３に示す構成に加えて、座標変換部２０７ａを有する。
【０２０１】
座標変換部２０７ａは、画像マッチング部１０２から取得した基準点の位置を、平行化補正情報格納部１０５ａが格納する平行化補正情報に基づいて、ステレオ画像取得部１０１で取得された基準画像（以下、本実施の形態において「原基準画像」という）上の位置に変換する。
【０２０２】
同様に、座標変換部２０７ａは、画像マッチング部１０２から取得した対応点の位置を、平行化補正情報格納部１０５ａの平行化補正情報に基づいて、ステレオ画像取得部１０１で取得された参照画像（以下、本実施の形態において「原参照画像」という）上の位置に変換する。（以下、本実施の形態において、原基準画像と原参照画像を総称して「原画像」という）。
【０２０３】
そして、座標変換部２０７ａは、得られた原基準画像上の基準点の位置と、原参照画像上の対応点の位置とを、画像切り出し部２０１へ出力する。
【０２０４】
具体的には、座標変換部２０７ａは、平行化補正画像上の基準点の位置と、平行化補正情報とに基づいて、原基準画像上の基準点の位置座標を算出する。平行化補正画像上の基準点の位置座標は整数値であり、原基準画像上の基準点の位置座標は実数値となる。そして、座標変換部２０７ａは、例えば、原基準画像上の基準点の位置座標の小数点以下第一位を四捨五入することにより、原基準画像上での基準点の位置座標を整数値に変換する。
【０２０５】
同様に、座標変換部２０７ａは、平行化補正画像上の対応点の位置についても、原参照画像上の対応点の位置座標を算出する。平行化補正画像上の対応点の位置座標は整数値であり、原基準画像上の対応点の位置座標は実数値となる。そして、基準点に対する処理と同様に、座標変換部２０７ａは、例えば、原参照画像上の対応点の位置座標の小数点以下第一位を四捨五入することにより、原参照画像上の対応点の位置座標を整数値に変換する。
【０２０６】
座標変換部２０７ａは、画素行方向において、基準点の位置座標を整数値に変換する場合に切り上げもしくは切り捨てられた値と、対応点の位置座標を整数値に変換する場合に切り上げもしくは切り捨てられた値との差を、ずれ量Ｚとして算出する。なお、座標変換部２０７ａは、切り捨てられた値をプラス、切り上げられた値をマイナスとして扱う。
【０２０７】
以下に、具体的な値を用いて説明する。原基準画像上の基準点の位置座標が（２.３，１.５）、原参照画像上の対応点の位置座標が（３.５，１.５）であったとする。この場合、座標変換部２０７ａが位置座標の小数点以下第一位を四捨五入して、整数値に変換することにより、原基準画像上の基準点の位置座標は、（２，２）となり、原参照画像上の対応点の位置座標は、（４，２）となる。
【０２０８】
このとき、基準点の位置座標は画素行方向に０.３切り捨てられ、対応点の位置座標は画素行方向に０.５切り上げられている。よって、この場合のずれ量Ｚは、０.３−（−０.５）＝０.８となる。このずれ量Ｚは、平行化補正画像上のずれ量を算出する際に使用される値である。座標変換部２０７ａは、整数値に変換された基準点の位置座標、整数値に変換された対応点の位置座標、ずれ量Ｚをピーク位置検出部１０４へ出力する。
【０２０９】
画像切り出し部２０１以降のフィルタ部１０３の処理は、前述の実施の形態と同様である。
【０２１０】
＜ずれ量算出方法＞
本実施の形態のピーク位置検出部１０４は、平行化補正画像を用いて、平行化補正画像上でのずれ量の算出を行う。ピーク位置検出部１０４は、まず、ピクセルレベルのずれ量ｎに、サブピクセルレベルのずれ量δ’を加算する。このずれ量δ’は、ピーク値算出で求めたサブピクセルレベルのずれ量δを、画像再構成の際に使用した単位基準画像の画素行数で除算して得られる値である。
【０２１１】
そして、ピーク位置検出部１０４は、ピクセルレベルのずれ量ｎに、サブピクセルレベルのずれ量δ’を加算して得られた値に、更に、座標変換部２０７ａで実数値の位置座標を整数値の位置座標に変換した際に発生したずれ量Ｚを加算する。これにより、ピーク位置検出部１０４は、高精度に視差を算出することが可能となる。
【０２１２】
以上説明したように、本実施の形態に係るステレオ画像処理装置１００ａは、平行化補正画像を用いて画像マッチングを行うことで対応点を特定し、原画像を用いてサブピクセルレベルの視差を算出する。これにより、ステレオ画像処理装置１００ａは、効率良く、かつ、より高精度に、視差を算出することができる。
【０２１３】
なお、本実施の形態においては、画像マッチング部１０２への入力前処理として、歪み平行化補正処理を例に説明したが、本発明はこれに限定されるものではなく、画像縮小処理を行ってもよい。この場合、ステレオ画像処理装置１００ａは、画像マッチング部１０２において、縮小画像を用いることにより、ピクセルレベルのずれ量ｎを高速に算出することができる。そして、ステレオ画像処理装置１００ａは、フィルタ部１０３ａにおいて、原画像を用いることにより、サブピクセルレベルのずれ量δ’を高精度に算出することができる。
【０２１４】
また、ステレオ画像処理装置１００ａは、歪み平行化補正処理を行った後に、画像縮小処理を行ってもよい。この場合、ステレオ画像処理装置１００ａは、画像マッチング部１０２において、縮小された平行化補正画像を用いることにより、ピクセルレベルのずれ量ｎを高速に算出することができる。そして、ステレオ画像処理装置１００ａは、フィルタ部１０３ａにおいて、原基準画像と原参照画像を用いることにより、サブピクセルレベルのずれ量δ’を高精度に算出することができる。
【０２１５】
なお、上記ではフィルタ部１０３ａの座標変換部２０７ａにおいて、平行化補正画像上の基準点の位置および対応点の位置を、原基準画像または原参照画像上の位置に変換するものとして説明した。しかし、これに限らず、原基準画像を縦方向にのみ補正した「縦画素補正基準画像」、および、原参照画像を縦方向にのみ補正した「縦画素補正参照画像」を用いてサブピクセルレベルの視差を算出してもよい。その場合、ステレオ画像処理装置１００ａは、演算量を大幅に削減することができる。
【０２１６】
以下、縦方向にのみ歪み平行化補正することを「縦画素補正」、縦画素補正によって求められた画素値を「縦画素補正値」という。また、縦画素補正基準画像と縦画素補正参照画像を総称して「縦画素補正画像」という。すなわち、縦画素補正画像の画素値は、原画像を縦画素補正することによって得られた縦画素補正値である。
【０２１７】
縦画素補正画像を用いたサブピクセルレベルの視差算出についての具体的な方法を、以下に説明する。
【０２１８】
図１８は、ベイヤ配列画像のステレオ画像に対して、縦画素補正画像を用いて対応点を特定し、サブピクセルレベルの視差を算出するステレオ画像処理装置の構成の一例を示すブロック図である。
【０２１９】
図１８において、ステレオ画像処理装置１００ｂは、図１６の構成に加えて、縦画素補正画像生成部１０７ｂを新たに有する。なお、図１８は、実施の形態３の図１６に対応するものであり、図１６と同一部分には同一符号を付し、これについての説明を省略する。
【０２２０】
＜縦画素補正画像生成部１０７ｂ＞
縦画素補正画像生成部１０７ｂは、平行化補正情報格納部１０５ａに格納された平行化補正情報に基づいて、ステレオ画像取得部１０１で取得されたステレオ画像、すなわち原画像に対して、縦方向についてのみ、歪み平行化補正処理を行う。そして、縦画素補正画像生成部１０７ｂは、原画像に対して縦画素補正した、縦画素補正画像を生成する。
【０２２１】
＜縦画素補正画像生成部１０７ｂの構成＞
図１９は、縦画素補正画像生成部１０７ｂの構成の一例を示すブロック図である。
【０２２２】
図１９において、縦画素補正画像生成部１０７ｂは、ベイヤ配列定義部１０８ｂ、平行化補正情報取得部１０９ｂ、縦画素補正処理部１１０ｂを有する。
【０２２３】
＜ベイヤ配列定義部１０８ｂ＞
ベイヤ配列定義部１０８ｂは、縦画素補正画像におけるベイヤ配列の並び方を定義する。具体的には、ベイヤ配列定義部１０８ｂは、画像の左上がＲ（赤）で始まる、または画像の左上がＢ（青）で始まるなどを定義する。また、定義方法は、プログラムに埋め込むとしてもよいし、設定ファイル等を用いて定義するとしてもよい。なお、縦画素補正基準画像と縦画素補正参照画像におけるベイヤ配列の並び方は、同一である。
【０２２４】
＜平行化補正情報取得部１０９ｂ＞
平行化補正情報取得部１０９ｂは、平行化補正情報格納部１０５ａに格納されている、平行化補正情報を取得する。
【０２２５】
＜縦画素補正処理部１１０ｂ＞
縦画素補正処理部１１０ｂは、平行化補正情報取得部１０９ｂが取得した平行化補正情報をもとに、原画像を縦画素補正し、縦画素補正画像を生成する。平行化補正情報は、本来、縦横両方の方向について歪み平行化補正をするために用いる変換ルールであるが、縦画素補正処理部１１０ｂは、平行化補正情報を用いて、縦方向にのみ、歪み平行化補正（すなわち、縦画素補正）を行う。
【０２２６】
図２０を用いて、原基準画像を縦画素補正して、縦画素補正基準画像を生成する処理の一例を説明する。なお、図２０Ａ、Ｃ、Ｄにおいては、１つの区画が１つの画素を表している。
【０２２７】
図２０Ａに、縦画素補正画像生成部１０７ｂが生成する縦画素補正基準画像を示す。ここでは、縦画素補正基準画像が４つの画素行×３つの画素列＝画素数１２のサイズであるとして説明する。実際は、ＶＧＡ画像の場合、４８０×６４０、１．３ＭＥＧＡ画像の場合は９６０×１２８０の画素数の画像を生成する。ここで、説明の便宜のため、左上から下方向へ行を移動しながら右方向に走査していったときの順序（１）〜（１２）を、各画素の番号とする。以下、各画素の番号で特定される画素を、「画素（”画素番号”）」と表記する。
【０２２８】
図２０Ｂに平行化補正情報取得部１０９ｂが取得した基準画像用平行化補正情報の一例を示す。なお、図２０Ｂに示したフォーマットは一例であり、これに限るものではない。図２０Ｂの基準画像用平行化補正情報は、縦横両方の方向についての歪み平行化補正処理後の画像上での位置座標と、原基準画像上での位置座標との対応を示すものである。
【０２２９】
例えば、縦画素補正画像上での位置座標が（１，１）である画素（５）の画素値（すなわち、縦画素補正値）を算出するために、位置座標（１．６，１．２）が用いられることを示している。以下、縦横両方の方向についての歪み平行化補正処理後の画像上での画素値を算出するために用いられる位置座標を「元座標」という。
【０２３０】
図２０Ｃに、原基準画像のベイヤ配列の並びを、図２０Ｄに、ベイヤ配列定義部１０８ｂで定義された、縦画素補正基準画像のベイヤ配列の並びを示す。図２０Ｃにおいては、例えば、１画素行目における、左からＧ（緑）、Ｂ（青）、Ｇ（緑）の順に並んでいるベイヤ配列の並びが示されている。また、２画素行目から４画素行目についても同様に、Ｒ、Ｇ、Ｂによるベイヤ配列の並びが示されている。図２０Ｄについても同様に、Ｒ、Ｇ、Ｂによるベイヤ配列の並びが示されている。
【０２３１】
また、図２０Ｃに示すように、原基準画像は、X座標、Y座標がともに整数値である位置座標ごとに画素値のデータを保持する。例えば、位置座標が（０，０）（図２０Ｃでは、０を０．０と表記）である画素２００７は色がGの画素値、位置座標が（１，０）（図２０Ｃでは、０を０．０と表記し、１を１．０と表記する）である画素２００４は色がBの画素値を保持する。すなわち、原基準画像として保持された画素値の位置座標は、離散的である。
【０２３２】
しかし、基準画像用平行化補正情報によって示されている元座標は、（１．５，１．２）のような実数値である。したがって、元座標が指し示す画素は原基準画像上に存在しない。縦画素補正処理においては、元座標の小数点以下の値を用いて、原基準画素上の複数の画素を選択し、選択した画素の画素値を用いて縦画素補正値が算出される。
【０２３３】
図３３は、縦画素補正処理の流れを示すフローチャートである。縦画素補正処理によって、図２０Ａに示す縦画素補正基準画像を生成する方法を、図３３を用いて説明する。
【０２３４】
縦画素補正画像生成部１０７ｂは、縦画素補正基準画像において、縦画素補正値算出の対象である画素（以下、「縦画素補正対象画素」という）を選択する（Ｓ３３０１）。縦画素補正画像生成部１０７ｂは、最初の縦画素補正対象画素として、例えば、図２０の画素（１）２００６を選択する。そして、縦画素補正画像生成部１０７ｂは、例えば、左上から下方向へ行を移動しながら右方向に縦画素補正基準画像を走査し、縦画素補正対象画素として画素（１）〜（１２）の順に選択する。
【０２３５】
次に、縦画素補正画像生成部１０７ｂは、縦画素補正基準画像のベイヤ配列の並び（図２０Ｄ）を参照して、縦画素補正対象画素の色を判定する（Ｓ３３０２）。例えば、ステップＳ３３０１において、縦画素補正対象画素として、位置座標が（１，１）である画素（５）２００１が選択された場合、縦画素補正画像生成部１０７ｂは、縦画素補正基準画像のベイヤ配列の並び（図２０Ｄ）の位置座標（１，１）の色２００３を参照する。この例においては、縦画素補正画像生成部１０７ｂは、縦画素補正対象画素（画素（５））の色は、「Ｂ」であると判定する。
【０２３６】
次に、縦画素補正画像生成部１０７ｂは、平行化補正情報を参照して、縦画素補正対象画素の元座標を取得する（Ｓ３３０３）。例えば、縦画素補正対象画素として、画素（５）２００１が選択された場合、縦画素補正画像生成部１０７ｂは、平行化補正情報（図２０Ｂ）を参照して、画素（５）の元座標（１．６，１．２）を取得する。
【０２３７】
更に、縦画素補正画像生成部１０７ｂは、縦画素補正対象画素の原基準画像上での位置座標を取得する（Ｓ３３０３）。縦画素補正処理部１１０ｂは、原基準画像を縦方向にのみ歪み平行化補正するため、縦画素補正対象画素の原基準画像上での位置座標として、元座標のＸ座標は使用せず、Ｙ座標のみ使用する。すなわち、縦画素補正画像生成部１０７ｂは、縦画素補正対象画素の原基準画像上での位置座標として、元座標（１．６，１．２）のＸ座標を、縦画素補正対象画素のX座標で置き換えた（１，１．２）を縦画素補正対象画素の原基準画像上での位置座標とする。
【０２３８】
以下、縦画素補正値算出のために参照する原基準画像の画素の位置座標を「縦画素補正用元座標」という。縦画素補正用元座標は、元座標のX座標を、縦画素補正対象画素のX座標で置き換えた位置座標であり、画素（５）２００１の縦画素補正用元座標は（１，１．２）である。
【０２３９】
次に、縦画素補正画像生成部１０７ｂは、原基準画像のベイヤ配列の並び（図２０Ｃ）を参照して、ステップＳ３３０３で取得した縦画素補正用元座標の画素の色を判定する（Ｓ３３０４）。図２０Ｃに示すように、原基準画像において位置座標が（１，１．２）である画素２００２の色は「Ｇ」である。したがって、この例においては、縦画素補正画像生成部１０７ｂは、縦画素補正対象画素（画素（５））の縦画素補正用元座標の画素の色は、「Ｇ」であると判定する。
【０２４０】
次に、縦画素補正画像生成部１０７ｂは、Ｓ３３０２で判定した、縦画素補正対象画素と、ステップＳ３３０４で判定した、縦画素補正対象画素の縦画素補正用元座標の画素とが、同色か否かを判断する（Ｓ３３０５）。縦画素補正対象画素が画素（５）であった場合には、縦画素補正画像生成部１０７ｂがＳ３３０２で判定した色は「Ｂ」であり、Ｓ３３０４で判定した色は「Ｇ」である。
【０２４１】
したがって、この場合、縦画素補正画像生成部１０７ｂは、同色でないと判断してステップＳ３３０７に進み、同色でない場合の縦画素補正値算出を行う。ステップＳ３３０７の異色の場合の縦画素補正値算出の詳細については、後述する。
【０２４２】
ここまでは、縦画素補正対象画素として画素（５）を選択した場合を例にして、ステップＳ３３０５において、縦画素補正画像生成部１０７ｂが、同色でないと判断する場合について説明した。次に、ステップＳ３３０５において縦画素補正画像生成部１０７ｂが、同色であると判断する場合のステップＳ３３０１〜ステップＳ３３０５の処理を、図２１を用いて説明する。
【０２４３】
図２０と同様、図２１Ａは縦画素補正基準画像、図２１Ｂは基準画像用平行化補正情報、図２１Ｃは原基準画像のベイヤ配列の並び、図２０Ｄは縦画素補正基準画像のベイヤ配列の並びの一例である。なお、図２１Ａ、Ｃ、Ｄにおいては、図２０と同様、１つの区画が１つの画素を表している。
【０２４４】
まず、ステップＳ３３０１において、縦画素補正画像生成部１０７ｂは、縦画素補正対象画素として、例えば、図２１の画素（８）２１０１を選択する。
【０２４５】
次に、ステップＳ３３０２において、縦画素補正画像生成部１０７ｂは、縦画素補正基準画像のベイヤ配列の並び（図２１Ｄ）を参照して、縦画素補正対象画素の色を判定する。判定方法は、ステップＳ３３０１において、縦画素補正対象画素として画素（５）２００１が選択された場合と同様である。結果として、縦画素補正画像生成部１０７ｂは、縦画素補正対象画素（画素（８）２１０１）の色は、「Ｇ」であると判定する。
【０２４６】
次に、ステップＳ３３０３において、縦画素補正画像生成部１０７ｂは、平行化補正情報を参照して、縦画素補正対象画素の縦画素補正元座標を取得する。取得方法は、ステップＳ３３０１において、縦画素補正対象画素として画素（５）２００１が選択された場合と同様である。結果として、縦画素補正画像生成部１０７ｂは、縦画素補正対象画素である画素（８）２１０１の縦画素補正用元座標（１．０，２．８）を取得する。
【０２４７】
次に、ステップＳ３３０４において、縦画素補正画像生成部１０７ｂは、原基準画像のベイヤ配列の並び（図２１Ｃ）を参照して、縦画素補正用元座標の画素の色を判定する。判定方法は、ステップＳ３３０１において、縦画素補正対象画素として画素（５）２００１が選択された場合と同様である。結果として、縦画素補正画像生成部１０７ｂは、縦画素補正対象画素（画素（８）２１０１）の縦画素補正用元座標の画素の色は、「Ｇ」であると判定する。
【０２４８】
次に、ステップＳ３３０５において、縦画素補正画像生成部１０７ｂは、Ｓ３３０２で判定した縦画素補正対象画素と、ステップＳ３３０４で判定した縦画素補正対象画素の縦画素補正用元座標の画素が同色であるかどうかを判断する。縦画素補正対象画素が画素（８）２１０１であった場合には、縦画素補正画像生成部１０７ｂがＳ３３０２で判定した色は「Ｇ」であり、ステップＳ３３０４で判定した色も「Ｇ」である。
【０２４９】
よって、この場合、縦画素補正画像生成部１０７ｂは、同色であると判断してステップＳ３３０６に進み、同色の場合の縦画素補正値算出を行う。ステップＳ３３０６の同色の場合の縦画素補正値算出の詳細については、後述する。
【０２５０】
ステップS３３０６または、ステップS３３０７の処理が終了した後、ステップＳ３３０８において、縦画素補正画像生成部１０７ｂは、最終の縦画素補正対象画素であるかどうかを判断する。例えば、縦画素補正画像生成部１０７ｂが、縦画素補正対象画素として画素（１）〜（１２）の順に選択する場合には、画素（１２）までの縦画素補正値算出が終了していれば（Ｙｅｓ）、図３３のフローチャートの処理は終了する。
【０２５１】
また、画素（１２）までの縦画素補正値算出が終了していない場合（Ｎｏ）、縦画素補正画像生成部１０７ｂは、ステップＳ３３０１に進み、次の縦画素補正対象画素を選択する。
【０２５２】
以上で、図３３のフローチャートの説明を終える。
【０２５３】
次に、図３３のフローチャートのステップＳ３３０７（異色の場合の縦画素補正値算出）について説明する。
【０２５４】
縦画素補正対象画素と、縦画素補正対象画素の縦画素補正用元座標の画素とが異色の場合、縦画素補正処理部１１０ｂは、原基準画像において縦画素補正用元座標の画素の上下に位置する画素のうち、縦画素補正対象画素の色と同じ色の画素の画素値に基づいて、縦画素補正値を算出する。
【０２５５】
図３４は、図３３のフローチャートのステップＳ３３０７である、異色の場合の縦画素補正値算出のフローチャートである。
【０２５６】
ここでは、図３３のフローチャートのステップＳ３３０１において、縦画素補正対象画素として、図２０Ａの画素（５）２００１が選択され、ステップＳ３３０５において、同色ではないと判断された場合を例にして説明する。
【０２５７】
まず、ステップＳ３４０１において、縦画素補正画像生成部１０７ｂは、縦画素補正対象画素のＹ座標の小数点以下第一位が４以下であるかどうかを判断する。
【０２５８】
縦画素補正対象画素のＹ座標の小数点以下第一位が４以下の場合（Ｙｅｓ）、縦画素補正画像生成部１０７ｂは、ステップＳ３４０２に進み、４以下でない場合（Ｎｏ）、ステップＳ３４０３に進む。
【０２５９】
ステップＳ３４０２において、縦画素補正画像生成部１０７ｂは、縦画素補正対象画素のＹ座標を小数点以下第一位で四捨五入した場合に切り捨てられる値（以下、「切り捨て値」という）を用いて、数値１と切り捨て値との和算により、重み係数ｋを算出する。重み係数ｋは、後述する縦画素補正値算出において画素値に加えられる重みの算出に用いられる係数である。
【０２６０】
ここでは、縦画素補正対象画素として、画素（５）２００１が選択されているので、縦画素補正用元座標の画素２００２のY座標は１．２であり、小数点以下第一位は２となる。よって、切り捨て値は０．２となり、重み係数ｋは１．２（１．０＋０．２）となる。そして、縦画素補正画像生成部１０７ｂは、ステップＳ３４０４に進む。
【０２６１】
また、ステップＳ３４０３においては、縦画素補正画像生成部１０７ｂは、縦画素補正対象画素のＹ座標を小数点以下第一位で四捨五入した場合に切り上げられる値（以下、「切り上げ値」という）を用いて、１から切り上げ値を除算した値である重み係数ｋを算出し、ステップＳ３４０４に進む。
【０２６２】
次に、ステップＳ３４０４において、縦画素補正画像生成部１０７ｂは、ステップＳ３４０２またはステップＳ３４０３において算出された重み係数ｋを用いて、縦画素補正対象画素の縦画素補正値を算出する。縦画素補正値の算出に、線形補間が用いられる場合の式を、一例として式（６）として示す。
【数６】
0005942203.tif 000007
【０２６３】
ここで、Ａ−１は、縦画素補正用元座標２００２の１つ上に位置する画素２００４の画素値であり、Ａ１は、縦画素補正用元座標２００２の１つ下に位置する画素２００５の画素値である。したがって、画素（５）２００１を縦画素補正対象画素とした場合、ｋ＝１．２を式（６）に代入することにより、算出される縦画素補正値は、０．４×Ａ−１＋０．６×Ａ１となる。すなわち、縦画素補正値は、縦画素補正用元座標に位置する画素の近傍の複数の画素の画素値に基づいて算出される値である。また、縦画素補正値算出の際に近傍の画素の画素値のそれぞれに加えられる重みは、縦画素補正用元座標に対し、元座標が複数の画素のうちどちらにどれだけずれているかに依存する。
【０２６４】
以上で、縦画素補正画像生成部１０７ｂは、図３４のフローチャート（異色の場合の縦画素補正値算出）の処理を終了する。
【０２６５】
さらに、図３３のフローチャートのステップＳ３３０７（同色場合の縦画素補正値の算出）の詳細について説明する。
【０２６６】
縦画素補正対象画素と、縦画素補正用元座標の画素が同色の場合、縦画素補正処理部１１０ｂは、縦画素補正用元座標の画素と、原基準画像において縦画素補正用元座標の画素の２画素上または２画素下に位置する同色の画素の画素値に基づいて、縦画素補正値を算出する。
【０２６７】
図３５は、図３３のフローチャートのステップＳ３３０６である、同色の場合の縦画素補正値算出のフローチャートである。
【０２６８】
ここでは、図３３のフローチャートのステップＳ３３０１において、縦画素補正対象画素として、図２１Ａの画素（８）２１０１が選択され、ステップS３３０５において同色であると判断された場合を例にして説明する。
【０２６９】
まず、ステップＳ３５０１において、縦画素補正画像生成部１０７ｂは、縦画素補正対象画素のＹ座標の小数点以下第一位が４以下であるかどうかを判断する。
【０２７０】
縦画素補正対象画素のＹ座標の小数点以下第一位が４以下の場合（Ｙｅｓ）、縦画素補正画像生成部１０７ｂは、ステップＳ３５０２に進み、４以下でない場合（Ｎｏ）には、ステップＳ３５０３に進む。ここでは、縦画素補正対象画素として、画素（８）２１０１が選択されているので、縦画素補正用元座標の画素２１０２のＹ座標は２．８であり、小数点以下第一位の値は８となるので、縦画素補正画像生成部１０７ｂは、ステップＳ３５０３に進む。
【０２７１】
ステップＳ３５０２において、縦画素補正画像生成部１０７ｂは、切り捨て値を用いて、重み係数ｋを算出する。具体的には、重み係数ｋを、切り捨て値とする。
【０２７２】
次に、ステップＳ３５０４において、縦画素補正画像生成部１０７ｂは、ステップＳ３５０２において算出された重み係数ｋを用いて、縦画素補正対象画素の縦画素補正値を算出する。縦画素補正値の算出に、線形補間が用いられる場合の式は、式（６）と同様である。
【０２７３】
ただし、式（６）における、Ａ−１は、縦画素補正用元座標の画素の画素値であり、Ａ１は、原基準画像において、その２画素上に位置する画素の画素値を示す。例えば、図２１の例においては、Ａ−１は縦画素補正用画素２１０２の画素値、Ａ１は、縦画素補正用画素の２画素上に位置する画素２１０４の画素値である。
【０２７４】
また、ステップＳ３５０３においては、縦画素補正画像生成部１０７ｂは、小数点以下第一位の値（以下、切り上げ値）を用いて、数字２から切り上げ値を減算した値として、重み係数ｋを算出し、ステップＳ３５０５に進む。
【０２７５】
画素（８）２１０１の縦画素補正用元座標の画素２１０２のＹ座標は２．８であり、小数点以下第一位は８であるため、切り上げ値は０．２となる。よって、重み係数ｋは２．０−０．２で１．８となる。
【０２７６】
次に、ステップＳ３５０５において、縦画素補正画像生成部１０７ｂは、ステップＳ３５０３において算出された重み係数ｋを用いて、縦画素補正対象画素の縦画素補正値を算出する。縦画素補正値の算出に、線形補間が用いられる場合の式は、式（６）と同様である。したがって、縦画素補正後の画素値は、０．１×Ａ−１＋０．９×Ａ１で求められる。
【０２７７】
ただし、式（６）における、Ａ１は、縦画素補正用元座標の画素の画素値であり、Ａ−１は、原基準画像において、その２画素上に位置する画素の画素値を示す。例えば、図２１の例においては、Ａ−１は縦画素補正用画素２１０４（図２１においては、縦画素補正対象画素と同じ色（Ｇ）であることを示すために、G−１と表記）の画素値、Ａ−１は、縦画素補正用元座標の画素２１０２（同G１）の画素値である。
【０２７８】
縦画素補正画像生成部１０７ｂは、ステップＳ３５０４またはステップＳ３５０５における縦画素補正対象画素の縦画素補正値算出により、図３５のフローチャート（同色の場合の縦画素補正値算出）の処理を終了する。
【０２７９】
なお、縦画素補正用元座標のＹ座標が整数値となった場合には、縦画素補正値を算出するために原基準画像上の複数の画素の画素値を用いる必要がないため、縦画素補正値として、縦画素補正用元座標の画素の画素値がそのまま採用される。例えば、縦画素補正用元座標のＹ座標が３．０であった場合は、縦画素補正値として、縦画素補正用元座標の画素２１０２の画素値がそのまま採用される。また、例えば、縦画素補正用元座標のＹ座標が１．０であった場合は、縦画素補正値として、縦画素補正用元座標の画素２１０４の画素値がそのまま採用される。
【０２８０】
以上のように、縦画素補正処理部１１０ｂは、歪み平行化補正をするために参照すべき原基準画像の画素のＹ座標に基づいて、参照すべき原基準画像の画素の上下に位置する画素の画素値を用いて、ベイヤ配列定義部１０８ｂで設定した色の画素値を算出する。なお、ここでは基準画像の縦画素補正値算出方法について具体的に説明したが、縦画素補正処理部１１０ｂは、参照画像についても、参照画像用平行化補正情報および原参照画像を用いて同様に縦画素補正値を算出し、縦画素補正参照画像を生成する。
【０２８１】
なお、本実施例においては、高速化のため、縦画素補正処理部１１０ｂは、フィルタ部１０３ｂによるフィルタリング処理の前に画像全体の縦画素補正を行う構成とした。しかし、この構成に限らず、縦画素補正処理部１１０ｂは、フィルタ部１０３ｂの画像切り出し部２０１において画像を切り出す前に、毎回対象領域のみを縦画素補正するとしても構わない。
【０２８２】
＜フィルタ部１０３ｂ＞
フィルタ部１０３ｂは、フィルタ部１０３ａと同様のフィルタリング処理を行う。ただし、フィルタ部１０３ａではステレオ画像上（原基準画像および原参照画像）でのサブピクセルレベルの視差を算出したのに対し、フィルタ部１０３ｂでは縦画素補正画像上（縦画素補正基準画像および縦画素補正参照画像）でのサブピクセルレベルの視差を算出する。
【０２８３】
＜フィルタ部１０３ｂの構成＞
図２２は、ステレオ画像処理装置１００ａに、縦画素補正画像生成部１０７ｂを追加した場合の、フィルタ部１０３ｂの構成の一例を示すブロック図であり、実施の形態３の図１７に対応するものである。図１７と同一部分には同一符号を付し、これについての説明を省略する。
【０２８４】
フィルタ部１０３ｂは、図１７に示す構成のうち座標変換部２０７ａに替え、ベイヤ配列調整部２０８ｂを有する。
【０２８５】
ベイヤ配列調整部２０８ｂは、画像マッチング部１０２から取得した、平行化補正画像上で求められた基準点と対応点のそれぞれのＸ座標から、縦画素補正基準画像と縦画素補正参照画像のベイヤ配列の並びが一致しているかどうかを判断する。
【０２８６】
具体的には、ベイヤ配列調整部２０８ｂは、基準点と対応点のＸ座標が偶数同士、もしくは奇数同士であれば、縦画素補正基準画像と縦画素補正参照画像のベイヤ配列の並びが一致していると判断し、取得した基準点と対応点をそのまま画像切り出し部２０１へ送る。
【０２８７】
基準点と対応点のＸ座標の一方が偶数でもう一方が奇数の場合は、縦画素補正基準画像と縦画素補正参照画像のベイヤ配列の並びが一致していないため、ベイヤ配列調整部２０８ｂは、例えば対応点のＸ座標を＋１する。そして、ベイヤ配列調整部２０８ｂは、取得した対応点のＸ座標を＋１した画素を新たな対応点として、取得した基準点とともに画像切り出し部２０１へ送る。
【０２８８】
この際、ベイヤ配列調整部２０８ｂは、＋１したという情報をピーク位置検出部１０４に通知し、ピーク位置検出部１０４において視差を求める際に、ピクセルレベルのずれ量ｎとサブピクセルレベルのずれ量δ’に加え、ベイヤ配列調整部２０８ｂで調整した＋１も合わせて加算する。
【０２８９】
なお、ここでは対応点のＸ座標を＋１、すなわち、１画素右にずらした場合について説明したが、対応点のＸ座標を−１、すなわち、１画素左にずらすとしてもよい。その場合、ピーク位置検出部１０４において視差を求める際には、ピクセルレベルのずれ量ｎとサブピクセルレベルのずれ量δ’に加え、ベイヤ配列調整部で調整した−１も合わせて加算する。（つまり、ピクセルレベルのずれ量ｎとサブピクセルレベルのずれ量δ’を加算した値から１減算する。）
【０２９０】
以上説明したように、本実施の形態に係るステレオ画像処理装置１００ｂは、縦画素補正画像を用いてサブピクセルレベルの視差を算出する。これにより、ステレオ画像処理装置１００ｂは、より高精度に、視差を算出することができる。
【０２９１】
なお、ステレオ画像処理装置１００ｂは、画像マッチング部１０２への入力前処理として、ベイヤ配列画像をグレースケール画像に変換し、グレースケール画像で対応点を取得し、ベイヤ配列画像を縦補正した縦補正画像を用いてサブピクセルレベルの視差を算出するとしてもよい。
【０２９２】
さらに、処理を高速化するために、フィルタ部１０３ｂを別の構成としてもよい。処理を高速化するフィルタ部１０３ｂの別の構成を、図２３に示す。
【０２９３】
図２３のフィルタ部１０３ｃは、図２２のフィルタ部１０３ｂの別の構成であり、画像再構成部２０２およびアンチエイリアシング部２０３による処理結果を、ベイヤ配列調整部２０８ｂに出力する構成となっている。
【０２９４】
フィルタ部１０３ｃは、ある基準点に対し、画像マッチング部１０２で求めた対応点に基づいて、サブピクセルレベルの視差を算出する。この際、ある基準点のサブピクセルレベルの視差を算出する画素行が、直前のサブピクセルレベルの視差算出処理において、基準点とサブピクセルレベルの視差を算出した画素行と一致している場合、フィルタ部１０３ｃは、画像再構成処理およびアンチエイリアシング処理を共通化することができる。
【０２９５】
フィルタ部１０３ｃに入力される画像は、縦画素補正画像生成部１０７ｂにて縦方向に対して補正された画像であるため、画像マッチング部１０２で使用した平行化補正画像と縦方向の座標が一致している。そのため、基準点が含まれる画素行が一致している間、サブピクセルレベルの視差を算出する画素行も一致しているため、画素行方向（横方向）にサブピクセルレベルの視差を算出していく場合、フィルタ部１０３ｃは、１画素行まとめて画像再構成およびアンチエイリアシング処理を行うことができる。画像切り出し部２０１は、アンチエイリアシング処理後のデータから必要となるデータを切り出して使用することで処理の無駄を省くことができる。これにより、ステレオ画像処理装置１００ｂは、演算量を大幅に削減することができ、より高速かつ高精度に、視差を算出することができる。
【０２９６】
（実施の形態４）
本実施例は、ステレオ画像処理装置１００において、基準画素データと参照画素データとの相関が高くなる位置（以下、「相関ピーク」という）に合わせた窓掛け処理をより適切に行う方法について記載するものである。
【０２９７】
実施の形態２において、窓掛け部２０４における第２の窓関数を用いた窓掛け処理について説明した。第２の窓関数を用いた窓掛け処理は、基準画素データおよび参照画素データの切り出しにより発生するノイズ成分の低減を目的とするものである。
【０２９８】
しかし、第２の窓関数を用いた窓掛け処理において、相関ピークに最大値を有する窓関数を用いた場合、フィルタ部１０３におけるフィルタリング結果が、より高精度に求まる余地がある。なお、相関ピークに最大値を持つ窓関数を用いた窓掛け処理は、すなわち、相関ピークに合わせた窓掛け処理である。
【０２９９】
相関ピークに合わせた窓掛け処理は、相関ピークと窓関数の最大値とが一致するように、係数を計算して窓関数を生成する方法が知られているが、三角関数に基づいて再計算する必要があるため窓掛け処理を行うための演算量が膨大になる。また、想定される複数の相関ピークに合わせた複数の窓関数の係数を、それぞれ静的データとして予め用意しておく方法が知られているが、係数を保持するために必要なメモリサイズが膨大になってしまう。
【０３００】
本発明の実施の形態４は、画像範囲を一次元画素データに再構成する特徴を利用することで、従来の方法よりも、演算量が少なく、使用するメモリが小さい、相関ピークに合わせた窓掛け処理を開示する。
【０３０１】
＜実施の形態４におけるステレオ画像処理装置１００ｃの構成＞
図２４は、本実施の形態に係るステレオ画像処理装置１００ｃの構成の一例を示すブロック図である。図２４は、実施の形態２の図２に対応するものである。
【０３０２】
図２４に示すステレオ画像処理装置１００ｃが図２と異なるのは、フィルタ部１０３の代わりにフィルタ部１０３ｄを有し、ピーク位置検出部１０４の代わりにピーク位置検出部１０４ｂを有し、サブピクセル視差概算部１０７を更に有する点である。なお、図２と同一部分には同一符号を付し、これについての説明を省略する。
【０３０３】
＜サブピクセル視差概算部１０７＞
サブピクセル視差概算部１０７は、視差の概算値をサブピクセルレベルで算出する。サブピクセル視差概算部１０７で算出されるサブピクセルレベルの視差は、少なくとも、データ抽出間隔の逆数以上の精度の概算値で良い。例えば、データ抽出間隔が８の場合、サブピクセルレベルの視差は１／８ピクセルの精度でよい。なお、データ抽出間隔については後述する。
【０３０４】
サブピクセル視差概算部１０７において、サブピクセルレベルの視差の概算値は、例えば「等角直線フィッティング法」や「二次曲線フィッティング法」などを用いることで算出できる。等角直線フィッティング法および二次曲線フィッティング法が出力する視差は、ピーク位置検出部１０４が出力する視差よりも精度は劣るが、少ない演算量でサブピクセルレベルの視差を計算することができる。以下の説明においては、等角直線フィッティング法を用いた場合のサブピクセル視差概算部１０７の処理概要を説明する。
【０３０５】
サブピクセル視差概算部１０７は、画像マッチング部１０２から、基準画像と、参照画像と、基準画像の基準点の座標と、参照画像の対応点の座標とを取得する。所定の基準点に対する対応点の視差がｎであるとき、基準点の座標（ｘａ、ｙａ）に対する対応点の座標は（ｘａ＋ｎ、ｙａ）である。このとき、基準点に対する対応点のＳＡＤ値は、式（１）に示すようにＳＡＤ（ｎ）で表される。
【０３０６】
また、対応点からｘ軸方向に１画素だけ左の点、および１画素だけ右の点の座標は、それぞれ（ｘａ＋ｎ−１、ｙａ）、および（ｘａ＋ｎ＋１、ｙａ）であり、基準点に対するこれらの点のＳＡＤ値はそれぞれＳＡＤ（ｎ−１）、ＳＡＤ（ｎ＋１）である。このとき、サブピクセル視差概算部１０７は、サブピクセルレベルの視差ｎｓを式（７）のように計算することが出来る。
【数７】
0005942203.tif 000008
【０３０７】
図２５は、視差とＳＡＤ値との関係の説明に供する図である。図２５において、対応点からｘ軸方向に１画素だけ左の画素と、対応点と、対応点からｘ軸方向に１画素だけ右の画素とについて、視差に対するＳＡＤ値をプロットした点をａ、ｂ、およびｃで示している。点ａ、ｂを通る直線をＬ１、L1の傾きをｋ、点ｃを通って傾き−ｋである直線をＬ２としたとき、Ｌ１とＬ２との交点ｄにおける視差の値が、基準点におけるサブピクセルレベルの視差ｎｓとなる。
【０３０８】
なお、サブピクセルレベルの視差の概算値を求める方法は、等角直線フィッティング法、および二次曲線フィッティング法に限るものではなく、他の手法を用いても良い。
【０３０９】
＜フィルタ部１０３ｄの構成＞
図２６は、ステレオ画像処理装置１００ｃにおける、フィルタ部１０３ｄの構成の一例を示すブロック図である。図２６は、実施の形態２の図３に対応する。
【０３１０】
図２６に示すフィルタ部１０３ｄが図３と異なるのは、フィルタ部１０３ｄがデータ抽出部２０８を更に有する点である。図２６において、図３と同一部分には同一符号を付し、これについての説明を省略する。
【０３１１】
＜データ抽出部２０８＞
データ抽出部２０８は、アンチエイリアシング部２０３によって折り返しノイズが除去された一次元画素データについて、等間隔のデータ抽出を行う。これにより、以降の窓掛け部２０４およびフィルタ生成部２０５で扱うデータ量が削減され、演算量を削減できる。また、その際、データ抽出部２０８がサブピクセルレベルの視差の概算値に基づいてデータ抽出の開始位置をずらすことにより、相関ピークに合わせた窓掛け処理が可能となる。データ抽出部２０８によるデータ抽出の結果得られた一次元画素データを、抽出一次元画素データと呼ぶ。
【０３１２】
図３２は、データ抽出部２０８の動作の説明に供する図である。以下、図３２により、データ抽出部２０８の動作について説明する。
【０３１３】
データ抽出部２０８は、データ抽出開始位置算出（Ｓ１００１）と、データ抽出（Ｓ１００２）と、視差の補正値算出（Ｓ１００３）とを含む。以下、具体的に説明する。
【０３１４】
（動作１：データ抽出開始位置算出）
データ抽出部２０８は、一次元画素データに対する等間隔のデータ抽出を開始する位置を算出する（Ｓ１００１）。データ抽出部２０８は、サブピクセル視差概算部１０７で求めた、サブピクセルレベルの視差の概算値に基づいて、データ抽出開始位置を算出する。具体的な算出手順を以下に示す。
【０３１５】
まず、データ抽出開始位置を算出するために必要な係数であるＮ、Ｗ、およびＫを求める。係数Nは、画素行数を２で割った整数値である。例えば、画素行数４の場合、係数Ｎは２であり、画素行数３の場合、係数Ｎは１である。また、係数Ｗは、０．５を画素行数で割った値である。例えば、画素行数２の場合、係数Ｗは０．２５である。また、係数Ｋは、サブピクセルレベルの視差の概算値の小数点以下の値から０．５を引いた値である。すなわち、−０．５≦Ｋ＜０．５で表される。そして、これらの係数を、画像範囲の画素行数が奇数の場合は式（８）に代入し、画像範囲の画素行数が偶数の場合は式（９）に代入することで、データ抽出開始位置の差Ｄが算出される。
【数８】
0005942203.tif 000009
【数９】
0005942203.tif 000010
【０３１６】
図３０において、基準画像および参照画像から視差を算出するために切り出した画像範囲の画素行数が２、３、および４の場合における、データ抽出開始位置の差Ｄを算出する式を示す。
【０３１７】
データ抽出開始位置の差Ｄを使用して、基準画像および参照画像の画像範囲から再構成した一次元画素データにおけるデータ抽出開始位置を変更する。
【０３１８】
差Ｄが正の場合、参照画素データにおけるデータ抽出開始位置を、一次元画素データの左端の画素からＤの絶対値だけ右の画素に変更する。差Ｄが負の場合、基準画素データにおけるデータ抽出開始位置を、一次元画素データの左端の画素からＤの絶対値だけ右の画素に変更する。差Ｄが０の場合、データ抽出開始位置を変更しない。
【０３１９】
（動作２：データ抽出）
データ抽出部２０８における、基準画像および参照画像の画像範囲の一次元画素データに対するデータ抽出について説明する。
【０３２０】
データ抽出部２０８は、データ抽出を行う際のデータ抽出間隔の情報を予め保持する。データ抽出間隔として、ステレオ画像がグレースケール画像の場合は元の画像範囲の画素行数の値、ステレオ画像がカラー画像であり、ベイヤ配列の画像データである場合は、画素行数の倍数の値が設定されるようにしてもよいし、一次元画素データの冗長性を確保してエラー耐性を高める目的で、より小さな値が設定されるようにしてもよい。
【０３２１】
データ抽出部２０８は、データ抽出開始位置およびデータ抽出間隔の値をもとに、基準画像および参照画像の画像範囲の一次元画素データから、等間隔のデータ抽出を行うことで、抽出一次元画素データを得る。
【０３２２】
図２８は、ステレオ画像がカラー画像であり、ベイヤ配列の画像データである場合の、等間隔のデータ抽出の例を示す。図２８Ａは、図２８Ｄで示される画素行数２、すなわちユニット行数１、の画像範囲を一次元画素データに再構成した後のデータを示す。図２８Ｂはローパスフィルタによるアンチエイリアシングを行った後のデータを示す。図２８Ｃは先頭から数えて３画素目をデータ抽出の開始位置として４画素毎のデータ抽出を行った後のデータを示す。
【０３２３】
また図３１において、データ抽出開始位置の差Ｄをもとにデータ抽出開始位置を変更しながら、一次元画素データに対するデータ抽出処理を行う例を示す。図３１はそれぞれ、ステレオ画像がカラー画像であり、ベイヤ配列の画像データである場合において、画像範囲の画素行数が４である際に、データ抽出間隔を取り得る値の最大値である８画素とした場合の、データ抽出結果の例を示している。このとき、例えばサブピクセルレベルの視差の概算値が０．１（Ｋ＝−０．４）であった場合には、Ｄ＝−２となり、データ抽出結果は図３１における３１０１となる。
【０３２４】
（動作３：視差の補正値算出）
データ抽出部２０８における、視差の補正値算出について説明する。データ抽出部２０８において基準画像と参照画像のデータ抽出開始位置の差Ｄが０でない場合、その差の量に応じて得られる視差の値も変化するため、視差の補正を行うことが必要となる。データ抽出部２０８ではこの視差の補正値は、基準画素データと参照画素データのデータ抽出開始位置の差を、画素行数によって除算することによって算出する。
【０３２５】
例えば、画素行数が４で、基準画素データと参照画素データのデータ抽出開始位置の差が−１の場合、視差の補正値は−０．２５となる。
【０３２６】
視差の補正は、後段のピーク位置検出部１０４ｂにおいてピーク位置検出を行って視差を算出した後に行う。そのためデータ抽出部２０８で算出したこの補正値は、ピーク位置検出部１０４ｂに入力として与えられる。
【０３２７】
＜窓掛け部２０４＞
本実施の形態における窓掛け部２０４では、一次元画素データのサイズをデータ抽出間隔で除算することで算出されるサイズの窓関数を予め記憶しておく。そして本実施の形態における窓掛け部２０４は、データ抽出部２０８において抽出される抽出一次元画素データを入力として窓掛け処理を行う。その他の処理は、実施の形態１乃至３における窓掛け部２０４の処理と同様である。
【０３２８】
＜ピーク位置検出部１０４ｂ＞
ピーク位置検出部１０４ｂの処理を説明する。ピーク位置検出部１０４ｂでは、ピーク検出部１０４と同様の処理を行った後に、視差の値を補正する。具体的には、ピーク検出部１０４と同様の処理によってサブピクセルレベルの視差を求めた後に、基準画素データと参照画素データのデータ抽出開始位置の差に応じた視差の補正値（フィルタ部１０３ｄのデータ抽出部２０８において算出済み）をサブピクセルレベルの視差に足し合わせることにより、視差の値を補正する。
【０３２９】
例えば、ピーク検出処理の結果として算出したサブピクセルレベルの視差が１５．２５であり、視差の補正値が−０．３７５である場合、補正後の視差の値は１４．８７５となる。ピーク位置検出部１０４ｂは、このような視差の補正を実施した後の視差の値を出力する。
【０３３０】
（原理の説明１：データ抽出で原理的に精度劣化が無いことの説明）
本実施例において、視差の算出精度を維持したままデータ抽出を行うことが出来る原理について説明する。
【０３３１】
アンチエイリアシング部２０３によって折り返しノイズが除去された一次元画素データは、元の画像範囲における画素行数の間隔でデータ抽出を行っても、サブピクセルレベルの視差算出に必要な、撮像対象の濃淡を表す輝度情報を失わない。
【０３３２】
また、ステレオ画像がカラー画像であり、ベイヤ配列の画像データである場合は、アンチエイリアシング部２０３によって折り返しノイズが除去された一次元画素データに対して元の画像範囲の画素行数の２倍の間隔でデータ抽出を行っても、サブピクセルレベルの視差算出に必要な、撮像対象の濃淡を表す輝度情報を失わない。
【０３３３】
例えば、ステレオ画像がカラー画像であって、ベイヤ配列の画像データであり、画像範囲の画素行数が２である場合、画素行数の２倍である４画素毎のデータ抽出を行っても、サブピクセルレベルの視差算出に必要な、撮像対象の濃淡を表す輝度情報を失わない。
【０３３４】
一次元画素データは、基準画像または参照画像における画像範囲を再構成して生成されており、画像範囲における縦方向に視差は生じないため、画像範囲の縦方向に生じている濃淡変化は、視差の算出精度に影響が無い。
【０３３５】
また、ステレオ画像がカラー画像であり、ベイヤ配列の画像データである場合には、画像範囲における基線長方向に２画素周期で生じている濃淡の変化は、Ｒ、Ｇ、Ｂのベイヤ配列によって生じているものであり、撮像対象の濃淡によって生じているものでは無い。画像範囲の基線長方向には例えば、ＲＧＲＧ・・・や、ＧＢＧＢ・・・というように異なる波長の可視光を撮像する素子が交互に配置されており、２画素周期で濃淡の変化が生じている。ベイヤ配列のカラー素子の場合には、モノクロ素子の場合と比較して、基線長方向の解像度が１／２になる。
【０３３６】
以上より、一次元画素データにおいては、少なくとも元の画像範囲の画素行数の値を周期とする濃淡の変化は、算出される視差の精度に影響が無く、またベイヤ配列のカラー素子における一次元画素データにおいては、元の画像範囲の画素行数の２倍の画素数を周期とする濃淡の変化は、算出される視差の精度に影響が無い。
【０３３７】
このような一次元画素データの性質について、図２７を用いて補足する。図２７は、画像切り出し部２０１が、ベイヤ配列の画像データである基準画像または参照画像から、２×８画素の画像範囲３００を切り出した例を示している。画像切り出し部２０１が切り出した２×８画素の画像範囲３００は、画像再構成部２０２によって１×１６画素の一次元画素データ３０１に変換される。図２７の２７０１が画像範囲の縦方向に生じている濃淡変化に相当し、図２７の２７０２がベイヤ配列によって生じている濃淡変化に相当する。この場合、一次元画素データにおける４画素周期の濃淡変化は、算出される視差の算出精度に影響が無い。
【０３３８】
算出される視差の精度に影響が無い情報は削除することが出来るため、データ抽出部２０８において、一次元画素データからサブピクセルレベルの視差算出を行うために必要な、撮像対象の濃淡を表す輝度情報を失わないようにデータ抽出を行うことにより、サブピクセルレベルの視差算出を行うために必要なデータのみを残すことができる。
【０３３９】
よって、ステレオ画像処理装置１００ｃは、一次元画素データから抽出された抽出一次元画素データを使用することで、サブピクセルレベルの視差算出の精度を維持したまま、後段の処理における演算量を削減出来る。
【０３４０】
（原理の説明２：開始位置を変更することで相関ピークに合う理由の説明）
一次元画素データに対するデータ抽出を行う際に開始位置を変更することで、相関ピークに合わせた窓掛け処理が実現出来る原理について、図２９を用いて説明する。
【０３４１】
図２９では、一次元画素データに対して４画素毎のデータ抽出を行った例を示す。図２９の２９０１は一次元画素データ、図２９の２９０２は１画素目から４画素毎にデータ抽出を行った後の抽出一次元画素データ、図２９の２９０３は４画素目から４画素毎にデータ抽出を行った後の抽出一次元画素データを示す。
【０３４２】
図２９の２９０２に示すように、３２画素からなる一次元画素データの１画素目から４画素毎にデータ抽出をした場合、抽出一次元画素データのデータサイズは８画素となる。そして図２９の２９０４に示すように、抽出一次元画素データは、一次元画素データにおける１３画素目と１７画素目を中央に持つ。このとき中央に最大値を持つ８画素の窓関数を適用した場合、一次元画素データに対して中央から左寄りの位置に最大値を持つ窓関数を使用して窓掛けを行うことと同等となる。
【０３４３】
また同様に図２９の２９０３に示すように、３２画素からなる一次元画素データの４画素目から４画素毎にデータ抽出をした場合、抽出一次元画素データのデータサイズは８画素となる。そして図２９の２９０５に示すように、抽出一次元画素データは、一次元画素データにおける１６画素目と２０画素目を中央に持つ。このとき中央に最大値を持つ８画素の窓関数を適用した場合、一次元画素データに対して中央から右寄りの位置に最大値を持つ窓関数を使用して窓掛けを行うことと同等となる。
【０３４４】
このように、等間隔のデータ抽出を行う際にデータ抽出の開始位置をずらすことで、同じ中央に最大値を持つ窓関数を使用した場合でも、一次元画素データの異なる位置に最大値を持つ窓掛け処理が可能となる。よって、目的とする相関ピークに合わせた窓掛け処理を行える。
【０３４５】
以上の通り説明した動作、および原理により、相関ピークに合わせた窓関数を得るための複雑な計算を行うこと無く、また、想定される複数の相関ピークに合わせた複数の窓関数の係数を静的データとして予め用意しておくこと無く、相関ピークに合わせた窓掛け処理を行うことが可能となる。
【０３４６】
また、以上説明した各実施の形態におけるステレオ画像処理装置の各機能部は、例えば、集積回路により構成されてもよい。ステレオ画像処理装置の各機能部は、個別に１チップ化されていてもよいし、複数で１チップ化されてもよい。集積回路は、集積度の違いにより、ＬＳＩ（large scale integration）、ＩＣ（integrated circuit）、システムＬＳＩ、スーパーＬＳＩ、またはウルトラＬＳＩ等とすることができる。また、集積回路は、専用回路または汎用プロセッサにより実現されるものであってもよい。また、集積回路は、その製造後にプログラムすることが可能なＦＰＧＡ（field programmable gate array）や、内部の回路セルの接続や設定を再構成可能なコンフィギュラブル・プロセッサとしてもよい。更には、ステレオ画像処理装置の各機能部は、半導体技術の進歩または派生する別技術に応じて、ＬＳＩに置き換わる他の集積回路化の技術（たとえばバイオ技術）により集積化されたものにより実現されてもよい。
【０３４７】
２０１１年６月１７日出願の特願２０１１−１３５１９１の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
【産業上の利用可能性】
【０３４８】
本発明に係るステレオ画像処理装置およびステレオ画像処理方法は、基線長方向の画像領域サイズが小さい対象物についても高精度に視差を算出することができる、ステレオ画像処理装置およびステレオ画像処理方法として有用である。
【符号の説明】
【０３４９】
１００  ステレオ画像処理装置
１００ａ  ステレオ画像処理装置
１００ｂ  ステレオ画像処理装置
１００ｃ  ステレオ画像処理装置
１０１  ステレオ画像取得部
１０２  画像マッチング部
１０３  フィルタ部
１０３ａ  フィルタ部
１０３ｂ  フィルタ部
１０３ｃ  フィルタ部
１０３ｄ  フィルタ部
１０４  ピーク位置検出部
１０４ｄ  ピーク位置検出部
１０５ａ  平行化補正情報格納部
１０６ａ  平行化補正処理部
１０７ｂ  縦画素補正画像生成部
１０８ｂ  ベイヤ配列定義部
１０９ｂ  平行化補正情報取得部
１１０ｂ  縦画素補正処理部
２０１  画像切り出し部
２０２  画像再構成部
２０３  アンチエイリアシング部
２０４  窓掛け部
２０５  フィルタ生成部
２０７ａ  座標変換部
２０８  データ抽出部
２０８ｂ  ベイヤ配列調整部
３００  画像範囲
３０１  一次元画素データ
３１１  基準点
３１２  単位基準画像
３１３  矩形窓
３２１  切り出し位置
３２２  単位参照画像
３３１  基準画像（参照画像）
３３２  サブピクセル推定用単位基準画像（サブピクセル推定用単位参照画像）
３３３  基準点（対応点）
３３４  基準画素データ（参照画素データ）
３３５  第１の画素行において隣接する画素の間の間隔
３４１  ナイキスト周波数
３４２  振幅特性
３４３  エイリアシング
３４４  ローパスフィルタ
３５１  基準画像
３５２  サブピクセル推定用単位基準画像
３５３  基準画素データ
３５４  参照画像
３５５  参照画素データ
３５６  参照画素データ
３５７  第２の窓関数
３６１  ベイヤ配列画像
３６２  Ｒ画素
３６３  Ｇ画素
３６４  Ｇ画素
３６５  Ｂ画素
３６６  カラー画素ユニット
３６７  Ｒデータ
３６８  Ｇデータ
３６９  Ｂデータ
４０１  第１の画素行
４０２  第２の画素行
４０３  第３の画素行
２００１  縦画素補正対象画素（画素（５））
２００２  縦画素補正対象画素（画素（５））の縦画素補正用元座標の画素
２００３  縦画素補正対象画素（画素（５））の色
２００４  縦画素補正値算出に用いる画素
２００５  縦画素補正値算出に用いる画素
２００６  縦画素補正対象画素（画素（１））
２００７  原基準画像の画素（画素（１））
２１０１  縦画素補正対象画素（画素（８））
２１０２  縦画素補正値算出に用いる画素
２１０３  縦画素補正対象画素（画素（８））の縦画素補正用元座標の画素
２１０４  縦画素補正値算出に用いる画素
【図１】
0005942203.tif 000011
【図２】
0005942203.tif 000012
【図３】
0005942203.tif 000013
【図４】
0005942203.tif 000014
【図５】
0005942203.tif 000015
【図７】
0005942203.tif 000016
【図１１】
0005942203.tif 000017
【図１２】
0005942203.tif 000018
【図１３】
0005942203.tif 000019
【図１５】
0005942203.tif 000020
【図１６】
0005942203.tif 000021
【図１７】
0005942203.tif 000022
【図１８】
0005942203.tif 000023
【図１９】
0005942203.tif 000024
【図２２】
0005942203.tif 000025
【図２３】
0005942203.tif 000026
【図２４】
0005942203.tif 000027
【図２６】
0005942203.tif 000028
【図３０】
0005942203.tif 000029
【図３２】
0005942203.tif 000030
【図３３】
0005942203.tif 000031
【図３４】
0005942203.tif 000032
【図３５】
0005942203.tif 000033
【図６】
0005942203.tif 000034
【図８】
0005942203.tif 000035
【図９】
0005942203.tif 000036
【図１０】
0005942203.tif 000037
【図１４】
0005942203.tif 000038
【図２０】
0005942203.tif 000039
【図２１】
0005942203.tif 000040
【図２５】
0005942203.tif 000041
【図２７】
0005942203.tif 000042
【図２８】
0005942203.tif 000043
【図２９】
0005942203.tif 000044
【図３１】
0005942203.tif 000045