DE69515371T2 - Suche und Vergleich von nicht-erkannter Handschrift - Google Patents

Suche und Vergleich von nicht-erkannter Handschrift

Info

Publication number
DE69515371T2
DE69515371T2 DE69515371T DE69515371T DE69515371T2 DE 69515371 T2 DE69515371 T2 DE 69515371T2 DE 69515371 T DE69515371 T DE 69515371T DE 69515371 T DE69515371 T DE 69515371T DE 69515371 T2 DE69515371 T2 DE 69515371T2
Authority
DE
Germany
Prior art keywords
scribble
data
corpus
sequence
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69515371T
Other languages
English (en)
Other versions
DE69515371D1 (de
Inventor
Todd A. Cass
Alex D. Poon
Karon Anne Weber
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xerox Corp filed Critical Xerox Corp
Application granted granted Critical
Publication of DE69515371D1 publication Critical patent/DE69515371D1/de
Publication of DE69515371T2 publication Critical patent/DE69515371T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/36Matching; Classification
    • G06V30/373Matching; Classification using a special pattern or subpattern alphabet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Character Discrimination (AREA)

Description

  • Die vorliegende Erfindung betrifft allgemein Informationsverarbeitung in Systemen, die Krakel als Eingabe akzeptieren, und insbesondere ein System und ein Verfahren zum Aufzeichnen eines auf Krakeln basierenden Targetdaten-Gegenstandes für einen substantiell identischen Daten-Gegenstand oder für mehrere solche Daten-Gegenstände in einer Datenstruktur von auf Krakeln basierenden Daten, ohne Ausführen von herkömmlichen Erkennungstechniken an den auf Krakeln basierenden Daten.
  • Einige prozessorgesteuerte Informationssysteme, wie z. B. tragbare Rechengeräte, die unterschiedlich als Notebook-Computer, persönliche Digitalassistenten (personal digital assistants PDAs), persönliche Nachrichtenübermittler oder persönliche Interaktiv-Geräte bekannt sind, verwenden ein stiftartiges Eingabegerät, um Daten in Form von herkömmlichen Blockbuchstaben oder handschriftartigen Zeichen ähnelnden Krakeln oder in Form von grafischen Bildern, Formen oder Symbolen einzugeben. Bei einigen Programmen werden die Krakeldaten so gespeichert, wie sie eingegeben werden. Typischerweise sind jedoch die auf Krakel basierenden Daten nur in einer Datenform vorhanden, die als von begrenzter oder keiner vorhandenen Nützlichkeit angesehen wird, und werden dann beseitigt, sobald sie in eine übliche in einem Prozessor nutzbare Datenform gewandelt sind. So wird bei vielen Behandlungssystemen für auf Krakeln basierenden Daten angenommen, dass es notwendig ist, Erkennungsvorgänge an den auf Krakeln basierenden Daten auszuführen, um die Handschrift- oder Bildeingaben in vorher festgelegte "erkannte" Formen zu wandeln, wie Kreise, Rechtecke oder gerade Linien, oder in standardkodierte Zeichendarstellungen, wie in das als ASCII bekannte Standarddatenformat, damit die Daten zur Verwendung in auf Prozessor basierenden Standardanwendungen, wie Wortverarbeitung, Elektronikmail, Zeichnungen, Grafiken und auf Daten beruhenden Anwendungen geeignet sind. Ein Beispiel eines solchen Systems ist das von Apple® Computer, Cupertino, California, erhältliche Newtons MessagePad, das einen Handschrift-Erkennungsvorgang an der handschriftlichen Eingabe des Benutzers ausführt und die erkannten Daten beispielsweise als Kalendereinträge, Adressen und Fernsprechnummern und als Text zur Verwendung bei ElektronicMail-Nachrichten speichert.
  • Wegen der gegenwärtigen Probleme mit Handschrift-Erkennung könnte die Nutzbarkeit von Systemen, die Krakel als Eingabe annehmen, verbessert werden, wenn etwas Funktionalität ermöglicht würde, ohne ausdrücklich die Erkennung von auf Krakeln basierenden Daten zu erfordern. Ein als "aha!TM InkWriterTM" bekanntes Software-Produkt von aha!TM Software Corporation, Mountain View, California sorgt für Editierfunktionen, die anscheinend auf den auf Krakeln basierenden Daten selbst basieren. Das aha!TM InkWriterTM Handbuch 1993 gibt an, dass die Software einige funktionale Fähigkeiten zur Verarbeitung von auf Krakeln basierenden Daten für den Benutzer ergibt, gleichartig denen, die in einer herkömmlichen Wortverarbeitungsanwendung geschaffen werden, ohne zunächst zu erfordern, dass der Benutzer ausdrücklich einen Handschrift-Erkennungsvorgang einleitet. Das Handbuch gibt auch an, dass die handgeschriebene Eingabe in das "übersetzt" wird, was als "Computertext" oder nur als "Text" bezeichnet wird. Darstellungen in dem Handbuch bezeichnen, dass "Übersetzung" einem herkömmlichen Handschrift-Erkennungsvorgang entspricht.
  • InkWriter ergibt auch eine Wort- oder Zeichensuchfähigkeit. Zum Suchen gehört das Auswählen des zu durchsuchenden Dokuments durch den Benutzer und das Auswählen der Findefunktion aus dem Editiermenu; in Reaktion auf die Auswahl der Findefunktion eröffnet sich ein Findedialog. Der Benutzer "druckt" (schreibt in Blockbuchstaben) das Wort, das er zu finden wünscht. Das Handbuch stellt fest, dass das Wort, das der Benutzer in Blockschrift in das Findedialogblatt schreibt, unmittelbar übersetzt wird. Wird das Wort gefunden, so erscheint das Wort "gefunden" in dem Ergebnisabschnitt des Findeblatts, und das Wort wird gewählt. Da die in dem aha! InkWriter Handbuch beschriebene Suchfähigkeit von dem Ausführen der Handschrift-Erkennung an dem durch den Benutzer eingegebenen gesuchten Wort abhängt, erscheint es als vernünftig, zu schließen, dass die Handschrift-Erkennung an der Schrift in dem zu suchenden Dokument ausgeführt wird, auch wenn der Benutzer keinen Bestätigungsschritt unternommen hat, um die Schrift in Computertext zu übersetzen, und trotz der Tatsache, dass das Geschriebene für den Benutzer nicht als Computertext angezeigt wird. Die Fähigkeit, Worte in Dokumenten mit Benutzung der InkWriter Software erfolgreich aufzusuchen, hängt dann von der Genauigkeit und Robustheit des Übersetzungs- oder Erkennungsvorgangs ab. Das Handbuch stützt diesen Schluß durch Anweisen des Benutzers, das Gesuchte zu "drucken" (in Blockbuchstaben einzugeben), statt in Normalschrift zu schreiben, falls der Benutzer mehreres zu suchen plant.
  • Ein Erkennungssystem wandelt ein auf Krakeln beruhendes Dateneingabe-Target, wie Handschrift, in eine computerkodierte oder für den Menschen verständliche Form durch Auftragen oder Klassifizieren desselben als eine von vielen bekannten Schablonen oder Prototypen des Krakels, die in einer Art Referenzdatenstruktur gespeichert werden; ein erfolgreiches Auftragen identifiziert die computerkodierte oder für den Menschen verständliche Form des Krakels oder identifiziert dessen Schreiber. Solche Systeme fallen typischerweise in eine der Kategorien der Handschrifterkennung, Unterschriftüberprüfung und Schreiberidentifizierung.
  • Ein wichtiges Merkmal jedes dieser Arten von Erkennungssystemen ist die Natur der Referenzdatenstruktur, gegen welches die Targeteingaben aufzuzeichnen sind. Eine Refe renzdatenstruktur von Schablonen- oder Prototyp-Datenobjekten enthält etwas, das als "eingeschriebene" Datengegenstände bezeichnet werden kann, d. h. Datengegenstände, die in die Referenzdatenstruktur zu dem besonderen Zweck eingegeben werden, die Klassifizierung von Targeteingaben zu ermöglichen; die Daten, die jedes eingeschriebene Datenobjekt umfassen, sind ausdrücklich für die Merkmale, Kenngrößen oder Veränderungen in den Daten hergestellt, die von möglichen Targets erwartet werden können. Die Genauigkeit und Zuverlässigkeit eines Erkennungssystems ist dann direkt auf die Qualität der Herstellung und Kennzeichnung der auf Krakeln basierenden Daten der Referenzschablonen bezogen, zu denen ein Targetkrakel aufgezeichnet wird. Die große Veränderbarkeit bei Handschrift-Schreibarten bei den möglichen Benutzern von PDA-Geräten, zusammen mit einer Vielzahl von Umgebungsfaktoren, die die normale Handschrift eines Benutzers beeinflussen oder ändern können, machen die Entwicklung von breiten, aber genauen Referenzschablonen zu einer sehr schwierigen Aufgabe.
  • Solange Handschrift-Erkennungssysteme unzuverlässige, fehlerträchtige Ergebnisse erzeugen, ist der breitere Gebrauch und die Nutzbarkeit von Systemen, welche Krakel als Eingabe annehmen, bedeutsam durch die Abhängigkeit dieser Systeme von der Anwendung eines Erkennungsvorgangs bei den auf Krakeln basierenden Daten begrenzt.
  • Die vorliegende Erfindung erzeugt eine neuartige Technik zur Bestimmung, ob ein auf Targetkrakeln beruhendes Datensystem in einem auf Krakeln basierenden Datenkörper (hiernach die "auf Krakeln basierende Datenstruktur" genannt) auftritt, die bei handschriftlichen Aufzeichnungen oder Dokumenten, die kursiv geschriebene oder in Blockschrift "gedruckte" Handschrift, wie auch grafische Bilder oder Symbole enthalten, ohne ein Erkennungsverfahren entweder an die auf Krakeln basierenden Targetdaten oder die auf Krakeln basierende Datenstruktur anzuwenden. Die vorliegende Erfindung bringt so Vorteile für die Gesamtnutzbarkeit von Systemen, die Krakel als Eingabe nehmen, durch Reduzieren der Abhängigkeit dieser Systeme von dem Erfolg eines Handschrift-Erkennungsvorgangs. Das Bestimmen des Auftretens eines Targetkrakels in einer auf Krakeln basierenden Datenstruktur sorgt für die Möglichkeit, eine Vielzahl von Verarbeitungsfunktionen einschließlich einer Suchfunktion auszuführen, die einen Benutzer mit einem Bild der auf Krakeln basierenden Datenstruktur versorgen kann, welche den Ort oder die Orte des Targetkrakels hervorhebt, und einer Funktion, die einer "Finden und Ersetzen"-Funktion in einer Wortverarbeitungsanwendung analog ist, und bei der der geortete Targetkrakel durch einen zweiten Targetkrakel ersetzt werden kann. Zusätzlich können im Zusammenhang mit Software, die ein Schlüsselwortverzeichnis der Datenstruktur aufbaut, Krakel als Schlüsselworte benutzt werden, um eine auf Krakeln basierende Datenstruktur aufzulisten, ohne eine Erkennung an entweder den Schlüsselwortkrakeln oder der auf Krakeln basierenden Datenstruktur auszuführen.
  • Ein anderer Vorteil der Passungs- (oder Vergleichungs-) Technik der vorliegenden Erfindung ist ihre Fähigkeit, die Auswirkung der stilistischen Veränderungen der Schreiber gegeneinander auf die Genauigkeit des Vergleichungsvorgangs zu minimieren, in dem zugelassen wird, dass der zum Suchen benutzte Targetkrakel aus der zu durchsuchenden auf Krakeln basierenden Datenstruktur ausgewählt wird falls sie dort vorhanden ist. Ein erster Schreiber, der die handgeschriebenen Bemerkungen eines zweiten Schreibers durchsieht, welche ein bestimmtes Konzept oder eine Idee ausdrücken, kann nach all dem Auftreten diesen Konzeptes oder dieser Idee in den Bemerkungen suchen, durch Auswählen derselben als zu suchendem Targetkrakel. Der Targetkrakel besitzt dann stilistische Eigenheiten des Originals, des zweiten Schreibers und der Krakel in den übrigen Bemerkungen, wodurch wahrscheinlich die Passungs- oder Vergleichungs-Ergebnisse verbessert werden.
  • Die vorliegende Erfindung beruht auf der Entdeckung, dass vernünftig genaue Krakelpassung zwischen einem Targetkrakel und einem Krakel in der auf Krakeln basierenden Datenstruktur durch Benutzen irgendeiner verschiedener Signalvergleichs-Techniken zur Übereinstimmungs-Suche bei einem Targetkrakel mit jedem Krakel in der auf Krakeln basierenden Datenstruktur erreicht werden kann, bis alle Krakel mit dem Target verglichen worden sind, um zu bestimmen, ob und wo der Targetkrakel in der auf Krakeln basierenden Datenstruktur enthalten ist. Wegen der Unterschiedlichkeit der Schreiber beim Eingeben von auf Krakeln basierenden Daten kann ein als Target vorgesehener Einzelkrakel in der auf Krakeln basierenden Datenstruktur als eine Folge von zwei oder mehr Krakeln auftreten, oder ein in der auf Krakeln basierenden Datenstruktur enthaltener einziger Krakel kann als eine Folge von zwei oder mehr Targetkrakeln eingegeben worden sein. Die Erfindung sorgt für Verkettung einer Folge von Targetkrakeln zu einer Einzelgruppe von Abtastdatenpunkten zum Zwecke der Ausführung eines Signalvergleichs. Da es möglich ist, dass das Target in der auf Krakeln basierenden Datenstruktur entweder mit einem Einzelkrakel oder einer Folge von Krakeln zur Passung gebracht werden kann, schafft die Erfindung eine Gruppierung von Abtastdatenpunkten aus der auf Krakeln basierenden Datenstruktur als Eingabe für den Signalvergleichsvorgang mit dem Krakel. Das Schaffen solcher Gruppierungen von Abtastdatenpunkten aus der auf Krakeln basierenden Datenstruktur zum Vergleich verringert die Auswirkung der Handschrift- Variationen der Schreiber auf die Fähigkeit der Erfindung, Übereinstimmungen herzustellen, und verbessert so die Genauigkeit.
  • Deswegen wird gemäß der vorliegenden Erfindung ein Verfahren des Betreibens eines Systems geschaffen, das eine Signalquelle zum Bereitstellen von auf Krakeln basierenden Daten, einen Speicher zum Speichern von auf Krakeln basierenden Daten und einen zum Empfang von Signalen angeschlossenen Prozessor enthält. Das Verfahren umfasst das Aufnehmen von auf Krakeln basierenden Targetdaten von der Signalquelle. Die auf Krakeln basierenden Targetdaten beruhen auf einem ersten Krakel und enthalten eine Vielzahl von Abtast-Datenpunkten, die einen ersten Bewegungspfad während eines ersten Zeitraums eines Target-Krakels bezeichnen. Eine in dem Systemspeicher gespeicherte, auf Krakeln beruhenden Datenstruktur ist vorgesehen, die Information über Krakeln bezeichnet und für jeden jeweiligen Krakel eine Vielzahl von Abtast-Datenpunkten enthält, welche einen jeweiligen Bewegungspfad über einen Zeitraum des jeweiligen Krakels bezeichnen. Die zweite Vielzahl von Abtastdatenpunkten ist in eine Vielzahl von Korpuskrakelfolgen gruppiert, die jeweils mindestens zwei Abtastdatenpunkte enthalten. Dann werden die Target-Krakeldaten mit jeder Korpus-Krakelfolge verglichen, um zu bestimmen, ob die Target-Krakeldaten mit einer der Korpus-Krakelfolgen übereinstimmen. Eine Liste von Korpus-Krakelfolgen, die mit den Target- Krakeldaten übereinstimmen, wird erzeugt. Die Liste enthält für jede Korpus-Krakelfolge den Ort in der auf Krakeldaten basierenden Struktur der übereinstimmenden Korpus-Krakelfolge.
  • Gemäß einem anderen Aspekt der vorliegenden Erfindung wird ein prozessorgesteuertes System geschaffen, welches umfasst: eine Signalquelle zum Schaffen von auf Krakeln basierenden Targetdaten, die eine erste Vielzahl von Abtastpunkten einschließen, die einen ersten Bewegungspfad während eines ersten Zeitraums eines ersten Krakels enthalten; einen zum Empfangen der auf Krakeln beruhenden Targetdaten von der Signalquelle angeschlossenen Prozessor, und einen Speicher zum Speichern von Daten. Die in dem Speicher gespeicherten Daten enthalten Befehle, die der Prozessor ausführen kann, und eine auf Krakeln basierende Datenstruktur, die Information über Krakeln bezeichnet und für jeden jeweiligen Krakel eine Vielzahl von Musterdatenpunkten enthält, die einen jeweiligen Bewegungspfad über einen jeweiligen Zeitraum des jeweiligen Krakels bezeichnen. Der Prozessor ist auch zum Zugriff auf die in dem Speicher gespeicherten Daten angeschlossen. Der Prozessor gruppiert beim Ausführen der Befehle in Reaktion auf den Empfang der auf Krakeln basierenden Targetdaten von der Signalquelle die zweite Vielzahl von Abtast-Datenpunkten zu einer Vielzahl von Korpus- Krakelfolgen, von denen jede Korpus-Krakelfolge mindestens zwei Musterdatenpunkte enthält. Der Prozessor vergleicht dann die auf Krakeln basierenden Targetdaten mit jeder Korpus- Krakelfolge, um zu bestimmen, ob die auf Krakeln basierenden Targetdaten mit einer der Korpus-Krakelfolgen übereinstimmen, und erzeugt eine Übereinstimmungsliste von Korpus- Krakelfolgen, welche mit den auf Krakeln basierenden Targetdaten übereinstimmen. Die Übereinstimmungsliste enthält für jede Korpus-Krakelfolge den Ort der auf Krakeln basierenden Datenstruktur der übereinstimmenden Korpus-Krakelfolge.
  • Die vorliegende Erfindung wird weiter beispielsweise mit Bezug auf die beigefügten Zeichnungen beschrieben, in welchen:
  • Fig. 1 einen Krakel und auf einem Krakel basierende Daten darstellt;
  • Fig. 2 ein vereinfachtes Blockschaltbild ist, das ein System zum Betreiben der vorliegenden Erfindung und ein Software-Produkt darstellt, in dem die vorliegende Erfindung ausgeführt werden kann;
  • Fig. 3 ein Flussdiagramm ist, das die allgemeinen Schritte des Suchens und Vergleichens von auf Krakeln basierenden Daten gemäß der vorliegenden Erfindung darstellt;
  • Fig. 4 ein Flussdiagramm ist, dass die Schritte des Vergleichens einer Target-Krakelgruppe mit auf Krakeln basierenden Datengruppen in einer auf Krakeln basierenden Datenstruktur gemäß einer Soffware-Verwirklichung der vorliegenden Erfindung darstellt;
  • Fig. 5 ein Flussdiagramm ist, dass die Teilschritte des in Fig. 4 dargestellten Vergleichsschritts gemäß der dargestellten Ausführungsform der vorliegenden Erfindung darstellt; und
  • Fig. 6 eine Grafik einer beispielhaften Strichfunktion ist, die für den Krakel der Fig. 1 zur Verwendung bei dem Signalvergleichsvorgang der Fig. 5 gemäß dieser Erfindung aufgestellt wurde.
  • Die folgenden Ausdrücke ergeben den Rahmen zum Beschreiben der Ausführungsform der beanspruchten Erfindung, wie sie in den beigefügten Zeichnungen dargestellt ist. Ein "Krakel" ist das Ergebnis einer Ausdrucksbewegung. Fig. 1 stellt einen Krakel 10 dar, der dem englischen Buchstaben "x" ähnelt, aber auch ein willkürliches grafisches Symbol sein kann. Daten oder ein Signal ist/sind "begründet an" einem Krakel, wenn die Daten oder das Signal Information über den Bewegungsweg des Krakels im Raum während eines Zeitintervalls enthalten/enthält. Wenn beispielsweise die Information über den Krakelweg nur einen Punkt im Zeitraum enthält, sind die Daten oder ist das Signal nicht auf dem Krakel begründet; wenn jedoch Information über einen oder mehrere Punkte des Weges im Raum und den Zeitintervall des Punktes oder der Punkte enthalten ist, sind die Daten oder ist das Signal auf dem Krakel begründet. Ein einfaches Beispiel von auf einem Krakel basierenden Daten sind Daten, die die Anfangs- und Endpunkte des Krakels im Raum und den Zeitraum bezeichnen, in dem diese auftraten. Vollständige Daten aufgrund eines zweidimensionalen Krakels wären ein Vektor von (x, y, t)-Tripeln, die erreicht werden durch Abtasten der x,y-Koordinaten des Krakelweges mit einer ausreichend hohen Frequenz zum Einfangen im wesentlichen des gesamten durch den Krakel geschaffenen Bewegungsinhalts. Ein Beispiel solcher Daten ist in Tabelle 16 in Fig. 1 gezeigt. Auf einem Krakel basierende Daten können Information über einen Krakel enthalten, von der die gesamte oder ein Teil der Information den Bewegungsweg des Krakels während der Zeit erfasst, berechnet oder von ihm abgeleitet werden kann, wie z. B. die Beschleunigung oder Geschwindigkeit beim Aufzeichnen des Krakels. Zusätzliche Komponenten-Information über einen Krakel kann auch eingefangen werden, wie beispielsweise Daten, die den Druck, die Störungen des Widerstands oder akustische Oberflächenwellen des den Krakel an einer Datensammelfläche erzeugenden Eingabegerätes angeben. Daten oder ein Signal aufgrund eines Krakels werden hier auch als "auf Krakeln basierende Daten" bezeichnet. Eine "auf Krakeln basierende Datenstruktur" enthält Daten oder Signale, die auf einem oder auf mehreren Krakeln beruhen.
  • Ein hier benutzter Ausdruck "Stift" bezeichnet ein Benutzer-Eingabegerät, das zum Erzeugen von auf Krakeln beruhenden Daten fähig ist. Z. B. ist ein elektronisches federartiges Gerät ein Stift, und die Bewegung der Spitze des Stiftes über eine Datensammelfläche erzeugt auf Krakeln basierende Daten. Ein Stift kann auch ein herkömmliches Zeigegerät wie eine Maus enthalten, das/die zum Erzeugen von auf einem Krakel basierenden Daten fähig ist. In diesem Falle stellt das Bild des Cursors in dem Anzeigebereich des Anzeigegerätes den Ort des Stiftes dar, und der Anzeigebereich stellt die Datensammelfläche dar. Der Ausdruck "elektronische Tinte" oder "digitale Tinte" bezieht sich auf das Bild der Spur der Bewegung einer Stiftspitze an einer Anzeige, und wird allgemein benutzt, um auf ein Bild von auf Krakeln basierenden Daten Bezug zu nehmen.
  • Ein "Strich" sind die Daten oder ist das Signal von einem Krakel oder einem Abschnitt eines Krakels, die von der Spitze des Stiftes während der Zeit erzeugt werden, und werden zum Erzeugen von auf Krakeln basierenden Daten zu einem darauffolgenden Zeitpunkt benutzt, wenn der Stift als keine auf Krakeln beruhenden Daten erzeugend festgesetzt wird. Wenn beispielsweise ein Stift mit Bewegung über eine Datensammelfläche auf Krakeln basierende Daten erzeugt, bilden die von der Spitze während der Zeit, in der der Stift als in Berührung mit der Datensammelfläche befindlich erfasst wird, erzeugten Daten einen Strich bis zu dem darauffolgenden Zeitpunkt, wo der Stift als nicht mehr in Berührung mit der Datensammelfläche erfasst wird. In Fig. 1 ist der Krakel 10 so gezeigt, dass er aus zwei Strichen 12 und 14 zusammengesetzt ist.
  • Daten werden während der Erzeugung eines Strichs mit regelmäßigen Zeitabständen erzeugt, wie es durch die Abtastdatenpunkte 20 und 22 in Fig. 1 dargestellt ist. Ein Strichsegment, oder einfach "Segment", bezieht sich auf den Abschnitt eines Strichs zwischen zwei Abtastdatenpunkten, wie durch das Segment 24 dargestellt. Wenn der (zeitlich) abschließende Abtastdatenpunkt eines ersten Strichs 12 mit dem ersten Abtastdatenpunkt eines zweiten Strichs 14 verbunden wird, werden die Striche oder Abtastdatenpunkte als "verkettet" bezeichnet. Eine Verkettung von Folgen von Abtastdatenpunkten kann die Gruppierung von Mehrfachstrichen zu einer Einzelstrichgruppe ergeben. Die Auswirkung des Verkettens von Abtastdatenpunkten ist das Einführen eines Segmentes 30 in die Folge von Abtastdatenpunkten.
  • Eine auf Krakeln basierende Daten enthaltende Datenstruktur kann hier auch als eine "nicht klassifizierte" Datenstruktur bezeichnet werden, und ist von einer "klassifizierten" Datenstruktur zu unterscheiden, die eingeschriebene Datenobjekte wie Schablonen oder Prototypen enthält, die zum Zwecke der Klassifizierung von Targeteingaben verwendet werden.
  • Die vorliegende Erfindung zum Suchen und Passen (zur Übereinstimmung bringen) von auf Krakeln basierenden Daten betreibt ein prozessorgesteuertes System mit den allgemeinen Komponenten, Kenngrößen und Gestaltungen des in Fig. 2 dargestellten Systems 100. Das System 100 enthält eine Eingabeschaltung 152 zum Aufnehmen von Signalen von einer Signalquelle 154. Die Signalquelle 154 kann irgendeine signalerzeugende Quelle sein, die Signale der durch die vorliegende Erfindung benötigten Art erzeugt. Eine derartige Quelle enthält Eingabegeräte, die durch einen menschlichen Benutzer steuerbar sind und die Signale in Reaktion auf Einwirkungen durch den Benutzer ergeben, wie ein Stiftgerät 152, das der Benutzer über die Datensammelfläche bewegt, und den Anzeigebereich 180 des Gerätes 170 beim Herstellen von Krakeln. Das Gerät 170 wird gemeinhin als "Elektroniktablett" bezeichnet, kann jedoch, wie vorher bemerkt, auch ein herkömmliches Anzeigegerät sein, das zur Darstellung von Bildern geeignet ist, oder es kann statt der Kombination aus Gerät 170 und Stiftgerät 156 bloß ein Stiftgerät 156 sein, wie es zum Erzeugen von auf Krakeln basierenden Daten ohne Benutzung einer Datensammelfläche üblich ist. Alternativ kann die Signalquelle ein (nicht gezeigter) Vorgang sein, den der Prozessor 140 ausführt und der für die Abgabe von auf Krakeln basierenden Daten an den Prozessor 140 als Targetkrakel zur erfindungsgemäßen Verarbeitung sorgt.
  • Der Prozessor 140 arbeitet durch Zugreifen auf den Programmspeicher 114 des Speichers 110, um Befehle abzuziehen, die er dann ausführt. Der Programmspeicher 114 enthält Krakeldatenvergleichs-Befehle 116, welche die in den Flussdiagrammen der Fig. 3, 4 und 5 beschriebene Erfindung verwirklichen. Während der Ausführung der Befehle kann der Prozessor 140 zusätzlich zum Empfangen von Eingabesignalen von der Eingangsschaltung 152 auch auf den Datenspeicher 122 zugreifen und Daten schaffen, welche Bilder definieren, z. B. Bilder elektronischer Tinte für die (nicht gezeigte) Ausgabeschaltung zur Darstellung am Gerät 170 im Anzeigebereich 180 oder zur Darstellung an irgendeinem anderen entsprechenden Anzeigegerät. Bei der Beschreibung der dargestellten Ausführungsform entspricht der Anzeigebereich dem sichtbaren Bereich des Anzeigeschirms, und das Verfahren der vorliegenden Erfindung sorgt für sichtbares Anzeigen der darin befindlichen elektronischen Tinte. Der Speicher 110 speichert auch eine auf Krakeln basierende Datenstruktur 126, Targetkrakel-Daten 130 und, im Falle der dargestellten Ausführungsform, Strichfunktionsdaten 132, wie auch andere Daten.
  • Die tatsächliche Art und Weise, in der die physikalischen Komponenten der Maschine 100 miteinander verbunden sind, kann verschieden sein, und kann hartverdrahtete physikalische Verbindungen zwischen einigen oder allen Komponenten enthalten, wie durch die gestrichelten Leitungsdrahtverbindung 160 zwischen dem Stift 156 und dem Gerät 170 gezeigt, wie auch Verbindungen über verdrahtete oder drahtlose Nachrichtenverbindungs-Einrichtungen, wie durch fernliegende oder örtliche Verbindungsnetze und Infrarot- und Funkverbindungen. Der Bereich der physikalischen Größe der Maschine 100 kann sich beträchtlich von einem sehr großen Gerät, z. B. einem großen elektronischen "Weißtafel"-Gerät für gemeinsame Bearbeitung, zu einem viel kleineren Arbeitsflächengerät, wie einem tragbaren Computer und einem Taschenanzeigegerät oder zu noch kleinerem Gerät erstrecken.
  • Ein Fertigungsgegenstand kann mit dem beschriebenen prozessorgesteuerten System benutzt werden. Der Gegenstand umfasst ein Speichermedium 122, auf das durch das Speichermedium-Zugriffsgerät 115 zugegriffen werden kann, wenn der Gegenstand in dem System benutzt wird. Daten 128 werden in dem Datenspeichermedium 122 so gespeichert, dass das Speichermedium-Zugriffsgerät 115 die gespeicherten Daten für den Prozessor schaffen kann, wenn der Gegenstand in dem System benutzt wird. Die gespeicherten Daten umfassen Targetkrakelaufnahme-Befehlsdaten 124, welche Eingabebefehle bezeichnen, die der Prozessor 140 ausführen kann, um auf Targetkrakeln basierende Daten von dem Benutzereingabegerät 154 aufzunehmen, und Betätigungsausführungs-Befehlsdaten, welche Reaktionsbefehle bezeichnen, die der Prozessor 140 ausführen kann, um Betätigungen zum Suchen nach den auf Krakeln beruhenden Targetdaten in einer auf Krakeln basierenden Datenstruktur auszuführen, die in dem Speicher gespeichert ist, in Reaktion auf Krakeln basierenden Targetdaten.
  • Wenn die auf Krakeln basierenden Targetdaten empfangen werden, lässt die Ausführung der Reaktionsbefehle den Prozessor 140 eine Vielzahl von in der auf Krakeln basierenden Datenstruktur enthaltenen Abtastdatenpunkten zu einer Vielzahl von Korpus-Krakelfolgen von Abtastdatenpunkten gruppieren, und die auf Krakeln basierenden Targetdaten mit jeder der Korpus-Krakelfolgen vergleichen, um zu bestimmen, ob die auf Krakeln basierenden Targetdaten mit mindestens einer der Korpus-Krakelfolgen übereinstimmen. Wenn eine übereinstimmende Korpus-Krakelfolge mit den auf Krakeln basierenden Targetdaten gepasst wurde, lässt die Ausführung der Reaktionsbefehle den Prozessor eine Übereinstimmungsliste erzeugen, welche den Ort der übereinstimmenden Korpus-Krakelfolge enthält.
  • Fig. 3 stellt die allgemeinen Schritte der vorliegenden Erfindung dar. Man bemerke, dass der Ausdruck "Korpus" als ein Abkürzungswort benutzt wird, das die auf Krakeln basierende Datenstruktur bedeutet, nach der gesucht wird, um sie mit einer Targetstruktur zu vergleichen. Target-Krakeldaten werden im Kasten 208 von einer Signalquelle empfangen. Um die Übereinstimmungsfehler zu verringern, die durch die Unterschiedlichkeit der Schreiber eingeführt wird, wird die Folge von Abtastdatenpunkten für jeden Strich der Targetkrakeldaten im Kasten 214 zu einer Folge von aufeinanderfolgenden Abtastdatenpunkten verkettet, die hiernach als "Targetkrakelfolge" bezeichnet werden. Die Auswirkung des Verkettens der Abtastdatenpunkte der Targetkrakeldaten zu einer Einzelfolge von verbundenen Abtastdatenpunkten ist das Einführen eines neuen Segments zwischen Strichen.
  • Die auf Krakeln basierende Datenstruktur oder der Korpus, der gesucht wird, kann irgendeine Sammlung von auf Krakeln basierenden Daten sein, die im Speicher 110 (Fig. 2) gespeichert oder sonst für den Prozessor 140 zugänglich ist. Irgendwelche Datenstrukturen aus auf Krakeln beruhenden Daten, welche handgeschriebene Notizen, Briefe, Logbücher, Tagebücher, Kalender und andere Dokumente darstellen, können ein zu suchender Korpus sein. Der Korpus kann einfach als ein aufeinanderfolgender Strom von Abtastdatenpunkten angesehen werden, welche den Bewegungspfad von vielen Bewegungen über der Zeit darstellen; der Datenstrom kann in Listen von Strichen organisiert sein, muss es jedoch nicht. Um das Vergleichen einer Targetkrakelfolge mit den auf Krakeln basierenden Korpusdaten zuzulassen, werden Sätze von Abtastdatenpunkten in dem Korpus im Kasten 220 identifiziert und zu Folgen von Abtastdatenpunkten gruppiert, die nachfolgend als "Korpuskrakelfolgen" bezeichnet werden. Irgendeine Korpuskrakelfolge von Abtastdatenpunkten kann eine andere Korpuskrakelfolge von Abtastdatenpunkten überdecken oder kann einige Abtastdatenpunkte mit ihr gemeinsam haben. Eine Korpuskrakelfolge ist irgendein Teilsatz von Abtastdatenpunkten in dem Korpus, und kann beispielsweise so klein sein, dass sie nur zwei Abtastdatenpunkte umfasst. Jede Korpuskrakelfolge wird im Kasten 224 für den Vergleich zu einer einzigen Dateneinheit oder zu einem Signal verkettet.
  • Im Kasten 228 wird die Targetkrakelfolge mit jeder Korpuskrakelfolge verglichen, um zu bestimmen, ob eine Übereinstimmung besteht. Irgendein geeigneter Signalvergleichs- oder Passvorgang kann zu diesem Zweck benutzt werden; ein Beispiel eines neuartigen Signal- Übereinstimmungsvorgangs aufgrund von dynamischen Zeitverzugstechniken wird im einzelnen nachstehend dargelegt. Die Ergebnisse des Pass- oder Übereinstimmungsvorgangs der Targetkrakelfolge mit allen Korpuskrakelfolgen wird dann im Kasten 234 erzeugt, und umfasst mindestens eine Liste, die die Korpuskrakelfolgen bezeichnet, welche Übereinstimmung mit der Targetkrakelfolge zeigen, und z. B. die Anzeichen der Start- und Abschluss-Abtastdatenpunkte von jeder mit Übereinstimmung bezeichneten Korpuskrakelfolge in dem Korpus (istart, iende) enthält. Die Liste kann für eine Vielzahl von weiteren Zwecken einschließlich, aber nicht begrenzt auf, gleichzeitiges oder späteres Berichten für den menschlichen Benutzer benutzt werden, typischerweise durch Anzeigen der übereinstimmenden Ergebnisse in einem Bild oder zu einem anderen Systemvorgang oder zum Durchlassen einer Liste von übereinstimmenden Korpuskrakeln oder Zeigern zu übereinstimmenden Korpuskrakeln zur weiteren Verarbeitung durch einen nachfolgenden Vorgang. Die Liste der Übereinstimmungen kann leer sein, falls keine Übereinstimmung aufgetreten ist.
  • Fig. 4 stellt die Folge der Schritte dar, die durch eine ausgeführte Ausführungsform der vorliegenden Erfindung durchlaufen wurden. Die auf Krakeln basierenden Daten sowohl im Target wie im Korpus sind zu einer Liste von Strichen organisiert, von denen jeder Strich eine Liste von Abtastdatenpunkten ist, wie in Fig. 1 dargestellt. Im Kasten 308 werden einen Targetkrakel bezeichnende Daten von einer Signalquelle empfangen. Im Kasten 310 werden die Targetkrakeldaten geprüft, um zu bestimmen, ob sie mehr als einen Strich enthalten, und falls das der Fall ist, wird jeder Strichi mit einem darauffolgenden Strichi+1 verkettet, bis alle Striche durch Verbinden des letzten Abtastdatenpunktes des Striches (des zeitlich ersten Striches) mit dem ersten Abtastpunkt des Strichesi+1 (des zeitlich nächsten Striches) zu einer einzigen Folge von aufeinanderfolgenden Datenpunkten verkettet wurden.
  • Im Kasten 314 wird ein Zählwert n zum Zählen der Striche in dem Korpus auf eins initialisiert. Wenn alle Striche in dem Korpus mit den verketteten Targetstrichdaten verglichen worden sind, wird eine Untersuchung angestellt, die im Kasten 374 geschieht, ob das Verfahren für dieses Target abgeschlossen ist. Im Kasten 316 wird ein Gruppierungszählwert m auf eins initialisiert; der Gruppierungszählwert m steuert die Gruppierung der Striche in dem Korpus zur Eingabe in den Übereinstimmungs-Suchvorgang. Ausgehend von jedem Einzelstrich in dem Korpus, wie durch den Zählwert n gezählt, und beginnend mit Gruppierungszähler m beim Wert eins, werden die Korpusstriche n bis n + m - 1 im Kasten 320 zu einer einzigen Folge von aufeinanderfolgenden Abtastdatenpunkten gruppiert und verkettet, bevor sie in den Signalvergleichsvorgang 330 eingegeben werden, bis m eine Maximalzahl von Gruppierungs strichen erreicht hat, was im Kasten 368 untersucht wird. Der Maximalwert für den Gruppierungszählwert m kann heuristisch nach Experimentieren mit verschiedenen Arten von Körpern bestimmt werden, die durch den gleichen oder durch unterschiedliche Schreiber erzeugt worden sind. Alternativ kann der Maximalwert für den Gruppierungszählwert m eine Funktion der Anzahl von Strichen s in den Targetkrakeldaten sein. Bei der dargestellten Ausführungsform ist der Gruppierungszählwert m eine Funktion von s, und sein Maximalwert ist s + 2.
  • Diese Verwirklichung des Konzepts der Gruppierung führt zu einem Zwangskraft-Signalvergleich von Gruppen von Korpusstrichen zu den verketteten Targetkrakeldaten, der versucht, Variationen zwischen den Schreibern, die sich aus inkonsistenten und unterschiedlichen Strichabständen ergeben, in Rechnung zu stellen. Wichtiger ist, dass diese Vorgehensweise nicht von der Fähigkeit des Systems abhängt, den Korpus vor dem Suchen und Vergleichen in diskrete semantische Einheiten wie Worte oder grafische Symbole aufzuteilen. Ein solches Zwangskraft-Vergleichsverfahren erhält jedoch eine wesentliche Auswirkung auf die Berechnungswirksamkeit. Der Gruppierungszählwert m ist eine Verarbeitungs- und Verhaltenswirksamkeits-Steuerung. Theoretisch kann, wenn ein Korpus mit der Größe von k Strichen gegeben ist, an einem Wert n in der Folge der Wert m von 1 bis k - n + 1 reichen, und Striche werden dann in Folgen gruppiert, die so groß wie der gesamte Korpus sind, um sicherzustellen, dass die maximale Zahl von Strichfolgen in den Signalvergleichsvorgang eingegeben wird. Bei der dargestellten Verwirklichungsform ergibt ein Targetkrakel mit einem Strichzählwert s = 3 eine 5er Korpus-Krakelfolgegruppe, die von einem Strich zu fünf aufeinanderfolgenden Strichen reicht (wenn der Maximalwert von m = s + 2 ist), wobei jede Gruppe mit dem Targetkrakel für jeden Strich im Korpus verglichen wird.
  • Es kann gesehen werden, dass eine Vielzahl von unterschiedlichen Vorgehensweisen benutzt werden kann, um die Gruppierung zu bestimmen, durch Ändern jedes Eingangswerts oder beider Eingangswerte für die Gruppierungszahl m und ihres Maximalwerts. Z. B. kann der Gruppierungszählwert s auf s - 1 initialisiert werden, und sein Maximalwert kann bei s + 1 eingerichtet werden, so dass nur Gruppierungen mit einem Strich weniger als dem Target, gleich dem Target und einem Strich mehr als dem Target zum Vergleich mit dem Target gebildet werden. Der Grupppierungszählwert m ist sorgfältig genug auszuwählen, um sicherzustellen, dass ein Targetkrakel mit einer kleinen Anzahl von Strichen erfolgreich mit Korpuskrakelfolgen mit einer größeren Anzahl von Strichen verglichen wird, was auftreten kann, wenn ein aus im wesentlichen kursiver Handschrift zusammengesetztes Target mit einem Korpus zu vergleichen ist, der aus im wesentlichen in Druckschrift gezeichneter Handschrift zusammengesetzt ist.
  • Der Signalvergleichsvorgang 330, der mit mehr Einzelheiten nachfolgend beschrieben wird, gibt einen Wert zurück, der mißt, wie gut die verketteten Targetkrakeldaten im Vergleich zu einer bestimmten Gruppe von verketteten Strichen passen. Dieser Wert wird gegen einen Schwellwert im Kasten 360 bewertet, und wenn er sich günstig vergleichen lässt - in diesem Falle, wenn der Wert kleiner als der Schwellwert ist - wird die Gruppe von verketteten Korpusstrichen als eine Übereinstimmung markiert. Markieren bezieht sich in diesem Sinne einfach auf irgendeine in Reaktion auf das Finden einer übereinstimmenden Korpuskrakelfolge unternommene Systembetätigung. Bei der dargestellten Ausführungsform wird der gesuchte Korpus für einen Benutzer an einem elektronischen Tablett angezeigt. Wenn jede Übereinstimmung der verketteten Targetkrakelfolgen in dem Korpus angetroffen wird, wird ein kastenförmiges Anzeigemerkmal um den Abschnitt des Bildes des Korpus hinzugefügt, der die übereinstimmende Korpuskrakelfolge darstellt, und wenn der nächste bildbringende Befehl (z. B. Bildermal- oder Bilderanzeige-Befehl) angetroffen wird, präsentiert das System ein Bild des Korpus, das die übereinstimmende Korpuskrakelfolge mit sie umgebenden Kästen enthält.
  • Wenn der sich aus dem Signalvergleichsvorgang 330 ergebende Wert nicht günstig mit dem Schwellwert verglichen werden kann, und nachdem eine erfolgreiche Übereinstimmung markiert ist, wird der Gruppierungszählwert m im Kasten 366 um eins erhöht, um die nächste Gruppierung von Korpusstrichen zu bilden. Wenn der Gruppierungszählwert m nicht größer als sein Maximalwert wird, wird die nächste Gruppierung von Strichen im Korpus im Kasten 320 in Vorbereitung auf den Signalvergleich mit der Targetkrakelgruppe identifiziert und verkettet.
  • Der Schwellwert stellt das Abschneiden des Zählwerts eines Signalvergleichs dar, der bestimmt, dass die Targetkrakelfolge und eine Korpuskrakelfolge ausreichend genug übereinstimmen, um das als eine Übereinstimmung zu berichten, und ist in einem großen Ausmaß eine Funktion der Auslegungsentscheidungen, die mit Bezug auf die Verwirklichung des Signalvergleichsvorgangs 330 getroffen wurden, sowie z. B. wie die Normalisierung erledigt wird. Im Gegensatz zu Erkennungssystemen, die einen geringsten Wert zum Bezeichnen eines erfolgreichen Vergleichs benutzen, ist der Schwellwert in gewisser Beziehung eine subjektive und willkürliche Annahme davon, wieviele falsche Zwänge durch das System oder den Systembenutzer ertragen werden. In dieser dargestellten Verwirklichungsform wurde der Wert der Schwellgröße empirisch bestimmt, und ein Schwellwert von 0,4 wurde benutzt, der im wesentlichen eine Reduzierung falscher Vorsätze ohne unnötiges Erhöhen falscher Abweisungen ergibt.
  • Bei der dargestellten Verwirklichungsweise benutzt der Signalvergleichsvorgang 330 eine mathematische Vergleichstechnik, die als dynamischer Zeitverzug (dynamic time warping DTW) bekannt ist, und die sich auf den Vergleich von Bahnen bezieht, der durch eine kontinuierliche Funktion der Zeit im mehrdimensionalen Raum definiert wird. Die grundsätzliche Idee des Zeitverzugs ist, dass Wiedergaben derselben Bahn annähernd zur gleichen Kurve führen können, jedoch mit sich ändernden Zeitmustern. Zeitverzugs-Techniken vergleichen Folgen, die von Bahnen durch Zeitabtastung abgeleitet werden, wenn jede Bahn nicht nur einer Änderung durch den üblichen zusätzlichen Zufallsfehler, sondern auch Variationen der Geschwindigkeit von einem Abschnitt zum anderen unterworfen werden. Der Geschwindigkeitsveränderung erscheint konkret als Komprimierung und Dehnung mit Bezug auf die Zeitachse und wird als Komprimierung/Dehnung bezeichnet. Zeitverzug behandelt eine solche Variation und kann zur Messung benutzt werden, wie unterschiedlich zwei Folgen in einer Weise sind, die nicht für Komprimierung/Dehnung, jedoch für andere Differenzen empfindlich ist.
  • Die vorliegende Erfindung wendet die Konzepte des Zeitverzugs auf den Bereich der Krakel oder Striche an, die als Bahn angesehen werden können. Die Variation zwischen den Schreibern, die von Hauptinteresse ist, ist die Variation, die sich aus Unterschieden der Strichformen ergibt; diese Variationen werden in den Winkeln und Abständen zwischen Abtastdatenpunkten eingefangen, und auf diesen Bereich ist die "Strichbahn" einer Folge von Abtastpunkten tatsächlich eine Funktion, die von hier ab als "Strichfunktion" bezeichnet wird, die sich auf die Ausrichtung eines Segments zu den kumulativen Längen der vorherigen Segmente bezieht. In der Literatur wird diese Art der Darstellung oft die "Ausricht "Funktion oder die "Ausricht-über-Bogenlänge-"Funktion genannt. Ein Beispiel einer Strichfunktion ist in Fig. 6 gezeigt, in der die Grafik 40 die Strichfunktion für die verketteten Striche des Krakels 10 in Fig. 1 zeigt. In der Grafik 40 wird die kumulative Länge bei jedem Strichsegment der verketteten Striche 12 und 40 (Fig. 1) längs der Horizontalachse 42 der Grafik 40 gegen die Winkel des Segmentes an der vertikalen Achse 44 der Grafik 40 aufgetragen. Die Strichfunktion in Grafik 40 ist ein Beispiel der Target- und Korpusstrichfunktionen, die in den DTW-Vergleichsvorgang eingegeben werden.
  • Im mathematischen Sinn ist die Idee des Zeitverzugs das Einrichten einer Entsprechung zwischen jedem Punkt in der Targetstrichfunktion und einem besonderen Punkt in der Korpusstrichfunktion durch Verziehen der Zeitachse jeder Strichfunktion und Einrichten einer Auftragung (Abbildung) der Punkte der beiden Strichfunktionen aufeinander. Zwei Zeitverzüge sind äquivalent, wenn sie die gleiche Verbindung über die Gesamtheit der zwei Strichfunktionen induzieren. Der Abstand D zwischen zwei Strichfunktionen ist das normalisierte Integral, oder im diskreten Fall die normalisierte Summierung, von gewichteten Punktabständen d zwischen Punkten, die durch den Verzug in Übereinstimmung gebracht werden, welcher dieses Integral oder diese Summe minimiert. Der Abstand D dient als Übereinstimmungsmaß oder Ähnlichkeitsmaß für eine Targetkrakelgruppe mit der aktuellen Korpuskrakelgruppe. Die angesprochenen Normalisierung begründet sich auf die Länge der Verzugsfolgen. Ein Beispiel einer punktweisen Abstandsmetrik d(x,y) ist d(x,y) = x-y .
  • Fig. 5 stellt die Einzel-Teilschritte des DTW-Signal-Vergleichsvorgangs im Kasten 330 der Fig. 4 dar. Die Strichfunktionen für die Targetkrakelgruppe und die aktuelle Korpuskrakelgruppe werden in den Kästen 334 und 338 durch Aufteilen der Targetkrakelgruppe und der aktuellen Korpuskrakelgruppe in Segmente und darauffolgendes Berechnen der Länge und des Winkels jedes Segmentes aufgebaut. Für die Wirksamkeit wird die vorherige Segmentenliste für die Targetkrakelgruppe und für die vorherige Korpuskrakelgruppe gespeichert und ggf. wieder verwendet. Die Liste von Segmenten, Winkeln und Längen für jede Targetkrakelgruppe und Korpuskrakelgruppe enthält Werte für das Segment, die als Ergebnis der Verkettung in den Kästen 310 und 320 (Fig. 4) hinzugefügt wurden. Die Benutzung der dynamischen Zeitverzugstechnik minimiert die Auswirkung auf die Genauigkeit der Addierung eines Segments zu einer Strichgruppe als Ergebnis der Verkettung, da die Korrespondenz von Segmenten zwischen Strichfunktionen zum Deemphasieren des hinzugefügten Segmentes eingestellt werden kann, wenn dessen Länge und Winkel sich wesentlich von den Werten eines entsprechenden Segments unterscheiden.
  • Zeitverzug wird dann der Strichfunktion im Kasten 340 ausgeführt und das Abstandsmaß errechnet und normalisiert. Das Maß wird dann zur Prüfung gegen den Schwellwert im Kasten 360 der Fig. 4 zurückgeführt.
  • Verschiedene zusätzliche Schritte können dem Verfahren hinzugefügt werden, das in der dargestellten Verwirklichung der Fig. 4 beschrieben wurde, um die Übereinstimmungsgenauigkeit zu verbessern, oder das Verhalten des Verfahrens zu optimieren. Ein solcher Schritt enthält das Hinzufügen eines Strich-Vorbearbeitungsschritts zu der Vorbereitung der jeweiligen Target- und Korpusstriche zum Signalvergleich. Ein Strich-Vorbearbeitungsschritt, der in seiner Auswirkung ein Rauschen-Entfernungsschritt ist, erfasst und entfernt Strich- oder Segment-Unregelmäßigkeiten, die sich wahrscheinlich aus Umgebungsfaktoren ergeben, wie einer mangelhaften Schaltung in dem elektronischen Tablett oder dem Stift, statt denen der beabsichtigten Bewegung durch den Benutzer. Ein solcher Vorbearbeitungsschritt kann mit Benutzung bekannter Techniken bewirkt werden.
  • Eine andere Technik, die eingesetzt werden kann, ist die der Neuabtastung der Strichdatenpunkte, um die Anzahl von Abtastpunkten zu verringern. Bei einem Neuabtastschritt werden einfach redundante Abtastpunkte entfernt oder die ursprünglichen Abtastpunkte durch einem neuen Satz von Abtastpunkten ersetzt, der sich der Ursprungskurve annähert und die redundanten Abtastpunkte entfernt, welche außerordentliche Berechnungszeit herbeiführen. Neuabtasttechniken sind ebenfalls auf dem Fachgebiet bekannt.
  • Die vorliegende Erfindung zieht auch die Benutzung eines Abtastbildes der Handschrift als Originalquelle des Korpus oder zum Benennen eines Targets, oder beides in Betracht. Es sind bekannte Verfahren für das Wandeln eines gebitmapten Bildes von Handschriftsymbolen in auf Krakeln beruhende Daten vorhanden.
  • Die vorliegende Erfindung kann als ein Teil der Funktionalität und der Benutzerschnittstelle eines PDA-Geräts enthalten sein, so dass ein Benutzer des Geräts fähig ist, handgeschriebene Corpora zu suchen.
  • Der Systembenutzer kann den Targetkrakel zur Übereinstimmungssuche von dem zu suchenden Korpus oder von einem anderen Korpus wählen. Ein Bild wird von der elektronischen Tinte angezeigt, das die Gesamtheit oder einen Teil des für die Targetwahl zu benutzenden Korpus darstellt, und mit Benutzung des Stifts stellt der Benutzer einen Auswahlkrakel her, der den Abschnitt der elektronischen Tinte bezeichnet, der die als auf Krakeln basierende Targetdaten zu benutzenden, auf Krakeln basierenden Daten darstellt. In Reaktion auf den Auswahlkrakel werden die gewählten auf Krakel basierenden Daten von dem Korpus zur Verarbeitung als die auf Krakeln basierenden Targetdaten gemäß den in den Flussdiagrammen der Fig. 3 oder 4 dargestellten Schritten abgezogen. Dieses Merkmal kann durch einen ersten Schreiber benutzt werden, um die Inhalte eines durch einen zweiten Schreiber geschriebenen Korpus mit Benutzung der Krakel des zweiten Schreibers als Targetkrakel zu suchen.
  • Ein anderer Gruppierungsvorgang, der verwirklicht wurde, gruppiert den Korpus in semantisch bedeutsame Einheiten. Diese Einheiten werden dann als die Korpuskrakelfolgen benutzt, mit denen die auf Krakeln basierenden Targetdaten während der Übereinstimmungssuchphase verglichen werden. Bei dieser Verwirklichung sind diese Einheiten dazu bestimmt, einzelnen Worten eines geschriebenen Dokuments zu entsprechen. Semantische Gruppierung des Korpus wird bewirkt, indem zuerst die Striche des Korpus durchsucht werden, um horizontale Abstände zwischen den Strichen zu finden, die mindestens halb so groß wie die durchschnittliche Vertikalgröße der Striche im Korpus sind. Dann werden auf Semantik beruhende Korpuskrakelfolgen, die grob als Wortäquivalente angesehen werden könnten, als die Abtastdatenpunkte der Striche identifiziert, die sich zwischen den großen Horizontalabständen befinden.
  • Die Reihenfolge der verketteten Krakel, entweder der Targetkrakel oder jener, die von der auf Krakel basierenden Datenstruktur geschaffen werden, oder beide, können vor dem Ausführen des Signalvergleichs geändert werden, um die Variationen anderer Schreiber in Rechnung zu stellen, z. B. in der Reihenfolge von Kreuzzeichen-Buchstaben, wie "f" oder "t".
  • Ein anderer zu benutzender Signalvergleichsvorgang ist die bekannte Technik der Einfachsignal-Korrelation. Korrelation benutzt auch eine von den verketteten Strichen der Targetstruktur gebildeten Abtastpunktfolge abgeleitete Strichfunktion. Die Strichfunktion wird mit einer Strichfunktion korreliert, die von der Folge von Abtastdatenpunkten in dem Korpus abgeleitet wurde. Teilfolgen in der Korpusstrichfunktion, bei denen diese Korrelation hoch ist, bezeichnen Stellen, wo eine gute Übereinstimmung vorhanden ist. Statt der punktweisen Multiplikation, die bei der Grundkorrelation benutzt wird, kann stattdessen die punktweise Absolutdifferenz in einer ähnlichen Weise benutzt werden, wie es bei der dynamischen Zeitverzugstechnik der dargestellten Ausführungsform der Fall ist.
  • Ein anderer Signalvergleichsvorgang, der benutzt werden kann, ist die als Übereinstimmungssuche aufgrund des Hausdorff-Abstands bekannte Technik. Der Hausdorff-Vergleich ist eine Technik zum Messen, wie gut sich zwei Gruppen von 2D-Punkten voneinander unterscheiden. Bei Anwendung bei den Abtastdatenpunkten, welche Krakel umfassen, werden die als Punkte in der Ebene genommenen Abtastdatenpunkte des Targetkrakels mit Gruppen von Abtastdatenpunkten vom Korpus verglichen, und wieder als Punkte in der Ebene genommen.
  • Die neuartige Technik der vorliegenden Erfindung arbeitet an einer auf Krakeln basierenden Datenstruktur, die in dem Sinne, dass sie eine Folge von mit Bezug auf den Inhalt undifferenzierten Signalen ist, vollständig unklassifiziert und nicht eine Datenstruktur von Schablonen oder Prototypen ist, für welche ein Target speziell klassifiziert zu sein hat.

Claims (8)

1. Verfahren zum Betreiben eines Systems, das eine Signalquelle (154) zum Bereitstellen von auf Krakeln basierenden Daten, einen Speicher (110) zum Speichern von auf Krakeln basierenden Daten und einen zum Empfang von Signalen angeschlossenen Prozessor (140) enthält; wobei das Verfahren umfasst:
Aufnehmen von auf Krakeln basierenden Targetdaten (Schritt 208) von der Signalquelle (154); wobei die auf Krakeln basierenden Targetdaten eine Vielzahl von Target-Musterdatenpunkten (20, 22) enthalten, die einen ersten Bewegungspfad (12) während eines ersten Zeitraums einer Target-Krakel bezeichnen;
Schaffen einer auf Krakeln beruhenden Datenstruktur (126), die nachfolgend als Korpus- Datenstruktur bezeichnet und die in dem Systemspeicher (110) gespeichert wird, wobei die Korpus-Datenstruktur Information über eine Vielzahl von Korpus-Krakeln bezeichnet und für jeden jeweiligen Korpus-Krakel eine Vielzahl von Korpus-Musterdatenpunkten enthält, welche einen jeweiligen Bewegungspfad über einen Zeitraum des jeweiligen Korpus-Krakels bezeichnen;
Gruppieren der jeweiligen Vielzahlen von Korpus-Musterdatenpunkten (Schritt 220) in eine Vielzahl von Korpus-Krakelsequenzen von Musterdatenpunkten; wobei jede Korpus-Krakelsequenz mindestens zwei Musterdatenpunkte enthält;
Vergleichen der auf Krakeln basierenden Targetdaten (Schritt 228) mit jeder Korpus- Krakelfolge, um zu bestimmen, ob die auf Krakeln basierenden Targetdaten mindestens mit einer der Korpus-Krakelfolgen übereinstimmen; und
Erzeugen einer Übereinstimmungsliste (Schritt 234) von übereinstimmenden Korpus-Krakelfolgen, die mit den auf Krakeln beruhenden Targetdaten übereinstimmen, wobei die Liste für jede übereinstimmende Korpus-Krakelfolge einen Ort in der Korpus-Datenstruktur der passenden Korpus-Krakelfolge enthält.
2. Verfahren nach Anspruch 1, bei dem die auf Krakeln beruhenden Targetdaten erste und zweite Striche (12, 14) enthalten, die in der Zeit aufeinanderfolgen; und bei dem das Verfahren weiter vor dem Vergleichen der auf Krakeln basierenden Targetdaten mit jeder Korpus- Krakelfolge ein Verketten (Schritt 214) des letzten Musterdatenpunktes des ersten Striches (12) mit dem ersten Musterdatenpunkt des zweiten Striches (14) in eine Target-Krakelfolge der ersten Vielzahl von Musterdatenpunkten enthält; wobei jede Korpus-Krakelfolge mit der Target-Krakelfolge verglichen wird.
3. Verfahren nach Anspruch 1 oder 2, das weiter enthält
Erzeugen eines Bildes mit Benutzung der Übereinstimmungsliste; welches Bild Anzeigemerkmale enthält, die mindestens eine in der Übereinstimmungsliste enthaltene übereinstimmende Korpus-Krakelfolge bezeichnet; und
Präsentieren des Bildes einem Systembenutzer an einem in dem System enthaltenen Anzeigegerät.
4. Verfahren nach einem der Ansprüche 1 bis 3, bei dem, wenn die auf Krakeln basierenden Targetdaten (130) nicht mit irgendeiner der Korpus-Krakelfolgen übereinstimmen, die Übereinstimmungsliste leer ist.
5. Verfahren nach einem der Ansprüche 1 bis 4, bei dem die in dem Systemspeicher (110) gespeicherte auf Krakeln basierende Datenstruktur (126) von Bilddefinitionsdaten, welche ein Bild einschließlich einer Vielzahl von Anzeigemerkmalen definieren, gewandelt wurde.
6. Verfahren nach Anspruch 5, bei dem die in dem Bild enthaltenen Anzeigemerkmale Krakel darstellen.
7. Prozessorgesteuertes System, welches umfasst:
eine Signalquelle (154) zum Schaffen von auf Krakeln basierenden Targetdaten, die eine erste Vielzahl von Musterpunkten (20, 22) einschließen, welche einen ersten Bewegungspfad (12) während eines ersten Zeitraums einer ersten Krakel enthalten;
einen zum Empfangen der auf Krakeln beruhenden Targetdaten von der Signalquelle (154) angeschlossenen Prozessor (140); und
Speicher (110) zum Speichern von Daten; wobei die in dem Speicher (110) gespeicherten Daten Befehlsdaten (116) enthalten, welche Befehle bezeichnen, die der Prozessor (140) ausführen kann, und eine auf Krakeln basierende Datenstruktur (126); und die auf Krakeln beruhende Datenstruktur Information über Krakeln bezeichnet und für jeden jeweiligen Krakel eine Vielzahl von Musterdatenpunkten enthält, die einen jeweiligen Bewegungspfad über einen jeweiligen Zeitraum des jeweiligen Krakels enthalten;
ein Prozessor (140), der weiter zum Zugriff auf in dem Speicher gespeicherten Daten angeschlossen ist;
wobei der Prozessor (140) beim Ausführen der Befehle in Reaktion auf Empfangen der auf Krakeln basierenden Targetdaten von der Signalquelle (154),
die zweite Vielzahl von Musterdatenpunkten zu einer Vielzahl von Korpus-Krakelfolgen gruppiert (Schritt 220); von denen jede Korpus-Krakelfolge mindestens zwei Musterdatenpunkte enthält;
die auf Krakeln basierenden Targetdaten mit jeder Korpus-Krakelfolge vergleicht (Schritt 228), um zu bestimmen, ob die auf Krakeln basierenden Targetdaten mit einer der Korpus- Krakelfolgen übereinstimmen; und
eine Übereinstimmungsliste von Korpus-Krakelfolgen, welche mit den auf Krakeln basierenden Targetdaten übereinstimmen, erzeugt (Schritt 234); wobei die Übereinstimmungsliste für jede Korpus-Krakelfolge den Ort der übereinstimmenden Korpus-Krakelfolge in der auf Krakeln basierenden Datenstruktur enthält.
8. Gegenstand (120) der Herstellung zur Verwendung in einem prozessorgesteuerten System, das ein Benutzereingabe (154) zum Empfangen von Signalen enthält, welche Betätigungen und Anfragen eines Systembenutzers bezeichnen; einen Speicher (110) zum Speichern von Daten; ein Speichermedium-Zugriffsgerät (115) zum Zugriff auf ein Medium, das Daten speichert; und einen zum Empfang von Daten von dem Benutzereingabegerät (154) und zum Zugriff zu den in dem Speicher (110) gespeicherten Daten angeschlossenen Prozessor (140), welcher Prozessor weiter zum Empfang von Daten von dem Speichermedium- Zugriffsgerät (115) angeschlossen ist; wobei der Gegenstand umfasst:
ein Datenspeichermedium (122), auf das durch das Speichermedium-Zugriffsgerät (115) zugegriffen werden kann, wenn der Gegenstand in dem System benutzt wird; und
in dem Datenspeichermedium (122) gespeicherte Daten (128), so dass das Speichermedium-Zugriffsgerät (115) die gespeicherten Daten zu dem Prozessor (114) schaffen kann, wenn der Gegenstand (120) in dem System benutzt wird; wobei die gespeicherten Daten umfassen:
Krakel-Empfangsbefehls-Targetdaten (124), welche Eingabebefehle bezeichnen, die der Prozessor (140) ausführen kann, um auf Krakeln beruhende Targetdaten von dem Benutzereingabegerät (154) zu empfangen; und
Betriebsausführungs-Befehlsdaten, welche Reaktionsbefehle bezeichnen, die der Prozessor (140) ausführen kann, um Betätigungen zum Suchen nach den auf Krakeln basierenden Targetdaten in einer auf Krakeln basierenden in dem Speicher (110) gespeicherten Datenstruktur (126) auszuführen in Reaktion auf die auf Krakeln beruhenden Targetdaten;
wenn die auf Krakeln beruhenden Targetdaten einschließlich einer Vielzahl von Musterdatenpunkten, die einen Bewegungspfad während eines Zeitraum eines Krakels bezeichnen, empfangen werden, wobei Ausführen der Reaktionsbefehle den Prozessor (140) veranlassen, eine Vielzahl von in der auf Krakeln basierenden Datenstruktur enthaltenen Musterdatenpunkten zu einer Vielzahl von Korpus-Krakelfolgen von Musterdatenpunkten zu gruppieren und die auf Krakeln basierenden Targetdaten mit jeder Korpus-Krakelfolge zu vergleichen, um zu bestimmen, ob die auf Krakeln beruhenden Targetdaten mit zumindest einer der Korpus-Krakelfolgen übereinstimmen;
wenn eine übereinstimmende Korpus-Krakelfolge mit den auf Krakeln basierenden Targetdaten zur Übereinstimmung gebracht ist, Ausführen der Reaktionsbefehle, die den Prozessor (140) veranlassen, eine den Ort der übereinstimmenden Korpus-Krakelfolge enthaltende Übereinstimmungsliste zu erzeugen.
DE69515371T 1994-06-06 1995-06-02 Suche und Vergleich von nicht-erkannter Handschrift Expired - Lifetime DE69515371T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/254,382 US5687254A (en) 1994-06-06 1994-06-06 Searching and Matching unrecognized handwriting

Publications (2)

Publication Number Publication Date
DE69515371D1 DE69515371D1 (de) 2000-04-13
DE69515371T2 true DE69515371T2 (de) 2000-07-27

Family

ID=22964086

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69515371T Expired - Lifetime DE69515371T2 (de) 1994-06-06 1995-06-02 Suche und Vergleich von nicht-erkannter Handschrift

Country Status (4)

Country Link
US (1) US5687254A (de)
EP (1) EP0686931B1 (de)
JP (1) JP3483982B2 (de)
DE (1) DE69515371T2 (de)

Families Citing this family (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US5940534A (en) * 1995-07-17 1999-08-17 Nippon Telegraph And Telephone Corporation On-line handwritten character recognition using affine transformation to maximize overlapping of corresponding input and reference pattern strokes
JP3535624B2 (ja) * 1995-09-21 2004-06-07 キヤノン株式会社 検索装置及び方法
JP3744997B2 (ja) * 1996-01-12 2006-02-15 キヤノン株式会社 文字認識装置及びその方法
US5832474A (en) * 1996-02-26 1998-11-03 Matsushita Electric Industrial Co., Ltd. Document search and retrieval system with partial match searching of user-drawn annotations
US5946499A (en) * 1996-05-10 1999-08-31 Apple Computer, Inc. Method and apparatus for processing text inputs from multiple input devices in a plurality of applications
US6556712B1 (en) * 1996-05-23 2003-04-29 Apple Computer, Inc. Methods and apparatus for handwriting recognition
JP3904637B2 (ja) * 1996-09-13 2007-04-11 株式会社東芝 情報入力装置及び方法
US5970455A (en) * 1997-03-20 1999-10-19 Xerox Corporation System for capturing and retrieving audio data and corresponding hand-written notes
US5953451A (en) * 1997-06-19 1999-09-14 Xerox Corporation Method of indexing words in handwritten document images using image hash tables
US6260044B1 (en) 1998-02-04 2001-07-10 Nugenesis Technologies Corporation Information storage and retrieval system for storing and retrieving the visual form of information from an application in a database
US6285786B1 (en) * 1998-04-30 2001-09-04 Motorola, Inc. Text recognizer and method using non-cumulative character scoring in a forward search
JP4136066B2 (ja) 1998-05-11 2008-08-20 パイオニア株式会社 文書データ作成装置及び文字表示装置
US6421453B1 (en) * 1998-05-15 2002-07-16 International Business Machines Corporation Apparatus and methods for user recognition employing behavioral passwords
US6266639B1 (en) * 1998-05-22 2001-07-24 At&T Corp Method and apparatus for providing notification of pre-established shorthand notation
WO1999064982A1 (en) * 1998-06-09 1999-12-16 Kent Ridge Digital Labs A recognition process
US6343148B2 (en) * 1998-07-22 2002-01-29 International Business Machines Corporation Process for utilizing external handwriting recognition for personal data assistants
US6304674B1 (en) 1998-08-03 2001-10-16 Xerox Corporation System and method for recognizing user-specified pen-based gestures using hidden markov models
WO2000019383A2 (en) 1998-09-11 2000-04-06 Loquitor Technologies Llc Generation and detection of induced current using acoustic energy
US6529643B1 (en) 1998-12-21 2003-03-04 Xerox Corporation System for electronic compensation of beam scan trajectory distortion
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
AUPQ439299A0 (en) * 1999-12-01 1999-12-23 Silverbrook Research Pty Ltd Interface system
US6830196B1 (en) 1999-05-25 2004-12-14 Silverbrook Research Pty Ltd Identity-coded surface region
US7170499B1 (en) 1999-05-25 2007-01-30 Silverbrook Research Pty Ltd Handwritten text capture via interface surface
US7243835B2 (en) 1999-05-25 2007-07-17 Silverbrook Research Pty Ltd Competition entry via label
US7142196B1 (en) * 1999-10-12 2006-11-28 Autodesk, Inc. Geographical data markup on a personal digital assistant (PDA)
US7082436B1 (en) 2000-01-05 2006-07-25 Nugenesis Technologies Corporation Storing and retrieving the visual form of data
US7142205B2 (en) 2000-03-29 2006-11-28 Autodesk, Inc. Single gesture map navigation graphical user interface for a personal digital assistant
US7266236B2 (en) * 2000-05-03 2007-09-04 California Institute Of Technology Accelerated handwritten symbol recognition in a pen based tablet computer
US6711699B1 (en) * 2000-05-04 2004-03-23 International Business Machines Corporation Real time backup system for information based on a user's actions and gestures for computer users
US6993328B1 (en) * 2000-05-08 2006-01-31 Nokia Corporation Method for over the air mobile station management
US6625599B1 (en) * 2000-05-18 2003-09-23 Rajendra Kumar Bera Method and apparatus for data searching and computer-readable medium for supplying program instructions
US7397949B2 (en) * 2000-06-21 2008-07-08 Microsoft Corporation Serial storage of ink and its properties
US7298903B2 (en) * 2001-06-28 2007-11-20 Microsoft Corporation Method and system for separating text and drawings in digital ink
US6900819B2 (en) * 2001-09-14 2005-05-31 Fuji Xerox Co., Ltd. Systems and methods for automatic emphasis of freeform annotations
US7120320B2 (en) * 2001-09-21 2006-10-10 Anoto Ab Method and apparatus for displaying a handwritten message based on position and time data
SE520022C2 (sv) * 2001-09-21 2003-05-06 Anoto Ab C O C Technologies Ab Förfarande och anordning för segmentering av handskrivna objekt
AUPR824301A0 (en) * 2001-10-15 2001-11-08 Silverbrook Research Pty. Ltd. Methods and systems (npw001)
KR20030032499A (ko) * 2001-10-18 2003-04-26 한국전자통신연구원 시퀀스 데이터베이스에서 타임 워핑 기반의 서브시퀀스매칭방법
US7712028B2 (en) * 2001-10-19 2010-05-04 Xerox Corporation Using annotations for summarizing a document image and itemizing the summary based on similar annotations
US20040034832A1 (en) * 2001-10-19 2004-02-19 Xerox Corporation Method and apparatus for foward annotating documents
AUPR890201A0 (en) 2001-11-16 2001-12-06 Silverbrook Research Pty. Ltd. Methods and systems (npw005)
AUPS020302A0 (en) * 2002-01-31 2002-02-21 Silverbrook Research Pty. Ltd. Methods and systems (npw007)
US6990639B2 (en) * 2002-02-07 2006-01-24 Microsoft Corporation System and process for controlling electronic components in a ubiquitous computing environment using multimodal integration
US6938222B2 (en) * 2002-02-08 2005-08-30 Microsoft Corporation Ink gestures
US7062090B2 (en) * 2002-06-28 2006-06-13 Microsoft Corporation Writing guide for a free-form document editor
AU2002952106A0 (en) * 2002-10-15 2002-10-31 Silverbrook Research Pty Ltd Methods and systems (npw008)
JP2006506759A (ja) * 2002-11-12 2006-02-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 身振り認知に基づいた装置の使用を可能にする使用許可手段を有する装置
US20050032030A1 (en) * 2003-08-04 2005-02-10 Tzong-Wei Uen Digital notebook
WO2005017768A1 (en) * 2003-08-15 2005-02-24 Silverbrook Research Pty Ltd Improving accuracy in searching digital ink
US20050114115A1 (en) * 2003-11-26 2005-05-26 Karidis John P. Typing accuracy relaxation system and method in stylus and other keyboards
US8442331B2 (en) 2004-02-15 2013-05-14 Google Inc. Capturing text from rendered documents using supplemental information
US7707039B2 (en) * 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
FI117308B (fi) * 2004-02-06 2006-08-31 Nokia Corp Eleohjausjärjestelmä
KR100587540B1 (ko) * 2004-02-14 2006-06-08 삼성전자주식회사 디지털 잉크 질의 검색 장치 및 방법
US10635723B2 (en) 2004-02-15 2020-04-28 Google Llc Search engines and systems with handheld document data capture devices
US7812860B2 (en) 2004-04-01 2010-10-12 Exbiblio B.V. Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US8081849B2 (en) 2004-12-03 2011-12-20 Google Inc. Portable scanning and memory device
US20060081714A1 (en) 2004-08-23 2006-04-20 King Martin T Portable scanning device
US7990556B2 (en) 2004-12-03 2011-08-02 Google Inc. Association of a portable scanner with input/output and storage devices
US9008447B2 (en) 2004-04-01 2015-04-14 Google Inc. Method and system for character recognition
US9143638B2 (en) 2004-04-01 2015-09-22 Google Inc. Data capture from rendered documents using handheld device
US7894670B2 (en) 2004-04-01 2011-02-22 Exbiblio B.V. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US9116890B2 (en) 2004-04-01 2015-08-25 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US8146156B2 (en) 2004-04-01 2012-03-27 Google Inc. Archive of text captures from rendered documents
US8713418B2 (en) 2004-04-12 2014-04-29 Google Inc. Adding value to a rendered document
US8874504B2 (en) 2004-12-03 2014-10-28 Google Inc. Processing techniques for visual capture data from a rendered document
US8620083B2 (en) 2004-12-03 2013-12-31 Google Inc. Method and system for character recognition
US8489624B2 (en) 2004-05-17 2013-07-16 Google, Inc. Processing techniques for text capture from a rendered document
US8346620B2 (en) 2004-07-19 2013-01-01 Google Inc. Automatic modification of web pages
US7372993B2 (en) * 2004-07-21 2008-05-13 Hewlett-Packard Development Company, L.P. Gesture recognition
US7721197B2 (en) * 2004-08-12 2010-05-18 Microsoft Corporation System and method of displaying content on small screen computing devices
US8160363B2 (en) * 2004-09-25 2012-04-17 Samsung Electronics Co., Ltd Device and method for inputting characters or drawings in a mobile terminal using a virtual screen
US7561740B2 (en) * 2004-12-10 2009-07-14 Fuji Xerox Co., Ltd. Systems and methods for automatic graphical sequence completion
WO2006091156A1 (en) * 2005-02-28 2006-08-31 Zi Decuma Ab Recognition graph
US7813597B2 (en) 2005-03-18 2010-10-12 The Invention Science Fund I, Llc Information encoded in an expression
US8340476B2 (en) 2005-03-18 2012-12-25 The Invention Science Fund I, Llc Electronic acquisition of a hand formed expression and a context of the expression
US8749480B2 (en) 2005-03-18 2014-06-10 The Invention Science Fund I, Llc Article having a writing portion and preformed identifiers
US20060212430A1 (en) * 2005-03-18 2006-09-21 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Outputting a saved hand-formed expression
EP2067119A2 (de) 2006-09-08 2009-06-10 Exbiblio B.V. Optische scanner, zum beispiel tragbare optische scanner
US20080104020A1 (en) * 2006-10-27 2008-05-01 Microsoft Corporation Handwritten Query Builder
DE102007011574A1 (de) * 2007-03-08 2008-09-11 Srs-Management Gmbh Verfahren zur Korrektur von elektronisch erfassten handschriftlichen Notizen
US8094939B2 (en) * 2007-06-26 2012-01-10 Microsoft Corporation Digital ink-based search
US8315482B2 (en) * 2007-06-26 2012-11-20 Microsoft Corporation Integrated platform for user input of digital ink
US8683582B2 (en) 2008-06-16 2014-03-25 Qualcomm Incorporated Method and system for graphical passcode security
US8146020B2 (en) * 2008-07-24 2012-03-27 Qualcomm Incorporated Enhanced detection of circular engagement gesture
EP2327005B1 (de) * 2008-07-25 2017-08-23 Qualcomm Incorporated Verbesserte erfassung einer winkgeste
US20100100866A1 (en) * 2008-10-21 2010-04-22 International Business Machines Corporation Intelligent Shared Virtual Whiteboard For Use With Representational Modeling Languages
US20100114619A1 (en) * 2008-10-30 2010-05-06 International Business Machines Corporation Customized transformation of free-form business concepts to semantically rich business models
US9501694B2 (en) 2008-11-24 2016-11-22 Qualcomm Incorporated Pictorial methods for application selection and activation
WO2010096192A1 (en) 2009-02-18 2010-08-26 Exbiblio B.V. Interacting with rendered documents using a multi-function mobile device, such as a mobile phone
EP2406767A4 (de) 2009-03-12 2016-03-16 Google Inc Automatische bereitstellung von mit erfassten informationen, z. b. in echtzeit erfassten informationen, assoziierten inhalten
US8447066B2 (en) 2009-03-12 2013-05-21 Google Inc. Performing actions based on capturing information from rendered documents, such as documents under copyright
US8306329B2 (en) * 2009-08-17 2012-11-06 Indian Institute Of Science System and method for searching handwritten texts
CN102012900B (zh) * 2009-09-04 2013-01-30 阿里巴巴集团控股有限公司 信息检索方法和系统
FR2950713A1 (fr) * 2009-09-29 2011-04-01 Movea Sa Systeme et procede de reconnaissance de gestes
US9081799B2 (en) 2009-12-04 2015-07-14 Google Inc. Using gestalt information to identify locations in printed information
US9323784B2 (en) 2009-12-09 2016-04-26 Google Inc. Image search using text-based elements within the contents of images
US8827710B2 (en) 2011-05-19 2014-09-09 Microsoft Corporation Realtime user guidance for freehand drawing
US9646313B2 (en) * 2011-12-13 2017-05-09 Microsoft Technology Licensing, Llc Gesture-based tagging to view related content
CN103713730B (zh) * 2012-09-29 2018-03-20 炬才微电子(深圳)有限公司 应用于智能终端的空中手势识别方法及装置
IN2013CH00469A (de) 2013-01-21 2015-07-31 Keypoint Technologies India Pvt Ltd
EP2946272A4 (de) * 2013-01-21 2016-11-02 Keypoint Technologies India Pvt Ltd Texteingabesystem und verfahren
JP5752157B2 (ja) * 2013-01-31 2015-07-22 シャープ株式会社 文字表示装置及び文字表示方法
US9880990B2 (en) 2013-03-14 2018-01-30 Microsoft Technology Licensing, Llc Leveraging previous instances of handwriting for handwriting beautification and other applications
US9465985B2 (en) 2013-06-09 2016-10-11 Apple Inc. Managing real-time handwriting recognition
US20140363082A1 (en) * 2013-06-09 2014-12-11 Apple Inc. Integrating stroke-distribution information into spatial feature extraction for automatic handwriting recognition
US9495620B2 (en) 2013-06-09 2016-11-15 Apple Inc. Multi-script handwriting recognition using a universal recognizer
US10032065B2 (en) 2013-10-25 2018-07-24 Wacom Co., Ltd. Dynamic handwriting verification, handwriting-based user authentication, handwriting data generation, and handwriting data preservation
US9235748B2 (en) 2013-11-14 2016-01-12 Wacom Co., Ltd. Dynamic handwriting verification and handwriting-based user authentication
JP5841297B1 (ja) 2013-10-25 2016-01-13 株式会社ワコム 手書きデータ出力方法及びコンピュータシステム
US9418281B2 (en) * 2013-12-30 2016-08-16 Google Inc. Segmentation of overwritten online handwriting input
CN104267835B (zh) * 2014-09-12 2017-08-08 西安闻泰电子科技有限公司 自适应手势识别方法
TWI569176B (zh) * 2015-01-16 2017-02-01 新普科技股份有限公司 手寫軌跡識別方法與系統
US9665786B2 (en) * 2015-02-20 2017-05-30 Conduent Business Services, Llc Confirming automatically recognized handwritten answers
JP6515603B2 (ja) * 2015-03-13 2019-05-22 日本電気株式会社 電子ホワイトボードシステム、電子ホワイトボードアクセス権付与方法およびそのプログラム
US10347016B2 (en) * 2016-01-12 2019-07-09 Monotype Imaging Inc. Converting font contour curves
DK179329B1 (en) 2016-06-12 2018-05-07 Apple Inc Handwriting keyboard for monitors
CN106127125B (zh) * 2016-06-16 2019-04-02 山东大学 基于人体行为特征的分布式dtw人体行为识别方法
US10936792B2 (en) 2017-12-21 2021-03-02 Monotype Imaging Inc. Harmonizing font contours
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
CN111159223B (zh) * 2019-12-31 2021-09-03 武汉大学 一种基于结构化嵌入的交互式代码搜索方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE31200F1 (en) * 1976-01-19 1990-05-29 Raster scan display apparatus for dynamically viewing image elements stored in a random access memory array
US4731857A (en) * 1984-06-29 1988-03-15 International Business Machines Corporation Recognition system for run-on handwritten characters
JPS6282486A (ja) * 1985-10-08 1987-04-15 Hitachi Ltd オンライン手書き図形認識装置
US5191622A (en) * 1987-07-17 1993-03-02 Hitachi, Ltd. Hand-written character recognition apparatus with a personal dictionary preparation function
AU624205B2 (en) * 1989-01-23 1992-06-04 General Electric Capital Corporation Variable length string matcher
US5062143A (en) * 1990-02-23 1991-10-29 Harris Corporation Trigram-based method of language identification
US5396588A (en) * 1990-07-03 1995-03-07 Froessl; Horst Data processing using digitized images
US5161245A (en) * 1991-05-01 1992-11-03 Apple Computer, Inc. Pattern recognition system having inter-pattern spacing correction
US5267332A (en) * 1991-06-19 1993-11-30 Technibuild Inc. Image recognition system
US5235651A (en) * 1991-08-06 1993-08-10 Caere Corporation Rotation of images for optical character recognition
US5321770A (en) * 1991-11-19 1994-06-14 Xerox Corporation Method for determining boundaries of words in text
US5333209A (en) * 1992-03-24 1994-07-26 At&T Bell Laboratories Method of recognizing handwritten symbols
US5463696A (en) * 1992-05-27 1995-10-31 Apple Computer, Inc. Recognition system and method for user inputs to a computer system
US5392363A (en) * 1992-11-13 1995-02-21 International Business Machines Corporation On-line connected handwritten word recognition by a probabilistic method
US5438630A (en) * 1992-12-17 1995-08-01 Xerox Corporation Word spotting in bitmap images using word bounding boxes and hidden Markov models
US5528701A (en) * 1994-09-02 1996-06-18 Panasonic Technologies, Inc. Trie based method for indexing handwritten databases
DE69428527T2 (de) * 1994-07-04 2002-05-08 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto Kritzlervergleich

Also Published As

Publication number Publication date
JP3483982B2 (ja) 2004-01-06
US5687254A (en) 1997-11-11
EP0686931A2 (de) 1995-12-13
EP0686931B1 (de) 2000-03-08
EP0686931A3 (de) 1997-01-08
DE69515371D1 (de) 2000-04-13
JPH07334296A (ja) 1995-12-22

Similar Documents

Publication Publication Date Title
DE69515371T2 (de) Suche und Vergleich von nicht-erkannter Handschrift
DE69428590T2 (de) Auf kombiniertem lexikon und zeichenreihenwahrscheinlichkeit basierte handschrifterkennung
DE69328802T2 (de) Vorrichtung und Verfahren zur Identifizierung von Eingabedaten, die von einer Stift-basierten Benutzerschnittstelle erzeugt werden
Story et al. The RightPages image-based electronic library for alerting and browsing
DE69731418T2 (de) Such- und Wiederauffindungssystem für Dokumente mit Suchverfahren von teilweise passenden, benutzergezeichneten Anmerkungen
DE69814104T2 (de) Aufteilung von texten und identifizierung von themen
DE69610478T2 (de) Zeichenerkennungssystembestimmung von abgetasteten und "echtzeit"-handgeschriebenen zeichen
DE60316503T2 (de) Klassifikationsanalyse von Freiformeingaben mit digitaler Tinte
DE69325204T2 (de) Verfahren und Vorrichtung zum Weiterentwickeln einer Anfangssammlung von Handschriftprototypen zu einer anwender-spezifischen Sammlung
DE69230092T2 (de) Verfahren und Gerät zur Zeichenerkennung
DE69425607T2 (de) Selektive Einrichtung und Verfahren zur Dokumentenwiederauffindung.
DE69829074T2 (de) Identifizierung der sprache und des zeichensatzes aus text-repräsentierenden daten
DE60315506T2 (de) Identifizierung von kritischen merkmalen in einem geordneten skala-raum
Wilkinson et al. Neural Ctrl-F: segmentation-free query-by-string word spotting in handwritten manuscript collections
DE10317234A1 (de) Systeme und Verfahren für eine verbesserte Genauigkeit von einem extrahierten digitalen Inhalt
Singh et al. Benchmark databases of handwritten Bangla-Roman and Devanagari-Roman mixed-script document images
Panyam et al. Modeling of palm leaf character recognition system using transform based techniques
Kia et al. A novel method for recognition of Persian alphabet by using fuzzy neural network
Mohiuddin et al. Unconstrained Bangla online handwriting recognition based on MLP and SVM
DE102019125937A1 (de) Informationsverarbeitungsverfahren und elektronische Vorrichtung
DE69419837T2 (de) Vorrichtung zur kontinuierlichen Erkennung der Gebärdensprache und Eingangvorrichtung dafür
Singh et al. A benchmark dataset of online handwritten gurmukhi script words and numerals
Vellingiriraj et al. Text analysis and information retrieval of historical Tamil ancient documents using machine translation in image zoning
DE102017106663A1 (de) Informationsverarbeitungsverfahren und elektronisches gerät
EP1603072A1 (de) Verfahren und Einrichtung zur Strukturanalyse eines Dokuments

Legal Events

Date Code Title Description
8364 No opposition during term of opposition