KR100992599B1 - Apparatus and method for decoding image having multi-operating capability - Google Patents

Apparatus and method for decoding image having multi-operating capability Download PDF

Info

Publication number
KR100992599B1
KR100992599B1 KR1020100048522A KR20100048522A KR100992599B1 KR 100992599 B1 KR100992599 B1 KR 100992599B1 KR 1020100048522 A KR1020100048522 A KR 1020100048522A KR 20100048522 A KR20100048522 A KR 20100048522A KR 100992599 B1 KR100992599 B1 KR 100992599B1
Authority
KR
South Korea
Prior art keywords
image
unit
pixels
interpolation filter
information
Prior art date
Application number
KR1020100048522A
Other languages
Korean (ko)
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 KR1020100048522A priority Critical patent/KR100992599B1/en
Application granted granted Critical
Publication of KR100992599B1 publication Critical patent/KR100992599B1/en

Links

Images

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/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Abstract

PURPOSE: An image decoder device having a multi calculation function and a method of the same are provided to realize the multi operation in center of movement compensation which requires a lot of time in processing process, thereby processing the movement compensation process time by minimizing it in real time. CONSTITUTION: An entropy decoder(220) receives compressed coded beat stream and performs entropy decoding, thereby outputting the predict information and difference value information. The inverse quantizer inverse-quantized the difference value information inputted from the entropy decoding unit. An inverse converting unit outputs a difference value image by inverse converting the inverse-quantized difference value which is inputted from the inverse-quantized unit. The movement compensation unit outputs a prediction image by performing the movement compensation using the predict information from the entropy decoding unit.

Description

멀티 연산 기능을 구비한 영상 복호화 장치 및 방법{Apparatus and method for decoding image having multi-operating capability}Apparatus and method for decoding image having multi-operating capability}

본 발명은 멀티 연산 기능을 구비한 영상 복호화 장치 및 방법에 관한 것으로, 특히 멀티 연산 기능의 구비에 따른 중간 화소를 만드는데 적합한 영상 복호화 장치 및 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image decoding apparatus and method having a multi-computation function, and more particularly, to an image decoding apparatus and method suitable for making intermediate pixels according to the provision of a multi-computation function.

표준화된 영상 압축 방식, 즉 압축 동영상 코덱으로는 MPEG-1, MPEG-2, MPEG-4 및 H.264 등이 있다. 특히, 이들 표준 중에서 ITU-T와 ISO/IEC가 공동으로 개발한 H.264(또는 MPEG-4 part-10/AVC)는 높은 압축률과 고화질로 차세대 영상 압축 기술로 각광을 받고 있으며, 현재 DMB, DVB-H, Blue ray 및 HD-DVD 등에서 표준 동영상 압축 코덱으로 채택되었다.Standardized video compression methods, that is, compressed video codecs, include MPEG-1, MPEG-2, MPEG-4, and H.264. Among these standards, H.264 (or MPEG-4 part-10 / AVC), developed jointly by ITU-T and ISO / IEC, is in the spotlight as the next generation video compression technology with high compression ratio and high quality. It has been adopted as the standard video compression codec in DVB-H, Blue ray and HD-DVD.

위의 영상 동영상 코덱에 적용되는 일반적인 복호화 장치가 도 1에 도시되어 있다. 도 1에 도시되어 있는 바와 같이, 영상 복호화기(100)는 엔트로피 복호화부(110), 역양자화부(120), 역변환부(130), 움직임 보상부(140), 가산부(150) 및 디블록킹 필터부(160)를 포함한다.A general decoding apparatus applied to the above video clip codec is illustrated in FIG. 1. As shown in FIG. 1, the image decoder 100 includes an entropy decoder 110, an inverse quantizer 120, an inverse transform unit 130, a motion compensator 140, an adder 150, and a decoder. Blocking filter unit 160 is included.

엔트로피 복호화부(110)는 압축 부호화된 비트스트림을 수신하여 엔트로피 복호화(entropy decoding)를 수행하여 양자화된 계수 및 움직임 벡터 등을 출력한다. 역양자화부(120) 및 역변환부(130)는 이 양자화된 계수에 대한 역양자화(inverse quantization) 및 역변환(inverse transform)를 수행하여 차분치 영상을 얻는다. 움직임 보상부(140)는 엔트로피 복호화부(110)에서 복호화된 움직임 벡터를 이용하여 움직임 블록으로 판별된 현재 블록에 대하여 움직임 보상을 수행하여 예측 영상을 생성한다. 가산부(150)는 역변환부(130)에서 얻은 차분치 영상 및 움직임 보상부(140)에서 생성된 예측 영상을 합산하여 재현 영상을 생성한다. 마지막으로 디블록킹 필터부(160)는 가산부(150)에서 생성된 재현 영상에 디블록킹을 수행하여 디스플레이 영상을 출력한다. The entropy decoder 110 receives the compression-coded bitstream and performs entropy decoding to output quantized coefficients, motion vectors, and the like. The inverse quantization unit 120 and the inverse transform unit 130 perform inverse quantization and inverse transform on the quantized coefficients to obtain a differential image. The motion compensator 140 generates a predictive image by performing motion compensation on the current block determined as a motion block by using the motion vector decoded by the entropy decoder 110. The adder 150 generates a reproduced image by summing the difference image obtained by the inverse transform unit 130 and the predicted image generated by the motion compensator 140. Finally, the deblocking filter unit 160 deblocks the reproduced image generated by the adder 150 to output the display image.

영상 복호화기(100)의 상술한 구성들 중에서 움직임 보상이 가장 많은 프로세싱 시간을 소요한다. 움직임 보상을 처리하는 과정은 많은 영상 데이터를 처리해야하기 때문에 메모리 액세스량 및 연산량이 매우 많다. 특히, 움직임 벡터에 따라 영상을 보간하는 구성은 움직임 보상 중에서도 가장 많은 시간이 소요된다. 이와 같은 움직임 보상의 처리량은 영상의 크기에 비례하기 때문에 영상의 크기가 커지면 최악의 경우에 원하는 시간 내에 영상 전체가 처리되지 못하여 자연스러운 동영상 재생이 불가능할 수도 있다.Among the above-described configurations of the image decoder 100, motion compensation requires the most processing time. Since the motion compensation process requires processing a lot of image data, the amount of memory access and computation is very large. In particular, the configuration of interpolating the image according to the motion vector takes the most time among the motion compensation. Since the processing amount of the motion compensation is proportional to the size of the image, when the size of the image is increased, in the worst case, the entire image may not be processed within a desired time, and thus, natural video reproduction may not be possible.

한편, 대부분의 영상 코덱 엔지니어들은 하드웨어 구현 방식과 소프트웨어 구현 방식을 혼합하여 상술한 움직임 보상의 처리 과정에서 소요되는 시간을 해결하려고 노력하고 있다. 그러나 영상의 선명성을 얻기 위한 보간 필터 등의 사용으로 인하여, 메모리 액세스량 및 연산량이 더욱 많아져서 여전히 실시간 처리가 이루어지지 않는다는 문제점을 안고 있다. On the other hand, most image codec engineers try to solve the time taken in the process of the above-described motion compensation by mixing the hardware implementation method and the software implementation method. However, due to the use of interpolation filters and the like for obtaining image clarity, the amount of memory accesses and calculations is increased, and thus there is still a problem that real-time processing is not performed.

상술한 문제점을 해결하기 위하여, 본 발명은 멀티 연산 기능을 구비한 영상 복호화 장치 및 방법을 제공하는 것을 목적으로 한다.In order to solve the above problems, it is an object of the present invention to provide an image decoding apparatus and method having a multi-calculation function.

또한 본 발명은 멀티 연산 기능의 구비에 따른 중간 화소를 만드는데 적합한 영상 복호화 장치 및 방법을 제공하는 것을 목적으로 한다.Another object of the present invention is to provide an image decoding apparatus and method suitable for making intermediate pixels according to the provision of a multi-operation function.

상술한 목적을 달성하기 위하여, 본 발명에 따른 영상 복호화 장치는 압축 부호화된 비트스트림을 수신하여 엔트로피 복호화를 수행하여 예측 정보 및 차분치 정보를 출력하는 엔트로피 복호화부 및 상기 엔트로피 복화화부로 출력된 예측 정보 및 차분치 정보를 각각 이용하여 재현 영상을 생성하여 출력하는 복수의 연산 프로세서를 포함하고, 상기 복수의 연산 프로세서의 각각은, 상기 엔트로피 복호화부로부터 입력된 차분치 정보를 역양자화하는 역양자화부와, 상기 역양자화부로부터의 입력된 역양자된 차분치 정보를 역변환하여 차분치 영상을 출력하는 역변환부와, 상기 엔트로피 복호화부로부터 입력된 예측 정보를 이용한 움직임 보상을 수행하여 예측 영상을 출력하는 움직임 보상부와, 상기 움직임 보상부에서 출력된 예측 영상과 상기 역변환부에서 출력된 차분치 영상을 합산하여 재현 영상을 출력하는 가산부를 제공한다.In order to achieve the above object, an image decoding apparatus according to the present invention receives an encoded coded bitstream and performs entropy decoding to output prediction information and difference information, and an prediction output to the entropy decoding unit. And a plurality of arithmetic processors for generating and outputting a reproduced image using information and difference information, respectively, wherein each of the plurality of arithmetic processors includes an inverse quantization unit for inversely quantizing difference information input from the entropy decoding unit. And an inverse transformer for inversely transforming the inversely quantized difference information input from the inverse quantizer and outputting a differential image, and performing a motion compensation using the prediction information input from the entropy decoder to output a prediction image. A motion compensator, the predicted image output from the motion compensator, and the inverse An adder for adding a difference image output from the converter and outputting a reproduced image is provided.

