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) receiving a stroke input by a user onto a computer screen, the stroke being represented as a string of points;
(b) smoothing said stroke by reducing the number of points that represent the stroke such that the points of the smoothed stroke are located at least a threshold distance apart from one another, said smoothing step 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 the two adjacent points that are separated by less than the threshold distance with the new point; and
(iii) repeating steps (i) and (ii) until all of the remaining points in the stroke are separated by at least the threshold distance;
(c) determining whether said smoothed stroke includes at least a predetermined minimum number of points;
(d) calculating angles between adjacent segments of said smoothed stroke and calculating derivatives of said angles; and
(e) determining whether said stroke substantially represents an ellipse, the ellipse determining step utilizing said angles and said derivatives of said angles and including the substeps of;
(i) determining whether said stroke substantially curves in one direction, wherein said stroke is not considered to substantially represent an ellipse when said stroke does not curve in one direction;
(ii) determining whether a point on said stroke that is within a predetermined portion including an end point of said stroke is within a predetermined distance of an opposite end point of said stroke, wherein said stroke is not considered to substantially represent an ellipse when said point is not within said predetermined distance of said opposite end point; and
(iii) summing said derivatives of said angles and checking whether said sum is within a predetermined range of values, wherein said stroke is not considered to substantially represent an ellipse when said sum is outside said range of values;
wherein steps (d) and (e) are only executed when said smoothed stroke includes at least said predetermined minimum number of points.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for recognizing a gesture input on a display screen of a computer system. A method of recognizing an ellipse gesture comprises the steps of receiving a stroke input by a user onto a computer screen, smoothing the stroke by reducing the number of points that represent the stroke, determining whether the smoothed stroke includes at least a predetermined minimum number of points, and, if so, calculating angles between adjacent segments of the smoothed stroke and calculating derivatives of the angles. It is determined if the stroke substantially represents an ellipse by utilizing the angles and the derivatives of the angles. The method preferably includes selecting an ink object on the screen if the ink object is substantially overlapped by the smoothed stroke. A different method of implementing fuzzy recognition includes smoothing the stroke, normalizing the smoothed stroke, determining whether the normalized stroke matches one of a plurality of gesture prototypes, and, if so, selecting the gesture associated with the best matched gesture prototype as the appropriate interpretation of the stroke. The step of normalizing the stroke preferably includes storing normalized coordinates in at least one 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, such as bracket gestures and pigtail gestures, well as gestures input by a user that represent one of said standard gestures. An alternative embodiment of both methods includes a step of determining whether the stroke is part of a multiple stroke gesture, and, if so, adding the stroke to stroke portions previously input by the user.
-
Citations
2 Claims
-
1. A method for recognizing a gesture input on a display screen for a computer system, the method comprising the steps of:
-
(a) receiving a stroke input by a user onto a computer screen, the stroke being represented as a string of points; (b) smoothing said stroke by reducing the number of points that represent the stroke such that the points of the smoothed stroke are located at least a threshold distance apart from one another, said smoothing step 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 the two adjacent points that are separated by less than the threshold distance with the new point; and (iii) repeating steps (i) and (ii) until all of the remaining points in the stroke are separated by at least the threshold distance; (c) determining whether said smoothed stroke includes at least a predetermined minimum number of points; (d) calculating angles between adjacent segments of said smoothed stroke and calculating derivatives of said angles; and (e) determining whether said stroke substantially represents an ellipse, the ellipse determining step utilizing said angles and said derivatives of said angles and including the substeps of; (i) determining whether said stroke substantially curves in one direction, wherein said stroke is not considered to substantially represent an ellipse when said stroke does not curve in one direction; (ii) determining whether a point on said stroke that is within a predetermined portion including an end point of said stroke is within a predetermined distance of an opposite end point of said stroke, wherein said stroke is not considered to substantially represent an ellipse when said point is not within said predetermined distance of said opposite end point; and (iii) summing said derivatives of said angles and checking whether said sum is within a predetermined range of values, wherein said stroke is not considered to substantially represent an ellipse when said sum is outside said range of values; wherein steps (d) and (e) are only executed when said smoothed stroke includes at least said predetermined minimum number of points. - View Dependent Claims (2)
-
Specification