IP Library Granted Patent US 9,213,052
Granted Patent B2
US 9,213,052 · App. 13/564,099 · Granted Dec 15, 2015

Peak detection schemes for touch position detection

Inventors: Cole Wilson (Everett, WA); Jonathan R. Peterson (Everett, WA); Dana Olson (Kirkland, WA)
Assignee: PARADE TECHNOLOGIES, LTD.
G01R27/26G06F3/041G06F3/044G06F3/0416G06F2203/04104
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 9,213,052
App. No.
13/564,099
Granted
Dec 15, 2015
Kind
B2
Abstract

Apparatuses and methods of peak detection are described. One method measures touch data on a sense array, the touch data represented as multiple cells. The method performs multiple different peak-detection schemes on each of the cells to generate a list of one or more possible peaks in the touch data. The method selects one or more actual peaks from the list. The actual peaks are used to determine locations of touches proximate to the sense array.

Claims (57)

1. A method comprising:

measuring, at a processing device, touch data on a sense array, the touch data represented as a plurality of cells;

performing a plurality of different peak-detection schemes on each of the plurality of cells to generate a list of one or more possible peaks in the touch data, wherein the performing the plurality of different peak-detection schemes on a first cell of the plurality of cells comprises:

performing a first check on the first cell using a first weighting scheme by determining if a cell value of the first cell is greater than cell values of a first set of neighboring cells, the first set of neighboring cells comprising cells in a first direction and a second direction from the first cell, wherein the first direction and the second direction are orthogonal, and by determining if the cell value is greater than or equal to cell values of a second set of neighboring cells, the second set of neighboring cells comprising cells in a third direction and a fourth direction from the first cell, wherein the third direction and the fourth direction are orthogonal; and

performing a second check on the first cell using a second weighting scheme by determining if the cell value of the first cell is greater than cell values of a third set of neighboring cells, the third set of neighboring cells comprising cells in a fifth direction and a sixth direction from the first cell, wherein the fifth direction and the sixth direction are orthogonal, and by determining if the cell value is greater than or equal to cell values of a fourth set of neighboring cells, the fourth set of neighboring cells comprising cells in a seventh direction and an eighth direction, wherein the seventh direction and the eighth direction are orthogonal; and

selecting one or more peaks from the list of one or more possible peaks, wherein each of the one or more peaks is used to determine a location of a touch proximate to the sense array.

2. The method of claim 1 , wherein the sense array is a capacitive sense array, and wherein each of the plurality of cells comprises a capacitance value of an intersection of sense elements in the capacitive sense array.

3. The method of claim 1 , wherein the selecting the one or more peaks comprises:

when the list comprises a single peak, selecting the single peak as the one or more peaks; and

when the list comprises two or more peaks, selecting two of the two or more peaks that are the farthest apart as the one or more peaks.

4. The method of claim 1 , wherein the selecting the one or more peaks comprises:

when the list comprises a single peak, selecting the single peak as the one or more peaks; and

when the list comprises two or more peaks,

calculating a peak weight for each of the plurality of different peak-detection schemes, and

selecting each of the two or more peaks whose peak weight is greater than a threshold value as the one or more peaks.

5. The method of claim 1 , wherein the performing the plurality of different peak-detection schemes comprises, for each of the plurality of different peak-detection schemes, performing the following:

performing a plurality of peak-detection checks for each of the plurality of cells; and

counting a number of successful checks for the plurality of peak-detection checks, wherein the number of successful checks is a peak weight.

6. The method of claim 5 , wherein the plurality of different peak-detection schemes comprises an upper-left-weighting scheme, an upper-right-weighting scheme, a lower-left-weighting scheme and a lower-right-weighting scheme.

7. The method of claim 5 , wherein the selecting the one or more peaks comprises selecting a peak having a highest peak weight for each of the plurality of cells.

8. The method of claim 5 , wherein the plurality of peak-detection checks comprises performing eight measurements for each of the plurality of cells.

9. The method of claim 1 , wherein the performing the plurality of different peak-detection schemes comprises

for each of the plurality of cells,

taking up to sixteen peak-detection measurements to establish four possible peaks for the respective cell;

calculating a peak weight for each of an upper-left-weighting scheme, an upper-right-weighting scheme, a lower-left-weighting scheme, and a lower-right-weighting scheme using the up to sixteen peak-detection measurements, wherein the peak weight represents a strength and likelihood of the respective peak being a valid touch; and

selecting the one of the four possible peaks for the respective cell with a highest peak weight.

10. A method comprising:

obtaining, at a processing device, a capacitive image of a capacitive sense array, wherein the capacitive image comprises a plurality of cells each with a capacitance value of an intersection of sense elements of the capacitive sense array;

performing a first set of peak-detection checks for each of the plurality of cells using a first peak-detection scheme to identify possible peaks, wherein the first set of peak-detection checks on a first cell of the plurality of cells comprises:

