Game Development Reference
In-Depth Information
Table 6.1 Unary binarization
N
Unary representation (Bin string)
0
1
1
01
2
001
...
-
-
-
-
5
000001
...
- - - - - - -
Bin index ( j ) 0123456
...
In video coding systems, some syntax elements values, such as Level and Run ,are
typically in a large range in a DCT block. Coding these values directly by an m -ary
(for m
2) arithmetic code will have a high computational complexity. Besides, the
source with typically large alphabet size often suffers from “context dilution” effect
when the high-order conditional probabilities have to be estimated on a relatively
small set of coding samples. Therefore, binary arithmetic code is adopted in CBAC.
In this section, we present the binary arithmetic coder on logarithm domain adopted
in CBAC. Actually, the CBAC coding engine consists of two subengines, one for the
'regular' coding mode, which includes the utilization of adaptive contexts, and the
other so-called 'bypass' coding engine for a fast encoding of symbols, for which an
approximately uniform probability (the probabilities of symbol '0' and '1' are equal,
i.e., 0.5 ) is assumed. The following presentation includes the basic parts of binary
arithmetic coder: (1) Interval subdivision, (2) Renormalization process to keep finite
precision during the whole coding process, and (3) Adaptively update probability
estimation. For the detail information about the binary arithmetic coder, readers can
refer to Yu et al. ( 2006 ).
Binary arithmetic coding is based on the principle of recursive interval subdivision
that involves the following elementary multiplication operation. Suppose that an
estimate of the probability p MPS
>
of the most probable symbol (MPS) is
given and the given interval is represented by its lower bound denoted as L and
its width (range) represented by R . Based on these settings, the given interval is
subdivided into two subintervals: one interval of width
(
0
.
5
,
1
)
R MPS =
R
×
p MPS ,
(6.6)
which is associated with the MPS , and the dual interval of width R LPS is equal to
R - R MPS , which is assigned to the least probable symbol (LPS) having a probability
estimation of 1
p MPS . Figure 6.4 depicts a complete cycle of coding process. The
process is an iterative one which consists of consecutive MPS symbols and one LPS
symbol. 9-bit precision for range is kept during whole coding process. In the binary
arithmetic coder of CBAC, we substitute the multiplication in Eq. ( 6.6 ) with addition
by using logarithm domain instead of original domain. When a MPS happens, the
renewal of range is given as
 
Search WWH ::




Custom Search