KR101031493B1 - Interpolation architecture of motion compensation unit in decoders based on H.264 video coding standard - Google Patents

Interpolation architecture of motion compensation unit in decoders based on H.264 video coding standard Download PDF

Info

Publication number
KR101031493B1
KR101031493B1 KR1020090021682A KR20090021682A KR101031493B1 KR 101031493 B1 KR101031493 B1 KR 101031493B1 KR 1020090021682 A KR1020090021682 A KR 1020090021682A KR 20090021682 A KR20090021682 A KR 20090021682A KR 101031493 B1 KR101031493 B1 KR 101031493B1
Authority
KR
South Korea
Prior art keywords
data
interpolation
luminance
motion
shift register
Prior art date
Application number
KR1020090021682A
Other languages
Korean (ko)
Other versions
KR20090102646A (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 숭실대학교산학협력단
Publication of KR20090102646A publication Critical patent/KR20090102646A/en
Application granted granted Critical
Publication of KR101031493B1 publication Critical patent/KR101031493B1/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/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/117Filters, e.g. for pre-processing or post-processing
    • 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

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

Abstract

본 발명은 H.264 표준에 근거한 디코더용 움직임 보상기 및 그 보간 연산 방법에 관한 것으로, 입력 데이터 구분을 위한 Parser와, 파라미터 추출을 위한 Exp-Golomb과, 계수 추출을 위한 CAVLD로 구성되는 VLD; 양자화 및 계수 변환을 위한 ITQ와, 슬라이스간 움직임 보간을 위한 움직임 보상기 및 슬라이스내의 예측을 위한 IP로 구성되는 복원기 및 블록제거 필터링을 위한 DF로 구성되는 H.264 디코더 중에서, 상기 움직임 보상기는 VLD에서 전달 받은 파라미터를 이용하여 움직임 벡터를 구하는 예측기와, 상기 움직임 벡터를 구하는 부분에 연결되어 참조 메모리의 주소를 계산하고 데이터를 읽어오는 픽셀 데이터 핸들러와, 상기 픽셀 데이터 핸들러에 연결되어 보간 연산을 통해 영상 데이터를 복원하는 보간기로 구성되며, 상기 보간기 내부에는 휘도와 색차 2개의 버퍼 메모리가 구비되어, 어느 하나의 메모리에 데이터가 차면 보간 연산기가 동작하여, 예측 픽셀이 저장되는 내부 메모리로 구성된다. 따라서, 본 발명은 H.264 디코더의 움직임 보상기 구조에서 참조 메모리 접근 횟수를 줄이고, 보간 연산 사이클 수를 줄여 움직임 보상기와 디코더의 성능을 개선시키고, 전력 소모가 많은 외부의 참조 메모리 접근 횟수가 적어진 결과로 전력 소모도 감소시키는 효과가 있다.The present invention relates to a motion compensator for a decoder based on the H.264 standard and an interpolation calculation method thereof, comprising: a VLD including a parser for classifying input data, an Exp-Golomb for parameter extraction, and a CAVLD for coefficient extraction; Among the H.264 decoders comprising an ITQ for quantization and coefficient transformation, a motion compensator for inter-slice motion interpolation and an IP for prediction within a slice, and a DF for block elimination filtering, the motion compensator is a VLD. A predictor for obtaining a motion vector using a parameter received from a; a pixel data handler connected to a part of obtaining the motion vector, calculating an address of a reference memory and reading data; and an interpolation operation connected to the pixel data handler. It consists of an interpolator for reconstructing the image data, the interpolator is provided with a buffer memory of two luminance and chrominance, the interpolation operation is operated when the data is filled in any one memory, the internal memory to store the prediction pixel . Accordingly, the present invention reduces the number of reference memory accesses in the motion compensator structure of the H.264 decoder, improves the performance of the motion compensator and decoder by reducing the number of interpolation operation cycles, and reduces the number of external reference memory accesses that consume a lot of power. As a result, power consumption is also reduced.

H.264 디코더, 움직임 보상, 보간 연산, 참조 메모리  H.264 decoder, motion compensation, interpolation operation, reference memory

Description

에이치 닷 264 표준에 근거한 디코더용 움직임 보상기 및 그 보간 연산 방법{Interpolation architecture of motion compensation unit in decoders based on H.264 video coding standard}Interpolation architecture of motion compensation unit in decoders based on H.264 video coding standard}

본 발명은 H.264 표준에 근거한 디코더용 움직임 보상기 및 그 보간 연산 방법에 관한 것으로, 더욱 세부적으로는 국제 영상 압축 표준 규격인 ITU-T의 H.264에 근거하여 반도체로 구현되는 하드웨어를 설계하는 것이며, 그 중에서도 영상 압축 표준에 따라 압축된 영상을 재생하는 디코더를 설계하는 디지털 시스템 설계 분야의 H.264 표준에 근거한 디코더용 움직임 보상기의 보간 연산기 구조에 관한 것이다.The present invention relates to a motion compensator for a decoder based on the H.264 standard and an interpolation calculation method thereof. More particularly, the present invention relates to a hardware implementation of a semiconductor based on H.264 of ITU-T, an international video compression standard. In particular, the present invention relates to an interpolation calculator structure of a motion compensator for a decoder based on the H.264 standard in the field of digital system design for designing a decoder for reproducing a compressed image according to an image compression standard.

영상 압축 표준 중에서 ITU-T와 ISO/IEC가 공동으로 개발한 H.264(또는 MPEG-4 part-10/AVC)는 높은 압축률과 고화질로 차세대 영상 압축 기술로 각광을 받고 있어, 현재 DMB, DVB-H, DTV, Blue ray, HD-DVD 등에서 표준 동영상 압축 코덱으로 채택된 상태이고, 앞으로 더욱 활용 범위를 넓혀 갈 것으로 예상된다.Among the video compression standards, H.264 (or MPEG-4 part-10 / AVC) jointly developed 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 a standard video compression codec in H, DTV, Blue ray, and HD-DVD, and is expected to be further expanded in the future.

상기 H.264는 도 1과 같이 입력 데이터 구분을 위한 Parser(111)와, 파라미터 추출을 위한 Exp-Golomb(112)과, 계수 추출을 위한 CAVLD(113)로 구성되는 VLD(Variable Length Decoder)(110); 양자화 및 계수 변환을 위한 ITQ(Integer Transform and Quantization)(123)와, 슬라이스간 움직임 보간을 위한 움직임 보상기(MC: Motion Compensation)(121) 및 슬라이스내의 예측을 위한 IP(Intra Prediction)(122)로 구성되는 복원기(Prediction Unit)(120); 및 블록제거 필터링을 위한 DF(Deblocking Filter)(130)로 구성된다.The H.264 is a VLD (Variable Length Decoder) consisting of a Parser 111 for classifying input data, an Exp-Golomb 112 for parameter extraction, and a CAVLD 113 for coefficient extraction. 110); Integer Transform and Quantization (ITQ) 123 for quantization and coefficient transformation, Motion Compensation (MC) 121 for inter-slice motion interpolation, and Intra Prediction (IP) 122 for prediction within slices. A prediction unit 120 configured; And a deblocking filter (DF) 130 for block removal filtering.

