(57)【特許請求の範囲】
【請求項１】
複数のメモリバンクからなるメモリと、
検出パターンに基づいて、同時に読み出そうとする所望の複数データの存在する範囲をデータの分割単位と決めるデータ分割判定手段と、
上記メモリに対するデータの書き込み／読み出しを制御するメモリ制御手段とを備え、  上記メモリ制御手段は、上記データ分割判定手段からの分割単位に基づき、全データを複数の範囲に分割し、各範囲内のデータを上記複数のメモリバンクに振り分け、夫々のメモリバンクにおいては一つのワード線上に格納することで、上記メモリ上に配置された上記全データから、上記各範囲における同時読み出し対象の複数データを周期的に読み出し、上記各範囲内の一部を隣接する範囲内のデータと順次置き換え又は書き換えて、次の同時読み出し対象の複数データを読み出す制御を行うことを特徴とするデータ格納装置。
【請求項２】
上記メモリ制御手段は、各範囲における同時読み出し対象の複数データの周期的な読み出し及び読み出された上記読み出し対象の複数データの少なくとも一部を、書き込み先のデータの退避後に書き込むことを繰り返すことにより、全データに対し所望の複数データの同時読み出しを行うことを特徴とする請求項１記載のデータ格納装置。
【請求項３】
検出パターンに基づいて、同時に読み出そうとする所望の複数データの存在する範囲をデータの分割単位と決めるデータ分割判定手段と、
複数のメモリバンクからなるメモリに対するデータの書き込み／読み出しを制御するメモリ制御手段とを備え、
上記メモリ制御手段は、上記データ分割判定手段からの分割単位に基づき、全データを複数の範囲に分割し、各範囲内のデータを上記複数のメモリバンクに振り分け、夫々のメモリバンクにおいては一つのワード線上に格納することで、上記メモリ上に配置された上記全データから、上記各範囲における同時読み出し対象の複数データを周期的に読み出し、上記各範囲内の一部を隣接する範囲内のデータと順次置き換え又は書き換えて、次の同時読み出し対象の複数データを読み出す制御を行うことを特徴とするデータ格納制御装置。
【請求項４】
上記メモリ制御手段は、各範囲における同時読み出し対象の複数データの周期的な読み出し及び読み出された上記読み出し対象の複数データの少なくとも一部を、書き込み先のデータの退避後に書き込むことを繰り返すことにより、全データに対し所望の複数データの同時読み出しを行うことを特徴とする請求項３記載のデータ格納制御装置。
【請求項５】
全データを複数のメモリバンクからなるメモリに格納する際に、同時に読み出そうとする所望の複数データの存在する範囲を分割単位として、全データを複数の範囲に分割し、
各範囲内のデータを上記複数のメモリバンクに振り分け、夫々のメモリバンクにおいては一つのワード線上に格納することで上記メモリ上に配置された上記全データから、
上記各範囲における同時読み出し対象の複数データを周期的に読み出し、上記各範囲内の一部を隣接する範囲内のデータと順次置き換え又は書き換えて、次の同時読み出し対象の複数データを読み出すことを特徴とするデータ格納制御方法。
【請求項６】
各範囲における同時読み出し対象の複数データの周期的な読み出し及び読み出された上記読み出し対象の複数データの少なくとも一部を、書き込み先のデータの退避後に書き込むことを繰り返すことにより、全データに対し所望の複数データの同時読み出しを行うことを特徴とする請求項５記載のデータ格納制御方法。
【請求項７】
画像の動き検出を２ステップ方式の代表点マッチングにより行う過程において、画像内における任意の複数の画素データパターンを同時に読み出すことを特徴とする請求項５記載のデータ格納制御方法。
【請求項８】
複数のメモリバンクからなるメモリに全データを格納して、所望の複数データの同時読み出しを行うデータ格納制御をコンピュータにより実行するためのデータ格納制御プログラムであって、
全データを複数のメモリバンクからなるメモリに格納する際に、同時に読み出そうとする所望の複数データの存在する範囲を分割単位として、全データを複数の範囲に分割し、
各範囲内のデータを上記複数のメモリバンクに振り分け、夫々のメモリバンクにおいては一つのワード線上に格納することで上記メモリ上に配置された上記全データから、
上記各範囲における同時読み出し対象の複数データを周期的に読み出し、上記各範囲内の一部を隣接する範囲内のデータと順次置き換え又は書き換えて、次の同時読み出し対象の複数データを読み出すことを特徴とするデータ格納制御プログラム。
【請求項９】
各範囲における同時読み出し対象の複数データの周期的な読み出し及び読み出された上記読み出し対象の複数データの少なくとも一部を、書き込み先のデータの退避後に書き込むことを繰り返すことにより、全データに対し所望の複数データの同時読み出しを行うことを特徴とする請求項８記載のデータ格納制御プログラム。
【請求項１０】
画像の動き検出を２ステップ方式の代表点マッチングにより行う過程において、画像内における任意の複数の画素データパターンを同時に読み出すことを特徴とする請求項８記載のデータ格納制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のメモリバンクからなるメモリに全データを格納して、所望の複数データの同時読み出しを行うデータ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラムに関する。
【背景技術】
【０００２】
半導体メモリは、図２０に示すように、ワード線ＷＬとビット線ＢＬを指定してメモリセルＭＣをアクセスする構造となっており、活性化された１ワード線とビット線の交差する位置にあるメモリセルＭＣに格納されたデータが読み出される。
【０００３】
このような構造の半導体メモリでは、同じビット線を複数のワード線のデータが共有しているので、図２１のように、複数のワード線ＷＬ１，ＷＬ２を指定するとビット線に出てきたデータが壊れてしまうため、異なるワード線のデータには同時アクセスできない。
【０００４】
また、独立したメモリバンクからは同時にデータを読み出すことが可能であり、図２２に示すように、メモリを複数のメモリバンクＢＫ１〜ＢＫｎに分け、それぞれのメモリバンクに異なるアドレスを指定することで複数のワード線のデータに同時アクセスすることができるが、メモリバンク内の異なるワード線のデータには同時アクセスできない。すなわち、同時に読み出すことが出来るのは各メモリバンクから同一ワード線上に格納されたデータであり、同一メモリバンクにおける異なるワード線上に格納されたデータは同時読み出し不可能である。
【０００５】
ここで、メモリバンクとは、メモリを管理するときの単位となる、一定の容量を持った領域である。よって、独立したメモリバンク間においてデータのアクセス衝突は生じない。
なお、メモリは、１又は複数のメモリバンクにより構成される。
【０００６】
また、従来より、入力データに含まれる特定のデータ配列を認識することにより、例えば画像データのパターン認識や動き検出等の処理が行われている。
【０００７】
例えば、数ライン画像データを蓄積でき画素単位で出力できるバッファメモリと、数ビット幅データを処理可のプロセッサエレメントの複数を含み複数プロセッサエレメントで同時並行してデータ処理ができるデータ処理器と、マッチング参照データと制御データを格納する制御情報メモリとを備え、データ処理器の各プロセッサエレメントが、バッファメモリが出力した画像データの中の、自己に宛てられた注目画素中心のマトリクスの画像データ群を、閾値を用いて２値化して該プロセッサエレメントが処理可能なシリアル配列のビット幅に区切った対象データに変換し、同形式で制御情報メモリにあった参照データと合致か判定することが行われている（例えば、特許文献１参照）。
【０００８】
また、動画像の処理の分野において、動き、すなわち、時間的に異なる画像中の物体の動き方向と大きさ（または速さ）が用いられる。例えば、画像の高能率符号化における動き補償フレーム間符号化や、フレーム間時間領域フィルタによるテレビジョン雑音低減装置における動きによるパラメータ制御等に動きが用いられる。動きを求める動き検出方法としては、ブロックマッチング法が知られている。
【０００９】
本件出願人は、画像信号中の動きを検出する動き検出方法において、(a) １画面全体または１画面を複数に分割した比較的大きなブロック毎に、マッチング法によって積算値テーブルを生成し、上記積算値テーブルを用いて、上記１画面全体または１画面を複数に分割した比較的大きなブロック毎に、１または複数の候補ベクトルを抽出するステップと、(b) 上記候補ベクトルのみを対象としてマッチングを行い、１画素または比較的小さいブロック毎に動きベクトルを検出するステップとからなる２ステップの動き検出方法を先に提案している。この２ステップの動き検出方法では、画像の動き検出を２ステップ方式の代表点マッチングにより行う代表点マッチング、ベクトル割り当ての２ステップの過程において、いずれも画像内における任意の複数の画素データを同時に読み出す必要がある（例えば、特許文献２参照）。
【００１０】
【特許文献１】特開２００３−２０３２３６号公報
【特許文献２】特開２００１−６１１５２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ところで、半導体メモリでは、１メモリバンクにつき１ワード線のみで構成されると、上述のようにデータが壊れることなくデータの同時読み出しは可能であるが、格納すべきデータ量が膨大になるとメモリバンク数が増大し、ハードウエアに負担がかかり、現実的でない。
【００１２】
そこで、従来の技術ではデータを読み出し、一時的に記憶するバッファやキャッシュを設け、所望の複数データを複数回に時間的に分割し、バッファやキャッシュに一時記憶し、読み出していた。
【００１３】
しかしながら、所望の複数データの数が増え、かつ、データの入出力が高速になると、データの読み出し処理が時間的に遅れてしまう。また、これを解決するために、一時記憶するバッファやキャッシュを増やすことがなされているが、その領域が大きくなるとハードウエアに負担が生じる。
【００１４】
そこで、本発明の目的は、上述の如き従来の問題点に鑑み、ハードウエアに負担を生じることなく、複数のメモリバンクからなるメモリに全データを格納して、所望の複数データの同時読み出しを行うことのできるデータ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラムを提供することにある。
【００１５】
本発明の更に他の目的、本発明によって得られる具体的な利点は、以下に説明される実施の形態の説明から一層明らかにされる。
【課題を解決するための手段】
【００１６】
本発明では、所望の複数データの存在する範囲のデータを同時読み出し可能に配置し、上記範囲の周期で全データを分割し、周期的に配置する。初期配置での同時読み出し可能な範囲を周期的に読み出し、入れ換え操作を順に行う。これにより全データにおいて任意の複数データの同時読み出しを可能とする。
【００１７】
本発明に係るデータ格納装置は、複数のメモリバンクからなるメモリと、検出パターンに基づいて、同時に読み出そうとする所望の複数データの存在する範囲をデータの分割単位と決めるデータ分割判定手段と、上記メモリに対するデータの書き込み／読み出しを制御するメモリ制御手段とを備え、上記メモリ制御手段は、上記データ分割判定手段からの分割単位に基づき、全データを複数の範囲に分割し、各範囲内のデータを上記複数のメモリバンクに振り分け、夫々のメモリバンクにおいては一つのワード線上に格納することで、上記メモリ上に配置された上記全データから、上記各範囲における同時読み出し対象の複数データを周期的に読み出し、上記各範囲内の一部を隣接する範囲内のデータと順次置き換え又は書き換えて、次の同時読み出し対象の複数データを読み出す制御を行うことを特徴とする。
【００１８】
また、本発明に係るデータ格納制御装置は、検出パターンに基づいて、同時に読み出そうとする所望の複数データの存在する範囲をデータの分割単位と決めるデータ分割判定手段と、複数のメモリバンクからなるメモリに対するデータの書き込み／読み出しを制御するメモリ制御手段とを備え、上記メモリ制御手段は、上記データ分割判定手段からの分割単位に基づき、全データを複数の範囲に分割し、各範囲内のデータを上記複数のメモリバンクに振り分け、夫々のメモリバンクにおいては一つのワード線上に格納することで、上記メモリ上に配置された上記全データから、上記各範囲における同時読み出し対象の複数データを周期的に読み出し、上記各範囲内の一部を隣接する範囲内のデータと順次置き換え又は書き換えて、次の同時読み出し対象の複数データを読み出す制御を行うことを特徴とする。
【００１９】
また、本発明に係るデータ格納制御方法は、全データを複数のメモリバンクからなるメモリに格納する際に、同時に読み出そうとする所望の複数データの存在する範囲を分割単位として、全データを複数の範囲に分割し、各範囲内のデータを上記複数のメモリバンクに振り分け、夫々のメモリバンクにおいては一つのワード線上に格納することで上記メモリ上に配置された上記全データから、上記各範囲における同時読み出し対象の複数データを周期的に読み出し、上記各範囲内の一部を隣接する範囲内のデータと順次置き換え又は書き換えて、次の同時読み出し対象の複数データを読み出すことを特徴とする。
【００２０】
さらに、本発明に係るデータ格納制御プログラムは、複数のメモリバンクからなるメモリに全データを格納して、所望の複数データの同時読み出しを行うデータ格納制御をコンピュータにより実行するためのデータ格納制御プログラムであって、全データを複数のメモリバンクからなるメモリに格納する際に、同時に読み出そうとする所望の複数データの存在する範囲を分割単位として、全データを複数の範囲に分割し、各範囲内のデータを上記複数のメモリバンクに振り分け、夫々のメモリバンクにおいては一つのワード線上に格納することで上記メモリ上に配置された上記全データから、上記各範囲における同時読み出し対象の複数データを周期的に読み出し、上記各範囲内の一部を隣接する範囲内のデータと順次置き換え又は書き換えて、次の同時読み出し対象の複数データを読み出すことを特徴とする。
【発明の効果】
【００２１】
本発明によれば、ハードウエアに負担を生じることなく、全データにおいて任意の複数データの同時読み出しを行うことができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。なお、本発明は以下の例に限定されるものではなく、本発明の要旨を逸脱しない範囲で、任意に変更可能であることは言うまでもない。
【００２３】
本発明は、例えば図１に示すような構成のデータ格納装置１００により実施される。
【００２４】
このデータ格納装置１００は、画像データＩＤが供給されるメモリ制御部１０と、検出パターンＤＰが供給されるデータ分割判定部２０、アドレス変換部３０及びデータ選択部６０と、上記データ分割判定部２０及びアドレス変換部３０の出力に基づいて論理アドレスＬＡを生成して上記メモリ制御部１０に供給するアドレス生成部４０と、上記メモリ制御部１０により画素データＰＤの書き込み／読み出しが行われる複数メモリバンクからなるメモリ５０を備え、上記メモリ５０から読み出された画素データＰＤを上記データ選択部６０を介して出力するようになっている。
【００２５】
このデータ格納装置１００において、上記メモリ制御部１０は、例えばマイクロプロセッサにて構成され、図示しないプロラムメモリに格納されたデータ格納制御プログラムに従って、図２のフローチャートに示すように、データを初期配置し、初期配置したデータの一部を入れ替えて上書きして、任意の複数画素データを同時に読み出す処理を行う。
【００２６】
すなわち、上記メモリ制御部１０は、先ず、検出パターンＤＰにより示される同時に読み出す複数の画素データの空間的範囲を上記データ分割判定部２０により検出して（ステップＳ１）、同時読み出し可能なデータ範囲、周期を決定し（ステップＳ２）、同時読み出しする各データの各メモリバンクと、ワード線のメモリアドレスを決定する（ステップＳ３）。
【００２７】
次に、上記メモリ制御部１０は、全画像データの書き込みアドレスを決定してメモリ５０に書き込み初期配置する（ステップＳ４）。
【００２８】
ここで、全画像データの初期配置について説明する。
【００２９】
ある所望の複数画素データが存在する範囲におけるデータを、各メモリバンクの同一ワード線上に配置する。これにより、ある所望の複数画素データの同時読み出しは可能になる。なお、第１のメモリバンクでは第Ｎワード線にデータを格納し、第２メモリバンクでは第Ｍワード線上にデータを格納するようにしてもよい。尚、NとMは同じであっても構わない。
【００３０】
次に、上記データが存在する範囲あるいは、その範囲上の範囲を１周期として、全画像データを分割する。上記範囲により分割されたデータを各メモリバンクのワード線上にそれぞれ配置する。これにより各範囲に存在する複数画素データは同時に読み出すことが出来る。
【００３１】
しかしながら、この初期配置状態では、上述した範囲がまたがってしまう場合に複数画素データを同時に読み出すことが出来ない。
【００３２】
そこで、上記メモリ制御部１０は、初期配置したデータを上記メモリ５０から読み出し、その一部を入れ替えて上記メモリ５０に上書きする（ステップＳ５）。
【００３３】
すなわち、初期配置された各範囲における複数画素データを読み出した後に、その一部を入れ換えることで、先ほど同時読み出しできなかった範囲における複数画素データを同時読み出しできるように配置し直す。
【００３４】
このとき、入れ換えるデータ先にあった元のデータは別のメモリ、あるいは、メモリの未使用部分、余り部分に移動させ、退避させる。初期のデータが削除されないように退避と上書きを同時に行うことにより、任意の複数画素データを同時に読み出すことが可能となる。尚、入れ替えるデータ先にあった元のデータは、その後の処理で不要と分かっている場合には退避させずに、上書きしてもよい。
【００３５】
ここで、データの入れ換え上書きの移動は垂直方向、水平方向どちらでもよく、移動後、再度、初期配置に戻してもよい。また、データの入れ換え上書きの移動は連続的でもよいし、不連続でも構わないし、大きさも限定されない。上書きによりデータが無くなるのを防ぐためにはメモリの余り部分に退避させ、その大きさは入れ換え上書きのデータの容量により、適当な大きさを用意すればよい。
【００３６】
上記ステップＳ５の処理を行う前に、初期配置したデータに対して、入れ替え上書きの方向、範囲の決定を行うことができる（ステップＳ５’）。
【００３７】
そして、上記メモリ制御部１０は、上記メモリ５０から複数のデータの同時読み出しを行い（ステップＳ６）、その一部を入れ替えて上記メモリ５０に上書きして（ステップＳ７）、上記ステップＳ６に戻り、上記ステップＳ６とステップ７の各処理を繰り返し行う。
【００３８】
上記メモリ５０の種類は公知のものであればよい。具体例を挙げれば、ＳＲＡＭ，ＤＲＡＭ，ＭＲＡＭ，ＦｅＲＡＭなどが挙げられる。
【００３９】
ここで、例えば図３に示すように、全画像データをｍ０×ｎ０とし、同時に読み出すべき複数画素データＹＰＤはＮ個存在し、全画像データ内における位置を（ｘｉ，ｙｉ；０＜＝ｉ＜Ｎ）とした場合、図４に示すように、複数画素データの分布はａ０×ｂ０（ａ０＝ｍａｘ．ｘｉ−ｍｉｎ．ｘｉ，ｂ０＝ｍａｘ．ｙｉ−ｍｉｎ．ｘｉ）となる。
【００４０】
上記ステップＳ５の初期配置処理では、ａ１×ｂ１（ａ１＞＝ａ０，ｂ１＞＝ｂ０）の範囲を周期として初期のデータ配置を行う。
【００４１】
すなわち、図５に示すように、初期のデータ配置は全画像データｍ０×ｎ０内のデータをａ１×ｂ１の範囲を周期として配置する。図５に斜線を付して示すａ１×ｂ１の範囲内のデータは各メモリバンクの同一ワード線上に配置し、同時読み出し可能にしておく。
【００４２】
そして、上記ステップＳ６の上書き処理では、図６に示すように、ａ１×ｂ１の範囲内のデータを周期的に読み出した後にその一部（図６ではグレー部分）を隣接のａ１×ｂ１の範囲データと入れ換え、上書きを行う。入れ換え、上書きするグレー部分の範囲はａ１×ｂ１の範囲以下であればよい。
【００４３】
初期のデータ配置において、全画像データの読み出しが終了、つまりデータの入れ替え・上書きが終わると、図７に示すように、初期のデータ配置から図６でのグレー部分がずれたデータ配置になる。
【００４４】
すなわち、グレー部分のみずれたａ１×ｂ１の範囲のデータが同時読み出し可能となる。図７の配置では、図５の初期配置より図６でのグレー部分が一段下がったときのａ１×ｂ１の範囲のデータが同時読み出し可能となる。
【００４５】
したがって、上記ステップＳ６及びステップＳ７では、このような周期的な読み出し、読み出し後の入れ換え上書きを続けることで、全画像データ上の全てのａ１×ｂ１の範囲のデータを同時に読み出すことができる。
【００４６】
次に、上記データ格納装置１００における全画像データの格納及び複数画素データの同時読み出しの具体例として、図８に示すように、全画像データは７２０×２４０あり、読み出すべき複数データＹＰＤは７個存在し、読み出すべき複数データの分布は１２８×６４の範囲内に存在する場合について説明する。
【００４７】
なお、以下に説明する具体例は一例であり、本発明は具体例に限定されるものではない。
【００４８】
まず、最初の読み出すべき複数データのパターンが存在する１２８×６４の範囲のデータを初期配置する。ここでは８メモリバンク用意し、１ワード線上に１０２４画素格納されるメモリを用意する。図９の（Ａ），（Ｂ）に示すように上記１２８×６４の範囲を１６×６４の短冊、８本に分割し、１６×６４の各短冊を各メモリバンクの１ワード線上に格納する。例えば、図９（Ｂ）において、短冊ＳＴ１は、第１バンクの第ｎ１ワード線に格納され、短冊ＳＴ２は、第２バンクの第ｎ２ワード線に格納される。
【００４９】
これにより最初に読み出すべき複数データ７個を含む１２８×６４範囲に存在するデータは各メモリバンクの１ワード線上に格納されているため同時読み出し可能である。
【００５０】
次に、図１０に示すように、この１２８×６４の周期を用いて、全画像データを複数の各範囲Ａ１，Ａ２・・・のデータに分割する。
【００５１】
そして、図１１に示すように、分割された１２８×６４の範囲Ａ１，Ａ２・・・にあるデータは、それぞれ先ほどと同様に各メモリバンクの１ワード線上に格納する。
【００５２】
ここでは、便宜上、全画像データを分割した左上端から下に向かって１，２・・・と番号付ける。１２８×６４の範囲にあるデータは左から１６×６４の短冊周期で第１メモリバンク、第２メモリバンク・・・に格納される。格納されるワード線は分割した１２８×６４の番号に従って格納される。図１１に示した例では、範囲Ａ６にあるので各メモリバンクの６番目のワード線上にデータは格納される。つまり、短冊Ａ６＿ＳＴ１のデータは、第１バンクの６番目のワード線上に格納され、短冊Ａ６＿ＳＴ２のデータは、第２バンクの６番目のワード線上に格納される。同様に、短冊Ａ７＿ＳＴ１のデータは、第１バンクの７番目のワード線上に格納され、短冊Ａ７＿ＳＴ２のデータは、第２バンクの７番目のワード線上に格納される。
【００５３】
このようにして、全画像データをメモリ５０に格納すると、図１２に示すように、このように分割した１２８×６４の範囲に存在する任意の複数個のデータＧＰ１、ＧＰ２、ＧＰ３は、同時に読み出し可能となる。
【００５４】
次に、１２８×６４の範囲間をまたぐような場合には任意の複数同時読み出し出来ないので、図１３のような初期配置で、各１２８×６４の範囲を読み出すときのその一部を入れ換え、上書きを行う。
【００５５】
例えば、図１４に示すように１２８×６４の範囲のうちの１２８×１を読み出し、隣接した１２８×６４の範囲の１２８×１の位置に上書きを行う。
【００５６】
そのとき、最初の１２８×１のデータが無くならないように、メモリ５０の余り部分へ退避させる。
【００５７】
この操作を繰り返すことで１２８×６４の範囲は順に移動し、その１２８×６４の範囲に存在するデータは同時読み出し可能であるからこの操作を繰り返すことで全画像データの任意の複数データを読み出すことができる。
【００５８】
ここで、図１３に示す例では、範囲Ａ６の斜線部分を読み出した後、範囲Ａ５の斜線部分に上書きし、次に、範囲Ａ７の斜線部分を読み出した後、範囲Ａ６の斜線部分に上書きし、以下これを繰り返す。
【００５９】
本発明は、例えば図１５に示すような構成の画像の動き検出装置９に適用される。なお、動き検出装置９は１適用例であって、本発明はこの適用例以外にも適用し得るものであることは云うまでもない。
【００６０】
この動き検出装置９は、入力端子１にディジタルビデオ信号が供給される。ディジタルビデオ信号は、例えば輝度信号を所定の周波数でサンプリングし、サンプル（画素）をそれぞれ８ビットへ変換したものである。ディジタルビデオ信号が代表点マッチング処理部２に供給される。
【００６１】
代表点マッチング処理部２は、前フレームの画像を間引き処理することによって、代表点からなる画像に変換し、現フレームの画像と前フレームの代表点からなる画像との間で、ブロックマッチングと同様に、マッチング処理を行うものである。代表点は、図１６に示すように、１画面例えば１フレームの画像を複数の（ｍ画素×ｎライン）のブロックへ分割した時の各ブロックを代表するデータである。代表点データとしては、ブロックの中心位置の画素の値、ブロック内の画素の値の平均値、ブロック内の画素の中間値等が使用される。
【００６２】
代表点マッチング処理部２は、設定されたサーチ範囲内で現フレームの参照フレーム画像と、代表点データで構成された前フレームの候補フレーム画像との間で、フレーム間差分を計算する。すなわち、前フレームのあるブロックの代表点データから、現フレームの同一位置のブロックのｍ×ｎ個の各画素の値が減算され、減算出力の絶対値が１ブロックで積算され、さらに、各ブロックの積算値が１フレームで積算される。この積算値が評価値テーブル形成部３に供給される。評価値テーブル形成部３では、サーチ範囲内の各位置において求められた積算値をメモリに記憶し、メモリ上に評価値テーブルを形成する。
【００６３】
評価値テーブル形成部３により形成された評価値テーブルを参照して、１または複数の候補ベクトルを候補ベクトル抽出部４が抽出する。抽出された候補ベクトルが動きベクトル検出部５に供給される。動きベクトル検出部５には、遅延回路６を介して入力ビデオデータが供給される。遅延回路６は、候補ベクトルを遅延するのに要する時間、入力ビデオデータを遅延させる。入力ビデオデータがメモリから読出されるものである時には、読出したビデオデータを動きベクトル検出部５に与えれば良いので、遅延回路６を設ける必要がない。
【００６４】
動きベクトル検出部５は、候補ベクトルを使用したマッチング処理によって１画素単位で動きベクトルを検出し、出力端子７に検出した動きベクトルを出力する。ここで、１画素単位の動きベクトル検出について説明する。１画素単位の動きベクトル検出においても、評価値を得るために、ブロック化がなされる。図１７に示すように、例えば画素Ｐ１を中心とする３×３のブロックＢ１を構成する。ブロックＢ１が例えば現フレームの参照ブロックである。前フレームの候補ブロックも同様に構成される。そして、ブロックマッチングによって、サーチ範囲内の評価値テーブルが形成される。この評価値テーブル内で最小の評価値と対応して画素Ｐ１に関して動きベクトルが検出される。次に、隣の画素Ｐ２について同様に参照ブロックが形成される。そして、ブロックマッチングによって、同様に評価値テーブルが形成され、評価値テーブルに基づいて画素Ｐ２に関する動きベクトルが検出される。このようにして１画素毎に動きベクトルが検出される。
【００６５】
一般的には、１画素毎に動きベクトルを検出する処理は、ブロック毎に動きベクトルを検出する処理に比較して大幅に計算量が増大し、処理が複雑化する。しかしながら、ここでは、候補ベクトル抽出部４にて抽出された１または複数の候補ベクトルのみを対象として動きベクトルを検出するので、計算量の増大、処理の複雑化を防止できる。
【００６６】
図１８は、候補ベクトル抽出部４の処理を説明するためのものである。評価値テーブル形成部３において形成された評価値テーブルは、ｘおよびｙ座標で規定されるサーチ範囲のｚ座標として、評価値が存在するものである。図１８の（Ａ）は、評価値テーブルのｘ方向の分布の一例を概念的に示し、例えばｙ＝ｙ１  を通る水平方向の分布である。図１８の（Ｂ）は、評価値テーブルのｙ方向の分布の一例概念的に示し、例えばｘ＝ｘ１を通る垂直方向の分布である。図１８の（Ａ），（Ｂ）に示した評価値テーブルからは、座標上の原点と、（ｘ＝ｘ１，ｙ＝ｙ１）の点とにそれぞれ極小値が存在していることが分かる。このような評価値テーブルは、背景（静止画）に対して斜めに移動する物体が存在する画像の場合に得られる。
【００６７】
候補ベクトル抽出部４は、このような評価値テーブルから極小値を探し、極小値に対応する候補ベクトルを抽出する。図１８の例では、（ｘ＝０，ｙ＝０）の動きベクトルと、（ｘ＝ｘ１，ｙ＝ｙ１）の動きベクトルを候補ベクトルとして抽出する。ここでは、簡単化のために、二つの極小値が明確に存在する評価値テーブルの例について説明した。しかしながら、実際には、より多くの極小値が存在したり、また、各極小値の大きさが相違し、さらに、各極小値と周辺の評価値とにより描かれる曲線の形状が相違する。候補ベクトル抽出部４では、そのような場合に、適切な候補ベクトルを抽出するように、候補数を削減する。すなわち、極小値としきい値とを比較して、しきい値より大きな極小値は、候補ベクトルとしない処理を行い、また、極小値と周辺の評価値とで描かれる曲線の急峻度を検出し、検出した急峻度としきい値とを比較して、急峻度が小さいものを候補ベクトルとしない処理を行う。
【００６８】
動きベクトル検出部５は、このように抽出された候補ベクトルのみを対象とし、１画素毎に候補ベクトルから最良と思われる動きベクトルを決定する。上述した例のように、二つの候補ベクトルが与えられた時に、注目画素について、マッチング処理によって、図１９に示すように、二つの評価値を形成する。一つの評価値Ｅ０，０は、（ｘ＝０，ｙ＝０）の動きベクトルに対応するものであり、他の評価値Ｅｘ１，ｙ１は、（ｘ＝ｘ１，ｙ＝ｙ１）の動きベクトルに対応するものである。
【００６９】
評価値に基づいて最良の動きベクトルを決定する方法の一例を説明する。候補ベクトルにそれぞれ対応して求められた評価値の中で最小の評価値を生じさせ、且つその大きさが十分に小なるものを最良の動きベクトルとして選択する。例えば評価値Ｅ０，０  が最小であり、且つ評価値Ｅ０，０  が十分に小さな値となる場合には、動きベクトルＭＶとして（ｘ＝０，ｙ＝０）が選択される。一方、評価値Ｅｘ１，ｙ１が最小であり、且つ評価値Ｅｘ１，ｙ１が十分に小さな値となる場合には、注目画素の動き動きベクトルＭＶとして（ｘ＝ｘ１，ｙ＝ｙ１）が選択される。若し、これらの条件が満たされない画素に関しては、動きベクトルが不定とする。候補ベクトルから最良の動きベクトルを決定する方法としては、これ以外の他の方法が可能である。
【００７０】
このような構成の画像の動き検出装置９では、上記代表点マッチング処理部２における代表点マッチング処理課程及び候補ベクトル抽出部４における候補ベクトル割り当て課程で任意の複数データを読み出す必要がある。上述の図１に示した構成のデータ格納装置１００を備えることにより、上記データ格納装置１００から所望の複数データを読み出して、上記代表点マッチング処理部２における代表点マッチング処理課程及び候補ベクトル抽出部４における候補ベクトル割り当て課程を実行する。また、２ステップ方式による代表点マッチングにより動き検出を行った後、各フレームの動きベクトルの周辺画素を引き寄せるタップ引き寄せ過程においても、上記データ格納装置１００から任意の複数データを読み出すことができる。
【図面の簡単な説明】
【００７１】
【図１】本発明を実施するデータ格納装置の構成を示すブロック図である。
【図２】上記データ格納装置において、メモリ制御部により実行されるデータ格納制御の手順を示すフローチャートである。
【図３】全画像データ内における同時に読み出すべき複数画素データの位置を説明するための模式的な図である。
【図４】上記複数画素データの分布状態を示す模式的な図である。
【図５】上記データ格納装置におけるデータの初期配置を説明するための模式的な図である。
【図６】上記データ格納装置におけるデータの入れ換え、上書きを説明するための模式的な図である。
【図７】上記データの入れ換え、上書き後のデータ配置を示す模式的な図である。
【図８】上記データ格納装置における全画像データの格納及び複数画素データの同時読み出しの具体例における全画像データ及び同時に読み出すべき複数画素データを示す模式的な図である。
【図９】上記具体例における全画像データの初期配置を説明するための模式的な図である。
【図１０】上記具体例における全画像データを複数の各範囲のデータに分割した状態を説明するための模式的な図である。
【図１１】上記具体例における分割された各範囲にあるデータの各メモリバンクへの格納状態を説明するための模式的な図である。
【図１２】上記具体例において、全画像データをメモリに格納した初期配置で同時に読み出し可能な複数データを示す模式的な図である。
【図１３】上記具体例におけるデータの入れ換え、上書きを説明するための模式的な図である。
【図１４】上記具体例における上書きの位置を示す模式的な図である。
【図１５】本発明が適用される画像の動き検出装置の構成を示すブロック図である。
【図１６】上記画像の動き検出装置における代表転ブロックマッチングを説明するための模式的な図である。
【図１７】上記画像の動き検出装置における１画素単位の動きベクトル検出処理を説明するための模式的な図である。
【図１８】上記画像の動き検出装置における評価値の分布の一例を示す図である。
【図１９】上記画像の動き検出装置における評価値テーブルの一例を示す図である。
【図２０】一般的な半導体メモリの構造を模式的に示す図である。
【図２１】上記半導体メモリにおいて、同時アクセスできない状態を模式的に示す図である。
【図２２】複数メモリバンクのメモリ構成を示す図である。
【符号の説明】
【００７２】
１０  メモリ制御部、２０  データ分割判定部、３０  アドレス変換部、４０  アドレス生成部、５０  メモリ、６０  データ選択部、１００  データ格納装置
【図１】
0004687108.tif 000002
【図２】
0004687108.tif 000003
【図３】
0004687108.tif 000004
【図４】
0004687108.tif 000005
【図５】
0004687108.tif 000006
【図６】
0004687108.tif 000007
【図７】
0004687108.tif 000008
【図８】
0004687108.tif 000009
【図９】
0004687108.tif 000010
【図１０】
0004687108.tif 000011
【図１１】
0004687108.tif 000012
【図１２】
0004687108.tif 000013
【図１３】
0004687108.tif 000014
【図１４】
0004687108.tif 000015
【図１５】
0004687108.tif 000016
【図１６】
0004687108.tif 000017
【図１７】
0004687108.tif 000018
【図１８】
0004687108.tif 000019
【図１９】
0004687108.tif 000020
【図２０】
0004687108.tif 000021
【図２１】
0004687108.tif 000022
【図２２】
0004687108.tif 000023