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:
- receiving a stroke input by a user onto a computer screen, the stroke being represented as a string of points;
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;
calculating angles between adjacent segments of said smoothed stroke and calculating derivatives of said angles; and
determining whether said stroke substantially represents an ellipse, the ellipse determining step utilizing said angles and said derivatives of said angles to determine whether said stroke substantially curves in one direction or curves in more than one direction, wherein said stroke is not considered to substantially represent an ellipse when said stroke does not curve in one direction, and 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.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for recognizing an ellipse-type gesture input on a display screen of a computer system. A stroke is input by a user onto a computer screen, and the stroke is smoothed by reducing the number of points that represent the stroke. It is determined whether the smoothed stroke includes at least a predetermined minimum number of points, and, if so, angles between adjacent segments of the smoothed stroke and derivatives of the angles are calculated. It is determined if the stroke substantially represents an ellipse by checking if the stroke curves in one direction or more than one direction utilizing the angles and the derivatives of the angles. In addition, the stroke represents an ellipse if the end points are within a predetermined distance of each other, and if a sum of the derivatives of the angles is within a predetermined range of values. The method preferably includes selecting an object on the screen if the object is substantially overlapped by the smoothed stroke. An alternative embodiment includes 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.
254 Citations
27 Claims
-
1. A method for recognizing a gesture input on a display screen for a computer system, the method comprising the steps of:
-
receiving a stroke input by a user onto a computer screen, the stroke being represented as a string of points; 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; calculating angles between adjacent segments of said smoothed stroke and calculating derivatives of said angles; and determining whether said stroke substantially represents an ellipse, the ellipse determining step utilizing said angles and said derivatives of said angles to determine whether said stroke substantially curves in one direction or curves in more than one direction, wherein said stroke is not considered to substantially represent an ellipse when said stroke does not curve in one direction, and 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. 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; calculating the angles formed between adjacent segments of the processed stroke and derivatives of said angles; determining whether a first selected point within a predetermined portion including an end point of said stroke is within a predetermined distance of a second, opposite end point of said stroke, wherein said stroke is not considered to potentially represent an ellipse-type gesture when said first and second selected points are not within the predetermined distance; and summing all of said derivatives of all of said angles and checking to determine whether the sum is within a predetermined range of values, wherein when the sum is within the predetermined range, the stroke is interpreted to potentially represent an ellipse-type gesture. - View Dependent Claims (12, 13, 14, 15)
-
-
16. 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; means for receiving a stroke input by a user onto said screen means by said pointer means, the stroke being represented as a string of points; means for 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; means for determining whether said smoothed stroke includes at least a predetermined minimum number of points; means for calculating angles between adjacent segments of said smoothed stroke and calculating derivatives of said angles; and means for determining whether said stroke substantially represents an ellipse when said angles and said angle derivatives are calculated, the means for determining utilizing said angles and said derivatives of said angles in the determination of whether said stroke substantially represents an ellipse. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A method for recognizing a gesture input on a display screen for a computer system, the method comprising the steps of:
-
receiving a stroke input by a user onto a computer screen, the stroke being represented as a string of points; 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; calculating angles between adjacent segments of said smoothed stroke and calculating derivatives of said angles; and determining whether said stroke substantially represents an ellipse, the ellipse determining step utilizing said angles and said derivatives of said angles to determine whether said stroke either substantially curves in one direction or substantially curves in more than one direction, wherein said stroke is not considered to substantially represent an ellipse when said stroke substantially curves in more than one direction. - View Dependent Claims (23)
-
-
24. 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; calculating the angles formed between adjacent segments of the processed stroke and derivatives of said angles; summing all of said derivatives of all of said angles and checking to determine whether the sum is within a predetermined range of values, wherein when the sum is within the predetermined range, the stroke is interpreted to potentially represent an ellipse-type gesture. - View Dependent Claims (25, 26, 27)
-
Specification