KR19990041461A - Sub-pixel-based motion estimation method and apparatus therefor - Google Patents

Sub-pixel-based motion estimation method and apparatus therefor Download PDF

Info

Publication number
KR19990041461A
KR19990041461A KR1019970062046A KR19970062046A KR19990041461A KR 19990041461 A KR19990041461 A KR 19990041461A KR 1019970062046 A KR1019970062046 A KR 1019970062046A KR 19970062046 A KR19970062046 A KR 19970062046A KR 19990041461 A KR19990041461 A KR 19990041461A
Authority
KR
South Korea
Prior art keywords
motion vector
pixel
motion
unit
refinement
Prior art date
Application number
KR1019970062046A
Other languages
Korean (ko)
Other versions
KR100269129B1 (en
Inventor
전병우
Original Assignee
윤종용
삼성전자 주식회사
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 윤종용, 삼성전자 주식회사 filed Critical 윤종용
Priority to KR1019970062046A priority Critical patent/KR100269129B1/en
Publication of KR19990041461A publication Critical patent/KR19990041461A/en
Application granted granted Critical
Publication of KR100269129B1 publication Critical patent/KR100269129B1/en

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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • 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

Abstract

본 발명에는 동영상을 부호화하는 동영상 부호화기를 위한 부화소 단위의 움직임 추정 방법과 이를 위한 장치가 개시되어 있다. 소정 크기의 블록으로 분할된 현재 프레임의 각 블록에 대해 이전 또는 이후의 기준 프레임의 소정 크기의 블록을 화소 단위로 탐색해서 두 블록간의 화소차가 최소가 되는 정화소 단위의 움직임 벡터를 추정하는 제1 추정기 및 정화소 단위의 움직임 벡터와 상기 정화소 단위의 움직임 벡터 추정시 발생하는 화소간 에러값을 이용하여, 최적의 부화소 단위의 움직임 벡터를 추정하는 제2 추정기를 포함하는 본 발명은 화소간의 보간을 사용하지 않으면서도 좋은 성능을 유지함으로써 계산량이 획기적으로 감소하고 이에 따른 계산 시간의 감소와 하드웨어 복잡성이 감소된다.The present invention discloses a sub-pixel-based motion estimation method and an apparatus therefor for a moving picture encoding apparatus for encoding a moving picture. A first estimator for searching a block of a predetermined size of a previous or subsequent reference frame for each block of a current frame divided into blocks of a predetermined size on a pixel-by-pixel basis, And a second estimator for estimating an optimal subpixel motion vector using a motion vector of the refinement unit and an inter pixel error value generated upon motion vector estimation of the refinement unit, Maintain good performance without doing so dramatically reduces computation time, resulting in reduced computation time and hardware complexity.

Description

부화소 단위의 움직임 추정 방법 및 이를 위한 장치Sub-pixel-based motion estimation method and apparatus therefor

본 발명은 영상 부호화 분야에 관한 것으로, 특히 화소간 보간을 필요로 하지 않는 간단한 부화소 단위의 움직임 추정 방법 및 이를 위한 장치에 관한 것이다.The present invention relates to a field of image coding, and more particularly, to a simple sub-pixel-based motion estimation method that does not require interpolation between pixels and an apparatus therefor.

화상회의, 고화질 텔레비젼, 주문형 비디오(VOD) 수신기, MPEG(Moving Picture Experts Group) 영상을 지원하는 퍼스널 컴퓨터, 게임기, 지상파 디지털 방송 수신기 디지털 위성 방송 수신기 및 케이블 텔레비젼(CATV)등에서 사용되는 디지털 영상 데이터는 영상 자체의 특성과 아날로그 신호를 디지털화하는 과정에서 데이터량이 크게 늘어나기 때문에 그대로 사용되기 보다는 효율적인 압축방법에 의해 압축된다.Digital image data used in a personal computer, a game machine, a terrestrial digital broadcast receiver, a digital satellite broadcast receiver, and a cable television (CATV) supporting a video conference, a high-definition television, a VOD receiver, a Moving Picture Experts Group Since the amount of data is greatly increased in the process of digitizing analog signals and the characteristics of the video itself, it is compressed by an efficient compression method rather than being used as it is.

디지털 영상 데이터의 압축은 크게 3가지 방법을 이용하고 있다. 시간적인 중복성(temporal redundancy)을 줄이는 방법과 공간적인 중복성(spatial redundancy)를 줄이는 방법 그리고 발생 부호의 통계적 특성을 이용하여 줄이는 방법이 주로 이용된다. 이중에서 시간적인 중복성을 줄이는 대표적인 방법이 바로 움직임 추정 및 보상 방법이다.Compression of digital image data largely uses three methods. A method of reducing temporal redundancy, a method of reducing spatial redundancy, and a method of reducing by using the statistical characteristics of generated codes are mainly used. A typical method for reducing temporal redundancy is motion estimation and compensation.

현재 화면의 특정 부분에 대해 이전 또는 이후의 기준 화면으로부터 가장 유사한 부분을 찾고, 두 부분의 차이성분만을 전송하는 움직임 추정 및 보상 방법은, 가능한 한 움직임 벡터를 정밀하게 찾을수록 전송할 차이성분이 줄어들어 데이터를 더욱 효과적으로 줄일 수 있지만 이전 또는 이후의 화면에서 가장 유사한 부분을 찾기 위해서는 상당한 추정시간과 계산량이 요구되어진다. 따라서, 동영상의 부호화시 시간이 가장 많이 소요되는 움직임 추정시간을 줄이는 노력이 계속되고 있다.The motion estimation and compensation method for finding the most similar portion from the previous or subsequent reference screen for a certain portion of the current screen and transmitting only the difference components of the two portions is as follows. As the motion vector is searched as precisely as possible, Can be reduced more effectively, but it takes a considerable amount of time and computation to find the most similar part of the screen before or after. Therefore, efforts to reduce the motion estimation time, which takes the longest time in coding the moving picture, are continuing.

한편, 움직임 추정 방법은 크게 화소 단위(pixel-by-pixel basis)의 추정방법과 블록 단위(block-by-block basis)의 추정방법이 있다.On the other hand, the motion estimation method is largely a pixel-by-pixel basis estimation method and a block-by-block basis estimation method.

화소 단위의 추정 방법 중 먼저, 정화소(integer pixel) 단위로 움직임 벡터를 찾는 방법으로 2차원 대수적 탐색법(Logarithmic Search), 3단계 탐색법(Three Step Search) 등이 제안되었지만 국부 최소값(local minimum)에 빠질 수 있는 가능성과 부화소(sub-pixel) 단위로까지 더 세밀하게 움직임 벡터를 찾아야 할 필요성 때문에 MPEG-2 등에서는 통상 전역 탐색법(Full Search)을 사용하고 있다.Among the pixel-based estimation methods, a two-dimensional logarithmic search and a three-step search method have been proposed as a method of finding a motion vector in an integer pixel unit, but a local minimum value, MPEG-2 and the like generally use the full search method because of the possibility of falling into a sub-pixel and the necessity of finding a motion vector more finely in a sub-pixel unit.

다음, 움직임 벡터가 화소 단위가 아닐 가능성에 대응하기 위해서 정화소와 정화소 사이를 보간에 의해 더욱 정밀하게 추정하는 부화소 단위의 움직임 추정 방법은 현재 MPEG-2 등에서 채택되어 사용되어지고 있지만 화소간 보간에 의한 계산량과 부호화시간의 증가는 개선되어야할 여지가 많다.Next, a sub-pixel-by-pixel motion estimation method for more precisely estimating between a refinement center and a refinement point by interpolation so as to correspond to a possibility that a motion vector is not a pixel unit is adopted and used in MPEG-2 and the like at present, The increase in the amount of computation and the encoding time due to the increase in the number of frames has a lot of room for improvement.

부화소 단위의 움직임 추정 방법의 일예로 MPEG에서 사용되고 있는 반화소(half-pixel)단위의 움직임 추정인 경우, 1616 화소 크기를 갖는 매크로 블록 단위의 휘도성분으로 움직임을 추정해서 보상하는 데 먼저 인접한 매크로 블록에서 전역 탐색법에 의해 최적의 정화소 단위의 움직임 벡터를 찾는다. 찾은 정화소 단위의 움직임 벡터 근처에서 다시 반화소 단위로 움직임 벡터를 추정하게 되는 데 이때 찾아야 할 최적의 반화소 단위의 움직임 벡터의 후보가 되는 8개의 반화소들은 모두 정화소들간의 보간(반올림 평균)에 의해 구해지게 된다.In the case of the half-pixel-based motion estimation used in MPEG as an example of the sub-pixel-based motion estimation method, 16 In order to estimate and compensate for the motion of a luminance component in units of macroblocks having a pixel size of 16 pixels, an optimal motion-vector unit is searched by a global search method in an adjacent macroblock. The motion vector is estimated again in the half pixel unit near the motion vector of the found video unit. The eight half pixels which are candidates of the optimal motion vector of the half pixel unit to be found at this time are all interpolated (rounding average) .

따라서, 1616 화소 크기의 매크로 블록에서는 81616 반화소들을 보간에 의해 계산해야 하므로 정화소 단위의 움직임 추정보다도 월등히 많은 계산량과 계산 시간이 요구되는 문제점이 있었다.Therefore, 16 In a 16-pixel-size macroblock, 8 16 16 half-pixels have to be calculated by interpolation, so that there is a problem that much more computation time and calculation time are required than motion estimation in the cleansing area.

본 발명의 목적은 계산 시간과 계산량이 줄어드는 부화소 단위의 움직임 벡터를 추정하는 방법을 제공하는 데 있다.It is an object of the present invention to provide a method of estimating a motion vector of a sub-pixel in which a calculation time and a calculation amount are reduced.

본 발명의 다른 목적은 하드웨어 복잡성을 감소시키는 부화소 단위의 움직임 벡터를 추정하는 장치를 제공하는 데 있다.It is another object of the present invention to provide an apparatus for estimating a sub-pixel-based motion vector that reduces hardware complexity.

상기한 목적을 달성하기 위하여, 본 발명에 의한 부화소 단위의 움직임 추정 방법은 동영상 부호화를 위한 움직임 추정 방법에 있어서, 소정 크기의 블록으로 분할된 현재 프레임의 각 블록에 대해 이전 또는 이후의 기준 프레임의 소정 크기의 블록을 화소 단위로 탐색해서 두 블록간의 화소차가 최소가 되는 정화소 단위의 움직임 벡터를 추정하는 단계 및 정화소 단위의 움직임 벡터와 상기 정화소단위의 움직임 벡터 추정시 발생하는 화소간 에러값을 이용하여 최적의 부화소 단위의 움직임 벡터를 추정하는 단계를 포함함을 특징으로 한다.According to another aspect of the present invention, there is provided a motion estimation method for a moving picture encoding method, the method comprising the steps of: estimating, for each block of a current frame divided into blocks of a predetermined size, Estimating a motion vector in a cleansing area unit in which a pixel difference between two blocks is minimized by searching a block of a predetermined size on a pixel-by-pixel basis, and calculating an error value between pixels generated in a motion- And estimating the optimal sub-pixel-based motion vector using the motion vector.

상기한 다른 목적을 달성하기 위하여, 본 발명에 의한 부화소 단위의 움직임 추정 장치는 동영상을 부호화하는 동영상 부호화기를 위한 움직임 추정기에 있어서, 소정 크기의 블록으로 분할된 현재 프레임의 각 블록에 대해 이전 프레임의 소정 크기의 블록을 화소 단위로 탐색해서 두 블록간의 화소차가 최소가 되는 정화소 단위의 움직임 벡터를 추정하는 제1 추정기 및 정화소 단위의 움직임 벡터와 상기 정화소 단위의 움직임 벡터 추정시 발생하는 화소간 에러값을 이용하여 최적의 부화소 단위의 움직임 벡터를 추정하는 제2 추정기를 포함함을 특징으로 한다.According to another aspect of the present invention, there is provided a motion estimator for a moving picture encoding apparatus for encoding a moving picture, the apparatus comprising: A first estimator for searching a block of a predetermined size of pixels in a pixel-by-pixel basis and estimating a motion vector in a cleansing-area unit in which a pixel difference between the two blocks is minimized, and a first estimator for estimating a motion vector in a cleansing- And a second estimator for estimating an optimal sub-pixel-based motion vector using the motion vector.

도 1은 본 발명이 적용되는 동영상 부호화기의 블록도이다.1 is a block diagram of a moving picture encoding apparatus to which the present invention is applied.

도 2는 본 발명에 의한 움직임 추정기의 개략적인 블록도이다.2 is a schematic block diagram of a motion estimator according to the present invention.

도 3은 본 발명의 이해를 돕기 위한 정화소와 반화소의 상대적인 좌표이다.FIG. 3 is a relative coordinate of a refinement center and a half-pixel for facilitating understanding of the present invention.

도 4는 본 발명의 일 실시예에 따른 움직임 추정 방법에서 생성되는 에러값을 평면적으로 나타낸 도면이다.4 is a diagram showing an error value generated in the motion estimation method according to an embodiment of the present invention in a plan view.

도 5는 본 발명의 다른 실시예에 따른 움직임 추정 방법에서 생성되는 에러값을 평면적으로 나타낸 도면이다.5 is a diagram showing an error value generated in a motion estimation method according to another embodiment of the present invention in a plan view.

도 6은 본 발명의 또 다른 실시예에 따른 움직임 추정 방법을 설명하기 위한 정화소와 이웃하는 상,하,좌,우 화소에 가중치를 준 것을 보인 도면이다.FIG. 6 is a diagram illustrating weights for a pixel of a rectifying unit and neighboring upper, lower, left, and right pixels for explaining a motion estimation method according to another embodiment of the present invention.

도 7은 본 발명의 또 다른 실시예에 따른 움직임 추정 방법에서 생성되는 에러값을 평면적으로 나타낸 도면이다.7 is a diagram showing an error value generated in a motion estimation method according to another embodiment of the present invention in a plan view.

도 8의 (a) 내지 (d)는 도 7에 적용되는 움직임 추정 방법에 의해 추정된 움직임 보상 에러곡선을 보인 도면이다.8A to 8D are diagrams showing motion compensation error curves estimated by the motion estimation method applied in FIG.

도 9의 (a) 내지 (c)는 본 발명의 또 다른 실시예에 따른 움직임 추정 방법에 필요한 보간 횟수를 설명하기 위한 도면이다.9A to 9C are views for explaining the number of interpolation times required for the motion estimation method according to another embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명에 의한 부화소 단위의 움직임 추정 방법 및 이를 위한 장치의 바람직한 실시예를 설명하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of a motion estimation method and a motion estimation method therefor according to the present invention will be described with reference to the accompanying drawings.

본 발명이 적용되는 동영상 부호화기의 블록도인 도 1에 있어서, 이 동영상 부호화기는 프레임내(intra-frame) 압축 및 프레임간(inter-frame) 압축을 하며, 예를 들어 I,P,B 프레임 압축의 시퀀스에 따라 행한다.1, which is a block diagram of a moving picture encoding apparatus to which the present invention is applied, the moving picture encoding apparatus performs intra-frame compression and inter-frame compression, and compresses I, .

일반적으로, I 프레임 화소 데이터는 감산기(102)의 영향을 받지 않고 그대로 이산코사인변환(DCT) 연산기(104)로 출력된다. DCT 연산기(104)는 DCT를 88 화소 블록단위로 행하고, 양자화기(106)는 DCT 데이터를 양자화하고, 가변장 부호화기(108)는 양자화된 데이터를 런길이 부호화해서 통계적 부호화를 행하고, 또한, 통계적 부호화된 영상 데이터, 움직임 추정기(122)로부터의 인가되는 움직임 벡터 그리고 매크로블록타입과 같은 부가정보를 다중하여 출력한다. 버퍼(110)는 다중화된 영상 데이터의 비트레이트를 조절하기 위해 일시 저장한다.In general, the I frame pixel data is output to the discrete cosine transform (DCT) calculator 104 as it is without being affected by the subtractor 102. The DCT operator 104 multiplies the DCT by 8 The quantizer 106 quantizes the DCT data. The variable length encoder 108 performs run-length encoding of the quantized data to perform statistical encoding. The variable length encoder 108 performs statistical encoding on the statistically encoded image data, the motion estimator 122 and the additional information such as the macroblock type. The buffer 110 temporarily stores the bit rate of the multiplexed image data.

양자화기(106)로부터 출력되는 압축된 I 프레임은 역양자화기(112)에서 역양자화되고, 역 DCT 연산기(114)는 역양자화된 I프레임에 대해 역 DCT를 수행하여 압축해제된 I 프레임을 가산기(116)에 인가한다. 압축해제된 I 프레임은 가산기(114)의 영향을 받지 않고 그대로 버퍼역할을 하는 프레임 메모리(118)에 전송되고, 이후 P 및 B 프레임을 예측압축하기 위하여 프레임 메모리(150)에 저장된다. P 및 B 프레임의 예측부호화도 유사하며, P 프레임 압축에 대해 설명한다. 프레임 메모리(118)에 저장된 영상 프레임들은 움직임 추정기(120)에 공급된다.The compressed I frame output from the quantizer 106 is inversely quantized by the inverse quantizer 112 and the inverse DCT operator 114 performs inverse DCT on the inversely quantized I frame to output the decompressed I frame to the adder 106. [ Lt; / RTI > The decompressed I frame is transmitted to the frame memory 118, which functions as a buffer, without being affected by the adder 114, and is then stored in the frame memory 150 to predict and compress the P and B frames. Predictive coding of P and B frames is also similar, and P frame compression is described. The image frames stored in the frame memory 118 are supplied to the motion estimator 120. [

움직임 추정기(120)는 현재 입력되는 영상 데이터와 프레임 메모리(118)에 저장된 이전 또는 이후의 기준 프레임의 영상 데이터를 이용하여 움직임 벡터를 계산해서 가변장 부호화기(108) 및 움직임 보상기(122)에 출력한다.The motion estimator 120 calculates a motion vector using the current input image data and the image data of the previous or subsequent reference frame stored in the frame memory 118 and outputs the motion vector to the variable length encoder 108 and the motion compensator 122 do.

움직임 보상기(122)는 움직임 추정기(120)에서 추정된 움직임벡터에 상응하는 블록을 프레임 메모리(118)로부터 독출하여 감산기(102)에 공급한다. 감산기(102)는 현재 압축해제될 프레임에 대응하는 블록으로부터 움직임 보상기(122)를 통해 프레임 메모리(118)로부터의 예측된 블록을 감산하는 데, 화소 대 화소 단위로 감산한다. 감산기(102)의 감산에 의해 얻어진 차 또는 나머지(residue)는 DCT 수행기(104)에 인가된다.The motion compensator 122 reads a block corresponding to the motion vector estimated by the motion estimator 120 from the frame memory 118 and supplies the block to the subtractor 102. The subtractor 102 subtracts the predicted block from the frame memory 118 through the motion compensator 122 from the block corresponding to the current frame to be decompressed, in pixel-by-pixel units. The difference or residue obtained by the subtraction of the subtractor 102 is applied to the DCT performer 104.

한편, 압축 P 프레임은 역 양자화기(112) 및 역 DCT 연산기(114)에서 복호화되고, 복호화된 데이터는 가산기(116)의 제1 입력단에 인가된다. 동시에 현재 프레임을 예측하기 위해 프레임 메모리(118)에 저장된 기준 영상 프레임의 각각의 블록을 억세스하여 억세스된 블록은 움직임 보상기(122)를 통해 가산기(116)의 제2 입력단에 인가된다. 가산기(116)는 부호화된 나머지 또는 차와 움직임 보상기(122)로부터 출력되는 데이터를 가산해서 실제의 이미지를 복원한다. 가산기(116)로부터의 복원된 P 프레임은 이후 P 및 B 프레임을 예측 부호화/복호화하기 위하여 프레임 메모리(118)에 저장된다.On the other hand, the compressed P frame is decoded by the inverse quantizer 112 and the inverse DCT calculator 114, and the decoded data is applied to the first input of the adder 116. At the same time, each block of the reference image frame stored in the frame memory 118 is accessed to predict the current frame, and the accessed block is applied to the second input of the adder 116 via the motion compensator 122. The adder 116 adds the encoded residual or difference and the data output from the motion compensator 122 to reconstruct the actual image. The recovered P frame from the adder 116 is then stored in the frame memory 118 to predict and encode / decode the P and B frames.

도 2는 본 발명에 의한 움직임 추정기의 개략적인 블록도로서, 이 움직임 추정기(200)는 도 1에 적용될 수 있다. 도 2에 있어서, 움직임 추정기(200)는 정화소 단위의 움직임 벡터(MV)를 추정하는 제1 추정기(210)와 찾아낸 정화소의 움직임 벡터를 근거로 하여 최적의 부화소 단위의 움직임벡터(MV')를 추정하는 제2 추정기(220)로 구성된다.FIG. 2 is a schematic block diagram of a motion estimator according to the present invention, and the motion estimator 200 can be applied to FIG. 2, the motion estimator 200 includes a first estimator 210 for estimating a motion vector MV on a per-picture-unit basis, and a motion vector MV ' And a second estimator 220 for estimating the second estimator 220.

제1 추정기(210)는 압축될 현재의 프레임을 매크로블록으로 분할하고, 분할된 현재 프레임에 대해 이전 또는 이후의 기준 프레임의 탐색 영역에서 화소 단위로 탐색하고, 그때마다 평균에러를 계산하여 이 평균에러가 최소가 되는 위치를 찾음으로써 정화소 단위의 움직임 벡터(MV)를 추정하여 출력한다. 제2 추정기(220)는 정화소 단위의 움직임 벡터를 근거로하여 이하 설명될 부화소 단위의 움직임 추정 방법에 의해 최적의 부화소 단위의 움직임 벡터(MV')를 추정한다.The first estimator 210 divides the current frame to be compressed into macroblocks and searches for the divided current frame in the search area of the previous or subsequent reference frame on a pixel-by-pixel basis. Estimates and outputs a motion vector (MV) in a cleansing area by finding a position at which an error is minimized. The second estimator 220 estimates the optimal sub-pixel-based motion vector MV 'based on the motion vector of each cleansing area by the sub-pixel-based motion estimation method to be described below.

이하, 본 발명에서 제안하는 부화소 단위의 움직임 추정 방법에 대하여 설명하기로 한다.Hereinafter, a sub-pixel-based motion estimation method proposed by the present invention will be described.

먼저, 도 3에서표시된 곳은 정화소의 위치들이고,표시된 곳은 반화소의 위치들을 도시하고 있다. 이중 (0,0)좌표는 이미 전역 탐색법에 의해서 찾아진 정화소 단위의 움직임 벡터가 가르키는 곳을 의미한다. 따라서, 반화소 단위의 움직임 벡터는 (0.0) 좌표 자신일 수도 있고, (0,0) 좌표 주변의 8개의 반화소의 좌표 중 하나일 수 있다.3, Marked locations are the locations of the purification plant, The locations shown are the locations of the half pixels. The dual (0, 0) coordinates indicate where the motion vector of the cleansing unit is already pointed by the global search method. Therefore, the motion vector in the half-pixel unit may be the (0.0) coordinate itself or one of the coordinates of the eight half-pixels around the (0, 0) coordinate.

(ⅰ) 일반적인 역 매트릭스법(generalized inverse matrix solution)(I) a generalized inverse matrix solution,

도 3에서 33 화소들로 구성된 평면은 수학식 1과 같은 2차 방정식으로 모델링될 수 있으며, 9개의 미지의 계수로 구성된다.3, A plane composed of three pixels can be modeled by a quadratic equation as shown in Equation (1), and is composed of nine unknown coefficients.

수학식 1에 나타나 있는 방정식은 x나 y 어느 한 값을 고정하면 그 지점의 2차 방정식이 된다. 고정된 x나 y가 변할 때마다 그래프의 기울기가 변하는 2차 곡선이 될 것이다. 전역 탐색 과정에서 이미 찾은 정화소 단위의 움직임 벡터인 (0,0)에서의 에러 차분의 합과 주변 8개의 정화소에서의 에러 차분의 합이 모두 9개이므로 9개의 계수 값을 구할 수 있다. 왼쪽 위 정화소(좌표 (-1,-1))부터 오른쪽 아래 정화소(좌표(1,1))까지 차례로 수학식 1에 대입했을 때, 행렬 형식으로 나타내면 수학식 2와 같이 나타낼 수 있다.The equation shown in Equation 1 becomes a quadratic equation of the point when x or y is fixed. Each time the fixed x or y changes, the slope of the graph will be a quadratic curve that changes. Since the sum of the error difference at (0, 0), which is the motion vector of the refinement unit already found in the global search process, and the sum of the error differences at the surrounding eight purification stations are 9, 9 coefficients can be obtained. (1, 1) to the lower right square (coordinates (1, 1)) in the upper left corner,

여기서, f(n)은 에러 차분의 합을 나타내며, n=1의 경우 좌표(-1,-1)을 표시하고, 정화소 좌표 (0,-1), (1,-1), (-1,0), (0,0), (1,0),(-1,1), (0,1),(1,1)까지 차례로 n=2, ...,9를 의미한다. 움직임 벡터를 구할 경우, 두 영상의 차를 절대값으로 하여 합을 계산하거나 또는 두 영상의 차의 제곱의 합을 계산할 수 있는 데, 본 발명에서는 양쪽 모두를 일반적으로 에러차분의 합으로 표시한다.(1, -1), (-1, -1), (-1, -1), and the coordinates , N = 2, ..., 9 in order from 0, 0, 0, 0, 1, 1, 1, When a motion vector is obtained, the sum can be calculated using the difference between two images as an absolute value, or the sum of squares of differences between two images can be calculated. In the present invention, both are generally expressed as a sum of error differences.

위 수학식 1을 풀기 위해서는 수학식 2의 99 행렬의 역행렬을 구해야 하는 데 이 행렬은 특이하지 않으므로(non-singular) 수학식 3과 같이 역행렬이 구해진다.In order to solve Equation (1), Equation (2) The inverse of the matrix is to be found. Since this matrix is non-singular, the inverse matrix is obtained as in Equation (3).

매 매크로블록에서 언제나 도 3과 같이 정화소 단위의 움직임 벡터가 (0,0)으로 설정되고, 주변은 그 상대적인 값(-1,0 또는 1)으로 설정되기 때문에 매번 역행렬을 구할 필요없이 위 수학식 3과 같이 고정된 값을 사용할 수가 있어서 99 행렬의 역행렬로 인한 계산량의 증가는 전혀 고려할 필요가 없게 된다. 게다가 위 수학식 3의 99 행렬은 성긴 행렬(sparse matrix)이고 규칙적이어서 계산량에 있어서 유리하게 작용할 수 있다.Since every motion block in a macroblock is always set to (0,0) and the surrounding is set to its relative value (-1, 0, or 1) as in FIG. 3, the inverse matrix is not necessarily obtained every time, A fixed value such as 3 can be used. The increase of the calculation amount due to the inverse matrix of the matrix 9 is not necessary to be considered at all. Further, in Equation 3, The 9 matrix is a sparse matrix and can be advantageous in terms of computational complexity.

수학식 3에 의해 구해진 9개의 계수들 c1 c9을 가지고 수학식 1을 완성하여 도 3의 반화소의 각 좌표들을 대입하여 그 좌표에서의 에러 차분의 합의 값을 추정한다. 수학식 4에서 보여진 것처럼 이때도 각 반화소들에 의해 구성되는 99 행렬은 고정적이고 성긴 행렬이며 어느 정도 규칙성이 있음을 알 수 있다.The nine coefficients c 1 < RTI ID = 0.0 > c 9 to complete Equation 1 and substitute the respective coordinates of the half pixels of FIG. 3 to estimate the sum of the error differences in the coordinates. As shown in Equation (4), at this time, 9 9 matrix is a fixed and sparse matrix and has some degree of regularity.

= =

(ⅱ) 최소 자승법(least square solution)(Ii) least square solution

(ⅰ) 방법에서는 9개의 미지수를 가진 방정식을 풀기 위해 9개 좌표의 에러 차분의 합을 이용하였는 데, 좀 더 간단한 방법으로서 위 수학식 1에서 x2y2, x2y, xy2항을 없애면 수학식 5와 같이 주어진다.(I) method uses the sum of the error differences of nine coordinates to solve the equation with nine unknowns. As a simpler method, we use x 2 y 2 , x 2 y, xy 2 in The equation (5) is given.

위 수학식 1에 의해 구해지는 3차원적 에러 차분의 합을 도 4에 도시된 바와 같이 등고선처럼 표시할 때, x,y축에 대하여 대각선방향으로 기울어진 타원형으로 나타낼 수 있다면 위 수학식 5에 의해 구해지는 3차원적 에러 차분의 합은 도 5에 도시된 바와 같이 x축 또는 y축에 수평한 방향으로 찌그러진 형태의 타원만으로 표시되므로 수학식 5는 수학식 1에 비해 보다 간단화된 식이라고 할 수 있다.When the sum of the three-dimensional error differences obtained by the above Equation 1 is represented as a contour line as shown in FIG. 4, it can be represented as an ellipse obliquely inclined in the diagonal direction with respect to the x and y axes, The sum of the three-dimensional error differences calculated by Equation (5) is expressed by only the ellipses that are distorted in the horizontal direction in the x-axis or the y-axis as shown in Fig. 5, can do.

이 수학식 5는 미지수가 6개이므로 필요한 좌표의 수는 6개이지만 주어진 9개의 좌표 중 어느 것을 선택해야 더 정확한 결과를 낼지는 알 수가 없다. 따라서, 수학식 6에서 알 수 있듯이 미지수가 6개이고 주어진 좌표값이 9개일 때 본 발명에서는 수학식 7에 나타나 있는 최소자승법을 사용하게 된다. 그때의 의사 역행렬(pseudo inverse matrix)된 결과는 수학식 8과 같이 주어진다.Since Equation 5 has six unknowns, the number of required coordinates is six, but it is not known which one of the nine given coordinates should be selected to produce a more accurate result. Therefore, as can be seen from Equation (6), when the number of unknowns is 6 and the given coordinate value is 9, the least squares method shown in Equation (7) is used in the present invention. The result of the pseudo inverse matrix at that time is given by Equation (8).

여기서, f는 각 좌표의 에러 차분의 합이고, A는 위 수학식 6에 나타나 있는 69 행렬이고, c는 미지 계수 c1 c6를 나타낸다.Here, f is the sum of the error differences of each coordinate, and A is the sum of error differences of 6 9 matrix, c is the unknown coefficient c 1 c 6 .

이렇게 해서 구해진 계수값을 가지고 (ⅰ) 방법에서 했던 것과 동일하게 수학식 5를 완성하고 수학식 9와 같이 반화소의 각 좌표들을 대입하여 그 좌표에서의 에러 차분의 합의 값을 추정해서 가장 작은 값을 갖는 부화소를 부화소 단위의 움직임 벡터로 추정한다.With the coefficients thus obtained, the equation (5) is completed in the same manner as in the method (i), and the coordinates of the half pixels are substituted as in the equation (9) to estimate the sum of error differences in the coordinates, Pixel as a sub-pixel-based motion vector.

= =

(ⅲ) 가중치 최소 자승법(Iii) weighted least squares method

수학식 5의 해를 구하는 데 있어서, 도 3의 9개의 좌표를 그냥 이용하기 보다는 (0,0)에서 더 가까운 좌표에 가중치를 주어서 계수값을 구하는 방법이다. 이 방법은 (ⅱ) 방법의 수학식 5에 가중치 행렬(W)를 곱하는 단계가 부가된다.In order to obtain the solution of Equation (5), a coefficient is obtained by weighting coordinates closer to (0, 0) rather than just using the nine coordinates in Fig. This method is added to the step (ii) of multiplying Equation (5) of the method by a weighting matrix (W).

도 6에 도시된 바와 같이 전역 탐색법에 의해서 이미 찾은 정화소의 좌표로부터 가까울수록 에러가 작은 것이므로 가까운 좌표에 의한 영향을 더 크게 하여 정확성을 높이기 위함이다. 도 6에 있어서, ■ 부분이 가중치를 준 좌표이다. 즉, (0,-1), (-1,0), (1,0), (0,1)에는 s(side)배의 가중치를 적용하고, (0,0)에는 c'(center)배의 가중치를 적용하면 가중치 행렬(W)은 수학식 10과 같다. c'와 s의 값은 모두 1보다 작고, c'값은 s값보다 작다. 이때, 가중치 최소 자승법(least square solution)을 식으로 나타내면 수학식 11과 같다.As shown in FIG. 6, since the error is smaller as the distance from the coordinates of the cleansing site that has already been found by the global search method is smaller, the influence by the closer coordinates is increased to improve the accuracy. In Fig. 6, the part (2) is the coordinate with which the weight is given. That is, a weight of s (side) is applied to (0, -1), (-1,0), (1,0), (0,1) The weight matrix W is given by Equation 10. < EMI ID = 10.0 > The values of c 'and s are both smaller than 1, and the value of c' is smaller than the value of s. Here, the weighted least squares solution is expressed by Equation (11).

(ⅳ) 간단화된 고속 알고리즘(simplified fast algorithm)(Iv) a simplified fast algorithm,

이 방법은 (ⅱ) 방법보다도 더 간단히 xy항을 없애 버린 것으로 수학식 12를 이용한다.This method uses Equation (12) by eliminating the xy term more simply than (ii) method.

이 수학식 12에 의해 구해지는 에러 차분의 합이 도 7에 도시된 바와 같이 원형의 등고선의 형태가 된다. 또한, 이것은 도 3에서 (0,0)자신과 (0,0)으로부터 가장 가까운 거리에 있는 4점 즉, (0,-1), (-1,0), (1,0), (0,1)만을 이용하므로 정방행렬(square matrix)이 된다. x,y가 분리가능(separable)하다고 가정하면 움직임 보상 에러 E(x)는 수학식 13와 같이 주어질 수 있다.The sum of the error differences obtained by the equation (12) becomes a shape of a circle contour line as shown in Fig. In addition, this means that there are four points (0, -1), (-1,0), (1,0), and (0,0) , 1). Therefore, a square matrix is obtained. Assuming that x and y are separable, the motion compensation error E (x) can be given by Equation (13).

여기서,= 2, a > 0,b< 1 그리고 c0 이다. b는 정확한 움직임 벡터이며, x는 b 주변의 벡터 중 하나라고 하다면 도 8에 도시된 바와 같이 나타낼 수 있다.here, = 2, a > 0, b <1 and c 0. b is an accurate motion vector, and x is one of the vectors around b, it can be represented as shown in FIG.

도 8의 (a)에 있어서, P0는 아래 수학식 14와 같이 나타내어지는 정화소 움직임 벡터(m0,n0)의 움직임 보상 에러의 자승평균(square mean)이고, Y(m,n)과 Y'(m,n)은 각각 현재 프레임과 이전 프레임의 휘도(luminance)값이다. 움직임 벡터의 수평방향(즉, x축 방향)만을 예로 설명하고, 수직방향(즉, y축 방향)은 x,y가 분리가능(separable)하기 때문에 같은 방법으로 구하면 된다.In FIG. 8A, P 0 is a square mean of the motion compensation error of the refinement motion vector (m 0 , n 0 ) represented by Equation (14) below, and Y (m, n) Y '(m, n) are the luminance values of the current frame and the previous frame, respectively. Only the horizontal direction (i.e., the x-axis direction) of the motion vector will be described as an example, and the vertical direction (i.e., the y-axis direction) can be obtained in the same way because x and y are separable.

도 8에서 정화소 단위의 움직임 벡터로부터 좌, 우로 한 화소만큼 이동시킬 때의 움직임 보상 에러의 자승 평균을 P1과 P-1이라 정의하면 이 P1과 P-1도 위와 같은 계산방법으로 구해낼 수 있다.8, when the square mean of the motion compensation error when shifting by one pixel to the left and the right from the motion vector in the unit of the cleansing center is defined as P 1 and P -1 , P 1 and P -1 can be calculated by the above calculation method have.

한편, 모션 보상 예측 에러(prediction error)인 P0,P1,P-1을 이용하여 다음과 같이 나타낼 수 있다.On the other hand, P 0 , P 1 , and P -1 , which are motion compensation prediction errors, can be used as follows.

위 수학식 15에서 (P1-P0)/(P-1-P0)는 정확한 움직임 벡터 b의 값에 의해 결정되므로, 변수 b에 대한 함수 g(b)라고 쓸 수 있다. 이때, (P1-P0)와 (P-1-P0)의 상대 크기에 의해, 찾고져하는 반화소 단위의 최적 움직임 벡터의 x축 성분(MVx')이 m0-0.5, m0, m0+0.5의 어느 것인지를 알 수 있다.Since (P 1 -P 0 ) / (P -1 -P 0 ) in Equation (15) is determined by the value of the correct motion vector b, it can be written as a function g (b) for the variable b. In this case, (P 1 -P 0) and (P -1 -P 0) x-axis component of the optimal motion vector in half pixel units becomes searching, by the relative dimensions of (MV x ') yi 0 -0.5 m, m 0 , and m 0 +0.5.

즉, (P1-P0)가 (P-1-P0)에 비해 충분히 크면 도 8의 (b)에 도시된 바와 같이, MVx'은 m-0.5가 되며, 반대로 (P-1-P0)가 (P1-P0)에 비해 충분히 크면 도 8의 (d)에 도시된 바와 같이 MVx'은 m+0.5가 된다. 위 두 경우를 제외한 경우는 도 8의 (c)에 도시된 것처럼 MVx'은 m0가 된다. 이를 수식으로 나타내면 수학식 16과 같다.That is, (P 1 -P 0) is as shown in full (b) of Figure 8 is greater than (P -1 -P 0), and the MV x 'is a m-0.5, opposed to (P -1 - P 0 ) is sufficiently larger than (P 1 -P 0 ), MV x 'becomes m + 0.5 as shown in FIG. 8 (d). Except for the above two cases, MV x 'becomes m 0 as shown in FIG. 8 (c). This can be expressed by Equation (16).

여기서, MVx'는 수평방향(x축 방향)의 새로운 움직임 벡터이고, 또 다른 수직방향의 움직임 보상 에러 2개를 사용하여 같은 방법으로 수직평향(y축 방향)의 새로운 움직임 벡터를 구할 수 있다. 이와 비슷한 방법에 의해서 4분화소(quarter-pixel) 단위와 같은 다른 정밀도(precision)의 부화소도 쉽게 유도될 수 있다.Here, MV x 'is a new motion vector in the horizontal direction (x-axis direction), and a new motion vector in the vertical direction (y-axis direction) can be obtained in the same way using two motion compensation errors in another vertical direction . Similarly, subpixels of other precision, such as quarter-pixel units, can be easily derived.

이러한 간단화된 고속 알고리즘은 화소간의 차에 대한 에러값이 일반적으로 수학식 13과 같이 모델링되며, 이를 이용하여 직접 반화소 위치에서의 에러값을 계산하는 대신, 정화소 단위 움직임 추정시 이미 계산되어진 에러값을 이용하여, 반화소위치에서의 에러값을 추정해 낼 수 있다는 점을 이용한 것이다.In this simplified high-speed algorithm, the error value for the difference between pixels is generally modeled as shown in Equation (13), and instead of calculating the error value at the half pixel position directly using the error value, Value of the pixel value is used to estimate the error value at the half-pixel position.

= 2 일 때 수학식 16는 수학식 17와 같이 간단히 표현되어진다. = 2, Equation (16) can be simply expressed as Equation (17).

또한,= 1일 때 수학식 16는 수학식 18로 간단히 표현되어진다.Also, = 1, Equation (16) is simply expressed by Equation (18).

수학식 18에서 2에 의한 곱셈은 1비트 이동 연산자(shift operation)에 의해 쉽게 구현될 수 있고, 수학식 17에서 3에 의한 곱셈도 1비트 이동 연산자(shift operation)에 의한 2배 곱셈후 1번 더하면 되므로 이 방법에 의한 곱셈은 단 한번도 없게 된다.The multiplication by 2 in Equation (18) can be easily implemented by a 1-bit shift operation, and the multiplication by Equation (17) to (3) is also performed by 1-bit multiplication by a 1-bit shift operation The multiplication by this method is not performed once.

(ⅴ) 수정된 가중치 최소 자승법(V) modified weighted least squares method

위 수학식 12을 사용함에 있어서 도 3에 도시된 9개의 좌표를 모두 이용하되, (ⅳ)) 방법에서 사용되었던 5개의 좌표(0,-1),(-1,0), (0,0), (1,0), (0,1)에 가중치를 주어 최소 자승법(least square solution)을 사용한다. 구하는 과정은 (ⅲ)과 같다.(0, -1), (- 1,0), (0,0), and (0,0), which were used in the method ), (1,0), (0,1) are weighted and least squares solution is used. The process of obtaining is the same as (iii).

(ⅵ) 부분 보간법(partial interpolation solution)(Vi) partial interpolation solution

곱셈에 의한 복잡성(complexity)이 전혀 없는 (ⅳ) 방법에 의해 우선 반화소를 먼저 찾은 후 정확도를 높이기 위해 바로 그 반화소에서 제일 거리가 가까운 반화소와 (ⅳ) 방법에 의해 찾아진 반화소만을 보간에 의해 다시 에러차분의 합을 구한 후, 그 값들을 비교한다.In order to increase the accuracy after finding the half-pixel first by the method of (iv) having no complexity due to the multiplication, the half-pixel nearest to the nearest half-pixel and the half-pixel found by the method (iv) The sum of error differences is again obtained by interpolation, and the values are compared.

따라서, 도 9의 (a) 내지 (c)에 도시된 바와 같이 3가지 경우가 있을 수 있다. 도 9에 있어서, 정화소의 위치 (0,0)에서의 에러차분의 합은 이미 정화소 단위로 움직임을 찾을 때 구했으므로 그대로 이용한다.는 (ⅳ) 방법에 의해 구해진 반화소이고,는 보간에 의해 다시 에러차분의 합을 구해야 하는 반화소이다.Therefore, there are three cases as shown in Figs. 9 (a) to 9 (c). In FIG. 9, the sum of the error differences at the position (0, 0) of the refinement site is used when it is already found in finding the motion in the refinement unit. Is the half-pixel obtained by the method (iv) Is a half pixel for which the sum of error differences must be found again by interpolation.

반화소 추정을 위해 전역 탐색(full search)시 필요한 보간은 정화소 주변의 8개의 반화소인데 비해 제안하는 방법에 의해 필요한 보간은 도 9의 (a) 및 (b)의 경우에는 3개, 도 9의 (c)의 경우에는 4개가 필요하므로 보간을 이용한 전역 움직임 추정과 거의 같은 성능에 비해 계산량은 절반이하가 된다.9 (a) and 9 (b), the interpolation required by the proposed method is three, while the interpolation required by the proposed method is three, and the interpolation necessary for full- (C), the computation amount is less than half that of global motion estimation using interpolation.

즉, 찾아진 반화소가 정화소 단위의 움직임 벡터의 좌 또는 우측인 경우 보간해야할 반화소는 3개이고, 찾아진 반화소가 정화소 단위의 움직임 벡터의 대각선 방향인 경우 보간해야할 반화소도 3개이고, 찾아진 반화소가 정화소 단위의 움직임 벡터의 상, 하, 또는 그 자신인 경우 보간해야할 반화소는 4개이다.In other words, if the half-pixel found is the left or right side of the motion vector of the cleansing unit, there are three half-pixels to be interpolated, and if the half-pixel is the diagonal direction of the motion- If the half-pixel is the motion vector of the refinement unit, or if it is itself, there are four half-pixels to be interpolated.

본 발명의 구현은 응용 분야에 따라서 소프트웨어에 의할 수도 있고, 고속 실시간 처리를 위해 하드웨어에 의할 수 있다.Implementations of the invention may be implemented in software, depending on the application, or in hardware for high-speed real-time processing.

본 발명은 화소간의 보간을 사용하지 않으면서도 좋은 성능을 갖는 부화소 단위의 움직임 추정 방법으로서, 계산량이 획기적으로 감소하고 이에 따른 계산 시간의 감소와 하드웨어 복잡성이 감소되는 효과가 있다.The present invention is a sub-pixel-based motion estimation method which has good performance without interpolation between pixels, and has the effect of drastically reducing the amount of computation, thereby reducing computation time and hardware complexity.

Claims (22)

동영상 부호화를 위한 움직임 추정 방법에 있어서:A motion estimation method for moving picture encoding, comprising: (a) 소정 크기의 블록으로 분할된 현재 프레임의 각 블록에 대해 이전 또는 이후의 기준 프레임의 소정 크기의 블록을 화소단위로 탐색해서 두 블록간의 화소차가 최소가 되는 정화소 단위의 움직임 벡터를 추정하는 단계; 및(a) For each block of a current frame divided into blocks of a predetermined size, a block of a predetermined size of a previous frame or a subsequent reference frame is searched for every pixel to estimate a motion vector in a cleansing area where the pixel difference between the two blocks is the smallest step; And (b) 상기 정화소 단위의 움직임 벡터와 상기 정화소 단위의 움직임 벡터 추정시 발생하는 화소간 에러값을 이용하여, 최적의 부화소 단위의 움직임 벡터를 추정하는 단계를 포함함을 특징으로 하는 움직임 추정 방법.(b) estimating a motion vector of an optimal sub-pixel unit using the motion vector of the refinement unit and the inter-pixel error value generated when the motion vector estimating unit of the refinement unit is used. . 제1항에 있어서, 상기 (b)단계는,The method of claim 1, wherein the step (b) (b1) 상기 정화소 단위의 움직임 벡터와 그 주위의 8개의 정화소들로 구성된 평면을 나타내는 아래 식을 위한 계수들을 상기 정화소들에 대한 화소간 에러값들을 이용하여 계산하는 단계;(b1) calculating coefficients for the following equation representing a plane composed of the motion vector of the cleansing area unit and the surrounding eight pixels thereof using pixel error values for the pixels; --(1) --(One) (b2) 계산된 계수들과 상기 정화소 단위의 움직임 벡터 주위의 부화소들의 각 좌표들을 상기 식(1)에 대입하여 부화소들의 각 좌표에서의 에러 차분의 합의 값을 추정하는 단계; 및(b2) substituting the calculated coefficients and the respective coordinates of the sub-pixels around the motion vector of the refinement unit into the equation (1) to estimate the sum of error differences in each coordinate of the sub-pixels; And (b3) 각 좌표에서의 에러 차분의 합이 가장 작은 값을 갖는 위치를 최적의 부화소 단위의 움직임 벡터로 결정하는 단계를 포함함을 특징으로 하는 움직임 추정 방법.(b3) determining a position having a smallest sum of error differences in each coordinate as an optimal sub-pixel unit motion vector. 제1항에 있어서, 상기 (b)단계는,The method of claim 1, wherein the step (b) (b11) 상기 정화소 단위의 움직임 벡터와 그 주위의 정화소들중 최소 자승법을 이용하여 제1 소정수의 정화소들을 선택하는 단계;(b11) selecting a first predetermined number of purification sites using the least squares method among the motion vectors of the purification unit unit and the surrounding purification units; (b12) 상기 제1 소정수의 정화소에 대한 상기 화소에러값들을 이용하여 아래 식을 위한 상기 제1 소정수의 계수들을 계산하는 단계;(b12) calculating the first predetermined number of coefficients for the following equation using the pixel error values for the first predetermined number of purification points; ---(2) ---(2) (b13) 상기 제1 소정수의 계수들과 상기 정화소 단위의 움직임 벡터 주위의 부화소들의 각 좌표들을 상기 식(2)에 대입하여 부화소들의 각 좌표에서의 에러 차분의 합의 값을 추정하는 단계; 및(b13) substituting the first predetermined number of coefficients and the respective coordinates of the sub-pixels around the motion vector in the reflex center into the equation (2) to estimate the sum of error differences in each coordinate of the sub-pixels ; And (b14) 각 좌표에서의 에러 차분의 합이 가장 작은 값을 갖는 위치를 최적의 부화소 단위의 움직임 벡터로 결정하는 단계를 포함함을 특징으로 하는 움직임 추정 방법.(b14) determining a position having a smallest sum of error differences in each coordinate as an optimal sub-pixel unit motion vector. 제3항에 있어서, 상기 (b11)단계에서는 상기 정화소 단위의 움직임 벡터와 그 주위의 정화소들 중 일부의 정화소들에 가중치를 주어 최소 자승법을 이용하여 제1 소정수의 정화소들을 선택하는 것을 특징으로 하는 움직임 추정 방법.4. The method of claim 3, wherein in step (b11), a first predetermined number of purifiers is selected using a least squares method, by weighting the purifiers of the purifier-unit motion vectors and some of the surrounding purifiers. / RTI &gt; 제4항에 있어서, 상기 정화소 단위의 움직임 벡터의 좌표에는 제1 소정값의 가중치를 적용하고, 상기 정화소 단위의 움직임 벡터의 상,하,좌,우 정화소의 좌표에는 제2 소정값의 가중치를 적용하며, 상기 제1 가중치는 제2 가중치보다 작고, 제1 및 제2 가중치는 "1" 보다 작은 값임을 특징으로 하는 움직임 추정 방법.5. The method of claim 4, wherein a weight of a first predetermined value is applied to the coordinates of the motion vector of the refinement unit, and a weight of a second predetermined value is applied to the coordinates of the upper, lower, left, Wherein the first weight is smaller than the second weight, and the first and second weights are smaller than " 1 ". 제1항에 있어서, 상기 (b)단계는,The method of claim 1, wherein the step (b) (b21) 상기 정화소 단위의 움직임 벡터로부터 수평 및 수직 방향으로 주변화소위치에서의 움직임 보상 에러치를 각각 산출하는 단계; 및(b21) calculating motion compensation error values at neighboring pixel positions in the horizontal and vertical directions from the motion vector of each refinement unit; And (b22) 상기 산출된 움직임 보상 에러치들을 상기 정화소 단위의 움직임 벡터의 움직임 보상 에러치에 근거하여 비교해서 최적의 부화소 단위의 움직임 벡터를 추정하는 단계를 포함함을 특징으로 하는 움직임 추정 방법.(b22) comparing the calculated motion compensation error values based on the motion compensation error value of the motion-picture-unit motion vector unit to estimate an optimal sub-pixel motion vector. 제6항에 있어서, 상기 (b22)단계에서는,7. The method of claim 6, wherein, in the step (b22) 이후 기준 프레임의 블록(이전 블록)과 현재 프레임의 블록(현재 블록)간의 움직임 보상 에러치가 이전 기준 프레임의 블록(이후 블록)과 현재 블록간의 움직임 보상 에러치보다 충분히 크면 상기 정화소의 좌측 및 하측에 있는 반화소가 최적의 부화소 단위의 움직임 벡터의 x성분 및 y성분으로 추정하고, 반대로 이전 블록과 현재 블록간의 움직임 보상 에러치가 이후 블록과 현재 블록간의 움직임 보상 에러치보다 충분히 크면 상기 정화소의 우측 및 상측에 있는 반화소가 최적의 부화소 단위의 움직임 벡터의 x성분 및 y성분으로 추정하고, 그렇지 않으면 상기 정화소를 부화소 단위의 움직임 벡터로 추정하는 것을 특징으로 하는 움직임 추정 방법.If the motion compensation error value between the block of the reference frame (the previous block) and the block of the current frame (the current block) is larger than the motion compensation error value between the block of the previous reference frame and the current block, The motion compensation error value between the previous block and the current block is sufficiently larger than the motion compensation error value between the current block and the current block. If the motion compensation error value between the previous block and the current block is sufficiently larger than the motion compensation error value between the current block and the current block, And an upper half pixel is estimated as an x component and a y component of an optimal subpixel motion vector, and otherwise, the refinement portion is estimated as a subpixel motion vector. 제6항에 있어서, 상기 (b)단계는,7. The method of claim 6, wherein step (b) (b31) 상기 정화소 단위의 움직임 벡터와 그 주위의 정화소들 중 상기 정화소 단위의 움직임 벡터의 상, 하, 좌, 우 정화소의 좌표값에 가중치를 주어 최소 자승법을 이용하여 제2 소정수의 정화소들을 선택하는 단계;(b31) Weights are applied to the coordinate values of the motion vectors of the refinement unit and the surrounding pixels of the motion vectors of the refinement unit, and the second predetermined number of refinement points is calculated using the least squares method Selecting; (b32) 상기 제2 소정수의 정화소들에 대한 화소간 에러값을 이용하여 아래 식을 위한 상기 제2 소정수의 계수들을 계산하는 단계;(b32) calculating the second predetermined number of coefficients for the following equation using the inter pixel error value for the second predetermined number of pixels; ---(3) --- (3) (b33) 상기 제2 소정수의 계수와 상기 정화소 단위의 움직임 벡터 주위의 부화소들의 각 좌표들을 상기 식(3)에 대입하여 부화소의 각 좌표에서의 에러 차분의 합의 값을 추정하는 단계; 및(b33) substituting the second predetermined number of coefficients and the respective coordinates of the sub-pixels around the motion vector of the refinement unit into the equation (3) to estimate a sum of error differences in each coordinate of the sub-pixel; And (b34) 각 좌표에서의 에러 차분의 합이 가장 작은 값을 갖는 위치를 최적의 부화소 단위의 움직임 벡터로 결정하는 단계를 포함함을 특징으로 하는 움직임 추정 방법.(b34) determining a position having a smallest sum of error differences in each coordinate as an optimal sub-pixel unit motion vector. 제8항에 있어서, 상기 정화소 단위의 움직임 벡터의 좌표에는 제1 소정값의 가중치를 적용하고, 상기 정화소 단위의 움직임 벡터의 상,하,좌,우 정화소의 좌표에는 제2 소정값의 가중치를 적용하며, 상기 제1 가중치는 제2 가중치보다 작고, 제1 및 제2 가중치는 "1" 보다 작은 값임을 특징으로 하는 움직임 추정 방법.The method of claim 8, wherein a weight of a first predetermined value is applied to the coordinates of the motion vector of the refinement unit, and a weight of a second predetermined value is applied to the coordinates of the upper, lower, left, Wherein the first weight is smaller than the second weight, and the first and second weights are smaller than " 1 ". 제8항에 있어서, 상기 (b)단계는,9. The method of claim 8, wherein step (b) (b35) 상기 (b34)단계에서 찾아진 부화소와 이 찾아진 부화소에서 제일 거리가 가까운 부화소들을 보간에 의해 에러차분의 합을 구하는 단계; 및(b35) obtaining a sum of error differences by interpolating subpixels nearest to the nearest distance from the searched subpixel in step (b34); And (b36) 상기 (b35)단계에서 구해진 에러 차분의 합들을 비교해서 가장 작은 값을 갖는 위치를 최적의 부화소 단위의 움직임 벡터로 결정하는 단계를 더 포함함을 특징으로 하는 움직임 추정 방법.(b36) comparing the sum of the error differences obtained in the step (b35), and determining a position having the smallest value as a motion vector of an optimal sub-pixel unit. 제10항에 있어서, 상기 (b35)단계에서는 상기 (b34)단계에서 찾아진 부화소가 정화소 단위의 움직임 벡터의 좌, 우, 또는 대각선 방향에 위치하는 경우 보간해야할 부화소의 개수는 3개이고, 찾아진 부화소가 정화소 단위의 움직임 벡터의 상, 하 또는 그 자신일 경우 보간해야 할 부화소수의 개수는 4개임을 특징으로 하는 움직임 추정 방법.11. The method of claim 10, wherein, in step (b35), when the subpixel found in step (b34) is located in the left, right, or diagonal direction of the motion vector of the refinement unit, the number of subpixels to be interpolated is three, Wherein the number of sub-pixels to be interpolated is four when the searched sub-pixel is up, down, or itself of a motion vector of a refinement unit. 동영상을 부호화하는 동영상 부호화기를 위한 움직임 추정기에 있어서:1. A motion estimator for a moving picture encoder for encoding a moving picture, the motion estimator comprising: 소정 크기의 블록으로 분할된 현재 프레임의 각 블록에 대해 이전 또는 이후의 기준 프레임의 소정 크기의 블록에서 화소 단위로 탐색해서 두 블록간의 화소차가 최소가 되는 정화소 단위의 움직임 벡터를 추정하는 제1 추정기; 및A first estimator for estimating a motion vector in a cleansing area in which a pixel difference between two blocks is minimized by searching for each block of a current frame divided into blocks of a predetermined size, ; And 상기 정화소 단위의 움직임 벡터와 상기 정화소 단위의 움직임 벡터 추정시 발생하는 화소간 에러값을 이용하여 최적의 부화소 단위의 움직임 벡터를 추정하는 제2 추정기를 포함함을 특징으로 하는 움직임 추정기.And a second estimator for estimating an optimal sub-pixel-by-pixel motion vector using the motion vector of each of the refinement units and the inter-pixel error value generated when estimating the motion vector of each refinement unit. 제12항에 있어서, 상기 제2 추정기는,13. The apparatus of claim 12, wherein the second estimator comprises: 상기 정화소 단위의 움직임 벡터와 그 주위의 8개의 정화소들로 구성된 평면을 나타내는 아래 식을 위한 계수들을 상기 정화소들에서의 상기 화소간 에러값들을 이용하여 계산하는 제1 계산기; 및A first calculator for calculating coefficients for the following equation expressing a plane composed of the motion vector of the refinement unit and eight surrounding pixels thereof using the inter pixel error values in the pixels; And 계산된 계수들과 상기 정화소 단위의 움직임 벡터인 부화소와 주위의 부화소들의 각 좌표들을 이용하여 부화소들의 각 좌표에서의 에러 차분의 합의 값중 가장 작은 값을 갖는 위치를 최적의 부화소 단위의 움직임 벡터로 결정하는 결정기를 포함함을 특징으로 하는 움직임 추정기.A position having the smallest value of the sum of error differences at each coordinate of the subpixels is calculated by using the calculated coefficients and the coordinates of the subpixel, which is a motion vector of the refinement unit, and surrounding subpixels, And a determiner for determining the motion vector as a motion vector. 제12항에 있어서, 상기 제2 추정기는,13. The apparatus of claim 12, wherein the second estimator comprises: 상기 정화소 단위의 움직임 벡터와 그 주위의 정화소들 중 최소 자승법을 이용하여 제1 소정수의 정화소들을 선택하는 선택기;A selector for selecting a first predetermined number of cleansing sites by using a least squares method among the motion vectors of the cleansing site unit and surrounding cleansing sites; 상기 제1 소정수의 정화소들에 대한 상기 화소간 에러값을 이용하여 아래 식을 위한 상기 제1 소정수의 계수들을 계산하는 계산기; 및A calculator for calculating the first predetermined number of coefficients for the following equation using the inter pixel error value for the first predetermined number of pixels; And 상기 제1 소정수의 계수들과 상기 정화소 단위의 움직임 벡터인 부화소와 그 주위의 부화소들의 각 좌표들을 이용하여 부화소들의 각 좌표에서의 에러 차분의 합중 가장 작은 값을 갖는 위치를 최적의 부화소 단위의 움직임 벡터로 결정하는 결정기를 포함함을 특징으로 하는 움직임 추정기.Using the first predetermined number of coefficients and the coordinates of the subpixel, which is the motion vector of the refinement unit, and the surrounding subpixels, a position having the smallest value of the error difference in each coordinate of the subpixels is referred to as an optimal And determining a motion vector of the subpixel unit as a motion vector. 제14항에 있어서, 상기 선택기는 상기 정화소 단위의 움직임 벡터와 그 주위의 정화소들중 일부의 정화소들에 가중치를 주어 최소 자승법을 이용하여 제1 소정수의 정화소들을 선택하는 것을 특징으로 하는 움직임 추정기.15. The motion estimator of claim 14, wherein the selector selects a first predetermined number of refinement points using a least squares method by weighting the refinement units of the refinement-area-based motion vector and a part of the refiners of the surrounding refinement units. . 제15항에 있어서, 상기 정화소 단위의 움직입 벡터의 좌표에는 제1 소정값의 가중치를 적용하고, 상기 정화소 단위의 움직임 벡터의 상,하,좌,우 정화소의 좌표에는 제2 소정값의 가중치를 적용하며, 상기 제1 가중치는 제2 가중치보다 작고, 제1 및 제2 가중치는 "1" 보다 작은 값임을 특징으로 하는 움직임 추정기.The method of claim 15, wherein a weight of a first predetermined value is applied to the coordinates of the motion vector of the refinement unit, and a weight of a second predetermined value is applied to the coordinates of the upper, Wherein the first weight is smaller than the second weight and the first and second weights are smaller than " 1 ". 제12항에 있어서, 상기 제2 추정기는,13. The apparatus of claim 12, wherein the second estimator comprises: 상기 정화소 단위의 움직임 벡터로부터 수평 및 수직 방향으로 주변 화소위치에서의 움직임 보상 에러치를 각각 산출하는 계산기; 및A calculator for calculating motion compensation error values at neighboring pixel positions in the horizontal and vertical directions from the motion vector of each refinement unit; And 상기 산출된 움직임 보상 에러치들을 상기 정화소 단위의 움직임 벡터의 움직임 보상 에러치에 근거하여 비교해서 최적의 부화소 단위의 움직임 벡터를 결정하는 결정기를 포함함을 특징으로 하는 움직임 추정기.And a determiner for determining an optimal sub-pixel-based motion vector by comparing the calculated motion compensation error values on the basis of the motion compensation error value of the motion-vector-based motion vector. 제17항에 있어서, 상기 결정기는,18. The apparatus of claim 17, 이후 기준 프레임의 블록(이전 블록)과 현재 프레임의 블록(현재 블록)간의 움직임 보상 에러치가 이전 기준 프레임의 블록(이후 블록)과 현재 블록간의 움직임 보상 에러치보다 충분히 크면 상기 정화소의 좌측 및 하측에 있는 반화소가 최적의 부화소 단위의 움직임 벡터의 x성분 및 y성분으로 결정하고, 반대로 이전 블록과 현재 블록간의 움직임 보상 에러치가 이후 블록과 현재 블록간의 움직임 보상 에러치보다 충분히 크면 상기 정화소의 우측 및 상측에 있는 반화소가 최적의 부화소 단위의 움직임 벡터의 x성분 및 y성분으로 결정하고, 그렇지 않으면 상기 정화소를 부화소 단위의 움직임 벡터로 결정하는 것을 특징으로 하는 움직임 추정기.If the motion compensation error value between the block of the reference frame (the previous block) and the block of the current frame (the current block) is larger than the motion compensation error value between the block of the previous reference frame and the current block, The motion compensation error value between the previous block and the current block is sufficiently larger than the motion compensation error value between the current block and the subsequent block. If the motion compensation error value between the previous block and the current block is sufficiently larger than the motion compensation error value between the current block and the current block, And an upper half pixel is determined as an x component and a y component of an optimal sub-pixel motion vector, and otherwise the motion vector is determined as a sub-pixel motion vector. 제17항에 있어서, 상기 제2 추정기는,18. The apparatus of claim 17, wherein the second estimator comprises: 상기 정화소 단위의 움직임 벡터와 그 주위의 정화소들 중 일부의 정화소의 좌표값에 가중치를 주어 최소 자승법을 이용하여 제2 소정수의 정화소들을 선택하는 선택기;A selector for weighting the coordinate values of the motion vectors of the refinement unit and the refinement centers of the surrounding refinement sites and selecting the second predetermined number of refinement sites using the least squares method; 상기 제2 소정수의 정화소들에서의 화소간 에러값을 이용하여 아래 식을 위한 상기 제2 소정수의 계수들을 계산하는 계산기; 및A calculator to calculate the second predetermined number of coefficients for the following equation using the inter pixel error value in the second predetermined number of pixels; And 상기 제2 소정수의 계수와 상기 정화소 단위의 움직임 벡터인 부화소와 그 주위의 부화소들의 각 좌표들을 이용하여 부화소의 각 좌표에서의 에러 차분의 합 중 가장 작은 값을 갖는 위치를 최적의 부화소 단위의 움직임 벡터로 결정하는 결정기를 포함함을 특징으로 하는 움직임 추정기.Using the second predetermined number of coefficients and the coordinates of the subpixel, which is a motion vector of the refinement unit, and the surrounding subpixels, a position having the smallest value among the sum of error differences in each coordinate of the subpixel is referred to as an optimal And determining a motion vector of the subpixel unit as a motion vector. 제19항에 있어서, 상기 정화소 단위의 움직입 벡터의 좌표에는 제1 소정값의 가중치를 적용하고, 상기 정화소 단위의 움직임 벡터의 상,하,좌,우 정화소의 좌표에는 제2 소정값의 가중치를 적용하며, 상기 제1 가중치는 제2 가중치보다 작고, 제1 및 제2 가중치는 "1" 보다 작은 값임을 특징으로 하는 움직임 추정기.The method of claim 19, wherein a weight of a first predetermined value is applied to the coordinates of the motion vector of the refinement unit, and a weight of a second predetermined value is applied to the coordinates of the upper, Wherein the first weight is smaller than the second weight and the first and second weights are smaller than " 1 ". 제19항에 있어서, 상기 제2 추정기는,20. The apparatus of claim 19, wherein the second estimator comprises: 상기 결정기에서 찾아진 부화소와 이 찾아진 부화소에서 제일 거리가 가까운 부화소들을 보간에 의해 에러차분의 합을 구하는 보간기; 및An interpolator for obtaining a sum of error differences by interpolating subpixels nearest to the closest distance from the subpixel found in the determiner; And 상기 보간기에서 구해진 에러 차분의 합들을 비교해서 가장 작은 값을 갖는 위치를 최적의 부화소 단위의 움직임 벡터로 결정하는 비교기를 더 포함함을 특징으로 하는 움직임 추정기.Further comprising a comparator for comparing the sums of error differences obtained in the interpolator and determining a position having the smallest value as an optimal sub-pixel unit motion vector. 제21항에 있어서, 상기 보간기는 상기 결정기에서 찾아진 부화소가 정화소 단위의 움직임 벡터의 좌, 우 또는 대각선 방향에 위치한 경우 보간해야할 부화소의 개수는 3개이고, 찾아진 부화소가 정화소 단위의 움직임 벡터의 상, 하 또는 그 자신일 경우 보간해야 할 부화소수의 개수는 4개임을 특징으로 하는 움직임 추정기.The apparatus of claim 21, wherein the interpolator has three interpolators to interpolate when the subpixel searched in the determiner is located in the left, right, or diagonal direction of the motion vector of the refinement unit, Wherein the number of macroblocks to be interpolated when the motion vector is up, down, or itself is four.
KR1019970062046A 1997-11-21 1997-11-21 Motion estimation method using subpixel-by-subpixel basis and apparatus therefor KR100269129B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970062046A KR100269129B1 (en) 1997-11-21 1997-11-21 Motion estimation method using subpixel-by-subpixel basis and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970062046A KR100269129B1 (en) 1997-11-21 1997-11-21 Motion estimation method using subpixel-by-subpixel basis and apparatus therefor

Publications (2)

Publication Number Publication Date
KR19990041461A true KR19990041461A (en) 1999-06-15
KR100269129B1 KR100269129B1 (en) 2000-10-16

Family

ID=19525323

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970062046A KR100269129B1 (en) 1997-11-21 1997-11-21 Motion estimation method using subpixel-by-subpixel basis and apparatus therefor

Country Status (1)

Country Link
KR (1) KR100269129B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100423504B1 (en) * 2001-09-24 2004-03-18 삼성전자주식회사 Line interpolation apparatus and method for image signal
KR100580194B1 (en) * 2004-06-11 2006-05-16 삼성전자주식회사 Sub pixel motion estimation method and apparatus reducing a bit precision
KR100587274B1 (en) * 1999-07-22 2006-06-08 엘지전자 주식회사 method for concealing error in MPEG-2 decompression system
KR100602148B1 (en) * 1997-12-30 2006-11-30 엘지전자 주식회사 Method for motion picture encoding use of the a quarter of a pixel motion vector in mpeg system
KR100708114B1 (en) * 2004-09-23 2007-04-16 삼성전자주식회사 Encoder and Decoder with interpolation apparatus for moving vector compensation
KR100926440B1 (en) * 2002-06-26 2009-11-13 이문기 Block matching motion estimation apparatus for picture coding

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8149918B2 (en) 2005-11-10 2012-04-03 Electronics And Telecommunications Research Institute Method of estimating coded block pattern and method of determining block mode using the same for moving picture encoder

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100602148B1 (en) * 1997-12-30 2006-11-30 엘지전자 주식회사 Method for motion picture encoding use of the a quarter of a pixel motion vector in mpeg system
KR100587274B1 (en) * 1999-07-22 2006-06-08 엘지전자 주식회사 method for concealing error in MPEG-2 decompression system
KR100423504B1 (en) * 2001-09-24 2004-03-18 삼성전자주식회사 Line interpolation apparatus and method for image signal
KR100926440B1 (en) * 2002-06-26 2009-11-13 이문기 Block matching motion estimation apparatus for picture coding
KR100580194B1 (en) * 2004-06-11 2006-05-16 삼성전자주식회사 Sub pixel motion estimation method and apparatus reducing a bit precision
KR100708114B1 (en) * 2004-09-23 2007-04-16 삼성전자주식회사 Encoder and Decoder with interpolation apparatus for moving vector compensation

Also Published As

Publication number Publication date
KR100269129B1 (en) 2000-10-16

Similar Documents

Publication Publication Date Title
US5598216A (en) Method and apparatus for encoding/decoding a video signal
US5659365A (en) Video compression
US6275532B1 (en) Video coding device and video decoding device with a motion compensated interframe prediction
US5587741A (en) Apparatus and method for detecting motion vectors to half-pixel accuracy
CA2702769C (en) Motion estimation and compensation of video object planes for interlaced digital video
US5546129A (en) Method for encoding a video signal using feature point based motion estimation
US5532747A (en) Method for effectuating half-pixel motion compensation in decoding an image signal
US5612743A (en) Method for encoding a video signal using feature point based motion estimation
KR100739281B1 (en) Motion estimation method and appratus
US20130128980A1 (en) Motion vector predictive encoding method, motion vector decoding method, predictive encoding apparatus and decoding apparatus, and storage media storing motion vector predictive encoding and decoding programs
US7088772B2 (en) Method and apparatus for updating motion vector memories
EP1296523A2 (en) Method and apparatus for improved motion estimation and compensation in digital video compression and decompression
JPH07193823A (en) Image data block conversion system
US20020034250A1 (en) Motion vector coding method
GB2329783A (en) Encoding video signal search block motion vectors based on the number of valid reference block motion vectors
JPH08205165A (en) Image processing system
US5689312A (en) Block matching motion estimation method
KR100269129B1 (en) Motion estimation method using subpixel-by-subpixel basis and apparatus therefor
KR100439183B1 (en) Stochastic sampling based pel motion estimation method
US5579050A (en) Apparatus for encoding a video signal using a search grid
EP1819173B1 (en) Motion vector predictive encoding apparatus and decoding apparatus
KR100393063B1 (en) Video decoder having frame rate conversion and decoding method
US5790207A (en) Motion compensation method for use in an image encoding system
US7386050B2 (en) Fast half-pel searching method on the basis of SAD values according to integer-pel search and random variable corresponding to each macro block
KR0154920B1 (en) Motion estimation device of video encoding apparatus

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080627

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee