KR0185842B1 - A motion estimator for a video coder - Google Patents

A motion estimator for a video coder Download PDF

Info

Publication number
KR0185842B1
KR0185842B1 KR1019950028339A KR19950028339A KR0185842B1 KR 0185842 B1 KR0185842 B1 KR 0185842B1 KR 1019950028339 A KR1019950028339 A KR 1019950028339A KR 19950028339 A KR19950028339 A KR 19950028339A KR 0185842 B1 KR0185842 B1 KR 0185842B1
Authority
KR
South Korea
Prior art keywords
motion estimation
data
frame
image data
reverse
Prior art date
Application number
KR1019950028339A
Other languages
Korean (ko)
Other versions
KR970014397A (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 KR1019950028339A priority Critical patent/KR0185842B1/en
Publication of KR970014397A publication Critical patent/KR970014397A/en
Application granted granted Critical
Publication of KR0185842B1 publication Critical patent/KR0185842B1/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/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/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/17Methods 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 an image region, e.g. an object
    • H04N19/172Methods 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 an image region, e.g. an object the region being a picture, frame or field
    • 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/513Processing of motion vectors
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 영상 부호화기에서의 움직임 추정 장치에 관한 것으로서, 본 발명의 장치는 프레임 단위의 두 영상 데이타로 분리하는 디멀티플렉서(30)와; 상기 분리된 정,역방향의 기준 프레임을 저장하는 제1,2 프레임 메모리(32a,32b); 상기 저장된 영상 데이타를 정,역방향의 데이타로 분리하여 전송하는 멀티플렉서(34); 상기 전송된 정,역방향의 데이타를 입력받아 움직임 추정을 행하는 제1,2 움직임 추정부(36a,36b); 상기 전송된 정,역방향의 데이타에서 탐색 영역에 해당하는 데이타를 저장하고 상기 두 움직임 추정부(36a,36b)로부터의 움직임 벡터를 입력받는 제1,2 탐색 영역 메모리(38a,38b); 상기 정,역방향의 움직임 추정 결과를 지연하는 제1,2 지연부(40a,40b); 현재 프레임을 지연하는 제 3 지연부(40c); 상기 두 탐색 영역 메모리(38a,38b)로부터 구해진 정,역방향의 영상 데이타를 평균낸 후 상기 지연된 현재 프레임의 데이타와의 차이를 계산해내는 보간 모드 에러 계산부(42); 및 정,역방향,보간 모드 중 현재 프레임의 데이타와 가장 유사한 것을 선택하고 선택된 모드의 움직임 벡터를 출력하는 모드 선택부(44)로 구성되어 있으며, 두 탐색 영역 메모리(38a,38b)를 보간 모드에 대한 에러 값을 계산하는 전용 메모리로 사용하므로써, 두 프레임 메모리(32a,32b)의 동작 속도를 빠르게 하지 않아도 되기 때문에 영상 부호화기의 구현이 더 용이하고 비용도 절감할 수 있다는데 그 이점이 있다.The present invention relates to a motion estimation apparatus in an image encoder, the apparatus comprising: a demultiplexer (30) for separating two image data in units of frames; First and second frame memories 32a and 32b for storing the divided forward and reverse reference frames; A multiplexer (34) for separating and storing the stored image data into forward and reverse data; First and second motion estimation units 36a and 36b which receive the forward and reverse data and perform motion estimation; First and second search region memories 38a and 38b that store data corresponding to a search region from the forward and reverse data and receive motion vectors from the two motion estimation units 36a and 36b; First and second delay units 40a and 40b for delaying the forward and reverse motion estimation results; A third delay unit 40c delaying the current frame; An interpolation mode error calculator (42) which averages forward and reverse image data obtained from the two search area memories (38a, 38b) and calculates a difference from the delayed current frame data; And a mode selector 44 which selects the most similar to the data of the current frame among the forward, reverse, and interpolation modes and outputs a motion vector of the selected mode. The two search area memories 38a and 38b are interpolated to the interpolation mode. By using the dedicated memory for calculating the error value for the error, the operation of the two frame memories (32a, 32b) does not have to speed up the implementation of the image encoder is easier and can reduce the cost is an advantage.

Description

영상 부호화기에서의 움직임 추정 장치Motion Estimator in Image Encoder

제1도는 종래의 영상 부호화기에서의 움직임 추정 장치에 대한 블럭도.1 is a block diagram of a motion estimation apparatus in a conventional image encoder.

제2도는 본 발명의 영상 부호화기에서의 움직임 추정 장치에 대한 블럭도이다.2 is a block diagram of a motion estimation apparatus in an image encoder of the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

30 : 디멀티플렉서 32a : 제1 프레임 메모리30: demultiplexer 32a: first frame memory

32b : 제 2 프레임 메모리 34 : 멀티플렉서32b: second frame memory 34: multiplexer

36a : 제1 움직임 추정부 36b : 제 2 움직임 추정부36a: first motion estimation unit 36b: second motion estimation unit

38a : 제1 탐색영역 메모리 38b : 제 2 탐색영역 메모리38a: first search area memory 38b: second search area memory

40a : 제1 지연부 40b : 제 2 지연부40a: first delay unit 40b: second delay unit

40c : 제 3 지연부 42 : 보간보드 에러계산부40c: third delay unit 42: interpolation board error calculator

44 : 모드 선택부44: mode selector

본 발명은 움직임 추정 장치에 관한 것으로, 특히 영상 부호화기에 있어서 보간 모드에 대한 에러값의 계산을 위해 탐색 영역 용량의 메모리를 따로 사용하도록 되어진 움직임 추정 장치에 관한 것이다.The present invention relates to a motion estimation apparatus, and more particularly, to a motion estimation apparatus configured to separately use a memory of a search area capacity for calculating an error value for an interpolation mode in an image encoder.

HDTV(High Definition TV : 고선명 텔레비젼)나 비디오 폰과 같이 MPEG-2(Moving Picture Experts Group-2) 방식을 사용하는 영상 부호기는 영상 복호기로 전송하여야 할 데이타를 줄이기 위하여 여러가지 데이타 압축 과정을 거치게 되는데, 그 데이타 압축 과정 중의 한가지 방법이 움직임 추정(motion estimation)이다.Video encoders that use the Moving Picture Experts Group-2 (MPEG-2) method, such as HDTV (High Definition TV) or video phones, undergo various data compression processes to reduce the data to be transmitted to the video decoder. One method of the data compression process is motion estimation.

일반적으로, 움직임 추정이라는 것은 연속되는 영상 신호에서 현재 프레임의 화소들이 이전 프레임의 화소들에 비해 어느 정도 움직였는지를 벡터로 표시한 움직임 벡터(motion vector)를 추정하는 것으로서, 전체 영상 데이타를 전송하는 대신에 상기와 같은 움직임 벡터를 전송함으로써 전송되는 영상 데이터의 양을 줄이는 영상 데이타 압축 기술을 말한다.In general, motion estimation is an estimation of a motion vector indicating how much a pixel of a current frame has moved relative to the pixels of a previous frame in a continuous image signal. Instead, it refers to an image data compression technique that reduces the amount of image data transmitted by transmitting such motion vectors.

각 방식에서의 움직임 추정 방법에 대해서 살펴보면 다음과 같다.The motion estimation method in each method is as follows.

1) ATRC 방식(ADTV; Advanced TV)1) ATRC method (ADTV; Advanced TV)

