KR19990038002A - Motion estimation method and device - Google Patents

Motion estimation method and device Download PDF

Info

Publication number
KR19990038002A
KR19990038002A KR1019970057611A KR19970057611A KR19990038002A KR 19990038002 A KR19990038002 A KR 19990038002A KR 1019970057611 A KR1019970057611 A KR 1019970057611A KR 19970057611 A KR19970057611 A KR 19970057611A KR 19990038002 A KR19990038002 A KR 19990038002A
Authority
KR
South Korea
Prior art keywords
motion
position information
units
decoding
image
Prior art date
Application number
KR1019970057611A
Other languages
Korean (ko)
Other versions
KR100262962B1 (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 KR1019970057611A priority Critical patent/KR100262962B1/en
Priority to US09/182,203 priority patent/US6332002B1/en
Publication of KR19990038002A publication Critical patent/KR19990038002A/en
Application granted granted Critical
Publication of KR100262962B1 publication Critical patent/KR100262962B1/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/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

Landscapes

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

Abstract

본 발명은 계층적 알고리즘을 사용하는 단화소 추정과 반화소 추정시 입/출력 대역폭을 줄이는 움직임 추정방법 및 장치에 관한 것이다.The present invention relates to a motion estimation method and apparatus for reducing input / output bandwidth during single pixel estimation and half pixel estimation using a hierarchical algorithm.

본 발명은 입력영상에 대하여 복수 개의 계층에서 종속적으로 검출된 위치정보에 따라 단화소 단위의 움직을 반복 탐색하고, 입력영상에 대하여 부호화 및 복호화하여, 복수 개의 계층 중 임의의 계층에서 복호된 복원영상에 대하여 단화소 단위로 움직임을 추정한다.The present invention repeatedly searches for movement of a unit of a single pixel according to position information detected in a plurality of layers dependently on an input image, encodes and decodes the input image, and reconstructs an image decoded in an arbitrary layer among the plurality of layers. Estimate the motion in units of pixels for.

본 발명의 움직임 추정방법 및 장치는 계층적 알고리즘을 사용하는 단화소 추정과 반화소 추정시 입/출력 대역폭을 줄일 수 있다.The motion estimation method and apparatus of the present invention can reduce the input / output bandwidth in the single pixel estimation and the half pixel estimation using the hierarchical algorithm.

Description

움직임 추정방법 및 장치Motion estimation method and device

본 발명은 디지털 영상의 부호화에 관한 것으로, 특히 계층적 알고리즘을 사용하는 단화소 추정과 반화소 추정시 입/출력 대역폭을 줄이는 움직임 추정방법 및 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to the encoding of digital images, and more particularly, to a motion estimation method and apparatus for reducing input / output bandwidth during single pixel estimation and half-pixel estimation using hierarchical algorithms.

디지털 동영상 압축방법의 국제표준인 MPEG(Motion Picture Experts Group)-2 방식의 부호화기에서 신호 압축을 수행하는 기본단위는 매크로블럭(Macroblock)이다. 하나의 매크로 블럭은 16×16 화소(Pixel)의 휘도신호(Y) 블록과 8×8 화소의 색차신호(Cr 및 Cb) 블럭으로 구성된다.In the MPEG (Motion Picture Experts Group) -2 encoder, which is an international standard for digital video compression, the basic unit for performing signal compression is a macroblock. One macro block is composed of a luminance signal Y block of 16x16 pixels Pix and a color difference signal Cr and Cb block of 8x8 pixels.

영상압축을 위한 첫 단계는 임의의 입력 영상으로부터 매크로블록을 추출하는 것이다. 이를 위하여, 색체계 변환, 색신호 성분 추림(Decimation), 그리고 블록 분할의 세가지 동작이 필요하다. 여기서, 색체계 변환(Color Space Conversion)은 카메라로부터 입력되어 디지털 형태로 변환된 RGB 영상신호의 중복성을 줄이기 위하여 YCrCb 체계로 변환하는 것을 말한다. 색신호 성분 추림(Chrominance Component Decimation)은 Y 신호가 영상의 명암을 나타내는 신호로서 주파수 대역도 넓고 시각적으로 인식이 잘 되는데 비하여, Cr 및 Cb 신호는 색상을 나타내는 신호로서 인식도가 Y 신호에 비하여 낮기 때문에 이를 수평, 수직 방향으로 추림하여 사용하는 것을 말한다. 예를 들어, 4:2:0 포맷(Format) 영상의 경우, 추림정도(Decimation Factor)는 수평 및 수직으로 각각 2:1 이다. 블럭분할(Block Partitioning)은 색체계 변환과 색신호 성분 추림을 통해 얻어진 YCrCb 영상을 부호화하기에 적합한 크기로 분할하는 것으로써, Y 신호의 경우 16×16 화소 단위로 분할하게 되며 Cr 및 Cb 신호는 8×8 단위로 분할하게 된다.The first step for image compression is to extract macroblocks from any input image. To this end, three operations are required: color system conversion, color signal component reduction, and block division. Here, color space conversion refers to conversion to a YCrCb system in order to reduce redundancy of RGB image signals input from a camera and converted into a digital form. Chrominance Component Decimation is a Y-signal that represents the contrast of an image, and the frequency band is wide and visually recognizable, whereas Cr and Cb signals represent color, and since the recognition is lower than that of the Y-signal, Refers to the use in the horizontal and vertical direction. For example, in a 4: 2: 0 format image, the Decimation Factor is 2: 1 horizontally and vertically, respectively. Block Partitioning divides the YCrCb image obtained through color system conversion and color signal component estimation into a size suitable for encoding. The Y signal is divided into 16 × 16 pixel units, and the Cr and Cb signals are divided into 8 × It is divided into 8 units.

영상 압축을 위한 두 번째 단계는 전체 영상으로부터 규칙적으로 추출된 매크로블록을 움직임 추정 및 보상하는 것이다. 이러한 움직임 추정 및 보상과정은 시간적으로 인접한 비디오 영상간의 중복성을 제거하기 위한 방법이다. 이를 MPEG-2 부호화기를 나타내는 도 1을 참조하여 설명하기로 한다.The second step for image compression is motion estimation and compensation for macroblocks regularly extracted from the entire image. This motion estimation and compensation process is a method for removing redundancy between adjacent video images. This will be described with reference to FIG. 1 showing the MPEG-2 encoder.

도 1을 참조하면, 종래의 MPEG-2 부호화기는 입력라인(1)에 접속되어 움직임 추정 및 보상을 위한 연산 처리를 수행하는 움직임 예측부(20)와, 제1노드(N1)를 경유하여 움직임 예측부(20)와 입력라인(1)과 공통 접속된 프레임 메모리(2)와, 프레임 메모리(2)와 움직임 예측부(20)의 출력단에 공통 접속된 감산기(4)와, 감산기(4)의 출력단에 접속된 부호화 처리부(34)를 구비한다.Referring to FIG. 1, a conventional MPEG-2 encoder is connected to an input line 1 to perform a motion estimation unit 20 to perform arithmetic processing for motion estimation and compensation, and a motion through a first node N1. A frame memory 2 commonly connected to the predictor 20 and the input line 1, a subtractor 4 and a subtractor 4 commonly connected to the output terminals of the frame memory 2 and the motion predictor 20; And an encoding processor 34 connected to the output terminal of the.

움직임 예측부(20)는 입력라인(1)에 접속된 제1움직임 추정기(22)와, 제2노드(N2)를 경유하여 입력라인(1)과 제1움직임 추정기(22)에 공통으로 접속된 제2움직임 추정기(24)와, 제2움직임 추정기(24)의 출력단에 접속된 움직임 보상기(26)를 구비한다.The motion predictor 20 is commonly connected to the input line 1 and the first motion estimator 22 via the first motion estimator 22 connected to the input line 1 and the second node N2. A second motion estimator 24 and a motion compensator 26 connected to an output terminal of the second motion estimator 24.

프레임메모리(2)는 입력라인(1)으로부터 공급되는 입력영상신호로부터 시간적으로 인접되어 입력되는 이전 영상신호를 저장한다. 제1움직임 추정기(22)는 매크로블록의 Y 신호 블럭에 대하여 프레임메모리(2)에 저장된 이전 영상으로부터 가장 유사한 블록의 위치를 단화소 단위로 검출한다. 검출된 위치는 제2움직임 추정기(24)를 위한 기준 위치정보로 사용된다. 제2움직임 추정기(24)는 프레임딜레이부(18)에 저장된 복원 영상에서 제1움직임 추정기(22)로부터 공급받는 기준위치정보에 따라 매크로블럭의 Y신호가 가장 유사한 블록의 위치를 검출한다. 감산기(4)는 프레임 메모리(2)로부터의 영상신호와 제2움직임 추정기(24)로부터의 예측신호의 차신호를 발생하여 이를 부호화 처리부(20)에 공급한다. 부호화 처리부(34)는 감산기(4)로부터 공급된 영상신호를 부호화하도록 연산처리한다. 움직임 보상기(26)는 제2움직임 추정기(24)로부터 발생된 최종 위치정보를 바탕으로, 프레임 딜레이부(18)의 복원영상으로부터의 매크로블럭과 가장 유사한 블록을 추출한다.The frame memory 2 stores a previous video signal inputted adjacent in time from the input video signal supplied from the input line 1. The first motion estimator 22 detects the position of the most similar block in units of pixels from the previous image stored in the frame memory 2 with respect to the Y signal block of the macroblock. The detected position is used as reference position information for the second motion estimator 24. The second motion estimator 24 detects the position of the block having the most similar Y signal in the macro block according to the reference position information supplied from the first motion estimator 22 in the reconstructed image stored in the frame delay unit 18. The subtractor 4 generates a difference signal between the video signal from the frame memory 2 and the prediction signal from the second motion estimator 24 and supplies it to the encoding processor 20. The encoding processor 34 performs arithmetic processing to encode the video signal supplied from the subtractor 4. The motion compensator 26 extracts the block most similar to the macroblock from the reconstructed image of the frame delay unit 18 based on the final positional information generated from the second motion estimator 24.

그리고, 종래의 MPEG-2 부호화기는 부호화 처리부(34)에 의해 부호화된 신호를 복호하는 복호화 처리부(36)와, 제3노드(N3)를 경유하여 감산기(4) 및 움직임 예측부(20)에 공통으로 접속됨과 아울러 복호화 처리부(36)의 출력단에 접속된 가산기(16)와, 가산기(16)의 출력단에 직렬 접속된 프레임 딜레이부(18)와, 제4노드(N4)를 경유하여 부호화 처리부(34) 및 복호화 처리부(36)에 공통으로 접속된 가변길이 부호화기(Variable Length Coder; 이하 "VLC"라 함)(30)와, VLC(30)의 출력단에 직렬 접속된 선입선출 방식의 버퍼(이하, "FIFO 버퍼"라 함, 32)와, FIFO 버퍼(32)와 부호화 처리부(34) 및 프레임 메모리(2)에 공통으로 접속되어 FIFO 버퍼(32)의 데이터 저장량이 특정량을 유지하도록 양자화 스텝 사이즈(Qp)를 제어하는 레이트 제어부(10)를 구비한다.In the conventional MPEG-2 encoder, the decoding processor 36 decodes the signal encoded by the encoding processor 34, and the subtractor 4 and the motion predictor 20 via the third node N3. The encoder 16 is connected in common and is connected to the output terminal of the decoding processor 36, the frame delay unit 18 connected in series to the output terminal of the adder 16, and the encoding processor via the fourth node N4. A variable length coder (hereinafter referred to as " VLC ") 30 commonly connected to the 34 and decoding processing unit 36, and a first-in first-out buffer connected in series to the output terminal of the VLC 30; Hereinafter, referred to as "FIFO buffer" 32, and commonly connected to the FIFO buffer 32, the encoding processing unit 34, and the frame memory 2 to quantize the data storage amount of the FIFO buffer 32 to maintain a specific amount. The rate control part 10 which controls a step size Qp is provided.

종래의 MPEG-2 부호화기는 입력 영상의 매크로 블록과 움직임 보상기(26)에 의하여 추출된 복원 영상의 블록간의 차영상(dirfference image)을 부호화함으로서 시간적으로 인접한 영상간의 중복성을 제거하게 된다. 따라서, 부호화 처리부(34)는 움직임 보상기(26)에서 움직임 보상 후 발생된 매크로블럭의 차영상을 8×8 화소 단위로 DCT 변환하여 부호화한다. 이 변환 부호화 방식은 차영상에 존재하는 공간 영역 상관성을 제거하기 위하여 사용된다.The conventional MPEG-2 encoder removes redundancy between adjacent images in time by encoding a difference image between a macroblock of an input image and a block of a reconstructed image extracted by the motion compensator 26. Therefore, the encoding processor 34 performs DCT conversion on the difference image of the macroblock generated after the motion compensation by the motion compensator 26 in 8 × 8 pixel units and encodes the same. This transform coding method is used to remove the spatial domain correlation present in the difference image.

이를 위하여, 부호화 처리부(34)는 감산기(4)의 출력단에 직렬 접속되어 감산기(4)로부터의 영상신호를 이산코사인변환(Discrete cosine transform)하는 이산코사인변환 처리부(이하 "DCT 처리부")(6)와, DCT 처리부(6)의 출력단에 직렬접속되어 레이트 제어부(10)로부터 공급되는 양자화 스텝 사이즈(Qp)에 따라 DCT 처리부(6)로부터의 신호를 양자화(Quantization)하여 예측예러 코드를 발생하는 양자화기(Quantizer, 8)를 구비한다.To this end, the encoding processing unit 34 is connected in series with the output terminal of the subtractor 4 to perform discrete cosine transform on the video signal from the subtractor 4 (hereinafter, referred to as a "DCT processing unit") 6 ) And quantized the signal from the DCT processor 6 according to the quantization step size Qp supplied from the rate controller 10 and serially connected to the output terminal of the DCT processor 6 to generate a prediction error code. A quantizer 8 is provided.

복호화 처리부(36)는 양자화 스텝 사이즈(Qp)에 따라 예측에러 코드를 복호화하여 복호화기에서 수행되는 영상 복원과정과 동일한 연산을 통하여 복호화기와 동일한 차영상 신호를 복원한다.The decoding processor 36 decodes the prediction error code according to the quantization step size Qp and restores the same difference image signal to the decoder through the same operation as the image reconstruction process performed by the decoder.

이를 위하여, 복호화 처리부(36)는 제4노드(N4)를 경유하여 부호화 처리부(34)에 접속됨과 아울러 레이트 제어부(10)에 접속된 역양자화기(12)와, 역양자화기(12)의 출력단에 직렬접속된 역이산코사인변환 처리부(이하, "IDCT 처리부"라 함)(14)를 구비한다.To this end, the decoding processing unit 36 is connected to the encoding processing unit 34 via the fourth node N4 and the inverse quantizer 12 and the inverse quantizer 12 connected to the rate control unit 10. An inverse discrete cosine transform processor (hereinafter referred to as an "IDCT processor") 14 connected in series to the output terminal is provided.

역양자화기(12)는 양자화 스텝 사이즈(Qp)에 따라 부호화 처리부(34)로부터의 예측에러 코드를 역양자화(Inverse Quantization)한다. IDCT 처리부(14)는 역양자화기(12)로부터의 신호를 역이산코사인 변환하여 재생에러신호를 가산기(16)에 공급한다. 그러면 가산기(16)는 재생에러신호와 움직임 예측부(20)로부터의 예측신호를 가산하여 다음에 입력될 영상을 예측하기 위한 새로운 복원영상을 구성하여, 이를 프레임 딜레이부(18)에 공급한다. 따라서, 프레임 딜레이부(18)에 저장되는 영상은 복원영상으로서 복호화기에서 복원되는 영상과 정확히 일치한다.The inverse quantizer 12 inverse quantizes the prediction error code from the encoding processor 34 according to the quantization step size Qp. The IDCT processor 14 inverses discrete cosine-converts the signal from the inverse quantizer 12 and supplies a reproduction error signal to the adder 16. The adder 16 then adds the reproduction error signal and the prediction signal from the motion predictor 20 to form a new reconstructed image for predicting the next image to be input, and supplies it to the frame delay unit 18. Therefore, the image stored in the frame delay unit 18 is exactly the image reconstructed by the decoder as a reconstructed image.

도 2는 도 1의 제1 및 제2움직임 추정기(22, 24)를 상세히 도시한 블록도로써, 제1 및 제2움직임 추정기(22, 24) 각각은 5-경로(Path), 즉 프레임(Frame), 상위필드 대 상위 필드(Top-to-top), 하위필드 대 상위필드(Bottom-to-top), 상위필드 대 하위필드(Top-to-bottom), 하위필드 대 하위필드(Bottom-to-bottom)에 대한 움직임 추정을 동시에 수행한다.FIG. 2 is a detailed block diagram of the first and second motion estimators 22 and 24 of FIG. 1, wherein each of the first and second motion estimators 22 and 24 is a five-path path, that is, a frame ( Frame, Top-to-top, Bottom-to-top, Top-to-bottom, Bottom-to-top to-bottom motion estimation is performed at the same time.

도 2에 있어서, 도 1과 단화소 단위의 움직임 추정을 나타내는 도 3 및 반화소 단위의 움직임 추정을 나타내는 도 4를 결부하여 설명하기로 한다.In FIG. 2, FIG. 1 will be described with reference to FIG. 3, which illustrates motion estimation in units of a single pixel, and FIG. 4, which illustrates motion estimation in units of a half pixel.

제1움직임 추정기(22)는 입력라인(1)으로부터 공급되는 입력영상에 대하여 5-경로에 대한 단화소 단위의 움직임 추정을 수행한다. 제1움직임 추정기(22)에 의해 수행되는 탐색영역의 해당 영상은 부호화 순서에 따라 지연(delay)된 입력라인(1)을 경유한 입력영상이다. 제1움직임 추정기(22)는 단화소 단위로 움직임 추정을 할 때, 5-경로 각각에 대하여 도 3에 도시된 전역 탐색 블록 정합 알고리즘(block matching algorithm)을 사용한다. 전역 탐색 블록 정합 알고리즘은 도 3에 도시된 바와 같이 현재 입력되는 영상을 It라 하고 이전 입력영상을 It-1이라 할 때, It의 특정 블록 Bt에 대하여 가장 유사한 블록을 It -1로부터 검출하는 과정이다. 이때, 블록의 크기 NB는 MPEG-2의 경우 16으로 설정된다.The first motion estimator 22 performs motion estimation in units of a single pixel with respect to a 5-path on the input image supplied from the input line 1. The corresponding image of the search region performed by the first motion estimator 22 is an input image via the input line 1 delayed according to the encoding order. The first motion estimator 22 uses the global search block matching algorithm shown in FIG. 3 for each of the 5-paths when the motion estimation is performed in units of pixels. Full search block matching algorithm is referred to the video data input as shown in Figure 3 I t, and when referred to as I t-1 the previous input image, the most similar block relative to a particular block B t of I t I t - It is the process of detecting from 1 . At this time, the block size N B is set to 16 in the case of MPEG-2.

이를 상세히 하면, 우선 입력영상(It)에서 기준 위치(x, y)의 특정블럭(Bt)에 대하여 유사한 블록을 찾기 위한 국부영역을 이전 입력영상(It-1)에서 검축한다. 이때, 이전 입력영상(It-1)에서 국부영역의 크기는 기준위치(x, y)를 중심으로 하여 수평으로 x-S~ x+S+NB-2, 수직으로 y-S~ y+S+NB-2에 해당한다. 그 다음으로, 평균 절대 오차(Mean Absoute Difference; MAD)를 기준으로 하여 입력영상(It)의 특정블럭(Bt)과 가장 유사한 블록을 찾는다. 평균 절대 오차는 수식1로 표현된다.Specifically this, geomchuk from first input image (I t) based on the location (x, y) a specific block (B t) before the input image (I t-1) to the local area to find the similar block relative to at. At this time, the size of the local area in the previous input image (I t-1 ) is horizontally xS ~ x + S + N B -2 vertically and yS ~ y + S + N around the reference position (x, y). Corresponds to B- 2. Next, the block most similar to the specific block B t of the input image I t is found based on the mean absolute difference (MAD). The mean absolute error is represented by Equation 1.

[수식1][Equation 1]

수식1에 의해, 이전 입력영상(It-1)의 국부영역 내에서 임의의 위치(u, v)마다 NB×NB크기의 임의 블록(Bt-1)과 특정블록(Bt) 간의 평균 절대 오차(MAD)를 계산한다. 이어서, 평균 절대 오차(MAD)가 가장 적은 블록(Bt-1)의 위치(u,v)*)를 검출한다. 이때, 기준위치(x, y)로부터 검출된 위치(u,v)*)까지의 변위를 단화소 단위의 움직임 벡터(Motion Vector)라고 한다. 수식1로부터 5-경로 각각에 대하여 단화소 단위의 움직임 벡터는 수식2로 계산되고, 단화소 단위의 움직임 벡터를 구하기 위한 초당 요구되는 계산량(OPFSBMA)은 화면의 크기를 W×H라 하고 프레임 레이트(Frame rate)를 30 (frame/sec)라 하면 수식3과 같다.According to Equation 1, the arbitrary block B t-1 and the specific block B t having a size of N B × N B for every position (u, v) in the local region of the previous input image I t-1 Calculate the mean absolute error (MAD) of the liver. Subsequently, the position (u, v) * ) of the block B t-1 having the smallest mean absolute error MAD is detected. At this time, the displacement from the reference position (x, y) to the detected position (u, v) * ) is called a motion vector of a unit of pixel. For each of the 5-paths from Equation 1, the motion vector in units of single pixels is calculated by Equation 2, and the required amount of calculation per second (OP FSBMA ) for obtaining the motion vectors in units of pixels is called W × H. A frame rate of 30 (frame / sec) is shown in Equation 3.

[수식 2][Formula 2]

프레임 : (frame) NB×NB×2S×2S×MFrame: (frame) N B × N B × 2S × 2S × M

상위필드 대 상위필드(Top-to-top), 하위필드 대 상위필드(Bottom-to-top), 상위필드 대 하위필드(Top-to-bottom), 하위필드 대 하위필드(Bottom-to-bottom) :Top-to-top, sub-field-to-top, top-to-bottom, sub-to-bottom ):

[수식3][Equation 3]

여기서, M은 단위 화소당 평균 절대 오차를 계산하는데 요구되는 계산량이다.Here, M is a calculation amount required for calculating the average absolute error per unit pixel.

제2움직임 추정기(24)는 제1움직임 추정기(22)의 단 화소 단위의 움직임 추정으로부터 발생된 5-경로의 움직임 벡터를 중심으로 부호화할 영상에 대한 반화소 단위의 움직임 추정을 한다. 이때, 사용되는 탐색영역으로 프레임 딜레이부(18)에 저장된 복호화된 영상이다. 제2움직임 추정기(24)는 반화소 단위의 움직임 추정을 수행할 때 프레임딜레이부(18)의 복호화된 영상을 사용함으로써, 부호화기 및 복호화기가 동일한 예측화상을 사용할 수 있게 된다.The second motion estimator 24 estimates a half-pixel motion of an image to be encoded based on a 5-path motion vector generated from the motion estimation of a single pixel of the first motion estimator 22. In this case, the searched area is a decoded image stored in the frame delay unit 18. The second motion estimator 24 uses the decoded image of the frame delay unit 18 when performing motion estimation in units of half pixels, thereby enabling the encoder and the decoder to use the same predictive image.

이를 위하여, 제2움직임 추정기(24)는 상위필드 즉, 상위필드 대 상위필드(Top-to-top), 하위필드 대 상위필드(Bottom-to-top)의 2 경로에 대한 움직임 벡터(MV)가 공급되는 제1멀티플렉서(23)와, 하위필드, 즉, 상위필드 대 하위필드(Top-to-bottom), 하위필드 대 하위필드(Bottom-to-bottom)의 2개의 경로에 대한 움직임 벡터(MV)가 공급되는 제2멀티플렉서(25)와, 제1 및 제2멀티플렉서(23, 25)의 출력단에 공통으로 접속된 가산기(27)를 추가로 구비한다.To this end, the second motion estimator 24 has a motion vector (MV) for two paths of a top field, that is, a top-to-top and a bottom-to-top field. The motion vector for two paths of the first multiplexer 23, to which subfields are supplied, a subfield, that is, a top-to-bottom and a bottom-to-bottom, A second multiplexer 25 to which MV) is supplied, and an adder 27 commonly connected to the output terminals of the first and second multiplexers 23 and 25 are further provided.

제1멀티플렉서(23)는 상위필드 대 상위필드, 하위필드 대 상위필드의 2 경로에서 산출된 반화소 움직임 벡터를 선택적으로 절환하여 가산기(27)에 공급한다. 제2멀티플렉서(25)는 상위필드 대 하위필드, 하위필드 대 하위필드의 2개의 경로에서 산출된 반화소 움직임 벡터를 선택적으로 절환하여 가산기(27)에 공급한다. 그러면 가산기(27)는 제1 및 제2멀티플렉서(23, 25)로부터 출력되는 필드의 반화소 움직임 벡터를 가산하여 필드/프레임 결정부(29)에 공급한다. 필드/프레임 결정부(29)는 프레임의 반화소 움직임 벡터와 가산기(27)로부터 출력되는 필드의 반화소 움직임 벡터를 비교하여 움직임 벡터 값이 적은 쪽을 선택하여 출력한다. 제2움직임 추정기(24)는 도 4에 도시된 바와 같이 단화소 단위의 움직임 벡터를 중심으로 한 9개의 위치에서 가장 오차가 적은 블록의 위치를 검출하므로써, 반화소 단위의 움직임을 추정한다. 이때, 위치를 검출하는 방법으로는 제1움직임 추정기(22)의 단화소 단위의 움직임 추정방법과 마찬가지로 블록 정합 알고리즘을 사용한다. 도 4에 도시된 9개의 탐색점 각 위치에 대응되는 블록은 단화소 단위의 움직임 벡터를 (u, v)라 할 때, 수식 4로 계산된다.The first multiplexer 23 selectively switches the half-pixel motion vectors calculated in two paths of the upper field to the upper field and the lower field to the upper field, and supplies them to the adder 27. The second multiplexer 25 selectively switches the half-pixel motion vectors calculated in two paths of the upper field to the lower field and the lower field to the lower field, and supplies them to the adder 27. The adder 27 adds the half-pixel motion vectors of the fields output from the first and second multiplexers 23 and 25 and supplies them to the field / frame determination unit 29. The field / frame determination unit 29 compares the half-pixel motion vector of the frame with the half-pixel motion vector of the field output from the adder 27, and selects and outputs the one having the smaller motion vector value. As shown in FIG. 4, the second motion estimator 24 estimates the motion of the half-pixel unit by detecting the position of the block having the least error at nine positions centered on the motion vector of the unit of the single pixel. In this case, as a method of detecting the position, a block matching algorithm is used in the same manner as the motion estimation method of the unit of the pixel of the first motion estimator 22. A block corresponding to each of the nine search point positions shown in FIG. 4 is calculated by Equation 4 when the motion vector of the unit of a single pixel is (u, v).

[수식 4][Equation 4]

탐색위치 4, 5 : I(u±0.5, v)+{I(u, v)+I(u±1, v)}/2Search position 4, 5: I (u ± 0.5, v) + {I (u, v) + I (u ± 1, v)} / 2

탐색위치 2, 7 : I(u, v±0.5)+{I(u, v)+I(u, v±1)}/2Search position 2, 7: I (u, v ± 0.5) + {I (u, v) + I (u, v ± 1)} / 2

탐색위치 1, 3, 6, 8 : I(u±0.5, v±0.5)+{I(u, v)+I(u, v±1, v)+I(u±1, v)+I(u±1, v±1)}/4Search Positions 1, 3, 6, 8: I (u ± 0.5, v ± 0.5) + {I (u, v) + I (u, v ± 1, v) + I (u ± 1, v) + I (u ± 1, v ± 1)} / 4

수식4로부터 5-경로 각각에 대한 반화소 단위의 움직임은 수식5에 의해 계산된다.The motion of half-pixel units for each of the 5-paths from Equation 4 is calculated by Equation 5.

[수식 5][Equation 5]

프레임 : NB×NB×8×(M+L)Frame: N B × N B × 8 × (M + L)

상위필드 대 상위필드, 하위필드 대 상위필드, 상위필드 대 하위필드, 하위필드 대 하위필드 :Parent field to parent field, child field to parent field, parent field to child field, child field to child field:

여기서, L은 반화소 위치의 한 화소를 만드는데 요구되는 계산량이다. 수식5로부터 반화소 단위의 움직임 추정을 위해서 요구되는 전체 게산량은 3× NB×NB×8×(M+L)이며, 초당 요구되는 계산량(OPHPSBMA)은 화면의 크기를 W×H라 하고 프레임 레이트(Frame rate)를 30 (frame/sec)라 하면 수식6으로 계산된다.Where L is the amount of computation required to make one pixel at the half-pixel position. From Equation 5, the total amount of calculation required for half-pixel motion estimation is 3 × N B × N B × 8 × (M + L), and the amount of calculation required per second (OP HPSBMA ) changes the screen size to W × H. If the frame rate is 30 (frame / sec) is calculated by Equation 6.

[수식 6][Equation 6]

초당 요구되는 단화소 단위의 움직임 벡터를 구하기 위한 계산량(OPFSBMA)과초당 요구되는 반화소 단위의 움직임 벡터를 구하기 위한 계산량(OPHPSBMA)의 비는The ratio of the calculation amount (OP FSBMA ) for obtaining the motion vector in unit of pixel required per second and the calculation amount (OP HPSBMA ) for obtaining the motion vector in unit of half pixel required per second is

로서, 탐색영역이 증가할 수록(즉, S가 증가할수록)단화소 단위의 탐색이 반화소 단위의 탐색보다 많은 계산량이 필요로 하며, 이러한 계산량의 차이는 지수적으로 증가한다. As the search area increases (i.e., as S increases), the search in units of single pixels requires more computation than the search in units of half pixels, and the difference in the amounts of computation increases exponentially.

결과적으로, 단화소 단위의 움직임 추정을 위하여 움직임 추정 영역 내의 모든 위치를 탐색할 경우, 탐색영역의 크기가 증가함에 따라 지수적으로 증가하는 막대한 계량으로 시스템의 처리속도를 늦추게 하고 하드웨어의 복잡성(Complexity)을 크게 하는 결과를 초래한다. 이러한 문제점으로 고속 탐색 알고리즘이 개발되고 있는데, 이 중 대표적인 예가 계층적 블록 정합 알고리즘이다. 이를 도 5를 참조하여 설명하기로 한다.As a result, when searching all positions in the motion estimation region for single pixel motion estimation, as the size of the search region increases, the enormous amount of exponential increase slows down the processing speed of the system and increases the complexity of the hardware. Increase the complexity. Due to this problem, a fast search algorithm is being developed, a representative example of which is a hierarchical block matching algorithm. This will be described with reference to FIG. 5.

도 5는 종래의 계층적 블록 정합 알고리즘을 나타낸다.5 shows a conventional hierarchical block matching algorithm.

도 5를 참조하면, 종래의 계층적 블록 정합 알고리즘은 단위영상을 제0 내지 제2층(layer)의 계층적 구조의 영상으로 재구성한다.Referring to FIG. 5, the conventional hierarchical block matching algorithm reconstructs a unit image into an image having a hierarchical structure of 0th to 2nd layer.

제1+1 층의 영상은 제1영상을 필터링(filtering)하고, 서브 샘플링(sub-sampling)하여 만든 영상으로서 제1층의 영상에 비하여 수평, 수직 방향화소수가 1/2만큼 줄어든 영상이다. 이러한 계층적 구조의 영상을 사용하여 단화소 단위의 움직임 추정 과정을 상세히 설명하면, 제2층(1=2)의 영상에서의 움직임 추정은 원 영상의 크기가 수평, 수직으로 1/4씩 줄어든 영상으로 움직임 추정을 한다. 움직임 추정 방법은 1/4로 줄어든 탐색영역 전체에 대하여 1/4로 줄어든 블록을 사용하여 블록정합 오차를 계산하고, 비교한다. 블록정합 방법에 요구되는 계산량이 단위 블록 크기의 제곱과 탐색영역 크기의 제곱에 비례하므로 제2층에서의 움직임 추정에 요구되는 계산량은 (1/4)2×(1/42)만큼 감소된다. 그 계산량은 수식7로 표현된다.The image of the first + 1 layer is an image formed by filtering and sub-sampling the first image, and has a horizontal and vertical pixel number reduced by 1/2 compared to the image of the first layer. Using the hierarchical structure to describe the motion estimation process in units of pixels, the motion estimation in the image of the second layer (1 = 2) is reduced by a quarter of the original image horizontally and vertically. Motion estimation is performed by video. The motion estimation method calculates and compares a block matching error using a block reduced to 1/4 for the entire search area reduced to 1/4. Since the amount of computation required for the block matching method is proportional to the square of the unit block size and the square of the search area size, the amount of computation required for the motion estimation in the second layer is reduced by (1/4) 2 × (1/4 2 ). . The calculation amount is expressed by the expression (7).

[수식7][Equation 7]

제2층에서 구한 움직임벡터의 정확도를 향상시키기 위하여, 제2층에서 구한 움직임 벡터를 중심으로 하는 국부 영역에 대하여 제1층(l=1)에서 블록 정합 방법을 적용한다. 제1층에서 국부영역의 크기는 ±2 정도로 전체 탐색 영역에 비하여 무시할 수 있을 만큼 작기 때문에 제1층에서는 계산량의 큰 증가없이 움직임 벡터의 정확도를 향상시킬 수 있다. 제1층에서 움직임 벡터를 구하기 위한 수식은 수식8로 표현된다.In order to improve the accuracy of the motion vectors obtained in the second layer, the block matching method is applied in the first layer (l = 1) to the local region centered on the motion vectors obtained in the second layer. Since the size of the local region in the first layer is negligibly small compared to the entire search region by about 2, the accuracy of the motion vector can be improved in the first layer without a large increase in the amount of calculation. The equation for obtaining the motion vector in the first layer is expressed by Equation 8.

[수식8][Equation 8]

제1층에서의 움직임 추정과 마찬가지로 제0층에서의 움직임 추정은 제1층에서 구한 움직임 벡터를 중심으로 하는 국부영역(±2)에 대하여 움직임 추정을 수행한다. 제0층에서 요구되는 계산량은 아래의 수식9로 표현된다.Like the motion estimation in the first layer, the motion estimation in the 0th layer performs motion estimation on the local region (± 2) centered on the motion vector obtained in the first layer. The amount of calculation required in the layer 0 is expressed by Equation 9 below.

[수식9][Equation 9]

Clauer0= NB 2×52×MC lauer 0 = N B 2 × 5 2 × M

도 6은 계층적 블록 정합 알고리즘을 적용한 MPEG-2의 움직임 추정을 나타내는 도면으로서, 도 1의 움직임 예측부(20)에서 제1 및 제2움직임 추정기(22, 24)에 의해 수행된다.FIG. 6 is a diagram illustrating motion estimation of MPEG-2 by applying a hierarchical block matching algorithm, which is performed by the first and second motion estimators 22 and 24 in the motion predictor 20 of FIG. 1.

도 7은 종래의 계층적 탐색 방법에서 제0층과 반화소 탐색을 위한 제1 및 제2움직임 추정기(22, 24)의 상세 블록도를 도시한다.FIG. 7 shows a detailed block diagram of the first and second motion estimators 22, 24 for the layer 0 and half pixel search in a conventional hierarchical search method.

도 6 및 도 7을 참조하면, 제1움직임 추정기(22)는 입력라인(1)으로부터 공급되는 입력영상에 대하여 5-경로의 필드/프레임으로 제0 내지 제2층의 계층구조에 의해 단화소 단위의 움직임 추정을 수행하고, 제2움직임 추정기(24)는 제1움직임 추정기(22)로부터 공급되는 위치정보 따라 복원영상에 대하여 반화소 단위의 탐색으로 움직임 추정을 수행한다. 제2움직임 추정기(24)의 제1 및 제2멀티플렉서(23, 25)는 상위필드 대 상위필드, 하위필드 대 상위필드, 상위필드 대 하위필드, 하위필드 대 하위필드의 4 경로에서 산출된 움직임 벡터를 선택적으로 절환하여 제2가산기(27)에 공급한다. 필드/프레임 결정부(29)는 프레임 경로의 움직임 벡터와 가산기(27)로부터 출력되는 필드 경로의 움직임 벡터를 비교하여 움직임 벡터 값이 적은 쪽을 선택하여 출력한다.6 and 7, the first motion estimator 22 has a single pixel by a hierarchical structure of layers 0 to 2 in 5-path fields / frames with respect to the input image supplied from the input line 1. The unit of motion estimation is performed, and the second motion estimator 24 performs motion estimation by searching in half-pixel units with respect to the reconstructed image according to the position information supplied from the first motion estimator 22. The first and second multiplexers 23 and 25 of the second motion estimator 24 are motions calculated in four paths of upper field to upper field, lower field to upper field, upper field to lower field, and lower field to lower field. The vector is selectively switched and supplied to the second adder 27. The field / frame determination unit 29 compares the motion vector of the frame path with the motion vector of the field path output from the adder 27, and selects and outputs the one having the smaller motion vector value.

5-경로의 필드/프레임 움직임 추정을 하는 경우의 계층적 탐색 방법이 요구하는 계산량은 아래의 수식10과 같다.The amount of computation required by the hierarchical search method in the case of 5-path field / frame motion estimation is shown in Equation 10 below.

[수식 10]Equation 10

움직임 추정기(22, 24)는 데이터버스(54)를 경유하여 공통으로 접속된 제0층에서의 움직임 벡터 검출부(70)와, 반화소 단위의 움직임 벡터 검출부(80)를 구비한다.The motion estimators 22 and 24 include a motion vector detector 70 in the 0th layer commonly connected via the data bus 54 and a motion vector detector 80 in units of half pixels.

제0층에서의 움직임 벡터 검출부(70)는 제1층에서 검출된 움직임 벡터(MV1)가 어드레스버스(52)에 접속된 제1어드레스 발생기(44)에 공급되어 발생된 제0층에0서의 기준위치정보(A0)를 기초로 하여, 국부영역(±2)에 대한 탐색을 반복적으로 수행하여 제0층에서의 움직임 벡터(MV0)를 생성한다.The motion vector detector 70 in the 0th layer is configured to supply the 0th layer generated by supplying the motion vector MV 1 detected in the first layer to the first address generator 44 connected to the address bus 52. Based on the reference position information A 0 of FIG. 2, the search for the local area ± 2 is repeatedly performed to generate a motion vector MV 0 in the 0th layer.

이를 위하여, 제0층에서의 움직임 벡터 검출부(70)는 데이터버스(54)에 접속되어 딜레이된 입력영상이 공급되는 제1버퍼(46)와, 제1버퍼(46) 및 제1 내부 메모리(42)에 공통으로 접속되는 제1연산기(40)와, 제1연산기(40)의 출력단에 접속된 제1비교기(48)와, 제1비교기(48)와 어드레스버스(52)에 공통으로 접속된 제2어드레스 발생기(50)를 구비한다.To this end, the motion vector detector 70 in the 0th layer is connected to the data bus 54 to supply a delayed input image, a first buffer 46, a first buffer 46 and a first internal memory ( 42 is commonly connected to the first operator 40, the first comparator 48 connected to the output terminal of the first operator 40, the first comparator 48 and the address bus 52 in common. And a second address generator 50.

제1연산기(40)는 제1버퍼(46)로부터 공급되는 딜레이된 입력영상에 대하여 평균 절대 오차(MAD)를 계산하여 그 결과 값을 제1비교기(48)에 공급한다. 제1비교기는 평균 절대 오차(MAD)가 가장 적은 위치를 검출하고 그 위치와 기준위치의 변위를 움직임 벡터(MV0)로서 생성한다. 제2어드레스 발생기(50)는 제1비교기(48)로부터 공급되는 움직임 벡터(MV0)의 값에 대응하는 위치정보(Ah)를 발생한다. 이 위치정보(Ah)는 반화소 단위의 탐색에서 기준위치 정보로 사용된다.The first operator 40 calculates an average absolute error MAD with respect to the delayed input image supplied from the first buffer 46 and supplies the resultant value to the first comparator 48. The first comparator detects a position having the lowest mean absolute error MAD and generates a displacement between the position and the reference position as the motion vector MV 0 . The second address generator 50 generates position information A h corresponding to the value of the motion vector MV 0 supplied from the first comparator 48. This position information A h is used as reference position information in the half pixel unit search.

반화소 단위의 움직임 벡터 검출부(80)는 기준 위치정보(Ah)를 기초로 하여, 복원영상에 대한 반화소 단위의 국부영역 탐색을 반복적으로 수행하여 움직임 벡터(MVh)를 생성한다.The half-pixel unit motion vector detection unit 80 generates a motion vector MV h by repeatedly searching for a half-pixel unit region of the reconstructed image based on the reference position information A h .

이를 위하여, 반화소 단위의 움직임 벡터 검출부(80)는 데이터버스(54)에 접속되어 복원영상이 공급되는 제2버퍼(52)와, 제2버퍼(52) 및 제2 내부 메모리(58)에 공통으로 접속되는 제2연산기(56)와, 제2연산기(56)의 출력단에 접속된 제2비교기(60)를 구비한다.To this end, the motion vector detection unit 80 of a half pixel unit is connected to the data bus 54 to the second buffer 52 to which the reconstructed image is supplied, and to the second buffer 52 and the second internal memory 58. The second operator 56 connected in common and the second comparator 60 connected to the output terminal of the second operator 56 are provided.

제2연산기(56)는 제2버퍼(50)로부터 공급되는 복원영상에 대하여 평균 절대 오차(MAD)를 계산하여 그 산출된 값을 제2비교기(60)에 공급한다. 그러면 제2비교기는 평균 절대 오차(MAD)가 가장 적은 위치를 검출하고 그 위치와 기준위치의 변위를 움직임 벡터(MVh)로서 생성한다.The second operator 56 calculates an average absolute error MAD with respect to the reconstructed image supplied from the second buffer 50 and supplies the calculated value to the second comparator 60. The second comparator then detects the position with the lowest mean absolute error MAD and generates a displacement between the position and the reference position as the motion vector MV h .

반화소 단위의 탐색을 위한 계산량은 도 2에서의 설명 중 수식5와 같다. 수식10으로부터 전역 탐색 알고리즘을 계층적 블록 정합 알고리즘으로 대치할 때 얻을 수 있는 계산량의 감소효과는 수식11과 같다.The amount of calculation for the half pixel unit search is the same as Equation 5 in the description of FIG. 2. Equation 11 reduces the amount of computation that can be obtained by replacing the global search algorithm with the hierarchical block matching algorithm.

[수식 11][Equation 11]

일반적으로, MPEG-2에서 대상으로 하고 있는 움직임 추정영역의 크기 S는 32 이상이 된다. 따라서, 계층적 블록 정합 알고리즘을 적용함으로서 1/128로 계산량이 감소된다.In general, the size S of the motion estimation region targeted by MPEG-2 is 32 or more. Thus, by applying the hierarchical block matching algorithm, the amount of computation is reduced to 1/128.

도 8은 도 6의 계층적 블록 정합 알고리즘을 적용한 가장 기본적인 형태로서, 움직인 추정의 각 단계에서 입/출력 대역폭(I/O bandwidth)을 설명하기 위한 도면이다.FIG. 8 is a diagram illustrating an input / output bandwidth in each step of moving estimation, which is the most basic form to which the hierarchical block matching algorithm of FIG. 6 is applied.

도 8을 참조하면, 움직임 추정기(82)는 데이터 버스(92)를 경유하여 4개의 메모리(84, 86, 88, 90)와 공통 접속된다. 3개의 메모리(EM2, EM1,EM0(84, 86, 88)는 계층적 탐색을 위하여 각각 제2층, 제1층 제0층의 원 영상을 저장하고 있는 외부 메모리이다. 그리고 메모리 EMH(48)는 반화소 단위의 탐색을 위하여 복원 영상을 저장하고 있는 외부 메모리이다. 영상의 크기를 W×H라 하고, 프레임 레이트(frame rate)를 30 (frame/sec)라 할 때, 도 5 및 도 6을 참조하여 각 단계의 입/출력 대역폭을 계산하면 아래의 수식12와 같다.Referring to FIG. 8, the motion estimator 82 is commonly connected to four memories 84, 86, 88, and 90 via a data bus 92. The three memories EM2, EM1, and EM0 84, 86, and 88 are external memories that store original images of the second layer and the first layer, respectively, for hierarchical search, and the memory EMH 48. Is an external memory for reconstructing the reconstructed image for half-pixel retrieval, when the size of the image is W × H and the frame rate is 30 (frame / sec). Calculate the input / output bandwidth of each step with reference to Equation 12 below.

[수식 12]Equation 12

제2층의 탐색영역 공급을 위한 입/출력 대역폭(IOlayer2) 요구량:Input / output bandwidth (IO layer2 ) requirements for supplying the search area of the second layer:

제1층의 탐색영역 공급을 위한 입/출력 대역폭(IOlayer1) 요구량:Input / output bandwidth (IO layer1 ) requirements for supplying the search region of the first layer:

제0층의 탐색영역 공급을 위한 입/출력 대역폭(IOlayer0) 요구량:Input / output bandwidth (IO layer0 ) requirements for supplying the search area of layer 0:

반화소 단위의 탐색영역 공급을 위한 입/출력 대역폭(IOhalf) 요구량:Input / output bandwidth (IO half ) requirement for half-pixel search area:

계층적 블록 정합 알고리즘의 특성상 제2층에서의 탐색영역들은 많은 부분이 중첩되므로 한 번 사용된 탐색영역 데이터를 여러 번 반복하여 사용함으로서 입/출력 대역폭 요구량을 크게 줄일 수 있지만, 나머지 층들의 탐색영역은 전혀 중첩이 되지 않으므로 입/출력 대역폭 요구량을 줄일 수 없다. MPEG-2에서 제공되는 메인 레벨에서의 메인 프로파일(MP@ML; Main profile at Main level)에 해당하는 값들(NB=16, W=720, H=480)을 수식 12에 대입·적용하여 제2층을 제외한 나머지 층들에서의 입/출력 밴드폭을 실제로 구해보면, 아래와 같이 제0층과 반화소 단위의 탐색을 위한 입/출력 대역폭이 비교적 높음을 알 수 있다. 특히, 양방향 움직임 추정이 요구되는 B-화면(B-picture) 처리를 위해서는 아래의 입/출력 대역폭이 2배로 된다.Due to the nature of the hierarchical block matching algorithm, since the search areas in the second layer overlap a large portion, the input / output bandwidth requirements can be greatly reduced by repeatedly using the search area data once used, but the search areas of the remaining layers Does not overlap at all, so the input / output bandwidth requirements cannot be reduced. Values corresponding to the main profile at main level (MP @ ML; Main profile at Main level) provided by MPEG-2 (N B = 16, W = 720, H = 480) are substituted and applied to Equation 12. When the input / output bandwidths of the remaining layers except for the second layer are actually obtained, it can be seen that the input / output bandwidth for the discovery of the 0th layer and the half pixel unit is relatively high as follows. In particular, the following input / output bandwidth is doubled for B-picture processing requiring bi-directional motion estimation.

따라서, 본 발명의 목적은 계층적 알고리즘을 사용하는 단화소 추정과 반화소 추정시 입/출력 대역폭을 줄일 수 있는 움직임 추정방법 및 장치를 제공하는 것이다.Accordingly, it is an object of the present invention to provide a motion estimation method and apparatus capable of reducing input / output bandwidth in single pixel estimation and half-pixel estimation using a hierarchical algorithm.

도 1은 종래의 MPEG-2 부호화기를 도시한 블록도.1 is a block diagram showing a conventional MPEG-2 encoder.

도 2는 도 1의 움직임 예측부에서 제1 및 제2움직임 추정부를 상세 블럭도.FIG. 2 is a detailed block diagram of a first and a second motion estimator in the motion predictor of FIG.

도 3는 종래의 전역 탐색 블록 정합 알고리즘을 나타내는 도면.3 illustrates a conventional global search block matching algorithm.

도 4는 종래의 반화소 단위의 움직임 추정 방법을 나타내는 도면.4 is a diagram illustrating a conventional half-pixel unit motion estimation method.

도 5는 종래의 계층적 블록 정합 알고리즘을 나타내는 도면.5 illustrates a conventional hierarchical block matching algorithm.

도 6은 종래의 계층적 블록 정합 알고리즘을 적용한 움직임 추정부의 상세 블럭도.6 is a detailed block diagram of a motion estimation unit to which a conventional hierarchical block matching algorithm is applied.

도 7은 종래의 계층적 블록 정합 알고리즘의 탐색에서 제0층과 반화소 탐색을 수행하는 움직임 추정부의 상세 블록도.7 is a detailed block diagram of a motion estimation unit for performing a half-pixel search with a layer 0 in the search of a conventional hierarchical block matching algorithm.

도 8은 종래의 계층적 블록 정합 알고리즘의 탐색에서 탐색영역 데이터를 공급하기 위한 메모리 구성을 나타내는 움직임 추정부의 블럭도.Fig. 8 is a block diagram of a motion estimation unit showing a memory configuration for supplying search area data in the search of a conventional hierarchical block matching algorithm.

도 9는 본 발명의 실시예에 따른 움직임 추정장치의 블록도.9 is a block diagram of a motion estimation apparatus according to an embodiment of the present invention.

도 10은 본 발명 제1실시예에 따른 움직임 추정방법 및 장치에서 제0층과 반화소 단위의 탐색위치를 나타내는 도면.10 is a diagram illustrating a search position of a layer 0 and a half pixel unit in a motion estimation method and apparatus according to a first embodiment of the present invention.

도 11은 본 발명의 제1실시예에 따른 움직임 추정장치에서 제0층과 반화소 단위의 탐색을 수행하는 움직임 추정부의 상세 블록도.FIG. 11 is a detailed block diagram of a motion estimator for searching a layer 0 and a half pixel unit in the motion estimation apparatus according to the first embodiment of the present invention. FIG.

도 12는 본 발명의 제2실시예에 따른 움직임 추정방법 및 장치에서 제0층과 반화소 단위의 탐색위치를 나타내는 도면.12 is a diagram illustrating a search position of a layer 0 and a half pixel unit in a motion estimation method and apparatus according to a second embodiment of the present invention.

도 13은 본 발명의 제2실시예에 따른 움직임 추정장치에서 제0층과 반화소 단위의 탐색을 수행하는 움직임 추정부의 상세 블록도.FIG. 13 is a detailed block diagram of a motion estimator for searching a layer 0 and a half pixel unit in the motion estimation apparatus according to the second embodiment of the present invention. FIG.

<도면의 주요부분에 대한 부호의 설명><Description of Symbols for Main Parts of Drawings>

2: 프레임 메모리 4: 감산기2: frame memory 4: subtractor

6: DCT 8: 양자화기6: DCT 8: quantizer

10: 레이트 제어부 12: 역양자화기10: rate control unit 12: dequantizer

14: IDCT 처리부 16, 27, 68: 가산기14: IDCT processing unit 16, 27, 68: the adder

18: 프레임 딜레이부 20: 움직임 예측부18: frame delay unit 20: motion prediction unit

22, 24, 82: 움직임 추정기 23, 25, 94, 96: 멀티플렉서22, 24, 82: motion estimator 23, 25, 94, 96: multiplexer

26: 움직임 보상기 29, 100: 필드/프레임 결정부26: motion compensator 29, 100: field / frame determination unit

30: VLC 32: FIFO30: VLC 32: FIFO

34: 부호화 처리부 36: 복호화 처리부34: encoding processing unit 36: decoding processing unit

40, 56, 106, 126, 138: 연산기 42, 58, 102, 104, 136: 내부메모리40, 56, 106, 126, 138: calculator 42, 58, 102, 104, 136: internal memory

44, 50, 109, 110, 139: 어드레스 발생기44, 50, 109, 110, 139: address generator

46, 52, 122, 132: 버퍼46, 52, 122, 132: buffer

48, 60, 108, 128, 140: 비교기 52: 어드레스버스48, 60, 108, 128, 140: comparator 52: address bus

54: 데이터버스 70, 80: 움직임 벡터 검출부54: data bus 70, 80: motion vector detection unit

84, 86, 88, 90: 메모리 124, 134: 보간기84, 86, 88, 90: Memory 124, 134: Interpolator

상기 목적을 달성하기 위하여, 본 발명의 움직임 추정방법은 입력영상에 대하여 복수 개의 계층에서 종속적으로 검출된 위치정보에 따라 단화소 단위의 움직임을 반복 탐색하는 단계와; 입력영상에 대하여 부호화 및 복호화하는 단계와; 복수개의 계층 중 임의의 계층에서 복호된 복원영상에 대하여 단화소 단위로 움직임을 추정하는 단계를 포함한다.In order to achieve the above object, the motion estimation method of the present invention comprises the steps of repeatedly searching for the movement of a unit of a single pixel according to the positional information detected in a plurality of layers dependent on the input image; Encoding and decoding the input image; Estimating the motion in units of pixels with respect to the reconstructed image decoded in any one of the plurality of layers.

본 발명의 움직임 추정방법은 입력영상에 대하여 m 개의 계층에서 종속적으로 검출된 위치정보에 따라 단화소 단위의 움직임을 반복 탐색하여 m-1 번째 층에서 위치정보를 발생하는 단계와; 입력영상에 대하여 부호화 및 복호화하는 단계와; 위치정보에 따라 복호된 복원영상에 대하여 m 번째 층에서 단화소 단위로 탐색하고 아울러 반화소 단위로 움직을 추정하는 단계를 포함한다.According to an aspect of the present invention, there is provided a motion estimation method comprising: repeatedly searching for a motion of a unit of a single pixel according to position information which is detected dependently in m layers with respect to an input image, and generating position information in an m-1 th layer; Encoding and decoding the input image; Searching for the reconstructed image decoded according to the location information in units of single pixels in the mth layer, and estimating movement in units of half pixels.

본 발명의 움직임 추정방법은 입력영상에 대하여 m 개의 계층에서 종속적으로 검출된 위치정보에 따라 단화소 단위의 움직임을 반복 탐색하여 m-1 번째 층에서 제1위치정보를 발생하는 단계와; 입력영상에 대하여 부호화 및 복호화하는 단계와; 제1위치정보에 따라 m 번째 층에서 복호된 복원영상에 대하여 단화소 단위의 움직임을 추정하여 제2위치정보를 발생하는 단계와; 제2위치정보에 따라 복원영상에 대한 반화소 단위의 움직임을 추정하는 단계를 포함한다.According to an aspect of the present invention, there is provided a motion estimation method comprising: repeatedly searching for a motion of a unit of a pixel according to position information that is detected in m layers dependently on an input image, and generating first position information in an m-1 th layer; Encoding and decoding the input image; Generating second position information by estimating the movement of a unit of a single pixel with respect to the reconstructed image decoded in the m th layer according to the first position information; Estimating a motion of a half pixel unit with respect to the reconstructed image according to the second position information.

본 발명의 움직임 추정방법은 입력영상에 대하여 m 개의 계층에서 종속적으로 검출된 위치정보에 따라 단화소 단위의 움직임을 반복 탐색하여 m-1 번째 층에서 제1위치정보를 발생하는 단계와; 입력영상에 대하여 부호화 및 복호화하는 단계와; 제1위치정보에 따라 m 번째 층에서의 단화소 단위의 탐색범위와 반화소 단위의 탐색범위를 포함하는 탐색영역에서 복호된 복원영상에 대하여 반화소 단위로 움직임을 추정하는 단계를 포함한다.According to an aspect of the present invention, there is provided a motion estimation method comprising: repeatedly searching for a motion of a unit of a pixel according to position information that is detected in m layers dependently on an input image, and generating first position information in an m-1 th layer; Encoding and decoding the input image; Estimating motion in units of half pixels with respect to a reconstructed image decoded in a search region including a search range in units of a single pixel and a search range in units of a half pixel according to the first location information.

본 발명의 움직임 추정장치는 입력라인에 접속되어 입력영상에 대하여 부호화하는 부호화수단; 부호화수단에 접속되어 부호화된 영상신호를 복호하는 복호화수단과; 입력라인과 복호화 수단에 공통으로 접속되어 입력영상에 대하여 복수개의 계층에서 종속적으로 검출된 위치정보에 따라 단화소 단위의 움직임을 반복 탐색하고, 임의의 계층에서 복호된 복원영상에 대하여 단화소 단위로 움직임을 추정하는 움직임 추정수단을 구비한다.The motion estimation apparatus of the present invention comprises: encoding means connected to an input line and encoding an input image; Decoding means connected to the encoding means for decoding the encoded video signal; It is connected to the input line and the decoding means in common and repeatedly searches for the movement of a unit of a single pixel according to the positional information detected in a plurality of layers with respect to the input image, and in units of the unit of the reconstructed image decoded in an arbitrary layer. Motion estimation means for estimating motion.

본 발명의 움직임 추정장치는 입력라인에 접속되어 입력영상에 대하여 부호화하는 부호화수단과; 부호화수단에 접속되어 부호화된 영상신호를 복호하는 복호화수단과; 입력라인과 복호화 수단에 공통으로 접속되어 입력영상에 대하여 m 개의 계층에서 종속적으로 검출된 위치정보에 따라 단화소 단위의 움직임을 반복 탐색하여, m-1 번째 층에서 제2위치정보를 발생하는 제1움직임 추정수단과; 복호화 수단과 제1움직임 추정수단에 공통으로 접속되어 제2위치정보에 따라 복호된 복원영상에 대하여 m 번째 층에서 단화소 단위로 움직임을 추정하는 제2움직임 추정수단을 구비한다.The motion estimation apparatus of the present invention comprises: encoding means connected to an input line and encoding an input image; Decoding means connected to the encoding means for decoding the encoded video signal; A second pixel connected to the input line and the decoding means in common and repeatedly searching for the movement of a single pixel unit according to position information detected in m layers dependently on the input image, and generating second position information in the m-1 th layer. 1 motion estimation means; And second motion estimation means for estimating motion in units of pixels on the m th layer with respect to the reconstructed image which is commonly connected to the decoding means and the first motion estimation means and decoded according to the second position information.

본 발명의 움직임 추정장치는 입력라인에 접속되어 입력영상에 대하여 부호화하는 부호화수단과; 부호화수단에 접속되어 부호화된 영상신호를 복호하는 복호화수단과; 입력라인과 복호화 수단에 공통으로 접속되어 입력영상에 대하여 복수개의 m 개의 계층에서 종속적으로 검출된 위치정보에 따라 단화소 단위의 움직임을 반복 탐색하여, m-1 번째 층에서 제2위치정보를 발생하는 제1움직임 추정수단과; 복호화 수단과 제1움직임 추정수단에 공통으로 접속되어 제2위치정보에 따라 m 번째 층에서 복원된 복원영상에 대하여 단화소 단위의 움직임을 추정하여 제3위치정보를 발생하는 제2움직임 추정수단과; 제2움직임 추정수단과 복호화수단에 공통으로 접속되어 제3위치정보에 따라 복원 영상에 대한 반화소 단위의 움직임을 추정하는 제3움직임 추정수단을 구비한다.The motion estimation apparatus of the present invention comprises: encoding means connected to an input line and encoding an input image; Decoding means connected to the encoding means for decoding the encoded video signal; Connected to the input line and the decoding means in common and repeatedly searching for the movement of a single pixel unit according to position information detected in a plurality of m layers with respect to the input image, and generating second position information in the m-1 th layer. First movement estimating means; Second motion estimating means connected to the decoding means and the first motion estimating means in common and estimating the motion of a unit of pixel for the reconstructed image reconstructed in the m-th layer according to the second position information and generating third position information; ; And third motion estimating means connected in common to the second motion estimating means and the decoding means for estimating the motion of the half-pixel unit with respect to the reconstructed image according to the third position information.

본 발명의 움직임 추정장치는 입력라인에 접속되어 입력영상에 대하여 부호화하는 부호화수단과; 부호화수단에 접속되어 부호화된 영상신호를 복호하는 복호화수단과; 입력라인과 복호화 수단에 공통으로 접속되어 입력영상에 대하여 m 개의 계층에서 종속적으로 검출된 위치정보에 따라 단화소 단위의 움직임을 반복 탐색하여 m-1 번째 층에서 제2위치정보를 발생하는 제1움직임 추정수단과; 복호화 수단과 제1움직임 추정수단에 공통으로 접속되어 제2위치정보에 따라 m 번째 층에서의 단화소 단위로 탐색범위와 반화소 단위의 탐색범위를 포함하는 탐색영역에서 복호된 복원영상에 대하여 반화소 단위로 움직임을 추정하는 제2움직임 추정수단을 구비한다.The motion estimation apparatus of the present invention comprises: encoding means connected to an input line and encoding an input image; Decoding means connected to the encoding means for decoding the encoded video signal; A first connection connected to the input line and the decoding means in common and repeatedly searching for the movement of a unit of a single pixel according to the position information detected in the m layers dependently with respect to the input image to generate second position information in the m-1 th layer; Motion estimation means; It is connected to the decoding means and the first motion estimating means in common, and the reconstructed image decoded in the search area including the search range and the half-pixel search range in units of a single pixel in the m-th layer according to the second positional information And second motion estimation means for estimating motion on a pixel-by-pixel basis.

상기 목적 외에 본 발명의 다른 목적 및 특징들은 첨부도면을 참조한 실시예에 대한 설명을 통하여 명백하게 드러나게 될 것이다.Other objects and features of the present invention in addition to the above objects will become apparent from the description of the embodiments with reference to the accompanying drawings.

이하, 도 9 내지 도 13을 참조하여 본 발명의 바람직한 실시예에 대하여 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described with reference to FIGS. 9 to 13.

도 9는 본 발명의 실시예에 따른 움직임 추정장치를 나타내는 블록도로써, 도 1의 움직임 예측부에 의해 수행된다.9 is a block diagram illustrating a motion estimation apparatus according to an exemplary embodiment of the present invention, which is performed by the motion predictor of FIG. 1.

도 9에 있어서, 본 발명의 제1실시예에 따른 움직임 추정에서 제0층과 반화소 단위의 탐색위치를 나타내는 도 10을 결부하여 설명하기로 한다.9, a description will be given of FIG. 10 showing a search position of a layer 0 and a half pixel unit in the motion estimation according to the first embodiment of the present invention.

도 9를 참조하면, 본 발명의 실시예에 따른 움직임 추정장치는 제0층의 탐색과 반화소 단위의 탐색을 병합(merge)하여 수행한다.Referring to FIG. 9, the motion estimation apparatus according to an embodiment of the present invention merges a search of a layer 0 and a search in units of half pixels.

계층적 블록 정합 알고리즘을 적용한 단화소 단위의 탐색은 일정시간 지연된 입력영상이 공급되어 5-경로에 대하여 제2층에서의 움직임 벡터(MV2)를 산출하고, 제2층에서 산출된 움직임 벡터(MV2)에 따른 기준위치(u1, v1)에서 반복적으로 탐색을 수행하여 제1층에서의 움직임 벡터(MV1)를 산출한다. 제0층에서는 제1 및 제2층으로부터 얻어진 기준위치(u0, v0)를 중심으로 수평, 수직 ±2 영역을 탐색하므로 탐색점의 수가 25개가 존재하고, 반화소 탐색에서는 제0층으로부터 구해진 (uh, vh)를 중심으로 ±0.5 위치를 탐색하므로 탐색점의 수가 9개 존재한다.In the unit pixel search using the hierarchical block matching algorithm, an input image delayed for a predetermined time is supplied to calculate a motion vector (MV 2 ) at the second layer with respect to 5-path, and the motion vector (calculated at the second layer) The motion vector MV 1 in the first layer is calculated by repeatedly searching at the reference positions u 1 and v 1 according to MV 2 ). In the 0th layer, since the horizontal and vertical ± 2 areas are searched about the reference positions u 0 and v 0 obtained from the first and second layers, there are 25 search points. Since there are ± 0.5 locations around the obtained (u h , v h ), there are nine search points.

2개의 경로 즉 상위필드 대 상위필드, 하위필드 대 상위필드에서 반화소 단위의 탐색으로부터 산출된 반화소 움직임 벡터와, 상위필드 대 하위필드, 하위필드 대 하위필드의 2개의 경로에서 산출된 반화소 움직임 벡터는 제1 및 제2멀티플렉서(94, 96)에 의하여 선택적으로 절환되어 가산기(98)에 공급된다. 필드/프레임 결정부(100)는 프레임의 반화소 움직임 벡터와 가산기(98)로부터 출력되는 필드의 반화소 움직임 벡터를 비교하여 움직임 벡터 값이 적은 쪽을 선택하여 출력한다.Half-pixel motion vectors derived from half-pixel searches in two paths: upper-field to upper-field, lower-field to upper-field, and half-pixels calculated from two paths: upper-field to lower-field and lower-field to lower-field The motion vector is selectively switched by the first and second multiplexers 94 and 96 and supplied to the adder 98. The field / frame determination unit 100 compares the half-pixel motion vector of the frame with the half-pixel motion vector of the field output from the adder 98, and selects and outputs the one having the smaller motion vector value.

입/출력 대역폭을 줄이기 위한 제1실시예로 도 10과 같이 제0층에서의 탐색과 반화소 단위의 탐색을 그대로 유지한 채, 각 탐색점에 대응되는 탐색영역 데이터로서 복원 영상만을 사용한다. 이 경우, 제0층에서의 탐색영역 데이터의 저장을 위한 별도의 내부 메모리가 필요하게 된다.As the first embodiment for reducing the input / output bandwidth, only the reconstructed image is used as the search region data corresponding to each search point while maintaining the search in the 0th layer and the search in the half pixel unit as shown in FIG. 10. In this case, a separate internal memory for storing the search area data in the 0th layer is required.

도 11은 본 발명의 제1실시예에 따른 움직임 추정장치에서 제0층과 반화소 단위의 탐색을 위한 움직임 추정기의 상세 블록도이다.FIG. 11 is a detailed block diagram of a motion estimator for searching a layer 0 and a half pixel unit in the motion estimation apparatus according to the first embodiment of the present invention.

도 11을 참조하면, 본 발명의 제1실시예에 따른 움직임 추정장치는 제1 내부 메모리(102)와 제2내부 메모리(104)에 공통으로 접속된 제1연산기(106)와, 제1연산기(106)의 출력단에 접속된 제1비교기(108)와, 제1내부메모리(102)의 출력단에 접속된 데이터버퍼(122)와, 데이터버퍼(122)의 출력단에 접속된 보간기(124)와, 보간기(124)와 제3내부메모리(120)에 공통으로 접속된 제2연산기(126)와, 제2연산기(126)의 출력단에 접속된 제2비교기(128)를 구비한다.Referring to FIG. 11, the motion estimation apparatus according to the first embodiment of the present invention includes a first operator 106 and a first operator commonly connected to the first internal memory 102 and the second internal memory 104. A first comparator 108 connected to the output end of the 106, a data buffer 122 connected to the output end of the first internal memory 102, and an interpolator 124 connected to the output end of the data buffer 122 And a second operator 126 commonly connected to the interpolator 124 and the third internal memory 120, and a second comparator 128 connected to the output terminal of the second operator 126.

제0층에서, 탐색영역의 기준위치는 제1층에서 산출된 움직임 벡터(MV1)에 따라 제1어드레스 발생기(109)에 의해 발생한 위치정보(A)에 의해 결정된다. 제1내부메모리(102)에는 압축·복원된 영상이 공급되어 탐색영역에 대한 위치정보에 따라 그 해당영역의 영상을 제1연산기(106)에 공급한다. 제2내부메모리(104)에는 반화소 단위의 탐색 및 정수화소 단위의 탐색을 위한 데이터가 저장된다. 제1연산기(106)는 제1내부메모리(102)로부터 공급되는 압축·복원 영상과 제2내부메모리(104)에 저장된 데이터를 이용하여 평균 절대 오차(MAD)를 계산하여 그 결과 값을 제1비교기(108)에 공급한다. 제1비교기(108)는 평균 절대 오차(MAD)가 가장 적은 위치를 검출하고 그 위치와 기준위치의 변위를 움직임 벡터(MV0)로서 생성하여 제2어드레스 발생기(110)에 공급한다. 제2어드레스 발생기(110)는 제1비교기(108)로부터 공급되는 움직임 벡터(MV0)의 값에 대응하는 위치정보(Ah)를 발생하고 이를 제1내부메모리(102)에 피드백하여 공급한다. 제1내부메모리(102)는 이 위치정보(Ah)에 따라 해당영역의 영상을 제1연산기(106)에 공급한다. 데이터버퍼(122)는 제1내부메모리(102)로부터 특정구간(Sh)의 영상을 공급받아 보간기(124)에 공급한다. 보간기(124)는 데이터버퍼(122)로부터의 특정구간의 신호를 보간(interpolation)하여 제2연산기(126)에 공급한다. 제2연산기(126)는 제3내부메모리(120)에 저장된 기준위치를 중심으로 특정구간(Sh)에 대하여 평균 절대 오차(MAD)를 산출하여 제2비교기(128)에 공급한다. 제2비교기(128)는 평균 절대 오차(MAD)가 가장 적은 위치를 검출하고 그 위치와 기준위치의 변위를 움직임 벡터(MVh)로서 생성한다.In the 0th layer, the reference position of the search area is determined by the positional information A generated by the first address generator 109 according to the motion vector MV 1 calculated in the first layer. The compressed and restored image is supplied to the first internal memory 102 to supply the image of the corresponding region to the first operator 106 according to the positional information about the search region. The second internal memory 104 stores data for searching in half-pixel units and searching for integer-pixel units. The first operator 106 calculates an average absolute error MAD by using the compressed and restored image supplied from the first internal memory 102 and the data stored in the second internal memory 104, and calculates a resultant value of the first absolute value. Supply to comparator 108. The first comparator 108 detects a position where the average absolute error MAD is the smallest, generates a displacement between the position and the reference position as a motion vector MV 0 , and supplies it to the second address generator 110. The second address generator 110 generates position information A h corresponding to the value of the motion vector MV 0 supplied from the first comparator 108 and feeds it back to the first internal memory 102. . The first internal memory 102 supplies the image of the corresponding area to the first operator 106 according to the positional information A h . The data buffer 122 receives an image of a specific section S h from the first internal memory 102 and supplies the image to the interpolator 124. The interpolator 124 interpolates a signal of a specific section from the data buffer 122 and supplies the interpolator 126 to the second operator 126. The second operator 126 calculates an average absolute error MAD with respect to a specific section S h based on the reference position stored in the third internal memory 120, and supplies the average absolute error MAD to the second comparator 128. The second comparator 128 detects the position with the lowest mean absolute error MAD and generates a displacement between the position and the reference position as the motion vector MV h .

도 12는 본 발명의 제2실시예에 따른 움직임 추정방법 및 장치에서 제0층과 반화소 단위의 탐색위치를 나타낸다.12 illustrates a search position of a layer 0 and a half pixel unit in a motion estimation method and apparatus according to a second embodiment of the present invention.

도 12(a)를 참조하면, 본 발명의 제2실시예에 따른 움직임 추정방법은 제0층에서의 탐색 범위와 반화소 단위의 탐색범위를 포함하는 전영역에서 걸쳐 탐색을 한다. 이에 따라 별도의 내부 메모리가 필요하지 않게 되지만, 수직, 수평으로 ±2 영역에 걸쳐서 반화소 단위의 탐색을 해야 하기 때문에 총 81 개의 탐색점이 존재한다. 즉, 본 발명의 제1실시예에 비하여 계산량이 증가하는 결과를 초래하지만 성능과 계산량을 적절하게 선택하여 탐색점의 수를 줄일 수 있다. 도 12의 (b), (c), (d)는 각각 탐색점의 수가 49개, 25개, 9개로 제한된 경우를 도시한다.Referring to FIG. 12A, the motion estimation method according to the second embodiment of the present invention searches over the entire area including the search range in the 0th layer and the search range in half pixel units. This eliminates the need for a separate internal memory, but a total of 81 search points exist because a half-pixel search is required over ± 2 vertically and horizontally. That is, compared with the first embodiment of the present invention, the calculation amount is increased, but the number of search points can be reduced by appropriately selecting the performance and the calculation amount. 12B, 12C, and 12D show the case where the number of search points is limited to 49, 25, and 9, respectively.

도 13은 본 발명의 제2실시예에 따른 움직임 추정장치에서 제0층과 반화소 단위의 탐색을 위한 움직임 추정부의 상세 블록도이다.FIG. 13 is a detailed block diagram of a motion estimation unit for searching for a layer 0 and a half pixel unit in the motion estimation apparatus according to the second embodiment of the present invention.

도 13을 참조하면, 본 발명의 제2실시예에 따른 움직임 추정장치는 데이터 버스에 접속된 데이터버퍼(132)와, 데이터버퍼(132)의 출력단에 접속된 보간기(134)와, 보간기(134)와 내부메모리(136)에 공통으로 접속된 연산기(136)와, 연산기(136)의 출력단에 접속된 비교기(140)를 구비한다.Referring to FIG. 13, the motion estimation apparatus according to the second embodiment of the present invention includes a data buffer 132 connected to a data bus, an interpolator 134 connected to an output terminal of the data buffer 132, and an interpolator. And a comparator 140 connected in common to the 134 and the internal memory 136, and a comparator 140 connected to the output terminal of the calculator 136.

제0층에서의 탐색영역 기준위치는 제1층에서 산출된 움직임 벡터(MV1)에 따라 어드레스 발생기(139)에 의해 발생한 위치정보(A)에 의해 결정된다. 데이터 버퍼(132)에는 압축·복원된 영상이 데이터버스를 경유하여 공급되어 탐색영역에 대한 위치정보에 따라 그 해당영역의 영상을 보간기(134)에 공급한다. 보간기(134)는 데이터버퍼(132)로부터의 특정구간의 신호를 보간(interpolation)하여 연산기(138)에 공급한다. 연산기(138)는 내부메모리(136)에 저장된 기준위치를 중심으로 특정구간(Sh)애 대하여 평균 절대 오차(MAD)를 산출하여 비교기(140)에 공급한다. 그러면 비교기(140)는 평균 절대 오차(MAD)가 가장 적은 위치를 검출하고 그 위치와 기준위치의 변위를 움직임 벡터(MVh)로서 생성한다.The search region reference position in the 0th layer is determined by the position information A generated by the address generator 139 according to the motion vector MV 1 calculated in the first layer. The compressed and restored image is supplied to the data buffer 132 via the data bus to supply the image of the corresponding region to the interpolator 134 according to the positional information about the search region. The interpolator 134 interpolates a signal of a specific section from the data buffer 132 and supplies the interpolator 138 to the calculator 138. The calculator 138 calculates an average absolute error MAD for a specific section S h based on the reference position stored in the internal memory 136, and supplies the average absolute error MAD to the comparator 140. The comparator 140 then detects the position with the lowest mean absolute error MAD and generates a displacement between the position and the reference position as the motion vector MV h .

상술한 바와 같이, 본 발명의 움직임 추정방법 및 장치는 계층적 알고리즘을 사용하는 단화소 추정과 반화소 추정시 입/출력 대역폭을 줄일 수 있다.As described above, the motion estimation method and apparatus of the present invention can reduce the input / output bandwidth in the single pixel estimation and the half pixel estimation using the hierarchical algorithm.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의해 정하여 져야만 할 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the technical spirit of the present invention. Therefore, the technical scope of the present invention should not be limited to the contents described in the detailed description of the specification but should be defined by the claims.

Claims (11)

입력영상에 대하여 복수 개의 계층에서 종속적으로 검출된 위치정보에 따라 단화소 단위의 움직임을 반복 탐색하는 단계와;Repetitively searching for a motion of a unit of a single pixel according to position information which is detected in a plurality of layers with respect to the input image; 상기 입력영상에 대하여 부호화 및 복호화하는 단계와;Encoding and decoding the input image; 상기 복수개의 계층 중 임의의 계층에서 복호된 복원영상에 대하여 단화소 단위로 움직임을 추정하는 단계를 포함하는 움직임 추정방법.Estimating a motion in units of single pixels with respect to the reconstructed image decoded in any of the plurality of layers. 입력영상에 대하여 m 개의 계층에서 종속적으로 검출된 위치정보에 따라 단화소 단위의 움직임을 반복 탐색하여 m-1 번째 층에서 위치정보를 발생하는 단계와;Generating position information in the m-1 th layer by repeatedly searching for movement of a unit of a single pixel according to position information which is detected dependently in m layers with respect to the input image; 상기 입력영상에 대하여 부호화 및 복호화하는 단계와;Encoding and decoding the input image; 상기 위치정보에 따라 복호된 복원영상에 대하여 상기 m 번째 층에서 단화소 단위로 탐색하고 아울러 반화소 단위로 움직을 추정하는 단계를 포함하는 움직임 추정방법.Searching for the reconstructed image decoded according to the position information in units of single pixels in the mth layer and estimating movement in units of half pixels. 입력영상에 대하여 m 개의 계층에서 종속적으로 검출된 위치정보에 따라 단화소 단위의 움직임을 반복 탐색하여 m-1 번째 층에서 제1위치정보를 발생하는 단계와;Generating first position information in the m-1 th layer by repeatedly searching for movement of a unit of a single pixel according to position information detected in m layers dependently on the input image; 상기 입력영상에 대하여 부호화 및 복호화하는 단계와;Encoding and decoding the input image; 상기 제1위치정보에 따라 m 번째 층에서의 단화소 단위의 탐색범위와 반화소 단위의 탐색범위를 포함하는 탐색영역에서 상기 복호된 복원영상에 대하여 반화소 단위로 움직임을 추정하는 단계를 포함하는 것을 특징으로 움직임 추정방법.Estimating motion in units of half pixels with respect to the decoded reconstructed image in a search region including a search range in units of a single pixel and a search range in units of a half pixel according to the first location information. Motion estimation method, characterized in that. 제3항에 있어서,The method of claim 3, 상기 m 번째 층과 상기 반화소 단위의 탐색시 탐색점은 상기 제1위치정보에 따르는 특정 위치를 중심으로 81개가 존재하는 것을 특징으로 움직임 추정방법.The method of estimating motion of the mth layer and the half pixel unit has 81 search points centering on a specific position according to the first location information. 제4항에 있어서,The method of claim 4, wherein 상기 탐색점의 갯수는 선택적으로 가변될 수 있는 것을 특징으로 움직임 추정방법.The number of search points may be selectively varied. 입력라인에 접속되어 입력영상에 대하여 부호화하는 부호화수단;Encoding means connected to an input line and encoding the input image; 상기 부호화수단에 접속되어 상기 부호화된 영상신호를 복호하는 복호화수단과;Decoding means connected to said encoding means for decoding said encoded video signal; 상기 입력라인과 복호화 수단에 공통으로 접속되어 상기 입력영상에 대하여 복 수 개의 계층에서 종속적으로 검출된 위치정보에 따라 단화소 단위의 움직임을 반복 탐색하고, 임의의 계층에서 복호된 복원영상에 대하여 단화소 단위로 움직임을 추정하는 움직임 추정수단을 구비한 것을 특징으로 움직임 추정장치.It is connected to the input line and the decoding means in common and repeatedly searches for the movement of a unit of pixel according to position information detected in a plurality of hierarchies with respect to the input image. And a motion estimating means for estimating motion on a pixel-by-pixel basis. 입력라인에 접속되어 입력영상에 대하여 부호화하는 부호화수단과;Encoding means connected to an input line and encoding the input image; 상기 부호화수단에 접속되어 부호화된 영상신호를 복호하는 복호화수단과;Decoding means connected to said encoding means for decoding an encoded video signal; 상기 입력라인과 상기 복호화 수단에 공통으로 접속되어 입력영상에 대하여 m 개의 계층에서 종속적으로 검출된 위치정보에 따라 단화소 단위의 움직임을 반복 탐색하여 m-1 번째 층에서 제2위치정보를 발생하는 제1움직임 추정수단과;Connected to the input line and the decoding means in common and repeatedly searching for movement of a unit of a single pixel according to position information detected in m layers dependently on an input image to generate second position information in the m-1 th layer. First motion estimation means; 상기 복호화 수단과 제1움직임 추정수단에 공통으로 접속되어 상기 제2위치정보에 따라 m 번째 층에서 상기 복호된 복원영상에 대하여 단화소 단위로 움직임을 추정하여 제3위치정보를 발생하는 제2움직임 추정수단과;A second motion connected to the decoding means and the first motion estimating means in common and estimating a motion in units of pixels with respect to the decoded reconstructed image in the mth layer according to the second position information to generate third position information; Estimating means; 상기 제2움직임 추정수단과 상기 복호화수단에 공통으로 접속되어 상기 제3위치정보에 따라 상기 복원 영상에 대한 반화소 단위의 움직임을 추정하는 제3움직임 추정수단을 구비한 것을 특징으로 움직임 추정장치.And a third movement estimating means connected in common to the second movement estimating means and the decoding means for estimating a motion of a half-pixel unit with respect to the reconstructed image according to the third position information. 제7항에 있어서,The method of claim 7, wherein 상기 제2움직임 추정수단은 상기 복호화수단에 접속되어 상기 복원영상을 저장하는 제1저장수단과;The second motion estimating means includes: first storage means connected to the decoding means for storing the reconstructed image; 상기 반화소 단위의 탐색 및 단화소 단위의 탐색을 위한 탐색 데이터를 저장하는 제2저장수단과;Second storage means for storing the search data for the search in units of half pixels and the search in units of single pixels; 상기 제1 및 제2저장수단에 공통으로 접속되어 특정 영역의 상기 복원영상에 대하여 평균값을 산 출하는 연산수단과;Computing means connected to the first and second storage means in common and calculating an average value for the reconstructed image of a specific region; 상기 연산수단에 접속되어 가장 적은 상기 평균값을 위치정보로서 발생하는 비교수단과;Comparison means connected to said calculation means for generating the least average value as positional information; 상기 비교수단 및 상기 제1저장수단에 공통으로 접속되어 상기 위치정보에 따른 어드레스 신호를 상기 제1저장수단에 공급하는 어드레스 발생수단을 추가로 구비한 것을 특징으로 움직임 추정장치.And an address generating means which is connected in common to said comparing means and said first storing means and supplies an address signal according to said positional information to said first storing means. 제7항 또는 제8항에 있어서,The method according to claim 7 or 8, 상기 제3움직임 추정수단은 상기 제1저장수단에 접속되어 상기 복원영상을 공급받아 저장하는 저장수단과;The third motion estimating means includes: storage means connected to the first storage means to receive and store the restored image; 제1저장수단에 접속되어 상기 복원영상을 반화소 단위의 탐색영역에 대한 복원영상으로 신호보간하는 보간수단과;Interpolation means connected to a first storage means for interpolating the reconstructed image into a reconstructed image for the half-pixel search region; 상기 저장수단 및 상기 보간수단에 공통으로 접속되어 상기 복원영상에 대하여 평균값을 산출하는 연산수단과;Computing means connected to said storage means and said interpolation means in common to calculate an average value for said reconstructed image; 상기 연산수단에 접속되어 가장 적은 상기 평균값을 위치정보로서 발생하는 비교수단을 추가로 구비한 것을 특징으로 움직임 추정장치.And a comparing means connected to said calculating means for generating the least average value as positional information. 입력라인에 접속되어 입력영상에 대하여 부호화하는 부호화수단과;Encoding means connected to an input line and encoding the input image; 상기 부호화수단에 접속되어 상기 부호화된 영상신호를 복호하는 복호화수단과;Decoding means connected to said encoding means for decoding said encoded video signal; 상기 입력라인과 상기 복호화 수단에 공통으로 접속되어 입력영상에 대하여 m 개의 계층에서 종속적으로 검출된 위치정보에 따라 단화소 단위의 움직임을 반복 탐색하여 m-1 번째 층에서 제2위치정보를 발생하는 제1움직임 추정수단과;Connected to the input line and the decoding means in common and repeatedly searching for movement of a unit of a single pixel according to position information detected in m layers dependently on an input image to generate second position information in the m-1 th layer. First motion estimation means; 상기 복호화 수단과 상기 제1움직임 추정수단에 공통으로 접속되어 상기 제2위치정보에 따라 m 번째 층에서의 단화소 단위의 탐색범위와 반화소 단위의 탐색범위를 포함하는 탐색영역에서 상기 복호된 복원영상에 대하여 반화소 단위로 움직임을 추정하는 제2움직임 추정수단을 구비한 것을 특징으로 움직임 추정장치.The decoded reconstruction in a search region connected in common to the decoding means and the first motion estimation means and including a search range in units of a single pixel and a search range in units of a half pixel on the m th layer according to the second position information. And a second motion estimating means for estimating motion in half pixel units with respect to the image. 제10항에 있어서,The method of claim 10, 상기 제2움직임 추정수단은 상기 복호화수단에 접속되어 상기 복원영상을 저장되는 제1저장수단과;The second motion estimating means includes first storage means connected to the decoding means to store the reconstructed image; 상기 저장수단에 접속되어 상기 단화소 단위의 탐색범위와 반화소 단위의 탐색범위를 포함하는 탐색영역에 대한 복원영상으로 신호보간하는 보간수단과;Interpolation means connected to said storage means for interpolating a reconstructed image of a search region including a search range in units of single pixels and a search range in units of half pixels; 상기 저장수단 및 상기 보간수단에 공통으로 접속되어 상기 복원영상에 대하여 평균값을 산출하는 연산수단과;Computing means connected to said storage means and said interpolation means in common to calculate an average value for said reconstructed image; 상기 연산수단에 접속되어 가장 적은 상기 평균값을 위치정보로서 발생하는 비교수단을 추가로 구비한 것을 특징으로 움직임 추정장치.And a comparing means connected to said calculating means for generating the least average value as positional information.
KR1019970057611A 1997-11-01 1997-11-01 Motion prediction method and apparatus KR100262962B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019970057611A KR100262962B1 (en) 1997-11-01 1997-11-01 Motion prediction method and apparatus
US09/182,203 US6332002B1 (en) 1997-11-01 1998-10-30 Motion prediction apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970057611A KR100262962B1 (en) 1997-11-01 1997-11-01 Motion prediction method and apparatus

Publications (2)

Publication Number Publication Date
KR19990038002A true KR19990038002A (en) 1999-06-05
KR100262962B1 KR100262962B1 (en) 2000-08-01

Family

ID=19523996

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970057611A KR100262962B1 (en) 1997-11-01 1997-11-01 Motion prediction method and apparatus

Country Status (1)

Country Link
KR (1) KR100262962B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100926440B1 (en) * 2002-06-26 2009-11-13 이문기 Block matching motion estimation apparatus for picture coding

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0156958B1 (en) * 1994-10-13 1998-11-16 조백제 Wavelet of 2-dimensional image

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100926440B1 (en) * 2002-06-26 2009-11-13 이문기 Block matching motion estimation apparatus for picture coding

Also Published As

Publication number Publication date
KR100262962B1 (en) 2000-08-01

Similar Documents

Publication Publication Date Title
KR100739281B1 (en) Motion estimation method and appratus
KR100251548B1 (en) Apparatus of predicting motion for digital image and method thereof
US4727422A (en) Method and apparatus for efficiently communicating image sequence having improved motion compensation
JP2897763B2 (en) Motion compensation coding device, decoding device, coding method and decoding method
US6628711B1 (en) Method and apparatus for compensating for jitter in a digital video image
JP2801559B2 (en) Motion compensation coding method and apparatus adapted to the magnitude of motion
JP4198206B2 (en) Video information compression method and apparatus using motion dependent prediction
EP0637894B1 (en) Apparatus and method for detecting motion vectors to half-pixel accuracy
US7408988B2 (en) Motion estimation engine with parallel interpolation and search hardware
KR20000076522A (en) Motion estimation using orthogonal transform-domain block matching
CN111201792B (en) Modified motion vector for motion vector pointing to fractional pixel point position
US6295377B1 (en) Combined spline and block based motion estimation for coding a sequence of video images
KR20090080452A (en) Apparatus and method of encoding/decoding video
JPH09233477A (en) Motion vector generating method
JP2005503695A (en) Video transcoding method and apparatus
JP4494803B2 (en) Improved noise prediction method and apparatus based on motion compensation, and moving picture encoding method and apparatus using the same
JPH08205165A (en) Image processing system
JP2004529569A (en) Detection and proper interpolation of interlaced moving area for MPEG decoding with embedded resizing function
JPH10322705A (en) Motion detection and motion compensation prediction circuit
KR100926752B1 (en) Fine Motion Estimation Method and Apparatus for Video Coding
KR100266161B1 (en) Method of predicting motion for digital image
KR100262962B1 (en) Motion prediction method and apparatus
KR100240620B1 (en) Method and apparatus to form symmetric search windows for bidirectional half pel motion estimation
KR20070053402A (en) Method for compensating motion of video compression system
KR100635009B1 (en) Mothod and apparatus for motion estimation considering total moving of image

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: 20050331

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee