IP Library Granted Patent US 10,444,899
Granted Patent B2
US 10,444,899 · App. 15/412,824 · Granted Oct 15, 2019

Multiple threshold motion tolerance to filter coordinate jitter in touch sensing

Inventor: Manivannan Ponnarasu (Singapore, SG)
Assignee: STMicroelectronics Asia Pacific Pte Ltd
G06F3/0418G06F3/044
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,444,899
App. No.
15/412,824
Granted
Oct 15, 2019
Kind
B2
Abstract

A touch screen controller includes input circuitry receiving touch data from a touch screen, and processing circuitry. The processing circuitry determines first coordinates of a touch at a first time, based upon the received touch data. A first threshold window is set about the first coordinates, with the first threshold window having a central point at the first coordinates, and a second threshold window is set about the first coordinates, with the second threshold window having a central point at the first coordinates and being larger than the first threshold window. Second coordinates of the touch are determined at a second time, based upon the received touch data, and where the second coordinates are not within the first threshold window but are within the second threshold window, the second coordinates are corrected based upon a distance between the second coordinates and the central point of the second threshold window.

Claims (43)

1. A touch screen controller operable with a touch screen, the touch screen controller comprising:

input circuitry configured to receive touch data from the touch screen;

processing circuitry configured to:

determine first coordinates of a single touch to the touch screen at a first time, based upon the received touch data;

set a first threshold window about the first coordinates, the first threshold window encompassing the first coordinates while having a central point at the first coordinates and a radius greater than that of the first coordinates;

set a second threshold window about the first coordinates, the second threshold window having a central point at the first coordinates and being larger than the first threshold window; and

determine second coordinates of the single touch at a second time, based upon the received touch data;

where the second coordinates are not within the first threshold window but are within the second threshold window, use a filter function to change the second coordinates, the filter function having coefficients that are based upon a distance between the second coordinates and the central point of the second threshold window; and

wherein the change of the second coordinates using the filter function serves to compensate for coordinate jitter between the first and second coordinates.

2. The touch screen controller of claim 1 , wherein the processing circuitry is further configured to, where the second coordinates are within the first threshold window, change the second coordinates based upon a distance between the second coordinates and the central point of the first threshold window.

3. The touch screen controller of claim 1 , wherein the processing circuitry is further configured to, where the second coordinates are not within the first threshold window but are within the second threshold window, update the first threshold window as a function of the second coordinates.

4. The touch screen controller of claim 3 , wherein the processing circuitry updates the first threshold window by moving a location of the central point of the first threshold window as a function of the second coordinates.

5. The touch screen controller of claim 4 , wherein the processing circuitry moves the location of the central point of the first threshold window by setting the location of the central point of the first threshold window such that the second coordinates are outside of, but immediately adjacent to, the first threshold window after moving of the central point thereof.

6. The touch screen controller of claim 4 , wherein the processing circuitry moves the location of the central point of the first threshold window by setting the location of the central point of the first threshold window such that the second coordinates are at a perimeter of the first threshold window after moving of the central point thereof.

7. The touch screen controller of claim 4 , wherein the processing circuitry updates the first threshold window without changing a size thereof.

8. The touch screen controller of claim 1 , wherein the processing circuitry is further configured to, where the second coordinates are not within the first threshold window and not within the second threshold window, change the second coordinates based upon a distance between the second coordinates and the first coordinates.

9. The touch screen controller of claim 1 , wherein the processing circuitry is further configured to, where the second coordinates are not within the first threshold window and not within the second threshold window, change the second coordinates based upon a distance between the second coordinates and the first coordinates divided by an elapsed time between the first time and the second time.

10. The touch screen controller of claim 1 , wherein the processing circuitry is further configured to, where the second coordinates are not within the first threshold window and not within the second threshold window, update the second threshold window as a function of the second coordinates.

11. The touch screen controller of claim 10 , wherein the processing circuitry updates the second threshold window by moving a location of the central point of the second threshold window as a function of the second coordinates.

