KR20090102646A - 에이치 닷 264 표준에 근거한 디코더용 움직임 보상기의 보간 연산기 구조 - Google Patents

에이치 닷 264 표준에 근거한 디코더용 움직임 보상기의 보간 연산기 구조

Info

Publication number
KR20090102646A
KR20090102646A KR1020090021682A KR20090021682A KR20090102646A KR 20090102646 A KR20090102646 A KR 20090102646A KR 1020090021682 A KR1020090021682 A KR 1020090021682A KR 20090021682 A KR20090021682 A KR 20090021682A KR 20090102646 A KR20090102646 A KR 20090102646A
Authority
KR
South Korea
Prior art keywords
data
interpolation
filter
operator
decoder
Prior art date
Application number
KR1020090021682A
Other languages
English (en)
Other versions
KR101031493B1 (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 숭실대학교산학협력단
Publication of KR20090102646A publication Critical patent/KR20090102646A/ko
Application granted granted Critical
Publication of KR101031493B1 publication Critical patent/KR101031493B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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

Abstract

본 발명은 H.264 표준에 근거한 디코더용 움직임 보상기의 보간 연산기 구조에 관한 것으로, 입력 데이터 구분을 위한 Parser와, 파라미터 추출을 위한 Exp-Golomb과, 계수 추출을 위한 CAVLD로 구성되는 VLD; 양자화 및 계수 변환을 위한 ITQ와, 슬라이스간 움직임 보간을 위한 움직임 보상기 및 슬라이스내의 예측을 위한 IP로 구성되는 복원기 및 블록제거 필터링을 위한 DF로 구성되는 H.264 디코더 중에서, 상기 움직임 보상기는 VLD에서 전달 받은 파라미터를 이용하여 움직임 벡터를 구하는 부분과, 상기 움직임 벡터를 구하는 부분에 연결되어 참조 메모리의 주소를 계산하고 데이터를 읽어오는 픽셀 데이터 핸들러와, 상기 픽셀 데이터 핸들러에 연결되어 보간 연산을 통해 영상 데이터를 복원하는 보간기로 구성되며, 상기 보간기 내부에는 휘도와 색차 2개의 버퍼 메모리가 구비되어, 어느 하나의 메모리에 데이터가 차면 보간 연산기가 동작하여, 예측 픽셀이 저장되는 내부 메모리로 구성된다. 따라서, 본 발명은 H.264 디코더의 움직임 보상기 구조에서 참조 메모리 접근 횟수를 줄이고, 보간 연산 사이클 수를 줄여 움직임 보상기와 디코더의 성능을 개선시키고, 전력 소모가 많은 외부의 참조 메모리 접근 횟수가 적어진 결과로 전력 소모도 감소시키는 효과가 있다.

Description

에이치 닷 264 표준에 근거한 디코더용 움직임 보상기의 보간 연산기 구조{Interpolation architecture of motion compensation unit in decoders based on H.264 video coding standard}
본 발명은 H.264 표준에 근거한 디코더용 움직임 보상기의 보간 연산기 구조에 관한 것으로, 더욱 세부적으로는 국제 영상 압축 표준 규격인 ITU-T의 H.264에 근거하여 반도체로 구현되는 하드웨어를 설계하는 것이며, 그 중에서도 영상 압축 표준에 따라 압축된 영상을 재생하는 디코더를 설계하는 디지털 시스템 설계 분야의 H.264 표준에 근거한 디코더용 움직임 보상기의 보간 연산기 구조에 관한 것이다.
영상 압축 표준 중에서 ITU-T와 ISO/IEC가 공동으로 개발한 H.264(또는 MPEG-4 part-10/AVC)는 높은 압축률과 고화질로 차세대 영상 압축 기술로 각광을 받고 있어, 현재 DMB, DVB-H, DTV, Blue ray, HD-DVD 등에서 표준 동영상 압축 코덱으로 채택된 상태이고, 앞으로 더욱 활용 범위를 넓혀 갈 것으로 예상된다.
상기 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)로 구성된다.
디코더는 높은 압축률과 고화질을 이루기 위해 복잡한 연산 알고리즘을 사용하고 있어 전용 하드웨어를 이용한 디코딩이 일반적으로 이용되며, 이 경우에도 많은 연산량으로 하드웨어는 파이프라인 구조를 가진다. 상기 파이프라인 구조는 대체로 입력 데이터 구분을 위한 Parser(111)와, 파라미터 추출을 위한 Exp-Golomb(112)이 같은 첫 단계에 위치하고, 계수 추출을 위한 CAVLD(113)의 두 번째 단계와, 양자화 및 계수 변환을 위한 ITQ(123)와, 슬라이스간 움직임 보간을 위한 움직임 보상기(MC)(121) 및 슬라이스내의 예측을 위한 IP(122)로 구성되는 복원기(ITQ-MCIP)(120)로 구성되는 세 번째 단계와, 블록제거 필터링을 위한 DF(130)의 네 번째 단계로 구성된다.
이중에서 상기 움직임 보상기(MC)(121)는 대부분의 경우에 가장 많은 연산 사이클을 필요로 하는 연산기로 전력소모와 차지하는 면적 또한 크기 때문에, 움직임 보상기를 효율적으로 설계하는 것이 전체 디코더의 성능에 영향을 미친다.
상기 움직임 보상기(MC)(121)는 크게 움직임 벡터를 계산, 참조 메모리 접근, 그리고 보간값 계산의 세부분으로 나눌 수 있는데 참조 메모리 접근과 보간값 계산이 성능에 영향을 주며, 참조 메모리는 일반적으로 그 크기가 매우 커서 외부의 SDRAM을 이용하는 경우가 많은데, 참조 메모리 접근을 자주 그리고 많이 할수록 전력 소모와 연산 사이클이 증가한다.
한편, 보간값 계산은 동작 모드에 따라 복잡도가 달라지는데 가장 많은 연산 사이클을 요구하므로 연산기 수를 최대한 억제하면서 이를 줄이기 위한 방법이 요구되며, 또한 참조 메모리 접근 방식과도 밀접한 관계를 갖고 있어 연산기가 참조 메모리의 데이터를 기다리지 않도록 해야 효과적인 연산이 가능해진다.
참조 메모리의 접근을 억제하기 위해서는 한번 가져온 데이터를 최대한 재사용하여야 하는데, 이를 위해 내부에 커다란 버퍼나 캐시 메모리를 이용하는 방법이 사용되었다. 커다란 버퍼를 이용하면 한 번에 많은 데이터를 가져올 수 있으므로, 데이터의 재사용 가능은 높아지나 재사용이 안 될 경우 버퍼를 채우기 위한 메모리 접근이 성능을 저하시킬 수 있고, 버퍼 자체에 의한 면적이 증가하는 문제가 있고, 캐시 메모리를 이용하면 적은 메모리 크기로 데이터 재활용 가능성을 높일 수 있으나 제어가 복잡해지는 문제가 있다.
상술한 바와 같은 문제점을 해결하기 위하여, 본 발명에서는 움직임 보상기에서 보간 연산 사이클 수를 줄이기 위해 주요 연산기인 FIR(Finite Impulse Response) 필터를 2 x 2 구조의 파이프라인 방식으로 배치하고, 이 필터에 데이터를 공급하기 위한 참조 픽셀 데이터를 저장하는 2차원 쉬프트 레지스터 파일 구조를 이용하여 수직 및 수평 방향 데이터를 효율적으로 공급하고, 또한 2차원 쉬프트 레지스터 파일의 크기를 증가시키면 참조 메모리의 데이터를 재활용할 가능성을 높일 수 있어 참조 메모리 접근 횟수를 감소시킬 수 있으며, 이러한 구조를 통해 H.264 디코더에서 가장 연산량이 많은 움직임 보상기의 연산 사이클과 참조 메모리 접근 횟수를 줄이고 전력 소모도 감소시키는 H.264 표준에 근거한 디코더용 움직임 보상기의 보간 연산기 구조를 제공하는데 목적이 있다.
목적을 달성하기 위한 구성으로는 입력 데이터 구분을 위한 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개의 버퍼 메모리가 구비되어, 어느 하나의 메모리에 데이터가 차면 보간 연산기가 동작하여, 예측 픽셀이 저장되는 내부 메모리로 구성된다.
본 발명의 다른 특징으로서, 상기 보간 연산기의 휘도 데이터 보간 연산과 색차 데이터 보간 연산을 위한 2차원 쉬프트 레지스터 파일이 구비되되, 상기 휘도 데이터 보간 연산은 2차원 쉬프트 레지스터 파일에 한 쌍의 필터 연산기(PE-L1, PE-L2), 레지스터 및 클립의 4단 파이프라인으로 구성되어, 최종 하나의 레지스터로 출력되며, 상기 색차 데이터 보간 연산은 2차원 쉬프트 레지스터 파일에 한 쌍의 필터 연산기(PE-C1, PE-C2), 레지스터 및 클립의 4단 파이프라인 구성되어, 최종 하나의 레지스터로 출력되어, 하나의 사이클에 두 개의 픽셀 데이터를 처리하는 구성이다.
본 발명의 또 다른 특징으로서, 상기 휘도 데이터 연산을 위한 2차원 쉬프트 레지스터 파일은 13 x 9와 9 x 9 바이트 크기로 구성되며, 수평방향으로는 9바이트의 행 데이터 로테이션이 가능하고, 수직방향으로는 13바이트 또는 9바이트의 열 데이터 로테이션이 가능하며, 1, 6, 9행에서 외부 입력이 이루어지고, 상기 수평 및 수직방향으로는 각각 필터 연산기에 데이터를 공급하기 위한 출력 쉬프트 레지스터가 구비되고, 상기 색차 데이터를 위한 2차원 쉬프트 레지스터 파일은 5 x 3 바이트 크기로 두 개가 구비되며, 수평방향으로는 3바이트의 행 데이터 로테이션이 가능하고, 수직방향으로는 5바이트의 열 데이터 로테이션이 가능하며, 3행에서 외부 입력이 이루어지고, 상기 수평 및 수직방향으로는 각각 필터 연산기에 데이터를 공급하기 위한 출력 쉬프트 레지스터가 구비된다.
본 발명의 또 다른 특징으로서, 상기 2차원 쉬프트 레지스터 파일의 출력 데이터는 필터 연산기(PE-L1, PE-L2)로 입력되며, 상기 필터 연산기(PE-L1 및 PE-L2)는 덧셈기와 뺄셈기 및 쉬프터로 구성되고, 상기 2차원 쉬프트 레지스터 파일의 출력 데이터는 필터 연산기(PE-C1, PE-C2)로 입력되며, 상기 필터 연산기(PE-C1 및 PE-C2)는 덧셈기와 쉬프터로 구성된다.
본 발명의 또 다른 특징으로서, 휘도 영상 데이터와 색차 영상 데이터를 참조 메모리에서 불러와 움직임 벡터가 같은 두 개의 4 x 4 휘도 서브 블록과 2 x 2 색차 서브 블록에 대한 움직임 보상 연산을 수행하고, 4 x 8 휘도 서브 블록에 대해서 추가로 4 x 9 바이트 데이터만 읽어와 움직임 보상 연산을 수행하여 참조 메모리의 영상 데이터를 재활용한다.
상기한 바와 같이, 본 발명은 H.264 디코더의 움직임 보상기 구조에서 참조 메모리 접근 횟수를 줄이고, 보간 연산 사이클 수를 줄여 움직임 보상기와 디코더의 성능을 개선시키고, 전력 소모가 많은 외부의 참조 메모리 접근 횟수가 적어진 결과로 전력 소모도 감소시키는 효과가 있다.
도 1은 일반적인 H.264 디코더의 연산기 구조도.
도 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의 동작을 설명하는 구조도.
<도면의 주요 부분에 대한 부호 설명>
110 : VLD 111 : Parser
112 : Exp-Golomb 113 : CAVLD
120 : 복원기(ITQ-MCIP) 121 : 움직임 보상기(MC)
122 : IP 123 : ITQ
130 : DF 131 : DF 연산기
100 : 움직임 벡터를 구하는 부분 200 : 픽셀 데이터 핸들러
300 : 보간기 400 : 버퍼 메모리
500 : 보간 연산기 600 : 참조 메모리
700 : 내부 메모리
도 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는 본 발명의 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)를 세부적으로 나타내고 있다.
상기 움직임 보상기(MC)(121)는 VLD에서 전달 받은 파라미터를 이용하여 움직임 벡터를 구하는 부분(100)과, 상기 움직임 벡터를 구하는 부분(100)에 연결되어 참조 메모리(600)의 주소를 계산하고 데이터를 읽어오는 픽셀 데이터 핸들러(200)와, 상기 픽셀 데이터 핸들러(200)에 연결되어 보간 연산을 통해 영상 데이터를 복원하는 보간기(300)로 구성되며, 상기 보간기(300) 내부에는 휘도와 색차 2개의 버퍼 메모리(400)가 구비되어, 어느 하나의 메모리에 데이터가 차면 보간 연산기(500)가 동작하고, 휘도와 색차의 보간기는 동시에 동작되어, 예측 픽셀이 저장되는 내부 메모리(700)로 구성된다.
상기 보간 연산기(500)의 휘도 데이터 보간 연산과 색차 데이터 보간 연산을 위한 2차원 쉬프트 레지스터 파일(510,510a)이 구비되는데, 상기 휘도 데이터 보간 연산을 위한 휘도 보간기의 구조는 도 3과 같이, 2차원 쉬프트 레지스터 파일(510)에 한 쌍의 필터 연산기(PE-L1)(520)와 필터 연산기(PE-L2)(530), 레지스터(540) 및 클립(550)의 4단 파이프라인으로 구성되어, 최종 하나의 레지스터(560)로 출력된다.
또한, 상기 색차 데이터 보간 연산은 도 7과 같이, 2차원 쉬프트 레지스터 파일(510a)에 한 쌍의 필터 연산기(PE-C1)(520a)와 필터 연산기(PE-C2)(530a), 레지스터(540a) 및 클립(550a)의 4단 파이프라인으로 구성되어, 최종 하나의 레지스터(560a)로 출력되어, 하나의 사이클에 상기 휘도 데이터 보간 연산과 색차 데이터 보간 연산의 두 개의 픽셀 데이터를 처리하는 구성이다.
상기 휘도 데이터 보간을 위한 2차원 쉬프트 레지스터 파일(510)은 도 4와 같이, 13 x 9 또는 9 x 9 바이트 크기 중 어느 하나로 구성되며, 수평방향(511)으로는 9바이트의 행 데이터 로테이션이 가능하고, 수직방향(512)으로는 13바이트 또는 9바이트의 열 데이터 로테이션이 가능하며, 1, 6, 9행에서 외부 입력이 이루어지고, 상기 수평 및 수직방향(511,512)으로는 각각 필터 연산기에 데이터를 공급하기 위한 출력 쉬프트 레지스터(513,514)가 구비된다.
상기 수평방향(511) 레지스터에는 9행의 13 또는 9바이트의 데이터가 연결되고, 수직방향(512) 레지스터에는 13 또는 9열의 9바이트 데이터가 쉬프터를 통해 연결되어 수평 레지스터에 입력되는 데이터의 순서를 임의로 바꿀 수 있으며, 어느 경우이건 데이터를 받은 출력 쉬프트 레지스터(513,514)는 필터 연산기에 6바이트의 데이터를 4번에 걸쳐 입력하여 4개의 1/2-pel 값을 계산하도록 하고, 수직과 수평 방향 연산기는 1사이클의 잠복기 차이로 동시에 동작하여 한 사이클에 2개의 결과값을 내보낸다.
상기 2차원 쉬프트 레지스터 파일(510)의 출력 데이터는 도 3과 도 5 및 도 6과 같이, 필터 연산기(PE-L1)(520)와 필터 연산기(PE-L2)(530)로 입력되며, 상기 필터 연산기(PE-L1 및 PE-L2)(520,530)는 덧셈기와 뺄셈기 및 쉬프터로 구성된다.
6 탭 FIR 필터 기능과 반올림 보정 기능을 포함하는 필터 연산기는 상기 도 5의 PE-L1과 도 6의 PE-L2의 두 가지가 있는데, 출력값인 out_filter와 h1값을 생성시키는 방법에 차이가 있으며, 여기서, A~F는 1/2-pel 값을 계산하기 위한 정수 위치의 휘도 픽셀 데이터이고, 두 가지 모두 곱셈기 없이 필터 연산을 하도록 구성되며, 반올림에 의한 오차를 최소화하기 위해 덧셈기와 뺄셈기의 크기와 위치를 조절하고, 클립 연산기는 1/4-pel 값을 계산하기 위해 구비된다.
상기 도 7의 색차 데이터 보간을 위한 2차원 쉬프트 레지스터 파일(510a)은 도 8과 같이, 5 x 3 바이트 크기로 두 개가 구비되며, 수평방향(511a)으로는 3바이트의 행 데이터 로테이션이 가능하고, 수직방향(512a)으로는 5바이트의 열 데이터 로테이션이 가능하며, 3행에서 외부 입력이 이루어지고, 상기 수평 및 수직방향(511a,512a)으로는 각각 필터 연산기에 데이터를 공급하기 위한 출력 쉬프트 레지스터(513a,514a)가 구비된다.
상기 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는 정수 위치의 색차 픽셀 데이터이다.
상기 색차 데이터 보간을 위한 색차 보간기는 상기 도 3의 휘도 보간기와 비슷한 구조를 가지고 있으나, 연산 방식의 차이에 따라 구조와 동작에 다소 차이가 존재하며, 휘도는 2차원 쉬프트 레지스터 파일(510)에서 PE-L1과 PE-L2, 그리고 클립(550) 연산기를 거치면 한 개의 예측 픽셀이 계산되지만, 색차 보간기는 2차원 쉬프트 레지스터 파일(510a)에서 클립(550a) 연산기로 수행되는 경로를 두 번 통과해야 한 개의 예측 픽셀이 계산된다.
본 발명의 움직임 보상기는 휘도를 기준으로 4 x 4 서브 블록의 영상을 복원하기 위한 구조이고, 4 x 4 서브 블록의 영상을 복원하기 위해서는 9 x 9 바이트의 참조 영상 데이터가 필요하다. 그럼에도 본 발명에서 휘도 보간기의 레지스터 파일 중 하나를 13 x 9 바이트로 설계한 것은 참조 영상 데이터의 재활용을 통해 참조 메모리 접근을 억제하고 연산 사이클 수를 줄이기 위한 것이다.
첫 번째 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% 정도 감소시킬 수 있어 데이터 재활용률이 매우 높다.
따라서, 본 발명에서는 2차원 쉬프트 레지스터를 이용하여 간단한 제어 방식으로 데이터를 재활용하며, 2차원 쉬프트 레지스터는 보간 연산기와도 구조적으로 연결되어 입력 데이터를 기다리지 않고, 파이프라인 방식으로 병렬 연산을 진행하도록 하여 연산 사이클을 줄인다.
본 발명은 특정의 실시 예와 관련하여 도시 및 설명하였지만, 첨부된 특허청구범위에 의해 나타난 발명의 사상 및 영역으로부터 벗어나지 않는 한도 내에서 다양한 개조 및 변화가 가능하다는 것을 당업계에서 통상의 지식을 가진 자라면 누구나 쉽게 알 수 있을 것이다.

Claims (5)

  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)의 블록으로 구성되는 H.264 표준에 근거한 디코더용 움직임 보상기의 보간 연산기 구조에 있어서,
    상기 움직임 보상기(MC)(121)는 VLD에서 전달 받은 파라미터를 이용하여 움직임 벡터를 구하는 부분(100)과, 상기 움직임 벡터를 구하는 부분(100)에 연결되어 참조 메모리(600)의 주소를 계산하고 데이터를 읽어오는 픽셀 데이터 핸들러(200)와, 상기 픽셀 데이터 핸들러(200)에 연결되어 보간 연산을 통해 영상 데이터를 복원하는 보간기(300)로 구성되며, 상기 보간기(300) 내부에는 휘도와 색차 2개의 버퍼 메모리(400)가 구비되어, 어느 하나의 메모리에 데이터가 차면 보간 연산기(500)가 동작하여, 예측 픽셀이 저장되는 내부 메모리(700)로 구성되는 것을 특징으로 하는 H.264 표준에 근거한 디코더용 움직임 보상기의 보간 연산기 구조.
  2. 제 1항에 있어서,
    상기 보간 연산기(500)의 휘도 데이터 보간 연산과 색차 데이터 보간 연산을 위한 2차원 쉬프트 레지스터 파일(510,510a)이 구비되되,
    상기 휘도 데이터 보간 연산은 2차원 쉬프트 레지스터 파일(510)에 한 쌍의 필터 연산기(PE-L1)(520)와 필터 연산기(PE-L2)(530), 레지스터(540) 및 클립(550)의 4단 파이프라인으로 구성되어, 최종 하나의 레지스터(560)로 출력되며,
    상기 색차 데이터 보간 연산은 2차원 쉬프트 레지스터 파일(510a)에 한 쌍의 필터 연산기(PE-C1)(520a)와 필터 연산기(PE-C2)(530a), 레지스터(540a) 및 클립(550a)의 4단 파이프라인 구성되어, 최종 하나의 레지스터(560a)로 출력되어, 하나의 사이클에 두 개의 픽셀 데이터를 처리하는 구성인 것을 특징으로 하는 H.264 표준에 근거한 디코더용 움직임 보상기의 보간 연산기 구조.
  3. 제 2항에 있어서,
    상기 2차원 쉬프트 레지스터 파일(510)은 13 x 9 또는 9 x 9 바이트 크기 중 어느 하나로 구성되며, 수평방향(511)으로는 9바이트의 행 데이터 로테이션이 가능하고, 수직방향(512)으로는 13바이트 또는 9바이트의 열 데이터 로테이션이 가능하며, 1, 6, 9행에서 외부 입력이 이루어지고, 상기 수평 및 수직방향(511,512)으로는 각각 필터 연산기에 데이터를 공급하기 위한 출력 쉬프트 레지스터(513,514)가 구비되고,
    상기 2차원 쉬프트 레지스터 파일(510a)은 5 x 3 바이트 크기로 두 개가 구비되며, 수평방향(511a)으로는 3바이트의 행 데이터 로테이션이 가능하고, 수직방향(512a)으로는 5바이트의 열 데이터 로테이션이 가능하며, 3행에서 외부 입력이 이루어지고, 상기 수평 및 수직방향(511a,512a)으로는 각각 필터 연산기에 데이터를 공급하기 위한 출력 쉬프트 레지스터(513a,514a)가 구비되는 것을 특징으로 하는 H.264 표준에 근거한 디코더용 움직임 보상기의 보간 연산기 구조.
  4. 제 2항에 있어서,
    상기 2차원 쉬프트 레지스터 파일(510)의 출력 데이터는 필터 연산기(PE-L1)(520)와 필터 연산기(PE-L2)(530)로 입력되며, 상기 필터 연산기(PE-L1 및 PE-L2)(520,530)는 덧셈기와 뺄셈기 및 쉬프터로 구성되고,
    상기 2차원 쉬프트 레지스터 파일(510a)의 출력 데이터는 필터 연산기(PE-C1)(520a)와 필터 연산기(PE-C2)(530a)로 입력되며, 상기 필터 연산기(PE-C1 및 PE-C2)(520a,530a)는 덧셈기와 쉬프터로 구성되는 것을 특징으로 하는 H.264 표준에 근거한 디코더용 움직임 보상기의 보간 연산기 구조.
  5. 제 2항에 있어서,
    13 x 9 바이트 크기의 휘도 영상 데이터와 5 x 3 바이트 크기의 색차 영상 데이터를 참조 메모리에서 불러와 움직임 벡터가 같은 두 개의 4 x 4 휘도 서브 블록과 2 x 2 색차 서브 블록에 대한 움직임 보상 연산을 수행하고, 4 x 8 휘도 서브 블록에 대해서 추가로 4 x 9 바이트 데이터만 읽어와 움직임 보상 연산을 수행하여 참조 메모리의 영상 데이터를 재활용하는 것을 특징으로 하는 H.264 표준에 근거한 디코더용 움직임 보상기의 보간 연산기 구조.
KR1020090021682A 2008-03-25 2009-03-13 에이치 닷 264 표준에 근거한 디코더용 움직임 보상기 및 그 보간 연산 방법 KR101031493B1 (ko)

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 true KR20090102646A (ko) 2009-09-30
KR101031493B1 KR101031493B1 (ko) 2011-04-29

Family

ID=41360053

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090021682A KR101031493B1 (ko) 2008-03-25 2009-03-13 에이치 닷 264 표준에 근거한 디코더용 움직임 보상기 및 그 보간 연산 방법

Country Status (1)

Country Link
KR (1) KR101031493B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075762A (zh) * 2010-12-31 2011-05-25 北京大学深圳研究生院 用于视频编码器的帧间预测电路及其实现方法
CN102075765A (zh) * 2010-12-31 2011-05-25 北京大学深圳研究生院 用于视频编解码器的色度插值电路及其实现方法
WO2013065977A1 (ko) * 2011-11-01 2013-05-10 아주대학교산학협력단 움직임 추정 방법 및 움직임 추정 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0126657B1 (ko) * 1993-10-28 1997-12-29 구자홍 디지탈 영상 복원을 위한 움직임 보상장치
KR0129802B1 (ko) * 1994-01-18 1998-04-11 배순훈 영상압축장치에 있어서 반화소(half pel) 단위의 움직임보상회로
US8705630B2 (en) 2006-02-10 2014-04-22 Nvidia Corporation Adapting one type of encoder to another type of encoder

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075762A (zh) * 2010-12-31 2011-05-25 北京大学深圳研究生院 用于视频编码器的帧间预测电路及其实现方法
CN102075765A (zh) * 2010-12-31 2011-05-25 北京大学深圳研究生院 用于视频编解码器的色度插值电路及其实现方法
CN102075765B (zh) * 2010-12-31 2012-12-05 北京大学深圳研究生院 用于视频编解码器的色度插值电路及其实现方法
CN102075762B (zh) * 2010-12-31 2012-12-05 北京大学深圳研究生院 用于视频编码器的帧间预测电路及其实现方法
WO2013065977A1 (ko) * 2011-11-01 2013-05-10 아주대학교산학협력단 움직임 추정 방법 및 움직임 추정 장치
US9317934B2 (en) 2011-11-01 2016-04-19 Ajou University Industry Cooperation Foundation Method and apparatus for estimating motion

