METHOD AND SYSTEM FOR TIMING DURING CHARACTER RECOGNITION

Abstract: A character recognition method and system. A multi-channel read head (20) develops a plurality of analog waveforms representing the configuration of the unknown character. The analog waveforms are digitized and rectified to provide a plurality of first digital values which are applied to a thresholding unit (46). The thresholding unit (46) applies a first threshold value to said first digital values so as to produce second digital values from which an initial indication of the start of the unknown character is determined. From said second digital values a second threshold value is generated and this is applied to said second digital values to generate third digital values from which both the start and end of the unknown character are detected. The invention has application to systems for reading magnetically encoded characters and has the advantage that it minimizes the effect of ink splatter.

Description: METHOB AND --SYSTEM -FOR READING CHARACTERS Technical Field The present invention relates to the field of ** " • machine recognition of characters recorded on a document. 5 The invention has application, for example, to a docu- * ment reader system in which a magnetic read head is used in reading magnetized characters embodied in the form of E-13B character font printed on a document. Background Art 10 In single-gap magnetic character reading systems, a single analog input waveform is obtained by passing the characters to be sensed, normally printed on a document, beneath a magnetic read head at least as wide as the height of the characters and having a single 15 flux gap. The signal generated by the read head is a derivative waveform representing the rate of change of magnetic flux transversing the head as the characters are scanned. Since the distribution of ink, and thus flux, associated with each different character is 20 unique, the waveform derived for each different char¬ acter uniquely identifies that character. Problems found in using a single-gap read head lie in determining from the information generated the start of the character, particularly when ink particles 25 are encountered adjacent the character due to poor printing conditions. Also, the pigments of the magnetic _ ink used in the printing operation may not have been uniformly dispersed throughout the character, and this may produce recorded characters not capable of being 30 recognized in the recognition process. Disclosure of the Invention It is an object of this invention to provide a highly efficient character recognition method and system which generates an increased amount of information compared with prior art single-gap read head methods and systems . It is a further object of the invention to provide a character recognition method and system which minimizes the effect of ink splatter in deter- mining the start of the characters to be read. According to one aspect of the invention there is provided a method- for establishing the location of an unknown character in a character recognition system characterized by the steps of: generating a plurality of substantially parallel analog waveforms representing the configuration of the unknown character; generating a plurality of first digital values representing the analog waveforms; applying a first threshold value to said first digital values for generating a plurality of second digital values representing the unknown char¬ acter and the background of the character; giving an initial indication of the start of the unknown character from said second digital values; generating a second threshold value from said second digital values; apply- ing said second threshold value to said second digital values for generating a plurality of third digital values; detecting the start of the unknown character from said third digital values; and detecting the end of the unknown character from said third digital values. According to another aspect of the invention there is provided a system for processing signals representing feature characteristics of an unknown character characterized by: first generating means for generating a plurality of adjacent parallel rows of first and s'econd feature characteristic signals in which said first feature characteristic signal represents a feature characteristic of an unknown character and said second feature characteristic signal represents the background of the unknown character; first detecting means for detecting first feature characteristic signals representing the start of the unknown character, said detecting means outputting a fi-rst control signal in f OM response to detecting said first start; and second de¬ tecting means for detecting second feature character¬ istic signals representing the end of the unknown char¬ acter, said second detecting means outputting a second control signal in response to detecting said end, whereby a utilization device receives said first and second con¬ trol signals enabling said utilization device to process said first and second feature characteristic signals. Brief Description of the Drawings One embodiment of the invention will now be described by way of example with reference to the accom¬ panying drawings, in which: Fig. 1 shows a block diagram of a character reading system in accordance with the present invention; Fig. 2 is a schematic diagram of the analog signals of Fig. 3 which have been thresholded; Fig. 3 is a schematic diagram of the analog signals generated by the multi—channel read head forming an image of the characters read; Fig. 4 is a schematic diagram of the print specifications required in the printing of a number of standard E-13B characters; Figs. 5A-5D inclusive, taken together, dis¬ close a block diagram of the circuits for detecting the start and the end of a character; Fig. 6, on the sheet containing Fig. 5B, is a diagram showing the manner in which Figs . 5A-5D inclu¬ sive are arranged to form the block diagram; Figs. 7A and 7B taken together disclose the logic circuits for generating the sequencing signals used in the present invention; Fig. 8 is a diagram of the logic circuits including the tri-state buffers found in the buffer unit of Fig. 5B; Figs. 9A-9C inclusive are diagrams of the logic circuits found in the delay and buffer unit of Fig. 5B; O FI - — F±g. 10 is a diagram showing the manner in which Figs. 9A-9C inclusive are arranged to form the block diagram; Figs. 11A and 11B, taken together, disclose the logic circuits found in the multiplexing unit of Fig. 5B; Fig. 12 is a diagram of a portion of the logic circuits found in the threshold logic unit of Fig. 5C; Figs. 13A-13D inclusive are diagrams of the logic circuits found in the peak value detector of Fig. 5C; Fig. 14 is a diagram showing the manner in which Figs. 13A-13D inclusive are arranged to form the block diagram; Figs. 15A-15C inclusive are diagrams of the logic circuits found in the threshold logic unit of Fig. 5C showing the comparators used in comparing the thres¬ hold value with the value of the data read by the multi¬ channel read head; Fig. 16 is a diagram showing the manner in which Figs. 15A-15C inclusive are arranged to form the block diagram; Figs. 17A-17D inclusive, taken together, form a diagram of a portion of the logic circuits found in the character start unit of Fig. 5C; Fig. 18, on the sheet containing Fig. 17A, is a diagram showing the manner in which Figs. 17A-17D inclusive are arranged to form the block diagram; Figs. 19A and 19B, taken together, form a diagram of the logic circuits of the lookup tables used in determining whether incoming data is a spot of ink or a blank; Fig. 20 is a diagram of the logic circuits used in the character start unit of Fig. 5D; Figs. 21A and 21B, taken together, disclose the pre-character start flip-flop unit and the character start flip-flop unit of Fig. 5D; Figs. 22A-22D inclusive, taken together, form a diagram of the logic circuits used in the character end detection logic unit of Fig. 5D; Fig. 23 is a diagram showing the manner in which Figs. 22A-22D inclusive are arranged to form the block diagram; Figs. 24A and 24B, taken together, form a diagram of further logic circuits used in the character end detection logic unit of Fig. 5D to generate signals indicating the location of the end of the character; Fig. 25 is a diagram of a logic circuit for generating various control signals used in the operation of the character recognition system; Fig. 26 is a diagram of a logic circuit for generating the character start signal; Fig. 27 is a diagram showing various waveforms used in the character recognition system of the present invention. Figs. 28A-28C taken together form a diagram of the logic circuits for delaying the data and inserting start and end of character markers in the data bit stream; and Fig. 29 is a diagram showing the manner in which Figs . 28A-28C inclusive are arranged to form the block diagram. Best Mode of Carrying Out the Invention Referring now to Fig. 1, there is shown a block diagram of the character recognition system which includes a multi-channel magnetic read head 20 positioned adjacent the path of movement of a document 22 having characters printed thereon in magnetic ink. hile the preferred characters in the present embodiment are printed in the form of the E-13B character font which is well-known in the art and which has been adopted by the American Bankers Association for use with banking checks, it is obvious that the recognition system of the present invention can be used with any character font which produces an image of the character read when scanned by the read head 20. The read head 20 consists of thirty magnetic pick-up channels in which every tenth channel is multiplexed to output ten channels of discrete analog A.C. sxgnals 24 (Fig. 3) over bus 26 upon movement of the document 22 past the read head 20. As shown in Fig. 3, an image of the character read is formed by the analog signals 24 in which the character is seven chan- nels high. Each analog signal 24 corresponds to the time derivative of the change of flux of the magnetized ink. Each of the analog signals 24 outputted by the read head 20 is amplified by an amplifier 30 and trans¬ mitted over bus 32 to a plurality of A/D converters 34 which sample the analog signals at a 98 KHz. rate by clock signals received from a clock generator 36. The digitized signals are transmitted over bus 38 to a rectifier unit 40 which outputs both positive and nega¬ tive rectified signals over bus 44 to a thresholding logic unit 46 which applies a static (fixed) threshold value to the digitized signals (Fig. 2). The fixed threshold value is selected to have a signal level slightly above the background noise to separate the magnetic ink information from the background noise. The resulting rows of thresholded data signals 42 (Fig. 2) are then transmitted over bus 48 to character start logic unit 50 which examines the data to give an initial indication of the start of the character read. The character start logic unit 50, upon finding a character start, will generate a pre-character signal PCS over line 52 putting the thresholding logic unit 46 in a mode to examine the same data received over bus 44 using a dynamic threshold value based on the peak value of the analog signals received from the rectifier 40. The thresholded data signals 42 (Fig. 2) are again trans¬ mitted to the character start logic unit 50 which deter¬ mines the final start of .the character read from the OMP data received, together with the end of the character. These signals which are represented by binary bits are transmitted over bus 56 to an image extraction logic unit 58 for use in processing the data. The binary data representing "* the thresholded data signals 42 (Fig. 2) transmitted over bus 56 is processed by the image extraction logic unit 58 which examines every seven bits of the received data 42. If it finds a zero bit surrounded by one bits, the logic unit will fill in a one bit at that location and then determine if each of the seven bits comprises an ink spot represented by a one bit or a blank spot repre¬ sented by a zero bit. The resulting reduced 14 x 10 bit map of the scanned character is transmitted over bus 62 to an unfolding logic unit 64 which examines the 14 x 10 bit map to locate and identify the location of the top portion of the scanned character within the bit map. For details of the construction of the image extraction logic unit 58 and the unfolding logic unit 64 reference should be made to an international application in the name of the present applicant filed on the same day as the present application and entitled "METHOD AND SYSTEM FOR PROCESSING DATA SIGNALS REPRESENTING AN UNKNOWN CHARACTER" . The processed 14 x 10 bit map outputted by the unfolding logic unit 64 is transmitted over bus 66 to a feature matching logic unit 68 which matches known character templates to the bit map appearing on bus 66. The logic unit 68 will generate data and control signals over line 70 for storage in a buffer memory unit 72 identifying the template having the closest match to the received character bit map. The data is then trans¬ mitted to a central processing unit 74 for processing of the data. For details of the construction of the feature matching logic unit 68 reference should be made to an international application in the name of the present applicant filed" on the same day as the present appli¬ cation and entitled "METHOD AND APPARATUS FOR RECOG¬ NIZING AN UNKNOWN CHARACTER". -. Referring now to Figs. 5A-5D inclusive, there is disclosed a block diagram of the logic circuits for determining the start and the end of the character read by the read head 20 (Fig. 1). As shown in Fig. 5A, the read head 20 will output one of ten analog signals 24 (Fig. 3) over each of the lines 76 to a pre-amplifier and band pass filter 30 which amplifies the signals and transmits the signals to an A/D converter 34. The A/D converter 34 will sample the analog signals at a 98 KHz. rate and output the digitized analog signals over lines 78 to a rectification logic unit 40 (Fig. 5B) for rec¬ tifying the signals which includes converting the nega¬ tive signal levels to a positive signal level. The rectification logic unit 40 is operated to process five channels at a time. Thus, the upper five channels are processed first followed by the lower five channels. The binary bits of each channel outputted by the recti¬ fication logic units 40 are transmitted over lines 80 to a buffer unit 82, a seven bit delay and buffer unit 84 and a multiplexing unit 86. The buffer unit 82 will output the five channels of data bits over lines 88 to the threshold logic unit 60 (Fig. 5C) which applies a fixed or static threshold to the incoming data bits to eliminate as much background noise as possible and then outputs the thresholded data bits over lines 90 to a plurality of serial-in-parallel-out register units 92. The register units 92 will output in parallel form the data bits of each channel over lines 94 to a character start lookup table unit 96 which examines the first seven bits of data appearing in a number of adja¬ cent channels to determine whether the incoming data constitutes the start of a character. Upon finding a character start, the lookup table unit 96 will set a pre-character start flip-flop 98 which outputs a pre- character start signal PCS over line 52 enabling a window generator unit 102 (Fig. 5C) to operate a peak value detector unit 104 which detects the maximum peak value in each window of data bits outputted by the OMPI I O multiplexing unit 86 (Fig. 5B) . The peak value that is detected representing the maximum ink intensity of the character in that window is transmitted over line 106 to the threshold logic unit 60 which generates a dynamic threshold value based on the peak value. The new dy¬ namic threshold value is then applied to the data bits outputted by the delay unit 84 (Fig. 5B) which delays the incoming data bits appearing on line 80 by seven bits. The data bits thus processed with the new thres- hold value are then transmitted through the serial-in- parallel-out register units 92 to the table lookup unit 96 which again determines the character start based on the data bits received. The pre-character signal PCS also enables a window counter 108 to count each window in the channel containing seven bits of data after the pre-character start signal has become active (Fig. 5D). If a character start is not detected in the first window of data bits, the counter 108 will set a char¬ acter start flip-flop 110 after the appearance of the second window of data, the flip-flop outputting a char¬ acter start signal START appearing on line 116 which enables the character end detection logic unit 112. Upon establishing the end of character, a character end signal CHEND is transmitted over line 114, which together with the character start signal appearing on line 116 is transmitted to a character delay logic unit 100 which receives the data bits over lines 94 from the registers 92 (Fig. 5C) . After a delay of 128 bit times, the logic unit 100 will output the data together with the character start signal START and the character end signal STOP to the feature or image extraction logic unit 58 (Fig. 1) for use by the unit in reducing the data bits to a 14 x 10 bit map in the manner described pre¬ viously. Referring now to Figs. 7A and 7B, there is shown a 7442 decoder logic unit 120 which receives the * output count of a counter (not shown) over lines 122 through drivers 123. The decoding unit 120 will output sequencing signals SSO—SS8 inclusive -over lines 124a-1241 inclusive (Fig. 7A) for controlling the logic units used in processing the generated data bits. Also included in the logic circuit is a 74LS74 flip-flop 121 (Fig. 7B) clocked by the buffer write multiplex signal BWTR1 appear¬ ing on line 123. The signal is used to multiplex the first five channels and then the second five channels of data. Clocking of the flip-flop 121 outputs the channel select signals CISEL1 over line 125a and CISEL2 over line 125b. Referring now to Figs. 8 and 9A-9C inclusive, there is shown the buffer unit 82 (Fig. 5B) and the delay line unit 84. The buffer unit comprises five 74LS244 buffer logic circuits 126a-126e inclusive (Fig. 8) which buffer five channels of rectified data bits outputted by the rectifying logic units 40 (Fig. 5B) over lines 80. The data bits are outputted by the buffer unit 82 over lines 88 to the threshold logic unit 60 (Fig. 5C) where a fixed threshold value is initially applied to the data. The rectified data bits are also inputted over lines 80 to five 3351 FIFO registers 130a- 130e inclusive (Figs. 9A and 9C) which will delay the outputting of the rectified data bits by seven bit times, which time period comprises one window length. The delayed data bits are outputted to the buffers 132a- 132e inclusive (Figs. 9A and 9C) when enabled by the pre-character start signal PCS appearing on line 52 in a manner to be described more fully hereinafter. The FIFO registers 130a-130e inclusive are sequentially enabled by the sequencing signals SSO and SS2 appearing on lines 124a and 124c respectively together with the clock signals CLK1 (Fig. 27a) appearing on line 137 and CI_K4 (Fig. 27d) appearing on line 139, the signal CLK1 clocking a 74LS393 counter 136 (Fig. 9B) whose output signals appearing on line 138 are transmitted through the OR gates 140 and 142 enabling the delay registers 130a÷-130e inclusive (Figs. 9A and 9C) . The OR gate 142 also- receives a sigrf l from AND gate 144 derived from the sequencing signals SSO and SS2. The output signal of AND gate 144 is trans¬ mitted through the OR gate 146 which also receives a signal from a 74LS74 flip-flop 148 which is clocked by the output count of a 74LS393 counter 150 enabled by the sequencing signal SS5 appearing on line 124f upon reaching a count of five. The output signals of the counter 150 are ANDed by the AND gate 152 which clocks the flip-flop 148 whose Q output signal is transmitted through the OR gates 146 and 142. These signals enable the output function of the registers 130a-130e inclusive. The outputted data bits of the buffers 132a-132e inclu¬ sive are transmitted over the lines 88 to the threshold logic unit 60 (Fig. 5c) where the static and dynamic threshold values are applied. The flip-flops 136 and 148 are reset by the system reset signal BRST appearing on line 155. A 74LS244 buffer logic unit 157 (Fig. 25) outputs the buffer signals CLKl, CLK3 (Figs. 27a and c), the character end signal BCHEND, the system reset signal BRST, the pre-character start signal BPCS, the buffer write signal BWRTR and the bank switch signal BANKSW. These signals are used in controlling the operation of various logic circuits as will be described more fully hereinafter. The reset signal BRST appearing on line 155 is gated through the AND gate 159 by the character end signal BCHEND appearing on line 360 and is outputted over line 163 for resetting the flip-flop 148 in addi¬ tion to other logic circuits of the system. Referring now to Figs. 11A and 11B, there are shown the logic circuits in the multiplexing unit 86 (Fig. 5B) comprising a plurality of 74LS244 buffers 156a-156e inclusive which receive the rectified data bits over lines 80. Each of the buffer units is sequen- tially enabled by the channel select signals CHANNEL 1-5 inclusive appearing on lines 158 for outputting over lines 160 the seven data bits comprising each window in OMPI - each of the- channels to the peak value detector unit 104 (Fig. 5C) to determine the peak value of each of the windows. The seven binary bits appearing on lines 160 are parallel loaded into a 74LS273 latch member 162 (Fig. 13A) and also into a pair of 74LS85 comparator members 164 and 166 (Fig. 13B) which compare the bits with the seven binary bits of data representing the maximum signal level previously inputted into the latch member 162 which was outputted to the comparator members 164 and 166 upon the loading of the current seven binary bits into the members. If the value of the data bits appearing on lines 160 is greater than the value of the data bits stored in latch 162, a high signal appear¬ ing on line 165 will enable an AND gate 167 to clock the new data into the latch 162. The output signals of the latch member 162 are also stored in a second 74LS273 latch member 170 (Fig. 13c). At the completion of the processing of the window, the peak value stored in latch 162 is outputted over lines 168 to a pair of 74LS85 comparators 178 and 180 (Fig. 13B) which compare the seven bits comprising the peak value level of the current window with the peak value level of the previous window which has been stored in the latch member 170 (Fig. 13c). When clocked by a control signal appearing on line 172 and which is gated through the AND gate 173 by the sequencing or sequence control signal SS7 (Fig. 7A) appearing on line 124i, the peak value is transmitted through a 74LS244 buffer member 174 and over lines 176 to the comparators 178 and 180. If the peak value of the seven data bits of the current window is greater than one half of those bits of the previous window, a 74LS74 flip-flop 182, which receives a high signal over its D input line 184 from the comparator member 178, is clocked by a signal over line 186 which is derived from the output signal of the window generator 102 (Fig. 5C) comprising a 74LS393 counter 188 (Fig. 13D) clocked by two of the sequence - • REXcr O PI _. * --—-control signals SSI appearing on-line 124b. Upon the counter 188 reaching a count of 7, an AND gate 192 will output a high signal over line 194 to the OR gate 196, line 198 and AND gate 200 whose output signal over line 186 will clock the flip-flop member 182. The AND gate 200 is enabled by the clock signal CLK3 (Fig. 27c) appearing on line 201 and the sequence control signal SS5 appearing on line 124g. Depending on whether the flip-flop 182 is set or cleared, either the peak value of the current window or the previous window is outputted from the latch member 204 (Fig. 13C) to a second 74LS273 latch member 206 which is clocked by the high signal appearing on line 198 and transmitted through the AND gate 208 when enabled by the sequence control signal SS6 appearing on line 1241 (Fig. 13D). The latch member 206 will output the selected seven data bits comprising the peak value to a 2716 EPROM member 209 which will generate a fixed or static threshold value over the output lines 212. As will be described more fully hereinafter, when in a dynamic threshold mode, the EPROM member 209 is pro¬ grammed to divide the value of the inputted seven data bits representing the peak value of each window by a constant such as 6 or 8 representing an ink intensity value to produce a dynamic threshold value. The fixed threshold value and the dynamic threshold value are outputted over lines 212 to a 74LS244 buffer 214 (Fig. 12) which outputs the threshold values over lines 215. Further included in the logic circuits shown in Fig, 13A is a 74LS42 decoder 216 which, in response to the output count of a 74LS39 counter 218, will output over lines 158 the channel select control signals CHAN- NELl-CHANNEL 5 inclusive which sequentially enable the buffer members 156a-156e inclusive (Figs. 11A and 11B) to output the seven bits which comprise the current window for each of the CHANNELS 1-5 inclusive over lines 160 to the latch member 162 (Fig. 13A) . The counter 218 is reset by- the-Q- output signal of a 74LS74.flip-flop member 220 which is reset by a high signal appearing on the output line 222 of the decoder 216 and which is transmitted through the AND gate 224 to the clear input of the flip-flop 220. The latch member 162 (Fig. 13A) is reset by the Q output signal of a 74LS74 flip-flop 226 when clocked by the signal SS8 (Fig. 7A) transmitted through the AND gate 228 over line 124j. The threshold value for each of the windows of each channel appearing on lines 215 (Fig. 12) is trans¬ mitted to a plurality of 74LS85 comparators 230a-230j inclusive (Figs. 15A-15C inclusive) which compare the threshold values to the signal levels in each window for all ten channels appearing on lines 158. As previously described, prior to the generation of the pre-character start signal PCS, the data bits outputted by the buffers 126a-126e inclusive (Fig. 8) are compared to a fixed threshold value while after the generation of the signal, the same data bits outputted from the buffers 132a-132e (Figs. 9A and 9C) which are delayed seven bit times are compared to a dynamic threshold value based on the peak value of the data bits appearing in the first window. When the value of the data bits appearing on the input lines 88 exceeds the threshold value appearing on lines 215, the comparators 230a-230j will output a high signal on lines 232 which is inputted into the D input of the 74LS74 flip-flops 234a-234e (Figs. 15A-15C inclu¬ sive) . The flip-flops, when clocked by the timing signal WRTR1 appearing on line 236, will output a signal over lines 90 which is inverted by the inverters 240 and then transmitted to a plurality of 74LS164 serial-in- parallel-out registers 242a-242j (Figs. 17A-17D inclu¬ sive) which output the signals over lines 244 to a plurality of 74LS244 buffer members 246a-246j inclusive when clocked by the shift signals SHI and SH2 appearing on lines 247. The signals are then outputted over lines 94 to a plurality of 27A08L EPROM members 250a-250e inclusive ' (Fig. -19A-) in- response to the generation of the signal CISEL1 appearing on line 125a and CISEL2 appearing on line 125b. The EPROM members 250a-250e inclusive in response to receiving the first seven bits of data from each window will determine if each bit is an ink spot or a blank spot and the presence of the start of a character. If the EPROM members 250a-250e inclusive find that the seven bits in the first window do not contain two consecutive blank bits, thereby indicating an ink spot, a high signal will appear on lines 252 which is latched in the 74LS273 latch members 254a and 254b (Fig. 20). The latch member 254a will store the results for each window processed in channels 1-5 while latch 254b will store the results for channels 6-10. The signals stored in latch 254a are clocked out over lines 256 to a 2708L EPROM 258 by the sequence control signal SS2 (Fig. 27e) which appears on line 124c. This signal is inver¬ ted by the inverter 262 and clocked through the AND gate 264a by the clock signal C.LK3 (Fig. 27c) appearing on line 201. In a similar manner, the signals stored in latch 254b are clocked by the sequence control signal SS4 (Fig. 27e) appearing on line 124e and which is clocked through the AND gate 264b. The signals appearing on lines 252 are also inputted into a NOR gate 270 (Fig. 19A) whose output signal is inverted by the inverter 272 and inputted into the D input of a pair of 74LS74 flip-flops 274 and 276 (Fig. 19B) . The flip-flop 274 is clocked by the sequence control signal SS2 (Fig. 27e) appearing on line 124c to clock the signals of the upper five channels. Similarly, the flip-flop 276 is clocked by the sequence control signal SS4 appearing on line 124e to latch the signals of the lower five channels. If the signal appearing on lines 252 represents an ink spot, the OR gate 280 will output a high signal i/B over line 284, while if the signal represents a blank spot, the signal i/B will be OMPI low * . As will -be described- more.fully hereinafter, the signal i/B is used in determining the end of character signal. The EPROM 258 (Fig. 20), comprising a lookup table, will compare the windows in each of the ten channels. If the corresponding windows in two channels are indicated to comprise an ink spot, a high signal will appear on the output line 286 of the EPROM member 258 indicating the start of a character. This signal is inputted into the J input of the pre-character flip-flop 98 (Figs. 5D and 21A) which, when clocked by the sequence control signal SS5 appearing on line 124f, will output the pre-character start signal PCS over, line 52. As described previously, the signal PCS will enable the EPROM member 209 (Fig. 13C) to generate a dynamic threshold value by dividing the maximum peak value of the binary bits comprising the first window by a con¬ stant. The signal PCS appearing on line 52 is also inputted through the OR gate 289 (Fig. 9B) enabling the buffer members 132a-132e inclusive (Figs. 9A and 9C) to ' output the delayed data bits comprising the windows of each of the channels to which the dynamic threshold value is applied to locate the start of the character scanned. The clocking of the flip-flop 98 (Fig. 21A) by the sequence control signal SS5 appearing on line 124f results in the ζ2 output signal clocking a second 74LS107 flip-flop 290 (Fig. 21B) whose Q output signal over line 292 enables the 74LS293 window counter 108 (Fig. 5D) thereby initiating a new counting operation. A high signal appearing on line 286 will go low at the start of the operation of the counter 108 as a result of the clocking of a flip-flop 294 (Fig. 21A) by the pre- character start signal PCS appearing on line 52. The flip-flop 294 will output the clear signals BCLRI over line 296 and BCLR2 over line 298, clearing the serial- in-parallel-out registers 242a-242j inclusive (Figs. 17A-17D inclusive) resulting in the output signal of the EPROM 258 (Fig. 20) appearing on line 286 going low. If the counter 108 reaches a count of 7 which corresponds to the number of bits in the first window, the AND gate 300 (Fig. 21B) will be enabled to output a high signal over line 302 to clock the flip-flop 110. If at this time, a high signal has appeared on line 286 indicating the presence of a character start, the flip-flop 110 will output the character start signal CS over line 116 to the character delay logic unit 100 (Fig. 5D). If at the end of the first window a character start has not been detected, the counter 108 will continue counting up to 14 at which time the output count signals of the counter 108 enable the AND gates 304 and 306 to preset the flip-flop 110 to output the character start signal CS over line 116 and the signal US over line 295. It will be seen that this logic circuit will establish the character start in the second window when the character start is not found in the first window processed. Upon the finding of a character start, the signal CS ~ appearing on the Q output line 295 of flip- flop 110 (Fig. 2IB) is inputted into the character end detection logic unit 112 (Fig. 5D) which includes an OR gate 308 (Fig. 22A) . The OR gate 308 also receives the output signal of a 74LS121 multivibrator member 310, which signal (Fig. 27i) goes high when a transition occurs between an ink spot and a blank spot representing the end of a black bar portion of a character. As shown in Fig. 4, the number of bits of the right hand amount character indicated generally by the numeral 309 may comprise three bars 311 whose width may vary between 13 mils (0.33 millimetre) and 26 mils (0.66 millimetre). In order to determine the end of the character which may include blank spaces between the black bar portions of the character, the output of the OR gate 308 (Fig. 22A) is connected to the clear input of a pair of 74LS193 counters 312 and 314 (Fig. 22B) . The counters 312 and 314 when enabled by the appearance of the character start signal CS on line 295 will count the width of the • character * rea - * represented by the. clock pulses CLK3 (Fig. 27c) appearing on line 201 and transmitted through a NAND gate 316 (Fig. 22A) . The output count of the counters 312 and 314 are inputted over lines 318 to a pair of 74LS283 adders 320 and 322 (Fig. 22B) which accumulate the input count to produce on output lines 324 the total bit width of the character being scanned or the blank space between the characters. The output lines 324 of the adders 320 and 322 are connected to a 74LS273 latch member 326 which is clocked by the signal BLNK (Fig. 27i) outputted over line 329 of a 74LS74 flip-flop 330 (Fig. 22A) . The flip-flop 330 receives over line 284 the signal i/B (Fig. 19B) indicating whether the binary bit being examined is an ink spot (1) or a blank spot (0). The flip-flop 330 is clocked by the clock signals CLK3 (Fig. 27c) appearing on line 201 and transmitted through the AND gate 332 by the sequence control signal SS4 (Fig. 27e) appearing on line 124e (Fig. 7A) . The flip- flop 330 is also enabled by the character start signal CS appearing on line 116. When the signal i/B goes from high to low indicating the end of a black bar of a character, the signal BLNK appearing on the output line 328 of the flip-flop 330 will go high, clocking the latch member 326 which latches the width of the black bar appearing on the output lines 324 of the adders 320 and 322. The changing of the voltage level of the signal i/B also enables the flip-flop 330 to output the low signal BLNK over line 329 which enables the multi- vibrator member 310 to output a high signal through the OR gate 308 which clears the counters 312 and 314. The counters 312 and 314 will now start counting the width of the blank space the total of which is outputted over lines 324 by the adders 320 and 322 (Fig. 22B) . When the signal i/B goes high indicating the start of the next black bar, the counter will again be cleared and start another count representing the width of the black " bar. 'The' width of the black bar being, scanned will also be outputted over lines 334 for use in generating marker signals indicating the end of the character scanned. The data signals representing the total width of the black bar appearing on lines 324 is inputted into a 2708 EPROM member 336 (Fig. 22D) whiςh, in response to the value of the input data representing the width of the character appearing on lines 324, will output over lines 338 a value representing the number of blank columns or bits which must follow the transition from ink to blank to have a valid end of character condition. Referring again to Fig. 4, it will be seen that the width of the first black bar 311 of the amount character 309 will be 26 mils (0.66 millimetre) before the occur- rence of the blank space 313 comprising 13 mils (0.33 millimetre) wide. After arriving at the total width of 26 mils for bar 311, this data will be inputted into the EPROM member 336 which will output data signals indicating a certain width of the blank space 315 re- quired to constitute a valid end of character condition which, in this example, is greater than 13 mils. Since the first blank space 313 is only 13 mils wide, an end of character condition does not exist at this time. This operation will be repeated until the required blank column greater than 13 mils is scanned. The data out¬ putted by the EPROM member 336 representing the width of the blank column which must exist before an end of character condition is clocked over lines 338 to a 74LS273. latch member 340 (Fig. 22D) by a clock signal (Fig. 27j) outputted over line 342 from a 74LS74 flip- flop 344 which receives the output signal of a second 74LS74 flip-flop 346 clocked by the signal BLNK over line 328 (Fig. 22A) . The . flip-flops 344 and 346 delay the clock signal appearing on lines 342 by two clock signals enabling the EPROM member 336 to process the input data appearing on lines 324. The data signals stored in the latch member 340 are outputted over lines 348 (Fig. 22D) to a pair of 74LS&5 comparators 350 -and .351.. (Fig. 22C) which compare the blank width requirements for an end of character condition with the output of the counters 312 and 314 (Fig. 22B) which at this time are counting the blank columns being scanned. If the output count appearing on lines 318 representing the width of the blank space exceeds the value appearing on lines 348, a high signal will appear on line 352 of the comparator 350 which signal is gated by the AND gate 354. The AND gate 354 is enabled by the signal BLNK appearing on line 328. The AND gate 356 is enabled by the character start signal CS (Fig. 27g) appearing on line 116. The output signal of the AND gate 356 is inputted into the D input of a 74LS74 flip-flop 358. The flip-flop 358 is clocked by the signal CLK3 (Fig. 27c) appearing on line 201 and the sequence control signal SS6 appearing on line 1241 (Fig. 7A) . Clocking of the flip-flop 358 results in the outputting of the end of character signal CH END (Fig. 27k) appearing on line 114 which, after being delayed by the character delay logic circuit 100 (Fig. 5D), is transmitted to the image extraction logic unit 58 (Fig. 1). The inverted character end signal CH END appearing on the output line 360 of the flip-flop 358 will disable the flip-flop 110 (Fig. 21B) from outputting the char- acter start signal CS. The data bits appearing on lines 334 (Fig. 22A) representing the width of the character being scanned is transmitted to a 74LS273 latch member 362 (Fig. 24B) which is clocked by the signal CH END appear- ing on line 114. The value of the character width stored in the latch member 362 is loaded into a pair of 74LS193 counter members 364 and 366 (Fig. 24B) by a signal (Fig. 27m) appearing on lines 365 and which are clocked by the clock signals CLK2 (Fig. 27b) and CLK4 (Fig. 27d) appearing on lines 368 and 139 (Fig. 24A) respectively. These signals will clock a pair of 74LS74 flip-flops 372 and 374 which output a clock signal (Fig. 27n) through the OR gate 376 to the clock input of the -counter- member 364. The counter members 364 and 366 will count down from the value of the character width inputted into the counters from the latch member 362. Upon reaching a count of 0, the counter 366 will output a high signal over line 378 which is inverted by the inverter 380 to clock a 74LS74 flip-flop 382. In order to delay the generation of an end of character marking signal, the Q output signal of the flip-flop 382 is gated through an OR gate 384 to a 74LS193 counter 386 (Fig. 24B) which upon reaching a predetermined count will output the end of character marking signals CEMK1 over line 388 and CEMK2 over line 390, and the inverted end of character signal STOP will be outputted by the inverter 391 over line 393. The signals CEMKl and CEMK2 are transmitted to a series of OR gates 391a-391j in¬ clusive (Figs. 28A-28C inclusive) which also receive the data bits stored in a plurality of 3342 FIFO registers 392a-392e inclusive which store up to 128 bits repre¬ senting the width of a character. As shown in Fig. 4, the maximum width between the characters is 125 mils (3.2 millimetres). In order to locate the start of the character being scanned within the data bits being transmitted to the image extraction logic unit 58 (Fig. 1), a start of character marker in addition to the end of character marker is inserted in the data bits. Upon the generation of the character start signal CS (Fig. 21B), the signal will clock a flip-flop (not shown) which outputs a pair of start of character marker signals STMK1 and STMK2 over lines 394 and 396 respectively into the OR gates 398a- 398j inclusive (Figs. 28A-28C inclusive) which also receive the delayed data bits SHD1-SHD10 inclusive outputted by the shift registers 392a-392e over lines 400. The data bits representing the character scanned are outputted from the OR gates 391a-391j over lines 402 which comprise the bus 56 (Fig. 1) to the image extrac¬ tion logic unit 58 in response to the sequence control -signa-ls SS-5 -appearing on lines 124g and the end of character marker signals CEMK1 and CEMK2 appearing on lines 388 and 390 and inputted into the OR gates 391a- 391j inclusive, which will also result in the data being transmitted to the image extraction logic unit 58. Referring now to Fig. 26, there is shown the logic circuit for outputting the delayed character start signal START to the image extraction unit 58. Included in the circuit is a 74LS74 flip-flop 406 which is clocked by the character start signal CS * appearing on line 295. Clocking of the flip-flop 406 outputs a high signal over line 408 which clocks a second 74LS74 flip-flop 410 whose Q output signal appearing on line 412 enables a 74LS393 counter 414. Upon reaching a count of 128 indicating that the data bit stream has reached the output of the shift registers 392a-392e inclusive (Figs. 28A-28C inclusive) , a high signal will be outputted over line 416 to a NOR gate 418 which outputs the low char¬ acter start signal START over line 420 to the image extraction unit 58 (Fig. 1). When the next character start signal CE5 occurs on line 295, the flip-flop 406 will be clocked to output a high signal over the C. output line 422 which clocks a 74LS74 flip-flop 424. The clocking of the flip-flop 424 results in the oper- ation of a second 74LS393 counter 426 (Fig. 26) which enables the NOR gate 418 to output the character start signal START over line 420 upon reaching a count of 128. The logic circuit elements are reset by system reset signal RST appearing on line 155 and the sequence control signal SS3 appearing on line 124d (Fig. 7A) . In the operation of the system, the rectified data bits representing each channel of the read head 20 are inputted into the comparators 230a-230j (Figs. 15A- 15C inclusive) which apply a fixed threshold value to each seven bits of data comprising a window. The thres¬ hold data is then inputted into the EPROM member 258 (Fig. 20) which examines the data bits to determine if a ~ character start requirement is met. If. the corres¬ ponding windows in-any of two channels are found to contain ink spots, the flip-flop 98 (Fig. 21A) will output a pre-character start signal PCS which controls the EPROM member 209 (Fig. 13C) to generate a dynamic threshold value based upon the maximum peak values found in the first window of each channel. The pre-character start signal PCS will enable the buffer members 132a- 132e inclusive (Figs. 9A and 9C) to output the delayed first windows of each channel to the peak value detector unit 104 (Fig. 5C) which generates values representing the peak value in each of the first windows of each channel. The EPROM member 209 (Fig. 13C) will divide the peak values found by a constant to output a dynamic threshold value which is then applied to the data bits found in each of the first windows by the comparators 230a-230j inclusive. The threshold values are then transmitted to the EPROM member 258 (Fig. 20) which again applies the character start requirements to the received data. If during the first seven bits of each channel examined, it is found that the character start requirements are met, the character start flip-flop 110 (Fig. 21B) will output the character start signal CS. If the requirements are not met during the processing of the first windows, the window counter 108 upon reaching a count of 14 representing the second window will preset the character start flip-flop 110 to output the character start signals CS and C_S. Once this occurs, the accumulated width of the character is transmitted to the EPROM member 336 (Fig. 22D) which generates a value representing the blank spaces which must follow the end of the character. If the blank spaces are sensed, the flip-flop 358 (Fig. 22C) is then operated to generate the character end signal CHEND. - Marker signals are then inserted in the data bits being outputted to the image extraction logic circuit 58 indicating the start and end of the character. -~The- integrated—circuit.-networks having a numerical designation disclosed herein are commercxally available from the Texas Instruments Corporation of Dallas, Texas. While the preferred embodiment of the inven¬ tion has been described in detail for recognizing char¬ acters in a standard E-13B character font, the character recognition system could be easily adapted by a person of ordinary skill in the art to process characters and symbols from any standard character font without depart¬ ing from the spirit of the invention.