ADTV에 쓰이는 움직임 추정 방식은 MPEG 에서 제안된 알고리즘에 반화소(half-pixel)의 정확도를 갖는 블럭 정합 알고리즘(BMA : Block Matching Algorithm)을 채택하고 있다.The motion estimation method used in ADTV adopts a block matching algorithm (BMA) with half-pixel accuracy.

블럭 정합 알고리즘(BMA)은 화면의 움직임이 수평 또는 수직으로 평행 이동한 것으로 가정하여 움직임이 일어난 프레임(즉, 현재 프레임)의 블럭 화상이 움직임이 일어나기 전 프레임(즉, 이전 프레임)의 어느 위치에 있는 블럭 화상과 가장 잘 일치하는 가를 추정하여 그 위치를 통해 움직임 벡터를 추정하는 방법이다The block matching algorithm (BMA) assumes that the motion of the screen is moved horizontally or vertically in parallel, so that the block image of the frame in which the movement occurs (i.e., the current frame) is positioned at a position in the frame (i.e., the previous frame) before the movement occurs. It is a method of estimating the motion vector through the position by estimating the best matching with the block image.

ADTV 에서 말하는 움직임 추정은 움직임 정도를 나타내는 2차원의 벡터를 계산해내는 과정을 말하며 이 벡터들을 움직임 벡터라 한다.Motion estimation in ADTV refers to the process of calculating a two-dimensional vector representing the degree of motion. These vectors are called motion vectors.

ADTV 에는 2 가지의 움직임 추정이 사용되는데 하나는 현재의 화면을 만들기 위해 과거의 화면을 이용하여 포워드 움직임 추정을 하는 것이고, 다른 하나는 현재의 화면을 만들기 위해 미래의 화면을 이용하여 백워드 움직임 추정을 하는 것이다.Two types of motion estimation are used in ADTV, one for forward motion estimation using the past screen to make the current screen, and the other for backward motion estimation using the future screen to make the current screen. To do.

두가지 방법 모두 M*N 으로 미리 정해진 탐색 구간에서 왜곡이 가장 작은 블럭을 찾아내어 움직임 벡터를 알아내게 된다.Both methods find the motion vector by finding the block with the least distortion in the predetermined search interval with M * N.

많이 쓰이는 오차(또는, 왜곡: distortion) 측정 방법으로는 평균 자승 오차(MSE : Mean Squre Error) 와 평균 절대 오차(MAE: Mean Absolute Error)가 있는데 계산상의 간편함과 하드웨어의 간단함으로 평균 절대 오차(MAE)가 주로 쓰인다.Popular error (or distortion) measurement methods include Mean Squre Error (MSE) and Mean Absolute Error (MAE). ) Is mainly used.

반화소 움직임 추정은 두 단계로 이루어지는데 처음의 탐색은 한화소(interger-pixel) 움직임 벡터를 얻기 위함이고 두 번째 탐색으로 처음에 얻은 화소 단위 움직임 벡터를 중심으로 반화소(half-pixel) 움직임 벡터를 구하게 된다.Half-pixel motion estimation consists of two steps: the first search is to obtain an inter-pixel motion vector, and the second search is a half-pixel motion vector centered on the pixel-by-pixel motion vector first obtained. Will be obtained.

ADTV 에서는 입력되는 영상을 몇가지 종류로 구분하여 프레임별로 나누는데 I-프레임(Intra-frame), P-프레임(Predicted-frame), B-프레임(Bidirectional-predicted frame)이 3 가지이고 각 프레임 별 움직임 추정을 살펴보면 다음과 같다.In ADTV, the input video is divided into several types and divided into frames. There are three types of I-frame, P-frame, and B-frame, and motion estimation for each frame. Looking at it as follows.

I-프레임은 움직임 추정을 하지 않아 움직임 벡터는 없지만 다른 프레임의 움직임추정에 쓰이고, P-프레임은 바로 전의 I-프레임 또는 P-프레임을 이용하여 포워드 움직임 추정을 하고 다른 P-프레임 이나 B-프레임 움직임 추정에 쓰이며, B-프레임은 전후의 I-프레임 또는 P-프레임을 이용하여 포워드 움직임 추정과 백워드 움직임 추정을 하고 또 포워드 움직임 보정된 프레임과 백워드 움직임 보정된 프레임 둘을 합하여 둘로 나눈 보간된 프레임을 만들어 이 3 가지 움직임 추정 결과 중 이동된 블럭의 차이(DBD : Displaced Block Difference)가 가장 작은 것을 택하여 움직임 벡터를 정하게 된다.I-frame does not have motion estimation, so there is no motion vector, but it is used for motion estimation of other frames, and P-frame uses the previous I-frame or P-frame for forward motion estimation and another P-frame or B-frame Used for motion estimation, B-frames use forward and backward I-frames or P-frames to perform forward motion estimation and backward motion estimation, and interpolate by dividing the forward motion compensated frame and the backward motion compensated frame in two. The motion vector is determined by selecting the smallest difference of the displaced block difference (DBD) among the three motion estimation results.

DBD 의 가장 작은 값이 보간된 것일 경우에는 포워드 움직임 벡터와 백워드 움직임 벡터 둘 다를 전송하게 된다.When the smallest value of the DBD is interpolated, both the forward motion vector and the backward motion vector are transmitted.

2) G.I사 방식(Digicipher)2) G.I company (Digicipher)

G.I 사의 Digicipher system 제안서에 나와있는 움직임 추정 방식은 상기에서 서술한 ATRC 사의 ADTV 에 사용된 블럭 정합 알고리즘(BMA)과 유사하지만 정확도에 있어서 반화소 움직임 추정을 하지 않기 때문에 ADTV 보다 떨어진다.The motion estimation method described in G.I's Digicipher system proposal is similar to the block matching algorithm (BMA) used for ATRC's ADTV described above, but it is lower than ADTV because it does not estimate half-pixel motion in accuracy.

그외의 다른 점을 살펴보면 우선 백워드 움직임 추정을 하지 않고 포워드 움직임 추정만을 하여 ADTV 의 B-프레임이 없다. 즉, Digicipher 의 프레임은 I-프레임과 P-프레임만으로 이루어져 있다.In other respects, there is no B-frame of ADTV by performing forward motion estimation without backward motion estimation. That is, the Digicipher frame consists of only I-frames and P-frames.

움직임 추정의 단위는 매크로 블럭으로하는 데 매크로 블럭은 4*2Y(휘도신호) 블럭, U(색차신호) 1개 블럭, V(색차신호) 1개 블럭으로 이루어지므로 이 모든 블럭들이 같은 움직임 벡터를 가지게 된다.The unit of motion estimation is a macro block. The macro block is composed of a 4 * 2Y (luminance signal) block, one U (color difference signal) block, and one V (color difference signal) block. Have.

3) MIT 방식(ATVA-Progressive HDTV)3) MIT method (ATVA-Progressive HDTV)

MIT 에서 제안하는 움직임 추정 방법은 시-공 압축 방식(Spatio-temporal constraint)에 바탕을 두는데, 이 방식은 화상의 변위가 프레임간에 일정한 율로 일어났다고 가정하고, 그 변위율과 움직임 벡터와의 상관 관계를 나타내는 미분 방정식인 시-공 압축 방정식(Spatio-temporal constraint)을 찾아내어 그 근을 구함으로써 움직임 벡터를 추정하고자 하는 방식이다.The motion estimation method proposed by MIT is based on the spatial-temporal constraint, which assumes that image displacement occurs at a constant rate between frames and correlates the displacement rate with the motion vector. It is a method to estimate the motion vector by finding the spatial-temporal constraint, which is a differential equation representing the relationship, and finding its root.

이런 방식은 균일한 속도의 전송을 가정으로 하며 물체의 회전, 카메라 줌, 움직임 물체 전송 영역, 다른 움직임 벡터를 갖는 다중 물체 움직임에서는 유효하지 않다.This method assumes a uniform speed of transmission and is not valid for object rotation, camera zoom, moving object transmission areas, or multi-object motion with different motion vectors.

작은 구간 내에서 균일한 움직임 전송을 가정하고 움직임 추정이 불명확한 구간에서 움직임 보상을 억제하더라도 시-공 압축 방정식(Spatio-temporal constraint)에 바탕을 둔 움직임 추정과 보상에 의해 시간적인 상관성이 많이 감소된다.Even if the motion is assumed to be uniform within a small interval and motion estimation is suppressed in an area where the motion estimation is uncertain, the temporal correlation is greatly reduced by motion estimation and compensation based on spatial-temporal constraints. do.

블럭 정합 알고리즘(BMA)과 비교해서 이 방법은 블럭 크기에 따라 계산량이 크게 줄어들고 노이즈가 있을 때나 없을 때나 잘 수행된다.Compared with the block matching algorithm (BMA), this method greatly reduces the amount of computation depending on the block size and performs well with or without noise.

움직임 벡터는 휘도 신호로부터 추정되고 동일한 움직임 벡터는 휘도 신호(Y)와 색차 신호(U,V)에 대해 사용되며, 한 움직임 벡터는 매 32*32 화소 크기의 블럭마다 얻어진다.The motion vector is estimated from the luminance signal and the same motion vector is used for the luminance signal Y and the chrominance signal U and V, and one motion vector is obtained for every 32 * 32 pixel block.

이전 부호화된 프레임과 움직임 벡터로부터 현재 프레임에 대해 예측이 이루어지고 부호화된 현재 프레임과 예측된 것과의 차가 계산되는데 이 차이를 움직임 보상된 차(motion compensated residual)라 한다.Prediction is performed on the current frame from the previous coded frame and the motion vector, and a difference between the current frame and the predicted code is calculated. This difference is referred to as a motion compensated residual.

이것은 각각의 Y, U, V 세 부분에 대해 얻어지며 상대적으로 화상 프레임에 대해 충분히 큰 에너지를 갖을 때(화면 변화가 있을 때)움직임 보상이 무효화되고 화상 프레임 자체가 부호화된다.This is obtained for each of the three parts Y, U and V and when the image has relatively large enough energy (when there is a picture change) for the picture frame, the motion compensation is invalidated and the picture frame itself is encoded.

4) Zenith 사와 ATT 사 방식(DSC-HDTV)4) Zenith and ATT (DSC-HDTV)

영상의 특성상 근접한 화소들의 화소값은 일반적으로 매우 근사한 값들로 구성되어 있는데, 그 이유는 물체의 경계 및 윤곽을 나타내는 선내의 화소들이 같은 물체를 표시하는데 사용되기 때문이다.Due to the nature of the image, the pixel values of adjacent pixels are generally composed of very close values because the pixels in the line representing the boundary and contour of the object are used to display the same object.

Zenith 사와 ATT 사는 이러한 영상의 특성을 이용하여 프레임영상 데이타의 불필요한 중복성을 제거하므로써 효과적으로 움직임을 추정하는 계층적 움직임 추정(hierarchical motion estimation) 방법을 사용하였다.Zenith and ATT used a hierarchical motion estimation method that effectively estimates motion by eliminating unnecessary redundancy of frame image data by using the characteristics of these images.

또한, 전송 채널의 효율을 늘리기 위하여 Zenith 사와 ATT 사에 서는 저해상도 움직임 추정(coarse motion estimation)과 고해상도 움직임 추정(fine motion estimation)의 2 단계 움직임 추정을 제안하였는데 그 제시된 방법을 구체적으로 살펴보면 다음과 같다.In addition, in order to increase the efficiency of the transmission channel, Zenith and ATT have proposed two-stage motion estimation of coarse motion estimation and fine motion estimation, which are described in detail as follows. .

먼저 필터를 사용하여 프레임 영상 신호와 이전 영상 신호의 중복성을 제거한다. 그로 인해, 해상도는 수평, 수직 방향으로 각각 1/2씩 줄어들게 된다.First, a filter is used to remove redundancy between the frame video signal and the previous video signal. As a result, the resolution is reduced by 1/2 each in the horizontal and vertical directions.

전체 면적이 1/4로 줄어든 저해상도 영상 신호로부터의 저해상도 움직임 추정(coarse motion estimation)은 32*16(수평*수직) 화소 크기의 블럭 단위로 현재 프레임과 이전 프레임의 화소값 차의 절대 값인 추정 오차를 비교함으로써 이루어 지는데, 이때 휘도 성분만을 이용하고 이전 프레임 블럭을 탐색 구간 만큼 이동하며 얻은 추정 오차 중 가장 작은 것이 그 블럭의 움직임 벡터가 된다.Coarse motion estimation from low resolution video signals with an overall reduction of 1/4 is an estimation error that is the absolute value of the pixel value difference between the current frame and the previous frame in units of 32 * 16 (horizontal * vertical) pixels. In this case, the smallest of the estimation errors obtained by using only the luminance component and moving the previous frame block by the search interval becomes the motion vector of the block.

상기와 같은 계층적 저해상도 화상에서의 블럭 매칭은 원래의 고해상도 화상에 사용하였을 때보다 탐색 구간과 블럭 크기가 1/4로 줄어들어 계산량이 현저하게 줄어든다.The block matching in the hierarchical low resolution image as described above reduces the search interval and the block size by a quarter compared to that used in the original high resolution image, thereby significantly reducing the calculation amount.

고해상도 움직임 추정은 저해상도 화상에서 구한 움직임 벡터를 이용하여 원래의 고해상도 화상에서의 움직임 벡터로 대치시키고 이를 다시 고해상도 움직임 벡터로 세분화 시킨다.High resolution motion estimation uses motion vectors obtained from low resolution images to replace them with motion vectors in the original high resolution images and subdivides them into high resolution motion vectors.

즉, 저해상도 화상에서의 16*8 블럭 크기와 저해상도 움직임 벡터는 원래 해상도의 화상에서 수평, 수직 방향으로 각각 1/2 씩 줄어든 것이므로 이들을 모두 2배 시키면 원래 화상의 블럭 크기와 움직임 벡터가 되게 된다.That is, since the 16 * 8 block size and the low resolution motion vector in the low resolution image are each reduced by 1/2 in the horizontal and vertical directions of the image at the original resolution, double the two to become the block size and the motion vector of the original image.

이는 다시 8*8의 작은 블럭 크기로 나뉘어지고, 각각의 작은 블럭은 저해상도 움직임 벡터를 기점으로 다시 탐색 구간 만큼 이동하여 고해상도 움직임 벡터를 구한다.It is divided into 8 * 8 small block sizes, and each small block is moved back from the low resolution motion vector by the search interval to obtain a high resolution motion vector.

움직임 벡터 부호기는 각각 저해상도와 고해상도에서 추정한 움직임 벡터를 이용하여 다음 프레임의 화면을 추정하고 그에 대응되는 움직임 벡터를 선택한다.The motion vector encoder estimates the screen of the next frame using motion vectors estimated at low resolution and high resolution, respectively, and selects a motion vector corresponding thereto.

이것은 움직임 벡터를 압축하는데 있어서 비트율을 제한하기 위한 것인데, 채널 밴드 폭의 여백에 따라 저해상도 움직임 벡터만을 보내기도 하고 저해상도와 고해상도 움직임 벡터를 보내기도 한다.This is for limiting the bit rate in compressing the motion vector, and depending on the margin of the channel band width, it may send only a low resolution motion vector or a low resolution and high resolution motion vector.

움직임 추정에는 상기와 같이 여러 가지 방식이 있는데, MPEG-2에서는 정방향의 움직임 추정과 역방향의 움직임 추정, 또 양방향의 움직임 추정의 3 가지 경우를 갖는다.There are various types of motion estimation as described above. In MPEG-2, there are three cases of motion estimation in forward direction, motion estimation in reverse direction, and motion estimation in both directions.

MPEG-2 방식을 사용하는 영상 부호화기를 만들때 움직임 추정 전용 칩을 이용하게 되는데, 움직임 추정 전용 칩은 한 방향만의 움직임만을 고려하므로 MPEG-2 방식에서 사용하는 3 가지 움직임 추정 방법을 효과적으로 구현할 필요가 있다.When creating an image encoder using the MPEG-2 method, a motion estimation chip is used. Since the motion estimation chip considers only one direction of motion, it is necessary to effectively implement the three motion estimation methods used in the MPEG-2 method. There is.

제1도는 종래의 영상 부호화기에서의 움직임 추정 장치에 대한 블럭도로서, 종래의 장치는 입력된 영상 데이타를 프레임 단위로 두개의 독립된 영상 데이타로 분리하는 디멀티플렉서(10)와; 상기 분리된 정방향의 기준 프레임(anchor frame)을 저장하는 제1 프레임 메모리(12a); 상기 분리된 역방향의 기준 프레임(anchor frame)을 저장하는 제 2 프레임 메모리(12b); 상기 제1,2 프레임 메모리(12a,12b)로부터의 영상 데이타를 정방향의 영상 데이타와 역방향의 영상 데이타를 분리하여 각각 전송하는 멀티플렉서(14); 상기 전송된 정방향의 영상 데이타를 입력받아 정방향의 움직임 추정을 행하는 제1 움직임 추정부(16a); 상기 전송된 역방향의 영상 데이타를 입력받아 역방향의 움직임 추정을 행하는 제 2 움직임 추정부(16b); 상기 정방향의 움직임 추정 결과를 지연시키기 위한 제1 지연부(18a); 상기 역방향의 움직임 추정 결과를 지연시키기 위한 제 2 지연부(18b); 입력되는 현재 프레임의 데이타를 지연시키기 위한 제 3 지연부(18c); 상기 정방향의 영상 데이타와 상기 역방향의 영상 데이타를 평균낸 후 지연된 현재 프레임의 데이타와의 차이를 계산해내는 보간 모드 에러 계산부(22); 및 정방향 모드, 역방향 모드, 보간 모드 중 현재 프레임의 데이타와 가장 유사한 것을 선택하고 선택된 모드의 움직임 벡터를 출력하는 모드 선택부(22)로 구성된다.1 is a block diagram of a motion estimation apparatus in a conventional image encoder, the conventional apparatus comprising: a demultiplexer 10 for separating input image data into two independent image data on a frame basis; A first frame memory (12a) for storing the separated forward reference frame; A second frame memory (12b) for storing the separated reverse frame (anchor frame); A multiplexer (14) for separately transmitting forward image data and reverse image data from the first and second frame memories (12a, 12b), respectively; A first motion estimator (16a) for receiving the forward image data and performing forward motion estimation; A second motion estimation unit (16b) which receives the transmitted reverse video data and performs backward motion estimation; A first delay unit (18a) for delaying the forward motion estimation result; A second delay unit (18b) for delaying the backward motion estimation result; A third delay unit 18c for delaying data of an input current frame; An interpolation mode error calculator (22) for calculating a difference between the data of the forward direction and the data of the reverse direction and calculating a difference between the delayed current frame data; And a mode selector 22 for selecting the most similar to the data of the current frame among the forward mode, the reverse mode, and the interpolation mode, and outputting a motion vector of the selected mode.

제1도를 참조하여 종래의 움직임 추정 장치에 대한 동작을 설명하면 다음과 같다.Referring to FIG. 1, the operation of the conventional motion estimation apparatus will be described.

입력된 영상 데이타를 디멀티플렉서(10)에서 분리 선택한 후 정방향의 기준 프레임을 제1 프레임 메모리(12a)에 저장하고 역방향의 기준 프레임은 제 2 프레임 메모리(12b)에 저장한다.After the input image data is separated and selected by the demultiplexer 10, the forward reference frame is stored in the first frame memory 12a, and the reverse reference frame is stored in the second frame memory 12b.

멀티플렉서(14)에서 두 프레임 메모리(12a,12b)중 정방향의 영상 데이타가 저장되어 있는 메모리(12a)의 데이타를 제1 움직임 추정부(16a)로 전송하고, 역방향의 영상 데이타가 저장되어 있는 메모리(12b)의 데이타를 제 2 움직임 추정부(16b)로 전송한다.The multiplexer 14 transfers the data of the memory 12a in which the forward image data of the two frame memories 12a and 12b are stored to the first motion estimation unit 16a, and stores the reverse image data. The data of 12b is transmitted to the second motion estimation unit 16b.

상기 제1 움직임 추정부(16a)에서는 정방향의 움직임 추정을 행하고, 상기 제 2 움직임 추정부(16b)에서는 역방향의 움직임 추정을 행한다.The first motion estimation unit 16a performs forward motion estimation, and the second motion estimation unit 16b performs backward motion estimation.

제1 지연부(18a)에서는 상기 정방향의 움직임 추정 결과를 지연시키고, 제 2 지연부(18b)에서는 상기 역방향의 움직임 추정 결과를 지연시키며, 제 3 지연부(18c)에서는 입력되는 현재 프레임의 데이타를 지연시킨다.The first delay unit 18a delays the forward motion estimation result, the second delay unit 18b delays the backward motion estimation result, and the third delay unit 18c delays the current frame data. Delay.

보간 모드 에러 계산부(22)에서는 구해진 정방향의 영상 데이타와 역방향의 영상데이타를 평균낸 후 이 평균값과 지연된 현재 프레임의 데이타와의 차이를 계산해낸다.The interpolation mode error calculator 22 averages the obtained forward image data and the reverse image data, and then calculates a difference between the average value and the delayed current frame data.

모드 선택부(22)에서는 정방향 모드, 역방향 모드, 보간 모드 중 현재 프레임의 데이타와 가장 유사한 것을 선택하고 선택된 모드의 움직임 벡터를 출력한다.The mode selector 22 selects the most similar to the data of the current frame among the forward mode, the reverse mode, and the interpolation mode, and outputs a motion vector of the selected mode.

상기와 같이 동작하는 종래의 영상 부호화기에서의 움직임 추정 장치는 움직임 추정을 행할 때 정방향, 역방향 움직임 추정을 위하여 프레임 메모리로부터 탐색 영역의 데이타를 읽고, 그 결과로 양방향의 움직임 추정을 행하기 위하여 프레임 메모리의 데이타를 추가로 더 읽게되어 프레임 메모리의 동작 속도를 높여야 하는데, 프레임 메모리를 높은 속도에서 구동하기 위해서는 하드웨어 구현에 어려움이 있을 뿐만 아니라 비용의 상승도 동시에 유발시킨다는 문제점이 있었다.The motion estimation apparatus in the conventional video encoder operating as described above reads data of the search area from the frame memory for forward and backward motion estimation when performing motion estimation, and as a result, frame memory to perform bidirectional motion estimation. To read more data, you need to increase the operation speed of the frame memory. In order to run the frame memory at a high speed, it is not only difficult to implement the hardware but also increases the cost.

따라서, 본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로, 프레임 메모리는 정방향과 역방향의 움직임 추정시에만 사용하고 보간 모드에 대한 에러값의 계산에는 탐색 영역 용량의 메모리를 따로 사용하도록 되어진 영상 부호화기에서의 움직임 추정 장치를 제공하는데 그 목적이 있다.Accordingly, the present invention has been made to solve the above problems, and the frame memory is used only for forward and reverse motion estimation and the search area capacity memory is separately used for calculating an error value for the interpolation mode. It is an object of the present invention to provide a motion estimation apparatus in an encoder.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 움직임 추정 장치는,Motion estimation apparatus according to the present invention for achieving the above object,

입력된 영상 데이타를 프레임 단위로 두개의 독립된 영상 데이타로 분리하는 디멀티플렉서와;A demultiplexer that separates the input image data into two independent image data on a frame basis;

상기 분리된 정방향의 기준 프레임을 저장하는 제1 프레임 메모리;A first frame memory for storing the separated forward reference frame;

상기 분리된 역방향의 기준 프레임을 저장하는 제 2 프레임 메모리;A second frame memory for storing the separated reverse reference frame;

상기 제1,2 프레임 메모리로부터의 영상 데이타를 정방향의 영상데이타와 역방향의 영상 데이타로 분리하여 각각 전송하는 멀티플렉서;A multiplexer which separates the image data from the first and second frame memories into forward image data and reverse image data and transmits the divided image data;

상기 전송된 정방향의 영상 데이타를 입력받아 정방향의 움직임 추정을 행하는 제1 움직임 추정부;A first motion estimation unit configured to receive the forward image data and perform forward motion estimation;

상기 전송된 역방향의 영상 데이타를 입력받아 역방향의 움직임 추정을 행하는 제 2 움직임 추정부;A second motion estimation unit configured to receive the transmitted reverse video data and perform backward motion estimation;

상기 전송된 정방향의 영상 데이타 중에서 탐색 영역에 해당하는 데이타를 저장하고 상기 제1 움직임 추정부로부터의 움직임 벡터를 입력받는 제1 탐색 영역 메모리;A first search region memory for storing data corresponding to a search region among the forward image data and receiving a motion vector from the first motion estimator;

상기 전송된 역방향의 영상 데이타 중에서 탐색 영역에 해당하는 데이타를 저장하고 상기 제 2 움직임 추정부로부터의 움직임 벡터를 입력받는 제 2 탐색 영역 메모리;A second search region memory for storing data corresponding to a search region among the transmitted reverse image data and receiving a motion vector from the second motion estimator;

상기 정방향의 움직임 추정 결과를 지연시키기 위한 제1 지연부;A first delay unit for delaying the forward motion estimation result;

상기 역방향의 움직임 추정 결과를 지연시키기 위한 제 2 지연부;A second delay unit for delaying the backward motion estimation result;

입력되는 현재 프레임의 데이타를 지연시키기 위한 제 3 지연부;A third delay unit for delaying data of an input current frame;

상기 제1, 2 탐색 영역 메모리로부터 구해진 정방향과 역방향의 영상 데이타를 평균낸 후 상기 지연된 현재 프레임의 데이타와의 차이를 계산해내는 보간 모드 에러 계산부; 및An interpolation mode error calculator which averages forward and backward image data obtained from the first and second search region memories and calculates a difference between the delayed current frame data and the delayed current frame; And

정방향 모드, 역방향 모드, 보간 모드 중 현재 프레임의 데이타와 가장 유사한 것을 선택하고 선택된 모드의 움직임 벡터를 출력하는 모드 선택부로 구성된 것을 특징으로 한다.And a mode selector for selecting the most similar to the data of the current frame among the forward mode, the reverse mode, and the interpolation mode, and outputting a motion vector of the selected mode.

이하, 첨부된 도면을 참조하여 본 발명에 대하여 상세히 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described in detail with respect to the present invention.

제2도는 본 발명에 따른 영상 부호화기에서의 움직임 추정 장치에 대한 블럭도로서, 본 발명의 움직임추정 장치는 입력된 영상 데이타를 프레임 단위로 두개의 독립된 영상 데이타로 분리하는 디멀티플렉서(30)와; 상기 분리된 정방향의 기준 프레임을 저장하는 제1 프레임 메모리(32a); 상기 분리된 역방향의 기준 프레임을 저장하는 제 2 프레임 메모리(32b); 상기 제1, 2 프레임 메모리(32a,32b)로부터의 영상 데이타를 정방향의 영상 데이타와 역방향의 영상 데이타로 분리하여 각각 전송하는 멀티플렉서(34); 상기 전송된 정방향의 영상 데이타를 입력받아 정방향의 움직임 추정을 행하는 제1움직임 추정부(36a); 상기 전송된 역방향의 영상 데이타를 입력받아 역방향의 움직임 추정을 행하는 제 2 움직임 추정부(36b); 상기 전송된 정방향의 영상 데이타 중에서 탐색 영역에 해당하는 데이타를 저장하고 상기 제1 움직임 추정부(36a)로부터의 움직임 벡터를 입력받는 제1 탐색 영역 메모리(38a); 상기 전송된 역방향의 영상 데이타 중에서 탐색 영역에 해당하는 데이타를 저장하고 상기 제 2 움직임 추정부(36b)로부터의 움직임 벡터를 입력받는 제 2 탐색 영역 메모리(38b); 상기 정방향의 움직임 추정 결과를 지연시키기 위한 제1 지연부(40a); 상기 역방향의 움직임 추정 결과를 지연시키기 위한 제 2 지연부(40b); 입력되는 현재 프레임의 데이타를 지연시키기 위한 제 3 지연부(40c); 상기 제1, 2 탐색 영역 메모리(38a,38b)로부터 구해진 정방향과 역방향의 영상 데이타를 평균낸 후 상기 지연된 현재 프레임의 데이타와의 차이를 계산해내는 보간 모드 에러 계산부(42); 및 정방향 모드, 역방향 모드, 보간 모드 중 현재 프레임의 데이타와 가장 유사한 것을 선택하고 선택된 모드의 움직임 벡터를 출력하는 모드 선택부(44)로 구성되어 있다.2 is a block diagram of a motion estimation apparatus in an image encoder according to the present invention, which includes a demultiplexer 30 that separates input image data into two independent image data on a frame basis; A first frame memory (32a) for storing the separated forward reference frame; A second frame memory (32b) for storing the separated reverse reference frame; A multiplexer (34) which separates the image data from the first and second frame memories (32a, 32b) into forward image data and reverse image data and transmits the divided image data; A first motion estimator 36a which receives the transmitted forward image data and performs forward motion estimation; A second motion estimation unit 36b which receives the transmitted reverse video data and performs backward motion estimation; A first search region memory 38a for storing data corresponding to a search region from the forward image data and receiving a motion vector from the first motion estimator 36a; A second search region memory 38b for storing data corresponding to a search region among the transmitted reverse image data and receiving a motion vector from the second motion estimator 36b; A first delay unit 40a for delaying the forward motion estimation result; A second delay unit 40b for delaying the backward motion estimation result; A third delay unit 40c for delaying data of an input current frame; An interpolation mode error calculator (42) which averages forward and backward image data obtained from the first and second search area memories (38a, 38b) and calculates a difference between the delayed current frame data; And a mode selector 44 which selects the most similar to the data of the current frame among the forward mode, the reverse mode, and the interpolation mode, and outputs a motion vector of the selected mode.

이어서, 첨부한 도면을 참조하여 본 발명의 동작과 효과에 대해서 자세히 설명하기로 한다.Next, the operation and effects of the present invention will be described in detail with reference to the accompanying drawings.

MPEG-2 방식에서는 정방향, 역방향, 양방향의 움직임 추정을 사용하는데, 정방향과 역방향의 움직임 추정은 각각 정방향의 기준 프레임(anchor frame)과 역방향의 기준 프레임에서 탐색 영역(search range)의 데이타를 입력받아 현재 프레임(reference frame)과 가장 유사한 데이타를 찾는다.In the MPEG-2 method, forward, reverse, and bidirectional motion estimation are used. In the forward and reverse motion estimation, data of a search range is input from a forward reference frame and a reverse reference frame, respectively. Find the data that most closely resembles the current frame.

양방향의 움직임 추정은 B-화상(Bidirectional - predicted picture) 에서만 이루어지고, 위에서 찾은 정방향과 역방향의 움직임 추정에 의한 결과 데이타를 더하여 2로 나눈 값(즉, 평균값)을 현재 프레임과 비교한 후, 그 결과가 정방향만의 데이타나 역방향만의 데이타와 현재 프레임과의 차이보다 더 작은 경우에는 양방향의 움직임 추정이 선택된다.Bidirectional motion estimation is done only in Bi-directional (predicted picture), and the result data obtained by the forward and reverse motion estimation found above is added, divided by 2 (ie, the average value), and compared to the current frame. If the result is smaller than the difference between the forward only data or the backward only data and the current frame, then bidirectional motion estimation is selected.

즉, 정방향의 움직임 추정과 역방향의 움직임 추정의 결과가 얻어진 후에나 양방향의 움직임 추정이 시작된다.That is, after the results of the forward motion estimation and the backward motion estimation are obtained, the bidirectional motion estimation is started.

프레임 메모리로부터 탐색 영역의 데이타를 읽어 정방향과 역방향의 움직임 추정을 행한 후 양방향의 움직임 추정을 위하여 정방향과 역방향의 움직임 추정에서 구해진 움직임 벡터를 가지고 다시 프레임 메모리에서 데이타를 읽어야 한다.After the data of the search area is read from the frame memory to perform forward and reverse motion estimation, the data must be read from the frame memory again with the motion vectors obtained from the forward and reverse motion estimation for bidirectional motion estimation.

이것은 프레임 메모리가 정방향과 역방향 움직임 추정 외에 양방향 움직임 추정도 해야 한다는 것을 의미하므로 프레임 메모리의 동작 속도가 더 빨라야하나, 본 발명은 프레임 메모리를 정상적으로 정방향과 역방향의 움직임 추정만을 행하게 하여 프레임 메모리의 동작 속도를 빠르게 할 필요가 없다.This means that the frame memory should perform bidirectional motion estimation in addition to the forward and backward motion estimation. Therefore, the operation speed of the frame memory should be faster. There is no need to speed it up.

제2도를 참조하면, 입력된 영상 데이타를 디멀티플렉서(30)에서 분리 선택한 후 정방향의 기준 프레임을 제1 프레임 메모리(32a)에 저장하고 역방향의 기준 프레임은 제 2 프레임 메모리(32b)에 저장한다.Referring to FIG. 2, after inputting and separating input image data from the demultiplexer 30, a forward reference frame is stored in the first frame memory 32a and a reverse reference frame is stored in the second frame memory 32b. .

멀티플렉서(34)에서 두 프레임 메모리(32a,32b)두 프레임 메모리(32a,32b)중 정방향의 영상 데이타가 저장되어 있는 프레임 메모리(32a)의 데이타를 제1 움직임 추정부(36a)로 전송하고, 역방향의 영상 데이타가 저장되어 있는 프레임 메모리(32b)의 데이타를 제 2 움직임 추정부(36b)로 전송한다.The multiplexer 34 transmits the data of the frame memory 32a in which the forward image data of the two frame memories 32a and 32b are stored to the first motion estimation unit 36a. The data of the frame memory 32b in which the reverse video data is stored is transmitted to the second motion estimation unit 36b.

상기 제1 움직임 추정부(36a)에서는 정방향의 움직임 추정을 행하고, 상기 제 2 움직임 추정부(36b)에서는 역방향의 움직임 추정을 행한다.The first motion estimator 36a performs forward motion estimation, and the second motion estimator 36b performs backward motion estimation.

본 발명의 중심 부분인 제1 탐색 영역 메모리(38a)와 제 2 탐색 영역 메모리(38b)는 각각 정방향과 역방향의 움직임 추정에 대한 탐색 영역의 데이타를 저장하는 메모리로서, 두 프레임 메모리(32a,32b)로부터 멀티플렉서(34)를 통해 제1, 2 움직임 추정부(36a,36b)로 전송되는 탐색 영역의 데이타를 입력받아 저장하고 제1, 2 움직임 추정부(36a,36b)로부터의 움직임 벡터에 의해 구해진 정방향과 역방향의 데이타를 보간 모드 에러 계산부(42)로 전송한다.The first search region memory 38a and the second search region memory 38b, which are the central parts of the present invention, respectively store the data of the search region for forward and reverse motion estimation, respectively, and are two frame memories 32a and 32b. ) Receives and stores the data of the search area transmitted to the first and second motion estimation units 36a and 36b through the multiplexer 34 and by the motion vector from the first and second motion estimation units 36a and 36b. The obtained forward and reverse data is transmitted to the interpolation mode error calculator 42.

제1 지연부(18a)에서는 상기 정방향의 움직임 추정 결과를 지연시키고, 제 2 지연부(18b)에서는 상기 역방향의 움직임 추정 결과를 지연시키며, 제 3 지연부(18c)에서는 입력되는 현재 프레임의 데이타를 지연시킨다.The first delay unit 18a delays the forward motion estimation result, the second delay unit 18b delays the backward motion estimation result, and the third delay unit 18c delays the current frame data. Delay.

보간 모드 에러 계산부(22)에서는 구해진 정방향의 영상 데이타와 역방향의 영상데이타에 대해 평균을 낸 후 제1, 2 움직임 추정부(36a,36b)에서 에러값을 계산하는 것과 마찬가지로 이 평균값과 지연된 현재 프레임의 데이타와의 차이를 계산해낸다.The interpolation mode error calculation unit 22 averages the obtained forward image data and the reverse image data, and then calculates the error value in the first and second motion estimation units 36a and 36b. Compute the difference from the data in the frame.

모드 선택부(22)에서는 정방향 모드, 역방향 모드, 보간 모드 중 현재 프레임의 데이타와 가장 유사한 것을 선택하고 선택된 모드의 움직임 벡터를 출력하는데, 모드 선택부(22)의 단자 a 로는 정방향에 대한 에러값 및 움직임 벡터, 단자 b로는 역방향에 대한 에러값 및 움직임 벡터, 단자 c로는 양방향에 대한 에러값을 입력받는다.The mode selector 22 selects the most similar to the data of the current frame among the forward mode, the reverse mode, and the interpolation mode and outputs a motion vector of the selected mode. The terminal a of the mode selector 22 outputs an error value for the forward direction. And a motion vector, a terminal b receives an error value for the reverse direction, a motion vector, and a terminal c receives an error value for both directions.

상기 제1 지연부(18a)와 제 2 지연부(18b)에서 제1, 2 움직임추정부(36a,36b)로부터의 추정 결과를 지연시키는 이유는 동일 시간에 모드 선택부(22)의 a, b, c 단자로 각각 정방향, 역방향, 양방향의 에러값을 전달하기 위하여 보간 모드 에러 계산부(42)에서 제1, 2 움직임 추정부(36a,36b)로부터의 추정 결과에 따라 에러값을 계산하기 때문이다.The reason for delaying the estimation result from the first and second motion estimation units 36a and 36b in the first delay unit 18a and the second delay unit 18b is that at the same time, a, Computing the error values according to the estimation results from the first and second motion estimation units 36a and 36b in the interpolation mode error calculation unit 42 so as to transmit forward, reverse, and bidirectional error values to the b and c terminals, respectively. Because.

또한, 제 3 지연부(18c)에서 현재 프레임을 지연시키는 이유는 보간 모드 에러 계산부(42)에서 에러 계산이 시작되는 것이 제1, 2 움직임 추정부(36a,36b)의 계산이 끝난 후이기 때문이다.The reason why the third delay unit 18c delays the current frame is that the error calculation starts in the interpolation mode error calculator 42 after the first and second motion estimation units 36a and 36b finish the calculation. Because.

결국, 제1, 2 움직임 추정부(36a,36b)가 각각 움직임 추정을 위하여 탐색 영역의 데이타를 읽고 있을때, 이 탐색 영역의 데이타들을 제1, 2 탐색 영역 메모리(38a,38b)에 각각 저장하여 제1, 2 움직임 추정부(36a,36b)에서 움직임 추정이 끝난 후, 그 결과의 움직임 벡터에 의해 데이타를 출력하고 제1, 2 탐색 영역 메모리(38a,38b)를 보간 모드에 대한 에러 값의 계산 전용 메모리로 사용하므로써 프레임 메모리의 동작 속도를 빠르게 하지 않아도 된다.As a result, when the first and second motion estimation units 36a and 36b respectively read the data of the search area for motion estimation, the data of the search area are stored in the first and second search area memories 38a and 38b, respectively. After the motion estimation is completed by the first and second motion estimation units 36a and 36b, the data is output by the resultant motion vector, and the first and second search area memories 38a and 38b are converted into error values for the interpolation mode. By using the memory dedicated to calculation, it is not necessary to speed up the operation of the frame memory.

이상에서 설명한 바와 같이 본 발명은 제1, 2 탐색 영역 메모리(38a,38b)를 보간 모드에 대한 에러 값을 계산하는 전용 메모리로 사용하므로써, 제1, 2 프레임 메모리(32a,32b)의 동작 속도를 빠르게 하지 않아도 되기 때문에 영상 부호화기의 구현이 더 용이하고 비용도 절감할 수 있다는데 그 효과가 있다.As described above, the present invention uses the first and second search area memories 38a and 38b as dedicated memories for calculating error values for the interpolation mode, thereby operating speeds of the first and second frame memories 32a and 32b. Since the coder does not have to be fast, the video encoder is easier to implement and the cost can be reduced.

Claims (1)

입력된 영상 데이타를 프레임 단위로 두개의 독립된 영상 데이타로 분리하는 디멀티플렉서(30)와; 상기 분리된 정방향의 기준 프레임을 저장하는 제1 프레임 메모리(32a); 상기 분리된 역방향의 기준 프레임을 저장하는 제 2 프레임 메모리(32b); 상기 제1, 2 프레임 메모리(32a,32b)로부터의 영상 데이타를 정방향의 영상 데이타와 역방향의 영상 데이타로 분리하여 각각 전송하는 멀티플렉서(34); 상기 전송된 정방향의 영상 데이타를 입력받아 정방향의 움직임 추정을 행하는 제1 움직임 추정부(36a); 상기 전송된 역방향의 영상 데이타를 입력받아 역방향의 움직임 추정을 행하는 제 2 움직임 추정부(36b); 상기 전송된 정방향의 영상 데이타 중에서 탐색 영역에 해당하는 데이타를 저장하고 상기 제1 움직임 추정부(36a)로부터의 움직임 벡터를 입력받는 제1 탐색 영역 메모리(38a); 상기 전송된 역방향의 영상 데이타 중에서 탐색 영역에 해당하는 데이타를 저장하고 상기 제 2 움직임 추정부(36b)로부터의 움직임 벡터를 입력받는 제 2 탐색 영역 메모리(38b); 상기 정방향의 움직임 추정 결과를 지연시키기 위한 제1 지연부(40a); 상기 역방향의 움직임 추정 결과를 지연시키기 위한 제 2 지연부(40b); 입력되는 현재 프레임의 데이타를 지연시키기 위한 제 3 지연부(40c); 상기 제1, 2 탐색 영역 메모리(38a,38b)로부터 구해진 정방향과 역방향의 영상 데이타를 평균낸 후 상기 지연된 현재 프레임의 데이타와의 차이를 계산해내는 보간 모드 에러 계산부(42); 및 정방향 모드, 역방향 모드, 보간 모드 중 현재 프레임의 데이타와 가장 유사한 것을 선택하고 선택된 모드의 움직임 벡터를 출력하는 모드 선택부(44)로 구성되어 있는 영상 부호화기에서의 움직임 추정 장치.A demultiplexer 30 for separating the input image data into two independent image data on a frame basis; A first frame memory (32a) for storing the separated forward reference frame; A second frame memory (32b) for storing the separated reverse reference frame; A multiplexer (34) which separates the image data from the first and second frame memories (32a, 32b) into forward image data and reverse image data and transmits the divided image data; A first motion estimation unit 36a which receives the transmitted forward image data and performs forward motion estimation; A second motion estimation unit 36b which receives the transmitted reverse video data and performs backward motion estimation; A first search region memory 38a for storing data corresponding to a search region from the forward image data and receiving a motion vector from the first motion estimator 36a; A second search region memory 38b for storing data corresponding to a search region among the transmitted reverse image data and receiving a motion vector from the second motion estimator 36b; A first delay unit 40a for delaying the forward motion estimation result; A second delay unit 40b for delaying the backward motion estimation result; A third delay unit 40c for delaying data of an input current frame; An interpolation mode error calculator (42) which averages forward and backward image data obtained from the first and second search area memories (38a, 38b) and calculates a difference between the delayed current frame data; And a mode selector 44 which selects the most similar to the data of the current frame among the forward mode, the reverse mode, and the interpolation mode, and outputs a motion vector of the selected mode.
KR1019950028339A 1995-08-31 1995-08-31 A motion estimator for a video coder KR0185842B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950028339A KR0185842B1 (en) 1995-08-31 1995-08-31 A motion estimator for a video coder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950028339A KR0185842B1 (en) 1995-08-31 1995-08-31 A motion estimator for a video coder

Publications (2)

Publication Number Publication Date
KR970014397A KR970014397A (en) 1997-03-29
KR0185842B1 true KR0185842B1 (en) 1999-05-01

Family

ID=19425697

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950028339A KR0185842B1 (en) 1995-08-31 1995-08-31 A motion estimator for a video coder

Country Status (1)

Country Link
KR (1) KR0185842B1 (en)

Also Published As

Publication number Publication date
KR970014397A (en) 1997-03-29

Similar Documents

Publication Publication Date Title
US6011870A (en) Multiple stage and low-complexity motion estimation for interframe video coding
JP3393832B2 (en) Image Data Interpolation Method for Electronic Digital Image Sequence Reproduction System
KR100287211B1 (en) Bidirectional motion estimation method and system
KR0181069B1 (en) Motion estimation apparatus
KR100422389B1 (en) Method and apparatus for increasing video frame rate
US6618439B1 (en) Fast motion-compensated video frame interpolator
US7058130B2 (en) Scene change detection
KR100530223B1 (en) Frame interpolation method and apparatus at frame rate conversion
KR100739281B1 (en) Motion estimation method and appratus
KR20110039516A (en) Speculative start point selection for motion estimation iterative search
KR20110036886A (en) Simple next search position selection for motion estimation iterative search
KR0171145B1 (en) Improved motion compensation apparatus for use in an iamge encoding system
KR100393063B1 (en) Video decoder having frame rate conversion and decoding method
KR100254667B1 (en) Method and apparatus for detecting occulusion
KR0185841B1 (en) A motion extimator for a video coder
KR0185842B1 (en) A motion estimator for a video coder
KR100208984B1 (en) Moving vector estimator using contour of object
KR0180161B1 (en) Apparatus and method for processing a motion vector
KR0181068B1 (en) Motion estimation apparatus
JPH08242457A (en) Movement vector detecting method
JPH1032822A (en) Motion vector detector
KR100240620B1 (en) Method and apparatus to form symmetric search windows for bidirectional half pel motion estimation
CN108366265A (en) A kind of distributed video side information generation method based on temporal correlation
KR100242653B1 (en) Intra-frame coding method and apparatus thereof
KR100209915B1 (en) Method of looking for motion vectors of lattice points in warping estimation coding

Legal Events

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

Payment date: 20111201

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20121203

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee