WO1981003560A1 - Systeme de compression de donnees, de chiffrage et de transmission directe - Google Patents

Systeme de compression de donnees, de chiffrage et de transmission directe Download PDF

Info

Publication number
WO1981003560A1
WO1981003560A1 PCT/US1980/000686 US8000686W WO8103560A1 WO 1981003560 A1 WO1981003560 A1 WO 1981003560A1 US 8000686 W US8000686 W US 8000686W WO 8103560 A1 WO8103560 A1 WO 8103560A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
library
word
unit
reconfiguration
Prior art date
Application number
PCT/US1980/000686
Other languages
English (en)
Inventor
J Mueller
M Giltner
R Fiest
Original Assignee
Mostek Corp
J Mueller
M Giltner
R Fiest
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mostek Corp, J Mueller, M Giltner, R Fiest filed Critical Mostek Corp
Priority to PCT/US1980/000686 priority Critical patent/WO1981003560A1/fr
Priority claimed from US06/261,123 external-priority patent/US4386416A/en
Publication of WO1981003560A1 publication Critical patent/WO1981003560A1/fr

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction

Definitions

  • This invention relates generally to data compression systems, and more specifically relates to a telecommunication system for compressing text or similar data, encrypting the compressed data, if desired, transmitting the compressed data to a remote station using a conventional telecommunications network, and for receiving, decrypting, and decompressing data transmitted from a remote station.
  • the system may be used to compress data prior to storage and decompress the data after storage.
  • This invention further relates to a unique data compression apparatus and method particularly suited for use in telecommunication systems.
  • Text data is normally transmitted using a fixed length binary code to represent each character.
  • ASCII is a typical, standardized seven bit code for representing alphanumeric data of the type used to compile text messages. A typical English language word of five characters would thus require thirty-five bits.
  • Common telecommunications systems such as "Telex" and "TWX” send the bits serially at a relatively slow rate by modern data processing standards. The cost of sending a message is directly related to the on-line time required for the message, so that a reduction in the length of a message results in a direct reduction in cost. Substantial efforts have been made to increase the speed of operation of data transmission systems to increase the number of bits of data transmitted in a given time interval.
  • Color television can be digitally transmitted using a twenty- four bit code for each color pixel, but the bandwidth required to transmit this volume of information in real-time is very substantial. There are also ma instances where large volumes of data are to be stored, and a reduction in t number of bits provides valuable data compression.
  • the present invention is concerned with methods and apparatus whi can be used in existing data handling systems to compress a data strea comprised of binary bits arranged into units of a set where the number of units the set is very large. For example, if the words of the English language are t data units, there are approximately 65,000 words or units in common usag Each word is comprised of one or more alphabetical characters, each of which customarily represented by a binary code comprised of a predetermined numb of binary bits, typically seven. The number of characters in each word-u varies from one, or more by definition, to twenty or thirty.
  • English langua words can also be broken into common components referred to as prefixe infixes, radixes, suffixes, etc., each of which can be defined as "word/units" achieve very significant compression, in accordance with the present inventio
  • prefixe infixes radixes, suffixes, etc.
  • suffixes etc.
  • word/units achieve very significant compression
  • each color pixel in digital video or similar facsimile systems can be produced by combinations of three basic colors, with eight binary bits used to represent two hundred fifty-six levels of intensity for each primary color. As a result, over sixteen million color shades and brightness combinations can be produced for each color pixel. However, most pictures are made up of a large number of color pixels of the same hue and intensity.
  • the color television data may be considere ' d as comprising a series of words/units, each three characters in length, ° where each character is represented by an eight bit code, or simply a fixed length unit of twenty-four bits, as contrasted with variable length units in the case of text words.
  • the most statistically recurrent portion of the total number of units are stored in a memory library. 5 . Then the memory library is searched for each word/unit and if the word/unit is found, the binary address of the word/unit in the library memory is substituted for the binary data representing the word/unit together with an appropirate code
  • the binary data stream is thus compressed by compiling a data stream consisting alternatively of units in the ⁇ original form, or the addresses of such units in a library memory, with an "escape code" designating which alternative is used. Decompression is then achieved by detecting the address data and fetching the unit from the same address of an identical library memory.
  • the 5 library memory can be statistically compiled from any selected sample of data and stored permanently in a read-only memory, or can be sampled from the data actually being compressed and dynamically compiled in a "reconfiguration library".
  • the 0 compression method is used in a system for transmitting alphanumeric text or similar data comprised of "character” codes each having the same number of binary bits where the "characters" are arranged in a random manner to form "words" of variable character length in . addition to individual characters, as for example, in the English language. 5 More specifically, the system sequentially sorts the data into either individual characters or valid words. When a word in the message is detected, a
  • - URE library is searched for the word, and if a word is found in the library, an esca code followed by the address of the word in the library is transmitted in lieu the characters of the word.
  • the address is then used to fetch the word from an identic library for recompilation of the original message.
  • the bits of address code c be significantly less than the total bits for all of the individual character cod for the word, resulting in significant shortening of the total bits in the messag
  • the English language comprises approximately 65,000 words
  • the cost of library containing all of the words would not be attractive for.
  • the greater the number of words in the library the longer t address code required, so that the gain in data compression tends to decreas
  • the intermingling of addresses to a library of words with character cod for shorter and lesser used words in -a data stream in accordance with th invention provides a very useful and practical approach to data compression.
  • the character codes used in t data stream are transmitted using a variable length (Huffman) code to achieve ev greater compression.
  • the library can either a fixed library with selected, often used words stored in a read on memory (ROM), or a reconfiguration library with the words stored in read/wri memory, commonly referred to as random access memory (RAM), or combination of both by using two different escape codes.
  • the reconfiguration library is initially blank and is compiled incide to the handling of each message or data batch. After a word is detected for t first time, the reconfiguration library is searched for the word.
  • the word Since the libra is blank, the word is not found and is transmitted in character form. Howeve the word is written into the library at a selected address so that the next time appears in the data batch, a search of the reconfiguration library will find t word and result in transmitting the address rather than the characters of t word.
  • the receiving station builds an identical reconfiguration library by identical system as the word is received the first time. As a result, when address to the reconfiguration library is received, the second and subseque times the word appears in the data batch, the word represented by the addre
  • OMPI will be fetched from the library and compiled in the message. Provision is made to accomodate new words after the reconfiguration library is full by replacing the word used the fewest number of times, and the entire library is erased at the start of each data batch.
  • a data batch can be defined as one or more sequential messages between the same reconfiguration library.
  • a unit which can be placed in the line between a keyboard/printer terminal and the network interface module of a telecommunication system, such as Telex or TWX.
  • the unit has the capability to receive and store a message from the local terminal, including the number of a remote terminal to be called.
  • the unit accesses the network, calls the remote terminal and ascertains if the remote terminal is capable of accepting a compressed message, and of decrypting a message, all without operator attention.
  • the unit transmits the message in standard form if the remote terminal is not compatable, or sends a compressed message, optionally encrypted, if the remote terminal is compatible.
  • the unit is also capable of receiving and storing a standard or compressed and encrypted message from a remote terminal, while simultaneously accepting and storing a message from the local terminal if necessary, then decrypting and decompressing the received message before outputting it to the printer of the local terminal. Any simultaneously received message from the local terminal can then be transmitted to a remote terminal.
  • the unit may transmit to and receive from a data storage system, or may advantageously compress similar data other than the language text data.
  • FIGURE 1 is a schematic block diagram of a system in accordance with the present invention.
  • FIGURE 2 is a schematic flow diagram which represents the operation of the system of FIGURE 1 when receiving a message from a local
  • FIGURE 3 is a schematic flow diagram illustrating the operation the system of FIGURE 1 when receiving a message from a remote terminal forwarding the message to the local terminal;
  • FIGURE 4 is a schematic flow diagram illustrating the operation the text compression and encryption unit when compressing and encryptin message;
  • FIGURE 5 is a schematic flow diagram which illustrates in grea detail a portion of the flow diagram illustrated in FIGURE 4;
  • FIGURE 6 is a schematic flow diagram similar to FIGURE 5 wh describes portions of the flow diagram of FIGURE 4 in greater detail;
  • FIGURE 7 is a schematic flow diagram illustrating the operation the text compression and encryption unit of FIGURE 1 when receiving a mess fro a remote terminal.
  • a system in accordance with present invention is indicated generally by the reference numeral 10 in FIGUR
  • the system 10 is comprised of a local text data encoder and decoder 12 whic coupled to a text compression and encryption unit 14 which in turn is coupled t communications network by an interface unit 16.
  • the communications netw includes conventional data links to a iarge number of remote terminals, one which is represented by the communications network interface unit 20, a t compression and encryption unit 22 identical to unit 14, and the text data enco and decoder 24.
  • the text data encoder and decoders 12 and 24 may be conventional unit for encoding a text data into binary data.
  • u 12 and 24 may be conventional Telex or TWX units having keyboards for encod alphanumeric messages from keyboard entries and presenting these messages binary data using a standard fixed-length code such as ASCII.
  • co munications network interfaces 16 and 20 may be the standard units use couple such devices to rented communication network lines.
  • the t compression and encryption units 14 and 22 are coupled in-line between respective text data encoder and decoders and the communications netw
  • the text compression and encryption unit 14 may entirely consist of conventional semiconductor devices including a microprocessor 30 having an address bus 32 and a data bus 34, each with multiple lines for parallel flow of binary signals, in the conventional manner.
  • the sequence of operation of the microprocessor 30 is controlled by a read only memory control 36.
  • Control 36 contains all of the instructions necessary to carry out the operation of the microprocessor as described herein in connection with FIGURES 2 - 7.
  • a read only memory library 38 is filled with a preselected number of the most commonly used English words.
  • a random access (read/write) reconfiguration library 40 is a conventional random access (read/write) memory and is also coupled to the buses 32 and 34. Additional random access memory capacity provides input and output buffers for the transmit mode and the receive mode as represented by blocks 42 and 44.
  • RAMs can be one or more large scale integrated circuits of conventional design.
  • a clock generator 46 is provided to control the operation of the unit 14 independently of the text data encoder and decoder 12, or the communications network interface 16.
  • a serial input/output unit 48 and a parallel input/output unit 50 are coupled through a multiplexer switching circuit 52 to the text data encoder and decoder 12, and to the communications network interface 16.
  • the components 48, 50 and 52 collectively provide the unit with the capability to operate on either serial or parallel bits of binary data, and to receive from both the load and remote terminals simultaneously or send to both the local and remote terminals simultaneously.
  • the unit 14 also includes a National Bureau of Standards encryption unit 54, an electrically programmable read only memory (EEROM) encryption key unit 56 and a read only memory (ROM) encryption control unit 58.
  • the unit 14 includes a mechanical key operated switch which allows the respective operators to input the same encryption keys to the EEROM element 56 at the respective sending and receiving terminals.
  • the ROM encryption control unit contains the control for operating the microprocessor 30 as it relates to the encryption.
  • the units 54, 56 and 58 combine to provide a system for encrypting a message in accordance with the algorithm provided by the National Bureau of Standards and all units are presently commercially available.
  • the read only memory control 36 is programmed to operate the u 14 in the sequence represented by the flow diagram of FIGURE 2.
  • the unit 14 accepts and stores, from the local terminal 12, the addr for the remote terminal 24, for example, as represented by block 62, followed the text of the message which is stored in the transmit mode RAM input buf as represented by block 64.
  • the text being accepted is normally in the form o sequence of fixed length codes each representing an alphanumeric charact punctuation, space code, etc., the most typical code being ASCII.
  • the unit continues to accept and store text until an end of message (E.O.M.) signal detected as represented by decision block 66.
  • E.O.M. end of message
  • the unit When an end of message code detected, the unit indicates to the local terminal operator that the message ready to be sent, as represented by block 68, and also determines whether or the local unit 14 is receiving a message from the network as represented decision block 70. If a message is being received from the network, the progr enters a loop 72 until the unit is no longer functioning in the receive mode.
  • the unit 14 establishes the li to the network in the same manner the local terminal 12 would have, represented by block 74. This procedure would be determined by the type local station 12 and network into which the unit 14 is placed. If it is determin that the network is busy, as represented by decision block 76, a busy light turned "on" as represented by decision block 78, and the unit enters a time- mode, as represented by decision block 80, until a predetermined period of ti has lapsed before once again attempting to establish the line to the network, represented by the closed loop 82. This procedure is repeated until the u determines at decision block 76 that the network is available, at which time t unit calls the number for the remote terminal, as represented by block 84.
  • t unit flashes the busy light as represented at 88, waits a predetermined del period, as represented by block 90, then checks to see if the operator has in t meantime cancelled the message, as represented by decision block 92. If t operator has not cancelled the message, the unit returns to again establish t network line, as represented by return loop 94, and repeats the procedure ag until the remote terminal answers. At this time, the unit indicates to t
  • TCEU text compression and encryption unit
  • the answer back from the remote unit will include a code indicating that it is a compatible TCEU. If the answer back indicates that the receiving terminal is not a compatible TCEU, the local unit detects this fact, as represented by decision block 98, and then proceeds to send a standard message, as represented by data block 100, directly from the transmit mode RAM input buffer 42. When transmission of the standard message has been completed, the unit hangs up, as represented by block 102, and the transmit procedure is completed, as represented by the end of program block 104.
  • TCEU text compression and encryption unit
  • the local unit 14 then enters a compress text procedure, as represented by block 106, and performs text compression as will hereafter be described in greater detail in connection with FIGURES 4, 5 and 6.
  • the unit determines whether or not the operator has selected the encrypt option, as represented by the decision block 108. If. the encrypt option is not enabled by the operator, the unit proceeds directly by way of line 110 to send the message as represented by block 112. If the encrypt option is enabled by the operator of the local terminal, and the remote terminal is compatible and has the capability to decrypt the message, as represented by decision block 114, the message is then encrypted, as indicated by block 116, and an indication is made to.
  • the operator that the message is being encrypted as represented by block 118. If the remote station cannot decrypt the message, an error message is sent to the operator of the local terminal as represented by block 120. If the message is encrypted at block 116, the encrypted message is transmitted as represented by block 112. After the message is sent, the unit hangs up, as represented by block 122, and the transmission of the message is ended as represented at 104.
  • An incoming call from a remote terminal is received by the unit 14 using the procedure represented by the diagram of FIGURE 3.
  • the unit accepts the incoming call using the same procedure as the local unit 12 would have if unit 14 were not in the line, as represented by the block 132, and sends an "answerback" as represented by block 134 which signals the decompression and decryption capability of the unit, and also provides a standard answerback in the event the calling station does not have a compatible text compression and encryption unit, such as unit 22.
  • the type of incoming call from a remote terminal is received by the unit 14 using the procedure represented by the diagram of FIGURE 3.
  • the unit accepts the incoming call using the same procedure as the local unit 12 would have if unit 14 were not in the line, as represented by the block 132, and sends an "answerback" as represented by block 134 which signals the decompression and decryption capability of the unit, and also provides a standard answerback in the event the calling station does not have a compatible text compression and encryption unit, such
  • SUSST ⁇ TU ⁇ SH ⁇ T O PI message is detected, as represented by block 136, to determine if the incom message is to be standard or to be a compressed and/or an encrypted message.
  • mode flag is set, as represented by block 138, indicating the type of message be received, and the message is then accepted, as represented by block 140, placed in the receive mode random access memory input buffer 44. The mess is accepted until an end of message (E.O.M.) code is detected, as represented decision block 142, at which time the local terminal is called, as represented block 144.
  • E.O.M. end of message
  • the unit does not initiate a calling sequence while a message is being received, whic represented by the decision block 70 in FIGURE 2. If the local terminal is bu as represented by decision block 146, the unit proceeds to a time out proceed as represented by block 148, and time out complete decision block 150 bef returning to attempt the call to the local terminal, as represented by block 1 On the other hand, if the local terminal 12 is not busy, the unit proceeds review the mode flag previously set, as represented by the decision block 152, determine whether the message which has been accepted is a standard mess or a compressed/encrypted message.
  • unit proceeds to send the message to the local terminal, as represented by bl 154 until the end of message code is detected at the decision block 156.
  • decision block 152 indicates that the received message is eit compressed and/or encrypted
  • the unit proceeds through the decompress and/or decrypted procedure as represented by the block 158, and as describe greater detail in connection with FIGURE 7, which will presently be describe detail.
  • the typical text message handled by a TWX system for example comprised of a series of words of a variable number of characters punctuation and spaces. These characters, including numerals and letters, typically represented by the conventional ASCII code which utilizes seven bin bits for each space and/or character. These characters are customa transmitted by means of the seven bit code serially so that a typical character word would require forty-two binary bits.
  • the message is broken down into valid words, which represented by library addresses, and characters, which are represented character codes, preferably variable length Huffman type codes.
  • Q addresses are preceded by unique escape codes which cause the receiving terminal to exit a standard character level decoding routine and fetch a word from the library address following the escape codes.
  • the first order of compression is to detect whether a valid "word" exists or not.
  • a valid word can be defined, for example, as a predetermined number of characters, typically two, interposed between two space codes, or between a space code and a punctuation code. If a valid word is not detected, that portion of the message is transmitted at the character level using a variable length code (Huffman). If a valid word is detected, the local library is searched for the word.
  • Huffman variable length code
  • the space code leading the word is changed to an escape code, which indicates not only the beginning of a ' word, but that the word is represented by the address in an identical library at the receiving terminals-
  • the address following the escape code is used to fetch the word stored in the library and substitute the word for the address in the message being recompiled.
  • the recompilation of the message reverts to the character level.
  • the word library may be comprised of either a fixed library or a reconfiguration library, or preferably a combination of both.
  • a fixed library for both initial cost considerations and also to keep the address codes short, for words which are commonly used for all messages, and to additionally provide a reconfiguration library for storing words used repeatedly in a given data batch.
  • a data batch may be considered as one message, or a series of messages between the same two terminals.
  • escape code No. 1 is used to precede an address for the fixed library
  • escape code No. 2 is used to
  • the fixed library is contained in a read only memory (ROM) 38, while the reconfiguration library is contained in the random access memory 40.
  • ROM read only memory
  • the reconfiguration library is comprised of a fixed number of word positions in a read/write memory (RAM).
  • RAM read/write memory
  • an access counter which in the present embodiment counts from 0 through 7, is associated with each word position.
  • escape code No. 1 followed by the address of the word in the fixed library is compiled.- for transmission. If the word is not found in the fixed library, a search for the word in the reconfiguration library is then made. If the word is found in the reconfiguration library, escape code No. 2 followed by the address in the reconfiguration library is compiled for transmission. If the word is not found in the reconfiguration library, the word is written into the reconfiguration library and then is compiled for transmission one character at a time using variable length Huf man codes. When the compressed message is received, detection of either escape dode No. 1 or escape code No. 2 results in the library word being fetched from the designated address of the respective library, which is identical to the respective library of the transmitting terminal.
  • the variable length codes representing the characters are decoded to standard character codes, and then any valid words detected Any valid words detected by the receiving TCEU are then written into the receiving units reconfiguration library so that the receiving reconfiguration library will be identical to the transmitting TCEU's reconfiguration library.
  • the transmitting unit will send the address of the word in the reconfiguration library, and the address will correspond to the address of the same word in the reconfiguration library of the receiving unit.
  • Another important aspect of the present invention is the manner in which the reconfiguration library is compiled. This procedure will presently be described in detail in connection with FIGURES 5 and 6.
  • the unit 14 compresses text data in accordance with the method of the present invention as illustrated by the flow diagram of FIGURES 4, 5 and 6.
  • the message data stored in the transmit mode RAM input buffer 42 is called up, one character at a time, to a word detector and buffer represented by the block 170.
  • the ROM fixed library access is started, as represented by line 174, to determine whether or not the word is stored in the fixed library of the read only memory 38.
  • the word is first put through a word hasher 176 where the word is hashed to an entry address of a ROM table entry generator represented by the block 178. This table entry generator defines the address of the word to be output from the ROM library to a word comparator 180.
  • the word comparator 180 compares the word from the ROM library with the word stored in the word detector and buffer 170. If the words do not match, a check is made to determine if the table entry generator equals the starting address, as represented by decision block 182. If not, the system returns to increment the ROM table entry generator to the next address to fetch the next word for comparison with the word in the word detector and buffer 170. If a word match is found in the ROM library, an escape code #1 together with the address from the ROM table entry generator are placed in the RAM output buffer 42 as represented by the block 184. Since a fixed length address code preceded by an escape code #1 is to be transmitted in lieu of the word, the trailing space code for the word need not be sent and is deleted as represented by block 186.
  • the decision block 182 enables the reconfiguration mode, as represented at block 188.
  • the decision block 172 enables the reconfiguration mode, as represented at block 188.
  • the reconfiguration mode is enabled and the word stored in the word detector and buffer is made available for comparison to words stored in the configuration library, as represented generally by the block 194 by way of line 196.
  • the procedure for detecting a word in the reconfiguration library will hereafter be described in detail in connection with FIGURE 5.
  • the unit proceeds to place an escape code No. 2 and the reconfiguration library address in the output buffer 42, as represented by block 198. Since the reconfiguration library address is a fixed length, the trailing space code for the word is not needed and is deleted from the
  • variable code After the word is placed in the reconfiguration library, the variable code
  • variable length code (Huffman) generator is then activated, as represented by block 204, so that each character of the word in the word detector and buffer 170, including the necessary space codes and punctuation, are encoded with the desired variable length code.
  • the variable length coded word is then transferred to the output buffer 42.
  • the compressed message is then encrypted in the conventional manner, consisting of a series of variable length characters, space and punctuation codes, and escape codes and addresses, as represented by block 206, in accordance with the read only memory key then in effect, as represented by block 208, and the encrypted message returned to the transmit output buffer as represented by block 210.
  • the reconfiguration mode illustrated in FIGURES 5 and 6 is used during both the transmit mode illustrated generally in FIGURE 4 heretofore described in detail, and the receive mode illustrated generally in FIGURE 7, which will hereafter be described in detail.
  • the reconfiguration library 40 is comprised of read/write random access memory storage arranged to provide storage sites for a predetermined number of words. Associated with each site is an access address having a predetermined code length, and an access counter to indicate the number of times that the word at that address has been accessed since the last time the library was reset or erased. The access counter counts from zero through seven.
  • the valid word is hashed to a starting address in the reconfiguration library, as represented by block 220.
  • the starting address is transferred to the reconfiguration library table entry generator, as represented by block 222, and the word in the reconfiguration library at that address compared with the word in the word detector, as represented by the decision block 224.
  • all word positions in the reconfiguration library are reset and are empty, and the access counter for each word position is reset to zero. As a result, a no match condition occurs at the decision block 224 and the
  • O reconfiguration library table entry generator is incremented as represented by block 226.
  • the new table entry generator address is then compared to the starting address as represented by block 228 to determine if the search of all word positions in the library has been completed. As a result, the search cycle will be repeated as represented by the feed-back line 230, the word is found or all words in the library have been compared to the word. Since the entire reconfiguration library is initially empty, the entire library will be cycled through until finally the address produced by the table entry generator will equal the starting address at which time the unit will transition to start the replace mode, as represented by block 230. The replace mode is described in detail in FIGURE 6.
  • the unit proceeds from the start replace mode as represented by block 230 to set the search number equal zero, as represented by block 232.
  • the reconfiguration library table entry generator is incremented by one count to address the first position after the starting address, as represented by block 234.
  • the search number which was set to zero, is compared to the count of the access table at the address defined by the table entry generator, as represented by decision block 236.
  • the first word position will be blank and the access table counter will accordingly be zero so that a match condition will occur.
  • block 238 represents the transfer of the word in the input buffer to the reconfiguration library at the position addressed by the table entry generator.
  • the access counter for the word position is incremented to a count of one.
  • the unit proceeds to the Huffman generator procedure as represented by the block 204 in FIGURES 4 and 6, which has previously been described.
  • the word is then ultimately transmitted one character at a time using the variable length Huffman codes.
  • the word so transmitted will then be written into the receiving reconfiguration library at the same address for subsequent use, as will presently be described in connection with FIGURE 7.
  • the search number is not equal to the count of the access table at the address in decision block 236, the address produced by the table entry generator is compared to the starting address, as represented by decision block 244, and if they are not equal, the library table entry generator is again incremented, as represented by the return line 246. Thus as long as the result of both decision blocks 236 and 244 are no, the search will continue until the access count for all word positions in the reconfiguration library have been compared.
  • the search number is compared to the number seven and if it is not seven, the search number is incremented, as represented by block 246, and the procedure repeated 5 as represented by return line 248.
  • the position in which the word is to be written into the reconfiguration library is selected by determining the first word position having the lowest access count after the hashed address.
  • the access counters provide a measure of which words in the reconfiguration library had been utilized the most number of times, and thus which are assumed to be
  • a match condition is set as represented by block 260.
  • the access table count for the word position from which the library word is matched is then checked to see if it is seven, as represented by decision block
  • the access table count is not seven, the table count is incremented by one as represented by block 264. If the access table count has already reached seven, the unit proceeds directly to determine whether or not it is operating in the transmit mode, and if so an escape code No. 2 is placed in the transmit output buffer in advance of the reconfiguration library address, as represented by block
  • the reconfiguration library word at the address in the reconfiguration library is transferred to the receive output buffer, as represented by block 268, so that the compiled messages may be subsequently output to the terminal which is local to the particular TCEU.
  • the receive mode for the TCEU units 14 and 22 is illustrated in
  • FIGURE 7 The incoming message is stored in the receive input buffer, as represented by block 300. If the message has been encrypted, it is transferred to the decryption buffer and decrypted in accordance with the current ROM key, as represented by blocks 302, 304, respectively, and ultimately sequenced into another input word detector and buffer 306 similar to the buffer 170 in FIGURE 4. At this point, the incoming message is comprised of characters, space codes, punctuation codes, escape codes and library addresses. Since escape codes were placed in advance of each address in place of any leading space codes, the space ° codes must be reinserted in the message as the words are fetched from the libraries. If an escape code No.
  • decision block 308 indicating that the word is an address for the reconfiguration library
  • the status of a space code flag is checked by decision block 310. If the space code flag is not set, a leading space code is transferred to Temp Buffer No. 2, as represented by block 5 312. Then the space code flag is set as represented by block 314. As a result, the next time an escape code No. 2 is detected, the space code flag will be set, indicating that a trailing space code has already been put in Temp Buffer No. 2 as the last word was read from the reconfiguration library as will be described in connection with block 268 in FIG. 5.
  • the reconfiguration address is then formed with the next predetermined number of bits, as represented by block 318, and the address made available to the detect word in reconfiguration library procedure, represented by block 194, by way of line 322, which is also shown in the more detailed diagram of FIGURE 5.
  • the block 194 is the same as the block 194 illustrated in FIGURE 4 5 and heretofore described in detail in connection with FIGURE 5.
  • the unit proceeds to set a match condition as represented by block 260 in FIGURE 5, and increment the access table count if the count is not already seven, as represented by decision block 262 and block 264.
  • the unit proceeds through decision block 266 to block 268 which is 0 also common to both FIGURES 5 and 7, to trans er the library word and a trailing space code to Temp Buffer No. 2.
  • the space code previously input to the temporary buffer together with the library word are then transferred to the receive output buffer 324, and the trailing space code is available as a leading space code after the next word is fetched from either library.
  • escape code No. 2 is not detected, but escape code No. 1 is detected, No.
  • the status of the space code flag is cheeked at decision block 326 so t if the space code flag is not set, a leading space code is set in temporary buf No. 1, as represented by block 328 and then the space code flag is set represented by block 330. If the space code flag is already set, the unit proce directly to form the fixed library address with the next n bits as represented block 332. The library address then results in the library word being taken fr the read only memory 38 and, together with a trailing space code, transferred temporary buffer No. 1, as represented by block 334. As a result, the w together with the leading space code is transferred to the receive output buf 324.
  • variable len Huffman code representing the individual characters are then decoded by t variable length (Huffman) decoder represented by block 338, and stored in a w detector and buffer 340. Since a valid word is defined as two or more charact between space codes, or between a space code and a punctuation mark, onc word is stored in the word detector and buf er 340, it is then checked to see the word is a valid word as represented by decision block 342. If. a valid wor not detected, the character space codes and/or punctuation codes are transfer from the word detector and buffer to the Receive Output Buffer 324, represented by block 344.
  • the update reconfiguration mode enabled as represented by block 188. Since the valid word transmitted Huffman codes was, by definition, not in either library, the unit will enter t reconfiguration mode at the top of FIGURE 5 and proceed through the repla mode of FIGURE 6, all as previously described in detail, and will finally e from decision block 242 to block 344, which indicates that the word plus sp code is transferred from the word detector and buffer 340 to the receive out buffer 324.
  • subsequent transmissions of addresses from the reconfiguration library the transmitting TCEU will fetch the same word from the reconfiguration libr
  • the unit 14 can operate at a substantially greater speed than data can be transmitted over most communications networks, a number of options are available in the sequence of operation. For example, as soon as a portion of a message is received from the local station and stored in memory, the unit will attempt to establish contact with the designated remote terminal. Compression of the message can then begin as soon as a suitable answerback is received. The message can then be simultaneously received from a local terminal, compressed, and transmitted to the remote terminal. This permits the use of smaller buffers 42 and 44 to handle messages of indefinite length. A similar approach can be used for receiving messages from remote terminals, decompressing the messages, and forwarding them to the local terminal.
  • the text compression system may be advantageously used as an in-line addition for existing relatively slow speed data handling systems, particularly telecommunications systems. While the text compression system is particularly useful for English and other language text, it also has application in its broader aspects of compression to other data compiled in a similar format.
  • the system is described as part of a telecommunications system in which one text compression and encryption unit is used to communicate with other text compression and encryption units.
  • each unit is capable of both compressing and transmitting and receiving and decompressing, a single unit can be used to compress data for storage on a suitable off-line storage means in order to conserve storage space, and then decompress -the data as it is read from the off-line storage.
  • Such a system can also advantageously use either the fixed library, the reconfiguration library or both.
  • the contents of the reconfiguration library can also be stored after a data batch is placed in storage, and then reestablished in the reconfiguration library prior to decompression of the stored data.
  • the particular unit described herein provides a number of additional features when used in a telecommunication system, such as automatic call-up of the remote terminal, simultaneous receipt and storage of messages from a remote terminal and the local terminal, and the ability to encrypt compressed data for message security,
  • reconfiguration or "dynamica compiled” library is particularly useful in compressing color video data, or similar data, since many successive frames in most presentations substantially identical in color content, and change only at a slow rate. Furt within each frame, the colors are often highly repetitious from color pixel

