DE4427992A1 - Verfahren zum Erzeugen einer Dokumenten-Darstellung aus einem Bitmap-Bild eines Dokuments - Google Patents
Verfahren zum Erzeugen einer Dokumenten-Darstellung aus einem Bitmap-Bild eines DokumentsInfo
- Publication number
- DE4427992A1 DE4427992A1 DE4427992A DE4427992A DE4427992A1 DE 4427992 A1 DE4427992 A1 DE 4427992A1 DE 4427992 A DE4427992 A DE 4427992A DE 4427992 A DE4427992 A DE 4427992A DE 4427992 A1 DE4427992 A1 DE 4427992A1
- Authority
- DE
- Germany
- Prior art keywords
- character
- prototype
- bitmap image
- document
- area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 32
- 239000011159 matrix material Substances 0.000 description 42
- 238000012015 optical character recognition Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 238000002156 mixing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008929 regeneration Effects 0.000 description 3
- 238000011069 regeneration method Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- LZMJNVRJMFMYQS-UHFFFAOYSA-N poseltinib Chemical compound C1CN(C)CCN1C(C=C1)=CC=C1NC1=NC(OC=2C=C(NC(=O)C=C)C=CC=2)=C(OC=C2)C2=N1 LZMJNVRJMFMYQS-UHFFFAOYSA-N 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/387—Composing, repositioning or otherwise geometrically modifying originals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Character Discrimination (AREA)
- Character Input (AREA)
- Processing Or Creating Images (AREA)
- Editing Of Facsimile Originals (AREA)
Description
Die Erfindung betrifft Verfahren zum Erzeugen einer Dokumen
ten-Darstellung aus einem Bitmap-Bild eines Dokuments nach dem
Oberbegriff des Anspruchs 1 oder 4 und betrifft insbesondere
eine digitale Bildverarbeitung und insbesondere ein Verfahren,
um digital dargestellte Zeichenbilder zu verbessern.
Digitale Techniken werden gegenwärtig angewendet, um Informa
tion auf eine Vielzahl von Wegen zu übertragen. Bei einem all
gemein üblichen Weg wird ein Faksimile- oder Fax-Gerät verwen
det, um ein Dokument von einem Ort zu einem anderen zu über
tragen. Üblicherweise wird das Dokument an dem sendenden Ort
in eine digitale Bitmap-Darstellung umgewandelt. Als nächstes
werden Bits in dem Bitmap in ein elektrisches Signal umgesetzt
und beispielsweise über eine Fernsprechleitung an den beab
sichtigten Bestimmungsort übertragen. Auf der Empfangsseite
werden die elektrischen Signale in eine Bitmap-Darstellung des
Ausgangsdokuments umgewandelt, und das Bitmap wird verwendet,
um eine möglichst genaue Näherung des Ausgangsdokuments auf
Papier wiederzugeben.
Es ist jedoch allgemein bekannt, daß die Übertragung eines Do
kuments durch "Fax" auf der Empfangsseite zu einem Dokument
geringer Qualität führt. Dies ist auf verschiedene Faktoren zu
rückzuführen, wie ein "Rauschen" in den Sende-, Übertragungs-
oder Empfangsmechanismen, Flecken oder Störungen auf dem Aus
gangsdokument oder eine niedrige Auflösung beim Abtasten des
Dokuments in dem sendenden Fax-Gerät. Früher unternommene Ver
suche, diese Probleme zu korrigieren, stellen Lösungswege von
Lim und Adachi dar. (J.S. Lim, "Two-Dimensional Signal and Ima
ge Processing," Stn. 570 bis 575, Prentice-Hall, 1990; Adachi,
Kawanishi, Kobayashi, "Improvement of character Recognition
and Generation Techniques in Facsimile Communication Systems,"
Stn. 732 bis 738, Proceedings Seventh Annual Joint Conference
of the IEEE Computer and Communication Societies, 1988). Lim
führt eine Analysis durch, die bei Seitengrößen-Einheiten
wirkt, während Adachi ein Glätten der Darstellung einzelner
Zeichen vornimmt.
Daher werden ein Verfahren und ein System verlangt, welches ei
ne verbesserte Wiedergabe des empfangenen Dokuments in dem emp
fangenden Fax-Gerät schafft.
Gemäß der Erfindung soll die Wiedergabe eines Textdokuments in
einem empfangenden Fax-Gerät verbessert werden, und die Erfin
dung soll auch beim Verbessern einer Bitmap-Darstellung eines
Textdokuments angewendet werden können. Gemäß der Erfindung ist
dies bei Verfahren zum Erzeugen einer Dokumenten-Darstellung
aus einem Bitmap-Bild eines Dokuments durch die Merkmale im
kennzeichnenden Teil des Anspruchs 1 oder 4 erreicht. Vorteil
hafte Weiterbildungen sind Gegenstand der auf einen der vorste
henden Ansprüche rückbezogenen Ansprüche 2, 3 sowie 5 bis 7.
Gemäß der Erfindung wird dies dadurch erreicht, daß eine opti
sche Zeichenerkennung an jedem Zeichenbeispiel in dem Bitmap
durchgeführt wird und die Beispiele in Kategorien untergebracht
werden, und zwar eine Kategorie für jeden in dem Bitmap vorhan
denen Zeichentyp. Für jede vorgegebene Kategorie wird ein
"ideales" Prototyp-Zeichen für die jeweilige Kategorie hergelei
tet. Jedes Beispiel eines Zeichens, das zu der Prototyp-Zei
chen-Kategorie in dem Bitmap-Bild gehört, wird durch das Proto
typ- Zeichen ersetzt. Nachdem die vorstehend wiedergegebenen
Schritte für jede Kategorie durchgeführt sind, wird das sich
ergebende "regenerierte" Bitmap-Bild verwendet, um eine endgül
tige gedruckte Version des Dokuments zu erzeugen.
Durch Herleiten eines Prototyp-Zeichens und durch Ersetzen des
Prototyp-Zeichens für jedes Zeichen dieses Typs wird das Er
scheinungsbild des sich ergebenden Dokuments verbessert, da
"Rauschen" in Form von Fremdzeichen, unklaren Kanten, usw. in
den Zeichen-Darstellungen reduziert oder aus diesen entfernt
ist. Da dasselbe Prototyp-Zeichen für jedes Beispiel eines Zei
chens dieses Typs verwendet wird, hat auch das sich ergebende
Dokument eine Gleichmäßigkeit in der Zeichentyp-Darstellung.
Es können verschiedene Verfahren angewendet werden, um ein Pro
totyp-Zeichen aus Beispielen eines Zeichens herzuleiten. Eine
bevorzugte Ausführungsform weist in einem digitalen System
durchzuführende Software auf, wobei das digitale System einen
Prozessor, einen Speicher, eine Benutzer-Eingabevorrichtung und
eine Ausgabevorrichtung enthält. Das Verfahren weist hierbei
die Schritte auf: Feststellen von Zeichenbeispielen eines Bit
map-Bildes, Auswählen von ersten und zweiten Beispielen eines
Zeichens, Verwenden der ausgewählten Beispiele, um ein Proto
typ-Zeichen herzuleiten, Ersetzen der ausgewählten Beispiele
durch das Prototyp-Zeichen in dem Bitmap-Bild, um ein regene
riertes Bitmap-Bild zu erzeugen, und Ausgeben des regenerierten
Bitmap-Bildes.
Durch zusätzliche Schritte werden die Wirkungen von Fehlern
verringert, die bei den vorstehend beschriebenen Schritten ein
gebracht werden können, wie beispielsweise ein Fehler beim Aus
wählen von Zeichenbeispielen. In einer bevorzugten Ausführungs
form wird ein Vergleich zwischen jedem Beispiel und den Proto
typ-Zeichen für jede Kategorie durchgeführt. Wenn das Beispiel
einem Prototyp-Zeichen aus einer anderen Kategorie ähnlicher zu
sein scheint als dem einen, welchem das Beispiel ursprünglich
zugeordnet wurde, dann wird das Beispiel aus der Original-Kate
gorie ausgeschieden, und das Herleiten des Prototyp-Zeichens
für diese Kategorie wird ohne Verwenden des ausgeschiedenen
Zeichens durchgeführt.
Nachfolgend wird die Erfindung anhand von bevorzugten Ausfüh
rungsformen unter Bezugnahme auf die anliegenden Zeichnungen im
einzelnen erläutert. Es zeigen.
Fig. 1 ein Diagramm eines typischen Computersystems, das zum
Durchführen der Software gemäß der Erfindung verwendet
wird;
Fig. 2 einen Abschnitt eines Bitmap-Bildes eines Dokuments;
Fig. 3 einen Cluster für den Zeichentyp "e";
Fig. 4 das Prototyp-Zeichen für den Zeichentyp "e";
Fig. 5 das Schwellenwert-Prototyp-Zeichen für den Cluster
der Fig. 3;
Fig. 6 ein Ablaufdiagramm der Basisschritte in dem Zeichen-Er
kennungsverfahren;
Fig. 7 ein Ablaufdiagramm von Neben- oder Unterschritten, um
einen bestimmten Schritt (212) des Ablaufdiagramms
der Fig. 6 durchzuführen;
Fig. 8A eine Matrix eines ersten Beispiels des Buchstabens "e";
Fig. 8B ein zweites Beispiel des Buchstabens "e";
Fig. 8C bis 8E einen Ausrichtprozeß bezüglich eines bestimmten
Schrittes (228) des Ablaufdiagramms der Fig. 7;
Fig. 9A die Matrix von Fig. 8A mit den Beispielen von Fig. 8A und
8B im Innern der Matrix;
Fig. 9B das Ergebnis des "Addierens" der zwei Beispiele
der Fig. 9A;
Fig. 9C das Ergebnis des Durchführens von Schritten (226 bis
232) der Fig. 7 für einen Cluster von 16 Beispielen des
Buchstabens "e", und
Fig. 9D ein Prototyp-Zeichen, das auf den Daten einer der Fig. 9B
oder 9C basiert.
Fig. 1 ist ein Diagramm eines Beispiels eines typischen Compu
tersystems 100, das verwendet wird, um die Software gemäß der
Erfindung durchzuführen. Das Computersystem 100 enthält Subsy
steme, wie einen Prozessor 102, einen Speicher 104, eine E/A-
Steuereinheit 106, einen Display-Adapter 108, einen Monitor
110, einen seriellen Anschluß 112, ein Tastenfeld 114, eine
Festplatte 116, ein externes Interface 118 und einen
Drucker/Printer 120. Andere Digitalsysteme, die gemäß der Er
findung verwendet werden können, können auch zusätzliche oder
weniger Subsysteme enthalten. Beispielsweise könnte ein anderes
digitales System mehr als einen Prozessor 102 enthalten (d. h.
ein Multi-Prozessor-System sein). Oder ein System könnte einen
Cache-Speicher enthalten. Subsysteme, wie der Display-Adapter
108 und der Monitor 110, werden in einigen Ausführungsformen
der Erfindung nicht benötigt; deren Funktionen werden dann bei
spielsweise von einem LED-(lichtemittierenden Dioden-)Display
durchgeführt.
Pfeile, wie beispielsweise 122, stellen die Systembus-Architek
tur des Computersystems 100 dar. Jedoch erläutern diese Pfeile
auch ein Verbindungsschema, das dazu dient, die Subsysteme zu
verbinden. Beispielsweise könnte der Drucker/Printer 120 über
einen (nicht dargestellten) Anschluß mit den anderen Subsyste
men verbunden sein. In einer bevorzugten Ausführungsform ist
eine (nicht dargestellte) Fernsprechleitung mit dem Computersy
stem 100 verbunden. Diese Leitung dient dazu, das Computersy
stem 100 mit einem externen Fax-Gerät zu verbinden. Das Compu
tersystem 100 selbst weist die Grundkomponenten eines empfan
genden Fax-Geräts auf, das in der Lage ist, Bitmap-Bilder von
Dokumenten zu empfangen und zu drucken, wie nachstehend noch
beschrieben wird.
Wenn das Computersystem 100 als ein empfangendes Fax-Gerät
dient, werden digitale Daten, welche ein Bitmap-Bild des Doku
ments darstellen, beispielsweise über den seriellen Anschluß
112 empfangen und in dem Systemspeicher 104 gespeichert. Wie
nachstehend noch beschrieben wird, wirkt der Prozessor 102 auf
das Bitmap-Bild und den Systemspeicher 104, um ein verbessertes
Bitmap-Bild zu erzeugen. Das verbesserte Bitmap-Bild wird über
den Printer 120 abgegeben, um ein Papierdokument zu erzeugen,
welches das Bild des Dokumentes ist, das von dem sendenden Fax-
Gerät übertragen worden ist.
Das in Fig. 1 dargestellte Computersystem 100 ist jedoch ein
Beispiel eines Computersystems, das in Verbindung mit der vor
liegenden Erfindung verwendbar ist. Andere Konfigurationen von
Subsystemen, die sich für eine Verwendung in Verbindung mit der
Erfindung eignen, sind dem Fachmann bekannt. Obwohl die Erfin
dung anhand einer bevorzugten Ausführungsform als eine Fax-An
wendung erläutert wird, sind andere Verwendungsmöglichkeiten
der Erfindung, wie beispielsweise ein Vergrößern eines Scanner-
Bildes jederzeit möglich.
Fig. 2 zeigt einen Abschnitt 140 eines Bitmap-Bildes, das in dem
Systemspeicher 104 der Fig. 1 als ein Beispiel gespeichert ist,
das verwendet wird, um eine Ausführungsform der Erfindung zu
veranschaulichen. Aus Fig. 2 ist zu ersehen, daß der Bitmap-
Bild-Abschnitt Worte enthält, die aus Zeichen gebildet sind,
welche ihrerseits aus kleinen Rechtecken oder "Pixels" (d. h.
"Bildelementen") bestehen, wobei ein Pixel einem Bit in dem
Bitmap-Bild entspricht. Bei einer üblichen Fax-Abtast-Auflösung
von 100 bis 200 Punkten pro Inch ("dpi"), kann ein übliches
Zeichen 15 bis 30 Pixels breit sein. Obwohl die Erfindung nach
stehend beispielsweise anhand einer Abtast-Auflösung von 100
bis 200 dpi beschrieben wird, ist die Erfindung auch bei Zei
chen-Darstellungen mit irgendeiner anderen Anzahl von Pixel-
Auflösungen anwendbar.
Obwohl Figuren, wie Fig. 2, in dieser Anmeldung verwendet wer
den, um Bitmap-Bilder, Matrizen, Zeichen-Beispiele, usw. zu
veranschaulichen, ist diese Darstellung selbstverständlich eine
für den Menschen lesbare Form, die üblicherweise nur vorhanden
ist, wenn beispielsweise ein Bitmap-Bild, eine Matrix oder ein
Zeichen-Beispiel ausgedruckt wird. Bekanntlich kann ein Bitmap-
Bild o. ä. durch ein Array oder eine andere Datenstruktur darge
stellt werden, welche Worte in einem Speicher enthält, die oft
zusammenhängend sind. In Abhängigkeit von der Anzahl Werte für
jedes Pixel (um eine Grauskala, eine Farbe, eine Intensität
usw. darzustellen) kann ein Wortspeicher, ein Teil eines Wort
speichers oder ein Mehrwortspeicher verwendet werden, um jedes
Pixel darzustellen. Die hier erläuterten Operationen, wie Aus
richten, Hinzufügen, usw. werden bezüglich der für den Menschen
lesbaren Form in den Figuren beschrieben; sie haben jedoch auch
bekanntlich einen Computer-"Gegenpart". Folglich wird bei
spielsweise, wenn zwei Zeichen-Beispiele "ausgerichtet" werden,
um visuell die für den Menschen lesbare Form eines Beispiels
gegenüber der für den Menschen lesbare Form eines anderen Bei
spiels anzuordnen, diese Operation in einem Computersystem er
reicht, wie in dem Computersystem 100 der Fig. 1, indem Bitfol
gen, Arrays, usw. in Abhängigkeit von der internen Datendar
stellung der spezifischen Implementierung der Erfindung behan
delt und verglichen werden.
Jedes Zeichen in dem Bitmap-Bild der Fig. 2 ist isoliert, und
das Zeichenbild wird in einem gesonderten Bereich des System
speichers extrahiert oder in diesem kopiert. Wenn ein Zeichen
extrahiert wird, werden die Pixels, welche das Zeichen zusammen
mit Leerpixels in dem Bereich aufweisen, die den Pixels des
Zeichens unmittelbar benachbart sind, als ein "Beispiel" oder
als ein Auftreten des Zeichens betrachtet. Die Identifizierung
jedes einzelnen Zeichens in dem Bitmap-Bild wird mittels eines
optischen Zeichenerkennungs-("OCR-")Verfahrens oder Systems
vorgenommen, wie es allgemein bekannt ist. In Fig. 2 sind drei
Beispiele 150, 152 und 154 des Buchstabens "e" in "Rechtecken"
dargestellt. Jedes Beispiel des Buchstabens "e" weist die
"Ein"- oder schwarzen Pixels und die "Aus-" oder weißen Pixels
in dem "Rechteck" auf.
Der Erkennungs- und Extrahierprozeß wird für jeden unterschied
lichen Zeichentyp in dem Bitmap-Bild durchgeführt. Jeder andere
Zeichentyp in dem Bild wird als eine gesonderte Zeichenklasse
oder -Kategorie betrachtet. Beispielsweise gibt es 52 Zeichen-
Typen oder -Kategorien für die Groß- und Kleinbuchstaben des
Alphabets. Schließlich werden die Clusters von Zeichen für jede
Kategorie verwendet, um ein Prototyp-Zeichen herzuleiten, wel
ches eine strengere Annäherung an das ursprünglich übertragene
Zeichen ist als die Mehrheit der extrahierten Zeichen-Beispiele
in dem Cluster. Andererseits schafft die Erfindung ein Modell-
Zeichen, das bei jedem Beispiel des Zeichentyps in dem Bitmap-
Bild verwendet wird, um dadurch eine Zeichengleichförmigkeit in
dem ausgedruckten Dokument auf der Empfangsseite zu erzeugen.
Fig. 3 zeigt einen Cluster für den Zeichentyp "e" nach einer
Segmentierung und Extraktion aus einem Bitmap-Bild, wie dem in
Fig. 2 dargestellten Bitmap-Bild-Teil. Hierbei ist jedes Bei
spiel des Buchstabens "e" etwas unterschiedlich gegenüber dem
anderen Beispiel. Die rechteckigen Pixel, welche jedes "e"-Zei
chen bildet, sind in dieser vergrößerten Auflösung deutlich
sichtbar. Der Schritt, jedes Beispiel eines Zeichens einer spe
zifischen Kategorie zu identifizieren und die Beispiele zu
gruppieren, wird "Clustern" bezeichnet. Ein Cluster von Zei
chen, wie er in Fig. 3 dargestellt ist, kann in einem Speicher
mittels Zeigern zu Arrays aufrechterhalten werden, wobei jedes
Array ein Bitmap-Bild des Zeichenbeispiels enthält. In der
nachstehenden Beschreibung wird angenommen, daß das Bitmap-Bild
gemäß der Erfindung 16 Beispiele des Buchstabens "e" enthält.
Folglich stellt Fig. 3 den ganzen Cluster von Zeichenbeispielen
für die Kategorie des Buchstabens "e" dar.
Fig. 4 zeigt das Prototyp-Zeichen für den Zeichentyp "e", dessen
Cluster in Fig. 3 dargestellt ist. Das Prototyp-Zeichen ist in
einem Gitter oder einer Matrix dargestellt. Um das Prototyp-
Zeichen herzuleiten, werden alle Zeichen in dem Cluster der
Fig. 3 zu einem einzigen Zeichen gemischt. Alternative Ausfüh
rungsformen der Erfindung benutzen nicht alle Zeichen-Beispie
le, um das Prototyp-Zeichen herzuleiten, wie nachstehend noch
erläutert wird. Wie in Fig. 4 dargestellt, enthält der Prototyp
"e" nach dem Mischen Pixels mit variierenden Graupegeln. Dies
kommt daher, weil jedes der Beispiele in dem Cluster der Fig. 3
in der Matrix "hinzugefügt" worden ist, um das Prototyp-Zeichen
der Fig. 4 zu erzeugen. In Fig. 4 sind dunklere Pixels diejeni
gen, deren Position häufiger in jedem Beispiel in dem Cluster
aufgetreten ist, während hellere Pixels in Fig. 4 diejenigen
Pixels darstellen, welche weniger oft in Beispielen in dem Clu
ster vorgenommen sind.
Fig. 5 zeigt das Prototyp-Zeichen für den Cluster der Fig. 3. Um
das Prototyp-Zeichen der Fig. 5 zu erhalten, wird das gemischte
Zeichen der Fig. 4 einer Schwellenwertbildungs-Operation unter
zogen. Bei der Schwellenwertbildungs-Operation werden Pixels
aus dem Prototyp-Zeichen entfernt, dessen Graupegel unter einen
vorherbestimmten Schwellenwert fallen.
Als nächstes wird die Erfindung im einzelnen anhand der Ablauf
diagramme der Fig. 6 und 7 und der Illustrationen der Fig. 8A bis
9D beschrieben. Fig. 6 zeigt ein Ablaufdiagramm 200, welches als
nächstes erläutert wird, um die Grundschritte in dem Zeichener
kennungsverfahren der Erfindung zu beschreiben.
In Fig. 6 stellt das Ablaufdiagramm 200 ein oder mehrere Soft
ware-Routinen dar, welche in einem digitalen System, wie dem
Computersystem 100 der Fig. 1 durchgeführt werden. Das Ablaufdi
agramm 200 der Fig. 6 kann durch irgendeine Einrichtung imple
mentiert sein, was bekannt ist. Beispielsweise können eine An
zahl Computer- Programmiersprachen, wie "C", "Pascal", "FORT-
RAN", eine Assembler-Sprache usw. verwendet werden. Ferner kön
nen verschiedene Programmierungsmöglichkeiten, wie ein prozedu
rales oder ein "objekt-orientiertes" Programmieren oder künst
liche Intelligenz-Techniken benutzt werden. Die Schritte des
Ablaufdiagramms 200 können durch eine oder mehrere Software-
Routinen, Prozesse, Subroutinen, Module usw. implementiert wer
den. Das Ablaufdiagramm 200 veranschaulicht jedoch den breiten
logischen Ablauf des Verfahrens gemäß der Erfindung und es kön
nen Schritte bei dem Ablaufdiagramm 200 hinzugefügt oder von
diesem weggenommen werden. Um die Beschreibung zu erleichtern,
ist nachstehend auf die Implementierung des Flußdiagramms 200
(sowie auf andere Flußdiagramme) Bezug genommen, als ob sie ei
ne einzige "Routine" wären.
Die Routine des Ablaufdiagramms 200 wird bei 202 eingegeben. Es
wird angenommen, daß ein Bitmap-Bild eines Text-Dokuments in
dem Systemspeicher des Computersystems gespeichert ist. Beim
Schritt 204 werden die Zeichen in dem Bitmap-Bild von anderen
Zeichen in dem Bitmap-Bild in Zeichen- "Beispiele" segmentiert
oder separiert. Beim Schritt 206 werden die segmentierten Zei
chen mittels eines entsprechenden optischen Zeichen-Erkennungs-
Systems "erkannt", so daß jedes Beispiel einem bekannten Zei
chen zugeordnet wird. Beim Schritt 208 wird jedes Beispiel in
einem Cluster plaziert, welcher dem jeweiligen Zeichen zugeord
net ist. Folglich sind bei der Beendigung des Schritts 208 alle
Zeichen in dem Bitmap-Bild des Dokuments segmentiert und in
Cluster plaziert, wobei jedes Cluster einem anderen Zeichentyp
entspricht, welcher in dem Bitmap-Bild des Dokuments erscheint.
Hierbei sind die Schritte 204, 206 und 208 im allgemeinen Teil
eines typischen optischen Zeichenerkennungssystems. Es kann
auch ein anderes geeignetes OCR-System in Verbindung mit dem
erfindungsgemäßen Verfahren verwendet werden, um die Schritte
204, 206 und 208 auszuführen.
Bei der Beendigung des Schritts 208 sind alle Zeichen in dem
Bitmap-Bild des Dokuments in Clusters plaziert und Zeichentypen
zugeordnet. Zusätzlich zu einer Segmentierung der Zeichen in
Clustern von Beispielen für jeden Zeichentyp wird bei den
Schritten 204, 206 und 208 auch eine Aufzeichnung der Stellen
jedes Beispiels erzeugt. Eine derartige Aufzeichnung kann bei
spielsweise in der Form eines Arrays vorliegen, wobei eine oder
mehrere Positionszahlen verwendet werden, um eine Spur einer
Zeichen-Position oder Reihenfolge in dem Bitmap-Bild des Doku
ments zu halten. Ein Identifizierer ist den Positionszahlen zu
geordnet, um anzuzeigen, welchem Zeichentyp das Beispiel an
dieser Stelle entspricht.
Beim Schritt 210 wird eine Kategorie für ein Mischen ausgewählt.
Bei der ersten Durchführung des Schrittes 210 wird ir
gendeine der Kategorien, die bei den Schritten 204, 208 ge
schaffen worden sind, als die erste zu verarbeitende Kategorie
ausgewählt. Beim Schritt 212 werden jeweils die Zeichen-Bei
spiele in dem Cluster, das der ausgewählten Kategorie zugeord
net ist, gemischt, um ein einzelnes Zeichen, wie beispielsweise
das gemischte Zeichen der Fig. 4 zu erzeugen, das vorstehend für
die Kategorie des Kleinbuchstabens "e" besprochen worden ist.
Einzelheiten des Mischschrittes 212 werden nachstehend in Ver
bindung mit Fig. 7 erläutert. Beim Schritt 214 wird ein Test
durchgeführt, um zu sehen, ob es andere Kategorien gibt, wenn
die übrig gebliebenen Cluster gemischt werden. Wenn dem so ist,
wird bei der Durchführung der Routine auf den Schritt 210 zu
rückgegangen, bei welchem die nächste Kategorie für ein Verar
beiten ausgewählt wird. Auf diese Weise werden schließlich alle
Cluster gemischt, so daß es ein gemischtes Zeichen für jeden
Cluster gibt.
Nachdem alle Cluster gemischt worden sind, wird der Schritt 216
durchgeführt, um jedes Zeichen in dem Bitmap durch das gemisch
te oder das Prototyp-Zeichen zu ersetzen, welches der
Kategorie entspricht. Die Daten, die beim Schritt 204 gesammelt worden sind, welcher sich auf die Positionen und Typen von Zei chen in dem ursprünglichen Bitmap-Bild bezieht, werden verwen det, um jedes Beispiel eines Zeichens durch das entsprechende Prototyp-Zeichen zu ersetzen. Das sich ergebende Bitmap-Bild ist dann das "regenerierte" Bitmap. Das regenerierte Bitmap kann ein zweites Bitmap sein, das in einem Speicher erzeugt worden ist, so daß das Original-Bitmap unversehrt bleibt.
Kategorie entspricht. Die Daten, die beim Schritt 204 gesammelt worden sind, welcher sich auf die Positionen und Typen von Zei chen in dem ursprünglichen Bitmap-Bild bezieht, werden verwen det, um jedes Beispiel eines Zeichens durch das entsprechende Prototyp-Zeichen zu ersetzen. Das sich ergebende Bitmap-Bild ist dann das "regenerierte" Bitmap. Das regenerierte Bitmap kann ein zweites Bitmap sein, das in einem Speicher erzeugt worden ist, so daß das Original-Bitmap unversehrt bleibt.
Beim Schritt 218 wird das "regenerierte" Bitmap-Bild verwendet,
um ein Hartkopie-Dokument auszudrucken, welches dem anfängli
chen Bitmap-Bild gleicht, außer daß jedes Beispiel eines Zei
chens nunmehr identisch ist, da das Prototyp-Zeichen für jeden
Zeichentyp verwendet wird, wann immer ein Beispiel dieses Zei
chentyps in dem Bitmap-Bild erscheint. Nachdem das regenerierte
Bitmap-Bild ausgedruckt ist, endet die Routine beim Schritt
220.
Obwohl das Ablaufdiagramm 200 als eine Reihe von diskreten
Schritten beschrieben ist, wie Segmentieren, Clustern, Mischen,
Ersetzen und Ausdrucken aller Zeichen, können diese Schritte
auch in einer "ineinandergeschachtelten" oder einer "Multi
task"-Art ausgeführt werden. Folglich können beispielsweise,
wenn die Druck-Hardware langsam ist und einen "Flaschenhals" in
dem System erzeugt, die Zeichen in dem Bitmap Zeile für Zeile
ersetzt werden, so daß mit dem Ausdrucken begonnen werden kann,
nachdem die erste Zeile ersetzt worden ist. Die folgenden Zei
len in dem Bitmap können dann ausgetauscht und zum Drucken ge
lesen werden, bevor der Drucker die Zeilen anfordert. Andere
Möglichkeiten, um das Verarbeiten eines Ablaufdiagramm 200 und
andere Ablaufdiagramme zu organisieren, sind dem Fachmann ge
läufig.
In Fig. 7 ist ein Ablaufdiagramm veranschaulicht, welches die
Subschritte beschreibt, die verwendet werden, um einen Schritt
212 des Ablaufdiagramms 200 der Fig. 6 durchzuführen. Das heißt,
Schritte 224 bis 234 führen die Mischfunktion des Schritts 211
in Fig. 2 durch. Der Schritt 210 und der Schritt 214 sind am
oberen und unteren Ende der mit 226 zusammengefaßten Subschrit
te dargestellt, um zu veranschaulichen, daß die Schritte bei
236 zwischen den Schritten 210 und 214 des Ablaufdiagramms 200
in Fig. 6 stattfinden. Wie vorstehend anhand von Fig. 6 beschrie
ben, wird bei Beendigung des Schritts 210 eine Kategorie für
ein weiteres Verarbeiten ausgewählt.
In diesem Beispiel wird weiterhin der Buchstabe "e" als die zu
verarbeitende Kategorie verwendet. Fig. 8A zeigt eine Matrix
300, in welcher eine Pixel-Darstellung des Buchstabens "e" de
finiert ist. In Fig. 8A ist jedes Quadrat in dem Gittermuster
der Matrix 300 ein Pixel, das "ein" oder "aus" beispielsweise
auf einem Bildschirm oder einem Stück Papier sein kann, auf
welches der Buchstaben gedruckt wird. Die Matrix 300 hat Platz
oberhalb, unterhalb rechts und links von dem Buchstaben. Die
Matrix 300 ist ein "Begrenzungskästchen", das verwendet wird, um
den Buchstaben aus dem Text-Bitmap-Bild beim Schritt 204 der
Fig. 6 zu segmentieren oder zu extrahieren. Buchstaben können
aus mehr oder weniger Pixels bestehen, als sie in Fig. 8A darge
stellt sind, und das "Begrenzungskästchen" kann mehr oder weni
ger Pixel enthalten, welche den Buchstaben umgeben.
Beim Schritt 224 der Fig. 7 wird die Matrix mit einem ersten
Beispiel initialisiert, wie durch die Matrix 300 der Fig. 8A
dargestellt ist. Beim Schritt 226 wird ein zweites Beispiel er
halten. Erforderlichenfalls können die Beispiele in einer Liste
gemäß der Anzahl an "Ein"-Pixels geordnet werden, wodurch eine
vorher festgelegte Reihenfolge geschaffen ist, um Beispiele für
ein weiteres Verarbeiten auszulegen, wie unten noch beschrieben
wird. In Fig. 8B ist ein zweites Beispiel 302 in dem augenblick
lichen Ausführungsbeispiel dargestellt. Obwohl die Pixel-Ab
grenzung (das "Begrenzungskästchen") für dieses Beispiel nicht
dargestellt ist, kann gesehen werden, daß das zweite Beispiel
302 aus 39 "Ein"-Pixels besteht. Das zweite Beispiel 302 ist
nunmehr das "ausgewählte" oder "augenblickliche" Beispiel und
ist das Objekt der Operationen, welche bei Schritten 228 und
230 der Fig. 7 durchgeführt worden sind.
Beim Schritt 228 der Fig. 7 wird das zweite Beispiel 302 der
Fig. 8B bezüglich der Matrix 300 der Fig. 8A ausgerichtet. Der
Ausrichtprozeß besteht darin, daß ausgewählte Beispiel in der
Matrix "zu verschieben" und die Anzahl an sich überlappenden
"Ein"-Pixels zu zählen. Eine Anzahl unterschiedlicher Positio
nen für das ausgewählte Beispiel werden gewählt, und es wird
die "beste Paßform" ausgewählt. Die beste Paßform ist die Posi
tion des ausgewählten Beispiels in der Matrix, welche die höch
ste Anzahl an Pixels in dem ausgewählten Beispiel erzeugt, wel
ches "Ein"-Pixels in der Matrix überdeckt.
Fig. 8C bis 8E veranschaulicht den Ausrichtvorgang beim Schritt
228. In Fig. 8C ist eine Matrix 300 dargestellt (jedoch wiederum
ohne Pixel-Begrenzung, um die Darstellung zu vereinfachen). Ein
Anfangsbeispiel 301 ist wie in Fig. 8A dargestellt, außer daß
das Anfangsbeispiel 301 nicht dunkel getönt dargestellt ist, um
das Überlappen veranschaulichen zu können. Das zweite Beispiel
302 ist in einer Position dargestellt, welche teilweise das
Ausgangsbeispiel 301 überdeckt. Wie aus Fig. 3C zu ersehen ist,
ist die Anzahl an sich überdeckender Pixel bei dem Ausgangsbei
spiel 301 und bei dem ausgewählten Beispiel 302 insgesamt 17.
In Fig. 8D ist das Ausgangsbeispiel 301 noch in einer fest vor
gegebenen Position in der Matrix 300 festgelegt; jedoch ist das
ausgewählte Beispiel 302 nach unten und nach links in eine neue
Position in der Matrix 300 verschoben worden. Wie aus Fig. 8D
ersehen werden kann, beträgt die Anzahl an sich überdeckenden
Pixels des Ausgangsbeispiels 301 und des ausgewählten Beispiels
302 insgesamt 16.
Fig. 8E zeigt ein Ausgangsbeispiel 301, das sich genau mit dem
ausgewählten Beispiel 302 in der Matrix 300 deckt. In Fig. 3E
beträgt die Anzahl an sich überdeckenden Pixels insgesamt 34.
Folglich ist in diesem einfachen Beispiel Fig. 8E deutlich das
beste Überdecken des Anfangsbeispiels 301 und des ausgewählten
Beispiels 302.
Beim Schritt 230 in Fig. 7 wird das ausgewählte Beispiel der Ma
trix hinzugefügt, welche das Anfangsbeispiel in der Position
mit der "besten Paßform" enthält, die sich beim Schritt 228 er
geben hat, wie vorstehend beschrieben ist. Fig. 9A zeigt die Ma
trix, die identisch mit derjenigen in Fig. 8E ist. Das heißt,
Fig. 9A zeigt das beste Überdecken zwischen Ausgangs- und ausge
wählten Beispielen, die bei der Ausrichtprozedur des Schritts
228 erhalten worden sind. Fig. 9B zeigt das Ergebnis des "Addie
rens" der zwei Beispiele der Fig. 9A.
Fig. 9B ist eine bildliche Darstellung des Ergebnisses des Ad
dierens der zwei Beispiele in der Matrix. In einer bevorzugten
Ausführungsform ist jedes Element in der Matrix 300 der Fig. 9A
als ein numerischer Wert dargestellt, der beispielsweise in
einem Byte Daten enthalten ist. Die Bytes werden in einem Array
gespeichert, welches dieselben Abmessungen wie die Matrix 300
hat. In Fig. 9B zeigt eine Eins an einer Matrixelement-Stelle,
daß das Byte, das diesem Matrixelement entspricht, einen Wert
von eins hat. Dementsprechend zeigt ein Wert 2, daß das Byte,
das dieser Matrixelement-Stelle entspricht, einen Wert von 2
hat. Dort, wo kein Wert für die entsprechende Matrixelement-
Stelle dargestellt ist, hat diese Matrixelement-Stelle einen
Wert von 0. Folglich ist aus Fig. 9B zu ersehen, daß das Daten-
Array, das der Matrix 300 entspricht, eine laufende Summe der
Anzahl an "Ein"-Pixels erhält, wenn Beispiele von Zeichen in
dem Cluster überdeckt, ausgerichtet und "addiert" werden.
Beim Schritt 232 der Fig. 7 wird ein Test durchgeführt, um zu
sehen, ob ein anderes Beispiel eines Zeichens in dieser Katego
rie existiert. Wenn dem so ist, wird auf den Schritt 226 über
gegangen, bei welchem das nächste Beispiel aus der sortierten
Liste erhalten wird. In einer bevorzugten Ausführungsform wird
jedes nächste Beispiel bezüglich der laufenden Summenmatrix
ausgerichtet, um eine "beste Paßform" zu finden. Irgendwelche
Pixels in der laufenden Summenmatrix, welche sich mit Pixels in
dem nächsten Beispiel überdecken, werden festgestellt. Die ein
ander überdeckenden Pixelstellen werden verwendet, um anzuzei
gen, welche Werte in dem Daten-Array (entsprechend den sich
überlappenden Pixelstellen) zu inkrementieren sind. In einer
bevorzugten Ausführungsform wird ein Inkrement von 1 verwendet.
Fig. 9C zeigt das Ergebnis des Durchführens der Schritte 226 bis
232 für ein Cluster von 16 Beispielen des Buchstabens "e". Die
Daten in Fig. 9C dienen nur der Veranschaulichung und entspre
chen nicht notwendigerweise dem tatsächlichen Mischen des Clu
sters der Fig. 3. Wie aus Fig. 9C zu ersehen ist, haben einige
Bytes in dem Daten-Array einen Wert von 16. Dies bedeutet, daß
jedes Beispiel ein "Ein-"Pixel an der entsprechenden Matrixele
ment-Stelle enthielt. Wenn eine Zahl für eine Element-Stelle
nicht dargestellt ist, ist der Wert des entsprechenden Bytes in
dem Daten-Array 0. Wenn die Zahlen zwischen den Ziffern 0 und
16 liegen, zeigen die Zahlen die Anzahl Beispiele, die ein
"Ein"-Pixel an dieser Matrixstelle hatten.
Bei dem Schritt 234 der Fig. 7 wird eine Schwellenwertbildung
durchgeführt. Ein einfaches Beispiel für eine Schwellenwertbil
dung besteht darin, einen Schwellenwert festzusetzen, dessen
Wert die Anzahl Beispiele in dem durch 2 geteilten Cluster ist.
In dem vorliegenden Beispiel, bei welchem die Anzahl an Clu
ster-Beispielen bei 16 liegt, würde der Schwellenwert 8 sein.
In Fig. 9C, bei welcher ein Schwellenwert 8 verwendet wird und
die Vorschrift benutzt wird, daß Matrixelemente, deren Array
wert 8 oder kleiner ist, weg (off) sein müssen, während Matri
xelemente, deren entsprechender Arraywert 9 oder größer ist, da
bzw. ein sein müssen, wird das idealisierte oder Prototyp-Zei
chen der Fig. 9D hergeleitet. Dieses Prototyp-Zeichen ist das
Zeichen, das bei dem Austauschschritt 216 verwendet worden ist,
der vorstehend in Verbindung mit Fig. 8 erläutert worden ist.
Obwohl bei dem vorliegenden Beispiel eine einfache monochrome
Darstellung von Zeichen (d. h. "Ein"- oder "Aus"-Pixels) ange
wendet wird, ist die vorliegende Erfindung auch bei Zeichen an
wendbar, welche in einer Grauskala dargestellt sind. Das heißt,
statt einer Bitmap-Darstellung, bei welcher jedes Pixel durch
ein einziges Bild dargestellt ist, das zwei Zustände, nämlich
ein oder aus, haben kann, werden Mehrfach-Bits verwendet, um
einen Grauwert des Pixels anzuzeigen (wobei beispielsweise 0
aus bzw. weg bedeutet, während der Maximalwert der dunkelste
Wert ist und Zwischenwerte entsprechend den niedrigsten bis zu
den höchsten Werten von dem hellsten bis zu dem dunkelsten
Grauwert reichen). Dann ist der Ausrichtschritt 228 der Fig. 7
ähnlich demjenigen, welcher vorstehend bei den monochromen Zei
chen erläutert worden ist, außer daß die "beste Paßform" durch
Zusammenzählen des Grauskalenwerts von Pixels festgestellt
wird, welche das Anfangszeichen-Beispiel in der Matrix über
decken. Ein Addierschritt 230 kann, wie vorstehend beschrieben,
durchgeführt werden, indem die Grauskalenwerte des ausgewählten
Beispiels zu dem entsprechenden Byte in dem Daten-Array für das
Matrixelement für dieses Pixel addiert werden. Ein Schwellen
wertbildungs-Schritt 234 kann so, wie beschrieben, durchgeführt
werden, außer daß der Schwellenwert mit dem Maximumwert multi
pliziert wird, welcher für jedes Grauskalen-Pixel möglich ist.
Wenn beispielsweise vier mögliche Nuancen für jedes Pixel, ge
geben sind, d. h. sich bei zwei Bits, die jedes Pixel darstel
len, Werte von 0,1, 2 und 3 ergeben, wird der Wert der vorste
hend als eine durch zwei geteilte Anzahl von Beispielen erhal
ten worden ist, welche gleich 8 ist, mit beispielsweise 3 mul
tipliziert, so daß sich ein Schwellenwert von 24 ergibt. Ande
rerseits könnte statt den Schwellenwert mit den maximal mögli
chen Grauskalenwert zu multiplizieren, ein durchschnittlicher
Grauskalenwert verwendet werden. Wenn eine Ausgabeeinheit vor
handen ist, welche eine Grauskala anzeigen oder drucken kann,
würde eine Schwellenwertbildung nicht notwendig sein, da die
Ausgabevorrichtung den (skalierten) Wertebereich benutzen kann.
Modifikationen zu den vorstehend wiedergegebenen Implementie
rungen können vorgesehen sein, um zusätzliche Vorteile zu
schaffen. Wenn beispielsweise die OCR-Identifizierungen und
Zeichen unzuverlässig sind, kann ein zusätzlicher Schritt zwi
schen den Schritten 214 und 216 der Fig. 6 eingefügt werden.
Dieser zusätzliche Schritt würde jedes Beispiel eines Zeichens
mit jedem hergeleiteten Prototyp in einer Weise vergleichen,
welche dem Ausrichtschritt 228 der Fig. 7 entspricht. Sollte ein
Beispiel besser zu einem Prototyp und nicht zu dem Prototyp
passen, bei welchem das Beispiel verwendet wurde, um ihn beim
Schritt 212 der Fig. 6 herzuleiten, dann wird das Beispiel mit
einem Flag versehen, wodurch es in die Kategorie unrichtig ein
gestuft wird. Der Prototyp wird wieder hergeleitet, ohne das in
die falsche Kategorie eingestufte Beispiel zu verwenden, und
das Beispiel wird dann als eines betrachtet, das zu einer ande
ren Kategorie oder einem anderen Zeichentyp gehört, so daß,
wenn Zeichen beim Schritt 216 in Fig. 6 ausgetauscht werden, das
Austauschen des Beispiels mit dem besser passenden Prototyp er
folgt. Alternativ hierzu kann das ursprüngliche Bitmap-Bild des
Beispiels an der Stelle belassen werden (d. h. es findet kein
Austauschen des Beispiels statt).
Die OCR-Beschreibung der Zeichen kann ausfallen, um eine Typen
stil-Information zu schaffen. Worte, welche in Kursivschrift
oder Fettdruck erscheinen, müssen identifiziert werden, damit
sie nicht fälschlicherweise bei dem Standard-Typstil gespei
chert werden. Dies kann dadurch erfolgen, daß der Abstand zwi
schen jedem Zeichen in dem Wort und der hergeleitete Prototyp
der Kategorie überprüft werden. Wenn die Form jedes Zeichens
schlecht zu dem entsprechenden Prototyp paßt, ist es wahr
scheinlich, daß das Wort in einem anderen Typenstil vorkommt.
Die ursprünglichen Bitmap-Bilder für die Zeichen werden dann
durchgeführt, oder es können spezifische Typenstil-Prototypen
hergeleitet werden.
Wenn nach dem Herleiten die Prototypen feststellbare gezackte
Konturen enthalten, können die bestehenden Methoden, um indivi
duelle Zeichen zu glätten, bei den Prototypen angewendet wer
den.
Die Länge der Verarbeitungszeit des beschriebenen Regenerieral
gorithmus kann für einige Faksimile-Benutzer lästig sein. Ein
schnelleres Verfahren würde eine Untermenge der Zeichen-Bei
spiele benutzen, um die Prototypen zu entwickeln. Es könnte ei
ne Steuerung für den Benutzer vorgesehen sein, die ein Einstel
len der Ausgangsqualität zuläßt. Mehrfach-Prototypen könnten
gleichzeitig berechnet werden, wenn eine parallele Verarbeitung
zur Verfügung steht.
Es sind auch andere Anwendungen der Erfindung möglich. Eine An
wendungsmöglichkeit besteht bei einem digitalen Kopierersystem.
Beispielsweise würde dann, wenn auf einem Original der Text zu
dunkel war, das Verfahren bei der gescannten Eingabe angewen
det. Durch Anheben des Schwellenwerts, der verwendet wird, um
die Prototypen zu erzeugen, würde dann die sich ergebende Text
qualität verbessert. Eine andere Anwendung würde darin beste
hen, wenn das anfängliche Bitmap-Bild Symbole und nicht die al
phanumerischen Standardzeichen, Interpunktionszeichen u.ä. ent
hält. Diese Symbole, wie beispielsweise mathematische Symbole
und von Hand Geschriebenes würde durch entsprechend angepaßte
OCR-Systeme erkannt werden, und die vorstehend beschriebenen
Verfahren würden angewendet werden, um sie entsprechend zu ver
arbeiten und für sie Prototypen herzuleiten. Ein Regenerieren
gemäß der Erfindung korrigiert automatisch auch eine "Schräge"
in den Textzeilen und ein ungleichmäßiges Ausrichten von Zei
chen. Das heißt, wenn ein Buchstabe in dem Text nicht in Reihe
mit den anderen Buchstaben steht (ungleiche Ausrichtung) oder
wenn der ganze Text einer Seite nicht bezüglich den Seitenrän
dern ausgerichtet ist (schräg verläuft), wird der regenerierte
Text nach einem Regenerieren und Drucken richtig ausgerichtet,
wie vorstehend beschrieben ist.
Figurenbeschriftung zu Fig. 1
102 Zentral-Prozessor
104 Systemspeicher
106 E/A-Steuereinheit
112 serieller Anschluß
114 Tastenfeld
116 Festplatte
118 externes Interface
Zu Fig. 6
202 Eingeben
204 Zeichen segmentieren
206 OCR durchführen, um segmentierte Zeichen zu extrahieren
208 Beispiele per OCR Kategorien zuordnen
210 Nächste Kategorie bilden
212 Alle Beispiele in einer Kategorie mischen, um Prototyp herzuleiten
214 Andere Kategorie?
216 Jedes Zeichen im Bitmap durch Prototyp ersetzen
218 Bitmap-Bild drucken
220 Ausgang
Zu Fig. 7
224 Matrix initialisieren
226 Nächstes Beispiel erhalten
228 Das Beispiel zu der Matrix ausrichten
230 Das Beispiel zu der Matrix addieren
232 Anderes Beispiel?
234 Matrix bei Anzahl Beispielen/2 Schwellenwert bilden
102 Zentral-Prozessor
104 Systemspeicher
106 E/A-Steuereinheit
112 serieller Anschluß
114 Tastenfeld
116 Festplatte
118 externes Interface
Zu Fig. 6
202 Eingeben
204 Zeichen segmentieren
206 OCR durchführen, um segmentierte Zeichen zu extrahieren
208 Beispiele per OCR Kategorien zuordnen
210 Nächste Kategorie bilden
212 Alle Beispiele in einer Kategorie mischen, um Prototyp herzuleiten
214 Andere Kategorie?
216 Jedes Zeichen im Bitmap durch Prototyp ersetzen
218 Bitmap-Bild drucken
220 Ausgang
Zu Fig. 7
224 Matrix initialisieren
226 Nächstes Beispiel erhalten
228 Das Beispiel zu der Matrix ausrichten
230 Das Beispiel zu der Matrix addieren
232 Anderes Beispiel?
234 Matrix bei Anzahl Beispielen/2 Schwellenwert bilden
Claims (7)
1. Verfahren zum Erzeugen einer Dokumenten-Darstellung aus
einem Bitmap-Bild eines Dokuments, wobei das Verfahren mittels
eines digitalen Systems durchgeführt wird, welches einen Pro
zessor, einen Speicher, eine Benutzer-Eingabevorrichtung, eine
Ausgabevorrichtung aufweist, wobei das Bitmap-Bild eines Doku
ments eine Anzahl von Beispielen eines ersten Textzeichens
enthält, und das Bitmap-Bild eine Anzahl von Pixels enthält,
die in dem Speicher des Computers gespeichert sind, dadurch
gekennzeichnet, daß
- (1) erste und zweite Beispiele des ersten Textzeichens in dem Bitmap festgestellt werden;
- (ii) ein erster Bereich des Bitmap-Bildes ausgewählt wird, wo bei der erste Bereich das erste Beispiel enthält;
- (iii) ein zweiter Bereich des Bitmap-Bilds ausgewählt wird, wobei der zweite Bereich das zweite Beispiel enthält;
- (iv) die ersten und zweiten ausgewählten Bereiche verwendet werden, um ein erstes Prototyp-Zeichen herzuleiten, und
- (v) jedes Beispiel des ersten Zeichens durch das erste Proto typ-Zeichen ersetzt wird, um die Dokumenten-Darstellung zu er zeugen.
2. Verfahren nach Anspruch 1, bei welchem die ersten und zwei
ten Bereiche im wesentlichen einer Pixel-zu-Pixel-Basis ent
sprechen, dadurch gekennzeichnet, daß der Schritt (iv) ferner
die Unterschritte enthält,
- (i) für jedes Pixel in dem ersten Bereich
- (1) ein entsprechendes Pixel in dem zweiten Bereich zu identifizieren,
- (2) die Pixel-Intensitäten des Pixels in dem ersten Be reich und das entsprechende Pixel in dem zweiten Bereich zu mitteln
- (3) die gemittelte Intensität einem Pixel in einem dritten Bereich zuzuordnen, wobei der dritte Bereich einer Pixel-zu-Pi xel-Basis mit dem ersten Bereich entspricht, und
- (ii) den dritten Bereich als das erste Prototyp-Zeichen zu be zeichnen.
3. Verfahren nach Anspruch 1, bei welchem das digitale System
ein Fax-Gerät aufweist.
4. Verfahren zum Erzeugen einer Dokumenten-Darstellung aus
einem Bitmap-Bild eines Dokuments, wobei das Verfahren mittels
eines digitalen Systems durchgeführt wird, welches einen Pro
zessor, einen Speicher, eine Benutzer-Eingabevorrichtung, eine
Ausgabevorrichtung aufweist, wobei das Bitmap-Bild eines Doku
ments eine Anzahl von Beispielen eines ersten Text-Zeichens und
ein Beispiel eines zweiten Text-Zeichens enthält, und das Bit
map-Bild eine Anzahl von Pixels enthält, die in dem Speicher
des Computers gespeichert sind, dadurch gekennzeichnet, daß
- (i) erste, zweite und dritte Beispiele des ersten Text-Zeichens in dem Bitmap-Bild festgestellt werden;
- (ii) die ersten, zweiten und dritten festgestellten Beispiele verwendet werden, um ein erstes Prototyp-Zeichen herzuleiten;
- (iii) das Beispiel des zweiten Zeichens festgestellt wird;
- (iv) das Beispiel des zweiten Zeichens verwendet wird, um ein zweites Prototyp-Zeichen herzuleiten, und
- (v) jedes Beispiel des ersten Zeichens durch das erste Proto typ-Zeichen ersetzt wird, um die Dokumenten-Darstellung zu er zeugen.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß der
Schritt (v) den Unterschritt enthält, den Schrifttyp des Bei
spiels mit dem Prototyp-Zeichen zu vergleichen.
6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die
Konturen des Prototyp-Zeichens vor dem Durchführungsschritt (v)
geglättet werden.
7. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die
Benutzereingabevorrichtung verwendet wird, um die Anzahl Bei
spiele eines Zeichens zu spezifizieren, welche verwendet wer
den, um das Prototyp-Zeichen herzuleiten.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12432593A | 1993-09-20 | 1993-09-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4427992A1 true DE4427992A1 (de) | 1995-03-30 |
DE4427992C2 DE4427992C2 (de) | 1996-07-18 |
Family
ID=22414206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4427992A Expired - Lifetime DE4427992C2 (de) | 1993-09-20 | 1994-08-08 | Verfahren zum Erzeugen einer Dokumenten-Darstellung aus einem Bitmap-Bild eines Dokuments |
Country Status (4)
Country | Link |
---|---|
US (1) | US6069978A (de) |
JP (1) | JP3359433B2 (de) |
DE (1) | DE4427992C2 (de) |
GB (1) | GB2281997B (de) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5677997A (en) * | 1993-02-11 | 1997-10-14 | Talatik; Kirit K. | Method and apparatus for automated conformance and enforcement of behavior in application processing systems |
US6298154B1 (en) * | 1999-03-29 | 2001-10-02 | Eastman Kodak Company | Method for rendering improved personal handwriting |
DE60005293T2 (de) * | 2000-02-23 | 2004-07-01 | Ser Solutions Inc. | Methode und Vorrichtung zur Verarbeitung elektronischer Dokumente |
US9177828B2 (en) | 2011-02-10 | 2015-11-03 | Micron Technology, Inc. | External gettering method and device |
DK1288792T3 (da) | 2001-08-27 | 2012-04-02 | Bdgb Entpr Software Sarl | Fremgangsmåde til automatisk indeksering af dokumenter |
EP1503297A1 (de) * | 2003-07-30 | 2005-02-02 | Sap Ag | Computerimplementierte Methoden zum Abruf von Trefferzahlen aus einem Datenbanksystem, und ensprechendes Programmprodukt |
US7519221B1 (en) * | 2005-02-28 | 2009-04-14 | Adobe Systems Incorporated | Reconstructing high-fidelity electronic documents from images via generation of synthetic fonts |
US7702182B2 (en) * | 2006-02-16 | 2010-04-20 | Adobe Systems, Incorporated | Method and apparatus for creating a high-fidelity glyph prototype from low-resolution glyph images |
US7873228B2 (en) * | 2006-02-21 | 2011-01-18 | Adobe Systems Incorporated | System and method for creating synthetic ligatures as quality prototypes for sparse multi-character clusters |
US8913833B2 (en) * | 2006-05-08 | 2014-12-16 | Fuji Xerox Co., Ltd. | Image processing apparatus, image enlarging apparatus, image coding apparatus, image decoding apparatus, image processing system and medium storing program |
EP2116971A3 (de) * | 2006-09-08 | 2013-07-31 | Google Inc. | Formenclustering bei der Bearbeitung von Dokumentbildern |
US7650035B2 (en) * | 2006-09-11 | 2010-01-19 | Google Inc. | Optical character recognition based on shape clustering and multiple optical character recognition processes |
US7697758B2 (en) * | 2006-09-11 | 2010-04-13 | Google Inc. | Shape clustering and cluster-level manual identification in post optical character recognition processing |
US8175394B2 (en) | 2006-09-08 | 2012-05-08 | Google Inc. | Shape clustering in post optical character recognition processing |
US7646921B2 (en) * | 2006-09-11 | 2010-01-12 | Google Inc. | High resolution replication of document based on shape clustering |
US20080310721A1 (en) * | 2007-06-14 | 2008-12-18 | John Jinhwan Yang | Method And Apparatus For Recognizing Characters In A Document Image |
JP5194851B2 (ja) * | 2008-02-05 | 2013-05-08 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理プログラム |
JP4661921B2 (ja) * | 2008-08-26 | 2011-03-30 | 富士ゼロックス株式会社 | 文書処理装置およびプログラム |
JP5126531B2 (ja) * | 2008-09-24 | 2013-01-23 | 富士ゼロックス株式会社 | 画像処理装置及び画像処理プログラム |
JP5321109B2 (ja) * | 2009-02-13 | 2013-10-23 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理プログラム |
US9158833B2 (en) | 2009-11-02 | 2015-10-13 | Harry Urbschat | System and method for obtaining document information |
US9152883B2 (en) * | 2009-11-02 | 2015-10-06 | Harry Urbschat | System and method for increasing the accuracy of optical character recognition (OCR) |
US9213756B2 (en) * | 2009-11-02 | 2015-12-15 | Harry Urbschat | System and method of using dynamic variance networks |
KR20130128681A (ko) * | 2012-05-17 | 2013-11-27 | 삼성전자주식회사 | 서체 보정을 수행하도록 하기 위한 방법 및 그 전자 장치 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3188609A (en) * | 1962-05-04 | 1965-06-08 | Bell Telephone Labor Inc | Method and apparatus for correcting errors in mutilated text |
JPS604505B2 (ja) * | 1972-07-10 | 1985-02-04 | スキヤン − オプテイクス インコ−ポレ−テツド | マルチ・フオント光学式文字認識装置 |
US4058795A (en) * | 1972-10-03 | 1977-11-15 | International Business Machines Corporation | Method and apparatus for context-aided recognition |
JPS5218136A (en) * | 1975-08-01 | 1977-02-10 | Hitachi Ltd | Signal processing unit |
JPS5398739A (en) * | 1977-02-09 | 1978-08-29 | Nippon Telegr & Teleph Corp <Ntt> | Communication system with character recognition |
US4383307A (en) * | 1981-05-04 | 1983-05-10 | Software Concepts, Inc. | Spelling error detector apparatus and methods |
US4674065A (en) * | 1982-04-30 | 1987-06-16 | International Business Machines Corporation | System for detecting and correcting contextual errors in a text processing system |
JPS59121478A (ja) * | 1982-12-27 | 1984-07-13 | Casio Comput Co Ltd | 文字認識装置 |
JPS6145372A (ja) * | 1984-08-10 | 1986-03-05 | Canon Inc | 画像文字認識装置 |
JP2607457B2 (ja) * | 1984-09-17 | 1997-05-07 | 株式会社東芝 | パターン認識装置 |
JPH0743755B2 (ja) * | 1985-10-09 | 1995-05-15 | 日本電気株式会社 | 文字認識装置 |
JPH0715703B2 (ja) * | 1986-05-16 | 1995-02-22 | 富士電機株式会社 | 文字読取方式 |
JPH0642268B2 (ja) * | 1986-10-31 | 1994-06-01 | 日本電気株式会社 | 文字認識装置 |
US5233672A (en) * | 1987-12-11 | 1993-08-03 | Kabushiki Kaisha Toshiba | Character reader and recognizer with a specialized editing function |
US5121441A (en) * | 1990-09-21 | 1992-06-09 | International Business Machines Corporation | Robust prototype establishment in an on-line handwriting recognition system |
US5272766A (en) * | 1991-01-14 | 1993-12-21 | Ncr Corporation | OCR system for recognizing user-specified custom fonts in addition to standard fonts using three-layer templates |
US5285505A (en) * | 1991-03-11 | 1994-02-08 | International Business Machines Corporation | Method and apparatus for improving prototypes of similar characters in on-line handwriting recognition |
US5319721A (en) * | 1992-04-14 | 1994-06-07 | International Business Machines Corporation | Methods and apparatus for evolving a starter set of handwriting prototypes into a user-specific set |
-
1994
- 1994-08-01 GB GB9415502A patent/GB2281997B/en not_active Expired - Lifetime
- 1994-08-08 DE DE4427992A patent/DE4427992C2/de not_active Expired - Lifetime
- 1994-09-08 JP JP24066794A patent/JP3359433B2/ja not_active Expired - Fee Related
-
1997
- 1997-10-22 US US08/956,767 patent/US6069978A/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
DE-Z.: MUNTER, H.: Bit für Bit zum fertigen Text. In: Der Polygraph, H.20, 1990, S.2072 und 2074 * |
Also Published As
Publication number | Publication date |
---|---|
DE4427992C2 (de) | 1996-07-18 |
GB9415502D0 (en) | 1994-09-21 |
US6069978A (en) | 2000-05-30 |
JPH07168948A (ja) | 1995-07-04 |
JP3359433B2 (ja) | 2002-12-24 |
GB2281997A (en) | 1995-03-22 |
GB2281997B (en) | 1997-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4427992C2 (de) | Verfahren zum Erzeugen einer Dokumenten-Darstellung aus einem Bitmap-Bild eines Dokuments | |
DE3716787C2 (de) | ||
DE19602129C2 (de) | Verfahren zum Erzeugen eines Farbdokuments | |
DE4106458C2 (de) | Graphische Datenverarbeitungseinrichtung zum Erzeugen eines Tones eines Randbildelements aus Vektordaten | |
DE4311172C2 (de) | Verfahren und Einrichtung zum Identifizieren eines Schrägenwinkels eines Vorlagenbildes | |
DE3926327C2 (de) | Verfahren und System zum Erkennen von Zeichen auf einem Medium | |
DE60303202T2 (de) | System und verfahren zum identifizieren und extrahieren von zeichenketten aus erfassten bilddaten | |
DE69826044T2 (de) | Vektorkartenplanarisierung und -einfang | |
DE3831427C2 (de) | ||
DE10204751B4 (de) | Verfahren zur Konvertierung eines Linework Datenformats in das Format einer Seitenbeschreibungssprache | |
DE2640814A1 (de) | Schaltung zur erzeugung eines zeichens durch in einem matrixmuster vorliegende bildelemente | |
DE19956158A1 (de) | Bild-Binärisierungsverfahren auf Bereichsbasis | |
DE19623318C2 (de) | Teilpixelcodierungs- und Decodierungsverfahren | |
EP0048941A2 (de) | Verfahren zum Verkleinern von grafischen Mustern | |
DE4436678A1 (de) | Multi-Tonabstufungs-Bildbearbeitungssystem | |
DE112021000371T5 (de) | Digitale bildbearbeitung | |
EP1842361B1 (de) | Verfahren, computerprogramm, computer und drucksystem zum trapping von bilddaten | |
DE69722605T2 (de) | Verfahren und vorrichtung zur bilderkennung sowie ihre anwendung in einem kopiergerät und einem drucker | |
DE69823110T2 (de) | Verfahren zur Dokumentwiedergabe und Zeichenextrahierung | |
DE4041054C2 (de) | Farbbildübertragungsverfahren | |
DE3843322C2 (de) | Verfahren und Vorrichtung zur Bildbearbeitung | |
DE102006053351A1 (de) | Verfahren und Vorrichtungen zum Verschmelzen und Ausgeben von Bildern | |
DE60218916T2 (de) | Verfahren, Vorrichtung und Programmspeichermedium zur Bestimmung des Umrisses eines gescannten Bildes | |
DE60203653T2 (de) | Lauflängenbasierte verbundene Komponenten und Konturverfolgung zur Laufzeitverbesserung eines Extraktionsalgorithmus für kreisförmige Bereiche | |
DE69825028T2 (de) | Programmierbare Auflösungsumwandlung von digitalen Daten mit niedriger Auflösung zu einer höheren Auflösung für die Wiedergabe auf einem niedrigauflösenden Ausgabegerät |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
R071 | Expiry of right |