performing a first check on the first cell using a first weighting scheme by determining if a cell value of the first cell is greater than cell values of a first set of neighboring cells, the first set of neighboring cells comprising cells in a first direction and a second direction from the first cell, wherein the first direction and the second direction are orthogonal, and by determining if the cell value is greater than or equal to cell values in a second set of neighboring cells, the second set of neighboring cells comprising cells in a third direction and a fourth direction from the first cell, wherein the third direction and the fourth direction are orthogonal;

performing a second set of peak-detection checks for each of the plurality of cells using a second peak-detection scheme to identify additional possible peaks, wherein the second set of peak-detection checks on the first cell of the plurality of cells comprises:

performing a second check on the first cell using a second weighting scheme by determining if the cell value of the first cell is greater than cell values of a third set of neighboring cells, the third set of neighboring cells comprising cells in a fifth direction and a sixth direction from the first cell, wherein the fifth direction and the sixth direction are orthogonal, and by determining if the cell value is greater than or equal to cell values of a fourth set of neighboring cells, the fourth set of neighboring cells comprising cells in a seventh direction and an eighth direction, wherein the seventh direction and the eighth direction are orthogonal; and

determining which of the possible peaks and additional possible peaks are valid peaks, wherein the valid peaks are used to determine locations of actual touches proximate to the capacitive sense array.

11. The method of claim 10 , wherein the first peak-detection scheme is one of an upper-left-weighting scheme, an upper-right-weighting scheme, a lower-left-weighting scheme, and a lower-right-weighting scheme, and wherein the second peak-detection scheme is another one of the upper-left-weighting scheme, the upper-right-weighting scheme, the lower-left-weighting scheme, and the lower-right-weighting scheme.

12. The method of claim 10 , further comprising performing a third set of peak-detection checks for each of the plurality of cells using a third peak-detection scheme to identify a third set of additional possible peaks.

13. The method of claim 12 , further comprising performing a fourth set of peak-detection checks for each of the plurality of cells using a fourth peak-detection scheme to identify a fourth set of additional possible peaks.

14. The method of claim 10 , wherein performing the first set of peak-detection checks comprises

for each of the plurality of cells,

identifying a 3×3 window centered at the respective cell, and

comparing a cell value of the respective cell against cell values of adjacent cells in the 3×3 window.

15. The method of claim 10 , wherein performing the first set of peak-detection checks comprises

for each of the plurality of cells,

identifying a 3×3 window centered at the respective cell,

determining if a cell value is greater than a first set of adjacent cells in the 3×3 widow, and

determining if the cell value is greater than or equal to a second set of adjacent cells in the 3×3 window.

16. An apparatus comprising:

a memory device; and

a processing device coupled to the memory device, wherein the processing device is configured to:

measure touch data on a sense array coupled to the processing device, the touch data represented as a plurality of cells;

perform a plurality of different peak-detection schemes on each of the plurality of cells to generate a list of one or more possible peaks in the touch data; and

select one or more peaks from the list of one or more possible peaks, wherein each of the one or more peaks is used to determine a location of a touch proximate to the sense array, wherein the plurality of different peak-detection schemes comprises a first check on a first cell using a first weighting scheme by determining if a cell value of the first cell is greater than cell values of a first set of neighboring cells, the first set of neighboring cells comprising cells in a first direction and a second direction from the first cell, wherein the first direction and the second direction are orthogonal, and by determining if the cell value is greater than or equal to cell values in a second set of neighboring cells, the second set of neighboring cells comprising cells in a third direction and a fourth direction from the first cell, wherein the third direction and the fourth direction are orthogonal, wherein the plurality of different peak-detection schemes comprises a second check on the first cell using a second weighting scheme by determining if the cell value of the first cell is greater than cell values a third set of neighboring cells, the third set of neighboring cells comprising cells in a fifth direction and a sixth direction from the first cell, wherein the fifth direction and the sixth direction are orthogonal, and by determining if the cell value is greater than or equal to cell values of a fourth set of neighboring cells, the fourth set of neighboring cells comprising cells in a seventh direction and an eighth direction, wherein the seventh direction and the eighth direction are orthogonal.

17. The apparatus of claim 16 , wherein the processing device is configured to determine locations of one or more touches proximate to the sense array using the one or more peaks.

18. The apparatus of claim 16 , further comprising the sense array, wherein the sense array is a capacitive sense array, and wherein each of the plurality of cells comprises a capacitance value of an intersection of sense elements in the capacitive sense array.

19. The apparatus of claim 16 , further comprising the sense array, wherein the sense array is an optical sense array.

20. The apparatus of claim 16 , wherein the processing device is configured to:

select the single peak as the one or more peaks when the list comprises a single peak; and

select two of the two or more peaks that are the farthest apart as the one or more peaks when the list comprises two or more peaks.

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 Nov 14, 2013
From: CYPRESS SEMICONDUCTOR CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 031636/0105 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2012
From: WILSON, COLE; PETERSON, JONATHAN R.; OLSON, DANA
To: CYPRESS SEMICONDUCTOR CORPORATION
Reel/Frame 028697/0961 →
Continuity (1)
Related Publication 20140035859A1 · Feb 6, 2014