DE3149743A1 - Verfahren und anordnung zur optischen zeichenerkennung - Google Patents

Verfahren und anordnung zur optischen zeichenerkennung

Info

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
Application number
DE19813149743
Other languages
English (en)
Inventor
2 Richard E. Kumpf
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Caere Corp
Original Assignee
Caere Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Caere Corp filed Critical Caere Corp
Publication of DE3149743A1 publication Critical patent/DE3149743A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character 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
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)

  1. Patentansprüche
    Verfahren 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 ersten
    z/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 durch
    erste, 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 dem
    Speicher (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 J
    9. 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.
DE19813149743 1981-01-06 1981-12-16 Verfahren und anordnung zur optischen zeichenerkennung Ceased DE3149743A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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