Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR EMBEDDING NON-INTRUSIVE ENCODED DATA
Document Type and Number:
WIPO Patent Application WO/2000/010070
Kind Code:
A2
Abstract:
Printed matter has printed informational content. This refers to the content of a given document which is relevant to the intended reviewer, e.g., the printed text of the letter or pictures. According to the invention, the printed matter also, however, comprises a print control symbol. This symbol is machine readable and located at a predetermined position on the printed matter, which is separated from the printed informational content. The print control symbol is hidden such that it is not apparent to a reviewer of the printed matter and encodes information concerning the printed matter such as sequencing information, which is relevant to the printing system during printing and mailing, for example.

Inventors:
ZHANG XINTONG (US)
LINARES R GERMAN (US)
DEVOR JONATHAN (IL)
UNNI MOHANAN (US)
BERQUIST KENNETH G (US)
Application Number:
PCT/US1999/018621
Publication Date:
February 24, 2000
Filing Date:
August 17, 1999
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INSPECTRON CORP (US)
ZHANG XINTONG (US)
LINARES R GERMAN (US)
DEVOR JONATHAN (IL)
UNNI MOHANAN (US)
BERQUIST KENNETH G (US)
International Classes:
B41J5/30; B42D15/02; G06K1/12; G07D7/00; G07D7/20; H04N1/387; (IPC1-7): G06F/
Attorney, Agent or Firm:
Houston, Grant J. (Brook Smith & Reynold, P.C. Two Militia Drive Lexington MA, US)
Download PDF:
Claims:
CLAIMS What is claimed is :
1. Printed matter comprising : a printed informational content ; and a machine readable symbol that is located in a predetermined position, which is separated from the printed informational content, the code being not apparent to a reviewer of the printed matter.
2. Printed matter as described in Claim 1, wherein the machine readable symbol encodes information concerning the printed matter.
3. Printed matter as described in Claim 2, wherein the symbol is read by a print monitoring system to ensure proper sequencing of the printed matter.
4. Printed matter as described in Claim 1, wherein the symbol comprises a series of bit characters.
5. Printed matter as described in Claim 4, wherein the bit characters are organized into a twodimensional matrix.
6. Printed matter as described in Claim 5, wherein the absence or presence of bit characters in slots of the matrix encodes binary data.
7. Printed matter as described in Claim 6, wherein the symbol comprises encoded print and error correction information.
8. Printed matter as described in Claim 1, wherein the absence or presence of bit characters in locations within the symbol encodes binary data.
9. Printed matter as described in Claim 8, wherein the bit characters are formed from a few pels of a printer.
10. Printed matter as described in Claim 8, wherein the bit characters are sized between about 0. 30 and 0. 02 mm.
11. Printed matter as described in Claim 8, wherein the bit characters are approximately 0. 085 mm is size.
12. Printed matter as described in Claim 1, wherein the symbol comprises data bit characters for encoding print and error correction bit information.
13. A printing method, comprising : printing informational content on the printed matter ; and printing a nonapparent symbol at a predetermined position on the printed matter, which is separated from the printed informational content.
14. A printing method as described in Claim 13, further comprising generating information concerning sequencing of printed matter from a printer ; and encoding the sequencing information in the symbol.
15. A printing method as described in Claim 14, further comprising reading the symbol with a print monitoring system to ensure proper sequencing of the printed matter.
16. A printing method as described in Claim 13, further comprising forming the symbol from a series of bit characters.
17. A printing method as described in Claim 16, further comprising printing the bit characters in a twodimensional matrix.
18. A printing method as described in Claim 17, further comprising encoding binary data by the absence or presence of bit characters in slots of the matrix.
19. A printing method as described in Claim 13, further comprising encoding error correction and/or detection information in the symbol.
20. A printing method as described in Claim 13, further comprising encoding error correction information in the symbol.
21. A printing method as described in Claim 13, further comprising encoding binary data by the absence or presence of bit characters in locations within the symbol.
22. A printing method as described in Claim 21, further comprising forming the bit characters from a few pels of a printer.
23. A printing method as described in Claim 21, further comprising sizing the bit characters between about 0. 30 and 0. 02 mm 24. A printing method as described in Claim 21, further comprising generating bit characters of about 0.
24. 085 mm in size.
25. A printing method as described in Claim 21, further comprising encoding error correction and/or detection bit information in the print control symbol.
26. A printing system having sequence monitoring, comprising a printer that generates printed matter including printed informational content and a print control symbol ; and a printed matter monitoring system including : an image capture device for reading at least the print control symbol from the printed matter ; and a controller that decodes data encoded in the print control symbol and makes sequencing decisions based on the data.
27. A printing system as described in Claim 26, wherein the printer prints the print control symbol in a predetermined position on the printed matter.
28. A printing system as described in Claim 26, wherein the printer prints the print control symbol separated from the printed informational content on the printed matter.
29. A printing system as described in Claim 26, wherein the printer prints the print control symbol in form that is not apparent to a reviewer of the printed matter.
30. A printing system as described in Claim 26, wherein the print control symbol printed by the printer comprises a series of bit characters.
31. A printing system as described in Claim 26, wherein the bit characters are printed in a twodimensional matrix.
32. A printing system as described in Claim 31, wherein the absence or presence of bit characters in slots of the matrix encodes binary data.
33. A printing system as described in Claim 31, wherein the print control symbol comprises encoded print and error correction information.
34. A printing system as described in Claim 26, wherein the absence or presence of bit characters in locations within the symbol encodes binary data.
35. A printing system as described in Claim 26, wherein the bit characters are formed from a few pels of the printer.
36. A printing system as described in Claim 26, wherein the bit characters are sized between about 0. 30 and 0. 02 mm.
37. A printing system as described in Claim 26, wherein the bit characters are about 0. 085 mm in size.
38. A printing system as described in Claim 26, wherein the print control symbol comprises data bit characters for encoding print and error correction bit information.
39. A printing system having sequence monitoring, comprising a printer that generates printed matter including printed informational content including a symbol ; and a printed matter monitoring system including : an image capture device for reading at least the symbol from the printed matter ; an analog filtering stage which filters the output from the image capture device ; and digital signal processing hardware which receives the output from the analog filtering stage.
40. A printing system as described in Claim 39, wherein the analog filtering stage comprises a Nyquist filter.
41. A printing system as described in Claim 39, wherein the analog filtering stage comprises two programmable low pass filters and a summer for combining the outputs from the filters.
42. A print monitoring method, comprising : generating printed matter including printed informational content and a print control symbol ; detecting the print control symbol ; decoding the print control symbol ; and sequencing the printed matter based on information from the print control symbol.
43. A print monitoring method as described in Claim 42, wherein the step of generating the printed matter comprises printing the print control symbol in a predetermined position on the printed matter.
44. A print monitoring method as described in Claim 42, wherein the step of generating the printed matter comprises printing the print control symbol separated from the printed informational content on the printed matter.
45. A print monitoring method as described in Claim 42, wherein the step of generating the printed matter comprises printing the print control symbol in form that is not apparent to a reviewer of the printed matter.
46. A print monitoring method as described in Claim 42, wherein the step of generating the printed matter comprises printing a series of bit characters.
47. A print monitoring method as described in Claim 46, wherein the step of printing the bit characters comprises printing the bit characters in a two dimensional matrix.
48. A print monitoring method as described in Claim 42, wherein the step of decoding the print control symbol comprises interpreting an absence or presence of bit characters in slots of the matrix as binary data.
49. A print monitoring method as described in Claim 42, wherein the step of generating the printed matter comprises printing the print control symbol with encoded print and error correction information.
50. A print monitoring method as described in Claim 42, wherein the step of decoding the print control symbol comprises interpreting an absence or presence of bit characters in locations within the symbol binary data.
51. A print monitoring method as described in Claim 42, wherein the step of generating the printed matter comprises printing the bit characters with a size between about 0. 30 and 0. 02 mm 52.
52. A print monitoring method as described in Claim 42, wherein the print control symbol comprises data bit characters for encoding print and error correction bit information.
53. A method for forming a print symbol, the method comprising : binary encoding characters of a message ; adding error correction bits to each encoded character of the message ; resequencing the bits in the binary encoded message including the error correction bits ; and placing the resequenced bits in printed matrix.
54. A method as described in Claim 53, further comprising adding a binary encoded check character to the message.
55. A method as described in Claim 53, wherein the step of placing the resequenced bits in the printed matrix comprises encoding the binary bits as the presence or absence of a bit character in a slot of the matrix.
Description:
METHOD FOR EMBEDDING NON-INTRUSIVE ENCODED DATA RELATED APPLICATIONS This application is a continuation-in-part application of U. S. Application No.

