Hand-written character recognition apparatus

Abstract: A hand-written character recognition apparatus comprises a buffer (15) for deriving and storing characteristics of the hand-written stroke data, a buffer (16) for storing rectangular outline data of the hand-written stroke data, a character dictionary (18) for storing characteristics of strokes of characters and directional relations of partial rectangular outline data of characters, and a character recognition circuit (19) for determining characters of the hand-written stroke data by comparing characteristics and directional relations of partial rectangular outline data of the hand-written stroke data with those stored in the character dictionary (18).

Description: This invention relates to hand-written character recognition apparatus. Hand-written character recognition apparatus of the on-line type generally executes the following two steps: Extract various characteristics (stroke data) from strokes of a hand-written character manually written on a tablet Compare the extracted stroke data with the characteristics (evaluation codes) of characters stored in a character recognition dictionary and output a character code of a character which is sufficiently identical with the evaluation code stored in the dictionary. When the processing in the second step is carried out, a Japanese Kanji character is decomposed into partial structures such as a left-hand side radical, a right-hand side radical or the like, and the character recognition dictionary is formed on the basis of such partial structures. This type of dictionary will be referred to hereinafter as a 'partial structure dictionary'. If the character recognition dictionary is formed such that the parts whose comparison and evaluation are common comprise the partial structure dictionary, the storage capacity of the character recognition dictionary can be reduced. The writing order of Kanji characters, that is the order in which the strokes are written, is not always the same and writers often use different writing orders. Accordingly, a hand-written character recognition apparatus must be able to deal with writers' various different writing orders, so that several writing orders must be included in the partial structure dictionary. However, it is frequently observed that, even when a plurality of writing orders are included in the partial structure dictionary, there are cases where a directional relation of two partial structures of the character cannot be evaluated. As a result, the recognition speed of the input character is lowered and interference between characters is increased, thereby reducing the recognition ratio of the character. PROCEEDINGS TENCON 87 IEEE REGION 10 CONFERENCE, vol. 1, 25-28 August 1987, SEOUL, KOREA, pages 91-95 Y-T JUANG 'On Line Recognition of Handwritten Chinese Characters: A Syntactic-Semantic Approach' discloses an approach based on separation of the character into radicals; radicals are determined by adding strokes until a stroke is too far outside a rectangle surrounding the previous strokes. Individual radicals are recognised using a transition table. Disambiguation between characters with the same radicals is carried out by a semantic check. According to the present invention there is provided a hand-written character recognition apparatus comprising: input means for generating hand-written stroke data; means for deriving and storing characteristics of the hand-written stroke data corresponding to a hand-written character; means for storing respective partial rectangular outline data for the hand-written stroke data, each corresponding to the rectangular outline of the character as successive strokes are added; means for storing respective remaining partial rectangular outline data for the stroke data, each corresponding to the rectangular outline of the character as successive strokes are removed in the writing order; character dictionary means for storing evaluation data indicative of characteristics of strokes of characters and directional relation data indicative of directional relationships of partial rectangular outline data of characters; and character recognition means responsive to the stroke characteristic data, the rectangular outline data and the remaining rectangular outline data, the character recognition means comprising (a) partial structure detecting means for detecting partial structures within the character corresponding to the partial rectangular outline data by comparing the stroke characteristic data with the evaluation data stored in the character dictionary means; and (b) means for detecting characters of the hand-written stroke data by comparing directional relations of the rectangular outline data for the recognised partial structures with the directional relation data stored in the character dictionary means. Thus an embodiment of hand-written character recognition apparatus may comprise an input circuit for generating hand-written stroke data, a circuit for deriving and storing characteristics of the hand-written stroke data, a memory for storing rectangular outline data of the hand-written stroke data, a character dictionary memory for storing the characteristics of strokes of characters and directional relations of partial rectangular outline data of characters, and a character recognition circuit for determining characters of the hand-written stroke data by comparing the characteristics and directional relations of partial rectangular outline data of the hand-written stroke data with those stored in the character dictionary memory. The invention will now be described by way of example with reference to the accompanying drawings, throughout which like parts are referred to by like references, and in which: Figure 1 is a block diagram of an embodiment of hand-written character recognition apparatus according to the present invention; Figure 2 is a schematic diagram used to explain rectangular outline data of the input character; Figure 3 is a schematic diagram used to explain rectangular outline data and stroke data of the input characters; Figures 4A and 4B are schematic diagrams used to explain a directional relation of two partial structures, respectively; and Figure 5 (formed of Figures 5A and 5B) is a flow chart for explaining the operation of the embodiment. Referring initially to Figure 1, when a character is written on a tablet 11, the tablet 11 generates output data. The output data from the tablet 11 are supplied to a pre-processing circuit 12, in which the data undergo pre-processing such as removal of noise components, polygonal line approximation and the like. The data thus pre-processed is supplied to and stored in an input buffer 13. A stroke characteristic extracting circuit 14 extracts a stroke characteristic for each stroke of the input character from the data stored in the input buffer 13 and outputs it as stroke data. The stroke data are stored in a stroke characteristic buffer 15, and rectangular outline data GK and NK are stored in a rectangular outline data buffer 16. Let us now assume a rectangle QR which circumscribes a partial structure as shown, for example, in Figure 2. Also, points 1 to 8 are vertices of the rectangle QR, and centre points of the respective sides thereof as shown in Figure 2. Then, the rectangular outline data GK and NK will define coordinate data of the points 1 to 8 on the tablet 11. As illustrated in the left of, for example, Figure 3 (a fine solid line shows the rectangle QR which circumscribes the partial structure, and a dashed line shows a rectangle which circumscribes a character), the position data (points) 1 to 8 are obtained from rectangles QR by calculation each time the stroke data are added as shown in the left side of Figure 3 in the case of data GK (even although all of such data # 1 to # 8 are not shown in the figure). The rectangular outline data buffer 16 stores in a first area rectangular outline data GK of a first stroke of stroke data, in a second area rectangular outline data GK of first and second strokes, and in a third area rectangular outline data GK of first to third strokes, etc. Thus, the rectangular outline data buffer 16 stores in n areas rectangular outline data GK of the first nth strokes. Further, as shown in the right of Figure 3, the data NK are obtained from rectangles QR each time stroke data are removed, as shown in the right side of Figure 3. That is, the rectangular outline data buffer 16 stores in a first area the remaining rectangular outline data NK from which the first stroke of stroke data is removed, in a second area the remaining rectangular outline data NK from which first and second strokes of stroke data are removed, and in a third area the remaining rectangular outline data NK from which the first to third strokes of stroke data are removed, etc. Thus, the rectangular outline data buffer 16 stores in n areas the remaining rectangular outline data NK from which the first to nth strokes are removed. In this fashion, with respect to one character written on the tablet 11, the stroke data are generated for each stroke and are sequentially stored in the stroke characteristic buffer 15. Also, the rectangular outline data GK and NK thereof are stored in the rectangular outline data buffer 16. As shown in Figure 1, when the data of one character has been stored in the buffers 15 and 16, then a recognition circuit 17 compares the stroke data stored in the buffer 15 by using evaluation codes stored in a recognition dictionary 18. Various evaluation codes and evaluation methods are prepared and stored in the recognition dictionary 18, and the evaluation of the stroke data is carried out in accordance with these evaluation codes and evaluation methods. The evaluation codes stored in the dictionary at least include stroke information such as length, direction, position, curvature, etc. The contents of the recognition dictionary 18 concerning the rectangular outline data will now be described. Considering Japanese Kanji characters [ ] and [ ] by way of example, it is to be understood that [ ] is described in a partial structure dictionary of [ ] and a partial structure dictionary of [ ] and that [ ] is described in a partial structure dictionary of [ ] and a partial structure dictionary of [ ]. The writing orders of the partial structures [ ] and [ ] are not restricted. Although the partial structures [ ] and [ ] cannot be discriminated from each other without difficulty, it is to be noted that, as shown in Figure 4A, the Japanese character [ ] is formed by the combination of the partial structure [ ] and the partial structure [ ] located in the lower right direction of the former partial structure [ ], and that, as shown in Figure 4B, the Japanese character [ ] is formed by the combination of the partial structure [ ] and the partial structure [ ] located below the former partial structure [ ]. Accordingly, by checking the upper left direction of the partial structure [ ] from the lower right point of the partial structure [ ] or [ ], it is possible to discriminate the Japanese characters [ ] and [ ] from each other. Therefore, the recognition dictionary 18 further stores therein a code by which a direction between a certain point #m of the points #1 to #8 of a certain partial structure and a certain point #n of points #1 to #8 of the next partial structure is designated. For example, in the case of Figures 4A and 4B, the partial strokes of [ ] and [ ] are examined. In the case of Figures 4A and 4B, the directional relation between data #4 of [ ] and data #4 of [ ] is examined. For the character [ ] depicted in Figure 4A, the data #4 of NK, namely [ ] is positioned at the lower right of the data #4 of GK, namely [ ]. On the other hand, for the character [ ] depicted in Figure 4B, the data #4 of NK, namely [ ] is positioned at the lower left of the data #4 of GK, namely [ ]. Thus, although the two characters [ ] and [ ] have similar partial structures, the difficulty of recognition is alleviated by determining the directional relationship between the corresponding rectangular data GK and NK. When a certain direction between two points is checked by using the rectangular outline data while the recognition dictionary 18 is scanned, the rectangular outline data GK and NK are read out from the rectangular outline data buffer 16 in order to check the direction between the points #m and #n designated in the recognition dictionary 18. In that event, the point #m in the rectangular outline data GK from the rectangular outline buffer 16 is the point on the rectangular outline (partial structure) that is already checked, whereas the point #n is the point on the rectangular outline that is not yet checked. The direction between these points #m and #n is checked. When the rectangular outline data and the directional data are checked and recognized results are obtained, the recognized data are generated from the recognition circuit 17 and saved in an output buffer 19. Figure 5 shows an example of a processing routine followed by, for example, a microprocessor (not shown) which makes up some of the elements shown in Figure 1, in which characters are recognized by utilizing the aforementioned rectangular outline data according to the software program. Referring to Figure 5, when the input of a character to the tablet 11 is started, the routine begins with step 21. In step 22, input one stroke data is pre-processed and the characteristic of the one stroke is extracted from the one stroke data as stroke data and is stored in the stroke characteristic buffer 15. In the next step 23, rectangular outline data GK is obtained from the thus extracted stroke data and the rectangular outline data GK is stored in the rectangular outline data buffer 16 at its corresponding area. In step 24, it is determined whether or not the input of the character to the tablet 11 is finished, for example writing on the tablet has ceased for a predetermined time period. If a NO is output at decision step 24, the routine returns to step 22. In this way, when a character is written on the tablet 11, stroke data are stored for each stroke in the stroke characteristic buffer 15. As, for example, shown in the left of Figure 3, rectangular outline data GK are stored at every stroke in the rectangular outline data buffer 16 at each area. If the input of character data of one character to the tablet 11 is finished as represented by a YES at decision step 24, then the routine proceeds from step 24 to step 25. In step 25, by utilizing the stroke data stored in the stroke characteristic data buffer 15, the remaining rectangular outline data NK are sequentially stored for each stroke in the rectangular outline data buffer 16 at its respective areas as, for example, shown in the right of Figure 3. The routine proceeds to the next decision step 31, and it is determined in decision step 31 whether the recognition dictionary 18 designates the evaluation of a partial structure or not. If a YES is output at decision step 31, the routine proceeds from step 31 to step 32. In step 32, the partial structure is evaluated by the partial structure dictionary and in the next decision step 33, it is determined whether or not the evaluated result of the partial structure in step 32 is satisfactory. if a YES is output at step 33, then the routine proceeds from step 33 to step 34. In step 34, rectangular outline data GK of the successful partial structure is stored in the buffer 16. The routine proceeds to the next decision step 35. It is determined in decision step 35 whether or not the next partial structure is evaluated. If a YES is the answer at step 35, then the routine returns from step 35 to step 31, and steps 31, 32, 33, 34 and 35 are repeated. On the other hand, if a NO is output at step 35, the routine proceeds from step 35 to step 36. In step 36, the result of scanning the recognition dictionary 18, that is the character code of the recognized result is stored in the output buffer 19. In the next decision step 37, it is determined whether or not the scanning of the recognition dictionary 18 is ended. If a NO is output at step 37, the routine returns from step 37 to step 31 and the steps 31 to 37 are repeated. If it is determined that the scanning of the recognition dictionary 18 is ended as represented by a YES at step 37, the routine is ended with step 38. Thus, the character of the recognized result is displayed on a display apparatus (not shown). If the evaluated result is not satisfactory as represented by a NO at decision step 33, then the routine proceeds from step 33 to step 37. If the partial structure is not evaluated as represented by a NO at decision step 31, then the routine proceeds from step 31 to the next decision step 41. In decision step 41, it is determined whether or not the directional data between two partial structures is evaluated. If a YES is output at step 41, then the routine proceeds from step 41 to step 42. In step 42, the directional relation between the rectangular outline data GK stored in step 34 of the rectangular outline data GK and NK stored in the rectangular outline data buffer 16 and rectangular outline data NK forming the pair with the former data is determined. In the next decision step 43, it is determined whether or not the result in step 42 is satisfactory. If a YES is output at step 43, the routine proceeds from step 43 to step 35. If on the other hand the result is not satisfactory, the routine proceeds from step 43 to step 37. Further, if it is determined in decision step 41 that the evaluation is not the directional relation between two partial structures, the routine proceeds from step 41 to step 51. In step 51, the evaluation is performed by another method and in that next decision step 52, the evaluated result is checked. Such other methods refer to known character recognition procedures which do not require partial structure recognition and the recognition of directional relations between the data m and n. If the evaluated result is satisfactory as represented by a YES at step 52, then the routine proceeds from step 52 to step 35. Whereas, if a NO is output at step 52, the routine proceeds from step 52 to step 37. As described above, hand-written characters can be recognized. In particular, the partial structure thus evaluated and the partial structure which is not yet evaluated are obtained and the directional relation between these two partial structures is evaluated to recognize the input hand-written character so that, although the stroke orders within the partial structures are not the same, the partial structures can be stably evaluated and the recognition speed can be increased. Also, interference between characters can be reduced and therefore, the recognition ratio can be increased.

Claims: A hand-written character recognition apparatus comprising: input means (11) for generating hand-written stroke data; means (15) for deriving and storing characteristics of the hand-written stroke data corresponding to a hand-written character; means (16) for storing respective partial rectangular outline data (GK) for the hand-written stroke data, each corresponding to the rectangular outline of the character as successive strokes are added; means (16) for storing respective remaining partial rectangular outline data (NK) for the stroke data, each corresponding to the rectangular outline of the character as successive strokes are removed in the writing order; character dictionary means (18) for storing evaluation data indicative of characteristics of strokes of characters and directional relation data indicative of directional relationships of partial rectangular outline data of characters; and character recognition means (17) responsive to the stroke characteristic data, the rectangular outline data (GK) and the remaining rectangular outline data (NK), the character recognition means comprising (a) partial structure detecting means for detecting partial structures within the character corresponding to the partial rectangular outline data by comparing the stroke characteristic data with the evaluation data stored in the character dictionary means; and (b) means for detecting characters of the hand-written stroke data by comparing directional relations of the rectangular outline data for the recognised partial structures with the directional relation data stored in the character dictionary means (18).

Inventors: CHATANI MASAYUKI, SAKANO AKIO, TAMORI HIROFUMI, YOSHIDA KIMIYOSHI, CHATANI, MASAYUKI, SAKANO, AKIO, TAMORI, HIROFUMI, YOSHIDA, KIMIYOSHI, CHATANI, MASAYUKI, C/O PATENTS DIVISION, SAKANO, AKIO, C/O PATENTS DIVISION, TAMORI, HIROFUMI, C/O PATENTS DIVISION, YOSHIDA, KIMIYOSHI, C/O PATENTS DIVISION
Applicants: SONY CORP, SONY CORPORATION
Application year: 1990
Main classification: G06K9
IPC codes: G06K9