JP2003125415A - Image processor, and motion estimation method - Google Patents

Image processor, and motion estimation method

Info

Publication number
JP2003125415A
JP2003125415A JP2002199065A JP2002199065A JP2003125415A JP 2003125415 A JP2003125415 A JP 2003125415A JP 2002199065 A JP2002199065 A JP 2002199065A JP 2002199065 A JP2002199065 A JP 2002199065A JP 2003125415 A JP2003125415 A JP 2003125415A
Authority
JP
Japan
Prior art keywords
macroblock
current
storage element
reference macroblock
image processing
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.)
Pending
Application number
JP2002199065A
Other languages
Japanese (ja)
Inventor
Jin-Hyun Cho
眞 顯 趙
Hyung-Lae Roh
亨 來 盧
Yun Tae Lee
潤 泰 李
Byeung-Woo Jeon
炳 宇 全
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from US10/112,011 external-priority patent/US20030012281A1/en
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2003125415A publication Critical patent/JP2003125415A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an image processor where the number of times of occurrence of commands for loading new reference masks block to a register decreases, accordingly which can perform motion estimation more quickly. SOLUTION: A motion estimation technique is one for comparing other reference macro blocks with a present macro block within a search area. A motion vector to the present macro block is obtained by a reference macro block matching closest to the present macro block. To reduce the number of commands required for loading a new reference macro block, for a section where reference macro blocks are overlapped, they are used again, and only to a section where they are not overlapped, a new reference macro block is loaded from a memory storage.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明はイメージプロセッシ
ング装置及び映像圧縮のための動き推定方法に係り、特
に映像データが貯蔵されたメモリのアクセスを減らすこ
とによりパワー消耗を減少させ、動き推定時間を短縮で
きる動き推定装置及びその方法と探索領域でのリファレ
ンスマクロブロック窓の移動方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing apparatus and a motion estimation method for video compression, and more particularly, to reduce power consumption by reducing access to a memory storing video data to shorten motion estimation time. The present invention relates to a possible motion estimation apparatus and method, and a reference macroblock window moving method in a search area.

【0002】[0002]

【従来の技術】ビデオエンコーダはH.261、H.2
63、MPEG−1、MPEG−2、MPEG−4、M
PEG−7及びMPEG−21のようなビデオ圧縮の国
際標準によるビットストリームを生成する。このような
標準はデータ貯蔵、インターネット基盤のイメージサー
ビス、娯楽、デジタル放送、携帯用映像端末機などに広
範囲に応用される。
2. Description of the Related Art A video encoder is an H.264 standard. 261, H.264. Two
63, MPEG-1, MPEG-2, MPEG-4, M
Generate bitstreams according to international standards for video compression such as PEG-7 and MPEG-21. Such standards are widely applied to data storage, Internet-based image services, entertainment, digital broadcasting, portable video terminals, and so on.

【0003】ビデオ圧縮標準は現在フレームが多数のマ
クロブロック(MBs)に分けられた動き推定を利用す
る。リファレンスフレームの探索領域で現在マクロブロ
ックと他のリファレンスマクロブロック間に存在する類
似しない程度(dissimilarity、以下「相
異度」と言う)が計算される。探索領域で現在マクロブ
ロックと最も類似した、すなわち相異度が最小のリファ
レンスマクロブロックは「整合ブロック」として選択さ
れる。そして、現在マクロブロックと整合ブロック間の
位相差を示す動きベクトルが符号化される。ここで、位
相差は現在マクロブロックと整合ブロック間の位置差を
参照して求める。このように、現在マクロブロックに対
する動きベクトルだけ伝送されることにより、少量デー
タが伝送されたりまたは貯蔵される。
Video compression standards utilize motion estimation in which the current frame is divided into a number of macroblocks (MBs). The degree of dissimilarity (dissimilarity, hereinafter referred to as “difference”) existing between the current macroblock and another reference macroblock in the search area of the reference frame is calculated. The reference macroblock that is most similar to the current macroblock in the search area, that is, has the smallest degree of difference is selected as the “matching block”. Then, the motion vector indicating the phase difference between the current macroblock and the matching block is encoded. Here, the phase difference is obtained by referring to the position difference between the current macroblock and the matching block. Thus, a small amount of data is transmitted or stored by transmitting only the motion vector for the current macroblock.

【0004】図1は現在マクロブロックと探索領域との
関係を示す図面である。QCIF(Quarter C
ommon Intermediate Format)
によれば、1フレームは176×144画素よりなり、
現在フレーム2は99個の現在マクロブロックよりな
り、それぞれの現在マクロブロックは16×16画素よ
りなる。リファレンスフレーム4で現在マクロブロック
10に対する動きベクトルが計算され、リファレンスフ
レーム4で探索領域12は48×48画素よりなる。
FIG. 1 is a diagram showing a relationship between a current macroblock and a search area. QCIF (Quarter C
(ommon Intermediate Format)
According to, one frame consists of 176 x 144 pixels,
The current frame 2 is composed of 99 current macroblocks, and each current macroblock is composed of 16 × 16 pixels. In the reference frame 4, the motion vector for the current macroblock 10 is calculated, and in the reference frame 4, the search area 12 has 48 × 48 pixels.

【0005】探索領域12にて、現在マクロブロック1
0と最類似の16×16のリファレンスマクロブロック
は整合ブロックと定義される。現在マクロブロックとリ
ファレンスマクロブロック間の相異度はさまざまな異な
る方法で計算されうる。例えば、MAD(Mean o
f the Absolute Differenc
e)、MAE(Mean of the Absolut
e Error)、SAD(Sum of the Abs
olute Difference)などが利用され、
これら方法のうち減算動作と累算動作とだけが必要なS
ADが最も多用される。
In the search area 12, the current macroblock 1
The 16x16 reference macroblock most similar to 0 is defined as a matching block. The dissimilarity between the current macroblock and the reference macroblock can be calculated in various different ways. For example, MAD (Mean o
f the Absolute Difference
e), MAE (Mean of the Absolute)
e Error), SAD (Sum of the Abs)
such as "Olute Difference" is used,
Of these methods, S that requires only subtraction and accumulation
AD is most often used.

【0006】図2は各画素10−1及び14−1が32
ビットレジスタ15,17にそれぞれローディングされ
る基本的な全域探索を示す図面である。SADはALU
(Arithmetic Logic Unit)30を
利用して計算される。現在マクロブロック10及びリフ
ァレンスブロック14はどちらもメモリに貯蔵されてお
り、ALU30により比較される前に32ビットレジス
タ15,17に画素単位でそれぞれローディングされ
る。探索領域12に存在するリファレンスマクロブロッ
ク14a,14b,14c,...は現在マクロブロッ
ク10と画素単位で比較される。
In FIG. 2, each pixel 10-1 and 14-1 has 32 pixels.
18 is a diagram showing a basic global search loaded into bit registers 15 and 17, respectively. SAD is ALU
(Arithmetic Logic Unit) 30 is used for the calculation. Both the macro block 10 and the reference block 14 are currently stored in the memory, and loaded into the 32-bit registers 15 and 17 pixel by pixel before being compared by the ALU 30. The reference macroblocks 14a, 14b, 14c ,. . . Are compared pixel-by-pixel with the current macroblock 10.

【0007】このような簡単な思想の推定方法は高い正
確度を提供する。しかし、計算量が多いために伝送率に
限界がある。また、この方法はパソコンに利用されるC
PUのように、処理能力の限界がある一般的目的のCP
Uでリアルタイムエンコーディングするには適当でな
い。
Such a simple idea estimation method provides high accuracy. However, the transmission rate is limited due to the large amount of calculation. In addition, this method is used in PC
A general purpose CP, such as a PU, that has limited processing power
Not suitable for real-time encoding with U.

【0008】一方、探索領域で一部リファレンスマクロ
ブロックだけを現在マクロブロックと比較してSADを
計算する高速探索方法(図示せず)が利用される。この
高速探索方法は前述された全域探索方法と比較して計算
量を効果的に減らせるが、画質が低下するという短所が
ある。
On the other hand, a fast search method (not shown) is used in which only a part of reference macroblocks in the search area are compared with the current macroblock to calculate SAD. Although this high-speed search method can effectively reduce the amount of calculation as compared with the above-described full-area search method, it has a disadvantage of degrading image quality.

【0009】一方、全域探索方法を利用しつつSAD計
算を速く行える方法が研究されてきた。例えば、SIM
D(Single Instruction Multi
ple Data)方法を利用すればさまざまな画素に
対するSADを同時に計算でき、そのようなSAD処理
回数の減少により伝送率が向上する。
On the other hand, research has been conducted on a method that can perform SAD calculation quickly while utilizing the global search method. For example, SIM
D (Single Instruction Multi)
By using the ple Data method, SADs for various pixels can be calculated at the same time, and the transmission rate is improved by reducing the number of SAD processes.

【0010】図3はSIMD装置を利用したSAD計算
を説明するための図面である。現在マクロブロック10
及びリファレンスマクロブロック14aそれぞれに対し
て8つの画素10_8,14_8が64ビットレジスタ
16,18のそれぞれにローディングされる。SIMD
装置20は64ビットレジスタ16,18にそれぞれロ
ーディングされた8画素に対するSADを同時に計算す
る。各画素に対して個別的にSADが計算される従来の
全域探索アルゴリズムとは異なり、SIMD技術を利用
してさまざまな画素に対してSADが同時に並列計算さ
れうる。
FIG. 3 is a diagram for explaining the SAD calculation using the SIMD device. Current macroblock 10
Eight pixels 10_8 and 14_8 are loaded into the 64-bit registers 16 and 18 for the reference macroblock 14a and the reference macroblock 14a, respectively. SIMD
The device 20 simultaneously calculates the SAD for the 8 pixels loaded into the 64-bit registers 16 and 18, respectively. Unlike the conventional global search algorithm in which the SAD is calculated individually for each pixel, the SAD can be simultaneously calculated in parallel for various pixels using SIMD technology.

【0011】探索領域12にて次のリファレンスマクロ
ブロックが移動する方向により計算量は変わる。図3に
示されたように、水平に移動する場合、次のリファレン
スマクロブロックが選択されるたびに現在マクロブロッ
ク10とリファレンスマクロブロック14のどちらから
も8画素がメモリからアクセスされてレジスタ16,1
8にローディングされねばならない。このように、メモ
リアクセス回数が多くなれば、動きベクトルを得るのに
かかる時間が長くなって電力消耗もまた増える。
In the search area 12, the calculation amount changes depending on the direction in which the next reference macroblock moves. As shown in FIG. 3, when moving horizontally, each time the next reference macroblock is selected, 8 pixels are accessed from the memory by both the current macroblock 10 and the reference macroblock 14, and the registers 16, 1
Must be loaded at 8. As described above, as the number of memory accesses increases, the time required to obtain the motion vector increases and power consumption also increases.

【0012】[0012]

【発明が解決しようとする課題】このような従来の動き
推定方法は何回ものメモリアクセスと付随する多くの電
力消耗によりモバイル環境では適さない。本発明は従来
技術で生じるそのようなまたは他の問題を解決するもの
である。
Such a conventional motion estimation method is not suitable in a mobile environment due to many memory accesses and a lot of power consumption associated therewith. The present invention solves such or other problems that arise in the prior art.

【0013】本発明は、探索領域でのリファレンスマク
ロブロック窓の移動方式を改善してメモリアクセス回数
を減らすことにより電力消耗及び動き推定時間を短縮で
きるイメージプロセッシング装置及び前記イメージプロ
セッシング装置で行われる動き推定方法を提供すること
を目的とする。
The present invention is directed to an image processing apparatus capable of reducing power consumption and motion estimation time by improving a moving method of a reference macroblock window in a search area and reducing the number of memory accesses, and a motion performed by the image processing apparatus. The purpose is to provide an estimation method.

【0014】[0014]

【課題を解決するための手段】本発明によるイメージプ
ロセッシング装置は、現在マクロブロックを貯蔵するた
めの第1貯蔵素子と、第1リファレンスマクロブロック
を貯蔵するための第2貯蔵素子と、第1貯蔵素子と第2
貯蔵素子とに貯蔵された内容の相異度を計算する計算部
と、第1リファレンスマクロブロックの重ならない部分
を第2リファレンスマクロブロックの重ならない部分に
替えて第2貯蔵素子に第2リファレンスマクロブロック
をローディングする制御器とを含むことを特徴とする。
An image processing apparatus according to the present invention comprises a first storage element for storing a current macroblock, a second storage element for storing a first reference macroblock, and a first storage element. Element and second
A calculator for calculating the difference between the contents stored in the storage element and a non-overlapping portion of the first reference macroblock with a non-overlapping portion of the second reference macroblock, and a second reference macro for the second storage element. And a controller for loading the block.

【0015】本発明による動き推定方法は、現在マクロ
ブロックをローディングする段階と、現在リファレンス
マクロブロックをローディングする段階と、現在マクロ
ブロックと現在リファレンスマクロブロックとを比較す
る段階と、ローディングされた現在リファレンスマクロ
ブロックの重ならない部分を次のリファレンスマクロブ
ロックの重ならない部分に替えて次のリファレンスマク
ロブロックをローディングする段階とを含むことを特徴
とする。
The motion estimation method according to the present invention comprises the steps of loading a current macroblock, loading a current reference macroblock, comparing a current macroblock with a current reference macroblock, and loading a loaded current reference. Loading the next reference macroblock by replacing the nonoverlapping part of the macroblock with the nonoverlapping part of the next reference macroblock.

【0016】[0016]

【発明の実施の形態】以下、本発明によるイメージプロ
セッシング装置及び前記イメージプロセッシング装置で
行われる動き推定方法の実施の形態を添付図面を参照し
て次の通り説明する。図4は本発明による動き推定シス
テムの一実施形態を概略的に示すブロック図であり、現
在フレーム(C/F)100、第1レジスタグループ1
02、相異度計算部110、探索領域(S/A)10
4、第2レジスタグループ106及び制御部108を含
んで構成される。第1及び第2レジスタグループ10
2,106は現在フレーム100での一つのマクロブロ
ック及び探索領域104での一つのマクロブロックに対
する画素をそれぞれ貯蔵する。一例として、一つのマク
ロブロックの大きさが16×16画素ならば、第1及び
第2レジスタグループ102,106のそれぞれは16
×16画素アレイを貯蔵できる。制御部108はソフト
ウエアまたはハードウエアで具現されうる。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT An embodiment of an image processing apparatus according to the present invention and a motion estimation method performed by the image processing apparatus will be described below with reference to the accompanying drawings. FIG. 4 is a block diagram schematically showing an embodiment of the motion estimation system according to the present invention. The current frame (C / F) 100 and the first register group 1 are shown.
02, difference calculation unit 110, search area (S / A) 10
4, a second register group 106 and a control unit 108. First and second register group 10
Reference numerals 2 and 106 respectively store pixels for one macroblock in the current frame 100 and one macroblock in the search area 104. As an example, if the size of one macroblock is 16 × 16 pixels, each of the first and second register groups 102 and 106 has 16 pixels.
Can store x16 pixel array. The controller 108 may be embodied as software or hardware.

【0017】図5は4:1デシメーションフィルタを利
用して実行される前処理段階を示す図面である。n:1
デシメーションフィルタは要求されるハードウエアリソ
ースを減らすために現在フレーム(図4の100)に利
用される。現在フレームは図5にて入力フレーム130
と表現される。入力フレーム130は4つの4:1デシ
メーションフィルタ126a,126b,126c,1
26dにより4つのデシメーションフレームa,b,
c,dに分けられてフレームメモリ128に貯蔵され
る。固体撮像素子(CCD)120から出力されるビデ
オ信号はアナログデジタル変換器(ADC)122によ
りデジタル信号に変換される。ADC122から出力さ
れる信号はRGB信号である。前処理器124はRGB
信号をYCbCr信号に変換する。一実施形態では、Y
信号だけデシメーションフィルタ126によりデシメー
ションされる。
FIG. 5 illustrates the pre-processing steps performed using a 4: 1 decimation filter. n: 1
The decimation filter is used for the current frame (100 in FIG. 4) to reduce the required hardware resources. The current frame is the input frame 130 in FIG.
Is expressed as The input frame 130 includes four 4: 1 decimation filters 126a, 126b, 126c, 1
26d allows four decimation frames a, b,
It is divided into c and d and stored in the frame memory 128. A video signal output from the solid-state image sensor (CCD) 120 is converted into a digital signal by an analog-digital converter (ADC) 122. The signal output from the ADC 122 is an RGB signal. The preprocessor 124 is RGB
Convert the signal to a YCbCr signal. In one embodiment, Y
Only the signal is decimated by the decimation filter 126.

【0018】デシメーションフィルタ126aは入力フ
レーム130で画素aのためのものであり、デシメーシ
ョンフィルタ126bは画素bのためのものであり、デ
シメーションフィルタ126cは画素cのためのもので
あり、デシメーションフィルタ126dは画素dのため
のものである。デシメーションされた後では、デシメー
ションされたフレームa,b,c,dがフレームメモリ
128に貯蔵される。
Decimation filter 126a is for pixel a in input frame 130, decimation filter 126b is for pixel b, decimation filter 126c is for pixel c, and decimation filter 126d is. It is for pixel d. After being decimated, the decimated frames a, b, c, d are stored in the frame memory 128.

【0019】図6はデシメーション後の現在マクロブロ
ックと対応する探索領域を示す図面である。入力フレー
ム130に対する4:1デシメーションの結果、一つの
マクロブロック大きさは8×8画素に減少する。探索領
域104は現在フレーム130と同じ割合でデシメーシ
ョンされる。例えば、48×48画素の探索領域104
に対する4:1デシメーションは探索領域104の大き
さを24×24画素に減らす。
FIG. 6 is a diagram showing a search area corresponding to a current macroblock after decimation. As a result of the 4: 1 decimation on the input frame 130, the size of one macroblock is reduced to 8 × 8 pixels. The search area 104 is decimated at the same rate as the current frame 130. For example, a search area 104 of 48 × 48 pixels
The 4: 1 decimation with respect to reduces the size of the search area 104 to 24 × 24 pixels.

【0020】説明の便宜のために、現在フレームは図5
にて4:1デシメーションフィルタ126a〜126d
を通過した4つのデシメーションフレームaないしdの
うちいずれの一つであるとする。現在フレーム100で
各マクロブロックは8×8画素サイズを有し、4:1デ
シメーションフィルタを通過した後の探索領域104は
24×24画素サイズを有する。
For convenience of description, the current frame is shown in FIG.
4: 1 decimation filters 126a-126d
It is assumed that it is one of the four decimation frames a through d that have passed through. In the current frame 100, each macroblock has an 8 × 8 pixel size, and the search area 104 after passing the 4: 1 decimation filter has a 24 × 24 pixel size.

【0021】第1レジスタグループ(図4の102)は
現在フレーム100にて一つの現在マクロブロックを貯
蔵し、第2レジスタグループ106は探索領域104で
一つのリファレンスマクロブロックを貯蔵する。第1及
び第2レジスタグループ102,106は図7で丸付き
番号のように所定の順序で画素を貯蔵する。第1及び第
2レジスタグループ140,160それぞれで計算する
順序は8画素のグループに決定される。
The first register group (102 in FIG. 4) stores one current macroblock in the current frame 100, and the second register group 106 stores one reference macroblock in the search area 104. The first and second register groups 102 and 106 store pixels in a predetermined order as indicated by circled numbers in FIG. The order of calculation in each of the first and second register groups 140 and 160 is determined to be a group of 8 pixels.

【0022】図7は図4の第1及び第2レジスタグルー
プ102,106の構造及びローディング順序を示す図
面である。第1レジスタグループ140は現在マクロブ
ロックを貯蔵し、それぞれ8画素を貯蔵するレジスタを
含む。レジスタは0〜7まで所定の順序で明示される。
第2レジスタグループ160はそれぞれが8つの画素を
貯蔵するレジスタを含み、8〜15まで所定の順序で明
示される。第1レジスタグループ102に貯蔵された現
在マクロブロックと第2レジスタグループ106に貯蔵
されたリファレンスマクロブロック間の相異度を計算す
るために、現在リファレンスブロックに対するSAD及
び動きベクトルは次の数1により計算される。
FIG. 7 is a diagram showing the structure and loading order of the first and second register groups 102 and 106 of FIG. The first register group 140 currently stores macroblocks and includes registers each storing 8 pixels. The registers are specified in a predetermined order from 0 to 7.
The second register group 160 includes registers each storing eight pixels, and is specified in a predetermined order from 8 to 15. In order to calculate the dissimilarity between the current macroblock stored in the first register group 102 and the reference macroblock stored in the second register group 106, the SAD and motion vector for the current reference block are calculated by the following equation 1. Calculated.

【数1】 ここで、k(m,n)はk番目フレームで(m,n)位
置の画素値である。動きベクトル(MVx,MVy)は
リファレンスフレームで最高整合のための現在ブロック
の変位を示す。
[Equation 1] Here, k (m, n) is the pixel value at the (m, n) position in the kth frame. The motion vector (MVx, MVy) indicates the displacement of the current block for the best match in the reference frame.

【0023】相異度計算部(図4の110)は図3で説
明されたSIMD方法を利用して8画素に対する相異度
を同時に計算する。
The dissimilarity calculator (110 in FIG. 4) simultaneously calculates the dissimilarity for eight pixels using the SIMD method described in FIG.

【0024】図16は図4の相異度計算部110を概念
的に示す図面である。第1レジスタグループ102の各
レジスタ142に貯蔵された各画素と第2レジスタグル
ープ106の各レジスタ144に貯蔵された各画素間の
差の絶対値はレジスタ132に貯蔵される。例えば、参
照番号142aに貯蔵された画素と参照番号144aに
貯蔵された画素との差の絶対値は参照番号132aに貯
蔵され、参照番号142b及び144bにそれぞれ貯蔵
された画素間の差の絶対値は参照番号132bに貯蔵さ
れる。レジスタ142及びレジスタ144に貯蔵された
画素間の差の絶対値を計算するために、図16の点線ブ
ロック内のレジスタ132に貯蔵された各差値を総計す
る内部総計命令が実行される。
FIG. 16 is a diagram conceptually showing the difference calculation unit 110 of FIG. The absolute value of the difference between each pixel stored in each register 142 of the first register group 102 and each pixel stored in each register 144 of the second register group 106 is stored in the register 132. For example, the absolute value of the difference between the pixel stored at reference numeral 142a and the pixel stored at reference numeral 144a is stored at reference numeral 132a, and the absolute value of the difference between the pixels stored at reference numerals 142b and 144b, respectively. Is stored at reference numeral 132b. In order to calculate the absolute value of the difference between the pixels stored in registers 142 and 144, an internal summation instruction is executed which sums each difference value stored in register 132 in the dotted block of FIG.

【0025】図16の点線ブロックに示されたように、
一つの内部総計命令はマルチプル加算器を利用して実行
される。各値を加算するための従来の方法では、総計は
加算命令とシフト命令とを利用して実行され、従って本
発明と比較して追加的なサイクルが要求される。従っ
て、デシメートされた現在マクロブロックとデシメート
されたリファレンスマクロブロック間のマッチングブロ
ック全体計算のために、8回の内部総計命令が実行され
る。
As shown by the dotted block in FIG.
One internal aggregate instruction is executed using multiple adders. In the conventional method for adding each value, the summation is performed utilizing add and shift instructions, thus requiring additional cycles compared to the present invention. Therefore, eight internal totaling instructions are executed for the entire matching block calculation between the decimated current macroblock and the decimated reference macroblock.

【0026】現在マクロブロック10とリファレンスマ
クロブロック14とのあらゆる画素に対してSADが計
算されれば、リファレンスマクロブロック14aに対す
る内部総計は各画素に対するSAD結果を合計すること
により計算される。探索領域12のあらゆるリファレン
スマクロブロックに対する内部総計が計算された後で、
最小の内部総計を有するリファレンスマクロブロックは
整合ブロックであるとし、その計算結果はマクロブロッ
クの相異度E_MBとして出力される。図4で制御器1
08はメモリアクセスを減少させるためのSIMDスキ
ャニング方法を利用して探索領域104内でリファレン
スマクロブロック窓をいかように動かすかを制御する。
If the SAD is calculated for every pixel in the current macroblock 10 and the reference macroblock 14, the internal total for the reference macroblock 14a is calculated by summing the SAD results for each pixel. After the internal sum for every reference macroblock in the search area 12 is calculated,
The reference macroblock having the smallest internal total is a matching block, and the calculation result is output as the macroblock difference E_MB. Controller 1 in FIG.
08 controls how to move the reference macroblock window within the search area 104 utilizing SIMD scanning methods to reduce memory access.

【0027】図15は従来のスキャニング方法と本発明
によるスキャニング方法間の差異をより詳細に示す図面
である。全域探索に対して従来のスキャニング方法によ
れば、次のリファレンスブロックは図15_1及び図1
5_2に示されたように、現在リファレンスブロックか
ら1画素ずつそれぞれ水平または垂直方向に移動する。
この場合、現在比較されたリファレンスブロックの大部
分の画素は次に比較されるリファレンスブロックに利用
される画素と重なる。
FIG. 15 is a diagram showing in more detail the difference between the conventional scanning method and the scanning method according to the present invention. According to the conventional scanning method for the whole area search, the next reference block is shown in FIG.
As shown in 5_2, the current block is moved pixel by pixel horizontally or vertically.
In this case, most of the pixels in the currently compared reference block overlap the pixels used in the next compared reference block.

【0028】図15_1に示された水平スキャニング
で、レジスタグループ106’_1の画素と比較して次
のレジスタグループ106’_2の最も右側部分だけが
新しい画素となる。同様に、図15_2に示された垂直
スキャニングにおいて、現在レジスタグループ106”
_1と比較して次のレジスタグループ106”_2の最
下方部分だけが新しい画素となる。このように、端部領
域だけ新しい画素となるにもかかわらず、リファレンス
マクロブロック106全体に対してメモリアクセスが行
われる。
In the horizontal scanning shown in FIG. 15_1, only the rightmost part of the next register group 106'_2 becomes a new pixel as compared with the pixel of the register group 106'_1. Similarly, in the vertical scanning shown in FIG.
Only the lowermost part of the next register group 106 ″ _2 becomes a new pixel as compared with _1. Thus, although the end region becomes a new pixel, memory access is made to the entire reference macroblock 106. Is done.

【0029】本発明によるSIMDに対する直交スキャ
ニングスキームが図15_3に示される。図15_3を
参照すれば、新しい画素106’”_2だけメインメモ
リから図4の第2レジスタグループ106にローディン
グされる。図7に示されたように、第2レジスタグルー
プ106bは第2レジスタグループ160aのレジスタ
領域9〜15に貯蔵された重複される画素を再使用す
る。第2レジスタグループ106bの第1レジスタ領域
8にだけ新しいロウ画素値がローディングされる。そし
て、第1レジスタ領域8は第2レジスタグループ106
bで最後の位置に移動し、次のリファレンスブロックと
重なるロウ画素を貯蔵する他のレジスタ領域9〜15は
1段階ずつその順序が上がる。例えば、レジスタ領域9
は第1位置に移動し、レジスタ10は第2位置に移動
し、レジスタ11は第3位置に移動する。
An orthogonal scanning scheme for SIMD according to the present invention is shown in FIG. 15_3. Referring to FIG. 15_3, only the new pixel 106 ′ ″ _ 2 is loaded from the main memory into the second register group 106 of FIG. 4. As shown in FIG. 7, the second register group 106b is the second register group 160a. Of the duplicated pixels stored in the register areas 9 to 15 of the second register group 9b to 15. The new row pixel value is loaded only in the first register area 8 of the second register group 106b. 2 register group 106
The other register areas 9 to 15 which move to the last position in b and store the row pixel overlapping with the next reference block are moved up one step at a time. For example, register area 9
Moves to the first position, the register 10 moves to the second position, and the register 11 moves to the third position.

【0030】リファレンスマクロブロックのこのような
移動は探索領域(図4の104参照)で各垂直移動に対
して重ならない新しいロウ画素を読むための一回のアク
セスだけを要求する。すなわち、次のリファレンスマク
ロブロックに対する8×8画素アレイ全体をメモリから
読み出す必要がないので、探索領域104をスキャニン
グするためのメモリアクセスの回数を減らせる。
Such movement of the reference macroblock requires only one access to read a new non-overlapping row pixel for each vertical movement in the search area (see 104 in FIG. 4). That is, since it is not necessary to read the entire 8 × 8 pixel array for the next reference macro block from the memory, the number of memory accesses for scanning the search area 104 can be reduced.

【0031】図8は探索領域104でリファレンスマク
ロブロックの移動を示す。リファレンスマクロブロック
窓は図4で制御器108の制御により垂直にスキャンさ
れる。ここでは垂直窓移動を示すが、水平窓移動につい
ても同じ技術が適用されうる。水平移動の場合、現在及
びリファレンスフレームの垂直カラムにより順次的にメ
モリに画素を貯蔵して利用する。
FIG. 8 shows the movement of the reference macroblock in the search area 104. The reference macroblock window is scanned vertically under the control of controller 108 in FIG. Although vertical window movement is shown here, the same technique can be applied to horizontal window movement. In the case of horizontal movement, pixels are sequentially stored in a memory and used according to vertical columns of the current and reference frames.

【0032】前述の如く、一つのマクロブロックに対す
るデータを貯蔵できるレジスタが利用されてリファレン
スマクロブロック窓が探索領域で垂直に移動する時、現
在リファレンスマクロブロックと次のリファレンスマク
ロブロック間の重なる画素が再使用される。これは探索
領域をスキャンするために制御器108により要求され
るメモリアクセスの回数を減らす。現在マクロブロック
は第1レジスタグループに貯蔵され、現在リファレンス
マクロブロックは第2レジスタグループに貯蔵される。
As described above, when the reference macroblock window is moved vertically in the search area by using the register capable of storing data for one macroblock, the overlapping pixel between the current reference macroblock and the next reference macroblock may be detected. To be reused. This reduces the number of memory accesses required by controller 108 to scan the search area. The current macroblock is stored in the first register group and the current reference macroblock is stored in the second register group.

【0033】図9は本発明によるSIMDスキャニング
スキームをより一層詳細に示すフローチャートである。
現在フレームとリファレンスフレームとはn:1の割合
でデシメーションされる(第170段階)。説明の便宜
のために、本実施形態ではn=4であるとする。パラメ
ータHSは探索領域で第1リファレンスマクロブロック
の最終カラムの位置を示し、パラメータVSは探索領域
で第1リファレンスマクロブロックの最終ロウの位置を
示し、パラメータDCMは4つのデシメーションフレー
ムを示す。ここで、第1リファレンスマクロブロックは
探索領域で左側最上端のマクロブロックであり、第1リ
ファレンスマクロブロックに対するパラメータHSとパ
ラメータVSとはそれぞれ0である。パラメータHS、
VS及びDCMは全て0に初期化され、最小相異度E_
MINは可能な大きい値、例えば無限大に初期化される
(第172段階)。
FIG. 9 is a flowchart showing the SIMD scanning scheme according to the present invention in more detail.
The current frame and the reference frame are decimated at a ratio of n: 1 (step 170). For convenience of explanation, it is assumed that n = 4 in this embodiment. The parameter HS indicates the position of the last column of the first reference macroblock in the search area, the parameter VS indicates the position of the last row of the first reference macroblock in the search area, and the parameter DCM indicates four decimation frames. Here, the first reference macroblock is the top leftmost macroblock in the search area, and the parameters HS and VS for the first reference macroblock are 0, respectively. Parameter HS,
VS and DCM are all initialized to 0, and the minimum difference E_
MIN is initialized to a large possible value, for example, infinity (step 172).

【0034】識別番号0、1、2及び3は4つのデシメ
ーションフレームにそれぞれ付与される。パラメータD
CMを4と比較して動き推定が最終デシメーションフレ
ームまで完了されたのかを判断する(第174段階)。
動き推定が最終デシメーションフレームまで完了されて
いないとすれば、現在マクロブロックは第1レジスタグ
ループ(図7の140)にローディングされる(第17
6段階)。
Identification numbers 0, 1, 2 and 3 are assigned to the four decimation frames, respectively. Parameter D
The CM is compared with 4 to determine whether the motion estimation is completed up to the final decimation frame (step 174).
If the motion estimation has not been completed until the final decimation frame, the current macroblock is loaded into the first register group (140 in FIG. 7).
6 levels).

【0035】パラメータHSを17と比較し、パラメー
タHSが17より小さいか否かを判断する(第178段
階)。パラメータHSが17より小さくなければ、動き
推定は探索領域で最終カラムHS16まで完了したので
ある。それにより、HSは0にリセットされ(第192
段階)、DCMは次のDCMフレームにインクリメント
され(第198段階)、第174段階に進む。
The parameter HS is compared with 17 to determine whether the parameter HS is smaller than 17 (step 178). If the parameter HS is not smaller than 17, the motion estimation is completed up to the final column HS16 in the search area. As a result, HS is reset to 0 (192nd
Then, the DCM is incremented to the next DCM frame (step 198), and the process proceeds to step 174.

【0036】動き推定がHS16まで完了していなけれ
ば、パラメータVSが17より小さいかを判断する(第
180段階)。VSが17より小さければ、パイプライ
ニング手続き(第182及び184段階)を行う。現在
マクロブロックとリファレンスマクロブロック間の相異
度は第184段階で計算される。この場合、垂直方向に
新しいロウVS1はレジスタ領域の順序で第1レジスタ
位置に貯蔵される。例えば、第2レジスタグループ16
0aの$RESISTER8には次のリファレンスマク
ロブロックで重ならない新しいロウの画素がローディン
グされる。他のレジスタ領域、例えば$RESISTE
R9〜$RESISTER15はその順序が一つずつ上
に変動される。すなわち、図7で第2レジスタグループ
160bはレジスタ領域$RESISTER9〜$RE
SISTER15に貯蔵された画素を再使用する。従っ
て、新しいロウVS1(図8参照)の画素だけメモリか
らアクセスされ、第2レジスタグループ160aのレジ
スタ領域$RESISTER8に貯蔵される。
If the motion estimation is not completed up to HS16, it is determined whether the parameter VS is smaller than 17 (step 180). If VS is less than 17, the pipelining procedure (steps 182 and 184) is performed. The difference between the current macroblock and the reference macroblock is calculated in operation 184. In this case, the vertically new row VS1 is stored in the first register location in the order of the register areas. For example, the second register group 16
Pixels in a new row that do not overlap in the next reference macroblock are loaded into $ RESISTER8 of 0a. Other register areas, eg $ RESISTE
The order of R9 to $ RESISTER15 is changed up one by one. That is, in FIG. 7, the second register group 160b includes the register areas $ RESISTER9 to $ RE.
Reuse the pixels stored in SISTER15. Therefore, only the pixels of the new row VS1 (see FIG. 8) are accessed from the memory and stored in the register area $ RESISTER8 of the second register group 160a.

【0037】次に、第1及び第2レジスタグループ(図
7の140,160)にローディングされたマクロブロ
ック間の相異度を計算する(第184段階)。マクロブ
ロック相異度E_MBは最小相異度E_MINと比較さ
れる(第186段階)。マクロブロック相異度E_MB
が最小相異度E_MINより小さければ、最小相異度E
_MINはマクロブロック相異度E_MBになる(第1
88段階)。一方、マクロブロック相異度E_MBが最
小相異度E_MINより小さくなければ、現在最小相異
度E_MINはそのまま保持され、パラメータVSは一
つ増える(第190段階)。第180〜190段階はリ
ファレンスマクロブロックの垂直スキャニングが最終ロ
ウのVS16(図8参照)に達するまで反復される。
Next, the degree of difference between the macro blocks loaded in the first and second register groups (140 and 160 in FIG. 7) is calculated (step 184). The macroblock difference E_MB is compared with the minimum difference E_MIN (step 186). Macroblock difference E_MB
Is smaller than the minimum difference E_MIN, the minimum difference E
_MIN becomes the macroblock difference E_MB (first
88 steps). On the other hand, if the macroblock dissimilarity E_MB is not smaller than the minimum dissimilarity E_MIN, the current minimum dissimilarity E_MIN is held as it is and the parameter VS is increased by one (step 190). Steps 180 to 190 are repeated until the vertical scanning of the reference macroblock reaches the final row VS16 (see FIG. 8).

【0038】第180段階で最終ロウVS16までスキ
ャニングしてパラメータVSが17より小さくないと判
断されれば、パラメータVSは0に初期化される(第2
00段階)。そして、パラメータHSは一つ増え(第2
02段階)、第178段階に進む。すなわち、リファレ
ンスマクロブロック窓は1画素ほど右に移動し、第18
0〜190段階が反復される。
In step 180, if the parameter VS is not smaller than 17 by scanning to the final row VS16, the parameter VS is initialized to 0 (second).
00). Then, the parameter HS is increased by one (second
(Step 02), and proceed to step 178. That is, the reference macroblock window moves about one pixel to the right,
Steps 0 to 190 are repeated.

【0039】リファレンスマクロブロック窓が最終カラ
ムHS16まで水平方向に移動すれば、すなわち第17
8段階でパラメータHSが17より小さくないと判断さ
れれば、パラメータHSは第192段階に進んで0に再
び初期化される。そして、第198段階に進んでパラメ
ータDCMがインクリメントされた後で第174段階に
進む。パラメータDCMがインクリメントされるという
ことは他のデシメーションフレームに対する動き推定が
行われるということを意味する。
If the reference macroblock window moves horizontally to the final column HS16, that is, the 17th column
If it is determined in step 8 that the parameter HS is not less than 17, the parameter HS proceeds to step 192 and is initialized to 0 again. Then, in operation 198, the parameter DCM is incremented, and then operation 174 is performed. The parameter DCM being incremented means that motion estimation is performed for another decimation frame.

【0040】動き推定があらゆるデシメーションフレー
ムに対して完了すれば、すなわち、第174段階でパラ
メータDCMが4より小さくないと判断されれば、最小
相異度を有するリファレンスマクロブロックが第204
段階で整合ブロックとして抽出される。現在フレームに
対する動き推定は現在フレームに対するあらゆるマクロ
ブロックに対する前記のプロセスを反復することにより
完了する。
If the motion estimation is completed for every decimation frame, that is, if it is determined in step 174 that the parameter DCM is not less than 4, the reference macroblock having the minimum dissimilarity is determined to be the 204th macroblock.
It is extracted as a matching block at the stage. Motion estimation for the current frame is completed by repeating the above process for every macroblock for the current frame.

【0041】前述の如く、第1及び第2レジスタグルー
プは現在マクロブロックとリファレンスマクロブロック
とを貯蔵し、リファレンスマクロブロック窓は動き推定
のために探索領域で垂直に移動する。そして、現在リフ
ァレンスマクロブロックと次のリファレンスマクロブロ
ック間の重なる画素は再使用される。結果的に、第2レ
ジスタグループに次のリファレンスマクロブロックをロ
ーディングする時、より少ない命令(ロード/貯蔵)が
要求される。
As described above, the first and second register groups store the current macroblock and the reference macroblock, and the reference macroblock window moves vertically in the search area for motion estimation. Then, the overlapping pixels between the current reference macroblock and the next reference macroblock are reused. As a result, fewer instructions (load / store) are required when loading the next reference macroblock into the second register group.

【0042】図10ないし図13は従来の動き推定方法
と対応する本発明のメリットを示す図面である。図10
はデシメーションを行っていない全域探索アルゴリズム
による従来の動き推定方法での命令語回数を示し、全体
命令語回数で26.2%がメモリアクセス命令のために
要求されることを示し、命令回数の残りの73.8%は
メモリアクセス以外の動作のためのものである。図10
はリファレンスマクロブロックが探索領域で水平に移動
して動き推定が各画素に対するSADを利用して実行さ
れる図2に対応する。図11はデシメーションが行われ
た従来の動き推定方法に対する総命令回数を示す。図1
2はデシメーションとSIMDとを利用した従来の動き
推定方法に対する総命令回数を示す。
10 to 13 are views showing the advantages of the present invention corresponding to the conventional motion estimation method. Figure 10
Indicates the number of command words in the conventional motion estimation method by the whole area search algorithm without decimation, and shows that 26.2% of the total number of command words is required for the memory access command. 73.8% are for operations other than memory access. Figure 10
Corresponds to FIG. 2 in which the reference macroblock moves horizontally in the search area and motion estimation is performed using SAD for each pixel. FIG. 11 shows the total number of instructions for the decimated conventional motion estimation method. Figure 1
2 shows the total number of instructions for the conventional motion estimation method using decimation and SIMD.

【0043】図13は本発明を利用した動き推定に対す
る総命令回数を示す。図11ないし図13に示された三
つの場合において、27.0%、1.6%及び0.9%
は図10の従来の動き推定方法と比較されるメモリアク
セス命令回数の比率をそれぞれ示す。図10ないし図1
3を参照すれば、重ならない部分だけアクセスする直交
スキャニング方法がメモリアクセス回数を減らすための
最も効果的な技術であることが分かる。
FIG. 13 shows the total number of instructions for motion estimation using the present invention. In the three cases shown in FIGS. 11 to 13, 27.0%, 1.6% and 0.9%
Shows the ratio of the number of memory access instructions compared with the conventional motion estimation method of FIG. 10 to 1
Referring to FIG. 3, it can be seen that the orthogonal scanning method of accessing only non-overlapping portions is the most effective technique for reducing the number of memory accesses.

【0044】図14は99個の最小SAD抽出のために
要求されるQCIFを有する2つのフレームに対して必
要な総クロックサイクルの数を示す。図14で14aは
図10に対応し、14bは図11に対応し、14cは図
12に対応し、14dは図13に対応する。重ならない
部分だけアクセスする直交スキャニングスキームは従来
の一般的なSIMDを利用した動き推定方法に比べて性
能が2倍向上する。
FIG. 14 shows the number of total clock cycles required for two frames with QCIF required for 99 minimum SAD extractions. 14, 14a corresponds to FIG. 10, 14b corresponds to FIG. 11, 14c corresponds to FIG. 12, and 14d corresponds to FIG. The orthogonal scanning scheme, in which only non-overlapping portions are accessed, has twice the performance compared with the conventional general motion estimation method using SIMD.

【0045】前述の本発明によるスキャニング技術は現
在マクロブロックとリファレンスマクロブロックとを比
較するためのSIMD装置またはVLIW(Very
Long Instruction Word)装置によ
り具現されうる。整合マクロブロックのために利用され
るスキームはMAD、MAEまたはSADスキームを含
みうる。次のリファレンスマクロブロックを選択するた
めの方法は高速探索アルゴリズムまたは全域探索アルゴ
リズムを含みうる。もちろん、他の単一命令/マルチ−
データ装置、整合スキーム及び探索アルゴリズムもやは
り利用されうる。
The above-described scanning technique according to the present invention is a SIMD device for comparing a current macroblock and a reference macroblock or a VLIW (Very).
It can be implemented by a Long Instruction Word) device. The scheme utilized for the matching macroblock may include a MAD, MAE or SAD scheme. The method for selecting the next reference macroblock may include a fast search algorithm or a global search algorithm. Of course, other single instructions / multi-
Data devices, matching schemes and search algorithms may also be utilized.

【0046】さらに、本発明はコンピュータで読み込み
可能な記録媒体にコンピュータが読み込み可能なコード
にて具現できる。コンピュータが読み込み可能な記録媒
体はコンピュータシステムにより読み込み可能なデータ
が貯蔵されるあらゆる種類の記録装置を含む。コンピュ
ータが読み込み可能な記録媒体の例としては、ROM、
RAM、CD−ROM、磁気テープ、フロッピディス
ク、光データ貯蔵装置などがあり、またキャリアウエー
ブ(例えば、インターネットを介した伝送)の形態より
具現されるものも含む。また、コンピュータが読み込み
可能な記録媒体はネットワークに連結されたコンピュー
タシステムに分散され、分散方式でコンピュータが読み
込み可能なコードが貯蔵されて実行されうる。
Furthermore, the present invention can be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data readable by a computer system is stored. An example of a computer-readable recording medium is a ROM,
There are RAMs, CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, etc., and also those embodied in the form of carrier waves (for example, transmission via the Internet). Further, the computer-readable recording medium may be distributed to computer systems connected to a network, and the computer-readable code may be stored and executed in a distributed manner.

【0047】以上で説明されたシステムは専用プロセッ
サシステム、マイクロコントローラ、プログラマブルロ
ジックディバイス、あるいは一部またはあらゆる動作を
行うマイクロプロセッサを利用できる。前述の動作の一
部はソフトウエアで具現され、他の動作はハードウエア
で具現されうる。
The system described above can utilize a dedicated processor system, a microcontroller, a programmable logic device, or a microprocessor that performs some or all operations. Some of the operations described above may be implemented by software, and other operations may be implemented by hardware.

【0048】便宜のために、動作はいくつかの連結され
た機能ブロックまたは区別されるソフトウエアモジュー
ルとして説明された。これは必須なものではなく、この
ような機能ブロックまたはモジュールが単一ロジックデ
ィバイス、プログラムまたは区分が不明確な動作に同等
に集合されうる。とにかく、機能ブロック、ソフトウエ
アモジュールまたは特性の融通性ある接続がそれらの間
やハードウエアまたはソフトウエアに他の動作が連結さ
れうる。
For convenience, the operations have been described as a number of linked functional blocks or distinct software modules. This is not essential and such functional blocks or modules may equally be grouped into a single logic device, program or undefined operation. Regardless, functional blocks, software modules or flexible connections of characteristics may be coupled between them or other operations in hardware or software.

