![]() The commonly-occurring motion vector difference (MVD) value of 0 maps to code_num 0 whereas the less-common MVD = -3 maps to code_num 3.2 Context-based adaptive variable length coding (CAVLC) 16x16 prediction from a previous picture) is assigned code_num 0 because it occurs frequently whereas macroblock type Pred_8x8 (8x8 prediction from a previous picture) is assigned code_num 3 because it occurs less frequently. For example, macroblock type Pred_L0_16x16 (i.e. Table 33 Part of coded_block_pattern tableĮach of these mappings (ue, se and me) is designed to produce short codewords for frequently-occurring values and longer codewords for less common parameter values. Table 33 lists a small part of the table for Inter predicted macroblocks: coded_block_pattern indicates which 8x8 blocks in a macroblock contain non-zero coefficients. This mapping is used for the coded_block_pattern parameter. Me(v) : Mapped symbols parameter v is mapped to code_num according to a table specified in the standard. Se(v) : Signed mapping, used for motion vector difference, delta QP and others. Used for macroblock type, reference frame index and others. Ue(v) : Unsigned direct mapping, code_num = v. The length of each codeword is (2M+1) bits.Įach Exp-Golomb codeword can be constructed by the encoder based on its index code_num: M = ⎣log2(code_num+1)⎦Ī parameter v to be encoded is mapped to code_num in one of 3 ways: The first codeword has no leading zero or trailing INFO codewords 1 and 2 have a single-bit INFO field codewords 3-6 have a 2-bit INFO field and so on. Where INFO is an M-bit field carrying information. ![]() Table 31 lists the first 9 codewords it is clear from this table that the codewords progress in a logical order. ![]() 3.1 Exp-Golomb entropy codingĮxp-Golomb codes (Exponential Golomb codes) are variable length codes with a regular construction. When entropy_coding_mode is set to 0, residual block data is coded using a context-adaptive variable length coding (CAVLC) scheme and other variable-length coded units are coded using Exp-Golomb codes. At the slice layer and below, elements are coded using either variable-length codes (VLCs) or context-adaptive arithmetic coding (CABAC) depending on the entropy encoding mode. Parameters that require to be encoded and transmitted include the following (Table 21).Ībove the slice layer, syntax elements are encoded as fixed- or variable-length binary codes. The Variable-Length Coding scheme is described in this document. The H.264 / AVC standard specifies two types of entropy coding: Context-based Adaptive Binary Arithmetic Coding (CABAC) and Variable-Length Coding (VLC).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |