WO1995034046A1 - System and method for reading data from prescribed regions of a document of variable size - Google Patents

System and method for reading data from prescribed regions of a document of variable size Download PDF

Info

Publication number
WO1995034046A1
WO1995034046A1 PCT/US1995/007355 US9507355W WO9534046A1 WO 1995034046 A1 WO1995034046 A1 WO 1995034046A1 US 9507355 W US9507355 W US 9507355W WO 9534046 A1 WO9534046 A1 WO 9534046A1
Authority
WO
WIPO (PCT)
Prior art keywords
document
replicated
coordinates
registration marks
original
Prior art date
Application number
PCT/US1995/007355
Other languages
French (fr)
Inventor
Jerome G. Kahn
Original Assignee
Moneyfax, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Moneyfax, Inc. filed Critical Moneyfax, Inc.
Priority to AU27020/95A priority Critical patent/AU2702095A/en
Publication of WO1995034046A1 publication Critical patent/WO1995034046A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/1444Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Abstract

An original document having blocks or other prescribed regions containing text to be machine-read contains at least two registration marks near opposite corners of the document. The coordinates of the prescribed region and registration marks of the original are stored in memory. The location of the prescribed region of a document replicated from the original, which may differ in size from the replica, is determined by scanning the replicated document to find the coordinates of the registration marks and deriving the location of the prescribed region based on the coordinates found and the coordinates stored in memory.

Description

