Touch input processing with dynamic merge detection

By using dynamic merging and segmentation techniques based on overlap percentage, movement speed, and distance in touchscreen devices, the problem of coordinate instability during multiple touch inputs is solved, improving touch response stability and user experience.

CN122363590APending Publication Date: 2026-07-10STMICROELECTRONICS INT NV
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
STMICROELECTRONICS INT NV
Filing Date
2026-01-07
Publication Date
2026-07-10

AI Technical Summary

Technical Problem

In touchscreen devices, unstable touch coordinate reporting during multiple touch inputs leads to decreased responsiveness and a poor user experience, especially during multi-finger touches and slow swipe movements.

Method used

Touch input is detected and analyzed across multiple frames using a touch controller. Touch input is dynamically merged or segmented based on overlap percentage, movement speed, and distance. The merging or segmentation of touch input is determined using merge ID and threshold conditions.

Benefits of technology

It improves the stability of touch response on touchscreen devices, reduces coordinate jitter, provides consistent and stable touch coordinate reports, and enhances the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122363590A_ABST
    Figure CN122363590A_ABST
Patent Text Reader

Abstract

This disclosure relates to touch input processing utilizing dynamic merging detection. A method for operating an electronic device is provided. The method includes detecting multiple touch inputs for multiple frames on a touchscreen of the device. The multiple touch inputs include a first touch input and a second touch input. Among the multiple touch inputs, the first touch input is adjacent to the second touch input, and the multiple frames include a current frame and a previous frame. The method further includes: determining a distance between the first touch input and the second touch input on the current frame; determining a velocity between the first touch input on the current frame and a first touch input on a previous frame; and, for the current frame, merging the first touch input and the second touch input into a single touch input based on the determined distance and the determined velocity.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention generally relates to an electronic device and a method of operating the electronic device, and in a particular embodiment, to a touch screen device and a method of operating the touch screen device. Background Technology

[0002] Touchscreens are commonly used in electronic devices such as tablets, smartphones, wearable devices, and computers. In recent years, more traditional methods have been abandoned as consumers prefer the convenience of portable devices that support a more flexible lifestyle. This has led to a rise in small, portable handheld electronic devices such as mobile phones, tablets, and gaming systems. This has resulted in the popularity of touchscreens and touch panel displays with larger screens that remain portable. They not only provide the functionality of traditional electronic devices, but touchscreens also offer additional features.

[0003] In a typical capacitive touchscreen, a touch event is usually determined to be triggered by the user's finger or palm based on the size of the area pressed or touched. Touchscreen devices use capacitive touchscreens, which operate by sensing electrical charges from touch input or finger touch. Capacitive touch sensing has become one of the means of detecting user touches on such devices. Since the human body is a good conductor, when a part of the human body (e.g., a fingertip) approaches a capacitive touchscreen, the capacitance generated between the transparent electrodes of the capacitive touchscreen and the human body can change due to electrostatic effects. The location of the touch point is determined by measuring the capacitance change of the sensing lines on the capacitive touchscreen panel. Summary of the Invention

[0004] In one embodiment, a method of operating an electronic device includes: detecting multiple touch inputs for multiple frames on a touchscreen of the device, the multiple touch inputs including a first touch input and a second touch input, wherein the first touch input is adjacent to the second touch input in the multiple touch inputs, and the multiple frames including a current frame and a previous frame; determining a distance between the first touch input and the second touch input on the current frame; determining a velocity between the first touch input on the current frame and the first touch input on the previous frame; and for the current frame, merging the first touch input and the second touch input into a single touch input based on the determined distance and the determined velocity.

[0005] In one embodiment, a method includes: detecting a first touch input and a second touch input on a first frame, the first touch input being close to the second touch input; detecting the first touch input and the second touch input on a second frame; assigning a merge ID to the first touch input and the second touch input on the second frame; determining that the merge ID of the first touch input and the merge ID of the second touch input have the 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 the 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 the determined merge ID, the first speed, the second speed, and the distance.

[0006] In one embodiment, a device includes a touchscreen, a touch controller, and a non-transitory memory storing a program executed by the touch controller. The program includes instructions for: detecting multiple touch inputs on the touchscreen for multiple frames; recording the multiple touch inputs on a touch bitmap for each of the multiple frames, each touch input having a touch island on the touch bitmap; assigning a merge ID to each touch island in the touch bitmap for each frame; determining that touch islands in the current frame have the same merge ID; determining that the speed between a touch input in the current frame and a touch input in a previous frame is less than a speed threshold; determining that the distance between touch inputs in the current frame is less than a distance threshold; and merging 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.

[0007] Other embodiments and variations are described herein. Attached Figure Description

[0008] To gain a more complete understanding of the invention and its advantages, reference is now made to the following description in conjunction with the accompanying drawings, wherein:

[0009] Figures 1A to 1B The illustration shows a schematic diagram of the components of an electronic device according to an embodiment of the present application;

[0010] Figures 2A to 2C The illustration shows touch input detection and processing of an electronic device according to an embodiment of this application;

[0011] Figures 3A to 3C The illustration shows a touch bitmap for multiple touch inputs on an electronic device according to an embodiment of this application;

[0012] Figure 4 The illustration shows a combined analysis according to an embodiment of this application;

[0013] Figures 5A to 5BThe illustration shows a touch bitmap for multiple touch inputs on an electronic device according to an embodiment of this application;

[0014] Figure 6 The illustration shows a process flow 600 for allocating merged IDs according to an embodiment of this application;

[0015] Figure 7 The illustration shows a flowchart 700 for merging multiple touch inputs according to an embodiment of this application; and

[0016] Figure 8 The illustration shows flowcharts for processing touch input according to various embodiments. Detailed Implementation

[0017] Embodiments of this disclosure can enhance touch input processing when multiple touches occur at close range on a touchscreen. Embodiments of this disclosure can reduce coordinate jitter and improve touch response stability in touchscreen devices. According to various embodiments, techniques and systems for processing and managing multiple touch inputs on a touchscreen are provided. Various embodiments of this disclosure provide techniques for dynamically merging and segmenting touch inputs based on overlap percentage, movement speed, and distance between touches across multiple frames.

[0018] Modern touchscreen applications, such as in games and other interactive applications, may require accurate and consistent touch coordinate reporting. Consistent coordinate reporting provides optimal touch performance when a user interacts with a touchscreen using multiple fingers that are close to each other. For example, when multiple fingers touch or slowly glide across the same general area of ​​the touchscreen, the touch controller can alternately report the touch input as a single combined coordinate or individual touch coordinates.

[0019] When multiple touch inputs are close to each other on a touchscreen, the reporting of touch inputs can become unstable. In some cases, touches that should be merged into a single coordinate may be incorrectly reported as separate coordinates. Instability in touch reporting can occur during fixed multi-finger touches and slow swipe movements across the touchscreen. Inconsistent touch coordinate reporting can degrade touch responsiveness and the overall user experience.

