Decoding variable length codes without conditional branching
AssigneeEnroute, Inc.
InventorRoy T. Hashimoto
Life of this patent
Estimating the term…
Abstract
A decoder decodes a binary input string encoded with a variable length code using an offset lookup table and a symbol lookup table. The decoder reads a first subset of leading bits from the binary input string and calculates an offset index value for the offset lookup table based on the first subset of leading bits. The offset index value is used to index the offset lookup table to obtain an offset value. Then, a symbol index value for the symbol lookup table is calculated from the offset value and a second subset of leading bits from the binary input string. The symbol index value is used to index the symbol lookup table to obtain a symbol, which corresponds to a third subset of leading bits of the binary input string.
Claims30
A method of decoding a binary input string encoded using a variable length code;
- the method comprising:
- reading a first subset of leading bits from the binary input string;
- calculating an offset index value for an offset lookup table;
- retrieving an offset value from the offset lookup table;
- calculating a symbol index value for a symbol lookup table, wherein the symbol index value is based on the offset value and a second subset of leading bits from the binary input string;
- and
- retrieving a symbol corresponding to a codeword formed by a third subset of leading bits from the binary input string.
A decoder for a binary input string encoded by a variable length encoder, the decoder comprising:
- an input buffer coupled to receive the binary input string;
- an offset index calculation unit coupled to the input buffer;
- an offset lookup table coupled to the offset index calculation unit;
- and
- a symbol lookup table coupled to the offset lookup table.
A decoder of decoding a binary input string encoded using a variable length code;
- the decoder comprising:
- means for reading a first subset of leading bits from the binary input string;
- means for calculating an offset index value for an offset lookup table;
- means for retrieving an offset value from the offset lookup table;
- means for calculating a symbol index value for a symbol lookup table, wherein the symbol index value is based on the offset value and a second subset of leading bits from the binary input string;
- and
- means for retrieving a symbol corresponding to a codeword formed by a third subset of leading bits from the binary input string.
Dependencies are inferred from the claim text.