상기 영상 복호화 장치는 상기 엔트로피 복호화부에서 소정의 블록들에 대한 예측 정보 및 차분치 정보가 복호화되고 상기 복수의 연산 프로세서의 각각에서 재현 영상이 출력된 경우 상기 엔트로피 복호화부으로부터 블록별로 예측 정보 및 차분치 정보를 상기 복수의 연산 프로세서로 각각 제공하는 제어부를 더 포함하는 것이 바람직하다.In the image decoding apparatus, when the prediction information and the difference information about predetermined blocks are decoded by the entropy decoding unit and the reproduced images are output by each of the plurality of arithmetic processors, the image decoding apparatus predicts the prediction information and the difference by block from the entropy decoding unit. Preferably, the apparatus further includes a control unit providing value information to the plurality of arithmetic processors, respectively.

상기 영상 복호화 장치는 상기 복수의 연산 프로세서에 이용될 참조 영상을 저장하기 위한 프레임 메모리부를 더 포함하고, 상기 복수의 연산 프로세서의 각각은 예측 정보를 이용하여 상기 프레임 메모리부로부터 해당 영역의 참조 화소 위치를 선정하는 참조 화소 선정부와, 상기 참조 화소 선정부로부터 선정된 참조 화소 위치로부터 정수 단위의 참조 화소값을 읽어오는 인터페이스부를 더 구비하는 것이 바람직하다.The image decoding apparatus further includes a frame memory unit for storing reference images to be used in the plurality of arithmetic processors, each of the plurality of arithmetic processors using reference information to locate a reference pixel of a corresponding region from the frame memory unit. It is preferable to further include a reference pixel selecting unit for selecting a and an interface unit for reading the reference pixel value in an integer unit from the reference pixel position selected from the reference pixel selecting unit.

상기 영상 복호화 장치는 상기 가산부의 재현 영상을 입력받아 디블록킹을 수행하여 디스플레이 영상을 출력하는 디블록킹 필터부를 더 포함하고,The image decoding apparatus further includes a deblocking filter unit which receives a reproduction image of the adder and performs deblocking to output a display image.

상기 프레임 메모리부에는 상기 디블록킹 필터부에서 출력된 디스플레이 영상이 참조 영상으로 저장되는 것이 바람직하다.Preferably, the frame memory unit stores the display image output from the deblocking filter unit as a reference image.

상기 복수의 연산 프로세서의 각각은 상기 인터페이스부로부터 입력된 정수 단위의 참조 화소값을 이용하여 소수 단위의 예측 영상을 생성하는 보간 필터부를 더 포함하는 것이 바람직하다.Each of the plurality of arithmetic processors may further include an interpolation filter configured to generate a predictive image in a decimal unit using a reference pixel value of an integer unit input from the interface unit.

상기 보간 필터부는 1/2 화소를 보간하기 위한 4개의 계수를 가진 4탭 보간 필터 및 6개의 계수를 가진 6탭 보간 필터를 구비하여 입력되는 규격에 따라 적응적으로 대응할 수 있다.The interpolation filter unit may include a four-tap interpolation filter having four coefficients for interpolating 1/2 pixel and a six-tap interpolation filter having six coefficients, and adaptively correspond to an input standard.

상기 보간 필터부는 4개의 계수를 가진 4탭 보간 필터를 포함하고, 상기 4탭 보간 필터는 1/2 화소를 보간하기 위하여 4개의 참조 화소마다 소정의 계수를 곱하여 각각 더하고 그 값에 상수를 더하여 시프트하는 것이 바람직하다.The interpolation filter unit includes a four-tap interpolation filter having four coefficients, and the four-tap interpolation filter shifts by multiplying predetermined coefficients by four reference pixels in order to interpolate 1/2 pixels, and adding a constant to the values. It is desirable to.

상기 보간 필터부는 1/2 화소 및 1/4 화소를 각각 보간하는 6개의 계수를 가진 6탭 보간 필터로 이루어지는 것이 바람직하다.Preferably, the interpolation filter unit is a six-tap interpolation filter having six coefficients for interpolating 1/2 pixels and 1/4 pixels, respectively.

본 발명은 압축 부호화된 비트스트림을 수신하여 엔트로피 복호화를 수행하여 예측 정보 및 차분치 정보를 복수의 연산 프로세서로 제공하는 단계와, 상기 복수의 연산 프로세서의 각각에서 입력된 차분치 정보를 이용하여 차분치 영상을 얻고, 입력된 예측 영상을 이용한 움직임 보상을 수행하여 예측 영상을 얻는 단계와, 상기 복수의 연산 프로세서의 각각에서 예측 영상과 차분치 영상을 합산하여 재현 영상을 출력하는 단계를 포함함으로써 상술한 목적을 달성할 수 있다. The present invention provides a method for receiving a compression-encoded bitstream and performing entropy decoding to provide prediction information and difference information to a plurality of arithmetic processors, and using differential information input from each of the plurality of arithmetic processors. Obtaining a prediction image, performing a motion compensation using the input prediction image, obtaining a prediction image, and adding a prediction image and a difference image to output a reproduced image in each of the plurality of arithmetic processors. One purpose can be achieved.

본 발명의 실시예에 따르면, 처리 과정에서 많은 시간이 소요되는 움직임 보상을 중심으로 멀티 연산을 구현하므로, 움직임 보상 처리 시간 등을 최소화할 수 있어 실시간 처리가 가능하다.According to an embodiment of the present invention, since the multi-operation is implemented based on the motion compensation which takes a lot of time in the process, it is possible to minimize the motion compensation processing time and the like, thereby enabling real-time processing.

또한 본 발명은 보간 필터에서의 최소한의 연산만으로 중간 화소를 생성하고 있어 멀티 연산 기능의 구비에 따른 영상 복호화 장치의 최적화를 도모할 수 있다. In addition, the present invention generates an intermediate pixel with only a minimum of operations in the interpolation filter, thereby optimizing the video decoding apparatus according to the provision of the multi-calculation function.

도 1은 압축 동영상 코덱에 적용되는 일반적인 복호화 장치를 도시한 도면이다.
도 2는 본 발명에 일실시예에 따른 멀티 연산 기능을 구비한 영상 복호화 장치의 개략적인 블록도이다.
도 3은 도 2에 도시된 멀티 연산 기능을 구비한 영상 복호화 장치의 구체적인 블록도이다.
도 4는 본 발명의 일실시예에 따른 MPEG-4 복호화 장치에서의 움직임 벡터에 따라 필터링 방법이 변경되는 위치를 설명하기 위한 도면이다.
도 5는 MPEG-4 코덱에서 구현된 일반적인 코딩 프로그램이다.
도 6은 본 발명의 일실시예에 따라 MPEG-4 복호화 장치에 구현된 코딩 프로그램이다.
도 7a 내지 7b는 본 발명의 일실시예에 따른 H.264 복호화 장치에서의 움직임 벡터에 따라 필터링 방법이 변경되는 위치를 설명하기 위한 도면이다.
도 8은 본 발명의 일실시예에 따른 영상 복호화 방법을 설명하는 흐름도이다.
1 is a diagram illustrating a general decoding apparatus applied to a compressed video codec.
2 is a schematic block diagram of an image decoding apparatus having a multi-operation function according to an embodiment of the present invention.
3 is a detailed block diagram of an image decoding apparatus having a multi-operation function illustrated in FIG. 2.
4 is a view for explaining a position in which a filtering method is changed according to a motion vector in an MPEG-4 decoding apparatus according to an embodiment of the present invention.
5 is a general coding program implemented in the MPEG-4 codec.
6 is a coding program implemented in an MPEG-4 decoding apparatus according to an embodiment of the present invention.
7A to 7B are diagrams for describing a position at which a filtering method is changed according to a motion vector in an H.264 decoding apparatus according to an embodiment of the present invention.
8 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.

이하, 본 발명의 바람직한 실시예들을 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 일실시예에 따른 멀티 연산 기능을 구비한 영상 복호화 장치의 개략적인 블록도이다. 2 is a schematic block diagram of an image decoding apparatus having a multi-operation function according to an embodiment of the present invention.

도 2에 도시되어 있는 바와 같이, 영상 복호화 장치(200)는 엔트로피 복호화부(210), 제1 연산 프로세서(220), 제2 연산 프로세서(230), 디블록킹 필터부(240), 프레임 메모리부(250) 및 제어부(260)를 포함한다.As shown in FIG. 2, the image decoding apparatus 200 may include an entropy decoder 210, a first operation processor 220, a second operation processor 230, a deblocking filter unit 240, and a frame memory unit. 250 and the control unit 260.

엔트로피 복호화부(210)는 압축 부호화된 비트스트림을 수신하여 엔트로피 복호화(entropy decoding)를 수행하여 차분치 정보인 양자화된 계수와 예측 정보인 참조 프레임 인덱스 및 움직임 벡터를 생성하여 출력한다. 엔트로피 복호화부(210)에 입력되는 비트스트림은 영상 데이터의 부호화된 포맷이며, 엔트로피 부호화 형식으로 인코딩되어 있다. The entropy decoder 210 receives the compression-encoded bitstream and performs entropy decoding to generate and output quantized coefficients, which are differential information, reference frame indexes, and motion vectors, which are prediction information. The bitstream input to the entropy decoding unit 210 is an encoded format of image data and is encoded in an entropy encoding format.

이 엔트로피 복호화부(210)는 VLC(Variable Length Code) 또는 CABAC(Context Adaptive Binary Arithmetic Code)로 부호화되어 있는 신택스 요소를 복호화한다. 이 신택스 요소에는 픽처 헤더 정보, 예측 정보 그리고 차분치(residual) 정보 등이 포함된다. The entropy decoding unit 210 decodes a syntax element encoded by a variable length code (VLC) or a context adaptive binary arithmetic code (CABAC). This syntax element includes picture header information, prediction information, and residual information.

픽처 헤더 정보에는 픽처 구조, 픽처 코딩 타입, 프레임 크기, 참조 프레임 등의 정보가 포함되어 있으며, 제어부(260)에 제공된다. The picture header information includes information such as a picture structure, a picture coding type, a frame size, a reference frame, and the like, and is provided to the controller 260.

예측 정보는 같은 프레임 내에서 블록 단위의 예측값을 보상해 내는데 이용되는 인트라 프레임 예측 정보, 또는 다른 프레임으로부터 블록 단위의 예측값을 보상해 내는데 이용되는 인터 프레임 예측 정보인 참조 프레임 인덱스와 움직임 벡터를 포함한다. 이 인트라 프레임 예측 정보는 인트라 예측부(미도심됨)로 입력되고, 인터 프레임 예측 정보인 참조 프레임 인덱스와 움직임 벡터는 제1 움직임 보상부(226) 및 제2 움직임 보상부(236)로 입력된다. The prediction information includes a reference frame index and a motion vector, which are intra frame prediction information used for compensating a block value prediction value within the same frame, or inter frame prediction information used to compensate a block value prediction value from another frame. . The intra frame prediction information is input to the intra predictor (not illustrated), and the reference frame index and the motion vector, which are inter frame prediction information, are input to the first motion compensator 226 and the second motion compensator 236. .

차분치 정보는 인트라 또는 인터 예측값을 보상한 차분값을 주파수 영역으로 변환한 양자화된 계수 형태로 표현되며, 제1 역양자화부(222) 및 제2 역양자화부로 입력된다.The difference information is expressed in the form of a quantized coefficient obtained by converting a difference value that compensates for an intra or inter prediction value into a frequency domain, and is input to the first inverse quantizer 222 and the second inverse quantizer.

제1 연산 프로세서(220)는 제1 역양자화부(222), 제1 역변환부(224), 제1 움직임 보상부(226) 및 제1 가산부(228)를 포함하며, 제2 연산 프로세서(230) 역시 제2 역양자화부(232), 제2 역변환부(234), 제2 움직임 보상부(236) 및 제2 가산부(238)를 포함한다. 이 제1 연산 프로세서(220)와 이 제2 프로세서(230)의 각각의 동작은 실질적으로 동일하므로, 도 2에서는 제1 연산 프로세서(220) 위주로 설명한다.The first arithmetic processor 220 includes a first inverse quantizer 222, a first inverse transform unit 224, a first motion compensator 226, and a first adder 228. 230 also includes a second inverse quantizer 232, a second inverse transform unit 234, a second motion compensator 236, and a second adder 238. Since the operations of the first arithmetic processor 220 and the second processor 230 are substantially the same, a description will be given mainly of the first arithmetic processor 220 in FIG. 2.

제1 역양자화부(222)는 엔트로피 복호화부(210)에서 복호화된 차분치 정보, 즉 양자화 계수를 입력받아서 지그재그 스캔되어 입력된 변환 계수를 역스캔하면서 역양자화를 수행하여 제1 역변환부(224)로 출력한다.The first inverse quantizer 222 receives the difference information decoded by the entropy decoder 210, that is, the quantization coefficients, performs inverse quantization while inversely scanning the transform coefficients that are zigzag-scanned and inputted to the first inverse transformer 224. )

제1 역변환부(230)는 역양자화된 변환 계수를 역변환(IDCT)하여 차분치 영상을 얻어 제1 가산부(228)에 출력한다.The first inverse transform unit 230 performs inverse transform (IDCT) on the inverse quantized transform coefficients, obtains a difference image, and outputs the difference value image to the first adder 228.

제1 움직임 보상부(226)는 복호화할 매크로블록 타입이 인터 모드일 경우, 엔트로피 복호화부(210)로부터 참조 프레임 인덱스와 움직임 벡터를 제공받아 참조 프레임의 해당 위치를 계산하고 움직임 보상을 수행하여 예측 영상을 생성하여 제1 가산부(228)로 출력한다. When the macroblock type to be decoded is the inter mode, the first motion compensator 226 receives a reference frame index and a motion vector from the entropy decoder 210 to calculate a corresponding position of the reference frame and performs motion compensation to predict the motion. An image is generated and output to the first adder 228.

제1 가산부(228)는 제1 역변환부(224)에서 얻은 차분치 영상 및 제1 움직임 보상부(226)에서 생성된 예측 영상을 합산하여 재현 영상, 예를 들면 현재 블록 영상을 생성한다. The first adder 228 adds the difference image obtained by the first inverse transform unit 224 and the predicted image generated by the first motion compensator 226 to generate a reproduced image, for example, the current block image.

디블록킹 필터부(240)는 제1 가산부(228)에서 생성된 제1 블록의 재현 영상과 제2 가산부(238)에서 생성된 제2 블록의 재현 영상을 입력받아 디블록킹을 수행하여 디스플레이 영상을 출력한다. 이 디블록킹 필터부(240)는 단위 블록의 경계 조건에 따라 디블록킹 필터의 채용 여부와 필터의 강도를 조정한다. H.264 표준의 영상인 경우 무조건 디블로킹 필터를 통과하지만, 다른 표준의 영상, 예를 들면 MPEG-2의 경우에는 디블록킹 필터를 거치지 않는다.The deblocking filter 240 receives the reproduced image of the first block generated by the first adder 228 and the reproduced image of the second block generated by the second adder 238, and performs deblocking. Output the video. The deblocking filter unit 240 adjusts whether the deblocking filter is employed and the strength of the filter according to the boundary condition of the unit block. In case of H.264 standard image, it passes through deblocking filter unconditionally, but in case of other standard image, for example MPEG-2, it does not go through deblocking filter.

프레임 메모리부(250)는 디블록킹 필터부(240)를 통과한 디스플레이 영상을 저장하기 위한 메모리이며, 프레임 메모리부(250)에 저장된 이 디스플레이 영상은 제1 움직임 보상부(226) 및 제2 움직임 보상부(236)에서 참조 영상으로 이용된다. 그리고 회로 설계에 따라서는 프레임 메모리부(250)에 제1 가산부(228) 및 제2 가산부(238)에서 출력되는 블록의 재현 영상이 저장될 수 있다.The frame memory unit 250 is a memory for storing the display image passing through the deblocking filter unit 240, and the display image stored in the frame memory unit 250 includes the first motion compensator 226 and the second motion. The compensation unit 236 is used as a reference image. In addition, according to the circuit design, a reproduction image of a block output from the first adder 228 and the second adder 238 may be stored in the frame memory 250.

제어부(260)는 엔트로피 복호화부(210)로부터 픽처 헤더 정보를 입력받아 제1 연산 프로세서(220), 제2 연산 프로세서(230), 디블록킹 필터부(240) 및 프레임 메모리부(250) 등을 제어한다.The control unit 260 receives picture header information from the entropy decoding unit 210, and controls the first operation processor 220, the second operation processor 230, the deblocking filter unit 240, and the frame memory unit 250. To control.

한편, 도 2에서는 엔트로피 복호화부(210) 및 제어부(260)을 분리하여 설명하였지만, 단일 처리 프로세서에 의해 구현될 수 있으며, 바람직하게는 ARM으로 구현될 수 있다.Meanwhile, in FIG. 2, the entropy decoding unit 210 and the control unit 260 have been separately described, but may be implemented by a single processing processor, and preferably, an ARM.

도 3은 도 2에 도시된 멀티 연산 기능을 구비한 영상 복호화 장치의 구체적인 블록도이다. 3 is a detailed block diagram of an image decoding apparatus having a multi-operation function illustrated in FIG. 2.

도 3에 도시되어 있는 바와 같이, 영상 복호화 장치(200)는 도 2에 도시된 엔트로피 복호화부(210), 제1 연산 프로세서(220), 제2 연산 프로세서(230), 프레임 메모리부(250) 및 제어부(260)를 포함한다. 도 3에서도 연산 프로세서를 제1 연산 프로세서(220) 및 제2 연산 프로세서(230)로 설명하지만, 이는 복수의 연산 프로세서를 설명하기 위한 것으로, 본 발명은 이에 제한되지 않는다.As shown in FIG. 3, the image decoding apparatus 200 may include the entropy decoding unit 210, the first operation processor 220, the second operation processor 230, and the frame memory unit 250 illustrated in FIG. 2. And a controller 260. In FIG. 3, the arithmetic processor is described as a first arithmetic processor 220 and a second arithmetic processor 230, but this is for describing a plurality of arithmetic processors, and the present invention is not limited thereto.

엔트로피 복호화부(210)는 압축 부호화된 비트스트림을 수신하여 엔트로피 복호화를 수행하면서 엔트로피 메모리(312)에 매크로 블록들에 대한 정보, 즉 각 매크로블록에 대한 양자화 계수, 참조 프레임 인덱스 및 움직임 벡터를 저장한다. 엔트로피 메모리(312)에는 소정의 매크로 블록들에 대한 정보가 저장되며, 이는 연산 프로세서(220, 230)의 개수에 대응된다. 엔트로피 복호화부(210)는 슬라이스 단위로 엔트로피 메모리(312)에 매크로 블록들에 대한 정보를 저장할 수 있다. 엔트로피 메모리(312)에 소정의 매크로 블록들에 대한 정보가 저장되면, 제어부(260)는 이들 정보를 제1 연산 프로세서(220) 및 제2 연산 프로세서(230)에 제공한다.The entropy decoder 210 receives the compressed coded bitstream and performs entropy decoding, and stores information about macroblocks, that is, quantization coefficients, reference frame indexes, and motion vectors for each macroblock, in the entropy memory 312. do. The entropy memory 312 stores information about predetermined macroblocks, which correspond to the number of the operation processors 220 and 230. The entropy decoder 210 may store information about macro blocks in the entropy memory 312 in slice units. When information on predetermined macroblocks is stored in the entropy memory 312, the controller 260 provides the information to the first arithmetic processor 220 and the second arithmetic processor 230.

제1 연산 프로세서(220) 및 제2 연산 프로세서(230)의 각각의 동작은 실질적으로 동일하므로, 도 2와 동일하게 도 3에서도 제1 연산 프로세서(220) 위주로 설명한다.Since the operations of the first arithmetic processor 220 and the second arithmetic processor 230 are substantially the same, a description will be given mainly of the first arithmetic processor 220 in FIG. 3 as in FIG. 2.

제1 연산 프로세서(220)는 도 2에 도시된 제1 역양자화부(222), 제1 역변환부(224), 제1 움직임 보상부(226) 및 제1 가산부(228)와, 제1 인터페이스부(322) 및 제1 차분치 영상 메모리(324)를 포함한다.The first operation processor 220 may include a first inverse quantizer 222, a first inverse transform unit 224, a first motion compensator 226, a first adder 228, and a first And an interface unit 322 and a first differential image memory 324.

제1 인터페이스부(322)는 제1 연산 프로세서(220)와 엔트로피 복호화부(210)제어부(260) 또는 메모리 컨트롤러부(360)를 상호 간에 통신하기 위한 인터페이스이다The first interface unit 322 is an interface for communicating the first operation processor 220 and the entropy decoding unit 210, the controller 260, or the memory controller 360 with each other.

제1 역양자화부(222)는 엔트로피 복호화부(210)에서 복호화된 양자화 계수를 입력받아서 지그재그 스캔되어 입력된 변환 계수를 역스캔하면서 역양자화를 수행하여 제1 역변환부(224)로 출력한다.The first inverse quantizer 222 receives the quantized coefficients decoded by the entropy decoder 210, performs inverse quantization while inversely scanning the input transform coefficients which are zigzag-scanned, and outputs the inverse quantized coefficients to the first inverse transformer 224.

제1 역변환부(230)는 역양자화된 변환 계수를 역변환(IDCT)하여 차분치 영상을 얻어 제1 차분치 영상 메모리(324)에 저장된다. The first inverse transform unit 230 obtains a differential image by inverse transforming (IDCT) the inverse quantized transform coefficient and stores the difference image in the first differential image memory 324.

제1 차분치 영상 메모리(324)에 저장된 제1 차분치 영상은 저장되어 있다가 제1 움직임 보상부(226)에서 예측 영상이 출력되는 시점에서 제1 가산부(228)로 출력될 수도 있으며, 또한 메인 영상 메모리 영역인 프레임 메모리부(250)에 저장되었다가 제1 움직임 보상부(226)에서 예측 영상이 출력되는 시점에서 다시 읽어와 제1 가산부(228)로 출력될 수 있다.The first differential image stored in the first differential image memory 324 may be stored and then output to the first adder 228 at the time when the predicted image is output from the first motion compensator 226. In addition, it may be stored in the frame memory unit 250, which is the main image memory area, and then read again at the time point when the predicted image is output from the first motion compensator 226 and output to the first adder 228.

제1 움직임 보상부(226)는 제1 인터페이스부(322)를 통하여 엔트로피 메모리(3120)로부터 참조 프레임 인덱스와 움직임 벡터를 제공받아 움직임 보상을 수행하기 위하여, 제1 참조 화소 선정부(326), 제1 참조 화소 메모리(328), 제1 보간 필터부(330) 및 제1 예측 영상 메모리(332)를 포함한다.The first motion compensation unit 226 receives the reference frame index and the motion vector from the entropy memory 3120 through the first interface unit 322 to perform motion compensation. The first reference pixel memory 328, the first interpolation filter unit 330, and the first prediction image memory 332 are included.

제1 참조 화소 선정부(326)는 제1 인터페이스부(322)를 통하여 엔트로피 메모리(3120)로부터 참조 프레임 인덱스와 움직임 벡터를 제공받아 화소의 위치를 선정한다. 제1 참조 화소 선정부(326)는 이 화소의 위치를 이용하여 제1 인터페이스부(322)를 통하여 프레임 메모리부(250)로부터 정수 단위의 참조 화소값을 읽어온다. The first reference pixel selector 326 receives a reference frame index and a motion vector from the entropy memory 3120 through the first interface 322 to select a pixel position. The first reference pixel selector 326 reads the integer value of the reference pixel from the frame memory unit 250 through the first interface unit 322 using the position of the pixel.

제1 참조 화소 메모리(328)에는 프레임 메모리부(250)로부터 읽어온 정수 단위의 참조 화소값을 저장된다. 제1 보간 필터부(330)는 이 정수 단위의 참조 화소값을 보간하여 소수 단위의 예측 영상의 화소값으로 변환한다. 제1 보간 필터부(330)는 MPEG-4 및 H.264 등에 적응적으로 대응할 수 있도록 4탭 보간 필터 및 6탭 보간 필터를 포함할 수 있다. 제1 예측 영상 메모리(332)에는 제1 보간 필터부(330)에서 출력된 소수 단위의 예측 영상이 저장된다.The first reference pixel memory 328 stores reference pixel values in integer units read from the frame memory unit 250. The first interpolation filter unit 330 interpolates the reference pixel values in integer units and converts the pixel values of the prediction image in decimal units. The first interpolation filter unit 330 may include a 4-tap interpolation filter and a 6-tap interpolation filter to adaptively correspond to MPEG-4 and H.264. The first prediction image memory 332 stores the prediction image of the decimal unit output from the first interpolation filter unit 330.

제1 가산부(228)는 제1 차분치 영상 메모리(324)의 차분치 영상 및 제1 예측 영상 메모리(332)의 합산하여 제1 블록의 재현 영상을 생성한다. The first adder 228 generates the reproduced image of the first block by summing the difference image of the first difference image memory 324 and the first prediction image memory 332.

프레임 메모리부(250)는 디블록킹 필터부(240)를 통과한 디스플레이 영상을 저장하기 위한 메모리이며, 프레임 메모리부(250)에 저장된 이 디스플레이 영상은 제1 움직임 보상부(226) 및 제2 움직임 보상부(236)에서 참조 영상으로 이용된다. 그리고 회로 설계에 따라서는 프레임 메모리부(250)에 제1 가산부(228) 및 제2 가산부(238)에서 출력되는 블록 영상이 저장될 수 있다.The frame memory unit 250 is a memory for storing the display image passing through the deblocking filter unit 240, and the display image stored in the frame memory unit 250 includes the first motion compensator 226 and the second motion. The compensation unit 236 is used as a reference image. According to a circuit design, a block image output from the first adder 228 and the second adder 238 may be stored in the frame memory 250.

메모리 컨트롤러부(360)는 메인 화상 메모리 영역인 프레임 메모리부(250)와 제1 연산 프로세서(220) 또는 제2 연산 프로세서(230) 간에 영상 정보들의 흐름을 제어한다. The memory controller 360 controls the flow of image information between the frame memory unit 250, which is a main image memory area, and the first or second arithmetic processor 220.

제어부(260)는 엔트로피 복호화부(210)로부터 픽처 헤더 정보를 입력받아 제1 연산 프로세서(220), 제2 연산 프로세서(230), 디블록킹 필터부(240) 및 프레임 메모리부(250) 등을 제어한다. 또한 제어부(260)는 엔트로피 메모리(312)에 소정의 매크로 블록들에 대한 정보가 저장되고 전 매크로블록들에 대한 제1 연산 프로세서(220) 및 제2 연산 프로세서(230)에서의 움직임 보상이 완료되면 각각의 매크로블록에 대한 정보를 제1 연산 프로세서(220), 제2 연산 프로세서(230)에 제공한다. The control unit 260 receives picture header information from the entropy decoding unit 210, and controls the first operation processor 220, the second operation processor 230, the deblocking filter unit 240, and the frame memory unit 250. To control. In addition, the controller 260 stores information on predetermined macroblocks in the entropy memory 312 and completes motion compensation in the first and second arithmetic processors 220 and 230 for all macroblocks. If necessary, information about each macroblock is provided to the first arithmetic processor 220 and the second arithmetic processor 230.

한편, 도 3에서는 제1 차분치 영상 메모리(324), 제1 참조 화소 메모리(328) 및 제1 예측 영상 메모리(332)를 각각 분리하여 설명하였으나, 하나의 SDRM으로 이루어질 수 있다.In FIG. 3, the first difference image memory 324, the first reference pixel memory 328, and the first prediction image memory 332 are separately described, but may be formed of one SDRM.

이하에서는 도 4 내지 도 7을 통하여, 도 3에 도시된 제1 보간 필터부(330) 및 제2 보간 필터부(350)에 대하여 보다 구체적으로 설명한다.Hereinafter, the first interpolation filter unit 330 and the second interpolation filter unit 350 shown in FIG. 3 will be described in more detail with reference to FIGS. 4 to 7.