[0020] Touch processing techniques that enhance coordinate stability and reduce position jitter can improve touch performance. By implementing merging criteria for combining proximity touches based on motion characteristics and spatial relationships, touch controllers can provide consistent and stable touch coordinate reports. Enhanced touch merging technology allows for the proper integration of proximity touches while maintaining the ability to accurately track individual touches at the appropriate time. By detecting and tracking multiple touch inputs across consecutive frames, and determining when to merge proximity touches based on multiple criteria including touch overlap percentage, touch input speed, and distance between touches, the accuracy of multiple touch input detection can be improved.

[0021] Figures 1A to 1B The illustration shows a schematic diagram of the components of an electronic device according to an embodiment of the present application.

[0022] Reference Figure 1A The electronic device 100 may include a touch screen 102, a touch controller 104, and a system-on-a-chip 106. The electronic device 100 may be a smartphone, a GPS device, a tablet computer, a mobile media player, a laptop computer, a gaming system, a personal computer, a wearable device, or any other electronic device that can utilize a touch-sensitive display.

[0023] While the invention has initially been described in the context of touchscreen displays in mobile devices and smartphones, it should be understood that these aspects are also applicable to other touch-enabled electronic devices and systems. Specifically, aspects of this disclosure are similarly applicable to tablet computers, laptops, monitors, kiosks, point-of-sale terminals, automotive displays, industrial control panels, gaming devices, and other touch interface implementations.

[0024] Touchscreen 102 may be an organic light-emitting diode (OLED) display, an LED display, or any other type of display. Touchscreen 102 may include a plurality of pixels in a display layer configured to display an image. As will be understood by those skilled in the art, the display layer of touchscreen 102 may include a plurality of pixels located at each intersection between data lines and scan lines. The plurality of scan lines may extend to rows of touchscreen 102, and the data lines extend to columns of touchscreen 102 in a matrix manner. Touchscreen 102 may also include a touch-sensing layer configured to detect touch input performed on touchscreen 102. This will be described in more detail below.

[0025] Touch controller 104 can perform various methods relative to the display. In various embodiments, touch controller 104 can be a processor that analyzes information and executes a series of executable scripts, for example, stored in memory 110. In one or more embodiments, the processor may include an application-specific integrated circuit (ASIC) device, a central processing unit (CPU), or any other processing unit known in the art. In various embodiments, touch controller 104 may include multiple separate computing units, such as cores integrated into a single processor, or different separate processing chips. Further details regarding how touch controller 104 addresses water on touchscreen 102 are provided below.

[0026] In various embodiments, the touch controller 104 may include an analog block 108 and a digital block 112. The analog block 108 may include multiple analog circuits configured to measure the capacitance on the touchscreen 102 and convert it into a digital value. The digital block 112 may include various digital logic circuits, such as a DAC or a digital control system, configured to obtain digital touch data from the analog block 108, process the digital touch data, and store it in memory 110.

[0027] Memory 110 can be configured to store data and instructions for touch controller 104, and can include various programs executed by touch controller 104. Memory 110 may include a non-transitory computer-readable medium storing instructions executed by touch controller 104. Memory 110 may include volatile and non-volatile components to support temporary data storage during processing and long-term storage of system software and calibration data. Volatile memory (typically RAM) provides fast access to temporary storage of sensor data, intermediate results, and current state information for the gesture recognition system. Non-volatile memory (such as flash memory or EEPROM) can store information such as device firmware, gesture recognition algorithms, and sensor calibration data.

[0028] In various embodiments, the system-on-chip 106 may also be referred to as an application processor and may include processors, interfaces, circuitry, etc., configured to direct streams of input and output data to the touchscreen 102 and the associated touch controller 104. The system-on-chip 106 may be configured to receive touch event data from the touch controller 104 and interpret the touch event data based on the user interface or application displayed on the touchscreen 102.

[0029] Additionally, the touch controller 104 can be configured to detect touch input via the touchscreen 102. In other words, the touch controller 104 can be configured to send a touch drive signal (TDS) to the touchscreen, receive a touch sensing signal (TSS) from the touchscreen in return, process the TSS to determine touch coordinates, and report these touch coordinates to the system-on-chip 106. Then, based on the touch data collected through scanning, the touchscreen can be used by the touch controller 104 to determine touch coordinates and report these touch coordinates to the system-on-chip 106. The system-on-chip 106 can then provide an output to the touchscreen 102 based on the reported touch coordinates.

[0030] Advantageously, as will be described in more detail below, embodiments of this application disclose a touchscreen device configured to record and analyze multiple touch inputs across multiple frames based on a merging standard, and a method for determining whether to merge touch inputs for reporting. In other words, multiple touch inputs can be merged and reported as a single touch input or split and reported as separate touch inputs.

[0031] Figure 1B A schematic diagram of a touchscreen 102 is illustrated. In various embodiments, the touchscreen 102 may include a touch-sensing layer 116 and a display layer 118. The touch-sensing layer 116 and the display layer 118 may be located on the front of the electronic device 100. The touch-sensing layer 116 is configured to detect touch input performed on the touchscreen 102.

[0032] The touch sensing layer 116 includes a plurality of TX channels and RX channels arranged in rows and columns on the touchscreen 102. The TX channels and RX channels form the touch sensing layer. The TX channels and RX channels can span the entire touchscreen 102 in a grid pattern operable by a touch controller. In various embodiments, the TX channels can be formed in rows on the touchscreen, and the RX channels 124 can be formed in columns on the touchscreen 102. In other embodiments, the RX channels 124 can be formed in rows on the touchscreen 102, and the TX channels can be formed in columns on the touchscreen 102. In some embodiments, the TX channels 122 and RX channels 124 can overlap.

[0033] TX channel 122 and RX channel 124 can be formed by electrically coupling the touchscreen 102 to rows and columns of capacitive electrodes spanning the entire touchscreen 102. In various embodiments, the TX channel and RX channel have measurable mutual capacitance at their intersections. In some embodiments, the TX channel and RX channel may have self-capacitance that can be measured relative to ground.

[0034] Touch controller 104 is coupled to the TX and RX channels forming the touch sensing layer 116. TX channel 122 and RX channel 124 create a cross matrix, acting as individual touch sensors. Touch controller 104 sends electrical signals through the TX channels and measures capacitance changes at each cross point through the RX channels. The touch controller detects and locates touch events by analyzing capacitance changes across the entire grid. Touch events can include finger touches, stylus or pen touches, or any contact with the touchscreen 102 that changes the capacitance in the touch sensing layer 116. For convenience, these are all referred to herein as touch inputs. Touch controller 104 can process this raw data, filter out noise, and interpret the touch inputs to translate them into coordinates and gestures that the device's operating system can understand. This integration between the touch controller and the sensor grid enables accurate and responsive touch detection.

