Data Compression Systems and Methods
First Claim
Patent Images
1. A method comprising:
- receiving a data block in a received form;
performing a first compression technique comprising;
compressing said data block in received form with a first encoder to provide a first compressed data block, andcompressing said first compressed data block with a second encoder to provide a second compressed data block;
comparing said second compressed data block against a threshold, wherein said threshold is indicative of data expansion; and
providing said second compressed data block to a device, if no data expansion is determined to have occurred based on said comparing.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for providing fast and efficient data compression using a combination of content independent data compression and content dependent data compression. In one aspect, a method for compressing data comprises the steps of: analyzing a data block of an input data stream to identify a data type of the data block, the input data stream comprising a plurality of disparate data types; performing content dependent data compression on the data block, if the data type of the data block is identified; performing content independent data compression on the data block, if the data type of the data block is not identified.
-
Citations
96 Claims
-
1. A method comprising:
- receiving a data block in a received form;
performing a first compression technique comprising;compressing said data block in received form with a first encoder to provide a first compressed data block, and compressing said first compressed data block with a second encoder to provide a second compressed data block; comparing said second compressed data block against a threshold, wherein said threshold is indicative of data expansion; and providing said second compressed data block to a device, if no data expansion is determined to have occurred based on said comparing. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
- receiving a data block in a received form;
-
16. A method comprising:
- receiving a data block;
outputting data, wherein said outputted data is determined to be; said data block in received form, or a compressed data block wherein said compressed data block is provided by one of a plurality of compression techniques based on a determination between said plurality of compression techniques, and a determination is made whether data expansion occurred with respect to said compressed data block; and outputting a descriptor with said outputted data indicative of no compression or the one of said plurality of compression techniques utilized to provide said compressed data block.
- receiving a data block;
-
17. A method comprising:
-
associating at least one encoder of a plurality of encoders to each one of a plurality of data types; determining a data type of a data block, wherein said data block is provided as part of a data stream; if said determined data type is associated with at least one of said plurality of encoders, compressing said data block with said at least one associated encoder to provide a compressed data block; determining whether said compressed data block is indicative of data expansion; and outputting a descriptor with said compressed data block that is indicative of how said compressed data block was compressed. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A method comprising:
-
associating at least one encoder of a plurality of encoders to each one of a plurality of data types; determining a data type of a data block, wherein said data block is provided as part of a data stream; if said determined data type is associated with at least one of said plurality of encoders, compressing said data block with said at least one associated encoder to provide a compressed data block; determining whether said compressed data block is representative of a data compression ratio above a threshold and, if said determination is above said threshold, outputting said compressed data block; and outputting a descriptor that is indicative of how said compressed data block was compressed. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56)
-
-
57. A machine-readable storage medium encoded with machine executable instructions for performing the method comprising:
-
associating at least one encoder of a plurality of encoders to each one of a plurality of data types; determining a data type of a data block, wherein said data block is provided as part of a data stream; if said determined data type is associated with at least one of said plurality of encoders, compressing said data block with said at least one associated encoder to provide a compressed data block; determining whether said compressed data block is indicative of data expansion; and outputting a descriptor with said compressed data block that is indicative of how said compressed data block was compressed. - View Dependent Claims (58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76)
-
-
77. A machine-readable storage medium encoded with machine executable instructions for performing the method comprising:
-
associating at least one encoder of a plurality of encoders to each one of a plurality of data types; determining a data type of a data block, wherein said data block is provided as part of a data stream; if said determined data type is associated with at least one of said plurality of encoders, compressing said data block with said at least one associated encoder to provide a compressed data block; determining whether said compressed data block is representative of a data compression ratio above a threshold and, if said determination is above said threshold, outputting said compressed data block; and outputting a descriptor that is indicative of how said compressed data block was compressed. - View Dependent Claims (78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96)
-
Specification