Game Development Reference
In-Depth Information
v
where the variable j is the bin index of absLe
el .
When coding a Run , in addition to Lmax and the bin index information as that of
absLe
pair
is also taken into consideration for secondary context modeling. This is because Level
is coded first followed by the Run . The context index C S ( R ) (
v
el does, the current coded Level information of the current
(
Level
,
Run
)
j
,
L
)
is determined by
3
+ (
==
:
),
(
(
) ==
)
j
0?0
1
if
abs
L
1
C S ( R ) (
j
,
L
) =
.
(6.19)
+ (
==
:
),
5
j
0?0
1
otherwise
For the sign of Level , it is simply dumped (coded using probability 0.5 without
any context modeling) with bypass coding.
6.3.3.3 Context Weighting
For the coding of the EOB symbols, i.e., secondary context index equal to zero, a
context weighting scheme is employed, where a weighted version of the conditional
probability estimates from two context models are used to drive the arithmetic coder.
One is defined as the secondary context with index equal to zero, and the other one is
named as accompanying cont ex t C A ( L ) (
er se P represents
the position of the current Level in the reverse scanning order. For an 8
Re
v
er se P
)
wherein Re
v
×
8 block with
at least one nonzero coefficients, the range of Re
er se P is [0, 63], and it is uniformly
quantized into 32 accompanying contexts, [0, 31]. The context index increments are
determined as follows:
v
C A ( L ) [
Re
v
er se P
]=
16
× (
Re
v
er se P
>>
5
) + (
Re
v
er se P
>>
1
)
&0x0f
,
(6.20)
wherein Re
v
er se P is initialized to zero in the beginning of decoding one transformed
block.
6.3.4 CBAC in AVS2
Different from AVS1, AVS2 supports larger transform blocks (e.g., 16
×
16 and
32
32). In the early stage of AVS2 standardization process, the CBAC design for
AVS2 is inherited from that in AVS1 by a straightforward extension. However, CBAC
was primarily designed for 8
×
8 transform blocks while the nonzero coefficients
may be sparser in larger transform blocks. Therefore, to further improve the coding
efficiency and throughput issue in hardware implementation, AVS2 CBAC employs
a two-level coefficient coding scheme, which is mainly from (Wang et al. 2013a ).
The two-level scheme employs the similar concept of sub-block-based partition
as in HEVC (Sole et al. 2012 ) and applies it to the
×
coding to address the
sparsity of large blocks. In this scheme, the sub-block size is set to a fixed value, i.e.,
4
(
Level
,
Run
)
×
4. Such a sub-block is named one coefficient group (CG) in the following text.
 
Search WWH ::




Custom Search