Method and apparatus for lossless compression and decompression of data
First Claim
1. A method for coding an input data character stream to obtain a compressed output code stream, said method comprising the steps of:
- counting consecutively predicted characters by comparing a character of the input data character stream with a predictor stored in a predictor table and addressed by a hash string, said predictor table comprising a plurality of predictors, said predictors being the characters of the input data stream and/or predetermined values, and said hash strings being formed by means of a hash function correlative with the input data;
coding a number of the consecutively predicted characters and an unpredicted character immediately succeeding the consecutively predicted characters;
optional updating the predictor table by storing the unpredicted character into a cell of the predictor table, said cell being addressed by said hash string;
updating the hash string.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention relates to universal lossless data compression and decompression methods, as well as to apparatus for their implementation. The method is based on predicting the characters of data stream being processed by comparing them with predictors in one or several predictor tables and counting consecutively predicted characters, thus reducing considerably the number of output operations. Addressing in predictor tables is performed by means of one or several hash strings, each of which being formed by means of an unique hash function correlative with the input data. Processing the data stream in such a way allows eliminating the compression rate limitation that depends on the taken character length, thus increasing the compression rate and, at the same time, decreasing data processing time sufficiently.
14 Citations
16 Claims
-
1. A method for coding an input data character stream to obtain a compressed output code stream, said method comprising the steps of:
-
counting consecutively predicted characters by comparing a character of the input data character stream with a predictor stored in a predictor table and addressed by a hash string, said predictor table comprising a plurality of predictors, said predictors being the characters of the input data stream and/or predetermined values, and said hash strings being formed by means of a hash function correlative with the input data;
coding a number of the consecutively predicted characters and an unpredicted character immediately succeeding the consecutively predicted characters;
optional updating the predictor table by storing the unpredicted character into a cell of the predictor table, said cell being addressed by said hash string;
updating the hash string. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. Apparatus for coding an input data character stream in order to obtain a compressed output code stream, the apparatus comprising:
-
a predictor table comprising a plurality of predictors, said predictors being the characters of the input data stream and/or predetermined values;
counting means arranged to count, in use, consecutively predicted characters by comparing a character of the input data character stream with a predictor stored in a predictor table and addressed by a hash string, wherein the hash string is formed by means of a hash function correlative with the input data;
first coding means arranged to code, in use, a number of consecutively predicted characters and an unpredicted character immediately succeeding the consecutively predicted characters;
predictor table updating means arranged, in use, to optionally update the predictor table by storing an unpredicted character into a cell of the predictor table, said cell being addressed by said hash string; and
updating means arranged, in use, to update the hash string after the predictor table has been updated. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification