# US 2014/0152590 A1 · Systems and methods for improving image tracking based on touch events

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

- Number: US 2014/0152590 A1
- Document ID: US20140152590A1
- Status: Published application
- Kind: A1
- Application number: 13/912,487
- Filed: 2013-06-07
- Published: 2014-06-05
- Earliest claimed: 2012-06-27
- Assignees: Google Inc.
- Applicants: Google Inc.
- Inventors: Jeff Brown; Mathias Agopian
- Web page: https://patentgrep.com/patent/US20140152590A1

## CPC

- G06F 3/04166: {Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving (Synchronisation with the driving of the display or the backlighting unit to avoid interferences generated internally G06F3/04184)}
- G06F 3/0418: {for error correction or compensation, e.g. based on parallax, calibration or alignment}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Certain implementations of the disclosed technology may include systems and methods for improving image tracking based on touch events. A method is provided for outputting an image for presentation using an electronic device, the electronic device having a display refresh rate. The method includes detecting one or more touch events received via a touch sensitive surface screen associated with the electronic device, each touch event having a touch event position. The method also includes generating, by the electronic device, a synthetic touch event position based on the one or more touch event positions, the synthetic touch event position calculated to coincide in time with a predicted time, the predicted time being within an offset relative to a display refresh time corresponding to the display refresh rate. The method also includes outputting data based at least in part one or more of the synthetic touch event position or a touch event position associated with the one or more touch events.

## Claims

### Claim 1

A method for outputting an image for presentation using an electronic device, the electronic device having a display refresh rate, the method comprising:
detecting, by the electronic device, one or more touch events received via a touch sensitive surface screen associated with the electronic device, each touch event having a touch event position;
generating, by the electronic device, a synthetic touch event position based on the one or more touch event positions, the synthetic touch event position calculated to coincide in time with a predicted time, the predicted time being within an offset relative to a display refresh time corresponding to the display refresh rate; and
outputting data based at least in part one or more of the synthetic touch event position or a touch event position associated with the one or more touch events.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
generating an interpolated event position based at least in part on a touch event before and a touch event after the display refresh time, and outputting the data further based at least in part on the interpolated event.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
determining an error between the synthetic touch event position and the interpolated event position, and outputting the data further based at least in part on the error.

### Claim 4 (depends on 3)

The method of claim 3, further comprising progressively compensating the error over time and outputting the data further based at least in part on the compensation.

### Claim 5 (depends on 1)

The method of claim 1, wherein the offset is before or after the refresh time.

### Claim 6 (depends on 1)

The method of claim 1, wherein generating the synthetic touch event position comprises one or more of estimating a velocity vector based on the one or more touch events or predicting a future velocity vector using an estimated acceleration vector based on the one or more touch events.

### Claim 7 (depends on 1)

The method of claim 1, wherein the electronic device comprises a touch screen, and wherein each of the one or more touch events comprise a notification that the touch screen was touched.

### Claim 8 (depends on 1)

The method of claim 1, wherein touch events detected within the offset are utilized for generating a subsequent synthetic touch event position.

### Claim 9

A system comprising:
a touch screen;
a display, the display having a display refresh rate;
one or more processors in communication with the touch screen and the display; and
at least one memory in communication with the one or more processors and configured for storing data and instructions that, when executed by the at least one processor, cause the system to:
detect one or more touch events from the touch screen, each touch event having a touch event position;
generate a synthetic touch event position based on the one or more touch event positions, the synthetic touch event position calculated to coincide in time with a predicted time, the predicted time being within an offset relative to a display refresh time corresponding to the display refresh rate; and
output data based at least in part one or more of the synthetic touch event position or a touch event position associated with the one or more touch events.

### Claim 10 (depends on 9)

The system of claim 9, wherein the instructions, when executed by the at least one processor, further cause the system to:
generate an interpolated event position based at least in part on a touch event before and a touch event after the display refresh time; and
output the data further based at least in part on the interpolated event.

### Claim 11 (depends on 10)

The system of claim 10, wherein the instructions, when executed by the at least one processor, further cause the system to:
determine an error between the synthetic touch event position and the interpolated event position; and
output the data further based at least in part on the error.

### Claim 12 (depends on 9)

The system of claim 9, wherein the offset is before the refresh time.

### Claim 13 (depends on 9)

The system of claim 9, wherein the offset is after the refresh time.

### Claim 14 (depends on 9)

The system of claim 9, wherein the instructions, when executed by the at least one processor, further cause the system to:
estimate a velocity vector based on the one or more touch events
predicting a future velocity vector using an estimated acceleration vector based on the one or more touch events; and
generate a synthetic touch event position based at least in part on one or more of the velocity vector or the estimated acceleration vector.

### Claim 15 (depends on 9)

The system of claim 9, wherein each of the one or more touch events include a notification that the touch screen was touched.

### Claim 16 (depends on 15)

The system of claim 15, wherein the notification includes a time stamp.

### Claim 17 (depends on 9)

The system of claim 9, wherein touch events detected within the offset are utilized for generating one or more subsequent synthetic touch event positions.

### Claim 18

A computer-readable medium that stores instructions that, when executed by at least one processor in a system, cause the system to perform a method for outputting an image for presentation using an electronic device, the electronic device having a display refresh rate, the method comprising:
detecting, by the electronic device, one or more touch events received via a touch sensitive surface screen associated with the electronic device, each touch event having a touch event position;
generating, by the electronic device, a synthetic touch event position based on the one or more touch event positions, the synthetic touch event position calculated to coincide in time with a predicted time, the predicted time being within an offset relative to a display refresh time corresponding to the display refresh rate; and
outputting data based at least in part on one or more of the synthetic touch event position or a touch event position associated with the one or more touch events.

### Claim 19 (depends on 18)

The computer-readable medium of claim 18 that further stores instructions that further causes the system to perform the method steps of:
generating an interpolated event position based at least in part on a touch event before and a touch event after the display refresh time; and
output the data further based at least in part on the interpolated event.

### Claim 20 (depends on 19)

The computer-readable medium of claim 19 that further stores instructions that further causes the system to perform the method steps of:
determining an error between the synthetic touch event position and the interpolated event position; and
output the data further based at least in part on the error.

### Claim 21 (depends on 18)

The computer-readable medium of claim 18, wherein the offset is before the refresh time.

### Claim 22 (depends on 18)

The computer-readable medium of claim 18, wherein the offset is after the refresh time.

### Claim 23 (depends on 18)

The computer-readable medium of claim 18, wherein generating the synthetic touch event position comprises estimating a velocity vector based on the one or more touch events.

### Claim 24 (depends on 18)

The computer-readable medium of claim 18, wherein the electronic device is a mobile device that comprises a touch screen, and wherein each of the one or more touch events comprise a notification that the touch screen was touched.

### Claim 25 (depends on 18)

The computer-readable medium of claim 18, wherein touch events detected within the offset are utilized for generating a subsequent synthetic touch event position.
