PatentDe  


Dokumentenidentifikation DE60312572T2 05.07.2007
EP-Veröffentlichungsnummer 0001331592
Titel Verfahren und Gerät zum Konvertieren digitaler Bilder von Handzeichnungen zur weiteren Verwendung in einem strukturierten Text/Graphik Editor.
Anmelder Xerox Corp., Rochester, N.Y., US
Erfinder Saund, Eric, San Carlos, CA 94070, US;
Moran, Thomas P., Palo Alto, CA 94301, US;
Larner, Daniel L., San Jose, CA 95120, US;
Mahoney, James V., Palo Alto, CA 94306, US;
Cass, Todd A., San Francisco, CA 94131, US
Vertreter Grünecker, Kinkeldey, Stockmair & Schwanhäusser, 80538 München
DE-Aktenzeichen 60312572
Vertragsstaaten DE, FR, GB
Sprache des Dokument EN
EP-Anmeldetag 27.01.2003
EP-Aktenzeichen 030020044
EP-Offenlegungsdatum 30.07.2003
EP date of grant 21.03.2007
Veröffentlichungstag im Patentblatt 05.07.2007
IPC-Hauptklasse G06K 9/22(2006.01)A, F, I, 20051017, B, H, EP
IPC-Nebenklasse G06K 9/20(2006.01)A, L, I, 20051017, B, H, EP   

Beschreibung[de]

Diese Erfindung betrifft ein Verfahren und eine Vorrichtung zum Verarbeiten von Bildern und im Besonderen ein Bildanalysesystem, das als eine Eingabe digitale Tintenbilder nimmt und strukturierte Objektdarstellungen ausgibt, die in einem Editor für strukturierten Text/Grafik verwendet werden können.

Auch wenn die Erfindung im Besonderen an das Gebiet der Bildverarbeitung und -analyse gerichtet ist und daher mit spezifischem Bezug darauf beschrieben wird, ist anzuerkennen, dass die Erfindung Nützlichkeit bei anderen Gebieten und Anwendungen aufweisen kann.

Auch wenn bestehende Editoren für strukturierten Text/Grafik erheblichen kommerziellen Erfolg und Gebrauch verzeichnet haben, weisen bestehende Implementierungen Beschränkungen auf. Im Besonderen muss bei bestehenden Editoren für strukturierten Text/Grafik das Erzeugen und Editieren von Material über manuelle Betätigungen in dem System stattfinden. Auf Grund dieser Beschränkungen sind bestehende Editoren für strukturierten Text/Grafik nicht in der Lage, die Bedürfnisse von Arbeitern zu erfüllen, die unterschiedliche Arbeitsmodi, wie Arbeiten mit physikalischen Dokumenten, d. h. Erzeugen von Skizzen mit Papier und Feder, einsetzen. Im Besonderen weisen die beschriebenen computerbasierten Text/Grafik-Editierwerkzeuge keine leicht verwendbare Schnittstelle mit Medien physikalischer Dokumente auf.

Zum Beispiel beginnt ein üblicher Prozess zum Erzeugen der Präsentation elektronischer Bilder unter Verwendung von Editoren für strukturierten Text/Grafik mit dem Entwerten von Präsentationsdias auf einer physikalischen Oberfläche abseits von Zwängen des Interagierens mit einem Computer. Bei einem Fall kann eine Einzelperson Skizzen auf einem Papierblock unter Verwendung von Feder und Bleistift anfertigen oder eine Gruppe kann kooperativ Konzepte auf einer Weißwandtafel erzeugen. Erst nach diesem Anfangsprozess wird jemand beauftragt, das handschriftliche Material unter Verwendung der computerbasierten Editoren in strukturierte Text/Grafik-Formate umzuwandeln.

Alternativ kann die gesamte Darstellung von Beginn an in einem Editor für strukturierten Text/Grafik ausgearbeitet werden, wobei auf mögliche Vorteile der Verwendung eines Papiermediums einfach aus dem Grund verzichtet wird, dass ein Endergebnis das computerisierte Format aufweisen muss.

Wenn die Anfangserzeugung unter Verwendung von handgezeichneten Bildern unternommen wird, kann der Prozess zum Importieren dieser Bilder in einen Editor für strukturierten Text/Grafik ein langwieriger und umständlicher Prozess sein. Auch wenn verschiedene Editoren Abkürzungen erzeugt haben, die die Auswahl bestimmter vorkonfigurierter geometrischer Formen durch Click-and-Drag-Programme gestatten, können selbst diese Abkürzungen langwierig werden, wenn eine komplexe Figur beteiligt ist. Außerdem kann das Zeichnen einer komplexen Form, die nicht als ein vorkonfiguriertes Objekt angeboten wird, schwieriger sein, als sie freihändig zu zeichnen. Des Weiteren ist im Hinblick auf das Eingeben von Text das Eintasten von Tastenanschlägen an und für sich nicht schwierig. Jedoch beinhaltet das Erzielen eines gewünschten Layouts mit Einrückungen, Textblöcken, die mit Aufzählungen versehen sind, und strukturierten Textblöcken an gewünschten Positionen eine große Anzahl von Maus- und Tastaturbetätigungen zum Navigieren von Menüs, Eingeben von Text, Einstellen von Positionen und Formatparametern und so weiter.

Auch wenn Text- und Grafikerkennungssysteme bestehen, berücksichtigen diese Systeme nicht den Text und/oder die Grafik auf eine solche Weise, dass ein Editor für strukturierten Text/Grafik seinen vollen Umfang an Operationen für den erkannten Text/die erkannte Grafik einsetzen kann.

Es wurde daher als nützlich erachtet, ein System zu entwickeln, das die vorgenannten Unzulänglichkeiten und andere überwindet, um die Nützlichkeit von Editoren für strukturierten Text/Grafik zu verbessern.

Aus dem Bezug EP-A-0 549 329 ist ein Verfahren zur Umwandlung eines Bitmap-Eingabebildes in editierbare codierte Daten bekannt. Das Verfahren segmentiert das Eingabebild in Text- und Grafikelemente. Die Textelemente werden der Zeichenerkennung unterzogen, wobei Zeichen, die nicht vertraulich erkannt werden können, als solche markiert und zusammen mit alternativen Interpretationen gespeichert. Grafikelemente werden soweit wie möglich in Segmente oder Bogenelemente umgewandelt. Außerdem werden Unsicherheitsinformationen zu dem Ergebnis des Erkennungsprozesses für jedes Element aufgezeichnet.

Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren und System für die Analyse und Umwandlung von Bildern bereitzustellen, die die vorgenannten Unzulänglichkeiten und andere überwinden, um die Nützlichkeit von Editoren für strukturierten Text/Grafik zu verbessern.

Dies wird durch die Merkmale der unabhängigen Ansprüche erreicht. Bevorzugte Ausführungen sind der Gegenstand abhängiger Ansprüche.

1 ist ein System, das die Konzepte der vorliegenden Erfindung integriert;

2A stellt ein handskizziertes Bild dar;

2B zeigt ein handskizziertes Bild, das als ein Bildobjekt in ein Editiersystem für strukturierten Text/Grafik importiert wurde und gemäß verfügbaren Bitmap-Modifizierungsoperationen, wie Stretchen und Zurichten, verändert wurde;

2C zeigt ein skizziertes Bild, das in ein Editiersystem für strukturierten Text/Grafik nach den Konzepten der vorliegenden Erfindung eingegeben wird und charakteristische und einzeln bearbeitbare Bildobjekte zeigt;

3A3H zeigen Beispiele handskizzierter Materialien und verschiedene Interpretationen dieser Materialien, die durch die Implementierung von Konzepten der vorliegenden Erfindung in einem Text/Grafik-Editiersystem erzielt werden können;

4A4C stellt verschiedene Stufen des Ersetzens von Blindzeichen durch Textzeichen dar;

5 legt einen alternativen Graphen dar, der nach Konzepten der vorliegenden Erfindung verwendet werden kann;

6A6D zeigen verschiedene Prozesse zum Anzeigen originaler oder informeller Interpretationen, während an formellen Interpretationen von Bildern in Systemen für strukturierten Text/Grafik gearbeitet wird;

7 stellt ein Flussdiagramm einer Gesamtsystemkonstruktion einer Ausführung nach der vorliegenden Erfindung bereit;

8A8B legen ein Flussdiagramm für Bildanalyse zum Erfassen alternativer Interpretationen von Textobjekten dar;

9A9B sind ein Flussdiagramm zum Erfassen von Sammlungen von Strichfragmentobjekten, die alternative perzeptorisch signifikante Interpretationen von Grafikobjekten widerspiegeln;

10A stellt Messungen von Kurvenausrichtungen dar;

10B zeigt eine Konfiguration von Strichen, die keine eindeutige Ausrichtungsbeziehung zeigen;

11A zeigt Muster-Geometriemessungen, die zum Bestimmen von Eckbeziehungen zwischen zwei krummlinigen Strichen verwendet werden;

11B stellt eine Konfiguration dar, bei der krummlinige Striche keine eindeutige Eckbeziehung zeigen;

12A und 12B legen ein Flussdiagramm zum Konstruieren eines alternativen Graphen aus Text- und Strichvorlagenobjekten dar;

13 ist ein alternativer Graph, der zum Teil nach dem Ablauf der 12A12B konfiguriert werden kann; und;

14 stellt eine Prozedur zum Exportieren eines alternativen Graphen zu einem Editor für strukturierten Text/Grafik dar.

1. Überblick zu Systemkonzepten, -konstruktion und -betrieb

In 1 wird ein System 10 gezeigt, in das Konzepte der vorliegenden Erfindung implementiert werden können. Das System 10 stellt verschiedene Kanäle dar, mit denen mit Einzelbits dargestellte (d. h. gerasterte) Bilder und/oder Bilder, die durch digitale Tintentechniken ausgebildet sind (d. h. eine Vektordarstellung), für einen Umwandler der vorliegenden Anwendung bereitgestellt werden. Die mit Einzelbits dargestellten Bilder sind ein stabiler Zwischenpunkt, an dem der Umwandlerprozess nach der vorliegenden Anwendung aufgerufen würde. Es ist anzuerkennen, dass der Umwandlungsprozess außerdem bei der Eingabe digitaler Tintenbilder aufgerufen werden kann.

Im Besonderen werden Bilder auf einer handschriftlichen Seite 12 in einen Abtaster 14 eingegeben, der die Bilder auf der Seite 12 in elektronische mit Einzelbits dargestellte Bilder 16 (die bei bestehenden Editoren für strukturierte Grafik als ein Bildobjekt behandelt werden) umwandelt. Die Bilder auf der Seite 12 können mit Federn, Bleistiften oder anderen nichtelektronischen Materialien erzeugt werden. Das mit Einzelbits dargestellte Bild 16 wird auf einem Bildschirm 18 eines Computers, eines elektronischen Assistenten oder einer anderen elektronischen Vorrichtung 20, die ein Umwandlersystem 22 der vorliegenden Anwendung umfasst, angezeigt.

Alternativ kann eine Weißwandtafel- oder digitale Tinten-Vorrichtung 24 mit der elektronischen Vorrichtung 20 gekoppelt sein, wobei mit Einzelbits dargestellte oder digitale Tinten-Bilder 26 elektronisch zu der Vorrichtung 20 gesendet werden. Ein anderer Kanal, über den mit Einzelbits dargestellte oder digitale Tinten-Bilder für das Wandlersystem 22 bereitgestellt werden können, ist durch Verwendung einer anderen elektronischen Vorrichtung 28. Diese Vorrichtung kann eines von einer Reihe von Systemen sein, die, ohne darauf beschränkt zu sein, einen Computer mit einem Editor für strukturierten Text/Grafik, ein computerisiertes CAD-System, einen Server im Internet, der Web-Seiten liefert, oder ein anderes System mit einem elektronischen Tablett, elektronischen Assistenten + (PDA) beinhaltet, das mit Einzelbits dargestellte und/oder digitale Tinten-Bilder 30 für das Umwandlersystem 22 bereitstellt. Des Weiteren kann Bilderzeugungs-Software, die in eine elektronische Vorrichtung 20 geladen ist, verwendet werden, um ein mit Einzelbits dargestelltes und/oder digitales Tinten-Bild zur Verwendung durch das Umwandlersystem 22 zu erzeugen.

Es ist anzuerkennen, dass die obige Besprechung zwar ausdrücklich eine Vielfalt von Kanälen zum Erzeugen der Bilder angibt, aber Konzepte der vorliegenden Anwendung außerdem auch bei mit Einzelbits dargestellten und/oder digitalen Tinten-Bildern arbeiten, die über andere Kanäle bezogen wurden.

Eine Ausführung der vorliegenden Erfindung betrifft daher das Empfangen von mit Einzelbits dargestellten und/oder digitalen Tinten-Bildern, die mit einer Vielfalt von Prozeduren erzeugt werden, und Umwandeln der Bilder in strukturierte Objektdarstellungen der Bilder. Durch diesen Prozess werden die mit Einzelbits dargestellten und/oder digitalen Tinten-Bilder nach Symbolen definiert (d. h. die strukturierten Objektdarstellungen). Somit wandelt der Betrieb des Umwandlers 22 die mit Einzelbits dargestellten und/oder digitalen Tinten-Bilder nicht in computerabhängige Bilder (Online-Bilder) um, sondern wandelt die Bilder vielmehr in Darstellungen der Bilder um. Auch wenn die Darstellungen als Bilder angesehen werden können, sind sie hauptsächlich symbolische Darstellungen.

Der vorliegende Prozess gestattet Bearbeitungen, die nicht möglich sind, wenn sich ein Bild in einem nichtumgewandelten mit Einzelbits dargestellten und/oder digitalen Tinten-Format befindet. Durch Umwandlung in strukturierte Objektdarstellungen ist es möglich, unterschiedliche Bereiche des umgewandelten Bildes zu bearbeiten. Solche unterschiedlichen Bereiche können als perzeptorisch ausgeprägte Bereiche erachtet werden.

Perzeptorisch ausgeprägte Bereiche sind diejenigen Bereiche eines Bildes, die gewöhnliche Betrachter von grafischem Bildmaterial, Texten oder Gemischen dieser in bestimmten Gruppierungen und Sammlungen von Bild-Primitiven (d. h. Bildpunkte) leicht als sensible, sichtbar auffällige oder bedeutungsvolle Einheiten erkennen würde, an denen Bildeditieroperationen durchzuführen sind. Diese Gruppierungen können auf einer von einer Vielfalt von Eigenschaften basieren, wobei diese räumliche Nähe, krummlinige Ausrichtung, Verbundenheit, Geradlinigkeit, Ausbilden eines geschlossenen Wegs, Beinhaltetsein in einer geschlossenen oder größtenteils geschlossenen Figur, Ausbilden elementarer Geometrieformen oder -konfigurationen und Kombinationen von diesen umfassen, ohne darauf beschränkt zu sein.

Somit erweitern Konzepte der vorliegenden Erfindung bestehende Bildumwandlung über die Fähigkeit hinaus, einfach ein abgetastetes Bild als ein Bildobjekt zu importieren, bei dem das Bildobjekt eine abgetastete Bitmap ist, die aus einer undifferenzierten Bildpunktmatrix oder einer Vektordarstellung besteht. Wenn solche Bildobjekte in einen bestehenden Editor für strukturierten Text/Grafik eingegeben werden, können rudimentäre Editieroperationen an dem gesamten Bildobjekt durchgeführt werden.

Dieses Konzept wird im Besonderen durch eine Besprechung der 2A2B ausführlicher dargestellt. 2A stellt eine handgezeichnete originale nichtelektronische Skizze 32 dar. 2B stellt Editieroperationen (d. h. Skalieren, Zurichten, Farbtoneinstellung) dar, die an dem gesamten Bildobjekt 34 durchgeführt werden können. 2B zeigt Ergebnisse nach Anwendung einer Reihe dieser Editieroperationen auf die handgezeichnete Figur von 2A. In dieser bestimmten Situation wurde die handgezeichnete Skizze in einen Text/Grafik-Editor importiert, dann skaliert und zugerichtet.

Bestehende Text/Grafik-Editoren können jedoch, wie durch 2C hervorgehoben wird, keinen Zugriff auf perzeptorisch ausgeprägt Bereichen innerhalb der Bitmap bereitstellen. In 2C werden zwei perzeptorisch ausgeprägte Strukturen des Bildes, ein Kreis 30 und ein Schwanz 32, unabhängig voneinander verändert. Diese Operationen wurden bei einer tatsächlichen Systemimplementierung unter Verwendung von Konzepten der vorliegenden Erfindung erreicht. Jedoch ist es bei bestehenden Text/Grafik-Editoren nicht möglich, mit Einzelbits dargestellte Bilder zu nehmen, sie in bestehende Text/Grafik-Editoren zu importieren und Editieren an automatisch definierten einzelnen perzeptorisch ausgeprägten Strukturen durchzuführen. Stattdessen ist das Editieren dieser mit Einzelbits dargestellten Bilder auf Basis-Editieren des gesamten Bildobjekts beschränkt, wie in 2B gezeigt. Ähnliche Unzulänglichkeiten bestehen bei den besprochenen digitalen Tinten-Bildern.

Die Fähigkeit zum Behandeln von perzeptorisch unterschiedlichen Bildentitäten als unabhängig editierbare Text/Grafik-Objekte gestattet Benutzern, bedeutungsvolle Text- und Grafikeditieroperationen durchzuführen, die über diejenigen, die bei bestehenden Systemen machbar sind, hinausgehen.

2. Aussehen und Handhabung des Umwandlersystems

