IP Library Granted Patent US 9,164,622
Granted Patent B2
US 9,164,622 · App. 13/648,143 · Granted Oct 20, 2015

Denoising touch gesture input

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,164,622
App. No.
13/648,143
Granted
Oct 20, 2015
Kind
B2
Abstract

In one embodiment, a computing device determines a touch gesture on a touch screen of the computing device. The touch gesture includes two or more data points that each correspond to a particular location on the touch screen and a particular point in time. For each of one or more of the data points, the computing device adjusts a time value representing its particular point in time. For each of one or more of the data points, the computing device adjusts a position value representing its particular location on the touch screen. The computing device fits a curve to the two or more data points to determine a user intent associated with the touch gesture.

Claims (58)

1. A method comprising:

by a computing device, determining a touch gesture on a touch screen of the computing device, the touch gesture comprising two or more data points that each correspond to a particular location on the touch screen and a particular point in time, wherein the data points correspond to different respective points in time;

by the computing device, for each of one or more of the data points, adjusting a time value representing its particular point in time with respect to time values for respective other ones of the data points;

by the computing device, for each of one or more of the data points, adjusting a position value representing its particular location on the touch screen with respect to position values representing particular locations for the respective other ones of the data points; and

by the computing device, fitting a curve to the two or more data points to determine a user intent associated with the touch gesture.

2. The method of claim 1 , wherein the user intent is a velocity associated with an animation within a graphical user interface (GUI) displayed by the touch screen.

3. The method of claim 2 , wherein the animation comprises scrolling.

4. The method of claim 2 , wherein the animation comprises dismissing an element of the GUI.

5. The method of claim 2 , wherein the touch event comprises a pinch.

6. The method of claim 2 , wherein the touch event comprises a drag.

7. The method of claim 2 , wherein the touch event comprises a tap.

8. The method of claim 1 , wherein fitting the curve comprises determining a linear or non-linear least-squares solution.

9. The method of claim 1 , wherein a time value of a data point is adjusted based on a proximity of the time value to one or more other time values of one or more other data points.

10. The method of claim 1 , wherein a position value of a data point is adjusted based on a proximity of the position value to one or more other position values of one or more other data points.

11. The method of claim 1 , wherein the user intent is a velocity associated with a touch event received by the touch screen.

12. The method of claim 1 , wherein fitting the curve comprises determining a polynomial solution.

13. The method of claim 1 , wherein fitting the curve comprises determining a spline-based solution.

14. The method of claim 1 , wherein a time value of a data point is adjusted based on a proximity of the position value to one or more other position values of one or more other data points.

15. The method of claim 1 , wherein a position value of a data point is adjusted based on a proximity of the time value to one or more other time values of one or more other data points.

16. A first computing system comprising:

a memory comprising instructions executable by one or more processors; and

the one or more processors coupled to the memory and operable to execute the instructions, the one or more processors being operable when executing the instructions to:

determine a touch gesture on a touch screen of the computing device, the touch gesture comprising two or more data points that each correspond to a particular location on the touch screen and a particular point in time, wherein the data points correspond to different respective points in time;

for each of one or more of the data points, adjust a time value representing its particular point in time with respect to time values for respective other ones of the data points;

for each of one or more of the data points, adjust a position value representing its particular location on the touch screen with respect to position values representing particular locations for the respective other ones of the data points; and

fit a curve to the two or more data points to determine a user intent associated with the touch gesture.

17. The system of claim 16 , wherein the user intent is a velocity associated with an animation within a graphical user interface (GUI) displayed by the touch screen.

18. The system of claim 17 , wherein the animation comprises scrolling.

19. The system of claim 17 , wherein the animation comprises dismissing an element of the GUI.

20. The system of claim 16 , wherein fitting the curve comprises determining a linear or non-linear least-squares solution.

21. The system of claim 16 , wherein a time value of a data point is adjusted based on a proximity of the time value to one or more other time values of one or more other data points.

22. The system of claim 16 , wherein a position value of a data point is adjusted based on a proximity of the position value to one or more other position values of one or more other data points.

23. The system of claim 16 wherein the user intent is a velocity associated with a touch event received by the touch screen.

24. The system of claim 23 , wherein the touch event comprises a pinch.

25. The system of claim 23 , wherein the touch event comprises a drag.

26. The system of claim 23 , wherein the touch event comprises a tap.

27. The system of claim 16 , wherein fitting the curve comprises determining a polynomial solution.

28. The system of claim 16 , wherein fitting the curve comprises determining a spline-based solution.

29. The system of claim 16 , wherein a time value of a data point is adjusted based on a proximity of the position value to one or more other position values of one or more other data points.

30. The system of claim 16 , wherein a position value of a data point is adjusted based on a proximity of the time value to one or more other time values of one or more other data points.

31. One or more computer-readable non-transitory storage media in one or more computing systems, the media embodying logic that is operable when executed to:

determine a touch gesture on a touch screen of one of the computing systems, the touch gesture comprising two or more data points that each correspond to a particular location on the touch screen and a particular point in time, wherein the data points correspond to different respective points in time;

for each of one or more of the data points, adjust a time value representing its particular point in time with respect to time values for respective other ones of the data points;

for each of one or more of the data points, adjust a position value representing its particular location on the touch screen with respect to position values representing particular locations for the respective other ones of the data points; and

fit a curve to the two or more data points to determine a user intent associated with the touch gesture.

32. The media of claim 31 , wherein the user intent is a velocity associated with an animation within a graphical user interface (GUI) displayed by the touch screen.

33. The media of claim 32 , wherein the animation comprises scrolling.

34. The media of claim 32 , wherein the animation comprises dismissing an element of the GUI.

35. The media of claim 31 , wherein fitting the curve comprises determining a linear or non-linear least-squares solution.

36. The media of claim 31 , wherein a time value of a data point is adjusted based on a proximity of the time value to one or more other time values of one or more other data points.

37. The media of claim 31 , wherein the user intent is a velocity associated with a touch event received by the touch screen.

38. The media of claim 37 , wherein the touch event comprises a pinch.

39. The media of claim 37 , wherein the touch event comprises a drag.

40. The media of claim 37 , wherein the touch event comprises a tap.

41. The media of claim 31 , wherein fitting the curve comprises determining a polynomial solution.

42. The media of claim 31 , wherein fitting the curve comprises determining a spline-based solution.

43. The media of claim 31 , wherein a time value of a data point is adjusted based on a proximity of the position value to one or more other position values of one or more other data points.

44. The media of claim 31 , wherein a position value of a data point is adjusted based on a proximity of the time value to one or more other time values of one or more other data points.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2012
From: KALDOR, JONATHAN M.
To: FACEBOOK, INC.
Reel/Frame 029488/0117 →