Claims
- 1. A method for decoding a variable length codeword embedded in a bit stream, comprising the steps of:
- detecting the number of leading 1's in said variable length codeword;
- looking up from a first storage means (i) a "tail length" corresponding to the maximum number of bits following said number of leading 1's in said variable length codeword; and (ii) a first memory address;
- separating from said bit stream in accordance with said tail length a bit string including the bits of said codeword following said leading 1's;
- combining said first memory address and said bit string to form a second memory address; and
- using said second address to access a second storage means to obtain a decoded value of said codeword.
- 2. A method as in claim 1, wherein said step of separating further comprises the steps of:
- providing said bit string in a reversed order from the order the bits in said bit string are provided in said bit stream; and
- setting to zero in said bit string all bits not belonging to said codeword.
- 3. A method as in claim 2, wherein said step of combining comprises the step of adding said first memory address to said bit string.
- 4. A method as in claim 1, wherein said method further comprises, prior to said detecting step, the step of aligning in said bit stream said variable code by shifting out a variable code previously decoded.
- 5. A method as claim 1, wherein said second memory address selects a location in said second storage means from a number of memory locations no more than 2K- log.sub.2 K -1, where K is the number of all possible decoded values.
- 6. A method as in claim 1, wherein, when at least one bit follows said leading 1's in said codeword, a `0` bit follows in said codeword said leading 1's, and wherein said bit string does not include said `0` bit.
- 7. A structure for decoding a variable length codeword embedded in a bit stream, comprising:
- means for detecting the number of leading 1's in said variable length codeword;
- means for looking up from a first storage means (i) a "tail length" corresponding to the maximum number of bits following said number of leading 1's in said variable length codeword; and (ii) a first memory address;
- means for separating from said bit stream in accordance with said tail length a bit string including the bits of said codeword following said leading 1's;
- means for combining said first memory address and said bit string to form a second memory address; and
- means, using said second address, for accessing a second storage means to obtain a decoded value of said codeword.
- 8. A structure as in claim 7, wherein said means for separating further comprises:
- means for providing said bit string in a reversed order from the order the bits in said bit string are provided in said bit stream; and
- means for setting to zero in said bit string all bits not belonging to said codeword.
- 9. A structure as in claim 8, wherein said means for combining comprises means for adding said first memory address to said bit string.
- 10. A structure as in claim 7, wherein said structure further comprises means for aligning in said bit stream said variable code by shifting out a variable code previously decoded.
- 11. A structure as claim 7, wherein said second memory address selects a location of said second storage means from a number of memory locations no more than 2K- log.sub.2 K -1, where K is the number of all possible decoded values.
- 12. A structure as in claim 7, wherein, when at least one bit follows said leading 1's in said codeword, a `0` bit follows in said codeword said leading 1's, and wherein said bit string does not include said `0` bit.
CROSS REFERENCE TO RELATED APPLICATIONS
This application is a continuation-in-part Application of a copending Application ("'959 Application") entitled "Method and Apparatus for Decoding Huffman Codes," by P. Ruetz and P. Tong, Ser. No. 07/737,959, filed on Jul. 30, 1991, assigned to LSI Logic, which is also the assignee of the present Application. The disclosure of the copending '959 Application is hereby incorporated by reference in its entirety.
This application is also a Continuation-in-part Application of a copending Application ("'620 Application") entitled "Method and Apparatus for Decoding Huffman Codes by Detecting a Special Class," P. Tong and R. Ruetz, Ser. No. 07/737,620, filed Jul. 30, 1991, now U.S. Pat. No. 5,181,031, assigned to LSI Logic, which is also the assignee of the present Application. The disclosure of the copending '620 Application is hereby incorporated by reference in its entirety.
US Referenced Citations (4)
Non-Patent Literature Citations (2)
Entry |
Ruetz et al., "A Video-Rate JPEG Chip Set," LSI Logic Corporation, pp. 1-11. |
Lu et al., "An Encoding Procedure and a Decoding Procedure for a New Modified Huffman Code," Jan. 1990, vol. 38, No. 1, IEEE Transactions on Acoustics, Speech, and Signal Processing, pp. 128-136. |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
737959 |
Jul 1991 |
|