US3739085A - Coding technique - Google Patents

Coding technique Download PDF

Info

Publication number
US3739085A
US3739085A US00161074A US3739085DA US3739085A US 3739085 A US3739085 A US 3739085A US 00161074 A US00161074 A US 00161074A US 3739085D A US3739085D A US 3739085DA US 3739085 A US3739085 A US 3739085A
Authority
US
United States
Prior art keywords
code word
message
code
vocabularies
reserved
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
US00161074A
Inventor
G Rosen
P Epstein
R Wernikoff
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AB Dick Co
Original Assignee
Multigraphics Inc
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 Multigraphics Inc filed Critical Multigraphics Inc
Application granted granted Critical
Publication of US3739085A publication Critical patent/US3739085A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/419Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information in which encoding of the length of a succession of picture-elements of the same value along a scanning line is the only encoding step

Definitions

  • ABSTRACT A coding technique particularly suited for run length coding of facsimile signals and operative to provide binary symbol codes of successively larger code word size as necessary to describe the numerical equivalent of the run length of each facsimile signal of the same reflectivity characteristic.
  • specific bit arrangements are reserved from use in describing the run length so that these reserved bit arrangements can be used to indicate the necessity of proceeding to a subsequent, generally larger, code word to completely describe that run length.
  • a code word When a code word is ultimately reached with sufficient size to numerically describe or finish the description of a run length, that code word will contain the binary equivalent of the numerical run length, or remainder thereof, and indicate subsequent run length coding is to represent an opposite reflectivity characteristic in the facsimile signal.
  • the coding scheme that is the succession of different code word sizes, is tailored to each reflectivity characteristic to provide a more efficient coding scheme.
  • This invention relates to binary signal coding techniques and in particular to facsimile binary signal coding providing selection of a run length coding system from among several coding systems on the basis of efficient data transmission.
  • the photoelectrically produced scan signal from successive line scans across a document is commonly quantized into a two level, or binary signal with one level representing white document reflectivity characteristic, and a second level representing black document reflectivity characteristics.
  • This binary signal is commonly further separated into segments, or elemental scan areas, which are interpreted as either all white or all black in accordance with a predetermined interpretive routine as applied to the binary signal.
  • the information which is then to be transmitted over a communication channel for reproduction at a remote station is a succession of binary symbols where each symbol represents the reflectivity characteristic of a corresponding elemental area.
  • the binary facsimile scan signal for a single scan line will normally contain many long lengths of identical binary symbols representing adjacent elemental areas all of the same reflectivity characteristics.
  • the number of elemental areas for which the binary facsimile signal indicates the same reflectivity characteristic is commonly termed a run length.
  • run length coding provides the basis for significant savings in transmission time during facsimile reproduction, it necessitates a decision on the size of the one or more code words which are to be used to represent each run length.
  • binary symbols from facsimile run lengths of identical reflectivity characteristics are encoded in successively longer code words until an entire run length is encoded.
  • a predetermined number of discrete code word sizes are used with each code word size having a corresponding number of bit symbol combinations associated with it.
  • Each bit symbol combination for a given code word size is defined by a code word vocabulary to represent specific information including the size of a run length and whether or not the code word is followed by a further code word of specified size to continue or complete encoding of that run length.
  • means are provided to code each run length beginning with an initial code word size and to indicate in that beginning code word the entire length of the run or a shift to a specific, generally larger code word size and associated code word vocabulary to provide greater capacity for encoding the run length. If third or fourth code words are required to complete the specified run length, binary symbol combinations in the code word vocabularies for the previous code words are chosen to indicate this shift to further and possibly larger code words for completing the encoding.
  • facsimile binary signals representing blank or white reflectivity run lengths will normally be longer than facsimile binary signals representing indicia or black run lengths. Accordingly, in the preferred system, the coding of run lengths representing black and white reflectivity characteristics proceed with different sequences of code word sizes. Also, since binary signals representing very long run lengths in both black and white reflectivity characteristics can occur, specific bit combinations in the code vocabularies for specific sizes are defined to indicate a shift to a different code word size and vocabulary that better describe very long run lengths.
  • FIG. 3 is a logic diagram of the encoders major state generator subsystem
  • FIG. 4 is a logic diagram of the encoders minor state I generator subsystem
  • FIG. 5 is a logic diagram of the encoders input symbol control sybsystem
  • FIG. 6 is a logic diagram of the encoders run length counter subsystem
  • FIG. 7 is a logic diagram of the encoders output register subsystem
  • FIG, 8 is a logic diagram of the encoders output counter subsystem
  • FIG. 9 is a block diagram of the decoder system
  • FIG. 10 is a table showing the sequencing of the decoder among its various major and minor states
  • FIG. 11 is a logic diagram of the decoders major state generator subsystem
  • FIG. 12 is a logic diagram of the decoders minor state generator subsystem
  • FIG. 13 is a logic diagram of the decoders input register subsystem
  • FIG. 14 is a logic diagram of the decoders output unit subsystem.
  • FIG. 15 is a logic diagram of the decoders input counter subsystem.
  • the invention relates to a coding technique. It may be embodied in a variety of different encoder-decoder systems tailored to a variety of different applications.
  • the encoder-decoder system which will be specifically described has been designed to handle input symbol sequences composed of alternating runs of black and white representing symbols, such as are produced in digital facsimile systems.
  • the technique and disclosed encoder-decoder system should not be thought of as in any way inherently limited to facsimile applications, for in fact it is of value in a variety of different data storage or transmission systems.
  • the internal operation speed of the coding and decoding system should be sufficiently greater than the symbol rate of the communication channel to ensure that code symbols are always present for communication in the encoder system, and that the decoder system is always capable of responding to code symbols as they are received from the com-- munication channel.
  • initial code words for black representing and white representing run lengths contain 3 and 5 bits respectively to reflect a higher probability that blackrepresenting runs can be entirely described by a three bit word but not white representing runs.
  • a 3 bit code word vocabulary defines the first six combinations as representing black run lengths of from 1 to 6 bits or symbols respectively; The seventh bit combination is reserved to indicate that 6 consecutive bits of black have occurred and that the coding is shifting to a 5 bit code word for further coding.
  • the same 5 bit code word size and vocabulary is used for first word coding of white representing run lengths, and second word coding, where required, of black representing .runs.
  • the first 28 non-zero bit combinations of the 5 bit word size are defined by the corresponding code word of from 1 to 28 bits in length.
  • the 29th bit combination indicates white, or additional black, run lengths of greater than 28 bits but less than 57 bits and accordingly indicates a subsequent five bit code word is used to represent the number of bits in excess of 28.
  • the 30th bit combination indicates a white, or additional black, run greater than 56 but less than 256 bits in length and that the subsequent code word is 8 bits in size and represents the remainder of the run length.
  • the 31st bit combination in the 5 bit code word vocabulary indicates a white, or additional black, run of 25 6 or greater bits in length and the use of one or more 1 1 bit code words for completing the coding.
  • the first 2,046 non-zero bit combinations of the l 1 bit word size define corresponding run lengths in excess of 28 while the 2,047th bit combination indicates the existence of more than 2,046 excess bits in the run length and that one or more subsequent 11 bit words will be used, according to the same code word vocabulary, for completion of coding for the run length.
  • minor state signals are preceded by an M; thus M6 indicates a minor state 6.
  • the check mark represents the occurrence of an action or event; the dashes indicate that no action or event occurs; the numbers indicate a limiting count, or the count transferred at that point in the sequencing of the states.
  • Major State 1 When turned on, the encoder system begins in major state 1, and appropriate circuitry to ensure this is included in the major state generator subsystem 10, shown in detail in FIG. 3. Before a start pulse is applied to a minor state generator subsystem, shown in detail in FIG. 4, it is forced by the S1 signal to its minor state 1. The system remains in major state 1 until a supply of input symbols exists in the symbol source.
  • the system associated with the encoder begins the encoding action by supplying a start signal to a minor state generator 11 over an electrical conductor 15 (electrical conductors hereafter will be referred to simply as lines).
  • a minor state generator 11 On receipt of this signal, the minor state generator cycles a major state generator 10 through minor state 2 to major state 2.
  • a color (in the sense of black or white brilliance) monitor circuit 12 of an input symbol control subsystem 13, shown in detail in FIG. 5, is set to monitor black input symbols.
  • the color monitor circuit will be set to monitor white input symbols, which according to the convention previously mentioned is presumed to be the color represented by the initial input symbol shifted from a symbol source 14, such as a facsimile scanner.
  • a run length counter subsystem 16 shown in detail in FIG. 6, is cleared or set to zero, and the color indication from monitor circuit 12 of the input symbol control subsystem 13 is changed.
  • the input symbol control subsystem 13 produces shift pulses which are applied over a line 17 to the symbol source 14 to shift input symbols stored in source 14, which will always be black representing input symbols in this major state, from the input symbol source.
  • the shift pulses also are applied to increment the run length count in counter subsystem 16, until: (1) a first white indicating input symbol is encountered by the input symbol control subsystem; (2) the run length counter reaches a count of 6; or (3) the supply of symbols in the input symbol source is exhausted.
  • the encoder system pauses or waits until the code symbols, if any, supplied from counter 16 to an output register subsystem 18, shown in detail in FIG.
  • the communication system will include a modern, and the clock signal will be the modems clock signal.
  • This clock signal also is used to decrement an output counter subsystem 19, shown in detail in FIG. 8, which subsystem has been previously loaded to indicate the number of output of code symbols in the output register 18 when the encoder pauses to transmit them.
  • the output counter in the output counter subsystem 19 reaches zero, indicating there are no more code symbols in the output register 18, it produces and supplies an empty signal to the minor state generator 11 over a line 21. This causes the encoder system to proceed from major state 3 as follows:
  • Major State 4 In major state 4, the minor state cycling causes the three binary symbols which represent a run length count of 6 or less in the run length counter subsystem 16 to be transferred to the output register subsystem l8, and causes a count of 3 to be loaded into the output counter subsystem 19.
  • the clock signals from the communication system will cause code symbols inoutput register subsystern 18 to be shifted to the communication system and simultaneously decrement the output counter. While this proceeds, the encoder system recycles to major state 2 in which, as previously described, the color control indication is changed and the run length counter is cleared or reset to a zero count.
  • Major State 5 In major state 5, minor state cycling causes the binary number 7 to be generated and shifted into the output register; it causes a count of 3 to be loaded into the output counter 19; and it causes the run length counter subsystem 16 to be cleared, or reset to zero. Following this, the encoder system proceeds to major state 6.
  • Major State 6 In major state 6, the input symbol control subsystem 13 produces pulses to shift input symbols from the input symbol source and to increment the run length counter subsystem 16 until: (1) a color change occurs in the input symbol stream; (2) a run length count of 2,047 is reached by the run length counter subsystem 16; or (3) the input symbol source indicates exhaustion of symbols by producing an empty signal on line 22. When any one of these conditions has occurred, the output register is emptied of code symbols and, after this empty condition is signalled by the output counter 19 over line 21, the system proceeds as follows:
  • Major State 7 In major state 7, the minor state cycling causes five binary symbols representing the entire run length count in the run length counter subsystem 16 to be transferred to the output register 18 and a count of to be loaded into the output counter 19. Operation then proceeds to major state 2, as symbols are clocked from register subsystem 18 to the communication system.
  • Major State 8 In major state 8, the minor state cycling causes the five symbols representing the binary number 29 to be produced and transferred to the output register subsystem 18, and a count of 5 to be loaded into the output counter subsystem l9. Thereafter, the minor state cycling causes a subtractor portion of the run length counter subsystem 16 to reduce the count in the run length counter by 28. When this has occurred, the system waits until the output register is empty of code symbols, as signalled by the output counter, then proceeds to major state 7.
  • Major State 9 In major state 9, the minor state cycling causes five symbols representing the binary number 30 to be produced and transferred to the output register 18 and a count of 5 to be loaded into the output counter. When the output register is empty of these code symbols, the system proceeds to major state 10.
  • Major State 10 In major state 10, the minor state cycling causes 8 bits of symbols comprising the run length count present in the run length counter subsystem 16 to be transferred to the output register subsystem 18 and a count of 8 to be loaded into the output counter. Then the system proceeds to major state 2, as the symbols in register subsystem 18 are clocked out to the communication system.
  • Major State 11 In major state 11, the minor state cycling causes the five binary symbols representing a count of 31 to be produced and transferred to the output register subsystem 18 and a count of 5 to be loaded into the output counter 19. When these code symbols have been shifted from the output register subsystem 18 to the communication system and the output counter indicates an empty condition over line 21, the system proceeds to major state 12.
  • the run length counter subsystem 18 is read out to the communication system and subsequently incremented to a count of 1 (because in this system the 2,047 code word indicates a partial run of 2,046 input symbols to which the number of symbols in the next word or words is to be added), and the system proceeds to major state 13.
  • Major State 13 In major state 13, the system shifts input symbols from the input symbol source and increments the run length count until: (1) a color change is sensed by the color monitor circuit 12; (2) a run length count of 2,047 is reached; or (3) until the input symbol source indicates an empty condition over line 22. When any oneof these conditions has occurred, the system empties the output register of code symbols and then proceeds to major state 12.
  • the encoder system accepts and run length codes input symbols in successive runs of identical symbols.
  • the black representing input symbols are initially run length coded using a code word vocabulary in which the code words all consist of three symbols with the code word representing the binary count of 7 being reserved and used to represent both a black run length of six symbols and to flag a shift to the extended length coding strategy used for white symbols.
  • White representing input symbols are coded initially using a code word vacabulary in which all code words consist of five symbols, the code words or binary counts corresponding to numbers 30 and 31 being reserved and used when the run length count exceeds 56 to flag a shift in the code word vocabulary.
  • FIGS. 3 through 8 Details of the various subsystems of the encoder are shown in FIGS. 3 through 8.
  • various standard graphic symbols are used to represent the common logical AND or OR circuits. Selection of appropriate AND and OR circuits, and of the other common circuits shown in these drawings, to perform the functions required in the disclosed systems is well within the ability of one skilled in this art, and will be left to the preference of the designer.
  • the major state generator subsystem is shown in FIG.
  • . 3. It includes a double rank of identical 13 stage registers, namely a first rank 31 and a second rank 32. These ranks of registers are interconnected so as to, upon application of appropriate command pulses, selectively clear either rank, store an input signal condition applied to one stage of the first rank in that stage of the first rank, or load a condition stored in the first rank into the second rank so that the stages of the second rank duplicate the condition of the stages of the first rank.
  • a major state I initialization control circuit 33 clears the second rank of major state registers, then loads the first stage of the second rank to indicate major state 1, causing the second rank to produce an S1 output signal.
  • the minor state generator subsystem includes an AND circuit 41 to which the S1 signal is applied together with an inverted start" signal.
  • the AND circuit 41 will receive both of the input signals it requires to produce an output signal on line 42.
  • This output signal is applied to a cyclical counter 43 to force it to a count corresponding to a minor state 1 condition. This count is decoded by a count decoder 44 connected to the counter 43, and the count decoder pro-

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Facsimiles In General (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Storage Device Security (AREA)

Abstract

A coding technique particularly suited for run length coding of facsimile signals and operative to provide binary symbol codes of successively larger code word size as necessary to describe the numerical equivalent of the run length of each facsimile signal of the same reflectivity characteristic. In certain code words specific bit arrangements are reserved from use in describing the run length so that these reserved bit arrangements can be used to indicate the necessity of proceeding to a subsequent, generally larger, code word to completely describe that run length. When a code word is ultimately reached with sufficient size to numerically describe or finish the description of a run length, that code word will contain the binary equivalent of the numerical run length, or remainder thereof, and indicate subsequent run length coding is to represent an opposite reflectivity characteristic in the facsimile signal. The coding scheme, that is the succession of different code word sizes, is tailored to each reflectivity characteristic to provide a more efficient coding scheme.

Description

United States Patent I [1 1 Rosen et al.
11 3,739,985 June 12, 1973 CODING TECHNIQUE [75] Inventors: George Rosen; Paul Epstein, both of Brookline; Robert E. Wernikoff, Cambridge, all of Mass. [73] Assignee: Addressograph Multigraph Corporation, Cleveland, Ohio [22] Filed: July 9, 1971 [21] Appl. No.: 161,074
[52] U.S. Cl. 178/6, 178/DIG. 3, 179/1555,
340/1463 H [51] Int. Cl. H04n 7/12 [58] Field of Search 340/1463 WD;
179/1555 T; 178/6, DIG. 3
[56] References Cited UNITED STATES PATENTS 3,394,352 7/1968 Wernikoff et a]... 340/1725 3,646,257 2/1972 Epstein et a1 l78/DIG. 3
Primary Examiner-Howard Britton Attorney- Russell L. Root and Ray S. Pyle [57] ABSTRACT A coding technique particularly suited for run length coding of facsimile signals and operative to provide binary symbol codes of successively larger code word size as necessary to describe the numerical equivalent of the run length of each facsimile signal of the same reflectivity characteristic. In certain code words specific bit arrangements are reserved from use in describing the run length so that these reserved bit arrangements can be used to indicate the necessity of proceeding to a subsequent, generally larger, code word to completely describe that run length. When a code word is ultimately reached with sufficient size to numerically describe or finish the description of a run length, that code word will contain the binary equivalent of the numerical run length, or remainder thereof, and indicate subsequent run length coding is to represent an opposite reflectivity characteristic in the facsimile signal. The coding scheme, that is the succession of different code word sizes, is tailored to each reflectivity characteristic to provide a more efficient coding scheme.
21 Claims, 15 Drawing Figures w cm 0/2 MON/T02 5 5 7 L6 aarpar C005 SH/FftW/VCAWQVT VMB S /IVPl/7' SYMBOL Coy v7 7T0 Q L com/e0 cou/vr mMPL UT sUBSYSTEM (H6. 7/ OOMMUMCAHM sussysre'm MN (Has vsvsrrM F IG, 6') x SHIFT our w/ w/yga7/olv v22 l w s YMEDLS soz/eczmPry D6 6 /?E M E N T MA ME 32302 19 5YMBOL 14 97A 75 s u/e05 j ame/eAro/a Slaw/4L6 5 suss'vsrm j (FIG 3) our/ 07 ('0 (write a ere u f 1 M/A/OE. 5m re: 57A PT GENEEA 7v a 21 S06 SYSTEM 6 aura/ram 15 2/ (r16. 4/
PAIENTED JUN! 2191:
sum u 0F 15 ROBERT E. WERNIKOFF PAUL EPSTEIN v PAIENTEB JUN x 2:915
SHEEI 06 0f 15 3,739,085 'sum user 1 PATENIEUJUM 21915 QNN CODING TECHNIQUE FIELD OF THE INVENTION This invention relates to binary signal coding techniques and in particular to facsimile binary signal coding providing selection of a run length coding system from among several coding systems on the basis of efficient data transmission.
BACKGROUND OF THE INVENTION The problem of processing information represented by binary symbols so as to enable a minimum number of symbols to be communicated while permitting reliable recovery of the information has long challenged the art. The challenge is particularly real in the facsimile field because of the relatively large amount of costly communication channel time which is required to transmit between separated locations the printing on a document by facsimile processes.
In facsimile terminology, the photoelectrically produced scan signal from successive line scans across a document is commonly quantized into a two level, or binary signal with one level representing white document reflectivity characteristic, and a second level representing black document reflectivity characteristics. This binary signal is commonly further separated into segments, or elemental scan areas, which are interpreted as either all white or all black in accordance with a predetermined interpretive routine as applied to the binary signal. The information which is then to be transmitted over a communication channel for reproduction at a remote station is a succession of binary symbols where each symbol represents the reflectivity characteristic of a corresponding elemental area.
Because the size of an elemental scan area is commonly chosen to be very small, such as one one hundredth of an inch, and because document reflectivity characteristics are often white, and occasionally black, over large document areas, the binary facsimile scan signal for a single scan line will normally contain many long lengths of identical binary symbols representing adjacent elemental areas all of the same reflectivity characteristics. The number of elemental areas for which the binary facsimile signal indicates the same reflectivity characteristic is commonly termed a run length.
It is known that substantial savings in transmission time can be achieved by transmitting binary symbols representative of the number of elemental areas in a run length rather than by transmitting a binary symbol for each elemental area. Accordingly, it has been common practice to use one or more code words, each containing a predetermined number of binary symbols or bits, to represent the length of each run length.
While the concept of run length coding provides the basis for significant savings in transmission time during facsimile reproduction, it necessitates a decision on the size of the one or more code words which are to be used to represent each run length. Once a coding system is established, such as the use of repeated numbers of 6 bit code words to represent all run lengths, binary signal encoding and decoding systems can be readily constructed to encode and decode according to such a scheme.
Such a scheme, however, tends to be inefficient because the code word size is chosen to provide efficient transmission of average or predetermined ranges of run 2 lengths. When substantial numbers of run lengths depart-from this average or predetermined range, as is common in information systems, the coding scheme becomes inefficient.
In Wernikoff et'al., U.S. Pat. No. 3,394,352, a technique is described for continuously shifting coding for transmitted data to provide transmission of the data in the most efficient code word size available. A predetermined number of different code word sizes are made available, each word size providing efficient encoding of different ranges of run lengths. Each time a different code word size is found to be appreciably better suited to the sequence of information representing input or message symbols, the encoder shifts to the better word size. To indicate this change to the decoder, the encoder adds, independently of the code words, a uniquely decipherable instruction. The code word size can be changed efficiently when what is saved in number of code symbols by replacing the old code word size with the new size just exceeds the number of symbols used in sending the instruction word that signals the change to the decoder.
SUMMARY OF THE DISCLOSURE In a preferred embodiment of the present invention, binary symbols from facsimile run lengths of identical reflectivity characteristics are encoded in successively longer code words until an entire run length is encoded. A predetermined number of discrete code word sizes are used with each code word size having a corresponding number of bit symbol combinations associated with it. Each bit symbol combination for a given code word size is defined by a code word vocabulary to represent specific information including the size of a run length and whether or not the code word is followed by a further code word of specified size to continue or complete encoding of that run length.
In particular, means are provided to code each run length beginning with an initial code word size and to indicate in that beginning code word the entire length of the run or a shift to a specific, generally larger code word size and associated code word vocabulary to provide greater capacity for encoding the run length. If third or fourth code words are required to complete the specified run length, binary symbol combinations in the code word vocabularies for the previous code words are chosen to indicate this shift to further and possibly larger code words for completing the encoding.
Since documents typically have more blank space than information, facsimile binary signals representing blank or white reflectivity run lengths will normally be longer than facsimile binary signals representing indicia or black run lengths. Accordingly, in the preferred system, the coding of run lengths representing black and white reflectivity characteristics proceed with different sequences of code word sizes. Also, since binary signals representing very long run lengths in both black and white reflectivity characteristics can occur, specific bit combinations in the code vocabularies for specific sizes are defined to indicate a shift to a different code word size and vocabulary that better describe very long run lengths.
BRIEF DESCRIPTION OF THE DRAWINGS A better understanding of the method and system of the present invention will be obtained from the below detailed description of a preferred embodiment, pres- FIG. 3 is a logic diagram of the encoders major state generator subsystem;
FIG. 4 is a logic diagram of the encoders minor state I generator subsystem;
FIG. 5 is a logic diagram of the encoders input symbol control sybsystem;
FIG. 6 is a logic diagram of the encoders run length counter subsystem;
FIG. 7 is a logic diagram of the encoders output register subsystem; a
FIG, 8 is a logic diagram of the encoders output counter subsystem;
FIG. 9 is a block diagram of the decoder system;
FIG. 10 is a table showing the sequencing of the decoder among its various major and minor states;
FIG. 11 is a logic diagram of the decoders major state generator subsystem;
FIG. 12 is a logic diagram of the decoders minor state generator subsystem;
FIG. 13 is a logic diagram of the decoders input register subsystem;
FIG. 14 is a logic diagram of the decoders output unit subsystem; and
FIG. 15 is a logic diagram of the decoders input counter subsystem.
DETAILED DESCRIPTION OF THE INVENTION Context of the Invention The invention relates to a coding technique. It may be embodied in a variety of different encoder-decoder systems tailored to a variety of different applications. The encoder-decoder system which will be specifically described has been designed to handle input symbol sequences composed of alternating runs of black and white representing symbols, such as are produced in digital facsimile systems. However, the technique and disclosed encoder-decoder system should not be thought of as in any way inherently limited to facsimile applications, for in fact it is of value in a variety of different data storage or transmission systems.
Only an encoder-decoder system will be described in detail. Of course, to regenerate the input symbol sequence the decoding process will normally disassemble the coded message in a fashion complementary to the way in which it was assembled. It will be obvious to those skilled in the design of such systems as this that any of a variety of techniques may be used to ensure that the decoding process will proceed in correspon dence with the encoding (or coding) process.
In the disclosed system, certain internal operations occur while code symbols are being supplied to, or received from, a communication channel between the encoder and decoder. Clearly, the internal operation speed of the coding and decoding system should be sufficiently greater than the symbol rate of the communication channel to ensure that code symbols are always present for communication in the encoder system, and that the decoder system is always capable of responding to code symbols as they are received from the com-- munication channel.
The Coding System Generally In the preferred embodiment initial code words for black representing and white representing run lengths contain 3 and 5 bits respectively to reflect a higher probability that blackrepresenting runs can be entirely described by a three bit word but not white representing runs. Of the seven possible non-zero bit combinations in a 3 bit word size, a 3 bit code word vocabulary defines the first six combinations as representing black run lengths of from 1 to 6 bits or symbols respectively; The seventh bit combination is reserved to indicate that 6 consecutive bits of black have occurred and that the coding is shifting to a 5 bit code word for further coding.
For convenience, but not of necessity, the same 5 bit code word size and vocabulary is used for first word coding of white representing run lengths, and second word coding, where required, of black representing .runs. The first 28 non-zero bit combinations of the 5 bit word size are defined by the corresponding code word of from 1 to 28 bits in length. The 29th bit combination indicates white, or additional black, run lengths of greater than 28 bits but less than 57 bits and accordingly indicates a subsequent five bit code word is used to represent the number of bits in excess of 28. The 30th bit combination indicates a white, or additional black, run greater than 56 but less than 256 bits in length and that the subsequent code word is 8 bits in size and represents the remainder of the run length. The 31st bit combination in the 5 bit code word vocabulary indicates a white, or additional black, run of 25 6 or greater bits in length and the use of one or more 1 1 bit code words for completing the coding. The first 2,046 non-zero bit combinations of the l 1 bit word size define corresponding run lengths in excess of 28 while the 2,047th bit combination indicates the existence of more than 2,046 excess bits in the run length and that one or more subsequent 11 bit words will be used, according to the same code word vocabulary, for completion of coding for the run length.
It can be seen from the above described coding system that termination of coding for a given run length is implicitly indicated by, for example, the absence of a reserved code word. The change in reflectivity characteristic is then discernible from the implicit termination indication. Moreover, the convention is established that each scan line begins with white reflectivity characteristics thereby establishing the reflectivity characteristic, and initial code word size, for all subsequent run lengths from the number of intervening reflectivity changes.
A General Description of the Encoder System While the interaction of the encoder circuitry is fairly involved, the operation of the encoder proceeds in a straight-forward fashion. An overall understanding of this operation, and of the interaction of the encoder subsystem shown in FIG. 1, may best be gained from the table presented in FIG. 2. This table shows in an orderly fashion the sequencing or interrelationships of what will be called the major and minor states of the encoder system, and indicates the subsystem interaction occurring in each sequence. The major states 1 through 13 are listed along the left hand column of the table; successive minor states 1 through 9 are listed across the top row of the table. In the following description, and in the figures of the drawing, signals used to identify the existence of a major state signal are preceded by an 8; thus S6 indicates the existence of major state 6. By a similar convention, minor state signals are preceded by an M; thus M6 indicates a minor state 6. 1n the table, the check mark represents the occurrence of an action or event; the dashes indicate that no action or event occurs; the numbers indicate a limiting count, or the count transferred at that point in the sequencing of the states.
Referring now to FIG. 1, and proceeding as indicated in FIG. 2, the major state sequencing is as follows: Major State 1 When turned on, the encoder system begins in major state 1, and appropriate circuitry to ensure this is included in the major state generator subsystem 10, shown in detail in FIG. 3. Before a start pulse is applied to a minor state generator subsystem, shown in detail in FIG. 4, it is forced by the S1 signal to its minor state 1. The system remains in major state 1 until a supply of input symbols exists in the symbol source.
When a supply exists, the system associated with the encoder begins the encoding action by supplying a start signal to a minor state generator 11 over an electrical conductor 15 (electrical conductors hereafter will be referred to simply as lines). On receipt of this signal, the minor state generator cycles a major state generator 10 through minor state 2 to major state 2.
While in major state 1, and minor state 2, a color (in the sense of black or white brilliance) monitor circuit 12 of an input symbol control subsystem 13, shown in detail in FIG. 5, is set to monitor black input symbols. Thus, when the color indication is changed in the next state, major state 2, the color monitor circuit will be set to monitor white input symbols, which according to the convention previously mentioned is presumed to be the color represented by the initial input symbol shifted from a symbol source 14, such as a facsimile scanner. Major State 2 In major state 2, as the minor state generator cycles through its states, a run length counter subsystem 16, shown in detail in FIG. 6, is cleared or set to zero, and the color indication from monitor circuit 12 of the input symbol control subsystem 13 is changed.
Initially, on changing from major state 1 to major state 2 a color change will be made by monitor 12 from the initial black indication (represented in the drawings by B) to a "white indication (represented by W). Thereafter, each time the system cycles back through major state 2, the color indication will be changed, alternating between black and white. Then, if the input symbol source indicates a not empty condition and:
a. If the color indication is white, the system proceeds to major state 6, skipping major states 3, 4 and 5; or
b. If the color indication is black, the system proceeds to major state 3. If the input symbol source indicates an empty" condition, the system proceeds .to major state 1.
Major State 3 In major state 3, the input symbol control subsystem 13 produces shift pulses which are applied over a line 17 to the symbol source 14 to shift input symbols stored in source 14, which will always be black representing input symbols in this major state, from the input symbol source. The shift pulses also are applied to increment the run length count in counter subsystem 16, until: (1) a first white indicating input symbol is encountered by the input symbol control subsystem; (2) the run length counter reaches a count of 6; or (3) the supply of symbols in the input symbol source is exhausted. Upon occurrence of any one or more of these conditions, the encoder system pauses or waits until the code symbols, if any, supplied from counter 16 to an output register subsystem 18, shown in detail in FIG. 7, have been shifted to the communication system, which shifting is controlled by the pulses of a clock signal produced by the communication system. Typically, the communication system will include a modern, and the clock signal will be the modems clock signal. This clock signal also is used to decrement an output counter subsystem 19, shown in detail in FIG. 8, which subsystem has been previously loaded to indicate the number of output of code symbols in the output register 18 when the encoder pauses to transmit them. When the output counter in the output counter subsystem 19 reaches zero, indicating there are no more code symbols in the output register 18, it produces and supplies an empty signal to the minor state generator 11 over a line 21. This causes the encoder system to proceed from major state 3 as follows:
a. If a color change or input symbol empty condition has occurred and the count in the run length counter is less than or equal to 6, the encoder proceeds to major state 4;
b. If no color change or empty condition has occurred when the run length counter reaches a count of 6, the encoder proceeds to major state 5. Major State 4 In major state 4, the minor state cycling causes the three binary symbols which represent a run length count of 6 or less in the run length counter subsystem 16 to be transferred to the output register subsystem l8, and causes a count of 3 to be loaded into the output counter subsystem 19. As previously described, the clock signals from the communication system will cause code symbols inoutput register subsystern 18 to be shifted to the communication system and simultaneously decrement the output counter. While this proceeds, the encoder system recycles to major state 2 in which, as previously described, the color control indication is changed and the run length counter is cleared or reset to a zero count. Major State 5 In major state 5, minor state cycling causes the binary number 7 to be generated and shifted into the output register; it causes a count of 3 to be loaded into the output counter 19; and it causes the run length counter subsystem 16 to be cleared, or reset to zero. Following this, the encoder system proceeds to major state 6. Major State 6 In major state 6, the input symbol control subsystem 13 produces pulses to shift input symbols from the input symbol source and to increment the run length counter subsystem 16 until: (1) a color change occurs in the input symbol stream; (2) a run length count of 2,047 is reached by the run length counter subsystem 16; or (3) the input symbol source indicates exhaustion of symbols by producing an empty signal on line 22. When any one of these conditions has occurred, the output register is emptied of code symbols and, after this empty condition is signalled by the output counter 19 over line 21, the system proceeds as follows:
a. If the count in the run length counter subsystem 16 is less than or equal to 28, the system proceeds to major state 7;
b. If the count in the run length counter subsystem is greater than 28 but less than or equal to 56, thesystem proceeds to major state 8;
c. If the count in the run length counter subsystem is greater than 56 but less than or equal to 255, the system proceeds to major state 9; or
d. If the count in the run length counter is greater than 255 the system proceeds to major state 11. Major State 7 In major state 7, the minor state cycling causes five binary symbols representing the entire run length count in the run length counter subsystem 16 to be transferred to the output register 18 and a count of to be loaded into the output counter 19. Operation then proceeds to major state 2, as symbols are clocked from register subsystem 18 to the communication system.
Major State 8 In major state 8, the minor state cycling causes the five symbols representing the binary number 29 to be produced and transferred to the output register subsystem 18, and a count of 5 to be loaded into the output counter subsystem l9. Thereafter, the minor state cycling causes a subtractor portion of the run length counter subsystem 16 to reduce the count in the run length counter by 28. When this has occurred, the system waits until the output register is empty of code symbols, as signalled by the output counter, then proceeds to major state 7.
Major State 9 In major state 9, the minor state cycling causes five symbols representing the binary number 30 to be produced and transferred to the output register 18 and a count of 5 to be loaded into the output counter. When the output register is empty of these code symbols, the system proceeds to major state 10. Major State 10 In major state 10, the minor state cycling causes 8 bits of symbols comprising the run length count present in the run length counter subsystem 16 to be transferred to the output register subsystem 18 and a count of 8 to be loaded into the output counter. Then the system proceeds to major state 2, as the symbols in register subsystem 18 are clocked out to the communication system.
Major State 11 In major state 11, the minor state cycling causes the five binary symbols representing a count of 31 to be produced and transferred to the output register subsystem 18 and a count of 5 to be loaded into the output counter 19. When these code symbols have been shifted from the output register subsystem 18 to the communication system and the output counter indicates an empty condition over line 21, the system proceeds to major state 12.
Major State 12 If the count in the run length counter subsystem 16 is less than 2,047, 11 binary symbols representing the entire count and run length are transferred to the output register subsystem 18 and a count of 11 is loaded into the output counter 19, then the system proceeds to major state 2 as the symbols in subsystem 18 are clocked out.
If the count in the run length counter equals 2,047, the l 1 symbols representing this binary count are transferred from the run length counter to the output register 18 and a count of 11 is loaded into the output counter, then the run length counter subsystem 18 is read out to the communication system and subsequently incremented to a count of 1 (because in this system the 2,047 code word indicates a partial run of 2,046 input symbols to which the number of symbols in the next word or words is to be added), and the system proceeds to major state 13.
Major State 13 In major state 13, the system shifts input symbols from the input symbol source and increments the run length count until: (1) a color change is sensed by the color monitor circuit 12; (2) a run length count of 2,047 is reached; or (3) until the input symbol source indicates an empty condition over line 22. When any oneof these conditions has occurred, the system empties the output register of code symbols and then proceeds to major state 12.
In this fashion the encoder system accepts and run length codes input symbols in successive runs of identical symbols. The black representing input symbols are initially run length coded using a code word vocabulary in which the code words all consist of three symbols with the code word representing the binary count of 7 being reserved and used to represent both a black run length of six symbols and to flag a shift to the extended length coding strategy used for white symbols. White representing input symbols are coded initially using a code word vacabulary in which all code words consist of five symbols, the code words or binary counts corresponding to numbers 30 and 31 being reserved and used when the run length count exceeds 56 to flag a shift in the code word vocabulary.
A DETAILED DESCRIPTION OF THE ENCODER SYSTEM Details of the various subsystems of the encoder are shown in FIGS. 3 through 8. In these and other drawings, various standard graphic symbols are used to represent the common logical AND or OR circuits. Selection of appropriate AND and OR circuits, and of the other common circuits shown in these drawings, to perform the functions required in the disclosed systems is well within the ability of one skilled in this art, and will be left to the preference of the designer.
The major state generator subsystem is shown in FIG.
. 3. It includes a double rank of identical 13 stage registers, namely a first rank 31 and a second rank 32. These ranks of registers are interconnected so as to, upon application of appropriate command pulses, selectively clear either rank, store an input signal condition applied to one stage of the first rank in that stage of the first rank, or load a condition stored in the first rank into the second rank so that the stages of the second rank duplicate the condition of the stages of the first rank.
Major State 1 When appropriate levels of power are applied to the various elements of the encoder system, a major state I initialization control circuit 33 clears the second rank of major state registers, then loads the first stage of the second rank to indicate major state 1, causing the second rank to produce an S1 output signal. As shown in FIG. 4, the minor state generator subsystem includes an AND circuit 41 to which the S1 signal is applied together with an inverted start" signal. Thus, after the system is turned on but before a start" signal is applied by the system associated with the encoder, the AND circuit 41 will receive both of the input signals it requires to produce an output signal on line 42. This output signal is applied to a cyclical counter 43 to force it to a count corresponding to a minor state 1 condition. This count is decoded by a count decoder 44 connected to the counter 43, and the count decoder pro-

Claims (21)

1. A system for encoding sequences of different messages where each message comprises a succession of input signals and has one characteristic from a plurality of characteristics for said messages, said system having in combination: means for receiving a message; coding means responsive to said received message to provide coding thereof according to at least first and second selectively operable encoding schemes; the first encoding scheme being normally operative and providing encoding of said received message in the first code word vocabulary containing one or more code words reserved to indicate a received message having predetermined ones of said plurality of characteristics; the second encoding scheme including said first encoding scheme and being alternatively operative to include coding of said received message in a second code word vocabulary more appropriate than the first code word vocabulary for the encoding of said received message with said predetermined characteristics; means responsive to reception of a message without said predetermined characteristics for causing said coding means to encode said message without said predetermined characteristics according to said first coding scheme in said first code word vocabulary; means responsive to reception of a message with said predetermined characteristics for causing said coding means to produce one of said one or more reserved code words as an indication of reception of a message with said predetermined characteristics; and means for shifting the coding means from its first to its second encoding scheme in response to reception of a message with said predetermined characteristics in order to encode said received message with said predetermined characteristics in said second code word vocabulary.
2. A system for encoding a sequence of messages, each having one or more of a plurality of characteristics, in coded representations of one or more code words selected, according to the characteristics of the messages to be encoded, from a plurality of code word vocabularies which relate said messages to said coded representations, said system comprising: means for receiving a message for encoding; means responsive to a received message for selecting one or more of said plurality of said code word vocabularies in accordance with said characteristics of said received message and operative to select at least one predetermined code word vocabulary for an initial message representing code word and means for encoding said received message into coded representations of one or more code words according to the selected one or more code word vocabularies for said message; said at least one of said plurality of code word vocabularies having at least one predetermined code word reserved as an indication of the use of a further code word vocabulary for encoding a message; the one or more code word vocabularies selected for said message being selected to identify the one or more code word vocabularies successively used in the coded representation for said message as well as to indicate the message encoded.
3. The system for encoding a sequence of different messages of claim 2 wherein said code selecting means selects the one or more code word vocabularies for each said message to provide for economy in the coded representations necessary to specify each said message.
4. The system for encoding a sequence of different messages of claim 2 wherein: said messages are of at least first and second types having respectively first and second pluralities of characteristics; means are provided for detecting the type of each said received message; said selecting means provides a different code word vocabulary for each said message type for encoding the first code word in the coded representation thereof; and said selected first code word vocabularies have at least one code word reserved as an indication of the use of a further code word vocabulary for encoding a message.
5. A system for encoding messages of a sequence of messages into a coded representation of one or more code words each selected from one of a plurality of code word vocabularies, said system comprising: means for receiving said sequence of messages to be encoded; means for encoding predetermined ones of said received messages into a representation beginning with a code word selected from a specific code word vocabulary from among said plurality of code word vocabularies; means for determining whether or not each of said predetermined messages can be entirely represented by a code word from said specific code word vocabulary; means, responsive to the determination that a predetermined message can be entirely represented by a code word from said specific code word vocabulary, for causing the encoding of that predetermined message in that code word from said specific code word vocabulary; means, responsive to a determination that a predetermined message cannot be entirely represented by a code word from said specific code word vocabulary, for selecting one or more additional code word vocabularies to provide one or more code words therefrom to represent that predetermined message; said specific code word vocabulary having one or more code words reserved to indicate the use of one or more further code words to provide a coded representation of each said predetermined messages; and means, responsive to the determination that a predetermined message cannot be represented entirely by a code word from said specific code word vocabulary, for providing as the first code word for that predetermined message a reserved code word indicating the use of a further code word and for providing one or more further code words to represent that predetermined message in accordance with the fuRther one or more code word vocabularies selected to complete the coded representation of that predetermined message.
6. The system for coding messages of a sequence of messages of claim 5 wherein: the specific code word vocabulary includes a plurality of code words reserved to indicate the use of respective, different one or more further code word vocabularies to complete the coded representation of said predetermined ones of said received messages; means are provided, operative in response to a determination that said predetermined messages cannot be entirely represented by a code word from said specific code word vocabulary, for selecting which of said one or more further code word vocabularies is to be used to complete the coded representation of said predetermined messages; means are provided to produce as said first code word the code word reserved in said specific code word vocabulary to indicate the use of the further one or more code word vocabularies selected for use in completing the coded representation of said predetermined messages; and means are provided for choosing code words from said further one or more code word vocabularies selected for use in completing the coded representation of said predetermined messages.
7. The system for coding messages of a sequence of messages of claim 5 wherein: the coded representations for said predetermined messages consist of a sequence of symbols; and said means for encoding and for providing said first code word or said first and further code words is operative to provide for economy of symbols in the coded representation for each of said predetermined messages.
8. The system for coding messages of a sequence of messages of claim 7 wherein: each said message consists of a number of identical binary input symbols; and said plurality of code word vocabularies comprise binary symbols representing the number of identical binary symbols in each said predetermined message.
9. The system for coding messages of a sequence of messages of claim 8 wherein: said messages are of first and second predetermined types corresponding to the symbol type of each message; and the first code words for the coded representations of said first and second predetermined message types are chosen from said first and second different, specific code word vocabularies from among said plurality of code word vocabularies.
10. A system for encoding messages in one or more code words chosen from a plurality of code word vocabularies, said system comprising: means for receiving a message to be encoded; said plurality of code word vocabularies being of different code word sizes; one or more of said plurality of code word vocabularies including one or more code word vocabularies of relatively smaller code word size having at least one code word reserved to indicate that the coded representation for a message continues beyond said reserved code word to one or more code words selected from code word vocabularies specified by said reserved code word; means for providing a first code word for said received message from a code word vocabulary containing a reserved code word; and means for developing the coded representation for said received message according to predetermined encoding criteria to produce economy in the coded representation for said message, with all of the one or more code words in the coded representation generally proceeding in code word size from smaller to larger and being either a reserved code word to indicate the use of a subsequent code word from an indicated code word vocabulary for the coded representation or a code word indicated for use by a previous, reserved code word in the coded representation.
11. A coded communication system for communicating coded representations of a sequence of messages, said system comprising: means for receiving a message to be coded for communication; means for encoding a received message in a coded Representation of one or more code words selected from a plurality of code word vocabularies and having means for selecting a first code word for said coded representation from a specific one of said plurality of code word vocabularies; said specific code word vocabulary providing code words corresponding to predetermined characteristics of said received message and further providing one or more reserved code words indicating the use of one or more subsequent code words to complete the coded representation of said message in the case where said predetermined characteristics are absent; said encoding means including means for completely encoding said message having said predetermined characteristics with the appropriate first code word selected from said specific code word vocabulary to represent said message; said encoding means further including means for detecting when said message lacks said predetermined characteristics and for encoding that message in a first code word from said specific code word vocabulary indicating the use of one or more subsequent code words and code word vocabularies for completing the coded representation and for providing said one or more subsequent code words to complete the coding with economy in the coded representation; and means for transmitting the coded representation of said message.
12. The coded communication system of claim 11 further including: means for receiving the transmitted coded representation; means for detecting in the received coded representation a reserved code word indicating use of one or more subsequent code words for completing the coded representation; means operative in response to a detected reserved code word for decoding the received coded representation from the received first code word and indicated one or more subsequent code words thereof; and means operative in the absence of detection of a reserved code word in said received coded representation for decoding the first code word to provide said message.
13. A system for run length coding a sequence of binary input symbols including: means for counting in binary symbols the number of consecutive, identical binary input symbols in a run length; coding means operative in association with said counting means for representing a run length by its run length count of identical symbols, said count being indicated by binary symbols in one or more code words selected from a plurality of code word vocabularies; means for beginning the coded representation of a run length count with a first code word selected from a particular code word vocabulary having one or more code words reserved to indicate the use of one or more additional code word vocabularies from among said plurality of vocabularies for completing the coded representation beyond said first code word; control means for determining when a run length count requires more than said first code word for its coded representation and for resultingly selecting the code word vocabularies for the one or more code words subsequent to said first code word from said one or more additional code word vocabularies thereby to provide for economy of binary symbols in said coded representation; and output means for accepting a plurality of binary symbols of the coded representation of a run length.
14. The system for run length coding of claim 13 further including: a communication channel operative to transmit code word symbols at a predetermined rate; said counting means being operative to count up to a predetermined number of consecutive identical binary input symbols in a run length; said output means supplying code word symbols to said communication channel at said predetermined rate; means operative in association with said output means for producing an empty signal in response to at least partial depletion of code word symbols in said output means; and means responsive to said empty signal for causing said counting means to cOunt additional input symbols and the coding means to produce at least an additional code word for said output means.
15. The system for run length coding of claim 13 further including: means for communicating symbols accepted by said output means; means for receiving a coded representation from said communicating means; means for detecting reserved code words in said received one or more code words for said coded representation; means operative in response to detection of a reserved code word for identifying the one or more code words in said coded representation in accordance with the meaning of said reserved code word; and decoding means operative in response to the identified and detected code words of said received coded representation for producing a sequence of identical binary symbols, the number of said identical symbols being determined by the coding of said identified code words in said received coded representation.
16. The system for run length coding of claim 13 wherein: the coding of a run length of one binary symbol type begins with a code word from a first particular code word vocabulary; the coding of a run length of the other binary symbol type begins with a code word from a second particular code word vocabulary; and said first and second particular code word vocabularies each include at least one code word reserved to indicate the use of one or more subsequent code words from different code word vocabularies for each coded representation.
17. The system for run length coding of claim 16 wherein: a reserved code word of said first particular code word vocabulary indicates the next code word in the coded representation is selected from said second particular code word vocabulary; and said second particular code word vocabulary includes a plurality of reserved code words to indicate the use of a plurality of different code word vocabularies for subsequent code words in the coded representation for a run length.
18. A method for coding a message in a coded representation comprising one or more code words selected from a plurality of different code word vocabularies according to characteristics of said message, the method including the steps of: receiving said message; providing coding of said received message with a code word from a first code word vocabulary having at least one code word reserved to indicate a shift to one or more additional code word vocabularies; indicating, in response to predetermined message characteristics, if said received message can be more economically represented by one or more code words from said first code vocabulary word rather than by one or more code words from said additional code word vocabularies; providing coding, in the absence of said indication, with a reserved code word from the first code word vocabulary for the first code word in the coded representation and thereafter providing coding of said received message using said one or more additional code word vocabularies; and providing coding for said received message from said first code word vocabulary in response to said indication.
19. The method as set forth in claim 18 in which: the first code word vocabulary has at least two code words reserved; the first of said at least two reserved code words indicates a shift to a second code word vocabulary and the second of said at least two reserved code words indicates a shift to a third code word vocabulary; the indicating step determines which code word vocabulary more economically represents the received message; a step is provided for using the first of said reserved code words as the first code word of the coded representation when the received message is indicated to be more economically represented by the second code word vocabulary; a step is provided for using the second of said reserved code words as the first code word of the coded representation when the received message is indicated to be more economically represented by the third code word vocabulary; and a step is provided for thereafter representing the received message according to the code word vocabulary indicated by the reserved code word added to the coded representation.
20. A method for decoding a coded message produced by the method of coding set forth in claim 18, including the steps of: initially decoding the coded message according to the first code word vocabulary; detecting the presence of one of said at least one reserve code words in the first code word initially decoded; and decoding, in response to detection of a reserved code word, the coded message according to which of the additional code word vocabularies is indicated by the detected reserved code word; and decoding the coded message according to the first code word vocabulary in the absence of detection of a reserved code word.
21. Apparatus for coding a message in a coded representation comprising one or more code words selected from a plurality of different code word vocabularies according to characteristics of said message, the apparatus including: means for receiving said message; means for providing coding of said received message with a code word from a first code word vocabulary having at least one code word reserved to indicate a shift to one or more additional code word vocabularies; means for indicating, in response to predetermined message characteristics, if said received message can be more economically represented by one or more code words from said first code word rather than by one or more code words from said additional code word vocabularies; means for providing coding, in the absence of said indication, with a reserved code word from the first code word vocabulary for the first code word in the coded representation and thereafter providing coding of said received message using said one or more additional code word vocabularies; and means for providing coding for said received message from said first code word vocabulary in response to said indication.
US00161074A 1971-07-09 1971-07-09 Coding technique Expired - Lifetime US3739085A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US16107471A 1971-07-09 1971-07-09

Publications (1)

Publication Number Publication Date
US3739085A true US3739085A (en) 1973-06-12

Family

ID=22579706

Family Applications (1)

Application Number Title Priority Date Filing Date
US00161074A Expired - Lifetime US3739085A (en) 1971-07-09 1971-07-09 Coding technique

Country Status (5)

Country Link
US (1) US3739085A (en)
AU (1) AU461158B2 (en)
CA (1) CA961980A (en)
DE (1) DE2227975A1 (en)
GB (1) GB1401637A (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3830963A (en) * 1972-12-11 1974-08-20 Ibm System for data compression by dual word coding having photosensitive memory and associated scanning mechanism
US3935379A (en) * 1974-05-09 1976-01-27 General Dynamics Corporation Method of and system for adaptive run length encoding of image representing digital information
US4006297A (en) * 1974-09-20 1977-02-01 Nippon Electric Company, Ltd. Television signal coding system
US4121259A (en) * 1975-11-25 1978-10-17 Dr.-Ing. Rudolf Hell Gmbh Method for digital run-length coding with redundance reduction for transmission of binarily coded picture informations
US4292470A (en) * 1979-09-10 1981-09-29 Interstate Electronics Corp. Audio signal recognition computer
US4388495A (en) * 1981-05-01 1983-06-14 Interstate Electronics Corporation Speech recognition microcomputer
US4412098A (en) * 1979-09-10 1983-10-25 Interstate Electronics Corporation Audio signal recognition computer
US4441208A (en) * 1980-10-22 1984-04-03 Tokyo Shibaura Denki Kabushiki Kaisha Picture information processing and storing device
US4467363A (en) * 1982-09-27 1984-08-21 International Business Machines Corporation Graphic data compression
US4559531A (en) * 1983-02-14 1985-12-17 Chyron Corporation Color video generator
US4646356A (en) * 1984-06-29 1987-02-24 International Business Machines Corporation Method for converting a bit map of an image to a run length or run end representation
US5073966A (en) * 1983-05-10 1991-12-17 Canon Kabushiki Kaisha Image data processing apparatus
US5751231A (en) * 1996-06-26 1998-05-12 Intel Corporation Method and apparatus for run-length encoding using special long-run codes
US5798718A (en) * 1997-05-12 1998-08-25 Lexmark International, Inc. Sliding window data compression method and apparatus
US5859926A (en) * 1995-11-13 1999-01-12 Seiko Epson Corporation Device and method for data coding and decoding
US6219445B1 (en) 1997-01-14 2001-04-17 Seiko Epson Corporation Multi-color image encoding and/or decoding apparatus containing color order table and the method thereof
US6327383B2 (en) 1997-01-14 2001-12-04 Seiko Epson Corporation Multi-color image encoding apparatus and method, multi-color image decoding apparatus and method
US9264707B2 (en) * 2013-02-04 2016-02-16 Google Inc. Multi-symbol run-length coding
US9705526B1 (en) * 2016-03-17 2017-07-11 Intel Corporation Entropy encoding and decoding of media applications

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2008361B (en) * 1977-10-04 1982-03-24 Ncr Co Method and apparatus for werially transmitting information
US5187592A (en) * 1990-03-15 1993-02-16 Canon Kabushiki Kaisha Image communication method and apparatus with selection of binarization method for transmission

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3830963A (en) * 1972-12-11 1974-08-20 Ibm System for data compression by dual word coding having photosensitive memory and associated scanning mechanism
US3935379A (en) * 1974-05-09 1976-01-27 General Dynamics Corporation Method of and system for adaptive run length encoding of image representing digital information
US4006297A (en) * 1974-09-20 1977-02-01 Nippon Electric Company, Ltd. Television signal coding system
US4121259A (en) * 1975-11-25 1978-10-17 Dr.-Ing. Rudolf Hell Gmbh Method for digital run-length coding with redundance reduction for transmission of binarily coded picture informations
US4292470A (en) * 1979-09-10 1981-09-29 Interstate Electronics Corp. Audio signal recognition computer
US4412098A (en) * 1979-09-10 1983-10-25 Interstate Electronics Corporation Audio signal recognition computer
US4441208A (en) * 1980-10-22 1984-04-03 Tokyo Shibaura Denki Kabushiki Kaisha Picture information processing and storing device
US4388495A (en) * 1981-05-01 1983-06-14 Interstate Electronics Corporation Speech recognition microcomputer
US4467363A (en) * 1982-09-27 1984-08-21 International Business Machines Corporation Graphic data compression
US4559531A (en) * 1983-02-14 1985-12-17 Chyron Corporation Color video generator
US5073966A (en) * 1983-05-10 1991-12-17 Canon Kabushiki Kaisha Image data processing apparatus
US4646356A (en) * 1984-06-29 1987-02-24 International Business Machines Corporation Method for converting a bit map of an image to a run length or run end representation
US5859926A (en) * 1995-11-13 1999-01-12 Seiko Epson Corporation Device and method for data coding and decoding
US5751231A (en) * 1996-06-26 1998-05-12 Intel Corporation Method and apparatus for run-length encoding using special long-run codes
US6219445B1 (en) 1997-01-14 2001-04-17 Seiko Epson Corporation Multi-color image encoding and/or decoding apparatus containing color order table and the method thereof
US6327383B2 (en) 1997-01-14 2001-12-04 Seiko Epson Corporation Multi-color image encoding apparatus and method, multi-color image decoding apparatus and method
US5798718A (en) * 1997-05-12 1998-08-25 Lexmark International, Inc. Sliding window data compression method and apparatus
US9264707B2 (en) * 2013-02-04 2016-02-16 Google Inc. Multi-symbol run-length coding
US9705526B1 (en) * 2016-03-17 2017-07-11 Intel Corporation Entropy encoding and decoding of media applications

Also Published As

Publication number Publication date
DE2227975A1 (en) 1973-01-11
CA961980A (en) 1975-01-28
AU461158B2 (en) 1975-04-29
AU3874572A (en) 1973-08-09
GB1401637A (en) 1975-07-16

Similar Documents

Publication Publication Date Title
US3739085A (en) Coding technique
US4441208A (en) Picture information processing and storing device
US4800441A (en) Binary data compression and expansion processing apparatus
US4135214A (en) Method and apparatus for compressing facsimile transmission data
EP0040025A1 (en) Real time data compression/decompression scheme for facsimile transmission system
US4654719A (en) Coding circuit for facsimile apparatus
US3769453A (en) Finite memory adaptive predictor
US4719450A (en) Method and system for binary-to-decimal interconversion
EP0145396B1 (en) Codeword decoding
JPH04270568A (en) Data compression system in picture processing unit
EP0145397B1 (en) Detecting codewords
EP0149893B1 (en) Apparatus for coding and decoding data
US5406282A (en) Data coding and decoding with improved efficiency
US6055338A (en) Bi-level adaptive coding using a dual port memory and a context comparator
JPH04270564A (en) Serial picture data compression system having color information
US4623936A (en) Error processing technique for modified read code
US4188643A (en) Method and arrangement for correcting errors in facsimile transmission
JPH04270569A (en) Data compression system for picture processor
EP0341272B1 (en) System for producing pixel image data from ccitt encoded pixel data
US4864414A (en) Image signal processing device
US5452092A (en) Changing pixel detector for coding of image data
JP3123795B2 (en) Encoding device and decoding device using arithmetic code
JPS6351429B2 (en)
JP3123791B2 (en) Encoding device and decoding device using arithmetic code
EP0302432A2 (en) Document decompressing system