Multi-touch tracking
First Claim
1. A method comprising:
- determining, using one or more circuits, a first set of provisional pairings, each provisional pairing of the first set of provisional pairings comprising coordinates from a first set of coordinates and coordinates from a second set of coordinates, the first set of coordinates and the second set of coordinates corresponding to a plurality of touches detected by a touch sensor;
calculating a plurality of distances, each distance corresponding to a provisional pairing of the first set of provisional pairings;
validating, using the one or more circuits, a first provisional pairing of the first set of provisional pairings based on calculating the plurality of distances, the first provisional pairing comprising a first coordinate of the second set of coordinates;
determining, using the one or more circuits, that a second provisional pairing of the first set of provisional pairings is not valid in response to determining that;
the second provisional pairing comprises the same first coordinate as the first provisional pairing; and
the first provisional pairing has been validated; and
in response to determining that the second provisional pairing of the first set of provisional pairings is not valid, determining, using the one or more circuits, a second set of provisional pairings, each provisional pairing of the second set of provisional pairings comprising coordinates from the first set of coordinates and coordinates from the second set of coordinates.
15 Assignments
0 Petitions
Accused Products
Abstract
A method of tracking multiple touches over time on a touch sensor, for example a capacitive touch screen. The method analyzes first and second touch data sets from adjacent first and second time frames. First, the touch data sets are analyzed to determine the closest touch in the second time frame to each of the touches in the first time frame, and calculating the separation between each such pair of touches. Then, starting with the pair of touches having the smallest separation, each pair is validated until a pairing is attempted between touches for which the touch in the second time frame has already been paired. At this point, the as-yet unpaired touches from the first and second touch data sets are re-processed by re-applying the computations but only including the as-yet unpaired touches. This re-processing is iterated until no further pairings need to be made. The method avoids complex algebra and floating point operations, and has little memory requirement. As such it is ideally suited to implementation on a microcontroller.
30 Citations
17 Claims
-
1. A method comprising:
-
determining, using one or more circuits, a first set of provisional pairings, each provisional pairing of the first set of provisional pairings comprising coordinates from a first set of coordinates and coordinates from a second set of coordinates, the first set of coordinates and the second set of coordinates corresponding to a plurality of touches detected by a touch sensor; calculating a plurality of distances, each distance corresponding to a provisional pairing of the first set of provisional pairings; validating, using the one or more circuits, a first provisional pairing of the first set of provisional pairings based on calculating the plurality of distances, the first provisional pairing comprising a first coordinate of the second set of coordinates; determining, using the one or more circuits, that a second provisional pairing of the first set of provisional pairings is not valid in response to determining that; the second provisional pairing comprises the same first coordinate as the first provisional pairing; and the first provisional pairing has been validated; and in response to determining that the second provisional pairing of the first set of provisional pairings is not valid, determining, using the one or more circuits, a second set of provisional pairings, each provisional pairing of the second set of provisional pairings comprising coordinates from the first set of coordinates and coordinates from the second set of coordinates. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
a substrate; a touch sensor disposed underneath the substrate, the touch sensor comprising a plurality of electrodes; one or more circuits configured to; determine a first set of provisional pairings, each provisional pairing of the first set of provisional pairings comprising coordinates from a first set of coordinates and coordinates from a second set of coordinates, the first set of coordinates and the second set of coordinates corresponding to a plurality of touches detected by the touch sensor; calculate a plurality of distances, each distance corresponding to a provisional pairing, of the first set of provisional pairings; validate a first provisional pairing of the first set of provisional pairings based on calculating the plurality of distances, the first provisional pairing comprising a first coordinate of the second set of coordinates; determine that a second provisional pairing of the first set of provisional pairings is not valid in response to determining that; the second provisional pairing comprises the same first coordinate as the first provisional pairing; and the first provisional pairing has been validated; and in response to determining that the second provisional pairing of the first set of provisional pairings is not valid, determine a second set of provisional pairings, each provisional pairing of the second set of provisional pairings comprising coordinates from the first set of coordinates and coordinates from the second set of coordinates. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. One or more circuits configured to:
-
determine a first set of provisional pairings, each provisional pairing of the first set of provisional pairings comprising coordinates from a first set of coordinates and coordinates from a second set of coordinates, the first set of coordinates and the second set of coordinates corresponding to a plurality of touches detected by a touch sensor; calculate a plurality of distances, each distance corresponding to a provisional pairing of the first set of provisional pairings; validate a first provisional pairing of the first set of provisional pairings based on calculating the plurality of distances, the first provisional pairing comprising a first coordinate of the second set of coordinates; determine that a second provisional pairing of the first set of provisional pairings is not valid in response to determining that; the second provisional pairing comprises the same first coordinate as the first provisional pairing; and the first provisional pairing has been validated; and in response to determining that the second provisional pairing of the first set of provisional pairings is not valid, determine a second set of provisional pairings, each provisional pairing of the second set of provisional pairings comprising coordinates from the first set of coordinates and coordinates from the second set of coordinates. - View Dependent Claims (14, 15, 16, 17)
-
Specification