Bottom up watershed dataflow method and region-specific segmentation based on historic data
First Claim
1. A method for identifying and processing patches indicative of touch events from a plurality of pixels having touch values captured during a scan of a touch sensor panel, comprising:
- eliminating pixels having touch values indicative of no touch events prior to performing a watershed algorithm; and
performing the watershed algorithm on non-eliminated pixels to identify the patches, wherein the watershed algorithm traces paths of unlabeled pixels of increasing touch values until a pixel labeled with a patch number is found, at which time all pixels in the path are labeled with the same patch number as the labeled pixel, or a peak is found, at which time the peak is assigned a unique patch number and all pixels in the path are labeled with the unique patch number.
3 Assignments
0 Petitions
Accused Products
Abstract
The application of a watershed algorithm to pixels and their touch values obtained from a scan of a touch sensor panel to determine patches corresponding to images of touch is disclosed. Prior to applying the watershed algorithm, background pixels having little or no touch values can be eliminated. A primary merge algorithm can then merge adjacent patches together when the saddle point between them is shallow as compared to the peak represented by the patches. However, if two candidate patches for merging have a total number of pixels below a certain threshold, these two patches may not be merged under the assumption that the patches might have been caused by different fingertips. Conversely, if two candidate patches for merging have a total number of pixels above a certain threshold, these two patches can be merged under the assumption that the patches were caused by a single thumb or palm.
127 Citations
56 Claims
-
1. A method for identifying and processing patches indicative of touch events from a plurality of pixels having touch values captured during a scan of a touch sensor panel, comprising:
-
eliminating pixels having touch values indicative of no touch events prior to performing a watershed algorithm; and performing the watershed algorithm on non-eliminated pixels to identify the patches, wherein the watershed algorithm traces paths of unlabeled pixels of increasing touch values until a pixel labeled with a patch number is found, at which time all pixels in the path are labeled with the same patch number as the labeled pixel, or a peak is found, at which time the peak is assigned a unique patch number and all pixels in the path are labeled with the unique patch number. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for identifying and processing patches indicative of touch events from a plurality of pixels having touch values captured during a scan of a touch sensor panel, comprising:
-
performing a watershed algorithm to identify the patches, wherein the watershed algorithm traces paths of unlabeled pixels of increasing touch values until a pixel labeled with a patch number is found, at which time all pixels in the path are labeled with the same patch number as the labeled pixel, or a peak is found, at which time the peak is assigned a unique patch number and all pixels in the path are labeled with the unique patch number; and performing a post-watershed merge of two patches having a saddle point between them that is shallow as compared to the peaks represented by the patches. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A computer-readable medium comprising program code for identifying and processing patches indicative of touch events from a plurality of pixels having touch values captured during a scan of a touch sensor panel, the program code for causing performance of a method comprising:
-
eliminating pixels having touch values indicative of no touch events prior to performing a watershed algorithm; and performing the watershed algorithm on non-eliminated pixels to identify the patches, wherein the watershed algorithm traces paths of unlabeled pixels of increasing touch values until a pixel labeled with a patch number is found, at which time all pixels in the path are labeled with the same patch number as the labeled pixel, or a peak is found, at which time the peak is assigned a unique patch number and all pixels in the path are labeled with the unique patch number. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A computer-readable medium comprising program code for identifying and processing patches indicative of touch events from a plurality of pixels having touch values captured during a scan of a touch sensor panel, the program code for causing performance of a method comprising:
-
performing a watershed algorithm to identify the patches, wherein the watershed algorithm traces paths of unlabeled pixels of increasing touch values until a pixel labeled with a patch number is found, at which time all pixels in the path are labeled with the same patch number as the labeled pixel, or a peak is found, at which time the peak is assigned a unique patch number and all pixels in the path are labeled with the unique patch number; and performing a post-watershed merge of two patches having a saddle point between them that is shallow as compared to the peaks represented by the patches. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53)
-
-
54. A mobile telephone including a computer-readable medium comprising program code for identifying and processing patches indicative of touch events from a plurality of pixels having touch values captured during a scan of a touch sensor panel, the program code for causing performance of a method comprising:
-
performing a watershed algorithm to identify the patches, wherein the watershed algorithm traces paths of unlabeled pixels of increasing touch values until a pixel labeled with a patch number is found, at which time all pixels in the path are labeled with the same patch number as the labeled pixel, or a peak is found, at which time the peak is assigned a unique patch number and all pixels in the path are labeled with the unique patch number; and performing a post-watershed merge of two patches having a saddle point between them that is shallow as compared to the peaks represented by the patches.
-
-
55. A digital audio player including a computer-readable medium comprising program code for identifying and processing patches indicative of touch events from a plurality of pixels having touch values captured during a scan of a touch sensor panel, the program code for causing performance of a method comprising:
-
performing a watershed algorithm to identify the patches, wherein the watershed algorithm traces paths of unlabeled pixels of increasing touch values until a pixel labeled with a patch number is found, at which time all pixels in the path are labeled with the same patch number as the labeled pixel, or a peak is found, at which time the peak is assigned a unique patch number and all pixels in the path are labeled with the unique patch number; and performing a post-watershed merge of two patches having a saddle point between them that is shallow as compared to the peaks represented by the patches.
-
-
56. An apparatus for identifying and processing patches indicative of touch events from a plurality of pixels having touch values captured during a scan of a touch sensor panel, comprising:
-
means for performing a watershed algorithm to identify the patches, wherein the watershed algorithm traces paths of unlabeled pixels of increasing touch values until a pixel labeled with a patch number is found, at which time all pixels in the path are labeled with the same patch number as the labeled pixel, or a peak is found, at which time the peak is assigned a unique patch number and all pixels in the path are labeled with the unique patch number; and means for performing a post-watershed merge of two patches having a saddle point between them that is shallow as compared to the peaks represented by the patches.
-
Specification