1 |
1
(a) TotalCoeffs(TC)와 TrailingOnes(T1s)의 조합으로 구성된 Coeff_Token의 디코딩 단계, (b) 각각의 0이 아닌 계수들 앞에 있는 0의 개수인 run_before의 디코딩 단계 및 (c) 마지막 0이 아닌 계수 이전의 0인 계수들의 개수인 total_zeros의 디코딩 단계를 포함하되,상기 Coeff_Token의 디코딩 단계, 상기 run_before의 디코딩 단계 및 상기 total_zeros의 디코딩 단계는 각각(1) VLC 코드들을 소정의 기준에 따라 정렬 및 그룹으로 분류하는 단계;(2) 상기 각 그룹마다 디코딩을 위한 산술식을 지정하는 단계; 및(3) 상기 산술식에 따라 디코딩을 수행하는 단계를 포함하는 것을 특징으로 하는 CAVLC 디코딩 방법
|
2 |
2
제1항에 있어서,상기 Coeff_Token의 디코딩 단계는(a-1) VLC 코드들을 비트의 길이 및 코드값의 순서대로 정렬하는 단계;(a-2) 상기 정렬된 VLC 코드를 관련있는 그룹으로 분류하는 단계; 및(a-3) 상기 분류된 그룹마다 제1 산술식을 각각 정의하고 상기 제1 산술식을 이용하여 디코딩하는 단계를 포함하는 것을 특징으로 하는 CAVLC 디코딩 방법
|
3 |
3
제2항에 있어서,상기 Coeff_Token의 디코딩 단계는 좌측 4x4블록의 DCT 계수의 개수[nA]와 상단 4x4블록의 DCT 계수의 개수[nB]의 평균값인 nC(=Round[(nA+nB)/2])에 따라 VLC0 테이블 내지 VLC2 테이블 중 어느 하나를 선택하고, 상기 선택된 테이블에 포함된 VLC 코드에 대하여 상기 (a-1) 단계를 수행하는 것을 특징으로 하는 CAVLC 디코딩 방법
|
4 |
4
제3항에 있어서,상기 nC값이 -1인 경우에는 크로마 DC 테이블이 선택되며, 상기 nC값이 0 이상 2 미만인 경우에는 VLC0 테이블이 선택되며, 상기 nC값이 2 이상 4 미만인 경우에는 VLC1 테이블이 선택되며, 상기 nC값이 4 이상 8 미만인 경우에는 VLC2 테이블이 선택되는 것을 특징으로 하는 CAVLC 디코딩 방법
|
5 |
5
제2항에 있어서,상기 (a-1) 단계는 상기 VLC 코드들에서 비트 1's의 위치, 연속된 VLC 코드들의 값의 연속성 및 상기 VLC 코드들 중에서 Exp-Golomb 코드의 prefix 인 m: VLC 코드에서 첫 번째 비트 1 이 나오기까지의 비트 0의 개수에 따라 상기 그룹으로 분류하는 것을 특징으로 하는 CAVLC 디코딩 방법
|
6 |
6
제4항에 있어서,상기 VLC0 테이블이 선택되는 경우, 상기 (a-1) 단계는 상기 VLC 코드들을 9 비트의 길이를 가지는 이진수로 표현하는 단계를 포함하고, 상기 (a-2) 단계는 상기 표현된 이진수를 이진수의 값의 크기에 따라 3개의 그룹으로 분류하는 단계를 포함하고, (a-3) 단계는 상기 분류된 3개의 그룹 각각에 FAST_GETM을 이용하거나 산술식 [T1s=(code&256)?0:(3-f); TC=T1s], [T1s=f+(f>>1); TC=T1s+1], [T1s=7-(code>>g); TC=T1s+(3-g)+((T1s+1)>>2)] 중 선택된 어느 하나를 할당하여 디코딩하는 단계를 포함하는 것을 특징으로 하는 CAVLC 디코딩 방법
|
7 |
7
제4항에 있어서,상기 VLC0 테이블이 선택되는 경우, 상기 (a-1) 단계는 상기 VLC 코드들을 16 비트의 길이를 가지는 이진수로 표현하는 단계를 포함하고, 상기 (a-2) 단계는 상기 표현된 이진수를 이진수의 값의 크기에 따라 5개의 그룹으로 분류하는 단계를 포함하고, (a-3) 단계는 상기 분류된 5개의 그룹 각각에 산술식 [T1s=7-(code16>>(g+5)); TC=T1s+5-g+((T1s+1)>>2)], [T1s=3-(f&3); TC=T1s+6+((15-f)>>2)+((T1s+1)>>2)], [T1s=3-(f&3); TC=T1s+10-(g<<1)+((15-f)>>2)+((4-T1s)>>2)], [T1s=3-(code16&3); TC=T1s+12+((15-code16)>>2)+((code16&2)>>1)] 및 [T1s=1-g; TC=13+3*g] 중 선택된 어느 하나를 할당하여 디코딩하는 단계를 포함하는 것을 특징으로 하는 CAVLC 디코딩 방법
|
8 |
8
제4항에 있어서,상기 VLC1 테이블이 선택되는 경우, 상기 (a-1) 단계는 상기 VLC 코드들을 9 비트의 길이를 가지는 이진수로 표현하는 단계를 포함하고, 상기 (a-2) 단계는 상기 표현된 이진수를 이진수의 값의 크기에 따라 3개의 그룹으로 분류하는 단계를 포함하고, (a-3) 단계는 상기 분류된 3개의 그룹 각각에 산술식 [T1s=(g<<1)+(f>>1); TC=T1s+((g+f)>>2)], [T1s=3-((code>>f)&(3-h)); TC=(3-g)+(k<<1)+(k>>1)], [T1s=((f-g)==3)?0:(7-f); TC=T1s+(6-g)-(k&(f&1))] 중 선택된 어느 하나를 할당하고 디코딩하는 단계를 포함하는 것을 특징으로 하는 CAVLC 디코딩 방법
|
9 |
9
제4항에 있어서,상기 VLC1 테이블이 선택되는 경우, 상기 (a-1) 단계는 상기 VLC 코드들을 14 비트의 길이를 가지는 이진수로 표현하는 단계를 포함하고, 상기 (a-2) 단계는 상기 표현된 이진수를 이진수의 값의 크기에 따라 4개의 그룹으로 분류하는 단계를 포함하고, (a-3) 단계는 상기 분류된 4개의 그룹 각각에 산술식 [T1s=3-(f&3); TC=T1s+9-(g<<1)+((15-f)>>2) -((f&1)&(T1s>>1))], [T1s=3-(f&3); TC=12+((15-f)>>2+((T1s+1)>>2)], [T1s=12-code14-3*((13-code14)>>2); TC=17-((code14+1)>>2)] 및 [T1s=(code14<4) ? 3 : (7-code14); TC=15+g] 중 선택된 어느 하나를 할당하고 디코딩하는 단계를 포함하는 것을 특징으로 하는 CAVLC 디코딩 방법
|
10 |
10
제4항에 있어서,상기 VLC2 테이블이 선택되는 경우, 상기 (a-1) 단계는 상기 VLC 코드들을 7 비트의 길이를 가지는 이진수로 표현하는 단계를 포함하고, 상기 (a-2) 단계는 상기 표현된 이진수를 이진수의 값의 크기에 따라 4개의 그룹으로 분류하는 단계를 포함하고, (a-3) 단계는 상기 분류된 4개의 그룹 각각에 산술식 [T1s=(f>3)?3:f; TC=f], [T1s=(f<4)?f:(1+(f&1)); TC=(f==3)?8:(T1s+(f>>1)+((9-f)>>3))], [T1s=((15-code)&3)*(1-g); TC=(T1s==0)?(7-(code>>2)) : (((T1s+7)>>1)<<1)], [T1s=(f&3); TC=(g<<2)+(1+(f>>2))+(g&1)] 중 선택된 어느 하나를 할당하고 디코딩하는 단계를 포함하는 것을 특징으로 하는 CAVLC 디코딩 방법
|
11 |
11
제4항에 있어서,상기 VLC2 테이블이 선택되는 경우, 상기 (a-1) 단계는 상기 VLC 코드들을 10 비트의 길이를 가지는 이진수로 표현하는 단계를 포함하고, 상기 (a-2) 단계는 상기 표현된 이진수를 이진수의 값의 크기에 따라 4개의 그룹으로 분류하는 단계를 포함하고, (a-3) 단계는 상기 분류된 4개의 그룹 각각에 산술식 [T1s=((f+6)>>4)<<1; TC=T1s+7-(f&1)], [T1s=3-(f&3); TC=T1s+((5-g)<<1)+((15-f)>>2)], [T1s=(code10&2)>>1; TC=T1s+12] 및 [T1s=(13-code10)&3; TC=16-((code10-1) >>2)] 중 선택된 어느 하나를 할당하고 디코딩하는 단계를 포함하는 것을 특징으로 하는 CAVLC 디코딩 방법
|
12 |
12
제4항에 있어서,상기 크로마 DC 테이블이 선택되는 경우, 상기 (a-1) 단계는 상기 VLC 코드들을 8 비트의 길이를 가지는 이진수로 표현하는 단계를 포함하고, 상기 (a-2) 단계는 상기 표현된 이진수를 이진수의 값의 크기에 따라 4개의 그룹으로 분류하는 단계를 포함하고, (a-3) 단계는 상기 분류된 4개의 그룹 각각에 산술식 [T1s=(g>>2)+(((9-g) >>3)<<1); TC=T1s], [T1s=((g-1)>>2) * (f+(f>>1)); TC=f+1-(((f+1)>>2)<<1)], [T1s=4-(code8>>g); TC=4-g] 및 [T1s=3; TC=4] 중 선택된 어느 하나를 할당하고 디코딩하는 단계를 포함하는 것을 특징으로 하는 CAVLC 디코딩 방법
|
13 |
13
제1항에 있어서,상기 run_before의 디코딩 단계는(b-1) zero_left 값에 따라 테이블로 분류하고, 상기 테이블 내의 VLC 코드들을 그룹으로 분류하는 단계; 및(b-2) 상기 분류된 그룹마다 제2 산술식을 각각 정의하고, 상기 제2 산술식을 이용하여 디코딩하는 단계를 포함하는 것을 특징으로 하는 CAVLC 디코딩 방법
|
14 |
14
제13항에 있어서,상기 (b-1) 단계는 zero_left 값에 따라 7개의 테이블로 분류하고 상기 7개의 테이블에 포함된 VLC 값들을 5개의 그룹으로 분류하는 단계를 포함하며, 상기 (b-2) 단계는 상기 분류된 5개의 그룹 각각에 산술식 [RB=ZL-(code&((code>>1)+1))], [RB=3-(code>>1)], [RB=(ZL<6)?f:((code<2)?(code+1):f)], [RB=7-(code11>>9)] 및 [RB=4+m] 중 선택된 어느 하나를 할당하고 디코딩하는 단계를 포함하는 것을 특징으로 하는 CAVLC 디코딩 방법
|
15 |
15
제1항에 있어서,상기 total_zeros의 디코딩 단계는(c-1) TotalCoeff의 값에 따라 VLC 코드 값을 분류하여 테이블을 작성하는 단계;(c-2) 조건문의 개수가 소정 기준 이하인 테이블에 대하여 제3 산술식을 정의하고 상기 제3 산술식을 이용하여 디코딩하는 단계; 및(c-3) 상기 조건문의 개수가 소정 기준 이상인 테이블에 대하여 TLBS 방법으로 디코딩하는 단계를 포함하는 것을 특징으로 하는 CAVLC 디코딩 방법
|
16 |
16
제15항에 있어서,상기 (c-1) 단계는 상기 TotalCoeff의 값에 따라 15개의 total_zeros 테이블로 분류하는 단계를 포함하며, 상기 (c-2) 단계는 TotalCoeff의 값이 1, 13, 14 및 15인 total_zeros 테이블에 대하여 상기 제3 산술식을 정의하고 상기 제3 산술식에 따라 디코딩하는 단계를 포함하며, 상기 (c-3) 단계는 TotalCoeff의 값이 2 내지 12인 total_zeros 테이블에 대하여 상기 TLBS 방법으로 디코딩하는 단계를 포함하는 것을 특징으로 하는 CAVLC 디코딩 방법
|
17 |
17
제15항에 있어서,상기 (c-2) 단계는 TotalCoeff의 값이 1, 13, 14 및 15인 total_zeros 테이블 각각에 대하여 산술식 [TZ=0], [TZ=(m<<1)-((code>>(7-m))&1)], [TZ=16-code], [TZ=((code>>g)&(h+1))+(h-g)], 및 [TZ=code&(g+1)] 중 선택된 어느 하나를 할당하고 디코딩하는 단계를 포함하는 것을 특징으로 하는 CAVLC 디코딩 방법
|