Sliding window compression method utilizing defined match locations
First Claim
Patent Images
1. A method of compressing data, comprising:
- receiving an input stream of data, the input stream including a sequence of data elements to be compressed;
identifying a coding position;
identifying a compress string within the input stream, the compress string including a set of data elements occurring at the coding position;
comparing the compress string with a string of data elements at each match location within a plurality of predefined match locations to determine if a match exists at the respective match location, the plurality of predefined match locations defining a set of discrete, non-continuous data elements form the input stream;
identifying a best match location, the best match location having the longest string of continuous data elements matching a compress string comprising a corresponding number data elements; and
providing a pointer, the pointer identifying the best match location and the length of the compress string.
7 Assignments
0 Petitions
Accused Products
Abstract
An improved sliding window dictionary-based compression method limits the data within the sliding window searched to data strings occurring at each discrete match location within a plurality of predefined discrete match locations, the plurality of predefined discrete match locations comprising a set of non-continuous data positions within the window of data.
-
Citations
16 Claims
-
1. A method of compressing data, comprising:
-
receiving an input stream of data, the input stream including a sequence of data elements to be compressed;
identifying a coding position;
identifying a compress string within the input stream, the compress string including a set of data elements occurring at the coding position;
comparing the compress string with a string of data elements at each match location within a plurality of predefined match locations to determine if a match exists at the respective match location, the plurality of predefined match locations defining a set of discrete, non-continuous data elements form the input stream;
identifying a best match location, the best match location having the longest string of continuous data elements matching a compress string comprising a corresponding number data elements; and
providing a pointer, the pointer identifying the best match location and the length of the compress string. - View Dependent Claims (2, 3, 4, 5)
receiving raster ordered image data, the raster ordered image data comprising a plurality of scan lines with each scan line having a plurality of pixels; and
converting the raster ordered image data into block ordered data.
-
-
6. A method of compressing data, comprising:
-
receiving an input stream of data, the input stream including a sequence of data elements to be compressed;
selecting a compress string within the input stream, the compress string including at least one data element occurring at a coding position;
identifying a plurality of match locations associated with the coding position;
setting a status for each match location with the plurality of match locations, the status identifying whether the corresponding match location is active or inactive;
simultaneously comparing the compress string with data elements match locations having an active status to determine if a match exists at the respective match location, and updating the status of the match location based on the comparison;
increasing the length of the compress string by adding at least one data element to the compress string;
repeating the steps of simultaneously comparing and increasing the length of the compress string until all match locations within the plurality of match locations have an inactive status;
providing a pointer, the pointer identifying a match location which matches the compress string and the length of the compress string. - View Dependent Claims (7, 8, 9, 10, 11, 12)
updating a match length indicator for at least one match location based on a result of the step of simultaneously comparing.
-
-
9. The method according to claim 8, wherein the step of providing a pointer, includes identifying a match location having a match length indicator greater than a minimum match length.
-
10. The method according to claim 8, wherein the step of providing a pointer, includes identifying a match location having the longest match length indicator.
-
11. The method of compressing data according to claim 6, wherein the step of receiving an input stream of data includes:
-
receiving raster ordered image data, the raster ordered image data comprising a plurality of scan lines with each scan line having a plurality of pixels; and
converting the raster ordered image data into block ordered data.
-
-
12. The method according to claim 6, wherein the plurality of match locations define a set of discrete, non-continuous data elements from the input stream.
-
13. A method of compressing data, comprising:
-
receiving an input stream of data, the input stream including a sequence of data elements to be compressed, wherein the input stream of data includes raster ordered image data comprising a plurality of scan lines with each scan line having a plurality of pixels;
converting the raster ordered image data into block ordered data;
identifying a coding position;
identifying a compress string within the block ordered data, the compress string including a set of data elements occurring at the coding position;
comparing the compress string with a string of data elements at each match location within a plurality of predefined match locations to determine if a match exists at the respective match location, the plurality of predefined match locations defining a set of discrete, non-continuous data elements from the input stream; and
providing a pointer, the pointer identifying a match location which matches the compress string and the length of the compress string. - View Dependent Claims (14, 15, 16)
-
Specification