디코더는 높은 압축률과 고화질을 이루기 위해 복잡한 연산 알고리즘을 사용하고 있어 전용 하드웨어를 이용한 디코딩이 일반적으로 이용되며, 이 경우에도 많은 연산량으로 하드웨어는 파이프라인 구조를 가진다. 상기 파이프라인 구조는 대체로 입력 데이터 구분을 위한 Parser(111)와, 파라미터 추출을 위한 Exp-Golomb(112)이 같은 첫 단계에 위치하고, 계수 추출을 위한 CAVLD(113)의 두 번째 단계와, 양자화 및 계수 변환을 위한 ITQ(123)와, 슬라이스간 움직임 보간을 위한 움직임 보상기(MC)(121) 및 슬라이스내의 예측을 위한 IP(122)로 구성되는 복원기(ITQ-MCIP)(120)로 구성되는 세 번째 단계와, 블록제거 필터링을 위한 DF(130)의 네 번째 단계로 구성된다.Decoder uses complex algorithms to achieve high compression ratio and high picture quality. Decoding using dedicated hardware is generally used, and even in this case, hardware has a pipelined structure. The pipeline structure generally includes a Parser 111 for input data classification, an Exp-Golomb 112 for parameter extraction, and a second step of CAVLD 113 for coefficient extraction, quantization and A reconstructor (ITQ-MCIP) 120 consisting of an ITQ 123 for coefficient transformation, a motion compensator (MC) 121 for inter-slice motion interpolation, and an IP 122 for prediction within a slice. A third step and a fourth step of the DF 130 for block elimination filtering.

이중에서 상기 움직임 보상기(MC)(121)는 대부분의 경우에 가장 많은 연산 사이클을 필요로 하는 연산기로 전력소모와 차지하는 면적 또한 크기 때문에, 움직임 보상기를 효율적으로 설계하는 것이 전체 디코더의 성능에 영향을 미친다.In particular, since the motion compensator (MC) 121 is an operator that requires the most computation cycles in most cases, power consumption and a large area are required. Therefore, designing the motion compensator effectively affects the performance of the entire decoder. Crazy

상기 움직임 보상기(MC)(121)는 크게 움직임 벡터를 계산, 참조 메모리 접근, 그리고 보간값 계산의 세부분으로 나눌 수 있는데 참조 메모리 접근과 보간값 계산이 성능에 영향을 주며, 참조 메모리는 일반적으로 그 크기가 매우 커서 외부 의 SDRAM을 이용하는 경우가 많은데, 참조 메모리 접근을 자주 그리고 많이 할수록 전력 소모와 연산 사이클이 증가한다.The motion compensator (MC) 121 can largely divide motion vectors into subdivisions of calculation, reference memory access, and interpolation value calculation. Reference memory access and interpolation value calculation affect performance. Its size is very large and often uses external SDRAM. The more and more reference memory accesses, the more power consumption and computational cycles.

한편, 보간값 계산은 동작 모드에 따라 복잡도가 달라지는데 가장 많은 연산 사이클을 요구하므로 연산기 수를 최대한 억제하면서 이를 줄이기 위한 방법이 요구되며, 또한 참조 메모리 접근 방식과도 밀접한 관계를 갖고 있어 연산기가 참조 메모리의 데이터를 기다리지 않도록 해야 효과적인 연산이 가능해진다.On the other hand, the calculation of interpolation values varies in complexity depending on the operation mode, which requires the most computation cycles. Therefore, a method for reducing the number of operators as much as possible and reducing them is required, and also has a close relationship with the reference memory approach. Do not wait for the data to be effective.

참조 메모리의 접근을 억제하기 위해서는 한번 가져온 데이터를 최대한 재사용하여야 하는데, 이를 위해 내부에 커다란 버퍼나 캐시 메모리를 이용하는 방법이 사용되었다. 커다란 버퍼를 이용하면 한 번에 많은 데이터를 가져올 수 있으므로, 데이터의 재사용 가능은 높아지나 재사용이 안 될 경우 버퍼를 채우기 위한 메모리 접근이 성능을 저하시킬 수 있고, 버퍼 자체에 의한 면적이 증가하는 문제가 있고, 캐시 메모리를 이용하면 적은 메모리 크기로 데이터 재활용 가능성을 높일 수 있으나 제어가 복잡해지는 문제가 있다.In order to suppress access to the reference memory, once retrieved data should be reused as much as possible. To this end, a large buffer or cache memory is used. Using a large buffer can bring a lot of data at once, which increases the reusability of the data, but if it cannot be reused, memory access to fill the buffer can degrade performance and the area of the buffer itself increases. In addition, the use of cache memory can increase the possibility of data recycling with a small memory size, but there is a problem of complicated control.

상술한 바와 같은 문제점을 해결하기 위하여, 본 발명에서는 움직임 보상기에서 보간 연산 사이클 수를 줄이기 위해 주요 연산기인 FIR(Finite Impulse Response) 필터를 2 x 2 구조의 파이프라인 방식으로 배치하고, 이 필터에 데이터를 공급하기 위한 참조 픽셀 데이터를 저장하는 2차원 쉬프트 레지스터 파일 구조를 이용하여 수직 및 수평 방향 데이터를 효율적으로 공급하고, 또한 2차원 쉬프트 레지스터 파일의 크기를 증가시키면 참조 메모리의 데이터를 재활용할 가능성을 높일 수 있어 참조 메모리 접근 횟수를 감소시킬 수 있으며, 이러한 구조를 통해 H.264 디코더에서 가장 연산량이 많은 움직임 보상기의 연산 사이클과 참조 메모리 접근 횟수를 줄이고 전력 소모도 감소시키는 H.264 표준에 근거한 디코더용 움직임 보상기 및 그 보간 연산 방법을 제공하는데 목적이 있다.In order to solve the above problems, in the present invention, in order to reduce the number of interpolation operation cycles in the motion compensator, a finite impulse response (FIR) filter, which is a main operator, is arranged in a pipelined structure of a 2 × 2 structure, and data is stored in the filter. Using the two-dimensional shift register file structure to store the reference pixel data for supplying the data efficiently, and increasing the size of the two-dimensional shift register file increases the possibility of reusing the data in the reference memory. It is possible to increase the number of reference memory accesses, which can reduce the number of operation cycles and reference memory accesses and the power consumption of the motion-compensated motion compensator in the H.264 decoder. Motion compensator and its interpolation method To have a purpose.

목적을 달성하기 위한 구성으로는 입력 데이터 구분을 위한 Parser와, 파라미터 추출을 위한 Exp-Golomb과, 계수 추출을 위한 CAVLD로 구성되는 VLD(Variable Length Decoder); 양자화 및 계수 변환을 위한 ITQ(Integer Transform and Quantization)와, 슬라이스간 움직임 보간을 위한 움직임 보상기(MC: Motion Compensation) 및 슬라이스내의 예측을 위한 IP(Intra Prediction)로 구성되는 복원기(Prediction Unit); 및 블록제거 필터링을 위한 DF(Deblocking Filter)로 구성되는 H.264 디코더 중에서, 상기 움직임 보상기(MC)는 VLD에서 전달 받은 파라미터를 이용하여 움직임 벡터를 구하는 예측기와, 상기 움직임 벡터를 구하는 부분에 연결되어 참조 메모리의 주소를 계산하고 데이터를 읽어오는 픽셀 데이터 핸들러와, 상기 픽셀 데이터 핸들러에 연결되어 보간 연산을 통해 영상 데이터를 복원하는 보간기로 구성되며, 상기 보간기 내부에는 휘도와 색차 2개의 버퍼 메모리가 구비되어, 어느 하나의 메모리에 데이터가 차면 보간 연산기가 동작하여, 예측 픽셀이 저장되는 내부 메모리로 구성된다.A configuration for achieving the object includes a variable length decoder (VLD) including a parser for classifying input data, an Exp-Golomb for parameter extraction, and a CAVLD for coefficient extraction; A prediction unit including an Integer Transform and Quantization (ITQ) for quantization and coefficient transformation, a Motion Compensation (MC) for inter-slice motion interpolation, and an Intra Prediction (IP) for prediction in a slice; And a motion compensator (MC) configured of a deblocking filter (DF) for block elimination filtering, wherein the motion compensator (MC) is connected to a predictor for obtaining a motion vector using a parameter received from a VLD, and a part for obtaining the motion vector. And an interpolator for calculating an address of a reference memory and reading data, and an interpolator connected to the pixel data handler to restore image data through an interpolation operation. When the data is filled in any one memory, an interpolation operator operates to configure the internal memory in which the prediction pixel is stored.