Ausführungen des vorliegenden Systems stellen die vorgenannten Fähigkeiten bereit, indem zuerst primitive Text- und Grafikelemente und Bitmap-Bilder ausgewählt werden und dann perzeptorisch ausgeprägte Gruppierungen dieser Elemente zusammengesetzt werden. Ein Konzept der vorliegenden Erfindung unterstützt eine Klasse von Aussehen-und-Handhabung-Techniken zusammen mit der Unterstützung von Datenstrukturen und Algorithmen, die Benutzern mehrere perzeptorische Interpretationen von bebildertem Dokumentmaterial verfügbar machen.

Diese mehreren perzeptorischen Interpretationen können so wiedergegeben werden, dass sie „formelle" und/oder „informelle" Darstellungen grafischen und textlichen Materials aufweisen. „Formelles" grafisches Material bezieht sich auf geometrisch genaue oder exakte Wiedergaben von Linienführung und Formen, während sich „informelles" grafisches Material auf näherungsweise oder geometrisch unvollkommene Figuren bezieht, die menschliche Beobachter dennoch normalerweise mit ihren genauen Gegenstücken identifizieren. Zum Beispiel würde ein Rechteck, das mit mechanischen Zeichenwerkzeugen gezeichnet wurde oder anderweitig auf einem Computerdrucker anhand eines Computerprogramms wiedergegeben wird, das sich auf geometrisch genaue Koordinaten bezieht, als „formell" erachtet werden, während ein von Hand gezeichnetes Rechteck als „informell" erachtet würde. Auf ähnliche Weise würde Text, der mit mechanischer Druckausrüstung gesetzt wurde oder alternativ durch Computerdrucktechnologie unter Verwendung von konstruierten Schriftarten und Layout-Algorithmen wiedergegeben wird, als „formell" erachtet, während ungenau handgeschriebener Text als „informell" erachtet wird. Diese Definitionen gestatten einige Ungenauigkeit, wobei Text oder Grafik entweder als formell oder als informell erachtet werden könnte, wie zum Beispiel sehr sorgfältig und genau handgezeichnete geometrische Formen, sehr saubere Handschrift oder Computerschriftarten und Layout-Algorithmen, die dazu konstruiert sind, leger und ungenau auszusehen. Diese Ungenauigkeit beschränkt in keiner Weise die Funktionalität, den Zweck oder die Nützlichkeit der hierin beschriebenen Konzepte.

Ein einfaches Beispiel dieser Konzepte wird in Verbindung mit den 3A3H gezeigt, die durch eine tatsächliche Systemimplementierung erzeugt wurden. Bei dieser Gruppe von FIGUREN ist das Quellenmaterial oder die Original-Handskizze 3A, die eine handgezeichnete Grafik ist, die aus vier relativ geraden Strichen besteht, die grob eine rechteckige Form 40 ausbilden, die wiederum einen Satz handgezeichneter Zeichen umschließt, die eine Spalte von Textzeilen 4246 ausbilden.

Es ist möglich, dass ein Benutzer eine von mehreren Absichten beim Importieren dieses handgezeichneten Materials in einen Editor für strukturierte Grafik haben kann. Die 3B3H stellen mehrere vollkommen plausible beabsichtigte Ausgaben eines solchen Benutzers dar. Diese beinhalten, wie in 3B gezeigt, das handschriftliche Material so, wie es ist, beizubehalten, jedoch die Strich- und Liniendicke des handgezeichneten Rechtecks 40 zu verändern. Alternativ könnte der Benutzer wünschen, Zeilen des handschriftlichen Textes, wie in 3C gezeigt, neu zu ordnen, oder, wie in 3D gezeigt, die Grafik in ein formelles Rechteck 40 umzuwandeln, während der Text 4246 in seiner handschriftlichen Form bewahrt wird. Eine andere Alternative, die in 3E gezeigt wird, besteht darin, den handschriftlichen Text 4246 in den formellen Typ umzuwandeln, während das handschriftliche grafische Rechteck 40 bewahrt wird. Darüber hinaus kann, wie in 3F gezeigt wird, der Benutzer beabsichtigen, sowohl den Text 4246 als auch das Grafikobjekt (Rechteck) 40 in formelle Text- und Grafikobjekte umzuwandeln. Noch eine andere mögliche Ausgabe des Benutzers wird in 3G gezeigt, wobei das Innere der handgezeichneten Grafik 40 mit Farbe ausgestattet wird. Abschließend kann der Benutzer wünschen, die handgezeichnete Grafik 4246 so zu erweitern, dass sie einen anderen Textposten 48 enthält.

Das Zeigen dieser möglichen alternativen Darstellungen stellt dass, dass die Absicht eines Benutzers (d. h. die Person, die die anfängliche handschriftliche Skizze erzeugt) verschieden sein kann, und daher bestehen Vorteile nicht nur durch Integrieren einer Erkennungsfähigkeit in Editiersysteme, sondern außerdem durch Erzeugen einer Option, Benutzern alternative Interpretationen des handschriftlichen Materials bereitzustellen. Es versteht sich, dass bei der obigen Besprechung 3A ursprünglich als ein digitales Tinten-Bild erzeugt werden kann und die hierin beschriebenen Umwandlungsprozesse zum Umwandeln der digitalen Tinten-Bilder in strukturierte Objekte verwendet werden. Daher können die in den 3B3H gezeigten Darstellungen außerdem auf Basis eines originalen digitalen Tinten-Bildes erzielt werden.

Dieses System gestattet des Weiteren außerdem das Anzeigen bestimmter Parameter des Textes, wie Layout, Schriftart, Aufzählungen und Unterstreichungen, wobei aber tatsächliche Zeichenidentitäten offengelassen werden. Im Besonderen stellen die 4A4C dieses Konzept dar. Hierin wird einem Benutzer Textlayout als formelle Textfelder 50 präsentiert, die mit „Leerinhalt" aus „X-en" 52 gefüllt sind. Dies stellt dem Benutzer eine Möglichkeit bereit, den Leertext auszuwählen und ihn durch Zielzeichen mittels Eintippen zu ersetzen, ohne jedoch Textobjektauswahl, Positionieren, Formatieren usw. durchführen zu müssen. Eine Option bei dem vorliegenden System besteht für Benutzer darin, Darstellungen zu zeichnen, die Blöcke textlichen Materials anzeigen, jedoch nicht ausführlich ausgeschrieben sind. Solche Handlungen werden manchmal „Stilisierte Vorschaudarstellung" („Greeking") genannt, wobei diese Darstellungen Reihen paralleler, gerader oder wellenförmiger Linien enthalten, die gezeichnet werden, um eine Region zu definieren, die grob der Platzierung von Textmaterial entspricht.

3. Präsentationen alternativer Interpretationen für bebilderte Dokumente 3.1 Alternativer Graph

Aussehen und Handhabung dieses Systems werden bei einer Ausführung durch die Konstruktion einer Datenstruktur, die „Alternativer Graph" genannt wird, erreicht, die in einem unbearbeiteten Bitmap-Bild implizite mehrere, möglicherweise gegensätzliche, möglicherweise überlappende, perzeptorisch signifikante visuelle Objekte explizit macht. Technische Prozesse zum Aufbau Alternativer Graphen werden in Abschnitt 4 offengelegt.

5 zeigt ein Beispiel eines Alternativen Graphen 60 für das Beispiel der 3A–H. Der linke (grobe) Abschnitt 62 des Graphen strukturiert Material auf eine Weise, die als 3A wiedergegeben würde. Der rechte (formelle) Abschnitt des Graphen strukturiert Material, um wie in 4A präsentiert zu werden. Verbindungen in dem Alternativen Graphen werden gerichtet und stellen dar, dass verbundene Felder Teil der Felder sind, mit denen sie verbunden sind, d. h. die Verbindungen stellen eine „Teil-von"-Beziehung dar. Der Alternative Graph enthält vier Arten von Knoten:

  • 1. OBJEKT-Knoten, die in 5 als (Textobjekt (TO), Freiformkurve, Rechteck, Textfeld) Knoten bezeichnet werden, die grafischen oder textlichen Objekten entsprechen, die direkte Gegenstücke in dem Editor für strukturierten Text/Grafik aufweisen. Diese beinhalten Zeichen, Linien, Bögen, Freiformkurven, Rechtecke, Ellipsen, Vielecke und Pfeile. Die Buchstaben "TO" verzeichnen ein Textobjekt, dass die Form entweder einer Freiformkurve oder eines Bildobjekts annehmen kann.
  • 2. GRUPPEN-Knoten, die Gruppen von Objekten entsprechen. Bei Editoren für strukturierten Text/Grafik, wie Powerpoint, MacDraw und andere, werden Objekte, die als eine „Gruppe" miteinander verbunden sind, in Bezug auf Operationen wie Auswählen, Bewegen, Größenänderung, Drehen, Tiefenschichtänderung, Löschen usw. als ein Einzelobjekt behandelt. GRUPPEN-Knoten erklären eine Elementeliste von Objekten, die zu der Gruppe gehören. Gruppen können hierarchisch verschachtelt sein; mit anderen Worten kann eine GRUPPE, auf eine nichtzyklische Weise, ein Element einer anderen GRUPPE sein.
  • 3. WAHL-Knoten verzeichnen die Sammlung von Objekten oder Gruppen, die unter jeder Alternative zusammengehören.
  • 4. ALTERNATIV-Knoten, die die Tatsache darstellen, dass manche Sammlung oder Region von Bildmaterial auf mehrere Weise interpretiert werden kann.

