WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Method and apparatus for compressing facsimile transmission data    

Get related patents on CD
United States Patent4135214   
Link to this pagehttp://www.wikipatents.com/4135214.html
Inventor(s)Weber; Donald R. (Saratoga, CA)
AbstractA method and apparatus wherein novel adaptive encoding and decoding processes are utilized to reduce the quantity of symbols or descripters required to transmit or store different classes of digital information. The codes used to describe repetitious binary sequences are caused to vary in length in accordance with a well-defined procedure to more efficiently represent the original data.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History Custom Search
Drawing from US Patent 4135214
Method and apparatus for compressing facsimile transmission data - US Patent 4135214 Drawing
Method and apparatus for compressing facsimile transmission data
Inventor     Weber; Donald R. (Saratoga, CA)
Owner/Assignee     Dacom, Inc. (Santa Clara, CA)
Patent assignment
All assignments
Company News
Publication Date     January 16, 1979
Application Number     04/838,454
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     July 2, 1969
US Classification     382/245 341/63 382/246
Int'l Classification     H04N 007/12 H04N 001/00
Examiner     Britton; Howard W.
Assistant Examiner    
Attorney/Law Firm     Fulwider, Patton, Rieber, Lee & Utecht
Address
Parent Case    
Priority Data    
USPTO Field of Search     178/6 BW 325/38 340/347 D 358/260 358/261
Patent Tags     compressing facsimile transmission data
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
2963551



[0 after 0 votes]
3347981



[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B

[0 market size comments]
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 market share comments]
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 reasonable royalty comments]
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

[0 Guesstimation of Royalty Value Comments]
License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 license availability comments]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 owner/assignee comments]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

[0 competitive advantage comments]
Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

[0 commercial alternatives comments]
 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. For use in the transmission of facsimile data, a method of encoding and time compressing data taken from a document, the face of which may be considered as being made up of a plurality of different elemental areas each of which contains indicia of a first state or indicia of a second state, comprising the steps of:

(a) sequentially examining the contents of each elemental area to identify alternating run lengths of indicia of said first and second states;

(b) counting the number of elemental areas in each run length; and

(c) converting the number counted for each run length into a code term including a first code word n-bits in length and capable of representing up to x elemental areas, and a series of further code words, each having a bit length which exceeds the bit length of the preceding code word by one bit, the number of said further code words required being determined by the extent to which the number counted exceeds the capacity of said first code word.

2. a method of encoding and time comprssing data as recited in claim 1 wherein the bit length of the first code word in each successive code term is expanded to have the same bit length as the last code word in the next preceding code term representing a run length of the same indicia state.

3. A method of encoding and time compressing data as recited in claim 1 wherein the bit length of the first code word in each odd numbered code term is determined by the bit length of the last code word in the next preceding odd numbered code term, and the bit length of the first code word in each even numbered code term is determined by the bit length of the last code word in the next preceding even numbered code term.

4. For use in the transmission of facsimile data, a method of encoding and time compressing data taken from a document, the face of which may be considered as being made up of a plurality of different elemental areas, each of which contains indicia of a first state or indicia of a second state, comprising the steps of:

(a) sequentially examining the contents of each elemental area to identify alternating run length of indicia of said first and second states;

(b) counting the number of elemental areas in the first run length; and

(c) converting the number counted in said first run length into a first code term including: (1) a first code word n-bits in length and having the capacity to represent up to x elemental areas; and (2) a second code word n+1 bits in length and having the capacity to represent up to y additional elemental areas if said first run length exceeds x-1 elemental areas; and (3) a third code word n+2 bits in length and having the capacity to represent up to z additional elemental areas if said first run length exceeds x+(y-1) elemental areas.

5. A method of encoding and time compressing data as recited in claim 4 wherein the bit length of the first code word in each successive odd numbered code term is determined by the bit length of the last code word in the next preceding odd numbered code term, and the bit length of the first code word in each successive even numbered code term is determined by the bit length of the last code word in the next preceding even numbered code term.

6. A method of encoding and time compressing data as recited in claim 4 and further comprising the steps of:

(d) counting the number of elemental areas in the second run length; and

