ISO/IEC 10918-1 : 1993(E)
A Huffman code table, HUFFCODE, containing a code for each size in HUFFSIZE is generated by the procedure in
Figure C.2. The notation "SLL CODE 1" in Figure C.2 indicates a shift-left-logical of CODE by one bit position.
TISO1010-93/d037
Generate_code_table
K = 0
CODE = 0
SI = HUFFSIZE(0)
HUFFCODE(K) = CODE
CODE = CODE + 1
K = K + 1
Yes
No
HUFFSIZE(K) = SI
?
Yes
No
HUFFSIZE(K) = 0
?
Done
No
Yes
CODE = SLL CODE 1
SI = SI + 1
HUFFSIZE(K) = SI
?
Figure C.2 ­ Generation of table of Huffman codes
Figure C.2 [D37], = 16.5 cm = 645.%
Two tables, HUFFCODE and HUFFSIZE, have now been generated. The entries in the tables are ordered according to
increasing Huffman code numeric value and length.
The encoding procedure code tables, EHUFCO and EHUFSI, are created by reordering the codes specified by
HUFFCODE and HUFFSIZE according to the symbol values assigned to each code in HUFFVAL.
52
CCITT Rec. T.81 (1992 E)
 [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]