09/135, 520, filed August 17,1998, the entire teachings of which are incorporated herein by this reference.

BACKGROUND OF THE INVENTION Machine-readable code is commonly used for a variety of applications that require some form of verification. For example, print monitoring systems are used to monitor printed matter in some types of paper/sheet handling systems and to make certain control decisions based upon the character of the printed matter. The following is a list of a few common applications : 1. Print quality monitoring : The monitoring system detects the precision with which the printing system has formed the printed matter and/or the consistency with which the matter is printed across the entire paper. For example, in a laser printing system, the monitoring systems detect low-toner situations where the contrast of the printed matter has degraded unacceptably.

2. Digit control : Overnight package delivery systems, for example, typically use preprinted multi-layered shipping receipts that are filled out by the customer ; the customer keeps one receipt, the package recipient receives a receipt with the package, and then typically, a few receipts are retained for the carrier's records.

Such receipt systems are typically printed with a package tracking number that is represented as an alpha-numeric sequence on the customer's and recipient's

copies and encoded in a universal product code (UPC) or bar code symbol on at least one of the carrier's receipts. The carrier's package tracking system is based upon the presumption that the package tracking numbers are the same for each layer of the receipt. In such situations, print monitoring systems ensure that the package tracking numbers of each layer match during assembly of the receipt.

3. Sequence control : When mailing personalized advertisement materials and in all cases when mailing bills, it is necessary to ensure that all pages of the mailing insert are combined into the proper envelope. This is especially important in the case of confidential information, such as credit card or phone bills. Even if sheet transfer and handling error rates are low, the risk that a wrong bill will be sent to a customer is unacceptable thus requiring checking each page and the envelope prior to insertion.

4. Verification : There are applications where it is necessary to verify the contents of a particular medium. The machine readable code provides a means to verify the contents of the medium.

5. Matching : In many applications, there is a requirement to match two media ; a machine readable code is used to ensure the media a properly matched.

Historically, sequence control has involved closely monitoring the printers, feeders, cutters, folders/accumulators, inserters, and stackers for paper jams or other error conditions. With proper coordination, the right materials generated by the printers can be placed into the correct envelopes or accumulated into the proper packets or publications.

Especially in the case of mailing sensitive material, print monitoring systems have been developed more recently to confirm the printed material contents prior to

placement in an envelope. To enable monitoring, sequence control information is commonly placed into the printed matter, or implicit in it. For example, checks have separate identification numbers, bills have the customer account numbers at a predetermined locations. The print monitoring system can detect these identifiers and use them as sequence control information to ensure that all pages of a given bill for a account number are placed in the proper envelope and addressed to the customer, while avoiding the inclusion of any extraneous bill pages.

More recently, with the introduction of production speed, low cost laser printing machines, even mailed marketing material, brochures, and other materials have been personalized for a specific recipient, in high volume printing jobs. In these cases, sequence control issues are important, and in many cases can be similarly critical due to confidentiality concerns and embarrassment caused by unintended recipients.

Unfortunately, in this environment, the inclusion of explicit sequence control information on the printed matter is many times unacceptable. Formal letters and brochures will typically not include machine readable information at predicable locations to enable the print monitoring system to ensure that proper sequencing is being maintained.

These, however, are specific examples. Generally, machine readable codes are useful anytime a computer is required to directly interface with some type of printed medium.

SUMMARY OF THE INVENTION The present invention is directed to non-intrusive data encoding technique. The technique is non-intrusive in the sense that the symbol is potentially detectable upon close inspection, but is not apparent to the intended reviewer of the printed matter. In other embodiments, however, the symbol is substantially invisible to unaided inspection.

A further advantage is that the symbol can be localized in the document or on the item,

limiting the size of the image capture device required for detection and the amount of data that must be handled by the compute resources. Moreover, the symbol can be located in substantially the same location even between different printing runs of different printed matter, for example. This feature can lower or eliminate the time required to recalibrate the image capture device's position relative to the matter.

In general, according to one aspect, the invention concerns printed matter. This printed matter has printed informational content. This refers to the content of a given document which is relevant to the intended reviewer, e. g., the printed text of the letter or pictures. According to the invention, the printed matter also, however, comprises a print control symbol. This symbol is located at a predetermined position on the printed matter, which is separated from the printed informational content. The print control symbol is hidden such that it is not apparent to a reviewer of the printed matter and typically encodes information concerning the printed matter such as sequencing information, which is relevant to the printing system during printing and mailing, for example.

Since the print control symbol is separated from the printed informational content, the printed informational content can comprise text-only, for example. This distinguishes it from other encoding techniques.

In specific embodiments, the print control symbol comprises a series of bit characters. Preferably, they are organized into a two-dimensional matrix. The presence or absence of bit characters in slots of this matrix encode binary data.

In order to minimize the visual impact of the print control symbol, the bit characters are as small as possible, i. e., each is formed from only a few pels of the printer, with imaging capability and minimum web speeds being the limitation on the minimum size of the characters. With current, commercially feasible imaging

equipment, the minimum size of the characters is about 0. 051 millimeters (mm), although characters as small as 0. 025 mm or smaller can be envisioned for some applications. On the other end of the spectrum, characters as large as 0. 25 mm will have acceptable visual impact in some applications. Currently, the print characters being used are 0. 085 mm in size. The minimum spacing between characters is about 0. 3-0. 4 mm, specifically, 0. 25 mm. More generally, the spacing is 3-4 times the character size. The variation in relative spacing is about 15%. In one example, each character consists of one pel in a 300 dots per inch (DPI) laser printer (DPI). In a 400 DPI printer, the characters consist of four pels in a 2x2 square matrix ; and in a 600 DPI printer, the bit characters can include nine pels in a 3x3 square matrix.

Further, in order to enable accurate decoding by the print monitoring system, the print control symbol preferably comprises data bit characters for encoding not only the print sequencing information, but also error correction bit information.

These points aside, in other applications, the principles of the invention are used even where the print control symbol is apparent to the reader. This allows much larger bit characters.

Moreover, although the preferred embodiment of the invention concerns laser printing on paper or similar material, the principles of the invention have broader applicability to other forms of printed matter such as that on such diverse materials as semiconductors, glass-ware, fabrics, etc., to list a few examples.

In general, according to another aspect, the invention also features a printing method. This method comprises generating information concerning sequencing of printed matter from a printer. During printing, the informational content of the printed matter is printed by the printer along with non-apparent print control symbols, at

predetermined positions on the printed matter and separated from the printed informational content, to encode sequencing information.

In general, according to still another aspect, the information also features a printing system, having sequence monitoring. This system comprises a printer that generates printed matter that includes printed informational content and a print control symbol. A printed matter monitoring system includes an image capture device and controller. The image capture device reads at least the print control symbol from the printed matter from the printer and the controller decodes data encoded in the print control system and makes sequencing decisions based upon that decoded data.

In preferred embodiments, the printer prints the print control symbol at predetermined positions on the printed matter. These positions are separated from the informational content of the printed matter, preferably. Further, the print control symbol is preferably not apparent, or invisible, to the user.

Finally, according to another aspect of the invention, the invention also features a print monitoring method. This method comprises generating printed matter including printed informational content and a print control symbol. The print control symbol is then detected and decoded. Sequencing of the printed matter is then performed based upon the information in the print control symbol.

The above and other features of the invention including various novel details of construction and combinations of parts, and other advantages, will now be more particularly described with reference to the accompanying drawings and pointed out in the claims. It will be understood that the particular method and device embodying the invention are shown by way of illustration and not as a limitation of the invention. The principles and features of this invention may be employed in various and numerous embodiments without departing from the scope of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS In the drawings, like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. Of the drawings : Fig. 1 is a scale drawing showing the positioning of the print control symbol on a page of printed matter according to the present invention ; Fig. 2 is a diagram illustrating the bit character slots in the print control symbol according to the present invention ; Fig. 3 shows the binary values of the slots in the print control symbol ; Fig. 4A and 4B are process diagrams showing the method for generating the print control symbols according to the embodiments of the invention ; Figs. 5A and 5B are process diagrams showing the decoding algorithms when the size of the symbol is know and not know, respectively ; Fig. 6 shows a printing system to which principles of the present invention are applied ; Fig. 7 is a block diagram illustrating a print monitoring system useful for carrying out the present invention ; Fig. 8 is a block diagram of the hardware decoding circuit showing video stage analog filtering of the signal from the camera ; and Figs. 9A, 9B, and 9C are plots showing the spectral response of video stage filters and the spectral response of a combined signal from the filters.

DETAILED DESCRIPTION OF THE INVENTION Fig. 1 shows an example of printed matter, generated by a 600 DPI printer, which matter is configured according to the principles of the present invention.

Specifically, it comprises printed informational content 210. This can be text or image content which is located as customary on page 212. Also, on the printed matter is print control symbol 214.

The symbol 214 is preferably located in a predetermine position on the page 212.

In the illustrated embodiment, it is located in the upper left hand corner. While the predetermined location of the print control signal is not absolutely necessary, it is important in many applications since any print monitoring system scanning for the print control signal can find it quickly based upon its predetermined position.

