Efficient decoding of n-tuple variable bit length symbols
First Claim
1. A method for decoding a data stream comprising the steps of:
- repeating, until a termination condition is encountered, the steps of forming an index including one or more bits received from the data stream, retrieving an element in a selected table based on the index, and unless the termination condition is encountered, selecting a next selected table based on information included in the element; and
extracting one or more symbols from information in the element.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems that leverage the advantages of Huffman coding to increase processing efficiency of a data-stream while simultaneously minimizing storage requirements are provided. Decoding efficiency and table storage requirements can be balanced to produce systems that can be adapted for use in high-end network infrastructure applications and for low-resourced portable consumer devices. The systems and methods are operative in decoding data streams using multi-symbol codes and sign information, including AAC and MP3 data streams. A hierarchical structure of tables is described as having primary tables, secondary tables, tertiary tables and so on. Optimization balances processing requirements, table storage requirements and the described systems and methods may be implemented on a variety of processing platforms.
30 Citations
20 Claims
-
1. A method for decoding a data stream comprising the steps of:
-
repeating, until a termination condition is encountered, the steps of forming an index including one or more bits received from the data stream, retrieving an element in a selected table based on the index, and unless the termination condition is encountered, selecting a next selected table based on information included in the element; and
extracting one or more symbols from information in the element. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for decoding a data stream comprising:
-
one or more tables, each table including a plurality of elements;
a prefetcher for receiving encoded bits from the data stream;
a sequencer for obtaining a codeword from the encoded bits and for using sequential portions of the codeword to locate an element in the one or more tables that decodes the codeword. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for decoding a data stream comprising the steps of:
-
repeating, until a termination condition is encountered, the steps of forming an index including one or more bits received from the data stream, retrieving an element in a selected table based on the index, and unless the termination condition is encountered, selecting a next selected table based on information included in the element;
extracting one or more symbols from information in the element; and
obtaining sign bits associated with the one or more symbols, wherein the number of sign bits is provided in the element;
whereintables are selected from a hierarchical set of tables, and wherein each table in the set has an associated table size that is configured to optimize an average number of lookups per codeword (“
ALPC”
) associated with at least one table.
-
Specification