본 발명의 다른 특징으로서, 상기 보간 연산기의 휘도 데이터 보간 연산과 색차 데이터 보간 연산을 위한 2차원 쉬프트 레지스터 파일이 구비되되, 상기 휘도 데이터 보간 연산은 2차원 쉬프트 레지스터 파일에 한 쌍의 필터 연산기(PE-L1, PE-L2), 레지스터 및 클립의 4단 파이프라인으로 구성되어, 최종 하나의 레지스터로 출력되며, 상기 색차 데이터 보간 연산은 2차원 쉬프트 레지스터 파일에 한 쌍의 필터 연산기(PE-C1, PE-C2), 레지스터 및 클립의 4단 파이프라인 구성되어, 최종 하나의 레지스터로 출력되어, 하나의 사이클에 두 개의 픽셀 데이터를 처리하는 구성이다.As another feature of the present invention, a two-dimensional shift register file for luminance data interpolation operation and chrominance data interpolation operation of the interpolation operator is provided, and the luminance data interpolation operation includes a pair of filter operators (PE) in the two-dimensional shift register file. -L1, PE-L2), consisting of a four-stage pipeline of registers and clips, and output to the final one register, the chrominance data interpolation operation is a pair of filter operators (PE-C1, PE-C2) consists of a four-stage pipeline of registers and clips, which are output to one final register and process two pixel data in one cycle.

본 발명의 또 다른 특징으로서, 상기 휘도 데이터 연산을 위한 2차원 쉬프트 레지스터 파일은 13 x 9와 9 x 9 바이트 크기로 구성되며, 수평방향으로는 9바이트의 행 데이터 로테이션이 가능하고, 수직방향으로는 13바이트 또는 9바이트의 열 데이터 로테이션이 가능하며, 1, 6, 9행에서 외부 입력이 이루어지고, 상기 수평 및 수직방향으로는 각각 필터 연산기에 데이터를 공급하기 위한 출력 쉬프트 레지스터가 구비되고, 상기 색차 데이터를 위한 2차원 쉬프트 레지스터 파일은 5 x 3 바이트 크기로 두 개가 구비되며, 수평방향으로는 3바이트의 행 데이터 로테이션이 가능하고, 수직방향으로는 5바이트의 열 데이터 로테이션이 가능하며, 3행에서 외부 입력이 이루어지고, 상기 수평 및 수직방향으로는 각각 필터 연산기에 데이터를 공급하기 위한 출력 쉬프트 레지스터가 구비된다.As another feature of the present invention, the two-dimensional shift register file for luminance data calculation is composed of 13 x 9 and 9 x 9 bytes in size, and the row data rotation of 9 bytes is possible in the horizontal direction, and in the vertical direction. Is capable of rotating a 13-byte or 9-byte column data, an external input is made in rows 1, 6, and 9, and an output shift register is provided for supplying data to a filter operator in the horizontal and vertical directions, respectively. The two-dimensional shift register file for the chrominance data is provided in the size of 5 x 3 bytes, two-byte row data rotation in the horizontal direction, 5 bytes of column data rotation in the vertical direction, An external input is made in three rows, and an output shift for supplying data to a filter operator in the horizontal and vertical directions, respectively. A register is provided.

본 발명의 또 다른 특징으로서, 상기 2차원 쉬프트 레지스터 파일의 출력 데이터는 필터 연산기(PE-L1, PE-L2)로 입력되며, 상기 필터 연산기(PE-L1 및 PE-L2)는 덧셈기와 뺄셈기 및 쉬프터로 구성되고, 상기 2차원 쉬프트 레지스터 파일의 출력 데이터는 필터 연산기(PE-C1, PE-C2)로 입력되며, 상기 필터 연산기(PE-C1 및 PE-C2)는 덧셈기와 쉬프터로 구성된다.As another feature of the present invention, the output data of the two-dimensional shift register file is input to filter operators PE-L1 and PE-L2, and the filter operators PE-L1 and PE-L2 are an adder and a subtractor. And a shifter, the output data of the two-dimensional shift register file is input to filter operators PE-C1 and PE-C2, and the filter operators PE-C1 and PE-C2 are configured as an adder and a shifter. .

본 발명의 또 다른 특징으로서, 휘도 영상 데이터와 색차 영상 데이터를 참조 메모리에서 불러와 움직임 벡터가 같은 두 개의 4 x 4 휘도 서브 블록과 2 x 2 색차 서브 블록에 대한 움직임 보상 연산을 수행하고, 4 x 8 휘도 서브 블록에 대해서 추가로 4 x 9 바이트 데이터만 읽어와 움직임 보상 연산을 수행하여 참조 메모리의 영상 데이터를 재활용한다.In still another aspect of the present invention, a motion compensation operation is performed on two 4 × 4 luminance subblocks and 2 × 2 chrominance subblocks having the same motion vector by retrieving luminance image data and chrominance image data from a reference memory. Only 4 x 9 byte data is read for the x 8 luminance subblock, and motion compensation is performed to recycle image data of the reference memory.

상기한 바와 같이, 본 발명은 H.264 디코더의 움직임 보상기 구조에서 참조 메모리 접근 횟수를 줄이고, 보간 연산 사이클 수를 줄여 움직임 보상기와 디코더의 성능을 개선시키고, 전력 소모가 많은 외부의 참조 메모리 접근 횟수가 적어진 결과로 전력 소모도 감소시키는 효과가 있다.As described above, the present invention improves the performance of the motion compensator and the decoder by reducing the number of reference memory accesses in the motion compensator structure of the H.264 decoder, and reduces the number of interpolation operation cycles, and increases the number of external reference memory accesses with high power consumption. As a result, the power consumption is reduced.

