(57)【要約】  【課題】小さな処理負荷で相関処理を実行する。  【解決手段】  画像上から動きのある領域を特定して、相関処理を実行する範囲を限定する画像処理装置１を提供する。画像処理装置１は、原画像に対して歪み補正処理を実行する画像処理部１１１と、補正処理の施された画像から動きのある領域を検出する差分検出部１１２と、動きの検出された領域について相関処理を実行する相関演算部１１３と、を備える。【選択図】図１
2009288893.tif 000002
【特許請求の範囲】
【請求項１】
異なる視点から撮像された第１の画像および第２の画像を撮像手段から取得する処理部と、
第１の画像から動きのある領域を検出する差分検出手段と、
前記第１の画像における動きのある領域と、前記動きのある領域に対応する前記第２の画像のエピポーラ線を含む所定の領域と、について相関処理を実行する相関演算手段と、を備えること
を特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記差分検出手段は、
第１の画像を複数の第一の領域からなる第二の領域に分割し、
前記第１の画像に含まれる第二の領域の輝度値の変化量が、所定の閾値以上である場合に、当該第二の領域を動きのある領域として判断すること
を特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、
前記差分検出手段は、
前記第１の画像に含まれる前記第二の領域の輝度値の変化量が、所定の閾値以上であり、かつ、最大である場合に、当該第二の領域を動きのある領域として判断すること
を特徴とする画像処理装置。
【請求項４】
請求項２または３に記載の画像処理装置であって、
前記相関演算手段は、
前記動きのある領域として検出された第二の領域に含まれる第一の領域と、
当該第一の領域に対応する、前記第２の画像のエピポーラ線を含む所定の領域と、
について相関処理を実行すること
を特徴とする画像処理装置。
【請求項５】
異なる視点から撮像された第１の画像および第２の画像を撮像手段から取得する処理部と、
第１の画像を複数の第一の領域からなる第二の領域に分割し、
第２の画像を複数の第三の領域からなる第四の領域に分割し、
前記第１の画像に含まれる第二の領域の輝度値の変化量を検出し、
前記第２の画像に含まれる第四の領域の輝度値の変化量を検出して、
前記第１の画像に含まれる第二の領域の輝度値の変化量と、前記第２の画像に含まれる第四の領域の輝度値の変化量と、を比較して、両変化量の差分が、所定の閾値以下である領域対を検出する差分検出手段と、
前記領域対について、相関処理を実行する相関演算手段と、を備えること
を特徴とする画像処理装置。
【請求項６】
請求項５に記載の画像処理装置であって、
前記相関演算手段は、
前記領域対として検出された第二の領域に含まれる第一の領域と、
当該第一の領域に対応する第三の領域、および、当該第三の領域の左右に存在する第三の領域と、
について相関処理を実行すること
を特徴とする画像処理装置。
【請求項７】
請求項５または６に記載の画像処理装置であって、
前記差分検出手段によって領域対が検出されなかった場合に、
前記相関演算手段は、
所定の順序で定まる第一の領域と、当該第一の領域に対応するエピポーラ線を含む第三の領域列と、
について相関処理を実行すること
を特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオ画像の処理技術に関するものである。
【背景技術】
【０００２】
ステレオカメラによる１対の撮像画像についてその対応関係を相関し、ずれ量（視差）から三角測量により各点の３次元的位置を推測するような技術が知られている。
【０００３】
しかしながら相関処理を実行する際には、基準となる撮像画像上に設定される領域（テンプレートブロック）の全てについて、他方の画像と相関を取るため、その処理負荷の大きさが問題となる。
【０００４】
この点、特許文献１には、両カメラによる画像の濃度データからオプティカルフローを算出し、これに基づいて直前の視差を推定することにより、短時間で測距が可能な技術が記載されている。
【０００５】
【特許文献１】特開平５−２５６６１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１の技術では、オプティカルフローから視差を予測・補完することによって画像処理の負荷を減らすことは可能であっても、実際の相関処理による演算コストを減らすことは出来なかった。
【０００７】
そこで本発明では、実際の相関処理を、より少ない演算コストで実行すること可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記課題を解決するために、本発明の画像処理装置は、例えば、異なる視点から撮像された第一の画像および第二の画像に関する処理を行う画像処理装置であって、第一の画像から動きのある領域を検出する差分検出手段と、前記第一の画像における動きのある領域と、第二の画像における前記動きのある領域に対応するエピポーラ線上の領域と、について相関処理を実行する相関演算手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
以上のように、本発明によれば、ステレオ画像の相関処理による負荷を低減することが可能な技術を提供することを目的とする。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための最良の形態について、図面を参照して説明する。
＜第一の実施形態＞
図１は、本願の第一の実施形態に係る画像処理装置１の機能構成を示すブロック図である。
【００１１】
画像処理装置１には、撮像装置５０が接続されている。
【００１２】
撮像装置５０は、第一のカメラである左側カメラ５０ａと、第二のカメラである右側カメラ５０ｂと、を有する。これらは同一の高さで、かつ、それぞれの光軸が平行になるような所定の間隔（基線長）で配置されるステレオカメラである。なお、各カメラには、ＣＣＤやＣＭＯＳ等の任意のイメージセンサを用いることが可能である。
【００１３】
各カメラはフレームレートに従って、１対のステレオ画像（以下、原画像と称する）を出力し、原画像は図示しないＡ／Ｄ変換器を経て、デジタルデータとして画像処理装置１へと送られる。また、各カメラの駆動は、画像処理装置１からの制御を受けても良いし、撮像装置５０の備える図示しないカメラＣＰＵの制御によって、独立して駆動しても良い。
【００１４】
画像処理装置１は、ＣＰＵ（Central Processing Unit）などのプロセッサ１００と、プロセッサ１００にて扱うデータを記憶させるメモリ２０およびグラフィックメモリ３０と、
カメラの設定や補正に関する補正テーブル４１を記憶する記憶装置４０と、から構成される。
【００１５】
メモリ２０は、輝度情報記憶領域２１を構成し、プロセッサ１００によって生成される後述の輝度情報を格納する。
【００１６】
グラフィックメモリ３０は、複数の画像バッファを有する。
【００１７】
画像バッファ３１は、例えばフレームバッファであり、撮像装置５０より出力された１対の原画像を描画するためのものである。ここでは、左側カメラ５０ａによる原画像と、右側カメラ５０ｂによる原画像と、が順次ストアされる。従って、画像バッファ３１は、少なくとも画像データを２フレーム分格納する領域を持つ。
【００１８】
画像バッファ３２は、原画像に補正処理を施して生成される１対の補正画像６を描画するためのものである。ここでは少なくとも、左側カメラ５０ａによる原画像に基づく補正画像と、右側カメラ５０ｂによる原画像に基づく補正画像と、がストアされるため、画像バッファ３２は、少なくとも画像データを２フレーム分格納する領域を持つ。
【００１９】
距離画像メモリ３３には、後述する相関演算部１１３によって生成される視差マップが描画される。視差マップについては、後述する。
【００２０】
記憶装置４０は、例えば、フラッシュメモリ等の記憶デバイスである。記憶装置４０には、後述の補正処理に用いられる補正テーブル４１が格納されている。
【００２１】
プロセッサ１００は、その機能部として、原画像に対して歪み補正処理を実行する画像処理部１１１と、補正処理の施された画像から動きのある領域を検出する差分検出部１１２と、動きの検出された領域について相関処理を実行する相関演算部１１３と、を備えている。なお、これらの機能部は、プロセッサ１００がメモリ２０にロードした所定のプログラムを実行することで実現される。
【００２２】
画像処理部１１１は、撮像装置５０から出力される画像を取得して画像バッファ３１へとストアし、当該１対の原画像に対して歪み補正処理を実行する。具体的に、画像処理部１１１は、撮像装置５０からフレームレートに従って出力される１対の原画像を、グラフィックメモリ３０内の画像バッファ３１に描画する。そして、当該原画像について、補正処理を施す。
【００２３】
補正処理とは、各カメラのパラメータ差や位置、および角度のずれにより生じる歪みを補正し、相関処理の認識精度を向上させるために施される前処理である。具体的に、画像処理部１１１は、記憶装置４０に格納される補正テーブル４１に従って、例えば、アフィン変換やシェーディング補正等の処理を施し、１対の補正画像６を生成する。さらに、画像処理部１１１は、生成した補正画像６を画像バッファ３２へと描画する。
【００２４】
差分検出部１１２は、補正処理の施された１対の補正画像６のうち、一方の補正画像（以下、基準画像と称する）から、動きのある領域を抽出する。具体的に、差分検出部１１２は、生成された一対の補正画像６のうち、第一のカメラである左側カメラ５０ａによって撮像された補正画像（以下、基準画像６ａ；図２（ａ）参照）から、所定の領域（ブロック）ごとの輝度値を格納した輝度情報を生成する。
【００２５】
ここで、輝度情報について、図２（ａ）および図２（ｂ）を参照しながら説明する。図２（ａ）は、所定の大領域に分割された基準画像６ａおよび探索画像６ｂの概略図、図２（ｂ）は、基準画像６ａから生成される輝度情報の概略図である。
【００２６】
まず、差分検出部１１２は、画像バッファ３２より読み出した基準画像６ａを、４つの小領域（Ｓ１〜Ｓ４；例えば、４×４画素で構成）よりなる大領域（Ｌ１〜Ｌ１２；例えば、８×８画素で構成）に分割する。
【００２７】
さらに、差分検出部１１２は、各大領域内に存在する画素の平均輝度値を算出して、輝度情報を生成し、メモリ２０の輝度情報記憶領域２１へと格納する。
【００２８】
輝度情報は、差分検出部１１２によって基準画像６ａごとに生成され、メモリ２０の輝度情報記憶領域２１へと格納される。輝度情報記憶領域２１は、少なくとも前フレームの基準画像６ａに基づく輝度情報と、現フレームの基準画像６ａに基づく輝度情報と、を記憶する。輝度情報は、図２（ｂ）に示すように、領域ＩＤ格納領域２１ａと、輝度値格納領域２１ｂと、フラグ格納領域２１ｃと、を有する。
【００２９】
領域ＩＤ格納領域２１ａには、差分検出部１１２によって分割される所定の大領域を識別するための識別子が格納される。
【００３０】
輝度値格納領域２１ｂには、大領域内に含まれる画素の平均輝度値が格納される。
【００３１】
フラグ格納領域２１ｃには、差分検出部１１２によって動きが検出された大領域であることを示すフラグが登録される。
【００３２】
図１に戻って、差分検出部１１２は、輝度情報を用いて、基準画像６ａから動きのある領域を検出する。具体的に、差分検出部１１２は、最新の輝度情報と、以前の（即ち、１フレーム前の基準画像に基づく）輝度情報と、について、画像上で対応する位置に存在する大領域を比較する（例えば、Ｌ１とＲ１、Ｌ２とＲ２）。そして、差分検出部１１２は、平均輝度値に所定の閾値Ｔｈ１以上の変化がある大領域が存在するか否かを検出する。前フレームとの輝度差が閾値Ｔｈ１以上ある大領域が存在する場合には、当該大領域の領域ＩＤを格納する最新の輝度情報のフラグ格納領域２１ｃに、フラグ（例えば、「１」）を登録し、後述する相関処理の対象となる領域としてラベリングする。
【００３３】
相関演算部１１３は、差分検出部１１２によってラベリングされた大領域内に含まれる各小領域について、相関処理を実行して視差マップを更新する。
【００３４】
まず、一般的な相関処理（ステレオマッチング）について、図３を用いて説明する。図３は、area-based matchingの概略説明図である。
【００３５】
まず、一方のカメラによって撮像された画像（基準画像）が、所定のテンプレートブロック（Ｔ１〜Ｔｎ）に分割される。そして、全てのテンプレートブロックごとに、他方のカメラによって撮像された画像（探索画像）のエピポーラ線を含む所定の領域（サーチウィンドウ）内を探索し、テンプレートブロックと最も一致する点を決定して、その水平シフト値から視差ｄを得るものである。
【００３６】
本実施形態にかかる相関演算部１１３は、このような相関処理を差分検出部１１２のラベリングした大領域に含まれる各小領域についてのみ実行する。まず、相関演算部１１３は、輝度情報のフラグ格納領域２１ｃを参照して、ラベリングされた大領域を特定する。
【００３７】
次に、相関演算部１１３は、ラベリングされた大領域に含まれる基準画像６ａの小領域と、当該小領域に対応する探索画像６ｂのエピポーラ線を含む所定の小領域列（サーチウィンドウ）と、を画像バッファ３２から読み出す。そして、このテンプレートブロックをサーチウィンドウ上で１画素ずつずらしながら一致度（評価値）を算出していく。
【００３８】
例えば、図２（ａ）に示す基準画像６ａの大領域Ｌ７がラベリングされている場合、相関演算部１１３は、大領域Ｌ７と、そのエピポーラ線を含む大領域Ｒ５〜Ｒ８を画像バッファ３２から読み出す。
【００３９】
そして、相関演算部１１３は、図４に示すように、大領域Ｌ７に含まれる小領域Ｓ１およびＳ２のエピポーラ線を含む所定の小領域列であるサーチウィンドウ１０１ａと、小領域Ｓ３およびＳ４のエピポーラ線を含む所定の小領域列であるサーチウィンドウ１０１ｂと、を各小領域で探索し、それぞれの評価値を算出する。
【００４０】
評価値の算出には、例えば、ＳＡＤ(Sum of Absolute Difference)法を用いる。ＳＡＤ法とは、両画像のブロック内の各画素について差の絶対値を取り、その総和を評価値とするものである。この評価値が小さいほどブロック間の一致度が高く、その水平方向のシフト量から視差ｄが与えられる。
【００４１】
ここで、基準画像をＩｍｇＬ、探索画像をＩｍｇＲ、画像平面上の座標について水平方向をｉ座標、垂直方向をｊ座標と定義し、小領域をｉ×ｊ（ｉ＝０〜ｎ,ｊ＝０〜ｎ）画素からなるブロックとするとき、評価値は（１）の式によって求められる。
【００４２】
Ｓ＝Σ｜ＩｍｇＬ（ｉ,ｊ）−ＩｍｇＲ（ｉ,ｊ）｜  ・・・（１）
なお、評価値の算出法は上記に限定されず、ＳＡＤ法の他に、ブロック内の各画素について差の二乗を取るＳＳＤ(Sum of Squared intensity Difference)法、各画素の輝度値から局所的な平均値を引き、分散値の類似度を求めるＮＣＣ(Normalized Cross Correlation)法等、どのような手法を用いてもよい。
【００４３】
さらに、相関演算部１１３は、算出した各小領域間の視差に基づいて、視差マップを更新する。視差マップとは、画素毎に算出された視差を用いて作成される距離画像であり、相関演算部１１３は、新たに視差が算出された小領域に関してのみ新規の視差を用いて視差マップを再構築し、その他の領域については以前の演算結果を用いる。
【００４４】
視差マップは、画像処理装置１がその初期動作に際して、補正画像６の全領域について相関処理を実行して生成する。このような視差マップが距離画像メモリ３３に描画されていることにより、相関演算部１１３は、動きのある領域についてのみ視差マップを更新することできる。
【００４５】
以上のように構成される画像処理装置１の実行する処理の流れについて、図５に示すフローチャートを用いて説明する。
【００４６】
画像処理装置１の画像処理部１１１は、撮像装置５０から一対の原画像が入力されると、これを画像バッファ３１に描画する（Ｓ１１）。
【００４７】
次に、画像処理部１１１は、原画像に補正処理を施して補正画像６を生成し、画像バッファ３２に描画する（Ｓ１２）。具体的に、画像処理部１１１は、画像バッファ３１から原画像を読み出す。そして、記憶装置４０に記憶される補正テーブル４１を用いてこれらに補正処理を施して、１対の補正画像（基準画像６ａおよび探索画像６ｂ）を画像バッファ３２にストアさせる。その後、画像処理部１１１は、差分検出部１１２に輝度情報生成要求を出力する。
【００４８】
差分検出部１１２は、画像処理部１１１からの輝度情報生成要求を受け付けると、基準画像６ａを所定の領域に分割して、輝度情報を生成する（Ｓ１３）。具体的に、差分検出部１１２は、画像バッファ３２から基準画像６ａを読み出して、所定の大領域（例えば、８×８画素で構成）に分割し、大領域ごとに平均輝度値を検出して輝度情報を生成する。生成した輝度情報は、メモリ２０の輝度情報記憶領域２１に記憶させる。
【００４９】
次に、差分検出部１１２は、基準画像６ａから動きのある領域を検出する（Ｓ１４）。具体的に、差分検出部１１２は、最新の輝度情報と、前フレームの輝度情報と、を輝度情報記憶領域２１から読み出して、両輝度情報を対応する大領域ごとに比較し、それぞれ輝度差（変化量）を検出する。そして、差分検出部１１２は、輝度差が所定の閾値Ｔｈ１以上である大領域が存在するか否かを判断し、存在する場合には（Ｓ１４でＹＥＳ）、当該大領域の領域ＩＤが格納される最新の輝度情報のフラグ格納領域２１ｃにフラグを登録し、相関演算部１１３へ相関処理要求を出力する。存在しなかった場合には（Ｓ１４でＮＯ）、処理を終了する。
【００５０】
相関演算部１１３は、差分検出部１１２からの相関処理要求を受け付けると、相関処理の対象となるテンプレートブロックと、サーチウィンドウと、を特定する（Ｓ１５）。具体的に、相関演算部１１３は、まず、メモリ２０に格納される最新の輝度情報を参照して、フラグ格納領域２１ｃにフラグの格納されている大領域の領域ＩＤを特定し、当該大領域に含まれる各小領域を、テンプレートブロックとして画像バッファ３２からそれぞれ読み出す。さらに、相関演算部１１３は、テンプレートブロックに対応する（エピポーラ線を含む）探索画像６ｂの小領域列を画像バッファ３２から読み出し、それぞれサーチウィンドウとして特定する。
【００５１】
次に、相関演算部１１３は、ステップ１５で特定した各テンプレートブロックと、サーチウィンドウと、で相関処理を実行する（Ｓ１６）。相関演算部１１３は、各テンプレートブロックを対応するサーチウィンドウ上で１画素ずつずらしながら一致度（評価値）を算出して、最も一致度の高い領域に対する水平方向のシフト量を求め、視差を算出する。
【００５２】
そして、相関演算部１１３は、算出した視差に基づいて、視差マップを更新する（Ｓ１７）。
【００５３】
以上のような構成により、本実施形態にかかる画像処理装置１は、動きのある領域のみについて相関処理を実行することで、処理に要する演算量の増大を抑制し、低負荷で距離画像を生成することが可能である。
【００５４】
なお、輝度値格納領域２１ｂに格納される輝度値は、大領域に含まれる画素の平均輝度値の代わりに、各画素の輝度値を加算した合計輝度値を用いても良い。この場合、差分検出部１１２は、各大領域の合計輝度値の差から動きのある領域を特定すれば良い。
【００５５】
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
＜変形例＞
例えば、上記実施形態は、動きのある大領域が複数検出された場合、それら全ての領域について相関処理を実行するが、本変形例では、最大の動きが検出される大領域についてのみ相関処理を行う場合について説明する。
【００５６】
差分検出部１１２は、基準画像６ａより最大の動きが検出された大領域を特定して、当該大領域に含まれる各小領域についてのみ相関処理を実行する。
【００５７】
差分検出部１１２は、図５のステップ１４において、平均輝度値に所定の閾値Ｔｈ１以上の変化がある大領域が複数存在する場合、その輝度差（変化量）が最大の大領域を特定する。そして、差分検出部１１２は、当該大領域のフラグ格納領域２１ｃにフラグを登録し、相関演算部１１３へ相関処理要求を出力する。
【００５８】
以上のような構成により、本変形例においては、動きが大きな領域のみを特定して相関処理を実行することにより、複数の領域で動きが検出された場合でも、相関処理の処理コストを低く抑えることが可能である。
＜第二の実施形態＞
次に、本発明の第二の実施形態に係る画像処理装置２について説明する。
【００５９】
本実施形態にかかる画像処理装置２は、プロセッサ２００と、記憶装置６０と、メモリ７０と、グラフィックメモリ８０と、から構成される。
【００６０】
記憶装置６０は、補正テーブル４１と、順序データ６２と、を予め記憶する。
【００６１】
順序データ６２は、撮像画像上に動きのある領域が存在しない場合に、相関処理の対象となる（テンプレートブロックとなる）小領域の順序を予め設定したものである。よって、撮像画像上から動きが検出されない場合、相関処理の実行順序はこの順序データに基づいて定められる。詳細については後述する。
【００６２】
メモリ７０は、輝度情報記憶領域７１と、差分情報記憶領域７２と、を有する。
【００６３】
輝度情報記憶領域７１は、差分検出部２１２の生成する基準画像６ａに基づく輝度情報Ａ、および、探索画像６ｂに基づく輝度情報Ｂを記憶する。
【００６４】
差分情報記憶領域７２は、輝度情報Ａを前フレームの輝度情報と比較した場合の大領域ごとの輝度差分を格納する差分情報Ａと、輝度情報Ｂを前フレームの輝度情報と比較した場合の大領域ごとの輝度差分を格納する差分情報Ｂと、を記憶する。
【００６５】
グラフィックメモリ８０は、画像バッファ３１および距離画像メモリ３３に加えて、画像バッファ８２を有する。
【００６６】
画像バッファ８２は、例えばラインバッファであり、原画像に補正処理を施した１対の補正画像６のうち、相関処理に要する走査線を描画するためのものである。画像バッファ８２は、少なくとも画像データを２ライン分格納する領域を有し、差分検出部２１２から入力される画像データを順次格納していく。
【００６７】
プロセッサ２００は、その機能部として、原画像に対して補正処理を実行する画像処理部２１１と、補正処理の施された画像の輝度差から相関処理の対象となる領域を抽出する差分検出部２１２と、抽出された領域について相関処理を実行する相関演算部２１３と、を備えている。
【００６８】
画像処理部２１１は第一の実施形態と同様の構成であり、撮像装置５０より出力された１対の原画像を画像バッファ３１へ描画するとともに、補正処理を施して補正画像６（基準画像６ａおよび探索画像６ｂ）を生成する。
【００６９】
差分検出部２１２は、基準画像６ａおよび探索画像６ｂについて各輝度情報を生成し、前フレームとの輝度差が類似する領域を特定する。具体的に、差分検出部２１２は、基準画像６ａおよび探索画像６ｂを所定の小領域を含む大領域ごとに分割し、基準画像６ａの各大領域に存在する画素の平均輝度値を格納した輝度情報Ａと、探索画像６ｂの各大領域に存在する画素の平均輝度値を格納した輝度情報Ｂと、を生成して、輝度情報記憶領域７１に記憶させる。
【００７０】
大領域および小領域の構成は、図７に示すように第一の実施形態とほぼ同様であるが、その画素数において第一の実施形態とは異なる。ここでは、大領域に含まれる４つの小領域（Ｓ１〜Ｓ４）は、それぞれ１画素で構成されるものとする。従って、大領域（Ｌ１〜Ｌ１２およびＲ１〜Ｒ１２）は、２×２画素から構成されている。
【００７１】
なお、本実施形態にかかる基準画像６ａおよび探索画像６ｂは、６本の走査線（ライン１〜ライン６；図７参照）から構成される。各走査線を走査する際、リフレッシュレートに従って、一定の間隔でブランク期間Ｂが回ってくる。本実施形態においては、ブランク期間Ｂ内で実行可能な相関処理は、走査線一本（小領域８ブロック）分のマッチング演算である。よって、小領域８ブロック以下のマッチング演算を実行する場合には、処理落ちが生じず、フレームレートに対して遅延なく相関処理が実行可能となる構成である。
【００７２】
輝度情報ＡおよびＢについても、図８（ａ）に示すように、第一の実施形態にかかる輝度情報とほぼ同じ構成であるが、フラグ格納領域２１ｃの代わりに、領域対ＩＤ格納領域７１ｃを有する点で異なる。領域対ＩＤ格納領域７１ｃには、輝度情報ＡおよびＢの間で、類似する輝度差分を有する大領域の識別子が格納される。詳細については、後述する。
【００７３】
次に、差分検出部２１２は、各輝度情報ＡおよびＢについて、前フレームの輝度情報との差分を取り、差分情報ＡおよびＢを生成する。具体的に、差分検出部２１２は、最新の輝度情報ＡおよびＢを、以前の（例えば、１フレーム前の）輝度情報ＡおよびＢと比較し、対応する大領域ごとの差分を差分情報ＡおよびＢとして、差分情報記憶領域７２へと記憶させる。
【００７４】
差分情報ＡおよびＢは、図８（ｂ）に示すように、領域ＩＤ格納領域７２ａと、輝度差分格納領域７２ｂと、からなる。領域ＩＤ格納領域７２ａには、大領域を識別するための識別子が格納される。輝度差分格納領域７２ｂには、各輝度情報を前フレームの輝度情報と比較した際の、輝度差分値が格納される。
【００７５】
さらに、差分検出部２１２は、差分情報Ａに格納される輝度差分値ごとに、差分情報Ｂに格納される輝度差分値と比較して、その差の絶対値が所定の閾値Ｔｈ２以下で、かつ、最も小さい（すなわち、輝度差分値が最も近い値の）類似領域対を検出する。そして、輝度情報の領域対ＩＤ格納領域７１ｃに、類似領域対となる大領域の識別子を格納する。また、差分検出部２１２は、類似領域対を構成する各走査線を、画像バッファ８２に描画する。
【００７６】
例えば、図７に示すように、大領域Ｌ２と大領域Ｒ３とが類似領域対として特定された場合、相関演算部２１３は、当該類似領域対が含まれる基準画像６ａおよび探索画像６ｂの走査線（ここでは、それぞれの画像のライン１とライン２、計４本）、を画像バッファ８２に描画する。
【００７７】
なお、差の絶対値が所定の閾値Ｔｈ２以下の類似領域対が存在しない場合、差分検出部２１２は、記憶装置６０の記憶する順序データ６２を参照し、相関処理に用いる（テンプレートブロックとなる）小領域を特定し、当該小領域含む走査線と、そのエピポーラ線を含む小領域列（走査線）を、画像バッファ８２に描画する。
【００７８】
順序データ６２には、類似領域対が検出されなかった場合に実行される相関処理の実行順序が小領域単位で設定されている。この順序はどのようなものであってもよいが、本実施形態においては、図１０に示すように、テンプレートブロックとなる小領域は左上から走査線に沿って移動してゆく。
【００７９】
例えば、図１０に示すように、ライン５上にテンプレートブロックとなる小領域が存在する場合、差分検出部２１２は、基準画像６ａおよび探索画像６ｂのライン５（計２本）を、それぞれ画像バッファ８２へと描画する。
【００８０】
次に、本実施形態にかかる相関演算部２１３の実行する処理について、図７および図９を参照しながら説明する。
【００８１】
相関演算部２１３は、領域対ＩＤ格納領域７１ｃに類似領域対が格納されている場合、すなわち、差分検出部２１２によって類似領域対が検出された場合、基準画像６ａの類似大領域に含まれる各小領域について、探索画像６ｂで対となる小領域と、当該小領域に隣接する両側の小領域と、の３ブロックについて、相関処理を実行する。
【００８２】
例えば、大領域Ｌ２と大領域Ｒ３とが類似領域対として特定された場合、相関演算部２１３は、図９に示すように、大領域Ｌ２に含まれる各小領域Ｓ１〜Ｓ４をテンプレートブロックとして、大領域Ｒ３に含まれる対応する小領域と、その両側に位置する小領域と、の計３ブロック（サーチウィンドウ）について相関を取る。
【００８３】
また、相関演算部２１３は、領域対ＩＤ格納領域７１ｃに類似領域対が格納されていない場合、記憶装置６０の記憶する順序データ６２を参照し、所定の順序に従ってテンプレートブロックとなる小領域を特定し、対応する探索画像６ｂの走査線１本（小領域８ブロック；図１０ではライン５）をサーチウィンドウとして相関処理を実行する。
【００８４】
そして、相関演算部２１３は、算出した各小領域間の視差に基づいて、視差マップを更新する。
【００８５】
以上のように構成される本実施形態にかかる画像処理装置２での処理の流れについて、図１１に示すフローチャートを用いて説明する。
【００８６】
画像処理装置２の画像処理部２１１は、撮像装置５０から一対の原画像が入力されると、これを画像バッファ３１に描画する（Ｓ２１）。
【００８７】
次に、画像処理部２１１は、原画像に補正処理を施して補正画像６（基準画像６ａおよび探索画像６ｂ）を生成する（Ｓ２２）。そして、画像処理部２１１は、差分検出部２１２に輝度情報生成要求を出力する。
【００８８】
差分検出部２１２は、画像処理部２１１からの輝度情報生成要求を受け付けると、基準画像６ａおよび探索画像６ｂを所定の領域に分割して、輝度情報ＡおよびＢを生成する（Ｓ２３）。
【００８９】
次に、差分検出部２１２は、輝度情報ＡおよびＢを前フレームの輝度情報と比較して、その差分値を格納する差分情報ＡおよびＢを生成する（Ｓ２４）。具体的に、差分検出部２１２は、輝度情報記憶領域７１に記憶される最新の輝度情報ＡおよびＢを、以前の輝度情報ＡおよびＢと比較し、対応する大領域ごとの差分を検出して差分情報ＡおよびＢを生成し、差分情報記憶領域７２へと記憶させる。
【００９０】
そして、差分検出部２１２は、差分情報Ａに格納される輝度差分値ごとに、差分情報Ｂに格納される輝度差分値と比較して、差の絶対値が所定の閾値Ｔｈ２以下であり、かつ、最も差の絶対値の小さい、相互に有する類似領域対を検出する（Ｓ２５）。
【００９１】
Ｓ２５において類似領域対が検出された場合、差分検出部２１２は、輝度情報ＡおよびＢの領域対ＩＤ格納領域７１ｃに、類似領域対を識別するための識別子を格納する。そして、当該大領域を含む走査線を画像バッファ８２へと描画し、相関演算部２１３へ相関処理要求を出力する。
【００９２】
Ｓ２５において類似領域対が検出されなかった場合、差分検出部２１２は、順序データ６２を参照して相関処理の対象となる小領域を特定する。そして、当該小領域を含む基準画像６ａの走査線と、エピポーラ線を含む探索画像６ｂの走査線と、を画像バッファ８２へと描画し、相関演算部２１３へ相関処理要求を出力する。
【００９３】
相関演算部２１３は、差分検出部２１２からの相関処理要求を受け付けると、Ｓ２５において類似領域対が検出されたか否かを判断する（Ｓ２６）。具体的に、相関演算部２１３は、輝度情報ＡおよびＢの領域対ＩＤ格納領域７１ｃに、類似領域対となる領域ＩＤが格納されるレコードが存在するか否かを検出する。レコードが存在する場合には（Ｓ２６でＹＥＳ）、ステップ２７へ進み、レコードが存在しない場合には（Ｓ２６でＮＯ）、ステップ３０へと進む。
【００９４】
類似領域対が存在する場合（Ｓ２６でＹＥＳ）、相関演算部２１３は、類似領域対についてテンプレートブロックと、サーチウィンドウと、を特定する（Ｓ２７）。具体的に、相関演算部２１３は、まず、メモリ２０に格納される最新の輝度情報ＡおよびＢを参照して、領域対ＩＤ格納領域７１ｃに格納される領域ＩＤから、基準画像６ａの大領域を特定し、当該大領域に含まれる各小領域を、テンプレートブロックとして画像バッファ８２からそれぞれ読み出す。さらに、相関演算部２１３は、テンプレートブロックである各小領域に対応する探索画像６ｂの小領域と、当該小領域の両側の小領域と、をサーチウィンドウとして特定し、画像バッファ８２から読み出す。
【００９５】
類似領域対が検出されなかった場合には（Ｓ２６でＮＯ）、相関演算部２１３は、所定の順序に従って、テンプレートブロックと、サーチウィンドウと、を特定する（Ｓ３０）。具体的に、相関演算部２１３は、記憶装置６０に格納される順序データ６２に基づいて、テンプレートブロックとなる基準画像６ａ上の小領域を特定し、画像バッファ８２から読み出す。そして、サーチウィンドウとなる当該小領域に対応する探索画像６ｂの走査線を、画像バッファ８２から読み出す。
【００９６】
そして、相関演算部２１３は、ステップ２７またはステップ３０特定した各テンプレートブロックと、サーチウィンドウと、で相関処理を実行し（Ｓ２８）、算出した小領域ごとの視差に基づいて、視差マップを更新する（Ｓ２９）。
【００９７】
以上のような構成によれば、本実施形態にかかる画像処理装置２は、輝度差分から両ステレオ画像間で対応する領域を推測して相関処理を実行する範囲を限定することにより、フレームレートに遅延なく、ブランク期間内での処理が可能である。
【００９８】
また、輝度値の変化が少ないような領域についても、所定の順序で随時相関処理が実行されるため、より正確な視差マップを、少ない処理コスト得ることが出来る。
【００９９】
さらに、ブランク期間内に処理を終了させることで、補正画像をフレームごとバッファしなくても良く、少ないメモリ容量での画像処理が実現可能である。
【０１００】
なお、各領域のサイズ（水平、垂直画素数）は、一例であって上記実施形態に本願発明が限定されるものではない。
【図面の簡単な説明】
【０１０１】
【図１】本発明の第一の実施形態に係る画像処理装置の機能的な構成を示すブロック図。
【図２】（ａ）基準画像６ａおよび探索画像６ｂの概略図、（ｂ）基準画像６ａから生成される輝度情報の概略図。
【図３】area-based matchingの概略説明図。
【図４】相関処理の対象となるテンプレートブロックとサーチウィンドウの概略図。
【図５】第一の実施形態に係る画像処理装置での処理のフローを示すフローチャート。
【図６】本発明の第二の実施形態に係る画像処理装置の機能的な構成を示すブロック図。
【図７】第二の実施形態に係る基準画像６ａおよび探索画像６ｂの概略図。
【図８】（ａ）輝度情報ＡおよびＢの概略図、（ｂ）差分情報ＡおよびＢの概略図。
【図９】本発明の第二の実施形態に係る画像処理装置において、類似領域対が検出された際に、相関処理の対象となるテンプレートブロックとサーチウィンドウの概略図。
【図１０】本発明の第二の実施形態に係る画像処理装置において、類似領域対が検出されなかった際、相関処理の対象となるテンプレートブロックとサーチウィンドウの概略図。
【図１１】第二の実施形態に係る画像処理装置での処理のフローを示すフローチャート。
【符号の説明】
【０１０２】
１・２：画像処理装置、１００・２００：プロセッサ、１１１・２１１：画像処理部、１１２・２１２：差分検出部、１１３・３１３：相関演算部、４０・６０：記憶装置、４１：補正テーブル、６２：順序データ、２０・７０：メモリ、３０・８０：グラフィックメモリ、５０：撮像装置。
【図１】
2009288893.tif 000003
【図２】
2009288893.tif 000004
【図３】
2009288893.tif 000005
【図４】
2009288893.tif 000006
【図５】
2009288893.tif 000007
【図６】
2009288893.tif 000008
【図７】
2009288893.tif 000009
【図８】
2009288893.tif 000010
【図９】
2009288893.tif 000011
【図１０】
2009288893.tif 000012
【図１１】
2009288893.tif 000013