(e) converting the number counted in said second run length into a second code term including: (1) a first code word m-bits in length and having the capacity to represent up to r elemental areas; and (2) a second code word m+1 bits in length and having the capacity to represent up to s additional elemental areas if said second run length exceeds r-1 elemental areas; and (3) a third code work m+2 bits in length and having the capacity to represent up to t additional elemental areas if said second run length exceeds r+(s-1) elemental areas.

7. A method of encoding and time compressing data as recited in claim 6 wherein the bit length of the first code word in a succeeding code term is reduced to one data bit less than the last code word in the next preceding code term representing the next preceding run length of the same indicia state if that next preceding code term was filled to less than a predetermined percentage of its capacity.

8. For use in special-purpose apparatus for the transmission of facsimile data, a method of encoding and time compressing data taken from the face of a document which may be considered as being made up of a plurality of different elemental areas each of which contains indicia of a first state or indicia of a second state, and transmitting such data for reproduction at a remote location, comprising the steps of:

(a) sequentially examining the contents of each elemental area to identify alternating run lengths of indicia of said first and second states;

(b) counting the number of elemental areas in the first run length; and

(c) converting the number counted in said first run length into a first code term including, (1) a first code word n-bits in length and having the capacity to represent up to x elemental areas, and (2) a second code word n+1 bits in length and having the capacity to represent up to y additional elemental areas if said first run length exceeds x-1 elemental areas, and (3) a third code word n+2 bits in length and having the capacity to represent up to z additional elemental areas if said first run length exceeds x+(y-1) elemental areas;

(d) counting the number of elemental areas in the second run length;

(e) converting the number counted in said second run length into a second code term including, (1) a first code word m-bits in length and having the capacity to represent up to r elemental areas, and (2) a second code word m+1 bits in length and having the capacity to represent up to s additional elemental areas if said second run length exceeds r-1 elemental areas, and (3) a third code word m+2 bits in length and having the capacity to represent up to t additional elemental areas if said second run length exceeds r+(s-1) elemental areas; and

(f) transmitting said code terms to said remote location.

9. A method of encoding and time compressing data as recited in claim 8 and further comprising the steps of:

receiving the transmitted code terms at said remote locations;

decoding said code terms to provide decoded data; and

using said decoded data to develop a facsimile copy of said document.

10. A method of encoding and time compressing data as recited in claim 8 and further comprising the step of storing said code terms in a data storage means prior to their transmission to said remote location.

11. A method of encoding and time compressing data as recited in claim 8 and further comprising the step of storing said code terms in a data storage means following the receipt thereof at said remote location.

12. A method of encoding and time compressing data as recited in claim 8 and further comprising the step of developing a synchronization term and a header term for transmission preceding certain ones of said code terms.

13. A method of encoding and time compressing data as recited in claim 12 and further comprising the step of transmitting said synchronization term and said header term in succession following each transmission of a predetermined number of code term bits.

14. For use in special-purpose apparatus for the transmission of facsimile data, a method of scanning a document and generating a series of time compressed communicative data bits corresponding to indicia of a first type and indicia of a second type appearing on the face of said document, comprising the steps of:

subdividing the face of said document into a plurality of discrete elemental areas;

sequentially examining each of said elemental areas to determine the type of indicia occurring therein;

determining run lengths of the indicia by counting the number of elemental areas between each transition from one type of indicia to the other type of indicia;

developing a code term representative of each run length, said code term including, (1) a first code word having a first data bit length capable of indicating up to a first number of elemental areas, and (2) a second code word of a second data bit length capable of indicating up to a second number of elemental reas if the number of elemental areas in the run length exceeds one less than said first number, and (3) a third code word of a third data bit length capable of indicating up to a third number of elemental areas if the number of elemental areas in the run length exceeds said first number plus one less than said second number.

15. A method as recited in claim 14 wherein the bit length of the first code word in each code term is determined by the bit length of the last code word in the next preceding run length of the same type of indicia.

16. A method as recited in claim 14 wherein the bit length of the first code word in a given code term is reduced to one less than the bit length of the last code word of the next preceding code term representing the next preceding run length of the same indicia type if the length of said next preceding run length was less than a predetermined percentage of the capacity of said next preceding code term.

17. Special-purpose facsimile data transmission apparatus for encoding and time compressing data taken from a document the face of which may be considered as being made up of a plurality of different elemental areas each of which contains indicia of a first state or indicia of a second state comprising:

