-
Die
vorliegende Erfindung betrifft allgemein Such- und Abfragesysteme
für Datenbanken.
Insbesondere betrifft die Erfindung ein Such- und Abfragesystem
für Dokumentanmerkungen,
welches suchbare, von einem Benutzer gezeichnete Anmerkungen unterstützt.
-
Traditionelle
Dokumentenspeicher-Datenbanken vertrauen auf verschiedene Indiziersysteme,
um es dem Benutzer zu ermöglichen,
ein interessierendes Dokument zu speichern und anschließend später ausfindig
zu machen. Herkömmlicherweise
können
Dokumente in der Gestalt eines alphanumerischen Textes direkt unter
Verwendung von Schlüsselwort-Suchtechniken
gesucht werden. Herkömmlicherweise
müssen
bitweise abgebildete Bilder, gescannte Bilder und Grafiken zuerst
durch Hinzufügen
alphanumerischer Zahlen oder Schlüsselwörter indiziert werden, bevor
nach diesen Dokumenten gesucht werden kann und diese Dokumente abgefragt
werden können.
Normalerweise werden diese Indexzahlen und -schlüsselwörter mittels einer Tastatureingabe
als alphanumerischer Text hinzugefügt. Alternativ könnten optische
Zeichenerkennungs-(„optical character
recognition, OCR"-)Techniken
verwendet werden, um bitweise abgebildete Textbilder in eine Form umzuwandeln,
die direkt unter Verwendung von Schlüsselwort-Suchtechniken gesucht
werden kann.
-
Obwohl
die Verwendung von alphanumerischem Text bei Such- und Abfragesystemen
bei vielen Datenbank-Anwendungen zuverlässig arbeitet, gibt es viele
Anwendungen, die für
eine Dokumentindizierung und -anmerkung mittels einer Tastatureingabe
nicht gut geeignet sind. Das unternehmensweite Verwaltungssystem für Dokumente
und Bilder ist ein gutes Beispiel.
-
Heute
besteht ein beachtliches Interesse an Verwaltungssystemen für Dokumente
und Bilder, die durch Vernetzung eines gesamten Unternehmens entwickelt
werden können.
Eine Flexibilität
und Einfachheit der Verwendung stellen wesentliche Überlegungen
dar. Eine Verwendung eines existierenden Büroautomatisierungsgeräts ist ebenfalls,
wo es möglich
ist, höchst
wünschenswert.
Somit könnten
Faxgeräte,
Fotokopierer und Flachbettscanner als Dokumenteneingabevorrichtungen
in einem vernetzten Dokumentenspeicher- und -abfragesystem verwendet
werden. Bspw. könnte
eine elektronische Bildkopie eines Dokuments eingefangen bzw. erfasst
und in einer Dokumentendatenbank gespeichert werden, wenn eine Fotokopie
des Dokuments gemacht wird. Einmal in der Datenbank gespeichert,
kann ein Benutzer, der bspw. über
ein Netzwerk mit der Datenbank verbunden ist, das Dokument am Bildschirm
betrachten und kann eine Hardcopy des Dokuments unter Verwendung
eines angeschlossenen Druckers drucken. Ein solches Dokumentenspeicher-
und -abfragesystem hat die Kapazität, hunderttausende Dokumente
zu erfassen, die später
mit anderen in dem Netzwerk geteilt werden könnten. Obwohl diese neuen Systeme
ein „papierloses" Büro der Zukunft
verspre chen, gibt es dennoch ein beachtliches Moment hinter der
altmodischen Papierkopie.
-
Ehemals
war die altmodische Papierkopie eines Dokuments für viele
nützlicher,
da sie beschrieben werden konnte, um persönliche handgeschriebene Notizen,
Unterstreichungen und andere solche, von einem Benutzer gezeichneten
Anmerkungen hinzuzufügen.
Die Schwierigkeit bei der altmodischen Papierkopie ist, dass diese
von dem Benutzer gezeichneten Anmerkungen keinen aktiven Teil der
Dokumentendatenbank bilden. Obwohl es möglich ist, die Dokumente erneut
zu scannen, wenn Anmerkungen hinzugefügt wurden, vergrößert dies
unnötigerweise
die Größe der Dokumentendatenbank,
und die Anmerkungen selbst bilden keinen Teil des Computer-suchbaren
Indiziersystems.
-
Aus
der EP-A1-0 649 107 ist ein Verfahren zum rechentechnischen Identifizieren
von bedeutenden Verhältnissen
zwischen Datenobjekten in einem graphischen Eingabesystem bekannt.
Gemäß diesem
bekannten Verfahren kann ein Benutzer Schlüsselobjekte in der Gestalt
rechentechnisch erkannter Bildsegmente bezeichnen, denen ein einzigartiges
Kennzeichen („identifyer") zugewiesen ist.
Dieses Kennzeichen ist rechentechnisch von anderen Schlüsselobjekt-Kennzeichen
unterscheidbar. Die Schlüsselobjekte
sind mit anderen Datenobjekten verknüpft, in denen das Schlüsselobjektkennzeichen
diesen anderen Datenobjekten angehängt wird.
-
Aus
der EP-A2-0 686 931 ist ein Verfahren zum Suchen einer nicht erkannten
Handschrift bekannt. Zieldaten, die als Messwertpunkte von räumlichen
Koordinaten über
die Zeit gesammelt sind, werden in einer einzigen Zielgestiksequenz
von Messwert punkten verkettet. Ein Suchen nach und eine Gleichheitsprüfung von Gestik-basierten
Daten wird basierend auf diesen Zieldaten durchgeführt.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein verbessertes Dokumentensuch-
und -abfragesystem zu schaffen, das keine Verdoppelung des Dokuments
erfordert.
-
Gemäß der Erfindung
kann der Benutzer, der einen Digitalisierstift oder ein anderes,
geeignetes Zeichengerät
verwendet, elektronisch Anmerkungen zeichnen, die elektronisch angezeigt
und mit einem ausgewählten
Dokument innerhalb einer Datenbank gespeichert werden. Eine Suchmaschine
kann das mit einer Anmerkung versehene Dokument in Reaktion auf
eine von dem Benutzer gezeichnete Abfrage mittels einer Teilübereinstimmungssuchtechnik
ausfindig machen. Die Teilübereinstimmungssuchtechnik
vergleicht zeitliche und räumliche
Komponenten der von dem Benutzer gezeichneten Anmerkungen, ohne
eine Übersetzung
in alphanumerische Zeichen zu benötigen. Somit arbeitet die Suchmaschine
mit allen Formen von von dem Benutzer gezeichneten Zeichen, Symbolen,
Bildern und dergleichen.
-
Somit
erlaubt es die Erfindung, von dem Benutzer gezeichnete Anmerkungen
auf eine einfache Weise in das gespeicherte Dokument einzufügen oder
sie mit dem gespeicherten Dokument derart zu verknüpfen, dass
die Benutzeranmerkungen als Teil einer Dokumentenabfrage gesucht
werden können.
Die Teilübereinstimmungssuchtechnik
arbeitet auf zwei Niveaus. In dem Bereich eines „Tinte"-Datentyps (zeitliche und räumliche
Komponenten der von dem Benutzer gezeichneten Anmerkung) erlaubt
es eine Unschärfeübereinstimmung
zwischen der Abfragetinte und der Datenbanktinte erstens, von dem
Benutzer gezeichnete Anmerkungen in der Datenbank ausfindig zu machen,
selbst wenn der Benutzer die Anmerkung nicht auf die gleiche präzise Weise
beim Eingeben einer Abfrage zeichnet. Zweitens kann die Teilübereinstimmungs-(Worterkennungs-)Technik
einen Abschnitt einer von einem Benutzer gezeichneten Anmerkung
identifizieren, selbst wenn die gesamte Anmerkung nicht als Abfrage
eingegeben wird. Die bevorzugte Teilübereinstimmungssuchtechnik handhabt
beide Niveaus einer ungefähren Übereinstimmung.
-
Insbesondere
macht der Benutzer auf elektronische Weise eine oder mehrere Anmerkungen
auf dem angezeigten Bild eines gespeicherten Dokuments unter Verwendung
einer Stiftschnittstelle. Diese Anmerkungen werden mit dem gespeicherten
Dokument verknüpft
und können
gesucht werden, um das Dokument später abzurufen. Das System erfasst
von einem Benutzer gezeichnete Anmerkungen als Sequenz oder Kette
von „Tinten"-Strichen, wobei
die präzise
(X, Y)-Position der Stiftspitze über
die Zeit erfasst wird, wenn der Benutzer eine Anmerkung schreibt
oder zeichnet. Somit erfasst der Tintendatentyp nicht nur die räumliche
Position der Tinte, sondern auch die zeitliche Sequenz, über die
die Tinte angewendet wird, wenn der Benutzer die Anmerkung zeichnet.
-
Durch
Vereinfachung der Suche und Abfrage von handgezeichneten Anmerkungen
wird die vorliegende Erfindung bei multilingualen Anwendungen extrem
leistungsstark. Der Benutzer könnte
z. B. einfach handgezeichnete Kanji- (Chinesisch oder Japanisch)
und/oder arabische Anmerkungen eingeben, ohne eine geeignet programmierte
Tastatur zu brauchen. Dies ist ein bedeutender Vorteil gegenüber jedem
System, das allein auf einer Tastatureingabe basiert.
-
Die
elektronischen „Tinten"-Striche werden zusammen
mit bzw. in Zuordnung zu dem Dokumentbild gespeichert, was es der
von einem Benutzer gezeichneten Anmerkung ermöglicht, auf dem Anzeigebildschirm bei
der ursprünglich
gezeichneten Stelle angezeigt zu werden, wenn das Dokument aus der
Datenbank zum Betrachten abgerufen wird. Der Dokumentenbrowser umfasst
für den
Benutzer ein Dokumentenabfragewerkzeug, um Anmerkungs-Suchabfragen
einzugeben. Das Abfragewerkzeug stellt ein Fenster dar, in das der
Benutzer eine Abfrageaufforderung unter Verwendung des Stifts zeichnet.
Der Benutzer kann z. B. das Wort „Important!" in das Abfragefenster
schreiben, und die Suchmaschine wird dann die Dokumentendatenbank
nach allen Erscheinungen durchsuchen, die mit der handgezeichneten
Eingabe „Important!" des Benutzers übereinstimmen.
Die Suchmaschine verlangt keine exakte Übereinstimmung, sondern hat
die Flexibilität,
mehrfache Abwandlungen der handgezeichneten Eingabe zu identifizieren
(unscharfe Gleichheitsprüfung).
Des Weiteren kann die Suchmaschine nach einem Teil der in Frage
stehenden Anmerkung suchen. Somit könnte der Benutzer „Important" schreiben und alle
Erscheinungen der Anmerkung „Important
information" finden.
-
Die
Suchmaschine führt
eine „Tinten"-Strich-Musterübereinstimmung
durch, die eine Übersetzung
des „Tinten"-Strichs in ein alphanumerisches
Zeichen nicht erfordert. Tatsächlich
arbeitet das System mit von einem Benutzer gezeichneten Symbolen
eines beliebigen Designs sehr gut. Somit besteht kein Bedürfnis, auf unzuverlässige Handschrifterkennungsalgorithmen
zu vertrauen. Jedoch können,
falls gewünscht,
Handschrifterken nungsalgorithmen im Hintergrund durchgeführt werden,
um die Suchfähigkeiten
des Systems zu erhöhen.
Eine Verwendung einer Handschrifterkennung, um eine Systemleistung
zu erhöhen,
ist auf Anmerkungen anwendbar, die aus Text bestehen.
-
Dementsprechend
ermöglicht
ein Aspekt der Erfindung ein Dokumentensuch- und -abfragesystem, das
einen Speicher verwendet, der eine erste Datenstruktur zum Speichern
von Dokumentdaten und eine zweite Datenstruktur zum Speichern von
Anmerkungsdaten aufweist. Das System umfasst auch eine Benutzerschnittstelle
mit einem Zeichenwerkzeug für
eine Benutzereingabe von Strichdaten, die einer von einem Benutzer
gezeichneten Anmerkung entsprechen. Die Strichdaten weisen räumliche
und zeitliche Komponenten auf. Die Benutzerschnittstelle steht mit
der zweiten Datenstruktur in Verbindung, um die räumlichen
und zeitlichen Komponenten der Strichdaten zusammen mit einem von
einem Benutzer ausgewählten
Teil der Dokumentdaten zu speichern. Praktisch könnten die Strichdaten, die
einer von einem Benutzer gezeichneten Anmerkung entsprechen, mit
einem Bereich auf einer Seite eines Dokuments verknüpft werden.
-
Das
System umfasst des Weiteren eine Suchmaschine, die mit der Benutzerschnittstelle
in Verbindung steht, um eine von einem Benutzer gezeichnete Suchabfrage
zu empfangen, die Strichdaten aufweist. Die Suchmaschine steht mit
der zweiten Datenstruktur in Verbindung, um Muster hinsichtlich
der räumlichen
und zeitlichen Komponenten der Suchabfrage mit Mustern hinsichtlich
der räumlichen
und zeitlichen Komponenten der von einem Benutzer gezeichneten Anmerkung
auf Gleichheit zu prüfen.
Die Suchmaschine ordnet zumindest einen Teil der Anmerkungen in
der Datenbank basierend auf den Suchergebnissen und präsentiert sie dem
Benutzer in der Gestalt einer oder mehrerer Hypothesen. Vorzugsweise
wird das System die Suchergebnisse an den Benutzer in einer abfallenden „Güte"-Reihenfolge zurückgeben.
-
Die
Suchmaschine greift dann auf die erste Datenstruktur zu, um einen
Teil der Dokumentdaten auszuwählen,
der der von einem Benutzer ausgewählten Übereinstimmungshypothese entspricht.
Auf diese Weise wird die Seite oder der andere Teil der Dokumentdaten,
die mit der von einem Benutzer gezeichneten Anmerkung verknüpft sind,
zur Betrachtung durch den Benutzer abgerufen.
-
Für ein vollständigeres
Verständnis
der Erfindung, ihrer Aufgaben und Vorteile wird auf die nachfolgende
Beschreibung und die beigefügten
Zeichnungen Bezug genommen.
-
1 stellt
ein Blockdiagramm dar, das eine exemplarische Ausführungsform
der Erfindung veranschaulicht.
-
2 veranschaulicht
eine mögliche
Maske eines Dokumentbrowsers, was für ein Verständnis der Anmerkungsfähigkeiten
der Erfindung nützlich
ist.
-
3 stellt
eine detaillierte Ansicht dar, die die Operation einer Editierschieberleiste
für Anmerkungen veranschaulicht.
-
4 veranschaulicht
eine mögliche
Benutzerschnittstellen-Maske zum Eingeben einer Anmerkungsabfrage
unter Verwendung der Erfindung.
-
5 stellt
ein Software-Blockdiagramm des Such- und Abfragesystems der Erfindung
dar.
-
6 stellt
ein Funktionsdiagramm dar, das die grundlegende Editier-Entfernungstechnik
veranschaulicht, die von der bevorzugten Ausführungsform verwendet wird.
-
7 stellt
ein weiteres Funktionsdiagramm dar, das veranschaulicht, wie eine
Teilübereinstimung
mit der Editier-Entfernungstechnik
durchgeführt
werden könnte.
-
8 veranschaulicht
die Weise, wie eine von einem Benutzer eingegebene Abfrage mehrere
Kandidaten auswählen
wird, die basierend auf einer Bewertung sortiert sind.
-
9 stellt
ein Diagramm dar, das die Teilübereinstimmungs-
oder eine Worterkennungs-Funktionalität der Erfindung durch englische,
Kanji- und bildliche Beispiele veranschaulicht.
-
10 veranschaulicht,
dass Linienunterbrechungen keinen Einfluss auf die Tintensuchstrategie
der vorliegenden bevorzugten Ausführungsform haben.
-
11 stellt
ein Flussdiagramm dar, das die Stiftstrich-Klassifizierung unter
Verwendung einer Vektorquantifizierung gemäß der vorliegenden bevorzugten
Ausführungsform
veranschaulicht.
-
Bezug
nehmend auf 1 ist ein Netzwerk-basiertes
Dokumentensuch- und -Abfragesystem allgemein mit 10 veranschau licht.
Das veranschaulichte System stellt lediglich eine mögliche Konfiguration
dar. In 1 ist die Dokumentendatenbank
schematisch bei 12 veranschaulicht. Es versteht sich, dass
die Dokumentdatenbank viele Formen annehmen kann. Die Dokumentdatenbank
könnte
z. B. als Dateiserver 13 implementiert sein, wobei digitale
Dokumente auf einem geeigneten Lese/Schreib-Speichermedium gespeichert werden, wie
z. B. einer Festplatte 15. Der Dateiserver und seine verbundenen
Speichermedien könnten
einen Teil eines Computernetzwerks bilden, das über einen geeigneten Kommunikationsübertragungslink
verbunden ist, wie er allgemein bei 14 veranschaulicht
ist.
-
Das
Netzwerk könnte
auch einen oder mehrere Computerarbeitsplätze umfassen, wie z. B. einen
Arbeitsplatzrechner 16, der einen Monitor 18 aufweist
und auf dem eine Client-Dokumentenbrowser-Anwendung 20 läuft. In 2 ist
die Dokumentenbrowser-Anwendung gezeigt, wie ihre Anzeige auf dem
Monitor 18 erscheinen würde.
Es versteht sich, dass die Browsersoftware-Anwendung tatsächlich auf
dem Arbeitsplatzrechner 16 läuft und dass die Anzeige, die
auf dem Monitor 18 erscheint, durch die laufende Browser-Anwendung erzeugt
wird.
-
Der
Arbeitsplatzrechner 16 ist mit einem Zeichenwerkzeug versehen,
wie z. B. einem Stift 22 und einem Digitalisierungstablett 24.
Der Stift und das Digitalisierungstablett sind durch die Benutzerschnittstelle
der Browser-Anwendung 20 angekoppelt, was es dem Benutzer
ermöglicht,
mit dem Stift auf dem Tablett zu zeichnen und die Ergebnisse als
Anmerkungen auf der Dokumenten-Browser-Anzeigemaske erscheinen zu
sehen.
-
Hinsichtlich
des Zeichenwerkzeugs sind alternative Ausführungsformen möglich, obwohl
hier ein Digitalisierungstablett und ein Stift veranschaulicht sind.
Ein Lichtstift könnte
z. B. verwendet werden, um direkt auf dem Monitorschirm anstatt
mit dem Digitalisierungstablett und dem Stift zu zeichnen. Alternativ
könnte
ein geeignet programmierter Stiftcomputer oder ein persönlicher
digitaler Assistent („personal
digital assistant, PDA"),
wie z. B. der Newton (Marke der Firma Apple Computer) verwendet
werden.
-
Die
Browser-Anwendung 20, die auf dem Arbeitsplatzrechner 16 läuft, kommuniziert über das
Netzwerk 14, um in der Datenbank 12 gespeicherte
Dokumente abzurufen und anzuzeigen. Wie beschrieben werden wird,
könnte
der Benutzer unter Verwendung der Zeichenwerkzeuge mit diesen Dokumenten
interagieren, die bei dem Arbeitsplatzrechner vorgesehen sind.
-
Es
gibt mehrere Wege, Dokumente in die Dokumentendatenbank einzugeben.
Verschiedene Optionen sind in 1 veranschaulicht.
Digitalisierte Bilder von Dokumenten können aus einer Anzahl von Quellen
eingegeben werden, einschließlich
einem Faxgerät 26,
einem Fotokopierer 28 und einem Scanner 30. In 1 wird
eine Hardcopy-Seite 32 durch einen Scanner 30 eingegeben
und ihr digitales Bild erscheint in dem Anzeigefenster des Dokumenten-Browsers 20.
-
Die
gescannten Bilder der Eingabevorrichtungen, wie z. B. dem Faxgerät 26,
dem Fotokopierer 28 und dem Scanner 30, könnten als
bitweise abgebildete Bilder in einer Vielzahl von kommerziell erhältlichen
Formaten gespeichert werden. Die Bilddaten könnten komprimiert werden, falls
gewünscht.
Alternativ könnten
die Bilddaten zu Vektorgrafikdaten umgewandelt werden und in dieser
Form gespeichert werden.
-
Zusätzlich zu
den gescannten Dokumentbildern kann die Dokumentendatenbank auch
Dokumente speichern, die durch Software-Anwendungen erzeugt sind, wie z. B.
Textprozessoren, Multimedia-Autorenanwendungen,
grafische Abbildungsanwendungen, computergestützte Entwurfanwendungen, Tabellenkalkulationsanwendungen,
Online-Anwendungen und netzwerkbasierte Anwendungen (wie z. B. jene,
die Dokumente für
das World Wide Web in HTML oder dergleichen erzeugen). Diese Anwendungen
könnten
auf einem oder mehreren Arbeitsplatzrechnern laufen, die mit dem
Netzwerk 14 verbunden sind. Die Dokumentendatenbank könnte über eine
Anzahl von Maschinen oder über
ein lokales Netz oder ein Weitverkehrsnetz verteilt sein. Es ist
nicht erforderlich, dass alle Vorrichtungen während der gesamten Zeit mit
dem Netzwerk verbunden sind. Dokumentdaten könnten der Datenbank in Echtzeit
oder im Stapelbetrieb mittels einer direkten Verbindung mit dem
Netzwerk oder über
eine geeignete Telekommunikationsverbindung hinzugefügt werden.
-
Bei
einer typischen Büroeinstellung
könnte
der Digitalausgang eines geeignet ausgerüsteten Fotokopierers mit dem
Datenverarbeitungsnetzwerk zusammen mit einer geeigneten Anzahl
von Arbeitsplatzrechnern, Faxgeräten
und Scannern verbunden sein, die überall in dem Arbeitsraum verteilt
sind. Die Dokumentendatenbank könnte
in einem Dateiserver ansässig
sein, der optional für
andere Zwecke verwendet werden könnte,
wie z. B. zum Unterstützen
anderer Büroautomatisierungsfunktionen.
Hardcopys von Dokumenten könnten
unter Verwendung eines beliebigen Netzwerkdruckers oder eines Arbeitsplatzdruckers
gedruckt werden.
-
Zum
besseren Verständnis
der Fähigkeiten
der Erfindung wird Bezug auf 2 genommen,
die die Browser-Anwendung 20 detaillierter zeigt. In dieser
Hinsicht repräsentieren
die besondere Konfiguration und das Layout der verschiedenen Fenster
und Benutzersteuerungen eine von vielen möglichen Konfigurationen.
-
In 2 wird
das Bild eines ausgewählten
Dokuments in einem Anzeigefenster 25 angezeigt. Zu Veranschaulichungszwecken
wird hier ein Bild eines Dokuments 32 angezeigt. In dem
oberen rechten Segment des Bildschirms 36 gibt es eine
Reine von kleinen Skizzen („thumbnail
sketches") verschiedener
Dokumentseiten, die von der Suchmaschine ausfindig gemacht wurden,
um durch den Benutzer ausgewählt
zu werden. Die kleine Skizze des aktuell ausgewählten Dokumentbilds wird hell
hervorgehoben, wie mit einem hellen Hervorhebungskasten 38.
Um ein anderes Bild zur Betrachtung auszuwählen, wählt der Benutzer einfach eine
andere kleine Skizze mit dem Zeigercursor oder einem Anmerkungsstiftcursor
aus. In dieser Hinsicht könnte
der Cursor 40 durch Bewegen der Maus oder durch Positionieren
des Stifts bei einer vorausgewählten
Stelle auf dem Tablett gesteuert werden. Die kleinen Skizzen werden
an eine Scrollleiste 42 angebunden, die der Benutzer manipulieren
kann, um durch verschiedene kleine Skizzen in dem Anzeigebereich
für kleine
Skizzen 36 zu scrollen und diese anzuzeigen.
-
Mehrere
von einem Benutzer auswählbare
Drucktastensteuerungen werden in dem unteren rechten Teil der Anzeige
vorgesehen. Diese umfassen eine Cursortaste 44 und eine
Stifttaste 46, die alternativ auswählbar sind. Wenn die Cursortaste
ausgewählt
wird, wie hier veranschaulicht, wird der normale Zeigercursor 40 angezeigt.
Wenn die Stifttaste 46 ausgewählt wird, wird der Anmerkungsstiftcursor
anstatt dem Zeigercursor angezeigt. Der Anmerkungsstiftcursor (der
später
veranschaulicht und ausführlicher
beschrieben werden wird) identifiziert den Ort, bei dem von einem
Benutzer gezeichnete Anmerkungen auf dem digitalen Bild des Dokuments
platziert werden.
-
Zusätzlich zu
diesen zwei Tasten sieht die vorliegende bevorzugte Ausführungsform
auch eine Notizlöschtaste 50 zum
Löschen
einer Anmerkung, eine Notizwiederherstellungstaste 52 zum
Wiederherstellen einer gelöschten
Anmerkung und eine Notizverstecktaste 54 zum Verstecken
aller Anmerkungen, ohne sie zu löschen,
vor. Die Tasten sind modal; ihre Funktionen ändern sich abhängig davon,
ob eine Anmerkung ausgewählt
wurde oder nicht. Falls ein Dokument (nicht eine Anmerkung) ausgewählt wird,
dann werden die Lösch- und
Wiederherstellungsoperationen an dem Dokument durchgeführt (die
entsprechenden Bezeichnungen auf den Tasten werden geändert, um
dies anzuzeigen). Falls eine Anmerkung ausgewählt wird, funktionieren die Tasten
anschließend,
wie oben beschrieben, um die ausgewählte Anmerkung zu löschen und
wieder herzustellen. Die Notizverstecktaste 54 ist ebenfalls
modal. Sie ändert
sich zu „Notizen
zeigen", wann immer
die Notizen versteckt werden.
-
In 2 wurden
mehrere separate Anmerkungen veranschaulicht. Insbesondere erscheint
eine erste Anmerkung bei 60, eine zweite Anmerkung bei 62 und
eine dritte Anmerkung bei 64. Man beachte, dass die dritte
Anmerkung eine Reihe nichttextualer Symbole oder Bilder darstellt.
-
Bei
der vorliegenden bevorzugten Ausführungsform zeigt die Browser-Anwendung
von einem Benutzer gezeichnete Anmerkungen in einer anderen Farbe
an, wie z. B. in roter Tinte, was die Anmerkungen einfach aus dem
Rest des angezeigten Dokuments hervorstehen lässt.
-
Ein
Hinzufügen
von Anmerkungen zu einem Dokument ist einfach. Bezug nehmend auf 3 aktiviert der
Benutzer einfach die Stifttaste 46, um den Stiftcursor 48 anzuzeigen.
Dann positioniert der Benutzer den Stiftcursor einfach unter Verwendung
des Stifts 22 und des Digitalisierungstabletts 24 (oder
eines anderen bereitgestellten, geeigneten Zeichenwerkzeugs) über der
Fläche,
welches er oder sie mit Anmerkungen versehen will, und beginnt dann
zu schreiben oder zu zeichnen. Beliebige Fehler während der
Schaffung der Anmerkung könnten
unter Verwendung der Tinteneditier-Schieberleiste 66 korrigiert
werden.
-
Wie
es nachfolgend ausführlicher
erklärt
werden wird, werden Anmerkungen als sequenzielle Raum/Zeit-Daten
gespeichert. Jeder Strich des Stifts des Benutzers wird auf eine
zu einem Digitalfilm analoge Weise aufgezeichnet. Die Tinteneditier-Schieberleiste löscht die
Stiftstrichdaten, wobei in der Zeit rückwärts von dem Ende des endgültigen Strichs
in Richtung des Anfangs des ersten Strichs fortgeschritten wird.
Beliebige Striche, die unter Verwendung der Schieberleiste gelöscht sind,
könnten
durch Schieben der Schieberleiste in entgegengesetzter Richtung
wieder hergestellt werden. Eine permanente Löschung wird lediglich wirksam,
wenn eine neue Anmerkung begonnen wird.
-
3 veranschaulicht
die Operation der Tinteneditier-Schieberleiste.
In 3 ist bei A eine nichttextuale Benut zeranmerkung
in ihrer Gesamtheit veranschaulicht. Bei B werden die letzten gezeichneten „Tinten"-Striche aus der
Anmerkung durch Aktivieren der Tintenschieberleistentaste mit dem
Zeigercursor 40 gelöscht.
Man beachte, dass sich der Schieberleisten-Positionsanzeiger 66a nach
links bewegt hat, da die linke Schieberleistentaste betätigt wird.
Man beachte, dass dies das „Gesicht" aus der ovalen Anmerkung
gelöscht hat.
Wie weiter bei C angegeben, löscht
eine fortgesetzte Aktivierung der linken Schieberleistentaste durch den
Zeigercursor 40 noch mehr von der von einem Benutzer gezeichneten
Anmerkung, und zwar in umgekehrter Reihenfolge verglichen mit der
Art und Weise, wie sie gezeichnet wurde. Wiederum ist zu beachten,
dass sich der Positionsanzeiger 66a noch weiter nach links
bewegt hat. Wie bei D veranschaulicht, kann die Löschung durch
Aktivieren der rechten Schieberleistentaste durch den Zeigercursor 40 umgekehrt
werden. In diesem Fall bewegt sich der Schieberleistenanzeiger 66a nach
rechts und ein Teil der von dem Benutzer gezeichneten Anmerkung
wird wieder hergestellt. Die Schieberleiste ist somit betrieblich,
um die von einem Benutzer gezeichnete Anmerkung vollständig zu
löschen
und vollständig
wieder herzustellen, indem einfach die linke oder rechte Schieberleistentaste
betätigt
wird.
-
Die
Tinteneditier-Schieberleiste ermöglicht
es dem Benutzer, den Stift aufzuheben und mehr zu schreiben, nachdem
etwas der Tinte unter Verwendung des Schiebers gelöscht wurde.
-
Die
Tinteneditier-Schiebeleiste kann auf alternative Weisen implementiert
sein. Sie könnte
als Strich-basierte Prozedur implementiert sein, wobei in diesem
Fall Stiftstriche auf einmal gelöscht
und wieder hergestellt werden. Alternativ könnte die Tinteneditier-Schieberleiste
als Punkt-basierte Prozedur implementiert sein, wobei in diesem
Fall Löschungs-
und Wiederherstellungsoperationen auf einer Punkt-um-Punkt- oder
Pixel-um-Pixel-Basis
durchgeführt
werden. Die Anmeldung würde
im Wesentlichen auf die gleiche Weise arbeiten, soweit der Benutzer
betroffen ist, obwohl die Punkt-basierte Prozedur eine feinkörnigere
Steuerung über
eine Anmerkungseditierung ermöglichen
würde.
-
Die
vorliegende bevorzugte Ausführungsform
zeigt die von einem Benutzer gezeichneten Anmerkungen direkt auf
der Fläche
des Dokuments an. Falls gewünscht,
kann die Benutzeranmerkung derart angezeigt werden, als ob sie auf
einer undurchsichtigen Klebenotiz gezeichnet ist, um die Erscheinung
einer Notiz zu simulieren, die auf die Fläche des Dokuments geklebt ist.
In diesem Fall wird eine rechtwinklige Fläche um die von einem Benutzer
gezeichnete Anmerkung definiert und die rechtwinklige Fläche wird
mit einer von einem Benutzer ausgewählten Hintergrundsfarbe ausgefüllt, die
den Teil der Dokumentenseite hinter der rechtwinkligen Fläche undurchsichtig
bedeckt.
-
Einer
der Vorteile der bevorzugten Ausführungsform ist die Fähigkeit,
mehrere Anmerkungen auf einer einzelnen Seite aufzuzeichnen. Das
System behandelt diese Stiftstriche automatisch als separate Anmerkungen,
die (a) sich bei räumlichen
Orten befinden, die um mehr als eine vorbestimmte Entfernung getrennt
sind; die (b) zu verschiedenen Zeiten gezeichnet sind, (d. h. mit
einem zeitlichen Abstand oberhalb eines vorbestimmten Zeitlimits);
oder (c), wenn es eine Benutzerschnittstellen-Aktivität zwischen zwei Anmerkungen
gibt (wie z. B. eine Betätigung
von einer der Benutzerschnittstellen-Tasten).
-
Alle
von einem Benutzer gezeichneten Anmerkungen, die auf diese Weise
eingegeben sind, werden zusammen mit einer gegebenen Dokumentenseite
gespeichert. Unter Verwendung des Druckers des Arbeitsplatzrechners
oder eines Druckers, der an das Netzwerk angeschlossen ist, kann
die Dokumentenseite entweder mit den oder ohne die Anmerkungen durch
einfaches Auswählen
oder Abwählen
der Notizverstecktaste gedruckt werden.
-
Die
wahre Leistung der Erfindung wird vollständig durch die Anmerkungssuchfähigkeit
realisiert. Durch Drücken
der Anmerkungssuchtaste 67 wird ein Abfragedialogkasten 68 präsentiert,
wie in 4 veranschaulicht. Um nach einem Dokument zu suchen,
das eine beliebige, von einem Benutzer gezeichnete Anmerkung beinhaltet,
zeichnet der Benutzer einfach alle, oder nur einen Teil, der gewünschten
Anmerkung in den Abfragedialogkasten und schaltet dann die Suchmaschine
durch Betätigen
der Auffindtaste 70 ein. Der Abfragekasten umfasst auch
die Tinteneditier-Schieberleiste, die wie zuvor beschrieben funktioniert,
und auch eine Verwerftaste 72, die verwendet wird, um eine
Abfragesuchanforderung rückgängig zu
machen und zum Hauptansichtsfenster zurückzukehren. Da das System ereignisgesteuert
ist, kann der Abfragekasten so gemacht werden, dass es durch einfaches
Auswählen
eines anderen Fensters auf dem Anzeigeschirm verschwindet.
-
Eine
Betätigung
der Auffindtaste veranlasst die Suchmaschine, die gespeicherten
Anmerkungen nach diesen Anmerkungen zu durchsuchen, die eine mögliche Übereinstimmung
mit der Abfrage repräsentieren. Eine
Teilübereinstimmungs-Suchprozedur
wird verwendet, die Anmerkungsdaten ordnet, je nach dem, wie nahe
oder schlecht jede Anmerkungsübereinstimmung
der Abfrage ist. Die n besten Übereinstimmungen
werden in einer „Güte"-Reihenfolge in den kleinen Skizzen der
Hauptbrowser-Maske dargestellt. Zusätzlich wird auch die „beste" Übereinstimmung in dem Hauptanzeigefenster
angezeigt, wie in 4 veranschaulicht. Bei der vorliegenden
bevorzugten Ausführungsform
werden alle Dokumente, die Anmerkungen beinhalten, geordnet und
in der geeigneten Reihenfolge angezeigt. Somit würden die n besten Übereinstimmungen
alle Übereinstimmungen
repräsentieren.
-
Da
eine vorgegebene Seite mehrere Anmerkungen beinhalten könnte, hebt
die bevorzugte Ausführungsform
die spezifische Anmerkung hell hervor, die der in Frage stehenden Übereinstimmung
entspricht. Die vorliegende bevorzugte Ausführungsform hebt die spezifische
Anmerkung durch Zeichnen eines Grenzkastens 39 um diese
herum hell hervor. Natürlich
könnten
andere Formen einer hellen Bildhervorhebung ebenfalls verwendet
werden, wie z. B. ein Ändern
der Farbe oder der Intensität
der Anmerkung, ein Blinken der Anmerkung usw.
-
Durch
wiederholtes Betätigen
der Auffindtaste 70 kann der Benutzer die geordnete Liste
durchlaufen, wobei die zugeordneten Dokumente in dem Hauptbrowser-Fenster
angezeigt werden. Um dem Benutzerschnittstellenaufruf dieser Funktionalität zu unterstützen, ändert sich
das Zeichen der Auffindtaste 70 zu „Nächste" bei einem Anzeigen der geordneten Liste,
die einer bestimmten Abfrage entspricht.
-
Dank
der Teilübereinstimmungs-(Worterkennungs-)Prozedur
kann die Suchmaschine nach Subketten innerhalb vollständiger Anmerkungen
suchen. Dies ist in 4 veranschaulicht. In 4 wird
eine Subkettenübereinstimmung
durchgeführt,
um das Wort „Important" innerhalb der ganzen
Kette „This
is very important!" ausfindig
zu machen. Dies ist ein wichtiges Merkmal, da es dem Benutzer ermöglicht wird,
eine relevante Anmerkung zu finden, selbst wenn er oder sie sich
nicht an den präzisen
Wortlaut der vollständigen
Anmerkung erinnern kann. Obwohl sich hier auf die Teilübereinstimmungsprozedur
als Worterkennungsprozedur bezogen wird, ist die Prozedur nicht
auf Text beschränkt.
Die Teilübereinstimmungsprozedur
oder Worterkennungsprozedur arbeitet gleich gut mit nicht-textualen,
von einem Benutzer gezeichneten Anmerkungen.
-
Wie
es ausführlicher
nachfolgend erläutert
werden wird, stellt die Teilübereinstimmungsprozedur
eine unscharfe Suchprozedur dar, die mögliche Subketten-Übereinstimmungskandidaten
basierend auf einer Bewertung und einer Einordnungsentfernung zwischen
der Abfrage und dem Kandidaten identifiziert und einordnet. Die
Prozedur erzeugt eine Bewertung für jeden Kandidaten, was es
den Kandidaten ermöglicht,
in einer „Güte"-Reihenfolge geordnet zu werden. Dies
ist in 8 veranschaulicht, wobei die Abfrage nach allen
Erscheinungen der von einem Benutzer gezeichneten Abfrage „important" sucht. In 8 erscheint
der Kandidat, der die höchste
Bewertung empfängt
(in diesem Fall eine Bewertung von 26) an der Spitze der
sortierten Liste. Das erste Klicken der Auffindtaste wird die beste Übereinstimmung
zurückgeben,
die am höchsten
bei der Tintensuche eingeordnet ist. Wiederholte Benutzung der Auffindtaste
wird ein Auffinden der nächstbesten Übereinstimmung
fortsetzen, wobei die sortierte Liste von der Spitze zum Boden abgearbeitet
wird.
-
9 zeigt
die Worterkennungsfähigkeit
der Subketten-Übereinstimmungsprozedur.
In 9 sind mehrere Beispielabfragen und entsprechende
Anmerkungen gezeigt. Auf jeden Fall kann die Übereinstimmungsprozedur eine Übereinstimmungssubkette
innerhalb der vollständigen
Anmerkung identifizieren.
-
Ein
weiterer Nutzen der Teilübereinstimmungs-Prozedur
ist, dass Linienunterbrechungen in den von einem Benutzer gezeichneten
Anmerkungen oder in einer Abfrage keinen Einfluss auf die Tintensuche
haben. Dies ist in 10 veranschaulicht, in der die
von einem Benutzer gezeichnete Anmerkung in Form von zwei Linien
erscheint, wohingegen die Abfrage als eine Linie eingegeben ist.
Die Linienunterbrechung beim Schreiben der Anmerkung wird derart
ignoriert, dass der Benutzer sich nicht erinnern muss, wo die Linienunterbrechungen
in der ursprünglichen
Anmerkung aufgetreten sein könnten.
-
Die
unscharfe Suchtechnik der bevorzugten Ausführungsform verwendet eine vektorquantifizierte (VQ-)Repräsentation
der von einem Benutzer gezeichneten Anmerkungen, um Stiftstriche
des Tintendatentyps zu erfassen und zu vergleichen. 11 gibt
einen Überblick über die
Weise, wie eine Stiftstrichklassifizierung unter Verwendung einer
Vektorquantifizierung durchgeführt
wird. Der Tintendatentyp zeichnet die Bewegung der Stiftspitze über die
Oberfläche
des Digitalisierungstabletts als Kette von (X, Y)-Tintenpunkten
auf. Die individuellen (X, Y)-Tintenpunkte werden sequenziell erfasst,
wodurch die zeitliche oder zeitbasierte Komponente der Daten bewahrt
wird. Somit könnte
der Tintendatentyp als (X, Y, T)-Vektoren aufweisend angesehen werden.
-
Wie
in 11 veranschaulicht, werden die eingehenden Tintendaten 200 wie
bei 202 zu Strichen getrennt. Ein Segmentieren der Tintendaten
zu Strichen ermöglicht
es jedem Strich, getrennt analysiert zu werden. Im Wege einer Veranschaulichung
zeigt 11, dass das Pluszeichen (+)
in den eingehenden Daten 200 von dem Benutzer zuerst durch
Bilden einer horizontalen Linie und anschließend durch Bilden einer vertikalen Linie
gezeichnet wurde. Dies ist bei 202 veranschaulicht, indem
die segmentierten Daten bei 202 von links nach rechts gelesen
werden.
-
Nach
einer Strichsegmentierung werden die individuellen Striche anschließend analysiert,
um Kennzeichenvektoren zu extrahieren. Dies ist schematisch bei 204 gezeigt.
In 11 werden die extrahierten Kennzeichenvektoren
grafisch gezeigt, um die Darstellung zu vereinfachen. Bei der tatsächlichen
Ausführungsform werden
die extrahierten Kennzeichenvektoren als numerische Daten repräsentiert,
die in dem Computer gespeichert sind. Wie bei 206 angegeben,
wird jeder extrahierte Kennzeichenvektor gemäß einem vorbestimmten Codebuch 210 klassifiziert.
Die vorliegende bevorzugte Ausführungsform
speichert 64 Cluster von Strichtypen, wobei jedes Cluster
durch seinen Schwerpunkt oder einen gemittelten Strich diesen Typs
repräsentiert wird.
Wie in dem Fall der extrahierten Kennzeichenvektoren (Block 204)
werden die Kennzeichenvektor-Cluster als numerische Computerdaten
gespeichert. In 11 sind die Daten, die ein Codebuch 210 aufweisen, grafisch
(anstatt numerisch) gezeigt, um die Darstellung zu vereinfachen.
In 11 sei erwähnt,
dass das horizontale Liniensegment des Blocks 206 am nächsten mit
dem Schwerpunkt 212 des Typ-2-Strichclusters 214 übereinstimmt.
Somit wird in der Ausgangskette (Block 216) der VQ-Code
2 verwendet, um die horizontale Linie in Block 206 zu repräsentieren.
In einem Block 216 entspricht die am weitesten links angeordnete
Ziffer 2 dem am weitesten links angeordneten Linienstrich. Die restlichen
Codes repräsentieren
die restlichen Tintenstriche, die die ursprünglich eingehenden Tintendaten
aufweisen.
-
Durch
die oben beschriebene Prozedur werden die eingehenden Tintendaten
Stiftstrich um Stiftstrich zu einem Kennzeichenvektor gewandelt,
der dann in der Computerdatenbank als die von einem Benutzer gezeichnete
Anmerkung gespeichert wird. Dies ist bei 218 dargestellt.
-
Zur
weiteren Veranschaulichung ist in 5 ein Software-Blockdiagramm der
vorliegenden bevorzugten Ausführungsform
gezeigt. Das Anmerkungssystem arbeitet mit digitalisierten Striftstrichdaten,
die ultimativ als ein „Tinten"datentyp repräsentiert
werden. Wie veranschaulicht werden wird, ist es nicht nötig, den
Tintendatentyp in einen ASCII-Zeichendatentyp umzuwandeln, um die
Such- und Abfrageprozeduren durchzuführen. Tatsächlich hätte im Fall von grafischen
(nicht-textualen) Anmerkungen eine Umwandlung zu ASCII keine Bedeutung.
-
Wie
in 5 veranschaulicht, wird die von einem Benutzer
gezeichnete Abfrage 100 als Kette von (X, Y)-Tintenpunkten
entsprechend der Bewegung der Stiftspitze über die Oberfläche des
Digitalisierungstabletts oder -pads erfassst, wenn der Benutzer
eine Abfrage 100 zeichnet. Die vorliegende bevorzugte Ausführungsform
digitalisiert diese Information durch Abtasten des Ausgangs des
Digitalisierungspads mit einer vorbestimmten Abtastrate. Obwohl
hier eine feste Abtastrate bevorzugt wird, kann die Erfindung unter
Verwendung einer variablen Abtastrate genau so gut implementiert
werden. Vermöge
der digitalisierten Erfassung der X, Y-Positionsdaten werden sowohl
räumliche
als auch zeitliche Komponenten der von einem Benutzer gezeichneten
Stiftstriche erfasst.
-
Bei
der vorliegenden bevorzugten Ausführungsform, die eine feste
Abtastrate anwendet, wird jeder X, Y-Datenpunkt mit einer anderen
Abtastzeit verknüpft.
Da die Abtastrate fest ist, ist es nicht notwendig, die Abtastzeit
zu speichern, um die mit dem Stiftstrich verbundenen, zeitlichen
Daten zu speichern. Ein einfaches Aufzeichnen der X, Y-Positionsdaten
als Sequenz speichert automatisch die zeitlichen Daten, da man von
jedem Punkt in der Sequenz weiß,
dass er bei der nächstnachfolgenden
Abtastzeit auftritt.
-
Bei
der Alternative, falls ein variables Abtastratensystem implementiert
ist, werden (X, Y, T)-Daten erfasst und gespeichert. Diese Daten
stellen die (X, Y)-Tintenpunkte und die entsprechende Zeit T dar,
bei der jeder Tintenpunkt erfasst ist.
-
Die
Rohtintenpunktdaten werden in einem Datenspeicher 102 gespeichert.
Als nächstes
wird ein Segmentierungsvorgang 104 an den gespeicherten
Tintenpunktdaten 102 durchgeführt. Der vorliegende bevorzugte
Segmentierungsvorgang durchsucht die Tintenpunktdaten 102 nach
Y-Minima. Dies bedeutet, der Segmentierungsvorgang 104 erfasst
solche lokalen Punkte, bei denen die Y-Wert-Koordinate sich bei
einem lokalen Minimum befindet. Beim Handzeichnen des Buchstaben „V" als einzelner kontinuierlicher
Strich würde
der niedrigste Punkt des Buchstabens „V" einen Y-Minima-Wert repräsentieren.
-
Eine
Segmentierung wird durchgeführt,
um die Rohtintenpunktdaten in besser verwaltbare Teilmengen zu unterteilen.
Diese Segmentteilmengen könnten
unter Verwendung geeigneter Zeiger bezeichnet werden, um die Speicherstellen
anzugeben, bei denen die Y-Minima auftreten. In diesem Fall könnten diese
Segmentierungszeiger bei 106 gespeichert werden, um mit
den Tintenpunktdaten 102 verknüpft zu werden, die zuvor erfasst
sind. Bei der Alternative könnten,
falls gewünscht,
die segmentierten Daten separat in einem oder mehreren Speicherpuffern,
anstatt unter Verwendung von Zeigern, gespeichert werden.
-
Sobald
die Rohdaten segmentiert wurden, werden die individuellen Segmente
oder Stiftstriche weiterbearbeitet von einem Satz von Extrahierungsfunktionen 108.
Die vorliegende bevorzugte Ausführungsform
bearbeitet die Stiftstrich-(Segment-)Daten unter Verwendung von
13 verschiedenen Extrahierungsfunktionen, und diese Extrahierungsfunktionen
extrahieren jeweils ein anderes Merkmal der Stiftstrichdaten, das
dann verwendet wird, um einen Kennzeichenvektor zu konstruieren.
Eine Tabelle I listet die vorliegenden bevorzugten Merkmale, die
durch die Extrahierungsfunktion 108 extrahiert werden.
Zur weiteren Hintergrundsinformation zu diesen Extrahierungsfunktionen
siehe Rubine, Dean „Specifying
Gestures by Example" Computer
Graphics, vol. 25, Nr. 4, Juli 1991. Die Kennzeichen-Vektoren eines
gegebenen Strichs sind schematisch in 5 bei 110 repräsentiert.
-
-
Es
gilt Δx
P = x
P+1 – x
P und Δy
P = Y
P+1 – Y
P und Δt
P = t
P+1 – t
P wobei P die Gesamtanzahl
der Punkte repräsentiert.
-
Die
extrahierten Kennzeichenvektoren, die bei 110 repräsentiert
sind, werden dann kodiert oder quantisiert durch Vergleich mit einem
vorgegebenen Satz aus Clustern von Strichdatentypen. Die Kennzeichenvektordaten 110 werden
durch einen Vektorquantisierungsvorgang 112 quantisiert,
um jedem Cluster den nächsten
vorbestimmten Strichtyp zuzuweisen. In dieser Hinsicht definiert
die vorliegende bevorzugte Ausführungsform 64 verschiedene
Strichtypen, die jeweils durch einen anderen Namen oder eine andere
Zahl repräsentiert werden.
Obwohl das vorliegende bevorzugte System 64 verschiedene
Strichtypen verwendet, können
die Grundsätze
der Erfindung mit einer größeren oder
geringeren Anzahl von Strichtypen angewandt werden.
-
Die
vorbestimmten Strichtypen werden während einer Trainingsprozedur 113 erhalten.
Die Trainingsprozedur könnte
verwendet werden, um einen Vektorquantisierungs-(Vg-)Codebuch 114 vorzubestimmen,
das dann für
mehrere Benutzer verwendet wird. Alternativ kann die Trainingsprozedur
vor einer Verwendung durch einen individuellen Benutzer verwendet
werden. Beide Anwendungen arbeiten gut. In beiden Fällen ist
das System dennoch benutzerabhängig,
da es eine große
Variationsmenge bei der Art geben kann, wie zwei verschiedene Personen
die gleiche Anmerkung zeichnen. Somit ist die bevorzugte Ausführungsform
bestens geeignet, eigene Anmerkungen von jemand zu suchen.
-
Falls
die Dokumentendatenbank von mehreren Benutzern gemeinsam benutzt
wird, ist es für
jeden Benutzer möglich,
seinen oder ihren eigenen persönlichen
Anmerkungssatz zu haben, der durchsucht werden kann und der nichtsdestotrotz „unsichtbar" für alle anderen
ist. Alternativ könnten
die Anmerkungen auch gemeinsam genutzt werden. Wie oben erwähnt, sind
geteilte An merkungen schwieriger auf Grund der potenziellen Abwandlungen
in Bezug auf die Art zu implementieren, wie verschiedene Personen
die gleiche Anmerkung zeichnen.
-
Ein
Training bringt ein Verarbeiten eines kleinen Teils von Trainingsdaten
mit sich, die der Benutzer von Hand unter Verwendung des Digitalisierungstabletts
und des Stifts eingibt. Die Trainingsdaten werden durch Segmentierung
und Kennzeichenextrahierung verarbeitet, wie oben erwähnt. Die
resultierenden Kennzeichenvektoren der Trainingsdaten werden dann
unter Verwendung von herkömmlichen
Cluster-Techniken verarbeitet, die die 64 ungleichartigsten
Cluster identifizieren, um die 64 Strichtypen für diese
Trainingssequenz zu repräsentieren.
Numerische Werte oder andere geeignete Benennungskonventionen werden
verwendet, um jeden der identifizierten Strichtypen in dem Trainingssatz
zu benennen. Diese Daten werden dann als Codebuch der benutzerabhängigen Strichtypen 114 gespeichert.
Diese gespeicherten Trainingsdatenwerte werden beim Durchführen des
Vektorquantifizierungsvorgangs 112 verwendet.
-
Im
Wesentlichen könnten
die Strichdaten für
eine vorgegebene, von einem Benutzer gezeichnete Anmerkung als Kette
aus Symbolen angesehen werden. Als ursprüngliche Eingabe in der Form
von rohen (X, Y, T)-Daten entspricht die Kette aus Symbolen tatsächlichen
räumlichen
und zeitlichen Komponenten des Stiftstrichs über das Digitalisierungstablett.
Durch die Reihe oben beschriebener Verarbeitungsschritten wird diese Symbolkette
zu einer Symbolkette des Strichdatentyps umgewandelt, d. h. eine
Kette aus vektorquantifizierten Symbolen wird bei 115 gespeichert.
-
Man
erkennt, dass in den meisten Fällen
der Benutzer die gleiche Anmerkung nicht auf die gleiche, präzise Weise
jedes Mal und zu jeder Zeit zeichnen wird. Dies bedeutet, dass die
(X, Y, T)-Koordinaten und zeitlichen Eigenschaften einer vorgegebenen
Anmerkung etwas variieren könnten,
und zwar jedes Mal, wenn der Benutzer diese Anmerkung zeichnet.
Das vorliegende bevorzugte System passt sich dieser Variation zuerst
auf die Weise an, auf die die Vektorquantisierung durchgeführt wird.
Insbesondere weist der Vektorquantifizierungsvorgang 112 jedem
Eingangsstrich den vorbestimmten Vektor aus den benutzerabhängigen Strichtypen 114 zu,
der die nächste Übereinstimmung
repräsentiert.
-
Nachdem
jeder der die Abfrage repräsentierenden
Striche auf diese Weise verarbeitet wurde, wird ein Vergleich zwischen
diesen Strichen und den von einem Benutzer gezeichneten Anmerkungen
gezogen, die zusammen mit den Dokumenten in der Datenbank 120 gespeichert
wurden. Somit könnte
z. B. die Abfrage „important" mit der gespeicherten
Anmerkung „This
is very important!" verglichen
werden. Eine Editier-Entfernungsanalyse wird durchgeführt, um
diesen Vergleich zu bilden.
-
Als
Editier-Entfernungsanalysevorgang 118 gezeigt, wird die
Abfrage-Strichtypkette mit jeder der gespeicherten Anmerkungsstrichtypketten 121 der
Datenbank 120 verglichen. Die Editier-Entfernungsanalyse vergleicht
jeden Strichtypwert in der Abfragekette mit jedem Strichtypwert
in jeder Anmerkungskette der Anmerkungsketten. Eine Editier-Entfernungsberechnung
wird durch diesen Vergleich durchgeführt, was die „Kosten" eines Transformierens
(oder Editierens) einer Kette in eine andere ausgibt. Die individuellen
Kette/Kette-Vergleiche werden dann gemäß den Kosten geordnet, wobei
die Ergebnisse mit den geringsten Kosten zuerst präsentiert
werden. Auf diese Weise wird eine sortierte Liste, die alle oder
die n besten Übereinstimmungen
aufweist, in den kleinen Skizzen der Hauptbrowser-Maske angezeigt.
-
6 zeigt
die grundlegende Editier-Entfernungstechnik. In diesem Fall wird
die gespeicherte Anmerkung „compress" mit der Abfragekette „compass" verglichen. Es ist
verständlich,
dass 6 den Vergleich der zwei Ketten als einen Vergleich
individueller Buchstaben in zwei unterschiedlich geschriebenen Wörtern darstellt.
Diese Darstellung ist primär
dazu gedacht, das Verständnis
der Editier-Entfernungsberechnungstechnik zu unterstützen, und
nicht notwendigerweise als Veranschaulichung dessen gedacht, wie
zwei Strichtypketten tatsächlich
aussehen könnten.
In dieser Hinsicht könnte
jeder der 64 unterschiedlichen Strichtypen auf beliebige
Weise unterschiedlichen numerischen Kennzeichen zugewiesen werden.
Somit würde
die Editier-Entfernungsberechnung
die jeweiligen numerischen Kennzeichen der gespeicherten Anmerkung
und die Eingabeabfrage direkt miteinander vergleichen. Es besteht
kein Bedürfnis,
die individuellen Ketten zu ASCII-Zeichen umzuwandeln, und 6 ist
nicht gedacht zu implizieren, dass eine solche Umwandlung nötig ist.
-
Bezug
nehmend auf 6 werden jedes Mal, wenn der
Anmerkungskette-Strichwert mit dem Abfragekette-Strichwert übereinstimmt,
Kosten von Null zugeordnet. Somit werden in 6 null Kosten
für den
Vergleich der ersten vier Kettenwerte „comp" eingegeben. Um sich der Möglichkeit
anzupassen, dass ein Kette/Kette-Vergleich eine Einfügung, eine
Löschung
oder eine Substitution von Werten mit sich bringen könnte, werden
Kosten jedes Mal zugewiesen, wenn eine Einfügung, eine Löschung oder
eine Substitution während der
Vergleichssequenz gemacht werden muss. In dem Beispiel der 6 erfordert
die Abfragekette „compass" eine Einfügung eines
zusätzlichen
Werts „r" nach dem Wert „p". Kosten von eins
werden zugewiesen (wie bei dem mit 122 bezeichneten Eintrag
angegeben). Fortfahrend mit dem Vergleich tritt eine Substitution
zwischen dem Wert „e" der gespeicherten
Anmerkungskette und dem Wert „a" der Abfragekette
auf. Dies resultiert in einer zusätzlichen Kostenzuweisung von
Eins, die der vorherigen Kostenzuweisung hinzugefügt wird,
was in Gesamtkosten von Zwei resultiert, die in 6 bei 124 repräsentiert
sind. Neben diesen Einfügungs-
und Substituierungsoperationen stimmt der Rest des Vergleichs Wert
für Wert überein.
Somit betragen die endgültigen „Kosten" beim Vergleichen
der Anmerkungskette mit der Abfragekette Zwei, was in 6 bei 126 repräsentiert ist.
-
Bei
der vorhergehenden Diskussion wurde der erste minimale Kostenweg
beschrieben, bei dem „compass" in „compress" durch Einfügen eines „r" und durch Substituieren
eines „e" für ein „a" editiert wird. Eine alternative
Editierung wäre
es, ein „r" für ein „a" zu substituieren
und ein „e" einzufügen. Beide
dieser Wege haben die gleichen Kosten, nämlich Zwei.
-
7 gibt
ein weiteres Beispiel der Editier-Entfernungstechnik. Wie zuvor werden
Ketten alphabetischer Zeichen zu Demonstrationszwecken verglichen.
Wie zuvor erwähnt,
wird dies für
den Nutzen getan, die Veranschaulichung zu vereinfachen, und sollte
nicht so interpretiert werden, dass impliziert wird, dass die Ketten
zuerst zu einem alphanumerischen Text umgewandelt werden müssten, bevor
die Vergleiche gemacht werden. Die in 6 und 7 veranschaulichte
Prozedur wird vielmehr an den jeweiligen Strichdaten (vektorquantifizierten
Symbolen) der jeweils gespeicherten Anmerkung und den Eingabe-Abfrageketten durchgeführt.
-
7 veranschaulicht
insbesondere die Technik, die verwendet werden könnte, um eine Teilübereinstimmung
(eine Worterkennung) durchzuführen.
In 7 wird die gespeicherte Anmerkung „This is
compression" mit
der Abfragekette „compass" verglichen. Man
beachte, wie der auf Gleichheit überprüfte Bereich 130 aus
der vollständigen
Kette der gespeicherten Anmerkung durch Scannen der letzten Zeile
der Tabelle extrahiert wird, um die Indizes zu finden, die den geringsten
Wert repräsentieren.
Man beachte, dass die erste (initialisierende) Reihe in 7 vollständig aus
0en besteht – dies
ermöglicht
es der Teilgleichheitsprüfung,
irgendwo entlang der Datenbankkette zu starten.
-
Die
vorliegende bevorzugte Editier-Entfernungsprozedur ist gegenüber den
herkömmlichen,
in der Literatur beschriebenen Prozeduren verbessert. Insbesondere
haben wir festgestellt, dass es zusätzlich zu den drei Basiseditieroperationen
(Lösche
ein Zeichen, Füge
ein Zeichen ein, und Tausche ein Zeichen gegen anderes aus) nützlich ist,
zwei neue Operationen hinzuzufügen,
wenn Stiftstrichsequenzen verglichen werden. Diese neuen Operationen
sind „Spalten" (tausche zwei Zeichen
für ein
Zeichen aus) und „Zusammenfügen" (tausche ein Zeichen
gegen zwei Zeichen aus). Diese zusätzlichen Operationen ermöglichen
Fehler, die bei einer Strichsegmentierung gemacht werden, und führen im
Allgemeinen zu akkurateren Ergebnissen.
-
Die
Verwendung unserer verbesserten Editier-Entfernungsprozedur ist
in 7 veranschaulicht. In 7 wird die
Spalt-Operation verwendet, um die Buchstaben „re" in „compress" gegen den Buchstaben „a" in „compass" auszutauschen. Man
beachte, dass der Rückverfolgungspfeil
in 7 sich über
eine Zeile aber zwei Spalten spannt, wodurch die Vielzeichen-(Zusammenfügung-)Substituierung
angedeutet wird. Somit ist die Editier-Entfernung in diesem Fall
Eins und nicht Zwei. Im Wege eines Vergleichs veranschaulicht 6 den
Basiseditier-Entfernungsalgorithmus
ohne die zwei neuen Mehrfachzeichenoperationen zu verwenden. Somit
betragen die Kosten (wie in 6 dargestellt)
eines Editierens von „compass" zu „compress" Zwei.
-
Die
oben beschriebene Prozedur funktioniert gut bei den meisten von
einem Benutzer gezeichneten Anmerkungsanwendungen. Die kombinierte
Verwendung einer Vektorquantisierung und einer Editier-Entfernungsberechnung
ergibt ein System, das bemerkenswert robust in seiner Fähigkeit
ist, übereinstimmende
Ketten und Unterketten zu finden, selbst wenn sie nicht präzise auf
die gleiche Weise durch den Benutzer gezeichnet sind. Obwohl die
vorliegende bevorzugte Ausführungsform
hier veranschaulicht wurde, sind eine Vielzahl von Abwandlungen
möglich,
ohne den Schutzbereich der Erfindung zu verlassen, wie er durch
die beigefügten Ansprüche definiert
ist. Falls z. B. eine schnellere Übereinstimmung gewünscht ist,
könnte
das System eine anfängliche „Zuerst
Durchlassen"-Übereinstimmung
durch einfaches Auffinden aller Striche durchführen, die eine ähnliche
Anzahl von Datenpunkten aufweisen. Dies könnte durch Speichern der Anzahl
von Datenpunkten als Teil der Kennzeichendaten und dann einfaches
Auswählen
oder Ausschließen
solcher Striche geschehen, die nicht innerhalb eines vorbestimmten
Datenpunktzählers
liegen. Dieser Typ einer Zuerst-Durchlassen-Suche kann relativ schnell
durchgeführt
werden, da einfache numerische Übereinstimmungsalgorithmen alles
sind, was benötigt
wird. Die auf einem Datenpunktzähler
basierende Zuerst-Durchlassen-Technik, würde es jedoch nicht ermöglichen, Übereinstimmungsunterketten
zu extrahieren, wie es die Editier-Entfernungsberechnung zulässt. Wenn
eine höhere Übereinstimmungsgenauigkeit
gewünscht
ist, könnte
eine rechnerisch aufwändigere Übereinstimmungstechnik,
wie z. B. die Hidden-Markov-Modelltechnik, als ein Abschlussdurchlauf
für die
n besten Hypothesen verwendet werden, die durch die Editier-Entfernungsberechnung
bestimmt sind. Ein Hinzufügen
einer höchst
genauen, jedoch rechnerisch aufwändigen
Verarbeitungsstufe zu der Schlussausgabe könnte in Systemen verwendet
werden, bei denen es notwendig ist, zwischen einer großen Anzahl
von höchst ähnlichen
Ketten zu unterscheiden.
-
Zusammenfassend
kann man sagen, dass ein Dokumentbrowser für elektronische Archivierungssysteme
offenbart wird, der Stift-basierte Markierungen und Anmerkungen
unterstützt.
Der Benutzer könnte
elektronisch Notizen 60, 62, 64 überall auf
einer Seite 32, 38 schreiben und dann später nach
diesen Notizen unter Verwendung der ungefähren Tintenübereinstimmungstechnik („approximate
ink matching, AIM")
suchen. Die Technik 104 segmentiert die von einem Benutzer
gezeichneten Striche, extrahiert 108 und vektorquantifiziert 112 Merkmale,
die in diesen Strichen enthalten sind. Eine Editierentfernungstechnik 118 wird
verwendet, um die Datenbank 120 abzufragen, was es dem
System ermöglicht,
ungefähre
oder Teilübereinstimmungen durchzuführen, um
eine unscharfe Suchfähigkeit
zu erzielen.