Abstract

Systeme (10) de compression directe de donnees permettant de reduire le nombre de bits binaires requis pour transmettre un texte donne ou un message analogue au travers d'un reseau de donnees tel qu'un telex ou un TWX. L'unite (14) permet en outre facultativement de chiffrer le message comprime. L'unite (14) est connectee directement entre le terminal (12) local clavier/imprimante et l'unite (16) d' interface avec le reseau. L'unite de compression (14) peu transmettre ou recevoir des messages standard ou peut transmettre des messages comprimes et chiffres a des postes eloignes, et peut recevoir, dechiffrer et decomprimer des messages provenant de postes eloignes. Les donnees de texte sont comprimees en identifiant chaque mot, en recherchant le mot dans une bibliotheque fixe de mots (38) et en transmettant un premier signal de changement de code conjointement a l'adresse de la bibliotheque si le mot est trouve. Si le mot n'est pas trouve dans la bibliotheque fixe, le mot est recherche dans une bibliotheque de reconfiguration (40) et un deuxieme signal de changement de code conjointement a l'adresse de la bibliotheque de reconfiguration est transmis si le mot est trouve. Si le mot n'est pas trouve dans la bibliotheque de reconfiguration, le mot est transmis en caracteres a la fois en utilisant des codes de caracteres a longueur variable produits par un generateur de code du type "Huffman". Une unite identique (14) intercalee au terminal de reception mais fonctionnant dans le mode de reception peut dechiffrer le message et detecter les signaux de changement de code et lire les mots exprimes dans des codes de caractere standard a partir d'une bibliotheque fixe identique (38) ou d'une bibliotheque (40) de reconfiguration compilee de maniere identique ou bien decoder les codes de caracteres de longueur variable. La bibliotheque de reconfiguration est compilee en placant chaque mot qui n'est pas dans la bibliotheque dans la bibliotheque de reconfiguration avant qu'il soit transmis selon le code de longueur variable. Par la suite, chaque fois que le meme mot est trouve dans le message, le deuxieme signal de changement de code conjointement a l'adresse dans la bibliotheque de reconfiguration seront transmis au lieu des caracteres du mot codes selon le procede Huffman. Le poste reception suit la meme methode en ce qui concerne les messages recus pour compiler une bibliotheque de reconfiguration identique a partir de laquelle les mots contenus en precedence dans les messages peuvent etre recuperes en reponse a la transmission d'un signal de changement de code et d'une adresse de la bibliotheque de reconfiguration. Le systeme peut aussi s'appliquer a la compression d'autres types de donnees, en serie ou en parallele, telles que par exemple des signaux de television en couleur.
PCT/US1980/000686 1980-06-02 1980-06-02 Systeme de compression de donnees, de chiffrage et de transmission directe WO1981003560A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US1980/000686 WO1981003560A1 (fr) 1980-06-02 1980-06-02 Systeme de compression de donnees, de chiffrage et de transmission directe

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US06/261,123 US4386416A (en) 1980-06-02 1980-06-02 Data compression, encryption, and in-line transmission system
WOUS80/00686 1980-06-02
PCT/US1980/000686 WO1981003560A1 (fr) 1980-06-02 1980-06-02 Systeme de compression de donnees, de chiffrage et de transmission directe

Publications (1)

Publication Number Publication Date
WO1981003560A1 true WO1981003560A1 (fr) 1981-12-10

Family

ID=26762713

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1980/000686 WO1981003560A1 (fr) 1980-06-02 1980-06-02 Systeme de compression de donnees, de chiffrage et de transmission directe

Country Status (1)

Country Link
WO (1) WO1981003560A1 (fr)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000062566A1 (fr) * 1999-04-14 2000-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Augmentation de la capacite d'un canal semaphore dans un systeme de communication cellulaire
WO2008064145A2 (fr) * 2006-11-21 2008-05-29 Sprint Communications Company L.P. Identificateurs d'appels compressés uniques
EP2091175A1 (fr) * 2008-02-18 2009-08-19 Kabushiki Kaisha Toshiba Appareil, système et procédé de traitement de décryptage, et produit de programme informatique
US8321326B2 (en) 2009-09-15 2012-11-27 Auerbach Group Llc Method and system for enhancing the efficiency of a digitally communicated data exchange

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3535696A (en) * 1967-11-09 1970-10-20 Webb James E Data compression system with a minimum time delay unit
US3694813A (en) * 1970-10-30 1972-09-26 Ibm Method of achieving data compaction utilizing variable-length dependent coding techniques
US3717851A (en) * 1971-03-03 1973-02-20 Ibm Processing of compacted data
US4021782A (en) * 1974-01-07 1977-05-03 Hoerning John S Data compaction system and apparatus
US4064489A (en) * 1974-10-29 1977-12-20 International Computers Limited Apparatus for searching compressed data file

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3535696A (en) * 1967-11-09 1970-10-20 Webb James E Data compression system with a minimum time delay unit
US3694813A (en) * 1970-10-30 1972-09-26 Ibm Method of achieving data compaction utilizing variable-length dependent coding techniques
US3717851A (en) * 1971-03-03 1973-02-20 Ibm Processing of compacted data
US4021782A (en) * 1974-01-07 1977-05-03 Hoerning John S Data compaction system and apparatus
US4064489A (en) * 1974-10-29 1977-12-20 International Computers Limited Apparatus for searching compressed data file

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000062566A1 (fr) * 1999-04-14 2000-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Augmentation de la capacite d'un canal semaphore dans un systeme de communication cellulaire
US6535737B1 (en) 1999-04-14 2003-03-18 Telefonaktiebolaget Lm Ericsson (Publ) Signalling link capacity in a cellular communications system
WO2008064145A2 (fr) * 2006-11-21 2008-05-29 Sprint Communications Company L.P. Identificateurs d'appels compressés uniques
WO2008064145A3 (fr) * 2006-11-21 2008-07-31 Sprint Communications Co Identificateurs d'appels compressés uniques
EP2091175A1 (fr) * 2008-02-18 2009-08-19 Kabushiki Kaisha Toshiba Appareil, système et procédé de traitement de décryptage, et produit de programme informatique
US8321326B2 (en) 2009-09-15 2012-11-27 Auerbach Group Llc Method and system for enhancing the efficiency of a digitally communicated data exchange
US8538861B2 (en) 2009-09-15 2013-09-17 Auerbach Group Llc Use of adaptive and/or customized compression to enhance the efficiency of digital financial data exchanges
US8756149B2 (en) 2009-09-15 2014-06-17 Auerbach Group Llc Use of adaptive and/or customized compression to enhance the efficiency of digital data exchanges

