Abstract
An adaptive canonical Huffman decoder includes a content selector, a symbol index generator, and a symbol index table. The content selector outputs the content select signal, and the symbol table buffer reads and stores a corresponding symbol table among a plurality of symbol tables stored in an external memory. The symbol index generator stores a plurality of decoding informations of encoding tables, and selects a corresponding decoding information among the decoding informations according to a content select signal. Then the symbol index generator receives a bit stream, and decodes the bit stream according to the corresponding decoding information, so as to obtain a symbol index. Then the symbol table buffer finds an output symbol in the corresponding symbol table according to the symbol index.