DE3926327C2 - Verfahren und System zum Erkennen von Zeichen auf einem Medium - Google Patents
Verfahren und System zum Erkennen von Zeichen auf einem MediumInfo
- Publication number
- DE3926327C2 DE3926327C2 DE3926327A DE3926327A DE3926327C2 DE 3926327 C2 DE3926327 C2 DE 3926327C2 DE 3926327 A DE3926327 A DE 3926327A DE 3926327 A DE3926327 A DE 3926327A DE 3926327 C2 DE3926327 C2 DE 3926327C2
- Authority
- DE
- Germany
- Prior art keywords
- character
- block
- text
- line
- characters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/414—Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/28—Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Character Input (AREA)
- Character Discrimination (AREA)
Description
Die Erfindung bezieht sich auf das Gebiet der optischen
Zeichen-Erkennungssysteme und insbesondere auf ein Verfahren
und eine Anordnung zum Erkennen von Zeichen auf einem Medium
nach den Oberbegriffen der Ansprüche 1 und 5.
Eine Anzahl optischer Zeichen-Erkennungssysteme (OCR-Sy
steme) sind bekannt. In typischer Ausführung weisen derarti
ge Systeme einen Scanner zum Abtasten einer Seite eines ge
druckten Textes und zur Durchführung einer Zeichenerkennung
an einem Bit-mapped Bild des Textes auf (vgl. R. ZIMMERMANN:
"Automatische Erkennung von Schriftzeichen", VDI-Z 115
(1973) Nr. 11, August, Seiten 875-885). Die Zeichen können
danach in einer Datei eines Computersystems zur Weiterverar
beitung durch ein Textverarbeitungsprogramm oder ähnliches
gespeichert werden.
Einige bekannte OCR-Systeme enthalten einen Handscanner
zum Abtasten einer Seite. Bei derartigen Systemen streicht
die Bedienungsperson bei der Durchführung der Abtastung mit
dem Handgerät über den gedruckten Text auf der Seite, wobei
normalerweise das Abtasten graphischer oder nicht-Text-ent
haltender Abschnitte auf der Seite vermieden wird. Normaler
weise wird die Seite in der Weise abgetastet, in der sie
normalerweise gelesen wird (d. h. das Scannen erfolgt entlang
der Spalten und spaltenweise von links nach rechts).
Andere bekannte Systeme enthalten eine Entscheidungsein
richtung, die zum Feststellen und Angeben derjenigen Teile
des Textes benutzt werden kann, welche von dem OCR-System zu
verarbeiten sind. Einige dieser Systeme sind in der Lage,
graphische Abschnitte der angezeigten Seitenzonen von Text
abschnitten zu unterscheiden. Derartige Systeme bedingen je
doch dennoch einen manuellen Eingriff zum Markieren des Tex
tes in der Richtung oder Reihenfolge des normalen Lesens und
zum Markieren von Graphikabschnitten.
Andere Systeme machen von einer Registrierungsmarke zum
Anzeigen des Beginns von Textspalten Gebrauch. Diese Systeme
erfordern ebenfalls noch manuelle Eingriffe zum Setzen von
Registrierungsmarken.
K. Y. Wong, R. G. CASEY und F. M. WAHL beschreiben in dem Auf
satz "Document Analysis System", IBM J. Res.Develop., Vol.
26, No. 6, Nov. 1982, Seiten 647-656, ein OCR System, das in
der Lage ist, eine Seite mit gemischten Text- und nicht-
Text-Informationen abzutasten und zu erkennen, sowie zwi
schen Text- und nicht-Text-Bereichen zu unterscheiden.
Bekannte optische Zeichen-Erkennungssysteme können in
zwei Kategorieren eingeteilt werden. Optische Zeichen-Erken
nungssysteme der ersten Kategorie erkennen entweder eine
einzelne Schriftart oder eine begrenzte Anzahl von Schrift
arten, und ihre Eingabe ist gewöhnlich beschränkt auf eine
Schriftart mit konstantem Zeichenabstand bei einer speziel
len Punktgröße. Optische Zeichen-Erkennungssysteme der zwei
ten Kategorie werden typischerweise als Allschriftsysteme
(omnifont systems) bezeichnet. Derartige Systeme sind in der
Lage, eine große Anzahl von Schriftarten in einem großen Be
reich von Punktgrößen entweder konstanten oder proportiona
len Abstandes zu erkennen. Generell sind optische Zeichen-
Erkennungssysteme, die eine große Anzahl von Schriften er
kennen können, nicht in der Lage, Dokumente mit hohen Ge
schwindigkeiten zu verarbeiten, wie sie beispielsweise bei
Systemen zur Erkennung einer begrenzten Anzahl spezieller
Schriften realisierbar sind.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren
und eine Anordnung zum Erkennen von Zeichen auf einem Medium
mit erhöhter Genauigkeit bei der Zeichenerkennung zu schaf
fen.
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren
mit den Merkmalen des Anspruchs 1 sowie mit der im Anspruch
5 angegebenen Anordnung gelöst. Vorteilhafte Weiterbildungen
der Erfindung sind in den Unteransprüchen gekennzeichnet.
Die Erfindung vereinigt die bisher als gegensätzlich an
gesehenen Eigenschaften der Erkennung irgendeiner Anzahl von
Schriftarten und der raschen Dokumentenverarbeitung.
Das erfindungsgemäße optische Zeichen-Erkennungssystem
weist eine Scannereinrichtung zum Abtasten eines Dokumentes
und zum Erzeugen eines Bit-mapped Bildes des Dokuments auf.
Die Scannereinrichtung ist mit einem Computersystem gekop
pelt, das einen Speicher zur Speicherung des Bit-mapped Bil
des und einen Prozessor zum Verarbeiten des Bit-mapped Bil
des und zur Ausgabe von Daten aufweist, die die Zeichen auf
der abgetasteten Seite darstellen.
Die Erfindung wird vorteilhaft mit Verfahrensschritten
verwendet, die das Abtasten der Seite und die Erkennung und
Ausgabe von Zeichen auf der Seite in einer Reihenfolge er
möglicht, welche logisch die gleiche Reihenfolge ist, die
eine die Seite lesende Person verfolgen würde. Dies ge
schieht durch Parsing (automatische Zergliederung mittels
Struktur-Analyse) der Seite in eine Vielzahl von Blöcken und
Ausgabe der Blöcke an einen Zeichen-Erkennungsprozeß in ei
ner Reihenfolge, die gewöhnlich die logische Lesefolge auf
der Seite ist.
Sinnvollerweise wird ein Zeichen-Erkennungsverfahren aus
einer Kombination eines Schablonen-Anpaßprozesses und eines
Merkmalsanalyseprozesses eingesetzt. Der Merkmalsanalysepro
zeß ermöglicht die Zeichenerkennung auf der Basis ihrer For
men. Unter Verwendung des Merkmalsanalyseprozesses ist es
möglich, Zeichen in einer beliebigen Anzahl unterschiedli
cher Schriften zu erkennen. Durch Verwendung des Schablonen-
Anpaßprozesses ist in Verbindung mit dem Merkmalsanalysepro
zeß ein vernünftiger Dokumentendurchsatz möglich, und zwar
ohne die Notwendigkeit einer Schablonenbibliothek.
T. BAYER, K.-H. BLÄSIUS beschreiben in ihrem Aufsatz
"Regelgesteuerte Zeichenerkennung und Dokumentklassifikati
on" Mustererkennung 1987, 9. DAGM-Symposium Braunschweig,
Springer-Verlag, Seite 88, eine Kontextanalyse, die den Kon
text von Einzelzeichen im Text analysiert, um Fehler in der
Einzelzeichenklassifikation zu beheben. Ansatzpunkte sind
hierbei geometrische Zusammenhänge in Layoutstrukturen, die
etwa eine Korrektur von Groß- in Kleinbuchstaben erlauben
oder unsichere Klassifikationsergebnisse zu sicheren Ent
scheidungen umformen. Mit N-Grammen und Wörterbüchern lassen
sich die Textinhalte auf orthographische Fehler oder Segmen
tierfehler untersuchen und verbessern.
Erfindungsgemäß wird von einem Kontext-Analyseprozeß Ge
brauch gemacht, der räumliche Informationen über die Text
zeilen sowie genuine Attribute der Schriftzeichen verwendet.
Das Zeichen-Erkennungsverfahren wird durch eine iterati
ve Auflösung von Mehrdeutigkeiten in der Form vervollstän
digt, wodurch die Zahl der typographischen oder seman
tischen (Schreib- oder Bedeutungs-)Fehler minimiert wird. Die
restlichen Unstimmigkeiten werden als Identifizierungen auf
geringem Zuverlässigkeitsniveau gekennzeichnet.
Angegeben werden außerdem einige Techniken zur Erzeugung einer
Schablonenübereinstimmung, z. B. die Erzeugung von Darstellun
gen von Zeichen mit Bits in einem Bit-mapped Bild des Zei
chens, die für das zu erkennende Zeichen dunkel- oder ausge
schaltet sein müssen, sowie zur Erzeugung von Darstellungen
mit Bits, die ein- oder hellgeschaltet sein müssen. Diese
Technik ermöglicht die Erkennung von Zeichen innerhalb gewis
ser Toleranzen. Außerdem wird ein Verfah
ren zur Zeichenerkennung unter Verwendung von Zeichenschablo
nen (character templates) für den Fall beschrieben, daß Zeichen eng zusam
mengerückt sind.
Außerdem wird die Verwendung mehrerer Routinen bei dem Merk
malsanalyseprozeß beschrieben. Jede dieser Routinen dient der
Erkennung einer Zeichenform. Angegeben werden Verfahren zur
Beschreibung von Zeichen mit statistischer Information und zur
Anpassung von Polygonen an verschiedene Erscheinungsformen des
Zeichens. Auf der Basis dieser statistischen Information und
der Polygone können Merkmalsanalyseprozesse die Formen der
Zeichen erkennen.
Beschrieben werden außerdem Verfahren zur Unterscheidung von
Text und Graphik auf einem Dokument. Während einer Dokumenten
verarbeitung zum Zwecke der Zeichenerkennung werden Graphik
enthaltende Zonen eines Dokuments identifiziert, die während
des Erkennungsprozesses außer Betracht bleiben.
Angegeben werden auch Möglichkeiten zur Messung der relativen
Beschaffenheit, Struktur bzw. Textur kleiner Zonen des Doku
ments, um festzustellen, ob die Zone Text oder Graphik ent
hält.
Im folgenden wird die Erfindung anhand von in der Zeichnung
schematisch dargestellten Ausführungsbeispielen näher erläu
tert. In der Zeichnung zeigen:
Fig. 1 ein Gesamtablaufdiagramm des optischen Zei
chen-Erkennungsverfahrens;
Fig. 2(a) ein Ablaufdiagramm eines Gesamt-Parsingver
fahrens bei dem optischen Zeichen-Erkennungs
verfahren gemäß Fig. 1;
Fig. 2(b) ein Ablaufdiagramm eines Seiten-Parsingver
fahrens;
Fig. 2(c) ein Ablaufdiagramm eines Block-Parsingverfah
rens;
Fig. 2(d) ein Ablaufdiagramm eines Zeilen-Parsingver
fahrens;
Fig. 3(a) einen Teil einer Seite, wie sie mit dem be
schriebenen Zeichen-Erkennungsverfahren ver
arbeitet werden kann;
Fig. 3(b) ein Bit-mapped Bild des Teils der Seite gemäß
Fig. 3(a);
Fig. 4 ein Ablaufdiagramm eines Verfahrens zur Er
zeugung eines Text-Map-Feldes;
Fig. 5 ein Ablaufdiagramm eines Verfahrens zur Ent
zerrung einer Seite;
Fig. 6 ein Ablaufdiagramm eines Verfahrens zur Loka
lisierung von Wegen auf einer abgetasteten
Seite;
Fig. 7 ein Blockdiagramm, das zwei Datenstrukturen
darstellt;
Fig. 8 ein Ablaufdiagramm eines Verfahrens zur Loka
lisierung von Blöcken;
Fig. 9 eine erste Seitenabbildung, unterteilt in
mehrere Blöcke;
Fig. 10(a) eine zweite Seitenabbildung, unterteilt in
mehrere Blöcke;
Fig. 10(b) eine zweite Darstellung der zweiten Seitenab
bildung, wie sie abgetastet
werden kann;
Fig. 11(a) ein Gesamtablaufdiagramm eines Zeichen-Erken
nungsverfahrens, das bei der Erfindung ver
wendbar ist;
Fig. 11(b) ein Ablaufdiagramm eines Schablonenanpaßpro
zesses;
Fig. 12(a) eine Darstellung eines Bit-mapped Bildes
eines Zeichens;
Fig. 12(b) eine Darstellung einer zweiten Version des
Bit-mapped Bildes eines Zeichens;
Fig. 13 ein Ablaufdiagramm eines Merkmalsanalysepro
zesses;
Fig. 14(a) eine Darstellung eines ersten Zeichenfen
sters;
Fig. 14(b) eine Darstellung eines zweiten Zeichenfen
sters;
Fig. 14(c) ein Polygonanpaßverfahren; und
Fig. 15 ein Ablaufdiagramm eines Kontext-Analysepro
zesses.
In der folgenden Beschreibung werden zahlreiche Einzelheiten,
wie Pixeldichten, Bytegrößen usw. angegeben, um das Verständ
nis für die Erfindung zu vertiefen. Es ist jedoch für den
Fachmann klar, daß die Erfindung auch ohne diese besonderen
Einzelheiten realisiert werden kann. In anderen Fällen werden
bekannte Schaltungen, Strukturen und Techniken nicht im ein
zelnen beschrieben, um die Erfindung nicht mit unnötigen Er
läuterungen zu belasten.
Im folgenden wird auf Fig. 1 Bezug genommen. Dort ist ein
Gesamtablaufdiagramm des erfindungsgemäßen Verfahrens gezeigt.
Erfindungsgemäß wird zunächst eine Seite abgetastet, Block
101. Wie beschrieben werden wird, ist die Erfindung zum Tren
nen und Übersetzen des Textes auf einer Seite nicht nur dann
in der Lage, wenn die Seite ausschließlich Text enthält, son
dern auch dann, wenn die Seite eine Kombination von Text- und
sonstigen Zonen enthält. Außerdem braucht die Erfindung keine
manuellen Eingriffe zur Anzeige der normalen Reihenfolge des
Lesens des Textes.
Nach dem Abtasten der Seite wird die Seite geparst (syntaxana
lisiert), Block 102. Das Parsing der Seite wird weiter unten
genauer beschrieben und kann generell in die Funktionen des
Seiten-Parsing, des Block-Parsing und des Zeilen-Parsing un
terteilt werden. Nach dem Parsing der Seite werden die Formen
der einzelnen Zeichen mit Hilfe eines Zeichen-Erkennungspro
zesses, Block 103, festgestellt. Die Erfindung ist in der
Lage, Zeichen einer beliebigen Anzahl von Schriftarten zu
erkennen.
Ein als Kontextanalyse bezeichneter Vorgang dient zur Prüfung
der relativen Größen und Positionen der während des Zeichen-
Erkennungsprozesses festgestellten Formen, um den Text in
Worte zu unterteilen und Unsicherheiten der Form zu klären,
Block 104.
Schließlich werden die erkannten Zeichen für die Ausgabe for
matiert, Block 105.
Das beschriebene Verfahren und die Einrichtung sind in der
bevorzugten Ausführung so konzipiert, daß sie in Verbindung
mit im Handel erhältlichen Mikroprozessoren mit 32-Bit-Adreß
räumen arbeiten. Beispiele für solche Mikroprozesoren sind die
unter den Warenzeichen Motorola 68020 und Intel 80386 erhält
liche Mikroprozessoren.
Es ist für den Fachmann klar, daß die Erfindung mit einer
beliebigen Anzahl durchaus unterschiedlicher Computersysteme
mit einem Prozessor und einem Speicher realisiert werden
kann.
Als Scanner kann einer der verschiedenen bekannten Scanner
oder ein zukünftig noch zu entwickelnder Scanner eingesetzt
werden. Die Erfindung ist konzipiert dafür, daß sie in Verbin
dung mit einem Scanner arbeitet, der eine Seite gedruckter
Information abzutasten vermag und ein Bit-mapped Bild der
Seite erzeugt. Vorzugsweise können bei der Erfindung preisgün
stige optische Scanner in Verbindung mit ebenfalls preisgün
stigen Personal Computersystemen verwendet werden, um das
optische Zeichen-Erkennungssystem kostengünstig und wirt
schaftlich zu machen.
Nach der Abtastung einer Seite wird ein Bit-mapped Bild der
Seite im Speicher eines Computersystems oder in anderen zur
Speicherung von Bit-mapped Bildern geeigneten Systemen gespei
chert. Gemäß Fig. 2(a) beginnt der Parsing-Prozeß mit dem
Seitenparsing, Block 201. Der Seiten-Parsingvorgang arbeitet
an dem Bit-mapped Bild und teilt die Seite in eine Vielzahl
von Blöcken. Beim Seiten-Parsingprozeß wird versucht, die
nicht-leeren Teile der Seite in eine Vielzahl von Blöcken zu
unterteilen und zwischen Text und nicht-Text oder Graphik zu
unterscheiden. Mit dem Seiten-Parsing wird versucht, sicherzu
stellen, daß ein einzelner Block entweder nur Text oder nur
nicht-Text enthält. Nicht-Text-Blöcke werden von der Weiter
verarbeitung ausgeschlossen.
Bei dem Seiten-Parsingprozeß, Block 201, wird die Struktur
oder Textur des abgetasteten Bildes zum Trennen von Text und
Graphik und zur Feststellung des Vorhandenseins von Spalten
und Kopfzeilen analysiert. Auf der Basis eines normalisierten,
zweidimensionalen Maßstabs der örtlichen Dichte von schwarz-
weiß-Übergängen werden Bereiche auf der Seite entweder als
Graphik, als Text oder als Linien charakterisiert. Die Be
reiche werden dadurch in Blöcke gruppiert, daß Wege von weißen
Räumen gefunden werden, die Bereiche ähnlicher Textur oder
Beschaffenheit (z. B. mit ähnlicher Dichte von schwarz-weiß-
Übergängen) umgeben. Wenn sie nicht durch Linien oder über
große weiße Räume getrennt sind, werden benachbarte Blöcke mit
ähnlichen Beschaffenheits- und Strukturcharakteristiken und
Ausrichtung zusammengefaßt. Der Seiten-Parsingprozeß, Block
201, analysiert danach die relative Lage von Blöcken, um fest
zustellen, welche Blöcke andere Blöcke nach Zeilenhöhe, Block
breite und Vertikalposition auf der Seite überlappen. Der
Seiten-Parsingprozeß kann danach eine vernünftige Interpreta
tion des Seitenlayout konstruieren. Die endgültige Ausgabe des
Seiten-Parsingprozeßblocks 201 ist ein geordneter Satz von
Blockdeskriptoren, welche die normale Lesefolge nachzeichnen, die
durch das ermittelte Seitenlayout impliziert wird.
Ein Block-Parsingprozeßblock 202 analysiert die schwarz-weiß-
Übergänge zur Berechnung des Grades des Versatzes (skew) und
zur Lokalisierung horizontaler Wege, welche einen vorgegebenen
Textblock in einzelne Textzeilen unterteilen. Der Block-Par
singprozeß, Block 202, bestimmt Vertikallinien und eliminiert
die Linien von der weiteren Verarbeitung.
Der Zeilen-Parsingprozeß, Block 203, sucht jede Zeile von links
nach rechts ab und lokalisiert vertikale Freiräume. Derartige
vertikale Freiräume trennen typischerweise einzelne Worte und
Zeichen voneinander. Die von Leerstellen bzw. Freiräumen ge
trennten Abschnitte werden vom linken Ende jeder Zeile aus
verarbeitet und für die Erkennungsroutinen in einen Puffer
übertragen.
Ein Zeichen-Erkennungsalgorithmus, Block 103, verarbeitet die
gepufferten Abschnitte und versucht, einzelne Zeichen zu er
kennen. Wie genauer unter Bezugnahme auf den Zeichen-Erken
nungsverarbeitungsabschnitt erläutert werden wird, werden
unerkannte Zeilenabschnitte einer Anzahl von Verarbeitungs
schritten unterworfen, um eine Zeichenerkennung zu erreichen.
Ein "Delinierungs"-Verfahren lokalisiert und löscht Unter
streichungen und horizontale Striche für die Zei
chenerkennung. Ein "Entschnörkelungs"-Prozeß scheidet Zeichen
aus, welche durch gewundene Freiräume getrennt sind. Ein "Ab
schwächungs"-Prozeß löscht "Pfeffer und Salz"-Hintergrund
strukturen. Ein "Ausdünnungs"-Prozeß wirkt einer übermäßigen
Komprimierung der Zeichen entgegen und macht die Zeichen er
kennbar. Ein "Flick"-Prozeß bessert leicht unterbrochene Zei
chenformen aus. Zeilenabschnitte, die auch danach noch uniden
tifiziert bleiben, werden in einem Zurückweisungs-Cachespei
cher zur späteren Verarbeitung durch einen "Seitenanpaß"-Pro
zeß und einen Kontext-Analyseprozeß, Block 104, gepuffert.
Im folgenden wird auf Fig. 2(b) Bezug genommen, in der ein
Ablaufdiagramm des Seiten-Parsingprozesses genauer dargestellt
ist. Zweck des Seiten-Parsingprozesses ist die Annahme des
Bit-mapped Seitenbildes als Eingabe und die Erzeugung einer
geordneten Liste von Textblöcken als Ausgabe. Nach dem Abta
sten einer Seite wird eine Bit-mapped Abbildung der Seite
erzeugt. Aus dieser Bit-mapped Abbildung werden drei Felder
erzeugt, Block 212.
Bei dem bevorzugten Ausführungsbeispiel wird das Seitenbild
mit einer Auflösung von 300 Punkten pro Zoll abgetastet, und
der Parsing-Prozeß erzeugt seine Felder durch Analysieren
jeder achten Abtastzeile des Bildes bzw. der Abbildung der
Seite. Es wurde experimentell festgestellt, daß die Abtastung
der Seite an jeweils der achten Abtastzeile (alle 8/300 eines
Zolls bei dem beschriebenen Ausführungsbeispiel) eine ausrei
chend gute Auflösung zur Lokalisierung und Einordnung von
besetzten Bereichen auf der Seite ergibt. Die Verwendung nur
jeweils der achten Abtastzeile des Bildes reduziert die Pro
zeßzeit und die Speicheranforderungen beträchtlich. Es ist
jedoch für den Fachmann klar, daß andere Abtastzyklen im Rah
men der Erfindung verwendet werden können.
Im folgenden wird auf Fig. 3(a) Bezug genommen, in der ein
vergrößerter Bereich einer Seite 300 gezeigt ist. Der Bereich
der Seite 300 stellt eine Zone einer Seite dar, die bei dem
beschriebenen Ausführungsbeispiel in vierzig Zeilen abgetastet
ist. Jedes der Quadrate, beispielsweise Quadrat 301, stellt
eine Zone von acht Abtastzeilen Höhe und acht Bits Breite dar.
Der dargestellte Bereich der Seite 300 ist fünf Quadrate hoch
und vier Quadrate breit.
In Fig. 3(b) ist ein Bit-mapped Bild desselben Bereichs einer
Seite gezeigt. Fig. 3(a) und 3(b) sind charakteristisch für
ein bei optischen Zeichen-Erkennungssystemen auftretendes
Problem. Bei derartigen Systemen kann ein Buchstabe, bei
spielsweise der Buchstabe "O" 302 in Fig. 3(a) durch eine
relativ grobe Annäherung des Buchstabens "O", z. B. durch die
Darstellung 312 in Fig. 3(b) repräsentiert werden. Darüberhin
aus können Text und Graphikelemente auf einer einzigen Seite
vermischt sein. So ist beispielsweise das graphische Bild 303
mit dem Text in Fig. 3(a) vermischt. Die äquivalente Bit-map
ped Zone ist bei 313 gezeigt. Es ist für den Fachmann klar,
daß Bilder unter weiteren Problemen der Klarheit und der
Schärfe als Folge der Transformation in eine digitale Bit-map
ped Abbildung leiden können.
Ein durch den Seiten-Parsingprozeß des beschriebenen Ausfüh
rungsbeispiels erzeugtes erstes Feld ist ein horizontales Po
pulationszählfeld. Jedes Element in diesem Feld enthält einen
Zählwert der Zahl von Eins("1")-Bits aus vier aufeinanderfol
genden Bytes (32 Bits aus einer abgetasteten Scanzeile). Daher
ist die durch jedes Element dieses Feldes dargestellte Zone 32
Bits breit und 8 Bits hoch. Bezugnehmend auf Fig. 3(b), haben
die 32 Bits in der Abtastzeile 320 vierzehn 1-Bits. Daher wird
der 8-Bit-hohe mal 32-Bit-breite Bereich in den Blöcken 331,
332, 333, 334 in dem horizontalen Populationszählfeld durch
ein den Wert 14 enthaltendes Element dargestellt, dem Gesamt
zählwert der 1-Bits in der Abtastzeile 320. Die Abtastzeile
321 hat null 1-Bits, Zeile 322 hat neun 1-Bits, Zeile 323 hat
fünf 1-Bits und Zeile 324 hat sechsundzwanzig 1-Bits, und jede
dieser 8-Bit hohen mal 32-Bit breiten Zonen werden im Horizon
talpopulationszählfeld mit entsprechenden Werten dargestellt.
Ein zweites Feld, das bei dem beschriebenen Ausführungsbei
spiel der Erfindung verwendet wird, ist ein Vertikalpopula
tionszählfeld. Jedes Byte im Vertikalpopulationszählfeld ent
hält die Gesamtzahl von Eins ("1")-Bits in vier Bytes, wobei
ein Byte aus jeder der vier aufeinanderfolgend abgetasteten
Scan-Zeilen resultiert. Beispielsweise kann eine Eingabe im
Vertikalpopulationszählfeld Byte 340, 341, 342 und 343 dar
stellen und einen Wert von 4 haben (Byte 340 hat zwei 1-Bits,
Byte 341 hat null 1-Bits, Byte 342 hat zwei 1-Bits und Byte
343 hat null 1-Bits). Bei dem beschriebenen Ausführungsbei
spiel enthält das Vertikalpopulationszählfeld eine Matrix, in
der Zeilen der Matrix die Spalten des Bit-mapped Bildes und
Matrixspalten Zeilen des Bit-mapped Bildes darstellen. Dies
führt zu einer effizienten Verarbeitung bei der Implementie
rung des bevorzugten Ausführungsbeispiels.
Ein drittes Feld bzw. eine dritte Matrix bei dem Seiten-Par
singprozeß des beschriebenen Ausführungsbeispiels ist ein
horizontales Phasenänderungsfeld. Jede Eingabe dieses Feldes
stellt 32 Bits einer Abtastzeile dar, so daß das horizontale
Phasenänderungsfeld die gleichen Abmessungen wie das horizon
tale Populationszählfeld hat. Jedes Feldelement enthält die
Zählung der horizontalen Phasenänderungen (Übergänge zwischen
Durchläufen von Einsen und Durchläufen von Nullen) in den 32
Bits. Die durch jedes Element des horizontalen Phasenände
rungsfeldes dargestellte Zone ist 32 Bits breit und 8 Bits
hoch. So haben beispielsweise die 32 Bits in Zeile 320 sieben
Übergänge von Einsen zu Nullen oder von Nullen zu Einsen, die
32 Bits in Zeile 321 haben keine Übergänge, die 32 Bits in
Zeile 322 haben acht Übergänge, die 32 Bits in Zeile 323 haben
zwei Übergänge und die 32 Bits in Zeile 324 haben zwei Über
gänge.
Auf der Basis der horizontalen Populationszähl- und horizonta
len Phasenänderungsfelder wird ein Text-map-Feld erzeugt,
Block 213. Jedes Element des Text-map-Feldes stellt einen
Bereich von 32 Bits Breite mal 8 Bits Höhe dar.
Im folgenden wird auf Fig. 4 Bezug genommen, in der ein Abl
aufdiagramm zum Konstruieren des Text-map-Feldes dargestellt
ist. Das Text-map-Feld wird durch einen Prozeß aufgebaut, der
jede Spalte des Horizontalpopulationszählfeldes abwärts abta
stet, um nach einem nicht-Null-Element zu suchen, Block 401.
Ein nicht-Null-Element im horizontalen Populationszählfeld
zeigt das Vorhandensein von Text, Graphik oder Linien im ent
sprechenden Feld des Bit-mapped Bildes an. Nach Auffinden
eines nicht-Null-Elements läuft der Prozeß in der Spalte des
Horizontalpopulationszählfeldes abwärts und sucht nach einem
Null-Element. Bei jedem verarbeiteten Element in einem Durch
lauf von nicht-Null-Elementen werden die entsprechenden Hori
zontalphasenänderungszählungen summiert. Der Prozeß zählt auch
die Gesamtanzahl von Elementen in einem Durchlauf von nicht-
Null-Elementen, Block 402.
Wenn die Zahl von Zeilen in einem Durchlauf größer oder gleich
2 und kleiner oder gleich 12 ist, Zweig 403, und die Summe der
Phasenänderungen größer oder gleich 8 und kleiner oder gleich
22 ist, Zweig 404, hat die entsprechende Zone des Bit-mapped
Bildes die Struktursignatur eines Textbereichs. Die Text-map-
Feldelemente entsprechend jedem der Zeilenelemente im Durch
lauf werden auf einen Code gesetzt, der angibt, daß eine Text
zone vorliegt, Block 405. Bei dem beschriebenen Ausführungs
beispiel werden diese Elemente auf einen Wert von TXTX ge
setzt.
Wenn der Zeilenzählwert nicht größer als oder gleich 2 und kleiner
als oder gleich 12 ist, Zweig 406, wird eine Prüfung durchge
führt, um festzustellen, ob der Zeilenzählwert größer als oder
gleich 24 ist, Zweig 407. Wenn der Zeilenzählwert größer
gleich 24 ist, enthält die entsprechende Zone des Bit-mapped
Bildes eine Vertikallinie. Die Text-map-Feldelemente ent
sprechend den Horizontalpopulationszählelementen im Durchlauf
werden auf einen Wert gesetzt, der eine Vertikallinie bezeich
net, Block 408. Bei dem beschriebenen Ausführungsbeispiel
werden diese Elemente auf einen Wert von TXVR gesetzt.
Wenn die Zeilenzählung kleiner als 2 oder zwischen 12 und 24
ist, Zweig 409, ist dies ein Zeichen dafür, daß Graphik vor
handen ist. Die entsprechenden Text-map-Feldelemente werden
auf einen Wert gesetzt, der das Vorhandensein von Graphik
anzeigt, Block 410. Bei dem beschriebenen Ausführungsbeispiel
werden diese Elemente auf einen Wert von TXGR gesetzt.
Wenn die Zeilenzählung zwischen 2 und 12 liegt, der Phasen
änderungszählwert jedoch entweder kleiner als 8 oder größer
als 22 ist, Zweig 411, wird ebenfalls das Vorhandensein von
Graphik angezeigt. Die korrespondierenden Text-map-Feldelemen
te werden auf den Code eingestellt, der angibt, daß die ent
sprechenden Bits des Bit-mapped Seitenbildes Graphik enthal
ten, Block 412.
Wenn das Ende des Horizontalpopulationszählfeldes noch nicht
erreicht worden ist, Zweig 413, wird die spaltenweise Verar
beitung fortgesetzt, wobei nach dem nächsten nicht-Null-Ele
ment gesucht wird, Block 401. Anderenfalls wird der Prozeß
beendet, Zweig 414.
Es wurde experimentell festgestellt, daß der obige Prozeß ein
ziemlich genaues Bild darüber ergibt, ob die Zonen der Bit-
mapped Abbildung Text, Graphik oder vertikale Linien enthal
ten. Typischerweise treten die Zeichen in einem gewöhnlichen
Text in einem weiten Höhenbereich auf, der normalerweise 2 bis
12 abgetastete Scannerzeilen einnimmt. Daher prüft der oben
beschriebene Prozeß Durchlaufzeilenzählwerte von nicht-Null-
Elementen im Bereich von 2 bis 12 Zeilen.
Es wurde außerdem experimentell festgestellt, daß die Gesamt
anzahl von Phasenänderungen in einem vorgegebenen Durchlauf
von nicht-Null-Elementen über einen Zeichengrößenbereich von
angenähert 4 bis 24 Punkten im wesentlichen konstant bleibt,
obwohl Zeichen mit größeren Höhen weniger Phasenänderungen pro
Abtastung als Zeichen geringerer Höhe haben. Daher ist bei dem
beschriebenen Ausführungsbeispiel ein Phasenänderungsgesamt
zählwert bei einem Durchlauf von nicht-Null-Elementen im hori
zontalen Populationszählfeld zwischen 8 und 22 ein Indikator
für gedruckten Text.
Der Seiten-Parsing-Prozeß macht dann einen anderen Durchlauf und
versucht, einen relativ großen Text zu lokalisieren, Block
214. Der Vorgang zum Lokalisieren eines großen Textes läuft im
wesentlichen ebenso wie der zuvor beschriebene Vorgang des
Aufbaus des Text-map-Feldes ab, ausgenommen, daß der Vorgang
zum Lokalisieren eines großen Textes jede vierte Scanzeile und
jedes vierte Element in dem Phasenänderungsfeld prüft. Daher
sucht die Routine für großen Text in dem Bit-mapped Bild mit
1/4 der Auflösung des Prozesses zum Lokalisieren eines Textes
normaler Größe und identifiziert Text bis zu einer vierfachen
Größe des Normaltextes. Bei dem beschriebenen Ausführungsbei
spiel ist der größte, mit dieser Routine auffindbare Text 48
Abtastzeilen hoch. Bei 300 Abtastzeilen pro Zoll entspricht
dies einem Text einer Höhenabmessung von 3,25 cm oder etwa 92
Punkten. Text-Map-Feldzellen entsprechend den Zonen in der
Bit-mapped Seitenabbildung, in denen ein großer Text mit dem
zuvor beschriebenen Prozeß gefunden wurde, werden auf einen
Wert eingestellt, der einen Großtextinhalt kennzeichnet. Bei
dem beschriebenen Ausführungsbeispiel ist dieser Wert TXTH.
In dem Seiten-Parsing Prozeß wird versucht, Blöcke mit nur-
Text von ganz weißen Blöcken, Graphik enthaltenden Blöcken
oder Blöcken mit vertikalen Linien zu trennen. Als Teil dieses
Prozesses wird bei dem beschriebenen Ausführungsbeispiel in
einem Seiten-Parsing Prozeß versucht, den ungefähren Schräg
fehler bzw. Versatz (skew) der Seite zu bestimmen und das
Text-Map-Feld sowie das Vertikalpopulationszählfeld auf einen
derartigen Schrägfehler einzustellen, Block 215.
Im folgenden wird auf Fig. 5 Bezug genommen, in der ein Ab
laufdiagramm des bei dem beschriebenen Beispiel benutzten
Verfahrens zur Entzerrung einer Seite dargestellt ist. Zu
nächst werden Gesamtschrägfehler- und Abtastzählungsvariable
auf Null initialisiert, Block 501.
Im Text-Map-Feld wird danach jede Spalte abwärts abgetastet, um
nach zusammenhängenden Textzellen zu suchen, Block 502. Wenn
zusammenhängende Textzellen lokalisiert sind, wird eine erste
Variable, die benutzt wird, wenn Zellen links der derzeitigen
Textzelle (LEFT) geprüft werden, auf -1 gesetzt. Eine zweite
Variable, die benutzt wird, wenn Zellen rechts der derzeitigen
Textzelle (RIGHT) geprüft werden, wird auf 1 gesetzt, Block
503.
Für jede Textzelle, die der ersten Textzelle im Durchlauf
folgt, werden Zellen links und rechts der Textzelle im Text-
Map-Feld geprüft. Wenn die Zelle links leer ist (d. h. die
Zelle ist nicht als Text-, Graphik- oder Vertikallinien ent
haltende Zelle angegeben, wobei die o. g. TXTX, TXVR, TXTH oder
TXGR-Codes verwendet werden), so wird die Gesamtschrägfehler
-Variable um den Istwert von LEFT inkrementiert, und die Ab
tastzählvariable wird um 1 inkrementiert. Ist die Zelle be
setzt (enthält sie TXTX, TXVR, TXTH oder TXGR), so wird LEFT
auf 1 gesetzt und die Gesamtschrägfehler-Variable und die
Abtastzählwert-Variable werden nicht modifiziert, Block 504.
Wenn die Zelle im Text-Map-Feld rechts von der derzeitigen
Zelle leer ist, so wird die Gesamtschrägfehler- bzw. Gesamt
verzerrungsvariable um den Wert von RIGHT inkrementiert, und
die Abtastzählwert-Variable wird um 1 inkrementiert. Wenn die
Zelle besetzt ist, wird RIGHT of -1 gesetzt, und die Gesamt
schrägfehler-Variable und Abtastzählwert-Variable werden nicht
modifiziert, Block 505.
Wenn mehrere Zellen beim Durchlauf der Textzellen vorhanden
sind, werden die Blöcke 504 und 505 für
diese weiteren Zellen wiederholt, Zweig 506. Anderenfalls,
wenn mehrere Zellen im Text-Map-Feld sind, Zweig 507, werden
sie in einem anderen Durchlauf der Textzellen abgetastet,
Zweig 508. Nach dem Prüfen der gesamten Textabbildung (Text-
Map), Zweig 509, wird ein angenäherter Schrägfehler für die
Seite berechnet, und das Text-Map-Feld und das vertikale Po
pulationszählfeld werden verschoben, um die berechnete Verzer
rung bzw. den berechneten Schrägfehler zu kompensieren, Block
510. Der angenäherte Schrägfehler wird dadurch berechnet, daß
man die Gesamtschrägfehler-Variable durch die Abtastzählung
teilt. Dieser Vorgang führt zu einer Annäherung des Schrägfeh
lers für die Seite als Anzahl der Zeilen pro 4096 Spalten. Die
Text-Map- und Vertikalpopulationszähl-Felder werden danach
ausgerichtet.
Bei dem oben beschriebenen Verfahren der Schrägfehlerjustie
rung wird unterstellt, daß der Text auf einer Seite generell
in horizontalen Zeilen auf der Seite angeordnet ist. Das Text-
Map-Feld, das erfindungsgemäß gewonnen wird, hat eine gute Verti
kalauflösung (bis 1/38 eines Zolls). Wenn eine Seite
einen Schrägfehler hat, so treten Leerzellen an Stellen auf, die
eigentlich Textzellen einnehmen müßten. Das oben beschriebene
Verfahren macht diese Annahmen nutzbar, um den angenäherten
Schrägfehler zu bestimmen.
Nach der Einstellung einer angenäherten Schräglage werden
horizontale und vertikale Verläufe weißer Stellen im Text
lokalisiert, Block 216. Zweck der Lokalisierung dieser Leer
stellenverläufe ist die Trennung von Textblöcken. Bei dem
beschriebenen Ausführungsbeispiel wird das entzerrte Text-map-
Feld nach horizontalen Leerstellenverläufen bzw. horizontalen
weißen Zwischenräumen geprüft (Leerstellen oder weiße Räume
können als Zellen im Text-map-Feld definiert werden, die nicht
mit TXTX, TXVR, TXTH oder TXGR codiert sind). Das erfindungs
gemäße Verfahren betrachtet eine Zone als horizontalen Weg,
wenn ein weißer oder freier Raum existiert, der wenigstens 8
Pixel breit und 192 Pixel in Horizontalrichtung der Seite lang
ist. In ähnlicher Weise werden vertikale Leerraumverläufe oder
Wege unter Verwendung des Text-map-Feldes lokalisiert. Bei dem
bevorzugten Ausführungsbeispiel der Erfindung wird eine Zone
als vertikaler Weg angesehen, wenn er einen Weißraum- oder
Leerraumbereich von wenigstens 16 Pixel Breite und 192 Pixeln
Länge in der Vertikalrichtung der Seite hat. Die oben genann
ten Längen- und Breitenabmessungen für horizontale und verti
kale Wege wurden auf experimentellem Wege von der Anmelderin
bestimmt, um horizontale und vertikale Wege durch gedruckten
Text zu lokalisieren.
Im folgenden wird auf Fig. 6 Bezug genommen, in der ein Abl
aufdiagramm eines Verfahrens zur Lokalisierung von Wegen durch
den Text dargestellt ist. Als erster Schritt bei der Lokali
sierung von Wegen wird ein Verfahren verwendet, durch das
obere, untere, linke und rechte Ränder der Seite effektiv
ignoriert werden, Block 601.
Bei dem bevorzugten Ausführungsbeispiel der Erfindung erfolgt
eine Maskierung der Ränder durch Erzeugung einer Version des
Vertikalpopulationszählfeldes, bei der jede Zelle des Verti
kalpouplationszählfeldes eine 32 × 32 Pixel-Quadratzone des
ursprünglichen Bit-mapped Bildes darstellt. Effektiv stellt
jede Zelle in dieser Version des Vertikalpopulationszählfeldes
vier aufeinanderfolgende Zellen in einer Spalte des ursprüng
lichen Vertikalpopulationszählfeldes dar. Die komprimierte
Version des Vertikalpopulationszählfeldes wird sodann "ver
wischt".
Diese Technik wird bei der Erfindung benutzt, um ein Bild in
einer Anzahl von Richtungen zu verschieben und eine logische
ODER-Operation an dem ursprünglichen Bit-mapped Bild und dem
verschobenen Bit-mapped Bild durchzuführen. Im Ergebnis expan
diert diese Methode Text oder Graphik enthaltende Bereiche,
während die dazwischenliegenden Räume und Grenzbereiche enger
gemacht werden. Die restlichen weißen Randbereiche werden für
das Weg-Auffindungsverfahren im Vertikalpopulationszählfeld
als nicht-verfügbar markiert. Diese Methode wird unter Bezug
nahme auf die Beschreibung der Zeichenerkennung weiter unten
genauer beschrieben.
Danach wird ein Feld, genannt Weg-map-Feld, zur Speicherung
der horizontalen und vertikalen Weginformationen erzeugt,
Block 602. Das Weg-map-Feld hat dieselbe Auflösung wie das
Text-map-Feld. Jede Spalte stellt 32 Bits der aufgenommenen
Scanlinie dar und jede Zeile stellt eine Abtastung bei jeder
achten Scanzeile des Bildes dar. In dem Weg-map-Feld wird die
Existenz eines horizontalen Weges durch Setzen der Bits in
einem Eintrag im Feld angezeigt. Das Vorhandensein eines ver
tikalen Weges wird durch Setzen eines anderen Bits im
Eintrag gekennzeichnet.
Bei dem beschriebenen Ausführungsbeispiel wird als erster
Schritt bei dem Aufbau des Weg-map-Feldes für ein Setzen der
am weitesten links und rechts gelegenen Spalten und der ober
sten und untersten Zeilen des Weg-map-Feldes gesorgt, um das
Vorhandensein von Wegen anzuzeigen. Dieser Schritt stellt
sicher, daß ein Weg, der in den Rand einer Seite mündet, einen
Block erzeugt. Bei vollständiger Besetzung umrandet das Weg-
map-Feld sowohl Text- als auch Graphikblöcke mit horizontalen
und vertikalen Wegen (Freiräumen).
Nach der Erzeugung der Weg-map und der Initialisierung der am
weitesten links und rechts gelegenen Spalten und obersten und
untersten Zeilen der Weg-map werden horizontale Wege erzeugt,
Block 603. Jede Zeile des Text-map-Feldes wird nach aufeinanderfolgenden
leeren Einträgen (d. h. Einträgen, die nicht auf TXTX, TXVR, TXTH
oder TXGR gesetzt sind) abgetastet. Wenn eine Folge eine
Länge von wenigstens einer vorgegebenen Anzahl von Bytes hat,
werden die horizontalen Wegbits in den entsprechenden Einträgen
im Weg-map-Feld gesetzt. Bei dem beschriebenen Ausfüh
rungsbeispiel ist die vorgegebene Anzahl von Bytes 6. Jeder
horizontale Weg, der unter Verwendung dieser Methode gefunden
wird, wird sowohl um eine Spalte nach links von dem horizonta
len Weg als auch um eine Spalte nach rechts von dem horizonta
len Weg ausgedehnt. Dies stellt sicher, daß die horizontalen
Wege an den Blockrändern in vertikale Wege selbst dann über
gehen, wenn sie aus Graphiken oder Kopfzeilen innerhalb von 32
Pixeln links oder rechts vom Rand des Blocks bestehen.
Danach wird das Text-map-Feld abgetastet, um Vertikallinien
aufzufinden (d. h. Einträge, welche auf TXVR gesetzt sind),
Block 604. Die entsprechenden Eingaben im Weg-map-Feld haben
ein gesetztes Bit, das anzeigt, daß es eine vertikale Linie an
dieser Stelle in der Abbildung gibt. Dieses Bit wird bei einer
späteren Verarbeitung geprüft, bei der relativ enge Wege aus
dem Weg-map-Feld eliminiert werden.
Als nächstes werden vertikale Wege in dem Weg-map-Feld er
zeugt, Block 605. Jede Zeile des Vertikalpopulationszählfeldes
wird nach aufeinanderfolgenden leeren Einträgen (entries) abgeta
stet. Wenn eine Folge wenigstens eine vorgegebene Anzahl
von Einträgen lang ist, wird sie als möglicher Vertikalweg ange
sehen. Bei dem beschriebenen Ausführungsbeispiel ist die vor
gegebene Anzahl gleich 6. Wenn ein Ende eines Vertikalweges
nicht mit einem Horizontalweg zusammenfällt, wird der Verti
kalweg abgebrochen, bis er an beiden Enden mit einem Horizon
talweg zusammenfällt. Vertikalwege erstrecken sich stets von
einer Schnittstelle mit einem Horizontalweg zu einer Schnitt
stelle mit einem anderen Horizontalweg.
Die Weg-map wird danach geprüft, und alle Vertikalwege, die
nur einen Eintrag breit sind, werden entfernt, sofern der Eintrag
nicht angibt, daß der Vertikalweg wegen einer entsprechenden
Vertikallinie im Bild bzw. in der Abbildung gesetzt wurde. Die
Weg-map wird dann wiederum abgetastet, und Abschnitte der
horizontalen Wege werden gelöscht, soweit sie nicht in einem
Vertikalweg beginnen und enden, Block 606.
Eine Block-Lokalisierungsroutine, Block 217, benutzt zuvor
durch den Seiten-Parsing-Prozeß gebildete Datenstrukturen,
beispielsweise das Text-map-Feld, und bildet zwei neue Da
tenstrukturen: ein Block-map-Feld und eine Blockliste.
Im folgenden wird auf Fig. 7 Bezug genommen. Das Block-map-
Feld 701 enthält ein Feld mit den gleichen Abmessungen, wie
das Text-map-Feld. Jede 1-Byte-Zelle im Block-map-Feld, bei
spielsweise die Zelle 702, enthält eine Blockzahl für diese
Zelle. Zellen, die noch nicht als Teil eines Blockes bezeich
net worden sind, werden bei dem beschriebenen Ausführungsbei
spiel mit einer 0 gekennzeichnet. Dabei kann es ein Maximum
von 255 Blöcken pro Seitenabbildung geben. Die Blockzahl,
beispielsweise die Blockzahl 1 an der Zelle 702, ist ein Hin
weis in eine Blockliste 703. Jeder Eintrag in der Blockliste
enthält Informationen über jeden Block, z. B. Koordinaten des
Blocks, Spalte 705, Zellenzählinformationen, Spalte 706, und
Abstand zu anderen Blöcken, Spalte 707. Die Koordinateninfor
mationen 705 enthalten Informationen über die obersten, unter
sten, am weitesten links und am weitesten rechts gelegenen
Pixel. Die Zellenzählinformation 706 enthält Informationen
über die Anzahl von Textzellen, die Anzahl großer Textzellen
und die Anzahl graphischer Zellen innerhalb der Grenzen des
Blocks.
Gemäß Fig. 8, auf die jetzt Bezug genommen wird, enthält der
Vorgang des Lokalisierens von Blöcken, d. h. der Vorgang 217
aus Fig. 2, die Schritte einer Block-Auffindungsroutine, wobei
zunächst die Spalten der Weg-map abgetastet werden, Block 801.
Die Block-Auffindungsroutine tastet jede Zelle der Weg-map
nach Zellen ab, welche weder von horizontalen noch von vertikalen
Wegen durchquert werden. Nach dem Auffinden einer Zelle, die
weder von horizontalen noch von vertikalen Wegen durchquert wird,
prüft die Block-Auffindungsroutine die entsprechende Zelle im
Block-map-Feld. Wenn die entsprechende Zelle im Block-map-Feld
unbesetzt ist, d. h. der derzeitige Wert eine 0 ist, so ruft
die Block-Auffindunsroutine eine Block-Zerlegungsroutine auf,
Block 802. Die Block-Zerlegungsroutine prüft das Weg-map-Feld
der untersuchten Zelle zur Ermittlung vertikaler Wege auf den
linken und rechten Seiten dieser Zelle. Die Block-Zerlegungs
routine tastet danach Zeilen des Weg-map-Feldes ab. Für jede
Zeile lokalisiert die Block-Zerlegungsroutine vertikale Wege
auf der linken und rechten Seite jeder Zelle über der laufen
den Zelle. Wenn die Block-Zerlegungsroutine eine Zelle lokali
siert, deren linker oder rechter Rand entsprechend dem Verlauf
der Vertikalwege von dem linken oder rechten Rand der laufen
den Zelle um mehr als eine Zelle differiert, so erzeugt die
Block-Zerlegungsroutine einen horizontalen Weg an dieser Zel
le. Die Block-Zerlegungsroutine arbeitet sich in ähnlicher
Weise in der Spalte der laufenden Zelle abwärts, um die unter
ste Zeile des derzeitigen Blocks zu bestimmen. Dieser Vorgang
erzeugt einen etwa rechteckigen Block, der mit der weiter
unten beschriebenen erfindungsgemäßen Methode weiter verarbei
tet wird.
Nachdem die Block-Zerlegungsroutine die linken, rechten, obe
ren und unteren Ränder eines etwa rechteckigen Zellenblocks
bestimmt hat, schließt sich eine Block-Statistikroutine an,
Block 803, die zum Markieren anderer als zu dem gleichen Block
gehöriger Zellen verwendet wird. Die Block-Statistikroutine
markiert jede Zelle im Block-map-Feld, die von den linken,
rechten, obersten und untersten Wegen des aktuellen Blocks als
zum aktuellen Block gehörig begrenzt sind. Außerdem zählt die
Block-Statistikroutine die Anzahl von Text- und Graphikzellen
im aktuellen Block durch Prüfung des Text-map-Feldes. Die
relative Anzahl von Textzellen gegenüber Graphikzellen dient
zur Feststellung, ob der Block als Text- oder Graphikblock für
die Weiterverarbeitung zu klassifizieren ist. Die Block-Sta
tistikroutine sammelt außerdem Informationen über die mittlere
Länge von Folgen belegter Zellen im Text-map-Feld für
jede Spalte im Block. Diese Information dient zur Feststellung
der angenäherten Höhe der Zeichen in den Textblöcken. Die
Block-Statistikroutine bildet außerdem ein Histogramm der Anzahl der
Folgen von belegten Zellen in den Spalten des Text-map-
Feldes. Der Medianwert in diesem Histogramm ist eine Nähe
rung für die Anzahl von Textzeilen in dem Block. Die Block-Sta
tistikroutine berechnet auch die extrem linken, rechten, ober
sten und untersten Koordinaten des Blocks. Wie oben gesagt,
werden die oben angegebenen Koordinaten-, Zählwert- und Sta
tistikinformationen in der Blockliste gespeichert, Block 703.
Wie oben gesagt, läßt die hier verwendete Blockliste nur 255
Einträge zu. Die Anzahl von Einträgen ist bei dem beschriebenen
Ausführungsbeispiel beschränkt, um eine gewisse Verarbeitungs
effizienz zu ermöglichen. Es ist jedoch für den Fachmann klar,
daß eine andere Anzahl von Einträgen in der Blockliste benutzt
werden kann, ohne vom Erfindungsgedanken abzuweichen. Bei dem
beschriebenen Ausführungsbeispiel wird der Prozeß mit
einer größeren Vertikalwegbreite zur Bestimmung der Blockgren
zen wiederholt, wenn mehr als 255 Blöcke unter Verwendung des
zuvor beschriebenen Prozesses ermittelt werden. Es ist außerd
em klar, daß die Erfindung eine andere Breite für die horizon
talen und vertikalen Wege vorsehen könnte.
Nach Beendigung der Verarbeitung eines ersten Blocks wird die
Block-Auffindungsroutine, Block 801, fortgesetzt, wenn weitere
Zellen zur Verarbeitung übrig bleiben, Zweig 804. Nach der
Beendigung der Verarbeitung aller Zellen im Block-map-Feld,
Zweig 806, ist der Vorgang der Blocklokalisierung beendet.
Danach werden die Blöcke gruppiert, Block 218. Die Blöcke
werden entsprechend ihrer Relativanordnung, ihrer Inhalte
(Graphik oder Text) und ihrer Textur bzw. Beschaffenheit
(Schriftgröße und Zeilenabstand) geordnet. Die Blockgruppie
rungsinformation wird in einer Gruppenliste aufgezeichnet.
Jedem Block in der Blockliste wird eine Gruppennummer zugeord
net. Die Gruppennummer dient als Index für die Gruppenliste.
Für jeden Block in der Blockliste wird das Block-map-Feld
über, unter, links und rechts von dem Block abgetastet.
Blöcke, die von unterschiedlicher Art oder Beschaffenheit bzw.
Struktur sind, werden nicht zusammengruppiert. Außerdem werden
solche Blöcke nicht zusammengefaßt, die mehr als einen vorge
gebenen Vertikalabstand oder mehr als einen vorgegebenen Hori
zontalabstand entfernt voneinander angeordnet sind.
Im folgenden wird auf Fig. 9 Bezug genommen, in der ein Bei
spiel für die Blockgruppierung gezeigt ist. Beispielsweise
sind die Blöcke 1, 6 und 11 als Gruppe 1, 901, zusammengefaßt.
In dem speziellen Beispiel können diese Blöcke beispielsweise
eine Überschrift für die Seite enthalten. Eine Überschrift ist
häufig durch höhere Schrifttypen als der Rest des Textes auf
der Seite unterschieden. Wegen der unterschiedlichen Schrift
größe werden diese Blöcke zusammengruppiert und nicht den
restlichen Blöcken auf der Seite zugeschlagen.
Blöcke 2, 3, 4 und 5 sind als Gruppe 2, 902, zusammengruppiert.
Das erfindungsgemäße Verfahren prüft Blöcke, die einem aktuel
len Block benachbart sind, um festzustellen, ob der Horizon
talabstand H 903 größer als sein vorgegebener Wert ist. Bei
dem beschriebenen Beispiel ist dieser vorgegebene Wert 6 Zel
lenspalten. Da der Horizontalabstand H 903 zwischen Block 2
und Block 7 größer als der vorgegebene Horizontalabstands
grenzwert ist, sind Blöcke 7 und 8 nicht mit Gruppe 1 zusam
mengruppiert.
Blöcke 7 und 8 sind als Gruppe 3 zusammengefaßt, 904. Blöcke 9
und 10 sind separat von den Blöcken 7 und 8 gruppiert und als
Gruppe 4, 906, bezeichnet, da der Vertikalabstand 905 zwischen
Block 8 und Block 9 einen vorgegebenen Grenzwert übersteigt.
Bei dem beschriebenen Beispiel ist die vorgegebene Grenze für
den Vertikalabstand zwischen Blöcken 12 Zellenzeilen. Blöcke
12, 13, 14 und 15 sind als Gruppe 5, 907, zusammengruppiert.
Block 16 ist separat als Gruppe 6, 909 gruppiert. Block 16 ist
nicht mit Blöcken 12, 13, 14 und 15 gruppiert, da es
einen Graphikblock 908 gibt.
Die Erfindung ermöglicht außerdem die Feststellung von Rändern
von Spalten auf einer Seite durch Prüfen aufeinanderfolgender
Blöcke in Seiten-Abwärtsrichtung, wodurch festgestellt wird,
ob der linke Rand jedes Blocks angenähert mit dem darunterlie
genden Block ausgerichtet ist und ob der Block vertikal inner
halb eines vorgegebenen Abstands von dem Nachbarblock liegt.
Wenn der Block nicht angenähert ausgerichtet mit dem darunter
liegenden Block ist, oder der Block nicht den vorgegebenen
Abstand von seinem Nachbarn hat, wird angenommen, daß die
Blöcke nicht in einer Spalte liegen.
Nachdem die Blöcke gruppiert worden sind, wird das Block-map-
Feld unter Verwendung der Gruppennummern anstatt der Block
nummern in jedem Element des Block-map-Feldes wieder aufge
baut. Dadurch reduzieren sich die nachfolgenden Verarbeitungs
erfordernisse.
Nach der Beendigung der Blockgruppierung werden die Blöcke für
die Ausgabe an die Zeilen-Parsingroutinen, Block 219, geord
net. Der Zweck der Anordnung der Gruppen für die Ausgabe be
steht darin, daß Gruppen an die Zeilen-Parsingroutinen in der
logischen Ordnung ausgegeben werden, in der sie auch gelesen
würden. Im folgenden wird auf Fig. 10(a) Bezug genommen, in
der ein Blockdiagramm mit dem Seitenbild bzw. der Seitenabbil
dung, bestehend aus 7 Textblöcken, gezeigt ist. Die Seitenab
bildung enthält eine Kopf- oder Überschriftzone 1001 und 3
logische Textspalten.
Als erster Schritt bei der Anordnung von Gruppen für die Aus
gabe werden die vertikal benachbarten Blockgruppen lokali
siert. Unter Verwendung der die Lokalisierung von vertikal
benachbarten Blöcken betreffenden Informationen wird ein Baum
konstruiert, der die Blöcke verknüpft. Jeder Verzweigungspunkt
im Baum stellt einen Text- oder Graphikblock dar und enthält
Hinweise auf bis zu 8 Blöcke über ihm. Wenn mehr als ein
Block über dem aktuellen Block ist, sind die Hinweise so ange
ordnet, daß Blöcke von links nach rechts geordnet werden. Die
Wurzel des Baums ist am Seitenende. Jedem Block ist ein Ver
zweigungspunkt auf der Basis einer links-nach-rechts-Baum-
Durchquerungsreihenfolge zugeordnet. Verzweigungspunkt 0 ist
die Wurzel.
Wie in Fig. 10(a) dargestellt ist, bildet der Knoten 1 1011
eine erste Vertikalgruppe 1002. Knoten 2 1001, Knoten 3 1013,
Knoten 4 1014 und Knoten 5 1015 können eine zweite Vertikal
gruppe 1003 bilden, die im wesentlichen der ersten Verti
kalgruppe benachbart ist. Knoten 6 1016 und Knoten 0 1010
können eine dritte Vertikalgruppe 1004 bilden, die der
zweiten Vertikalgruppe im wesentlichen benachbart ist.
Um die Ausgabereihenfolge der Blöcke zu bestimmen, wird der
Baum von links nach rechts durchlaufen, und jedem Zweig des
Baums wird bis zu dessen Ende gefolgt, wobei jeder Nebenast
von links nach rechts verfolgt wird. Generell wird ein Knoten
am Ende eines Zweiges zuerst ausgegeben, und Knoten von jedem
Zweig eines Unterbaums werden ausgegeben, bevor der Wurzel
knoten für diesen Unterbaum ausgegeben wird.
So wird unter Bezugnahme auf Fig. 10(a) die normale Ausgabe
folge für die Blöcke 0 bis 6 dadurch bestimmt, daß der Baum
vom Block 0 (der Wurzel), 1010, aus zum ersten Knoten auf der
linken Seite, Block 5, 1015, durchschritten wird. Vom Block 5
1015 abzweigende Knoten werden danach von links nach rechts
durchschritten. Daher ist Block 1 1011 der nächstgeprüfte
Knoten. Da keine Blöcke vom Block 1 1011 abzweigen, ist dieser
Block als der erste Block bezeichnet, der vom Baum abgetrennt
und zu den Zeilen-Parsingroutinen geschickt werden soll. Der
nächste vom Block 5 1015 abzweigende Knoten ist Block 4 1014.
Daher wird Block 4 1014 als nächster verarbeitet. Block 4 1014
hat Zweige. Daher wird er durchschritten und als nächstes wird
Block 2 1001 geprüft, da er vom Block 3 1013 abzweigt. Wenn es
keine anderen Blöcke gibt, die vom Block 2 1001 abzweigen, ist
Block 2 1001 die nächste Block-Ausgabe an die Zeilen-Parsing
routinen. Block 3 1013, der keine Zweige hat, ist der nächste,
an die Zeilen-Parsingroutinen auszugebende Block, gefolgt vom
Block 4, 1014. Da es keine weiteren Blöcke gibt, die vom Block 5
1015 abzweigen, ist dieser Block die nächste Blockausgabe an
die Zeilen-Parsingroutinen. Der Wurzelknoten 1010 wird weiterhin
von links nach rechts durchlaufen, und Block 6 1016 wird verarbeitet. Da
auch hier keine Blöcke vom Block 6 1016 abzweigen, ist letz
terer der nächste Block, der zu den Zeilen-Parsingroutinen
geschickt wird. Schließlich gibt es keine weiteren von dem
Wurzelknoten 1010 abzweigenden Blöcke, und der Wurzelknoten
wird zu den Zeilen-Parsingroutinen übertragen.
Bei der Blockverarbeitung werden die als Graphikblöcke be
zeichneten Blöcke zwar in den oben beschriebenen Durchlauf-
und Sortierprozeß eingebunden, jedoch nicht zu den Zeilen-Par
singroutinen übertragen.
Bei Verwendung des oben beschriebenen Verfahrens zur Blockaus
gabe an den Zeilen-Parser sind gewisse Seitenlayouts besonders
fehleranfällig. So können beispielsweise in dem Seitenlayout
gemäß Fig. 10(a) die Blöcke 2 und 3 Kopfetiketten sein. In
einem solchen Fall würde die logische Lesefolge der Seite von
den aus dem oben beschriebenen Prozeß gewonnenen Resultaten
abweichen. Daher wird die Ausgabereihenfolge von Blöcken bei
dem beschriebenen Ausführungsbeispiel der Erfindung durch eine
rekursiv aufrufende Routine umgeordnet. Die Routine wird für
jeden Knoten mit mehr als einem Aufwärtszweig aufgerufen. Bei
dem Beispiel gemäß Fig. 10(a) würde beispielsweise die Routine
aufgerufen, wenn Block 5 1015 und der Wurzelblock 1010 verar
beitet werden.
Die Rekursivroutine findet den oberen Block jedes Zweiges.
Beginnend mit dem am weitesten links gelegenen Zweig prüft die
Routine die Knoten an dem nächsten Zweig rechts. Wenn das
obere Ende eines Knotens des rechts gelegenen Zweiges auf der
Seitenabbildung höher als die obere Zeile eines Knotens des
linken Zweiges ist (entweder überlappt der rechte Knoten den
linken Knoten, oder das untere Ende des rechten Knotens liegt
oberhalb des oberen Endes des linken Knotens), so wird der
Unterbaum in dem rechten Zweig auf den linken Zweig ver
pflanzt. Dieser Vorgang wird für jeden Knoten wiederholt, der
die o. g. Kriterien erfüllt.
So liegen beispielsweise sowohl Knoten 2 1001 als auch Knoten
3 1013 über dem Knoten 1 1011, so daß Knoten 3 1013 für die
Zwecke der Ausgabe an die Block-Parsingroutinen auf Knoten 1
1011 umgepflanzt wird. Der nach der Bearbeitung durch diese
Rekursivroutine gewonnene Baum ist in Fig. 10(b) gezeigt. In
Fig. 10(b) wurden die Blocknummern neu zugeordnet, und zwar in
einer links nach rechts-Baum-Durchlaufreihenfolge. Die neuen
Blocknummern zeigen die Reihenfolge der Ausgabe an die Seiten-
Parsingroutinen. Die Blöcke werden an die Seiten-Parsing
routinen ausgegeben, beginnend mit Block 1 1001, danach Block
2 1013, Block 3 1011, Block 4 1014, Block 5 1015, Block 6
1016 und schließlich der Wurzelknoten, Block 0 2020. Die logi
sche Verknüpfung zwischen den Blöcken wurde am Zweig 1020
geändert.
Eine Anzahl abschließender Einstellungen werden als Teil des
Seiten-Parsing-Prozesses durchgeführt. Diese Einstellungen
umfassen Prozesse zum weiteren Verschmelzen benachbarter
Blöcke, nachdem die Block-Ausgabereihenfolge bekannt ist,
Vergrößern von Blöcken bis hinein in den den Block umgeben
denen weißen Raum, Konstruieren eines Modells der Seitenabbil
dung, das die Lage und Reihenfolge der Textblöcke zeigt, neues
Schrägstellen der Block-map- und der Wege-map-Felder zur Um
kehr der Verzerrungskorrektur des früheren Prozesses und den
Aufbau eines Blockdeskriptorfeldes mit beschreibenden Informa
tionen über jeden Block.
Wesentlich ist, daß das Modell der Seitenabbildung mit der
Platzierung und Reihenfolge der Textblöcke auf einem Gerät,
beispielsweise an einem Graphikterminal von dem Benutzer
sichtbar gemacht werden kann. Der Benutzer kann dann die Aus
gabereihenfolge der Blöcke wahlweise ändern. Dieses Verfahren
ermöglicht dem Benutzer die Korrektur der Ausgabereihenfolge
der Blöcke, soweit die Seiten-Parsingroutinen unrichtige An
nahmen bezüglichen der logischen Lesefolge der Seite gemacht
haben.
Jeder von der Seiten-Parsingroutine erzeugte Block wird an
die Block-Parsingroutine in der gewünschten Reihenfolge weiter
geleitet. Die Block-Parsingroutine versucht, jeden Block in ein
zelne Textzeilen zu zerlegen. Die Block-Parsing
routinen verwenden von den Seiten-Parsingroutinen und dem
Bit-mapped Bild des Eingangsblocks aufgebaute Datenstrukturen
zum Isolieren einzelner Zeilen und zum Hinzufügen von Daten zu
der Block-Beschreibungsinformation in der Blockliste. Die zur
Blockliste hinzugefügten Daten enthalten Informationen, welche die
äußerst linke Spalte im Block, die Breite des Blocks, die Höhe
des Blocks, die Anzahl von Zeilen im Block und die Startzei
lennummer identifizieren.
Nach Empfang eines Eingangsblocks berechnet die Block-Parsing
routine den Schrägfehler des Blocks, Block 221 der Fig. 2(c).
Der Schrägfehler des Blocks wird auf der Basis einer detail
lierten Analyse der Phasenänderungszählungen in dem Horizon
talphasenänderungsfeld berechnet. Als nächstes werden einzelne
Zeilen isoliert, Block 222, und zwar durch Prüfen des Bit-map
ped-Bildes für den Block in Verbindung mit der Phasenände
rungszählungsanalyse, um die Lage des möglicherweise schrägge
stellten horizontalen weißen Raums zu bestimmen, der die Zei
len voneinander trennt.
Der Block-Parsing-Prozeß trennt und zerschneidet die Zeilen,
Block 223, durch Lokalisierung von Horizontalwegen des gering
sten Widerstandes, die der berechneten Schräglage am nächsten
kommen. Der im wesentlichen horizontale Wege, der Textzeilen
trennt, kann von Buchstaben unterbrochen sein, die Unter- oder
Oberlängen haben. Beispielsweise haben die Kleinbuchstaben
"g", "j", "p", "q" und "y" alle Unterlängen. Die Block-Par
singroutine schneidet um solche Buchstaben herum, um sicherzu
stellen, daß die Unterlängen derartiger Buchstaben in der
richtigen Zeile zurückbleiben, wenn die Zeile an die Zeilen-
Parsingroutinen weitergegeben wird.
Immer wenn die Block-Parsingroutine nicht in der Lage ist, ein
Hindernis innerhalb gegebener Toleranzen zu vermeiden oder zu
umfahren, mißt die Block-Parsingroutine die Abmessungen des
Hindernisses, um festzustellen, ob das Hindernis eine Verti
kallinie ist. Wenn das Hindernis eine Vertikallinie ist, wird
es gelöscht. Wenn das Hindernis keine Vertikallinie ist,
durchschneiden die Block-Parsingroutinen das Hindernis. Ein
zelzeilen werden getrennt und für die Weiterverarbeitung durch
die Zeilen-Parsingroutinen gepuffert, Block 224.
Jede Zeilenausgabe aus den Block-Parsingroutinen dient als
Eingabe für die Zeilen-Parsingroutinen. Die Zeilen-Parsing
routinen suchen eine Textzeile in Einzelbuchstaben zu zerle
gen. Bezugnehmend auf Fig. 2(d) finden die Zeilen-Parsing
routinen bei dem beschriebenen Ausführungsbeispiel zunächst
alle Spalten, die einen weißen Raum von der Oberseite der
Zeile zur Unterseite der Zeile haben, Block 231.
Die Spalten oder Segmente, die einen weißen Raum von der Zei
lenoberseite zur Zeilenunterseite haben, werden danach ge
trennt und gerahmt, Block 232. Um Segmente zu rahmen, bestimmt
der Zeilen-Parsing-Prozeß die linken, rechten, oberen und
unteren Grenzen der durch vertikalen weißen Raum begrenzten
Pixelzonen. Die Grenzen werden derart berechnet, daß so wenig
Leerraum wie möglich um die Pixelzone verbleibt.
Wenn die resultierende "gerahmte" Pixelzone größer als 64
Pixel (die größte Zeichenbreite, die bei dem beschriebenen
Ausführungsbeispiel ohne Reduktion der Auflösung des Zeichens
verarbeitet werden kann), oder wenn das Verhältnis der Breite
zur Höhe des gerahmten Pixelbereichs größer als 3 : 2 ist, wird
angenommen, daß die gerahmte Pixelzone mehr als einen Buchsta
ben enthält.
In einem solchen Falle kann die gerahmte Pixelzone mit Über
hängen versehene, gotische Zeichen enthalten. Derartige Zei
chen überlappen einander, obwohl sie sich tatsächlich nicht
berühren. In einem solchen Falle kann es vorkommen, daß ein
vertikaler Freiraum zwischen den Zeichen nicht existiert. Ein
Beispiel kann der Buchstabe "T" gefolgt von "o" sein. Wenn ein
"T" entsprechend eng an ein "o" gestellt wird, so verschwindet
ein vertikaler Freiraum zwischen diesen beiden Buchstaben.
Ein Auflösungsprozeß wird bei solchen relativ breiten Pixel
rahmenzonen angewandt. Der Auflösungsprozeß berechnet den am
weitesten links gelegenen freien Weg von der Zeilenober- zur
-unterseite. Ein freier Weg wird als Liste von verbundenen
vertikalen und horizontalen Segmenten definiert, welche einen
freien Weg zwischen zwei Buchstaben verfolgen. Wenn der Auflö
sungsprozeß durch Auffinden eines freien Weges erfolgreich
ist, werden die linken, rechten, oberen und unteren Grenzen
für die Pixelrahmenzone links des freien Weges neu berechnet.
Wenn der resultierende Rahmen immer noch breiter als 64 Pixel
ist oder ein Breiten- zu Höhenverhältnis von mehr als 3 : 2 hat,
oder wenn kein freier Weg gefunden wurde, wird der Versuch
unternommen, eine Unterstreichung festzustellen und zu entfer
nen. Wenn dieser Vorgang erfolgreich ist, wird mit Hilfe des
Zeilen-Parsing-Prozesses erneut versucht, den vertikalen
weißen Raum zu finden.
Nach dem Auffinden eines Pixelrahmens, der nicht zu breit ist,
wird dieses Rahmenfeld als isoliertes Zeichen angesehen, Block
232, und es wird ein Zeichenfenster für die Zeichen-Erken
nungsroutinen geschaffen, Block 233. Bei dem beschriebenen
Ausführungsbeispiel der Erfindung ist ein Zeichenfenster ein
Pufferbereich, der bis zu 128 Zeilen mal 128 Spalten oder 64
Zeilen mal 192 Spalten enthalten kann. Wenn der Pixelrahmen zu
groß ist, um in das Zeichenfenster zu passen, wird er so ska
liert, daß er in das Fenster paßt. Der Pixelrahmen wird zei
lenweise in das Fenster kopiert. Wenn die gerahmte Pixelzone
als Ergebnis eines Auflösungsprozesses abgeleitet wurde, ist
die rechte Grenze der Pixelzone als freier Weg beim Auflö
sungsprozeß definiert. Anderenfalls besteht jede in das Fen
ster kopierte Zeile aus Bits in entsprechenden Zeilen der
Pixelrahmenzone zwischen vertikalen weißen Räumen (d. h. den
als isoliert angenommenen Zeichen).
Ein errichtetes Fenster, das eine Spaltenbreite von mehr als
128 Pixeln hat, wird in einen Zurückweisungscache für spätere
Weiterbearbeitung gelegt. Anderenfalls werden die Zeichen-Er
kennungsroutinen aufgerufen, und das Fenster wird in diese
Zeichen-Erkennungsroutinen eingegeben, Block 234. Wenn ein
Zeichen von den Zeichen-Erkennungsroutinen erfolgreich verar
beitet wurde, wird ein Code für seine ermittelte Form in eine
als "Fahne" bezeichnete Pufferzone gegeben. Fenster, die von
allen Zeichen-Erkennungsroutinen zurückgewiesen wurden, werden
zum Zurückweisungscache für spätere Verarbeitung hinzugefügt.
Im folgenden wird auf Fig. 11 Bezug genommen. Danach enthält
der Zeichen-Erkennungsprozeß die Schritte der Schablonenanpas
sung, Block 1101, gefolgt von der Merkmalsanalyse, Block 1105,
wenn das Zeichen in dem Schablonenanpassungschritt, Block
1101, nicht erkannt worden ist.
Der Schablonenanpassungsvorgang, Block 1101, versucht in Fenstern
aus dem Zeilen-Parsing-Prozeß weitergeleitete Zeichen mit Scha
blonen von zuvor bereits identifizierten Zeichen in Überein
stimmung zu bringen. Im Merkmalsanalyseprozeß, Block 1105,
wird versucht, Merkmale der durch Schablonenvergleich nicht
identifizierbaren Zeichen zu erkennen. Auf der Basis des Er
kennens solcher Merkmale werden die Zeichenformen identifi
ziert.
Ein Gesichtspunkt der vorliegenden Erfindung besteht darin,
daß mit Hilfe des Merkmalsanalysevorgangs erkannte Zeichen
als Schablonen zur Erkennung später auftretender Zeichen ver
wendet werden. Bei dem beschriebenen Ausführungsbeispiel wird
ein Schablonen-Cachespeicher für jedes neue Dokument aufge
baut. Der Schablonen-Cachespeicher enthält Zeichen, die inner
halb des Merkmalsanalyseprozesses für das aktuelle Dokument
erkannt worden sind. Zeichen in dem Schablonen-Cache werden im
Schablonen-Anpaßprozeß benutzt. Durch Errichtung des Schablo
nen-Cache auf der Basis von bereits im Dokument erkannten
Zeichen mit Hilfe des Merkmalserkennungsprozesses macht es die
Erfindung möglich, jede durch Merkmalsanalysenroutinen erkenn
bare Schriftart selbsttätig zu erkennen. Durch Kombinieren von
Elementen der Merkmalsanalyse und der Schablonenanpassung
bietet die Erfindung die betrieblichen Vorteile eines Schablo
nenanpaßsystems mit der Allschriftcharakteristik eines Merk
malsanalysesystems.
Der Schablonen-Cache enthält Informationen über jede verfügba
re Schablone des aktuellen Dokuments. Für jede Schablone ent
hält ein Kopffeld Identifizierungsinformationen für diese
spezielle Schablone. Das Kopffeld enthält auch Offset-Zeiger
bzw. Hinweise auf drei Pixelmuster, die von dem Schablonenan
paßprozeß verwendet werden.
Das erste Pixelmuster ist das Originalmuster des Zeichens, wie
es durch den Merkmalsanalyseprozeß erkannt worden ist. Bei dem
beschriebenen Ausführungsbeispiel wird das Originalmuster von
x Zeilen mal y Spalten als zweidimensionale Matrix gespei
chert, wobei die Zeilen Null-unterlegt bis zu einer Wortgrenze
sind.
Ein zweites Pixelmuster, bezeichnet als "muß-aus-sein"-Muster,
wird aus dem Originalmuster abgeleitet. Das muß-aus-sein-Mu
ster enthält x + 1 Zeilen und y + 1 Spalten, wobei die Zeilen
ebenfalls bis zu einer Wortgrenze mit Nullen aufgefüllt sind.
Ein drittes Pixelmuster, genannt "muß-ein-sein"-Muster, wird
aus dem Originalmuster abgeleitet und enthält x - 1 Zeilen mal
y + 1 Spalten. Das tatsächliche Bild des muß-ein-sein-Musters
besetzt nur x - 2 Zeilen mal y - 2 Spalten. Bei dem beschriebenen
Ausführungsbeispiel ist jedoch ein Bereich von x - 1 Zeilen mal
y + 1 Spalten aus Verarbeitungsgründen reserviert, um sicherzu
stellen, daß die Matrix ebenso breit wie die muß-aus-sein-Ma
trix ist.
Wie sich aus der folgenden Beschreibung der Schablonenanpaßme
thoden, wie sie bei der Erfindung Verwendung finden, ergibt,
werden Zeichen von dem Schablonen-Anpaßprozeß erkannt, wenn
die Zeichen innerhalb gewisser vorgegebener Toleranzen der
Schablonen liegen. Das Zulassen von Zeichen innerhalb vorgege
bener Toleranzen ist wichtig, da zwei Bit-mapped-Bilder des
selben Zeichens selten - wenn überhaupt - exakt übereinstim
men. Eine Bilddigitalisierung ist empfindlich gegenüber Unter
schieden in der Ausrichtung, und der Digitalisierungsprozeß
selbst führt ein Randrauschen ein. Außerdem werden Zeichen oft
unterbrochen oder sind auf andere Weise deformiert aufgrund
der schlechten Bildqualität, wenn die Zeichen ursprünglich
gedruckt wurden, wenn das abgetastete Substrat kopiert wurde
oder wenn das Substrat für den Zeichenerkennungsprozeß optisch
abgetastet wird. Daher ist ein einfacher Bit-für-Bit-Vergleich
bei einem Erkennungsprozeß nicht angemessen. Die muß-ein-sein-
und muß-aus-sein-Bildmuster werden bei der Erfindung verwen
det, um eine gewisse Differenzgrenze zwischen den Zeichen zu
ermöglichen.
Die muß-aus-sein-Matrix enthält ein Pixelbild, welches an
zeigt, welche Pixel im Fenster aus (d. h. auf Null gesetzt)
sein müssen, um das Fenster mit der Schablone in Übereinstim
mung zu bringen. Es sei auf Fig. 12(a) Bezug genommen, in der
ein Bit-mapped-Bild des Buchstabens e (1201) dargestellt ist.
Die x's im Buchstaben e bezeichnen Pixel, welche im Original
bild im Schablonen-Cachespeicher eingeschaltet sind.
Bei dem beschriebenen Beispiel zeigt das muß-aus-sein-Bild
Pixel an, welche um ein oder mehr Pixel von einem Ein-Pixel
des original Bit-mapped-Bildes beabstandet sind. Fig. 12(b)
zeigt den Buchstaben e (1202), bei dem die muß-aus-sein-Pixel
als Striche dargestellt sind. Bei dem beschriebenen Ausfüh
rungsbeispiel werden die muß-aus-sein-Pixel durch "Verwischen"
des Originalpixelbildes berechnet. Das Verwischen wird mit
Hilfe logischer ODER-Verknüpfungen in jeder Zeile des Origi
nalpixelbildes vorgenommen. Jede Zeile des Originalpixelbildes
wird einer logischen ODER-Verknüpfung mit einer Kopie von sich
selbst unterworfen, die um ein Bit nach links verschoben wur
de. Das Ergebnis ist logisch ODER-verknüpft mit der ursprüng
lichen Zeile, verschoben nach rechts um ein Bit. Das Resultat
dieses Schrittes wird mit dem Resultat des gleichen Verfahrens
an der unmittelbar vorhergehenden Zeile oder darüber logisch
ODER-verknüpft. Das Resultat dieses Schritts wird logisch
ODER-verknüpft mit der ähnlich verarbeiteten Zeile unmittelbar
vor oder unterhalb der aktuellen Zeile. Das Ergebnis dieser
Operation ist ein Bild des ursprünglichen Zeichens, bei dem
jedes Pixel des ursprünglichen Bit-mapped-Bildes von 8 Ein-Pi
xeln umgeben ist, von dem Pixel oberhalb, unterhalb, rechts,
links und den 4 Pixeln, die um 45°, 135°, 225° und 315° vom
ursprünglichen Pixel verdreht sind. Dadurch wird das ursprüng
liche Zeichenbild mit einer Ein-Pixel-Schicht quasi umgürtet.
Das Komplement des sich ergebenden Bildes wird als muß-aus-
sein-Muster erhalten.
Das muß-ein-sein-Bild ist eine Zeichenabbildung mit Bits, die
getastet sein müssen für eine Übereinstimmung. In Fig. 12(b)
ist die Zeichenabbildung des Zeichens e 1202 mit Pluszeichen
dargestellt, die bei einer Übereinstimmung eine 1 bedeutende
Pixel zeigen. Zum Berechnen eines muß-ein-sein-Bildes wird
jede Zeile des originalen Pixelbildes logisch UND-verknüpft
mit einer um ein Bit nach links verschobenen Kopie der Zeile.
Das Ergebnis wird mit einer Kopie der um ein Bit nach rechts
verschobenen Zeile logisch UND-verknüpft. Deren Ergebnis wird
logisch UND-verknüpft mit einem ähnlich behandelten Bild der
Zeile unmittelbar über der aktuellen Zeile. Das Ergebnis der
Operation wird dann logisch UND-verknüpft mit der ähnlich
verarbeiteten Zeile unmittelbar unterhalb der aktuellen Zeile.
Diese logische UND-Operation mit Zeilen oberhalb und unterhalb
der aktuellen Zeile findet statt, nachdem die oberhalb und
unterhalb der aktuellen Zeile gelegenen Zeilen zuvor wie in den ersten
zwei Schritten dieses Verfahrens beschrieben mit
ihren eigenen Bildern logisch UND-verknüpft worden sind. Durch
dieses Verfahren wird eine Abbildung des Originalzeichens
erzeugt, bei dem nur diejenigen Pixel eingeschaltet bleiben,
die auf allen ihren acht Seiten umgeben sind. Dadurch entsteht
im Ergebnis ein Bild, das um eine Pixelschicht dünner als das
Originalbild ist.
Die Verwendung der muß-ein-sein- und muß-aus-sein-Matrix zum
Vergleich der Eingangszeichen mit Schablonen ermöglicht Tole
ranzen bei der Durchführung der Anpassung. Obwohl das be
schriebene Ausführungsbeispiel eine Ein-Pixel-Toleranz beim
Prüfen der Übereinstimmungen zuläßt, ist es für den Fachmann
klar, daß andere Ausführungen zu anderen Toleranzen führen.
Ein alternatives Ausführungsbeispiel, das weniger enge Tole
ranzen ermöglicht, kann zu höheren Anpaßgeschwindigkeiten und
daher zu entsprechend rascherer Verarbeitung führen. Ein sol
ches Ausführungsbeispiel erhöht jedoch die Fehlerrate der
Identifizierung von Zeichen aufgrund der weniger strengen
Toleranzanforderungen.
Im folgenden wird auf Fig. 11(b) Bezug genommen. Bei jedem
Empfang eines neuen Fensters mit nicht-identifizierter Pixel
information aus der Zeilen-Parsingroutine werden muß-ein-sein-
und muß-aus-sein-Bilder für das nicht-identifizierte Bild
unter Verwendung des oben beschriebenen Verfahrens erzeugt,
Block 1120. Das nicht-identifizierte Bild im Fenster wird dann
mit den Zeichen im Schablonencache verglichen. Die Schablonen
werden zu Vergleichszwecken in einer zuletzt angepaßten Rei
henfolge geordnet. Bei jeder Übereinstimmung mit einer Scha
blone wird ein im Schablonen-Kopfetikett gespeicherter Zähl
wert inkrementiert.
Wenn eine Schablone als Ergebnis der Erkennung durch die Merk
malsanalysenroutinen das erste Mal hergestellt wird, wird der
Schablonenübereinstimmungszähler auf 0 gesetzt. Bei dem be
schriebenen Beispiel werden neue Schablonen (d. h. Schablonen
mit einem Übereinstimmungszählwert von 0) bei Beginn der Scha
blonenschlange eingesetzt. Wenn ein nicht-identifiziertes Bild
von den Schablonen-Anpaßroutinen verarbeitet wird und mit
einer besonderen Schablone übereinstimmt, wird der zur beson
deren Schablone gehörige Übereinstimmungszähler geprüft, um
festzustellen, ob der Anpassungszählwert 0 ist. Wenn der Zähl
wert 0 ist, prüft das beschriebene Ausführungsbeispiel der
Erfindung das Bild im Zeichenfenster unter Verwendung der
Merkmalsanalysenroutinen (weiter unten beschrieben), um eine
Bestätigung dafür zu erhalten, daß das Bild im Zeichenfenster
das gleiche Zeichen wie das von der Schablone identifizierte
Zeichen ist. Wenn die Merkmalsanalysenroutinen die Schablone
bestätigen und das Bild im Zeichenfenster das gleiche Zeichen
ist, wird der Anpaßzählwert inkrementiert. Anderenfalls wird
im Verfahren unterstellt, daß die Schablone zu unzuverlässigen
Ergebnissen führt, und die Schablone wird aus der weiteren
Verarbeitung eliminiert. Die Erkennung des Bildes im Zeichen
fenster wird dann dadurch fortgesetzt, daß man das Bild im
Zeichenfenster mit anderen Schablonen im Schablonencache in
Übereinstimmung zu bringen sucht.
Der erste Schritt beim Anpassen eines Bildes in einem Fenster
mit der Schablone besteht darin, daß man muß-ein-sein- und
muß-aus-sein-Matritzen von dem nicht-identifizierten Bild kon
struiert, Block 1120. Als nächstes wird eine Dimensionsprüfung
durchgeführt, Block 1121. Bilder, die sich von einer Schablone
bezüglich ihrer Höhe oder Breite um mehr als ein Pixel unter
scheiden, können zu der Schablone nicht passen, Zweig 1122.
Wenn die Dimensionsprüfung durchlaufen ist, Zweig 1123, wird
die muß-ein-sein-Matrix für das nicht-identifizierte Bild im
Fenster mit dem original Bit-mapped-Bild der Schablone vergli
chen. Wenn alle Pixel in der muß-ein-sein-Matrix für das
nicht-identifizierte Bild in der Originalschablone ein-geta
stet sind, Zweig 1124, wird ein zweiter Test durchgeführt.
Der zweite Test bestimmt, ob alle Pixel in der muß-ein-sein-
Matrix für die Schablone in dem nicht-identifizierten Bit-
mapped-Bild im Fenster eingeschaltet sind. Wenn alle derarti
gen Bits eingeschaltet sind, Zweig 1125, wird das Original
Bit-mapped-Bild der Schablone mit der muß-aus-sein-Matrix für
das Bild im Fenster verglichen. Alle in der muß-aus-sein-Ma
trix für das Bild im Fenster angegebenen Pixel müssen in der
ursprünglichen Schablone als Voraussetzung einer Anpassung
oder Übereinstimmung ausgeschaltet sein. Wenn dieser Test
durchgeführt ist, Zweig 1126, wird das Bit-mapped-Bild im
Fenster mit der muß-aus-sein-Matrix für die Schablone vergli
chen. Wenn alle von der muß-aus-sein-Matrix der Schablone
angezeigten Pixel im Bit-mapped-Bild des Fensters ausgeschal
tet sind, wird die Schablone als übereinstimmend oder angepaßt
bewertet und der Zweig 1127 eingeschlagen.
Wie oben beschrieben, wird das Bild im Zeichenfenster auch mit
den Merkmalsanalyseroutinen zur Bestätigung der Identifizie
rung analysiert, wenn die Schablone eine Übereinstimmungszäh
lung von 0 hat. Anderenfalls wird der Identifizierungscode für
die erkannte Form in die Fahne für eine spätere Verarbeitung
durch die Kontext-Analysenroutinen eingegeben.
Wenn einer der Zweige 1122, 1128, 1129, 1130 oder 1131 einge
schlagen wird, weil der entsprechende oben beschriebene Test
nicht passiert wurde, und wenn mehrere Schablonen im Schablo
nenspeicher vorhanden sind, Zweig 1132, wird die gleiche Folge
von Prüfungen oder Tests mit jeder nachfolgenden Schablone im
Schablonencache solange wiederholt, bis eine Anpassung oder
Übereinstimmung auftritt oder der Cache erschöpft ist.
Wenn es keine weiteren Schablonen im Schablonencache gibt,
Zweig 1133, gibt es keine Übereinstimmung zwischen den aktuel
len Schablonen und dem nicht-identifizierten Bild. Dies ist
immer dann der Fall, wenn sich das nicht-identifizierte Bild
nach Schriftart, Größe oder Ausrichtung von allen im Schablo
nen-Cachespeicher enthaltenen Zeichen unterscheidet. Die feh
lende Übereinstimmungsbedingung kann auch das Ergebnis von
Zeichen sein, die trotz gleicher Schriftart und -größe nicht
eng genug übereinstimmen, um innerhalb der "Randrausch"tole
ranzen der Schablonenanpassungsroutinen zu liegen.
In jedem Falle werden die Merkmalsanalyseroutinen herangezo
gen, die das Bild im Fenster als Eingabe benutzen, Block 1105,
wenn das Bild zuvor nicht erkannt werden konnte, Zweig 1104 in
Fig. 11(a).
Bei dem beschriebenen Ausführungsbeispiel wird eine Vielzahl
von Routinen zum Analysieren der Merkmale der den Merkmalsana
lyseprozeß durchlaufenden Bilder verwendet, wobei die Katego
rie der Form eines nicht-identifizierten Bildes im Zeichenfen
ster bestimmt wird. Unter den verschiedenen Routinen ist eine
Routine für jede besondere Spezies im normalen Zeichensatz.
Jede dieser einzelnen Routinen kann ein Bild in einem Zeichen
fenster analysieren und als Ausgabe eine Anzeige dafür zur
Verfügung stellen, ob das Bild zu der allgemeinen Formkatego
rie zählt, die durch diese Routine zu unterscheiden ist. Die
Zeichenerkennungsroutinen werden aktiviert, wenn eine der
Routinen mit einer positiven Anzeige dafür antwortet, daß das
Bild im Zeichenfenster die der speziellen Routine entsprechen
de Form hat. Wenn keine der Merkmalsanalysenroutinen positiv
antworten, bleibt die Form des Bildes im Zeichenfenster uni
dentifiziert. In einem solchen Falle wird eine Weiterverarbei
tung durchgeführt, um die Form des Bildes im Zeichenfenster zu
identifizieren.
Jede der Routinen wird als "isit" bezeichnet. Der Name "isit"
ist für die Beschreibung der Routinen des Ausführungsbeispiels
zweckmäßig, da die Routinen bestimmen, ob ein Zeichen im Zei
chenfenster ein spezielles Zeichen ist (z. B. "ist es" (isit)
ein a). Bei dem beschriebenen Ausführungsbeispiel existieren
isits für Buchstaben, Zahlen und spezielle Symbole, wie Kom
mas, Anführungsstriche, Semikolons usw.. Es ist für den Fach
mann klar, daß das Verfahren der Verwendung von isits zur
Bestimmung der Zugehörigkeit eines Bildes in einem Zeichenfen
ster zu einem speziellen Zeichen auf zahlreiche alphabetische
Zeichengruppen anwendbar ist. Beispielsweise können isits für
kyrillische Zeichensätze, die Zeichensätze in slawischen Spra
chen, oder für andere Zeichensätze, z. B. die Zeichensätze für
Hebräisch oder Arabisch, implementiert werden.
Bei dem beschriebenen Ausführungsbeispiel unterscheiden isits
Zeichen aufgrund ihrer Form. Daher werden Zeichen, welche die
gleiche Togographie haben, von einem einzigen isit erkannt.
Der Kleinbuchstabe "p" und der Großbuchstabe "P" werden von
demselben isit erkannt. Die Buchstaben "u" und "U", "s" und
"S", "o" und "O" sowie "0" usw. sind weitere Beispiele für
Zeichen, die mit der gleichen oder ähnlichen Topographie ver
sehen sind und daher von denselben isits erkannt werden. Für
jede Form oder Topographie wurden Formcharakteristiken gewählt
und experimentell gemessen, so daß ein besonderes isit die
Form seines Zeichens aus der Form anderer Zeichen über einen
weiten Bereich von Schriftarten unterscheiden kann.
Bei dem beschriebenen Ausführungsbeispiel liefert ein isit als
Ausgang entweder einen ASCII-Code für ein spezielles Zeichen
oder einen Code, der anzeigt, daß das Zeichen als zugehörig zu
einer speziellen Zeichenklasse erkannt worden ist, oder einen
Zurückweisungscode, der anzeigt, daß das Zeichen nicht erkannt
worden ist. Die Ausgabe des ASCII-Code für ein spezielles
Zeichen zeigt an, daß die Zeichenidentifizierung durch die
isit-Routine unzweideutig ist. Der zurückgeführte ASCII-Code
ist der Standard-ASCII-Code für das spezielle Zeichen. Ein
Code, der angibt, daß das Zeichen zu einer besonderen Zeichen
klasse gehört, beschränkt jede nachfolgende Merkmalsanalyse
auf einen speziellen Satz oder eine spezielle Gruppe von
isits.
Im folgenden wird auf Fig. 13 Bezug genommen, in der ein Ab
laufdiagramm des beschriebenen Merkmalsanalyseprozesses darge
stellt ist. Für jedes dem Merkmalsanalyseprozeß als Eingabe
zugeführte Bild werden statistische Daten aus einem Horizon
talfenster und einem Vertikalfenster von den isits benutzt.
Das Horizontalfenster ist das ursprüngliche Zeichenfenster mit
der Bit-map-Abbildung des Zeichens. In Fig. 14(a) ist das
Zeichen "b" beispielsweise im horizontalen Zeichenfenster 1401
gezeigt. Ein Vertikalfenster wird aus dem Horizontalfenster
1401 abgeleitet, Block 1301. Das Vertikalfenster kann als ein
auf der Seite liegendes Bild des Horizontalfensters 1401 ange
sehen werden, dessen Zeilen jeweils eine Positionsumkehr er
fahren haben. So zeigt beispielsweise Fig. 14(b) ein Vertikal
fenster für das Bild des Zeichens "b" im Vertikalfenster
1410.
Statistische Informationen werden durch Prüfen der Bit-map-
Bilder im Horizontalfenster 1401 und im Vertikalfenster 1410
erzeugt. Die statistischen Daten enthalten Profildaten, Poly
gondarstellungen des Zeichens, Phasenänderungsinformationen
und Zählungen der Anzahl von Pixeln in jeder Zeile des Zei
chens.
Die bei den beschriebenen erfindungsgemäßen Verfahren ange
wandten Polygon-Anpaßalgorithmen dämpfen die Effekte des Rau
schens in den zu identifizierenden Bildern und reduzieren
beträchtlich das von den Merkmalsrichtungsroutinen zu verar
beitende Datenvolumen. Es wurde außerdem bestimmt, daß Poly
gondarstellungen von Zeichenbildern über einen weiten Bereich
von Zeichengrößen konsistent sind, z. B. der Buchstabe "i"
erzeugt im wesentlichen die gleichen Polygondarstellungen in
einem weiten Bereich von Schrifttypen.
Für jede Ansicht eines Zeichenfensters werden Profildaten und
vier Polygone abgeleitet. Die Ansichten eines Zeichens enthal
ten die linken und rechten Seiten 1403, 1404, 1413 und 1414
der horizontalen und vertikalen Fenster. Die Profildaten ent
halten ein Feld mit einem Element für jede Zeile des Fensters.
Jedes Element hält einen Wert, gemessen in Spalten, der den
Abstand des Rahmenrandes vom ersten "Ein-Pixel" in dieser
Zeile darstellt. Es wird beispielsweise auf Fig. 14(a) Bezug
genommen. Das erste Ein-Pixel in jeder Zeile ist bei der An
sicht 1403 das erste Ein-Pixel im Anstrich des Buchstabens b.
In der Ansicht 1404 ist das erste Ein-Pixel für die obere
Hälfte des Buchstabens b ebenfalls das erste Ein-Pixel im
Anstrich des Buchstabens b. Für die untere Hälfte der Ansicht
1404 ist das erste Ein-Pixel für jede Zeile das am äußeren
Rand der Schleife 1405 gelegene Pixel des Buchstabens b.
Ein erstes Polygon wird für jede Ansicht gebildet. Das Polygon
enthält mehrere Zeilensegmente, die einem Profil des Zeichens
in Richtung der jeweiligen Ansicht angepaßt ist. Die Zeilen
segmente des Polygons liegen innerhalb vorgegebener Toleranz
werte für das Profil des Zeichens. Beispielsweise ist in Fig.
14(c) ein Profil 1420 des Buchstabens b der Ansicht 1404 in
Fig. 14(a) gezeigt. Die Punkte 1421 bis 1429 sind die Polygon
punkte welche dieses Profil beschreiben. Bei dem beschriebenen
Beispiel gibt es maximal 16 Punkte im Polygon zur Beschreibung
des speziellen Profils, und für jedes Segment werden Steigung
und Unterschied der Steigung gegenüber einem früheren Segment
berechnet und aufrechterhalten. Es ist für den Fachmann klar,
daß eine große Anzahl von Punkten, verbunden mit einer ent
sprechenden Zunahme an Bearbeitungs- und Speichermitteln zur
Beschreibung eines Polygons verwendet werden kann.
Die Polygon-Anpaßalgorithmen bestimmen die Punkte, wie die
Punkte 1421 bis 1429 auf dem Profilbild 1420. Der erste
Schritt beim Polygon-Anpaßprozeß ist die Zuordnung von Poly
gonpunkten 1421 und 1429 an jedem Ende des Polygons. Eine
Rekursivroutine wird aufgerufen, in der die Endpunkte eines
Liniensegments, beispielsweise die Punkte 1421 und 1429, das
Profilbild 1420 und ein Toleranzwert als Eingaben verwendet
werden. Der Toleranzwert bestimmt die "Enge" der Anpassung des
Polygons an das Profilbild 1420.
Bei dem beschriebenen Ausführungsbeispiel wird die Toleranz
(t) in 128steln eines Pixels gemessen und auf der Basis der
langen und kurzen Abmessungen eines Fensters nach der folgen
den Formel berechnet:
Toleranz (t) = (13/4)x + 64, wenn x < 28; und (t) = 5x, wenn x ≧ 28;
wobei x = (3* (Länge der langen Seite) + (Länge der kurzen Seite))/4.
wobei x = (3* (Länge der langen Seite) + (Länge der kurzen Seite))/4.
Der Polygon-Anpaßalgorithmus zieht effektiv eine Linie zwi
schen die Endpunkte 1421 und 1429 und lokalisiert die am wei
testen oberhalb und unterhalb der Linie (Punkte 1422 und 1426)
gelegenen Punkte. Wenn jeder Extrempunkt jenseits der zulässi
gen Toleranz liegt, wird er in das Polygon einbezogen, wodurch
das ursprüngliche Zeilensegment in Untersegmente unterbrochen
wird. Der Algorithmus wird durch rekursives Anwenden des glei
chen Verfahrens auf jedes Untersegment solange fortgesetzt,
bis kein Datenpunkt weiter als die zulässige Toleranz von dem
nächsten Polygonsegment entfernt liegt. Bei dem aktuellen
Beispiel liegen beide Extrempunkte (1422 und 1426) außerhalb
der zulässigen Toleranz, so daß das ursprüngliche Linienseg
ment in drei Untersegmente 1421 bis 1427, 1422 bis 1426 und
1426 bis 1249 unterbrochen wird. Der Algorithmus wird durch
Zeichnen des Liniensegmentes zwischen Punkten 1421 und 1422
fortgesetzt. Dieses Liniensegment hat keine Punkte außerhalb
des Toleranzbereichs ober- und unterhalb, so daß es nicht
weiter unterteilt ist. Der Algorithmus zeichnet dann die Linie
zwischen den Punkten 1422 und 1426 und lokalisiert Punkte, die
am weitesten oberhalb und unterhalb der Linie liegen. In die
sem Falle wird der Punkt 1425 als der am weitesten über dem
Toleranzwert gelegene Punkt bestimmt, während kein Punkt un
terhalb liegt. Dies schafft zwei neue Untersegmente, nämlich
1422 bis 1425 und 1425 bis 1426. Diese werden rekursiv weiter
entwickelt, bevor in dem Prozeß das letzte Untersegment ge
prüft wird, das sich aus der ersten Iteration des Prozesses
ergeben hat. Der Prozeß zieht eventuell eine Linie zwischen
Punkt 1426 und 1429 und stellt fest, daß Punkt 1428 am weite
sten oberhalb der Linie liegt und keine Punkte jenseits des
Toleranzwerts unterhalb liegen. Die sich ergebenden Unterseg
mente werden in ähnlicher Weise weiterentwickelt durch rekur
sive Anwendung des gleichen Verfahrens.
Der Prozeß der iterativen Erzeugung von Untersegmenten durch
Bestimmung von Punkten, welche maximal oberhalb und unterhalb
der Toleranzgrenzen existierender Segmente liegen, wird solan
ge fortgesetzt, bis kein Ursprungsdatenpunkt mehr weiter als
der Toleranzwert von dem nächsten Polygonsegment des Profils
1420 entfernt liegt.
Ein zweites Polygon weist Liniensegmente auf, welche Punkte
verbinden, die einer Darstellung einer Profilansicht eines als
Schattenprofil bezeichneten Zeichens angepaßt sind. Das Schat
tenprofil wird von einem Profil der Polygonansicht dadurch
abgeleitet, daß das Polygon von der Bodenzeile zur Kopfzeile
durchlaufen und der minimale X-Wert beim Durchlaufen des Poly
gons vom aktuellen Außenpunkt auf dem Polygon subtrahiert
wird. Derselbe Vorgang wird danach von der Kopfzeile zur Bo
denzeile des Polygons wiederholt. Der Effekt ist, daß die
restlichen nicht-Null-X-Punkte im Profil Zonen darstellen,
welche effektiv abgeschaltet wären, wenn der Buchstabe von
Licht auf beiden Seiten beleuchtet wäre. Das Schattenpolygon
dient zur Bestimmung und Analyse von Öffnungen in das Innere
eines Zeichens.
Ein drittes Polygon enthält Profilpunkte einer Ansicht eines
Zeichens, welche durch Subtraktion des Schattenprofils vom
ursprünglichen Profil gebildet werden. Dieses Polygon wird als
gefülltes Polygon bezeichnet. Sowohl das Schattenpolygon als
auch das gefüllte Polygon haben die gleiche Anzahl von Punkten
und die gleichen Y-Koordinaten wie das Originalpolygon.
Schließlich wird ein viertes Polygon gebildet, das eine losere
Anpassung an das Originalpolygon als das ursprüngliche Profil
hat. Dies geschieht durch Entwicklung eines Polygons aus dem
Ursprungspolygon unter Verwendung weniger Punkte (d. h. unter
Verwendung eines weiteren Toleranzwertes).
Daten werden sowohl für das horizontale als auch das vertikale
Fenster entwickelt, welche die Zahl von Phasenwechseln von
weiß nach schwarz in jeder Zeile des entsprechenden Fensters
zählen. Beispielsweise besteht im Horizontalfenster der Buch
stabe "I" generell aus Zeilen mit einer horizontalen Phasenän
derung von weiß nach schwarz und der Buchstabe "H" besteht aus
Zeilen mit zwei Phasenänderungen von weiß nach schwarz. Die
Phasenänderungsinformationen dienen zur Erzeugung von durch
die isit-Routinen verwendeten Statistiken.
Eine erste Statistik wird entwickelt, welche den Prozentsatz
von Zeilen mit einem besonderen Phasenänderungswert bezeich
net. So kann beispielsweise für den Buchstaben "I" der Wert 1
(Auftreten einer Phasenänderung von weiß nach schwarz in der
Zeile) nahezu bei 100% der Zeit auftreten. Bei dem Buchstaben
"H" kann der Wert 1 über 5% der Zeit und der Wert 2 über etwa
85% der Zeit auftreten. Bei dem Buchstaben "d" können in dem
Horizontalfenster 0-Phasenänderungszählungen des Werts 0 auf
treten, was bedeutet, daß jede Zeile wenigstens ein Pixel
eingeschaltet hat. Es können angenähert 55% der Zeilen eine
Phasenänderung erfahren, und diese Zeilen enthalten die obere
Hälfte des Buchstabens "d". Die restlichen ca. 45% der Zeilen
haben zwei Phasenänderungen, und diese Zeilen umfassen die
Schleife des Buchstabens "d". Es gibt keine Zeilen mit drei
oder vier Phasenänderungen.
Bei dem beschriebenen Ausführungsbeispiel werden Zeilen mit
mehr als vier Phasenänderungen wie Zeilen mit genau vier Pha
senänderungen gezählt, und zwar zum Zwecke der Berechnung
dieser Prozentwerte. Die Grenze von vier Phasenänderungen
wurde von der Anmelderin aus experimentellen Daten und Beob
achtungen entwickelt. Typischerweise treten mehr als vier
Phasenänderungen bei starken Rauscheinflüssen im Bit-mapped-
Bild auf.
Eine zweite Statistik wird entwickelt, die angibt, wo die
Mitte einer besonderen Phasenänderungszählung im Zeichenbild
auftritt. Bei dem Buchstaben "I" ist der "wo"-Wert für die
Phasenänderungszählung von 1 nahe bei 50. Dies zeigt die Mit
telstellung einer Linie mit einer Phasenänderungszählung von 1
ungefähr in der Zeichenmitte an. Bei dem Buchstaben "d" ist
der wo-Wert für die Phasenänderungszählung des Werts von 1
etwa bei 20, was angibt, daß der Mittelwert der Zeilenzahlen
mit einer einzigen Phasenänderung etwa bei 20% des Weges ab
wärts des Zeichens liegt. Der wo-Wert für eine Phasenände
rungszählung von 2 kann etwa 75 sein, was anzeigt, daß der
Mittelwert der Zeilenzahlen mit zwei Phasenänderungen etwa
drei Viertel des Weges abwärts des Buchstabens liegt. Dies
liegt daran, daß die Schleife des Kleinbuchstabens "d" in der
unteren Hälfte des Zeichens liegt.
Es wird auch ein Feld sowohl für das horizontale als auch das
vertikale Fenster entwickelt, das ein Element für jede Zeile
des Fensters mit einem Wert für die Anzahl von "Ein"-Pixeln in
dieser Zeile enthält. Die Polygone werden auch an diese Felder
angepaßt.
Die isits dienen zur individuellen Analyse des Zeichens, Block
1304, bis das Zeichen erkannt ist. Eine besondere isit-Routine
kann von irgendeiner aus einer Anzahl von Methoden Gebrauch
machen, um zu identifizieren, ob ein Zeichen gleich dem durch
das besondere isit zu identifizierenden Zeichen ist. In eini
gen Fällen, in denen sich der Stil eines Zeichens von Schrift
art zu Schriftart beträchtlich ändert, können mehrere unter
schiedliche Methoden zur Erkennung des Zeichens verwendet
werden. Typischerweise analysieren die isit-Routinen die Form
der einzelnen Zeichenansichten durch Verwendung der oben be
schriebenen Polygone und durch Verwendung der oben angegebenen
statistischen Informationen. Die Verwendung von Polygonen zur
Approximation von Zeichen erlaubt es einer isit-Routine in der
Regel, kleinere Störungen und Unregelmäßigkeiten des Zeichens
zu ignorieren.
Eine erste Methode, die von isits zur Bestimmung eines Bildes
des Zeichens benutzt wird, besteht in der Prüfung der stati
stischen Informationen aus den Phasenänderungsdaten. So kann
beispielsweise ein spezielles isit ein Zeichen zurückweisen,
in welchem der Prozentsatz von 16771 00070 552 001000280000000200012000285911666000040 0002003926327 00004 16652Zeilen mit zwei Änderungen von
weiß nach schwarz 10% übersteigt. Ein Beispiel eines solchen
isit ist ein isit zur Erkennung des Zeichens "I". Generell
macht es diese Methode der Untersuchung statistischer Informa
tionen für die meisten isits möglich, 70 bis 85% aller ihnen
als Eingaben zugeführten Bilder mit einem Minimum an Verarbei
tungsmitteln zu eliminieren.
Ein anderes Verfahren, mit dem bestimmt werden kann, ob ein
spezielles Zeichen ein von einem speziellen isit zu erkennen
des Zeichen ist, ist die Prüfung von Spitzen in den Polygonen.
So ist beispielsweise der Großbuchstabe "F" dadurch gekenn
zeichnet, daß er zwei extreme Spitzen bei Betrachtung von
seiner rechten Horizontalseite aus aufweist. isits können
Zeichen sowohl aufgrund der Anzahl von Spitzen als auch deren
Relativlage identifizieren. So muß beispielsweise ein isit zur
Erkennung des Buchstabens "F" den Buchstaben "c" zurückweisen,
da die Anzahl und relative Lage der Spitzen in einer seiner
Ansichten oder in einer seiner Populationszählfelder nicht
richtig ist.
Einige Zeichen sind gekennzeichnet durch einen "Balken" oder
eine "Rampe" (das ist die linke Ansicht eines B, b, h, k, A,
D, E usw.). Ein isit zur Erkennung solcher Zeichen kann ein
Zeichen auf das längste Einzelsegment im Zeichen untersuchen
und nach Charakteristiken, wie dem Prozentsatz der Länge des
längsten Segments zur Länge des Zeichens als Ganzem und der
Steigung des Segments suchen.
Eine andere Methode, die von isits zur Identifizierung von
Zeichen benutzt wird, ist die Identifizierung von Schleifen in
den Zeichen. Eine Schleife kann als Linie mit primär zwei
Änderungen von weiß nach schwarz über jede Zeile der Schleife
identifiziert werden. Die isits identifizieren die Steilheit
der Kurve der Schleife, die relative Symmetrie der Kurve und
Informationen über Ecken der Schleife. So kann beispielsweise
die Zahl "8" häufig von dem Buchstaben "B" aufgrund der Unter
schiede in den Ecken unterschieden werden.
Wie oben gesagt, schickt ein isit nach Beendigung einer Analy
se entweder den ASCII-Code oder den Formcode für das spezielle
Bild oder die Information unter Angabe des Zurückweisungsgrun
des zurück. Wenn das Bild erkannt wurde, Zweig 1306, wird eine
Schablone in der oben beschriebenen Weise in Verbindung mit
der Schablonenanpassung, Block 1307, gebildet. Der Identifi
zierungscode wird dann auf die Zeichenfahne bewegt.
Anderenfalls wird das nächste isit auf der Basis von Parame
tern, wie die Häufigkeit des durch das isit darge
stellten Zeichens und aufgrund von aus vorhergehenden isits gewonnenen
Informationen über die Gründe für die Zurückweisung des Zei
chens, Zweig 1310, ausgewählt. Wenn keine isits mehr vorhanden
sind, Zweig 1311, wird das Bild im Zeichenfenster in den Zu
rückweisungscache bewegt. Anderenfalls, Zweig 1312, wird das
Zeichen vom nächsten isit analysiert, Block 1304.
In vielen Fällen kann ein Zeichen weder durch die Schablonen
anpassung noch durch die Merkmalsanalysenroutinen erkannt
werden, da das Zeichen an einem benachbarten Zeichen "klebt".
Dies geschieht beispielsweise dann, wenn Zeichen aufgrund der
Qualität des Druckprozesses zu eng zusammenhängen. Als typi
sches Beispiel können zusammengeklebte Zeichen auftreten, wenn
die Druckfarbe, Tusche oder Tinte in einem aus Proportional
text zusammengesetzten Dokument zerfließt.
Es wird ein Verfahren, genannt "Seitenanpassung",
zum Identifizieren derartiger zusammenfließender Zeichen beschrieben.
Beim Analysieren eines Zeichenfensters unter Verwendung der
Seitenanpassung werden Schablonen effektiv auf die Seiten des
Zeichenfensters gelegt, um festzustellen, ob eine Übereinstim
mung mit dieser Schablone auftreten würde, wenn alle Pixel im
"Schatten" dieser Schablone ignoriert würden. Die Seitenanpas
sungsmethoden machen von den gleichen Schablonenvergleichsal
gorithmen Gebrauch, die oben unter Bezugnahme auf die Schablo
nenanpassung diskutiert wurden; jedoch ignorieren die Seiten
anpassungsmethoden die Bilder auf den rechten oder linken
Seiten.
Wenn beispielsweise ein Zeichenfenster das Zeichen "ite" ent
hält, wobei alle Buchstaben zusammengeklebt sind, sucht der
Seitenanpaßprozeß Schablonen auf die linken und rechten Seiten
des Zeichenfensters zu legen. Jede dieser Schablonen wird
dabei mit der linken Seite des Zeichenfensters ausgerichtet,
um eine Übereinstimmung auf der linken Seite zu suchen, wäh
rend Pixel rechts von den Ein-Pixeln in der Schablone igno
riert werden. Bei dem aktuellen Beispiel würde ein Auflegen
einer Schablone mit dem Zeichen "i" auf die linke Seite des
Zeichenfensters eine Übereinstimmung ergeben. Ist dies der
Fall, so wird der ASCII-Code für ein "i" in der Fahne re
gistriert, und der Seitenanpaßprozeß entfernt die den Buchsta
ben "i" darstellenden Pixel aus dem Fenster. Das Verfahren
wird danach fortgesetzt, indem eine Seitenanpassung an den
restlichen Pixeln im Fenster versucht wird. In diesem Falle
würde eine Übereinstimmung auftreten, wenn eine Schablone für
das Zeichen "t" verwendet würde.
Die Seitenanpassungsmethode kann sowohl für die rechte als
auch für die linke Seite eines Zeichenfensters benutzt werden
und wird angewandt auf alle möglichen vertikalen Ausrichtun
gen. Wenn die Seitenanpassung von der linken Seite des Zei
chenfensters unerkannte Zeichen übrig läßt, wird die Seitenan
passung von der rechten Seite aus versucht.
Da einige Buchstabenformen Untergruppen von anderen sind (z. B.
r-n-m oder c-o-d), werden die Schablonen vor ihrer Verwendung
bei der Seitenanpassung nach der Größe geordnet. Einige Scha
blonen (z. B. ein Punkt) sind vom Seitenanpaßprozeß deshalb
ausgeschlossen, da derartige Schablonen Übereinstimmungen mit
praktisch allen Bildern ergeben.
Bei dem beschriebenen Beispiel wird die Seitenanpassung an
Zeichenfenstern im Zurückweisungscache nach Beendigung der
Verarbeitung aller Zeichen im Dokument versucht. Dies ermög
licht die Erzeugung einer relativ großen Bibliothek von Scha
blonen und erhöht die Chancen einer erfolgreichen Identifizie
rung von Buchstaben mit Hilfe der Seitenanpaßmethode.
Mit dem Zeichenerkennungsverfahren werden Zeichen nach ihrer
Form identifiziert. Die Form des Zeichens allein ist jedoch in
einigen Fällen nicht eindeutig bestimmend für das Zeichen
selbst. Beispielsweise läßt sich der Kleinbuchstabe "s" unter
Umständen nicht von dem Großbuchstaben "S" unterscheiden. Als
anderes Beispiel ist ein Apostroph aufgrund seiner Form allein
nicht von einem Komma unterscheidbar. Die Kontextanalysenrou
tine akzeptiert als Eingabe und verwendet als Ausgabe die
Fahne der Zeichencodes, wie sie von den Zeichenerkennungsrou
tinen erzeugt wird. Eine Kontextanalyse wird an einer Seiten
zeile oder -linie gleichzeitig durchgeführt, und zwar in dem
Versuch, Unsicherheiten zu klären. Im folgenden wird auf Fig.
15 Bezug genommen, in der das Verfahren nach einem bevorzugten
Beispiel der Erfindung dargestellt ist.
Das beschriebene Beispiel der Erfindung enthält eine Datenbank
mit charakteristischen Attributen der verschiedenen Zeichen.
Diese Attribute können Informationen darüber beinhalten, ob
das Zeichen typischerweise vollständig über der Grundlinie der
Zeichenzeile liegt oder ob eine Unterlänge oder ein anderer
Teil des Zeichens sich typischerweise unter die Grundlinie
erstreckt. Die Datenbank enthält auch Informationen über die
relative Größe der Zeichen, die normalerweise zweifelhaft ist,
wenn nach der Form allein identifiziert wird. So kann die
Datenbank beispielsweise Informationen zur Unterscheidung
zwischen Groß- und Kleinbuchstaben "S" und "s" auf der Basis
der erwarteten Relativgröße enthalten.
Jede Zeile der Seite wird aus der Fahne in einen Puffer zur
Vorbereitung der Zeile für die Weiterverarbeitung kopiert,
Block 1501. Während dieses Kopiervorgangs einer Zeile in den
Puffer werden den Zeichen aus der Zeichenattribut-Datenbank
Werte zugeordnet, wie Informationen darüber, ob die Zeichen
über die Basislinie hinausgehen und ob die relative Größe des
Zeichens einen Groß- oder Kleinbuchstaben charakterisiert. Der
Abstand zwischen Worten wird ebenfalls an dieser Stelle da
durch bestimmt, daß ein Histogramm der Abstände zwischen Buch
staben konstruiert und analysiert wird. Wenn Mehrdeutigkeiten
für ein Zeichen geklärt werden, macht die Erfindung von
bei der Klärung dieser Mehrdeutigkeiten gewonnenen Informationen
Gebrauch, um Mehrdeutigkeiten der benachbarten Zeichen zu
lösen.
Die Basislinie wird auch bezüglich der Schräglage eingestellt.
Bei dem beschriebenen Ausführungsbeispiel kann die Schräglage
dadurch eingestellt werden, daß die erwartete Basislinie für
jeden Einzelbuchstaben geprüft und die Basislinie für die
Gesamtzeile aufgrund dieser Information eingestellt wird. Wenn
die Werte für die Basislinie aber von Zeichen zu Zeichen oder
von Wort zu Wort wesentlich voneinander abweichen, wird ein
Zeichen nahe jedes Zeilenendes gesucht, das eine mit ausrei
chender Zuverlässigkeit auf der Basislinie befindliche Posi
tion hat (z. B. der Buchstabe "B" sitzt auf der Basislinie,
während die Lage des Buchstabens "Q" nicht als ausreichend
zuverlässig auf der Basislinie gelegen angesehen werden kann,
da bei einigen Schrifttypen ein Fuß oder Abstrich über die
Basislinie hinausgehen kann). Danach wird eine eingestellte
Basislinie dadurch bestimmt, daß man eine den Boden dieser
beiden Zeichen nahe jedes Zeilenendes verbindende Gerade
zeichnet.
Die typischen Höhen von Klein- und Großbuchstaben in der Zeile
werden durch Bildung von Histogramminformationen bestimmt,
welche die Höhen von unzweifelhaft bestimmten Zeichen zeigen.
Normalerweise zeigen derartige Histogramme zwei Spitzenni
veaus, unter denen ein erstes Niveau den Kleinbuchstaben und
ein zweites Niveau den Großbuchstaben entspricht.
Gewisse Zeichentypen, wie Unterstreichungen, werden zum Ende
des Pufferbereichs bewegt. Dies ermöglicht es, daß diese Zei
chen während des Hauptteils der Kontextanalyse effektiv igno
riert werden. Solche Zeichen werden an ihren vorhergehenden
Positionen in der Zeile kurz vor Beendigung des Zeichenanaly
sevorgangs wiederhergestellt.
Schließlich wird eine Histogrammtypanalyse von der Breite des
weißen Raums zwischen benachbarten Zeichen in der Zeile durch
geführt. Bei dem beschriebenen Beispiel werden Punktzeichen in
die Histogrammanalyse nicht einbezogen, wenn die Zeile nicht
vollständig aus gepunkteten Linien besteht. Typischerweise hat
das Histogramm zwei Spitzenniveaus. Das erste Spitzenniveau
wird angenommen als Darstellung des Zeichenabstands zwischen
Einzelbuchstaben innerhalb von Worten, und das zweite Spitzen
niveau wird als Wortabstandsniveau angenommen. Wenn es keine
zwei unterschiedlichen Spitzenniveaus gibt, wird der Wortab
stand angenommen als ein Mittelpunkt zwischen Spitzenniveaus.
Wenn es nicht wenigstens zwei Spitzen gibt, wird ein willkür
licher Wortabstand auf der Basis mittlerer Höhen von Zeichen
in der Zeile bestimmt.
Nach der Präparierung der Zeile für die Kontextanalyse, Block
1501, wird ein erster Durchlauf über jedes Zeichen in der
Zeile durchgeführt, Block 1502, um Mehrdeutigkeiten zu klären.
Dieser erste Durchlauf sucht nach solchen Charakteristiken,
wie der relativen Höhe von Zeichen in jedem Wort, den Positio
nen relativ zur Grundlinie usw.. In den Fällen, bei denen die
Unterscheidung zwischen einer Zahl und einem Buchstaben unklar
ist, wird das Zeichen relativ zu anderen Zeichen in der Nach
barschaft analysiert, um zu bestimmen, ob dieses oder benach
barte Zeichen numerisch oder alphabetisch sind. Die Bestimmung
von Zeichenmehrdeutigkeiten erfolgt nach einem iterativen
Prozeß, bei dem über Nachbarzeichen bekannte Informationen für
die Analyse eines speziellen Zeichens herangezogen werden.
Nach der Prüfung aller Zeichen in einem Wort werden Konsi
stenzprüfungen durchgeführt. Wenn ein oder mehrere Zeichen mit
inkonsistenten Eigenschaften ermittelt werden, werden alle
Zeichen im Wort als möglicherweise falsch interpretiert ausge
flaggt. Ein zweiter Durchlauf der Kontextanalysenroutine soll
die Interpretation korrigieren.
Nach Beendigung des ersten Kontextanalysendurchlaufs für jede
Zeile in der Fahne versucht die Kontextanalysenroutine, eine
Schriftart-Identifizierungsnummer jedem Zeichen in der Fahne zuzu
ordnen und die Zeichengrößen für jede Schriftart zu bestimmen, Block 1503. Die
Schriftartidentifizierung wird über die Fahne fortgesetzt,
indem alle Zeichen, die durch Schablonen identifiziert wurden,
verfolgt werden. Alle diejenigen Zeichen, welche mit einer
speziellen Schablone übereinstimmen, werden miteinander in
einer Verknüpfungsliste verknüpft, wobei die Verknüpfungsliste
eine auf eine besondere Schablone hinweisende Wurzel hat. Auf
der Basis dieser verknüpften Zeichenlisten werden unter der
Bedingung Worte zu Schriftarten zugeordnet, daß Worte mit von
derselben Schablone identifizierten Zeichen dieselbe Schrift
art haben. Dieser ist ein langer iterativer Prozeß. Nachher
werden Histogramminformationen erstellt, welche die Höhe von
Groß- und Kleinbuchstaben in jeder Schriftart detailliert
beschreiben.
Danach wird ein zweiter Durchlauf über jede Zeile in der Fahne
durchgeführt, Block 1504. Während des ersten Durchlaufs als
unstimmig ausgeflaggte Worte werden erneut analysiert, um
festzustellen, welche Buchstaben unrichtig sind. Der zweite
Durchlauf prüft solche Kennzeichen, wie Grundliniengleich
mäßigkeit, Zeichengrößengleichmäßigkeit, alphabetischen/nume
rischen Kontext usw..
Schließlich wird ein Reihe von gemischten Säuberungsroutinen
verwendet, Block 1505. Hierzu gehören die Prüfung der Zeichen
setzung zur Gewährleistung einer vernünftigen Größe und Posi
tion. Beispielsweise wird ein übergroßes Satzzeichen
wahrscheinlich als unerkanntes Zeichen behandelt und als sol
ches ausgeflaggt. Punkte und relativ breite Kommas oder Apo
strophe, die über der Basislinie und unterhalb des oberen
Endes des Kleinbuchstabens liegen, können kurze Gedankenstri
che oder Punktfolgen sein. Diese Zeichen werden dem ASCII-Code
für einen Gedanken- oder Bindestrich zugeordnet. Bei dem Ver
such, in einem Bit-mapped-Bild, das einen nicht-gedruckten
Text darstellt, etwas wie eine Unterschrift oder ein Logo zu
erkennen, ist das Ergebnis typischerweise eine Folge mit uner
kannten Zeichen und ein Satz anderer Zeichen, wie Satzzeichen
und Gedankenstrichen. Derartige Folgen kollabieren in einem
einzigen unerkannten Zeichen. Aufeinanderfolgende einzelne
Angaben werden in doppelte Anführungszeichen zusammengefaßt.
Die Kontextanalysenroutine versucht auch, durch die Zeichener
kennungsroutinen getrennte Zeichen zu verschmelzen. So können
beispielsweise zwei Zeichen, die von den Zeichenerkennungsrou
tinen als offene Klammern erkannt worden sind "(", gefolgt von
einer geschlossenen Klammer")" tatsächlich den Buchstaben "O"
darstellen. Die Kontextanalysenroutinen versuchen, derartig
gesplittete Zeichen dadurch zu vereinigen, daß sie die Posi
tionsnähe und die Zusammengehörigkeit spezieller Zeichenpaare
erkennt.
Andere Zeichen, wie Unterstreichungen, werden analysiert, um
festzustellen, ob sie innerhalb einer vorgegebenen Distanz von
der Basislinie liegen. Wenn die Unterstreichung mehr als eine
vorgegebene Distanz entfernt ist oder wenn ihre Ränder nicht
mit den Wortgrenzen zusammenfallen, wird sie als Linie und
nicht als Unterstreichung aufgefaßt. Andererseits werden die
Zeichen oberhalb der Unterstreichung als unterstrichen ausge
flaggt. Die vorgegebene Distanz wird auf der Basis des relati
ven Kontextes der Zeile, einschließlich solcher Faktoren wie
Größe der Buchstaben, bestimmt.
Die Kontextanalysenroutinen versuchen, nicht-identifizierte Zei
chen durch Verschmelzen unterbrochener Zeichenteile, durch
Wiedereinführen von Zeichen in die Zeichenerkennungsroutinen
und die Anlegung weniger scharfer Beschränkungen für die Er
kennung zu identifizieren.
Am Ausgang der Kontextanalysenroutinen erscheint die vollstän
dige abgetastete Seite mit ASCII-Zeichendarstellungen für die
Zeichen auf der Seite in der normalen Lesefolge der Zeichen.
Claims (8)
1. Verfahren zum Erkennen von Zeichen auf einem Medium
wobei das Medium abgetastet und ein Bit-mapped-Bild des Mediums erzeugt wird;
wobei das Bit-mapped-Bild einer Strukturanalyse (103, 203, 232) zum Isolieren einzelner Zeichen unterworfen wird und als Ausgabe der Strukturanalyse ein Bit-mapped-Bild der Zeichen erzeugt wird;
wobei die Zeichen vorläufig identifiziert werden (234); und
wobei jedes Zeichen auf der Basis des das Zeichen im Me dium umgebenden Kontextes analysiert wird (104);
dadurch gekennzeichnet,
wobei das Medium abgetastet und ein Bit-mapped-Bild des Mediums erzeugt wird;
wobei das Bit-mapped-Bild einer Strukturanalyse (103, 203, 232) zum Isolieren einzelner Zeichen unterworfen wird und als Ausgabe der Strukturanalyse ein Bit-mapped-Bild der Zeichen erzeugt wird;
wobei die Zeichen vorläufig identifiziert werden (234); und
wobei jedes Zeichen auf der Basis des das Zeichen im Me dium umgebenden Kontextes analysiert wird (104);
dadurch gekennzeichnet,
- a) daß eine Textzeile in dem Medium zum Bestimmen von räumlichen Informationen über die Textzeile analysiert wird;
- b) daß Attributdaten für jedes vorläufig identifizierte Zeichen in der Textzeile gewonnen und diesem Zeichen zuge ordnet werden; und
- c) daß Mehrdeutigkeiten bei einem vorläufig identifi zierten Zeichen mit Hilfe der räumlichen Informationen über die Textzeile und mit Hilfe der zugeordneten Attributdaten aufgelöst werden (1502).
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß die räumlichen Informationen Informationen über den
Schrägfehler der Textzeile, den Zeichenabstand und über Zei
chenhöhen (1503) umfassen.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekenn
zeichnet,
daß ein Histogramm der Abstände zwischen den Zeichen in der Textzeile erzeugt wird; und
daß die mittlere Höhe von unzweifelhaft identifizierten Zeichen in der Textzeile bestimmt wird (1503).
daß ein Histogramm der Abstände zwischen den Zeichen in der Textzeile erzeugt wird; und
daß die mittlere Höhe von unzweifelhaft identifizierten Zeichen in der Textzeile bestimmt wird (1503).
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet,
daß eine Datenbank von charakteristischen Attributen be kannter Zeichen vorgesehen wird; und
daß auf die Datenbank zum Gewinnen von charakteristi schen Attributen des mehrdeutigen Zeichens zugegriffen wird.
daß eine Datenbank von charakteristischen Attributen be kannter Zeichen vorgesehen wird; und
daß auf die Datenbank zum Gewinnen von charakteristi schen Attributen des mehrdeutigen Zeichens zugegriffen wird.
5. Anordnung zum Erkennen von Zeichen auf einem Medium
mit
einer Scannereinrichtung, die ausgangsseitig ein Bit- mapped-Bild des Mediums erzeugt;
einem mit der Scannereinrichtung gekoppelten Speicher zum Speichern des Bit-mapped-Bildes;
einer mit dem Speicher gekoppelten Prozessoreinrichtung zur Strukturanalyse des Bit-mapped-Bildes des Mediums und zur Ausgabe einer Bit-mapped-Darstellung der Zeichen;
einer Einrichtung zum vorläufigen Identifizieren der Zeichen und
einer Einrichtung zum Analysieren jedes Zeichens auf der Basis des das Zeichen im Medium umgebenden Kontextes, wobei die Einrichtung zum Analysieren gekennzeichnet ist durch:
eine erste Einrichtung zum Analysieren einer Textzeile zum Bestimmen von räumlichen Informationen über die Text zeile im Medium;
eine zweite Einrichtung zum Gewinnen und Zuordnen von Attributdaten für jedes vorläufig identifizierte Zeichen in der Textzeile; und
eine mit der ersten und der zweiten Einrichtung gekop pelte Einrichtung zum Auflösen von Mehrdeutigkeiten bei ei nem vorläufig identifizierten Zeichen mit Hilfe der räumli chen Informationen über die Textzeile und der zugeordneten Attributdaten.
einer Scannereinrichtung, die ausgangsseitig ein Bit- mapped-Bild des Mediums erzeugt;
einem mit der Scannereinrichtung gekoppelten Speicher zum Speichern des Bit-mapped-Bildes;
einer mit dem Speicher gekoppelten Prozessoreinrichtung zur Strukturanalyse des Bit-mapped-Bildes des Mediums und zur Ausgabe einer Bit-mapped-Darstellung der Zeichen;
einer Einrichtung zum vorläufigen Identifizieren der Zeichen und
einer Einrichtung zum Analysieren jedes Zeichens auf der Basis des das Zeichen im Medium umgebenden Kontextes, wobei die Einrichtung zum Analysieren gekennzeichnet ist durch:
eine erste Einrichtung zum Analysieren einer Textzeile zum Bestimmen von räumlichen Informationen über die Text zeile im Medium;
eine zweite Einrichtung zum Gewinnen und Zuordnen von Attributdaten für jedes vorläufig identifizierte Zeichen in der Textzeile; und
eine mit der ersten und der zweiten Einrichtung gekop pelte Einrichtung zum Auflösen von Mehrdeutigkeiten bei ei nem vorläufig identifizierten Zeichen mit Hilfe der räumli chen Informationen über die Textzeile und der zugeordneten Attributdaten.
6. Anordnung nach Anspruch 5, dadurch gekennzeichnet,
daß die Einrichtung zum Analysieren einer Textzeile eine
Einrichtung zum Beschreiben des Schrägfehlers der Textzeile,
von Zeichenabstandsinformationen und von Zeichenhöhen auf
weist.
7. Anordnung nach Anspruch 5 oder 6, wobei die Einrich
tung zum Analysieren einer Textzeile eine Einrichtung zum
Erzeugen eines Histogramms der Abstände zwischen den Zeichen
in der Textzeile und eine Einrichtung zum Bestimmen der
mittleren Höhe von unzweifelhaft identifizierten Zeichen in
der Textzeile umfasst.
8. Anordnung nach einem der Ansprüche 5 bis 7, gekenn
zeichnet durch
eine Datenbank-Einrichtung für charakteristische Attri bute von bekannten Zeichen; und durch
eine Einrichtung zum Zugreifen auf die Datenbank-Ein richtung zum Gewinnen von charakteristischen Attributen ei nes mehrdeutigen Zeichens.
eine Datenbank-Einrichtung für charakteristische Attri bute von bekannten Zeichen; und durch
eine Einrichtung zum Zugreifen auf die Datenbank-Ein richtung zum Gewinnen von charakteristischen Attributen ei nes mehrdeutigen Zeichens.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/230,847 US5131053A (en) | 1988-08-10 | 1988-08-10 | Optical character recognition method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3926327A1 DE3926327A1 (de) | 1990-02-15 |
DE3926327C2 true DE3926327C2 (de) | 1999-03-18 |
Family
ID=22866815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3926327A Expired - Fee Related DE3926327C2 (de) | 1988-08-10 | 1989-08-09 | Verfahren und System zum Erkennen von Zeichen auf einem Medium |
Country Status (3)
Country | Link |
---|---|
US (6) | US5131053A (de) |
DE (1) | DE3926327C2 (de) |
GB (1) | GB2222475A (de) |
Families Citing this family (183)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5131053A (en) * | 1988-08-10 | 1992-07-14 | Caere Corporation | Optical character recognition method and apparatus |
EP0385009A1 (de) * | 1989-03-03 | 1990-09-05 | Hewlett-Packard Limited | Gerät und Verfahren zur Anwendung bei der Bildverarbeitung |
JP2809762B2 (ja) * | 1989-11-14 | 1998-10-15 | 株式会社東芝 | 図形整形装置 |
JP2523222B2 (ja) * | 1989-12-08 | 1996-08-07 | ゼロックス コーポレーション | 画像縮小/拡大方法及び装置 |
DE69226103T2 (de) * | 1991-02-22 | 1998-11-19 | Canon Kk | System zur Bildbearbeitung |
US5258855A (en) * | 1991-03-20 | 1993-11-02 | System X, L. P. | Information processing methodology |
EP0506483B1 (de) * | 1991-03-29 | 1999-02-17 | Canon Kabushiki Kaisha | Anordnung zur Registrierung von Informationen und Verfahren zur Bildregistrierung |
JPH0772906B2 (ja) * | 1991-07-10 | 1995-08-02 | 富士ゼロックス株式会社 | 文書認識装置 |
CA2077970C (en) * | 1991-11-19 | 1999-02-23 | Daniel P. Huttenlocher | Optical word recognition by examination of word shape |
JPH05151254A (ja) * | 1991-11-27 | 1993-06-18 | Hitachi Ltd | 文書処理方法およびシステム |
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US5361204A (en) * | 1992-03-19 | 1994-11-01 | The Titan Corporation | Searching for key bit-mapped image patterns |
US5335290A (en) * | 1992-04-06 | 1994-08-02 | Ricoh Corporation | Segmentation of text, picture and lines of a document image |
US5452374A (en) * | 1992-04-06 | 1995-09-19 | Ricoh Corporation | Skew detection and correction of a document image representation |
US6323961B1 (en) | 1992-11-06 | 2001-11-27 | Michael I. Rackman | Facsimile machine for printing documents with selectively aligned edges |
GB2273383A (en) * | 1992-12-10 | 1994-06-15 | Ibm | Character recognition |
US6212299B1 (en) | 1992-12-11 | 2001-04-03 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for recognizing a character |
JPH06208654A (ja) * | 1993-01-08 | 1994-07-26 | Hitachi Software Eng Co Ltd | ペン入力図形編集システム |
US6002798A (en) * | 1993-01-19 | 1999-12-14 | Canon Kabushiki Kaisha | Method and apparatus for creating, indexing and viewing abstracted documents |
US5375176A (en) * | 1993-04-19 | 1994-12-20 | Xerox Corporation | Method and apparatus for automatic character type classification of European script documents |
JP3302147B2 (ja) * | 1993-05-12 | 2002-07-15 | 株式会社リコー | 文書画像処理方法 |
AU672482B2 (en) * | 1993-06-29 | 1996-10-03 | Keech Castings Australia Pty Limited | Spool and wedge assembly and method of use thereof |
IL106406A (en) * | 1993-07-20 | 1997-03-18 | Scitex Corp Ltd And Advanced V | Automatic inspection of printing plates or cylinders |
WO1995004428A1 (en) * | 1993-08-02 | 1995-02-09 | Solomon, Hadar | Apparatus and method for creating and transmitting confidential documents |
US5311607A (en) * | 1993-08-25 | 1994-05-10 | Crosby Peter A | Facsimile machine for printing documents all with corresponding edges aligned but without requiring scanning |
JP3050007B2 (ja) * | 1993-08-26 | 2000-06-05 | ミノルタ株式会社 | 画像読取装置およびこれを備えた画像形成装置 |
DE69423838T2 (de) * | 1993-09-23 | 2000-08-03 | Xerox Corp., Rochester | Semantische Gleichereignisfilterung für Spracherkennung und Signalübersetzungsanwendungen |
US6415048B1 (en) | 1993-10-12 | 2002-07-02 | Schneider Medical Technologies, Inc. | Compositional analysis system |
JP3693691B2 (ja) * | 1993-12-30 | 2005-09-07 | 株式会社リコー | 画像処理装置 |
GB2288476A (en) * | 1994-04-05 | 1995-10-18 | Ibm | Authentication of printed documents. |
DE69519323T2 (de) * | 1994-04-15 | 2001-04-12 | Canon Kk | System zur Seitensegmentierung und Zeichenerkennung |
US6268935B1 (en) * | 1994-04-15 | 2001-07-31 | Minolta Co., Ltd. | Image processor |
US5535313A (en) * | 1994-07-18 | 1996-07-09 | Motorola, Inc. | Automated quality control in a document conversion system |
JP3278297B2 (ja) * | 1994-07-20 | 2002-04-30 | 富士通株式会社 | データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置 |
US5702059A (en) * | 1994-07-26 | 1997-12-30 | Meta Holding Corp. | Extended working range dataform reader including fuzzy logic image control circuitry |
US5811784A (en) * | 1995-06-26 | 1998-09-22 | Telxon Corporation | Extended working range dataform reader |
US5763864A (en) * | 1994-07-26 | 1998-06-09 | Meta Holding Corporation | Dataform reader including dual laser and imaging reading assemblies |
US5815200A (en) * | 1994-07-26 | 1998-09-29 | Metanetics Corporation | Extended working range dataform reader with reduced power consumption |
US6424830B1 (en) | 1994-07-26 | 2002-07-23 | Telxon Corporation | Portable data collection network with telephone and voice mail capability |
US5625711A (en) * | 1994-08-31 | 1997-04-29 | Adobe Systems Incorporated | Method and apparatus for producing a hybrid data structure for displaying a raster image |
US5729637A (en) | 1994-08-31 | 1998-03-17 | Adobe Systems, Inc. | Method and apparatus for producing a hybrid data structure for displaying a raster image |
DE69525401T2 (de) * | 1994-09-12 | 2002-11-21 | Adobe Systems, Inc. | Verfahren und Gerät zur Identifikation von Wörtern, die in einem portablen elektronischen Dokument beschrieben sind |
CA2154952A1 (en) * | 1994-09-12 | 1996-03-13 | Robert M. Ayers | Method and apparatus for identifying words described in a page description language file |
US5987171A (en) * | 1994-11-10 | 1999-11-16 | Canon Kabushiki Kaisha | Page analysis system |
US5649024A (en) * | 1994-11-17 | 1997-07-15 | Xerox Corporation | Method for color highlighting of black and white fonts |
US5689342A (en) * | 1994-11-17 | 1997-11-18 | Canon Kabushiki Kaisha | Image processing method and apparatus which orders text areas which have been extracted from an image |
US5608874A (en) * | 1994-12-02 | 1997-03-04 | Autoentry Online, Inc. | System and method for automatic data file format translation and transmission having advanced features |
US5668891A (en) * | 1995-01-06 | 1997-09-16 | Xerox Corporation | Methods for determining font attributes of characters |
EP0723247B1 (de) | 1995-01-17 | 1998-07-29 | Eastman Kodak Company | System und Verfahren zur Bewertung der Abbildung eines Formulars |
DE19507059B9 (de) * | 1995-03-01 | 2005-02-17 | Wevelsiep, Klaus, Prof. Dipl.-Ing. Dr. | Verfahren zur omnidirektionalen Erfassung von OCR-Klarschrift auf Etiketten oder ähnlichen Datenträgern durch zufallsgesteuerte Suche und Dekodierung mit einem neuronalen Netzwerk |
DE19508135C2 (de) * | 1995-03-08 | 1996-12-19 | Licentia Gmbh | Verfahren zur Verbesserung der Erkennung von Maschinenschriften mit fester Schriftteilung |
US6005680A (en) | 1995-04-04 | 1999-12-21 | Canon Information Systems, Inc. | Method for capturing a document image, a scanner using the method and a document image management system using the scanner |
US5764799A (en) * | 1995-06-26 | 1998-06-09 | Research Foundation Of State Of State Of New York | OCR method and apparatus using image equivalents |
US5818028A (en) * | 1995-06-26 | 1998-10-06 | Telxon Corporation | Portable data collection device with two dimensional imaging assembly |
US5703349A (en) * | 1995-06-26 | 1997-12-30 | Metanetics Corporation | Portable data collection device with two dimensional imaging assembly |
US5783811A (en) * | 1995-06-26 | 1998-07-21 | Metanetics Corporation | Portable data collection device with LED targeting and illumination assembly |
US6336094B1 (en) * | 1995-06-30 | 2002-01-01 | Price Waterhouse World Firm Services Bv. Inc. | Method for electronically recognizing and parsing information contained in a financial statement |
JPH0981763A (ja) * | 1995-07-07 | 1997-03-28 | Oki Data:Kk | 文字・イメージ混在データの圧縮方法及び装置 |
JP3006466B2 (ja) * | 1995-09-28 | 2000-02-07 | 日本電気株式会社 | 文字入力装置 |
EP0772145A3 (de) | 1995-11-06 | 1999-02-24 | JOHNSON & QUIN, INC. | System und Verfahren zur Qualitätsbestimmung von Drucksachen |
US5727220A (en) * | 1995-11-29 | 1998-03-10 | International Business Machines Corporation | Method and system for caching and referencing cached document pages utilizing a presentation data stream |
US5828771A (en) * | 1995-12-15 | 1998-10-27 | Xerox Corporation | Method and article of manufacture for determining whether a scanned image is an original image or fax image |
US5714745A (en) * | 1995-12-20 | 1998-02-03 | Metanetics Corporation | Portable data collection device with color imaging assembly |
JP3502392B2 (ja) * | 1996-01-29 | 2004-03-02 | 松下電器産業株式会社 | デジタル画像画素補填方法、及びそれを用いたデジタル画像符号化装置、画像復号化装置 |
CA2247359A1 (en) * | 1996-03-08 | 1997-09-12 | Farzad Ehsani | Method and device for handwritten character recognition |
US5793033A (en) * | 1996-03-29 | 1998-08-11 | Metanetics Corporation | Portable data collection device with viewing assembly |
US5875038A (en) * | 1996-05-28 | 1999-02-23 | Gerber Scientific, Inc. | Facsimile queuing and transmission system |
US6496600B1 (en) * | 1996-06-17 | 2002-12-17 | Canon Kabushiki Kaisha | Font type identification |
US6054990A (en) * | 1996-07-05 | 2000-04-25 | Tran; Bao Q. | Computer system with handwriting annotation |
US6202060B1 (en) | 1996-10-29 | 2001-03-13 | Bao Q. Tran | Data management system |
US5926566A (en) * | 1996-11-15 | 1999-07-20 | Synaptics, Inc. | Incremental ideographic character input method |
US6512848B2 (en) * | 1996-11-18 | 2003-01-28 | Canon Kabushiki Kaisha | Page analysis system |
US6055336A (en) * | 1996-11-18 | 2000-04-25 | Canon Kabushiki Kaisha | Image processing system which converts multi-value image data into binary image data |
US5893127A (en) * | 1996-11-18 | 1999-04-06 | Canon Information Systems, Inc. | Generator for document with HTML tagged table having data elements which preserve layout relationships of information in bitmap image of original document |
JP3427692B2 (ja) * | 1996-11-20 | 2003-07-22 | 松下電器産業株式会社 | 文字認識方法および文字認識装置 |
US5856832A (en) * | 1997-01-13 | 1999-01-05 | Hewlett-Packard Company | System and method for parsing multiple sets of data |
US6179208B1 (en) | 1997-01-31 | 2001-01-30 | Metanetics Corporation | Portable data collection device with variable focusing module for optic assembly |
JP2000517452A (ja) * | 1997-05-05 | 2000-12-26 | シェル オイル カンパニー | 視認の方法 |
US6000612A (en) * | 1997-10-10 | 1999-12-14 | Metanetics Corporation | Portable data collection device having optical character recognition |
US6028970A (en) * | 1997-10-14 | 2000-02-22 | At&T Corp | Method and apparatus for enhancing optical character recognition |
US6173073B1 (en) | 1998-01-05 | 2001-01-09 | Canon Kabushiki Kaisha | System for analyzing table images |
US6327388B1 (en) * | 1998-08-14 | 2001-12-04 | Matsushita Electric Industrial Co., Ltd. | Identification of logos from document images |
US7039856B2 (en) * | 1998-09-30 | 2006-05-02 | Ricoh Co., Ltd. | Automatic document classification using text and images |
US6363381B1 (en) * | 1998-11-03 | 2002-03-26 | Ricoh Co., Ltd. | Compressed document matching |
US6711292B2 (en) | 1998-12-30 | 2004-03-23 | Canon Kabushiki Kaisha | Block selection of table features |
US6614930B1 (en) * | 1999-01-28 | 2003-09-02 | Koninklijke Philips Electronics N.V. | Video stream classifiable symbol isolation method and system |
US7904187B2 (en) | 1999-02-01 | 2011-03-08 | Hoffberg Steven M | Internet appliance system and method |
JP3196755B2 (ja) * | 1999-02-23 | 2001-08-06 | 日本電気株式会社 | 文字の傾き検出補正方法ならびに装置 |
AUPP898499A0 (en) * | 1999-03-02 | 1999-03-25 | University Of Queensland, The | Method for image texture analysis |
DE19910621C2 (de) | 1999-03-10 | 2001-01-25 | Thomas Poetter | Vorrichtung und Verfahren zum Verbergen von Informationen und Vorrichtung und Verfahren zum Extrahieren von Informationen |
US7596606B2 (en) * | 1999-03-11 | 2009-09-29 | Codignotto John D | Message publishing system for publishing messages from identified, authorized senders |
JP3150130B2 (ja) * | 1999-03-26 | 2001-03-26 | 新潟日本電気株式会社 | 画像形成装置及びプログラムを記憶した記憶媒体 |
RU2166207C2 (ru) * | 1999-04-08 | 2001-04-27 | Закрытое акционерное общество "Аби Программное обеспечение" | Способ использования вспомогательных массивов данных в процессе преобразования и/или верификации компьютерных кодов, выполненных в виде символов, и соответствующих им фрагментов изображения |
US6658151B2 (en) * | 1999-04-08 | 2003-12-02 | Ricoh Co., Ltd. | Extracting information from symbolically compressed document images |
US6473524B1 (en) | 1999-04-14 | 2002-10-29 | Videk, Inc. | Optical object recognition method and system |
RU2166206C2 (ru) * | 1999-04-20 | 2001-04-27 | Закрытое акционерное общество "Аби Программное обеспечение" | Способ ориентированного нахождения областей в исходном массиве данных и последовательного активирования и обработки в них преобразуемых компьютерных кодов, выполненных в виде символов |
WO2000070498A1 (fr) * | 1999-05-12 | 2000-11-23 | David Evgenievich Yang | Procede d'utilisation de l'integrite de la reconnaissance, de l'orientation taches de la reconnaissance et de l'adaptabilite afin de convertir des codes informatiques lors du processus de reconnaissance de fragments d'images qui leur correspondent |
US6624909B1 (en) | 1999-05-27 | 2003-09-23 | International Business Machines Corporation | Image file format for storing graphical matter and related information |
US7240062B2 (en) * | 2000-03-06 | 2007-07-03 | Iarchives, Inc. | System and method for creating a searchable word index of a scanned document including multiple interpretations of a word at a given document location |
US20020006214A1 (en) * | 2000-03-21 | 2002-01-17 | Karlsson Sven Olof | Secure signature checking system |
US6587103B1 (en) * | 2000-03-29 | 2003-07-01 | Autodesk, Inc. | Method and apparatus for determining coincident lines |
US8682077B1 (en) | 2000-11-28 | 2014-03-25 | Hand Held Products, Inc. | Method for omnidirectional processing of 2D images including recognizable characters |
US6985627B2 (en) * | 2000-12-06 | 2006-01-10 | Xerox Corporation | LED bar array high addressable imaging in 2-dimensions |
US7311256B2 (en) * | 2000-12-19 | 2007-12-25 | Zih Corp. | Barcode optical character recognition |
US6832726B2 (en) | 2000-12-19 | 2004-12-21 | Zih Corp. | Barcode optical character recognition |
US6947179B2 (en) * | 2000-12-28 | 2005-09-20 | Pitney Bowes Inc. | Method for determining the information capacity of a paper channel and for designing or selecting a set of bitmaps representative of symbols to be printed on said channel |
JP2004527933A (ja) * | 2001-01-09 | 2004-09-09 | メシュリム、ジッシャ、ゴルドクラング | 装飾画像をテキスト及び/もしくは絵模様で代替する改善された装置及び方法 |
US20020181779A1 (en) * | 2001-06-04 | 2002-12-05 | Hansen Von L. | Character and style recognition of scanned text |
US20030084031A1 (en) * | 2001-10-31 | 2003-05-01 | Tarquini Richard P. | System and method for searching a signature set for a target signature |
US6999635B1 (en) * | 2002-05-01 | 2006-02-14 | Unisys Corporation | Method of reducing background noise by tracking character skew |
NZ536775A (en) * | 2002-05-20 | 2007-11-30 | Tata Infotech Ltd | Document structure identifier |
RU2234126C2 (ru) * | 2002-09-09 | 2004-08-10 | Аби Софтвер Лтд. | Способ распознавания текста с применением настраиваемого классификатора |
RU2251151C2 (ru) * | 2002-12-17 | 2005-04-27 | Аби Софтвер Лтд. | Способ анализа растрового изображения |
US8606015B2 (en) | 2002-12-17 | 2013-12-10 | Abbyy Development Llc | Multilevel image analysis |
US7310769B1 (en) | 2003-03-12 | 2007-12-18 | Adobe Systems Incorporated | Text encoding using dummy font |
US7922623B2 (en) * | 2003-03-25 | 2011-04-12 | Spri Products, Inc. | Adjustable exercise device and a device for adjusting an exercise device |
RU2259592C2 (ru) * | 2003-06-24 | 2005-08-27 | "Аби Софтвер Лтд." | Способ распознавания графических объектов с использованием принципа целостности |
US20070104370A1 (en) * | 2003-11-18 | 2007-05-10 | Siemens Aktiengesellschaft | System and method for smart polling |
KR20060097129A (ko) * | 2003-11-18 | 2006-09-13 | 시에멘스 에이지 | 우편물을 전송하기 위한 방법 및 장치 |
US7286718B2 (en) * | 2004-01-26 | 2007-10-23 | Sri International | Method and apparatus for determination of text orientation |
US8442331B2 (en) | 2004-02-15 | 2013-05-14 | Google Inc. | Capturing text from rendered documents using supplemental information |
US7707039B2 (en) | 2004-02-15 | 2010-04-27 | Exbiblio B.V. | Automatic modification of web pages |
JP3996580B2 (ja) * | 2004-01-29 | 2007-10-24 | Necディスプレイソリューションズ株式会社 | 映像表示方法、映像表示装置及びプログラム |
US10635723B2 (en) | 2004-02-15 | 2020-04-28 | Google Llc | Search engines and systems with handheld document data capture devices |
US7812860B2 (en) | 2004-04-01 | 2010-10-12 | Exbiblio B.V. | Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device |
US7466875B1 (en) | 2004-03-01 | 2008-12-16 | Amazon Technologies, Inc. | Method and system for determining the legibility of text in an image |
CA2460888A1 (en) * | 2004-03-12 | 2005-09-12 | Harpe And Associates Ltd. | Method for image alignment and identification |
US20050210047A1 (en) * | 2004-03-18 | 2005-09-22 | Zenodata Corporation | Posting data to a database from non-standard documents using document mapping to standard document types |
US9008447B2 (en) | 2004-04-01 | 2015-04-14 | Google Inc. | Method and system for character recognition |
US9116890B2 (en) | 2004-04-01 | 2015-08-25 | Google Inc. | Triggering actions in response to optically or acoustically capturing keywords from a rendered document |
US20060081714A1 (en) | 2004-08-23 | 2006-04-20 | King Martin T | Portable scanning device |
US9143638B2 (en) | 2004-04-01 | 2015-09-22 | Google Inc. | Data capture from rendered documents using handheld device |
US8081849B2 (en) | 2004-12-03 | 2011-12-20 | Google Inc. | Portable scanning and memory device |
US20060098900A1 (en) | 2004-09-27 | 2006-05-11 | King Martin T | Secure data gathering from rendered documents |
US7990556B2 (en) | 2004-12-03 | 2011-08-02 | Google Inc. | Association of a portable scanner with input/output and storage devices |
US8146156B2 (en) | 2004-04-01 | 2012-03-27 | Google Inc. | Archive of text captures from rendered documents |
US7894670B2 (en) | 2004-04-01 | 2011-02-22 | Exbiblio B.V. | Triggering actions in response to optically or acoustically capturing keywords from a rendered document |
US8713418B2 (en) | 2004-04-12 | 2014-04-29 | Google Inc. | Adding value to a rendered document |
US8620083B2 (en) | 2004-12-03 | 2013-12-31 | Google Inc. | Method and system for character recognition |
US8489624B2 (en) | 2004-05-17 | 2013-07-16 | Google, Inc. | Processing techniques for text capture from a rendered document |
US8874504B2 (en) | 2004-12-03 | 2014-10-28 | Google Inc. | Processing techniques for visual capture data from a rendered document |
US8346620B2 (en) | 2004-07-19 | 2013-01-01 | Google Inc. | Automatic modification of web pages |
US7675641B2 (en) * | 2004-10-28 | 2010-03-09 | Lexmark International, Inc. | Method and device for converting scanned text to audio data via connection lines and lookup tables |
US7555713B2 (en) * | 2005-02-22 | 2009-06-30 | George Liang Yang | Writing and reading aid system |
US7596270B2 (en) * | 2005-09-23 | 2009-09-29 | Dynacomware Taiwan Inc. | Method of shuffling text in an Asian document image |
US8787660B1 (en) * | 2005-11-23 | 2014-07-22 | Matrox Electronic Systems, Ltd. | System and method for performing automatic font definition |
US7684619B2 (en) * | 2006-01-09 | 2010-03-23 | Apple Inc. | Text flow in and around irregular containers |
EP2067119A2 (de) | 2006-09-08 | 2009-06-10 | Exbiblio B.V. | Optische scanner, zum beispiel tragbare optische scanner |
US7831098B2 (en) * | 2006-11-07 | 2010-11-09 | Recognition Robotics | System and method for visual searching of objects using lines |
CN107102723B (zh) * | 2007-08-20 | 2019-12-06 | 高通股份有限公司 | 用于基于手势的移动交互的方法、装置、设备和非暂时性计算机可读介质 |
US9261979B2 (en) * | 2007-08-20 | 2016-02-16 | Qualcomm Incorporated | Gesture-based mobile interaction |
US20110103713A1 (en) * | 2008-03-12 | 2011-05-05 | Hans Christian Meyer | Word length indexed dictionary for use in an optical character recognition (ocr) system |
US8620080B2 (en) * | 2008-09-26 | 2013-12-31 | Sharp Laboratories Of America, Inc. | Methods and systems for locating text in a digital image |
KR101522985B1 (ko) * | 2008-10-31 | 2015-05-27 | 삼성전자주식회사 | 영상처리 장치 및 방법 |
TWI410879B (zh) * | 2009-01-23 | 2013-10-01 | Ind Tech Res Inst | 影像辨識與輸出方法以及其系統 |
EP2399385B1 (de) | 2009-02-18 | 2019-11-06 | Google LLC | Automatische informationserfassung wie etwa informationserfassung anhand einer dokumentbewussten vorrichtung |
JP5343617B2 (ja) * | 2009-02-25 | 2013-11-13 | 富士通株式会社 | 文字認識プログラム、文字認識方法および文字認識装置 |
WO2010105246A2 (en) * | 2009-03-12 | 2010-09-16 | Exbiblio B.V. | Accessing resources based on capturing information from a rendered document |
US8447066B2 (en) | 2009-03-12 | 2013-05-21 | Google Inc. | Performing actions based on capturing information from rendered documents, such as documents under copyright |
US9081799B2 (en) | 2009-12-04 | 2015-07-14 | Google Inc. | Using gestalt information to identify locations in printed information |
US9323784B2 (en) | 2009-12-09 | 2016-04-26 | Google Inc. | Image search using text-based elements within the contents of images |
US9152617B2 (en) * | 2010-03-11 | 2015-10-06 | A2iA S.A. | System and method for processing objects |
CN102455997A (zh) * | 2010-10-27 | 2012-05-16 | 鸿富锦精密工业(深圳)有限公司 | 元件名称提取系统及方法 |
KR101102896B1 (ko) * | 2011-03-04 | 2012-01-09 | (주)올라웍스 | 복수의 사용자가 동시에 콜렉션을 수행할 수 있도록 지원하기 위한 방법, 서버 및 컴퓨터 판독 가능한 기록 매체 |
JP5508359B2 (ja) * | 2011-08-03 | 2014-05-28 | シャープ株式会社 | 文字認識装置、文字認識方法及びプログラム |
US9047528B1 (en) * | 2013-02-19 | 2015-06-02 | Amazon Technologies, Inc. | Identifying characters in grid-based text |
US9311338B2 (en) * | 2013-08-26 | 2016-04-12 | Adobe Systems Incorporated | Method and apparatus for analyzing and associating behaviors to image content |
US9288362B2 (en) | 2014-02-03 | 2016-03-15 | King Fahd University Of Petroleum And Minerals | Technique for skew detection of printed arabic documents |
US9965679B2 (en) | 2014-11-05 | 2018-05-08 | Accenture Global Services Limited | Capturing specific information based on field information associated with a document class |
US9886436B2 (en) | 2014-11-06 | 2018-02-06 | Accenture Global Services Limited | Conversion of documents of different types to a uniform and an editable or a searchable format |
US20160343086A1 (en) * | 2015-05-19 | 2016-11-24 | Xerox Corporation | System and method for facilitating interpretation of financial statements in 10k reports by linking numbers to their context |
US10115016B2 (en) | 2017-01-05 | 2018-10-30 | GM Global Technology Operations LLC | System and method to identify a vehicle and generate reservation |
US10229601B2 (en) | 2017-01-30 | 2019-03-12 | GM Global Technology Operations LLC | System and method to exhibit vehicle information |
CN108537225A (zh) * | 2017-03-01 | 2018-09-14 | 重庆邮电大学 | 一种用于自动识别验证码中空心字符的方法 |
US10169650B1 (en) * | 2017-06-30 | 2019-01-01 | Konica Minolta Laboratory U.S.A., Inc. | Identification of emphasized text in electronic documents |
US10679101B2 (en) * | 2017-10-25 | 2020-06-09 | Hand Held Products, Inc. | Optical character recognition systems and methods |
US11201974B2 (en) | 2018-02-26 | 2021-12-14 | HLFIP Holding, Inc. | Systems and methods for processing requests to send private postal mail to an inmate |
US11151371B2 (en) | 2018-08-22 | 2021-10-19 | Leverton Holding, Llc | Text line image splitting with different font sizes |
JP7095541B2 (ja) * | 2018-10-09 | 2022-07-05 | 富士通株式会社 | 階層構造認識プログラム、階層構造認識方法及び階層構造認識装置 |
JP7172649B2 (ja) * | 2019-01-25 | 2022-11-16 | セイコーエプソン株式会社 | 画像処理装置および画像処理プログラム |
CN113269181A (zh) * | 2020-02-14 | 2021-08-17 | 富士通株式会社 | 信息处理装置、信息处理方法及计算机可读记录介质 |
US11501551B2 (en) * | 2020-06-08 | 2022-11-15 | Optum Services (Ireland) Limited | Document processing optimization |
US11977367B2 (en) | 2021-05-12 | 2024-05-07 | United Microelectronics Corp. | Command script editing method, command script editor and graphic user interface |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3713100B2 (en) * | 1953-02-10 | 1991-05-07 | Method and apparatus for identifying letters,characters,symbols,and the like | |
US3713099A (en) * | 1959-08-04 | 1973-01-23 | Character Recognition Corp | Method and apparatus for identifying letters, characters, symbols and the like |
NL265283A (de) * | 1960-05-31 | |||
US3641495A (en) * | 1966-08-31 | 1972-02-08 | Nippon Electric Co | Character recognition system having a rejected character recognition capability |
JPS5137494B1 (de) * | 1968-01-18 | 1976-10-15 | ||
US3618081A (en) * | 1969-06-12 | 1971-11-02 | Edwards Co | Condition detection and alarm system |
US3717848A (en) * | 1970-06-02 | 1973-02-20 | Recognition Equipment Inc | Stored reference code character reader method and system |
US3873972A (en) * | 1971-11-01 | 1975-03-25 | Theodore H Levine | Analytic character recognition system |
FR2201788A5 (de) * | 1972-10-03 | 1974-04-26 | Ibm | |
JPS5517988B2 (de) * | 1974-06-05 | 1980-05-15 | ||
US3930231A (en) * | 1974-06-10 | 1975-12-30 | Xicon Data Entry Corp | Method and system for optical character recognition |
US4177448A (en) * | 1978-06-26 | 1979-12-04 | International Business Machines Corporation | Character recognition system and method multi-bit curve vector processing |
DE3113555A1 (de) * | 1981-04-03 | 1982-10-21 | Siemens AG, 1000 Berlin und 8000 München | Verfahren zum automatischen erkennen von weissbloecken sowie text-, graphik- und/oder graubildbereichen auf druckvorlagen |
JPS58103075A (ja) * | 1981-12-16 | 1983-06-18 | Toshiba Corp | 文字読取装置 |
US4499596A (en) * | 1982-06-28 | 1985-02-12 | International Business Machines Corporation | Adaptive facsimile compression using a dynamic extendable decision network |
US4783829A (en) * | 1983-02-23 | 1988-11-08 | Hitachi, Ltd. | Pattern recognition apparatus |
US4611346A (en) * | 1983-09-29 | 1986-09-09 | International Business Machines Corporation | Method and apparatus for character recognition accommodating diacritical marks |
JPS60114975A (ja) * | 1983-11-25 | 1985-06-21 | Sumitomo Electric Ind Ltd | 光学的読取装置 |
GB2153619B (en) * | 1983-12-26 | 1988-01-20 | Canon Kk | Image processing apparatus |
US4589142A (en) * | 1983-12-28 | 1986-05-13 | International Business Machines Corp. (Ibm) | Method and apparatus for character recognition based upon the frequency of occurrence of said characters |
US4610025A (en) * | 1984-06-22 | 1986-09-02 | Champollion Incorporated | Cryptographic analysis system |
US4672678A (en) * | 1984-06-25 | 1987-06-09 | Fujitsu Limited | Pattern recognition apparatus |
US4741046A (en) * | 1984-07-27 | 1988-04-26 | Konishiroku Photo Industry Co., Ltd. | Method of discriminating pictures |
US4907285A (en) * | 1984-08-24 | 1990-03-06 | Hitachi, Ltd. | Image understanding system |
DE3686821T2 (de) * | 1985-01-10 | 1993-04-01 | Nippon Telegraph & Telephone | Halbtonbildverarbeitungseinrichtung. |
US4742556A (en) * | 1985-09-16 | 1988-05-03 | Davis Jr Ray E | Character recognition method |
JPS6274181A (ja) * | 1985-09-27 | 1987-04-04 | Sony Corp | 文字認識装置 |
US5133023A (en) * | 1985-10-15 | 1992-07-21 | The Palantir Corporation | Means for resolving ambiguities in text based upon character context |
JPS62137974A (ja) * | 1985-12-12 | 1987-06-20 | Ricoh Co Ltd | 画像処理方式 |
US4837842A (en) * | 1986-09-19 | 1989-06-06 | Holt Arthur W | Character and pattern recognition machine and method |
FR2608295B1 (fr) * | 1986-12-12 | 1989-03-31 | France Etat | Procede et dispositif de reconnaissance de caracteres |
US4944022A (en) * | 1986-12-19 | 1990-07-24 | Ricoh Company, Ltd. | Method of creating dictionary for character recognition |
JPH0634256B2 (ja) * | 1987-03-04 | 1994-05-02 | シャープ株式会社 | 接触文字切出し方法 |
JPH07104909B2 (ja) * | 1987-03-04 | 1995-11-13 | シャープ株式会社 | 文字認識方法 |
US4802230A (en) * | 1987-03-13 | 1989-01-31 | Gtx Corporation | Method and apparatus for generating size and orientation invariant shape features |
US5014327A (en) * | 1987-06-15 | 1991-05-07 | Digital Equipment Corporation | Parallel associative memory having improved selection and decision mechanisms for recognizing and sorting relevant patterns |
JP2702928B2 (ja) * | 1987-06-19 | 1998-01-26 | 株式会社日立製作所 | 画像入力装置 |
US4887304A (en) * | 1987-09-30 | 1989-12-12 | Raytheon Company | Library image optimization |
US4850026A (en) * | 1987-10-13 | 1989-07-18 | Telecommunications Laboratories Dir. Gen'l Of Telecom. Ministry Of Communications | Chinese multifont recognition system based on accumulable stroke features |
DE3870571D1 (de) * | 1987-10-16 | 1992-06-04 | Computer Ges Konstanz | Verfahren zur automatischen zeichenerkennung. |
US5062141A (en) * | 1988-06-02 | 1991-10-29 | Ricoh Company, Ltd. | Method of segmenting characters in lines which may be skewed, for allowing improved optical character recognition |
US5038381A (en) * | 1988-07-11 | 1991-08-06 | New Dest Corporation | Image/text filtering system and method |
US5131053A (en) * | 1988-08-10 | 1992-07-14 | Caere Corporation | Optical character recognition method and apparatus |
US5524453A (en) * | 1994-08-01 | 1996-06-11 | James; Timothy W. | Thermal energy storage apparatus for chilled water air-conditioning systems |
-
1988
- 1988-08-10 US US07/230,847 patent/US5131053A/en not_active Expired - Lifetime
-
1989
- 1989-08-07 GB GB8918000A patent/GB2222475A/en not_active Withdrawn
- 1989-08-09 DE DE3926327A patent/DE3926327C2/de not_active Expired - Fee Related
-
1991
- 1991-11-27 US US07/799,549 patent/US5278918A/en not_active Expired - Lifetime
-
1992
- 1992-07-15 US US07/914,119 patent/US5278920A/en not_active Expired - Lifetime
- 1992-07-15 US US07/914,442 patent/US5381489A/en not_active Expired - Lifetime
- 1992-07-15 US US07/914,191 patent/US5436983A/en not_active Expired - Lifetime
-
1993
- 1993-08-31 US US08/114,608 patent/US6038342A/en not_active Expired - Lifetime
Non-Patent Citations (3)
Title |
---|
BAYER, T., BLÄSIUS, K.-H.: "Regelgesteuerte Zeichenerkennung und Dokumentklassifikation" Mustererkennung 1987, 9. DAGM-Symposium Braun- schweig, Springer-Verlag, S. 88 * |
WONG, K.Y., CASEY, R.G., WAHL, F.M.: "Document Analysis System" IBM J.Res.Develop., Vol. 26, No. 6, Nov. 1987, S. 647-656 * |
ZIMMERMANN, R.: "Automatische Erkennung von Schriftzeichen" VDI-Z 115 (1973) Nr. 11, August, S. 875-885 * |
Also Published As
Publication number | Publication date |
---|---|
DE3926327A1 (de) | 1990-02-15 |
US5381489A (en) | 1995-01-10 |
GB8918000D0 (en) | 1989-09-20 |
US5131053A (en) | 1992-07-14 |
US5278918A (en) | 1994-01-11 |
US6038342A (en) | 2000-03-14 |
US5278920A (en) | 1994-01-11 |
US5436983A (en) | 1995-07-25 |
GB2222475A (en) | 1990-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3926327C2 (de) | Verfahren und System zum Erkennen von Zeichen auf einem Medium | |
DE69723220T2 (de) | Gerät und Verfahren zur Extrahierung von Tabellengeraden innerhalb normaler Dokumentbilder | |
DE4311172C2 (de) | Verfahren und Einrichtung zum Identifizieren eines Schrägenwinkels eines Vorlagenbildes | |
DE69230632T2 (de) | Optische Worterkennung durch Wortgestaltuntersuchung | |
DE69610243T2 (de) | Verfahren zum Trainieren einer Erkennungsanlage mit Zeichenmustern | |
DE69432585T2 (de) | Verfahren und Gerät zur Auswahl von Text und/oder Non-Text-Blöcken in einem gespeicherten Dokument | |
DE69724755T2 (de) | Auffinden von Titeln und Photos in abgetasteten Dokumentbildern | |
DE69226846T2 (de) | Verfahren zur Bestimmung von Wortgrenzen im Text | |
DE69033042T2 (de) | Datenverarbeitung | |
DE69525401T2 (de) | Verfahren und Gerät zur Identifikation von Wörtern, die in einem portablen elektronischen Dokument beschrieben sind | |
DE69516751T2 (de) | Bildvorverarbeitung für Zeichenerkennungsanlage | |
DE60129872T2 (de) | Verfahren zur Extrahierung von Titeln aus numerischen Bildern | |
DE3650554T2 (de) | Speicherungs- und Wiederauffindungsverfahren für Bilddaten | |
DE69519323T2 (de) | System zur Seitensegmentierung und Zeichenerkennung | |
DE69230633T2 (de) | Verfahren zur Ermittlung von Wortformen zum folgenden Vergleich | |
DE60303202T2 (de) | System und verfahren zum identifizieren und extrahieren von zeichenketten aus erfassten bilddaten | |
DE69724557T2 (de) | Dokumentenanalyse | |
DE69329380T2 (de) | Verfahren zum Segmentieren von Bildern und Klassifizieren von Bildelementen zur Dokumentverarbeitung | |
DE69332459T2 (de) | Verfahren und Vorrichtung zur Zeichenerkennung | |
DE69523970T2 (de) | Dokumentspeicher- und Wiederauffindungssystem | |
DE69033079T2 (de) | Aufbereitung von Text in einem Bild | |
DE69226609T2 (de) | Verfahren und Gerät zur Dokumentbildverarbeitung | |
DE69722971T2 (de) | Automatisches sprachenerkennungssystem für die mehrsprachige optische zeichenerkennung | |
DE69517564T2 (de) | Verfahren und Gerät zur Erzeugung einer hybriden Datenstruktur zur Anzeige eines Rasterbildes | |
DE69605255T2 (de) | Vorrichtung und Verfahren für die Extraktion von Artikeln eines Dokuments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06K 9/60 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: SCANSOFT, INC. (N.D.GES.D. STAATES DELAWARE), PEAB |
|
8339 | Ceased/non-payment of the annual fee |