Touch coordinate de-jittering method and device and storage medium

By compensating and bottoming the touch signal in the first finger area in the capacitive touch screen, determining and locking the touch coordinates of the first finger, the problem of touch coordinate bias jitter caused by poor contact between the finger and the whole machine is solved, and stable and accurate touch coordinates are achieved.

CN120233897APending Publication Date: 2025-07-01GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311874353.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-29
Publication Date
2025-07-01

AI Technical Summary

Technical Problem

In capacitive touch screen, when the fingers are in contact with the entire machine, the touch signal in the finger area becomes smaller, resulting in the problem of biased position jitter in the touch coordinates of the fingers.

Method used

By detecting that the touch event of the first finger is a press event, compensation is made for the first touch signal of the first finger area to obtain the second touch signal; then, the second touch signal of the first finger area is cut to obtain the third touch signal; the first touch coordinate of the first finger is determined based on the third touch signal, and it is used as the lock point coordinate.

Benefits of technology

Effectively compensate and stabilize the touch coordinates of the first finger, avoid biased jitter caused by movement of other fingers, and ensure the stability and accuracy of the touch coordinates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120233897A_ABST
    Figure CN120233897A_ABST
Patent Text Reader

Abstract

The invention discloses a touch coordinate de-jittering method and device and a storage medium, and the method comprises the steps: carrying out the compensation of an obtained first touch signal of a first finger region under the condition that a touch event of a first finger is detected to be a press-down event, and obtaining a second touch signal of the first finger region; when it is determined that the first finger area and any finger area except the first finger area in the multiple finger areas are coaxial, bottom cutting is conducted on the second touch signal of the first finger area, and a third touch signal of the first finger area is obtained; determining a first touch coordinate of the first finger based on the third touch signal of the first finger area; and taking the first touch coordinate as a lock point coordinate.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to anti - shake technology, and in particular, to a method, device, and storage medium for removing jitter from touch coordinates. Background Art

[0002] Currently, due to high sensitivity, support for simultaneous multi - finger precise touch, stability, and reliability, capacitive touchscreens have quickly replaced resistive touchscreens and become a standard feature of electronic devices (such as mobile phones and tablets).

[0003] Generally, for an electronic device with a metal middle frame, when a finger touches the electronic device, the contact between the finger and the ground of the whole machine is good. However, for an electronic device with a plastic middle frame, when a finger touches the electronic device, the contact between the finger and the ground of the whole machine is not good. For example, Figure 1 As shown, when fingers A and B touch the electronic device simultaneously, in the case where the contact between fingers A and B and the ground of the whole machine is not good, the positive touch signals in the areas of fingers A and B become smaller, and negative touch signals 1 and 2 are generated in the other two corner areas of the rectangular area formed by fingers A and B; thus, when finger A keeps pressing and finger B moves upward at the coaxial position, the corresponding negative touch signal 2 also moves upward, causing part of the lower edge of the touch signal in the area of finger A to be eaten, resulting in the touch coordinate of finger A being offset and jittered due to the movement of finger B. Summary of the Invention

[0004] This application expects to provide a method, device, and storage medium for removing jitter from touch coordinates.

[0005] The technical solution of this application is implemented as follows:

[0006] In a first aspect, a method for removing jitter from touch coordinates is provided. The method includes:

[0007] When it is detected that the touch event of the first finger is a press event, compensating the first touch signal in the area of the first finger to obtain the second touch signal in the area of the first finger;

[0008] When it is determined that there is a coaxial situation between the area of the first finger and any finger area other than the area of the first finger among multiple finger areas, cutting the bottom of the second touch signal in the area of the first finger to obtain the third touch signal in the area of the first finger;

[0009] Based on the third touch signal in the area of the first finger, determining the first touch coordinate of the first finger;

[0010] Taking the first touch coordinate as the locked - point coordinate.

[0011] In a second aspect, a device for removing jitter from touch coordinates is provided. The device includes:

[0012] A compensation unit, configured to, when it is detected that the touch event of the first finger is a pressing event, compensate the first touch signal of the acquired first finger area to obtain a second touch signal of the first finger area;

[0013] A bottom-cutting unit, configured to, when it is determined that there is a coaxial situation between the first finger area and any finger area other than the first finger area among a plurality of finger areas, perform bottom-cutting on the second touch signal of the first finger area to obtain a third touch signal of the first finger area;

[0014] The bottom-cutting unit is further configured to determine a first touch coordinate of the first finger based on the third touch signal of the first finger area;

[0015] A locking unit, configured to use the first touch coordinate as a lock point coordinate.

[0016] In a third aspect, an electronic device is provided, including: a processor and a memory configured to store a computer program that can run on the processor, wherein when the processor is configured to run the computer program, it executes the steps of the method in the first aspect.

[0017] In a fourth aspect, a computer-readable storage medium is provided, on which a computer program is stored, wherein when the computer program is executed by a processor, it implements the steps of the method in the first aspect.

