IP Library Granted Patent US 12681602
Granted Patent B1
US 12681602 · App. 19/016,813 · Granted Jul 14, 2026

Touch input processing with dynamic merge detection

Inventors: Bin Fan (Beijing, CN); Pengcheng Wen (Beijing, CN); Yue Ding (Beijing, CN); Da Man (Beijing, CN)
Assignee: STMicroelectronics International N.V.
G06F3/04166G06F2203/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 12681602
App. No.
19/016,813
Granted
Jul 14, 2026
Kind
B1
Abstract

A method for operating an electronic device. The method includes detecting a plurality of touch inputs for a plurality of frames on a touchscreen of the device. The plurality of touch inputs includes a first touch input and a second touch input. The first touch input is immediately adjacent to the second touch input from amongst the plurality of touch inputs and the plurality of frames comprising a current frame and a preceding frame. The method further includes determining a distance between the first and the second touch inputs on the current frame, determining a speed between the first touch input on the current frame and the first touch input on the preceding frame, and merging, for the current frame, the first touch input with the second touch input into a single touch input based on the determined distance and the determined speed.

Claims (77)

1 . A method of operating an electronic device, the method comprising:

detecting a plurality of touch inputs for a plurality of frames on a touchscreen of the device, the plurality of touch inputs comprising a first touch input and a second touch input, the first touch input being immediately adjacent to the second touch input from amongst the plurality of touch inputs, the plurality of frames comprising a current frame and a preceding frame;

determining a distance between the first and the second touch inputs on the current frame;

determining a speed between the first touch input on the current frame and the first touch input on the preceding frame; and

merging, for the current frame, the first touch input with the second touch input into a single touch input based on the determined distance and the determined speed.

2 . The method of claim 1 , wherein determining the distance between the first and second touch inputs comprises determining a distance between the first touch input on the current frame and the second touch input on the current frame.

3 . The method of claim 1 , wherein determining the speed comprises:

determining a first speed between the first touch input on the current frame and the first touch input on the preceding frame, wherein the first speed is a distance between the first touch inputs over a time between the current frame and the preceding frame; and

determining a second speed between the second touch input on the current frame and the second touch input on the preceding frame, wherein the second speed is a distance between the second touch inputs over the time between the current frame and the preceding frame.

4 . The method of claim 1 , wherein merging the first touch input with the second touch input based on the determined distance and the determined speed comprises:

determining that the determined distance is less than a distance threshold; and

determining that the determined speed is less than a speed threshold.

5 . The method of claim 4 , wherein the distance threshold is between 50 and 100 pixels.

6 . The method of claim 4 , wherein the speed threshold is between 30 and 60 pixels per frame.

7 . The method of claim 1 , further comprising:

calculating a percentage of touch nodes on the current frame that overlaps with the touch nodes on the preceding frame;

determining that the percentage exceeds an overlap threshold; and

assigning merge IDs to the plurality of touch inputs on the current frame in response to the percentage exceeding the overlap threshold, wherein merging the first and the second touch inputs is further based on the first and the second touch inputs having a same merge ID.

8 . The method of claim 7 , wherein calculating the percentage of touch nodes comprises calculating a percentage of touch nodes of the first touch input on the current frame that overlaps with the touch nodes of the first and second touch inputs on the preceding frame and calculating a percentage of the touch nodes of the second touch input on the current frame that overlaps with the touch nodes of the first and second touch inputs on the preceding frame; and

wherein assigning the merge IDs further comprises assigning a first merge ID to the first touch input on the current frame and assigning a second merge ID to the second touch input on the current frame.

9 . The method of claim 8 , wherein determining the speed comprises:

determining a first speed between the first touch input on the current frame and the first touch input on the preceding frame in response to the first merge ID and the second merge ID being the same, wherein the first speed is a distance between the first touch inputs over a time between the current frame and the preceding frame; and

determining a second speed between the second touch input on the current frame and the second touch input on the preceding frame in response to the first merge ID and the second merge ID being the same, wherein the second speed is a distance between the second touch inputs over the time between the current frame and the preceding frame.

10 . The method of claim 9 , wherein determining a distance between the first touch input and the second touch input comprises determining a distance between the first touch input and the second touch input on the current frame in response to the first speed being less than a speed threshold and the second speed being less than the speed threshold.

11 . The method of claim 10 , wherein merging the first touch input with the second touch input comprises merging the first touch input and the second touch input in response to the distance between the first touch input and the second touch input on the current frame being less than a distance threshold.

12 . A method comprising:

detecting a first touch input and a second touch input on a first frame, the first touch input being proximate to the second touch input;

detecting the first touch input and the second touch input on a second frame;

assigning merge IDs to the first touch input and the second touch input of the second frame;