Similar Documents

Publication Publication Date Title
US4386416A (en) Data compression, encryption, and in-line transmission system
EP0215229B1 (fr) Procédé pour la compression de données à deux niveaux
US5450562A (en) Cache-based data compression/decompression
US4568983A (en) Image data compression/decompression
US3813485A (en) System for compression of digital data
US6008745A (en) Variable length decoding using lookup tables
EP0060694A2 (fr) Appareil et procédé pour la compression de données numériques
US4574382A (en) Variable length character code system
US5831558A (en) Method of compressing and decompressing data in a computer system by encoding data using a data dictionary
JPS61212920A (ja) データ圧縮方法およびコード化された圧縮データの受信方法
JPS5923964A (ja) テキスト文書の伝送方法
CN1135876C (zh) 用于移动通信终端的短消息发送设备和方法
CN1675842B (zh) 算术编码的方法、设备以及相应解码方法
CN1146252C (zh) 消息传输系统、操作此消息传输系统的方法及其主站
JPH0525224B2 (fr)
EP0659292B1 (fr) Systeme de communications numerique, appareil de transmission et appareil de reception utilises dans ledit systeme
CZ185294A3 (en) Method of facsimile communication in a communication system of selective call and apparatus for making the same
WO1981003560A1 (fr) Systeme de compression de donnees, de chiffrage et de transmission directe
EP0149893B1 (fr) Appareil pour coder et décoder des données
US5889818A (en) Adaptive display refresh and data compression in a radio frequency environment
WO1990006632A1 (fr) Compression de donnees
US5367299A (en) Method for 5-bit chunk encoding of bit serial data by a data processor handling data in 8-bit byte segments
JPS6180929A (ja) 情報源符号化伝送装置
JPS6352812B2 (fr)
US7262715B2 (en) Bit stuffing method and apparatus for fax and other data communication

Legal Events

Date Code Title Description
AK Designated states

Designated state(s): DE GB JP NL US

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642