background image
ISO/IEC 10918-1 : 1993(E)
Annex F
Sequential DCT-based mode of operation
(This annex forms an integral part of this Recommendation | International Standard)
ISO/IEC 10918-1 : 1993(E)
CCITT Rec. T.81 (1992 E)
This annex provides a functional specification of the following coding processes for the sequential DCT-based mode of
operation:
1)
baseline sequential;
2)
extended sequential, Huffman coding, 8-bit sample precision;
3)
extended sequential, arithmetic coding, 8-bit sample precision;
4)
extended sequential, Huffman coding, 12-bit sample precision;
5)
extended sequential, arithmetic coding, 12-bit sample precision.
For each of these, the encoding process is specified in F.1, and the decoding process is specified in F.2. The functional
specification is presented by means of specific flow charts for the various procedures which comprise these coding
processes.
NOTE ­ There is no requirement in this Specification that any encoder or decoder which embodies one of the above-named
processes shall implement the procedures in precisely the manner specified by the flow charts in this annex. It is necessary only that an
encoder or decoder implement the function specified in this annex. The sole criterion for an encoder or decoder to be considered in
compliance with this Specification is that it satisfy the requirements given in clause 6 (for encoders) or clause 7 (for decoders), as
determined by the compliance tests specified in Part 2.
F.1
Sequential DCT-based encoding processes
F.1.1
Sequential DCT-based control procedures and coding models
F.1.1.1
Control procedures for sequential DCT-based encoders
The control procedures for encoding an image and its constituent parts ­ the frame, scan, restart interval and
MCU ­ are given in Figures E.1 to E.5. The procedure for encoding a MCU (see Figure E.5) repetitively calls the
procedure for encoding a data unit. For DCT-based encoders the data unit is an 8
×
8 block of samples.
F.1.1.2
Procedure for encoding an 8
×
×
8 block data unit
For the sequential DCT-based processes encoding an 8
×
8 block data unit consists of the following procedures:
a)
level shift, calculate forward 8
×
8 DCT and quantize the resulting coefficients using table destination
specified in frame header;
b)
encode DC coefficient for 8
×
8 block using DC table destination specified in scan header;
c)
encode AC coefficients for 8
×
8 block using AC table destination specified in scan header.
F.1.1.3
Level shift and forward DCT (FDCT)
The mathematical definition of the FDCT is given in A.3.3.
Prior to computing the FDCT the input data are level shifted to a signed two's complement representation as described in
A.3.1. For 8-bit input precision the level shift is achieved by subtracting 128. For 12-bit input precision the level shift is
achieved by subtracting 2048.
F.1.1.4
Quantization of the FDCT
The uniform quantization procedure described in Annex A is used to quantize the DCT coefficients. One of four
quantization tables may be used by the encoder. No default quantization tables are specified in this Specification.
However, some typical quantization tables are given in Annex K.
The quantized DCT coefficient values are signed, two's complement integers with 11-bit precision for 8-bit input
precision and 15-bit precision for 12-bit input precision.
CCITT Rec. T.81 (1992 E)
87
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186]