METHOD AND APPARATUS FOR RECOGNIZING AN UNKNOWN CHARACTER

Abstract: The apparatus includes means (56) for generating rows of first binary signals representing characteristics of an unknown character printed on a document (20). Feature matching logic means (68) is provided for storing sets of second binary signals, each set representing a respective known character and comprising first feature characteristic signals and second feature characteristic signals. The logic means (68) is arranged to compare each row of first binary signals with each of said sets to produce first and second output signals respectively representing differences between the row and said first feature characteristic signals and between the row and said second feature characteristic signals. The first and second output signals are accumulated and a processing means (74) is arranged to identify the unknown character on the basis of the accumulated output signals. Two comparison operations are carried out in respect of each row. The apparatus overcomes character recognition problems due to print aberrations.

Description: METHOD AND APPARATUS FOR RECOGNIZING AN UNKNOWN CHARACTER Technical Field The present invention relates to the field of machine recognition of characters recorded on a docu¬ ment. The invention has application, for example, to a document 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 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 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 unique, the waveform derived for each different char¬ acter uniquely identifies that character. It has been found that it is possible to in¬ crease the amount of information obtained when scanning a magnetically imprinted character by using a multiple- gap magnetic read head in which multiple waveforms are produced. A multiple-gap read head may produce a mag¬ netic image of the character as a result of the A.C. magnetization of the character. In particular, a character recognition apparatus employing a multi-gap print head can be arranged to produce rows of binary signals representing characteristics of an unknown char¬ acter, such rows being hereinafter referred to as a bit map. Due to various print aberrations caused- for example by non-uniformity of the printing ink intensity, O PI variations -in bar widths making up a character, and skew, etc., there can be a considerable variation in the bit maps generated in reading the same character read from different documents. Disclosure of the Invention It is accordingly an object of the invention to provide a method and apparatus for recognizing an unknown character which allow the recognition of the character to take place with a high degree of success despite such bit map variations. According to one aspect of the invention there is provided a method for recognizing an unknown character, characterized by the steps of generating a plurality of parallel rows of first binary signals representing characteristics of the unknown character, comparing each row of first binary signals with sets of second binary signals, each- set representing a respec¬ tive known character and comprising first feature char¬ acteristic signals and second feature characteristic signals, generating in respect of each row of first binary signals a first output signal representing dif¬ ferences between the row and said first feature charac¬ teristic signals and a second output signal representing differences between the row and said second feature characteristic signals, and identifying the unknown character on the basis of said first and second output signals produced in respect of each row. According to another aspect of the invention there is provided an apparatus for recognizing an un- known character, characterized by generating means for generating rows of first binary signals representing characteristics of the unknown character, first storing means for storing the rows of first binary signals, storing and comparing means connected to said first storing means for storing sets of second binary signals, each set representing a respective known character and comprising first feature characteristic signals and OMPI * second feature characteristic signals, said storing and comparing means being arranged in respect of each row to compare the row with each of said sets and to produce a first output signal representing differences between the row and said first feature characteristic signals and a second output signal representing dif- ferences between the row and said second feature char¬ acteristic signals, accumulating means connected to said storing and comparing means for accumulating said first output signals and said second output signals in respect of each known character, and processing means connected to said accumulating means and arranged to identify the unknown character on the basis of the accumulated first and second output signals. Brief Description of the Drawings One embodiment of the invention will now be described by way of example with reference to the accompanying drawings, in which: Fig. 1 shows a block diagram of a character reading system incorporating a character recognizing apparatus in accordance with the present invention; Fig. 2A is a table showing the feature set for the character "2"; Fig. 2B is a table showing the allowed features for each row of the character "2" used in matching the unknown character with the known characters in template matching units; Fig. 3A is a schematic representation of the character "2" as printed on a document; Fig. 3B is a schematic diagram showing a double image for the character "2"; Figs. 4A and 4B, taken together, comprise a block diagram of the circuits for matching the features of the unknown character with the features of the known character; Figs. 5A-5E inclusive, taken together, form logic circuits showing the up/down address counter, the " RAM buffers and the RAM read/write control circuit of Fig. 4A; Fig. 6, on the sheet containing Fig. 5E, is a diagram showing the manner in which Figs. 5A-5E inclu- sive are arranged to form the logic circuits; Figs. 7A-7D inclusive, taken together, disclose the logic circuits found in the feature select control logic and the feature matching control logic units of Fig. 4A; Fig. 8, on the sheet containing Fig. 7D, is a diagram showing the manner in which Figs. 7A-7D inclu¬ sive are arranged to form the logic circuits; Figs. 9A and 9B, taken together, disclose the logic circuits for the template select multiplexer unit and the row counter unit of Fig. 4B; Fig. 10 is a diagram of the logic circuits associated with the template matching units of Fig. 4B; Figs. 11-13 inclusive are diagrams of the logic circuits used in the template matching units of Fig. 4B; Fig. 14 is a diagram of the logic circuits associated with the template matching units of Fig. 4B; Figs. 15-17 inclusive are diagrams of the logic circuits used in the template matching units of Fig. 4B. Figs. 18A and 18B, taken together, disclose the logic circuits used in accumulating the number of logicals and the distance differences between the un¬ known character and the known characters; and Fig. 19 is a diagram showing various waveforms used in matching the data generated by the reading of an unknown character with the templates of known characters. 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-gap magnetic read head 20 positioned adjacent the path of movement of a document 22 having -5- characters printed thereon in magnetic ink. While 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 adapted by the 5 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 10 magnetic pick-up channels in which every tenth channel is multiplexed to output ten channels of discrete analog signals over a bus 26 upon movement of the document 22 past the read head 20. Each of the discrete analog signals outputted by the read head 20 is amplified by 15 Amplifier 30 and transmitted 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 the Clock Generator 36. The digitized signals are then trans¬ mitted over bus 38 to a Rectification unit 40 which 20 outputs both positive and negative rectified signals over bus 44 to a Thresholding Logic unit 46 which ap¬ plies fixed and dynamic threshold values to the digi¬ tized signals. The resulting thresholded data is then transmitted over bus 48 to a Character Start logic unit 25 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 signal over line 52 enabling the Thresholding logic unit 46 to examine the same data received over bus 30 44 and generate a dynamic threshold value based on the peak value of the analog signals received from the Rectification unit 40. The Thresholding Logic unit 46 will then apply the new dynamic threshold values to the S. * digitized signals. The thresholded data is then trans- 35 mitted to the Character Start logic unit 50 which deter¬ mines the final start of the character read from the data received together with the end of the character. These signals are transmitted over line 56 to the Image Extraction logic unit 58 for use in the operation of the logic unit. The Image Extraction logic unit 58 examines every 7 bits of the analog signal received. If it finds a 0 bit surrounded by 1 bits, the logic unit 58 will fill in a 1 bit at that location and then determine if each of the 7 bits comprises an ink spot represented by a 1 bit or a blank spot represented by a 0 bit. The resulting reduced 14 x 10 bit map of the scanned char- acter is transmitted over bus 62 to an Unfolding Logic unit 64 which examines the 14 x 10 bit map to locate the top row of the scanned character in its proper location within the bit map. ' For details of the logic circuits for generating the start and end of the character ref- erence 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 Reading Characters". 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 character represented by the bit map appearing on bus 66. The Feature Matching Logic unit 68 will generate signals over line 70 for storage in a Buffer Memory unit 72 representing the results of matching the template with the received character bit map produced. The data is then transmitted to a central processing unit (CPU) 74 for identifying the unknown character from the data received. For details of the construction of the Image Extraction Logic unit 58 and the Unfolding Logic unit 64 reference should be βade to an international appli¬ cation 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". Referring to Figs. 2A and 2B, there are shown tables disclosing the features of the character "2". A feature of a character is defined as a row of the bit map. A character feature -set is a collection of dis¬ tinctly different features which when assembled in the correct order, will produce a bit map containing the image of a character scanned. The- number of features in 5 a character feature set is a function of the complexity of the character. For example, only two features are S- required to completely describe the character "0". Feature Value Feature # 00111111111111 1 10 00110000000011 2 If feature 1 is placed in row 1 of the bit map, feature 2 in rows 2-6 and feature 1 again in row 7, a bit map for an ideal "0" results. By contrast, five features are required in the feature set of the character "6". 15 Feature Value Feature # Row # 00001111111000 1 1 00001100011000 2 2 00001100000000 3 3 00001111111111 4 4,7 20 00001100000011 5 5,6 Similarly, a feature set has been defined for each character of the E-13B MICR font. Each feature set also contains an additional "blank feature" which is used to match the clear band on the bottom of the bit map (row 8 25 is usually blank) . Associated with each bit of a character feature is a weight value which represents the relative importance of the bit in the feature. The bits which form a distinguishing part of the feature will have 30 higher weights while bits that are unreliable (such as those at the edge of a bar) or less important have lower weights. For example, referring again to the features for the character "0", the bits in the string of feature 1 extending from bit #1 to bit #12 are all of roughly 35 equal importance and hence are -each assigned a weight of medium value. The cleared bit #13 is of low importance. OMPI since it is often se in the case of high ink intensity or wide bar and is generally not reliable. Hence, it is assigned a lower weight value. The trailing bit #14 is, on -the other hand, very reliable and is consequently assigned a high weight value. In feature 2 of the char¬ acter "0", the four set bits are important and each has a high weight value while the inner cleared bits will have a very high weight value since the interior clear area is a distinguishing feature of the character "0". ■ In situations where a bit value is always reliable and is also very important, a numerical weight is no longer assigned. Instead, the weight is termed a "logical". As will be described more fully hereinafter, logicals are treated differently in the feature matching procedure and have a major bearing on the outcome of the recognition process. Referring again to Fig. 2A, where there is shown a feature set for the character "2" together with the assigned weights, it is important to note that the actual values used for the weights are unimportant so long as the relationship between the weights of dif¬ ferent values accurately reflect the relative importance of the data bits. The specific order in which a set of features is assembled to form a character bit map is the same order in which the feature set is applied to an unknown bit map during the recognition process. Ideally, all bit maps for a given character should be the same. This would reduce the row-feature allocation to a simple 1:1 correlation. Unfortunately, various print aberra- tions such as ink intensity and bar width variations, skew, embossed encoding and the like, cause a consider¬ able degree of variation in the bit maps. In addition, slight variations in the position of the MICR band as it passes the read head can cause some or all of the char- acters horizontal bars to be split evenly between two adjacent channels. This is characterized as doubling. Fig. 3A shows an-example of a normal character image of the character "2" while Fig. 3B shows a double character image. - While the overall dimensions of the characters remain the same, the exact row-feature allo¬ cation for each is different. Certainly, both charac¬ ters are recognizable. The net result of these conditions is that a 1:1 row-feature allocation is thus possible. It is a function of the "rules" for each character to allow for this type of image variation while maintaining the integrity of the overall character definition. In most cases, more than one feature is allowed in any one row of the bit map. It is up to the feature matching appar¬ atus to select the best match. Referring now to Figs. 4A and 4B, there is shown a block diagram of the Feature Matching Logic unit 68. (Fig. 1). The Unfolding Logic unit 64 (Fig. 1) outputs a character present signal CHAR PT over line 80 which is inputted into an Up/Down Address Counter unit 82, a RAM Read/Write Control Flip-Flop unit 84 and a Feature Select Control Logic unit 86. In response to receiving the signal CHAR PT, the Address Counter unit 82 will generate address signals to a pair of RAM Buffer units 88 and 90, enabling the 14 x 10 bit map data appearing on bus 66 to be stored in the Buffer unit 88. The data is shifted from the Buffer unit 88 to the second Buffer unit 90 under the control of Flip-Flop unit 84. Data identifying the location of the top " row of the character appears on line 92 and is inputted into a Channel Select Pointer counter 94 whose output count signals represent the channel or row number that is being inputted into a Channel Select Demultiplexer 96 froifc the Buffer unit 90. The Demultiplexer 96 outputs the top row of the data bit map being outputted by the Buffer unit 90 over line 168 to a Serial-In Parallel-Out Shift Register unit 98. The data bits of the selected row are then outputted over line 100 to the fourteen feature Template table look-up members 196a-196n inclu¬ sive (Fig. =4B) , in which each bit location in each row of the unknown character is compared with a corresponding - UR Template disclosing the bit location in each row of 14 known characters. The Feature Select Control Logic unit 86 will output features which are required of the rows of data bits being examined in order to conform to the known character in each of the Template look-up tables 196a- 196n inclusive. These features are outputted to a Feature Matching Control Logic unit 104 (Fig. 4A) which outputs control signals over line 102 to the Feature Select Control Logic unit 86 enabling such logic unit 86 to output control signals over line 106 to a Template Select Multiplexer 108 (Fig. 4B). The Multiplexer 108 will output over line 110 control signals to the Tem¬ plate look-up tables 196a-196n. A Row Counter 112 (Fig. 4B) counts the rows of data bits matched with the Tem¬ plate look-up tables 196a-196n for controlling the operation of the Feature Select Control Logic unit 86 (Fig. 4A). Referring now to Figs. 5A-5E inclusive, there are shown logic circuits of the Counter and Flip-Flop units 82 and 84 (Fig. 4A) together with the Buffer units 88, 90 and the Register unit 98 for shifting the bit map into the Template members 196a-196n. Included in the Control Flip-Flop unit 84 is a 74LS74 flip-flop 114 (Fig. 5A) which is clocked by the inverted feature start signal BFSTR appearing on line 80, which is inverted by the inverter 116 and transmitted over line 117 to the clock input of the flip—flop 114. The clocking of the flip-flop 114 results in a high signal appearing on its Q output line 118 which is inputted into the J input of a 74LS112 flip-flop 120. The flip-flop 120 is clocked by the 10 MHz. clock signals BCK (Fig. 19a) appearing on line 122 from a clock generator (not shown) and inver¬ ted by the inverter 124 for transmission over line 127. The clocking of the flip-flop 120 outputs a high signal over its Q output line 126 to an input of a NAND gate 128 (Fig. 5B) which receives the clock signals BCK over line 127. The NAND gate 128 will output a gated clock - J E signal to the DC input of the 74LS193 Up/Down Address Counter 82 (see also Fig. 4A) . The Counter 82 receives a buffer data ready signal BDRDY over line 135 which is received over line 132 and inverted by the inverter 134 (Fig. 5A) . The signal is inputted into the UC input of the Counter 82 for incrementing the counter by one count. The clocking of the flip-flop 114 (Fig. 5A) by the feature start signal BFSTR going high results in the Counter 82 start- ing to count in an upward direction. The output count of the Counter 82 appears on lines 136 and is inputted into a 74LS244 buffer member 138 which outputs the count over lines 140 to a plurality of 74LS189 RAM memory units 142-146 inclusive (Fig. 5C) comprising the RAM Buffer unit 90 (Fig. 4A) as the address for storing the character bit map therein. The output count signals appearing on lines 136 are also inputted into a plurality of 74LS189 RAM memory units 148-152 inclusive (Fig. 5C) comprising the RAM Buffer unit 88 (Fig. 4A) as the address of the storage location of the character bit map appearing on lines 154 which are part of the data bus 66 (Fig. 4A). The output signals of the Address Counter 82 appearing on lines 136 will write the 14 x 10 bit map appearing on bus 66 into the memory units 148—152 inclu¬ sive in accordance with the level of the feature start signal BFSTR appearing on line 117. Upon reaching a count of 14 which is the width of a character bit map, the flip-flop 120 is reset by the generation of the match finish signal MATFNSH appearing on line 156. The resetting of the flip-flop 120 results in a high signal being outputted over line 126 to the NAND gate 128 enabling the clock signals BCK appearing on line 127 to down count the Counter 82. The output count of the Counter 82 (Fig. 5B) will be outputted by the buffer member 138 over lines 140 to the memory units 142-146 inclusive " (Fig ' . 5C) which are enabled at this time by the low signal appearing on the <2 output line 158 of the -^E4 OMPI flip- lop 120. The memory units 142-146 inclusive will write in the data bits of the data bit map outputted over lines 160 from the memory units 148-152 inclusive (Fig. 5C) which in turn are enabled by the high signal appearing on line 117 at an address in the memory units 142—146 inclusive in accordance with the output count of the Counter 82. The data bits stored in the memory units 142- 146 inclusive are outputted over lines 162 to the Demultiplexer unit 96 (Fig. 4A) comprising a 74LS150 decoder 164 (Fig. 5D) which, upon receiving data bits over lines 166 from the Channel Select Pointer unit 94 (Fig. 4A) identifying the top row of the character being scanned, results in the top row of data bits being outputted serially over line 168, through the inverter 170 (Fig. 5B), the AND gate 172 and over line 174 to a 74LS164 series-in-parallel-out shift register 176 (Fig. 5D) located in the Register unit 98 (Fig. 4A)„ The shift register 176 is clocked by the generation of the feature shift signals FEATSH appearing on line 178 to shift the first 7 bits of each row over line 180 to a second 74LS164 serial-in-parallel-out shift register 182. Thus, the first 7 bits of each row will appear on the parallel output lines 184 of the register 182 while the last 7 bits will appear on the parallel output lines 186 of the 74LS164 register member 176 (Fig. 5D). The 14 data bits are then applied to buffer members 188 and 190 (Fig. 5E) under the control of the signal IMLATCH appearing on line 232. The buffer members 188 and 190 are sequentially enabled by the signal U/L appearing on lines 192 selecting either the upper or lower 7 data bits, the signal U/L being inverted by the inverter 194 to output over lines 100 7 bits of each row of the data bit map to the plurality of 2732a EPROM Template look-up table members 196a-196n inclusive (Figs. 4B, 11-13 and 15—17) in which are stored the templates for the known fourteen characters. The EPROM Template members 196a-196n inclusive will compare each row of data bits received with the corresponding row in the stored tem¬ plates to generate information for use in identifying the unknown characters in a manner that will be ex¬ plained more fully hereinafter. Each row of data bits are clocked out of the buffer members 188 and 190 by the clock signal IMLATCH appearing on line 232 (Fig. 5E). As will be described more fully hereinafter, during the first matching operation of the Template look-up tables 196a-196n inclusive, the signal IMLATCH will clock the first 13 data bits of each row into the buffer members 188 and 190 from which they are inputted into the Tem¬ plate, look-up tables 196a-196n inclusive. After 13 data bits have been clocked out, the signal IMLATCH will be disabled. After the first matching operation has oc- curred, the signal IMLATCH will again be enabled to clock out the last data bit of each row. The look-up tables 196a-196n will perform a second matching oper¬ ation on the 14 data bits in each row. The AND gate 172 (Fig. 5B) is enabled by a high signal appearing on line 198 and outputted by the NOR gate 200 which receives input signals over lines 202 and 204 from a 74LS85 comparator member 206. The com¬ parator member 206 compares the output count of the Counter 82 with the output count of a second counter 208 (Fig. 7A) whose operation records the number of data bits being shifted into the register members 176 and 182 (Fig. 5D) . The output count of the counter 208 appears on line 210 while the output count of the Address Counter 82 is outputted from a 74LS174 latch member 212 which has latched the output count of the Counter 82 appearing on lines 136. Referring now to Figs. 7A-7D inclusive, there are disclosed the logic circuits of the Feature Select Control Logic unit 86 (Fig. 4A) and the Feature Matching Control Logic unit 104. Included in the Logic unit 86 is the 74LS393 counter 208 (Fig. 7A) which is clocked by the 10 MHz. bit clock signals BCK appearing on line 127 and transmitted through an AND gate 214, over line 178" as the feature shift signal FEATSH and through the inverter 216 to the clock input of the counter 208. The AND gate 214 is enabled by the. clocking of a flip-flop 218 which receives the new row signal NROW over line 220 transmitted through the AND gate 223 by a timing signal appearing on line 222. The output count of the counter 208 controls the shifting of each row of data bits between the memory units 148-152 inclusive (Fig. 5C) and the register members 176 and 182 (Fig. 5D). The count of the counter 208 is outputted over lines 224 to a 74LS244 buffer member 226 which outputs the count over lines 210 to the comparator 206 (Fig. 5B) which compares the output count of the Address Counter 82 (Fig. 5B) and 208 (Fig. 7A) , the latter of which enables the AND gate 172 (Fig. 5B) to output a selected row of data bits from the decoder 164 (Fig. 5D) to the shift register 176 in the manner described previously. On the generation of the 13th count, an AND gate 228 (Fig. 7A) is enabled to clock a 74LS74 flip-flop 230 (Fig. 7B) which outputs the high image latch signal IMLATCH over line 232. As previously described, this signal enables the first thirteen data bits of each row to be transferred from the register members 176 and 182 (Fig. 5D) to the buffer members 188 and 190 (Fig. 5E). Further included in the Feature Select Control Logic unit 86 (Fig. 4A) is a 74LS163 counter 234 (Fig. 7C) whose output count selects certain features which must be met when comparing the row of data bits with the template stored in the table look-up members 196a-196n inclusive. The counter 234 is enabled by the clocking of a flip-flop 236 (Fig. 7B) upon the output count of the counter 208 (Fig. 7A) reaching the count of 14. This latter count enables an AND gate 238 (Fig. 7A) to output a positive going pulse over line 239 which is inverted by the inverter 240 and transmitted to the clock input of the flip-flop 236 over line 242. The clocking of the flip-flop 236 results in a high signal being outputted over line 237 enabling the operation of the counter 234. The output count of the counter 234 represents the row of data bits being outputted over lines 100 (Fig. 5E). The output count of the counter 234 (Fig. 7C) is transmitted over lines 244 to a 74LS151 decoder member 246 in which features of a character are presented on the input lines 248. The output signal of the counter 234 appearing on line 245 will clock a flip- flop 247 after being inverted by the inverter 249. The flip-flop 247 will output the feature mark signal FMK over line 251 used in notifying the CPU 74 of the presence of a feature. Associated with the decoder 246 is an 82S115 EPROM member 250 (Fig. 7C) located in the Feature Match¬ ing Control Logic unit 104 (Fig. 4A) which receives over the input lines 252 data representing the character number and over lines 254 data representing the row number to be processed at this time. The EPROM member 250 in response to receiving these input signals will output over each of the output lines 248 signals indi¬ cating whether there is a feature required to be in that row. As each count of the counter 234 is inputted into the decoder 246, the decoder will select one of the input lines 248 connected to the EPROM member 250. If a feature is present which is required to be found in the row of data, a high signal will be present on the selec¬ ted line 248. If not, a low signal is present which disables a matching operation and allows the next row of data to be matched. If the input signal is high, a high signal will appear on the output line 256 of the decoder member 246 which is transmitted through the NOR gate 258 and line 259 to the D input of a 74LS74 flip-flop 260 (Fig. 7D) initiating a matching operation. Upon the clocking of the flip-flop 260 by the clock signals BCK (Fig. 19a) appearing on line 127 and inverted by the inverter 262 (Fig. 7C), the high Q output signal (Fig. 19b) appearing on line 264 of the flip-flop 260 (Fig. 7D) will enable a 74LS163 counter 266 to output a count over lines 192 to a 74LS154 multi¬ plexer 270. The multiplexer will output the following signals: latch clear (LATCLR) (Fig. 19c) over line 272, distance latch (D LATCH) (Fig. 19d) over line 274, logical latch (LLATCH) over line 276 and a low signal over line 278. The signal U/L appearing on the line 192 (Fig. 7D) enables the operation of the buffers 188 and 190 (Fig. 5E) to output the first 7 bits of the row (upper) or the last 7 bits (lower). The signal D/L appearing on line 193 identifies the comparison operation as either distance (D) or logical (L). These signals are inputted into the Template look-μp tables 196a-196n (Figs. 4B, 11-13 and 15-17 inclusive). The low signal appearing on the output line 278 of the multiplexer member 270 clears the flip-flop 260 when transmitted through the AND gate 280 which is enabled by the system reset signal BRST appearing on line 282 (Fig. 7D) . Referring now to Figs. 9A and 9B, there is shown the Template Select Multiplexer logic circuit 108 (Fig. 4B) for selecting the templates to be compared together with the Row Counter unit 112 (Fig. 4B) and the Channel Select unit 94 (Fig. 4A) . The Multiplexer cir¬ cuit 108 includes a 74LS393 counter 284 (Fig. 9A) clocked by the new character signal NCHAR going high over line 286 indicating that a new character is being processed. The output count of the counter 284 representing the known character being processed will appear on the output lines 252 for transmission to the EPROM member 250 (Fig. 7C) for use in selecting the feature which is to be found on the row of data bits being examined. The output count is also inputted over lines 252 to a 74LS154 multiplexer unit 287 which will sequentially drive a low signal over each of its output lines 288 enabling each of the Template EPROM look-up table members 196a-196n inclusive (Figs. 11-13 and 15-17 inclusive) to compare each row of data bits received with the corresponding row in the templates of the known characters. O PI - Upon the counter 284 reaching a count of 14 indicating that the matching of the row has been com¬ pleted, a negative to positive transition appearing on line 290 will increment a 74LS393 counter 292 (Fig. 9A) which outputs the new row signal NROW over line 220 for each row of the bit map being processed. This signal is inverted by the inverter 296 and is then transmitted over line 298 to the clock input of the 74LS393 Row Counter 112 (Figs. 4B and 9A) . The output count of the Counter 112 represents the row of data bits being processed and is transmitted over line 254 to the EPROM member 250 (Fig. 7C) for use in the selection of the feature to be compared. The signal on the output line 302 of the Counter 112 is inverted by the inverter 304 and transmitted over line 306 to an AND gate 308 whose output signal will preset a 74LS74 flip-flop 310. The flip-flop 310 is also clocked by. the timing signal appearing on line 222 and transmitted over line 312 from the inverter 314. The clocking of the flip-flop 310 will output the inverted match finish signal MATFNSH over line 316 together with the match finish signal MATFNSH over line 156, the latter signal clearing the flip-flop 120 (Fig. 5A) initiating the start of matching of another character. Both the counters 292 and 112 are reset after reaching a count of 14 in re¬ sponse to the signals appearing on the output lines 298 and 302 respectively, which are transmitted through the AND gates 318a and 318b. The output signal from the counter 292 Fig. 9A) appearing on line 220 (Fig. 9A and 9B) is also inputted into a 74LS192 counter 320 (Fig. 9B) located in the Channel Select Pointer circuit 94 (Fig. 4A) whose output count appearing on the output lines 166 is inputted into the decoder 164 (Fig. 5D) for use in selecting the features required of the row of data bits being examined. The counter 320 is preloaded with data bits -identifying-the top channel of the character data ϊυ E OMPI bit map which data bits are outputted from a 74LS174 dual flip-flop member 322 which in turn has received the data bits over the lines 92 from the Unfolding Logic unit 64 (Fig. 1) . Referring now to Figs. 10 and 14 and 18A and 18B inclusive, there are shown the logic circuits for accumulating the distances and the logical violations found as the result of the template matching. The row of data bits appearing on the output lines of the buf- fers 188 and 190 (Fig. 5E) are inputted into buffers 321a-321d inclusive (Figs. 10 and 14) together with the signal D/L, U/L and the signals FEAT-0-FEAT-2 (Fig. 7C) identifying the features to be matched. The buffers 321a-321d inclusive will output the same signals at an increased signal strength and transmit the signals to each of the look—up tables 196a-196n (Figs. 11-13 and 15-17 inclusive) . Taking the look-up table 196a (Fig. 11) as a typical example of the signals generated as a result of the operation of the table, the signals BIMG 0-6 inclusive in each row of the unknown character are outputted over lines 100a of the buffers 321a-321d inclusive (Figs. 10 and 14) and inputted into each of the look-up tables 196a-196n inclusive which in turn are sequentially enabled by the signal appearing on line 288 of the multiplexer unit 287 (Fig. 9A) . Also inputted into the tables are the feature signals BFEAT 0-2 inclu¬ sive. The look-up tables 196a-196n inclusive will compare each row of signals with the features that are allowed to occur in that row. The tables will output over lines 323 (Fig. 11) the data bits DATA 0-7 inclusive with the data bits DATA 0-3 inclusive identifying the number of logical violations while the data bits DATA 4-7 inclusive represent data characterized as a "distance" which reflects the differences between the weighted values of the bit positions in the row of data bits when compared with the templates in the tables 196a-196n. The data signals DATA 0-7 inclusive are input¬ ted into the buffers 325 (Figs. 10 and 14) which increase the signal strength of the signal and output the signals over lines 326 into a pair of 74LS283 accumulators 328 and 330 (Fig. 18A) which will accumulate the total distances outputted from the look-up tables 196a-196n 5 inclusive as a result of a template matching operation. « . These signals are transmitted over lines 332 to a 74LS273 latch member 334 which latches the output of accumulators 328 and 330 upon the generation of the signal DLATCH (Fig. 19d) over line 274. The input lines 326 are also 10 coupled to a 74LS283 accumulator member 336 (Fig. 18B) which outputs the total logical violations into a 74LS273 latch member 338 over lines 340. The latch member 338 also receives over lines 244 the signals FEAT 0-2 inclu¬ sive-identifying the feature being matched by the table 15 and the signal FMK (Fig. 7C) appearing on line 251. The latch member 338 is controlled by the signals LLATCH appearing on line 276. Both the latches 334 and 338 are cleared by the signal LAT CLR appearing on line 272 at the start of each matching operation. The values repre- 20 senting the total distances and the total logical viola¬ tions for each template are inputted over lines 342 and 332 into a pair of 74LS244 buffers 346 and 348 with the buffer 346 outputting the total logical violations over lines 350 to the central processing unit 74 (Fig. 1) 25 while the buffer 348 outputs the total distances over lines 352. In the operation of the system, data signals representing the 14 x 10 bit map of the characters being scanned appearing on the lines 154 (Fig. 5C) are first 30 loaded into the RAM buffer units 148-152 inclusive and then into the RAM buffer units 142-146 inclusive (Fig. 5D) under the control of the Counter 82 (Fig. 5B) . These columns of data bits are then transmitted to the decoder 164 which also receives over lines 166 from the 35 counter 320. (Fig. 9B) data signals identifying which row of the bit map comprises the top row of the charac¬ ter. The selected top row of fourteen data bits is then transmitted through the serial-in-parallel-out registers 176 and 182 (Fig. 5D) from where the data bits are shifted into the buffer units 188 and 190 (Fig. 5E) which output each row of the bit map to all of the Template look-up tables 196a-196n inclusive (Figs. 11-13 and 15-17 inclusive) in which each table matches the row of the data bits with the templates stored therein. The templates comprise the features which must be found in each row to match the character associated with the table. The tables 196a-196n will perform two matching operations on each row of data. The data bits of each row are shifted from the registers 176 and 182 (Fig. 5D) to the buffers 188 and 190 (Fig. 5E) under the control of the signal IMLATCH appearing on line 232 and out¬ putted by the flip-flop 230 (Fig. 7B) . The flip-flop 230 is clocked by a high signal outputted by the AND gate 228 (Fig. 7A) upon the counter 208 (Fig. 7A) reach¬ ing a count of thirteen to output the signal IMLATCH over line 232 enabling the first thirteen bits of each row to be stored in the buffer members 188 and 190. Upon the first 13 bits of each row being shifted into the buffers 188 and 190 and then into the look-up tables 196a-196n inclusive, the multiplexer 287 (Fig. 9A) will be enabled by the operation of the counter 284 (Fig. 9A) to start outputting the look-up tables 196a-196n inclusive enabling signals BMAP0-BMAP14 re¬ sulting in the tables 196a-196n inclusive performing the first matching operation on the first thirteen bits in the row. Upon the multiplexer 287 outputting the high signal BMAP-12 over line 354, the signal is input- ted into the AND gate 356 (Fig. 7A) and outputted over line 358 to the clear input of the flip-flop 230 (Fig. 7B) resetting the flip-flop thereby disabling the signal IMLATCH. The output count of the counter 208 is also transmitted through the AND gate 238 (Fig. 7A) over line 239, through the NAND gate 240 (Fig. 7B) to the clock input of the flip-flop 236 whose Q output signal appear¬ ing on line 237 enables the counter 234 (Fig. 7C) whose output count is used by the demultiplexer 246 to identify the feature that is required to be matched in the row of data bits that is presently being examined by the Template tables 196a-196n inclusive. 5 Upon the multiplexer 287 (Fig. 9A) outputting the high signal BMAP-14 over line 290 at the conclusion i i of the first matching operation, the flip-flop 292 is clocked to output a high signal over the Q output line 293 and through the OR gate 362 (Fig. 7B) clocking the 10 flip-flop 230. The clocking of the flip-flop 230 will again output the high signal IMLATCH which enables the fourteenth bit of the row to be shifted into the buffers 188 and 190 enabling the look-up tables 196a-196n inclusive to perform a second matching operation on the 15 fourteen bits in the row. During a feature comparison operation, each bit of the feature is compared simultaneously to each bit of the row of the unknown bit map. If the bit values are equal, that is, both l's or both 0's, no 20 * weighting values are generated. If, however, the bit value is different, then the weight associated with the bit is accumulated. If the bit weight was a logical, then a logical counter within the table is incremented. When all 14 bits of the feature have been compared, the 25 total accumulated weight, which is called the "distance", together with * the number of logical violations, form a figure of merit for the correlation of the feature to the row of the bit map. The lower the number, the better the correlation. When more than one feature is 30 allowed in a given row, each feature is compared in turn and the results (distance and number of logical viola¬ tions) are stored. When all features have been com¬ pared, an effective distance is formed for each by the following formula: 35 Eff. Dist. = Distance + 16 x (Number of Logical Violations) ^3 EΛ OMPI Then the selected character is the one having the minimum effective distance. The following rules apply: Do not select a feature having more than one logical violation. If all features have more than one logical violation, then the first feature of the group is accepted since one feature must be selected. In accordance with the feature matching oper¬ ation described above, the output data of the look-up tables 196a-196n will be transmitted over lines 326 to the accumulators 328 and 330 (Fig. 18A) which accumulate the distance values for each of the templates and the accumulator 336 (Fig. 18B) which sums the logical vio¬ lations generated. The sum of the logical violations for the bit map is outputted through the latch 338 and the buffer 346 for transmission over lines 350 to the CPU 74 (Fig. 1). In a similar manner, the total dis¬ tances generated for the bit map are outputted through the buffer unit 348 and over lines 352 to the CPU 74. The EPROM look-up tables 196a-196n inclusive will perform two other feature matching operations first. In the first operation, the look-up tables force certain distinguishing features of a character's feature set into the unknown bit map even if another feature which is allowed in the row may have a lower effective distance. This operation is necessary since it can never be predicted exactly where certain features will occur in the bit map due to the doubling effect described earlier. Referring again to the features and rules for a "2" (Figs. 2A and 2B), it is observed that Feature 2 (F2) will ideally occur in both rows 2 and 3. However, due to doubling, it may occur in either row 2 or row 3 but not necessarily both. Therefore, Fl must be allowed in rows 2 and 3 as well; in fact, Fl is allowed in every row. Since F2 is a distinguishing feature of the "2", it must be selected in either row 2 or 3. Similarly, F3 must be selected in either row 5 or " J E 6. By forcing these two features, a high effective distance is insured when comparing the "2" feature set to a bit map that it not a character "2". This reduces the probability of misreading. This operation, in effect, performs a function which is exactly complemen¬ tary to the normal feature selection operation. It selects which of the given number of rows is the best match for a certain feature instead of selecting the best match of a number of features in a certain row. In the second operation, the look-up tables perform a feature selection for every row that has not already been matched by either of the previous two feature matching operations. When all eight rows have been matched, the comparison is complete and the distance and number of logical violations for each row are stored in the latch members 334 (Fig. 18A) and 338 (Fig. 18B) . The three operations just described are repeated for each character feature set until all fourteen character feature sets have been compared. The resulting data is then transmitted over lines 350 (Fig. 18B) and 352 to the CPU 74 (Fig. 1) which in response to the data re¬ ceived selects that character which most closely resem¬ bles the unknown character in accordance with the data bits received. The integrated circuit networks having a numerical designation disclosed herein are commercially available from the Texas Instruments Corporation of Dallas, Texas. While the principles of the invention have now been made clear in an illustrated embodiment, it will be obvious to those skilled in the art that many modifica¬ tions of structure, arrangements, elements and compo¬ nents can be made which are particularly adapted for specific environments without departing from those principles. OMPI

