Data compression systems and methods
DC CAFCFirst Claim
1. A method of decompressing one or more compressed data packets of a data stream using a data decompression processor, wherein multiple decoders applying a plurality of lossless decompression techniques are applied to a data packet, the method comprising:
- receiving a data packet from the data stream having one or more descriptors comprising one or more values, wherein the one or more descriptors indicate lossless encoders used to compress data blocks associated with the data packet, and further wherein the lossless encoders are selected based on analyses of content of the data blocks;
analyzing the data packet to identify a descriptor;
selecting one or more lossless decoders for a data block associated with the data packet, wherein the selecting is based on the descriptor;
decompressing the data block with a selected lossless decoder utilizing content dependent data decompression, if the descriptor indicates the data block is encoded utilizing content dependent data compression; and
decompressing the data block with a selected lossless decoder utilizing content independent data decompression, if the descriptor indicates the data block is encoded utilizing content independent data compression.
1 Assignment
Litigations
0 Petitions
Reexamination
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 block, the input data stream comprising a plurality of disparate data type; 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
22 Claims
-
1. A method of decompressing one or more compressed data packets of a data stream using a data decompression processor, wherein multiple decoders applying a plurality of lossless decompression techniques are applied to a data packet, the method comprising:
-
receiving a data packet from the data stream having one or more descriptors comprising one or more values, wherein the one or more descriptors indicate lossless encoders used to compress data blocks associated with the data packet, and further wherein the lossless encoders are selected based on analyses of content of the data blocks; analyzing the data packet to identify a descriptor; selecting one or more lossless decoders for a data block associated with the data packet, wherein the selecting is based on the descriptor; decompressing the data block with a selected lossless decoder utilizing content dependent data decompression, if the descriptor indicates the data block is encoded utilizing content dependent data compression; and decompressing the data block with a selected lossless decoder utilizing content independent data decompression, if the descriptor indicates the data block is encoded utilizing content independent data compression. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for decompressing one or more compressed data packets of a data stream, wherein multiple decoders applying a plurality of lossless decompression techniques are applied to a data packet, the system comprising:
-
an input interface that receives a data packet from the data stream having one or more descriptors comprising one or more values, wherein the one or more descriptors indicate lossless encoders used to compress data blocks associated with the data packet, and further wherein the lossless encoders are selected based on analyses of content of the data blocks; a data decompression processor operatively connected to said input interface having a computer readable program code of instructions executable by the data decompression processor, said instructions comprising; analyze the data packet to identify a descriptor; select one or more lossless decoders for a data block associated with the data packet, wherein the selecting is based on the descriptor; decompress the data block with a selected lossless decoder utilizing content dependent data decompression, if the descriptor indicates the data block is encoded utilizing content dependent data compression; decompress the data block with a selected lossless decoder utilizing content independent data decompression, if the descriptor indicates the data block is encoded utilizing content independent data compression; and an output interface operatively connected to said data decompression processor that outputs a decompressed data packet. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method of compressing a plurality of data blocks to create a compressed data packet in a data stream using a data compression processor, wherein multiple encoders applying a plurality of lossless compression techniques are applied to data blocks, the method comprising:
-
receiving a data block; analyzing content of the data block to determine a data block type; selecting one or more lossless encoders based on the data block type and a computer file, wherein the computer file indicates data block types and associated lossless encoders; compressing the data block with a selected encoder utilizing content dependent data compression, if the data block type is recognized as associated with a lossless encoder utilizing content dependent data compression; compressing the data block with a selected lossless encoder utilizing content independent data compression, if the data block type is not recognized as associated with a lossless encoder utilizing content dependent data compression; and providing a descriptor for the compressed data packet in the data stream, wherein the descriptor indicates the one or more selected lossless encoders for the encoded data block. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A system for compressing a plurality of data blocks to create a compressed data packet in a data stream, wherein multiple encoders applying a plurality of lossless compression techniques are applied to data blocks, comprising:
-
an input interface that receives a data block; a data compression processor operatively connected to said input interface having a computer readable program code of instructions executable by the data compression processor, said instructions comprising; analyze content of the data block to determine a data block type; select one or more lossless encoders based on the data block type and a computer file, wherein the computer file indicates data block types and associated lossless encoders; compress the data block with a selected lossless encoder utilizing content dependent data compression, if the data block type is recognized as associated with a lossless encoder utilizing content dependent data compression; compress the data block with a selected lossless encoder utilizing content independent data compression, if the data block type is not recognized as associated with a lossless encoder utilizing content dependent data compression; and an output interface operatively connected to said data compression processor that outputs a descriptor comprising one or more values in the compressed data packet in the data stream, wherein the descriptor indicates the selected one or more lossless encoders. - View Dependent Claims (20, 21, 22)
-
Specification