도 3에 도시된 제1 보간 필터부(330) 및 제2 보간 필터부(350)는 MPEG-4 및 H.264에 적응적으로 대응할 수 있도록 4탭 보간 필터 및 6탭 보간 필터를 포함할 수 있다.The first interpolation filter unit 330 and the second interpolation filter unit 350 illustrated in FIG. 3 may include a 4-tap interpolation filter and a 6-tap interpolation filter to adaptively correspond to MPEG-4 and H.264. have.

현재 동영상 압축 코덱들은 움직임 벡터가 참조 영상 내의 화소들, 즉 정수형 화소(integer pel)만을 지시하지 않고, 정수형 화소들 사이의 1/2에 위치한 1/2 화소(half pel) 또는 정수형 화소들 사이의 1/4에 위치한 1/4 화소(quarter pel)도 지시하고 있다. 그런데 1/2 화소 및 1/4 화소는 참조 영상에 원래 존재하지 않는 화소들이기 때문에 이 화소들의 값은 화소 보간법을 이용하여 생성된다. Currently, video compression codecs do not indicate only pixels in a reference image, that is, integer pels, but half pixels or half pixels located between half of integer pixels. The quarter pel located at quarter is also indicated. However, since 1/2 and 1/4 pixels are pixels that do not originally exist in the reference image, the values of these pixels are generated by using pixel interpolation.

도 4는 본 발명의 일실시예에 따라 MPEG-4 복호화 장치에서의 움직임 벡터에 따라 필터링 방법이 변경되는 위치를 설명하기 위한 도면이다.4 is a diagram for explaining a position at which a filtering method is changed according to a motion vector in an MPEG-4 decoding apparatus according to an embodiment of the present invention.

도 4에서 대문자 알파벳 G, H, M 및 N은 정수형 화소 위치이고, b, h, j, m 및 s는 1/2 화소 위치이다. 아래의 수학식 1은 MPEG-4의 움직임 보상 필터링을 표현하는 수식이다. In FIG. 4, uppercase letters G, H, M, and N are integer pixel positions, and b, h, j, m, and s are half pixel positions. Equation 1 below is an expression representing motion compensation filtering of MPEG-4.

[수학식 1][Equation 1]

Figure 112010033300587-pat00001
Figure 112010033300587-pat00001

위의 수학식 1에서 알 수 있듯이, 도 4에 도시된 MPEG-4에 대응되는 일반적인 4탭 보간 필터의 경우 1/2 화소들을 보간함에 있어 그 위치에 따라 다른 식이 적용된다. 즉, 수학식 1은 정수 단위, 즉 정수형 화소일 경우라면 해당 위치의 값을 그대로 사용하지만, 소수 단위, 즉 실수형 화소의 경우 그 위치에 따라 3가지 다른 연산을 수행한다. 그리고 이를 구현한 코딩이 도 5에 도시되어 있다.As can be seen from Equation 1 above, in the case of the general 4-tap interpolation filter corresponding to MPEG-4 illustrated in FIG. 4, different equations are applied depending on their positions in interpolating 1/2 pixels. That is, in Equation 1, if the integer unit, that is, the integer pixel, the value of the corresponding position is used as it is, but in the case of the decimal unit, that is, the real pixel, three different operations are performed according to the position. And the coding for implementing this is shown in FIG.

도 5에 도시되어 있는 바와 같이, 일반적인 프로세서에서는 if loop 4개 중에 하나를 수행하게 된다. 이 경우 일반 프로세서의 수행 순서는 pos==0인 경우, pos==1인 경우, pos==2인 경우 및 pos==3인 경우이다. 일반 프로세서에서의 데이터 로딩, 저장 및 산술 연산을 수행하는데 있어서 1cycle이라고 가정한다면, 하나의 매크로블록(MB : Macroblock)을 수행하기 위해 최대 2688cycle이 필요하게 된다. 따라서 영상의 해상도가 QVGA라 가정하면, 하나의 픽처에 대한 움직임 보상 필터링을 수행하기 위해서는 300 x 2688 = 806400cycles이 필요하게 된다.As shown in FIG. 5, a general processor performs one of four if loops. In this case, the execution order of the general processor is when pos == 0, pos == 1, pos == 2 and pos == 3. Assuming 1cycle for performing data loading, storing, and arithmetic operations in a general processor, a maximum of 2688 cycles are required to perform one macroblock (MB). Therefore, assuming that the resolution of the image is QVGA, 300 x 2688 = 806 400 cycles are required to perform motion compensation filtering on one picture.

한편, 위의 수학식 1을 본 발명에 적용하는 경우 멀티 연산 프로세서에서는 항상 위의 4가지 상황을 수행해야 하며, 모두 수행된 결과를 메모리에 저장하여 선택적으로 값을 사용하게 된다. 즉, 멀티 연산 프로세서는 일반적인 프로세서와 다르게 N개의 MB 단위로 동시에 수행되며, if 조건문에 따라 어느 하나를 수행하지 않고 4개 모두를 수행해야 한다. 따라서 멀티 연산 프로세서에서는 1MB의 움직임 보상 필터링을 수행하기 위해, 6 x (128+256+256+448) = 6528 cycle이 필요하며, 멀티 연산 프로세서가 20개의 MB를 동시에 수행한다고 가정하면, 한 픽처에 대한 움직임 보상 필터링을 수행하기 위해서 6528 x 15 = 97920 cycle이 소요된다. Meanwhile, when the above Equation 1 is applied to the present invention, the above four situations must always be performed in the multi-computation processor, and all of the results are stored in a memory to selectively use a value. In other words, unlike a general processor, a multi-computation processor is executed in N MB units at the same time, and all four should be performed without performing any one according to the if conditional statement. Therefore, in order to perform motion compensation filtering of 1 MB in a multi-processor, 6 x (128 + 256 + 256 + 448) = 6528 cycles is required. It takes 6528 x 15 = 97920 cycles to perform motion compensation filtering.

즉, 멀티 연산 프로세서에서 위와 같은 방법으로 움직임 벡터의 위치에 따라 움직임 보상 필터링을 모두 다 수행하면 중복성이 발생하여 많은 cycle이 소요하게 되므로, 본 발명은 수학식 2와 같이 수식을 통합하여 위치에 따라서 변경되지 않는 한 가지 연산을 사용하도록 제안하였다. In other words, if all the motion compensation filtering is performed according to the position of the motion vector in the multi-processing processor as described above, redundancy occurs and many cycles are required. It is suggested to use one operation that does not change.

[수학식 2][Equation 2]

Figure 112010033300587-pat00002
Figure 112010033300587-pat00002

이 수학식 2에서의 c1, c2, c3 및 c4는 4탭 보간 필터의 계수이며, C는 라운딩 제어(rounding control)를 의미한다. 이 계수 c1, c2, c3 및 c4와 라운딩 제어 C 그리고 shift는 움직임 벡터에 따라 표 1과 같이 적용할 수 있다. C1, c2, c3 and c4 in Equation 2 are coefficients of a 4-tap interpolation filter, and C means rounding control. The coefficients c1, c2, c3 and c4, the rounding control C and shift can be applied as shown in Table 1 according to the motion vector.

(( mvxmvx &1)|((& 1) | (( mvymvy &1)<<1)& 1) << 1) C1C1 C2C2 C3C3 C4C4 CC ShiftShift 00 1One 00 00 00 00 00 1One 1One 1One 00 00 1-round1-round 1One 22 1One 00 1One 00 1-round1-round 1One 33 1One 1One 1One 1One 2-rounf2-rounf 22

이 4탭 보간 필터는 1/2 화소를 보간하기 위하여 4개의 참조 화소마다 소정의 계수를 곱하여 각각 더하고 그 값에 상수를 더하여 시프트함을 알 수 있다.In order to interpolate the 1/2 pixel, the four-tap interpolation filter multiplies a predetermined coefficient for each of the four reference pixels, adds a predetermined coefficient, and shifts the value by adding a constant.

이를 구현한 코딩이 도 6에 도시되어 있다. 도 6에 도시되어 있는 바와 같이, 이렇게 병렬프로세로 구현하게 되면, 20개 MB에 대해 움직임 보상 필터링를 수행하는데 16 + 9 * 64 = 592 cycles가 소요되고, 한 프레임에 대해 11840 cycles가 소요되므로 좋은 성능으로 움직임 보상의 필터링을 구현할 수 있게 된다.Coding that implements this is shown in FIG. 6. As shown in FIG. 6, in parallel implementation, it takes 16 + 9 * 64 = 592 cycles and 11840 cycles per frame to perform motion compensation filtering for 20 MB. As a result, filtering of motion compensation can be implemented.

도 7a 내지 7b는 본 발명의 일실시예에 따른 H.264 복호화 장치에서의 움직임 벡터에 따라 필터링 방법이 변경되는 위치를 설명하기 위한 도면이다.7A to 7B are diagrams for describing a position at which a filtering method is changed according to a motion vector in an H.264 decoding apparatus according to an embodiment of the present invention.

H.264 복호화 장치에서의 6탭 보간 필터는 MPEG-4와 다르게 1/4 단위의 움직임 보상을 수행한다. H.264 부호화 장치에서는 먼저 MPEG-4와 같은 방식으로 1/2 화소 단위로 움직임 예측을 수행하고 얻어진 결과를 바탕으로 다시 2차 보간을 수행하여 1/4 화소를 보간한다.The 6-tap interpolation filter in the H.264 decoding apparatus performs motion compensation in units of 1/4 unlike MPEG-4. In the H.264 encoding apparatus, first, motion prediction is performed in units of 1/2 pixels in the same manner as in MPEG-4, and based on the obtained result, second interpolation is performed again to interpolate 1/4 pixels.

