Alphabet-partitioned codewords, for example class based codewords,
are decoded using a two-part decoder. The first part is a class code decoder that
extracts, from the codeword, information for decoding the symbol code. The second
part is a symbol code decoder that uses that information to decode the symbol code.
If the symbol code is a literal, the symbol is just stripped from the codeword;
otherwise, the symbol is retrieved from a symbol memory. Throughput of blocks of
even numbers of codewords is enhanced by compressing first and second block halves
oppositely and by using two decoders to decompress first and second block halves
in parallel. Throughput is enhanced further by using extended codewords, each of
which is a concatenation of class codes and symbol codes of several symbols.