Claims: CLAIMS : .- 1. A method for establishing the location of an unknown character in a character recognition system characterized by the steps of: generating a plurality of substantially parallel analog waveforms representing the configuration of the unknown character; generating a plurality of first digital values representing the analog waveforms; applying a first threshold value to said first digital values for generating a plurality of second digital values representing the unknown character .and the background of the character; giving an initial indication of the start of the unknown character from said second digital values; generating a .second thres¬ hold value from said second digital values; applying said second threshold value to said second digital values for generating a plurality of third digital val¬ ues; detecting the start of the unknown character, from said third digital values; and detecting the end of the unknown character from said third digital values. 2. A method according to claim 1, character¬ ized in that the step of generating a second threshold value comprises the steps of detecting the second digital value having the maximum value and dividing said maximum value by a constant. 3. A method according to claim 1, character¬ ized in that the step of detecting the end of the char¬ acter comprises the steps of: counting the number of third digital values representing the width of the un- known character; generating the number of third digital values representing the background of the character which must follow the end of the character; counting the number of third digital values which follow the end of the character; and outputting a signal indicating the end of the character upon the number of third digital •• fRE O PI 3 . ( concluded ) values required to follow the character being equal to the number counted. 4. A method according to any one of the preceding claims, characterized in that the step of generating said plurality of second digital values in¬ volves generating a plurality of rows of second binary data bits, and in that an initial indication of the start of the unknown character is given when in respect of at least two of said rows a predetermined initial number of binary bits is indicative of the presence of a character spot. 5. A method according to claim 4, charac¬ terized in that said predetermined initial number of binary bits is indicative of a character spot when said number does not contain two consecutive bits corres- ponding to the background of the character. 6. A system for processing signals repre¬ senting feature characteristics of an unknown character characterized by: first generating means (20, 34) for generating a plurality of adjacent parallel rows of first and second feature characteristic signals in which said first feature characteristic signal represents a feature characteristic of an unknown character and said second feature characteristic signal represents the background of the unknown character, first detecting means (96, 98, 108, 110) for detecting first feature characteristic signals representing the start of the unknown character, said detecting means outputting a first control signal (CS) in response to detecting said start; and second detecting means (112) for detecting second feature characteristic signals representing the end of the un¬ known character, said- second detecting means outputting a second control signal (CHEND) in response to detecting OMPI 6. ( concluded) said end, whereby a utilization device (100, 58) receives said first and second control signals enabling said utilization device to process said first and second feature characteristic signals. 7. A system according to claim 6, charac¬ terized in that said first generating means includes a multi-channel sensing member (20) for generating a plurality of analog waveforms unique to the unknown character, means (34) connected to said sensing member for converting each of said analog waveforms into a plurality of first digital signals, and comparing means (60) for comparing the signal level of said first digi¬ tal signals with a first reference signal level to out- put a first data signal when the signal level of a said first digital signal exceeds said first reference signal level and a second data signal when the signal level of a said first digital signal does not exceed the refer¬ ence signal level, and further characterized by means (98) for examining said first and second data signals to output a third control signal (PCS) upon finding a particular combination of first data signals giving an initial indication of a character start, and second generating means (102, 104) connected to said comparing means (60) and enabled by said third control signal (PCS) for generating a second reference signal level in accordance with the signal level of said first data sig¬ nals, whereby said comparing means (60) compares the signal level of said first data signals with said second reference signal level to output a said first feature characteristic signal when the signal level of a said first data signal exceeds said second reference signal level and to output a said second feature char¬ acteristic signal when the signal level of said first data signal does not exceed the second reference signal level. -- 8.-- —A- system according to claim 7, character¬ ized in that said second generating means includes third detecting means (104) for detecting the maximum signal level of said first data signals, and first memory means (209) which is connected to said comparing means (60) and to said third detecting means (104) and which includes means for dividing the maximum signal level detected by a constant to output a second reference signal level to said comparing means. 9. A system according to any one of claims 6 to 8, characterized in that said second detecting means (112) includes third generating means (312, 314, 320, 322) for generating a first binary signal repre- senting the width of the unknown character sensed, second memory means (336) connected to said third gen¬ erating means for outputting a second binary signal representing the width of the background area which is required to follow the width of the unknown character sensed, and means (350, 351, 352) for generating a control signal indicating the end of the character upon the value of said second binary signal equalling the value of said first binary signal. 10. A system according to claim 9, charac¬ terized in that said third generating means includes counter means (312, 314) for counting the number of consecutive first feature characteristic signals in response to the generation of said first control signal (CS), fourth detecting means (310) for detecting the transition between the generation of said first and second feature characteristic signals, and means (320, 322, 326) for outputting the count of said counter means (312, 314) as the width of the character sensed in re¬ sponse to the detection of the end of the character by said fourth detecting means. OMPI

Inventors: AKISTER JAMES FRANCIS, LEUNG PATRICK CHAPWOO, NALLY ROBERT BLAIZE, VANCE ERIC JAMES, AKISTER, JAMES, FRANCIS, LEUNG, PATRICK, CHAPWOO, NALLY, ROBERT, BLAIZE, VANCE, ERIC, JAMES
Applicants: NCR CO, NCR CORPORATION
Application year: 1982
Main classification: G06K9
IPC codes: G06K9