[0035] Figures 2A to 2C The illustration shows touch input detection and processing of an electronic device according to an embodiment of this application. Figures 2A to 2C Combining Figures 1A to 1B Describe it.

[0036] Reference Figure 2A The electronic device includes a touchscreen 102. In one or more embodiments, a plurality of touch inputs 202, 204 may contact the touchscreen 102. In one or more embodiments, the plurality of touch inputs includes a first touch input 202 and a second touch input 204, which may be located in the same area of ​​the touchscreen. In other words, the first touch input 202 may be close to the second touch input 204, or the first touch input 202 and the second touch input 204 may be adjacent touch inputs.

[0037] When a touch input is detected on the touchscreen 102, the touch controller 104 detects and locates the touch input on the touchscreen 102 based on capacitance changes. The touch controller 104 generates an intensity bitmap 210 of the capacitance change for each frame, such as... Figure 2B As shown. Each frame of intensity bitmap 210 provides a snapshot of the touch coordinates of the touch input and signal strength. This snapshot can be recorded and analyzed across consecutive frames to track touch motion and determine appropriate merging conditions. In one or more embodiments, touch controller 104 creates touch bitmap 220 corresponding to intensity bitmap 210. Touch bitmap 220 displays a positive touch value for each touch node with an intensity value greater than an intensity threshold, and displays a zero touch value for each node with an intensity value less than the intensity threshold, such as... Figure 2C As shown.

[0038] Reference Figure 2B The intensity bitmap 210 displays on the touchscreen 102 a first set of intensity values ​​212 for the touch node corresponding to the first touch input 202 and a second set of intensity values ​​214 for the touch node corresponding to the second touch input 204. The touch nodes on the intensity bitmap 210 correspond to... Figure 2A The adjacent touch inputs are shown. In one or more embodiments, adjacent touch inputs have at least one touch node in a first set of intensity values ​​212 adjacent to at least one touch node in a second set of intensity values ​​214. The first set of intensity values ​​212 includes positive values, wherein the second touch input 204 is in contact with the touchscreen 102. The second set of intensity values ​​214 includes positive values, wherein the touch input 206 is in contact with the touchscreen. The intensity bitmap 210 can be used by the touch controller 104 to determine whether multiple touch inputs are merged.

[0039] In one or more embodiments, intensity bitmap 210 displays the magnitude of the touch node of the touch input and the capacitance change from the touch input on touchscreen 102. Intensity bitmap 210 is a digital representation of touchscreen 102. Figure 2A As shown, the touch controller 104 detects and locates touch events by analyzing capacitance changes across the entire grid.

[0040] In one or more embodiments, the touch controller 104 outputs raw data for each touch node indicating capacitance changes, where the touch event is located on the intensity bitmap 210. The touch event may correspond to an interactive area on the touchscreen. The interactive area may correspond to a user interface element, such as a button, slider, etc. The raw data output includes a matrix of intensity values ​​representing capacitance measurements on the touchscreen 102. The intensity bitmap 210 may be in the form of a two-dimensional array, where each element corresponds to a specific intersection of the TX and RX channels on the touchscreen 102. Each intensity value in the array represents the capacitance or capacitance change measured at that specific intersection.

[0041] In one or more embodiments, the intensity values ​​can include both positive and negative values. Positive intensity values ​​can represent an increase in capacitance, which can be caused, for example, by a finger. Negative intensity values ​​can represent a decrease in capacitance, which can occur at the edge of a touch event or due to environmental factors. The magnitude of these intensity values ​​is related to the intensity of the touch or the amount of interference. Larger positive intensity values ​​indicate a stronger touch or a more pronounced presence of a conductive object. The intensity values ​​also capture information about multiple simultaneous touches to allow for multi-touch functionality. Each touch point can appear as a set of varying intensity values ​​in a data matrix. The intensity bitmap can display the data output for the intensity values ​​in grayscale or color to represent the touch intensity.

[0042] Reference Figure 2C Touch bitmap 220 displays on touchscreen 102 a first touch island 222 representing a first set of intensity values ​​212 corresponding to the first touch input 202 and a second touch island 224 representing a second set of intensity values ​​214 corresponding to the second touch input 204. Touch bitmap 220 corresponds to Figure 2B The intensity bitmap 210 is shown. In various embodiments, the touch bitmap 220 can be created and recorded for each frame based on the intensity values ​​on the intensity bitmap 210. Each frame of the touch bitmap 220 can be recorded and analyzed across consecutive frames to determine merging conditions.

[0043] In one or more embodiments, touch bitmap 220 displays binary values ​​0 or 1, representing the intensity value on a touch node of intensity bitmap 210 compared to an intensity threshold. Each touch node with an intensity value greater than the intensity threshold can be assigned '1', and each touch node with an intensity value less than the intensity threshold can be assigned '0'. In the example shown, the intensity threshold can be +250. While the intensity threshold has a value of 250, the intensity threshold may vary for different devices or projects requiring different touch intensities. For example, the intensity threshold could be 100, 150, 200, etc., for different projects.

[0044] In one or more embodiments, touch islands on touch bitmap 220 represent the spatial distribution of each touch input. Touch controller 104 may store touch bitmaps for multiple consecutive frames in memory 110, enabling analysis of multiple touch inputs and overlapping touch node patterns across frames. Touch controller 104 may use touch islands on the touch bitmap to determine whether to report touch inputs as individual touch coordinates (e.g., split coordinates) or single touch coordinates (e.g., merged coordinates) to system-on-chip 106.

[0045] Figures 3A to 3C The illustration shows a touch bitmap for multiple touch inputs on an electronic device according to an embodiment of the present application. Figures 3A to 3C Combining Figures 1A to 1B The description is as follows. The touch bitmap represents touch input processing across consecutive frames according to various embodiments.

[0046] Figures 3A to 3C Touch bitmaps 300, 310, and 320 for consecutive frames N-2, N-1, and N are shown. In various embodiments, consecutive frames N-2, N-1, and N may be referred to as the current frame (e.g., N), the previous frame (e.g., N-1), the preceding frame (e.g., N-1, N-2), or the next frame (e.g., N+1, N+n). In other embodiments, consecutive frames N-2, N-1, and N may be numerically referred to as, for example, the first frame (e.g., N-2), the second frame (e.g., N-1), and the third frame (e.g., N).

[0047] In one or more embodiments, when multiple touch inputs are detected on touchscreen 102, touch islands can be segmented to report the touch inputs as individual touch coordinates for some frames, or merged to report the touch inputs as a single touch coordinate for other frames. For example, when two touch inputs are stationary for multiple frames, the stationary touch inputs can be inconsistently reported as a single touch coordinate or two separate coordinates in different frames. In various embodiments, individual touch coordinates may be referred to as segmented coordinates, and single touch coordinates may be referred to as merged coordinates. Touch bitmaps 300, 310, and 320 illustrate touch islands corresponding to the reported touch coordinates for consecutive frames N-2, N-1, and N.

