Abstract:
The present invention discloses a method for determining touch points on a touch panel and a system thereof. The method includes the following steps: sampling, calculating a difference, comparing the difference, sampling a determinative area, and calculating a barycenter. The barycenter position from the said steps is a touch point position. The present invention can overcome the problem of the ghost point in traditional touch panels and also be applicable for touch panels of various types.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Technical Field 
         [0002]    The present invention relates to a method for determining touch points on a touch panel and a system thereof, and more particularly, to the method for determining one or more touch points on a touch panel and a system thereof. 
         [0003]    2. Description of Related Art 
         [0004]    Touch panels that allow a user to operate the panels through direct touch operations have been widely accepted in the market because of their humanized operational interfaces. Over the last years, the touch panel technologies have experienced a continuous and rapid development and the prospect thereof is even more promising. Recently, with appearance of iPADs in the market and widespread use of Window 7, the touch panels have almost become a basic configuration of modern information products. 
         [0005]    Currently, mainstream touch panel products found in the market are mainly categorized into the resistive ones and the capacitive ones. A resistive touch panel is formed by an indium tin oxide (ITO) glass layer and an ITO film stacked on each other, and requires application of an external force to have the ITO film and the ITO glass layer make contact with each other so that a position of a touch point can be determined through further calculation and processing. However, the resistive touch panel is disadvantageous in that, after an extended time period of use, scratches due to pressing by external forces is liable to occur on the surface of the touch panel to shorten the service life of the touch panel. 
         [0006]    On the other hand, a capacitive touch panel operates on the following principle: before the touch panel is touched, all points on the panel are at the same potential level, but once the panel is touched by a user, a weak current will be generated between the user&#39;s body and the touch panel to form a capacitive field; then through analysis, a position of the touch point can be determined by the sensors. Furthermore, when the user slides his finger on the touch panel, a touch path of the user can be depicted. 
         [0007]    However, the capacitive touch panel is mainly disadvantageous in that, it is very sensitive to the ambient conditions, so any variation of the ambient temperature, the moisture or the ambient electric fields will cause a signal drift or generation of noises to the capacitive touch panel, which has a direct influence on accuracy of the touch panel. 
         [0008]    Additionally, the projective capacitive touch panel, which is a kind of further improved capacitive touch panel, has a multi-touch function; i.e., more than one touch point can be detected on the touch panel. Unfortunately, for such a touch panel that supports the multi-touch function, a problem of ghost points tends to occur in determining positions of touch points. 
         [0009]      FIG. 1  is a schematic view illustrating formation of ghost points in the prior art. As shown in  FIG. 1 , the prior art touch panel that supports the multi-touch function utilizes two sensing boards to sense a longitudinal coordinate and a horizontal coordinate, respectively. Hence, when a user touches the touch panel with two fingers, the two touch points will induce two wave crests in the longitudinal direction and the lateral direction respectively. Then through an intersection calculation, this results in four touch points, two of which are the real touch points  101 ,  102  and the remaining two of which are false touch points  103 ,  104  (i.e., the so-called ghost points) that tend to cause false determination of the system. Even further, in case of a three-point touch, six false touch points will be derived, which means that the greater the number of the touch points is, the more serious the false determination caused by the ghost points will be. 
       BRIEF SUMMARY OF THE INVENTION 
       [0010]    The present invention relates to a method for determining touch points on a touch panel and a system thereof, which accurately obtain positions of touch points through barycenter calculation according to sensed values acquired by sensors and differences thereof, and have no limitation on the number of touch points in use. Therefore, the present invention can be applied to a single-touch panel or a multi-touch panel. 
         [0011]    The present invention relates to a method for determining touch points on a touch panel and a system thereof. Positions of the touch points can be directly and accurately obtained, so there is no concern about generation of ghost points as would occur in the prior art. 
         [0012]    The present invention relates to a method for determining touch points on a touch panel and a system thereof. By correcting a preset threshold value at intervals, possibilities of false determination of touch points caused by influence of ambient conditions on the touch panel can be reduced, thereby improving accuracy of the touch panel. 
         [0013]    To achieve the aforesaid objects, the present invention provides a method for determining touch points on a touch panel, which comprises: a sampling step for acquiring a first sensed value of each of sensors on the touch panel and storing the first sensed values; a difference calculating step for acquiring a second sensed value of each of the sensors and then acquiring a difference of each of the sensors, wherein the difference is obtained by subtracting the second sensed value sensed by each of the sensors from the first sensed value; a difference comparing step for comparing each of the differences with a preset threshold value and defining a touched sensor, wherein the difference of the touched sensor is greater than the preset threshold value and greater than the difference of each of the sensors adjacent to the touched sensor; a determinative area sampling step for acquiring each of the differences of the sensors in a determinative area, wherein the determinative area is centered around the touched sensor; and a barycenter calculating step for calculating a barycenter position according to each of the differences acquired in the determinative area sampling step, wherein the barycenter position comprises a longitudinal coordinate and a horizontal coordinate and the barycenter position is a position of the touch point. 
         [0014]    To achieve the aforesaid objects, the present invention further provides a system for determining touch points on a touch panel by using sensors on the touch panel. The system comprises: a sampling module electrically connected to the touch panel, being configured to acquire a first sensed value of each of the sensors on the touch panel and store the first sensed values; a difference calculating module electrically connected to the sampling module, being configured to acquire a second sensed value of each of the sensors and then acquire a difference of each of the sensors, wherein the difference is obtained by subtracting the second sensed value sensed by each of the sensors from the first sensed value; a difference comparing module electrically connected to the difference calculating module, being configured to compare each of the differences with a preset threshold value and define a touched sensor, wherein the difference of the touched sensor is greater than the preset threshold value and greater than the difference of each of the sensors adjacent to the touched sensor; a determinative area sampling module electrically connected to the difference comparing module, being configured to acquire each of the differences of the sensors in a determinative area, wherein the determinative area is centered around the touched sensor; and a barycenter calculating module, being configured to calculate a barycenter position according to each of the differences acquired by the determinative area sampling module, wherein the barycenter position comprises a longitudinal coordinate and a horizontal coordinate, and the barycenter position is a position of the touch point. 
         [0015]    Through implementation of the present invention, at least the following progressive effects can be achieved: 
         [0016]    1. A position of a single touch point or positions of two or more touch points can be obtained to improve accuracy of the touch panel. 
         [0017]    2. Actual positions of touch points can be determined and obtained, so the concern about generation of ghost points can be eliminated. 
         [0018]    3. False determination caused by influence of ambient conditions on the touch panel can be avoided to improve accuracy of the touch panel. 
         [0019]    In order for any of those skilled in the art to understand the technical disclosures of the present invention and practice the present invention, the detailed features and advantages of the present invention will be described in detail in the following description so that any of those skilled in the art can readily understand the objectives and the advantages of the present invention upon reviewing disclosures of this specification, the claims and the attached drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0020]    The invention as well as a preferred mode of use and advantages thereof will be best understood by referring to the following detailed description of illustrative embodiments in conjunction with the accompanying drawings, wherein: 
           [0021]      FIG. 1  is a schematic view illustrating formation of ghost points in the prior art; 
           [0022]      FIG. 2  is a systematic architecture view of an embodiment of a system for determining touch points on a touch panel according to the present invention; 
           [0023]      FIG. 3  is a schematic view of an embodiment of a determinative area according to the present invention; 
           [0024]      FIG. 4  is a flowchart of an embodiment of a method for determining touch points on a touch panel according to the present invention; and 
           [0025]      FIG. 5  is a schematic view illustrating an embodiment of calculating of a barycenter position according to the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0026]    As shown in  FIG. 2 , this embodiment is a system for determining touch points on the touch panel  10 , which comprises: a sampling module  20 , a difference calculating module  30 , a difference comparing module  40 , a determinative area sampling module  50 , and a barycenter calculating module  60 . The system for determining touch points can determine a position of an actual touch point by using sensors on the touch panel  10 . 
         [0027]    As shown in  FIG. 3 , the touch panel  10  comprises a plurality of sensors which can be arranged into an array. Each of the sensors can be used to detect and represent with a sensed value a status of the touch panel  10 . 
         [0028]    Also as shown in  FIG. 2 , the sampling module  20  is electrically connected to the touch panel  10  and is configured to acquire a first sensed value of each of the sensors on the touch panel  10  and store the first sensed value. 
         [0029]    The first sensed value is an initial value for the system to determine touch points. For example, the first sensed value may be defined as a sensed value sensed right after the touch panel  10  is enabled and has not been interfered by ambient conditions. Alternatively, the first sensed value may also be defined as a sensed value sampled at intervals when the touch panel  10  has operated for an extended time period so as to correct influence of ambient conditions on the touch panel  10 . 
         [0030]    The difference calculating module  30  is electrically connected to the sampling module  20 , and is configured to acquire a second sensed value of each of the sensors and then calculate a difference of each of the sensors. The second sensed value is defined as a sensed value that is sensed subsequently, and the difference is obtained by subtracting the second sensed value sensed by each of the sensors from the first sensed value. 
         [0031]    The difference comparing module  40  is electrically connected to the difference calculating module  30  and has a preset threshold value stored therein. By comparing each of the differences outputted by the difference calculating module  30  with the preset threshold value, if a difference is greater than the preset threshold value, the difference comparing module  40  can determine that a sensor to which the difference corresponds might be the sensor that is touched. If a difference of a certain one of the sensors that are touched is greater than both the preset threshold value and the difference of each of the sensors adjacent to the sensor, the sensor is then defined as a touched sensor  41  (referring to  FIG. 3  as well). The preset threshold value is obtained by calculating an average value and a standard deviation according to each of the differences of the sensors in an area and adding up the average value and the standard deviation according to a ratio. Moreover, the sensors comprised in this area may be a part of or all of the sensors on the touch panel  10 . 
         [0032]    The determinative area sampling module  50  is electrically connected to the difference comparing module  40  and is primarily used to acquire each of the differences of the sensors in a determinative area  51  (referring to  FIG. 3  as well). The determinative area  51  is defined to be centered around the touched sensor  41 , and is formed by the sensors surrounding the touched sensor  41 . 
         [0033]    The barycenter calculating module  60  is electrically connected to the determinative area sampling module  50 , and is configured to calculate a barycenter position according to each of the differences acquired by the determinative area sampling module  50 . The barycenter position is a position of the touch point on the touch panel  10 . 
         [0034]    As shown in  FIG. 4 , an operating method of this system will be explained hereinbelow. A method for determining touch points on the touch panel  10  comprises: a sampling step (S 10 ), a difference calculating step (S 20 ), a difference comparing step (S 30 ), a determinative area sampling step (S 40 ), and a barycenter calculating step (S 50 ). A barycenter position obtained through the aforesaid steps is a position of the touch point. 
         [0035]    In the sampling step (S 10 ), the sampling module  20  acquires the first sensed value of each of sensors on the touch panel  10  and stores the first sensed values. When the touch panel  10  is enabled or at intervals, the sampling module  20  acquires a sensed value sensed by a sensor as the first sensed value and stores the first sensed value. 
         [0036]    In the difference calculating step (S 20 ), the difference calculating module  30  acquires the second sensed value of each of the sensors. The second sensed value is a sensed value sensed subsequently by a sensor. After acquiring the second sensed value, the difference calculating module  30  acquires a difference of each of the sensors by subtracting the second sensed value from the first sensed value. 
         [0037]    After the touch panel is powered on, the sensors will be affected by ambient conditions to cause difference of the second sensed value from the first sensed value. However, besides the reason that the sensors are touched, the difference may also result from so-called noises caused by ambient conditions, such as moisture, variations of temperature, approaching of electrified bodies and the like. 
         [0038]    In the difference comparing step (S 30 ), in order to effectively distinguish a signal of a touch point from a noise, the difference comparing module  40  defines a preset threshold value and compares each of the differences acquired by the difference calculating module  30  with the preset threshold value respectively. If a difference is smaller than or equal to the preset threshold value, it can be determined that the sensed value received by the sensor is a noise. 
         [0039]    On the other hand, if a difference of a certain sensor is greater than the preset threshold value, it is possible that all the differences corresponding to the sensors adjacent to the touch point are greater than the preset threshold value. In this case, when the difference of the sensor is greater than the difference of each of the sensors adjacent to the sensor, the sensor is then defined as the touched sensor  41 . 
         [0040]    The preset threshold value may be obtained by calculating an average value and a standard deviation according to each of the differences of the sensors in an area and adding up the average value and the standard deviation according to a ratio. The sensors in the area may be either a part of or all of the sensors on the touch panel  10 . 
         [0041]    In the determinative area sampling step (S 40 ), the determinative area sampling module  50  is configured to acquire a determinative area  51 , and the determinative area  51  is centered around the touched sensor  41  and comprises the sensors surrounding the touched sensor  41 . The determinative area sampling module  50  acquires each of the differences of the sensors in the determinative area  51 . As the touched sensor  41  is only an approximate touch point, in order to acquire a position of an actual touch point more accurately, a scope of the determinative area  51  is defined to be centered around the touched sensor  41  to further calculate the actual position of the touch point. 
         [0042]    As shown in  FIG. 3 , centered around the touched sensor  41  for example, a 3×3 array of nine points located at the top, the bottom, the left and the right sides and at four corners of the touched sensor  41  is determined as the determinative area  51 , and the difference of each of the sensors in the determinative area  51  are acquired. Additionally, the scope of the determinative area  51  may also be further enlarged to a 5×5 array from the aforesaid 3×3 array. 
         [0043]    In the barycenter calculating step (S 50 ), the barycenter calculating module  60  calculates a barycenter position according to each of the differences acquired by the determinative area sampling step, wherein the barycenter position comprises a longitudinal coordinate and a horizontal coordinate. The longitudinal coordinate is equal to a divisional result obtained by dividing a sum of each of the differences in the determinative area  51  multiplied by a relative position longitudinal coordinate thereof with a sum of the differences, and the horizontal coordinate is equal to a divisional result obtained by dividing the sum of each of the differences in the determinative area  51  multiplied by a relative position horizontal coordinate thereof with the sum of the differences. 
         [0044]    As shown in  FIG. 5 , for example, assume that the determinative area  51  is comprised of a 3×3 array, the differences acquired by the individual sensors in the determinative area  51  are a to i, and the sensors in the 3×3 array have relative horizontal coordinates of X 1 , X 2  and X 3  and relative longitudinal coordinates of Y 1 , Y 2  and Y 3  respectively. Then, the barycenter position (X, Y) in the determinative area  51  is calculated as follows: 
         [0000]    
       
         
           
             X 
             = 
             
               
                 
                   
                     
                       
                         a 
                         · 
                         
                           X 
                           1 
                         
                       
                       + 
                       
                         b 
                         · 
                         
                           X 
                           2 
                         
                       
                       + 
                       
                         c 
                         · 
                         
                           X 
                           3 
                         
                       
                       + 
                       
                         d 
                         · 
                         
                           X 
                           1 
                         
                       
                       + 
                     
                   
                 
                 
                   
                     
                       
                         e 
                         · 
                         
                           X 
                           2 
                         
                       
                       + 
                       
                         f 
                         · 
                         
                           X 
                           3 
                         
                       
                       + 
                       
                         g 
                         · 
                         
                           X 
                           1 
                         
                       
                       + 
                       
                         h 
                         · 
                         
                           X 
                           2 
                         
                       
                       + 
                       
                         i 
                         · 
                         
                           X 
                           3 
                         
                       
                     
                   
                 
               
               
                 a 
                 + 
                 b 
                 + 
                 c 
                 + 
                 d 
                 + 
                 e 
                 + 
                 f 
                 + 
                 g 
                 + 
                 h 
                 + 
                 i 
               
             
           
         
       
       
         
           
             Y 
             = 
             
               
                 
                   
                     
                       
                         a 
                         · 
                         
                           Y 
                           1 
                         
                       
                       + 
                       
                         b 
                         · 
                         
                           Y 
                           2 
                         
                       
                       + 
                       
                         c 
                         · 
                         
                           Y 
                           3 
                         
                       
                       + 
                       
                         d 
                         · 
                         
                           Y 
                           1 
                         
                       
                       + 
                     
                   
                 
                 
                   
                     
                       
                         e 
                         · 
                         
                           Y 
                           2 
                         
                       
                       + 
                       
                         f 
                         · 
                         
                           Y 
                           3 
                         
                       
                       + 
                       
                         g 
                         · 
                         
                           Y 
                           1 
                         
                       
                       + 
                       
                         h 
                         · 
                         
                           Y 
                           2 
                         
                       
                       + 
                       
                         i 
                         · 
                         
                           Y 
                           3 
                         
                       
                     
                   
                 
               
               
                 a 
                 + 
                 b 
                 + 
                 c 
                 + 
                 d 
                 + 
                 e 
                 + 
                 f 
                 + 
                 g 
                 + 
                 h 
                 + 
                 i 
               
             
           
         
       
     
         [0045]    The difference of each of the sensors in the determinative area  51  is calculated by the barycenter calculating module  60 , and the obtained barycenter position (X, Y) is just the position of the touch point. 
         [0046]    However, the embodiments described above are only provided to illustrate features of the present invention so that those skilled in the art can appreciate the disclosures of the present invention and practice the present invention accordingly, but not to limit the scope of the present invention. Accordingly, all equivalent modifications or alterations made without departing from spirits of the present invention shall still fall within the scope of the claims of the present invention.