IP Library Granted Patent US 10,162,465
Granted Patent B2
US 10,162,465 · App. 15/221,513 · Granted Dec 25, 2018

Methods and devices for determining touch locations on a touch-sensitive surface

Inventor: Victor Paul Drake (Clyde Hill, WA)
Assignee: PARADE TECHNOLOGIES, LTD.
G06F3/0418G06F3/044G06F2203/04108
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 10,162,465
App. No.
15/221,513
Granted
Dec 25, 2018
Kind
B2
Abstract

A method is performed at a touch sensing system that includes a two-dimensional capacitive sense array. The process measures the capacitance of the capacitive sensors, and identifies a first sensor whose measured capacitance is a local peak. The local peak is within a local rectangular array. The process computes column sums for each column of the rectangular array and determines whether to apply a smoothing algorithm. When the smoothing algorithm is not applied, the process computes an x-coordinate of a touch using a plurality of the column sums. When applying the smoothing algorithm, the process computes the x-coordinate of the touch as an average of two x-coordinate calculations. Each of the two x-coordinate calculations conditionally performs a horizontal shift of the local rectangular array based on comparing the peak measured capacitance to an adjacent measured capacitance and computes a respective x-coordinate using a respective plurality of the column sums.

Claims (63)

1. A touch sensing system, comprising:

a two-dimensional capacitive sense array including a plurality of capacitive sensors, wherein each capacitive sensor is assigned a respective location type based on proximity to edges of the capacitive sense array;

a capacitance measurement circuit coupled to the capacitive sense array and configured to measure capacitance changes at each capacitive sensor of the capacitive sense array;

a processing unit coupled to the capacitance measurement circuit, wherein the processing unit is configured for:

performing a scan of the capacitive sense array to measure capacitance for at least a plurality of the capacitive sensors;

identifying a first capacitive sensor whose measured capacitance is a local peak;

identifying a local rectangular array of capacitive sensors around the first capacitive sensor;

for each column of the local rectangular array, summing measured capacitances for the capacitive sensors in the column to form a respective column sum; and

determining an x-coordinate of the touch, including:

determining whether the local peak is proximate in an x-direction to a transition point on the capacitive sense array, wherein the transition point is a point of transition between distinct location types on the capacitive sense array;

in accordance with a determination that the local peak is not proximate in the x-direction to a transition point on the capacitive sense array, computing the x-coordinate of a touch using a plurality of the column sums; and

in accordance with a determination that the local peak is proximate in the x-direction to a transition point on the capacitive sense array, applying a smoothing algorithm, including computing the x-coordinate of the touch as an average of two x-coordinate calculations, wherein each of the two x-coordinate calculations conditionally performs a horizontal shift of the local rectangular array based on comparing the peak measured capacitance of the first capacitive sensor to an adjacent measured capacitance and computes a respective x-coordinate using a respective plurality of the column sums.

2. The touch sensing system of claim 1 , wherein applying the smoothing algorithm comprises for each of the two x-coordinate calculations:

adding a fixed value to a column sum for a column adjacent to the column containing the first capacitive sensor to form a first modified column sum;

subtracting the fixed value from the column sum for the column containing the first capacitive sensor to form a second modified column sum; and

performing a horizontal shift when the first modified column sum is greater than the second modified column sum.

3. The touch sensing system of claim 1 , wherein each of the two x-coordinate calculations independently applies edge correction.

4. The touch sensing system of claim 1 , wherein the processing unit is further configured for:

for each row of the local rectangular array, summing measured capacitances for the capacitive sensors in the row to form a respective row sum; and

determining a y-coordinate of the touch, including:

in accordance with a determination that the local peak is not proximate in a y-direction to a transition point on the capacitive sense array, computing the y-coordinate of the touch using a plurality of the row sums; and

in accordance with a determination that the local peak is proximate in the y-direction to a transition point on the capacitive sense array, applying a second smoothing algorithm, including computing the y-coordinate of the touch as an average of two y-coordinate calculations, wherein each of the two y-coordinate calculations conditionally performs a vertical shift of the local rectangular array based on comparing the peak measured capacitance of the first capacitive sensor to a vertically adjacent measured capacitance and computes a respective y-coordinate using a respective plurality of the row sums.

5. A method of computing touch centroids for capacitive sense arrays, comprising:

at a touch sensing system, wherein the touch sensing system includes a two-dimensional capacitive sense array having a plurality of capacitive sensors, wherein each capacitive sensor is assigned a respective location type based on proximity to edges of the capacitive sense array:

performing a scan of the capacitive sense array to measure capacitance for at least a plurality of the capacitive sensors;

identifying a first capacitive sensor whose measured capacitance is a local peak;

identifying a local rectangular array of capacitive sensors around the first capacitive sensor;

for each column of the local rectangular array, summing measured capacitances for the capacitive sensors in the column to form a respective column sum; and

determining an x-coordinate of the touch, including:

determining whether the local peak is proximate in an x-direction to a transition point on the capacitive sense array, wherein the transition point is a point of transition between distinct location types on the capacitive sense array;

