High speed variable length decoding processor
First Claim
1. In a general purpose processor including a register group comprising a plurality of n-bit registers, a variable length decoding circuit for decoding a variable-length code, the decoding circuit comprising:
- a code data register for storing a portion of variable-length coded data, the code data register longer than n-bits and at least as long as a maximum coding length characterizing the variable-length code;
a data count register for storing a data length representing an amount of the portion of variable-length coded data not yet decoded;
a pointer register for storing a memory location from which to next read additional variable-length coded data into the code data register; and
an ALU for decoding the portion of the variable-length coded data in the code data register.
1 Assignment
0 Petitions
Accused Products
Abstract
A general-purpose processor performs high-speed variable-length decoding. The general-purpose processor includes a video data register for exclusively storing the variable-length code that stores data having a length larger than the maximum length of the variable code to be decoded. The general-purpose processor also includes a data counter register for exclusively storing the length of the data in the video data register which has not been decoded, as well as a pointer register for exclusively storing the address of the variable-length code to be read out next from a bit stream stored in memory. The general-purpose processor also includes an ALU for performing general purpose operations, and decodes the variable-length code stored in the video data register by controlling the video data register, the data counter register, and the pointer register.
9 Citations
17 Claims
-
1. In a general purpose processor including a register group comprising a plurality of n-bit registers, a variable length decoding circuit for decoding a variable-length code, the decoding circuit comprising:
-
a code data register for storing a portion of variable-length coded data, the code data register longer than n-bits and at least as long as a maximum coding length characterizing the variable-length code;
a data count register for storing a data length representing an amount of the portion of variable-length coded data not yet decoded;
a pointer register for storing a memory location from which to next read additional variable-length coded data into the code data register; and
an ALU for decoding the portion of the variable-length coded data in the code data register. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
a memory for storing variable-length coded data characterized by the maximum coding length. -
3. The variable length decoding circuit of claim 1, wherein the code data register exclusively stores portions of the variable-length coded data.
-
4. The variable length decoding circuit of claim 1, wherein the data count register exclusively stores data lengths representing amounts of the portions of variable-length coded data not yet decoded.
-
5. The variable length decoding circuit of claim 1, wherein the pointer register exclusively stores positions in memory from which to next read additional variable-length coded data into the code data register.
-
6. The variable length decoding circuit of claim 1, further comprising a barrel shifter coupled to the ALU.
-
7. The variable length decoding circuit of claim 6, wherein said ALU includes a logic-OR circuit comprising path transistors.
-
8. The processor of claim 1, further comprising a cache memory for storing variable-length coded data characterized by the maximum coding length.
-
-
9. A processor for decoding a variable-length code characterized by a maximum coding length, the processor comprising:
-
an instruction fetch section;
an instruction decoder;
a register group comprising a plurality of n-bit general purpose registers;
a code data memory means for storing a portion of variable-length coded data, the code data memory means greater in capacity than n-bits and at least as great in capacity as the maximum coding length;
a data count register for storing a data length representing an amount of the portion of variable-length coded data not yet decoded;
a pointer register for storing a memory location from which to next read additional variable-length coded data into the code data register; and
a decoding means for decoding the portion of the variable-length coded data in the code data register. - View Dependent Claims (10, 11, 12)
-
-
13. In a general purpose processor including a register group comprising a plurality of n-bit registers, a method for variable length decoding, the method comprising:
-
storing, in a code data register, a portion of variable-length coded data, the code data register longer than n-bits and at least as long as a maximum coding length characterizing the variable-length code;
storing, in a data count register, a data length representing an amount of the portion of variable-length coded data not yet decoded;
storing, in a pointer register, a memory location from which to next read additional variable-length coded data into the code data register; and
decoding the portion of the variable-length coded data in the code data register. - View Dependent Claims (14, 15, 16, 17)
-
Specification