KR20110128226A - 콘텍스트 기반 적응형 이진 산술 코딩 디코딩 장치 및 이의 디코딩 방법 - Google Patents

콘텍스트 기반 적응형 이진 산술 코딩 디코딩 장치 및 이의 디코딩 방법 Download PDF

Info

Publication number
KR20110128226A
KR20110128226A KR1020100105300A KR20100105300A KR20110128226A KR 20110128226 A KR20110128226 A KR 20110128226A KR 1020100105300 A KR1020100105300 A KR 1020100105300A KR 20100105300 A KR20100105300 A KR 20100105300A KR 20110128226 A KR20110128226 A KR 20110128226A
Authority
KR
South Korea
Prior art keywords
context
decoding
binary arithmetic
bin
context model
Prior art date
Application number
KR1020100105300A
Other languages
English (en)
Other versions
KR101300538B1 (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 KR20110128226A publication Critical patent/KR20110128226A/ko
Application granted granted Critical
Publication of KR101300538B1 publication Critical patent/KR101300538B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

콘텍스트 기반 적응형 이진 산술 코딩(CABAC) 디코딩 장치 및 이의 코딩 방법이 제공된다. 디코딩 장치는, 다음 싸이클의 콘텍스트 모델 저장을 위해 콘텍스트 모델 메모리에서 메모리 위치를 식별하는 어드레스를 계산하는 콘텍스트 메모리 어드레스 계산기; 상기 콘텍스트 메모리 어드레스 계산기의 상기 콘텍스트 모델이 저장되고 상기 콘텍스트 모델이 독출되는 혼합 콘텍스트 메모리; 상기 혼합 콘텍스트 메모리의 상기 콘텍스트 모델에 기반하여 상기 콘텍스트 모델의 범위와 오프셋을 업데이트하기 위한 다수의 파라미터들을 출력하고, 다수의 빈들을 판단하는 2-빈 콘텍스트 적응형 이진 산술 디코더; 및 정확한 메모리 어드레스를 선택하기 위해 상기 빈들에 기초하여 현재의 이진 시퀀스가 신택스 요소의 값에 대응하는지의 여부를 판단하는 이진 신택스 요소 비교기를 포함한다.

Description

콘텍스트 기반 적응형 이진 산술 코딩 디코딩 장치 및 이의 디코딩 방법{CONTEXT-BASED ADAPTIVE BINARY ARITHMETIC CODING (CABAC) DECODING DEVICE AND DECODONG METHOD THEREOF}
본 발명은 콘텍스트 기반 적응형 이진 산술 코딩(CABAC: context-based adaptive binary arithmetic coding) 디코딩 장치 및 이의 디코딩 방법에 관한 것이다. 특히, 비디오 디코딩 효율을 높이고 하드웨어 비용을 줄인 CABAC 디코딩 장치 및 이의 디코딩 방법에 관한 것이다.
Yongseok Yi 등은 2007년 4월에 IEEE Transaction on Circuit and System for Video Technology에서 "high speed H.264/AVC decoding"이라는 문서를 발표하였다(이하, 문서 1). 문서 1에 따르면, 디코딩 속도는 파이프라이닝(pipelining) 방법으로 증가 될 수 있다. 그러나, 디코딩 과정에서 콘텍스트 모델(context model)의 선택은 마지막으로 디코딩된 빈(bin)값에 의해 결정된다. 이러한 문제를 해결하기 위해, 디코더는 이전의 빈이 디코딩될 때까지 2싸이클 동안 대기상태에 있어야 하며, 그 이후에야 다음의 빈을 위한 디코딩 절차를 수행한다. 그러므로, 문서 1에 기재된 디코더의 속도는 평균적으로 한 싸이클당 0.25빈(0.25 bin per cycle)에만 도달할 수 있다.
Pin-Chin Lin 등은 2009년 5월에 Proceedings of IEEE International Symposium in Circuits and Systems에서 "branch selection multi-symbol high throughput CABAC decoder architecture for H.264/AVC"라는 문서를 발표하였다(이하, 문서 2). 문서 2에 따르면, 디코딩 프로세스에서의 데이터 의존성과 메모리 억세스 충돌(conflict)의 문제는 해결되며, 모든 콘텍스트 모델은 레지스터에 저장된다. 그러나, 콘텍스트 모델을 저장하기 위한 레지스터가 많은 면적을 필요로 하며, 이는 고액의 하드웨어 비용을 유발한다.
더욱이, 2008년 10월 공개된 미국 특허 출원번호 11/863973에 개시된 기술에 따르면, 특정 신택스 요소가 충족될 때에만 2개의 빈이 1싸이클 내에 디코딩될 수 있다. 다른 상황 하에서는, 오직 하나의 신택스 요소만이 1싸이클 내에 디코딩될 수 있다. 그러므로, 디코더의 속도는 평균적으로 한싸이클당 0.80빈에만 도달할 수 있다.
상술한 선행 기술들의 단점들을 고려하여, 본 발명은 콘텍스트 기반 적응형 이진 산술 코딩(CABAC) 디코딩 장치와 이의 디코딩 방법을 제공한다. 이에 따르면 하드웨어 비용을 고려하면서 콘텍스트 기반 적응형 이진 산술 코딩(CABAC) 디코딩 장치의 속도가 HD 비디오를 실시간으로 디코딩하고자 하는 요구를 충족시킬 수 있다.
본 발명의 주요 목적들 중 하나는 콘텍스트 기반 적응형 이진 산술 코딩(CABAC) 디코딩 장치의 하드웨어 비용의 요구를 줄이고, 콘텍스트 기반 적응형 이진 산술 디코딩 과정에서의 콘텍스트 모델의 정형화를 통해 디코딩 속도를 높여 HD 비디오의 실시관 디코딩에 대한 요구를 충족시키고자 하는 것이다.
본 발명의 다른 목적 중 하나는, 다음 싸이클의 콘텍스트 모델 저장을 위해 콘텍스트 모델 메모리에서 메모리 위치를 식별하는 어드레스를 계산하는 콘텍스트 메모리 어드레스 계산기; 상기 콘텍스트 메모리 어드레스 계산기의 상기 콘텍스트 모델이 저장되고 상기 콘텍스트 모델이 독출되는 혼합 콘텍스트 메모리; 상기 혼합 콘텍스트 메모리의 상기 콘텍스트 모델에 기반하여 상기 콘텍스트 모델의 범위와 오프셋을 업데이트하기 위한 다수의 파라미터들을 출력하고, 다수의 빈들을 판단하는 2-빈 콘텍스트 적응형 이진 산술 디코더; 및 정확한 메모리 어드레스를 선택하기 위해 상기 빈들에 기초하여 현재의 이진 시퀀스가 신택스 요소의 값에 대응하는지의 여부를 판단하는 이진 신택스 요소 비교기를 포함하는 콘텍스트 기반 적응형 이진 산술 코딩(CABAC) 디코딩 장치를 제공하고자 하는 것이다.
또한, 본 발명의 다른 목적 중 하나는, 상술한 콘텍스트 기반 적응형 이진 산술 코딩(CABAC) 디코딩 장치를 사용하는 디코딩 방법에 있어서, 상기 2-빈 파라미터의 디코딩을 단일 신택스 요소로 제한하여, 모든 신택스 요소의 제1빈의 인덱스가 짝수가 되도록 하고, 모든 신택스 요소의 제2빈의 인덱스가 홀수가 되도록 하는 단계; 플래그-타입 신택스 요소로 이루어진 중요 맵내의 모든 빈들을 새로운 단일 신택스 요소로 결합하여 상기 빈들의 다음 2개의 인덱스를 얻는 단계; 및 신택스 요소와 상기 빈들의 다음 2개의 인덱스에 기초하여 상기 혼합 콘텍스트 메모리로부터 다수의 콘텍스트 모델을 선택하고, 상기 제1빈과 상기 제2빈을 판정하기 위해 상기 선택된 콘텍스트 모델들을 상기 2-빈 콘텍스트 적응형 이진 산술 디코더로 전송하는 단계를 포함하는 디코딩 방법을 제공하고자 하는 것이다.
상술한 콘텍스트 기반 적응형 이진 산술 코딩(CABAC) 디코딩 장치 및 이의 디코딩 방법에 있어서, 콘텍스트 모델 그룹은 다수의 콘텍스트 모델을 포함하고, 상기 콘텍스트 모델 그룹 중 2개의 콘텍스트 모델이 동시에 상기 2-빈 콘텍스트 적응형 이진 산술 디코더로 로드되지 않으면, 상기 콘텍스트 모델 그룹은 SRAM(Static Random Access Memory)에 저장되고; 상기 콘텍스트 모델 그룹 중 2개의 콘텍스트 모델이 동시에 상기 2-빈 콘텍스트 적응형 이진 산술 디코더로 로드되면, 상기 콘텍스트 모델 그룹은 레지스터에 저장된다.
본 발명은 다음과 같은 기술적인 특징과 효과를 가진다.
1. 2-빈 병렬 디코딩의 구조 하에서, 2-빈 디코딩은 단일 신택스 요소(single syntax element) 내로 제한되며, 서로 다른 신택스 요소들이 결합되어, 동일 싸이클에서 디코딩되는 빈들이 동일 신택스 요소에 속할 수 있도록 하며 콘텍스트 모델의 선택 절차가 쉽고 정형적이 될 수 있도록 한다. 더욱이, 다른 속성을 가지는 메모리들의 조합에 의해 콘텍스트 모델 메모리가 실현될 수 있다. 혼합 콘텍스트 모델 메모리의 사용에 의하여 하드웨어 비용은 많이 줄어들 수 있다.
2. 문서 1과 대비하면, 본 발명은 모든 사용될 가능성이 있는 콘텍스트 모델을 미리 계산하는 것에 의해, 데이터 의존성의 문제를 해결할 수 있을 뿐만이 아니라, 각 싸이클마다 2개의 빈을 동시에 디코딩할 수 있게 한다.
3. 문서 1 및 문서 3과 대비하면, 본 발명의 디코딩 속도는 평균적으로 각 싸이클마다 1.83빈에 도달할 수 있다.
4. 문서 2에 개시된 전체가 레지스터(register)에 의해 구현되는 콘텍스트 메모리 모델과 대비하면, 본 발명에서 사용되는 혼합 콘텍스트 모델 메모리는 하드웨어 비용을 크게 줄여줄 수 있다.
5. 2-빈 이진 산술 디코딩에 관해서, 본 발명은 선행기술에서의 치명적인 경로 지연(path delay)의 문제를 해결하기 위해 효율적인 변환 스킴(transformation scheme)을 제공한다.
도 1은 본 발명의 콘텍스트 기반 적응형 이진 산술 코딩(CABAC) 디코딩 장치를 도시한 도면.
도 2는 본 발명의 2-빈 이진 산술 디코딩(TBBAD: two-bin binary arithmetic decoding) 유닛의 블록도.
도 3은 본 발명의 2-빈 이진 산술 디코딩의 변환 스킴을 도시한 도면.
상술한 본 발명의 목적 및 다른 목적들, 특징 및 장점들을 더욱 명확히 하기 위하여, 본 발명의 바람직한 실시예들이 이하에서 첨부되는 도면과 함께 상세히 설명될 것이다.
본 발명은 하기의 기재, 도면 또는 상세한 설명, 예컨데 바람직한 구조 및 배열에 의해 제한되지 않는다. 본 발명은 다른 실시예가 있을 수 있으며, 다양한 방법으로 이루어지거나 실시될 수 있다. 또한, 본 발명에 사용되는 문구 및 용어들은 설명을 위한 것일 뿐이며, 제한을 위한 것이 아니다.
도 1을 참조하면, 본 발명의 콘텍스트 기반 적응형 이진 산술 코딩(CABAC) 디코딩 장치가 도시된다. 콘텍스트 기반 적응형 이진 산술 코딩(CABAC) 디코딩 장치는, 다음의 신택스 요소(syntax element)를 위한 콘텍스트 선택 유닛(10), 현재의 신택스 요소를 위한 콘텍스트 선택 유닛(12), 콘텍스트 모델 메모리(static random access memory(SRAM 에스램), 13), 콘텍스트 모델 메모리(레지스터(register), 14), 2-빈 이진 산술 디코딩 유닛(15) 및 이진화 매칭(binarization matching) 유닛(16)을 포함한다. 또한, 콘텍스트 기반 적응형 이진 산술 코딩(CABAC) 디코딩 장치의 동작 모드는 콘텍스트 모델 선택(MCS: context model selection) 단계와 2-빈 이진 산술 디코딩(TBBAD: two-bin binary arithmetic decoding) 단계의 2개의 단계로 설명될 수 있다. 여기서, 콘텍스트 모델 선택(MCS) 단계는 콘텍스트 선택(CS) 유닛(10)과 콘텍스트 선택 유닛(12)의 사용 및 콘텍스트 모델 로딩(CL) 단계를 포함한다. 2-빈 이진 산술 디코딩(TBBAD) 단계는 2-빈 디코딩 엔진(2-빈 이진 산술 디코딩 유닛)의 사용 및 콘텍스트 모델 업로딩(CU) 단계를 포함한다.
도 1에 도시된 바와 같이, 콘텍스트 모델 선택 단계는 다음 2개의 빈을 디코딩하기 위한 콘텍스트 모델(CM)을 주로 선택한다. 콘텍스트 모델 선택(MCS) 단계를 단순화하고 정형화하기(regularize) 위해, 본 발명은 2-빈 디코딩을 단일(single) 신택스 요소 내로 제한하여 모든 신택스 요소들의 제1빈들의 인덱스들(binIdx)이 짝수(even)가 되도록 하며, 모든 신택스 요소들의 제2빈들의 인덱스들이 홀수(odd)가 되도록 한다. 그러므로, 다음 2개의 빈들을 위한 콘텍스트 모델의 구성이 정형화되고, 콘텍스트 모델 어드레스의 계산이 쉬워진다.
디코딩 중에 다량의 플래그-타입 신텍스 요소들(오직 단일 빈(single bin)만을 가짐)로 인한 실행 가능성(feasibility)의 감소를 피하기 위해, 본 발명은 디코딩 과정에서 가장 빈번한 플래그-타입의 신택스 요소들로 이루어진 중요 맵(significant map)의 모든 빈들을 단일 신택스 요소로 결합한다. 2개의 순차적인 빈에 대해, 첫번째 빈의 인덱스가 확인되면 두번째 빈의 인덱스는 오직 2개의 가능성만을 가진다. 이는 단지 2개의 가능한 콘텍스트 모델이 있음을 나타낸다. 그러므로, 본 실시예에서, 데이터 의존성의 문제를 해결하기 위하여, 콘텍스트 모델 선택(MCS) 단계에서 단지 3개의 사용 가능한 콘텍스트 모델이 준비될 필요가 있다.
신택스 요소들의 결합 이후에, 중요 맵의 빈들의 인덱스들(binIdx)의 종류(variation)와 특성을 표 1에 나타내었다. 여기서, binIdx는 빈의 인덱스를 나타내며; i는 스캐닝 포지션(scanning position)을 나타내며; SIG는 중요 계수 플래그를 나타내며(significant_coeff_flag); LAST는 마지막 중요 계수 플래그(last_significant_coeff_flag)를 나타낸다.
(중요 맵의 특성)
현재 플래그(current flag) 빈값(bin value) 다음 플래그(next flag) 다음 binIdx
SIG[i] 0 SIG[i+1] binIdx+2
SIG[i] 1 LAST[i] binIdx+1
LAST[i] 0 SIG[i+1] binIdx+1
LAST[i] 1 X X
현재의 신택스 요소가 중요 계수 플래그(significant_coeff_flag)이고 이의 빈값이 0이면, 다음의 binIdx가 binIdx+2와 동일하다는 것을 표 1로부터 분명히 알 수 있다. 그러므로, 콘텍스트 모델(CM)의 선택과 구성은 오직 binIdx+2에 의해서만 결정된다. 즉, 다음 싸이클에서 사용될 가능성이 있는 3개의 콘텍스트 모델들이 미리 계산되는 한은, 다음의 2개의 빈들이 동일 싸이클에서 계산될 수 있으며 어떠한 파이프라인 지연(pipeline delay)도 방지할 수 있다.
2개의 순차적인 빈에 대해서, 신텍스 요소의 2번째 빈의 위치는 binIdx+1 또는 binIdx+2가 될 수 있다. 이는 2개의 콘텍스트 모델(CM)을 제공하는 것에 의해, 실제의 binIdx에 의해 선택되는 콘텍스트 모델에 근거하여 2번째 빈이 디코딩될 수 있음을 의미한다. 그러므로, 본 발명은 어드레스들을 동시에 계산하기 위하여 2개의 콘텍스트 선택(CS) 유닛(10, 12)을 사용한다. 여기서 콘텍스트 선택 유닛(12)은 현재의 신택스 요소를 위해 사용되고, 콘택스트 선택 유닛(10)은 다음의 신택스 요소를 위해 사용된다. 콘텍스트 모델 로딩(CL) 단계에서의 동작을 위해 어느 것이 선택될지는, 도 1에 도시된 바와 같이 이진화 매칭 유닛(16)의 출력결과에 의해 결정된다. 이진화 매칭 유닛(16)에 대해서는 후술하기로 한다.
또한, 레지스터가 메모리로 사용되면, 이는 훨씬 많은 하드웨어 비용을 초래한다. 그리고 하나의 듀얼-포트(dual-port) SRAM은 3개의 콘텍스트 모델(CM)의 로딩과 동일 싸이클에서 수행되는 동작의 양에 대한 요건을 충족시키지 못한다. 그러므로, 하드웨어 비용을 더 줄이기 위해, 콘텍스트 모델(CM)의 구성을 고려하여야 한다.
본 발명의 바람직한 실시예에서, 하드웨어 비용과 디코딩 효율을 고려한 콘텍스트 모델(CM) 메모리의 구성 방법이 제공된다. 2-빈 디코딩이 단일의 신택스 요소 내로 제한되므로, 콘텍스트 모델(CM)들은 서로 다른 소스로부터 로딩될 수 있으며, 다음의 2개 빈의 신택스 요소와 binIdx의 타입에 기초하여 2-빈 이진 산술 디코딩 단계(이에 대해서는 후술됨)로 배정될 수 있다. 본 실시예에서 콘텍스트 모델(CM)들은 다음의 방법으로 재구성될 수 있다.
각 그룹의 콘텍스트 모델(CM)들에 대하여, 만약에 2-빈 이진 산술 디코딩(TBBAD)에서 각 그룹의 2개의 콘텍스트 모델(CM)이 동시에 로드될 필요가 없다면, 이 그룹의 콘텍스트 모델(CM)들은 SRAM에 저장되며; 그렇지 않은 경우에는 이 그룹의 콘텍스트 모델(CM)들은 레지스터에 저장된다. 예를 들어, 3개의 콘텍스트 모델(CM)이 flag transform(플래그 변환)_size_8*8_flag를 디코딩하기 위해 사용된다. 그리고 flag transform_size_8*8_flag는 하나의 빈을 포함하고 2번째 빈 디코딩 과정을 사용하지 않으므로, 오직 하나의 콘텍스트 모델(CM)만이 각 시간에 로드된다. 따라서 이 콘텍스트 모델(CM)은 상술한 원리에 의해 SRAM에 저장될 수 있다. 상술한 구성 하에서, 레지스터만을 사용하는 구조에 비해, 본 발명은 메모리의 면적(area)을 크게 줄일 수 있다.
콘텍스트 모델 메모리의 구조(organization)는 하기의 표 2와 표 3을 참조하여 알 수 있다.
(SRAM의 콘텐츠(content))
어드레스 CM의 인덱스 신택스 요소
0-2 0-2 mb_type(SI)
3-5 11-13 mb_skip_flag(P/SP)
6-8 24-26 mb_skip_flag(B)
9-11 70-72 mb_field_decoding_flag
12-31 85-104 coded_block_flag
32-171 166-226, 338-398, 417-425, 451-459 last_significant_coeff_flag
172-201 227-331, 237-241, 247-251, 257-261, 266-270, 426-430 coeff_abs_level_minus1(first bin)
202-204 399-401 Transform_size_8*8_flag
(레지스터의 콘텐츠)
어드레스 CM의 인덱스 신택스 요소
0-7 3-10 mb_type(J)
8-14 14-20 mb_type(P/SP)
15-17 21-23 sub_mb_type(P/SP)
18-26 27-35 mb_type(B)
27-30 36-39 sub_mb_type(B)
31-44 40-53 Mvd
45-50 54-59 ref_idx
51-54 60-63 mb_qp_delta
55-58 64-67 intra_chroma_pred_mode
59 68 prev_intra_pred_mode_flag
60 69 rem_intra_pred_mode
61-72 73-84 coded_block_pattern
73-224 105-165, 277-337, 402-416, 436-450 Significant_coeff_flag
225-253 232-236, 242-246, 252-256, 262-265, 271-275, 431-435 coeff_abs_level_minus1(excluding a first bin)
메모리 어드레스를 얻은 이후에, 동시에 하나의 콘텍스트 모델이 SRAM(13)으로부터 패치되고 2개의 콘텍스트 모델(CM)이 레지스터(14)로부터 패치된다. 그러므로, 레지스터만을 사용하는 것의 성능에 대비하여, 본 발명은 혼합 콘텍스트 모델(CM) 메모리를 사용하여, 콘텍스트 모델(CM) 리드-아웃(read-out)과 라이트-인(write-in)으로부터 유발되는 데이터의 리스크(risk)를 방지할 뿐만이 아니라 하드웨어 비용도 확실히 줄인다.
다음으로 도 2를 참조하면, 본 발명의 2-빈 이진 산술 디코딩(TBBAD) 유닛이 도시된다. 여기서, 2-빈 이진 산술 디코딩(TBBAD) 유닛은 다수의 최대 가능 빈(MPB: maximum possible bin) 디코딩 유닛(151, 154, 156), 다수의 최소 가능 빈(LPB: minimum possible bin) 디코딩 유닛(152, 155, 157), 제1빈 판단 유닛(153) 및 제2빈 판단 유닛(158)을 필수적으로 포함한다.
도 2에 도시된 바와 같이, 선택된 콘텍스트 모델은 빈 값의 계산을 위해 2-빈 이진 산술 디코딩 단계로 전송된다. 그 동안에 이 단계에서, 이진 매칭(binary matching)과 콘텍스트 모델의 업데이트가 수행될 수 있다. 도 2에 도시된 바와 같이, 2-빈 이진 산술 디코딩 유닛은 다음 빈들(binVa11, binVal2)의 디코딩을 위해 2개의 파라미터를 패치하고 출력한다. 여기서 2개의 파라미터 중 하나의 파라미터는 업데이트된 범위(updated range)와 관련된 것이며, 다른 하나의 파라미터는 업데이트된 오프셋(updated offset)과 관련된 것이다. 위의 빈 값은 오프셋 최소 가능 빈(offsetLPB)의 양/음(positive/negative)에 따라 주로 판단된다. 범위 최소 가능 빈(rangeLPB)은 오직 룩-업 테이블을 통해서만 알 수 있으므로, 본 발명은 표준 공식화(standard formulation)의 순서(flow process)를 도 3의 좌측에 나타난 것처럼 재배열하여 하드웨어의 계산 속도를 높인다. 여기서, 오프셋(O)과 범위(R)는 다음의 수학식 1에 의해 표현된다.
[수학식 1]
OLPB=0-RMPB=0-(R-RLPB)=(O-R)+RLPB
또한, 상기 개념(concept)은 2번째 빈의 디코딩으로 수학식 2 또는 수학식 3과 같이 확장된다.
[수학식 2](이전의 빈이 MPB인 경우)
O'LPB=(OMPB-RMPB)+R'LPB=(O-RMPB)+R'LPB=OLPB+R'LPB
[수학식 3](이전의 빈이 LPB인 경우)
O'LPB=(OLPB-RLPB)+R'LPB=(O-R+RLPB-RLPB)+R'LPB=(O-R)+R'LPB
배열(arrangement) 이후, OLPB와 (O-R) 모두는 첫번째 빈을 위한 계산 결과라는 것을 도 3의 우측에 도시된 바와 같이 확인할 수 있다. 따라서 모든 가능한 디코딩 경로가 본 발명에 의해 제안된 변환 방법에 의해 병렬로 계산될 수 있다. 그리고, 빈 판단 유닛(153, 158)에 의해 정확한 결과가 선택된다. 그러므로, 전통적으로 직접적으로 직렬로 연결되는 2개의 이진 산술 디코딩(BAD:binary arithmetic decoding)에 의한 계산 시간(약 3.14ns)에 대비하여, 심각한 경로 지연은 효율적으로 감소될 수 있다. 본 발명(약 2.25ns)은 계산시간을 약 28% 절감할 수 있다.
표 4와 표 5는 각각 서로 다른 비디오 시퀀스(sequence)에 대하여 이루어진 본 발명에 기반한 디코딩 속도와 종래기술과의 대비한 이행 결과(implementation result)를 보여준다.
(디코딩 효율)
비디오 시퀀스 QP 비트레이트(Mbps) 디코딩 레이트(bins/s) 속도(bins/cycle)
역2(station2) 18 48.22 69901150 1.82
보행지역(Pedestrian_area) 18 45.54 63493978 1.81
트랙터(tractor) 18 74.47 99586800 1.83
강바닥(Riverved) 12 164.0 220666642 1.85
해바라기(Sunflower) 12 87.84 116566675 1.83
혼잡시간(Rush-hour) 12 107.65 147268586 1.86
평균 1.83
(서로 다른 디자인을 비교한 이행 결과)
사양(specification) 본 발명 문서 2
테크(technology) UMC 90nm UMC 90nm
최대 주파수 264 Mhz 222Mhz
게이트 개수 42372 82245
평균(nunber of bins per cycle) 1.83 1.96
디코딩 레이트(million bins per second) 483.1 435.1
상기 표 4와 표 5로부터, 본 발명은 종래기술 대비 훨씬 높은 디코딩 레이트(최대 주파수와 평균 속도로부터 483.1 million bins per second이 얻어짐)에 도달할 수 있을 뿐만이 아니라, 더 나아가 48.6%[(82445-42372)/82445]의 하드웨어 비용(게이트의 개수)을 절약할 수 있다는 것을 알 수 있다.
본 발명의 바람직한 실시예들은 단지 설명을 위한 것이며, 본 발명의 실시 범위는 이것에 의해 제한되지 않는다. 그러므로, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의한 본 발명의 청구항 및 상세한 설명에 대한 변형이나 변경은 모두 본 발명의 범위에 속한다.
10, 12: 콘텍스트 선택 유닛
13, 14: 콘텍스트 모델 메모리
15: 2-빈 이진 산술 디코딩 유닛
16: 이진 매칭 유닛
151, 154, 156: MPB 디코딩 유닛
152, 155, 157: LPB 디코딩 유닛
153: 제1빈 판단 유닛
154: 제2빈 판단 유닛

Claims (7)

  1. 다음 싸이클의 콘텍스트 모델 저장을 위해 콘텍스트 모델 메모리에서 메모리 위치를 식별하는 어드레스를 계산하는 콘텍스트 메모리 어드레스 계산기;
    상기 콘텍스트 메모리 어드레스 계산기의 상기 콘텍스트 모델이 저장되고 상기 콘텍스트 모델이 독출되는 혼합 콘텍스트 메모리;
    상기 혼합 콘텍스트 메모리의 상기 콘텍스트 모델에 기반하여 상기 콘텍스트 모델의 범위와 오프셋을 업데이트하기 위한 다수의 파라미터들을 출력하고, 다수의 빈들을 판단하는 2-빈 콘텍스트 적응형 이진 산술 디코더; 및
    정확한 메모리 어드레스를 선택하기 위해 상기 빈들에 기초하여 현재의 이진 시퀀스가 신택스 요소의 값에 대응하는지의 여부를 판단하는 이진 신택스 요소 비교기를 포함하는
    콘텍스트 기반 적응형 이진 산술 코딩(CABAC) 디코딩 장치.
  2. 제 1항에 있어서,
    상기 콘텍스트 메모리 어드레스 계산기는,
    다음 싸이클에서 현재의 신택스 요소에 의해 요구되는 콘텍스트 모델 어드레스를 계산하는 제1콘텍스트 모델 선택기; 및
    다음 싸이클에서 다음의 신택스 요소에 의해 요구되는 콘텍스트 모델 어드레스를 계산하는 제2콘텍스트 모델 선택기를 포함하는
    콘텍스트 기반 적응형 이진 산술 코딩(CABAC) 디코딩 장치.
  3. 제 1항에 있어서,
    상기 혼합 콘텍스트 메모리는,
    SRAM(Static Random Access Memory); 및
    레지스터를 포함하고,
    상기 SRAM으로부터 제1콘텍스트 모델이 독출되고 상기 레지스터로부터 2개의 제2콘텍스트 모델이 독출되는
    콘텍스트 기반 적응형 이진 산술 코딩(CABAC) 디코딩 장치.
  4. 제 3항에 있어서,
    콘텍스트 모델 그룹은 다수의 콘텍스트 모델을 포함하고,
    상기 콘텍스트 모델 그룹 중 2개의 콘텍스트 모델이 동시에 상기 2-빈 콘텍스트 적응형 이진 산술 디코더로 로드되지 않으면, 상기 콘텍스트 모델 그룹은 상기 SRAM에 저장되고;
    상기 콘텍스트 모델 그룹 중 2개의 콘텍스트 모델이 동시에 상기 2-빈 콘텍스트 적응형 이진 산술 디코더로 로드되면, 상기 콘텍스트 모델 그룹은 상기 레지스터에 저장되는
    콘텍스트 기반 적응형 이진 산술 코딩(CABAC) 디코딩 장치.
  5. 제 1항에 있어서,
    상기 2-빈 콘텍스트 적응형 이진 산술 디코더는,
    다수의 최대 가능 빈(MPB: maximum possible bin) 디코딩 유닛;
    다수의 최소 가능 빈(LPB: minimum possible bin) 디코딩 유닛;
    제1빈 판단 유닛; 및
    제2빈 판단 유닛을 포함하는
    콘텍스트 기반 적응형 이진 산술 코딩(CABAC) 디코딩 장치.
  6. 제 1항 내지 5항 중 어느 한 항의 콘텍스트 기반 적응형 이진 산술 코딩(CABAC) 디코딩 장치를 사용하는 디코딩 방법에 있어서,
    상기 2-빈 파라미터의 디코딩을 단일 신택스 요소로 제한하여, 모든 신택스 요소의 제1빈의 인덱스가 짝수가 되도록 하고, 모든 신택스 요소의 제2빈의 인덱스가 홀수가 되도록 하는 단계;
    플래그-타입 신택스 요소로 이루어진 중요 맵내의 모든 빈들을 새로운 단일 신택스 요소로 결합하여 상기 빈들의 다음 2개의 인덱스를 얻는 단계; 및
    신택스 요소와 상기 빈들의 다음 2개의 인덱스에 기초하여 상기 혼합 콘텍스트 메모리로부터 다수의 콘텍스트 모델을 선택하고, 상기 제1빈과 상기 제2빈을 판단하기 위해 상기 선택된 콘텍스트 모델들을 상기 2-빈 콘텍스트 적응형 이진 산술 디코더로 전송하는 단계
    를 포함하는 디코딩 방법.
  7. 제 6항에 있어서,
    동일 싸이클에서 디코딩되는 상기 빈들은 동일 신택스 요소에 속하는
    디코딩 방법.
KR1020100105300A 2010-05-21 2010-10-27 콘텍스트 기반 적응형 이진 산술 코딩 디코딩 장치 및 이의 디코딩 방법 KR101300538B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW099116225A TWI403170B (zh) 2010-05-21 2010-05-21 背景調適性二進制算術解碼裝置及其解碼方法
TW099116225 2010-05-21

Publications (2)

Publication Number Publication Date
KR20110128226A true KR20110128226A (ko) 2011-11-29
KR101300538B1 KR101300538B1 (ko) 2013-09-02

Family

ID=44972074

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100105300A KR101300538B1 (ko) 2010-05-21 2010-10-27 콘텍스트 기반 적응형 이진 산술 코딩 디코딩 장치 및 이의 디코딩 방법

Country Status (3)

Country Link
US (1) US8212696B2 (ko)
KR (1) KR101300538B1 (ko)
TW (1) TWI403170B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016003130A1 (ko) * 2014-06-29 2016-01-07 엘지전자(주) 제한된 캐리 연산에 의한 산술 코딩을 수행하기 위한 방법 및 장치

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7982641B1 (en) * 2008-11-06 2011-07-19 Marvell International Ltd. Context-based adaptive binary arithmetic coding engine
US9258565B1 (en) * 2011-06-29 2016-02-09 Freescale Semiconductor, Inc. Context model cache-management in a dual-pipeline CABAC architecture
US8798139B1 (en) * 2011-06-29 2014-08-05 Zenverge, Inc. Dual-pipeline CABAC encoder architecture
JP2015507899A (ja) 2012-01-20 2015-03-12 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 並列処理を許容している符号化概念、トランスポートデマルチプレクサおよびビデオビットストリーム
US9264706B2 (en) * 2012-04-11 2016-02-16 Qualcomm Incorporated Bypass bins for reference index coding in video coding
RU2608353C1 (ru) * 2013-01-04 2017-01-18 Самсунг Электроникс Ко., Лтд. Способ энтропийного кодирования сегмента слайса и устройство для него, и способ энтропийного декодирования сегмента слайса и устройство для него
US10334248B2 (en) * 2015-05-29 2019-06-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
KR20180031944A (ko) 2016-09-21 2018-03-29 삼성전자주식회사 비디오 디코더 및 이를 포함하는 전자 시스템
US10361712B2 (en) * 2017-03-14 2019-07-23 International Business Machines Corporation Non-binary context mixing compressor/decompressor
US11006150B2 (en) 2018-09-24 2021-05-11 Tencent America LLC Method and apparatus for video coding

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060126744A1 (en) * 2004-12-10 2006-06-15 Liang Peng Two pass architecture for H.264 CABAC decoding process
CN100466739C (zh) * 2005-10-12 2009-03-04 华为技术有限公司 Cabac解码***及方法
KR100717055B1 (ko) 2005-11-18 2007-05-10 삼성전자주식회사 Cabac 복호기에서 복수의 이진 값들을 파이프라인방식에 의하여 복호화하는 방법 및 이를 위한 복호화 장치
TWI341657B (en) 2007-04-03 2011-05-01 Nat Univ Tsing Hua Cabac decoding method
US7710296B2 (en) * 2007-09-19 2010-05-04 Texas Instruments Incorporated N-bin arithmetic coding for context adaptive binary arithmetic coding
US7777654B2 (en) * 2007-10-16 2010-08-17 Industrial Technology Research Institute System and method for context-based adaptive binary arithematic encoding and decoding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016003130A1 (ko) * 2014-06-29 2016-01-07 엘지전자(주) 제한된 캐리 연산에 의한 산술 코딩을 수행하기 위한 방법 및 장치

Also Published As

Publication number Publication date
US20110285560A1 (en) 2011-11-24
TW201143440A (en) 2011-12-01
TWI403170B (zh) 2013-07-21
KR101300538B1 (ko) 2013-09-02
US8212696B2 (en) 2012-07-03

Similar Documents

Publication Publication Date Title
KR101300538B1 (ko) 콘텍스트 기반 적응형 이진 산술 코딩 디코딩 장치 및 이의 디코딩 방법
US7710296B2 (en) N-bin arithmetic coding for context adaptive binary arithmetic coding
US7777654B2 (en) System and method for context-based adaptive binary arithematic encoding and decoding
EP1912443B1 (en) Context-based adaptive arithmetic decoding system and apparatus
US8233545B2 (en) Run length encoding in VLIW architecture
Osorio et al. High-throughput architecture for H. 264/AVC CABAC compression system
CN104081772B (zh) 熵编码缓冲器配置
US7411529B2 (en) Method of decoding bin values using pipeline architecture and decoding device therefor
US20060071829A1 (en) Methods and apparatus for processing variable length coded data
US8604951B2 (en) System and method for optimizing context-adaptive binary arithmetic coding
WO2008002804A1 (en) Hardware-based cabac decoder with parallel binary arithmetic decoding
US20110310958A1 (en) System for entropy decoding of h.264 video for real time hdtv applications
Fei et al. A 1 gbin/s cabac encoder for h. 264/avc
JP7477178B2 (ja) 画像圧縮のための方法及び装置
Lin et al. A highly efficient VLSI architecture for H. 264/AVC CAVLC decoder
Pastuszak A high-performance architecture of the double-mode binary coder for H. 264. AVC
US7567189B2 (en) Variable length code decoding apparatus and variable length code decoding method
Liao et al. A high throughput VLSI design with hybrid memory architecture for H. 264/AVC CABAC decoder
US20050232505A1 (en) Low overhead context initializations for arithmetic video codecs
Chen et al. A high-performance hardwired CABAC decoder for ultra-high resolution video
US10887593B2 (en) Parallel table-based bit rate estimator
Tsai et al. Highly efficient cavlc encoder for mpeg-4 avc/h. 264
Zheng et al. A Time and Storage Optimized Hardware Design for Context-Based Adaptive Binary Arithmetic Decoding in H. 264/AVC
CN115022628B (zh) 基于jpeg-ls的高吞吐率无损图像压缩方法
Hong et al. A 360Mbin/s CABAC decoder for H. 264/AVC level 5.1 applications

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20160520

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180525

Year of fee payment: 6