【0049】以上により最適実施形態が開示された。こ
こで特定の用語が使われたが、これは単に本発明を説明
するための目的で使われたものであり、意味限定や特許
請求の範囲に記載された本発明の範囲を制限するために
使われたものではない。従って、本技術分野の当業者な
らばこれから多様な変形及び均等な他の実施形態が可能
であるという点が理解されうる。従って、本発明の真の
技術的保護範囲は添付された特許請求の範囲の技術的思
想により決まるべきである。
The optimum embodiment has been disclosed above. Although specific terms have been used herein, they are merely used to describe the present invention and are intended to limit the meaning of the invention and the scope of the invention as claimed. Not used. Therefore, it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible. Therefore, the true technical protection scope of the present invention should be determined by the technical idea of the appended claims.

【0050】[0050]

【発明の効果】以上の如く、本発明による動き推定装置
及び方法は、現在リファレンスマクロブロックと次のリ
ファレンスマクロブロックとのうち重複される画素デー
タを再使用することにより、次のリファレンスマクロブ
ロックをレジスタにロードするための命令語の発生回数
を減らすことができ、従って、動き推定をより速く行え
る。
As described above, the motion estimation apparatus and method according to the present invention reuses the pixel data that is duplicated between the current reference macroblock and the next reference macroblock to reuse the next reference macroblock. It is possible to reduce the number of times the instruction word for loading the register is generated, and thus the motion estimation can be performed faster.

【図面の簡単な説明】[Brief description of drawings]

【図1】現在マクロブロックと探索領域との関係を示す
図である。
FIG. 1 is a diagram showing a relationship between a current macroblock and a search area.

【図2】各画素10−1及び14−1が32ビットレジ
スタ15及び17にそれぞれローディングされる基本的
な全域探索を示す図である。
FIG. 2 shows a basic gamut search in which each pixel 10-1 and 14-1 is loaded into a 32-bit register 15 and 17, respectively.

【図3】SIMD装置を利用したSAD計算を説明する
ための図である。
FIG. 3 is a diagram for explaining SAD calculation using a SIMD device.

【図4】本発明による動き推定システムの一実施形態を
概略的に示すブロック図である。
FIG. 4 is a block diagram schematically showing an embodiment of a motion estimation system according to the present invention.

【図5】4:1デシメーションフィルタを利用して実行
される前処理段階を示す図である。
FIG. 5 shows a pre-processing stage performed using a 4: 1 decimation filter.

【図6】デシメーション後の現在マクロブロックと対応
する探索領域を示す図である。
FIG. 6 is a diagram showing a search area corresponding to a current macroblock after decimation.

【図7】本発明により二つのレジスタグループがいかよ
うに利用されるのかを示す図である。
FIG. 7 is a diagram showing how two register groups are used according to the present invention.

【図8】本発明により探索領域でリファレンスマクロブ
ロックがいかように移動するのかを示す図である。
FIG. 8 is a diagram showing how a reference macroblock moves in a search area according to the present invention.

【図9】本発明により動きベクトルがいかように求めら
れるかを示すフローチャートである。
FIG. 9 is a flowchart showing how a motion vector is obtained according to the present invention.

【図10】デシメーションを行っていない全域探索アル
ゴリズムによる従来の動き推定方法での命令語回数を示
す図である。
FIG. 10 is a diagram showing the number of command words in a conventional motion estimation method based on a global search algorithm without decimation.

【図11】デシメーションが行われた従来の動き推定方
法に対する総命令回数を示す図である。
FIG. 11 is a diagram showing the total number of instructions for the conventional decimation-based motion estimation method.

【図12】デシメーションとSIMDとを利用した従来
の動き推定方法に対する総命令回数を示す図である。
FIG. 12 is a diagram showing the total number of instructions for a conventional motion estimation method using decimation and SIMD.

【図13】本発明を利用した動き推定に対する総命令回
数を示す図である。
FIG. 13 is a diagram showing the total number of instructions for motion estimation using the present invention.

【図14】従来の動き推定方法と本発明による動き推定
方法間の他の差異を示す図である。
FIG. 14 is a diagram showing another difference between the conventional motion estimation method and the motion estimation method according to the present invention.

【図15】本発明によるスキャニング技術と他のスキャ
ニング技術とを比較し、メモリアクセスでの差異を示す
図である。
FIG. 15 is a diagram showing a difference in memory access by comparing the scanning technique according to the present invention with another scanning technique.

【図16】図4の相異度計算部110を概念的に示す図
である。
16 is a diagram conceptually showing the difference calculation unit 110 in FIG.

【符号の説明】[Explanation of symbols]

100 現在フレーム 102 第1レジスタグループ 104 探索領域 106 第2レジスタグループ 108 制御部 110 相異度計算部 100 current frame 102 first register group 104 search area 106 Second register group 108 control unit 110 Difference calculation unit

───────────────────────────────────────────────────── フロントページの続き (72)発明者 李 潤 泰 大韓民国ソウル特別市江南区大峙洞 銀馬 アパート25棟402号 (72)発明者 全 炳 宇 大韓民国京畿道城南市盆唐区籔内洞 陽地 マウル27番地303棟902号 Fターム(参考) 5C059 KK19 KK49 MA05 NN01 NN03 NN21 PP04 SS10 TA62 TA63 TB07 TC02 TD05 TD06 TD11 TD16 UA11 UA38 5J064 AA03 BA13 BC01 BC04 BC29 BD03    ─────────────────────────────────────────────────── ─── Continued front page    (72) Inventor Lee Jun Yasushi             Ginba, Daechi-dong, Gangnam-gu, Seoul, South Korea             Apartment 25 Building No. 402 (72) All inventors             Yeonai-dong Yangji, Bundang-gu, Seongnam-si, Gyeonggi-do, Republic of Korea             Maul 27 No. 303 Building No. 902 F term (reference) 5C059 KK19 KK49 MA05 NN01 NN03                       NN21 PP04 SS10 TA62 TA63                       TB07 TC02 TD05 TD06 TD11                       TD16 UA11 UA38                 5J064 AA03 BA13 BC01 BC04 BC29                       BD03

Claims (29)