[0048] Figure 3A Touch bitmap 300 for the first frame N-2 is shown. Touch bitmap 300 shows individual touch islands or segment islands 322, 324, which are reported as individual touch coordinates in the first frame N-2. Figure 3B Touch bitmap 310 for the second frame N-1 is shown. Touch bitmap 310 shows individual touch islands 322, 324, which are reported as single or combined touch coordinates 325 in the second frame N-1. Figure 3CTouch bitmap 320 for third frame N is shown. Touch bitmap 320 shows individual touch islands 322, 324, which are reported as individual touch coordinates in third frame N.

[0049] In one or more embodiments, touch controller 104 detects multiple touch inputs for multiple frames on a touchscreen of an electronic device. In one or more embodiments, touch controller 104 records the touch inputs on a touch bitmap for each frame and stores the recorded touch bitmaps in memory 110. In one or more embodiments, touch controller 104 may use touch bitmaps of previous frames to determine whether touch inputs and touch islands meet at least one merging criterion for the current frame. For example, touch bitmaps 300, 310, and 320 for consecutive frames N-2, N-1 may be used to determine whether to merge touch inputs for frame N-1, and consecutive frames N-1, N may be used to determine whether to merge touch inputs for frame N.

[0050] In one or more embodiments, the touch controller 104 may compare touch nodes in the current frame N with touch nodes in a previous frame or the previous frame N-1. The touch controller 104 may continuously evaluate touch nodes in the current frame N and compare them with touch nodes in the previous frame N-1 to determine whether merging criteria are met. For example, criteria for merging touch inputs on the current frame N based on the previous frame N-1 may include: determining whether touch inputs on the previous frame N-1 have been merged into a single touch coordinate, determining the number of touch nodes in the current frame N that overlap with touch nodes in the previous frame N-1, and determining the velocity (i.e., changes in distance and time) between touch inputs in the previous frame N-1 and corresponding touch inputs in the current frame N. When one or more merging criteria are met, the touch controller 104 merges the touch inputs in the current frame N into a single touch coordinate.

[0051] Figure 4 The illustration shows a combined analysis according to an embodiment of this application. Figure 4 Combining Figure 1A and Figures 3A to 3C The following description is provided. The merged analysis illustrates touch input processing between a recording frame 400 for a previous or earlier frame and a bitmap check 410 for the current frame, according to various embodiments.

[0052] In one or more embodiments, each touch input on the previous frame N-1 is recorded and stored in memory 110 for determining whether to merge touch inputs on the current frame. Recording frame 400 for the previous frame N-1 shows a first touch input 426, a second touch input 428, and a merged touch island 425. The first touch input 426 includes a corresponding first touch island, and the second touch input 428 includes a corresponding second touch island adjacent to the first touch island. The first and second touch islands may be combined into the merged touch island 425 based on a recording frame (not shown) preceding the previous frame N-1.

[0053] Bitmap check 410 displays the first touch island 432 of the current frame N, the second touch island 434 of the current frame N, and the merged touch island 425 of the previous frame N-1. When bitmap check 410 indicates that the touch island of the current frame N overlaps with the merged touch island 425 of the previous frame N-1 by more than an overlap threshold, touch controller 104 assigns a touch index from the previous frame N-1 as a merge identifier or merge ID to the touch island of the current frame N. The overlap threshold can be between 60% and 90%, for example, 75%. The touch index is a numerical identifier assigned to each individual touch input detected by the screen, allowing the system to distinguish between each finger touching the screen simultaneously. For example, when a user touches the screen 102 at five different points in a given frame, touch controller 104 can assign touch indices 01, 02, 03, 04, and 05 to each user touch for that frame.

[0054] When touch inputs are merged into merged touch coordinates in the previous frame N-1, the touch index of the merged touch coordinates can be assigned as a merge ID on the current frame. For example, if first touch input 426 has a touch index of 01 in the previous frame N-1, and second touch input 428 has a touch index of 02 in the previous frame N-1, and first touch input 426 and second touch input 428 are merged in the previous frame N-1, and first touch input 426 is the reported merged touch coordinate in the previous frame N-1, then each touch input on the current frame N can be assigned 01 as a merge ID when the overlap of the touch inputs exceeds an overlap threshold. In one or more embodiments, the touch controller 104 determines the overlap percentage of overlapping touch nodes on the touch bitmap of the current frame N and the touch bitmap of the previous frame N-1. For example, the overlap percentage of touch inputs can be calculated using a formula. The calculation is performed, where A is the number of touch nodes in the touch islands of the current frame N, and B is the number of touch nodes in the merged touch islands of the previous frame N-1. Touch controller 104 assigns a merge ID to the touch islands on the current frame N based on the overlap percentage of the touch nodes. When the touch islands of the current frame N and the previous frame N-1 overlap by more than an overlap threshold, the merge ID assigned to the touch island on the current frame N can be the touch index of the previous frame N-1. According to the example above, if the first touch island 432 on the current frame N has an overlap percentage exceeding the overlap threshold, then touch controller 104 assigns touch index 01 as the merge ID to the first touch island 432 in the current frame N. If the second touch island 434 has an overlap percentage exceeding the overlap threshold, then touch controller 104 assigns touch index 01 as the merge ID to the second touch island 434 in the current frame N.

[0055] When the merge ID of the touch islands matches the current frame N, the touch controller 104 merges touch islands 432 and 434 and reports the corresponding touch inputs as merged touch coordinates to the system-on-chip 106. According to the example above, the merge ID of the first touch island is 01, and the merge ID of the second touch island is also 01. The touch controller 104 can merge touch islands 432 and 434 on the current frame and report the corresponding touch inputs as merged touch coordinates to the system-on-chip 106.

[0056] When the merge ID on the current frame N has the touch index of the previous frame N-1, this indicates that the touch input has not changed significantly between frames. When two or more touch islands on the current frame N have the same merge ID (excluding touch islands assigned a default merge ID), the touch controller 104 merges the touch islands into a single touch island and reports the touch input as merged touch coordinates to the system-on-chip 106. When the touch islands of the current frame N and the previous frame N-1 overlap by less than an overlap threshold, the merge ID assigned to the touch island on the current frame N can be a default merge ID (e.g., touch index 255). When two or more touch inputs on the current frame N have merge IDs assigned a default merge ID, the touch controller 104 does not merge the touch islands and reports the touch input as separate touch coordinates to the system-on-chip 106.

[0057] Touch controller 104 continues to evaluate the touch bitmap and merge ID across frames. Continuous evaluation of this merging criterion provides stable touch coordinate reporting while allowing appropriate touch separation as conditions change. Without such an algorithm, touch controller 104 might report merged touches, followed by two separate touches, then merged touches again, and so on. This instability can therefore lead to unstable / inaccurate downstream processing.

[0058] Figures 5A to 5BThe illustration shows a touch bitmap for multiple touch inputs on an electronic device according to an embodiment of the present application. Figures 5A to 5B Combining Figure 1A The description is as follows. The touch bitmap represents touch input processing across consecutive frames according to various embodiments.