[0018] The present application discloses a method, device and storage medium for removing jitter of touch coordinates. When it is detected that the touch event of the first finger is a pressing event, by compensating the first touch signal of the first finger area, the compensated second touch signal is closer to the touch signal under normal contact between the first finger and the touch screen, thereby compensating the touch coordinate of the first finger; then, bottom-cutting is performed on the second touch signal of the first finger area, so that the second touch signal at the edge of the first finger area becomes smaller, and thus the first touch coordinate of the first finger determined based on the second touch signal is stably concentrated in the middle area of the first finger area; then a locking operation is performed on the first touch coordinate; thereby ensuring that the first touch coordinate of the first finger will not be offset and jittered due to the movement of other fingers. Description of the Drawings

[0019] The drawings here are incorporated into the specification and form a part of this specification. These drawings show embodiments consistent with the present application and are used together with the specification to explain the technical solutions of the present application. Obviously, the drawings in the following description are only some embodiments of the present application, and those of ordinary skill in the art can obtain other drawings based on these drawings without creative efforts.

[0020] The flowcharts shown in the accompanying drawings are merely illustrative and not necessarily include all content and operations / steps, nor are they necessarily executed in the described order. For example, some operations / steps can be decomposed, while some operations / steps can be combined or partially combined, so the actual execution order may change according to the actual situation.

[0021] Figure 1 It is a schematic diagram of the touch signals of fingers A and B collected currently.

[0022] Figure 2 It is a schematic flowchart of an optional method for touch coordinate debouncing in an embodiment of the present application.

[0023] Figure 3 It is a schematic diagram of finger area signal compensation in an example of the present application.

[0024] Figure 4 It is a schematic flowchart of an optional method for touch coordinate debouncing in an embodiment of the present application.

[0025] Figure 5 It is a schematic flowchart of an optional method for touch coordinate debouncing in an embodiment of the present application.

[0026] Figure 6 It is a schematic flowchart of an optional method for touch coordinate debouncing in an embodiment of the present application.

[0027] Figure 7 It is a schematic flowchart of an optional method for touch coordinate debouncing in an embodiment of the present application.

[0028] Figure 8 It is a schematic diagram of the composition structure of the device for touch coordinate debouncing in an embodiment of the present application.

[0029] Figure 9 It is a schematic diagram of the composition structure of the electronic device in an embodiment of the present application. Detailed implementation manners

[0030] In order to understand the features and technical content of the embodiments of the present application in more detail, the implementation of the embodiments of the present application will be described in detail below with reference to the accompanying drawings. The attached drawings are for reference and illustration only and are not used to limit the embodiments of the present application.

[0031] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the technical field to which this application belongs. The terms used herein are only for the purpose of describing this embodiment and are not intended to limit this application.

[0032] In the following description, references are made to "some embodiments", "this embodiment", "the present embodiment", and examples, etc., which describe subsets of all possible embodiments. However, it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict.

[0033] If similar descriptions such as "first / second" appear in the application documents, the following explanation is added. In the following description, the terms "first", "second", and "third" are only used to distinguish similar objects and do not represent a specific order for the objects. It can be understood that "first", "second", and "third" can be interchanged in a specific order or sequence when permitted, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein.

[0034] In this embodiment, the term "and / or" is only a description of the association relationship between associated objects, indicating that there can be three relationships. For example, object A and / or object B can represent three situations: object A exists alone, object A and object B exist simultaneously, and object B exists alone.

[0035] An embodiment of the present application provides a method for removing jitter from touch coordinates. Figure 2 As a schematic flowchart of an optional method for removing jitter from touch coordinates in an embodiment of the present application, as Figure 2 shown, the method for removing jitter from touch coordinates may include:

[0036] Step 201: When it is detected that the touch event of the first finger is a press event, compensate the first touch signal of the obtained first finger area to obtain a second touch signal of the first finger area.

[0037] Step 202: When it is determined that the first finger area is coaxial with any finger area other than the first finger area among the multiple finger areas, perform bottom clipping on the second touch signal of the first finger area to obtain a third touch signal of the first finger area.

[0038] Step 203: Based on the third touch signal of the first finger area, determine the first touch coordinate of the first finger.

[0039] Step 204: Use the first touch coordinate as the locked point coordinate.

[0040] The embodiment of the present application is applicable to an application scenario where multiple fingers simultaneously touch the screen of an electronic device.

[0041] As Figure 1As shown in the figure, fingers A and B touch the electronic device simultaneously. When the contact between fingers A and B and the touch screen is abnormal, compared with the normal contact situation, the positive touch signals in the areas of fingers A and B become smaller, and negative touch signals 1 and 2 are generated in the other two corner areas of the rectangular area formed by fingers A and B. In this way, when finger A keeps pressing and finger B moves upward at the coaxial position, the corresponding negative touch signal 2 also moves upward, and part of the touch signal in the area of finger A is eaten. Since the touch coordinates of finger A are determined based on the touch signals in the area of finger A, the touch coordinates of finger A are offset and jittered due to the movement of finger B. Among them, the abnormal contact between the finger and the touch screen may be caused by the electronic device being pasted with a film, or the middle frame of the electronic device being made of plastic, or the difference in the user's holding method.

