DE3149743A1 - Verfahren und anordnung zur optischen zeichenerkennung - Google Patents
Verfahren und anordnung zur optischen zeichenerkennungInfo
- Publication number
- DE3149743A1 DE3149743A1 DE19813149743 DE3149743A DE3149743A1 DE 3149743 A1 DE3149743 A1 DE 3149743A1 DE 19813149743 DE19813149743 DE 19813149743 DE 3149743 A DE3149743 A DE 3149743A DE 3149743 A1 DE3149743 A1 DE 3149743A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- memory
- register
- packet
- arrangement according
- 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.)
- Ceased
Links
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/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Character Input (AREA)
- Character Discrimination (AREA)
Description
PATENTANWÄLTE ZENZ & HELBER ■ D 43GO-ESSEN 1-·:AJvüjaul-feSTEJN, 1 · TEL.: (0201) 412687
Seite- y-G* C 88
CAERE CORPORATION 100 Cooper Court, Los Gatos, Kalifornien 95030, V.St.A.
Verfahren und Anordnung zur optischen Zeichenerkennung
Die Erfindung bezieht sich auf das Gebiet der Datentrennung
vor der Datenklassifikation, insbesondere auf ein Verfahren und eine Anordnung zur optischen Zeichenerkennung.
Es gibt bereits zahlreiche Systeme zur Erkennung von Zeichen o. dgl.. Bei einer Gattung solcher Systeme werden alphanumerische
Zeichen optisch abgetastet, und die sich aus der Abtastung ergebende Information wird zur Bestimmung oder Erkennung
der Zeichen weiter verarbeitet. Nach einigen dieser Systeme wird ein Handlesegerät über gedruckte Zeichen bewegt,
wobei die Zeichen vom Lesegerät optisch abgetastet werden.
Die Zeichenerkennung bei der Abtastung mit in der Hand gehaltenen Lesegeräten ist besonders schwierig, da eine genaue
Ausrichtung der Zeichen gegenüber dem optischen System des Abtastgeräts bei einer Bewegung des Lesegeräts von Hand
fehlt. Häufig wird das Lesegerät von der Bedienungsperson über und unter die Zeichen hinausgeführt, insbesondere dann,
wenn eine lange Zeile "gelesen" wird.
Bei der Verarbeitung der aus solchen Lesegeräten empfangenen Daten ist die Lage der Zeichen innerhalb des Sichtfeldes
des Lesegeräts unbekannt, wodurch es noch schwieriger wird, die Zeichen zu bestimmen. In einigen Fällen werden große
Z/bu.
ο I 4 ,, .■ 4 ο
Datenfelder verarbeitet, die keine Zeichen enthalten. In anderen Fällen werden komplizierte Schaltungsanordnungen
zum Auffinden der Zeichenorte verwendet.
Optische Zeichenerkennungseinrichtungen mit von Hand geführten Lesegeräten sind in den US-PS1η 4 075 605 und
4 180 799 beschrieben.
Der Erfindung liegt die Aufgabe zugrunde, für die Zeichenerkennung
ein Matrix—Extraktionssystem zur Verfugung zu stellen, das Zeichen enthaltende Zonen o. dgl. von abgetasteten
Feldern absondert, so daß nur Daten innerhalb dieser abgesonderten Zonen weiterverarbeitet werden müssen.
Dadurch wird die gesamte Menge an zu verarbeitenden Daten verringert und das Erkennungsverfahren vereinfacht.
Bei einem bevorzugten Ausführungsbeispiel der Erfindung werden die Zeichen mit einem Handlesegerät abgetastet und
die so gewonnenen Daten in einem Speicher gespeichert. Er— findungsgemäß werden ein Verfahren und eine Einrichtung
zum Isolieren von Zeichen o. dgl. enthaltenden Datenpaketen im Speicher angegeben. Der Speicher wird unter Verfolgen
der Ober- und Unterseiten der Pakete in einer ersten Richtung abgetastet, um das Ende eines Pakets zu identifizieren.
Dadurch kann der Ort des Paketendes in dieser ersten Richtung bestimmt werden. Sodann wird der Speicher
in der der ersten Richtung entgegengesetzten Richtung abgetastet, wobei die Ober- und Unterseiten des identifizierten
Pakets verfolgt werden. Wenn das Paketende in dieser entgegengesetzten Richtung bestimmt ist, ist auch
die Paketabmessung in dieser zweiten Richtung bekannt. Durch Untersuchung der Ober- und Unterseiten des Pakets
wird die Vertikalabmessung des Pakets bestimmt. Auf diese Weise ist ein Rechteck um das Paket definiert, da die
Vertikal- und Horizontalabmessungen des Pakets und außerdem der Ort des Rechtecks bekannt sind. Die Daten im
3U9743
Speicher innerhalb dieses Rechtecks werden dann extrahiert
und zur Identifizierung des Zeichens o. dgl. innerhalb des Rechtecks verarbeitet.
Im Ergebnis wird erfindungsgemäß ein Umfang lokalisiert,
der benachbarte Kontrastelemente (Pixel) mit Bezug auf das Hintergrundmedium enthält, ferner wird die Erstreckung
des Umfangs identifiziert, und danach werden die innerhalb des lokalisierten Umfangs befindlichen Daten extrahiert.
Dadurch entfällt die Notwendigkeit der Verarbeitung des Inhalts der gesamten Speichermatrix, und es wird insbesondere
gewährleistet, daß die sich auf ein einziges Zeichen beziehenden Daten innerhalb einer Zeitspanne extrahiert
werden, da nur ein einziges Zeichen in jedem der Perimeter bzw. Umfange vorhanden ist.
Im folgenden wird die Erfindung anhand eines in der Zeichnung dargestellten Ausführungsbeispiels näher erläutert. In der
Zeichnung zeigen:
Fig. 1 ein Blockdiagramm der Hauptkomponenten eines optischen Zeichenerkennungssystems und die
Anordnung der neuen Matrix-Extraktionseinrichtung innerhalb dieses Systems;
Fig. 2 eine Darstellung der Zahlen 1, 2 und 3, die innerhalb eines Speichers gespeichert sind;
Fig. 3 ein Blockdiagramm zur Erläuterung des er— findungsgemäßen Verfahrens;
Fig. 4 eine Reihe von Diagrammen zur Beschreibung
der Datengewinnung aus einem Speicher während des Suchbetriebs und des Rückabtastbetriebs;
Fig. 4a die im "A" Register der Extraktionseinrich—
tung im Suchbetrieb für das "größer als" Symbol gespeicherten Daten;
Fig. 4b die im "E" Register und im "D" Register der
Extraktionseinrichtung während der Rückwärtsabtastung für das "größer als" Symbol gespeicherten
Daten;
3U?743
Fig. 5 ein Diagramm der im "A" Register während
des Suchbetriebs gespeicherten Daten, wenn zwei Zeichen in unterschiedlichen Zeilen
innerhalb des Sichtfeldes des Lesegeräts liegen;
Fig. 6 ein Blockschaltbild eines bevorzugten Ausführungsbeispiels der Matrix-Extraktionseinrichtung';
Fig. 7 eine Tabelle zur Veranschaulichung der Verteilung der "Reste" wie sie vom Breitenkompressor
gemäß Fig. 6 verwendet werden;
Fig. 8 einen Teil eines Zustandsdiagramms, das die unter der Steuerung des Steuergeräts
gemäß Fig. 6 insbesondere während des Suchbetriebs durchgeführten Funktionen veranschaulicht;
Fig. 9 eine Fortsetzung des Zustandsdiagramms
gemäß Fig. 8, das in erster Linie die Rückwärtsabtastung veranschaulicht;
Fig. 10 eine Fortsetzung des Zustandsdiagramms
nach Fig. 9, das in erster Linie die mit der Ausgabe der Koordinaten eines identifizierten
Pakets verbundenen Funktionen veranschaulicht;
Fig. 11 eine Fortsetzung des Zustandsdiagramms
gemäß Fig. 10, das die während der Datenkompression und der Datenextraktion durchgeführten
Funktionen veranschaulicht;
Fig. 12 Diagramme zur Erläuterung des Zustandsdiagramms von Fig. 8 und der Operationsweise
der Matrix-Extraktionseinrichtung gemäß Fig. 6 während des Suchbetriebs j
Fig. 12a den Inhalt des Bildspeichers für ein Zeichen; und
Fig. 12b den Inhalt des "A" Registers während des
Suchbetriebs für das Zeichen gemäß Fig. 12a.
Beschrieben wird eine Matrix-Extraktionseinrichtung, die für die Verwendung in einem optischen Zeichenerkennungssystem
(OCR) mit einem Handlesegerät besonders geeignet ist. Die neue Extraktionseinrichtung und das erfindungsgemäße
Verfahren erlauben die Extraktion von jeweils
einzelne Zeichen oder andere Symbole enthaltenden Datenpaketen. In der folgenden Beschreibung werden zahlreiche
Einzelheiten, z. B. die besondere Speichergröße, besondere Steuerbits usw. angegeben, um das Verständnis der Erfindung
zu erleichtern. Es ist für den Fachmann klar, daß die Erfindung auch ohne diese speziellen Einzelheiten realisiert
werden kann. In anderen Fällen sind bekannte Schaltungen in Form eines Blockdiagramms gezeigt, um die Beschreibung
der Erfindung nicht mit unnötigen Einzelheiten zu belasten.
Das in Fig. 1 dargestellte gesamte OCR-System weist eine Datengewinnungseinrichtung, z. B. ein Handlesegerät 20 auf.
Bei dem beschriebenen Ausführungsbeispiel verfügt das Handlesegerät 20 über lineare Felder von Fotodioden, die abgetastet
werden, während das Lesegerät über die Zeichen bewegt wird..Derartige Lesegeräte sind im Handel erhältlich.
Wie für diese Systeme typisch wird das Ausgangssignal des
Lesegeräts 20 von einem Videoprozessor verarbeitet, der beispielsweise die von den Fotodioden aufgenommenen Analogsignale
in Digitalsignale umsetzt. Als Prozessor 21 kann irgendein bekannter Videoprozessor verwendet werden. Videoprozessoren
sind beispielsweise in den US-PS1η 3 484 707 und 4 180 799
beschrieben.
Bei dem beschriebenen Ausführungsbeispiel sind zwei mit Fl und F2 bezeichnete Videokanäle vom Prozessor 21 zu der Matrix-Extraktionseinrichtung
22 vorgesehen. Am Ausgang der Matrix-Extraktionseinrichtung werden aus dem Videoprozessor 21 abgeleitete
Daten entwickelt, die dann zu einem Erkennungsprozessor 23 übertragen werden. Der Erkennungsprozessor 23 prüft
die Daten, um die Zeichen zu identifizieren. Zur Erkennung der Zeichen aus solchen Daten können zahlreiche bekannte
Methoden verwendet werden; verwiesen wird beispielsweise auf die US-PS 4 180 799 und 4 075 065.
3UG743
— ο
AA,
Die Matrix-Extraktionseinrichtung enthält einen Speicher 25. (Ein möglicher Inhalt des Speichers 25 für abgetastete
Bilder istin Fig. 2 zu Erläuterungszwecken dargestellt.) Bei dem bevorzugten Ausführungsbeispiel besteht dieser
Speicher aus einem 16K-Speicher (16.384 Bits). Ein commerzielles Speicherchip, z. B. das Chip 2118, wird verwendet,
obwohl auch andere Speicher benutzt werden können. Der Speicher ist in 64 Zeilen (0-63) und 256 Spalten (0-255)
organisiert. Die vom Lesegerät 20 abgetasteten Bilder werden nach Verarbeitung im Videoprozessor 21 in den Speicher
25 in einem 1-zu-l-Abbildungsverhältnis eingelesen; auch
andere Abbildungsverhältnisse können verwendet werden. Nachdem Daten in die Zeile 255 des Speichers geschrieben
worden sind, wird die nächste Datenzeile entsprechend der gestrichelten Linie 26 in die Spalte 0 geschrieben. Der
Speicher kann daher als zylindrischer, kontinuierlicher Speicher angesehen werden. Und in der Tat behandelt die
Matrix-Extraktionseinrichtung die Spalte 0 als Folgespalte der Spalte 255 selbst dann, wenn ein einziges Zeichen unterteilt
und an entgegengesetzten Enden des Speichers (z. B. in den Spalten 250-255 und 0-10) gespeichert ist.
Die Bilder der Zahlen 1, 2 und 3 sind nach deren Speicherung im Speicher 25 in Fig. 2 dargestellt. Für die Erkennung dieser
Bilder ist es hilfreich, wenn die jedes Bild darstellenden gespeicherten Daten identifiziert und entfernt werden
können. Dies kann jedoch mit herkömmlichen Einrichtungen und Systemen aus einer Anzahl von Gründen nicht ohne weiteres
gemacht werden. Einerseits ist die Breite jedes Bildes nicht konstant, sondern ist insbesondere eine Funktion der Geschwindigkeit,
mit der das Lesegerät von der Bedienungsperson bewegt bzw. geführt wird. Wenn das Lesegerät beispielsweise mit
einer höheren Geschwindigkeit bewegt wird, so sind die im Speicher abgelegten Bilder schmaler, während bei Bewegung des
Lesegeräts mit einer geringeren Geschwindigkeit die Bilder
/12)
im Speicher breiter werden. (Vgl. die Darstellungen der Zahlen 1 und 2 gegenüber der Zahl 3 in Fig. 2). Zweitens
ist der Ort jedes Bilds in Vertikalrichtung im Speicher nicht bekannt, und tatsächlich kann sich der Ort der Bilder
bei der Bewegung des Lesegeräts verschieben. Ferner ist auch die horizontale Lage.unbekannt. Es kann eine
ganze Speicherspalte ohne Daten zwischen jedem Bild existieren. Dies gilt vor allem dann, wenn zwei Informationszeilen
gleichzeitig abgetastet werden; vgl. beispielsweise in Fig. die in verschiedenen Zeilen dargestellten ">" und "<" Symbole.
Hierin liegen einige der Probleme, die bei der Isolation von Zeichen im Speicher auftreten.
Die Matrix-Extraktionseinrichtung 22 gemäß Fig. 1 isoliert jedes Paket, das in Fig. 2 durch die gestrichelt umgrenzten
Felder um die Zahlen 1, 2 und 3 angegeben ist, und extrahiert danach die Daten innerhalb jedes Pakets. Derartige Daten
können dann leichter verarbeitet und die Zeichen einfacherer erkannt werden. Der Ort jedes Pakets wird ebenfalls bestimmt.
Dies ermöglicht beispielsweise die Bestimmung der Zeile, zu
der ein Zeichen gehört, und der Folge der Zeichen.
Generell wird die Information aus dem Lesegerät in den Speicher mit einer von der Abtastgeschwindigkeit gesteuerten Geschwindigkeit
eingeschrieben. Bei dem beschriebenen Ausführungsbeispiel· folgt die Extraktionseinrichtung bei jedem
dieser Schreibzyklen den neugeschriebenen Spalten und liest die Daten mit der 7fachen Schreibgeschwindigkeit. Dieses
Lesen wird sowohl in der Richtung, in der die neue Information geschrieben wird, als auch in der entgegengesetzten Richtung
(Rückwärtsabtastung) gelesen, wie nachfolgend beschrieben werden wird. Das Lesen in der Vorwärtsrichtung während
des Suchbetriebs identifiziert den Beginn oder die Entstehung eines Pakets, die Paketgröße, das Verschwinden, das Zusammenlaufen
und Abweichungen und schließlich das Ende eines Pakets.
3U9743
Dies geschieht in erster Linie in Zuordnung zu dem A-Register (ein gewöhnliches Digitalregister, das durch den
Buchstaben "A" identifiziert ist). Sobald das Ende eines Pakets bestimmt worden ist, ist die Horizontalabmessung
des Pakets nach rechts bekannt. Einige Pakete können gleich zeitig im Α-Register verarbeitet werden, wenn mehr als
eine einzelne Zeile von Zeichen abgetastet wird.
Nach dem Abbruch bzw. Ende eines Pakets im Suchbetrieb folgt die Rückwärtsabtastung. Das D-Register dient zu Speicherung
der Information während der Rückwärtsabtastung bezüglich der vertikalen Zunahme, Abnahme und Drift. Wenn
das Ende oder der Abbruch eines Pakets festgestellt wird, ist das horizontale linke Ende des Pakets bekannt. Das
Ε-Register dient der Aufzeichnung der Vertikalerstreckung
eines Pakets während der Rückwärtsabtastung und liefert daher die oberen und unteren Begrenzungen des Pakets.
Während der Extraktion bzw. Entnahme eines Pakets aus dem Speicher findet eine Kompression in Horizontalrichtung derart
statt, daß jede horizontale Scheibe jedes Pakets aus einem einzigen Byte besteht.
Im folgenden wird auf Fig. Aa bezug genommen. Es sei angenommen,
daß das Bild 28 ("größer als" Zeichen) im Bildspeicher 25 gespeichert ist. Es sei ferner angenommen, daß
der Speicher während des Suchbetriebs von links nach rechts abgetastet wird und daß die Daten aus dem Speicher gelesen
und verarbeitet werden. Wenn ein Bild (Kontrastpixel bezüglich des Hintergrundmediums) darstellende Daten im Bildspeicher
gefunden werden, wird ein Byte während jeder Abtastung im Α-Register an einer Registerstelle gespeichert,
die dem Vertikalort im Bildspeicher entspricht. (Das A-Register hat eine Breite von 64 Bytes). Daher wird beispielsweise
zu einem Zeitpunkt 30 in Fig. 4a der Rand 27 des Symbols 28 festgestellt und eine binäre 1, dargestellt durch
die Linie 31, in das Α-Register geschrieben. Dies stellt den Beginn bzw. die Entstehung eines Pakets dar. In Fig. 3
stellt der Block 50 diesen Verfahrensschritt, d. h. die
Vorwärtsabtastung des Speichers zur Lokalisierung eines
ersten Punktes und die Speicherung dieser Daten im A-Register (Block 51) dar.
Während der weiteren Abtastung, dargestellt durch den Zeitpunkt 3 2, werden sowohl der untere Teil als auch der obere
Teil des Symbols 28 aus dem Speicher gelesen, und diese Information wird im Register gespeichert. Die durch die
Linie 33 bezeichneten Daten stellen einen zweiten Anfang bzw. eine zweite Entstehung dar, und in dieser Verfahrensstufe kann noch nicht festgestellt werden, ob es sich
hierbei um eine neues Paket oder einen Teil des durch die
Linie 31 dargestellten ersten Pakets handelt. Die Vorwärtsabtastung wird fortgesetzt, und die im Α-Register enthaltenden
Daten zeigen ein Driften des Bildes, ein Zusammenlaufen der Datenlinien, einen Abfall des Bildes und schließlich
das Ende oder den Abbruch des Bildes an. Dies ist durch die Blöcke 52 und 53 in Fig. 3 gezeigt. An diesem Punkt endet
der Suchbetrieb, und die horizontale Erstreckung nach, rechts (angegeben durch die Ausgabe 54) ist bekannt. (Die zur Bestimmung
der Entstehung, des Wachsens, des Zusammenlaufens, des Abfalls und des. Drittens verwendete besondere Logik ist
in Fig. 8 gezeigt und wird weiter unten im einzelnen erläutert).
Als nächstes führt die Matrix-Extraktionseinrichtung die
Rückwärtsabtastungen durch. Die Zeitabläufe der Daten, die im (i) Ε-Register (Block 34) gespeichert sind, sind in Fig. 4b
gezeigt und diejenigen (ii) des D-Registers (Block 35) sind in Fig. 4c gezeigt. Beide Register haben eine Breite von
64 Bits Anfänglich (wie noch genauer beschrieben werden wird) ist im D-Register eine binäre 1 enthalten, welche den
Beginn eines Pakets darstellt, und danach verfolgt dieses
Register die Zunahme und Abnahme des Pakets, bis die horizontale linke Position bestimmt ist, wie in Block 35
angegeben ist. Der Inhalt des Ε-Registers bestimmt die gesamte vertikale Ausdehnung, d. h. die vertikale Oberseite
und die vertikale Unterseite des Pakets.
Block 56 in Fig. 3 zeigt, daß in das D-Register nach der Löschung eine binäre 1 eingesetzt ist, während der Block 55
darstellt, daß das Ε-Register gelöscht wird. Block 57 zeigt, daß während des Rückwärtsabtastens die vertikale Zu- und
Abnahme und die Drift im D-Register festgestellt wird. Durch den Block 59 ist veranschaulicht, daß bei Bestimmung
des Endes oder Abbruchs im D-Register die Horizontalerstreckung nach links (über den Ausgang 61) bekannt ist.
Im Ε-Register wird die Ausdehnung aller Pakete (einschließlich
derjenigen, die unterhalb oder oberhalb des betrachteten Pakets vorhanden sind) festgestellt. Block 60 gibt an, daß
das Ε-Register "gereinigt" wird, d. h. die nicht zu dem betreffenden Paket gehörigen Daten entfernt werden, worauf
die oberen und unteren Begrenzungen bzw. Oberseiten und Unterseiten (Ausgänge 62 und 63) bekannt sind.
Danach wird jede Scheibe (Horizontalelement) des Pakets auf
8-Bits (Block 64) komprimiert (normiert) und dann gemäß Block 6 5 zum Erkennungsprozessor 23 in Fig. 1 zur Erkennungsverarbeitung überführt. Danach beginnt der Suchbetrieb erneut.
Im folgenden wird kurz auf Fig. 5 Bezug genommen. Wenn während des Suchbetriebs zwei Zeichen in unterschiedlichen Zeilen
gleichzeitig abgetastet werden, so speichert das Α-Register Daten sowohl des oberen als auch des unteren Zeichens. Mit Hilfe
der in Fig.8 dargestellten Logik wird das Ende eines Pakets bestimmt, obwohl ein anderes Paket im Α-Register dargestellt
ist. Während der Rückwärtsahtastung wird in das D-Register
3Η9743
zum Zeitpunkt 36 eine binäre 1 an der vertikalen Stelle der Information 3 7 eingegeben. Das D-Register ist mit
der gleichen Logik wie das Α-Register ausgestattet, mit der Ausnahme, daß nur dann ein Bit in das D-Register
eingesetzt wird, wenn es im Speicher während nachfolgender Abtastungen Daten gibt, die mit den im Register gespeicherten
Daten verbunden sind. Daher verfolgt das D-Register nur das den im Register eingesetzten Ursprungsbits entsprechende Paket. Da nur verbundene Punkte verfolgt
werden, zeichnet das D-Register die Zunahme, Abnahme, Drift und das Ende auf (vgl. Blöcke 29 und 35 in Fig. 4).
Das Ε-Register verfolgt auch die Ober- und Unterseiton bzw.
oberen und unteren Begrenzungen der Pakete während der Rück wärtsabtastung, und zwar entsprechend der Darstellung in
Block 34 der Fig. 4b in einer kumulativen Weise. Es wird deutlich, daß während der Ruckwärtsabtastung eine Anzahl
von durchgehenden Datenlinien, z. B. Linie 38 im Block 34,
im Register vorhanden sein können. So ist beispielsweise während der Rückwärtsabtastung der Zeichen gemäß Fig. 5
eine Linie ähnlich der Linie 38 im Ε-Register vorhanden, die durch das "größer als" Symbol hervorgerufen ist; diese
Linie ist jedoch nicht mit der Linie 38 verbunden, sondern ist tatsächlich unter dieser im Register. Wenn das Ende
des Pakets im D-Register festgestellt wird, so werden alle Daten aus dem Ε-Register entfernt, mit Ausnahme des verbundenen
Bitbandes, das einen Platz oder Plätze entsprechend den Daten 39 des D-Registers enthält. Dies ist die
Bedeutung des Ausdrucks "säubern" bzw. "reinigen" des E-Registers im Block 60 der Fig. 3. Wenn das Ε-Register gereinigt
ist, enthält es nur die maximale Vertikalerstrekkung
desjenigen Pakets, für das das D-Register durch Einlegen eines Bits aufgerufen wurde.
3ur.7
Daher wird mit den A-, E- und D-Registern ein Rechteck um das Paket definiert, das dem kleinsten, um das im Speicher
gespeicherte Bild definierbaren Rechteck entspricht (vgl. die gestrichelten Linien in Fig. 2 um die Zahlen
1, 2 und 3).
Mit der Logik gemäß in Figuren 8 bis 11 kehrt die Extraktionseinrichtung
nach der Identifizierung und Extraktion eines Pakets in den Suchbetrieb zurück und sucht das nächste
Paketende. Für die in Fig. 5 gezeigten beiden Zeichenzeilen wird nach der Extraktion der Daten für das "größer als"-Zeichen
das Ende (im Α-Register) des Pakets für das "kleiner als"-Symbol abgetastet. Danach wird die Rückwärtsabtastung
vorgenommen, um die Erstreckung des Datenpakets für das "kleiner als"-Symbol vollständig zu identifizieren, damit
diese Daten für die Weiterverarbeitung aus dem Speicher extrahiert werden können.
Im folgenden wird auf Fig. 6 bezug genommen, in der die Matrix-Extraktionseinrichtung sowie einige andere Schaltungen
gezeigt sind, die nicht direkt für die Matrix-Extraktionseinrichtung erforderlich sind; hierzu gehören die Richtungsbestimmungseinrichtung
68 und der Breitenkompressor 73. Diese Einrichtungen sind zwischen den Linien 83 und 84 gezeigt.
Die Videosignale werden von dem Videoabschnitt empfangen, und bei dem beschriebenen Ausführungsbeispiel sind zwei Kanäle
von Videosignalen auf den Leitungen 66 und 67 mit der Extraktionseinrichtung gekoppelt. Außerdem wird ein Taktsignal
vom Abtastgerät über eine Leitung 69 mit dem Schreibadressenzähler
70 gekoppelt. Die zum Erkennungsprozessor führenden Leitungen sind auf der rechten Seite der gestrichelten
Linie 84 gezeigt.
In dem beschriebenen Ausführungsbeispiel entwickelt der Ausgang des Videoprozessors zwei Videoinformationskanäle, welche
die von beabstandeten linearen Feldern aufgenommenen Daten enthalten (vgl. US-PS 4 180 799). Nur ein Datenkanal
ist für die Zeichenerkennung notwendig, wenn das Lesen stets durch Bewegung in einer Richtung über die Zeichen erfolgt.
Da das Lesen jedoch sowohl von rechts nach links als auch von links nach, rechts erfolgen kann, benötigt der Erkennungsprozessor
Informationen über die Bewegungsrichtung. So ist diese Richtungsinformation beispielsweise zur Unterscheidung
zwischen einem "größer als"— oder "kleiner als"-Symbol
erforderlich. Die Richtungsbestimmungseinrichtung 68, die eine bekannte Ausbildung haben kann, bestimmt die Richtung
der Lesegerätebewegung, und ein diese Richtung darstellendes Signal wird im Bildspeicher 25 auf Plätzen gespeichert, die
für die Bildspeicherung nicht gebraucht werden. Dieses Richtungssignal
wird während der Datenextraktion aus dem Speicher 25 über dem Breitenkompressor 73 und die Ausgabesteuereinrichtung
76 zum Erkennungsprozessor gekoppelt.
Bei dem beschriebenen Ausführungsbeispiel sei angenommen, daß gültige Daten oder Pakete, die zur Erkennung extrahiert
werden sollen, an irgendeinem Spaltenplatz zwischen den Zeilen 4 bis 59 gespeichert werden. Weiße Schutzbänder werden
in den Zeilen 0-3 und in der Zeile 60 für alle Spalten, die Spaltenplätze 0-254 in Zeile 61 und in Zeile 62 für alle
Spalten vorgesehen. Diese weißen Schutzbänder gewährleisten, daß während der Verarbeitung von Teilpaketen, die an den
oberen und unteren Kanten des Sichtfeldes erscheinen, eine
Unterbrechung auftritt. Dies ermöglicht eine kontinuierlichere Verarbeitung und beseitigt besondere Logikzustände zur
Verhinderung einer Verbindung von oberen und unteren Teilpaketen. Ein eine Pseudopaket darstellendes Bit wird in Spalte
?55, Zeile 61 eingesetzt, um den Erkennungsprozessor zu informieren,
wenn der Speicher "umzuschlagen" droht, (vgl. Linie 26 in Fig. 2) Die Richtungsdaten von der Richtungsbestimmungseinrichtung
68 werden in Zeile 6 3 gespeichert.
Der Schreibadressenzähler 70 hat einen gewöhnlichen Digitalzähler,
der sich automatisch rücksetzt, wenn er einen Zählwert von 16.384 erreicht. Dieser Zähler arbeitet synchronisiert
mit dem Abtaster und erhält über die Leitung 69 ein Pixel-Taktsignal. Daher ergibt sich bei dem beschriebenen
Speicher eine 1-zu-l-Abbildung der abgetasteten Bilder im
Bildspeicher 25. Der Leseadressenzähler 71 ist ebenfalls ein 16K-Zähler, der unter der Steuerung des Steuergeräts 75
zählt. Über die Leitung 85 fließen Steuersignale zum Zähler 71 und werden derart dekodiert, daß der Zähler in Abhängigkeit
von sechs Befehlen zusätzlich zu einem Rücksetz- und einem "Nicht-Zähl-"Signal gesteuert wird. Das Steuergerät
kann bewirken, daß der Zähler 71 im Speicher um einen Platz vertikal nach oben, vertikal nach unten, horizontal nach
links, horizontal nach rechts und in zwei Raster-Abtastmoden zählt. Ein Abtastmode ist eine Rasterabtastung während der
Aufwärtsabtastung und der Bewegung nach links (Zähler, Abwärtszählungen) , und der andere ist eine Abwärtsrasterabtastung
nach rechts (Zähler, Aufwärtszählungen). Es ist selbstverständlich der Leseadressenzähler 71, der während
des Suchbetriebs, des Rückwärtsabtastbetrxebs und während der Datenextraktion getaktet wird. Die Adresse im Zähler
wird zur Ausgabe-Steuereinrichtung 76 übertragen und dem Prozessor mitgeteilt, um die Ortsdaten des Pakets zu gewinnen.
Die Ausgänge der beiden Zähler 70 und 71 sind über einen Adressenmultxplexer 7 2 mit dem Bildspeicher 25 verbunden.
Der Multiplexer nimmt ein Lese/Schreib-Signal auf, um
zwischen den Ausgängen dieser beiden Zähler zu wählen. Wie oben erwähnt, gibt es bei dem beschriebenen Ausführungsbeispiel sieben Lesezyklen für jeden Schreibzyklus. (Nicht
gezeigt ist eine Schaltung, welche das Lesen des Speichers zum Überholen des Schreibens verhindert.)
- : -:- :-■: 1 3143 Γ43
If)-
Die Register 74 enthalten einen 64 χ 3 RAM (Speicher mit
direktem Zugriff), der jedem der A-, E- und D-Register die notwendige 64-Bit-Speicherkapazität zur Verfügung stellt.
Diese Register erhalten fünf Steuersignale (Leitungen 78), die dekodiert werden, um die folgenden Steuerungen für
jedes Register zu bewirken. Im Falle des Α-Registers gibt es drei Steuerungen, (1) schreibe den vorhergehenden Wert
zurück in A, (2) schreibe einen Nullwert zurück und (3) schreibe einen Einswert in das Α-Register zurück. Es gibt
vier Befehle für das Ε-Register. Dies sind die folgenden: (1) schreibe den alten Wert des Ε-Registers zurück, (2)
schreibe den Wert des Ε-Registers unter einer ODER-Verknüpfung mit den Bilddaten aus dem Speicher 25 zurück,
(3) schreibe eine Null zurück und (4) schreibe eine Eins zurück. Zwei Befehle gibt es für das D-Register, und zwar
(1) schreibe eine Null zurück und (2) schreibe eine Eins zurück. Es gibt drei Leitungen 79 von den Registern zum
Steuergerät 75, welche das Abtasten bzw. Lesen von Daten in jedem der Register A, E und D ermöglichen, wenn diese
Register von sechs Adreßbits aus dem Adressenmultiplexer 72 adressiert werden.
Die Ausgabesteuereinrichtung 76 weist einen Multiplexer
auf, der die Auswahl zwischen den Adressenbits aus dem Leseadressenzähler 71 oder den Datenbits aus dem Breitenkompressor
73 ermöglicht. Die Steuereinrichtung 76 weist ein Siloregister oder einen Silopuffer (FIFO-Register) auf, das
eine Kapazität von 64 χ 8 Bits hat. Sowohl Daten als auch die Koordinatendaten werden über die acht Leitungen 82 zum
Prozessor übertragen. Die drei Steuerleitungen vom Steuergerät 75 zur Ausgabesteuereinrichtung 76 ergeben die folgenden·
Steuerungen: (1) lade das erste Siloregister und (2) bewirke eine Nachrichtenformatierung für die vertikalen und
horizontalen Komponenten und die Datenbytes. Wie oben erwähnt, sind die Koordinatendaten für die Konturgebung notwendig,
d. h. für die Unterscheidung zwischen Zeichen in
,y.
unterschiedlichen Zeilen; dies wird allgemein als Feldtrennung bezeichnet. Die beiden Steuerleitungen 80 vom
Erkennungsprozessor zur Ausgabe-Steuereinrichtung 76 dienen zur Ausgabeanforderung und zur Zustandskontrolle. Über
die Leitung 81 wird ein Unterbrechungssignal gegeben.
Bei einer zu lesenden besonderen Schriftart ist die Höhe
der Zeichen bekannt. Die Schrifthöhen-Steuereinrichtung 77
verhindert, daß Daten in das Siloregister für Pakete eingelesen werden, die bei einer Höhe von mehr als der
vorgegebenen Höhe getrennt sind. Dies verhindert beispielsweise das Auslesen von Paketen, welche Grenzen o. dgl.
darstellen. Die Schrifthöhen-Steuereinrichtung besteht aus einer 8-Bit-Verriegelungsschaltung und einem Zähler. Ein
8-Bit-Wort wird aus dem Erkennungsprozessor in die Verriegelungsschaltung
geladen. Danach zählt der Zähler nach Maßgabe des Steuergeräts während der Extraktion bzw. Entnahme
eines Pakets aus dem Bildspeicher von der in der Verriegelungsschaltung gespeicherten Zahl abwärts. Wird ein Null-Zählerstand
erreicht, bevor das Paket entnommen bzw. extrahiert ist, so steht fest, daß das Paket größer als die
vorgegebene Schrifthöhe ist, und das Steuergerät 75 verhindert, daß das Paket zu dem Siloregister der Ausgabe-Steuereinrichtung
76 ausgegeben und die Daten gelöscht werden. Das eine Steuersignal von dem Steuergerät zur Schrift
höhen-Steuereinrichtung 77 lädt und taktet den Zähler, und die eine Steuerleitung von der Steuereinrichtung 77 zum
Steuergerät 75 zeigt an, wann ein Zählerstand Null erreicht worden ist.
Wie am deutlichsten in Fig. 2 gezeigt ist, kann sich die Breite eines Bilds im Speicher als Funktion der Geschwindigkeit
ändern, mit der das Lesegerät über die Druckschrift bewegt wird. Es ist leichter, jede Horizontalscheibe jedes
Pakets in eine vorgegebene Anzahl von Bits, beispiels acht Bits, zu komprimieren, bevor die Daten in den Erkennungs-
31 A S : /,
Zl-
prozessor eingekoppelt werden. Eine Vielzahl bekannter
Schaltungen stehen zur Kompression langer Binärwörter in kürzere, "normierte" Binärwörter zur Verfugung.
Der Breitenkompressor 73 dient zusätzlich zur Kompression von Daten zur Zurückweisung von Paketen, deren Breiten
größer als 128 Zeilen sind. Ein Zähler prüft diese Breite und entwickelt ein Überlaufsignal (0), wenn diese Breite
überschritten wird. Solche langen Pakete zeigen beispielsweise an, daß das von Hand geführte Lesegerät zu langsam
bewegt wird oder daß nicht-OCR-Pakete abgetastet werden. (Zu beachten ist, daß die Breite eines vorgegebenen Pakets
konstant ist, da ein Rechteck um das Paket in der in Fig. 2 gezeigten Weise definiert ist.) Der Breitenkompressor
tastet durch Zählung die Breite eines besonderen Pakets ab. Diese Breite wird durch 8 geteilt, da bei dem beschriebenen
Ausführungsbeispiel eine 8-Bit-Ausgabe verwendet wird. Durch Teilung einer ganzen Zahl durch 8 kann ein
Rest auftreten, der zwischen 0 und 7 variiert. Die Restabtastungen
werden in der in Fig. 7 gezeigten Weise verteilt.
Es sei hier angenommen, daß ein Paket eine Breite von 9
Abtastungen in Horizontalrichtung hat. Eine Teilung von
9 2 durch 8 ergibt 11 mit einem Rest von 4. In der Tabelle gemäß Fig. 7 wird bei einem Rest von 4 der Rest verteilt,
wobei ein Extrabit in die ersten, dritten, fünften und siebten Bitabschnitte gelegt wird. Daher werden beim Lesen
einer 9 2-Bit breiten Scheibe die ersten 12 Bits abgetastet und einer ODER-Verarbeitung unterzogen und danach zur Entwicklung
des ersten Ausgabebits für diese Scheibe verwendet. Die nächsten 11 Bits werden dann ODER-verknüpft, um ein
zweites Ausgabebit zu entwickeln. Die nächsten 12 Bits werden ODER-verknüpft, um das dritte Ausgabebit des Ausgangsbytes
zu entwickeln usw.. Zu beachten ist, daß das Ausgangswort eine binäre 1 ist, wenn bei dieser ODER-Verknüpfung
"I ".-:-;··; i 3H9743
23.
eine einzige binäre 1 im Bildspeicher für das ODER-verknüpfte
Wort gespeichert ist.
Die Steuerbits, die vom Steuergerät 75 an den Kompressor gegeben werden, zeigen einen Überlauf (zu breites Paket),
das Ende eines Zeichens und das Ende der "Acht" einer Paketscheibe
an. Die vier Steuerleitungen vom Steuergerät 75 zum Kompressor dienen zur Steuerung des Abtastzählers und ergeben
Rücksetz-, Nicht-Zähl-, Aufwärtszähl- und Abwärtszähl-Signale
für den Kompressor.
Der Breitenkompressor 73, der oben beschrieben wurde, ist bei der vorliegenden Erfindung nicht notwendig; wie oben
erwähnt können auch andere Kompressoren verwendet werden.
Figuren 8-11 enthalten Zustandsdiagramme (Flußdiagramme)
für die Logik und Steuerung des Steuergeräts 75 gemäß Fig. Diese Diagramme können in geeigneter Weise als Logikschaltungen
oder in Form eines Festwert-Speicherprogramms realisiert werden, wie es bei dem beschriebenen Ausführungsbeispiel verwendet wird. Es ist die Logik und Steuerung
gemäß den Figuren 8-11, welche den Verfahrensablauf gemäß Fig. 3 in der Anordnung gemäß Fig. 6 implementiert.
Unter Bezugnahme auf Fig. 12a sei angenommen, daß das Bild innerhalb der Linie 86 im Speicher gespeichert ist und zusätzlich
ein Richtungsbit 87 in der Zeile 63 gespeichert ist. Es sei ferner angenommen, daß die Matrix-Extraktionseinrichtung
im Suchbetrieb ist und nach einem Paket sucht. Die Daten werden löschungsfrei aus dem Bildspeicher ausgelesen.
Wenn während des Suchbetriebs ein Bildbit "F" im Speicher festgestellt wird, ergibt sich ein Lese-Modifika—
tion-Schreib-Zyklus für das Α-Register. Dasselbe gilt für
die E- und D-Register während der Rückwärtsabtastung.
Ί 4c / ^
In Fig. 12b sind der Inhalt des Α-Registers (Α-Spalten) und der Inhalt des Bildspeichers (F-Spalten) für sechs
Abtastungen O, 1, 2, 3, 4 und 5 gezeigt, die der Abtastung
der Spalten 0-5 des Bildspeichers entsprechen. Die in den. Spalten F der Fig. 12b gezeigten Daten entsprechen dem
Bild in Fig. 12a. (Zu beachten ist, daß in Fig. 12b die
schwarz angelegten Daten oder Bits neu in das Register geschriebene Daten und die leeren Kreise zuvor geschriebene
Daten darstellen und daß die mit einem "x" durchgestrichenen
Kreise gelöschte Daten darstellen.)
In Fig. 8 zeigen die Zustände 88, 89 und 90 eine vorläufige
Logik, die zum Löschen der Register beispielsweise beim ersten Einschalten des Systems verwendet wird. Am Knotenpunkt
91 beginnt der Suchbetrieb.
Der Zustand 9 2 beschreibt "finden der nächsten Oberseite" eines Pakets. Dies bedeutet, daß jedes Bit (F), das aus dem
Bildspeicher gelesen wird, mit dem Inhalt des A-Registers (A) verglichen wird. Hierbei handelt es sich um einen
1-zu-l-Vergleich. Wenn beispielsweise ein Bit aus einer
Spalte der Zeile 30 gelesen wird, wird es mit dem an der dreißigsten Stelle des Α-Registers gespeicherten Bit verglichen.
Während des Suchbetriebs wird in der in Fig. 12a gezeigten Weise eine Rasterabtastung verwendet, wobei eine
Spalte im Speicher abwärts abgetastet und danach unter Bewegung nach rechts die nächste Spalte abwärts abgetastet
wird.
Es sei angenommen, daß das Α-Register frei ist und die Abtastung
des Speichers entlang der Spalte O der Fig. 12a erfolgt. Bezugnehmend auf den Zustand bzw. die Stufe92 in
Fig. 8, A=O und F=O und, wie durch die Linie 93 (00) angegeben ist, passiert nichts, d. h. der logische Zustand
bleibt gemäß Zustand 92.
3 U:
Wenn die Abtastung nach unten in Spalte 1 von Fig. 12a fortgesetzt wird, ist A=O und F=O. Zustand 92 bleibt,
bis der erste Datenpunkt aus dem Speicher erreicht ist. Wenn das Bit 96 erreicht wird, ist A=O und F=I. Dies
führt zu einem Fluß entlang der Linie 94 zum Zustand Das aus dem Speicher ausgelesene Bit ist kein Richtungsbit (da es nicht in Zeile 63 gespeichert ist), und die
Bedingung XO ist erfüllt. Dies bewirkt den Fluß zum Zustand 97ο Die Logik im Zustand 97 ist so vorgesehen, daß
in das Α-Register geschrieben wird ("vervollständige A"), und daher wird Bit 98 in das Α-Register geschrieben. Mit
Fortsetzung der Abwärtsabtastung in Spalte 1 ist A=O und F=O, so daß über die Leitung 99 zum Zustand 9 2 zurückgekehrt
wird. Der Fluß für diesen Abschnitt der Spalte 1 ist unter Spalte 1 in Figo 12b angegeben, d. h. die Zustände
92, 95, 97 und 92«.
WennjÜas Richtungsbit 87 erreicht wird, ist A=O und F=I;
der Vergleich 01 bewirkt eine Änderung (Linie 94) zum Zustand 95ο Zustand 95 zeigt an, daß das Bit geprüft wird,
um festzustellen, ob es ein Richtungsbit ist. Da der Inhalt von F ein Richtungsbit ist (dies ist bekannt, da es
sich in der Zeile 63 befindet), gilt: B=I und E=O, da das
Ε-Register gelöscht worden ist. Die Anweisung Xl ist erfüllt. (Das Ε-Register kann einen beliebigen Wert haben; wenn jedoch
B=I, so tritt ein Rücksprung zum Zustand 92 auf, wie durch die Linie 96 veranschaulicht ist.) In Fig. 12b sind
unter der Spalte 1 ebenfalls die Zahlen 95 und 9 2 angegeben, um den Zustandsfluß für das Lesen von Spalte 1 anzugeben.
Wenn in Spalte 2 das Bit 100 gelesen wird, gilt A=O und F=I, und die Logik wechselt zum Zustand 9 5 und danach weiter
zum Zustand 97, und das Bit 122 wird in das Α-Register geschrieben»
Wenn die nächsten Bits 96 und 98 verglichen werden, sind A und F gleich 1, und die Bedingung IX ist erfüllt,
wodurch sich ein Fluß zum Zustand 101 ("suche Unter-
Seite bzw. untere Begrenzung") ergibt. Wenn die nächsten
Bits verglichen werden, ist A=O und F=I. Dies bewirkt einen Rücksprung zum Zustand 97, und ein anderes Bit wird
in das Α-Register geschrieben, worauf in den Zustand 101 und wieder in den Zustand 97 zurückgekehrt wird, wenn das
letzte Bit in Spalte 2 in das Register geschrieben wird. Als nächstes erfolgt ein Rücksprung zum Zustand 92, da
A=O und F=O.
Wenn die Spalte 3 gelesen und Bit 122 im Α-Register erreicht wird, gibt es kein korrespondierendes Bit aus dem
Bildspeicher (F), da die Bildoberseite abfällt. Daher ist A=I und F=O, was zu einem Fluß zum Zustand 102 führt. Die
in diesem Zustand ausgeführte Logik eliminiert das oberste Bit (Elim. Top) des Α-Registers, d. h. löscht Bit 122.
Danach ist während der folgenden drei Zyklen A=I, so daß
die Bedingung IX erfüllt ist und die Steuerung im Zustand 101 bleibt. Wenn das Bit 103 erreicht ist, gilt A=I und
F=I, und es gibt keine Bewegung aus dem Zustand 101. Bei dem nächsten Lesezyklus gibt es jedoch bei A=O und F=O eine
Änderung zum Zustand 104, und dieser Zustand führt dazu, daß das Bit 103 aus dem Α-Register gelöscht wird.
Innerhalb des Zustands 104 wird die Abtastung in vertikaler Aufwärtsrichtung fortgesetzt, um die gesamte Unterseite bzw.
untere Begrenzung zu löschen, bis F=I. Wenn F=I ergibt sich
ein Rücksprung zum Zustand 92.
Unter der vierten Spalte der Fig. 12b findet bei Erreichen
des Datenbits 98 im Α-Register eine Überführung in den Zustand 102 statt, und das Datenbit 98 wird aus dem Register
entfernt. Bei A=I und F=I gibt es eine Überführung in den
Zustand 101, danach eine Überführung in den Zustand 104 und
eine sofortige Rücküberführung in den Zustand 9 2, da kein unteres Bit zu entfernen ist.
In der letzten Spalte 5 gibt es bei A=I und F=O eine Überführung
in den Zustand 102 und eine Entfernung des letzten Datenpunkts im Α-Register. Danach ist eine O-Bedingung
von A=O, F=O, die anzeigt, daß ein Paket und damit der Suchbetrieb beendet ist, und es findet eine Überführung
in den Rückwärts-Abtastbetrieb gemäß Fig. 9 (Linie 106) statt»
In den Zuständen 108, 109, 110 undlll, beispielsweise beginnend
bei dem obigen Beispiel, wenn das Α-Register zuerst eingeschrieben wird (Zustand 97), wird die Höhe des
Pakets geprüft, und wenn bei dem beschriebenen Ausführungsbeispiel das Paket eine vorgegebene Höhe übersteigt, so
wird es in der oben erwähnten Weise eliminiert»
Die in Fig» 8 implementierte Logik bestimmt den Anfang, die
Zunahme, die Abnahme und das Ende eines Pakets. Die gleiche Logik bestimmt auch ein Zusammenlaufen oder Verbinden. Wenn
zwei oder mehrere Pakete gleichzeitig innerhalb des A-Registers verarbeitet werden (z, B. die Zeichen in verschiedenen
Zeilen), so bestimmt die Logik gemäß Fig. 8 trotzdem das Ende eines Pakets, und nach der Extraktion der Daten für
dieses Paket auch das Ende eines anderen Paketes nach einer Rückkehr in den Suchbetrieb.
Während des Ablaufs der obigen Logik (ebenso für die nachfolgende Logik) werden neue Daten aus dem Lesegerät in den
Bildspeicher 25 geschrieben. Wie oben erwähnt, wird für alle sieben Lesezyklen während des Suchbetriebs, Rückwärts-Abtastbetriebs
usw. eine neue Bilddatenspalte in den Speicher eingegeben«, Zu dem Zeitpunkt, an dem neue Daten über die
alten Daten geschrieben werden, sind die alten Daten von der in den Figuren 8-11 angegebenen Logik bereits verarbeitet
worden»
3U9743
Im folgenden wird auf Fig. 9 Bezug genommen. Bei der
Rückwärtsabtastung, angegeben durch den Zustand 112,
ist das D-Register in der oben angegebenen Weise im Ausgangs-
bzw. Keimzustand. Danach wird im Zustand 113 die vorhergehende Unterseite des Pakets während der Rückwärtsabtastung
in der durch den Zustand 113 angegebenen Weise gefunden; zu beachten ist hier, daß die Abtastung in Aufwärtsrichtung
erfolgt. Wiederum werden die Inhalte des D-Registers mit den Daten aus dem Speicher "DF" verglichen.
Wenn das erste Bit im Speicher erreicht ist, wobei die Bewegung auf der Spalte 4 in Fig. 12b aufwärts erfolgt,
fällt diese selbstverständlich mit dem Anfangs- bzw. Keimwert zusammen, und es ergibt sich sodann eine Überführung
in den Zustand 114. (Zu beachten ist, daß der Sicherstellungsbefehl (backup command) des Zustands 114 eine Abwärtsbewegung
der Abtastung berücksichtigt.) Jetzt tritt eine Verzweigung in Abhängigkeit von den Ergebnissen des Vergleichs
DF entweder zum Zustand 115 oder zum Zustand 116 auf. In diesen Zuständen wird die Unterseite des Pakets verarbeitet,
wodurch der Inhalt des D-Registers entweder erweitert oder eliminiert wird. Wenn die Unterseite bzw. der Boden eliminiert
wird (D und F = 0) erfolgt ein Übergang auf der Linie 120'zum Zustand 121 in Fig. 10 (Ende des Rückwärts-Abtastbetriebs).
Der Zustand 117 in Fig. 9 ist ähnlich dem Zustand 113 und lokalisiert die Oberseite des Pakets mit den Zuständen
und 119, wobei die Bits aus dem D-Register erweitert oder eliminiert werden, um die Oberseite des Pakets zu verarbeiten.
Während der Rückwärtsabtastung wird immer dann, wenn Bits in das D-Register geschrieben oder aus dem Bildspeicher gelesen
werden, ein Bit in das Ε-Register geschrieben. Nach der Rückwärtsabtastung wird dieses Register, wie noch erläutert
werden wird, gelöscht.
'■ ·;->
'■ .'- ■'. - 3HS7/.3
i«
Während der Rückwärtsabtastung wird die Breite des Zeichens durch den unter dem Zustand 120 gezeigten Zustand geprüft.
Das "Z" des Zustands 120 zeigt das "Zeichenende-"Signal aus dem Kompressor, und die "0" bezeichnet einen Überlauf aus
dem Zähler des Breitenkompressors 73. Das "EB" des Zustands
124 ist wiederum eine Kontrolle, durch die festgestellt wird,
ob ein Richtungsbit gelesen bzw. abgetastet wird; dieser Vorgang ist ähnlich der Kontrolle durch den Zustand 95 in
Fig* 8. Die Linie 123 vom Zustand 124 ist mit dem Zustand
125 in Fig. 11 verbunden. Wird eine übermäßige Breite festgestellt,
so erfolgt ein Übergang in den Zustand 124, und es tritt eine Unterbrechung ein, bei der die Daten gelöscht
werden. Zu beachten ist, daß eine Unterbrechung entweder bei einer übermäßigen Höhe oder einer übermäßigen Breite
auftreten kann.
Nach Beendigung der Rückwärtsabtastung, d. h. wenn die "00" Bedingung des Zustands 116 erfüllt ist, kommt es zu einem
Übergang entlang der Linie 120'zum Zustand 121 gemäß Fig.
Die Zustände 121 und 126 "löschen"das Ε-Register ,d. h.
alle Bits im Ε-Register, die dem letzten Bit im D-Register nicht benachbart sind, werden gelöscht
Die Zustände 127, 128, 129, 130 und 131 bewirken die Ausgabe eines ersten Synchronisationszeichens, während der
Zustand 13 2 ein zweites Synchronisationszeichen entwickelt. Das "Z " und 0 dieser Zustände bedeuten den Vergleich des
Endes jeder achten einer Zeichenscheibe aus dem Kompressor
(Z ) und wiederum den Überlauf aus dem Kompressor (0). Das "FIFO" bezieht sich auf das oben als Teil der Ausgabe-Steuereinrichtung
76 gemäß Fig. 6 erläuterte Siloregister.
In den Zuständen 133, 134, 135, 136, 137 und 138 wird das
Richtungsbit abgerufen und zusammen mit dem vertikalen Ort der Oberseite bzw. oberen Begrenzung des Pakets ausgegeben.
(6 Bit für die vertikale Oberseite bzw. obere Be-
grenzung und 1 Bit als Richtungsbit.) Danach wird in den Zuständen 139 und 140 die vertikale Unterseiten- bzw.
Bodenkoordinate ausgegeben. Der Zustand 141 ist Vorbereitung für die Datenextraktion aus dem Speicher, und die Linie
142 verbindet den Zustand 141 mit dem Zustand 143 gemäß Fig. 11. Der Zustand 143 dient auch der Vorbereitung der
Datenextraktion aus dem Speicher. Im Zustand 144 wird die horizontale linke Ausgangskoordinate des Pakets entwickelt.
Die Zustände 145, 146, 147 und 148 steuern die Datenausgabe aus dem Speicher und insbesondere eine Rechtsabtastung,
Kompression von Daten und Ausgabe eines Datenbytes über den Breitenkompressor 73 und die Ausgabe-Steuereinrichtung
76 gemäß Fig. 6. Die Zustände 149, 150, 151 und 152 steuern eine Linksabtastung des Speichers und in ähnlicher Weise
eine Kompression der Daten und danach eine Ausgabe eines Datenbytes. Die Zustände 152 und 153 sind Kontrollen, die
gewährleisten sollen, daß eine Abtastung nach rechts tatsächlich auch durchgeführt worden ist. In ähnlicher Weise
kontrolliert der Zustand 154 die Abtastung nach links.
Die Zustände 155, 156 und 157 entwickeln ein Ausgangssignal, das die horizontale rechte Koordinate des Pakets beinhaltet.
Der abschließende Zustand 125 ist ein "Löschzustand" nach der Extraktion, der tatsächlich das Ε-Register löscht. Danach
ergibt sich ein Rücksprung auf der Leitung 99 zum erneuten Beginnen des Suchbetriebs im Zustand 9 2 der Fig.
Die F.xtraktionseinrichtung gemäß Fig. 6 wickelt die verschiedenen
Schritte gemäß Fig. 3 ab und erfüllt die vorstehend angegebenen Zustandsbedingungen. Die Pakete werden
isoliert, die Paketorte bestimmt und die Daten aus dem Speicher extrahiert.
Vorstehend wurde eine Matrix-Extraktionseinrichtung beschrieben, die insbesondere für die Verwendung bei der
': y.X 3U3743
3/.
optischen Zeichenerkennung geeignet ist. Das beschriebene Verfahren und die Einrichtung isoliert Datenpakete im
Speicher, die wahrscheinlich Zeichen o. dgl. enthalten. Durch Isolation bzw. Extraktion dieser Zeichen wird die
Verarbeitung des Gesamtspeichers überflüssig gemacht. Wesentlich ist, daß die Erfindung die gleichzeitige Abtastung
und Verarbeitung von zwei getrennten Zeichenzeilen gestattet.
Claims (1)
- PatentansprücheVerfahren zum Erkennen von Daten, die auf einem von einem Lesegerät abgetasteten Hintergrundmedium gebildet sind, dadurch gekennzeichnet , daß ein Perimeter bzw. Umfang, der einander benachbarte, gegenüber dem Hintergrundmedium kontrastierende Elemente enthält, lokalisiert wird, daß die Ausdehnung des Perimeters bestimmt wird und daß danach von dem Perimeter umgrenzte Daten extrahiert werden, wodurch die Daten enthaltende Zonen des Hintergrundmediums für die Verarbeitung isoliert und identifiziert werden.2» Verfahren zum Erkennen von Daten, die auf einem von einem Lesegerät abgetasteten Hintergrundmedium gebildet sind, dadurch gekennzeichnet, daß die oberen und unteren Begrenzungen von Paketen von gegenüber dem Medium kontrastierenden Elementen verfolgt werden, daß die Lage jedes Pakets aus der Vertikalerstreckung identifiziert wird und daß die in den Paketen enthaltenen Daten extrahiert werden, wodurch eine Zone isoliert wird und aus dieser Daten zur Verarbeitung extrahiert werden.3. Verfahren zum Erkennen von abgetasteten Zeichendaten, deren Darstellungen in einem Speicher gespeichert werden, dadurch gekennzeichnet, daß der Speicher in einer ersten Richtung unter Verfolgen der oberen und unteren Begrenzungen von Datenpaketen zur Identifizierung des Endes eines Pakets abgetastet wird, daß danach der Speicher in der der erstenz/bu.Richtung entgegengesetzten Richtung unter Verfolgung der oberen und unteren Begrenzungen der identifizierten Pakete zur Bestimmung der horizontalen und vertikalen Erstreckung des Pakets abgetastet wird, daß die Lage des Pakets identifiziert wird und daß Daten'entsprechend dem identifizierten Paket aus dem Speicher entnommen werden, wodurch Daten innerhalb des Speichers für die Erkennungsverarbeitung isoliert werden.4. Verfahren zum Erkennen von Zeichen in abgetasteten Bildern, dadurch gekennzeichnet, daß Darstellungen der abgetasteten Bilder in einem Speicher gespeichert werden, daß der Speicher in einer ersten Richtung zur Feststellung des Endes eines Datenpakets in dem Speicher abgetastet wird, daß die Lage des Paketendes in dem Speicher festgestellt wird, daß der Speicher in einer der ersten Abtastrichtung entgegengesetzten zweiten Richtung zur Bestimmung des Paketendes in der zweiten Richtung rückwärts abgetastet wird, daß die Ausdehnung des Pakets im Speicher in der zu den ersten und zweiten Richtungen rechtwinkligen Richtung während der Rückwärtsabtastung aufgezeichnet wird und daß die Lage des Paketendes in der zweiten Richtung festgestellt wird, wodurch die im Speicher befindlichen Daten isoliert und für eine Erkennungsverarbeitung aus dem Speicher extrahiert werden können.' ■ .5. Anordnung zum Erkennen optischer Zeichen mit einem Speicher zur Speicherung abgetasteter Daten, gekennzeichnet durcherste, zweite und dritte Register, (74),erste Steuermittel, die mit dem Speicher (25) und dem ersten Register (Α-Register) gekoppelt sind und dem Abtasten des Speichers" (25) in einer ersten Richtung und dem Schreiben und Entnehmen von Daten aus dem ersten Register (Α-Register) dienen, so daß der Beginn und das Ende eines Datenpakets in demSpeicher (25) in der ersten Richtung bestimmbar sind,zweite Steuermittel,* die mit dem Speicher (25) und den zweiten und dritten Registern gekoppelt sind und dem Abtasten des Speichers in einer der ersten Richtung entgegengesetzten zweiten Richtung und dem Schreiben und dem Entnehmen von Daten aus den zweiten und dritten Registern (D- und E-Register) dienen, so daß das Ende des Datenpakets in der zweiten Richtung und die Ausdehnung des Datenpakets in der zur zweiten Richtung rechtwinkligen Richtung bestimmbar sind,wodurch Daten in dem Speicher (25) zur Verarbeitung für die Zeichenerkennung isolierbar sind.6. Anordnung nach Anspruch 5, dadurch gekennzeichnet, daß die ersten Steuermittel (75) derart ausgebildet sind, daß sie die oberen und unteren Begrenzungen von Datenpaketen in dem ersten Register (Α-Register) verfolgen und die vertikale Zunahme, das Zusammenlaufen, die Abnahme und die Drift von im ersten Register befindlichen Datenpaketen bestimmen.7. Anordnung nach Anspruch 5 oder 6, dadurch gekennzeichnet, daß die zweiten Steuermittel so.ausgebildet sind, daß sie in das zweite Register ein Signal'schreiben, das dem im ersten Register bestimmten Paketende in der ersten Richtung entspricht.8«, Anordnung nach Anspruch 7, dadurch gekennzeichnet, daß die zweiten Steuermittel so ausgebildet sind, daß sie die oberen und unteren Begrenzungen des Datenpakets in dem zweiten Register verfolgen und die vertikale Zunahme, Abnahme und Drift für dieses Datenpaket neben dem in das zweite Register geschriebenen Signal bestimmen.cTU ^l /4 J9. Anordnung nach einem der Ansprüche 5 bis 8, dadurch gekennzeichnet, daß die zweiten Steuermittel so ausgebildet sind, daß sie die vertikale Erstreckung aller Datenpakete innerhalb des dritten Registers verfolgen und bei Bestimmung des Endes des Datenpakets in der zweiten Richtung alle nicht zu diesem Datenpaket gehörigen Daten aus dem dritten Register entfernen.10. Anordnung nach Anspruch 5, dadurch gekennzeichnet, daß eine Datenextraktionseinrichtung (22), die der Definition eines Perimeters um das Datenpaket und der Entfernung von Daten aus der vom Perimeter umgrenzten Zone des Speichers dient, mit dem.Speicher (25) und Registern (74) gekoppelt ist.11. Anordnung nach Anspruch 10, dadurch gekennzeichnet, daß der Perimeter als Rechteck ausgebildet ist.12. Anordnung nach Anspruch 11, dadurch gekennzeichnet, daß die Ausdehnung des Rechtecks in der ersten Richtung durch die Erfassung des Endes des Datenpakets aus dem ersten Register bestimmt ist.13. Anordnung nach Anspruch 11, dadurch gekennzeichnet, daß die Erstreckung des Rechtecks in der zweiten Richtung aus dem zweiten Register bestimmbar ist.14. Anordnung nach Anspruch 13, dadurch gekennzeichnet, daß die Erstreckung des Datenpakets in einer zu den ersten und zweiten Richtungen rechtwinkligen Richtung aus dem dritten Register bestimmbar ist.15. Anordnung nach Anspruch 14, dadurch gekennzeichnet, daß eine Einrichtung zum Formatieren der das Rechteck bestimmenden Daten für einen Erkennungsprozessor (23) vorgesehen ist.16. Anordnung nach Anspruch 10, dadurch gekennzeichnet, daß ein Datenkompressor (73) zum Normieren von Daten in der ersten und zweiten Richtung bei deren paketweisen Extraktion vorgesehen ist.17. Anordnung nach Anspruch 16, dadurch gekennzeichnet, daß zur Normierung jede Datenscheibe jedes Datenpakets in eine feste Anzahl von Wörtern komprimierbar ist.18. Anordnung nach einem der Ansprüche 5 bis 17, dadurch gekennzeichnet, daß der Matrix-Extraktionseinrichtung (22) eine Riehtungsbestimmungseinrichtung (68) zugeordnet ist und daß im Speicher (25) Speicherplätze zur Speicherung von die Leserichtung der Daten darstellenden Richtungsdaten vorgesehen sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/223,002 US4403340A (en) | 1981-01-06 | 1981-01-06 | OCR Matrix extractor |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3149743A1 true DE3149743A1 (de) | 1982-09-09 |
Family
ID=22834592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19813149743 Ceased DE3149743A1 (de) | 1981-01-06 | 1981-12-16 | Verfahren und anordnung zur optischen zeichenerkennung |
Country Status (7)
Country | Link |
---|---|
US (1) | US4403340A (de) |
JP (1) | JPS57137973A (de) |
CA (1) | CA1160750A (de) |
DE (1) | DE3149743A1 (de) |
FR (1) | FR2497590B1 (de) |
GB (1) | GB2090684B (de) |
IT (1) | IT1198353B (de) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62154076A (ja) * | 1985-12-27 | 1987-07-09 | Hitachi Ltd | 画像処理方法 |
US4817166A (en) * | 1986-05-05 | 1989-03-28 | Perceptics Corporation | Apparatus for reading a license plate |
GB2212961A (en) * | 1987-11-23 | 1989-08-02 | Gen Electric Co Plc | Target recognition |
US5081685A (en) * | 1988-11-29 | 1992-01-14 | Westinghouse Electric Corp. | Apparatus and method for reading a license plate |
US5119441A (en) * | 1989-03-28 | 1992-06-02 | Ricoh Company, Ltd. | Optical character recognition apparatus and method using masks operation |
US4974260A (en) * | 1989-06-02 | 1990-11-27 | Eastman Kodak Company | Apparatus for identifying and correcting unrecognizable characters in optical character recognition machines |
US5048096A (en) * | 1989-12-01 | 1991-09-10 | Eastman Kodak Company | Bi-tonal image non-text matter removal with run length and connected component analysis |
US6324302B1 (en) * | 1997-05-30 | 2001-11-27 | Ricoh Company, Ltd. | Method and a system for substantially eliminating erroneously recognized non-solid lines |
US20050244060A1 (en) * | 2004-04-30 | 2005-11-03 | Xerox Corporation | Reformatting binary image data to generate smaller compressed image data size |
US9501696B1 (en) | 2016-02-09 | 2016-11-22 | William Cabán | System and method for metadata extraction, mapping and execution |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3295105A (en) * | 1964-08-27 | 1966-12-27 | Sylvania Electric Prod | Scan control and normalization for a character recognition system |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL278622A (de) * | 1961-05-19 | |||
US3506807A (en) * | 1965-11-24 | 1970-04-14 | Ibm | Scan centering device |
US3539993A (en) * | 1967-02-28 | 1970-11-10 | Ibm | High-speed registration technique for position code scanning |
JPS5137494B1 (de) * | 1968-01-18 | 1976-10-15 | ||
US3613080A (en) * | 1968-11-08 | 1971-10-12 | Scan Data Corp | Character recognition system utilizing feature extraction |
US3629827A (en) * | 1969-01-13 | 1971-12-21 | Ibm | System and method for determining the position, height and width of a character marking |
US3717848A (en) * | 1970-06-02 | 1973-02-20 | Recognition Equipment Inc | Stored reference code character reader method and system |
US3699536A (en) * | 1971-06-28 | 1972-10-17 | Ibm | Low cost raster scanned data consolidation |
US3761876A (en) * | 1971-07-28 | 1973-09-25 | Recognition Equipment Inc | Recognition unit for optical character reading system |
US4206442A (en) * | 1974-07-03 | 1980-06-03 | Nippon Electric Co., Ltd. | Letter segmenting apparatus for OCR comprising multi-level segmentor operable when binary segmenting fails |
US4091424A (en) * | 1977-02-18 | 1978-05-23 | Compression Labs, Inc. | Facsimile compression system |
JPS5421129A (en) * | 1977-07-18 | 1979-02-17 | Fuji Electric Co Ltd | Flaw detection method by square difference system for length of circumference |
SE422714B (sv) * | 1979-01-16 | 1982-03-22 | Ibm Svenska Ab | Anordning med styrdator for optisk teckenlosning, vilken styrdator bl a bereknar startpunkter for identifiering av ett tecken |
-
1981
- 1981-01-06 US US06/223,002 patent/US4403340A/en not_active Expired - Lifetime
- 1981-11-03 GB GB8133046A patent/GB2090684B/en not_active Expired
- 1981-12-16 DE DE19813149743 patent/DE3149743A1/de not_active Ceased
- 1981-12-23 FR FR8124133A patent/FR2497590B1/fr not_active Expired
- 1981-12-31 IT IT25946/81A patent/IT1198353B/it active
-
1982
- 1982-01-06 CA CA000393622A patent/CA1160750A/en not_active Expired
- 1982-01-06 JP JP57000441A patent/JPS57137973A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3295105A (en) * | 1964-08-27 | 1966-12-27 | Sylvania Electric Prod | Scan control and normalization for a character recognition system |
Also Published As
Publication number | Publication date |
---|---|
IT8125946A0 (it) | 1981-12-31 |
CA1160750A (en) | 1984-01-17 |
JPS57137973A (en) | 1982-08-25 |
FR2497590A1 (fr) | 1982-07-09 |
GB2090684B (en) | 1985-03-06 |
US4403340A (en) | 1983-09-06 |
GB2090684A (en) | 1982-07-14 |
FR2497590B1 (fr) | 1987-05-07 |
IT1198353B (it) | 1988-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69910862T2 (de) | Postadressenlesegerät und Postsortiergerät | |
DE2801536C2 (de) | Zeichenformkodiervorrichtung | |
DE3305710C2 (de) | Schaltungsanordnung zur Merkmalserkennung bei auf einem Bildschirm darstellbaren Objekten | |
DE69723220T2 (de) | Gerät und Verfahren zur Extrahierung von Tabellengeraden innerhalb normaler Dokumentbilder | |
DE69720399T2 (de) | Digitale Komposition eines mosaikähnlichen Bildes | |
DE69834918T2 (de) | Anordnung zur automatischen Erfassung und Verarbeitung von optischen Codes | |
DE19953608B4 (de) | Vorrichtung und Verfahren zum Erkennen eines Fonts eines Textes in einem Dokumentenverarbeitungssystem | |
EP0304129B1 (de) | Verfahren und Anordnung zum Aufbereiten eines Kennsignals | |
DE4091841C2 (de) | Verfahren zum Erzeugen einer Formulardarstellung und Bildschirm-Formularerzeugungssystem | |
DE19814075B4 (de) | Verfahren zum Abtasten und Erkennen mehrerer Fotografien und zum Beseitigen von Randfehlern | |
DE3615906C2 (de) | ||
DE19960555A1 (de) | Verfahren zum Auffinden und Lesen eines zweidimensionalen Strichcodes | |
DE2215088A1 (de) | Verfahren und anordnung zur zeichenerkennung | |
DE3633743A1 (de) | Zeichenerkennungssystem | |
DE3326725A1 (de) | Verfahren zur datenkomprimierung fuer zweidimensionale zeichenbilder | |
DE2931257A1 (de) | Markierungs-lesevorrichtung | |
DE3718218A1 (de) | Bilddaten-verarbeitungsgeraet mit aufbereitungsfunktion | |
DE3149743A1 (de) | Verfahren und anordnung zur optischen zeichenerkennung | |
DE2829808A1 (de) | Verfahren und vorrichtung zum lesen von zeichen | |
DE2825321A1 (de) | Rasterdrucker | |
DE60024535T2 (de) | Verfahren zur Zeichentrennung | |
DE3622222A1 (de) | Zeichenerkennung in zweidimensionalen signalen | |
DE2817341C2 (de) | Optisches Handlesegerät für die maschinelle Zeichenerkennung | |
DE69836065T2 (de) | Verarbeitung von Bilddokumentdaten zum Detektieren, Herauslesen und Koppeln von Bildgebieten gleicher Eigenschaften | |
EP0206214B1 (de) | Verfahren zur einheitlichen symbolischen Beschreibung von Dokumentenmustern in Form von Datenstrukturen in einem Automaten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8181 | Inventor (new situation) |
Free format text: KUMPF, RICHARD E., SAN JOSE, CALIF., US SMITH, WILLIAM R., MOUNTAIN VIEW, CALIF., US |
|
8110 | Request for examination paragraph 44 | ||
8131 | Rejection |