-
-
BESCHREIBUNG
-
Die Erfindung bezieht sich auf ein Verfahren zur Zeichenerkennung
sowie auf ein optisches Zeichenlesegerät mit dem sich unter anderem handschriftlich
gefertigte Zeichen für eine anschließende Weiterverarbeitung automatisch lesen lassen.
-
Bei optischen Lesegeräten der genannten Art,die im folgenden auch
als "OCR-Geräte" bezeichnet sind (OCR = optimal Reader) werden im allgemeinen zwei
unterschiedliche Verfahren zur Zeichenerkennung angewendet: Bei dem einen Verfahren
werden, zum die Erkennungslogik zu vereinfachenbestimmte Grenzen für das zu lesende
und zu erkennende Zeichenmuster vorgegeben. Bei dem anderen sogenannten grenz- oder
konstanten freien Zeichenerkennungsverfahren werden zwar weitgehend beliebige, auch
handschriftliche Zeichen gelesen und erkannt, jedoch ist die Erkennungslogik außerordentlich
komplex.
-
Die Erfindung bezieht sich auf ein Verfahren der zweitgenannten Art
mit dem sich handgeschriebene Zeichen weitgehend frei von Beschränkungen erkennen
lassen.
-
Zur Erkennung von handschriftlichen Zeichen wird üblicherweise eine
Extraktion und Untersuchung von Einzelmerkmalen vorgenommen. Dabei wird das Zeichenmuster
in eine bestimmte Anzahl von Zeilensegmenten nach einem Grundmuster unterteilt,
das die Merkmale eines bestimmten Musters gut wiedergibt. Jedes der Segmente wird
als Bildelement bezeichnet.
-
Um individuell abweichende Bestandteile eines Musters,etwa bei handgeschriebenen
Zeichen,auszusondern und die so ausgesonderten Elemente einigen der Bildelemente
zuzuordnen bzw. auf solche Bildelemente anzupassen, müssen alle Kom-
binationen
solcher Merkmale von solchen mit höchster Wahrscheinlichkeit des Auftretens bis
zur denkbar kleinsten Wahrscheinlichkeit in einen "Nachschlagebereich", das sogenannte
Lexikon eines Systemspeichers eingegeben werden und zwar zusammen mit der Korrelationsinformation
zwischen den Kombinationen dieser Merkmale und den einzelnen Zeichenmustern. Es
ist einleuchtend, daß diese Art der Erkennung von handgeschriebenen Zeichen bei
einigermaßen zuverlässigen Ergebnissen eine riesige "Nachschlagetabelle" im lexikalischen
Bereich des Systemspeichers erforderlich macht oder mit anderen Worten einen Speicher
außerordentlich großer Kapazität mit entsprechend langer Suchzeit,um sicher zweidimensionale
Mustermerkmale zuordnen zu können. Außerdem werden die Erkennungslogik und das Ausleseschema
kompliziert, was für die Praxis der Benutzung solcher OCR-Geräte erhebliche Probleme
mit sich bringt.
-
Ein anderes Problem ergibt sich aus dem Bemühen, Lesefehler möglichst
klein zu halten, was notwendigerweise zu einer Erhöhung des Anteils an Zurückweisungen
oder der Ausfallrate zur Folge hat, während andererseits das Ziel des Anteils an
zurückgewiesenen Zeichen klein zu halten, die Wahrscheinlichkeit von Lesefehlern
erhöht, weil dann zur Erzielung von einigermaßen zuverlässigen Ergebnissen der Aufbau
der Nachschlagetabelle im lexikalischen Bereich des Speichers sehr kompliziert wird.
-
Der Erfindung liegt damit die Aufgabe zugrunde, ein Verfahren zum
optischen Lesen und Erkennen von Zeichen und ein OCR-Gerät der oben genannten zweiten
Art zu schaffen, bei dem die aufgezeigten Probleme überwunden werden, das sich also
insbesondere durch einen verlgeichsweise kleinen lexikalischen Bereich und einen
einfachen Aufbau der Zuordnungslogik auszeichnet.
-
Erfindungsgemäße Lösungen der gestellten Aufgabe sind in kurzer Zusammenfassung
in den Patentansprüchen angegeben.
-
Nach dem Grundkonzept der Erfindung wird ein Zeichenmuster zunächst
in eine bestimmte Anzahl von in einer Richtung liegenden Schlitzsegmenten unterteilt.
Sodann werden jeweils zwei Teile oder Abschnitte der Musterinformation aus jeweils
zwei benachbarten Schlitzsegmenten berücksichtigt und die Zuordnung oder Korrelation
zwischen den beiden Schlitzmustern wird zur Merkmalserkennung herangezogen. Der
Erfindung liegt in anderen Worten die Idee zugrunde, zweidimensional darzustellende
Zeichen in eindimensionaler Weise zu verarbeiten, wodurch sich eine wesentliche
Vereinfachung der Erkennungslogik erreichen läßt.
-
Eine Mehrzahl von Merkmalserkennungssystemen, wie sie bei der Erfindung
zugrundegelegt werden, ändern sich nach ihrem Inhalt in einer vorgebbaren Folge
mit Xnderungen der hinsichtlich der Schlitzsegmente in Symbole unterteilten Information.
Zweidimensionale Merkmale, die sich auf die Anzahl von geschlossenen Schleifen eines
Zeichens sowie auf die peripheren Kantenbereiche von Zeichenelementen beziehen,
werden ebenfalls für die Merkmalserkennungssysteme zugrundeaeleat. Nach dem erfindunasaemäßen
Verfahren und einem aufqebauten- -nach der Erfindung/optischen Lesegerät lassen
sich handgeschriebene Zeichen oder Darstellungen innerhalb großer Freiheitsgrade
bei wesentlich niedrigerer Fehlerrate erkennen, als dies bei vergleichbarem Aufwand
bisher möglich war.
-
Insbesondere ist der Speicherplatzbedarf für die Nachschlagetabelle
oder das Lexikon wesentlich kleiner. Entsprechendes gilt für den Aufwand an logischen
Schaltkreisen.
-
Die Erfindung und vorteilhafte Einzelheiten werden nachfolgend unter
Bezug auf die Zeichnung in beispielsweisen Ausführungsformen näher erläutert. Es
zeigen: Fig. 1 ein Zuordnungsdiagramm zur Erläuterung, wie ein Zeichenmuster in
Schlitzsegmente gemäß der Erfindung aufgegliedert wird; Fig. 2 bis 9 Diagramme zur
Definition und Verdeutlichung der zu extrahierenden und zu erkennenden Merkmale
eines Zeichenmusters; Fig. 10 das symbolische Blockdiagramm für das Grundschema
eines OCR-Geräts gemäß der Erfindung; Fig. 11 erläutert Übergangsbefehle und Obergangsbedingungen;
Fig. 12 verdeutlicht das Auslesen eines Zeichenmusters gemäß einer bevorzugten Ausführungsform
der Erfindung; Fig. 13 veranschaulicht eine bestimmte Bedingung bei dem Zeichenerkennungsbeispiel
der Fig. 12; Fig. 14 (A) bis 14 (C) verdeutlichen die Beziehung zwischen den von
den Merkmalabtastsystemen und einem bestimmten Zeichenmuster abgeleiteten Ubergangsbefehlen;
Fig. 15 bis 19 verdeutlichen die Übergangsbedingungen für die Inhalte des Merkmalabtastsystems,ausgelöst
durch die Obergangsbefehle, wobei Fig. 15 ein Übergangsschaubild für die zu erfassende
Anzahl von geschlossenen Schleifen in einem zu erkennenden Zeichenmuster, Fig. 16
ein Übergangsschaubild hinsichtlich des unteren Kantenbereichs eines Zeichenmusters,
Fig. 17 ein Übergangsschaubild hinsichtlich des oberen Kantenbereichs eines Zeichenmusters,
Fig. 18 ein Übergangsschaubild hinsichtlich der Anzahl von Löchern oder Unterbrechungen
am linken Kantenbereich eines Zeichenmusters und Fig. 19 das Übergangs schaubild
hinsichtlich der Anzahl von Löchern oder Unterbrechungen am rechten Kantenbereich
eines Zeichenmusters verdeutlichen;
Fig. 20 das Bockschaltbild einer
bevorzugten Ausführungsform eines optischen Lesegeräts gemäß der Erfindung; Fig.
21 das detailliertere Blockschaltbild eines wesentlichen Teils der Gerätsausführung
nach Fig. 20; Fig. 22 ein Blockschaltbild zur Verdeutlichung einer Speicheraufteilung;
Fig. 23 und 24 Schaltungen eines Koordinatendetektors; Fig. 25 das detaillierte
Schaltbild eines Code-Umsetzers bei der Ausführung nach Fig. 21; Fig. 26(A) und
26 (B) die Zuordnung zwischen Codes, die Merkmalen eines Zeichenmusters entsprechen
und den Übergangsbefehlen; Fig. 27 Signalverläufe in den Schaltungen nach Fig. 20
bis Fig. 25; Fig. 28 das Schaltbild für ein Beispiel einer Tabellenbezugsschaltung;
Fig. 29 ein Beispiel einer Nachschlagetabelle mit verschiedenen Zeichen und den
diesen jeweils zugeordneten Merkmalen; Fig. 30 und 31 Code-Tabellen für die jeweiligen
Merkmale; Fig. 32 bis 35 Erläuterungsschaubilder zur Erläuterung, wie kleinere individuell
bedingte Abweichungen eines Zeichenmusters gemäß der Erfindung erkennbar sind; Fig.
36 das Blockschaltbild einer anderen bevorzugten Ausführungsform der Erfindung;
Fig. 37 bis 40 einige Beispiele für Merkmale eines Zeichenmusters und den jeweiligen
Ausgangscode; Fig. 41 das Beispiel einer Tabellenbezugsschaltung und eines Merkmaldetektors
gemäß einer anderen bevorzugten Ausführungsform; Fig. 42 das Beispiel einer Nachschlagtabelle
nach einer anderen bevorzugten Durchführungsform;
Fig. 43 erläutert
formale Unterscheidungsmerkmale bei der Erkennung der Ziffern "9" und "6"; Fig.
44 verdeutlicht ein Beispiel, wie sich die Bedingungen bei der Erkennung von beispielsweise
handgeschriebenen Zeichnungen ändern können; Fig. 45 ein Beispiel für einen Prozessor
zur Entdeckung von seitlichen Segmenten und Fig. 46 (A) bis 46 (D) Diagramme zur
Erläuterung der Arbeitsweise der Schaltung nach Fig. 45.
-
Bevor auf das Gesamtsystem in Einzelheiten eingegangen wird, erscheint
es als zweckmäßig, das Prinzip der Erfindung zu erläutern und zwar am Beispiel der
Erkennung einer etwa handgeschriebenen Ziffer "2".
-
Ein gedrucktes oder auf einer Vorlage geschriebenes Zeichenmuster
läßt sich mittels eines optischen Systems in bekannter Weise abtasten und über eine
photoelektrische Schaltung in elektrische Signale umsetzen. Diese Signale werden
dann nach vorhergehender Formung und Verarbeitung beispielsweise zur Verminderung
von Rauschanteilen in einem Systemspeicher gespeichert. Ein Speicherbereich eines
solchen Speichersystems ist in Fig 1 mit Q bezeichnet; er ist in der Lage, die Information
eines vollständigen Zeichenbereichs zu speichern. Im vorliegenden Beispiel kann
der Speicherbereich für einen vollen Zeichenbereich 24 Bit in der Breite und 32
Bit in Längsrichtung umfassen.Jede der 32 Horizontalzeilen ergibt also eine Informationslänge
oder Kapazität von 24 Bit, woraus sich die Kapazität des vollständigen Zeichenbereichs
leicht ableiten läßt.
-
Das Muster "2" werde beispielsweise in Horizontalrichtung unterteilt
und die jeweiligen Schlitzsegmente des Musters werden für die zugeordnete Speicherzeile
gespeichert.
-
Alle Merkmale eines zu erkennenden Zeichenmusters werden gruppiert
und wie nachfolgend erläutert definiert oder sortiert:
Erste Gruppe:
I. Feststellung der Anzahl der geschlossenen Schleifen; II. Feststellung der Form
(les unteren Kantenbereichs; III. Feststellung der Form des oberen Kantenbereichs
und IV. Feststellung der Verbindung mit einer Seitenlinie.
-
Zweite Gruppe: V. Feststellung der Anzahl von löchern oder Aushöhlungen
im linken Kantenbereich; VI. Feststellung der Anzahl von Löchern oder Aushöhlungen
im rechten Kantenbereich und VII.Feststellung von Buckeln" oder anschwellenden Abschnitten
im rechten Kantenbereich.
-
Der Ausdruck "Seitenlinie" oder "seitliche Linie" bezeichnet jenen
Abschnitt eines Zeichens, der in ilorizontalrichtung mindestens einige Bit lang
ist llnd entsprechend werden auch nur "Buckel" berücksichtigt, die mehr als einige
Bit hoch sind.
-
Die Beschreibung der einzelnen Erkennungsstufen: I. Die Anzahl 3er
geschlossenen Schleifen: Bei dieser ersten Bestimmung wird zunächst die Anzahl von
kreisringförmiqen Schleifen festgestellt, beispielsweise bei einer Ziffer "8". Soweit
das zu erkennende Muster eine Ziffer oder ein Buchstabe ist, läßt sich die Anzahl
der Schleifen wie nachfolgend unter Bezug auf Fig. 2 klassifizieren: (0): keine
Schleife; (1): Anzahl der Schleifen ist 1 und der durch die Schleife umgrenzte Raum
ist mindestens 1 Bit oder mehr breit bzw. hoch;
(2): die Anzahl
der Schleifen beträgt 2. Es liegt im gegebenen Beispiel eine "Taille" mit einer
Breite von 7 Bit oder weniger vor und der Raum oder Abstand im Inneren der jeweiligen
Schleifen beträgt 1 Bit oder mehr. Dazu alternativ kann auch der Fall vorliegen,
daß keine "Taille" vorhanden ist, während der obere Raum im Inneren der Schleife
1 Bit oder mellr im unteren Bereich 2 Bit oder mehr breit ist.
-
Hinsichtlich der Bewertung der so überprüften Schleifen sei bemerkt,
daß hier zunächst nur solche berücksichtigt werden, die nach einer vorhergehenden
Verarbeitung einen Innenraum von einem oder mehr Bit aufweisen.Für den Fall, daß
zwei Schleifen ohne dazwischenliegende Taille festgestellt werden (vgl. das Beispiel
der Fig. 3), lassen sich Zeichen wie die Ziffer "8" sicher dadurch erkennen, daß
hinsichtlich der oberen Schleife die Einschränkung auf eine Größe von 2 oder mehr
Bit festgelegt wird. Jene Zeichen, die den obigen Bedingungen nicht genügen, jene
mit beispielsweise 3 Schleifen oder jene Zeichen die keine Verbindung zwischen ihren
beiden Hauptteilen aufweisen, lassen sich in andere Kategorien einsortieren.
-
II. Form des unteren Kantenabschnitts: Dieser Bereich läßt sich klassifizieren
durch Länge und Anzahl von Linien, welche vom unteren Kantenbereich ausgehen, (vgl.
Fig. 4): (0): kein Buckel am unteren Kantenbereich, (1): die Länge des Buckels überschreitet
einen gegebenen Wert, und (2): es gibt zwei oder mehr Buckel.
-
Die Länge von Zeilen mit abgeschnittenem Spitzenabschnitt läßt sich
nach vorstehender Maßnahme bewerten, weil alle Teilchenmuster mit gleicher Länge
zwei Zugehörigkeitsmöglichkeiten haben, nämlich Unterklasse (0) oder (1), oder Unterklasse
(2). Zeichenmuster mit zwei Buckeln von mehr als 6 Bit Länge sollten in Unterklasse
(2) eingeordnet werden.
-
III. Form des oberen Kantenbereiches: Die Sortierung dieser Kategorie
ist abhängig von der Länge und Anzahl von Linien, die vom oberen Kantenbereich ausgehen,
und von der Gestalt der obersten Horizontallinie, siehe Fig. 5: (0): kein Buckel,
und die horizontale Länge beträgt beispielsweise 8 Bit oder weniger; (1): es gibt
einen orientierten Buckel, der eine gegebene Höhe von beispielsweise 2 Bit oder
weniger unterschreitet, und die horizontale Linie ist kürzer als 8 Bit; (2): es
gibt einen oberen gerichteten Buckel, dessen Höhe größer als ein gegebener Wert
von beispielsweise 3 Bit oder mehr ist, und die Horizontallinie ist beispielsweise
kürzer als 8 Bit; (3): es gibt zwei Buckel am oberen Kantenbereich und die Horizontal
länge ist beispielsweise kürzer als 8 (4): es gibt keinen gerichteten oberen Buckel,
während die Horizontallinie beispielsweise länger als 8 Bit ist; außerdem befindet
sich am linken Rand ein hängender Abschnitt; (5): es gibt keinen gerichteten Buckel
aber einen hängenden Abschnitt am rechten Rand.
-
Der benutzte Ausdruck "Linienlänge" in der oberen Auf zählung versteht
sich ausschließlich als Spitzen- und Fußabschnitt.
-
Wenn beispielsweise ein Zeichenmuster einer in Unterklasse (2) gehörige
Form und eine in Unterklasse (4) gehörige Horizontallinie über der erstgenannten
Form besitzt, dann wird der oberen Kontur in Unterklasse (4) Priorität gegeben.
Nur in dem Falle, wo zwei Buckel länger als 4 Bit sind, von denen einer länger als
die in Unterklasse (2) gehörige Kontur ist, wird der unteren Kontur Priorität gegeben,
nämlich der Unterklasse (3).
-
IV. Verbindung mit Seitenlinie: Diese Möglichkeit wird nachstehend
klassifiziert nach der Anzahl n von Seitenlinien und ob die betreffende Seitenlinie
nach links oder rechts verbunden ist, wie in Fig. 9: (O): n = 0, keine Verbindung;
(1): n = 1, keine Verbindung; (2): n = 1 und eine Verbindung am linken Kantenbereich.
-
Bei der Bewertung einer geschlossenen Schleife sollten die oberen
und unteren kreisbogenförmigen Bereiche wie eine Seitenlinie betrachtet werden,
wobei es ohne Bedeutung ist, ob noch außerdem eine andere Seitenlinie unterhalb
der am weitesten unten liegenden angeschlossen ist.
-
V. Anzahl der Aushöhlungen am linken Kantenbereich: Dies bezieht sich
in Verbindung mit Fig. 6 auf im linken Kantenbereich vorhandene Aushöhlungen, die
mindestens 2 Bit tief und von einer mehr als 450 betragenden Neigung umgeben sind.
Belanglos ist, ob die Innenseite der Aushöhlung stufenförmig ausgebildet ist.
-
VI. Anzahl von Aushöhlungen am rechten Kantenbereich: Dies bezieht
sich in Verbindung mit Fig. 7 auf Aushöhlungen am rechten Kantenbereich, die mindestens
2 Bit tief und
zwischen mehr als 450 betragende Neigungen eingefügt
sind.
-
Innenkonturen dieser Hohlräume sind ohne Bedeutung.
-
VII. Buckel am rechten Kantenbereich: Gemäß Fig. 8 gibt es folgende
Unterscheidungsmöglichkeiten: (0): kein Buckel; (1): ein einfacher Buckel oder beliebig
viele andere, nicht unter die letzte Unterklasse (2) fallende Buckel; und (2): über
einem Buckel befindet sich eine mindestens 2 Bit tiefe Aushöhlung, die keine Neigung
nach links oben aufweist.
-
Nachstehend wird das erfindungsgemäße System der Zeichenerkennung
beschrieben: Fig. 10 enthält Systeme A1 bis A7 zur Extraktion der vorstehend definierten
Merkmale I bis VII, deren internzustand Z sich bei Empfang einer von außen eingegebenen
Übergangsanweisung It ändert. Mit anderen Worten: die Extraktionssysteme A1 bis
A7 befinden sich zunächst in einem Zustand X° und verändern sich dann von xt 1 nach
xt (wobei t = 1,2,3 ... 32 sein kann) bis zum internen Zustand X32.
-
Wie vorstehend erwähnt, wird ein zur Erkennung anstehendes Zeichenmuster
in eine Matrix von 24 Bit x 32 Bit eingeteilt. Von den Zeilen D1, D2, D3 ... D32
hat jede eine Breite von 24 Bit in Horizontalrichtung (vgl. Qar Qb' Qc ... in Fig.
1 beispielsweise), und zwei benachbarte Zeilen Dt und Dt-1, die repräsentativ sind
für einzelne Konturen und Relativpositionen zwischen ihnen, werden bei der Bildung
der Übergangsanweisung It ausgewertet. Beispielsweise entsteht die Übergangsanweisung
110 durch Auswertung der benachbarten Zeilen D9 und D10,
welche
Gestalt und Relation zwischen den Zeichenabschnitten L1 und L2 (Fig. 12a) ausweisen.
Man beachte, daß gemäß einem wesentlichen Merkmal der vorliegenden Erfindung nur
zwei benachbarte Zeilen Dt und D 1 ausgewertet werden, wenn die Übergangsanweisung
It erzeugt wird.
-
Es gibt eine Unterscheidung zwischen einer ersten und zweiten Merkmalsgruppe
bei einem Entwicklungsweg von lt aus Dt und Dt .
-
Information Dtfür Bei der ersten Merkmalsgruppe wird di/Z2il t gemäß
Fig.13 nach A, B und C klassifiziert, entsprechend der Anzahl n und der Länge X
des auf dieser Zeile erscheinenden Abschnitts eines Schriftzeichens: A, wenn n =
1 und X relativ kurz ist; B, wenn n = 1 und relativ lang; und C, wenn n = 2 ist.
Ferner läßt sich die äußere Information It definieren nach der vorstehend erläuterten
Klassifizierung von A, B und C sowie nach in Fig. 14(A) aufgelisteten Symbolen V,
I, D, .... P, welche im wesentlichen davon abhängen, ob die Zeichenabschnitte auf
den Zeilen t und t - 1 mit dem linken oder dem rechten Kantenabschnitt verbunden
sind. In Fig. 14 (A) ist die obere Hälfte jedes der Symbole V, I, D .... mit dem
Zeichenabschnitt der Zeile Dt und die untere Hälfte mit dem Zeichenabschnitt auf
Zeile D belegt. Bei dem Beispiel von Fig. 12 ist It=LH, bezogen auf die Zeilen D9
und 10, und 1 t=PR bezüglich der Zeilen D19 und D20.
-
Die zweite Merkmalsgruppe It richtet sich nur nach der Relation der
rechten oder linken Position zwischen Dt und Dt'l . Fig. 14(B) zeigt die Definition
der Obergangsanweisungen It in Bezug auf die Merkmalsgruppe V, während Fig. 14(C)
die Definition der Übergangsanweisungen It bezüglich der Merkmalsgruppen VI und
VII wiedergibt. Gemäß
Fig. 14(C) sind die Übergangsanweisungen
It "R" wie bei Merkmalsgruppe V für das oben benutzte Beispiel in Fig.
-
12(a).
-
Nach Eingabe der Übergangsanweisungen It in die Merkmalsextraktionssysteme
A1 - A7 ändern sich deren interne Zustände gemäß diesen Anweisungen It im Rahmen
von Obergangsprozessen, die in den Fig. 15 bis 19 dargestellt sind. Die eingekreisten
Zeichen oder Symbole betreffen jeweils den internen Zustand X, der aufgrund der
Übergangsanweisung 1 in Richtung auf einen Endzustand fortschreitet. Diese Übergänge
ereignen sich niemals in einem oberen oder unteren freien Bereich, wo ein Zeichenabschnittsmuster
steht.
-
Nachstehend wird der Übergang des Internzustands am Beispiel des Schriftzeichens
"2" in Fig. 12 beschrieben: Die Übergangsanweisung für die Zeilen D7 und D8, nämlich
das Symbol I ist "H", und dementsprechend ändert das Zeichenerkennungssystem A1
gemäß der Anzahl von Schleifen seinen Interzustand von y0 nach y1, siehe Fig. 15.
Das Zeichenerkennungssystem A2 für die Form der unteren Kantenbereiche ändert seinen
Zustand gemäß Fig. 16 von y0 nach yE, und in ähnlicher Weise ändert das Detektorsystem
A3 seinen Zustand von y0 nach y1 (siehe Fig. 17), während die Detektorsysteme A5
und A6 im Zustand y0 verharren.
-
Nach Vollzug der neuten Zeilenabtastung sind die Übergangsanweisungen
I9 bei "LH" angekommen, entsprechend den Symbolen der Zeichensegmente in den achten
und neunten Zeilen. Das Zeichenerkennungssystem A1 bleibt im Zustand y1, der Inhalt
von A2 verbleibt bei
Bei der Abtastung der neunten Zeile wird gemäß
Fig. 14(C) "L" festgestellt, und das Zeichendetektorsystem A6 geht in den Zustand
y1 über. Das Zeichen von Fig. 14(C) kommt nach der zehnten Zeile D10 zu "L" bei
unverändertem Zustand y1. Das Zeichen von Fig. 14(C) nach der elften Zeile D11 ist
"R", während das Symbol in Fig. 14(A) auf der elften Zeile D11 als "V" ausgewertet
wird, so daß das Detektorsystem A3 nach y2 in Fig. 17 übergeht.
-
Detektorsystem Ag verbleibt bei Y1, während gegebenenfalls das Merkmalsdetektorsystem
A6 bei yE gemäß Fig. 19 ankommt.
-
Ebenso verändern die Detektorsysteme A1 bis A7 ihre Zustände sequentiell.
Sobald die höchste oder Abtastung der zwanzigsten Zeile beendet ist, werden gegebenenfalls
die Detektorsysteme A1 bis A7 in Zustände versetzt, welche den Formen von Fig. 29(a)
entsprechen, worin A1 sich in Y1 von Fig. 15, A2 in YE von Fig. 16, A3 in yE von
Fig. 17 usw. befindet.
-
Ein in Fig. 8 als CPU (Central Processor Unit) bezeichneter Rechner
speichert eine in Fig. 29 dargestellte Kennzeichentabelle in codierter Form. Die
Merkmalsdetektorsysteme A1 bis A7 sind in dem Rechner 8 codierte Informationen entsprechend
der Anzahl von Schleifen, codierte Informationen n v entsprechend der Form des unteren
Kantenabschnitts, codierte Informationen "7" entsprechend der Form des oberen Kantenabschnitts,
" k " entsprechend der Form des linken Kantenabschnitts, und codierte Informationen
"#" entsprechend dem rechten Kantenabschnitt. Unter Vergleich dieser codierten Informationen
mit der im Rechner 8 gespeicherten Kennzeichentabelle gibt der Rechner 8 die Entscheidung
aus, das fragliche Schriftzeichen ist die Ziffer "2" in Form von Ausgangssignalen
für diese Ziffer "2".
-
Fig. 20 enthält ein grundsätzliches Blockschaltbild für ein OCR- bzw.
optisches Lesegerät gemäß der vorliegenden Erfindung. Eine aus einer Lichtquelle
und einem optischen System bestehende Lesestation 1 beleuchtet einen Zeichenmuster
enthaltenden Beleg 2, und das von dem Beleg 2 reflektierte Licht wird von einer
photoelektrischen Schaltung 3 in elektrische Signale umgewandelt, welche über einen
Analog-Digitalkonverter 4 in eine Abschnittaufbereitungsschaltung 5 eingegeben werden.
Diese Schaltung 5 zerteilt Daten von einer Zeichenlänge in Form einer Matrix von
24 Bit Breite und 32 Bit Höhe, die dann in einen Speicher 100 eingegeben werden.
Die so zerteilten Daten werden einer Vor-Verarbeitungsschaltung 6 zugeführt, mittels
der isolierte Einzelbits entfernt und Abstände in Horizontal-und Vertikalrichtung
mit dem Einzelbit nach Maßgabe der vorliegenden Erfindung ausgefüllt werden. Auf
diese Weise werden Störspannungen unterdrückt.
-
Eine nachgeschaltete Merkmalextraktionsschaltung 7 dient der Gewinnung
der eingangs erläuterten Merkmalsgruppen I bis VII aus den vorverarbeiteten Daten,
und diese extrahierten Daten werden codiert. Der Rechner 8 entscheidet dann, ob
eine Übereinstimmung besteht zwischen den codierten Merkmalen und der in einem Speicher
9 enthaltenen Kennzeichentabelle. Das Ergebnis dieser Entscheidung wird in einer
Ausgabeeinheit 10 erstellt.
-
Einzelheiten der Merkmalsextraktionsschaltung 7 zeigt Fig. 21, die
einen mit dem von Fig. 20 identischen Musterspeicher 100, einen Koordinatendetektor
200 zur Feststellung des Kantenabschnitts des Zeichenmusterabschnitts, eine Gruppe
von Funktionseinheiten 300 zum Auslesen der t t-1 Information auf den Zeilen D und
D (wiederholt, nur zwei Zeilen), ein Codeumsetzer 400 zum codieren der Ausgänge
der Funktionseinheiten 300 und zur Erzeugung der Übergangsanweisungen It und eine
Gruppe von Referenz-
schaltungen 500 zum Verändern der internen
Zustände auf Veranlassung der Übergangsanweisungen lt gehören.
-
Gemäß Fig. 22 besteht der Musterspeicher 100 aus einer Serie von dreiunddreißig
24-Bit-Schieberegistern S0, S1, S2 .... S32 zum Abspeichern je einer Zeicheninformationszeile.
Das heißt, der Musterspeicher 100 speichert die Musterinformation einer Matrix von
24 Bit x 32 Bit im Ganzen. In Fig. 21 ist der Abspeichervorgang für die Ziffer "2"
als Beispiel zugrundegelegt. Das unterste Schieberegister SO in Fig. 22 dient ilfszwecken,
beispielsweise dem Speichern von Leerinformation.
-
t Die Information D der Zeile t des Zeichenmusters aus der Abschnittaufbereitungsschaltung
5 wird in das Schieberet gister S für die Teile t (t=1,2,3,...) im Speicher 100
eingegeben, wo die Information aufgrund eines Taktsignals in den Schieberegistern
nach rechts wandert. Nach Eingang des vierundzwanzigsten Taktsignals wird die Information
Dt in dem speziellen Schieberegister St in das eine Stufe darunter sitzende Schieberegister
S (t-1) betragen, und in diesem Moment wird die Information Dt der ersten Zeile
in das Schieberegister S1 des Koordinatendetektors 200 und dann zum Schieberegister
Sg übertragen. Die Leermusterinformation D0 wird vom Schieberegister S0 übernommen.
Ist das vierundzwanzigste Taktsignal zum zweiten Mal eingegangen, gelangt die Information
Dt in das Schieberegister S(t - 2) und die Information D2 für die zweitletzte Zeile
wird dem Schieberegister S1 entnommen, während die Information D1 bezüglich der
untersten Zeile aus dem Schieberegister Sg zum Koordinatendetektor 200 übertragen
wrd. Sobald der Speicher 100 vierundzwanzig Taktimpulse zum dritten Mal empfangen
hat, wird die Information des Ein-Zeichen-Bereichs aus dem Speicher 100 entnommen.
-
Der Ausgang von Schieberegister S nämlich die Ausgangsinformation
Dt auf der Zeile t geht in den ersten Koordinatendetektor 210 und der Ausgang von
S0 oder die Information Dt 1 von Zeile (t-1) zum zweiten Korodinatendetektor 220.
Der in Fig. 23 separat dargestellte erste Koordinatendetektor 210 besteht aus einem
Flip-Flop 211, einem Zähler 212 und einem Paar Verriegelungsschaltungen 213 und
214. Ein mit T bezeichnetes Signal personifiziert ein Bündel von vierundzwanzig
Taktsignalen, siehe Fig. 27.
-
Unmittelbar vor dem Taktsignal T wird ein Signal S erzeugt, und Flip-
Flop 211 und Zähler 212 werden durch ein umgekehrtes Signal S zurückgesetzt.
-
Bei dieser Anordnung zählt der Zähler 212 nach dem Rücksetzen von
Zähler 212 und Flip-Flop 211 die mit T bezeichnete Anzahl von Taktsignalen. Der
Zählwert von Zähler 212 zeigt die Bit-Positionen sämtlicher Zeilen-Schieberegister
Sg bis S32, d.h. die Koordinatenpositionen, als Referenz vom linken Rand her betrachtet.
Die Zeicheninformation Dt auf Zeile t wird dem Flip-Flop 211 und der Verriegelungsschaltung
214 eingegeben und das Flip-Flop 211 durch ein Signal gesetzt, welches dem linken
Randabschnitt des Zeichenmusters zugeordnet ist. Dieses Setzsignal für Flip-Flop
211 geht zu einem Verriegelungseingang der Verriegelungsschaltung 214. Auf diese
Weise wird der Zählwert des Zählers 212 bzw. der Koordinatenwert XLt der linken
Randposition des Zeichenmusters fest in der Verriegelungsschaltung 213 gespeichert.
Wenn anschließend an das Ende des Zeichenmusters der Zeile t die Leerinformation
kommt, bleibt Flip-Flop 211 wie es ist, und die Augenblickskoordinaten werden fest
in der Verriegelungsschaltung 214 gespeichert. Wenn jedoch der Zeichenabschnitt
auf der gleichen Zeile verschwindet und dann Leerinformation folgt, werden die Koordinaten
in der Verriegelungsschaltung 214 weitergezahlt.
-
Das bedeutet, daß die Verriegelungsschaltung 214 bei den Koordinaten
XRt des äußersten rechten Randabschnitts des Zeichenmusters verbleibt.
-
Andererseits wird der Ausgang des Schieberegisters SO einem zweiten
Koordinatendetektor 220 (Fig. 24) eingegeben, welcher dem ersten Koordinatendetektor
210 gleicht und ein Flip-Flop 221, einen Zähler 222 und ein Paar Verriegelungsschaltungen
223, 224 aufweist. Die Koordinatenposition XL des linken des Randabschnitts der
Zeicheninformation D 1 von Zeile ( t-1) und die Koordinatenposition XRt'l vom rechten
Randabschnitt sind beziehbar aus den Verriegelungsschaltungen 223 bzw. 224.
-
Die Daten Dt, Dt'l , XLt, XL und XRt sind erhältlich aus dem Speicher
100, und die ersten und zweiten Koordinatendetektoren 210 und 220 sind aufgeteilt
unter die Funktionseinheiten 310a, 310b, 320a, 320b, 330, 340, 350, 360, 360 und
380, siehe Fig. 21 und 25.
-
Die Funktionseinheit 310a ist ein auf die Zeicheninformation Dt der
Zeile t reagierender Zähler, welcher entscheidet, aus wie vielen Abschnitten diese
Zeicheninformation besteht. Ein Signal S (Fig. 27) setzt Zähler 310a zurück, und
dieser setzt während eines Zeitraumes vom Leerabschnitt der auf Zeile t markierten
Zeichenabschnitte den Zählvorgang fort.
-
Er erzeugt die Anzahl n von auf der n-ten Zeile vorhandenen markierten
Abschnitte. Die Funktionseinheit 310b ist der vorstehenden Funktionseinheit 310a
ähnlich und erzeugt die Anzahl Nut 1 von auf Zeile (n-1) vorhandenen markierten
Abschnitten.
-
Die Funktionseinheit 320a führt mit Hilfe einer Differenzialschaltung
321 an der rechten Kantenposition XRt und der linken Kantenposition XLt eine Subtraktion
durch, berechnet
die Länge des (markierten) Zeichenabschnitts auf
der Zeile t, und ein Komparator 322 vergleicht die resultierende volle Länge des
Zeichenabschnitts mit einem gegebenen Wert (beispielsweise 8 Bit) und erzeugt den
Ausgang 11111 , wenn letzterer kleiner als ersterer ist.
-
Die Funktionseinheit 320b erzeugt den Ausgang "1", wenn die volle
Länge des Zeichenabschnitts auf Zeile (t-1) größer ist, während die linken und rechten
Kangenabschnitte t-1 L-1 XL und XRt betrachtet werden.
-
Die Funktionseinheit 330 besteht aus einem Zähler 332, welcher die
Anzahl von markierten Zeichenpositionen in dem Falle zählt, daß die In formation
Dt auf Zeile t und die Information Dt-¹ auf Zeile (t-1) durch ein ODER-Gatter 331
kombiniert werden. Das Zählergebnis ist mit C bezeichnet.
-
Die Funktionseinheit 340 ist eine Operationsschaltung 341, welche
als Eingänge die linken und rechten Kantenpositionen XL und XRt aufnimmt und die
Operation XRt + XLt ausführt, 2 um die Mittelkoordinaten der Zeichenabschnitte der
Zeile t zu berechnen. Während das Ergebnis einem Komparator 342 zugeführt wird,
führt eine Operationsschaltung 343 den Rechen-XRt-¹ + XLt-¹ vorgang 2 , das sind
die Mittelkoordinaten der Zeichenabschnitte auf der Zeile (t-1) . Dies Ergebnis
geht in den Komparator 342, und dieser gibt ein Ausgangssignal R/L = "1" ab, wenn
XRt + XLt > XRt-¹ + XLt-¹ ist, 2 2 nämlich wenn die Mittelkoordinaten der Zeichenabschnitte
der Zeile t rechts von denjenigen der Zeile (t-1) liegen.
-
Wenn nicht, gibt der Komparator 342 den Ausgang R/L = 0 ab.
-
Die Funktionseinheit 350 erzeugt einen Binär-Codewert SL, welcher
aussagt, welcher sich auf dem rechten und welcher sich auf dem linken Randabschnitt
des Zeichenabschnitts der Zeile t oder der Zeile (t-1) befindet. SL kann folgende
Werte
annehmen:
00 (wenn XLt = XLt-¹) |
SL = # 10 (wenn XLt < XLt-¹) |
11 (wenn XLt > XLt-¹). |
-
Die Funktionseinheit 360 spricht an auf die linken Kantenpositionen
XLt und XLt 1 der Zeilen t und (t-1), während eine Operationsschaltung 361 die Absolutwerte
des Unterschiedes zwischen diesen beiden Eingängen errechnet. Das Rechenergebnis
wird mit einem mittels eines Komparators 362 erstellten Wertes verglichen. Dieser
Komparator 362 gibt den Ausgang EL = "1" ab, wenn beide linken Kantenabschnitte
mehr als einen vorgegebenen Wert (beispielsweise 2 Bit) voneinander entfernt bleiben.
Wenn nicht, lautet der Ausgang EL = "O".
-
Die Funktionseinheit 370 erzeugt einen Binär-Codewert SR, der Aussagen
zu den rechten Kantenabschnitten der Zeichenabschnitte der Zeilen t bzw. (t-1) zuläßt.
Dieser Wert SR kann folgende Werte annehmen:
t t-1 |
00 (wenn XR = XR ) |
SR = # 10 (wenn XRt = XRt-¹) |
11 (wenn XRt > XRt-¹). |
-
Ähnlich wie Funktionseinheit 360 erzeugt Funktionseinheit 380 ein
Signal ER = "1", wenn beide rechten Kantenabschnitte mehr als um einen gegebenen
Wert voneinander entfernt sind.
-
Ist der Abstand kleiner als der gegebene Wert, ist das Signal ER =
"O".
-
Die Ergebniswerte Nt, Nt-¹, Lt, Lt-¹, C, R/L, SL, EL, SR und ER der
Funktionsgeneratoren 310 bis 380 werden dem Codeumsetzer 400 zugeführt, der als
PLA (Programmable Logic Array) mit 13-Bit-Eingang und 7-Bit-Ausgang ausge-
führt
ist. Dieser Umsetzer wandelt die Eingänge in die Übergangsanweisungen It von 4 Bit
gemäß der in Fig. 6 dargestellten Übersicht um. Die restlichen drei Bit-Ausgänge
bilden Steuersignale F01 F1 und F2.
-
t t In Fig. 26 wird das 2-Bit-Signal N dargestellt durch N1 t und
Not, und die obere Hälfte der Musterkolonne zeigt das Zeichenmuster der Zeile t,
während die untere Hälfte dasjenige der Zeile (t-1) enthält. In der Kolonne für
die Übergangsanweisungen It sind die zugeordneten Ausgangscodes von 4 Bit und Symbole
dargestellt. In der Eingangskolonne zeigt ein freier Raum an, daß ein Bit entweder
"O" oder "1" lauten kann.
-
Nachstehend werden die Beziehungen zwischen den vorstehend beschriebenen
Funktionen am Beispiel der dritten und zweiten Zeile des Musters "2", siehe Fig.
22, beschrieben. Dabei ist die Information D3 auf der dritten Zeile (Information
im Schieberegister S3) die folgende: Summe der Anzahl von Zeichenabschnitten der
dritten Zeile N3 = 10 Summe der Anzahl von Zeichenabschnitten der zweiten Zeile
N3 = 01 Die Anzahl der Zeichenabschnitte, wenn aus den zweiten und dritten Zeilen
zusammengesetzt C = 10 Vergleich zwischen den Mittelabschnitten der Zeichenabschnitte
auf den Zeilen t und (t-1) R/L = 1.
-
Demgemäß lauten die Übergangsanweisungen It 1100 (das Symbol ist
PL) gemäß der Übersicht in Fig. 26.
-
t t Zeigt die Information D eine Leerstelle, wird N = 00 mit 9 Signal
Fg erzeugt. Falls die Information Dt drei separate Abschnitte aufweist, dann ist
Nt = 1.1 mit der Erzeugung eines Signals F1. Falls das Eingangssignal nicht unter
die erwähnte Übersichtstabelle fällt, wird ein Signal F2 erzeugt. Mit Hilfe dieses
Signals F2 stellt der Rechner 8 fest, daß das fragliche Zeichenmuster unlesbar ist,
es wird zurückgewiesen und der Leseprozess angehalten.
-
Das Signal Fg wird an den oberen und unteren Leerabschnitten erzeugt,
wo keine markierten Zeichenabschnitte vorhanden sind. Wird das Signal Fg am unteren
Leerabschnitt erzeugt, wird eine Tabellenreferenzschaltung 500 so lange nicht aktiviert,
bis dieses Signal Fg verschwindet.Angenommen, daß dieser Nicht-Zeichen-Abschnitt
dem Ende des Zeichenabschnitts folgt und dann das Sinal 0 F erzeugt wird, wird die
Tabellerlreferenzprozedur unterbrochen und die internen Zustände der Tabellenreferenzschaltung
500 bleiben wir sie sind. Wenn zusätzlich der Zeichenabschnitt in zwei Teile aufgetrennt
ist, und das Signal Fg bei einer solchen Unterbrechungsperiode auftritt, unterbricht
der Rechner 8 sofort seinen Erkennunc3sprozess und weist das betreffende Zeichenmuster
zurück.
-
Das Signal F1 entsteht in der Nachbarschaft der Mitte von Zeichen
wie "9" und "6" (siehe Fig. 43). Dieses Signal F1 wird gewöhnlich erzeugt, wenn
der Zeichenabschnitt eine natürliche Horizontallinie oder eine etwas modifizierte
Ausführung davon ist. Es ist erwünscht, solche Zeichenabschnitte, wo das Signal
F1 erzeugt wird, so in Vertikalrichtung zu verschieben, daß eine horizontale Linie
entsteht. Dies läßt sich mit Hilfe einer in Fig. 45 dargestellten Schaltung verwirklichen.
Unterhalb von Schieberegister SO befindet sich ein zusätzliches Schiebe register
SO', welches den Ausgang Dt 1 erzeugt. Ist das
Signal F1 niedrig,
ist ein UND-Glied gl geschlossen und der Ausgang eines ODER-Glieds g2 gleich D ,
wie der Ausgang von S0. S0' erhält diese Ausgänge. Ist dagegen das Signal F1 hoch,
dann ist das UND-Glied offen und der Ausgang des ODER-Glieds g2 ist das OR-ste Ergebnis
von Dt-¹ V Dt-², und dies wird dem zusätzlichen Schieberegister S0' eingegeben.
-
Angenommen, das Signal F1 wird erzeugt, weil Dt drei separate Zeichenabschnitte
hat. Zu diesem Zeitpunkt ist die Schaltung aufnahmefähig für das nächste Taktsignal,
siehe Fig. 46. Zu Beginn der Abtastung ist der Ausgang von Schieberegister St gleich
Dt-¹ und der Ausgang des t t-1 t-2 ODER-Glieds g2 gleich D V D V D , weil das UND-Glied
91 offen ist. Diese Ausgänge werden dann S0' zugeführt, das Resultat zeigt Fig.
46(B).
-
Angenommen, Dt-¹ hat drei separate Abschnitte D(t1+1), D(T1+2) ....
D(t2-1) (t2>t1) unter gleichzeitiger Ert2 zeugung des Signals F1, wobei D nicht
die Erzeugung des Signals F1 veranlaßt, dann wird die ODER-Logikoperation in einer
Sequenz durchqeführt, welche mit Dtl beginnt.
-
Wenn D t2 kommt, ist der Ausgang des ODER-Glieds g2 gleich Dt-1 V
D(t1+1) V ..... VD(t2 + 1). Der Erfolgt ist, daß diese drei Abschnitte sequentiell
mit der darunterliegenden Zeile zusammengefaßt werden. Zwischenzeitlich wird die
Tabellenreferenzschaltung nicht aktiviert, so daß diese drei Abschnitte des Musters
zum Zwecke der erleichterten Analyse in Vertikalrichtung verschoben werden. In diesem
Abschnitt ist Dt-¹ immer ersetzt durch den Ausgang des ODER-Glieds g2 (wobei aus
der Übersichtstabelle hervorgeht, t daß F1 nur von D abhängig ist).
-
Gleichzeitig wird die Anzahl von Signal F1 gezählt und, sobald es
öfter als siebenmal gezählt wurde, unterbricht der Rechner 8 den Erkennungsprozess
unmittelbar und erklärt, daß das untersuchte Zeichenmuster ein zurückzuweisendes
ist.
-
Die Tabellenreferenzschaltung 500 besteht aus mehreren Unterschaltungen
510, 520, 530 und 540, bezogen auf die erste Merkmalsgruppe und mehreren Unterschaltungen
550, 560 und 570 unter Bezugnahme auf die zweite Merkmalsgruppe.
-
Die Schaltungen 510, 520, 530, 540 erhalten über den Codet umsetzer
400 die Übergangsanweisungen I von 4 Bit umgewandelt. 550 besteht aus 3 Bit der
zusammengefaßten Ausgänge der Funktionseinheiten 350 und 360 oder den kombinierten
Signalen SL und IL vom linken Kantenabschnitt des Zeichenmusters, während die Schaltungen
560 und 570 3 Bit der kombinierten Signale SR und ER, bezogen auf den rechten Kantenabschnitt
des Zeichenmusters, sind.
-
Jede der in Fig. 28 dargestellten Tabellenreferenzschaltungen besteht
aus je einem Festspeicher (ROM) 501 von 4 x 256 Bit, einer Verriegelungsschaltung
502, einem Puffer 503 und einem UND-Glied 504. Der Festspeicher 501 enthält Programme
entsprechend den Übergangsdarstellungen der Fig. 15 bis 19.
-
Die oberen Adressen A4 bis A7 der Eingänge des Festspeichers 501 sind
xt 1 auf der (t-1)-ten Zeile, während die unteren Adressen Ag bis A3 die Information
It erhalten, welche zur t-ten Zeile gehört, und der Ausgang wird in Xt verwandelt.
-
Bei Anlegen des Taktsignals TR erhält und verriegelt die Verriegelungsschaltung
502 den Ausgang X des Festspeichers 501. Die oberen Adressen des Festspeichers zeigen
Xt, und der interne Zustand ändert sich von t-l nach Xt.
-
Innerhalb der Tabellenreferenzschaltunq wird die Verriegelungsschaltung
502 erstmals mit Erhalt des Signals PS mit X0 =0000 verriegelt. Nach Abtastung von
D werden die diesem Wert entsprechenden Übergangsanweisungen in den Festspeicher
501 eingegeben. Dessen obere 4 Bit werden mit dem Ausgang der Verriegelungsschaltung
502 oder X0 abgegeben. Der Ausgang des Festspeichers 501 gemäß den empfangenen Obergangs-
bzw. Übertragungsanweisungen 11.
-
Schließlich werden die Übertragungsanweisungen I2 auf der zweiten
Zeile in den Festspeicher 501 eingegeben, und dessen Ausgang ist X², welcher wiederum
der Verriegelungsschaltung 502 nach Empfang des Taktsignals TR zugeführt wird. Jedesmal
bei Empfang der Übertragungsanweisung lt wird der Ausgang des Festspeichers 501
übertragen. Schließlich wird X32 erreicht, und dieser Ausgang wird dem Speicher
8 von Fig. 2 über den Puffer 503 zugeleitet.
-
Wenn im Betrieb das Signal Fg oder F1 beispielsweise auf D10 erzeugt
wird, schließt das UND-Glied 504, so daß kein Taktsignal TR zur Verriegelungsschaltung
502 gelangen kann.
-
Damit werden X9=X10 und die Übertragungsanweisungen 110 überspielt.
-
Der Rechner 8 speichert die Kennzeichentabelle für das in Fig. 29
dargestellte Beispiel zum Vergleich mit den entsprechenden Merkmalsgruppen I bis
VII des zu identifizierenden Zeichenmusters. Die für die abschließenden Übertragungszustände
X32 der entsprechenden Tabellenreferenzschaltungen 510 .... 530 repräsentativen
Codes werden zum Zwecke der Zeichenidentifizierung mit der Kennzeichentabelle verglichen.
Stimmen die Daten der entsprechenden Tabellenreferenzschaltungen beispielsweise
mit Fig. 29a überein, dann entscheidet der Rechner 8, daß das fragliche Zeichenmuster
die Ziffer "2" ist.
-
Zwar sind die entsprechenden Merkmale in Form der in Fig.
-
29 dargestellten Konturen gespeichert, aber tatsächlich ist die Kennzeichentahelle
in Form ihrer zugeordneten Code-Kennung innerhalb des Rechners 8 gespeichert, vgl.
-
Fig. 30 und 31. Stimmen die Ausgangscodes der entsprechenden Tabellenreferenzschaltungen
510 .... 570 mit den im Rechner 8 gespeicherten Codes überein, wird das entsprechende
Zeichen erkannt und ausgegeben.
-
Ein weiteres bevorzugtes Ausführungsbeispiel der Erfindung zeichnet
sich dadurch aus, daß alle Zeichenmuster charakterisiert sind durch die Anzahl von
Schleifen, die Anzahl von Seitenlinien, die Anzahl von Einbuchtungen und Vorsprüngen
am oberen Rand, am unteren Rand, am linken Randabschnitt, am rechten Randabschnitt,
und durch die Anzahl von Buckeln am linken und rechten Randabschnitt. Mit dem Ausdruck
"Einbuchtung" sind hier Vertiefungen im Zeichenmuster gemeint, deren Tiefe eine
gegebene Bit-Anzahl übersteigt. In ähnlicher Weise haben Vorsprünge eine gewisse
Höhe von mehr als einer Anzahl Bit auf beiden Seiten und ihre Breite ist geringer
als eine gewisse Anzahl Bit. Auch Buckel erstrecken sich über eine Länge von mehreren
Bit.
-
Die Anzahl der Schleifen, der Seitenlinien, der Vorsprünge und dergleichen
wird in gleicher Weise wie beim vorstehenden Ausführungsbeispiel abgetastet. Gemäß
Fig. 32 bis 35 zählt man die Anzahl der Einbuchtungen in der Weise, daß ein Abstand
von einer Referenzlinie zu dem Zeichenabschnitt von Zeile zu Zeile abgetastet und
Änderungen von diesen Abständen festgestellt werden. Die gleiche Methode ist anwendbar
auf Vorsprünge und Buckel.
-
Bei der Feststellung von Einbuchtungen und dergleichen im Zeichenmuster
wird dieses zuerst in Horizontalrichtung abgetastet, um Positionsdaten in Horizontalrichtung
zu erhalten, und dann erfolgt eine Abtastung in Vertikalrichtung,
wobei
min vertikale RLchtungsdaten erheilt.
-
Eine in f"ij. 36 dargestellte Schaltung analysiert pro Zeile oder
Kolonne zwar das bei der vorstehend geschilderten Methode gewonnene Zeichenmuster
unter Verwendung eines Speichers 600 von 24 Bit x 32 Bit, wie beim ersten Ausführungsbeispiel.
.
-
Eine Adresssteuerschalitung 601 steuert sauber die Adressen des Speichers
homo. Bei der ersten Abtastung wird der Speicher 600 Zeile für Zeile abgetastet,
beginnend beim untersten Randabschnitt des Zeichenmusters, um Zeichendaten in Horizontalrichtung
abzugeben. Bei der zweiten Abtastung des Zeichenmusters erfolgt dies Kolonne für
Kolonne, beginnend heim linken Randabschnitt, um Zeichendaten der Vertikalrichtung
abzu<jeben.
-
Ein Zähler 602 nimmt die Zeicheninformation vom Speicher 600 auf und
wird nach jeder Zeile zurückgesetzt, so daß die Anzahl Nt der markierten Zeichenabschnitte
auf Zeile t gezählt werden.
-
Ein Puffer 603 speichert die 1-Zeilen-Information oder 1-Kolonnen-Information
des Speichers 600 und sendet die Information der (t-l)-ten Zeile oder der (t-1)-ten
Kolonne ab, während der Speicher 600 die Information der Zeile t oder Kolonne t
abqibt. Die Ausgänge von Speicher 600 und von Puffer 603 werden über ein ODER-Glied
604 in einen Zähler 605 eingegeben, welcher den Zählwert ct der Zeichenabschnitte
der t-ten und der (t-1)-ten Zeilen errechnet.
-
Ein erster Koordinatenspeicher 606 behält die beiden Randabschnitte
der Zeichenabschnitte der t-ten Zeile oder t-ten Kolonne (die Links- und Rechts-Koordinate
XLt und XRt für die Zeileninformation und die oberen und
unteren
Koordinaten YU und YD für die Kolonneninformation).
-
Ein zweiter Koordinatenspeicher 607 behält die beiden Randkoordinaten
XLt XRt 1I yUt 1 und YDtl der Zeichenabschnitte der (t-1)-ten Zeile oder der (t-1)-ten
Kolonne.
-
Diese Koordinatenspeicher 606 und 607 sind in Konstruktion und Betrieb
dem Koordinatendetektor 200 von Fig. 25 ähnlich, sie enthalten ein Flip-Flop 607,
einen Zähler 609 und ein Paar Verriegelungen 610 und 611.
-
Die Koordinatenspeicher 606 und 607 erstellen die Koordinateninformation
des Zeichenabschnitts in Zeilenrichtung, während der Speicher 600 bei der ersten
Abtastung ist und die Koordinateninformation der Kolonnenrichtunq bei der zweiten
Abtastung erstellt.
-
612 entscheidet nach den Ausgängen XLt und XRt der Verriegelungen
610 und 611, ob die Länge des Zeichenabschnitts 7 Bit oder mehr beträgt. Das Ergebnis
wird ausgegeben durch einen Binärwert:
7) |
(1 (wenn Lt # 7) |
Lt = # 2 (wenn Lt < 7) |
Eine Operationsschaltung 613 errechnet einen Differenzwert DXL zwischen dem linken
Randabschnitt des Zeichenabschnitts auf der Zeile t und dem Gegenstück auf der Zeile
(t-1) und erzeugt in Fig. 41 dargestellte Bit-Codes DXt entsprechend der Korrelation
zwischen den linken Randabschnitten der Zeilen t und (t-1). Eine Operationsschaltung
614 errechnet einen Differenzwert zwischen der linken Randposition und der rechten
Randposition des Zeichenabschnitts auf der Zeile (t-1). Dies ähnelt der Operationsschaltung
613.
-
Einzelheiten von DXR sind aus Fig. 38 zu entnehmen.
-
Die Operationsschaltungen 613 und 614 sind abhängig von den Ausgängen
der Koordinatenspeicher 606 und 607, und sie erzeugen Codes DYD und DYU als Repräsentativwerte
für die oberen und unteren Koordinaten von Fig. 39 und 40.
-
Diese Operationsergebnisse werden Tabellenreferenzschaltungen 703
bis 714 zugeführt, von denen jede, wie Fig. 41 zeigt, aus einem Festspeicher (ROM)
701 und einer Verriegelungsschaltung 702 besteht. Diese Schaltungen reproduzieren
die jeweiligen Merkmale wie Anzahl der oberen und unteren Einbuchtungen und dergleichen.
Diese Merkmale oder Kennzeichen werden codiert und dem Rechner 8 zugeführt. Dieser
enthält die in Fig. 42 dargestellte Kennzeichentabelle und vergleicht diese Kennzeichencodes
mit der Tabelle, um die Zeichenerkennung durchzuführen.
-
Bei allen zuvor besprochenen Ausführungsbeispielen werden die erste
und die zweite Abtastung in enger Beziehung zueinander durchgeführt. Es sei erwähnt,
daß die Symbole V, I, D, usw. der Musterinformation nicht notwendigerweise auf die
Fig. 14(A) bis 14(C) begrenzt sind.
-
Selbstverständlich beschränkt sich die Erfindung nicht auf die beschriebenen
und dargestellten Ausführungsbeispiele, vielmehr sind im Rahmen der Erfindung, abgesteckt
durch die Patentansprüche, zahlreiche Abwandlungen möglich.