(57)【特許請求の範囲】
【請求項１】
フレーム単位で入力される少なくとも１フレーム分の入力データを保持するフレームメモリと、
上記フレームメモリの所定のサーチ領域を選択し、選択された上記サーチ領域のデータを保持し、さらに保持データを１つずつシフトするシフトメモリと、
上記入力データのフレーム中の注目ブロックを構成する複数のデータと、上記サーチ領域中の比較ブロックを構成するデータを記憶する、上記シフトメモリ中の所定位置にある複数のメモリの記憶データとを比較し、上記注目ブロックを構成する全データと上記シフトメモリ中の所定位置にある複数のメモリの全記憶データとの近似度を評価する比較手段と、
上記シフトメモリの保持データをシフトしながら上記比較手段による比較および上記近似度の評価を行い、上記注目ブロックを構成する全データと上記シフトメモリ中の所定位置にある複数のメモリの全記憶データとが最も近似するときのシフト回数に対応する、上記注目ブロックのデータのフレームにおける位置情報を取得することより、上記注目ブロックのデータのフレーム上での移動情報を取得する処理手段と
を有するデータ処理装置。
【請求項２】
上記比較手段は、上記注目ブロックを構成する複数のデータと、上記シフトメモリ中の所定位置にある複数の記憶データとの差分値を求める差分演算手段
を有し、
上記差分演算手段により求められた上記差分値を用いて上記近似度を評価する
請求項１記載のデータ処理装置。
【請求項３】
上記処理手段は、上記差分演算手段によって出力された上記差分値が前回計算した差分値より小さいとき、新しい差分値及びそのときの上記シフトメモリのシフト回数に対応する位置情報を取得し、当該位置情報に基づき、上記所定位置の移動情報を取得する
請求項２記載のデータ処理装置。
【請求項４】
上記注目ブロックを構成するデータは、上記フレームメモリに記憶されているデータより１フレーム分遅れて入力される１フレームのデータである
請求項１記載のデータ処理装置。
【請求項５】
上記注目ブロックを構成するデータを保持する第１のデータ保持手段と、
上記シフトメモリにおいて、上記データ出力線によって出力された所定位置にある複数のメモリの記憶データを保持する第２のデータ保持手段と
を有する請求項４記載のデータ処理装置。
【請求項６】
フレーム単位で入力される少なくとも１フレーム分の入力データを保持するフレームメモリと、
上記フレームメモリの所定のサーチ領域を選択し、選択された上記サーチ領域のデータを保持し、さらに保持データを１つずつシフトするシフトメモリと、
上記入力データのフレーム中の注目ブロックを構成する複数のデータと、上記サーチ領域中の比較ブロックを構成するデータを記憶する、上記シフトメモリ中の所定位置にある複数のメモリの記憶データとを比較し、上記注目ブロックを構成する全データと上記シフトメモリ中の所定位置にある複数のメモリの全記憶データとの近似度を評価する比較手段と、
上記シフトメモリの保持データをシフトしながら上記比較手段による比較および上記近似度の評価を行い、上記注目ブロックを構成する全データと上記シフトメモリ中の所定位置にある複数のメモリの全記憶データとが最も近似するときのシフト回数に対応する、上記注目ブロックのデータのフレームにおける位置情報を取得することより、上記注目ブロックのデータのフレーム上での移動情報を取得する処理手段と
が１つのチップ上に形成される半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、所定の単位、例えば、フレーム単位で入力される画像信号を順次シフトするレジスタなどの記憶手段を用いてアドレシングせずにデータの書き込みと読み出しを行い、読み出した画像データに基づき動きを検出するデータ処理装置及びこのデータ処理装置を１チップ上に形成された半導体装置に関するものである。
【０００２】
【従来の技術】
動画像信号を高効率で圧縮する動画像処理、例えば、ＭＰＥＧ（Moving Picture Experts Group）規格によって定められた画像画像信号の圧縮符号化処理において、連続して入力される画像信号に対してフレーム毎に動きベクトルを検出し、当該検出結果に基づいて動画像信号が圧縮符号化される。
【０００３】
動きベクトルの検出において、ある画像フレームにある特定のブロック（以下、これを注目ブロックという）が過去の画像フレームにおける位置をブロックマッチングによって検出し、当該検出結果に基づいて注目ブロックの動きベクトルを計算する。ブロックマッチングは、過去のフレームにおいて上記注目ブロックの位置に対応して指定した所定の探索領域（サーチ領域）において、注目ブロックと同じ大きさの比較ブロック同士を画素ごとに比較してブロック内のデータにおける差分値の絶対値の合計値を求めて、この合計値がもっとも小さくなるときの比較ブロックの位置によって、動きベクトルが推定される。
【０００４】
従来の画像データ処理装置において、ブロックマッチング処理は、注目ブロック及びその比較対象となるサーチ領域内の比較ブロックのすべての画素データが逐次読み出されて比較演算される。このため、画像データが記憶されているメモリにおいて、アドレス演算部によって注目ブロック及びその比較対象の比較ブロックの画素データを読み出すためのアドレスが逐次計算され、計算されたアドレスに基づきメモリにアクセスして、所望の画素データを読み出して比較処理が行われる。そして、サーチ領域内に１画素ずつ移動しながら比較ブロックのアドレスを計算し、比較ブロックの全画素データを読み出して比較処理が繰り返して行われる。
【０００５】
【発明が解決しようとする課題】
ところで、上述した従来の画像データ処理装置においては、注目ブロック及びサーチ領域における比較対象ブロックの画素データを読み出すためのアドレスを計算しながらメモリアクセスを行っていたので、アドレシングの制御が複雑であり、回路規模の増加を招くという不利益がある。
【０００６】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、巡回型シフト構造を持つ記憶手段を用いて画像データをシフトしながら所望のデータを読み出して比較処理を行うことにより、簡単な回路構成でブロック単位のデータアクセスを容易に実現でき、回路規模を抑えながら高速な画像処理を実現できるデータ処理装置を提供することにある。
【０００７】
【課題を解決するための手段】
上記目的を達成するため、本発明のデータ処理装置は、フレーム単位で入力される少なくとも１フレーム分の入力データを保持するフレームメモリと、上記フレームメモリの所定のサーチ領域を選択し、選択された上記サーチ領域のデータを保持し、さらに保持データを１つずつシフトするシフトメモリと、上記入力データのフレーム中の注目ブロックを構成する複数のデータと、上記サーチ領域中の比較ブロックを構成するデータを記憶する、上記シフトメモリ中の所定位置にある複数のメモリの記憶データとを比較し、上記注目ブロックを構成する全データと上記シフトメモリ中の所定位置にある複数のメモリの全記憶データとの近似度を評価する比較手段と、上記シフトメモリの保持データをシフトしながら上記比較手段による比較および上記近似度の評価を行い、上記注目ブロックを構成する全データと上記シフトメモリ中の所定位置にある複数のメモリの全記憶データとが最も近似するときのシフト回数に対応する、上記注目ブロックのデータのフレームにおける位置情報を取得することより、上記注目ブロックのデータのフレーム上での移動情報を取得する処理手段とを有する。
【０００８】
また、本発明では、好適には、上記シフトメモリは、上記保持データを巡回的にシフトする。
【０００９】
また、本発明では、好適には、上記比較手段は、上記シフトメモリ内の所定位置にある複数の記憶データと上記比較対象データとの差分値を求める差分演算手段を有する。
【００１０】
また、本発明は、好適には、上記処理手段は、上記差分演算手段によって出力された上記差分値が前回計算した差分値より小さいとき、新しい差分値及び当該差分値に対応する上記シフトメモリ中の所定位置に関する位置情報を取得し、当該位置情報に基づき、上記所定位置の移動情報を取得する。
【００１１】
また、本発明では、好適には、上記比較対象データは、上記フレームメモリに記憶されているデータより１フレーム分遅れて入力される１フレームのデータのうち、所定位置にある複数のデータからなる。
【００１２】
また、本発明では、好適には、上記シフトメモリにおいて、上記所定位置にある複数のメモリは、上記記憶データをシフトしながら、当該記憶データを出力するデータ出力機能を有する。
【００１３】
また、本発明では、好適には、上記比較対象データを保持する第１のデータ保持手段と、上記シフトメモリにおいて、上記データ出力機能によって出力された上記所定位置にある複数のメモリの記憶データを保持する第２のデータ保持手段とを有する。
【００１４】
また、本発明では、好適には、上記比較手段は、上記第１のデータ保持手段の保持データと上記第２のデータ保持手段の保持データとのビットごとの排他的論理和を演算する論理回路を有する。
【００１５】
さらに、本発明では、好適には、上記処理手段は、上記排他的論理和演算を行う論理回路の出力データの全ビットを加算るする加算手段と、上記シフトメモリのシフト回数をカウントするカウンタ手段と、上記加算手段の出力が前回の出力より小さいとき、当該加算手段の出力を記憶する第１の記憶手段と、上記加算手段の出力が前回の出力より小さいとき、上記カウンタ手段のカウント値を記憶する第２の記憶手段とを有し、上記シフトメモリのすべての記憶データが１巡回したとき、上記第２の記憶手段に記憶されている上記カウント値に基づき、上記所定位置の移動情報を出力する。
【００１６】
また、本発明の半導体装置は、フレーム単位で入力される少なくとも１フレーム分の入力データを保持するフレームメモリと、上記フレームメモリの所定のサーチ領域を選択し、選択された上記サーチ領域のデータを保持し、さらに保持データを１つずつシフトするシフトメモリと、上記入力データのフレーム中の注目ブロックを構成する複数のデータと、上記サーチ領域中の比較ブロックを構成するデータを記憶する、上記シフトメモリ中の所定位置にある複数のメモリの記憶データとを比較し、上記注目ブロックを構成する全データと上記シフトメモリ中の所定位置にある複数のメモリの全記憶データとの近似度を評価する比較手段と、上記シフトメモリの保持データをシフトしながら上記比較手段による比較および上記近似度の評価を行い、上記注目ブロックを構成する全データと上記シフトメモリ中の所定位置にある複数のメモリの全記憶データとが最も近似するときのシフト回数に対応する、上記注目ブロックのデータのフレームにおける位置情報を取得することより、上記注目ブロックのデータのフレーム上での移動情報を取得する処理手段とが１つのチップ上に形成されてなる。
【００１７】
本発明によれば、例えば、フレーム単位で入力される画像データに対して、過去の１フレームの画像データから、所定のサーチ領域のデータを読み出してシフトメモリに保持し、また、現フレームにある比較対象データ、即ち、注目ブロックのデータを用いて、上記サーチ領域においてブロックマッチング処理によって、当該注目ブロックがサーチ領域における位置情報を取得し、当該位置情報に基づき上記注目ブロックの動きベクトルを求める。
ブロックマッチング処理は、上記サーチ領域のデータを１つずつ巡回シフトしながら、上記注目ブロックのデータと上記サーチ領域内の所定位置にあるデータとを比較することによって行われる。ブロックマッチング処理の結果、その差分値の最小値及び当該最小値が求められたときのシフト情報に基づき、上記注目ブロックの動きベクトルが求められる。
また、本発明の半導体装置によれば、画像データを格納するフレームメモリ及び格納された画像データを処理する処理回路が１つの半導体チップ上に形成されるので、多機能の半導体チップを実現でき、画像処理装置の簡略化と高性能化が図れる。
【００１８】
【発明の実施の形態】
図１は本発明に係るデータ処理装置の一実施形態を示す構成図である。
図示のように、本実施形態のデータ処理装置は、シフトメモリ１０、注目ブロックレジスタ２０、比較ブロックレジスタ３０、比較回路４０、最小評価値検出回路５０、フレームメモリ６０、セレクタ７０及びブロック変換回路８０によって構成されている。
また、フレームメモリ６０においてバンクメモリ及びアドレスを制御するバンク＆アドレス制御回路６２が設けられている。
なお、上述した本実施形態のデータ処理装置の各構成部分は、１つのチップ上に形成することができる。即ち、フレームメモリ６０及び当該フレームメモリ６０に保持されているフレーム単位の画像データに対して、動き推定処理を行う処理回路を１つの半導体チップ上に形成し、多機能の半導体チップを構成することができる。
【００１９】
以下、本実施形態のデータ処理装置の各構成部分について説明する。
シフトメモリ１０は、図示のように、複数段のシフトレジスタ列によって構成されている。なお、シフトメモリ１０は、フレーム内のサーチ領域に対応し、サーチ領域のすべての画素データが各画素の位置に対応して記憶される。
【００２０】
シフトメモリ１０において、各シフトレジスタに、セレクタ７０によってフレームメモリ６０から所定のバンクメモリが選択され、選択されたバンクメモリから読み出された画素データが格納されている。また、図示のように、各シフトレジスタ列が直列接続されており、各シフトレジスタに記憶されているデータが順次にシフトすることによって、後段のシフトレジスタの記憶データが前段のシフトレジスタに入力される。また、図示のように一番上の段のシフトレジスタから出力されたデータが一番下の段のシフトレジスタに帰還される。即ち、シフトメモリ１０に格納されているサーチ領域の画素データが巡回的にシフトされる。
【００２１】
図１に示すように、シフトメモリ１０において、左上の所定の画素数のデータが比較ブロックレジスタ３０に出力される。即ち、この部分の画素によってサーチ領域の比較ブロックが構成されている。比較ブロックの画素データを格納しているシフトレジスタは、シフトメモリ１０を構成する他のシフトレジスタと異なる構成を有する。これらのシフトレジスタは、保持データを直接外部に出力するデータ出力線が設けられ、それぞれのデータ出力線から出力されたデータが比較ブロックレジスタ３０に書き込まれる。なお、これらのシフトレジスタは、保持データを読み出してもデータが破壊されず、そのまま保持できるように工夫されている。このようなシフトレジスタの一例として、いわゆるマスタ−スレーブ型のシフトレジスタが挙げられる。
【００２２】
比較ブロックのすべての画素データが比較ブロックレジスタ３０に読み出されて保持され、かつ、注目ブロックの各画素のデータが注目ブロックレジスタ２０に読み出されるので、注目ブロックレジスタ２０と比較ブロックレジスタ３０のすべての画素データがビット毎の排他的論理和演算（ＸＯＲ）によって、注目ブロックと比較ブロックの全画素について比較が行われる。図１に示すように、当該比較の結果が比較回路４０及び最小評価値検出回路５０によって処理され、その結果に基づいて動きベクトルＭＶが求められる。
【００２３】
なお、図１において、注目ブロック及びその比較対象となる比較ブロックは、それぞれ垂直と水平方向に２画素ずつ、計４画素から構成されているが、本発明は、これに限定されることなく、注目ブロックのサイズは、他の値でもよい。例えば、注目ブロック及び比較ブロックは、垂直と水平方向にそれぞれ４画素、計１６画素によって構成してもよい。なお、注目ブロックの画素数が多くなるにつれて、ブロックマッチングにおける比較対象の画素数が大きくなり、注目ブロック及び比較ブロックの画素データを格納するレジスタの容量を大きくし、さらに演算回路の処理能力を大きくする必要がある。
【００２４】
図１において、注目ブロックレジスタ２０は、ブロック変換回路８０のセレクタ８１によって選択された注目ブロックのすべての画素データを保持する。
シフトメモリ１０の記憶データが１画素分ずつ移動することによって、等価的に比較ブロックがサーチ領域全体において１画素分ずつ移動することになる。即ち、シフトメモリ１０の記憶データを１画素分ずつ移動しながら、注目ブロックレジスタ２０と比較ブロックレジスタ３０に記憶されているすべての画素データを逐一比較することによって、等価的に注目ブロックがサーチ領域全体に１画素分ずつ移動しながら画素ごとの比較が行われる。即ち、注目ブロックを用いて、サーチ領域全体に対してブロックマッチングを実現できる。１つの注目ブロックに対して、シフトメモリ１０の記憶データを巡回しながら比較することにより、注目ブロックがサーチ領域全体に対してブロックマッチングを行うことになる。そして、以下に述べる最小評価値検出回路５０によって検出された最小値に応じて、動きベクトルＭＶを算出できる。
【００２５】
比較回路４０は、注目ブロックレジスタ２０と比較ブロックレジスタ３０の全画素データに対してビットごとにＸＯＲ演算を行い、演算結果を最小評価値検出回路５０に出力する。
【００２６】
最小評価値検出回路５０は、比較回路４０によって得られた注目ブロックレジスタ２０と比較ブロックレジスタ３０の全画素データのビットごとのＸＯＲ演算結果に対して、１となるビット数の和、即ち、全画素データの差分の絶対値の合計値を計算し、算出した合計値が前回までの最小合計値と比較し、前回までの検出結果より小さいとき、新しい合計値を最小値の検出結果として記憶し、また、この最小値に対応する移動回数、即ち、サーチ領域における比較ブロックの位置情報をも記憶する。
シフトレジスタ１０の全画素データが１巡回して最初の出発位置に戻ったとき、最小評価値検出回路によって検出された最小値に対応する比較ブロックの位置情報が動きベクトルＭＶとして出力される。
【００２７】
フレームメモリ６０は、図１に示すように、複数のバンクメモリが並列に設けて構成されている。各バンクメモリは、データバスから入力されたデータを保持する。そして、セレクタ７０によって選択されたバンクメモリに保持されたデータの全部または一部が読み出され、読み出されたデータがセレクタ７０を介してシフトメモリ１０に出力される。
なお、フレームメモリ６０において、バンク＆アドレス制御回路６２によってバンクメモリが指定され、さらに指定されたバンクメモリにおけるメモリアドレスが指定されるので、指定されたメモリに対して画素データの書き込みと読み出しが行われる。
【００２８】
通常、フレームメモリ６０は、処理対象となる画像信号の１フレーム分よりさらに数ブロック分余分のデータを格納する容量を持っている。このため、画像信号処理を行うとき、フレームメモリ６０には、画像信号の１フレーム分と数ブロック分のデータを蓄積している。フレームメモリ６０に対して書き込みと読み出しのアドレスは、画像信号の１フレーム分離れるように設定される。また、フレームメモリ６０への書き込みは、例えば、入力画像信号の１フレーム分毎に行われ、フレームメモリ６０からの読み出しは、複数のブロックに対して並列に行われる。
なお、並列に読み出されるブロックの数は、例えば、サーチ領域のライン数によって決められる。例えば、ここで、フレームメモリ６０の各バンクメモリに画像信号が２ライン分ずつ格納されていると仮定し、また、サーチ領域は、８ライン分のデータを含むと仮定すると、読み出しのとき、フレームメモリ６０から４バンクメモリ分のデータが並列に読み出され、シフトメモリ１０に書き込まれる。
【００２９】
ブロック変換回路８０は、画素単位で順次入力される画像信号をブロック単位に変換して出力する。図１に示すように、ブロック変換回路８０は、セレクタ８１，８２、バンクメモリ８３，８４及びバンク＆アドレス制御回路８５によって構成されている。バンクメモリ８３と８４は、交互に入力された画像データを記憶する。そして、一方のバンクメモリに画像データが書き込まれているとき、他方のバンクメモリから記憶されている画像データを読み出して、注目ブロックレジスタ２０及びフレームメモリ６０に出力される。
【００３０】
バンクメモリ８３と８４は、フレームメモリ６０を構成するバンクメモリとほぼ同じ容量を持ち、例えば、画像信号の２ライン分を記憶する。また、バンクメモリ８３と８４の切り替えは、セレクタ８１と８２によって行われる。セレクタ８１と８２の動作は、バンク＆アドレス制御回路８５によって制御され、さらに選択されたバンクメモリにおけるアドレス指定もバンク＆アドレス制御回路８５によって行われる。
【００３１】
上述したフレームメモリ６０及びブロック変換回路８０において、現在入力中の画像信号に対して１フレーム前の画像信号のうち、所定のサーチ領域の画素データが読み出されて、当該読み出されたデータがシフトメモリ１０によって保持される。また、現在入力中の１フレームの画像信号の所定の位置から、注目ブロックの画素データが読み出され、この注目ブロックの画素データが注目ブロックレジスタ２０に書き込まれる。そして、シフトメモリ１０において、サーチ領域の所定の位置から比較ブロックの画素データが読み出され、比較ブロックレジスタ３０に書き込まれる。
【００３２】
図２は、本実施形態のデータ処理装置の動作を示す概念図である。以下、図１及び図２を参照しながら、上述した構成を有する本実施形態のデータ処理装置の動作について説明する。
図１に示すように、入力された画像データがブロック変換回路８０に入力される。ここで、画像データがセレクタ８２によって選択されたバンクメモリに書き込まれる。一方のバンクメモリに対して書き込みが行われているとき、もう一方のバンクメモリに対して画像データの読み出しが行われる。このとき、セレクタ８１によって、最初に書き込まれたバンクメモリが選択され、それに蓄積された画像データが順次読み出される。読み出された画像データが注目ブロックレジスタ２０に格納されるとともに、フレームメモリ６０にも出力される。フレームメモリ６０において、各バンクメモリの画像データが順次書き込まれるので、最終的に１フレームと数ブロック分の画像データがフレームメモリ６０に蓄積される。
【００３３】
フレームメモリ６０に蓄積された１フレーム強の画像データにおいて、所望のサーチ領域に対応する画像データがセレクタ７０によって選択されて、シフトメモリ１０に出力される。
図２に示すように、シフトメモリ１０は、入力されたサーチ領域の画像データを記憶し、さらに記憶した画像データを１画素ずつシフトしながら、巡回させる。これによって、比較ブロックレジスタ３０に、サーチ領域の全ての画素データが順次格納される。一方、注目ブロックレジスタ２０に、注目ブロックの全画素データが格納されている。
【００３４】
比較回路４０において、注目ブロックレジスタ２０と比較ブロックレジスタ３０の全画素データに対してビットごとのＸＯＲ演算が行われ、演算結果である評価値が最小評価値検出回路５０に出力される。このように、シフトメモリ１０において、１画素分シフトする度に比較ブロックの全画素データが比較ブロックレジスタ３０に出力され、比較回路４０によって比較ブロックレジスタと注目ブロックレジスタの全画素データに対して、ビットごとのＸＯＲ演算が繰り返して行われる。
【００３５】
最小評価値検出回路５０において、比較回路４０から出力された評価値とそれまでの評価値の最小値とが比較され、当該比較結果、新しく入力された評価値がそれまでの最小値よりも小さいとき、当該最小値が新しい評価値により更新される。そして、この新しい最小値に対応する比較ブロックの位置情報も最小評価値検出回路５０によって記憶される。そして、シフトメモリ１０においてすべての画素データが１巡回が終わったとき、最小評価値検出回路５０に記憶されている最小評価値に対応する比較ブロックの位置情報に基づき、動きベクトルＭＶが求められる。
【００３６】
図３は、上述した動きベクトルＭＶ評価における注目ブロックとサーチ領域に格納されている画像例を示している。図示のように、注目ブロックは、例えば、現在の１フレームの画像信号から取得した所定の領域の画素データからなる。一方、比較ブロックは、サーチ領域にある所定の領域、例えば図３の例では、サーチ領域の左上にある領域の画素データによって構成されている。なお、比較ブロックは、注目ブロックと同じサイズ、即ち、同じ画素数を有することは言うまでもない。
【００３７】
サーチ領域に記憶されている画像データが１画素ずつ巡回してシフトすることによって、図３に示すように、サーチ領域の画像全体が移動し、サーチ領域から抜け出た画像部分が反対側に現れる。このように、サーチ領域の画像データが１画素ずつシフトしながら注目ブロックと比較ブロックとを比較することによって、現在フレームの注目ブロックに対して、それにもっとも近い画像部分が過去のフレームのどこに位置しているかを判断することができる。即ち、注目ブロックのフレーム間の移動方向と移動距離を示す動きベクトルＭＶを求めることができる。
【００３８】
次に、図４及び図５を参照しつつ、比較回路４０及び最小評価値検出回路５０の構成例について説明する。
図４は、比較回路４０の一構成例を示す回路図である。図示のように、比較回路４０は、並列に設けられている複数の排他的論理和演算素子（ＸＯＲゲート）によって構成されている。これらのＸＯＲゲートの一方の入力端子に注目ブロックレジスタ２０の各ビットのデータが入力され、他方の入力端子に比較ブロックレジスタ３０の各ビットのデータが入力される。そして、これらのＸＯＲゲートの出力端子から所定のビット数の評価値ＤE が出力される。
【００３９】
比較回路４０を構成するＸＯＲゲートの数は、少なくとも注目ブロックレジスタ２０または比較ブロックレジスタ３０のビット数に等しい。図４に示す例では、注目ブロック及び比較ブロックはそれぞれ４画素からなる。各画素データは、例えば、１６ビットを持つとすると、ＸＯＲゲートは少なくとも６４個が必要である。これらのＸＯＲゲートによって、注目ブロック及び比較ブロックの全画素データについて、ビットごとに一致するか否かに基づいて６４ビットのデータからなる評価値ＤE が出力される。即ち、注目ブロックと比較ブロックの対応する画素データのビットが一致すると、それに対応するＸＯＲゲートからデータ０が出力され、逆に、注目ブロックと比較ブロックの対応する画素データのビットが異なると、それに対応するＸＯＲゲートからデータ１が出力される。このため、評価値ＤE にある１のビット数（または０のビット数）に応じて、注目ブロックと比較ブロックの全画素データがどれだけ近似しているかを評価できる。
【００４０】
次に、評価値ＤE に基づき、注目ブロックと比較ブロックが一致するかどうかを評価する最小評価値検出回路５０について説明する。
図５は、最小評価値検出回路５０の一構成例を示す回路図である。図示のように、この最小評価値検出回路５０は、評価値レジスタ５１、加算器５２、比較回路５３、レジスタ５４，５５及びシフトカウンタ５６によって構成されている。
【００４１】
評価値レジスタ５１は、比較回路４０から出力される評価値ＤE の全ビットを格納し、格納した各ビットのデータを加算器５２に出力する。加算器５２は、評価値ＤE のすべてのビットを加算し、加算の結果、データＤSUM が得られる。データＤSUM は、比較回路５３及びレジスタ５４に出力される。
図１に示すシフトメモリ１０において、記憶データが１画素分ずつ巡回してシフトする。そして、１画素分シフトするたびに比較回路４０によって、注目ブロックレジスタ２０と比較ブロックレジスタ３０と各ビットが比較される。このため、比較回路４０から出力される評価値ＤE は、シフトメモリ１０において１画素分シフトするたびに更新される。
【００４２】
レジスタ５４は、加算器５２の加算結果ＤSUM を保持し、保持データを比較回路５３に出力する。
比較回路５３は、加算器５２の加算結果ＤSUM とレジスタ５４によって保持されている前回の加算結果とを比較し、当該比較の結果、今回の加算結果ＤSUM とレジスタ５４によって保持されている前回の加算結果とが比較され、当該比較の結果、今回の加算結果ＤE が前回の加算結果よりも小さい場合、レジスタ５４とレジスタ５５にデータ更新指示信号ＤREW を出力する。
【００４３】
シフトレジスタ５４は、比較回路５３からのデータ更新指示信号ＤREW を受けると、今回の加算結果ＤSUM をレジスタ５４に書き込む。逆に、比較回路５３からデータ更新指示信号ＤREW を受けていないとき、前回の加算結果がそのまま保持される。
同様に、シフトカウンタ５６は、比較回路５３からのデータ更新指示信号ＤREW に応じて、シフトカウンタ５６から出力されたカウント値ＣＮＴで保持データを更新する。逆に、比較回路５３からデータ更新指示信号ＤREW を受けていないとき、前回のカウント値がそのまま保持される。
【００４４】
シフトカウンタ５６は、クロック信号ＣＫに応じてカウント値ＣＮＴを更新する。即ち、クロック信号ＣＫの１周期ごとにカウント値ＣＮＴに１を加算または減算する。なお、シフトカウンタ５６にリセット信号ＲＳＴが入力されている。このリセット信号ＲＳＴは図１に示すシフトメモリ１０に新しいサーチ領域のデータが書き込まれると、アクティブ状態となる。これを受けてシフトカウンタ５６はカウント値ＣＮＴをリセットする。
【００４５】
即ち、シフトメモリ１０に新しいサーチ領域のデータが書き込まれたとき、シフトカウンタ５６のカウント値ＣＮＴがリセットされる。そして、シフトメモリ１０において記憶されているデータが１画素分シフトしたとき、シフトカウンタ５６のカウント値ＣＮＴが更新される。即ち、シフトカウンタ５６のカウント値ＣＮＴは、シフトメモリ５６におけるデータのシフト回数を示す。このシフト回数に応じて、取り出された比較ブロックがサーチ領域領域上の位置を計算できる。
【００４６】
図５に示す最小評価値検出回路５０において、比較回路５３によってデータ更新指示信号ＤREW が出力されると、これに応じてレジスタ５４に新しい加算結果ＤSUM が書き込まれると同時に、レジスタ５５にシフトカウンタ５６のカウント値ＣＮＴが書き込まれる。このため、シフトメモリ１０において、記憶されたサーチ領域のデータが１巡回したあと、レジスタ５４に評価値の最小値が記憶され、そして、レジスタ５５に評価値の最小値に対応するシフトカウンタ５６のカウント値ＣＮＴ、即ち、シフト回数が記憶される。このシフト回数に従って、最小評価値が得られたときの比較ブロックのサーチ領域上の位置を計算でき、当該位置に応じて動きベクトルＭＶを求めることができる。
【００４７】
以上説明したように、本実施形態のデータ処理装置によれば、フレームメモリ６０に格納されている１フレーム分の画像データから、サーチ領域に対応する画素データが読み出されてシフトメモリ１０に格納される。シフトメモリ１０に格納されているサーチ領域の画像データのうち、所定の比較ブロックに対応する画素データが比較ブロックレジスタ３０に読み出される。比較回路によって注目ブロックレジスタ２０と比較ブロックレジスタ２０の全画素データがビットごとに比較され、最小評価値検出回路５０により当該比較結果の最小値を検出され、それに応じて比較ブロックの位置情報も取得される。シフトメモリ１０においてすべて画素データが１巡回してシフトしたとき、最小評価値検出回路によって検出した比較ブロックの位置情報に応じて、動きベクトルＭＶが計算される。
【００４８】
【発明の効果】
以上説明したように、本発明のデータ処理装置によれば、現フレームにある注目ブロックで、過去フレームにある所定のサーチ領域に対してブロックマッチングを行うことにより、フレーム間における注目ブロックの移動距離と移動方向を検出することでき、当該検出結果に応じて動きベクトルを推定することができる。また、ブロックマッチング処理は、サーチ領域の全画素データを巡回してシフトすることによって自動的に実現できるので、処理を高速に実現できる。
このように、本発明のデータ処理装置によって、ブロックマッチング処理中にアドレシングが不要なため、回路構成を簡素化でき、低負荷で高速なサーチ処理を実現でき、動きベクトルの検出を高速に実現できる利点がある。
さらに、本発明によれば、画像データを保持するメモリと保持された画像データを処理する処理回路が１つの半導体チップ上に形成されるので、データ処理装置の構成を簡略化でき、多機能の信号処理を行う半導体チップを実現できる。
【図面の簡単な説明】
【図１】本発明に係るデータ処理装置の一実施形態を示す構成図である。
【図２】本実施形態のデータ処理装置の動作を示す概念図である。
【図３】動きベクトル検出処理における画像信号の一例を示す図である。
【図４】注目ブロックと比較ブロックの全画素データを比較する比較回路の一構成例を示す回路図である。
【図５】最小評価値検出回路の一構成例を示す回路図である。
【符号の説明】
１０…シフトメモリ、２０…注目ブロックレジスタ、３０…比較ブロックレジスタ、４０…比較回路、５０…最小評価値検出回路、６０…フレームメモリ、７０…セレクタ（ＳＥＬ）、８０…ブロック変換回路。
【図１】
0003988522.tif 000002
【図２】
0003988522.tif 000003
【図３】
0003988522.tif 000004
【図４】
0003988522.tif 000005
【図５】
0003988522.tif 000006