IP Library Granted Patent US 9,063,611
Granted Patent B2
US 9,063,611 · App. 13/912,487 · Granted Jun 23, 2015

Systems and methods for improving image tracking based on touch events

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,063,611
App. No.
13/912,487
Granted
Jun 23, 2015
Kind
B2
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 (48)

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, wherein touch events detected within the offset are utilized for generating a subsequent synthetic touch event position; 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.

2. 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.

3. 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.

4. 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.

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

6. 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.

7. 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.

8. 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, wherein touch events detected within the offset are utilized for generating a subsequent synthetic touch event position; 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.

9. The system of claim 8 , 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.

10. The system of claim 8 , 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.

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

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

13. The system of claim 8 , 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.

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

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

16. A non-transitory 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, wherein touch events detected within the offset are utilized for generating a subsequent synthetic touch event position; 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.

17. The non-transitory computer-readable medium of claim 16 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.

18. The non-transitory computer-readable medium of claim 17 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.

19. The non-transitory computer-readable medium of claim 16 , wherein the offset is before the refresh time.

20. The non-transitory computer-readable medium of claim 16 , wherein the offset is after the refresh time.

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

22. The non-transitory computer-readable medium of claim 16 , 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.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2013
From: BROWN, JEFF; AGOPIAN, MATHIAS
To: GOOGLE INC.
Reel/Frame 030567/0135 →