(57)【特許請求の範囲】
【請求項１】
それぞれが画像間のデータ演算を実行する複数の画像演算手段と、画像演算の対象とすべき画像を記憶する対象画像メモリと、画像演算の基準となる参照画像メモリとを備え、各画像演算手段が、対象画像メモリ中のデータと参照画像メモリ中のデータとの間でデータ演算を実行するように構成された画像処理装置であって、
前記対象画像メモリ中の、画像演算手段に与えるべき画像領域の第１のアドレスを、所定のクロック信号にしたがってインクリメントしながら発生する第１のアドレス生成手段と、
前記参照画像メモリ中の、画像演算手段に与えるべき対応する画像領域の第２のアドレスを、前記クロック信号にしたがってインクリメントしながら発生する第２のアドレス生成手段と、
前記対象画像メモリから前記第１のアドレスに基づき読み出された前記画像領域の画像データを、所定のクロック時間だけ、順次遅延させる複数の遅延手段と、
前記第１のアドレスに基づき、前記画像演算手段による演算の実行を許可するための演算許可信号を生成して、これを前記画像演算手段の各々に与える演算制御手段とを備え、
前記演算許可信号が与えられたときに、前記画像演算手段の各々が、前記遅延手段から与えられた画像データと、前記第２のアドレスにしたがって前記参照画像メモリから読み出されて与えられた画像データとの間のデータ演算を実行するように構成され、
前記演算制御手段が、すべての画像演算手段に、前記対象画像メモリの画像領域中の画像データが与えられている間、前記演算許可信号を、前記画像演算手段の各々に与えて、前記画像演算手段の各々の画像演算タイミングを等しくしたことを特徴とする画像処理装置。
【請求項２】
それぞれが画像間のデータ演算を実行するＮ個の画像演算手段と、画像演算の対象とすべき画像を記憶する対象画像メモリと、画像演算の基準となる参照画像メモリとを備え、各画像演算手段が、対象画像メモリ中のデータと参照画像メモリ中のデータとの間でデータ演算を実行するように構成された画像処理装置であって、
前記対象画像メモリ中の、画像演算手段に与えるべき画像領域の第１のアドレスを、所定のクロック信号にしたがってインクリメントしながら発生する第１のアドレス生成手段と、
前記参照画像メモリ中の画像演算手段に与えるべき対応する画像領域の第２のアドレスを、前記クロック信号にしたがってインクリメントしながら発生する第２のアドレス生成手段と、
前記対象画像メモリから前記第１のアドレスに基づき読み出された前記画像領域の画像データを、所定のクロック時間だけ、遅延させる（Ｎ−１）個の遅延手段であって、隣接する遅延手段の出力および入力が接続されている遅延手段と、
前記第１のアドレスに基づき、前記画像演算手段による演算の実行を許可するための演算許可信号を生成して、これを前記画像演算手段の各々に与える演算制御手段とを備え、
前記演算許可信号が与えられたときに、前記画像演算手段のうちの一つおよび残りの（Ｎ−１）個の画像演算手段が、それぞれ、前記対象画像メモリから与えられた画像データおよび前記（Ｎ−１）個の遅延手段のうちの何れかから与えられた画像データと、前記第２のアドレスに基づき参照画像メモリから読み出されて与えられた画像データとの間のデータ演算を実行するように構成され、
前記演算制御手段が、すべての画像演算手段に、前記対象画像メモリの画像領域中の画像データが与えられている間、前記演算許可信号を、前記画像演算手段の各々に与えて、前記画像演算手段の各々の画像演算タイミングを等しくしたことを特徴とする画像処理装置。
【請求項３】
前記演算制御手段が、前記第１のアドレスの出力に応答して起動し、前記クロック信号にしたがって計数するカウンタと、前記複数の画像演算手段の数を記憶する並列情報メモリとを備え、前記カウンタの計数値と前記並列情報メモリに記憶された画像演算手段の数とに基づき、演算許可信号を生成するように構成されたことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
画像演算の対象とすべき対象画像を記憶する対象画像メモリに、該対象画像中の所定の画像領域に対応する第１のアドレスを、所定のクロック信号にしたがって順次与え、
画像演算の基準とすべき参照画像を記憶する参照画像メモリに、該参照画像中の所定の画像領域に対応する第２のアドレスを、所定のクロック信号にしたがって順次与え、
前記第１のアドレスにしたがって対象画像メモリから読み出された画像データを、画像データ間のデータ演算を実行する画像演算回路に与えるとともに、所定のクロック時間だけ受け入れたデータを遅延させる遅延回路に与え、
前記第２のアドレスにしたがって、参照画像メモリから読み出された画像データを、前記画像演算回路を含む複数の画像演算回路に与え、
前記遅延回路により遅延された画像データを、他の遅延回路および前記画像演算回路の一つに、順次与え、前記複数の画像演算回路のすべてに、前記対象画像メモリから読み出された、前記画像領域に含まれる対象画像データが与えられる間、前記複数の画像演算回路に、データ演算を許可するような演算許可信号を与えて、前記画像演算手段の各々の画像演算タイミングを等しくし、
前記演算許可信号に応答して、前記複数の画像演算回路にて、所定のデータ演算が実行されるように構成されたことを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置に関し、より詳細には、画像間のパターンマッチングを高速に実行可能な画像処理装置に関する。
【０００２】
【従来の技術】
複数の画像を用いてパターンマッチングを行う方法として、画像間の差分累積値を使用するものや相関値を算出して行うものが知られている。これらのパターンマッチングにより、一方の画像中の位置を検出する場合に、探索されているパターンを含む参照画像と位置検出の対象となる対象画像との間で、差分累積値や相関値などを繰り返し演算する必要がある。
【０００３】
従来より、上記の演算処理を高速に行うために、図６（ａ）に示すように、参照画像を記憶する参照画像メモリと対象画像を記憶する対象画像メモリとを複数備え、参照画像メモリおよび対象画像メモリからなるメモリの組の各々に、相関値演算を行う画像演算部を接続し、並列に相関演算を行い、パターンマッチングの処理を高速に行う技術が知られている。
【０００４】
その一方、特開平３-９４３８７号公報には、図６（ｂ）に示すように、一枚（一画面分）の対象画像に対応するデータを、複数のメモリ（対象画像メモリ(１)ないし(Ｎ)）に分割して記憶する一方、参照画像に対応するデータを、一つのメモリ（参照画像メモリ）に記憶し、各対象画像メモリおよび共通の参照画像メモリに、相関値演算を行う画像演算部を接続する技術が開示されている。この技術ににおいては、参照画像メモリを共通にすることにより、回路構成を小さくすることが可能となる。
【０００５】
【発明が解決しようとする課題】
たとえば、図６（ａ）に示す技術において、Ｎ個の演算部を用いて、Ｎ並列にて演算を実行する構成を考えると、対象画像および参照画像を記憶するためのメモリが、それぞれＮ個ずつ必要であり、かつ、各メモリを制御する回路が必要となり、ハードウェアの制約やコスト面から、高次の並列処理を実行することは困難であるという問題点があった。
【０００６】
その一方、図６（ｂ）に示す技術においては、必要なメモリ容量は、一画面分の対象画像および一画面分の参照画像のデータ容量を記憶できるものであれば良い。しかしながら、この技術においては、一画面分の対象画像を分割して、複数の対象画像メモリに格納するように構成されている。このため、効率良く並列処理を実行するためには、対象画像をどのように分割するかを、随時制御する必要がある。たとえば、対象画像において位置検出のための演算を施すべき領域を拡大または縮小した場合、或いは、その領域の画像中の位置を変更させた場合に、適切に並列処理を実行するためには、対象画像を再度分割して、並列処理のための分割された画像を得るとともに、各種の制御パラメータを新たに生成する必要がある。さらに、図６（ｂ）に示す技術においては、一画面分の対象画像を分割して、分割された領域が、それぞれ、複数の対象画像メモリに記憶されているため、一画面分の対象画像について、複数の画像処理を施す場合に、それぞれの画像処理を実行する回路が、画像の分割を制御する専用の制御回路をもつ必要があるという問題点があった。このような専用の制御回路を付加しない場合には、一画面分の対象画像を記憶するための他の専用のメモリを増設する必要があった。このように、図６（ｂ）に示す技術においては、回路の汎用性に乏しいという問題点があった。
【０００７】
本発明は、他の画像処理回路などと共用できる画像メモリを用いて、並列に画像間の演算を行い、高速にパターンマッチングを実行可能な画像処理装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明の目的は、それぞれが画像間のデータ演算を実行する複数の画像演算手段と、画像演算の対象とすべき画像を記憶する対象画像メモリと、画像演算の基準となる参照画像メモリとを備え、各画像演算手段が、対象画像メモリ中のデータと参照画像メモリ中のデータとの間でデータ演算を実行するように構成された画像処理装置であって、前記対象画像メモリ中の、画像演算手段に与えるべき画像領域の第１のアドレスを、所定のクロック信号にしたがって発生する第１のアドレス生成手段と、前記参照画像メモリ中の、画像演算手段に与えるべき対応する画像領域の第２のアドレスを、前記クロック信号にしたがって発生する第２のアドレス生成手段と、前記対象画像メモリから前記第１のアドレスに基づき読み出された前記画像領域の画像データを、所定のクロック時間だけ、順次遅延させる複数の遅延手段と、前記第１のアドレスに基づき、前記画像演算手段による演算の実行を許可するための演算許可信号を生成して、これを前記画像演算手段の各々に与える演算制御手段とを備え、前記演算許可信号が与えられたときに、前記画像演算手段の各々が、前記遅延手段から与えられた画像データと、前記第２のアドレスにしたがって前記参照画像メモリから読み出されて与えられた画像データとの間のデータ演算を実行するように構成されたことを特徴とする画像処理装置により達成される。
【０００９】
本発明によれば、演算許可信号が与えられている間、複数の画像演算手段において、対象画像メモリ中の画像データと、参照画像メモリ中の画像データとの間で、演算が実行されるため、画像演算手段の数だけ、画像演算処理を並列化することが可能となる。
【００１０】
また、本発明によれば、対象画像メモリから、第１のアドレス発生手段により生成された第１のアドレスが与えられて、画像データが読み出されるため、対象画像メモリの分割など複雑な制御の必要なく、高速に画像演算処理を実行することができる。また、対象画像メモリおよび参照画像メモリには、所望のサイズの画像の画像データを記憶できるため、これらメモリを、他の画像処理回路と共用することができる。
【００１１】
別の見地によれば、本発明にかかる画像処理装置は、それぞれが画像間のデータ演算を実行するＮ個の画像演算手段と、画像演算の対象とすべき画像を記憶する対象画像メモリと、画像演算の基準となる参照画像メモリとを備え、各画像演算手段が、対象画像メモリ中のデータと参照画像メモリ中のデータとの間でデータ演算を実行するように構成され、さらに、前記対象画像メモリ中の、画像演算手段に与えるべき画像領域の第１のアドレスを、所定のクロック信号にしたがって発生する第１のアドレス生成手段と、前記参照画像メモリ中の画像演算手段に与えるべき対応する画像領域の第２のアドレスを、前記クロック信号にしたがって発生する第２のアドレス生成手段と、前記対象画像メモリから前記第１のアドレスに基づき読み出された前記画像領域の画像データを、所定のクロック時間だけ、遅延させる（Ｎ−１）個の遅延手段であって、隣接する遅延手段の出力および入力が接続されている遅延手段と、前記第１のアドレスに基づき、前記画像演算手段による演算の実行を許可するための演算許可信号を生成して、これを前記画像演算手段の各々に与える演算制御手段とを備え、前記演算許可信号が与えられたときに、前記画像演算手段のうちの一つおよび残りの（Ｎ−１）個の画像演算手段が、それぞれ、前記対象画像メモリから与えられた画像データおよび前記（Ｎ−１）個の遅延手段のうちの何れかから与えられた画像データと、前記第２のアドレスに基づき参照画像メモリから読み出されて与えられた画像データとの間のデータ演算を実行するように構成されている。
【００１２】
本発明の好ましい実施態様においては、前記演算制御手段が、すべての画像演算手段に、前記対象画像メモリの画像領域中の画像データが与えられている間、前記演算許可信号を、前記画像演算手段の各々に与えるように構成されている。
【００１３】
この実施態様によれば、演算制御手段におけるデータ演算の結果を、過不足なく利用することが可能となる。
【００１４】
本発明のさらに好ましい実施態様においては、前記演算制御手段が、前記第１のアドレスの出力に応答して起動し、前記クロック信号にしたがって計数するカウンタと、前記複数の画像演算回路の数を記憶する並列情報メモリとを備え、前記カウンタの計数値と前記並列情報メモリに記憶された画像演算回路の数とに基づき、演算許可信号を生成するように構成されたことを特徴とする請求項３に記載の画像処理装置。
【００１５】
また、本発明の目的は、画像演算の対象とすべき対象画像を記憶する対象画像メモリに、該対象画像中の所定の画像領域に対応する第１のアドレスを、所定のクロック信号にしたがって与え、画像演算の基準とすべき参照画像を記憶する参照画像メモリに、該参照画像中の所定の画像領域に対応する第２のアドレスを、所定のクロック信号にしたがって与え、前記第１のアドレスにしたがって対象画像メモリから読み出された画像データを、画像データ間のデータ演算を実行する画像演算回路に与えるとともに、所定のクロック時間だけ受け入れたデータを遅延させる遅延回路に与え、前記第２のアドレスにしたがって、参照画像メモリから読み出された画像データを、前記画像演算回路を含む複数の画像演算回路に与え、前記遅延回路により遅延された画像データを、他の遅延回路および前記画像演算回路の一つに、順次与え、前記複数の画像演算回路に、前記対象画像メモリから読み出された、前記画像領域に含まれる対象画像データが与えられる間、前記複数の画像演算回路に、データ演算を許可するような演算許可信号を与え、前記演算許可信号に応答して、前記複数の画像演算回路にて、所定のデータ演算が実行されるように構成されたことを特徴とする画像処理方法により達成される。
【００１６】
【発明の実施の形態】
以下、添付図面を参照して、本発明の実施の態様につき説明を加える。図１は、本発明の実施の形態にかかる画像処理装置の構成を示すブロックダイヤグラム、図２は、本実施の形態にかかる画像処理装置およびその周辺のハードウェア構成を示すブロックダイヤグラムである。後述するように、この実施の形態においては、基準となるべき参照画像として登録された画像パターンと、位置検出の対象となる対象画像のパターンとを比較して、参照画像が対象画像のどの位置に存在するかを検出するために、上記二つの画像のパターンマッチングを実行している。また、この実施の形態にかかる画像処理装置においては、並列演算の並列度がＮとなっている。
【００１７】
図１に示すように、この実施の形態にかかる画像処理装置１０は、一画面分の対象画像を記憶する第１の画像メモリ（対象画像メモリ）１２と、参照画像を記憶する第２の画像メモリ（参照画像メモリ）１４と、第１の画像メモリ１２および第２の画像メモリ１４に記憶されたデータを受け入れ、これらのデータの間で所定の処理を実行する画像演算部１６−１ないし１６−Ｎと、第１の画像メモリ１２から出力されたデータを順次遅延させる遅延回路１８−１ないし１８−(N−1)と、第１の画像メモリ１２および第２の画像メモリ１４のアドレス制御および画像演算部１６−１ないし１６−Ｎの制御を行う並列演算制御部２０とを備えている。本実施の形態においては、これら構成部分のうち、図２に示すように、画像演算部１６−１ないし１６−Ｎ、遅延回路１８−１ないし１８−(N−1)、および、並列演算制御部２０は、単一のＬＳＩで構成され、第１の画像メモリ１２および第２の画像メモリ１４は、バスを介して、このＬＳＩに接続されている。この実施の形態において、第１の画像メモリ１２および第２の画像メモリ１４は、同時に二つ以上のアドレスのデータの読みだしが可能なように構成されている。
【００１８】
図２に示すように、本実施の形態にかかる画像処理装置は、パーソナルコンピュータなどに装着可能な基板上に取り付けられたＬＳＩ１００に内蔵されている。基板上には、第１のメモリ１２および第２のメモリ１４にそれぞれ対応するＤＲＡＭ１１２、１１４、Ａ／Ｄ変換器１２０およびＤ／Ａ変換器１２２が配置されている。また、ＬＳＩ１００の内部には、画像処理装置の構成部分の他、Ａ／Ｄ変換器１２０およびＤ／Ａ変換器との間、或いは、パーソナルコンピュータのバス１３０との間のデータ入出力を制御する入出力インタフェース（図示せず）などが設けられている。
【００１９】
並列演算制御部２０は、第１の画像メモリ１２に与えるためのアドレスを生成する第１のアドレス生成部２２と、第２の画像メモリ１２に与えるためのアドレスを生成する第２のアドレス生成部２４と、カウンタ４１および後述する並列情報記憶部４２を含む画像演算制御部２６とを有している。本実施の形態にかかる並列演算制御部２０のブロックダイヤグラムである図３を参照して、並列演算制御部２０をより詳細に説明する。
【００２０】
図３に示すように、並列演算制御部２０の第１のアドレス生成部２４は、対象画像のうちパターンマッチングを実行すべき領域に関するデータを記憶する領域情報記憶部３１と、領域情報記憶部３１に記憶されたデータに基づき、第１の画像メモリ１２のアドレスを生成するアドレス発生回路３２と、パターンマッチングをすべきデータであるか否かを示すデータ有効信号を生成するデータ有効信号生成回路３３とを有している。また、第２のアドレス生成部２４は、参照画像のうちパターンマッチングを実行すべき領域に記憶するデータを記憶する領域情報記憶部３４と、領域情報記憶部３１に記憶されたデータに基づき、第２の画像メモリ１４のアドレスを生成するアドレス発生回路３６とを有している。
【００２１】
画像演算制御部２６は、データ有効信号を受け入れ、これに応答して所定のタイミングで計数するカウンタ４１と、並列に動作する画像演算部の個数、画像演算部の接続関係などを記憶する並列情報記憶部４２と、画像演算部１６−１ないし１６−Ｎに演算を実行することを指示する信号（演算実行信号）を与える演算実行信号生成部４３とを備えている。
【００２２】
さて、図１において、第１の画像メモリ１２から読み出された、対象画像中の所定の領域に対応する画像データは、画像演算部１６−１に与えられるとともに、遅延手段１８−１ないし１８−(N−1)を介して、画像演算部１６−２ないし１６−Ｎに与えられる。その一方、第２の画像メモリ１４から読み出された、参照画像中の所定の領域に対応する画像データは、それぞれ、画像演算部１６−１ないし１６−Ｎに与えられる。
【００２３】
画像演算制御部２６は、画像演算部１６−１ないし１６−Ｎの全てに、第１の画像メモリ１２から読み出されたデータのうち、有効なデータが与えられている間、演算実行信号（図１の符号５５）をオンにして、画像演算部１６−１ないし１６−Ｎに演算を実行させる。画像演算部１６−１ないし１６−Ｎの各々においては、演算実行信号がオンである間、対象画像のデータと参照画像のデータとの間の演算を実行する。
【００２４】
画像演算部１６−１ないし１６−Ｎの各々の演算にて得られた演算結果は、それぞれに一時的に保持され、後に、ＬＳＩ１００（図２参照）の入出力インタフェース（図示せず）およびデータバス１３０を介して、パーソナルコンピュータなどのＣＰＵ（図２の符号２００参照）に与えられる。
【００２５】
次に、本実施の形態にかかる画像処理装置の作動を、図４のタイミングチャートを参照してより詳細に説明する。図４においては、第１の画像メモリ１２から出力された画像データ５０−１、遅延回路１８−１ないし１８−(N−1)をそれぞれ経た画像データ５０−２ないし５０−Ｎ、第２の画像メモリ１４から出力された画像データ５４、演算実行信号生成部４３から出力される演算実行信号５５、第１のアドレス生成部２２から出力される第１の画像メモリ１２をアクセスするためのアドレス５７、第２のアドレス生成部２４から出力される第２の画像メモリ１４をアクセスするためのアドレス５８、および、第１のアドレス生成部２４から出力されるデータ有効信号５９の相互の関係が示されている。
【００２６】
アドレス発生回路３２、３５、カウンタ４１、遅延回路１８−１ないし１８−Ｎには、クロックCLK（図４参照）が与えられ、このクロックCLKにしたがって、アドレス値やカウンタをインクリメントし、或いは、信号を遅延している。
【００２７】
図４に示す作動に先立ち、まず、第１の画像メモリ１２および第２の画像メモリ１４に所定の画像データが記憶される。より具体的には、パーソナルコンピュータのＣＰＵ２００の指示にしたがって、ＬＳＩ１００中の画像処理装置１０が、Ａ／Ｄコンバータを介して、ディジタル信号に変換された画像データを読み込み、一画面分の画像データを第１の画像メモリ１２（図２のＤＲＡＭ１１２）に記憶する。また、パーソナルコンピュータの外部記憶装置２２０に記憶された参照画像に対応する画像データが、ＣＰＵ２００により読み出され、バス１３０を介して、ＬＳＩ１００に与えられる。このようにして与えられた画像データは、第２の画像メモリ１４（図２のＤＲＡＭ１１４）に記憶される。
【００２８】
次いで、パーソナルコンピュータのＣＰＵ２００は、パターンマッチングに使用すべき対象画像の領域および参照画像の領域に関する領域データなどを、バス１３０を介して、ＬＳＩ１００内の画像処理装置１０に与える。ＣＰＵ２００により与えられるデータは、図１および図３の符号５６に対応する。これらデータには、領域データの他、並列に動作する画像処理部の個数（この実施の形態においては「Ｎ」）、これらの接続関係、遅延回路に関する情データなどが含まれる。また、第１のアドレス生成部２２に与えられた領域データは、領域情報記憶部３１に記憶される。この領域データにより第１の画像メモリ１２をアクセスすべきアドレスの範囲が確定される。その一方、第２のアドレス生成部２４に与えられた領域データは、領域情報記憶部３４に記憶される。これにより、第２の画像メモリ１４をアクセスすべきアドレスの範囲が確定される。
【００２９】
次いで、パーソナルコンピュータのＣＰＵ２００が、バス１３０を介して、ＬＳＩ１００の画像処理装置１０の並列演算処理部２０に、演算起動命令を与えると、領域情報記憶部３１から、第１の画像メモリ１２をアクセスすべきアドレスの初期値がアドレス発生回路３２に与えられる。これにより、第１のアドレス生成部２２から、第１の画像メモリ１２にアドレスが出力される（図１の符号５７参照）。同様に、領域情報記憶部３４から、第２の画像メモリ１４をアクセスすべきアドレスの初期値が、アドレス発生回路３５に与えられる。これにより、第２のアドレス生成部２４から、第２の画像メモリ１４のアドレスが出力される（図１の符号５８参照）。
【００３０】
第１のアドレス生成部２２および第２のアドレス生成部２４からアドレスが、それぞれ与えられるのに応答して、第１の画像メモリ１２および第２の画像メモリ１４は、対応する画像データを出力する。第１のアドレス生成部２２および第２のアドレス生成部２４から出力されるアドレスの値は、クロックCLKに同期してインクリメントされる。
【００３１】
ここに、第１のアドレス生成部２２からのアドレス出力および第１の画像メモリ１２からのデータ出力と、第２のアドレス生成部２４からのアドレス出力および第２の画像メモリ１４からのデータ出力との同期につき説明を加える。この実施の形態においては、Ｎ個の画像演算部が設けられているため、クロックCLKの１パルス分、信号を遅延させる遅延回路１８により遅延された画像データが、最終段の画像演算部１６−Ｎに与えられるタイミングと、第２の画像メモリ１４が、対応する画像データを出力して、画像演算部１６の各々に与えるタイミングとが一致するようになっている。すなわち、図４に示すように、クロックCLKに同期して出力される第１のアドレス生成部２２からのアドレスが、Ａn-1となったときに、第２のアドレス生成部２４から、アドレスＢ0が出力される。したがって、（Ｎ−１）個の遅延回路１８−１ないし１８−(N−1)により遅延された後に画像演算部１６−Ｎに、アドレスＡ0に対応する第１の画像メモリ１２の画像データＤＡ0が与えられるタイミングで、画像演算部１６−１ないし１６−Ｎに、アドレスＢ0に対応する第１の画像メモリ１４の画像データＤＢ0が与えられる。
遅延回路１８−１ないし１８−(N−1)により、第１のメモリ１２からの画像データは、クロックCLKの１クロック分だけ遅延される。このため、上述した、画像演算部１６−１ないし１６−Ｎに、画像データＤＢ0が与えられるタイミングにおいては、画像演算部１６−１には、Ｎ番目に出力された画像データＤＡn-1が与えられ、画像演算部１６−２には、（Ｎ−１）番目に出力された画像データＤＡn-2が与えられる。同様に、画像演算部１６−(N−1)には、２番目に出力された画像データＤＡ2が与えられ、画像演算部１６−Ｎには、最初に出力された画像データＤＡ1が与えられる（図４のタイミングＴA参照）。
【００３２】
次に、データ有効信号および演算実行信号につき、より詳細に説明を加える。データ有効信号は、アドレス発生回路３２から出力される第１の画像メモリ１２をアクセスするためのアドレスと、領域情報記憶部３１から出力されるパターンマッチングをすべき領域に関する領域データとを受け入れ、これに基づき、第１のメモリ１２から出力される画像データが、パターンマッチングをすべき領域に含まれる画像に対応する間だけハイレベルとなる。図４の例においては、第１の画像メモリ１２のアドレスＡ0に対応する画像データＤＡ0ないしアドレスＡm-1に対応する画像データＤＡm-1が、パターンマッチングをすべき領域に含まれるため、第１のメモリ１２から、画像データＤＡ0ないしＤＡm-1が出力される間だけハイレベルとなる（図４のタイミングＴBおよびタイミングＴC参照）。
【００３３】
画像演算制御部２６のカウンタ４１は、データ有効信号を受け入れ、該データ有効信号がハイレベルになると、これに応答して、クロックCLKに同期して計数を開始する。カウンタ４１の計数値は、演算実行信号生成部４３に与えられる。演算実行信号生成部４３は、並列情報記憶部４２から与えられる、画像演算部の段数（この例では「Ｎ」）を参照して、カウンタ４１の計数値がＮとなったときに、演算実行信号をハイレベルにする（図４のタイミングＴA参照）。この演算実行信号がハイレベルになるタイミングにおいて、画像演算部１６−１ないし１６−Ｎに、それぞれ、「有効な」画像データであるＤＡn-1、ＤＡn-2、・・・、ＤＡ1、ＤＡ0が与えられていることが理解できるであろう。
【００３４】
演算実行信号生成部４３は、データ有効信号生成回路３３からハイレベルの信号がカウンタ４１に与えられ、カウンタ４１が計数をしている限り、演算実行信号をハイレベルに維持する。
【００３５】
演算実行信号生成部４３から画像演算部１６−１ないし１６−Ｎに、ハイレベルの演算実行信号が与えられると、画像演算部１６−１ないし１６−Ｎは、それぞれ、対象画像と参照画像との間の画像演算を実行する。たとえば、画像演算部１６−１は、タイミングＴAで、対象画像の画像データＤＡn-1と参照画像の画像データＤＢ0との間の画像演算が実行され、次のタイミングで、画像データＤＡnと画像データＤＢ1との間の画像演算が実行される。その一方、画像演算部１６−Ｎは、タイミングＴAで、対象画像の画像データＤＡ0と参照画像の画像データＤＢ0との間の画像演算が実行され、次のタイミングで、画像データＤＡ1と画像データＤＢ1との間の画像演算が実行される。
【００３６】
図４のタイミングチャートは、画像の１ラインだけの動作を説明したものであるが、パターンマッチングすべき画像の領域が複数のラインにまたがる場合には、以下のような処理を行った後に、図４と同様の作動が繰り返される。すなわち、１ライン分の処理が終了すると、その旨が、バス１３０（図２参照）を介して、パーソナルコンピュータのＣＰＵ２００に通知され、ＣＰＵ２００は、これに応答して、次のラインに関する領域データなどを、画像処理装置１０の並列演算制御部２０に与える。並列演算制御部２０において、画像演算制御部２６のカウンタ４１はリセットされ、第１のアドレス生成部２２の領域情報記憶部３１および第２のアドレス生成部２４の領域情報記憶部３４には、新たなデータが記憶される。このときに、画像演算部１６−１ないし１６−Ｎに一時的に記憶された演算結果は、バス１３０を介して、ＣＰＵ２００に伝達されても良いし、或いは、画像演算部１６−１ないし１６−１が、すべての演算が終了するまで、演算結果を蓄積するように構成していても良い。前者の場合には、ＣＰＵ２００は、伝達されたデータをメモリ２１０の所定の領域に記憶する。
【００３７】
このような処理の後、第１のアドレス生成部２２および第２のアドレス生成部２４から、それぞれ、第１の画像メモリ１２および第２の画像メモリ１４をアクセスするためのアドレスが出力され、これにより、図４とほぼ同様のシーケンスが、再度実行される。
図５は、図４に示すシーケンスにより、画像演算部１６−１ないし１６−Ｎにおいて演算される対象画像の領域を説明するための図である。前述したように、図４は、１ライン分の処理が実行される際のシーケンスを示しているが、図５においては、図４の処理を繰り返すことにより複数ラインの処理が実行される場合が示されている。
【００３８】
図４の例において、１ライン分の参照画像中の領域の画像データは、ＤＢ0ないしＤＢm-1であったが、これは、図５の例において、参照画像中の領域５００のＢ0,0ないしＢ0,m-1に対応する。また、図５の例では、図４のシーケンスを、ｉ回繰り返されていることが理解できよう。
前述したように、画像演算部１６−２ないし１６−Ｎには、遅延手段によりクロックCLKの１クロック分だけ遅延された画像データが与えられている。したがって、画像処理部１６−１ないし１６−Ｎにおいて、参照画像中の領域５００との間で演算が実行される対象画像５１０中の領域は、それぞれ、領域５０１−１ないし５０１−Ｎとなる。図５の左側の対象画像５１０および各領域５０１を示すが、参照画像中の領域５００と比較される領域が、ひとつずつ左側にシフトしていることが理解できるであろう。
【００３９】
たとえば、画像演算部１６−１においては、対象画像中の領域５０１−１の画像データＡ0,n-1と参照画像中の領域５００のＢ0,0との間で所定の演算が実行され、次いで、画像データＡ0,nと画像データＢ0,1との間、画像データＡ0,n+1と画像データＢ0,2との間、・・・、画像データＡ0,n+m-2と画像データＢ0,m-1との間で、順次所定の演算が実行される。この画像演算部１６での演算には、相関係数の算出や、差分累積の演算など、パターンマッチングのための種々の演算が含まれる。
【００４０】
同様に、画像演算部１６−(N−1)においては、対象画像中の領域５０１−(N−1)の画像データＡ0,1と参照画像中の領域５００のＢ0,0との間で所定の演算が実行され、次いで、画像データＡ0,2と画像データＢ0,1との間、画像データＡ0,3と画像データＢ0,2との間、・・・、画像データＡ0,mと画像データＢ0,m-1との間で、順次所定の演算が実行される。
【００４１】
このようにして、各画像演算部１６−１の演算により得られた演算結果は、最終的に、パーソナルコンピュータのＣＰＵ２００に与えられ、これに基づき、参照画像中の領域に対応する最適な対象画像中の領域が判断され、パターンマッチングが実現される。さらに、ＣＰＵ２００は、パターンマッチングの結果に基づき、たとえば、対象画像中の物体の位置を検出したりすることが可能となる。
【００４２】
本実施の形態によれば、参照画像中の領域との間で処理を実行すべき、対象画像中の領域を、遅延手段によりずらして（シフトして）、ずらされた領域と参照画像中の領域との間の処理を並列に実行することができる。したがって、対象画像をどのように分割するかを決定し、これにしたがって画像を分割して複数の画像メモリに記憶するような処理など煩雑な処理を必要とすることなく、高速に、参照画像中の領域と対象画像中の領域との間での演算を実行することが可能となる。
【００４３】
また、本実施の形態によれば、パターンマッチングに使用すべき領域を、所望のように変化させることができ、また、並列処理の段数を所望のように設定することができるため、汎用性を有している。さらに、対象画像を分割して記憶するなど特定の形態の画像データを記憶する必要がないため、画像メモリを、他の画像処理で使用するものと共有することが可能である。
【００４４】
すなわち、本実施の形態によれば、異なる二つの画像に対して画像間の演算を並列に行なう際に、画像を複数に分割する必要がないため、並列演算を実現するための回路構成を小さくすることができる。また、演算すべき画像中の領域が変化した場合にも簡単な制御で並列処理を行なうことができる。さらに、画像メモリのデータアクセス方法が他の画像処理と同様なため、特別な回路を付加することなく画像メモリを他の画像処理と共有することができる。
【００４５】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【００４６】
たとえば、前記実施の形態においては、遅延回路にて１画素に対応する時間だけ、信号が遅延されるように構成されているが、これに限定されるものではなく、複数画素に対応する時間だけ信号が遅延されるように構成しても良い。すなわち、遅延回路における遅延時間は、所望のように設定することができる。特に、複数画素に対応する時間だけ信号を遅延させることにより、粗いテンプレートマッチング（すなわち、比較する画像領域を、一画素分ずらすのではなく、複数画素分ずらすこと）を実現することが可能となる。これにより、マッチングの計算量を削減することができる。また、前記実施の形態においては、ある１ライン上の画像のデータ演算につき説明しているが、複数ライン上の画像のデータ演算をする場合に、本発明を適用することもできる。
【００４７】
さらに、本明細書において、手段とは、必ずしも物理的手段を意味するものではなく、各手段の機能が、ソフトウエアによって実現される場合も包含する。また、一つの手段の機能が二以上の物理的手段により実現されても、二以上の手段の機能が一つの物理的手段により実現されてもよい。
【００４８】
【発明の効果】
本発明によれば、他の画像処理回路などと共用できる画像メモリを用いて、並列に画像間の演算を行い、高速にパターンマッチングを実行可能な画像処理装置を提供することが可能となる。
【図面の簡単な説明】
【図１】  図１は、本発明の実施の形態にかかる画像処理装置の構成を示すブロックダイヤグラムである。
【図２】  図２は、本実施の形態にかかる画像処理装置およびその周辺のハードウェア構成を示すブロックダイヤグラムである。
【図３】  図３は、本実施の形態にかかる並列演算制御部のブロックダイヤグラムである。
【図４】  図４は、本実施の形態にかかる画像処理装置の作動を示すタイミングチャートである。
【図５】  図５は、本実施の形態において、画像演算部により演算される対象画像の領域を説明するための図である。
【図６】  従来の画像処理装置の概略的な構成を示すブロックダイヤグラムである。
【符号の説明】
１０    画像処理装置
１２    第１の画像メモリ（対象画像メモリ）
１４    第２の画像メモリ（参照画像メモリ）
１６    画像演算部
１８    遅延回路
２０    並列演算制御部
２２    第１のアドレス生成部
２４    第２のアドレス生成部
２６    演算実行信号生成部
４１    カウンタ
４２    並列情報記憶部
【図１】
0003803150.tif 000002
【図２】
0003803150.tif 000003
【図３】
0003803150.tif 000004
【図４】
0003803150.tif 000005
【図５】
0003803150.tif 000006
【図６】
0003803150.tif 000007