IP Library Granted Patent US 7,777,653
Granted Patent B2
US 7,777,653 · App. 12/173,192 · Granted Aug 17, 2010

Decoding variable-length code (VLC) bitstream information

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,777,653
App. No.
12/173,192
Granted
Aug 17, 2010
Kind
B2
Abstract

An information handling system includes a processor that may perform decoding of a variable-length code (VLC) bitstream after preprocessing the bitstream. The bitstream includes multiple VLC symbols as binary codewords. The processor analyzes incoming VLC bitstream information and generates VLC codeword symbol information in conformance with a VLC lookup table. The processor may access a 2 dimensional VLC lookup table in real time or on-the-fly. The VLC lookup table may reside in a system memory of the IHS. The single VLC lookup table may exhibit two dimensional indexing by leading zero count and bit-length possibility.

Claims (26)

1. A method of decoding a bitstream, comprising:

receiving, by a processor, the bitstream, wherein the bitstream includes a plurality of variable length code (VLC) codewords;

generating, by the processor, a variable-length code (VLC) lookup table that is indexed by both leading zero count (N) and bit-length possibility (P), the VLC lookup table including data elements, each data element including a respective VLC symbol and a respective VLC codeword length (L); and

accessing the variable-length code (VLC) lookup table, by the processor, using the leading zero count (N) for codewords in the bitstream as a first index and the bit-length possibility (P) for the codewords as a second index to decode the codewords of the bitstream into respective symbols and respective VLC codeword lengths in real time.

2. The method of claim 1 , further comprising determining, by the processor, from a particular codeword the leading zero count (N) of that particular codeword.

3. The method of claim 1 , further comprising determining, by the processor, an M-max number of bits for a particular codeword.

4. The method of claim 1 , further comprising determining, by the processor, a bit-length possibility (P) for a particular codeword.

5. The method of claim 1 , further comprising storing, by the processor, the leading zero count (N) and bit-length possibility (P) indexed variable-length code (VLC) lookup table in a system memory.

6. The method of claim 1 , further comprising utilizing, by the processor, the VLC codeword-length (L) of a particular decoded codeword to advance to the next codeword of the bitstream after the particular decoded codeword.

7. An information handling system (IHS), comprising

a processor that receives a bitstream including a plurality of variable length code (VLC) codewords, wherein the processor generates a variable-length code (VLC) lookup table that is indexed by both leading zero count (N) and bit-length possibility (P), the VLC lookup table including data elements, each data element including a respective VLC symbol and a respective VLC codeword length (L);

a memory, coupled to the processor, that stores the variable-length code (VLC) lookup table generated by the processor from the bitstream;

the processor being configured to access the variable-length code (VLC) lookup table, using the leading zero count (N) for codewords in the bitstream as a first index and the bit-length possibility (P) for the codewords as a second index to decode the codewords of the bitstream into respective symbols and respective VLC codeword lengths in real time.

8. The IHS of claim 7 , wherein the processor stores the leading zero count (N) and bit-length possibility (P) indexed variable-length code (VLC) lookup table in a system memory.

9. The IHS of claim 7 , wherein the processor determines from a particular codeword the leading zero count (N) of that particular codeword.

10. The IHS of claim 7 , wherein the processor determines an M-max number of bits for a particular codeword.

11. The IHS of claim 7 , wherein the processor determines a bit-length possibility P for a particular codeword.

12. The IHS of claim 7 , wherein the processor utilizes the VLC codeword-length (L) of a particular decoded codeword to advance to the next codeword of the bitstream after the particular decoded codeword.

13. A computer program product stored on a computer readable medium, comprising:

instructions that receive a bitstream including a plurality of variable length code (VLC) codewords;

instructions that generate from the bitstream a 2 dimensional variable-length code (VLC) lookup table that is indexed by both leading zero count (N) and bit-length possibility (P), the variable-length code (VLC) lookup table including data elements, each data element including a respective VLC symbol and a respective VLC codeword length (L); and

instructions that access the variable-length code (VLC) lookup table using the leading zero count (N) for codewords in the bitstream as a first index and the bit-length possibility (P) for the codewords in the bitstream as a second index to decode the codewords of the bitstream into respective symbols and respective VLC codeword lengths in real time.

14. The computer program product of claim 13 , further comprising instructions that utilize the codeword-length (L) of a particular codeword to advance to the next codeword of the bitstream after the particular codeword.

15. The computer program product of claim 13 , further comprising instructions that determine a bit-length possibility (P) for a particular codeword.

16. The computer program product of claim 13 , further comprising instructions that determine from a particular codeword the leading zero count (N) of that particular codeword.

17. The computer program product of claim 13 , further comprising instructions that determine an M-max number of bits for a particular codeword.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2024
From: BEIJING PIANRUOJINGHONG TECHNOLOGY CO., LTD.
To: BEIJING ZITIAO NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 066565/0952 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2023
From: AWEMANE LTD.
To: BEIJING PIANRUOJINGHONG TECHNOLOGY CO., LTD.
Reel/Frame 064501/0498 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: AWEMANE LTD.
Reel/Frame 057991/0960 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2008
From: CHEN, LIANG; FENG, KUAN; LI, HUO DING; LIU, XING; YAN, RONG; YUAN, YU; XU, SHENG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021254/0399 →