Data compression/decompression system
First Claim
1. A data processing system, comprising:
- an input memory configured to receive a data stream;
a plurality of data compressors communicatively coupled with the input memory, each of the plurality of data compressors configured to apply a data compression algorithm to the data stream to generate a respective compressed version of the data stream; and
a controller communicatively coupled with each of the plurality of data compressors, the controller configured to;
determine which of the plurality of data compressors generated the smallest compressed version of the data stream;
sub-divide the data stream into a plurality of intervals each having a fixed length;
increase the length of each of the fixed intervals in response to improving data compression efficiency with a corresponding increase in the length of each of the fixed intervals; and
forward the smallest compressed version of the data stream.
2 Assignments
0 Petitions
Accused Products
Abstract
An improved system and method for data compression/decompression are disclosed. A data compression system may comprise an input memory, a plurality of data compressors, and a controller. In preferred embodiments, the controller selectively forwards data compressed with the most efficient data compressor over sub-portions of a data stream. A data decompression system may be implemented with an input memory, a data compression method identifier, and a plurality of data decompressors. In preferred embodiments, the data compression method identifier selectively applies an appropriate data decompressor over sub-portions of a compressed data stream. A method for compressing data can be summarized by the following steps: receiving a data stream; applying a plurality of data compression algorithms to the data stream; determining which of the plurality of data compression algorithms was most effective; buffering the compressed data; and generating a record indicative of which the applied data compression algorithms. A method for decompressing data can be summarized as follows: receiving a compressed data stream; identifying which of a plurality of data decompression algorithms is appropriate to apply over a sub-portion of the compressed data stream; determining the length of the compressed sub-portion of the data stream; and applying the identified data decompression algorithm to the received compressed data stream for the length in bytes generated in the determining step.
-
Citations
31 Claims
-
1. A data processing system, comprising:
-
an input memory configured to receive a data stream;
a plurality of data compressors communicatively coupled with the input memory, each of the plurality of data compressors configured to apply a data compression algorithm to the data stream to generate a respective compressed version of the data stream; and
a controller communicatively coupled with each of the plurality of data compressors, the controller configured to;
determine which of the plurality of data compressors generated the smallest compressed version of the data stream;
sub-divide the data stream into a plurality of intervals each having a fixed length;
increase the length of each of the fixed intervals in response to improving data compression efficiency with a corresponding increase in the length of each of the fixed intervals; and
forward the smallest compressed version of the data stream. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for compressing data, comprising:
-
receiving a data stream;
sub-dividing the data stream into a plurality of intervals each having a fixed length;
applying the plurality of intervals to a plurality of data compression algorithms;
determining which of the plurality of data compression algorithms was most effective over a sub-portion of the data stream; and
increasing the length of each of the intervals in response to improving data compression efficiency with a corresponding increase in the length of each of the fixed intervals. - View Dependent Claims (9, 10, 11)
-
-
12. A data processing system, comprising:
-
an input memory configured to receive a compressed data stream, the compressed data stream comprising a plurality of intervals, the length of the intervals responsive to improving data compression efficiency over a corresponding increase in length of the intervals;
a controller communicatively coupled with the input memory, the controller configured to apply information indicative of the data compression algorithm used to compress the data stream in order to generate a control signal; and
a plurality of data decompressors each selectively coupled to an output of the input memory to receive the compressed data stream, wherein a particular data decompressor is coupled to the input memory in response to the control signal to generate a reproduction of a clear text version of the compressed data stream. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A method for decompressing compressed data, comprising:
-
receiving a compressed data stream, the compressed data stream comprising a plurality of intervals, the length of the intervals responsive to improving data compression efficiency over a corresponding increase in length of the intervals;
identifying which of a plurality of data decompression algorithms is appropriate to apply over the plurality of intervals within the data stream;
determining the length of the compressed intervals of the data stream; and
applying the identified data decompression algorithm to the received compressed data stream for the length in bytes generated in the determining step. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A computer program embodied on a computer-readable medium, the computer program, comprising:
-
a first code segment that receives a data stream, the first code segment configured to forward the data stream to a plurality of data compression algorithms to generate a plurality of compressed representations of the data stream;
a second code segment configured to receive and compare the compressed representations of the data stream, wherein the second code segment selectively forwards one of the plurality of compressed representations; and
a third code segment configured to increase the length of each of a plurality of intervals used to generate the plurality of compressed representations in response to improving data compression efficiency with a corresponding increase in the length of each of the plurality of intervals. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. A computer program embodied on a computer-readable medium, the computer program, comprising:
-
a first code segment configured to receive a compressed data stream, the compressed data stream comprising a plurality of intervals, the length of the intervals responsive to improving data compression efficiency over a corresponding increase in length of the intervals, the first code segment configured to identify one of a plurality of data decompression algorithms wherein the identified data decompression algorithm is the corollary to a data compression algorithm used to compress an original version of the data stream; and
a second code segment configured to apply the identified data decompression algorithm to reconstruct the original data stream. - View Dependent Claims (29, 30, 31)
-
Specification