-
Die
vorliegende Erfindung bezieht sich auf das Gebiet der Verarbeitung
von maschinenlesbaren Vordrucken, und, insbesondere, auf die Identifizierung
von Bereichen auf einem maschinenlesbaren Vordruck, der Markierungen
enthalten kann, die für einen
erwünschten
Vorgang kennzeichnend sind.
-
Ein
Verfahren gemäß dem Oberbegriff
des Anspruchs 1 und eine Vorrichtung gemäß dem Oberbegriff des Anspruchs
8 sind aus der US-A-5,060,980 bekannt, die nachfolgend diskutiert
werden wird.
-
Maschinenlesbare
Vordrucke sind seit einiger Zeit üblich geworden. Solche Vordrucke
schaffen einen Mechanismus, um zu ermöglichen, dass Vorgänge vorgenommen
werden, und zwar basierend auf Markierungen auf einem Papier, ohne
dass dabei ein Eingriff durch eine Person erforderlich ist, wie
beispielsweise Lesen oder Interpretieren der Vordrucke. Die Markierungen
auf solchen Vordrucken werden unter Steuerung einer Vorrichtung
extrahiert, üblicherweise
bezeichnet als eine Vordruck-Interpretiereinrichtung.
Die Vordrucke werden typischerweise durch eine optische Abtasteinrichtung
oder dergleichen „gelesen", und die Vordruck-Interpretiereinrichtung
lokalisiert und charakterisiert dann die Markierung auf den Vordrucken,
und kann dann einen Vorgang vornehmen, z.B. Ausgeben von Steuersignalen zu
Hilfsvorrichtungen als eine Funktion des Vorhandenseins, der Lage,
der Art, usw., der Markierungen.
-
Eine
Vielfalt von Techniken, wie beispielsweise Prüfkästen, Signaturbereiche und
Hervorhebung, sind entwickelt worden, um einer Vordruck-Interpretiereinrichtung
zu ermöglichen,
Markierungen, die auf einem maschinenlesbaren Dokument platziert
sind, zu lesen und zu interpretieren. Unter Verwendung der grundlegenden
Bildverarbeitungs-Techniken können Markierungen,
erstellt in bezeichneten Flächenbereichen
(nachfolgend bezeichnet als „aktive
Bereiche"), auf
dem Vordruck von einem abgetasteten Bild des Vordrucks gelesen werden,
was Daten erzeugt, die als Eingabe zu einem Daten-Verarbeitungssystem verwendet
werden können.
Ein Beispiel eines Produkts, das solche Verarbeitungs-Techniken
für einen Vordruck
verwendet, ist das Produkt PaperWorks TM, entwickelt durch die Xerox
Corporation, Stamford, Connecticut.
-
Bevor
die Markierungen gelesen und interpretiert werden können, müssen sie
auf dem abgetasteten Bild des Vordrucks lokalisiert werden. Dies kann
schwierig sein. Die vorgedruckten Grafiken (falls dort irgendwelche
vorhanden sind), verwendet dazu, die aktiven Bereiche zu bezeichnen,
sind ausreichend unterscheidungsfähig, um zuverlässig in dem
abgetasteten Bild durch die Form alleine identifiziert zu werden.
Zum Beispiel sehen kleine, quadratische Kästen, die oftmals als Prüfkästen verwendet werden,
sehr ähnlich
zu kleinen Zellen in einer Tabelle aus. Aus diesem Grund erfordert
eine Vordruck-Interpretiereinrichtung gewöhnlich, dass die Stelle der aktiven
Bereiche auf einem maschinenlesbaren Vordruck im Voraus bekannt
sind. Allerdings können
gerade dann, da das Bild eines Vordrucks, aufgenommen von einer
Abtasteinrichtung bzw. einem Scanner, wesentlich in beiden Dimensionen
verschoben sein kann, oder sogar gedehnt oder gedreht sein kann,
die aktiven Bereiche auf dem abgetasteten Bild sehr weit entfernt
von dem erscheinen, wie sie Idealerweise sein sollten. Um dies zu
korrigieren, erfordern die meisten existierenden Vordruck-Systeme die
Verwendung von Ausrichtungs-Markierungen, die leicht erkennbar sind
und an bekannten Stellen innerhalb des Vordrucks platziert sind.
Die Vordruck-Interpretiereinrichtung
findet zuerst diese Markierungen, und berechnet dann, auf der Basis
des Unterschieds zwischen den tatsächlichen Stellen der Ausrichtungs-Markierungen und
den Stellen, wo angenommen wird, dass sie sein sollten, eine einfache,
geometrische Transformation. Diese Transformation beschreibt eine
Auflistung von den idealen Stellen der aktiven Bereiche zu deren
tatsächlichen
Stellen in dem Fall, dass der Vordruck abgetastet wird, so dass die
aktiven Markierungs-Bereiche nun genau lokalisiert werden können.
-
Ein
Beispiel eines maschinenlesbaren Vordrucks ist in der US-A-5,060,980
beschrieben. Der beschriebene Vordruck umfasst Felder, die durch
einen Benutzer modifizierbar sind, was eine direkte Programmierung
einer Vordruck-Interpretiereinrichtung
ermöglicht.
Andere Informationen, die die Verarbeitung der codierten Daten des
Vordrucks, usw., umfassen, können
auch in den codierten Informationen umfasst sein. Das beschriebene
System zum Erzeugen der beschriebenen Vordrucke, die eine codierte
Beschreibung von ausgewählten
Attributen der Felder tragen, umfasst Einrichtungen, um Felder und Lagen
der Felder auf einem Vordruck auszuwählen oder zu erzeugen, während Felder
erzeugt werden und die Felder auf einem Vordruck während einer
Erzeugung angeordnet werden, im Wesentlichen gleichzeitig, und zwar
der codierten Beschreibung der ausgewählten Attribute. Ein Vordruck-Komposer ermöglicht dann
eine Zusammenführung
des Vordrucks und seiner codierten Beschreibung zum Drucken oder
für eine
elektronische Übertragung.
Ein System zum Lesen solcher Vordrucke umfasst eine Abtasteinrichtung,
eine Decodiervorrichtung und einen Prozessor. Durch Lesen solcher
Vordrucke können
Daten in ein Daten-Verarbeitungssystem eingegeben oder davon wieder
aufgerufen werden, oder eine Vordruck-Interpretiereinrichtung kann,
lokal oder entfernt, für
eine darauf folgende Handhabung von Vordrucken programmiert werden.
Um Lokalisierungsbereiche auf dem beschriebenen Vordruck, markiert
für ein
Lesen, zu erleichtern, d.h. Felder, umfasst der Vordruck einen Referenz-Punkt
in der Form eines Kreuzes, von wo aus das Layout des Rests des Vordrucks
berechnet wird. Die Vordruck-Interpretiereinrichtung
lokalisiert diesen Punkt und misst die Position der Inhalte der
Felder, die davon gelesen werden sollen. Minimal werden die codierten
Informationen eine Beschreibung der physikalischen Stelle von einem
Feld oder von mehreren Feldern auf dem Vordruck relativ zu dem Referenz-Punkt
und eine Beschreibung des Typs von einem Feld oder von mehreren
Feldern umfassen.
-
Die
US-A-5,140,650 offenbart ein durch einen Computer ausgeführtes Verfahren
für ein
automatisches Extrahieren von Daten von Vordrucken. Das beschriebene
Verfahren umfasst die Schritte eines Abtastens eines leeren Vordrucks,
um so ein digitales Bild eines ersten Felds von Pixeln zu erzeugen,
und eines Identifizierens der Pixel in dem Feld, die allgemein gerade
Linien von verbundenen Linien-Pixeln bilden. Dann werden Daten-Masken
in dem Feld an Stellen, getrennt durch die identifizierten Linien,
erzeugt, wo die Daten-Masken den Daten-Bereichen in dem gedruckten
Vordruck entsprechen. Weiterhin wird ein ausgefüllter Vordruck abgetastet, um
so ein digitales Bild eines zweiten Felds von Pixeln zu erzeugen,
wodurch die Pixel in dem zweiten Feld, die im Wesentlichen gerade
Linien aus verbundenen Pixeln bilden, identifiziert werden. Dann
wird der Versatz der Linien in dem zweiten Feld von den Linien in
dem ersten Feld berechnet und die Daten-Masken, erzeugt in dem ersten
Feld, werden in dem zweiten Feld unter Verwendung des berechneten
Versatzes lo kalisiert. Schließlich
werden die Daten entsprechend zu den Zeichen-Pixeln von den Daten-Masken
in dem zweiten Feld extrahiert. Alle Linien eines Master-Vordruck-Bilds
werden durch eine Reihen- und Spalten-Start-Position und Spalten-End-Position
identifiziert, um dadurch eine Beschreibung eines Master-Vordrucks
zu erzeugen. Weiterhin wird ein ausgefüllter oder Daten-Vordruck abgetastet
und Linien werden auch in einer ähnlichen Art
und Weise, wie sie vorstehend beschrieben ist, erkannt und identifiziert,
um eine Beschreibung eines Daten-Vordrucks zu erzeugen. Die Beschreibung
des Daten-Vordrucks wird mit der Beschreibung des Master-Vordrucks
durch Berechnen des horizontalen und vertikalen Versatzes und einer
Schrägstellung der
zwei Vordrucke relativ zueinander verglichen.
-
Die
US-A-5,201,011 beschreibt ein Verfahren und eine Vorrichtung für eine Erfassung
eines Bilds, das mit der Hand erstellt ist. Gemäß diesem Verfahren können Teile
eines Bilds, die einen Text zeigen, durch Zeichnen von Linien mit
der Hand markiert werden und der Inhalt der markierten Teile kann extrahiert
werden.
-
Die
Verwendung von statischen, vordefinierten Ausrichtungs-Markierungen
besitzt zwei Einschränkungen.
Erstens stören
die Ausrichtungs-Markierungen den Vordruck und schränken sein
Design ein (sie sind invariabel grafisch sehr intrusiv). Zweitens
darf, da diese Markierungen an bekannten Stellen vorhanden sein
müssen,
der Designer des Vordrucks diese nicht bewegen. Das bedeutet, dass
es schwierig ist, Vordrucke aufzubauen, die diese Markierungen enthalten,
und zwar in Systemen mit einem Standard-Seiten-Layout, da es schwierig
ist, in irgendeinem solchen System die Maßnahmen des Vordruck-Designers
einzuschränken,
um sicherzustellen, dass sie nicht versehentlich die präzise Positionierung
der Ausrichtungs-Markierungen zerstören. Demzufolge wäre es wünschenswert,
einen maschinenlesbaren Vordruck zu haben, der keine Platzierung
von statischen Ausrichtungs-Markierungen erfordert.
-
Es
ist die Aufgabe dieser Erfindung, ein Verfahren und eine Vorrichtung
zu schaffen, die dazu geeignet sind, verzerrte, z.B. verschobene,
gestreckte oder gedrehte Fälle
eines maschinenlesbaren Vordrucks, der eine moderate Anzahl von
Ausrichtungs-Markierungen aufweist, zu analysieren.
-
Diese
Aufgabe wird durch ein Verfahren nach Anspruch 1 und eine Vorrichtung
nach Anspruch 8 gelöst.
-
Bevorzugte
Ausführungsformen
sind Gegenstand der abhängigen
Ansprüche.
-
Ein
System zur Erzeugung und Verarbeitung von Vordrucken, das die aktiven
Bereiche eines maschinenlesbaren Vordrucks unter Verwendung von Markierungen
des Vordrucks verwendet, identifiziert und lokalisiert, wird offenbart.
Die aktiven Bereiche eines maschinenlesbaren Vordrucks, wie beispielsweise
ein Prüfkasten
oder ein Signatur-Kasten, können
eine durch einen Benutzer erzeugte Markierung enthalten. Eine Vordruck-Interpretiereinrichtung
wird die aktiven Bereiche eines Vordrucks prüfen, um zu bestimmen, ob eine
Markierung darauf platziert worden ist. Um aktive Bereiche zu identifizieren,
verwendet die vorliegende Erfindung Vordruck-Ausrichtungs-Informationen (d.h.
die Markierungen), die zumindest von den alphabetischen Zeichen
abgeleitet sind, die der Vordruck selbst darstellt. Spezielle Ausrichtungs-Markierungen
werden nicht benötigt.
Dies ermöglicht
ein uneingeschränktes
Vordruck-Design und die Verwendung eines viel breiteren Bereichs von
Software-Tools, um solche maschinenlesbaren Vordrucke aufzubauen.
Zusätzlich
macht es die vorliegende Erfindung möglich, dass viele existierende Vordrucke
maschinenlesbar gestaltet werden können, ohne sie umzugestalten.
-
In
der vorliegenden Erfindung wird der Vordruck, nachdem er entworfen
ist, voranalysiert. Das Ziel der Voranalyse ist dasjenige, von den
wahlweisen Grafiken in dem Vordruck einen Satz von grafischen Charakteristika
abzuleiten, d.h. Grenz- bzw. Orientierungs-Markierungen, die auf
zukünftig
abgetasteten Bildern des Vordrucks unabhängig deren Lage oder Orientierung
in dem Bild wieder aufgefunden werden können. Die Analyse sieht nach
der geometrischen Verteilung und nach Regularien der grafischen
Komponenten des Vordrucks, um einen Satz von Grenzmarkierungen auszuwählen. Beispiele
solcher Grenzmarkierungen könnten
Absätze
eines Textes, stark schwarze Linien oder Grau-Skalierungs-Bereiche
sein. Eine Beschreibung jeder Grenzmarkierung (oder ein bestimmter
Untersatz davon) wird zusammen mit der Lage und semantischen Informationen über die
aktiven Bereiche in eine Vordruck-Steuerdatei geschrieben, die durch eine
Vordruck-Interpretiereinrichtung verwendet wird, um den Vordruck
zu verarbeiten.
-
Wenn
ein Fall des Vordrucks durch die Vordruck-Interpretiereinrichtung
interpretiert wird, wird er abgetastet und ein Satz von Grenzmarkierungen
wird identifiziert. Unter Verwendung der erzeugten Vordruck-Steuerdatei
vergleicht die Vordruck-Interpretiereinrichtung
diesen Satz von Grenzmarkierungen mit den originalen Grenz markierungen,
spezifiziert in der Vordruck-Steuerdatei. Durch Bestimmen einer Korrespondenz
zwischen diesen zwei Sätzen
von Grenzmarkierungen ist die Vordruck-Interpretiereinrichtung in der Lage,
eine Transformation (Verschiebung und/oder Skalierung) zu bestimmen,
die von dem idealen Vordruck-Bild, verwendet in der Voranalyse,
zu dem Fall des abgetasteten Vordruck-Bilds stattgefunden hat. Diese
Transformations-Informationen werden dann dazu verwendet, die Stellen
der aktiven Bereiche, extrahiert von der Vordruck-Steuerdatei, einzustellen,
um zu ermöglichen,
dass die Vordruck-Interpretiereinrichtung korrekt die aktiven Bereiche
des abgetasteten Vordruck-Bilds findet und dann liest.
-
Die
vorliegende Erfindung wird weiterhin anhand eines Beispiels, unter
Bezugnahme auf die beigefügten
Zeichnungen, beschrieben, in denen:
-
1 zeigt ein Beispiel eines
maschinenlesbaren Vordrucks, der aktive Bereiche besitzt, die durch
eine derzeit bevorzugte Ausführungsform
der vorliegenden Erfindung erzeugt und verarbeitet werden können;
-
2 zeigt ein Blockdiagramm
von funktionalen Komponenten eines Toolkits zum Erzeugen und Interpretieren
von maschinenlesbaren Vordrucken der derzeit bevorzugten Ausführungsform
der vorliegenden Erfindung;
-
3 zeigt ein Flussdiagramm,
das die Grundschritte einer Vordruck-Analyse, wie sie in der derzeit
bevorzugten Ausführungsform
der vorliegenden Erfindung durchgeführt werden können, darstellt;
-
4 zeigt ein Flussdiagramm,
das die Schritte einer Grenzmarkierungs-Extraktion darstellt, wie sie in der
derzeit bevorzugten Ausführungsform der
vorliegenden Erfindung durchgeführt
werden können;
-
5 zeigt ein Beispiel einer
Vordruck-Steuerdatei in der derzeit bevorzugten Ausführungsform der
vorliegenden Erfindung;
-
6 zeigt ein Flussdiagramm,
das die Schritte für
eine Vordruck-Interpretation
darstellt, wie sie in der derzeit bevorzugten Ausführungsform
der vorliegenden Erfindung vorgenommen werden können;
-
7 zeigt ein Flussdiagramm,
das die Schritte zum Bestimmen der Lage der aktiven Bereiche eines
Falls eines Vordrucks darstellt, wie sie in der derzeit bevorzugten
Ausführungsform
der vorliegenden Erfindung durchgeführt werden können;
-
8 zeigt ein Blockdiagramm
eines auf einem Computer basierenden Systems, wie es in der derzeit
bevorzugten Ausführungsform
der vorliegenden Erfindung verwendet werden kann;
-
9 bis 11 werden dazu verwendet, ein Beispiel
der Zustände
des maschinenlesbaren Vordrucks der 1 zu
erläutern,
wenn er einer Grenzmarkierungs-Extraktion
unterworfen wird, wie sie in der derzeit bevorzugten Ausführungsform
der vorliegenden Erfindung durchgeführt wird; und
-
12 zeigt ein Beispiel von
Grenzmarkierungen, extrahiert von einem Fall des maschinenlesbaren
Vordrucks der 1.
-
Ein
Vordruck-Erzeugungs- und -Verarbeitungssystem, das die aktiven Bereiche
eines Vordrucks unter Verwendung von Vordruck-Grenzmarkierungen
identifiziert und lokalisiert, wird offenbart. In der nachfolgenden
Beschreibung werden zahlreiche spezifische Details angegeben, wie
beispielsweise Programmier-Techniken zum Spezifizieren von aktiven
Bereichen in einem Vordruck-Erzeugungs-Programm, um ein Gesamtverständnis der vorliegenden
Erfindung zu vermitteln. Es wird allerdings für einen Fachmann auf dem betreffenden Fachgebiet
ersichtlich werden, die Erfindung ohne solche spezifischen Details
auszuführen.
In anderen Fällen
sind spezifische Ausführungs-Details,
wie beispielsweise Abtast-Technologien, um eine mittels Bits aufgelistete
Darstellung eines Vordrucks zu erzeugen, nicht im Detail dargestellt
worden, um nicht in unnötiger
Weise die vorliegende Erfindung zu verschleiern.
-
Maschinenlesbarer Vordruck
der derzeit bevorzugten Ausführungsform
-
1 stellt ein einfaches Beispiel
eines maschinenlesbaren Vordrucks dar. Wie 1 zeigt, weist ein Vordruck 101 einen
eingebetteten Daten-Bereich 102, einen Vordruck-Titel 103,
Prüfkästen 104–106,
die begleitende Textbeschreibungen besitzen, einen ersten Block
von textmäßigen Anweisungen 107,
die den Text „Mark
Only One Box" tragen,
einen zweiten Block von textmäßigen Anweisungen 108,
der den Text „Choose
the Alternative That Satisfies Your Criteria, Sign Below to Authorize Your
Selection" trägt, und
einen Signatur-Kasten 109 auf.
-
Jedem
Prüfkasten 104–106 des
Vordrucks 101 ist ein rechteckiger Kasten zugeordnet. Dieser Kasten
ist ein grafischer Würfel,
der anzeigt, wo eine Markierung vorgenommen werden kann, die darauf folgend
erkannt und entsprechend verarbeitet werden würde. Es ist anzumerken, dass
andere grafische Würfel,
z.B. Kreise oder Linien, auch verwendet werden können. Der
eingebettete Daten-Bereich 102 kann dazu verwendet werden,
verschiedene Informationen über
den Vordruck zu liefern. Eine Codier-Technologie für eingebettete
Daten, die verwendet werden kann, ist in der US-A-5,168,147 beschrieben.
-
Eine
Anwendung, die Fälle
des Vordrucks 101 verarbeiten würde, kann eine solche sein,
die einfach die Anzahl, für
die die Prüfkästen „abgeprüft" worden ist (d.h.
enthält
eine Markierung), zählt,
bestimmt, dass nur ein Prüfkasten
pro Vordruck markiert worden ist und dass ein Vordruck, der verarbeitet
wird, unterzeichnet worden ist. Die Anwendung kann verifizieren,
oder kann nicht verifizieren, dass die Signatur gültig ist.
Eine Gültigerklärung von
Signaturen geht über
den Schutzumfang der vorliegenden Erfindung hinaus, so dass kein
weiteres Detail solcher Validierungs-Techniken angegeben wird.
-
Die
aktiven Bereiche in dem Vordruck 101 werden durch die rechteckigen
Kästen
von Prüfkästen 104–106 und
einem Signatur-Block 109 bezeichnet. Der aktive Bereich
bezieht sich auf eine Stelle eines vervollständigten Falls eines Vordrucks,
den eine Vordruck-Interpretiereinrichtung prüfen wird, um zu bestimmen,
ob sie markiert worden ist.
-
Es
sollte auch angemerkt werden, dass der Vordruck 101 verschiedene
Grenzmarkierungen besitzt. Mit Grenzmarkierungen ist eine visuell
unterscheidbare Komponente des Vordrucks gemeint. Der eingebettete
Daten-Bereich 102, der Titel 103 und die Text-Blöcke 107 und 108 werden
als Grenzmarkierungen für
den Vordruck verwendet (obwohl, aufgrund von Unterschieden in Fällen von
Vordrucken, diese Bereiche nicht immer als separate Grenzmarkierungen
identifiziert werden können).
Es erfolgt über
eine Analyse von räumlichen
Transformationen zwischen den Grenzmarkierungen des vorliegenden Vordrucks
und den Grenzmarkierungen des voranalysierten „originalen" Vordrucks, dass
die tatsächliche Stelle
von aktiven Bereichen eines Falls eines Vordrucks gefunden werden.
-
Übersicht
der derzeit bevorzugten Ausführung
-
Die
derzeit bevorzugte Ausführungsform
der vorliegenden Erfindung wird als ein Satz von Software-Programmen
ausgeführt,
die auf einem auf einem Computer basierenden System arbeiten. Die
Software-Programme stellen Tools zum Verarbeiten von maschinenlesbaren
Vordrucken dar. Ein solcher Satz von Software- Programmen wird üblicherweise als „Toolkit" bezeichnet. Der
Toolkit liefert einen Verarbeitungs-Service für Software-Anwendungen, um
einen zusammengesetzten, maschinenlesbaren Vordruck vorab zu analysieren.
Der „Toolkit" liefert auch einen
Verarbeitungs-Service für
Software-Anwendungen, die Fälle
der erzeugten, maschinenlesbaren Vordrucke verarbeiten. Der Verarbeitungs-Service, der
zu der vorliegenden Erfindung in Bezug steht, umfasst eine Software
zum Abtasten der Vordrucke und zum Extrahieren von Daten aus den
abgetasteten Vordrucken heraus. Andere Verarbeitungs-Möglichkeiten,
wie beispielsweise eine Software zum Durchführen verschiedener Bildverarbeitungs-Funktionen
oder zum Analysieren von optisch codierten Daten, können auch
vorgesehen werden.
-
Die
Toolkit-Ausführungsform
der vorliegenden Erfindung ist in 2 dargestellt.
Der Toolkit ist aus einem Vordruck-Erzeugungs-Teil 201,
einem Vordruck-Analyse-Teil 202 und
einem Vordruck-Interpretierer-Teil 203 aufgebaut. Der Vordruck-Erzeugungs-Teil 201 wird
vorzugsweise in Kombination mit einem Seiten-Layout- oder mit einem
anderen Dokumenten-Erzeugungs-Programm 204 arbeiten, z.B. dem
Programm Microsoft (TM) Word, erhältlich von der Microsoft (TM)
Corporation, Bellevue, Washington, um einen Vordruck 205 zu
erzeugen. Alternativ kann der Vordruck-Erzeugungs-Teil ein selbstständiges Programm
sein. In jedem Fall wird der Vordruck-Erzeugungs-Teil ein Einsetzen der notwendigen
Steuer-Informationen ermöglichen,
so dass die „aktiven
Bereiche" auf einem
Vordruck definiert werden können.
-
Der
Vordruck-Analyse-Teil 202 ist vorzugsweise ein Software-Programm,
das eine Eingabe, eine Darstellung des Vordrucks 205 und
eine Beschreibung der aktiven Bereiche auf einem Vordruck aufnimmt
und eine Vordruck-Steuerdatei 206 erzeugt. In der derzeit
bevorzugten Ausführungsform enthält die Vordruck-Steuerdatei 206 Informationen über einen
aktiven Bereich und Grenzmarkierungs-Informationen für den Vordruck 205.
-
Vorzugsweise
wird der Vordruck-Interpretier-Teil 203 durch ein Anwendungs-Programm aufgerufen,
um Daten aus einem Fall des Vordrucks zu extrahieren. Solche Daten
können
die Erfassung des Vorhandenseins oder des Nichtvorhandenseins einer Markierung
in den aktiven Bereichen sein.
-
Jeder
der vorstehenden Teile wird in größerem Detail nachfolgend beschrieben.
-
Erzeugung eines Vordrucks
-
Wie
in dem Stand der Technik angeführt
ist, erforderten frühere
Systeme zum Lesen von maschinenlesbaren Vordrucken das Vorhandensein
von statischen und vordefinierten Ausrichtungs-Markierungen. Die
vorliegende Erfindung beseitigt das Erfordernis solcher Ausrichtungs-Markierungen.
Der Vordruck-Erzeugungs-Teil der vorliegenden Erfindung kann mit
einem geeigneten Seiten-Layout- oder Dokumenten-Editier-Programm arbeiten, um neue,
maschinenlesbare Vordrucke zu erzeugen. Der erzeugte, maschinenlesbare
Vordruck kann neu zusammengestellt sein oder kann eine Umwandlung
eines existierenden, nicht mittels Maschine lesbaren Vordrucks sein.
-
In
der derzeit bevorzugten Ausführungsform der
vorliegenden Erfindung sind aktive Bereiche über Vordruck-Steuer-Objekte
spezifiziert. Ein Vordruck-Steuer-Objekt ist ein Objekt, das an
einer spezifischen Stelle eines Vordrucks, der erzeugt wird, eingesetzt
wird, typischerweise in Verbindung mit der Verwendung eines Dokumenten-Layout- oder Dokumenten-Erzeugungs-Programms.
In der derzeit bevorzugten Ausführungsform
wird ein Merkmal des Microsoft Windows TM Betriebssystems,
bekannt als Object Linking and Embedding (OLE), dazu verwendet,
Vordruck-Steuer-Objekte in einen Vordruck einzubetten. Das OLE-Merkmal
wird durch ein Word-Verarbeitungs-Programm, wie beispielsweise Microsoft
Word, unterstützt.
Wenn der Vordruck erzeugt wird, wird, wenn es erwünscht ist,
ein Vordruck-Steuer-Objekt einzusetzen, ein Word-Verarbeitungs-Befehl
ausgewählt,
der das Einsetzen eines Objekts ermöglicht. Der Typ, der Name und
die Größe eines
entsprechenden, aktiven Bereichs werden spezifiziert. Wenn einmal
das Vordruck-Steuer-Objekt definiert ist, wird ein Text entsprechend
zu dem Vordruck-Steuer-Objekt eingegeben. Dieser Vorgang wird für alle erwünschten
Vordruck-Steuer-Objekte auf dem Vordruck wiederholt.
-
Verschiedene
Techniken können
verwendet werden, um einen existierenden Vordruck in einen solchen,
der maschinenlesbar ist, umzuwandeln. Falls der existierende Vordruck
nur in einer Form einer Hardcopy existiert, ist eine einfach Art
und Weise diejenige, ein abgetastetes Bild des existierenden Vordrucks
zu erzeugen und dann ein Bild-Editier-Programm zu verwenden, um
die aktiven Bereiche zu spezifizieren und zu positionieren. Falls
eine Computerdatei für
den vorhandenen Vordruck existiert, kann er einfach unter Verwendung
eines geeigneten, freigegebenen Dokument- Layout-Programms verwendet werden, um
die geeigneten Vordruck-Steuer-Objekte in die Computerdatei einzusetzen.
-
Analyse des Vordrucks
-
Das
Ergebnis einer Analyse des Vordrucks ist die Steuerdatei der Vordrucke.
Die Steuerdatei der Vordrucke wird durch die Vordruck-Interpretiereinrichtung
verwendet, um Daten von einem maschinenlesbaren Vordruck zu extrahieren,
und insbesondere dazu, Markierungen zu identifizieren, die innerhalb
der aktiven Bereichen eines Vordrucks vorhanden sind. In der derzeit
bevorzugten Ausführungsform
verarbeitet die Vordruck-Analyse eine „Druck-Datei" Darstellung des
Vordrucks. Die Druck-Datei
wird durch eine von einem Benutzer initiierte Anforderung an das
auf dem Computer basierende System erzeugt, um den Vordruck zu drucken. Das
Computer-System
wird dann einen Satz von grafischen Befehlen erzeugen, die durch
den Drucker interpretiert werden, wenn ein Dokument gedruckt wird.
In der derzeit bevorzugten Ausführungsform wird
die Druck-Datei auch die Steuer-Objekte der Vordrucke, die die aktiven
Bereiche bezeichnen, enthalten. Das Vordruck-Steuer-Objekt wird
einen Identifizierer und einen Typ für den aktiven Bereich ebenso
wie grafische Befehle zum Gestalten irgendwelcher grafischer Würfel für den aktiven
Bereich enthalten. Der Identifizierer ist nur ein Name, durch den
auf den aktiven Bereich später
Bezug genommen werden kann. Der Typ eines aktiven Bereichs ist ein
Indikator dafür,
welcher Typ von Daten darin angeordnet sein würde (z.B. ein Prüfkasten
würde ein
handgeschriebenes Prüfsymbol
enthalten und ein Signatur-Kasten würde eine Signatur enthalten).
Schließlich
wird eine Bit aufgelistete Darstellung des Vordrucks intern erzeugt,
die dann dazu verwendet wird, die Vordruck-Analyse anzusteuern.
Wie im Detail nachfolgend beschrieben ist, evaluiert die Vordruck-Analyse
der vorliegenden Erfindung die erzeugte, Bit aufgelistete Darstellung
unter Verwendung von verschiedenen Bildverarbeitungs-Techniken,
um Grenzmarkierungen zu identifizieren.
-
3 stellt in größerem Detail
die Schritte dar, die in der Vordruck-Analyse durchgeführt werden.
Zuerst wird eine „Druck" Datei empfangen, Schritt 301.
Wie vorstehend angeführt
ist, ist die Druck-Datei aus einer Liste von grafischen Befehlen und
Vordruck-Steuer-Objekten aufgebaut. In der derzeit bevorzugten Ausführungsform
wird die „Druck" Datei dazu verwendet,
ein Bild mit einer Auflösung von
300 × 300
Punkten pro Inch (dots per Inch – dpi) zu gestalten. Jedes
der jeweiligen Elemente der Druck-Datei wird dann verarbeitet, Schritt 302.
Eine Bestimmung wird vorgenommen, ob das Element ein grafischer
Befehl oder ein Vordruck-Steuer-Objekt ist. Falls es ein grafischer
Befehl ist, wird der grafische Befehl ausgeführt, Schritt 303.
Durch Ausführen des
grafischen Befehls wird ein Bereich des Vordrucks gestaltet. Falls
es ein Vordruck-Steuer-Objekt ist, dann wird die gestaltende Stelle
für das
Vordruck-Steuer-Objekt
als ein aktiver Bereich bezeichnet. Das Vordruck-Steuer-Objekt wird
dann gestaltet, Schritt 304. Die gestaltete Stelle für das Vordruck-Steuer-Objekt
wird dann in der Vordruck-Steuer-Datei gesichert, Schritt 305.
Die Stelle wird in Angaben des Abstands von der oberen, linksseitigen Ecke
der Vordruck-Seite gespeichert, im Gegensatz zu Angaben von Pixel-Stellen.
Eine Prüfung
wird dann vorgenommen, um zu bestimmen, ob es das letzte, grafische
Element in der Druck-Datei war, Schritt 306. Falls dies
nicht der Fall ist, dann wird der nächste Befehl entsprechend Schritt 302 verarbeitet. Falls
es das letzte Element ist, dann wird eine Grenzmarkierungs-Extraktion
in Bezug auf die sich ergebende, Bit aufgelistete Darstellung des
Bilds durchgeführt,
Schritt 307. Eine Grenzmarkierungs-Extraktion wird im Detail
unter Bezugnahme auf das Flussdiagramm in 4 beschrieben. Wenn einmal die Grenzmarkierungen
extrahiert sind, werden sie in der Vordruck-Steuer-Datei gesichert,
Schritt 308. Die Grenzmarkierungs-Informationen umfassen
Identitäten
für Typen
von Grenzmarkierungen, die Stelle der Grenzmarkierungen und eine
Liste der Grenzmarkierungen. Wie nachfolgend beschrieben werden
wird, kann die Vordruck-Steuer-Datei in verschiedenen Stellen für einen
Zugriff durch eine Vordruck-Interpretiereinrichtung gespeichert
werden.
-
Wie
nun 4 zeigt, beginnt
die Grenzmarkierungs-Extraktion mit einer Bestimmung, ob die Bit aufgelistete
Darstellung des Vordrucks genug Informationen besitzt (z.B. Text
oder grafische Daten), so dass sie gerade ausgerichtet werden kann,
Schritt 401. Diese Bestimmung wird vorgenommen, um die Integrität der Verarbeitung
von darauf folgenden Vordrucken sicherzustellen. Es ist bestimmt
worden, dass ein Bit aufgelistetes Bild, das nicht gerade gerichtet
werden kann, für
Fehler während
der Verarbeitung des Vordrucks anfällig ist. Falls bestimmt ist, dass
der Vordruck nicht gerade gerichtet werden kann, wird der Vordruck
zurückgewiesen,
Schritt 402. Ansonsten wird dann die Bit aufgelistete Darstellung zu
einer „Standard" Seitendichte umgewandelt, Schritt 403.
In der derzeit bevorzugten Ausführungsform
wird das Bild mit 300 × 300
dpi des Vordrucks auf ein Bild mit 100 × 100 dpi „verringert". Es ist bestimmt
worden, dass eine Verarbeitung unter diesem Niveau einer „Standard" Dichte Fehler verringert,
die durch verschiedene Auflösungen,
verwendet durch Druck- und Abtast-Elemente, eingeführt werden
können.
Diese Verringerung tritt über
ein Schwellwert-Bildungs-Verfahren auf, bei dem jedes Feld mit 3 × 3 Pixeln
auf einen einzelnen Wert basierend auf der Zählung der Ein-Aus-Pixel in
dem 3 × 3
Pixel-Feld verringert wird.
-
Unter
Verwendung der komprimierten Darstellung des Vordrucks wird eine
Analyse von verbundenen Komponenten und begrenzenden Kästen, die erzeugt
sind, durchgeführt,
und zwar am Schritt 404. Eine Analyse von verbundenen Komponenten
bezieht sich auf ein Gruppieren von Pixeln, basierend darauf, ob
sich angrenzende Pixel in demselben Zustand befinden (d.h. „ein" oder schwarz). Eine
solche Analyse von verbunden Komponenten wird weit verbreitet in
vielen Aufgaben einer Dokumenten-Analyse verwendet, z.B. optische
Zeichenerkennung (Optical Character Recognition). Das Ergebnis hier
wird das sein, Rechtecke auf dem Zeichen-Niveau zu haben. Diese
Rechtecke werden mit anderen, nahe dazu liegenden Rechtecken vereinigt,
und zwar am Schritt 405. Dies wird zu Rechtecken auf dem Word-Niveau
führen.
Diese „Nähe" wird durch einen ersten
Schwellwert bestimmt. Als nächstes
werden überlappende
Rechtecke vereinigt, Schritt 406. Dies wird zu einer Zusammenstellung
von nicht überlappenden
Rechtecken einer Wortgröße führen.
-
An
diesem Punkt werden die größeren Charakteristika
des Vordrucks identifiziert. Zuerst werden naheliegende Rechtecke
vereinigt, dieses Mal entsprechend einem zweiten Schwellwert, und
ein Iterationszähler
wird erhöht,
und zwar am Schritt 407. Wie nachfolgend beschrieben werden
wird, kann dieser Schritt in Abhängigkeit
von der Anzahl von Rechtecken, die momentan extrahiert sind, wiederholt
werden. Sich überlappende
Rechtecke werden vereinigt, um eine Anfangs-Grenzmarkierungs-Liste zu erzeugen,
Schritt 408. Es wird dann bestimmt, ob eine annehmbare
Anzahl von Grenzmarkierungen identifiziert worden ist, Schritt 409.
Diese Bestimmung sieht zuerst nach, um festzustellen, ob weniger
als eine vorbestimmte Zahl (z.B. 10) identifiziert worden ist, oder
falls der Unterschied in den Grenzmarkierungen, erzeugt zwischen
Iterationen, geringer als ein anderer, vorbestimmter Schwellwert
ist (z.B. geringer als 10%). In jedem Fall findet, falls die Anzahl
von Grenzmarkierungen nicht an nehmbar ist, eine weitere Vereinigung
von Rechtecken entsprechend Schritt 407 statt. Ansonsten
werden die Liste von Grenzmarkierungen und der Wert des Iterationszählers in
der Vordruck-Steuerdatei gespeichert, Schritt 410. Grenzmarkierungen
in der Vordruck-Steuerdatei werden als die „originalen" Grenzmarkierungen
bezeichnet. Der Iterationszähler
wird dazu verwendet, Informationen zu dem Vordruck-Interpretationsteil
zu liefern, wenn die Anzahl des Schrittes entsprechend zu Schritt 407 durchgeführt werden
sollte.
-
5 stellt die Vordruck-Steuerdatei
der vorliegenden Erfindung dar. Die Vordruck-Steuerdatei enthält eine
Version-Zahl 501, eine Liste von Vordruck-Steuerobjekten 502 und
die Grenzmarkierungs-Informationen 50. Jedes Vordruck-Steuerobjekt wird
aus einem Steuerobjekt-Identifizierer, einer Position, einer Größe und einem
Typ aufgebaut. Die Grenzmarkierungs-Informationen 503 sind
aus einem Spezifikations-Grenzmarkierungs-Typ, dem Iterationszähler und
einer Liste von Grenzmarkierungen aufgebaut. Jede der Grenzmarkierungen
wird eine Größe und eine
Position spezifizieren.
-
Vordruck-Interpretierer
-
Der
Vordruck-Interpretierer der derzeit bevorzugten Ausführungsform
wird typischerweise innerhalb eines Anwendungs-Programms aufgerufen, das
den Vordruck verarbeitet, um irgendwelche Markierungen, die in den
aktiven Bereichen des Vordrucks enthalten sind, zu identifizieren.
Der Vordruck-Interpretierer wird die Lage von aktiven Bereichen
identifizieren, die Existenz von Markierungen in den aktiven Bereichen
bestimmen und dann diese Informationen zu dem Anwendungs-Programm
weiterführen. 6 zeigt ein Flussdiagramm,
das die Schritte beschreibt, die durch den Vordruck-Interpretierer
beim „Lesen" von Informationen
von einem Vordruck durchgeführt
werden. Zuerst wird eine Bit aufgelistete Darstellung des Vordrucks
erhalten, Schritt 601. Die Bit aufgelistete Darstellung
des Vordrucks ist typischerweise der Ausgang von einer Abtasteinrichtung.
Diese Bit aufgelistete Darstellung des Vordrucks wird dann gerade
gerichtet, Schritt 602. Mit einem Geradeausrichten ist
gemeint, dass irgendwelche schrägen
Verzerrungen, eingeführt
durch den Abtast-Vorgang, oder bei der Reproduktion des Vordrucks,
korrigiert werden. Als nächstes
wird die in der Schräge
korrigierte Darstellung auf das Standard-Format „reduziert", Schritt 603, und die Vordruck-Steuerdatei
wird eingelesen, Schritt 604. Es sollte angemerkt werden, dass
die Vordruck-Steuerdatei auf verschiedene alternative Arten und
Weisen erhalten werden kann. Zum Beispiel kann die Vordruck-Steuerung
innerhalb des Vordrucks selbst codiert werden und dann extrahiert
werden, wenn der Vordruck verarbeitet wird. Oder die Vordruck-Steuerdatei
kann permanent in einer Speichereinrichtung, verbunden mit einem
auf dem Computer basierenden System, das den Vordruck verarbeitet,
gespeichert sein. Oder die Vordruck-Steuerdatei könnte über eine
bestimmte Netzwerk-Verbindung erhalten werden und könnte kurzzeitig
gespeichert werden, während
der Vordruck verarbeitet wird. Eine Ausführung solcher verschiedenartiger
Techniken liegt nicht außerhalb
des Schutzumfangs der vorliegenden Erfindung.
-
Eine
Grenzmarkierungs-Extraktion wird dann durchgeführt, um „Fälle" von Grenzmarkierungen zu finden, Schritt 605.
Die Identifikation von Grenzmarkierungen erfolgt über einen
Prozess, der im Wesentlichen ähnlich
zu den Schritten ist, die unter Bezugnahme auf 4 beschrieben sind. Der Schritt eines
Auffindens von „nahen" Rechtecken wird
für eine
solche Anzahl von Malen durchgeführt, die
in dem Iterations-Wert
spezifiziert ist, und die verschiedenen Schwellwerte sind dieselben
wie in der Voranalyse. In jedem Fall ist an diesem Punkt eine Liste
von „Fällen" von Grenzmarkierungen
und eine Liste von „originalen" Grenzmarkierungen
erzeugt worden. Es ist anzumerken, dass hier nicht dieselbe Anzahl
von „Grenzmarkierungen" in den Listen für den „momentanen
Fall" und die „originalen" Listen vorhanden
sein muss. Dies erfolgt aufgrund der potenziellen Unterschiede in
der Bit aufgelisteten Darstellung des Vordrucks, wie er analysiert
ist, und entsprechend des abgetasteten Vordrucks. In jedem Fall werden
die Listen der momentanen und der originalen Grenzmarkierungen basierend
auf deren Position in Bezug auf die obere, linke Ecke der Vordruck-Seite gespeichert,
Schritt 606. Die Grenzmarkierungen in jeder Liste werden
dann „angepasst" oder gepaart, Schritt 607.
Die Kriterien, um solche Anpassungen zu erhalten, basiert auf der
Form und den Lagen der Grenzmarkierungen. Es ist anzumerken, dass
es nicht notwendig ist, dass jede Grenzmarkierung in einer Liste
gepaart ist. Solange wie eine geeignete Anzahl von Übereinstimmungen
auftritt, kann die Identifikation der aktiven Bereiche über den
momentanen Fall eines Vordrucks bestimmt werden. An diesem Punkt
können
die aktiven Bereiche in dem momentanen Fall eines Vordrucks überprüft werden.
In der derzeit bevorzugten Ausführungsform
muss eine Prüfung
eines aktiven Bereichs explizit durch eine Verarbeitungs-Anwendung
eines Vordrucks angefordert werden. Die Verarbeitung jeder Anforderung wird
in Bezug auf 7 beschrieben.
-
Wie 7 zeigt, werden zwei Paare
von Grenzmarkierungen identifiziert, die „am nächsten" zu dem aktiven Bereich, der geprüft wird,
liegen, Schritt 701. Die Bestimmung von „am nächsten" wird durch Vergleichen
der räumlichen
Lage der aktiven Bereiche und der „originalen" Grenzmarkierungen von
der Vordruck-Steuerdatei vorgenommen. Es wird dann bestimmt, ob
die ausgewählten
Paare von Grenzmarkierungen akzeptierbare Versätze haben, Schritt 702.
Nicht akzeptierbare Versetzungen können auftreten, falls die Position
der Grenzmarkierung von ihrer originalen Position um einen Betrag
viel größer als
die durchschnittliche Verschiebung aller Grenzmarkierungen verschoben
ist. In jedem Fall wird, falls eine Grenzmarkierung keinen akzeptierbaren
Versatz besitzt, die Grenzmarkierung zurückgewiesen und wird nicht darauf
folgend verwendet werden, Schritt 703. Die Verarbeitung
wird dann zu Schritt 701 zurückgehen unter Verwendung der
verbleibenden Grenzmarkierungen. Falls der Versatz akzeptierbar
ist, wird eine Bestimmung vorgenommen, ob die Grenzmarkierungen „nahe" zu der Position
des originalen, aktiven Bereichs liegen, Schritt 704. Falls
sie nahe dazu liegen, wird der Versatz durch Mitteln der erhaltenen
Verschiebungen in den Paaren von Grenzmarkierungen erhalten, Schritt 705.
Der Versatz-Wert wird dann mit der Lage des originalen, aktiven
Bereichs kombiniert, um die Lage, die geprüft werden soll, zu erzeugen,
Schritt 706. Falls sie nicht nahe zueinander liegen, wird
der Bereich, der geprüft
werden soll, durch die Erzeugung einer affinen Transformation von
einem Koordinatensystem-Raum, definiert durch den originalen Vordruck,
zu einem Koordinatensystem-Raum, definiert durch den gerade abgetasteten
Vordruck, bestimmt, Schritt 707. Diese affine Transformation
wird dann auf die Informationen des aktiven Bereichs in der Vordruck-Steuerdatei
angewandt. In jedem Fall wird der entsprechende Bereich geprüft, Schritt 708.
Eine Prüfung
kann nur die Erfassung irgendwelcher Markierungen (z.B. „Ein" Pixel) in dem entsprechenden Bereich
sein. Dieser Vorgang wird für
jeden aktiven Bereich, der geprüft
werden soll, wiederholt.
-
Übersicht eines auf einem Computer
basierenden Systems in der derzeit bevorzugten Ausführungsform der
vorliegenden Erfindung
-
Das
auf einem Computer basierende System, auf dem die derzeit bevorzugte
Ausführungsform
der vorliegenden Erfindung ausgeführt werden kann, wird unter
Bezugnahme auf 8 beschrieben.
Wie 8 zeigt, ist das
auf einem Computer basierende System aus einer Mehrzahl von Komponenten,
verbunden über
einen Bus 801, aufgebaut. Der Bus 801 ist typischerweise
aus einer Mehrzahl von parallelen Bussen (z.B. Adressen-Daten- und
Status-Bussen) ebenso wie einer Hierarchie von Bussen (z.B. einem
Prozessor-Bus, einem lokalen Bus und einem I/O-Bus) aufgebaut. In
jedem Fall ist das auf einem Computer basierende System weiterhin
aus einem Prozessor 802 zum Ausführen von Instruktionen, geliefert über den
Bus 801 von einem internen Speicher 803, aufgebaut
(beachte, dass der interne Speicher 803 typischerweise
eine Kombination eines Random Access Memory oder eines Read Only
Memory ist). Der Prozessor 802 und der interne Speicher
ROM 803 können
diskrete Komponenten oder eine einzelne, integrierte Vorrichtung,
wie beispielsweise ein Application Specification Integrated Circuit-(ASIC)-Chip,
sein.
-
Auch
sind mit dem Bus 801 ein Tastenfeld 804 zum Eingeben
einer alphanumerischen Eingabe, ein externer Speicher 805 zum
Speichern von Daten, eine Cursor-Steuervorrichtung 806 zum
Manipulieren eines Cursors, und eine Anzeige 807 zum Anzeigen einer
visuellen Ausgabe verbunden. Das Tastenfeld 804 ist typischerweise
ein Standard-QWERTY-Tastenfeld, kann allerdings auch ein Telefon ähnliches Tastenfeld
sein. Der externe Speicher 805 kann ein fest eingebautes
oder ein entfernbares, magnetisches oder optisches Plattenlaufwerk
sein. Die Cursor-Steuervorrichtung 806 wird
typischerweise eine Taste oder einen Schalter, die dazu zugeordnet
sind, haben, mit denen die Funktionsweise bestimmter Funktionen
programmiert werden kann. Weiterhin ist mit dem Bus 801 eine
Abtasteinrichtung 808 verbunden. Die Abtasteinrichtung 808 bildet
eine Einrichtung zum Erzeugen einer Bit aufgelisteten Darstellung
einer Hardcopy eines Vordrucks.
-
Optionale
Elemente, die mit dem Bus 801 verbunden sein könnten, würden einen
Drucker 809 und eine Netzwerk-Verbindung 810 umfassen.
Der Drucker 809 könnte
dazu verwendet werden, eine Maschine zu drucken, nachdem sie erzeugt
worden ist. Die Netzwerk-Verbindung 810 könnte dazu
verwendet werden, die Benutzung der vorliegenden Erfindung über ein
Netzwerk zu ermöglichen.
Zum Beispiel könnte
ein abgetastetes Bild einer Art eines Vordrucks zu einem System
hin gerichtet werden, das die notwendigen Vordruck-Interpretierer,
benötigt
für eine
Analyse, besitzt.
-
Es
sollte angemerkt werden, dass das auf einem Computer basierende
System, auf dem ein maschinenlesbarer Vordruck und entsprechende
Vordruck-Steuerdateien
erzeugt werden, und das auf dem Computer basierende System, auf
dem die Vordruck-Interpretiereinrichtung vorhanden ist, nicht dieselben
sein müssen.
-
Beispiel
-
Die
vorliegende Erfindung wird weiterhin anhand eines Beispiels beschrieben,
bei dem die Grenzmarkierungen des maschinenlesbaren Vordrucks der 1 extrahiert sind. Es sollte
angemerkt werden, dass die Grenzmarkierungs-Extraktion der vorliegenden
Erfindung analog zu verschiedenen Techniken sind, die entwickelt
worden sind, um eine Bit aufgelistete Darstellung eines Mediums
zu analysieren, um die Struktur des Mediums in Bezug auf Blöcke zu identifizieren. 9 ist eine Darstellung von
Rechtecken nach dem Schritt der verbundenen Komponenten, beschrieben
in Bezug auf Schritt 404 des Flussdiagramms der 4. An diesem Punkt wird
jedes der Rechtecke ein Zeichen, oder mindestens einen Bereich eines
Zeichens, darstellen. 10 stellt
die Vereinigung von Rechtecken dar, wobei eine Gruppierung, wie
beispielsweise Wörter, identifiziert
worden ist (wie sie in dem Schritt 405 der 4 erzeugt sein können). Schließlich stellt 11 weitere Gruppierungen
dar, bei denen Rechtecke vereinigt worden sind. Die Blöcke der 11 zeigen potenzielle Grenzmarkierungen,
angezeigt als Blöcke 1101–1108,
an.
-
12 stellt einen Fall des
maschinenlesbaren Vordrucks der 1 dar,
wobei die Grenzmarkierungen identifiziert worden sind. Aus verschiedenen Gründen ist
der vorliegende Fall des Vordrucks als ein Satz von Grenzmarkierungen
erzeugt worden, die unterschiedlich zu solchen der 11 sind. 12 besitzt
nur fünf
Grenzmarkierungen (Grenzmarkierungen 1201–1205).
Es sollte angemerkt werden, dass die Grenzmarkierungen unterschiedliche Formen
haben können.
Weiterhin werden die identifizierten Grenzmarkierungen typischerweise
unterschiedliche, räumliche
Lagen haben. In 12 sind die
Bereiche eines Textes und der Prüfkästen in
einer einzelnen Grenzmarkierung vereinigt. Ähnlich ist der Text, der Anweisungen
zum Vervollständigen
des Vordrucks enthält,
in einer Art einer einzelnen Grenzmarkierung vereinigt worden.
-
Eine
Paarbildung der Grenzmarkierungen führt zu dem Folgenden: eine
Grenzmarkierung 1101 wird mit einer Grenzmarkierung 1201 gepaart,
eine Grenzmarkierung 1102 wird mit einer Grenzmarkierung 1202 gepaart,
und eine Grenzmarkierung 1108 wird mit einer Grenzmarkierung 1205 gepaart.
Es ist anzumerken, dass die Grenzmarkierungen 1103–1107 der 11 und Grenzmarkierungen 1203 und 1204 nicht
gepaart sind. Dies kommt daher, dass sie nicht entsprechende Lage-
und Formkriterien für die
Anpassungen erfüllen.
-
Unter
Verwendung der vorstehenden Informationen werden die Bereiche des
vorliegenden Falls des Vordrucks nun geprüft, um zu bestimmen, ob dort
irgendwelche Markierungen vorhanden sind. Es wird nun angenommen,
dass die räumlichen
Informationen für
einen aktiven Bereich A, die erste Alternative darstellend, empfangen
worden sind. Die zwei nächstliegenden
Paare der Grenzmarkierungen sind die Paare 1101/1201 und 1102/1202.
Hierbei sind zwei Paare von Grenzmarkierungen „nahe" zueinander, so dass der Versatz durch
die Mittelung der Translation, erhalten von den zwei unterschiedlichen Grenzmarkierungen,
bestimmt wird. Die Verschiebung durch die Grenzmarkierung 1102 zu 1201 wird mit
(dx1, dy1) bezeichnet und die Verschiebung durch die Grenzmarkierung 1102 zu 1202 wird
mit (dx2, dy2) bezeichnet. So wird der Versatz (oder die Verschiebung)
für den
aktiven Bereich A als ((dx1+dx2)/2, (dy1+dy2)/2) berechnet. Ein
Kombinieren dieses Versatzes mit der räumlichen Lage, spezifiziert
in der Steuerdatei für
die Vordrucke, führt
zu der Lage des aktiven Bereichs in dem Fall des Vordrucks, der
geprüft
werden soll. Diese Prüfung
wird den gesamten aktiven Bereich, der definiert ist, überspannen.
-
Wie
vorstehend angemerkt ist, wird, falls die Grenzmarkierungen weit
voneinander entfernt sind, der Bereich, der geprüft werden soll, durch eine
affine Transformation bestimmt. Die affine Transformation ist eine
mathematische Standardberechnung, die eine Auflistung von einem
Koordinatensystem (Raum des originalen Vordrucks) zu einem anderen
Koordinatensystem (Raum von einem abgetasteten Vordruck) berechnet.
Diese Transformation berücksichtigt
die Rotation, Skalierung und Translation von einem Raum zu dem anderen.
Wenn einmal diese Transformation berechnet worden ist, kann man
sie dazu verwenden, einen Punkt von einem der Koordinatensysteme
zu dem anderen aufzulisten. In der vorliegenden Erfindung werden
3 Punkte von ursprünglichen
Grenzmarkierungen von den vorliegenden Grenzmarkie rungen verwendet,
um zu berechnen, in welcher Form die Translation vorliegt. Basierend
auf dieser Translation ist es nur eine Auflistung des ursprünglichen
Rechtecks für
das aktive Objekt zu dem, wo es in dem abgetasteten Koordinatensystem
liegt.