determining that the merge ID of the first touch input and the merge ID of the second touch input have a same merge ID;

determining that a first speed of the first touch input between the first frame and the second frame is less than a first speed threshold;

determining that a second speed of the second touch input between the first frame and the second frame is less than a second speed threshold;

determining that a distance between the first touch input and the second touch input on the second frame is less than a distance threshold; and

merging the first touch input and the second touch input on the second frame based on determining the merge ID, the first speed, the second speed, and the distance.

13 . The method of claim 12 , wherein assigning the merge IDs to the first touch input and the second touch input comprises:

calculating a percentage of the first touch input on the second frame that overlaps with the first touch input on the first frame;

determining that the percentage for the first touch input exceeds a first overlap threshold;

assigning a first merge ID to the first touch input in response to the percentage for the first touch input exceeding the first overlap threshold;

calculating a percentage of the second touch input on the second frame that overlaps with the second touch input on the first frame;

determining that the percentage for the second touch input exceeds a second overlap threshold; and

assigning a second merge ID to the second touch input in response to the percentage for the second touch input exceeding the second overlap threshold.

14 . The method of claim 12 , wherein determining the first speed comprises calculating a distance between the first touch input on the first frame and the first touch input on the second frame and a time between the first frame and the second frame and wherein determining the second speed comprises calculating a distance between the second touch input on the first frame and the second touch input on the second frame and the time between the first frame and the second frame.

15 . The method of claim 12 , wherein determining the distance comprises measuring a distance between the first touch input on the second frame and the second touch input on the second frame.

16 . The method of claim 12 , further comprising:

detecting the first touch input and the second touch input on a third frame when the first touch input and the second touch input merge on the second frame;

assigning merge IDs to the first touch input and the second touch input of the third frame;

determining that the merge ID of the first touch input on the third frame and the merge ID of the second touch input on the third frame have a same merge ID;

determining that the first speed of the first touch input between the second frame and the third frame is less than the first speed threshold;

determining that the second speed of the second touch input between the second frame and the third frame is less than the second speed threshold;

determining that the distance between the first touch input and the second touch input on the third frame is less than the distance threshold; and

merging the first touch input and the second touch input on the third frame based on determining the merge ID, the first speed, the second speed, and the distance.

17 . The method of claim 12 , further comprising:

detecting the first touch input and the second touch input on a third frame when the first touch input and the second touch input merge on the second frame; and

splitting the first touch input and the second touch input on the third frame when:

a merge ID of the first touch input on the third frame and a merge ID of the second touch input on the third frame have different merge IDs;

the first speed of the first touch input between the second frame and the third frame is greater than or equal to the first speed threshold;

the second speed of the second touch input between the second frame and the third frame is greater than or equal to the second speed threshold; or

the distance between the first touch input and the second touch input on the third frame is greater than or equal to the distance threshold.

18 . A device comprising:

a touchscreen;

a touch controller; and

a non-transitory memory storing a program to be executed by the touch controller, the program comprising instructions to:

detect a plurality of touch inputs for a plurality of frames on the touchscreen;

record the plurality of touch inputs on a touch bitmap for each frame of the plurality of frames, each touch input having a touch island on the touch bitmap;

assign merge IDs to each of the touch islands on the touch bitmap for each frame;

determine that the touch islands in a current frame have a same merge ID;

determine that a speed between the touch inputs on the current frame and the touch inputs on a previous frame is less than a speed threshold;

determine that a distance between the touch inputs on the current frame is less than a distance threshold; and

merge the touch inputs in response to the touch islands having the same merge ID, the speed being less than the speed threshold, and the distance being less than the distance threshold.

19 . The device of claim 18 , wherein assigning the merge IDs comprises:

calculating a percentage of touch inputs on the touch bitmap of current frame overlaps with the touch inputs on the touch bitmap of the previous frame;

determining that the percentage exceeds an overlap threshold; and

assigning the merge IDs to the touch islands on the touch bitmap of the current frame in response to the percentage exceeding the overlap threshold.

20 . The device of claim 18 , wherein the touch inputs comprise a first touch input and a second touch input, and wherein determining the speed between the touch inputs comprises:

determining a first speed between the first touch input on the current frame and the first touch input on the previous frame, wherein the first speed is a distance between the first touch inputs over a time between the current frame and the previous frame; and

determining a second speed between the second touch input on the current frame and the second touch input on the previous frame, wherein the second speed is a distance between the second touch inputs over the time between the current frame and the previous frame.

21 . The device of claim 18 , wherein the touch inputs comprise a first touch input and a second touch input, and wherein determining the distance between touch inputs comprises determining a distance between the first touch input and the second touch input on the current frame.