Electronic devices such as smartphones and tablet computers are typically housed in metal and/or plastic housing to provide protection and structure to the devices. The housing often includes openings to accommodate physical buttons that are utilized to interface with the device. However, there is a limit to the number and types of physical buttons that are able to be included in some devices due to physical, structural, and usability constraints. For example, physical buttons may consume too much valuable internal device space and provide pathways where water and dirt may enter a device to cause damage.
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.
Detecting a touch input along a one-dimensional axis is disclosed. For example, a touch location and touch pressure inputs are detected along a one-dimensional axis (e.g., lengthwise region) of a surface of a device housing without requiring physical movement/deflection of a detection component or surface of the device. This may allow one or more physical buttons of a device to be not required or augmented with touch input detectors that can detect touch inputs without the need to detect physical movement/deflection of a detection component or surface of the device.
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. 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.
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
Signal generator 212 generates signals to be used to propagate signals such as signals propagated by transmitters 104, 106, 110, 113, and 116 of
A signal detected by a sensor/receiver such as sensor 105 of
In some embodiments, DSP engine 220 determines a location of a touch input based on which signal path(s) in the propagating medium between a transmitter and a sensor have been affected by the touch input. For example, if the signal transmitted by transmitter 104 and directly received at sensor 105 has been detected as disturbed by DSP engine 220, it is determined that a touch input has been received at a location between a first surface location of the propagating medium directly above where transmitter 104 is coupled to the propagating medium and a second surface location of the propagating medium directly above where sensor 105 is coupled to the propagating medium. By spacing transmitters and receivers close enough together (e.g., space between transmitters/receivers is less than size of object providing touch input) in areas where touch inputs are to be detected, the location of the touch input is able to be detected along an axis within spacing between the transmitters/receivers.
In some embodiments, DSP engine 220 correlates the converted signal against a reference signal to determine a time domain signal that represents a time delay caused by a touch input on a propagated signal. In some embodiments, DSP engine 220 performs dispersion compensation. For example, the time delay signal that results from correlation is compensated for dispersion in the touch input surface medium and translated to a spatial domain signal that represents a physical distance traveled by the propagated signal disturbed by the touch input. In some embodiments, DSP engine 220 performs base pulse correlation. For example, the spatial domain signal is filtered using a match filter to reduce noise in the signal. A result of DSP engine 220 may be used by microprocessor 206 to determine a location associated with a user touch input. For example, microprocessor 206 determines a hypothesis location where a touch input may have been received and calculates an expected signal that is expected to be generated if a touch input was received at the hypothesis location and the expected signal is compared with a result of DSP engine 220 to determine whether a touch input was provided at the hypothesis location.
Interface 208 provides an interface for microprocessor 206 and controller 210 that allows an external component to access and/or control detector 202. For example, interface 208 allows detector 202 to communicate with application system 122 of
At 304, signal transmitters and sensors are calibrated. In some embodiments, calibrating the transmitter includes calibrating a characteristic of a signal driver and/or transmitter (e.g., strength). In some embodiments, calibrating the sensor includes calibrating a characteristic of a sensor (e.g., sensitivity). In some embodiments, the calibration of 304 is performed to optimize the coverage and improve signal-to-noise transmission/detection of a signal (e.g., acoustic or ultrasonic) to be propagated through a medium and/or a disturbance to be detected. For example, one or more components of the system of
At 306, surface disturbance detection is calibrated. In some embodiments, a test signal is propagated through a medium such as medium 102 of
In some embodiments, data determined using one or more steps of
At 308, a validation of a touch detection system is performed. For example, the system of
At 402, a signal that can be used to propagate an active signal through a surface region is sent. In some embodiments, sending the signal includes driving (e.g., using driver 214 of
When attempting to propagate a signal through a medium such as glass in order to detect touch inputs on the medium, the range of frequencies that may be utilized in the transmitted signal determines the bandwidth required for the signal as well as the propagation mode of the medium excited by the signal and noise of the signal.
With respect to bandwidth, if the signal includes more frequency components than necessary to achieve a desired function, then the signal is consuming more bandwidth than necessary, leading to wasted resource consumption and slower processing times.
With respect to the propagation modes of the medium, a propagation medium such as metal likes to propagate a signal (e.g., an ultrasonic/sonic signal) in certain propagation modes. For example, in the A0 propagation mode of glass, the propagated signal travels in waves up and down perpendicular to a surface of the glass (e.g., by bending the glass) whereas in the S0 propagation mode of glass, the propagated signal travels in waves up and down parallel to the glass (e.g., by compressing and expanding the glass). A0 mode is desired over S0 mode in touch detection because a touch input contact on a glass surface disturbs the perpendicular bending wave of the A0 mode and the touch input does not significantly disturb the parallel compression waves of the S0 mode. The example glass medium has higher order propagation modes such as A1 mode and S1 mode that become excited with different frequencies of the propagated signals.
With respect to the noise of the signal, if the propagated signal is in the audio frequency range of humans, a human user would be able to hear the propagated signal which may detract from the user's user experience. If the propagated signal included frequency components that excited higher order propagation modes of the propagating medium, the signal may create undesirable noise within the propagating medium that makes detection of touch input disturbances of the propagated signal difficult to achieve.
In some embodiments, the sending of the signal includes performing spectral control of the signal. In some embodiments, performing spectral control on the signal includes controlling the frequencies included in the signal. In order to perform spectral control, a windowing function (e.g., Hanning window, raised cosine window, etc.) and/or amplitude modulation (e.g., signal sideband modulation, vestigial sideband modulation, etc.) may be utilized. In some embodiments, spectral control is performed to attempt to only excite the A0 propagation mode of the propagation medium. In some embodiments, spectral control is performed to limit the frequency range of the propagated signal to be within 50 kHz to 1000 kHz.
In some embodiments, the sent signal includes a pseudorandom binary sequence. The binary sequence may be represented using a square pulse. However, modulated signal of the square pulse includes a wide range of frequency components due to the sharp square edges of the square pulse. In order to efficiently transmit the pseudorandom binary sequence, it is desirable to “smooth out” sharp edges of the binary sequence signal by utilizing a shaped pulse. A windowing function may be utilized to “smooth out” the sharp edges and reduce the frequency range of the signal. A windowing function such as Hanning window and/or raised cosine window may be utilized. In some embodiments, the type and/or one or more parameters of the windowing function are determined based at least in part on a property of a propagation medium such as medium 102 of
In some embodiments, sending the signal includes modulating (e.g., utilize amplitude modulation) the signal. For example, the desired baseband signal (e.g., a pseudorandom binary sequence signal) is desired to be transmitted at a carrier frequency (e.g., ultrasonic frequency). In this example, the amplitude of the signal at the carrier frequency may be varied to send the desired baseband signal (e.g., utilizing amplitude modulation). However, traditional amplitude modulation (e.g., utilizing double-sideband modulation) produces an output signal that has twice the frequency bandwidth of the original baseband signal. Transmitting this output signal consumes resources that otherwise do not have to be utilized. In some embodiments, single-sideband modulation is utilized. In some embodiments, in single-sideband modulation, the output signal utilizes half of the frequency bandwidth of double-sideband modulation by not utilizing a redundant second sideband included in the double-sideband modulated signal. In some embodiments, vestigial sideband modulation is utilized. For example, a portion of one of the redundant sidebands is effectively removed from a corresponding double-sideband modulated signal to form a vestigial sideband signal. In some embodiments, double-sideband modulation is utilized.
In some embodiments, sending the signal includes determining the signal to be transmitted by a transmitter such that the signal is distinguishable from other signal(s) transmitted by other transmitters. In some embodiments, sending the signal includes determining a phase of the signal to be transmitted (e.g., utilize code division multiplexing/CDMA). For example, an offset within a pseudorandom binary sequence to be transmitted is determined. In this example, each transmitter (e.g., transmitters 104, 106, 110, 113 and 116 of
In some embodiments, sending the signal includes determining a frequency of the signal to be transmitted (e.g., utilize frequency division multiplexing/FDMA). For example, a frequency range to be utilized for the signal is determined. In this example, each transmitter (e.g., transmitters 104, 106, 110, 113, and 116 of
In some embodiments, sending the signal includes determining a timing of the signal to be transmitted (e.g., utilize time division multiplexing/TDMA). For example, a time when the signal should be transmitted is determined. In this example, each transmitter (e.g., transmitters 104, 106, 110, 113, and 116 of
At 404, the active signal that has been disturbed by a disturbance of the surface region is received. The disturbance may be associated with a user touch indication. In some embodiments, the disturbance causes the active signal that is propagating through a medium to be attenuated and/or delayed. In some embodiments, the disturbance in a selected portion of the active signal corresponds to a location on the surface that has been indicated (e.g., touched) by a user.
At 406, the received signal is processed to at least in part determine a location associated with the disturbance. In some embodiments, determining the location includes extracting a desired signal from the received signal at least in part by removing or reducing undesired components of the received signal such as disturbances caused by extraneous noise and vibrations not useful in detecting a touch input. In some embodiments, components of the received signal associated with different signals of different transmitters are separated. For example, different signals originating from different transmitters are isolated from other signals of other transmitters for individual processing. In some embodiments, determining the location includes comparing at least a portion of the received signal (e.g., signal component from a single transmitter) to a reference signal (e.g., reference signal corresponding to the transmitter signal) that has not been affected by the disturbance. The result of the comparison may be used with a result of other comparisons performed using the reference signal and other signal(s) received at a plurality of sensors.
In some embodiments, receiving the received signal and processing the received signal are performed on a periodic interval. For example, the received signal is captured in 5 ms intervals and processed. In some embodiments, determining the location includes extracting a desired signal from the received signal at least in part by removing or reducing undesired components of the received signal such as disturbances caused by extraneous noise and vibrations not useful in detecting a touch input.
In some embodiments, determining the location includes processing the received signal to determine which signal path(s) in the propagating medium between a transmitter and a sensor has been disturbed by a touch input. For example, a received signal propagated between transmitter and sensor pair is compared with a corresponding reference signal (e.g., corresponding to a no touch state) to determine whether the received signal indicates that the received signal has been disturbed (e.g., difference between the received signal and the corresponding reference signal exceeds a threshold). By knowing which signal path(s) have been disturbed, the location between the transmitter and the sensor corresponding to the disturbed signal path can be identified as a location of a touch input.
In some embodiments, determining the location includes processing the received signal and comparing the processed received signal with a calculated expected signal associated with a hypothesis touch contact location to determine whether a touch contact was received at the hypothesis location of the calculated expected signal. Multiple comparisons may be performed with various expected signals associated with different hypothesis locations until the expected signal that best matches the processed received signal is found and the hypothesis location of the matched expected signal is identified as the touch contact location(s) of a touch input. For example, signals received by sensors (e.g., sensors 105, 108, 112, 114 and 118 of
The location, in some embodiments, is a location (e.g., a location identified along a one-dimensional axis) on the surface region where a user has provided a touch input. In addition to determining the location, one or more of the following information associated with the disturbance may be determined at 406: 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. In some embodiments, the location is not determined at 406 if a location cannot be determined using the received signal and/or the disturbance is determined to be not associated with a user input. Information determined at 406 may be provided and/or outputted.
Although
At 502, a received signal is conditioned. In some embodiments, the received signal is a signal including a pseudorandom binary sequence that has been freely propagated through a medium with a surface that can be used to receive a user input. For example, the received signal is the signal that has been received at 404 of
At 504, an analog to digital signal conversion is performed on the signal that has been conditioned at 502. In various embodiments, any number of standard analog to digital signal converters may be used.
At 506, a time domain signal capturing a received signal time delay caused by a touch input disturbance is determined. In some embodiments, determining the time domain signal includes correlating the received signal (e.g., signal resulting from 504) to locate a time offset in the converted signal (e.g., perform pseudorandom binary sequence deconvolution) where a signal portion that likely corresponds to a reference signal (e.g., reference pseudorandom binary sequence that has been transmitted through the medium) is located. For example, a result of the correlation can be plotted as a graph of time within the received and converted signal (e.g., time-lag between the signals) vs. a measure of similarity. In some embodiments, performing the correlation includes performing a plurality of correlations. For example, a coarse correlation is first performed then a second level of fine correlation is performed. In some embodiments, a baseline signal that has not been disturbed by a touch input disturbance is removed in the resulting time domain signal. For example, a baseline signal (e.g., determined at 306 of
At 508, the time domain signal is converted to a spatial domain signal. In some embodiments, converting the time domain signal includes converting the time domain signal determined at 506 into a spatial domain signal that translates the time delay represented in the time domain signal to a distance traveled by the received signal in the propagating medium due to the touch input disturbance. For example, a time domain signal that can be graphed as time within the received and converted signal vs. a measure of similarity is converted to a spatial domain signal that can be graphed as distance traveled in the medium vs. the measure of similarity.
In some embodiments, performing the conversion includes performing dispersion compensation. For example, using a dispersion curve characterizing the propagating medium, time values of the time domain signal are translated to distance values in the spatial domain signal. In some embodiments, a resulting curve of the time domain signal representing a distance likely traveled by the received signal due to a touch input disturbance is narrower than the curve contained in the time domain signal representing the time delay likely caused by the touch input disturbance. In some embodiments, the time domain signal is filtered using a match filter to reduce undesired noise in the signal. For example, using a template signal that represents an ideal shape of a spatial domain signal, the converted spatial domain signal is match filtered (e.g., spatial domain signal correlated with the template signal) to reduce noise not contained in the bandwidth of the template signal. The template signal may be predetermined (e.g., determined at 306 of
At 510, the spatial domain signal is compared with one or more expected signals to determine a touch input captured by the received signal. In some embodiments, comparing the spatial domain signal with the expected signal includes generating expected signals that would result if a touch contact was received at hypothesis locations. For example, a hypothesis set of one or more locations (e.g., single touch or multi-touch locations) where a touch input might have been received on a touch input surface is determined, and an expected spatial domain signal that would result at 508 if touch contacts were received at the hypothesis set of location(s) is determined (e.g., determined for a specific transmitter and sensor pair using data measured at 306 of
The proximity of location(s) of a hypothesis set to the actual touch contact location(s) captured by the received signal may be proportional to the degree of similarity between the expected signal of the hypothesis set and the spatial signal determined at 508. In some embodiments, signals received by sensors from transmitters are compared with corresponding expected signals for each sensor/transmitter pair to select a hypothesis set that minimizes the overall difference between all respective detected and expected signals. In some embodiments, once a hypothesis set is selected, another comparison between the determined spatial domain signals and one or more new expected signals associated with finer resolution hypothesis touch location(s) (e.g., locations on a new coordinate grid with more resolution than the coordinate grid used by the selected hypothesis set) near the location(s) of the selected hypothesis set is determined.
At 602, a first correlation is performed. In some embodiments, performing the first correlation includes correlating a received signal (e.g., resulting converted signal determined at 504 of
At 604, a second correlation is performed based on a result of the first correlation. Performing the second correlation includes correlating (e.g., cross-correlation or convolution similar to step 602) a received signal (e.g., resulting converted signal determined at 504 of
At 702, a hypothesis of a number of simultaneous touch contacts included in a touch input is determined. In some embodiments, when detecting a location of a touch contact, the number of simultaneous contacts being made to a touch input surface (e.g., surface of medium 102 of
At 704, one or more hypothesis sets of one or more touch contact locations associated with the hypothesis number of simultaneous touch contacts are determined. In some embodiments, it is desired to determine the coordinate locations of fingers touching a touch input surface. In some embodiments, in order to determine the touch contact locations, one or more hypothesis sets are determined on potential location(s) of touch contact(s) and each hypothesis set is tested to determine which hypothesis set is most consistent with a detected data.
In some embodiments, determining the hypothesis set of potential touch contact locations includes dividing a touch input surface into a constrained number of locations (e.g., divide into location zones) where a touch contact may be detected. For example, in order to initially constrain the number of hypothesis sets to be tested, the touch input surface is divided into a coordinate grid with relatively large spacing between the possible coordinates. Each hypothesis set includes a number of location identifiers (e.g., location coordinates) that match the hypothesis number determined in 702. For example, if two was determined to be the hypothesis number in 702, each hypothesis set includes two location coordinates on the determined coordinate grid that correspond to potential locations of touch contacts of a received touch input. In some embodiments, determining the one or more hypothesis sets includes determining exhaustive hypothesis sets that exhaustively cover all possible touch contact location combinations on the determined coordinate grid for the determined hypothesis number of simultaneous touch contacts. In some embodiments, a previously determined touch contact location(s) of a previous determined touch input is initialized as the touch contact location(s) of a hypothesis set.
At 706, a selected hypothesis set is selected among the one or more hypothesis sets of touch contact location(s) as best corresponding to touch contact locations captured by detected signal(s). In some embodiments, one or more propagated active signals (e.g., signal transmitted at 402 of
At 708, it is determined whether additional optimization is to be performed. In some embodiments, determining whether additional optimization is to be performed includes determining whether any new hypothesis set(s) of touch contact location(s) should be analyzed in order to attempt to determine a better selected hypothesis set. For example, a first execution of step 706 utilizes hypothesis sets determined using locations on a larger distance increment coordinate grid overlaid on a touch input surface and additional optimization is to be performed using new hypothesis sets that include locations from a coordinate grid with smaller distance increments. Additional optimizations may be performed any number of times. In some embodiments, the number of times additional optimizations are performed is predetermined. In some embodiments, the number of times additional optimizations are performed is dynamically determined. For example, additional optimizations are performed until a comparison threshold indicator value for the selected hypothesis set is reached and/or a comparison indicator for the selected hypothesis set does not improve by a threshold amount. In some embodiments, for each optimization iteration, optimization may be performed for only a single touch contact location of the selected hypothesis set and other touch contact locations of the selected hypothesis set may be optimized in a subsequent iteration of optimization.
If at 708 it is determined that additional optimization should be performed, at 710, one or more new hypothesis sets of one or more touch contact locations associated with the hypothesis number of the touch contacts are determined based on the selected hypothesis set. In some embodiments, determining the new hypothesis sets includes determining location points (e.g., more detailed resolution locations on a coordinate grid with smaller distance increments) near one of the touch contact locations of the selected hypothesis set in an attempt to refine the one of the touch contact locations of the selected hypothesis set. The new hypothesis sets may each include one of the newly determined location points, and the other touch contact location(s), if any, of a new hypothesis set may be the same locations as the previously selected hypothesis set. In some embodiments, the new hypothesis sets may attempt to refine all touch contact locations of the selected hypothesis set. The process proceeds back to 706, whether or not a newly selected hypothesis set (e.g., if previously selected hypothesis set still corresponds best to detected signal(s), the previously selected hypothesis set is retained as the new selected hypothesis set) is selected among the newly determined hypothesis sets of touch contact location(s).
If at 708 it is determined that additional optimization should not be performed, at 712, it is determined whether a threshold has been reached. In some embodiments, determining whether a threshold has been reached includes determining whether the determined hypothesis number of contact points should be modified to test whether a different number of contact points has been received for the touch input. In some embodiments, determining whether the threshold has been reached includes determining whether a comparison threshold indicator value for the selected hypothesis set has been reached and/or a comparison indicator for the selected hypothesis set did not improve by a threshold amount since a previous determination of a comparison indicator for a previously selected hypothesis set. In some embodiments, determining whether the threshold has been reached includes determining whether a threshold amount of energy still remains in a detected signal after accounting for the expected signal of the selected hypothesis set. For example, a threshold amount of energy still remains if an additional touch contact needs be included in the selected hypothesis set.
If at 712, it is determined that the threshold has not been reached, the process continues to 702 where a new hypothesis number of touch inputs is determined. The new hypothesis number may be based on the previous hypothesis number. For example, the previous hypothesis number is incremented by one as the new hypothesis number.
If at 712, it is determined that the threshold has been reached, at 714, the selected hypothesis set is indicated as the detected location(s) of touch contact(s) of the touch input. For example, a location coordinate(s) of a touch contact(s) is provided.
At 802, for each hypothesis set (e.g., determined at 704 of
In some embodiments, in the event the hypothesis set includes more than one touch contact location (e.g., multi-touch input), the expected signal for each individual touch contact location is determined separately and combined together. For example, an expected signal that would result if a touch contact was provided at a single touch contact location is added with other single touch contact expected signals (e.g., effects from multiple simultaneous touch contacts add linearly) to generate a single expected signal that would result if the touch contacts of the added signals were provided simultaneously.
In some embodiments, the expected signal for a single touch contact is modeled as the function:
C*P(x−d)
where C is a function coefficient (e.g., complex coefficient), P(x) is a function, and d is the total path distance between a transmitter (e.g., transmitter of a signal desired to be simulated) to a touch input location and between the touch input location and a sensor (e.g., receiver of the signal desired to be simulated).
In some embodiments, the expected signal for one or more touch contacts is modeled as the function:
Σj=1NCjP(x−dj)
where j indicates which touch contact and N is the number of total simultaneous touch contacts being modeled (e.g., hypothesis number determined at 702 of
At 804, corresponding detected signals are compared with corresponding expected signals. In some embodiments, the detected signals include spatial domain signals determined at 508 of
ε(rx,tx)=|q(x)−Σj=1NCjP(x−dj)|2
where ε(rx, tx) is the cost function, q(x) is the detected signal, and Σj=1N Cj P(x−dj) is the expected signal. In some embodiments, the global cost function for a hypothesis set analyzed for more than one (e.g., all) transmitter/sensor pairs is modeled as:
ε=Σi=1Zε(rx,tx)i
where ε is the global cost function, Z is the number of total transmitter/sensor pairs, i indicates the particular transmitter/sensor pair, and ε(rx, tx)i is the cost function of the particular transmitter/sensor pair.
At 806, a selected hypothesis set of touch contact location(s) is selected among the one or more hypothesis sets of touch contact location(s) as best corresponding to detected signal(s). In some embodiments, the selected hypothesis set is selected among hypothesis sets determined at 704 or 710 of
At 902, a location associated with a user input on a touch input surface is determined. In some embodiments, at least a portion of the process of
At 904, one or more received signals are selected to be evaluated. In some embodiments, selecting the signal(s) to be evaluated includes selecting one or more desired signals from a plurality of received signals used to detect the location associated with the user input. For example, one or more signals received in step 404 of
In some embodiments, a variation (e.g., disturbance such as amplitude change) detected in an active signal received at a receiver/sensor may be greater at certain receivers (e.g., receivers located closest to the location of the touch input) as compared to other receivers. For example, in the example of
At 906, the one or more selected signals are normalized. In some embodiments, normalizing a selected signal includes adjusting (e.g., scaling) an amplitude of the selected signal based on a distance value associated with the selected signal. For example, although an amount/intensity of force of a touch input may be detected by measuring an amplitude of a received active signal that has been disturbed by the force of the touch input, other factors such as the location of the touch input with respect to a receiver that has received the disturbed signal and/or location of the transmitter transmitting the active signal may also affect the amplitude of the received signal used to determine the intensity of the force. In some embodiments, a distance value/identifier associated with one or more of the following is used to determine a scaling factor used to scale a selected signal: a distance between a location of a touch input and a location of a receiver that has received the selected signal, a distance between a location of a touch input and a location of a transmitter that has transmitted an active signal that has been disturbed by a touch input and received as the selected signal, a distance between a location of a receiver that has received the selected signal and a location of a transmitter that has transmitted an active signal that has been disturbed by a touch input and received as the selected signal, and a combined distance of a first distance between a location of a touch input and a location of a receiver that has received the selected signal and a second distance between the location of the touch input and a location of a transmitter that has transmitted an active signal that has been disturbed by a touch input and received as the selected signal. In some embodiments, each of one or more selected signals is normalized by a different amount (e.g., different amplitude scaling factors).
At 908, a force intensity identifier associated with the one or more normalized signals is determined. The force intensity identifier may include a numerical value and/or other identifier identifying a force intensity. In some embodiments, if a plurality of normalized signals is used, an associated force may be determined for each normalized signal and the determined forces may be averaged and/or weighted-averaged to determine the amount of the force. For example, in the case of weighted averaging of the force values, each determined force value is weighted based on an associated signal-to-noise ratio, an associated amplitude value, and/or an associated distance value between a receiver of the normalized signal and the location of the touch input.
In some embodiments, the amount of force is determined using a measured amplitude associated with a disturbed portion of the normalized signal. For example, the normalized signal represents a received active signal that has been disturbed when a touch input was provided on a surface of a medium that was propagating the active signal. A reference signal may indicate a reference amplitude of a received active signal if the active signal was not disturbed by a touch input. In some embodiments, an amplitude value associated with an amplitude change to the normalized signal caused by a force intensity of a touch input is determined. For example, the amplitude value may be a measured amplitude of a disturbance detected in a normalized signal or a difference between a reference amplitude and the measured amplitude of the disturbance detected in the normalized signal. In some embodiments, the amplitude value is used to obtain an amount/intensity of a force.
In some embodiments, the use of the amplitude value includes using the amplitude value to look up in a data structure (e.g., table, database, chart, graph, lookup table, list, etc.) a corresponding associated force intensity. For example, the data structure includes entries associating a signal disturbance amplitude value and a corresponding force intensity identifier. The data structure may be predetermined/pre-computed. For example, for a given device, a controlled amount of force is applied and the disturbance effect on an active signal due to the controlled amount of force is measured to determine an entry for the data structure. The force intensity may be varied to determine other entries of the data structure. In some embodiments, the data structure is associated with a specific receiver that received the signal included in the normalized signal. For example, the data structure includes data that has been specifically determined for characteristics of a specific receiver (e.g., for sensor/receiver 114 of
In some embodiments, the use of the amplitude value includes using the amplitude value in a formula that can be used to simulate and/or calculate a corresponding force intensity. For example, the amplitude value is used as an input to a predetermined formula used to compute a corresponding force intensity. In some embodiments, the formula is associated with a specific receiver that received the signal of the normalized signal. For example, the formula includes one or more parameters (e.g., coefficients) that have been specifically determined for characteristics of a specific receiver (e.g., for sensor/receiver 114 of
At 910, the determined force intensity identifier is provided. In some embodiments, providing the force intensity identifier includes providing the identifier (e.g., a numerical value, an identifier within a scale, etc.) to an application such as an application of application system 122 of
At 1002, a controlled amount of force is applied at a selected location on a touch input surface. In some embodiments, the force is provided on a location of a surface of medium 102 of
At 1004, an effect of the applied force is measured using one or more sensor/receivers. In some embodiments, measuring the effect includes measuring an amplitude associated with a disturbed portion of an active signal that has been disturbed when the force was applied in 1002 and that has been received by the one or more receivers. The amplitude may be a directly measured amplitude value or a difference between a reference amplitude and a detected amplitude. In some embodiments, the signal received by the one or more receivers is normalized before the amplitude is measured. In some embodiments, normalizing a received signal includes adjusting (e.g., scaling) an amplitude of the signal based on a distance value associated with the selected signal.
A reference signal may indicate a reference amplitude of a received active signal that has not been disturbed by a touch input. In some embodiments, an amplitude value associated with an amplitude change caused by a disturbance of a touch input is determined. For example, the amplitude value may be a measured amplitude value of a disturbance detected in a normalized signal or a difference between a reference amplitude and the measured amplitude value of the disturbance detected in the normalized signal. In some embodiments, the amplitude value is used to obtain an identifier of a force intensity.
In some embodiments, a distance value associated with one or more of the following is used to determine a scaling factor used to scale a received signal before an effect of a disturbance is measured using the received signal: a distance between a location of a touch input and a location of a receiver that has received the selected signal, a distance between a location of the force input and a location of a transmitter that has transmitted an active signal that has been disturbed by the force input and received by the receiver, a distance between a location of the receiver and a location of a transmitter that has transmitted an active signal that has been disturbed by the force input and received by the receiver, and a combined distance of a first distance between a location of a force input and a location of the receiver and a second distance between the location of the force input and a location of a transmitter that has transmitted an active signal that has been disturbed by the force input and received by the receiver. In some embodiments, each of one or more signals received by different receivers is normalized by a different amount (e.g., different amplitude scaling factors).
At 1006, data associated with the measured effect is stored. In some embodiments, storing the data includes storing an entry in a data structure such as the data structure that may be used in step 908 of
In some embodiments, the process of
At 1202, forces associated with each touch input location point of a plurality of touch input location points are determined. In some embodiments, a user touch input may be represented by a plurality of touch input locations (e.g., multi-touch input, touch input covering a relatively large area, etc.). In some embodiments, for each touch input location point, at least a portion of the process of
At 1204, the determined forces are combined to determine a combined force. For example, the combined force represents a total amount of force applied on a touch input surface. In some embodiments, combining the forces includes adding a numerical representation of the forces together to determine the combined force. In some embodiments, a numerical representation of each determined force is weighted before being added together. For example, each numerical value of a determined force is weighted (e.g., multiplied by a scalar) based on an associated signal-to-noise ratio, an associated amplitude value, and/or an associated distance value between a receiver and a location of a touch input. In some embodiments, the weights of the forces being weighted must sum to the number of forces being combined.
At 1206, the combined force is provided. In some embodiments, providing the combined force includes providing a force intensity identifier to an application such as an application of application system 122 of
At 1302, one or more indicators associated with a location and a force intensity of a user touch input are received. In some embodiments, the indicator(s) include data provided in step 910 of
At 1304, a user command associated with the received indicators, if any, is detected. For example, a user presses a specific location on the touch input surface with sufficient force to provide a user command. Because the user touch input may be indicated on sidewalls of a device, it may be necessary to determine whether a touch detected on the side surface of a device is a user command or a user simply holding/touching the device without a desire to provide a user command. In some embodiments, in order to distinguish between a user command and a non-command touch, a command is only registered if a detected touch was provided with sufficient force and/or speed. For example, detected touches below a threshold force and/or speed are determined to be not a user command input and ignored.
In some embodiments, one or more different regions of one or more touch input surfaces are associated with different user commands and a location of a touch input is utilized to identify which command has been indicated. For example, locations/regions along one or more sides of a device have been mapped to different corresponding functions/commands to virtually mimic buttons on a side of a device. In one example, a force applied in a first area/region increases a volume, a force applied in a second area/region decreases the volume, a force applied in a third area indicates a “back” command, a force applied in a fourth area indicates a “home” command, and a force applied in a fifth area indicates a “multitasking” command. In order to indicate a specific function/command, the user may provide a gesture input (e.g., press, swipe up, swipe down, pinch in, pinch out, double tap, triple tap, long press, short press, rub, etc.) with sufficient force at the location associated with the specific function/command.
In some embodiments, for a given area/region of a touch input area, different types of gestures (e.g., press, swipe up, swipe down, pinch in, pinch out, double tap, triple tap, long press, short press, rub, etc.) provided in the same region may correspond to different user commands. For example, swiping up in a touch input area increases a volume and swiping down in the same touch input area decreases a volume.
In some embodiments, the amount of force of the user indication may correspond to different user commands. For example, although the amount of force must be greater than a threshold value to indicate a user command, the amount of force (e.g., once it meets the threshold) may correspond to different commands based on additional force thresholds (e.g., force above a first threshold and below a second threshold indicates a primary click and force greater than the second threshold indicates a secondary click) and/or a magnitude value of the user command (e.g., speed of volume increase corresponds to amount of force).
In some embodiments, the speed of the user indication on the touch input surface may be varied to indicate different user commands. For example, a speed of a swipe touch gesture indicates a speed of scrolling. In some embodiments, the number of simultaneous user touch indications (e.g., number of fingers) and their locations (e.g., respective locations/areas/regions of the user indications) may be varied to indicate different user commands. For example, when a device is in an inactive state, a user may squeeze sides of the device with a finger on one sidewall of the device and another finger on another sidewall of the device at the same time to wake the device to an active state (e.g., turn on display) while force applied on only one side indicates a volume control command. In some embodiments, by detecting the locations and sizes of a multi-touch input and matching it to known patterns, it is determined whether a left or a right hand of a user is holding the device and determined information is utilized to affect a function of the device (e.g., display a menu on a left or a right of a screen based on which hand is holding the device).
In some embodiments, once the user command has been successfully identified, a confirmation indication is provided to indicate to a user that the user command has been successfully detected. For example, a visual (e.g., visual flash), an audio (e.g., chime), and/or a tactile (e.g., vibration/haptic feedback) indication is provided upon successfully detecting the user command.
At 1306, the detected user command is executed. For example, the identified user command is provided to an application and/or operating system for execution/implementation.
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 |
---|---|---|---|
3912880 | Powter | Oct 1975 | A |
4488000 | Glenn | Dec 1984 | A |
4529959 | Ito | Jul 1985 | A |
4594695 | Garconnat | Jun 1986 | A |
4966150 | Etienne | Oct 1990 | A |
5008497 | Asher | Apr 1991 | A |
5074152 | Ellner | Dec 1991 | A |
5091406 | Toda | Feb 1992 | A |
5233873 | Mozgowiec | Aug 1993 | A |
5334805 | Knowles | Aug 1994 | A |
5451723 | Huang | Sep 1995 | A |
5563849 | Hall | Oct 1996 | A |
5573077 | Knowles | Nov 1996 | A |
5591945 | Kent | Jan 1997 | A |
5635643 | Maji | Jun 1997 | A |
5637839 | Yamaguchi | Jun 1997 | A |
5638093 | Takahashi | 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 |
6211772 | Murakami | Apr 2001 | B1 |
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 |
8418083 | Lundy | Apr 2013 | B1 |
8427423 | Tsumura | Apr 2013 | B2 |
8436806 | Almalki | May 2013 | B2 |
8436808 | Chapman | May 2013 | B2 |
8493332 | D'Souza | Jul 2013 | B2 |
8519982 | Camp, Jr. | Aug 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 |
8791899 | Usey | Jul 2014 | B1 |
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 |
9250742 | Usey | Feb 2016 | B1 |
9348468 | Altekar | May 2016 | B2 |
9477350 | Sheng | Oct 2016 | B2 |
9594450 | Lynn | Mar 2017 | B2 |
9851848 | Pellikka | Dec 2017 | B2 |
9983718 | Sheng | May 2018 | B2 |
10209825 | Sheng | Feb 2019 | B2 |
10466836 | Sheng | Nov 2019 | B2 |
10795417 | Bok | Oct 2020 | B2 |
20010050677 | Tosaya | Dec 2001 | A1 |
20020036621 | Liu | Mar 2002 | A1 |
20020047833 | Kitada | Apr 2002 | A1 |
20020185981 | Dietz | Dec 2002 | A1 |
20030161484 | Kanamori | Aug 2003 | A1 |
20030164820 | Kent | Sep 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 |
20050229713 | Niblock | Oct 2005 | A1 |
20050248540 | Newton | Nov 2005 | A1 |
20050248547 | Kent | Nov 2005 | A1 |
20060071912 | Hill | Apr 2006 | A1 |
20060109261 | Chou | May 2006 | A1 |
20060114233 | Radivojevic | Jun 2006 | A1 |
20060132315 | Kurtz | 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 |
20060262088 | Baldo | Nov 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 |
20070236450 | Colgate | Oct 2007 | A1 |
20070240913 | Schermerhorn | Oct 2007 | A1 |
20070278896 | Sarkar | Dec 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 |
20100123686 | Klinghult | 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 |
20100283759 | Iso | Nov 2010 | A1 |
20100309139 | Ng | Dec 2010 | A1 |
20100311337 | Riviere | 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 |
20110013785 | Kim | 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 |
20110141052 | Bernstein | Jun 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 |
20110225549 | Kim | Sep 2011 | A1 |
20110234545 | Tanaka | Sep 2011 | A1 |
20110248978 | Koyama | Oct 2011 | A1 |
20110260988 | Colgate | Oct 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 |
20120030628 | 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 |
20120104901 | Jiang | May 2012 | A1 |
20120120031 | Thuillier | May 2012 | A1 |
20120126962 | Ujii | May 2012 | A1 |
20120127088 | Pance | May 2012 | A1 |
20120140954 | Ranta | Jun 2012 | A1 |
20120144293 | Kim | 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 |
20120235866 | Kim | Sep 2012 | A1 |
20120242603 | Engelhardt | Sep 2012 | A1 |
20120270605 | Garrone | Oct 2012 | A1 |
20120272089 | Hatfield | Oct 2012 | A1 |
20120278490 | Sennett | Nov 2012 | A1 |
20120280944 | St Pierre | 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 |
20130141364 | Lynn | Jun 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 |
20150002452 | Klinghult | 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 |
20150366504 | Connor | Dec 2015 | A1 |
20160048266 | Smith | Feb 2016 | A1 |
20160062517 | Meyer | Mar 2016 | A1 |
20160070404 | Kerr | Mar 2016 | A1 |
20160091308 | Oliaei | Mar 2016 | A1 |
20160139717 | Filiz | May 2016 | A1 |
20160162044 | Ciou | Jun 2016 | A1 |
20160179249 | Ballan | Jun 2016 | A1 |
20160209944 | Shim | Jul 2016 | A1 |
20160282312 | Cable | Sep 2016 | A1 |
20160282965 | Jensen | Sep 2016 | A1 |
20160349922 | Choi | Dec 2016 | A1 |
20170010697 | Jiang | Jan 2017 | A1 |
20170020402 | Rogers | Jan 2017 | A1 |
20170024055 | Schwarz | Jan 2017 | A1 |
20170083164 | Sheng | Mar 2017 | A1 |
20180032211 | King | Feb 2018 | A1 |
20180067612 | Smith | Mar 2018 | A1 |
20180129333 | Zheng | May 2018 | A1 |
20180136770 | Kwong | May 2018 | A1 |
20180143669 | Bok | May 2018 | A1 |
20180348014 | Astley | Dec 2018 | A1 |
20190212846 | Nathan | Jul 2019 | A1 |
20190383676 | Foughi | Dec 2019 | A1 |
Number | Date | Country |
---|---|---|
1914585 | Feb 2007 | CN |
101133385 | Feb 2008 | CN |
101373415 | Feb 2009 | CN |
101568898 | Oct 2009 | CN |
101669088 | Mar 2010 | CN |
101978344 | Feb 2011 | CN |
103890701 | Jun 2014 | CN |
104169848 | Nov 2014 | CN |
103677339 | Jul 2017 | CN |
2315101 | Apr 2011 | EP |
2315101 | Jan 2014 | EP |
2948787 | Feb 2011 | FR |
H07160355 | Jun 1995 | JP |
2005092527 | Apr 2005 | JP |
5723499 | May 2015 | JP |
20040017272 | Feb 2004 | KR |
20070005580 | Jan 2007 | KR |
20080005990 | Jan 2008 | KR |
20110001839 | Jan 2011 | KR |
WO-03005292 | Jan 2003 | WO |
2006131022 | Dec 2006 | WO |
2006115947 | Jun 2007 | WO |
WO-2006115947 | Jun 2007 | WO |
2009028680 | Mar 2009 | WO |
2011010037 | Jan 2011 | 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 |
2014066621 | Jun 2014 | WO |
WO-2014209757 | Dec 2014 | WO |
WO-2015027017 | Feb 2015 | WO |
2015127167 | Aug 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. |
Number | Date | Country | |
---|---|---|---|
20180129355 A1 | May 2018 | US |