12. The touch screen controller of claim 11 , wherein the processing circuitry moves the location of the central point of the second threshold window by setting the location of the central point of the second threshold window such that the second coordinates are outside of, but immediately adjacent to, the second threshold window after moving of the central point thereof.

13. The touch screen controller of claim 11 , wherein the processing circuitry moves the location of the central point of the second threshold window by setting the location of the central point of the second threshold window such that the second coordinates are at a perimeter of the second threshold window after moving of the central point thereof.

14. The touch screen controller of claim 10 , wherein the processing circuitry updates the second threshold window without changing a size thereof.

15. The touch screen controller of claim 1 , wherein the processing circuitry is further configured to, where the second coordinates are within the first threshold window, change the second coordinates to match the central point of the first threshold window.

16. A method, comprising:

receiving touch data from a touch screen;

determining first coordinates of a single touch to the touch screen at a first time based upon the received touch data;

setting a first threshold window about the first coordinates, the first threshold window encompassing the first coordinates while having a central point at the first coordinates and a radius greater than that of the first coordinates;

setting a second threshold window about the first coordinates, the second threshold window having a central point at the first coordinates and being larger than the first threshold window; and

determining second coordinates of the single touch at a second time based upon the received touch data;

where the second coordinates are not within the first threshold window but are within the second threshold window, using a filter function to change the second coordinates, the filter function having coefficients that are based upon a distance between the second coordinates and the central point of the second threshold window; and

wherein the change of the second coordinates using the filter function serves to compensate for coordinate jitter between the first and second coordinates.

17. The method of claim 16 , further comprising, where the second coordinates are within the first threshold window, changing the second coordinates based upon a distance between the second coordinates and the central point of the first threshold window.

18. The method of claim 16 , further comprising, where the second coordinates are not within the first threshold window but are within the second threshold window, updating the first threshold window as a function of the second coordinates.

19. The method of claim 18 , wherein the first threshold window is updated by moving a location of the central point of the first threshold window as a function of the second coordinates.

20. The method of claim 19 , wherein the location of the central point of the first threshold window is moved by setting the location of the central point of the first threshold window such that the second coordinates are outside of, but immediately adjacent to, the first threshold window after moving of the central point thereof.

21. The method of claim 19 , wherein the location of the central point of the first threshold window is moved by setting the location of the central point of the first threshold window such that the second coordinates are at a perimeter of the first threshold window after moving of the central point thereof.

22. The method of claim 16 , further comprising, where the second coordinates are not within the first threshold window and not within the second threshold window, changing the second coordinates based upon a distance between the second coordinates and the first coordinates.

23. The method of claim 16 , wherein the filter function is an infinite impulse response filter that calculates the changed second coordinates as:

z ( t )=(( x ( t )* w 0)+( z ( t− 1)* w 1))/( w 0+ w 1)

wherein z(t) is the changed second coordinates as calculated by the filter, x(t) is the determined second coordinates at the second time, z(t−1) is the central point of the second threshold window, and w 0 and w 1 are dynamic weights dependent on a speed of movement to the determined second coordinates at the second time, the speed being based upon a distance between the determined first coordinates at the first time and the determined second coordinates at the second time.

24. The touch screen controller of claim 1 , wherein the filter function is an infinite impulse response filter that calculates the second coordinates as:

z ( t )=(( x ( t )* w 0)+( z ( t− 1)* w 1))/( w 0+ w 1)

wherein z(t) is the changed second coordinates as calculated by the filter, x(t) is the determined second coordinates at the second time, z(t−1) is the central point of the second threshold window, and w 0 and w 1 are dynamic weights dependent on a speed of movement to the determined second coordinates at the second time, the speed being based upon a distance between the determined first coordinates at the first time and the determined second coordinates at the second time.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2024
From: STMICROELECTRONICS ASIA PACIFIC PTE LTD
To: STMICROELECTRONICS INTERNATIONAL N.V.
Reel/Frame 068434/0191 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2017
From: PONNARASU, MANIVANNAN
To: STMICROELECTRONICS ASIA PACIFIC PTE LTD
Reel/Frame 041049/0970 →
Continuity (1)
Related Publication 20180210607A1 · Jul 26, 2018