Content independent data compression method and system
DC CAFCFirst Claim
Patent Images
1. A method comprising:
- receiving a data block;
determining whether or not a data type is identified for said data block;
compressing, if said data type is identified, said data block with at least one encoder associated to said data type to provide a compressed data block;
compressing, if said data type is not identified, said data block with at least one encoder associated to a non-identifiable data type to provide said compressed data block; and
storing said compressed data block.
1 Assignment
Litigations
3 Petitions
Reexaminations
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.
426 Citations
45 Claims
-
1. A method comprising:
-
receiving a data block; determining whether or not a data type is identified for said data block; compressing, if said data type is identified, said data block with at least one encoder associated to said data type to provide a compressed data block; compressing, if said data type is not identified, said data block with at least one encoder associated to a non-identifiable data type to provide said compressed data block; and storing said compressed data block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
receiving a data block; determining whether or not a data type is identified for said data block; compressing, if said data type is identified, said data block with at least one encoder associated to said data type to provide a compressed data block; compressing, if said data type is not identified, said data block with at least one encoder associated to a non-identifiable data type to provide said compressed data block; storing said compressed data block; transmitting a data compression type descriptor, indicative of the, compression utilized to provide said compressed data block, with said compressed data block; receiving said compressed data block and said data compression type descriptor; and decompressing said compressed data block based on said data compression type descriptor.
-
-
12. A method comprising:
-
receiving a first data block; associating at least one encoder to each one of several data types; identifying a first data type of said first data block; compressing, if said first data type is the same as one of said several data types, said data block with said at least one encoder associated to said one of said several data types that is the same as said first data type to provide a compressed data block; and compressing, if said first data type is not the same as one of said several data types, said data block with a default encoder to provide said compressed data block. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A method comprising:
-
receiving a first data block; associating at least one encoder to each one of several data types; identifying a first data type of said first data block; compressing, if said first data type is the same as one of said several data types, said data block with said at least one encoder associated to said one of said several data types that is the same as said first data type to provide a compressed data block; compressing, if said first data type is not the same as one of said several data types, said data block with a default encoder to provide said compressed data block; transmitting a data compression type descriptor, indicative of the compression utilized to provide said compressed data block, with said compressed data block; receiving said compressed data block and said data compression type descriptor; and decompressing said compressed data block based on said data compression type descriptor.
-
-
21. A method comprising:
-
associating a first encoder to a first data type; associating a second encoder to a second data type; receiving a data block; determining a data type of said data block; compressing said data block with said first encoder if said data type is the same as said first data type; compressing said data block with said second encoder if said data type is the same as said second data type; and compressing said data block with a third encoder if said data type cannot be identified. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
-
28. A method comprising:
-
associating at least one of several first encoders to each one of several data types; associating at least one second encoder to a non-identifiable data type; receiving a data block from an input stream of data; determining whether a data type is identified for said data block; compressing, if a data type is identified as being associated to said at least one of several first encoders, said data block with said at least one of several first encoders associated to said data type to provide a compressed data block; compressing, if a data type is not identified, said data block with said at least one second encoder to provide said compressed data block; and transmitting said compressed data block with a data compression type descriptor indicative of the compression utilized to provide said compressed data block. - View Dependent Claims (29, 30, 31, 32)
-
-
33. A method comprising:
-
providing several compression techniques; receiving a data block; determining whether or not to compress said data block and, if said data block is to be compressed, determining which one of said several compression techniques to utilize to compress said data block and compressing said data block with said determined one of said several compression techniques to provide a compressed data block; providing a data compression type descriptor with said compressed data block, wherein said data compression type descriptor is either indicative of said determination not to compress or said determined one of said several compression techniques; and transmitting said data compression type descriptor with said compressed data block. - View Dependent Claims (34, 35, 36)
-
-
37. A method comprising:
-
processing a data stream, having a plurality of data blocks, on a first system, wherein said processing comprises; transmitting a first one of said plurality of data blocks of said data stream in compressed form with a first descriptor associated with a first compression technique, wherein said first one of said plurality of data blocks was identified as a first type of data and said first compression technique is associated with said first type of data; transmitting a second compressed one of said plurality of data blocks with a second descriptor associated with a second compression technique, wherein said second one of said plurality of data blocks was not identified as having a data type; and transmitting an third one of said plurality of data blocks in received form with a third descriptor indicative of no compression technique. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45)
-
Specification