Method and apparatus for recognizing gestures on a computer system
First Claim
1. A method for recognizing a gesture input on a display screen for a computer system, the method comprising the steps of:
- (a) processing a stroke entered on a computer screen to smooth said stroke, said stroke including a plurality of points, said processing step including reducing the number of points that define said stroke such that said points of said smoothed stroke are located at least a threshold distance apart from one another, and including the substeps of;
(i) calculating a position for a new point that is positioned between two adjacent points in the stroke that are separated by less than the threshold distance; and
(ii) replacing a plurality of points that are separated by less than the threshold distance with said new point, wherein the weight given to the location of a specific new point is proportional to the number of points that are replaced by the specific new point;
(b) normalizing said smoothed stroke;
(c) determining whether said normalized stroke matches one of a plurality of gesture prototypes; and
(d) when at least one gesture prototype matches said normalized stroke, selecting the gesture represented by a best matched gesture prototype as an interpretation of said stroke.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for recognizing a gesture input on a display screen of a computer system. A stroke is input by a user on the screen, and the stroke is smoothed by reducing the number of points that define the stroke. The number of points are reduced by calculating a weighted position for a new point between two adjacent points that are within a threshold distance, and replacing a plurality of points that are separated by less than the threshold distance with the new point. The stroke is also normalized by dividing coordinates of the points by a scaling factor and storing selected points of the stroke in a prototype buffer. The normalized stroke is matched to one or more of a plurality of gesture prototypes by utilizing a correlation score that is calculated for each prototype. The gesture prototypes preferably include standard gestures having standardized shapes as well as gestures input by a user, and include bracket and pigtail gestures. An alternative embodiment determines whether the stroke is part of a multiple stroke gesture and, if so, adds the stroke to previously-entered strokes.
-
Citations
38 Claims
-
1. A method for recognizing a gesture input on a display screen for a computer system, the method comprising the steps of:
-
(a) processing a stroke entered on a computer screen to smooth said stroke, said stroke including a plurality of points, said processing step including reducing the number of points that define said stroke such that said points of said smoothed stroke are located at least a threshold distance apart from one another, and including the substeps of; (i) calculating a position for a new point that is positioned between two adjacent points in the stroke that are separated by less than the threshold distance; and (ii) replacing a plurality of points that are separated by less than the threshold distance with said new point, wherein the weight given to the location of a specific new point is proportional to the number of points that are replaced by the specific new point; (b) normalizing said smoothed stroke; (c) determining whether said normalized stroke matches one of a plurality of gesture prototypes; and (d) when at least one gesture prototype matches said normalized stroke, selecting the gesture represented by a best matched gesture prototype as an interpretation of said stroke. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method of interpreting a gesture input onto a display screen associated with a pen-based computer system, the method comprising the steps of:
-
detecting a pointer-created stroke input by a user onto the computer screen; processing the stroke for gesture recognition, the stroke processing step resulting in a series of line segments formed between adjacent points that define the stroke wherein said step of processing the stroke includes smoothing said stroke by reducing the number of points that define the stroke such that the points of the smoothed stroke are located at least a threshold distance apart from one another, said reducing including calculating a position for a new point that is positioned between two adjacent points in the stroke that are separated by less than the threshold distance, and replacing a plurality of points that are separated by less than the threshold distance with said new point; normalizing said processed stroke by; dividing each coordinate by a scaling factor; and storing scaled coordinates of selected points of the stroke to fit in at least one prototype buffer as a normalized stroke, said points being selected based on a size of said prototype buffer; comparing the normalized stroke to a multiplicity of gesture prototypes, wherein a plurality of the gesture prototypes represent the same gesture; and selecting a gesture associated with the gesture prototype that most closely resembles the normalized stroke. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A computer system comprising:
-
a central processing unit (CPU); screen means coupled to said CPU; pointer means coupled to said CPU to provide user inputs which can be displayed on said screen means; processing means for smoothing a stroke entered by said pointer means on said screen means by reducing the number of a plurality of points that define the stroke such that the points of the smoothed stroke are located at least a threshold distance apart from one another, said reducing including calculating a position for a new point that is positioned between two adjacent points in the stroke which are separated by less than the threshold distance, and replacing a plurality of points that are separated by less than the threshold distance with said new point; means for normalizing said smoothed stroke by dividing each coordinate by a scaling factor and storing coordinates of selected points of the stroke as the normalized stroke in at least one buffer of predetermined size; means for determining whether said normalized stroke matches one of a plurality of gesture prototypes; and means for selecting the gesture represented by a best matched gesture prototype as an interpretation of said stroke. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
Specification