Patent ID: 8730187

Claim:
A method, implemented by a processing device programmed to perform the following, the method comprising: receiving raw touch position data representing positions of a plurality of touches on a sensing device, wherein the raw touch position data comprises a centroid position for each of the plurality of touches at discrete points in time; sorting the raw touch position data, into sorted touch position data, according to a touch index assigned to each of the centroid positions for each of the plurality of touches at the discrete points in time, wherein the sorting is performed in at least two stages, and wherein in each of the at least two stages the sorting comprises: predicting the centroid positions for each touch of the plurality of touches; comparing the predicted centroid positions for the each touch of the plurality of touches to the raw touch position data; indexing the centroid position for the each touch of the plurality of touches based on the predicted centroid position, of the each touch, that is closest to the raw touch position data; wherein the sorted touch position data is sorted according to the touch index assigned to each of the centroid positions for each of the plurality of touches; and tracking the plurality of touches on the sensing device using the sorted touch position data.