JP3620080B2 - Motion vector detection circuit - Google Patents

Motion vector detection circuit Download PDF

Info

Publication number
JP3620080B2
JP3620080B2 JP3174395A JP3174395A JP3620080B2 JP 3620080 B2 JP3620080 B2 JP 3620080B2 JP 3174395 A JP3174395 A JP 3174395A JP 3174395 A JP3174395 A JP 3174395A JP 3620080 B2 JP3620080 B2 JP 3620080B2
Authority
JP
Japan
Prior art keywords
motion vector
sum
circuit
supplied
vector detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP3174395A
Other languages
Japanese (ja)
Other versions
JPH08205167A (en
Inventor
正和 吉本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP3174395A priority Critical patent/JP3620080B2/en
Publication of JPH08205167A publication Critical patent/JPH08205167A/en
Application granted granted Critical
Publication of JP3620080B2 publication Critical patent/JP3620080B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【0001】
【産業上の利用分野】
この発明は、例えば動画像の高能率符号化におけるブロックマッチング法を用いた動きベクトル検出回路に関する。
【0002】
【従来の技術】
動きベクトルの検出方法の1つとして、ブロックマッチング法が知られている。ブロックマッチング法は、例えばマクロブロックが(16×16)画素ごとの評価関数により動きベクトルを求める方法である。一般的に評価関数の演算方法としては、差分絶対値和が用いられる。例えば動画像データの時間方向の冗長度を削減し、データ量の圧縮を行なう高能率符号化方式において動きベクトルの検出が行なわれる。
【0003】
このブロックマッチング法による動きベクトルの検出方法を図11に示す。145は、処理されるフレームである。処理されるフレーム145は(16×16)画素の処理マクロブロック146に分割され、これらのマクロブロックごとに動きベクトルが検出される。参照フレーム141からは、サーチウィンドウ142と呼ばれる動きベクトルを探索する範囲の画素データが切り出される。
【0004】
動きベクトルの評価関数の演算方法としては、サーチウィンドウ内の処理マクロブロックと、処理マクロブロックと同一位置或いはシフトされた位置の候補マクロブロックとの差分絶対値和が一般的に用いられる。即ち、マクロブロック間で対応する位置の画素値の差分が求められ、この差分の絶対値が1マクロブロック分累算したものが差分絶対値和である。差分絶対値の代わりに、差分の二乗和を累算したものを評価関数として用いてもよい。
【0005】
図11において、点線で示す候補マクロブロック143は処理マクロブロック146と対応する位置のものである。実線で示す候補マクロブロック144は、評価関数の値が最小となるものである。この候補マクロブロック144の位置に応じた動きベクトルが求められる。図11に示される動きベクトルの例は、右方向及び下方向が正である座標で(−2,4)と表される。
【0006】
次に、ブロックマッチング法の演算量を削減するため、サブサンプリングパターンを利用する方法がある。マクロブロックが(16×16)画素の大きさの場合の1/2サブサンプリングパターンの例を図12に示す。また、マクロブロックが(4×4)画素の大きさの場合の1/2サブサンプリングパターンの例を図13に示す。
【0007】
白丸及び黒丸は、第1フィールド(#1)の画素を示し、白い四角及び黒い四角は、第2フィールド(#2)の画素を示す。差分絶対値和を計算する際は、白丸及び白い四角の画素のみ差分絶対値和を計算する。これらの1/2サブサンプリングパターンの評価関数を利用すれば、画素数が半分になるのと対応して演算量を1/2に削減することができる。
【0008】
マクロブロックが(4×4)画素の大きさの場合の従来の動きベクトルの検出方法を図14を参照して説明する。上述と同様に、処理されるフレームは(4×4)画素の処理マクロブロック152に分割され、動きベクトルが検出される。参照されるフレーム内の点線で示す候補マクロブロック151が処理マクロブロック152と対応する位置のものである。
【0009】
そして、複数の候補マクロブロック中の太線で示す候補マクロブロック153に関する評価関数が最小の場合には、右方向及び下方向が正である座標で(1,2)と表される動きベクトルが求まる。ここで、垂直方向に関して1マクロブロックを構成する複数の画素(図14では4画素)を単位として帯状に区切られた領域をストライプと称する。図14に示す処理されるフレームの上側半分のストライプを処理ストライプMBと称する。また、参照されるフレームの上側半分のストライプを上段ストライプSW1、下側半分のストライプを下段ストライプSW2とそれぞれ称する。
【0010】
図14に示す動きベクトル検出方法を実現する、従来の動きベクトル検出回路の一例を図15に示す。図15において、上段ストライプSW1のデータが上段ストライプ入力端子161からシリアル・パラレル変換回路164を介して選択回路166に供給される。下段ストライプSW2のデータが下段ストライプ入力端子162からシリアル・パラレル変換回路165を介して選択回路166に供給される。
【0011】
選択回路166の出力がPE(Processor Element 、処理要素)回路167に供給される。処理マクロブロックMBのデータが処理ストライプ入力端子163からPE回路167に供給される。PE回路167の出力が最小値選択回路168を介して出力端子169に供給される。
【0012】
この動きベクトル検出回路は、水平及び垂直方向のそれぞれで0から3までの合計16ポイントの動きベクトルを探索する。選択回路166内の16個のセレクタは、2入力の一方を選択するセレクタである。PE回路167では、各PEごとに差分絶対値和が計算される。最小値選択回路168では、各PEで計算された差分絶対値和を最小とする動きベクトルが選択される。
【0013】
図16にPE回路167内の各PEの回路構成を示す。171は、PEを全体として示す。入力端子172から候補マクロブロック側の画素データが減算器174に供給される。また、減算器174には入力端子173から処理マクロブロック側の画素データが供給される。減算器174の出力が絶対値回路175を介して加算器178に供給される。
【0014】
また、加算器178にはセレクタ177の出力が供給される。加算器178の出力が出力端子180に供給されると共に、遅延回路179を介してセレクタ177に供給される。端子176からは、リセット入力(全て“0”のデータ)がセレクタ177に供給される。これらの加算回路178、セレクタ177、遅延回路179が差分絶対値和を形成する。
【0015】
図17に処理マクロブロック側のPE回路167のPE0からPE15に対する入力データシーケンスを示す。図18にサーチウィンドウ側のPE回路167のPE0からPE15に対する入力データシーケンスを示す。図17及び図18の太線192及び202と点線191及び201のデータは、図14に示す候補マクロブロック153と候補マクロブロック151にそれぞれ対応している。
【0016】
図15に示す動きベクトル検出回路は、1つのPEが1つの候補マクロブロックの評価関数の演算を受け持っている。即ち、1つの動きベクトルに対応している。そして、各画素の差分絶対値和が時間方向の加算で行なわれることによって、評価関数が求められている。
【0017】
【発明が解決しようとする課題】
上述の動きベクトル検出回路において、図13に示すような1/2サブサンプリングパターンの処理マクロブロック(0、2、5、7、8、10、13、15)の番号の画素については、差分絶対値を求める処理が不要である。
【0018】
しかしながら、従来の動きベクトル検出回路で評価関数を求めるために、各画素の差分絶対値が時間方向に加算されるので、サブサンプリングを利用しても16個のセレクタを含む選択回路166と、16個のPEを含むPE回路167を必要とし、回路規模を削減することはできないという問題がある。更に、図12及び図13に示す1/2サブサンプリングパターンよりも、動きベクトルの検出効率を保ちながら更なる演算量及び回路規模の削減が可能となるサブサンプリングパターンが望まれる。
【0019】
従って、この発明の目的は、動きベクトルの検出効率を保ちながら、演算量及び回路規模の削減が可能となる動きベクトル検出回路を提供することにある。
【0020】
【課題を解決するための手段】
この発明は、処理ブロックとサーチウィンドウ内の複数の候補ブロックの各々との対応する画素毎に差分を求め、差分の絶対値和または二乗値和を計算し、絶対値和または二乗値和の最小値から動きベクトルを検出するようにした動きベクトル検出回路において、
サブサンプリングパターンに従って必要とする、処理ブロック内の各画素データを1ブロック周期の間、並列に保持する保持手段と、
サブサンプリングパターンに従って必要とする、異なる候補ブロックの画素データを1ブロック周期毎に並列に発生する並列化手段と、
保持手段からの各画素データが一方の入力として共通に供給されると共に、並列化手段からの候補ブロックの並列化データの各画素データが他方の入力として供給される複数の減算手段と、
複数の減算手段の出力の差分を1ブロック周期毎に積算すると共に、差分の絶対値和または二乗値和を求める積算手段と、
各ブロック周期で積算手段によって求められた差分の絶対値和または二乗値和の中で最小値を検出する検出手段とからなることを特徴とする動きベクトル検出回路である。
【0021】
【作用】
動きベクトル検出回路は、水平及び垂直方向のそれぞれで0から3までの合計16ポイントの動きベクトルを探索する。処理マクロブロックMBのデータはシリアル・パラレル変換回路においてデータは並列化され、更にデータ保持回路で1マクロブロック周期の間、データを保持する。
【0022】
PE回路では各タイムスロット(1ブロック周期)ごとに各PEが各サンプリングの差分絶対値を計算し、積算回路が処理マクロブロックと1つの候補マクロブロック間で生じる16サンプル分の差分絶対値を加算し、差分絶対値和が計算される。最小値選択回路では、計算された差分絶対値和が最小となる動きベクトルが選択される。
【0023】
【実施例】
先ず、この発明の動きベクトル検出回路を利用する高能率符号化方式の一例の概要について説明する。符号化の方法としては、広く知られているMC−DCT(動き補償−離散コサイン変換)符号化方式を例として説明する。
【0024】
図1にMC−DCT符号化方式の回路構成を示す。ディジタル画像信号が入力端子1から動きベクトル検出回路5に供給されると共に、減算器2に供給される。また、減算器2には動き補償回路4の出力が供給される。減算器2の出力がDCT(離散コサイン変換)回路3を介して量子化器6に供給される。量子化器6の出力が可変長符号化回路11に供給されると共に、逆量子化器7に供給される。可変長符号化回路11の出力が出力端子12に供給される。
【0025】
逆量子化器7の出力が逆DCT回路8を介して加算器9に供給される。また、加算器9には動き補償回路4の出力が供給される。加算器9の出力がフレームメモリ10に供給される。フレームメモリ10の出力が動き補償回路4に供給されると共に、動きベクトル検出回路5に供給される。動きベクトル検出回路5の出力(動きベクトル)が動き補償回路4に供給されると共に、出力端子13に供給される。
【0026】
図1において、減算器2で入力画像信号と予測信号の誤差が計算される。予測信号は、フレームメモリ10にある前フレームの信号から動き補償回路4で動き補償されて得られる。動き補償に必要な動きベクトルは、動きベクトル検出回路5で検出される。DCT回路3では、マクロブロックが(8×8)画素程度のブロックに対して2次元DCTが行なわれる。
【0027】
DCT係数は量子化器6で量子化され、量子化レベルを得る。この量子化レベルが可変長符号化回路11に供給され、可変長符号化回路11ではハフマン符号化などにより符号化が行なわれ、バッファメモリを経て伝送、記録される。逆量子化器7でDCT係数を得て、逆DCT回路8で復号された復号信号を得る。ローカル復号されたデータは、フレームメモリ10に蓄えられる。この発明は、動きベクトル検出回路5に関するものである。
【0028】
次に、この発明の一実施例について説明するが、理解の容易のための動きベクトル検出回路の一構成例を図2を参照して説明する。一例として、マクロブロックが(4×4)画素で図14に示すように画素データが配列されている。図2において、上段ストライプSW1のデータ0〜31が上段ストライプ入力端子21からシリアル・パラレル変換回路24を介して選択回路27に供給される。下段ストライプSW2のデータ0〜31が下段ストライプ入力端子22からシリアル・パラレル変換回路25を介して選択回路27に供給される。
【0029】
選択回路27の出力がPE回路29に供給される。処理マクロブロックMBのデータ0〜15が処理ストライプ入力端子23からシリアル・パラレル変換回路26及びデータ保持回路28を介してPE回路29に供給される。PE回路29の出力が積算回路30及び最小値選択回路31を介して出力端子32に供給される。
【0030】
この動きベクトル検出回路は、水平及び垂直方向のそれぞれで0から3までの合計16ポイントの動きベクトルを探索する。処理マクロブロックMBのデータはシリアル・パラレル変換回路26においてデータは並列化され、更にデータ保持回路28で1マクロブロック周期の間、データを保持する。データ保持回路28は、16個の保持回路(SD)を有する。
【0031】
PE回路29では各タイムスロット(1ブロック周期)ごとに各PEが各サンプリングの差分絶対値を計算し、積算回路30が処理マクロブロックと1つの候補マクロブロック間で生じる16サンプル分の差分絶対値を加算し、差分絶対値和が計算される。最小値選択回路31では、計算された差分絶対値和が最小となる動きベクトルが選択される。
【0032】
図3にPE回路29内の各PEの回路構成を示す。この各PEの回路構成は、後述するこの発明の一実施例及び他の実施例の動きベクトル検出回路に共通するものである。41は、PEを全体として示す。入力端子42の出力が減算器44に供給される。また、減算器44には入力端子43の出力が供給される。減算器44の出力が絶対値回路45を介して出力端子46に供給される。
【0033】
図4にデータ保持回路28内の各保持回路の回路構成を示す。この各保持回路の回路構成は、後述するこの発明の一実施例及び他の実施例の動きベクトル検出回路に共通するものである。51は、保持回路を全体として示す。入力端子52の出力がセレクタ53に供給される。また、セレクタ53にはD−フリップフロップ54の出力が供給される。セレクタ53の出力がD−フリップフロップ54に供給されると共に、出力端子55に供給される。
【0034】
図5に処理マクロブロック側のPE回路29のPE0からPE15に対する入力データシーケンスを示す。図6にサーチウィンドウ側のPE回路29のPE0からPE15に対する入力データシーケンスを示す。
【0035】
図5及び図6の太線62及び72と点線61及び71のデータは、図14に示す候補マクロブロック153と候補マクロブロック151にそれぞれ対応している。図2に示す動きベクトル検出回路は、1つのタイムスロットが1つの候補マクロブロックの評価関数の演算、即ち、1つの動きベクトルに対応している。そして、各画素の差分絶対値和が各PEの加算で行なわれる。
【0036】
従来の動きベクトル検出回路では、サブサンプリングの評価関数を利用しても回路規模を削減することができない。それに対して、図2に示す1クロック周期が1つの動きベクトルの評価関数の演算処理に相当するような動きベクトル検出回路であれば、サブサンプリングを利用して回路規模を削減することができる。
【0037】
1/2サブサンプリングパターンを利用する、この発明の一実施例を図7に示す。図7において、上段ストライプSW1のデータが上段ストライプ入力端子81からシリアル・パラレル変換回路84に供給され、並列化したデータの中でサブサンプリングパターンに従って必要とする、画素データのみが選択回路87に供給される。下段ストライプSW2のデータが下段ストライプ入力端子82からシリアル・パラレル変換回路85に供給され、必要とする画素データのみが選択回路87に供給される。
【0038】
選択回路87の出力がPE回路89に供給される。処理マクロブロックMBのデータが処理ストライプ入力端子83からシリアル・パラレル変換回路86及びデータ保持回路88を介してPE回路89に供給される。この場合も、サブサンプリングパターンに従って必要な画素データのみがデータ保持回路88及びPE回路89に供給される。PE回路89の出力が積算回路90及び最小値選択回路91を介して出力端子92に供給される。
【0039】
図7に示すこの発明の一実施例の動きベクトル検出回路と図15に示す従来の動きベクトル検出回路とを比較すると、選択回路87、PE回路89において演算量及び回路規模が半減していることが分かる。
【0040】
次に、ここまでの動きベクトル検出回路はフレーム予測を前提に行なってきたが、フィールド予測と呼ばれる方法も知られている。フレーム予測は、マクロブロック単位に動きベクトルを検出する方法である。一方、フィールド予測はマクロブロックが(16×16)画素の大きさの場合には、それぞれが(8×16)画素の奇数フィールドマクロブロックと偶数フィールドマクロブロックに分け、それぞれ別個に動きベクトルを検出する方法である。
【0041】
この発明の他の実施例を図8に示す。他の実施例は、図2に示す動きベクトル検出回路をフィールド/フレーム予測対応としたものである。但し、サブサンプリングは使用していない。図8において、上段ストライプSW1のデータが上段ストライプ入力端子101からシリアル・パラレル変換回路104を介して選択回路107に供給される。下段ストライプSW2のデータが下段ストライプ入力端子102からシリアル・パラレル変換回路105を介して選択回路107に供給される。
【0042】
選択回路107の出力がPE回路109に供給される。処理マクロブロックMBのデータが処理ストライプ入力端子103からシリアル・パラレル変換回路106及びデータ保持回路108を介してPE回路109に供給される。PE回路109の出力が積算回路110に供給されると共に、積算回路111に供給される。
【0043】
積算回路110の出力が加算器112に供給されると共に、最小値選択回路113を介して出力端子116に供給される。積算回路111の出力が加算器112に供給されると共に、最小値選択回路115を介して出力端子118に供給される。加算器112の出力が最小値選択回路114を介して出力端子117に供給される。
【0044】
図8に示すこの発明の他の実施例の動きベクトル検出回路と図2に示す動きベクトル検出回路とを比較すると、積算回路30を第1フィールド(#1)用の積算回路111と第2フィールド(#2)用の積算回路110に分け、フィールドごとの差分絶対値和を求めるが相違している。また、加算器112によって、2つのフィールドの差分絶対値和を加算することによって、フレーム予測の差分絶対値和を計算することができる。
【0045】
そして、フィールド(#1)用の最小値選択回路115、フィールド(#2)用の最小値選択回路113、フレーム用の最小値選択回路114によりそれぞれフィールド予測、フレーム予測の動きベクトルが選択される。
【0046】
尚、この発明は一実施例及び他の実施例に限定されるものではなく、1/4サブサンプリングパターンの評価関数を利用しても良い。この場合、動きベクトルの検出効率を保つためには、空間的な散らばりのあるサブサンプリングパターンが望ましい。
【0047】
フレーム予測の場合に適したフレーム内での散らばりのある1/4サブサンプリングパターンの例を図9に示す。このサブサンプリングパターンでは差分絶対値和の演算量を1/4に削減できるにもかかわらず、動きベクトルの検出効率を保つことができる。
【0048】
また、フィールド予測の場合に適したフィールド内での散らばりのある1/4サブサンプリングパターンの例を図10に示す。このサブサンプリングパターンでは差分絶対値和の演算量を1/4に削減できるにもかかわらず、動きベクトルの検出効率を保つことができる。このような種々の変形が考えられる。
【0049】
【発明の効果】
この発明は、フィールド予測、フレーム予測等の種々の動きベクトルの検出方法に対応可能である。また、この発明は、従来技術に比べ1/2或いは1/4サブサンプリングパターンから動きベクトルの検出効率を保ちながら、更に大きな演算量及び回路規模の削減を可能とする。
【図面の簡単な説明】
【図1】この発明を説明するための高能率符号化方式のブロック図である。
【図2】この発明を説明するための動きベクトル検出回路のブロック図である。
【図3】この発明の一実施例及び他の実施例に共通する各PEのブロック図である。
【図4】この発明の一実施例及び他の実施例に共通する各保持回路のブロック図である。
【図5】この発明の処理マクロブロック側のPE回路の入力データシーケンスを示す略線図である。
【図6】この発明のサーチウィンドウ側のPE回路の入力データシーケンスを示す略線図である。
【図7】この発明の一実施例の動きベクトル検出回路のブロック図である。
【図8】この発明の他の実施例のフィールド/フレーム予測対応の動きベクトル検出回路のブロック図である。
【図9】この発明に使用できるフレーム予測に適した1/4サブサンプリングパターンの略線図である。
【図10】この発明に使用できるフィールド予測に適した1/4サブサンプリングパターンの略線図である。
【図11】ブロックマッチング法を説明するための略線図である。
【図12】マクロブロックが(16×16)画素の大きさの場合の1/2サブサンプリングパターンの略線図である。
【図13】マクロブロックが(4×4)画素の大きさの場合の1/2サブサンプリングパターンの略線図である。
【図14】マクロブロックが(4×4)画素の大きさの場合の動きベクトルの検出方法を説明するための略線図である。
【図15】従来の動きベクトル検出回路のブロック図である。
【図16】従来の動きベクトル検出回路における各PEのブロック図である。
【図17】従来の動きベクトル検出回路を説明するための入力データシーケンスを示す略線図である。
【図18】従来の動きベクトル検出回路を説明するための入力データシーケンスを示す略線図である。
【符号の説明】
28、88、108 データ保持回路
30、90、110、111 積算回路
31、91、113、114、115 最小値選択回路
112 加算器
[0001]
[Industrial application fields]
The present invention relates to a motion vector detection circuit using a block matching method in, for example, high-efficiency encoding of moving images.
[0002]
[Prior art]
As one of motion vector detection methods, a block matching method is known. The block matching method is a method in which, for example, a macroblock obtains a motion vector using an evaluation function for each (16 × 16) pixel. In general, the sum of absolute differences is used as an evaluation function calculation method. For example, motion vectors are detected in a high-efficiency encoding method that reduces the redundancy of moving image data in the time direction and compresses the data amount.
[0003]
FIG. 11 shows a motion vector detection method using this block matching method. Reference numeral 145 denotes a frame to be processed. The frame 145 to be processed is divided into processing macroblocks 146 of (16 × 16) pixels, and a motion vector is detected for each macroblock. From the reference frame 141, pixel data in a range for searching for a motion vector called a search window 142 is extracted.
[0004]
As a method for calculating a motion vector evaluation function, a sum of absolute differences between a processing macroblock in a search window and a candidate macroblock at the same position as or a position shifted from the processing macroblock is generally used. That is, the difference between pixel values at corresponding positions between macroblocks is obtained, and the sum of absolute values of differences is obtained by accumulating the absolute value of this difference for one macroblock. Instead of absolute differences may be used after accumulating square value sum of the differences as an evaluation function.
[0005]
In FIG. 11, candidate macroblocks 143 indicated by dotted lines are those corresponding to processing macroblocks 146. The candidate macroblock 144 indicated by the solid line has the smallest evaluation function value. A motion vector corresponding to the position of the candidate macroblock 144 is obtained. The example of the motion vector shown in FIG. 11 is expressed as (−2, 4) in the coordinates where the right direction and the downward direction are positive.
[0006]
Next, there is a method of using a sub-sampling pattern in order to reduce the calculation amount of the block matching method. FIG. 12 shows an example of a 1/2 sub-sampling pattern when the macroblock has a size of (16 × 16) pixels. FIG. 13 shows an example of a 1/2 sub-sampling pattern when the macro block has a size of (4 × 4) pixels.
[0007]
White circles and black circles indicate pixels in the first field (# 1), and white squares and black squares indicate pixels in the second field (# 2). When calculating the sum of absolute differences, the sum of absolute differences is calculated only for white circles and white square pixels. If the evaluation function of these 1/2 sub-sampling patterns is used, the amount of calculation can be reduced to 1/2 corresponding to the fact that the number of pixels is halved.
[0008]
A conventional motion vector detection method when the macroblock has a size of (4 × 4) pixels will be described with reference to FIG. As described above, the frame to be processed is divided into processing macroblocks 152 of (4 × 4) pixels, and motion vectors are detected. A candidate macroblock 151 indicated by a dotted line in the frame to be referred to is a position corresponding to the processing macroblock 152.
[0009]
When the evaluation function related to the candidate macroblock 153 indicated by the thick line in the plurality of candidate macroblocks is minimum, a motion vector represented by (1,2) is obtained with the coordinates in the right direction and the downward direction being positive. . Here, a region divided into strips in units of a plurality of pixels (four pixels in FIG. 14) constituting one macroblock in the vertical direction is referred to as a stripe. The upper half stripe of the processed frame shown in FIG. 14 is referred to as a processed stripe MB . Further, the upper half stripe of the frame to be referred to is referred to as an upper stripe SW1, and the lower half stripe is referred to as a lower stripe SW2 .
[0010]
FIG. 15 shows an example of a conventional motion vector detection circuit that realizes the motion vector detection method shown in FIG. In FIG. 15, the data of the upper stripe SW 1 is supplied from the upper stripe input terminal 161 to the selection circuit 166 via the serial / parallel conversion circuit 164. Data of the lower stripe SW2 is supplied from the lower stripe input terminal 162 to the selection circuit 166 via the serial / parallel conversion circuit 165.
[0011]
The output of the selection circuit 166 is supplied to a PE (Processor Element, processing element) circuit 167. Data of the processing macro block MB is supplied from the processing stripe input terminal 163 to the PE circuit 167. The output of the PE circuit 167 is supplied to the output terminal 169 via the minimum value selection circuit 168.
[0012]
This motion vector detection circuit searches for motion vectors of a total of 16 points from 0 to 3 in the horizontal and vertical directions. The 16 selectors in the selection circuit 166 are selectors that select one of the two inputs. The PE circuit 167 calculates the sum of absolute differences for each PE. The minimum value selection circuit 168 selects a motion vector that minimizes the sum of absolute differences calculated by each PE.
[0013]
FIG. 16 shows a circuit configuration of each PE in the PE circuit 167. Reference numeral 171 denotes PE as a whole. Pixel data on the candidate macroblock side is supplied to the subtracter 174 from the input terminal 172. The subtracter 174 is supplied with pixel data on the processing macroblock side from the input terminal 173. The output of the subtracter 174 is supplied to the adder 178 via the absolute value circuit 175.
[0014]
The adder 178 is supplied with the output of the selector 177. The output of the adder 178 is supplied to the output terminal 180 and also supplied to the selector 177 via the delay circuit 179. From the terminal 176, a reset input (all “0” data) is supplied to the selector 177. The adder circuit 178, selector 177, and delay circuit 179 form a sum of absolute differences.
[0015]
FIG. 17 shows an input data sequence for PE0 to PE15 of the PE circuit 167 on the processing macroblock side. FIG. 18 shows an input data sequence for PE0 to PE15 of the PE circuit 167 on the search window side. Data of thick lines 192 and 202 and dotted lines 191 and 201 in FIGS. 17 and 18 correspond to the candidate macroblock 153 and the candidate macroblock 151 shown in FIG. 14, respectively.
[0016]
In the motion vector detection circuit shown in FIG. 15, one PE is responsible for the calculation of the evaluation function of one candidate macroblock. That is, it corresponds to one motion vector. Then, an evaluation function is obtained by performing the sum of absolute differences of each pixel by addition in the time direction.
[0017]
[Problems to be solved by the invention]
In the motion vector detection circuit described above, the absolute difference is applied to the pixels of the numbers of the processing macro blocks (0, 2, 5, 7, 8, 10, 13, 15) of the 1/2 sub-sampling pattern as shown in FIG. No processing for obtaining a value is required.
[0018]
However, since the absolute difference value of each pixel is added in the time direction in order to obtain the evaluation function by the conventional motion vector detection circuit, a selection circuit 166 including 16 selectors even if subsampling is used, There is a problem that a PE circuit 167 including one PE is required, and the circuit scale cannot be reduced. Furthermore, a sub-sampling pattern that can further reduce the amount of calculation and the circuit scale while maintaining the motion vector detection efficiency is desired as compared to the ½ sub-sampling pattern shown in FIGS.
[0019]
Accordingly, an object of the present invention is to provide a motion vector detection circuit capable of reducing the amount of calculation and the circuit scale while maintaining motion vector detection efficiency.
[0020]
[Means for Solving the Problems]
The present invention obtains a difference for each corresponding pixel between a processing block and each of a plurality of candidate blocks in a search window, calculates an absolute value sum or a square value sum of the differences , and calculates a minimum of the absolute value sum or the square value sum . In a motion vector detection circuit that detects a motion vector from a value,
Holding means for holding each pixel data in the processing block required in accordance with the sub-sampling pattern in parallel for one block period;
Parallelizing means for generating pixel data of different candidate blocks required in accordance with the sub-sampling pattern in parallel for each block period;
A plurality of subtracting means to which each pixel data from the holding means is commonly supplied as one input and each pixel data of the parallelized data of the candidate block from the parallelizing means is supplied as the other input;
A summing means for summing up the differences of the outputs of the plurality of subtracting means for each block period , and for obtaining the sum of absolute values or sum of squares of the differences ;
It is a motion vector detection circuit comprising detection means for detecting the minimum value of the sum of absolute values or the sum of square values of differences obtained by the integration means in each block period.
[0021]
[Action]
The motion vector detection circuit searches for motion vectors of a total of 16 points from 0 to 3 in the horizontal and vertical directions. The data of the processing macroblock MB is parallelized in the serial / parallel conversion circuit, and the data is held in the data holding circuit for one macroblock cycle.
[0022]
In the PE circuit, each PE calculates the absolute value of each sampling difference for each time slot (one block period), and the integrating circuit adds the absolute value of 16 samples generated between the processing macroblock and one candidate macroblock. Then, the sum of absolute differences is calculated. In the minimum value selection circuit, a motion vector that minimizes the calculated sum of absolute differences is selected.
[0023]
【Example】
First, an outline of an example of a high-efficiency encoding method using the motion vector detection circuit of the present invention will be described. As an encoding method, a widely known MC-DCT (motion compensation-discrete cosine transform) encoding method will be described as an example.
[0024]
FIG. 1 shows a circuit configuration of the MC-DCT encoding method. The digital image signal is supplied from the input terminal 1 to the motion vector detection circuit 5 and also supplied to the subtracter 2. The subtracter 2 is supplied with the output of the motion compensation circuit 4. The output of the subtracter 2 is supplied to the quantizer 6 via a DCT (discrete cosine transform) circuit 3. The output of the quantizer 6 is supplied to the variable length encoding circuit 11 and also supplied to the inverse quantizer 7. The output of the variable length coding circuit 11 is supplied to the output terminal 12.
[0025]
The output of the inverse quantizer 7 is supplied to the adder 9 via the inverse DCT circuit 8. The adder 9 is supplied with the output of the motion compensation circuit 4. The output of the adder 9 is supplied to the frame memory 10. The output of the frame memory 10 is supplied to the motion compensation circuit 4 and also to the motion vector detection circuit 5. The output (motion vector) of the motion vector detection circuit 5 is supplied to the motion compensation circuit 4 and also supplied to the output terminal 13.
[0026]
In FIG. 1, the subtracter 2 calculates an error between the input image signal and the prediction signal. The prediction signal is obtained by motion compensation from the signal of the previous frame in the frame memory 10 by the motion compensation circuit 4. A motion vector necessary for motion compensation is detected by the motion vector detection circuit 5. In the DCT circuit 3, two-dimensional DCT is performed on a block having a macroblock of about (8 × 8) pixels.
[0027]
The DCT coefficient is quantized by the quantizer 6 to obtain a quantization level. This quantization level is supplied to the variable length coding circuit 11, where the variable length coding circuit 11 performs coding by Huffman coding or the like, and transmits and records it through a buffer memory. A DCT coefficient is obtained by the inverse quantizer 7 and a decoded signal decoded by the inverse DCT circuit 8 is obtained. The locally decoded data is stored in the frame memory 10. The present invention relates to a motion vector detection circuit 5.
[0028]
Next, an embodiment of the present invention will be described. An example of the configuration of a motion vector detection circuit for easy understanding will be described with reference to FIG. As an example, the macro block is (4 × 4) pixels and pixel data is arranged as shown in FIG. In FIG. 2, data 0 to 31 of the upper stripe SW 1 are supplied from the upper stripe input terminal 21 to the selection circuit 27 via the serial / parallel conversion circuit 24. Data 0 to 31 of the lower stripe SW 2 is supplied from the lower stripe input terminal 22 to the selection circuit 27 via the serial / parallel conversion circuit 25.
[0029]
The output of the selection circuit 27 is supplied to the PE circuit 29. Data 0 to 15 of the processing macroblock MB are supplied from the processing stripe input terminal 23 to the PE circuit 29 via the serial / parallel conversion circuit 26 and the data holding circuit 28. The output of the PE circuit 29 is supplied to the output terminal 32 via the integration circuit 30 and the minimum value selection circuit 31.
[0030]
This motion vector detection circuit searches for motion vectors of a total of 16 points from 0 to 3 in the horizontal and vertical directions. The data of the processing macroblock MB is parallelized in the serial / parallel conversion circuit 26, and the data is held in the data holding circuit 28 for one macroblock period. The data holding circuit 28 has 16 holding circuits (SD).
[0031]
In the PE circuit 29, each PE calculates the difference absolute value of each sampling every time slot (one block period), and the integration circuit 30 calculates the difference absolute value of 16 samples generated between the processing macro block and one candidate macro block. And the sum of absolute differences is calculated. The minimum value selection circuit 31 selects a motion vector that minimizes the calculated sum of absolute differences.
[0032]
FIG. 3 shows the circuit configuration of each PE in the PE circuit 29. The circuit configuration of each PE is common to the motion vector detection circuit of one embodiment and other embodiments of the present invention described later. 41 shows PE as a whole. The output of the input terminal 42 is supplied to the subtracter 44. The subtracter 44 is supplied with the output of the input terminal 43. The output of the subtracter 44 is supplied to the output terminal 46 via the absolute value circuit 45.
[0033]
FIG. 4 shows a circuit configuration of each holding circuit in the data holding circuit 28. The circuit configuration of each holding circuit is common to the motion vector detection circuits of one embodiment of the present invention and other embodiments described later. Reference numeral 51 denotes a holding circuit as a whole. The output of the input terminal 52 is supplied to the selector 53. The selector 53 is supplied with the output of the D flip-flop 54. The output of the selector 53 is supplied to the D-flip flop 54 and also supplied to the output terminal 55.
[0034]
FIG. 5 shows an input data sequence for PE0 to PE15 of the PE circuit 29 on the processing macroblock side. FIG. 6 shows an input data sequence for PE0 to PE15 of the PE circuit 29 on the search window side.
[0035]
The data of the thick lines 62 and 72 and the dotted lines 61 and 71 in FIGS. 5 and 6 correspond to the candidate macroblock 153 and the candidate macroblock 151 shown in FIG. 14, respectively. In the motion vector detection circuit shown in FIG. 2, one time slot corresponds to the calculation of the evaluation function of one candidate macroblock, that is, one motion vector. Then, the sum of absolute differences of each pixel is performed by adding each PE.
[0036]
In the conventional motion vector detection circuit, the circuit scale cannot be reduced even if the sub-sampling evaluation function is used. On the other hand, if it is a motion vector detection circuit in which one clock cycle shown in FIG. 2 corresponds to the calculation processing of one motion vector evaluation function, the circuit scale can be reduced using subsampling.
[0037]
One embodiment of the present invention utilizing a 1/2 sub-sampling pattern is shown in FIG. In FIG. 7, the data of the upper stripe SW1 is supplied from the upper stripe input terminal 81 to the serial / parallel conversion circuit 84, and only the pixel data required according to the sub-sampling pattern among the parallelized data is supplied to the selection circuit 87. Is done. Data of the lower stripe SW 2 is supplied from the lower stripe input terminal 82 to the serial / parallel conversion circuit 85, and only necessary pixel data is supplied to the selection circuit 87.
[0038]
The output of the selection circuit 87 is supplied to the PE circuit 89. Data of the processing macroblock MB is supplied from the processing stripe input terminal 83 to the PE circuit 89 via the serial / parallel conversion circuit 86 and the data holding circuit 88. Also in this case, only necessary pixel data is supplied to the data holding circuit 88 and the PE circuit 89 according to the sub-sampling pattern. The output of the PE circuit 89 is supplied to the output terminal 92 via the integration circuit 90 and the minimum value selection circuit 91.
[0039]
Comparing the motion vector detection circuit of one embodiment of the present invention shown in FIG. 7 with the conventional motion vector detection circuit shown in FIG. 15, the selection circuit 87 and the PE circuit 89 have a calculation amount and circuit scale reduced by half. I understand.
[0040]
Next, the motion vector detection circuit so far has been performed on the premise of frame prediction, but a method called field prediction is also known. Frame prediction is a method of detecting a motion vector for each macroblock. On the other hand, in the field prediction, when the macroblock is (16 × 16) pixels in size, each is divided into an odd field macroblock and an even field macroblock each having (8 × 16) pixels, and a motion vector is detected separately. It is a method to do.
[0041]
Another embodiment of the present invention is shown in FIG. In another embodiment, the motion vector detection circuit shown in FIG. 2 is adapted for field / frame prediction. However, subsampling is not used. In FIG. 8, the data of the upper stripe SW 1 is supplied from the upper stripe input terminal 101 to the selection circuit 107 via the serial / parallel conversion circuit 104. The data of the lower stripe SW 2 is supplied from the lower stripe input terminal 102 to the selection circuit 107 via the serial / parallel conversion circuit 105.
[0042]
The output of the selection circuit 107 is supplied to the PE circuit 109. Data of the processing macroblock MB is supplied from the processing stripe input terminal 103 to the PE circuit 109 via the serial / parallel conversion circuit 106 and the data holding circuit 108. The output of the PE circuit 109 is supplied to the integrating circuit 110 and also supplied to the integrating circuit 111.
[0043]
The output of the integrating circuit 110 is supplied to the adder 112 and also supplied to the output terminal 116 via the minimum value selection circuit 113. The output of the integrating circuit 111 is supplied to the adder 112 and also supplied to the output terminal 118 via the minimum value selection circuit 115. The output of the adder 112 is supplied to the output terminal 117 via the minimum value selection circuit 114.
[0044]
Comparing the motion vector detection circuit of another embodiment of the present invention shown in FIG. 8 with the motion vector detection circuit shown in FIG. 2, the integration circuit 30 is integrated with the integration circuit 111 for the first field (# 1) and the second field. It is divided into the integration circuit 110 for (# 2), and the difference absolute value sum for each field is obtained but is different. Further, the sum of absolute differences of two fields can be added by the adder 112, thereby calculating the sum of absolute differences of frame prediction.
[0045]
The field (# 1) minimum value selection circuit 115, the field (# 2) minimum value selection circuit 113, and the frame minimum value selection circuit 114 select field prediction and frame prediction motion vectors, respectively. .
[0046]
The present invention is not limited to one embodiment and other embodiments, and an evaluation function of a 1/4 sub-sampling pattern may be used. In this case, in order to maintain motion vector detection efficiency, a sub-sampling pattern with spatial dispersion is desirable.
[0047]
FIG. 9 shows an example of a 1/4 sub-sampling pattern having scattering within a frame suitable for frame prediction. Although this sub-sampling pattern can reduce the calculation amount of the sum of absolute differences to ¼, the motion vector detection efficiency can be maintained.
[0048]
Further, FIG. 10 shows an example of a 1/4 sub-sampling pattern having scattering in the field suitable for the field prediction. Although this sub-sampling pattern can reduce the calculation amount of the sum of absolute differences to ¼, the motion vector detection efficiency can be maintained. Such various modifications are conceivable.
[0049]
【The invention's effect】
The present invention is applicable to various motion vector detection methods such as field prediction and frame prediction. Further, the present invention makes it possible to further reduce the calculation amount and the circuit scale while maintaining the motion vector detection efficiency from the 1/2 or 1/4 sub-sampling pattern as compared with the prior art.
[Brief description of the drawings]
FIG. 1 is a block diagram of a high-efficiency encoding method for explaining the present invention.
FIG. 2 is a block diagram of a motion vector detection circuit for explaining the present invention.
FIG. 3 is a block diagram of each PE common to one embodiment and another embodiment of the present invention.
FIG. 4 is a block diagram of each holding circuit common to one embodiment and another embodiment of the present invention.
FIG. 5 is a schematic diagram showing an input data sequence of a PE circuit on the processing macroblock side according to the present invention.
FIG. 6 is a schematic diagram showing an input data sequence of a PE circuit on the search window side according to the present invention.
FIG. 7 is a block diagram of a motion vector detection circuit according to an embodiment of the present invention.
FIG. 8 is a block diagram of a motion vector detection circuit corresponding to field / frame prediction according to another embodiment of the present invention.
FIG. 9 is a schematic diagram of a quarter subsampling pattern suitable for frame prediction that can be used in the present invention.
FIG. 10 is a schematic diagram of a quarter subsampling pattern suitable for field prediction that can be used in the present invention.
FIG. 11 is a schematic diagram for explaining a block matching method;
FIG. 12 is a schematic diagram of a ½ sub-sampling pattern when a macro block has a size of (16 × 16) pixels.
FIG. 13 is a schematic diagram of a ½ sub-sampling pattern when a macroblock has a size of (4 × 4) pixels.
FIG. 14 is a schematic diagram for explaining a motion vector detection method when a macroblock has a size of (4 × 4) pixels.
FIG. 15 is a block diagram of a conventional motion vector detection circuit.
FIG. 16 is a block diagram of each PE in a conventional motion vector detection circuit.
FIG. 17 is a schematic diagram showing an input data sequence for explaining a conventional motion vector detection circuit;
FIG. 18 is a schematic diagram showing an input data sequence for explaining a conventional motion vector detection circuit;
[Explanation of symbols]
28, 88, 108 Data holding circuit 30, 90, 110, 111 Integration circuit 31, 91, 113, 114, 115 Minimum value selection circuit 112 Adder

Claims (3)

処理ブロックとサーチウィンドウ内の複数の候補ブロックの各々との対応する画素毎に差分を求め、上記差分の絶対値和または二乗値和を計算し、上記絶対値和または二乗値和の最小値から動きベクトルを検出するようにした動きベクトル検出回路において、
サブサンプリングパターンに従って必要とする、上記処理ブロック内の各画素データを1ブロック周期の間、並列に保持する保持手段と、
サブサンプリングパターンに従って必要とする、異なる上記候補ブロックの画素データを1ブロック周期毎に並列に発生する並列化手段と、
上記保持手段からの各画素データが一方の入力として共通に供給されると共に、上記並列化手段からの上記候補ブロックの並列化データの各画素データが他方の入力として供給される複数の減算手段と、
複数の上記減算手段の出力の差分を1ブロック周期毎に積算すると共に、上記差分の絶対値和または二乗値和を求める積算手段と、
各ブロック周期で上記積算手段によって求められた上記差分の絶対値和または二乗値和の中で最小値を検出する検出手段とからなることを特徴とする動きベクトル検出回路。
Calculates the difference in the corresponding each pixel and each of the plurality of candidate blocks in the processing block and the search window, the absolute value sum or square value sum of the difference calculated from the minimum value of the absolute value sum or square value sum the In a motion vector detection circuit configured to detect a motion vector,
Holding means for holding each pixel data in the processing block required in accordance with the sub-sampling pattern in parallel for one block period;
Parallelizing means for generating pixel data of different candidate blocks required in accordance with the sub-sampling pattern in parallel for each block period;
A plurality of subtracting means to which each pixel data from the holding means is commonly supplied as one input and each pixel data of the parallelized data of the candidate block from the parallelizing means is supplied as the other input; ,
A summing means for summing up the differences of the outputs of the plurality of subtracting means for each block period , and for obtaining an absolute value sum or a square value sum of the differences ;
A motion vector detection circuit comprising: detection means for detecting a minimum value among the absolute value sum or the square value sum of the differences obtained by the integration means in each block period.
請求項1に記載の動きベクトル検出回路において、
フィールド内で動きベクトルを検出する場合にはフィールド内で、フレーム内で動きベクトルを検出する場合にはフレーム内で、、動きベクトル検出に使用する画素データの隣接するもの同士が水平方向および垂直方向において連続しないように、上記サブサンプリングパターンを選定することを特徴とする動きベクトル検出回路。
The motion vector detection circuit according to claim 1,
When detecting motion vectors in the field, within the field , when detecting motion vectors within the frame, within the frame, adjacent pixel data used for motion vector detection are in the horizontal and vertical directions. as not continuous in the motion vector detection circuit, characterized by selecting the sub-sampling pattern.
処理ブロックとサーチウィンドウ内の複数の候補ブロックの各々との対応する画素毎に差分を求め、上記差分の絶対値和または二乗値和を計算し、上記絶対値和または二乗値和の最小値から動きベクトルを検出するようにした動きベクトル検出回路において、
上記処理ブロック内の各画素データを1ブロック周期の間、並列に保持する保持手段と、
異なる上記候補ブロックの画素データを1ブロック周期毎に並列に発生する並列化手段と、
上記保持手段から第1のフィールドの各画素データが一方の入力として共通に供給されると共に、上記並列化手段からの上記候補ブロックの上記第1のフィールドの並列化データの各画素データが他方の入力として供給される複数の第1の減算手段と、
上記保持手段から第2のフィールドの各画素データが一方の入力として共通に供給されると共に、上記並列化手段からの上記候補ブロックの上記第2のフィールドの並列化データの各画素データが他方の入力として供給される複数の第2の減算手段と、
複数の上記第1の減算手段の出力を1ブロック周期毎に積算すると共に、上記差分の絶対値和または二乗値和を求める第1の積算手段と、
複数の上記第2の減算手段の出力を1ブロック周期毎に積算すると共に、上記差分の絶対値和または二乗値和を求める第2の積算手段と、
各ブロック周期で上記第1の積算手段によって求められた上記差分の絶対値和または二乗値和の中で最小値を検出する第1の検出手段と
各ブロック周期で上記第2の積算手段によって求められた上記差分の絶対値和または二乗値和の中で最小値を検出する第2の検出手段と
上記第1の積算手段と上記第2の積算手段により求められたそれぞれの上記差分の絶対値和または二乗値和を合成し、合成された絶対値和または二乗値和の中で最小値を検出する第3の検出手段からなり、
上記第1の検出手段および上記第2の検出手段によって上記第1のフィールドおよび第2のフィールドの動きベクトルを求めると共に、上記第3の積算手段によってフレームの動きベクトルを求めるようにしたことを特徴とする動きベクトル検出回路。
Calculates the difference in the corresponding each pixel and each of the plurality of candidate blocks in the processing block and the search window, the absolute value sum or square value sum of the difference calculated from the minimum value of the absolute value sum or square value sum the In a motion vector detection circuit configured to detect a motion vector,
Holding means for holding each pixel data in the processing block in parallel for one block period;
Parallelizing means for generating pixel data of different candidate blocks in parallel for each block period;
Each pixel data of the first field from the holding unit is commonly supplied as one input, and each pixel data of the parallelized data of the first field of the candidate block from the parallelizing unit is supplied to the other A plurality of first subtracting means supplied as input;
Each pixel data of the second field from the holding means is commonly supplied as one input, and each pixel data of the parallel data of the second field of the candidate block from the parallelizing means is supplied to the other A plurality of second subtracting means supplied as input;
A first summing means for summing up the outputs of the plurality of first subtracting means for each block period, and for obtaining an absolute value sum or a square value sum of the differences ;
A second summing means for summing up the outputs of the plurality of second subtracting means for each block period and obtaining the sum of absolute values or sum of squares of the differences ;
The first detecting means for detecting the minimum value of the sum of absolute values or the sum of square values of the differences obtained by the first integrating means in each block period and the second integrating means in each block period. is absolute value sum or square value second detection means and said first integrating means and said second absolute value of each of the difference calculated by the integrating means for detecting a minimum value among the sum of the difference Comprising a third detection means for synthesizing a sum of sums or square values and detecting a minimum value in the sum of absolute values or sum of squares ;
The motion vectors of the first field and the second field are obtained by the first detection means and the second detection means, and the motion vector of the frame is obtained by the third integration means. A motion vector detection circuit.
JP3174395A 1995-01-28 1995-01-28 Motion vector detection circuit Expired - Fee Related JP3620080B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3174395A JP3620080B2 (en) 1995-01-28 1995-01-28 Motion vector detection circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3174395A JP3620080B2 (en) 1995-01-28 1995-01-28 Motion vector detection circuit

Publications (2)

Publication Number Publication Date
JPH08205167A JPH08205167A (en) 1996-08-09
JP3620080B2 true JP3620080B2 (en) 2005-02-16

Family

ID=12339518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3174395A Expired - Fee Related JP3620080B2 (en) 1995-01-28 1995-01-28 Motion vector detection circuit

Country Status (1)

Country Link
JP (1) JP3620080B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8422559B2 (en) * 2007-10-10 2013-04-16 Mediatek Inc. Matching-pixel sub-sampling motion estimation method for video compression

Also Published As

Publication number Publication date
JPH08205167A (en) 1996-08-09

Similar Documents

Publication Publication Date Title
US6430317B1 (en) Method and apparatus for estimating motion using block features obtained from an M-ary pyramid
KR0171146B1 (en) Feature point based motion vectors detecting apparatus
KR100648596B1 (en) Method and motion estimation system for obtaining a motion vector, computer program product, and method and system for converting a frame of digital video data
RU2608674C2 (en) Moving image encoding device, moving image decoding device, moving image encoding method and moving image decoding method
EP1138152B8 (en) Method and apparatus for performing hierarchical motion estimation using nonlinear pyramid
US8023562B2 (en) Real-time video coding/decoding
EP0976251B1 (en) Method and arrangement for video coding
KR100739281B1 (en) Motion estimation method and appratus
KR20100015456A (en) A method and an apparatus for processing a video signal
CN1054248C (en) A motion vector processor for compressing video signal
JP3655651B2 (en) Data processing device
CN1306649A (en) Decoding encoded image having first resolution directly into decoded image having second resolution
WO1998026601A1 (en) Picture encoder and picture decoder
JPH08307874A (en) Video signal encoding device
KR20030007087A (en) Motion estimation apparatus and method for scanning a reference macroblock window in a search area
US20050123039A1 (en) Motion estimation method for motion picture encoding and recording medium having program recorded thereon to implement the motion estimation method
KR100955414B1 (en) Unit for and method of estimating a current motion vector
EP0966836B1 (en) Methods and apparatus for comparing blocks of pixels
KR100431013B1 (en) Image encoding system
KR0181029B1 (en) Apparatus for selecting a feature point by using edge
JP3620080B2 (en) Motion vector detection circuit
JP6875802B2 (en) Image coding device and its control method, imaging device and program
US20050213662A1 (en) Method of compression and digital imaging device employing compression algorithm
Ramachandran et al. FPGA implementation of a novel, fast motion estimation algorithm for real-time video compression
JP3309519B2 (en) Motion vector detection device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041004

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041108

LAPS Cancellation because of no payment of annual fees