[0042] In the embodiment of the present application, to avoid the occurrence of the situation where the touch coordinates of finger A are offset and jittered due to the movement of finger B, a method for removing touch coordinate jitter is provided. Specifically, when it is detected that the touch event of the first finger (which can be understood as finger A) is a press event, the first touch signal in the area of the first finger is compensated, so that the compensated second touch signal is closer to the touch signal when the first finger is in normal contact with the touch screen, thereby compensating the touch coordinates of the first finger. Then, the bottom of the second touch signal in the area of the first finger is cut off, so that the second touch signal at the edge of the area of the first finger becomes smaller. In this way, the first touch coordinates of the first finger determined based on the second touch signal are stably concentrated in the middle area of the area of the first finger. Then, a locking operation is performed on the first touch coordinates, thereby ensuring that the first touch coordinates of the first finger will not be offset and jittered due to the movement of other fingers.

[0043] The first finger is any one of multiple fingers. The area of the first finger is the finger area of the first finger.

[0044] The press event refers to the event that occurs when a finger presses on the touch screen.

[0045] In some embodiments, compensating the first touch signal in the area of the first finger obtained to obtain the second touch signal in the area of the first finger includes:

[0046] Based on the self - capacitance signal, the first touch signal in the area of the first finger is compensated to obtain the second touch signal in the area of the first finger.

[0047] The self - capacitance signal includes the self - capacitance signal in the transmission dimension (TX dimension) and the self - capacitance signal in the reception dimension (RX dimension).

[0048] Figure 3 It is a schematic diagram of signal compensation for a finger area in an example of the present application, asFigure 3 As shown, the area formed by the mutual capacitance signals M11 to M44 is the finger area. The self-capacitance signals T1, T2, T3, T4 in the TX dimension and the self-capacitance signals R1, R2, R3, R4 in the RX dimension are less affected by floating. The ratios of the self-capacitance signals of different channels are not affected by the floating state, that is, the ratios of T1 / T2 / T3 / T4 are stable, and the ratios of R1 / R2 / R3 / R4 are stable.

[0049] Regarding the signal compensation steps, specifically,

[0050] In the RX dimension, the signals in the same column are accumulated to obtain the row vector [M1, M2, M3, M4], and then the i corresponding to Max(Ri / Mi) is obtained; where, M1 = M11 + M21 + M31 + M41, M2 = M12 + M22 + M32 + M42, M3 = M13 + M23 + M33 + M43, M4 = M14 + M24 + M34 + M44.

[0051] Here, taking i = 2 as an example, it is considered that M2 is the least affected by floating and is regarded as a known quantity.

[0052] Based on M12 = M2 * T1 / (T1 + T2 + T3 + T4), with M2 known and T1, T2, T3, T4 known, M12 is calculated, and M12 is the compensated signal value.

[0053] Based on M22 = M2 * T2 / (T1 + T2 + T3 + T4), with M2 known and T1, T2, T3, T4 known, M22 is calculated, and M22 is the compensated signal value.

[0054] Based on M32 = M2 * T3 / (T1 + T2 + T3 + T4), with M2 known and T1, T2, T3, T4 known, M32 is calculated, and M32 is the compensated signal value.

[0055] Based on M42 = M2 * T4 / (T1 + T2 + T3 + T4), with M2 known and T1, T2, T3, T4 known, M42 is calculated, and M42 is the compensated signal value.

[0056] Based on R1 / R2 = M1 / M2, with M2 known, M1 is calculated.

[0057] Then, according to M11 = M1 * T1 / (T1 + T2 + T3 + T4), M21 = M1 * T2 / (T1 + T2 + T3 + T4), M31 = M1 * T3 / (T1 + T2 + T3 + T4), and M41 = M1 * T4 / (T1 + T2 + T3 + T4), M11, M21, M31, and M41 are calculated.

[0058] Based on R3 / R2 = M3 / M2, with M2 known, M3 is calculated.

[0059] Then, based on M13 = M3 * T1 / (T1 + T2 + T3 + T4), M23 = M3 * T2 / (T1 + T2 + T3 + T4), M33 = M3 * T3 / (T1 + T2 + T3 + T4), and M43 = M3 * T4 / (T1 + T2 + T3 + T4), M13, M23, M33, and M43 are calculated.

[0060] Based on R4 / R2 = M4 / M2, with M2 known, M4 is calculated.

[0061] Then, based on M14 = M4 * T1 / (T1 + T2 + T3 + T4), M24 = M4 * T2 / (T1 + T2 + T3 + T4), M34 = M4 * T3 / (T1 + T2 + T3 + T4), and M44 = M4 * T4 / (T1 + T2 + T3 + T4), M14, M24, M34, and M44 are calculated.

[0062] Here, the compensated signal is the second touch signal.

[0063] In some embodiments, the method further includes:

[0064] If it is determined that there is an intersection between the first finger region and any finger region other than the first finger region among the multiple finger regions in the first dimension or the second dimension, then it is determined that the first finger region and the corresponding finger region are coaxial.

[0065] The first dimension is the TX dimension, and the second dimension is the RX dimension. Alternatively, the first dimension is the RX dimension, and the second dimension is the TX dimension.

[0066] In the embodiments of the present application, it is sequentially determined whether there is an intersection between the first finger region and each finger region other than the first finger region among the multiple finger regions in the first dimension or the second dimension. If there is an intersection between the first finger region and one or more finger regions in the first dimension or the second dimension, then it is determined that the first finger region and one or more finger regions are coaxial. In the present application, as long as there is a coaxial situation, the bottom of the first finger region is processed. Additionally, when determining whether the first finger region and one or more finger regions are coaxial in the embodiments of the present application, a coaxial mark can also be added to the first finger region. In this way, it can be determined whether to perform the bottom cutting process by identifying whether there is a corresponding coaxial mark on the first finger region. For the finger region with a coaxial mark, the bottom cutting process is performed; for the finger region without a coaxial mark, the bottom cutting process is not performed.

[0067] In the embodiments of the present application, in the coaxial case, the number of fingers is not limited. It is also eligible if there are two or more fingers in the first dimension or the second dimension. Even if there are multiple fingers in both dimensions, it is also acceptable.

[0068] In some embodiments, performing bottom clipping on the second touch signal of the first finger region to obtain a third touch signal of the first finger region includes:

[0069] The first finger region includes multiple second touch signals. Bottom clipping the multiple second touch signals based on a first bottom clipping value to obtain multiple third touch signals of the first finger region;

[0070] Wherein, the first bottom clipping value is preset or determined based on the maximum touch signal among the multiple second touch signals and a preset bottom clipping coefficient.

[0071] It should be noted that the present application compensates according to the self - capacitance signal. In some scenarios where the self - capacitance signal is interfered by noise, many small signals may be compensated in the first finger region. After entering the coaxial situation, the first finger may jitter due to the movement of the coaxial finger. Therefore, for the first finger with a coaxial situation, bottom clipping is performed on the second touch signal of the first finger region to remove small signals, so as to ensure that the first touch coordinate of the first finger will not jitter due to the movement of other fingers (including coaxial fingers).

[0072] Specifically, bottom clipping the multiple second touch signals by the first bottom clipping value to obtain multiple third touch signals of the first finger region.

[0073] The first bottom clipping value can be preset or determined based on the maximum touch signal among the multiple second touch signals and a preset bottom clipping coefficient. The preset bottom clipping coefficient is set by developers according to experience or experiments. Regarding the value of the first bottom clipping value, it is not limited to these two methods, and other feasible methods are also acceptable.

[0074] In some embodiments, the bottom clipping the multiple second touch signals based on the first bottom clipping value to obtain multiple third touch signals of the first finger region includes:

[0075] Determine whether the second touch signal is greater than or equal to the first bottom clipping value;

[0076] If so, determine the difference between the second touch signal and the first bottom clipping value to obtain the third touch signal;

[0077] If not, the third touch signal is zero.

[0078] In the embodiments of the present application, first, the magnitude of the second touch signal and the first bottom clipping value are compared. If the second touch signal is greater than or equal to the first bottom clipping value, the difference between the second touch signal and the first bottom clipping value is calculated to obtain the third touch signal after bottom clipping processing. If the second touch signal is less than the first bottom clipping value, the second touch signal is set to zero, that is, the third touch signal is zero.

[0079] Here, the execution subject of steps 201 to 204 may be the processor of the electronic device. Here, the electronic device may be a device with touch function, and the electronic device may be called a touch screen device. For example, a smart phone, a personal computer (such as a tablet computer, a desktop computer, a notebook, a netbook, a handheld computer), a mobile phone, an e-book reader, etc.

[0080] In the embodiments of the present application, when the touch event of the first finger is detected as a press event, the first touch signal in the first finger area is compensated, so that the compensated second touch signal is closer to the touch signal when the first finger is in normal contact with the touch screen, thereby compensating the touch coordinates of the first finger. Then, the second touch signal in the first finger area is bottom clipped, so that the second touch signal at the edge of the first finger area becomes smaller. In this way, the first touch coordinates of the first finger determined based on the second touch signal are stably concentrated in the middle area of the first finger area. Then, a locking operation is performed on the first touch coordinates, thereby ensuring that the first touch coordinates of the first finger will not be offset and jittered due to the movement of other fingers.

[0081] Figure 4 is a schematic flowchart of an optional method for removing touch coordinate jitter in the embodiments of the present application. As Figure 4 shown, the steps of the method for removing touch coordinate jitter may include:

[0082] Start.

[0083] Step 401: Search for M finger areas, where M≥2.

[0084] Step 402: Determine whether there is a coaxial situation between the i-th finger area and other finger areas.

[0085] If there is a coaxial situation between the i-th finger area and other finger areas, step 403 is executed; if there is no coaxial situation between the i-th finger area and other finger areas, step 408 is executed. The initial value of i is 1.

[0086] The other finger areas are the finger areas other than the i-th finger area among the M finger areas.

[0087] Specifically, it is sequentially determined whether there is an intersection between the i-th finger region and each finger region in other finger regions in the first dimension or the second dimension. If there is an intersection between the i-th finger region and one or more finger regions in other finger regions in the first dimension or the second dimension, it is determined that the i-th finger region and the one or more finger regions are coaxial.

[0088] Step 403: Determine a first clipping value based on the maximum touch signal among multiple second touch signals of the i-th finger region and a preset bottom clipping coefficient.

[0089] Specifically, the maximum touch signal is multiplied by the preset bottom clipping coefficient to obtain the first clipping value. The preset bottom clipping data is pre-set and can be set according to experience or experiments. For example, if the maximum touch signal is 812 and the preset bottom clipping data is 0.1, the first clipping value is 81.2.

[0090] Step 404: Determine whether the second touch signal is greater than or equal to the first clipping value.

[0091] If the second touch signal is greater than or equal to the first clipping value, execute Step 405; if the second touch signal is less than the first clipping value, execute Step 406.

[0092] Step 405: Determine the difference between the second touch signal and the first clipping value to obtain a third touch signal.

[0093] Step 406: Set the second touch signal to zero to obtain a third touch signal.

[0094] Step 407: Whether all other second touch signals within the i-th finger region have been traversed.

[0095] If so, execute Step 408; if not, execute Step 409.

[0096] Step 408: Determine the first touch coordinate of the i-th finger.

[0097] Here, if the i-th finger region and other finger regions are coaxial, the first touch coordinate of the i-th finger is determined according to the third touch signal of the i-th finger region. If the i-th finger region and other finger regions are not coaxial, the first touch coordinate of the i-th finger is determined according to the second touch signal of the i-th finger region.

[0098] Step 409: The next second touch signal.

[0099] Step 410: Perform an operation of adding 1 to i and determine whether it is greater than M.

[0100] If so, it indicates that all the M finger regions searched have been traversed, and the process ends; if not, perform step 402 to traverse the next finger region.

[0101] End.

[0102] Figure 5 It is a schematic flowchart of an optional method for de-jittering touch coordinates in an embodiment of the present application. As Figure 5 shown, the steps of the method for de-jittering touch coordinates may include:

[0103] Step 501: Determine the touch event of the first finger based on the identifier of the first finger.

[0104] If the touch event of the first finger is no event, perform step 502.

[0105] If the touch event of the first finger is a down event, perform step 503.

[0106] If the touch event of the first finger is a move event, perform step 504.

[0107] If the touch event of the first finger is an up event, perform step 509.

[0108] Step 502: Set the initial state of the first finger to the locked point state.

[0109] Step 503: Set the first touch coordinate of the first finger as the locked point coordinate.

[0110] The determination process of the first touch coordinate of the first finger was specifically described in the above embodiment and will not be elaborated here.

[0111] Step 504: Determine the second touch coordinate of the first finger.

[0112] The second touch coordinate refers to the touch coordinate during the movement of the first finger.

[0113] For the determination process of the second touch coordinate of the first finger, refer to the determination process of the first touch coordinate of the first finger.

[0114] Step 505: Determine the distance between the second touch coordinate of the first finger and the locked point coordinate.

[0115] Step 506: Determine whether the distance is greater than or equal to the locked point threshold.

[0116] If not, perform step 507; if so, perform step 508.

[0117] Step 507: Keep the first finger in the locked point state and output the locked point coordinate.

[0118] Step 508: Switch the first finger from the locked point state to the unlocked state and output the second touch coordinate.

[0119] Step 509: Clear the locked point information.

[0120] In some embodiments, step 508 may include: Based on the first offset amount and the preset number of frames N, offset the second touch coordinate, and sequentially output the third touch coordinates corresponding to the first N - 1 frames until the second touch coordinate is output in the Nth frame.

[0121] It should be noted that when the finger moves from the stationary state, the system will switch from the locked point state to the unlocked state. At the moment of exiting the locked point, the displacement is relatively large, resulting in an obvious sense of jump. When the user actually experiences the slide, there will be a sense of jerk. Therefore, in this application, the second touch coordinate of the slide after the locked point is offset. The initial value of the offset amount is equal to the locked point threshold, and the offset amount will decay over time until it reaches 0. The decay speed is completed in the preset N frames, thus avoiding the appearance of the sense of jerk during sliding.

[0122] Regarding the offset operation, it may specifically include Figure 6 the steps shown as follows:

[0123] Step 601: Based on the first offset amount and the preset number of frames, determine the second offset amount corresponding to the current frame.

[0124] Regarding the first offset amount, it is obtained when step 507 is executed. The first offset amount is equal to the distance between the second touch coordinate and the locked point coordinate, and the initial value of the first offset amount is equal to the locked point threshold.

