Method and apparatus for separating touches from merged touch data in a capacitive touchscreen.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-01-25
- Publication Date
- 2026-08-13
Smart Images

Figure 0007905002000001 
Figure 0007905002000002 
Figure 0007905002000003
Abstract
Description
Technical Field
[0001] This application claims priority to U.S. Non-Provisional Patent Application No. 18 / 421,725, filed on January 24, 2024, and U.S. Patent Application No. 63 / 441,323, filed on January 26, 2023, the contents of which are hereby incorporated by reference in their entirety.
Background Art
[0002] The present disclosure generally relates to capacitive touchscreens, and more specifically, to distinguishing between multiple touches that occur physically close to each other on a capacitive touchscreen.
Summary of the Invention
[0003] According to one or more embodiments of the examples, a method is provided for distinguishing touches on a capacitive touchscreen. The method includes the steps of: storing each first touch data for a first set of nodes in a first cycle; determining a first total touch data by summing each first touch data for a first set of nodes in a first cycle; storing each second touch data for a second set of nodes in a second cycle after the first cycle, wherein the first set of nodes and the second set of nodes overlap at least partially; assigning nodes for which first touch data was stored in the first cycle to the first touch; assigning nodes for which second touch data was stored in the second cycle but for which first touch data was not stored in the first cycle to the second touch; and determining that for one or more boundary nodes of the first set of nodes assigned to the first touch that are adjacent to the nodes assigned to the second touch, the second touch data of each of the one or more boundary nodes is greater than the first touch data of each of the one or more boundary nodes. The process may include the steps of determining whether or not; reallocating one or more of the boundary nodes to the second touch based on whether the second touch data of each of the one or more boundary nodes is greater than the first touch data of each of the one or more boundary nodes; identifying one or more orphaned nodes assigned to the second touch that are adjacent to at least one other node assigned to the first touch and not adjacent to any other node assigned to the second touch, and reallocating one or more identified orphaned nodes to the first touch; determining the second total touch data by summing the second touch data from the second cycle for the nodes assigned to the first touch after one or more orphaned nodes have been reallocated to the first touch and after one or more boundary nodes have been reallocated to the second touch; comparing the first total touch data with the second total touch data; and identifying joined boundary nodes based on the comparison between the first total touch data and the second total touch data.
[0004] The step of identifying a bounding node may include identifying one or more nodes assigned to the first touch that are adjacent to a node assigned to the second touch as bounding nodes, in response to the second total touch data exceeding the first total touch data by a threshold amount.
[0005] The step of identifying bounding nodes may include identifying one or more nodes assigned to the second touch adjacent to the node assigned to the first touch as bounding nodes, in response that the second total touch data does not exceed the first total touch data by a threshold amount.
[0006] The step of reallocating one or more boundary nodes may include the steps of determining the first average of first touch data for a first set of nodes in the first cycle, comparing each second touch data stored in the second cycle for each one or more boundary nodes with the first average of first touch data, and reallocating one or more boundary nodes to second touches having first touch data smaller than the first average of first touch data and second touch data larger than the first average of first touch data.
[0007] The step of reassigning one or more boundary nodes may include determining whether the second touch data of each of the one or more boundary nodes exceeds the first touch data of each of the one or more boundary nodes by a significant amount, and reassigning one or more boundary nodes to the second touch whose second touch data exceeds the average of their respective first touch data by an amount greater than the threshold. The first touch data and the second touch data include at least one of a capacitive touch distribution, location, and amplitude.
[0008] In another aspect of various examples, a method is provided for detecting the application or deactivation of one of a first touch and a second touch on a capacitive touchscreen. The method may include the steps of: storing each first touch data for a first set of nodes in a first cycle; storing each second touch data for a second set of nodes in a second cycle following the first cycle; determining a first total touch data by summing each first touch data for a first set of nodes in a first cycle; determining a second total touch data by summing each second touch data for a second set of nodes in a second cycle; and determining, based on a comparison between the first total touch data and the second total touch data, whether a touch has been applied to the capacitive touchscreen or whether a touch has been deactivated from the capacitive touchscreen.
[0009] In response to the value obtained by dividing the total second touch data by the total first touch data exceeding a threshold, the method may determine that a touch has been applied to the capacitive touchscreen. In response to the value obtained by dividing the total first touch data by the total second touch data exceeding a threshold, the method may determine that a touch has been released from the capacitive touchscreen.
[0010] According to one embodiment of various examples, a method is provided for distinguishing touches on a capacitive touchscreen. The method includes the steps of: storing a first set of nodes of the capacitive touchscreen in a first cycle, wherein the first set of nodes is assigned to a first touch; storing a second set of nodes of the capacitive touchscreen in a first cycle, wherein the second set of nodes is assigned to a second touch; identifying the capacitive touchscreen nodes assigned to the first and second touches as shared nodes in the first cycle; and distinguishing combinations of capacitive touchscreen nodes in a second cycle. The process may include the steps of: storing touch data for each set of nodes, wherein the set of nodes overlaps at least partially with at least one of the first set of nodes and the second set of nodes; assigning the nodes of the set of nodes that overlap with the first set of nodes in the first cycle to the first touch; assigning the nodes of the set of nodes that overlap with the second set of nodes in the first cycle to the second touch; and identifying the nodes of the set of nodes that overlap with the shared nodes of the first cycle as the shared nodes of the second cycle.
[0011] The method may include the steps of: assigning a node from a combined set of nodes to a first touch, which does not overlap with a first set of nodes in the first cycle or a second set of nodes in the first cycle, but is adjacent to one or more nodes in the first set of nodes in the first cycle; and assigning a node from a combined set of nodes to a second touch, which does not overlap with a first set of nodes in the first cycle or a second set of nodes, but is adjacent to one or more nodes in the second set of nodes.
[0012] The method may include the steps of: determining a first cycle total by summing the first touch data for a first set of each node in the first cycle and the second touch data for a second set of each node in the first cycle; determining a second cycle total by summing the touch data for a combined set of capacitive touchscreen nodes in the second cycle; comparing the first cycle total with the second cycle total; and determining that one of the first and second touches has been released in response that the second cycle total is less than the first cycle total.
[0013] In one embodiment of various examples, a device for distinguishing touches on a capacitive touchscreen is provided. The device may include a capacitive touchscreen having a plurality of nodes for outputting respective touch data in response to user touches, a memory unit coupled to the capacitive touchscreen, and a processing circuit, the processing circuit storing in the memory unit each first touch data for a first set of nodes among the plurality of nodes in a first cycle, determining a first total touch data by summing each first touch data for the first set of nodes in the first cycle, storing in the memory unit each second touch data for a second set of nodes among the plurality of nodes in a second cycle after the first cycle, wherein the first set of nodes and the second set of nodes overlap at least partially, assigning the nodes in which the first touch data was stored in the first cycle to the first touch, assigning the nodes in which the second touch data was stored in the second cycle but which did not have the first touch data stored in the first cycle to the second touch, and the second touch For one or more boundary nodes of the first set of nodes assigned to the first touch that are adjacent to the nodes assigned to the touch, determine whether the second touch data of each of the one or more boundary nodes is greater than the first touch data of each of the one or more boundary nodes, and based on whether the second touch data of each of the one or more boundary nodes is greater than the first touch data of each of the one or more boundary nodes, reallocate one or more of the boundary nodes to the second touch, identify one or more orphaned nodes assigned to the second touch that are adjacent to at least one other node assigned to the first touch and not adjacent to any other node assigned to the second touch, reallocate one or more identified orphaned nodes to the first touch, and after one or more orphaned nodes have been reallocated to the first touch and after one or more boundary nodes have been reallocated to the second touch, determine the second total touch data by summing the second touch data of each node from the second cycle for the nodes assigned to the first touch.This method compares the total touch data of the first set of data with the total touch data of the second set of data, and identifies the bounding node based on the comparison between the two sets of data.
[0014] In order to identify bounding nodes, in response to the fact that the total touch data of the second touch exceeds the total touch data of the first touch by a threshold amount, the processing circuit identifies one or more nodes assigned to the first touch that are adjacent to the node assigned to the second touch as bounding nodes.
[0015] In order to identify bounding nodes, the processing circuit identifies one or more nodes assigned to the second touch that are adjacent to the nodes assigned to the first touch as bounding nodes, in response to the fact that the total touch data of the second touch does not exceed the total touch data of the first touch by a threshold amount.
[0016] To reallocate one or more boundary nodes, the processing circuit determines the first average of the first touch data for a first set of nodes in the first cycle, compares each second touch data stored in the second cycle for each of the one or more boundary nodes with the first average of the first touch data, and reallocates one or more boundary nodes with second touch data greater than the first average of the first touch data to the second touch.
[0017] In order to reallocate one or more boundary nodes, the processing circuit determines whether the second touch data of each of the one or more boundary nodes exceeds the first touch data of each of the one or more boundary nodes by a threshold amount. This mechanism reassigns one or more boundary nodes to the second touch if each of them has a second touch data that exceeds the average of the first touch data by a threshold amount. [Brief explanation of the drawing]
[0018] [Figure 1A] This shows a graph representation of capacitive touch data using conventional technology. [Figure 1B] This shows a graph representation of the capacitive touch data for the first touch using conventional technology. [Figure 1C] This shows a graphical representation of the capacitive touch data of the first and second touches, merged according to prior art. [Figure 2A] This section demonstrates various methods for distinguishing touches on a capacitive touchscreen. [Figure 2B] This shows capacitive touch data stored in the first cycle, using various examples. [Figure 3] This shows capacitive touch data stored in the second cycle, using various examples. [Figure 4] This document demonstrates how to assign nodes on a capacitive touchscreen to first and second touches based on capacitive touch data, using various examples. [Figure 5] This document demonstrates how to reassign boundary nodes of a capacitive touchscreen between a first touch and a second touch based on capacitive touch data, using various examples. [Figure 6] This document demonstrates how to reassign boundary nodes of a capacitive touchscreen between a first touch and a second touch based on capacitive touch data, using various examples. [Figure 7] This paper demonstrates how to reassign isolated nodes in a capacitive touchscreen from a second touch to a first touch based on capacitive touch data, using various examples. [Figure 8] This paper demonstrates a method for identifying the binding boundary node of a capacitive touchscreen between a first touch and a second touch, based on capacitive touch data, using various examples. [Figure 9] This document describes a method for detecting the application or deactivation of one of the first and second touches, according to various embodiments. [Figure 10A] This section demonstrates various methods for distinguishing touches on a capacitive touchscreen. [Figure 10B]Graphical representations of capacitive touch data corresponding to the method of FIG. 10A according to various examples are shown. [Figure 10C] Graphical representations of capacitive touch data corresponding to the method of FIG. 10A according to various examples are shown. [Figure 10D] Methods for distinguishing touches on a capacitive touch screen and determining whether a touch has been released according to various examples are shown. [Figure 11] Block diagrams of apparatuses for distinguishing touches on a capacitive touch screen according to various examples are shown. **DETAILED DESCRIPTION OF THE INVENTION**
[0019] Here, reference is made in detail to the following various examples shown in the accompanying drawings. Throughout the drawings, like reference numerals refer to like elements. The following examples may be embodied in various forms without being limited to the examples described in this specification.
[0020] Figure 1A shows a graphical representation of capacitive touch data according to the prior art. Capacitive touchscreens are becoming ubiquitous and are used in a variety of applications, including, but not limited to, mobile phones, tablets, and control panels used in automobiles and POS terminals. A capacitive touchscreen is divided into many nodes, which may be square or rectangular in shape (other shapes may be used). When a user touches or comes close enough to the capacitive touchscreen, a capacitive touch controller measures the capacitive touch amplitude at each of the touched nodes. This application describes the use of capacitive touch amplitude, but other types of touch data may be used to identify touches. The capacitive touch amplitude depends on how many of the nodes are touched by the user. If the user's finger touches an entire node, the capacitive touch amplitude will be greater than the capacitive touch amplitude for nodes that are only partially touched by the user's finger. Referring to Figure 1A, the x and y axes represent the capacitive touchscreen and the nodes of the capacitive touchscreen. The vertical axis represents the capacitive touch amplitude at a given node in the xy-plane. As shown in Figure 1A, two distinct touches of the capacitive touchscreen, namely the first touch 110 and the second touch 120, are detected, as indicated by the two peaks in the capacitive touch amplitude.
[0021] Figure 1B shows a graphical representation of capacitive touch data using prior art. Referring to Figure 1B, the first touch 130 of a capacitive touchscreen is shown, indicated by a single peak in the capacitive touch amplitude. Referring to Figure 1C, the capacitive touch amplitude of the first touch 130 and the capacitive touch amplitude of the second touch 140 occurring very close to the first touch 130 are shown. Because the second touch 140 is very close to the first touch 130, the two capacitive touch amplitude peaks merge into a single peak, making it difficult to distinguish between the first touch 130 and the second touch 140. When this occurs, the positions of the two touches may merge into a single position between the two touches, causing the first touch 130 to "jump" towards the second touch 140. This can also occur during a "pinch" motion, where the user moves one finger toward a second finger in a pinching motion. When the first finger comes very close to the second finger, the two touches can merge, potentially leading to inaccurate touch detection. Furthermore, a capacitive touch controller can assign a touch ID to each detected touch. While the two touches may appear merged on the touchscreen when they merge, the software or firmware assigning the touch IDs may maintain separate touch IDs for the two touches. If the user releases one of the touches, the two touches merge, and the software or firmware may be unable to detect the released touch. In this case, when a new touch is detected, a new touch ID is assigned to the new touch, while the previous touch ID remains reserved for the released touch. Therefore, it is necessary to detect and distinguish multiple touches occurring in close proximity on a capacitive touchscreen.
[0022] Figures 2A to 8 illustrate how touches on a capacitive touchscreen can be distinguished by various examples. In the following description, "touch" on a capacitive touchscreen refers to both a user physically touching the capacitive touchscreen and a user being close enough to the capacitive touchscreen to register touchscreen data, even if the user is not physically touching the capacitive touchscreen. Figure 2A illustrates how touches on a capacitive touchscreen can be distinguished by various examples. Figure 2B illustrates the step of storing capacitive touch data during a first cycle by various examples. A capacitive touch controller stores touch data at regular time intervals or cycles. In step 200, each first touch data 210 is stored for a first set of nodes during the first cycle N-1. Specifically, in Figure 2B, capacitive touch amplitudes are stored for nodes ranging from 7 to 10 in the x-direction and from 3 to 6 in the y-direction. In various examples, in step 201, the first total touch data can be determined by summing the first touch data for all nodes in a first set of nodes. In various examples, the first average touch data can be determined by calculating the sum of the capacitive touch amplitudes for all nodes in a first set of nodes and dividing that sum by the number of nodes on which the first touch data was recorded. In the example shown in Figure 2B, the first total touch data is 838, and the first average touch data is 60.
[0023] In step 202, capacitive touch data is stored during the second cycle N by various examples. The capacitive touch data shown in Figure 3 is second touch data 310 from second touches occurring during the second cycle N for a second set of nodes, where the second touch occurs in many of the same nodes as the first touch data shown in Figure 2B. The nodes where the second touch data is stored range from 6 to 11 in the x direction and from 3 to 7 in the y direction. As shown by comparing Figure 2B and Figure 3, the capacitive touch amplitude increased for some nodes and decreased for others from cycle N-1 to cycle N.
[0024] In steps 203 and 204, the nodes of the capacitive touchscreen are assigned to the first and second touches, respectively, based on the capacitive touch data, as in various examples. Referring to Figure 4, the contour or profile of a node that stored the first touch data during cycle N-1 overlaps with the second touch data of the second cycle, i.e., cycle N. All nodes that stored the first touch data 210 during cycle N-1 are assigned to the first touch. All other nodes that stored the second touch data 310 during cycle N, but did not store any touch data during cycle N-1, are assigned to the second touch.
[0025] In step 205, it is determined whether the second touch data is greater than the first touch data for one or more boundary nodes. In step 206, the one or more boundary nodes assigned to the first touch are reassigned to the second touch based on whether the second touch data for each of the one or more boundary nodes is greater than the first touch data for each of the one or more boundary nodes. Figure 5 illustrates the steps of reassigning boundary nodes assigned to the first touch to the second touch using various examples. Briefly referring back to Figure 2B, we can see that in cycle N-1, the first touch data (e.g., capacitive touch amplitude) for each boundary node, i.e., the nodes forming the outer perimeter of the area where the first touch data is stored, are all less than an average capacitive touch amplitude of 60. As shown in Figures 3, 4, and 5, during cycle N, two of the boundary nodes 510 and 520 at (x, y) coordinates (10, 4) and (10, 5) have respective capacitive touch amplitudes (i.e., 204 and 255) that are greater than the average capacitive touch amplitude (i.e., 60). According to various examples, these nodes 510 and 520, which have second touch data greater than the average first touch data, represent the peak of the second touch and are reassigned to the second touch. According to various examples, each reassigned node may have each first touch data in cycle N-1 that is smaller than the average first touch data, and each second touch data in cycle N that is larger than the average first touch data. According to various examples, the reassigned nodes may be based on the fact that the second touch data of each of the one or more boundary nodes is greater than the first touch data of each of the one or more boundary nodes. According to various examples, one or more boundary nodes having a second touch data that exceeds the first touch data of each of the one or more boundary nodes by a threshold amount may be reassigned to the second touch. For example, regardless of the average first touch data, if the touch data of a boundary node increases by, for example, twofold, the boundary node may be reassigned from the first touch to the second touch.
[0026] As shown in Figure 6, two reassigned boundary nodes 510 and 520 located at coordinates (10, 4) and (10, 5) are reassigned to the second touch. Step 207 includes identifying any orphaned nodes assigned to the second touch and reassigning such orphaned nodes to the first touch. Figure 6 illustrates the steps of identifying orphaned nodes by various examples. Referring to Figure 6, an orphaned node 610 may be identified as a node assigned to the second touch that is not adjacent to or touches any other nodes assigned to the second touch. For example, node (6, 5) is assigned to the second touch (touch data is zero), but is not adjacent to or touches any other nodes assigned to the second touch, and is therefore identified as an orphaned node 610. According to various examples, an isolated node in the second touch can be reassigned to the first touch, as shown in Figure 7, where the isolated node 610 located at coordinates (6, 5) is reassigned to the first touch.
[0027] Figure 8 illustrates a method for identifying coupled boundary nodes of a capacitive touchscreen between a first touch and a second touch based on capacitive touch data, using various examples. To identify coupled boundary nodes, according to various examples, the first total touch data can be determined by calculating the sum of each first touch data during cycle N-1 for each node assigned to the first touch, as described above in step 201 of Figure 2A. For example, the sum of each first touch data (e.g., capacitive touch amplitude) in cycle N-1 shown for node 210 in Figure 2 is 838. Next, in step 208a of Figure 2A, the second total touch data can be calculated by calculating the sum of each second touch data during cycle N for each node assigned to the first touch. The nodes used to determine the second total touch data can be determined after they have been reassigned, if there are boundary nodes and orphaned nodes. For example, as shown in Figure 5, nodes (10, 4) and (10, 5) are identified as boundary nodes 510 and 520, and are reassigned to the second touch in Figure 6. Similarly, in Figure 6, node (6, 5) is identified as isolated node 610 and is reassigned to the first touch in Figure 7. According to various examples, once these reassignment steps are performed, the second total touch data can be calculated, for example, by summing the capacitive touch amplitudes during cycle N of the nodes assigned to the first touch, shown in green in Figure 7. Calculating the second total touch data for the nodes shown in green in Figure 7 yields 1089 second total touch data.
[0028] Once the total touch data for the first and second cycles are calculated, in step 208b of Figure 2A, the two values can be compared to determine whether the total touch data assigned to the first touch increased by more than a certain threshold from cycle N-1 to cycle N, i.e., from the first cycle to the second cycle. For example, if the second total touch data exceeds the first total touch data by more than 10%, it can be determined that at least a portion of the increase in total touch data was caused by the second touch. In this example, an increase of more than 10% is used as the threshold, but different thresholds can be used. For example, the threshold could be set to a single unit of total touch data (e.g., the sum of each capacitive touch amplitude), i.e., a threshold of "1", thereby indicating that any increase in total touch data from the first cycle to the second cycle is at least a portion of the increase in total touch data caused by the second touch. In step 209 of Figure 2A, if the second total touch data exceeds the first total touch data by a threshold amount, the boundary node assigned to the first touch (i.e., the node assigned to the first touch adjacent to the node assigned to the second touch) may be designated as a combined boundary node 810 assigned to both the first and second touches. If the second total touch data does not exceed the first total touch data by a threshold amount, the boundary node assigned to the second touch (i.e., the node assigned to the second touch adjacent to the node assigned to the first touch) may be designated as a combined boundary node assigned to both the first and second touches.
[0029] According to various examples, a new touch on a capacitive touchscreen can be detected. In addition, the "lift-off" or release of a touch that has been physically merged with another touch can be detected. For example, Figure 9 shows a method for detecting the application or release of one of a first touch and a second touch, according to various embodiments. In step 910, first touch data may be stored for a first set of nodes in cycle N-1. The first touch data may be a capacitive touch amplitude, but other types of touch data that can indicate a touch may be used. Touch data may be stored for each node in the first set of nodes, but is not limited to, other touch data for the first set of nodes, such as the average or sum of all nodes, may be used instead of, or in addition to, storing touch data for each node. According to various examples, in step 920, second touch data may be stored for a second set of nodes in cycle N, where cycle N follows cycle N-1 and may be called the second cycle. The second set of nodes may overlap with the first set of nodes at least partially. In the various examples, the first total touch data may be determined in step 930 by summing the first touch data of each node in the first set of nodes. The various examples may also determine the second total touch data in step 940 by summing the second touch data of each node in the second set of nodes. In step 950, the various examples may compare the first total touch data with the second total touch data and determine, based on the result of the comparison, whether a touch has been applied or released. For example, if the value obtained by dividing the second total touch data by the first total touch data is greater than a predetermined threshold, it may be determined that a new touch has been detected. If the value obtained by dividing the first total touch data by the second total touch data is greater than a predetermined threshold, it may be determined that a touch has been released.
[0030] Figure 10A shows a method for distinguishing touches on a capacitive touchscreen using various examples, and Figures 10B and 10C show graphical representations of capacitive touch data corresponding to the method in Figure 10A using various examples. For example, during a "pinch" operation in which a user moves two fingers close together on a capacitive touchscreen, it may be difficult to distinguish between a first touch 1001 with one finger and a second touch 1002 with a second finger. Referring to Figures 10A to 10C, the method may include a step 1010 in which a first set 1015 of capacitive touchscreen nodes assigned to the first touch 1001 stores each first touch data in a first cycle, i.e., cycle N-1. The method may include a step 1020 in which a second set 1025 of capacitive touchscreen nodes assigned to the second touch 1002 stores each second touch data in a first cycle, i.e., cycle N-1. The method may include step 1030 of identifying the capacitive touchscreen nodes assigned to the first touch 1001 and the second touch 1002 as the shared node 1035 for the first cycle.
[0031] The method may include step 1040 of storing the respective touch data for a set of combined nodes 1045 of the capacitive touchscreen in a second cycle, i.e., cycle N, that occurs after the first cycle. The set of combined nodes 1045 may overlap at least partially with at least one of the first set of nodes 1015 and the second set of nodes 1025. The method may include step 1050 of assigning the nodes of the set of combined nodes 1045 that overlap with the first set of nodes 1015 to the first touch, assigning the nodes of the set of combined nodes 1045 that overlap with the second set of nodes 1025 to the second touch, and identifying the nodes of the set of combined nodes 1045 that overlap with the shared node 1035 of the first cycle as the shared node 1055 of the second cycle.
[0032] According to various examples, storing touch data for each combined set of nodes may include storing touch data for new nodes for which touch data was not stored in the first cycle. For example, in the second cycle of Figure 10C, touch data was recorded for nodes (0, 3) and (0, 4), but in the first cycle, touch data was not recorded for these nodes. Step 1060 of the method may include assigning nodes from the combined set of nodes 1045 to the first touch, where the nodes do not overlap with the first set of nodes 1015 or the second set of nodes 1025, but are adjacent to one or more nodes in the first set of nodes 1015. For example, nodes (0, 3) and (0, 4) are adjacent to one or more nodes in the first set of nodes (e.g., nodes (1, 3) and (1, 4)), so nodes (0, 3) and (0, 4) are assigned to the first set of nodes 1015. Similarly, the method may include assigning a node from a combined set of nodes to the second touch that does not overlap with the first set of nodes or the second set of nodes, but is adjacent to one or more nodes in the second set of nodes.
[0033] Figure 10D illustrates a method for distinguishing touches on a capacitive touchscreen and determining whether a touch has been released, using various examples. The method in Figure 10D includes the same steps as the method in Figure 10A, and the description of those steps will not be repeated. The method in Figure 10D also includes a step 1041 for determining the first cycle total by summing the first touch data for each first set 1015 of each node in the first cycle and the second touch data for each second set 1025 of each node in the first cycle. The second cycle total may be determined by summing the touch data for each of the combined set 1045 of nodes on the capacitive touchscreen in the second cycle, and the first cycle total may be compared to the second cycle total. The method may include a step 1042 for determining whether the second cycle total is less than the first cycle total minus a threshold. In step 1043, it is determined that the first touch and one of the second touches have been released in response that the second cycle total is less than the first cycle total minus a threshold. In various examples, step 1050, which assigns nodes of a combined set of nodes to the first and second touches, and step 1060, which identifies the shared nodes of the second cycle, are performed in response that the second cycle total is not less than the first cycle total minus a threshold.
[0034] Figure 11 shows a block diagram of a device for distinguishing touches on a capacitive touchscreen, in various examples. The device may include a capacitive touchscreen 1110, a processing circuit 1120 coupled to the capacitive touchscreen 1110, and a memory unit coupled to the processing circuit 1120 and the capacitive touchscreen 1110. The processing circuit 1120 may include a capacitive touch controller, which may be capable of receiving input signals from the capacitive touchscreen 1110 and may execute software for carrying out the method described above. The memory unit 1130 may be used to store touch data received from the capacitive touchscreen 1110, as well as data calculated by the processing circuit 1120, such as total touchscreen data for a set of nodes in a given cycle.
[0035] The capacitive touchscreen 1110 may have multiple nodes for outputting capacitance changes in response to user touch or when the user comes close enough to the capacitive touchscreen 1110. The processing circuit 1120 measures the capacitive touch amplitude at each touched node and determines touch data based on the capacitance change. A memory unit 1130 may be coupled to the capacitive touchscreen 1110. The processing circuit 1120 may store in the memory unit 130 each first touch data for a first set of nodes among the multiple nodes of the capacitive touchscreen 1110 in a first cycle, and determine a first total touch data by summing the first touch data for a first set of nodes in a first cycle. The processing circuit 1120 may store in the memory unit 1130 each second touch data for a second set of nodes among the multiple nodes in a second cycle following the first cycle. The first set of nodes and the second set of nodes may overlap at least partially. The processing circuit 1120 assigns nodes where the first touch data was stored in the first cycle to the first touch, assigns nodes where the second touch data was stored in the second cycle but the first touch data was not stored in the first cycle to the second touch, and for one or more boundary nodes of the first set of nodes assigned to the first touch that are adjacent to the nodes assigned to the second touch, it may determine whether the second touch data of each of the one or more boundary nodes is greater than the first touch data of each of the one or more boundary nodes. Based on whether the second touch data of each of the one or more boundary nodes is greater than the first touch data of each of the one or more boundary nodes, the processing circuit may reassign one or more of the boundary nodes to the second touch.
[0036] The processing circuit 1120 identifies one or more isolated nodes assigned to the second touch that are adjacent to at least one other node assigned to the first touch and not adjacent to any other node assigned to the second touch, and may reassign one or more identified isolated nodes to the first touch. After one or more isolated nodes have been reassigned to the first touch and one or more boundary nodes have been reassigned to the second touch, the processing circuit 1120 determines the second total touch data by summing the second touch data from each of the nodes assigned to the first touch from the second cycle, compares the first total touch data with the second total touch data, and may identify bounding nodes based on the comparison between the first total touch data and the second total touch data.
[0037] In connection with the above description and drawings, various examples have been disclosed herein. It will be understood that it would be excessively repetitive to literally describe and illustrate every combination and partial combination of these examples. For example, the methods described herein may include more, fewer, or other steps. In addition, the steps may be carried out in any suitable order and may be combined with other steps. Thus, all examples may be combined in any way and / or combination, and this specification, including the drawings, shall be construed as constituting a complete written description of all combinations and partial combinations of the examples described herein, as well as the methods and processes for creating and using them, and shall support the claims for any such combination or partial combination.
[0038] It will be understood by those skilled in the art that the examples described herein are not limited to those specifically shown and described above. Furthermore, unless otherwise stated above, it should be noted that all accompanying drawings are not to scale. Various modifications and variations are possible in light of the above teachings.
Claims
1. A method for distinguishing touches on a capacitive touchscreen, wherein the method is A step of storing the first touch data for each of the first sets of nodes in the first cycle, The steps include determining a first total touch data by summing the first touch data for each of the first sets of nodes in the first cycle, A second set of nodes in a second cycle following the first cycle, wherein the first set of nodes and the second set of nodes overlap at least partially, a step of storing second touch data for each of the second sets of nodes, The steps include assigning the node on which the first touch data was stored in the first cycle to the first touch, The steps include assigning nodes to the second touch if, in the second cycle, the second touch data was stored, but in the first cycle, the first touch data was not stored. A step of determining whether the second touch data of each of the one or more boundary nodes is greater than the first touch data of each of the one or more boundary nodes, with respect to one or more boundary nodes adjacent to the node assigned to the second touch, The steps include: reallocating one or more of the boundary nodes to the second touch based on the fact that the second touch data of each of the one or more boundary nodes is greater than the first touch data of each of the one or more boundary nodes; The steps include identifying one or more isolated nodes assigned to the second touch that are adjacent to at least one other node assigned to the first touch and not adjacent to any other node assigned to the second touch, and reassigning one or more identified isolated nodes to the first touch, After one or more isolated nodes have been reassigned to the first touch, and after one or more boundary nodes have been reassigned to the second touch, the second total touch data is determined by summing the second touch data from the second cycle for each node assigned to the first touch. The steps include comparing the first total touch data with the second total touch data, A method comprising the step of identifying a bounding node based on the comparison between the first total touch data and the second total touch data.
2. The method according to claim 1, wherein the step of identifying the bounding boundary node includes identifying one or more nodes assigned to the first touch adjacent to the node assigned to the second touch as the bounding boundary node in response to the second total touch data exceeding the first total touch data by a threshold amount.
3. The method according to claim 1, wherein the step of identifying the bounding boundary node includes identifying one or more nodes assigned to the second touch adjacent to the node assigned to the first touch as the bounding boundary node, in response that the second total touch data does not exceed the first total touch data by a threshold amount.
4. The step of reassigning one or more of the boundary nodes is: A step of determining the first touch data average of the first touch data for the first set of nodes in the first cycle, The steps include comparing each second touch data stored in the second cycle for each of the one or more boundary nodes with the average of the first touch data, The method according to claim 1, comprising the step of reallocating one or more boundary nodes having a first touch data smaller than the average of the first touch data and a second touch data larger than the average of the first touch data to the second touch.
5. The step of reassigning one or more of the boundary nodes is: The steps include determining whether the second touch data of each of the one or more boundary nodes exceeds the first touch data of each of the one or more boundary nodes by a threshold amount, The method according to claim 1, comprising the step of reallocating one or more boundary nodes to the second touch, each having a second touch data that exceeds the average of the first touch data by an amount greater than the threshold.
6. The method according to claim 1, wherein the first touch data and the second touch data include at least one of a capacitive touch distribution, location, and amplitude.
7. A method for detecting the application or deactivation of one of a first touch and a second touch on a capacitive touchscreen, wherein the method is: A step of storing the first touch data for each of the first sets of nodes in the first cycle, A step of storing the second touch data for each second set of nodes in a second cycle following the first cycle, The steps include determining a first total touch data by summing the first touch data for each of the first sets of nodes in the first cycle, The steps include determining a second total touch data by summing the second touch data for each of the second sets of nodes in the second cycle, A method comprising the step of determining, based on a comparison between the first total touch data and the second total touch data, whether a touch has been applied to the capacitive touchscreen or whether a touch has been released from the capacitive touchscreen.
8. The method according to claim 7, wherein it is determined that a touch has been applied to the capacitive touchscreen in response to the value obtained by dividing the second total touch data by the first total touch data exceeding a threshold.
9. The method according to claim 7, wherein it is determined that a touch has been released from the capacitive touchscreen in response to the value obtained by dividing the first total touch data by the second total touch data exceeding a threshold.
10. A method for distinguishing touches on a capacitive touchscreen, wherein the method is A first set of nodes of the capacitive touchscreen in a first cycle, the first set of nodes being assigned to a first touch, and a step of storing the first touch data for each of the first set of nodes. A second set of nodes of the capacitive touchscreen in the first cycle, the second set of nodes being assigned to a second touch, and the steps of storing the second touch data for each second set of nodes, The steps include identifying the capacitive touchscreen nodes assigned to the first touch and the second touch as shared nodes for the first cycle, A step of storing touch data for each set of nodes of the capacitive touchscreen in a second cycle, wherein the set of nodes at least partially overlaps with at least one of the first set of nodes and the second set of nodes. The steps include assigning the nodes of the combined set of nodes that overlap with the first set of nodes in the first cycle to the first touch, The steps include assigning the nodes of the combined set of nodes that overlap with the second set of nodes in the first cycle to the second touch, A method comprising the step of identifying the nodes of a set of nodes that overlap with the shared nodes of the first cycle as shared nodes of the second cycle.
11. The steps of assigning a node of the combined set of nodes to the first touch, which does not overlap with the first set of nodes in the first cycle or the second set of nodes in the first cycle, but is adjacent to one or more nodes of the first set of nodes in the first cycle, The method according to claim 10, comprising the step of assigning to the second touch a node of the combined set of nodes which does not overlap with the first set of nodes or the second set of nodes in the first cycle, but which is adjacent to one or more nodes of the second set of nodes.
12. The steps of determining the first cycle total by summing the first touch data for each first set of each node in the first cycle and the second touch data for each second set of each node in the first cycle, The steps include determining the second cycle total by summing the respective touch data for the combined set of nodes of the capacitive touchscreen in the second cycle, The steps include comparing the first total cycle with the second total cycle, The method according to claim 10, comprising the step of determining that one of the first touch and the second touch has been released in response that the second total cycle is less than the first total cycle.
13. The method according to claim 12, wherein the steps of assigning the nodes of the combined set of nodes to the first and second touches, and identifying the shared nodes of the second cycle are performed in response to the total of the second cycle being greater than or equal to the total of the first cycle minus a threshold.
14. A device for distinguishing touches on a capacitive touchscreen, wherein the device is A capacitive touchscreen having multiple nodes for outputting touch data in response to user touches, A memory unit coupled to the aforementioned capacitive touchscreen, A processing circuit is provided, and the processing circuit is The memory unit stores the first touch data for each of the first set of nodes among the plurality of nodes in the first cycle. The first total touch data is determined by summing the first touch data for each of the first sets of nodes in the first cycle. In a second cycle following the first cycle, a second set of nodes among the plurality of nodes, wherein the first set of nodes and the second set of nodes store in the memory unit the respective second touch data for the second set of nodes, which at least partially overlap. In the first cycle, the node on which the first touch data is stored is assigned to the first touch. In the second cycle, the second touch data was stored, but in the first cycle, the node in which the first touch data was not stored was assigned to the second touch. For one or more boundary nodes of the first set of nodes assigned to the first touch that are adjacent to the node assigned to the second touch, it is determined whether the second touch data of each of the one or more boundary nodes is greater than the first touch data of each of the one or more boundary nodes. Based on the fact that the second touch data of each of the one or more boundary nodes is greater than the first touch data of each of the one or more boundary nodes, one or more of the boundary nodes are reassigned to the second touch. Identify one or more orphaned nodes assigned to the second touch that are adjacent to at least one other node assigned to the first touch and not adjacent to any other node assigned to the second touch. One or more identified isolated nodes are reassigned to the first touch, After the one or more isolated nodes are reassigned to the first touch, and after the one or more boundary nodes are reassigned to the second touch, the second total touch data is determined by summing the second touch data from the second cycle for each node assigned to the first touch. The first total touch data is compared with the second total touch data. A device for identifying a bounding node based on the comparison between the first total touch data and the second total touch data.
15. The apparatus according to claim 14, wherein, in order to identify the bounding boundary node, the processing circuit identifies one or more nodes assigned to the first touch adjacent to the node assigned to the second touch as the bounding boundary node, in response to the second total touch data exceeding the first total touch data by a threshold amount.
16. The apparatus according to claim 14, wherein, in order to identify the bounding boundary node, the processing circuit identifies one or more nodes assigned to the second touch adjacent to the node assigned to the first touch as the bounding boundary node, in response to the fact that the second total touch data does not exceed the first total touch data by a threshold amount.
17. In order to reallocate one or more boundary nodes, the processing circuit: Determine the first touch data average of the first touch data for the first set of nodes in the first cycle. For each of the one or more boundary nodes, compare each second touch data stored in the second cycle with the average of the first touch data. The apparatus according to claim 14, for reallocating one or more boundary nodes having second touch data greater than the first average of touch data to the second touch.
18. In order to reallocate one or more boundary nodes, the processing circuit: Determine whether the second touch data of each of the one or more boundary nodes exceeds the first touch data of each of the one or more boundary nodes by a threshold amount. The apparatus according to claim 14, for reassigning one or more boundary nodes to the second touch, each having a second touch data that exceeds the average of the first touch data by an amount greater than the threshold.
19. The apparatus according to claim 14, wherein the touch data includes capacitive touch amplitude.
Citation Information
Patent Citations
Sensor device for detecting contact or proximity of object and display device having the same mounted thereon
JP2010272064A
Touch detection device and touch detection method
JP2018200647A
Method and apparatus for detecting multi touch on touch screen panel
KR1020160022206A
Method of segmenting multiple touches in touch sensing system
US20130169561A1