means for sequentially examining the contents of each elemental area and generating a first signal each time indicia of said first state is detected and a second signal each time indicia of said second state is detected; and

encoding means including logic circuitry responsive to said first and second signals and operative to count the number of signals in each successive run length of said first signals and said second signals and to develop time compressed encoded signals commensurate therewith, said encoded signals being comprised of a code term corresponding to each of said run lengths and including a first code word of a particular bit length and capable of representing up to a particular number of elemental areas, and a series of further code words each having a bit length exceeding the bit length of the preceding code word by one bit, the number of said further code words required being determined by the extent to which the number counted exceeds the capacity of said first code word.

18. Apparatus for encoding and time compressing data as recited in claim 17 wherein said logic circuitry causes the bit length of the first code word in each code term to be equal to the bit length of the largest code word in the next preceding code term tepresenting a run length of the same indicia state, unless said next preceding code term was filled to less than a predetermined percentage of its capacity, in which case said first code word is reduced in bit length by a predetermined number of data bits.

19. Apparatus for encoding and time compressing data as recited in claim 17 and further comprising a data transmission means and a remote decoding means operatively coupled to said encoding means by said transmission means, said decoding means being responsive to said encoded signals and operative to decode said code terms and develop data which can be used to provide a facsimile reproduction of said document.

20. Apparatus for encoding and time compressing data as recited in claim 17 and further comprising a data storage means for storing said encoded signals for a selected period of time.

21. In a facsimile transmission system, special-purpose apparatus for encoding and time compressing data taken from a document, the face of which may be considered as being made up of a plurality of diferent elemental areas each of which contains indicia of a first state or indicia of a second state, said apparatus comprising:

(a) means for sequentially examining the contents of each elemental area to identify alternating run lengths of indicia of said first and second states;

(b) means coupled with said means for sequentially examining, for counting the number of elemental areas in each run length; and

(c) means coupled with said means for counting for converting the number counted for each run length into a code term including a first code word n-bits in length and capable of representing up to x elemental areas, and a series of further code words, each having a bit length which exceeds the bit length of the preceding code word by one bit, the number of said further code words required being determined by the extent to which the number counted exceeds the capacity of said first code word.

22. Apparatus for encoding and time compressing data as recited in claim 21, and further including means for expanding the bit length of the first code word in each successive code term to have the same bit length as the last code word in the next preceding code term representing a run length of the same indicia state.

23. Apparatus for encoding and time compressing data as recited in claim 21 wherein said means for converting into a code term includes means for determining the bit length of the first code word in each odd numbered code term by the bit length of the last code word in the next preceding odd numbered code term, and means for determining the bit length of the first code word in each even numbered code term by the bit length of the last code word in the next preceding even numbered code term.

24. Special-purpose data facsimile transmission apparatus for encoding and time compressing data taken from a document, the face of which may be considered as being made up of a plurality of different elemental areas, each of which contains indicia of a first state or indicia of a second state, said apparatus comprising:

(a) means for sequentially examining the contents of each elemental area to identify alternating run lengths of indicia of said first and second states;

(b) means coupled with said means for sequentially examining, for counting the number of elemental areas in the first run length; and

(c) means coupled with said means for counting, for converting the number counted in said first run length into a first code term including: (1) a first code word n-bits in length and having the capacity to represent up to x elemental areas; and (2) a second code word n+1 bits in length and having the capacity to represent up to y additional elemental areas if said first run length exceeds x-1 elemental areas; and (3) a third code work n+3 bits in length and having the capacity to represent up to z additional elemental areas if said first run length exceeds x+(y-1) elemental areas.

25. Apparatus for encoding and time compressing data as recited in claim 24, wherein said means for converting includes means for determining the bit length of the first code word in each successive odd numbered code term by the bit length of the last code word in the next preceding odd numbered code term, and means for determining the bit length of the first code word in each successive even numbered code term by the bit length of the last code word in the next preceding even numbered code term.

26. Apparatus for encoding and time compressing data as recited in claim 24 wherein said means for converting includes means for reducing the bit length of the first code word in a succeeding code term to one data bit less than the last code word in the next preceding code term representing the next preceding run length of the same indicia state if that next preceding code term was filled to less than a predetermined percentage of its capacity.

27. In a facsimile data transmission system, special-purpose apparatus for encoding and time compressing data taken from the face of a document which may be considered as being made up of a plurality of different elemental areas each of which contains indicia of a first state or indicia of a second state, and transmitting such data for reproduction at a remote location, comprising:

(a) means for sequentially examining the contents of each elemental area to identify alternating run lengths of indicia of said first and second states;

(b) means coupled with said means for sequentially examining, for counting the number of elemental areas in the first run length; and

(c) means coupled with said means for counting, for converting the number counted in said first run length into a first code term including, (1) a first code word n-bits in length and having the capacity to represent up to x elemental areas, and (2) a second code word n+1 bits in length and having the capacity to represent up to y additional elemental areas if said first run length exceeds x-1 elemental areas, and (3) a third code word n+2 bits in length and having the capacity to represent up to z additional elemental areas if said first run length exceeds x+(y-1) elemental areas;

(d) means coupled with said means for sequentially examining, for counting the number of elemental areas in the second run length;

(e) means coupled with said last mentioned means (d), for converting the number counted in said second run length into a second code term including, (1) a first code word m-bits in length and having the capacity to represent up to r elemental areas, and (2) a second code word m+1 bits in length and having the capacity to represent up to s additional elemental areas if said second run length exceeds r-1 elemental areas, and (3) a third code word m+2 bits in length and having the capacity to represent up to t additional elemental areas if said second run length exceeds r+(s-1) elemental areas; and

(f) means for transmitting said code terms to said remote location.

28. Apparatus as recited in claim 27, and further comprising:

means for receiving the transmitted code terms at said remote location;

means for decoding said code terms to provide decoded data; and

means utilizing said decoded data to develop a facsimile copy of said document.

29. Apparatus as recited in claim 27, and further comprising means for storing said code terms prior to their tranmission to said remote location.

30. Apparatus as recited in claim 27, and further comprising second means for storing said code terms following the receipt thereof at said remote location.

31. Apparatus as recited in claim 27, and further comprising means for developing a synchronization term and a header term for transmission preceding certain ones of said code terms.

32. Apparatus as recited in claim 31, and further comprising means for transmitting said synchronization term and said heater term in succession following each transmission of a predetermined number of code term bits.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

The present invention relates generally to a graphics transmission system and, more particularly, to a new and improved adaptive encoding method of, and apparatus for, efficiently encoding and decoding sequential data to reduce the transmission time and/or band width required to convey graphics reproduction indicia.

The art of facsimile or graphics band width compression for use in document reproduction and transmission systems is well known and a general discussion of the prior art can be found in the U.S. patents to Fleckenstein et al U.S. Pat. No. 2,909,601, Kagan et al U.S. Pat. No. 3,347,981 and Wernikoff et al U.S. Pat. No. 3,394,352. These systems are basically comprised of some type of facsimile scanner which scans a document to be transmitted for reproduction and supplies the results of the scanning operation to a data band width reduction encoding apparatus. The data encoding apparatus then produces encoded output signals which are related in the indicia appearing on the face of the document to be reproduced. The encoded signals are subsequently transmitted to a remote receiver which decodes the received signals and supplies the decoded information to a recorder which reproduces a facsimile of the original document.

One of the principal problems encountered in the use of graphics transmission apparatus is the time required to transmit the voluminous quantity of data required to enable an accurate reproduction to be made. In the prior art attempts to compress the transmitted data, various coding configurations and techniques have been used which are typically based upon the statistical probability of the scanned information remaining stationary, or the same, for at least a finite period of time.

In the above mentioned Wernikoff et al patent, for example, a method is described which can simultaneously evaluate the compression efficiency of several different encoders, and then identify the one that is able to represent the most recent portion of the scan with the smallest number of digits. The most efficient encoder is then selected and caused to transmit the compressed data. This technique is able to selectively assign encoders in any combination, such that the encoder used at any given time is the best choice for that portion of the scan. Although the Wernikoff solution provides improved compression efficiencies for a certain class of data, its potential is limited because the number of encoders which can be incorporated is finite and the high cost of including more than three or four different encoders to accommodate different data statistics in a single system makes this solution undesirable for most applications.

