ISO/IEC 10918-1 : 1993(E)
Sz = | V | 1
Figure F.6 Sequence of procedures in encoding non-zero values of V
Figure F.6 [D76] = 13.5 cm = 528 %
Encoding the sign
The sign is encoded by coding a 0-decision when the sign is positive and a 1-decision when the sign is negative
(see Figure F.7).
The context-indices SS, SN and SP are defined for DC coding in Table F.4 and for AC coding in Table F.5. After the sign
is coded, the context-index S is set to either SN or SP, establishing an initial value for Encode_log2_Sz.
Encoding the magnitude category
The magnitude category is determined by a sequence of binary decisions which compares Sz against an exponentially
increasing bound (which is a power of 2) in order to determine the position of the leading 1-bit. This establishes the
magnitude category in much the same way that the Huffman encoder generates a code for the value associated with the
difference category. The flow chart for this procedure is shown in Figure F.8.
The starting value of the context-index S is determined in Encode_sign_of_V, and the context-index values X1 and X2
are defined for DC coding in Table F.4 and for AC coding in Table F.5. In Figure F.8, M is the exclusive upper bound for
the magnitude and the abbreviations "SLL" and "SRL" refer to the shift-left-logical and shift-right-logical operations in
this case by one bit position. The SRL operation at the completion of the procedure aligns M with the most significant bit
of Sz (see Table F.3).
The highest precision allowed for the DCT is 15 bits. Therefore, the highest precision required for the coding decision
tree is 16 bits for the DC coefficient difference and 15 bits for the AC coefficients, including the sign bit.
CCITT Rec. T.81 (1992 E)