[0059] In one or more embodiments, the touch controller 104 compares touch bitmaps between frames and determines whether touch inputs and touch islands in the current frame N meet one or more merging criteria. Merging criteria may include matching merge IDs, speeds between touch inputs less than a speed threshold, distances between touch inputs less than a distance threshold, or any combination thereof. For example, merged touch inputs on a previous frame N-1 may remain merged in the current frame N when the merge IDs match, when the speeds of touch inputs between frames are less than a speed threshold, or when the distances between touch inputs are less than a distance threshold. If none of the criteria are met, such as a mismatched merge ID, a speed exceeding a speed threshold, or a distance exceeding a distance threshold, the previously merged touch inputs may be split and reported as two separate touch inputs.

[0060] Figure 5A Touch bitmap 500 for previous frame N-1 is shown. Touch bitmap 500 shows first touch input 526, second touch input 528 and merged touch island 525 for previous frame N-1.

[0061] Figure 5B Touch bitmap 510 is shown for the current frame N and the previous frame N-1. Touch bitmap 510 for the previous frame N-1 shows a first touch input 526, a first touch island 522 for the first touch input 526, a second touch input 528, a second touch island 524 for the second touch input 528, and a merged touch island. Touch bitmap 510 for the current frame N also shows a first touch input 536, a first touch island 532 for the first touch input 536, a second touch input 538, and a second touch island 534 for the second touch input 538. For example, the first touch input 526 from the previous frame N-1 and the first touch input 536 from the current frame N can be finger touches that are maintained on the touchscreen 102 for at least two frames. Although aspects of the invention are initially described in the context of first and second touch inputs, it should be understood that these aspects of the invention can also be applied to two or more touch inputs.

[0062] Reference Figure 5BTouch bitmap 510 depicts a merging criterion that touch controller 104 can use to determine whether multiple touches should be merged. In one or more embodiments, touch controller 104 determines whether the merge IDs assigned to touch islands match, whether the speed of touch inputs between the previous frame N-1 and the current frame N is less than a speed threshold, or whether the distance between touch inputs in the current frame N is less than a distance threshold.

[0063] In one or more embodiments, a merge ID is assigned to a touch island for the touch bitmap used in each frame, such as Figure 4 As shown. When a touch island on the current frame N overlaps with a touch island on the previous frame N-1 by more than the overlap threshold, the touch index of the previous frame N-1 is assigned as the merge ID on the current frame N. When the merge IDs for two or more touch islands are the same, the touch controller 104 determines that the touch inputs of the current frame N should be merged, the touch inputs are merged into a single touch input, and the merged touch input is reported to the system-on-chip 106 as a single touch coordinate.

[0064] For example, when the first touch island 532 and the second touch island 534 on the current frame N overlap with the first touch island 522 and the second touch island 524 on the previous frame N-1, the touch index of the previous frame is used as the merge ID for the first touch island 532 and the second touch island 534. When the first touch island 532 and the second touch island 534 have the same merge ID, the touch controller 104 merges the first touch island 532 and the second touch island 534 and reports the touch input as merged touch coordinates to the on-chip system 106. When the merge IDs for two or more touch islands are different, the touch controller 104 determines that the touch input on the current frame N should be individual touch coordinates and reports each touch input as an individual touch coordinate to the on-chip system 106.

[0065] In one or more embodiments, the speed between a first touch input in a previous frame N-1 and a corresponding first touch input in the current frame N is determined. The speed is calculated based on the distance between the corresponding touch inputs and the time between the previous frame N-1 and the current frame N. For example, in Figure 5B In this context, the speed of the first touch input can be calculated based on the distance between the first touch input 526 in the previous frame N-1 and the first touch input 536 in the current frame N, as well as the time between the previous frame N-1 and the current frame N. Similarly, the speed of the second touch input can be calculated based on the distance between the second touch input 528 in the previous frame N-1 and the second touch input 538 in the current frame N, as well as the time between the previous frame N-1 and the current frame N.

[0066] When the calculated speed is less than a speed threshold, the touch controller 104 determines that the touch input in the current frame N is likely a merged touch and should be merged after further verification with distance conditions, merging the touch input into a single touch input, and reporting the merged touch input to the on-chip system 106. The speed threshold can be between 30 and 60 pixels per frame, for example, 45 pixels per frame. Each frame can be measured in milliseconds based on the touch scan rate of the touch controller 104. For example, at a touch scan rate of 120 Hz, each frame can be 8.3 ms. When at least one of the calculated speeds is greater than or equal to the speed threshold, a touch input with a speed greater than the speed threshold can be a new touch input that should not be merged into a new touch after a conventional merging check. For example, when the speed of the first touch input is less than the speed threshold and the speed of the second touch input is greater than the speed threshold, the second touch input is likely a new, separate touch input (e.g., a subsequent touch or tap), rather than the same touch input recorded in the previous frame N-1 (e.g., a touch or tap held on the touchscreen during the previous frame N-1 and the current frame N).

[0067] In one or more embodiments, the distance between touch inputs in the current frame N is calculated. The distance between a first touch input and a second touch input in the current frame N is determined. For example, the distance may be measured from the first touch input 536 and the second touch input 538.

[0068] When the distance is less than a distance threshold, the touch controller 104 determines that the touch inputs of the current frame N should be merged into a single touch input and reports the merged touch input to the on-chip system 106. The distance threshold can be between 50 and 100 pixels, for example, 75 pixels. When the distance is greater than or equal to the distance threshold, one or both touch inputs can be new touch inputs that should not be merged into a new touch input after a conventional merging check. For example, when the speed between the first touch input 536 and the second touch input 538 is greater than a speed threshold, at least one of the first or second touch inputs is likely to be a new, separate touch input (e.g., a subsequent touch or tap) rather than the same touch input recorded in the previous frame N-1 (e.g., a touch or tap held on the touchscreen during the previous frame N-1 and the current frame N).

[0069] In one or more embodiments, touch controller 104 determines to merge touch inputs in the current frame N when all merging criteria are met. For example, merged touch inputs from the previous frame N-1 can remain merged in the current frame N when the merge IDs of the touch islands match, the speed is less than a speed threshold, and the distance between touch inputs is less than a distance threshold. If none of the criteria are met, such as the speed exceeding a speed threshold, the distance exceeding a distance threshold, or the merge IDs not matching, the previously merged touch inputs can be split and reported as two separate coordinates.

[0070] In one or more embodiments, when touch inputs merge, the touch controller 104 can report the coordinates between the first touch input 526 and the second touch input 528. For example, when the first touch input 526 and the second touch input 528 merge at frame N, the touch controller 104 can report the coordinates of the midpoint between the first touch input 526 and the second touch input 528. The midpoint can be calculated using the centroid method based on the merged touch islands.

