Deflate decompressor
First Claim
1. A deflate decompressor apparatus, comprising:
- at least one decompressor unit for decompressing a data stream compressed according to a compression algorithm;
a memory access controller coupled to the at least one decompressor unit via a data path, the memory access controller including a data buffer to receive the data stream and temporarily buffer the data stream, wherein the memory access controller transfers fixed length data units of the data stream from the data buffer to the at least one decompressor unit with reference to a memory pointer pointing into the memory buffer;
a feedback path coupled between the at least one decompressor unit and the memory access controller, wherein the at least one decompressor unit feeds back decrement values to the memory access controller for updating the memory pointer, the decrement values each indicating a number of bits unused by the at least one decompressor unit when decoding the fixed length data units; and
an output buffer unit coupled to the at least one decompressor unit.
4 Assignments
0 Petitions
Accused Products
Abstract
A deflate decompressor includes at least one decompressor unit, a memory access controller, a feedback path, and an output buffer unit. The memory access controller is coupled to the decompressor unit via a data path and includes a data buffer to receive the data stream and temporarily buffer a first portion the data stream. The memory access controller transfers fixed length data units of the data stream from the data buffer to the decompressor unit with reference to a memory pointer pointing into the memory buffer. The feedback path couples the decompressor unit to the memory access controller to feed back decrement values to the memory access controller for updating the memory pointer. The decrement values each indicate a number of bits unused by the decompressor unit when decoding the fixed length data units. The output buffer unit buffers a second portion of the data stream after decompression.
-
Citations
21 Claims
-
1. A deflate decompressor apparatus, comprising:
-
at least one decompressor unit for decompressing a data stream compressed according to a compression algorithm; a memory access controller coupled to the at least one decompressor unit via a data path, the memory access controller including a data buffer to receive the data stream and temporarily buffer the data stream, wherein the memory access controller transfers fixed length data units of the data stream from the data buffer to the at least one decompressor unit with reference to a memory pointer pointing into the memory buffer; a feedback path coupled between the at least one decompressor unit and the memory access controller, wherein the at least one decompressor unit feeds back decrement values to the memory access controller for updating the memory pointer, the decrement values each indicating a number of bits unused by the at least one decompressor unit when decoding the fixed length data units; and an output buffer unit coupled to the at least one decompressor unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for decompressing a dataset compressed using variable length codes, the method comprising:
-
buffering the dataset within a data buffer; transferring fixed length portions of the dataset from the data buffer to a decompressor unit with reference to a memory pointer; decoding each of the variable length codes of the dataset based on a corresponding one of the fixed length portions; feeding back decrement values from the decompressor unit each indicating how many bits of one of the fixed length portions was unused by the decompressor unit to decode one of the variable length codes; updating a location of the memory pointer using the decrement values between transferring consecutive ones of the fixed length portions to realign the memory pointer with a start of a next variable length code; and outputting the dataset in an uncompressed format. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A computer-readable storage medium that provides instructions that, when executed by a computer, will cause the computer to perform operations for decompressing a dataset, the operations comprising:
-
buffering the dataset compressed using variable length codes within a data buffer; transferring fixed length portions of the dataset from the data buffer to a decompressor unit with reference to a memory pointer; decoding each of the variable length codes of the dataset based on a corresponding one of the fixed length portions; feeding back decrement values from the decompressor unit each indicating how many bits of one of the fixed length portions was unused by the decompressor unit to decode one of the variable length codes; updating a location of the memory pointer using the decrement values between transferring consecutive ones of the fixed length portions to realign the memory pointer with a start of a next variable length code; and outputting the dataset in an uncompressed format. - View Dependent Claims (19, 20, 21)
-
Specification