도 7a 내지 7b에서 대문자 알파벳은 정수형 화소 위치이고, b, h, m, s, cc, dd, ee, ff, gg 및 hh는 1/2 화소 위치이고 나머지 부분은 1/4 화소 위치이다. 1/2 화소의 위치는 6-tab FIR(Finite Impulse Response) 필터와 가중치를 사용하여 정수형 위치 샘플로부터 보간되며, 1/4 화소는 선형 필터, 즉 평균값를 사용하여 1/2 화소 위치 샘플로부터 보간된다. In Figs. 7A to 7B, the uppercase alphabet letters are integer pixel positions, b, h, m, s, cc, dd, ee, ff, gg and hh are 1/2 pixel positions and the remaining portions are 1/4 pixel positions. Positions of the 1/2 pixel are interpolated from integer position samples using 6-tab Finite Impulse Response (FIR) filters and weights, and 1/4 pixels are interpolated from the half pixel position samples using a linear filter, i.e., an average value. .

도 7a에서 b, h, m 및 s는 수평 또는 수직 방향으로 정수형 화소로부터 계산되고, 나머지 j는 cc, dd, h, m, ee 그리고 ff를 사용하여 보간된다. 도 7b는 1/4 화소 위치의 움직임 보상을 보여주고 있다. 아래의 수학식 3은 일반적인 H.264의 움직임 보상 필터링을 표현하는 수식이다. In FIG. 7A, b, h, m and s are calculated from integer pixels in the horizontal or vertical direction, and the remaining j is interpolated using cc, dd, h, m, ee and ff. 7B shows motion compensation at quarter pixel position. Equation 3 below is a formula representing the motion compensation filtering of the general H.264.

[수학식 3]&Quot; (3) &quot;

Figure 112010033300587-pat00003
Figure 112010033300587-pat00003

이 수학식 3은 각각의 화소에서의 움직임 보상에 대한 수식을 보여주고 있다. Equation 3 shows an equation for motion compensation in each pixel.

표 2는 도 7a에서 각각의 픽셀 위치에 따라 수평방향과 수직 방향에 대해 수행하는 방법을 도표로 보여주고 있다.Table 2 shows a method of performing in the horizontal direction and the vertical direction according to each pixel position in FIG. 7A.

화소 위치Pixel position 수평 방향Horizontal direction 수직방향Vertical direction 1/2 화소 보간1/2 pixel interpolation 1/4 화소 보간1/4 pixel interpolation 1/2 화소 보간1/2 pixel interpolation 1/4 화소 보간1/4 pixel interpolation GG xx xx xx xx aa oo oo xx xx bb oo xx xx xx cc oo oo xx xx dd xx xx oo xx ee oo oo oo xx ff xx xx oo oo gg oo oo oo xx hh xx xx oo xx ii xx xx oo oo jj oo xx oo xx kk oo oo oo xx nn xx xx oo oo pp oo oo oo xx qq xx xx oo oo rr oo oo oo xx

표 2를 연산 프로세서로 적용하기 위하여 수평 방향과 수직 방향에 대해 1/2화소 보간법과 1/4화소 보간법을 화소 위치에 따라 다르게 수행해야 한다. In order to apply Table 2 to the arithmetic processor, 1/2 pixel interpolation and 1/4 pixel interpolation must be performed differently according to pixel positions in the horizontal and vertical directions.

이 경우 예상되는 경우의 수가 16개이다. C나 C++에서는 16개의 조건문 중 하나만 수행하면 되지만 멀티 연산 프로세서의 경우 16번의 1/2화소 보간과 1/4화소 보간을 수행해야 한다. 이렇게 할 경우 계산량이 많아지고 결과적으로는 실시간 처리가 불가능해진다. 따라서 MPEG-4와 마찬가지로 아래의 수학식 4 및 5와 같은 방법을 멀티 연산 프로세서에 적용하였다. 수학식 4 및 5를 사용할 경우, 1/2화소 연산과 1/4 연산 모두가 처리 가능하다. 최종적으로는 16번의 연산이 2번으로 가능하게 된다.In this case, the expected number is 16. In C or C ++, you only need to execute one of 16 conditional statements, but for multi-computing processors, you must perform 16 1/2 pixel interpolation and 1/4 pixel interpolation. This increases the amount of computation and results in real-time processing. Therefore, as in MPEG-4, the following equations (4) and (5) are applied to a multi-processing processor. When using Equations 4 and 5, both 1/2 pixel operations and 1/4 operation can be processed. Finally, 16 operations can be done in two.

[수학식 4]&Quot; (4) &quot;

pred_t0[x] = round(fh[0]*ref[x] + fh[1]*ref[x+1] + fh[2]*ref[x+2] + fh[3]*ref[x+3] + fh[4]*ref[x+4] + fh[5]*ref[x+5])pred_t0 [x] = round (fh [0] * ref [x] + fh [1] * ref [x + 1] + fh [2] * ref [x + 2] + fh [3] * ref [x + 3] + fh [4] * ref [x + 4] + fh [5] * ref [x + 5])

pred_t1[x] = round(fv[0]*pred_t0[x] + fv[1]*pred_t0[x+1] + fv[2]*pred_t0[x+2] + fv[3]*pred_t0[x+3] + fv[4]*pred_t0[x+4] + fv[5]*pred_t0[x+5])pred_t1 [x] = round (fv [0] * pred_t0 [x] + fv [1] * pred_t0 [x + 1] + fv [2] * pred_t0 [x + 2] + fv [3] * pred_t0 [x + 3] + fv [4] * pred_t0 [x + 4] + fv [5] * pred_t0 [x + 5])

여기서, pred_t0[x]는 수평 방향으로의 정수 화소 및 1/2 화소를 의미하며, pred_t1[x]는 수직 방향으로의 정수 화소 및 1/2 화소를 의미한다.Here, pred_t0 [x] means integer pixels and 1/2 pixels in the horizontal direction, and pred_t1 [x] means integer pixels and 1/2 pixels in the vertical direction.

[수학식 5][Equation 5]

pred_t2[x] = round(fh[0]*ref[x] + fh[1]*ref[x+1] + fh[2]*ref[x+2] + fh[3]*ref[x+3] + fh[4]*ref[x+4] + fh[5]*ref[x+5])pred_t2 [x] = round (fh [0] * ref [x] + fh [1] * ref [x + 1] + fh [2] * ref [x + 2] + fh [3] * ref [x + 3] + fh [4] * ref [x + 4] + fh [5] * ref [x + 5])

recon[x] = round((C1*(fv[0]*pred_t2[x] + fv[1]*pred_t2[x+1] + fv[2]*pred_t2[x+2] + fv[3]*pred_t2[x+3] + fv[4]*pred_t2[x+4] + fv[5]*pred_t2[x+5]+512)>>10 + pred_t1[x] + C2) >> shift)recon [x] = round ((C1 * (fv [0] * pred_t2 [x] + fv [1] * pred_t2 [x + 1] + fv [2] * pred_t2 [x + 2] + fv [3] * pred_t2 [x + 3] + fv [4] * pred_t2 [x + 4] + fv [5] * pred_t2 [x + 5] +512) >> 10 + pred_t1 [x] + C2) >> shift)

여기서, pred_t2[x]는 수평 방향으로의 정수 화소 및 1/2 화소를 의미하며, recon[x]는 1/4 화소를 의미한다.Here, pred_t2 [x] means integer pixels and 1/2 pixels in the horizontal direction, and recon [x] means 1/4 pixels.

위의 수학식 4 및 5를 통하여 알 수 있듯이, 수학식 4 및 5는 6탭 보간 필터만으로 1/2 화소 및 1/4 화소를 얻을 수 있다. As can be seen from the above Equations 4 and 5, Equations 4 and 5 can obtain 1/2 pixel and 1/4 pixel only with a 6-tap interpolation filter.

수학식 4는 수평 방향의 정수 화소 및 1/2 화소를 보간하기 위하여 6개의 참조 화소마다 소정의 계수를 곱하여 각각 더하고, 수직 방향의 정수 화소 및 1/2 화소를 보간하기 위하여 위의 6개의 보간된 정수 화소 및 1/2 화소마다 소정의 계수를 곱하여 각각 더한다.Equation 4 multiplies a predetermined coefficient for each of six reference pixels to interpolate integer pixels and 1/2 pixels in the horizontal direction, and adds the above six interpolations to interpolate integer pixels and 1/2 pixels in the vertical direction. Predetermined coefficients are multiplied by the given integer pixels and 1/2 pixels, respectively.

또한, 수학식 5는 수평 방향 및 수직 방향의 정수 화소 및 1/2 화소를 보간하기 위하여 6개의 참조 화소마다 소정의 계수를 곱하여 각각 더하고, 1/4 화소를 보간하기 위하여 위의 6개의 보간된 1/2 화소마다 소정의 계수를 곱하여 각각 더하고 그 값에 수학식 4에서 구한 수직 방향의 정수 화소 및 1/2 화소를 더하여 시프트함을 알 수 있다.In addition, Equation 5 multiplies a predetermined coefficient for every six reference pixels to interpolate integer pixels and 1/2 pixels in the horizontal and vertical directions, and adds the above six interpolated to interpolate 1/4 pixels. It can be seen that each of the 1/2 pixels is multiplied by a predetermined coefficient and added to each of them, and the value is shifted by adding the integer pixels in the vertical direction and 1/2 pixels obtained by the equation (4).

