DE2540101A1 - Automatisches zeichenerkennungs- system - Google Patents

Automatisches zeichenerkennungs- system

Info

Publication number
DE2540101A1
DE2540101A1 DE19752540101 DE2540101A DE2540101A1 DE 2540101 A1 DE2540101 A1 DE 2540101A1 DE 19752540101 DE19752540101 DE 19752540101 DE 2540101 A DE2540101 A DE 2540101A DE 2540101 A1 DE2540101 A1 DE 2540101A1
Authority
DE
Germany
Prior art keywords
character
line
state
decision
arrangement
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.)
Granted
Application number
DE19752540101
Other languages
English (en)
Other versions
DE2540101C2 (de
Inventor
Larry Lee Hilley
Marion Wayne Neff
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.)
Recognition Equipment Inc
Original Assignee
Recognition Equipment Inc
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 Recognition Equipment Inc filed Critical Recognition Equipment Inc
Publication of DE2540101A1 publication Critical patent/DE2540101A1/de
Application granted granted Critical
Publication of DE2540101C2 publication Critical patent/DE2540101C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/421Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation by analysing segments intersecting the pattern

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Character Discrimination (AREA)
  • Image Analysis (AREA)
  • Character Input (AREA)

Description

Automatisches Zeichenerkennungs-System
Die Erfindung betrifft ein automatisches Zeichenerkennungs-System mit einer in einer bestimmten Folge abtastbaren, zweidimensionalen, aus Zeilen und Spalten bestehenden Anordnung von Photosensoren zur Zeilenabtastung eines im Sichtfeld der Anordnung liegenden Schriftstücks und zur Erzeugung •einer Folge von binären Datenworten im Rhythmus der Zeilenabtastung, welche schwarze Abschnitte und freie Zonen eines im Sichtfeld liegenden Zeichens enthalten.
Die bekannten automatischen Zeichenerkennungsgeräte sind entweder optische Zeichenerkennungsgeräte (OCR), Zeichenerkennungsgeräte für magnetische Tinte (MICR), oder eine Kombination der beiden.
609813/0757
Beide Gerätearten arbeiten bei den industriell geforderten Lesegeschwindigkeiten nur sehr unzuverlässig- Außerdem gibt es verschiedene Zeichenmißbildungen oder Uiagebungsdefekte, beispielsweise Randdruck, welche ein optisches Zeichenerkennungsgerät (OCR) beim Identifizieren eines Zeichens versagen lassen. Ähnliche Probleme treten bei dem MICR-System auf.
Bei den bekannten OCR-Systemen wurde eine einem Zeichenfeld entsprechende X-Y-Signalmatcix wiederholt aufgenommen und mit einem Satz von Masken zur Entscheidungshilfe verglichen. Strichanalysen sowie Merkmalsanalysen wurden ebenfalls angewendet.
Der Erfindung liegt die Aufgabe zugrunde, ein schneller und zuverlässiger arbeitendes Zeichenerkennungs-System vorzuschlagen, das in der Lage ist, die heutzutage in der industriellen Datenverarbeitung gestellten Anforderungen zu erfüllen.
Zur Lösung dieser Aufgabe dient ein System der eingangs erwähnten Art, welches gekennzeichnet ist durch eine Einrichtung zur Erzeugung eines eine zuvor festgelegte Beziehung zwischen den schwarzen Abschnitten in einer Zeile bezeichnenden Merkmalkodes im Rhythmus der Zeilenabtastung, durch eine Erkennungseinrichtung zur Aufnahme der Merkmalkodes im Rhythmus der Zeilenabtastung für die Bildung eines
6098 13/0757
Zeichensignalkodes während jedes Abtastvorgangs aus einer eindeutigen Folge der Merkmalkodes, und durch eine Entscheidungseinrichtung zur Erzeugung eines Zeichenerkennungssignals aus den aufeinanderfolgenden Zeichensignalkodes der Erkennungseinrichtung während der Anwesenheit eines Zeichens im Sichtfeld.
Dadurch wird eine gesteigerte Zuverlässigkeit bei der Zeichenerkennung erreicht, wobei die Zeichenerkennung mit einer den industriellen Anforderungen genügenden Lesegeschwindigkeit erfolgt und die durch Zeilenabtastung kontinuierlich aufgenommenen Videodaten zur Identifizierung eines im Sichtfeld der Anordnung liegenden Zeichens einer sequentiellen Entscheidungskette unterworfen werden. Die Zeichenabtastgeschwindigkeit ist im Verhältnis zur Relativbewegung zwischen der Anordnung und dem zu lesenden Zeichen äußerst hoch, so daß ein Zeichen während seiner Bewegung durch das Sichtfeld der \nordnung mehrmals abgetastet werden kann. Die endgültige Zeichenentscheidung liefert dann das am häufigsten erkannte Zeichen.
Die Anordnung der Photosensoren wird vorzugsweise in einer bestimmten Reihenfolge abgetastet, und zwar zeilenweise von oben nach unten, um eine kontinuierliche Folge von schwarzen Zeichenbereichen und weißen Zwischenräumen entsprechenden binären Daten zu erzeugen. Das während jeder Zeilenabtastung erzeugte binäre Datenwort wird von einem Merkmalgenerator zur Erzeugung eines Merkmalkodes dekodiert, der
609813/0757
eine eindeutige Beziehung von Linienabschnitten innerhalb der Zeile angibt. Eine sequentielle Entscheidungskette mit einem Speicher für die Zeichenkodes nimmt eine kontinuierliche Folge von Merkmalkodes entsprechend einer Abtastung der gesamten Anordnung auf. Nach der Abtastung der Anordnung von oben nach unten werden sowohl die Folge der Zeichenkodes, als auch die einzelnen Merkmalkodes zur Zeichenerkennung herangezogen.
Die Daten eines bestimmten Zeichens werden beim Durchlaufen des Sichtfeldes der Anordnung wiederholt verarbeitet. Die während jeder vollständigen Abtastung der Anordnung der fhotosensoren erzeugten Zeichenkodes werden gespeichert. Nachdem das Zeichen das Sichtfeld verlassen hat, wird eine abschließende Zeichenidentifizierung auf der Basis der am häufigsten vorkommenden identifizierten Zeichen vorgenommen.
In einer Ausführung der Erfindung ist die sequentielle Entscheidungskette durch einen mit der Zeilenabtastfrequenz durchlaufenden Datenfluß ohne Zwischenspeicherung gesteuert, um ein im Sichtfeld der Anordnung liegendes Zeichen zu identifizieren.
Vorzugsweise wird eine Zeichenanwesenheit-Logikschaltung zur Entscheidung verwendet, ob ein Zeichen oder ein Zwischenraum zwischen benachbarten Zeichen im Mittelbereich der Anordnung liegt.
6098 13/0757
25401QI
Insbesondere werden einem bestimmten Druckbuchstaben leicht angepaßte Kriterien an die Videodaten gelegt und zur Steigerung der Zuverlässigkeit des Erkennungssystems mit der erzeugten Zeichenidentifizierung verglichen.
Vorzugsweise erfolgt ein quadrantweises Abtasten zum Schutz vor Zeichenzerstörung, die durch Abtastung zwischen den die Informationen tragenden Zeilen auftreten kann.
Insbesondere wird ein Zwischenraum zwischen einer Folge von Zeichenidentifizierungen gebildet, die ein Wort, eine Phrase oder einen Satz bedeuten.
Vorzugsweise dient eine Abtastrichtungslogik zur Bestimmung der Abtastrichtung im Sichtfeld der Photosensoren-Anordnung.
Im folgenden wird die Erfindung anhand der Figuren näher erläutert; es zeigen:
Figur 1 ein Blockschaltbild einer Photodiodenanordnung einer Ausführung der Erfindung;
Figur 2A ein Blockschaltbild der Ausführung gemäß Figur 1 in und 2B Einzelheiten;
Figur 3 ein im Sichtfeld der Photodiodenanordnung liegendes alphanumerisches Zeichen;
6098 1 3/0757
Figur 4 ein Flußdiagramm einer im Zeichenanwesenheitsprozessor aus Figur 1 und 2 verwendeten Suchkette;
Figur 5 ein Flußdiagramm der logischen Entscheidungskette der Entscheidungseingangssteuerung aus Figur 2;
Figur 6 ein Flußdiagramm der logischen Entscheidungskette der Entscheidungsdurchführungssteuerung aus Figur 2; und
Figur 7 ein Flußdiagrairan der Abtastrichtungslogik aus Figur 2.
Das erfindungsgemäße Zeichenerkennungsgerät enthält eine Anordnung von Photosensoren, die vorzugsweise zur Erzeugung von binären Daten zeilenweise abgetastet werden. Die Abtastgeschwindigkeit ist im Vergleich zur Transportgeschwindigkeit des zu lesenden Schriftstückes sehr hoch. Dadurch wird die Anordnung während der Anwesenheit eines Zeichens viele Male rastermäßig abgetastet. Die von der Anordnung erhaltenen Ausgangssignale bilden eine Folge von O oder 1-Impulsen/ je nachdem, ob das abgetastete Gebiet weiß oder schwarz ist.
In dem erfindungsgemäßen Zeichenerkennungsgerät sind die Photosensoren zu einer 12 χ 38-Anordnung zusammengefaßt, die von oben nach unten und von links nach rechts, jeweils eine Zeile zur Zeit, abgetastet wird. Eine abgetastete Zeile
6098 13/075 7
liefert somit ein 12-bit-Wort, aus dem ein 4-bit-Kode entsprechend den in der Zeile vorgefundenen Zeichenanteilen erzeugt wird. Die folgende Tabelle gibt den in einer Ausführung der Erfindung verwendeten Kode an:
Tabelle I
Merkmalkode
0 = vollständig weiß
1 = lange Linie - 7 oder mehrere schwarze Zellen
2 = mittlere Linie im linken Drittel der Anordnung
3 = mittlere Linie in der Mitte der Anordnung
4 = mittlere Linie im rechten Drittel der Anordnung
5 = vertikaler Linienabschnitt im linken Drittel der Anordnung
6 = vertikaler Linienabschnitt zwischen den Sensoren 5 und
7 = vertikaler Linienabschnitt in der Mitte der Anordnung
8 = vertikaler Linienabschnitt zwischen den Sensoren 7 und
9 = vertikaler Linienabschnitt im rechten Drittel der Anordnung 10 = weites Paar von Linienabschnitten 11= enges Paar im linken Drittel der Anordnung
12 = enges Paar in der Mitte der Anordnung
13 = enges Paar im rechten Drittel der Anordnung
14 = keine Entscheidung zwischen Kode 1 und Kode 15
15 = dreifache Linienabschnitte.
Diese 16 Merkmale müssen durch einen Viel-bit-Kode dargestellt werden, wobei die während jedes Abtastvorganges festgestellten Merkmale mit der Zeilenabtastfrequenz einer Zeichenerkennungseinheit hintereinander zugeführt werden, die die kodierten Merkmale und ihre Folge zur Erzeugung eines dem zu lesenden Zeichen entsprechenden Ausgangskodes auswertet.
6098 13/0757
■" ft
Das Ausgangssignal der Erkennungseinheit wird an eine Entscheidungseinheit übertragen, die aus der Fülle der von der Erkennungseinheit erzeugten kodierten Daten für ein zu lesendes Zeichen ein einziges Ausgangssignal erzeugt.
Figur 1 zeigt eine über einen Vorprozessor 51 mit einen Merkmalkodegenerator 52 verbundene Anordnung von Photosensoren 50, einen Zeichenanwesenheitsprozessor 55 und eine Abtastrichtungseinheit 56. Der Vorprozessor 51 enthält einen Verstärker mit automatischer Verstärkungssteuerung sowie einen Analog/Digitalwandler. Der Ausgang des Merkmalkodegenerators liegt an einem Zeichenerkennungsprozessor 53, dessen Ausgang wiederum mit einem Zeichenentscheidungsprozessor 54 verbunden ist. Der Ausgang des Zeichenanwesenheitsprozessors 55 liegt sowohl am Zeichenerkennungsprozessor 53, als auch am Zeichenentscheidungsprozessor 54. Die Ausgänge der Abtastrichtungseinheit 56 und des Zeichenentscheidungsprozessors 54 sind mit einer nicht dargestellten Ausgabeeinheit verbunden, die durch ein vom Zeichenentscheidungsprozessor 54 stammendes und einen abgeschlossenen Entscheidungsvorgang anzeigendes Signal aktiviert wird. Die Ausgabeeinheit erhält Zeichenerkennungs- und Abtastrichtungssignale zur Erzeugung eines Symbols, einer Phrase oder eines Satzes.
Figur 2 zeigt das Blockschaltbild aus Figur 1 in Einzelheiten. Die Anordnung 50 der Photosensoren ist wie in Figur 1 über einen Vorprozessor 51 mit dem Eingang eines Merkmalkodegene-
6098 13/0757
rators 52 verbunden. Die Anordnung 50 besteht aus selbst abgetasteten Photosensoren, beispielsweise aus Photodioden der Firma Redicon Corporation, Mountain View, Kalifornien, in einer Anordnung von 12 χ 38 Zellen.
Der Vorprozessor 51 erhält ein binäres Videoeingangssignal entsprechend der schwarz/weißen Signale einer Zellenreihe der Anordnung 50 und erzeugt ein 12-bit-Wort.
Die linken 6 bits des 12-bit-Wortes werden über die Leitung 100 an eine Abtastrichtungseinheit 56 übertragen. Die mittleren 10 bits des 12-bit-Wortes werden über eine Leitung 101 an eine Dekodiereinheit 102 für schwarze Zeilen und die drei mittleren bits über eine Leitung 103 an einen 256 χ 8 bit-ZeichenanwesenheitNur-Lese-Speicher ROM 104 übertragen. Die Dekodiereinheit 102 und der ROM 1Ο4 gehören zum Zeichenanwesenheitsprozessor 55.
Alle 12 bits eines Wortes werden in einen 4 096 χ 4 bit ROM 105 übertragen. Jede Kombination von bits aus dem 12-bit-Wort wird durch einen 4-bit-Kode im ROM 105 gespeichert.
Der ROM 105 nimmt somit zu einer Zeit jeweils die Daten einer Zeile vom Vorprozessor 51 in Form eines 12-bit-Wortes auf und bildet einen der 16 in Tabelle I gezeigten Merkmalkodes aus jedem der 12-bit-Worte. Die so erhaltenen Merkmalkodes werden zur Erzeugung eines Zeichenerkennungs-Signals an einen allgemein durch eine gestrichelte ümrißlinie angedeuteten Zeichenerkennungsprozessor 53 übertragen.
609813/0757
- ΊΟ -
25Α0101
Es wird darauf hingewiesen, daß die Erfindung sich nicht auf einen 12-bit-Videokode oder den erwähnten 16 Merkmale Kode beschränkt. Der Videokode kann mehr oder weniger bits besitzen und die Anzahl der Merkmale kann ebenfalls größer oder kleiner sein.
Die im ROM 105 gespeicherten Merkmalkodes erscheinen hintereinander auf einer mit einem Dekodierer 106 und mit einem zweiten ROM 108 des Zeichenerkennungsprozessors 53 verbundenen Hauptleitung 107. Der Zeichenerkennungsprozessor 53 wird beim Auftreten eines Ladebefehls CDLD auf einer Leitung 138 von einer Entscheidungseingangssteuerung 111 aktiviert. Ein derartiger Ladebefehl wird zuerst auf ein Signal vom Zeichenanwesenheitsprozessor 55 erzeugt, der die vertikale Lage eines Zeichens durch Aufsuchen einer Videodatenzeile feststellt, die keine "schwarze" Zelle enthält, und auf die eine Zeile mit mindestens einer "schwarzen" Zelle folgt.
Der Entscheidungs-ROM 108 ist ein 2560 χ 8 bit ROM mit einer sequentiellen Entscheidungskette mit einer großen Anzahl von logischen Zuständen oder Verknüpfungen, wobei für jeden Zustand durch einen Zustandstransfer Zugriff für jeden anderen Zustand besteht. Obgleich der ROM 108 als Einheit dargestellt ist, besteht er aus einer Gruppe von Nur-Lese-Speichern, deren Anzahl zur Bildung einer sequentiellen Entscheidungskette ausreicht. Die Kette weist eine Vielzahl von logischen Verknüpfun-
6 0 9813/0757
gen oder Zuständen auf, die untereinander verbunden sind. Der jeweils durchlaufene Pfad hängt von der Folge des jeweils auftretenden und des jeweils vorhergehenden Merkmalkodes ab.
Der ROM 108 weist 160 Speicherplätze oder Knoten für jeweils 16 Worte je Speicherplatz mit 1O bits je Wort auf. Jeder Speicherplatz ist über 16 Pfade oder Verzweigungen mit einem nächsten Speicherplatz verbindbar. Dies können 16 Verzweigungen zu 16 verschiedenen Speicherplätzen oder 16 Verzweigungen zu einem anderen Speicherplatz oder eine Kombination davon sein.
Die Tabellen III A bis D zeigen in der in Tabelle II angegebenen Zusammenstellung ein Beispiel für eine sequentielle Entscheidungskette, wobei eine Kette von logischen Verknüpfungen oder Zuständen durch Verzweigungen oder logische Pfade untereinander verbunden sind. Alle logischen Zustände sind durch vier numerische Zeichen dargestellt, alle Verbindungen durch eine Merkmalkodeziffer, und eine Entscheidung ist durch eine Merkmalkodeziffer gefolgt von einem Zwischenraum und einem Symbol oder Zeichen in derselben horizontalen Zeile bezeichnet. Die in den Tabellen angegebenen Zeichen oder Symbole entsprechen einer OCR-A-Schrift mit den Ziffern 0 bis 9, den Zeichen N, D, M, A, Ur P, X und Y und den Symbolen $, ",/,. und > .
6098 1 3/0757
Die Tabellen III A bis D zeigen, daß jede Bearbeitung mit dem Zustand OOOO beginnt. Der ROM 108 enthält eine Zustandssteuerung mit einem nicht gezeigten 12-bit-Eingangssignal-Dekodierer. Die Zustandssteuerung stellt Zustandstransfers aus der jeweiligen Information im Zwischenspeicher 113 und aus dem einlaufenden Merkmalkode fest. Wird durch den gerade vorhandenen Merkmalkode kein Zweig zu einem anderen Zustand angegeben, dann beginnt die Zustandssteuerung mit dem Zustand 0000. Tritt, wie in Tabelle III A, der Merkmalkode 1 auf, dann erfolgt ein Transfer über den Zweig 1 in den Zustand 0101. Andererseits kann der Prozeß sowohl über den Zweig 2 vom Zustand 0000, als auch über die Zweige 3 bis verlaufen. Vom Zustand 0101 kann der Prozeß in Abhängigkeit vom nächst angetroffenen Merkmalkode über die Zweige 5, 6 bis 10 oder 12 bis 15 laufen.
6098 13/0757
TABELLE TII A
TABELLE III B TABELLE HT C TABELLE TII C
609813/0 757
OSOO 1 01(11 5
05<ll 0 .
ι 0402 ι
0501 10 0602
Oitvl 12 0602
0)05 0602
ί
i O
5 1
Ϊ 0501
0502
6 O402
03(15 0)ηβ
0502 0502 4 060T 0406 1
12
io
!(loo η
> iono
Of>oT ι
25A0101
TABELLE ; III Λ
0402 0 1 1
12 1)
IS
060T
050? 0502 060T 060T O5Q2 0502 0502
0«02 05O2 060T 051T
0T05 0 * A lono T 0*09 0 S
T 1000
0T02 1 S i lono
T 011(13 0 1 S
» s
14 S
4 PTO?
1 OJl* 0 1
io ions ο
J 1
4 ητθ4 1 1
4 CT02 12 050T 1} 05OT
14
IJ 0406 0*10 0 » 1 OTOO 0
050T
oeoo r> ο s Q«no ς
i 0900 4 OAOt 0
OKOl
©901. 0 T
0901
m02 ο
1002 1002
J onno 0503 S 0609 5 OTO) I
*
2 06O9
6 ORQO S C
2
0*06
t OiOl- t 0703
4 OSOl i 0ΑΠ9
1 OTOO 060» I OTOV 1 3
• 0306 1 14 1
% ατοί
4 0ÄOS
040) 1 0503 ·
1 05(19 1 0503
S 0609
4 0609
7 0)1) O T
t 050ί 1 J
S
13
OSOS
S 0609
4 0214 0 7
1 0503
7 0214
12 0509
13 0509
040)
0*03
4 04O» O OTQO O OTOO
io OSOO 1 0600 1 OTOO
to 14
0600
12 OTOO
14
1* OTOO
* 02OT 0 0*02
T 0212 t O)QA
t OTOO
0»O(l
I OiO* W*
4. 0*10
$0*
02ΛΤ
t 050» * O2OT
10 (Mti ft
0 9 8 13/0757
« OJdil
1,2 0401 0 OSOA 0 0 0715 0 #
12 10 1
IZ 0204 S e?n7 « 10 * -^T^ *
* 02OT
T 0212
02Ρλ
* 02Rt
10 0410 m
12 0307 0 040S
\ 0410 1
^ *
t4
15
TABELLE III B
0405
* 0609
0404
0715
0405
t 040S
040S
to osos
0 « » 0405
2 0405
3 0405
10 0604 0 « 1 · S ·
12 0413 1 ■
12 060) 1 2 1
13 0413
14 ■
S3 0204 0205
0307
0404
0404
020S 0102 0
'1 0101
0212
0204
0209
3207
L 020?
■ 0201
020»
0303
0204
0«14 10 0411
0405 0100
οίοι
1015 020T 0203
0114
0502 0502 0402 0305 OtOT 0404
0402 0115
0704 0
« OSlO
3 0502
12 040«
13 0406
5 OAlS 1 MIl
4 0104 0101 ■t 0212 11 0204
5 0105 1 0100 % 0306 12 02P4
2 0104 10 020» 13 0204
12 0313
13 031)7
0203 0307
0114
0302 1
020* T olnl
1 0103 1 0204 ti 0212
3 0204 Ο2Λ9
s 0209
I
0101
t 0310
7
g
4
11
12 1
13 3 olnv
0411
Ο31Ο 4
0311 T 0411 T 03011
Il 0411 0510
ti OSlO 12 0204
12 (Ι2Π4
02r<4
1
2 0101
3 OSlO
5 OSlO
0412
1 0»07
O S
4 12
60981 3/0757
OSOl OSOl 05VO OSlQ OTlO
1 0404
12 1Π7 1? 1004 t 0404 0904 . OXO« 1 OAlO 0 A
10 OAOl 0 A 10 0402 0
,
OM)T
S O)IS 0 ,
ash to OTnA ι nmn
14 OHIO
15 * 12 07OA
14 OT O6 ί OSIl OtIl II 0411 1 OSIl
1» 0S12 1 OSIl A 1 10 OAl? O
TABELLE III C
Ii Olli 14 OSIl
14
0312 4 031S 1 0?0S
0312 7 0611 m 0910 ι
OfIO I OStD
0708 12 0710
t
T
t
VO 10 0R02
12
OBlO IS 0412
OKQ?
1} 091?
0400 I)
OTiIT
P90.4
0713
7 040S 10 0713
ft?ll
IS M14
«41S 10 0411
11 0911
IS 0904
1 o?ns
7 1006
IO 0T13
IS 040»
O7U4 1 OMS
040T
4 C40T
la mot
1» A407
? OMS
1 01114
* 04OT
12 OAlS
14 I)AlS λ ΑΤ04 Λ704
0S04 .S 0TO4
6 01O4
12 ATlO
0707 1 0»0S 7 *
10 0402
n«os *
iod f>n ic It (190« in 1006 Λ
12
10.1)6
0411 0914
2 1014
7 04Of 10 0201
12 0201
13 0201 IS 1014 12 1004 4 090S
• 0606 10 1010 090S 1014
loon
IZ 1005 1 ItMVR
e«ns 040S
. inol J loni 1OOV
ioo4
IQOT
Olli 06OS
Il 0112
1012 11 1Ϊ OTU
JO 0911 1« OKI? 15 OKI?
1012
0606.
OAOf. 04D6 OAOA OAOS
OAOA Of1Ot OAOA 0AO6 OAOS
1014
n<»04 0904 0404
T 0"J04
• (V404
* A404
10 OAIl
IS 1*40»
0914 09O4 09114 1? OTlO 13/0757
13 OkI* * 0*1? 10 07η* 1? 041»
0200 ι »mi
3 DUCT ·.
S 0*12 t 0*1? 1 0312 10 OTOB 12 071* 1 0101
10 ΟβΟ* 1 0903 * 090* 11 0?0S
I? <l2ftS 1* 0709 IS 02OS
TABELLE III D
11 12
0(104 0806
10 0910
12 031* ι mo*
s mo«
« lnlo
T 090*
ι* mo*
IS 090* IS 0912
10 OTO« 1 OMi 1 0101
11 OTl* > ©ln3 IO 0R06
12 OTl* S 0*12 12 0*06
1 01Ul t 0*12 IS 0912
2 0102 T 0*12
3 0103 OSlO
5 0311 10 OT(I*
t 0909 12 6210
0909 07OB 0210 0912 0101 0102 0103 010* 02» 3
061*
01(U 0103 0*12
0300
0*00 0*00 0*09 β /
« 0T12 O /
12 OTM 12 0710 OSlS O . i OBOT 1 1011 2 0906 O
12
13
ft 0*0«
12 0413
13 0*13 OSlS
0*0? ι οηητ
12 0317 061*
12 0*11
S MIS
OJlS 021S Oil* OtOl 0103 Q21S •20»
10 11
12 1*
03OO
07ns
OV)O
0300 Oil*
1 03«!
10 ciio
t> Olli I
12
0110
IO
U 12
IS
0101 OXO* 0*13 »
0701
PlOl RlOl (1102 0103 OHO* 02112 moi out ι ι>2ί>2 turn OiUi
6 6
08η* ο
12
Ml*
Olfil
OSO*
02ft? 1
ίο ι?
13
IS
091S
0(0«
mi*
«301 CITlO
nini
0103 0*0» η«η* 0912 091?
609813/0757
Angenommen, die Zustandssteuerung läßt den Prozeß über den Zweig 5 ablaufen, dann erfolgt der Entscheidungsfluß vom Zustand 0101 zum Zustand 0207. Im Zustand 0207 tritt ein anderer Merkmalkode ein und wird von der Zustandssteuerung verarbeitet, die den Entscheidungsfluß über die Zweige 1 bis 3, 5 bis 7 oder 10 weiterleitet. Läuft der Prozeß über den Zweig 1, dann erfolgt ein Zustandstransfer vom Zustand 0207 in den Zustand 0501. An dieser Verzweigung trifft wiederum ein Merkmalkode vom ROM 105 ein, der den Entscheidungsfluß über den Zweig 0, die Zweige 8 bis 10 oder den Zweig 12 leitet. Wird der Zweig 0 als nächster Entscheidungszweig gewählt, dann erfolgt eine Zeichenentscheidung. Diese Entscheidung liefert das Symbol ".". Wird der Zweig gewählt, dann läuft der Entscheidungsfluß weiter vom Zustand 0501 über den Zweig 8 in den Zustand 0602.
Es wird darauf hingewiesen, daß bei der Wahl der Zweige 9, 10 oder 12 der unmittelbar der Angabe des Zustandes 0602 auftretende freie Raum darauf hinweist, daß der benötigte Zustandstransferzweig in einem anderen Erkennungspfad verwendet wird, und daß die Zustandsinformation bereits ausgedruckt wurde. Die Tabellen werden somit senkrecht nach oben nach einem Zustandsausdruck 0602 mit Zustandsinformation abgefragt. Ein solcher Ausdruck wird beim Zweig 8 gefunden, von dem zwei Zweige vom Zustand 0602 in den Zustand 1000 führen. Es wird darauf hingewiesen, daß bei der ROMr Anordnung gemäß Figur 2 die Abfrage von unten nach oben in einem einzigen Zustandstransfer erfolgt.
609813/0757
Wird der Zweig 1 als der nächste logische Zweig vom Zustand 0602 gewählt, dann läuft der Entscheidungsfluß über den Zweig 1 vom Zustand 0602 zum Zustand 1000. Beim Eintreffen des nächsten Merkmalkodes kann der Entscheidungsfluß von der Zustandssteuerung über den Zweig 0, den Zweig 6 oder den Zweig 7 geleitet werden. Wird der Zweig 0 gewählt, dann erfolgt eine Zeichenentscheidung, wobei die das Zeichen "5" liefert. Werden entweder der Zweig 6 oder der Zweig 7 gewählt, dann erfolgt der Entscheidungsfluß vom Zustand 10OO in den Zustand 1OO1. Hier zeigt sich, daß unabhängig von der Wahl des Zweiges, nämlich O, 6, 7 oder 8, dieselbe Entscheidung "011 erfolgt.
Figur 3 zeigt in Verbindung mit dem Merkmalkode aus Tabelle I als weiteres Beispiel das Zeichen "A" auf einer 12 χ 38-Zellenanordnung von Photosensoren. Eine zeilenweise Abtastung liefert die nachstehende Folge von Merkmalkodes: 0, 5, 5, 5, 3, 12, 12, 1, 10, 10. Eine derartige Folge von Merkmalkodes bewirkt für den ROM 108 die Durchführung der folgenden Zustandstransfers:
0105, 0311, 0412, 0807, 0710, 0804, 0810, 0601, 0902. Nach dem Eintreffen eines Merkmalskodes 0 im Zustand 0902 erfolgt eine Entscheidung, und das Zeichen wird als "A" identifiziert. Da die Folge der angegebenen Merkmalkodes von einer zeilenweisen Abtastung von oben nach unten stammt, entdeckt die Abtasteinheit zuerst einen vertikalen Linienab-
609813/0 757
schnitt im linken Drittel der Anordnung während der ersten drei Abtastungen des Zeichens, anschließend eine mittlere Linie und ein enges Linienpaar in der Mitte der Anordnung sowie eine lange, den Mittelbalken des Buchstabens "A" andeutende Linie, worauf schließlich ein weites, durch den Merkmalkode 10 bezeichnetes Linienpaar und danach ein Merkmalkode 0 folgen. Während der Bewegung des Zeichens "A" über die Anordnung 50 ändert sich der Merkmalkode 5 aufeinanderfolgend in 6, 7, 8, und schließlich in den Merkmalkode 9. Weitere Lageänderungen des Zeichens, Veränderungen der Merkmale oder Zeichenvergrößerungen liefern eine unterschiedliche Merkmalsfolge, die für eine korrekte Entscheidung durch Einfügen von neuen Zweigen zwischen die logischen Verknüpfungen der Entscheidungskette verarbeitet wird.
Falls Rauschen den Entscheidungsfluß auf einem falschen Zweig ablaufen läßt, auf dem die Zustandssteuerung keinen freien Zweig aus eintreffenden Merkmalkodes auswählen kann, dann wartet der Entscheidungsprozeß auf einen anderen Merkmalkode oder auf einen Transfer zu anderen Verzweigungen, in denen die bereits aufgenommenen Zeichenabschnitte Merkmale aufweisen, die einen Zweig zum transferierten Zustand aufzeigen.
Wenn nur geringe Unterschiede zwischen der aufgenommenen Merkmalsinformation und einer Zeichenentscheidung verbleiben,
8098 13/0757
dann erfolgt eine Entscheidung vor der Aufnahme weiterer Merkmale. Der Zeichenerkennungsprozessor 53 fügt auf diese Weise sozusagen Zweige zwischen den Verzweigungen zur Ableitung eines bekannten Zeichens hinzu, anstatt eine Zurückweisung zu melden, wenn zusätzliche Information benötigt wird.
Tabelle IV Zustand
Merkmalkode 0101
1 0101
1 O1O1
3 0208
9 0306
9 0403
9 0509
12 0503
1 0503
1 0608
9 0701
9 0701
9 0701
9
1
1
O
O
6098 13/0757
In Verbindung mit der Merkmalkodefolge aus Tabelle IV werden die beschriebenen zusätzlichen Eigenschaften der sequentiellen Entscheidungskette anhand des Prozesses zur Erkennung der Ziffer "3" aus einer Folge von Merkmalkodes erläutert, zu welcher auch Rauschen gehört.
Die Tabellen IV und III A bis D zeigen, daß der Merkmalkode "1" einen Transfer vom Zustand OOOO in den Zustand 0101 bewirkt. Ein nachfolgender "1" oder "3"-Kode bewirkt für den Entscheidungsprozeß einen Haltezustand bis zum Eintreffen eines Merkmalkodes, der einen Transfer zu den freien Zweigen 5 bis 10 oder 12 bis 15 durchführt.
Die drei folgenden "9"-Kodes rufen Transfers zu den Zuständen 0208, 0306 bzw. 0403 hervor. In dem beschriebenen Prozeß erzeugt der ROM 105 aufgrund von Rauschen einen "12"-Kode, der ebenfalls dekodiert wird und einen Zustandstransfer in den Zustand 0509 bewirkt.
Nach dem Eintreffen des nächsten Merkmalkodes "1" wird der Entscheidungsprozeß zum Zustand 0503 transferiert. Dieser Zustandstransfer zeigt auf deutlichste Weise den beträchtlichen Unterschied zwischen der erfindungsgemäßen Entscheidungskette und dem bekannten Entscheidungsbaum. Ein Entscheidungsbaum wird immer nach unten auf einem verbundenen Pfad durchlaufen, während erfindungsgemäß ein Zustandstransfer in einen Zustand erfolgt, der nicht auf dem durchlaufenen Pfad liegt. Außerdem liegt dieser Zustand eher auf einem höheren,
6098 13/0757
als auf einem niedereren Niveau. Die erfindungsgemäße Entscheidungskette wird demnach in einem einzigen Zustandstransfer entweder nach oben, nach unten oder zwischen den Verknüpfungen durchlaufen.
Unter weiterer Fortsetzung des in Tabelle IV angegebenen Prozesses bewirkt ein zweiter '"!"-Kode das Eintreten in einen Haltezustand beim Zustand 0503, während ein folgender "9"-Kode einen Transfer zum Zustand 0608 bewirkt.
Bei der Aufnahme der nächsten drei "9"-Kodes transferiert der Entscheidungsprozeß in den Zustand 0701 und verbleibt dort. Wird ein "1"-Kode empfangen, dann erfolgt eine Entscheidung vor der Aufnahme der beiden "0"-Kodes, die das Ende der Zeichenabtastung angeben. Somit verbleiben keine wesentlichen Unterschiede zwischen der erhaltenen Merkmalsinformation und der erkannten Ziffer "3". Wären nach dem Erscheinen des ersten "1"-Kodes wesentliche Unterschiede verblieben oder noch andere Entscheidungen möglich gewesen, dann wäre der Entscheidungsprozeß ohne Entscheidung im Zustand 0701 verblieben, bis eine weitere Merkmalsinformation angekommen wäre. Daraus folgt, daß der durch die sequentielle Entscheidungskette im Zeichenerkennungsprozessor 53 auftretende Algorithmus einen verteilten Ablauf durch untereinander verbundene logische Verknüpfungen enthält, die nicht so wie bei bekannten Baumnetzwerken
609813/0757
geordnet sind. Bei den bekannten Entscheidungsbäumen kann ein Ablauf entlang eines Zweiges nicht zurückverfolgt werden, wenn ein höherer Zweig ausgewählt worden ist. D.h. der Entscheidungsfluß erfolgt immer nach unten. Er erfolgt niemals quer über die Zweige und geht nie zu einem vorhergehenden Zweig zurück, wie es bei dem erfindungsgemäßen Algorithmus der Fall ist. Dieser wurde aus einem Entscheidungsbaum für ein einziges Zeichen durch anschließendes Hinzufügen von Zeichen entwickelt, indem soviele Zweige wie möglich verwendet und nur nicht-redundante Entscheidungspfade hinzugefügt wurden. Nach Abschluß des Prozesses waren die Redundanzen ausgeschieden worden und ein Algorithmus gebildet, der nicht langer mit dem bekannten Entscheidungsbaum vergleichbar war.
Der in Figur 2 dargestellte Zeichenerkennungsprozessor 53 enthält eine Entscheidungskette mit einem ROM 108, einen Entscheidungsverzögerungs-Zwischenspeicher 113, ein Entscheidungsregister 115, einen Zeichenkode-Dekodierer 124 und einen Entscheidungs-Zwischenspeicher 122. Im normalen Entscheidungsgang nimmt der ROM 108 4 bit Eingangssignale vom ROM 1O5 in einem Rhythmus auf, der der Zeilenabtastung der Anordnung 50 entspricht, prüft den jeweiligen durch den Inhalt des Zwischenspeichers 113 ausgewiesenen Zustand und gibt einen Zustandstransferbefehl an die sequentielle Entscheidungskette im ROM 108.
6098 13/0757
Die Merkmalkodes O vom ROM 105 sind zur Erzeugung eines Zustandsbefehls im Zwischenspeicher 113 solange nicht gegatet, bis die Entscheidungseingangssteueurung 115 zwei den Zeichenfuß bezeichnende leere oder weiße Zeilen erkannt hat. Ist die den Zeichenfuß bezeichnende weiße Zeile gleichzeitig die unterste Zeile 38 der Anordnung 50, dann wird nur eine weiße Zeile benötigt. In diesem Fall werden die Merkmalkodes 0 zur Erwirkung einer Entscheidung gemäß den Tabellen III A bis D verarbeitet.
Vor der Freigabe des Zeichenerkennungsprozessors 53 überprüft der Zeichenanwesenheitsprozessor 55 die vom Vorprozessor 51 zeilenweise aufgenommenen Videodaten, um das Vorhandensein eines Zeichens auf der Anordnung zu bestimmen.
Ein Zeichen wird zuerst durch vertikale Abtastung aufgesucht, indem Zeilen mit nur leeren Zellen gesucht werden, gefolgt von Zeilen, die schwarze Informationen enthalten. Ein Dekodierer 102 für schwarze Zeilen erzeugt in Abhängigkeit von den über eine Leitung 101 vom Vorprozessor 51 erhaltenen Videodaten der einzelnen Zeilen ein entweder eine weiße Zeile oder eine Zeile mit schwarzen Zellen bezeichnendes Signal, das über die Leitungen 109 und 110 in die Entscheidungseingangssteuerung 111 bzw. in einen 256 χ 8 bit-Zeichenanwesenheits-ROM 104 geführt wird.
6098 13/0757
Erhält die Entscheidungseingangssteuerung 111 ein weißes Zeilensignal gefolgt von einem schwarzen Zeilensignal, dann wird der Zeichenerkennungsprozessor 53 durch ein Signal CDLD auf der Leitung 138 zum Zwischenspeicher 113 freigegeben. Daten vom ROM 108 werden dann mittels Taktimpulsen CLK1 auf der Leitung 112 mit der Zeilenabtastfrequenz in den Zwischenspeicher 113 übertragen.
Während der Zeichenerkennungsprozessor 53 freigegeben ist, empfängt eine Suchschaltung mit einem ROM 104, einem Zeichenanwesenheits-Verzögerungsspeicher 114 und einer Rückkopplungsschieife 136 3 bits der Videodaten über die Leitung 103 im Rhythmus der Zeilenabtastung und sucht die mittleren drei Spalten einer von oben nach unten durchgeführten Abtastung sperrende schwarze Videosignale.
Sind keine derartigen Signale vorhanden, so deutet dies darauf hin, daß eher ein Zwischenraum zwischen benachbarten Zeichen, als ein Zeichen selbst über den mittleren drei Spalten der Anordnung 5O liegt.
Der ROM 104 ist zum Ansprechen von auf Leitungen 103, 110 und 136 auftretenden Daten programmiert. Ein nicht dargestellter 8-bit-Eingangsdekodierer wählt die im ROM gespeicherten 4-bit-Worte als Ausgangssignal für eine Folge von Zuständen auf der Leitung 137 aus. Die Daten auf der Leitung 137 werden mittels eines Taktsignals CLK1 in den Zwischen-
609813/0757
speicher 114 getaktet, wobei ein Impuls auf der Leitung entsprechend der Zeilenabtastfrequenz erzeugt wird.
Die Suchschaltung wird gemäß Figur 4 freigegeben, wenn ein eine vollständig weiße Zeile bezeichnendes Signal von einem Signal einer schwarzen Zeile auf der Leitung 110 vom Dekodierer 102 erhalten wird. Bis das eine weiße Zeile bezeichnende Signal im Zustand 301 erkannt wird, läuft der Prozeß lediglich mit der Abtastfreguenz in einer Schleife entlang des Pfades 400 über den Zustand 312, der die Suchkette in ihren Anfangszustand 3OO zurückstellt und das ROM bit 1 zur Erzeugung eines Signals DTRES auf der Leitung 141 aktiviert, um die Entscheidungskette des Zeichenerkennungsprozessors 53 zurückzustellen. Wird ein weißes Zeilensignal aufgenommen, dann läuft die Entscheidung in den Zustand 302, in der wiederum ROM bit 1 für die Dauer einer Zeilenabtastung der Anordnung 50 aktiviert wird.
Tritt das DTRES-Signal vom ROM 104 auf der Leitung 141 zur Entscheidungseingangssteuerung 111 gemäß Figur 2 auf, dann stellt diese durch ein Signal CHDECRES auf der Leitung 119 zum Zwischenspeicher 113 den Zeichenerkennungsprozessor 53 zurück. Ein Zurückstellen des Zwischenspeichers 113 führt die sequentielle Entscheidungskette des ROM 108 in den Zustand 00OO auf die beschriebene Weise zurück. Da die Steuerung 111 die ROM 108 Entscheidungen vor der Rückstellung des Zwischenspeichers 113 in das Register 115 takten muß, wird das
609813/0757
Signal DTRES an die Steuerung 111 und nicht direkt an den Zwischenspeicher 113 gelegt.
Das Signal CHDECRES wird ebenfalls von der Steuerung 111 in Abhängigkeit von zwei weißen vom Dekodierer 102 erzeugten Zeilensignalen gebildet, nachdem die unterste Zeile eines Zeichens abgetastet wurde; es wird außerdem nach einem weißen Zeilensignal unter einer letzten Zeichenzeile gebildet, wenn diese weiße Zeile die 38-ste Zeile der Anordnung 50 ist und wenn weniger als drei schwarze Zeilensignale dem weißen Zeilensignal vorhergehen. Darüber hinaus wird das Signal bis nach dem Erkennen des ersten weißen Zeilensignals mit der Abtastfrequenz erzeugt; es wird außerdem erzeugt, wenn ein Zwischenraum oder ein weißer Streifen zwischen benachbarten Zeichen über den mittleren drei Spalten der Anordnung 50 liegt.
Aus dem logischen Zustand 302 der Figur 4 läuft der Prozeß weiter zum Zustand 303, in dem nach einem schwarzen Zeilensignal vom Dekodierer 102 gefragt wird. Wurde kein schwarzes Zeilensignal aufgenommen, dann läuft der Prozeß zum Zustand 311, in dem eine Zeile-38 Abfrage erfolgt. War die letzte abgetastete Zeile die Zeile 38 der Anordnung 50, wie. es durch ein Zeile-38-Signal von einem Zeilenzähler über eine Leitung 180 zum Zwischenspeicher 140 angegeben wird, dann verläuft der Prozeß zum Zustand 312, in dem die Suchkette und die Entscheidungskette des ROM 108 zurückge-
60Ö8 1 3/0757
stellt und die Suche nach einer weißen, von einem schwarzen Zeilensignal gefolgten Zeile wiederum im Zustand 301 begonnen werden. Ist die zuletzt abgetastete Zeile nicht die Zeile 38, dann wird der Zweig 401 zum Stellen des ROM bit 1 im Zustand 302 und zur Abfrage nach einem schwarzen Zeilensignal vom Dekodierer 102 im Zustand 303 durchlaufen.
Wurde ein schwarzes Zeilensignal aufgenommen, dann wird das Suchnetzwerk im Zustand 304 freigegeben und die mittleren drei Spalten der vom Vorprozessor aufgenommenen Videodaten werden nach einem über die Mitte der Anordnung 50 laufenden Zeichen oder nach einem weißen Zwischenraum abgefragt.
Während des Suchprozesses erfolgt eine Reihe von zeilenweisen Abfragen, die mit einem Zustand 305 beginnen, in dem nach drei aufeinanderfolgenden schwarzen Zeilen gefragt wird, um zwischen einer Zeichenspitze und zwischen außerhalb des Zeichens liegenden schwarzen Signalen zu unterscheiden. Werden weniger als drei Zeilen mit schwarzen Informationen erkannt, dann erfolgt ein Transfer in den Zustand 306 zur Bestimmung, ob die letzte Zeile einer Anordnung, nämlich die Zeile 38, abgetastet wurde. Ein Zeile-38-Signal vom Zähler 123 läßt den Prozeß über die Verzweigung A zum Zustand 312 weiterlaufen. Ein Transfer in den Zustand 307 wird jedoch durchgeführt, wenn weniger als 38 Zeilen in einem Abtastvorgang durchlaufen wurden.
6098 13/0757
Gehen einer weißen Zeile weniger als drei schwarze Zeilen voraus/ dann folgt ein Transfer in den Zustand 303 und die Suchkette des Züstands 304 wird in einen Zustand gebracht, der einer bekannten weißen Zeile entspricht.
Wird keine weiße Zeile während des Erkennens von drei aufeinanderfolgenden schwarzen Zeilen im Zustand 305 gefunden, dann wird jede Zeile der einlaufenden Videodaten im Zustand 309 überprüft. Bis eine vollständig weiße Zeile auftritt oder die letzte Zeile eines Durchlaufs abgetastet wird, durchläuft der Prozeß eine geschlossene Schleife mit den Zuständen 309 und 310 sowie den Zweigen 402 und 403 im Rhythmus der Zeilenabtastung. Wird ein Zeile-38-Signal von der Steuerung 111 vor dem Entdecken einer weißen Zeile im Zustand 309 aufgenommen, dann erfolgt ein Transfer über die Verzweigung A in den Zustand 312. Wird jedoch eine weiße Zeile vor dem Abtasten der letzten Zeile der Anordnung 50 gefunden, dann wird die Suchkette im Zustand 313 nach einer Sperre abgefragt, die auf die Anwesenheit eines Zeichens im Abtastbereich hinweist.
Es sei beispielsweise eine bit-Anordnung XXXX betrachtet, die vom ROM 104 gemäß Figur 2 mit der Zeilenabtastfrequenz aufgenommen wird. Das erste bit stellt ein vollständig weißes Zeilensignal vom Dekodierer 102 und die drei dahinter angeordneten bits stellen ein 3-bit-Datenwort dar, das den mittleren drei Datenspalten entspricht, die vom Vorprozessor
6098 13/0757
erhalten wurden. Der im Zustand 304 verkörperte Suchprozeß fragt nach einem vertikal über die mittleren drei Spalten der Videodaten verlaufenden weißen Streifen. Der Suchprozeß führt nur senkrechte oder rechtwinklige Transfers, jedoch keine diagonalen Transfers außerhalb der drei Spalten durch.
Die Tabelle V zeigt in der Kette A einen blockierten Zweig, während die Kette B einen offenen oder weißen Zweig darstellt.
Tabelle V B
A 0001
0001 0011
OO1O 0001
0100 0100
1000 1000
10OO 1000
1OOO
Ist der Zustand 313 in Figur 4 nicht gesperrt, dann erfolgt ein Transfer in den Zustand 310, in dem, wie zuvor beschrieben, nach der Zeile 38 gefragt wird. Wird jedoch im Zustand 313 eine Sperre entdeckt, dann wird im Zustand 314 das ROM bit 0 zur Erzeugung einer einzigen Zeilenabtastung für ein CHPS14-Signal auf der Leitung 140 zur Steuerung 111 gestellt. Das Signal CHPS14 weist darauf hin, daß eine Sperre vorliegt,
6098 13/0757
daß eine weiße Zeile entdeckt wurde und daß eine Zeichenentscheidung bevorstehen könnte. Der Prozeß läuft weiter zum Zustand 315, indem eine Zeile-38-Abfragung vor der Abfrage nach einer zweiten vollständig weißen Zeile im Zustand 316 durchgeführt wird. Wurde eine weiße Zeile erkannt und kein Ende-der-Abtastung- oder Zeile-38-Signal erhalten, dann erfolgt im Zustand 316 eine Abfrage nach einer zweiten weißen Zeile. Wurde jedoch eine weiße Zeile in Zeile 38 entdeckt, dann wird das ROM bit 2 im Zustand 317 gesetzt, um ein Zeichenanwesenheitssignal CHPRES auf der Leitung 120 zur Steuerung 111 zu erzeugen.
Das Signal CHPRES, bezeichnet die Sperre der mittleren drei Videodatenspalten durch schwarze Zellen, und es wird eine Zeichenanwesenheit im Abtastbereich ausgewiesen.
Wird eine zweite weiße Zeile vor dem Abtasten der Zeile 38 gefunden, dann erfolgt ein Transfer vom Zustand 316 in den Zustand 317, um ein Zeichenanwesenheitssignal auf die zuvor beschriebene Weise zu erzeugen. Wird keine weiße Zeile entdeckt, dann läuft der Prozeß auf dem Zweig 404 zum Zustand 309 zurück und beginnt einen neuen Suchvorgang nach zwei weißen Zeilen.
Liegt daher eine Zeichenendebedingung vor, nämlich eine weiße Zeile in der Zeile 38 oder zwei weiße Zeilen, dann wird ein Zeichenariwesenheitssignal erzeugt und die Entscheidungs-
6098 1 3/0757
25A0101
kette des ROM 108 im Zustand 318 zurückgestellt. Wurde die Zeile 38 abgetastet, dann erfolgt ein Transfer vom Zustand 319 zur Verzweigung A. Falls jedoch zwischen der ein Zeichenende bezeichnenden weißen Zeile und der Zeile 38 noch abzutastende Zeilen übrig sind, dann wird die Suchkette im logischen Zustand 320 in den Zustand "eine weiße Zeile" gebracht, und der Prozeß verläuft über den Zweig 405 zum Zustand 303.
Wird ein Zeichen während der Freigabe des Zeichenerkennungsprozessors 53 erkannt, dann wird vom ROM 108 gemäß Figur 2 ein 2-bit-Zeichenerkennungssignal CHARDEC auf der Leitung 128 an die Steuerung 111 übertragen, die ihrerseits das Ladesignal CDLD auf der Leitung 138 zum Zwischenspeicher 113 sperrt. Für den Transfer von Daten vom ROM 108 auf einer Leitung 144 zu einem Entscheidungsregister 115 gemäß Figur 2 werden sowohl ein Zeichenanwesenheitssignal vom Zeichenanwesenheitsprozessor 55 und ein Zeichenentscheidungssignal vom Zeichenerkennungsprozessor 53 benötigt. Somit wird während der Freigabe des Zeichenerkennungsprozessors 53 selbst dann keine Information an das Register 115 übertragen, wenn der Zeichenerkennungsprozessor 53 zwar eine Entscheidung gefällt hat, jedoch bis zur Abtastung des Zeichenfußes kein Zeichenanwesenheitssignal von der Steuerung 111 aufgenommen wurde. Die Steuerung 111 stellt in diesem Fall lediglich mittels der Signale CHDECRES auf der Leitung 119 und CPRES auf einer Leitung 118 den Zeichenerkennungsprozessor 53 und den Zeichenanwesenheits-
609813/07 57
prozessor 55 zurück. Treffen die oben erwähnten Bedingungen zu, dann gibt die Steuerung 111 über ein Signal DRLD auf der Leitung 145 das Register 115 frei. Das Register wird dann mit den jeweiligen Ausgangssignalen des ROM 108 beim Eintreffen der Vorderflanke des nächstfolgenden Taktimpulses CLK1 auf der Leitung 146 beladen.
Die Hauptsteuerung für das Zexchenerkennungsgerät ist die Steuerung 111, die einen schwarzen Zeilenzähler, einen weißen Zeilenzähler, einen weißen Zwischenraumzähler, einen Zeilenzähler zum Zeichenhöhenvergleich, einen Zeichenanwesenheitszähler und einen Abtastvorgangszähler enthält, der durch ein Zeile-38-Signal auf der Leitung 142 vom Zähler am Ende jedes Abtastvorganges erhöht und bei der Feststellung eines weißen Zwischenraumes zurückgestellt wird.
Zur Steigerung der Zuverlässigkeit für eine Zeichenerkennung führt die Steuerung 111 eine Folge von Abfragen des Speicherinhalts des Registers 115 vor dem Takten der Daten zum Entscheidungszwischenspeicher 122 durch. Der Speicherinhalt des Registers 115, beispielsweise ein Zeichen- oder Symbolkode wird über eine Leitung 147 zu einem Zeichenkode-Dekodierer 124 übertragen. Das Ausgangssignal des Dekodierers 124 wird über die Leitung 148 an die Steuerung 111 gelegt, die die Zeichen- oder Symboldaten mit dem Inhalt eines nicht dargestellten internen Zeichenhöhen-Zeilenzählers vergleicht. Dieser Zeilenzähler wird von dem ersten auf ein weißes Zeilen-
6Q9813/07B7
signal vom Dekodierer 102 auf einer Leitung 109 auftretenden schwarzen Zeilensignal aktiviert und durch das Signal CHPRES vom ROM 104 auf der Leitung 120 deaktiviert, welches den Zeichenfuß repräsentiert. Der Inhalt des Zeilenzählers ist somit ein Maß für die Höhe des vom Ausgangssignal des Dekodierers 124 dargestellten Zeichens.
Zählt der Zeilenzähler 3 bis 5 schwarze Zeilen, dann wird auf der Leitung 121 ein "."-Signal erzeugt, das einen "."-Kode in den Zwischenspeicher 122 eingibt. Werden 6 bis 9 schwarze Zeilen gezählt, dann müssen die Zeichendaten Anführungszeichen oder ein ">"-Zeichen darstellen, oder aber unterdrückt werden. Bei 1O bis 19 schwarzen Zeilen können die Zeichendaten irgendein Zeichen oder Symbol mit Ausnahme eines Anführungszeichens oder eines Punktes darstellen.
Wird eine Zeichenhöhe von 20 oder mehr schwarzen Zeilen erkannt, dann werden alle Eingänge zwischen weißen Zweigen unberücksichtigt gelassen, und es wird ein Signal auf der Leitung 174 zur Sperrung des Ausgangs 134 einer Entscheidungsauf lösungssteuerung 131 erzeugt. Auf diese Weise werden alle Entscheidungen zwischen den weißen Zweigen ignoriert.
Treten während einer einzigen Abtastung Entscheidungen über verschiedene Zeichenhöhen auf, dann wird nur das der größten Höhe entsprechende Signal vom Zwischenspeicher 122 zum Zeichenentscheidungsprozessor 54 übertragen. Während eines Abtastvorganges werden Mehrfachentscheidungen über dieselbe Höhe unterdrückt. 6 0 9813/0757
Die Steuerung 111 verwirft auch eine Zeichenerkennung durch Sperren des Ladevorganges des Zwischenspeichers 122, wenn zwei aufeinander folgende unerkannte schwarze Zeilensignale, nämlich der Merkmalkode = O, während eines einzigen Abtastvorganges auf der Leitung 139 vom Dekodierer 106 erscheinen. Erhält die Steuerung 111 zwei weiße Zeilensignale vom Dekodierer 102 gefolgt von einem CHPRES-Signal auf der Leitung 120 vom ROM 104, der das Abtasten eines Zeichenfußes anzeigt, dann sucht die Steuerung nach einem Zeichenentscheidungssignal auf der Leitung 128 vom ROM 108. Wurde eine Zeichenentscheidung getroffen, dann überprüft die Steuerung den Entscheidungskode in bezug auf die erwähnten möglichen Abweisungskriterien. Erfolgt keine Abweisung, dann liefert die Steuerung 111 einen Ladebefehl DBLD auf den Leitungen 153, 154 und 157, um die Zwischenspeicher 122 und 126 sowie das Register 156 zu laden. Die Zwischenspeicher und das Register werden dann mit der nächstfolgenden Vorderflanke ihrer jeweiligen Taktimpulse CLK1 geladen. Als nächstes gibt die Steuerung einen Speicherentscheidungsbefehl 129 zur Steuerung 131 und einen Ladebefehl BBLD auf einer Leitung 158 zu einem Zwischenspeicher 159, der den Inhalt des Registers 156 mit der Vorderflanke des nächstfolgenden, auf der Leitung 160 auftretenden Taktimpulses CLK1 einliest.
Wird kein Zeichenentscheidungssignal gefunden oder wird die Zeichenentscheidung verworfen, dann liefert die Steuerung Rückstellsignale CHDECRES und CPRES auf den Leitungen 119 und
6098 1 3/0757
118/ um jeweils die Speicher 113 und 114 zu leeren und die Entscheidungskette sowie die Suchkette zurückzustellen.
Außerdem unterstützt die Steuerung 111 die Ausgabevorrichtung durch die Verhinderung von unkorrekten Zeichenentscheidungen während eines Abtastvorganges, welche von Zeichenbestandteilen stammen, die an Stellen des Sichtfeldes auftreten, an denen ein Zeichen normalerweise auftreten würde. Es wird außerdem ein Suchsystem verwendet, bei dem die Ausgangssignale der Anordnung 50 in vier vertikal angeordnete Quadranten aufgeteilt wird, wobei jeder Quadrant 12 Photosensoren breit ist. In einer Ausführung werden nur die unteren 32 Zeilen mit einer jeweiligen Quadrantenhöhe von 8 Zeilen verwendet. Wird ein Zeichenbestandteil im Quadranten 1 gelesen und erscheint im Quadranten 2 kein Signal, folgt aber während desselben Abtastvorganges ein Zeichenbestandteil im Quadranten 3, dann erfolgt die Entscheidung, nur den Quadranten 3 zu lesen.
Insbesondere zählt der Zeilenzähler 123 die Taktimpulse CLK1 auf der Leitung 143 ununterbrochen und überträgt nach dem Abtasten jeweils einer Zeile einen Impuls zur Inhaltsbestimmung auf der Leitung 151 an einen Dekodierer 125. Der Dekodierer 125 gibt seinerseits ein Signal auf der Leitung 152 an einen Flächenzwischenspeicher, um den Quadranten, in dem die bestimmte Zeile liegt, zu kennzeichnen. Bei Erhalt eines Ladesignals DBLD auf den Leitungen 153 und 154
60981 3/0757
von der Steuerung 111, liest der Zwischenspeicher 126 das Ausgangssignal des Dekodierers 125 ein, wenn die nächste Vorderflanke eines Taktimpulses CLK1 auf der Leitung 155 auftritt. Die Quadranteninformation verbleibt solange im Zwischenspeicher 126, bis die Steuerung einen Entscheidungsordnungs-RAM 132 veranlaßt, den Inhalt des Zwischenspeichers 126 einzulesen. Bei Erhalt eines Entscheidungabgeschlossen-Signals auf der Leitung 135 von der Steuerung 131 verwendet die Ausgabeeinrichtung die in einem Ausgangsregister 175 gespeicherte Quadranteninformation als Sicherheit gegen unkorrekte Zeichenentscheidungen, die auftreten würden, wenn ein Bereich eines Zeichens in einer höheren, Information tragenden Zeile zur gleichen Zeit wie ein Zeichenbestandteil in einer tieferen Zeile abgetastet wird.
In Figur 5 ist der Steuerungsprozeß der Entscheidungseingangssteuerung 111 als logisches Flußdiagramm beginnend mit dem Auslösen eines internen Zeilenzählers im Zustand 500 dargestellt. Der Zeilenzähler wird um eins in den logischen Zustand 501 erhöht, und es wird im Zustand 502 nach einem weißen Zeilensignal vom Dekodierer 102 abgefragt. Wurde kein weißes Zeilensignal aufgenommen, dann läuft der Prozeß entlang des Zweiges 600 zurück und erhöht den Zeilenzählerstand um eins. Dann wird im Zustand 502 wiederum nach einem weißen Zeilensignal in der nächstfolgenden Zeile abgefragt. Wird ein weißes Zeilensignal gefunden, dann
8098 13/0757
erfolgt ein Transfer in den Zustand 503, in dem das Zeichenentscheidungsrückstellsignal CHDECRES auf der Leitung und das Lösche-Entscheidung-Zwischenspeichersignal CLDB auf den Leitungen 167 und 168 ausgegeben werden. Zusätzlich werden ein weißes Zeilenkennzeichen, ein Merkmalkode-16-Kennzeichen und ein Abbruchkennzeichen zurückgestellt.
Im Zustand 504 wird der Zeilenzähler abgefragt, ob das Ende eines Abtastvorganges erreicht ist. Zeigt der Zähler die Zeile 38 an, dann erfolgt der logische Fluß entlang des Zweiges 6O1 zum Zustand 500, bei dem der Zähler wieder rückgestellt und der Prozeß neuerlich begonnen wird. Ist die letzte gezählte Zeile nicht die Zeile 38, dann verläuft der Prozeß entlang des Hauptentscheidungspfades zum Zustand 505, in dem nach einem schwarzen Zeilensignal abgefragt wird. Wurde ein schwarzes Zeilensignal vom Dekodierer 102 erhalten, das die Anwesenheit von schwarzer Zelleninformation in den Videodaten angibt, dann wird der Zeichenerkennungsprozessor 53 im Zustand 506 durch Ausgabe eines Ladebefehls CDLD auf der Leitung 138 zum Zwischenspeicher 113 freigegeben.
Vom Zustand 506 wird der logische Fluß zum Zustand 507 transferiert, indem der Zeilenzähler neuerlich nach dem Ende eines Abtastvorganges oder nach der Zeile 38 abgefragt wird. Wird das Ende eines Abtastvorganges angezeigt, dann wird der logische Zweig 602 zum Zustand 500 durchlaufen,
BÜ98 13/0757
in dem der Zeilenzähler wieder gestartet wird. Wird kein Ende eines Abtastvorganges angezeigt, dann erfolgt ein Transfer in den Zustand 508, um zu bestimmen, ob ein Entscheidungsketten-Rückstellsignal DTRES auf einer Leitung 141 vom ROM 104 erhalten wurde. Wurde ein Entscheidungsketten-Rückstellsignal empfangen, dann verläuft der Prozeß zur Verknüpfung A, bei der der Zeilenzähler im Zustand 603 um eins erhöht wird, und der Prozeß wird vom Zustand fortgesetzt. Wurde kein Entscheidungsketten-Rückstellsignal aufgenommen, dann läuft der Prozeß vom Zustand 508 zum Zustand 509, in dem die Steuerung 111 nach einem Zeichenentscheidungssignal auf der Leitung 128 vom ROM 108 fragt. Wurde kein Zeichenentscheidungssignal aufgenommen, dann wird die Leitung 109 in Figur 4 im Zustand 510 nach einem schwarzen Zeilensignal abgesucht. Ist ein schwarzes Zeilensignal vorhanden, dann wird das weiße Zeilenkennzeichen im Zustand 511 rückgestellt und im Zustand 512 eine Abfrage nach einem Merkmalkode 16 vorgenommen. Ein Merkmalkode 16 tritt auf, wenn sowohl ein Merkmalkode-O-Signal vom Dekodierer 106 und ein gleichzeitiges Schwarze-Zeile-Signal vom Dekodierer 102 von der Steuerung 111 aufgenommen werden. Dies gibt an, daß in einer Zeile eine nicht identifizierte schwarze Zelleninformation vorhanden ist.
Tritt im Zustand 512 kein Merkmalkode 16 auf, dann wird das Merkmalkode-16-Kennzeichen im Zustand 513 rückgestellt. Der Prozeß läuft dann über den Zweig 604 zum Zustand 605,
6098 13/0757
in dem der Zeilenzählerstand um eins erhöht und der Prozeß vom Zustand 507 fortgesetzt wird.
Liegt eine Merkmalkode-16-Bedingung im Zustand 512 vor, dann wird ein Transfer in den Zustand 514 vorgenommen, um festzustellen, ob das Merkmalkode-16-Kennzeichen gesetzt wurde. Wurde es gesetzt, dann wird der Zweig 606 zum Zustand 607 durchlaufen, um eine Ende der Zeichenanwesenheitsbedingung zu suchen, die das Abtasten eines Zeichenfußes bezeichnet. Das Vorhandensein einer Ende-einer-Zeichenanwesenheitsbedingung bewirkt einen Transfer zur Verknüpfung A, bei der der Zeilenzählerstand im Zustand 603 um eins erhöht wird, und der Steuerprozeß läuft vom Zustand 503 weiter. Ist im Zustand 607 keine Ende-einer-Zeichenanwesenheitsbedingung vorhanden, dann wird im Zustand 608 nach einer Entscheidungsketten-Rückstellbedingung gefragt. Existiert keine Rückstellbedingung, dann wird der Zeilenzählerstand im Zustand 601 um eins erhöht und ein Transfer in den Zustand 607 zur weiteren Abfrage nach einer Ende-einer-Zeichenanwesenheitsbedingung vorgenommen. Ist jedoch eine Entscheidungsketten-Rückstellbedingung im Zustand 608 vorhanden, dann erfolgt ein Transfer zur Verknüpfung A, wobei der Zeilenzählerstand im Zustand um eins erhöht wird und der Steuerprozeß wiederum vom Zustand 503 weiterläuft.
B09813/0757
Wird kein Merkmalkode-16-Kennzeichen im Zustand 514 entdeckt, dann wird das Kennzeichen im Zustand 515 gesetzt und die Entscheidung skette im Zustand 516 durch Sperren des CDLD-Signals auf der Leitung 138 zum Zwischenspeicher 113 festgehalten. Der Prozeß läuft dann über den Zweig 610 zum Zustand 605, wobei der Zeilenzählerstand um eins erhöht wird.
Bei der Rückkehr in den Zustand 510 unter der Bedingung, daß kein Zeichenentscheidungssignal im logischen Zustand 509 entdeckt und keine schwarze Zelleninformation in den im Zustand 510 untersuchten Videodaten gefunden wurde, wird die Entscheidungskette wie zuvor im Zustand 517 durch Sperren des CDLD-Signals auf der Leitung 138 zum Zwischenspeicher 113 angehalten. Es wird dann im Zustand 518 abgefragt, ob ein weißes Zeilenkennzeichen gesetzt wurde. War dies nicht der Fall, dann wird das Kennzeichen im Zustand 519 gesetzt und der Steuerprozeß läuft wie zuvor beschrieben weiter entlang des Zweigs 610 zum Zustand 605.
Wurde zuvor ein weißes Zeilenkennzeichen gesetzt, dann wird der logische Datenfluß vom Zustand 518 zum Zustand 520 transferiert, um die Folge der zuvor beschriebenen Rückweisungsabfragen bezüglich des Inhalts des Registers 115 durchzuführen, ehe die Daten vom Register 115 in den Entscheidungszwischenspeicher 122 getaktet werden.
6098.13/0757
Vom Zustand 520 wird ein Transfer über die Verknüpfung B zum Zustand 611 durchgeführt, wobei der Zeilenzähler um eins erhöht wird. Der Steuerungsprozeß läuft dann vom Zustand 504 weiter.
Wird auf der Leitung 141 in Figur 2 kein ROM 104 Entscheidungsketten-Rückstellsignal DTRES gefunden, jedoch ein Zeichenentscheidungssignal CHARDEC auf der Leitung 128 vom ROM 108 entdeckt, dann wird der Steuerungsprozeß vom Zustand 5O9 in den Zustand 521 transferiert, wobei die Entscheidungskette durch Sperren des Signals CDLD auf der Leitung 138 zum Zwischenspeicher 113 angehalten wird. Im Zustand 522 wird abgefragt, ob eine Ende der Zeichenanwesenheitsbedingung vorliegt. Werden nicht zwei das Ende einer Zeichenanwesenheit anzeigenden weißen Zeilensignale gefunden, dann wird im Zustand 523 nach einer Merkmalkode-16-Bedingung gefragt. Liegt eine Merkmalkode-16-Bedingung vor, dann erfolgt ein Transfer in den Zustand 524, in dem abgefragt wird, ob die zuvor verarbeiteten Videodaten ebenfalls eine Merkmalkode-16-Bedingung lieferten. Trifft dies zu, dann wird ein Abbruchkennzeichen im Zustand 525 gesetzt, ein Transfer in den Zustand 526 zur Erhöhung des Zeilenzählerstands durchgeführt und der Steuerprozeß beginnt wieder im Zustand 521. Wurde in den vorhergehenden Videozeilendaten keine Merkmalkode-16-Bedingung erzeugt, dann erfolgt ein Transfer vom Zustand 524 direkt zum Zustand 526, in dem der Zeilenzähler um eins erhöht und der Steuerprozeß im Zustand 521 auf die zuvor beschriebene Weise wieder aufgenommen wird.
6ÜB8 1 3/0757
2540Ί01
Vom Zustand 521 erfolgt ein Transfer in den Zustand 522 zur erneuten Abfrage nach einer Ende-einer-Zeichenanwesenheitsbedingung. Wurde ein Zeichenfuß abgetastet, dann läuft der Prozeß zum Zustand 527 weiter, indem nach einem Abbruchkennzeichen gefragt wird. Wurde ein Abbruchkennzeichen gesetzt, dann erfolgt ein Transfer vom Zustand 527 über die Verknüpfung A zum Zustand 603, von dem der Steuerprozeß weiterläuft. Wurde kein Abbruchkennzeichen gesetzt, dann erfolgt ein Transfer vom Zustand 527 zum Zustand 520, in dem auf zuvor beschriebene Weise eine Folge von Abfragen des Inhalts des Registers 115 durchgeführt wird.
Nach dem Erhalten eines Speichere-Entscheidung-Befehls von der Steuerung 111 gemäß Figur 2 bewirkt die Steuerung 131 das Speichern des 6-bit-Zeichenkodes vom Zwischenspeicher 122 und des Inhalts vom Zwischenspeicher 126 in einem 32 χ bit-Direktzugriffsspeicher RAM 132. Somit enthält ein einzelnes Wort im RAM 132 einen 6-bit-Zeichenkode und 2 bits Quadranteninformation.
Unter dem Einfluß der Befehle von der Steuerung 131 über die Leitung 162, 171 und 165 wird Zeicheninformation vom RAM 132 über eine Leitung 163, über die Steuerung 131 und über die Leitung 165 zu einem 64 χ 8-bit-Zeichenkode adressierbaren RAM 132 transferiert. Wird zusätzliche von der Abtastung eines einzelnen Zeichens gelieferte Zeicheninformation vom Zwischenspeicher 122 zum RAM 132 transferiert,
6098 1 3/0757
dann vergleicht die Steuerung 131 den eingehenden Kode mit dem Inhalt des RAM 132. Wurde dieser Zeichenkode bereits gespeichert, dann wird der Inhalt eines diesem Zeichenkode entsprechenden Speicherplatzes vom RAM 133 in einen Zähler 170 übertragen, um eins erhöht und neuerlich im RAM 133 gespeichert. Da die Zeilenabtastfrequenz verhältnismäßig hoch im Vergleich zur Relativbewegung des Schriftstückes gegenüber der Anordnung 50 ist, kann ein einzelnes Zeichen mehrere Male abgetastet werden. Auf diese Weise wird von dem Zeichenerkennungsprozessor 53 eine Folge von Zeichenkodes erzeugt, die die Bewegung eines einzelnen Zeichens über die Anordnung 50 wiedergeben.
Das Ende einer solchen Zeichenreihe wird durch das Fehlen einer Zeichenanwesenheit am Ende der Reihe gefolgt von drei weißen Zwischenräumen angegeben. Bei dem Erkennen eines Abtastendesignals ohne zugehöriges Zeichenanwesenheitssignal fragt die Steuerung 111 einen nicht dargestellten Zeichenanwesenheitszähler ab, ob Zeichenanwesenheitssignale während sechs aufeinanderfolgender Abtastvorgänge aufgenommen wurde. Wurden sechs aufeinanderfolgende Signale aufgenommen, dann befragt die Steuerung 111 einen nicht dargestellten zweiten Zwischenraumzähler zur Bestimmung, ob drei weiße Zwischenräume erkannt wurden. Ist dies der Fall, dann liefert die Steuerung 111 einen Start-ünterbrechungsbefehl auf der Leitung 130 zur Steuerung 131.
6098 13/0757
Der in Figur 6 dargestellte interne Entscheidungsprozeß der Entscheidungsauflösungssteuerung 131 beginnt mit einem logischen Zustand 700. Hierauf folgt im Zustand 701 eine Abfrage nach einem Speichere-Entscheidung-Signal auf einer Leitung 129 von der Steuerung 111.
Wurde ein Speichere-Entscheidung-Signal aufgenommen, dann erfolgt ein Transfer über den Zweig 800 zum logischen Zustand 702, in dem der Inhalt des RAM 132 danach abgefragt wird, ob ein im Zwischenspeicher 122 gespeicherter Zeichenkode zuvor von der Steuerung 131 gelesen wurde. Ist das nicht der Fall, dann läuft der Prozeß über den logischen Zweig 801 zum Zustand 705 weiter, in dem der Inhalt des Entscheidungszwischenspeichers 122 und des Inhaltsbestimmung-Zwischenspeichers 126 aus Figur 2 in den Entscheidungsanweisungs-RAM 132 geladen werden.
Wurde der im Zwischenspeicher 122 gespeicherte Zeichenkode zuvor gelesen, dann wird im Zustand 703 abgefragt, ob mehr als vier verschiedene Zeichenentscheidungen aus einem einzigen über die Anordnung 50 laufenden Zeichen gebildet wurden.
Wenn fünf oder mehr verschiedene Zeichenentscheidungen gebildet wurden, dann wird im Zustand 706 ein Rückweisungssignal erzeugt. Wurden weniger als fünf unterschiedliche Zeichenentscheidungen gebildet, dann läuft der Prozeß vom
6098 1 3/0757
Zustand 703 in den Zustand 704 weiter, in dem ein Zeichenzähler um eins erhöht und ein Transfer in den Zustand 705 vorgenommen wird. Der Inhalt des Entscheidungszwischenspeichers 122 und des Inhaltsbestimmung-Zwischenspeichers 126 werden in dem Entscheidungsanweisungs-RAM 132 gespeichert und der logische Datenfluß läuft wiederum entlang des Zweiges 802 zurück, um im Zustand 701 neuerlich nach einem Speicherentscheidungssignal zu fragen.
Tritt auf der Leitung 129 in Figur 2 kein Speichere-Entscheidung-Signal auf, dann erfolgt ein Transfer in den Zustand 707 zur Abfrage nach einem Startunterbrechungssignal auf der Leitung 130 von der Steuerung 111. Liegt kein Startunterbrechungssignal vor, dann läuft der logische Prozeß entlang des Zweiges 803 zurück, um wiederum nach einem Speichere-Entscheidung-Signal im Zustand 701 zu fragen.
Ist ein Startunterbrechungssignal im Zustand 707 vorhanden, dann wird der Inhalt des RAM 133 im Zustand 708 zur Bestimmung des größten Zeichenzählerstandes BIG abgefragt. Im Zustand 709 wird der RAM 133 neuerlich nach dem nächstgrößten Zeichenzählerstand NEXT abgefragt.
BIG wird dann im Zustand 710 mit NEXT verglichen, um festzustellen, ob BIG größer als 1,5 (NEXT + 1) ist. Ist das nicht der Fall, dann wird im Zustand 706 ein Rückweisungs-
6098 1 3/0757
signal erzeugt, auf der Ausgangsleitung 134 an ein Ausgangsregister 175 gelegt und ein Entscheidung-abgeschlossen-Signal auf einer Ausgabeleitung 135 an eine Ausgabevorrichtung übertragen. Der Prozeß läuft dann wie zuvor über den Zweig zurück.
Ist BIG größer als 1,5 (NEXT + 1), dann ist das BIG entsprechende Zeichen die im Zustand 711 erhaltene Entscheidung, wobei die Zeichenentscheidung zusammen mit der Flächeninhaltsinformation als Ausgangssignal auf der Leitung 134 zum Register 175 aufscheint. Außerdem werden ein Entscheidung-abgeschlossen-Signal und ein logisches Abtastrichtung-Ausgangssignal aus der Einheit 56 über die Leitungen 135 und 176 von der Steuerung 131 jeweils zu einer nicht dargestellten Ausgabeeinheit übertragen. Vom Zustand 711 läuft das Programm auf die zuvor beschriebene Weise entlang des Zweigs 802 zum abermaligen Durchlauf.
Wird somit ein Startunterbrechungssignal von der Steuerung 111 aufgenommen, dann beginnt die Steuerung 131 eine Reihe von Abfragen zur Feststellung einer endgültigen Zeichenentscheidung. Wenn alle Abfragevorgänge für ein bestimmtes Zeichen zu Zurückweisungen führen, dann wird von der Steuerung 131 ein Zurückweisungskode erzeugt. Liegen noch andere Kodes aJLs der Zurückweisungskode vor, dann wird jeder unterschiedliche Kode gezählt, um festzustellen, wie oft er jeweils auftritt, und diese Information wird im RAM 133 ge-
609813/0757
speichert. Rückweisungskodes werden beim Zählen der Zeichen nicht gezählt.
Tritt ein Zeichen häufiger als 1,5 mal irgendein anderes Zeichen plus 1,5 auf, dann entspricht dieses dem erkannten Zeichen. Tritt kein Zeichenkode häufiger als 1,5 mal irgendein anderes Zeichen plus 1,5 auf, dann ist das Ausgangssignal des Zeichenkodes ein Rückweisungskode.
Andere Rückweisungsbedingungen treten auf, wenn keine Zeichenentscheidungen gemacht und ein leerer Speicherplatz zwischen weißen Zwischenräumen entdeckt wird, oder wenn mehr als vier verschiedene Entscheidungen zwischen weißen Zwischenräumen gespeichert werden, die keine Rückweisungen oder Punkte sind. Wie zuvor beschrieben, werden Punktentscheidungen zurückgewiesen, wenn andere Entscheidungen von größerer Zeichenhöhe zwischen weißen Zwischenräumen getroffen werden.
Wird eine Zeichenentscheidung gefällt, dann tritt ein Zeichenerkennungssignal mit einer Flächeninhaltsinformation auf der Leitung 134 zusammen mit einem Entscheidung-abgeschlossen-Kennzeichen auf der Leitung 135 auf. Diese Ausgangssignale laufen zu einer Ausgabeeinheit, die die Daten als lesbare Worte, Fragen oder Sätze wiedergibt.
609813/0757
Zur Unterstützung der Ausgabeeinheit erhält eine Abtastrichtungslogik 56 sechs Datenbits, die die sechs am weitesten links liegenden Spalten der Videodaten vom Vorprozessor 51 darstellen und erzeugt ein Abtastrichtungssignal auf der Leitung 172, das von der Steuerung 131 als Ausgangssignal zur Ausgabeeinheit führt.
Figur 7 zeigt den internen Programmablauf der Abtastrichtungslogik 56, wobei der Entscheidungsprozeß von einem Anfangszustand 900 in einen Zustand 901 zur Abfrage nach einem Belegt-Signal auf der Leitung 178 von einer Ausgabeeinheit übergeht. Liegt ein Belegt-Signal vor, dann werden der Vorprozessor 51 im Zustand 902 und ein Abtastrichtungszähler in der Logik 56 im Zustand 903 rückgestellt. Der Prozeß läuft dann entlang eines logischen Zweiges 904 zurück, um neuerlich nach der Anwesenheit eines Belegt-Signals im Zustand 901 zu fragen.
Liegt kein Belegt-Signal vor, dann erfolgt ein Transfer vom Zustand 9O1 zum Zustand 905 zur Abfrage nach einem Zeile-38-Signal vom Zeilenzähler 123 auf der Leitung 177 in Figur 2. Wurde ein Zeile-38-Signal vom Zähler 123 erzeugt, dann läuft der Prozeß entlang des logischen Zweiges 906 zum Zustand 901 zurück. Wurde kein Zeile-38-Signal vom Zähler 123 ausgegeben, dann läuft der Prozeß in einen weißnach-schwarz übergangserkennungszustand, beginnend mit dem Zustand 907.
609 813/0757
Die der Logik 56 vom Vorprozessor 51 im Rhythmus der Zeilenabtastung zugeführten sechs Videodatenbits sind die sechs am weitesten links stehenden bits des Videokorrelator-Ausgangssignals. Jedes dieser bits ist im Flußdiagramm der Figur 7 durch die Buchstaben A bis F dargestellt, wobei A das am weitesten links stehende bit bezeichnet. In jedem Abfragezustand 907 bis 911 wird zwischen den durch die sechs bits dargestellten Videodatenspalten nach einem Zellenübergang von weiß nach schwarz gesucht. Wie in den Zuständen 912 bis 916 ausgewiesen, bewirkt der erste erkannte übergang das Laden eines Abtastwertregisters mit einer Zahl, die der Spalte mit dem schwarzen Zelleninhalt entspricht. Jede der Videodatenspalten ist durch eine Zahl O bis 5 bezeichnet.
Wird kein übergang von weiß nach schwarz entdeckt, dann wird das Abtastwertregister mit der Zahl O beladen, wie es der logische Zustand 917 anzeigt.
Nachdem das Abtastwertregister mit einer Zahl 1 bis 5, die auf das Auftreten eines Überganges von weiß nach schwarz hinweist, oder mit der Zahl O beladen wurde, die darauf hinweist, daß kein übergang von weiß nach schwarz erkannt wurde, dann erfolgt ein Transfer in den Zustand 918, um den Inhalt des Abtastwertregisters abzufragen.
Enthält das Abtastwertregister die Zahl O, dann erfolgt ein Transfer zur Verknüpfung A, um wiederum nach dem Auf-
6098 1 3/Ü757
treten eines Zeile-38-Signals im Zustand 905 zu fragen. Ist der Inhalt des Abtastwertregisters jedoch von O verschieden, dann erfolgt ein Transfer in den Zustand 919, um den Inhalt eines vorherigen Abtastwertregisterstandes zu überprüfen. War der vorhergehende Registerstand 0, dann erfolgt wie zuvor ein Transfer zur Verzweigung A. War der vorhergehende Abtastwert von 0 verschieden, dann wird der Inhalt des vorhergehenden Registerstandes vom Inhalt des Abtastwertregisters abgezogen. Dio Differenz wird in einem Differenzregister gespeichert, das durch den logischen Zustand 920 angedeutet ist.
Das Programm läuft dann entlang des Zweiges 921 in den Zustand 922 weiter, in dem der Absolutwert des Differenzregisterstandes geprüft wird. Ist der Absolutwert ungleich 1, dann erfolgt ein direkter Transfer entlang des Zweiges 923 zum Zustand 924, in dem das stellenhöchste bit im Abtastrichtungszähler zu einer Richtungsbestimmung untersucht wird. Der Wert des bits, entweder 0 oder 1, wird dann in einem Richtungsregister zur Ausgabe über die Auflösesteuerung 131 an eine Ausgabeeinheit gespeichert.
Der Abtastrichtungszähler ist ein 4-bit-Zähler, in dem das stellenhöchste bit als Vorzeichenbit verwendet wird. Der Inhalt des Zählers wird so verarbeitet, daß die Ziffer 4 eine -5 Abtastzählung, die Ziffer 9 eine O-Abtastzählung und die Ziffer 14 eine +5 Abtastzählung bedeuten. Auf diese
6098 13/0757
Weise wird eine Abtastrichtungsschwelle von -5 durch Speichern von Zahlen zwischen 14 und 4 im Zähler angegeben. Die Zahl 9 entspricht der O-Linie zwischen den Schellengrenzen. Eine größere Zahl als 9, die kleiner oder gleich 14 ist, weist auf die Abtastung in einer Richtung hin, während eine kleinere Zahl als 9, die größer oder gleich 4 ist, eine Abtastung in entgegengesetzter Richtung andeutet.
Nachdem das Vorzeichenbit des Abtastrichtungszählers im Zustand 924 im Richtungsregister gespeichert wurde, wird der jeweilige Abtastwert in den vorhergehenden Abtastregisterstand gemäß dem Zustand 925 geladen. Dann erfolgt ein Transfer zur Verzweigung A, um wiederum das Auftreten eines Zeile-38-Signals im Zustand 905 zu untersuchen.
Ist der Absolutwert des Differenzregisterinhalts 1, dann erfolgt ein Transfer vom Zustand 922 zum Zustand 926, um das Vorzeichen des Differenzregisterinhalts zu überprüfen. Ist das Vorzeichen negativ, dann wird der Inhalt des Abtastrichtungszählers im logischen Zustand 927 untersucht. Enthält der Zähler die Zahl 5, dann erfolgt ein direkter Transfer in den Zustand 924. Ist jedoch eine kleinere Zahl als 5 im Abtastrichtungszähler gespeichert, dann wird dessen Zählerstand im logischen Zustand 928 um eins erniedrigt, bevor ein Transfer in den Zustand 924 durchgeführt wird.
6098 1 3/0757
25A0101
Ist das Vorzeichen des Differenzregisterinhalts positiv, dann erfolgt ein Transfer vom Zustand 926 in den Zustand 929, in dem wiederum der Inhalt des Abtastrichtungszählers untersucht wird. Enthält der Zähler die Zahl 5, dann erfolgt wie zuvor ein direkter Transfer in den Zustand 924.
Als zusätzliche Hilfe für den Ausgabevorgang kennzeichnet die Steuerung 111 zusammen mit der Steuerung 131 das Ende eines Wortes oder das Ende einer Satzbedingung, wenn ein Zwischenraum zwischen Zeichenfolgen auftreten sollte.
Der Zeilenzähler 123 aus Figur 2 ist insbesondere ein Umlauf zähler, der ununterbrochen im Rhythmus der Abtastfrequenz während eines Abtastvorganges zählt und alle 38 Zählungen einen Impuls auf der Leitung 142 zur Kennzeichnung eines Äbtastvorgangendes an die Steuerung 111 liefert und sowohl den Dekodierer 125 als auch das Register 156 entsprechend der Abtastfrequenz höherstellt. Da das Register 156 nur nach dem Ende einer Zeichenabtastung beladen wird, enthält dieses die Anzahl der Zeilen von der Spitze der Anordnung 50 bis zu dem abzutastenden Zeichenfuß.
Gibt die Steuerung 111 einen Ladebefehl BBLD auf der Leitung 158 an den Zwischenspeicher 159, dann wird der sonst nur beim Aufsuchen eines Zeichengebietes verwendete Inhalt des Registers 156 auf der Leitung 161 über einen Zeichenfuß-
609 813/0757
dekodierer 150 und anschließend auf der Leitung 149 zu einem internen Zeichenfußzwischenspeicher in der Steuerung 111 übertragen. Während der Verarbeitung der Zeicheninformation überlagert die Steuerung 111 kontinuierlich die Zeichenfußzwischenspeicherinformation, so daß der interne Zeichenfußzwischenspeicher jeweils nur die zum Entscheidungszwischenspeicher 122 übertragene, den letzten Zeichenkode betreffende Information enthält.
Am Ende einer Zeichenfolge, die durch ein Ende eines Äbtastvorgangssignals ohne ein Zeichenanwesenheitssignal angezeigt wird, fragt die Steuerung 111 einen Zeichenanwesenheitszähler ab, ob ein Zeichenanwesenheitssignal während sechs aufeinanderfolgender Abtastvorgänge vorlag. War dies der Fall, dann befragt die Steuerung 111 einen nicht dargestellten weißen Zwischenraumzähler, ob drei aufeinanderfolgende weiße Zwischenräume erkannt wurden. Wurden drei weiße Zwischenräume gemeldet, dann verarbeitet die Steuerung 111 die dem letzten im RAM 132 gespeicherten Zeichen entsprechende Zeichenfußinformation. Diese Information dient als Bezugslage, von der aus ein Zeichengebiet untersucht wird.
Die Steuerung 111 vergleicht die Zeichenfußdaten mit Freimachkriterien. Liegt beispielsweise der Zeichenfuß tiefer als die obersten zwanzig Zeilen der Anordnung 50, dann bewirkt das Auffinden von zwanzig aufeinanderfolgenden weißen Zeilen oberhalb der untersten Zeile des letzten Zeichens ein
609S 13/0757
Freimachsignal auf der Leitung 173 von der Steuerung 111 zum Zwischenspeicher 122. Es können vom Zeichen getrennte schwarze Gebiete oberhalb der untersten Zeile des letzten Zeichens auftreten. Liegen zwischen diesen Gebieten und der untersten Zeile des letzten im RAM 132 gespeicherten Zeichens zwanzig weiße Zeilen, dann wird ein Freimachsignal erzeugt. Liegt der Zeichenfuß des letzten Zeichens innerhalb der abgetasteten obersten zwanzig Zeilen, dann werden nur die ersten oder obersten zwanzig Zeilen weiterverarbeitet. Sind die obersten zwanzig Zeilen vollständig weiß, dann wird ein Freimachsignal erzeugt.
Trifft keines der beiden Kriterien nach dem Auffinden von drei aufeinanderfolgenden weißen Zwischenräumen zu, dann liefert die Steuerung 111 auf der Leitung 174 ein Ausgangssperrsignal, das den Ausgang der Steuerung 131 zur Ausgabeeinheit sperrt. Die Steuerung 131 arbeitet jedoch weiter, da nur ihr Eingang gesperrt ist.
Der Unterschied zwischen einem weißen Zwischenraum und einem freigemachten Raum ist hiermit deutlich. Der im Zwischenspeicher 122 gespeicherte freigemachte Raum stellt einen Zeichenkode dar, der ein Ausgangssignal in Form einer Zeichenentscheidung von der Steuerung 131 an die Ausgabeeinheit bedeutet. Ein freigemachter Raum liefert somit eine Zeichenentscheidung aus zehn weißen Spalten, während ein
609813/0757
weißer Zwischenraum lediglich drei vertikale Videodatenspalten zwischen benachbarten Zeichen einschließt.
Erfindungsgemäß wird somit ein Zeichenerkennungssystem vorgeschlagen, bei dem der von einer Anordnung von Photosensoren erzeugte kontinuierliche Videodatenfluß ohne Zwischenspeicherung im Rhythmus der Zeichenabtastung an eine Zeichenerkenrungskette übertragen wird.
Es werden aus den Videodaten mit der Zeilenabtastfrequenz Zeichenkodes erzeugt, die zur Zeichenerkennung an eine sequentielle Entscheidungskette mit in keiner bestimmten Ordnung zu durchlaufenden logischen Verknüpfungen oder Zuständen gelegt wird. Die logischen Zustände sind durch logische Zweige untereinander verbunden, wobei jeder Zustand durch einen Zustandsübergang von jedem anderen Zustand gegetrennt ist. Der Entscheidungsfluß der Kette kann somit logische Zweige schneiden oder zu vorherigen Zuständen zurücklaufen, um die Vielfältigkeit der Entscheidungskette zu vergrößern und Redundanzen äußerst klein zu halten.
Zusammen mit der sequentiellen Entscheidungskette arbeiten logische Schaltungen zur gesteigerten Zuverlässigkeit der Zeichenerkennung, welche zwischen Zeichen oder Symbolen, Zeichenbestandteilen und Zwischenräumen im betrachteten Gebiet unterscheiden.
6098 1 3/0757
Während ein sich über die Anordnung der Photosensoren bewegendes Zeichen wiederholt abgetastet wird, erfolgt eine Zeichenentscheidung aufgrund der am häufigsten erzeugten Zeichenidentifizierung vor dem Verlassen des Sichtfeldes. Abtastrichtungs- und vertikale Lagedaten werden gleichzeitig mit der endgültigen Zeichenentscheidung als Ausgabehilfe ausgegeben.
8098 13/0757

Claims (13)

  1. Ansprüche
    (\y Automatisches Zeichenerkennungs-System mit einer in einer bestimmten Folge abtastbaren, zweidimensionalen, aus Zeilen und Spalten bestehenden Anordnung von Photosensoren zur Zeilenabtastung eines im Sichtfeld der Anordnung liegenden Schriftstücks und zur Erzeugung einer Folge von binären Datenworten im Rhythmus der Zeilenabtastung, welche schwarze Abschnitte und freie Zonen eines im Sichtfeld liegenden Zeichens enthalten, gekennzeichnet durch eine Einrichtung zur Erzeugung eines eine zuvor festgelegte Beziehung zwischen den schwarzen Abschnitten in einer Zeile bezeichnenden Merkmalkodes im Rhythmus der Zeilenabtastung, durch eine Erkennungseinrichtung zur Aufnahme der Merkraalkodes im Rhythmus der Zeilenabtastung für die Bildung eines Zeichensignalkodes während jedes Abtastvorgangs aus einer eindeutigen Folge der Merkmalkodes, und durch eine Entscheidungseinrichtung zur Erzeugung eines Zeichenerkennungssignals aus den aufeinanderfolgenden Zeichensignalkodes der Erkennungseinrichtung während der Anwesenheit eines Zeichens im Sichtfeld.
  2. 2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Erzeugungseinrichtung für den Merkmalkode ein die Merkmalkodes als Zustände gespeichert enthaltender ROM ist.
    6098 13/0757
  3. 3. Vorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Erkennungseinrichtung zur Aufnahme der binären Datenworte einen elektrisch angeschlossenen Dekodierer, ein digitales Register und einen mit dem Dekodierer und dem Register verbundenen ROM aufweist.
  4. 4. Vorrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Erkennungseinrichtung einen ROM mit einem binären Datenworteingang und mit einer Vielzahl von untereinander verbundenen, in keiner bestimmten Ordnung angeordneten logischen Zuständen aufweist, die alle mittels eines Zustandstransfers untereinander erreichbar sind.
  5. 5. Vorrichtung nach einem der Ansprüche 1 bis 4, gekennzeichnet durch eine jederzeit verwendbare und rekursive sequentielle Entscheidungskette mit einer Vielzahl von Ausgabeverzweigungen zur Ausgabe von Entscheidungen, durch Einrichtungen zum wiederholten Abtasten eines Flächenmusters, wobei jede Abtastung eine Reihe von im Abstand zueinander angeordneter Pfade mit verhältnismäßig hoher Geschwindigkeit im Vergleich zur Geschwindigkeit des Flächenmusterwechsels durchläuft, durch Einrichtungen zur Erzeugung von unterschiedlichen Merkmalsbedingungen für jedes der vielen unterschiedlichen, beim Abtasten gefundenen Zeichenmerkmale, durch Einrichtungen zur sequentiellen Übertragung der Bedingung an die Entscheidungskette, durch
    609813/Ü 757
    Einrichtungen zum Zählen der Anzahl der Zeichenentscheidung während der Anwesenheit eines Zeichens im Sichtfeld, und durch Einrichtungen zur Anzeigung einer häufiger als irgendeine andere Zeichenentscheidung auftretenden Zeichenentscheidung während der Anwesenheit des Zeichens ist.
  6. 6. Vorrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß zu jeder Verzweigung der Entscheidungskette Zugriff mittels einer einen einzelnen Zustandstransfer bewirkenden Steuerung besteht.
  7. 7. Vorrichtung nach einem der Ansprüche 1 bis 6, gekennzeichnet durch Einrichtungen zum rasterartigen Abtasten der Anordnung in einer bestimmten Reihenfolge und mit einer verhältnismäßig hohen Abtastfrequenz im Vergleich zur Relativbewegung eines Zeichengebietes gegenüber der Anordnung zur Erzeugung eines die Schwarz/weiß-Information jeder einzelnen Zeile enthaltenden Vielbit-binären-Datenwortesf durch Einrichtungen zur Erzeugung eines jedem von der Anordnung erzeugten binären Datenwort entsprechenden Merkmalkodes im Rhythmus der Zeilenabtastung, durch Einrichtungen zur Erzeugung eines Zeichenkodes entsprechend einer Folge von während einer vollständigen Abtastung der Anordnung erzeugten Merkmalkodes, durch Einrichtungen zur Verarbeitung der von den mittleren Spalten der Anordnung erzeugten binären Daten zur Bildung von auf eine Zeichenanwesenheit oder auf freie Bereiche hinweisenden Signale,
    6098 1 3/Ü757
    durch eine Erkennungssteuerung zur vielfachen Abfragung des Zeichenkodes in einer auf einen Zeichenausdruck ausgerichteten Weise zur Sperrung des Ausgangs der Steuerung für die Bildung eines Zeichenkodes beim Auftreten von Freiräumen zwischen den Zeichen und zum Rückstellen des Systems, wenn der Zeichenkode die vielfachen Abfragen nicht erfüllt, und durch eine zweite Steuerung zur Identifizierung eines Zeichens aus einer Folge von Zeichenkodes, die mit einer einer vollständigen Abtastung der Anordnung entsprechenden Frequenz aufgenommen und in Abhängigkeit von einem das Sichtfeld der Anordnung durchlaufenen Zeichen erzeugt werden.
  8. 8. Vorrichtung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß die Einrichtung zur Erzeugung eines Merkmalkodes einen ROM mit einem binären Datenworteingang aufweist, welcher jede mögliche Beziehung von Linienabschnitten eines Druckzeichens als Zustände gespeichert enthält.
  9. 9. Vorrichtung nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß die Einrichtung zur Erzeugung eines Zeichenkodes einen elektrisch in einer geschlossenen Schleife mit einem digitalen Ausgaberegister verbundenen ROM aufweist, der von einem binären Datenwort adressierbar ist und den Merkmalkode und eine im Register gespeicherte,
    6G9813/U757
    einen letzten zuvor adressierten logischen Zustand des ROM identifizierende Zustandszahl enthält und worin der ROM eine Kette von durch logische Zweige miteinander verbundene, in keiner bestimmten Ordnung angeordnete logische Zustände aufweist, die durch einen Zustandstransfer für jeden anderen logischen Zustand zugreifbar sind, wobei eine Vielzahl von logischen Zweigen von den am Ende eines Entscheidungspfades liegenden logischen Zuständen zu Zeichenkodeentscheidungszuständen führen und wobei der Entscheidungspfad durch das im Sichtfeld der Anordnung liegende Zeichen bestimmt ist.
  10. 10. Vorrichtung nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß die Einrichtung zur Datenverarbeitung einen ROM mit einer Vielzahl von eine Suchkette bildenden geordneten logischen Zuständen, einen elektrisch mit der Anordnung und dem ROM verbundenen Dekodierer, und ein in einer geschlossenen Schleife elektrisch mit dem ROM verbundenes digitales Register aufweist, wobei der ROM durch ein binäres Datenwort mit der Abtastfrequenz adressierbar ist, welches ein binäres, einen Zeichenbereich oder eine Freizone bezeichnendes binäres Signal vom Dekodierer, binäre von den mittleren Spalten der Photosensoren erzeugte Signale und ein letzter-Zustand-Ausgangssignal entsprechend dem Registerinhalt enthält.
    609813/U757
  11. 11. Vorrichtung nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß die zweite Steuerung zwei mittels einer logischen Schaltung verbundene RAMs und einen elektrisch mit einem der beiden RAMs verbundenen, jeweils um eins erhöhbaren digitalen Zähler enthält, wobei der erste RAM zur Aufnahme der Folge der Zeichenkodes dient und der zweite RAM durch jeden der Zeichenkodes indirekt adressierbar ist.
  12. 12. Vorrichtung nach einem der Ansprüche 1 bis 11, gekennzeichnet durch eine Einrichtung zur Erzeugung eines Zeichenkodes mit einer sequentiellen Entscheidungskette zur Anzeige einer Zeichenerkennung und zur Identifizierung eines Zeichens aus einer Folge von Merkmalskodes, die während eines vollständigen Abtastvorgangs der Anordnung von der Merkmalskodeerzeugungseinrichtung erzeugt wurden, durch eine mit der Abtastfrequenz arbeitende Zeichenerkennungseinrichtung zur Verarbeitung der Videodaten für die Anzeige einer Zeichenanwesenheit oder von Freiräumen zwischen den Zeichen und zur Anzeige des Endes einer Zeichenabtastung, durch Zeichenentscheidungseinrichtungen zur Erzeugung eines abschließenden Zeichenidentifizierungssignals basierend auf den am häufigsten auftretenden Zeichenkodes während der Anwesenheit eines Zeichens im Sichtfeld der Anordnung, durch eine Zeichenidentifizierungssteuerung zum Anlegen von an ein Druckzeichen angepaßte Zeichenhöhenbedingungen an einen Zeichenkode und zum Verwerfen des Zeichenkodes bei Nichtübereinstimmung
    609813/0757
    mit den Zeichenhöhenbedingungen, zum Auswählen eines Zeichenkodes in Abhängigkeit von der größten während einer vollständigen Abtastung der Anordnung festgestellten Höhe, zum Verwerfen von mehrfachen Zeichenkodes, die einer einzigen
    während einer vollständigen Abtastung auftretenden Höhe zugeordnet sind, zum Verwerfen von während eines vollständigen Abtastvorgangs erzeugten Zeichenkodes, falls nicht gleichzeitig ein Zeichenanwesenheitssignal von der Zeichenerkennungseinrichtung vorliegt, und zum Sperren des von der Zeichenkodeerzeugungseinrichtung stammenden Ausgangssignals zur Zeichenerkennungseinrichtung im Falle eines Verwerfens, durch mit der Zeichenidentifizierungssteuerung in Verbindung stehende Einrichtungen zum Aufsuchen der vertikalen Lage eines Zeichens in Unterstützung einer Ausgabeeinrichtung und zur Verhinderung von Zeichenzerlegungen, durch Zeichenzwischenraumerkennungseinrichtungen zum Sperren des Ausgangs der Zeichenkodeerzeugungseinrichtung im Falle eines freien Raumes zwischen einer
    Folge von Zeichen und zum Anlegen eines Zeichenzwischenraumkodes an die Zeichenentscheidungseinrichtung, und
    durch eine mit der Anordnung und der Zeichenentscheidungseinrichtung elektrisch verbundene Abtastrichtung-Erkennungseinrichtung zur Feststellung der Abtastrichtung der Anordnung .
    609813/0757
    2540107
  13. 13. Verfahren zur automatischen Zeichenerkennung mittels einer Vorrichtung nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, daß eine zweidimensionale Anordnung von Photosensoren rasterartig in einer bestimmten Folge mit einer Abtastfrequenz abgetastet wird, die gegenüber der Relativbewegung zwischen einem abzutastenden Zeichen und der Anordnung verhältnismäßig hoch ist, daß die von der Anordnung gelieferten binären Videodaten mit der Abtastfrequenz ohne Zwischenspeicherung zur Erzeugung von Merkmalkodes für
    jede einzelne Abtastung verarbeitet werden, daß eine sequentielle Entscheidungsverarbeitung einer von einem vollständigen Abtastvorgang erzeugten Folge von Merkmalkodes
    zur Bildung eines Zeichenkodes erfolgt, der eine eindeutige Beziehung zu der Folge der Merkmalkodes darstellt, und
    daß ein Zeichen aus einer Folge von in wiederholten Abtastvorgängen erzeugten Zeichenkodes während der Anwesenheit des Zeichens im Sichtfeld der Anordnung identifiziert wird.
    su:hu:bü
    6098 13/0757
DE2540101A 1974-09-13 1975-09-10 Verfahren zum automatischen Erkennen von Zeichen mittels eines optischen Zeichenlesers Expired DE2540101C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/505,931 US4075605A (en) 1974-09-13 1974-09-13 Character recognition unit

Publications (2)

Publication Number Publication Date
DE2540101A1 true DE2540101A1 (de) 1976-03-25
DE2540101C2 DE2540101C2 (de) 1984-04-12

Family

ID=24012474

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2540101A Expired DE2540101C2 (de) 1974-09-13 1975-09-10 Verfahren zum automatischen Erkennen von Zeichen mittels eines optischen Zeichenlesers

Country Status (9)

Country Link
US (1) US4075605A (de)
JP (1) JPS6156553B2 (de)
BE (1) BE831012A (de)
DE (1) DE2540101C2 (de)
FR (1) FR2284932A1 (de)
GB (1) GB1498221A (de)
IT (1) IT1035144B (de)
NL (1) NL175471C (de)
SE (3) SE427511B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2836725A1 (de) * 1977-08-22 1979-03-08 Recognition Equipment Inc Zeichenerkennungseinheit

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52137939A (en) * 1976-05-14 1977-11-17 Toshiba Corp Patrern reading device
US4200393A (en) * 1976-06-07 1980-04-29 Tokyo Shibaura Elecric Co., Ltd. Method of positioning a semiconductor member by examining it and a die bonding apparatus using the same
JPS53102634A (en) * 1977-02-18 1978-09-07 Toshiba Corp Optical character reader
US4180799A (en) * 1978-04-21 1979-12-25 Caere Corporation Apparatus and method for recognizing characters
JPS54163331U (de) * 1978-05-09 1979-11-15
US4326190A (en) * 1978-08-30 1982-04-20 Borland David L Boundary trace slope feature detection system
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
CA1164086A (en) * 1979-04-23 1984-03-20 Recognition Equipment Incorporated Image processing integrated circuit
US4514815A (en) * 1979-07-27 1985-04-30 Honeywell Information Systems Inc. Computerized system and method of material control
AU533978B2 (en) * 1979-11-16 1983-12-22 Tokyo Electric Co. Ltd. Character reader
US4499595A (en) * 1981-10-01 1985-02-12 General Electric Co. System and method for pattern recognition
JPS5975375A (ja) * 1982-10-21 1984-04-28 Sumitomo Electric Ind Ltd 文字認識装置
US4551850A (en) * 1983-02-07 1985-11-05 Pattern Processing Technologies, Inc. Response detector for pattern processing system
JPH0634236B2 (ja) * 1985-11-02 1994-05-02 日本放送協会 階層型情報処理方法
EP0324767A1 (de) * 1986-09-18 1989-07-26 Hudson-Allen Limited Digitale verarbeitung von messfühlersignalen zum lesen von binären speichermitteln
US4876730A (en) * 1987-02-25 1989-10-24 Lundy Electronics & Systems, Inc. Optical character reader with skew recognition
JPH07104909B2 (ja) * 1987-03-04 1995-11-13 シャープ株式会社 文字認識方法
US5119441A (en) * 1989-03-28 1992-06-02 Ricoh Company, Ltd. Optical character recognition apparatus and method using masks operation
US5875264A (en) * 1993-12-03 1999-02-23 Kaman Sciences Corporation Pixel hashing image recognition system
US6594503B1 (en) 2000-02-02 2003-07-15 Motorola, Inc. Communication device with dial function using optical character recognition, and method
US7392287B2 (en) * 2001-03-27 2008-06-24 Hemisphere Ii Investment Lp Method and apparatus for sharing information using a handheld device
US8091784B1 (en) 2005-03-09 2012-01-10 Diebold, Incorporated Banking system controlled responsive to data bearing records
JP5098504B2 (ja) * 2007-08-09 2012-12-12 富士通株式会社 文字認識プログラム、文字認識装置および文字認識方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1150235B (de) * 1956-04-02 1963-06-12 Ibm Deutschland Verfahren und Anordnung zum Erkennen von Schriftzeichen

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL128938C (de) * 1957-12-23
US3585592A (en) * 1968-02-29 1971-06-15 Nippon Electric Co Character recognition system with character edge detection capability
USB618016I5 (de) * 1968-11-29
US3573730A (en) * 1969-10-15 1971-04-06 Ibm Stored logic recognition device
US3755780A (en) * 1971-06-28 1973-08-28 Pattern Analysis & Recognition Method for recognizing characters
US3873972A (en) * 1971-11-01 1975-03-25 Theodore H Levine Analytic character recognition system
FR2191788A5 (de) * 1972-06-30 1974-02-01 Honeywell Bull
US3868635A (en) * 1972-12-15 1975-02-25 Optical Recognition Systems Feature enhancement character recognition system
US3909785A (en) * 1973-11-12 1975-09-30 Amperex Electronic Corp Apparatus for recognizing hand printed characters
US3930229A (en) * 1974-01-31 1975-12-30 Stanford Research Inst Handwriting system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1150235B (de) * 1956-04-02 1963-06-12 Ibm Deutschland Verfahren und Anordnung zum Erkennen von Schriftzeichen

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1959 Proceedings of the Eastern Joint Computer Conference, S.218-224 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2836725A1 (de) * 1977-08-22 1979-03-08 Recognition Equipment Inc Zeichenerkennungseinheit

Also Published As

Publication number Publication date
SE427511B (sv) 1983-04-11
FR2284932A1 (fr) 1976-04-09
JPS6156553B2 (de) 1986-12-03
SE7502837L (sv) 1976-03-15
US4075605A (en) 1978-02-21
FR2284932B1 (de) 1982-03-05
JPS5138933A (de) 1976-03-31
NL175471C (nl) 1984-11-01
IT1035144B (it) 1979-10-20
SE7900992L (sv) 1979-02-05
GB1498221A (en) 1978-01-18
NL175471B (nl) 1984-06-01
NL7504413A (nl) 1976-03-16
BE831012A (fr) 1976-01-05
SE7900991L (sv) 1979-02-05
DE2540101C2 (de) 1984-04-12

Similar Documents

Publication Publication Date Title
DE2540101A1 (de) Automatisches zeichenerkennungs- system
DE1549930C3 (de) Einrichtung zum Erkennen vorzugsweise handgeschriebener Schriftzeichen
DE2228526C3 (de) Verfahren und Anordnung zum Lesen und Decodieren von Strichmarken-Gruppen, die Daten in codierter Form darstellen
DE2801536C2 (de) Zeichenformkodiervorrichtung
DE3633743C2 (de)
DE1250166B (de) Vorrichtung zur maschinellen Zeichen erkennung
DE2640537A1 (de) Verfahren und vorrichtung zum unterscheiden zwischen n groesser als 2 alphabeten angehoerenden zeichen
DE2557553A1 (de) Verfahren und anordnung zur bilddatenverdichtung und -reexpansion
DE2616753B2 (de) Vorrichtung zum Lesen von strichkodierten Informationen
DE2740105A1 (de) Optische zeichenerkennungseinrichtung
DE2126817A1 (de) Verfahren und Anordnung zur auto matischen Zeichenerkennung
DE3322443A1 (de) Mustererkennungsvorrichtung
DE2829808A1 (de) Verfahren und vorrichtung zum lesen von zeichen
DE2836725A1 (de) Zeichenerkennungseinheit
DE2629590A1 (de) Schaltungsanordnung zur trennung aufeinanderfolgender muster bei der zeichenerkennung
DE2435889B2 (de) Verfahren und einrichtung zur unterscheidung von zeichengruppen
DE1212758B (de) Verfahren und Schaltungsanordnung zur maschinellen Erkennung von Schriftzeichen
DE3026055C2 (de) Schaltungsanordnung zur maschinellen Zeichererkennung
DE2064469A1 (de) Mustererkennungseinrichtung
DE2159307A1 (de) Verfahren und schaltung zur durchfuehrung dieses verfahrens zur zentrierung eines in die auswerteinrichtung einer zeichenerkennungsmaschine eingegebenen zeichens
DE3414455C2 (de) Verfahren und Vorrichtung zum Lesen und Verarbeiten von Information, die aus dekodierbarer Schriftinformation und/oder nichtdekodierbarer Graphikinformation besteht
DE1524416A1 (de) Anordnung zur Auswahl von Datenreferenzen zum Quervergleich mit einem unbekannten Datensatz
DE1449584A1 (de) Anordnung zur UEbertragung von Daten einer Loch- oder Magnetkarte in eine Datenverarbeitungsanlage oder umgekehrt
DE2230265C2 (de) Verfahren zur Verminderung von Redundanz in der von einem Abtastrasterbereich einer Zeichenerkennungseinrichtung gelieferten Datenmenge und Einrichtung zu dessen Durchführung
DE2718569A1 (de) Verfahren und anordnung zum erkennen gedruckter zeichen

Legal Events

Date Code Title Description
8125 Change of the main classification

Ipc: G06K 9/78

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee