CPC H03M 7/4093 (2013.01) [H03M 7/3079 (2013.01); H03M 7/40 (2013.01); H03M 7/405 (2013.01); H03M 7/4062 (2013.01); H03M 7/42 (2013.01); H03M 7/6017 (2013.01); H03M 7/6023 (2013.01); G06F 2212/401 (2013.01)] | 24 Claims |
1. A memory device, comprising:
a memory; and
at least one processor configured to:
obtain a symbol stream comprising a plurality of symbols,
determine a Huffman tree corresponding to the symbol stream, wherein each symbol of the plurality of symbols is assigned a corresponding prefix code from among a plurality of prefix codes based on the Huffman tree,
generate a prefix length table based on the Huffman tree, wherein the prefix length table indicates a length of the corresponding prefix code for each symbol,
generate a logarithm frequency table based on the prefix length table, wherein the logarithm frequency table indicates a logarithm of a frequency count for each symbol,
generate a cumulative frequency table which indicates a cumulative frequency count corresponding to each symbol,
generate a compressed bitstream by iteratively applying an encoding function to the plurality of symbols based on the logarithm frequency table and the cumulative frequency table, and
store the compressed bitstream in the memory.
|