(57)【特許請求の範囲】
【請求項１】
サーチ範囲の画素データのうち、トップフィールドの画素データであって、水平または垂直方向の奇数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第１の記憶手段と、
サーチ範囲の画素データのうち、トップフィールドの画素データであって、水平または垂直方向の偶数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第２の記憶手段と、
サーチ範囲の画素データのうち、ボトムフィールドの画素データであって、水平または垂直方向の奇数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第３の記憶手段と、
サーチ範囲の画素データのうち、ボトムフィールドの画素データであって、水平または垂直方向の偶数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第４の記憶手段と、
基準ブロックの画素データのうち、インターリーブした位置の画素データを記憶する第５の記憶手段と、
前記第１乃至第４の記憶手段に記憶された画素データのうち、前記第5の記憶手段に記憶された画素データに対応する位置のサーチブロックの画素データを選択する選択手段と、
前記選択手段により選択されたサーチブロックの画素データと、前記第５の記憶手段に記憶されている基準ブロックのインターリーブした位置の画素データの差を演算する第１の演算手段と、
前記サーチブロック毎に、前記第１の演算手段の演算結果の和を演算する第２の演算手段と、
前記第２の演算手段の演算結果の最小値に対応するサーチブロックを検出する検出手段とを備え、
前記第1乃至第4の記憶手段に記憶された画素データのうち、前記選択手段で選択されていない前記記憶手段の画素データは、将来的に必要になる新たな画素データに上書きされる
ことを特徴とする動きベクトル検出装置。
【請求項２】
サーチ範囲の画素データのうち、トップフィールドの画素データであって、水平または垂直方向の奇数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第１の記憶ステップと、
サーチ範囲の画素データのうち、トップフィールドの画素データであって、水平または垂直方向の偶数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第２の記憶ステップと、
サーチ範囲の画素データのうち、ボトムフィールドの画素データであって、水平または垂直方向の奇数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第３の記憶ステップと、
サーチ範囲の画素データのうち、ボトムフィールドの画素データであって、水平または垂直方向の偶数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第４の記憶ステップと、
基準ブロックの画素データのうち、インターリーブした位置の画素データを記憶する第５の記憶ステップと、
前記第１乃至第４の記憶ステップで記憶された画素データのうち、前記第5の記憶ステップで記憶された画素データに対応する位置のサーチブロックの画素データを選択する選択ステップと、
前記選択ステップで選択されたサーチブロックの画素データと、前記第５の記憶ステップで記憶されている基準ブロックのインターリーブした位置の画素データの差を演算する第１の演算ステップと、
前記サーチブロック毎に、前記第１の演算ステップの演算結果の和を演算する第２の演算ステップと、
前記第２の演算ステップの演算結果の最小値に対応するサーチブロックを検出する検出ステップとを含み、
前記第1乃至第4の記憶ステップで記憶された画素データのうち、前記選択ステップで選択されていない前記画素データは、将来的に必要になる新たな画素データに上書きされる
ことを特徴とする動きベクトル検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動きベクトル検出装置および方法に関し、特に、より少ない消費電力で動きベクトルを検出することができるようにした、動きベクトル検出装置および方法に関する。
【０００２】
【従来の技術】
例えば、ＭＰＥＧ（Moving Picture Experts Group）においては、動きベクトルを検出し、それを利用して動画像データを圧縮するようにしている。従って、この圧縮処理を行うには、動きベクトルを検出する必要がある。
【０００３】
図１５は、従来の動きベクトル検出装置の例を表している。この構成は、信学技報ＩＣＤ９３−８０（１９９３−０８）、第６１頁乃至第６８頁に、「ＣＣＩＲ６０１対応のハーフペル精度動きベクトル検出ＬＳＩ」として開示されているものである。
【０００４】
この例においては、入力回路から演算部７１にサーチウインドウデータ（サーチ範囲のデータ）が供給される。このサーチ範囲の画素データは、基準ブロック（リファレンスブロック）の幅で、１画素行分づつ、サイドレジスタ８１から処理要素（ＰＥ）８２にシフトされる。各処理要素８２は１サーチブロック分の画素データを保持する。また、各処理要素８２には、動きベクトルを検出する基準ブロックのデータ（テンプレートデータ）が予め常駐されている。処理要素８２は、常駐されている基準ブロックの画素データと、保持しているサーチブロックの画素データとの差分を検出し、その検出結果を総和回路７２に出力する。縦続接続されている処理要素８２は、クロックに同期してサーチブロック（基準ブロック）の幅の１行分の画素データを、順次、後段の処理要素８２に転送する。各段の処理要素８２は、同様の処理を行う。そして、新たな１行分の画素データが入力されてきたとき、再び、基準ブロックの画素データとサーチブロックの画素データの差を演算し、演算結果を総和回路７２に出力する。
【０００５】
総和回路７２は、基準ブロックの画素とサーチブロックの画素の差の絶対値の和を、サーチブロック毎に演算する。そして、演算結果を最小値検出回路７３に出力する。
【０００６】
最小値検出回路７３は、総和回路７２の出力が最小となるタイミングのサーチブロックのサーチウインドウ内の位置を検出する。そして、検出結果を動きベクトルとして出力する。
【０００７】
【発明が解決しようとする課題】
このように、従来の動きベクトル検出装置においては、画素データを順次後段の処理要素に転送し、パイプライン的な処理を行うようにしているので、１クロック毎に大部分の処理要素においてデータが書き換えられる結果、電流が流れ、消費電力が大きくなる課題があった。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、サーチデータを水平または垂直方向にインタリーブした形態で保存するようにし、もって、サーチデータの移動が少なくなるようにし、消費電力を抑制するようにするものである。
【０００９】
【課題を解決するための手段】
請求項１に記載の動きベクトル検出装置は、サーチ範囲の画素データのうち、トップフィールドの画素データであって、水平または垂直方向の奇数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第１の記憶手段と、サーチ範囲の画素データのうち、トップフィールドの画素データであって、水平または垂直方向の偶数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第２の記憶手段と、サーチ範囲の画素データのうち、ボトムフィールドの画素データであって、水平または垂直方向の奇数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第３の記憶手段と、サーチ範囲の画素データのうち、ボトムフィールドの画素データであって、水平または垂直方向の偶数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第４の記憶手段と、基準ブロックの画素データのうち、インターリーブした位置の画素データを記憶する第５の記憶手段と、第１乃至第４の記憶手段に記憶された画素データのうち、第5の記憶手段に記憶された画素データに対応する位置のサーチブロックの画素データを選択する選択手段と、選択手段により選択されたサーチブロックの画素データと、第５の記憶手段に記憶されている基準ブロックのインターリーブした位置の画素データの差を演算する第１の演算手段と、サーチブロック毎に、第１の演算手段の演算結果の和を演算する第２の演算手段と、第２の演算手段の演算結果の最小値に対応するサーチブロックを検出する検出手段とを備え、第1乃至第4の記憶手段に記憶された画素データのうち、選択手段で選択されていない記憶手段の画素データは、将来的に必要になる新たな画素データに上書きされることを特徴とする。
【００１０】
請求項２に記載の動きベクトル検出方法は、サーチ範囲の画素データのうち、トップフィールドの画素データであって、水平または垂直方向の奇数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第１の記憶ステップと、サーチ範囲の画素データのうち、トップフィールドの画素データであって、水平または垂直方向の偶数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第２の記憶ステップと、サーチ範囲の画素データのうち、ボトムフィールドの画素データであって、水平または垂直方向の奇数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第３の記憶ステップと、サーチ範囲の画素データのうち、ボトムフィールドの画素データであって、水平または垂直方向の偶数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第４の記憶ステップと、基準ブロックの画素データのうち、インターリーブした位置の画素データを記憶する第５の記憶ステップと、第１乃至第４の記憶ステップで記憶された画素データのうち、第5の記憶ステップで記憶された画素データに対応する位置のサーチブロックの画素データを選択する選択ステップと、選択ステップで選択されたサーチブロックの画素データと、第５の記憶ステップで記憶されている基準ブロックのインターリーブした位置の画素データの差を演算する第１の演算ステップと、サーチブロック毎に、第１の演算ステップの演算結果の和を演算する第２の演算ステップと、第２の演算ステップの演算結果の最小値に対応するサーチブロックを検出する検出ステップとを含み、第1乃至第4の記憶ステップで記憶された画素データのうち、選択ステップで選択されていない前記画素データは、将来的に必要になる新たな画素データに上書きされることを特徴とする。
【００１１】
請求項１に記載の動きベクトル検出装置においては、第１の記憶手段が、水平または垂直方向の奇数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶し、第２の記憶手段が、サーチ範囲の画素データのうち、トップフィールドの画素データであって、水平または垂直方向の偶数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶し、第３の記憶手段が、サーチ範囲の画素データのうち、ボトムフィールドの画素データであって、水平または垂直方向の奇数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶し、第４の記憶手段が、サーチ範囲の画素データのうち、ボトムフィールドの画素データであって、水平または垂直方向の偶数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶し、第５の記憶手段が、基準ブロックの画素データのうち、インターリーブした位置の画素データを記憶し、選択手段が、第１乃至第４の記憶手段に記憶された画素データのうち、第5の記憶手段に記憶された画素データに対応する位置のサーチブロックの画素データを選択し、第１の演算手段が、選択手段により選択されたサーチブロックの画素データと、第５の記憶手段に記憶されている基準ブロックのインターリーブした位置の画素データの差を演算し、第２の演算手段が、サーチブロック毎に、第１の演算手段の演算結果の和を演算し、検出手段が、第２の演算手段の演算結果の最小値に対応するサーチブロックを検出する。また、第1乃至第4の記憶手段に記憶された画素データのうち、選択手段で選択されていない記憶手段の画素データは、将来的に必要になる新たな画素データに上書きされる。
【００１２】
請求項２に記載の動きベクトル検出方法においては、第１の記憶ステップが、サーチ範囲の画素データのうち、トップフィールドの画素データであって、水平または垂直方向の奇数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶し、第２の記憶ステップが、サーチ範囲の画素データのうち、トップフィールドの画素データであって、水平または垂直方向の偶数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶し、第３の記憶ステップが、サーチ範囲の画素データのうち、ボトムフィールドの画素データであって、水平または垂直方向の奇数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶し、第４の記憶ステップが、サーチ範囲の画素データのうち、ボトムフィールドの画素データであって、水平または垂直方向の偶数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶し、第５の記憶ステップが、基準ブロックの画素データのうち、インターリーブした位置の画素データを記憶し、選択ステップが、第１乃至第４の記憶ステップで記憶された画素データのうち、第5の記憶ステップで記憶された画素データに対応する位置のサーチブロックの画素データを選択し、第１の演算ステップが、選択ステップで選択されたサーチブロックの画素データと、第５の記憶ステップで記憶されている基準ブロックのインターリーブした位置の画素データの差を演算し、第２の演算ステップが、サーチブロック毎に、第１の演算ステップの演算結果の和を演算し、検出ステップが、第２の演算ステップの演算結果の最小値に対応するサーチブロックを検出する。また、第1乃至第4の記憶ステップで記憶された画素データのうち、選択ステップで選択されていない画素データは、将来的に必要になる新たな画素データに上書きされる。
【００１３】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態（但し一例）を付加して本発明の特徴を記述すると、次のようになる。但し勿論この記載は、各手段を記載したものに限定することを意味するものではない。
【００１４】
請求項１に記載の動きベクトル検出装置は、サーチ範囲の画素データのうち、トップフィールドの画素データであって、水平または垂直方向の奇数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第１の記憶手段（例えば、図２のメモリ４１）と、サーチ範囲の画素データのうち、トップフィールドの画素データであって、水平または垂直方向の偶数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第２の記憶手段（例えば、図２のメモリ４２）と、サーチ範囲の画素データのうち、ボトムフィールドの画素データであって、水平または垂直方向の奇数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第３の記憶手段（例えば、図２のメモリ４３）と、サーチ範囲の画素データのうち、ボトムフィールドの画素データであって、水平または垂直方向の偶数番目の、前記サーチ範囲に含まれる画素の列の１／４の数の列の画素データを記憶する第４の記憶手段（例えば、図２のメモリ４４）と、基準ブロックの画素データのうち、インターリーブした位置の画素データを記憶する第５の記憶手段（例えば、図２のメモリ３１）と、第１乃至第４の記憶手段に記憶された画素データのうち、第5の記憶手段に記憶された画素データに対応する位置のサーチブロックの画素データを選択する選択手段（例えば、図２のセレクタ４５）と、選択手段により選択されたサーチブロックの画素データと、第５の記憶手段に記憶されている基準ブロックのインターリーブした位置の画素データの差を演算する第１の演算手段（例えば、図２の減算器４６乃至５３）と、サーチブロック毎に、第１の演算手段の演算結果の和を演算する第２の演算手段（例えば、図２の加算器５４，５５）と、第２の演算手段の演算結果の最小値に対応するサーチブロックを検出する検出手段（例えば、図２の最小値検出回路３５）とを備え、第1乃至第4の記憶手段に記憶された画素データのうち、選択手段で選択されていない記憶手段の画素データは、将来的に必要になる新たな画素データに上書きされることを特徴とする。
【００１５】
図１は、本発明の動きベクトル検出装置を応用した、画像圧縮装置の構成例を表している。画像データは、減算器１に入力され、動き補償回路１０より供給された予測画像データとの差分が演算され、その演算結果が、ＤＣＴ回路３に供給されている。ＤＣＴ回路３は、入力されたデータをＤＣＴ（Discret Cosine Transform）変換して、量子化回路４に出力する。量子化回路４は、入力されたＤＣＴ係数を量子化して、ＶＬＣ回路５と逆量子化回路６に出力するようになされている。ＶＬＣ回路５は、量子化回路４より入力された量子化データをＶＬＣ（Variable Length Code）（可変長符号）に変換し、図示せぬ伝送路に伝送する。
【００１６】
逆量子化回路６は、量子化回路４より入力された量子化データを逆量子化し、逆ＤＣＴ回路７に出力している。逆ＤＣＴ回路７は、逆量子化回路６より入力されたデータを逆ＤＣＴ処理して、加算器８に出力する。加算器８は、動き補償回路１０より入力された予測画像データと、逆ＤＣＴ回路７より供給されデータ（差分データ）とを加算し、もとの画像データに戻して、フレームメモリ９に供給し、記憶させるようになされている。
【００１７】
フレームメモリ９より読み出された画像データは、動き補償回路１０で動き補償された後、減算器１と加算器８に予測画像データとして供給される。
【００１８】
一方、入力された画像データは、フレームメモリ２に供給され記憶されるとともに、そこから適宜読み出され、動き検出回路１１に供給され、動きベクトルが検出される。検出された動きベクトルは、動き補償回路１０に供給されるようになされている。
【００１９】
次に、その動作について説明する。入力された画像データは、減算器１に供給される。減算器１には、フレームメモリ９から読み出され、動き補償回路１０で動きベクトルに対応して動き補償された予測画像データが供給されたおり、減算器１は、入力された画像データから、この予測画像データを減算して、その差分データをＤＣＴ回路３に出力する。ＤＣＴ回路３は、入力された差分データをＤＣＴ変換し、量子化回路４に出力する。量子化回路４は、入力されたＤＣＴ係数を量子化し、ＶＬＣ回路５に供給する。ＶＬＣ回路５は、入力された量子化データを可変長符号に変換し、出力する。
【００２０】
逆量子化回路６は、量子化回路４が出力した量子化データを極所的に復号するために、逆量子化して、逆ＤＣＴ回路７に出力する。逆ＤＣＴ回路７は、入力された量子化データを逆ＤＣＴ処理し、もとの差分データに戻して、加算器８に出力する。加算器８にはまた、動き補償回路１０より出力された予測画像データが供給されており、この予測画像データに、逆ＤＣＴ回路７より出力された差分データが加算され、もとの画像データに戻された後、フレームメモリ９に供給され、記憶される。
【００２１】
動き検出回路１１は、フレームメモリ２に記憶された所定のフィールドの画像データを適宜読み出し、動きベクトルを検出し、検出した動きベクトルを動き補償回路１０に出力する。動き補償回路１０は、この動きベクトルに対応して、フレームメモリ９より読み出された画像データに動き補償を施し、予測画像データを生成し、減算器１と加算器８に出力する。
【００２２】
図２は、動き検出回路１１の構成例を表している。メモリ４１乃至４４には、動きベクトルを検出するサーチ範囲の画素データが供給され、記憶されるようになされている。この実施の形態の場合、サーチ範囲は、図３に示すように、８×８個の画素で構成されている。メモリ４１乃至４４には、図３に示す、８×８個の画素データのうち、所定の８個の画素データが適宜記憶されるようになされている。
【００２３】
動きベクトルを検出するために、このサーチ範囲の所定のサーチブロックの画素データと、基準ブロックの画素データとが比較される。この基準ブロックは、図４に示すように、４×４個の画素で構成され、メモリ３１に供給され、記憶される。従って、サーチブロックも、４×４個の画素で構成される。
【００２４】
なお、図３と図４は、トップフィールドとボトムフィールドで構成される１フレーム分の画素データの一部を表しており、ｔで表す画素データは、トップフィールドの画素データを表し、ｂで表す画素データは、ボトムフィールドの画素データを表している。
【００２５】
この実施の形態の場合、２対１サブサンプル方式で、動きベクトルが検出される。従って、４×４個の画素で構成される基準ブロックの画素データのうち、動きベクトル検出に、実際に使用される画素データは、その１／２の８個の画素データとなる。そして、この実施の形態の場合、４×４個の画素データのうち、図４に示すように、インタリーブされた画素データが、動きベクトル検出のための画素データとして利用される。図４の例においては、垂直方向の１列おきの画素データ（図中、黒色で示す画素データ）が利用される。すなわち、左側から第１列目の画素データｔ（０，０），ｂ（０，０），ｔ（１，０），ｂ（１，０）と、第３列目の画素データｔ（０，２），ｂ（０，２），ｔ（１，２），ｂ（１，２）である。
【００２６】
これに対して、例えば、図５に示すように、４×４個の画素のうち、各列の上半分、または下半分の画素を交互に抽出し、利用することも理論的には可能である。しかしながら、このような抽出を行うと、インタリーブした関係にはならず、本願発明の特徴である、画素データの移動を軽減する効果を発揮することができなくなる。そこで、図４に示すように、インタリーブした位置の画素データを、リファレンスデータとして用いる。
【００２７】
なお、メモリ３１には、基準ブロックの４×４個の全ての画素データを記憶させるようにすることも可能であるが、実際に使用されるのは、そのうちの８個の画素データだけであるから、その８個の画素データだけを記憶させるようにすることも可能である。
【００２８】
図２に戻って、セレクタ４５は、メモリ４１乃至メモリ４４から、それぞれ４個の画素データを読み出し、減算器４６乃至５３のいずれかに供給するようになされている。減算器４６乃至５３にはまた、メモリ３１から基準ブロックの８個の画素データのうちの１つの画素データが適宜選択され、供給されている。減算器４６乃至５３は、セレクタ４５から入力された画素データと、メモリ３１から入力された画素データとを減算し、その差の絶対値を演算する。減算器４６乃至４９の出力は、加算器５４に供給され、加算されるようになされている。また、減算器５０乃至５３の出力は、加算器５５に入力され、加算されるようになされている。加算器５４の出力と、加算器５５の出力は、加算器３４に入力され、さらに加算されるようになされている。そして、加算器５４、加算器５５、および加算器３４の出力は、最小値検出回路３５に入力されている。最小値検出回路３５は、入力されたデータの中から最小のデータのサーチブロックを求め、そのサーチブロックに対応する残差（動きベクトル）を出力するようになされている。
【００２９】
メモリ４１，４２、減算器４６乃至４９、加算器５４、並びにセレクタ４５で構成される演算回路３２は、トップフィールドの画素データの処理を行う演算回路を構成し、メモリ４３，４４、セレクタ４５、減算器５０乃至５３、加算器５５で構成される演算回路３３は、ボトムフィールドの画素データの演算を行うようになされている。
【００３０】
次に、その動作について説明する。図３に示すように、この実施の形態の場合、８×８個のサーチ範囲のデータのうち、左上の４×４個の画素が最初にサーチブロックとして抽出される。そして、サーチブロックの４×４個の画素データのうち、メモリ３１に記憶されている８個の画素に対応する８個の画素データと、メモリ３１に記憶されている８個の画素データとの差が演算される。そして、各画素の絶対値の和が、そのサーチブロックの残差とされる。
【００３１】
次に、このサーチブロックが、１画素分だけ下側に移動される。すなわち、図３において、破線で示すブロックから、実線で示すブロックに、サーチブロックが変更される。このサーチブロックにおいても、同様に残差が演算される。そして、サーチブロックが、サーチ範囲内の最も下方まで移動したとき、次に、サーチブロックは、一番上まで移動されるとともに、１画素分だけ右側に移動される。以下同様の処理が繰り返される。そして、各サーチブロックの残差のうち、最小の残差を示すサーチブロックのサーチ範囲内の位置を示すデータが、動きベクトルとされる。
【００３２】
このような処理を行うために、最初に、図示せぬメモリから、サーチ範囲のデータとして、メモリ４１に、図３における画素データｔ０乃至ｔ３、並びに、画素データｔ８乃至ｔ１１が供給され、記憶される。すなわち、図６に黒色で示す画素データがメモリ４１に記憶される。
【００３３】
同様にして、メモリ４２には、図７に示すように、画素データｔ４乃至ｔ７、並びに画素データｔ１２乃至ｔ１５が保持される。メモリ４３には、図８に示すように、画素データｂ０乃至ｂ３、並びに、画素データｂ８乃至ｂ１１が保持される。さらに、メモリ４４には、図９に示すように、画素データｂ４乃至ｂ７、並びに画素データｂ１２乃至ｂ１５が保持される。
【００３４】
セレクタ４５は、メモリ４１乃至４４に記憶されている画素データを、図１０に示すように、各時刻Ｔｉにおいて、減算器４６乃至５３に供給する。
【００３５】
すなわち、時刻Ｔ０においては、メモリ４１に記憶されている画素データｔ０乃至ｔ３、並びにｔ８乃至ｔ１１のうち、画素データｔ０，ｔ１，ｔ８，ｔ９を選択し、それぞれを、減算器４６乃至４９に供給する。減算器４６乃至４９には、メモリ３１から、図４に示す画素データｔ（０，０），ｔ（１，０），ｔ（０，２），ｔ（１，２）が、それぞれ供給されている。従って、減算器４６は、画素データｔ（０，０）と画素データｔ０の差（ｔ（０，０）−ｔ０）の絶対値（ａｂｓ（ｔ（０，０）−ｔ０））を演算する。同様に、減算器４７では、ａｂｓ（ｔ（１，０）−ｔ１）が、減算器４８では、ａｂｓ（ｔ（０，２）−ｔ８）が、減算器４９では、ａｂｓ（ｔ（１，２）−ｔ９）が、それぞれ演算される。
【００３６】
加算器５４は、減算器４６乃至４９の出力を加算する。すなわち、次式を演算する。
ａｂｓ（ｔ（０，０）−ｔ０）＋ａｂｓ（ｔ（１，０）−ｔ１）＋ａｂｓ（ｔ（０，２）−ｔ８）＋ａｂｓ（ｔ（１，２）−ｔ９）
【００３７】
一方、減算器５０乃至５３には、メモリ４３に記憶されている画素データｂ０乃至ｂ３、並びに画素データｂ８乃至ｂ１１のうち、画素データｂ０，ｂ１，ｂ８，ｂ９が、それぞれセレクタ４５により選択され、減算器５０乃至５３に供給される。この減算器５０乃至５３には、メモリ３１に記憶されている画素データのうち、画素データｂ０，ｂ１，ｂ８，ｂ９が供給されている。従って、減算器５０乃至５３は、ａｂｓ（ｂ（０，０）−ｂ０），ａｂｓ（ｂ（１，０）−ｂ１），ａｂｓ（ｂ（０，２）−ｂ８），ａｂｓ（ｂ（１，２）−ｂ９）を、それぞれ演算する。加算器５５は、減算器５０乃至５３の演算結果を次のように加算する。
ａｂｓ（ｂ（０，０）−ｂ０）＋ａｂｓ（ｂ（１，０）−ｂ１）＋ａｂｓ（ｂ（０，２）−ｂ８）＋ａｂｓ（ｂ（１，２）−ｂ９）
【００３８】
加算器５４の出力は、メモリ３１に記憶されているトップフィールドの画素データと、メモリ４１に記憶されているトップフィールドの画素データとの差のデータＤｔｔであり、加算器５５の出力は、メモリ３１に記憶されているボトムフィールドの画素データと、メモリ４３に記憶されているボトムフィールドの画素データとの差のデータＤｂｂである。従って、フレーム予測の残差は、加算器３４で、加算器５４の出力と加算器５５の出力を加算して、データＤｆｒとして求められる。
【００３９】
最小値検出回路３５は、加算器５４、加算器５５、および加算器３４の出力から、最小の残差を求める。
【００４０】
次に、時刻Ｔ１においては、セレクタ４５は、メモリ４３に記憶されている画素データｂ０，ｂ１，ｂ８，ｂ９を、それぞれ減算器４６乃至４９に供給する。また、メモリ４１に記憶されている画素データｔ１，ｔ２，ｔ９，ｔ１０が読み出され、それぞれ減算器５０乃至５３に供給される。減算器４６乃至５３には、メモリ３１から時刻Ｔ０における場合と同一の画素データが供給されている。従って、減算器４６乃至４９では、ａｂｓ（ｔ（０，０）−ｂ０），ａｂｓ（ｔ（１，０）−ｂ１），ａｂｓ（ｔ（０，２）−ｂ８），ａｂｓ（ｔ（１，２）−ｂ９）が演算され、減算器５０乃至５３では、ａｂｓ（ｂ（０，０）−ｔ１），ａｂｓ（ｂ（１，０）−ｔ２），ａｂｓ（ｂ（０，２）−ｔ９），ａｂｓ（ｂ（１，２）−ｔ１０）が演算される。
【００４１】
従って、加算器５４は、次式を演算する。
ａｂｓ（ｔ（０，０）−ｂ０）＋ａｂｓ（ｔ（１，０）−ｂ１）＋ａｂｓ（ｔ（０，２）−ｂ８）＋ａｂｓ（ｔ（１，２）−ｂ９）
【００４２】
また、加算器５５では次式が演算される。
ａｂｓ（ｂ（０，０）−ｔ１）＋ａｂｓ（ｂ（１，０）−ｔ２）＋ａｂｓ（ｂ（０，２）−ｔ９）＋ａｂｓ（ｂ（１，２）−ｔ１０）
【００４３】
加算器３４は、加算器５４の出力と加算器５５の出力を加算する。最小値検出回路３５は、加算器５４、加算器５５および加算器３４の出力の最小値を演算する。そして、さらに時刻Ｔ０で求めた最小値と比較し、より小さい方を最小値として求める。
【００４４】
以上のような処理が、時刻Ｔ２，Ｔ３，Ｔ４において、順次繰り返される。時刻Ｔ４においての演算結果が完了したとき、サーチブロックが、図３において左上の位置から、順次１画素分ずつ下方に移動し、最も下側まで移動したことになる。
【００４５】
次に、時刻Ｔ５において、セレクタ４５は、メモリ４２に記憶されている画素データｔ４乃至ｔ７、並びに画素データｔ１２乃至ｔ１５のうち、画素データｔ４，ｔ５，ｔ１２，ｔ１３を、それぞれ減算器４６乃至４９に供給し、メモリ４４に記憶されている画素データｂ４乃至ｂ７、並びに画素データｂ１２乃至ｂ１５のうち、画素データｂ４，ｂ５，ｂ１２，ｂ１３を、それぞれ減算器５０乃至５３に供給する。従って、減算器４６は、ａｂｓ（ｔ（０，０）−ｔ４）を演算し、減算器４７は、ａｂｓ（ｔ（１，０）−ｔ５）を演算し、減算器４８は、ａｂｓ（ｔ（０，２）−ｔ１２）を演算し、減算器４９は、ａｂｓ（ｔ（１，２）−ｔ１３）を演算する。また、減算器５０は、ａｂｓ（ｂ（０，０）−ｂ４）を演算し、減算器５１は、ａｂｓ（ｂ（１，０）−ｂ５）を演算し、減算器５２は、ａｂｓ（ｂ（０，２）−ｂ１２）を演算し、減算器５３は、ａｂｓ（ｂ（１，２）−ｂ１３）を演算する。
【００４６】
加算器５４は、減算器４６乃至４９の出力を加算し、加算器５５は、減算器５０乃至５３の出力を加算する。また、加算器３４は、加算器５４と加算器５５の出力を加算する。そして、最小値検出回路３５は、加算器５４、加算器５５、および加算器３４の出力のうち最小値を求め、既に求められている最小値を比較し、より小さい方を最小値として残す演算を行う。
【００４７】
すなわち、これにより、図３に破線で示したサーチブロックを１画素分だけ右側に移動した位置のサーチブロックの残差が求められたことになる。
【００４８】
以下同様にして、図１０に示すように、セレクタ４５が、メモリ４１乃至４４に記憶されている画素データを適宜選択して、減算器４６乃至５３に供給し、演算が行われる。
【００４９】
なお、時刻Ｔ０乃至Ｔ４のタイミングにおいては、メモリ４１とメモリ４３が使用されているが、時刻Ｔ５乃至Ｔ９のタイミングにおいては、メモリ４２とメモリ４４が使用される。そこで、この間に、将来的に必要になる画素データが書き込まれる。すなわち、メモリ４１には、図１１に示すように、それまで書き込まれていた画素データｔ０，ｔ１，ｔ２，ｔ３の上に、新たな画素データｔ１６，ｔ１７，ｔ１８，ｔ１９が上書きされる。その結果、メモリ４１には、画素データｔ８乃至ｔ１１、並びに画素データｔ１６乃至ｔ１９が記憶される。
【００５０】
同様に、メモリ４３においては、図１２に示すように、それまでの画素データｂ０乃至ｂ３の上に、新たな画素データｂ１６乃至ｂ１９が上書きされ、結局、メモリ４３には、画素データｂ８乃至ｂ１１、並びに画素データｂ１６乃至ｂ１９が記憶される。
【００５１】
以下同様に、時刻Ｔ１０乃至Ｔ１４のタイミングにおいては、メモリ４１とメモリ４３が使用され、メモリ４２とメモリ４４は使用されないので、メモリ４２とメモリ４４には、新たなデータが書き込まれる。すなわち、図１３に示すように、メモリ４２には、それまでの画素データｔ４乃至ｔ７の上に、新たな画素データｔ２０乃至ｔ２３が上書きされる。その結果、メモリ４２には、画素データｔ１２乃至ｔ１５と、画素データｔ２０乃至ｔ２３が記憶される。
【００５２】
同様に、メモリ４４には、図１４に示すように、それまで記憶されていた画素データｂ４乃至ｂ７の上に、新たな画素データｂ２０乃至ｂ２３が上書きされる。その結果、メモリ４４には、画素データｂ１２乃至ｂ１５、並びに画素データｂ２０乃至ｂ２３が記憶される。
【００５３】
以上のようにして、図３に示す８×８画素で構成されるサーチ範囲の中でサーチブロックを移動させ、各移動位置における画素データと、メモリ３１に記憶されている基準ブロックの画素データとの残差が求められる。そして、サーチ範囲内において、最小の残差が得られるサーチブロックのサーチ範囲内の位置が、動きベクトルとして、最小値検出回路３５から出力される。
【００５４】
例えば、図３において、破線で示すサーチブロックに対応する動きベクトルＭＶ（ｍｖｘ，ｍｖｙ）は、（−２，−２）となる。図３において、実線で示す位置のサーチ範囲の動きベクトルは、（−２，−１）となる。時刻Ｔ４のサーチブロックに対応する動きベクトルは、（−２，＋２）となり、時刻Ｔ５のサーチ範囲の動きベクトルは、（−１，−２）となる。
【００５５】
なお、減算器４６乃至５３においては、差の絶対値を求めるようにしたが、差の自乗和を求めるようにしてもよい。
【００５６】
また、上記実施の形態においては、画素列を水平方向にインタリーブするようにしたが、垂直方向にインタリーブするようにすることも可能である。
【００５７】
このように、サーチする画素列をインタリーブすることにより、サーチを行っている間に、サーチに使用しない列の画素データを更新することが可能となり、また、サーチデータのパイプライン的な移動を行わなくてもすむようになる。その結果、画素データの転送にともなう電流の流れを減少させ、消費電力を削減することが可能となる。
【００５８】
【発明の効果】
以上の如く、請求項１に記載の動きベクトル検出装置および請求項２に記載の動きベクトル検出方法によれば、基準ブロックの画素データのうち、インタリーブした位置の画素データを用いて演算を行うようにしたので、サーチデータのパイプライン的な移動を防止し、消費電力を抑制することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用した画像圧縮装置の構成例を示すブロック図である。
【図２】図１の動き検出回路１１の構成例を示すブロック図である。
【図３】サーチ範囲を説明する図である。
【図４】基準ブロックの構成を説明する図である。
【図５】基準ブロックの他の構成を説明する図である。
【図６】図２のメモリ４１に記憶される画素データを説明する図である。
【図７】図２のメモリ４２に記憶される画素データを説明する図である。
【図８】図２のメモリ４３に記憶される画素データを説明する図である。
【図９】図２のメモリ４４に記憶される画素データを説明する図である。
【図１０】図２の構成例における画素データの転送を説明する図である。
【図１１】図２のメモリ４１における画素データの更新を説明する図である。
【図１２】図２のメモリ４３における画素データの更新を説明する図である。
【図１３】図２のメモリ４２における画素データの更新を説明する図である。
【図１４】図２のメモリ４４における画素データの更新を説明する図である。
【図１５】従来の動きベクトル検出回路の構成例を示すブロック図である。
【符号の説明】
１  減算器，  ３  ＤＣＴ回路，  ４  量子化回路，  ５  ＶＬＣ回路，  ６逆量子化回路，  ７  逆ＤＣＴ回路，  ８  加算器，  ９  フレームメモリ，１０  動き補償回路，  １１  動き検出回路，  ３１  メモリ，  ３２，３３演算回路，  ３４  加算器，  ３５  最小値検出回路，  ４１乃至４４  メモリ，  ４５  セレクタ，  ４６乃至５３  減算器，  ５４，５５  加算器
【図１】
0004178562.tif 000002
【図２】
0004178562.tif 000003
【図３】
0004178562.tif 000004
【図４】
0004178562.tif 000005
【図５】
0004178562.tif 000006
【図６】
0004178562.tif 000007
【図７】
0004178562.tif 000008
【図８】
0004178562.tif 000009
【図９】
0004178562.tif 000010
【図１０】
0004178562.tif 000011
【図１１】
0004178562.tif 000012
【図１２】
0004178562.tif 000013
【図１３】
0004178562.tif 000014
【図１４】
0004178562.tif 000015
【図１５】
0004178562.tif 000016