Filtering stylus strokes
First Claim
1. A computer-implemented method for displaying a line corresponding to contact between a stylus and a device, the computer-implemented method comprising:
- determining a plurality of input events corresponding to a stroke input, the plurality of input events corresponding to multiple points of contact on a touchscreen display of the device, each of the multiple points of contact having respective coordinates at which the touchscreen display detects contact;
identifying some of the plurality of input events as first input events, the first input events including a selected input event;
identifying some of the plurality of input events as second input events, the second input events occurring at times prior to a time of the selected input event;
determining a first velocity of the stroke input based on the first input events;
determining a second velocity of the stroke input based on the second input events;
selecting a first cutoff frequency of a first filter based on the first velocity;
selecting a second cutoff frequency of a second filter based on the second velocity;
removing first high frequency components of the plurality of input events using the first filter to generate first filtered inputs, the first high frequency components having frequencies above the first cutoff frequency;
removing second high frequency components of the plurality of input events using the second filter to generate second filtered inputs, the second high frequency components having frequencies above the second cutoff frequency;
generating a first output using the first filtered inputs, the first output corresponding to a first filtered version of the stroke input;
displaying the first output on the touchscreen display;
generating a second output using the second filtered inputs, the second output corresponding to a second filtered version of the stroke input; and
displaying the second output on the touchscreen display after displaying the first output.
1 Assignment
0 Petitions
Accused Products
Abstract
Devices, systems and methods are disclosed for processing stylus interactions with a device and drawing the results of those interactions in a manner that reduces noise and latency. This includes selecting a filter based on a velocity of an input, the velocity determined by comparing coordinates and timestamps associated with the input events. A first filter may be determined using previous input events to reduce latency and a second filter may be determined using previous and subsequent input events to improve accuracy of the filter selection. An output may be generated using the first filter and/or the second filter to combine the benefits of the reduced latency and the increased accuracy.
-
Citations
20 Claims
-
1. A computer-implemented method for displaying a line corresponding to contact between a stylus and a device, the computer-implemented method comprising:
-
determining a plurality of input events corresponding to a stroke input, the plurality of input events corresponding to multiple points of contact on a touchscreen display of the device, each of the multiple points of contact having respective coordinates at which the touchscreen display detects contact; identifying some of the plurality of input events as first input events, the first input events including a selected input event; identifying some of the plurality of input events as second input events, the second input events occurring at times prior to a time of the selected input event; determining a first velocity of the stroke input based on the first input events; determining a second velocity of the stroke input based on the second input events; selecting a first cutoff frequency of a first filter based on the first velocity; selecting a second cutoff frequency of a second filter based on the second velocity; removing first high frequency components of the plurality of input events using the first filter to generate first filtered inputs, the first high frequency components having frequencies above the first cutoff frequency; removing second high frequency components of the plurality of input events using the second filter to generate second filtered inputs, the second high frequency components having frequencies above the second cutoff frequency; generating a first output using the first filtered inputs, the first output corresponding to a first filtered version of the stroke input; displaying the first output on the touchscreen display; generating a second output using the second filtered inputs, the second output corresponding to a second filtered version of the stroke input; and displaying the second output on the touchscreen display after displaying the first output. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method, comprising:
-
determining a plurality of input events corresponding to a stroke input, the plurality of input events corresponding to multiple points of contact on a display of a device, each of the multiple points of contact having respective coordinates at which the display detects contact; identifying some of the plurality of input events as first input events, the first input events including a selected input event; identifying some of the plurality of input events as second input events, the second input events occurring at times prior to a time of the selected input event; determining a first velocity of the stroke input based on the first input events; determining a second velocity of the stroke input based on the second input events; selecting a first cutoff frequency of a first filter based on the first velocity; selecting a second cutoff frequency of a second filter based on the second velocity; removing first high frequency components of the plurality of input events using the first filter to generate first filtered inputs, the first high frequency components having frequencies above the first cutoff frequency; removing second high frequency components of the plurality of input events using the second filter to generate second filtered inputs, the second high frequency components having frequencies above the second cutoff frequency; generating a first output using the first filtered inputs; displaying the first output on the device; generating a second output using the second filtered inputs; and displaying the second output on the device after displaying the first output. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A device, comprising:
-
a touchscreen; at least one processor; memory including instructions operable to be executed by the at least one processor to perform a set of actions to cause the device to; determine a plurality of input events corresponding to a stroke input, the plurality of input events corresponding to multiple points of contact on the touchscreen, each of the multiple points of contact having respective coordinates at which the touchscreen detects contact; identify some of the plurality of input events as first input events, the first input events including a selected input event; identify some of the plurality of input events as second input events, the second input events occurring at times prior to a time of the selected input event; determine a first velocity of the stroke input based on the first input events; determine a second velocity of the stroke input based on the second input events; select a first cutoff frequency of a first filter based on the first velocity; remove first high frequency components of the plurality of input events using the first filter to generate first filtered inputs, the first high frequency components having frequencies above the first cutoff frequency; remove second high frequency components of the plurality of input events using the second filter to generate second filtered inputs, the second high frequency components having frequencies above the second cutoff frequency; generate a first output using the first filtered inputs; display the first output on the device; generate a second output using the second filtered inputs; and display the second output on the device after displaying the first output. - View Dependent Claims (17, 18, 19, 20)
-
Specification