DE69331648T2 - Zeichenerkennungsverfahren und -gerät - Google Patents
Zeichenerkennungsverfahren und -gerätInfo
- Publication number
- DE69331648T2 DE69331648T2 DE69331648T DE69331648T DE69331648T2 DE 69331648 T2 DE69331648 T2 DE 69331648T2 DE 69331648 T DE69331648 T DE 69331648T DE 69331648 T DE69331648 T DE 69331648T DE 69331648 T2 DE69331648 T2 DE 69331648T2
- Authority
- DE
- Germany
- Prior art keywords
- character
- lines
- curvature
- input
- pattern
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 34
- 239000013598 vector Substances 0.000 claims description 27
- 238000000605 extraction Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims 3
- 238000004364 calculation method Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 10
- 235000016496 Panda oleosa Nutrition 0.000 description 5
- 240000000220 Panda oleosa Species 0.000 description 5
- 238000013075 data extraction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012850 discrimination method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000006996 mental state Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/24—Character recognition characterised by the processing or recognition method
- G06V30/242—Division of the character sequences into groups prior to recognition; Selection of dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Character Discrimination (AREA)
- Character Input (AREA)
Description
- Die Erfindung betrifft ein Zeichenerkennungsverfahren und eine Zeichenerkennungsvorrichtung, bei welchen selbst im Falle einer gemischten Eingabe einer Vielzahl von Arten von Zeichen wie etwa Kanji (oder chinesische Zeichen), Kana (oder japanische Zeichen), alphabetische Zeichen, Zahlen und dergleichen die Zeichen durch einen für ein jedes eingegebenes Zeichen geeigneten Erkennungsalgorithmus erkannt werden können.
- Bisher gibt es eine Vorrichtung, die alle eingegebenen Zeichen durch eine Art eines Erkennungsalgorithmus und eine Art eines Verzeichnisses erkennt. Gemäß einer derartigen Vorrichtung tritt jedoch der Umstand auf, dass ein vorbestimmter Erkennungsalgorithmus in Abhängigkeit der Art oder der Eigenschaften des eingegebenen Zeichens nicht auf das eingegebene Zeichen angewendet werden kann und eine Änderung in den Resultaten einer Erkennung im Hinblick darauf auftritt, ob das eingegebene Zeichen in korrekter Weise erkannt werden könnte oder nicht. Falls andererseits die Zahl der Verzeichnisarten gleich eins ist und alle die Standardmuster als Ziele hinsichtlich einer Erkennung gespeichert wurden sind, nimmt die Abstimmung mit allen den Standardmustern Zeit in Anspruch und ist die Erkennungseffizienz gering.
- Bislang gibt es eine Vorrichtung, mit der ein unabhängiges Verzeichnis oder ein unabhängiger Erkennungsalgorithmus für eine jede Art von eingegebenen Zeichen bereitgestellt wird und der Zeichentyp immer bei Eingabe eines Zeichenmusters festgelegt wird und das Verzeichnis oder der Erkennungsalgorithmus geschaltet wird.
- Gemäß den vorstehend angeführten Verfahren zur weiteren Eingabe zusätzlicher Daten (Daten zur Festlegung des Zeichentyps) ist jedoch, immer wenn ein Zeichenmuster eingegeben wird, doppelte Arbeit notwendig, womit die Fortführung des Eingabevorgangs einer Zeichenfolge oder dergleichen behindert wird. Die Bedienungseffizienz wir folglich gering.
- Im Falle eines Belegs bzw. Papiers oder dergleichen, bei welchen eingegebene Zeichen für einen jeden eingegebenen Bereich vorausgesagt werden können, wird bisher der Zeichentyp vorab für einen Eingabebereich festgelegt und wird das dem Eingabebereich eingegebene Zeichenmuster durch ein für den Zeichentyp geeignetes Verfahren erkannt, welches für einen derartigen Bereich festgelegt ist.
- Ein derartiges Verfahren kann jedoch nur auf ein Dokument wie etwa einen Beleg bzw. ein Papier oder dergleichen mit einem festen Format angewendet werden, weshalb der Freiheitsgrad gering ist.
- Gemäß der JP-A-64-21588 ist eine Vorrichtung bekannt, bei welcher ein großes eingegebenes Zeichen als "kanji"- Zeichen beurteilt wird und ein kleines eingegebenes Zeichen auf der Grundlage der Größe des eingegebenen Zeichens oder einer Position in einem Zeichenbild als "kana"-Zeichen, alphabetisches Zeichen oder als Zahl festgelegt wird und das eingegebene Zeichen durch einen für den jeweiligen Zeichentyp geeigneten Erkennungsalgorithmus erkannt wird.
- Jedoch ändert sich die Zeichengröße oder die Zeichenposition in dem Zeichenbild in Abhängigkeit der persönlichen Gewohnheit der Person, welche das Zeichen eingibt, oder einer Situation bei dem Eingabevorgang. Die Größe des eingegebenen Zeichens ist in Abhängigkeit des Zeichentyp nicht immer konstant, so das eine Erkennungsrate nicht verbessert wird.
- "Patent Abstract of Japan", Jahrgang 8, Nummer 6 (P-247), 12. Januar 1984, gemäß der JP-A-58-169296, offenbart eine Online-Erkennungsvorrichtung eines handgeschriebenen Zeichens, das verschiedene Abgleichverfahren für eine Zeichenerkennung gemäß der Strich- bzw. Linienzahl eines eingegebenen Zeichens verwendet.
- Ferner betrifft "Patent Abstract of Japan", Jahrgang 4, Nummer 127 (P-026), 6. September 1980, gemäß der JP-A-55- 80183, ein Online-Erkennungsverarbeitungssystem eines handgeschriebenen Zeichens, das eine ausreichende Erkennungsfähigkeit durch Änderung der Zahl an aus einer Linie zu entnehmenden Merkmalspunkten gemäß der Zahl an Linien des eingegebenen Zeichens bereitstellt.
- Darüber hinaus offenbart "Patent Abstract of Japan", Jahrgang 14, Nummer 321 (P-1074), 10. Juli 1990, gemäß der JP-A-02-105281, eine Zeichenerkennungsvorrichtung, bei welcher der Abstand zwischen der eingegebenen Liniengruppe und den Linien der die gleiche Linienzahl aufweisenden Zeichen zur Ausgabe der infrage kommenden Zeichen berechnet wird. Darüber hinaus erfolgt zur Verhinderung einer fehlerhaften Erkennung gleichartiger Zeichen mit der gleichen Grundlage bzw. Basis (radical) eine Gewichtung hinsichtlich des Grads der Differenz der nicht die Grundlage betreffenden Teile zum Festlegen eines ersten Kandidaten, falls die mit den eingegebenen Linien erkannten infrage kommenden Gruppen die gleiche Grundlage aufweisen.
- Die Erfindung betrifft eine Vielzahl von Erkennungsalgorithmen, um der Erkennung von Zeichenmustern mit einer Vielzahl von Eigenschaften zu entsprechen.
- Aufgabe der Erfindung ist die Erlangung der nachstehenden Effekte:
- 1) Es besteht keine Notwendigkeit zur Eingabe zusätzlicher
- Daten wie etwa von Daten zu Festlegung eines Erkennungsalgorithmus zusätzlich zu einem Zeichenmuster, und
- 2) eine Erkennung ist nicht durch einen Eingabebereich beschränkt,
- indem ein eingegebenes Zeichenmuster auf der Grundlage des Merkmales der Linien bzw. Striche des eingegebenen Zeichenmusters beurteilt wird, wenn ein geeigneter Algorithmus aus einer Vielzahl von Erkennungsalgorithmen ausgewählt ist.
- Ein weiteres Ziel der Erfindung besteht darin, dass durch Auswahl eines geeigneten Erkennungsalgorithmus auf der Grundlage des Merkmales der Linien eines eingegebenen Zeichenmusters das eingegebene Zeichenmuster gemäß den Charakteristiken mit hoher Genauigkeit verglichen zu einem Beurteilungsverfahren auf der Grundlage der Größe beurteilt werden kann, bei welchem ein Erkennungsunterschied in Abhängigkeit der ein Zeichenmuster eingebenden Person oder eines mentalen Zustandes bei dem Eingabevorgang auftritt.
- Ein weiteres Ziel der Erfindung besteht darin, dass Zeichen, auf welche ein jeder Erkennungsalgorithmus angewendet wird, unabhängig von der existierenden Klassifikation wie etwa eines Zeichentyps (Kanji, Kana, alphabetisches Zeichen, Zahl oder dergleichen) durch die Eigenschaften der Linien des Zeichen klassifiziert werden, so dass beispielsweise im Falle von Zeichen wie etwa " " und " ", deren Charakteristiken nahe den Charakteristiken von "kana"-Zeichen kommen, obwohl sie "kanji"-Zeichen darstellen, der Algorithmus für "kana"- Zeichen ausgewählt wird, und das eingegebene Zeichen durch den Erkennungsalgorithmus erkannt werden kann, was eine Erkennungsrate weiter steigern kann.
- Ein weiteres Ziel der Erfindung besteht darin, die nachstehenden Effekte zu erlangen:
- 1) ein Merkmal kann auf einfache Weise entnommen werden,
- 2) die Vorrichtung kann sich sowohl auf eine geradlinige Linie als auch auf eine kurvige Linie beziehen, und
- 3) Merkmaldaten können vereinfacht werden, mittels eines Verfahrens, bei welchem das Merkmal des Zeichenmusters nicht durch die das Muster bildenden Punkte erkannt wird, sondern durch Vektoren von Teillinien erkannt wird, welche durch Aufteilen der Linie erlangt werden.
- Die vorstehenden angeführten Ziele werden durch eine Vorrichtung gemäß Anspruch 1 und ein Verfahren gemäß Anspruch 6 erzielt.
- Fig. 1 zeigt eine Konstruktionsdarstellung eines nicht beanspruchten Beispiels,
- Fig. 2 zeigt ein Flussdiagramm für das nicht beanspruchte Beispiel,
- Fig. 3 zeigt eine Darstellung zur Veranschaulichung eines Eingabebeispiels des nicht beanspruchten Beispiels,
- Fig. 4 zeigt eine Aufbaudarstellung eines bevorzugten Ausführungsbeispiels der Erfindung,
- Fig. 5 zeigt ein Flussdiagramm des bevorzugten Ausführungsbeispiels,
- Fig. 6 zeigt eine Prinzipdarstellung zur Bildung eines Vektors einer Linie,
- Fig. 7 zeigt eine Darstellung zur Veranschaulichung eines Eingabebeispiels des bevorzugten Ausführungsbeispiels,
- Fig. 8 zeigt eine Darstellung zur Veranschaulichung eines Beispiels eines Aufbaus einer gesamten Vorrichtung, und
- Fig. 9 zeigt eine Darstellung zur Veranschaulichung eines grundlegenden Vektors.
- Ein Ausführungsbeispiel der Erfindung wird nachstehend detailliert beschrieben.
- Zunächst wird ein Aufbau einer gesamten Vorrichtung unter Bezugnahme auf Fig. 8 beschrieben. Bezugszeichen 12 bezeichnet eine Koordinateneingabeeinheit. Beispielsweise wird eine Eingabeplatte bzw. eine Eingabetafel verwendet, in welcher eine Zahl an Elektroden sowohl in der vertikalen als auch in der seitlichen Richtung oder dergleichen angeordnet ist, und werden die Koordinatenwerte der durch Verwendung eines Eingabestifts 11 gedrückten Position in die Koordinateneingabeeinheit 12 eingespeist.
- Die Koordinatendaten werden zu einer zentralen Verarbeitungseinheit (nachstehend zur Vereinfachung als Zentraleinheit CPU bezeichnet) 82 gesendet. In der Zentraleinheit CPU 82 bezeichnet Bezugszeichen 82a einen im weiteren als ROM bezeichneten Nur-Lese-Speicher zur Speicherung von Steuerprogrammen zur Ausführung von Prozessen beispielsweise gemäß den Flussdiagrammen von Fig. 2 und 5 und eines Zeichenmusterverzeichnisses und bezeichnet Bezugszeichen 82b einen im weiterem als RAM bezeichneten Speicher mit wahlfreien Zugriff zur Speicherung verschiedener Arten von Daten. Gemäß den in dem ROM 82a gespeicherten Streuerprogrammen führt die Zentraleinheit CPU 82 die Prozesse gemäß den Flussdiagrammen von Fig. 2 und 5 aus. Die von der Koordinateneingabeeinheit 12 eingegebenen Koordinatenwerte werden in dem RAM 82b als in die Eingabeeinheit 12 eingegebene Musterdaten gespeichert. Die eingegebenen Zeichenwerte werden einem Abgleichvorgang bzw. einem Vergleichsvorgang mit allen den Musterdaten eines in dem ROM 82a gespeicherten Zeichenmusterverzeichnisses unterworfen, wodurch eine Gleichartigkeit bzw. Ähnlichkeit erlangt wird. Die mittels der Ähnlichkeit bestimmten Zeichendaten werden einer Anzeigesteuereinrichtung 83 als Ergebnis der Erkennung ausgegeben. Die Zeichenmuster als Ergebnis der Erkennung werden an einer Flüssigkristallanzeigeeinheit (LCD)84 nach einer Steuerung der Anzeigesteuereinrichtung 83 angezeigt.
- Fig. 1 zeigt ein Blockschaltbild, das hauptsächlich einen Aufbau einer Erkennungseinheit einer Zeichenerkennungsverarbeitungsvorrichtung gemäß einem nicht beanspruchten Beispiel veranschaulicht. Fig. 2 zeigt ein Flussdiagramm zur Ausführung eines Algorithmusauswahlprozesses auf der Grundlage der Zahl der Linien eines eingegebenen Zeichens. Fig. 3 zeigt ein Beispiel einer Eingabebildfläche.
- Gemäß Fig. 1 bezeichnet Bezugszeichen 11 einen Stift zur Eingabe von Zeichen und bezeichnet Bezugszeichen 12 die Koordinateneingabeeinheit mit einer Eingabeplatte, an welcher eine Zahl transparenter Elektroden sowohl in der vertikalen als auch in der seitlichen Richtung angeordnet sind. Ein Zeichenmuster wird an der Eingabeplatte durch Verwendung des Eingabestifts 11 eingegeben. Die Koordinatendaten der durch den Eingabestift 11 gedrückten Position werden eingegeben.
- Die Koordinatendaten, die sequenziell durch den Eingabestift 11 eingegeben werden, werden zu einer Ein- Zeichen-Datenentnahmeeinheit 21 gesendet. Die Entnahmeeinheit 21 empfängt die von der Eingabeeinheit 12 zugeführten Koordinatendaten des Stifts und speichert sie in den RAM 82b. Wird eine "Erkennung" - Taste 47 gemäß Fig. 3 durch den Stift 11 gedrückt, werden die bislang gespeicherten Koordinatendaten der Zeichen für ein jedes Zeichen zu einer Algorithmusauswahleinrichtung 22 gemäß der Zahl der Linien des eingegebenen Zeichens gesendet.
- Der durch die Ein-Zeichen-Datenentnahmeeinheit 21 ausgeführte Entnahmeprozess für ein jedes Zeichen der eingegebenen Koordinatendaten wird mittels eines bekannten Unterscheidungsverfahrens anhand von Zeichenbildern ausgeführt. Bezugszeichen 41, 42, 43, 44, 45, und 46 gemäß der Darstellung von Fig. 3 bezeichnen Zeichenbilder. Die Koordinatendaten eines jeden Zeichenbildes sind vorab in dem RAM 82b gespeichert. Die eingegebenen Koordinatendaten werden mit den Koordinatendaten des Zeichenbildes verglichen, wodurch beurteilt wird, zu welchem Zeichenbild die Koordinatendaten gehören. Die hinsichtlich eines jeden Zeichenbildes eingegebenen Koordinatendaten werden als Koordinatendaten eines Zeichens eingeteilt. Unter der Annahme, dass Zeichen gemäß der Darstellung von Fig. 3 eingegeben wurden, wird ein " " - Zeichen (welches als "naga" zu lesen ist und "lange" bedeutet) in dem Bereich des Zeichenbildes 1 geschrieben. Die eingeteilten Zeichendaten werden sequentiell gemäß der Reihenfolge der Zeichenbilder zu der auf der Zahl der Linien des eingegebenen Zeichens beruhenden Algorithmusauswahleinrichtung 22 gesendet. Sind die Zeichen gemäß der Darstellung von Fig. 3 eingegeben, werden daher die Zeichendaten gemäß der Reihenfolge der Zeichen wie etwa, " ", " ", "l", " " und " " gesendet.
- " " (ist (ist als "naga" zu lesen und bedeutet "lange"),
- " " (ist als "i" zu lesen),
- "l" (ist mit "ichi" zu lesen und bedeutet "eins"),
- " " (ist als "nichi" zu lesen und bedeutet "Tag"),
- " " (ist als "nagai ichinichi" zu lesen und bedeutet "ein langer Tag").
- Die auf der Zahl der Linien des eingegebenen Zeichens beruhende Algorithmusauswahleinrichtung 22 empfängt die Koordinatendaten, die für jedes Zeichen durch die Ein- Zeichen-Datenentnahmeeinheit 21 eingeteilt worden sind, und beurteilt die Zahl der Linien der Ein-Zeichen-Daten aus der Aufwärts/Abwärts-Information des Eingabestifts 11 hinsichtlich der Daten eines Zeichens. Danach werden die Prozesse gemäß der Darstellung in dem Flussdiagramm von Fig. 2 unter der Steuerung der Zentraleinheit CPU 82 gemäß den in dem ROM 82a gespeicherten Programmen ausgeführt. Die Koordinatendaten für ein Zeichen werden jeweils gemäß der Zahl der Linien des eingegebenen Zeichens zu einer Erkennungseinrichtung 23, 24 und 25 gesendet. Die Prozesse gemäß der Darstellung in dem Flussdiagram von Fig. 2 werden nachstehend beschrieben.
- Bezugszeichen 23 bezeichnet gemäß Fig. 1 die Zeichenerkennungseinrichtung für ein Zeichen einer Linie. Die Erkennungseinrichtung 23 führt eine Erkennung beispielsweise mittels eines Algorithmus des in der JP-A- 55-61886 offenbarten Merkmalspunktverfahrens aus und erzeugt das Ergebnis der Erkennung. Bezugszeichen 24 von Fig. 1 bezeichnet eine Zeichenerkennungseinrichtung für ein Zeichen, bei welchem die Zahl der Linien in einem Bereich von 2 bis 6 liegt. Die Erkennungseinrichtung 24 führt eine Erkennung beispielsweise mittels eines Algorithmus eines bekannten grundlegenden Linienvektorverfahrens aus und erzeugt das Ergebnis der Erkennung.
- Bezugszeichen 25 gemäß Fig. 1 bezeichnet eine Zeichenerkennungseinrichtung für ein Zeichen, bei welchem die Zahl der Linien gleich 7 oder größer als 7 ist. Die Erkennungseinrichtung 25 führt ein Erkennung beispielsweise mittels eines Erkennungsalgorithmus aus, wie er in der JP-B-57-6151 oder in dergleichen gezeigt ist, sodass ein eingegebenes Zeichen durch die Summe der Abstände zwischen Startpunkten und Endpunkten des eingegebenen Zeichens und dem Startpunkt und dem Endpunkt eines Verzeichnismusters erkannt wird und erzeugt das Ergebnis der Erkennung.
- Verarbeitungsvorgänge des Beispiels werden nachstehend unter Bezugnahme auf das Flussdiagramm von Fig. 2 beschrieben.
- Zunächst wird in Schritt S31 ein Überprüfung ausgeführt, um zu sehen, ob ein eingegebenes Zeichen ein Zeichenmuster angibt, sodass die Zahl der Stiftanhebevorgänge gleich 1 ist und die Zahl der Stiftabsenkvorgänge gleich 1 ist, das heißt ob das eingegebene Zeichen ein Zeichenmuster einer Linie angibt oder nicht. Falls JA, folgt Schritt S33 und werden die Zeichendaten in Schritt S33 zu der Ein-Zeichen- Erkennungseinrichtung 23 gesendet.
- Wird in Schritt S31 festgestellt, dass das eingegebne Zeichen ein Zeichenmuster einer Linie nicht angibt, folgt Schritt S32. Es wird nun angenommen, das die Zeichen gemäß der Darstellung von Fig. 3 eingegeben sind, wobei die Daten eines Zeichens sequentiell von der Ein-Zeichen- Datenentnahmeeinrichtung 21 gemäß der Reihenfolge von " " " ", "l", " " und "º" gesendet werden. Im Falle von " " - Zeichen ist die Zahl der Stiftanhebevorgänge gleich 8 und die Zahl der Stiftabsenkvorgänge gleich 8 und es wird festgelegt, dass es ein Zeichenmuster mit 8 Linien darstellt, sodass die Bearbeitungsroutine zu Schritt S32 fortschreitet. Da das " " - Zeichen einem Zeichenmuster mit zwei Linien entspricht, schreitet die Verarbeitungsroutine ebenso zu dem Schritt S32 voran. Da "l" einem Zeichenmuster einer Linie entspricht, schreitet die Verarbeitungsroutine zu dem Schritt S33 voran. Da " " - Zeichen einem Zeichenmuster mit 4 Linien entspricht, folgt der Schritt S32. Da ein "º" - Zeichen einem Zeichenmuster einer Linie darstellt, folgt Schritt 533.
- In Schritt S32 erfolgt eine Überprüfung, um zu sehen, ob die Zahl der Linien des eingegebenen Zeichens gleich 7 oder größer als 7 ist. Ist die Zahl geringer als 7, folgt der Schritt S34. Da die Zahl der Zeichendaten in dem Bereich von 2 bis 6 liegt, werden in Schritt S34 Zeichendaten zu der Zeichenerkennungseinrichtung 24 gesendet. Ist die Zahl der Linien des eingegebenen Zeichens gleich 7 oder größer als 7, folgt Schritt S35. Da die Zahl der Linien der Zeichendaten gleich 7 oder größer als 7 ist, werden die Zeichendaten in Schritt S35 zu der Zeichenerkennungseinrichtung 25 gesendet.
- Wenn " " - Zeichen in Schritt S32 gesendet werden, folgt Schritt S35, da die Zahl der Linien von " " - Zeichen gleich 8 ist. Da die Zahl der Linien des " " - Zeichen gleich 2 ist, folgt der Schritt S34. Da die Zahl der Linien des " " - Zeichens gleich 4 ist, folgt Schritt S34.
- Durch Ausführung der vorstehend beschriebenen Prozesse wird das Zeichen mit einer Linie wie etwa "l" oder "º" durch Verwendung der Erkennungseinrichtung erkannt, welche den für das Zeichen einer Linie geeigneten Algorithmus verwendet. Die Zeichen wie etwa " " oder " " bei welchen die Zahl der Linien im Bereich von 2 bis 6 liegt, wird durch die Erkennungseinrichtung unter Verwendung des für das Zeichen geeigneten Algorithmus erkannt, bei welchem die Zahl der Linien im Bereich von 2 bis 6 liegt. Das Zeichen wie etwa " " - Zeichen mit 7 Linien oder mehr wird durch Verwendung des für die Zeichen mit 7 Linien oder mehr geeigneten Algorithmus erkannt. Die für verschiedene Charakteristiken passende Erkennungseinrichtung kann angewendet werden, ohne dass sich der Benutzer darüber bewusst werden kann, dass die Erkennungseinrichtung gemäß der Zahl der Linien des Zeichens in Anspruch genommen wird. Es kann ein genaueres Erkennungsverfahren realisiert werden.
- Obwohl das Beispiel unter Bezugnahme auf Prozesse beschrieben worden ist, sodass die Zahl der Linien als ein Merkmalsmaß eines eingegebenen Zeichens als Bezug betrachtet wird, wenn der Erkennungsalgorithmus ausgewählt wird, kann der für das eingegebene Zeichen geeignete Algorithmus gemäß einer Krümmung beziehungsweise eines Kurvenverlaufs der Linie des eingegebenen Zeichens durch Ersetzen der auf der Zahl der Linien des eingegebenen Zeichens beruhenden Algorithmusauswahleinrlchtung 22 durch eine auf einer Krümmung der Linie des eingegebenen Zeichens beruhenden Algorithmusauswahleinrichtung 26 verwendet werden, wie es gemäß Fig. 4 dargestellt ist.
- Fig. 4 zeigt ein Blockschaltbild zur Veranschaulichung eines Aufbaus einer Zeichenerkennungsverarbeitungsvorrichtung gemäß dem bevorzugten Ausführungsbeispiel. Fig. 5 zeigt ein Flussdiagramm zur Veranschaulichung von Algorithmusauswahlprozessen, welche auf der Krümmung der Linie des eingegebenen Zeichens als einem Merkmal des Ausführungsbeispiels beruhen. Fig. 6 zeigt eine Prinzipdarstellung zur Bildung eines Vektors für die Linie. Fig. 7 zeigt ein Beispiel der Eingabebildfläche.
- Gemäß Fig. 4 führt die Ein-Zeichen-Entnahmeeinrichtung 21 Prozesse aus, die gleichartig zu den ausführlich in dem Beispiel beschriebenen Prozessen sind. Die Algorithmusauswahleinrichtung 26 bezüglich der Krümmung der Linie des eingegebenen Zeichens führt die Prozesse gemäß dem Flußdiagramm von Fig. 5 nach einer Steuerung der Zentraleinheit CPU 82 gemäß dem in dem ROM 82a gespeicherten Programmen aus. Die Prozesse werden nachstehend detailliert beschrieben. Kurz gesagt wird ein jeder Strich der Koordinatendaten eines Zeichen, dass von der Ein-Zeichen-Datenentnahmeeinrichtung 21 gesendet wird, auf der Grundlage des Abstands bzw. der Distanz in 10 gleiche Segmente geteilt. Richtungsänderungsmaße von 10 Vektoren werden als Krümmungen der Linien festgelegt. Ist die Krümmung groß, werden die Koordinatendaten eines Zeichens zu einer Zeichenerkennungseinrichtung 28 für "hirakana" (Japanisches Zeichen) gesendet. Ist die Krümmung gering, werden die Koordinatendaten eines Zeichens zu einer Zeichenerkennungseinrichtung 27 für "kanji" (Chinesisches Zeichen) gesendet.
- Die Zeichenerkennungseinrichtung 27 für "kanji" erkennt ein Zeichen durch einen bekannten Algorithmus, indem der Abstand zwischen dem Startpunkt und dem Endpunkt oder dergleichen berechnet wird, und erzeugt das Ergebnis der Erkennung. Die Zeichenerkennungseinrichtung 28 für "hirakana" erkennt das Zeichen durch einen bekannten Algorithmus mit Hilfe eines Merkmalspunktverfahrens, welches einen starken Bezug zu der Kurvenkomponente oder dergleichen aufweist, und erzeugt das Ergebnis der Erkennung.
- Die Verarbeitungsvorgänge der Algorithmusauswahleinrichtung 26 mit Hilfe der Krümmung der Linie eines eingegebenen Zeichens wird nachstehend unter Bezugnahme auf das Flussdiagramm gemäß Fig. 5 beschrieben. In Schritt S51 wird zunächst eine jede Linie des eingegebenen Zeichens unter Bezugnahme auf den Abstand in zehn gleiche Segmente geteilt. Ein Liniensegment ist in Vektoren mittels einem Winkel gemäß acht Richtungen festgelegt. Eine Erläuterung erfolgt nachstehend beispielsweise unter Bezugnahme auf Fig. 6. Wird ein Zeichen " " eingegeben, wird die Linie von dem Stiftabsenkvorgang bis zu dem Stiftanhebvorgang in zehn gleiche Segmente geteilt, wie es auf der linken Seite dargestellt ist. Die positionsmäßige Korrelation zwischen dem Startpunkt und dem Entpunkt eines jeden der Teillinien, welche in zehn gleiche Pigmente geteilt sind, wird beurteilt, wodurch festgelegt wird, welchem der acht grundlegenden Richtungsvektoren gemäß der Darstellung von Fig. 9 ein jedes Segment entspricht. Auf Grund dessen wird bezüglich eines jeden der zehn Teillinien, die durch die Einteilung in die zehn gleichen Segmente erlangt werden, ein Vektor der acht Richtungsvektoren festgelegt.
- Ein Zeichen " " (zu lesen als "ru") wird durch eine Vektorfolge "1, 1, 6, 6, 1, 7, 6, 4, 2, 8" ersetzt, wie es auf der rechten Seite von Fig. 6 dargestellt ist. In Schritt S52 wird der Absolutwert eines Werts, bei dem die Änderungsmaße der Vektorfolge der Linie addiert wurden, für eine jede Linie addiert und wird der resultierende Wert durch die Zahl der Linien dividiert. Das Ergebnis der Teilung wird als Krümmung festgelegt. Da die Vektorfolge von " " gleich den Werten "1, 1, 6, 6, 1, 7, 6, 4, 2, 8" ist, ist ein Änderungsmaß, wenn der Vektorwert von 1 auf 6 wechselt, gleich 5, ist ein Änderungsmaß, wenn der Vektorwert von 6 auf 1 wechselt, gleich -5, ist ein Änderungsmaß, wenn der Vektorwert von 1 auf 7 wechselt, gleich 6, ist ein Änderungswert, wenn der Vektorwert von 7 auf 6 wechselt, gleich -1, ist ein Änderungsmaß, wenn der Vektorwert von 6 auf 4 wechselt, gleich -2, ist ein Änderungsmaß, wenn der Vektorwert von 4 auf 2 wechselt, gleich -2 und ist ein Änderungsmaß, wenn der Vektorwert von 2 auf 8 wechselt, gleich 6. Durch Addition der Änderungsmaße ist das Gesamtänderungsmaß gleich 7 ( = 5 - 5 + 6 - 1 - 2 - 2 + 6).
- Der durch Teilen von 7 durch die Zahl 1 von Linien erlangte Koeffizient ist gleich 7 und es wird dieser Wert als Krümmung von " " verwendet. In gleichartiger Weise sind im Falle von " " die Änderungsmaße gleich "8, 8, 8, 8, 8, 8, 8, 8, 2, 2" und "8, 8, 8, 8, 8, 8, 7, 7, 7, 7". Das Änderungsmaß von " " entspricht -6, wenn der Vektorwert der ersten Linie von 8 auf 2 wechselt. Der Absolutwert von -6 ist gleich 6. Das Änderungsmaß von " " ist gleich -1, wenn der Vektorwert der nächsten Linie von 8 auf 7 wechselt, und sein Absolutwert ist gleich 1. Da das Gesamtänderungsmaß gleich 7 ( = 1 + 6) ist und sein Wert 7 durch die Zahl zwei der Linien geteilt wird, wird auf diese Weise 3,5 erzielt.
- In gleichartiger Weise ergibt sich im Falle von " " (was zu lesen ist als "aka" und "hell" bedeutet) 6 + 1 + 6 = 13 und 13/8 = 1,625.
- In Schritt S53 wird ein in dem RAM 82b festgelegter Schwellenwert der Krümmung mit einer Krümmung des eingegebenen Zeichens verglichen, wodurch beurteilt wird, ob die Krümmung des eingegebenen Zeichens größer als der Schwellenwert ist oder nicht. Falls JA, folgt Schritt 554. Ist die Krümmung größer als der Schwellenwert, wird in Schritt S54 bestimmt, das dass eingegebene Zeichen "hirakana" entspricht, so das der Koordinatenwert eines Zeichens zu der Erkennungseinrichtung 28 gemäß Fig. 4 gesendet wird.
- Ist die Krümmung des eingegebenen Zeichens nicht größer als der Schwellenwert, folgt Schritt S56, Ist die Krümmung des eingegebenen Zeichens nicht größer als der Schwellenwert, wird in Schritt S56 festgelegt, dass das eingegebene Zeichen "kanji" entspricht, so dass die Koordinatendaten eines Zeichens zu der Erkennungseinrichtung 27 gemäß Fig. 4 gesendet werden.
- Beispielsweise für den Fall, dass der Schwellenwert der Krümmung in dem RAM 82b auf den Wert 3 festgelegt worden ist, wird das eingegebene Zeichen, dessen Krümmung größer als 3 ist, in Schritt S55 als "groß" festgelegt. Da die Krümmung von " " gleich 1,625 ist, wird festgelegt, das es "klein" ist. Die Verarbeitungsroutine schreitet zu Schritt S56 voran. Da die Krümmung von " " gleich 7 ist, wird bestimmt, das es "groß" ist. Die Verarbeitungsroutine schreitet zu Schritt S54 voran.
- Durch Ausführung der vorstehenden Prozesse wird das eingegebene Zeichen wie etwa " ", das durch gerade Linienkomponenten aufgebaut ist, durch Verwendung des zur Erkennung der geraden Linienkomponenten geeigneten Algorithmus erkannt. Das eingegebene Zeichen wie etwa " ", das durch Kurvenkomponenten aufgebaut ist, wird durch Verwendung des zur Erkennung der Kurvenkomponenten geeigneten Algorithmus erkannt. Folglich kann das genauere Erkennungsverfahren realisiert werden.
- Die Erfindung stellt eine Einrichtung zur Beurteilung der Charakteristiken eines Zeichens aus einem Merkmalsmaß eines eingegebenen Zeichens bereit, wodurch einer geeigneten Zeichenerkennungseinrichtung ermöglicht wird, auf das eingegebene Zeichen gemäß dem Merkmalsmaß des eingegebenen Zeichens angepasst zu werden. Auf Grund der Einrichtung zur Beurteilung der Charakteristiken eines Zeichens gemäß dem Merkmalsmaß des eingegebenen Zeichens ist gemäß der Erfindung eine Größe eines eingegebenen Zeichens nicht beschränkt. Eine jede passende Erkennungseinrichtung wird selbstverständlich gemäß dem Merkmalsmaß des eingegebenen Zeichens ausgewählt. Das eingegebene Zeichen kann genauer erkannt werden.
Claims (12)
1. Zeichenerkennungsvorrichtung mit einer Vielzahl von
Erkennungseinrichtungen (27, 28), mit
einer Eingabeeinrichtung (12) zur Eingabe eines
Zeichenmusters,
einer Linienentnahmeeinrichtung zur Entnahme von ein
Muster bildenden Linien aus dem eingegebenen
Zeichenmuster und
einer Festlegungseinrichtung (28) zur Auswahl einer
geeigneten Erkennungseinrichtung aus der Vielzahl der
Erkennungseinrichtungen,
gekennzeichnet durch
eine Charakteristikbeurteilungseinrichtung (26) zur
Beurteilung der Krümmung der durch die
Linienentnahmeeinrichtung entnommenen Linien, wobei
die Festlegungseinrichtung (28) die geeignete
Erkennungseinrichtung aus der Vielzahl der
Erkennungseinrichtungen auf der Grundlage eines
Vergleichs zwischen der beurteilten Krümmung und einem
vorbestimmten Schwellenwert als ein Mittel zum Erkennen
von aus dem eingegebenen Zeichenmuster entnommenen
Merkmalsdaten auswählt.
2. Vorrichtung nach Anspruch 1, wobei die
Charakteristikbeurteilungseinrichtung beinhaltet:
eine Linienkrümmungsberechnungseinheit zur
Berechnung einer Krümmung einer jeden der das
Zeichenmuster bildenden Linien, welche durch die
Linienentnahmeeinrichtung entnommen sind, und
eine Zeichenkrümmungsbeurteilungseinheit zur
Beurteilung der Krümmung des eingegebenen Zeichenmusters
auf der Grundlage der Krümmung einer jeden der Linien für
ein Zeichen, welche durch die
Linienkrümmungsberechnungseinheit berechnet ist.
3. Vorrichtung nach Anspruch 1, wobei die
Charakteristikbeurteilungseinrichtung beinhaltet:
eine Linienteilungseinheit zur Teilung der
entnommenen Linien,
eine Vektorbildungseinheit zur Bildung eines Vektors
der durch Teilen der Linien erlangten Teillinie und
eine Krümmungsbeurteilungseinheit zur Beurteilung
der Krümmung der Linien auf der Grundlage des
Änderungsmaßes des Vektors und der Zahl der Linien.
4. Vorrichtung nach Anspruch 1, wobei die
Eingabeeinrichtung Koordinatendaten des Zeichenmusters
eingibt.
5. Vorrichtung nach Anspruch 1, ferner mit einer
Zeichenentnahmeeinrichtung (21) zur Entnahme eines
Musters eines Zeichens.
6. Zeichenerkennungsverfahren mit den Schritten
Eingeben eines Zeichenmusters,
Entnehmen von ein Muster bildenden Linien aus dem
eingegebenen Zeichenmuster und
Auswählen (S54-S56) einer geeigneten
Erkennungseinrichtung aus einer Vielzahl von
Erkennungseinrichtungen (27, 28),
gekennzeichnet durch den Schritt zum
Beurteilen der Krümmung (S52) der durch den
Linienentnahmeschritt entnommenen Linien, wobei
die geeignete Erkennungseinrichtung aus der Vielzahl
der Erkennungseinrichtungen (27, 28) auf der Grundlage
eines Vergleichs zwischen der beurteilten Krümmung und
einem vorbestimmten Schwellenwert als ein Mittel zum
Erkennen von aus dem eingegebenen Zeichenmuster
entnommenen Merkmalsdaten ausgewählt wird.
7. Verfahren nach Anspruch 6, wobei der
Charakteristikbeurteilungsschritt mit den Schritten
ausgestattet ist:
Berechnen einer Krümmung einer jeden der das
Zeichenmuster bildenden Linien, die durch den
Linienentnahmeschritt entnommen werden, und
Beurteilen der Krümmung des eingegebenen
Zeichenmusters auf der Grundlage der Krümmung einer jeden
der Linien für ein Zeichen, welche durch den
Linienkrümmungsberechnungsschritt berechnet wird.
8. Verfahren nach Anspruch 6, wobei der
Charakteristikbeurteilungsschritt die Schritte aufweist:
Teilen (S51) der entnommenen Linien,
Bilden eines Vektors der durch Teilen der Linien
erlangten Teillinie und
Beurteilen der Krümmung der Linien auf der Grundlage
des Änderungsmaßes des Vektors und der Zahl der Linien.
9. Verfahren nach Anspruch 6, wobei durch den
Eingabeschritt Koordinatendaten des Zeichenmusters
eingegeben werden.
10. Verfahren nach Anspruch 6, ferner mit einem
Zeichenentnahmeschritt zur Entnahme eines Musters eines
Zeichens.
11. Computerprogrammerzeugnis für einen Computer mit
Softwarecodeabschnitten zum Ausführen von allen den
Schritten nach einem der Ansprüche 6 bis 10, wenn das
Programm an dem Computer läuft.
12. Computerprogrammerzeugnis nach Anspruch 11, wobei das
Computerprogrammerzeugnis einen durch einen Computer
lesbaren Träger beinhaltet, an dem die
Softwarecodeabschnitte gespeichert sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16767892A JP3155616B2 (ja) | 1992-06-25 | 1992-06-25 | 文字認識方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69331648D1 DE69331648D1 (de) | 2002-04-11 |
DE69331648T2 true DE69331648T2 (de) | 2002-08-08 |
Family
ID=15854197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69331648T Expired - Fee Related DE69331648T2 (de) | 1992-06-25 | 1993-06-24 | Zeichenerkennungsverfahren und -gerät |
Country Status (5)
Country | Link |
---|---|
US (1) | US5812696A (de) |
EP (1) | EP0576020B1 (de) |
JP (1) | JP3155616B2 (de) |
KR (1) | KR0123930B1 (de) |
DE (1) | DE69331648T2 (de) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100356503B1 (ko) * | 1994-12-07 | 2002-12-11 | 엘지전자 주식회사 | 학습형문자인식장치 |
JPH0991380A (ja) * | 1995-09-21 | 1997-04-04 | Canon Inc | 情報処理装置及び方法及び記憶媒体 |
US6272243B1 (en) * | 1997-09-15 | 2001-08-07 | Motorola, Inc. | Method and apparatus for entering characters into a writing recognizer |
US6108444A (en) * | 1997-09-29 | 2000-08-22 | Xerox Corporation | Method of grouping handwritten word segments in handwritten document images |
US7030863B2 (en) | 2000-05-26 | 2006-04-18 | America Online, Incorporated | Virtual keyboard system with automatic correction |
US7610194B2 (en) * | 2002-07-18 | 2009-10-27 | Tegic Communications, Inc. | Dynamic database reordering system |
US7286115B2 (en) | 2000-05-26 | 2007-10-23 | Tegic Communications, Inc. | Directional input system with automatic correction |
US7821503B2 (en) | 2003-04-09 | 2010-10-26 | Tegic Communications, Inc. | Touch screen and graphical user interface |
WO2000074240A1 (en) * | 1999-05-27 | 2000-12-07 | America Online | Keyboard system with automatic correction |
US6970599B2 (en) * | 2002-07-25 | 2005-11-29 | America Online, Inc. | Chinese character handwriting recognition system |
US7750891B2 (en) | 2003-04-09 | 2010-07-06 | Tegic Communications, Inc. | Selective input system based on tracking of motion parameters of an input device |
US20030007018A1 (en) * | 2001-07-09 | 2003-01-09 | Giovanni Seni | Handwriting user interface for personal digital assistants and the like |
JP4061094B2 (ja) * | 2002-03-15 | 2008-03-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 音声認識装置、その音声認識方法及びプログラム |
US7567239B2 (en) * | 2003-06-26 | 2009-07-28 | Motorola, Inc. | Method and system for message and note composition on small screen devices |
US20060017702A1 (en) * | 2004-07-23 | 2006-01-26 | Chung-Yi Shen | Touch control type character input method and control module thereof |
US8225203B2 (en) | 2007-02-01 | 2012-07-17 | Nuance Communications, Inc. | Spell-check for a keyboard system with automatic correction |
US8201087B2 (en) | 2007-02-01 | 2012-06-12 | Tegic Communications, Inc. | Spell-check for a keyboard system with automatic correction |
US20110060985A1 (en) * | 2009-09-08 | 2011-03-10 | ABJK Newco, Inc. | System and Method for Collecting a Signature Using a Smart Device |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4151512A (en) * | 1976-09-10 | 1979-04-24 | Rockwell International Corporation | Automatic pattern processing system |
JPS5580183A (en) * | 1978-12-12 | 1980-06-17 | Nippon Telegr & Teleph Corp <Ntt> | On-line recognition processing system of hand-written character |
JPS58169296A (ja) * | 1982-03-31 | 1983-10-05 | Fujitsu Ltd | オンライン手書文字認識装置 |
US4531231A (en) * | 1983-01-19 | 1985-07-23 | Communication Intelligence Corporation | Method for distinguishing between complex character sets |
JPS6239460A (ja) * | 1985-08-08 | 1987-02-20 | 株式会社 コルポ | 容器 |
JPS6421588A (en) * | 1987-07-16 | 1989-01-24 | Nec Corp | Character recognition system |
JPH061482B2 (ja) * | 1987-09-03 | 1994-01-05 | シャープ株式会社 | 図形入力方式 |
JPH02105281A (ja) * | 1988-10-13 | 1990-04-17 | Canon Inc | 文字認識装置 |
US5023918A (en) * | 1989-10-03 | 1991-06-11 | International Business Machines Corporation | Cross-product filter |
US5121441A (en) * | 1990-09-21 | 1992-06-09 | International Business Machines Corporation | Robust prototype establishment in an on-line handwriting recognition system |
-
1992
- 1992-06-25 JP JP16767892A patent/JP3155616B2/ja not_active Expired - Fee Related
-
1993
- 1993-06-24 KR KR1019930011566A patent/KR0123930B1/ko not_active IP Right Cessation
- 1993-06-24 DE DE69331648T patent/DE69331648T2/de not_active Expired - Fee Related
- 1993-06-24 EP EP93110144A patent/EP0576020B1/de not_active Expired - Lifetime
-
1997
- 1997-06-04 US US08/869,223 patent/US5812696A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR940006056A (ko) | 1994-03-23 |
EP0576020B1 (de) | 2002-03-06 |
EP0576020A2 (de) | 1993-12-29 |
JP3155616B2 (ja) | 2001-04-16 |
EP0576020A3 (de) | 1994-10-19 |
DE69331648D1 (de) | 2002-04-11 |
JPH0612524A (ja) | 1994-01-21 |
KR0123930B1 (ko) | 1997-12-09 |
US5812696A (en) | 1998-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69331648T2 (de) | Zeichenerkennungsverfahren und -gerät | |
DE68924669T2 (de) | System zum Lesen des Ziffernbetrages und zum Uebertragen der Kontoabrechnung. | |
DE69333431T2 (de) | Verfahren zum Erkennen von handgeschriebenen Symbolen | |
DE60204005T2 (de) | Verfahren und einrichtung zur erkennung eines handschriftlichen musters | |
DE60217299T2 (de) | Holistisch-analytische erkennung von handgeschriebenem text | |
DE69604481T2 (de) | Verfahren und gerät zum trennen des vordergrunds und hintergrunds in textenthaltenden bildern | |
DE69932167T2 (de) | Zeichenerkennung | |
DE69230631T2 (de) | Verfahren zum Vergleichen von Wortgestalten | |
DE69417105T2 (de) | Vorrichtung und Verfahren zum Erkennen handgeschriebener Symbole | |
DE69125054T2 (de) | Verfahren und Vorrichtung zur Mustererkennung | |
DE69422774T2 (de) | Gerät zur Fingerabdruckprüfung | |
DE69027519T2 (de) | Handschrifterkennung mit Verwendung von jeweils zwischen zwei Klassen unterscheidenden Massnahmen | |
DE69527487T2 (de) | Verfahren zum erlemmem von handgeschriebenen eingaben | |
DE69330378T2 (de) | Mustererkennung | |
DE69229199T2 (de) | Gerät und Verfahren zur Zeichenerkennung | |
DE69526285T2 (de) | Zeichenerkennung | |
DE102018119682A1 (de) | Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und nicht-vorübergehendes computerlesbares speichermedium | |
DE68928703T2 (de) | Buchstabenerkennungsvorrichtung | |
DE102017220307A1 (de) | Vorrichtung und Verfahren zum Erkennen von Verkehrszeichen | |
DE69331518T2 (de) | Neuronales Netz zum Vergleich von Merkmalen von Bildmustern | |
EP0296516B1 (de) | Verfahren zur Erkennung von Zeichen und Objekten | |
DE69623564T2 (de) | Gerät zur Extraktion von Fingerabdruckmerkmalen | |
DE69529015T2 (de) | Schnelligkeits- und Erkennungsverbesserung für OCR mittels normalisierter Höhen-/Breitenposition | |
EP2091015B1 (de) | Verfahren und computerimplementiertes System zur Bestimmung der Passqualität eines individuell gefertigten Kleidungsstücks | |
DE2435889B2 (de) | Verfahren und einrichtung zur unterscheidung von zeichengruppen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |