Method and apparatus for compressing data in which dictionary sizes are reduced
AssigneeInternational Business Machines Corporation
InventorNadeem Malik
Life of this patent
Estimating the term…
Abstract
A method, apparatus, and computer instructions for compressing data. A segment of data within the data to be compressed is selected. A determination is made as to whether the data segment matches a previous segment within the data based on a transform performed on the data segment. The data segment of data is replaced with a code word in response to a determination that a match is present between the data segment and the previous data segment. These steps are repeated for subsequent data segments within the data until all of the data has been processed to form compressed data.
Claims34
A method in a data processing system for compressing data, the method comprising:
- (a) selecting a segment of data within the data to be compressed;
- (b) determining whether the data segment matches a previous segment within the data based on a transform performed on the data segment;
- (c) responsive to a determination that a match is present between the data segment and a previous data segment, replacing the data segment of data with a code word;
- and
- repeating steps (a) through (c) for subsequent data segments within the data until all of the data has been processed to form compressed data.
A method in a data processing system for compressing data, the method comprising:
- (a) receiving the data for compression;
- (b) selecting a segment of data within the data to be compressed;
- (c) determining whether the data segment matches a pattern in a library based on a transform performed on the data segment;
- (d) responsive to a determination that a match is present between the data segment and the pattern, replacing the data segment of data with a code word associated with the pattern;
- (e) responsive to a determination that a match is absent between the data segment and the pattern, placing the data segment in the library as a new pattern;
- (f) responsive to the new pattern being placed in the library, replacing the data segment with a code word associated with the new pattern;
- and
- repeating steps (b) through (f) until all of the data has been processed to form compressed data.
A data processing system for compressing data, the data processing system comprising:
- a bus system;
- a communications unit connected to the bus system;
- a memory connected to the bus system, wherein the memory includes a set of instructions;
- and
- a processing unit connected to the bus system, wherein the processing unit executes the set of instructions to (a) select a segment of data within the data to be compressed;
- (b) determine whether the data segment matches a previous segment within the data based on a transform performed on the data segment;
- (c) replacing the data segment of data with a code word in response to a determination that a match is present between the data segment and a previous data segment;
- and repeat instructions for (a) through (c) for subsequent data segments within the data until all of the data has been processed to form compressed data.
A data processing system for compressing data, the data processing system comprising:
- a bus system;
- a communications unit connected to the bus system;
- a memory connected to the bus system, wherein the memory includes a set of instructions;
- and
- a processing unit connected to the bus system, wherein the processing unit executes the set of instructions to (a) receive the data for compression;
- (b) select a segment of data within the data to be compressed;
- (c) determine whether the data segment matches a pattern in a library based on a transform performed on the data segment;
- (d) replace the data segment of data with a code word associated with the pattern in response to a determination that a match is present between the data segment and the pattern;
- (e) place the data segment in the library as a new pattern in response to a determination that a match is absent between the data segment and the pattern;
- (f) replace the data segment with a code word associated with the new pattern in response to the new pattern being placed in the library;
- and repeat instructions for (b) through (f) until all of the data has been processed to form compressed data.
A data processing system for compressing data, the data processing system comprising:
- selecting means for selecting a segment of data within the data to be compressed;
- determining means for determining whether the data segment matches a previous segment within the data based on a transform performed on the data segment;
- replacing means, in response to a determination that a match is present between the data segment and a previous data segment, for replacing the data segment of data with a code word;
- and
- repeating means for reinitiating the selecting means, determining means, and replacing means for subsequent data segments within the data until all of the data has been processed to form compressed data.
A data processing system for compressing data, the data processing system comprising:
- receiving means for receiving the data for compression;
- selecting means for selecting a segment of data within the data to be compressed;
- determining means for determining whether the data segment matches a pattern in a library based on a transform performed on the data segment;
- first replacing means, in response to a determination that a match is present between the data segment and the pattern, for replacing the data segment of data with a code word associated with the pattern;
- placing means, in response to a determination that a match is absent between the data segment and the pattern, for placing the data segment in the library as a new pattern;
- second replacing means, in response to the new pattern being placed in the library, for replacing the data segment with a code word associated with the new pattern;
- and
- repeating means for reinitiating the receiving means, selecting means, determining means, first replacing means, and second replacing means until all of the data has been processed to form compressed data.
A computer program product in a computer readable medium for compressing data, the computer program product comprising:
- first instructions for selecting a segment of data within the data to be compressed;
- second instructions for determining whether the data segment matches a previous segment within the data based on a transform performed on the data segment;
- third instructions, responsive to a determination that a match is present between the data segment and a previous data segment, for replacing the data segment of data with a code word;
- and
- fourth instructions for initiating the first instructions, second instructions, and third instructions for subsequent data segments within the data until all of the data has been processed to form compressed data.
A computer program product in a computer readable medium for compressing data, the computer program product comprising:
- first instructions for receiving the data for compression;
- second instructions for selecting a segment of data within the data to be compressed;
- third instructions for determining whether the data segment matches a pattern in a library based on a transform performed on the data segment;
- fourth instructions, responsive to a determination that a match is present between the data segment and the pattern, for replacing the data segment of data with a code word associated with the pattern;
- fifth instructions, responsive to a determination that a match is absent between the data segment and the pattern, for placing the data segment in the library as a new pattern;
- sixth instructions, responsive to the new pattern being placed in the library, for replacing the data segment with a code word associated with the new pattern;
- and
- seventh instructions for reinitiating the first instructions, second instructions, third instructions, fourth instructions, fifth instructions, and sixth instructions until all of the data has been processed to form compressed data.
Dependencies are inferred from the claim text.