-
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;
-
3A–3H 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;
-
4A–4C 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;
-
6A–6D 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;
-
8A–8B legen
ein Flussdiagramm für
Bildanalyse zum Erfassen alternativer Interpretationen von Textobjekten
dar;
-
9A–9B 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 12A–12B 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 2A–2B 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 3A–3H 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 42–46 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 3B–3H 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 42–46 in
seiner handschriftlichen Form bewahrt wird. Eine andere Alternative,
die in 3E gezeigt wird, besteht darin,
den handschriftlichen Text 42–46 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 42–46 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 42–46 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 3B–3H 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 4A–4C 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 94–102 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 8A–8B 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 9A–9B 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 12A–12B 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.