[0071] The touch controller utilizes a touch bitmap to evaluate touch inputs and previously recorded touch coordinates based on their spatial and temporal characteristics. This evaluation process enables stable coordinate reporting of merged touches while retaining the ability to separate different touch inputs.

[0072] Figure 6 The illustration shows a process flow 600 for allocating a merged ID according to an embodiment of this application. The touch controller 104 executes the process flow for allocating the merged ID, as follows: Figure 4 As shown.

[0073] In one or more embodiments, a process flow 600 for assigning a merge ID is performed for each frame. While process flow 600 will be described in the context of the current frame, the process flow applies to previous and subsequent frames. The process begins by setting an initial merge ID to the current frame N in step 601. The initial merge ID can be a default merge ID. The default merge ID can be a touch index of 255.

[0074] In step 603, the touch controller 104 records the unmerged touch islands and corresponding touch inputs of the previous frame N-1. The touch islands and touch inputs are stored in memory for comparison with the current frame. In step 605, the touch controller 104 creates a touch bitmap for the current frame. The touch bitmap is created from the intensity bitmap of the current frame, as shown in Figure 2.

[0075] In step 607, the touch controller 104 calculates the overlap percentage of touch nodes on the touch bitmap of the current frame created in step 605, which overlaps with the touch bitmap of the previous frame N-1 recorded in step 603. In some embodiments, the touch controller 104 may calculate a separate overlap percentage for each touch island corresponding to each touch input. For example, the touch controller 104 may calculate a first overlap percentage for a first touch island on the current frame that overlaps with a first touch island on a previous frame, and a second overlap percentage for a second touch island on the current frame that overlaps with a second touch island on a previous frame. When calculating the overlap percentage, the touch controller 104 determines whether the overlap percentage exceeds an overlap threshold.

[0076] When the overlap percentage exceeds an overlap threshold, the touch controller 104 assigns a merge identifier or merge ID to the corresponding touch island in step 609. In various embodiments, a first merge ID is assigned to a first touch island based on its respective overlap percentage, and a second merge ID is assigned to a second touch island. When sufficient overlap is detected, the assigned merge ID may correspond to a touch index from a previous frame. When the overlap percentage does not exceed the overlap threshold, the touch controller 104 assigns a default merge ID to the touch island in the current frame in step 611.

[0077] The merge ID provides a mechanism for tracking touch relationships across frames. In one or more embodiments, touch inputs sharing the same merge ID can be merged. In other embodiments, touch inputs sharing the same merge ID can be merged when additional criteria (such as speed and distance thresholds) are met. The process flow is repeated for each frame to maintain consistency in touch input tracking while allowing dynamic merge analysis based on changes in touch input.

[0078] Figure 7 A flowchart 700 for merging multiple touch inputs according to an embodiment of this application is illustrated. Flowchart 700 is a process flow for determining whether to merge touch inputs in the current frame. When the touch inputs in the current frame meet the merging criteria in flowchart 700, the touch controller 104 can merge the touch inputs.

[0079] In step 701, touch inputs on the current frame are evaluated. In one or more embodiments, the evaluation of touch inputs on the current frame includes: determining whether adjacent touch inputs have the same merge ID, determining the velocity between adjacent touch inputs on the current frame and adjacent touch inputs on previous frames of multiple frames, and determining the distance between adjacent touch inputs on the current frame.

[0080] For example, when two touch inputs are detected on the current frame, the evaluation of the two touch inputs on the current frame includes: determining whether the merge ID of the first touch input and the merge ID of the second touch input have the same merge ID, calculating the velocity between the first touch input on the current frame and the first touch input on the previous frame, calculating the velocity between the second touch input on the current frame and the second touch input on the previous frame, and calculating the distance between the first touch input and the second touch input on the current frame.

[0081] The evaluation of touch inputs in step 701 can be used to determine whether merging criteria are met. In step 703, the first merging criterion is met when adjacent touch inputs have the same merge ID. In step 705, the second merging criterion is met when the computation speed between a touch input on the current frame and the corresponding touch input on a previous frame is less than a speed threshold. In step 707, the third merging criterion is met when the computation distance between adjacent touch inputs on the current frame is less than a distance threshold. Although the first, second, and third merging criteria in steps 703, 705, and 707 are shown consecutively in flowchart 700, the steps can occur simultaneously or in a different order than that shown in flowchart 700.

[0082] When the first, second, and third merging criteria are met, touch inputs can be merged for the current frame in step 709. If one of the merging criteria is not met, the touch controller 104 continues to perform conventional merging checks in step 711. Conventional merging checks may include checking the current frame N based on distance, axis projection intensity, island length, etc. In one or more embodiments, touch inputs may be merged based on conventional merging checks.

[0083] Figure 8 The diagram illustrates flowcharts for processing touch inputs according to various embodiments. In block 801, touch controller 104 detects multiple touch inputs across multiple consecutive frames on touchscreen 102. Touch inputs may be detected by capacitance measurement on touch sensing layer 116. In block 803, touch controller 104 determines the distance between adjacent touch inputs detected in the current frame. In various embodiments, distance calculation measures the spatial separation between touch positions within the same frame to assess their proximity. In block 805, touch controller 104 determines the velocity between adjacent touch inputs by comparing their positions in the current frame with their corresponding positions in previous frames. Velocity calculation takes into account the distance between each touch and the time interval between frames. In block 807, touch controller 104 merges adjacent touch inputs based on the determined distance and velocity. Adjacent touch inputs may be merged into a single touch input when the distance is less than a distance threshold and the velocity is less than a velocity threshold.

[0084] Touch input processing can improve touch stability, especially for close-range touches that are stationary or moving slowly, while maintaining the ability to separate touches based on motion and position changes.

[0085] Example embodiments of the invention are described below. Other embodiments may also be understood from the entire specification and claims set forth herein.

[0086] Example 1. A first example includes a method of operating an electronic device. The method includes: detecting, on a touchscreen of the device, a plurality of touch inputs for a plurality of frames, the plurality of touch inputs including a first touch input and a second touch input, wherein the first touch input is adjacent to the second touch input in the plurality of touch inputs, the plurality of frames including a current frame and a previous frame; determining a distance between the first touch input and the second touch input on the current frame; determining a velocity between the first touch input on the current frame and the first touch input on the previous frame; and, for the current frame, merging the first touch input and the second touch input into a single touch input based on the determined distance and the determined velocity.

[0087] Example 2. According to the method described in Example 1, determining the distance between the first touch input and the second touch input includes determining the distance between the first touch input on the current frame and the second touch input on the current frame.

[0088] Example 3. The method according to Example 1 or 2, wherein determining the speed includes: determining a first speed between a first touch input on the current frame and a first touch input on a previous frame, wherein the first speed is the distance between the first touch inputs over a period of time between the current frame and the previous frame; and determining a second speed between a second touch input on the current frame and a second touch input on a previous frame, wherein the second speed is the distance between the second touch inputs over a period of time between the current frame and the previous frame.

[0089] Example 4. According to the method described in Examples 1 to 3, merging the first touch input with the second touch input based on the determined distance and the determined speed includes: determining that the determined distance is less than a distance threshold; and determining that the determined speed is less than a speed threshold.

[0090] Example 5. The method described in Examples 1 to 4, wherein the distance threshold is between 50 and 100 pixels.

[0091] Example 6. The method according to Examples 1 to 5, wherein the speed threshold is between 30 and 60 pixels per frame.

[0092] Example 7. The method according to Examples 1 to 6 further includes: calculating the percentage of touch nodes on the current frame that overlap with touch nodes on a previous frame; determining that the percentage exceeds an overlap threshold; and in response to the percentage exceeding the overlap threshold, assigning a merge ID to a plurality of touch inputs on the current frame, wherein merging the first touch input and the second touch input is also based on the first touch input and the second touch input having the same merge ID.

[0093] Example 8. The method according to Examples 1 to 7, wherein calculating the percentage of touch nodes includes calculating the percentage of touch nodes of a first touch input on the current frame that overlap with the touch nodes of a first touch input on a previous frame, and calculating the percentage of touch nodes of a second touch input on the current frame that overlap with the touch nodes of a second touch input on a previous frame; and wherein assigning a merge ID further includes assigning a first merge ID to the first touch input and assigning a second merge ID to the second touch input.

[0094] Example 9. The method according to Examples 1 to 8, wherein determining the speed includes: determining a first speed between a first touch input on a current frame and a first touch input on a previous frame in response to the first merge ID and the second merge ID being the same, wherein the first speed is the distance between the first touch inputs over a period of time between the current frame and the previous frame; and determining a second speed between a second touch input on a current frame and a second touch input on a previous frame in response to the first merge ID and the second merge ID being the same, wherein the second speed is the distance between the second touch inputs over a period of time between the current frame and the previous frame.

[0095] Example 10. According to the method described in Examples 1 to 9, determining the distance between the first touch input and the second touch input includes determining the distance between the first touch input and the second touch input on the current frame in response to a first speed being less than a speed threshold and a second speed being less than a speed threshold.

[0096] Example 11. The method according to Examples 1 to 10, wherein merging the first touch input and the second touch input includes 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.

[0097] Example 12. A second example includes a method comprising: detecting a first touch input and a second touch input on a first frame, the first touch input being close to the second touch input; detecting the first touch input and the second touch input on a second frame; assigning a merge ID to the first touch input and the second touch input on the second frame; determining that the merge ID of the first touch input and the merge ID of the second touch input have the 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 the 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 the determined merge ID, the first speed, the second speed, and the distance.

[0098] Example 13. The method according to Example 12, wherein assigning a merge ID to a first touch input and a second touch input includes: calculating the percentage of a first touch input overlapping with a first touch input on a second frame; determining that the percentage of the first touch input exceeds a first overlap threshold; assigning a first merge ID to the first touch input in response to the percentage of the first touch input exceeding the first overlap threshold; calculating the percentage of a second touch input overlapping with a second touch input on a second frame; determining that the percentage of 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 of the second touch input exceeding the second overlap threshold.

[0099] Example 14. The method according to Example 12 or 13, wherein determining the first speed includes calculating the distance between a first touch input on a first frame and a first touch input on a second frame, and the time between the first frame and the second frame, and wherein determining the second speed includes calculating the distance between a second touch input on a first frame and a second touch input on a second frame, and the time between the first frame and the second frame.

[0100] Example 15. The method according to Examples 12 to 14, wherein determining the distance includes measuring the distance between a first touch input on a second frame and a second touch input on a second frame.

[0101] Example 16. The method according to Examples 12 to 15 further includes: detecting the first touch input and the second touch input on a third frame when the first touch input and the second touch input are merged on a second frame; assigning a merge ID to the touch input and the second touch input on 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 the same merge ID; determining that a first speed of the first touch input between the second frame and the third 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 the distance between the first touch input and the second touch input on the third frame is less than a distance threshold; and merging the first touch input and the second touch input on the third frame based on the determined merge ID, the first speed, the second speed, and the distance.

[0102] Example 17. The method according to Examples 12 to 16 further includes: detecting the first touch input and the second touch input on a third frame when the first touch input and the second touch input are merged on a second frame; and separating the first touch input and the second touch input on the third frame when the following occurs: 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 different merge IDs; a first speed of the first touch input between the second frame and the third frame is greater than or equal to a first speed threshold; a second speed of the second touch input between the second frame and the third frame is greater than or equal to a 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 a distance threshold.

[0103] Example 18. A third example includes a device comprising a touchscreen, a touch controller, and a non-transitory memory storing a program executed by the touch controller. The program includes instructions for: detecting multiple touch inputs on the touchscreen for multiple frames; recording the multiple touch inputs on a touch bitmap for each of the multiple frames, each touch input having a touch island on the touch bitmap; assigning a merge ID to each touch island in the touch islands on the touch bitmap for each frame; determining that the touch islands in the current frame have the same merge ID; determining that the speed between a touch input in the current frame and a touch input in a previous frame is less than a speed threshold; determining that the distance between the touch inputs in the current frame is less than a distance threshold; and merging 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.

[0104] Example 19. The device according to Example 18, wherein assigning a merge ID includes: calculating the percentage of overlap between touch input on a touch bitmap of the current frame and touch input on a touch bitmap of a previous frame; determining that the percentage exceeds an overlap threshold; and assigning a merge ID to a touch island on the touch bitmap of the current frame in response to the percentage exceeding the overlap threshold.

[0105] Example 20. A device according to Example 18 or 19, wherein touch input includes a first touch input and a second touch input, and wherein determining the speed between touch inputs includes: determining a first speed between a first touch input on a current frame and a first touch input on a previous frame, wherein the first speed is the distance between the first touch inputs over a period of time between the current frame and the previous frame; and determining a second speed between a second touch input on a current frame and a second touch input on a previous frame, wherein the second speed is the distance between the second touch inputs over a period of time between the current frame and the previous frame.

[0106] Example 21. A device according to Examples 18 to 20, wherein touch input includes a first touch input and a second touch input, and wherein determining the distance between touch inputs includes determining the distance between the first touch input and the second touch input on the current frame.

[0107] Example 22. A fourth example includes a method for detecting multiple touch inputs for multiple frames on a device's touchscreen, the multiple touch inputs including a first touch input and a second touch input, wherein the first touch input is adjacent to the second touch input in the multiple touch inputs, and the multiple frames including a current frame and a previous frame. The method further includes: calculating the percentage of touch nodes on the current frame that overlap with touch nodes on the previous frame; determining that the percentage exceeds an overlap threshold; in response to the percentage exceeding the overlap threshold, assigning a merge ID to the multiple touch inputs on the current frame; and for the current frame, merging the first touch input and the second touch input based on the first touch input and the second touch input having the same merge ID.

