US4468809A - Multiple font OCR reader - Google Patents

Multiple font OCR reader Download PDF

Info

Publication number
US4468809A
US4468809A US06/333,963 US33396381A US4468809A US 4468809 A US4468809 A US 4468809A US 33396381 A US33396381 A US 33396381A US 4468809 A US4468809 A US 4468809A
Authority
US
United States
Prior art keywords
data
character
block
window
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US06/333,963
Other languages
English (en)
Inventor
John S. Grabowski
Aaron C. Y. Tong
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NCR Voyix Corp
Original Assignee
NCR Corp
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 NCR Corp filed Critical NCR Corp
Assigned to NCR CANADA LTD- NCR CANADA LTEE reassignment NCR CANADA LTD- NCR CANADA LTEE ASSIGNMENT OF ASSIGNORS INTEREST. Assignors: GRABOWSKI, JOHN S., TONG, AARON C. Y.
Priority to US06/333,963 priority Critical patent/US4468809A/en
Assigned to NCR CORPORATION, A CORP. OF MD reassignment NCR CORPORATION, A CORP. OF MD ASSIGNMENT OF ASSIGNORS INTEREST. Assignors: NCR CANADA LTD- NCR CANADA LTEE, A CORP. OF CANADA
Priority to DE8383900322T priority patent/DE3276974D1/de
Priority to PCT/US1982/001758 priority patent/WO1983002347A1/en
Priority to EP83900322A priority patent/EP0096716B1/de
Priority to JP83500415A priority patent/JPS58502171A/ja
Priority to DE198383900322T priority patent/DE96716T1/de
Priority to CA000418351A priority patent/CA1179067A/en
Publication of US4468809A publication Critical patent/US4468809A/en
Application granted granted Critical
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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
    • 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/16Image preprocessing
    • 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/16Image preprocessing
    • G06V30/162Quantising the image signal
    • 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/19Recognition using electronic means

Definitions

  • the present invention generally relates to optical character recognition systems and more particularly to those systems which are utilized to automatically read symbols or alpha-numeric type characters which have been printed, embossed or otherwise formed on documents such as coupons, checks or invoices.
  • the present system includes features which enhance the effective optical contrast of the patterns representing the characters, locate the characters within a prescribed window, and recognize the characters found, notwithstanding the presence of various extraneous marks.
  • the optical data capture function is further complicated by the diverse reflective characteristics encountered, not only from the document material but also from the materials used to form the characters. For example, inks of different colors, textures and amounts produce a significantly different optical reflection even when they appear on the same document material and are formed in the same style of font. Scenic backgrounds, fold lines in the documents, and differences in the reflective characteristics and paper quality of the document materials are further sources of extraneous signals during the location, capture, and recognition of character patterns and the data they represent.
  • the complete system includes a mechanical document transport assembly and an optical scan head assembly, in addition to the functional groups noted above.
  • the transport moves individual documents through a plane illuminated by a light source mounted in the scan head assembly.
  • An electrically scanned photodiode array physically oriented perpendicular to the direction the document translates, detects the level of reflected light at prescribed increments of the document's scan band to secure images of character patterns.
  • Each pattern consists of multiple discrete pixels.
  • a video processor board converts the data at each measured pixel into three discrete levels, white, gray and black.
  • the level data for the pixels is then grouped by matrices of pixels for enhancement.
  • the center pixel in each grouping is adjusted to selectively eliminate gray and black level pixels when the matrices exhibit prescribed patterns.
  • gray pixels are converted to either white or black pixels while black pixels are either retained or converted to white.
  • the cumulative effect of such an enhancement process is to thicken thin character segments and thin thick character segments.
  • the enhanced pixel data in binary format of black or white, is then synchronously transferred to a finder board.
  • the function of the finder board is to precisely locate each character within the field of enhanced data so that the recognition process templates can be more accurately positioned.
  • the character finding technique involves an optimal positioning of the character within a window before initiating character recognition. Generally, it consists of analyzing the binary pixel data while the data is in a multi-column shift register. A matrix of data analogous to a window, correspondingly selected to the font, is moved through the data to locate a position completely enclosing a character. The position is established using logic which generally maximizes the number of data bits representing black pixels within the window. Concurrently, the data within the window is analyzed to verify the presence of white pixels along the window boundary. Only after these and various other conditions are satisfied is there an attempt to recognize the character within the window.
  • the character recognition board performs the template analysis and logic functions by which a matrix of binary data, corresponding to the optically perceived characters, is sequentially compared to the matrix templates, corresponding to the selected font.
  • the templates are stored in an electronic memory using two binary bits per pixel to represent either black, white or don't care states. To some degree, the functions performed by the recognition board are described in the above-cited copending application.
  • the character recognition board compares each pixel for mismatches between the data in the templates and the optically captured data in the shift register. The comparison is repeated for each of four positions slightly shifted with respect to each other to determine the best match of characters. Before a match between the template and the pattern is declared, the number of matches are compared to satisfy both a threshold and difference standard. If all the conditions are satisfied, a binary code corresponding to the best matched template is sent to buffered storage.
  • FIG. 2 schematically depicts an analog signal and the quantization levels for gray and black signals.
  • FIG. 3 is a composite schematic block diagram of the Video Processor board.
  • FIG. 4 is a schematic block diagram of the Timing Generator block for the Video Processor board.
  • FIG. 5 schematically represents a sequence of signals from the Video Processor Timing Generator.
  • FIG. 6 is a block schematic block diagram of the Document Present Sensor block and Video Detector block.
  • FIG. 7 is a schematic block diagram of the Start Scan and Phase Clock Generator block and the Video Threshold Select and 7B Font Compression block.
  • FIG. 8 is a composite schematic block diagram of the Enhancement board and the Mode, Font and Field Control box.
  • FIG. 9 is a schematic block diagram of the Data Enhancement block.
  • FIG. 12 schematically depicts the black elimination patterns.
  • FIG. 13 is a schematic block diagram of the Field Select block and Control box.
  • FIG. 14 is a schematic block diagram of the Font Select block and Control box.
  • FIG. 15 is a schematic block diagram of the Column Counter block.
  • FIG. 16 is a schematic block diagram of the Blank Generator block.
  • FIG. 17 is a composite schematic block diagram of the Finder board arranged by functional groups.
  • FIG. 18 schematically depicts the scan band and the window.
  • FIG. 19 schematically depicts the movement of the window onto a character.
  • FIG. 20 schematically depicts the movement of the window over the scan band.
  • FIG. 21 schematically depicts a character pattern undergoing column to row conversion.
  • FIG. 22 schematically depicts the movement of the scan by rows.
  • FIG. 23 is a schematic block diagram of the BUFFER LATCH and ROW DATA COUNTER.
  • FIGS. 24A and 24B together comprise a schematic block diagram of the ROW COUNT MATRIX.
  • FIG. 25 schematically depicts the operation of the WINDOW COUNTER and BLK MIN.
  • FIG. 26 is a schematic block diagram of the WINDOW COUNTER and BLK MIN.
  • FIG. 27 schematically depicts the operation of the ADD/.
  • FIG. 28 is a schematic block diagram of the ADD/.
  • FIG. 29 is a schematic block diagram of the TOP BLANK.
  • FIG. 30 is a schematic block diagram of the BOT BLANK.
  • FIG. 31 schematically depicts the operation of the BOT BOUND.
  • FIG. 32 is a schematic block diagram of the BOT BOUND.
  • FIG. 33 schematically depicts the operation of the Y AXIS DET.
  • FIG. 34 is a schematic block diagram of the Y AXIS DET.
  • FIG. 35 schematically depicts the operation of the COMPARE LT and TOP.
  • FIG. 37 schematically depicts the operation of the COMPARE LT and RT.
  • FIG. 42 schematically depicts the operation of the HOLD.
  • FIG. 43 is a schematic block diagram of the HOLD and the MOLTTEM.
  • FIG. 44 is a schematic block diagram of the ⁇ 5Y AXIS BITS.
  • FIG. 48 schematically depicts the shifting operation of the Recognition board.
  • FIG. 49 schematically depicts a template from the Recognition board.
  • FIG. 51 is a schematic block diagram of the Font Selection block and the Character Templates block.
  • FIGS. 54A and 54B together comprise a schematic block diagram of the Minimum Count Select block, the Minimum Count Latch block, the Next Minimum Count Latch block, the Template Count Comparator, and the Minimum/Next Minimum Threshold block.
  • FIGS. 57A, 57B and 57C together comprise the Recognition Timing block.
  • FIGS. 58A and 58B schematically represent a sequence of signals from the Recognition Timing block.
  • FIG. 59 is a schematic block diagram of the RPS Circuit.
  • FIG. 60 is a schematic block diagram of the OCR Interface board.
  • the OCR Reader System embodying the features of the present invention is comprised of a number of boards which functionally group the various operations. Some of the operations are partially known in the art, while others are described in the previously noted copending patent application. The individual and combined features which constitute the unique and novel contributions disclosed and claimed herein will be distinguished.
  • the prior art comprises the transport assembly, the scan head assembly, and substantial segments of the Video Processor board.
  • the above noted copending application relates to some of the functions performed by the Recognition board. Consequently, the features of the present invention are derived from functions performed by the Enhancement board, the Finder board, segments of the Recognition board, and the composite of the boards as a functional group.
  • the embodying OCR Reader System also incorporates a variety of features which have only secondary relationship to the invention itself. However, they are included to illustrate the overall flexibility of a system which employs the present invention.
  • a first example is the variety of fonts which can be optically captured and processed with the same system. This includes not only the conventional OCRA, OCRB, 1403, 1428, FARRINGTON 7B (7B), and E13B fonts, but also special customer configured fonts or symbols.
  • Another example includes the remittance processing (RPS) mode, during which the first symbol in the character field automatically selects the font of the succeeding characters.
  • FIG. 1 generally illustrates the functional groups which comprise the overall OCR Reader System, designated 1, from both their structural and functional perspectives.
  • the transport moves documents across the face of the scan head. Character patterns on the documents are optically detected and processed to generate video signals, which are then amplified and quantized into binary format.
  • the signals are grouped into matrices for enhancement, character location, and character recognition. Binary coded data representing recognized characters is then conveyed to an interface for further transmission to associated data processing equipment.
  • the mode, font and field controls allow the operator to match the system to the document characteristics.
  • the various functions are grouped by printed circuit boards (PCBs).
  • document transport assembly 2 used in the embodiment described hereinafter is of a form generally known by those practicing in the art. Similar transport structures have been sold by the NCR Corporation as a Model NCR 7750 DDPS Workstation. Briefly, document transport assembly 2 automatically feeds individual documents 3 to six drive rollers which move the documents past Scan Head Assembly 11 and viewing window to the document encoder and sorter apparatus. The speed of the transport is regulated to move the documents across the reading face of the Scan Head Assembly at a regulated speed of 265 cm per second. The transport is also configured to position the documents in such a way that skewing and depth of field variations are substantially eliminated.
  • the present Scan Head Assembly is generally known within the art. Accordingly, its structural and functional description will also be abbreviated.
  • the illuminating section of the Scan Head Assembly 11 includes tungsten-halogen lamp 7 and light guide 6, the latter serving to direct light onto the surface of document 3 in area 5. Images of character patterns 4 are focused by lens 8 onto 64 element linear photodiode array 9.
  • the array is commercially available from E. G & G. Reticon, designated as a model RL-64A Solid State Line Scanner. With this Scan Head Assembly, array 9 covers a total scan band of approximately 11 mm (0.4 in) in 64 segments of approximately 0.16 mm (0.00625 in) each.
  • Photodiode array 9 is clocked by a two phase signal from Video Processor board 12 at a nominal rate of 1.1 MHz for scanning the photodiodes from bottom to top.
  • the output from the array 9 is a serial group of analog signals related in exact sequence to the respective photodiode positions.
  • each train of photodiode output signals represents a substantially unskewed slice of the scan band.
  • the 0.16 mm columns lie substantially adjacent to each other along the length of the scan band.
  • the amplitude of each pulse from each photodiode is substantially proportional to the arithmetic product of the light falling on the corresponding photodiode and the time the photodiode is exposed to the light.
  • the proportionalities are retained when the pulses are converted to video signals in video amplifier board 10. Therefore, the series of analog voltage pulses leaving video amplifier board 10 contains information in terms of both position and reflective amplitude.
  • the embodying Scan Head Assembly, 11, is housed in an elevator mechanism (not shown) which is manually adjustable in the direction perpendicular to the travel of the document.
  • Video Processor board 12 generally converts the analog signals received from video amplifier 10 into quantized digital signals representing photodiode responses at each location. Each pixel is classified as being black, gray or white. Conversion to digital format is performed by quantizing the video signal voltage pulses into three bands (black, gray or white) defined by two voltage threshold levels. As embodied, the Video Processor board also serves to sense the presence of documents on the transport, supplies the start pulses to the scanner circuit in the photodiode array, and generates the two-phase clock signals for the array.
  • FIG. 2 of the drawings This figure schematically depicts a representative sequence of analog video signals and illustrative threshold levels suitable to quantize the video signal. Each downward excursion of the video signal after the start of the scan represents the magnitude of reflected light at a photodiode. Exemplary threshold levels are superimposed on the video signal plot in FIG. 2. For subsequent processing, the black and gray levels are selected in pairs, for instance, gray/black 1, on the basis of the document characteristics.
  • the Video Processor board Another function performed by the Video Processor board is the detection of documents entering and leaving the scan head area.
  • the present embodiment employs a light emitting diode-phototransistor (LED-PT) pair as a document present sensor.
  • the LED-PT is physically mounted on the transport track at a position approximately 12 millimeters before the data capture position adjacent the Scan Head Assembly.
  • the document present sensor detects the leading and trailing edges of each document.
  • the Video Processor board includes a master clock for synchronizing the various functions performed by the OCR Reader System.
  • the clock signals are generated from a 10 MHz oscillator, which is divided down in frequency to both 1.111 MHz and 0.714 MHz.
  • the lower frequency is used with 7B font, while the higher frequency is used for all other fonts and functions in the system.
  • the reduced frequency compresses the size of the 7B characters to the effective size of the other OCR characters. The distinction will be developed in greater detail at a later point.
  • FIG. 3 where the blocks have been arranged by functional groups. Note the input and output signals coupling the various functional blocks, as well as the numerical correspondence between the functional blocks illustrated here and their individual developments in the later figures by way of relatively conventional blocks representing actual electronic devices.
  • Each functional block on Video Processor board 12 will be described individually using the schematics in FIGS. 4, 5, 6 and 7. Periodic reference back to FIG. 3 may aid one in understanding the way the various blocks are combined on the Video Processor board.
  • FIG. 4 Begin the analysis of the embodying Video Processor board by considering the organization of Timing Generator 31, as it is shown in FIG. 4 of the drawings.
  • a 10 MHz master oscillator 33 followed by frequency dividers 35 and 36 to reduce the clock rate to the 1.111 MHz and 0.714 MHz frequencies used in the system.
  • Selector 37 passes the 0.714 MHz clock only when 7B font is prescribed. Otherwise, the frequency of clock signal CLK is maintained at 1.111 MHz.
  • the elements within dashed perimeter line 52 constitute prior art.
  • FIGS. 3 and 4 both show that there are two output clock rates from Video Processor board 12, a selectable rate designated CLK and a fixed rate of 1.111 MHz.
  • CLK selectable rate
  • Finder board 15 substantially all the data processing on Finder board 15 (FIG. 1) is performed at the 1.111 MHz frequency.
  • the video processor board is configured to operate at either of the frequencies, depending on the font selected.
  • CLK signal is used to derive a SHIFT signal, also selectable between 1.111 and 0.714 MHz, which serves as the master clock signal for the overall OCR Reader System.
  • the pulse resets frequency divider 35 with the onset of each new scan of the photodiode array. This distinct reset pulse is required because frequency divider 35 is not a direct multiple of frequency divider 36, yet data must move throughout the system in synchronism between the various boards comprising the OCR Reader System.
  • FIG. 5 A schematic timing diagram appears in FIG. 5 to illustrate the operation of Timing Generator 31.
  • the combination of the schematics in FIGS. 4 and 7, together with the timing diagram in FIG. 5 and the operational sequence presented in Table I, will completely describe the operation of Timing Generator 31.
  • the signals in the figure represent the timing operations for a mode other than font 7B.
  • the waveforms are labeled at the left edge with reference symbols corresponding to those used in the Table and other figures.
  • the presence of a slash (/) following a symbol represents the inverse of that symbol.
  • the clock sequence shown includes two distinct periods in the timing sequence, that period immediately following the DOCUMENT PRESENT signal, at t 0 , and that corresponding to the restart of a scan after CLK pulse 66, at time t 1 .
  • Timing Generator 31 establishes the appropriate relationship of timing pulses for not only the various boards comprising the OCR Reader System but also the 64 shift pulses, the START ARRAY pulse, and the phase signals needed to appropriately operate the photodiode array in Scan Head Assembly 11 (FIG. 1).
  • FIG. 6 of the drawings where the functional blocks corresponding to Video Detector 71 and Document Present Sensor 61 are schematically depicted by way of blocks representing electronic devices. Again, their relationship to the other function block making up Video Processor board 12 may be gleaned from FIG. 3.
  • the phototransistor sensor signal generated on the document transport is compared to a biased level by comparator 62. Thereafter, an adjustable leading edge time delay of approximately 5 milliseconds is introduced by block 63, to compensate for the previously described physical displacement and to ignore the extraneous marks frequently encountered at the edges of documents.
  • the trailing edge time delay block, 64 performs a comparable function for the other end of the document, and further incorporates a delay sufficient to ignore small holes in the document. Time delay blocks 63 and 64 are coupled to set and reset FF 65 at the leading and trailing edges of the scanned field along the length of the document.
  • the remaining blocks shown in FIG. 6 are dedicated to the Video Detector 71 of Video Processor board 12.
  • the raw video signal from Video Amp board 10 (FIG. 1) is amplified by block 72.
  • the amplified video signal is distributed, after undergoing low pass filtering by block 73, as a background level to variable gain amplifiers 74, 75, 76 and 77.
  • the amplified background levels from amplifiers 74, 75, 76 and 77 are compared to the original video, which has been fed forward from amplifier 72 into comparator blocks 78, 79, 80 and 81.
  • the output from each comparator is binary in format, quantized on the basis of selectable threshold levels. For examples of the various thresholds see FIG. 2.
  • Video Detector 71 The remaining blocks in Video Detector 71, gates 82, 83, 84 and 85, inhibit the passage of digitized video when no document is present. It,,should be noted that the segment of Video Detector 71 within dashed line 86 constitutes prior art.
  • the electronic devices which form the Video Threshold Selection and 7B Font Compression block 91 are illustrated in FIG. 7.
  • the individually quantized levels of black and gray video pixel data are synchronized with CLK/ by FFs 92, 93, 94 and 95.
  • Dual selector 97 permits manual selection of either gray 1/black 1 or gray 2/black 2. This feature allows adjustments in the OCR Reader System for documents having unusual background reflection or contrast characteristics.
  • the remaining devices in FIG. 7 form the Start Scan and Phase Clock Generator, 111, creating the PHASE 1, PHASE 2 and START ARRAY signals peculiarly suited to the needs of the RL-64A solid state array, 9. FF112 and FF113 generate these scan control signals. It should be noted that the schematic in FIG. 7, with the exception of the blocks within the region outlined by dashed line 114, constitute prior art.
  • Enhancement board 13 is coupled to both Video Processor board 12 and Mode, Font and Field Control box 14.
  • the latter source of signals to the Enhancement board introduces operator controlled functions.
  • the analysis of the Enhancement board will begin with a general description of the overall operation and will then extend the analysis into the individual functional blocks which make up the Enhancement board.
  • the various functional blocks are illustrated in FIG. 8.
  • the functions performed on the enhancement board are divisible into two general classes, those which relate to the enhancement of the black and gray pixel data, and those which relate to interfacing with the operator to control the OCR Reader System.
  • Data Enhancement block 116 The general effect of Data Enhancement block 116 is to thicken thin character segments and thin thick character segments during the processing of the gray and black level data. This is accomplished by circulating gray data through a shift register matrix to determine whether data representing the pixels should be converted to black or white data bits. If the data representing adjacent pixels indicates a large black area, the gray pixel data is converted to white pixel data. On the other hand, if the gray pixel data is surrounded by white pixel data, indicating a light portion of the character, the data representing the center pixel is converted to black. This procedure is repeated sequentially for all the pixels as they shift through the center location of the shift register matrix.
  • the second aspect of the enhancement operation is performed on black pixel data, but only in the cases where the character fonts are 7B, OCRA or SPECIAL.
  • black pixel data which has been shifted into a second shift register is treated to eliminate the black data bit at center if the surrounding pixel data satisfies a group of conditions.
  • the operation reduces thick vertical segments to nominal size.
  • Black and gray pixel data from the Video Processor board are synchronously entered into 9 ⁇ 64 shift register 119 and 5 ⁇ 64 shift register 120 through FF117 and FF118, respectively.
  • the data is entered and stored serially in both registers.
  • Adjacent shift registers 121 and 122 extract samples of the pixel data, in the form of a matrix, by the synchronous conversion of the data from serial to parallel format. Note that the matrix size for shift register 121 is 9 ⁇ 8, while that for register 122 is 3 ⁇ 8 in size.
  • Gray enhancement logic array 123 evaluates a 7 ⁇ 7 matrix block of pixel data stored in registers 121 and 122 during each SHIFT cycle.
  • the gray pixel data being evaluated is always the one in the fourth row and fourth column of the 7 ⁇ 7 matrix, i.e., the center pixel. If the center pixel is gray, gray enhancement logic array 123 analyzes 34 black pixels and 5 gray pixels to determine whether the center gray pixel data should be converted to white pixel data. If not, the gray pixel data bit is converted to a black bit.
  • 10 and 11 illustrate the twelve logic conditions which prescribe that the gray data bit at the center pixel in the data matrix, shown as a "G" within a circle, should appear at the input to gate 125 as a white data bit. Note that if the data at the center pixel is already black, the gray enhancement function is overridden. The effects of black enhancement are introduced at a later gate, number 127 in FIG. 9.
  • gray enhancement consider two pixel data patterns from FIG. 10, for instance those labeled BOT1 and RT2.
  • Each pattern represents a logic combination which causes an output to appear from logic array 123, which in turn inhibits gate 125 and generates a white binary level on the DATA line during the clock signal.
  • BOT1 the gray status of the center pixel data is converted to white on the basis of a trend suggesting a border between black and white.
  • RT2 it is presumed that the high density of adjacent black pixel data suitably represents the character segment.
  • Black data enhancement is also performed in data enhancement block 116 in FIGS. 8 and 9.
  • Black enhancement logic array 124 receives black pixel data from shift register 121, corresponding to 7 positions within the matrix, and by way of gates 126 and 127 suppresses black data for matrix position (4,4) in the array if any one of the four conditions are satisfied.
  • the pixel data patterns representing the conditions are shown in FIG. 12.
  • the effect of the circuit performing black enhancement is to remove a black data bit, change it to a white data bit, if any one of the four patterns in FIG. 12 are detected by black enhancement logic array 124.
  • Gate 126 limits the implementation of the black elimination operation to the three fonts noted hereinbefore, while gate 127 performs the actual change of the data when black elimination is prescribed. Note again, that the various actions are repeated for each clock signal.
  • the black elimination patterns illustrated in FIG. 12 can be considered in greater detail. For instance, the patterns at 131 and 132 eliminate all black pixel data until the vertical segments of characters are three columns or less in width. The right edge of the character always serves as the reference. Alternate patterns 133 and 134 in FIG. 12, illustrate the conditions which compensate for the horizontal segments of the characters. Absent such compensation, the black elimination logic array would reduce all horizontal projections to shapes having the width of three columns or less.
  • Control box 14 (FIG. 1). As shown generally in FIG. 8, the Control box 14 performs three functions. First, it allows the operator to select the beginning and end of two scan fields. Next, the box permits the operator to select the font to be read in each of the two fields. And last, it permits the operator to select a mode in which only the numeric characters in a selected font are recognized.
  • the vertical position of the scan band is established by mechanically adjusting Scan Head Assembly 11 with respect to transport 2.
  • Field Selector 136 of Control box 14 prescribes the scan band positions for starting and ending the Finder and Recognition board operations.
  • the selectable fields, designated as field 1 and field 2 are non-overlapping.
  • Font Selector 137 of Control box 14 permits the operator to individually designate the font which is to be recognized in each of the two fields. Font selection is further diversified by the inclusion of the remittance processing (RPS) mode in the font selector for field 1.
  • RPS remittance processing
  • the OCR Reader System automatically reads any one of four fonts depending on which of three special symbols are encountered in the first 25 millimeters of the document. If no symbol is detected the system defaults to the fourth font, corresponding to the one designated for field 2.
  • the symbols and corresponding fonts are presented in Table II.
  • Character Mode Switch 138 is sufficiently rudimentary that it requires no separate development.
  • FIG. 13 embodies Field Selector 141 and depicts the block of devices required to generate a VALID FIELD signal for Finder board 15 (FIG. 1).
  • the start and stop positions for both fields are created in eight contact field selector switches 142-145.
  • the designated start and stop numbers are compared respectively in 8 bit comparators 146 and 147 with the FIELD COUNT signal, with the signal numerically representing the progress of the document along the transport.
  • Comparators 148 and 149 perform the same function for field 2.
  • a start position match is sensed by gate 150, which switches FF152 when the output from gate 150 coincides with the SHIFT signal.
  • the end of a field is signalled by the coincidence of outputs from comparator 147 or 149 and a SHIFT signal, which switches FF153 and resets the latched state of FF152.
  • FF153 is reset when the DOC PRES signal becomes inactive to indicate the end of the document.
  • the VALID FIELD output signal generated by Field Selector 141 is sent to Finder board 15 to indicate when Scan Head Assembly 11 is optically detecting an area within either of the designated fields.
  • FIG. 8 also shows the presence of the functional block entitled Font Select 156 on Enhancement board 13.
  • the devices comprising the Font Select block are shown in FIG. 14.
  • the positions of Font Selector switches 157 and 158 in the Control box are presented in binary format to BCD-to-decimal decoders 159 and 160 for fields 1 and 2, respectively.
  • Each decoder has 8 output lines corresponding to each font in each field.
  • Decoder 159 includes a ninth line to represent the RPS mode.
  • the process for selecting the appropriate font by field or under the influence of the RPS mode is performed by the combination of gate 161, selectors 162, FF163 and gate 164.
  • gate 161 resets FF163 during the period when the DOC PRES signal is absent. Thereafter, the absence of a DEFAULT/ signal, and the reset state of FF163, combine in gate 164 to generate the FIELD SELECT signal.
  • An active FIELD SELECT signal selects the data from field 1 of decoder 159. Thereafter, when the START 2 signal, indicating the onset of field 2, coincides with a SHIFT signal, FF163 and gate 164 change to select the font prescribed for field 2 from decoder 160.
  • the selection of the RPS mode in field 1 of font select switches 157 latches the output of FF163.
  • the FIELD SELECT output signal to selectors 162 prescribes the font designated for field 2 when the DEFAULT/ signal becomes active.
  • FIG. 15 shows that the DOC PRES signal noted hereinbefore constitutes a synchronism of the DOCUMENT PRESENT signal with the first SHIFT signal generated on Video Processor board 12. The operation is performed by FF173. Another auxiliary function occurring within Column Counter block 166 is the selection of video thresholds, either gray/black 1 or gray/black 2, implemented on Video Processor board 12. The position of switch 168 prescribes the choice of level pairs.
  • Column Counter 166 begins in 8 bit counter 167.
  • Counter 167 accumulates a count of 64 shift pulses, corresponding to the 64 photodiodes in a column of scanned data.
  • the counter is loaded with a count of 1 on count 65 by the action of gates 169 and 170. Note that gate 170 does not initiate a loading of counter 167 unless a DOC PRES signal also exists.
  • the output from the counter and its associated devices generates a COLUMN CLK signal, in the form of a pulse for each column of data scanned and processed.
  • the COLUMN CLK signals are coupled into 4 bit counter 171, which combines with the action of gate 174 and selector 175 to group columns into fields.
  • the fields vary in width depending on the font.
  • the relatively large structure of the 7B font prescribes a field 10 columns in width, resetting counter 171 on count 10. The remaining fonts reset counter 171 after a field of 16 columns.
  • Counter 172 accumulates columns by fields. COLUMN CLK signals are counted only when selector 175 signals the completion of a field by enabling counter 172, and the ENABLE X signal is present. The generation of the ENABLE X signal will be described later. The number of fields counted appears as the FIELD COUNT signal from counter 172. A count of 10 fields by counter 172 is detected by gate 176 to generate the RPS BAND signal. This signal indicates the end of the first 25 mm of document, corresponding to the zone allocated to special symbols when operating in the RPS mode.
  • Blank Generator block 181 The devices within this block are developed in FIG. 16.
  • Counter 182, gate 187 and FF188 together serve to delay the ENABLE X signal by 24 columns after the DOC PRES signal. This provides sufficient time for Enhancement board 13 and Finder board 15 to clear pre-existing data before new fields of data are entered.
  • the FIFO RESET signal generated by gate 192 clears devices on the Finder and Recognition boards during the 24 column delay period noted above.
  • the Blank Generator block 181 also includes other devices serving to regulate some operations of Finder board 15 and Recognition board 16. Among these devices are 8 bit counter 190, gate 193 and selector 194, used together to generate one clock pulse per field in accordance with the size of the selected character font.
  • Counter 190 is started by the ENABLE X signal with the cooperative actions of gate 183 and FF184.
  • Counter 190, gate 193, gate 185, selector 194 and FF186 enable shift register 191 once for every field. As noted previously, the field varies from 20 columns for font E13B to 16 columns for the remaining fonts.
  • Shift register 191 generates a BNK CLK signal 4 SHIFT signals later and retains the BNK CLK signal for 2 SHIFT signals. Shift register 191 resets FF184 and FF186 with the trailing edge of the BNK CLK signal. The switching of FF184 resets counter 190.
  • the RECOGNITION DELAY signal originates on Finder board 15. This signal resets and disables Blank Generator 181 through gate 189 whenever a character has been located by Finder board 15.
  • the PM5 signal also originates on the Finder board. This signal is coupled to Blank Generator 181 to synchronize the BNK CLK signal with the character finding operations using gate 185. The generation of both of these signals will be described hereinafter.
  • Enhancement board 13 is concluded. Though a number of input and output paths coupling the Enhancement board to the other boards have not been described with particularity, the consistency of reference symbols throughout will allow one to recognize each when they are fully developed with relation to their origins on boards yet to be described.
  • Finder board 15 Because the finder board is not readily amenable to a division on the basis of functional blocks the description of the functions and structure will be approached in a manner slightly different from that used to describe the Video Processor and Enhancement boards.
  • the Finder board After an initial overview, the Finder board will be described by way of the individual operating algorithms. Thereafter, the structure will be developed by considering the devices which comprise each logic condition in the algorithm. A composite of the various logic operations is shown by schematic blocks in FIG. 17.
  • Finder board 15 the purpose of Finder board 15 is to precisely locate the characters within the scan band before initiating the recognition process. Thereby, the templates used in the recognition process can be accurately located to directly overlay the character undergoing analysis.
  • the general technique involves an optimal positioning of the character within the window.
  • the embodied character finding process involves the use of a character positioning algorithm generally composed of four steps.
  • the algorithm searches for a character in the scan band of the document as though it was looking through an M high by N wide window. This is generally illustrated in FIG. 18.
  • the window is moved from bottom to top, right to left through the scan band, while searching for a character.
  • the four steps for finding a character are performed simultaneously by the finder board as the window moves through the scan band. They are generally described as follows.
  • the finding algorithm starts looking for a character at the bottom right-hand corner of the scan band and moves upward. See the left to right progression of the sequence in FIG. 19.
  • the number of black data bits inside a window having corner coordinates (X 1 , Y 1 ) is counted. If the total number T(X,Y) is greater than a preset threshold T, corresponding to the condition BLK MIN in FIG. 17, a potential character has been detected and steps 2-4 are commenced.
  • the window continues to move upward in the scan band until the right hand corner reaches position (X 1 ,64).
  • the scan is then reinitiated at the bottom of the scan band with the X position incremented by 1. This is generally shown in FIG. 20.
  • the effective window is incremented from bottom to top, left to right, as the Finder board compares the number of black data bits within the window to the threshold T.
  • the threshold T condition is a minimum level which will be exceeded at a number of locations within the scan band not coincident with a character. Consequently, the complete finding of a character does not occur until the conditions defined by steps 2-4 are simultaneously satisfied.
  • step 1 the number of bits entering the window, represented by N T , is compared to the number of bits leaving, represented by N B . If N T is greater than N B , the window is considered to be moving up onto a character. When N T is less than N B , a signal is generated to indicate that the bottom edges of the character and window are aligned.
  • N L is defined as the bit count for the leftmost column of the window and N R defined as the bit count for the right-most column of the window. If N L is greater than or equal to N R , the relationship indicates that the optimal position for the window lies to the left of its present position.
  • the horizontal search step also includes a comparison of N L to the number of bits in a row N T along the top of the window. When N R and N T are both greater than N L the window is optimally positioned in both the vertical and horizontal directions.
  • the additional conditions are required for special characteristics, such as short characters, characters that are light on the bottom or dark on top, characters surrounded by unwanted data (smudges) and characters positioned excessively close.
  • the additional conditions also check for vertical alignment and whether a white boundary surrounds the character located. This latter check verifies that the window has been positioned over one character, rather than split between two adjacent characters.
  • Finder board 15 sends a RECOGNITION START signal to Recognition board 16 to initiate the recognition process. Finder board 15 commences searching for the next character only after the recognition process on the previous character is completed.
  • a window size of 18 ⁇ 12 bits has been found suitable for most fonts; it is preferred that FARRINGTON 7B have a window of 20 ⁇ 12 and E13B have a window of 20 ⁇ 16. Note that the window size for the window in Step 1 is one row and one column less than these sizes.
  • the schematic block diagram of the Finder board in FIG. 17 serves as a useful guide to the analysis of the various conditions evaluated on the board.
  • the operations of Finder Buffer 201 and Buffer Latch 202 can be understood better upon considering the schematic representations of the character and data patterns shown in FIGS. 21 and 22.
  • the enhanced data is buffered in a 64 bit high by 20 bit wide matrix, Finder Buffer 201, for parallel examination of 19 columns.
  • Finder Buffer 201 is filled with data, and the ENABLE X signal from Enhancement board 13 is present, Buffer Latch 202 transfers to its output lines a row of data 19 columns wide in synchronism with the SHIFT signal.
  • FIG. 21 conceptually illustrates the action of the Buffer Latch with respect to the data stored in Finder Buffer 201
  • FIG. 22 illustrates the same concept from the perspective of samples taken at the face of the document itself.
  • the output of Buffer Latch 202 is held for a duration of 1 clock pulse, providing sufficient time for Row Data Counter 203 to examine the first 13 bits of row data for font E13B and 11 bits of row data for all other fonts.
  • FIG. 17 also shows that only 15 of the 19 columns of data available at the output of Buffer Latch 202 are coupled to Recognition board 16.
  • Row Data Counter 203 The structure of Row Data Counter 203 is shown in FIG. 23.
  • the embodying counter is comprised of 256 ⁇ 4 PROMs 231 and 232 followed by 4 bit full adder 233.
  • the PROMs are addressed directly by the row data from Buffer Latch 202 and are programmed internally to generate the binary number equal to the number of active data lines on their addresses.
  • the two PROMs are organized so that PROM 232 counts the data in columns 1-8, while PROM 231 selectively counts columns 9-11 or 9-15 (font E13B).
  • the output of adder 233 is stored in Row Count Matrix 204 (FIG. 17).
  • Row Count Matrix 204 The structural organization of Row Count Matrix 204 is schematically depicted in FIGS. 24A and 24B.
  • the 4 lines of data from Row Data Counter 203 are individually shifted into 4 20 ⁇ 1 shift registers, 236-239.
  • the content of Row Count Matrix 204 is a representation of the bit data in the count window being examined, organized in 4 bit rows for simultaneous access to all the data.
  • the top of the window is fixed and represented by the top row in Row Count Matrix 204.
  • the bottom of the window is variable, depending on the character font selected. For fonts 7B and E13B the bottom is row 1, whereas for the remaining fonts the bottom is row 3.
  • the choice is made through selector 240-243.
  • Signals ADD and SUB respectively represent the data in the rows at top and bottom of the window.
  • Window Counter 205 totals the number of black bits in the counter window. The total is used in BLK MIN block 207.
  • the operation of BLK MIN block 207 is schematically illustrated in FIG. 25 for the numeral "3," progressing sequentially from the left. Note that as the counter window moves up in the scan band and onto the character the number of bits increases or decreases in relationship to the bits entering and leaving the window, respectively.
  • the total bits, T, for each window position are indicated below each position.
  • BLK MIN block 207 The structural implementation of BLK MIN block 207 is shown schematically in FIG. 26.
  • Adder 246 sums the previous window count with the data appearing on the ADD lines from Row Count Matrix 204. From this sum, subtractor block 247 takes away the data appearing on the SUB lines generated in Row Count Matrix 204. The difference is latched in block 248 and compared in 8 bit comparator 249 to the fixed threshold T. For purposes of the present embodiment, T is set at 32. Whenever the difference exceeds the threshold value of 32, a BLK MIN signal is generated.
  • FIG. 17 generally shows that the BLK MIN signal comprises one of the character found conditions.
  • Window Counter 205 is also coupled to ADD/block 206.
  • the operation performed by block 206 is illustrated in FIG. 27.
  • N T the number of bits entering the top row of Row Count Matrix 204, N T , is compared to the number of bits leaving the bottom of the Row Count Matrix N B .
  • N T and N B are, respectively, the numbers represented by lines ADD and SUB.
  • the progression of the window is again from left to right, with the effects noted below each position. If N T is greater than N B , the window is moving onto a character and increases the black bit window count. However, if N T is less than N B , the window is moving off the character and reducing the window count. Refer to step 2 in the previous description of the finding process.
  • comparator 250 generates an ADD/ signal whenever the ADD lines represent a number greater than the SUB lines. This corresponds to the window moving onto a character.
  • the Top Blank condition created in block 217 is satisfied if either of the top two rows of the window, corresponding to rows 19 and 20 in Row Count Matrix 204, are blank.
  • the devices comprising Top Blank block 217 receive 4 lines of data from Row Data Counter 203 and generate an output whenever gate 251 detects a row count with one or more black bits.
  • the output of gate 251 is entered sequentially into 6 bit shift register 252 to maintain correspondence between the data rows. If either of the outputs from register 252, row 19 or 20, are zero, representing no black bits, a TOP BNK signal is generated.
  • FIG. 17 shows that the TOP BNK signal is eventually coupled to Finder Stop block 221.
  • Block 216 in FIG. 17 also includes Bottom Blank block 218 within the group of conditions.
  • Bottom Blank block 218 examines the output of Row Data Counter 203 for a row containing a count of less than 2 black bits. With reference to the window described previously, Bottom Blank block 218 examines row 0 and row -1 for a count of less than 2 bits.
  • Bottom Blank block 218 is analogous to that of Top Blank block 217.
  • the black bit count data from Row Data Counter 203 is coupled to a first gate, 256.
  • the line corresponding to the least significant bit (LSB) is omitted to satisfy the requirement that fewer than 2 black data bits be present in a row before the blank condition is satisfied.
  • the output of gate 256 is sequentially coupled into 22 bit shift register 257, which is itself coupled to gate 258 for the positions corresponding to window rows 0 and -1. If either of the rows has less than two black bits, a BOT BNK signal is generated and coupled to Finder Stop block 221 (FIG. 17).
  • Bottom Bound block 219. Another condition established in general block 216 is shown in FIG. 17 as Bottom Bound block 219. It is used with the 7B font characters conventionally used for credit card receipts. In part, Bottom Bound block 219 distinguishes the characters from extraneous carbon smudges typically present on such documents. For example, consider the effects of a number "7" positioned immediately over a smudge as shown in FIG. 31.
  • Condition (1) The counts for rows 4, 5 and 6 are all less than 8 bits.
  • Condition (2) The counts for 2 or more rows are greater than or equal to 1 for rows 3, 4 or 5.
  • the first condition ignores extraneous smudges, knowing that the black patterns for 7B font characters would not extend over such large areas of the window.
  • the second condition insures that a character is present within the area of the prescribed window.
  • Bottom Bound block 219 is shown by the devices in FIG. 32.
  • the three requirements for condition (1) are detected by the three lines from shift register 239 of Row Count Matrix 204.
  • a signal in the most significant bit position for a row indicates a black count of 8 bits or more for that row.
  • These 3 signals are combined in gate 262 with the output of logic 261 to insure that both conditions are satisfied.
  • Logic block 261 combines bit data from Row Count Matrix 204 (FIGS. 24A and 24B) and Bottom Blank 218 (FIG. 30).
  • the row count in register 257 of the Bottom Blank circuit determines whether the row count is greater than or equal to 2.
  • the row count LSB data coupled from register 236 of the Row Count Matrix completes the condition (2) data for the equal to 1 state.
  • Logic circuitry in block 261 confirms that at least 2 of the row counts exhibit a bit count of 1 or more before generating a signal to gate 262. Gate 262 then generates a signal when both conditions are satisfied. Again, see FIG. 31 for a conceptual understanding.
  • Selector 263 generates a continuous BOT BOUND signal unless font 7B is designated. In the case of 7B, the BOT BOUND signal is not conveyed from selector 263 and coupled to Character Found Conditions block 223 until conditions (1) and (2), above, are both satisfied.
  • Y AXIS DET block 220 in FIG. 17 The purpose of Y AXIS DET block 220 in FIG. 17 is to impose additional conditions before establishing the vertical position for the character, the conditions being uniquely selected to conform with distinct characteristics of the specified fonts.
  • the special conditions compensate for short characters, characters which are light at the top or bottom, or characters degraded by extraneous black data bits situated either above or below the character. Examples of representative defects are shown in FIGS. 31 and 33.
  • the four conditions used to satisfy the Y AXIS DET requirements are individually defined below. If any one of the four conditions are satisfied, a Y axis determination signal is sent from block 220 to Character Found Conditions block 223. The data used to evaluate the conditions is coupled from Row Count Matrix 204, Top Blank block 217, Bottom Blank block 218, and ADD/ block 206, in accordance with the rows prescribed.
  • One of the bottom two rows (row 0 or -1) have less than 2 bits, i.e. BOT BNK.
  • Row 2 count is greater than or equal to 2.
  • Condition (2) --Short character or light at the bottom (all of the below).
  • Row 6 count is greater than or equal to 2.
  • Row 17 count is greater than or equal to 8 for all fonts except 7B. For 7B the count is greater than or equal to 4.
  • Row 18 count is greater than or equal to 8 for all fonts except 7B. For 7B the count is greater than or equal to 4.
  • Row 13 count is greater than or equal to 8, or row 12 count is greater than or equal to 8.
  • Row 7 count is greater than or equal to 8, or row 8 count is greater than or equal to 8.
  • Gate 266 determines whether Condition (1) has been satisfied.
  • Gates 267 and 268 together with font controlled selectors 272 and 273, are coupled through gate 275 to do likewise for condition (2).
  • the satisfaction of condition (3) is determined by gates 269, 270, 271, 274 and 276, which are combined with Condition (4) in selector 277 to generate a single output which corresponds to either condition.
  • the outputs from the condition circuits are combined in gate 278 to generate a Y AXIS DET signal whenever any one of the conditions is satisfied.
  • Block 208 Attention is now directed to the grouping of conditions entitled Left/Right White Boundary Conditions, shown as block 208 on Finder board 15 in FIG. 17. As the block title suggests, these conditions evaluate the position of the character and window in terms of their relative horizontal displacement. Therefore, the analysis generally involves the evaluation of bits in the left-most and right-most columns of the window. Included within block 208 are Compare LT & TOP block 209; Compare LT & RT block 210; Left Blank block 211; Right Blank block 212; Col 1, 2 Bit block 213; Hold block 214; and MOLTTEM block 215. Each will be described individually.
  • Compare LT & TOP block 209 establishes another condition which is satisfied only when the character is positioned completely inside the window.
  • FIG. 35 illustrates the condition applied to data bits representing the character "7."
  • N L the number of bits in left column N L , which would enter the window if it were to move one column to the left, is compared to the number of bits in the top row N T .
  • N L is greater than or equal to both N R and N T
  • the window is indexed to the left by appropriately inhibiting Finder Stop 221.
  • Compare LT & TOP block 209 no longer affect the signal sent to Finder Stop/ block 221.
  • Compare LT & RT 210 continues in effect in a manner to be described hereinafter.
  • Compare LT & TOP block 209 is embodied in the schematic of FIG. 36.
  • Data is coupled into shift register 282 from columns 12, 13 or 16 of Buffer Latch 202 through selectors 281 and 287.
  • Column 16 is used for E13B font, column 13 for 1428 and column 12 for all others.
  • New column bit data is entered into row 20 of shift register 282 as old data is shifted down through rows 3 and 1.
  • Selector 283 chooses row 1 or 3 depending on the font.
  • the bit values from logic block 284 actuate up/down counter 285 to maintain a running total.
  • the total column count N L from counter 285 is then compared with the count N T for row 20 from Row Data Counter 203 in comparator 286.
  • the succeeding condition established for the left and right edges of the window is Compare LT & RT block 210.
  • the effect of the condition imposed by Compare LT & RT block 210 is schematically illustrated in FIG. 37 for the character "3."
  • the Compare LT & RT condition is similar to the Compare LT & TOP condition.
  • N R is greater than N L
  • the right edge of the window is situated over the right edge of the character and the horizontal position of the character is considered to be established.
  • Compare LT & RT block 210 is embodied in the schematic of FIG. 38.
  • Black bit data is received from column 1 of Buffer Latch 202 and entered into row 20 of shift register 291 as old data is shifted down through rows 3 and 1.
  • Selector 292 chooses row 1 or 3 depending on the font.
  • the bit value from logic block 293 actuates up/down counter 294 to maintain a running total.
  • the total column count N R from counter 294 is then compared with the count N L from up/down counter 285 of Compare LT & TOP block 209 in comparator 295.
  • the next condition is evaluated in Left Blank block 211.
  • the condition imposed by block 211 is used only for the 7B font. Functionally, the block examines the four columns to the left of the window, in this case columns 12-15, to determine whether at least one is completely blank. The presence of a blank column left of the window indicates that the data within the window represents a character rather than a horizontally oriented smudge.
  • the LT BLANK signal generated by block 211 is coupled to Character Found Conditions block 223.
  • a circuit embodying the conditions in Left Blank block 211 is schematically depicted in FIG. 39.
  • Column data from column 15 of Buffer Latch 202 is shifted into register 296.
  • Gate 297 monitors the data from rows 2-17 to detect one or more black data bits.
  • the outputs from shift register 298 and gate 297 are entered into gate 299 to determine if any one of the four columns have no black bits. If the condition is satisfied, an LT BLANK signal is generated by gate 299.
  • FIG. 40 An embodiment of Right Blank block 212 is shown in FIG. 40.
  • Left Blank 211 in FIG. 39 it is apparent that the two are relatively similar, differing primarily in the column of the data entered for examination and the rows examined for blank columns. In this case columns 0, -1, -2 and -3 are being examined. In view of the similarities, further development of the circuit operation is unwarranted.
  • block 213 differs depending on the character font.
  • E13B font the data in columns 1 and 2 of the window is examined for the presence of consecutive black bits in any row of rows 3-17.
  • the consecutive black bit condition is applied to rows 3-16, and then only when the window count equals or exceeds 64.
  • the Column 1, 2 Bit condition is satisfied and the character found condition is allowed in accordance with the remaining conditions. The absence of consecutive bits inhibits the finding of a character.
  • the implementation is shown in FIG. 41.
  • FIG. 41 shows that black bit data from column 1 and 2 of Buffer Latch 202 is coupled to gate 306. If both columns contain a black bit of data, a signal is passed through gate 308 and is serially shifted into register 309. A count of 64 or more bits in window counter 205 actuates gate 307.
  • font gate 311 examines rows 3-17 for consecutive bits. For other fonts, the signal from selector 310 conditions the examination of rows 3-16 on the presence of 64 or more bits in the window.
  • Column 1, 2 Bit block 213 and Left Blank block 211 are alternately coupled to Character Found Conditions block 223, with the COL 1, 2 BIT signal connected for fonts other than 7B.
  • Hold block 214 The next condition in the group under consideration is shown in FIG. 17 as Hold block 214.
  • the fundamental purpose of the block is to further ensure that the right edge of the character is located correctly with respect to the right edge of the window.
  • Hold block 214 is designed to properly locate characters that are narrow in relative size (for instance the character "1" in OCRB), are relatively dark in print, and are contaminated by random bits to the immediate right of the character.
  • An example of the hold function is illustrated by the position of a window about the character "1" in FIG. 42.
  • Hold block 214 is disabled for 7B font. For other fonts, block 214 examines the right column count, the window count, and the direction the window count is progressing, to establish three conditions. If the three are satisfied, the window counter is indexed to the left. The conditions are as follows:
  • Condition (1) is established in gate 319, which analyzes data from up/down counter 294 of Compare LT and RT block 210. An output is generated when there is only one black bit in column 1.
  • Condition (2) is introduced by gate 317. The signal coupled to gate 317 is derived from latch 248 in Window Counter 205. The first two conditions are combined in gate 320, and further combined in gate 322 with the constraint of condition (3) to generate the HOLD signal.
  • Condition (3) essentially corresponds to the signal from the ADD/ block 206.
  • Selector 321 serves to introduce condition (3) or inhibit the HOLD signal, depending on whether font 7B is selected.
  • MOLTTEM block 215 prevents the generation of the RECOGNITION START signal when neither one of the following conditions is satisfied:
  • Condition (1)--LT is less than RT.
  • Condition (2)--LT is equal to RT and either:
  • the MOLTTEM block 215 sends a signal to Character Found Conditions block 223 to otherwise allow the generation of RECOGNITION START signal.
  • a circuit schematically illustrating an embodiment of the MOLTTEM condition appears in the upper region of FIG. 43. Note, however, that logic operations to evaluate the MOLTTEM conditions are partially performed in an area of the circuit corresponding to HOLD block 214.
  • Condition (1) is considered by the Compare LT & RT input to gate 318.
  • Condition (2) is evaluated in gate 316 and thereafter combined with condition (1) in gate 318.
  • Condition (2) is generated by gate 319 in the Hold block.
  • PM5 ⁇ 5 Y Axis Bits
  • the purpose of PM5 is to assist in the vertical positioning of the window over the character.
  • the operation of this block relies upon known printing tolerances to locate successive characters within the same field of the scan band.
  • PM5 is inactive.
  • the vertical coordinate (Y direction) of the character is referenced to PM5 block 224.
  • the next character in the same character field can then be found only if its Y coordinate is within a tolerance of ⁇ 5 of the preceding character. If the new character is suitably located and recognized, the PM 5 block latches the reference point for the Y coordinate to the position of the new character. The process is repeated successively for each character in the same character field to prevent smudges from being mistaken for valid characters.
  • PM5 block 224 is not activated. In that situation, the following character is treated as the first character in the field. PM5 224 is also deactivated between character fields by the BLK CLK signal from Enhancement board 13.
  • a circuit which embodies the functions ascribed to PM5 block 224 is shown schematically in FIG. 44.
  • the circuit counts 64 movements of the window, corresponding to the length of a column in the scan band, from the point the last character was found.
  • the PM5 signal is generated only when the window is within ⁇ 5 bits of the previous vertical position.
  • the signal is created through a novel combination of a counter and a PROM.
  • MOD 64 counter 328 sums the shift pulses until it accumulates a count of 64. On count 64 counter 328 resets and generates a count 64 signal coincident with the trailing edge of the SHIFT signal. Note that counter 328 also has an external reset line which is accessed by gate 331. The output of counter 328 serves as an address for PROM 332, in such a way that the 6 lines from counter 328 address PROM locations 1-64. The remaining addresses in PROM 332, numbered 65-128, are accessed only when a signal appears on the higher memory select line from FF330. The data in the various addresses of PROM 332 are summarized in Table III.
  • the MSB (most significant bit) limits the addresses to the range of 1-64.
  • the PM5 output from PROM 332 is 1, irrespective of the actual count.
  • the recognition of the character is evidenced by the signal CHAROK coupled into FF330.
  • FF330 is clocked by FF327, which is itself clocked when the recognition process is completed by the concurrence of the REC STOP and SHIFT signals at FF327.
  • a switch in the state of FF330 changes the MSB of the address line to PROM 332, effectively switching the data fields scanned by the addresses generated in counter 328.
  • counter 328 scans PROM addresses 65-128. From Table III it is apparent that the PROM output now varies in relation to the PROM address generated in counter 328.
  • Blocks 326, 329 and 331 reset counter 328 to coincide with the Y axis position of the first recognized character. In effect, this makes Y, from Table III, equal to 1 for that Y axis position.
  • the MOD 64 organization of the counter ensures consistency of the designated Y position from column to column.
  • a REC START or BLK CLK signal into gate 326 switches FF329 to reset counter 328 if a FIFO RESET/ signal is absent. This guarantees that the counter is reset to the Y axis position as each successive character is recognized.
  • Finder board 15 also contains a Recognition Delay circuit, shown as block 222 in FIG. 17.
  • the function of block 222 is to allow the window to move off a currently found character without refinding that same character.
  • a delay of 16 columns is suitable with E13B font, 13 for 1428 font, and 12 for all other fonts.
  • the operation is best described with reference to the embodying schematic illustrated in FIG. 45.
  • the circuit is inoperative until the REC START signal switches FF337 to reset and enable counter 336 and FF339.
  • Counter 336 is then incremented by count 64 signals from counter 328 of ⁇ 5 Y Axis Bits block 224 until logic block 338 detects a count equal to the number established for the selected font. Thereupon, logic block 338 switches FF339 which in turn resets FF337 and terminates the recognition delay signal.
  • the last conditional block on Finder board 15 is Finder Stop/, 221 (FIG. 17). Its purpose is to merge a number of conditions together and generate a FINDER STOP/ signal when the correct sequence and combination occurs.
  • Character Found Conditions block 223 disregards all conditions that it has been detecting until the window moves left to the next column. This is achieved by sending the FINDER STOP/ signal to Character Found Conditions block 223 to inhibit the generation of the RECOGNITION START signal.
  • the FINDER STOP/ signal is reset after 48 SHIFT signals.
  • FIG. 46 contains an arrangement of devices which embody the features ascribed to Finder Stop block 221.
  • the conditions which results in a leftward movement of the window are shown as inputs to gate 341.
  • the signals which must be concurrently present are: PM 5, BOT BLANK, RT BLANK (for 7B font only), BLK MIN, BOT BOUND from logic 261, COMPARE LT & TOP, COMPARE LT & RT, and RECOGNITION DELAY.
  • the output from gate 342 creates the FINDER STOP/ signal by switching FF343.
  • the FINDER STOP/ signal initiates a delay of 48 SHIFT pulses through the combination of MOD 48 counter 344 and FF345.
  • the switching of FF343 disables gate 347 and enables counter 344.
  • an output signal is provided to FF345, which resets 343 and enables gate 347.
  • FIG. 46 shows two other signals which can cause the generation of a FINDER STOP/ signal.
  • the first is the HOLD signal at one input to gate 342.
  • the FINDER STOP/ signal is generated one shift after the Hold signal goes active.
  • the second signal is DELAY SET, coupled to the SET input of FF343 from FF339 in FIG. 45.
  • the FINDER STOP/ signal generated by the DELAY SET signal allows Character Buffer 352 (FIG. 50A) on Recognition board 16, described hereinafter, to be cleared immediately after the recognition process is completed. Thereby, as the window moves left to the next column, the data inside window and the data in Character Buffer 352 are identical.
  • Finder board 15 is completed with block 223, entitled Character Found Conditions.
  • Reference to FIG. 47 indicates that block 223 constitutes a single gate, 346, for simultaneously detecting the multitude of signals representing the conditions imposed by Finder board 15.
  • the output signal from gate 346, RECOGNITION START, is conveyed to Recognition board 16 to indicate that a character has been located and that the recognition process should start. It will, no doubt, be appreciated that synchronism in the data transfer and simultaneity of processing allows Recognition board 16 to concurrently operate on exactly the same data.
  • One refinement involves a Right Edge condition, which evaluates: (1) 4 columns of data at the right edge of the window for the presence of 4 or more black data bits, (2) the presence of a Right Blank condition according to its new implementation, and (3) the absence of the Left Blank condition.
  • the proposed Right Edge condition would be coupled to Character Found Conditions block 223 through an OR gate with the FINDER STOP/ signal.
  • Closeness of Characters condition Another refinement under consideration is generally known as a Closeness of Characters condition. It would ensure that the window does not attempt to recognize defective characters, such as might be created the closely spaced or touching characters.
  • the circuit by which the Closeness of Characters condition is evaluated generally determines when the data satisfies either one of two requirements: (1) a new implementation of the Right Blank condition, or (2) a total absence of bits in column 14. It should be noted that the two Closeness of Character conditions would be evaluated only after both the BLK MIN and Y AXIS DET conditions were satisfied. Until one requirement was satisfied, the finding of a character would be inhibited.
  • the new Right Blank condition would require that there be less than 4 bits in any one of the columns numbered 0, -1 and -2.
  • MOLTTEM block 215 be deleted.
  • the HOLD block would then be reconstructed as part of the Finder Stop/ block, which would also allow the FINDER STOP/ signal to be generated one SHIFT signal later.
  • the last refinement being favorably considered involves a circuit to satisfy a Continuous Right Edge condition.
  • the condition would eliminate the possibility of having an erroneously positioned character when the immediately preceding character is exceptionally wide.
  • columns 1-4 of the window would be examined to ensure that each has 1 or more black bits before a character could be found.
  • the number of columns to be examined for this condition would vary with the font selected.
  • Recognition board 16 receives data in parallel format from Buffer Latch 202 of Finder board 15 (FIG. 17).
  • the DATA signals corresponding to individually found characters, are stored in a 32 ⁇ 15 buffer.
  • the Recognition board uses a template matching technique which recirculates the buffered data from bottom to top while comparing sets of data, one set representing the character perceived on the document and the other set representing stored templates of character patterns by font.
  • the logic which compares the character data and template data evaluates each data bit, at each of 4 shifted positions for each template, to determine the best match. Thereafter, the logic verifies that the mismatch of the best match is below a threshold, and further, that there is sufficient separation between the templates having the best match and the next best match.
  • a binary code representing the recognized character is sent to the OCR Reader System Interface board, 17 (FIG. 1).
  • template data matrices are always smaller by 1 row and 1 column than the character data matrices.
  • the preferred shifting and comparison operation is described by way of the illustration in FIG. 48.
  • the white squares represent the template data bits (5 ⁇ 5 matrix) while all the blocks together, white and shaded, represent the elements in the character data matrix (6 ⁇ 6 matrix).
  • the shaded areas constitute "don't care" bits for the particular shift position.
  • the shift sequence is also illustrated in the figure, showing the succession of 4 template data positions for a single matrix of character data.
  • FIG. 49 illustrates the number "4" in E13B font, schematically depicted with appropriately positioned binary and "don't care” (DC) data bits.
  • the template data bits and character data bits are compared using truth table V.
  • the number of mismatched data bits is totalled for each shift position, generating 4 number totals for each template.
  • Recognition board 16 The overall comparison operation performed by Recognition board 16 includes three steps beyond the shifting and comparison operation described immediately above. The composite of all steps may be summarized as follows:
  • the template data matrix is compared and shifted four times over the character data matrix to generate four numbers, each representing the total mismatches for that shift position.
  • the minimum of each set of four numbers per template is determined and stored with its template reference.
  • the minimum and next minimum values are compared to prescribed threshold numbers to further increase the confidence level. Namely, the minimum number of mismatches must be less than a value X 1 and the difference between the minimum number and the next minimum number must exceed a value X 2 Numbers X 1 and X 2 are individually selectable to suit the particular needs of the system or font, preferably lying in the range of 44 and 5 for X 1 and X 2 , respectively.
  • FIGS. 50A and 50B of the drawings develop Recognition board 16 in terms of its functional blocks.
  • the blocks include the figure number of the drawing sheet which illustrates the block by way of electrical circuit devices. In some cases more than one figure is utilized per block, while other figures incorporate the functions of more than one block. In the former situation, the multiple figure numbers are noted on the functional blocks. In the latter case, the figures themselves are segmented by dashed lines and segment labels corresponding to the functional blocks in FIGS. 50A and 50B.
  • the division of the functional blocks in a figure, or between figures, is indicated by the use of the term "part.” Figures which are closely related in function are distinguished by a letter following the figure number. Consistency of reference numerals and signal labels is retained throughout.
  • FIGS. 50A and 50B it is shown that columns 1-15 of DATA signals from Finder board 15 enter Character Buffer 352.
  • the font selection information enters block 351 and is then utilized to prescribe the templates from block 354.
  • the template data is compared to the 15 columns of character data in buffer 352 by comparator 356 for each of the four shifted positions.
  • the mismatch data for the four comparisons is stored in block 358 and selected by block 360.
  • Comparison data from comparator 356 is also coupled to block 359, for subsequent comparison in block 365 to another pair of threshold conditions. If these conditions are satisfied, block 366 generates a signal irrespective of the output from block 364.
  • the template count selected by block 360 constitutes the input to latch 361, latch 362 and comparator 363.
  • the signal lines from comparator 363 to each of the latches appropriately activates the respective latch when the comparison establishes the minimum number of mismatches and the next minimum number of mismatches, respectively referred to as the minimum mismatch count (MIN 1) and next minimum mismatch count (MIN 2).
  • MIN 1 and MIN 2 are further compared in block 364 to insure that they satisfy the threshold requirements, before being coupled via block 366 to the control group comprised of block 367, 368 and 369.
  • Additional block 371 controls the transmission of coded data representing the recognized character from data output block 372 to OCR Interface board 17 (FIG. 1).
  • FIG. 51 embodies the functions ascribed to Font Selection block 351 and Character Templates block 354 in FIG. 50A.
  • the fonts selected by the operator are applied in groups to a multitude of AND gates.
  • the letter "S" added at the end of a font represents a signal generated during a latch of the RPS mode.
  • Gates 376, 377, 378 and 379 establish a 2 bit address code which is completed by counter 386 in addressing 4 individual template blocks of 512 data bits in electrically alterable programmable read only memory (EAPROM) 385.
  • Gates 380, 381 and 382 similarly generate the 2 bits for addressing 4 template blocks in EAPROM 387.
  • Gates 383 and 384 enable their respective EAPROMs alternately.
  • EAPROMs 385 and 387 are tri-state devices.
  • Counter 386 is clocked by the TEMSHF signal and reset by RECENBL.
  • Latch 388 couples the appropriate template data to the next functional block, Data to Template Comparator 356 (FIG. 50A).
  • the TEMCLK signal clocks latch 388 while RECENBL resets it.
  • FIG. 52 depicting the devices forming Character Buffer 352 and Data to Template Comparator 356 (FIG. 50A).
  • the 15 columns of data representing a character are stored in buffer 352, then sequentially transferred through latches 391 and 392. Because both latches are clocked by TEMCLK, the data from latch 392 is shifted one row from the data in latch 391.
  • Selector 393 sequentially samples rows of data lines as the data is shifted through latches 391 and 392, thereby introducing the shift described with relation to FIG. 48, on a row basis.
  • the character data rows, bit 1-15, and template data rows, M1A-M14A and M1B-M14B, are then compared in gates 394, 395 and 396.
  • the bits of data on the 14 output lines from gate 394 represent mismatches occurring in the area outside the character template, while the bits from gate 396 represent the mismatches occurring inside the template.
  • FIGS. 54A and 54B include a number of operations performed by various functional blocks in FIGS. 50A and 50B. These circuits perform the MIN Count Select of block 360, the MIN Count Latch of block 361, the Next MIN Count Latch of block 362, the Template Count Comparator of block 363, and the MIN/Next MIN Threshold of block 364.
  • gates 421 and 422 receive 8 lines representing the binary count of the mismatch data from buffers 412-415 (FIG. 53) and reduce it to a maximum count of 63 on 6 lines. Namely, if the count is less than 63 it remains unchanged. On the other hand, if it exceeds 63 it is fixed as 63.
  • Latch 423 stores the first count and successive lesser counts based on comparisons of the count data performed in comparator 425. Gate 427 ensures the clocked input of the first count. Latch 424 then stores the minimum count of the 4 shift positions for each template.
  • the minimum mismatch count (MIN 1) for all templates is sequentially entered and stored in Minimum Count Latch 361.
  • the next minimum mismatch count (MIN 2) for all templates is sequentially entered and stored in latch 362. Note the continuity of the lines joining FIGS. 54A and 54B.
  • the selection of MIN 2 is performed by selector 430, operating in conjunction with comparator 431 and logic 429.
  • the logic gate senses the transfer sequence of data to delay entry of data into latch 362 until a template has been entered into latch 361.
  • MIN 1 and MIN 2 are compared in block 436 to generate the DLTNMIN signal.
  • Comparator 428 compares the MIN 1 with the value prescribed in threshold switch 426 to ensure that the MIN 1 is less than the selected mismatch threshold of 44. Comparator 434 performs an analogous function in the evaluation of the next threshold, the difference between MIN 1 and MIN 2. Switch 432 establishes the greater than 5 threshold, while subtractor 433 takes the count difference between MIN 1 and MIN 2. When both conditions are satisfied, a CVLID1 signal is generated by gate 435.
  • Block 359 and 365 evaluate the number of data mismatches for the areas outside the black pattern in the template of each character.
  • the outside areas generally constitute the white areas of the template.
  • the mismatch count for the outside area is retained for the characters corresponding to MIN 1 and MIN 2.
  • the mismatch counts for the two characters are summed for all 4 shift positions, and the sums are designated as MIN 3 and MIN 4, for the MIN 1 and MIN 2 characters respectively.
  • the absence of a CVLID1 signal from block 364 (FIG. 50B) is overridden by the signal from block 365 (FIG. 50B) when all four of the following conditions are satisfied:
  • Condition (1)--MIN 1 is less than 44.
  • Condition (2)--MIN 2 minus MIN 1 is less than 5.
  • Condition (3)--MIN 3 is less than 24.
  • Condition (4)--MIN 4 is greater than 24.
  • decoder 441 receives 14 lines of data from Data to Template Comparator 356 (FIG. 52), sums it by row in adder 445 and then further sums that data using adder 448 and FF449.
  • Adder 448 and FF449 sum the old count with the new data using a feedback loop.
  • the sum of the outside area bits is compared in block 454 with the number 24 generated by switch 450.
  • External Total MIN & Next MIN block 365 (FIG. 50B) is developed in the lower segment of FIG. 55.
  • Gate 453 verifies that the MINTHR and DIFTHR/ conditions have been satisfied. Namely, that MIN1 is less than 44 and MIN2-MIN1 is less than 5.
  • the output from gate 453 is combined in gate 456 with signals representing the satisfaction of the count totals for MIN 3 and MIN 4.
  • Latch 443 holds the MIN 3 count using MINCLK as the clock, while latch 455 holds the MIN 4 count using the clock signal NMINCLK.
  • DMIN in combination with gates 446, 451 and 452 ensure that latch 455 receives the correct MIN 4 value.
  • the DMIN signal appears when the current MIN 1 value is to be updated, corresponding to when a new count is to be entered into Minimum Count Latch 361 (FIG. 50B).
  • Gate 366 in FIGS. 50B and 55 allows the override of CVLID1 when the special outside conditions have been satisfied.
  • the signal generated by gate 366, CVALID indicates that a character has been matched to a template and thereby recognized.
  • FIGS. 56A and 56B The functions performed by the devices shown in FIGS. 56A and 56B are comparatively diverse, as further indicated by considering FIG. 50B.
  • Block 367 (FIG. 50B), entitled Character Codes/.
  • Counter 462 is incremented each time shift signal MINSH1 and signal MTMPST appear together at gate 461.
  • the count, representing template addresses, is latched into block 463.
  • the RECEBL signal actuates latch 463 and resets counter 462.
  • Font ID block 368 in FIG. 50B is divided into parts 1 and 2 in FIG. 56A.
  • Part 1 is comprised of PROM 468, which generates a font ID code when appropriately enabled by FF466.
  • OCR Interface board 17 receives a code representing the selected font as the first of the character data transmitted.
  • Part 2 of block 368 generally shown as font ID disable FF472 (FIG. 56B), removes the font code when required by OCR Interface board 17.
  • the RST signal resets FF472.
  • Blank Generator block 369 in FIG. 50B also appears in the circuit schematic of FIG. 56A.
  • FF466 is switched when clock signal RECCLK and the document sensing signal ENBLX coincide.
  • FF467 is used in conjunction with FF481 (FIG. 56B) to generate the clock signal CHAVAIL/, which serves as a data transfer synchronization signal for OCR Interface Board 17.
  • FF470 and FF471 are used to signal the end of the recognition process.
  • Gate 480 activates latch 473 and the data transfer signal CHAVAIL/ generated by FF481.
  • Number or Full Recognition block 371 in FIG. 50B and 56A receives a NUMBER signal from Control box 14 (FIG. 1) when characters other than numbers are to be ignored.
  • RECNUM and RECALL are signals generated in Character Templates block 354 (FIG. 50A) as indicators of template addresses. The RECNUM signal forces the recognition of only numeric characters (0 to 9), while the RECALL signal initiates recognition of both numeric and special symbol characters.
  • Data Output block 372 in FIG. 50B is also shown in two parts.
  • Part 1 consists of PROM 469 in FIG. 56A.
  • the 4 output lines from PROM 468 represent font ID codes.
  • the outputs of PROM 469 include 6 lines of character codes and a CHAROK signal to indicate the recognition of a valid character.
  • PROMs 468 and 469 are tri-state devices, and are operated in the alternative, latch 473 receives data from only one PROM.
  • the six lines of data leaving latch 473 of Data Output block 372 (FIG. 50B) are coupled to OCR Interface board 17 for transmitting codes representing the characters recognized.
  • Recognition Timing block 357 in FIG. 50A is developed in the circuit schematics of FIGS. 57A, 57B and 57C. Note the presence of a separate 4 MHz crystal, 355, for establishing the separate clock frequencies used on Recognition board 16.
  • a separate 4 MHz crystal, 355 for establishing the separate clock frequencies used on Recognition board 16.
  • FIGS. 58A and 58B One should also make reference to the timing diagrams in FIGS. 58A and 58B to aid in the understanding of the various timing operations and their sequence.
  • Recognition Timing block 357 (FIG. 50A) with the segments designated parts 1 and 2, respectively corresponding to FIGS. 57A and 57B.
  • Crystal 355 and clock signal generator 495 create the basic 4 MHz clock signal used throughout the Recognition board.
  • the signal is designated RECCLK.
  • RECCLK is coupled into counter 488 to generate a sequence of addresses for PROM 489.
  • the outputs from PROM 489 are clocked into latch 501 for external coupling.
  • the timing sequence is reset with template counter set signal RSTTEM/, while the timing variations needed for font 7B, E13B and 1428 are introduced as address changes to PROM 489 by gate 490.
  • Synchronization of the recognition timing with that of the other boards in the OCR Reader System is introduced into gate 487 and counter 488 through FF491, FF492, shift register delay 493, gate 498, gate 499, and gate 500.
  • the synchronization signals utilized include RECST, FIFORST/, SHIFT and FS1. The respective contributions will undoubtedly be recognized upon considering the sources of these signals and the recognition timing signals shown in FIGS. 58A and 58B.
  • Part 2 of Recognition Timing block 357 develops the devices used to generate the clock signals, CLK1-CLK4, for the shift sequence. Recall the 4 shifts of the template data matrix when it was compared to the character data matrix.
  • shift register 510 in FIG. 57B is clocked by RECCLK when appropriately signalled by gate 502.
  • the enable sequence ENBLS2/-ENBLS4/ is similarly generated using RECCLK and a timing signal from latch 501.
  • the contribution of the remaining gates, 503, 505, 511 and 509, is readily perceived from their organization and input signals.
  • Gate 516 generates the CPCCLK signal used to clock in the minimum count of 4 shifts by the circuit in FIG. 54A.
  • the CPCCLK signal is used as an enable signal for shift register 528.
  • RECCLK shifts register 528 to generate 3 additional clock signals.
  • the first of the 3 signals is DATLTCH, which is used to latch the DLTNMIN and DGTMIN signals from comparators 436 and 431 into latches 529 and 530, respectively, once for each character template.
  • the MINCLK and NMINCLK signals are generated by gates 546 and 547 when the CPE and CPD signals coincide with DGTMIN and DLTNMIN from latch 530. Recall that the MINCLK signal latches the overall minimum count, NMINCLK latches the next overall minimum count, and DNMIN is used to determine whether the next overall minimum count latched in block 362 should come from block 424 or block 361.
  • the combination of gates 517, 518 and 519 are used to generate SHSEL1, the multiplex timing used in FIG. 52.
  • Gates 520, 521, 522 and 526 are joined in the manner depicted to generate the MINSFT signal.
  • the MINSFT signal constitutes the clock by which each of the 4 minimum counts for each of the templates is entered as shown in FIG. 54A.
  • the remaining elements in part 3 of the Recognition Timing block consist of gate 523, gate 524 and shift register 527.
  • the output signal from shift register 527 is applied as a clock signal to register 449 in FIG. 55.
  • FIGS. 58A and 58B schematically depict a set of waveforms embodying the timing used in present Recognition board.
  • the 4 MHz master clock signal, RECCLK is shown at the top of FIG. 58A, but has been deleted from the continuation appearing in FIG. 58B.
  • the waveforms in FIG. 58A represent the timing for approximately one-half the recognition cycle for a single template. During this period, the templates are sequentially incremented and the differences between template data and character data are determined and evaluated.
  • FIG. 58B represents the waveform for the second half of recognition timing for the above-noted template, during which the values for MIN 1, MIN 2, and MIN1-MIN2 are determined.
  • the adjustments for fonts 7B, E13B and 1428, noted previously, are illustrated by dashed lines in the plots.
  • the final functional block on Recognition board 16 is RPS Circuit 353.
  • the circuit is developed in FIG. 59. Briefly, recall that the RPS mode of the OCR Reader System initiates a search of the first 2.5 centimeters of the document for one of 3 special RPS symbols. When any one is recognized, the font corresponding to that symbol is latched into the system. Refer to Table II. When the system fails to either find or recognize such a character within the designated area, the system defaults to the font selected for field 2 in Control box 14 (FIG. 1).
  • the signal RECSP coupled to gate 351 in FIG. 59 indicates the end of the recognition process and latches data representing the character font recognized into block 535.
  • a clocked default signal, DFLT is generated by FF542 if gate 540 detects no font data at gate 538 and the RPSBND signal indicates the lapse of the 2.5 cm. Thereafter, the DFLT/ signal disables latch 535 through gate 532.
  • Gate 536 resets latch 535 at the beginning of each document. Latch 537 holds the RPS signal until an RPS symbol is recognized or a default occurs. In either case, gate 541 switches FF543 actuating gate 534 to reset latch 537.
  • the character data from Recognition board 16 is coupled to OCR Interface board 17. This is accomplished in the manner generally depicted in FIG. 60. Namely, the six lines of data representing the character found and recognized are coupled from latch 473 in FIG. 56B to FIFO memory buffer 551 of the OCR Interface block. As shown in FIG. 60, the character data leaving buffer 551 is transmitted serially.
  • Controller 552 on the OCR Interface board receives recognition synchronization clock signals and various other commands to control the entry and release of buffered data.
  • Typical functions performed by controller 552 include the decoding of input commands, the resetting of operations from document to document, the sequencing of the data coupled into and out of buffer 551, the monitoring of the buffer for overflow conditions, and the synchronization of the various operations to interface the OCR Reader System with the next stage of equipment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Character Input (AREA)
  • Character Discrimination (AREA)
US06/333,963 1981-12-23 1981-12-23 Multiple font OCR reader Expired - Lifetime US4468809A (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US06/333,963 US4468809A (en) 1981-12-23 1981-12-23 Multiple font OCR reader
DE198383900322T DE96716T1 (de) 1981-12-23 1982-12-15 Optisches zeichenerkennungssystem.
EP83900322A EP0096716B1 (de) 1981-12-23 1982-12-15 Optisches zeichenerkennungssystem
PCT/US1982/001758 WO1983002347A1 (en) 1981-12-23 1982-12-15 Optical character recognition system
DE8383900322T DE3276974D1 (en) 1981-12-23 1982-12-15 Optical character recognition system
JP83500415A JPS58502171A (ja) 1981-12-23 1982-12-15 光学文字読取装置
CA000418351A CA1179067A (en) 1981-12-23 1982-12-22 Multiple font ocr reader

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/333,963 US4468809A (en) 1981-12-23 1981-12-23 Multiple font OCR reader

Publications (1)

Publication Number Publication Date
US4468809A true US4468809A (en) 1984-08-28

Family

ID=23304973

Family Applications (1)

Application Number Title Priority Date Filing Date
US06/333,963 Expired - Lifetime US4468809A (en) 1981-12-23 1981-12-23 Multiple font OCR reader

Country Status (6)

Country Link
US (1) US4468809A (de)
EP (1) EP0096716B1 (de)
JP (1) JPS58502171A (de)
CA (1) CA1179067A (de)
DE (2) DE96716T1 (de)
WO (1) WO1983002347A1 (de)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4598363A (en) * 1983-07-07 1986-07-01 At&T Bell Laboratories Adaptive delayed polling of sensors
US4601056A (en) * 1984-08-13 1986-07-15 Recognition Equipment Incorporated Video correlator for video format unit
US4799271A (en) * 1986-03-24 1989-01-17 Oki Electric Industry Co., Ltd. Optical character reader apparatus
US4805223A (en) * 1985-04-22 1989-02-14 The Quantum Fund Limited Skin-pattern recognition method and device
US4806741A (en) * 1986-07-16 1989-02-21 Telesis Controls Corporation Electronic code enhancement for code readers
US4817179A (en) * 1986-12-29 1989-03-28 Scan-Optics, Inc. Digital image enhancement methods and apparatus
US4924522A (en) * 1987-08-26 1990-05-08 Ncr Corporation Method and apparatus for displaying a high resolution image on a low resolution CRT
US5119441A (en) * 1989-03-28 1992-06-02 Ricoh Company, Ltd. Optical character recognition apparatus and method using masks operation
US5253307A (en) * 1991-07-30 1993-10-12 Xerox Corporation Image analysis to obtain typeface information
US5272765A (en) * 1987-10-21 1993-12-21 Sharp Kabushiki Kaisha System for processing character images
US5299269A (en) * 1991-12-20 1994-03-29 Eastman Kodak Company Character segmentation using an associative memory for optical character recognition
US5319745A (en) * 1991-09-16 1994-06-07 Societe Nationale Industrielle Et Aerospatiale Method and apparatus for processing alphanumeric and graphic information to create a data base
US5367578A (en) * 1991-09-18 1994-11-22 Ncr Corporation System and method for optical recognition of bar-coded characters using template matching
US5521987A (en) * 1993-06-04 1996-05-28 Omron Corporation Image processing method and apparatus employing gray scale images having fewer bits per pixel and gray scale image restoration using small areas of an image window
BE1015671A5 (nl) * 2003-09-04 2005-07-05 Xemex Nv Werkwijze en inrichting voor het opnemen van de stand van een meter.
KR100717734B1 (ko) * 2005-03-02 2007-05-11 김택진 광학 마크 또는 문자 판독기의 입력 오류 방지 장치
US20080047019A1 (en) * 2006-08-16 2008-02-21 International Business Machines Corporation Method and apparatus for computer network security
US20080172741A1 (en) * 2007-01-16 2008-07-17 International Business Machines Corporation Method and Apparatus for Detecting Computer Fraud
EP2003600A2 (de) 2007-06-14 2008-12-17 Seiko Epson Corporation Verfahren und Vorrichtung zur Erkennung von Zeichen in einem Dokumentenbild
US7747495B2 (en) 2005-10-24 2010-06-29 Capsilon Corporation Business method using the automated processing of paper and unstructured electronic documents
US20120014601A1 (en) * 2009-06-24 2012-01-19 Jtekt Corporation Handwriting recognition method and device
US9277090B2 (en) 2007-10-01 2016-03-01 Hewlett-Packard Development Company, L.P. System and method of document reproduction
US20190122079A1 (en) * 2017-10-25 2019-04-25 Hand Held Products, Inc. Optical character recognition systems and methods

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3104372A (en) * 1961-02-02 1963-09-17 Rabinow Engineering Co Inc Multilevel quantizing for character readers
US3234513A (en) * 1957-05-17 1966-02-08 Int Standard Electric Corp Character recognition apparatus
US3644890A (en) * 1969-12-29 1972-02-22 Philco Ford Corp Optical character recognition system using parallel different scan signal processors to feed higher speed asynchronous recognition register
US3676847A (en) * 1968-11-08 1972-07-11 Scan Data Corp Character recognition system with simultaneous quantization at a plurality of levels
US3688266A (en) * 1969-03-31 1972-08-29 Tokyo Shibaura Electric Co Preprocessing system for pattern recognition
US3717848A (en) * 1970-06-02 1973-02-20 Recognition Equipment Inc Stored reference code character reader method and system
US3737855A (en) * 1971-09-30 1973-06-05 Ibm Character video enhancement system
CA941505A (en) * 1972-02-11 1974-02-05 Philco-Ford Corporation Character recognition system with asynchronous registers
CA943251A (en) * 1969-10-20 1974-03-05 Recognition Equipment Incorporated Character reader with handprint capability
US3973239A (en) * 1973-10-17 1976-08-03 Hitachi, Ltd. Pattern preliminary processing system
US3992697A (en) * 1974-12-27 1976-11-16 Scan-Data Corporation Character recognition system utilizing feature extraction
US4185271A (en) * 1977-10-03 1980-01-22 Tokyo Shibaura Denki Kabushiki Kaisha Character reading system
US4298859A (en) * 1980-05-21 1981-11-03 Westinghouse Electric Corp. Digital video line delay circuit

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5313822A (en) * 1976-07-23 1978-02-07 Sharp Corp Video information reader
JPS5841542B2 (ja) * 1977-02-14 1983-09-13 株式会社東芝 光学式文字読取装置
US4274079A (en) * 1979-07-12 1981-06-16 Burroughs Corporation Apparatus and method for dynamic font switching
JPS5921139B2 (ja) * 1979-07-31 1984-05-17 松下電工株式会社 回路しや断器のア−ク走行板構造
JPS5699575A (en) * 1980-01-08 1981-08-10 Mitsubishi Electric Corp Character reader

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3234513A (en) * 1957-05-17 1966-02-08 Int Standard Electric Corp Character recognition apparatus
US3104372A (en) * 1961-02-02 1963-09-17 Rabinow Engineering Co Inc Multilevel quantizing for character readers
US3676847A (en) * 1968-11-08 1972-07-11 Scan Data Corp Character recognition system with simultaneous quantization at a plurality of levels
US3688266A (en) * 1969-03-31 1972-08-29 Tokyo Shibaura Electric Co Preprocessing system for pattern recognition
CA943251A (en) * 1969-10-20 1974-03-05 Recognition Equipment Incorporated Character reader with handprint capability
US3644890A (en) * 1969-12-29 1972-02-22 Philco Ford Corp Optical character recognition system using parallel different scan signal processors to feed higher speed asynchronous recognition register
US3717848A (en) * 1970-06-02 1973-02-20 Recognition Equipment Inc Stored reference code character reader method and system
US3737855A (en) * 1971-09-30 1973-06-05 Ibm Character video enhancement system
CA941505A (en) * 1972-02-11 1974-02-05 Philco-Ford Corporation Character recognition system with asynchronous registers
US3973239A (en) * 1973-10-17 1976-08-03 Hitachi, Ltd. Pattern preliminary processing system
US3992697A (en) * 1974-12-27 1976-11-16 Scan-Data Corporation Character recognition system utilizing feature extraction
US4185271A (en) * 1977-10-03 1980-01-22 Tokyo Shibaura Denki Kabushiki Kaisha Character reading system
US4298859A (en) * 1980-05-21 1981-11-03 Westinghouse Electric Corp. Digital video line delay circuit

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Hall et al., "Analog Thresholding Scheme for Medium Resolution Scanners", IBM Tech. Discl. Bul., vol. 14, No. 6, Nov. 1971.
Hall et al., Analog Thresholding Scheme for Medium Resolution Scanners , IBM Tech. Discl. Bul., vol. 14, No. 6, Nov. 1971. *
Intern. Pub. No. WO81/00319, Intern. Application No. PCT/US80/00750, Inventors Todd et al., Published Feb. 5, 1981.
Intern. Pub. No; & WO-A-81/00319, Intern. Application No. PCT/US80/00750, Invent ors Todd et al., Published Feb. 5, 1981. *
Yamada et al., "Recognition of Index Numerals in a Traffic Register Meter", Review of the Electrical Communication's Laboratories, vol. 23, Nos. 11-12, Tokyo, Japan, pp. 1215-1223, Nov.-Dec. 1975.
Yamada et al., Recognition of Index Numerals in a Traffic Register Meter , Review of the Electrical Communication s Laboratories, vol. 23, Nos. 11 12, Tokyo, Japan, pp. 1215 1223, Nov. Dec. 1975. *

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4598363A (en) * 1983-07-07 1986-07-01 At&T Bell Laboratories Adaptive delayed polling of sensors
US4601056A (en) * 1984-08-13 1986-07-15 Recognition Equipment Incorporated Video correlator for video format unit
US4805223A (en) * 1985-04-22 1989-02-14 The Quantum Fund Limited Skin-pattern recognition method and device
US4799271A (en) * 1986-03-24 1989-01-17 Oki Electric Industry Co., Ltd. Optical character reader apparatus
US4806741A (en) * 1986-07-16 1989-02-21 Telesis Controls Corporation Electronic code enhancement for code readers
US4817179A (en) * 1986-12-29 1989-03-28 Scan-Optics, Inc. Digital image enhancement methods and apparatus
US4924522A (en) * 1987-08-26 1990-05-08 Ncr Corporation Method and apparatus for displaying a high resolution image on a low resolution CRT
US5272765A (en) * 1987-10-21 1993-12-21 Sharp Kabushiki Kaisha System for processing character images
US5119441A (en) * 1989-03-28 1992-06-02 Ricoh Company, Ltd. Optical character recognition apparatus and method using masks operation
US5253307A (en) * 1991-07-30 1993-10-12 Xerox Corporation Image analysis to obtain typeface information
US5319745A (en) * 1991-09-16 1994-06-07 Societe Nationale Industrielle Et Aerospatiale Method and apparatus for processing alphanumeric and graphic information to create a data base
US5367578A (en) * 1991-09-18 1994-11-22 Ncr Corporation System and method for optical recognition of bar-coded characters using template matching
US5299269A (en) * 1991-12-20 1994-03-29 Eastman Kodak Company Character segmentation using an associative memory for optical character recognition
US5521987A (en) * 1993-06-04 1996-05-28 Omron Corporation Image processing method and apparatus employing gray scale images having fewer bits per pixel and gray scale image restoration using small areas of an image window
BE1015671A5 (nl) * 2003-09-04 2005-07-05 Xemex Nv Werkwijze en inrichting voor het opnemen van de stand van een meter.
KR100717734B1 (ko) * 2005-03-02 2007-05-11 김택진 광학 마크 또는 문자 판독기의 입력 오류 방지 장치
US7747495B2 (en) 2005-10-24 2010-06-29 Capsilon Corporation Business method using the automated processing of paper and unstructured electronic documents
US20080222704A1 (en) * 2006-08-16 2008-09-11 International Business Machines Corporation Method and Apparatus for Computer Network Security
US20080047019A1 (en) * 2006-08-16 2008-02-21 International Business Machines Corporation Method and apparatus for computer network security
US9143520B2 (en) 2006-08-16 2015-09-22 International Business Machines Corporation Method and apparatus for computer network security
US20080172741A1 (en) * 2007-01-16 2008-07-17 International Business Machines Corporation Method and Apparatus for Detecting Computer Fraud
US9083735B2 (en) 2007-01-16 2015-07-14 International Business Machines Corporation Method and apparatus for detecting computer fraud
US9521161B2 (en) 2007-01-16 2016-12-13 International Business Machines Corporation Method and apparatus for detecting computer fraud
EP2003600A2 (de) 2007-06-14 2008-12-17 Seiko Epson Corporation Verfahren und Vorrichtung zur Erkennung von Zeichen in einem Dokumentenbild
US20080310721A1 (en) * 2007-06-14 2008-12-18 John Jinhwan Yang Method And Apparatus For Recognizing Characters In A Document Image
US9277090B2 (en) 2007-10-01 2016-03-01 Hewlett-Packard Development Company, L.P. System and method of document reproduction
US20120014601A1 (en) * 2009-06-24 2012-01-19 Jtekt Corporation Handwriting recognition method and device
US20190122079A1 (en) * 2017-10-25 2019-04-25 Hand Held Products, Inc. Optical character recognition systems and methods
US10679101B2 (en) * 2017-10-25 2020-06-09 Hand Held Products, Inc. Optical character recognition systems and methods
US11593591B2 (en) 2017-10-25 2023-02-28 Hand Held Products, Inc. Optical character recognition systems and methods

Also Published As

Publication number Publication date
DE3276974D1 (en) 1987-09-17
CA1179067A (en) 1984-12-04
DE96716T1 (de) 1984-06-07
WO1983002347A1 (en) 1983-07-07
JPS58502171A (ja) 1983-12-15
EP0096716B1 (de) 1987-08-12
EP0096716A1 (de) 1983-12-28

Similar Documents

Publication Publication Date Title
US4468809A (en) Multiple font OCR reader
EP0322920B1 (de) Optische Zeichenlesevorrichtung
US5477042A (en) 2-D bar code scanner/decoder having a redundancy canceller
US6760131B2 (en) Image scanner
US4204193A (en) Adaptive alignment for pattern recognition system
US7221485B2 (en) Method for detecting and controlling home position of image reader
US6750990B1 (en) Image scanning apparatus, image forming apparatus, image forming system, image scanning control method, and storage medium
JPS58103266A (ja) 文字画像処理装置
JPS60262284A (ja) イメ−ジ処理方法
US5033101A (en) Method for character-and/or-object recognition
JPH0147828B2 (de)
US3519990A (en) Recognition system for reading machine
US20050094861A1 (en) Positional synchronization in a multivoting character recognition environment
JPH06103358A (ja) イメージ入力装置
JPS57143686A (en) Recognizing device for plural patterns
JPS6160475B2 (de)
JP3422901B2 (ja) イメージスキャナ
JPS62171084A (ja) 光学式文字読取装置
JPH0728953A (ja) 文字検出装置
JPH11161739A (ja) 文字認識装置
JPH0762859B2 (ja) 文字パターン認識修正装置
JP2000268131A (ja) 文字認識装置
JPH04125789A (ja) 文字読取装置における文字認識方法
JPH064705A (ja) 画像処理装置
JPS5856076A (ja) 光学的文字読取装置

Legal Events

Date Code Title Description
AS Assignment

Owner name: NCR CANADA LTD- NCR CANADA LTEE, MISSISSAUGA, ONTA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:GRABOWSKI, JOHN S.;TONG, AARON C. Y.;REEL/FRAME:003970/0792

Effective date: 19811221

AS Assignment

Owner name: NCR CORPORATION, 1700 S. PATTERSON BLVD. DAYTON, O

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNOR:NCR CANADA LTD- NCR CANADA LTEE, A CORP. OF CANADA;REEL/FRAME:004044/0881

Effective date: 19820924

Owner name: NCR CORPORATION, A CORP. OF MD, OHIO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NCR CANADA LTD- NCR CANADA LTEE, A CORP. OF CANADA;REEL/FRAME:004044/0881

Effective date: 19820924

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12