Preferably, the print control symbol 214 is separated from the printed informational content 210. This feature distinguishes it from glyph codes, for example, which are actually incorporated into the printed informational content. In the preferred embodiment, there is approximately 0. 250 inches (in. ) or 0. 625 centimeters (cm) of minimum clear space buffer separating the print control symbol 214 from any printed informational content 210. This allows any print monitoring system to quickly and clearly distinguish it from the informational content. Further, in one specific embodiment, it is located approximately a = 0. 75 in. or 1. 9 cm from the left edge of the paper 212 and b=0. 50 in. or 1. 25 cm from the top edge of the paper 212.

The preferred size for bit characters 216, which comprise the print control symbol 214, are approximately 0. 0033 in. (0. 085 millimeters (mm) ). The minimum spacing between centers of adjacent bit characters is 0. 01 in. (0. 25 mm). In the present case, the spacing is 0. 015 in. (0. 375 mm). Generally, the minimum size of the characters is about 0. 051 millimeters (mm), although characters as small as 0. 025 mm or smaller can be envisioned for some applications. On the other end of the spectrum, characters as large as 0. 25 mm will work in some applications.

The illustrated example of the print control symbol 214 has 4 rows and 5 columns of bit characters slots. The appearance or not of a bit character 216 at each potential position at the intersection of a row and column encodes binary data describing print and/or error correction information.

Fig. 2 is a schematic view of the print control symbol 214 having five rows and five columns in the bit character matrix. In the preferred embodiment, the presence of a bit character in a location or slot of the matrix is assigned a binary value of"1" and the absence is assigned the binary value"0"as illustrated in the decoded matrix of Fig. 3.

In the preferred embodiment, the upper, left-most bit character 218 and the bottom, right-most bit character 220 are always present in the matrix of the print control symbol. This two-bit character pattern is used for frame reference to define the upper left and bottom right comers for a rectangular frame during detection in print monitoring. Note that the grid 215 of the matrix is shown in Fig. 2 for the purposes of explanation only and is not printed. In the preferred embodiment, the matrix of bit characters is framed by clear space as shown in Fig. 1 to maximize the degree to which the print control symbol is not apparent to the reviewer of the material.

The following Table I illustrates the slot positions for an arbitrarily sized matrix : al l al.2 -- al.n, al,.n a2,1 ... ... a2,n-1 a2,n am,, am- 1.2 arn l n- am-l n am. l am, 2... am. n-1 am, n As mentioned, slots elements al, and a,n n are always"1"or contain the bit characters. This is the frame dot-pattern.

1. Print Control Symbol with Limited Character Set and Error Detection In one embodiment, slots 1,n, a2,n, ..., and a,n-l n of Table I are odd parity check elements in rows. These will be set to make every row have an odd number of 1's.

Similarly, slots a",.,, a", _2,..., and a, t,. n_, are odd parity check elements in columns. All other slots are kernel elements that are used for encoding a number plus a check digit.

The total number of kernel coding slots is (m-1)x(n-l)- 1.

The kernel elements in the symbol matrix are used for encoding numeric data plus a check digit. In one embodiment, a modulo-10 remainder is the check digit. There are four elements in the kernel that are assigned for encoding the check digit for this symbol. As a result, there are (m-l)x(n-1)-1-4=(m-l)x(n-1)-5 elements left for encoding a number.

Preferably, the encoding of a number and the check digit follows the binary coding system rule, assuming each of the matrix slots represents a bit. The order of the arrangement of the elements is from left to right and from top to bottom ; upper-left element takes the position of most significant bit (MSB) and bottom-right is least significant bit (LSB).

Assume there are N+1 kernel coding slots in a symbol which in order ofN-0, i. e., N, N-l, N-2, ..., N-k, ..., 1, 0, where bit N is element a, 2 and element is bit 0.

Then the positions of the slots for coding a check digit are defined in this way : bit-0 is at position 0 (element a,,, - bit- 1 is at position (N+1)/3, bit-2 is at position 2 (N+1)/3, and bit-3 is located at N (i.e., a, 2) For example, in a 4x4 matrix, N=7, the check digit bits position at bit-') -bit-0=7, 4, 2, 0. For a check digit 6, its binary value is"0110". If N=7, we can encode it into a bit data stream as"0** 1 * 1 *0" (from MSB to LSB), where '*'belons to the number to be encoded in the symbol. In this example, assume the number is 6 and the check digit is 6. Its binary value is also"0110". Filling the data bits into the stream, the real encoded stream is"00111100". For a certain-sized symbol, the check digit bit positions are located at fixed positions according to the above rule.

The size of the symbol 214 is preferably adapted to the application. To reduce the coding redundancy, the size of the symbol matrix is designed with a minimum set of available kernel coding elements to encode the maximum number plus a check digit that is needed in the particular application. This reduces its detectability by the reviewer.

A typical symbol 214 is designed as a 5x5 matrix. The total number of elements within this matrix is 25 and that of the kernel coding elements is 15 = (4x4- 1). With the 4 elements reserved for check digit removed, the number of available coding elements is 11. It can encode the number from 0 to 2047 with their check digits.

To encode a numeric data in a 5X5 symbol, first of all, we need calculate the bit positions for the check digit. In this case, N=14. Then the positions of the check digit bit elements are 14, 10, 5, and 0. Below, they are elements a, e, j, and p : 1 a b c x, d e f g x2 h i j k X3 1 m n p X4 y.y:Y3Y41 According to above calculation, elements'bcdfghiklmn'are the bits used for encoding a number. In binary system,'b'is MSB and'n'is the LSB for the coded number and'a'is MSB and'p'is LSB for the check digit.

For example, the binary code for the number 100, 0, is'1100100'. Since the total number of elements dedicated to encode the number is 11, we add leading'0'to this bit stream as'00001100100'. Since the Modulo-10 remainder of the number 100 is 0, the check digit is 0, i. e.,'0000'in binary system. Then, to code it into the matrix, the individual elements are: a=0, b=0, c=0, d=0, e=0, f=0, g=1, h=l, i=0, j=0, k=0, 1=0,

m=0, n=0, and p=0 To complete the matrix, slots c,) x,, x3, x, yl, y, _ y3, and y4 are filled. First, the parity of each row is reviewed. The f row has one 1's (a=b=c=0) ; it is odd number of 1's, then the element x, should be 0 to make the number of 1's in this row remain odd. Similarly, x2=x3=0, and X4=0. Then, for each column, a similar parity check is performed. Thus, y,=0, y2=1, y3=1, and y4=0.

Alternatively, a circular parity check could be used if the paper is of a low quality or if more decoding accuracy is required. The combination of the parity check and the check digits allows correction if noise or some paper defect results in a bit character being missed or interpreting the noise as the character where none was printed.

Fig. 4A is a process diagram illustrating the generation of the print control symbol of this embodiment.

Specifically, in step 310, the size of the matrix of the print control symbol 214 is defined. The amount of data that is to be encoded in the symbol is assessed. The maximum amount of data then defines the size of the symbol, the number of its rows and columns. Preferably, the matrix should be kept as small as possible to make it as unapparent as possible to the reviewer of the printed matter.

In step 312, the slot positions for the check digits for the kernel slots are determined. Then, the print information and check digits are encoded as binary data in step 314.

At this stage, the matrix is filled with 1's and 0's in step 316. In the preferred embodiment, the 1's are converted to the bit characters in the matrix ; the 0's are converted to open areas, in step 350. In step 320, the parity check slots are set.

Specifically, for each row, the parity check slots are set so that there is an odd number of

bit characters in each row. This is also performed for the columns. Finally, in step 322, the matrix is printed as the print control character on the printed matter.

2. Print Control Symbol with Extended Character Set and Error Correction a. Symbol Character Encoding for Extended Character Set In the second embodiment, the kernel elements in the dot matrix of Table I are used for encoding the alphanumeric data plus a check character with their error correction bits. A shortened Hamming error correction method is used--there are 4 bits added to each 6 bit encoded character. Then the total number of bits per character is 10 (Bit Pattern + Error Correction). The error correction is a minimum distance 4 code.

The alphanumeric characters are encoded in a base 64 numeric system. The following Table II shows the binary (6 bits) representation for each character bit pattern plus its error correction (4 bits) : Value Char Pattern EC Value Char Pattern EC 0 - 000000 0000 32 V 100000 1010 1 1 0000010011 33 W 1000011001 2 2 0000100101 34 X 100010 1111 3 3 0000110110 35 Y 1000111100 4 4 0001000110 36 Z 100100 1100 5 5 0001010101 37 a 1001011111 6 6 0001100011 38 b 100110 1001 7 7 0001110000 39 c 1001111010 8 8 0010000111 40 d 1010001101 9 9 0010010100 41 e 1010011110 10 0 0010100010 42 f 101010 1000 11 A 0010110001 43 g 1010111011 12 B 0011000001 44 h 101100 1011

13 C 0011010010 45 i 1011011000 14 D 0011100100 46 j 101110 1110 15 E 0011110111 47 k 1011111101 16 F 010000 1001 48 1 1100000011 17 G 010001 1010 49 m 110001 0000 18 H 010010 1100 50 n 1100100110 19 I 0100111111 51 o 1100110101 20 J 010100 1111 52 p 1101000101 21 K 0101011100 53 q 1101010110 22 L 010110 1010 54 r 1101100000 23 M 010111 1001 55 s 110111 0011 24 N 011000 1110 56 t 1110000100 25 0 0110011101 57 u 1110010111 26 P 011010 1011 58 v 111010 0001 27 Q 0110111000 59 w 1110110010 28 R 011100 1000 60 x 1111000010 29 S 0111011011 61 y 1111010001 30 T 011110 1101 62 z 1111100111 31 U 011111 1110 63 SP 111111 0100 Position 63 can be used as a switching index. When read, it is interpreted as instruction to switch to an additional character set that can be used. b. Check Character The check character is positioned at the end of the data string. The check character function used here is Modulo 64 SDSR (Sum-Divide-Subtract-Remainder).

The coding of the modulo 64 complement check character is determined as follows : 1) Assign a numerical value to every character in the symbol according to Table II ;

2) Sum the numerical values for all of the message characters ; 3) Divide the sum by 64 to get the remainder ; 4) If the remainder of step 3 is 0, the check character value is 0 ; Otherwise, subtract the remainder from 64 to obtain the check character value ; 5) Look up Table II by the check character value to obtain the check character.

Example : For the character string A206f (5 characters), it follows the following steps to calculate the check character : 1. The sum of all character values is 11+2+10+6+42 = 71 ; 2. The remainder of the sum is 71/64 =7 ; 3. The check character value is 64-7 = 57 ; 4. Then, according to Table II, the check character is u.

Therefore, the data string with check character is A206fu. It is encoded as (using Table II) : 0010110001 0000100101 0010100010 0001100011 1010101000 1110010111(= 60 bits). c. Optimal Matrix Size Assume the number of characters to encode be n plus one check character, i. e., n+1. The total number of bits for encoding data string with check character is (n+l) xl0.

Plus additional 2 bits for the dot-pattern, it becomes (n+l) x 10 + 2 in total. The matrix should be selected as small as possible but in which the number of elements is not less than the (n+l) x 10 + 2. The dot matrix can be either square or rectangular shape. If the total number of matrix elements is greater than (n+1)x 10 + 2, The extra elements are filled with all 1's in the end of encoding data bit stream.

Using the previous example, total number of bits is 60+2 = 62. Then the optimal matrix size is 8 x8 or 9 x7 Selecting the 8 x8 matrix, since this matrix has total of 64 elements, there are 2 extra elements (redundant bits) are left. These 2 bits are filled out as 1's. Then the final encoding data bit stream is shown as : 0010110001 0000100101 0010100010 0001100011 1010101000 1110010111 11 (= 62 bits).

These bits will be randomized and then placed into dot matrix. The dot-pattern bits at two comers are placed separately. The randomization algorithm is described in the following section.

The relation between the dimensions of the matrix and the number of alphanumerical characters that can be encoded in it is as follows. Let L be the length of a character string to be encoded and M xN the dimension of the matrix, the following equivalent inequalities must be met : M x N >= (10 x L) + 12.

The following table demonstrates these relations in a simpler fashion. The axes of the table are the values of M and N, and the entries contain the maximum L (Check Character is not included) which can be used with the above criteria. Note that there are many alternative matrix dimensions with the equivalent capabilities, though it is recommended to use a square matrix (N=M) for maximum robustness, i. e. , the values across the diagonal line from top-left to bottom-right in Table III :

M/N4568)0))t213)4)5)6)7t8t920 00)).2-33t4j66 01'.j34t5;66J88 6 1 1 2 3 3 4 4 5 6 6 7 7 8 9 9 10 10 )23345)67789)0t0!))2)2 1233.i5567789t010t11212 7 1 2 3 3 4 5 5 6 7 7 8 9 10 10 11 12 12 S..345&678J)t0)011 12 13 14 14 9234)66J;89t0ItU13)4)5ISi6 )02}J;iJ!))0UJ21314)5)67)8 11 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 )2346J!)0t2!3)4)5)6)8)9202)Z2 12_ 3 4 6 7 8 9 10 12 13 14 15 16 IS 19 20 21 22 U4567J)t0it)3)45!7)8 19 20 22 23 24 44B7J!Q1112i4)5)71819 21 22 24 25 26 IS469)0)2)3)5)6)8)92) 22 24 25 27 28 )658)011t3)4t618192t22 24 26 27M30 H59012t4t517t92022242627293)32 ) 8679nt3) 5 161820222425 27 29 31 33 34 68)0)2)4t5)7t9Z)2325272931333436 8 10 12 14 16 18 22 24 26 28 30 32 34 36 38 Table III : Relations between encoding

character string length and matrix sizes For the previous example, the encoding character string length is 5. According to Table III, the optimal matrix size can be 9 x7, 7 x9, 8 x8. 8 x8 is chosen as the optimal matrix size. d. Matrix Placement Randomization The randomization process is added to maximize the effectiveness of the error handling mechanism. Since errors, in the form of spots, bad printing or uneven lighting, will usually affect neighboring points. By spreading the bits of each character, the probability that a character will have multiple bit errors, and thus be uncorrectable, is greatly reduced.

The mechanism is based on a one-to-one ordering of every point in a matrix, with the exception of the top-left and bottom-right comer (these are reserved for frame dot- pattern), to a bit-string-array. The same mechanism is used to encode and decode.

The correspondence relation between a matrix A of MXN dimension and a bit stream of length (MxN) -2, is calculated as following :

Scan variable J, from 0 to (M-1) inclusively, i.e., from top-to-bottom in the matrix. Within each of these iterations, scan all variable I, from 0 to (N-l) inclusively, i. e., from left-to-right in the matrix. Within each of these sub-iterations assign the next value in the bit stream to the following entry in the matrix : A (I, (FN (I) + FN (J)) (mod M)), Where, (mod M, i. e., Modulo M) refers to the remainder of the preceding argument, after division by M ; FN is the distance maximization function, which is determined by the following Table IV Exceptions with elements (0, 0) and (M-l, N-1), which are ignored without setting a bit from the bit stream.

