IP Library Granted Patent US 8,633,904
Granted Patent B2
US 8,633,904 · App. 12/767,722 · Granted Jan 21, 2014

Touch identification for multi-touch technology

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,633,904
App. No.
12/767,722
Granted
Jan 21, 2014
Kind
B2
Abstract

A method of operating a touch-sensing surface may include determining a first plurality of contact locations including a first contact location, determining a second plurality of contact locations including a second contact location, performing a first correlation process for correlating the second contact location with the first contact location when the number of contacts is less than or equal to a first threshold number, and performing a second correlation process for correlating the second contact location with the first contact location when the number of contacts is greater than a second threshold number.

Claims (56)

1. A method of operating a touch-sensing surface, the method comprising:

determining a first plurality of contact locations based on data from a first scan of the touch-sensing surface, wherein the first plurality of contact locations includes a first contact location;

determining a second plurality of contact locations based on data from a second scan of the touch-sensing surface, wherein the second plurality of contact locations includes a second contact location, and wherein the second scan is subsequent to the first scan;

identifying one or more contact locations that have not moved between the first scan and the second scan;

determining a number of contact locations based on the number of the one or more contact locations that have not moved and on the number of the first plurality of contact locations or the number of the second plurality of contact locations;

performing a first correlation process for correlating the second contact location with the first contact location if the number of contact locations is less than or equal to a first threshold number; and

performing a second correlation process for correlating the second contact location with the first contact location if the number of contact locations is greater than a second threshold number.

2. The method of claim 1 , wherein the first scan is performed during a first time period, and wherein the second scan is performed during a second time period.

3. The method of claim 1 , wherein the second threshold number is equal to the first threshold number.

4. The method of claim 1 , further comprising:

detecting at least one unmoved contact; and

excluding the at least one unmoved contact from at least one of the first correlation process or the second correlation process.

5. The method of claim 1 , wherein the first correlation process includes a least squares calculation.

6. The method of claim 5 , wherein performing the least squares calculation comprises calculating a sum of squared distances for each of a plurality of combinations, wherein each of the plurality of combinations correlates each of the second plurality of contact locations with one of the first plurality of contact locations, and wherein the sum of squared distances includes a square of a distance between each of the second plurality of contact locations and a corresponding contact location from the first plurality of contact locations.

7. The method of claim 1 , wherein the second correlation process includes a nearest neighbor calculation.

8. The method of claim 7 , wherein performing the nearest neighbor calculation comprises:

comparing the second contact location with the first contact location; and

correlating the second contact location with the first contact location in response to determining that the second contact location is within a maximum distance of the first contact location.

9. The method of claim 7 , wherein performing the nearest neighbor calculation comprises selecting from the first plurality of contact locations a contact location nearest the second contact location as the first contact location.

10. The method of claim 1 , further comprising:

assigning one of a plurality of contact identifiers to each of the first plurality of contact locations; and

assigning one of the plurality of contact identifiers to each of the second plurality of contact locations.

11. The method of claim 1 , wherein correlating the second contact location with the first contact location comprises assigning a contact identifier of the first contact location to the second contact location.

12. The method of claim 1 , further comprising:

if the number of the first plurality of contacts is less than the first threshold number, performing the first correlation process for correlating each of the second plurality of contact locations with one of the first plurality of contact locations; and

if the number of the first plurality of contacts is greater than the second threshold number, performing the second correlation process for correlating each of the second plurality of contact locations with one of the first plurality of contact locations.

13. A touch controller, comprising:

an input configured to connect the touch controller with a touch-sensing surface;

a processor coupled with the input; and

a memory coupled with the processor, wherein the memory contains instructions which, when executed by the processor, cause the touch controller to perform operations comprising:

determining a first plurality of contact locations based on data from a first scan of the touch-sensing surface, wherein the first plurality of contact locations includes a first contact location;

determining a second plurality of contact locations based on data from a second scan of the touch-sensing surface, wherein the second plurality of contact locations includes a second contact location, and wherein the second scan is subsequent to the first scan;

