Disambiguating input strokes of a stylus-based input devices for gesture or character recognition
First Claim
1. A computer-based method for disambiguating a stylus stroke made on a digitizing tablet, the digitizing tablet being an input device to a computer running at least one application program having one or more application windows, comprising the steps of:
- (a) receiving an x-y data representative of the stylus stroke made on the digitizing tablet;
(b) generating stroke events to indicate a pen-up event, a pen-down event, and a stylus position on the digitizing tablet;
(c) converting said x-y data generated between said pen-down event and said pen-up event to relative coordinates of a display device to generate a stroke element entry;
(d) offering said stroke events to an application window for acceptance;
(e) writing said stroke element entry to a database if the application window accepted said stroke events offered in said step (d);
(f) detecting the occurrence of a closure event;
(g) forming a group of all non-gesture strokes received since a previous closure event into an unrecognized stroke group;
(h) providing said unrecognized stroke group to a character recognizer where a recognition algorithm is performed;
(I) receiving results of said recognition algorithm from said character recognizer;
(j) converting said unrecognized stroke group into a recognized stroke group based on said results received from said recognizer;
(k) determining whether there is an existing word entry in said database with which a character comprising said recognized stroke group is associated;
(l) inserting said recognized stroke group into said database, if said recognized stroke group is associated with said existing word entry;
(m) creating a new word entry, if said recognized stroke group is not associated with said existing word entry, without user intervention; and
(n) inserting said recognized stroke group into said new word entry created in said step (m).
0 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method in a tablet computer for disambiguating a handwriting input stream generated by a stylus-based user interface. A tablet application program interface (TAPI) of the present invention receives stroke data generated by a stroke made by a user on a digitizing tablet. The TAPI inserts the stroke data into a database. If the stroke is an editing gesture, the TAPI routes the stroke to a gesture recognizer which identifies an editing dialog. The TAPI then executes the dialog to perform operations on the database. If the application program is expecting text input, the TAPI continues to receive stroke data until it detects a closure event. The TAPI then forms a stroke group entry in the database by grouping all non-gesture stroke data received since the last closure event. The TAPI routes the stroke group data to a character recognizer, which returns candidate characters. The TAPI inserts the candidate characters into the stroke group entry. The TAPI notifies the application program each time it updates the database.
-
Citations
17 Claims
-
1. A computer-based method for disambiguating a stylus stroke made on a digitizing tablet, the digitizing tablet being an input device to a computer running at least one application program having one or more application windows, comprising the steps of:
-
(a) receiving an x-y data representative of the stylus stroke made on the digitizing tablet; (b) generating stroke events to indicate a pen-up event, a pen-down event, and a stylus position on the digitizing tablet; (c) converting said x-y data generated between said pen-down event and said pen-up event to relative coordinates of a display device to generate a stroke element entry; (d) offering said stroke events to an application window for acceptance; (e) writing said stroke element entry to a database if the application window accepted said stroke events offered in said step (d); (f) detecting the occurrence of a closure event; (g) forming a group of all non-gesture strokes received since a previous closure event into an unrecognized stroke group; (h) providing said unrecognized stroke group to a character recognizer where a recognition algorithm is performed; (I) receiving results of said recognition algorithm from said character recognizer; (j) converting said unrecognized stroke group into a recognized stroke group based on said results received from said recognizer; (k) determining whether there is an existing word entry in said database with which a character comprising said recognized stroke group is associated; (l) inserting said recognized stroke group into said database, if said recognized stroke group is associated with said existing word entry; (m) creating a new word entry, if said recognized stroke group is not associated with said existing word entry, without user intervention; and (n) inserting said recognized stroke group into said new word entry created in said step (m). - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented system for disambiguating a stylus stroke made on a digitizing tablet, the digitizing tablet being an input device to a computer running at least one application program having one or more application windows, comprising:
-
means for receiving an x-y data representative of the stylus stroke made on the digitizing tablet; means for generating stroke events to indicate a pen-up event, a pen-down event, and a stylus position on the digitizing tablet; means for converting said x-y data generated between said pen-down event and said pen-up event to relative coordinates of a display device to generate a stroke element entry; means for offering said stroke events to an application window for acceptance; means for writing said stroke element entry to a database if the application window accepted said stroke events; means for detecting the occurrence of a closure event; means for forming a group of all non-gesture strokes received since a previous closure event into an unrecognized stroke group; means for providing said unrecognized stroke group to a character recognizer where a recognition algorithm is performed; means for receiving results of said recognition algorithm from said character recognizer; means for converting said unrecognized stroke group into a recognized stroke group based on said results received from said recognizer; means for determining whether there is an existing word entry in said database with which a character comprising said recognized stroke group is associated; means for inserting said recognized stroke group into said database, if said recognized stroke group is associated with said existing word entry; means for creating a new word entry, if said recognized stroke group is not associated with said existing word entry, wherein said means for creating a new word entry is without user intervention; and means for inserting said recognized stroke group into said new word entry. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
Specification