[0125] For example, the initial value of the preset number of frames is N, the second offset amount = the first offset amount * (N - 1) / N. If N = 10, the second offset amount corresponding to the first frame is the product of the locked point threshold and 9 / 10.

[0126] The preset number of frames is set by developers according to experiments or experience.

[0127] Step 602: Determine whether the second offset amount is greater than or equal to the offset threshold.

[0128] If yes, execute step 603; if no, execute step 606.

[0129] Step 603: Keep the second offset amount unchanged.

[0130] Step 604: Determine the difference between the second touch coordinate and the second offset amount, and output the third touch coordinate corresponding to the current frame.

[0131] Step 605: Set the second offset amount to the first offset amount, perform the operation of subtracting 1 from the preset number of frames, and update the preset number of frames.

[0132] For example, when the initial value of the preset number of frames is 10, perform the operation of subtracting 1 from the preset number of frames, update the preset number of frames to 9. Then, perform step 601, that is, the second offset amount = the first offset amount * (9 - 1) / 9, and the second offset amount corresponding to the second frame is the product of the first offset amount and 8 / 9.

[0133] Repeat steps 601 to 605 until the second offset amount is less than the offset threshold, and directly set the second offset amount to 0 (i.e., step 606).

[0134] Step 606: Set the second offset amount to zero.

[0135] Step 607: Determine the difference between the second touch coordinate and the second offset amount, and output the second touch coordinate corresponding to the last frame.

[0136] In the embodiments of the present application, by completing the offset of the second touch coordinate within the preset number of frames N, that is, outputting the touch coordinates frame by frame until the second touch coordinate is output in the last frame, this can avoid a large displacement of the second touch coordinate at the moment of exiting the locked point, resulting in an obvious sense of jump, and the user will actually experience a jerky feeling when sliding.

[0137] In some embodiments, after outputting the second touch coordinate in step 508, the following Figure 7 shown steps can also be

[0138] Step 701: Determine the fourth touch coordinate of the first finger within a preset duration.

[0139] The preset duration is set by developers according to experiments or experience.

[0140] Regarding the determination process of the fourth touch coordinate of the first finger, refer to the determination process of the first touch coordinate of the first finger. It will not be elaborated here.

[0141] Step 702: Whether the distance between the fourth touch coordinate and the second touch coordinate is less than or equal to the motion threshold.

[0142] If the distance between the fourth touch coordinate and the second touch coordinate is less than or equal to the motion threshold, perform step 703; if the distance between the fourth touch coordinate and the second touch coordinate is greater than the motion threshold, perform step 705.

[0143] Step 703: Switch the first finger from the unlocked state to the locked point state.

[0144] Step 704: Update the locked point coordinate using the fourth touch coordinate.

[0145] Step 705: Keep the first finger in the unlocked state.

[0146] Step 706: Output the fourth touch coordinate.

[0147] In some embodiments, the fourth touch coordinate can be directly output.

[0148] In other embodiments, based on the first offset amount and the preset number of frames N, the fourth touch coordinate can be offset, and the fifth touch coordinates corresponding to the first N - 1 frames can be output in sequence until the fourth touch coordinate is output in the Nth frame.

[0149] To implement the method of the embodiments of the present application, based on the same inventive concept, an apparatus for removing touch coordinate jitter is further provided in the embodiments of the present application. Figure 8 As a schematic diagram of the composition structure of the apparatus for removing touch coordinate jitter in the embodiments of the present application, as Figure 8 shown, the apparatus 80 for removing touch coordinate jitter includes:

[0150] A compensation unit 801, configured to compensate the first touch signal of the first finger area obtained when it is detected that the touch event of the first finger is a pressing event, so as to obtain the second touch signal of the first finger area;

[0151] A bottom - cutting unit 802, configured to perform bottom - cutting on the second touch signal of the first finger area to obtain the third touch signal of the first finger area when it is determined that the first finger area and any finger area other than the first finger area among the multiple finger areas are coaxial;

[0152] The bottom - cutting unit 802 is further configured to determine the first touch coordinate of the first finger based on the third touch signal of the first finger area;

[0153] A locking unit 803, configured to use the first touch coordinate as the locked - point coordinate.

[0154] In the embodiments of the present application, when it is detected that the touch event of the first finger is a pressing event, by compensating the first touch signal of the first finger area, the compensated second touch signal is closer to the touch signal under normal contact between the first finger and the touch screen, thereby compensating the touch coordinate of the first finger; then, bottom - cutting is performed on the second touch signal of the first finger area, so that the second touch signal at the edge of the first finger area becomes smaller, and thus the first touch coordinate of the first finger determined based on the second touch signal is stably concentrated in the middle area of the first finger area; then, a locking operation is performed on the first touch coordinate; thereby ensuring that the first touch coordinate of the first finger will not be offset and jittered due to the movement of other fingers.

[0155] In some embodiments, the bottom - cutting unit 802 is further configured to perform bottom - cutting on the multiple second touch signals based on the first bottom - cutting value when the first finger area includes multiple second touch signals, so as to obtain multiple third touch signals of the first finger area;