identifying one or more contact locations that have not moved between the first scan and the second scan;

determining a number of contact locations based on the number of the one or more contact locations that have not moved and on the number of the first plurality of contact locations or the number of the second plurality of contact locations;

performing a first correlation process for correlating the second contact location with the first contact location if the number of contact locations is less than or equal to a first threshold number; and

performing a second correlation process for correlating the second contact location with the first contact location if the number of contact locations is greater than or equal to a second threshold number.

14. The touch controller of claim 13 , wherein the touch-sensing surface is a touchscreen.

15. The touch controller of claim 13 , wherein the first scan is performed during a first time period, and wherein the second scan is performed during a second time period.

16. The touch controller of claim 13 , wherein the second threshold number is equal to the first threshold number.

17. The touch controller of claim 13 , wherein the memory further contains instructions which, when executed by the processor, cause the touch controller to perform operations comprising:

detecting at least one unmoved contact; and

excluding the at least one unmoved contact from at least one of the first correlation process or the second correlation process.

18. The touch controller of claim 13 , wherein the first correlation process includes performing a least squares calculation.

19. The touch controller of claim 18 , wherein performing the least squares calculation comprises calculating a sum of squared distances for each of a plurality of combinations, wherein each of the plurality of combinations correlates each of the second plurality of contact locations with one of the first plurality of contact locations, and wherein the sum of squared distances includes a square of a distance between each of the second plurality of contact locations and a corresponding contact location from the first plurality of contact locations.

20. The touch controller of claim 13 , wherein the second correlation process includes performing a nearest neighbor calculation.

21. The touch controller of claim 20 , wherein performing the nearest neighbor calculation comprises:

comparing the second contact location with the first contact location; and

correlating the second contact location with the first contact location in response to determining that the first contact location is within a maximum distance of the second contact location.

22. The touch controller of claim 20 , wherein performing the nearest neighbor calculation comprises correlating the second contact location with the first contact location comprises selecting from the first plurality of contact locations a contact location nearest the second contact location as the first contact location.

23. The touch controller of claim 13 , wherein the memory further contains instructions which, when executed by the processor, cause the touch controller to perform operations comprising:

assigning one of a plurality of contact identifiers to each of the first plurality of contact locations; and

assigning one of the plurality of contact identifiers to each of the second plurality of contact locations.

24. The touch controller of claim 13 , wherein correlating the second contact location with the first contact location comprises assigning a contact identifier of the first contact location to the second contact location.

25. The touch controller of claim 13 , wherein the memory further contains instructions which, when executed by the processor, cause the touch controller to perform operations comprising:

if the number of the first plurality of contacts is less than or equal to the first threshold number, performing the first correlation process for correlating each of the second plurality of contact locations with one of the first plurality of contact locations; and

if the number of the first plurality of contacts is greater than the second threshold number, performing the second correlation process for correlating each of the second plurality of contact locations with one of the first plurality of contact locations.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE 8647899 PREVIOUSLY RECORDED ON REEL 035240 FRAME 0429. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTERST. Recorded Nov 3, 2020
From: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058002/0470 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2015
From: CYPRESS SEMICONDUCTOR CORPORATION
To: PARADE TECHNOLOGIES, LTD.
Reel/Frame 036508/0284 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS AND TRADEMARKS Recorded Aug 4, 2015
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT FOR THE SECURED PARTIES
To: CYPRESS SEMICONDUCTOR CORPORATION
Reel/Frame 036264/0114 →
SECURITY INTEREST Recorded Mar 21, 2015
From: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035240/0429 →
PATENT SECURITY AGREEMENT Recorded Aug 28, 2012
From: CYPRESS SEMICONDUCTOR CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 028863/0870 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2010
From: KARPIN, OLEKSANDR; HUTNYK, VOLODYMYR
To: CYPRESS SEMICONDUCTOR CORPORATION
Reel/Frame 024979/0265 →