도 2는 본 발명에 따른 H.264 디코더의 움직임 보상기 내부 구조도이고, 도 3은 본 발명에 따른 H.264 디코더의 휘도 보간기의 동작을 나타내는 구조도이고, 도 4는 본 발명에 따른 휘도 데이터에 대한 2차원 쉬프트 레지스터 파일의 동작을 설명하는 구조도이고, 도 5는 본 발명에 따른 휘도 필터 연산기 PE-L1의 동작을 설명하는 구조도이고, 도 6은 본 발명에 따른 휘도 필터 연산기 PE-L2의 동작을 설명하는 구조도이고, 도 7은 본 발명에 따른 H.264 디코더의 색차 보간기의 동작을 나타내는 구조도이고, 도 8은 본 발명에 따른 색차 데이터에 대한 2차원 쉬프트 레지스터 파일의 동작을 설명하는 구조도이고, 도 9는 본 발명에 따른 색차 필터 연산기 PE-C1의 동작을 설명하는 구조도이고, 도 10은 본 발명에 따른 색차 필터 연산기 PE-C2의 동작을 설명하는 구조도이다.2 is a diagram illustrating an internal structure of a motion compensator of an H.264 decoder according to the present invention, and FIG. 3 is a diagram illustrating an operation of a luminance interpolator of an H.264 decoder according to the present invention. 5 is a structural diagram illustrating an operation of the luminance filter operator PE-L1 according to the present invention, and FIG. 6 is an operation of the luminance filter operator PE-L2 according to the present invention. 7 is a structural diagram illustrating an operation of a color difference interpolator of an H.264 decoder according to the present invention, and FIG. 8 is a structural diagram illustrating an operation of a two-dimensional shift register file for color difference data according to the present invention. 9 is a structural diagram illustrating an operation of the color difference filter calculator PE-C1 according to the present invention, and FIG. 10 is a structural diagram illustrating an operation of the color difference filter calculator PE-C2 according to the present invention.

이하, 도면을 참고로 구성요소를 설명하면 다음과 같다.Hereinafter, the components will be described with reference to the drawings.

도 2는 본 발명의 H.264 디코더의 움직임 보상기 내부 구조도로서, 입력 데이터 구분을 위한 Parser(111)와, 파라미터 추출을 위한 Exp-Golomb(112)과, 계수 추출을 위한 CAVLD(113)로 구성되는 VLD(Variable Length Decoder)(110); 양자화 및 계수 변환을 위한 ITQ(Integer Transform and Quantization)(123)와, 슬라이스간 움직임 보간을 위한 움직임 보상기(MC: Motion Compensation)(121) 및 슬라이스내의 예측을 위한 IP(Intra Prediction)(122)로 구성되는 복원기(Prediction Unit)(120); 및 블록제거 필터링을 위한 DF(Deblocking Filter)(130)의 블록으로 구성되는 도 1의 일반적인 H.264 디코더의 연산기 구조 중에서 상기 움직임 보상기(MC)(121)를 세부적으로 나타내고 있다.2 is an internal structure diagram of a motion compensator of the H.264 decoder according to the present invention, and includes a parser 111 for classifying input data, an Exp-Golomb 112 for parameter extraction, and a CAVLD 113 for coefficient extraction. A Variable Length Decoder (VLD) 110; Integer Transform and Quantization (ITQ) 123 for quantization and coefficient transformation, Motion Compensation (MC) 121 for inter-slice motion interpolation, and Intra Prediction (IP) 122 for prediction within slices. A prediction unit 120 configured; And the motion compensator (MC) 121 in detail in the operator structure of the general H.264 decoder of FIG. 1, which is composed of blocks of a deblocking filter (DF) 130 for block elimination filtering.

상기 움직임 보상기(MC)(121)는 VLD에서 전달 받은 파라미터를 이용하여 움직임 벡터를 구하는 예측기(100)와, 상기 움직임 벡터를 구하는 예측기(100)에 연결되어 참조 메모리(600)의 주소를 계산하고 데이터를 읽어오는 픽셀 데이터 핸들러(200)와, 상기 픽셀 데이터 핸들러(200)에 연결되어 보간 연산을 통해 영상 데이터를 복원하는 보간기(300)로 구성되며, 상기 보간기(300) 내부에는 휘도와 색차 2개의 버퍼 메모리(400)가 구비되어, 어느 하나의 메모리에 데이터가 차면 보간 연산기(500)가 동작하고, 휘도와 색차의 보간기는 동시에 동작되어, 예측 픽셀이 저장되는 내부 메모리(700)로 구성된다.The motion compensator (MC) 121 is connected to a predictor 100 for obtaining a motion vector using a parameter received from a VLD and a predictor 100 for obtaining the motion vector, and calculates an address of the reference memory 600. A pixel data handler 200 for reading data and an interpolator 300 connected to the pixel data handler 200 for restoring image data through interpolation operations. Two buffer memories 400 are provided, and when data is filled in one of the memories, the interpolation operator 500 operates, and the interpolators of luminance and chrominance operate simultaneously, and the internal memory 700 stores prediction pixels. It is composed.

상기 보간 연산기(500)의 휘도 데이터 보간 연산과 색차 데이터 보간 연산을 위한 2차원 쉬프트 레지스터 파일(510,510a)이 구비되는데, 상기 휘도 데이터 보간 연산을 위한 휘도 보간기의 구조는 도 3과 같이, 2차원 쉬프트 레지스터 파일(510)에 한 쌍의 필터 연산기(PE-L1)(520)와 필터 연산기(PE-L2)(530), 레지스터(540) 및 클립(550)의 4단 파이프라인으로 구성되어, 최종 하나의 레지스터(560)로 출력된다.Two-dimensional shift register files 510 and 510a are provided for the luminance data interpolation operation and the chrominance data interpolation operation of the interpolation operator 500. The structure of the luminance interpolator for the luminance data interpolation operation is shown in FIG. The dimensional shift register file 510 includes a pair of filter operators (PE-L1) 520, a filter operator (PE-L2) 530, a four-stage pipeline of a register 540, and a clip 550. , And is output to the last one register 560.

또한, 상기 색차 데이터 보간 연산은 도 7과 같이, 2차원 쉬프트 레지스터 파일(510a)에 한 쌍의 필터 연산기(PE-C1)(520a)와 필터 연산기(PE-C2)(530a), 레지스터(540a) 및 클립(550a)의 4단 파이프라인으로 구성되어, 최종 하나의 레지스터(560a)로 출력되어, 하나의 사이클에 상기 휘도 데이터 보간 연산과 색차 데이터 보간 연산의 두 개의 픽셀 데이터를 처리하는 구성이다.In addition, the color difference data interpolation operation is performed by performing a pair of filter operators (PE-C1) 520a, filter operators (PE-C2) 530a, and a register 540a in the two-dimensional shift register file 510a. And a four-stage pipeline of the clip 550a, which are output to a single register 560a to process two pixel data of the luminance data interpolation operation and the chrominance data interpolation operation in one cycle. .

상기 휘도 데이터 보간을 위한 2차원 쉬프트 레지스터 파일(510)은 도 4와 같이, 13 x 9 또는 9 x 9 바이트 크기 중 어느 하나로 구성되며, 수평방향(511)으로는 9바이트의 행 데이터 로테이션이 가능하고, 수직방향(512)으로는 13바이트 또는 9바이트의 열 데이터 로테이션이 가능하며, 1, 6, 9행에서 외부 입력이 이루어지고, 상기 수평 및 수직방향(511,512)으로는 각각 필터 연산기에 데이터를 공급하기 위한 출력 쉬프트 레지스터(513,514)가 구비된다.The two-dimensional shift register file 510 for interpolating the luminance data is configured as one of 13 x 9 or 9 x 9 bytes in size as shown in FIG. 4, and the row data can be rotated by 9 bytes in the horizontal direction 511. In the vertical direction 512, 13-byte or 9-byte column data rotation is possible, and external inputs are made in rows 1, 6, and 9, and data is provided to the filter operator in the horizontal and vertical directions 511 and 512, respectively. Output shift registers 513 and 514 are provided to supply.

상기 수평방향(511) 레지스터에는 9행의 13 또는 9바이트의 데이터가 연결되고, 수직방향(512) 레지스터에는 13 또는 9열의 9바이트 데이터가 쉬프터를 통해 연결되어 수평 레지스터에 입력되는 데이터의 순서를 임의로 바꿀 수 있으며, 어느 경우이건 데이터를 받은 출력 쉬프트 레지스터(513,514)는 필터 연산기에 6바이트의 데이터를 4번에 걸쳐 입력하여 4개의 1/2-pel 값을 계산하도록 하고, 수직과 수평 방향 연산기는 1사이클의 잠복기 차이로 동시에 동작하여 한 사이클에 2개의 결과값을 내보낸다.9 rows of 13 or 9 bytes of data are connected to the horizontal direction 511 register, and 13 bytes or 9 bytes of data of 13 or 9 columns are connected to the vertical direction 512 register through a shifter. In any case, the output shift registers 513 and 514, which receive the data, input six bytes of data four times into the filter operator to calculate four 1 / 2-pel values. Operates simultaneously with a latency difference of one cycle, producing two results in one cycle.

상기 2차원 쉬프트 레지스터 파일(510)의 출력 데이터는 도 3과 도 5 및 도 6과 같이, 필터 연산기(PE-L1)(520)와 필터 연산기(PE-L2)(530)로 입력되며, 상기 필터 연산기(PE-L1 및 PE-L2)(520,530)는 덧셈기와 뺄셈기 및 쉬프터로 구성된다.Output data of the 2D shift register file 510 is input to a filter operator (PE-L1) 520 and a filter operator (PE-L2) 530, as shown in FIGS. 3, 5, and 6. The filter operators PE-L1 and PE-L2 520 and 530 include an adder, a subtractor and a shifter.

6 탭 FIR 필터 기능과 반올림 보정 기능을 포함하는 필터 연산기는 상기 도 5의 PE-L1과 도 6의 PE-L2의 두 가지가 있는데, 출력값인 out_filter와 h1값을 생성시키는 방법에 차이가 있으며, 여기서, A~F는 1/2-pel 값을 계산하기 위한 정수 위치의 휘도 픽셀 데이터이고, 두 가지 모두 곱셈기 없이 필터 연산을 하도록 구성되며, 반올림에 의한 오차를 최소화하기 위해 덧셈기와 뺄셈기의 크기와 위치를 조 절하고, 클립 연산기는 1/4-pel 값을 계산하기 위해 구비된다.There are two filter operators including a 6-tap FIR filter function and a rounding correction function, PE-L1 of FIG. 5 and PE-L2 of FIG. 6, and there are differences in a method of generating an output value of out_filter and h1 value. Here, A to F are luminance pixel data of integer positions for calculating the 1 / 2-pel value, and both are configured to perform a filter operation without a multiplier, and the size of the adder and the subtractor to minimize the error due to rounding. Adjust the and position, and clip operator is provided to calculate the 1 / 4-pel value.

상기 도 7의 색차 데이터 보간을 위한 2차원 쉬프트 레지스터 파일(510a)은 도 8과 같이, 5 x 3 바이트 크기로 두 개가 구비되며, 수평방향(511a)으로는 3바이트의 행 데이터 로테이션이 가능하고, 수직방향(512a)으로는 5바이트의 열 데이터 로테이션이 가능하며, 3행에서 외부 입력이 이루어지고, 상기 수평 및 수직방향(511a,512a)으로는 각각 필터 연산기에 데이터를 공급하기 위한 출력 쉬프트 레지스터(513a,514a)가 구비된다.As shown in FIG. 8, two two-dimensional shift register files 510a for chrominance data interpolation of FIG. 7 are provided with a size of 5 x 3 bytes, and 3 bytes of row data can be rotated in the horizontal direction 511a. 5 bytes of column data rotation is possible in the vertical direction 512a, and an external input is made in three rows, and an output shift for supplying data to the filter calculator in the horizontal and vertical directions 511a and 512a, respectively. Registers 513a and 514a are provided.

상기 2차원 쉬프트 레지스터 파일(510a)의 출력 데이터는 도 7과 도 9 및 도 10과 같이, 필터 연산기(PE-C1)(520a)와 필터 연산기(PE-C2)(530a)로 입력되며, 상기 필터 연산기(PE-C1 및 PE-C2)(520a,530a)는 덧셈기와 쉬프터로 구성되고, 상기 필터 연산기(PE-C1 및 PE-C2)(520a,530a)는 반올림 오차 정정 기능의 유무에 따른 차이만 있으며, 입력의 A~D는 정수 위치의 색차 픽셀 데이터이다.Output data of the 2D shift register file 510a is input to a filter operator (PE-C1) 520a and a filter operator (PE-C2) 530a as shown in FIGS. 7, 9, and 10. The filter calculators PE-C1 and PE-C2 520a and 530a may include an adder and a shifter, and the filter calculators PE-C1 and PE-C2 520a and 530a may have a rounding error correction function. There is only a difference, and the inputs A to D are color difference pixel data at integer positions.

상기 색차 데이터 보간을 위한 색차 보간기는 상기 도 3의 휘도 보간기와 비슷한 구조를 가지고 있으나, 연산 방식의 차이에 따라 구조와 동작에 다소 차이가 존재하며, 휘도는 2차원 쉬프트 레지스터 파일(510)에서 PE-L1과 PE-L2, 그리고 클립(550) 연산기를 거치면 한 개의 예측 픽셀이 계산되지만, 색차 보간기는 2차원 쉬프트 레지스터 파일(510a)에서 클립(550a) 연산기로 수행되는 경로를 두 번 통과해야 한 개의 예측 픽셀이 계산된다.The chrominance interpolator for the chrominance data interpolation has a structure similar to that of the luminance interpolator of FIG. 3, but there are some differences in the structure and operation according to the difference of the calculation methods, and the luminance is PE in the 2D shift register file 510. One prediction pixel is computed through -L1, PE-L2, and the clip 550 operator, but the chrominance interpolator must pass twice the path performed by the clip 550a operator in the two-dimensional shift register file 510a. Prediction pixels are calculated.

본 발명의 움직임 보상기는 휘도를 기준으로 4 x 4 서브 블록의 영상을 복원하기 위한 구조이고, 4 x 4 서브 블록의 영상을 복원하기 위해서는 9 x 9 바이트의 참조 영상 데이터가 필요하다. 그럼에도 본 발명에서 휘도 보간기의 레지스터 파일 중 하나를 13 x 9 바이트로 설계한 것은 참조 영상 데이터의 재활용을 통해 참조 메모리 접근을 억제하고 연산 사이클 수를 줄이기 위한 것이다.The motion compensator of the present invention has a structure for reconstructing an image of a 4 × 4 subblock based on luminance and requires 9 × 9 bytes of reference image data to reconstruct an image of a 4 × 4 subblock. Nevertheless, in the present invention, one of the register files of the luminance interpolator is 13 x 9 bytes to suppress reference memory access and reduce the number of operation cycles through the reuse of reference image data.

