説明

画像処理装置

【課題】小さな処理負荷で相関処理を実行する。
【解決手段】 画像上から動きのある領域を特定して、相関処理を実行する範囲を限定する画像処理装置1を提供する。画像処理装置1は、原画像に対して歪み補正処理を実行する画像処理部111と、補正処理の施された画像から動きのある領域を検出する差分検出部112と、動きの検出された領域について相関処理を実行する相関演算部113と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ステレオ画像の処理技術に関するものである。
【背景技術】
【0002】
ステレオカメラによる1対の撮像画像についてその対応関係を相関し、ずれ量(視差)から三角測量により各点の3次元的位置を推測するような技術が知られている。
【0003】
しかしながら相関処理を実行する際には、基準となる撮像画像上に設定される領域(テンプレートブロック)の全てについて、他方の画像と相関を取るため、その処理負荷の大きさが問題となる。
【0004】
この点、特許文献1には、両カメラによる画像の濃度データからオプティカルフローを算出し、これに基づいて直前の視差を推定することにより、短時間で測距が可能な技術が記載されている。
【0005】
【特許文献1】特開平5−256610号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
特許文献1の技術では、オプティカルフローから視差を予測・補完することによって画像処理の負荷を減らすことは可能であっても、実際の相関処理による演算コストを減らすことは出来なかった。
【0007】
そこで本発明では、実際の相関処理を、より少ない演算コストで実行すること可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
前記課題を解決するために、本発明の画像処理装置は、例えば、異なる視点から撮像された第一の画像および第二の画像に関する処理を行う画像処理装置であって、第一の画像から動きのある領域を検出する差分検出手段と、前記第一の画像における動きのある領域と、第二の画像における前記動きのある領域に対応するエピポーラ線上の領域と、について相関処理を実行する相関演算手段と、を備えることを特徴とする。
【発明の効果】
【0009】
以上のように、本発明によれば、ステレオ画像の相関処理による負荷を低減することが可能な技術を提供することを目的とする。
【発明を実施するための最良の形態】
【0010】
以下、本発明を実施するための最良の形態について、図面を参照して説明する。
<第一の実施形態>
図1は、本願の第一の実施形態に係る画像処理装置1の機能構成を示すブロック図である。
【0011】
画像処理装置1には、撮像装置50が接続されている。
【0012】
撮像装置50は、第一のカメラである左側カメラ50aと、第二のカメラである右側カメラ50bと、を有する。これらは同一の高さで、かつ、それぞれの光軸が平行になるような所定の間隔(基線長)で配置されるステレオカメラである。なお、各カメラには、CCDやCMOS等の任意のイメージセンサを用いることが可能である。
【0013】
各カメラはフレームレートに従って、1対のステレオ画像(以下、原画像と称する)を出力し、原画像は図示しないA/D変換器を経て、デジタルデータとして画像処理装置1へと送られる。また、各カメラの駆動は、画像処理装置1からの制御を受けても良いし、撮像装置50の備える図示しないカメラCPUの制御によって、独立して駆動しても良い。
【0014】
画像処理装置1は、CPU(Central Processing Unit)などのプロセッサ100と、プロセッサ100にて扱うデータを記憶させるメモリ20およびグラフィックメモリ30と、
カメラの設定や補正に関する補正テーブル41を記憶する記憶装置40と、から構成される。
【0015】
メモリ20は、輝度情報記憶領域21を構成し、プロセッサ100によって生成される後述の輝度情報を格納する。
【0016】
グラフィックメモリ30は、複数の画像バッファを有する。
【0017】
画像バッファ31は、例えばフレームバッファであり、撮像装置50より出力された1対の原画像を描画するためのものである。ここでは、左側カメラ50aによる原画像と、右側カメラ50bによる原画像と、が順次ストアされる。従って、画像バッファ31は、少なくとも画像データを2フレーム分格納する領域を持つ。
【0018】
画像バッファ32は、原画像に補正処理を施して生成される1対の補正画像6を描画するためのものである。ここでは少なくとも、左側カメラ50aによる原画像に基づく補正画像と、右側カメラ50bによる原画像に基づく補正画像と、がストアされるため、画像バッファ32は、少なくとも画像データを2フレーム分格納する領域を持つ。
【0019】
距離画像メモリ33には、後述する相関演算部113によって生成される視差マップが描画される。視差マップについては、後述する。
【0020】
記憶装置40は、例えば、フラッシュメモリ等の記憶デバイスである。記憶装置40には、後述の補正処理に用いられる補正テーブル41が格納されている。
【0021】
プロセッサ100は、その機能部として、原画像に対して歪み補正処理を実行する画像処理部111と、補正処理の施された画像から動きのある領域を検出する差分検出部112と、動きの検出された領域について相関処理を実行する相関演算部113と、を備えている。なお、これらの機能部は、プロセッサ100がメモリ20にロードした所定のプログラムを実行することで実現される。
【0022】
画像処理部111は、撮像装置50から出力される画像を取得して画像バッファ31へとストアし、当該1対の原画像に対して歪み補正処理を実行する。具体的に、画像処理部111は、撮像装置50からフレームレートに従って出力される1対の原画像を、グラフィックメモリ30内の画像バッファ31に描画する。そして、当該原画像について、補正処理を施す。
【0023】
補正処理とは、各カメラのパラメータ差や位置、および角度のずれにより生じる歪みを補正し、相関処理の認識精度を向上させるために施される前処理である。具体的に、画像処理部111は、記憶装置40に格納される補正テーブル41に従って、例えば、アフィン変換やシェーディング補正等の処理を施し、1対の補正画像6を生成する。さらに、画像処理部111は、生成した補正画像6を画像バッファ32へと描画する。
【0024】
差分検出部112は、補正処理の施された1対の補正画像6のうち、一方の補正画像(以下、基準画像と称する)から、動きのある領域を抽出する。具体的に、差分検出部112は、生成された一対の補正画像6のうち、第一のカメラである左側カメラ50aによって撮像された補正画像(以下、基準画像6a;図2(a)参照)から、所定の領域(ブロック)ごとの輝度値を格納した輝度情報を生成する。
【0025】
ここで、輝度情報について、図2(a)および図2(b)を参照しながら説明する。図2(a)は、所定の大領域に分割された基準画像6aおよび探索画像6bの概略図、図2(b)は、基準画像6aから生成される輝度情報の概略図である。
【0026】
まず、差分検出部112は、画像バッファ32より読み出した基準画像6aを、4つの小領域(S〜S;例えば、4×4画素で構成)よりなる大領域(L〜L12;例えば、8×8画素で構成)に分割する。
【0027】
さらに、差分検出部112は、各大領域内に存在する画素の平均輝度値を算出して、輝度情報を生成し、メモリ20の輝度情報記憶領域21へと格納する。
【0028】
輝度情報は、差分検出部112によって基準画像6aごとに生成され、メモリ20の輝度情報記憶領域21へと格納される。輝度情報記憶領域21は、少なくとも前フレームの基準画像6aに基づく輝度情報と、現フレームの基準画像6aに基づく輝度情報と、を記憶する。輝度情報は、図2(b)に示すように、領域ID格納領域21aと、輝度値格納領域21bと、フラグ格納領域21cと、を有する。
【0029】
領域ID格納領域21aには、差分検出部112によって分割される所定の大領域を識別するための識別子が格納される。
【0030】
輝度値格納領域21bには、大領域内に含まれる画素の平均輝度値が格納される。
【0031】
フラグ格納領域21cには、差分検出部112によって動きが検出された大領域であることを示すフラグが登録される。
【0032】
図1に戻って、差分検出部112は、輝度情報を用いて、基準画像6aから動きのある領域を検出する。具体的に、差分検出部112は、最新の輝度情報と、以前の(即ち、1フレーム前の基準画像に基づく)輝度情報と、について、画像上で対応する位置に存在する大領域を比較する(例えば、LとR、LとR)。そして、差分検出部112は、平均輝度値に所定の閾値Th以上の変化がある大領域が存在するか否かを検出する。前フレームとの輝度差が閾値Th以上ある大領域が存在する場合には、当該大領域の領域IDを格納する最新の輝度情報のフラグ格納領域21cに、フラグ(例えば、「1」)を登録し、後述する相関処理の対象となる領域としてラベリングする。
【0033】
相関演算部113は、差分検出部112によってラベリングされた大領域内に含まれる各小領域について、相関処理を実行して視差マップを更新する。
【0034】
まず、一般的な相関処理(ステレオマッチング)について、図3を用いて説明する。図3は、area-based matchingの概略説明図である。
【0035】
まず、一方のカメラによって撮像された画像(基準画像)が、所定のテンプレートブロック(T〜T)に分割される。そして、全てのテンプレートブロックごとに、他方のカメラによって撮像された画像(探索画像)のエピポーラ線を含む所定の領域(サーチウィンドウ)内を探索し、テンプレートブロックと最も一致する点を決定して、その水平シフト値から視差dを得るものである。
【0036】
本実施形態にかかる相関演算部113は、このような相関処理を差分検出部112のラベリングした大領域に含まれる各小領域についてのみ実行する。まず、相関演算部113は、輝度情報のフラグ格納領域21cを参照して、ラベリングされた大領域を特定する。
【0037】
次に、相関演算部113は、ラベリングされた大領域に含まれる基準画像6aの小領域と、当該小領域に対応する探索画像6bのエピポーラ線を含む所定の小領域列(サーチウィンドウ)と、を画像バッファ32から読み出す。そして、このテンプレートブロックをサーチウィンドウ上で1画素ずつずらしながら一致度(評価値)を算出していく。
【0038】
例えば、図2(a)に示す基準画像6aの大領域Lがラベリングされている場合、相関演算部113は、大領域Lと、そのエピポーラ線を含む大領域R〜Rを画像バッファ32から読み出す。
【0039】
そして、相関演算部113は、図4に示すように、大領域Lに含まれる小領域SおよびSのエピポーラ線を含む所定の小領域列であるサーチウィンドウ101aと、小領域SおよびSのエピポーラ線を含む所定の小領域列であるサーチウィンドウ101bと、を各小領域で探索し、それぞれの評価値を算出する。
【0040】
評価値の算出には、例えば、SAD(Sum of Absolute Difference)法を用いる。SAD法とは、両画像のブロック内の各画素について差の絶対値を取り、その総和を評価値とするものである。この評価値が小さいほどブロック間の一致度が高く、その水平方向のシフト量から視差dが与えられる。
【0041】
ここで、基準画像をImgL、探索画像をImgR、画像平面上の座標について水平方向をi座標、垂直方向をj座標と定義し、小領域をi×j(i=0〜n,j=0〜n)画素からなるブロックとするとき、評価値は(1)の式によって求められる。
【0042】
S=Σ|ImgL(i,j)−ImgR(i,j)| ・・・(1)
なお、評価値の算出法は上記に限定されず、SAD法の他に、ブロック内の各画素について差の二乗を取るSSD(Sum of Squared intensity Difference)法、各画素の輝度値から局所的な平均値を引き、分散値の類似度を求めるNCC(Normalized Cross Correlation)法等、どのような手法を用いてもよい。
【0043】
さらに、相関演算部113は、算出した各小領域間の視差に基づいて、視差マップを更新する。視差マップとは、画素毎に算出された視差を用いて作成される距離画像であり、相関演算部113は、新たに視差が算出された小領域に関してのみ新規の視差を用いて視差マップを再構築し、その他の領域については以前の演算結果を用いる。
【0044】
視差マップは、画像処理装置1がその初期動作に際して、補正画像6の全領域について相関処理を実行して生成する。このような視差マップが距離画像メモリ33に描画されていることにより、相関演算部113は、動きのある領域についてのみ視差マップを更新することできる。
【0045】
以上のように構成される画像処理装置1の実行する処理の流れについて、図5に示すフローチャートを用いて説明する。
【0046】
画像処理装置1の画像処理部111は、撮像装置50から一対の原画像が入力されると、これを画像バッファ31に描画する(S11)。
【0047】
次に、画像処理部111は、原画像に補正処理を施して補正画像6を生成し、画像バッファ32に描画する(S12)。具体的に、画像処理部111は、画像バッファ31から原画像を読み出す。そして、記憶装置40に記憶される補正テーブル41を用いてこれらに補正処理を施して、1対の補正画像(基準画像6aおよび探索画像6b)を画像バッファ32にストアさせる。その後、画像処理部111は、差分検出部112に輝度情報生成要求を出力する。
【0048】
差分検出部112は、画像処理部111からの輝度情報生成要求を受け付けると、基準画像6aを所定の領域に分割して、輝度情報を生成する(S13)。具体的に、差分検出部112は、画像バッファ32から基準画像6aを読み出して、所定の大領域(例えば、8×8画素で構成)に分割し、大領域ごとに平均輝度値を検出して輝度情報を生成する。生成した輝度情報は、メモリ20の輝度情報記憶領域21に記憶させる。
【0049】
次に、差分検出部112は、基準画像6aから動きのある領域を検出する(S14)。具体的に、差分検出部112は、最新の輝度情報と、前フレームの輝度情報と、を輝度情報記憶領域21から読み出して、両輝度情報を対応する大領域ごとに比較し、それぞれ輝度差(変化量)を検出する。そして、差分検出部112は、輝度差が所定の閾値Th以上である大領域が存在するか否かを判断し、存在する場合には(S14でYES)、当該大領域の領域IDが格納される最新の輝度情報のフラグ格納領域21cにフラグを登録し、相関演算部113へ相関処理要求を出力する。存在しなかった場合には(S14でNO)、処理を終了する。
【0050】
相関演算部113は、差分検出部112からの相関処理要求を受け付けると、相関処理の対象となるテンプレートブロックと、サーチウィンドウと、を特定する(S15)。具体的に、相関演算部113は、まず、メモリ20に格納される最新の輝度情報を参照して、フラグ格納領域21cにフラグの格納されている大領域の領域IDを特定し、当該大領域に含まれる各小領域を、テンプレートブロックとして画像バッファ32からそれぞれ読み出す。さらに、相関演算部113は、テンプレートブロックに対応する(エピポーラ線を含む)探索画像6bの小領域列を画像バッファ32から読み出し、それぞれサーチウィンドウとして特定する。
【0051】
次に、相関演算部113は、ステップ15で特定した各テンプレートブロックと、サーチウィンドウと、で相関処理を実行する(S16)。相関演算部113は、各テンプレートブロックを対応するサーチウィンドウ上で1画素ずつずらしながら一致度(評価値)を算出して、最も一致度の高い領域に対する水平方向のシフト量を求め、視差を算出する。
【0052】
そして、相関演算部113は、算出した視差に基づいて、視差マップを更新する(S17)。
【0053】
以上のような構成により、本実施形態にかかる画像処理装置1は、動きのある領域のみについて相関処理を実行することで、処理に要する演算量の増大を抑制し、低負荷で距離画像を生成することが可能である。
【0054】
なお、輝度値格納領域21bに格納される輝度値は、大領域に含まれる画素の平均輝度値の代わりに、各画素の輝度値を加算した合計輝度値を用いても良い。この場合、差分検出部112は、各大領域の合計輝度値の差から動きのある領域を特定すれば良い。
【0055】
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
<変形例>
例えば、上記実施形態は、動きのある大領域が複数検出された場合、それら全ての領域について相関処理を実行するが、本変形例では、最大の動きが検出される大領域についてのみ相関処理を行う場合について説明する。
【0056】
差分検出部112は、基準画像6aより最大の動きが検出された大領域を特定して、当該大領域に含まれる各小領域についてのみ相関処理を実行する。
【0057】
差分検出部112は、図5のステップ14において、平均輝度値に所定の閾値Th以上の変化がある大領域が複数存在する場合、その輝度差(変化量)が最大の大領域を特定する。そして、差分検出部112は、当該大領域のフラグ格納領域21cにフラグを登録し、相関演算部113へ相関処理要求を出力する。
【0058】
以上のような構成により、本変形例においては、動きが大きな領域のみを特定して相関処理を実行することにより、複数の領域で動きが検出された場合でも、相関処理の処理コストを低く抑えることが可能である。
<第二の実施形態>
次に、本発明の第二の実施形態に係る画像処理装置2について説明する。
【0059】
本実施形態にかかる画像処理装置2は、プロセッサ200と、記憶装置60と、メモリ70と、グラフィックメモリ80と、から構成される。
【0060】
記憶装置60は、補正テーブル41と、順序データ62と、を予め記憶する。
【0061】
順序データ62は、撮像画像上に動きのある領域が存在しない場合に、相関処理の対象となる(テンプレートブロックとなる)小領域の順序を予め設定したものである。よって、撮像画像上から動きが検出されない場合、相関処理の実行順序はこの順序データに基づいて定められる。詳細については後述する。
【0062】
メモリ70は、輝度情報記憶領域71と、差分情報記憶領域72と、を有する。
【0063】
輝度情報記憶領域71は、差分検出部212の生成する基準画像6aに基づく輝度情報A、および、探索画像6bに基づく輝度情報Bを記憶する。
【0064】
差分情報記憶領域72は、輝度情報Aを前フレームの輝度情報と比較した場合の大領域ごとの輝度差分を格納する差分情報Aと、輝度情報Bを前フレームの輝度情報と比較した場合の大領域ごとの輝度差分を格納する差分情報Bと、を記憶する。
【0065】
グラフィックメモリ80は、画像バッファ31および距離画像メモリ33に加えて、画像バッファ82を有する。
【0066】
画像バッファ82は、例えばラインバッファであり、原画像に補正処理を施した1対の補正画像6のうち、相関処理に要する走査線を描画するためのものである。画像バッファ82は、少なくとも画像データを2ライン分格納する領域を有し、差分検出部212から入力される画像データを順次格納していく。
【0067】
プロセッサ200は、その機能部として、原画像に対して補正処理を実行する画像処理部211と、補正処理の施された画像の輝度差から相関処理の対象となる領域を抽出する差分検出部212と、抽出された領域について相関処理を実行する相関演算部213と、を備えている。
【0068】
画像処理部211は第一の実施形態と同様の構成であり、撮像装置50より出力された1対の原画像を画像バッファ31へ描画するとともに、補正処理を施して補正画像6(基準画像6aおよび探索画像6b)を生成する。
【0069】
差分検出部212は、基準画像6aおよび探索画像6bについて各輝度情報を生成し、前フレームとの輝度差が類似する領域を特定する。具体的に、差分検出部212は、基準画像6aおよび探索画像6bを所定の小領域を含む大領域ごとに分割し、基準画像6aの各大領域に存在する画素の平均輝度値を格納した輝度情報Aと、探索画像6bの各大領域に存在する画素の平均輝度値を格納した輝度情報Bと、を生成して、輝度情報記憶領域71に記憶させる。
【0070】
大領域および小領域の構成は、図7に示すように第一の実施形態とほぼ同様であるが、その画素数において第一の実施形態とは異なる。ここでは、大領域に含まれる4つの小領域(S〜S)は、それぞれ1画素で構成されるものとする。従って、大領域(L〜L12およびR〜R12)は、2×2画素から構成されている。
【0071】
なお、本実施形態にかかる基準画像6aおよび探索画像6bは、6本の走査線(ライン1〜ライン6;図7参照)から構成される。各走査線を走査する際、リフレッシュレートに従って、一定の間隔でブランク期間Bが回ってくる。本実施形態においては、ブランク期間B内で実行可能な相関処理は、走査線一本(小領域8ブロック)分のマッチング演算である。よって、小領域8ブロック以下のマッチング演算を実行する場合には、処理落ちが生じず、フレームレートに対して遅延なく相関処理が実行可能となる構成である。
【0072】
輝度情報AおよびBについても、図8(a)に示すように、第一の実施形態にかかる輝度情報とほぼ同じ構成であるが、フラグ格納領域21cの代わりに、領域対ID格納領域71cを有する点で異なる。領域対ID格納領域71cには、輝度情報AおよびBの間で、類似する輝度差分を有する大領域の識別子が格納される。詳細については、後述する。
【0073】
次に、差分検出部212は、各輝度情報AおよびBについて、前フレームの輝度情報との差分を取り、差分情報AおよびBを生成する。具体的に、差分検出部212は、最新の輝度情報AおよびBを、以前の(例えば、1フレーム前の)輝度情報AおよびBと比較し、対応する大領域ごとの差分を差分情報AおよびBとして、差分情報記憶領域72へと記憶させる。
【0074】
差分情報AおよびBは、図8(b)に示すように、領域ID格納領域72aと、輝度差分格納領域72bと、からなる。領域ID格納領域72aには、大領域を識別するための識別子が格納される。輝度差分格納領域72bには、各輝度情報を前フレームの輝度情報と比較した際の、輝度差分値が格納される。
【0075】
さらに、差分検出部212は、差分情報Aに格納される輝度差分値ごとに、差分情報Bに格納される輝度差分値と比較して、その差の絶対値が所定の閾値Th以下で、かつ、最も小さい(すなわち、輝度差分値が最も近い値の)類似領域対を検出する。そして、輝度情報の領域対ID格納領域71cに、類似領域対となる大領域の識別子を格納する。また、差分検出部212は、類似領域対を構成する各走査線を、画像バッファ82に描画する。
【0076】
例えば、図7に示すように、大領域Lと大領域Rとが類似領域対として特定された場合、相関演算部213は、当該類似領域対が含まれる基準画像6aおよび探索画像6bの走査線(ここでは、それぞれの画像のライン1とライン2、計4本)、を画像バッファ82に描画する。
【0077】
なお、差の絶対値が所定の閾値Th以下の類似領域対が存在しない場合、差分検出部212は、記憶装置60の記憶する順序データ62を参照し、相関処理に用いる(テンプレートブロックとなる)小領域を特定し、当該小領域含む走査線と、そのエピポーラ線を含む小領域列(走査線)を、画像バッファ82に描画する。
【0078】
順序データ62には、類似領域対が検出されなかった場合に実行される相関処理の実行順序が小領域単位で設定されている。この順序はどのようなものであってもよいが、本実施形態においては、図10に示すように、テンプレートブロックとなる小領域は左上から走査線に沿って移動してゆく。
【0079】
例えば、図10に示すように、ライン5上にテンプレートブロックとなる小領域が存在する場合、差分検出部212は、基準画像6aおよび探索画像6bのライン5(計2本)を、それぞれ画像バッファ82へと描画する。
【0080】
次に、本実施形態にかかる相関演算部213の実行する処理について、図7および図9を参照しながら説明する。
【0081】
相関演算部213は、領域対ID格納領域71cに類似領域対が格納されている場合、すなわち、差分検出部212によって類似領域対が検出された場合、基準画像6aの類似大領域に含まれる各小領域について、探索画像6bで対となる小領域と、当該小領域に隣接する両側の小領域と、の3ブロックについて、相関処理を実行する。
【0082】
例えば、大領域Lと大領域Rとが類似領域対として特定された場合、相関演算部213は、図9に示すように、大領域Lに含まれる各小領域S〜Sをテンプレートブロックとして、大領域Rに含まれる対応する小領域と、その両側に位置する小領域と、の計3ブロック(サーチウィンドウ)について相関を取る。
【0083】
また、相関演算部213は、領域対ID格納領域71cに類似領域対が格納されていない場合、記憶装置60の記憶する順序データ62を参照し、所定の順序に従ってテンプレートブロックとなる小領域を特定し、対応する探索画像6bの走査線1本(小領域8ブロック;図10ではライン5)をサーチウィンドウとして相関処理を実行する。
【0084】
そして、相関演算部213は、算出した各小領域間の視差に基づいて、視差マップを更新する。
【0085】
以上のように構成される本実施形態にかかる画像処理装置2での処理の流れについて、図11に示すフローチャートを用いて説明する。
【0086】
画像処理装置2の画像処理部211は、撮像装置50から一対の原画像が入力されると、これを画像バッファ31に描画する(S21)。
【0087】
次に、画像処理部211は、原画像に補正処理を施して補正画像6(基準画像6aおよび探索画像6b)を生成する(S22)。そして、画像処理部211は、差分検出部212に輝度情報生成要求を出力する。
【0088】
差分検出部212は、画像処理部211からの輝度情報生成要求を受け付けると、基準画像6aおよび探索画像6bを所定の領域に分割して、輝度情報AおよびBを生成する(S23)。
【0089】
次に、差分検出部212は、輝度情報AおよびBを前フレームの輝度情報と比較して、その差分値を格納する差分情報AおよびBを生成する(S24)。具体的に、差分検出部212は、輝度情報記憶領域71に記憶される最新の輝度情報AおよびBを、以前の輝度情報AおよびBと比較し、対応する大領域ごとの差分を検出して差分情報AおよびBを生成し、差分情報記憶領域72へと記憶させる。
【0090】
そして、差分検出部212は、差分情報Aに格納される輝度差分値ごとに、差分情報Bに格納される輝度差分値と比較して、差の絶対値が所定の閾値Th以下であり、かつ、最も差の絶対値の小さい、相互に有する類似領域対を検出する(S25)。
【0091】
S25において類似領域対が検出された場合、差分検出部212は、輝度情報AおよびBの領域対ID格納領域71cに、類似領域対を識別するための識別子を格納する。そして、当該大領域を含む走査線を画像バッファ82へと描画し、相関演算部213へ相関処理要求を出力する。
【0092】
S25において類似領域対が検出されなかった場合、差分検出部212は、順序データ62を参照して相関処理の対象となる小領域を特定する。そして、当該小領域を含む基準画像6aの走査線と、エピポーラ線を含む探索画像6bの走査線と、を画像バッファ82へと描画し、相関演算部213へ相関処理要求を出力する。
【0093】
相関演算部213は、差分検出部212からの相関処理要求を受け付けると、S25において類似領域対が検出されたか否かを判断する(S26)。具体的に、相関演算部213は、輝度情報AおよびBの領域対ID格納領域71cに、類似領域対となる領域IDが格納されるレコードが存在するか否かを検出する。レコードが存在する場合には(S26でYES)、ステップ27へ進み、レコードが存在しない場合には(S26でNO)、ステップ30へと進む。
【0094】
類似領域対が存在する場合(S26でYES)、相関演算部213は、類似領域対についてテンプレートブロックと、サーチウィンドウと、を特定する(S27)。具体的に、相関演算部213は、まず、メモリ20に格納される最新の輝度情報AおよびBを参照して、領域対ID格納領域71cに格納される領域IDから、基準画像6aの大領域を特定し、当該大領域に含まれる各小領域を、テンプレートブロックとして画像バッファ82からそれぞれ読み出す。さらに、相関演算部213は、テンプレートブロックである各小領域に対応する探索画像6bの小領域と、当該小領域の両側の小領域と、をサーチウィンドウとして特定し、画像バッファ82から読み出す。
【0095】
類似領域対が検出されなかった場合には(S26でNO)、相関演算部213は、所定の順序に従って、テンプレートブロックと、サーチウィンドウと、を特定する(S30)。具体的に、相関演算部213は、記憶装置60に格納される順序データ62に基づいて、テンプレートブロックとなる基準画像6a上の小領域を特定し、画像バッファ82から読み出す。そして、サーチウィンドウとなる当該小領域に対応する探索画像6bの走査線を、画像バッファ82から読み出す。
【0096】
そして、相関演算部213は、ステップ27またはステップ30特定した各テンプレートブロックと、サーチウィンドウと、で相関処理を実行し(S28)、算出した小領域ごとの視差に基づいて、視差マップを更新する(S29)。
【0097】
以上のような構成によれば、本実施形態にかかる画像処理装置2は、輝度差分から両ステレオ画像間で対応する領域を推測して相関処理を実行する範囲を限定することにより、フレームレートに遅延なく、ブランク期間内での処理が可能である。
【0098】
また、輝度値の変化が少ないような領域についても、所定の順序で随時相関処理が実行されるため、より正確な視差マップを、少ない処理コスト得ることが出来る。
【0099】
さらに、ブランク期間内に処理を終了させることで、補正画像をフレームごとバッファしなくても良く、少ないメモリ容量での画像処理が実現可能である。
【0100】
なお、各領域のサイズ(水平、垂直画素数)は、一例であって上記実施形態に本願発明が限定されるものではない。
【図面の簡単な説明】
【0101】
【図1】本発明の第一の実施形態に係る画像処理装置の機能的な構成を示すブロック図。
【図2】(a)基準画像6aおよび探索画像6bの概略図、(b)基準画像6aから生成される輝度情報の概略図。
【図3】area-based matchingの概略説明図。
【図4】相関処理の対象となるテンプレートブロックとサーチウィンドウの概略図。
【図5】第一の実施形態に係る画像処理装置での処理のフローを示すフローチャート。
【図6】本発明の第二の実施形態に係る画像処理装置の機能的な構成を示すブロック図。
【図7】第二の実施形態に係る基準画像6aおよび探索画像6bの概略図。
【図8】(a)輝度情報AおよびBの概略図、(b)差分情報AおよびBの概略図。
【図9】本発明の第二の実施形態に係る画像処理装置において、類似領域対が検出された際に、相関処理の対象となるテンプレートブロックとサーチウィンドウの概略図。
【図10】本発明の第二の実施形態に係る画像処理装置において、類似領域対が検出されなかった際、相関処理の対象となるテンプレートブロックとサーチウィンドウの概略図。
【図11】第二の実施形態に係る画像処理装置での処理のフローを示すフローチャート。
【符号の説明】
【0102】
1・2:画像処理装置、100・200:プロセッサ、111・211:画像処理部、112・212:差分検出部、113・313:相関演算部、40・60:記憶装置、41:補正テーブル、62:順序データ、20・70:メモリ、30・80:グラフィックメモリ、50:撮像装置。

【特許請求の範囲】
【請求項1】
異なる視点から撮像された第1の画像および第2の画像を撮像手段から取得する処理部と、
第1の画像から動きのある領域を検出する差分検出手段と、
前記第1の画像における動きのある領域と、前記動きのある領域に対応する前記第2の画像のエピポーラ線を含む所定の領域と、について相関処理を実行する相関演算手段と、を備えること
を特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記差分検出手段は、
第1の画像を複数の第一の領域からなる第二の領域に分割し、
前記第1の画像に含まれる第二の領域の輝度値の変化量が、所定の閾値以上である場合に、当該第二の領域を動きのある領域として判断すること
を特徴とする画像処理装置。
【請求項3】
請求項2に記載の画像処理装置であって、
前記差分検出手段は、
前記第1の画像に含まれる前記第二の領域の輝度値の変化量が、所定の閾値以上であり、かつ、最大である場合に、当該第二の領域を動きのある領域として判断すること
を特徴とする画像処理装置。
【請求項4】
請求項2または3に記載の画像処理装置であって、
前記相関演算手段は、
前記動きのある領域として検出された第二の領域に含まれる第一の領域と、
当該第一の領域に対応する、前記第2の画像のエピポーラ線を含む所定の領域と、
について相関処理を実行すること
を特徴とする画像処理装置。
【請求項5】
異なる視点から撮像された第1の画像および第2の画像を撮像手段から取得する処理部と、
第1の画像を複数の第一の領域からなる第二の領域に分割し、
第2の画像を複数の第三の領域からなる第四の領域に分割し、
前記第1の画像に含まれる第二の領域の輝度値の変化量を検出し、
前記第2の画像に含まれる第四の領域の輝度値の変化量を検出して、
前記第1の画像に含まれる第二の領域の輝度値の変化量と、前記第2の画像に含まれる第四の領域の輝度値の変化量と、を比較して、両変化量の差分が、所定の閾値以下である領域対を検出する差分検出手段と、
前記領域対について、相関処理を実行する相関演算手段と、を備えること
を特徴とする画像処理装置。
【請求項6】
請求項5に記載の画像処理装置であって、
前記相関演算手段は、
前記領域対として検出された第二の領域に含まれる第一の領域と、
当該第一の領域に対応する第三の領域、および、当該第三の領域の左右に存在する第三の領域と、
について相関処理を実行すること
を特徴とする画像処理装置。
【請求項7】
請求項5または6に記載の画像処理装置であって、
前記差分検出手段によって領域対が検出されなかった場合に、
前記相関演算手段は、
所定の順序で定まる第一の領域と、当該第一の領域に対応するエピポーラ線を含む第三の領域列と、
について相関処理を実行すること
を特徴とする画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2009−288893(P2009−288893A)
【公開日】平成21年12月10日(2009.12.10)
【国際特許分類】
【出願番号】特願2008−138553(P2008−138553)
【出願日】平成20年5月27日(2008.5.27)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】