Game Development Reference
In-Depth Information
2.3.3 Entropy Coding
The early image coding methods usually achieve compression by directly exploit-
ing the spatial statistical redundancy in the image, such as Huffuman coding
(Huffman et al. 1952 ) and Golomb code (Golomb 1966 ). After transform coding was
invented, considering the coefficients distribution, Tescher and Cox ( 1976 ) proposed
the famous zig-zag scan which transforms the two dimensional DCT coefficients into
one dimensional array. To improve coding efficiency further, MPEG-2/4 use different
VLC tables for intra- and inter-prediction residual blocks (MPEG2 1994 ;MPEG4
1999 ), and H.263 also adds optional advanced intra coding mode and alternative
inter VLC mode to gain some adaptation. In AVC/H.264, a context-based adaptive
variable length coding (CAVLC) (Bjontegaard 2002 ;Au 2002 ) designed for 4
4
DCT is adopted, which obtains higher coding efficiency further by using multiple
contexts, each associated with a VLC table, to adapt to local statistical variations of
DCT coefficients.
Compared to the VLC code assigning at least one bit to a symbol, arithmetic
coding can represent one symbol with less than one bit in average when the proba-
bility of the symbol is higher than 50% by assigning a codeword to the input symbol
sequences instead of each symbol. Although the concept of arithmetic coding has
been proposed for a long time, the first practical entropy coding scheme is pro-
posed by Rissanen and Langdon ( 1979 ) until 1979. And the first hybrid block-based
video coding schemes that incorporate an adaptive binary arithmetic coder capable
of adapting the model probabilities to the existing symbol statistics was presented
in Gonzales ( 1989 ). H.263 is the first block-based hybrid video coding standard that
adopts arithmetic entropy coder. However, the arithmetic coder in H.263 encodes
the same syntax elements as the VLC method, which makes it difficult to represent
symbol with a non-integer length. A real successful arithmetic coding scheme is
proposed in AVC/H.264, context-based adaptive binary arithmetic coding (CABAC)
(Marpe et al. 2003 ). In addition, the multiple probability models are assumed to be
static, which cannot adapt to local variation of symbols. CABAC does not encode
the syntax elements directly, but it only encodes each bin of every binarized syntax
elements. The probability model is selected according to previous encoded syntax
elements or bins, which is also updated with the value of the encoded symbol. Com-
pared with CAVLC of AVC/H.264, CABAC achieves about 9-14% bitrate saving. In
the latest HEVC/H.265 standard, more efficient CABAC was designed by reducing
the Context dependence.
×
2.3.4 In-Loop Filtering
Block-based coded images and videos usually suffer from annoying artifacts at low
bit rates. In hybrid video coding framework, the independent coarse quantization of
every block is the main cause of compression artifacts, e.g., blocking artifact and
 
Search WWH ::




Custom Search