Patent Publication Number: US-11029785-B2

Title: Method for improving accuracy of touch screen event analysis by use of spatiotemporal touch patterns

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of and claims the benefit of priority under 35 U.S.C. § 120 of U.S. patent application Ser. No. 14/495,041, filed 24 Sep. 2014, entitled, “METHOD FOR IMPROVING ACCURACY OF TOUCH SCREEN EVENT ANALYSIS BY USE OF SPATIOTEMPORAL TOUCH PATTERNS”, which application is incorporated herein by reference in its entirety for all purposes. 
    
    
     COPYRIGHT NOTICE 
     A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. 
     TECHNICAL FIELD 
     The present invention relates generally to the field of touch screen technology and more particularly to the use of known non-random patterns of touch events to increase the accuracy of the analysis of touch screen events. 
     BACKGROUND 
     The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also be inventions. 
     Various electronic devices today are typically operated by a user interacting with a touch screen. This feature is particularly a characteristic of the recent generation of smart phones. Typically, touch screen display screens respond to finger contact to activate the display for further processes. Contact may also be nude using tools such as a stylus, other parts of the hand such as the palm and various parts of the finger. In many of these systems, touch type classification accuracy is not 100%. Put simply, sometimes the input type is confused. Thus, there is a need for mechanisms to help reduce errors. 
     BRIEF SUMMARY 
     Embodiments of the present invention include a method of analyzing touch screen events based on characterization of features derived from each touch event. The method comprises detecting touch events on a touch sensitive surface; generating vibro-acoustic waveform signals using at least one sensor detecting each such touch event; converting the waveform signals into at least a domain signal; extracting distinguishing features from said domain signal; and classifying said features to analyze the domain signal by employing spatiotemporal event data to weight the analysis of the touch events. 
     Other aspects and advantages of the present invention can be seen on review of the drawings, the detailed description and the claims, which follow. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The included drawings are for illustrative purposes and serve only to provide examples of possible structures and process steps for the disclosed techniques. These drawings in no way limit any changes in form and detail that may be made to embodiments by one skilled in the art without departing from the spirit and scope of the disclosure. 
         FIG. 1  is a block diagram of a computing system for analyzing a touch screen event; 
         FIG. 2  shows one example of a rapid sequence of two touch events (within 100 ms) relying on classification confidence levels alone; 
         FIG. 3  illustrates graphically the event sequence weights derived from spatiotemporal historical data for four different possible interpretations of the two touch rapid sequence of  FIG. 2 ; 
         FIG. 4  illustrates how combining classification confidence levels and event sequence weights alters the likely result of the analysis; and 
         FIG. 5  is a flow chart diagram of an exemplary embodiment of the method of the invention. 
     
    
    
     DETAILED DESCRIPTION 
     Embodiments of the present invention takes advantage of the fact that humans and user interfaces generate non-random patterns of events. Put simply, after one touch event, certain actions are more likely to follow than others. For example, if the system sees a palm touch, which then disappears (presumably lifted from the screen), and then sees a new touch event in the same position within 300 ms, it is much more likely that the user has re-rested their palms, than moved a finger underneath their previous palm position at high velocity. Another example of an action is a double touch with the knuckle (i.e., a “double knock”). These usually occur in quick succession—“knock knock”—often within $500 ms and within the same region of the screen. Thus if a touch event is classified as a knock, and then within 500 ms a new event in a similar location occurs, but the classification confidence is low (e.g., 60% nail, 40% knuckle), the classifier may add weight to a knuckle classification since this touch sequence is far more likely. Put succinctly, knowledge about the probabilities of follow-on touch events can be used to bias subsequent classification, adding weight to particular events. Additionally, events do not have to be the same touch type. For example, if a double knock event is frequently followed by a swipe with the fingertip and rarely with a third knock, if a third event occurs (meeting the necessary spatiotemporal criteria), the classifier will weigh the tip swipe as the more likely classification. Such temporal patterns may be “learned” over a period of time in response to actual sequences of users thereby developing a personalized history of touch sequences for each individual user. 
     Applications of methods and apparatus according to one or more embodiments are described in this section. These examples are being provided solely to add context and aid in the understanding of the present disclosure. It will thus be apparent to one skilled in the art that the techniques described herein may be practiced without some or all of these specific details. In other instances, well known process steps have not been described in detail in order to avoid unnecessarily obscuring the present disclosure. Other applications are possible, such that the following examples should not be taken as definitive or limiting either in scope or setting. 
     In the following detailed description, references are made to the accompanying drawings, which form a par of the description and in which are shown, by way of illustration, specific embodiments. Although these embodiments are described in sufficient detail to enable one skilled in the art to practice the disclosure, it is understood that these examples are not limiting, such that other embodiments may be used and changes may be made without departing from the spirit and scope of the disclosure. 
     One or more embodiments may be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, a computer readable medium such as a computer readable storage medium containing computer readable instructions or computer program code, or as a computer program product comprising a computer usable medium having a computer readable program code embodied therein. 
     The disclosed embodiments may include a method for analyzing touch screen events based on characterization of features derived from each touch event. The method comprises detecting touch events on a touch sensitive surface; generating vibro-acoustic waveform signals using at least one sensor detecting each such touch event; converting the waveform signals into at least a domain signal; extracting distinguishing feature from the domain signal; and classifying the features to analyze the domain signal by employing spatiotemporal event data to weight the analysis. 
     The disclosed embodiments may include a method of analyzing touch screen events based on characterization of features derived from each touch event. The method comprises detecting touch events on a touch sensitive surface; generating vibro-acoustic waveform signals using at least one sensor associated with the touch events; converting the waveform signals into at least one domain signal; extracting distinguishing features from the domain signal; and classifying the features to analyze the domain signal by employing spatiotemporal event data to weight analysis of the touch events. 
     The disclosed embodiments may include computer readable medium containing instructions for classifying multiple touch event sequences in touch screen devices to improve the accuracy of determining the characteristics of the touch events imparted to a touch screen. Execution of the program instructions by a processor may cause the processor to analyze each touch event in the sequence to determine within a level of confidence what hand part caused the touch event; determine likelihoods of possible hand part touch event sequences; and combine the level of confidence for each touch event in the sequence and the likelihoods of possible hand part sequences to produce a most likely result of what hand part actually generated each touch event in the sequence. The hand part may be at least one of a fingertip, a finger knuckle, a fingernail and a hand palm. The instructions to determine likelihoods of possible hand part touch event sequences may use elapsed time over the multiple touch event sequences to determine the likelihoods. The instructions to combine the level of confidence for each touch event in the sequence and the likelihoods of possible hand part sequences may include weighting of the confidence levels by the likelihoods. The instructions to combine may include instructions to multiply the confidence levels by the likelihoods. 
     In general, when using a touch screen or touch-sensitive device, touch screen events may occur when contact is made with the touch screen using tools such as a stylus, other parts of the hand such as the palm and various parts of the finger, i.e., pad, nail, knuckle, etc. Each such different type of touch mechanism produces a different type of digital signature. Moreover, each user of a touch screen device may have his or her own unique touch event characteristics resulting from anatomical differences such as fleshiness, finger size, finger shape, BMI and the like. These differences in touch event characteristics, whether the result of different user anatomies or different touch mechanisms, may be used advantageously to improve the touch screen technology by enabling different types of touch, reducing ambiguities, distinguishing between users, responding only to intentional touch events and the like. Such advantageous uses are derived from sophisticated sensor-based analysis of the touch event coupled with one or more algorithms designed to provide further analytical characteristics otherwise hidden or not readily apparent in the data generated by the touch event. By way of example, one such apparatus is disclosed in pending U.S. patent application Ser. No. 14/483,150 filed on Sep. 11, 2014 by the Applicant hereof and entitled “METHOD AND APPARATUS FOR DIFFERENTIATING TOUCH SCREEN USERS BASED ON TOUCH EVENT ANALYSIS”. This co-pending application discloses that when a user touches a touch screen a mechanical force is applied to the screen resulting in mechanical vibrations that may be captured by a variety of sensors such as impact sensor, vibration sensors, accelerometers, strain gauges or acoustic sensor such as a microphone. 
     Once the vibro-acoustic signal has been captured, it can be converted into a series of features, for example; Average acoustic power, Standard Deviation, Variance, Skewness, Kurtosis, Absolute sum, Root Mean Square (RMS), Dispersion, Zero-crossings, Spectral centroid, Spectral density, Linear Prediction-based Cepstral Coefficients (LPCC), Perceptual Linear Prediction (PLP), Cepstral Coefficients Cepstrum Coefficients, MeI-Frequency Cepstral Coefficients (MFCC), Frequency phases (e.g., as generated by an FFT). 
     Simultaneously, many touch screen technologies are able to digitize several aspects of a touch event, such as the shape, size, capacitance, orientation, pressure, etc. The latter may be used as distinguishing features, or such features can be derived from them. 
     Because human fingers vary in their anatomical composition, their acoustic and touch properties can vary between humans. Moreover, the way users touch a screen can also be distinguishing (e.g., what finger, what part of the finger, how flat, how hard). Thus, the vibro-acoustic features and touch features contain properties that can be characteristic of different users and different parts of user&#39;s hands (e.g., finger tip, knuckle, nail). 
     It is thus possible to provide a classifier that can run on a touch computing device that upon receipt of a touch event, makes a guess about which user is operating the device, or whether the user is authorized or has any personalized features. Alternatively, it is also possible to provide a classifier that can run on a touch computing device that upon receipt of a touch event, makes a guess about what part of the finger was used to contact the screen. 
     In one exemplary embodiment thereof, the disclosed process may include the following operations and may include the following components; 
     (a) a sensing system that may be configured to continuously sample vibro-acoustic data, saving it into a buffer. This buffer can be of many lengths such as, for example 50 milliseconds; 
     (b) a touch sensitive screen may be configured wait for a touch event to occur. Any number of touch technologies may be possible. The operations of the touch sensitive screen may be configured to operate in parallel with the sensing system; 
     (c) when the touch sensitive screen detects a touch event, it may be configured to trigger a conversion, feature extraction, and classification process: 
     (d) the data from the vibro-acoustic buffer is retrieved. Because the touch screens typically have some latency, it may be necessary to look backwards in the buffer to find the vibro-acoustic waveform that corresponds to the touch impact (e.g., if the touch screen has a 20 ms latency, it may be necessary to look back in the buffer 20 ms to find the corresponding vibro-acoustic event). All or part of the buffer may be saved and passed to the next operations; 
     (e) conversion operations may be performed next. The waveform from the sensor is a time-domain representation of the vibro-acoustic signal. In addition to saving the waveform, the signal is converted into other forms. This includes filtering the waveform and transforming into other forms, including frequency domain representations; 
     (f) feature extraction operations may be performed next, where touch screen controller data and vibro-acoustic data are analyzed to extract features that characterize different users. For the vibro-acoustic data, features are computed for all representations of the signal; 
     (g) these features are then passed to a classification unit, which uses the information to label the touch event with a user (in addition to whatever the touch sensitive screen reports, e.g., X/Y position, major/minor axes, pressure, etc.); 
     (h) the augmented touch event is then passed to the OS or end user applications, to associate a use based on the touch event. 
     For some embodiments, a classifier may be configured to use one or more of the following features to perform its operations: location of touch contact (2D, or 3D in the case of curved glass or other non-planar geometry), size of touch contact (some touch technologies provide an ellipse of the touch contact with major and minor axes), rotation of the touch contact, surface area of the touch contact (e.g., in squared mm or pixels), pressure of touch (available on some touch system), shear of touch (“shear stress”, also called “tangential force” in the literature, arises from a force vector perpendicular to the surface normal of a touch screen. This is similar to normal stress—what is commonly called pressure—which arises from a force vector parallel to the surface normal.”), number of touch contacts, capacitance of touch (if using a capacitive touch screen), swept frequency capacitance of touch (if using a swept frequency6 capacitive touch screen), and swept frequency impedance of touch (if using a swept frequency capacitive touch screen). The computation phase may also compute the derivative of the above features over a short period of time, for example, touch velocity and pressure velocity. Other features that the classifier may also use include shape of touch (some touch technologies can provide the actual shape of the touch, and not just a circle or ellipse), and image of the hand pose (as imaged by e.g., an optical sensor, diffuse illuminated surface with camera, near-range capacitive sensing). 
     The classification engine may use any number of approaches, including but not limited to basic heuristics, decision trees, Support Vector Machine, Random Forest, Naïve bayes, elastic matching, dynamic time warping, template matching, k-means clustering, K-nearest neighbors algorithm neural network, Multilayer perceptron, multinomial logistic regression, Gaussian mixture models, and AdaBoost. Additionally, the results from several different classifiers may be combined through, for example, a voting scheme. 
     For some embodiments, it may be possible to use different classifiers based on one or more features. For example, two classifiers could be employed, one for processing sensor waveforms with a high Standard Deviation, and another classifier for waveforms with low Standard Deviation. 
     By employing such classification, touch screen technologies are able to classify what type of touch event occurred. For example, some screens differentiate between finger touches and touches by the palm (which are often rejected as inadvertent input). Alternatively, some systems differentiate between finger touches and those made with a stylus. In the case of the aforementioned disclosure, the system can differentiate between e.g., fingertips, knuckles, nails, stylus and other implements. 
       FIG. 1  is a block diagram of a computing system for analyzing a touch event based on use of resulting signals in accordance with an embodiment of the present invention. The computing system of the embodiment may have an operating (OS), and can run various types of services or applications, known as apps. The computing system may also be equipped with a telecommunication capability that can allow connections to a communications network. Such a computing system may include, but not be limited to, a table top computer (e.g., Surface Computing), laptop computer, desktop computer, mobile computer, mobile internet device, mobile phone, smart-phone, PDA (Personal Digital Assistant), game console, portable media player, and the like. 
     Referring to  FIG. 1 , the computing system includes a touch screen  100 , a touch event detector  110 , a classifier  120  and an OS  130 . The touch screen  100  is an electronic visual display and serves also as an input/output device supplementing or substituted for a keyboard, a mouse, and/or other types of devices. The touch screen  100  displays one or more interactive elements such as graphical representation for services or applications designed to perform a specific function on the computing system. Touching the interactive elements with the finger parts of user, including the conventional tip of the finger, causes the OS  130  to activate the application or service related to the interactive elements appropriate to the identified user. Fingers are diverse appendages, both in their motor capabilities and their anatomical compositions. A single digit contains different parts such as one or more knuckles, a tip, pad and fingernail. 
     When an object strikes a certain material, vibro-acoustic waves propagate outward through the material or along the surface of the material. Typically, interactive surfaces use rigid materials, such as plastic or glass, which both quickly distribute and faithfully preserve the signal. As such, when one or more fingers touch or contact the surface of the touch screen  100 , vibro-acoustic responses are produced. The vibro-acoustic characteristics of the respective user fingers and their respective unique anatomical characteristics produce unique responses for each user. 
     Referring back to  FIG. 1 , the touch event detector  110  detects the touch event entailing the vibro-acoustic signal. The touch event detector  110 , for example, may be arranged at a rear side of the touch screen so that the vibro-acoustic signal caused by the touch event can be captured. The touch event detector  110  can be triggered by the onset of the vibro-acoustic signal resulting from the touch event. To capture the touch event and subsequent vibro-acoustic signal, the touch event detector  110  may include one or more impact sensors, vibration sensors, accelerometers, strain gauges, or acoustic sensors such as a condenser microphone a piezoelectric microphone, MEMS microphone and the like. Once the vibro-acoustic signal has been captured by the touch event detector  110 , the vibro-acoustic classifier  120  processes the vibro-acoustic signal to analyze the touch event that activated the touch screen. 
     The OS  130  runs the computing system so that the function can be activated in line with the classification of the vibro-acoustic signals and the corresponding user. The vibro-acoustic classifier  120  includes a segmentation unit  122  to segment the vibro-acoustic signal into a digital representation; a conversion unit  124  to convert the digitized vibro-acoustic signal into an electrical signal; a feature extraction unit  126  to derive a series of features from the electrical signal; and a classification unit  128  to classify touch characteristics using the above-described features to analyze the touch event as will be further described below. 
     The segmentation unit  122  samples the vibro-acoustic signal, for example, at a sampling rate of 96 kHz, using a sliding window of 4096 samples of the vibro-acoustic signal. The conversion unit  124  then performs, for example, a Fourier Transform on sampled time-dependent vibro-acoustic signal to produce an electrical signal having frequency domain representation. For example, the Fourier Transform of this window may produce 2048 bands of frequency power. 
     The vibro-acoustic classifier  120  may further down-sample this data into additional vectors (i.e., buckets often), providing a different aliasing. In addition, additional time-domain features may be calculated from the vibro-acoustic signal, such as the average absolute amplitude, total absolute amplitude, standard deviation of the absolute amplitude, the center of mass for both the segmented input signal and the Fourier Transformed signal, and zero crossings. 
     The feature extraction unit  126  may also calculate a series of features from the frequency domain representation of the vibro-acoustic signals, such as the fundamental frequency of the impact waveform. The classification unit  128  classifies the vibro-acoustic signal using the features to for example distinguish what user generated the touch event, so that the computing system may selectively activate a function related to the identified user depending on the classified vibro-acoustic signals. To aid classification, the user can provide supplemental training samples to the vibro-acoustic classifier  120 . 
     For some embodiments, the classification unit  128  may be implemented with a support vector machine (SVM) for feature classification. The SVM is a supervised learning model with associated learning algorithms that analyze data and recognize patterns, used for classification and regression analysis. The classification process may be made more accurate by exploiting or leveraging known spatiotemporal patterns generated from historical data relating to sequences of multiple touch events within relatively short time windows. By way of example,  FIG. 2  illustrates two touch events that occur 100 milliseconds apart. Normally, as shown further in  FIG. 2 , the first such touch event would be classified as a finger touch rather than a knuckle touch based on an 85% finger versus 15% knuckle classification confidence level. Moreover, the second such touch event would be classified as a knuckle event rather than a finger event based on a 55% knuckle versus 45% finger classification confidence level. These individual touch event confidence levels are provided as examples of typical classification processes that would therefore produce a result in which the analysis would indicate a finger, knuckle sequence. However, in the method of the present invention, event sequence weights are generated based on a history of spatiotemporal data and such weights may alter the results of the classification process. By way of example, the four possible finger and knuckle sequence combinations for two touch events 100 milliseconds apart are shown in  FIG. 3 , As shown therein, based upon such spatiotemporal data, a possible finger, finger interpretation has a likelihood of 45%. A possible finger, knuckle interpretation has a likelihood of 10%. A possible knuckle, knuckle interpretation has a likelihood of 35%. Finally, a possible knuckle, finger interpretation has a likelihood of 10%. 
     These likelihood figures are used herein for purpose of illustration only, however one can see that in two touch events only 100 milliseconds apart, it is far more likely that both events would come from the same hand part (i.e., both finger or both knuckle) simply because it would be less likely for a user to change hand parts in such a short period of time. On the other hand, if the time period were greater (i.e., &gt;500 ms) then the greater opportunity for changing hand parts in that greater time period, would raise the likelihood of a finger, knuckle or knuckle, finger interpretation. 
     In any event, once these event sequence weights are accessed, they may be used to alter the classification by combining classification confidences with such sequence weights. One example of such combining, by for example multiplication is shown in  FIG. 4 . In the equations of  FIG. 4 , the first two numbers for each possible interpretation of the two touch event sequence of  FIG. 2 , are classification confidences and the third number is the likelihood derived from the spatiotemporal data as depicted in  FIG. 3 . Thus, for example, in the equation for the finger, finger interpretation of  FIG. 4 , the first two numbers are 85% (first finger) and 45% (second finger) from  FIG. 2  and the third number is 45% (likelihood for finger, finger). 
     By carrying out the multiplications of  FIG. 4 , it is seen that the weighted results are 0.127 for finger, finger; 0.047 for finger, knuckle; 0.029 for knuckle, knuckle; and 0.007 for knuckle, finger. Thus, using spatiotemporal weighting, the classification most likely result is finger, finger rather than finger, knuckle which would be the result without such weighting. It should be noted that weighting techniques other than simple multiplication are also contemplated. 
       FIG. 5  is a flow chart representation of an embodiment of the method described herein. As shown therein, a touch event sequence  140  results in a touch event analysis step  144 , which selects a hand part based on a higher level of confidence. Either prior to the touch event or concurrently therewith, a history of likelihoods of possible hand part touch sequences is established in step  142  and these data are combined in step  146  with the results of step  144  to produce a weighted likely result in step  148 . 
     These and other aspects of the disclosure may be implemented by various types of hardware, software, firmware, etc. For example, some features of the disclosure may be implemented, at least in part, by machine-readable media that include program instructions, state information, etc., for performing various operations described herein. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher-level code that may be executed by the computer using an interpreter. Examples of machine-readable media include, but are not limited to, magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (“ROM”) and random access memory (“RAM”). 
     Any of the above embodiments may be used alone or together with one another in any combination. Although various embodiments may have been motivated by various deficiencies with the prior art, which may be discussed or alluded to in one or more places in the specification, the embodiments do not necessarily address any of these deficiencies. In other words, different embodiments may address different deficiencies that may be discussed in the specification. Some embodiments may only partially address some deficiencies or just one deficiency that may be discussed in the specification, and some embodiments may not address any of these deficiencies. 
     While various embodiments have been described herein, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present application should not be limited by any of the embodiments described herein, but should be defined only in accordance with the following and later-submitted claims and their equivalents.