Claims: CLAIMS : 1. A method for recognizing an unknown char¬ acter, characterized by the steps of generating a plurality of parallel rows of first binary signals representing characteristics of the unknown character, comparing each row of first binary signals with sets of second binary signals, each set representing a respec¬ tive known character and comprising first feature char¬ acteristic signals and second feature characteristic signals, generating in respect of each row of first binary signals a first output signal representing dif¬ ferences between the row and said first feature charac¬ teristic signals and a second output signal representing differences between the row and said second feature characteristic signals, and identifying the unknown character on the basis of said first and second output signals produced in respect of each row. 2. A method according to claim 1, charac¬ terized by the step of accumulating said first output signals and said second output signals in respect of each known character, the unknown character being iden- tified on the basis of the accumulated first and second output signals. 3. A method according to claim 2, character¬ ized by the steps of assigning to each of said first feature characteristic signals a numerical value in accordance with the importance of this signal to the configuration of the relevant known character, assigning to each of said second feature characteristic signals a fixed numerical value greater than any of the numeri¬ cal values assigned to said first feature characteristic signals, accumulating in respect of each known character the numerical values corresponding to said first and second feature characteristic signals, and identifying 3 . ( concluded) the unknown character as that one of the known characters in respect of which the lowest total numerical value is accumulated. 4. A method according to any one of the pre¬ ceding claims, characterized in that each row of first binary signals is compared twice with said sets of second binary signals, the combination of first binary signals that is compared during the second comparison being different from the combination of first binary signals that is compared during the first comparison. 5. A method according to claim 4, character¬ ized in that the number of first binary signals compared during the second comparison is different from the number of first binary signals compared during the first comparison. 6. An apparatus for recognizing an unknown character, characterized by generating means (58) for generating rows of first binary signals representing characteristics of the unknown character, first storing means (176, 182) for storing the rows of first binary signals, storing and comparing means (196a-196n) connec¬ ted to said first storing means (176, 182) for storing sets of second binary signals, each set representing a respective known character and comprising first feature characteristic signals and second feature characteristic signals, said storing and comparing means (196a-196n) being arranged in respect of each row to compare the row with each of said sets and to produce a first output signal representing differences between the row and said first feature characteristic signals and a second output signal representing differences between the row and said second feature characteristic signals, accumu¬ lating means (328, 330; 336) connected to said storing OMPI 6. (concluded) and comparing means for accumulating said first output signals and said second output signals in respect of each known character, and processing means (74) connec¬ ted to said accumulating means and arranged to identify the unknown character on the basis of the accumulated first and second output signals. 7. An apparatus according to claim 6, char¬ acterized in that said accumulating means comprises first accumulating means (328, 330) arranged to accumu¬ late in respect of each known character numerical values representing differences between the rows of first binary signals and said first feature characteristic signals of the relevant set, and second accumulating means (336) arranged to accumulate in respect of each known character the number of first binary signals which do not correspond with those second binary signals of the relevant set represented by said second feature characteristic signals. 8. An apparatus according to either claim 6 or claim 7, characterized by control means (230) arranged to control the feeding of said first binary signals from said first storing means (176, 182) to said storing and comparing means (196a—196n) whereby each row of said first binary signals is compared twice with said sets of second binary signals, the combination of first binary signals that is compared during the second comparison being different from the combination of first binary signals that is compared during the first comparison. 9. An apparatus according to claim 6, char¬ acterized by counter means (234) connected to said storing and comparing means (196a-196n) and arranged to identify those features of said sets which are required to be matched with a particular row of said first binary signals, ^tJ E4 O PI 10. An apparatus according to claim 6, char¬ acterized by means (246, 250) arranged to disable match¬ ing of a row of first binary signals with a set of said second binary signals if said row is not required to have a feature characteristic signal.

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