Data compression, encryption, and in-line transmission system
First Claim
1. A system for compressing data by reducing the number of binary bits required to represent the data comprising:
- memory means for storing each of a plurality of selected units of a set of units in unit positions to form a library, each unit position having a memory address expressed in bits,processing means for detecting each unit in the data and searching the memory to determine if the respective unit in the data is in the library, and alternatively compiling data representative of the units which are not stored in the memory library or the addresses of the units which are stored in the memory library together with a code indicating which alternative is compiled in each instance.
4 Assignments
0 Petitions
Accused Products
Abstract
An in-line data compression system which reduces the number of binary bits required to transmit a given text or similar message over a data network such as Telex or TWX. The compression unit can transmit or receive standard messages or can transmit compressed and encrypted messages to remote stations decrypt, and decompress messages from remote stations. The text data is compressed by identifying each word, searching for the word in a fixed library of words, and transmitting a first escape code plus the library address if the word is found. If the word is not found in the fixed library, a search is made for the word in a reconfiguration library and a second escape code plus the reconfiguration library address is transmitted if the word is found. If the word is not found in the reconfiguration library, the word is transmitted one character at a time using variable length character codes produced by a "Huffman" type code generator. The reconfiguration library is compiled by placing each word which is not in the library in the reconfiguration library before it is transmitted by variable length code. Then the second and each subsequent time that the same word is found in the message, the second escape code plus the address in the reconfiguration library will be transmitted in lieu of the Huffman coded characters of the word. The system is also applicable to compression of other types of data, serial or parallel, such as digital color television, for example.
-
Citations
42 Claims
-
1. A system for compressing data by reducing the number of binary bits required to represent the data comprising:
-
memory means for storing each of a plurality of selected units of a set of units in unit positions to form a library, each unit position having a memory address expressed in bits, processing means for detecting each unit in the data and searching the memory to determine if the respective unit in the data is in the library, and alternatively compiling data representative of the units which are not stored in the memory library or the addresses of the units which are stored in the memory library together with a code indicating which alternative is compiled in each instance. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A text compression unit for disposition between a local text encoding and decoding station of a telecommunication network and the communications network interface for communication with remote stations which may or may not be equipped with a similar text compression unit comprising:
-
multiplex means for coupling the unit between the local text encoding and decoding station and the network interface unit, and data processing and storage means coupled to the multiplex means for automatically receiving a standard data stream from the local station, compressing the standard data stream to produce a compressed data stream, and sending the compressed data stream to a remote station, and for receiving a compressed data stream from a remote station, decompressing the compressed data stream received from the remote station, and sending the decompressed data stream to the local station and for compiling a library of data units in a memory during compression of the data by writing each data unit into the memory upon the first occurrence of each data unit and for each occurrence thereafter compiling the address of the data 1 unit in the library instead of an original representation of the data unit. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. A method for compressing data by reducing the number of binary bits required to represent the data comprising:
-
storing each of a plurality of selected units of a set of units in unit positions to form a library, each unit position having a memory address expressed in bits, detecting each unit in the data and searching the memory to determine if the respective unit is in the library, and alternatively compiling data representative of the units which are not stored in the memory library or the addresses of the units which are stored in the memory library together with a code indicating which alternative is compiled in each instance. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. The method for compressing and decompressing data by reducing the number of binary bits required to represent the data, comprising:
-
(1) during compression compiling a reconfiguration library of data units in which data units are stored in a limited number of data unit positions in a memory by (a) searching the reconfiguration library for each data unit and if the data unit is not stored in the library, writing the data unit into a data unit position selected in a predetermined manner and then compiling the data unit in a compressed data stream in a form representative of the original data, or (b) if the data unit is stored in the reconfiguration library, compiling a code so indicating together with the address of the data unit in the reconfiguration library in the compressed data stream, and (2) during decompression compiling a reconfiguration library of data units in which data units are stored in a corresponding number of data unit positions in a memory by distinguishing between data units and addresses in the compressed data stream, and (a) when a data unit is received, searching the reconfiguration library for the data unit and if the data unit is not stored in the library, writing the data unit into a data unit position selected in said predetermined manner and then compiling the data unit in a decompressed data stream in a form representative of the original data, and (b) when an address is received, compiling the data unit stored in the data unit position designated by the address in the decompressed data stream in the form of the original data. - View Dependent Claims (40)
-
-
41. The method for compressing text data having binary coded characters formed into words comprising
compiling a fixed library of words each stored at predetermined addresses in a memory from which the words can be read, establishing a reconfiguration library having a plurality of empty word positions into which words can be written and from which words can be read, providing variable length encoding for individual text characters as a variable number of binary bits with the least number of binary bits used to represent the most frequently occurring characters, and compiling a compressed message by, with respect to each successive word of the standard message, (a) searching the fixed library for the word and compiling a first escape code plus the address of the word in the fixed library if the word is found, and if the word is not found (b) searching the reconfiguration library for the word and compiling a second escape code plus the address of the word in the fixed library if the word is found, and if the word is not found, then (c) writing the word into a word position of the reconfiguration library selected in a predetermined manner and (d) encoding each character of the word in a variable length code, and compiling a decompressed message from a received compressed message by (a) unless a second or first escape code is detected, decoding the variable length code to compile the words in standard form in a standard message and writing the decoded characters of the words into a word position of the reconfiguration library selected in a predetermined manner, and (b) if a second escape code is detected, compiling the word from the address of the reconfiguration library received with the second escape code, and (c) if a first escape code is detected, compiling the word from the address of the fixed library received with the first escape code.
Specification