In the aforementioned Kagan disclosure, a method is described wherein the scanned indicia is produced by differentiating a graphics copy in both the X and Y directions. Since the spacing between indicia may typically be short or long, Kagan et al have employed a coding technique for using a long and a short binary code in any desired combination, and they distinguish or identify which code is being used by a prefix bit preceding the associated code.

This technique has been found to work well if the long code appears quite frequently, i.e., the separation between indicia frequently being large. However, the efficiency of this system will fall off quite rapidly if many short codes are required, thus indicating small separation between indicia. This loss in efficiency is due to the fact that the required prefix bit occupies a greater percentage of bandwith for the short code (approximately 33%) than for the long code (approximately 11%).

Furthermore, the device is committed to only two code lengths which under certain indicia conditions produce unsatisfactory operation. For example, if a 3-bit short code plus the prefix bit is used, and if the indicia is spaced two picture elements apart, the system requires twice the bandwith (or transmission time) which would otherwise be required without the data compression. To overcome this problem, Kagan et al states that more code combinations can be used by adding further prefix bits to identify the expanded code selection. This, of course, will further reduce the transmission efficiency.

OBJECTS OF THE PRESENT INVENTION

It is therefore a principal object of the present invention to provide a graphics data compression system which is more efficient that those of the prior art.

Another object of the present invention is to provide a novel and improved adaptive encoding method and apparatus for reducing the transmission time and/or bandwidth required to convey scanned documents such as business letters, weather maps, newspapers, etc., which can be used with many different scanning and plotting devices.

Still another object of the present invention is to provide a novel graphics data encoding method which will automatically adapt itself in accordance with the changing run length statistics without undue device complexity.

Still another object of the present invention is to provide a method for reducing the quantity of data bits which must be transmitted in order to facilitate reproduction of the original documents without degrading the fidelity of the reproduction.

Still another object of the present invention is to provide a new and improved method and apparatus for graphics data transmission that is not subject to the above described disadvantages of the prior art encoding and compression systems and which provides a substantial reduction in the required transmission time, a higher transmission efficiency and requires less complicated and less costly apparatus.

Still another object of the present invention is to provide a new and improved method and apparatus for reducing the input-output requirements of computer generated graphics (such as weather maps), for reducing document storage requirements, and for providing a low cost means to store and forward data.

SUMMARY OF THE PRESENT INVENTION

The present invention is directed to a method and apparatus for automatically compressing, in bandwidth or time, the data required to produce, at a remote location, a facsimile copy of an original graphic document. In examining the original document, the scanned data is associated with one of two possible data states. For example, in scanning a typewritten page the scanner will sense and identify as black elements those elemental areas representing the printed type and sense and identify as white elements those elemental areas representing the unmarked surface of the paper. When the white portions and the black portions are relatively short, there is little need to compress the data, i.e., any ensueing gain will be small. However, when a major proportion of a scanned line is either all black or all white, the signal code used to transmit the data can be simplified by compressing the data required to transmit the long single color data. When compressing a mixture of short and long runs, the average reduction can be significant even through the reduction possible with short runs is generally small.

In accordance with the present invention, a method is described wherein such compression is accomplished in a digital system by selecting a code term including a first word having a binary work length of n data bits and then automatically increasing the number of words in the code term so that the code term is of the form n+ (n+1)+(n+2). . . to accommodate a continuing data run length of like indicia. Conversely the binary word length of a code word can be reduced to less than n bits if shorter run lengths are detected.

A primary advantage of the present invention is that a new family of adaptive codes is provided that can reduce the total number of binary digits (bits) which are required to describe a scanned document and these adaptive codes can be applied to both single and multiple scan lines.

Another advantage of the present invention is that a unique transmission format is provided which minimizes the effect of transmission errors due to channel noise or temporary disruption of transmission.

Still other advantages of the present invention will undoubtedly become apparent to those skilled in the art after having read the following detailed disclosure which makes reference to the several figures of the drawing.

IN THE DRAWING

FIG. 1 is an illustrative fragment of a document containing arbitrary indicia and showing the division of the document into elemental areas.

FIG. 2 is a state diagram showing the scanner detection state of several lines of the document fragment of FIG. 1.

FIG. 3 is a transmission diagram illustrating the form of the data transmitted for row A in accordance with the present invention.

FIG. 4 is a transmission diagram illustrating the form of the data transmitted for row D in accordance with the present invention illustrating only code expansion.

FIG. 5 is a transmission diagram illustrating the encoded transmission form of row N in accordance with the present invention.

FIG. 6 is a transmission diagram illustrating the encoded transmission form of row P in accordance with the present invention.

FIG. 7 illustrates the format of a single transmission frame in accordance with the present invention.

FIG. 8 is a table illustrating the adaptive codes utilized in accordance with the present invention.

FIG. 9 is a block diagram of a preferred graphics data transmission and reproduction system in accordance with the present invention.

FIG. 10 is a table illustrating the prefix codes used to identify the type of transition encountered when using the dual line algorithm.

FIG. 11 is a round-off table for use in accordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The method of the present invention can be explained by making reference to the drawing wherein a document to be reproduced is generally indicated at 10 in FIG. 1. For purposes of illustration, the document 10 has been divided into 50 numbered columns and a plurality of alphabetized rows forming a grid. It will be appreciated that the intersection of any row and column will identify a discrete elemental area of the document 10.

Although the illustrated grid row is only broken up into 50 elemental areas across the page, it is, of course, to be understood that this number is chosen merely for purposes of illustration and would normally be a much larger number depending on the resolution of the scanning device used. Accordingly, the addresses for the elemental areas in each row run from 1 to 50. Thus, a scanning device having an elemental area resolution enabling it to sense or distinguish between black and white illustrated elemental areas would be capable of producing a signal corresponding to the indicia represented on the face of the document 10.

If the output of the scanning device is of digital form such that a white elemental area, upon being sensed, causes a 0 output signal to be generated, and a black elemental area causes a 1 output signal to be generated, a series of 0's and 1's, such as are illustrated in FIG. 2 of the drawing, would be produced as the device scans first row A, then row B, then row C, etc. For purposes of simplicity, however, the digital indicia representing only rows A, D, N and P have been reproduced in FIG. 2 to illustrate the invention.

It is well-known that data in this form can be transmitted over a suitable transmission link to be received by a remote receiver which can utilize the data to operate a printing apparatus for reproducing the original document at a remote location. However, by merely observing the number of indicia bits in the fragmentary portion of the document 10, as illustrated in FIG. 2, it will be noted that a serial transmission of the data required to reproduce each line would take an unduly long amount of transmission time. But, by utilizing an adaptive code technique, in accordance with the present invention, the transmission time required to transmit the indicia can be substantially reduced.

The encoding technique of the present invention is such that it will adapt itself in accordance with the changing run length of the data, and only one encoding scheme is therefore required to produce a substantial reduction in complexity with an efficiency which is in most cases much more effective than can be achieved by using a finite set of codes, as was practiced in certain prior art apparatus.

In accordance with the present invention, an adaptive code having a code term including an initial code word with a finite bit length is arbitrarily chosen. For example, one might choose a 3-bit binary code word as the initial or starting code word which would be capable of handling run lengths of consecutive black or white elemental areas of 7 or less. If the run length is of all 0's and includes less than 7 elemental areas, then the 3-bit binary code word is able to represent this run length. This being the case, each run length of 7 elemental areas of less could be transmitted in terms of a 3-bit binary code word instead of the 7 original bits which would be required to transmit the data in serial form.

Taking row A, as illustrated in FIG. 2, as an example, the selected 3-bit code word would be adequate to encode all black and white run lengths. The first three black elemental areas in row A would be represented by the 3-bit word 011. It would likewise take 3 bits to identify the following series of five white elemental areas which are represented by the code word 101. This obviously represents a small savings in terms of the total number of required bits since the required transmission time is only three-quarters of that which would have been required to transmit the data without compression.

In looking to the next series of elemental areas, namely, row A, columns 9 through 11, it is found that these three elemental areas can be represented by the 3-bit code word 011 rather than the three 0's which the serial transmission would require. Upon encountering the next transition, it will be noted that again 3 data bits are required to encode and transmit the following four bits of white indicia, namely 100. But, upon looking at the rest of row A, it will be found that the remaining transitions can all be encoded and transmitted using the 3-bit code word as shown in FIG. 3 and a net savings in transmission time is obtained for the line. Thus, by using a 3-bit code word, the 50 bits of representative data, shown in row A and representing 12 transitions, can be compressed to 36 bits of transmissible data, yielding a savings of 14 bits of transmission time.

