Adaptive thresholding for touch screen input

An adaptive threshold approach is applied to detect true touch signals and filter out increased noise signals. More specifically, statistics regarding the signals from a touch screen are used to create a touch signal threshold that changes with the statistics of the touch signals. Accordingly, the threshold can automatically move higher in high noise situations and lower in low noise situations. So configured, fewer noise signals are erroneously interpreted as touches for the device associated with the touch screen.

TECHNICAL FIELD

This invention relates generally to determining whether and where a touch screen input device has been touched.

BACKGROUND

Electronic devices use a variety of devices for receiving input signals from users to control the devices' operations. Keyboards, mice, microphones, and cameras are all used to receive data for a variety of devices. In addition, touch screens are becoming ubiquitous as an input mechanism for various devices. Touch screens allow a user to tap or touch a screen, which touch is registered by the device as an input signal. A “touch” can be registered in a touch screen using a variety of technologies (resistive, surface acoustic wave, capacitive, infrared grid, infrared acrylic projection, optical imaging, dispersive signal technology, acoustic pulse recognition, and the like) including those where the surface of the touch screen need not be physically touched, i.e., a close pass can trigger signaling by the touch screen corresponding to a “touch” by a finger, stylus, or other touching item. The location of the touch on the touch screen typically corresponds to a particular input signal to which the device will respond.

With the increasing use of touch screens, especially in mobile devices, the touch screens themselves are exposed to a variety of electromagnetic environments. Thus, certain touch screens may output a variety of noise levels that may be registered by the device as a “touch” even though no touch was intended. To counter this problem, a threshold is typically applied such that a signal from the touch screen is not considered a “touch” unless the signal is above a particular threshold, as illustrated inFIG. 1. The signal110from the touch screen has noise level120and a high input level130, which level130is considered to be a touch to the extent it is higher than the threshold level indicated by line140. The static threshold approach, however, can fail in a high noise environment where the noise may often exceed the threshold, as illustrated inFIG. 2. Here, a high noise signal210is illustrated with the low noise signal110. This example high noise signal210includes a large sinusoidal aspect such that the peaks X of the no-touch portions of the signal210exceed the threshold amount140and thereby are considered “touches” by the device even though it is clear that only the highest input signal portion230was an intended “touch” input for the device.

SUMMARY

Generally speaking, and pursuant to these various embodiments, an adaptive thresholding approach is applied to detect true touch signals and filter out increased noise signals. More specifically, statistics regarding the signals from the touch screen can be used to create a touch threshold that changes with the statistics of the signals. Accordingly, the threshold can automatically move higher in high noise situations and lower in low noise situations. So configured, fewer noise signals are erroneously interpreted as touches for the device associated with the touch screen. These and other benefits may become clearer upon making a thorough review and study of the following detailed description.

DETAILED DESCRIPTION

Referring now to the drawings and, in particular,FIGS. 3 and 4, an example method and apparatus for adapting a signal threshold for detecting touches on a touch screen305for determining real-time input306for a corresponding device307will be described. As an initial matter, the touch screen305is partitioned into a two dimensional map310of pixels315corresponding to where sensors for the touch screen305create individual signals325from corresponding pixels315of the touch screen305. The individual signals325correspond to whether a touch occurs on a surface of the touch screen305at the corresponding pixels315. These signals325typically each include a magnitude related to the strength of touch gesture sensed at the pixel315and information correlating the magnitude to the corresponding pixel315so that the signals325can be understood in a map form (although it will be understood that the locating information can be obtained in other ways, for example, depending on the sensing technology used in the touch screen305). A processing device330receives410those individual signals325and is configured to process the signals325to determine the input306for the associated device307.

Those skilled in the art will recognize and appreciate that such a processor device330can comprise a fixed-purpose hard-wired platform or can comprise a partially or wholly programmable platform. The processing device330is typically built into the device307and is integrated with other processing aspects of the device307, although it can be a separate and touch-screen dedicated processing device. All of these architectural options are well known and understood in the art and require no further description here.

When the touch screen305senses a touch by a touch device340, such as a finger, stylus, or other element, the processing device330partitions the touch screen305into a touch area345and a no-touch area350based on the individual signals325. In one example, the touch screen is partitioned by calculating430a mean signal value and a variance value for individual rows and/or individual columns of the pixels315. More specifically, for a touch screen panel scan Z having N columns and M rows, the one-dimensional (1-D) mean and variance statistic vectors are calculated. For instance, the mean μ for a given column j of pixels is given by

μX⁡(j)=1M⁢∑i=1M⁢Z⁡(i,j)⁢⁢whereμX=[μX⁡(1)⁢μX⁡(2)⁢⁢…⁢⁢μX⁡(N)].
The variance σ (here in the form of standard deviation) for the given column j of pixels is given by

σX⁡(j)2=1M⁢∑i=1M⁢(Z⁡(i,j)-μX⁡(j))2
where δ2x=[σ2x(1)σ2x(2) . . . σ2x(N)] For a given row i, these values are given by

σY⁡(i)2=1N⁢∑j=1N⁢(Z⁡(i,j)-μY⁡(i))2
where σ2Y=[σ2Y(1)σ2Y(2) . . . σ2Y(M)]. The same approaches can be applied to determine corresponding values for given rows i.

An example of this calculation is illustrated inFIG. 5, which graphs a set of variances in a column direction. The first portion510of the line illustrates a set of rows having low variance values. Because there is not much variance across these rows, there is likely no touch in that area because it is very unlikely to have a consistent touch signal all the way across a whole row or column. In contrast, the rows520having a high variance are likely to have a high variance (in this example, around row11) because many of the pixels of these rows will have low signals indicating no touch and several high signals corresponding to the touch screen portion being touched. In this way, variance can be an indicator of likely touch (rows/columns with high variance) and no-touch (rows/columns with low variance) areas.

Accordingly, the processing device330determines440a touch row and/or a touch column as having a highest or near highest variance and determines450a no-touch row and/or a no-touch column as having a lowest or near lowest variance. With the touch and no-touch areas so determined, the processing device330estimates touch statistics460corresponding to the touch area345and noise statistics470corresponding to the no-touch area350. For the touch area345, for example, the processing device330can determine a touch maximum signal value for the touch row and/or the touch column. For the no-touch area350, for example, the processing device330can determine a no-touch average signal value for the no-touch row and/or the no-touch column and determine a no-touch variance value for the no-touch row and/or the no-touch column. The processing device330can then use the touch statistics and the noise statistics to estimate480the touch threshold that is used to create490the touch map for determining whether a given individual signal should be considered a touch on the touch screen305to be considered a real-time input306to the device307by ignoring individual signals less than the touch threshold, for example.

In one approach, the processing device330estimates480the touch threshold by determining a dynamic range for the touch screen by subtracting the no-touch average signal value from the touch maximum signal value and determining the touch threshold according to a function of the no-touch average signal value, the no-touch variance value, and the dynamic range. The dynamic range determination can be used to determine validity of the data; in other words, a dynamic range minimum value can be set such that the values can be thrown out if the dynamic range does not exceed the minimum value. If the dynamic range is sufficiently high, the touch threshold can be determined using the touch signal statistics in a number of ways. In one example, the adaptive threshold K is determined using the equation K={circumflex over (μ)}+α*{circumflex over (σ)}2+β*DR where α is a tunable constant for noise variability, β is a tunable constant for the dynamic range, μ is the estimated mean of the noise, and DR is the estimated dynamic range. In practice, the noise variability constant α is set around 0.2 (20% of DR).FIG. 6illustrates how with this approach the adaptive threshold value increases with increasing noise.

Other functions can also be used. For example, the logarithm of DR and/or noise variance could be used. Although this would require more computation, such changes could be more effective in some settings. The threshold can also be estimated based on the statistics alone. In another instance, the threshold can be estimated as a function of the mean of the mean vector, the mean of the variance vector, and a minimum threshold. One such approach is represented by the equation: K=Kmin+α*√{square root over (var_mean)}+g(mu_mean) where Kminis a fixed minimum threshold and g is a function of the mean of the mean vector. It can be a nonlinear function like quantization or a linear function.

Examples of the implementation of the variable and adaptable threshold will be described with respect toFIGS. 7-16. First,FIG. 7illustrates a map of the individual signals created during a touch near the middle of a touch screen together with variability maps of the rows and columns. The variability maps plainly show the variability of the corresponding rows and columns with low variability (labeled here as the standard deviation) in the no-touch areas and high variability corresponding to the touch area despite a noise floor having an overall variability of about two standard deviations.

FIG. 8illustrates the individual pixel signals for a four finger touch on a touch screen, andFIG. 9illustrates the corresponding touch map after applying an adaptive threshold, which application results in the illustrated the increased touch signal to noise separation.FIGS. 10 and 11illustrate two-dimensional illustrations of the same data, which further illustrates the noise suppression of this approach.

FIG. 12illustrates the individual pixel signals for a finger and stylus touch on a touch screen, andFIG. 13illustrates the corresponding touch map after applying an adaptive threshold, which application again results in the illustrated increased touch signal to noise separation.FIGS. 14 and 15illustrate two-dimensional illustrations of the same data, which further illustrates the noise suppression and improved clarity of the touch areas (such as of the diamond shaped stylus touch) when using of this approach.

FIG. 16further illustrates the ability of this approach to filter out increasing noise levels. These graphs show the same two-touch signals with increasing amounts of artificially imposed noise applied to the individual signals from the pixels. Despite the increased imposed noise from zero, to two standard deviations, and to four standard deviations, very nearly the same touch map is output through application of the adaptive threshold. So configured, touch signals can be more accurately interpreted as real-time input signals despite an increased noise level that might otherwise decrease performance of the touch screen.

Those skilled in the art will recognize that a wide variety of modifications, alterations, and combinations can be made with respect to the above described embodiments without departing from the scope of the invention. Such modifications, alterations, and combinations are to be viewed as being within the ambient of the inventive concept.