Data compression system
First Claim
Patent Images
1. A data transmission system, comprising, in combination:
- (a) transmitter means for creating codes as a function of a character based input data stream and including encoder means for encoding each character with a code having a bit length which is an inverse function of the frequency of appearance of the character in a sample of a predetermined number of immediately preceding characters in said data stream, said encoder means including code generating means for receiving said input data stream and for developing a code for each character received, and bit length means for receiving the same input data stream as said code generating means and for determining from said predetermined number of characters the number of bits of a code to be developed by the code generating means for a specific character k, said code having a bit length β
(k), where β
(k) is the smallest positive integer such that the non-zero probability p(k) of a character appearing in said predetermined number of characters is >
or = to 1/(2 to the β
(k) power);
(b) data link means connected to said transmitter means for receiving the codes created by said encoder means; and
(c) receiver means connected to said data link means for receiving said codes generated by said transmitter means and for decoding the data back to a character based data stream.
3 Assignments
0 Petitions
Accused Products
Abstract
A character base input data stream is encoded in compressed form by using a histogram of a sample of the data stream to determine the frequency of appearance of characters in the stream. A code for a character M+1 is generated in an encoder (112) to be of a length which is an inverse function of the frequency of appearance of character M+1 in the preceding M characters in the sample. Decoding can be achieved by forming a comparable sample window in a decoder (118) to which is applied an estimated index of the incoming character being decoded.
-
Citations
21 Claims
-
1. A data transmission system, comprising, in combination:
-
(a) transmitter means for creating codes as a function of a character based input data stream and including encoder means for encoding each character with a code having a bit length which is an inverse function of the frequency of appearance of the character in a sample of a predetermined number of immediately preceding characters in said data stream, said encoder means including code generating means for receiving said input data stream and for developing a code for each character received, and bit length means for receiving the same input data stream as said code generating means and for determining from said predetermined number of characters the number of bits of a code to be developed by the code generating means for a specific character k, said code having a bit length β
(k), where β
(k) is the smallest positive integer such that the non-zero probability p(k) of a character appearing in said predetermined number of characters is >
or = to 1/(2 to the β
(k) power);(b) data link means connected to said transmitter means for receiving the codes created by said encoder means; and (c) receiver means connected to said data link means for receiving said codes generated by said transmitter means and for decoding the data back to a character based data stream.
-
-
2. A data transmission system, comprising, in combination:
-
(a) transmitter means for creating codes as a function of a character based input data stream and including encoder means for encoding each character with a code having a bit length which is an inverse function of the frequency of appearance of the character in a sample of a predetermined number of immediately preceding characters in said data stream; (b) data link means connected to said transmitter means for receiving the codes created by said encoder means; and (c) receiver means connected to said data link means for receiving said codes generated by said transmitter means and for decoding the data back to a character based data stream, said receiver means including decoder means comprising (i) index guess means for receiving a coded data from said data link means and for computing a hypothetical character index based on the data received; (ii) histogram reforming means based on a sample of decoded characters for developing a history of such sample, said histogram reforming means having a window identical to a window of said histogram forming means, an index computed by said index guess means being fed to said histogram reforming means; (iii) power-of-2 frequency estimating means forming an input to said index guess means for developing a power-of-2 frequency q(k) for a coded character; and (iv) comparator means having respective inputs connected to said histogram forming means and said power-of-2 frequency estimating means for sequencing possible characters until q(k'"'"')=q(k). - View Dependent Claims (3, 20, 21)
-
-
4. A data transmission system, comprising, in combination:
-
(a) transmitter means for creating codes as a function of a character based input data stream and including encoder means for encoding each character with a code having a bit length which is an inverse function of the frequency of appearance of the character in a sample of a predetermined number of immediately preceding characters in said data stream, said encoder means including code generating means for receiving said input data stream and for developing a code for each character received, and comprising; (i) fractional coding resources means for receiving the input data stream and for determining all characters with a power-of-2 frequency q(k) for a given character; (ii) character index means for receiving the character based input data stream and for specifying the position of a given character in an ordered set within the range .0. <
or = to i(k) <
to η
(q)-1, where i(k) is a character index and η
(q) is a table of the power-of-2 frequencies contained in the incoming data streams;(iii) scaler means connected to said character index means and said bit length means for receiving and scaling outputs from same; and (iv) summing means connected to said fractional coding resources means and to said scaler means for receiving and summing output signals from same to develope a code for each character contained in the data input stream; and bit length means for receiving the same input data stream as said code generating means and for determining from said predetermined number of characters the number of bits of a code to be developed by the code generating means for a specific character k; (b) data link means connected to said transmitter means for receiving the codes created by said encoder means; and (c) receiver means connected to said data link means for receiving said codes generated by said transmitter means and for decoding the data back to a character based stream. - View Dependent Claims (5)
-
-
6. A data transmission system, comprising, in combination:
-
(a) transmitter means for creating codes as a function of a character based input data stream and including encoder means for encoding each character with a code having a bit length which is an inverse function of the frequency of appearance of the character in a sample of a predetermined number of immediately preceding characters in said data stream, said encoder means further including code generating means for receiving said input data stream and for developing a code for each character received, and bit length means for receiving the same input data stream as said code generating means and for determining from said predetermined number of characters the number of bits of a code to be developed by the code generating means for a specific character k, said encoder means further including histogram forming means associated with and arranged for receiving the same input data stream as said code generating means and bit length means and for developing a histogrammic analysis of a sample thereof; (b) data link means connected to said transmitter means for receiving the codes created by said encoder means; and (c) receiver means connected to said data link means for receiving said codes generated by said transmitter means and for decoding the data back to a character based stream. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
Specification