A method or apparatus according to an embodiment of the invention allows for entry of multi-stroke characters via a natural drawing interface and without requiring an expensive stylus-drawing surface combination.
|
1. A method for entry of characters, the method comprising:
providing a plurality of stroke codes each representing a stroke directions in an x-Y plane; providing at least one delimiter code; providing a plurality of switches, which when activated, cause one of the plurality of stroke codes or a delimiter code to be generated; accepting a sequence of stroke codes terminated by a delimiter code; examining sequentially each of the sequence of stroke codes until a delimiter code or an invalid combination of stroke codes is encountered; and displaying at least one valid character corresponding to the sequence of stroke codes if the sequence of stroke codes corresponds to at least one valid character.
9. An apparatus for entry of characters, the apparatus comprising:
an input device that provides a plurality of stroke codes representing a stroke direction in an x-Y plane delimiter code; a database that contains valid sequence of stroke codes; a processor programmed to accept a sequence of stroke codes terminated by a delimiter and examine sequentially each of the sequence of stroke codes until a delimiter or an invalid stroke code sequence is encountered; and a display that displays at least one valid character corresponding to the sequence of stroke codes; wherein an apparatus wherein the input device comprises a plurality of switches, each switch, when activated, causes one of the plurality of stroke codes or a delimiter code to be generated; wherein the plurality of switches representing stroke codes represent eight stroke directions in an x-Y plane separated essentially by 45 degrees.
8. An apparatus for entry of characters, the apparatus comprising:
an input device that provides a plurality of stroke codes, the stroke codes representing a stroke direction in an x-Y plane or a delimiter code; a database that contains valid sequence of stroke codes; a processor programmed to accept a sequence of stroke codes terminated by a delimiter and examine sequentially each of the sequence of stroke codes until a delimiter or an invalid stroke code sequence is encountered; and a display that displays at least one valid character corresponding to the sequence of stroke codes; wherein an apparatus wherein the input device comprises a plurality of switches, each switch, when activated, causes one of the plurality of strokes codes or a delimiter code to be generated; wherein the plurality of switches representing stroke codes represent four stroke directions in an x-Y plane separated essentially by 90 degrees.
2. The method of
3. The method of
4. The method of
5. The method of
6. The apparatus of
|
This application is a continuation of Utility application Ser. No. 09/548,502, entitled `A METHOD AND APPARATUS FOR ENTRY OF MULTI-STROKE CHARACTERS` and filed on Apr. 13, 2000, which claims priority to Provisional Application No. 60/129,388, entitled `SYSTEM AND METHOD FOR STROKE-BASED CHARACTER TEXT ENTRY` and filed on Apr. 13, 1999.
This invention relates to symbol entry. Specifically, this invention relates to the entry of multi-stroke symbols or written language characters into an electronic device.
Recent advances in technology and design have enabled the production of handheld electronic devices (including cellular telephones and portable digital assistants or `PDAs`) that have unprecedented capabilities for storage, processing, and/or communications. Such devices can perform data storing functions, retaining quantities of organized textual information such as names, street addresses, e-mail addresses, telephone numbers, and facsimile numbers for business and/or personal contacts. Data access functions may then be performed to retrieve and display selected portions of this information for its own sake or, alternatively, such portions may be retrieved in order to serve as parameters to other device functions such as e-mail, telephone, or fax communications.
In using a device such as a laptop or desktop computer, information may easily be stored or retrieved by entering text via the typing keyboard. The portability and miniaturization associated with handheld devices, however, leave no room for a typing keyboard, and other methods are required with such devices to support entering text or entering search parameters for retrieving text.
One option is to adapt an existing user interface such as the standard twelve-button telephone keypad (i.e. the digits 0-9 and the characters `#` and `*`) for character entry. In this method, the twenty-six letters of the Roman alphabet are mapped to selected keys (as shown in FIG. 1). This method is an unnatural way to enter textual information, however, in part because the mapping must be plural-to-one. In order to enter a single instance of the letter `C`, for example, the user must press the `2` key three times. Such a method is also slow, as the user must observe pauses between keypresses in order to indicate character boundaries (e.g. to distinguish two instances of the letter `A` from one instance of the letter `B`).
In some cases, character disambiguation processing may be used to reduce the required number of keypresses to some extent. In U.S. Pat. No. 5,818,437, Grover et al. describe a computer that uses a dictionary to map sequences of keypresses to corresponding words on a one-to-one keypress-to-letter basis. Unfortunately, some sequences may correspond to more than one word or string, requiring the user to perform additional actions in order to resolve the ambiguity. In the described device, for example, the sequence `1226` corresponds at least to the strings `FOOD`, `GOOD`, and `1226`. Also, entry becomes more difficult for words that are not already represented in the computer's dictionary. In such cases, this method requires multiple and unfamiliar actions to enter characters. In one described embodiment, for example, each key is mapped to nine symbols, and at least two keypresses are required to select any desired symbol.
Moreover, such methods are unsuitable for languages that have alphabets or character sets of more than about thirty characters, as the number of keys required (and/or the number of characters mapped to a given key) would become too high for practical use. For languages having thousands of characters such as written Chinese or Japanese kanji, any method that relies on character-to-key mapping may be completely unworkable.
Another option is entry of textual characters by the use of single, unbroken strokes called `unistrokes.` In U.S. Pat. No. 5,596,656, Goldberg describes a method for using a stylus on a suitable writing surface to enter unistrokes, where each unistroke represents a letter of the Roman alphabet, a digit, or a punctuation symbol. As this method is strictly limited to one-stroke entry, however, it requires the user to learn a new writing alphabet, many of whose characters bear little to no resemblance to the characters they represent. The unistroke corresponding to the letter `E`, for example, is a single stroke from right to left, while the unistroke corresponding to the letter `R` is a single straight stroke from upper left to lower right. The unistroke method may be also unsuitable for languages that include more characters than may conveniently be represented by such an artifice.
Moreover, the unistroke method requires a stylus. On one hand, the stylus may become lost or broken. On the other hand, the stylus may be inconvenient to use in a situation where the user has only one hand free and must use it to hold the device. Additionally, the writing surface required to support such a method consumes a significant portion of the area of the face of the device. Finally, any combination of a stylus and a writing surface that supports such a method will also add considerably to the cost of the device.
Sets of direction codes are received from an input device. Each direction code relates to one among a predetermined number of directions in a drawing plane, and each set of direction codes relates to a stroke. A character comprising the strokes is displayed.
In a method according to an embodiment of the invention, each among a set of elemental character strokes is associated with a key of a keypad.
Although the example shown in
If the combination does not appear in the database, then an error is indicated in task P130 (e.g. via an audible beep and/or a visible indication on a display), the stroke is canceled, and task P110 is repeated. If the combination is valid (i.e. it appears in the database as at least a part of a mapped combination), then in task P140 the action entered in task P110 is compared to the EOC delimiter. Echo of the entered stroke to a display may occur upon entry in task P110, or echo may be suppressed until the validation of task P130 is completed such that only strokes of valid combinations are displayed.
If a match is not detected in task P140, then entry of the next action continues in task P110. If task P140 detects a match, however (i.e. the user has indicated the end of the character), then the characters to which the entered combination is mapped are displayed for selection by the user in task P150. In one example, these characters are arranged on a display in the same configuration as the keys or positions of the input device, enabling the user to easily select the desired character by choosing the corresponding key or position. A scroll function may be provided in cases where the entered combination is mapped to more characters than may be displayed at one time. Audible feedback may also be provided to indicate that entry of a character has been successfully completed.
If the number of remaining possible character matches is reduced to a point where all may be conveniently displayed together, then these remaining characters may be arranged on the display in the same configuration as the keys or positions of the input device, enabling the user to easily select the desired character by choosing the corresponding key or position before the EOC action is performed. In a similar extension, a dictionary of words may be added to a method or apparatus according to an embodiment of the invention such that the number of remaining possible word matches may be displayed for selection.
For applications relating to an alphabet that has upper and lower cases, recognition support may be limited to characters of a particular case (e.g. the database may contain only mappings to capital letters). In a implementation that supports recognition of both upper- and lower-case characters, a shift key may be included to facilitate disambiguation between letters of different cases (e.g. between upper and lower case `O`, or between upper case `D` and lower case `b` or `p`). Such disambiguation may reduce the number of keystrokes which the user is required to enter by, for example, reducing the number of characters displayed in task P150. In one such implementation, the shift key may be pressed before character entry begins. In an alternative implementation, the shift key may be pressed and held while the strokes of the character are entered, in which case the shift key may be placed on the side of the device for greater ease of use.
While characters of the Roman alphabet contain only a few strokes that may be drawn in any order, the characters of east Asian written languages such as Chinese may contain many strokes that are drawn in a sequence strictly determined by convention. For such applications, character disambiguation may also be facilitated by accounting for the sequential order in which the strokes of a character are entered. For example, such disambiguation may be supported by configuring the decision structure of the database to take sequence into account. For the example of a lookup table, this configuration may entail reducing the number of valid stroke combinations. For the example of a decision tree, this configuration may entail reducing the number of edges between nodes.
Even in applications relating to alphabets whose stroke order is less strictly defined, sequential information may be useful to disambiguation, as it may not be necessary and/or desirable to support stroke orders that are unlikely to appear except in error. In the Roman alphabet, for example, no characters would usually be drawn by beginning with a horizontal stroke followed by a curve or loop stroke.
In some written languages, the manner in which a stroke is terminated may also convey distinguishing information about the character.
An apparatus according to an embodiment of the invention may permit several different combinations of strokes to be mapped to a single character. For example, the letter `A` may be entered with three or four strokes (as in FIG. 9A); the letter `V` may be entered as any of three different two-stroke combinations (as in FIG. 9B); and the letter `J` may be entered as a vertical and a horizontal stroke, as a vertical stroke and a curve stroke, or simply as a curve stroke. While a device incorporating an embodiment of the invention may be shipped to recognize all such combinations as valid, convenience of use may be increased by allowing the user to personalize the device by programming it to accept only one of the possible compositions for a particular letter. Alternatively, the device may be configured to learn the particular combinations that the user prefers, thereby reducing the number of keystrokes that the user may be required to enter.
Apart from the number of keystrokes involved, note that a method or apparatus according to a described embodiment of the invention provides a natural and familiar interface to the user. For example, such an interface is more similar to the task of writing the strokes of a character than the conventional method of selecting a letter by pressing an assigned key a predetermined number of times.
In a method according to an alternative embodiment of the invention, strokes of a character are formed by user manipulation of an input device. The input device may be a 4-way-plus-select device such as a rocker switch (as shown in
Alternatively, the input device may be an 8-way-plus-select device such as the rocker switch shown in
In task P220, an indication is received that drawing of the stroke is to begin, as if a pen were placed on the paper at the starting position (e.g. the pogo pin or rocker switch assembly is depressed). In task P230, a set of direction codes is received as the user draws the stroke. This set may be configured as a string of codes indicating movements in each direction. For a stroke drawn as shown in
In addition to or in the alternative to a distance in space, a direction code may represent a relative duration in time of a movement in a particular direction. In such a case, it is not necessary for the direction codes as received from the input device to be related to a bounding box or matrix array, although it may be desirable to normalize them to such an array for display purposes. A reference clock may be used to quantify the duration of such movements. Audible feedback may be provided at each clock tick during stroke drawing, and the speed of the clock may be adjustable by the user. (Note that this clock may also be used to support a EOC timeout function in place of or in addition to a dedicated EOC delimiter action.) A string of codes entered in such an implementation for the stroke of
In task P240, a pen-up indication is received from the input device, signaling that stroke entry is completed. In task P250, if the next signal received from the input device is not an EOC delimiter, then the input is interpreted in task P40 as a starting position for the next stroke in the character (in an alternative implementation, the test of task P250 may be executed as the first step in the loop).
Note that in the method of
In a method according to another embodiment of the invention as shown in
An apparatus to execute the method of
If the received set of direction codes is determined to correspond to one among the set of elemental strokes, then the test of task P360 passes. Otherwise, the received set is rejected in task P390 and the stroke is canceled. An audible and/or visual indication of the error may also be produced. Tasks P370, P380, P400, and P410 may be performed analogously to tasks P120, P140, P130, and P150 in the method of
As noted above, the sequence in which the strokes of a character are entered may be incorporated in the recognition decision. Other information that may be received from the input device and incorporated in that decision includes stroke direction and relative speed of a stroke or of different portions of a stroke.
Additionally, information relating to the relative positions of strokes within a character may be used for disambiguation. For example, the position of the loop in relation to the downstroke may be used to distinguish a capital `P` from a lower-case `b`. Disambiguation may also include ignoring unimportant spatial relations between strokes. A capital `H` may be recognized, for example, regardless of the distance between the downstrokes and/or whether the cross-stroke actually meets both downstrokes.
In a further embodiment, no stroke characterization (as in task P350) need be performed. In this case, the pattern of entered strokes (e.g. as determined by the bounding box or matrix array points which are crossed in drawing the character) may be recognized by a database (e.g. configured as a decision tree) upon receiving the EOC indication, without reference to individual strokes.
Additional features may be provided in the input device for tactile feedback and ease of use. For example, the input device may provide a discernible click at corner and/or edge positions to clearly indicate a current position to the user. Additionally, the handle of a pogo pin or joystick may be extensible to provide greater resolution and control. In such case, it may be desirable to provide a locking mechanism for the extended handle in order to continue the availability of the up-down select action.
The foregoing presentation of the described embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments are possible, and the generic principles presented herein may be applied to other embodiments as well. For example, the invention may be implemented in part or in whole as a hard-wired circuit, as a circuit configuration fabricated into an application-specific integrated circuit, or as a firmware program loaded into non-volatile storage or a software program loaded from or into a data storage medium as machine-readable code, such code being instructions executable by an array of logic elements such as a microprocessor or other digital signal processing unit. Thus, the present invention is not intended to be limited to the embodiments shown above but rather is to be accorded the widest scope consistent with the principles and novel features disclosed in any fashion herein.
Patent | Priority | Assignee | Title |
7388685, | May 25 1999 | Silverbrook Research Pty LTD | Method and system for composition and transmission of an electronic mail message via an interactive document |
7408670, | May 25 1999 | Silverbrook Research Pty LTD | Facsimile delivery method and system using associated identifiers |
7626574, | Jan 22 2003 | Apparatus and method for inputting alphabet characters | |
7746498, | May 25 1999 | Silverbrook Research Pty LTD | Facsimile delivery system using associated identifiers |
7808480, | Oct 28 2005 | SAP SE | Method and system for secure input |
8023141, | May 25 1999 | Silverbrook Research Pty LTD | Facsimile delivery through interaction with printed document |
8107114, | May 25 1999 | Silverbrook Research Pty LTD | Facsimile delivery through interaction with printed document |
8223380, | May 25 1999 | Silverbrook Research Pty LTD | Electronically transmitted document delivery through interaction with printed document |
8264460, | Oct 28 2005 | SAP SE | Method and system for secure password/pin input via mouse scroll wheel |
Patent | Priority | Assignee | Title |
4718102, | Jan 19 1983 | Communication Intelligence Corporation | Process and apparatus involving pattern recognition |
5467407, | Jun 07 1991 | Microsoft Technology Licensing, LLC | Method and apparatus for recognizing cursive writing from sequential input information |
5923778, | Jun 12 1996 | Transpacific IP Ltd | Hierarchical representation of reference database for an on-line Chinese character recognition system |
5933526, | Jul 25 1986 | SAMSUNG ELECTRONICS CO , LTD | Handwritten keyboardless entry computer system |
6320942, | Dec 31 1998 | Keytouch Corporation | Directionally-mapped, keyed alpha-numeric data input/output system |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Oct 31 2002 | Qualcomm, Incorporated | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Feb 21 2008 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Sep 23 2011 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Feb 23 2016 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Sep 14 2007 | 4 years fee payment window open |
Mar 14 2008 | 6 months grace period start (w surcharge) |
Sep 14 2008 | patent expiry (for year 4) |
Sep 14 2010 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 14 2011 | 8 years fee payment window open |
Mar 14 2012 | 6 months grace period start (w surcharge) |
Sep 14 2012 | patent expiry (for year 8) |
Sep 14 2014 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 14 2015 | 12 years fee payment window open |
Mar 14 2016 | 6 months grace period start (w surcharge) |
Sep 14 2016 | patent expiry (for year 12) |
Sep 14 2018 | 2 years to revive unintentionally abandoned end. (for year 12) |