Im Allgemeinen gestattet die Definition der Datenstruktur Alternativer Graph, dass ALTERNATIV-Knoten (und abgeleitete WAHL-Knoten) auf mehreren Ebenen auftreten können und ineinander verschachtelt werden können. Ob dieser allgemeine Typ Alternativer Graph eingesetzt wird, hängt von dem Präsentationsmodus und den Randbedingungen des Zieleditors für strukturierte Grafik ab. Der in 5 gezeigte Alternative Graph ist lediglich mit einem einzigen ALTERNATIV-Knoten am Stamm konfiguriert. Diese Klasse von Alternativem Graph eignet sich für die Präsentation alternativer perzeptorischer Interpretationen auf mehreren Bildern in Editoren für strukturierte Grafik, für die dies ein passender Präsentationsmodus ist, wie Powerpoint, MacDraw oder andere. Dies stellt eine bevorzugte Ausführung der Erfindung dar.

3.2. Präsentationsmodi

Der Alternative Graph ermöglicht eine Familie von Präsentations-/Interaktionsmodi zum Zugriff auf verschiedene Interpretationen perzeptorisch ausgeprägter Bildobjekte. In den Abschnitten 3.2.1 bis 3.2.3 sind drei Präsentations-/Interaktionsmodi aufgelistet, die in Betracht gezogen wurden. Es versteht sich, dass außerdem andere Modi im Rahmen der Lehren der vorliegenden Konzepte verfügbar sein können.

3.2.1 Mehrfach-Bilder

Unter vielen Umständen können alternative Interpretationen grafischen oder textlichen Bildmaterials zum Widerspiegeln unterschiedlicher Grade von Formalität in Betracht gezogen werden. Die Darstellung von 3B erscheint als eine grob skizzierte Form, die handschriftliche Zeichen umschließt. In den Editoren für strukturierten Text/Grafik wird diese Figur als eine Gruppe relativ gerader Freiformlinienobjekte plus drei Gruppen von Bitmap-Objekten entsprechend den drei Textzeilen strukturiert. Dies kann als eine informelle Darstellung erachtet werden.

Eine alternative formelle Darstellung dieser perzeptorischen Entität wird in 3F gezeigt. In den Editoren für strukturierten Text/Grafik wird diese Figur als eine Gruppe strukturiert, deren Elemente ein einheitliches grafisches Rechteckobjekt und ein drei Textzeilen enthaltender Textblock sind.

Eine Option zum Präsentieren und Bereitstellen von Benutzerzugriff auf alternative Interpretationen besteht darin, sie auf unterschiedlichen Präsentationsdias zu platzieren. Zum Beispiel nehmen weniger formelle Alternativen ein „grobes" Bild ein, während formellere Alternativen ein "formelles" Bild einnehmen. Zusätzliche Bilder mit Zwischengraden an Formalität sind möglich. Benutzer, die Bilder gemischter Formalität, wie 3D, konstruieren möchten, können Objekte und Gruppen von Bild zu Bild auswählen und übertragen. Zusätzlich sind bei einigen Editoren für strukturierten Text/Grafik besondere Tastungs-, Maus-, Sprach- oder Gestikbefehle definiert, um ausgewählte Objekte zwischen dem Bild, auf dem sie sich befinden, und dem Bild einer alternativen Formalität auszutauschen.

In Abschnitt 4 wird eine Prozedur zum Umwandeln einer Alternativ-Graph-Darstellung eines Dokumentenbilds in einen Satz registrierter Bilder offengelegt. Diese Darstellung der Prozedur ist ein Beispiel einer Organisation von Bildern entlang der Dimension der „Formalität".

3.2.2 Hintergrundwiedergabe

Eine beabsichtigte Verwendung für eine Editor-Anwendung für Skizze-zu-strukturiertem-Text/Grafik besteht darin, beim Umwandeln von handschriftlichem Text zu eingetastetem Text zu unterstützen. Diese Aufgabe teilt sich in zwei Probleme: (1) Ermitteln der Layoutstruktur des Originaltexts, d. h. Positionierung, Einrückung und Unterstreichung von Wörtern, Zeilen und Spalten von Text, und (2) Erkennen der tatsächlichen Zeichen, die den Text umfassen. In vielen Fällen kann adäquate Leistung zu Problem (1) unabhängig von einer Lösung zu Problem (2) erreicht werden. Der Schwierigkeitsgrad beim Erkennen tatsächlicher Zeichen hängt von zahlreichen Problemen ab, die die Handschrift des Benutzers, die Wahl der Feder, Abtastereigenschaften usw. beinhalten, ohne darauf beschränkt zu sein. Somit portraitiert 3F eine alternative „formelle" Interpretation für 4A, wobei die Layoutstruktur des Texts als ein formelles Textobjekt erfasst wird, aber die tatsächlichen Zeichenidentitäten durch Leerzeichen ersetzt werden.

Ein Nutzen dieser unvollständigen formellen Alternative besteht darin, dass Benutzer lediglich Textinhalt auswählen und eintasten müssen, aber von der Last des Erzeugens und Layouts der zugehörigen Textblockstrukturen befreit würden, wobei sich 3F oder 4C ergibt.

Diese Aktivität wird durch Präsentationstechniken erleichtert, die dem Benutzer gestatten, die originalen oder informellen Interpretationen zu sehen, während an formellen Interpretationen gearbeitet wird.

Ein Prozess zum Vollziehen des Vorgenannten besteht in der Verwendung von Unterlegungen, wobei die Wiedergabe von einer Alternative in dem Hintergrund des Bildes der vordergründigen, operativen Alternative sichtbar gemacht wird. Ein Verfahren zum Zeigen des Hintergrundmaterials besteht aus einer getrennten Abbildungsschicht, die räumlich mit dem Vordergrundmaterial gefluchtet ist. Diese Bezugs-Abbildungsschicht erscheint als eine Unterlegung oder Überlagerung in Bezug auf das operative Material. Eine Vielfalt von Abbildungsmodellen (d. h. alternative Interpretationen) kann zum Erzeugen der endgültigen Präsentation verwendet werden, wobei dies unterschiedliche Farbe oder Schattierung, Transparenz/Durchsichtigkeit und Defokussierung beinhaltet. Dieses Konzept wird durch 6A dargestellt, wobei formeller Text 70 in einer transparenten/durchsichtigen Form gezeigt wird, und der informelle Text 72 in regelmäßigen Zeilen gezeigt wird.

Eine andere Einrichtung, wie in 6B gezeigt, zum gleichzeitigen Präsentieren alternativer Interpretationen besteht in der Verwendung von geschrumpften und/oder versetzten Bildausschnitten, die bei einigen Ausführungen von Blasen oder Ballons 74 in der Nähe von Zeichnungstext 76 umgeschlossen sind.

3.2.3 Auswahl unter Wahlmöglichkeiten

Eine dritte Klasse von Präsentations-/Interaktionsmodi für alternative Interpretationen von Quellenmaterial ist direkte Präsentation von Alternativen, entweder gleichzeitig, wie bei einem Einblendfenster, aus dem der Benutzer unter Wahlmöglichkeiten auswählen kann, oder durch sequenziellen Umlauf, wobei in diesem Fall die Präsentationsreihenfolge nach Schätzungen der Benutzerpräferenz eingestellt werden kann. Zum Beispiel zeigt 6C ein Einblendfenster 78, das eine mögliche Darstellung 80 präsentiert. Das Fenster 78 wird gleichzeitig mit dem Text 82 in 6C geöffnet gezeigt. 6D zeigt denselben Text 82, wobei jedoch nun das Fenster 78 eine andere mögliche Darstellung 84 des Texts 82 anzeigt. Diese Figuren stellen das Konzept sequenziellen Umlaufs sowie gleichzeitige Präsentation dar.

4. Erkennen Alternativer Interpretationen für Text und Strichvorlagen

In diesem Abschnitt wird eine Bildanalysesystemkonstruktion gezeigt, die die Konstruktion eines Alternativen Graphen (z. B. Graph 60, 5) vollzieht, der eine Vielzahl von Interpretationen für skizziertes oder anderes Bitmap-Quellenmaterial darstellt. Der Alternative Graph unterstützt Präsentations-/Interaktionsmodi, um unterschiedliche perzeptorisch gültige Interpretationen von Bilddaten verfügbar zu machen.

4.1 Erkennungssystemarchitektur