Also Published As

Publication number Publication date
KR101031493B1 (ko) 2011-04-29

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 (ko) 비디오 데이터 처리
US8369419B2 (en) Systems and methods of video compression deblocking
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
KR100843196B1 (ko) H.264/avc 비디오 디코더의 디블록킹 필터
US20120328000A1 (en) Video Decoding System Supporting Multiple Standards
US20100321579A1 (en) Front End Processor with Extendable Data Path
JP2006157925A (ja) パイプラインデブロッキングフィルタ
Lee et al. Multi-pass and frame parallel algorithms of motion estimation in H. 264/AVC for generic GPU
KR101031493B1 (ko) 에이치 닷 264 표준에 근거한 디코더용 움직임 보상기 및 그 보간 연산 방법
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
Hautala et al. Programmable lowpower implementation of the HEVC adaptive loop filter
WO2010005316A1 (en) High performance deblocking filter
Agostini et al. Fpga design of a h. 264/avc main profile decoder for hdtv
Neto et al. Exploring operation sharing in directional intra frame prediction of av1 video coding
Azevedo et al. MoCHA: A bi-predictive motion compensation hardware for H. 264/AVC decoder targeting HDTV
Dang High performance architecture of an application specific processor for the H. 264 deblocking filter
Han et al. Efficient video decoding on GPUs by point based rendering
Imen et al. Real time H264 HD intra coding process implementation on TMS320DM642 DSP
Azevedo et al. Motion compensation decoder architecture for H. 264/AVC main profile targeting HDTV
Zatt et al. HP422-MoCHA: a H. 264/AVC High profile motion compensation architecture for HDTV

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