첫 번째 4 x 4 서브 블록의 처리 후 두 번째(오른쪽) 4 x 4 서브 블록의 움직임 벡터가 첫 번째와 같은 경우에는 13 x 9 바이트 크기의 참조 영상 데이터를 가져 오면 두 개의 4 x 4 서브 블록에 대한 움직임 보상 연산을 처리할 수 있다. 그리고, 첫 번째 4 x 4 서브 블록의 아래쪽 서브 블록을 처리할 때도 움직임 벡터가 같은 경우에는 4 x 9 바이트의 참조 데이터만 불러오고 나머지는 기존의 데이터를 재활용한다. 13 x 9 바이트의 참조 데이터로 처리가 불가능할 경우에만 9 x 9 바이트의 레지스터 파일에 미리 가져온 참조 데이터를 이용한다. 이 경우에도 참조 데이터를 미리 가져올 수 있으므로 전체 연산 사이클 수는 변하지 않으며, 일반적으로 많이 이용되는 표준 동영상에 대해 블록 크기 분포를 분석해 본 결과, 4 x 4 서브 블록이 8 ~ 35%, 4 x 8 서브 블록이 12 ~ 15%이므로, 4 x 4 서브 블록의 수를 평균 20%, 4 x 8 서브 블록을 13% 정도로 가정하면 참조 메모리 접근 횟수를 70% 정도 감소시킬 수 있어 데이터 재활용률이 매우 높다.After processing the first 4 x 4 subblock, if the motion vector of the second (right) 4 x 4 subblock is the same as the first, importing reference image data of 13 x 9 byte size causes the two 4 x 4 subblocks to It can process the motion compensation operation for. Also, when processing the lower subblock of the first 4x4 subblock, if the motion vector is the same, only 4x9 bytes of reference data are loaded and the rest of the existing data is recycled. Only when reference data of 13 x 9 bytes cannot be processed, the reference data previously imported into the 9 x 9 byte register file is used. In this case, since the reference data can be imported in advance, the total number of calculation cycles does not change.As a result of analyzing the block size distribution for a commonly used standard video, a 4 x 4 subblock is 8 to 35% and a 4 x 8 sub Since the blocks are 12-15%, assuming that the average number of 4x4 subblocks is 20% and 4x8 subblocks are 13%, the number of reference memory accesses can be reduced by 70%, resulting in a very high data recycling rate.

따라서, 본 발명에서는 2차원 쉬프트 레지스터를 이용하여 간단한 제어 방식으로 데이터를 재활용하며, 2차원 쉬프트 레지스터는 보간 연산기와도 구조적으로 연결되어 입력 데이터를 기다리지 않고, 파이프라인 방식으로 병렬 연산을 진행하도록 하여 연산 사이클을 줄인다.Therefore, in the present invention, the data is recycled by a simple control method using the 2D shift register, and the 2D shift register is structurally connected to the interpolation operator so that parallel operation is performed in a pipelined manner without waiting for input data. Reduce computation cycles

본 발명은 특정의 실시 예와 관련하여 도시 및 설명하였지만, 첨부된 특허청 구범위에 의해 나타난 발명의 사상 및 영역으로부터 벗어나지 않는 한도 내에서 다양한 개조 및 변화가 가능하다는 것을 당업계에서 통상의 지식을 가진 자라면 누구나 쉽게 알 수 있을 것이다.While the invention has been shown and described with respect to particular embodiments, it will be apparent to those skilled in the art that various modifications and variations can be made without departing from the spirit and scope of the invention as set forth in the appended claims. Anyone can grow up easily.

도 1은 일반적인 H.264 디코더의 연산기 구조도.1 is a block diagram of an operation unit of a typical H.264 decoder.

도 2는 본 발명에 따른 H.264 디코더의 움직임 보상기 내부 구조도.2 is a diagram illustrating an internal structure of a motion compensator of an H.264 decoder according to the present invention.

도 3은 본 발명에 따른 H.264 디코더의 휘도 보간기의 동작을 나타내는 구조도.3 is a structural diagram showing an operation of a luminance interpolator of an H.264 decoder according to the present invention;

도 4는 본 발명에 따른 휘도 데이터에 대한 2차원 쉬프트 레지스터 파일의 동작을 설명하는 구조도.4 is a structural diagram illustrating an operation of a two-dimensional shift register file for luminance data according to the present invention.

도 5는 본 발명에 따른 휘도 필터 연산기 PE-L1의 동작을 설명하는 구조도.5 is a structural diagram illustrating an operation of the luminance filter operator PE-L1 according to the present invention;

도 6은 본 발명에 따른 휘도 필터 연산기 PE-L2의 동작을 설명하는 구조도.6 is a structural diagram for explaining the operation of the luminance filter operator PE-L2 according to the present invention;

도 7은 본 발명에 따른 H.264 디코더의 색차 보간기의 동작을 나타내는 구조도.7 is a structural diagram showing an operation of a chrominance interpolator of an H.264 decoder according to the present invention;

도 8은 본 발명에 따른 색차 데이터에 대한 2차원 쉬프트 레지스터 파일의 동작을 설명하는 구조도.8 is a structural diagram illustrating an operation of a two-dimensional shift register file for color difference data according to the present invention.

도 9는 본 발명에 따른 색차 필터 연산기 PE-C1의 동작을 설명하는 구조도.9 is a structural diagram illustrating an operation of a color difference filter calculator PE-C1 according to the present invention;

도 10은 본 발명에 따른 색차 필터 연산기 PE-C2의 동작을 설명하는 구조도.10 is a structural diagram illustrating an operation of a color difference filter calculator PE-C2 according to the present invention.

<도면의 주요 부분에 대한 부호 설명>Description of the Related Art [0002]

110 : VLD 111 : Parser110: VLD 111: Parser

112 : Exp-Golomb 113 : CAVLD112: Exp-Golomb 113: CAVLD

120 : 복원기(ITQ-MCIP) 121 : 움직임 보상기(MC)120: restorer (ITQ-MCIP) 121: motion compensator (MC)

122 : IP 123 : ITQ122: IP 123: ITQ

130 : DF 131 : DF 연산기130: DF 131: DF calculator

100 : 움직임 벡터를 구하는 부분 200 : 픽셀 데이터 핸들러100: part of obtaining a motion vector 200: pixel data handler

300 : 보간기 400 : 버퍼 메모리300: interpolator 400: buffer memory

500 : 보간 연산기 600 : 참조 메모리500: interpolation operator 600: reference memory

700 : 내부 메모리700: internal memory

Claims (7)

H.264 표준에 근거한 디코더용 움직임 보상기에 있어서,In a motion compensator for a decoder based on the H.264 standard, VLD(Variable Length Decoder)에서 전달받은 파라미터를 이용하여 움직임 벡터를 구하는 예측기(100);A predictor 100 for obtaining a motion vector using a parameter received from a variable length decoder (VLD); 상기 예측기(100)와 연결되고 참조 메모리(600)의 주소를 계산하고 데이터를 읽어오는 픽셀 데이터 핸들러(200);A pixel data handler (200) connected to the predictor (100) for calculating an address of the reference memory (600) and reading data; 상기 픽셀 데이터 핸들러(200)에 연결되며, 휘도 데이터와 색차 데이터를 각각 저장하는 2개의 버퍼 메모리와(400)와, 상기 버퍼 메모리(400)에 휘도 데이터 또는 색차 데이터가 입력되면 상기 입력된 휘도 데이터 또는 색차 데이터를 보간 연산하여 영상 데이터를 복원하는 보간 연산기(500)로 구성되는 보간기(300); 및Two buffer memories 400 connected to the pixel data handler 200 and storing luminance data and color difference data, and the luminance data or color difference data is inputted to the buffer memory 400. Or an interpolator 300 configured to interpolate the color difference data to restore image data; And 상기 보간기(300)와 연결되며, 상기 보간 연산기(500)에서 복원된 영상 데이터를 저장하는 내부 메모리(700)로 구성되는 것을 특징으로 하는 H.264 표준에 근거한 디코더용 움직임 보상기.A motion compensator for a decoder based on the H.264 standard, which is connected to the interpolator (300) and comprises an internal memory (700) for storing image data reconstructed by the interpolation operator (500). 제 1항에 있어서,The method of claim 1, 상기 보간 연산기(500)는 휘도 데이터 보간 연산기와 색차 데이터 보간 연산기를 포함하고, 휘도 데이터 보간 연산과 색차 데이터 보간 연산의 두 개의 픽셀 데이터를 하나의 사이클에서 처리하며,The interpolation operator 500 includes a luminance data interpolation operator and a color difference data interpolation operator, and processes two pixel data of the luminance data interpolation operation and the color difference data interpolation operation in one cycle. 각각의 보간 연산기(500)는,Each interpolation operator 500, 2차원 쉬프트 레지스터 파일(510,510a);Two-dimensional shift register files 510 and 510a; 상기 2차원 쉬프트 레지스터 파일(510,510a)과 연결되고, 제1필터 연산기(PE-L1)(520,520a)와, 제2필터 연산기(PE-L2)(530,530a)로 구성된 한 쌍의 필터 연산기;A pair of filter operators connected to the two-dimensional shift register files 510 and 510a and configured by a first filter operator PE-L1 520 and 520a and a second filter operator PE-L2 530 and 530a; 상기 한 쌍의 필터 연산기와 각각 연결되며, 레지스터(540,540a)와 클립(550,550a)으로 구성된 4단 파이프 라인; 및A four-stage pipeline connected to the pair of filter operators, each of which comprises a register 540 and 540a and a clip 550 and 550a; And 상기 4단 파이프 라인과 연결된 레지스터(560,560a)로 구성되는 것을 특징으로 하는 H.264 표준에 근거한 디코더용 움직임 보상기.A motion compensator for a decoder based on the H.264 standard, comprising a register (560,560a) connected to the four-stage pipeline. 제 2항에 있어서,3. The method of claim 2, 상기 휘도 데이터 보간 연산기의 2차원 쉬프트 레지스터 파일(510)은,The two-dimensional shift register file 510 of the luminance data interpolation operator is 13 x 9와 9 x 9 바이트 크기 또는 두 개의 9 x 9 또는 13 x 9 바이트 중 어느 하나로 구성되고, 수평방향(511)은 행 데이터 로테이션이 가능하며, 수직방향(512)은 열 데이터 로테이션이 가능하고, 1, 6, 9행에서 외부 입력이 이루어지며, 상기 수평방향(511) 또는 수직방향(512)으로 각각 출력 쉬프트 레지스터(513,514)가 구비되어, 상기 휘도 데이터 보간 연산기의 한 쌍의 필터 연산기(PE-L1,PE-L2)(520,530)로 데이터를 공급하고,It consists of either 13 x 9 and 9 x 9 bytes or two 9 x 9 or 13 x 9 bytes, with the horizontal direction 511 capable of row data rotation and the vertical direction 512 capable of column data rotation. In addition, external inputs are made in rows 1, 6, and 9, and output shift registers 513 and 514 are provided in the horizontal direction 511 or the vertical direction 512, respectively, and a pair of filter calculators of the luminance data interpolation calculator are provided. Feeds data to (PE-L1, PE-L2) (520, 530), 상기 색차 데이터 보간 연산기의 2차원 쉬프트 레지스터 파일(510a)은,The two-dimensional shift register file 510a of the color difference data interpolation operator is 5 x 3 바이트 크기로 두 개가 구비되고, 수평방향(511a)은 행 데이터 로테이션이 가능하며, 수직방향(512a)은 열 데이터 로테이션이 가능하고, 3행에서 외부 입력이 이루어지며, 상기 수평방향(511a) 또는 수직방향(512a)으로 각각 출력 쉬프트 레지스터(513a,514a)가 구비되어, 상기 색차 데이터 보간 연산기의 한 쌍의 필터 연산기(PE-C1,PE-C2)(520a,530a)로 데이터를 공급하는 것을 특징으로 하는 H.264 표준에 근거한 디코더용 움직임 보상기.It is provided with two pieces of 5 x 3 bytes, the horizontal direction 511a is capable of row data rotation, the vertical direction 512a is capable of rotation of column data, and the external input is made in three rows, and the horizontal direction ( 511a or output shift registers 513a and 514a in the vertical direction 512a, respectively. A motion compensator for a decoder based on the H.264 standard, characterized in that it is supplied. 제 2항에 있어서,3. The method of claim 2, 상기 휘도 데이터 보간 연산기의 2차원 쉬프트 레지스터 파일(510)의 출력 데이터는 상기 휘도 데이터 보간 연산기의 한 쌍의 필터 연산기(PE-L1,PE-L2)(520,530)로 입력되며, 상기 색차 데이터 보간 연산기의 2차원 쉬프트 레지스터 파일(510a)의 출력 데이터는 상기 색차 데이터 보간 연산기의 한 쌍의 필터 연산기(PE-C1,PE-C2)(520a,530a)로 입력되고,Output data of the two-dimensional shift register file 510 of the luminance data interpolation calculator is input to a pair of filter operators PE-L1 and PE-L2 520 and 530 of the luminance data interpolation calculator, and the chrominance data interpolation calculator The output data of the two-dimensional shift register file 510a is input to a pair of filter operators PE-C1 and PE-C2 520a and 530a of the color difference data interpolation operator. 상기 각각의 필터 연산기(520,520a,530,530a)는 덧셈기, 뺄셈기 및 쉬프터로 구성되는 것을 특징으로 하는 H.264 표준에 근거한 디코더용 움직임 보상기.And each filter operator (520, 520a, 530, 530a) comprises an adder, a subtractor and a shifter. 제 3항에 있어서,The method of claim 3, 상기 보간기(300)는 13 x 9 바이트 크기의 휘도 영상 데이터와 5 x 3 바이트 크기의 색차 영상 데이터를 상기 참조 메모리에서 불러와 13 x 9의 2차원 쉬프트 레지스터와 5 x 3의 2차원 쉬프트 레지스터에 저장하고, 데이터를 보간 연산기(500)에 공급하여 움직임 벡터가 같은 두 개의 4 x 4 휘도 서브 블록과 2 x 2 색차 서브 블록에 대한 움직임 보상 연산을 수행하고, 4 x 8 휘도 서브 블록에 대해서 추가로 4 x 9 바이트 데이터만 읽어와 움직임 보상 연산을 수행하여 참조 메모리의 영상 데이터를 재활용하고, 또 하나의 9 x 9의 2차원 쉬프트 레지스터와 5 x 3의 2차원 쉬프트 레지스터에는 다음 4 x 4 휘도 서브 블록과 2 x 2 색차 서브 블록의 움직임 벡터가 다를 때 필요한 픽셀 데이터를 미리 읽어와 저장하여 지연 시간을 최소화하는 것을 특징으로 하는 H.264 표준에 근거한 디코더용 움직임 보상기.The interpolator 300 loads 13 x 9 byte luminance image data and 5 x 3 byte chroma image data from the reference memory, and a 13 x 9 two-dimensional shift register and a 5 x 3 two-dimensional shift register. The data is supplied to the interpolation operator 500 to perform motion compensation operations on two 4 x 4 luminance subblocks and 2 x 2 chrominance subblocks having the same motion vector, and for the 4 x 8 luminance subblocks. In addition, only 4 x 9 byte data is read and motion compensation operations are performed to recycle the image data in the reference memory, and another 9 x 9 two-dimensional shift register and a 5 x 3 two-dimensional shift register have the following 4 x 4 Based on the H.264 standard, minimizing the delay time by reading and storing pixel data required when the motion vector of the luminance subblock and the 2 × 2 chrominance subblock is different. Motion compensator for the decoder. H.264 표준에 근거한 디코더용 움직임 보상기의 보간 연산 방법에 있어서,In the interpolation calculation method of a motion compensator for a decoder based on the H.264 standard, 예측기에서 VLD(Variable Length Decoder)에서 전달받은 파라미터를 이용하여 움직임 벡터를 구하는 제1단계;A first step of obtaining a motion vector by using a parameter received from a variable length decoder (VLD) in a predictor; 픽셀 데이터 핸들러에서 상기 움직임 벡터를 구한 값을 이용하여 참조 메모리의 주소를 계산하고 휘도 데이터 또는 색차 데이터를 읽어오는 제2단계;A second step of calculating an address of a reference memory and reading luminance data or chrominance data using a value of the motion vector obtained from a pixel data handler; 상기 픽셀 데이터 핸들러에 연결된 보간기에서 입력된 휘도 데이터 또는 색차 데이터를 보간 연산하여 영상 데이터를 복원하는 제3단계; 및Reconstructing image data by interpolating luminance data or color difference data inputted from an interpolator connected to the pixel data handler; And 상기 보간 연산에 의해 복원된 영상 데이터를 저장하는 제4단계;를 포함하되,And a fourth step of storing image data reconstructed by the interpolation operation. 상기 제3단계는 상기 입력된 휘도 데이터 또는 색차 데이터를 수평방향으로 행 데이터 로테이션을 수행하고, 수직방향으로 열 데이터 로테이션을 수행하여 상기 수평방향 및 수직방향으로 각각 상기 휘도 데이터 또는 색차 데이터를 시간지연을 최소화하여 공급하는 것을 특징으로 하는 H.264 표준에 근거한 디코더용 움직임 보상기의 보간 연산 방법.In the third step, row data rotation of the input luminance data or color difference data is performed in a horizontal direction, and column data rotation is performed in a vertical direction to time delay the luminance data or color difference data in the horizontal and vertical directions, respectively. An interpolation calculation method of a motion compensator for a decoder based on the H.264 standard, characterized in that to supply a minimum. 제 6항에 있어서,The method of claim 6, 상기 제3단계는 상기 보간기에서 13 x 9 바이트 크기의 휘도 영상 데이터와 5 x 3 바이트 크기의 색차 영상 데이터를 상기 참조 메모리부터 불러와 움직임 벡터가 같은 두 개의 4 x 4 휘도 서브 블록과 2 x 2 색차 서브 블록에 대한 움직임 보상 연산을 수행하고, 4 x 8 휘도 서브 블록에 대해서 추가로 4 x 9 바이트 데이터만 읽어와 움직임 보상 연산을 수행하여 참조 메모리의 영상 데이터를 재활용하는 것을 특징으로 하는 H.264 표준에 근거한 디코더용 움직임 보상기의 보간 연산 방법.In the third step, the interpolator retrieves 13 x 9 byte luminance image data and 5 x 3 byte chroma image data from the reference memory, and uses two 4 x 4 luminance subblocks having the same motion vector and 2 x. A motion compensation operation is performed on the two color difference subblocks, and additionally, only 4x9 byte data is read for the 4x8 luminance subblock and motion compensation operation is performed to recycle image data in the reference memory. Interpolation method of motion compensator for decoder based on .264 standard.
KR1020090021682A 2008-03-25 2009-03-13 Interpolation architecture of motion compensation unit in decoders based on H.264 video coding standard KR101031493B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080027295 2008-03-25
KR20080027295 2008-03-25

Publications (2)

Publication Number Publication Date
KR20090102646A KR20090102646A (en) 2009-09-30
KR101031493B1 true KR101031493B1 (en) 2011-04-29

Family

ID=41360053

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090021682A KR101031493B1 (en) 2008-03-25 2009-03-13 Interpolation architecture of motion compensation unit in decoders based on H.264 video coding standard

Country Status (1)

Country Link
KR (1) KR101031493B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075765B (en) * 2010-12-31 2012-12-05 北京大学深圳研究生院 Chroma interpolation circuit for video codec and realization method thereof
CN102075762B (en) * 2010-12-31 2012-12-05 北京大学深圳研究生院 Inter-frame predictor circuit for video encoder and method for implementing same
KR101323863B1 (en) 2011-11-01 2013-10-31 아주대학교산학협력단 Motion estimation method and motion estimation apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950013173A (en) * 1993-10-28 1995-05-17 이헌조 Motion Compensation Device for Digital Image Restoration
KR0129802B1 (en) * 1994-01-18 1998-04-11 배순훈 Circuit for compensation of the motion by half pel in a picture compression system
KR100995205B1 (en) 2006-02-10 2010-11-17 엔비디아 코포레이션 Processing video data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950013173A (en) * 1993-10-28 1995-05-17 이헌조 Motion Compensation Device for Digital Image Restoration
KR0129802B1 (en) * 1994-01-18 1998-04-11 배순훈 Circuit for compensation of the motion by half pel in a picture compression system
KR100995205B1 (en) 2006-02-10 2010-11-17 엔비디아 코포레이션 Processing video data

Also Published As

Publication number Publication date
KR20090102646A (en) 2009-09-30

Similar Documents

Publication Publication Date Title
US8116379B2 (en) Method and apparatus for parallel processing of in-loop deblocking filter for H.264 video compression standard
KR100995205B1 (en) Processing video data
US8369419B2 (en) Systems and methods of video compression deblocking
KR100843196B1 (en) Deblocking filter of H.264/AVC video decoder
US9060169B2 (en) Methods and apparatus for providing a scalable deblocking filtering assist function within an array processor
US8243815B2 (en) Systems and methods of video compression deblocking
US20120328000A1 (en) Video Decoding System Supporting Multiple Standards
Khurana et al. A pipelined hardware implementation of in-loop deblocking filter in H. 264/AVC
JP2006157925A (en) Pipeline deblocking filter
Lee et al. Multi-pass and frame parallel algorithms of motion estimation in H. 264/AVC for generic GPU
KR101031493B1 (en) Interpolation architecture of motion compensation unit in decoders based on H.264 video coding standard
Liu et al. A highly pipelined VLSI architecture for all modes and block sizes intra prediction in HEVC encoder
Ho et al. Motion estimation for H. 264/AVC using programmable graphics hardware
US20130064298A1 (en) Concurrent access shared buffer in a video encoder
Agostini et al. Design and FPGA prototyping of a H. 264/AVC main profile decoder for HDTV
Sivanantham High-throughput deblocking filter architecture using quad parallel edge filter for H. 264 video coding systems
WO2010005316A1 (en) High performance deblocking filter
Dang High performance architecture of an application specific processor for the H. 264 deblocking filter
Azevedo et al. MoCHA: A bi-predictive motion compensation hardware for H. 264/AVC decoder targeting HDTV
Han et al. Efficient video decoding on GPUs by point based rendering
Azevedo et al. Motion compensation decoder architecture for H. 264/AVC main profile targeting HDTV
Pieters et al. Motion compensation and reconstruction of H. 264/AVC video bitstreams using the GPU
Imen et al. Real time H264 HD intra coding process implementation on TMS320DM642 DSP
US20230269368A1 (en) Supporting multiple partition sizes using a unified pixel input data interface for fetching reference pixels in video encoders
Shen et al. Memory bandwidth reduction for video decoders based on data arrangements

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170410

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180409

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee