(57)【特許請求の範囲】
【請求項１】
一方の撮像画像における画素ブロックと他方の撮像画像における画素ブロックとの輝度特性の相関をシティブロック距離によって評価し、他方の画像における画素ブロックを画素単位でずらしながら、画素ブロックのズレ量に対するシティブロック距離の離散的な分布を求める画像処理装置において、
シティブロック距離の離散的な分布において、シティブロック距離が最小となるピクセルレベルのズレ量を算出し、当該ピクセルレベルのズレ量における最小シティブロック距離を第１の値として設定し、かつ、前記最小シティブロック距離の直前に隣接したシティブロック距離および前記最小シティブロック距離の直後に隣接したシティブロック距離の内、小さい方のシティブロック距離を第２の値として選択するステレオ処理手段と、
前記第１の値と前記第２の値とに基づいて、サブピクセル成分を算出するとともに、当該サブピクセル成分を用いて、前記ピクセルレベルのズレ量を補間して、サブピクセルレベルのズレ量を算出するサブピクセル処理手段とを有し、
前記サブピクセル処理手段は、前記第１の値と前記第２の値との比より非線形なサブピクセル比率を算出し、当該サブピクセル比率を線形補正することによって、前記サブピクセル成分を算出することを特徴とする画像処理装置。
【請求項２】
前記ステレオ処理手段は、平均値差分マッチングによりシティブロック距離を算出することを特徴とする請求項１に記載された画像処理装置。
【請求項３】
一対のカメラで構成され、同一の撮像タイミングで撮像した一対の撮像画像を出力するステレオカメラをさらに有することを特徴とする請求項１または２に記載された画像処理装置。
【請求項４】
一方の撮像画像における画素ブロックと他方の撮像画像における画素ブロックとの輝度特性の相関をシティブロック距離によって評価し、他方の画像における画素ブロックを画素単位でずらしながら、画素ブロックのズレ量に対するシティブロック距離の離散的な分布を求める画像処理方法において、
シティブロック距離の離散的な分布において、シティブロック距離が最小となるピクセルレベルのズレ量を算出する第１のステップと、
前記ピクセルレベルのズレ量における最小シティブロック距離を第１の値として設定する第２のステップと、
前記最小シティブロック距離の直前に隣接したシティブロック距離および前記最小シティブロック距離の直後に隣接したシティブロック距離とを比較して、小さい方のシティブロック距離を第２の値として選択する第３のステップと、
前記第１の値と前記第２の値とに基づいて、サブピクセル成分を算出する第４のステップと、
前記サブピクセル成分を用いて、前記ピクセルレベルのズレ量を補間して、サブピクセルレベルのズレ量を算出する第５のステップとを有し、
前記第４のステップは、前記第１の値と前記第２の値との比より非線形なサブピクセル比率を算出するステップと、前記サブピクセル比率を線形補正することによって、前記サブピクセル成分を算出するステップとを含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一対の撮像画像において、輝度特性の相関を有する画素ブロック対のズレ量を補間演算付で算出する画像処理装置および画像処理方法に関する。
【０００２】
【従来の技術】
例えば、特開２０００−２８３７５３号には、互いに相関を有する画素ブロック対のピクセルレベルの視差を、直線近似によって算出されたサブピクセル成分によって補間する、ステレオ画像を用いた測距装置が開示されている。図１３は、従来のサブピクセル成分の算出説明図である。ピクセルレベルの視差Ｄを与える仮の対応点ｐ1、その直前の隣接点ｐ0、その直後の隣接点ｐ2の３つの点に基づいて、縦軸に対して線対称となる２本の直線Ｌ1，Ｌ2を算出する。そして、これらの直線Ｌ1，Ｌ2の交点より、サブピクセル成分Ｓを算出する。
【０００３】
【発明が解決しようとする課題】
上述した従来技術では、対応点ｐ0の前後の隣接点ｐ0，ｐ2の双方を用いてサブピクセル成分Ｓを算出している。前後の対応点ｐ0，ｐ2の内、シティブロック距離の小さい隣接点ｐ2には、真の対応点ｐsubの輝度値が含まれているが、シティブロック距離の大きい対応点ｐ0には、真の対応点ｐsubの輝度値が含まれていない。この手法は、結果的に、真の対応点ｐsubの輝度値が点ｐ0，ｐ1，ｐ2の３点に跨っているものとみなしており、誤差の原因となる隣接点ｐ0を入力変数としてサブピクセル成分Ｓを算出している。そのため、サブピクセル成分Ｓの誤差が大きくなり易く、サブピクセル成分Ｓによって補間されたサブピクセルレベルの視差の算出精度が低下する傾向がある。
【０００４】
そこで、本発明の目的は、互いに相関を有する画素ブロック対のズレ量をサブピクセルレベルで精度よく算出し得る、新規な画像処理装置および画像処理方法を提供することである。
【０００５】
【課題を解決するための手段】
かかる課題を解決するために、第１の発明は、一方の撮像画像における画素ブロックと他方の撮像画像における画素ブロックとの輝度特性の相関をシティブロック距離によって評価し、他方の画像における画素ブロックを画素単位でずらしながら、画素ブロックのズレ量に対するシティブロック距離の離散的な分布を求める画像処理装置を提供する。この画像処理装置は、シティブロック距離の離散的な分布において、シティブロック距離が最小となるピクセルレベルのズレ量を算出するステレオ処理手段を有する。また、このステレオ処理手段は、ピクセルレベルのズレ量における最小シティブロック距離を第１の値として設定するとともに、最小シティブロック距離の直前に隣接したシティブロック距離および最小シティブロック距離の直後に隣接したシティブロック距離の内、小さい方のシティブロック距離を第２の値として選択する。また、この画像処理装置は、第１の値と第２の値とに基づいて、サブピクセル成分を算出するとともに、このサブピクセル成分を用いて、ピクセルレベルのズレ量を補間して、サブピクセルレベルのズレ量を算出するサブピクセル処理手段を有し、サブピクセル処理手段は、第１の値と第２の値との比より非線形なサブピクセル比率を算出し、このサブピクセル比率を線形補正することによって、サブピクセル成分を算出する。このような構成を有する第１の発明では、最小シティブロック距離の直前に隣接したシティブロック距離および最小シティブロック距離の直後に隣接したシティブロック距離の内、大きい方のシティブロック距離は対応点の情報を含まないので、それを用いることなく、サブピクセル成分を算出する。
【０００８】
また、第１の発明において、ステレオ処理手段は、平均値差分マッチングによりシティブロック距離を算出することが好ましい。
【０００９】
さらに、第１の発明において、一対のカメラで構成され、同一の撮像タイミングで撮像した一対の撮像画像を出力するステレオカメラをさらに設けてもよい。
【００１０】
第２の発明は、一方の撮像画像における画素ブロックと他方の撮像画像における画素ブロックとの輝度特性の相関をシティブロック距離によって評価し、他方の画像における画素ブロックを画素単位でずらしながら、画素ブロックのズレ量に対するシティブロック距離の離散的な分布を求める画像処理方法を提供する。この画像処理方法は、シティブロック距離の離散的な分布において、シティブロック距離が最小となるピクセルレベルのズレ量を算出する第１のステップと、ピクセルレベルのズレ量における最小シティブロック距離を第１の値として設定する第２のステップと、最小シティブロック距離の直前に隣接したシティブロック距離および最小シティブロック距離の直後に隣接したシティブロック距離とを比較して、小さい方のシティブロック距離を第２の値として選択する第３のステップと、第１の値と第２の値とに基づいて、サブピクセル成分を算出する第４のステップと、サブピクセル成分を用いて、ピクセルレベルのズレ量を補間して、サブピクセルレベルのズレ量を算出する第５のステップとを有し、第４のステップは、第１の値と第２の値との比より非線形なサブピクセル比率を算出するステップと、サブピクセル比率を線形補正することによって、サブピクセル成分を算出するステップとを含む。
【００１３】
【発明の実施の形態】
図１は、本発明を適用した画像処理装置の基本構成を示すブロック図である。ステレオカメラ１は、ＣＣＤやＣＭＯＳイメージセンサ等を内蔵した一対のカメラ１ａ，１ｂで構成されており、所定の基線長で互いの撮像面垂直軸が平行となるように取付けられている。メインカメラ１ａは、ステレオマッチング処理における基準画像を出力し、サブカメラ１ｂは比較画像を出力する。カメラ対１ａ，１ｂは互いに同期がとれており、これらのシャッタースピードは調節可能である。ステレオカメラ１は、同一のタイミングで撮像した一対の画像を画像入力部２に出力する。なお、ステレオカメラ１は、ＣＣＤカメラ等に限らず、赤外線カメラ等を用いてもよい。
【００１４】
画像入力部２は、それぞれのカメラ１ａ，１ｂから出力された２系統のアナログ画像信号に対する入力処理を行い、所定の輝度階調（例えば、２５６階調のグレースケール）のデジタル画像に変換する。デジタル化されたこれらの画像（ステレオ画像）は、画像入力部２の一部を構成する補正回路において、輝度補正や画像の幾何学的な変換等が行われる。通常、カメラ１ａ，１ｂの取付位置は程度の差こそあれ誤差を含んでいるため、それに起因したずれが左右の画像に存在する。そこで、アフィン変換等によって、画像の回転や平行移動といった幾何学的な変換処理がステレオ画像に対して行われる。これにより、ステレオマッチング処理の前提となる、基準画像の水平線と比較画像の水平線との一致（エピポーラライン）が保証される。以上のような画像処理を経た基準画像データおよび比較画像データが、画像入力部２より出力され、撮像画像における各画素の輝度値を示す元画像データとして元画像メモリ３に格納される。以下、画像平面上の位置は直交座標で定義し、水平方向をｉ座標、垂直方向をｊ座標とする。
【００１５】
ステレオ処理部４は、加算器、差分器、絶対値演算回路、メモリ等で構成されており、元画像メモリ３にストアされた基準画像データと比較画像データとに基づいて、１フレーム相当の視差（距離と等価）の集合である距離データを算出する。このステレオ処理部４を、このようなハードウェア構成での実現に代えて、ソフトウェアによって実現できることは当然である。視差は、基準画像を構成する画素ブロック（以下「基準画素ブロック」という）毎に１つ算出され、画像全体では最大で１フレーム中の基準画素ブロックの個数分だけ算出される。ある基準画素ブロックに関して算出された視差は、その画素ブロック内に写し出されている対象物までの距離に相当する。算出された視差のそれぞれは、画像平面上の位置（すなわち、座標（ｉ，ｊ））と対応付けられており、画像平面上に視差群を二次元的に配置した構成となる。そこで、１フレーム相当の視差群で構成された距離データを適宜「距離画像」という。
【００１６】
ステレオ処理部４は、比較画像を探索することによって、基準画素ブロックの輝度特性と相関を有する画素ブロックを特定する。周知のとおり、ステレオ画像に写し出された対象物までの距離は、視差、すなわち、基準画素ブロックの位置を基準とした比較画素ブロックの相対的なズレ量（水平方向の画素ズレ量）から一義的に算出される。したがって、図２に示すように、ステレオマッチングにより基準画素ブロックＡの相関先を探索する場合、比較画像全体を探索範囲とする必要はなく、基準画素ブロックＡと同一水平線（エピポーラライン）を探索範囲とすればよい。ステレオ処理部４は、このエピポーラライン上を１画素ずつずらしながら、エピポーラライン上の所定範囲内に存在するすべての画素ブロックＢ（以下「「比較画素ブロック」という）の相関を、シティブロック距離によって評価する。
【００１７】
シティブロック距離は、画素ブロックＡ，Ｂの相関性を評価する手法として周知であり、比較的少ない演算量で輝度特性の相関を良好に評価することができる。ここで、例えば、画素ブロックＡ，Ｂのサイズ（Ｉ×Ｊ）を４×４画素とし、基準画素ブロックＡを構成する各画素の輝度値をａij（i=0〜3，j＝0〜3）、比較画素ブロックＢを構成する各画素の輝度値をｂij（i=0〜3，j＝0〜3）とする。基本的に、シティブロック距離Ｃは、位置的に対応した二つの輝度値ａij，ｂijの差（絶対値）の画素ブロック全体における総和として定義される。前段の処理（画像入力部２における処理）で、元画像に輝度補正をかけている場合には、両画素ブロックＡ，Ｂに関するシティブロック距離Ｃは、輝度値ａij，ｂijをそのまま用いて、下式に従い算出する（通常のステレオマッチング）。
【数１】
Ｃ＝Σ｜ａij−ｂij｜
【００１８】
上式からわかるように、２つの画素ブロックＡ，Ｂの輝度特性が類似しているほど（すなわち相関が大きいほど）、シティブロック距離が小さくなり、両者がまったく同じであれば０になる。比較画像のエピポーラライン上を左から右へ１画素ずつずらしながら、それぞれの比較画素ブロックＢを演算対象としたシティブロック距離を順次算出する。これにより、基準画素ブロックＡの位置を基準とした比較画素ブロック（・・・，Ｂ[is-1]，Ｂ[is]、Ｂ[is+1]，・・・）の相対的なズレ量（・・・，ｉs−１，ｉs，ｉs＋１，・・・）に対するシティブロック距離（・・・，Ｃ0，Ｃ1，Ｃ2，・・・）の離散的な分布が求まる。シティブロック距離の算出間隔は、１画素の横方向サイズ相当となる。
【００１９】
このようにして算出されたシティブロック距離の離散的な分布において、シティブロック距離が最小値Ｃminとなる比較画素ブロックＢ[is]を基準画素ブロックＡの相関先と判断する。そして、基本的には、相関先と判断された比較画素ブロックＢ[is]の水平方向のズレ量ｉsが、基準画素ブロックＡに関する視差Ｄとなる。なお、シティブロック距離を算出するためのハード構成を含めたステレオマッチングの詳細については、本願出願人が既に提案した特開平５−１１４００９号公報に開示されているので、必要ならば参照されたい。
【００２０】
以上の手法によって、ステレオ処理部４は、１フレームの基準画像におけるすべての基準画素ブロックＡに関して視差Ｄを順次算出し、それをサブピクセル処理部５に出力する。その際、視差Ｄを与えるズレ量ｉsに関するシティブロック距離Ｃ1（＝Ｃmin）、その直前において隣接したシティブロック距離Ｃ0、および、その直後において隣接したシティブロック距離Ｃ2もサブピクセル処理部５に出力される。
【００２１】
シティブロック距離の基本形は上述したとおりであるが、具体的な算出式には数々のバリエーションが存在する。例えば、上述した通常のステレオマッチングに代えて、平均値差分マッチングを行なってもよい。平均値差分マッチングは、撮像画像の高周波成分のみをマッチング対象とし、ハイパスフィルタと等価な作用を有しているため、低周波ノイズを有効に除去する。また、平均値差分マッチングでは、ステレオ画像における輝度の僅かなバランスの狂いに起因した影響、或いは、カメラやアナログ回路部品の経年変化によるゲイン変化に起因した影響等に対し、ミスマッチングを生じることがなく正確な距離情報を得る。そのため、通常のステレオマッチングでは前段の処理として必須となる輝度補正等を省略することができる。その結果、画像入力部２を構成する回路の部品点数を低減し、画像入力部２の回路構成を簡素化できるため、コスト低減や信頼性向上を図ることができる。
【００２２】
平均値差分マッチングでは、下式に従いシティブロック距離Ｃを算出する。ここで、Ａaveは基準画素ブロックＡの輝度平均値であり、Ｂaveは比較画素ブロックＢの輝度平均値である。すなわち、平均値差分マッチングでは、基準画素ブロックＡの輝度値ａijからその輝度平均値Ａaveを差分した値と、比較画素ブロックＢの輝度値ｂijからその輝度平均値Ｂaveを差分した値との差（絶対値）の画素ブロック全体における総和として定義される。なお、平均値差分マッチング処理の詳細については、本願出願人が既に提案した特開平１１−２３４７０１号公報に詳述されているので、必要ならば参照されたい。
【数２】
Ｃ＝Σ｜（ａij−Ａave）−（ｂij−Ｂave）｜
Ａave＝Σａij／（Ｉ×Ｊ）
Ｂave＝Σｂij／（Ｉ×Ｊ）
【００２３】
また、画素ブロックＡ，Ｂの中心部の輝度値（例えば、ａ22，ａ23，ａ32，ａ33、ｂijについても同様）を重視する場合には、下式のように、輝度差の絶対値に重み係数ｗijを乗じてシティブロック距離Ｃを算出してもよい（重み付けマッチング）。この場合、重み係数ｗijは、画素ブロックＡ，Ｂの内側に向うほど大きな値に設定する。重み付けマッチング処理の詳細については、本願出願人が既に提案した特願２００１−０６３２９０号において開示されている。
【数３】
Ｃ＝Σｗij｜ａij−ｂij｜
【００２４】
サブピクセル処理部５は、ステレオ処理部４において生成された１画素単位の分解能を有する視差Ｄに対して、サブピクセル処理による補間を行うことで、１画素単位以下の分解能を有する視差Ｄを算出する。ステレオ処理部４で算出される視差Ｄは画素単位（画素の整数倍）であるため、三角測量の原理より、撮像画像に写し出された対象物までの距離が遠くなるにつれて、測距分解能が必然的に低下してしまう。そこで、サブピクセル処理部５は、ズレ量ｉs（＝Ｄ）に関するシティブロック距離Ｃ1（以下「最小シティブロック距離Ｃ1」という）と、直前のズレ量ｉs−１（＝Ｄ−１）に関するシティブロック距離Ｃ0（以下「直前の隣接シティブロック距離Ｃ0」という）と、直後のズレ量ｉs＋１（＝Ｄ＋１）に関するシティブロック距離Ｃ2（以下「直後の隣接シティブロック距離Ｃ2」という）とを用いて、ピクセルレベルの視差Ｄに関する１画素以下の小数画素成分、すなわち、サブピクセル成分Ｓを求める。そして、このサブピクセル成分Ｓを用いて、ピクセルレベルの視差Ｄを補間し、サブピクセルレベルの視差Ｄを算出する。補間された視差群は、距離データとして距離画像メモリ６に順次格納される。なお、後述するように、サブピクセル処理部５において行われる具体的なサブピクセル処理には２つの手法がある。
【００２５】
認識部７は、元画像メモリ３に格納された元画像データと、距離画像メモリ６に格納された距離データとに基づき、撮像画像に写し出された対象物、および、その対象物までの距離等を認識する。以上のような構成を有する画像処理装置は、自車両前方の道路形状や先行車等を検出する車外監視装置、障害物検出装置、踏切監視装置、或いは、飛行体の高度計測装置として利用することができる。
【００２６】
（第１のサブピクセル処理手法）
図３は、本手法に係るサブピクセル処理のフローチャートである。まず、ステップ１において、ステレオ処理部４で算出された、ある基準画素ブロックＡに関する視差Ｄと、この視差Ｄに関連付けられたシティブロック距離Ｃ0〜Ｃ2とが入力される。ステップ２では、隣接シティブロック距離Ｃ0，Ｃ2の大きさが比較される。直前の隣接シティブロック距離Ｃ0が直後の隣接シティブロック距離Ｃ2以上の場合（Ｃ0≧Ｃ2）、直後のシティブロック距離Ｃ2が選択される。そして、選択された直後のシティブロック距離Ｃ2と、最小シティブロック距離Ｃ1とを用いて、下式に従いサブピクセル成分Ｓが算出される（ステップ３）。すなわち、最大シティブロック距離Ｃ1を、最大シティブロック距離Ｃ1とその直後の隣接シティブロック距離Ｃ2との和で除算した値が、サブピクセル成分Ｓとなる（Ｓは正の値）。
【数４】
Ｓ＝Ｃ1／（Ｃ1＋Ｃ2）
【００２７】
これに対して、直前の隣接シティブロック距離Ｃ0が直後の隣接シティブロック距離Ｃ2よりも小さい場合（Ｃ0＜Ｃ2）、下式に従いサブピクセル成分Ｓが算出される（ステップ４）。すなわち、最大シティブロック距離Ｃ1を、最大シティブロック距離Ｃ1とその直前の隣接シティブロック距離Ｃ0との和で除算した値が、サブピクセル成分Ｓとなる（Ｓは負の値）。
【数５】
Ｓ＝−Ｃ1／（Ｃ0＋Ｃ1）
【００２８】
サブピクセル成分Ｓは、ピクセルレベルの視差Ｄ（ｉsに相当）とサブピクセルレベルの視差Ｄ（後述するｉsubに相当）とのオフセット値であり、正の値または負の値のいずれかをとる。サブピクセル成分Ｓが正の場合、サブピクセルレベルの視差Ｄは、ピクセルレベルの視差Ｄよりも正方向に存在する。また、サブピクセル成分Ｓが負の場合、サブピクセルレベルの視差Ｄは、ピクセルレベルの視差Ｄよりも負方向に存在する。
【００２９】
最後に、ステップ５において、ステップ３またはステップ４で算出されたサブピクセル成分Ｓを用いて、ステレオ処理部４で算出されたピクセルレベルの視差Ｄを補間する。具体的には、ピクセルレベルの視差Ｄにサブピクセル成分Ｓを加算することにより、１画素以下の分解能を有するサブピクセルレベルの視差Ｄが算出される。算出されたサブピクセルレベルの視差Ｄは距離画像メモリ６に格納される。
【００３０】
ステレオ処理部４から視差Ｄが出力される度に、サブピクセル処理部５は上述したサブピクセル処理を行う。これにより、距離画像を構成するすべての視差Ｄが補間され、１画素以下の分解能を有する距離画像が距離画像メモリ６に格納される。
【００３１】
図４は、第１の手法に係るサブピクセル処理部５をハードウェアで実現した場合におけるブロック構成図であり、上述したソフトウェア処理と等価的に機能する。サブピクセル処理部５は、比較器５ａ、セレクタ５ｂ、演算器５ｃおよび加算器５ｄによって構成されている。比較器５ａは、隣接シティブロック距離Ｃ0，Ｃ2の値を比較し、小さい方がセレクタ５ｂによって選択される。演算器５ｃは、セレクタ５ｂによって選択された一方の隣接シティブロック距離Ｃ0（またはＣ2）と、最大シティブロック距離Ｃ1とに基づいて、上述した数式４または数式５の演算を行い、サブピクセル成分Ｓを算出する。加算器５ｄは、サブピクセル成分Ｓとピクセルレベルの視差Ｄとを加算してサブピクセルレベルの視差Ｄを算出し、距離画像メモリ６に出力する。
【００３２】
つぎに、サブピクセル成分Ｓが数式４または数式５より算出される理由について説明する。従来技術として挙げた特開２０００−２８３７５３号公報にも言及されているように、１画素のサイズが無限に小さいと仮定した場合、画像平面（ｉ，ｊ）におけるシティブロック距離の分布は、図５に示すように連続的になる。これを、視差検出方向であるｉ方向の一次元的な分布として捉えた場合には、例えば、図６の破線で示すような連続的な分布となる（Ｃ0≧Ｃ2のケース）。同図において、横軸ｉは、基準画素ブロックＡに対する比較画素ブロックＢの相対的なズレ量であり、縦軸Ｃはシティブロック距離である。また、破線上に丸印で示した点群（点ｐ0〜ｐ2を含む）は、ステレオ処理部４において算出された離散的なシティブロック距離をプロットしたものである。この連続分布が示すように、対応点ｐsub（シティブロック距離の連続的な分布において最小値をとる点）周りに左右対称になる。ただし、その対称性が理論的に保証されるのは極狭い範囲であり、対応点ｐsubの±１画素以内である。±１画素以上の点では、元画像の画素成分が比較画像の画素成分にまったく含まれないため、対称性が維持されない。画素のサイズ間隔で離散的にプロットした点ｐ0〜ｐ2は、シティブロック距離の連続分布を示す破線上に存在し、この部分においては対称性が維持される。
【００３３】
シティブロック距離の離散的な分布において、最小値Ｃ1をとる点ｐ1（ｉs，Ｃ1）を「仮の対応点」とする。「仮の対応点」と呼ぶ理由は、破線で図示した連続的なシティブロック距離Ｃの最小値をとる対応点Ｐsub（真の対応点）は、仮の対応点ｐ1近傍にあるものの、仮の対応点Ｐ1とは一致しないからである。対応点ｐsubの座標（ｉ，Ｃ）を（ｉsub，０）とすると、１画素以下のサブピクセル成分Ｓは、ｉsとｉsubとの差より算出できる。ここで、対応点ｐsubのＣ座標値を０とする理由は、対応点ｐsubは基準画素ブロックＡの輝度特性と完全に一致する比較画素ブロックＢのズレ量（理想値）を示すからである。そして、画素ブロックＡ，Ｂの輝度特性が完全に一致する場合、そのシティブロック距離は原理的に０となるからである。
【００３４】
サブピクセル成分Ｓを算出する場合、まず、仮の対応点ｐ1の前後の隣接点ｐ0，ｐ1のシティブロック距離Ｃ0，Ｃ2の大小関係より、対応点ｐsubが仮の対応点ｐ1の左右どちらに存在するのかを判断する。図６に示すように、直前の隣接点ｐ0のＣ座標値が直後の隣接点ｐ2のＣ座標値以上の場合、換言すれば、直前のシティブロック距離Ｃ0が直後のシティブロック距離Ｃ2以上の場合には、上述したシティブロック距離Ｃの対称性より、対応点ｐsubは、ｉ座標ベースで座標値ｉs〜（ｉs＋１）の範囲内にあると判断できる。そこで、図７に示すように、二重丸印で示した対応点ｐsubを通る垂直軸に対して、線対称となる２本の直線Ｌ１，Ｌ２を直線近似で求め、その交点からサブピクセル成分Ｓを算出する。このケースにおいて、左側の直線Ｌ１は、仮の対応点ｐ1（ｉs，Ｃ1）と対応点ｐsub（ｉsub，０）を通り、右側の直線Ｌ２は、対応点ｐsub（ｉsub，０）と直後の隣接点ｐ2（ｉs＋１，Ｃ2）とを通る。サブピクセル成分Ｓは、ｉ軸方向における仮の対応点ｐ1と対応点ｐsubとの間の距離（Ｓ＝ｉsub−ｉs）として求めることができ、その値は正となる。
【００３５】
サブピクセル成分Ｓを一義的に特定するために、２つの条件を設ける。一つは、直線Ｌ１の傾きを−ｍとし、直線Ｌ２の傾きをｍとする。これは、対応点Ｐsub周りにおけるシティブロック距離の対称性から、対応点ｐsubを通る垂直軸に対して直線Ｌ１と直線Ｌ２とが線対称になることを意味している。そして、もう一つは、対応点ｐsubのＣ座標値を０とする。これは、対応点ｐsubにおけるシティブロック距離が原理的に０になることを利用している。
【００３６】
直線Ｌ１をＣ＝ｍ×ｉ＋ａで表すと、直線Ｌ１の条件より下式が得られる。ここで、式（１）は仮の対応点ｐ1（ｉs，Ｃ1）を通るという条件より得られ、式（２）は対応点ｐsub（ｉsub，０）とを通るという条件から得られる。また、式（３）は、式（１），（２）の連立方程式を解くことにより得られる。
【数６】
Ｃ1＝ｍ×ｉs＋ａ          ・・・・・・（１）
０＝ｍ×ｉsub＋ａ        ・・・・・・（２）
ｍ＝Ｃ1／（ｉs−ｉsub）  ・・・・・・（３）
【００３７】
また、直線Ｌ２をＣ＝−ｍ×ｉ＋ｂで表すと、直線Ｌ２の条件より下式が得られる。ここで、式（４）は対応点ｐsub（ｉsub，０）を通るという条件より得られ、式（５）は直後の隣接点ｐ2（ｉs＋１，Ｃ2）を通るという条件から得られる。また、式（６）は、式（３），（４）の連立方程式を解くことにより得られる。
【数７】
０＝−ｍ×ｉsub＋ｂ           ・・・・・・（４）
Ｃ2＝−ｍ×（ｉs＋１）＋ｂ     ・・・・・・（５）
ｍ＝−Ｃ2／（ｉs＋１−ｉsub） ・・・・・・（６）
【００３８】
そして、上述したＳ＝ｉsub−ｉsを用いて、式（３），（６）をサブピクセル成分Ｓについて解くと、上述した数式４が導出される。
【００３９】
一方、図８に示すように、直前の隣接点ｐ0のシティブロック距離Ｃ0が直後の隣接点ｐ2のシティブロック距離Ｃ2よりも小さい場合（Ｃ0＜Ｃ2）、シティブロック距離の対称性より、対応点ｐsubは、ｉ座標ベースで座標値ｉs−１〜ｉsの範囲内にあると判断できる。そこで、図９に示すように、対応点ｐsubを通る垂直軸に対して、線対称となる２本の直線Ｌ１，Ｌ２を直線近似で求め、その交点からサブピクセル成分Ｓを算出する。このケースにおいて、左側の直線Ｌ１は、直前の隣接点ｐ0（ｉs−１，Ｃ0）と対応点ｐsub（ｉsub，０）を通り、右側の直線Ｌ２は、対応点ｐsub（ｉsub，０）と仮の対応点ｐ1（ｉs，Ｃ1）とを通る。そして、上述したＣ0≧Ｃ2の場合と同様に、直線Ｌ１と直線Ｌ２の線対称性と、対応点ｐsubのシティブロック距離０とを用いて、サブピクセル成分Ｓについて解くと、上述した数式５が導出される。図９から分かるように、このケースにおけるサブピクセル成分Ｓは負の値となる。
【００４０】
ここで、上述した第１のサブピクセル処理手法が従来技術として挙げた特開２０００−２８３７５３号と相違する点を説明する。本手法も従来技術と同様に、シティブロック距離の連続分布が対応点ｐsub周りで対称になることを利用して、対応点ｐsubを通る縦軸に対して線対称な直線Ｌ１（傾きｍ）と直線Ｌ２（傾き−ｍ）を設定している。そして、これらの２本の直線Ｌ１，Ｌ２を設定するために３つの点を用い、これらの直線Ｌ１，Ｌ２の交点よりサブピクセル成分Ｓを算出する点も同様である。しかしながら、３つの点の与え方に関して、本手法と従来技術とは大きく相違する。従来技術は、仮の対応点ｐ1と、その直前の隣接点ｐ0と、その直後の隣接点ｐ2とを用いている。つまり、シティブロック距離Ｃ0，Ｃ2の大小に拘わらず、双方の隣接点ｐ0，ｐ2を用いている。換言すれば、ステレオマッチングにより直接算出された離散な３点ｐ0，ｐ1，ｐ2を用いている。
【００４１】
これに対して、本手法は、仮の対応点ｐ1と、シティブロック距離の小さい方の隣接点ｐ0（またはｐ2）と、対応点ｐsubとを用いている。つまり、ステレオマッチングにより直接算出された離散点ｐ0，ｐ1，ｐ2の内、サプピクセル成分Ｓの算出に用いるのは、仮の対応点ｐ１と、シティブロック距離の小さい方の隣接点ｐ0（またはｐ2）のみであり、大きい方の隣接点ｐ2（またはｐ0）は用いない。そして、この隣接点ｐ2（またはｐ0）を用いる代わりに、３つめの点として、シティブロック距離が０となる対応点ｐsubを用いている。
【００４２】
本手法のように、シティブロック距離が大きい方の隣接点を用いない理由は、サブピクセル成分Ｓの算出精度の向上を図るためである。一般に、１画素で撮像できる範囲は、メインカメラ１ａもサブカメラ１ブロックも同程度である。カメラ１ａ，１ｂの上下ズレがない場合、メインカメラ１ａの１画素に撮像される領域は、サブカメラ１ｂの２画素に跨ってしか撮像されない。そのため、シティブロック距離の大きい方の隣接点は対応点ｐsubの輝度値が含まれないことになる。例えば、図６に示すケース（Ｃ0≧Ｃ2）では、対応点ｐsubは、ｉs〜ｉs−１の範囲内に存在する。そのため、対応点ｐsubの輝度値は、シティブロック距離の大きい直前の隣接点ｐ0には含まれない（直後の隣接点ｐ2に含まれる）。本手法では、シティブロック距離の大きい方の隣接点を対応点ｐsubの情報を含まない隣接点であるとみなし、この隣接点を用いることなくサブピクセル成分Ｓを算出する。誤差の原因となる一方の隣接点の使用を避けることで、サブピクセル成分Ｓの算出精度の向上を図ることができる。
【００４３】
（第２のサブピクセル処理手法）
図１０は、第２の手法に係るサブピクセル処理のフローチャートである。まず、ステップ１１において、ステレオ処理部４で算出された、ある基準画素ブロックＡに関する視差Ｄと、この視差Ｄに関連付けられたシティブロック距離Ｃ0〜Ｃ2とが入力される。ステップ１２では、隣接シティブロック距離Ｃ0，Ｃ2の大きさが比較される。
【００４４】
直前の隣接シティブロック距離Ｃ0が直後の隣接シティブロック距離Ｃ2以上の場合（Ｃ0≧Ｃ2）、ステップ１２からステップ１３に進む。そして、下式に従い、最小シティブロック距離Ｃ1と直後の隣接シティブロック距離Ｃ2との比より、サブピクセル比率Ｓｍが算出される。
【数８】
Ｓｍ＝０．５×Ｃ1／Ｃ2
【００４５】
続くステップ１４において、下式に示す５次の補正式を用いて、非線形なサブピクセル比率Ｓｍを線形化し、正のサブピクセル成分Ｓが算出される。
【数９】
Ｓ＝Ａ×Ｓｍ5＋Ｂ×Ｓｍ4＋Ｃ×Ｓｍ3＋Ｄ×Ｓｍ2＋Ｅ×Ｓｍ
【００４６】
これに対して、直前の隣接シティブロック距離Ｃ0が直後の隣接シティブロック距離Ｃ2よりも小さい場合（Ｃ0＜Ｃ2）、ステップ１２からステップ１５に進む。そして、下式に従い、最小シティブロック距離Ｃ1と直前の隣接シティブロック距離Ｃ0との比より、サブピクセル比率Ｓｍが算出される。
【数１０】
Ｓｍ＝０．５×Ｃ1／Ｃ0
【００４７】
続くステップ１６において、下記の５次の補正式を用いて、非線形なサブピクセル比率Ｓｍを線形化し、負のサブピクセル成分Ｓが算出される。
【数１１】
Ｓ＝−（Ａ×Ｓｍ5＋Ｂ×Ｓｍ4＋Ｃ×Ｓｍ3＋Ｄ×Ｓｍ2＋Ｅ×Ｓｍ）
【００４８】
最後に、ステップ１７において、ステップ１４またはステップ１６で算出されたサブピクセル成分Ｓを用いて、ステレオ処理部４で算出されたピクセルレベルの視差Ｄを補間する。具体的には、ピクセルレベルの視差Ｄにサブピクセル成分Ｓを加算することにより、１画素以下の分解能を有するサブピクセルレベルの視差Ｄが算出される。算出されたサブピクセルレベルの視差Ｄは距離画像メモリ６に格納される。
【００４９】
ステレオ処理部４において視差Ｄが算出される度に、サブピクセル処理部５は、上述したサブピクセル処理を行う。これにより、距離画像を構成するすべての視差Ｄが補間され、１画素以下の分解能を有する距離画像が距離画像メモリ６に格納される。
【００５０】
図１１は、第２の手法に係るサブピクセル処理部５をハードウェアで実現した場合におけるブロック構成図であり、上述したソフトウェア処理と等価的に機能する。サブピクセル処理部５は、比較器５０ａ、セレクタ５０ｂ、演算器５０ｃ、補正関数演算器５０ｄ、および加算器５０ｅによって構成されている。比較器５０ａは、隣接シティブロック距離Ｃ0，Ｃ2の値を比較し、小さい方がセレクタ５０ｂによって選択される。演算器５０ｃは、セレクタ５０ｂによって選択された隣接シティブロック距離Ｃ0（またはＣ2）と、最大シティブロック距離Ｃ1とに基づいて、上述した数式８または数式１０の演算を行い、サブピクセル比率Ｓｍを算出する。補正関数演算器５０ｄは、上述した数式９または数式１１の補正関数にサブピクセル比率Ｓｍを代入し、線形なサブピクセル成分Ｓを算出する。
そして、加算器５０ｅは、サブピクセル成分Ｓとピクセルレベルの視差Ｄとを加算してサブピクセルレベルの視差Ｄを算出し、距離画像メモリ６に出力する。
【００５１】
つぎに、サブピクセル成分Ｓが数式８，９または数式１０，１１より算出される理由について、図６のケース（Ｃ0≧Ｃ2）を例に説明する。なお、図８のケース（Ｃ0＜Ｃ2）についても、基本的に下記の説明がそのまま該当するので、ここでの説明を省略する。
【００５２】
シティブロック距離の連続分布の対称性より、対応点ｐsubが仮の対応点ｐ1に近いほど、仮の対応点ｐ1のシティブロック距離Ｃ1は小さくなり、直後の隣接点ｐ2のシティブロック距離Ｃ2は大きくなるため、サブピクセル比率Ｓｍは小さくなる。逆に、対応点ｐsubが仮の対応点ｐ1から離れるほど、シティブロック距離Ｃ1は大きくなり、シティブロック距離Ｃ2は小さくなるため、サブピクセル比率Ｓｍは大きくなる。また、対応点ｐsubが仮の対応点ｐ1と直後の隣接点ｐ2との中間に存在する場合、シティブロック距離Ｃ1，Ｃ2が一致するため、サブピクセル比率Ｓｍは０．５となる。さらに、対応点ｐsubが仮の対応点ｐ1と完全に一致する場合、シティブロック距離Ｃ1が０になるため、サブピクセル比率Ｓｍも０となる。このことから、サブピクセル比率Ｓｍは、対応点ｐsubの位置（正確には仮の対応点ｐ1に対する対応点ｐsubのズレ量＝サブピクセル成分Ｓ））と相関を有することが分かる。
【００５３】
図１２は、コンピュータによるシミュレーションにより得られた、サブピクセル比率Ｓｍとサブピクセル成分Ｓとの関係図である。上記ズレ量に対して非線形となる。同図において、縦軸はサブピクセル比率Ｓｍを表し、横軸はサブピクセル成分Ｓ（真値）を表す。この図から分かるように、サブピクセル比率Ｓｍは、非線形となるため、これを視差Ｄのサブピクセル成分としてそのまま適用することはできない。
【００５４】
そこで、数式９または数式１１による補正式を用いて、非線形なサブピクセル比率Ｓｍに対して線形補正を施すことにより、線形なサブピクセル成分Ｓを算出する。このサブピクセル成分Ｓは、仮の対応点ｐ1を基準とした対応点ｐsubのズレ量を的確に表している。したがって、このサブピクセル成分Ｓを用いて、ピクセルレベルの視差Ｄを補間すれば、サブピクセルレベルの視差Ｄを精度よく算出することができる。なお、この線形補正は、非線形なサブピクセル比率Ｓｍを線形化できればどのような形態でもよく、例えば、上述した５次式を含む多項式近似、指数関数、或いは、テーブルによる補正等であってもよい。
【００５５】
このように本実施形態によれば、ピクセルレベルの視差Ｄ（ズレ量ｉs）を補間することにより、１画素以下の分解能を有するサブピクセルレベルの視差Ｄ（ズレ量ｉsub）を算出できる。そのため、システム的に、あたかも１画素以下で視差検出を行ったかのように取り扱うことができる。その結果、ピクセルレベルの視差Ｄをそのまま用いた場合に生じる、遠距離での測距分解能の低下を抑制でき、近距離から遠距離までの広いレンジで有効な測距分解能を確保することが可能となる。そして、サブピクセルレベルの視差群で構成された距離画像を用いて各種の監視制御を行えば、信頼性の高い監視を行うことができる。
【００５６】
また、本実施形態によれば、隣接点ｐ0，ｐ2の内、シティブロック距離の小さい方の隣接点が対応点ｐsubの輝度値を含む点に着目している。そして、仮の対応点ｐ1のシティブロック距離Ｃ1と、対応点ｐsubの輝度値を含む方のシティブロック距離Ｃ0（またはＣ2）とを用いて、サブピクセル成分Ｓを算出する。その際、対応点ｐsubの輝度値を含まない方のシティブロック距離Ｃ2（またはＣ0）は誤差を生じる要因となるので、そのシティブロック距離は入力変数として用いない。これにより、従来技術と比較して、精度の高いサブピクセル成分Ｓを算出することができる。
【００５７】
特に、上述した第１のサブピクセル処理手法は、第２のサブピクセル処理手法のような線形補正を行う必要がなく、簡易な計算で精度の高いサブピクセル成分Ｓを算出することができる。
【００５８】
なお、上述した実施形態は、ステレオカメラ１を用いたステレオ画像処理について説明した。しかしながら、本発明はこれに限定されるものではく、例えば、１台のカメラで画像内対象物のオプティカルフロー検出を行うといった、２枚以上の画像の対応付けにも適用可能である。この場合、１台のカメラを用いて所定の間隔で繰返し撮像し、時系列的な複数の撮像画像を得る。そして、ある撮像タイミングで得られた一方の撮像画像（基準画像）と、それとは異なる撮像タイミングで得られた他方の撮像画像（比較画像）とを用いて、上述した実施形態と同様にサブピクセル処理を行う。これにより得られたサブピクセルレベルのズレ量ｉsubは、基準画素ブロックＡに写し出された対象物に関する、画像平面上の移動量や速度に相当する。
【００５９】
【発明の効果】
本発明では、シティブロック距離の離散的な分布において算出された、最小シティブロック距離をとるピクセルレベルのズレ量を、サブピクセル成分で補間することにより、サブピクセルレベルのズレ量を算出する。このサブピクセル成分は、最小シティブロック距離と、一方の隣接シティブロック距離とに基づいて算出される。この一方の隣接シティブロック距離は、最小シティブロック距離の前後に隣接したシティブロック距離の内の小さい方、すなわち、対応点の輝度値を含む方を用いる。これにより、互いに相関を有する画素ブロック対のズレ量をサブピクセルレベルで精度よく算出することができる。
【図面の簡単な説明】
【図１】画像処理装置の基本構成を示すブロック図
【図２】ステレオマッチングの説明図
【図３】第１の手法に係るサブピクセル処理のフローチャート
【図４】第１の手法に係るサブピクセル処理部のブロック構成図
【図５】画像平面におけるシティブロック距離の分布説明図
【図６】Ｃ0≧Ｃ2における極小点周りのシティブロック距離の分布説明図
【図７】Ｃ0≧Ｃ2におけるサブピクセル成分の算出説明図
【図８】Ｃ0＜Ｃ2における極小点周りのシティブロック距離の分布説明図
【図９】Ｃ0＜Ｃ2におけるサブピクセル成分の算出説明図
【図１０】第２の手法に係るサブピクセル処理のフローチャート
【図１１】第２の手法に係るサブピクセル処理部のブロック構成図
【図１２】サブピクセル比率とサブピクセル成分との関係図
【図１３】従来のサブピクセル成分の算出説明図
【符号の説明】
１  ステレオカメラ
１ａ  メインカメラ
１ｂ  サブカメラ
２  画像入力部
３  元画像メモリ
４  ステレオ処理部
５  サブピクセル処理部
６  距離画像メモリ
７  認識部
【図１】
0004762463.tif 000002
【図２】
0004762463.tif 000003
【図３】
0004762463.tif 000004
【図４】
0004762463.tif 000005
【図５】
0004762463.tif 000006
【図６】
0004762463.tif 000007
【図７】
0004762463.tif 000008
【図８】
0004762463.tif 000009
【図９】
0004762463.tif 000010
【図１０】
0004762463.tif 000011
【図１１】
0004762463.tif 000012
【図１２】
0004762463.tif 000013
【図１３】
0004762463.tif 000014