Variable length decoding using lookup tables
First Claim
1. In a data processing apparatus, a method for decoding a variable length codeword (VLC), said VLC being a portion of an encoded bitstream in said data processing apparatus comprising the following steps:
- a. reading a VLC from said encoded bitstream, the VLC having a maximum length of X bits;
b. using the VLC as an index into a first table, the first table containing decoded values for all possible VLC'"'"'s with first Y bits not equal to any value in a first set of values, wherein Y is less than X, and if the first Y bits of the VLC are not equal to any value in the first set of values then returning a second decoded value from the first table; and
c. if the first Y bits of the VLC are equal to any value in the first set of values, then returning a pointer to a second table from the first table, using the VLC as an index into the second table, and returning a third decoded value from the second table.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for decoding a variable length codeword (VLC) by reading a VLC, the VLC having a maximum length of X bits. The VLC is used as an index into a first table, wherein the first table contains decoded values for all possible VLC'"'"'s with Y bits not equal to any value in a first set of values. Y is typically less than X and comprises, in the preferred embodiment, the most significant bits of the VLC. If the first Y bits of the VLC are not equal to any value in a first set of values then a second value is returned from the first table. If the first Y bits of the VLC are equal to any value in a first set of values, then a pointer to a second table is returned from the first table. The VLC is used as an index into the second table, and a third value is returned from the second table.
156 Citations
26 Claims
-
1. In a data processing apparatus, a method for decoding a variable length codeword (VLC), said VLC being a portion of an encoded bitstream in said data processing apparatus comprising the following steps:
-
a. reading a VLC from said encoded bitstream, the VLC having a maximum length of X bits; b. using the VLC as an index into a first table, the first table containing decoded values for all possible VLC'"'"'s with first Y bits not equal to any value in a first set of values, wherein Y is less than X, and if the first Y bits of the VLC are not equal to any value in the first set of values then returning a second decoded value from the first table; and c. if the first Y bits of the VLC are equal to any value in the first set of values, then returning a pointer to a second table from the first table, using the VLC as an index into the second table, and returning a third decoded value from the second table. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a data processing apparatus, a method for decoding a variable length codeword (VLC), said VLC being a portion of an encoded bitstream in said data processing apparatus comprising the following steps:
-
a. reading a VLC from said encoded bitstream, the VLC having a maximum length of X bits; b. using the VLC as an index into a first table, the first table containing decoded values for all possible VLC'"'"'s having first Y bits not equal to any value in a first set of values, wherein Y is less than X, and if the first Y bits of the VLC are not equal to any value in a first set of values then returning a second decoded value from the first table; c. if the first Y bits of the VLC are equal to any value in the first set of values, then returning a pointer to a second table from the first table, using the VLC as an index into the second table, and if first Z bits of the VLC are not equal to any value in a third set of values, wherein Z is less than X, then returning a fourth decoded value from the second table; and d. if first Z bits of the VLC are equal to any value in the third set of values, then returning a pointer to a third table from the second table, using the VLC as an index into the third table, and returning a fifth decoded value from the third table. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A data processing apparatus for decoding a variable length codeword (VLC), said VLC being a portion of an encoded bitstream in said data processing apparatus comprising:
-
a. a means for reading a VLC from said encoded bitstream, the VLC having a maximum length of X bits; b. a first table containing decoded values for all possible VLC'"'"'s with first Y bits not equal to any value in a first set of values, wherein Y is less than X, the first table providing a second decoded value responsive to receiving the VLC if the first Y bits of the VLC are not equal to any value in the first set of values; and c. means for returning a pointer to a second table from the first table if the first Y bits of the VLC are equal to any value in the first set of values, means for using the VLC as an index into the second table, and the second table providing a third decoded value responsive to receiving the VLC.
-
-
12. A data processing apparatus for decoding a variable length codeword (VLC) X bits in length, comprising a plurality of lookup tables, each lookup table having:
-
a) entries containing decoded values for Y bits in the VLC, wherein Y is less than X; and b) at least one of the entries in one lookup table containing a pointer to a subsequent lookup table for the Y bits in the VLC. - View Dependent Claims (13)
-
-
14. In a data processing system, a method of decoding a variable length codeword (VLC), said VLC being a portion of an encoded bitstream in said data processing apparatus comprising the following steps:
-
a. retrieving a VLC from said encoded bitstream, said VLC having a first length; b. applying the VLC to a first lookup table, the first lookup table containing entries associating first combinations of X bits of said VLC with a first set of decoded values, a first entry for a first value of said X bits of said VLC containing a reference to a second lookup table, said second lookup table containing entries associating combinations of Y bits of said VLC with a second set of decoded values, said X and Y bits comprising different portions of said VLC, and X and Y being less than said first length and representing different portions of said VLC; and c. if said X bits of said VLC are equal to said first value then retrieving said first entry, applying said Y bits of said VLC to said second lookup table, and retrieving a second decoded value from said second lookup table, otherwise retrieving a first decoded value from said first lookup table. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. In a data processing system, a method of decoding a codeword which is part of an encoded bitstream in said data processing apparatus comprising the following steps:
-
a. retrieving a codeword from said encoded bitstream, said codeword having a first length; b. applying the codeword to a first lookup table, the first lookup table containing entries associating first combinations of X bits of said codeword with a first set of decoded values, a first entry for a first value of said X bits of said codeword containing a reference to a second lookup table, said second lookup table containing entries associating combinations of Y bits of said codeword with a second set of decoded values, said X and Y bits comprising different portions of said codeword, and X and Y being less than said first length and representing different portions of said codeword; and c. if said X bits of said codeword are equal to said first value then retrieving said first entry, applying said Y bits of said codeword to said second lookup table, and retrieving a second decoded value from said lookup table, otherwise retrieving a first decoded value from said first lookup table. - View Dependent Claims (26)
-
Specification