KR100636229B1 - 신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치 - Google Patents

신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치 Download PDF

Info

Publication number
KR100636229B1
KR100636229B1 KR1020050031410A KR20050031410A KR100636229B1 KR 100636229 B1 KR100636229 B1 KR 100636229B1 KR 1020050031410 A KR1020050031410 A KR 1020050031410A KR 20050031410 A KR20050031410 A KR 20050031410A KR 100636229 B1 KR100636229 B1 KR 100636229B1
Authority
KR
South Korea
Prior art keywords
encoding
entropy
context
layer
referring
Prior art date
Application number
KR1020050031410A
Other languages
English (en)
Other versions
KR20060083100A (ko
Inventor
전병우
최웅일
Original Assignee
학교법인 성균관대학
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 학교법인 성균관대학, 삼성전자주식회사 filed Critical 학교법인 성균관대학
Priority to CA002590705A priority Critical patent/CA2590705A1/en
Priority to EP06715723A priority patent/EP1836858A1/en
Priority to JP2007551200A priority patent/JP2008527902A/ja
Priority to PCT/KR2006/000162 priority patent/WO2006075901A1/en
Priority to US11/332,568 priority patent/US7262721B2/en
Publication of KR20060083100A publication Critical patent/KR20060083100A/ko
Application granted granted Critical
Publication of KR100636229B1 publication Critical patent/KR100636229B1/ko

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability

Abstract

다양한 컨텍스트(context) 모델을 이용한 적응적 엔트로피 부호화 및 복호화 방법과 그 장치가 개시된다. 본 발명에 따라, 계층적 엔트로피 부호화 방법은 (a) 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 단계; 및 (b) 상기 결정된 컨텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화 하는 단계를 포함하는 것을 특징으로 한다. 이에 의해, 신축형 비디오 부호화시 계층적 상관도를 포함한 다양한 컨텍스트를 이용하여 엔트로피 부호화를 수행함으로써 부호화 효율을 향상시킬 수 있는 효과가 있다.

Description

신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화 방법과 그 장치 {Method and apparatus for adaptive entropy encoding and decoding for scalable video coding}
도 1은 신축형 비디오 부호화 기술을 적용하여 비디오를 부호화하는 일례를 설명하기 위한 참조도,
도 2는 CABAC 부호화기의 구성도,
도 3a 내지 도 3b는 컨텍스트의 결정을 설명하기 위한 참조도,
도 4는 CABAC 복호화기의 구성도,
도 5는 심볼과 부호어 간의 매핑 정보를 이용하여 부호화하는 엔트로피 부호화기의 구성도,
도 6은 심볼과 부호어 간의 매핑 정보를 이용하여 복호화하는 엔트로피 복호화기의 구성도,
도 7a 내지 도 7b는 본 발명에 따른 컨텍스트 결정부의 동작을 설명하기 위한 참조도,
도 8a 내지 도 8g는 본 발명에 따른 컨텍스트 결정부를 이용한 적응적 엔트로피 부호화기의 일실시예 구성도,
도 9a 내지 도 9g는 본 발명에 따른 컨텍스트 결정부를 이용한 적응적 엔트 로피 복호화기의 일실시예 구성도,
도 10a 내지 도 10c는 본 발명의 일실시예에 따른 엔트로피 부호화 방법의 플로우차트,
도 11a 내지 도 11c는 본 발명의 일실시예에 따른 엔트로피 복호화 방법의 플로우차트,
도 12는 본 발명의 엔트로피 부호화기를 구비한 비디오 부호화 장치의 일례를 나타내는 블록도,
도 13은 본 발명의 엔트로피 복호화기를 구비한 비디오 복호화 장치의 일례를 나타내는 블록도,
본 발명은 신축형(scalable) 부호화를 위한 적응적 엔트로피 부호화 및 복호화 방법과 그 장치에 관한 것으로, 보다 상세하게는 다양한 컨텍스트(context) 모델을 이용한 적응적 엔트로피 부호화 및 복호화 방법과 그 장치에 관한 것이다.
신축형 비디오 부호화(scalable video coding)는 다양한 통신망과 단말의 조건에 따라, 전송하고자 하는 데이터의 양을 적절히 조정하여 전송하기 위한 비디오 부호화를 말하며, 다양한 전송 환경에 대응하여 적응적으로 비디오를 처리하기 위해 필수적으로 필요한 기술이다. 현재, 이동 통신 기술 및 전송 수단의 발달과 고성능 반도체 및 비디오 압축 기술의 발달에 따라, 다양한 전송 환경에서 비디오를 서비스 받고자 하는 요구가 급속히 증가하고 있다.
그러나, 채널 대역폭, 단말기 처리 능력, 패킷 손실율, 사용자의 이동 환경 등에 따른 다양한 환경 변화에 대응하여 비디오를 처리하기 위해서, 종래 특정 통신 환경을 고려하여 개발된 비디오 부호화 기술은 전송환경에 따라 적응적으로 비디오 부호화를 수행하는데 부적합하다. 신축형 비디오 부호화 기술은 이러한 전송 환경에 적응적인 지능형 기술중의 하나로써, 일례로 화면 크기를 위한 공간 신축형 부호화, 프레임율에 대한 시간 신축형 부호화, 그리고 화질을 고려한 SNR(Signal to Noise Ratio) 신축형 부호화 등이 있다.
종래의 비디오 표준들도 이러한 신축형 비디오 부호화 기술을 포함하고 있다. 일례로, 주로 ATM(Asynchronous Transfer Mode) 망에서의 비디오 데이터 전송을 고려한 MPEG-2 신축형 부호화, H.263 Annex.O 의 SNR, 시간적 및 공간적 신축 부호화, 그리고 MPEG-4 기반 미세 신축형 부호화(Fine Granular Scalable Coding)등의 기술들이 존재하며, 또한 MPEG-4 AVC 기반 표준의 신축형 비디오 부호화 기술은 현재 표준화가 진행중이다. 현재 표준화가 진행중인 MPEG-4 AVC 기반 신축형 비디오 부호화는 SNR 및 시간적/공간적 측면에서 동시에 신축형 비디오 부호화 기능을 지원하는 것을 목표로 하고 있다.도 1은 신축형 비디오 부호화 기술을 적용하여 비디오를 부호화하는 일례를 설명하기 위한 참조도이다.
도 1을 참조하면, SNR, 시간적, 공간적 측면에서 모두 복합적으로 신축형 부호화할 수 있음을 알 수 있다. 신축형 부호화 기술은 비디오를 계층 단위로 구분하여 네트워크의 상태 등에 따라 부호화하는 기술이며, 상위 계층(Enhancement layer)들은 아래 계층의 데이터들을 사용하여 부호화한다.
도 1에서 도시한 비디오 부호화의 예를 보다 상세하게 설명하면, 비디오 데이터의 전송 비트율이 41kbps 이하인 경우에는 기본 계층(Base layer)(110)만으로 부호화하고, 41kbps 초과 80kbps 이하인 경우에는, 기본 계층(110)의 데이터를 이용하여 화질을 향상시킨 SNR 신축형 부호화를 수행하여, 제1상위계층(120)을 만들어 부호화한다. 기본 계층(110) 및 제1상위계층(120)은 모두 각 프레임의 화면 크기가 QCIF(Quarter Common Intermediate Format)이며, 초당 15 프레임 단위로 부호화된다.
한편, 제2상위계층(130) 및 제3상위계층(140)은 화면 크기가 CIF이며 초당 30 프레임 단위로 부호화된다. 따라서, 115kbps 까지의 비트율에 해당하는 제2상위계층(130)은, QCIF 화면 크기의 제1상위계층(120)의 프레임을 업샘플링(upsampling)하여 CIF 화면 크기로 만들고, 이를 예측 부호화하여 중간 프레임인 H 프레임(High-pass frame)들을 더 만듬으로써 완성된다. 제3상위계층(140)은 256kbps까지의 비트율일 때 만들어지며, 제1상위계층(120)과 마찬가지로 바로 아래 계층인 제2상위계층(130)의 데이터를 가지고 화질을 개선시킨 SNR 신축형 부호화를 수행하여 만들어진다.각 계층의 B(Bi-predictive) 프레임 또는 H(High-pass) 프레임들은 전송 순서상 앞선 프레임들만을 움직임 보상시 참조 영상으로 사용하기 때문에 시간적으로 신축형 부호화가 가능하다. 도 1을 참조하면, I 프레임 및 P 프레임 혹은 L(Low-pass) 프레임들이 전송 순서상 B 프레임 혹은 H 프레임들보다 앞서는 것을 알 수 있다. 동일한 B 프레임들 및 H 프레임 간의 전송 순서는, 도 1에 나 타난 것처럼 할당된 인덱스(프레임 이름에 윗첨자로 표시됨)에 따라 달라진다. 동일한 B 프레임들끼리는 그 인덱스가 낮을수록, H 프레임들끼리는 그 인덱스가 높을수록 전송 순서가 앞선다.
예를 들어, 기본 계층(110) 혹은 제1상위계층(120)에서 B1 프레임들은 I 프레임 및 P 프레임들을 참조하여 움직임 보상되고, B2 프레임들은 B1 프레임들을 참조하여 움직임 보상된다. 또한 제2상위계층(130) 및 제3상위계층(140)에서 H3 프레임들은 L3 프레임들을 참조하여 움직임 보상되고, 마찬가지로 H2 프레임들은 H3 프레임들을 참조하여 움직임 보상된다. 따라서, 기본 계층(110) 및 제1상위계층(120)에서의 프레임 전송순서는 I->P->B1->B2->B3이며, 제2상위계층(130) 및 제3상위계층(140)에서의 프레임 전송순서는 L3->H3->H2->H1->H0 이 되고, 동일한 인덱스를 갖는 프레임들끼리는 프레임이 나타나는 시간 순서에 따라 전송순서가 결정된다. 이러한 시간 신축형 부호화, 공간 신축형 부호화 및 SNR 신축형 부호화를 통하여 각 계층별 비트율에 따라 복호화기는 해당 계층까지 복호 가능하다.
이렇게 신축형 비디오 부호화 기술은 이미 MPEG-2 표준에서부터 표준으로 제정되었고 많은 연구가 진행되어 왔으나, 현재 상용화되지 못하고 있다. 그 가장 큰 이유는 부호화 효율이 나쁘다는데 있다. 즉, 비신축형 비디오 부호화 기술과 비교할 때, 신축형 비디오 부호화는 저화질의 기본 계층의 화질을 점차 개선하는 방식 으로 부호화를 수행하기 때문에, 동일한 비트율의 비디오 또는 오디오라고 하더라도 경우에 따라 심각한 질적 열화가 발생한다. 이러한 부호화 효율 문제를 극복하지 않는 한 계층적 부호화는 상용화되기 어렵다.
이에 따라 상술한 계층적 부호화 시의 부호화 효율 저하를 극복하기 위한 연구가 활발히 진행되고 있다. 일례로 공간 영역의 신축형 부호화 시, 업샘플링(upsampling)된 하위 계층의 영상을 움직임 보상시에 활용함으로써, 각 계층을 독립적으로 부호화하는 것에 비해 부호화 효율을 크게 향상시킬 수 있다. 다시 말하면, 각 계층간은 상관도가 매우 높기 때문에, 이렇게 계층간의 상관도를 이용하면 예측 부호화시에 높은 부호화 효율을 얻을 수 있다.그러나, 종래의 신축형 비디오 부호화 기술에서는, 엔트로피 부호화의 경우 이러한 계층간 상관도를 이용한 부호화를 수행하지 않고, 비신축형 비디오 부호화와 동일한 방법에 따라 부호화가 수행되었기 때문에 전술한 부호화 효율 저하 문제를 해결하지 못하였다.
따라서, 본 발명이 이루고자 하는 기술적 과제는, 복수의 계층으로 부호화하는 신축형 비디오 부호화기에서 엔트로피 부호화의 효율을 높이기 위하여, 계층간 부호화 요소의 상관도를 이용한 컨텍스트 기반 적응적 엔트로피 부호화 방법과 이에 따른 부호화 장치를 제공하는 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는, 계층간 부호화 요소의 상관도를 이용한 컨텐스트 기반 적응적 엔트로피 복호화 방법과 이에 따른 복호화 장치를 제공하는 것이다.
상기 기술적 과제는 본 발명에 따라, (a) 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 단계; 및 (b) 상기 결정된 컨텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화 하는 단계를 포함하는 것을 특징으로 하는 계층적 엔트로피 부호화 방법에 의해 달성된다.
또한, 상기 기술적 과제는 본 발명에 따라, (a) 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 부호화하고자 하는 부호화 요소를 이진 스트링으로 변환하는 단계; (b) 상기 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하여 컨텍스트를 결정하는 단계; 및 (c) 상기 결정된 컨텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화 하는 단계를 포함하는 것을 특징으로 하는 엔트로피 부호화 방법에 의해서도 달성된다.
또한, 상기 기술적 과제는 본 발명에 따라, (a) 엔트로피 부호화된 데이터를 입력받아, 엔트로피 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 단계; 및 (b) 상기 결정된 컨텍스트를 이용하여, 상기 엔트로피 부호화된 데이터를 엔트로피 복호화하는 단계를 포함하는 것을 특징으로 하는 계층적 엔트로피 복호화 방법에 의해서도 달성된다.
또한, 상기 기술적 과제는 본 발명에 따라, (a) 엔트로피 부호화된 데이터를 입력받아, 엔트로피 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하여 컨텍스트를 결정하는 단계; (b) 상기 결정된 컨텍스트를 이용하여, 상기 엔트로피 부호화된 데이터를 엔트로피 복호화하는 단계; 및 (c) 상기 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 엔트로피 복호화된 이진 스트링을 심볼로 변환하는 단계를 포함하는 것을 특징으로 하는 엔트로피 복호화 방법에 의해서도 달성된다.
한편, 본 발명의 다른 분야에 따르면, 상기 기술적 과제는 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 컨텍스트 결정부; 및 상기 결정된 컨텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화하는 엔트로피 부호화 엔진을 포함하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치에 의해서도 달성된다.
또한, 상기 기술적 과제는 본 발명에 따라, 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 부호화하고자 하는 부호화 요소를 이진 스트링으로 변환하는 이진 스트링 변환부; 상기 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하여 컨텍스트를 결정하는 컨텍스트 결정부; 및 상기 결정된 컨 텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화 하는 엔트로피 부호화 엔진을 포함하는 것을 특징으로 하는 엔트로피 부호화 장치에 의해서도 달성된다.
또한, 상기 기술적 과제는 본 발명에 따라, 엔트로피 부호화된 데이터를 입력받아, 엔트로피 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 컨텍스트 결정부; 및 상기 결정된 컨텍스트를 이용하여, 상기 엔트로피 부호화된 데이터를 엔트로피 복호화하는 엔트로피 복호화 엔진을 포함하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치에 의해서도 달성된다.
또한, 상기 기술적 과제는 본 발명에 따라, 엔트로피 부호화된 데이터를 입력받아, 엔트로피 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하여 컨텍스트를 결정하는 컨텍스트 결정부; 상기 결정된 컨텍스트를 이용하여, 상기 엔트로피 부호화된 데이터를 엔트로피 복호화하는 엔트로피 복호화 엔진; 및 상기 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 엔트로피 복호화된 이진 스트링을 심볼로 변환하는 심볼값 변환부를 포함하는 것을 특징으로 하는 엔트로피 복호화 장치에 의해서도 달성된다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.
우선 이하에서는, 본 발명에 따른 계층간 부호화 요소의 상관도를 이용한 컨 텍스트 기반 엔트로피 부호화 및 복호화에 대하여 설명하기 이전에, 먼저 기존의 통상적인 엔트로피 부호화 및 복호화 방식에 대하여 설명한다. 보다 구체적으로, 높은 부호화 효율을 가지고 있어 H.264/MPEG-4 AVC 표준에도 채택되어 있는 컨텍스트 기반 적응적 이진 산술 부호화(Context-based Adaptive Binary Arithmetic Coding, CABAC)에 대하여 상세히 설명한 후, 엔트로피 부호화를 위한 다른 방식인 적응적 산술 부호화, 허프만 부호화, 단일 가변장 부호화(Universal Variable Length Coding, UVLC) 방법에 대하여 설명한다. 본 발명은 CABAC에만 국한되는 것이 아니고 일반적인 엔트로피 부호화 및 복호화 방법에 모두 적용될 수 있다.
도 2는 CABAC 부호화기의 구성도이다.
도 2의 CABAC 부호화기는, 각각의 부호화 요소(Syntax Element, SE)를 입력받아 부호화하며 이진 스트링 변환부(210), 컨텍스트 결정부(220) 및 적응적 산술 부호화부(250)를 포함한다. 부호화 요소(SE)는 압축된 비트스트림(compressed bitstream)을 구성하는 데이터들을 의미하는 것으로, 영상을 압축하여 표현하거나 압축된 데이터를 해석하는데 필요한 파라미터 또는 각종 헤더 정보 및 잔차 정보 등을 포함한다. 예를 들어 H.264 표준의 경우에는 어떠한 엔트로피 부호화 방식이 사용되었는지 나타내는 entropy_coding_mode_flag와 같은 파라미터나 슬라이스의 타입을 나타내는 slice_type, 매크로블록의 타입을 나타내는 mb_type과 헤더 정보, 그리고 잔차 정보에 해당하는 coeff_abs_level_minus1 등이 모두 부호화 요소에 속한다.
이진 스트링 변환부(210)는 부호화 할 부호화 요소(SE)의 심볼값을 입력받아 이진 스트링으로 변환한다. 이진 스트링은 0 또는 1의 이진값(Binary Value)들의 연속된 열로 구성되는데, H.264 표준에 정의된 B 슬라이스의 매크로 블록 타입인 mb_type이 어떠한 이진 스트링으로 변환되는가 하는 일례가 표 1에 나타나 있다. 표 1을 참조하면, B 슬라이스의 mb_type에서 심볼 B_L0_16x16은 주어진 매크로 블록이 L0(List 0) 인덱스를 참조하여 16x16 단위로 움직임 보상된다는 것을 의미하며 심볼값은 1이다. 이러한 심볼 B_L0_16x16은 이진 스트링 변환부(210)를 통해 3개의 이진값을 갖는 이진 스트링 100 으로 변환된다.
표 1에서 BinIdx는 이진 스트링에서의 각 이진값의 위치를 나타내는 값이다. 예를 들어, BinIdx가 0인 이진값은 이진 스트링에서 첫번째 위치에 있는 이진값을 의미한다. 이러한 심볼값과 이진 스트링의 매핑 관계는 일반적으로 각 부호화 요소별로 정의된다.
B 슬라이스의 mb_type의 심볼값(심볼) 이진 스트링
0 (B_Direct_16x16) 0
1 (B_L0_16x16) 1 0 0
2 (B_L1_16x16) 1 0 1
3 (B_Bi_16x16) 1 1 0 0 0 0
4 (B_L0_L0_16x8) 1 1 0 0 0 1
5 (B_L0_L0_8x16) 1 1 0 0 1 0
6 (B_L1_L1_16x8) 1 1 0 0 1 1
... ...
BinIdx 0 1 2 3 4 5 6
주어진 부호화 요소(SE)의 각 심볼들은 이진 스트링으로 변환된 다음, 컨텍스트 결정부(220)에 의해 정해진 컨텍스트를 참조하여, 차례대로 적응적 산술 부호화부(250)에 의하여 엔트로피 부호화된다. 컨텍스트 결정부(220)는 상기 이진 스트링에서 0 과 1의 각 이진값에 대하여 컨텍스트를 결정한다. 컨텍스트는 현재 부호화할 심볼과 관련된 주변 상황을 의미한다. 주변 상황에 대해서는 후술한다. 상기 컨텍스트는 확률 추정부(230)에서 각 이진값의 0과 1에 대한 확률값을 추정하는데 사용되므로, 이진값의 컨텍스트가 바뀌면 해당하는 각 확률값도 바뀌게 된다. 산술 부호화 엔진(240)은 확률 추정부(230)에 의해 추정된 확률값을 이용하여 산술 부호화를 수행하고, 부호화된 0 또는 1에 대한 확률 추정부(230)의 확률모델을 갱신한다. 이하, 도 3a 내지 도 3b을 참조하여 컨텍스트 결정에 대하여 설명한다.
도 3a 내지 도 3b는 컨텍스트의 결정을 설명하기 위한 참조도이다.
도 3a에서 T(310)는 컨텍스트 템플릿이라고 하며, 현재 부호화하고자 하는 부호화 요소보다 먼저 부호화된 부호화 요소들의 부분집합으로 이루어진다. 또한, 경우에 따라 T(310)는 상기 부분집합에, 현재 부호화하는 부호화 요소의 심볼값에 대한 이진 스트링의 일부를 추가로 포함하거나, 상기 이진 스트링의 일부만으로 이루어질 수 있다. 그리고, 앞서 부호화된 심볼 및 현재 부호화할 심볼의 성질(attribute)들이 T(310)에 추가로 포함되거나 상기 심볼의 성질들로만 구성될 수 있다. CABAC의 컨텍스트 템플릿은 일례로 도 3b에 나타난 것처럼 현재 부호화할 심볼이 속한 블록(330)과 인접한 왼쪽 블록(340)의 심볼 S0 및 인접한 위쪽 블록(350)의 심볼 S1으로 구성된다.
예를 들어, 표 1에서의 B 슬라이스 내 mb_type 심볼의 경우, BinIdx가 0인 이진값의 컨텍스트는 왼쪽 및 위쪽 블록의 mb_type 심볼이 각각 Direct인가, 아닌가에 따라 결정된다. 또한 이와 더불어 왼쪽 및 위쪽 블록이 스킵되었거나 존재하지 않는 경우에 대해서도 컨텍스트가 영향을 받는다. 따라서 mb_type 심볼의 첫번째 이진값을 부호화하기 위해 필요한 컨텍스트 템플릿으로는, 왼쪽 및 위쪽 블록의 mb_type 심볼들과 더불어 각 블록의 성질에 해당하는 스킵 정보 및 블록의 존재 여부가 해당된다.
한편, 컨텍스트 템플릿으로 현재 부호화하는 이진값보다 BinIdx가 작은 이진값이 포함되는 경우도 있다. 예를 들어, 표 1의 mb_type 심볼에서 BinIdx가 2인 이진값의 컨텍스트를 결정하고자 하는 경우에는, BinIdx가 1인 이진값이 컨텍스트 템플릿으로 사용된다. 따라서, 앞서 부호화된 BinIdx가 1인 이진값이 0인지 1인지에 따라 BinIdx가 2인 이진값의 컨텍스트가 달라진다.
모델링 함수 F는 주어진 각 심볼값에 대하여 상기 컨텍스트 템플릿 T(310)에 속한 심볼 {S0, S1, ... , ST-1}들을 입력받아 컨텍스트 집합 C(320)인 {C0, C1, ... , CN-1} 가운데 하나의 컨텍스트를 결정하게 된다. 표 1의 mb_type에서 BinIdx가 0인 이진값에 해당하는 모델링 함수는 다음 수학식 1과 같다.
ctxIdx = condTermFlag(A) + condTermFlag(B) + Offset
여기서 ctxIdx는 선택된 컨텍스트 C를 표시하는 인덱스를 의미하고, Offset은 컨텍스트들이 정의된 테이블 중 mb_type의 시작 위치를 알리는 인덱스의 초기값을 가리킨다. 여기서, condTermFlag(M)은 블록 M의 상태를 나타내는 것으로, 블록 M이 존재하지 않거나(조건 1), 블록 M이 스킵되거나(조건 2), 또는 블록 M의 mb_type의 심볼이 Direct이면(조건 3), condTermFlag(M) 값은 0이 된다. 즉, 조건 1, 조건 2, 조건 3 중 어느 하나라도 만족하면 0이 된다. 그 외의 경우는 1의 값이 된다. mb_type의 예에서 모델링 함수 F는 F:T={S0, S1} -> C={C0, C1, ... , CN-1}로 표현된다. 이때, S0와 S1은 도 3b에 도시한 바와 같이 현재 부호화될 블록(330)의 좌측 블록(340)과 상위 블록(350)의 mb_type이 사용된 경우로, 더 구체적으로는 S0=condTermFlag(A), S1=condTermFlag(B)인 경우이다.
따라서, 블록 A와 블록 B의 존재 여부, 스킵여부 및 mb_type 심볼들을 컨텍스트 템플릿으로 입력받아 컨텍스트 인덱스 ctxIdx를 구하고, 이 인덱스를 가지는 컨텍스트를, 컨텍스트 집합으로부터 추출하여, 해당 컨텍스트를 결정한다.
이렇게 결정된 컨텍스트는 적응적 산술 부호화부(250)에서 각 이진값의 확률을 추정하는데 사용된다. 적응적 산술 부호화부(250)는 확률 추정부(230)와 산술 부호화 엔진(240)으로 구성된다. 확률 추정부(230)에서는 이진 스트링 변환부(210)에 의해 만들어진 이진값에 해당하는 컨텍스트를 입력받아, 0과 1에 대한 각 확률을 추정한다. 컨텍스트에 해당하는 확률값은 컨텍스트와 확률간의 매핑 테이블을 통하여 결정된다. 이렇게 결정된 확률값은 산술 부호화 엔진(240)에서 상기 이진값을 부호화하는데 이용된다. 산술 부호화 엔진(240)은 이진값을 차례로 부호화하고, 각 부호화된 이진값 정보에 따라 확률 추정부(230)가 확률을 갱신하도록 확률 갱신을 명령한다.
한편, CABAC 부호화기와는 달리 심볼을 이진화(Binarization)하지 않고 심볼 값을 그대로 산술 부호화하는 일반적인 산술 부호화기는, CABAC 부호화기에서 이진 스트링 변환부(210)만을 제외시키면 그 구성과 기능이 동일한다. 이 경우 컨텍스트 결정부는 CABAC 부호화기에서 심볼의 이진값에 대하여 컨텍스트를 결정하던 것과 달리, 심볼의 심볼값에 대하여 컨텍스트를 결정해야 한다.
도 4는 CABAC 복호화기의 구성도이다.
CABAC 복호화기는 부호화기에 의해 압축된 비디오 데이터인 0과 1로 이루어진 압축 비트열(compressed bitstream)로부터 심볼을 추출한다. 컨텍스트 결정부(410)는 현재 복호하여 만들어질 이진값에 대한 컨텍스트를 결정하는 것으로, 복호하여 만들어질 이진 스트링내의 이진값의 각 위치에 따라 컨텍스트를 결정한다. 이렇게 결정된 컨텍스트는 적응적 산술 복호화부(450)에서, 입력된 비트열로부터 이진값을 복호하는데 사용된다. 확률 추정부(420)는 컨텍스트를 입력받아 각 이진값에 대한 0과 1의 확률을 추정한다. 산술 복호화 엔진(430)은 추정된 확률값을 가지고 입력 비트열로부터 이진값을 차례로 복호하면서 이진값의 확률을 갱신하기 위하여 확률값을 확률 추정부(420)에 전달한다. 적응적 산술 복호화부(450)에서 차례로 복호된 이진값들은 심볼값 변환부(440)를 통하여 심볼 데이터로 변환된다. 심볼과 이진값 간의 매핑은, 표 1과 같이 CABAC 부호화기의 이진 스트링 변환부(210)에서 사용된 것과 동일한 매핑 테이블을 사용하여 이루어진다.
한편, 상술한 CABAC 복호화기와는 달리 산술 복호화 엔진이 직접 심볼값을 생성하는 일반적인 산술 복호화기는, 상기 CABAC 복호화기에서 심볼값 변환부(440)가 필요하지 않다.
도 5는 심볼과 부호어 간의 매핑 정보를 이용하여 부호화하는 엔트로피 부호화기의 구성도이다.
심볼과 부호어 간의 매핑 정보를 이용하여 부호화 하는 방법으로는 허프만 부호화, 단일 가변장 부호화, Exp-Golomb 부호화 방법 등이 있다. 표 2는 심볼과 부호어 간의 매핑 정보의 일례이다.
심볼 컨텍스트1 (0≤nC<2) 컨텍스트2 (2≤nC<4) 컨텍스트3 (4≤nC<8) 컨텍스트4 (8≤nC) 컨텍스트5 (nC=-1)
0 1 11 1111 0000 11 01
1 0001 01 0010 11 0011 11 0000 00 0001 11
2 01 10 1110 0000 01 1
3 0000 0111 0001 11 0010 11 0001 00 0001 00
4 0001 00 0011 11 0111 1 0001 01 0001 10
5 001 011 1101 0001 10 001
6 0000 0011 1 0000 111 0010 00 0010 00 0000 11
≤7 0000 0110 0010 10 0110 0 0010 01 0000 011
8 0000 101 0010 01 0111 0 0010 10 0000 010
9 0001 1 0101 1100 0010 11 0001 01
도 5를 참조하면, 엔트로피 부호화기는 컨텍스트 결정부(510), 엔트로피 부호화 엔진(520) 및 심볼-부호어 매핑 정보 저장부(530)를 포함한다. 엔트로피 부호화 엔진(520)은 컨텍스트 결정부(510)에 의해 정해진 컨텍스트에 따라 표 2의 예에서와 같이, 입력된 심볼값에 해당하는 부호어를 출력한다. 이때 컨텍스트 결정부(510)는 부호화할 심볼의 주변 블록에 속한 심볼들 또는 앞서 부호화된 심볼들을 컨텍스트 템플릿으로 하여 이를 기반으로 부호화할 심볼에 적용할 컨텍스트를 결정한다. 엔트로피 부호화 엔진(520)은, 미리 정해진 복수개의 심볼-부호어 매핑 정보를 저장하고 있는 심볼-부호어 매핑 정보 저장부(530)로부터, 이렇게 정해진 컨텍스트에 해당하는 매핑 정보를 추출하여, 입력된 심볼을 엔트로피 부호화한다. 예를 들어, 표 2에서 0 ≤ nC < 2 를 만족하는 경우에는 컨텍스트 결정부(510)에 의해 컨텍스트 1이 선택되고, 이에 따라 엔트로피 부호화 엔진(520)은 심볼-부호어 매핑 정보 저장부(530)로부터 공급받은 심볼-부호어 매핑 정보를 이용하여 입력된 심볼에 대한 부호어를 출력한다.
여기서 nC는 부호화될 심볼의 위쪽 및 왼쪽 주변 블록(도 3b에서의 S0 및 S1)에 있는 0이 아닌 변환계수의 평균개수를 나타낸다. 즉, nC는 도 3a의 모델링 함수의 입력으로 S0 와 S1 블록의 변환계수의 수가 주어졌을 때, 출력으로 나온 0이 아닌 변환계수의 평균값을 의미한다.
도 6은 심볼과 부호어 간의 매핑 정보를 이용하여 복호화하는 엔트로피 복호화기의 구성도이다.
심볼과 부호어 간의 매핑 정보를 이용하여 복호화 하는 방법으로는 허프만 복호화, 단일 가변장 복호화, Exp-Golomb 복호화 방법 등이 있다. 도 6을 참조하면, 엔트로피 복호화기는 컨텍스트 결정부(610), 엔트로피 복호화 엔진(620) 및 심볼-부호어 매핑 정보 저장부(630)를 포함한다.
컨텍스트 결정부(610)는 엔트로피 부호화된 부호화 요소에 대하여 컨텍스트를 결정한다. 심볼-부호어 매핑 정보 저장부(630)는 표 2의 예에서와 같이 미리 정의된 복수개의 심볼-부호어간의 매핑 정보를 저장하고 있다. 엔트로피 복호화 엔진(620)은 이러한 매핑 정보를 이용하여 엔트로피 복호화를 수행한다.
상술한 적응적 엔트로피 부호화 방법들은, 부호화시 각 이진값 또는 심볼에 대한 확률을 컨텍스트에 따라 적응적으로 조절하기 때문에, 그 확률이 고정된 경우보다 부호화 효율이 좋다. 그 이유는 확률이 고정된 경우에는 각 심볼들에 대하여 사전에 훈련된 확률을 적용하기 때문에 실제 발생 확률과 차이가 나게 되는 경우에는 손실이 발생하게 되기 때문이다. 그러나, 상술한 CABAC 부호화 방법을 비롯한 적응적 엔트로피 부호화 방법이 신축형 비디오 부호화기에 적용될 경우 부호화 효율 측면에서 개선의 여지가 남아 있다. 신축형 비디오 부호화에 이러한 컨텍스트 기반 적응적 엔트로피 부호화 방법을 적용할 경우, 계층간의 유사도를 이용하여 보다 정확한 확률 추정이 가능하기 때문이다.
다시 말하면, 본 발명의 엔트로피 부호화 방법은 주어진 부호화 요소(SE)의 심볼을 엔트로피 부호화 할 때, 동일 계층의 동일 또는 타 부호화 요소(SE)의 심볼뿐만 아니라, 하위계층에 속한 동일 또는 타 부호화 요소(SE)의 심볼까지 참조하면 더욱 정확한 통계적 특성을 알 수 있어 엔트로피 부호화 효율을 높일 수 있다는 것에 기초한다. 이것은 부호화 요소(SE)에 따라 현재 부호화할 부호화 요소(SE)가 동일 계층의 주변 블록에 속한 부호화 요소(SE)보다 하위계층에 속한 부호화 요소(SE)와 더욱 상관도가 높은 경우도 있기 때문이다.
이를 위하여 본 발명에 따른 적응적 엔트로피 부호화기의 컨텍스트 결정부는, 컨텍스트 결정시 동일계층의 부호화 요소들뿐만 아니라 하위계층 정보까지 참조하여 컨텍스트를 결정한다. 이하에서는 도 7a 내지 7b를 참조하여, 본 발명의 컨텍스트 결정부의 동작을 상세히 설명한다.
도 7a 내지 도 7b는 본 발명에 따른 컨텍스트 결정부의 동작을 설명하기 위한 참조도이다.
도 7a 내지 도 7b를 참조하면, 본 발명의 컨텍스트 결정부는 종래의 엔트로피 부호화 방법의 컨텍스트 결정부와 비교해 볼 때 다음과 같은 차이가 있다. 우선, 컨텍스트 템플릿 T(710)는 종래 사용되던 컨텍스트 템플릿 {S0,S1,...,ST-1}에, 하위 계층에 해당되는 동일 또는 타 부호화 요소(SE)의 심볼들 및 관련된 성질(attribute)에 해당하는 정보들 {ST,ST+1,...,ST+K-1}을 추가적으로 포함한다. 예를 들어, 도 7b에 나타난 것처럼 현재 블록(731)이 속한 계층이 제 M 계층(730)이라고 하면, 동일한 M 계층(730)에 속한 주변 블록의 심볼들{S0, S1}와 더불어 현재 계층보다 하위에 존재하는 제 M-1 계층(740)부터 제 0 계층(750)까지 각 하위 계층에 존재하는 심볼들 {ST,ST+1,??,ST+K-1}도 컨텍스트 템플릿(710)으로 포함한다. 상기 컨텍스트 템플릿(710)에 하위 계층에 해당하는 심볼들이 추가됨에 따라, 컨텍스트 집합 C(720)에도 기존 사용되던 컨텍스트들 {C0,C1,...,CN-1}에 새로운 컨텍스트들 {CN,CN+1,...,CN+Q-1}이 추가된다.한편, 상기 하위 계층의 블록들은 현재 계층과 동일한 위치에 해당하는 블록과 이를 중심으로 한 주변 블록들을 포함하는 것이 바람직하다. 도 7b를 참조하면, 제 M-1 계층(740)의 심볼 ST (741) 및 제 0 계층(750)의 심볼 ST+K-5 (751)가 현재 블록(731)과 동일한 위치에 해당하는 블록의 심볼들이다. 현재 계층과 하위 계층의 영상 크기가 서로 다른 경우에는, 업 샘플링(up-sampling) 또는 다운 샘플링(down-sampling)을 통해 영상의 크기를 맞추었을 경우 현재 블록의 위치와 동일한 위치에 해당하는 블록이 결정되는 것이 바람직하다.
상기 계층은 신축형 비디오 부호화의 종류에 따라 시간적(Temporal) 계층, 공간적(Spatial) 계층, SNR 계층, 또는 이 3가지가 혼합된 형태의 계층이 될 수 있다.
도 8a 내지 도 8g는 본 발명에 따른 컨텍스트 결정부를 이용한 적응적 엔트로피 부호화기의 일실시예 구성도이다.
도 8a는 엔트로피 부호화 방법으로 CABAC이 사용된 경우이며, 도 8b는 일반적인 산술 부호화 방법이 사용된 경우이고, 도 8c는 심볼과 부호어 사이의 매핑 정보를 이용한 부호화 방법이 사용된 경우이며, 도 8d는 하위 계층의 정보가 이진화에도 사용되었을 때의 CABAC 부호화기의 구성도이다.
도 8a의 엔트로피 부호화기에서, 이진 스트링 변환부(810)는 부호화할 부호화 요소(SE)의 심볼을 이진 스트링으로 변환한다. 컨텍스트 결정부(812)는 변환된 이진 스트링의 각 이진값에 대한 컨텍스트를 결정한다. 각 이진값에 해당하는 컨텍스트를 결정할 때, 동일 계층에 속한 부호화 요소 정보뿐만 아니라, 하위 계층 부호화 요소 저장부(814)로부터 하위 계층에 속한 부호화 요소 정보를 읽어와, 컨텍스트 템플릿에 추가하여 컨텍스트 결정시에 사용한다. 확률 추정부(816)는 컨텍스트 결정부(812)에서 결정된 컨텍스트를 가지고 확률값을 찾고, 산술 부호화 엔진(818)은 확률값과 이진값을 각각 입력받아 산술 부호화를 수행한다.
도 8b의 엔트로피 부호화기에서는, 도 8a의 CABAC 부호화 방법을 사용한 엔트로피 부호화기와는 달리 심볼값을 이진 스트링으로 변환하는 과정이 필요하지 않으므로, 도 8a의 엔트로피 부호화기에서 이진 스트링 변환부(810)가 생략된다. 따라서, 도 8b의 컨텍스트 결정부(820)는 동일 계층에 속한 부호화 요소 정보뿐만 아니라, 하위 계층 부호화 요소 저장부(822)로부터 하위 계층에 속한 부호화 요소 정보를 읽어와, 컨텍스트 템플릿에 추가하여 부호화할 심볼값에 대한 컨텍스트를 결정한다. 확률 추정부(824)는 컨텍스트 결정부(820)에서 결정된 컨텍스트를 가지고 확률값을 찾고, 산술 부호화 엔진(826)은 입력된 심볼값에 대하여 산술 부호화한다.
도 8c의 엔트로피 부호화기에서도, 컨텍스트 결정부(830)는 동일 계층에 속한 부호화 요소 정보뿐만 아니라, 하위 계층 부호화 요소 저장부(832)로부터 하위 계층에 속한 부호화 요소 정보를 읽어와, 컨텍스트 템플릿에 추가하여 부호화할 심볼값에 대한 컨텍스트를 결정한다. 결정된 컨텍스트는 심볼-부호어 매핑 정보 저장부(834)에서 복수개의 매핑 관계 가운데 하나의 매핑 관계를 선택하는 과정에서 이용된다. 엔트로피 부호화 엔진(836)은 심볼과 부호어의 매핑 관계를 가지고, 입력된 심볼에 대하여 해당하는 부호어를 출력한다.
도 8d는 하위 계층에 속한 부호화 요소 정보가 컨텍스트 결정부(842) 뿐만 아니라 이진 스트링 변환부(840)에서 심볼을 이진화하는 과정에서 사용되는 경우의 엔트로피 부호화기를 도시한 도면이다. 즉, 주어진 부호화 요소에 대하여 심볼을 부호화할 때 CABAC 부호화기의 이진 스트링 변환부(840)는 동일 또는 하위 계층의 동일 또는 타 부호화 요소의 심볼 또는 부호화 요소의 성질(attribute)을 나타내는 정보를 이용하여 심볼을 이진 스트링으로 변환한다. 다시 말하면, 이진 스트링으로 변환하는데 있어, 동일 계층의 부호화 요소만을 참조할 수도 있고, 동일 계층의 부호화 요소와 하위 계층의 부호화 요소를 함께 참조할 수 도 있으며, 하위 계층의 부호화 요소만을 참조할 수도 있다. 기타, 하위 계층 부호화 요소 저장부(844), 컨텍스트 결정부(842), 확률 추정부(846) 및 산술 부호화 엔진(848)은 도 8a의 그것과 동일하다.
한편, 위와 같이 이진 스트링으로 변환하는 관계 자체를 동일 계층, 또는 동일 계층과 하위 계층, 또는 하위 계층만의 부호화 요소를 참조하여 적응적으로 변환하는 방법은, 컨텍스트 결정부가 하위 계층 또는 동일 계층의 부호화 요소를 참조하는지의 여부와 관계없이 그 자체로도 부호화 효율을 높이는 효과가 있다. 이에 대한 바람직한 실시예가 도 8e에 개시되어 있다. 즉, 컨텍스트 결정부(852)는 도 2에서 설명한 바와 같이 동일 계층의 부호화 요소 정보만을 참조하며, 이진 스트링 변환부(850)는 동일 계층, 또는 동일 계층과 하위 계층, 또는 하위 계층만의 부호화 요소를 참조한다. 따라서, 계층 부호화 요소 저장부(854)는 상기한 참조정보 선택에 따라 동일 계층만의, 또는 동일 계층과 하위 계층의 또는 하위계층 만의 부호화 요소를 저장한다.
상기 이진 스트링 변환부(840,850)의 구체적인 수행 예로, 심볼의 심볼값과 이진 스트링 사이에 복수개의 매핑 테이블을 저장하여 상기 참조 정보의 선택에 따라 각 테이블 가운데 하나의 매핑 테이블을 선택하는 방법, 또는 심볼의 심볼값과 이진값의 매핑 관계는 고정된 테이블을 사용하되 심볼과 심볼값의 관계를 상기 참조 정보의 선택에 따라 리매핑하는 방법 등이 있다. 전자는, 심볼에 대한 이진 스트링 값 자체를 다르게 하는 것이다. 예를 들어, mb_type 심볼값 1에 대한 이진 스트링이 100 이었던 것을 다른 값으로 하여 테이블을 새로 구성하는 것이다. 후자는 표 1과 같이 주어진 테이블 내에서 심볼값과 이진 스트링간의 매핑 관계만 달리하는 방법으로 심볼값 1에 대한 이진 스트링이 100 이고 심볼값 2에 대한 이진 스트링이 101 일 때 이들 관계를 서로 달리하여 심볼값 1에 대한 이진 스트링을 101 로 하고 심볼값 2에 대한 이진 스트링을 100 으로 하는 것이다.
본 발명의 실시예를 구현함에 있어, 도 8a 내지 도 8b에 도시한 바와 같이, 컨텍스트 결정부(812, 820)와 확률 추정부(818, 824)가 분리되어 구현될 수도 있지만, 또 다른 실시예에서는 도 8f 내지 도 8g에 도시한 바와 같이, 도 8a의 컨텍스트 결정부(812)에 확률 추정부(818)의 기능이 합해져 새로운 컨텐스트 결정부(860)를 구현하고, 도 8b의 컨텍스트 결정부(820)에 확률 추정부(824)의 기능이 합해져 새로운 컨텍스트 결정부(870)를 구현할 수 있다. 도 8a 내지 도 8b의 실시예에서는 컨텍스트 결정부(812, 820)가 결정한 컨텍스트에 의해 확률 추정부(818, 824)가 특정 확률값을 정하는 형태이나, 도 8f 내지 도 8g에서는 컨텍스트 결정부(860, 870) 자체가 특정 확률값을 정한다. 물론 이 경우 컨텍스트 결정부(860, 870)는 확률 갱신의 기능도 같이 수행한다.
실제 구현에 있어 마찬가지의 변형이 도 8d와 도 8e에서도 가능함은 물론이다.
도 9a 내지 도 9g은 압축된 비트스트림을 입력받아 본 발명에 따른 컨텍스트 결정부를 이용한 적응적 엔트로피 복호화기의 일실시예 구성도이다.
보다 상세하게는 도 9a 내지 도 9d는, 각각 도 8a 내지 도 8d의 엔트로피 부호화기에 대응되는 엔트로피 복호화기의 구성도이다. 따라서, 도 9a는 엔트로피 복호화 방법으로 CABAC이 사용된 경우이며, 도 9b는 일반적인 산술 복호화 방법이 사용된 경우이고, 도 9c는 심볼과 부호어 사이의 매핑 정보를 이용한 복호화 방법이 사용된 경우이며, 도 9d는 하위 계층의 정보가 이진화에도 사용되었을 때의 CABAC 복호화기의 구성도이다.
도 9a의 엔트로피 복호화기에서, 컨텍스트 결정부(910)는 엔트로피 부호화된 비트열로부터 현재 복호하여 만들어질 이진값에 대한 컨텍스트를 결정하는 것으로, 복호하여 만들어질 이진 스트링내의 이진값의 각 위치에 따라 컨텍스트를 결정한다. 각 이진값에 해당하는 컨텍스트를 결정할 때, 동일 계층에 속한 부호화 요소 정보 뿐만 아니라, 하위 계층 부호화 요소 저장부(911)로부터 하위 계층에 속한 부호화 요소 정보를 읽어와, 컨텍스트 템플릿에 추가하여 컨텍스트 결정시에 사용한다. 이렇게 결정된 컨텍스트는 엔트로피 복호화부(912)에서, 입력된 비트열으로부터 이진값을 복호하는데 사용된다. 확률 추정부(913)는 컨텍스트를 입력받아 각 이진값에 대한 0과 1의 확률을 추정한다. 산술 복호화 엔진(914)은 추정된 확률값을 가지고 비트열로부터 이진값을 차례로 복호하면서 그 결과를 이진값의 확률을 갱신하기 위하여 확률값을 확률 추정부(913)에 전달한다. 산술 복호화 엔진(914)에서 차례로 복호된 이진값들은 심볼값 변환부(915)를 통하여 심볼 데이터로 변환된다.
한편, 상술한 CABAC 부호화기와는 달리 산술 복호화 엔진이 직접 심볼값을 생성하는 일반적인 산술 복호화기는, 상기 CABAC 복호화기에서 심볼값 변환부(915)만을 제외시키면 그 구성과 기능이 동일하다. 그러나 구체적인 구현예는 달라질 수 있으므로 참조번호는 서로 다르게 표시한다.
도 9c의 엔트로피 복호화기에서, 컨텍스트 결정부(920)는 심볼의 이진값 대신 심볼값을 가지고, 동일 계층에 속한 부호화 요소 정보뿐만 아니라, 하위 계층 부호화 요소 저장부(921)로부터 하위 계층에 속한 부호화 요소 정보를 읽어와, 컨텍스트 템플릿에 추가하여 컨텍스트를 결정한다. 결정된 컨텍스트는 심볼-부호어 매핑 정보 저장부(923)에서 복수개의 매핑 관계 가운데 하나의 매핑 관계를 선택하는 과정에서 이용된다. 엔트로피 복호화 엔진(924)은 선택된 심볼과 부호어의 매핑 관계를 가지고, 부호어에 대하여 해당하는 심볼을 출력한다.
도 9d의 엔트로피 복호화기에서는, 하위 계층 부호화 요소 저장부(931)에 저장되어 있는 하위 계층 부호화 요소에 속한 부호화 요소 정보가 컨텍스트 결정부(930) 뿐만 아니라 심볼값 변환부(932)에서 이진값을 심볼값으로 변환하는 과정에서 사용된다. 그 상세한 과정은, 도 8d를 참조하여 설명한 이진 스트링 변환과정의 역과정과 동일하다.
한편, 위와 같이 심볼값으로 변환하는 관계 자체를 동일 계층, 또는 동일 계층과 하위 계층, 또는 하위 계층만의 부호화 요소를 참조하여 적응적으로 변환하는 방법은, 컨텍스트 결정부가 하위 계층 또는 동일 계층의 부호화 요소를 참조하는 지의 여부와 관계없이 그 자체로도 부호화 효율을 높이는 효과가 있다. 이에 대한 바람직한 실시예가 도 9e에 개시되어 있다. 즉, 컨텍스트 결정부(940)는 도 4에서 설명한 바와 같이 동일 계층의 부호화 요소 정보만을 참조하며, 심볼값 변환부(942)는 동일 계층, 또는 동일 계층과 하위 계층, 또는 하위 계층만의 부호화 요소를 참조한다. 따라서, 계층 부호화 요소 저장부(944)는 상기한 참조정보 선택에 따라 동일 계층, 또는 동일 계층과 하위 계층, 또는 하위 계층의 부호화 요소를 저장한다
본 발명의 실시예를 구현함에 있어, 도 9a 내지 도 9b에 도시한 바와 같이, 컨텍스트 결정부(910,916)와 확률 추정부(913,918)가 분리되어 구현될 수도 있지만, 또 다른 실시예에서는 도 9f 내지 도 9g에 도시한 바와 같이, 도 9a의 컨텍스트 결정부(910)에 확률 추정부(913)의 기능이 합해져 새로운 컨텍스트 결정부(950)가 구현될 수 있다. 마찬가지로 도 9b의 컨텍스트 결정부(916)에 확률 추정부(918)의 기능이 합해져 새로운 컨텍스트 결정부(960)를 구현할 수 있다. 도 9a 내지 도 9b의 실시예에서는 컨텍스트 결정부(910,916)가 결정한 컨텍스트에 의해 확률 추정부(913,918)가 특정 확률값을 정하는 형태이나, 도 9f 내지 도 9g에서는 컨텍스트 결정부(950,960) 자체가 특정 확률값을 정한다. 물론 이 경우 컨텍스트 결정부(950,960)는 확률 갱신의 기능도 같이 수행한다.
도 10a 내지 도 10c는 본 발명의 일실시예에 따른 엔트로피 부호화 방법의 플로우차트이다.
부호화할 부호화 요소의 심볼을 입력받는다(S1010). 경우에 따라서 입력된 부호화 요소의 심볼값은 이진 스트링으로 변환된다. 이진 스트링으로의 변환의 일예는 표 1을 참조하여 상술한 바와 같다. 그리고 나서, 상기 부호화 요소의 심볼값 또는 이진스트링의 각 이진값에 해당하는 컨텍스트를 결정한다(S1012). 이때, 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정한다. 컨텍스트의 결정은 도 7a 내지 도 7b를 참조하여 전술한 바와 같다.
선택된 컨텍스트에 따라, 상기 부호화 요소에 대한 확률을 추정하고(S1014), 추정된 확률값을 이용하여 엔트로피 부호화한다. 만일 표 1을 참조하여 상술한 바와 같이 엔트로피 부호화하기 위해 이진 스트링으로 변환한 경우에는 0의 값과 1의 값에 대한 확률을 추정하고, 추정된 확률값을 이용하여, 입력된 부호화 요소의 심볼값 또는 이진값을 엔트로피 부호화한다(S1016). 또한 엔트로피 부호화한 부호화 요소의 심볼값 또는 이진화한 값에 따라 확률 모델을 갱신한다(S1018). 또한 경우에 따라서는, 컨텍스트의 결정 단계(S1012)와 확률 추정 단계(S1014)의 두 단계가 하나의 단계로 이루어져, 명시적인 컨텍스트의 결정없이, 부호화 하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 상기 부호화 요소에 대한 확률을 추정하도록 할 수도 있다.
도 10b를 참조하여 본 발명의 또 다른 실시예에 따른 엔트로피 부호화 방법을 설명하면, 부호화 할 부호화 요소의 심볼을 입력받은 후(S1020), 상기 부호화 요소에 해당하는 컨텍스트를 결정한다(S1022). 이때 상기 컨텍스트를 결정하는 단계(S1022)의 설명은, 도 10a를 참조하여 상술한 컨텍스트 결정 단계(S1012)와 동일하다. 상기 결정된 컨텍스트에 따라, 도 8c를 참조하여 상술한 바와 같이, 복수개의 심볼-부호어 매핑 관계 중에서 하나의 매핑 관계를 선택한다(S1024). 이후 선택된 매핑 관계에 따라 상기 입력된 부호화 요소에 대한 엔트로피 부호화가 수행되어(S1026), 해당 부호어가 출력된다. 또한 도 10b의 경우에도 컨텍스트의 결정 단계(S1022)와 매핑 관계 선택 단계(S1024)의 두 단계가 하나의 단계로 이루어져, 명시적인 컨텍스트의 결정없이, 부호화 하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 상기 부호화 요소를 부호화할 심볼-부호어 매핑 관계를 선택하도록 할 수 있다.
도 10c를 참조하여, 동일 계층 또는 하위 계층의 정보가 이진화에도 사용되었을 때의 CABAC 엔트로피 부호화 방법을 설명하면, 부호화할 부호화 요소의 심볼을 입력받는다(S1030). 입력된 부호화 요소의 심볼값은 이진 스트링으로 변환된다(S1032). 이진 스트링 변환 단계에서 각 심볼들은 동일 계층 또는 하위 계층에 해당하는 부호화 요소 정보에 따라 이진 스트링이 결정된다. 즉, 주어진 부호화 요소에 대하여 심볼을 이진화할 때 동일 계층만의, 또는 동일 계층과 하위 계층의, 또는 하위 계층에 있는 동일 또는 타 부호화 요소의 심볼 또는 부호화 요소의 성질(attribute)을 나타내는 정보를 이용하여 심볼을 이진 스트링으로 변환한다. 다시 말하면, 이진 스트링으로 변환하는데 있어, 동일 계층의 부호화 요소만을 참조할 수도 있고, 동일 계층의 부호화 요소와 하위 계층의 부호화 요소를 함께 참조할 수 도 있으며, 하위 계층의 부호화 요소만을 참조할 수도 있다.
그리고 나서, 이진화된 상기 부호화 요소의 심볼의 각 이진값에 해당하는 컨텍스트를 결정한다(S1034). 이때, 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층만의 부호화 요소를 참조하거나, 동일 계층 및 하위 계층의 부호화 요소를 참조하거나, 또는 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정한다. 컨텍스트의 결정은 도 7a 내지 도 7b를 참조하여 전술한 바와 같다.
선택된 컨텍스트에 따라, 상기 부호화 요소에 대한 확률을 추정하고(S1036), 추정된 확률값을 이용하여 엔트로피 부호화한다. 만일 표 1을 참조하여 상술한 바와 같이 엔트로피 부호화하기 위해 이진 스트링으로 변환한 경우에는 0의 값과 1의 값에 대한 확률을 추정하고, 추정된 확률값을 이용하여, 부호화 요소를 엔트로피 부호화한다(S1038). 또한 엔트로피 부호화한 부호화 요소의 심볼값 또는 이진화한 값에 따라 확률 모델을 갱신한다(S1040). 또한 경우에 따라서는, 컨텍스트의 결정 단계(S1034)와 확률 추정 단계(S1036)의 두 단계가 하나의 단계로 이루어져, 명시적인 컨텍스트의 선택없이, 부호화 하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 상기 부호화 요소에 대한 확률을 추정하도록 할 수도 있다.
도 11a 내지 도 11c는 본 발명의 일실시예에 따른 엔트로피 복호화 방법의 플로우차트이다.
도 11a를 참조하여, CABAC을 이용한 엔트로피 복호화 방법을 설명하면, 압축 비트열(compressed bitstream)을 입력받고(S1110), 복호하여 만들어질 이진스트링 내의 이진값 각 위치에 따라 컨텍스트를 결정한다(S1112). 각 이진값에 해당하는 컨텍스트를 결정할 때(S1112), 도 9a에서 전술한 바와 같이 동일 계층에 속한 부호화 요소 정보뿐만 아니라, 하위 계층에 속한 부호화 요소 정보까지도 참조한다. 이와 같은 컨텍스트의 결정은 도 7a 내지 7b를 참조하여 전술한 바와 같다. 결정된 컨텍스트에 따라, 각 이진값 0과 1의 데이터에 대한 확률을 추정한다(S1114). 추정된 확률을 이용하여 압축비트열로부터 이진값을 차례로 복호화하는 엔트로피 복호화를 수행한다(S1116). 또한 차례로 복호화된 이진값들에 의하여, 0과 1의 각 이진값에 대한 확률 모델이 갱신된다(S1118). 엔트로피 복호화를 통해 복호화된 이진값들은 심볼값으로 변환된다(S1119). 심볼값 변환단계(S1119)는 도 9a의 심볼값 변환부(915)를 참조하여 전술한 바와 같다.
한편 상기 CABAC을 이용한 엔트로피 복호화 방법과 달리, 엔트로피 복호화(S1116) 과정에서 직접 심볼값을 생성하는 일반적인 산술 복호화 방법의 경우에도 도 11a의 방법이 적용될 수 있다. 이 경우는 심볼값 변환(S1119) 단계가 도 11a에서 제외되는 경우로써, 상기 도 11a의 설명이 그대로 적용된다. 다만 엔트로피 복호화 단계(S1116)는 이진화된 값을 복호화하는 것이 아니라 심볼값을 복호화하므로 상기 컨텍스트 결정(S1112) 단계는 복호하여 만들어질 심볼에 대한 컨텍스트를 결정한다. 또한 결정된 컨텍스트에 따라 각 심볼값에 대한 확률이 추정된다(S1114). 상기 컨텍스트를 결정할 때(S1112), 동일한 계층에 속한 부호화 요소 정보뿐만 아니라, 하위 계층에 속한 부호화 요소 정보까지도 참조한다. 추정된 확률을 이용하여 압축 비트열로부터 심볼값을 복호화하는 엔트로피 복호화(S1116)을 수행한 후, 복호화된 심볼값에 따라 해당 심볼값에 대한 확률 모델이 갱신된다(S1118).
도 11b를 참조하여, 심볼과 부호어 사이의 매핑 정보를 이용한 복호화 방법을 설명하면, 먼저 압축된 비트열을 입력받는다(S1120). 그리고 나서 복호화할 심볼과 동일 계층에 속한 부호화 요소 정보뿐만 아니라, 하위 계층에 속한 부호화 요소 정보를 읽어와, 컨텍스트 템플릿에 추가하여 복호화할 심볼의 컨텍스트를 결정한다(S1122). 결정된 컨텍스트를 이용하여, 도 9c를 참조하여 상술한 바와 같이 복수개의 매핑 관계 가운데 하나의 매핑 관계를 선택한다(S1124). 이렇게 선택된 심볼과 부호어의 매핑 관계를 가지고, 압축된 비트열의 부호어에 대하여 해당하는 심볼을 출력한다(S1126).
도 11c를 참조하여, 동일 계층 또는 하위 계층의 정보가 이진화에도 사용되었을 때의 CABAC 복호화 방법을 설명하면, 압축 비트열(compressed bitstream)을 입력받고(S1130), 복호하여 만들어질 이진 스트링내의 이진값 각 위치에 따라 컨텍스트를 결정한다(S1132). 결정된 컨텍스트에 따라 각 이진값 0과 1의 데이터에 대한 확률을 추정한다(S1134). 추정된 확률을 이용하여 압축 비트열로부터 이진값을 차례로 복호화하는 엔트로피 복호화를 수행한다(S1136). 또한 차례로 복호화된 이진값들에 의하여, 0과 1의 각 이진값에 대한 확률모델이 갱신된다(S1138). 엔트로피 복호화를 통해 복호화된 이진값들은 심볼값으로 변환된다(S1140). 이때 이진값들이 심볼값으로 변환되는 과정은 도 9e를 참조하여 전술한 바와 같다. 즉 이진값들이 심볼값으로 변환될 때, 복호화하여 얻어질 부호화 요소와 동일 계층, 또는 동일 계층과 하위 계층, 또는 하위 계층의 동일 또는 타 부호화 요소의 심볼 또는 부호화 요소의 성질을 나타내는 정보를 참조한다.
위와 같이 심볼값으로 변환하는 관계 자체를 동일 계층, 또는 동일 계층과 하위 계층, 또는 하위 계층만의 부호화 요소를 참조하여 적응적으로 변환하는 방법은, 컨텍스트 결정단계에서, 하위 계층 또는 동일 계층의 부호화 요소를 참조하는 지의 여부와 관계없이 그 자체로도 부호화 효율을 높이는 효과가 있다.
도 12는 본 발명의 엔트로피 부호화기를 구비한 비디오 부호화 장치의 일례를 나타내는 블록도이다.
비디오 부호화 장치는 움직임 추정부(1202), 움직임 보상부(1204), 인트라 프리딕션 수행부(1206), 변환부(1208), 양자화부(1210), 재정렬부(1212), 엔트로피 부호화부(1214), 역양자화부(1216), 역변환부(1218), 필터(1220) 및 프레임 메모리(1222)를 구비한다.
부호화 장치는 여러 가지 부호화 모드 중에서 선택된 하나의 부호화 모드하에서 현재 픽처의 매크로 블록에 대해서 부호화를 수행한다. 이를 위해서, 인터 프리딕션 및 인트라 프리딕션이 가질 수 있는 모든 모드하에서 부호화를 수행하여 율-왜곡 코스트(Rate-Distortion Cost, RDcost)를 계산하여 그 값이 가장 작은 모드를 최적 모드로 정해 그 모드 하에서 부호화를 수행한다. 인터 프리딕션을 위해 현재 픽처의 매크로 블록의 예측치를 참조 픽처에서 찾는 것은 움직임 추정부(1202)에서 수행된다. 그리고, 움직임 보상부(1204)는 1/2 화소 또는 1/4 화소 단위로 참조 블록이 찾아진 경우에는 이들 중간 화소값을 계산하여 참조 블록 데이터 값을 정한다. 이렇게 인터 프리딕션은 움직임 추정부(1202)와 움직임 보상부(1204)에서 수행된다.또한, 현재 픽처의 매크로 블록의 예측치를 현재 픽처내에서 찾는 인트라 프리딕션이 인트라 프리딕션 수행부(1206)에서 수행된다. 현재 매크로 블록에 대해 인터 프리딕션을 수행할 것인가 또는 인트라 프리딕션을 수행할 것인가 하는 것은 모든 부호화 모드하에서의 율-왜곡 코스트를 계산하여 그 값이 가장 작은 모드를 상기 블록의 부호화 모드로 결정하여 매크로 블록에 대한 부호화를 수행한다.
이렇게 인터 프리딕션 또는 인트라 프리딕션이 수행되어 현재 프레임의 매크로 블록이 참조할 예측 데이터가 찾아졌다면, 이를 현재 픽처의 매크로 블록에서 빼서 변환부(1208)에서 변환을 수행한 후에 양자화부(1210)에서 양자화를 수행한다. 현재 프레임의 매크로 블록에서 움직임 추정된 참조 블록을 뺀 것을 잔차(residual)이라고 하는데 부호화시의 데이터량을 줄이기 위해서 잔차값을 부호화하는 것이다. 양자화된 잔차값은 엔트로피 부호화부(1214)에서 인코딩하기 위하여 재정렬부(112)를 거친다. 엔트로피 부호화부(1214)는 도 8a 내지 도 8g를 참조하여, 상술한 바와 같이 구성된다.
한편, 인터 프리딕션에 사용될 참조 픽처를 얻기 위하여 양자화된 픽처를 역양자화부(1216)와 역변환부(1218)를 거쳐 현재 픽처를 복원한다. 이렇게 복원된 현재 픽처는 프레임 메모리에 저장되었다가 다음 픽처에 대하여 인터 프리딕션을 수행하는데 사용된다. 복원된 픽처가 필터(1220)를 통과하면 원래 픽처에서 약간의 부호화 에러를 포함한 픽처가 된다.도 13은 본 발명의 엔트로피 복호화기를 구비한 비디오 복호화 장치의 일례를 나타내는 블록도이다.
비디오 복호화 장치는 엔트로피 복호화부(1310), 재정렬부(1320), 역양자화부(1330), 역변환부(1340), 인트라 프리딕션 수행부(1350), 움직임 보상부(1360), 필터(1370) 및 프레임 메모리(1380)를 구비한다.
비디오 부호화 장치에 의해서 부호화된 비트 스트림이 입력되면, 엔트로피 복호화부(1310)는 엔트로피 복호화하여 심볼 데이터를 추출한다. 이하의 구성요소는 도 12를 참조하여 상술한 구성요소와 그 기능이 동일하다.
한편, 전술한 엔트로피 부호화 및 복호화 방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 엔트로피 부호화 및 복호화 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
전술한 바와 같이 본 발명에 따르면, 신축형 비디오 부호화시 동일 계층의 부호화 요소뿐만 아니라 하위 계층의 부호화 요소도 이용하여 엔트로피 부호화를 수행함으로써 부호화 효율을 향상시킬 수 있는 효과가 있다.

Claims (45)

  1. (a) 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 단계; 및
    (b) 상기 결정된 컨텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화 하는 단계를 포함하는 것을 특징으로 하는 계층적 엔트로피 부호화 방법.
  2. 제1항에 있어서,
    상기 (a) 단계에서 참조하는 부호화 요소는, 상기 부호화하고자 하는 부호화 요소와 동일한 종류의 부호화 요소임을 특징으로 하는 계층적 엔트로피 부호화 방법.
  3. 제1항에 있어서,
    상기 컨텍스트는 확률값을 지시하는 것을 특징으로 하는 계층적 엔트로피 부호화 방법.
  4. 제1항에 있어서,
    상기 컨텍스트는 미리 정해진 복수개의 심볼-부호어간의 관계 중 하나를 지시하는 것을 특징으로 하는 계층적 엔트로피 부호화 방법.
  5. 제1항에 있어서,
    상기 (a) 단계에서 참조하는 부호화 요소는, 상기 부호화하고자 하는 부호화 요소와 동일한 종류의 부호화 요소뿐만 아니라, 다른 종류의 부호화 요소를 포함하는 것을 특징으로 하는 계층적 엔트로피 부호화 방법.
  6. 제1항에 있어서, 상기 (b) 단계에서의 엔트로피 부호화는
    소정의 산술식을 이용하는 산술 부호화, 또는 심볼-부호어 간의 관계를 이용한 부호화인 것을 특징으로 하는 계층적 엔트로피 부호화 방법.
  7. 제1항에 있어서,
    상기 (b) 단계에서의 엔트로피 부호화는, 미리 정해진 복수개의 심볼-부호어간의 매핑 정보를 갖고 있어 이를 이용하여 수행되는 것을 특징으로 하는 계층적 엔트로피 부호화 방법.
  8. 제6항에 있어서, 상기 (b) 단계에서의 엔트로피 부호화는
    이진 산술 부호화, 산술 부호화, 허프만 부호화 또는 단일 가변장 부호화인 것을 특징으로 하는 계층적 엔트로피 부호화 방법.
  9. 제1항에 있어서,
    (a0) 상기 부호화하고자 하는 부호화 요소를 이진 스트링으로 변환하는 단계를 더 포함하는 것을 특징으로 하는 계층적 엔트로피 부호화 방법.
  10. 제9항에 있어서, 상기 (a0) 단계는
    상기 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 부호화하고자 하는 부호화 요소를 이진 스트링으로 변환하는 단계인 것을 특징으로 하는 계층적 엔트로피 부호화 방법.
  11. 제10항에 있어서, 상기 (a0) 단계에서
    상기 참조하는 부호화 요소에 따라 결정되는 컨텍스트에 따라, 부호화 하고자 하는 부호화 요소와 이진 스트링과의 매핑 관계가 고정적이거나 또는 가변적으로 변하는 것을 특징으로 하는 계층적 엔트로피 부호화 방법.
  12. (a) 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 부호화하고자 하는 부호화 요소를 이진 스트링으로 변환하는 단계;
    (b) 상기 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 의 부호화 요소를 참조하여 컨텍스트를 결정하는 단계; 및
    (c) 상기 결정된 컨텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화 하는 단계를 포함하는 것을 특징으로 하는 엔트로피 부호화 방법.
  13. (a) 엔트로피 부호화된 데이터를 입력받아, 엔트로피 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 단계; 및
    (b) 상기 결정된 컨텍스트를 이용하여, 상기 엔트로피 부호화된 데이터를 엔트로피 복호화하는 단계를 포함하는 것을 특징으로 하는 계층적 엔트로피 복호화 방법.
  14. 제13항에 있어서,
    상기 (a) 단계에서 참조하는 부호화 요소는, 상기 부호화된 부호화 요소와 동일한 종류의 부호화 요소임을 특징으로 하는 계층적 엔트로피 복호화 방법.
  15. 제13항에 있어서,
    상기 컨텍스트는 확률값을 지시하는 것을 특징으로 하는 계층적 엔트로피 복호화 방법.
  16. 제13항에 있어서,
    상기 컨텍스트는 미리 정해진 복수개의 심볼-부호어간의 관계 중 하나를 지시하는 것을 특징으로 하는 계층적 엔트로피 복호화 방법.
  17. 제13항에 있어서, 상기 (a) 단계에서 참조하는 부호화 요소는
    상기 부호화된 부호화 요소와 동일한 종류의 부호화 요소뿐만 아니라, 다른 종류의 부호화 요소를 포함하는 것을 특징으로 하는 계층적 엔트로피 복호화 방법.
  18. 제13항에 있어서, 상기 (b) 단계에서의 엔트로피 복호화는
    소정의 산술식을 이용하는 산술 복호화, 또는 심볼-부호어 간의 관계를 이용한 복호화인 것을 특징으로 하는 계층적 엔트로피 복호화 방법.
  19. 제18항에 있어서, 상기 (b) 단계에서의 엔트로피 복호화는
    이진 산술 복호화, 산술 복호화, 허프만 복호화 또는 단일 가변장 복호화인 것을 특징으로 하는 계층적 엔트로피 복호화 방법.
  20. 제13항에 있어서,
    (c) 복호화된 이진 스트링을 심볼값으로 변환하는 단계를 더 포함하는 것을 특징으로 하는 계층적 엔트로피 복호화 방법.
  21. 제20항에 있어서, 상기 (c) 단계는
    부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 엔트로피 복호화된 이진 스트링을 심볼로 변환하는 단계인 것을 특징으로 하는 계층적 엔트로피 복호화 방법.
  22. (a) 엔트로피 부호화된 데이터를 입력받아, 엔트로피 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하여 컨텍스트를 결정하는 단계;
    (b) 상기 결정된 컨텍스트를 이용하여, 상기 엔트로피 부호화된 데이터를 엔트로피 복호화하는 단계; 및
    (c) 상기 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 엔트로피 복호화된 이진 스트링을 심볼로 변환하는 단계를 포함하는 것을 특징으로 하는 엔트로피 복호화 방법.
  23. 제22항에 있어서, 상기 (c) 단계에서
    상기 참조하는 부호화 요소에 따라 결정되는 컨텍스트에 따라, 이진 스트링과 심볼간의 매핑 관계가 고정적이거나 또는 가변적으로 변하는 것을 특징으로 하는 계층적 엔트로피 복호화 방법.
  24. 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 컨텍스트 결정부; 및
    상기 결정된 컨텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화하는 엔트로피 부호화 엔진을 포함하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.
  25. 제24항에 있어서,
    상기 컨텍스트 결정부는 상기 부호화하고자 하는 부호화 요소와 동일한 종류의 부호화 요소를 참조하여 컨텍스트를 결정하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.
  26. 제24항에 있어서,
    상기 컨텍스트는 확률값을 지시하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.
  27. 제24항에 있어서,
    상기 컨텍스트는 미리 정해진 복수개의 심볼-부호어간의 관계 중 하나를 지시하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.
  28. 제24항에 있어서, 상기 컨텍스트 결정부는
    상기 부호화하고자 하는 부호화 요소와 동일한 종류의 부호화 요소뿐만 아니라, 다른 종류의 부호화 요소를 참조하여 컨텍스트를 결정하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.
  29. 제24항에 있어서, 상기 엔트로피 부호화 엔진은
    소정의 산술식을 이용하는 산술 부호화, 또는 심볼-부호어 간의 관계를 이용한 부호화를 수행하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.
  30. 제29항에 있어서, 상기 엔트로피 부호화 엔진은
    이진 산술 부호화, 산술 부호화, 허프만 부호화 또는 단일 가변장 부호화를 수행하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.
  31. 제24항에 있어서,
    부호화하고자 하는 부호화 요소를 이진 스트링으로 변환하는 이진 스트링 변환부를 더 포함하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.
  32. 제31항에 있어서, 상기 이진 스트링 변환부는
    부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 부호화하고자 하는 부호화 요소를 이진 스트링으로 변환하는 것을 특징으로 하는 계층적 엔트로피 부호화 장치.
  33. 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 부호화하고자 하는 부호화 요소를 이진 스트링으로 변환하는 이진 스트링 변환부;
    상기 부호화하고자 하는 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하여 컨텍스트를 결정하는 컨텍스트 결정부; 및
    상기 결정된 컨텍스트를 이용하여, 상기 부호화 요소를 엔트로피 부호화 하는 엔트로피 부호화 엔진을 포함하는 것을 특징으로 하는 엔트로피 부호화 장치.
  34. 제33항에 있어서, 상기 이진 스트링 변환부는
    참조하는 부호화 요소에 따라 결정되는 컨텍스트에 따라, 부호화 하고자 하는 부호화 요소와 이진 스트링과의 매핑 관계가 고정적이거나 또는 가변적으로 변하는 관계를 이용하여 이진 스트링으로 변환하는 것을 특징으로 하는 엔트로피 부호화 장치.
  35. 엔트로피 부호화된 데이터를 입력받아, 엔트로피 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층 및 하위 계층의 부호화 요소를 참조하거나, 하위 계 층의 부호화 요소만을 참조하여 컨텍스트를 결정하는 컨텍스트 결정부; 및
    상기 결정된 컨텍스트를 이용하여, 상기 엔트로피 부호화된 데이터를 엔트로피 복호화하는 엔트로피 복호화 엔진을 포함하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.
  36. 제35항에 있어서,
    상기 컨텍스트 결정부는 상기 부호화된 부호화 요소와 동일한 종류의 부호화 요소를 참조하여 컨텍스트를 결정하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.
  37. 제35항에 있어서,
    상기 컨텍스트는 확률값을 지시하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.
  38. 제35항에 있어서,
    상기 컨텍스트는 미리 정해진 복수개의 심볼-부호어간의 관계 중 하나를 지시하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.
  39. 제35항에 있어서, 상기 컨텍스트 결정부는
    상기 부호화된 부호화 요소와 동일한 종류의 부호화 요소뿐만 아니라, 다른 종류의 부호화 요소를 참조하여 컨텍스트를 결정하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.
  40. 제35항에 있어서, 상기 엔트로피 복호화 엔진은
    소정의 산술식을 이용하는 산술 복호화, 또는 심볼-부호어 간의 관계를 이용한 복호화를 수행하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.
  41. 제40항에 있어서, 상기 엔트로피 복호화 엔진은
    이진 산술 복호화, 산술 복호화, 허프만 복호화 또는 단일 가변장 복호화를 수행하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.
  42. 제35항에 있어서,
    복호화된 이진 스트링을 심볼값으로 변환하는 심볼값 변환부를 더 포함하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.
  43. 제42항에 있어서, 상기 심볼값 변환부는
    상기 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 엔트로피 복호화된 이진 스트링을 심볼로 변환하는 것을 특징으로 하는 계층적 엔트로피 복호화 장치.
  44. 엔트로피 부호화된 데이터를 입력받아, 엔트로피 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하여 컨텍스트를 결정하는 컨텍스트 결정부;
    상기 결정된 컨텍스트를 이용하여, 상기 엔트로피 부호화된 데이터를 엔트로피 복호화하는 엔트로피 복호화 엔진; 및
    상기 부호화된 부호화 요소가 속한 블록의 계층과 동일한 계층의 부호화 요소를 참조하거나, 하위 계층의 부호화 요소를 참조하거나, 동일한 계층 및 하위 계층의 부호화 요소를 모두 참조하여, 상기 엔트로피 복호화된 이진 스트링을 심볼로 변환하는 심볼값 변환부를 포함하는 것을 특징으로 하는 엔트로피 복호화 장치.
  45. 제44항에 있어서, 상기 심볼값 변환부는
    참조하는 부호화 요소에 따라 결정되는 컨텍스트에 따라, 부호화된 부호화 요소와 이진 스트링과의 매핑 관계가 고정적이거나 또는 가변적으로 변하는 관계를 이용하여, 이진 스트링을 심볼값으로 변환하는 것을 특징으로 하는 엔트로피 복호화 장치.
KR1020050031410A 2005-01-14 2005-04-15 신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치 KR100636229B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CA002590705A CA2590705A1 (en) 2005-01-14 2006-01-14 Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding
EP06715723A EP1836858A1 (en) 2005-01-14 2006-01-14 Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding
JP2007551200A JP2008527902A (ja) 2005-01-14 2006-01-14 伸縮型符号化のための適応的エントロピー符号化及び復号化方法とその装置
PCT/KR2006/000162 WO2006075901A1 (en) 2005-01-14 2006-01-14 Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding
US11/332,568 US7262721B2 (en) 2005-01-14 2006-01-17 Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050003918 2005-01-14
KR20050003918 2005-01-14

Publications (2)

Publication Number Publication Date
KR20060083100A KR20060083100A (ko) 2006-07-20
KR100636229B1 true KR100636229B1 (ko) 2006-10-19

Family

ID=37173591

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050031410A KR100636229B1 (ko) 2005-01-14 2005-04-15 신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치

Country Status (3)

Country Link
JP (1) JP2008527902A (ko)
KR (1) KR100636229B1 (ko)
CN (1) CN101099391A (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703776B1 (ko) * 2005-04-19 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 컨텍스트 기반 적응적 산술 코딩및 디코딩 방법과 이를 위한 장치, 이를 포함하는 비디오코딩 및 디코딩 방법과 이를 위한 장치
KR101158439B1 (ko) 2005-07-08 2012-07-13 엘지전자 주식회사 영상 신호의 코딩정보를 압축/해제하기 위해 모델링하는 방법
EP1913778A4 (en) 2005-07-08 2010-04-28 Lg Electronics Inc METHOD FOR MODELING THE CODING OF INFORMATION OF A VIDEO SIGNAL FOR COMPRESSING / DECOMPRESSING THE INFORMATION
KR100878826B1 (ko) * 2005-07-08 2009-01-14 엘지전자 주식회사 영상 신호의 코딩정보를 압축/해제하기 위해 모델링하는방법
KR100935492B1 (ko) * 2007-10-29 2010-01-06 중앙대학교 산학협력단 1 비트 변환을 이용한 움직임 추정 장치 및 방법, 그리고,영상 부호화 장치 및 방법
WO2011022047A1 (en) * 2009-08-21 2011-02-24 Thomson Licensing Methods and apparatus for explicit updates for symbol probabilities of an entropy encoder or decoder
US20110182354A1 (en) * 2010-01-26 2011-07-28 Wonkap Jang Low Complexity, High Frame Rate Video Encoder
EP2362657B1 (en) * 2010-02-18 2013-04-24 Research In Motion Limited Parallel entropy coding and decoding methods and devices
EP2362547B1 (en) * 2010-02-26 2017-10-11 BlackBerry Limited Encoding and decoding methods and devices using a secondary codeword indicator
US9369736B2 (en) 2010-04-05 2016-06-14 Samsung Electronics Co., Ltd. Low complexity entropy-encoding/decoding method and apparatus
WO2011126282A2 (en) 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using transformation index, and method and apparatus for decoding video by using transformation index
KR20110112168A (ko) * 2010-04-05 2011-10-12 삼성전자주식회사 내부 비트뎁스 확장에 기반한 비디오 부호화 방법 및 그 장치, 내부 비트뎁스 확장에 기반한 비디오 복호화 방법 및 그 장치
US9049450B2 (en) 2010-04-05 2015-06-02 Samsung Electronics Co., Ltd. Method and apparatus for encoding video based on internal bit depth increment, and method and apparatus for decoding video based on internal bit depth increment
JP5676744B2 (ja) * 2010-04-13 2015-02-25 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン エントロピー符号化
RS56512B1 (sr) * 2010-04-13 2018-02-28 Ge Video Compression Llc Kodiranje mapa značaja i blokova koeficijenata transformacije
KR101791078B1 (ko) * 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
EP2567546A4 (en) * 2010-05-10 2014-01-15 Samsung Electronics Co Ltd METHOD AND APPARATUS FOR TRANSMITTING AND RECEIVING LAYERED CODED VIDEO
US20110293019A1 (en) * 2010-05-27 2011-12-01 Freescale Semiconductor Inc. Video processing system, computer program product and method for decoding an encoded video stream
WO2012036436A2 (ko) * 2010-09-13 2012-03-22 한국전자통신연구원 엔트로피 부호화/복호화 방법 및 장치
US8344917B2 (en) * 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
HUE027907T2 (en) 2011-01-14 2016-11-28 Ge Video Compression Llc Entropy coding and decoding scheme
CN103563380B (zh) * 2011-05-27 2017-07-21 寰发股份有限公司 减少用于视频处理的行缓冲的方法及装置
RS64604B1 (sr) * 2011-06-16 2023-10-31 Ge Video Compression Llc Entropijsko kodiranje razlika vektora kretanja
US8977065B2 (en) * 2011-07-21 2015-03-10 Luca Rossato Inheritance in a tiered signal quality hierarchy
US8531321B1 (en) * 2011-07-21 2013-09-10 Luca Rossato Signal processing and inheritance in a tiered signal quality hierarchy
RS57491B1 (sr) 2011-10-31 2018-10-31 Samsung Electronics Co Ltd Metod za određivanje kontekstnog modela za nivo koeficijenta transformacije entropijskog dekodiranja
AU2015201782B2 (en) * 2011-10-31 2016-07-28 Samsung Electronics Co., Ltd. Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding
KR102107644B1 (ko) * 2011-11-07 2020-05-08 타지반 투 엘엘씨 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 및 화상 부호화 복호 장치
US20140307808A1 (en) * 2012-12-14 2014-10-16 Boris Kudryashov Protection against packet loss during transmitting video information
WO2014166553A1 (en) 2013-04-09 2014-10-16 Siemens Aktiengesellschaft A method for coding a sequence of digital images
US10499176B2 (en) 2013-05-29 2019-12-03 Qualcomm Incorporated Identifying codebooks to use when coding spatial components of a sound field
US9502045B2 (en) * 2014-01-30 2016-11-22 Qualcomm Incorporated Coding independent frames of ambient higher-order ambisonic coefficients
US10770087B2 (en) 2014-05-16 2020-09-08 Qualcomm Incorporated Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals
CN104581154B (zh) * 2014-12-31 2016-03-02 湖南国科微电子股份有限公司 一种熵编码方法和熵编码器电路
KR101975404B1 (ko) * 2017-12-27 2019-08-28 세종대학교산학협력단 절차적 콘텐츠 생성장치 및 방법

Also Published As

Publication number Publication date
CN101099391A (zh) 2008-01-02
JP2008527902A (ja) 2008-07-24
KR20060083100A (ko) 2006-07-20

Similar Documents

Publication Publication Date Title
KR100636229B1 (ko) 신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치
US7262721B2 (en) Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding
US8401082B2 (en) Methods and systems for refinement coefficient coding in video compression
US8351502B2 (en) Method and apparatus for adaptively selecting context model for entropy coding
US8345752B2 (en) Method and apparatus for entropy encoding/decoding
US9055338B2 (en) System and method for video encoding and decoding
JP2009531997A (ja) ビデオ圧縮に関連する情報を符号化および復号化する方法およびシステム
KR101041973B1 (ko) 플래그 부호화 방법, 플래그 복호화 방법, 및 상기 방법을이용한 장치
KR100736096B1 (ko) 비디오 신호를 그룹별로 인코딩 및 디코딩하는 방법 및장치
CA2543947A1 (en) Method and apparatus for adaptively selecting context model for entropy coding
KR20070118978A (ko) 반복적 인코딩 알고리즘을 이용한 비디오 압축 방법 및 그시스템
KR100772870B1 (ko) Fgs 계층의 블록에 포함되는 계수의 특성에 따라 비디오신호를 부호화하고 복호화하는 방법 및 장치
KR100834757B1 (ko) 엔트로피 부호화 효율을 향상시키는 방법 및 그 방법을이용한 비디오 인코더 및 비디오 디코더
WO2011148887A1 (ja) 動画像配信システム、動画像送信装置、動画像配信方法および動画像配信プログラム
KR100763192B1 (ko) Fgs 계층의 비디오 데이터를 엔트로피 부호화 및복호화하는 방법 및 장치
KR102271878B1 (ko) 영상의 부호화/복호화 방법 및 이를 이용하는 장치
AU2008201768A1 (en) Method and apparatus for adaptively selecting context model for entropy coding

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120927

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee