TECHNISCHES GEBIETTECHNICAL AREA
Die Offenbarung betrifft eine Zeichenerkennung für überlappende Benutzer-Texteingabe.The disclosure relates to character recognition for overlapping user text input.
HINTERGRUNDBACKGROUND
Benutzer können ihre Interaktion mit Rechnervorrichtungen wie z. B. Mobiltelefonen, Personal Data Assistants (PDAs), Desktop-Computern, Signature-Pads, Tablet-Computern oder anderen Mobilvorrichtungen oftmals über berührungsempfindliche Eingabevorrichtungen wie z. B. berührungsempfindliche Bildschirme vornehmen. Typische berührungsempfindliche Bildschirme (hier generell als ”Touch Screens” bezeichnet) ermöglichen einem Benutzer das Eingeben von Text durch Schreiben auf den Bildschirm, z. B. mit Hilfe eines Stifts oder eines Fingers. Einige Touch Screens, insbesondere diejenigen von kleineren Vorrichtungen, weisen nur einen begrenzten Bereich auf, innerhalb dessen geschrieben werden kann. Typische Zeichenerkennungs-Software unterscheidet ein Zeichen von einem anderen, indem sie geschriebene Zeichen so neudefiniert, als ob sie in einem einzigen Schreibstrich durchgezogen wären, so dass ein Benutzer, bevor er ein zweites Zeichen schreibt, eine Timeout-Periode abwarten muss oder einen horizontalen Versatz zwischen den Zeichen einfügen muss.Users can change their interaction with computing devices such as: As mobile phones, personal data assistants (PDAs), desktop computers, Signature pads, tablet computers or other mobile devices often via touch-sensitive input devices such. B. make touch-sensitive screens. Typical touch screens (generally referred to herein as "touch screens") allow a user to input text by writing to the screen, e.g. B. with the help of a pen or a finger. Some touch screens, especially those of smaller devices, have only a limited scope within which to write. Typical character recognition software distinguishes one character from another by redefining written characters as though they were traversed in a single stroke so that a user must wait for a time-out period or a horizontal offset before writing a second character must insert between the characters.
ÜBERBLICKOVERVIEW
Gemäß der Erfindung werden Techniken verwendet, die in eine Rechnervorrichtung eingegebene handgeschriebene Zeichen erkennen, welche mindestens teilweise übereinander geschrieben sind. Die handgeschriebenen Zeichen können aus einem oder mehreren Federzügen gebildet werden. Ein Benutzer kann Zeichen oder Teile von Wörtern über annähernd den gleichen Bereich des grafischen Benutzer-Interface schreiben (d. h. übereinander), ohne dass er ein Timeout zwischen den Zeichen-Eingaben abzuwarten braucht und ohne dass er eine Taste zu wählen oder eine andere Eingabe zu tätigen braucht, um die Vollständigkeit des Zeichens anzugeben, bevor er die Eingabe eines weiteren Zeichens vornimmt. Wenn ein Zeichen mindestens teilweise erkannt worden ist, kann eine auf einem Bildschirm erscheinende grafische Angabe, die der Benutzer-Eingaben entspricht, geändert werden. Bei diesen Änderungen kann es sich z. B. um ein Ausblenden oder ein Verändern von Größe oder Position der grafischen Angabe handeln.According to the invention, techniques are used which recognize handwritten characters input to a computing device which are at least partially written on top of each other. The handwritten characters can be formed from one or more Federzüge. A user may write characters (or portions of words) over approximately the same area of the graphical user interface (ie, one above the other) without having to wait for a timeout between the character inputs and without having to select a key or make another input to indicate the completeness of the character before entering another character. When a character has been at least partially recognized, a graphical indication appearing on a screen corresponding to the user input may be changed. These changes may be z. Example, to hide or change the size or position of the graphical representation.
Gemäß einem Beispiel wird ein Verfahren zum Erkennen von Zeichen vorgeschlagen. Das Verfahren umfasst das Empfangen einer sich auf eine Sequenz von Schreibstrichen beziehenden berührungsbasierten Eingabe an einem berührungsbasierten Interface einer Rechnervorrichtung, wobei ein erstes Sub-Set der Sequenz von Schreibstrichen einem ersten Bereich des berührungsbasierten Interface entspricht und ein zweites erstes Sub-Set der Sequenz von Schreibstrichen einem zweiten Bereich des berührungsbasierten Interface entspricht, der sich mit dem ersten Bereich mindestens teilweise überlappt. Das Verfahren umfasst ferner das Anzeigen einer graphischen Wiedergabe des ersten Sub-Sets der Sequenz von Schreibstrichen auf einer Ausgabevorrichtung, die mit der Rechnervorrichtung verbunden ist, und das Bestimmen eines Konfidenzniveaus dahingehend, ob ein erstes Zeichen näherungsweise dem ersten Sub-Set der Sequenz von Schreibstrichen entspricht, wobei das Konfidenzniveau mindestens einen ersten Konfidenz-Schwellwert erfüllt. Das Verfahren umfasst ferner das Ändern der Anzeige der graphischen Wiedergabe des ersten Sub-Sets der Sequenz von Schreibstrichen auf der Basis des Konfidenzniveaus, und das Zuführen des ersten Zeichens zu einem Verarbeitungsvorgang mittels einer an der Rechnervorrichtung ausgeführten Anwendung, wenn das Konfidenzniveau mindestens einen zweiten Konfidenz-Schwellwert erfüllt, wobei die Anwendung zum Verarbeiten von Zeichen ausgelegt ist, die aus einer berührungsbasierten Eingabe stammen.According to one example, a method for recognizing characters is proposed. The method includes receiving a touch-based input related to a sequence of strokes on a touch-based interface of a computing device, wherein a first subset of the sequence of strokes corresponds to a first region of the touch-based interface and a second first subset of the sequence of strokes corresponds to a second area of the touch-based interface that at least partially overlaps the first area. The method further includes displaying a graphical representation of the first subset of the sequence of strokes on an output device connected to the computing device and determining a confidence level as to whether a first character approximates the first subset of the sequence of strokes corresponds, wherein the confidence level meets at least a first confidence threshold. The method further comprises changing the display of the graphical representation of the first subset of the sequence of strokes based on the confidence level, and applying the first character to a processing operation using an application executed on the computing device if the confidence level is at least a second confidence Threshold, the application being designed to process characters derived from a touch-based input.
Gemäß einem weiteren Beispiel ist ein greifbares computerlesbares Medium vorgesehen, das Instruktionen aufweist, die einen programmierbaren Prozessor zum Durchführen von Operationen veranlassen. Die Instruktionen können das Empfangen einer berührungsbasierten Eingabe umfassen, die eine Sequenz von Schreibstrichen an einem berührungsbasierten Interface einer Rechnervorrichtung betreffen, wobei ein erstes Sub-Set der Sequenz von Schreibstrichen einem ersten grafischen Bereich des berührungsbasierten Interface entspricht und ein zweites erstes Sub-Set der Sequenz von Schreibstrichen einem zweiten grafischen Bereich des berührungsbasierten Interface entspricht, der sich mit dem ersten grafischen Bereich mindestens teilweise überlappt. Die Instruktionen können auch das Anzeigen einer graphischen Wiedergabe des ersten Sub-Sets der Sequenz von Schreibstrichen auf einer Ausgabevorrichtung, die mit der Rechnervorrichtung verbunden ist, und das Feststellen umfassen, dass das erste Sub-Set der Sequenz von Schreibstrichen einem ersten Zeichen unter Erfüllung mindestens eines ersten Konfidenz-Schwellwerts entspricht. Das Verfahren kann ferner das Ändern der graphischen Wiedergabe des ersten Sub-Sets der Sequenz von Schreibstrichen auf der Basis der Feststellung umfassen, dass das erste Sub-Set der Sequenz von Schreibstrichen dem ersten Zeichen entspricht. Die Instruktionen können ferner das Zuführen des ersten Zeichens zu einem Verarbeitungsvorgang mittels einer an der Rechnervorrichtung ausgeführten Anwendung umfassen, wobei die Anwendung zum Verarbeiten von Zeichen ausgelegt ist, die aus einer berührungsbasierten Eingabe stammen.In another example, a tangible computer-readable medium is provided having instructions that cause a programmable processor to perform operations. The instructions may include receiving a touch-based input concerning a sequence of strokes on a touch-based interface of a computing device, wherein a first subset of the sequence of strokes corresponds to a first graphical region of the touch-based interface and a second first subset of the sequence of strokes corresponds to a second graphical region of the touch-based interface that at least partially overlaps the first graphical region. The instructions may also include displaying a graphical representation of the first subset of the sequence of strokes on an output device connected to the computing device, and determining that the first subset of the sequence of strokes is a first character, satisfying at least corresponds to a first confidence threshold. The method may further comprise changing the graphical representation of the first subset of the sequence of strokes based on the determination that the first subset of the sequence of strokes corresponds to the first character. The instructions may further include supplying the first character to a processing operation using an application executed on the computing device wherein the application is adapted to process characters derived from a touch-based input.
Gemäß einem wiederum weiteren Beispiel ist eine Rechnervorrichtung vorgesehen, die einen oder mehrere Prozessoren aufweist. Die Rechnervorrichtung kann ferner eine Eingabevorrichtung zum Empfangen einer berührungsbasierten Benutzer-Eingabe einer Sequenz von Schreibstrichen aufweisen, die sich auf textbezogene Information bezieht, wobei die Sequenz von Schreibstrichen ein erstes Sub-Set der Sequenz von Schreibstrichen, das einem ersten Bereich der Eingabevorrichtung entspricht, und ein zweites erstes Sub-Set von Schreibstrichen aufweist, das einem zweiten Bereich der Eingabevorrichtung entspricht und sich mit dem ersten Sub-Set von Schreibstrichen mindestens teilweise überlappt. Die Rechnervorrichtung kann ferner eine Vorrichtung aufweisen, um festzustellen, welche Schreibstriche der Sequenz von Schreibstrichen in das erste Sub-Set der Sequenz von Schreibstrichen fallen, und um festzustellen, dass das erste Sub-Set der Sequenz von Schreibstrichen einem ersten Zeichen entspricht. Die Rechnervorrichtung kann ferner eine Ausgabevorrichtung aufweisen, um eine graphische Wiedergabe des ersten Sub-Sets der Sequenz von Schreibstrichen anzuzeigen, wobei die Ausgabevorrichtung die graphische Wiedergabe auf der Basis der Feststellung ändert, dass das erste Sub-Set der Sequenz von Schreibstrichen dem ersten Zeichen entspricht, wobei die Ausgabevorrichtung ferner das erste Zeichen ausgibt.In yet another example, a computing device is provided that includes one or more processors. The computing device may further comprise an input device for receiving a touch-based user input of a sequence of strokes relating to textual information, the sequence of strokes comprising a first subset of the sequence of strokes corresponding to a first region of the input device, and has a second first subset of strokes corresponding to a second region of the input device and at least partially overlapping the first subset of strokes. The computing device may further include means for determining which strokes of the sequence of strokes fall within the first subset of the sequence of strokes, and for determining that the first subset of the sequence of strokes corresponds to a first character. The computing device may further comprise an output device for displaying a graphical representation of the first subset of the sequence of strokes, the output device altering the graphical representation on the basis of determining that the first subset of the sequence of strokes corresponds to the first character wherein the output device further outputs the first character.
Die Details eines oder mehrerer Aspekte der Offenbarung werden in den beigefügten Zeichnungen und der nachstehenden Beschreibung dargelegt. Weitere Merkmale, Aufgaben und Vorteile der Offenbarung sind aus der Beschreibung und den Zeichnungen sowie aus den Ansprüchen ersichtlich.The details of one or more aspects of the disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the disclosure will be apparent from the description and drawings, and from the claims.
KURZBESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS
1 zeigt ein Blockschaltbild eines Beispiels einer Rechnervorrichtung, die eine oder mehrere Anwendungen ausführen und eine Benutzter-Eingabe empfangen kann, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung. 1 FIG. 12 is a block diagram of an example computing device that may execute one or more applications and receive a user input, in accordance with one or more aspects of the present disclosure.
2 zeigt ein Blockschaltbild weiterer Details eines Beispiels einer Rechnervorrichtung nach 1, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung. 2 shows a block diagram of further details of an example of a computing device 1 , in accordance with one or more aspects of the present disclosure.
3 zeigt ein Flussdiagramm eines Beispiels eines von einer Rechnervorrichtung durchführbaren Verfahrens zum Erkennen eines Zeichens, das einer Berührungseingabe entspricht, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung. 3 FIG. 12 shows a flowchart of one example of a method of recognizing a character that is responsive to a touch input device that corresponds to a touch input, in accordance with one or more aspects of the present disclosure.
4 zeigt eine konzeptuelle Darstellung eines Beispiels einer Sequenz von Schreibstrichen einer berührungsbasierten Eingabe, die von einer Rechnervorrichtung, in der ein Zeichenerkennungsmodul ausgebildet ist, erkannt werden kann, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung. 4 FIG. 3 is a conceptual illustration of an example of a sequence of touch-based input strobes that may be recognized by a computing device in which a character recognition module is formed, in accordance with one or more aspects of the present disclosure.
5A–5D 4 zeigen konzeptuelle Darstellungen eines Beispiels einer Sequenz seitens eines Benutzers eingegebener Schreibstriche, die von einem Zeichenerkennungsmodul analysiert werden können, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung. 5A - 5D 4 depicts conceptual illustrations of an example of a sequence of user input typewritten scripts that may be analyzed by a character recognition module, in accordance with one or more aspects of the present disclosure.
Gemäß der üblichen Praxis sind die verschiedenen beschriebenen Merkmale nicht maßstabsgetreu gezeichnet und sind derart dargestellt, dass Merkmale, die für die vorliegende Offenbarung relevant sind, hervorgehoben werden. In den Figuren und im Text sind gleiche Elemente durchgehend mit gleichen Bezugszeichen gekennzeichnet.In accordance with common practice, the various features described are not drawn to scale and are presented to emphasize features relevant to the present disclosure. In the figures and in the text, the same elements are marked with the same reference numerals throughout.
DETAILLIERTE BESCHREIBUNGDETAILED DESCRIPTION
Techniken der vorliegenden Offenbarung ermöglichen einer Rechnervorrichtung das Erkennen handgeschriebener Zeichen, die mindestens teilweise übereinander geschrieben sind. Ein Benutzer der Rechnervorrichtung gibt handgeschriebene Zeichen mittels eines Eingabevorgangs (z. B. einer Touch-Eingabe) ein, die aus einem oder mehreren Schreibstrichen besteht. Bei einem Zeichen kann es sich um jede Markierung handeln, die Information beinhaltet, wie z. B. – ohne darauf beschränkt zu sein – Buchstaben, Zahlen oder andere Symbole.Techniques of the present disclosure allow a computing device to recognize handwritten characters that are at least partially written on top of each other. A user of the computing device inputs handwritten characters by means of an input operation (eg, a touch input) consisting of one or more strokes. A mark can be any mark that contains information, such as: For example, but not limited to, letters, numbers or other symbols.
Ein Benutzer kann kontinuierlich Zeichen oder Teile von Wörtern über annähernd den gleichen Bereich des Bildschirms (d. h. übereinander) schreiben, ohne dass er auf ein Timeout zwischen den Zeichen-Eingaben zu warten oder eine andere Eingabe zu tätigen braucht, mit der er die Vollständigkeit des Zeichens angibt, bevor er die Eingabe eines weiteren Zeichens vornimmt. Auf dem Bildschirm kann eine grafische Anzeige erscheinen, die der Benutzer-Eingabe (hier als ”Tinte” bezeichnet) entspricht.A user may continuously write characters or portions of words over approximately the same area of the screen (ie, one above the other) without having to wait for a time-out between the character inputs or to make another input to check the completeness of the character indicates before entering another character. A graphical display corresponding to the user input (referred to herein as "ink") may appear on the screen.
Die Rechnervorrichtung kann ein Zeichenerkennungsmodul aufweisen, das die Zeichen automatisch voneinander trennt. Potenziell erkannte Zeichen können ein Konfidenzniveau aufweisen, welches das Maß der Präzision angibt, mit der das potentiell erkannte Zeichen der Benutzer-Eingabe entspricht. Wenn ein Zeichen mit einem Konfidenzniveau erkannt wird, das über einem ersten Konfidenz-Schwellwert liegt, kann die diesem erkannten Zeichen entsprechende grafische Wiedergabe der Benutzer-Eingabe mit einem Merkmal angezeigt werden, das angibt, dass das Zeichen aus der Benutzer-Eingabe heraus erkannt wird (z. B. in teilweise ausgeblendeter Form). Wenn ein Zeichen mit einem Konfidenzniveau erkannt wird, das über einem zweiten Konfidenz-Schwellwert liegt, kann das Erkennungsmodul das dieser Eingabe entsprechende Zeichen erzeugen, identifizieren oder zur Verwendung durch eine andere Anwendung vorsehen. Wenn das Zeichen mit einem über dem zweiten Konfidenz-Schwellwert liegenden Konfidenzniveau erkannt wird, kann die grafische Wiedergabe des erkannten Zeichens aus der Anzeige entfernt werden. Gemäß einigen Beispielen zeigt die Rechnereinheit diejenigen Zeichen an, die als Text erkannt werden. Die hier beschriebenen Techniken können auch auf einer anderen Basis als derjenigen einzelner Zeichen angewandt werden, z. B. auf der Basis von Worten oder Sätzen.The computing device may include a character recognition module that automatically separates the characters. Potentially recognized characters may have a confidence level indicating the degree of precision with which the potentially recognized character corresponds to the user input. If a character is detected with a confidence level above a first confidence threshold, the graphic representation of the user input corresponding to that recognized character may be displayed with a feature indicating that the character is from the User input is detected (eg in partially hidden form). If a character is detected with a confidence level above a second confidence threshold, the recognition engine may generate, identify, or provide for use by another application the character corresponding to that input. If the character is detected with a confidence level above the second confidence threshold, the graphical representation of the recognized character can be removed from the display. According to some examples, the computing unit displays the characters that are recognized as text. The techniques described herein may also be applied on a basis other than single characters, e.g. Based on words or sentences.
1 zeigt ein Blockschaltbild eines Beispiels einer Rechnervorrichtung 2, die eine oder mehrere Anwendungen (z. B. eine Texteingabe-Anwendung 8) ausführen und eine Benutzer-Eingabe 18 empfangen kann, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung. Die Rechnervorrichtung 2 kann gemäß einigen Beispielen eine tragbare Rechnervorrichtung (z. B. ein Mobiltelefon, ein Netbook, ein Laptop, einen Personal Data Assistant (PDA) oder eine Tablet-Vorrichtung) oder einen stationären Computer (z. B. einen Desktop-Computer) aufweisen oder einer derartige Vorrichtung sein oder ein Teil derselben sein, oder sie kann eine andere Rechnervorrichtung wie z. B. ein Signature Pad sein. Die Rechnervorrichtung 2 kann auch mit einem Netzwerk einschließlich eines verdrahteten oder drahtlosen Netzwerks verbunden sein. Ein Beispiel einer Rechnervorrichtung 2 wird anhand der nachstehend erläuterten 2 eingehender beschrieben. 1 shows a block diagram of an example of a computing device 2 containing one or more applications (for example, a text input application 8th ) and a user input 18 according to one or more aspects of the present disclosure. The computing device 2 According to some examples, it may include a portable computing device (eg, a mobile phone, a netbook, a laptop, a personal data assistant (PDA), or a tablet device) or a stationary computer (eg, a desktop computer) be such a device or be part of the same, or they may be another computing device such. B. be a signature pad. The computing device 2 may also be connected to a network including a wired or wireless network. An example of a computing device 2 will be explained with reference to the following 2 described in more detail.
Die Rechnervorrichtung 2 kann eine Eingabe-/Ausgabe-(”I/O”-)Vorrichtung 12 wie z. B. eine präsenz-sensitive Vorrichtung aufweisen, die in der Lage ist, eine Benutzer-Eingabe 18 von einem Benutzer 14 zu empfangen, wie z. B. zum Detektieren von Gesten. Gemäß einigen Beispielen ist die I/O-Vorrichtung 12 eine berührungsempfindliche Vorrichtung (z. B. Touch-Screen, Track-Pad, Track-Point oder dgl.), die in der Lage ist, eine Benutzer-Eingabe 18 von einem Benutzer 14 zu empfangen, wobei die Benutzer-Eingabe 18 eine Touch-Eingabe ist. Die I/O-Vorrichtung 12 kann gemäß einem Beispiel ein oder mehrere Signale erzeugen, die den Koordinaten einer an der I/O-Vorrichtung 12 berührten Position entsprechen. Diese Koordinaten können als Information an Komponenten der Rechnervorrichtung 2 (z. B. Texteingabe-Anwendung 8 in 1, Prozessor 30 oder Betriebssystem 44 in 2) übermittelt werden. Die I/O-Vorrichtung 12 kann ferner dem Benutzer 14 (z. B. akustische) Information anzeigen oder die Information anderweitig an ihn ausgeben. Beispielsweise kann die I/O-Vorrichtung 12 ein Zeichen 22 oder einen Cursor 24 anzeigen. Gemäß weiteren Beispielen kann die I/O-Vorrichtung 12 Video-Information oder andere graphische Information anzeigen. Die I/O-Vorrichtung 12 kann dem Benutzer 14 verschiedene Formen von Ausgabeinformation liefern, die anhand von 2 eingehender erläutert werden.The computing device 2 may include an input / output ("I / O") device 12 such as B. have a presence-sensitive device that is capable of user input 18 from a user 14 to receive, such. For detecting gestures. According to some examples, the I / O device is 12 a touch sensitive device (eg, touch screen, track pad, track point, or the like) that is capable of user input 18 from a user 14 to receive, taking the user input 18 is a touch input. The I / O device 12 According to one example, it may generate one or more signals corresponding to the coordinates of one of the I / O devices 12 correspond to touched position. These coordinates can be used as information to components of the computing device 2 (eg text input application 8th in 1 , Processor 30 or operating system 44 in 2 ). The I / O device 12 may also be the user 14 (eg, acoustic) to display information or otherwise output the information to him. For example, the I / O device 12 a sign 22 or a cursor 24 Show. In other examples, the I / O device may 12 Display video information or other graphic information. The I / O device 12 can the user 14 provide various forms of output information based on 2 be explained in more detail.
Gemäß einigen Beispielen kann die I/O-Vorrichtung 12 ein berührungsbasiertes Interface 4 und eine Anzeigevorrichtung 20 aufweisen. Gemäß einigen Beispielen können das berührungsbasierte Interface 4 und die Anzeigevorrichtung 20 zu einer einzigen Vorrichtung integriert sein, z. B. einen Touch Screen. Gemäß einem weiteren Beispiel können das berührungsbasierte Interface 4 und die Anzeigevorrichtung 20 separate Vorrichtungen sein; beispielsweise kann das berührungsbasierte Interface 4 ein Touch Pad oder Track Point sein, und die Anzeigevorrichtung 20 kann eine Flüssigkristallanzeige (”LCD”) sein.According to some examples, the I / O device may 12 a touch-based interface 4 and a display device 20 exhibit. According to some examples, the touch-based interface 4 and the display device 20 be integrated into a single device, for. B. a touch screen. As another example, the touch-based interface 4 and the display device 20 be separate devices; For example, the touch-based interface 4 a touch pad or track point, and the display device 20 may be a liquid crystal display ("LCD").
Der Benutzer 14 kann mit der I/O-Vorrichtung 12, z. B. einem berührungsempfindlichen Bildschirm, interagieren, indem er eine Benutzer-Eingabe 18 an der I/O-Vorrichtung 12 durchführt. Beispielsweise kann der Benutzer 14 eine Benutzer-Eingabe 18 mit der Hand auf die I/O-Vorrichtung 12 schreiben. Wenn der Benutzer 14 eine handgeschriebene Eingabe tätigt, kann die Benutzer-Eingabe 18 in Druckbuchstaben, Kursivschrift oder irgendeiner anderen geschriebenen oder gezeichneten Form erfolgen.The user 14 can with the I / O device 12 , z. A touch-sensitive screen, interacting with a user input 18 at the I / O device 12 performs. For example, the user may 14 a user input 18 with the hand on the I / O device 12 write. If the user 14 makes a handwritten input, the user input can 18 in block letters, italics or any other written or drawn form.
Die Benutzer-Eingabe 18 kann eine oder mehrere von dem Benutzer 14 durchgeführte Gesten aufweisen. Der Benutzer 14 kann eine Benutzer-Eingabe 18 durchführen, indem er einen oder mehrere Finger oder ein anders Mittel wie z. B. einen Stift 15 in Kontakt mit der I/O-Vorrichtung 12 platziert, bei der es sich z. B. um einen berührungsempfindlichen Bildschirm handelt. Der Stift 15 kann irgendeine Vorrichtung sein, die dem Benutzer 14 dabei hilft, mit der Hand auf das berührungsbasierte Interface 4 zu schreiben. Gemäß einem Beispiel kann der Benutzer 14 einen oder mehr Finger bewegen, während sich diese in Kontakt mit dem berührungsbasierten Interface 4 befinden. Die Benutzer-Eingabe 18 kann handgeschrieben sein und ein Zeichen aus einer natürlichen Sprache beinhalten. Zu den Zeichen aus einer natürlichen Sprache zählen Zahlen, Buchstaben, Symbole oder andere Indikatoren, die dazu geeignet sind, eine Bedeutung entweder unabhängig oder in Kombination mit anderen Zeichen mitzuteilen. Ein Set von Zeichen enthält gemäß einem Beispiel Zeichen aus einer natürlichen Sprache.The user input 18 can be one or more of the user 14 performed gestures. The user 14 can be a user input 18 by using one or more fingers or any other means, such as B. a pen 15 in contact with the I / O device 12 placed, which is z. B. is a touch-sensitive screen. The pencil 15 can be any device that suits the user 14 it helps with the hand on the touch-based interface 4 to write. According to one example, the user may 14 move one or more fingers while in contact with the touch-based interface 4 are located. The user input 18 can be handwritten and include a natural language character. Natural language characters include numbers, letters, symbols, or other indicators that are capable of communicating meaning either independently or in combination with other characters. A set of characters, according to one example, includes natural language characters.
Beispielsweise kann ein Benutzer 14 auf dem berührungsbasierten Interface 4 handgeschriebene Eintragungen in einem oder mehreren Schreibstrichen vornehmen. In der hier vorliegenden Verwendung kann mit einem Schreibstrich irgendein Teil einer einfachen, ununterbrochenen Bewegung bezeichnet sein, die von dem berührungsbasierten Interface 4 empfangen wird. Zu Veranschaulichungszwecken werden Schreibstriche hier meist als einzelne Bewegungen oder einzelne Zeichen beschrieben; es versteht sich jedoch, dass ein Schreibstrich auch eine gesamte Bewegung oder ein Fragment oder Abschnitt einer gesamten Bewegung sein kann, und ein Teil eines Zeichens, ein ganzes Zeichen, oder mehr als ein einziges Zeichen sein kann. Bei dem Beispiel gemäß 1 beginnt der Benutzer 14, mit der Hand das Wort ”Hello” auf das berührungsbasierte Interface 4 zu schreiben. Um dies durchzuführen, kann der Benutzer 14 über das berührungsbasierte Interface 4 eine Sequenz von Schreibstrichen 19-1 bis 19-4 mit der Hand schreiben. Der Benutzer 14 führt mit der Hand einen ersten Schreibstrich 19-1 für eine vertikale Linie durch, die der linken Seite des ”H” entspricht, und beginnt dann einen zweiten Schreibstrich 19-2 für den horizontalen Balken des ”H”. Der Benutzer 14 vervollständigt das ”H” durch Schreiben des dritten Schreibstrichs 19-3, bei dem es sich um eine weitere vertikale Linie handelt. Als Nächstes schreibt der Benutzer 14 den Schreibstrich 19-4 für das ”el” in ”Hello”. Das ”e” entspricht einem ersten Teil des Schreibstrichs 19-4, und das ”l” entspricht einem zweiten Teil des Schreibstrichs 19-4.For example, a user 14 on the touch-based interface 4 make handwritten entries in one or more strokes. In the present here Use may be given to a portion of a simple, uninterrupted motion typed by the touch-based interface 4 Will be received. For illustrative purposes, writing strokes are usually described here as individual movements or individual characters; however, it should be understood that a pad can also be an entire motion or a fragment or portion of an entire motion, and can be a portion of a character, a whole character, or more than a single character. In the example according to 1 the user starts 14 , with your hand, the word "Hello" on the touch-based interface 4 to write. To do this, the user can 14 via the touch-based interface 4 a sequence of strokes 19-1 to 19-4 write by hand. The user 14 leads by hand a first hand stroke 19-1 for a vertical line corresponding to the left side of the "H", and then starts a second line of writing 19-2 for the horizontal bar of the "H". The user 14 completes the "H" by writing the third stroke 19-3 , which is another vertical line. Next, the user writes 14 the writing stroke 19-4 for the "el" in "Hello". The "e" corresponds to a first part of the writing stroke 19-4 , and the "l" corresponds to a second part of the brush stroke 19-4 ,
Die I/O-Vorrichtung 12 kann ein einer Benutzer-Eingabe 18 entsprechendes Signal erzeugen, das einem Benutzer-Eingabe-Modul 6 zugeführt wird. Das Benutzer-Eingabe-Modul 6 kann die von dem Benutzer 14 her empfangene Benutzer-Eingabe 18 verarbeiten. In einigen Fällen kann das Benutzer-Eingabe-Modul 6 eine zusätzliche Verarbeitung der Benutzer-Eingabe 18 durchführen, wie z. B. das Konvertieren der Benutzer-Eingabe 18 in besser verwendbare Formen. Gemäß einigen Beispielen gibt das Benutzer-Eingabe-Modul 6 ein Signal an die Anzeigevorrichtung 20 aus, damit diese eine graphische Wiedergabe der Benutzer-Eingabe 18 anzeigt. Beispielsweise wird, während der Benutzer 14 auf das berührungsbasierte Interface 4 die Schreibstriche 19-1 bis 19-4 schreibt, auf der Anzeigevorrichtung 20 Tinte angezeigt, die der Benutzer-Eingabe 18 entspricht. In einigen Fällen kann das Benutzer-Eingabe-Modul 6 ein der Benutzer-Eingabe 18 entsprechendes Signal an eine Anwendung wie z. B. die Texteingabe-Anwendung 8, oder an eine andere Komponente der Rechnervorrichtung 2 übertragen. Die Texteingabe-Anwendung 8 kann jede Anwendung sein, die eine textuelle Benutzer-Eingabe annimmt, wie z. B. eine Wortverarbeitungs-Anwendung, ein Internet-Browser, eine Anwendung, die mittels textueller Benutzer-Eingabe gesteuert werden kann, und dgl. Gemäß einigen Beispielen kann das Benutzer-Eingabe-Modul 6 eine Dauer der Benutzer-Eingabe 18 oder irgendeine Dauer zwischen dem Empfang eines Schreibstrichs und dem Empfang eines weiteren Schreibstrichs bestimmen. Beispielsweise kann das Benutzer-Eingabe-Modul 6 die Zeitperiode zwischen zwei Schreibstrichen messen, um z. B. zwischen einem einzelnen Zeichen und einem Wort zu unterscheiden.The I / O device 12 can be a user input 18 generate a corresponding signal to a user input module 6 is supplied. The user input module 6 can by the user 14 received user input 18 to process. In some cases, the user input module may 6 an additional processing of the user input 18 perform such. For example, converting the user input 18 in more usable forms. According to some examples, the user input module is 6 a signal to the display device 20 to make this a graphical representation of the user input 18 displays. For example, while the user is 14 on the touch-based interface 4 the writing strokes 19-1 to 19-4 writes, on the display device 20 Ink is displayed, which is the user input 18 equivalent. In some cases, the user input module may 6 one of the user input 18 corresponding signal to an application such. For example, the text input application 8th , or to another component of the computing device 2 transfer. The text input application 8th can be any application that accepts a textual user input, such as For example, a word processing application, an internet browser, an application that may be controlled by textual user input, and the like. In some examples, the user input module may 6 a duration of user input 18 or determine any duration between the receipt of a brush stroke and the receipt of another brush stroke. For example, the user input module 6 measure the time period between two strokes to For example, to distinguish between a single character and a word.
Gemäß einigen Beispielen kann die Texteingabe-Anwendung 8 ein Zeichenerkennungsmodul 10 enthalten. Das Zeichenerkennungsmodul 10 kann an dem Signal, das der Benutzer-Eingabe 18 entspricht, eine Erkennungsoperation vornehmen. Mittels der Erkennungsoperation kann ein Zeichen, z. B. das Zeichen 22, bestimmt werden, das mindestens einem Teil der Benutzer-Eingabe 18 entspricht. Gemäß einem Beispiel kann die Erkennungsoperation die Benutzer-Eingabe 18 analysieren, um festzustellen, ob irgendein Teil der Benutzer-Eingabe 18 einem oder mehreren Zeichen entspricht. Das Zeichenerkennungsmodul 10 kann möglichen Zeichen-Entsprechungen, die einen Teil der Benutzer-Eingabe 18 betreffen, einen Punktwert oder Rang zuweisen. Der Punktwert oder Rang ist ein Maß der Wahrscheinlichkeit, mit der ein Schreibstrich oder eine Sequenz von Schreibstrichen einem bestimmten Zeichen entspricht. Das Zeichenerkennungsmodul 10 kann mindestens teilweise auf der Basis des Punktwerts oder Rangs sowie anderer Faktoren ein Zeichen unter den potenziellen Zeichen-Entsprechungen wählen. Gemäß einem Beispiel kann das Zeichenerkennungsmodul 10 ein einem Teil der Benutzer-Eingabe 18 entsprechendes Zeichen wählen, wenn dieses Zeichen einen Punktwert über einem gewählten Schwellwert-Niveau aufweist. Gemäß einigen Beispielen kann das Zeichenerkennungsmodul 10 einige oder sämtliche der Funktionen des Benutzer-Eingabe-Moduls 6 durchführen. Einige Beispiele von Verfahren zur Zeichenerkennung werden hier beschrieben. Gemäß weiteren Beispielen kann das Zeichenerkennungsmodul 10 zusätzlich irgendein Verfahren durchführen oder irgendein Merkmal aufweisen, das anderen Zeichenerkennungsoperationen und -verfahren zugehört, die derzeit bekannt sind oder noch entwickelt werden. Die hier beschriebenen Techniken werden generell im Zusammenhang mit Zeichen erläutert; jedoch können die hier beschriebenen Techniken auch im Zusammenhang mit Worten, Sätzen oder anderen Gruppierungen von Zeichen angewandt werden. Beispielsweise kann das Zeichenerkennungsmodul 10 ein oder mehrere Wörter erkennen, die sich mit anderen Wörtern oder Zeichen teilweise überlappen.According to some examples, the text input application 8th a character recognition module 10 contain. The character recognition module 10 can be attached to the signal that the user is entering 18 corresponds to perform a recognition operation. By means of the recognition operation, a character, e.g. For example, the character 22 , be determined that at least part of the user input 18 equivalent. In one example, the detection operation may be user input 18 analyze to see if any part of the user input 18 one or more characters. The character recognition module 10 may be possible character equivalents that are part of the user input 18 to assign a score or rank. The score or rank is a measure of the probability that a stroke or sequence of strokes matches a particular character. The character recognition module 10 may choose, at least in part, on the basis of the score or rank and other factors, among the potential character correspondences. According to one example, the character recognition module 10 a part of the user input 18 select appropriate character if this character has a score above a selected threshold level. According to some examples, the character recognition module 10 some or all of the functions of the user input module 6 carry out. Some examples of character recognition methods are described herein. According to further examples, the character recognition module 10 additionally perform any method or have any feature that belongs to other character recognition operations and methods that are currently known or still in development. The techniques described herein are generally explained in conjunction with characters; however, the techniques described herein may also be used in conjunction with words, phrases or other groupings of characters. For example, the character recognition module 10 recognize one or more words that partially overlap with other words or characters.
Beispielsweise kann das Zeichenerkennungsmodul 10 auf eine Referenz-Datenbank 11 zugreifen, wenn es die Benutzer-Eingabe 18 analysiert. Die Referenz-Datenbank 11 kann eine Zeichen-Tabelle, ein Wörterbuch und/oder eine Grammatik-Referenz enthalten. Beispielsweise kann das Zeichenerkennungsmodul 10 mindestens teilweise auf Basis der Benutzer-Eingabe 18 einen Nachschlagevorgang in einer Referenzdatei 11 durchführen, wobei die Referenzdatei 11 eine Tabelle enthält, in der Zeichen mit einem oder mehreren Schreibstrichen abgebildet sind. Gemäß einem weiteren Beispiel kann das Zeichenerkennungsmodul 10 einen ein potenzielles Wort betreffenden Nachschlagevorgang in der Referenz-Datenbank 11 durchführen, um das Erkennen eines Zeichens mindestens teilweise auf der Basis des Verhältnisses dieses Zeichens zu zuvor erkannten Zeichen zu unterstützen. Beispielsweise besteht, falls das Zeichenerkennungsmodul 10 zuvor fünf Zeichen als O, R, A, N und G erkannt hat, aufgrund des dem sechsten Zeichen vorausgehenden ”ORANG” eine höhere Wahrscheinlichkeit, dass das sechste Zeichen der Buchstabe E ist, was voll ausgeschrieben ”ORANGE” ergibt. Für den sechsten Buchstaben kann somit das Zeichenerkennungsmodul 10 dem Buchstaben E einen höheren Rang zuweisen als anderen Buchstaben. In ähnlicher Weise kann das Zeichenerkennungsmodul 10 eine Grammatik-Referenz in der Referenz-Datenbank 11 verwenden, um Zeichen oder Wörter mindestens teilweise auf der Basis grammatischer Regeln rangmäßig einzuordnen. Das Zeichenerkennungsmodul 10 kann ferner ein Zeichen eines Sub-Sets von Schreibstrichen auf der Basis des Verhältnisses dieses Sub-Sets von Schreibstrichen zu einem anderen Zeichen bestimmen (Beispielsweise ist das Sub-Set von Schreibstrichen der nächste Buchstabe in einem Wort oder das nächste Wort in einem Satz).For example, the character recognition module 10 to a reference database 11 access if there is the user input 18 analyzed. The reference database 11 can contain a character table, a dictionary and / or a grammar reference. For example, the character recognition module 10 based at least in part on the user input 18 one Lookup in a reference file 11 perform, using the reference file 11 contains a table that shows characters with one or more dashes. As another example, the character recognition module 10 a potential word lookup in the reference database 11 to assist in recognizing a character based, at least in part, on the ratio of that character to previously recognized characters. For example, if the character recognition module 10 previously recognized five characters as O, R, A, N and G, due to the sixth character preceding "ORANG", a higher probability that the sixth character is the letter E, which yields "ORANGE" when fully spelled out. For the sixth letter thus the character recognition module 10 give the letter E a higher rank than other letters. Similarly, the character recognition module 10 a grammar reference in the reference database 11 use to rank characters or words, at least in part, based on grammatical rules. The character recognition module 10 may further determine a character of a subset of strokes based on the ratio of that subset of strokes to another character (eg, the subset of strokes is the next letter in a word or the next word in a sentence).
Bei dem Beispiel gemäß 1 hat das Zeichenerkennungsmodul 10 die als erkannte Eingabe 26 gezeigten Schreibstriche 19-1 bis 19-3 als dem Buchstaben ”H” entsprechend erkannt. Das Zeichenerkennungsmodul 10 kann ein der erkannten Eingabe 26 entsprechendes Signal erzeugen und dieses an die Texteingabe-Anwendung 8 oder eine andere Komponente oder ein anderes Modul in der Rechnervorrichtung 2 übermitteln. Beispielsweise kann das Zeichenerkennungsmodul 10 an die Texteingabe-Anwendung 8 ein Signal übermitteln, welches angibt, dass der Benutzer 14 den Buchstaben ”H” eingegeben hat. Die Texteingabe-Anwendung 8 kann ein dem Buchstaben ”H” entsprechendes Signal zur weiteren Verarbeitung durch die Texteingabe-Anwendung 8 oder die Rechnervorrichtung 2 erzeugen. Gemäß einem Beispiel zeigt die Texteingabe-Anwendung 8 die erkannte Eingabe 26 auf der Anzeigevorrichtung 20 an. Beispielsweise kann die Anzeigevorrichtung 20 das Zeichen 22, das die erkannte Eingabe 26 repräsentiert, an der Position des Cursors 24 anzeigen. Ferner können der Cursor 24 oder irgendein anderer Text aufgrund der Hinzufügung des Zeichens 22 neu positioniert werden.In the example according to 1 has the character recognition module 10 the as input 26 shown scribes 19-1 to 19-3 recognized as the letter "H" accordingly. The character recognition module 10 can be one of the recognized input 26 generate appropriate signal and this to the text input application 8th or another component or module in the computing device 2 to transfer. For example, the character recognition module 10 to the text input application 8th transmit a signal indicating that the user 14 entered the letter "H". The text input application 8th may be a signal corresponding to the letter "H" for further processing by the text input application 8th or the computing device 2 produce. According to an example shows the text input application 8th the recognized input 26 on the display device 20 at. For example, the display device 20 the sign 22 that the detected input 26 represents, at the position of the cursor 24 Show. Furthermore, the cursor can 24 or any other text due to the addition of the character 22 be repositioned.
Gemäß einem weiteren Beispiel instruiert das Zeichenerkennungsmodul 10 die I/O-Vorrichtung 12 dazu, das Anzeigen zu beenden und/oder die Anzeige irgendeiner zuvor angezeigten graphischen Wiedergabe der erkannten Eingabe 26 zu modifizieren. Dies bedeutet, dass die Anzeigevorrichtung 20 die der erkannten Eingabe 26 entsprechende Tinte verändern kann, wenn das Zeichenerkennungsmodul 10 diesen Teil der Benutzer-Eingabe 18 erkennt. Beispielsweise kann die der erkannten Eingabe 26 entsprechende Tinte ausgeblendet werden. Gemäß einem weiteren Beispiel kann die Anzeigevorrichtung 20 die erkannte Eingabe 26 an einer unterschiedlichen Stelle, in einer unterschiedlichen Farbe oder einer unterschiedlichen Schriftart anzeigen, oder sie kann die Schrift-Qualitäten (z. B. fett, unterliniert oder schräggestellt) oder die Schriftgröße ändern, oder sie kann irgendein anderes Attribut der Tinte ändern, wenn die erkannte Eingabe 26 erkannt wird (Beispielsweise kann die erkannte Eingabe 26 als Kontur angezeigt werden). Gemäß weiteren Beispielen können mindestens teilweise auf der Basis eines Konfidenzniveaus dahingehend, dass die Schreibstriche präzise erkannt worden sind, ältere Schreibstriche über der Zeit langsam ausgeblendet werden, zur Seite weggeschoben werden, in der Größe verändert werden oder anderweitig geändert werden, um die Anzeigevorrichtung 20 freizumachen. Gemäß einem Beispiel werden Schreibstriche, die mit einem Konfidenzniveau erkannt werden, das mindestens über einem zweiten Schwellwert-Niveau liegt, vollständig aus der Anzeigevorrichtung 20 ausgeblendet.As another example, the character recognition module instructs 10 the I / O device 12 to stop displaying and / or display any previously displayed graphical representation of the detected input 26 to modify. This means that the display device 20 the recognized input 26 appropriate ink can change when the character recognition module 10 this part of the user input 18 recognizes. For example, the detected input 26 corresponding ink are hidden. According to another example, the display device 20 the recognized input 26 in a different place, in a different color or a different font, or it may change the font qualities (eg bold, underlined or skewed) or the font size, or it may change any other attribute of the ink when the font recognized input 26 (For example, the recognized input 26 displayed as a contour). According to other examples, at least in part, based on a confidence level that the strokes have been accurately recognized, older strokes over time may be slowly blanked, pushed aside, resized, or otherwise altered to the display device 20 vacate. According to one example, scratch marks that are detected with a confidence level that is at least above a second threshold level are completely out of the display device 20 hidden.
Bei dem Beispiel gemäß 1 hat das Zeichenerkennungsmodul 10 einen weiteren Teil der Benutzer-Eingabe 18 noch nicht erkannt, d. h. eine unerkannte Eingabe 28. Die Anzeigevorrichtung 20 kann eine graphische Wiedergabe der unerkannten Eingabe 28 anzeigen (z. B. in Tinte). Gemäß einem Beispiel kann die Anzeigevorrichtung 20 eine unerkannte Eingabe 28 in einer Tinte anzeigen, deren Stil sich von demjenigen der erkannten Eingabe 26 unterscheidet (z. B. in unterschiedlicher Farbe, unterschiedlicher Linienstärke, unterschiedlicher Transparenz etc.). Wenn das Zeichenerkennungsmodul 10 eine unerkannte Eingabe 28 bei Erfüllung mindestens eines ersten Schwellwert-Konfidenzniveaus erkennt, kann die Anzeigevorrichtung 20 eine unerkannte Eingabe 28 so anzeigen, wie eine erkannte Eingabe 26 angezeigt wird.In the example according to 1 has the character recognition module 10 another part of the user input 18 not yet recognized, ie an unrecognized input 28 , The display device 20 can be a graphical representation of the unrecognized input 28 display (eg in ink). According to one example, the display device 20 an unrecognized input 28 in an ink whose style is different from that of the recognized input 26 differs (eg in different colors, different line thicknesses, different transparency etc.). If the character recognition module 10 an unrecognized input 28 recognizes at least a first threshold confidence level, the display device 20 an unrecognized input 28 display as a recognized input 26 is shown.
Gemäß einem Beispiel ist die Rechnervorrichtung 2 eine mobile Vorrichtung, die ein berührungsbasiertes Interface 4 mit einem begrenzten graphischen Bereich aufweist. Hier beschriebene Techniken ermöglichen dem Benutzer 14, das berührungsbasierte Interface 4 in effizienterer Weise für eine handgeschriebene Benutzer-Eingabe zu verwenden. Gemäß weiteren Beispielen ist die Rechnervorrichtung 2 ein Desktop-Gerät. Gemäß derartigen Beispielen kann der Benutzer 14 eine handgeschriebene Eingabe z. B. dazu durchführen, um eine Eingabe in einem Feld einer Web-Seite zu tätigen.In one example, the computing device is 2 a mobile device that is a touch-based interface 4 having a limited graphic area. Techniques described here enable the user 14 , the touch-based interface 4 more efficiently for handwritten user input. In other examples, the computing device is 2 a desktop device. According to such examples, the user may 14 a handwritten input z. B. to make an entry in a field of a web page.
2 zeigt ein Blockschaltbild weiterer Details eines Beispiels der Rechnervorrichtung 2 gemäß 1. In 2 ist nur ein bestimmtes Beispiel der Rechnervorrichtung 2 gezeigt, und es können in anderen Fällen zahlreiche andere Ausführungsbeispiele der Rechnervorrichtung 2 verwendet werden. 2 shows a block diagram of further details of an example of the computing device 2 according to 1 , In 2 is just one specific example of the computing device 2 In other cases, numerous other embodiments of the computing device may be shown 2 be used.
Wie bei dem speziellen Beispiel gemäß 2 gezeigt, enthält die Rechnervorrichtung 2 einen oder mehrere Prozessoren 30, einen Speicher 32, ein Netzwerk-Interface 34, eine oder mehr Speichervorrichtungen 36, eine oder mehr Eingabevorrichtungen 38, eine oder mehr Ausgabevorrichtungen 40, und eine oder mehrere Batterien oder andere Energiequellen 42. Die Rechnervorrichtung 2 enthält ferner ein Betriebssystem 44, welches das Benutzer-Eingabemodul 6 enthalten kann, das durch die Rechnervorrichtung 2 betreibbar ist. Die Rechnervorrichtung 2 kann eine oder mehrere Anwendungen 46 und die Texteingabe-Anwendung 8 enthalten, die ein Zeichenabbildungsmodul 10 enthalten kann, das durch die Rechnervorrichtung 2 betreibbar ist. Das Betriebssystem 44, die Anwendung 46 und die Texteingabe-Anwendung 8 sind ebenfalls mittels der Rechnervorrichtung 2 betreibbar. Sämtliche der Komponenten 30, 32, 34, 36, 38, 40, 42, 44, 46, 6, 8 und 10 können (physisch, kommunikativ und/oder betriebsmäßig) für Inter-Komponenten-Kommunikationsvorgänge miteinander verbunden werden.As in the specific example according to 2 shown contains the computing device 2 one or more processors 30 , a store 32 , a network interface 34 , one or more storage devices 36 , one or more input devices 38 , one or more output devices 40 , and one or more batteries or other sources of energy 42 , The computing device 2 also includes an operating system 44 , which is the user input module 6 can contain that by the computing device 2 is operable. The computing device 2 can be one or more applications 46 and the text input application 8th contain a character mapping module 10 can contain that by the computing device 2 is operable. The operating system 44 , the application 46 and the text input application 8th are also by means of the computing device 2 operated. All of the components 30 . 32 . 34 . 36 . 38 . 40 . 42 . 44 . 46 . 6 . 8th and 10 can be interconnected (physically, communicatively, and / or operationally) for inter-component communications.
Die Prozessoren 30 können derart konfiguriert sein, dass in ihnen die Funktionalität und/oder die Prozess-Instruktionen zur Ausführung in der Rechnervorrichtung 2 implementiert sind. Die Prozessoren 30 können in der Lage sein, in dem Speicher 32 gespeicherte Instruktionen oder in den Speichervorrichtungen 36 gespeicherte Instruktionen zu verarbeiten.The processors 30 may be configured to include in them the functionality and / or the process instructions for execution in the computing device 2 are implemented. The processors 30 may be able to be in the store 32 stored instructions or in the storage devices 36 process stored instructions.
Der Speicher 32 kann derart konfiguriert sein, dass er während des Betriebs Information in der Rechnervorrichtung 2 speichert. Gemäß einigen Beispielen kann der Speicher 32 als nichtflüchtiges oder greifbares computerlesbares Speichermedium beschrieben werden. Gemäß einigen Beispielen ist der Speicher 32 ein temporärer Speicher, was bedeutet, dass der Hauptzweck des Speichers 32 nicht in einer langfristigen Speicherung liegt. Gemäß einigen Beispielen kann der Speicher 32 auch als flüchtiger Speicher beschrieben werden, was bedeutet, dass der Speicher 32 gespeicherte Inhalte nicht beibehält, wenn der Computer abgeschaltet wird. Zu den Beispielen flüchtiger Speicher zählen Speicher mit wahlweisem Zugriff (RAM), dynamische Speicher mit wahlweisem Zugriff (DRAM), statische Speicher mit wahlweisem Zugriff (SRAM) und andere auf dem Gebiet bekannte Formen flüchtiger Speicher. Gemäß einigen Beispielen kann der Speicher 32 zum Speichern von Programminstruktionen verwendet werden, die zur Ausführung durch Prozessoren 30 vorgesehen sind. Der Speicher 32 kann mittels Software oder Anwendungen betrieben werden, die an der Rechnervorrichtung 2 laufen (z. B. eine oder mehrere Anwendungen 46), um während der Programmausführung Information vorübergehend zu speichern.The memory 32 may be configured to receive information in the computing device during operation 2 stores. According to some examples, the memory may 32 be described as a nonvolatile or tangible computer readable storage medium. According to some examples, the memory is 32 a temporary memory, which means that the main purpose of the memory 32 is not in a long-term storage. According to some examples, the memory may 32 also be described as volatile memory, which means that the memory 32 does not retain stored contents when the computer is turned off. Examples of volatile memory include Random Access Memory (RAM), Dynamic Random Access Memory (DRAM), Random Access Memory (SRAM), and other forms of volatile memory known in the art. According to some examples, the memory may 32 for storing program instructions that are to be executed by processors 30 are provided. The memory 32 may be operated by software or applications attached to the computing device 2 run (for example, one or more applications 46 ) to temporarily store information during program execution.
Zu den Speichervorrichtungen 36 können ferner ein oder mehrere nichtflüchtige oder greifbare computerlesbare Speichermedien zählen. Die Speichervorrichtungen 36 können zum Speichern größerer Mengen an Information als der Speicher 32 konfiguriert sein. Die Speichervorrichtungen 36 können ferner zur langfristigen Speicherung von Information konfiguriert sein. Gemäß einigen Beispielen können die Speichervorrichtungen 36 nichtflüchtige Speicherelemente enthalten. Zu den Beispielen solcher nichtflüchtiger Speicherelemente können magnetische Hard Discs, optische Discs, Floppy Discs, Flash-Speicher oder Formen elektrisch programmierbarer Speicher (EPROM) oder elektrisch löschbarer und programmierbarer Speicher (EEPROM) zählen.To the storage devices 36 may further include one or more non-transitory or tangible computer-readable storage media. The storage devices 36 can store larger amounts of information than the memory 32 be configured. The storage devices 36 may also be configured for long-term storage of information. According to some examples, the memory devices 36 contain non-volatile memory elements. Examples of such non-volatile memory elements may include magnetic hard discs, optical discs, floppies, flash memories, or electrically programmable memory (EPROM) or electrically erasable and programmable memory (EEPROM) forms.
Die Rechnervorrichtung 2 enthält ferner ein Netzwerk-Interface 34. Die Rechnervorrichtung 2 kann das Netzwerk-Interface 34 verwenden, um über ein oder mehrere Netze, wie z. B. einem oder mehreren drahtlosen Netzen, mit externen Vorrichtungen zu kommunizieren. Das Netzwerk-Interface 34 kann eine Netzwerk-Interface-Karte, wie z. B. eine Ethernet-Karte, ein optischer Transceiver, ein Funkfrequenz-Transceiver oder irgendein anderer Typ von Vorrichtung sein, der Information senden und empfangen kann. Zu den Beispielen derartiger Netzwerk-Interfaces zählen Bluetooth®, 3G- und WiFi®-Radios in mobilen Computervorrichtungen, sowie USB. Zu den Beispielen derartiger drahtloser Netzwerke zählen WiFi®, Bluetooth® und 3G. Gemäß einigen Beispielen kann die Computervorrichtung 2 das Netzwerk-Interface 34 zum drahtlosen Kommunizieren mit einer (nicht gezeigten) drahtlosen Vorrichtung verwenden, wie z. B. einem Server, einem Mobiltelefon oder einer anderen netzwerkbetriebenen Rechnervorrichtung.The computing device 2 also contains a network interface 34 , The computing device 2 can be the network interface 34 to use one or more networks, such as As one or more wireless networks to communicate with external devices. The network interface 34 can be a network interface card, such as. An Ethernet card, an optical transceiver, a radio frequency transceiver, or any other type of device that can send and receive information. Examples of such network interfaces include Bluetooth ®, 3G and WiFi ® -Radios in mobile computing devices as well as USB. Examples of such wireless networks include WiFi ®, Bluetooth ® and 3G. According to some examples, the computing device may 2 the network interface 34 for wireless communication with a wireless device (not shown), such as a wireless device. A server, a mobile phone or other network-powered computing device.
Die Rechnervorrichtung 2 kann ferner eine oder mehrere Eingabevorrichtungen 38 enthalten. Die Eingabevorrichtung 38 kann derart konfiguriert sein, dass sie von einem Benutzer eine Eingabe über einen taktilen, eine Audio- oder einen Video-Eingabevorgang empfängt. Zu den Beispielen einer Eingabevorrichtung 38 können ein berührungs-sensitiver Bildschirm, eine Maus, eine Tastatur, ein sprachreaktives System, eine Videokamera oder ein anderer Typ von Vorrichtung zum Detektieren eines Befehls von einem Benutzer zählen.The computing device 2 may further include one or more input devices 38 contain. The input device 38 may be configured to receive input from a user via tactile, audio or video input. For examples of an input device 38 may include a touch-sensitive screen, a mouse, a keyboard, a voice-responsive system, a video camera, or other type of device for detecting a command from a user.
Ferner können eine oder mehrere Ausgabevorrichtungen 40 in der Rechnervorrichtung 2 enthalten sein, z. B. die I/O-Vorrichtung 12. Die Ausgabevorrichtung 40 kann derart konfiguriert sein, dass sie an einen Benutzer Ausgangssignale mittels taktiler, Audio- oder Video-Ausgaben übermittelt. Die Ausgabevorrichtung 40 kann eine berührungs-sensitive Anzeigevorrichtung, eine Sound-Karte, eine Videografik-Adapterkarte oder einen beliebigen anderen Typ von Vorrichtung enthalten, mit der ein Signal in eine geeignete Form, die für Menschen oder Maschinen verständlich ist, konvertiert werden kann. Zu weiteren Beispielen einer Ausgabevorrichtung 40 können ein Lautsprecher, ein Kathodenstrahlröhren-(CRT-)Monitor, eine Flüssigkristallanzeige (LCD) oder ein beliebiger anderer Typ von Vorrichtung zählen, der ein Ausgangssignal an einen Benutzer ausgeben kann.Furthermore, one or more dispensers 40 in the computing device 2 be included, for. For example, the I / O device 12 , The output device 40 may be configured to provide output signals to a user by means of tactile, Audio or video output. The output device 40 For example, it may include a touch-sensitive display, a sound card, a video graphics adapter card, or any other type of device that can be used to convert a signal into an appropriate form that is human or machine understandable. For other examples of an output device 40 For example, a speaker, a cathode ray tube (CRT) monitor, a liquid crystal display (LCD), or any other type of device that can output an output to a user.
Die Rechnervorrichtung 2 kann eine oder mehrere Batterien oder andere Energiequellen 42 enthalten, die wiederaufladbar sein können und der Rechnervorrichtung 2 Energie zuführen können. Die eine oder die mehreren Batterien 42 können als Batterie aus Nickel-Cadmium, Lithium-Ionen oder einem anderen geeigneten Material ausgebildet sein. Die eine oder die mehreren Batterien 42 können wiederaufladbar sein, und/oder die Rechnervorrichtung 2 kann über eine Energieverbindung mit Energie versorgt werden.The computing device 2 can be one or more batteries or other energy sources 42 included, which may be rechargeable and the computing device 2 Can supply energy. The one or more batteries 42 may be formed as a battery of nickel cadmium, lithium ions or other suitable material. The one or more batteries 42 may be rechargeable, and / or the computing device 2 can be powered by a power connection.
Die Rechnervorrichtung 2 kann ein Betriebssystem 44 enthalten. Das Betriebssystem 44 kann den Betrieb von Komponenten der Rechnervorrichtung 2 steuern. Beispielsweise kann das Betriebssystem 44 die Interaktion der Anwendung 46 oder der Texteingabe-Anwendung 8 mit den Prozessoren 30, dem Speicher 32, dem Netzwerk-Interface 34, der Speichervorrichtung 36, der Eingabevorrichtung 38, der Ausgabevorrichtung 40 und der Batterie 42 erleichtern.The computing device 2 can be an operating system 44 contain. The operating system 44 may be the operation of components of the computing device 2 Taxes. For example, the operating system 44 the interaction of the application 46 or the text input application 8th with the processors 30 the store 32 , the network interface 34 , the storage device 36 , the input device 38 , the dispenser 40 and the battery 42 facilitate.
Das Betriebssystem 44 kann zusätzlich ein Benutzer-Eingabe-Modul 6 enthalten. Das Benutzer-Eingabe-Modul 6 kann als Teil des Betriebssystems 44 ausgeführt sein. In anderen Fällen kann das Benutzer-Eingabe-Modul 6 durch die Rechnervorrichtung 2 implementiert oder ausgeführt sein. Das Benutzer-Eingabe-Modul 6 kann eine Eingabe verarbeiten, z. B. die Benutzer-Eingabe 18, die von dem Benutzer 14 her durch eine oder mehrere Eingabevorrichtungen 38 empfangen worden ist. Alternativ kann das Benutzer-Eingabe-Modul 6 eine Eingabe von einer Komponente wie z. B. den Prozessoren 30, dem Speicher 32, dem Netzwerk-Interface 34, der Speichervorrichtung 36, der einen oder der mehreren Ausgabevorrichtungen 40, der Batterie 42 oder dem Betriebssystem 44 empfangen. In einigen Fällen kann das Benutzer-Eingabe-Modul 6 zusätzliche Verarbeitungsvorgänge an der Benutzer-Eingabe 18 vornehmen. In anderen Fällen kann das Benutzer-Eingabe-Modul 6 eine Eingabe an eine Anwendung, z. B. die Anwendung 46 oder die Texteingabe-Anwendung 8, oder an eine andere Komponente in der Rechnervorrichtung 2 übertragen.The operating system 44 In addition, a user input module 6 contain. The user input module 6 can be part of the operating system 44 be executed. In other cases, the user input module may 6 through the computing device 2 implemented or executed. The user input module 6 can process an input, eg. For example, the user input 18 by the user 14 through one or more input devices 38 has been received. Alternatively, the user input module 6 an input from a component such as. As the processors 30 the store 32 , the network interface 34 , the storage device 36 , the one or more output devices 40 , the battery 42 or the operating system 44 receive. In some cases, the user input module may 6 additional processing operations on the user input 18 make. In other cases, the user input module may 6 an input to an application, e.g. B. the application 46 or the text input application 8th , or to another component in the computing device 2 transfer.
Jegliche Anwendungen, z. B. die Anwendung 46 oder die Tastatur-Anwendung 8, die in der Rechnervorrichtung 2 implementiert oder von dieser ausgeführt werden, können in Komponenten der Rechnervorrichtung 2, z. B. den Prozessoren 30, dem Speicher 32, dem Netzwerk-Interface 34, und/oder der Speichervorrichtung 36, implementiert oder enthalten sein, von diesen betätigbar sein, von diesen ausgeführt werden und/oder betriebsmäßig/kommunikativ mit diesen verbunden sein. Gemäß einem Beispiel ist das Zeichenerkennungsmodul 10 an einem Server ausgeführt, der physisch getrennt von der Rechnervorrichtung 2 angeordnet ist, und ist durch eine Netzwerkverbindung über das Netzwerk-Interface 34 mit der Rechnervorrichtung 2 verbunden.Any applications, such. B. the application 46 or the keyboard application 8th that in the computing device 2 can be implemented in or executed by components in the computing device 2 , z. As the processors 30 the store 32 , the network interface 34 , and / or the storage device 36 , be implemented by, be operable by, executed by, and / or operatively / communicatively connected thereto. According to one example, the character recognition module is 10 running on a server that is physically separate from the computing device 2 is arranged, and is through a network connection through the network interface 34 with the computing device 2 connected.
3 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels eines gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung ausgelegten Verfahrens 50, das von einer Rechnervorrichtung durchgeführt werden kann, um ein einer Touch-Eingabe entsprechendes Zeichen zu erkennen. Beispielsweise kann das Verfahren 50 von der Rechnervorrichtung 2 wie in 1 oder 2 gezeigt durchgeführt werden. 3 FIG. 12 is a flowchart illustrating an example of a method designed in accordance with one or more aspects of the present disclosure 50 that can be performed by a computing device to recognize a character corresponding to a touch input. For example, the method 50 from the computing device 2 as in 1 or 2 shown performed.
Das Verfahren 50 umfasst das Empfangen einer berührungsbasierten Eingabe, die sich auf eine Sequenz von Schreibstrichen an einem berührungsbasierten Interface einer Rechnervorrichtung bezieht, wobei ein erstes Sub-Set der Sequenz von Schreibstrichen einem ersten graphischen Bereich des berührungsbasierten Interface entspricht und ein zweites Sub-Set der Sequenz von Schreibstrichen einem zweiten graphischen Bereich des berührungsbasierten Interface entspricht, der sich mit dem ersten graphischen Bereich teilweise überlappt (52). Diese Schreibstriche werden anhand von 4 und 5 noch genauer erläutert. Das Verfahren 50 umfasst ferner eine graphische Wiedergabe des ersten Sub-Sets der Sequenz von Schreibstrichen an einer Ausgabevorrichtung, die mit der Rechnervorrichtung verbunden ist (53).The procedure 50 comprises receiving a touch-based input relating to a sequence of strokes on a touch-based interface of a computing device, wherein a first subset of the sequence of strokes corresponds to a first graphical region of the touch-based interface and a second subset of the sequence of strokes corresponds to a second graphical area of the touch-based interface that partially overlaps the first graphical area ( 52 ). These strokes are based on 4 and 5 explained in more detail. The procedure 50 further comprises a graphical representation of the first subset of the sequence of strokes on an output device connected to the computing device ( 53 ).
Das Verfahren 50 umfasst ferner das Bestimmen eines Konfidenzniveaus dahingehend, ob ein erstes Zeichen näherungsweise dem ersten Sub-Set der Sequenz von Schreibstrichen entspricht, wobei das Konfidenzniveau mindestens einen ersten Konfidenz-Schwellwert erfüllt (54). Beispielsweise kann das Zeichenerkennungsmodul 10 das erste Sub-Set von Schreibstrichen analysieren, um festzustellen, ob das erste Sub-Set von Schreibstrichen einem potenziellen Zeichen entspricht. Das Zeichenerkennungsmodul 10 kann das erste Sub-Set von Schreibstrichen mit einem Set von Zeichen vergleichen, die z. B. in der Referenz-Datenbank gespeichert sind, und jedem Zeichen oder Sub-Set des Sets von Zeichen einen Rang oder eine Punktzahl mindestens teilweise basierend darauf zuweisen, mit welcher Wahrscheinlichkeit das Zeichen dem ersten Sub-Set von Schreibstrichen entspricht, wobei der Rang oder die Punktzahl in Bezug zu dem Konfidenzniveau steht.The procedure 50 further comprises determining a confidence level as to whether a first character approximately corresponds to the first subset of the sequence of strokes, the confidence level meeting at least a first confidence threshold ( 54 ). For example, the character recognition module 10 Analyze the first sub-set of strokes to see if the first sub-set of strokes matches a potential character. The character recognition module 10 may compare the first sub-set of strokes with a set of characters, e.g. Stored in the reference database, and assigning each character or subset of the set of characters a rank or score based at least in part on which Probability of the character corresponding to the first subset of strokes, the rank or score being related to the confidence level.
Gemäß einem Beispiel kann das Zeichenerkennungsmodul 10 ein Maß an Kongruenz mit einem ersten Zeichen bestimmen. Wenn beispielsweise die Form des ersten Zeichens näherungsweise der Form des ersten Sub-Sets von Schreibstrichen entspricht, kann das erste Zeichen gegenüber weniger kongruenten Zeichen in Bezug auf eine Kongruenz rang- oder punktzahlmäßig relativ hoch eingestuft werden. Wenn die Form eines zweiten Zeichens nicht näherungsweise der Form des ersten Sub-Sets von Schreibstrichen entspricht, kann das zweite Zeichen in Bezug auf eine Kongruenz rang- oder punktzahlmäßig nicht hoch eingestuft werden. In diesem Beispiel kann das erste Zeichen in seinem Rang oder seiner Punktzahl höher als das zweite Zeichen eingestuft werden, was seine potenzielle Entsprechung zu dem ersten Sub-Set von Zeichen anbelangt.According to one example, the character recognition module 10 determine a degree of congruence with a first character. For example, if the shape of the first character approximates the shape of the first subset of strokes, the first character may be ranked relatively high in terms of congruence in terms of score or score. If the shape of a second character does not approximate the shape of the first subset of strokes, the second character may not be ranked in terms of congruence in terms of rank or score. In this example, the first character may be ranked higher in its rank or score than the second character in terms of its potential correspondence to the first subset of characters.
Das Verfahren 50 umfasst ferner ein Anpassen einer Anzeige der graphischen Wiedergabe (z. B. teilweises Ausblenden der graphischen Wiedergabe) des ersten Sub-Sets der Sequenz von Schreibstrichen auf der Basis des Konfidenzniveaus (56). Gemäß einem Beispiel kann die graphische Wiedergabe des ersten Sub-Sets der Sequenz von Schreibstrichen in einem größeren Ausmaß auf der Basis eines höheren Konfidenzniveaus angepasst werden. Gemäß einem weiteren Beispiel kann die graphische Wiedergabe nicht ausgeblendet werden, bis das Konfidenzniveau dahingehend, dass das erste Zeichen dem ersten Sub-Set der Sequenz von Schreibstrichen entspricht, einem ersten Konfidenz-Schwellwert mindestens gleich ist oder über diesem liegt. Gemäß einem Beispiel wird durch das auf der Basis des Konfidenzniveaus erfolgende Ausblenden der graphischen Wiedergabe das Freimachen der Ausgabevorrichtung zwecks weiterer Benutzer-Eingabe erleichtert. Gemäß einem Beispiel kann das Ausblenden auf einer Wort-Ebene erfolgen; beispielsweise kann ein ganzes Wort als Gruppe ausgeblendet werden. Gemäß einigen Beispielen kann das Ausblenden auf der Basis einer Timeout-Periode bestimmt werden (beispielsweise werden die Schreibstriche zu einem bestimmten Zeitpunkt nach der Eingabe ausgeblendet). Gemäß einigen Beispielen kann ein erster Schreibstrich ausgeblendet werden, nachdem eine Schwellwert-Anzahl von Schreibstrichen nach dem ersten Schreibstrich eingegeben worden ist.The procedure 50 further comprising adjusting an indication of the graphical representation (e.g., partially fading out the graphical representation) of the first subset of the sequence of strokes based on the confidence level (Fig. 56 ). In one example, the graphical representation of the first subset of the sequence of strokes may be adjusted to a greater extent based on a higher confidence level. As another example, the graphical rendering may not be hidden until the confidence level that the first character corresponds to the first subset of the sequence of strokes is at least equal to or greater than a first confidence threshold. According to one example, the fade-out of the graphical rendering based on the confidence level facilitates the clearing of the output device for further user input. According to one example, fade-out may occur at a word level; For example, an entire word can be hidden as a group. According to some examples, the fade-out may be determined based on a timeout period (eg, the fines are faded out at some point after the input). In some examples, a first scratch may be hidden after a threshold number of strokes after the first brush is entered.
Das Verfahren 50 kann ferner umfassen, dass das erste Zeichen zur Verarbeitung durch eine an der Rechnervorrichtung ausgeführte Anwendung zugeführt wird, wenn das Konfidenzniveau mindestens so hoch ist wie ein zweiter Konfidenz-Schwellwert, wobei die Anwendung zum Verarbeiten von Zeichen aus einer berührungsbasierten Eingabe konzipiert ist (58). Gemäß einem Beispiel ist der zweite Konfidenz-Schwellwert ein gewählter Schwellwert, der angibt, dass eine erste Sequenz von Schreibstrichen dem ersten Zeichen entspricht. Gemäß einem Beispiel kann der zweite Konfidenz-Schwellwert eine höhere Präzision angeben als der erste Konfidenz-Schwellwert. Gemäß einem weiteren Beispiel kann der zweite Konfidenz-Schwellwert dem ersten Konfidenz-Schwellwert näherungsweise gleich sein.The procedure 50 may further comprise supplying the first character for processing by an application executed at the computing device when the confidence level is at least as high as a second confidence threshold, the application being designed to process characters from a touch-based input ( 58 ). In one example, the second confidence threshold is a selected threshold indicating that a first sequence of strokes matches the first character. According to one example, the second confidence threshold may indicate a higher precision than the first confidence threshold. As another example, the second confidence threshold may be approximately equal to the first confidence threshold.
Zu den weiteren Faktoren, die das Zeichenerkennungsmodul 10 verwenden kann, um eine Benutzer-Eingabe 18 zu erkennen, zählen der vertikale Abstand zwischen zwei Schreibstrichen (z. B. ein Abstand zwischen zwei Schreibstrichen in einer ersten Richtung), der horizontale Abstand zwischen zwei Schreibstrichen (z. B. ein Abstand zwischen zwei Schreibstrichen in einer zweiten Richtung, die orthogonal zu der ersten Richtung verläuft), eine horizontale oder vertikale Positionierung eines Schreibstrichs (z. B. wo ein Schreibstrich auf einem Touch Screen angeordnet ist), ein Kreuzen von Schreibstrichen (z. B. wo ein Schreibstrich einen anderen schneidet), die Anzahl von Schreibstrichen in einem Sub-Set von Schreibstrichen, die chronologische Abfolge, in der die Schreibstriche eingegeben wurden, eine Kombination verschiedener Zeichen in einem einzigen Schreibstrich, zuvor erkannte Zeichen, Wörter oder Sätze, oder irgendein anderer geeigneter Faktor, der bei der Zeichenerkennung verwendet wird. Ferner kann eine Segmentierung von Schreibstrichen auf irgendeinem der vorstehend aufgezählten Faktoren basieren. Wenn beispielsweise der Benutzer 14 an einer ersten Seite des berührungsbasierten Interface 4 zu schreiben beginnt und die gegenüberliegende Seite erreicht, und er dann wieder an der ersten Seite zu schreiben beginnt, kann die Überlappung mit Schreibstrichen auf der ersten Seite auf eine Segmentierung zwischen Zeichen hinweisen.Among the other factors affecting the character recognition module 10 can use to enter a user 18 The vertical distance between two slashes (eg, a distance between two slashes in a first direction), the horizontal distance between two slashes (eg, a distance between two slashes in a second direction orthogonal to the first direction), a horizontal or vertical positioning of a scribe stroke (eg, where a scribe is placed on a touch screen), a crossing of scribes (eg, where a scribe intersects another), the number of scribes in a subset of strokes, the chronological order in which the strokes were entered, a combination of different characters in a single stroke, previously recognized characters, words or sentences, or any other suitable factor used in character recognition. Further, segmentation of strokes may be based on any of the factors enumerated above. For example, if the user 14 on a first page of the touch-based interface 4 begins writing and reaches the opposite page, and then he begins to write again on the first page, the overlap with dashes on the first page may indicate a segmentation between characters.
Das Zeichenerkennungsmodul 10 kann ein Zeichen mindestens teilweise auf der Basis einer beliebigen Anzahl der vorstehend genannten Faktoren wählen. Gemäß einem Beispiel kann das Zeichenerkennungsmodul 10 jedem Faktor eine Gewichtung zuweisen und ein Zeichen mindestens teilweise auf der Basis eines gewichteten Mittelwerts der Faktoren wählen. Gemäß einem Beispiel können das Zeichenerkennungsmodul 10 oder eine andere Anwendung in der Rechnervorrichtung 2 ein Minimal-Fehlerraten-Training (minimum error rate training ”MERT”) verwenden, um eine Gewichtung eines bestimmten Faktors zuzuweisen oder zu modifizieren. MERT ist ein Verfahren, das verwendet wird, um in einem linearen Modell zugewiesene Gewichtungen derart zu schätzen, dass zugunsten der Mess-System-Leistungsfähigkeit ein Kriterium zur automatischen Einschätzung direkt im Training optimiert werden kann. Anders ausgedrückt kann die Rechnervorrichtung 2 das MERT verwenden, um die Präzision des Erkennens der Handschrift des Benutzers 14 zu verbessern, wenn der Benutzer 14 die Rechnervorrichtung 2 benutzt. Gemäß einem Beispiel kann ein teilweises Ausblenden von Schreibstrichen auf der Basis ihres Konfidenzniveaus den Benutzer 14 dabei unterstützen, das Zeichenerkennungsmodul 10 zu trainieren. Gemäß einigen Beispielen werden MERT-Techniken an der Rechnervorrichtung 2 in einem Trainings-Modus der Rechnervorrichtung 2 angewandt. Gemäß einigen Beispielen werden MERT-Techniken angewandt, während der Benutzer 14 die Benutzer-Eingabe 18 tätigt. Sämtliche Verbesserungen, die der Benutzer 14 an den von dem Zeichenerkennungsmodul 10 erkannten Zeichen vornimmt, können dazu verwendet werden, die Präzision des Zeichenerkennungsmoduls 10 zu verbessern.The character recognition module 10 may select a character based at least in part on any of the above factors. According to one example, the character recognition module 10 assign a weight to each factor and select a character based at least in part on a weighted average of the factors. According to one example, the character recognition module 10 or another application in the computing device 2 use a minimum error rate training ("MERT") to assign or modify a weighting of a particular factor. MERT is a method used to estimate weights assigned in a linear model such that an auto-estimation criterion can be optimized directly in training in favor of measurement system performance. In other words, the computing device 2 use the MERT to get the precision of the Recognition of the user's handwriting 14 to improve when the user 14 the computing device 2 used. According to one example, a partial fade of strokes based on their confidence level may be the user 14 support the character recognition module 10 to train. According to some examples, MERT techniques are used on the computing device 2 in a training mode of the computing device 2 applied. According to some examples, MERT techniques are applied while the user 14 the user input 18 confirmed. All the improvements that the user 14 to the from the character recognition module 10 Recognized characters can be used to increase the precision of the character recognition module 10 to improve.
Wenn ein Zeichen erkannt wird, kann das Verfahren 50 das erste Zeichen identifizieren oder es einer Anwendung zuführen, die an der Rechnervorrichtung ausgeführt wird, wobei die Anwendung zum Verarbeiten von Zeichen aus der berührungsbasierten Eingabe ausgelegt ist (56). Beispielsweise erzeugt das Zeichenerkennungsmodul 10 ein Signal, das dem ersten Zeichen entspricht, welches von der Texteingabe-Anwendung 8 zu verarbeiten ist, z. B. unter Anzeige des ersten Zeichens an dem Cursor 24. Gemäß einem weiteren Beispiel kann die Texteingabe-Anwendung 8 das dem ersten Zeichen entsprechende Signal als Steuer-Eingangssignal verwenden.If a character is detected, the process can 50 identify the first character or supply it to an application executing on the computing device, the application being adapted to process characters from the touch-based input ( 56 ). For example, the character recognition module generates 10 a signal corresponding to the first character used by the text input application 8th is to be processed, for. B. by displaying the first character on the cursor 24 , As another example, the text input application 8th use the signal corresponding to the first character as the control input signal.
4 zeigt eine konzeptuelle Darstellung eines Beispiels einer Sequenz von Schreibstrichen 19-1 bis 19-4 einer berührungsbasierten Eingabe, die von einer Rechnervorrichtung, in der ein Zeichenerkennungsmodul ausgebildet ist, erkannt werden kann, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung. Beispielsweise hat der Benutzer 14 die Sequenz von Schreibstrichen 19-1 bis 19-4 mit der Hand über den Touch Screen 60 der Rechnervorrichtung 2 geschrieben. Der Touch Screen 60 kann eine graphische Wiedergabe der Sequenz von Schreibstrichen 19-1 bis 19-4 anzeigen. 4 shows a conceptual representation of an example of a sequence of strokes 19-1 to 19-4 a touch-based input that may be recognized by a computing device in which a character recognition module is formed, in accordance with one or more aspects of the present disclosure. For example, the user has 14 the sequence of strokes 19-1 to 19-4 with the hand over the touch screen 60 the computing device 2 written. The touch screen 60 can be a graphical representation of the sequence of strokes 19-1 to 19-4 Show.
Die Sequenz von Schreibstrichen 19-1 bis 19-4 kann in chronologischer Reihenfolge von dem Schreibstrich 19-1 zu dem Schreibstrich 19-4 eingegeben worden sein. Wie in 4 gezeigt, kann der Benutzer 14 den Buchstaben ”H” als ein erstes Sub-Set der Sequenz von Schreibstrichen, d. h. 19-1 bis 19-3, in einen ersten graphischen Bereich 62-1 des Touch Screen 60 geschrieben haben. Der Benutzer 14 kann damit fortfahren, auf das erste Sub-Set der Sequenz von Schreibstrichen zu schreiben; z. B. überlappt der Schreibstrich 19-4 den Schreibstrich 19-3. Der Schreibstrich 19-4 wird in einen zweiten graphischen Bereich 62-2 des Touch Screen 60 geschrieben, wobei der zweite graphische Bereich 62-2 den ersten graphischen Bereich 62-1 überlappt. Das Zeichenerkennungsmodul 10 kann vom Benutzer eingegebenen Zeichen erkennen, obwohl mindestens Teile der Zeichen einander überlappen. Dies erlaubt dem Benutzer 14, Bereiche des Touch Screen 60 erneut zu benutzen, ohne darauf zu warten, dass das Zeichenerkennungsmodul 10 zuvor geschriebene Schreibstriche erkennt.The sequence of strokes 19-1 to 19-4 can in chronological order from the writing stroke 19-1 to the writing stroke 19-4 have been entered. As in 4 shown, the user can 14 the letter "H" as a first subset of the sequence of strokes, ie 19-1 to 19-3 , in a first graphic area 62-1 of the touch screen 60 Have written. The user 14 can continue writing to the first subset of the sequence of strokes; z. B. overlaps the writing stroke 19-4 the writing stroke 19-3 , The writing stroke 19-4 will be in a second graphic area 62-2 of the touch screen 60 written, the second graphic area 62-2 the first graphic area 62-1 overlaps. The character recognition module 10 can recognize characters entered by the user even though at least parts of the characters overlap. This allows the user 14 , Areas of the touch screen 60 to use again without waiting for the character recognition module 10 previously written scripts recognizes.
Das Zeichenerkennungsmodul 10 kann die Anzeigevorrichtung 20 instruieren, die Anzeige eines Sub-Sets von Schreibstrichen mindestens teilweise auf der Basis einer Wahrscheinlichkeit einer präzisen Bestimmung zu ändern (z. B. die Anzeige des Sub-Sets von Schreibstrichen auszublenden). Beispielsweise kann, je wahrscheinlicher das Sub-Set von Schreibstrichen präzise erkannt wird, die Schattierung einer Tinten-Anzeige um so heller sein. Gemäß einem Beispiel wird, wenn das Zeichenerkennungsmodul 10 feststellt, dass ein Sub-Set von Schreibstrichen einem Zeichen mit einem Rang oder einer Punktzahl über einem Schwellwert-Konfidenzniveau entspricht, seitens der Anzeigevorrichtung 20 das Anzeigen dieser Schreibstriche gestoppt (Beispielsweise können die Schreibstriche, die dem erkannten Zeichen entsprechen, vollständig ausgeblendet werden).The character recognition module 10 can the display device 20 instructs to change the display of a subset of strokes based, at least in part, on a probability of a precise determination (eg, fading out the subset of strokes). For example, the more likely the subset of strokes to be accurately detected, the lighter the shading of an ink indicator. According to one example, when the character recognition module becomes 10 determines that a subset of strokes corresponds to a character having a rank or score above a threshold confidence level by the display device 20 stopped displaying these strokes (For example, the strokes that correspond to the recognized character can be completely hidden).
Das Zeichenerkennungsmodul 10 kann auch zwei oder mehr Zeichen in einem einzigen Schriftzug detektieren, wie z. B. in einer unerkannten Eingabe 28. Das Zeichenerkennungsmodul 10 kann eine Grenze zwischen einem Zeichen und einem anderen bestimmen, wenn durch die Benutzer-Eingabe 18 die Zeichen miteinander verbunden werden (z. B. in kursiver Handschrift). Beispielsweise kann das Zeichenerkennungsmodul 10 eine Differenzierung zwischen dem ”e” und dem ”l” in dem Schreibstrich 19-4 mindestens teilweise auf der Basis hier beschriebener Techniken vornehmen.The character recognition module 10 can also detect two or more characters in a single lettering, such. In an unrecognized input 28 , The character recognition module 10 can determine a boundary between one character and another when typed by the user 18 the characters are linked together (eg in italics). For example, the character recognition module 10 a differentiation between the "e" and the "l" in the brush stroke 19-4 at least partially based on techniques described herein.
5A–5D zeigen konzeptuelle Darstellungen eines Beispiels einer Sequenz seitens eines Benutzers eingegebener Schreibstriche 70, die von einem Zeichenerkennungsmodul analysiert werden können, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung. Bei dem in 5A–5D gezeigten Beispiel hat ein Benutzer ”Hello” in Form von Sequenzen von Schreibstrichen 70 geschrieben, die Schreibstriche 70-1 bis 70-9 enthalten. In 5A–5D sind die Schreibstriche 70 um der Klarheit willen mit einem horizontalen Versatz gezeigt; es versteht sich jedoch, dass einige der Schreibstriche 70-1 bis 70-9 auf andere Schreibstriche 70-1 bis 70-9 geschrieben werden können (d. h. dass sich einige der Schreibstriche 70-1 bis 70-9 überlappen können). 5A - 5D show conceptual representations of an example of a sequence on the part of a user of typed strokes 70 that may be analyzed by a character recognition module, in accordance with one or more aspects of the present disclosure. At the in 5A - 5D In the example shown, a user has "Hello" in the form of sequences of strokes 70 written, the dashes 70-1 to 70-9 contain. In 5A - 5D are the writing strokes 70 for the sake of clarity, shown with a horizontal offset; It is understood, however, that some of the scribes 70-1 to 70-9 on other scripts 70-1 to 70-9 can be written (ie that some of the scribes 70-1 to 70-9 can overlap).
Gemäß einem Beispiel kann das Zeichenerkennungsmodul 10 verschiedene Sub-Sets der Sequenz von Schreibstrichen 70 in Betracht ziehen, um festzustellen, welche Zeichen der Benutzer 14 einzugeben beabsichtigte. Beispielsweise gibt ein Benutzer 14 über das berührungsbasierte Interface 4 chronologisch die Sequenz von Schreibstrichen 70 in die Rechnervorrichtung 2 ein. 5A–5D zeigen ein Beispiel der Weise, in der das Zeichenerkennungsmodul 10 mindestens teilweise auf der Basis einer Prüfung verschiedener chronologischer Sub-Sets von Schreibstrichen bestimmen kann, welche Schreibstriche sich in einem ersten Sub-Set von Schreibstrichen befinden, bis ein Zeichen unter den Schreibstrichen innerhalb dieses Sub-Sets erkannt wird.According to one example, the character recognition module 10 different subset of the sequence of strokes 70 consider to determine which characters the user 14 intended to enter. For example, there is a user 14 via the touch-based interface 4 chronologically the sequence of strokes 70 into the computing device 2 one. 5A - 5D show an example of the way in which the character recognition module 10 based at least in part on examining different chronological sub-sets of strokes, which strokes are in a first sub-set of strokes until a character is recognized among the strokes within that subset.
In 5A kann das Zeichenerkennungsmodul 10 jeden Schreibstrich 70-1 bis 70-9 einzeln in Betracht ziehen. Dies bedeutet, dass ein Sub-Set der Sequenz von Schreibstrichen 70 einen einzelnen Schreibstrich enthält. Das Zeichenerkennungsmodul 10 kann jeden Schreibstrich 70-1 bis 70-9 betrachten und einer jeden näherungsweisen Entsprechung zu einem Zeichen einen Punktwert zuweisen. Beispielsweise kann das Zeichenerkennungsmodul 10 eine näherungsweise Entsprechung für die Schreibstriche 70-1, 70-3, 70-7 und 70-8 in einer Großschreibung und Kleinschreibung der Buchstaben ”L” und ”l” sowie in der Zahl 1 sehen. Bei einem derartigen Beispiel kann, ohne dass irgendeine vorherige Benutzer-Eingabe 18 erkannt wird, das Zeichenerkennungsmodul 10 den potenziellen Entsprechungen einen Punktwert oder Rang mindestens teilweise auf der Basis der Schreibstriche 70-1 bis 70-9 zugeordnet werden. Bei den Beispielen, bei denen zuvor erkannte Zeichen vorhanden sind, kann das Zeichenerkennungsmodul 10 zusätzlich Punktwerte mindestens teilweise auf der Basis der zuvor erkannten Zeichen zuweisen.In 5A can be the character recognition module 10 every typeface 70-1 to 70-9 to consider individually. This means that a subset of the sequence of strokes 70 contains a single character stroke. The character recognition module 10 can be any typeface 70-1 to 70-9 and assign a score to each approximate match to a character. For example, the character recognition module 10 an approximate equivalent for the dashes 70-1 . 70-3 . 70-7 and 70-8 in uppercase and lowercase letters "L" and "L" as well as in number 1 see. In such an example, without any prior user input 18 is recognized, the character recognition module 10 the potential matches a score or rank based at least in part on the strokes 70-1 to 70-9 be assigned. In the examples where previously recognized characters exist, the character recognition module may 10 additionally assign scores at least partially based on the previously recognized characters.
Zudem zieht beispielsweise das Zeichenerkennungsmodul 10 die Schreibstriche 70-2, 70-5 und 70-6 dahingehend in Erwägung, dass es sich bei ihnen möglicherweise um einen Gedankenstrich ”-” oder eine Unterstreichung ”_” handelt, und es kann diesen potenziellen Ergebnissen entsprechende Ränge zuweisen. Bei einigen Beispielen jedoch kann aufgrund der relativ hohen vertikalen Positionierung des Schreibstrichs 70-6 das Zeichenerkennungsmodul 10 dem ”_” einen relativ niedrigen Punktwert geben. Der Schreibstrich 70-4 kann näherungsweise als dem Großbuchstaben ”L” entsprechend angesehen werden und mit einem hohen Rang versehen werden.In addition, draws the character recognition module, for example 10 the writing strokes 70-2 . 70-5 and 70-6 may be an indent "-" or an underline "_" and may assign appropriate ranks to these potential outcomes. However, in some examples, due to the relatively high vertical positioning of the brush stroke 70-6 the character recognition module 10 Give the "_" a relatively low score. The writing stroke 70-4 can be approximately considered as the capital letter "L" and be provided with a high rank.
Ferner kann der Schreibstrich 70-9 ein groß- oder kleingeschriebener Buchstabe ”O” oder die Zahl ”0” sein.Furthermore, the writing stroke 70-9 be a capital or lower case letter "O" or the number "0".
Das Zeichenerkennungsmodul 10 kann diesen potenziellen Entsprechungen einen Rang oder eine Punktzahl auf der Basis der Wahrscheinlichkeit zuweisen, dass sie einem oder jeglichen der Zeichen präzise entsprechen (z. B. basierend auf vorherigen oder nachfolgenden Sub-Sets von Schreibstrichen, der vertikalen Positionierung, der Größe etc.). Bei einem hohen Rang kann es sich um einen Rang handeln, der darauf hindeutet, dass das Zeichen mit höherer Wahrscheinlichkeit das beabsichtigte Zeichen ist als ein Referenz-Zeichen oder ein mittelwertgemäßes Zeichen. Dementsprechend kann ein niedriger Rang ein Rang sein, der darauf hindeutet, dass das Zeichen mit geringerer Wahrscheinlichkeit das beabsichtigte Zeichen ist als ein Referenz-Zeichen oder mittelwertgemäßes Zeichen.The character recognition module 10 may assign a rank or score to these potential matches based on the likelihood that they correspond precisely to one or any of the characters (eg, based on previous or subsequent sub-sets of strokes, vertical positioning, size, etc.). , A high rank may be a rank that indicates that the character is more likely to be the intended character than a reference character or a middle value character. Accordingly, a low rank may be a rank indicating that the character is less likely to be the intended character than a reference character or averaged character.
Das Zeichenerkennungsmodul 10 kann auch Sub-Sets von Schreibstrichen 70 in Erwägung ziehen, die zwei Schreibstriche aufweisen, wie in 5B gezeigt. Gemäß einigen Beispielen enthalten die Sub-Sets von Schreibstrichen 70 aufeinanderfolgende Schreibstriche (d. h. Schreibstriche, die nebeneinander in chronologischer Abfolge vorgenommen worden sind). Gemäß weiteren Beispielen enthalten die Sub-Sets von Schreibstrichen 70 Schreibstriche, die nicht durchgehend sind (Beispielsweise kann ein Sub-Set von Schreibstrichen, der dem Buchstaben ”I” entspricht, möglicherweise nicht aufeinanderfolgend ausgebildet sein, da der Benutzer 14 möglicherweise den Punkt auf dem ”i” erst nach dem Vervollständigen der anderen Buchstaben eines Worts anbringt). Zur Veranschaulichung zeigen 5A–5D Sub-Sets von Schreibstrichen 70, die aufeinanderfolgende Schreibstriche enthalten.The character recognition module 10 can also sub-sets of strokes 70 consider having two spokes, as in 5B shown. According to some examples, the subset contain strokes 70 successive writing strokes (ie, strokes made side by side in chronological order). According to further examples, the sub-sets include pen strokes 70 Scripts that are not continuous (For example, a subset of scribes that corresponds to the letter "I" may not be sequential because the user 14 possibly placing the dot on the "i" only after completing the other letters of a word). To illustrate 5A - 5D Sub-sets of strokes 70 containing consecutive writing strokes.
Das Zeichenerkennungsmodul 10 kann die Kombination jeglicher Schreibstriche in dem Sub-Set von Schreibstrichen als ein einziges Zeichen in Betracht ziehen. Beispielsweise kann in 5B ein Sub-Set von Schreibstrichen 70, der die Schreibstriche 70-2 und 70-3 sowie 70-3 und 70-4 enthält, potenziell der Buchstabe ”t” oder das Zeichen ”+” sein und kann durch das Zeichenerkennungsmodul 10 rang- oder punktzahlmäßig eingestuft werden. Einige Sub-Sets von Schreibstrichen 70, z. B. 70-3 und 70-4 sowie 70-7 und 70-8 haben möglicherweise keine potenzielle Entsprechung. Bei einem derartigen Beispiel wird diesen Sub-Sets von Schreibstrichen 70 ein niedriger Rang oder eine niedrige Punktzahl oder überhaupt kein Rang bzw. keine Punktzahl zugewiesen.The character recognition module 10 may consider the combination of any strokes in the sub-set of strokes as a single character. For example, in 5B a sub-set of strokes 70 that the writing strokes 70-2 and 70-3 such as 70-3 and 70-4 may be potentially the letter "t" or the character "+" and may be through the character recognition module 10 be ranked or scored. Some sub-sets of strokes 70 , z. B. 70-3 and 70-4 such as 70-7 and 70-8 may not have a potential match. In one such example, these sub-sets of strokes become 70 assigned a low rank or score, or no rank or score at all.
5C zeigt ein Beispiel der Sub-Sets von Schreibstrichen, die drei aufeinanderfolgende Schreibstriche enthalten. Gemäß diesem Beispiel erkennt das Zeichenerkennungsmodul 10 die Schreibstriche 70-1 bis 70-3 dahingehend, dass sie potenziell den Buchstaben ”H” bilden. Diese Erkennung kann auf einem Vergleich des Sub-Sets von Schreibstrichen mit einer Zeichen-Datei basieren oder in anderer Weise erfolgen. Somit muss für dieses Sub-Set von Schreibstrichen der Buchstabe ”H” eine sehr hohe Punktzahl oder einen sehr hohen Rang erhalten. In ähnlicher Weise entsprechen die Schreibstriche 70-4 bis 70-6 dem Buchstaben ”E” und können rang- oder punktzahlmäßig entsprechend eingestuft werden. Wenn das Zeichenerkennungsmodul 10 feststellt, dass ein Sub-Set von Schreibstrichen möglicherweise ein ”E” ist, kann das Zeichenerkennungsmodul 10 diese Information benutzen, um Zeichen, die zuvor mit einem Rang oder einer Punktzahl versehen worden sind, erneut rang- oder punktzahlmäßig einzustufen. Beispielsweise kann das Zeichenerkennungsmodul 10 dem ”H” einen höheren Rang oder eine höhere Punktzahl geben, nachdem das ”E” detektiert worden ist. Das Zeichenerkennungsmodul 10 kann den Rang des ”H” erhöhen, da das Zeichenerkennungsmodul 10 eine Datenbank mit einem Wörterbuch konsultieren kann, in dem mit ”he” beginnende Wörter aufgelistet sind. 5C shows an example of the subset of slashes containing three consecutive slashes. According to this example, the character recognition module recognizes 10 the writing strokes 70-1 to 70-3 in that they potentially form the letter "H". This recognition may be based on a comparison of the subset of strokes with a character file, or otherwise. Thus, for this subset of strokes, the letter "H" must be a very get high score or a very high rank. Similarly, the dashes correspond 70-4 to 70-6 the letter "E" and can be classified according to rank or score. If the character recognition module 10 determines that a subset of strokes may be an "E" character recognition engine 10 use this information to recalculate characters previously ranked or scored. For example, the character recognition module 10 give the "H" a higher rank or a higher score after the "E" has been detected. The character recognition module 10 can increase the rank of the "H" because the character recognition module 10 can consult a database with a dictionary that lists words beginning with "he".
In ähnlicher Weise zeigt 5D ein Beispiel, bei dem ein Sub-Set von Schreibstrichen 70 vier aufeinanderfolgende Schreibstriche enthält. Gemäß einigen Beispielen kann das Zeichenerkennungsmodul 10 eine Schwellwert-Anzahl von Schreibstrichen haben, die für ein Zeichen in Betracht gezogen werden können. Bei dem Beispiel gemäß 5D kann das Zeichenerkennungsmodul 10 ein Schwellwert-Niveau der Anzahl von Schreibstrichen auf vier setzen. Dies kann der Fall sein, weil einhergehend mit einer Zunahme der Anzahl von Schreibstrichen in einem Sub-Set die Wahrscheinlichkeit abnimmt, dass dieses Sub-Set einem bestimmten Zeichen entspricht. Bei diesem Beispiel kann das Zeichenerkennungsmodul 10 keinerlei rangmäßig hohen Zeichen-Entsprechungen finden.In a similar way shows 5D an example where a subset of strokes 70 contains four consecutive writing strokes. According to some examples, the character recognition module 10 have a threshold number of strokes that can be considered for a character. In the example according to 5D can be the character recognition module 10 set a threshold level of the number of strokes to four. This may be the case because, along with an increase in the number of strokes in a subset, the likelihood that this subset will correspond to a particular character will decrease. In this example, the character recognition module 10 find no ranked high-grade equivalents.
Das Zeichenerkennungsmodul 10 kann beim Erkennen der Eingabe des Benutzers 14 einige oder sämtliche Sub-Sets von Schreibstrichen und die Ränge oder Punktzahlen ihrer jeweiligen Entsprechungen in Betracht ziehen. Beispielsweise kann das Zeichenerkennungsmodul 10 auf der Basis verschiedener Faktoren Sub-Sets miteinander vergleichen, sowie auch potenzielle Zeichen-Entsprechungen innerhalb eines Sub-Sets. Gemäß einigen Beispielen hält das Zeichenerkennungsmodul 10 eine Anzahl möglicher Entsprechungen mindestens bis zu einer maximalen Anzahl bei (Beispielsweise speichert das Zeichenerkennungsmodul 10 die zwanzig am meisten wahrscheinlichen potenziellen Entsprechungen für jedes Sub-Set von Schreibstrichen). Gemäß weiteren Beispielen kann die maximale Anzahl potenzieller Entsprechungen eine andere Anzahl sein.The character recognition module 10 can when recognizing the input of the user 14 Consider some or all of the sub-sets of strokes and the ranks or scores of their respective counterparts. For example, the character recognition module 10 to compare sub-sets based on various factors, as well as potential counterparts within a subset. According to some examples, the character recognition module stops 10 a number of possible correspondences at least up to a maximum number (for example, the character recognition module stores 10 the twenty most likely potential matches for each subset of strokes). In other examples, the maximum number of potential matches may be a different number.
Gemäß einem Beispiel kann das Zeichenerkennungsmodul 10 verschiedene Punktwerte oder Ränge von Sub-Sets für verschiedene Zeichen vergleichen und als passendes Zeichen dasjenige Zeichen wählen, das den höchsten Punktwert für das Sub-Set oder das Zeichen mit einem Punktwert über einem gewählten Schwellwert-Niveau aufweist. Gemäß einem weiteren Beispiel kann das Zeichenerkennungsmodul 10 auf ein Wörterbuch oder eine Grammatik-Referenz zugreifen, um ein Wort mindestens teilweise basierend auf einer festgestellten Sequenz von Zeichen zu identifizieren und/oder vorzuschlagen. Gemäß einem Beispiel stellt das Zeichenerkennungsmodul 10 fest, dass die Benutzer-Eingabe 18 in 5A–5D das Wort ”Hello” ist.According to one example, the character recognition module 10 compare different scores or ranks of sub-sets for different characters, and choose as the matching character the character that has the highest score for the sub-set or the character with a score above a selected threshold level. As another example, the character recognition module 10 access a dictionary or grammar reference to identify and / or propose a word based at least in part on a determined sequence of characters. As an example, the character recognition module provides 10 notice that the user input 18 in 5A - 5D the word "Hello" is.
Die hier beschriebenen Techniken können mindestens teilweise in Hardware, Software, Firmware oder jeglicher Kombination derselben verwendet werden. Beispielsweise können verschiedene Aspekte der beschriebenen Ausführungsformen innerhalb eines oder mehrerer Prozessoren einschließlich eines oder mehrerer Mikroprozessoren, Digitalsignalprozessoren (DSPs), anwendungsspezifischer IC-Schaltungen (ASICs), feldprogrammierbarer Gate-Arrays (FPGAs) oder anderer äquivalenter IC- oder diskreter Logik-Schaltungen sowie jeglicher Kombinationen derartiger Komponenten implementiert werden. Der Ausdruck ”Prozessor” oder ”Prozessorschaltung” kann sich generell auf irgendeine der vorgenannten Logikschaltungen, allein oder in Verbindung mit anderen Logikschaltungen, oder auf jede andere äquivalente Schaltung beziehen. Eine Steuereinheit, die Hardware enthält, kann ebenfalls eine oder mehrere der Techniken gemäß dieser Offenbarung durchführen.The techniques described herein may be used, at least in part, in hardware, software, firmware, or any combination thereof. For example, various aspects of the described embodiments may be embodied within one or more processors including one or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) or other equivalent integrated circuit or discrete logic circuits, and any Combinations of such components are implemented. The term "processor" or "processor circuit" may generally refer to any of the foregoing logic circuits, alone or in conjunction with other logic circuits, or any other equivalent circuit. A controller including hardware may also perform one or more of the techniques in accordance with this disclosure.
Derartige Hardware, Software oder Firmware kann innerhalb der gleichen Vorrichtung oder innerhalb separater Vorrichtungen implementiert werden, um die verschiedenen hier beschriebenen Techniken zu stützen. Zudem können sämtliche der hier beschriebenen Einheiten, Module oder Komponenten zusammen oder separat als diskrete, jedoch interoperable Logik-Vorrichtungen implementiert werden. Die Beschreibung verschiedener Merkmale als Module oder Einheiten dient der Betonung verschiedener funktionaler Aspekte und impliziert nicht notwendigerweise, dass derartige Module oder Einheiten durch separate Hardware-, Firmware- oder Software-Komponenten realisiert werden. Vielmehr kann die Funktionalität, die dem bzw. der einen oder den mehreren Modulen oder Einheiten zugewiesen ist, auch durch separate Hardware-, Firmware- oder Software-Komponenten ausgeführt werden oder in gemeinsamen Hardware-, Firmware- oder Software-Komponenten integriert sein.Such hardware, software or firmware may be implemented within the same device or within separate devices to support the various techniques described herein. In addition, all of the units, modules, or components described herein may be implemented together or separately as discrete but interoperable logic devices. The description of various features as modules or units is intended to emphasize various functional aspects and does not necessarily imply that such modules or units are implemented by separate hardware, firmware or software components. Rather, the functionality assigned to the one or more modules or units may also be performed by separate hardware, firmware, or software components, or integrated into common hardware, firmware, or software components.
Hier beschriebene Techniken können ferner in einem Industrieprodukt – einschließlich eines mit Instruktionen kodierten computerlesbaren Speichermediums – ausgebildet oder kodiert sein. In einem Industrieprodukt einschließlich eines kodierten computerlesbaren Speichermediums ausgebildete oder kodierte Instruktionen können einen oder mehrere programmierbare Prozessoren oder andere Prozessoren veranlassen, eine oder mehrere der hier beschriebenen Techniken zu implementieren, wie z. B. wenn in dem computerlesbaren Speichermedium ausgebildete oder kodierte Instruktionen von dem einen oder den mehreren Prozessoren ausgeführt werden. Zu den computerlesbaren Speichermedien zählen Speicher mit wahlweisem Zugriff (RAM), Nurlesespeicher (ROM), programmierbare Nurlesespeicher (PROM), löschbare programmierbare Nurlesespeicher (EPROM), elektronisch löschbare programmierbare Nurlesespeicher (EEPROM), Flash-Speicher, eine Festplatte, eine Compact-Disc-ROM (CD-ROM), eine Diskette, eine Kassette, magnetische Medien, optische Medien oder andere computerlesbare Medien. Gemäß einigen Beispielen kann ein Industrieprodukt ein oder mehrere computerlesbaren Speichermedien aufweisen.Techniques described herein may also be formed or encoded in an industrial product, including a computer-readable storage medium encoded with instructions. Instructions formed or encoded in an industrial product including a coded computer readable storage medium may cause one or more programmable processors or other processors to implement one or more of the techniques described herein, such as: For example, when instructions formed or encoded in the computer readable storage medium are executed by the one or more processors. Computer-readable storage media include random access memory (RAM), read-only memory (ROM), programmable read only memory (PROM), erasable programmable read-only memory (EPROM), electronically erasable programmable read-only memory (EEPROM), flash memory, a hard disk, a compact disc ROM (CD-ROM), a floppy disk, a cassette, magnetic media, optical media or other computer-readable media. In some examples, an industrial product may include one or more computer-readable storage media.
Gemäß einigen Beispielen können computerlesbare Speichermedien nichtflüchtige oder greifbare Medien aufweisen. Der Ausdruck ”nichtflüchtig” kann darauf hinweisen, dass das Speichermedium nicht in einer Trägerwelle oder einem ausgegebenen Signal ausgebildet ist. Gemäß bestimmten Beispielen kann ein nichtflüchtiges Speichermedium Daten speichern, die sich über der Zeit ändern können (z. B. in einem RAM oder Cache).In some examples, computer readable storage media may include nonvolatile or tangible media. The term "non-volatile" may indicate that the storage medium is not formed in a carrier wave or an output signal. According to certain examples, a non-volatile storage medium may store data that may change over time (eg, in a RAM or cache).
Es sind verschiedene Aspekte der Offenbarung beschrieben worden. Aspekte oder Merkmale hier beschriebener Beispiele können mit jedem anderen Aspekt oder Merkmal, der bzw. das in einem anderen Beispiel beschrieben ist, kombiniert werden. Diese und weitere Ausführungsformen fallen unter den Umfang der folgenden Ansprüche.Various aspects of the disclosure have been described. Aspects or features of examples described herein may be combined with any other aspect or feature described in another example. These and other embodiments are within the scope of the following claims.