【特許請求の範囲】[Claims] 【請求項1】 現在マクロブロックを貯蔵するための第
1貯蔵素子と、 第1リファレンスマクロブロックを貯蔵するための第2
貯蔵素子と、 前記第1貯蔵素子と前記第2貯蔵素子とに貯蔵された内
容の相異度を計算する計算部と、 前記第1リファレンスマクロブロックの重ならない部分
を第2リファレンスマクロブロックの重ならない部分に
替えて前記第2貯蔵素子に前記第2リファレンスマクロ
ブロックをローディングする制御器とを含むことを特徴
とするイメージプロセッシング装置。
1. A first storage element for storing a current macroblock and a second storage element for storing a first reference macroblock.
A storage element, a calculator for calculating a difference between the contents stored in the first storage element and the second storage element, and a non-overlapping portion of the first reference macroblock for overlapping a second reference macroblock. An image processing apparatus, comprising: a controller for loading the second reference macroblock on the second storage element instead of a non-required portion.
【請求項2】 前記計算部の計算結果は動きベクトル測
定に利用されることを特徴とする請求項1に記載のイメ
ージプロセッシング装置。
2. The image processing apparatus according to claim 1, wherein the calculation result of the calculation unit is used for motion vector measurement.
【請求項3】 前記計算部はSIMD(Single
Instruction Multiple Data)
装置を含むことを特徴とする請求項1に記載のイメージ
プロセッシング装置。
3. The SIMD (Single)
(Instruction Multiple Data)
The image processing apparatus according to claim 1, further comprising an apparatus.
【請求項4】 前記第1リファレンスマクロブロックで
前記第2リファレンスマクロブロックと重なる領域は前
記第1貯蔵素子と前記第2貯蔵素子間の相異度計算のた
めに前記計算部により前記第2貯蔵素子で再使用される
ことを特徴とする請求項1に記載のイメージプロセッシ
ング装置。
4. The area of the first reference macroblock overlapping the second reference macroblock is stored in the second storage by the calculator for calculating a difference between the first storage element and the second storage element. The image processing apparatus according to claim 1, wherein the image processing apparatus is reused in a device.
【請求項5】 前記第1貯蔵素子はそれぞれが現在マク
ロブロックに対する画素値グループを貯蔵する多数のレ
ジスタより構成され、 前記第2貯蔵素子はそれぞれが第1リファレンスマクロ
ブロックに対する画素値グループを貯蔵する多数のレジ
スタより構成されることを特徴とする請求項1に記載の
イメージプロセッシング装置。
5. The first storage element comprises a plurality of registers each storing a pixel value group for a current macroblock, and the second storage element each storing a pixel value group for a first reference macroblock. The image processing apparatus according to claim 1, wherein the image processing apparatus comprises a plurality of registers.
【請求項6】 前記計算部は前記第1貯蔵素子の各レジ
スタに貯蔵された画素値グループと前記第2貯蔵素子の
各レジスタに貯蔵された画素値グループとを同時に計算
することを特徴とする請求項5に記載のイメージプロセ
ッシング装置。
6. The calculating unit simultaneously calculates a pixel value group stored in each register of the first storage element and a pixel value group stored in each register of the second storage element. The image processing apparatus according to claim 5.
【請求項7】 前記第1貯蔵素子の前記多数のレジスタ
のそれぞれは現在マクロブロックのロウまたはカラムを
貯蔵し、前記第2貯蔵素子の前記多数のレジスタのそれ
ぞれは第1リファレンスマクロブロックのロウまたはカ
ラムを貯蔵することを特徴とする請求項5に記載のイメ
ージプロセッシング装置。
7. Each of the plurality of registers of the first storage element stores a row or column of a current macroblock, and each of the plurality of registers of the second storage element stores a row or column of a first reference macroblock. The image processing device according to claim 5, wherein the column is stored.
【請求項8】 前記第2リファレンスマクロブロックの
重ならない部分はメモリから前記第2貯蔵素子にローデ
ィングされることを特徴とする請求項1に記載のイメー
ジプロセッシング装置。
8. The image processing apparatus of claim 1, wherein non-overlapping portions of the second reference macroblock are loaded from a memory into the second storage element.
【請求項9】 前記制御器は第2貯蔵素子で重ならない
部分を貯蔵している第1レジスタの位置を最終レジスタ
位置に移動させて前記第2貯蔵素子に前記第2リファレ
ンスマクロブロックをローディングし、前記第2貯蔵素
子で重なる部分を貯蔵している残りのレジスタはその位
置を一つずつ上に移動させることを特徴とする請求項1
に記載のイメージプロセッシング装置。
9. The controller moves a position of a first register storing a non-overlapping portion of a second storage element to a final register position to load the second reference macroblock into the second storage element. 2. The positions of the remaining registers storing the overlapping portions of the second storage elements are moved up one by one.
The image processing device described in.
【請求項10】 現在フレームを多数のデシメートされ
た現在フレームにデシメーションし、リファレンスフレ
ームを多数のデシメートされたリファレンスフレームに
デシメーションする前処理器をさらに含むことを特徴と
する請求項1に記載のイメージプロセッシング装置。
10. The image of claim 1, further comprising a preprocessor that decimates the current frame into a number of decimated current frames and a reference frame into a number of decimated reference frames. Processing device.
【請求項11】 前記制御器及び前記計算部はソフトウ
エアまたはハードウエアにより具現されることを特徴と
する請求項1に記載のイメージプロセッシング装置。
11. The image processing apparatus of claim 1, wherein the controller and the calculator are implemented by software or hardware.
【請求項12】 前記計算部は、 前記第1貯蔵素子の各レジスタの各画素と前記第2貯蔵
素子の各レジスタの各画素間の差の絶対値を貯蔵する第
3貯蔵部と、 この第3貯蔵素子に貯蔵された差の絶対値に対する総計
を計算する加算回路とを含むことを特徴とする請求項5
に記載のイメージプロセッシング装置。
12. The calculation unit includes a third storage unit that stores an absolute value of a difference between each pixel of each register of the first storage element and each pixel of each register of the second storage element; 6. An adder circuit for calculating the sum of the absolute values of the differences stored in the three storage elements.
The image processing device described in.
【請求項13】 前記加算回路は多数の加算器だけで構
成されることを特徴とする請求項12に記載のイメージ
プロセッシング装置。
13. The image processing apparatus according to claim 12, wherein the adder circuit includes only a plurality of adders.
【請求項14】 前記加算回路は一回の内部総計命令に
より前記第3貯蔵素子に貯蔵されたあらゆる差の絶対値
に対する総計を生成することを特徴とする請求項12に
記載のイメージプロセッシング装置。
14. The image processing apparatus of claim 12, wherein the adder circuit generates a total for all absolute values of the differences stored in the third storage element according to a single internal total command.
【請求項15】 現在マクロブロックをローディングす
る段階と、 現在リファレンスマクロブロックをローディングする段
階と、 前記現在マクロブロックと前記現在リファレンスマクロ
ブロックとを比較する段階と、 前記ローディングされた現在リファレンスマクロブロッ
クの重ならない部分を次のリファレンスマクロブロック
の重ならない部分に替えて次のリファレンスマクロブロ
ックをローディングする段階とを含むことを特徴とする
動き推定方法。
15. Loading a current macroblock, loading a current reference macroblock, comparing the current macroblock with the current reference macroblock, and loading the loaded current reference macroblock. Loading the next reference macroblock by replacing the non-overlapping portion with the non-overlapping portion of the next reference macroblock.
【請求項16】 前記現在マクロブロックと前記次のリ
ファレンスマクロブロックとを比較するために前記現在
リファレンスマクロブロックの重なる部分を再使用する
段階をさらに含むことを特徴とする請求項15に記載の
動き推定方法。
16. The motion of claim 15, further comprising reusing an overlapping portion of the current reference macroblock to compare the current macroblock with the next reference macroblock. Estimation method.
【請求項17】 現在リファレンスマクロブロックに対
する画素の重ならない部分を現在貯蔵している指定され
たレジスタに次のリファレンスマクロブロックから重な
らない画素グループを一回の命令でローディングする段
階と、 次のリファレンスマクロブロックと重なる他のレジスタ
の画素を再使用する段階とをさらに含むことを特徴とす
る請求項15に記載の動き推定方法。
17. Loading a non-overlapping pixel group from a next reference macroblock into a designated register, which currently stores nonoverlapping portions of pixels for a current reference macroblock, in one instruction, and a next reference. 16. The method of claim 15, further comprising reusing pixels of another register overlapping a macroblock.
【請求項18】 リファレンスフレームを貯蔵している
メモリから前記指定されたレジスタにローディングする
段階をさらに含むことを特徴とする請求項17に記載の
動き推定方法。
18. The method according to claim 17, further comprising loading a designated frame from a memory storing a reference frame into the designated register.
【請求項19】 次のリファレンスマクロブロックの重
ならない部分を貯蔵している前記指定されたレジスタの
順序を最終レジスタ位置に移し、他のレジスタの順序を
一つずつ繰り上げる段階をさらに含むことを特徴とする
請求項17に記載の動き推定方法。
19. The method further comprising moving the order of the designated register storing the non-overlapping portions of the next reference macroblock to the final register position and advancing the order of the other registers one by one. The motion estimation method according to claim 17.
【請求項20】 ローディングされた現在マクロブロッ
クに対する各グループの画素値とローディングされた現
在リファレンスマクロブロックに対する各グループの画
素値とを同時に比較する段階をさらに含むことを特徴と
する請求項15に記載の動き推定方法。
20. The method of claim 15, further comprising comparing pixel values of each group for the loaded current macroblock with pixel values of each group for the loaded current reference macroblock at the same time. Motion estimation method.
【請求項21】 前記画素値のグループのそれぞれは現
在マクロブロックの一つのロウまたは一つのカラムであ
るか、または現在リファレンスマクロブロックの一つの
ロウまたはカラムであることを特徴とする請求項20に
記載の動き推定方法。
21. The method of claim 20, wherein each of the pixel value groups is one row or one column of a current macroblock, or one row or one column of a current reference macroblock. The described motion estimation method.
【請求項22】 前記現在マクロブロックと前記現在リ
ファレンスマクロブロックとを比較するために、VLI
W(Very Long Instruction Wo
rd)装置またはSIMD装置を利用する段階を含むこ
とを特徴とする請求項15に記載の動き推定方法。
22. A VLI for comparing the current macroblock with the current reference macroblock.
W (Very Long Instruction Wo
The method according to claim 15, characterized in that it comprises the step of utilizing a rd) device or a SIMD device.
【請求項23】 整合マクロブロックスキームを利用し
て前記現在マクロブロックと前記現在リファレンスマク
ロブロックとを比較する段階をさらに含むことを特徴と
する請求項15に記載の動き推定方法。
23. The method of claim 15, further comprising comparing the current macroblock with the current reference macroblock using a matched macroblock scheme.
【請求項24】 前記整合マクロブロックスキームはM
AD(Mean of the Absolute Dif
ference)、MAE(Mean ofthe Ab
solute Error)またはSAD(the Su
m of the Absolute Differenc
e)であることを特徴とする請求項23に記載の動き推
定方法。
24. The matched macroblock scheme is M
AD (Mean of the Absolute Dif
ference), MAE (Mean of the Ab
solution Error) or SAD (the Su
m of the Absolute Difference
The motion estimation method according to claim 23, wherein the motion estimation method is e).
【請求項25】 高速アルゴリズムまたは全域探索アル
ゴリズムを利用して次のリファレンスマクロブロックを
選択する段階をさらに含むことを特徴とする請求項15
に記載の動き推定方法。
25. The method further comprising selecting the next reference macroblock using a fast algorithm or a global search algorithm.
The motion estimation method described in.
【請求項26】 現在フレームを多数のデシメーション
された現在フレームにデシメーションする段階と、 リファレンスフレームを多数のデシメーションされたリ
ファレンスフレームにデシメーションする段階と、 前記デシメーションされた現在フレームから前記現在マ
クロブロックを選択する段階と、 前記現在マクロブロックと最も近似したリファレンスマ
クロブロックを定めるためにデシメーションされたリフ
ァレンスフレームの探索領域上で前記選択された現在マ
クロブロックを移動する段階と、 最も近似したマクロブロックと決められたリファレンス
マクロブロックに対する動きベクトルを求める段階とを
さらに含むことを特徴とする請求項15に記載の動き推
定方法。
26. Decimating a current frame into multiple decimated current frames, decimating a reference frame into multiple decimated reference frames, and selecting the current macroblock from the decimated current frames. And moving the selected current macroblock over a search area of a decimated reference frame to determine a reference macroblock that most closely approximates the current macroblock, and determines the closest macroblock. The method according to claim 15, further comprising: determining a motion vector for the reference macroblock.
【請求項27】 前記ローディングされた現在リファレ
ンスマクロブロックに対する画素値の各グループと前記
ローディングされた現在マクロブロックに対する画素値
の各グループ間の差の絶対値を貯蔵する段階と、 前記差の絶対値に対する総計を求める段階とをさらに含
むことを特徴とする請求項20に記載の動き推定方法。
27. Saving the absolute value of the difference between each group of pixel values for the loaded current reference macroblock and each group of pixel values for the loaded current macroblock, and the absolute value of the difference. 21. The motion estimation method of claim 20, further comprising:
【請求項28】 前記差の絶対値に対する総計を求める
ために加算器だけを利用することを特徴とする請求項2
7に記載の動き推定方法。
28. Only the adder is used to determine the sum of the absolute values of the differences.
7. The motion estimation method described in 7.
【請求項29】 一つの内部総計命令によりあらゆる差
の絶対値に対する総計を生成することを特徴とする請求
項28に記載の動き推定方法。
29. The motion estimation method according to claim 28, wherein a total for all absolute values of differences is generated by one internal total command.
JP2002199065A 2001-07-09 2002-07-08 Image processor, and motion estimation method Pending JP2003125415A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20010040904 2001-07-09
KR2001-040904 2001-07-09
US10/112011 2002-03-29
US10/112,011 US20030012281A1 (en) 2001-07-09 2002-03-29 Motion estimation apparatus and method for scanning an reference macroblock window in a search area