7 zeigt eine Gesamtsystemkonstruktion 90 für die Verarbeitung eines Eingabebildes 92. Die Hauptkomponenten und ihre Funktionen umfassen:

  • 1. Bildverarbeitungs-und-Segmentierungs-Modul 94, das ein abgetastetes Bitmap-Bild (d. h. Eingabebild 92) so verarbeitet, dass drei Klassen primitiver Bildobjekte getrennt werden: (1) kleine verbundene Komponenten in der Größenordnung von Textzeichen; (2) relativ gerade krummlinige Linienfragmente, die durch Übergänge unkomplizierter gemacht werden und „Strichfragmente" genannt werden; und (3) große bildliche Objekte. Ein Algorithmus zum Durchführen dieser Segmentierung wird in der am 25. November 1998 eingereichten US-Patentanmeldung der Seriennr. 09/199.699 von Saund, E. „Method for Separating Document Image Object Types" offengelegt.
  • 2. Texterkennungs-und-Layoutanalyse-Modul 96, das Gruppierungen von Bitmap- und Strichobjekten erkennt, die Zeichenfolgen, die Textzeilen und -spalten ausbilden, darstellen. Unter einem Aspekt dieses Systems ist das Ergebnis dieser Analyse eine Liste von Textgruppenstrukturen, die jeweils zwei oder mehr alternative Interpretationen dieses Textblocks enthalten. Zum Beispiel kann eine Interpretation eines vorgegebenen Textblocks eine Spalte aus Textzeilen sein, die in einer eingerückten Listen-Layoutstruktur organisiert sind, während eine andere Interpretation ein Satz primitiver Bildobjekte ohne weitere innere Struktur sein kann. Konzepte und Operationen dieses Moduls werden in Abschnitt 4.2 ausführlicher besprochen.
  • 3. Strichvorlagenanalyse-Modul 96, das Gruppierungen von Strichobjekten erkennt. Unter einem Aspekt dieser Operation ist das Ergebnis dieser Analyse eine Liste von Strichvorlageobjekten, die jeweils zwei oder mehr alternative Interpretationen enthalten. Strichvorlageobjekte enthalten offene krummlinige Wege und geschlossene krummlinige Wege und andere geometrische Entitäten, wie Pfeilspitzen. Wenn zum Beispiel ein vorgegebener geschlossener krummliniger Weg eine rechteckige Form ausbildet, dann wird ein Rechteckmodell als eine alternative Interpretation des allgemeineren Modells geschlossenen Wegs aufgelistet. Konzepte und Operationen dieses Moduls werden in Abschnitt 3.3 ausführlicher besprochen.
  • 4. Konstruktion-des-Alternativen-Graphen-Modul 100, das die Listen von Text- und Strichvorlagengruppen, die alternative Interpretationen für jede Gruppe beinhalten, als Eingabe nimmt und einen Alternativen Graphen konstruiert. Konzepte und Operationen dieses Moduls werden in Abschnitt 3.4 ausführlicher besprochen.
  • 5. Exportieren-zu-Editor-für-strukturierte-Graphik-Modul 102, das den Alternativen Graphen durchläuft und entsprechende Präsentationsdias mit Text- und Strichvorlageobjekten plus eine Hierarchie von Gruppen erzeugt. Konzepte und Operationen dieses Moduls werden in Abschnitt 3.5 ausführlicher besprochen.

Die Ausgabe der Module 94102 kann dann einem Benutzer für Editierzwecke präsentiert werden 104.

Es ist anzuerkennen, dass, wenn ein System der vorliegenden Anwendung arbeitet, um digitale Tinten-Bilder in strukturierte Objekte umzuwandeln, die Prozedur einen geringfügigen Unterschied gegenüber derjenigen für empfangene mit Einzelbits dargestellte Bilder aufweist. Im Besonderen ist es bei dem Bildverarbeitungs-und-Segmentierungs-Modul 94 nicht notwendig, das digitale Tinten-Bild zu drei Klassen primitiver Bildobjekte zu verarbeiten, da die krummlinigen Strichfragmente direkt aus dem digitalen Tinten-Bild bezogen werden.

4.2 Bildanalyse zum Erfassen Alternativer Interpretationen von Textobjekten

Im Folgenden wird eine Prozedur bereitgestellt und in den 8A8B dargestellt, die bei einer Ausführung verwendet werden kann, um Sammlungen von Bitmap- und Strichfragmentobjekten zu erfassen, die alternative perzeptorisch signifikante Interpretationen von Textstrukturen 120 widerspiegeln. In die Prozedur wird eine Binärbild-Matrix (B) eingegeben, die durch Binarisieren einer ursprünglich eingegebenen Matrix oder alternativ durch Wiedergeben von kleinen verbundenen Komponenten und Strichfragmenten 122, die durch den zuvor beschriebenen Segmentierungsprozess festgestellt wurden, erzielt werden. Die Strategie dieses Prozesses besteht darin, zuerst Text darstellende Bildelemente zu erkennen und dann Strukturen aufzubauen, die ihr räumliches Layout darstellen. Tatsächliche Texterkennungstechnologien in Form von Optical Character Recognition (OCR) oder Image Character Recognition (ICR) sind Optionen, die von dem Prozess verwendet werden könnten.

Sobald die Eingabe-Binärbild-Matrix eingegeben wurde, geht der Prozess zum:

  • 1. Erfassen langer horizontaler Linien durch eine feste Schwelle zu normalisierter Gesamtkrümmung der begrenzenden Konturen verbundener Komponenten 124. Diese werden durch Subtraktion aus B (die Binärbild-Matrix) entfernt, wobei dies zu einer neuen Binär-Matrix B' 126 führt. (Solche Linien werden als Begrenzer behandelt, nicht als Text.)
  • 2. Definieren stabiler Gruppen verbundener Komponenten in B' in Bezug auf ihre Begrenzungsfeldhöhe 128. Eine Komponente wird dann genommen, um Text zu sein, wenn sie sich in der Minimalhöhengruppe (d. h. die Gruppe mit Kennung = 1, wenn die Gruppen-Kennung monoton mit dem gruppierten Attribut steigt) befindet 130. Techniken zum Definieren stabiler Gruppen sind auf dem Gebiet bekannt, wobei eine in dem folgenden Bezug beschrieben wird: James V. Mahoney und Satyajit Rao, Analyzing An Image Or Other Data To Obtain A Stable Number of Groups. US-Patent Nr. 5.537.491, erteilt im Juli.
  • 3. Ausbilden der folgenden Typen von Nachbarverbindungen unter den textverbundenen Komponenten, die später zum Definieren von Textzeilen und Bereichen verwendet werden, wobei diese definiert werden können als:

    (i) Eine Roh-Verbindung, die eine euklidische nächstgelegene Nachbarverbindung zwischen Bildpunkten unterschiedlicher Komponenten ist.

    (ii) Eine Text-Verbindung, die eine Roh-Verbindung ist, die Bildpunkte von zwei unterschiedlichen Textkomponenten verbindet. Dies wird implementiert, indem geprüft wird, ob sich die Elemente an beiden Enden einer Roh-Verbindung in derselben Gruppe befinden. Somit agieren alle Nichttextkomponenten als Textbegrenzer.

    (iii) Eine Horizontal-Verbindung, die eine Roh-Verbindung innerhalb von 25 Grad der Horizontalen ist.

    (iv) Eine Vertikal-Verbindung, die eine Roh-Verbindung innerhalb von 25 Grad der Vertikalen ist.
  • 4. Ausbilden von Textzeilen durch horizontales Gruppieren verbundener Komponenten 134, das vollzogen wird durch:

    (i) Definieren stabiler Gruppen von Horizontal-Verbindungen in Bezug auf ihr Distanzattribut. Eine Horizontal-Verbindung ist außerdem eine Näherungs-Verbindung, wenn sie sich in der Minimaldistanzgruppe befindet.

    (ii) Ausbilden von Textzeilen-Verbindungen als Text-Verbindungen, die außerdem Horizontal-Verbindungen und Näherungs-Verbindungen sind.

    (iii) Ausbilden von Textzeilen durch Propagation von Markierungen über Textzeilen-Verbindungen durch transitive Hülle (d. h. durch Farbgebung an dem Textzeilen-Verbindungs-Graphen).
  • 5. Akkumulieren von Basis-Textzeilenattributen durch Akkumulieren der Basis-Textzeilenattribute in jeder Textzeile 136. Diese Attribute beinhalten das äußerst linke X, das äußerst rechte X, das oberste Y und das unterste Y mit Bezugnahme auf die Koordinaten des Begrenzungsfelds der Zeile. Andere Attribute, die aus diesen Basis-Attributen berechnet werden, sind Begrenzungsfeldbreite, -höhe und mittiges X.
  • 6. Erfassen von Aufzählungen durch Anwenden einfacher Randbedingungen auf die verbundenen Komponenten, die über Textzeilen-Verbindungen verbunden sind 138. Zum Beispiel eine ausreichend kompakte Komponente, die (a) das erste Element einer Mehrelementzeile ist; und (b) das Minimalhöhenelement seiner Textzeile, das als eine Aufzählung genommen werden kann.
  • 7. Ausbilden von Textzeilen-Vertikal-Verbindungen zwischen unterschiedlichen Textzeilen 140.
  • 8. Ausbilden von Text-Bereichen durch vertikales Gruppieren von Textzeilen 142, beinhaltend:

    (i) Ausbilden stabiler Gruppen von Textzeilen-Vertikal-Verbindungen in Bezug auf ihr Distanzattribut. Eine Textzeilen-Vertikal-Verbindung ist außerdem eine Näherungs-Verbindung, wenn sie sich in der Minimaldistanzgruppe befindet.

    (ii) Ausbilden von Textzeilen-Vertikalausrichtungs-Verbindungen als Textzeilen-Vertikal-Verbindungen zwischen Textzeilen, die etwas horizontale Überlappung aufweisen.

    (iii) Ausbilden von Textbereichs-Verbindungen als Vertikal-Verbindungen, die die Näherungs- und Ausrichtungsbedingungen kombinieren.

    (iv) Nun können Textbereiche durch Propagation der transitiven Hülle über Textbereichs-Verbindungen (d. h. durch Farbgebung an dem Textbereichs-Verbindungs-Graphen) und die Textzeilen-Verbindungen definiert werden.
  • 9. Berechnen von Textbereichs-Begrenzungsfeldattributen durch Akkumulieren der Attribute über jeden Textbereich 144. Weitere Attribute werden dann von den Zeilen des Bereichs abgeleitet: maximale Zeilenhöhe, Gesamtzeilenhöhe und Zeilenzahl 146.
  • 10. Auf Basis der Textzeilen- und Bereichsattribute werden Bereichsausrichtungs(links, rechts und mittig) und Einrückeigenschaften durch bekannte Techniken definiert.