[0156] Wherein, the first bottom-cut value is preset or determined based on the maximum touch signal among the multiple second touch signals and a preset bottom-cut coefficient.

[0157] In some embodiments, the bottom-cut unit 802 is further configured to determine whether the second touch signal is greater than or equal to the first bottom-cut value;

[0158] If so, determine the difference between the second touch signal and the first bottom-cut value to obtain the third touch signal;

[0159] If not, the third touch signal is zero.

[0160] In some embodiments, the bottom-cut unit 802 is further configured to determine that there is an intersection between the first finger region and any finger region other than the first finger region among the multiple finger regions in the first dimension or the second dimension, and then determine that there is a coaxial situation between the first finger region and the corresponding finger region.

[0161] In some embodiments, it further includes: an unlocking unit and an output unit. The unlocking unit is configured to determine the second touch coordinate of the first finger when it is detected that the touch event of the first finger switches from a pressing event to a moving event; when the distance between the second touch coordinate of the first finger and the lock point coordinate is greater than or equal to the lock point threshold, switch the first finger from the locked state to the unlocked state. The output unit is configured to output the second touch coordinate.

[0162] In some embodiments, the locking unit 803 is further configured to keep the first finger in the locked state when the distance between the second touch coordinate of the first finger and the lock point coordinate is less than the lock point threshold, and the output unit is configured to output the lock point coordinate.

[0163] In some embodiments, the output unit is further configured to bias the second touch coordinate based on a first bias amount and a preset number of frames N, and sequentially output the third touch coordinates corresponding to the first N - 1 frames until the second touch coordinate is output in the Nth frame.

[0164] In some embodiments, the output unit is further configured to determine a second bias amount corresponding to the current frame based on the first bias amount and the preset number of frames N;

[0165] Determine whether the second bias amount is greater than or equal to the bias threshold;

[0166] If so, keep the second bias amount unchanged, and determine the difference between the second touch coordinate and the second bias amount, and output the third touch coordinate corresponding to the current frame until the third touch coordinates corresponding to the first N - 1 frames are output;

[0167] Otherwise, set the second offset amount to zero, determine the difference between the second touch coordinate and the second offset amount, and output the second touch coordinate corresponding to the Nth frame.

[0168] In some embodiments, the locking unit 803 is further configured to determine the fourth touch coordinate of the first finger within a preset time duration. When the distance between the fourth touch coordinate and the second touch coordinate is less than or equal to a motion threshold, switch the first finger from the unlocked state to the locked point state; and update the locked point coordinate by using the fourth touch coordinate.

[0169] In some embodiments, the unlocking unit is further configured to keep the first finger in the unlocked state when the distance between the fourth touch coordinate and the second touch coordinate is greater than the motion threshold, and the output unit is configured to output the fourth touch coordinate.

[0170] The embodiment of the present application further provides another electronic device. Figure 9 It is a schematic diagram of the composition structure of the electronic device in the embodiment of the present application, as Figure 9 shown. The electronic device 90 includes: a processor 901 and a memory 902 configured to store a computer program that can run on the processor.

[0171] Wherein, when the processor 901 is configured to run the computer program, it executes the method steps in the foregoing embodiments.

[0172] Of course, in practical applications, as Figure 9 shown, each component in the electronic device 90 is coupled together through a bus system 903. It can be understood that the bus system 903 is used to realize the connection and communication between these components. The bus system 903 includes not only a data bus, but also a power bus, a control bus, and a status signal bus. However, for the sake of clear illustration, in Figure 9 all kinds of buses are labeled as the bus system 903.

[0173] In practical applications, the above-mentioned processor may be at least one of an application-specific integrated circuit (ASIC), a digital signal processing device (DSPD), a programmable logic device (PLD), a field-programmable gate array (FPGA), a controller, a microcontroller, and a microprocessor. It can be understood that for different devices, the electronic devices used to implement the functions of the above-mentioned processor may also be others, and the embodiments of the present application do not make specific limitations.

[0174] The above-mentioned memory may be a volatile memory, such as a random-access memory (RAM); or a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid-state drive (SSD); or a combination of the above types of memories, and provides instructions and data to the processor.

[0175] In an exemplary embodiment, the embodiments of the present application also provide a computer-readable storage medium for storing a computer program.

[0176] Optionally, the computer-readable storage medium can be applied to any one of the methods in the embodiments of the present application, and the computer program causes the computer to execute the corresponding processes implemented by the processor in each of the methods in the embodiments of the present application. For the sake of brevity, it will not be elaborated here.

[0177] In several embodiments provided by the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are only illustrative. For example, the division of the units is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units or components can be combined, or can be integrated into another system, or some features can be ignored, or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed with each other can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical, or other forms.

[0178] The units described above as separate components may or may not be physically separated. The components shown as units may or may not be physical units, that is, they may be located in one place or distributed over multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0179] In addition, in each embodiment of the present invention, each functional unit may be fully integrated into a processing module, or each unit may be separately regarded as a unit, or two or more units may be integrated into one unit. The above-mentioned integrated units may be implemented in the form of hardware, or in the form of a combination of hardware and software functional units. Those of ordinary skill in the art can understand that all or part of the steps of implementing the above method embodiments can be completed by hardware related to program instructions. The foregoing program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps including the above method embodiments. The foregoing storage medium includes various media that can store program codes, such as removable storage devices, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs.

[0180] The methods disclosed in several method embodiments provided by this application can be arbitrarily combined without conflict to obtain new method embodiments.

[0181] The features disclosed in several product embodiments provided by this application can be arbitrarily combined without conflict to obtain new product embodiments.

[0182] The features disclosed in several method or device embodiments provided by this application can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.

[0183] The above is only the specific implementation manner of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present invention, and all of them should be covered by the protection scope of the present invention. Therefore, the protection scope of the present invention should be subject to the protection scope of the claims.

Claims

1. A method for touch coordinate anti-jitter, characterized in that, The method includes: When it is detected that the touch event of the first finger is a press event, compensating the first touch signal of the acquired first finger area to obtain the second touch signal of the first finger area; When it is determined that there is a coaxial situation between the first finger area and any finger area other than the first finger area among the multiple finger areas, bottom clipping the second touch signal of the first finger area to obtain the third touch signal of the first finger area; Based on the third touch signal of the first finger area, determining the first touch coordinate of the first finger; Taking the first touch coordinate as the lock point coordinate.

2. The method according to claim 1, characterized in that, The bottom clipping the second touch signal of the first finger area to obtain the third touch signal of the first finger area includes: The first finger area includes multiple second touch signals, and bottom clipping the multiple second touch signals based on a first bottom clipping value to obtain multiple third touch signals of the first finger area; Wherein, the first bottom clipping value is preset or determined based on the maximum touch signal among the multiple second touch signals and a preset bottom clipping coefficient.

3. The method according to claim 2, wherein The bottom clipping the multiple second touch signals based on the first bottom clipping value to obtain multiple third touch signals of the first finger area includes: Determining whether the second touch signal is greater than or equal to the first bottom clipping value; If so, determining the difference between the second touch signal and the first bottom clipping value to obtain the third touch signal; If not, the third touch signal is zero.

4. The method according to any one of claims 1 to 3, characterized in that, The method further includes: When it is determined that there is an intersection between the first finger area and any finger area other than the first finger area among the multiple finger areas in the first dimension or the second dimension, it is determined that there is a coaxial situation between the first finger area and the corresponding finger area.

5. The method according to any one of claims 1 to 3, characterized in that, The method further includes: When it is detected that the touch event of the first finger switches from a press event to a move event, determining the second touch coordinate of the first finger; When the distance between the second touch coordinate of the first finger and the lock point coordinate is greater than or equal to the lock point threshold, switching the first finger from the lock point state to the unlocked state and outputting the second touch coordinate.

6. The method according to claim 5, wherein The method further includes: When the distance between the second touch coordinate of the first finger and the lock point coordinate is less than the lock point threshold, keeping the first finger in the lock point state and outputting the lock point coordinate.

7. The method according to claim 5, wherein The outputting the second touch coordinate includes: Based on a first offset amount and a preset number of frames N, offsetting the second touch coordinate, and sequentially outputting the corresponding third touch coordinates of the first N - 1 frames until the second touch coordinate is output in the Nth frame.

8. The method according to claim 7, characterized in that, The offsetting the second touch coordinate based on the first offset amount and the preset number of frames N, and sequentially outputting the corresponding third touch coordinates of the first N - 1 frames until the second touch coordinate is output in the Nth frame includes: Based on the first offset amount and the preset number of frames N, determining the second offset amount corresponding to the current frame; Determining whether the second offset amount is greater than or equal to the offset threshold; If so, the second offset amount remains unchanged, the difference between the second touch coordinate and the second offset amount is determined, and the third touch coordinate corresponding to the current frame is output until the third touch coordinates corresponding to the previous N-1 frames are output; If not, the second offset amount is set to zero, the difference between the second touch coordinate and the second offset amount is determined, and the second touch coordinate corresponding to the Nth frame is output.

9. The method according to claim 5, characterized in that, After the second touch coordinate is output, the method further includes: Within a preset time period, the fourth touch coordinate of the first finger is determined. When the distance between the fourth touch coordinate and the second touch coordinate is less than or equal to a motion threshold, the first finger is switched from the unlocked state to the locked point state; The locked point coordinate is updated using the fourth touch coordinate.

10. The method according to claim 9, characterized in that, The method further includes: When the distance between the fourth touch coordinate and the second touch coordinate is greater than the motion threshold, the first finger is kept in the unlocked state and the fourth touch coordinate is output.

11. An electronic device, characterized in that, The electronic device includes: a processor and a memory configured to store a computer program that can run on the processor, wherein, when the processor is configured to run the computer program, the steps of the method according to any one of claims 1 to 10 are executed.

12. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 10 are implemented.