(57)【特許請求の範囲】
【請求項１】
画像データの基準フレームに基準ブロックを設定し、上記基準ブロックと連続する検索フレームに候補ブロックを設定し、上記候補ブロックを所定の探査範囲で動かし、上記基準ブロックと上記候補ブロックとの残差を求め、上記残差が最小となる候補ブロックから動きベクトルを求めるようにした動きベクトル検出装置において、
上記基準ブロック及び上記候補ブロックを構成する各画素間の残差を演算する演算ユニットからなり、
上記演算ユニットは、上記基準ブロックの各画素の上位の所定数のビットと上記候補ブロックの各画素の上位の所定数のビットとの差分の絶対値和を１クロック毎にパイプライン演算するように配置され、
上記各演算ユニットに、次段の演算ユニットに送られる上記絶対値和が所定値を越えないように制限するリミッタを設けたことを特徴とする動きベクトル検出装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、特に、画像の予測符号化方式に用いて好適な動きベクトル検出装置に関する。
【０００２】
【従来の技術】
フレーム間予測符号化処理では、動きベクトルに基づいて動き補償された参照フレームと、現フレームとの差分データが符号化される。このようなフレーム間予測符号化処理において用いられる動きベクトル検出方法として、ブロックマッチング法が知られている。
【０００３】
図６は、このようなブロックマッチング法を説明するためのものである。図６において、１０１は基準フレームを示し、１０２は、基準フレームと連続する検索フレームを示している。基準フレーム１０１には基準ブロック１０３が設定され、検索フレーム１０１に候補ブロック１０４が設定される。検索フレーム１０２の候補ブロック１０４は、所定の探査範囲内を移動される。そして、基準フレーム１０１の基準ブロック１０３と、検索フレーム１０２の候補ブロック１０４との残差が求められる。この残差が最小となる候補ブロックがマッチングブロックとされ、このマッチングブロックから動きベクトルが求められる。
【０００４】
このようなブロックマッチング法で動きベクトルを求める動きベクトル検出装置として、基準ブロックの各画素と候補ブロックの各画素との残差をパイプライン演算で求め、この残差から基準ブロックに最も合致した候補ブロックを検出して動きベクトルを求めるようなものが提案されている。残差をパイプライン演算により求めるようにすると、候補ブロックを探査範囲で１ステップずつ動かしたときの候補ブロックと基準ブロックとの残差を、１クロック毎に求めることができ、処理の高速化が図れる。
【０００５】
【発明が解決しようとする課題】
パイプライン処理では、各演算ユニットで求められた残差が加算されていくので、残差が大きいと、パイプラインのビット数が増大する。このため、回路規模が大きくなるという問題が生じる。
【０００６】
したがって、この発明の目的は、回路規模の縮小を図ることができる動きベクトル検出装置を提供することにある。
【０００７】
【課題を解決するための手段】
この発明は、画像データの基準フレームに基準ブロックを設定し、基準ブロックと連続する検索フレームに候補ブロックを設定し、候補ブロックを所定の探査範囲で動かし、基準ブロックと候補ブロックとの残差を求め、残差が最小となる候補ブロックから動きベクトルを求めるようにした動きベクトル検出装置において、
基準ブロック及び候補ブロックを構成する各画素間の残差を演算する演算ユニットからなり、
演算ユニットは、基準ブロックの各画素の上位の所定数のビットと候補ブロックの各画素の上位の所定数のビットとの差分の絶対値和を１クロック毎にパイプライン演算するように配置され、
各演算ユニットに、次段の演算ユニットに送られる絶対値和が所定値を越えないように制限するリミッタを設けたことを特徴とする動きベクトル検出装置である。
【０００８】
【作用】
パイプライン演算を行うための各演算ユニットにリミッタを設けているので、パイプラインのビット数が削減でき、回路規模が縮小できる。
【０００９】
【実施例】
以下、この発明の一実施例について図面を参照して説明する。図１は、この発明の一実施例を示すものである。図１において、１及び２は、入力端子である。入力端子１には、基準ブロックの画素が順に供給される。入力端子２には、候補ブロックの画素が順に供給される。
【００１０】
３−１、３−２、３−３、…は、演算ユニットである。演算ユニット３−１、３−２、３−３、・・・は、基準ブロックの各画素と、候補ブロックの各画素との差分の絶対値和を、パイプライン演算により求めるものである。基準ブロック及び候補ブロックのブロックサイズが（１６×１６）の場合には、演算ユニット３−１、３−２、３−３、・・・は、２５６個配設される。
【００１１】
４は、最小値検出回路である。演算ユニット３−１、３−２、３−３、…でパイプライン演算により求められた基準ブロックの各画素と候補ブロックの各画素との差分の絶対値和から、基準ブロックと候補ブロックとの残差が得られる。この残差が最小値検出回路４に供給される。最小値検出回路４により、残差が最小になる候補ブロックが検出される。この候補ブロックがマッチングブロックとされ、このマッチングブロックから、動きベクトルが求められる。求められた動きベクトルは、出力端子５から出力される。
【００１２】
図２は、演算ユニット１の詳細な構成を示すものである。演算ユニット１は、基準ブロックの画素データを保持するレジスタ１１と、基準ブロックの画素データと候補ブロックの画素データとの差分の絶対値を求める減算回路１２及び絶対値回路１３と、パイプライン演算を行うためのレジスタ１４及び加算回路１５とから構成される。更に、演算ユニット１には、次段の演算ユニットに送られるデータのビット数を制限するためのリミッタ１６が設けられる。
【００１３】
入力端子２１には、基準ブロックの画素データが供給される。この基準ブロックの画素データは、例えば８ビットとされる。この基準ブロックの画素データは、レジスタ１１に保持される。そして、レジスタ１１の出力が減算回路１２に供給される。
【００１４】
入力端子２２には、候補ブロックの画素データが供給される。この候補ブロックの画素データは、例えば８ビットである。入力端子２２からの画素データは、減算回路１２に供給される。減算回路１２で、レジスタ１１からの基準ブロックの画素データと、入力端子２２からの候補ブロックの画素データとが減算される。この減算回路１２の出力が絶対値回路１３に供給される。絶対値回路１３により、基準ブロックの画素データと候補ブロックの画素データとの差分の絶対値が求められる。絶対値回路１３の出力が加算回路１５に供給される。
【００１５】
入力端子２３には、前段の演算ユニット１の出力が供給される。入力端子２３からのデータは、パイプラインレジスタ１４で１クロック遅延されて、加算回路１５に供給される。加算回路１５の出力は、リミッタ１６に供給される。リミッタ１６で、ビット数が例えは１２ビットとなるように、制限される。リミッタ１６の出力が出力端子２４から出力される。
【００１６】
図１において、入力端子１には、図３に示すような、基準ブロック３１の画素データＡ１、Ａ２、Ａ３、…が順に供給される。この画素データＡ１、Ａ２、Ａ３、…は、それぞれ、演算ユニット３−１、３−２、３−３、…のレジスタ１１−１、１１−２、１１−３、…に順に取り込まれる。
【００１７】
入力端子２には、図４に示すような、探査範囲３３の画素データＢ１、Ｂ２、Ｂ３、…が順に供給される。演算ユニット３−１には、画素データＢ１、Ｂ２、Ｂ３、…が順に供給されていく。演算ユニット３−２には、画素データＢ２、Ｂ３、Ｂ４…が順に供給されていく。演算ユニット３−３には、画素データＢ３、Ｂ４、Ｂ５…が順に供給されていく。
【００１８】
演算ユニット３−１、３−２、３−３、…の出力は、レジスタ１４−１、１４−２、１４−３、…、加算回路１５−２、１５−３、１５−４、…によりパイプライン演算で加算され、候補ブロック３２の各画素と基準ブロック３１の各画素との差分の絶対値和が求められる。このようなパイプライン演算により、候補ブロック３２を探査範囲３３で１ステップずつ動かしときの、候補ブロック３２の各画素と基準ブロック３１の各画素との差分の絶対値和が１クロック毎に求められる。
【００１９】
候補ブロック３２を探査範囲３３で動かしたていったときに、候補ブロック３２の各画素と基準ブロック３１の各画素との差分の絶対値和が最小になる候補ブロックは、最小値検出回路４で検出される。この候補ブロックがマッチングブロックとされ、このマッチングブロックから、動きベクトルが求められる。
【００２０】
このように、この発明の一実施例では、候補ブロック３２と基準ブロック３１との残差を、パイプライン演算により求めている。これにより、候補ブロック３２を探査範囲３３で１ステップずつ動かしたときの、候補ブロック３２と基準ブロック３１との残差を、１クロック毎に求めることができる。
【００２１】
このようなパイプラインでは、各演算ユニット３の出力が加算されていくので、残差が大きいと、ビット数が増大する。このため、回路規模が増大する。この発明の一実施例では、各演算ユニット３には、リミッタ回路１６が設けられている。このようなリミッタ回路１６が設けられているので、パイプラインのビット数を例えば１２ビットに抑えることができ、回路規模が増大しない。
【００２２】
図５は、フレーム間予測符号化処理を行うビデオ信号の高能率符号化装置の一例である。この発明は、このような高能率符号化装置における動き検出回路６２に利用できる。
【００２３】
図５において、入力端子５１に現フレームのディジタルビデオ信号が供給される。この入力ディジタルビデオ信号は、例えば８ビットである。入力端子５１からのビデオ信号は、減算回路５２に供給される。減算回路５２には、動き補償回路６１を介して動き補償された参照フレームのビデオ信号が供給される。減算回路５２で、現フレームと、この現フレームと時間的に連続する参照フレームとの差分が求められる。
【００２４】
減算回路５２の出力がＤＣＴ変換回路５３に供給される。ＤＣＴ変換回路５３により、現フレームと参照フレームとの差分がＤＣＴ変換される。ＤＣＴ変換回路５３の出力が量子化回路５４に供給される。量子化回路５４で、ＤＣＴ変換回路５３の出力が量子化される。量子化回路５４の出力が可変長符号化回路５５に供給される。可変長符号化回路５５で、量子化回路５４の出力が可変長符号化される。このようにして高能率符号化された出力が出力端子５６から出力される。
【００２５】
また、量子化回路５４の出力は、逆量子化回路５７に供給される。逆量子化回路５７の出力が逆ＤＣＴ変換回路５８に供給される。逆量子化回路５７、逆ＤＣＴ変換回路５８により、現フレームと参照フレームとの差分データが得られる。逆ＤＣＴ回路５８の出力が加算回路５９に供給される。
【００２６】
加算回路５９には、動き補償回路６１から、動き補償された参照フレームのデータが供給される。加算回路５９で、この動き補償された参照フレームのデータと、現フレームと参照フレームとの差分データとが加算され、現フレームのデータが求められる。このようにして求められた現フレームのデータは、次の参照フレームのデータとしてフレームメモリ６０に貯えられる。
【００２７】
フレームメモリ６０に貯えられている参照フレームが動き検出回路６２に供給される。動き検出回路６２で、連続するフレーム間の動きベクトルが求められる。この動きベクトルが動き補償回路６１に供給される。
【００２８】
このビデオ信号の高能率符号化装置では、フレームメモリ６０に貯えられた符号化画像データを使って、動きベクトルの検出を行っている。このような方式では、フレームメモリ６０に貯えられたデータ中には、量子化、逆量子化によるひずみが含まれている。このため、フレームメモリ６０の出力中の下位ビットはノイズ成分であり、このようなノイズ成分を含むデータから動き検出を行うと、信頼性が良くない。そこで、動き検出回路６２には、フレームメモリ６０の８ビットの出力中の例えば上位６ビットが供給される。これにより、動きベクトル検出の信頼性が向上されると共に、回路規模の削減が図れる。
【００２９】
【発明の効果】
この発明によれば、パイプライン演算を行う演算ユニットにリミッタを設けているので、パイプラインのビット数が削減でき、回路規模が縮小できる。フレーム間予測符号化処理では、基準ブロックと候補ブロックとの相関が少なく残差が所定値以上の場合には、その動きベクトルを用いる動き補償は行わず、フレーム内符号化を行っている。このため、このようなリミッタを設けても、画質は劣化しない。また、この発明は、各画素の上位の所定数のビットを使用して残差を演算するので、下位ビットの変化としてのノイズの影響を少なくでき、動きベクトルの検出の信頼性を向上することができる。
【図面の簡単な説明】
【図１】この発明の一実施例のブロック図である。
【図２】この発明の一実施例における演算ユニットの一例のブロック図である。
【図３】この発明の一実施例の説明に用いる略線図である。
【図４】この発明の一実施例の説明に用いる略線図である。
【図５】フレーム間予測符号化装置の一例のブロック図である。
【図６】従来の動きベクトル検出方法の説明に用いる略線図である。
【符号の説明】
１：基準ブロックの画素の入力端子
２：候補ブロックの画素の入力端子
３：演算ユニット
１４：パイプラインレジスタ
１６：リミッタ
【図１】
0003606597.tif 000002
【図２】
0003606597.tif 000003
【図５】
0003606597.tif 000004
【図３】
0003606597.tif 000005
【図４】
0003606597.tif 000006
【図６】
0003606597.tif 000007