위의 수학식 4 및 5에서의 fh 및 fv는 움직임 벡터에 따라 다른 값을 갖게 된다. Fh and fv in Equations 4 and 5 have different values according to motion vectors.

표 3은 수학식 4에서의 움직임 벡터에 따라 결정되는 fh 및 fv값을 나타낸다.Table 3 shows fh and fv values determined according to the motion vector in Equation 4.

(mvx&3)│((mvy&3)<<2)(mvx & 3) │ ((mvy & 3) << 2) fh[6]fh [6] fv[6]fv [6] 00 0,0,32,0,0,00,0,32,0,0,0 0,0,32,0,0,00,0,32,0,0,0 4.8,9,124.8,9,12 0,0,32,0,0,00,0,32,0,0,0 1,-5,20,20,-5,11, -5,20,20, -5,1 1111 0,0,0,32,0,00,0,0,32,0,0 1,-5,20,20,-5,11, -5,20,20, -5,1 1010 1,-5,20,20,-5,11, -5,20,20, -5,1 1,-5,20,20,-5,11, -5,20,20, -5,1 1313 1,-5,20,20,-5,11, -5,20,20, -5,1 0,0,0,32,0,00,0,0,32,0,0 1,2,3,5,6,71,2,3,5,6,7 1,-5,20,20,-5,11, -5,20,20, -5,1 0,0,32,0,0,00,0,32,0,0,0

아래의 표 4은 수학식 5에서의 움직임 벡터에 따라 결정되는 fh 및 fv값을 나타낸다. Table 4 below shows fh and fv values determined according to the motion vector in Equation 5.

(mvx&3)│
((mvy&3)<<2)
(mvx & 3) │
((mvy & 3) << 2)
fh[6]fh [6] fv[6]fv [6] C1C1 C2C2 shiftshift
0,2,8,100,2,8,10 0,0,0,32,0,00,0,0,32,0,0 0,0,32,0,0,00,0,32,0,0,0 00 00 00 33 0,0,32,0,0,00,0,32,0,0,0 1,-5,20,20,-5,11, -5,20,20, -5,1 1One 1One 1One 1212 0,0,32,0,0,00,0,32,0,0,0 0,0,0,32,0,00,0,0,32,0,0 1One 1One 1One 1,41,4 0,0,0,32,0,00,0,0,32,0,0 0,0,0,32,0,00,0,0,32,0,0 1One 1One 1One 6,9,11,146,9,11,14 1,-5,20,20,-5,11, -5,20,20, -5,1 1,-5,20,20,-5,11, -5,20,20, -5,1 1One 1One 1One 5,135,13 0,0,32,0,0,00,0,32,0,0,0 1,-5,20,20,-5,11, -5,20,20, -5,1 1One 1One 1One 7,13,157,13,15 0,0,0,32,0,00,0,0,32,0,0 1,-5,20,20,-5,11, -5,20,20, -5,1 1One 1One 1One

도 8은 본 발명의 일실시예에 따른 영상 복호화 방법을 설명하는 흐름도이다.8 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.

엔트로피 복호화부(210)는 압축 부호화된 비트스트림을 수신하여 엔트로피 복호화를 수행하여 예측 정보 및 차분치 정보를 출력한다(S802). The entropy decoding unit 210 receives the compressed coded bitstream, performs entropy decoding, and outputs prediction information and difference information (S802).

엔트로피 복호화부(210)에서 소정의 블록들에 대한 예측 정보 및 차분치 정보가 복호화되고 제1 연산 프로세서(220) 및 제2 연산 프로세서(230)으로부터 재현 영상이 출력된 경우 엔트로피 복호화부(210)으로부터 블록별로 예측 정보 및 차분치 정보를 제1 연산 프로세서(220) 및 제2 연산 프로세서(230)로 제공한다(S804).When the prediction information and the difference information about the predetermined blocks are decoded in the entropy decoder 210 and the reproduced images are output from the first and second arithmetic processors 220 and 230, the entropy decoder 210 From the block to the prediction information and the difference information is provided to the first operation processor 220 and the second operation processor 230 (S804).

제1 연산 프로세서(220) 및 제2 연산 프로세서(230)는 엔트로피 복호화부(210)로부터 입력된 차분치 정보를 역양자화하고 역변환하여 차분치 영상을 출력하며, 엔트로피 복호화부(210)로부터 입력된 예측 정보를 이용한 움직임 보상을 수행하여 예측 영상을 출력한다(S806).The first arithmetic processor 220 and the second arithmetic processor 230 inversely quantize and inversely transform difference information input from the entropy decoding unit 210 to output a difference image, and are input from the entropy decoding unit 210. The prediction image is output by performing motion compensation using the prediction information (S806).

제1 연산 프로세서(220) 및 제2 연산 프로세서(230)에서 예측 영상과 차분치 영상을 합산하여 재현 영상을 출력한다(S810).The first operation processor 220 and the second operation processor 230 add the predicted image and the difference image, and output a reproduced image (S810).

디블록킹 필터부(240)는 제1 연산 프로세서(220) 및 제2 연산 프로세서(230)로부터 재현 영상을 입력받아 디블록킹을 수행하여 디스플레이 영상을 출력한다(S810).The deblocking filter unit 240 receives the reproduced image from the first arithmetic processor 220 and the second arithmetic processor 230, performs deblocking, and outputs a display image (S810).

프레임 메모리부(250)에는 디블록킹 필터부(240)에서 출력된 디스플레이 영상이 참조 영상으로 저장된다(S812).The display image output from the deblocking filter unit 240 is stored in the frame memory unit 250 as a reference image (S812).

본 발명의 보호 범위는 이하 특허청구범위에 의하여 해석되어야 마땅할 것이다. 또한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것인 바, 본 발명과 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The protection scope of the present invention should be interpreted by the following claims. It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit and scope of the invention as defined by the appended claims. It should be interpreted that it is included in the scope of right.

210 : 엔트로피 복호화부
220 : 제1 연산 프로세서
222 : 제1 역양자화부
224 : 제1 역변환부
226 : 제1 움직임 보상부
228 : 제1 가산부
230 : 제2 연산 프로세서
240 : 디블록킹 필터부
250 : 프레임 메모리부
260 : 제어부
210: entropy decoder
220: first computing processor
222: first inverse quantization unit
224: first inverse transform unit
226: first motion compensation unit
228: first adder
230: second computing processor
240: deblocking filter unit
250: frame memory section
260 control unit

Claims (10)

압축 부호화된 비트스트림을 수신하여 엔트로피 복호화를 수행하여 예측 정보 및 차분치 정보를 출력하는 엔트로피 복호화부;
상기 엔트로피 복호화부로부터 입력된 차분치 정보를 역양자화하는 역양자화부와, 상기 역양자화부로부터의 입력된 역양자화된 차분치 정보를 역변환하여 차분치 영상을 출력하는 역변환부와, 상기 엔트로피 복호화부로부터 입력된 예측 정보를 이용한 움직임 보상을 수행하여 예측 영상을 출력하는 움직임 보상부와, 및 상기 움직임 보상부에서 출력된 예측 영상과 상기 역변환부에서 출력된 차분치 영상을 합산하여 재현 영상을 출력하는 가산부를 각각 구비하여 상기 엔트로피 복호화부로부터 입력된 예측 정보 및 차분치 정보를 병렬로 처리하여 재현 영상을 출력하는 복수의 연산 프로세서; 및
상기 엔트로피 복호화부에서 소정의 블록들에 대한 예측 정보 및 차분치 정보가 복호화되고 상기 복수의 연산 프로세서의 각각에서 재현 영상이 출력된 경우 상기 엔트로피 복호화부로부터 블록별로 예측 정보 및 차분치 정보를 상기 복수의 연산 프로세서로 각각 제공하도록 제어하는 제어부를 포함하는 것을 특징으로 하는 영상 복호화 장치.
An entropy decoder configured to receive the compression-encoded bitstream and perform entropy decoding to output prediction information and difference information;
An inverse quantizer for inversely quantizing the difference information input from the entropy decoder, an inverse transformer for inversely converting the inverse quantized difference information input from the inverse quantizer, and outputting a difference value image, and the entropy decoder A motion compensation unit for outputting a prediction image by performing motion compensation using the prediction information input from the prediction information, and outputting a reproduction image by summing the prediction image output from the motion compensation unit and the difference image output from the inverse transform unit. A plurality of arithmetic processors including adders each to process the prediction information and the difference information input from the entropy decoding unit in parallel and output a reproduced image; And
When the prediction information and the difference value information for the predetermined blocks are decoded by the entropy decoder and a reproduced image is output by each of the plurality of arithmetic processors, the plurality of pieces of prediction information and the difference information for each block are obtained from the entropy decoder. And a control unit for controlling each of them to be provided to an arithmetic processor.
삭제delete 제1항에 있어서,
상기 복수의 연산 프로세서에 이용될 참조 영상을 저장하기 위한 프레임 메모리부를 더 포함하고,
상기 복수의 연산 프로세서의 각각은 예측 정보를 이용하여 상기 프레임 메모리부로부터 해당 영역의 참조 화소 위치를 선정하는 참조 화소 선정부와, 상기 참조 화소 선정부로부터 선정된 참조 화소 위치로부터 정수 단위의 참조 화소값을 읽어오는 인터페이스부를 더 구비하는 것을 특징으로 하는 영상 복호화 장치.
The method of claim 1,
And a frame memory unit for storing reference images to be used in the plurality of arithmetic processors.
Each of the plurality of arithmetic processors includes a reference pixel selecting unit that selects a reference pixel position of a corresponding region from the frame memory unit using prediction information, and a reference pixel in an integer unit from the reference pixel position selected by the reference pixel selecting unit. And an interface unit for reading a value.
제3항에 있어서,
상기 가산부의 재현 영상을 입력받아 디블록킹을 수행하여 디스플레이 영상을 출력하는 디블록킹 필터부를 더 포함하고,
상기 프레임 메모리부에는 상기 디블록킹 필터부에서 출력된 디스플레이 영상이 참조 영상으로 저장되는 것을 특징으로 하는 영상 복호화 장치.
The method of claim 3,
And a deblocking filter unit configured to receive a reproduction image of the adder and perform deblocking to output a display image.
And a display image output from the deblocking filter unit as a reference image in the frame memory unit.
제3항에 있어서,
상기 움직임 보상부는 상기 인터페이스부로부터 입력된 정수 단위의 참조 화소값을 이용하여 소수 단위의 예측 영상을 생성하는 보간 필터 모듈을 더 포함하는 것을 특징으로 하는 영상 복호화 장치.
The method of claim 3,
And the motion compensator further comprises an interpolation filter module generating a predicted image in a decimal unit by using a reference pixel value of an integer unit input from the interface unit.
제5항에 있어서,
상기 보간 필터 모듈은 1/2 화소를 보간하기 위한 4개의 계수를 가진 4탭 보간 필터 및 1/4 화소를 보간하기 위한 6개의 계수를 가진 6탭 보간 필터를 구비하여 입력되는 규격에 따라 적응적으로 대응하는 것을 특징으로 하는 영상 복호화 장치.
The method of claim 5,
The interpolation filter module includes a four-tap interpolation filter with four coefficients for interpolating 1/2 pixel and a six-tap interpolation filter with six coefficients for interpolating 1/4 pixel and is adaptive according to an input standard. And an image decoding apparatus according to claim 1, wherein:
제5항에 있어서,
상기 보간 필터 모듈은 4개의 계수를 가진 4탭 보간 필터를 포함하고,
상기 4탭 보간 필터는 1/2 화소를 보간하기 위하여 4개의 참조 화소마다 소정의 계수를 곱하여 각각 더하고 그 값에 상수를 더하여 시프트하는 것을 특징으로 하는 영상 복호화 장치.
The method of claim 5,
The interpolation filter module includes a four tap interpolation filter having four coefficients,
And the four-tap interpolation filter multiplies a predetermined coefficient for each of the four reference pixels in order to interpolate 1/2 pixels, and adds a constant to the four reference pixels.
제5항에 있어서,
상기 보간 필터 모듈은 6개의 계수를 가진 6탭 보간 필터를 구비하고,
상기 보간 필터 모듈은 상기 6탭 보간 필터에 각각 입력되는 6개의 참조 화소마다 각각 소정의 계수를 곱한 후 더하여 수평 방향의 정수 화소 및 1/2 화소를 구하고, 또한 상기 6탭 보간 필터에 각각 입력되는 수평 방향에서 구한 정수 화소 및 1/2 화소마다 소정의 계수를 곱한 후 더하여 수직 방향의 1/2 화소 또는 나머지 1/4 화소를 구하는 것을 특징으로 하는 영상 복호화 장치.
The method of claim 5,
The interpolation filter module includes a six-tap interpolation filter having six coefficients,
The interpolation filter module multiplies a predetermined coefficient for each of the six reference pixels respectively input to the six-tap interpolation filter, and then adds an integer pixel and a half pixel in the horizontal direction. And multiplying a predetermined coefficient for each integer pixel and 1/2 pixels obtained in the horizontal direction, and then adding 1/2 pixels or the remaining 1/4 pixels in the vertical direction.
압축 부호화된 비트스트림을 수신하여 엔트로피 복호화를 수행하여 예측 정보 및 차분치 정보를 복수의 연산 프로세서로 제공하는 단계와,
상기 복수의 연산 프로세서의 각각에서 입력된 차분치 정보를 이용하여 차분치 영상을 얻고, 입력된 예측 영상을 이용한 움직임 보상을 수행하여 예측 영상을 얻는 단계와,
상기 복수의 연산 프로세서의 각각에서 예측 영상과 차분치 영상을 합산하여 재현 영상을 출력하는 단계를 포함하고,
상기 예측 정보 및 차분치 정보를 복수의 연산 프로세서로 제공하는 단계는 소정의 블록들에 대한 예측 정보 및 차분치 정보가 복호화되고 상기 복수의 프로세서의 각각에서 재현 영상이 출력된 경우 블록별로 예측 정보 및 차분치 정보를 상기 복수의 연산 프로세서로 각각 제공하는 과정을 더 구비하고,
상기 차분치 영상 및 예측 영상을 얻는 단계는 입력된 예측 정보 및 차분치 정보를 병렬로 처리하여 재현 영상을 출력하는 것을 특징으로 하는 영상 복호화 방법.
Receiving the compression-encoded bitstream and performing entropy decoding to provide prediction information and difference information to a plurality of arithmetic processors;
Obtaining a differential image by using difference information input from each of the plurality of arithmetic processors, and performing a motion compensation using the input prediction image to obtain a predicted image;
Summing the predicted image and the differential image and outputting a reproduced image in each of the plurality of arithmetic processors;
Providing the prediction information and the difference information to a plurality of arithmetic processors may include prediction information for each block when prediction information and difference information for predetermined blocks are decoded and a reproduced image is output from each of the plurality of processors. And providing the difference value information to the plurality of arithmetic processors, respectively.
The obtaining of the difference image and the prediction image may include processing the input prediction information and the difference information in parallel to output a reproduced image.
제9항에 있어서,
상기 복수의 연산 프로세서의 각각은 6개의 계수를 가진 6탭 보간 필터를 구비하고,
상기 예측 영상을 얻는 단계는, 상기 6탭 보간 필터에 각각 입력되는 6개의 참조 화소마다 각각 소정의 계수를 곱한 후 더하여 수평 방향의 정수 화소 및 1/2 화소를 구하는 과정과, 상기 6탭 보간 필터에 각각 입력되는 수평 방향에서 구한 정수 화소 및 1/2 화소마다 소정의 계수를 곱한 후 더하여 수직 방향의 정수 화소 및 1/2 화소 또는 나머지 1/4 화소를 구하는 과정을 포함하는 것을 특징으로 하는 영상 복호화 방법.
10. The method of claim 9,
Each of the plurality of arithmetic processors includes a six-tap interpolation filter having six coefficients,
The obtaining of the predicted image may include multiplying a predetermined coefficient for each of six reference pixels respectively input to the six-tap interpolation filter, and adding the multiplying coefficients to obtain integer pixels and half pixels in a horizontal direction, and the six-tap interpolation filter. And multiplying a predetermined coefficient for each of the integer pixels and the 1/2 pixels obtained in the horizontal direction, respectively, and then adding the integer pixels and the 1/2 pixels or the remaining 1/4 pixels in the vertical direction. Decryption method.
KR1020100048522A 2010-05-25 2010-05-25 Apparatus and method for decoding image having multi-operating capability KR100992599B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100048522A KR100992599B1 (en) 2010-05-25 2010-05-25 Apparatus and method for decoding image having multi-operating capability

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100048522A KR100992599B1 (en) 2010-05-25 2010-05-25 Apparatus and method for decoding image having multi-operating capability

Publications (1)

Publication Number Publication Date
KR100992599B1 true KR100992599B1 (en) 2010-11-05

Family

ID=43409425

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100048522A KR100992599B1 (en) 2010-05-25 2010-05-25 Apparatus and method for decoding image having multi-operating capability

Country Status (1)

Country Link
KR (1) KR100992599B1 (en)

Similar Documents

Publication Publication Date Title
US11889107B2 (en) Image encoding method and image decoding method
CN108028931B (en) Method and apparatus for adaptive inter-frame prediction for video coding and decoding
KR101354741B1 (en) Resampling and picture resizing operations for multi-resolution video coding and decoding
US10390034B2 (en) Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
DK3282705T3 (en) PROCEDURE FOR DECODING AND APPARATUS FOR ENCODING A PICTURE THROUGH INTRAPHIC PREDICTION.
AU2020294315B2 (en) Method and apparatus for motion compensation prediction
JP2018129851A (en) Simplified intra prediction for video coding
JP2010028221A (en) Motion vector detecting device, motion vector detecting method, image encoding device, and program
WO2020251470A1 (en) Simplified downsampling for matrix based intra prediction
JP2010028220A (en) Motion vector detecting device, motion vector detecting method, image encoding device, and program
KR20140062519A (en) Video coding method and device, video decoding method and device, and programs
KR20110129089A (en) Apparatus for decoding image having parallel processor
KR100992599B1 (en) Apparatus and method for decoding image having multi-operating capability
KR20090076019A (en) Interpolation filter, multi codec decoder employing the same and decoding method
WO2023133245A1 (en) Boundary based asymmetric reference line offsets
WO2023287966A1 (en) Position dependent reference sample smoothing
EP3984228A1 (en) Sample value clipping on mip reduced prediction
KR102038818B1 (en) Intra prediction method and apparatus using the method
KR20140038322A (en) Device and method for inter-layer filtering of multi-layer video

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20130830

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141007

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151103

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161012

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20171010

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180920

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191031

Year of fee payment: 10