Data compression for use with a communications channel
First Claim
1. A method of data compression for transmission over a communications channel comprising:
- receiving one or more data symbols comprising a current data string and at least one subsequent symbol;
matching a longest previous data string with the current data string, the longest previous data string being defined by a code word;
placing the code word into a compressed data stream;
extending the current data string by a plurality of symbols;
placing a multi-character extension string signaling code word indicative of the plurality of symbols into the compressed data stream; and
transmitting the compressed data stream through the communications channel.
0 Assignments
0 Petitions
Accused Products
Abstract
A method of compressing data involves receiving a symbol, and a subsequent symbol; determining in a compression dictionary whether the symbol has a valid extension pointer; using, in the event the symbol does have a valid extension pointer, the valid extension pointer to access string extension symbols; determining, in the event the symbol does have a valid extension pointer, whether the string extension symbols equal the at least one subsequent symbol; determining in the compression dictionary, in the event the string extension symbols do not equal the at least one subsequent symbol, whether the symbol has a valid parallel extension; repeating, in the event the symbol has a valid parallel extension, the using step; repeating, in the event the string extension symbols do not equal the at least one subsequent symbol, the determining of whether the symbol has a valid extension pointer; inserting, in the event the symbol does not have a valid extension pointer or in the event the symbol does not have a valid parallel extension, a code word indicative of a longest string found into a compressed data stream; determining whether the longest string was a single symbol; extending, in the event the longest string was a single symbol, the longest string by one symbol; extending, in the event the longest string was not a single symbol, the longest string by a plurality of symbols; inserting a string extension signalling code word if the string is extended by multiple symbols and transmitting the compressed data stream through the communications channel.
77 Citations
20 Claims
-
1. A method of data compression for transmission over a communications channel comprising:
-
receiving one or more data symbols comprising a current data string and at least one subsequent symbol; matching a longest previous data string with the current data string, the longest previous data string being defined by a code word; placing the code word into a compressed data stream; extending the current data string by a plurality of symbols; placing a multi-character extension string signaling code word indicative of the plurality of symbols into the compressed data stream; and transmitting the compressed data stream through the communications channel. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for decompressing data received over a communications channel comprising:
-
receiving a code word; determining whether the code word is defined by a decompressor; placing, in the event the code word is defined by the decompressor, a data string defined by the code word into an output data stream; determining, in the event the code word is not defined by the decompressor, whether the code word is a next code word to be defined; placing, in the event the code word is a next code word to be defined, a string into the output data stream, the string being copied from a location indicated by a previous code word processed and placing a first symbol of the string into the output data stream; and placing, in the event the code word is not defined by the decompressor and is not the next code word to be defined, an extension string into the output data stream, the extension string being copied from the output data stream at a symbol following a last symbol of the previous code word processed. - View Dependent Claims (13, 14, 15)
-
-
16. A data compression system for compressing data to be transmitted through a communications channel comprising:
-
means for receiving one or more data symbols comprising a current data string and at least one subsequent symbol; compression means comprising; means for matching a longest previous data string with the current data string, the longest previous data string being defined by a code word; means for placing the code word into a compressed data stream; means for extending the current data string by a plurality of symbols; and means for placing a multi-character extension string signaling code word indicative of the plurality of symbols into the compressed data stream; and means for transmitting the compressed data stream through the communications channel.
-
-
17. A data decompression system for decompressing a compressed data stream received through a communications channel comprising:
-
means for receiving a code word; decompression means comprising; means for determining whether the code word is defined by a decompressor; means for placing, in the event the code word is defined by the decompressor, a data string defined by the code word into an output data stream; means for determining, in the event the code word is not defined by the decompressor, whether the code word is a next code word to be defined; means for placing, in the event the code word is a next code word to be defined, a string into the output data stream, the string being copied from a location indicated by a previous code word processed and placing a first symbol of the string into the output data stream; and means for placing, in the event the code word is not defined by the decompressor and is not the next code word to be defined, an extension string into the output data stream, the extension string being copied from the output data stream at a symbol following a last symbol of the previous code word processed.
-
-
18. An adaptive compression dictionary to be used for compressing data to be transmitted through a communications channel comprising:
-
an extension pointer for pointing to a compression dictionary entry that defines an extension string to a current string wherein the extension string is one or more characters; a parallel pointer for pointing to a compression dictionary entry that defines a parallel extension string to the current string; a location pointer for pointing to a location of a first character of the extension string or the parallel extension string in a previously compressed area of an input data stream; and a count indicative of a number of characters in the extension string or the parallel extension string.
-
-
19. An adaptive decompression dictionary to be used for decompressing a compressed data stream received through a communications channel comprising:
-
a location pointer associated with a received code word for pointing to a location within a previously uncompressed area of an output data stream; and a depth associated with the location pointer, wherein the depth indicates a number of characters in the data string. - View Dependent Claims (20)
-
Specification