4.3 Bildanalyse zum Erfassen Alternativer Interpretationen von Strichvorlagenobjekten

Dieser Abschnitt legt, wie in den 9A9B dargestellt, eine Prozedur dar, um Sammlungen von Strichfragmentobjekten zu erfassen, die alternative perzeptorisch signifikante Interpretationen von Grafikobjekten widerspiegeln 160. In die Prozedur wird ein Satz von Strichfragmentobjekten eingegeben, die typischerweise als Kettencode-Kurven 162 dargestellt werden. Die Prozedur umfasst des Weiteren:

  • 1. Ausbilden geschlossener Strichwegobjekte 164. Ein Beispiel für das Ausbilden geschlossener Strichwegobjekte wird gelehrt in Saund, E., „Finding Perceptually Closed Paths in Sketches and Drawings", POCV 2001: The Third Workshop on Perceptual Organization in Computer Vision, CIS Report\#CIS-2001-05, Center for Intelligent Systems, Technion, Israel (2001).
  • 2. Entfernen aller Strichfragmente, die an der Ausbildung der sich bei Schritt 164 ergebenden geschlossenen Strichwegobjekte beteiligt sind, aus dem Kandidatensatz von Strichfragmenten 166.
  • 3. Instantiieren von Datenstrukturen, die Ausrichtungs-Verbindungen genannt werden, für jedes Paar Enden von Strichfragment-Kurven, die eine räumliche Ausrichtungskonfiguration ausbilden 168. Solche Messung von Kurvenausrichtungen ist auf dem Gebiet wohlbekannt. 10A stellt eine Darstellung von geometrischen Stichprobenmessungen bereit, die zum Bestimmen einer Ausrichtungsbeziehung zwischen zwei krummlinigen Strichen verwendet werden.
  • 4. Rechnerisches Prüfen der resultierenden Ausrichtungs-Verbindungen und Auswählen lediglich derjenigen für weiteres Verarbeiten, die klar und unzweideutig sind 170. 10B zeigt eine Konfiguration von Strichen, die keine eindeutige Ausrichtungsbeziehung zeigen.
  • 5. Sammeln aller transitiven Hüllen von Strichfragmenten, die von übrig gebliebenen Ausrichtungs-Verbindungen verbunden werden, wobei diese als Ausrichtungsketten bezeichnet werden können 172.
  • 6. Für jede Ausrichtungskette wird eine parametrische Kurve (z. B. eine gerade Linie) zu dem Satz von Strichfragmenten, die die Kette bilden, ermittelt 174. Diese werden dann als alternative Interpretationen der skizzierten Kurven, die durch die Ausrichtungsketten dargestellt werden, aufgezeichnet.
  • 7. Instantiieren von Datenstrukturen, die Ecken-Verbindungen genannt werden können, für jedes Paar Enden von Ausrichtungsketten, die eine räumliche Konfiguration zum Ausbilden einer Ecke ausbilden 168. Ein Beispiel dafür wird von 11A dargelegt, die geometrische Stichprobenmessungen zeigt, die zum Bestimmen von Eckbeziehungen zwischen zwei krummlinigen Strichen verwendet werden. Prozesse zum Messen solcher Eckausbildungen sind auf dem Gebiet wohlbekannt.
  • 8. Rechnerisches Prüfen der resultierenden Eckverbindungen und Auswählen lediglich derjenigen für weiteres Verarbeiten, die klar und unzweideutig sind 178 (11B stellt ein Beispiel für eine Konfiguration bereit, bei der die krummlinigen Striche keine eindeutige Eckbeziehung zeigen.).
  • 9. Sammeln aller transitiven Hüllen von Strichfragmenten, die von übrig gebliebenen Eckverbindungen verbunden werden, wobei diese als offene krummlinige Wege identifiziert werden können 180.
  • 10. Anwenden von Symbolerkennungsprozeduren auf die Strichfragmente, die nach Schritt 166 verbleiben (182). Für Schritt 182 sind viele geeignete Symbolerkennungsprozeduren auf dem Gebiet verfügbar. Für jedes erkannte Symbol werden das erkannte Symbol und der Teilsatz von Strichfragmenten, der zu den krummlinigen Merkmalen des Symbols passt, als alternative Interpretationen aufgezeichnet.
  • 11. Für jedes geschlossene Strichwegobjekt, das sich in Schritt 164 ergeben hat, wird der Teilsatz von Strichfragmenten, die an dem Weg beteiligt sind, extrahiert und dann werden die Schritte 168 bis 174 durchgeführt. Danach werden die Gruppen von Strichfragmenten, die die relativ geraden Seiten der geschlossenen Objekte ausbilden, in einer Zwischen-Datenstruktur aufgezeichnet 184.
  • 12. Für jedes geschlossene Strichwegobjekt, das sich in Schritt 164 ergeben hat, wird eine modellbasierte Formerkennungsprozedur durchgeführt, um zu erfassen, ob das geschlossene Strichwegobjekt eine bekannte Form, wie ein Rechteck oder eine Ellipse, ausbildet 186. Formerkennungsalgorithmen sind für diesen Zweck auf dem Gebiet verfügbar und wohlbekannt. Erkannte Formen werden dann als alternative Interpretationen des geschlossenen Wegobjekts aufgezeichnet.

4.4 Konstruieren des Alternativen Graphen von Text- und Strichvorlagenobjekten

Dieser Abschnitt beschreibt und stellt in den 12A12B eine Prozedur 190 zum Konstruieren eines Alternativen Graphen (wie der Alternative Graph 60 von 5) dar, der für eine Zwischen-Datenstruktur steht, um die Aggregation einzeln erkannter Text- und Strichvorlageobjekte, jeweils mit potenziell mehreren alternativen Interpretationen, zu einer vereinheitlichten Darstellung, die leicht zu Editoren für strukturierten Text/Grafik exportiert werden kann, zu erleichtern. In die Prozedur werden Listen von Textobjekten, offenen krummlinigen Wegobjekten, geschlossenen krummlinigen Wegobjekten und Symbolobjekten eingegeben 192. Jedes Objekt in diesen Listen enthält mehrere perzeptorische Interpretationen. Der Alternative Graph wird verwendet, um diese mehreren perzeptorischen Interpretationen so zu organisieren, dass sie auf eine kohärente und integrierte Weise für Benutzer verfügbar gemacht werden können.

Die beschriebene Prozedur 190 ist eine Ausführung des Systems, bei dem der konstruierte Alternative Graph alternative Knoten lediglich auf der Stammebene enthält. Dies ist zur Präsentation alternativer Interpretationen als Mehrfachdias in Powerpoint, MacDraw oder anderen Editiersystemen geeignet. Die Konstruktion allgemeinerer Alternativer Graphen, bei dem alternativen Knoten über den gesamten Baum auftreten, ist eine Vereinfachung dieser Prozedur. Solche allgemeineren Alternativen Graphen wären für andere Präsentationsmodi, wie objektweise Anzeige und Auswahl unter Alternativen, geeignet.

