Adaptive compression
First Claim
1. A method performed by a computing system for compressing data, comprising:
- identifying two or more partitions of a data stream;
optionally pre-processing data in each partition;
creating one or more evaluation functions to evaluate a suitability for compression of the data in each partition using a set of potential compression methods;
processing the created one or more evaluation functions;
choosing a subset of the set of potential compression methods for each partition at least partly by analyzing the evaluation functions;
selecting using a dynamic programming technique a compression method for each partition based at least on a compression rate of the data in the partition;
compressing the data in each partition using the selected compression method for the partition, thereby creating a sequence of compression methods wherein each member of the sequence indicates a compression method used to compress a corresponding partition; and
compressing a subsequence of the sequence of compression methods.
5 Assignments
0 Petitions
Accused Products
Abstract
Technology for adaptive compression is described (“the technology”). The technology may identify two or more partitions of a data stream; optionally pre-process data in each partition; create one or more evaluation functions to evaluate a suitability for compression of the data in each partition using a set of potential compression methods; process the created one or more evaluation functions; choose a subset of the set of potential compression methods for each segment at least partly by analyzing the evaluation functions; select a compression method for each segment based on a compression ratio of compressing the sequence of used compression methods and a compression rate of the data; compress the data in each partition using the selected compression method for the partition; compress a subsequence that indicates which compression method is used for each segment.
-
Citations
23 Claims
-
1. A method performed by a computing system for compressing data, comprising:
-
identifying two or more partitions of a data stream; optionally pre-processing data in each partition; creating one or more evaluation functions to evaluate a suitability for compression of the data in each partition using a set of potential compression methods; processing the created one or more evaluation functions; choosing a subset of the set of potential compression methods for each partition at least partly by analyzing the evaluation functions; selecting using a dynamic programming technique a compression method for each partition based at least on a compression rate of the data in the partition; compressing the data in each partition using the selected compression method for the partition, thereby creating a sequence of compression methods wherein each member of the sequence indicates a compression method used to compress a corresponding partition; and compressing a subsequence of the sequence of compression methods. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable storage medium storing computer-executable instructions that, when executed, perform a method for compressing multiple streams of data, comprising:
-
identifying two or more partitions of each of two or more signals; optionally pre-processing one or more signals to make it more suitable for high rate of compression; creating one or more evaluation functions to evaluate a suitability for compression of the data in each partition using a set of potential compression methods wherein some of the functions are defined over two or more signals; processing the created evaluation functions; choosing a subset of the set of potential compression methods for each partition of each signal at least partly by analyzing the evaluation functions; selecting a compression method for each partition of each signal based at least on a compression rate of the data in the partition; compressing the data in each partition of all signals using the selected compression method, thereby creating a sequence of compression methods wherein each member of the sequence indicates a compression method used to compress a corresponding partition; and compressing a subsequence of the sequence of compression methods. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. A system for compressing data, comprising:
-
a component configured to identify two or more partitions of a data stream; a component configured to optionally pre-process data in each partition; a component configured to create one or more evaluation functions to evaluate a suitability for compression of the data in each partition using a set of potential compression methods; a component configured to process the created one or more evaluation functions; a component configured to choose a subset of the set of potential compression methods for each partition at least partly by analyzing the evaluation functions; a component configured to select a compression method for each partition based on a compression ratio of compressing a sequence of compression methods used to compress the data in a corresponding partition and a compression rate of the data in the corresponding partition; a component configured to compress the data in each partition using the selected compression method for the partition; and a component configured to compress a subsequence of the sequence of compression methods.
-
Specification