Publications (1)

Publication Number Publication Date
JP2003125415A true JP2003125415A (en) 2003-04-25

Family

ID=26639222

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002199065A Pending JP2003125415A (en) 2001-07-09 2002-07-08 Image processor, and motion estimation method

Country Status (4)

Country Link
JP (1) JP2003125415A (en)
KR (1) KR100486249B1 (en)
CN (1) CN1297134C (en)
GB (1) GB2378345B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2005025230A1 (en) * 2003-08-28 2006-11-16 株式会社日立超エル・エス・アイ・システムズ Image processing device

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519115B2 (en) 2003-03-31 2009-04-14 Duma Video, Inc. Video compression method and apparatus
KR100621137B1 (en) * 2004-02-27 2006-09-13 세이코 엡슨 가부시키가이샤 Moving image encoding apparatus and moving image processing apparatus
TWI370691B (en) * 2005-01-19 2012-08-11 Via Tech Inc A method and system for hierarchical search with cache
KR100677562B1 (en) 2005-02-03 2007-02-02 삼성전자주식회사 Motion estimation method and motion estimation apparatus
CN100370808C (en) * 2005-06-13 2008-02-20 北京中星微电子有限公司 Sports detecting method
US8284842B2 (en) 2005-07-08 2012-10-09 Activevideo Networks, Inc. Video game system using pre-encoded macro-blocks and a reference grid
US9061206B2 (en) * 2005-07-08 2015-06-23 Activevideo Networks, Inc. Video game system using pre-generated motion vectors
US8118676B2 (en) 2005-07-08 2012-02-21 Activevideo Networks, Inc. Video game system using pre-encoded macro-blocks
US8270439B2 (en) 2005-07-08 2012-09-18 Activevideo Networks, Inc. Video game system using pre-encoded digital audio mixing
KR100678911B1 (en) * 2005-07-21 2007-02-05 삼성전자주식회사 Method and apparatus for video signal encoding and decoding with extending directional intra prediction
US8074248B2 (en) 2005-07-26 2011-12-06 Activevideo Networks, Inc. System and method for providing video content associated with a source image to a television in a communication network
JP4182442B2 (en) * 2006-04-27 2008-11-19 ソニー株式会社 Image data processing apparatus, image data processing method, image data processing method program, and recording medium storing image data processing method program
KR101328931B1 (en) * 2006-11-28 2013-11-14 엘지전자 주식회사 Video decoder and decoding method
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
WO2008088741A2 (en) 2007-01-12 2008-07-24 Ictv, Inc. Interactive encoded content system including object models for viewing on a remote device
KR101520027B1 (en) 2007-06-21 2015-05-14 삼성전자주식회사 Method and apparatus for motion estimation
KR100909390B1 (en) * 2007-09-18 2009-07-24 한국과학기술원 High speed motion compensation device and method
CN101179724B (en) * 2007-12-11 2010-09-29 北京中星微电子有限公司 Frame storage method and apparatus for interframe compressed encoding
CN101800893B (en) * 2009-02-06 2013-01-16 宏碁股份有限公司 Low-power high-performance video coding method for implementing motion estimation
US8194862B2 (en) 2009-07-31 2012-06-05 Activevideo Networks, Inc. Video game system with mixing of independent pre-encoded digital audio bitstreams
CN102340617B (en) * 2010-07-14 2014-06-11 奇景光电股份有限公司 Motion estimation (ME) and motion compensation (MC) circuit
AU2011315950B2 (en) 2010-10-14 2015-09-03 Activevideo Networks, Inc. Streaming digital video between video devices using a cable television system
WO2012138660A2 (en) 2011-04-07 2012-10-11 Activevideo Networks, Inc. Reduction of latency in video distribution networks using adaptive bit rates
EP2815582B1 (en) 2012-01-09 2019-09-04 ActiveVideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US9123084B2 (en) 2012-04-12 2015-09-01 Activevideo Networks, Inc. Graphical application integration with MPEG objects
WO2014145921A1 (en) 2013-03-15 2014-09-18 Activevideo Networks, Inc. A multiple-mode system and method for providing user selectable video content
EP3005712A1 (en) 2013-06-06 2016-04-13 ActiveVideo Networks, Inc. Overlay rendering of user interface onto source video
US9294785B2 (en) 2013-06-06 2016-03-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9219922B2 (en) 2013-06-06 2015-12-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
CN109120941A (en) * 2018-09-03 2019-01-01 山东师范大学 A kind of video image data method for reusing, processor and system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07264602A (en) * 1994-03-24 1995-10-13 Sony Corp Motion vector detecting method
KR100205146B1 (en) * 1996-09-12 1999-07-01 이득렬 Motion estimation method in digital video encoder
GB2327827B (en) * 1996-11-29 1999-06-30 Sony Corp Image processing apparatus
KR100325253B1 (en) * 1998-05-19 2002-03-04 미야즈 준이치롯 Motion vector search method and apparatus
KR100397055B1 (en) * 2000-07-21 2003-09-06 (주)씨앤에스 테크놀로지 Motion estimator architecture for low bit rate image communication
KR100446235B1 (en) * 2001-05-07 2004-08-30 엘지전자 주식회사 Merging search method of motion vector using multi-candidates

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2005025230A1 (en) * 2003-08-28 2006-11-16 株式会社日立超エル・エス・アイ・システムズ Image processing device
JP4516020B2 (en) * 2003-08-28 2010-08-04 株式会社日立超エル・エス・アイ・システムズ Image processing device

Also Published As

Publication number Publication date
KR20030007087A (en) 2003-01-23
GB2378345A (en) 2003-02-05
CN1297134C (en) 2007-01-24
CN1396762A (en) 2003-02-12
GB2378345B (en) 2004-03-03
KR100486249B1 (en) 2005-05-03
GB0213247D0 (en) 2002-07-17

Similar Documents

Publication Publication Date Title
JP2003125415A (en) Image processor, and motion estimation method
US8218635B2 (en) Systolic-array based systems and methods for performing block matching in motion compensation
US6970509B2 (en) Cell array and method of multiresolution motion estimation and compensation
US8213515B2 (en) Interpolated skip mode decision in video compression
US8275049B2 (en) Systems and methods of improved motion estimation using a graphics processing unit
US7020201B2 (en) Method and apparatus for motion estimation with all binary representation
KR101578052B1 (en) Motion estimation device and Moving image encoding device having the same
US7035332B2 (en) DCT/IDCT with minimum multiplication
US20090110077A1 (en) Image coding device, image coding method, and image coding integrated circuit
US20060002472A1 (en) Various methods and apparatuses for motion estimation
US20160080766A1 (en) Encoding system using motion estimation and encoding method using motion estimation
EP2773123B1 (en) Padding of frame boundaries for video coding
JP4793070B2 (en) Motion vector search method and apparatus
US8175161B1 (en) System and method for motion estimation
US7792192B2 (en) System and method for sub-pixel interpolation in motion vector estimation
US20030012281A1 (en) Motion estimation apparatus and method for scanning an reference macroblock window in a search area
Lee et al. Multi-pass and frame parallel algorithms of motion estimation in H. 264/AVC for generic GPU
US20050047502A1 (en) Method and apparatus for the efficient representation of interpolated video frames for motion-compensated coding
JP3676237B2 (en) Data processing apparatus and arithmetic unit
US8412003B2 (en) Image processing methods, apparatus and computer program products using interdependent pixel interpolation operations
JP2008060836A (en) Motion vector search method and device
Ismail et al. High performance architecture for real-time HDTV broadcasting
US20100074336A1 (en) Fractional motion estimation engine
JP2007110409A (en) Image processing device and program for making computer perform image processing method
WO2010113340A1 (en) Single instruction multiple data (simd) processor having a plurality of processing elements interconnected by a ring bus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080822

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081007