[go: up one dir, main page]

DE69817916T2 - Ordnen von Textgruppen in einem Bild - Google Patents

Ordnen von Textgruppen in einem Bild Download PDF

Info

Publication number
DE69817916T2
DE69817916T2 DE69817916T DE69817916T DE69817916T2 DE 69817916 T2 DE69817916 T2 DE 69817916T2 DE 69817916 T DE69817916 T DE 69817916T DE 69817916 T DE69817916 T DE 69817916T DE 69817916 T2 DE69817916 T2 DE 69817916T2
Authority
DE
Germany
Prior art keywords
text
nodes
areas
graph
edges
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69817916T
Other languages
English (en)
Other versions
DE69817916D1 (de
Inventor
Jacob Cupertino Stolin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of DE69817916D1 publication Critical patent/DE69817916D1/de
Application granted granted Critical
Publication of DE69817916T2 publication Critical patent/DE69817916T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Document Processing Apparatus (AREA)
  • Character Input (AREA)
  • Processing Or Creating Images (AREA)

Description

  • Papierdokumente können abgetastet und in einem Computer als Bilder gespeichert werden. Texterkennungstechniken, wie beispielsweise die optische Zeichenerkennung (OCR), können dann verwendet werden, um Text in diesen Bildern in ein Computer-editierbares Format, wie beispielsweise ASCII-Zeichen, umzuwandeln. Abgetastete Bilder können Text enthalten, der in mehrere, verschiedene Blöcke (z. B. mehrere Textspalten, Überschriften, Bildunterschriften, Fußnoten, Fußzeilen) strukturiert ist. Die Textblöcke können ferner durch relativ große Gebiete von Leerstellen und grafische Objekte (Linien, Bilder u. s. w.) getrennt sein. Text kann auch von einem Rahmen umgeben sein oder Einfügungen enthalten, welche den Text weiter in Blöcke trennen. Obwohl eine Person, welche die Seite liest, in der Lage sein kann, die richtige Reihenfolge der Textblöcke in dem Bild zu erkennen, kann es für ein OCR-Programm schwierig sein, den Text zu identifizieren (durch Aussondern der Nicht-Text-Komponenten, wie beispielsweise Leerräume und grafische Objekte) und den Text dann in der richtigen Lesereihenfolge zu gruppieren.
  • Beispiele für dem Stand der Technik entsprechende Anordnungen werden diskutiert in ITO et al.:, Field segmentation and classification in document image', Berichte der 6. Int. Konf. über Mustererkennung, München, Deutschland, 19. bis 22 Oktober 1982, Seiten 492–495, Bd. 1, 1982, IEEE New York, New York, USA, und BALESTRI et al.: ,A method for the correct ordering of typewritten lines', Signalverarbeitung: Theorien und Anwendungen, Grenoble, 5. bis B. September 1988, Bd. 3, Nr. Konf. 4. und 5. September 1988, Seiten 1609–1611.
  • ZUSAMMENFASSUNG
  • Gemäß der vorliegenden Erfindung wird ein Computerimplementiertes Verfahren zum Ordnen von Text in einem in einem Computer gespeicherten Bild bereitgestellt, wobei der Text in mehrere Blöcke gruppiert ist. Das Verfahren umfaßt:
    Gruppieren des Textes in mehrere Gebiete;
    Darstellen der Textgebiete als einen Graphen mit Knoten und Rändern,
    Definieren jedes Textgebiets als Knoten in dem Graphen;
    Definieren von Rändern zwischen den Knoten in dem Graphen;
    Zuweisen von Gewichten zu den Rändern; und
    Berechnen eines kürzesten Hamilton-Pfades durch die Knoten entsprechend den Randgewichten; und
    Ordnen der Textgebiete gemäß der durch den berechneten kürzesten Hamilton-Pfad definierten Reihenfolge.
  • Ebenfalls gemäß der vorliegenden Erfindung wird ein auf einem Computer-lesbaren Medium befindliches Programm zum Ordnen von Text in einem in einem Computer gespeicherten Bild bereitgestellt, wobei das Programm Befehle enthält, die den Computer veranlassen:
    den Text in mehrere Gebiete zu gruppieren;
    die Textgebiete als Graphen mit Knoten und Rändern darzustellen;
    jedes Textgebiet als Knoten in dem Graphen zu definieren;
    Ränder zwischen den Knoten in dem Graphen zu definieren;
    Gewichte den Rändern in dem Graphen zuzuweisen; und
    einen kürzesten Hamilton-Pfad durch die Knoten entsprechend den Rändergewichten zu berechnen; und
    die Textgebiete gemäß der durch den berechneten kürzesten Hamilton-Pfad definierten Reihenfolge zu ordnen.
  • Ferner wird gemäß der vorliegenden Erfindung eine Einrichtung zum Erkennen von Text in einem Bild bereitgestellt, welche aufweist: ein Speichermedium zum Speichern des Bildes; und einen betriebsmäßig mit dem Speichermedium gekoppelten Prozessor, der konfiguriert ist, um:
    den Text in mehrere Gebiete zu gruppieren;
    die Textgebiete in einem Graphen mit Knoten und Rändern darzustellen;
    jedes Textgebiet als Knoten in dem Graphen zu definieren;
    die Ränder zwischen den Knoten in dem Graphen zu definieren;
    den Rändern in dem Graphen Gewichte zuzuweisen; und
    einen kürzesten Hamilton-Pfad durch die Knoten in Übereinstimmung mit den Rändergewichten zu berechnen; und
    die Textgebiete in Übereinstimmung mit der durch den berechneten kürzesten Hamilton-Pfad definierten Reihenfolge zu ordnen.
  • Ebenso wird gemäß der vorliegenden Erfindung ein in einem Computer implementiertes Verfahren zum Ordnen von Text in einem in einem Computer gespeicherten Bild bereitgestellt, wobei das Verfahren umfaßt:
    Identifizieren einer Menge von Textblöcken; Aufteilen der Menge von Textblöcken in einzelne Untermengen von Textblöcken;
    Darstellen der Textblöcke als Knoten in einem Graphen in jeder Untermenge;
    Definieren gerichteter Ränder zwischen den Knoten in jeder Untermenge;
    Zuweisen von Gewichten zu den gerichteten Rändern;
    Berechnen eines kürzesten Hamilton-Pfades durch den Graphen in jeder Untermenge in Übereinstimmung mit den Randgewichten;
    Ordnen der Textblöcke in jeder Untermenge in Übereinstimmung mit der durch den berechneten kürzesten Hamilton-Pfad definierten Reihenfolge; und
    Verketten der Ordnung der Textblöcke in den Untermengen zu einer Endreihenfolge.
  • Die Erfindung hat einen oder mehrere der folgenden Vorteile. Die richtige Reihenfolge von mehreren, unterschiedlichen Textblöcken in einem erfaßten Bild kann durch ein Texterfassungsprogramm zuverlässig bestimmt werden.
  • Andere Merkmale und Vorteile der Erfindung werden aus der folgenden Beschreibung und aus den Ansprüchen deutlich.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Flußdiagramm eines Texterfassungs- und Textordnungsprogramms in Übereinstimmung mit der vorliegenden Erfindung.
  • 2a ist eine grafische Darstellung von Text in einem Bild, das in Blöcke eingeteilt ist.
  • 2b ist eine grafische Darstellung von Knoten, welche die Textblöcke von 2a darstellen.
  • 3 ist ein Graph, der die Knoten entsprechend den Textblöcken von 2a zusammen mit orientierten Paaren von Rändern enthält, die an zwei beliebige Knoten angrenzen.
  • 4 ist eine grafische Darstellung eines optimalen Hamilton-Pfades durch die Knoten in dem Graphen von 3.
  • 5 ist eine grafische Darstellung eines Textblocks.
  • 6 ist ein Flußdiagramm eines Prozesses für die Unterteilung einer Seite in einzelne Teile.
  • 7, 8 und 9 sind grafische Darstellungen von Textblöcken in Seitenteilen.
  • 10 ist eine Blockdarstellung eines Computersystems.
  • DETALIIERTE BESCHREIBUNG
  • Es wird auf 1 Bezug genommen; es wird ein Computerimplementiertes Texterfassungsprogramm beschrieben, das die richtige Reihenfolge von Text, der in mehrere, unterschiedliche Blöcke in einem Bild gruppiert ist, zuverlässig identifizieren kann. Zuerst erfaßt und speichert das Programm ein Bild (Schritt 102). Als Nächstes identifiziert das Programm basierend auf herkömmlichen Seiten-Layout-Analysen die Textblöcke auf der Seite (Schritt 104). Beispielsweise kann das Bild als Dichte-Histogramme dargestellt werden, wobei sehr dichte Gebiete Nicht-Text-Objekte anzeigen, wie beispielsweise grafische Objekte, und Bereiche sehr geringer Dichte Zwischenräume anzeigen. Alternativ kann die Identifizierung der Textblöcke auch auf solchen Faktoren wie Nähe der Textblöcke zueinander, Schriftgröße und Vorhandensein von Leerzeichentrenn elementen und Blöcken grafischer Objekte basieren. So können beispielsweise Textzeichen auf einer Seite, obwohl sie horizontal ausgerichtet sind, durch einen breiten Zwischenraum getrennt sein, was anzeigt, daß die Zeichen in zwei verschiedenen Spalten angeordnet sind. Außerdem kann die Abschnittsüberschrift für die Textseite eine andere, größere Schriftart als der übrige Text aufweisen. Die Textzeichen können auch durch grafische Objekte getrennt sein, die auf der gesamten Seite verteilt sind.
  • Nachdem die Textblöcke in dem Bild identifiziert worden sind, unterteilt das Programm – wenn möglich – die Textblöcke in einzelne Untermengen oder Teile der Seite (Schritt 106). Viele Seiten können in kleinere Teile eingeteilt werden, die durch bestimmte Typen von Trennelementen getrennt sind. Diese einzelnen Teile können von dem Programm separat verarbeitet werden, wodurch die Komplexität der Feststellung der Reihenfolge der Textblöcke auf einer Seite reduziert wird. Schritte 108–116 in 1 werden für jeden identifizierten einzelnen Teil der Seite separat ausgeführt.
  • Um die Komplexität der Feststellung der Reihenfolge der Textblöcke in jedem Teil der Seite weiter zu reduzieren, kombiniert das Programm – wo es möglich ist – als Nächstes Textblöcke (Schritt 108). Häufig gibt es nur eine Möglichkeit, um zwei oder mehr Textblöcke zu ordnen. In derartigen Fällen können die Blöcke zu einem neuen einzigen Textgebiet kombiniert werden.
  • In dem beispielhaften Teil 200 einer Seite in 2a entsprechen die dunkler gefärbten Kästchen 202 und 204 den Nicht-Text-Objekten, wie beispielsweise grafischen Objekten. Ferner unterteilt eine vertikale Teilungslinie 206 den Text. In diesem Bild sind die identifizierten Textblöcke als Textblöcke 1– 8 gekennzeichnet. In jedem Teil der Seite bezeichnet dann das Programm jedes Textgebiet (ein Gebiet kann ein Textblock oder eine Gruppe von kombinierten Textblöcken sein) als einen Knoten eines Graphen (Schritt 110). In 2a können die Textblöcke 1 und 2 zu einem Textgebiet 12 kombiniert werden und die Textblöcke 6 und 7 können zu einem Textgebiet 67 kombi niert werden. Somit sind in 2b die Knoten V12, V3, V4, V5, V6, und V8 für die Textgebiete in 2a bestimmt. Die Positionen der Knoten sind nicht notwendigerweise geometrisch bezogen auf die Lage der Textblöcke 1-8 in dem Bild 200.
  • Als Nächstes definiert das Programm gerichtete Ränder (vi, Vj) und (Vj, Vi) für jedes Knotenpaar Vi und Vj (Schritt 112) . Ein Paar gerichteter oder orientierter Ränder wird zwischen zwei beliebigen Knoten definiert, da die Möglichkeit besteht, daß – wie zwischen zwei beliebigen Textgebieten – ein Textgebiet vor dem anderen Textgebiet kommen kann. Die Knoten V12, V3, V4, V5, V67 und V8 zusammen mit den gerichteten Rändern zwischen jedem der Knoten definieren einen gerichteten oder orientierten Graphen G, wie in 3 gezeigt.
  • Das Verhältnis zwischen den Knoten V wird dann definiert (Schritt 114), indem den gerichteten Rändern (Vi, vj) und (Vj, Vi) basierend auf einer Reihe von Faktoren Randlängen (oder Gewichte) zugewiesen werden. Zu diesen Faktoren gehören der Abstand zwischen zwei beliebigen Textblöcken, die Charakteristika (z. B. Zeilenanzahl, Schriftgröße, Zeilenabstand) der zwei Textblöcke und das Vorhandensein von Trennelementen (wie beispielsweise leerem Raum oder anderen Nicht-Text-Objekten) zwischen den Textblockpaaren. Die Randlängen basieren auf der Wahrscheinlichkeit, daß ein Knoten Vi vor seinem benachbarten Knoten Vj kommt. Je höher die Wahrscheinlichkeit, daß das Textgebiet i vor Textgebiet j kommt, desto geringer das Gewicht des Randes (Vi, vj), und umgekehrt.
  • So ist beispielsweise in 3 das dem Rand (V12, V3) zugewiesene Gewicht viel geringer als das dem Rand (V3, V12) zugewiesene Gewicht, weil es viel wahrscheinlicher ist, daß Textgebiet 12 vor Textgebiet 3 kommt.
  • Als Nächstes findet das Programm unter Verwendung der für die Ränder des Graphen bestimmten Gewichte einen optimalen Hamilton-Pfad durch die Knoten V12, V3, V4, V5, V67, V8, indem „rohe Gewalt" (für kleine Graphen) oder herkömmliche heuristische Verfahren oder Näherungsverfahren verwendet werden, die ein Problem des Handlungsreisenden lösen (Schritt 116). Ein identifizierter optimaler Hamilton-Pfad wird in 4 ge zeigt, wobei der Pfad bei V12 beginnt und nacheinander zu den Knoten V3, V4, V5, V6, und V8 fortgesetzt wird. Als Nächstes kombiniert das Programm Teilreihenfolgen, die für die entsprechenden Teile der Seite gefunden wurden, zu einer Endreihenfolge π (Schritt 118).
  • Das folgende mathematische Modell wird für die Ausführung des Textordnungsprozesses definiert. Es wird auf 5 Bezug genommen; für ein Textgebiet A mit den Koordinaten (T,B,L,R) in einem zweidimensionalen X-Y-Raum sei Top (A) = T, Bot (A) = B, Lft (A) = L, (G1.1) Rgt (A) = R,und CntrX (A) = (L + R)/2, CntrY (A) = (T + B)/2, (G1.2)wobei L und R auf der X-Achse und T und B auf der Y-Achse liegen. Der Abstand zwischen zwei beliebigen Textgebieten A1 und A2 wird definiert als
    Figure 00070001
  • Für jedes Paar von Textgebieten Ai, Aj wird eine Vorrangfunktion f(Ai,Aj) gebildet, so daß der Wert von f(Ai,Aj) um so geringer ist, je höher die Wahrscheinlichkeit ist, daß Ai Aj vorausgeht. Für K Textgebiete werden die Vorrangfunktionen f(Ai,Aj), i = 1 – K, j = 1 – K, i ≠ j, berechnet, welche zur Berechnung der Randlängen oder Gewichte zwischen den Knoten verwendet werden.
  • Bevor jedoch die Vorrangfunktionen f(Ai,Aj) gebildet werden, wird die Komplexität des Problems reduziert, indem (1) die Seite in verschiedene Teile unterteilt wird und (2) Textblöcke zu Gebieten kombiniert werden, wo es möglich ist.
  • Es wird auf 6 Bezug genommen; es wird der Schritt des Einteilens der Seite in mehrere Teile beschrieben. Eine Seite kann in unabhängige Teile eingeteilt werden, indem der fol gende rekursive Algorithmus angewendet wird. Das Programm erzeugt eine Menge SP von Seitenteilen Pi und initiiert sie durch Definieren der gesamten Seite als das Element der Menge SP (Schritt 300). Für jedes Element in SP sucht das Programm ein Teilungstrennelement, das durch das vorhandene Element verläuft (Schritt 302), wobei ein Teilungstrennelement als jedes beliebige Nicht-Text-Gebiet definiert werden kann, mit Ausnahme einer dünnen vertikalen Linie, welche ein Spaltentrennelement sein könnte. Wenn kein Teilungstrennelement gefunden wird (Schritt 304), wird der Prozeß gestoppt. Wenn ein Teilungstrennelement gefunden wird, wird das aktuelle Element in 2 neue Unterelemente geteilt, indem es entlang des ausgewählten Trennelements geteilt wird (Schritt 306). Das aktuelle Element wird von zwei neuen Unterelementen ersetzt und Schritte 302–306 werden wiederholt. Die Unterelemente bilden die Teile Pi der Seite . Somit SP = {P1, P2, ..., Pπ} , und der Textordnungsprozeß wird an jedem Teil Pi einzeln ausgeführt, wobei die Ergebnisse für jeden Teil am Ende kombiniert werden, um die Endreihenfolge π zu bestimmen.
  • Um die Komplexität in jedem Seitenteil zu reduzieren, können zwei oder mehr Textblöcke oder Gebiete kombiniert werden (Schritt 108), wenn sie „horizontal verbunden" oder „vertikal verbunden" sind. Zwei Textgebiete A1, A2 werden als horizontal verbunden (siehe 7) bezeichnet, wenn die folgenden Bedingungen zutreffen:
    • (1) A1 und A2 sind horizontal ausgerichtet, das heißt, max (Top(A1), Top(A2)) < min(CntrY(A1), CntrY(A2)), und min(Bot(A1), Bot(A2)) > max(CntrY(A1), CntrY(A2));
    • (2) kein anderes Gebiet überlappt eine gemeinsame Begrenzungsbox von A1 und A2;
    • (3) A1 und A2 sind am oberen Ende blockiert, was bedeutet, es gibt keine Gebiete über A1 und A2 oder das nächstgelegene Gebiet A3 über A1 und A2 ist ein Sperrgebiet, das heißt Lft (A3) ≤ min(Lft (A1), Lft (A2) ), und Rgt (A3) ≤ max (Rgt (A1), Rgt (A2)); und
    • (4) A1 und A2 sind am unteren Ende blockiert, das heißt, es gibt keine Gebiete unter A1 und A2 oder das nächstgelegene Gebiet A3 unter A1 und A2 ist ein Sperrgebiet.
  • Wenn die Gebiete A1, A2 horizontal verbunden sind, ist ihre Teilreihenfolge von links nach rechts (von A1 zu A2 in
  • 7) .
  • Zwei Textgebiete A1, A2 werden als vertikal verbunden (siehe 8) bezeichnet, wenn die folgenden Bedingungen zutreffen:
    • (1) A1 und A2 sind vertikal ausgerichtet, das heißt, max (Lft(A1), Lft(A2)) < min(CntrX(A1), CntrX(A2)), und min(Rgt(A1), Rgt(A2)) > max(CntrX(A1), CntrX(A2));
    • (2) kein anderes Gebiet überlappt ihre gemeinsame Begrenzungsbox;
    • (3) A1 und A2 sind an der linken Seite blockiert, das heißt, es gibt keine Gebiete an der linken Seite oder das nächstgelegene Gebiet A3 an der linken Seite ist ein Sperrgebiet, das heißt Top (A3) ≤ min (Top (A1), Top(A2)), und Bot(A3) ≥ max(Bot(A1), Bot(A2)); und
    • (4) A1 und A2 sind an der rechten Seite blockiert, das heißt, es gibt keine Gebiete an der rechten Seite oder das nächstgelegene Gebiet A3 an der rechten Seite ist ein Sperrgebiet.
  • Wenn die Gebiete A1, A2 vertikal verbunden sind, ist ihre Teilreihenfolge von oben nach unten (von A1 zu A2 in 8). Wenn ein Paar von (horizontal oder vertikal) verbundenen Gebieten A1, A2 gefunden wird, werden die Gebiete zu dem einzelnen Textgebiet A12 kombiniert. Die Begrenzungsbox des neuen Gebiets ist das kleinste Rechteck, das sowohl A1 als auch A2 umfaßt, so daß Top(A) = min (Top(A1), Top(A2)), Lft (A) = min (Lft (A1), Lft (A2)), Rgt (A) = max (Rgt (A1), Rgt (A2)), und Bot (A) = max (Bot(A1), Bot(A2)). (G1.4) Andere Parameter (wie beispielsweise Schriftgröße und Zeilenabstand) für das kombinierten Gebiet könnten aus dem größeren der Gebiete A1, A2 übertragen werden.
  • Der Kombinierungsprozeß kann wiederholt werden, bis keine weiteren verbundenen Gebiete gefunden werden.
  • In einigen Fällen kann die Reihenfolge der Textgebiete in einem Seitenteil einfach durch fortlaufendes Kombinieren verbundener Textgebiete identifiziert werden. Beispielsweise könnte in dem in 9 gezeigten Seiten-Layout die Lösung gefunden werden, indem die Textgebiete wie folgt kombiniert werden:
    Kombinieren A5 und A6 zu A56;
    Kombinieren A56 und A7 zu A567;
    Kombinieren A2 und A567 zu A2567;
    Kombinieren A2567 und A8 zu A25678;
    Kombinieren A1 und A25678 zu A125678;
    Kombinieren A125678 und A3 zu A1256783;
    Kombinieren A1256783 und A4 zu A12567834.
  • Die resultierende Reihenfolge der unkombinierten Textblöcke ist dann A1, A2, A5, A6, A7, A8, A3 und A4.
  • Nachdem alle verbundenen Textgebiete kombiniert worden sind, wenn mehr als ein Textgebiet in einem Seitenteil übrig bleibt, wird die Reihenfolge der Gebiete bestimmt, indem der optimale Hamilton-Pfades eines Graphen G gelöst wird, der Knoten V enthält, die die unkombinierten Textgebiete repräsentieren.
  • Für K Textgebiete wird dies ausgeführt, indem zuerst die Vorrangfunktionen f(Ai,Aj), i ≠ j, i = 1 – K, j = 1 – K, für alle Textgebiete gebildet werden. Die Vorrangfunktionen werden verwendet, um den Rändern Eij zwischen Knoten Vi und Vj Längen oder Gewichte zuzuweisen.
  • Die Vorrangfunktion wird definiert als
    Figure 00100001
    wobei Kloc die relative Lage der zwei Textgebiete Ai und Aj bewertet, Kdif die Ähnlichkeit (in Zeilenanzahl, Schriftgröße und Zeilenabstand) von Textgebieten bewertet und Ksep den Beitrag zur Funktion f aufgrund des Vorhandenseins eines trennenden Nicht-Text-Gebiets, sofern vorhanden, zwischen Ai und Aj widerspiegelt . Wie Kloc, Kdif und Ksep abgeleitet werden, wird nachstehend beschrieben.
  • Ein Graph G, der einem Seitenteil zugeordnet ist, wird wie folgt definiert: G ist ein gerichteter Graph mit K Knoten V1, V2, ..., Vk; jedes Knotenpaar Vi, Vj, i ≠ j , ist durch einen gerichteten Rand Eij verbunden; eine nicht-negative Zahl W(Eij) (als Gewicht oder Länge des Randes Eij bezeichnet) wird jedem Rand Eij zugewiesen: W(Eij) = f(Ai, Aj), (G1.6)wobei F die durch G1. 5 definierte Vorrangfunktion ist.
  • Für eine gegebene Reihenfolge π (welche eine Permutation der Zahlen 1, 2, ..., k) ist, ist ein Hamilton-Pfad P(π) in dem Graphen G eine geordnete Menge von Knoten P(π) = {Vπ(1), Vπ(2), ..., Vπ(k)}. (G1.7)
  • Die Länge des Pfades P(π) wird definiert als:
    Figure 00110001
    Der kürzeste Hamilton-Pfad ist ein Hamilton-Pfad mit dem Minimalwert L (π) .
  • Jeder Hamilton-Pfad P(π) in dem zugeordneten Graphen G definiert eine Reihenfolge von Textgebieten in dem entsprechenden Seitenteil. Wie aus der Definition der Vorrangfunktion f folgt, ist die Wahrscheinlichkeit, daß π die richtige logische Reihenfolge der Textgebiete ist, um so größer, je kürzer der Hamiltonpfad P(π) ist. Daher stellt der kürzeste Hamilton-Pfad P(π) in dem Graphen G die Lösung bereit, um die Reihenfolge π der Textgebiete in einem Seitenteil zu finden.
  • Um den kürzesten Hamilton-Pfad zu finden, kann das Standardverfahren zu dessen Reduzierung auf das Problem des Handlungsreisenden angewendet werden. Zuerst wird ein zusätzlicher Knoten V0 zu dem Graphen G hinzugefügt, wobei der Knoten V0 durch die Ränder E0j und Ej0 mit jedem Knoten Vj verbunden ist. Die Länge jedes Randes E0j und Ej0 ist 0, d. h. W(E0j) = W(Ej0) = 0. Als Nächstes wird eine kürzeste geordnete Schleife bzw. ein kürzester geordneter Zyklus C in dem Graphen G berechnet, indem ein Standardalgorithmus für die Lösung des Problems des Handlungsreisenden angewendet wird. Der kürzeste Hamilton-Pfad wird dann aus dem Zyklus C extrahiert, indem der zusätzliche Knoten V0 aus dem Zyklus entfernt wird.
  • Wenn die logischen Reihenfolgen πj für die unabhängigen Teile P1 ,..., Pk auf der Seite identifiziert worden sind, werden die Pfade πj, j = 1 – π, verkettet: π = (π1, π2, ..., πn) (G1. 9)
  • Da die Teile P unabhängig sind, spielt es keine Rolle, wie die Reihenfolgen π verkettet werden. Eine Alternative ist jedoch das Sortieren der Teile P in ansteigender Reihenfolge von y und dann x, wobei (x, y) die obere linke Ecke jedes Seitenteils ist.
  • In der verketteten Reihenfolge π werden kombinierte Textblöcke in Textgebieten herausgetrennt und in der richtigen Reihenfolge in eine Endreihenfolge π' angeordnet. Wenn somit π beispielsweise {12, 3, 7, 56, 4} ist, wird es modifiziert zu π' = {1, 2, 3, 7, 5, 6, 4}, um die Reihenfolge der Textblöcke A1– A7 zu definieren.
  • Die Endreihenfolge π' stellt somit eine Lösung für das Identifizieren der Reihenfolge von Textblöcken auf einer Seite bereit.
  • Wie in G1.5 dargelegt, werden die Vorrangfunktionen f(Ai,Aj), i ≠ j, i = 1 – k, j = 1 – k, basierend auf den Werten Kloc(Ai, Aj), Kdif(Ai, Aj) und Ksep(Ai, Aj) für k Textgebiete berechnet.
  • Ein Zeilenvorrang oder ein Spaltenvorrang kann ausgewählt werden. Wenn ein Zeilenvorrang ausgewählt wird, dann begünstigt das Textgebietsordnen das Ordnen in der X-Richtung. Wenn ein Spaltenvorrang ausgewählt wird, dann begünstigt das Textgebietsordnen das Ordnen in der Y-Richtung. Für die Gebiete A1 = (Tl,B1,L1,R1) und A2 = (T2,B2,L2,R2) wird die Komponente Kloc, welche einen wert hat, der von den relativen Koordinaten der Gebiete A1 und A2 abhängt, für Zeilen- und Spaltenvorrang unterschiedlich berechnet. Da Kloc von den relativen Lagen von A1 und A2 abhängig ist, wird Kloc(A1, A2) anders als Kloc(A2, A1) berechnet, wobei Kloc(A1, A2) verwendet wird, um f(A1, A2) zu berechnen, und Kloc(A2, A1) verwendet wird, um f(A2, A1) zu berechnen. Im Allgemeinen ist – aufgrund der Unterschiede bei der Berechnung von Kloc(A1, A2) und Kloc(A2, A1) – f(A1, A2) normalerweise nicht gleich f(A2, A1), weil ein Textgebiet vor dem anderen Textgebiet kommen wird. Die Berechnung von Kloc(A1, A2) oder Kloc(A2, A1) wird nachstehend für drei mögliche Fälle dargelegt. Da gemäß Definition zwei separate Gebiete einander nicht überlappen, ist der Fall, in welchem min(R1, R2) ≥ max(L1, L2) und min(B1, B2) ≥ max(T1, T2) nicht möglich und wird daher nicht berücksichtigt.
  • In einem ersten Fall überlappen die Textgebiete A1 und A2 einander in der X- oder Y-Achse nicht und A1 liegt links von und unter A2; das heißt: R1 < L2 und T1 > B2.
  • In diesem Fall wird der Wert Kloc, wenn der Spaltenvorrang ausgewählt wird, definiert als: Kloc(A1, A2) = Q1*|CntrX(A1) – CnrtX(A2)|, (G1.10)wobei Q1 ein einstellbarer Parameter mit einem Vorgabewert von 1 ist; und Kloc(A2, A1) = Q2*|A1, A2|, (G1.11) wobei Q2 ein einstellbarer Parameter mit einem Vorgabewert von 2 ist. Somit hat Kloc(A1, A2) einen geringeren wert als Kloc(A2, A1), welcher tendenziell A1 gegenüber A2 begünstigt, was mit dem ausgewählten Spaltenvorrang übereinstimmt.
  • Im ersten Fall wird der Wert Kloc, wenn der Zeilenvorrang ausgewählt wird, definiert als: Kloc(A1, A2) = Q3*|A1, A2|, (G1.12)wobei Q3 ein einstellbarer Parameter mit einem Vorgabewert von 4 ist; und Kloc(A2, A1) = Q4*|A1,A2|, (G1.13)wobei Q4 ein einstellbarer Parameter mit einem Vorgabewert von 1 ist. Kloc(A1, A2) hat einen größeren Wert als Kloc(A2, A1), welcher tendenziell A2 gegenüber A1 begünstigt, wenn im ersten Fall der Zeilenvorrang ausgewählt wird.
  • In einem zweiten Fall überlappen sich die Begrenzungen der Textgebiete A1 und A2 nicht in der X-Achse, aber sie überlappen sich in der Y-Achse, und das Gebiet A1 liegt links von dem Gebiet A2; das heißt: R1 < L2 und T1 ≤ B2.
  • In diesem Fall wird der Wert Kloc, wenn der Spaltenvorrang ausgewählt wird, definiert als: Kloc(A1, A2) = Q1*|CntrX(A1) – CnrtX (A2)|, (G1.14)und Kloc(A1, A2) = M1, (G1.15)wobei M1 ein großer Wert ist, welcher eingestellt werden kann auf M1 = 10*maxij|Ai, Aj|. (G1.16)
  • M1 ist somit als das Zehnfache des maximal möglichen Abstands zwischen zwei beliebigen Textgebieten in einem betrach teten Teil der Seite definiert. Im Allgemeinen begünstigt dies A1 gegenüber A2 bei der Berechnung von Kloc beträchtlich.
  • Im zweiten Fall wird der Wert Kloc, wenn der Zeilenvorrang ausgewählt wird, definiert als: Kloc (A1, A2) = Q4*|A1, A2|, und (G1.17) Kloc(A2, A1) = M1, (G1.18)wobei Q4 mit einem Vorgabewert von 1 einstellbar ist. Erneut wird A1 gegenüber A2 im Allgemeinen stark begünstigt.
  • In einem dritten Fall überlappen sich die Begrenzungen der Textgebiete nicht in der Y-Achse, aber sie überlappen sich in der X-Achse, und A1 liegt über A2; das heißt B1 < T2 und min(R1, R2) ≥ max(L1, L2) .
  • In diesem Fall wird der Wert Kloc sowohl für den Spaltenvorrang als auch für den Zeilenvorrang definiert als: Kloc(A1, A2) = Q5*|A1, A2|, (G1.19) undKloc (A2, A1) = M1, (G1.20)wobei Q5 ein einstellbarer Parameter mit einem Vorgabewert von 1 ist. Im Allgemeinen begünstigen diese Berechnungen A1 gegenüber A2 beträchtlich.
  • Die Funktion Kdif(A1, A2) wird definiert als
    Figure 00150001
    wobei ml die Anzahl der Textzeilen in Gebiet Ai, s1 die Textpunktgröße für das Gebiet Ai, l1 der Abstand zwischen aufeinander folgenden Zeilen in Ai und Q6 ein einstellbarer Parameter (Vorgabewert ist 10) ist. Konkret repräsentieren s1 und l1 die Höhe (in der Y-Richtung) einer Zeile. Kdif(A2, A1) entspricht Kdif(A1,A2).
  • Die Funktion Ksep(A1, A2) wird relativ zu einem Trennelement (Nicht-Text-Gebiet) B definiert und wird in Form eines horizontalen Extrusionsparameters Ehor(A, B) und eines vertikalen Extrusionsparameters Evert(A, B) berechnet. Für ein Textgebiet A und ein Trennelement B wird der horizontale Extrusionsparameter Ehor(A, B) definiert als
    Figure 00160001
  • Somit ist Ehor(A, B) größer als Null, wenn jeder der linken oder rechten Ränder des Textgebiets A in den von den linken und rechten Rändern des Trennelements B definierten Gebiet fällt.
  • In ähnlicher Weise wird ein vertikaler Extrusionsparameter Evert(A, B) definiert als
    Figure 00160002
  • Die Funktion Ksep(A1, A2) wird für die folgenden zwei möglichen Fälle wie folgt definiert.
  • In einem ersten Fall sind die Textgebiete A1, A2 vertikal getrennt; das heißt, die Gebiete A1, A2 überlappen sich nicht in der Y-Achse, definiert durch min(Bot(A1, Bot(A2)) < max(Top(A1), Top(A2)). In diesem Fall:
    Figure 00160003
    wobei Q7 ein einstellbarer Parameter (Vorgabe kann 10 sein) ist und die Summe Fa alle Trennelemente zwischen A1 und A2 enthält; d. h.: Top (B) > min (Bot (A1), Bot (A2)), undBot (B) < max (Top (A1), Top (A2)).
  • In einem zweiten Fall sind die Textgebiete horizontal getrennt; das heißt, die Gebiete A1, A2 überlappen sicht nicht in der x-Achse, wie definiert durch min(Rgt(A1,Rgt(A2)) < max (Lft(A1), Lft(A2)). In diesem Fall:
    Figure 00170001
    wobei die Summe Fa alle Trennelemente zwischen A1 und A2 enthält; d. h. Lft (B) > min (Rgt(A1), Rgt(A2)), undRgt (B) < max (Lft(A1), Lft(A2)).
  • Wenn Kloc, Kdif und Ksep für alle Kombinationen von A1, A2, ..., Ak berechnet worden sind, können die Vorrangfunktionen f(Ai,Aj), i ≠ j, i = 1 – k, j = 1 – k, gebildet und verwendet werden, um die Längen der verschiedenen Permutationen der Pfade P(π) zu finden, um den kürzesten Hamilton-Pfad P(π) zu identifizieren.
  • Es wird auf 10 Bezug genommen; das Texterfassungs- und -Ordnungsprogramm kann in digitalen elektronischen Schaltungen oder in Computer-Hardware, Firmware, Software oder in Kombinationen derselben, wie beispielsweise in einem Computersystem, implementiert werden. Das Computersystem enthält eine zentrale Verarbeitungseinheit (CPU) 502, die mit einem internen Systembus 504 verbunden ist. Die Speichermedien in dem Computersystem umfassen einen Hauptspeicher 506 (welcher mit dynamischen Speichereinrichtungen mit wahlfreiem Zugriff implementiert werden kann), ein Festplattenlaufwerk 508 zur Massenspeicherung und einen nicht-flüchtigen Speicher (NVRAM) 510. Der Hauptspeicher 506 und der NVRAM 510 sind mit dem Bus 504 verbunden, und das Festplattenlaufwerk 508 ist über eine Festplattenlaufwerksteuereinrichtung 512 mit dem Bus 504 gekoppelt.
  • Die Einrichtung der Erfindung kann in einem Computerprogramm-Produkt implementiert werden, das in einer maschinenlesbaren Speichereinrichtung (wie beispielsweise in dem Festplattenlaufwerk 508, dem Hauptspeicher 506 oder dem NVRAM 510) real enthalten ist, damit es von der CPU 502 ausgeführt werden kann. Geeignete Prozessoren sind beispielsweise sowohl Mehrzweck- als auch Spezial-Mikroprozessoren. Im Allgemeinen empfängt ein Prozessor Befehle und Daten von dem Nur-Lese-Speicher 510 und/oder dem Hauptspeicher 506. Speichereinrichtungen, die für real enthaltene Computerprogrammbefehle geeignet sind, umfassen alle Formen von nicht-flüchtigen Speichern, zu welchen beispielsweise Halbleiter-Speichereinrichtungen, wie zum Beispiel EPROM-, EEPROM- und Flash-Speichereinrichtungen, gehören; Magnetplatten, wie beispielsweise das interne Festplattenlaufwerk 508 und über eine Steuereinrichtung 526 gekoppelte wechselbare Platten und Disketten 528; magnetooptische Platten; und CD-ROM-Platten. Jede der vorhergehenden Einrichtungen kann durch speziell ausgeführte ASICs (anwendungsspezifische integrierte Schaltungen) ergänzt oder in diese einbezogen werden.
  • Das Computersystem enthält ferner eine Eingabe/Ausgabe (I/O)-Steuereinrichtung 514, die mit dem Bus 504 verbunden ist, und welche eine Tastatur-Schnittstelle 516 zur Verbindung mit einer externen Tastatur, eine Maus-Schnittstelle 518 zur Verbindung mit einer externen Maus oder einer anderen Zeigereinrichtung und eine Parallel-Port-Schnittstelle 520 zur Verbindung mit einem Drucker bereitstellt. Außerdem ist der Bus 504 mit einer Videosteuereinrichtung 522 verbunden, welche mit einem externen Computermonitor oder einer Anzeige 524 verbindet. Daten, die mit einem Bild zur Anzeige auf einem Computermonitor 524 verknüpft sind, werden über den Systembus 504 durch Anwendungsprogramme an die Videosteuereinrichtung 522 durch das Betriebssystem und den entsprechenden Gerätetreiber bereitgestellt.
  • Andere Ausführungsbeispiele liegen im Schutzbereich der folgenden Ansprüche. Beispielsweise kann von Fachleuten die Reihenfolge der erfindungsgemäßen Schritte verändert werden und es können weiterhin die gewünschten Ergebnisse erreicht werden. Es können andere Techniken verwendet werden, um einen optimalen Pfad zwischen Knoten eines Graphen zu identifizieren, welche Textblöcke oder -gebiete in einem Bild repräsentieren. Obwohl bestimmte Gleichungen und Parameter offenbart worden sind, um Variable zu bestimmen, die zur Feststellung einer optimalen Reihenfolge der Textblöcke oder -gebiete verwendet werden, können derartige Gleichungen und Parameter verändert werden.
  • Es wird beansprucht:

Claims (24)

  1. Ein Computer-implementiertes Verfahren zum Ordnen von Text in einem in einem Computer gespeicherten Bild, wobei der Text in mehrere Blöcke gruppiert ist, wobei das Verfahren umfaßt Gruppieren des Texts in mehrere Gebiete; Darstellen der Textgebiete als Graph mit Knoten und Rändern (110); Definieren jedes Textgebietes als Knoten in dem Graph; Definieren von Rändern zwischen den Knoten in dem Graph (112); wobei das Verfahren gekennzeichnet ist durch die Schritte: Zuweisen von Gewichten zu den Rändern (114); und Berechnen eines kürzesten Hamilton-Pfades durch die Knoten entsprechend den Rändergewichten (116); und Ordnen der Textgebiete gemäß der durch den berechneten kürzesten Hamilton-Pfad definierten Reihenfolge.
  2. Das Verfahren nach Anspruch 1, wobei orientierte Paare von Rändern zwischen zwei beliebigen Knoten definiert werden.
  3. Das Verfahren nach Anspruch 1, wobei der Schritt des Berechnens eines kürzesten Hamilton-Pfades (116) umfaßt: Hinzufügen eines virtuellen Knotens und virtueller orientierter Ränder zu dem Graphen; Gewinnen einer kürzesten geordneten Schleife in dem Graphen durch Lösen eines Handelsreisenden-Problems an dem Graphen; und Gewinnen des kürzesten Hamilton-Pfades durch Entfernen des virtuellen Knotens aus der kürzesten geordneten Schleife.
  4. Das Verfahren nach Anspruch 1, wobei die den Rändern zwischen den Knoten zugewiesenen Gewichte auf dem Abstand zwischen zugehörigen Textgebieten basieren.
  5. Das Verfahren nach Anspruch 1, wobei die den Rändern zwischen den Knoten zugewiesenen Gewichte auf den Textcharakteristiken der zugehörigen Textgebiete basieren.
  6. Das Verfahren nach Anspruch 5, wobei die Textcharakteristiken eine Font-Gröfle und eine Anzahl von Zeilen des Textes enthalten.
  7. Das Verfahren nach Anspruch 1, wobei die den Rändern zwischen den Knoten zugewiesenen Gewichte auf dem Vorhandensein von Nicht-Text-Trennelementen zwischen Textgebietpaaren basieren.
  8. Das Verfahren nach Anspruch 8, wobei die Trennelemente grafische Objekte enthalten.
  9. Das Verfahren nach Anspruch 1, ferner umfassend: Identifizieren von Textblöcken, die kombiniert werden können; und Kombinieren der Textblöcke zu einem Textgebiet.
  10. Das Verfahren nach Anspruch 9, wobei zwei Textblöcke kombiniert werden können, wenn sie vertikal verbunden sind.
  11. Das Verfahren nach Anspruch 9, wobei zwei Textblöcke kombiniert werden können, wenn sie horizontal verbunden sind.
  12. Das Verfahren nach Anspruch 1, ferner umfassend: anfängliches Trennen des Bildes in unabhängige Teile, wobei jeder Teil seine eigene Menge von Textgebieten enthält; und unabhängiges Ausführen der Aktionen des Gruppierens, Darstellen, Definierens, Zuweisens, Berechnens und Ordnens an den Textgebieten in jedem Teil.
  13. Das Verfahren nach Anspruch 12, wobei das Bild aufgeteilt wird, indem vorgegebene Arten von Nicht-Text-Trennelementen identifiziert werden.
  14. Das Verfahren nach Anspruch 12, ferner umfassend: Verketten der Ordnung der Textgebiete, die für die verschiedenen Teile identifiziert sind.
  15. Ein auf einem Computer-lesbaren-Medium befindliches Programm zum Ordnen von Text in einem in einem Computer gespeicherten Bild, wobei das Programm Befehle aufweist, die den Computer veranlassen, den Text in mehrere Gebiete zu gruppieren; die Textgebiete als Graphen mit Knoten und Rändern darzustellen (110); jedes Textgebiet als Knoten in dem Graphen zu definieren; Ränder zwischen den Knoten in dem Graphen zu definieren (112); wobei das Programm dadurch gekennzeichnet ist, daß es Befehle aufweist, die den Computer veranlassen, Gewichte den Rändern in dem Graphen zuzuweisen (114); und einen kürzesten Hamilton-Pfad durch die Knoten entsprechend den Rändergewichten zu berechnen (116); und die Textgebiete gemäß der durch den berechneten kürzesten Hamilton-Pfad definierten Reihenfolge zu ordnen (118).
  16. Das Programm nach Anspruch 15, wobei die den Rändern zwischen den Knoten zugewiesenen Gewichte auf dem Abstand zwischen zugehörigen Textblöcken und den Charakteristiken jedes Blocks basieren.
  17. Das Programm nach Anspruch 15, wobei die den Rändern zwischen den Knoten zugewiesenen Gewichte auf dem Vorhandensein von Trennelementen zwischen den Textblockpaaren basieren.
  18. Das Programm nach Anspruch 15, wobei das Programm Befehle aufweist, die den Computer ferner veranlassen: Blöcke des Textes zu identifizieren, die kombiniert werden können; und die Textblöcke in ein Textgebiet zu kombinieren.
  19. Das Programm nach Anspruch 15, wobei das Programm Befehle aufweist, um den Computer ferner zu veranlassen: anfänglich das Bild in unabhängige Teile aufzuteilen, wobei jeder Teil seine eigene Menge von Textgebieten enthält; und die Aktionen des Gruppierens, Darstellens, Definierens, Zuweisens, Berechnens und Ordnens der Textgebiete in jedem Teil unabhängig auszuführen.
  20. Das Programm nach Anspruch 19, wobei das Programm Befehle aufweist, um den Computer ferner zu veranlassen, die Ordnung der Textgebiete zu verketten, die für die unabhängigen Teile identifiziert sind.
  21. Einrichtung zum Erkennen von Text in einem Bild, aufweisend: ein Speichermedium zum Speichern des Bildes; und einen betriebsmäßig mit dem Speichermedium gekoppelten Prozessor, der konfiguriert ist, um: den Text in mehrere Gebiete zu gruppieren; die Textgebiete in einem Graphen mit Knoten und Rändern darzustellen (110); jedes Textgebiet als Knoten in dem Graphen zu definieren; Ränder zwischen den Knoten in dem Graphen zu definieren (112); wobei der Prozessor dadurch gekennzeichnet ist, daß er konfiguriert ist, um: den Rändern in dem Graphen Gewichte zuzuweisen (114); und einen kürzesten Hamilton-Pfad durch die Knoten in Übereinstimmung mit den Rändergewichten zu berechnen (116); und die Textgebiete in Übereinstimmung mit der durch den berechneten kürzesten Hamilton-Pfad definierten Reihenfolge zu ordnen (118).
  22. Die Einrichtung nach Anspruch 21, wobei die den Rändern zwischen den Knoten zugewiesenen Gewichte auf dem Abstand zwischen zwei beliebigen Textgebieten basieren.
  23. Die Einrichtung nach Anspruch 21, wobei die den Rändern zwischen den Knoten zugewiesenen Gewichte ferner auf dem Vorhandensein von Trennelementen zwischen Textblockpaaren basieren.
  24. Ein in einem Computer implementiertes Verfahren zum Ordnen von Text in einem in dem Computer gespeicherten Bild, wobei das Verfahren umfaßt: Identifizieren einer Menge von Textblöcken (104); Aufteilen der Menge von Textblöcken in unabhängige Untermengen von Textblöcken (106); Darstellen der Textblöcke als Knoten in einem Graphen in jeder Untermenge (110); Definieren gerichteter Ränder zwischen den Knoten in jeder Untermenge (112); wobei das Verfahren gekennzeichnet ist durch die Schritte: Zuweisen von Gewichten zu den gerichteten Rändern (114); Berechnen eines kürzesten Hamilton-Pfads durch den Graphen in jeder Untermenge in Übereinstimmung mit den Rändergewichten (116); Ordnen der Textblöcke in jeder Untermenge in Übereinstimmung mit der durch den berechneten kürzesten Hamilton-Pfad definierten Reihenfolge (118); und Verketten der Ordnung der Textblöcke in den Untermengen zu einer Endreihenfolge.
DE69817916T 1997-05-29 1998-04-30 Ordnen von Textgruppen in einem Bild Expired - Fee Related DE69817916T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US86499397A 1997-05-29 1997-05-29
US864993 1997-05-29
US09/000,898 US6175844B1 (en) 1997-05-29 1997-12-30 Ordering groups of text in an image
US898 2001-11-15

Publications (2)

Publication Number Publication Date
DE69817916D1 DE69817916D1 (de) 2003-10-16
DE69817916T2 true DE69817916T2 (de) 2004-07-15

Family

ID=26668281

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69817916T Expired - Fee Related DE69817916T2 (de) 1997-05-29 1998-04-30 Ordnen von Textgruppen in einem Bild

Country Status (3)

Country Link
US (1) US6175844B1 (de)
EP (1) EP0881591B1 (de)
DE (1) DE69817916T2 (de)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377704B1 (en) * 1998-04-30 2002-04-23 Xerox Corporation Method for inset detection in document layout analysis
US6952803B1 (en) * 1998-12-29 2005-10-04 Xerox Corporation Method and system for transcribing and editing using a structured freeform editor
US7536561B2 (en) 1999-10-15 2009-05-19 Ebrary, Inc. Method and apparatus for improved information transactions
US8311946B1 (en) 1999-10-15 2012-11-13 Ebrary Method and apparatus for improved information transactions
CA2310943A1 (en) * 2000-06-02 2001-12-02 Michael J. Sikorsky Methods, techniques, software and systems for providing context independent, protocol independent portable or reusable development tools
ATE421735T1 (de) * 2002-11-22 2009-02-15 Oce Tech Bv Segmentierung eines bildes mittels kürzester zyklen
US7728821B2 (en) 2004-08-06 2010-06-01 Touchtable, Inc. Touch detecting interactive display
US7724242B2 (en) 2004-08-06 2010-05-25 Touchtable, Inc. Touch driven method and apparatus to integrate and display multiple image layers forming alternate depictions of same subject matter
US7719523B2 (en) 2004-08-06 2010-05-18 Touchtable, Inc. Bounding box gesture recognition on a touch detecting interactive display
US7840564B2 (en) 2005-02-16 2010-11-23 Ebrary System and method for automatic anthology creation using document aspects
IL167283A (en) * 2005-03-07 2007-06-03 Israel Marmorstein Methods for printing booklets and booklets printed thereby
US7433869B2 (en) 2005-07-01 2008-10-07 Ebrary, Inc. Method and apparatus for document clustering and document sketching
US7545981B2 (en) * 2005-11-04 2009-06-09 Xerox Corporation Document image re-ordering systems and methods
US7720773B2 (en) * 2005-12-29 2010-05-18 Microsoft Corporation Partitioning data elements of a visual display of a tree using weights obtained during the training state and a maximum a posteriori solution for optimum labeling and probability
EP2173425B1 (de) * 2007-07-18 2012-11-21 Silk Road Medical, Inc. Systeme zur herstellung eines rückläufigen blutflusses in der halsschlagader
US7925599B2 (en) * 2008-02-11 2011-04-12 At&T Intellectual Property I, L.P. Direction-aware proximity for graph mining
US8320674B2 (en) * 2008-09-03 2012-11-27 Sony Corporation Text localization for image and video OCR
US8275645B2 (en) * 2008-12-17 2012-09-25 Sap Ag Method and system for recursion check and low-level code generation for directed graph
US8719701B2 (en) 2009-01-02 2014-05-06 Apple Inc. Identification of guides and gutters of a document
CN102005038B (zh) * 2009-08-31 2014-10-15 鸿富锦精密工业(深圳)有限公司 图片边缘定位方法
JP5440222B2 (ja) * 2010-02-03 2014-03-12 富士ゼロックス株式会社 情報処理装置及びプログラム
CN102479173B (zh) * 2010-11-25 2013-11-06 北京大学 识别版面阅读顺序的方法及装置
CN102541826B (zh) * 2010-12-27 2014-08-06 北大方正集团有限公司 文字块内容重组方法及装置
US8442998B2 (en) 2011-01-18 2013-05-14 Apple Inc. Storage of a document using multiple representations
US8549399B2 (en) 2011-01-18 2013-10-01 Apple Inc. Identifying a selection of content in a structured document
US8380753B2 (en) 2011-01-18 2013-02-19 Apple Inc. Reconstruction of lists in a document
US8996350B1 (en) 2011-11-02 2015-03-31 Dub Software Group, Inc. System and method for automatic document management
CA2838084A1 (en) * 2012-02-24 2013-06-24 Jerry Wolfe System and method for providing flavor advisement and enhancement
DE102012102797B4 (de) * 2012-03-30 2017-08-10 Beyo Gmbh Kamerabasiertes Mobilfunkgerät zur Konvertierung eines Dokuments anhand von aufgenommenen Bildern in ein Format zur optimierten Anzeige auf dem kamerabasierten Mobilfunkgerät
US9351641B2 (en) * 2012-10-04 2016-05-31 Cerner Innovation, Inc. Mobile processing device system for patient monitoring data acquisition
CN103488619B (zh) * 2013-07-05 2017-05-24 百度在线网络技术(北京)有限公司 一种用于进行文档文件处理的方法及装置
WO2016156555A1 (en) * 2015-04-01 2016-10-06 Spotify Ab A system and method of classifying, comparing and ordering songs in a playlist to smooth the overall playback and listening experience
US10621453B2 (en) * 2017-11-30 2020-04-14 Wipro Limited Method and system for determining relationship among text segments in signboards for navigating autonomous vehicles
US11082742B2 (en) 2019-02-15 2021-08-03 Spotify Ab Methods and systems for providing personalized content based on shared listening sessions
CN109933756B (zh) * 2019-03-22 2022-04-15 腾讯科技(深圳)有限公司 基于ocr的图像转档方法、装置、设备及可读存储介质
US11615244B2 (en) * 2020-01-30 2023-03-28 Oracle International Corporation Data extraction and ordering based on document layout analysis
US11475686B2 (en) 2020-01-31 2022-10-18 Oracle International Corporation Extracting data from tables detected in electronic documents
US11283846B2 (en) 2020-05-06 2022-03-22 Spotify Ab Systems and methods for joining a shared listening session
US11503373B2 (en) 2020-06-16 2022-11-15 Spotify Ab Methods and systems for interactive queuing for shared listening sessions
US11197068B1 (en) 2020-06-16 2021-12-07 Spotify Ab Methods and systems for interactive queuing for shared listening sessions based on user satisfaction
US12293143B2 (en) * 2022-09-30 2025-05-06 Konica Minolta Business Solutions U.S.A., Inc. Detection and tagging of paragraphs spanning columns, pages, or other reading units
US12361736B2 (en) 2023-01-04 2025-07-15 Oracle International Corporation Multi-stage machine learning model training for key-value extraction
CN117115822A (zh) * 2023-08-29 2023-11-24 武汉市万睿数字运营有限公司 针对ocr文档识别结果的合并和划分方法及相关装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185813A (en) * 1988-01-19 1993-02-09 Kabushiki Kaisha Toshiba Document image processing apparatus
US4935877A (en) * 1988-05-20 1990-06-19 Koza John R Non-linear genetic algorithms for solving problems
JP2618832B2 (ja) * 1994-06-16 1997-06-11 日本アイ・ビー・エム株式会社 文書の論理構造の解析方法及びシステム
US5666469A (en) * 1995-02-07 1997-09-09 International Business Machines Corporation Method for generating solutions for sequencing problems
US5955322A (en) * 1996-02-07 1999-09-21 Mount Sinai School Of Medicine Of The City University Of New York DNA-based computer

Also Published As

Publication number Publication date
DE69817916D1 (de) 2003-10-16
EP0881591A1 (de) 1998-12-02
US6175844B1 (en) 2001-01-16
EP0881591B1 (de) 2003-09-10

Similar Documents

Publication Publication Date Title
DE69817916T2 (de) Ordnen von Textgruppen in einem Bild
DE69226846T2 (de) Verfahren zur Bestimmung von Wortgrenzen im Text
DE69605255T2 (de) Vorrichtung und Verfahren für die Extraktion von Artikeln eines Dokuments
DE4311172C2 (de) Verfahren und Einrichtung zum Identifizieren eines Schrägenwinkels eines Vorlagenbildes
DE69810369T2 (de) Bildwiederauffindungsvorrichtung und -verfahren
DE69329380T2 (de) Verfahren zum Segmentieren von Bildern und Klassifizieren von Bildelementen zur Dokumentverarbeitung
DE69610882T2 (de) Blockselektionsystem, bei dem überlappende Blöcke aufgespaltet werden
DE3689416T2 (de) Mustermerkmalextraktion.
EP2187340B1 (de) Vorrichtung und Verfahren zum Bestimmen eines Kanten-Histogramms, Vorrichtung und Verfahren zum Ablegen eines Bildes in einer Bilddatenbank, Vorrichtung und Verfahren zum Auffinden von zwei ähnlichen Bildern und Computerprogramm
DE69428082T2 (de) Verfahren zur Detektion finanzieller Beträge in binären Bildern
DE69429853T2 (de) Verfahren zur Analyse ein Bild definierender Daten
DE69033484T2 (de) Identifizierung und Segmentierung von feintexturierten und festen binären Bildern
DE69428323T2 (de) Ein Bildanzeigevorrichtung
DE69432114T2 (de) System zum Identifizieren und Verarbeiten von Formularen
DE69525606T2 (de) Eingabe- und Anzeigegerät für Handschrift
DE3716787A1 (de) Zeichenerkennungsverfahren
DE112012004809B4 (de) Kantenverfolgung mit Hysterese-Schwellenwertbildung
DE19806985B4 (de) Organisationsverfahren für volumetrische Daten, das effiziente Cache-Aufbereitungsbeschleunigungen und einen effizienten Graphik-Hardwareentwurf ermöglicht
DE3926327A1 (de) Verfahren und system zur erkennung von zeichen auf einem medium
DE102021001321A1 (de) Logisches Gruppieren von exportierten Textblöcken
DE69330900T2 (de) Verfahren zum Ausfüllen der Bildpunkte innerhalb eines Polygons
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE69627424T2 (de) Bildverarbeitungsverfahren und Gerät
DE69030614T2 (de) Gerät zur Erkennung handgeschriebener Zeichen
DE69207184T2 (de) Vorrichtung und verfahren zum automatisierten seitenlayout von text undgraphischen elementen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee