VARIABLE LENGTH DECODER FOR DECODING DIGITALLY ENCODED VIDEO SIGNALS
First Claim
1. A variable length decoder for decoding a stream of compressed video data, wherein the stream includes a plurality of variable length encoded data representing image areas of transmitted frames, comprising:
- a memory for storing variable length encoded data;
a command decode and execution circuit coupled to the memory for receiving selected variable length encoded data from the memory;
a sequencer coupled to the command decode and execution circuit for providing commands to the command decode and execution circuit to convert the variable length encoded data into corresponding decoded values; and
a master controller coupled to the command decode and execution circuit for providing commands to the command decode and execution circuit independently of the sequencer to control decoding operation of the command decode and execution circuit.
1 Assignment
0 Petitions
Accused Products
Abstract
A variable length decoder (VLD) for decoding MPEG-1 and -2 syntax compliant video bit streams. The VLD includes a micro-sequencer and VLD command decode/execution unit for controlling the MPEG decoding process using a novel instruction set. The instruction set includes a set of commands for decoding the video data and a set of flow control instructions. A rotator/barrel shifter is provided for making a predetermined number of encoded bits from the video bit stream available to the VLD and a variable length table decoder for variable length decoding using the MPEG standard variable length code (VLC) tables. The variable length table decoder shares a prefix pattern matching scheme across all of the VLC tables and organizes the variable length codes into a series of subtables. Each subtable corresponds to one of the unique prefix patterns. Variable length codes are decoded by identifying a leading pattern in the video data bit stream and, in parallel, accessing the subtable corresponding to that leading pattern. Run-length and amplitude level DCT coefficient symbols are stored in compressed form, and decoded as needed by an inverse transform unit. Motion vectors are also stored until needed by a motion compensation unit.
22 Citations
23 Claims
-
1. A variable length decoder for decoding a stream of compressed video data, wherein the stream includes a plurality of variable length encoded data representing image areas of transmitted frames, comprising:
-
a memory for storing variable length encoded data;
a command decode and execution circuit coupled to the memory for receiving selected variable length encoded data from the memory;
a sequencer coupled to the command decode and execution circuit for providing commands to the command decode and execution circuit to convert the variable length encoded data into corresponding decoded values; and
a master controller coupled to the command decode and execution circuit for providing commands to the command decode and execution circuit independently of the sequencer to control decoding operation of the command decode and execution circuit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
- 14. The variable length table decoder of claim 13 wherein each of the variable length codes includes an associated code length, and wherein the control circuitry is responsive to the pattern match circuit for obtaining a code length from the subtable data circuit associated with the unique prefix pattern in the variable length codes that matches the identified prefix pattern in the variable length encoded data, and additional data in the variable length codes after the unique prefix pattern that matches additional data in the variable length encoded data after the identified prefix pattern.
-
21. A method for decoding a stream of compressed video data using variable length code tables, wherein the stream includes a plurality of variable length encoded data representing image areas of transmitted frames, comprising the steps of:
-
defining a variable length code table including a decoded value associated with each of a plurality of variable length codes;
defining a plurality of unique prefix patterns associated with the variable length codes, defining a plurality of subtables, wherein each subtable is associated with one of the unique prefix patterns in the variable length codes and includes at least one decoded value that is associated with the unique prefix pattern and additional data in the variable length code after the unique prefix pattern;
identifying in the variable length encoded data one of the unique prefix patterns associated with the variable length codes; and
obtaining a decoded value from the subtable associated with the unique prefix pattern in the variable length codes that matches the identified prefix pattern in the variable length encoded data, and additional data in the variable length codes after the unique prefix pattern that matches additional data in the variable length encoded data after the identified prefix pattern. - View Dependent Claims (22, 23)
-
Specification