Many touch detection systems use reference data to detect when a touch has occurred on a touch surface (e.g., on a tablet or smartphone) and/or an amount of force associated with the touch. Although techniques for updating such reference data exist, new update techniques (e.g., new update criteria for deciding when to update reference data, the manner in which the reference data is updated, the contents or composition of the reference data itself, etc.) would be desirable. Such new update techniques are desirable because they permit faster touch detection and/or a more accurate force estimation.
Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
The invention can be implemented in numerous ways, including as a process; an apparatus; a system; a composition of matter; a computer program product embodied on a computer readable storage medium; and/or a processor, such as a processor configured to execute instructions stored on and/or provided by a memory coupled to the processor. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention. Unless stated otherwise, a component such as a processor or a memory described as being configured to perform a task may be implemented as a general component that is temporarily configured to perform the task at a given time or a specific component that is manufactured to perform the task. As used herein, the term ‘processor’ refers to one or more devices, circuits, and/or processing cores configured to process data, such as computer program instructions.
A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
Various embodiments of techniques to update reference data used in detecting a touch on a touch surface and/or an amount of force are described herein. First, some examples of a touch and force detection system are described in order to provide some reference data examples and examples of how the exemplary reference data is used. Then, various embodiments of update techniques are described (e.g., example criteria about when to update the reference data, example criteria about when to preserve (i.e., not update) the reference data and/or how to update the reference data).
In some embodiments, a plurality of transmitters are coupled to a propagating housing medium and each transmitter is configured to emit a propagating signal through the propagating housing medium. A plurality of receivers are coupled to the propagating housing medium, wherein the receivers detect the propagating signals that have been disturbed by a touch input. The plurality of transmitters and the plurality of receivers are coupled to the propagating medium inline along a one-dimensional axis (e.g., lengthwise) of the propagating housing medium (at least in some embodiments). For example, when the propagating housing medium is touched at a point along the one-dimensional axis, the emitted signal propagating through the propagating housing medium is disturbed (e.g., the touch causes an interference with the propagated signal). By processing the received signals, a location and a force on the surface of the housing associated with the touch input are at least in part identified. Because the interaction between the material of the touch input and the propagated signal is utilized to detect the signal, a mechanical deflection of a sensor is not required to detect either the location or the force of the touch input. For example, the location and the force of a touch input are able to be detected on a rigid metal side of a smartphone without a use of a physical button or a physical strain gauge.
The one-dimensional axis (e.g., associated with a medium through which signals are transmitted and received) is not necessarily limited to plane geometry. In various embodiments, any straight line on a sphere, cylinder, or any other curved surface as a shortest path between two points on the surface, also known as a geodesic, comprises the one-dimensional axis associated with the medium.
In various embodiments, the touch input includes a physical contact to a surface using a human finger, pen, pointer, stylus, and/or any other body parts or objects that can be used to contact or disturb the surface. In some embodiments, the touch input includes an input gesture and/or a multi-touch input. In some embodiments, the received signal is used to determine one or more of the following associated with a touch input: a gesture, a coordinate position, a time, a time frame, a direction, a velocity, a force magnitude, a proximity magnitude, a pressure, a size, and other measurable or derived parameters.
Touch input detection described herein may be utilized to detect touch inputs on non-traditional surfaces such as metal that allows it to have applicability beyond touch screen displays. Various technologies have been traditionally used to detect a touch input on a display area. The most popular technologies today include capacitive and resistive touch detection technology. Using resistive touch technology, often a glass panel is coated with multiple conductive layers that register touches when physical pressure is applied to the layers to force the layers to make physical contact. Using capacitive touch technology, often a glass panel is coated with material that can hold an electrical charge sensitive to a human finger. By detecting the change in the electrical charge due to a touch, a touch location can be detected. However, with resistive and capacitive touch detection technologies, the glass screen is required to be coated with a material that reduces the clarity of the glass screen. Additionally, because the entire glass screen is required to be coated with a material, manufacturing and component costs can become prohibitively expensive as larger screens are desired.
Another type of touch detection technology includes bending wave technology. One example includes the Elo Touch Systems Acoustic Pulse Recognition, commonly called APR, manufactured by Elo Touch Systems of 301 Constitution Drive, Menlo Park, Calif. 94025. The APR system includes transducers attached to the edges of a touchscreen glass that pick up the sound emitted on the glass due to a touch. However, the surface glass may pick up other external sounds and vibrations that reduce the accuracy and effectiveness of the APR system to efficiently detect a touch input. Another example includes the Surface Acoustic Wave-based technology, commonly called SAW, such as the Elo IntelliTouch Plus™ of Elo Touch Systems. The SAW technology sends ultrasonic waves in a guided pattern using reflectors on the surface of the touch screen to detect a touch. However, sending the ultrasonic waves in the guided pattern increases costs and may be difficult to achieve. Additionally, because SAW must propagate on the surface, SAW transmitters and receivers are typically mounted on the same surface where a touch input is to be received. Detecting additional types of inputs, such as multi-touch inputs, may not be possible or may be difficult using SAW or APR technology.
Other configurations of transmitter and sensor locations may exist in various embodiments. Although
Medium 102 includes a surface area where a user may touch to provide a command input. In various embodiments, the touch input surface of medium 102 is flat, curved, or combinations thereof. The touch input is to be detected along a lengthwise region (e.g., locations in the region to be only identified along a one-dimensional axis). A one-dimensional location and a force of a touch input along an external sidewall surface of the device may be detected without actuation of a physical button or use of any other sensor that requires a physical deflection/movement of a component of the device. For example, a user provides an input on the external surface of medium 102 that covers the shown transmitters and receivers that are mounted on an opposite internal surface/side of medium 102 (e.g., mounted on an internal side of device sidewall inside a device and the touch input is provided on the other side of the device sidewall that is the external surface of the device sidewall) and the input disturbs a transmitted signal traveling within medium 102 (e.g., by at least one of the shown transmitters) that is detected (e.g., by at least one of the shown sensors) and analyzed to identify a location on the external surface of medium 102 where the input was provided. This allows virtual buttons to be provided on a smooth side surface and an indication of a virtual button press is detected when a user applies pressure of sufficient force at a specific location of a virtual button on the side surface region. In some embodiments, a length of the axis where a touch input is able to be detected starts from an external surface over a mounting location of transmitter 104 to an external surface over a mounting location of sensor 118.
Examples of transmitters 104, 106, 110, 113 and 116 include piezoelectric transducers, electromagnetic transducers, transmitters, sensors, and/or any other transmitters and transducers capable of propagating a signal through medium 102. Examples of sensors 105, 108, 112, 114 and 118 include piezoelectric transducers, electromagnetic transducers, laser vibrometer transmitters, and/or any other sensors and transducers capable of detecting a signal on medium 102. Although five transmitters and five sensors are shown, any number of transmitters and any number of sensors may be used in other embodiments. In the example shown, transmitters 104, 106, 110, 113 and 116 each may propagate a signal through medium 102. A signal emitted by a transmitter is distinguishable from another signal emitted by another transmitter. In order to distinguish the signals, a phase of the signals (e.g., code division multiplexing), a frequency range of the signals (e.g., frequency division multiplexing), or a timing of the signals (e.g., time division multiplexing) may be varied. One or more of sensors 105, 108, 112, 114 and 118 receive the propagated signals.
Touch detector 120 (e.g., included and mounted on an internal circuit board) is connected to at least the transmitters and sensors shown in
In some embodiments, application system 122 includes a processor and/or memory/storage. In other embodiments, detector 120 and application system 122 are at least in part included/processed in a single processor. An example of data provided by detector 120 to application system 122 includes one or more of the following associated with a user indication: a location coordinate along a one-dimensional axis, a gesture, simultaneous user indications (e.g., multi-touch input), a time, a status, a direction, a velocity, a force magnitude, a proximity magnitude, a pressure, a size, and other measurable or derived information.
Much like flex cable 154, flex cable 158 connects transmitters and sensors mounted on a second internal surface/side of a second sidewall (e.g., sidewall internal surface/side facing inside cavity of the electronic device) to connector 160 (e.g., connects to the circuit board that includes touch detector 120 of
Although the shown transmitters and sensors/receivers have been directly mounted on flex cable 154 in a straight line along a strip/bar of flex cable 154, the sensors/receivers and transmitters may be mounted on a flex cable in various other embodiments. For example,
When manufacturing the configuration shown in
In this example, the transmitters and receivers are configured to exchange an acoustic or ultrasonic signal. Such signals may be desirable because they work well in a variety of propagating mediums, including ones that have not worked well with previous touch and/or force sensing techniques. For example, the sides of some phones are made of metal, which does not work well with existing touch and/or force sensors which rely upon capacitors (e.g., because of the stiffness of the metal and/or the conductive properties of the metal). In contrast, acoustic or ultrasonic signals can propagate through metal relatively easily. In some embodiments, piezoelectric transducers are used for the transmitters and/or receivers.
In this example, transmitters with the same index use the same time-shifted pseudorandom binary sequence to transmit their signal. That is, all T1 transmitters use a pseudorandom binary sequence with a first time shift, all T2 transmitters the same pseudorandom binary sequence but with a second time shift, and so on. Using time-shifted pseudorandom binary sequences permits orthogonality between transmitters with different indices and other techniques to provide orthogonality between transmitters with different indices may be used.
To ensure that only the appropriate signals from the appropriate transmitters are analyzed downstream, in some embodiments, filtering (e.g., based on propagation time) is performed so that signals from more distant transmitters (e.g., which are not part of a receiver's group) are ignored. Diagram 195 shows an example of the filtering performed to filter out signals transmitted by transmitters which are not of interest to a given receiver. For clarity and ease of explanation, suppose that all of the transmitters transmit at time 0. The propagation medium and its properties are known ahead of time (e.g., it is known that the side of a phone will be made of metal) and so the propagation time of a signal from a given transmitter to a given receiver is known. As used herein, tΔ is the propagation time of a signal from a transmitter to an adjacent receiver (e.g., from transmitter T3 (189) to receiver R2 (184)). Similarly, t2Δ is the propagation time of a signal from a transmitter to a receiver which is two places or spots away (e.g., from transmitter T2 (190) to receiver R2 (184)).
Again for clarity and ease of explanation, the transmission signals (196 and 197) in this example are represented as relatively short pulses; note that they occur or otherwise arrive at time tΔ and t2Δ. Given the propagation times described above, the signal (196) from an adjacent transmitter (e.g., from T3 (189) to receiver R2 (184)) arrives at the receiver at time tΔ. The signal (197) from a transmitter two spots away arrives at the receiver at time t2Δ (e.g., from transmitter T2 (190) to receiver R2 (184)).
As shown in diagram 195, filtering (198) is performed from time 0 to time (tΔ−margin). Filtering (199) is also performed from time (t2Δ+margin) onwards. This causes any signal received before (tΔ−margin) or after (t2Δ+margin) to be ignored. As a result, only signals which are receive between tΔ (minus some margin) and t2Δ (plus some margin) are further analyzed and/or processed by downstream processing.
This filtering helps to prevent a signal from a distant transmitter (e.g., which is not part of a receiver's group) from being analyzed. For example, this filtering may prevent receiver R3 (186) from analyzing the signal from transmitter T2 (190), which is not in that receiver's group. It may also prevent a receiver from passing on (e.g., to a downstream block or process) a reflected signal which is reflected off the edge of the propagation medium. Generally speaking, filtering helps to prevent the introduction of noise and improves the quality of the sensing and/or simplifies the signal processing.
The following figure shows an example of reference data which is stored by the system and used to detect a touch (e.g., touch 191) and/or an amount of force (e.g., how much force is applied at touch 191).
Tables 202 and 204 show reference data for other groups. Table 202 shows reference data stored for transmitter-receiver pairs in the R2 group (i.e., group 183 in
In addition to storing (e.g., separately or independently) reference data for each transmitter-receiver pair of interest, the decision making about when to update reference data operates independently. So, although the system may decide to update reference data for one transmitter-receiver pair, it may at the same time decide not to update reference data for another transmitter-receiver pair. Storing reference data for each transmitter-receiver pair and updating the reference data independently permits the system to adapt to localized events which in turn permits the system to more accurately and/or more quickly detect touch and/or an amount of force. For example, a touch may occur at some gap locations but not others, and it may be desirable to update some gap locations but not others. Or, some gap locations may be warmer than others which causes the signal, transmitter(s), and/or receiver(s) in that area to behave differently than in a colder gap locations. And some piezo transducers (e.g., which may be used to implement the transmitters and/or receivers) may be slower and/or weaker than other piezo transducers.
In some embodiments, the stored reference data includes amplitude as well as phase information. For example, some touch and/or force detection systems use both amplitude as well as phase information to detect a touch and/or determine an amount of force applied. In some embodiments (described in more detail below), phase information is used to decide when or if to update reference data.
The following figure describes an example of how a touch is detected using reference data.
In
x1=T1R1
where (generally speaking) TiRj is a metric or value associated with a degree of change (if any) of an (e.g., current or new) amplitude compared to some amplitude reference. More specifically:
In some embodiments, the amplitude reference value (e.g., in the above TiRj equation) is the largest or maximum amplitude from the reference data for that particular transmitter-receiver pair. For example, in diagram 195 in
Returning to diagram 300 in
where TiRj is calculated as described above.
It may be useful to discuss the x3 equation in more detail in order to obtain insight into how the x2 and x4 equations are obtained. The two signals which pass through the x3 gap are the T2R2 signal and the T3R1 signal. Therefore, it makes sense to use those signals in calculating a metric or value for x3. However, both of those signals are two-gap signals but only the x3 gap is of interest. Therefore, some part of those signals should be discounted or otherwise removed. For the T2R2 signal, this can be done by subtracting out T3R2, since that signal is a one-gap signal and exactly matches the part of the T2R2 signal which is trying to be removed or discounted. This produces the (T2R2−T3R2) part of the x3 equation above. Similarly, the T2R1 signal exactly matches the part of the T3R1 signal which is trying to be removed or discounted, and T2R1 can be subtracted from T3R1. This produces the (T3R1−T2R1) part of the x3 equation above.
The x3 equation above also has a scaling factor of ½. This is to normalize x3 to match the x1 which only has a contribution from a single transmitter-receiver pair. To put it another way, without the scaling factor, the x1 and x3 calculations would have different dynamic ranges. Conceptually, two one-gap signals are being added together in the x3 equation, where (T2R2−T3R2) comprises one of the one-gap signals and (T3R1−T2R1) comprises the other one-gap signal. In contrast, the x1 equation only has a contribution from one one-gap signal.
This logic may be used to construct the x2 and x4 equations above. For the x2 gap, the two signals which pass through that gap are the T2R1 signal and the T3R1. The former signal is a one-gap signal and therefore may be used as-is. However, the T3R1 signal is a two-gap signal and part of it must be subtracted out. The T2R2 signal is close, but it is not perfect because it is itself a two-gap signal. However, if the T3R2 signal is subtracted from T2R2, then that difference (i.e., T2R2−T3R2) may be subtracted from T3R1. This produces the T3R1−(T2R2−T3R2) part of the x2 equation. For the reasons described above, the x2 equation includes a ½ scaling factor. The x4 equation can be constructed in a similar manner.
It is noted that the above equations are one example of a way to solve the problem of converting measurements {TiRj} to segment values {xk}. In some embodiments, some other equations are used. For example, different weights can provide other unbiased solutions, perhaps with different statistical variances. For example:
With the amplitude metrics calculated and plotted, a touch threshold (302) is used to identify any touches. In the example of diagram 300, the only gap location which has an amplitude metric greater than threshold 302 is x3. As such, a single touch at the x3 gap is identified. In this example, the force value which is output for this identified touch is the amplitude metric calculated for x3.
Diagram 350 shows another scenario (e.g., not corresponding to
The following figure describes an example receive path which includes reference storage for storing reference data.
Band pass filter 400 is used to filter out information outside of some band pass range. For example, the transmitter may transmit information in some pre-defined range of (e.g., carrier and/or code) frequencies. At the receiver, any signal outside of this range is filtered out in order to reduce the amount of noise or error.
Next, decoding (402) is performed. As described above, time-shifted versions of the same pseudorandom binary sequence are used by the different transmitter indexes (e.g., T1, T2, etc.) to create orthogonality between the different transmitters and/or transmitted signals. Decoding in this example includes performing a correlation with the transmitted signal. In the example of
With ultrasonic signals, different frequencies travel through the medium at different speeds. So, at the receiver, higher frequencies arrive before slower frequencies, which results in a “smeared” signal at the receiver. The dispersion compensator (404) compensates for this so higher frequencies and lower frequencies which left the transmitter at the same time but arrived at different times are aligned again after compensation.
The peaks (e.g., after decoding and dispersion compensation) are expected to have a certain curved shape. Matched filter 406 filters out parts of the peaks outside of this ideal curved shape, again to reduce noise or errors.
Peak locator 408 finds the location of the peaks in the signal. For example, if there are four known peaks, then the locations or offsets of the peaks in the signals may be identified. The locations or offsets of the peaks are then passed to amplitude metric generator (410), which takes the absolute value of the signal at those locations or offsets and then uses the absolute values to generate an amplitude metric for each gap (e.g., x1, x2, x3, etc.). As described above, amplitude metric generator 410 also inputs the appropriate amplitude reference from reference storage 412 (e.g., depending upon the relevant transmitter-receiver pair(s)) in order to generate the amplitude metrics. The amplitude references (or, more generally, reference data) stored in reference storage 412 may be updated as appropriate. Referring back to
The amplitude metrics (e.g., for gap locations x1, x2, x3, etc.) are passed from amplitude metric generator 410 to reference comparator 414. Reference comparator compares the amplitude metrics against a touch threshold (see, e.g.,
The following figure describes an example of a process to update reference data.
At 500, a propagating signal transmitted through a propagating medium by a transmitter associated with a transmitter-receiver pair is received at a receiver associated with the transmitter-receiver pair, wherein a detected disturbance to a signal property of the propagating signal is analyzed with respect to reference data associated with the transmitter-receiver pair to detect whether a touch input has been provided.
For example, in
In some embodiments, the propagating signal is also analyzed with respect to reference data in order to determine an amount of force associated with an identified touch. The example of
In some embodiments, the phase of the propagating signal is analyzed with respect to a phase reference (e.g., from the reference data) in order to detect when there is a water drop on the touch surface, or when there is a wet touch (e.g., something wet is touching the touch surface).
At 502, it is determined whether a detected disturbance to the signal property of the propagating signal meets a criteria. Some example criteria are described in more detail below.
If the criteria is met at step 502, the reference data associated with the transmitter-receiver pair is updated using the received propagating signal at 504. As will be described in more detail below, in some embodiments, the speed at which reference data is updated may vary. In some cases, the reference data is immediately updated, with old reference data swapped out for new reference data (e.g., in a single cycle or iteration). In some cases, the reference data is gradually updated (e.g., over multiple cycles or iterations).
If the criteria is not met at step 502, another propagating signal is received at step 500. In other words, the reference data is maintained (i.e., not updated) if the criteria is not met at step 502.
The following figure illustrates an example where reference data is updated when there is an amplitude gain.
The touch then leaves the touch surface and diagram 610 shows the touch surface after the touch is gone. With the touch gone, the T2R2 signal exchanged between transmitter-receiver pair 604 and the T3R1 signal exchanged between transmitter-receiver pair 606 are no longer absorbed. This causes the current T2R2 signal(s) and the current T3R1 signal(s) to have an amplitude gain when compared against the respective amplitude references. In some embodiments, when an amplitude gain is detected for a given transmitter-receiver pair (as shown here and/or which is indicative of a touch leaving the touch surface), the reference data for that transmitter-receiver pair is updated. The following figure describes this more generally and/or formally in a flowchart.
At 500, a propagating signal transmitted through a propagating medium by a transmitter associated with a transmitter-receiver pair is received at a receiver associated with the transmitter-receiver pair, wherein a detected disturbance to a signal property of the propagating signal is analyzed with respect to reference data associated with the transmitter-receiver pair to detect whether a touch input has been provided.
At 700, it is determined whether the propagating signal has an amplitude gain compared to the reference data. To put it another way, has the system detected a touch leaving a gap location associated with the given transmitter-receiver pair for which an update is being evaluated (e.g., see
The examples of
The first region (800) is the region above the touch threshold (810). As described above, the touch threshold is used to identify a touch, where a touch is declared when one or more contiguous gap locations (e.g., x1, x2, etc.) have amplitude metrics that are greater than the touch threshold. See, for example,
If the amplitude metric for x2 is greater than the touch threshold, then the reference data associated with transmitter-receiver pairs (T2, R1), (T3, R1), (T2, R2), and (T3, R2) are not updated. In one example of why it may be undesirable to update reference data when a touch a declared, this would disallow long-lasting touches. Even slow-ish updates of the reference data during a touch might make the touch slowly fade away and disappear. As a practical matter, very slow updates (e.g., on the order of minutes or more) may be fine. In some embodiments, reference data is updated on what appears to be a touch (e.g., a touch threshold is exceeded), but only for those transmitter-receiver pairs that show a gain, not attenuation.
When the amplitude metric is getting close to the touch threshold but does not exceeded the touch threshold, it could be that a touch is about to happen (e.g., in the near future the amplitude metric for that gap location exceeds the touch threshold). This corresponds to the second region (802) between the touch threshold (810) and the update speed threshold (812). Since the touch threshold is not exceeded in this region, touches are not declared in this region. Similar to above when a touch is declared or detected, it may be undesirable to update the reference data (or at least do it quickly) if a touch is about to occur. As a compromise (e.g., in case the touch threshold is not exceeded in the near future), the reference data is updated at a slower rate compared to region 804. Using a slow update prevents the reference data from being completely contaminated or corrupted with bad reference data since it may be difficult in this region to tell if it is a good time to update the reference data or not. An example of a slower update is described in more detail below.
Region 804 is the region below the update speed threshold (812). In this region, no touch is declared and the reference data for relevant transmitter-receiver pair(s) is updated at a faster rate compared to region 802. Since threshold 812 is the dividing line between whether a faster or slower update is performed, the threshold is referred to here as an update speed threshold.
In some cases, a signal exchanged between a given transmitter-receiver pair may contribute to two or more amplitude metrics and the amplitude metrics may fall into different regions (e.g., regions 800, 802, or 804). For example, in the amplitude metric equations above, the T2R2 signal contributes to the x2, x3, and x4 amplitude metrics and those amplitude metrics may fall into different regions. In some embodiments, the most restrictive update policy is used. To continue the T2R2 example from above, suppose the amplitude metric for x2 falls into region 800 (with the most restrictive update policy of not updating the reference data), the amplitude metric for x3 falls into region 802 (which updates the reference data, but does so slower than in region 804, and has the second most restrictive update policy), and the amplitude metric for x4 falls into region 804 (which has the least restrictive update policy). In that case, reference data associated with the T2R2 transmitter-receiver pair (where T2R2 contributes to the amplitude metrics for x2, x3, and x4) would not be updated per the update policy associated with region 800 since that is the most restrictive update policy.
The following figure shows an example of reference data being updated at a faster rate and a slower rate.
Diagram 910 shows an example of a slower and gradual update. In this example, the stored reference data (910) begins at the level of the old reference data (904) and then gradually increases until it reaches the level of the new reference data (906).
For clarity and ease of explanation, the new reference data in diagram 910 is shown as a constant or steady value while the stored reference data (912) gradually transitions from the old reference data to the new reference data. In real life, the new reference data itself may be changing as the stored reference data gradually approaches the level or value of the new reference data. In some embodiments, this is managed by applying some fraction of the difference between the old reference data and new reference data to the old reference data (e.g.,
Other forms of low pass filtering may be used (e.g., with the new reference data at in the input of the low pass filter and the stored reference data at the output of the filter) so that the stored reference data gradually approaches the new reference data.
It is noted that a faster update (e.g., corresponding to region 802 in
The following figure more formally and/or generally describes this in a flowchart.
At 1000, a metric, used to detect whether the touch input has been provided, is generated using the reference data associated with the transmitter-receiver pair. See, for example, the amplitude metric equations above which depend upon one or more TA values. In turn,
where the amplitude reference value (in the denominator of the log function) comes from the stored reference data for that transmitter-receiver pair.
At 1002, it is decided whether the metric exceeds a touch threshold associated with identifying touch. See, for example, touch threshold 810 shown in
If it is determined at step 1002 that the touch threshold is not exceeded, then at step 1006 it is determined if a second threshold, lower than the touch threshold, is exceeded. Update speed threshold 812 in
If the second threshold is not exceeded at step 1006, then at step 1010 the reference data associated with the transmitter-receiver pair is updated using the received propagating signal at a rate faster than when the second threshold is exceeded. In the example of
As described above, in some embodiments, if some reference data contributes to two or more (amplitude) metrics and one (amplitude) metric falls into one region or category and another (amplitude) metric falls into another region or category, the more restrictive update policy applies or wins out.
This concept of a faster versus slower update may be applied to the example of
The touch goes away and diagram 1104 shows the touch surface after the touch is gone. The reference data for transmitter-receiver pair (T2, R2) (which in diagram 1100 exchanged a signal which was at least partially absorbed by touch 1102) and the reference data for transmitter-receiver pair (T3, R1) (which also had its signal absorbed to some degree) is updated with “no touch” reference data. That is, a signal which is not absorbed by a touch is used to update the reference data. Since a touch leaving (i.e., an amplitude gain) is distinctive and/or difficult to mistake for other events, it is safe to update the relevant reference data at a faster rate.
The touch returns soon after leaving, and diagram 1106 shows the touch surface after the touch (1108) returns to the same location. Since the reference data for transmitter-receiver pair (T2, R2) and transmitter-receiver pair (T3, R1) has been updated with “no touch” data (i.e., with little absorption), the system is able to quickly detect the touch. If the reference data for transmitter-receiver pair (T2, R2) and/or transmitter-receiver pair (T3, R1) still had “touched” signals or data stored, the touch threshold might not be triggered and the touch sensor system might not identify the touch as quickly. As shown here, it may be desirable for performance reasons to update reference data at a faster rate (rather than some slower rate) when there is an amplitude gain (e.g., which is indicative of a touch leaving).
The following figure describes this more formally and/or generally in a flowchart.
At 500, a propagating signal transmitted through a propagating medium by a transmitter associated with a transmitter-receiver pair is received at a receiver associated with the transmitter-receiver pair, wherein a detected disturbance to a signal property of the propagating signal is analyzed with respect to reference data associated with the transmitter-receiver pair to detect whether a touch input has been provided. This is the same step 500 as in
At 700, it is determined whether the propagating signal has an amplitude gain when compared against the reference data associated with the transmitter-receiver pair. This is the same step 700 as in
If there is an amplitude gain at step 700, then at 1200 the reference data associated with the transmitter-receiver pair is updated using the received propagating signal at a rate faster than when a second threshold, lower than a touch threshold, is exceeded. For example, the update may occur at the faster rate associated with region 804 in
In some cases, a touch surface has a water on it (e.g., from rain, from the user's wet hands, etc.) If not properly managed and/or accounted for (e.g., in the reference data), the presence of water on the touch surface can cause the touch logic to detect a touch where there is none. The following figures describes two approaches for dealing with this. In the first approach, the reference data is (e.g., improperly) updated when it should not have been updated (e.g., when there is water on the touch surface) and the updated reference data is subsequently corrected (e.g., so that the improper reference data does not cause the touch logic to incorrectly flag or identify a touch). In the second approach, the update logic tries to better differentiate or identify when it should and should not update the reference data (e.g., ahead of time) and so subsequently does not need to make any correction of the reference data because an improper update of the reference data did not occur. The processes of
At 1300, a second propagating signal transmitted by the transmitter associated with the transmitter-receiver pair is received at the receiver associated with the transmitter-receiver pair. For example, this propagating signal is exchanged at a second point in time after step 500 in
At 1302, it is determined if the second propagating signal, when compared against the updated reference data (e.g., updated at step 504 in
If so, the reference data associated with the transmitter-receiver pair is updated using the received second propagating signal at 1304. For example, if a propagating medium and/or touch surface is wet (and the reference data is updated with “wet” reference data), if the reference data is not corrected (e.g., with “dry” reference data) when the water is removed from the propagating medium and/or touch surface, the touch detection logic will incorrectly identify a touch because of the “wet” reference data. For example, the “wet” reference data when compared against a propagating signal (which goes through a “now-dry” propagating medium) will make it seem like there is an amplitude attention, which will be flagged as a touch when in fact there is no touch.
In some embodiments, this approach of letting some improper updates occur and then fixing or correcting the reference data after the fact is used in systems where the touch logic does not differentiate between a touch and a water drop. In some embodiments, this approach of fixing the reference data after the fact is desirable in systems where processing and/or power is more limited (e.g., because doing a better job ahead of time of identifying whether or not to update the reference data requires more processing resources, which in turn requires more power consumption).
At 500, a propagating signal transmitted through a propagating medium by a transmitter associated with the transmitter-receiver pair is received at a receiver associated with a transmitter-receiver pair, wherein a detected disturbance to a signal property of the propagating signal is analyzed with respect to reference data associated with the transmitter-receiver pair to detect whether a touch input has been provided. Various examples have been described above.
At 1310, it is determined whether the propagating signal, when compared against the reference data, does not have a water signature. This is one example of a criteria at step 502 in
If there is no water signature at step 1310, then the reference data associated with the transmitter-receiver pair is updated using the received propagating signal at 504. In other words, on this path, the touch logic thinks there is an actual touch (e.g., as opposed to a water drop) and it is safe to update the reference data.
If there is a water signature at step 1310, then the reference data is not updated (e.g., and system continues to receive and analyze propagating signals. In other words, if the touch logic believes there is a water drop, the reference data is not update.
In some embodiments, the process of
Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.
Number | Name | Date | Kind |
---|---|---|---|
4488000 | Glenn | Dec 1984 | A |
4594695 | Garconnat | Jun 1986 | A |
4966150 | Etienne | Oct 1990 | A |
5091406 | Toda | Feb 1992 | A |
5334805 | Knowles | Aug 1994 | A |
5451723 | Huang | Sep 1995 | A |
5563849 | Hall | Oct 1996 | A |
5573077 | Knowles | Nov 1996 | A |
5635643 | Maji | Jun 1997 | A |
5637839 | Yamaguchi | Jun 1997 | A |
5708460 | Young | Jan 1998 | A |
5739479 | Davis-Cannon | Apr 1998 | A |
5784054 | Armstrong | Jul 1998 | A |
5854450 | Kent | Dec 1998 | A |
5883457 | Rinde | Mar 1999 | A |
5912659 | Rutledge | Jun 1999 | A |
6091406 | Kambara | Jul 2000 | A |
6232960 | Goldman | May 2001 | B1 |
6236391 | Kent | May 2001 | B1 |
6254105 | Rinde | Jul 2001 | B1 |
6262946 | Khuri-Yakub | Jul 2001 | B1 |
6307942 | Azima | Oct 2001 | B1 |
6473075 | Gomes | Oct 2002 | B1 |
6492979 | Kent | Dec 2002 | B1 |
6498603 | Wallace | Dec 2002 | B1 |
6507772 | Gomes | Jan 2003 | B1 |
6535147 | Masters | Mar 2003 | B1 |
6567077 | Inoue | May 2003 | B2 |
6630929 | Adler | Oct 2003 | B1 |
6633280 | Matsumoto | Oct 2003 | B1 |
6636201 | Gomes | Oct 2003 | B1 |
6788296 | Ikeda | Sep 2004 | B2 |
6798403 | Kitada | Sep 2004 | B2 |
6856259 | Sharp | Feb 2005 | B1 |
6891527 | Chapman | May 2005 | B1 |
6922642 | Sullivan | Jul 2005 | B2 |
6948371 | Tanaka | Sep 2005 | B2 |
7000474 | Kent | Feb 2006 | B2 |
7006081 | Kent | Feb 2006 | B2 |
7116315 | Sharp | Oct 2006 | B2 |
7119800 | Kent | Oct 2006 | B2 |
7187369 | Kanbara | Mar 2007 | B1 |
7193617 | Kanbara | Mar 2007 | B1 |
7204148 | Tanaka | Apr 2007 | B2 |
7218248 | Kong | May 2007 | B2 |
7274358 | Kent | Sep 2007 | B2 |
RE39881 | Flowers | Oct 2007 | E |
7315336 | North | Jan 2008 | B2 |
7345677 | Ing | Mar 2008 | B2 |
7411581 | Hardie-Bick | Aug 2008 | B2 |
7456825 | Kent | Nov 2008 | B2 |
7511711 | Ing | Mar 2009 | B2 |
7545365 | Kent | Jun 2009 | B2 |
7554246 | Maruyama | Jun 2009 | B2 |
7583255 | Ing | Sep 2009 | B2 |
7649807 | Ing | Jan 2010 | B2 |
7683894 | Kent | Mar 2010 | B2 |
7880721 | Suzuki | Feb 2011 | B2 |
7920133 | Tsumura | Apr 2011 | B2 |
8059107 | Hill | Nov 2011 | B2 |
8085124 | Ing | Dec 2011 | B2 |
8194051 | Wu | Jun 2012 | B2 |
8228121 | Benhamouda | Jul 2012 | B2 |
8237676 | Duheille | Aug 2012 | B2 |
8319752 | Hardie-Bick | Nov 2012 | B2 |
8325159 | Kent | Dec 2012 | B2 |
8358277 | Mosby | Jan 2013 | B2 |
8378974 | Aroyan | Feb 2013 | B2 |
8392486 | Ing | Mar 2013 | B2 |
8427423 | Tsumura | Apr 2013 | B2 |
8436806 | Almalki | May 2013 | B2 |
8436808 | Chapman | May 2013 | B2 |
8493332 | D'Souza | Jul 2013 | B2 |
8576202 | Tanaka | Nov 2013 | B2 |
8619063 | Chaine | Dec 2013 | B2 |
8638318 | Gao | Jan 2014 | B2 |
8648815 | Kent | Feb 2014 | B2 |
8659579 | Nadjar | Feb 2014 | B2 |
8670290 | Aklil | Mar 2014 | B2 |
8681128 | Scharff | Mar 2014 | B2 |
8692809 | D'Souza | Apr 2014 | B2 |
8692810 | Ing | Apr 2014 | B2 |
8692812 | Hecht | Apr 2014 | B2 |
8730213 | D'Souza | May 2014 | B2 |
8749517 | Aklil | Jun 2014 | B2 |
8787599 | Grattan | Jul 2014 | B2 |
8823685 | Scharff | Sep 2014 | B2 |
8854339 | Kent | Oct 2014 | B2 |
8890852 | Aroyan | Nov 2014 | B2 |
8896429 | Chaine | Nov 2014 | B2 |
8896564 | Scharff | Nov 2014 | B2 |
8917249 | Buuck | Dec 2014 | B1 |
8941624 | Kent | Jan 2015 | B2 |
8946973 | Pelletier | Feb 2015 | B2 |
8994696 | Berget | Mar 2015 | B2 |
9030436 | Ikeda | May 2015 | B2 |
9041662 | Harris | May 2015 | B2 |
9046959 | Schevin | Jun 2015 | B2 |
9046966 | D'Souza | Jun 2015 | B2 |
9058071 | Esteve | Jun 2015 | B2 |
9099971 | Lynn | Aug 2015 | B2 |
9189109 | Sheng | Nov 2015 | B2 |
9348468 | Altekar | May 2016 | B2 |
9594450 | Lynn | Mar 2017 | B2 |
9983718 | Sheng | May 2018 | B2 |
20010050677 | Tosaya | Dec 2001 | A1 |
20020047833 | Kitada | Apr 2002 | A1 |
20020185981 | Dietz | Dec 2002 | A1 |
20030161484 | Kanamori | Aug 2003 | A1 |
20030189745 | Kikuchi | Oct 2003 | A1 |
20030197691 | Fujiwara | Oct 2003 | A1 |
20030206162 | Roberts | Nov 2003 | A1 |
20040133366 | Sullivan | Jul 2004 | A1 |
20040160421 | Sullivan | Aug 2004 | A1 |
20040183788 | Kurashima | Sep 2004 | A1 |
20040203594 | Kotzin | Oct 2004 | A1 |
20040239649 | Ludtke | Dec 2004 | A1 |
20040246239 | Knowles | Dec 2004 | A1 |
20050063553 | Ozawa | Mar 2005 | A1 |
20050146511 | Hill | Jul 2005 | A1 |
20050146512 | Hill | Jul 2005 | A1 |
20050174338 | Ing | Aug 2005 | A1 |
20050226455 | Aubauer | Oct 2005 | A1 |
20050248540 | Newton | Nov 2005 | A1 |
20060071912 | Hill | Apr 2006 | A1 |
20060109261 | Chou | May 2006 | A1 |
20060114233 | Radivojevic | Jun 2006 | A1 |
20060139339 | Pechman | Jun 2006 | A1 |
20060139340 | Geaghan | Jun 2006 | A1 |
20060152499 | Roberts | Jul 2006 | A1 |
20060166681 | Lohbihler | Jul 2006 | A1 |
20060197753 | Hotelling | Sep 2006 | A1 |
20060262104 | Sullivan | Nov 2006 | A1 |
20060279548 | Geaghan | Dec 2006 | A1 |
20060284841 | Hong | Dec 2006 | A1 |
20070019825 | Marumoto | Jan 2007 | A1 |
20070109274 | Reynolds | May 2007 | A1 |
20070165009 | Sakurai | Jul 2007 | A1 |
20070171212 | Sakurai | Jul 2007 | A1 |
20070183520 | Kim | Aug 2007 | A1 |
20070211022 | Boillot | Sep 2007 | A1 |
20070214462 | Boillot | Sep 2007 | A1 |
20070229479 | Choo | Oct 2007 | A1 |
20070279398 | Tsumura | Dec 2007 | A1 |
20080018618 | Hill | Jan 2008 | A1 |
20080030479 | Lowles | Feb 2008 | A1 |
20080062151 | Kent | Mar 2008 | A1 |
20080081671 | Wang | Apr 2008 | A1 |
20080105470 | Van De Ven | May 2008 | A1 |
20080111788 | Rosenberg | May 2008 | A1 |
20080169132 | Ding | Jul 2008 | A1 |
20080174565 | Chang | Jul 2008 | A1 |
20080198145 | Knowles | Aug 2008 | A1 |
20080231612 | Hill | Sep 2008 | A1 |
20080259030 | Holtzman | Oct 2008 | A1 |
20080266266 | Kent | Oct 2008 | A1 |
20080284755 | Hardie-Bick | Nov 2008 | A1 |
20090009488 | D'Souza | Jan 2009 | A1 |
20090103853 | Daniel | Apr 2009 | A1 |
20090116661 | Hetherington | May 2009 | A1 |
20090146533 | Leskinen | Jun 2009 | A1 |
20090160728 | Emrick | Jun 2009 | A1 |
20090167704 | Terlizzi | Jul 2009 | A1 |
20090237372 | Kim | Sep 2009 | A1 |
20090271004 | Zecchin | Oct 2009 | A1 |
20090273583 | Norhammar | Nov 2009 | A1 |
20090309853 | Hildebrandt | Dec 2009 | A1 |
20090315848 | Ku | Dec 2009 | A1 |
20100026667 | Bernstein | Feb 2010 | A1 |
20100027810 | Marton | Feb 2010 | A1 |
20100044121 | Simon | Feb 2010 | A1 |
20100045635 | Soo | Feb 2010 | A1 |
20100079264 | Hoellwarth | Apr 2010 | A1 |
20100117933 | Gothard | May 2010 | A1 |
20100117993 | Kent | May 2010 | A1 |
20100141408 | Doy | Jun 2010 | A1 |
20100156818 | Burrough | Jun 2010 | A1 |
20100165215 | Shim | Jul 2010 | A1 |
20100185989 | Shiplacoff | Jul 2010 | A1 |
20100188356 | Vu | Jul 2010 | A1 |
20100245265 | Sato | Sep 2010 | A1 |
20100269040 | Lee | Oct 2010 | A1 |
20100277431 | Klinghult | Nov 2010 | A1 |
20100309139 | Ng | Dec 2010 | A1 |
20100315373 | Steinhauser | Dec 2010 | A1 |
20100321312 | Han | Dec 2010 | A1 |
20100321325 | Springer | Dec 2010 | A1 |
20100321337 | Liao | Dec 2010 | A1 |
20110001707 | Faubert | Jan 2011 | A1 |
20110001708 | Sleeman | Jan 2011 | A1 |
20110012717 | Pance | Jan 2011 | A1 |
20110018695 | Bells | Jan 2011 | A1 |
20110025649 | Sheikhzadeh Nadjar | Feb 2011 | A1 |
20110042152 | Wu | Feb 2011 | A1 |
20110057903 | Yamano | Mar 2011 | A1 |
20110063228 | St Pierre | Mar 2011 | A1 |
20110080350 | Almalki | Apr 2011 | A1 |
20110084912 | Almalki | Apr 2011 | A1 |
20110084937 | Chang | Apr 2011 | A1 |
20110155479 | Oda | Jun 2011 | A1 |
20110156967 | Oh | Jun 2011 | A1 |
20110167391 | Momeyer | Jul 2011 | A1 |
20110175813 | Sarwar | Jul 2011 | A1 |
20110182443 | Gant | Jul 2011 | A1 |
20110191680 | Chae | Aug 2011 | A1 |
20110199342 | Vartanian | Aug 2011 | A1 |
20110213223 | Kruglick | Sep 2011 | A1 |
20110222372 | O'Donovan | Sep 2011 | A1 |
20110234545 | Tanaka | Sep 2011 | A1 |
20110260990 | Ali | Oct 2011 | A1 |
20110279382 | Pertuit | Nov 2011 | A1 |
20110298670 | Jung | Dec 2011 | A1 |
20110300845 | Lee | Dec 2011 | A1 |
20110304577 | Brown | Dec 2011 | A1 |
20110316784 | Bisutti | Dec 2011 | A1 |
20110316790 | Ollila | Dec 2011 | A1 |
20120001875 | Li | Jan 2012 | A1 |
20120002820 | Leichter | Jan 2012 | A1 |
20120007837 | Kent | Jan 2012 | A1 |
20120026114 | Lee | Feb 2012 | A1 |
20120032928 | Alberth | Feb 2012 | A1 |
20120050230 | Harris | Mar 2012 | A1 |
20120062564 | Miyashita | Mar 2012 | A1 |
20120068939 | Pemberton-Pigott | Mar 2012 | A1 |
20120068970 | Pemberton-Pigott | Mar 2012 | A1 |
20120081337 | Camp, Jr. | Apr 2012 | A1 |
20120088548 | Yun | Apr 2012 | A1 |
20120092964 | Badiey | Apr 2012 | A1 |
20120120031 | Thuillier | May 2012 | A1 |
20120126962 | Ujii | May 2012 | A1 |
20120127088 | Pance | May 2012 | A1 |
20120140954 | Ranta | Jun 2012 | A1 |
20120149437 | Zurek | Jun 2012 | A1 |
20120188194 | Sulem | Jul 2012 | A1 |
20120188889 | Sambhwani | Jul 2012 | A1 |
20120194466 | Posamentier | Aug 2012 | A1 |
20120200517 | Nikolovski | Aug 2012 | A1 |
20120206154 | Pant | Aug 2012 | A1 |
20120229407 | Harris | Sep 2012 | A1 |
20120232834 | Roche | Sep 2012 | A1 |
20120242603 | Engelhardt | Sep 2012 | A1 |
20120270605 | Garrone | Oct 2012 | A1 |
20120272089 | Hatfield | Oct 2012 | A1 |
20120278490 | Sennett | Nov 2012 | A1 |
20120282944 | Zhao | Nov 2012 | A1 |
20120300956 | Horii | Nov 2012 | A1 |
20120306823 | Pance | Dec 2012 | A1 |
20130011144 | Amiri Farahani | Jan 2013 | A1 |
20130050133 | Brakensiek | Feb 2013 | A1 |
20130050154 | Guy | Feb 2013 | A1 |
20130057491 | Chu | Mar 2013 | A1 |
20130059532 | Mahanfar | Mar 2013 | A1 |
20130082970 | Frey | Apr 2013 | A1 |
20130127755 | Lynn | May 2013 | A1 |
20130141365 | Lynn | Jun 2013 | A1 |
20130147768 | Aroyan | Jun 2013 | A1 |
20130194208 | Miyanaka | Aug 2013 | A1 |
20130222274 | Mori | Aug 2013 | A1 |
20130234995 | Son | Sep 2013 | A1 |
20130249831 | Harris | Sep 2013 | A1 |
20140028576 | Shahparnia | Jan 2014 | A1 |
20140078070 | Armstrong-Muntner | Mar 2014 | A1 |
20140078086 | Bledsoe | Mar 2014 | A1 |
20140078109 | Armstrong-Muntner | Mar 2014 | A1 |
20140078112 | Sheng | Mar 2014 | A1 |
20140185834 | Frömel | Jul 2014 | A1 |
20140247230 | Sheng | Sep 2014 | A1 |
20140247250 | Sheng | Sep 2014 | A1 |
20140317722 | Tartz | Oct 2014 | A1 |
20140362055 | Altekar | Dec 2014 | A1 |
20140368464 | Singnurkar | Dec 2014 | A1 |
20150002415 | Lee | Jan 2015 | A1 |
20150009185 | Shi | Jan 2015 | A1 |
20150109239 | Mao | Apr 2015 | A1 |
20150199035 | Chang | Jul 2015 | A1 |
20150253895 | Kim | Sep 2015 | A1 |
20150346850 | Vandermeijden | Dec 2015 | A1 |
20160070404 | Kerr | Mar 2016 | A1 |
20160091308 | Oliaei | Mar 2016 | A1 |
20160162044 | Ciou | Jun 2016 | A1 |
20160179249 | Ballan | Jun 2016 | A1 |
20160209944 | Shim | Jul 2016 | A1 |
20160282965 | Jensen | Sep 2016 | A1 |
20160349922 | Choi | Dec 2016 | A1 |
20170010697 | Jiang | Jan 2017 | A1 |
20170083164 | Sheng | Mar 2017 | A1 |
20180032211 | King | Feb 2018 | A1 |
Number | Date | Country |
---|---|---|
101373415 | Feb 2009 | CN |
101669088 | Mar 2010 | CN |
2315101 | Apr 2011 | EP |
2315101 | Jan 2014 | EP |
2948787 | Feb 2011 | FR |
20040017272 | Feb 2004 | KR |
20070005580 | Jan 2007 | KR |
20080005990 | Jan 2008 | KR |
20110001839 | Jan 2011 | KR |
WO-03005292 | Jan 2003 | WO |
WO-2006115947 | Jun 2007 | WO |
WO-2011010037 | Jan 2011 | WO |
WO-2011024434 | Mar 2011 | WO |
WO-2011048433 | Apr 2011 | WO |
WO-2011051722 | May 2011 | WO |
WO-2012010912 | Jan 2012 | WO |
WO-2014209757 | Dec 2014 | WO |
WO-2015027017 | Feb 2015 | WO |
Entry |
---|
Liu et al., ‘Acoustic Wave Approach for Multi-Touch Tactile Sensing’, Micro-NanoMechatronics and Human Science, 2009. MHS 2009. International Symposium, Nov. 9-11, 2009. |
T Benedict et al. ‘The joint estimation of signal and noise from the sum envelope.’ IEEE Transactions on Information Theory 13.3, pp. 447-454. Jul. 1, 1967. |