[0108] Example 23. The method according to Example 22, wherein calculating the percentage of touch nodes includes calculating the percentage of touch nodes of a first touch input on the current frame that overlap with the touch nodes of a first touch input and a second touch input on a previous frame, and calculating the percentage of touch nodes of a second touch input on the current frame that overlap with the touch nodes of a first touch input and a second touch input on a previous frame; and wherein assigning a merge ID further includes assigning a first merge ID to a first touch input on the current frame and assigning a second merge ID to a second touch input on the current frame.

[0109] While the invention has been described with reference to illustrative embodiments, this specification is not intended to be limiting. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the invention, will be apparent to those skilled in the art upon referring to this specification. Therefore, the appended claims are intended to cover any such modifications or embodiments.

Claims

1. A method for operating an electronic device, the method comprising: Multiple touch inputs for multiple frames are detected on the touchscreen of the device. The multiple touch inputs include a first touch input and a second touch input. Among the multiple touch inputs, the first touch input is immediately adjacent to the second touch input. The multiple frames include the current frame and the previous frame. Determine the distance between the first touch input and the second touch input on the current frame; Determine the speed between the first touch input on the current frame and the first touch input on the previous frame; as well as For the current frame, the first touch input and the second touch input are merged based on the determined distance and the determined speed.

2. The method of claim 1, wherein determining the distance between the first touch input and the second touch input comprises determining the 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: Determine 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 the distance between the first touch inputs over a period of time between the current frame and the previous frame; as well as Determine 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 the distance between the second touch inputs over a period of time between the current frame and the previous frame.

4. The method of claim 1, wherein merging the first touch input and the second touch input based on the determined distance and the determined speed comprises: It is determined that the determined distance is less than a distance threshold; as well as It is determined that the determined speed is less than the 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 according to claim 1, further comprising: Calculate the percentage of touch nodes in the current frame that overlap with touch nodes in the previous frame; Determining that the percentage exceeds the overlap threshold; as well as In response to the percentage exceeding the overlap threshold, a merge ID is assigned to the plurality of touch inputs on the current frame, wherein merging the first touch input and the second touch input is also based on the first touch input and the second touch input having the same merge ID.

8. The method of claim 7, wherein calculating the percentage of touch nodes comprises calculating the percentage of touch nodes of the first touch input on the current frame that overlap with the touch nodes of the first touch input and the second touch input on the previous frame, and calculating the percentage of touch nodes of the second touch input on the current frame that overlap with the touch nodes of the first touch input and the second touch input on the previous frame; and The allocation of the merge ID also includes 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: In response to the first merge ID and the second merge ID being the same, a first speed is determined between the first touch input on the current frame and the first touch input on the previous frame, wherein the first speed is the distance between the first touch inputs over a period of time between the current frame and the previous frame; as well as In response to the first merge ID and the second merge ID being the same, a second speed is determined between the second touch input on the current frame and the second touch input on the previous frame, wherein the second speed is the distance between the second touch inputs over a period of time between the current frame and the previous frame.

10. The method of claim 9, wherein determining the distance between the first touch input and the second touch input comprises determining the 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 according to example claim 10, wherein merging the first touch input and the second touch input includes 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: Detect a first touch input and a second touch input on the first frame, where the first touch input is close to the second touch input; Detect the first touch input and the second touch input on the second frame; Assign the merged ID to the first touch input and the second touch input in the second frame; It is determined that the merged ID of the first touch input and the merged ID of the second touch input have the same merged ID; Determine that the first speed of the first touch input between the first frame and the second frame is less than a first speed threshold; Determine that the second speed of the second touch input between the first frame and the second frame is less than a second speed threshold; It is determined that the distance between the first touch input and the second touch input on the second frame is less than a distance threshold; as well as Based on the determined merge ID, the first speed, the second speed, and the distance, the first touch input and the second touch input on the second frame are merged.

13. The method of claim 12, wherein assigning the merged ID to the first touch input and the second touch input comprises: Calculate the percentage of the first touch input on the second frame that overlaps with the first touch input on the first frame; Determine that the percentage of the first touch input exceeds a first overlap threshold; In response to the percentage of the first touch input exceeding the first overlap threshold, a first merge ID is assigned to the first touch input; Calculate the percentage of the second touch input on the second frame that overlaps with the second touch input on the first frame; Determine that the percentage of the second touch input exceeds a second overlap threshold; as well as In response to the percentage of the second touch input exceeding the second overlap threshold, a second merge ID is assigned to the second touch input.

14. The method of claim 12, wherein determining the first speed includes calculating the distance between the first touch input on the first frame and the first touch input on the second frame, and the time between the first frame and the second frame, and wherein determining the second speed includes calculating the 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 the 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: When the first touch input and the second touch input are merged on the second frame, the first touch input and the second touch input on the third frame are detected. Assign the merged ID to the first touch input and the second touch input of the third frame; It is determined 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 the same merge ID; Determine that the first speed of the first touch input between the second frame and the third frame is less than the first speed threshold; It is determined that the second speed of the second touch input between the first frame and the second frame is less than the second speed threshold; It is determined that the distance between the first touch input and the second touch input on the third frame is less than the distance threshold; as well as Based on the determined merge ID, the first speed, the second speed, and the distance, the first touch input and the second touch input on the third frame are merged.

17. The method of claim 12, further comprising: When the first touch input and the second touch input are merged on the second frame, the first touch input and the second touch input on the third frame are detected. as well as The first touch input and the second touch input on the third frame will be separated when the following occurs: The merged ID of the first touch input on the third frame and the merged ID of the second touch input on the third frame have different merged 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. An apparatus comprising: touchscreen; Touch controller; as well as Non-transitory memory stores a program executed by the touch controller, the program including instructions for: Detect multiple touch inputs for multiple frames on the touchscreen; Multiple touch inputs are recorded on a touch bitmap for each of the multiple frames, and each touch input has a touch island on the touch bitmap; Assign a merge ID to each of the touch islands on the touch bitmap for each frame; It is determined that the touch islands in the current frame have the same merge ID; Determine that the speed of the touch input on the current frame is less than a speed threshold compared to the touch input on a previous frame; It is determined that the distance between the touch inputs on the current frame is less than a distance threshold; as well as 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, the touch input is merged.

19. The device of claim 18, wherein allocating the merged ID comprises: Calculate the percentage of overlap between touch input on the touch bitmap of the current frame and touch input on the touch bitmap of the previous frame; Determining that the percentage exceeds the overlap threshold; as well as In response to the percentage exceeding the overlap threshold, the merge ID is assigned to the touch island on the touch bitmap of the current frame.

20. The device of claim 18, wherein the touch input includes a first touch input and a second touch input, and wherein determining the speed between the touch inputs comprises: Determine 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 the distance between the first touch inputs over a period of time between the current frame and the previous frame; as well as Determine 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 the distance between the second touch inputs over a period of time between the current frame and the previous frame.

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