IP Library Granted Patent US 8,773,377
Granted Patent B2
US 8,773,377 · App. 13/156,243 · Granted Jul 8, 2014

Multi-pass touch contact tracking

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 8,773,377
App. No.
13/156,243
Granted
Jul 8, 2014
Kind
B2
Abstract

In embodiments of multi-pass touch contact tracking, touch input sensor data is recognized as a series of components of a contact on a touch-screen display. The components can be determined to correlate to the contact based on multi-pass nearest-neighbor contact mapping that includes forward nearest-neighbor contact mapping of the components and reverse nearest-neighbor contact mapping of the components. The components can then be associated to represent a tracking of the contact. Subsequent components of the contact can also be determined and associated with the previous components of the contact to further represent the tracking of the contact.

Claims (47)

1. A method, comprising:

recognizing touch input sensor data as a series of components of a contact on a touch-screen display;

determining that the components correlate to the contact based on multi-pass nearest-neighbor contact mapping that includes forward nearest-neighbor contact mapping of the components and reverse nearest-neighbor contact mapping of the components; and

associating the components to represent a tracking of the contact.

2. A method as recited in claim 1 , wherein the forward nearest-neighbor contact mapping evaluates distance from one or more additional components of the contact to predicted component positions of the components.

3. A method as recited in claim 2 , wherein the reverse nearest-neighbor contact mapping evaluates distance from the predicted component positions to the one or more additional components of the contact.

4. A method as recited in claim 1 , wherein the reverse nearest-neighbor contact mapping is initiated when unmapped components remain after the forward nearest-neighbor contact mapping.

5. A method as recited in claim 4 , wherein mapped component associations that are mapped by the forward nearest-neighbor contact mapping are released when the reverse nearest-neighbor contact mapping is initiated.

6. A method as recited in claim 1 , further comprising:

assigning a same identifier to the components that correlate to the contact;

determining that subsequent components correlate to the contact based on the multi-pass nearest-neighbor contact mapping; and

assigning the same identifier to the subsequent components that combine with the components to represent the tracking of the contact.

7. A method as recited in claim 1 , further comprising:

predicting a component position of the contact from the tracking of the contact; and

correlating the predicted component position to a subsequent component of the contact.

8. A method as recited in claim 7 , wherein the predicted component position is predicted based on the components that represent the tracking of the contact.

9. A computing device, comprising:

a touch-screen display;

a touch input module configured to recognize touch input sensor data as a series of components of a contact on the touch-screen display;

at least a memory and a processor to implement a contact tracking service configured to:

determine that the components correlate to the contact based on multi-pass nearest-neighbor contact mapping that includes forward nearest-neighbor contact mapping of the components and reverse nearest-neighbor contact mapping of the components; and

associate the components to represent a tracking of the contact.

10. A computing device as recited in claim 9 , wherein the forward nearest-neighbor contact mapping evaluates distance from one or more additional components of the contact to predicted component positions of the components.

11. A computing device as recited in claim 10 , wherein the reverse nearest-neighbor contact mapping evaluates distance from the predicted component positions to the one or more additional components of the contact.

12. A computing device as recited in claim 9 , wherein the reverse nearest-neighbor contact mapping is initiated when unmapped components remain after the forward nearest-neighbor contact mapping.

13. A computing device as recited in claim 12 , wherein mapped component associations that are mapped by the forward nearest-neighbor contact mapping are released when the reverse nearest-neighbor contact mapping is initiated.

14. A computing device as recited in claim 8 , wherein the contact tracking service is further configured to:

assign a same identifier to the components that correlate to the contact;

determine that subsequent components correlate to the contact based on the multi-pass nearest-neighbor contact mapping; and

assign the same identifier to the subsequent component that represent the tracking of the contact.

15. A computing device as recited in claim 9 , wherein the contact tracking service is further configured to:

predict a component position of the contact from the tracking of the contact; and

correlate the predicted component position to a subsequent component of the contact.

16. A computing device as recited in claim 15 , wherein the contact tracking service is further configured to predict the component position based on the components that represent the tracking of the contact.

17. A method, comprising:

recognizing touch input sensor data as a series of components of one or more contacts on a touch-screen display;

initiating a forward nearest-neighbor contact mapping to determine the components that correlate to the respective one or more contacts;

determining that unmapped components remain after the forward nearest-neighbor contact mapping, the unmapped components based on two touch positions having the same [x,y] grid point coordinates; and

initiating a reverse nearest-neighbor contact mapping to determine the components that correlate to the respective one or more contacts.

18. A method as recited in claim 17 , further comprising:

releasing mapped component associations that are mapped by the forward nearest-neighbor contact mapping when said initiating the reverse nearest-neighbor contact mapping, the reverse nearest-neighbor contact mapping correlating the released unmapped components to the respective one or more contacts.

19. A method as recited in claim 1 , wherein said associating the components is based on a two-level procedure, comprising:

establishing an initial association of the components of the contact for gesture input tracking based on prediction; and

validating the initial association of the components of the contact based on the nearest-neighbor contact mapping criteria generating a final association of the components of the contact.

20. A computing device as recited in claim 9 , wherein to associate the components is based on a two-level procedure that is configured to:

establish an initial association of the components of the contact for gesture input tracking based on prediction; and

validate the initial association of the components of the contact based on the nearest-neighbor contact mapping criteria generating a final association of the components of the contact.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2011
From: ZHAO, WEIDONG; STEVENS, DAVID A.; UZELAC, ALEKSANDAR
To: MICROSOFT CORPORATION
Reel/Frame 026414/0561 →