IP Library › Granted Patent US 10,061,434
Granted Patent B2
US 10,061,434 · App. 15/346,696 · Granted Aug 28, 2018

Processing signals from a touchscreen panel

Inventors: Arokia Nathan (Cambridge, GB); Jackson Chi-Sun Lai (Markham, CA); Shuo Gao (Cambridge, GB)
Assignee: Cambridge Touch Technologies Ltd.
G06F3/0416G06F3/044G06F3/0418G06K9/40G06T5/002H04N5/3575G06F2203/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 10,061,434
App. No.
15/346,696
Granted
Aug 28, 2018
Kind
B2
Abstract

A method is described including receiving (S 3 ) a first array of values obtained from measuring an array of touch panel sensor areas (FIG. 4 ; I n,m ). The method also includes generating (S 4 ) a second array of values based on subtracting a reference array of values from the first array of values. The method also includes determining (S 5 ) presence of at least one touch event in dependence upon the second array of value and, upon a negative determination (S 8 ) generating a new reference array based on exponential smoothing of the reference array and the first array using a weighting factor, wherein the weighting factor is zero, and storing the new reference matrix and, upon a positive determination (S 6 ) outputting the second array (FIG. 9 ).

Claims (64)

1. A method comprising:

receiving a first array of values obtained from measuring an array of touch panel sensor areas;

generating a second array of values based on subtracting a reference array of values from the first array of values, wherein generating the second array comprises:

generating a third array by subtracting the reference array from the first array; and

generating the second array by filtering the third array using a spatial low pass filter having a bandwidth equal to a reference bandwidth value;

determining presence of at least one touch event in dependence upon the second array of values; and

upon a negative determination:

generating a new reference array based on exponential smoothing of the reference array and the first array using a weighting factor, or generating a new reference array which is equal to the first array; and,

storing the new reference array; and

upon a positive determination:

outputting the second array

determining, based on a difference of the second array and the third array, a first amount by which values corresponding to at least one touch event are attenuated and a second amount by which values not corresponding to any touch event are attenuated;

generating a new reference bandwidth value based on the first amount and the second amount; and

storing the new reference bandwidth value.

2. A method according to claim 1 , wherein determining a new reference bandwidth value comprises:

comparing the first amount to a predetermined threshold; and

in dependence upon the first amount exceeding the threshold, generating the new reference bandwidth value by subtracting a bandwidth increment from the reference bandwidth value.

3. A method of processing signals from a touchscreen panel according to claim 2 , wherein determining a new reference bandwidth value comprises:

determining, based on a first model relating the first amount to the bandwidth value and a second model relating the second amount to the bandwidth value, an optimal bandwidth value such that the second amount is maximised without the first amount exceeding a predetermined threshold; and

generating the new reference bandwidth based on the optimal bandwidth.

4. A method according to claim 1 , wherein the spatial low pass filter is a linear filter.

5. A method according to claim 1 , wherein the spatial low pass filter is based on a function comprising a peak, the peak having a relative width determined by the reference bandwidth value.

6. A method according to claim 1 , wherein the spatial low pass filter is a Gaussian filter and a reference bandwidth value for the spatial low pass filter is a standard deviation of the Gaussian filter.

7. A method according to claim 1 , wherein generating the second array by filtering the third array using a spatial low pass filter comprises:

generating a fourth array, each entry of the fourth array calculated by summing at least three adjacent row entries of the third array including the corresponding entry of the third array; and

generating the third matrix, each entry of the third array calculated by summing at least three adjacent column entries of the fourth array including the corresponding entry of the fourth array, and dividing by a respective scaling factor.

8. A method according to claim 1 , wherein the spatial low pass filter is a non-linear filter.

9. A method according to claim 1 , wherein each first array value is based on the capacitance of the respective sensor area.

10. A method according to claim 1 , wherein each first array value is based on the force applied to the respective sensor area.

11. A method according to claim 1 , wherein each entry of the first array is a sub-array having a first value based on the capacitance of the respective sensor area and a second value based on the force applied to the respective sensor area, wherein operations performed on the first array are performed entry-wise on each sub-array.

12. A computer program product stored on a non-transitory computer readable medium which, when executed by a data processing unit, causes the data processing unit to:

receive a first array of values obtained from measuring an array of touch panel sensor areas;

generate a second array of values based on subtracting a reference array of values from the first array of values, wherein generating the second array comprises:

generating a third array by subtracting the reference array from the first array; and

generating the second array by filtering the third array using a spatial low pass filter having a bandwidth equal to a reference bandwidth value;

determine presence of at least one touch event in dependence upon the second array of values; and

upon a negative determination:

generate a new reference array based on exponential smoothing of the reference array and the first array using a weighting factor or generate a new reference array which is equal to the first array; and

store the new reference array; and

upon a positive determination:

output the second array;

determine, based on a difference of the second array and the third array, a first amount by which values corresponding to at least one touch event are attenuated and a second amount by which values not corresponding to any touch event are attenuated;

generate a new reference bandwidth value based on the first amount and the second amount; and

store the new reference bandwidth value.

13. An apparatus comprising:

a frame reading module configured to receive a first array of values obtained from measuring an array of touch panel sensor areas;

a correlated double sampler configured to generate a second array of values based on subtracting a reference array of values from the first array of values, wherein generating the second array comprises:

generating a third array by subtracting the reference array from the first array; and,

generating the second array by filtering the third array using a spatial low pass filter having a bandwidth equal to a reference bandwidth value;

a touch decision module configured to determine presence of at least one touch event in dependence upon the second array of values; and

upon a negative determination:

generate a new reference array based on exponential smoothing of the reference array and the first array using a weighting factor, or generate a new reference array which is equal to the first array; and

store the new reference matrix; and

upon a positive determination:

output the second array; and,

a bandwidth decision module configured, in response to a positive determination of the presence of at least one touch event, to:

determine, based on a difference of the second array and the third array, a first amount by which values corresponding to at least one touch event are attenuated and a second amount by which values not corresponding to any touch event are attenuated;

generate a new reference bandwidth value based on the first amount and the second amount; and

store the new reference bandwidth value.

14. The apparatus according to claim 13 , wherein each first array value is based on the capacitance of the respective sensor area.

15. The apparatus according to claim 13 , wherein each first array value is based on the force applied to the respective sensor area.

16. The apparatus according to claim 13 , wherein each entry of the first array is a sub-array having a first value based on the capacitance of the respective sensor area and a second value based on the force applied to the respective sensor area, wherein operations performed on the first array are performed entry-wise on each sub-array.

17. The apparatus of claim 13 further comprising:

a touch panel comprising the array of touch panel sensor areas including a plurality of sensor areas disposed in a sensor array, each sensor area configured to provide an output signal which varies in response to a touch event.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2017
From: GAO, SHUO; NATHAN, AROKIA; LAI, JACKSON
To: CAMBRIDGE TOUCH TECHNOLOGIES LTD.,
Reel/Frame 041793/0058 →
Continuity (1)
Related Publication 20170139527A1 · May 18, 2017
Cited By (1)
US 12,315,466