(57)【特許請求の範囲】
【請求項１】
時間的に前後する現在画像或いは前画像に所定画素からなる基準ブロックを設定し、上記基準ブロックと同じ画素数からなる検査ブロックを、上記基準ブロックが設定された画像以外の画像の所定の移動範囲内で移動し、該検査ブロックを移動する毎に、検査ブロックと基準ブロックとの相関を示す評価関数値を検出し、上記検査ブロックの移動に対応して得られた各評価関数値の中から値が最小の評価関数値を検出し、この値が最小の評価関数値が形成された移動範囲内の所定位置の画素に基づいて上記検査ブロックの次の移動範囲を所定分狭め、再度、上記値が最小の評価関数値を検出する動作を、上記検査ブロックの最小限度の移動範囲となるまで繰り返し行い、この最小限度の移動範囲で検出された、値が最小の評価関数値に基づいて動きベクトルを検出する動きベクトル検出方法において、
上記検査ブロックを、最小限度の移動範囲以外の移動範囲で移動した際に得られた評価関数値のうち、値が最小の評価関数値から順に値が小さい評価関数値を複数検出し、
この複数検出された評価関数値どうしの差分と閾値とを比較し、
上記複数の評価関数値どうしの差分が閾値よりも小さかった場合には、上記複数検出された評価関数値が形成された各移動範囲内の所定位置の画素に基づいて、上記検査ブロックの次の移動範囲を所定分狭めてそれぞれ設定し、
上記複数の評価関数値どうしの差分が閾値よりも大きかった場合には、最小値の評価関数値が形成された移動範囲内の所定位置の画素に基づいて、上記検査ブロックの次の移動範囲を、上記最小限度の移動範囲、或いは、上記所定分以上狭めて設定し、
この狭めて設定された各移動範囲で上記検査ブロックの移動をそれぞれ行って評価関数値を検出する動作を、上記検査ブロックの最小限度の移動範囲となるまで繰り返し行い、
上記最小限度の移動範囲で検査ブロックを移動した際に得られた、値が最小の評価関数値に基づいて動きベクトルを検出することを特徴とする動きベクトル検出方法。
【請求項２】
上記最小限度の移動範囲以外の移動範囲で検査ブロックを移動することにより得られた評価関数値のうち、値が最小の評価関数値及び２番目に値が小さな評価関数値を検出し、上記値が最小の評価関数値及び２番目に値が小さな評価関数値が検出された各移動範囲内の所定位置の各画素に基づいて、上記検査ブロックの次の移動範囲を所定分狭めてそれぞれ設定することを特徴とする請求項１記載の動きベクトル検出方法。
【請求項３】
複数回設定される上記検査ブロックの移動範囲のうち、所定の移動範囲で上記複数の評価関数値の検出を行うことを特徴とする請求項１又は請求項２記載の動きベクトル検出方法。
【請求項４】
時間的に前後する現在画像或いは前画像に所定画素からなる基準ブロックを設定し、上記基準ブロックと同じ画素数からなる検査ブロックを、上記基準ブロックが設定された画像以外の画像の所定の移動範囲内で移動し、該検査ブロックを移動する毎に、検査ブロックと基準ブロックとの相関を示す評価関数値を検出し、上記検査ブロックの移動に対応して得られた各評価関数値の中から値が最小の評価関数値を検出し、この値が最小の評価関数値が形成された移動範囲内の所定位置の画素に基づいて上記検査ブロックの次の移動範囲を所定分狭め、再度、上記値が最小の評価関数値を検出する動作を、上記検査ブロックの最小限度の移動範囲となるまで繰り返し行い、この最小限度の移動範囲で検出された、値が最小の評価関数値に基づいて動きベクトルを検出し、この動きベクトルに応じて前画像の動き補償を行い、上記現在画像と動き補償を行った前画像との差分を直交変換処理し量子化することにより、圧縮符号化した画像データを形成する画像データの符号化方法であって、
上記動きベクトルを検出する際に、上記検査ブロックを、最小限度の移動範囲以外の移動範囲で移動した際に得られた評価関数値のうち、値が最小の評価関数値から順に値が小さい評価関数値を複数検出し、この複数検出された評価関数値どうしの差分と閾値とを比較し、上記複数の評価関数値どうしの差分が閾値よりも小さかった場合には、上記複数検出された評価関数値が形成された各移動範囲内の所定位置の画素に基づいて、上記検査ブロックの次の移動範囲を所定分狭めてそれぞれ設定し、上記複数の評価関数値どうしの差分が閾値よりも大きかった場合には、最小値の評価関数値が形成された移動範囲内の所定位置の画素に基づいて、上記検査ブロックの次の移動範囲を、上記最小限度の移動範囲、或いは、上記所定分以上狭めて設定し、この狭めて設定された各移動範囲で上記検査ブロックの移動をそれぞれ行って評価関数値を検出する動作を、上記検査ブロックの最小限度の移動範囲となるまで繰り返し行い、上記最小限度の移動範囲で検査ブロックを移動した際に得られた、値が最小の評価関数値に基づいて動きベクトルを検出することを特徴とする画像データの符号化方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、画像の動きに応じて画像データの圧縮符号化処理を行う、例えば動画像圧縮処理装置（ＭＰＥＧ装置）等に用いて好適な動きベクトル検出方法及び画像データの符号化方法に関し、特に、最初は大きく、徐々に範囲を狭めながら画像の動きベクトルの検出を多段階に亘って行うマルチステップサーチにおける動きベクトルの検出精度の向上等を図った動きベクトル検出方法、及び、この動きベクトル検出方法を用いて画像データの圧縮符号化を行うことにより、圧縮符号化効率及び圧縮符号化精度の向上等を図った画像データの符号化方法に関する。
【０００２】
【従来の技術】
今日において、動画の高能率圧縮符号化の国際標準方式としてＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｃｏｄｉｎｇ  Ｔｒａｎｓｆｏｒｍ  ）方式が知られている。このＭＰＥＧ方式は、画像データに直交変換処理を施す、例えばＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ  ）変換と、動き補償とを組み合わせた画像の高能率圧縮技術である。
【０００３】
このＭＰＥＧ方式は、例えば前フレームの画像と現在フレームの画像との相関性を利用して画像データを圧縮符号化する、図７に示すような画像データの符号化装置に適用することができる。
【０００４】
上記図７に示す画像データの符号化装置は、入力端子２０１を介して現在フレームの画像データが供給される。この現在フレームの画像データは、動きベクトル検出回路２０２及び減算器２０３に供給される。
【０００５】
上記動きベクトル検出回路２０２には、上記現在フレームの画像データの他、以下に説明するフレームメモリ２０５からの前フレームの画像データが供給されている。上記動きベクトル検出回路２０２は、上記現在フレームの画像データ及び前フレームの画像データに基づいて画像の動きを検出することにより動きベクトルを形成し、これを動き補償回路２０４に供給する。
【０００６】
上記動き補償回路２０４には、フレームメモリ２０５から前フレームの画像データが供給されている。上記動き補償回路２０４は、上記動きベクトル検出回路２０２からの動きベクトルに基づいて、上記前フレームの画像データに動き補償処理を施し、これを上記減算器２０３及び加算器２０６に供給する。
【０００７】
上記減算器２０３は、上記現在フレームの画像データと、上記動き補償処理の施された前フレームの画像データとを減算処理することにより、現在フレームの画像データと前フレームの画像データとの差分を示す差分データを形成し、これをＤＣＴ回路２０７に供給する。
【０００８】
上記ＤＣＴ回路２０７は、上記差分データを所定画素数のブロック毎に周波数軸上に変換してＤＣＴブロックを形成し、これを量子化回路２０８に供給する。上記量子化回路２０８は、上記ＤＣＴブロックのレベルに応じて量子化ステップ可変し、この量子化ステップにより上記ＤＣＴブロックに量子化処理を施すことにより圧縮画像データを形成し、これを出力端子２０９を介して例えばディスク記録装置等の外部機器に供給するとともに、逆量子化回路２１０に供給する。
【０００９】
上記逆量子化回路２１０は、上記量子化回路２０８で選択された量子化ステップで、上記圧縮画像データに逆量子化処理を施すことにより、量子化処理される前のＤＣＴブロックを再生し、これを逆ＤＣＴ回路２１１に供給する。上記逆ＤＣＴ回路２１１は、上記再生されたＤＣＴブロックに逆ＤＣＴ処理を施すことにより、ＤＣＴブロック化される前の差分データを形成し、これを上記加算器２０６に供給する。
【００１０】
上記加算器２０６には、上記動き補償回路２０４からの動き補償された前フレームの画像データが別に供給されている。上記加算器２０６は、上記動き補償された前フレームの画像データと、上記逆ＤＣＴ回路２１１からの差分データとを加算処理することにより、現在フレームの画像データを再生し、これをフレームメモリ２０５に供給する。
【００１１】
上記フレームメモリ２０５に供給された現在フレームの画像データは、１フレーム分の遅延が施され読み出される。これにより、上記現在フレームの画像データは、読み出しの段階で前フレームの画像データとされ、上記動き補償回路２０４及び動きベクトル検出回路２０２に供給される。
上述のように、上記動き補償回路２０４は、上記動きベクトル検出回路２０２からの動きベクトルに応じて上記前フレームの画像データに動き補償処理を施し、これを上記減算器２０３及び加算器２０６に供給する。以後、各回路において、上述の動作が繰り返される。
【００１２】
このように、上記画像データの符号化装置は、動きベクトルに基づいて動きベクトル補償された前フレームの画像データと、現在フレームの画像データとの差分を符号化して出力する。これにより、画像データの高能率圧縮を行うことができる。
【００１３】
ここで、上記動きベクトル検出回路２０２は、図８に示すように現在フレーム２２１に複数設定された複数画素（Ｎ画素×Ｍライン）から形成される基準ブロック２２３が、前フレーム２２２内を移動する複数画素（Ｎ画素×Ｍライン）から形成される検査ブロックのうち、どの検査ブロック２２４と一致するかを検出するブロックマッチングにより動きベクトルを検出している。
【００１４】
すなわち、上記動きベクトル検出回路２０２は、前フレーム２２２の検査ブロック２２４を所定の移動範囲内において移動し、該移動する毎に検査ブロック２２４と上記現在フレーム２２１の基準ブロック２２３とを比較する。そして、上記基準ブロック２２３に最も合致する検査ブロック２２４をマッチングブロックとして検出し、このマッチングブロックに基づいて動きベクトルの検出を行う。
【００１５】
このようなブロックマッチング法としては、フルサーチと呼ばれるブロックマッチング法と、マルチステップサーチと呼ばれるブロックマッチング法とが知られている。
【００１６】
上記フルサーチのブロックマッチング法が適用された動きベクトル検出回路は、例えば図９に示すような構成を有している。
この図９において、現フレームメモリ２３１には入力端子２３３を介して現在フレームの画像データが供給され、前フレームメモリ２３２には入力端子２３４を介して前フレームの画像データが供給される。上記各フレームメモリ２３１，２３２に供給された各画像データは、それぞれコントローラ２３５の書き込み制御により、該各フレームメモリ２３１，２３２内に一旦書き込まれる。
【００１７】
このように上記各フレームメモリ２３１，２３２内に各画像データが書き込まれると、上記コントローラ２３５は、上記図８に示した現在フレーム２２１の基準ブロックの画像データを読み出すように上記現フレームメモリ２３１を読み出し制御するとともに、前フレーム２２２の検査ブロック２２４の画像データを読み出すようにアドレス移動回路２３６を介して前フレームメモリ２３２を読み出し制御する。また、上記コントローラ２３５は、上記検査ブロック２２４が、図１０に示すように１画素毎に所定の移動範囲ＳＶ内を移動するように、１画素ずつ上記前フレームメモリ２３２の読み出しアドレスをアドレス移動回路２３６を介して可変制御する。
【００１８】
これにより、上記現フレームメモリ２３１から上記基準ブロック２２３の画像データが差分検出回路２３７に供給されるとともに、上記前フレームメモリ２３２から上記移動範囲ＳＶ内において１画素ずつ移動された検査位置の検査ブロック２２４の画像データが上記差分検出回路２３７に供給される。
【００１９】
上記差分検出回路２３７は、上記基準ブロック２２３の画像データと、上記検査ブロック２２４の画像データとを１画素毎に減算処理して差分データを形成し、これを絶対値和検出回路２３８に供給する。
【００２０】
上記絶対値和検出回路２３８は、１回のブロックの比較により形成された差分データの絶対値を検出し、この絶対値を全て加算処理することにより絶対値和データを形成し、これを判断回路２３９に供給する。
【００２１】
上記判断回路２３９は、例えば上記移動範囲ＳＶ内を上記検査ブロック２２４を１画素ずつ移動してブロックマッチングを行う１回のブロックマッチング処理により形成される全ての絶対値和データを記憶できるメモリを有している。上記判断回路２３９は、上記絶対値和検出回路２３８から供給される絶対値和データを、その絶対値和データが形成された上記移動範囲ＳＶの検査位置に対応するアドレスに一旦記憶する。そして、上記メモリの全てのアドレスに上記絶対値和データが記憶されると、この絶対値和データの中から値が最小のものが記憶されているアドレスを検出し、このアドレスに基づいて動きベクトルを検出する。そして、この動きベクトルを出力端子２４０を介して、上記図７に示した動き補償回路２０４に供給する。
【００２２】
上記値が最小の絶対値和データは、前フレームの検査ブロック２２４の画像データと現在フレームの基準ブロック２２３の画像データとの差分が最小であること、すなわち、その検査ブロック２２４の画像データと基準ブロック２２３の画像データとの相関性が高いことを示している。また、上述のように上記絶対値和データは、ブロックマッチングを行った位置に対応した上記メモリ上のアドレスに記憶される。
【００２３】
従って、上記値が最小の絶対値和データが記憶されている上記メモリ上のアドレスを検出することにより、上記値が最小の絶対値和データが形成された検査ブロック２２４に対する上記基準ブロック２２３の動き分（動きベクトル）を検出することができる。
【００２４】
なお、このように１回のブロックマッチングで動きベクトルの検出がなされると、上記判断回路２５９は、コントローラ２３５に該動きベクトルの検出がなされたことを示すデータを供給する。上記コントローラ２３５は、上記動きベクトルの検出がなされたことを示すデータが供給されると、新たな現在フレームの画像データ及び前フレームの画像データが上記各フレームメモリ２３１，２３２に書き込まれるように該各フレームメモリ２３１，２３２を書き込み制御する。これにより、新たに上述のブロックマッチング処理が行われる。
【００２５】
しかし、このようなフルサーチを行うと、上記検査ブロック２２４を、上記移動範囲ＳＶにおいて１画素毎に移動させながら動きベクトルの検出を行う必要があるため、演算量が膨大なものとなり画像データの高速処理に支障をきたす。このため、現在では、最初は大きな移動範囲で動きベクトルの検出を行い、この検出結果に応じて徐々に移動範囲を小さくするように、多段階に亘ってブロックマッチング処理を行うことにより、演算量の軽減を図るマルチステップサーチが多く行われている。
【００２６】
上記マルチステップサーチとしては、３段階に亘って動きベクトルの検出を行う３ステップサーチ、２段階に分けて動きベクトルの検出を行う２ステップサーチ等が知られている。
【００２７】
まず、上記３ステップサーチが適用される動きベクトル検出回路は、例えば図１１に示すような構成を有している。
この図１１において、現フレームメモリ２５１には入力端子２５３を介して現在フレームの画像データが供給され、前フレームメモリ２５２には入力端子２５４を介して前フレームの画像データが供給される。上記各フレームメモリ２５１，２５２に供給された各画像データは、それぞれコントローラ２５５の書き込み制御により、該各フレームメモリ２５１，２５２内に一旦書き込まれる。
【００２８】
このように上記各フレームメモリ２５１，２５２内に各画像データが書き込まれると、上記コントローラ２５５は、例えば上記現フレームメモリ２５１に設定された基準ブロックの画像データが読み出されるように上記現フレームメモリ２５１を読み出し制御する。この基準ブロックの画像データは、差分検出回路２５７に供給される。
【００２９】
また、上記コントローラ２５５は、これとともに、まず、第１ステップとして図１２に示すように上記前フレームメモリ２５２に記憶された画像データのうち、例えば上記基準ブロックの中心のアドレスに対応するアドレスの画像データを原点の画像データ２７０とし、この原点の画像データ２７０に対して左斜め上方向に４画素分ずれた画像データ２７１を中心とする上記基準ブロックの画像データと同数の画像データを有する検査ブロックの画像データが読み出されるようにｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【００３０】
また、上記コントローラ２５５は、これに続いて、上記画像データ２７１から右方向に４画素分離れた画像データ２７２を中心とする検査ブロック，上記画像データ２７２から右方向に４画素分離れた画像データ２７３を中心とする検査ブロック，上記原点の画像データ２７０から左方向に４画素分離れた画像データ２７４を中心とする検査ブロック，上記原点の画像データ２７０を中心とする検査ブロック，上記原点の画像データ２７０から右方向に４画素分離れた画像データ２７５を中心とする検査ブロック，上記原点の画像データ２７０から左斜め下方向に４画素分離れた画像データ２７６を中心とする検査ブロック，上記画像データ２７６から右方向に４画素分離れた画像データ２７７を中心とする検査ブロック，上記画像データ２７７から右方向に４画素分離れた画像データ２７８を中心とする検査ブロックの各画像データが順に読み出されるように上記ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【００３１】
この前フレームメモリ２５２から読み出された各検査ブロックの画像データは、それぞれ上記差分検出回路２５７に供給される。
【００３２】
すなわち、この第１ステップでは、上記図１２に示す各画像データ２７１〜２７８をそれぞれ中心として４画素毎に検査ブロックを移動することにより、同図中太線で示す第１の移動範囲ＳＶ１でブロックマッチング処理が行われることとなる。
【００３３】
上記差分検出回路２５７は、上記基準ブロックの画像データと、上記各検査ブロックの画像データとを比較してその差分を検出し、この差分データを絶対値和検出回路２５８に供給する。上記絶対値和検出回路２５８は、上記差分データの絶対値を検出し、１回のブロック同士の比較により検出される差分データを全て加算して絶対値和データを形成する。これにより、上記検査ブロックの移動を行った分である計９個の絶対値和データが形成されることとなる。この絶対値和データは、それぞれ判断回路２５９に供給される。
【００３４】
上記判断回路２５９は、例えば上記第１の移動範囲ＳＶ１内を上記検査ブロックを４画素ずつ移動してブロックマッチングを行う１回のブロックマッチング処理により形成される全ての絶対値和データを記憶できるメモリを有している。上記判断回路２５９は、上記絶対値和検出回路２５８から供給される絶対値和データを、その絶対値和データが形成された上記第１の移動範囲ＳＶ１の検査位置に対応するアドレスに一旦記憶する。そして、上記メモリの全てのアドレスに上記絶対値和データが記憶されると、この絶対値和データの中から値が最小のものを検出し、この値が最小の絶対値和データを上記コントローラ２５５に供給する。
【００３５】
上記絶対値和データの値が最小であるということは、前フレームにおける検査ブロックと現在フレームにおける基準ブロックとの相関性が高いことを示している。このため、上記コントローラ２５５は、上記絶対値和データに基づいて、その絶対値和データが検出された検査ブロックの中心に位置する、上記前フレームメモリ２５２上のアドレスの画像データを検出する。そして、第２のステップとして、上記画像データを中心として移動範囲を狭めてブロックマッチング処理を行う。
【００３６】
すなわち、上記値が最小の絶対値和データが検出された検査ブロックの中心の画像データが図１２に×点で示す画像データ２７６であったとすると、上記コントローラ２５５は、第２ステップとして図１３（ａ）に示すように、上記画像データ２７６から左斜め上に２画素分離れた画像データ２８１を中心とする検査ブロック，上記画像データ２８１から右方向に２画素分離れた画像データ２８２を中心とする検査ブロック，上記画像データ２８２から右方向に２画素分離れた画像データ２８３を中心とする検査ブロック，上記画像データ２７６から左方向に２画素分離れた画像データ２８４を中心とする検査ブロック，上記画像データ２７６を中心とする検査ブロック，上記画像データ２７６から右方向に２画素分離れた画像データ２８５を中心とする検査ブロック，上記画像データ２７６から左斜め下方向に２画素分離れた画像データ２８６を中心とする検査ブロック，上記画像データ２８６から右方向に２画素分離れた画像データ２８７を中心とする検査ブロック，上記画像データ２８７から２画素分離れた画像データ２８８を中心とする検査ブロックの各画像データが順に読み出されるように上記ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【００３７】
この前フレームメモリ２５２から読み出された各検査ブロックの画像データは、それぞれ上記差分検出回路２５７に供給される。
【００３８】
すなわち、この第２ステップでは、上記図１３（ａ）に示す各画像データ２８１〜２８８及び画像データ２７６をそれぞれ中心として２画素毎に検査ブロックを移動することにより、同図（ａ）中太線で示す第２の移動範囲ＳＶ２でブロックマッチング処理が行われることとなる。
【００３９】
上記差分検出回路２５７は、上記基準ブロックの画像データと、上記各検査ブロックの画像データとを比較してその差分を検出し、この差分データを絶対値和検出回路２５８に供給する。上記絶対値和検出回路２５８は、上記差分データの絶対値を検出し、１回のブロック同士の比較により検出される差分データを全て加算して絶対値和データを形成する。これにより、上記検査ブロックの移動を行った分である計９個の絶対値和データが形成されることとなる。この絶対値和データは、それぞれ判断回路２５９に供給される。
【００４０】
上記判断回路２５９は、上記絶対値和検出回路２５８から供給される上記９つの絶対値和データを、その絶対値和データが形成された上記第２の移動範囲ＳＶ２の検査位置に対応するアドレスに一旦記憶する。そして、上記メモリの全てのアドレスに上記絶対値和データが記憶されると、この絶対値和データの中から値が最小のものを検出し、この値が最小の絶対値和データを上記コントローラ２５５に供給する。
【００４１】
上述のように、上記絶対値和データの値が最小であるということは、前フレームにおける検査ブロックと現在フレームにおける基準ブロックとの相関性が高いことを示している。このため、上記コントローラ２５５は、上記絶対値和データに基づいて、その絶対値和データが検出された検査ブロックの中心に位置する、上記前フレームメモリ２５２上のアドレスの画像データを検出する。そして、第３のステップとして、上記画像データを中心として移動範囲をさらに狭めてブロックマッチング処理を行う。
【００４２】
すなわち、上記値が最小の絶対値和データが検出された検査ブロックの中心の画像データが図１３（ａ）に△点で示す画像データ２８３であったとすると、上記コントローラ２５５は、第３ステップとして図１３（ｂ）に示すように、上記画像データ２８３から左斜め上に１画素分離れた画像データ２９１を中心とする検査ブロック，上記画像データ２９１から右方向に１画素分離れた画像データ２９２を中心とする検査ブロック，上記画像データ２９２から右方向に１画素分離れた画像データ２９３を中心とする検査ブロック，上記画像データ２８３から左方向に１画素分離れた画像データ２９４を中心とする検査ブロック，上記画像データ２８３を中心とする検査ブロック，上記画像データ２８３から右方向に１画素分離れた画像データ２９５を中心とする検査ブロック，上記画像データ２８３から左斜め下方向に１画素分離れた画像データ２９６を中心とする検査ブロック，上記画像データ２９６から右方向に１画素分離れた画像データ２９７を中心とする検査ブロック，上記画像データ２９７から１画素分離れた画像データ２９８を中心とする検査ブロックの各画像データが順に読み出されるように１画素ステップアドレス移動回路２５６Ｂを介して上記前フレームメモリ２５２を読み出し制御する。
【００４３】
この前フレームメモリ２５２から読み出された各検査ブロックの画像データは、それぞれ上記差分検出回路２５７に供給される。
【００４４】
すなわち、この第３ステップでは、上記図１３（ｂ）に示す各画像データ２９１〜２９８及び画像データ２８３をそれぞれ中心として１画素毎に検査ブロックを移動することにより、同図（ｂ）中太線で示す第３の移動範囲ＳＶ３でブロックマッチング処理が行われることとなる。
【００４５】
上記差分検出回路２５７は、上記基準ブロックの画像データと、上記各検査ブロックの画像データとを比較してその差分を検出し、この差分データを絶対値和検出回路２５８に供給する。上記絶対値和検出回路２５８は、上記差分データの絶対値を検出し、１回のブロックどおしの比較により検出される差分データを全て加算して絶対値和データを形成する。これにより、上記検査ブロックの移動を行った分である計９個の絶対値和データが形成されることとなる。この絶対値和データは、それぞれ判断回路２５９に供給される。
【００４６】
上記判断回路２５９は、上記絶対値和検出回路２５８から供給される上記９つの絶対値和データを、その絶対値和データが形成された上記第３の移動範囲ＳＶ３の検査位置に対応するアドレスに一旦記憶する。そして、上記メモリの全てのアドレスに上記絶対値和データが記憶されると、この絶対値和データの中から値が最小のものを検出し、この値が最小の絶対値和データを上記コントローラ２５５に供給する。
【００４７】
上記コントローラ２５５は、上記値が最小の絶対値和データが形成された検査ブロックを検出し、この検査ブロックの中心に位置する画像データを検出する。具体的には、例えば上記値が最小の絶対値和データが形成された検査ブロックの中心に位置する画像データが図１３（ｂ）に斜線で示す画像データ２９６であったとすると、上記コントローラ２５５は、上記画像データ２９６の前フレームメモリ２５２上のアドレスを検出する。そして、この検査ブロックの中心の画像データの前フレームメモリ２５２上のアドレスと、上記現在フレームメモリ２５１上の基準ブロックの中心の画像データのアドレスとの差分を検出することにより、上記値が最小の絶対値和データが形成された検査ブロックに対する上記基準ブロックの動き分（動きベクトル）を検出し、この動きベクトルを出力端子２６０を介して上記図７に示した動き補償回路２０４に供給する。
【００４８】
これにより、上記図７に示した画像データの符号化装置において、上述のように画像データの圧縮符号化処理を行うことができる。
【００４９】
次に、２ステップサーチが適用される動きベクトル検出回路は、構成的には上記図１１に示した回路と同じであるが、この場合、上記コントローラ２５５は、第１ステップで２画素毎に検査ブロックを移動させるように上記ｉ画素ステップアドレス移動回路２５６を制御し、第２ステップで１画素毎に検査ブロックを移動させるように上記１画素ステップアドレス移動回路を制御するようになっている。
【００５０】
すなわち、上記図１１において、上記現フレームメモリ２５１に現在フレームの画像データが記憶され、前フレームメモリ２５２に前フレームの画像データが記憶されると、上記コントローラ２５５は、例えば上記現フレームメモリ２５１に設定された基準ブロックの画像データが読み出されるように上記現フレームメモリ２５１を読み出し制御する。この基準ブロックの画像データは、差分検出回路２５７に供給される。
【００５１】
また、上記コントローラ２５５は、これとともに、まず、第１ステップとして図１４（ａ）に示すように上記前フレームメモリ２５２に記憶された画像データのうち、例えば上記現フレームメモリ２５１から読み出した基準ブロックの中心のアドレスに対応するアドレスの画像データを原点の画像データ３００とし、同図（ａ）中太線で示すように上記原点の画像データ３００を中心とする第１の移動範囲ＳＶ１内を２画素毎に検査ブロックが移動するように上記ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。この各検査ブロックの画像データは、それぞれ上記差分検出回路２５７に供給される。
【００５２】
上記差分検出回路２５７は、上記基準ブロックの画像データと、上記各検査ブロックの画像データとを比較してその差分を検出し、この差分データを絶対値和検出回路２５８に供給する。上記絶対値和検出回路２５８は、上記差分データの絶対値を検出し、１回のブロック同士の比較により検出される差分データを全て加算して絶対値和データを形成する。例えば、図１４（ａ）の○点及び●点に示すように４９回に亘って、上記検査ブロックの移動が行われたとすると、計４９個の絶対値和データが形成されることとなる。この絶対値和データは、それぞれ判断回路２５９に供給される。
【００５３】
上記判断回路２５９は、例えば上記第１の移動範囲ＳＶ１内を上記検査ブロックを２画素ずつ移動してブロックマッチングを行う１回のブロックマッチング処理により形成される全ての絶対値和データを記憶できるメモリを有している。上記判断回路２５９は、上記絶対値和検出回路２５８から供給される絶対値和データを、その絶対値和データが形成された上記第１の移動範囲ＳＶ１の検査位置に対応するアドレスに一旦記憶する。そして、上記メモリの全てのアドレスに上記絶対値和データが記憶されると、この絶対値和データの中から値が最小のものを検出し、この値が最小の絶対値和データを上記コントローラ２５５に供給する。
【００５４】
上記絶対値和データの値が最小であるということは、前フレームにおける検査ブロックと現在フレームにおける基準ブロックとの相関性が高いことを示している。このため、上記コントローラ２５５は、上記絶対値和データに基づいて、その絶対値和データが検出された検査ブロックの中心に位置する、上記前フレームメモリ２５２上のアドレスの画像データを検出する。そして、第２のステップとして、上記画像データを中心として移動範囲を狭めてブロックマッチング処理を行う。
【００５５】
すなわち、上記値が最小の絶対値和データが検出された検査ブロックの中心の画像データが図１４（ａ）に斜線で示す画像データ３０１であったとすると、上記コントローラ２５５は、第２ステップとして同図（ｂ）中太線で示すように、上記画像データ３０１を中心とする第２の移動範囲ＳＶ２内を１画素毎に検査ブロックが移動するように上記１画素ステップアドレス移動回路２５６Ｂを介して上記前フレームメモリ２５２を読み出し制御する。この各検査ブロックの画像データは、それぞれ上記差分検出回路２５７に供給される。
【００５６】
上記差分検出回路２５７は、上記基準ブロックの画像データと、上記各検査ブロックの画像データとを比較してその差分を検出し、この差分データを絶対値和検出回路２５８に供給する。上記絶対値和検出回路２５８は、上記差分データの絶対値を検出し、１回のブロックどおしの比較により検出される差分データを全て加算して絶対値和データを形成する。これにより、図１４（ｂ）に示すように上記検査ブロックの移動を行った分の計９個の絶対値和データが形成されることとなる。この絶対値和データは、それぞれ判断回路２５９に供給される。
【００５７】
上記判断回路２５９は、上記絶対値和検出回路２５８から供給される上記９つの絶対値和データを、その絶対値和データが形成された上記第２の移動範囲ＳＶ２の検査位置に対応するアドレスに一旦記憶する。そして、上記メモリの全てのアドレスに上記絶対値和データが記憶されると、この絶対値和データの中から値が最小のものを検出し、この値が最小の絶対値和データを上記コントローラ２５５に供給する。
【００５８】
上記コントローラ２５５は、上記値が最小の絶対値和データが形成された検査ブロックが上記基準ブロックと一致しているとし、その絶対値和データが形成された検査ブロックの例えば中心の画像データのアドレスを検出する。そして、この検査ブロックの中心の画像データのアドレスと、上記基準ブロックの中心の画像データのアドレスとの差分を検出することにより、上記値が最小の絶対値和データが形成された検査ブロックに対する上記基準ブロックの動き分（動きベクトル）を検出し、この動きベクトルを出力端子２６０を介して上記図７に示した動き補償回路２０４に供給する。
【００５９】
このように、マルチステップサーチでは、第１ステップ〜第３ステップの計３段階に分けて、或いは、第１ステップ及び第２ステップの計２段階に分けて動きベクトルの検出を行うようにしているため、最初は粗く徐々に細かく動きベクトルの検出を行うことができ、上述のフルサーチよりも演算量を削減することができ、画像データの高速処理化を図ることができる。
【００６０】
【発明が解決しようとする課題】
しかし、従来の３ステップサーチ及び２ステップサーチ等のマルチステップサーチにおいて、各ステップで選択される絶対値和データは、最小値の絶対値和データ１点のみであるが、この最小値の絶対値和データは、最終的に正確な動きベクトルを検出できるものであるとは限らない。
【００６１】
各ステップでの、上記検査ブロックを移動させる画素間隔と、正確な動きベクトルを検出することができる確率（正解率）とは比例関係にあり、上記検査ブロックを移動させる画素間隔を狭めれば上記正解率は向上するが、該検査ブロックを移動させる画素間隔を狭めると、マッチングの回数を増やすこととなるため、計算量が増大して動きベクトルの検出速度が遅くなってしまう問題が生ずる。
【００６２】
本発明は上述の問題点に鑑みてなされたものであり、多段階に亘ってマッチング処理を行うことにより動きベクトルの検出を行うマルチステップサーチにおいて、計算量の増大及び検出速度の遅延化を極力抑制して動きベクトルの検出精度の向上を図ることができるような動きベクトル検出方法、及び、この動きベクトル検出方法で形成された正確な動きベクトルを用いることにより、画像データに応じた正確な圧縮符号化及び符号化効率の向上を図ることができるような画像データの符号化方法の提供を目的とする。
【００６３】
【課題を解決するための手段】
本発明は、時間的に前後する現在画像或いは前画像に所定画素からなる基準ブロックを設定し、上記基準ブロックと同じ画素数からなる検査ブロックを、上記基準ブロックが設定された画像以外の画像の所定の移動範囲内で移動し、該検査ブロックを移動する毎に、検査ブロックと基準ブロックとの相関を示す評価関数値を検出し、上記検査ブロックの移動に対応して得られた各評価関数値の中から値が最小の評価関数値を検出し、この値が最小の評価関数値が形成された移動範囲内の所定位置の画素に基づいて上記検査ブロックの次の移動範囲を所定分狭め、再度、上記値が最小の評価関数値を検出する動作を、上記検査ブロックの最小限度の移動範囲となるまで繰り返し行い、この最小限度の移動範囲で検出された、値が最小の評価関数値に基づいて動きベクトルを検出する動きベクトル検出方法において、上記検査ブロックを、最小限度の移動範囲以外の移動範囲で移動した際に得られた評価関数値のうち、値が最小の評価関数値から順に値が小さい評価関数値を複数検出し、この複数検出された評価関数値どうしの差分と閾値とを比較し、上記複数の評価関数値どうしの差分が閾値よりも小さかった場合には、上記複数検出された評価関数値が形成された各移動範囲内の所定位置の画素に基づいて、上記検査ブロックの次の移動範囲を所定分狭めてそれぞれ設定し、上記複数の評価関数値どうしの差分が閾値よりも大きかった場合には、最小値の評価関数値が形成された移動範囲内の所定位置の画素に基づいて、上記検査ブロックの次の移動範囲を、上記最小限度の移動範囲、或いは、上記所定分以上狭めて設定し、この狭めて設定された各移動範囲で上記検査ブロックの移動をそれぞれ行って評価関数値を検出する動作を、上記検査ブロックの最小限度の移動範囲となるまで繰り返し行い、上記最小限度の移動範囲で検査ブロックを移動した際に得られた、値が最小の評価関数値に基づいて動きベクトルを検出することを特徴とする。
【００６４】
また、本発明に係る動きベクトル検出方法は、上記最小限度の移動範囲以外の移動範囲で検査ブロックを移動することにより得られた評価関数値のうち、値が最小の評価関数値及び２番目に値が小さな評価関数値を検出し、上記値が最小の評価関数値及び２番目に値が小さな評価関数値が検出された各移動範囲内の所定位置の各画素に基づいて、上記検査ブロックの次の移動範囲を所定分狭めてそれぞれ設定することを特徴として上述の課題を解決する。
【００６５】
また、本発明に係る動きベクトル検出方法は、複数回設定される上記検査ブロックの移動範囲のうち、所定の移動範囲で上記複数の評価関数値の検出を行うことを特徴として上述の課題を解決する。
【００６７】
さらに、本発明は、時間的に前後する現在画像或いは前画像に所定画素からなる基準ブロックを設定し、上記基準ブロックと同じ画素数からなる検査ブロックを、上記基準ブロックが設定された画像以外の画像の所定の移動範囲内で移動し、該検査ブロックを移動する毎に、検査ブロックと基準ブロックとの相関を示す評価関数値を検出し、上記検査ブロックの移動に対応して得られた各評価関数値の中から値が最小の評価関数値を検出し、この値が最小の評価関数値が形成された移動範囲内の所定位置の画素に基づいて上記検査ブロックの次の移動範囲を所定分狭め、再度、上記値が最小の評価関数値を検出する動作を、上記検査ブロックの最小限度の移動範囲となるまで繰り返し行い、この最小限度の移動範囲で検出された、値が最小の評価関数値に基づいて動きベクトルを検出し、この動きベクトルに応じて前画像の動き補償を行い、上記現在画像と動き補償を行った前画像との差分を直交変換処理し量子化することにより、圧縮符号化した画像データを形成する画像データの符号化方法であって、上記動きベクトルを検出する際に、上記検査ブロックを、最小限度の移動範囲以外の移動範囲で移動した際に得られた評価関数値のうち、値が最小の評価関数値から順に値が小さい評価関数値を複数検出し、この複数検出された評価関数値どうしの差分と閾値とを比較し、上記複数の評価関数値どうしの差分が閾値よりも小さかった場合には、上記複数検出された評価関数値が形成された各移動範囲内の所定位置の画素に基づいて、上記検査ブロックの次の移動範囲を所定分狭めてそれぞれ設定し、上記複数の評価関数値どうしの差分が閾値よりも大きかった場合には、最小値の評価関数値が形成された移動範囲内の所定位置の画素に基づいて、上記検査ブロックの次の移動範囲を、上記最小限度の移動範囲、或いは、上記所定分以上狭めて設定し、この狭めて設定された各移動範囲で上記検査ブロックの移動をそれぞれ行って評価関数値を検出する動作を、上記検査ブロックの最小限度の移動範囲となるまで繰り返し行い、上記最小限度の移動範囲で検査ブロックを移動した際に得られた、値が最小の評価関数値に基づいて動きベクトルを検出することを特徴とする。
【００６８】
【作用】
本発明に係る動きベクトル検出方法は、まず、時間的に前後する現在画像或いは前画像に所定画素からなる基準ブロックを設定し、上記基準ブロックと同じ画素数からなる検査ブロックを、上記基準ブロックが設定された画像以外の画像に設定する。
【００６９】
具体的には、例えば上記現在画像として現在フレームの画像を、また、前画像として前フレームの画像を用い、上記現在フレームの画像に複数の上記基準ブロックを設定し、上記前フレームの画像の所定位置に上記検査ブロックを設定する。当該検出方法は、以下に説明するように、前フレームの所定の移動範囲内において上記検査ブロックを移動し、この検査ブロックの移動を行う毎に、該検査ブロックの画像と上記基準ブロックの画像とを比較して、該基準ブロックの画像に一致する画像の検査ブロックを検出する（マッチング処理）。そして、この検査ブロックに対して上記基準ブロックがどれだけ移動しているかを検出することにより、動きベクトルの検出を行うものである。
【００７０】
すなわち、上記基準ブロック及び検査ブロックが設定されると、上記検査ブロックを大きな移動範囲内で移動し、この検査ブロックの移動を行う毎に該検査ブロックと基準ブロックとの相関を示す評価関数値を検出する。上記評価関数値としては、例えば該検査ブロックの各画素と上記基準ブロックの各画素との差分の絶対値和や、該絶対値和の二乗等がある。
【００７１】
当該検出方法において、上記評価関数値として例えば上記絶対値和を用いるとすると、まず、上記検査ブロックの移動を行う毎に、検査ブロックの各画素と基準ブロックの各画素の差分の絶対値和を検出する。これにより、上記検査ブロックの移動回数分の絶対値和が検出されることとなる。
【００７２】
次に、上記各絶対値和のうち、値が最小の絶対値和から順に複数の絶対値和を検出する。これは、例えば、値が最小の絶対値和，２番目に値が小さい絶対値和の２つを検出するようにしてもよいし、値が最小の絶対値和，２番目に値が小さい絶対値和，３番目に値が小さい絶対値和の３つを検出するようにしてもよく、その選択は自由である。
【００７３】
次に、例えば上記値が最小の絶対値和及び２番目に値が小さい絶対値和の２つが選択されたとすると、上記値が最小の絶対値和が検出された検査ブロックの例えば中央に位置する画素を中心として上記最初の移動範囲以下の移動範囲の第１の移動範囲を設定するとともに、上記２番目に値が小さい絶対値和が検出された検査ブロックの例えば中央に位置する画素を中心として、上記第１の移動範囲と同範囲の第２の移動範囲を設定する。
【００７４】
次に、上記第１の移動範囲内において上記検査ブロックを移動させ上記絶対値和の検出を行うとともに、上記第２の移動範囲内において上記検査ブロックを移動させ上記絶対値和の検出を行い、上記第１の移動範囲内で上記検査ブロックを移動させることにより検出された各絶対値和、及び、上記第２の移動範囲内で上記検査ブロックを移動させることにより検出された各絶対値和の中から、値が最小の絶対値和及び２番目に値が小さい絶対値和を検出する。
【００７５】
上記絶対値和の値が小さいということは、その絶対値和が検出された位置の検査ブロックの画像と、上記基準ブロックとの画像との相関性が高いことを示している。このため、当該検出方法では、値が小さいものから順に複数の絶対値和を検出し、この各絶対値和に基づいて次の移動範囲を決定するようにしている。
【００７６】
当該検出方法は、このように設定された移動範囲内で検査ブロックを移動させることにより検出された複数の絶対値和の中から、値が小さい順に複数の絶対値和を検出し、この複数の絶対値和に基づいて検査ブロックの移動範囲を徐々に狭めながら該絶対値和の検出を行う動作を、上記検査ブロックの最小限度の移動範囲となるまで繰り返し行う。
【００７７】
そして、上記最小限度の移動範囲で検出された、複数の絶対値和のうち、値が最小の絶対値和に基づいて動きベクトルの検出を行う。
【００７８】
設定された移動範囲内で上記検査ブロックを移動させることにより検出された複数の絶対値和のうち、値が最小の絶対値和のみに基づいて、上記検査ブロックの次の移動範囲を設定すると、上記値が最小の絶対値和が、最終的に正確な動きベクトルを検出できるものとは限らないため、該動きベクトルの誤検出を生ずる虞れがある。
【００７９】
しかし、上記検査ブロックを、設定された移動範囲内で移動させることで検出された絶対値和のうち、値が小さいものから順に複数の絶対値和を検出し、この各絶対値和に基づいて次の移動範囲を設定することにより、上記検出した複数の絶対値和の数分だけ動きベクトルの検出範囲を広げることができる。従って、最終的に正確な動きベクトルを検出できる確率（動きベクトルの検出精度）を向上させることができる。
【００８０】
このようなことから、検査ブロックの移動により得られた絶対値和の中から選択する絶対値和の数を多くすればするほど動きベクトルの検出精度を向上させることができるが、該選択する絶対値和の数を多くするとこれに伴い計算量が増大する。このため、上記各絶対値和の中からいくつ絶対値和を選択するかは、得たい精度に応じて設定することとなる。
【００８１】
ここで、上記検査ブロックの移動範囲を設定する毎に上記複数の絶対値和の検出を行うようにすると検出精度は向上するが計算量が増大する。このため、本発明に係る動きベクトル検出方法では、上記複数回設定される検査ブロックの移動範囲のうち、所定の移動範囲でのみ、上記複数の絶対値和を検出するようにした。
【００８２】
すなわち、動きベクトルの検出精度は、第１回目に設定された移動範囲で正確な動きベクトルを検出することができる絶対値和を誤検出してしまうと、最終的に不正確な動きベクトルが検出されてしまう等のように、第１回目に設定された移動範囲で検出される絶対値和に依存する。
【００８３】
このため、例えば第１回目に設定された移動範囲でのみ、上記絶対値和の選択数を増やすようにする。これにより、上記第１回目に設定された移動範囲で、上記正確な動きベクトルを検出することができる絶対値和を選択することができる。従って、計算量の増大を極力抑えて正確な動きベクトルを検出することができる。
【００８４】
なお、第１回目に設定された移動範囲でのみ上記絶対値和の選択数を増やす以外に、第２回目に設定された移動範囲でのみ絶対値和の選択数を増やしたり、第３回目に設定された移動範囲でのみ絶対値和の選択数を増やす等のように、１回の移動範囲でのみ絶対値和の選択数を増やしてもよいし、或いは、第１回目及び第３回目に設定された移動範囲で上記絶対値和の選択数を増やす等のように、複数の移動範囲を選択して上記絶対値和の選択数を増やすようにしてもよい。
【００８５】
この場合、複数の絶対値和を選択する移動範囲を省略した分だけ計算量の増大を抑制することができる。
【００８６】
次に、本発明に係る動きベクトル検出方法は、上記最小限度の移動範囲以外の移動範囲で検査ブロックを移動することにより得られた複数の絶対値和の差分を検出し、この複数の絶対値和どうしの差分と閾値とを比較する。
【００８７】
上記閾値は、例えば絶対値和が、正確な動きベクトルを検出できる値に設定されており、この閾値と上記複数の絶対値和の差分とを比較することにより、該複数の絶対値和により正確な動きベクトルを検出できるか否かを検出することができる。
【００８８】
上記複数の絶対値和の差分が閾値よりも小さかった場合には、上述のように上記複数検出された絶対値和が形成された各移動範囲内の所定位置の画素に基づいて、上記検査ブロックの次の移動範囲を所定分狭めてそれぞれ設定して動きベクトルの検出を行う。これにより、検査ブロックの移動範囲を設定する毎に値の小さな複数の絶対値和を検出し、該複数の絶対値和に基づいて動きベクトルの検出を行うことができるため、上述の動きベクトル検出方法と計算量としては変わらないが、動きベクトルの検出精度を向上させることができる。
【００８９】
一方、上記複数の絶対値和の差分が閾値よりも大きかった場合には、各絶対値和の差が大きく、この絶対値和のうち最小の値を有する絶対値和が正確な動きベクトルを検出することができる絶対値和であることを示している。
【００９０】
このため、当該検出方法では、上記複数の絶対値和の差分が閾値よりも大きかった場合には、該複数の絶対値和のうち、値が最小の絶対値和が形成された移動範囲内の所定位置の画素に基づいて、上記検査ブロックの次の移動範囲を、上記最小限度の移動範囲、或いは、上記所定分以上狭めてそれぞれ設定して動きベクトルの検出を行う。
【００９１】
具体的には、例えば第１回目に設定された移動範囲で検査ブロックの移動を行うことにより検出された各絶対値和の差分が上記閾値よりも大きかった場合には、次に検査ブロックを移動する範囲を上記各絶対値和に基づいて最小限度の移動範囲まで狭めて動きベクトルの検出を行う。或いは、次の移動範囲以下の移動範囲となるように、上記各絶対値和に基づいて移動範囲を狭めて動きベクトルの検出を行う。
【００９２】
これにより、第１回目に設定された移動範囲から上記最小限度の移動範囲までの中間の移動範囲まで、或いは、次の移動範囲以下の移動範囲に狭めた分の演算を省略することができ、検出精度を維持しながら動きベクトルの検出に必要な計算量の増大を極力抑制することができる。
【００９３】
次に、本発明に係る画像データの符号化方法は、動きベクトルに応じて画像データの圧縮符号化を行う画像データの符号化方法であって、上記動きベクトルの検出に、上述のように、設定された移動範囲内で検査ブロックを移動させることにより検出された複数の絶対値和の中から、値が小さい順に複数の絶対値和を検出し、この複数の絶対値和に基づいて検査ブロックの移動範囲を徐々に狭めながら該絶対値和の検出を行う動作を、上記検査ブロックの最小限度の移動範囲となるまで繰り返し行い、上記最小限度の移動範囲で検出された、複数の絶対値和のうち、値が最小の絶対値和に基づいて動きベクトルの検出を行う方法を用いる。
【００９４】
これにより、画像データの圧縮符号化に正確な動きベクトルを用いることができるため、画像の動きに応じて正確に画像データを圧縮符号化することができるうえ、圧縮する画像データのデータ数を削減することができ、圧縮符号化効率の向上を図ることができる。
【００９５】
なお、上記現在画像として現在フレームの画像を、また、前画像として前フレームの画像を用いることとしたが、これは、上記現在画像として現在フレームの画像を、また、前画像として２フレーム前の画像，３フレーム前の画像・・・を用いるようにしてもよい。同じく、上記現在画像として現在フィールドの画像を、また、前画像として前フィールドの画像、或いは、２フィールド前の画像，３フィールド前の画像・・・を用いるようにしてもよい。
【００９６】
また、上記基準ブロックを現在画像内に設定し、上記検査ブロックを前画像内に設定することとしたが、これは、逆に、前画像内に基準ブロックを設定し、現在画像内に検査ブロックを設定して、該現在画像内において検査ブロックを移動させて動きベクトルの検出を行うようにしてもよい。
【００９７】
【実施例】
以下、本発明に係る動きベクトル検出方法及び画像データの符号化方法の好ましい実施例について図面を参照しながら詳細に説明する。本発明に係る動きベクトル検出方法は、現在画像中に所定画素数からなる基準ブロックを複数設定し、該基準ブロックと同画素の検査ブロックを、最初のステップでは大きく移動させて基準ブロックと検査ブロックとの相関性を検出し（マッチング処理）、続くステップでは検出された相関性に応じて移動範囲の位置を設定するとともに、該移動範囲を徐々に狭めながら相関性を検出し、最終的なステップで検出された検査ブロックの位置に対する上記基準ブロックの位置に基づいて動きベクトルの検出を行うマルチステップサーチ法である。
【００９８】
上記マルチステップサーチとしては、上記検査ブロックの移動範囲を２段階に分けて徐々に狭めていく２ステップサーチ、及び、上記検査ブロックの移動範囲を３段階に分けて徐々に狭めていく３ステップサーチ等がある。
【００９９】
本発明の第１の実施例に係る動きベクトル検出方法は、上記２ステップサーチに適用したものであり、図１（ａ）に示すように第１ステップとして、前フレームの中心に位置する画素（図中●＝原点）１を中心とする第１の移動範囲ＳＶ１を設定し、この第１の移動範囲ＳＶ１内において上記マッチング処理を行って相関性の高い順に３つの検査ブロックを検出する。そして、同図（ｂ）に示すように、第２ステップにおいて、上記相関性の高い順に選択された３つの検査ブロックに基づいて、移動範囲の狭められた第１〜第３の３つの移動範囲ＳＶ２１〜ＳＶ２３を設定してそれぞれマッチング処理を行い、該第２ステップでの相関性の一番高い検査ブロックに基づいて動きベクトルの検出を行うものである。
【０１００】
すなわち、当該第１の実施例に係る動きベクトル検出方法は、図７に示す画像データの符号化装置の動きベクトル検出回路２０２に適用することができる。
【０１０１】
上記図７に示す画像データの符号化装置は、入力端子２０１を介して現在フレームの画像データが供給される。この現在フレームの画像データは、動きベクトル検出回路２０２及び減算器２０３に供給される。
【０１０２】
上記動きベクトル検出回路２０２には、上記現在フレームの画像データの他、以下に説明するフレームメモリ２０５からの前フレームの画像データが供給されている。上記動きベクトル検出回路２０２は、上記現在フレームの画像データ及び前フレームの画像データに基づいて画像の動きを検出することにより動きベクトルを形成し、これを動き補償回路２０４に供給する。
【０１０３】
上記動き補償回路２０４には、フレームメモリ２０５から前フレームの画像データが供給されている。上記動き補償回路２０４は、上記動きベクトル検出回路２０２からの動きベクトルに基づいて、上記前フレームの画像データに動き補償処理を施し、これを上記減算器２０３及び加算器２０６に供給する。
【０１０４】
上記減算器２０３は、上記現在フレームの画像データと、上記動き補償処理の施された前フレームの画像データとを減算処理することにより、現在フレームの画像データと前フレームの画像データとの差分を示す差分データを形成し、これを直交変換回路（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ  回路）２０７に供給する。
【０１０５】
上記ＤＣＴ回路２０７は、上記差分データを所定画素数のブロック毎に周波数軸上に変換してＤＣＴブロックを形成し、これを量子化回路２０８に供給する。上記量子化回路２０８は、上記ＤＣＴブロックのレベルに応じて量子化ステップ可変し、この量子化ステップにより上記ＤＣＴブロックに量子化処理を施すことにより圧縮画像データを形成し、これを出力端子２０９を介して例えばディスク記録装置等の外部機器に供給するとともに、逆量子化回路２１０に供給する。
【０１０６】
上記逆量子化回路２１０は、上記量子化回路２０８で選択された量子化ステップとは逆の量子化ステップで、上記圧縮画像データに逆量子化処理を施すことにより、量子化処理される前のＤＣＴブロックを再生し、これを逆ＤＣＴ回路２１１に供給する。上記逆ＤＣＴ回路２１１は、上記再生されたＤＣＴブロックに逆ＤＣＴ処理を施すことにより、ＤＣＴブロック化される前の差分データを形成し、これを上記加算器２０６に供給する。
【０１０７】
上記加算器２０６には、上記動き補償回路２０４からの動き補償された前フレームの画像データが別に供給されている。上記加算器２０６は、上記動き補償された前フレームの画像データと、上記逆ＤＣＴ回路２１１からの差分データとを加算処理することにより、現在フレームの画像データを再生し、これをフレームメモリ２０５に供給する。
【０１０８】
上記フレームメモリ２０５に供給された現在フレームの画像データは、１フレーム分の遅延が施され読み出される。これにより、上記現在フレームの画像データは、読み出しの段階で前フレームの画像データとされ、上記動き補償回路２０４及び動きベクトル検出回路２０２に供給される。
上述のように、上記動き補償回路２０４は、上記動きベクトル検出回路２０２からの動きベクトルに応じて上記前フレームの画像データに動き補償処理を施し、これを上記減算器２０３及び加算器２０６に供給する。以後、各回路において、上述の動作が繰り返される。
【０１０９】
このように、上記画像データの符号化装置は、動きベクトルに基づいて動きベクトル補償された前フレームの画像データと、現在フレームの画像データとの差分を符号化して出力する。これにより、画像データの高能率圧縮を行うことができる。
【０１１０】
ここで、上記動きベクトル検出回路２０２は、図１１に示すような構成を有しており、上記図７に示す入力端子２０１からの現在フレームの画像データが入力端子２５３を介して現フレームメモリ２５１に供給されて記憶され、上記図７に示すフレームメモリ２０５からの前フレームの画像データが入力端子２５４を介して前フレームメモリ２５２に供給されて記憶される。
【０１１１】
コントローラ２５５は、図８に示すように上記現フレームメモリ２５１に記憶された現在フレームの画像２２１の中央部分の画像データ（Ｎ画素×Ｍライン）からなる基準ブロック２２３の画像データを読み出すように該現フレームメモリ２５１を読み出し制御する。この現フレームメモリ２５１から読み出された基準ブロック２２３は、差分検出回路２５７に供給される。
【０１１２】
また、上記コントローラ２５５は、これとともに、上記前フレームメモリ２５２に記憶された上記図８に示す前フレームの画像データ２２２のうち、第１ステップとして図１（ａ）に示すように上記基準ブロック２２３の中心画素に対応する図中●で示す該前フレームの画像データ２２２の中心画素（原点）１を検出するとともに、図中太線で示す上記原点１を中心とした略々正方形状の第１の移動範囲ＳＶ１を設定する。
【０１１３】
上記第１の移動範囲ＳＶ１は、図１（ａ）に示すように４つの角部に画素２〜画素５が位置するようになっている。また、１ラインおきに設定された計７ラインからなっており、上記１ラインには、１画素おきに設定された計７点の画素（検索点）を有している。すなわち、上記第１の移動範囲ＳＶ１は、計４９点の検索点で構成されている。
【０１１４】
このような第１の移動範囲ＳＶ１が設定されると、上記コントローラ２５５は、例えば上記検索点２を中心に有する、上記図８に示す上記基準ブロック２２３と同画素の検査ブロック２２４を設定し、この検査ブロック２２４の画像データが読み出されるように、ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０１１５】
また、上記コントローラ２５５は、これに続いて、上記４９点の各検索点を中心とする検査ブロック２２４を次々と設定し、該設定した検査ブロック２２４の画像データが読み出されるように、ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０１１６】
すなわち、上記コントローラ２５５は、上記第１の移動範囲ＳＶ１内において、２画素間隔で（１画素おきに）検査ブロック２２４を移動しながら該検査ブロック２２４の画像データの読み出しを行うように、ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
上記各検査ブロック２２４の画像データは、それぞれ上記差分検出回路２５７に供給される。
【０１１７】
上記差分検出回路２５７は、上記基準ブロック２２３の画像データと、上記各検査ブロック２２４の画像データとを同位置の画素毎に比較してその差分を検出し、この各差分データを絶対値和検出回路２５８に供給する。
【０１１８】
上記絶対値和検出回路２５８は、上記差分データの絶対値を検出し、１回のブロックどおしの比較（マッチング処理）により検出される差分データの絶対値を全て加算して絶対値和データを形成する。これにより、上記検査ブロック２２４の移動を行った分である計４９個の絶対値和データが形成されることとなる。この絶対値和データは、それぞれ判断回路２５９に供給される。
【０１１９】
上記判断回路２５９は、例えば上記第１の移動範囲ＳＶ１内を上記検査ブロック２２４を２画素間隔で移動して得られた４９個の絶対値和データを、その絶対値和データが検出された検査ブロック２２４の位置（検索点）に対応して記憶できるメモリを有している。上記コントローラ２５５は、上記絶対値和検出回路２５８から判断回路２５９に供給される絶対値和データを、その絶対値和データが形成された上記検査ブロック２２４の位置に対応して記憶されるように、上記メモリを書き込み制御する。
【０１２０】
上記コントローラ２５５は、上記判断回路２５９のメモリに上記４９個の絶対値和データが記憶されると、この絶対値和データの中から最小値の絶対値和データ，２番目に値が小さい絶対値和データ、及び、３番目に値が小さい絶対値和データを検出する。
【０１２１】
上記値が最小の絶対値和データは、上記検査ブロック２２４と基準ブロック２２３との間の各画像の相関性が高いことを示しているが、必ずしも上記値が最小の絶対値和データが検出された検査ブロック２２４と基準ブロック２２３との各画像が一致しているとは限らない。また、この第１ステップにおいて正確な動きベクトルを検出できる絶対値和データを検出しなければ、後に続く第２ステップではこの第１ステップで検出された絶対値和データに基づいて動きベクトルの検出を行うため、該第２ステップにおいて誤った動きベクトルが検出される可能性が高くなる。このため、上記コントローラ２５５は、この第１ステップでの絶対値和データの検出を慎重化すべく、値が小さいものから順に３つの絶対値和データを検出する。
【０１２２】
上記コントローラ２５５は、上記３つの絶対値和データを検出すると、図１（ａ）に示すように上記最小値の絶対値和データが検出された検査ブロック２２４の中心の検索点６（図中×で示す）、２番目に値が小さい絶対値和データが検出された検査ブロック２２４の中心の検索点７（図中△で示す）、及び、３番目に値が小さい絶対値和データが検出された検査ブロック２２４の中心の検索点８（図中◇で示す）を検出する。
【０１２３】
そして、図１（ｂ）に示すように第２ステップとして、上記検索点６を中心とした略々正方形状の第１の移動範囲ＳＶ２１，上記検索点７を中心とした略々正方形状の第２の移動範囲ＳＶ２２、及び、上記検索点８を中心とした略々正方形状の第３の移動範囲ＳＶ２３を設定する。
【０１２４】
上記各移動範囲ＳＶ２１，ＳＶ２２，ＳＶ２３は、それぞれ４つの角部に検索点１０〜１３，検索点１５〜１８，検索点２０〜２３を有している。また、上記各移動範囲ＳＶ２１，ＳＶ２２，ＳＶ２３は、それぞれ１ライン毎に設定された計３ラインからなっており、上記１ラインには、１画素毎に設定された計３点の画素（検索点）を有している。すなわち、上記各移動範囲ＳＶ２１，ＳＶ２２，ＳＶ２３は、それぞれ計９点の検索点で構成されている。
【０１２５】
このような各移動範囲ＳＶ２１，ＳＶ２２，ＳＶ２３が設定されると、上記コントローラ２５５は、該各移動範囲ＳＶ２１，ＳＶ２２，ＳＶ２３に沿って検査ブロック２２４を移動し、該移動する毎にその検査ブロック２２４の画像データを読み出すように、ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０１２６】
なお、この第２ステップでは、上記各移動範囲ＳＶ２１，ＳＶ２２，ＳＶ２３の中心となる各検索点６〜８に係る絶対値和データは、それぞれ上記第１ステップにおいて既に検出済であるため、上記コントローラ２５５は、上記各移動範囲ＳＶ２１，ＳＶ２２，ＳＶ２３において、上記各検索点６〜８をぬかして検査ブロック２２４を移動するように、上記ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０１２７】
この検査ブロック２２４の移動により読み出された画像データは、それぞれ上記差分検出回路２５７に供給される。
【０１２８】
上記差分検出回路２５７は、上記基準ブロック２２３の画像データと、上記各検査ブロック２２４の画像データとを比較してその差分を検出し、この差分データを絶対値和検出回路２５８に供給する。上記絶対値和検出回路２５８は、上記差分データの絶対値を検出し、１回のブロックどおしの比較により検出される差分データを全て加算して絶対値和データを形成する。
【０１２９】
これにより、上記各移動範囲ＳＶ２１，ＳＶ２２，ＳＶ２３に沿って検査ブロック２２４の移動を行った分である計２７個（上記各検索点６〜８における３つの絶対値和データも含む。）の絶対値和データが形成されることとなる。この絶対値和データは、それぞれ判断回路２５９に供給される。
【０１３０】
上記判断回路２５９は、上記絶対値和検出回路２５８から供給される上記２７個の絶対値和データを、その絶対値和データが形成された各移動範囲ＳＶ２１，ＳＶ２２，ＳＶ２３に対応するメモリ上のアドレスに一旦記憶する。そして、上記全ての絶対値和データが上記メモリ上に記憶されると、この絶対値和データの中から最小値の絶対値和データを検出し、この最小値の絶対値和データを上記コントローラ２５５に供給する。
【０１３１】
上記絶対値和データの値が最小であるということは、上記検査ブロック２２４と基準ブロック２２３との間の各画像の相関性が高いことを示している。従って、上記基準ブロック２２３に対して、上記最小値の絶対値和データが検出された検査ブロック２２４がどれだけ離れているかを検出することにより、画像の動きベクトルを検出することができる。
【０１３２】
このため、上記コントローラ２５５は、上記最小値の絶対値和データに基づいて、その絶対値和データが検出された検査ブロック２２４の中心に位置する、上記前フレームメモリ２５２上の検索点のアドレスを検出する。そして、この検索点のアドレスと、上記基準ブロック２２３の現フレームメモリ２５１上の中心画素のアドレスとの差分を検出することにより、上記最小値の絶対値和データが検出された検査ブロック２２４に対する上記基準ブロック２２３の動き分（動きベクトル）を検出し、この動きベクトルを出力端子２６０を介して上記図７に示す動き補償回路２０４に供給する。
【０１３３】
これにより、上記図７に示した画像データの符号化装置において、画像データの圧縮符号化処理を行うことができる。
【０１３４】
上述のように、この第１の実施例に係る動きベクトル検出方法では、２ステップサーチにおける第１ステップにおいて、値が小さいものから順に３つの絶対値和データを検出するようにしている。通常の２ステップサーチでは、上記検索点の数が第１ステップにおいて４９点、第２ステップにおいて８点の計５７点であるが、当該動きベクトル検出方法では、第１ステップにおいて４９点、第２ステップにおいて２４点の計７３点であり、従来と比較して１６点の検索点の増加となり、多少、計算量が増加するが、第１ステップにおいて正確な動きベクトルを検出できる絶対値和データの検出確率を高めることができる。従って、計算量の増加を極力抑制して動きベクトルの検出精度の向上を図ることができる。
【０１３５】
なお、この第１の実施例に係る動きベクトル検出方法の説明では、本発明に係る動きベクトル検出方法を２ステップサーチに適用することとしたが、これは、３ステップサーチ等にも適用することができる。また、第１ステップにおいて、値が小さいものから順に３つの絶対値和データを検出することとしたが、これは、値が小さいものから順に２つ選択するようにしてもよい。この場合、第１ステップにおいて検出される絶対値和データの数が１つ減るため、上記値が小さいものから順に３つの絶対値和データを検出するときよりも動きベクトルの検出精度は多少落ちる虞れがあるが、第２ステップにおける検索点の数を１６点とすることができるため、従来の２ステップサーチと比較して８点の検索点の増加に止めることができ、従来と比較して動きベクトルの検出精度の向上を図ることができるうえ、計算量の相加を抑制することができる。
【０１３６】
ここで、上記絶対値和データの検出点数を値の小さいものから順に４点あるいは５点等のように多くすればするほど、上記動きベクトルの検出精度の向上を図ることができるが、該絶対値和データの検出点数の増加にともない計算量が増大する。また、上記検査ブロック２２４の移動範囲を設定する毎に上記複数の絶対値和データの検出を行うようにすると検出精度は向上するが計算量が増大する。このため、本発明の第２の実施例に係る動きベクトル検出方法では、複数回設定される検査ブロック２２４の移動範囲のうち、所定の移動範囲でのみ、上記複数の絶対値和を検出するようにした。
【０１３７】
すなわち、第１ステップにおける移動範囲で正確な動きベクトルを検出することができる絶対値和データを検出できないと、最終的に不正確な動きベクトルが検出されてしまう。このため、第１ステップにおいて、どれだけ確率よく、正確な動きベクトルを検出することができる絶対値和データを検出することができるかにより、上記動きベクトルの検出精度は左右される。
【０１３８】
このため、当該第２の実施例に係る動きベクトル検出方法では、例えば３ステップサーチにおける第１ステップにおいてのみ最初値の絶対値和データ及び２番目に値が小さい絶対値和データの計２点の絶対値和データを選択するようにした。
【０１３９】
この第２の実施例に係る動きベクトル検出方法は、上述の第１の実施例に係る動きベクトル検出方法と同様に、図１１に示す動きベクトル検出回路２０２に適用することができる。
【０１４０】
すなわち、上記コントローラ２５５は、図２（ａ）に示すように３ステップサーチの第１ステップとなると、上記前フレームメモリ２５２に同図（ａ）中太線で示す略々正方形状の第１の移動範囲ＳＶ１を設定する。
【０１４１】
上記第１の移動範囲ＳＶ１は、図２（ａ）中●で示すように、上記基準ブロック２２３の中心画素に対応する該前フレームの画像データ２２２の中心画素（原点）１を中心として形成されており、その４つの角部に検索点３１〜３４を有している。各検索点の間は、それぞれ４画素間隔となっており、この第１の移動範囲全体で計９点の検索点を有している。
【０１４２】
このような第１の移動範囲ＳＶ１が設定されると、上記コントローラ２５５は、例えば上記検索点３１を中心に有する、上記検査ブロック２２４を設定し、この検査ブロック２２４の画像データが読み出されるように、ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０１４３】
また、上記コントローラ２５５は、これに続いて、上記９点の各検索点を中心とする検査ブロック２２４を次々と設定し、該設定した検査ブロック２２４の画像データが読み出されるように、ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０１４４】
すなわち、上記コントローラ２５５は、上記第１の移動範囲ＳＶ１内において、４画素間隔で検査ブロック２２４を移動しながら該検査ブロック２２４の画像データの読み出しを行うように、ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
上記各検査ブロック２２４の画像データは、それぞれ上記差分検出回路２５７に供給される。
【０１４５】
上記差分検出回路２５７は、上記基準ブロック２２３の画像データと、上記各検査ブロック２２４の画像データとを同位置の画素毎に比較してその差分を検出し、この各差分データを絶対値和検出回路２５８に供給する。
【０１４６】
上記絶対値和検出回路２５８は、上記差分データの絶対値を検出し、１回のマッチング処理で検出された差分データの絶対値を全て加算して絶対値和データを形成する。これにより、上記検査ブロック２２４の移動を行った分である計９個の絶対値和データが形成されることとなる。この絶対値和データは、それぞれ判断回路２５９に供給される。
【０１４７】
上記判断回路２５９は、例えば上記第１の移動範囲ＳＶ１内を上記検査ブロック２２４を４画素間隔で移動して得られた９個の絶対値和データを、その絶対値和データが検出された検査ブロック２２４の位置（検索点）に対応してメモリ上に記憶する。
【０１４８】
上記コントローラ２５５は、上記判断回路２５９のメモリに上記９個の絶対値和データが記憶されると、この絶対値和データの中から最小値の絶対値和データ、及び、２番目に値が小さい絶対値和データを検出するとともに、上記最小値の絶対値和データが検出された検査ブロック２２４の中心の検索点３３（図中×で示す）、２番目に値が小さい絶対値和データが検出された検査ブロック２２４の中心の検索点３５（図中△で示す）を検出する。
【０１４９】
そして、図２（ｂ）に示すように第２ステップとして、上記検索点３３を中心とした略々正方形状の第１の移動範囲ＳＶ２１、及び、上記検索点３５を中心とした略々正方形状の第２の移動範囲ＳＶ２２を設定する。
【０１５０】
上記各移動範囲ＳＶ２１，ＳＶ２２は、それぞれ４つの角部に検索点４０〜４３，検索点４５〜４８を有している。また、上記各移動範囲ＳＶ２１，ＳＶ２２は、１画素おきに設定された計３点の検索点を有するラインを、１ラインおきに計３ライン設定することにより形成されている。すなわち、上記各移動範囲ＳＶ２１，ＳＶ２２は、それぞれ計９点の検索点で構成されている。
【０１５１】
このような各移動範囲ＳＶ２１，ＳＶ２２が設定されると、上記コントローラ２５５は、該各移動範囲ＳＶ２１，ＳＶ２２に沿って検査ブロック２２４が移動し、該移動する毎にその検査ブロック２２４の画像データが読み出されるように、ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０１５２】
なお、この第２ステップでは、上記各移動範囲ＳＶ２１，ＳＶ２２の中心となる各検索点３３，３５に係る絶対値和データは、それぞれ上記第１ステップにおいて既に検出済であるため、上記コントローラ２５５は、上記各移動範囲ＳＶ２１，ＳＶ２２において、上記各検索点３３，３５をぬかして検査ブロック２２４を移動するように、上記ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０１５３】
この検査ブロック２２４の移動により読み出された画像データは、それぞれ上記差分検出回路２５７に供給される。
【０１５４】
上記差分検出回路２５７は、上記基準ブロック２２３の画像データと、上記各検査ブロック２２４の画像データとを比較してその差分を検出し、この差分データを絶対値和検出回路２５８に供給する。上記絶対値和検出回路２５８は、上記差分データの絶対値を検出し、１回のブロックどおしの比較により検出される差分データを全て加算して絶対値和データを形成する。
【０１５５】
これにより、上記各移動範囲ＳＶ２１，ＳＶ２２に沿って検査ブロック２２４の移動を行った分である計１８個（上記各検索点３３，３５における２つの絶対値和データも含む。）の絶対値和データが形成されることとなる。この絶対値和データは、それぞれ判断回路２５９に供給される。
【０１５６】
上記判断回路２５９は、上記絶対値和検出回路２５８から供給される上記１８個の絶対値和データを、その絶対値和データが形成された各移動範囲ＳＶ２１，ＳＶ２２に対応するアドレスに一旦記憶する。そして、上記メモリに全ての絶対値和データが記憶されると、この絶対値和データの中から最小値の絶対値和データを検出し、この最小値の絶対値和データを上記コントローラ２５５に供給するとともに、この最小値の絶対値和データが検出された検査ブロック２２４の中心の検索点４６（図中◇で示す）を検出する。
【０１５７】
次に、上記コントローラ２５５は、図２（ｃ）に示すように第３ステップとして、上記検索点４６を中心とした略々正方形状の移動範囲ＳＶ３を設定する。
【０１５８】
上記移動範囲ＳＶ３は、４つの角部に検索点５０〜５３を有しており、１画素毎に設定された計３点の検索点を有するラインを、順に計３ライン設定することにより形成されている。すなわち、上記移動範囲ＳＶ３は、計９点の検索点で構成されている。
【０１５９】
このような移動範囲ＳＶ３が設定されると、上記コントローラ２５５は、上記移動範囲ＳＶ３に沿って検査ブロック２２４を移動し、該移動する毎にその検査ブロック２２４の画像データを読み出すように、ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０１６０】
なお、この第３ステップでは、上記移動範囲ＳＶ３の中心となる検索点４６に係る絶対値和データは、上記第２ステップにおいて既に検出済であるため、上記コントローラ２５５は、上記移動範囲ＳＶ３において、上記検索点４６をぬかして検査ブロック２２４を移動するように、上記ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０１６１】
この検査ブロック２２４の移動により読み出された画像データは、それぞれ上記差分検出回路２５７に供給される。
【０１６２】
上記差分検出回路２５７は、上記基準ブロック２２３の画像データと、上記検査ブロック２２４の画像データとを比較してその差分を検出し、この差分データを絶対値和検出回路２５８に供給する。上記絶対値和検出回路２５８は、上記差分データの絶対値を検出し、１回のブロックどおしの比較により検出される差分データを全て加算して絶対値和データを形成する。
【０１６３】
これにより、上記移動範囲ＳＶ３に沿って検査ブロック２２４の移動を行った分である計９個（上記各検索点４６における１つの絶対値和データも含む。）の絶対値和データが形成されることとなる。この絶対値和データは、それぞれ判断回路２５９に供給される。
【０１６４】
上記判断回路２５９は、上記絶対値和検出回路２５８から供給される上記９個の絶対値和データを、その絶対値和データが形成された移動範囲ＳＶ３に対応するメモリ上のアドレスに一旦記憶する。そして、上記メモリに全ての絶対値和データが記憶されると、この絶対値和データの中から最小値の絶対値和データを検出し、この最小値の絶対値和データを上記コントローラ２５５に供給する。
【０１６５】
上記コントローラ２５５は、上記第３ステップで検出された最小値の絶対値和データに基づいて、その絶対値和データが検出された検査ブロック２２４の中心に位置する、上記前フレームメモリ２５２上の検索点のアドレスを検出する。そして、この検索点のアドレスと、上記基準ブロック２２３の現フレームメモリ２５１上の中心画素のアドレスとの差分を検出することにより、上記最小値の絶対値和データが検出された検査ブロック２２４に対する上記基準ブロック２２３の動き分（動きベクトル）を検出し、この動きベクトルを出力端子２６０を介して上記図７に示す動き補償回路２０４に供給する。
【０１６６】
これにより、上記図７に示した画像データの符号化装置において、画像データの圧縮符号化処理を行うことができる。
【０１６７】
この第２の実施例に係る動きベクトル検出方法では、３ステップサーチにおける第１ステップにおいてのみ複数の絶対値和データ、例えば最小値の絶対値和データ及び２番目に値の小さい絶対値和データを検出するようにしている。通常の３ステップサーチでは、上記検索点の数が第１ステップにおいて９点、第２ステップにおいて８点，第３ステップにおいて８点の計２５点であるが、当該動きベクトル検出方法では、第１ステップにおいて９点、第２ステップにおいて１６点、第３ステップにおいて８点の計３３点であり、従来と比較して８点の検索点の増加となり、多少、計算量が増加するが、第１ステップにおいて正確な動きベクトルを検出できる絶対値和データの検出確率を高めることができる。
【０１６８】
上述のように、動きベクトルの検出精度は、第１ステップにおいて、どれだけ確率よく、正確な動きベクトルを検出することができる絶対値和データを検出することができるかで左右されるが、上記第１ステップにおける、正確な動きベクトルを検出できる絶対値和データの検出確率を高めることができるため、動きベクトルの検出精度の向上を図ることができる。しかも、上記複数の絶対値和データの検出を第１ステップでのみ適用しているため、計算量の増加を最低限に抑えることができる。
【０１６９】
なお、この第２の実施例に係る動きベクトル検出方法の説明では、本発明に係る動きベクトル検出方法を３ステップサーチに適用することとしたが、これは、２ステップサーチ等にも適用することができる。また、第１ステップにおいて、値が小さいものから順に２つの絶対値和データを検出することとしたが、これは、値が小さいものから順に３つ，４つ或いは５つ選択するようにしてもよい。この場合、第１ステップにおいて検出される絶対値和データの数が増えた分計算量が増加するが、その分、正確な動きベクトルを検出できる絶対値和データの検出確率を高めることができ、動きベクトルの検出精度をさらに向上させることができる。
【０１７０】
また、第１ステップのみ複数の絶対値和データを検出するようにしたが、これは、第２ステップのみ複数の絶対値和データを検出するようにしてもよい。
【０１７１】
次に、本発明の第３の実施例に係る動きベクトル検出方法の説明をする。上述の第２の実施例に係る動きベクトル検出方法では、所望のステップにおいてのみ複数の絶対値和データを検出することにより計算量の削減を図ったが、この第３の実施例に係る動きベクトル検出方法では、所望のステップにおいてのみ複数の絶対値和データを検出するとともに、この検出した絶対値和データの差分を閾値と比較し、この比較結果に応じて後のステップの移動範囲を決定することにより、さらなる計算量の削減を図った。
【０１７２】
すなわち、この第３実施例に係る動きベクトル検出方法は、図３に示すような動きベクトル検出回路に適用することができる。なお、この図３に示す動きベクトル検出回路は、３ステップサーチにより動きベクトルの検出を行うものとする。また、上記図３に示す動きベクトル検出回路において、上記図１１に示した動きベクトル検出回路２０２と同じ動作を示す箇所には同符号を付し、その詳細な説明を省略する。
【０１７３】
上記図３において、上記コントローラ２５５は３ステップサーチの第１ステップとなると前フレームメモリ２５２に、図４中太線で示すような略々正方形状の第１の移動範囲ＳＶ１を設定する。
【０１７４】
上記第１の移動範囲ＳＶ１は、図４中●で示す中心画素（原点）１を中心として形成されており、その４つの角部に検索点７１〜７４を有している。この第１の移動範囲ＳＶ１全体では計９点の検索点を有しており、各検索点の間はそれぞれ４画素間隔となっている。
【０１７５】
このような第１の移動範囲ＳＶ１が設定されると、上記コントローラ２５５は、例えば上記検索点７１を中心に有する検査ブロック２２４を設定し、この検査ブロック２２４の画像データが読み出されるように、ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０１７６】
また、上記コントローラ２５５は、これに続いて、上記９点の各検索点を中心とする検査ブロック２２４を次々と設定し、該設定した検査ブロック２２４の画像データが読み出されるように、ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０１７７】
すなわち、上記コントローラ２５５は、上記第１の移動範囲ＳＶ１内において、４画素間隔で検査ブロック２２４を移動しながら該検査ブロック２２４の画像データの読み出しを行うように、ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
上記各検査ブロック２２４の画像データは、それぞれ上記差分検出回路２５７に供給される。
【０１７８】
上記差分検出回路２５７は、上記基準ブロック２２３の画像データと、上記各検査ブロック２２４の画像データとを同位置の画素毎に比較してその差分を検出し、この各差分データを絶対値和検出回路２５８に供給する。
【０１７９】
上記絶対値和検出回路２５８は、上記差分データの絶対値を検出し、１回のマッチング処理で検出された差分データの絶対値を全て加算して絶対値和データを形成する。これにより、上記検査ブロック２２４の移動を行った分である計９個の絶対値和データが形成されることとなる。この絶対値和データは、それぞれ判断回路２５９に供給される。
【０１８０】
上記判断回路２５９は、例えば上記第１の移動範囲ＳＶ１に沿って、上記検査ブロック２２４を４画素間隔で移動して得られた９個の絶対値和データを、その絶対値和データが検出された検査ブロック２２４の位置（検索点）に対応してメモリ上に記憶する。
【０１８１】
上記コントローラ２５５は、上記判断回路２５９のメモリに上記９個の絶対値和データが記憶されると、この絶対値和データの中から最小値の絶対値和データ、及び、２番目に値が小さい絶対値和データを検出するとともに、該最小値の絶対値和データ、及び、２番目に値が小さい絶対値和データの差分を検出する。
【０１８２】
上記判断回路２５９には、閾値発生回路２６１からの、例えば正確な動きベクトルを検出できる上記最小値の絶対値和データ及び２番目に値が小さい絶対値和データの差分値の限界値が閾値データとして供給されている。上記判断回路２５９は、この閾値データと、上記最小値の絶対値和データ及び２番目に値が小さい絶対値和データの差分値とを比較し、この比較データを上記コントローラ２５５に供給する。
【０１８３】
上記閾値データは、上記正確な動きベクトルを検出できる差分値の限界値となっている。このため、上記最小値の絶対値和データと２番目に値が小さい絶対値和データとの差分と上記閾値データとを比較することにより、その絶対値和データにより正確な動きベクトルを検出できるか否かを検出することができる。
【０１８４】
このため、上記コントローラ２５５は、上記閾値データよりも上記差分値の方が小さかった場合、さらなる詳細な検出が必要あるとして、図５（ａ）に示すように第２ステップに移行する。
【０１８５】
上記コントローラ２５５は、上記第２ステップとなると、上記最小値の絶対値和データが検出された検査ブロック２２４の中心の検索点７３（図中×で示す）、２番目に値が小さい絶対値和データが検出された検査ブロック２２４の中心の検索点７５（図中△で示す）を検出する。
【０１８６】
そして、図５（ａ）に示すように第２ステップとして、上記検索点７３を中心とした略々正方形状の第１の移動範囲ＳＶ２１、及び、上記検索点７５を中心とした略々正方形状の第２の移動範囲ＳＶ２２を設定する。
【０１８７】
上記各移動範囲ＳＶ２１，ＳＶ２２は、それぞれ４つの角部に検索点７７〜８０，検索点８１〜８４を有している。また、上記各移動範囲ＳＶ２１，ＳＶ２２は、１画素おきに設定された計３点の検索点を有するラインを、１ラインおきに計３ライン設定することにより形成されている。すなわち、上記各移動範囲ＳＶ２１，ＳＶ２２は、それぞれ計９点の検索点で構成されている。
【０１８８】
このような各移動範囲ＳＶ２１，ＳＶ２２が設定されると、上記コントローラ２５５は、該各移動範囲ＳＶ２１，ＳＶ２２に沿って検査ブロック２２４が移動し、該移動する毎にその検査ブロック２２４の画像データが読み出されるように、ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０１８９】
なお、この第２ステップでは、上記各移動範囲ＳＶ２１，ＳＶ２２の中心となる各検索点３３，３５に係る絶対値和データは、それぞれ上記第１ステップにおいて既に検出済であるため、上記コントローラ２５５は、上記各移動範囲ＳＶ２１，ＳＶ２２において、上記各検索点３３，３５をぬかして検査ブロック２２４を移動するように、上記ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０１９０】
この検査ブロック２２４の移動により読み出された画像データは、それぞれ上記差分検出回路２５７に供給される。
【０１９１】
上記差分検出回路２５７は、上記基準ブロック２２３の画像データと、上記各検査ブロック２２４の画像データとを比較してその差分を検出し、この差分データを絶対値和検出回路２５８に供給する。上記絶対値和検出回路２５８は、上記差分データの絶対値を検出し、１回のブロックどおしの比較により検出される差分データを全て加算して絶対値和データを形成する。
【０１９２】
これにより、上記各移動範囲ＳＶ２１，ＳＶ２２に沿って検査ブロック２２４の移動を行った分である計１８個（上記各検索点７３，７５における２つの絶対値和データも含む。）の絶対値和データが形成されることとなる。この絶対値和データは、それぞれ判断回路２５９に供給される。
【０１９３】
上記判断回路２５９は、上記絶対値和検出回路２５８から供給される上記１８個の絶対値和データを、その絶対値和データが形成された各移動範囲ＳＶ２１，ＳＶ２２に対応するアドレスに一旦記憶する。そして、上記メモリに全ての絶対値和データが記憶されると、この絶対値和データの中から最小値の絶対値和データを検出し、この最小値の絶対値和データを上記コントローラ２５５に供給するとともに、この最小値の絶対値和データが検出された検査ブロック２２４の中心の検索点８２（図中◇で示す）を検出する。
【０１９４】
次に、上記コントローラ２５５は、図５（ｂ）に示すように第３ステップとして、上記検索点８２を中心とした略々正方形状の移動範囲ＳＶ３を設定する。
【０１９５】
上記移動範囲ＳＶ３は、４つの角部に検索点８６〜８９を有しており、１画素毎に設定された計３点の検索点を有するラインを、順に計３ライン設定することにより形成されている。すなわち、上記移動範囲ＳＶ３は、計９点の検索点で構成されている。
【０１９６】
このような移動範囲ＳＶ３が設定されると、上記コントローラ２５５は、上記移動範囲ＳＶ３に沿って検査ブロック２２４を移動し、該移動する毎にその検査ブロック２２４の画像データを読み出すように、ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０１９７】
なお、この第３ステップでは、上記移動範囲ＳＶ３の中心となる検索点８２に係る絶対値和データは、上記第２ステップにおいて既に検出済であるため、上記コントローラ２５５は、上記移動範囲ＳＶ３において、上記検索点８２をぬかして検査ブロック２２４を移動するように、上記ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０１９８】
この検査ブロック２２４の移動により読み出された画像データは、それぞれ上記差分検出回路２５７に供給される。
【０１９９】
上記差分検出回路２５７は、上記基準ブロック２２３の画像データと、上記検査ブロック２２４の画像データとを比較してその差分を検出し、この差分データを絶対値和検出回路２５８に供給する。上記絶対値和検出回路２５８は、上記差分データの絶対値を検出し、１回のブロックどおしの比較により検出される差分データを全て加算して絶対値和データを形成する。
【０２００】
これにより、上記移動範囲ＳＶ３に沿って検査ブロック２２４の移動を行った分である計９個（上記各検索点８２における１つの絶対値和データも含む。）の絶対値和データが形成されることとなる。この絶対値和データは、それぞれ判断回路２５９に供給される。
【０２０１】
上記判断回路２５９は、上記絶対値和検出回路２５８から供給される上記９個の絶対値和データを、その絶対値和データが形成された移動範囲ＳＶ３に対応するメモリ上のアドレスに一旦記憶する。そして、上記メモリに全ての絶対値和データが記憶されると、この絶対値和データの中から最小値の絶対値和データを検出し、この最小値の絶対値和データを上記コントローラ２５５に供給する。
【０２０２】
上記コントローラ２５５は、上記第３ステップで検出された最小値の絶対値和データに基づいて、その絶対値和データが検出された検査ブロック２２４の中心に位置する、上記前フレームメモリ２５２上の検索点のアドレスを検出する。そして、この検索点のアドレスと、上記基準ブロック２２３の現フレームメモリ２５１上の中心画素のアドレスとの差分を検出することにより、上記最小値の絶対値和データが検出された検査ブロック２２４に対する上記基準ブロック２２３の動き分（動きベクトル）を検出し、この動きベクトルを出力端子２６０を介して上記図７に示す動き補償回路２０４に供給する。
【０２０３】
これにより、上記図７に示した画像データの符号化装置において、画像データの圧縮符号化処理を行うことができる。
【０２０４】
次に、上記閾値データよりも、上記最小値の絶対値和データと２番目に値の小さい絶対値和データとの差分値の方が大きかった場合、該差分値が大きいということは、上記最小値の絶対値和データを用いて正確な動きベクトルの検出が行えることを示している。このため、上記コントローラ２５５は、上記最小値の絶対値和データに基づいて動きベクトルを検出すべく、上述の第２ステップをぬかして第３ステップに移行する。
【０２０５】
すなわち、上記コントローラ２５５は、上記最小値の絶対値和データと２番目に値の小さい絶対値和データとの差分値の方が大きかった場合、上記最小値の絶対値和データが検出された検査ブロック２２４の中心の検索点７３（図中×で示す）を検出するとともに、図６に示すように上記検索点７３を中心とした略々正方形状の第３ステップの移動範囲ＳＶ３を設定する。
【０２０６】
上記図６において、移動範囲ＳＶ３は、４つの角部に検索点９０〜９３を有しており、１画素毎に設定された計３点の検索点を有するラインを、順に計３ライン設定することにより形成されている。すなわち、上記移動範囲ＳＶ３は、計９点の検索点で構成されている。
【０２０７】
このような移動範囲ＳＶ３が設定されると、上記コントローラ２５５は、上記移動範囲ＳＶ３に沿って検査ブロック２２４を移動し、該移動する毎にその検査ブロック２２４の画像データを読み出すように、ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０２０８】
なお、この第３ステップでは、上記移動範囲ＳＶ３の中心となる検索点７３に係る絶対値和データは、上記第１ステップにおいて既に検出済であるため、上記コントローラ２５５は、上記移動範囲ＳＶ３において、上記検索点７３をぬかして検査ブロック２２４を移動するように、上記ｉ画素ステップアドレス移動回路２５６Ａを介して上記前フレームメモリ２５２を読み出し制御する。
【０２０９】
この検査ブロック２２４の移動により読み出された画像データは、それぞれ上記差分検出回路２５７に供給される。
【０２１０】
上記差分検出回路２５７は、上記基準ブロック２２３の画像データと、上記検査ブロック２２４の画像データとを比較してその差分を検出し、この差分データを絶対値和検出回路２５８に供給する。上記絶対値和検出回路２５８は、上記差分データの絶対値を検出し、１回のマッチング処理により検出される差分データを全て加算して絶対値和データを形成する。
【０２１１】
これにより、上記移動範囲ＳＶ３に沿って検査ブロック２２４の移動を行った分である計９個（上記各検索点７３における１つの絶対値和データも含む。）の絶対値和データが形成されることとなる。この絶対値和データは、それぞれ判断回路２５９に供給される。
【０２１２】
上記判断回路２５９は、上記絶対値和検出回路２５８から供給される上記９個の絶対値和データを、その絶対値和データが形成された移動範囲ＳＶ３に対応するメモリ上のアドレスに一旦記憶する。そして、上記メモリに全ての絶対値和データが記憶されると、この絶対値和データの中から最小値の絶対値和データを検出し、この最小値の絶対値和データを上記コントローラ２５５に供給する。
【０２１３】
上記コントローラ２５５は、上記第３ステップで検出された最小値の絶対値和データに基づいて、その絶対値和データが検出された検査ブロック２２４の中心に位置する、上記前フレームメモリ２５２上の検索点のアドレスを検出する。そして、この検索点のアドレスと、上記基準ブロック２２３の現フレームメモリ２５１上の中心画素のアドレスとの差分を検出することにより、上記最小値の絶対値和データが検出された検査ブロック２２４に対する上記基準ブロック２２３の動き分（動きベクトル）を検出し、この動きベクトルを出力端子２６０を介して上記図７に示す動き補償回路２０４に供給する。
【０２１４】
これにより、上記図７に示した画像データの符号化装置において、画像データの圧縮符号化処理を行うことができる。
【０２１５】
この第３の実施例に係る動きベクトル検出方法では、第１ステップでのみ複数の絶対値和データを検出し、この各絶対値和データの差分値と閾値とを比較し、この比較結果に応じて次の移動範囲を制御することにより、上記差分値が閾値よりも小さかった場合はさらに詳細に動きベクトルの検出を行って動きベクトルの検出精度を維持することができ、また、上記差分値が閾値よりも大きかった場合には、途中のステップを省略して計算量を削減して動きベクトルの検出を行うことができる。すなわち、上記第２の実施例に係る動きベクトル検出方法で述べた動きベクトルの検出精度を維持したまま、計算量の削減を図ることができる。
【０２１６】
なお、上述の第３の実施例に係る動きベクトル検出方法の説明では、第１ステップにおいて、最小値の絶対値和データ及び２番目に値の小さい絶対値和データを検出することとしたが、これは、値の小さいものから順に３つ，４つ，５つ・・・の絶対値和データを検出するようにしてもよい。
【０２１７】
また、３ステップサーチの第１ステップで複数の絶対値和データを検出することとしたが、これは、４段階にわけて動きベクトルの検出を行う４ステップサーチの第２ステップにおいて複数の絶対値和データの差分を検出して上記閾値と比較し、この比較結果に応じて後のステップを移動範囲を設定するようにしてもよいし、５段階に分けて動きベクトルの検出を行う５ステップサーチの第２ステップ或いは第３ステップにおいて複数の絶対値和データの差分を検出して上記閾値と比較し、この比較結果に応じて後のステップを移動範囲を設定するようにしてもよい。
【０２１８】
また、上記各実施例に係る動きベクトル検出方法は、上述のように正確な動きベクトルを検出することができる。このため、上記図７に示したような画像データの符号化装置において、圧縮符号化する画像データを削減することができ、圧縮符号化効率の向上を図ることができる。
【０２１９】
最後に、上述の各実施例の説明では、上記現在画像として現在フレームの画像を、また、前画像として前フレームの画像を用いることとしたが、これは、上記現在画像として現在フレームの画像を、また、前画像として２フレーム前の画像，３フレーム前の画像・・・を用いるようにしてもよい。同じく、上記現在画像として現在フィールドの画像を、また、前画像として前フィールドの画像、或いは、２フィールド前の画像，３フィールド前の画像・・・を用いるようにしてもよい。
【０２２０】
また、上記基準ブロックを現在画像内に設定し、上記検査ブロックを前画像内に設定することとしたが、これは、逆に、前画像内に基準ブロックを設定し、現在画像内に検査ブロックを設定して、該現在画像内において検査ブロックを移動させて動きベクトルの検出を行うようにしてもよい。
【０２２１】
また、本発明に係る動きベクトル検出方法及び画像データの符号化方法を、直交変換回路として上記ＤＣＴ回路２０７を用いた画像データの圧縮符号化装置に適用することとしたが、これは、いわゆるフーリエ変換，アダマール変換，Ｋ−Ｌ変換等の他の直交変換手段を用いるようにしてもよい。
【０２２２】
また、本発明に係る動きベクトル検出方法及び画像データの符号化方法を、２ステップサーチ及び３ステップサーチに適用した場合について説明したが、これは、検査ブロックの移動範囲を４段階に分けて徐々に狭めていく４ステップサーチや、該検査ブロックの移動範囲を５段階に分けて徐々に狭めていく５ステップサーチ等、多段階に分けて検査ブロックの移動範囲を狭めながら動きベクトルの検出を行う方法であれば何にでも適用可能である。
【０２２３】
また、上述の各実施例の説明では、検査ブロックと基準ブロックとの相関を示す評価関数値として上記絶対値和を用いることとしたが、これは、例えば上記差分の二乗和等、検査ブロックと基準ブロックとの相関を示す情報であれば何でもよく、その他、本発明に係る技術的思想を逸脱しない範囲であれば種々の変更が可能であることは勿論である。
【０２２４】
【発明の効果】
本発明に係る動きベクトル検出方法は、多段階に亘ってマッチング処理を行うことにより動きベクトルの検出を行うマルチステップサーチにおける、計算量の増大及び検出速度の遅延化を極力抑制して動きベクトルの検出精度の向上を図ることができる。
【０２２５】
また、本発明に係る画像データの符号化方法は、動きベクトル検出手段における計算量の増大及び検出速度の遅延化を極力抑制して正確な動きベクトルを検出することができるため、画像データに応じた正確な圧縮符号化を行うことができる。また、圧縮符号化する画像データを削減して圧縮符号化効率の向上を図ることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施例に係る動きベクトル検出方法を説明するための図である。
【図２】本発明の第２の実施例に係る動きベクトル検出方法を説明するための図である。
【図３】本発明の第３の実施例に係る動きベクトル検出方法を適用した動きベクトル検出装置のブロック図である。
【図４】上記第３の実施例に係る動きベクトル検出方法を適用した動きベクトル検出装置の第１ステップでの動作を説明するための図である。
【図５】上記第３の実施例に係る動きベクトル検出方法を適用した動きベクトル検出装置における、上記第１ステップで検出された絶対値和の差分が閾値以上の場合の動作を説明するための図である。
【図６】上記第３の実施例に係る動きベクトル検出方法を適用した動きベクトル検出装置における、上記第１ステップで検出された絶対値和の差分が閾値以下の場合の動作を説明するための図である。
【図７】画像の動きベクトルを検出して画像データの圧縮符号化処理を行う画像データの圧縮符号化装置のブロック図である。
【図８】上記画像データの圧縮符号化装置に設けられている動きベクトル検出回路で行われるブロックマッチング処理を説明するための図である。
【図９】フルサーチにより動きベクトル検出を行う動きベクトル検出回路のブロック図である。
【図１０】上記フルサーチによる動きベクトルの検出の仕方を説明するための図である。
【図１１】２ステップサーチ或いは３ステップサーチにより動きベクトルの検出を行う動きベクトル検出回路のブロック図である。
【図１２】従来の３ステップサーチの第１ステップによる動きベクトルの検出の仕方を説明するための図である。
【図１３】従来の３ステップサーチの第２，第３ステップによる動きベクトルの検出の仕方を説明するための図である。
【図１４】従来の２ステップサーチによる動きベクトルの検出の仕方を説明するための図である。
【符号の説明】
ＳＶ１・・・・・第１ステップの検査ブロックの移動範囲
１・・・・・・・第１ステップの移動範囲の中心に位置する画素（原点）
２〜５・・・・・第１ステップの移動範囲の角部に位置する画素
６・・・・・・・第１ステップの絶対値和の最小値に係る画素
７・・・・・・・第１ステップの２番目に値の小さい絶対値和に係る画素
８・・・・・・・第１ステップの３番目に値の小さい絶対値和に係る画素
ＳＶ２１・・・・最小値の絶対値和による第２ステップでの第１の移動範囲
１０〜１３・・・第１の移動範囲の角部に位置する画素
ＳＶ２２・・・・２番目に値の小さい絶対値和による第２ステップでの第２の移動範囲
１５〜１８・・・第２の移動範囲の角部に位置する画素
ＳＶ２３・・・・３番目に値の小さい絶対値和による第２ステップでの第３の移動範囲
２０〜２３・・・第３の移動範囲の角部に位置する画素
ＳＶ１・・・・・第１ステップの検査ブロックの移動範囲
３０・・・・・・第１ステップの移動範囲の中心に位置する画素（原点）
３１〜３４・・・第１ステップの移動範囲の角部に位置する画素
３３・・・・・・第１ステップの絶対値和の最小値に係る画素
３５・・・・・・第１ステップの２番目に値の小さい絶対値和に係る画素
ＳＶ２１・・・・最小値の絶対値和による第２ステップでの第１の移動範囲
４０〜４３・・・第１の移動範囲の角部に位置する画素
ＳＶ２２・・・・２番目に値の小さい絶対値和による第２ステップでの第２の移動範囲
４５〜４８・・・第２の移動範囲の角部に位置する画素
４６・・・・・・第２ステップの絶対値和の最小値に係る画素
４９・・・・・・第２ステップの２番目に値の小さい絶対値和に係る画素
ＳＶ３・・・・・絶対値和の最初値による第３ステップでの第３の移動範囲
５０〜５３・・・第３の移動範囲の角部に位置する画素
２５１・・・・・現フレームメモリ
２５２・・・・・前フレームメモリ
２５３・・・・・現フレームの画像データの入力端子
２５４・・・・・前フレームの画像データの入力端子
２５５・・・・・コントローラ
２５６Ａ・・・・ｉ画素ステップアドレス移動回路
２５６Ｂ・・・・１画素ステップアドレス移動回路
２５７・・・・・差分検出回路
２５８・・・・・絶対値和検出回路
２５９・・・・・判断回路
２６０・・・・・動きベクトルの出力端子
２６１・・・・・閾値発生回路
ＳＶ１・・・・・第１ステップの検査ブロックの移動範囲
７０・・・・・・第１ステップの移動範囲の中心に位置する画素（原点）
７１〜７４・・・第１ステップの移動範囲の角部に位置する画素
７３・・・・・・第１ステップの絶対値和の最小値に係る画素
７５・・・・・・第１ステップの２番目に値の小さい絶対値和に係る画素
ＳＶ２１・・・・最小値の絶対値和による第２ステップでの第１の移動範囲
７７〜８０・・・第１の移動範囲の角部に位置する画素
ＳＶ２２・・・・２番目に値の小さい絶対値和による第２ステップでの第２の移動範囲
８１〜８４・・・第２の移動範囲の角部に位置する画素
８２・・・・・・第２ステップの絶対値和の最小値に係る画素
８５・・・・・・第２ステップの２番目に値の小さい絶対値和に係る画素
ＳＶ３・・・・・絶対値和の最初値による第３ステップでの第３の移動範囲
８６〜８９・・・第３の移動範囲の角部に位置する画素
９０〜９３・・・第３の移動範囲の角部に位置する画素
２０１・・・・・画像データの入力端子
２０２・・・・・動きベクトル検出回路
２０３・・・・・減算器
２０４・・・・・動き補償回路
２０５・・・・・フレームメモリ
２０６・・・・・加算器
２０７・・・・・直交変換回路
２０８・・・・・量子化器
２０９・・・・・圧縮符号化された画像データの出力端子
２１０・・・・・逆量子化器
２１１・・・・・逆直交変換回路
【図１】
0003598526.tif 000002
【図２】
0003598526.tif 000003
【図３】
0003598526.tif 000004
【図４】
0003598526.tif 000005
【図５】
0003598526.tif 000006
【図６】
0003598526.tif 000007
【図７】
0003598526.tif 000008
【図８】
0003598526.tif 000009
【図９】
0003598526.tif 000010
【図１０】
0003598526.tif 000011
【図１１】
0003598526.tif 000012
【図１２】
0003598526.tif 000013
【図１３】
0003598526.tif 000014
【図１４】
0003598526.tif 000015