Adaptive data compression system
First Claim
1. An adaptive data compression method for compressing an input data sequence comprised of a plurality of sequential discrete characters, said method comprising the steps of:
- (a) forming a current hash string by sequentially retrieving from said input data sequence a predetermined number of characters, said current hash string having an associated character;
(b) retrieving a retrieved character, said retrieved character sequentially following said current hash string in said input data sequence;
(c) comparing said retrieved character to said current hash string'"'"'s associated character;
(i) if said retrieved character matches said current hash string'"'"'s associated character, outputting a match indicator; and
(ii) if said retrieved character does not match said current hash string'"'"'s associated character, outputting both a no-match indicator and said retrieved character as an exception character and associating said retrieved character with said current hash string;
(d) forming a new hash string having said predetermined number of characters and including said retrieved character, said new hash string having an associated character;
(e) assigning said new hash string as said current hash string; and
(f) repeating steps (b) through (e).
8 Assignments
0 Petitions
Accused Products
Abstract
A system for data compression and decompression is disclosed. A series of fixed length overlapping segments, called hash strings, are formed from an input data sequence. A retrieved character is the next character in the input data sequence after a particular hash string. A hash function relates a particular hash string to a unique address in a look-up table (LUT). An associated character for the particular hash string is stored in the LUT at the address. When a particular hash string is considered, the content of the LUT address associated with the hash string is checked to determine whether the associated character matches the retrieved character following the hash string. If there is a match, a Boolean TRUE is output; if there is no match, a Boolean FALSE along with the retrieved character is output. Furthermore, if there is no match, then the LUT is updated by replacing the associated character in the LUT with the retrieved character. The process continues for each hash string until the entire input data sequence is processed. The method of decompression includes the steps of initializing a decompression LUT to mirror the initial compression LUT and receiving a representational form output from the compressor. The representational form is generally analyzed one character at a time. If the character is a Boolean TRUE, then the content of the LUT addressed by the most recently decoded hash string is output. Otherwise, if the character is a Boolean FALSE, the next character (exception character) in the representational form is output and the content of the LUT addressed by the most recently decoded hash string is output.
74 Citations
20 Claims
-
1. An adaptive data compression method for compressing an input data sequence comprised of a plurality of sequential discrete characters, said method comprising the steps of:
-
(a) forming a current hash string by sequentially retrieving from said input data sequence a predetermined number of characters, said current hash string having an associated character; (b) retrieving a retrieved character, said retrieved character sequentially following said current hash string in said input data sequence; (c) comparing said retrieved character to said current hash string'"'"'s associated character; (i) if said retrieved character matches said current hash string'"'"'s associated character, outputting a match indicator; and (ii) if said retrieved character does not match said current hash string'"'"'s associated character, outputting both a no-match indicator and said retrieved character as an exception character and associating said retrieved character with said current hash string; (d) forming a new hash string having said predetermined number of characters and including said retrieved character, said new hash string having an associated character; (e) assigning said new hash string as said current hash string; and (f) repeating steps (b) through (e). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A data compressor for compressing an input data sequence comprised of a plurality of sequential discrete characters, the data compressor comprising:
-
(a) an input component for receiving an input data sequence; (b) processor means for; (i) forming a current hash string by sequentially retrieving from said input data sequence a predetermined number of characters, said current hash string having an associated character; (ii) retrieving and comparing a retrieved character, said retrieved character next sequentially following said current hash string in said input data sequence, to said current hash string'"'"'s associated character; and (iii) outputting a match indicator if said retrieved character matches said associated character; and outputting both a no-match indicator and said retrieved character as an exception character if said retrieved character does not match said associated character and associating said retrieved character with said current hash string. - View Dependent Claims (18, 19, 20)
-
Specification