# US 2017/0255334 A1 · Denoising touch gesture input

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0255334 A1
- Document ID: US20170255334A1
- Status: Published application
- Kind: A1
- Application number: 15/599,361
- Filed: 2017-05-18
- Published: 2017-09-07
- Earliest claimed: 2012-10-09
- Assignees: Facebook, Inc.
- Applicants: Facebook, Inc.
- Inventors: Jonathan M. Kaldor
- Web page: https://patentgrep.com/patent/US20170255334A1

## CPC

- G06F 3/0418: {for error correction or compensation, e.g. based on parallax, calibration or alignment}
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 3/0485: Scrolling or panning
- G06F 3/04883: for inputting data by handwriting, e.g. gesture or text
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In one embodiment, a method includes determining a touch gesture that includes two or more data points that each correspond to a particular location on a touch screen and a particular point in time or a particular location; adjusting, for each of one or more of the data points, a time or a position value representing its particular point in time or location with respect to other ones of the data points; and based on the adjusted values, determining a user intent associated with the touch gesture.

## Claims

### Claim 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; and
by the computing device, based on the adjusted time values, determining a user intent associated with the touch gesture.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 2)

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

### Claim 4 (depends on 2)

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

### Claim 5 (depends on 1)

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

### Claim 6 (depends on 5)

The method of claim 5, wherein the touch event comprises a pinch, a drag, or a tap.

### Claim 7 (depends on 1)

The method of claim 1, further comprising fitting a curve to the two or more data points, wherein the fitting the curve comprises determining a linear solution, a non-linear least-squares solution, a spline-based solution, or a polynomial solution.

### Claim 8 (depends on 1)

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

### Claim 9 (depends on 1)

The method of claim 1, wherein the time value of at least one of the data points is adjusted based on a proximity of a position value to one or more other position values of one or more other data points, wherein a position value represents the particular location of the data point on the touch screen with respect to position values representing particular locations for the respective other ones of the data points.

### Claim 10 (depends on 1)

The method of claim 1, wherein the time value of at least one of the data points is adjusted based on a computed average interval between the data points.

### Claim 11

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 position value representing its particular location on the touch screen with respect to position values representing particular locations for respective other ones of the data points; and
by the computing device, based on the adjusted position values, determining a user intent associated with the touch gesture.

### Claim 12 (depends on 11)

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

### Claim 13 (depends on 12)

The method of claim 12, wherein the animation comprises scrolling.

### Claim 14 (depends on 12)

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

### Claim 15 (depends on 11)

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

### Claim 16 (depends on 15)

The method of claim 15, wherein the touch event comprises a pinch, a drag, or a tap.

### Claim 17 (depends on 11)

The method of claim 11, comprising fitting a curve to the two or more data points, wherein the fitting the curve comprises determining a linear solution, a non-linear least-squares solution, a spline-based solution, or a polynomial solution.

### Claim 18 (depends on 11)

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

### Claim 19 (depends on 11)

The method of claim 11, wherein the position value of at least one of the data points is adjusted based on a proximity of a time value to one or more other time values of one or more other data points, wherein a time value represents the particular point in time corresponding to the data point with respect to time values for respective other ones of the data points.

### Claim 20 (depends on 11)

The method of claim 11, wherein the position value of at least one of the data points is adjusted based on an average position value of the data points with respect to at least one positional axis.
