(57)【要約】【課題】画像を分割して保持することにより、複数の基準データにおけるマッチング演算を高速でかつ並列に演算することができて、かつ、探索範囲が変更可能なマッチング演算回路を提供する。【解決手段】基準画像と参照画像をそれぞれ２のべき乗となる数でかつマッチングブロックの最大行数の半分よりも大きい行数でメモリの分割を行うことにより、各分割メモリ間のアドレス制御とアクセス制御を簡単化する。また、複数の分割された参照画像領域で求められた類似度演算結果の中からさらに類似度の高い点を選び出すことにより、複数の分割画像にまたがる探索範囲におけるマッチング演算を行うことを可能とする。【選択図】図１
2004145493.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像データのうち１つを選択して基準画像、その他を参照画像として、基準画像の一部（ブロックという）を選択して基準データとし、参照画像から対応位置を求める範囲内（対応点探索範囲という）に存在する全ての参照画像のブロック（参照データ）を選択し、基準データと各参照データを単位画素ごとにずらして対応させ、各対応について類似度を演算してもっとも類似する基準データと参照データの対応を求めるブロックマッチング演算回路において、基準画像と参照画像を分割して各分割画像に対しマッチング演算を並列に行うことを特徴とするマッチング演算回路。
【請求項２】
請求項１に記載のマッチング演算回路において、基準画像メモリおよび参照画像メモリを２のべき乗となる行数で分割し、分割されたメモリごとにマッチング演算を並列に行うことを特徴とするマッチング演算回路。
【請求項３】
請求項１に記載のマッチング演算回路において、分割された基準画像と参照画像の対応を切り替えて、複数の分割された参照画像領域にひとつの基準画像領域を割り当て、複数の参照画像領域において同一の基準データに対するマッチング演算を行って求められたマッチング演算結果の中からもっとも類似度の高い位置をもとめることにより、マッチング演算における対応点探索範囲を２次元方向に拡大することを可能とすることを特徴とするマッチング演算回路。
【請求項４】
請求項３に記載のマッチング演算回路において、複数の参照画像領域において求められたマッチング演算結果を、隣接する参照画像領域で求められたマッチング演算結果との比較の実行を選択することにより行方向の対応点探索範囲を可変長として、もっとも類似度の高い位置を求める最小値（類似度の最大値）検出回路を有することを特徴とするマッチング演算回路
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像認識システムにおけるマッチング演算装置に関するものである。
【０００２】
【従来の技術】
現在、特にロボットビジョンや画像検査システムにおいて高速・高性能なマッチング演算装置が強く望まれており、開発が盛んに行われている。マッチング演算装置は、ある画像データともっとも似通った画像データを検出する装置で、検査システムや物体検出および認識などに用いられている。マッチング演算を用いた物体検出手法であるステレオビジョンや動きベクトル検出では、マッチング演算結果をもとに、空間中に存在する物体の位置や動きを求めることができる。検査システムや物体検出および認識装置では処理の高速化が強く求められている。
【０００３】
一般に、マッチング演算は演算量が大きく、リアルタイムで処理することが実用化への課題となっている。それを達成するため、マッチング演算を並列化する手法がよく用いられており、マッチング演算装置において、並列化を行うためには同時に複数のデータをメモリから読み出す必要があり、通常のメモリではこれを実現することができない。そのため、１つの画像データを複数のメモリに分割して保持し、各分割画像に対して処理を並列に行う手法がある。
メモリを分割保持した場合、画像データは連続画像であるため、分割された画像間でデータのやりとりを行う必要が生じ、制御が複雑になるため回路規模が増大するという問題点がある。これを解決するため、分割されたメモリごとに画像データを重複して保持する方法があるが、メモリ領域が２倍必要となるという問題がある。
また、並列演算を行うために必要なデータを単一のメモリから同時に読み出すことが可能なマルチポートメモリが使用されることもある。マルチポートメモリでは、ポート数が増えるに従い、各ポートの読み出し制御部分の論理が複雑となり、回路規模が増大するという問題があり、実現できるポート数に限界がある。
【０００４】
【発明が解決しようとする課題】
本発明の第１の目的は、基準画像と参照画像をそれぞれ分割保持して、分割された参照画像ごとに類似度演算部を配置して演算の並列度を高めることにより、高速なマッチング演算回路を提供することである。
本発明の第２の目的は、ひとつの基準データを複数の分割された参照画像に与えて、各類似度演算部で対応位置として得られた複数の結果の中から、さらに類似度のもっとも高い位置を検出することにより、分割された複数の画像領域にまたがって探索範囲を変更できるマッチング演算回路を提供することである。
【０００５】
【発明が解決するための手段】
基準画像と参照画像をそれぞれ分割してメモリに保存し、分割された参照画像に対して類似度演算部をそれぞれ配置してマッチング演算処理ユニットを構成し、各処理ユニットで並列にマッチング演算を行うことを特徴とする。
さらに、マッチングに用いるブロックの最大サイズ（行数）を分割メモリに含まれる行数の２倍以下にすることにより、各マッチング演算処理ユニットがアクセスするメモリ領域を隣接するメモリ領域に限定し、分割画像間のメモリアクセス制御を簡単化し、回路規模の増大を押さえることを特徴とする。
分割された各画像領域を保存するメモリを２ポートメモリで構成して１ポートを自身の画像領域に対応する処理ユニットからの読み出しに、もう１ポートを他の画像領域に対応する処理ユニットからの読み出しに用いることにより、他のブロックからの読み出し要求に邪魔されず、各ブロックのマッチング演算を並列に行うことを特徴とする。
また、各マッチング演算処理ユニットに与える基準データを選択するためのデータフロー制御部と、各処理ユニットで求められたマッチング演算結果の中からさらに類似度のもっとも高い位置を検出するユニット間最小値（類似度の最大値）検出回路を具備することにより、複数の分割画像にまたがる対応点探索領域における並列マッチング演算を可能にすることを特徴とする。
また、隣接するマッチング演算処理ユニットを結合するか切断するかを選択し、結合されたユニット間でさらに最小値（類似度の最大値）位置を検出することにより、入力数可変の最小値（類似度の最大値）検出回路を構成することを特徴とする。
【０００６】
【発明の実施の形態】
以下，本発明の実施例について図面を参照しながら説明する。
本発明の特徴は、従来の画像を分割して保存するマッチングプロセッサでは、分割された画像間でのデータのやりとりの制御が複雑だったことに対し、画像の分割を行う行数を２ｎとなる数で、かつ、マッチングに用いるブロックサイズの半分よりも大きい数にすることにより、分割された画像を保持するメモリ間でのデータ読み出しに関わるアドレス制御と読み出し制御を共に簡単化した点である。
また、従来は、分割された画像の各メモリを１ポートメモリで構成していたため、自身の読み出し中に他のブロックからの読み出し要求が割り込み処理の高速化を妨げていたことに対して、分割画像を２ポートメモリに保存し、１つをメモリに対応して設けられた読み出し回路による読み出しに、もう１つをその他のブロックからの読み出しに用いることにより、自身の読み出しを他のブロックからの読み出し要求に邪魔されること無しに行うことを可能とし、マッチング処理の高速化を図ることを特徴とする。
さらに、従来は、画像を分割して保持したとき、分割された画像間で対応点探索範囲を自由に拡大することが困難だったことに対して、マッチング演算処理ユニットで求められた、各分割参照画像内におけるマッチング演算結果を、隣接するブロック間で比較し、かつ、隣接するブロック間の比較を行うか行わないかを選択することにより、入力数可変長の最小値（類似度の最大値）検出回路を構成し、対応点探索範囲を複数の分割画像領域にまたがって拡大することを可能とすることを特徴とする。
【０００７】
図１は本発明のマッチング演算装置の第１の実施形態である。
本発明のマッチング演算装置は、基準画像ユニット１をｎ個と、類似度演算処理ユニット２をｎ個と、基準画像ユニットと類似度演算処理ユニット間のデータフローを制御するデータフロー制御部３と、対応点探索範囲を複数ユニットにまたがる画像領域に拡大するために必要なユニット間最小値（類似度の最大値）検出回路４を具備することを特徴とする。
基準画像、参照画像それぞれをｎ個のブロックに分割することにより、最大でｎ個の基準画像に対するマッチング演算が並列に動作することが可能となる。
【０００８】
また、本発明のマッチング演算装置は、データフロー制御部３で各基準画像ユニット１から出力される基準データをどの類似度演算処理ユニット２に与えるかを制御することにより、ステレオビジョンのような１次元対応点探索問題と動き検出のような２次元対応点探索問題を１つのマッチングプロセッサ上で行うことを可能とすることを特徴とする。
マッチング演算により距離を検出する手法であるステレオビジョンでは、カメラの配置により対応点探索範囲を注目画素と同一行に限定することができ、一次元の探索問題となる。本発明を用いることにより、ステレオビジョンのような一次元対応点探索問題は、同じ行アドレスの画像データをもつ基準画像ユニット１と類似度演算処理ユニット１を対応させるようにデータフロー制御部３に存在する各セレクタを切り替えることで実現することが可能となる。このとき、ｎ個のステレオビジョンにおけるマッチング演算が並列に行うことが可能となる。
また、時系列画像間でマッチング演算を行うことにより画像中の動きを検出する手法である動きベクトル検出では、ステレオビジョンのように対応点探索範囲を限定することができないため、２次元の対応点探索問題となる。動き検出のような二次元対応点探索問題では、対応点探索範囲が複数の分割画像ブロックにまたがって存在する。そこで、本発明では、データフロー制御部３内のセレクタを切り替えて、対応点探索範囲とする複数（ｋ個）の類似度演算処理ユニット２に１つの基準画像ユニット１から読み出される同一の基準データを与え、各分割画像内において類似度のもっとも高い点をマッチングの候補位置として検出し、各類似度演算処理ユニット２の出力であるマッチングの候補位置ｋ個の中からユニット間最小値検出回路４でもっとも類似度の高い点を検出し、マッチング位置を求めることを可能にする。このとき、（ｎ／ｋ）個の動きベクトル検出処理を並列に実行することが可能である。
【０００９】
図２は本発明におけるメモリの分割方法を示す図である。
メモリを小ブロックに分割して保存させると、マッチング演算を行う際、複数のブロック間でデータのやりとりが必要となるため、一般に制御が難しくなり、回路規模が増大するという問題点がある。そこで、本発明では、マッチング演算に用いる最大のブロックサイズをもとにメモリを小ブロックに分割することで制御を容易にし、回路規模の増大を防ぐことを可能にする。
【００１０】
マッチングブロックに含む最大行数をＨｍａｘ［ｐｉｘｅｌ］とし、分割されたメモリに含まれる行数をＬとする。
Ｌ＞（Ｈｍａｘ／２）
とするＬを選ぶことで、分割されたメモリへの読み出し範囲が自分の持っているデータと隣接する上下のメモリ内のデータに制限することができ、小ブロック間のデータのやりとりを簡略化することができる。
さらに、Ｌを２のべき乗となる値にし、アドレス演算に補数を用いることにより、他のブロックがもつメモリへの読み出し制御を容易にし、回路規模の増大を防ぐ。
図２では、例えばＬ＝８として画像を分割して保存した場合を示している。Ｌ＝８のとき、行アドレスは３ｂｉｔで表現されるが、さらに上位２ｂｉｔ追加した計５ｂｉｔで行アドレスの演算を補数を用いて行う。このとき、マッチングブロックの最大サイズ（行数）は１５［ｐｉｘｅｌ］である。
フラグが図２中のメモリブロック２の一番上の行にあるとき、読み出す行の最大範囲はマッチングブロック１の１行目からマッチングブロック２の７行目までである。メモリブロック２からメモリブロック１へアクセスするときは、フラグの行アドレスから２の補数を用いて減算を行うと、行アドレスが負数になることにより、５ビット目、４ビット目が共に１になる。
また、フラグがメモリブロック２の一番下の行にあるときは、読み出す行の最大範囲はマッチングブロック２の０行目からマッチングブロック３の６行目までとなり、メモリブロック２からメモリブロック３へアクセスするときは、フラグの行アドレスに対して加算を行った行アドレスの桁上がりにより検出できる。つまり、メモリブロック３にアクセスするときは、５ビット目は０、４ビット目は１となる。
メモリブロック２の中に含まれるデータを読み出すときは、行アドレスは負数にならず、桁上がりもしないため、４ビット目、５ビット目は共に０となる。
さらに、メモリブロック２で生成した行アドレス下位３ビットのみに着目すれば、メモリブロック１，３内での行アドレスになる。
以上より、２のべき乗でメモリを分割することでアドレス変換が不要となり、メモリアクセス制御を簡単化することが可能となり、回路規模の増大を防ぐことが可能となる。
【００１１】
図３は本発明のマッチング演算装置における基準画像ユニットのブロック図である。基準画像ユニットは、分割された基準画像を保存する基準画像メモリ３１と、その読み出し制御回路３２と、隣接する上下のブロックからの読み出し要求を受け付けるための読み出し要求調停回路３３を具備する。
基準画像ユニットは、スタート信号が入力されると、読み出し制御回路３２により基準データのアドレス生成を行い、基準画像メモリ３１に与え、基準データを読み出す。
基準画像メモリ３１は２ポートメモリで構成し、ひとつは自身の読み出しに、もうひとつは他のユニットからの読み出し要求に用いることにより、他のユニットからの読み出し要求に邪魔されることなく自身の読み出しを行うことが可能となるため、処理の高速化を実現することができる。本発明では、画像が分割されているため、その他のユニットからの読み出し要求を受け付ける読み出し要求調停回路３３が必要であるが、各処理ユニットが受け付ける読み出し要求は上下に隣接するユニットのみに制限されるため、制御が単純で構成が容易にすることが可能である。
【００１２】
図４は、本発明のマッチング演算装置における類似度演算処理ユニットのブロック図である。類似度演算処理ユニットは、分割された参照画像を保存する参照画像メモリ４１と、その読み出し制御回路４２と、読み出された基準データと参照データにより類似度を演算しもっとも類似度の高い位置を検出することにより対応位置を求める類似度演算部４４と、隣接する上下のブロック間からの読み出し要求を制御する読み出し要求調停回路４３を具備する。
類似度演算処理ユニットは、基準画像処理ユニットの出力である基準データが与えられると、そのアドレスと対応点探索範囲から、読み出し制御回路４２により参照画像データのアドレスを生成し、参照画像メモリ４１に与え、参照データを読み出す。読み出された参照データと基準データの類似度を類似度演算部４４において演算し、類似度参照ユニット内に含まれる対応点探索範囲内で、もっとも類似度の高い点を検出し、それを出力とする。
参照画像メモリは、２ポートメモリで構成し、基準画像メモリと同様に、ひとつは自身の読み出しに、もうひとつは他のユニットからの読み出し要求に用いることにより、他のユニットからの読み出し要求に邪魔されることなく自身の読み出しを行うことが可能となるため、処理の高速化を実現する。
また、本発明では、参照画像メモリは基準画像メモリと同様に分割し、上下に隣接するユニットからのみ読み出し要求がだされるため、ブロック間の読み出し制御が容易で、かつ、各ユニット内の読み出し要求調停回路の構成を簡単化することができる。
【００１３】
図５はユニット間最小値（類似度の最大値）検出回路のブロック図である。
ブロック間最小値検出回路は、比較値レジスタ５１１と最小値レジスタ５１２と大小比較器５１３とセレクタ５１４からなる比較ユニット５１を類似度演算処理ユニットと同じ数だけ具備することを特徴とする。また、類似度演算処理ユニットごとに比較ユニット５１を割り当て、セレクタ５１４により上下の比較ユニット５１との接続を制御することで、複数の分割画像領域にまたがる探索範囲を可変長で実現することを特徴とする。
比較が開始されると、まず、最小値レジスタを最大値（全ビットをｈｉｇｈにする）を設定し、比較値レジスタ５１１には類似度演算処理ユニットの出力として得られる各ユニット内で求めた最小値（類似度の最大値）を格納する。また、対応点探索範囲の一番上端となる比較ユニット５１では、セレクタ５１４の出力を最小値レジスタとし、隣接する上の比較ユニットとの接続を切断し、対応点探索範囲を設定する。
以上の設定が終了後、対応点探索範囲の上端となる比較ユニットでは、最小値レジスタに格納されている値と比較値レジスタに格納されている値を比較してより小さい値を選択し、最小値レジスタを更新する。上端にあたる比較ユニットにおける最小値レジスタには、最大値が格納されているため、比較の結果として必ず比較値レジスタの値が選ばれる。
最初の比較ユニットにおける比較が終了すると、１つ下に存在する比較ユニットにおいて比較値レジスタと上の比較ユニットから送られてくる値とを比較してより小さい値を選択し、最小値レジスタを更新する。以下の処理ユニットでも、同様に比較と最小値レジスタの更新を行う。
探索範囲の下端となる比較ユニットは、下のブロックとの接続はセレクタによって切断されているため、そこでユニット間比較が終了する。探索範囲の下端となる比較ユニットの最小値レジスタに、探索範囲内に存在するユニット間での最小値（類似度の最大値）が格納され、最小値位置を検出することが可能となる。
以上により、行方向の探索範囲を可変として、複数の分割画像にまたがる対応点探索範囲における最小値（類似度の最大値）検出を実現することができる。
【００１４】
【発明の効果】
以上、実施の形態に基づいて説明したように、本発明では画像を２ｎとなる数でかつマッチングブロックサイズの最大値の半分よりも大きい値で分割し、さらに、各分割画像データを保存するメモリを２ポートメモリで構成することにより、各メモリ間のアクセス制御とアドレス制御を簡単化し、回路規模の増大を押さえることを可能とする。
また、分割された参照画像それぞれに対して類似度演算部を設けることにより、各分割画像でマッチング演算を並列に行うことを可能にする。
類似度演算処理ユニットごとに比較ユニットを配置し、各比較ユニット間の接続を対応点探索範囲によって切り替えることにより、２次元方向の探索範囲を可変にすることを可能にする。
【図面の簡単な説明】
【図１】本発明の第１の実施形態を示すブロック図
【図２】メモリの分割方法
【図３】基準画像ユニットのブロック図
【図４】類似度演算処理ユニットのブロック図
【図５】ブロック間最小値（最大値）検出回路のブロック図
【符号の説明】
１　基準画像ユニット
２　類似度演算処理ユニット
３　データフロー制御部
４　ユニット間最小値検出回路
３１　基準画像ユニット内の基準画像メモリ
３２　基準画像ユニット内の基準画像メモリ読み出し制御回路
３３　基準画像ユニット内の読み出し要求調停回路
４１　類似度演算処理ユニット内の参照画像メモリ
４２　類似度演算処理ユニット内の参照画像メモリ読み出し制御回路
４３　類似度演算処理ユニット内の読み出し要求調停回路
４４　類似度演算処理ユニット内の類似度演算部
５１　ユニット間最小値検出回路内の比較ユニット
５１１　ユニット間最小値検出回路内の比較ユニットにおける比較値レジスタ
５１２　ユニット間最小値検出回路内の比較ユニットにおける最小値レジスタ
５１３　ユニット間最小値検出回路内の比較ユニットにおける大小比較器
５１４　ユニット間最小値検出回路内の比較ユニットにおけるセレクタ
【図１】
2004145493.tif 000003
【図２】
2004145493.tif 000004
【図３】
2004145493.tif 000005
【図４】
2004145493.tif 000006
【図５】
2004145493.tif 000007