×

General purpose, hash-based technique for single-pass lossless data compression

  • US 5,406,279 A
  • Filed: 09/02/1992
  • Issued: 04/11/1995
  • Est. Priority Date: 09/02/1992
  • Status: Expired due to Term
First Claim
Patent Images

1. A method of compressing digital data of bytes of K bits each received from a data stream to form and to output a compressed data stream, comprising the steps of:

  • (a) receiving the first byte of the data stream and storing the first byte in a compressor window;

    (b) receiving the next byte of the data stream, storing the byte in a compressor window, and hashing the byte with the immediately preceding byte to obtain a hash value;

    (c) addressing a reference table with the hash value obtained in step (b) to obtain any reference pointers to bytes within the compressor window stored at that reference-table address and to store at that reference-table address a new reference pointer to the current byte in the compressor window;

    (d) for each reference pointer, if any, obtained in step (c), comparing the current byte with the byte in the compressor window pointed to by that reference pointer;

    (e) in the event no reference pointers were obtained in step (c) or the current byte does not match the byte in the compressor window pointed to by any of the reference pointers obtained in step (c), then outputting within the compressed data stream a flag indicating an alphabet token and a compressed representation of the byte preceding the current byte;

    (f) in the event the current byte matches the byte in the compressor window pointed to by any of the reference pointers addressed in step (c), then(1) receiving one or more additional bytes from the data stream and, for each, comparing the additional byte with the byte in the compressor window immediately after each match to determine if any match is extended by the additional byte, until the additional byte does not further extend any match, and(2) outputting, as part of the compressed data stream, a flag indicating string-substitution compression and a representation of the location within the compressor window where the match was found and a representation of the number of bytes in the match;

    (g) repeating steps (b) through (f) to receive each byte of the data stream subsequent to the first byte.

View all claims
  • 5 Assignments
Timeline View
Assignment View
    ×
    ×