events. Then we find that the mean codeword length is L(X') = 3.570 bit/word. The cod- ing efficiency is, therefore, n = 3.522/3.570 = 98.65%, which is an improvement on the previous efficiency n = 97.77% of the single-codeword Huffman code. Since each block code represents a pair of symbols, the actual mean symbol length is L(X')/2 = 1.78 bit/ symbol. This reduction in symbol length may look small with respect to L(X) = 1.80 bit/symbol for the single-symbol code but, as we have seen, it has a noticeable impact on coding efficiency. We can continue to improve the coding efficiency by grouping symbols in ordered triplets (xixjxk), quadruplets (Xixjxkx1), or n-tuplets (xixjxk X#) of arbitrary large sizes, corresponding to a source X(n) assigned with 4n individual codewords. The source X(n) is referred to as the nth extension of the source X. As we know well from Shannon's source-coding theorem, (Chapter 8), the mean code- word length is L(X(n) > H(X() = nH(X). For large n, we have Table 9.3 Block coding by symbol pairs XiXj of the source X = {X1, X2, X3, X4}, with respective probabilities p(x) = {0.5, 0.2, 0.2, 0.1} through the Huffman coding algorithm. The table at left shows the block codeword probabilities and the corresponding entropy of the extended source X' = {X1X1, X1X2, X1X3, X4X2, X4X3, X4X4}. The table at right shows the block symbols ordered in decreasing probabilities with their Huffman block-codeword assignment. Block Pij = Block Block Symbol i Symbol j p(xi) p(xj) symbol p(xi)p(xj) Pipilog2Pij symbol codeword 1(xixj) Pijl(xixj) 0.250 0.500 0.250 0.500 0.100 0.332 0.100 0.300 0.100 0.332 0.100 0.300 0.050 0.216 0.100 0.300 0.100 0.332 0.050 0.400 0.040 0.186 0.040 0.200 0.040 0.186 0.040 11101 0.250 0.020 0.113 0.020 11011 0.200 0.100 0.332 0.100 11010 0.200 0.040 0.186 0.040 11001 0.200 0.040 0.186 0.040 11000 0.200 0.020 0.113 0.020 01110 0.100 0.050 0.216 0.050 111001 0.120 0.020 0.113 0.020 111000 0.120 0.020 0.113 0.020 011111 0.120 0.010 0.066 0.010 011110 0.060 1.000 1.000 Extended source 3.522