Prozedur:

  • 1. Für jeden geschlossenen krummlinigen Weg eine Zwischen-Datenstruktur ausbilden (dies wird ein B-Strukt genannt; B-Strukt ist eine willkürliche Bezeichnung für diese Struktur) 194. Das B-Strukt besitzt Daten-Schlitze, die als Alt-Interpretations-Liste, Enthält, Enthaltensein gekennzeichnet sind. In den Alt-Interpretations-Listen-Schlitz die Liste alternativer Interpretationen dieses geschlossenen Wegs einsetzen (z. B. die Liste von Strichfragmenten, die den Weg umfassen; die mathematische Darstellung für ein Rechteck, das für die Strichfragmente ermittelt wurde; und die mathematische Darstellung für eine Ellipse, die für die Strichfragmente ermittelt wurde).
  • 2. Für jeden offenen krummlinigen Weg wird ein Zwischen-B-Strukt ausgebildet und in den Alt-Interpretations-Listen-Schlitz wird die Liste alternativer Interpretationen dieses offenen Wegs eingesetzt 196 (z. B. die Liste von Strichfragmenten, die den Weg umfassen; eine Gruppe von Strichfragmenten, die den Weg umfassen, plus Pfeilspitzen, die mit dem Weg verbunden sind; und eine parametrische Annäherung an die Form des Wegs).
  • 3. Für jede Textgruppe wird ein Zwischen-B-Strukt ausgebildet und in den Alt-Interpretations-Listen-Schlitz wird die Liste alternativer Interpretationen dieser Textgruppe eingesetzt 198 (z. B. die einfache Gruppe von Bitmap-Objekten und Strichfragmenten; eine Darstellung für eine eingerückte Liste).
  • 4. Enthaltenseins-Beziehungen bestimmen. Für jedes B-Strukt, das einen geschlossenen krummlinigen Weg darstellt, alle anderen B-Strukte prüfen und bestimmen, ob das letztere Objekt in den Grenzen des geschlossenen krummlinigen Wegs enthalten ist. Wenn dies der Fall ist, Verzeichnen dieser Beziehung durch Querverweis auf Identitäten von B-Strukten unter Verwendung der Enthält- und Enthaltenseins-Schlitze 200.
  • 5. Alle B-Strukte auswählen, für die der Enthaltenseins-Schlitz leer ist. Für jeden solchen B-Strukt einen Knoten für den Alternativen Graphen des Typs ALTERNATIV erzeugen 202.
  • 6. Für jeden alternativen Knoten 204 folgende Schritte durchführen:

    6a. Durchlaufen der Sammlung von Objekten, die mit dem B-Strukt des alternativen Knotens verbunden sind, durch erschöpfendes Verfolgen von Zeigern in dem Alt-Interpretationen-Listen-Schlitz und dem Enthält-Schlitz des B-Strukts. Bei jedem aufgefundenen B-Strukt die Anzahl alternativer Interpretationen zählen. Das Maximum dieses Zählwertes über alle Nachfolger des alternativen Knotens als N benennen 206.

    6b. N Knoten des Typs WAHL (CHOICE) erzeugen und diese mit dem alternativen Knoten verbinden 208.

    6c. Für jede gewählte Verzweigung des alternativen Knotens mit dem Konstruieren eines Baums aus Nachfolge- und verschachtelten Objekten durch Verfolgen von Verbindungen zu B-Strukt-Strukturen durch Enthält-Schlitze (209a von 13) und Alt-Interpretationen-Listen-Schlitze (209B von 13) fortfahren wie folgt:

    (i) Wenn bei einem Enthält-Schlitz festgestellt wird, dass er nicht leer ist, dann einen Knoten des Typs GRUPPE ausbilden. Diesen Gruppenknoten mit dem Stammknoten verbinden, von dem aus dieses B-Strukt aufgefunden wurde.

    (ii) Ein Element der Alt-Interpretation-Liste auswählen, das dieses Grafikobjekt in dieser Wahl-Verzweigung dieses Stamm-Alternativ-Knotens darstellt. Typischerweise wird die gewählte Interpretation mit den Eigenschaften anderer Interpretationen dieser Wahl-Verzweigung im Einklang stehen. Zum Beispiel wird eine Wahl-Verzweigung bevorzugen, krummlinige Wege als einfache Gruppen von Strichfragmenten zu behandeln, während eine andere Wahl-Verzweigung bevorzugen wird, sie als ihre formellen Grafikobjektinterpretationen, wie geradlinige, vieleckige, rechteckige oder konische parametrische Annäherungen, zu behandeln.

    (iii) Wenn die gewählte Interpretation durch eine Liste von Strichfragment- oder Bitmap-Objekten dargestellt wird, dann einen Knoten eines Typs GRUPPE ausbilden und die Strichfragmente in der Elementeliste der Gruppe aufzeichnen. Wenn ein Gruppenknoten auf Grund der Enthält-Liste des B-Schlitzes ausgebildet wurde, dann diese Gruppe als eine Unterordnung mit diesem verbinden 210.

4.5 Exportieren zu einem Editor für strukturierte Grafik

Unter Verwendung des Alternativen Graphen werden Präsentationsdias in einem Editor für strukturierten Text/Grafik unter Verwendung bestimmter Protokolle und Einrichtungen in Abhängigkeit von den Software-API, die für dieses Editor-Softwareprogramm verfügbar sind, und in Abhängigkeit von dem gewünschten Präsentationsformat alternativer Interpretation erzeugt.

Als ein Beispiel legt, wie in 14 gezeigt, das Folgende eine Prozedur 220 offen, um den Alternativen Graphen als Mehrfach-Interpretations-Bilder zu einem Editor für strukturierten Text/Grafik (d. h. Powerpoint oder anderer Editor) zu exportieren.

  • 1. Einen Anwendungsfall eines Editors für strukturierten Text/Grafik unter Verwendung der veröffentlichten COM-API beginnen 222.
  • 2. Liste alternativer Knoten in dem Alternativen Graphen prüfen und maximale Anzahl von Wahl-Knoten, N, bestimmen 224.
  • 3. Unter Verwendung des Interaktionsobjekts mit der Editor-Anwendung N neue Bilder erzeugen 226.
  • 4. Für jeden alternativen Knoten des Alternativen Graphen abgeleitete Objekte rekursiv instantiieren, indem die Spezifikationen des Objekts an die laufende Editor-Anwendung gesendet werden. Für jedes so instantiierte Text- oder Grafikobjekt erbringt die Editor-Anwendung ein Objektkennzeichen 228.
  • 5. Bei Auffinden eines Knotens des Typs GRUPPE Objekte, die in der Elementeliste der Gruppe gelistet sind, rekursiv instantiieren. Identitäten aller instantiierten Objekte sammeln und ein Gruppenobjekt instantiieren, das diese als Elemente listet 230.

Nach einer vorteilhaften Ausführung enthält ein Schritt des Umwandelns des digitalen Tinten-Bilds in die strukturierten Objektdarstellungen das Erzeugen mehrerer strukturierter Objektdarstellungen des digitalen Tinten-Bilds, wobei die mehreren strukturierten Objektdarstellungen wenigstens eine erste Bilddarstellung mit formellen strukturierten Objektdarstellungen und eine zweite Bilddarstellung, die informelle strukturierte Objektdarstellungen enthält, darstellen.

Nach einer anderen vorteilhaften Ausführung gestattet ein Editieren durch den Editor für strukturierten Text/Grafik die Bewegung strukturierter Objektdarstellungen durch wenigstens eines von Einzelobjekten, einer Teilgruppe aller strukturierten Objektdarstellungen oder als eine Gesamtgruppe der strukturierten Objektdarstellungen.

Nach einer weiteren vorteilhaften Ausführung wird ein digitales Tinten-Bild durch die Verwendung eines Alternativen Graphen in die strukturierten Objektdarstellungen des digitalen Tinten-Bilds umgewandelt.

Nach einer zusätzlichen vorteilhaften Ausführung enthält das Ausbilden eines Alternativen Graphen:

Ausbilden einer ersten Zwischen-Datenstruktur für jeden einer Anzahl geschlossener krummliniger Wege und Einsetzen einer Liste alternativer Interpretationen der geschlossenen krummlinigen Wege in die erste Zwischen-Datenstruktur; Ausbilden einer zweiten Zwischen-Datenstruktur für jeden einer Anzahl offener krummliniger Wege und Einsetzen einer Liste alternativer Interpretationen der offenen Wege in die zweite Zwischen-Datenstruktur; Ausbilden einer dritten Zwischen-Datenstruktur für Text einer Anzahl von Textgruppen und Einsetzen einer Liste alternativer Interpretationen des Textes in die dritte Zwischen-Datenstruktur; Bestimmen räumlicher Enthaltenseins-Beziehungen für jede Zwischen-Datenstruktur, die die geschlossenen krummlinigen Wege darstellt; Prüfen aller anderen Zwischen-Datenstrukturen und Bestimmen, ob ein Objekt räumlich in den Grenzen jedes der geschlossenen krummlinigen Wege enthalten ist, und wenn dies der Fall ist, Verzeichnen dieser Beziehung in einem Enthaltenseins-Schlitz der Zwischen-Datenstruktur; Auswählen aller Strukturen, für die ein Enthaltenseins-Schlitz der Zwischen-Datenstrukturen leer ist; Erzeugen eines alternativen Knotens für den Alternativen Graphen für jede Zwischen-Datenstruktur, für die der Enthaltenseins-Schlitz leer ist; und für jeden alternativen Knoten Durchführen der folgenden Schritte: Durchlaufen einer Sammlung von Objekten, die mit dem alternativen Knoten verbunden sind; Zählen einer Anzahl alternativer Interpretationen der Objekte an jeder aufgefundenen Zwischen-Datenstruktur; Definieren eines Maximums dieses Zählwertes über alle Nachfolger des alternativen Knotens als N; Erzeugen von N Knoten eines Typs WAHL (CHOICE); Verbinden der Knoten vom Typ WAHL mit dem alternativen Knoten; und Konstruieren eines Baums aus Nachfolge- und verschachtelten Objekten für jede gewählte Verzweigung des alternativen Knotens.