SYSTEM AND METHOD FOR READING DATA FROM PRESCRIBED REGIONS OF A DOCUMENT OF VARIABLE SIZE
Technical Field t The invention relates generally to automated character reading, and more particularly to automated reading of characters in a prescribed region of a variable size document.
Background Art
Automated document reading usually is carried out by a computer implemented system that scans a document having blocks or other prescribed areas containing printed or hand written text, or possibly graphics, to be acquired through optical character recognition
(OCR) or intelligent character recognition (ICR) . Any polygon region within a document, containing information to be acquired, is termed a "glyph" herein. An example is a bank check, almost always in the form of a rectangular paper document having prescribed regions (glyphs) containing pre-printed information such as bank branch number and customer identification number, and other glyphs within which text and numbers are added by hand. Some pre-printed text or graphics in or around the glyphs, for the purpose of providing instructions or guidance to the customer, are arranged so as not to be visible to the scanner such as by using a special ink or color to which the scanner does not respond. An example is given in Figure la. The scanner scans the document and converts the document image into a digital bit stream that is stored as a virtual image in a memory. Data of interest is thereafter extracted from the virtual image by locating the glyphs based on pre-programmed glyph coordinates. For example, a prescribed glyph, e.g., the name block in Figure 1, may be located one centimeter from the left hand border of the document and two centimeters from the upper border, and may run horizontally. The computer reads the content of the glyph based on those coordinates and on the predetermined orientation and length of the glyph.
However, in some circumstances, what is read by the scanner is not the original document but rather a replication of that document, which may be altered in size. One example is a document sent by a facsimile machine. Because facsimile machine scanners, both at the sending and receiving ends, typically are of low cost, and their scanning mechanically inexact, there is some size variation between the replicated and original documents in both the horizontal and vertical directions. For example, a facsimile machine, upon receiving a document, generally will add a header and footer to the replicated document, while reducing the vertical size of the remaining contents of the document for accommodation on a piece of paper the same size as the original. There will also be some variation in width between the original and replicated documents as a result of scanning inaccuracies. The positions of the replicated glyphs accordingly are different from those of the original, as shown in Figure lb, and the replicated glyphs will not be able to be found using the original glyph coordinates.
Prior automated document readers of which I am aware and have myself developed compensate for size alteration in the replicated document by document reformation. A software based algorithm is implemented to reform the replicated document to its original size by iteratively adding vertical scan lines and adding horizontal pixels until the original size is achieved. However, this process is quite time consuming, requiring orders of magnitude of processing greater than that for simply reading the contents of the glyphs.
Disclosure of the Invention
Various advantages of the invention are achieved, at least in part, by an image processing system comprising a memory for storing coordinates of at least two registration marks as well as coordinates of a prescribed data region of an original document, and a document reader for scanning a document replicated from the original document, wherein the original and replicated documents may differ in size from each other. A computer coupled to the memory and document reader is programmed for reading, from the memory, the coordinates of the prescribed region and registration marks and detecting coordinates of the registration marks on the replicated document. The computer derives the location of the prescribed data region on the replicated document based on the detected registration mark coordinates and the coordinates stored in memory. In accordance with the preferred embodiment, the computer derives the prescribed data region location on the replicated document based upon (1) distances between the registration marks on the original document, (2) distances between the prescribed region and registration marks on the original document, and
(3) distances between the registration marks on the replicated document.
The document reader may, for example, be a component of a facsimile machine, and in this example the replicated document corresponds to an original
SiJBSTmJTΞ SHEET (RIM 26) document received by the facsimile machine and changed somewhat in size.
In accordance with a particular aspect of the invention, the computer is further programmed to detect a replicated document that is an inversion of the original document, and in response, transpose the derived coordinate location of the prescribed data region on the replicated document.
In accordance with a further aspect of the invention, a computer-implemented method of locating a prescribed region of an image replicated from an original image comprises the steps of storing coordinates of the prescribed region and coordinates of at least two registration marks on the original image from which the replicated image is to be produced, reading coordinates of the registration marks on the replicated image, and deriving the location of the prescribed region on the replicated image based on the coordinates of the prescribed region of the original document and the coordinates of the registration marks of the replicated and original images.
Still other objects and advantages of the present invention will become readily apparent to those skilled in this art from the following detailed description, wherein only the preferred embodiment of the invention is shown and described, simply by way of illustration of the best mode contemplated of carrying out the invention. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various obvious respects, all without departing from the invention. Accordingly, the drawing and description are to be regarded as illustrative in nature, and not as restrictive.
3U&TTπjH SHEET (RULE 26) Brief Description of Drawings
Figure la is an example of a document having several glyphs to be read by an automated document reader. Figure lb shows the effect of document size alteration on glyph location upon document replication.
Figure 2a is a general block diagram of an automated document reader implementing the present invention.
Figure 2b is a more detailed diagram of a portion of the system of Figure 2a.
Figures 3a-g is a flow chart of programming implemented in accordance with the invention. Figure 4 is a diagram of a document ■ having a glyph as well as registration marks upon which the glyph location algorithm of the invention operates.
Best Mode for Carrying out the Invention
This invention is in part based on the realization that when a document becomes distorted in size, registration marks on the original document are distorted proportionally, and any glyph on the replicated document can be located by correlating the original glyph and registration mark locations with the locations of the replicated registration marks.
Referring to Figure 2a, a document processing system, within which the present invention is implemented, comprises a facsimile machine 20 transmitting the image of a document to - an image processing system 22. The image, in the form of a bit stream of a standard protocol, is received at a facsimile processor 24 which, in the preferred embodiment, comprises a PC or other type computer, which enables the computer to receive scanned documents and store those documents in a bit mapped form on a network drive. Alternatively, the
suBsπrarESHEEroaωM) replicated image could be produced by other than facsimile transmission, e.g., by photocopying a hard copy document or printing from a document file stored in memory within or external to the network. Also within the network are storage and processing facilities that contain and process databases of information associated with the documents to be machine-read. Image processor 30 processes the bit mapped image, produced by facsimile processor 24, to locate and extract glyphs of information to be cut from the document and stored, by implementing the image processing techniques in accordance with the present invention.
Referring to Figure 2b, image processor 30 is driven by a CPU which, in the preferred embodiment, is an 80486 motherboard, together with a high resolution video accelerator board 34 for increasing the speed at which image processing and manipulation can be carried out. These components are initialized by a BIOS that is ROM based and, together with a remote reset loader, may be separate from or resident within a network interface module 38. The remote reset loader/ROM BIOS 36 boots the image processing system from the network and interfaces the network to the system. A solid state memory 40, also coupled to the network, stores the document image being processed, as well as the operating program for image loading, clipping and other manipulation associated with image processing. The network interface module 38 arbitrates and runs the network, acting as the server and controlling storage access. The document image being processed is temporarily stored in solid state memory 40, and, following scanning of the image to extract data from the prescribed glyphs, the resultant data are stored in storage unit 26 of Figure 2a.
The original document to be replicated and read is provided with registration marks that are distinctive and located on corners of the document representing boundary points, in accordance with the invention. In the preferred embodiment, three registration marks A-C are provided at opposite corners of the document as shown in Figure 4, although, as shall be seen, only two registration marks are necessary; the third registration mark can be derived.
Referring to Figure 4, assume, for this example, that the size of the original document is 28 centimeters vertical by 21.5 centimeters horizontal, a glyph D is located within that document, and the registration marks A-C and a glyph D have the following positions on the document :
Registration Mark Locations
Top Bottom Left Right
A 1cm 2cm 1cm 2cm
B 1cm 2cm 19.5cm 20.5cm
C 26cm 27cm 1cm 2cm
Glyph Locat:ion
D
For each document to be read, the above registration mark and glyph locations are stored in storage unit 26 shown in Figure 2a. In general, the locations of numerous glyphs rather than only the single glyph of this example will be stored.
Programming stored in memory 40, in accordance with this invention, reads the registration mark and glyph locations from storage 26, the replicated document is then scanned and the coordinates of the replicated registration mark located. The distances between the original registration marks as well as the distances between the original glyph and the registration marks is computed by coordinate
SOBS UIE SHEET (RUU26) subtraction. Next, the location of the glyph on the replicated document is computed by preforming a computation based upon the measured coordinates of the replicated registration marks, the pre-stored coordinates of the original registration marks and the pre-stored coordinates of the glyph on the original. The computation is based on the assumption that the ratio between registration marks and glyph in the original and replicated documents remains constant even though the positions are changed when the replicated and original documents differ in size.
For example, assume that registration marks A-C and glyph D in Figure 4 have positions defined by the following:
Given:
Dx Glyph D, left horizontal measured point Dy Glyph D, top vertical measured point Dx' Glyph D, right horizontal measured point Dy' Glyph D, bottom vertical measured point Ax Reg mark A, left horizontal measured point
Ay Reg mark A, top vertical measured point Bx Reg mark B, left horizontal measured point By Reg mark B, top vertical measured point Cx Reg mark C, left horizontal measured point Cy Reg mark C, top vertical measured point
The distances between the registration marks on the original document are as follows:
Horizontal Vertical
A - B 18.5cm 0cm A - C 0cm 25cm
The following ratios can now be computed, where:
Drx Glyph D, left horizontal relative point position
Dry Glyph D, top vertical relative point position Drx' Glyph D, rigth horizontal relative point position Dry' Glyph D, bottom vertical relative point
SUBSmUTE SHEET (RIM 26) position,
that is,
Drx = (Dx - Ax) / (Bx - Ax)
Dry = (Dy - Ay) / (Cy - Ay) Drx' = (Dx' - Ax) / (Bx - Ax)
Dry' = (Dy' - Ay) / (Cy - Ay)
In this example, based upon the original registration mark and glyph locations noted previously, the glyph coordinate ratios Drx, Dry, Drx' and Dry' are calculated as follows:
Drx = (8.75 - 1) / (19 1) Drx = 7.75/18.5 Drx = 0.419
Dry = (13 - 1) / (26 1) Dry = 12/25 Dry = 0.480
Drx' = (12.75 - 1) / (19.5 - 1) Drx' = 11.75/18.5 Drx' = 0.635
Dry' = (15 - 1) / (26 - 1)
Dry' = 14/25 Dry' = 0.560
The coordinate ratios, Drx, Dry, Drx' and Dry' are stored in a data base within storage unit 26. Using the coordinates of the replicated registration marks, and coordinates of the original glyph, the replicated glyph coordinates Dx, Dy, Dx' and Dy' can be computed as follows:
Dx = (Bx - Ax) * Drx) + Ax Dy = (Cy - Ay) * Dry) + Ay Dx' = (Bx - Ax) * Drx' ) + Ax Dy' = ( Cy - Ay) * Dry' ) + Ay
Assuming that the replicated document is of the same size as the original document, the glyph coordinates are calculated as follows:
Dx = (19.5 - 1) * 0.419) + 1 Dx = 8.75
Dy = (26 1) * 0.480) + 1
Dy = 13
Dx' = (19.5 - 1) * 0.635) + 1 Dx' = 12.75
Dy' = (26 - 1) * 0.560) + 1 Dy' = 15
Assuming now that the replicated image is reduced by 15% in the vertical direction and 5% in the horizontal direction, the registration marks A, B and C are located at the following coordinates:
Top Bottom Left Right
A 0, .85cm 1. .7cm 0.95cm 1. .9cm
B 0, .85cm 1. .7cm 18.525cm 19. .475cm
C 22, .1cm 22. .95cm 0.95cm 1, .9cm
Using the above equations, the glyph coordinates Dx, Dy, Dx' and Dy' are calculated as follows:
Dx = (Bx = Ax) * Drx) + Ax Dx = (18.525 - 0.95) * 0.419) + 0.95
Dx = 8.314
Dy = (Cy - Ay) * Dry) + Ay
Dy = (22.1 - 0.85) * 0.480) + 0.85
Dy = 11.05 Dx' = (Bx - Ax) * Drx') + Ax
Dx' = (18.525 - 0.95) * 0.635) + 0.95
SUBSHTUTE SHEET (RULE 26) Dx' = 12 . 11
Dy' = ( Cy - Ay) * Dry' ) + Ay
Dy' = ( 22 . 1 - 0 . 85 ) * 0 . 560 ) + 0 . 85
Dy' = 12 . 75
If the replicated image is inverted, the replication will have registration marks A and B on the bottom of the document and registration mark C on the top. This inverted orientation is easy to detect. To compensate, top and bottom, and left and right, measurements are transposed. For example, assume that the 'coordinates of registration marks A, B and C in an inverted replication are as follows:
Top Bottom Left Right
A 27cm 26cm 20.5cm 19.5cm B 27cm 26cm 2cm 1cm
C 2cm 1cm 20.5cm 19.5cm
Carrying out the same calculations:
Dx = (Bx - Ax) * Drx) + Ax Dx = (2 - 20.5) * 0.419) + 20.5 Dx = 12.75
Dy = (Cy - Ay) * Dry) + Ay Dy = (2 - 27) * 0.480) + 27 Dy = 15
Dx' = (Bx - Ax) * Drx' ) + Ax Dx' = (2 - 20.5) * 0.635) + 20.5
Dx' = 8.75
Dy' = (Cy - Ay) * Dry' ) + Ay Dy' = (2 - 27) * 0.560) + 27 Dy' = 13
Programming for CPU 32, stored in memory 26, for glyph processing is now explained with reference to the programming flow chart of Figures 3a-g. With reference to Figure 3a, in step 100 an image to be analyzed is first loaded into working memory 40 to produce a bit map. The data constituting the image is in the form of a serial bit stream produced by a scanner or read from a data file, as explained previously. Alternatively, the data could be supplied to the bit map, byte by byte, in parallel. In either case, the memory 40 will store an image of a virtual document in a two-dimensional matrix.
When the image has been successfully loaded, step 102, based upon operating system codes or scanner result codes, a registration mark location and orientation sub-routine is performed in step 104 to log the location of the registration marks, if found, and determine the orientation of the document, that is, whether the document is inverted or in correct orientation. This procedure will be describe later with reference to Figure 3b.
Once the registration marks are located, step 106, the document under analysis is classified as to its form in step 108. Document classification, described in more detail later with reference to Figure 3f, locates a prescribed glyph on the document and determines the type of document the glyph corresponds to.
After the document form has been classified as to its form, a data base stored in memory 26 on the network contains, for each form, the coordinates of glyphs containing items of interest on that document to be read. For example, if the document is classified as an invoice, prescribed areas or glyphs of that invoice, such as invoice number, item purchased and quantity will be read. As will be described later, these glyph coordinates or positions are defined in relation to the coordinates of the registration marks on that document, all stored in the network memory 26. Hence, upon determination of document classification, the appropriate glyph locations are loaded to working memory 40, step 112, and a successful loading of glyph definitions, that
S BSTπUTE SHEET ( 0LE26) 12 is, all glyph definitions have been loaded and no error flags have been set, is confirmed by step 114.
Once all the glyphs and their registration mark relative positions are loaded, the program executes a glyph processing routine in step 116, described later with respect to Figure 3g. Upon confirmation that the glyphs have been correctly processed, the data extracted from the prescribed glyphs are stored in storage 26, step 120, within a database, or optionally transferred to another form.
Figures 3b and 3c describe the registration mark and orientation location routine of step 104. In the routine, it is first assumed that the document being read is in correct orientation, that is, not inverted, and hence an "inverted flag" bit is initially set to "false," in step 130. Then, a routine 132 is executed to locate registration marks on the document. This routine is described in detail later in connection with Figures 3d and 3e. When the registration marks are found, step 134, the program jumps to point A of Figure 3c; if not, the routine continues to step 136 which assumes that the registration marks were not found because the document is inverted, and hence, the "inverted flag" is set to "true" in step 136. The registration mark location procedure is executed again, in step 138, this time with the registration mark coordinates transposed which effectively "inverts" the virtual document stored in memory. If the registration marks are found, in step 140, the document can be assumed inverted and the program jumps to point A to continue execution of the routine at Figure 3c. If no registration marks are found, however, the program now assumes that the document is not inverted, and the flag is reset to "false." The document then is scanned vertically by imparting a vertical offset to the virtual document, and the registration mark 14 location procedure is executed again to locate registration marks in step 144. If no registration marks are found, the document is "inverted" again in step 148 at the same vertical offset, and searched for the registration marks, step 148. The registration mark location procedure is carried out again at step 150. These steps of vertically offsetting and inverting the document for finding the registration marks may be repeated. However, if ultimately no registration marks are found, step 152, the program assumes that the document is horizontally misaligned, and steps 154-162 carry out successive horizontal adjustment and document inversion to locate the registration marks. If registration marks still are not found, step 164, the program jumps to point B in Figure 3c. If registration marks are found during any of the preceding steps, the program jumps to point A in Figure 3c.
Referring now to Figure 3c, if no registration marks were found during execution of the routine of Figure 3b, step 176 reports failure, and the program ends. However, assuming- that registration marks have been found, step 166, the positions or coordinates of the left and top edges of the first registration mark A are stored in working memory 40 as parameters Ax and Ay, steps 166 and 168. Similarly, the positions or coordinates of the left edge of registration mark B and the top edge of registration mark C (Figure 4) are stored as parameters Bx and Cy, steps 170 and 172. Finally, successful reading of registration mark positions is indicated, step 174.
The registration mark location procedure, corresponding to steps 132, 138, 144, 150, 156 and 162 of Figure 3b will now be- described in detail with reference to Figs. 3d and 3e. Referring to Figure 3d, initially the variables are initiated to an arbitrary, but false, value in step 200. Next, in step 202, a rectangle within which the registration mark is expected to be found is "cut," factoring in any adjustment parameters as a result of vertical or horizontal offset, or virtual document inversion (step 204) . For example, if the first registration mark A is sought but not found in the upper left hand corner of the virtual document, as would be expected, the coordinates are transposed so that the lower right hand corner of the document is searched. The transposing of a glyph is performed by subtracting from a single dimension, of an entire virtual document, the particular coordinate in that dimension. For example, if the virtual document has dimensions of 10cm vertical by 8cm horizontal, and if a prescribed glyph should be at 2cm from the top and lcm from the left of the virtual document, then the transposition of the prescribed glyph should result as 2cm from the bottom and lcm from the right or mathematically stated:
Given:
DW Virtual Document width
DH Virtual Document height
PI Derived prescribed glyph left edge
Pt Derived prescribed glyph top edge Pb Derived prescribed glyph bottom edge
Pr Derived prescribed glyph right edge
Tl Transposed glyph left edge
Tt Transposed glyph top edge
Tb Transposed glyph bottom edge Tr Transposed glyph right edge
To transpose the derived prescribed glyph the following is performed:
Tl = DW - - Pi
Tt = DH - - Pt
Tb = DW - - Pb
Tr = DH - - Pr
SUBSTπurESHEEI (R»U-2δ) In either case, the image bit map area defined by the cut rectangle is transferred to a temporary bit map in working memory 40, where it is scanned, steps
208-222, for ultimate testing of density in steps 224 and 226.
More specifically, the cut rectangle stored in memory 40 is searched to locate the existence of a registration mark. A registration mark is identified based on the predetermined dimensions and density of the marks. Thus, in step 208, the programming first compares the size of the virtual document with that of the original to calculate a scaling factor based on a ratio of the two document sizes. The scaling factor usually is a non-unity factor, since there ordinarily is variation between the sizes of the original and virtual documents in memory. For example, a document received by facsimile normally will be considerably shorter and slightly narrower than the original as a result of scanning inaccuracies and introduction of headers and footers to the received document. The scaling factor is multiplied by the size of the bit map registration mark to determine an estimate of the size of the registration mark on the virtual document that corresponds to the size of the registration mark on the original image. Then, in step 210, to scan for the registration mark on the virtual document, row and column variables are set up, and the row variable is set to zero, corresponding to the top of the bit map. As the image is read, row by row, the row number is tested to confirm that it is less than the height of the compensated registration mark on the virtual document, steps 212, 214. To confirm that the registration mark does not exceed the size of the cut bit map, step 214 adds the registration mark height to the current row being read. If either the current row is less than the bit map height, or the sum of the row and the registration mark height is less than the cut
SUBSmVTE SHEET (RULE 26) bit map height, the program jumps to point C of Figure 3e. Otherwise, program execution continues to step 216 when the column variable, corresponding to the left side of the cut bit map, is initialized to zero.
In step 218, the column number is initially tested to confirm -that it is less than the width of the cut bit map. If the column number is greater than the width of the bit map, indicating that the column has traversed the entire width of the registration mark on the virtual document, the row value is incremented, step 230, and the row number is tested in step 212 to confirm that it is within the height of the bit map. However, assuming that the column number is less than the width of the bit map in step 218, the variables mark_left and mark_top are initialized to the column and row numbers, respectively. A test is next carried out in step 222 to confirm the column number plus registration mark width is less than the cut bit map width, in a manner similar to step 212 and the current row number. If the column number plus the registration mark width is greater than the cut bit map width, the program again indexes the row value at step 230 and returns to step 212 when the row number is compared to the cut bit map height. However, assuming that the column value plus the registration mark width is less than the cut bit map width, indicating that the right side edge of the registration mark has not been exceeded, the program continues to steps 224 and 226 when a histogram is prepared to determine whether the cut rectangle encompasses a registration mark. Thus, in step 224, the number of black pixels in the area defined by the mark_left and mark_top variables, plus the estimated dimensions of the registration mark is acquired, and in step 226 stored. The count is tested to determine whether it is the largest of the counts acquired so far, and if it is, the count, together with mark_left and mark_top values is stored as density_left and density_right variable values, respectively. The column value is then indexed, step 228, and the program returns to step 218 when the column value is tested to determine whether it falls within the width of the cut bit map. This loop of the program executes iteratively, column by column, counting the number of pixels within each region defined by the mark_left and mark_top values until the pixel count, or density, is maximum, and it is that count which is stored. Hence, as a result of the process carried out in Figure 3d, a pixel density histogram of the cut rectangle will define the existence of the registration mark. Referring now to Figure 3e, after valid density_row and density_column values corresponding to the registration mark are obtained, step 232, the program continues to step 234. If the valid density_row and density_column values are not obtained, step 258 indicates a failure. Continuing to step 234, the row of highest density is used to locate the opposite boundary of the registration mark by adding one-half the estimated registration mark height to the current row value. Starting from the row position, the cut rectangle is scanned using a horizontal histogram to find a white line, step 236, while decrementing the current row for each iteration. When a white line is stopped, indicating that the top of the registration mark has been found, the variable Regmark_top is stored. The same procedure is carried out in steps 238 and 240, this time scanning downward, to locate the bottom of the registration mark, and the result is stored as Regmark_bot. The same procedure is repeated in steps 242 and 244 to locate the left side boundary of the registration mark, and again in steps 246 and 248 to locate the right side boundary. With the four sides of the registration mark now determined, the number of black pixels within the rectangle is counted, step 250. The area is tested to determine whether the number of counted pixels is sufficient enough to identify a registration mark, step 254. If not, step 258 indicates a failure. If the area is black enough to be a registration mark, however, the registration position values are added to the position values of the cut rectangle coordinates, and stored as the registration mark coordinates, step 256. This process is repeated for other registration marks on the virtual document, step 260, and a successful indication is made, step 262.
Figure 3f describes the form type classification procedure executed as step 108 in Figure 3a. Assuming that all registration mark coordinates are stored in the data base, step 300 loads to working memory 40 the relative position of a glyph on the document, identifying the type of document it is, and termed the "form I.D. glyph." The relative position of the glyph refers to the position of the glyph relative to a prescribed region of the document, such as a registration mark or a prescribed corner of the document. The position of the form I.D. glyph, namely, Drx, Dry, Drx' and Dry' defining the four sides of the glyph are stored, as previously mentioned in step 300, and the position of the form I.D. glyph on the replicated document is computed in the manner taught previously, in step 302. The mathematically derived rectangle is copied to a temporary cut bit map in step 304, for reading, and in step 306 the content of the form I.D. glyph is decoded and stored. The form I.D. content next is read in step 308, and a successful read is indicated or not, in steps 310 and 312.
In Figure 3g, the contents of other glyphs are read in a manner similar to the reading of the form
SUBST'nmsHEEr(iH)L£26) 2_
I.D. glyph in Figure 3f. In Figure 3g, the location of each glyph, read from the data base memory, is computed in step 400 using the algorithm shown, and the mathematically derived rectangle is copied to a temporary cut bit map in step 402. The content of the cut bit map is read and stored, step 404, and upon completion, step 406, additional glyphs are read per step 408. If there is any failure in the reading of data in step 406, a failure is indicated in step 412. However, assuming that glyph contents are appropriately read in step 406, the routine repeats, step 410, until all glyphs are read; step 414.
Although the preferred embodiment reads the location of three registration marks A, B, C as registrations for glyph relative locations, and three registration marks are depicted in Figure 4, the invention can be practiced using a minimum of two registration marks such as B and C of Figure 4 in opposite corners of the document, with the third registration mark B being mathematically derived based on the left side coordinate of mark C and the top side coordinate of mark B.
There accordingly has been described a novel method and system for reading an original document having glyphs and incorporating at least two special registration marks near opposite corners of the document. By storing the positions of the glyphs relative to the registration marks on the original document, the position of the glyphs on a replication of the original document, even if altered in size, can be easily found, and contents read, without necessity to reform the replication to the original document size. Hence, the document can be read at a much faster rate than was heretofore possible. In this disclosure, there is shown and described only the preferred embodiment of the invention, but, as aforementioned, it is to be understood that the
SUSSπiUTS SHEET (Rffif 28) invention is capable of use in various other combinations and environments and is capable of changes or modifications within the scope of the inventive concept as expressed herein.
SUBSTrtUTESHiH (»ni2δ)

Claims

1. An image processing system, comprising: a memory for storing coordinates of at least two registration marks as well as coordinates of a prescribed data region of an original document; a document reader for scanning a document replicated from the original document, wherein the original and replicated documents may differ in size from each other; and a computer coupled to the memory and document reader and programmed for
(i) detecting coordinates of the registration marks on the replicated document, and
(ii) deriving the location of the prescribed data region on the replicated document based on the detected registration mark coordinates and coordinates stored in the memory.
2. The system of claim 1, wherein said computer is programmed to derive said prescribed data region location on the replicated document based upon distances between (1) the registration marks on the original document, (2) the prescribed region and registration marks on the original document and (3) the registration marks on the replicated document.
3. The system of claim 1, wherein said registration marks comprise three marks located approximately at corresponding corners of said original image.
4. The system of claim 1 wherein said registration marks comprise two marks diagonally opposed to each other on the original document, and wherein said computer is further programmed to derive
SUBSmUTE SHEET (RULE 26) 22 the coordinates of a third, virtual registration mark based on the coordinates of said two marks.
5. The system of claim 1, wherein said document reader is a component of a facsimile machine, and the replicated document corresponds to an original document received by said facsimile machine.
6. The system of claim 1, wherein said computer is further programmed to detect a replicated document that is an inversion of the original document, and in response, transposing the derived coordinate location of the prescribed data region on the replicated document.
7. The system of claim 2, wherein said computer is further programmed to detect a replicated document that is an inversion of the original document based on the coordinates of the three registration marks on the replicated document, and in response, transposing the derived coordinates of the prescribed data region on the replicated document.-
8. The system of claim 1, wherein said computer is programmed to derive said prescribed data region location on the replicated document based upon a ratio of distances between the registration marks on the original document and distances between the registration marks on the replicated document.
9. A computer-implemented method of locating a prescribed region of an image replicated from an original image wherein the replicated and original images may differ in size from each other, comprising the steps of: storing, in a memory, coordinates of the prescribed region and coordinates of at least two registration marks on the original image from which the replicated image is to be produced; reading coordinates of the registration marks on the replicated image; and deriving the location of the prescribed region on the replicated image based on the coordinates of the replication marks of the replicated and original images.
10. The method of claim 9, wherein the step of reading comprises optically scanning the document, and converting the image scanned to image data.
11. The method of claim 9, wherein the step of deriving is based upon distances between (1) the registration marks on the original document, (2) the prescribed region and registration marks on the original document and (3) the registration marks on the replicated document.
12. The method of claim 9, further including detecting a replicated document that is an inversion of the original document based on the coordinates of the registration marks on the replicated document, and in response, transposing the derived coordinates of the prescribed data region on the replicated document.
13. The method of claim 12, wherein said original and replicated documents each contain three registration marks oriented near different corners of said documents, and wherein said step of detecting a document inversion includes detecting whether a particular one of said registration marks resides in a prescribed region of said replicated document.
14. The method of claim 9, wherein the step of deriving is based in part upon a ratio of distances
grøSπTOϊESBEEKR lEa between the registration marks on the original document and distances between the registration marks on the replicated document.
15. A document processing system for reading data within a document replicated from an original document, wherein the original and replicated documents may differ in size from each other, the original document having a prescribed region containing machine-readable data and at least two registration marks in proximity to corners of the document, the system comprising: a memory for storing coordinates of the registration marks as well as coordinates of the prescribed data region of the original document; a document reader for scanning the replicated document; and computer means coupled to the memory and document reader and programmed for
(i) detecting coordinates of the registration marks on the replicated document,
(ii) deriving the location of the prescribed data region on the replicated document based on the detected registration mark coordinates and coordinates stored in the memory, and
(iii) reading data within the prescribed region of the replicated document.
16. The system of claim 15, wherein said computer is programmed to derive said prescribed region location on the replicated document based upon distances between (1) the registration marks on the original document, (2) the prescribed region and registration marks on the original document and (3) the registration marks on the replicated document.
SUBSTITUTE SHEET (RULE 26
17. The system of claim 15, wherein said registration marks comprise three marks located approximately at corresponding corners of said original image.
18. The system of claim 15 wherein said registration marks comprise two marks diagonally opposed to each other on the original document, and wherein said computer is further programmed .to derive the coordinates of a third, virtual registration mark based on the coordinates of said two marks.
19. The system of claim 15, wherein said document reader is a component of a facsimile machine, and the replicated document corresponds to an original document received by said facsimile machine.
20. The system of claim 15, wherein said computer is further programmed to detect a replicated document that is an inversion of the original document, and in response, transposing the derived coordinate location of the prescribed data region on the replicated document.
21. The system of claim 15, wherein said computer is further programmed to detect a replicated document that is an inversion of the original document based on the coordinates of the three registration marks on the replicated document, and in response, transposing the derived coordinates of the prescribed data region on the replicated document.
22. The system of claim 15, wherein said computer is programmed to derive said prescribed data region location on the replicated document based upon a ratio of distances between the registration marks on
SBBSTΠBTESHEEKRBLEK) the original document and distances between the registration marks on the replicated document.
PCT/US1995/007355 1994-06-09 1995-06-02 System and method for reading data from prescribed regions of a document of variable size WO1995034046A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU27020/95A AU2702095A (en) 1994-06-09 1995-06-02 System and method for reading data from prescribed regions of a document of variable size

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US25731894A 1994-06-09 1994-06-09
US08/257,318 1994-06-09

Publications (1)

Publication Number Publication Date
WO1995034046A1 true WO1995034046A1 (en) 1995-12-14

Family

ID=22975796

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1995/007355 WO1995034046A1 (en) 1994-06-09 1995-06-02 System and method for reading data from prescribed regions of a document of variable size

Country Status (2)

Country Link
AU (1) AU2702095A (en)
WO (1) WO1995034046A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996032691A1 (en) * 1995-04-10 1996-10-17 Rebus Technology, Inc. System and method for automatic page registration and automatic zone detection during forms processing
EP0775966A2 (en) * 1995-11-27 1997-05-28 Kabushiki Kaisha Toshiba Sheet processing apparatus, sheet processing method and information processing apparatus
EP1117069A2 (en) 2000-01-14 2001-07-18 Fuji Xerox Co., Ltd. Image processing system and method, and image forming apparatus
GB2378073A (en) * 2001-07-27 2003-01-29 Hewlett Packard Co Paper document to computer interface.

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Method for Mask Generation Suitable for Use in Scanning Preselected Areas of Standard Documents. June 1977.", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 20, no. 1, NEW YORK, US, pages 367 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996032691A1 (en) * 1995-04-10 1996-10-17 Rebus Technology, Inc. System and method for automatic page registration and automatic zone detection during forms processing
US5822454A (en) * 1995-04-10 1998-10-13 Rebus Technology, Inc. System and method for automatic page registration and automatic zone detection during forms processing
EP0775966A2 (en) * 1995-11-27 1997-05-28 Kabushiki Kaisha Toshiba Sheet processing apparatus, sheet processing method and information processing apparatus
EP0775966A3 (en) * 1995-11-27 1997-10-15 Toshiba Kk Sheet processing apparatus, sheet processing method and information processing apparatus
US6052207A (en) * 1995-11-27 2000-04-18 Kabushiki Kaisha Toshiba Sheet processing apparatus, sheet processing method and information processing apparatus
US6493472B1 (en) 1995-11-27 2002-12-10 Kabushiki Kaisha Toshiba Sheet processing apparatus, sheet processing method and information processing apparatus
EP1117069A2 (en) 2000-01-14 2001-07-18 Fuji Xerox Co., Ltd. Image processing system and method, and image forming apparatus
EP1117069B1 (en) * 2000-01-14 2012-08-15 Fuji Xerox Co., Ltd. Image processing system and method, and image forming apparatus
GB2378073A (en) * 2001-07-27 2003-01-29 Hewlett Packard Co Paper document to computer interface.
GB2378073B (en) * 2001-07-27 2005-08-31 Hewlett Packard Co Paper-to-computer interfaces
US7317557B2 (en) 2001-07-27 2008-01-08 Hewlett-Packard Development Company L.P. Paper-to-computer interfaces