in accordance with a determination that the local peak is not proximate in the x-direction to a transition point on the capacitive sense array, computing the x-coordinate of a touch using a plurality of the column sums; and

in accordance with a determination that the local peak is proximate in the x-direction to a transition point on the capacitive sense array, applying a smoothing algorithm, including computing the x-coordinate of the touch as an average of two x-coordinate calculations, wherein each of the two x-coordinate calculations conditionally performs a horizontal shift of the local rectangular array based on comparing the peak measured capacitance of the first capacitive sensor to an adjacent measured capacitance and computes a respective x-coordinate using a respective plurality of the column sums.

6. The method of claim 5 , wherein applying the smoothing algorithm comprises for each of the two x-coordinate calculations:

adding a fixed value to a column sum for a column adjacent to the column containing the first capacitive sensor to form a first modified column sum;

subtracting the fixed value from the column sum for the column containing the first capacitive sensor to form a second modified column sum; and

performing a horizontal shift when the first modified column sum is greater than the second modified column sum.

7. The method of claim 5 , wherein each of the two x-coordinate calculations independently applies edge correction.

8. The method of claim 5 , wherein the processing unit is further configured for:

for each row of the local rectangular array, summing measured capacitances for the capacitive sensors in the row to form a respective row sum; and

determining a y-coordinate of the touch, including:

in accordance with a determination that the local peak is not proximate in a y-direction to a transition point on the capacitive sense array, computing the y-coordinate of the touch using a plurality of the row sums; and

in accordance with a determination that the local peak is proximate in the y-direction to a transition point on the capacitive sense array, applying a second smoothing algorithm, including computing the y-coordinate of the touch as an average of two y-coordinate calculations, wherein each of the two y-coordinate calculations conditionally performs a vertical shift of the local rectangular array based on comparing the peak measured capacitance of the first capacitive sensor to a vertically adjacent measured capacitance and computes a respective y-coordinate using a respective plurality of the row sums.

9. A non-transitory computer-readable storage medium, storing one or more programs configured for execution by one or more processors of a touch sensing system, wherein the touch sensing system includes a two-dimensional capacitive sense array having a plurality of capacitive sensors, the one or more programs including instructions for:

performing a scan of the capacitive sense array to measure capacitance for at least a plurality of the capacitive sensors;

identifying a first capacitive sensor whose measured capacitance is a local peak;

identifying a local rectangular array of capacitive sensors around the first capacitive sensor;

for each column of the local rectangular array, summing measured capacitances for the capacitive sensors in the column to form a respective column sum; and

determining an x-coordinate of the touch, including:

determining whether the local peak is proximate in an x-direction to a transition point on the capacitive sense array;

wherein each of the capacitive sensors is assigned a respective location types based on proximity to edges of the capacitive sense array; and

wherein the transition point is a point of transition between distinct location types on the capacitive sense array

in accordance with a determination that the local peak is not proximate in the x-direction to a transition point on the capacitive sense array, computing the x-coordinate of a touch using a plurality of the column sums; and

in accordance with a determination that the local peak is proximate in the x-direction to a transition point on the capacitive sense array, applying a smoothing algorithm, including computing the x-coordinate of the touch as an average of two x-coordinate calculations, wherein each of the two x-coordinate calculations conditionally performs a horizontal shift of the local rectangular array based on comparing the peak measured capacitance of the first capacitive sensor to an adjacent measured capacitance and computes a respective x-coordinate using a respective plurality of the column sums.

10. The computer-readable storage medium of claim 9 , wherein applying the smoothing algorithm comprises for each of the two x-coordinate calculations:

adding a fixed value to a column sum for a column adjacent to the column containing the first capacitive sensor to form a first modified column sum;

subtracting the fixed value from the column sum for the column containing the first capacitive sensor to form a second modified column sum; and

performing a horizontal shift when the first modified column sum is greater than the second modified column sum.

11. The computer-readable storage medium of claim 9 , wherein each of the two x-coordinate calculations independently applies edge correction.

12. The computer-readable storage medium of claim 9 , wherein the processing unit is further configured for:

for each row of the local rectangular array, summing measured capacitances for the capacitive sensors in the row to form a respective row sum; and

determining a y-coordinate of the touch, including:

in accordance with a determination that the local peak is not proximate in a y-direction to a transition point on the capacitive sense array, computing the y-coordinate of the touch using a plurality of the row sums; and

in accordance with a determination that the local peak is proximate in the y-direction to a transition point on the capacitive sense array, applying a second smoothing algorithm, including computing the y-coordinate of the touch as an average of two y-coordinate calculations, wherein each of the two y-coordinate calculations conditionally performs a vertical shift of the local rectangular array based on comparing the peak measured capacitance of the first capacitive sensor to a vertically adjacent measured capacitance and computes a respective y-coordinate using a respective plurality of the row sums.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: DRAKE, VICTOR PAUL
To: PARADE TECHNOLOGIES, LTD.
Reel/Frame 039893/0975 →
Continuity (2)
Provisional Application 62197363 · Jul 27, 2015
Related Publication 20170031521A1 · Feb 2, 2017