IMPROVING THE ACCURACY OF TOUCH-SENSITIVE DEVICES
By classifying contacts on touch-sensitive devices using shape, duration, size, and sensor data, the method addresses the challenge of distinguishing anchor contacts from intended user inputs, thereby improving accuracy and responsiveness, particularly in vehicle-mounted devices.
Patent Information
- Application Number
- DE102016225554
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2016-06-28
- Filing Date
- 2016-12-20
- Publication Date
- 2025-06-12
- Estimated Expiration
- 2036-12-20
AI Technical Summary
Touch-sensitive devices, especially those in vehicles, face challenges in accurately distinguishing between intended user inputs and anchor contacts, leading to reduced accuracy and responsiveness.
A method and system for classifying sensed contacts on touch-sensitive devices as anchors, using characteristics such as shape, duration, size, and location, along with sensor data from accelerometers and pressure sensors, to differentiate them from intended user inputs.
This approach significantly improves the accuracy of user input detection by effectively filtering out anchor contacts, enhancing the responsiveness and precision of touch-sensitive devices, especially in in-vehicle applications.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNICAL FIELDThis specification relates to touch-sensitive devices and, more particularly, to improving the accuracy of user input detection performed by touch-sensitive devices.BACKGROUNDTouch-sensitive devices, such as touch screens, track pads, and the like, enable users to provide user input through contact with a surface of a touch-sensitive device using a stylus, a finger, or other body part or instrument. Touch-sensitive devices are typically a component of a larger computing system capable of presenting content or other information on a display or other user interface such that user input is processed at the touch-sensitive device to correspond to specific coordinates or areas of the display or interface. In some instances, touch-sensitive devices enable the users to provide multiple inputs simultaneously, and the touch-sensitive device may process the multiple inputs simultaneously performed. US 2013 / 0 100 043 A1 describes a method of operating an aircraft having a cockpit with a flight deck having at least one touch screen display, including detecting an object touching the at least one touch screen display to define a touch input and determining whether the touch input is invalid on the at least one touch screen display. US 2016 / 0 077 650 A1 describes techniques that implement a classification process to evaluate information associated with a tool input (e.g., from an input tool such as a stylus or a stylus) and a user input (e.g., from a finger or palm) to determine whether the user input is an intended or an unintended touch. US 2012 / 0 158 629 A1 describes a computer device for detecting and addressing unintentional touches of a hand region (e.g. a palm) or of another object with a computer device. US 2013 / 0 044 070 A1 discloses a method for rejecting unintentional palm contact. US 2012 / 0 182 238 A1 relates to devices with touchscreens, and more particularly to a method that removes input due to palm touch and processes only pen touch as effective input in an environment where the pen touch and palm touch are applied to a touchscreen simultaneously, thereby improving recognition of the pen touch.SUMMARYA computer-implemented method is defined in claim 1, a system is defined in claim 14, and a non-transitory computer-readable storage medium is defined in claim 18. When using a touch-sensitive device, such as a touch screen or trackpad, a user may attempt to improve the accuracy of user inputs using an "anchor" or contact that he makes in providing the inputs to the touch-sensitive by resting his hand. The user may manipulate such an anchor by immobilizing his hand by placing a portion of his hand or wrist on a portion of an input area of a touch-sensitive device while providing intended user input using a finger, stylus, or other instrument to increase the user's ability to provide the user input to the touch-sensitive device in a precise manner. For example, a user of a tablet computer having a touch screen may create an anchor by resting his middle and ring finger on the touch screen while providing an intended user input using his index finger. In some instances, the anchor may be erroneously interpreted as a user input on the touch-sensitive screen, which may lead to frustrations in the user's efforts to control a computing system using a touch-sensitive device.The prevalence of using an anchor is particularly high in in-vehicle touch devices. For example, when a touch screen is attached to the dashboard of a vehicle, a user may need to extend his arm significantly to touch the touch screen, and this significant extension results in lower touch accuracy. Moreover, the movement of a vehicle makes it difficult to perform precise user inputs. As a result, users often intentionally or accidentally make anchor contacts when using touch-sensitive devices located in vehicles that are not intended user inputs to the computing system.The present disclosure addresses this issue by providing methods and systems for classifying sensed contacts on touch-sensitive devices as anchors to distinguish such contacts from other contacts intended as user inputs to control a computing system. For example, a contact on a touch-sensitive device that is determined to correspond to the typical shape of an anchor, e.g., a contact having a shape that typically corresponds to a side of a user's hand, may be classified as an anchor and thus not be processed as a user input, the intention of which is to control a computer system that is associated with the touch-sensitive device. Other factors and characteristics may also be considered in processing contacts with a touch-sensitive device to identify anchors. For example, a duration, size, or location of a contact may be either taken alone or evaluated relative to other contacts to determine whether the contact is an armature. In some implementations, contact data may be processed in combination with sensor data, such as accelerometer or pressure sensor data, when it is determined whether a particular contact is to be classified as an anchor.Innovative aspects of the subject matter described in this specification can be embodied in methods that include the actions of receiving data performed by one or more computing devices, associated with a contact made by a user detected on a touch-sensitive device, analyzing contact variations that result over time performed by one or more computing devices, determining by one or more computers a confidence score of the anchor that indicates whether the contact represents a user input made using a touch-sensitive device, the confidence score of the anchor being made based at least on the analysis of contact variations that result over time, the classification of the contact as an anchor performed by one or more computers based on at least the confidence score of the anchor and based on the classification of the contact as an anchor corresponding to processing of the contact as a user input into the touch-sensitive device not performed by one or more computing devices.These and other embodiments may optionally include one or more of the following features. In several examples, determining the confidence evaluation result of the anchor is based on the analysis of the shape of the contact; the analysis of the contact variations over time comprises the analysis of a change in the contact pressure over time; the analysis of the change in the contact pressure over time comprises: obtaining motion data from one or more motion sensors, wherein the one or more motion sensors detect a motion of the touch sensitive device over time and analyze the change in the contact pressure over time based on at least the motion data.In various other examples, the touch-sensitive device is installed in a vehicle and the one or more motion sensors are configured to detect motion of the vehicle, wherein obtaining the motion data comprises obtaining motion data from one or more motion sensors indicative of motion of the vehicle over time, and wherein analyzing the contact pressure change over time based at least on the motion data comprises analyzing a contact pressure change on the touch-sensitive device installed in the vehicle performed by the user based at least on the motion of the vehicle over time; The analysis of the change in contact pressure over time includes obtaining data corresponding to a second contact made by the user of the touch-sensitive device, determining a change in pressure of the second contact over time, and comparing the change in contact pressure relative to the change in pressure of the second contact over time.In various examples, the analysis of contact variations occurring over time includes the following: determining a movement of the contact over a certain amount of time, obtaining motion data from one or more motion sensors, the one or more motion sensors sensing the movement of the touch-sensitive device over a certain amount of time, and comparing the movement of the contact over the respective amount of time with the motion data indicative of the movement of the touch-sensitive device over the corresponding amount of time; analyzing the contact variations over time includes determining that a contact patch on the touch-sensitive device does not correspond to one or more user selectable content patches displayed on the touch-sensitive device or corresponds to the one or more user selectable content patches displayed on the touch-sensitive device, and wherein determining the confidence evaluation result of the anchor based on at least the analysis of the contact variations over time includes determining the confidence output result of the anchor based on at least the determination that the contact patch on the touch-sensitive device does not correspond to the one or more user executable content patches displayed on the touch-sensitive device or corresponds to two or more user executable content patches displayed on the touch-sensitive device.In various other examples, the features may optionally include receiving data corresponding to a second contact made by the user at the touch-sensitive device, the second contact occurring while the contact is occurring at the touch-sensitive device, thereby calculating a distance between a contact location at the touch-sensitive device and a second contact location at the touch-sensitive device and comparing the calculated distance between the contact location at the touch-sensitive device and the second contact location at the touch-sensitive device to a threshold distance, wherein the determining the confidence evaluation result is further based on the comparison of the calculated distance between the contact location at the touch-sensitive device and the contact location at the touch-sensitive device to the threshold distance.In various other examples, the features may optionally include obtaining data corresponding to a second user contact on the touch-sensitive device, wherein the second contact occurs while the contact is occurring on the touch-sensitive device, thereby determining a relationship between a second contact pad on the touch-sensitive device and a contact pad on the touch-sensitive device, wherein the determining the confidence evaluation result of the anchor is further based on the relationship between a second contact pad on the touch-sensitive device and a contact pad on the touch-sensitive device.In various other examples, the features may optionally include the following: after classifying the contact as an anchor, monitoring one or more user-related interactions performed by one or more computing devices with a computing system associated with a touch-sensitive device, adjusting, by one or more computing devices, the one or more factors used to generate confidence evaluation results of the anchor based at least on the one or more user-related interactions with the computing system associated with the touch-sensitive device, and generating, by one or more computing devices and using the adjusted one or more factors, a second confidence evaluation result of the anchor indicating whether a second contact on the touch-sensitive device represents user input, This was done using the touch sensitive device.In various other examples, the features may optionally include obtaining data corresponding to a second contact made by the user at the touch-sensitive device, the second contact occurring while the contact is currently occurring at the touch-sensitive device, and determining a duration of the second contact, wherein the determining the second confidence evaluation result of the anchor is further based on the duration of the second contact; The features may optionally include determining sizes of the one or more content topics displayed on the touch-sensitive device, thereby determining a size of the contact and comparing the size of the contact to sizes of the one or more content topics displayed on the touch-sensitive device, wherein determining the confidence evaluation result of the anchor is further based on comparing the size of the contact to sizes of the one or more content topics displayed on the touch-sensitive device.In various other examples, the features may optionally include receiving, by one or more computing devices, data corresponding to a user input made at the input device different from the input made at the touch-sensitive device, wherein determining the confidence evaluation result of the anchor based on at least the analysis of the contact variations occurring over time comprises determining the confidence evaluation result of the anchor based on at least the receipt of the data corresponding to a user input made at the input device different from the input made at the touch-sensitive device by a user.The details of one or more embodiments of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other potential features, aspects and advantages of the subject matter will become apparent from the description, drawings and claims.BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 illustrates a system for detecting anchoring on the touch-sensitive device. FIGS. 2A-2D depict examples of detecting the anchoring to the touch-sensitive device using sensor data. FIG. 3 is a flow diagram of an example method for detecting anchoring to a touch-sensitive device.Like reference numerals in the various drawings indicate like elements.DETAILED DESCRIPTIONAccording to the present invention, various contacts detected on the touch sensitive device are processed and classified. Some contacts are classified as anchors and are distinct from the contacts most likely to be provided as user inputs. For example, a user having a computing system including a touch-sensitive device may interface with an input area of the touch-sensitive device. The contact may be detected and processed to determine whether the contact is to be classified as an anchor or a user input, the intention of which is to control the computing system. If the contact is classified as an anchor, the contact is not processed as a user input for controlling the computing system. Otherwise, the contact may be classified as a user input and processed as an input for controlling the computing system. Processing the contact to classify it as either an anchor or a user input may take into account information related to the characteristics of the contact, variations in the contact over time, other contacts made by the user at the touch-sensitive device, data received from other sensors associated with the computing system, and user activity or chronological data. The techniques discussed herein may significantly increase the accuracy of determining whether a contact represents an anchor or an intended user input. In turn, this improves the responsiveness of the computing system, allowing it to better filter out anchors and other irrelevant contacts to not have to react to while responding to legitimate inputs. Classifying a contact as an anchor, e.g., such that it is not processed as a user input, enables the user to increase the accuracy of the intended user inputs, which is particularly useful when the user is required to extend his arm to interact with the touch-sensitive device or when the input range of the touch-sensitive device is too large to enable the user to perform an anchor on a surface that is outside the touch input range.For example, a vehicle, such as a car, may include a touch-sensitive display with which a driver or passenger of the vehicle may interact to control one or more vehicle systems, such as a stereo, a heating, a ventilation, an air conditioning (HVAC) system, a navigation system, a media playback system, or other systems. Such touch screens are often integrated into a dashboard or a rear seat of the vehicle. Due to the distance between the driver or the passenger and the input area of the touch-sensitive screen mounted in an instrument panel or a rear seat, it may prove difficult for a driver or a passenger to provide a precise input to the input area, since the user must extend the entire length of his arm in order to be able to contact the input area. To overcome this problem, drivers or passengers may attempt to improve the accuracy of their intended user inputs by anchoring a portion of their hand or wrist to another point of the touch screen input area. Accordingly, when contacts are detected at an input area of a touch-sensitive display, data indicative of that contact is processed to classify the contacts as either intended user inputs or anchors that merely serve to smooth the hand of the driver or passenger while providing the intended user inputs. This type of processing may improve the accuracy of user interaction with the touch-sensitive display by avoiding armature contacts being interpreted as intended user inputs or vice versa. By this determination, a computing system associated with a touch-sensitive display installed in a vehicle may consider various information regarding contacts detected in the input area of the touch-sensitive display as well as other information.FIG. 1 depicts an example computer system 100 for detecting the time at which a user 102 anchor the touch-sensitive device. In general, the computing system 100 is capable of detecting contacts on the touch-sensitive device 110 of the computing system 100 and determining whether to process each contact as a user input to control the computing system 100, i.e., an input that a user most likely tracked the intention to control one or more actions taken by the computing system 100, or as an anchor that should be ignored, i.e., no treatment as a user input to control the computing system 100. In some implementations, as seen in FIG. 1, the computing system 100 may be associated with a vehicle 104, such as a car, and components of the computing system 100 may form part of an in-vehicle processing system.In short, the computing system 100 includes a touch-sensitive device 110 that includes an input region 120 with which the user 102 makes contact to interact with the computing system 100. To process information corresponding to contact of a user 102 sides with the input area 120, the computing system 100 may also include a graphical interface unit 140 that controls presentation of the information to the user 102 in the graphical user interface (GUI). One or more motion sensors 150 provide information indicative of movement of the computing system 100 including the touch-sensitive device 110. These sensors 150 may be sensors integrated with the vehicle 104, or may be separate sensors provided as part of the in-vehicle processing system. In some instances, the sensors 150 include sensors of the one or more devices, such as a phone, a clock, or other user device located in the vehicle 104. To determine whether a particular contact of a user's sides with the input region 120 represents an anchor, the computing system 100 may also obtain information from an activity summary 160 that indicates both past interactions of users with the touch-sensitive device 110 and confidence evaluation result factors of the anchor 170 used by the computing system 100 to determine whether the particular contact should be classified as an anchor or a user input to control the computing system 100. Processing performed by the computing system 100 to determine whether to classify the particular contact as an anchor or a user input may be performed by an anchor determination engine 130 of the computing system 100.In some implementations, the computing system 100 may be any of the following devices: a vehicle computing system, a mobile phone, a smart phone, a personal digital assistant (PDA), a music player, an e-book reader, a tablet computer, a laptop computer, or other stationary or portable device having an integrated touch-sensitive device 110, such as a touch screen or trackpad. In other examples, the computing system 100 may be a desktop computer, an automobile or other vehicle-integrated computer, a machine or other plant-integrated computer, a cloud-based or other server computer system, or another computer equipped with an external or remote touch-sensitive device 110. In some implementations, one or more components of computing system 100 may be remotely located from their associated hardware devices. For example, while some of the components of the computing system 100 may be part of a vehicle computing system or smartphone, other components may be located remotely from the vehicle computing system or smartphone, but may be accessible to the vehicle computing system or smartphone via one or more network connections.For example, as seen in FIG. 1, at least the touch-sensitive device 110 and the anchor detection engine 130 are portions of an on-board vehicle processing system installed in a vehicle for controlling the one or more systems of a vehicle, such as the on-board stereo, the HVAC, the navigation device, or the other systems. The user 102, such as a driver or passenger of the vehicle, may interact with the touch-sensitive device 110. This may be a dashboard-mounted multi-touch display for controlling one or more of these systems using the onboard processing system. The onboard processing system may include one or more of the following: the graphical user interface unit 140, motion sensors 150, activity summary 160, or the confidence score factors of the anchor 170. Alternatively, it is also capable of communicating with one or more of these components over a wired or wireless data connection, such as a network.In some implementations, touch-sensitive device 110 may be a touch screen, touch pad, multi-touch display, or other touch-sensitive device that includes an input area 120 configured to detect contacts with input area 120. The touch-sensitive device 110 may be integrated into a separate component by other components of the computing system 100 and may communicate with other components of the computing system 100 via one or more wired or wireless connections including, but not limited to, the one or more network connections.In other examples, touch-sensitive device 110 may be separate from computing system 100 but configured to communicate therewith. In such an instance, the touch-sensitive device 110 may be communicatively coupled to the other components of the computing system 100 via one or more wired or wireless connections to enable contacts on the touch-sensitive device 110 to be processed and identified as either anchors or user inputs for controlling the computing system 100.The touch-sensitive device 110 includes components configured to enable the touch-sensitive device to sense contacts at the input region 120 of the touch-sensitive device 110. The touch-sensitive device 110 may include, for example, a resistive panel, a surface acoustic wave (SAW) sensor panel, a capacitive panel, a projected capacitive panel, e.g., using a projective-capacitive touch technology (PCT) in a common or self-capacitance panel, an infrared light grid, an infrared acrylic projection panel, an optical imaging panel, a dispersive signal technology, e.g., using a piezoelectric panel or an acoustic pulse recognition panel. The touch-sensitive device 110 may be configured such that contact with a user's body, such as a finger or other body part, is detectable at the input region 120 of the touch-sensitive device 110. Additionally or alternatively, the touch-sensitive device 110 may be configured to sense contacts generated by a stylus or other instrument in the touch-sensitive device input area 120.Contacts on the touch-sensitive device 110 may be detected by a touch-sensitive component 115 incorporated into the touch-sensitive device. For example, the touch-sensitive component 115 may include circuitry, processors, and controllers to detect the positions of the one or more contacts within the input region 120 of the touch-sensitive device 110.In some implementations, touch-sensitive device 110 may include one or more additional sensing mechanisms for sensing contacts or characteristics of the contact within input region 120 of touch-sensitive device 110. For example, as seen in FIG. 1, the touch-sensitive device 110 may include one or more pressure sensors 112 for sensing contact-generated pressure sensed within the input region 120 of the touch-sensitive device 110. In some instances, one or more pressure sensors 112 may be separate from touch-sensitive component 115 of touch-sensitive device 110. For example, a touch-sensitive device 110 may employ resistive, capacitive, or other technologies (e.g., quantum switching techniques) for sensing a pressure on the touch-sensitive screen 112 generated by contacts.In other implementations, the touch-sensitive component 115 may also provide and be configured to be capable of performing the functions of the one or more pressure sensors 112. For example, the circuitry used in a resistive touch screen may be adapted to perform pressure sensing in addition to sensing the contact pads within the touch-sensitive device input area 120. In other examples, sensing pressure may be inferred based on characteristics of contact with a touch-sensitive device 110. For example, a contact detected by the touch-sensitive component 115 that increases in size over time may be processed as a contact whose pressure increases more and more because a rise in pressure of the user contact using, e.g., a finger, would cause the finger to become more and more flatter as it would be more and more pressed against the surface of the input region 120 of the pressure-sensitive screen 110.The computing system 100 of FIG. 1 further includes a graphical interface unit 140 for configuring content to be displayed to a user 102 of the computing system 100. For example, the computing system 100 may include a display and the graphical interface unit 140 may configure a GUI for presentation on the display of the computing system 100. In some instances, the display may be integrated with the touch-sensitive device 110, for example, in those cases where the touch-sensitive device 110 is a touch screen. Additionally or alternatively, the display may be separate from the touch-sensitive device 110, such as in cases where the computing system 100 is a laptop or desktop computer having one or more monitors or other display screens. The graphical user interface unit 140 may be capable of configuring a GUI for presentation on one or more displays and associating user inputs with locations on a GUI presented on one or more displays.In some instances, the GUI configured by the graphical interface unit 140 may include one or more content-related units, such as one or more user-selectable icons, images or videos, texts, windows, etc. The graphical interface unit 140 may configure a GUI for presentation to a user, and may also reconfigure the GUI based on the user inputs. For example, the graphical interface unit 140 may update a GUI presented to a user 102 based on the user inputs provided to the computing system 100 interacting with the elements presented in the GUI.In addition, the computing system 100 may use the GUI-related information received from the graphical interface unit 140 to process contacts detected at the touch-sensitive device 110, determine whether to classify and process particular contacts as user inputs, or classify them as anchors and therefore not process as user inputs. For example, when a contact is detected at the touch-sensitive device 110, information specifying a GUI and presented on the display of the computing system 100 may be obtained from the graphical interface unit 140. The contact, in combination with the information specifying the GUI, may be processed to determine whether a contact location on the touch-sensitive device 110 corresponds to a location of a particular content-related entity, e.g., a user-selectable icon presented on the display of the computing system 100. For example, there is a higher likelihood that the computing system 100 will process a contact at a location corresponding to a user-selectable icon than an intended user input. If the processing of the user input and the GUI-related information indicates that the location of the user input does not correspond to a particular content-related entity, there is a higher probability that the contact will be processed as an anchor.The computing system 100 further includes one or more motion sensors 150, such as one or more accelerometers, motion sensors, gyroscopes, or other sensors. In some examples, the one or more motion sensors 150 may be integrated with a device that includes the touch-sensitive device 110, or may be otherwise integrated with the computing system 100. For example, if the computing system 100 is associated with a vehicle, such as a car, an aircraft, a boat, or other vehicle, the motion sensors 150 may be integrated with other components of the vehicle, e.g., a body of a car, and communicatively coupled to the anchor determination machine 130 via one or more wired or wireless connections. Motion related information detected by motion sensors 150 may be considered in processing the contacts detected at touch-sensitive device 110.In some implementations, the computing system 100 may further include or is capable of accessing data regarding the activity history 160. The activity history data 160 may include information indicating operations performed at the computing system 100, user input obtained at the computing system 100, information indicating the ratings of the contacts detected at the touch-sensitive device 110 as either anchors or user inputs, information indicating the user activity or user inputs detected after the rating of the contacts detected at the touch-sensitive device 110 as either anchors or user inputs, or other information related to interactions made by the users with the computing system 100.In some implementations, the activity history data 160 may be stored on-site device that includes the touch-sensitive device 110, e.g., in local memory of the in-vehicle processing system. In other implementations, the activity history data 160 may be stored externally from a device that includes the touch-sensitive device 110, and access thereto may take place via one or more wired or wireless connections. For example, the activity history data 160 may be remotely stored on a server and the anchor discovery engine 130 may access the activity history data 160 located on the server via one or more wired or wireless networks.In some implementations, the computing system 100 may further include or have access to data specifying one or more confidence evaluation result factors of the anchor 170, wherein the one or more confidence evaluation result factors of the anchor 170 are used to rank the contacts detected at the touch-sensitive device 110 as anchors, user inputs, or other contacts, such as random contacts that should not be processed as user inputs or as anchors. In some implementations, the confidence evaluation result factors of the anchor 170 may be stored on-site on a data storage component, e.g., on a storage drive or hard disk of a device that includes the touch-sensitive device 110. In other implementations, the activity history data 160 may be stored externally from a device that includes the touch-sensitive device 110 and the computing system 100 is capable of accessing it via one or more wired or wireless data connections. For example, the confidence score factors of the anchor 170 may be stored remotely on a server and the anchor determination engine 130 may access data corresponding to the confidence score factors of the anchor 170 via one or more wired or wireless networks.In some implementations, the confidence score factors of the anchor 170 may include any number of factors that may be used to calculate a confidence score of the anchor. The calculated confidence evaluation result of the anchor may then be used to rank a contact detected as an anchor at the touch-sensitive device 110. For example, as described with reference to FIG. 2, the calculation of the confidence evaluation result of the anchor for a particular contact detected in the input region 120 of the touch-sensitive device 110 may make statements about factors such as a detected shape, size, or duration of the contact. The confidence evaluation result factors of the armature 170 may take into account a detected pressure or change in the pressure applied by the contact over a longer period of time, i.e., a force applied to the surface of the input portion 120, or a change in the force applied to the surface of the input portion 120, or the timing and / or a detected pressure applied by the contact relative to the detected pressure of the one or more other contacts detected at the input portion 120. The confidence evaluation result factors of the anchor 170 may include factors that take into account the sensed movement of the contact over a particular period of time or that take into account the sensed movement of the contact over a particular period of time relative to the movement of the one or more other contacts sensed at the input region 120.The confidence evaluation result factors of the anchor 170 may include factors that take into account the sensed movement of the contact over a certain amount of time compared to the motion data obtained from one or more of the motion sensors 150, e.g., the sensed movement of the contact compared to the sensed movement of the computing system 100 including the touch-sensitive device 110. The confidence evaluation result factors of the anchor 170 may include factors that take into account a detected relationship of the positioning of a contact detected at the input region 120 and the positions of the one or more content-related entities, e.g., user-executable icons presented on the display of the computing system 100. The relationship between the detected contact and the displayed contents can be determined based on the information from the graphical user interface unit 140 specifying the contents displayed on a GUI. The confidence evaluation result factors of the anchor 170 may take into account relationships between the positions of the contacts detected at the input region 120 of the touch-sensitive device 110. The confidence evaluation result factors of the anchor 170 may take into account a distance of a contact detected at the input region 120 of the one or more other contacts detected at the input region 120 of the touch-sensitive device 110.The confidence evaluation result factors of the anchor 170 may take into account a size, such as a calculated range or dimensions, of the detected contact relative to the one or more user-selectable screeds or other content-related items displayed on the display of the computing system 100. For example, the sizes of the content-related items displayed in accordance with a GUI may be determined by the graphical user interface unit 140 and compared to the size of a contact detected at the input area 120, as the users will likely attempt to provide smaller inputs to select smaller icons. Moreover, because a smaller size of a content-related entity displayed in a GUI may require a user to attempt to interact with the content-related entity. To be more specific, the user is more likely to use an anchor in interacting with a GUI that includes smaller content-related entities. Additionally, in situations where multiple contacts are detected on touch-sensitive device 110, larger contacts may be identified as anchors, while smaller contacts are more likely to be intended user inputs.The confidence evaluation result factors of the armature 170 may take into account previous and subsequent mating contacts detected at the touch-sensitive device 110. For example, repeating contacts at the same location of the input area 120 may indicate that the input should be processed as a user input and not classified as an anchor, while user selection of a "back" or "break" after processing a contact as a user input indicates that the contact was intended as an anchor.The confidence evaluation result factors of anchor 170 may further consider whether user input has been provided to other input devices associated with computing system 100. For example, in those cases where the computing system 100 determines that the user 102 is providing user input on a keyboard while simultaneously making contact with a touch-sensitive device 110, the computing system 100 may rank the contact with the touch-sensitive device 110 as an anchor. Such a determination may be due to the likelihood that simultaneous contact with both the keyboard and the touch-sensitive device 110 is due to the user 102 using the input region 120 of the touch-sensitive device 110 as an anchor for typing on the keyboard. Other factors may be considered and included in the confidence evaluation result factors of the anchor 170.The confidence evaluation result factors of the anchor 170 may be set based on the activity history data 160. The confidence evaluation result factors of the anchor 170 may be adjusted based on the interactions of the user 102 with the computing system 100, e.g., via a computing system 100 or other computing system. For example, after a detected contact with touch-sensitive device 110 is classified as an anchor, if one or more subsequent contacts are detected at a location proximate to input area 120, computing system 100 may determine that the subsequent contacts may be indicative of a user's intention to provide user input at the contact location previously classified as an anchor. Based on the determination, one of the plurality of factors that have been included in the confidence evaluation result factors of the anchor 170 may be updated so that a subsequently-adjacent similar contact may be classified as an anchor.The computing system 100 further includes an anchor determination engine 130 configured to receive and process data from the one or more components of the computing system 100. For example, the anchor detection engine 130 may include one or more processors, memories, interfaces, and other components for obtaining and processing contacts detected at the touch-sensitive device 110.The anchor detection engine 130 may be configured to obtain data from the touch-sensitive device 110 indicating that a contact has been detected at the touch-sensitive device 110. For example, based on the touch-sensitive device 110 detecting a contact in the input area 120, the anchor detection engine 130 may obtain information related to the contact from the touch-sensitive device 110. The armature detection machine 130 may process the information regarding the detected contact to classify the detected contact as an armature.For example, the anchor discovery engine 130 may access or otherwise obtain information from the graphical interface unit 140 that indicates the locations, sizes, types, or other characteristics of the content-related units presented in a user interface of the computing system 100. The anchor detection engine 130 may additionally and alternatively access or otherwise obtain the data of the one or more motion sensors 150 indicative of movement of the computing system 100 and / or the touch-sensitive device 110. In some instances, the anchor discovery engine 130 may additionally or alternatively access or otherwise obtain activity history 160 data for the computing system 100.Based on the received data regarding the sensed contact and, optionally, the data from the one or more of the following: the graphical interface unit 140, the one or more motion sensors 150, or the activity history data 160, the anchor determination engine 130 may determine a confidence score of the anchor using the one or more confidence score factors of the anchor 170. Based on the confidence evaluation result of the anchor generated for the contact, the anchor determination engine 130 may classify the contact as an anchor and thus not process the contact as a user input to control the computing system 100. For example, the armature determination engine 130 may determine that the confidence evaluation result of the armature matches a threshold competence evaluation result of the armature and may classify the contact as an armature based on this determination.Alternatively, if the confidence evaluation result of the anchor does not match the threshold, the anchor determination engine 130 may classify the contact as a user input and thus may proceed to process the contact as a user input for control of the computing system 100. In some implementations, the anchor detection engine 130 may also determine that the detected contact is to be classified as another type of contact, for example, a contact that is not to be treated as either a contact or a user input, as the contact is most likely an inadvertent contact made by the user 102 in the input area 120. For example, the anchor determination engine 130 may separately process the detected contact to determine whether to classify it as a user input, e.g., by determining a confidence level of the user input for the detected contact and determining whether the confidence level of the user input matches a threshold. If the detected contact corresponds to the threshold evaluation results neither the rating as an anchor nor the rating as a user input, the detected contact may be rated as an accidental contact.While described herein as a confidence evaluation result of the armature, other implementations of other metrics may be used to determine whether a contact determined is to be classified as an armature or otherwise. For example, an anchor probability metric may be determined and used to rank a contact as an anchor, or a detected contact may be compared to one or more anchor templates and identified as an anchor based on whether it matches one or more of the anchor templates.In some implementations, the anchor detection engine 130 continues to obtain information regarding the contacts detected at the touch-sensitive device 110 after a particular contact is classified as an anchor, user input, or otherwise, and may update a classification of the particular contact based on the information obtained subsequently. Accordingly, a contact that was not initially classified as an anchor may be reclassified as an anchor based on the fact that the anchor detection engine 130 obtains information after the initial classification regarding the contact or contacts subsequently obtained, information detected at the touch-sensitive device 110. For example, the anchor detection engine 130 may classify a contact as an accidental contact and subsequently reclassify the contact as an anchor if the information obtained subsequently indicates that while the contact is maintained at the input portion 120 of the touch-sensitive device 110, a second touch is detected by the touch-sensitive device that may be interpreted by the anchor detection engine 130 as a user input to the computing system 100.In some implementations, information regarding the sensed contacts on touch-sensitive device 110 after the rating of a particular contact may be stored as activity history data 160 and / or may be used to update one or more anchor-related confidence factors 170. Such information may provide a machine learning method to improve performance of the armature detection machine 130 in rating the contacts detected as an armature or otherwise at the touch-sensitive device 110.FIGS. 2A through 2-D depict example implementations for performing anchor sensing. In some implementations, features of FIGS. 2A-2-D may be executed by the computing system 100 of FIG. 1. The features described with reference to FIGS. 2A-2-D may be combined with other features to determine whether a contact detected at the touch-sensitive device as an anchor should be processed as a user input to control a computing system or as another type of contact, such as an accidental contact that should not be processed as either an anchor or a user input.FIG. 2A illustrates an example in which contacts detected within an input region 220 of a touch-sensitive device 210 may be processed and identified as either an anchor or user input for controlling a computing system associated with the touch-sensitive device 210. For example, the touch-sensitive device 210 may be installed in a vehicle, such as a car, as part of an in-vehicle processing system that enables a driver or a passenger of the vehicle to control various vehicle systems. In this example, touch-sensitive device 210 may be a touch screen or a multi-touch display that includes both an input area 220 where contacts made by a user are detected by touch-sensitive device 210 and a display for presenting a GUI to a user. As illustrated in FIG. 2A, the touch device 210 displays information for controlling a navigation system of a vehicle. The GUI includes an area in which a user can input a destination, and in this example, it can be seen that the user has already input the destination "Mountain View, CA.". Also indicated are content-related entities in the form of user-selectable icons 230a-230e, the selection of which controls the navigation system associated with the touch-sensitive device 210 to perform various operations. The user-selectable icons 230 a- 230 einclude a user-selectable icon 230 ato perform the function "start navigation", a user-selectable icon 230 bto perform the function "delete text", a user-selectable icon 230 cto perform the function "back", a user-selectable icon 230 dto access a "menu", and a user-selectable icon 230 eto perform the function "dimming", i.e., to turn off the display of the touch-sensitive device 210.At the time shown in FIG. 2A, a user, such as a driver or a passenger of a vehicle including the touch-sensitive device 210, has made three contacts 240 a- 240 cwithin the input area 220 of the touch-sensitive device 210. The contacts 240 a- 240 cinclude a contact 240 abearing an arc that is a contact with the input region 220 by means of the hand side of the user, a contact 240 blikeing the shape of an infinity sign that is a contact with the input region 220 by means of a means and ring finger of the user, and a contact 240 cbearing a circle that is a contact with the input region 220 by means of an index finger of the user. The touch-sensitive device 210 may sense the contacts 240 a- 240 c, and the contacts 240 a- 240 cmay be processed by the touch-sensitive device 210 or another component of the computing system associated with the touch-sensitive device similar to the armature detection engine 130 of FIG. 1 to rank each of the contacts 240 a- 240 c.For example, the contact 240 amay be analyzed first to determine whether to process the contact 240 aas an anchor or user input to control the computing system associated with the touch-sensitive device 210. A shape of the contact 240 acan be determined and can be identified as a shape that more closely resemble the characteristics of a side of the hand that is used more often than an anchor than user input. Moreover, a size of the contact 240a, such as a surface area of the contact 240a or the dimensions of the contact 240a, may be determined provided analysis of the size indicates that the size of the contact 240a is substantially greater than a typical amount of user input. For example, the size of the contact 240 a, e.g., its surface area or dimensions, may be compared to one or more thresholds, and based on the size of the contact 240 athat exceeds one or more of the thresholds, the contact 240 amay be more likely to be viewed as an anchor rather than a contact intended as user input. In some examples, the size of the contact 240 amay be compared to the sizes of the one or more displayed content-related items, e.g., user-selectable icons where high differences in the size of the contact 240 aand the size of the displayed content-related items indicate that the contact 240 ais an anchor.Moreover, a contact location 240 alocated within an input area 220 of the touch-sensitive device 210 may be determined and may be compared to locations of the user-selectable icons 230 a- 230 e. In some examples, each of the user-selectable icons 230 a- 230 emay have an assigned range of errors, such as range of errors 235, surrounding the user-selectable icon 230 a. Each fault area indicates an area of an input area 220 that does not include a particular user-selectable icon, but in which a detected contact may nevertheless be classified as a user input that selects the particular user-selectable icon. As shown in FIG. 2A, the contact 240 aappears outside of any such user-selectable icon error ranges, and such a determination may indicate that the contact 240 ais not intended as much as a user input, but rather as a contact that the user of the touch-sensitive device 210 uses as an anchor.Other factors may also be considered in determining whether to classify the contact 240 aas an armature. For example, the duration of the contact 240 acan be determined by analyzing the variations of the contact 240 aover time. If a duration of the contact 240 aexceeds a threshold duration, e.g., a duration typical of a touch intended as a user input, such a determination may indicate that the contact 240 ais intended as an anchor and not as a user input for controlling a computing system being associated with the touch-sensitive device 210. As described, other aspects of contact 240 amay be determined and processed to determine whether contact 240 ashould be classified as an anchor. Based on these aspects and optionally other sensor data, a confidence evaluation result of the anchor for the contact 240 acan be generated and based on the confidence evaluation result of the anchor, the contact 240 acan be classified as an anchor.The contact 240 bmay be analyzed to classify the contact 240 bas an anchor, user input, or otherwise. For example, similar to contact 240 a, a shape, size, location, and duration of contact 240 bmay be analyzed to determine whether contact 240 bis to be classified as an anchor. Other characteristics of the contact 240b may also be analyzed to determine whether the contact 240b is to be classified as an anchor. For example, a distance and / or position of the contact 240 bon the input region 220 of the touch-sensitive device 210 relative to the position of the contact 240 aon the input region may be determined. Based on the determination that contact 240 bis positioned above contact 240 a(e.g., if touch-sensitive device 210 is in an upright, and substantially vertical position) and is within a threshold distance of contact 240 a, it is most likely identified that contact 240 bhas been passed by the same hand that has also passed contact 240 a. In some instances, such a determination may indicate that contact 240 bis more likely to be an intended user input.Nevertheless, any factors relating to the contact 240 bmay be considered when it is concerned to generate a confidence evaluation result of the anchor for the contact 240 b, wherein the contact 240 bis classified as a second anchor performed by a user in the input area 220 of the touch-sensitive device 210. Since the contact 240 bis not within or protrudes from a fault region, e.g., the fault region 235 of the user-selectable icon 230 a- 230 ehas a shape that is characteristic of an anchor and that lasts longer than a typical touch of the user input, a confidence evaluation result of the anchor for the contact 240 bmay be generated such that the contact 240 bis classified as a second anchor.Contact 240 cmay also be processed by a computing system after being detected by touch-sensitive device 210. In some implementations, many of the same factors considered with reference to contact 240 aand contact 240 bmay be analyzed for contact 240 c. For example, contact 240 cmay be identified as having a size and shape typical of intended user inputs, e.g., inputs performed using a stylus or fingertip of the user. A duration of the contact 240 cmay be determined based on the analysis of the variations of the contact 240 cover time and may result in a determination that the contact 240 cis of a relatively short duration typical of touching an intended user input. In FIG. 2A, this short touch input is indicated by the concentric circle around contact 240c.Additionally, a location of the contact 240 cmay be determined and compared to the locations of the user-selectable icons 230 a- 230 eand other contacts 240 a, 240 b. For example, the location of the contact 240 cmay be compared to the locations of the user-selectable icons 230 a- 230 eand a determination may be made that there has been no overlap between the contact 240 cand any of the user-selectable icons 230 c- 230 e. However, the location of the contact 240 cmay be compared to locations of the error regions surrounding the user-selectable icons 230 a- 230 e, such as the error region 235 corresponding to the user-selectable icon 230 aand may be determined to converge with the error region 235 of the user-selectable icon 230 a. Such a determination may indicate that contact 240 cis relatively highly likely to be an intended user input, as there is generally a low probability that users will choose to anchor their hands above or near the user-selectable icons.Moreover, the position of contact 240c relative to contacts 240a, 240b may be analyzed and the determination made that contact 240c is in a position that is typically typical of an intended user input, i.e., is in an expected position relative to the anchors provided by a user's hand, i.e., contact 240a, and other fingers, i.e., contact 240b. In addition to the relationship between the position of the contact 240 cand the positions of the other contacts 240 a, 240 b, a distance of the contact 240 cto each of the other contacts 240 a, 240 bmay be determined. For example, the distances between the contact 240 cand the contacts 240 a, 240 bmay be determined and compared to the one or more associated thresholds. The distance between the contact 240 cand the contact 240 bcorresponds to a threshold, e.g., the threshold 245 surrounding the contact 240 bmay indicate that the contact 240 cis intended as a user input, as users typically perform an anchor using the same hand they use to provide a user input and perform the anchor near a region of the input region 220 within which they attempt to provide the user input.These various factors may be considered and used to perform a confidence evaluation result of the armature for contact 240c. The contact 240 cmay then be ranked based on the generated confidence evaluation result of the anchor. For example, the confidence score of the anchor for contact 240 cmay not correspond to a threshold confidence score of the anchor and may therefore be processed by the computing system associated with touch-sensitive device 210 as an input to select user-selectable "start navigation" icon 230 adisplayed on touch-sensitive device 210.While the example of FIG. 2A describes a scenario in which a user is using his hand while providing user input anchored such that all of the contacts 240 a- 240 care made using the same hand of the user, according to identifications, there is a high probability that contacts are made using the other hand of the user in some implementations and are classified as an anchor based on this determination. For example, in the case of some computing systems that include touch-sensitive devices, such as tablet computers, a user may grasp the computing system such that a portion of a thumb or other finger abuts the input area of the touch-sensitive device. While the user is grasping the computing device in such a manner, he may provide intended user inputs using his other hand. In such a scenario, the same factors considered in processing contacts 240 a- 240 cmay be considered in determining whether the manner in which the user touches the computing device is to be classified as an anchor. For example, such a contact may be classified as an anchor based on the determination that the contact has a similar shape to a user's flattened thumb, is proximate an edge of the touch-sensitive device input area, has a duration that is longer than any other contact duration detected in that input area, is far from other contacts or user-selectable icons, is relatively stationary in place on the touch-sensitive device, etc.FIG. 2B illustrates an example in which sensor data obtained from one or more components of a computing system that includes a touch-sensitive device may be processed to identify whether a particular input is to be processed as an anchor, as a user input, or as another type of contact with the input area of the touch-sensitive device. In the example indicated in FIG. 2B, variations in the pressure of a contact detected at the input region of a touch-sensitive device over time may be analyzed and compared to the detected accelerated-displayed changes in the touch-sensitive device over time. For example, a touch-sensitive device installed in a vehicle such as a car may be a multi-touch display capable of detecting a pressure of a contact at the input portion of the touch-sensitive device. The input portion of the touch-sensitive device may be positioned in an upright position, for example, at a location where the touch-sensitive device is integrated with a dashboard of the vehicle. The computing device having the touch-sensitive device may be associated with one or more motion sensors, such as an accelerometer configured to sense acceleration of the touch-sensitive device in the directions corresponding to the forward and rearward movements of the vehicle.As seen in FIG. 2B, obtaining the contact pressure data and the acceleration data in one may allow normalization of the pressure data to account for the acceleration of the user and the touch-sensitive device. FIG. 2B illustrates a characterization curve that can be used to normalize pressure data using acceleration data. The characterization curve shows the effects of acceleration on contact pressure. In general, a negative acceleration of the car for a touch-sensitive display integrated in the dashboard of a car results in an increase in the contact pressure detected by the touch-sensitive device. For example, while a user attempts to provide a constant force to an input area of the touch-sensitive device, e.g., anchor his hand to provide input while the car is in motion, the constant force may increase as the vehicle decelerates. In contrast, when the user anchors his hand on the input area and accelerates the vehicle, the detected pressure of the contact may decrease. When the vehicle rapidly loses speed, the pressure sensor of the touch sensitive device may saturate, and this may result in maximum pressure output from the sensor. Similarly, when the vehicle is accelerated rapidly, contact of the user with the input portion may be reduced to a very low pressure or contact with the input portion of the touch sensitive device may even be lost from the user, and thus result in a sensed pressure tending toward zero.When a contact is detected at the input region of the touch-sensitive device, the characterization depicted in FIG. 2B may be used to determine whether the contact is to be processed as an anchor, user input, or otherwise. For example, a contact intended as a user input, e.g., an attempted touching of a user in an input area of the touch-sensitive device, may typically be characterized by a rapidly reached pressure peak at the contact location at the time of the touch followed by a rapid pressure decrease at the contact location when the user completes the touch. However, if the vehicle including the user and the touch-sensitive device slows while the user is attempting to make a touch input, the sensed pressure change at the touch-sensitive device may increase more quickly or have a higher pressure compared to other touch inputs. A computing system may normalize the sensed input pressure based on a pressure analysis and the information regarding the forward acceleration, and based on the normalization, may make the decision to process the contact as a user input.Similarly, a user anchoring his hand to the input area of the touch-sensitive device may typically do so using a relatively uniform pressure. However, due to the fact that the vehicle including the user and the touch-sensitive device is accelerated or decelerated, the sensed pressure of the anchor contact may be subject to considerable variations. For example, because the user anchors his hand in the touch-sensitive device input area, a rapid deceleration of the vehicle may result in a drastic increase in the anchor pressure that the system may incorrectly interpret as a user input. However, by processing the input pressure in conjunction with the acceleration information, the sensed contact pressure may be normalized to such an extent that the pressure variations as the vehicle decelerates do not result in processing the contact as a user input.FIG. 2C depicts a second example in which sensor data is considered in combination with contact information to process contacts detected at the touch-sensitive device. In particular, FIG. 2C is a graph indicating the change in pressure over time for two contacts detected at the touch-sensitive device. Often, users may exert a relatively uniform pressure over time while using a particular contact as an anchor. In anchoring their hand to increase the accuracy of intended user inputs, pressure applied to the anchor often decreases when intended user inputs are provided. For example, a user placing the side of his hand on an input area of the touch-sensitive device to create an anchor may easily scroll his hand when providing the touch input for selecting a user-selectable icon. Rolling of its hand may result in a decrease in the applied pressure at the location of the anchor contact and a corresponding increase in pressure at the location of the touch input. Processing this pressure-related information may aid in the precise grading of the anchor and touch inputs provided by the user.FIG. 2C describes such an example. For example, the graph of FIG. 2C may display pressure-related data for an event in which a driver or passenger of the vehicle interacts with a pressure-sensitive display to control an aspect of the computing system associated with the vehicle, e.g., to select the user-selectable "start navigation" icon on the multi-touch display installed in the dashboard of the vehicle. Due to the fact that the multi-touch display is relatively far from the driver or passenger, thereby requiring the driver or passenger to lean forward to contact the multi-touch display, the driver or passenger may lose their ability to provide precise inputs via the multi-touch display. As a result, the driver or passenger can anchor his hand to the multi-touch display before selecting the user-selectable icon "navigation data.".At time (A), a first increase in pressure is detected on the multi-touch display while the driver or passenger anchors his hand to the multi-touch display. The pressure of this contact increases and then remains relatively constant as the driver or passenger places his hand on the multi-touch display. At time (B), the driver or passenger makes a second contact with the multi-touch display to provide user input. Thus, at time (B), a second contact is detected on the multi-touch display that has a short-lasting but considerable pressure. Since the driver or passenger needs to roll his hand to provide this touch input, a pressure of the anchor contact simultaneously decreases. After the touch input is provided, the hand position of the driver or the passenger may return to the previous anchor position at time (C), and thus the pressure of the anchor may reach the pressure values detected at time (A) again. Finally, the driver or passenger ceases to anchor his hand to the multi-touch display and causes the pressure of the first input to fall back to its initial value.While FIG. 2C illustrates a single example in which the pressure of multiple sensed contacts may be processed to identify an anchor and user input, the computing system may generally process the pressures of the multiple contacts applied to identify contacts otherwise as anchors or user inputs. For example, the computing system may identify moments during which an increase in pressure of a sensed contact substantially coincides with a decrease in pressure of a second contact. If the contact of which pressure has decreased is detected before the contact of which pressure has increased, such a pattern may be used to identify the contact of which pressure has decreased as an anchor and the contact of which pressure has increased as an intended user input. In other examples, the pressures of the two contacts may be compared to one another and a contact having a more uniform pressure over time may be classified as an armature, while a contact having a greater variance in pressure over time may be classified as a user input. Other contact pressure patterns may also be analyzed by the computing system to aid in classifying the contacts as an anchor.FIG. 2D depicts a third example implementation in which sensor data is used to process a contact detected at the touch-sensitive device to determine whether to classify the contact as an anchor. In the example of FIG. 2D, motion data obtained from one or more motion sensors is processed in conjunction with data relating to a contact detected at the touch-sensitive device. Processing the motion data may allow the computing system to determine whether the movement of a detected contact is intended, which would indicate that the contact was intended as a user input, or whether the movement of the detected contact is not intended, which would thus indicate that the contact may be an anchor used to smooth the user's hand.For example, a vehicle having a touch-sensitive display may also include one or more motion sensors configured to sense movements of the vehicle. The one or more motion sensors may include one or more accelerometers configured to sense acceleration in the Z direction, i.e., in a direction that is perpendicular to the ground. The one or more sensors may be used to detect acceleration of the vehicle in the Z direction over time. The top graph of FIG. 2D illustrates such motion detection for a particular event, such as when the vehicle is driving over a bump or other in-road bump.Due to the presence of the suspension springs of the vehicle, the acceleration of the vehicle as it travels over the keyhole may be plotted as shown in the upper graph of FIG. 2D. For example, while the vehicle is traveling over the keyhole and causing the vehicle to move deeper along the Z direction, the vehicle may rapidly accelerate in the negative Z direction (time (A)) until the suspension springs of the vehicle begin to contract and end the movement of the vehicle in the negative Z direction. Ending of the movement of the vehicle in the negative Z direction is represented by the rapid transition toward a positive acceleration in the Z direction (time (B)). This acceleration then returns to an approximate zero acceleration in the Z direction (time (C)) while the vehicle is traveling through the in-road unevenness. While the vehicle leaves the in-road unevenness, the acceleration of the vehicle may detect a positive value in the Z direction (time (D)). Once the vehicle has left the unevenness, the vehicle re-adjusts to the straight road surface by means of a negative acceleration in the Z direction (time (E)) before it finally rests on the flat road surface, as was the case during the time before the event (time (F)).If a user, such as a driver or passenger of the vehicle, makes contact with an input area of a touch-sensitive device during this event, for example, to smooth his hand while the vehicle is in motion while attempting to provide other user inputs, the contact may be detected as a moving contact on the touch-sensitive device that is typically more typical of an intended user input than an anchor. However, by processing the motion data of the contact in conjunction with the motion data from the one or more sensors, the motion of the contact may be normalized to account for the acceleration of the vehicle in the Z direction.For example, as shown in the bottom figure of FIG. 2D, movement of the contact over time in the Z direction may be tracked, provided the Z direction corresponds to the same Z direction discussed with reference to the movement data. When the touch-sensitive device is then positioned in an upright position in the vehicle, e.g. by being integrated into a dashboard of the vehicle, the movements along the Z-axis of the input area of the touch-sensitive device correspond to the movements in the Z-direction of the vehicle.Thus, with respect to the same bump event described above, the position of the detected contact would move up, i.e., in the positive Z direction at the touch-sensitive device input area and then back to the original position as the vehicle moves toward the in-road unevenness (times (A) and (B)). The detected position of the contact would then assume a deeper position, i.e., a movement in the negative Z direction at the input area of the touch sensitive device as the vehicle moves toward the in-road unevenness (time (D) and (E)). Typically, such movement may be interpreted by a computing system associated with the touch-sensitive display as a moving input, which is typically more typical of an intended user input. However, by combining the contact motion information with the motion information obtained from one or more motion sensors, the motion of the contact may be normalized such that the contact is processed as an anchor rather than as an intended user input.While this phenomenon has been discussed above primarily with reference to touch-sensitive devices installed in a vehicle, such as a car, similar techniques may also be implemented in other implementations. For example, such techniques may be applied to the mobile device or tablet computer applications, for example, to normalize the sensed contacts to account for the effect on contact motion or contact pressure arising from a walking motion of the user.FIG. 3 is a flow diagram 300 of an example method for detecting anchoring to a touch-sensitive device. In some implementations, the example method 300 may be performed by a computing system 100 of FIG. 1. For example, the anchor detection engine 130 or other component of the computing system 100 may perform the operations of the method 300 to classify a detected contact on the touch screen 110 as an anchor.Data corresponding to a contact made by a user detected at the touch-sensitive device (302) is obtained. For example, the anchor detection engine 130 may obtain data from the touch device 110 corresponding to a contact detected at the input portion 120 of the touch device 110. In some implementations, obtaining the data corresponding to the detected contact may include obtaining data specifying the one or more characteristics of the contact. For example, the data corresponding to the contact may specify a position of the contact at the input region 120 of the touch-sensitive device 110, may specify a size, e.g., a range or dimensions, of the contact, may specify a pressure of the contact, may specify a shape of the contact, may specify a duration of the contact, or may specify other characteristics of the contact. For example, the touch-sensitive device 110 may transmit data to the anchor sensing device 130 based on sensing a contact at the input region 120 of the touch-sensitive device 110, which indicates such characteristic as the shape of an infinity sign of the contact typical of the two fingers being positioned side-by-side at the input region 120.Variations in contact that result over time are analyzed (304). After obtaining the data corresponding to the contact detected at the touch device 110, the anchor detection device 130 may analyze the obtained data and may also analyze data that is subsequently received from the touch device 110 and that corresponds to the detected contact. For example, the armature detection device 130 may analyze the received data to determine a shape, size, pressure, or contact location or change of a shape, size, pressure, or contact location over time. In some instances, analyzing the variations over time in contact may also include receiving data corresponding to a second contact or additional user-made contacts detected at the touch-sensitive device 110, and the anchor detection device 130 may analyze changes in shape, size, pressure, or contact location relative to the second or other additional user-made contacts performed at the touch-sensitive device 110.Additionally or alternatively, analyzing the variations in contact over time may include obtaining information from other components of the computing system 100 and analyzing the data relating to the detected contact based at least on the obtained data. For example, the anchor detection engine 130 may obtain additional information from the one or more of the graphical interface unit 140, motion sensors 150, or activity history 160 and may analyze the data corresponding to the user-established contact detected at the touch-sensitive device 110 based at least on the received additional information.The confidence evaluation result of the anchor is determined based on the analysis ( 306). For example, the armature determination engine 130 may access one or more of the confidence evaluation result factors of the armature 170 and may calculate a confidence evaluation result of the armature for the detected contact using the confidence evaluation result factors of the armature 170. For example, the anchor determination engine 130 may provide weights to the information it receives from the touch-sensitive device 110, the graphical interface unit, the one or more motion sensors 150, and / or the activity history data 160 to generate a confidence evaluation result of the anchor for the contact being detected. Various mechanisms may be used to generate the confidence score of the anchor. For example, an evaluation result may be assigned to each of the accessed confidence evaluation result factors of the anchor 170 or to different segments of information accessed or obtained from the anchor determination machine 130, and the evaluation results may be further processed, summed, or otherwise combined into an average to generate a single confidence evaluation result of the anchor for the detected contact. In some instances, the confidence evaluation result of the anchor may be a numerical evaluation result, sample mobility, or other unit of measure used to assess whether the contact detected is to be processed as an anchor or otherwise.The contact is classified as an anchor based on the confidence evaluation result of the anchor ( 308). For example, the armature determination machine 130 may compare the confidence evaluation result of the armature generated with respect to the detected contact with a threshold value and classify the contact as an armature based on this comparison. In some implementations, the threshold may be predetermined, i.e., a set threshold, or may be determined in a dynamic manner, such as based on the feedback information or learning capability of the computer to refer to previous contacts detected by the touch-sensitive device 110. In other implementations, the contact may be classified as an anchor based on a determination made by the anchor determination engine 130, according to which the confidence evaluation result of the anchor falls within a predetermined or dynamic range, according to which the confidence evaluation result of the anchor sufficiently matches a confidence evaluation result of the anchor for a previously classified anchor, or otherwise may be classified as an anchor based on the determined confidence evaluation result of the anchor.Assuming that the contact has been classified as an anchor, the contact is not processed as a user input at the touch-sensitive device ( 310). Based on the anchor detection engine 130, which determines the contact classified as an anchor by the touch-sensitive device 110, for example, the anchor detection engine 130 may make the decision not to process the detected contact as a user input to control the computing system 100. Rather, the anchor detection engine 130 may make the decision to ignore the detected contact to allow the user 102 to use the contact at the input region 120 of the touch-sensitive device 110 as an anchor, while providing contacts other than user inputs at the input region 120 to control the computing system 100. Alternatively, the computing system 100 may continue to monitor characteristics of the contact to determine whether to update the rating of the contact. Upon classifying the contact as an anchor, the user 102 may be able to increase the accuracy of its intended inputs, thereby reducing the chance that the user 102 provides erroneous user inputs by contacting an unintended area of the input area 120.Embodiments and all of the functional operations described in this specification may be implemented in digital electronic circuits or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments may be implemented as one or more computer programs, i.e., as one or more modules of computer program instructions encoded on a computer storage medium for execution by or control of the operation of the data processing device. The computer readable medium may be a machine readable storage device, a machine readable storage substrate, a storage device, a composition of matter that causes a machine readable propagated signal, or a combination of one or more thereof. The term "data processing device" includes any device, apparatus or machine for processing data, including, for example, a programmable processor, a computer, or multiple processors or computers. The apparatus may include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that represents processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of the foregoing. A propagated signal is an artificially generated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information to be transmitted to a suitable receiver device.A computer program, also referred to as a program, software, software application, script, or code, may be written in any form of programming language, including compiled or interpreted languages, and may be deployed in any form, including as an independent program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program may be stored in a portion of a file that contains other programs or data (e.g., one or more scripts stored in a markup language document), a single file specific to the program in question, or multiple coordinated files (e.g., files that store one or more modules, subroutines, or portions of code). A computer program may be configured on or executed by one computer or a plurality of computers that are arranged at one site or distributed over a plurality of sites and connected via a communication network.The methods and logic flows described in this specification may be performed by functions such as operating input data and generating output by one or more programmable processors executing one or more computer programs. The methods and logic currents described herein may also be performed by specialized logic circuits, and the apparatus may be implemented in the form of specialized logic circuits, e.g., FPGA (field programmable gate array) or ASIC (application specific integrated circuit).Processors suitable for the execution of a computer program include, for example, both general and special purpose microprocessors, as well as all types of one or more processors of any type of digital computer. Generally, a processor receives instructions and data from a read-only memory or a random access memory, or both.The essential elements of a computer are a processor for executing instructions and one or more storage devices for storing instructions and data. Generally, a computer also includes one or more mass storage devices for storing data, e.g., magnetic, magneto-optical, or optical disks, or is operatively coupled to receive or transmit data from, or to both, such mass storage devices. However, a computer may not need to have such devices. In addition, a computer may be embedded in another device, such as a tablet computer, a mobile phone, a personal digital assistant (PDA), a mobile audio player, a game console, or a global positioning system, to name a few. Computer readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and storage devices including, for example, semiconductor storage devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic media, e.g., internal hard disks or removable disks; magneto-optical media; and CD-ROMs and DVD-ROMs. The processor and memory may be supplemented by or integrated with specialized logic circuitry.For interaction with a user, embodiments may be implemented on a computer having a screen, e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor, for displaying information to the user, and a keyboard and pointing device, e.g., a mouse or trackball, through which the user may pass input to the computer. Other types of devices may also be used to provide interaction with a user; for example, feedback provided to the user may be any form of sensory feedback, e.g., visual feedback, audio feedback, or tactile feedback; and input from the user may be received in any form, including acoustic, voice, or tactile inputs.Embodiments may be implemented in a computing system that includes a backend component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a frontend component, e.g., a client computer having a graphical user interface or a web browser through which a user may interact with an implementation, or includes any combination of such backend, middleware, frontend components. The components of the system may be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network ("LAN") and a wide area network ("WAN"), e.g., the Internet.The computing system may include client and server. A client and server are generally remote from each other and typically interact over a communication network. The relationship between client and server arises from computer programs running on the respective computers and having a client-server relationship to each other.While this specification contains many details, it is not intended to limit the scope of the disclosure, or what is disclosed, but rather to describe certain embodiments of the subject matter in question. Certain features described in this specification in the context of the various embodiments may also be implemented in combination in a single embodiment. On the other hand, various features described in the context of a single embodiment may be implemented in multiple embodiments or in any suitable sub-combination. Moreover, one or more features of a claimed combination may in some cases be extracted from the combination, even if the features are described above as functioning in certain combinations or even claimed as a combination, and the claimed combination may be referred to a sub-combination or a variation of a sub-combination.Likewise, while operations are depicted in the drawings in a particular order, this should not be understood as a requirement that such operations be performed in the particular order shown or in a consecutive order, or that all illustrated operations be performed, to achieve desired results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be construed as requiring such separation in all embodiments, and it should be understood that the described program components and systems may generally be integrated together into a single software product or encapsulated into multiple software products.In each instance in which an HTML file is mentioned, other file types or formats may be substituted. For example, an HTML file may be replaced by an XLM, JSON, plain text file, or other types of files. Moreover, if a table or hash table is mentioned, other data structures (such as spreadsheets, relational databases, or structured files) may be used.In view of the foregoing descriptions, a user may be further provided with controls that enable the user to both decide whether and when systems, programs, or features described herein enable collection of user information (e.g., information about a user's actions or activities or about a user's preferences) and whether to communicate content or communications from a server to the user. Moreover, certain data may be treated in one or more ways before being stored or used, such that information identifying persons is removed. For example, the identity of the user may be treated so that information for identifying persons cannot be determined for the user. Thus, the user may have control over which information about the user can be gathered, how this information can be used, and which information can be provided to the user.Accordingly, certain embodiments have been described. Other embodiments are within the scope of the following claims. The operations recited in the claims may be performed in a different order, for example, and still achieve desired results.Claim:
Claims
A method performed by one or more computing devices, the method comprising: receiving, by the one or more computing devices, data corresponding to a first contact performed by a user detected at a touch-sensitive device; receiving, by the one or more computing devices, data corresponding to a second contact performed by the user at the touch-sensitive device, wherein the second contact occurs while the first contact is already performed at the touch-sensitive device; determining, by the one or more computing devices, a duration of the second contact; determining, by the one or more computing devices, an anchor confidence evaluation result indicative of whether the first contact represents a user input made using the touch-sensitive device, wherein the anchor confidence evaluation result is determined based at least on determining the duration of the second contact; classifying, by the one or more computing devices, the first contact as an anchor based at least on the anchor confidence evaluation result; and based on the classification of the first contact as an anchor, non-performed processing, by the one or more computing devices, of the first contact as a user input to the touch-sensitive device.The method of claim 1, comprising analyzing a shape of the contact, wherein the determining the anchor confidence evaluation result is based on the analysis of the shape of the contact.Method according to claim 1 or 2, comprising analysing variations of the contact which have occurred over time, which in particular comprises analysing the change of the contact pressure which takes place over time.The method of claim 3, wherein analyzing the change in contact pressure over time comprises: obtaining motion data from one or more motion sensors, the one or more motion sensors sensing motion of the touch-sensitive device over time; and analyzing the change in contact pressure over time performed based at least on the motion data.The method of claim 4, wherein the touch-sensitive device is installed in a vehicle and the one or more motion sensors are configured to sense the motion of the vehicle, wherein obtaining the motion data comprises obtaining the motion data from one or more motion sensors indicative of the motions of the vehicle occurring over time, and wherein analyzing the change in contact pressure occurring over time is based at least on the motion data comprising analyzing a change in contact pressure performed by the user on the touch-sensitive device installed in the vehicle based at least on the motion of the vehicle occurring over time.The method of at least one of claims 3 to 5, wherein analyzing the change in contact pressure over time comprises: obtaining data corresponding to a second contact made by the user on the touch-sensitive device; determining a change in pressure of the second contact over time; and comparing the change in contact pressure relative to the change in pressure over time on the second contact.The method of at least one of claims 3 to 6, wherein analyzing the variations in the contact over time comprises: determining a motion of the contact over a period of time; obtaining the motion data from one or more motion sensors, the one or more motion sensors sensing the motion of the touch-sensitive device over the period of time; and comparing the motion of the contact over the period of time to motion data indicative of a motion of the touch-sensitive device over the period of time.The method of at least one of claims 3 to 7, wherein analyzing the variations in contact over time comprises determining that a contact location on the touch-sensitive device does not correspond to the one or more locations of the user-selectable content displayed on the touch-sensitive device or corresponds to two or more locations of the user-selectable content displayed on the touch-sensitive device, and wherein determining the anchor confidence evaluation result based at least on the analysis of the variations in contact over time comprises determining the anchor confidence evaluation result based at least on determining that a contact location on the touch-sensitive device does not correspond to the one or more locations of the user-selectable content displayed on the touch-sensitive device or corresponds to two or more locations of the user-selectable content, which are displayed on the touch-sensitive device.The method of at least one of the preceding claims, comprising: determining a relationship between a location of the second contact on the touch-sensitive device and a location of the first contact on the touch-sensitive device; wherein the determining the anchor confidence evaluation result is further based on the relationship between a location of the second contact on the touch-sensitive device and a location of the first contact on the touch-sensitive device.The method of claim 9, comprising: calculating a distance between a first contact location on the touch-sensitive device and a second contact location on the touch-sensitive device; and comparing the calculated distance between the first contact location on the touch-sensitive device and the second contact location on the touch-sensitive device to a threshold distance; wherein determining the anchor confidence evaluation result is further based on the comparison of the calculated distance between the first contact location on the touch-sensitive device and the second contact location on the touch-sensitive device to a threshold distance.The method of at least one of the preceding claims, comprising: monitoring, after classifying the first contact as an anchor, by the one or more computing devices, the one or more user interactions with a computing system associated with the touch-sensitive device; adjusting, by the one or more computing devices, one or more factors used in generating the anchor confidence evaluation results and based at least on the one or more user interactions with a computing system associated with the touch-sensitive device; generating, by the one or more computing devices and using the adjusted one or more factors, a second anchor confidence evaluation result indicative of whether the second contact at the touch-sensitive device represents a user input performed using the touch-sensitive device.The method of at least one of the preceding claims, comprising: determining the sizes of one or more content-related items displayed on the touch-sensitive device; determining a size of the contact; and comparing the size of the contact to the sizes of the one or more content-related items displayed on the touch-sensitive device; wherein determining the confidence evaluation result of the anchor is further based on comparing the size of the contact to the sizes of the one or more content-related items displayed on the touch-sensitive device.The method of at least one of the preceding claims, comprising: obtaining, by the one or more computing devices, data corresponding to a user input made at the input device that is different from the touch-sensitive device, wherein determining the anchor confidence evaluation result based at least on the analysis of the variations in the contact occurring over time comprises determining the anchor confidence evaluation result based at least on obtaining the data corresponding to the user input at the input device that is different from the touch-sensitive device.A system comprising: one or more computing devices; and one or more storage devices storing instructions operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: obtaining, by the one or more computing devices, data corresponding to a first contact made by a user detected at a touch-sensitive device; receiving, by the one or more computing devices, data corresponding to a second contact made by the user at the touch-sensitive device, wherein the second contact occurs while the first contact is already made at the touch-sensitive device; determining, by the one or more computing devices, a duration of the second contact; determining, by the one or more computing devices, an anchor confidence evaluation result indicative of whether the first contact represents a user input made using the touch-sensitive device, wherein the anchor confidence evaluation result is determined based at least on determining the duration of the second contact; classifying, by the one or more computing devices, the first contact as an anchor based at least on the anchor confidence evaluation result; and not processing, based on classifying, by the one or more computing devices, the first contact as a user input into the touch-sensitive device.The system of claim 14, comprising analyzing a shape of the contact, wherein the determining the anchor confidence evaluation result is based on the analysis of the shape of the contact.The system of claim 14 or 15, wherein the operations comprise: determining a relationship between a location of the second contact on the touch-sensitive device and a location of the first contact on the touch-sensitive device; wherein the determining the anchor confidence evaluation result is further based on the relationship between a location of the second contact on the touch-sensitive device and a location of the first contact on the touch-sensitive device.The system of claim 16, wherein the operations comprise: calculating a distance between a first contact pad on the touch-sensitive device and a second contact pad on the touch-sensitive device; and comparing the calculated distance between the first contact pad on the touch-sensitive device and the second contact pad on the touch-sensitive device to a threshold distance; wherein determining the anchor confidence evaluation result is further based on comparing the calculated distance between the first contact pad on the touch-sensitive device and the second contact pad on the touch-sensitive device to a threshold distance.A non-transitory computer-readable storage device storing software including instructions executable by one or more computers, which, when executed, cause the one or more computers to perform operations comprising: receiving, by the one or more computing devices, data corresponding to a first contact made by a user detected at a touch-sensitive device; receiving, by the one or more computing devices, data corresponding to a second contact made by the user at the touch-sensitive device, the second contact occurring while the first contact is already made at the touch-sensitive device; determining, by the one or more computing devices, a duration of the second contact; determining, by the one or more computing devices, an anchor confidence evaluation result indicative of whether the first contact represents a user input made using the touch-sensitive device, wherein the anchor confidence evaluation result is determined based at least on determining the duration of the second contact; classifying, by the one or more computing devices, the first contact as an anchor based at least on the anchor confidence evaluation result; and not processing, based on classifying, by the one or more computing devices, the first contact as a user input into the touch-sensitive device.
Citation Information
Patent Citations
Detecting and responding to unintentional contact with a computing device
US20120158629A1
Method and apparatus for recognizing a pen touch in a device
US20120182238A1
Unintentional Touch Rejection
US20130044070A1
Method for determining valid touch screen inputs
US20130100043A1
Classification of touch input as being unintended or intended
US20160077650A1