LOSSLESS DATA COMPRESSION AND REAL-TIME DECOMPRESSION
First Claim
1. A method for storing data in an information processing system, the method comprising:
- receiving uncompressed data;
dividing the uncompressed data into a series of vectors;
identifying a sequence of profitable bitmask patterns for the vectors that maximizes compression efficiency while minimizes decompression penalty;
creating matching patterns using a plurality of bit masks based on a set of maximum values of a frequency distribution of the vectors;
building a dictionary based upon the set of maximum values in the frequency distribution and a bit mask savings which is a number of bits reduced using each of the plurality of bit masks;
compressing each of the vectors using the dictionary and the matching patterns with having high bit mask savings;
storing the vectors which have been compressed into memory.
2 Assignments
0 Petitions
Accused Products
Abstract
A method, information processing system, and computer program storage product store data in an information processing system. Uncompressed data is received and the uncompressed data is divided into a series of vectors. A sequence of profitable bitmask patterns is identified for the vectors that maximizes compression efficiency while minimizes decompression penalty. Matching patterns are created using multiple bit masks based on a set of maximum values of the frequency distribution of the vectors. A dictionary is built based upon the set of maximum values in the frequency distribution and a bit mask savings which is a number of bits reduced using each of the multiple bit masks. Each of the vectors is compressed using the dictionary and the matching patterns with having high bit mask savings. The compressed vectors are stored into memory. Also, an efficient placement is developed to enable parallel decompression of the compressed codes.
210 Citations
20 Claims
-
1. A method for storing data in an information processing system, the method comprising:
-
receiving uncompressed data; dividing the uncompressed data into a series of vectors; identifying a sequence of profitable bitmask patterns for the vectors that maximizes compression efficiency while minimizes decompression penalty; creating matching patterns using a plurality of bit masks based on a set of maximum values of a frequency distribution of the vectors; building a dictionary based upon the set of maximum values in the frequency distribution and a bit mask savings which is a number of bits reduced using each of the plurality of bit masks; compressing each of the vectors using the dictionary and the matching patterns with having high bit mask savings; storing the vectors which have been compressed into memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. An information processing system for storing data, the information processing system comprising:
-
a memory; a processor; a code compression engine adapted to; receive uncompressed data; divide the uncompressed data into a series of vectors; identify a sequence of profitable bitmask patterns for the vectors that maximizes compression efficiency while minimizes decompression penalty; create matching patterns using a plurality of bit masks based on a set of maximum values of a frequency distribution of the vectors; and a dictionary selection engine adapted to; build a dictionary based upon the set of maximum values in the frequency distribution and a bit mask savings which is a number of bits reduced using each of the plurality of bit masks; wherein the code compression engine is further adapted to; compress each of the vectors using the dictionary and the matching patterns with having high bit mask savings; store the vectors which have been compressed into memory. - View Dependent Claims (17, 18, 19)
-
-
20. A method for decompressing compressed data, the method comprising:
-
receiving a set of bitmask-based compressed data; generating an instruction-length mask based on the compressed data; retrieving at least one dictionary entry corresponding to the compressed data, wherein generating the instruction-length mask is performed substantially parallel to retrieving the at least one dictionary entry; and performing a logical XOR operating on the instruction-length mask and a dictionary entry corresponding to the compressed data.
-
Specification