F(0)F(t)F(2)F(3)F(4)F(S)F(6)F(7)F(S)F(9)F()0F(nF(t2F(13F()4F (tSF(6F()7F()SF(!9 JJJJJ M=4 T***2J303SJjjS"2)33 M=5 0 4 2 1 3 0 4 2 1 3 0 4 2 1 3 0 4 2 1 3 M-604.530J-SJ;: M=704.653 4 6049 M=8046 5 3 0 4 2 6 5 3 0 4 2 o _ s M=8 0 4 2 T 6 5 3 7 0 4 2 6 5 3 7 Tg M=00g469S 3 7 0 8 4 -6)9<' M=11 0 8 4 2 10 6 1 9 5 3 7 0 8 4 2 10 6 1 9 5 M-12080;n7S)06: M=t30S!:.10 6 9 5 3 7 s2!"6 M40s)2-033H8i:2',0 M=iS0x4)20&i49St33n7 0 8 4 :2: M=6084!2)06)495)33n7!;0s4:: M=IS0R1I=10 6 14 I 9 5 13 3 11 7 0 8 4 12 2 M=1608.I1310614I95133IIIS0S1 M=)706s4j2)06!4j95t3H7!: 0 :6 3 M"0)6s4)2io6)4)795)3!17)!:t) M"!96s)2t8)014)J79t33t:!') M=20 0 16 8 4 12 2 18 10 6 14 1 17 9 5 13 3 19 11 @ 15 Table IV : Randomization coefficients.

This table covers 4x4 - 20x20 matrix dimension ranges. It is not recommended to create matrixes larger than this, but if this is required, all that needs to be done is to create a larger table. Tables of an arbitrary size can be defined.

Fig. 4B is a process diagram illustrating the generation of the print control symbol according to the second embodiment with the extended character set and error correction, specifically, the matrix sizes defined in step 310. Then, the alpha numeric characters are converted to binary words with the error correction bits

according to Table II in step 324. Next, in step 326, the check digit is inserted into the binary word.

Then the binary data is filled into the matrix according to the randomization process in 316. This binary data is then converted into font symbols in step 350.

Finally, the matrix is printed in step 322.

Example 1 : To demonstrate the randomization, the following 22 character-bit-string is set into a 6x4 matrix : ABCDEFGHIJKLMNOPQRSTUV It is calculated in this way (N=6, M=4).

The first entry is calculated with [J=0, I=0]: (I=0, (FN(I=0) + FN (J=0)) (mod M=4)) = (0, (F4 (0) + F4 (0)) (mod 4))) = (0, (0+0) (mod 4)) = (0,0 (mod 4)) = (0,0).

Since it is the dot-pattern entry, it is assigned as 1 instead of assigning any bit from encoded bit stream ; The 2nd entry J=0, 1=1 : (I=1, (FN(I=1) + FN (J=0)) (mod 4)) = (1, (F4 (l) + F4 (0)) (mod 4)) = (1, (2+0) (mod 4)) = (1,2 (mod 4)) = (1,2) Bit A is assigned to this element in the matrix ; The 3rd entry [J=0, I=2]: (I=2, (FN(I=2) + FN (J=0)) (mod 4)) = (2, ( (F4 (2) + F4 (0)) (mod 4))) = (2, (1+0) (mod 4)) = (2,1 (mod 4)) = (2,1) Bit B is assigned to this element in the matrix ; The 4th entry [J=0, I=3]: (1=3, (FN (I=3) + FN (J=0)) (mod 4)) = (3, ( (F4 (3) + F4 (0)) (mod 4))) = (3, ( (3+0) (mod 4))) = (3,3 (mod 4)) = (3,3) Bit C is assigned to this element in the matrix ; The 5th entry [J=0, I=4]:

(I=4, (FN(I=4) + FN(J=0)) (mod 4)) = (4, ( (F4 (4) + F4 (0)) (mod 4))) = (4, ((0+0) (mod 4))) = (4,0 (mod 4)) = (4,0) Bit D is assigned to this element in the matrix ; The 6th entry [J=0, I=5]: (I=5, (FN(I=5) + FN(J=0)) (mod 4)) = (5, ( (F4 (5) + F4 (0)) (mod 4))) = (5, ((2+0) (mod 4))) = (5,2 (mod 4)) = (5,2) Bit E is assigned to this element in the matrix ; The 7th entry [J=1, I=0]: (I=0, (FN(I=0) + FN (J=1)) (mod 4)) = (6, ((F4(0) + F4(1)) (mod 4))) = (6, ((0+2) (mod 4))) = (0,2 (mod 4)) = (0,2) Bit F is assigned to this element in the matrix ; The 16th entry [J=2, 1=4 : (I=4, (FN(I=4) + FN (J=2)) (mod 4)) = (4, ( (F4 (4) + F4 (2)) (mod 4))) = (4, ((0+1) (mod 4))) = (4,1 (mod 4)) = (4,1) Bit P is assigned to this element in the matrix ; The 17th entry [J=2, I=5]: (I=5, (FN(I=5) + FN (J=2)) (mod 4)) = (5, ( (F4 (5) + F4(2)) (mod 4))) = (5, ((2+1) (mod 4))) = (5,3 (mod 4)) = (5,3) Since it is the dot-pattern entry, it is assigned as 1 instead of assigning any bit from encoded bit stream; The 18th entry [J=3, I=0]: (I=0, (FN(I=0) + FN (J=3)) (mod 4)) = (0, ((F4(0) + F4 (3)) (mod 4))) = (0, ((0+3) (mod 4))) = (0,3 (mod 4)) = (0,3) Bit Q is assigned to this element in the matrix ; The final result is shown in Table V (a).

In the same exact fashion, a 22-bit bit-stream 1000111100011101101111 would be randomized into the same size matrix (Table V (b)) :

1 GSOD K 1 1 1 O 0 0 L R B I P V 1 0 0 0 1 1 F A N T J E 1 1 1 1 0 1 Q M H C U 1 1 1 1 0 1 1 (a) (b) L R B I P V 1 0 0 0 1 1 F A N T J E 1 1 1 1 0 1 Q m h c u 1 1 1 1 0 1 1 Table V : Randomization result matrices.

Example 2 : For the example 0010110001 0000100101 0010100010 0001100011 1010101000 1110010111 11 of previous section, the matrix is generated as 10111110 0 1 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 0 1 0 0000 1 1 00 10010100 1 0 0 1 1 0 1 1 0 0 1 1 0 1 0 1 Table VI : Encoded bit matrix of character-string A206f with check character u.

The size of the symbol can be decided according to the application. To reduce the coding redundancy, the size of the symbol matrix has to be designed with a minimum set of available kernel coding elements to encode the maximum number of characters plus a check character that is needed in the particular application.

Further, the shape of the matrix can also be adapted to the application. Many times, a square matrix is preferred because of its increased compactness. Very long, rectangular matrixes, however, can also be selected. For example, a long matrix extending across the page enables the symbol to be inserted between lines of typed text on a page, for example.

To encode the character string Data = 9XY345 (6 characters) Calculate the check character : Check character = b Using Table II, encode the character string 9XY345b as, 0010010100 1000101111 1000111100 0000110110 0001000110 0001010101 1001101001 (= 70 bits).

Calculate the matrix size by looking up Table III, Matrix size =98 Using the randomization and placement algorithm, create the matrix 100110001 101000011 110000011 111100100 001010001 00 1 000000 <BR> <BR> <BR> <BR> <BR> 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 0 1 The encoded character string 9XY345 with check character b.

3. Decode Algorithms Figs. 5A and 5B are process diagrams illustrating a technique for decoding the print control symbols 214.

Specifically, Fig. 5A illustrates the process selected when the size of the print control symbol is known. Specifically, the symbol is found on the page (see reference numeral 212 in Fig. 1) in step 510. The print control symbol is oriented using frame bit characters 218,220. Then, using the defined dimensions and the known symbol size, the positions of each matrix element are calculated in step 512.

In step 514, the presence or absence of dots is determined in each of the calculated positions. A dot is coded to a"one"binary and a blank is coded to a "zero"binary to form a matrix in step 516.

Next, in step 518, reverse randomization is performed. This yields the encoded bit stream.

Next, in step 520, the bit stream is grouped in 10 bit groups, according to the second embodiment and any redundant bits are trimmed off. Then, within each bit group, error correction is performed. False elements in the bits are corrected after which the error correction bits are removed from each character bit pattern.

In step 522, the bit patterns are mapped to the character using the tables above. Check characters are verified in step 524.

Fig. 5B covers the situation where the size of the print control symbol is not known before decoding is started. It differs in the inclusion of steps 540 and 542. Specifically, the position of each dot in the symbol is detected and these

locations are noted in step 540. Next, the rows and columns of the print control symbol are determined according the detected dot positions in step 542. This defines the print control symbol's size.

4. Printing System Fig. 6 is a block diagram showing a printing system having sequence monitoring capabilities according to the principles of the present invention.

Specifically, the printing system comprises at least one, typically multiple printers 348A- 348C. Each printer generates a stream of printed matter 10A-lOC. One or all of these streams of printed matter have been imprinted with the print control symbol 214 according to the present invention. In the preferred embodiment, the print control symbols encode sequencing information that correlates the printed matter from each of the separate printers, such as printed envelopes from one printer and a letter or other contents from another printer. In one specific example, the streams pass through a print monitoring system 100, which detects the print control symbols in each stream of printed matter 10A-10C. The print monitoring system then uses the information gained from analyzing the print control symbols from each stream to control a printed matter manipulator 352 that uses sequencing information, for example, from the print monitoring system 100 to organize the streams of printed matter relative to each other. Many times, this organization requires interrogation of a data base to verify proper sequencing or obtain match information. In one example, the manipulator 352 could be cutter, feeder, inserter, or accumulator/folder for combining bills into the envelopes. In other examples, it could be a binding machine for combining the streams into a single multi-page document.

Fig. 7 is a schematic block diagram illustrating the general organization of the print monitoring system 100. The system is further disclosed in U. S. patent application No. 09/016, 001, filed January 30,1998, entitled PRINT

MONITORING SYSTEM AND METHOD USING SLAVE SIGNAL PROCESSOR/MASTER PROCESSOR ARRANGEMENT, the contents of which are incorporated herein in their entirety by this reference.

In the preferred embodiment, each slave processor (DSP) board 110 has multiple, four for example, video input ports A1, A2, A3, A4. Each video signal port A1-A4 has the capability to support its own video capture device. As illustrated, potential video capture devices include array cameras 120, line camera 122, progressive scan cameras 124, and asynchronous reset cameras 126.

In order to time image acquisitions by the cameras, trigger device 154 is used to detect the movement of the printed matter 10. The trigger device 154 takes a number of different configurations depending on the application and the event to be detected. In one case, it detects the beginning of a sheet of paper using an optical or probe sensor. The signal processor 132 then times a delay until the symbols of interest are under the camera before signaling the beginning of an image capture event. In other cases, the trigger device 154 is used to detect symbols on the printed matter such as lines at predetermined intervals or movements of the paper handling equipment using optical or mechanical encoders, for example.

On the slave board 110, an analog multiplexor 128 is used to select the video signal from one of the video input ports A1-A4. The selected video signal is presented to a video preprocessor 130 that converts the video signal into a form that is capable of being sampled at a digital signal port of a digital signal processor 132. Specifically, the video preprocessor 130 low pass filters the video signal to compensate for any uneven illumination at the video capture device 120-126 by printed matter illuminator 12 and level adjusts the video signal by thresholding it to a signal level appropriate for receipt at the signal processor's digital signal port.

The signal processor 132 identifies the target print control symbols in the captured video signal by reference to the predetermined position for the symbols and the frame bit characters 218,220.

As suggested by the Fig. 7, additional slave DSP boards 110 can be attached to the ISA bus 136. For example, in one implementation, up to four separate slave DSP boards 110 are connected to the host central processing unit (CPU) board 138 via extensions to the bus 136 to monitor coordinate and sequence multiple streams of printed matter 10A-lOC.

In the preferred embodiment, the master processor 134 is an Intel-brand 80586 industrial-grade CPU. It connects to a hard disk unit 140, input/output (I/O) relay board 142, and memory via bus 136. In the preferred embodiment, through its drivers 144, it receives user commands from a keyboard 146 and mouse 148. It presents data to the operator via color monitor 150 and printer 152. In a preferred implementation, the monitor 150 preferably has a touch screen to enable operator control without the necessity for the keyboard 146 and mouse 148. In the preferred embodiment, the system also has a network interface card (NIC) 154 connecting the CPU board 138 to a local area network (LAN) to enable remote control, monitoring, and data logging.

Since the master processor 134 is not burdened with image processing, this being performed by the slave processors 132, the host CPU board 138 has the capability to receive print monitoring data via its digital input ports, such as the serial port. The data is generated by a laser bar code scanner and/or optical/magnetic reader 154. This provides the ability to acquire additional data directly by the CPU 134 in addition to that received through the slave DSP boards 110.

Fig. 8 is a block diagram illustrating the signal processing hardware or operations performed on the camera signal.

Generally it comprises a Nyquist filter, few gain stages and programmable filters that are connected in a configuration that implements programmable dot detection in the midst of a uniform gray level.

The camera signal 610 is conditioned by the Nyquist filter 612 to eliminate all frequencies above the Nyquist rate. The conditioned signal is level shifted in order to eliminate the background level using offset adjustment 614 and a summer 616.

The offset-adjusted signal goes through two gain stages 618,620 that have gains ofKl and K2. The relationship between Kl and K2 is defined as follows : xi) K1 - K2 = 0 (minimum) xii) K2 cannot be greater than Kl The output of the gain stage Kl is conditioned by a programmable low pass filter (Wa) 622 with a gain of +1 while the output of the gain stage K2 is conditioned by a programmable low pass filter (Wb) 624 with a gain of -1.

Fig. 9A shows the frequency response of filter low pass filter (Wa) 622, Fig. 9B shows the frequency response of filter low pass filter (Wb) 624.

The signals from the filters are then combined in summer 626.

The full-scale range of signal to A/D Converter 628 is defined as : (K1 (Wa) - K2 (Wb)) with the condition that Wa >> Wb.

Fig 9C shows the spectral characteristics of the A/C converter input.

By adjusting the low pass filter parameters Wa-Wb and the gain parameters K1-K2, the user can tune the band pass filter to optimize the edge detection scheme at any web speed.

While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.