Also Published As

Publication number Publication date
AU2702095A (en) 1996-01-04

Similar Documents

Publication Publication Date Title
US6895116B2 (en) Automatically extracting graphical bar codes
CN109657665B (en) Invoice batch automatic identification system based on deep learning
US8640018B2 (en) User interface tag for use in processing a document
US6470096B2 (en) Method for locating user interface tags in a document processing system
US6778703B1 (en) Form recognition using reference areas
EP0764308B1 (en) System and method for automatic page registration and automatic zone detection during forms processing
US7017816B2 (en) Extracting graphical bar codes from template-based documents
US6738154B1 (en) Locating the position and orientation of multiple objects with a smart platen
US6873732B2 (en) Method and apparatus for resolving perspective distortion in a document image and for calculating line sums in images
US7305131B2 (en) Extracting graphical bar codes from an input image
JP5620244B2 (en) Image registration method and program for image comparison and document authentication
US5892854A (en) Automatic image registration using binary moments
US6965703B1 (en) Optical scanner and software for correcting distorted images
Nakano et al. An algorithm for the skew normalization of document image
EP0738987A2 (en) Processing machine readable forms
JP4486193B2 (en) Document processing method
EP1033864B1 (en) Document-inclination detector
JP3733310B2 (en) Document format identification device and identification method
WO1995034046A1 (en) System and method for reading data from prescribed regions of a document of variable size
Hutchison et al. Fast registration of tabular document images using the Fourier-Mellin transform
JPS6325391B2 (en)
EP0702320A1 (en) Skew detection
Le et al. Document skew-angle detection algorithm
EP0975146A1 (en) Locating the position and orientation of multiple objects with a smart platen
JPH03263282A (en) Character segmenting method for character reader

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AM AT AU BB BG BR BY CA CH CN CZ DE DK EE ES FI GB GE HU IS JP KE KG KP KR KZ LK LR LT LU LV MD MG MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TT UA UZ VN

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE MW SD SZ UG AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: CA