Abstract
An adaptive canonical Huffman decoder including a symbol index generator, a content selector, and a symbol table buffer circuit is illustrated. The content selector outputs a content selection signal. The symbol table buffer circuit reads a corresponding symbol table from a plurality of symbol tables stored in an external memory according to the content selection signal and stores the corresponding symbol table. The symbol index generator stores decoding information of a plurality of encoding tables and selects a corresponding decoding information among all the decoding information according to the content selection signal. Then, the symbol index generator receives a bit stream and decodes the bit stream according to the corresponding decoding information to obtain a symbol index. After that, the symbol table buffer circuit obtains an output symbol from the corresponding symbol table according to the symbol index.