Claims
- 1. In a sliding window data compression method wherein a window of data is searched locate a longest string within the window that matches a compress string beginning at a current coding position, the improvement comprising:
limiting the data searched to data strings occurring at each match location within a plurality of predefined match locations, the plurality of predefined match locations comprising a set of discrete, non-continuous data positions within the window of data.
- 2. The method of compressing data according to claim 1, further comprising using a predefined table based for entropy coding of the match locations.
- 3. 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 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.
- 4. The method of compressing data according to claim 3, further comprising using a predefined table based for entropy coding of the match locations.
- 5. The method of compressing data according to claim 3, wherein the predefined match locations are identified as an offset from the coding position.
- 6. The method of compressing data according to claim 3, wherein the each match location within the plurality of predefined match locations is defined as an absolute position within input stream.
- 7. The method of compressing data according to claim 3, 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.
- 8. The method of compressing data according to claim 3, wherein the step of comparing the compress string with a string of data elements at each match location further comprises identifying a match location having the longest string of continuous data elements matching a compress string comprising a corresponding number data elements.
- 9. 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.
- 10. The method according to claim 9, further comprising using a predefined table based for entropy coding of the match locations.
- 11. The method according to claim 9, further comprising:
updating a match length indicator for at least one match location based on a result of the step of simultaneously comparing.
- 12. The method according to claim 11, wherein the step of providing a pointer, includes identifying a match location having a match length indicator greater than a minimum match length.
- 13. The method according to claim 11, wherein the step of providing a pointer, includes identifying a match location having the longest match length indicator.
- 14. The method of compressing data according to claim 9, 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.
- 15. The method according to claim 9, wherein the plurality of match locations define a set of discrete, non-continuous data elements from the input stream.
Parent Case Info
[0001] This application is based on a Provisional Patent Application No. 60/317,695, filed Sep. 6, 2001.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60317695 |
Sep 2001 |
US |