At this point, the question must necessarily arise as to what happens when a run length of one color indicia exceeds the heretofore referenced 7 elemental areas of the document 10. One could merely allow the 3-bit system to continue and reproduce a second 3-bit code word representative of the same color data making suitable provisions to recognize the continuance of a run length. One provision is attaching a fourth identifying character bit to each 3-bit code word as has been done in the prior art, but this would effectively increase the length of each 3-bit code word to 4 bits so that, in the case of row A, it would take 12 additional bits, or a total of 48 bits, to transmit the original 50-bit signal. This is obviously an unsatisfactory solution.

In accordance with the present invention, if the actual run length of 0's or 1's, whatever the case may be, exceeds the maximum code value of 111 or 7 elemental areas of the same color, the 3-bit code word (111) is followed by a second code word which is one digit longer than the previous code word. In other words, if the run length equals or exceeds 7 elemental areas, which is the largest number that can be represented by 3 binary digits, then the encoder is required to utilize a 4-bit code word to encode the remaining portion of the run length. Thus, by utilizing a 3-bit code word until the maximum run length of 7 is encountered and following it with a 4-bit code word, a single color run length of from 7 to 21 elemental areas can be encoded. A run length of 22 or greater will require an additional expanded code word.

As an example, should a run length of 7 spaces be encountered, the 3-bit code word 111 would be generated and would be followed by a 4-bit code word of 0000 which would indicate that 7 elemental areas was the extent of the run length. This would indicate to the receiver that the run length did, in fact, stop at 7 elemental areas. Under this particular condition, no net reduction can be enjoyed since the number of bits in the 3-bit code word plus the 4-bit code word is equal to the number of elemental areas being represented. However, if the run length is between 8 and 21 elements, it is seen that a net gain will result even for expanding codes. An example of a run length requiring expansion of the code word length from 3 to 4 bits is illustrated by row D of FIGS. 1 and 2 and is shown in encoded form in FIG. 4. This example also shows that the expanded code word forms the initial code word for the next run length of the same color.

Further, in accordance with the present invention means are also provided for causing the code word lengths for a given color to contract in length by one digit after sensing a run length of less than a selected percentage of the present maximum run length capacity of that code word. In accordance with a preferred embodiment of the present invention, a short run length of 25% or less of the present word maximum run length has been chosen as the criteria for causing a one digit code word length reduction. In other words, the initial code word for the next following run length of the same color will have a length which is one digit less than the length of the last code word of the preceding code term.

As an example of a contracting code word, if the previous code term was concluded with a four-bit code word, and if the present run length is equal to or less than 25% of the maximum run length capacity of the four-bit code word, then the present four-bit code word will be decreased in length by one bit to three bits for use with the next encountered run length of the same color. In the event that the next run length is again less or equal to 25% of the maximum run length capacity of the three-bit code word, then the code word for the next succeeding run length will experience a further one-bit code word length reduction to a two-bit code word. In the event that a subsequent run length of the same color is equal to or greater than the run length capacity of the initial contracted code word, then code word expansion will take place as previously explained It may therefore be noted that code word contraction is caused only be the previous run length and code word expansion is caused by the present run length, but that the initial code word length in a code term is determined by the immediately preceding run length of the same color.

In row D (FIG. 4), it will be seen that the first white run length of 4 white areas can be represented by the 3-bit code word 100. Similarly, the following black run length of 3 black areas can be represented by the 3-bit word 011. However, the third run length is 13 white areas long, and requires that after a count of 7 like elemental white areas has been detected and encoded into the code word 111, the encoder must in accordance with the code expansion previously described, shift to a (n+1) or 4-bit code word to encode the remaining 6 elemental white areas. Thus, the 4-bit code word 0110 immediately following the 3-bit code word 111 indicates that the run length was a total of 13 white areas in length.

The indicia then changes to black for one elemental area so that the fourth code term (IV in FIG. 4) again includes a single code word 3 bits long, and the one black space is represented by 001. It is necessary now to contract the previous black code word length to a 2-bit code word length for the next black run since 1 is less than 25% of 7. It perhaps should be pointed out here that the code lengths for the black and white runs are entirely independent of each other and may expand or contract without producing any effect on the word lengths of the other color indicia.