Nach noch einer anderen vorteilhaften Ausführung sind strukturierte Objektdarstellungen informelle strukturierte Objektdarstellungen, wobei die informellen strukturierten Objektdarstellungen zu formellen Objektdarstellungen editierbar sind.

Nach noch einer weiteren vorteilhaften Ausführung gestatten alternative Interpretationen ein Mischen formeller strukturierter Objektdarstellungen und informeller strukturierter Objektdarstellungen zu einer einzelnen Bilddarstellung, die auf einem Computerbildschirm angezeigt wird.

Nach noch einer anderen vorteilhaften Ausführung gestatten alternative Interpretationen ein Mischen formeller strukturierter Objektdarstellungen und informeller strukturierter Objektdarstellungen zu einer einzelnen Bilddarstellung, die auf einem Computerbildschirm angezeigt wird.

Nach noch einer weiteren vorteilhaften Ausführung ist eine erste strukturierte Objektdarstellung räumlich in einer zweiten strukturierten Objektdarstellung enthalten.

Nach einer anderen vorteilhaften Ausführung wird eine neue strukturierte Objektdarstellung zu bestehenden strukturierten Objektdarstellungen hinzugefügt.

Nach einer weiteren vorteilhaften Ausführung definieren strukturierte Objektdarstellungen eine Textblockstruktur.

Nach noch einer anderen vorteilhaften Ausführung enthält eine Textblockstruktur eine Anzeige von Textparametern, die wenigstens eines von Textlayout, Textschriftart, Aufzählungen, Unterstreichungen und Leerzeichen enthalten.

Nach noch einer weiteren vorteilhaften Ausführung können Leerzeichen durch Zielzeichen ersetzt werden.

Nach noch einer anderen vorteilhaften Ausführung können unterschiedliche alternative Interpretationen gleichzeitig angezeigt werden.

Nach noch einer weiteren vorteilhaften Ausführung wird eine Anzeige der alternativen Interpretationen durch die Verwendung von wenigstens einem von Unterlegungen, Blasen- oder Ballonbildern, Farbgebung, Schattierung, Transparenz/Durchsichtigkeit, Defokussieren und Einblendfenstern vollzogen.


Anspruch[de]
Verfahren für die Analyse und Umwandlung von Bildern, das die folgenden Schritte umfasst:

Empfangen (92) eines Eingabebildes (12), das handschriftliche Eingabe enthält;

Umwandeln des empfangenen Eingabebildes (12) in eine hierarchische Datenstruktur (60), die ein Layout des Eingabebildes (12) darstellt, wobei die hierarchische Datenstruktur (60) mit einem Editor für strukturierten Text/Grafik editiert werden kann; und

selektives Ersetzen krummliniger Wege (40) der handschriftlichen Eingabe durch Datenelemente, die grafische Primitive für einfache geometrische Formen oder Text darstellen;

dadurch gekennzeichnet, dass

der Empfangsschritt das Eingabebild (12) in einer Vektordarstellung empfängt und

die hierarchische Datenstruktur (60) mehrere alternative Darstellungen des Layouts des Eingabebildes (12) enthält, wobei jede alternative Darstellung einem anderen Ergebnis des Schrittes des Ersetzens entspricht.
Verfahren nach Anspruch 1, wobei der Schritt des Umwandelns Konfigurieren der hierarchischen Datenstruktur (60) umfasst, so dass sie eine Vielzahl elektronischer Bilder des Editors für strukturierten Text/Grafik darstellt, wobei jedes der elektronischen Bilder alternative Darstellungen des Eingabebildes (5) bereitstellt. Verfahren nach Anspruch 2, wobei wenigstens einige der elektronischen Bilder einem Benutzer gleichzeitig präsentiert werden. Verfahren nach Anspruch 3, wobei wenigstens ein Bild nur handschriftliche Bilddarstellungen ohne geometrisch genaue Koordinaten enthält und wenigstens ein anderes Bild ein Gemisch aus handschriftlichen Bilddarstellungen ohne geometrisch genaue Koordinaten und Bilddarstellungen mit geometrisch genauen Koordinaten enthält. Verfahren nach Anspruch 1, wobei der Schritt des Umwandelns Ausbilden eines Alternativ-Graphen umfasst. Verfahren nach Anspruch 5, wobei der Schritt des Ausbildens eines Alternativ-Graphen umfasst:

Ausbilden einer ersten Zwischen-Datenstruktur für jeden einer Anzahl geschlossener krummliniger Wege (40) und Einsetzen einer Liste alternativer Darstellungen der geschlossenen krummlinigen Wege (40) in die erste Zwischen-Datenstruktur;

Ausbilden einer zweiten Zwischenstruktur für jeden einer Anzahl offener krummliniger Wege und Einsetzen einer Liste alternativer Darstellungen der offenen Wege in die zweite Zwischen-Datenstruktur;

Ausbilden einer dritten Zwischen-Datenstruktur für Text einer Anzahl von Textgruppen und Einsetzen einer Liste alternativer Darstellungen des Textes in die dritte Zwischen-Datenstruktur;

Bestimmen räumlicher Enthaltenseins-Beziehungen für jede Zwischen-Datenstruktur, die die geschlossenen krummlinigen Wege (40) darstellt;

Prüfen aller anderer Zwischen-Datenstrukturen und Bestimmen, ob ein Objekt räumlich innerhalb der Grenzen jedes der geschlossenen krummlinigen Wege (40) enthalten ist, und wenn dies der Fall ist, Verzeichnen dieser Beziehung in einem Enthaltenseins-Schlitz der Zwischen-Datenstruktur;

Auswählen aller Strukturen, für die ein Enthaltenseins-Schlitz der Zwischen-Datenstrukturen leer ist;

Erzeugen eines alternativen Knotens für den alternativen Graphen für jede Zwischen-Datenstruktur, für die der Enthaltenseins-Schlitz leer ist; und

für jeden alternativen Knoten Durchführen der folgenden Schritte:

Durchlaufen einer Sammlung von Objekten mittels der räumlichen Enthaltenseins-Beziehung, die mit dem alternativen Knoten verbunden sind,

Zählen einer Anzahl alternativer Interpretationen der Objekte an jeder aufgefundenen Zwischen-Datenstruktur,

Definieren eines Maximums dieses Zählwertes über alle Nachfolger des alternativen Knotens als N,

Erzeugen von N Knoten eines Typs WAHL (CHOICE),

Verbinden der Knoten vom Typ WAHL mit dem alternativen Knoten, und

für jede gewählte Verzweigung des alternativen Knotens Konstruieren eines Baums aus Nachfolge- und verschachtelten Objekten.
Vorrichtung für die Analyse und Umwandlung von Bildern, die umfasst:

eine Bildempfangseinheit (14), die zum Empfangen eines Eingangsbildes (12) eingerichtet ist, das handschriftlichen Eingabe enthält;

eine Umwandlungseinheit (22), die zum Umwandeln des empfangenen Eingabebildes (12) in eine hierarchische Datenstruktur (60) eingerichtet ist, die ein Layout des Eingabebildes (12) darstellt, wobei die Datenstruktur mit einem Editor für strukturierten Text/Grafik editiert werden kann; und

eine Ersetzeinheit, die zum selektiven Ersetzen krummliniger Wege (40) der handgeschriebenen Eingabe durch Datenelemente eingerichtet ist, die grafische Primitive für einfache geometrische Formen oder Text darstellen;

dadurch gekennzeichnet, dass

die Bildempfangseinheit (14) zum Empfangen des Eingabebildes (12) in einer Vektordarstellung eingerichtet ist; und

die hierarchische Datenstruktur (60) mehrere alternative Darstellungen des Layouts des Eingabebildes (12) enthält, wobei jede alternative Darstellung einer anderen Ausgabe der Ersetzeinheit entspricht.
Vorrichtung nach Anspruch 7, wobei die Umwandlungseinheit (22) des Weiteren so eingerichtet ist, dass sie die hierarchische Datenstruktur (60) so konfiguriert, dass sie eine Vielzahl elektronischer Bilder des Editors für strukturierten Text/Grafik darstellt, wobei jedes der elektronischen Bilder alternative Darstellungen des Eingabebildes bereitstellt. Vorrichtung nach Anspruch 7, wobei die Umwandlungseinheit (22) des Weiteren so eingerichtet ist, dass sie einen Alternativ-Graphen ausbildet. Computerprogrammerzeugnis, das ein computerlesbares Medium umfasst, in dem computerlesbarer Programmcode verkörpert ist, wobei der Programmcode zum Ausführen aller Schritte nach einem der Ansprüche 1 bis 6 eingerichtet ist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com