At the end of the fourth code term, there is another transition to white at which time the fifth run, 6 white areas in length, could be transmitted by the 3-bit code word 110 (V FIG. 4). However, since the preceding "white" code word length (III') was four bits long and the present length is not equal to or less than 25% of the maximum number of areas which can be accommodated by the 4-bit code word, the 4-bit code word must be used to start the code term for the next white run length and accordingly the fifth run (V) will be transmitted as 0110.

Upon the next transition, it will be noted that the black run length is 13 elemental areas in length, and therefore the initial 2-bit black code must expand itself to provide for this run length in excess of 3 elemental areas. This it does by first utilizing the initial 2-bit code word 11 (VI) representing the first 3 black bits, followed by an expanded 3-bit code word (VI') in the form 111, representing the next 7 black elemental areas, followed by a further expanded 4-bit code word (VI") 0010 to represent the 3 remaining black elemental areas. It is to be noted that the rules for shortening a code word length do not apply if a code word expansion has just been required within the same code term. Thus, in the above example, a 4-bit code word will be used to initiate the next black run.

The seventh and eighth run lengths are each 5 elemental areas in length, and will both be represented by the previously determined 4-bit code words 0101 (VII) and 0101 (VIII). The next black and white codes will not change since 5 is greater than 25% of 15, the maximum capacity of the 4-bit code word, and is less than 15. It will be noted that the 50 bits of transmissible data contained in the 50 elemental spaces of row D have now been compressed so as to require only 38 transmission bits, thus resulting in a savings of 12 transmission bit lengths of time.

Continuing with this simplified explanation, the next question is what happens when a run length of a single color exceeds 22 elemental areas in length? (i.e., the maximum number representable by the back-to-back 3 and 4 bit code words.) The answer is that if the 4-bit code word which follows the previous 3-bit code word is in the form 1111 (n+1), then the transmitter will shift to an (n+2) word length, and if that entire word is filled with 1's, it will again shift into an (n+3) word length, etc., as required, or until limited by the operative characteristics of the device. This can be illustrated by referring to row N of FIGS. 1 and 2 wherein it will be noted that there is a white run length of 16 spaces followed by a black run length of 27 spaces and another white run of 6 spaces.

As illustrated in FIG. 5, the first run length can, for example, be transmitted in the form of a code term which includes a first 3-bit code word 111 (I) which accounts for the first 7 elemental areas, and a 4-bit code word 1001 (I') which accounts for the next 9 elemental areas. Then a transition occurs to black wherein the first 7 black spaces are accounted for by the 3-bit code word 111 (II) which is followed by a 4-bit code word in the form of 1111 (II') which accounts for the next 15 black spaces, and finally by a 5-bit code word 00110 (II") which accounts for the next 6 black elemental areas. The data then transitions to white for the remaining 6 elemental areas of row N which are indicated by the single 4-bit code word 0110 (III).

As shown in FIG. 5, the 3 run lengths which are encountered by the scanning means in scanning row N can be transmitted by 23 data bits, thus saving 27 data bit lengths of time that would otherwise be required in a serial transmission of each elemental space representative data bit.

When the scanned line is entirely white, as in row P, the original 50 0's, indicative of the 50 white elemental areas, can be compressed into a single code term, 12 data bits in length, and comprised of the 3-bit code word 111, the 4-bit code word 1111, and the 5-bit code word 11100, as indicated in FIG. 6 of the drawing. If the previous run lengths would have expanded the white code to 6 bits, it is seen that the 50 white elementals could be represented by only 6 bits resulting in a savings of 44 bits. Thus, it will be noted that where a single color scan is encountered, the system provides a significant time or bandwidth savings. This savings as compared to uncompressed transmission becomes increasingly higher as the sensitivity of the scanner is increased (i.e., the size of the elemental areas are decreased).

The mechanism which keys the receiving equipment to inform it that a transition has occurred is a logic decoding device which enables the receiver to determine whether or not the preceding code word has reached its maximum value. In other words, if any 0's appear in a previous code word, a transition is known to occur at the be