PATENT DOCUMENT

Publication Number: US-10564770-B1
Application Number: US-201615178382-A
Country: US
Kind Code: B1

Title: Predictive touch detection

Abstract:
A touch controller is disclosed. The touch controller can comprise sense circuitry configured to sense an object at a touch sensor panel, and a touch processor. The touch processor can be capable of, when the object is a first distance from the touch sensor panel, determining a predicted touch location associated with the object on the touch sensor panel based on at least a trajectory of the object towards the touch sensor panel, and when the object is a second distance from the touch sensor panel, less than the first distance, determining an identified touch location associated with the object on the touch sensor panel based on at least the predicted touch location.

Claims:
The invention claimed is: 
     
       1. A touch controller comprising:
 sense circuitry configured to sense an object at a touch sensor panel; and 
 a touch processor capable of:
 when the object is a first distance from the touch sensor panel, determining a predicted touch location associated with the object on the touch sensor panel based on at least a trajectory of the object towards the touch sensor panel; and 
 when the object is a second distance from the touch sensor panel, less than the first distance, determining an identified touch location associated with the object on the touch sensor panel based on at least the predicted touch location, wherein the identified touch location is different than the predicted touch location and a centroid of the object detected when the object is at the second distance from the touch sensor panel. 
 
 
     
     
       2. The touch controller of  claim 1 , wherein the object is the second distance from the touch sensor panel when the object is touching a surface of the touch sensor panel. 
     
     
       3. The touch controller of  claim 1 , wherein the predicted touch location of the object is different from the centroid of the object. 
     
     
       4. The touch controller of  claim 1 , wherein the touch processor is further capable of:
 when the object is a third distance from the touch sensor panel, between the first distance and the second distance, updating the predicted touch location based on at least an updated trajectory of the object towards the touch sensor panel. 
 
     
     
       5. The touch controller of  claim 1 , wherein:
 the touch processor is further capable of determining that the object is a first threshold distance from the touch sensor panel, wherein the first distance is less than or equal to the first threshold distance, and 
 determining the predicted touch location associated with the object on the touch sensor panel is in response to determining that the object is the first threshold distance from the touch sensor panel. 
 
     
     
       6. The touch controller of  claim 5 , wherein:
 the touch processor is further capable of determining that the object is a second threshold distance, less than the first threshold distance, from the touch sensor panel, wherein the second distance is less than or equal to the second threshold distance, and 
 determining the identified touch location associated with the object on the touch sensor panel is in response to determining that the object is the second threshold distance from the touch sensor panel. 
 
     
     
       7. The touch controller of  claim 6 , wherein the touch processor is further capable of:
 after determining the identified touch location associated with the object, determining that the object is touching a surface of the touch sensor panel; and 
 in response to determining that the object is touching the surface of the touch sensor panel, identifying an input associated with the object based on the identified touch location. 
 
     
     
       8. The touch controller of  claim 1 , wherein:
 the touch controller is coupled to a display, and 
 determining the identified touch location comprises:
 in accordance with a determination that the trajectory of the object towards the touch sensor panel is a first trajectory, selecting a first user interface element displayed by the display in response to determining that the object is the second distance from the touch sensor panel; and 
 in accordance with a determination that the trajectory of the object towards the touch sensor panel is a second trajectory, different from the first trajectory, selecting a second user interface element, different from the first user interface element, displayed by the display in response to determining that the object is the second distance from the touch sensor panel. 
 
 
     
     
       9. The touch controller of  claim 8 , wherein determining the identified touch location further comprises:
 in accordance with the determination that the trajectory of the object towards the touch sensor panel is the first trajectory, identifying the object as a first finger based on at least the trajectory of the object towards the touch sensor panel; and 
 in accordance with the determination that the trajectory of the object towards the touch sensor panel is the second trajectory, identifying the object as a second finger, different from the first finger, based on at least the trajectory of the object towards the touch sensor panel. 
 
     
     
       10. The touch controller of  claim 1 , wherein:
 the touch controller is coupled to a display, and 
 determining the identified touch location further comprises determining the identified touch location based on at least one or more user interface elements displayed by the display. 
 
     
     
       11. The touch controller of  claim 10 , wherein determining the identified touch location further comprises adjusting the predicted touch location based on respective likelihoods of selection of the one or more user interface elements. 
     
     
       12. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a processor cause the processor to perform a method comprising:
 sensing an object at a touch sensor panel; 
 when the object is a first distance from the touch sensor panel, determining a predicted touch location associated with the object on the touch sensor panel based on at least a trajectory of the object towards the touch sensor panel; and 
 when the object is a second distance from the touch sensor panel, less than the first distance, determining an identified touch location associated with the object on the touch sensor panel based on at least the predicted touch location, wherein the identified touch location is different than the predicted touch location and a centroid of the object detected when the object is at the second distance from the touch sensor panel. 
 
     
     
       13. The computer readable storage medium of  claim 12 , wherein the predicted touch location of the object is different from the centroid of the object. 
     
     
       14. The computer readable storage medium of  claim 12 , the method further comprising:
 when the object is a third distance from the touch sensor panel, between the first distance and the second distance, updating the predicted touch location based on at least an updated trajectory of the object towards the touch sensor panel. 
 
     
     
       15. The computer readable storage medium of  claim 12 , the method further comprising:
 determining that the object is a first threshold distance from the touch sensor panel, wherein the first distance is less than or equal to the first threshold distance, 
 wherein determining the predicted touch location associated with the object on the touch sensor panel is in response to determining that the object is the first threshold distance from the touch sensor panel. 
 
     
     
       16. The computer readable storage medium of  claim 15 , the method further comprising:
 determining that the object is a second threshold distance, less than the first threshold distance, from the touch sensor panel, wherein the second distance is less than or equal to the second threshold distance, 
 wherein determining the identified touch location associated with the object on the touch sensor panel is in response to determining that the object is the second threshold distance from the touch sensor panel. 
 
     
     
       17. The computer readable storage medium of  claim 12 , wherein:
 determining the identified touch location comprises:
 in accordance with a determination that the trajectory of the object towards the touch sensor panel is a first trajectory, selecting a first user interface element displayed by a display in response to determining that the object is the second distance from the touch sensor panel; and 
 in accordance with a determination that the trajectory of the object towards the touch sensor panel is a second trajectory, different from the first trajectory, selecting a second user interface element, different from the first user interface element, displayed by the display in response to determining that the object is the second distance from the touch sensor panel. 
 
 
     
     
       18. The computer readable storage medium of  claim 17 , wherein determining the identified touch location further comprises:
 in accordance with the determination that the trajectory of the object towards the touch sensor panel is the first trajectory, identifying the object as a first finger based on at least the trajectory of the object towards the touch sensor panel; and 
 in accordance with the determination that the trajectory of the object towards the touch sensor panel is the second trajectory, identifying the object as a second finger, different from the first finger, based on at least the trajectory of the object towards the touch sensor panel. 
 
     
     
       19. The computer readable storage medium of  claim 12 , wherein determining the identified touch location further comprises determining the identified touch location based on at least one or more user interface elements displayed by the display. 
     
     
       20. The computer readable storage medium of  claim 19 , wherein determining the identified touch location further comprises adjusting the predicted touch location based on respective likelihoods of selection of the one or more user interface elements. 
     
     
       21. A method comprising:
 sensing an object at a touch sensor panel; 
 when the object is a first distance from the touch sensor panel, determining a predicted touch location associated with the object on the touch sensor panel based on at least a trajectory of the object towards the touch sensor panel; and 
 when the object is a second distance from the touch sensor panel, less than the first distance, determining an identified touch location associated with the object on the touch sensor panel based on at least the predicted touch location, wherein the identified touch location is different than the predicted touch location and a centroid of the object detected when the object is at the second distance from the touch sensor panel.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional Patent Application No. 62/173,315, filed Jun. 9, 2015, the content of which is incorporated by reference herein in its entirety for all purposes. 
    
    
     FIELD OF THE DISCLOSURE 
     This relates generally to touch sensor panels, and more particularly, to predicting a touch location on a touch sensor panel. 
     BACKGROUND OF THE DISCLOSURE 
     Many types of input devices are presently available for performing operations in a computing system, such as buttons or keys, mice, trackballs, joysticks, touch sensor panels, touch screens and the like. Touch screens, in particular, are becoming increasingly popular because of their ease and versatility of operation as well as their declining price. Touch screens can include a touch sensor panel, which can be a clear panel with a touch-sensitive surface, and a display device such as a liquid crystal display (LCD) that can be positioned partially or fully behind the panel so that the touch-sensitive surface can cover at least a portion of the viewable area of the display device. Touch screens can allow a user to perform various functions by touching the touch sensor panel using a finger, stylus or other object at a location often dictated by a user interface (UI) being displayed by the display device. In general, touch screens can recognize a touch and the position of the touch on the touch sensor panel, and the computing system can then interpret the touch in accordance with the display appearing at the time of the touch, and thereafter can perform one or more actions based on the touch. In the case of some touch sensing systems, a physical touch on the display is not needed to detect a touch. For example, in some capacitive-type touch sensing systems, fringing electrical fields used to detect touch can extend beyond the surface of the display, and objects approaching near the surface may be detected near the surface without actually touching the surface. 
     Capacitive touch sensor panels can be formed by a matrix of substantially transparent or non-transparent conductive plates made of materials such as Indium Tin Oxide (ITO). It is due in part to their substantial transparency that capacitive touch sensor panels can be overlaid on a display to form a touch screen, as described above. Some touch screens can be formed by at least partially integrating touch sensing circuitry into a display pixel stackup (i.e., the stacked material layers forming the display pixels). 
     SUMMARY OF THE DISCLOSURE 
     Some capacitive touch sensor panels can be formed by a matrix of substantially transparent or non-transparent conductive plates made of materials such as Indium Tin Oxide (ITO), and some touch screens can be formed by at least partially integrating touch sensing circuitry into a display pixel stackup (i.e., the stacked material layers forming the display pixels). Fingers or objects that touch or come in proximity to the touch screen of the disclosure can sometimes be relatively large. For example, if a keyboard is displayed on the touch screen, a finger that is touching the touch screen to select a key from the keyboard can be two or three times the size of the keys of the keyboard, and can cover two or more keys when touching the touch screen. In some examples, a centroid of the touch on the touch screen can be calculated to determine where the touch location of the relatively large finger should be identified (and thus which key of the keyboard has been selected, for example). However, the centroid of the touch may not accurately reflect the intended touch location of the user. For example, the user&#39;s finger may have inadvertently moved immediately prior to touchdown (e.g., due to a bumpy road or turbulence in an airplane while touching the touch screen). Thus, in some examples, the trajectory of the finger as it approaches the touch screen (before touching or coming within a predefined proximity of the touch screen) can be tracked to predict the user&#39;s intended touch location, and provide a more accurate touch experience for the user. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIGS. 1A-1D  illustrate an example mobile telephone, an example media player, an example personal computer and an example tablet computer that can each include an exemplary touch screen according to examples of the disclosure. 
         FIG. 2  is a block diagram of an example computing system that illustrates one implementation of an example self-capacitance touch screen according to examples of the disclosure. 
         FIG. 3A  illustrates an exemplary touch sensor circuit corresponding to a self-capacitance touch node electrode and sensing circuit according to examples of the disclosure. 
         FIG. 3B  illustrates an exemplary touch sensor circuit corresponding to a mutual-capacitance drive and sense line and sensing circuit according to examples of the disclosure. 
         FIG. 4  illustrates an example configuration in which common electrodes can form portions of the touch sensing circuitry of a touch sensing system according to examples of the disclosure. 
         FIG. 5  illustrates an exemplary capacitance profile detected on a touch screen according to examples of the disclosure. 
         FIGS. 6A-6C  illustrate exemplary tracking and prediction of the trajectory of a finger according to examples of the disclosure. 
         FIG. 7  illustrates an exemplary capacitance profile detected on a touch screen according to examples of the disclosure. 
         FIGS. 8A-8C  illustrate a scenario in which the predicted touch location of a finger approaching a touch screen can change over time according to examples of the disclosure. 
         FIGS. 9A-9C  illustrate exemplary trajectory tracking and prediction utilizing a threshold distance according to examples of the disclosure. 
         FIGS. 10A-10C  illustrate exemplary trajectory tracking and prediction utilizing multiple threshold distances according to examples of the disclosure. 
         FIG. 11  illustrates an exemplary non-linear trajectory of a finger approaching a touch screen according to examples of the disclosure. 
         FIG. 12  illustrates an exemplary touch screen displaying user interface elements according to examples of the disclosure. 
         FIGS. 13A-13B  illustrate exemplary touch processing based on the velocity with which a finger is approaching a touch screen according to examples of the disclosure. 
         FIG. 14  illustrates an exemplary touch screen displaying user interface elements and detecting a capacitance profile according to examples of the disclosure. 
         FIG. 15  illustrates an exemplary touch screen in which a predicted touch location is determined based on at least user interface elements displayed by the touch screen according to examples of the disclosure. 
         FIG. 16  illustrates an exemplary flowchart for determining a touch location of an object at a touch sensor panel according to examples of the disclosure. 
     
    
    
     DETAILED DESCRIPTION 
     In the following description of examples, reference is made to the accompanying drawings which form a part hereof, and in which it is shown by way of illustration specific examples that can be practiced. It is to be understood that other examples can be used and structural changes can be made without departing from the scope of the disclosed examples. 
     Some capacitive touch sensor panels can be formed by a matrix of substantially transparent or non-transparent conductive plates made of materials such as Indium Tin Oxide (ITO), and some touch screens can be formed by at least partially integrating touch sensing circuitry into a display pixel stackup (i.e., the stacked material layers forming the display pixels). Fingers or objects that touch or come in proximity to the touch screen of the disclosure can sometimes be relatively large. For example, if a keyboard is displayed on the touch screen, a finger that is touching the touch screen to select a key from the keyboard can be two or three times the size of the keys of the keyboard, and can cover two or more keys when touching the touch screen. In some examples, a centroid of the touch on the touch screen can be calculated to determine where the touch location of the relatively large finger should be identified (and thus which key of the keyboard has been selected, for example). However, the centroid of the touch may not accurately reflect the intended touch location of the user. For example, the user&#39;s finger may have inadvertently moved immediately prior to touchdown (e.g., due to a bumpy road or turbulence in an airplane while touching the touch screen). Thus, in some examples, the trajectory of the finger as it approaches the touch screen (before touching or coming within a predefined proximity of the touch screen) can be tracked to predict the user&#39;s intended touch location, and provide a more accurate touch experience for the user. 
       FIGS. 1A-1D  illustrate example systems in which a touch screen according to examples of the disclosure may be implemented.  FIG. 1A  illustrates an example mobile telephone  136  that includes a touch screen  124 .  FIG. 1B  illustrates an example digital media player  140  that includes a touch screen  126 .  FIG. 1C  illustrates an example personal computer  144  that includes a touch screen  128 .  FIG. 1D  illustrates an example tablet computer  148  that includes a touch screen  130 . It is understood that the above touch screens can be implemented in other devices as well, including in wearable devices. 
     In some examples, touch screens  124 ,  126 ,  128  and  130  can be based on self-capacitance. A self-capacitance based touch system can include a matrix of small, individual plates of conductive material that can be referred to as touch node electrodes (as described below with reference to touch screen  220  in  FIG. 2 ). For example, a touch screen can include a plurality of individual touch node electrodes, each touch node electrode identifying or representing a unique location on the touch screen at which touch or proximity (i.e., a touch or proximity event) is to be sensed, and each touch node electrode being electrically isolated from the other touch node electrodes in the touch screen/panel. Such a touch screen can be referred to as a pixelated self-capacitance touch screen, though it is understood that in some examples, the touch node electrodes on the touch screen can be used to perform scans other than self-capacitance scans on the touch screen (e.g., mutual capacitance scans). During operation, a touch node electrode can be stimulated with an AC waveform, and the self-capacitance to ground of the touch node electrode can be measured. As an object approaches the touch node electrode, the self-capacitance to ground of the touch node electrode can change. This change in the self-capacitance of the touch node electrode can be detected and measured by the touch sensing system to determine the positions of multiple objects when they touch, or come in proximity to, the touch screen. In some examples, the electrodes of a self-capacitance based touch system can be formed from rows and columns of conductive material, and changes in the self-capacitance to ground of the rows and columns can be detected, similar to above. In some examples, a touch screen can be multi-touch, single touch, projection scan, full-imaging multi-touch, capacitive touch, etc. 
     In some examples, touch screens  124 ,  126 ,  128  and  130  can be based on mutual capacitance. A mutual capacitance based touch system can include drive and sense lines that may cross over each other on different layers, or may be adjacent to each other on the same layer. The crossing or adjacent locations can be referred to as touch nodes. During operation, the drive line can be stimulated with an AC waveform and the mutual capacitance of the touch node can be measured. As an object approaches the touch node, the mutual capacitance of the touch node can change. This change in the mutual capacitance of the touch node can be detected and measured by the touch sensing system to determine the positions of multiple objects when they touch, or come in proximity to, the touch screen. 
       FIG. 2  is a block diagram of an example computing system  200  that illustrates one implementation of an example self-capacitance touch screen  220  according to examples of the disclosure. It is understood that computing system  200  can instead include a mutual capacitance touch screen, as described above, though the examples of the disclosure will be described assuming a self-capacitance touch screen is provided. Computing system  200  can be included in, for example, mobile telephone  136 , digital media player  140 , personal computer  144 , tablet computer  148 , or any mobile or non-mobile computing device that includes a touch screen, including a wearable device. Computing system  200  can include a touch sensing system including one or more touch processors  202 , peripherals  204 , a touch controller  206 , and touch sensing circuitry (described in more detail below). Peripherals  204  can include, but are not limited to, random access memory (RAM) or other types of memory or storage, watchdog timers and the like. Touch controller  206  can include, but is not limited to, one or more sense channels  208  and channel scan logic  210 . Channel scan logic  210  can access RAM  212 , autonomously read data from sense channels  208  and provide control for the sense channels. In addition, channel scan logic  210  can control sense channels  208  to generate stimulation signals at various frequencies and phases that can be selectively applied to the touch nodes of touch screen  220 , as described in more detail below. In some examples, touch controller  206 , touch processor  202  and peripherals  204  can be integrated into a single application specific integrated circuit (ASIC), and in some examples can be integrated with touch screen  220  itself. 
     Touch screen  220  can include touch sensing circuitry that can include a capacitive sensing medium having a plurality of electrically isolated touch node electrodes  222  (e.g., a pixelated self-capacitance touch screen). Touch node electrodes  222  can be coupled to sense channels  208  in touch controller  206 , can be driven by stimulation signals from the sense channels through drive/sense interface  225 , and can be sensed by the sense channels through the drive/sense interface as well, as described above. Labeling the conductive plates used to detect touch (i.e., touch node electrodes  222 ) as “touch node” electrodes can be particularly useful when touch screen  220  is viewed as capturing an “image” of touch (e.g., a “touch image”). In other words, after touch controller  206  has determined an amount of touch detected at each touch node electrode  222  in touch screen  220 , the pattern of touch node electrodes in the touch screen at which a touch occurred can be thought of as a touch image (e.g., a pattern of fingers touching the touch screen). 
     Computing system  200  can also include a host processor  228  for receiving outputs from touch processor  202  and performing actions based on the outputs. For example, host processor  228  can be connected to program storage  232  and a display controller, such as an LCD driver  234 . The LCD driver  234  can provide voltages on select (e.g., gate) lines to each pixel transistor and can provide data signals along data lines to these same transistors to control the pixel display image as described in more detail below. Host processor  228  can use LCD driver  234  to generate a display image on touch screen  220 , such as a display image of a user interface (UI), and can use touch processor  202  and touch controller  206  to detect a touch on or near touch screen  220 . The touch input can be used by computer programs stored in program storage  232  to perform actions that can include, but are not limited to, moving an object such as a cursor or pointer, scrolling or panning, adjusting control settings, opening a file or document, viewing a menu, making a selection, executing instructions, operating a peripheral device connected to the host device, answering a telephone call, placing a telephone call, terminating a telephone call, changing the volume or audio settings, storing information related to telephone communications such as addresses, frequently dialed numbers, received calls, missed calls, logging onto a computer or a computer network, permitting authorized individuals access to restricted areas of the computer or computer network, loading a user profile associated with a user&#39;s preferred arrangement of the computer desktop, permitting access to web content, launching a particular program, encrypting or decoding a message, and/or the like. Host processor  228  can also perform additional functions that may not be related to touch processing. 
     Note that one or more of the functions described herein, including the configuration of switches, can be performed by firmware stored in memory (e.g., one of the peripherals  204  in  FIG. 2 ) and executed by touch processor  202 , or stored in program storage  232  and executed by host processor  228 . The firmware can also be stored and/or transported within any non-transitory computer-readable storage medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “non-transitory computer-readable storage medium” can be any medium (excluding signals) that can contain or store the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-readable storage medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, a portable computer diskette (magnetic), a random access memory (RAM) (magnetic), a read-only memory (ROM) (magnetic), an erasable programmable read-only memory (EPROM) (magnetic), a portable optical disc such a CD, CD-R, CD-RW, DVD, DVD-R, or DVD-RW, or flash memory such as compact flash cards, secured digital cards, USB memory devices, memory sticks, and the like. 
     The firmware can also be propagated within any transport medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “transport medium” can be any medium that can communicate, propagate or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The transport medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic or infrared wired or wireless propagation medium. 
       FIG. 3A  illustrates an exemplary touch sensor circuit  300  corresponding to a self-capacitance touch node electrode  302  and sensing circuit  314  according to examples of the disclosure. Touch node electrode  302  can correspond to touch node electrode  222 . Touch node electrode  302  can have an inherent self-capacitance to ground associated with it, and also an additional self-capacitance to ground that is formed when an object, such as finger  305 , is in proximity to or touching the electrode. The total self-capacitance to ground of touch node electrode  302  can be illustrated as capacitance  304 . Touch node electrode  302  can be coupled to sensing circuit  314 . Sensing circuit  314  can include an operational amplifier  308 , feedback resistor  312  and feedback capacitor  310 , although other configurations can be employed. For example, feedback resistor  312  can be replaced by a switched capacitor resistor in order to minimize a parasitic capacitance effect that can be caused by a variable feedback resistor. Touch node electrode  302  can be coupled to the inverting input (−) of operational amplifier  308 . An AC voltage source  306  (Vac) can be coupled to the non-inverting input (+) of operational amplifier  308 . Touch sensor circuit  300  can be configured to sense changes in the total self-capacitance  304  of the touch node electrode  302  induced by a finger or object either touching or in proximity to the touch sensor panel. Output  320  can be used by a processor to determine the presence of a proximity or touch event, or the output can be inputted into a discrete logic network to determine the presence of a proximity or touch event. 
       FIG. 3B  illustrates an exemplary touch sensor circuit  350  corresponding to a mutual-capacitance drive  322  and sense 326 line and sensing circuit  314  according to examples of the disclosure. Drive line  322  can be stimulated by stimulation signal  306  (e.g., an AC voltage signal). Stimulation signal  306  can be capacitively coupled to sense line  326  through mutual capacitance  324  between drive line  322  and the sense line. When a finger or object  305  approaches the touch node created by the intersection of drive line  322  and sense line  326 , mutual capacitance  324  can be altered. This change in mutual capacitance  324  can be detected to indicate a touch or proximity event at the touch node, as described previously and below. The sense signal coupled onto sense line  326  can be received by sensing circuit  314 . Sensing circuit  314  can include operational amplifier  308  and at least one of a feedback resistor  312  and a feedback capacitor  310 .  FIG. 3B  illustrates a general case in which both resistive and capacitive feedback elements are utilized. The sense signal (referred to as Vin) can be inputted into the inverting input of operational amplifier  308 , and the non-inverting input of the operational amplifier can be coupled to a reference voltage Vref. Operational amplifier  308  can drive its output to voltage Vo to keep Vin substantially equal to Vref, and can therefore maintain Vin constant or virtually grounded. A person of skill in the art would understand that in this context, equal can include deviations of up to 15%. Therefore, the gain of sensing circuit  314  can be mostly a function of the ratio of mutual capacitance  324  and the feedback impedance, comprised of resistor  312  and/or capacitor  310 . The output of sensing circuit  314  Vo can be filtered and heterodyned or homodyned by being fed into multiplier  328 , where Vo can be multiplied with local oscillator  330  to produce Vdetect. Vdetect can be inputted into filter  332 . One skilled in the art will recognize that the placement of filter  332  can be varied; thus, the filter can be placed after multiplier  328 , as illustrated, or two filters can be employed: one before the multiplier and one after the multiplier. In some examples, there can be no filter at all. The direct current (DC) portion of Vdetect can be used to determine if a touch or proximity event has occurred. 
     Referring back to  FIG. 2 , in some examples, touch screen  220  can be an integrated touch screen in which touch sensing circuit elements of the touch sensing system can be integrated into the display pixel stackups of a display. The circuit elements in touch screen  220  can include, for example, elements that can exist in LCD or other displays, such as one or more pixel transistors (e.g., thin film transistors (TFTs)), gate lines, data lines, pixel electrodes and common electrodes. In a given display pixel, a voltage between a pixel electrode and a common electrode can control a luminance of the display pixel. The voltage on the pixel electrode can be supplied by a data line through a pixel transistor, which can be controlled by a gate line. It is noted that circuit elements are not limited to whole circuit components, such as a whole capacitor, a whole transistor, etc., but can include portions of circuitry, such as only one of the two plates of a parallel plate capacitor. 
       FIG. 4  illustrates an example configuration in which common electrodes  402  can form portions of the touch sensing circuitry of a touch sensing system—in some examples of this disclosure, the common electrodes can form touch node electrodes used to detect a touch image on touch screen  400 , as described above. Each common electrode  402  can include a plurality of display pixels  401 , and each display pixel  401  can include a portion of a common electrode  402 , which can be a circuit element of the display system circuitry in the display pixel stackup (i.e., the stacked material layers forming the display pixels) of the display pixels of some types of LCDs or other displays—in other words, the common electrodes can operate as part of the display system to display a display image on touch screen  400 . 
     In the example shown in  FIG. 4 , each common electrode  402  can serve as a multi-function circuit element that can operate as display circuitry of the display system of touch screen  400  and can also operate as touch sensing circuitry of the touch sensing system. Specifically, each common electrode  402  can operate as a common electrode of the display circuitry of the touch screen  400  (e.g., during a display phase), as described above, and can also operate as a touch node electrode of the touch sensing circuitry of the touch screen (e.g., during a touch sensing phase). Other circuit elements of touch screen  400  can also form part of the touch sensing circuitry. More specifically, in some examples, during the touch sensing phase, a gate line can be connected to a power supply, such as a charge pump, that can apply a voltage to maintain TFTs in display pixels included in a common electrode  402  in an “off” state. Stimulation signals can be applied to the common electrode  402 . Changes in the total self-capacitance of the common electrode  402  can be sensed through one or more operational amplifiers, as previously discussed. The changes in the total self-capacitance of the common electrode  402  can depend on the proximity of an object, such as finger  305 , to the common electrode. In this way, the measured changes in total self-capacitance of the common electrode  402  can provide an indication of touch on or near the touch screen. A mutual capacitance touch screen can similarly be implemented in which common electrodes can form portions of the touch sensing circuitry of the mutual capacitance touch screen. For example the common electrodes can form drive or sense lines used to detect a touch image on the touch screen, as described above. 
     In general, each of the touch sensing circuit elements may be either a multi-function circuit element that can form part of the touch sensing circuitry and can perform one or more other functions, such as forming part of the display circuitry, or may be a single-function circuit element that can operate as touch sensing circuitry only. Similarly, each of the display circuit elements may be either a multi-function circuit element that can operate as display circuitry and perform one or more other functions, such as operating as touch sensing circuitry, or may be a single-function circuit element that can operate as display circuitry only. Therefore, in some examples, some of the circuit elements in the display pixel stackups can be multi-function circuit elements and other circuit elements may be single-function circuit elements. In other examples, all of the circuit elements of the display pixel stackups may be single-function circuit elements. 
     In addition, although examples herein may describe the display circuitry as operating during a display phase, and describe the touch sensing circuitry as operating during a touch sensing phase, it should be understood that a display phase and a touch sensing phase may be operated at the same time, e.g., partially or completely overlapping, or the display phase and touch sensing phase may operate at different times. Also, although examples herein describe certain circuit elements as being multi-function and other circuit elements as being single-function, it should be understood that the circuit elements are not limited to the particular functionality in other examples. In other words, a circuit element that is described in one example herein as a single-function circuit element may be configured as a multi-function circuit element in other examples, and vice versa. 
     The common electrodes  402  (i.e., touch node electrodes) and display pixels  401  of  FIG. 4  are shown as rectangular or square regions on touch screen  400 . However, it is understood that the common electrodes  402  and display pixels  401  are not limited to the shapes, orientations, and positions shown, but can include any suitable configurations according to examples of the disclosure. Further, the examples of the disclosure will be provided in the context of a touch screen, but it is understood that the examples of the disclosure can similarly be implemented in the context of a touch sensor panel. 
     Fingers or objects that touch or come in proximity to the touch screen of the disclosure can sometimes be relatively large. For example, if a keyboard is displayed on the touch screen, a finger that is touching the touch screen to select a key from the keyboard can be two or three times the size of the keys of the keyboard, and can cover two or more keys when touching the touch screen. In some examples, a centroid of the touch on the touch screen can be calculated to determine where the touch location of the relatively large finger should be identified (and thus which key of the keyboard has been selected, for example). However, the centroid of the touch may not accurately reflect the intended touch location of the user. For example, the user&#39;s finger may have inadvertently moved immediately prior to touchdown (e.g., due to a bumpy road or turbulence in an airplane while touching the touch screen). Thus, in some examples, the trajectory of the finger as it approaches the touch screen (before touching or coming within a predefined proximity of the touch screen) can be tracked to predict the user&#39;s intended touch location, and provide a more accurate touch experience for the user. 
       FIG. 5  illustrates an exemplary capacitance profile  504  detected on touch screen  500  according to examples of the disclosure. Touch screen  500  can include touch node electrodes  502 , including touch node electrodes  502   a ,  502   b  and  502   c , as previously described, though it is understood that the touch node electrodes in the figure can represent touch nodes for touch screens other that pixelated self-capacitance touch screens (e.g., mutual capacitance touch screen touch nodes). Touch screen  500  can detect capacitance profile  504 . Capacitance profile  504  can correspond to a finger or object touching or in proximity to touch screen  500 . As previously described, in some examples, centroid  506  of capacitance profile  504  can be calculated to determine the touch location corresponding to the capacitance profile; in the illustrated example, the centroid can coincide with touch node electrode  502   a . However, centroid  506  may not accurately reflect the intended touch location of the user. In some examples, touch location  508  (corresponding to touch node electrode  502   b ) may more accurately reflect the user&#39;s intended touch location, or touch location  510  (corresponding to touch node electrode  502   c ) may more accurately reflect the user&#39;s intended touch location. Tracking and predicting the trajectory of the finger or object as it approaches touch screen  500  can facilitate a more accurate determination of the user&#39;s intended touch location, as will be described below. 
       FIGS. 6A-6C  illustrate exemplary tracking and prediction of the trajectory of finger  605  according to examples of the disclosure.  FIG. 6A  illustrates two exemplary trajectories  607   a  and  607   b  of two exemplary fingers  605   a  and  605   b  according to examples of the disclosure. Finger  605   a  can be approaching touch screen  600  at a steeper angle and with a greater z-velocity (velocity along the z-axis perpendicular to the surface of the touch screen) than finger  605   b , which can be approaching the touch screen at a shallower angle and with a lower z-velocity than finger  605   a . However, for the purpose of the illustrated examples, fingers  605   a  and  605   b  can both be located at position  612  before touching touch screen  600 , and can both have substantially the same velocity in the plane of the touch screen (e.g., substantially the same x-y velocity). 
     Focusing first on finger  605   a , the trajectory that finger  605   a  followed to arrive at position  612  can be determined when finger  605   a  arrives at position  612  (or could have been being tracked before finger  605   a  arrived at position  612 ). For example, finger  605   a  could have moved from position  610   a  to position  612  along trajectory  607   a . The touch sensing system in some examples of the disclosure (e.g., as illustrated in  FIG. 2 ) can detect or otherwise obtain most or all of the parameters required to determine most or all of the quantities required to track or determine trajectory  607   a . For example, the capacitance profile of finger  605   a  as it moves closer to touch screen  600  can be tracked and utilized to determine finger  605   a &#39;s position, velocity and acceleration in three dimensions over time (e.g., along the x, y and z axes). Changes in the x and y position of finger  605   a  from position  610   a  to position  612  can be utilized to determine finger  605   a &#39;s velocity along the x and y axes (i.e., in the plane of touch screen  600 ), and changes in the intensity of finger  605   a &#39;s capacitance profile from position  610   a  to position  612  can be utilized to determine finger  605   a &#39;s velocity along the z axis (towards the touch screen), for example. In some examples, some of the parameters can be retrieved from memory or assumed as constant values. 
     Based on the trajectory that finger  605   a  followed to arrive at position  612  and/or the above velocity determinations or other data, predicted location  614   a  can be extrapolated as the location at which finger  605   a  is predicted to touchdown on touch screen  600  (and thus can be designated as the predicted touch location for finger  605   a ). The above trajectories and extrapolations can take any appropriate form, such as linear trajectories and extrapolations or non-linear trajectories and extrapolations (e.g., spline-based trajectories and extrapolations). Trajectory  607   a  of finger  605   a  can continue to be tracked, and predicted location  614   a  can continue to be determined, until finger  605   a  touches down on touch screen  600 , at which point predicted location  614   a  can be used as the touch location of finger  605   a  (instead of, for example, the centroid of finger  605   a ). It is understood that in some examples, predicted location  614   a  can be a point or an area on touch screen  600 . Further, in some examples, predicted location  614   a  can be a weighted gradient radiating outward such that a point or area at the center of the gradient can be a most likely intended touch location, and the areas surrounding and further from the center can be progressively less likely intended touch locations. In some examples, if the size of the object being detected by touch screen  600  is less than a predetermined size, the touch sensing system may ignore predicted location  614   a  (or forgo determining it in the first instance), and instead use the centroid of the object as the identified touch location, because touches by a relatively small object (e.g., a stylus) can be considered to be accurate and intended. 
     In some examples, when tracking the trajectory of an incoming finger (e.g., finger  605   a ), the touch sensing system of the disclosure can track the movement of the centroid of the finger&#39;s capacitance profile detected on the touch screen; in some examples, the touch sensing system can track the movement of the point(s) in the finger&#39;s capacitance profile with the highest intensities; and in some examples, the touch sensing system can track the movement of the point(s) in the finger&#39;s capacitance profile that reflect the user&#39;s desired touch point on the user&#39;s finger (e.g., right at the tip of the finger, a predetermined distance further back from the tip of the finger, etc.), which can be preprogrammed into the touch sensing system in some examples, or can be determined by the touch sensing system over time based on the user&#39;s touch activity. 
     Similar to as described with respect to finger  605   a , trajectory  607   b  and predicted location  614   b  for finger  605   b  can be tracked and determined. As illustrated, because finger  605   b  can be approaching touch screen  600  with a lower z-velocity but with the same x- and y-velocities as finger  605   a , trajectory  607   b  of finger  605   b  can have a shallower angle than trajectory  607   a  of finger  605   a , and predicted location  614   b  can be further away from location  612  than predicted location  614   a.    
       FIGS. 6B and 6C  illustrate exemplary capacitance profiles and intensities for fingers  605   a  and  605   b , according to examples of the disclosure. Capacitance profiles  616   a  and  618   a  in  FIG. 6B  can correspond to the capacitance profiles of finger  605   a  when it was at locations  610   a  and  612  in  FIG. 6A , respectively, and can represent successive sampling events on touch screen  600 . For example, capacitance profile  616   a  could have been sampled during a first touch screen  600  sampling event, and capacitance profile  618   a  could have been sampled during a subsequent touch screen sampling event. When finger  605   a  was at location  610   a , its capacitance profile  616   a  on touch screen  600  could have been larger (i.e., more spread out) than when finger  605   a  was closer to the touch screen at location  612  (represented by capacitance profile  618   a ). Also, the intensity of touch or proximity detected by touch screen  600  can have been less in capacitance profile  616   a  than in capacitance profile  618   a  (represented by the is in capacitance profile  616   a  and the  6   s  in capacitance profile  618   a ), because finger  605   a  can have been further from touch screen  600  at capacitance profile  616   a  than at capacitance profile  618   a . The touch sensing system of the disclosure can utilize these changes in the size and/or intensity of the capacitance profiles of finger  605   a  over time to determine the z-velocity of finger  605   a . It should be noted that in the examples of  FIGS. 6B-6C , the range of touch intensities can range from 0 (no touch) to 10 (finger touching touch screen  600 ), though it is understood that other touch intensity ranges or actual capacitance values can instead be utilized in accordance with this disclosure. Further, although the touch intensities of capacitance profiles  616   a  and  618   a  are illustrated as being uniform (e.g., all 1s or all 6s), this is for simplicity of illustration only, and it is understood that the touch intensities of the capacitance profiles need not be uniform; for example, some portions of finger  605   a  may be closer to touch screen  600  than other portions, which can result in different touch intensities detected at the different touch node electrodes within the capacitance profiles. 
     Using capacitance profiles  616   a  and  618   a , predicted location  614   a  can be determined as the location at which finger  605   a  is predicted to touchdown on touch screen  600 , as previously described. In some examples, predicted location  614   a  can be a single touch node electrode, while in some examples, predicted location  614   a  can comprise multiple touch node electrodes. Further, in some examples, predicted location  614   a  need not correspond directly to a touch node electrode at all, but rather can represent a location on touch screen  600  that is independent of the actual hardware implementation of touch screen  600  (e.g., a coordinate or collection of coordinates to which the touch screen maps). 
     Predicted location  614   a  can be determined from capacitance profiles  616   a  and  618   a  in the manners previously described. For example, the rate of change of the sizes of capacitance profiles  616   a  and  618   a  and/or the rate of change of the intensities of the capacitance profiles can be used to determine the velocity of finger  605   a  towards touch screen  600  (i.e., in the z-direction). Further, the rate of change of the locations of capacitance profiles  616   a  and  618   a  (e.g., how far finger  605   a  has moved in the plane of touch screen  600  between capacitance profile  616   a  and  618   a ) can be used to determine the velocity of finger  605   a  in the plane of the touch screen (i.e., in the x-y plane). Using the two quantities determined above (z-velocity and x-y velocity), the touch sensing system can determine a predicted trajectory and/or touch location for finger  605   a.    
     Analogously to above, capacitance profiles  616   b  and  618   b  in  FIG. 6C  can correspond to the capacitance profiles of finger  605   b  when it was at locations  610   b  and  612  in  FIG. 6A , respectively, and can represent successive sampling events on touch screen  600 . For example, capacitance profile  616   b  could have been sampled during a first touch screen  600  sampling event, and capacitance profile  618   b  could have been sampled during a subsequent touch screen sampling event. When finger  605   b  was at location  610   b , its capacitance profile  616   b  on touch screen  600  could have been larger (i.e., more spread out) than when finger  605   b  was closer to the touch screen at location  612  (represented by capacitance profile  618   b ). Also, the intensity of touch or proximity detected by touch screen  600  can have been less in capacitance profile  616   b  than in capacitance profile  618   b  (represented by the  3   s  in capacitance profile  616   b  and the  6   s  in capacitance profile  618   b ), because finger  605   b  can have been further from touch screen  600  at capacitance profile  616   b  than at capacitance profile  618   b . Note that the intensity of capacitance profile  616   b  can be higher than the intensity of capacitance profile  616   a  in  FIG. 6B , because finger  605   b  at location  610   b  (corresponding to capacitance profile  616   b ) can have been closer to touch screen than finger  605   a  at location  610   a  (corresponding to capacitance profile  616   a ). For similar reasons, the size of capacitance profile  616   b  can be smaller than the size of capacitance profile  616   a  in  FIG. 6B . As before, the touch sensing system of the disclosure can utilize the above changes in the size, intensity and or position of the capacitance profiles of finger  605   b  over time to determine a predicted trajectory and/or touch location for finger  605   b.    
     In some examples, the predicted touch location described above can be used as the identified touch location when the finger touches down on the touch screen (instead of, for example, the centroid of the finger when it touches down on the touch screen). In some examples, the predicted touch location can instead be used to shift, rather than replace, the centroid of the capacitance profile of the finger when it touches down on the touch screen to determine the identified touch location of the finger.  FIG. 7  illustrates an exemplary capacitance profile  704  detected on touch screen  700  according to examples of the disclosure. Capacitance profile  704  can correspond to a finger or object touching or in proximity to touch screen  700 . Capacitance profile  704  can have centroid  706  and can be associated with predicted touch location  708 , which can be determined as described above. In some examples, the identified touch location of capacitance profile  704  can be determined to be an average (e.g., a weighted average) of centroid  706  and predicted touch location  708 , represented by identified touch location  706 ′. In other examples, the centroid  706  can be shifted a fractional amount towards the predicted touch location  708  (e.g., moved towards the predicted touch location by 75% of the distance between the centroid and the predicted touch location), where the amount of the shift can depend on other factors such as accelerometer data (e.g., indicative of the strength of a jarring motion that might cause an earlier than expected touchdown). In still other examples, the centroid can shift in other directions, by other amounts, depending on a variety of factors and collected data. In this way, the identified touch location can be determined as a modified centroid of the capacitance profile instead of simply the predicted touch location. 
     In some examples, the predicted touch location of a finger approaching the touch screen can change over time, because the finger&#39;s movement can change over time (e.g., change direction, start moving more quickly or slowly, etc.).  FIGS. 8A-8C  illustrate such a scenario in which the predicted touch location of a finger approaching touch screen  800  can change over time according to examples of the disclosure.  FIG. 8A  illustrates finger  805  located a distance  812  from the surface of touch screen  800 . The touch sensing system has predicted trajectory  807  and touch location  808  based on finger  805 &#39;s trajectory towards touch screen  800  up to this point in time. 
       FIG. 8B  illustrates finger  805  located a distance  814 , less than distance  812 , from the surface of touch screen  800 . Finger  805  has moved closer to touch screen  800  than in  FIG. 8A . The trajectory of finger  805  has also changed in some manner with respect to  FIG. 8A  (e.g., the finger has started moving towards touch screen  800  at a faster speed), and therefore the touch sensing system has predicted a new trajectory  809  and touch location  810  based on the finger&#39;s trajectory towards the touch screen up to this point in time. For example, as stated above, finger  805  may have started moving more quickly towards touch screen  800  than in  FIG. 8A , and thus predicted touch location  810  can be closer to finger  805  than is previously-predicted touch location  808  (e.g., the touch sensing system has predicted that finger  805  will touch down on touch screen  800  sooner than previously predicted in  FIG. 8A ). 
       FIG. 8C  illustrates finger  805  having touched down on touch screen  800 . Finger  805  can be associated with capacitance profile  804  upon touch down on touch screen  800 . Capacitance profile  804  can have centroid  806 . Further, finger  805  can be associated with predicted touch location  810 , which can be at a different location than centroid  806 . In the example illustrated, predicted touch location  810  can have remained substantially constant between  FIG. 8B  and  FIG. 8C , because, for example, finger  805  can have substantially followed trajectory  809  to the surface of touch screen  800  beginning at least at  FIG. 8B .  FIGS. 8A-8C  are provided by way of example only to illustrate that the touch sensing system of the disclosure can modify, over time, its predicted trajectory and/or touch location for a finger or object approaching the touch screen, and the exact manner of such modification is not limited to that illustrated in  FIGS. 8A-8C . 
     In some examples, the touch sensing system of the disclosure can track and predict the trajectory of an incoming finger or object at any distance from the touch screen. However, in some examples, the touch sensing system may not start tracking and predicting the trajectory of an incoming finger or object until the finger or object is a threshold distance from the touch screen; in some examples, this can be to reduce touch screen power consumption.  FIGS. 9A-9C  illustrate exemplary trajectory tracking and prediction utilizing threshold distance  909  according to examples of the disclosure.  FIG. 9A  illustrates finger  905  further than threshold distance  909  from touch screen  900 . The touch sensing system of the disclosure can forgo predicting the trajectory of finger  905  to conserve power when the finger is greater than threshold distance  909  from touch screen  900 . It is understood that while threshold distance  909  can be thought of as a distance, it can manifest itself in the intensity of the capacitance profile corresponding to finger  905  detected by touch screen  900 . In other words, high capacitance intensities (e.g., greater than an intensity threshold) can correspond to finger  905  being relatively near or in contact with touch screen  900 , while low capacitance intensities (e.g., less than the intensity threshold) can correspond to the finger being relatively far from the touch screen—the finger can be determined to have crossed threshold distance  909  when its capacitance profile intensity reaches a corresponding intensity threshold. 
       FIG. 9B  illustrates finger  905  having crossed threshold distance  909  from touch screen  900 . In response, the touch sensing system can start tracking and predicting trajectory  907  and predicted touch location  910 , as previously discussed. In some examples, the touch sensing system can start tracking finger  905  once the finger crosses threshold distance  909 , but may not start predicting trajectory  907  immediately, because two or more detected positions of finger  905  may be required to determine trajectory  907 —in such examples, the touch sensing system can start predicting trajectory  907  once two or more positions of finger  905  have been detected after finger  905  crosses threshold distance  909 .  FIG. 9C  illustrates finger  905  having touched down on touch screen  900  at predicted touch location  910 . 
     In some examples, multiple distance thresholds can be utilized in the trajectory tracking and prediction disclosed above, as illustrated in  FIGS. 10A-10C .  FIG. 10A , similar to  FIG. 9A , illustrates finger  1005  further than threshold distance  1009  from touch screen  1000 . The touch sensing system of the disclosure can forgo predicting the trajectory of finger  1005  to conserve power when the finger is greater than threshold distance  1009  from touch screen  1000 . 
       FIG. 10B  illustrates finger  1005  having crossed threshold distance  1009  from touch screen  1000 . The touch sensing system can start tracking and predicting trajectory  1007  and predicted touch location  1010 , as previously discussed. 
     In contrast to the examples of  FIGS. 9A-9C , in  FIG. 10C , a second threshold distance  1011  from touch screen  1000 , closer than threshold distance  1009  from the touch screen, can correspond to a predicted touch location lock threshold. When finger  1005  reaches threshold distance  1011 , predicted touch location  1010  can be registered as the identified touch location on touch screen  1000 . In some examples, predicted touch location  1010  can be registered and identified as a touch input as soon as finger  1005  crosses threshold distance  1011 . In some examples, predicted touch location  1010  can be stored as a future touch input location when finger  1005  crosses threshold distance  1011 , but actual use or registering of predicted touch location  1010  as a touch input can be delayed until finger  1005  actually touches touch screen  1000  (or crosses a third threshold distance from touch screen  1000 , closer to the touch screen than threshold distance  1011 ). In some examples, finger  1005  can be determined to have touched touch screen  1000  because the intensity of its capacitance profile is greater than an intensity threshold, and/or because an amount of force detected on the touch screen is greater than a force threshold (in a scenario in which the touch screen has force sensing capabilities). 
     In some examples, the surface of touch screen  1000  and the location of the display in the touch screen may not coincide (i.e., the display of the touch screen may be behind one or more layers of the touch screen, such as a cover surface of the touch screen). In such circumstances, a user may be prevented by a cover surface of the touch screen or the like from directly or nearly directly touching an element displayed on touch screen  1000 , which can cause the user&#39;s actual touch location to fall short of the user&#39;s intended touch location. This issue can be addressed by using the trajectory tracking and prediction framework of  FIGS. 10A-10C , where threshold distance  1011  can represent the surface of, for example, the cover surface of touch screen  1000 , and the surface of the touch screen in the figures can represent the location of the display in the touch screen. When finger  1005  reaches threshold distance  1011 , and cannot proceed further due to touching the surface of the cover surface, predicted touch location  1010 , which can be extrapolated to the surface of the display, can be used as the identified touch location. 
     As previously described, the tracked and predicted trajectory of a finger or object approaching the touch screen of the disclosure need not be linear, but could be any type of trajectory, including non-linear trajectories.  FIG. 11  illustrates an exemplary non-linear trajectory  1107  of finger  1105  approaching touch screen  1100  according to examples of the disclosure. Finger  1105  can currently be at location  1110 . Previously, finger  1005  could have been at locations  1112  and  1114 , as illustrated. From locations  1114  and  1112  to location  1110 , finger  1105  can have followed a non-linear trajectory, as illustrated. Based on that non-linear trajectory, the touch sensing system of the disclosure can predict non-linear trajectory  1107  and predicted touch location  1116 . In some examples, the touch sensing system can predict non-linear trajectory  1107  using one or more curve-fitting techniques (e.g. “Newton-Raphson”). 
     In some examples, the trajectory via which a finger or object has approached the touch screen may be used to determine an identified touch location on the touch screen without determining a predicted touch location to do so.  FIG. 12  illustrates an exemplary touch screen  1200  displaying user interface elements  1230  according to examples of the disclosure. Touch screen  1200  can display user interface elements  1230 , including user interface elements  1232  and  1234 . In some examples, user interface elements  1230 ,  1232  and  1234  can be individual keys on a keyboard displayed on touch screen  1200 . A finger may have touched touch screen  1200  in between user interface elements  1232  and  1234  on the touch screen, as represented by capacitance profile  1204  having centroid  1206  in between user interface elements  1232  and  1234 . Because centroid  1206  of capacitance profile  1204  can be in between user interface elements  1232  and  1234 , whether user interface element  1232  or user interface element  1234  should be selected by the finger can be unclear. 
     However, the trajectory with which the finger approached touch screen  1200  can be used to identify the intended user interface element to be selected. For example, if capacitance profile  1204  resulted from touchdown of finger  1205   a , which approached touch screen  1200  via trajectory  1207   a , the touch sensing system can determine that user interface element  1234  should be selected, because trajectory  1207   a  can be directed towards user interface element  1234 . On the other hand, if capacitance profile  1204  resulted from touchdown of finger  1205   b , which approached touch screen  1200  via trajectory  1207   b , the touch sensing system can determine that user interface element  1232  should be selected, because trajectory  1207   b  can be directed towards user interface element  1232 . In this way, the trajectory of an incoming finger or object can be used, sometimes without determining an intended touch location, in determining a user interface element to be selected on the touch screen. 
     In some examples, in addition or alternatively to utilizing the relationship between the direction of the finger&#39;s trajectory and the location of a particular user interface element on the touch screen, the touch sensing system of the disclosure can simply utilize the finger&#39;s trajectory in determining which user interface element on the touch screen should be selected. For example, referring again to  FIG. 12 , user interface element  1232  can be a “U” key in an on-screen keyboard, and user interface element  1234  can be an “I” key in the on-screen keyboard. The touch sensing system of the disclosure can be configured to expect that it is more likely for a user, typing on the keyboard, to select the “U” key  1232  with their index finger, and to select the “I” key  1234  with their middle finger. This expectation can be pre-programmed in the touch sensing system, and/or can be developed over time based on user typing behavior on the on-screen keyboard. 
     In response to detecting capacitance profile  1204 , which can be unclear as to which of the “U” key  1232  or the “I” key  1234  should be selected, the touch sensing system of the disclosure can analyze the trajectory with which the finger approached touch screen  1200 . A user&#39;s index finger can substantially follow a first type of trajectory when approaching touch screen  1200 , while a user&#39;s middle finger can substantially follow a second type of trajectory when approaching the touch screen; in other words, index fingers and middle fingers can follow different trajectories when approaching the touch screen. This can similarly apply to other fingers as well. Based on this information, the touch sensing system of the disclosure can determine which of a user&#39;s fingers resulted in capacitance profile  1204  (e.g., whether it was an index finger or a middle finger). It is understood that in some examples, the above-described trajectories may not be the only factors used in identifying which of a user&#39;s fingers resulted in capacitance profile  1204 ; other factors can include the velocity of the finger and the shape of capacitance profile  1204 , for example. Based on the above finger identification, the touch sensing system can cause selection of the appropriate user interface element. For example, if the finger was identified as being an index finger, the touch sensing system can cause selection of the “U” key  1232 , and if the finger was identified as being a middle finger, the touch sensing system can cause selection of the “I” key  1234 . Such finger trajectory-user interface element correlations can similarly be utilized in other contexts as well. 
     In some examples, the velocity of the finger or object as it approaches the touch screen along a trajectory can be used in processing touch inputs on the touch screen of the disclosure.  FIGS. 13A-13B  illustrate exemplary touch processing based on the velocity with which a finger is approaching touch screen  1300  according to examples of the disclosure. In  FIG. 13A , finger  1305   a  can be approaching touch screen  1300  with a relatively high velocity (e.g., a relatively high z-velocity as represented by vector  1309   a ), while in  FIG. 13B , finger  1305   b  can be approaching the touch screen with a relatively low velocity (e.g., a relatively low z-velocity as represented by vector  1309   b ). A relatively high velocity can be a velocity greater than a velocity threshold, while a relatively low velocity can be a velocity below a velocity threshold. 
     Because the velocity of finger  1305   a  can be relatively high, a touch resulting from finger  1305   a  touching touch screen  1300  can be registered and analyzed as a touch input, because such a touch can be assumed to be intentional. For example, if a user is typing on an on-screen keyboard on touch screen  1300 , high finger velocity can be associated with deliberate typing action by the user. On the other hand, low finger velocity can be associated with unintentional contact with touch screen  1300  (i.e., not deliberate typing action by the user), such as due to the user resting fingers on the touch screen. Therefore, because the velocity of finger  1305   b  can be relatively low, a touch resulting from finger  1305   b  touching touch screen  1300  can be ignored and not registered or analyzed as a touch input, because such a touch can be assumed to be unintentional. This can allow users to rest their hands or fingers on touch screen  1300  while typing without registering accidental key inputs due to such resting. The specific velocity thresholds utilized can be preprogrammed, and/or can be based on a user&#39;s own typing behaviors that the touch sensing system can determine over time. Further, different velocity thresholds can be utilized in different contexts (e.g., different velocity thresholds can be utilized depending on whether a keyboard is on screen or another application is on screen). Additionally, in some contexts, a high finger velocity can be indicative of an unintentional touch while a low finger velocity can be indicative of an intentional touch, as appropriate. 
     In some examples, the predicted touch location can be used to select a user interface element on the touch screen of the disclosure.  FIG. 14  illustrates an exemplary touch screen  1400  displaying user interface elements  1430  and detecting capacitance profile  1404  according to examples of the disclosure. Touch screen  1400  can display user interface elements  1430 ,  1432  and  1434 , which can correspond to keys on an on-screen keyboard, though is it understood that the user interface elements could alternatively correspond to any user interface element such as icons on a home screen of a mobile device. Touch screen  1404  can detect capacitance profile  1404  from finger  1405  touching the touch screen. Capacitance profile  1404  can have centroid  1406 , which can be positioned in between user interface elements, including user interface elements  1432  and  1434 . Therefore, utilizing centroid  1406  to determine which user interface element should be selected can result in an inaccurate selection. 
     The touch sensing system of the disclosure can utilize the trajectory tracking and prediction as discussed previously to determine a predicted touch location of finger  1405  before it touches touch screen  1400  to aid in selecting the correct user interface element. For example, finger  1405  can have followed trajectory  1407  to the surface of touch screen  1400  before touching the touch screen, and the touch sensing system can have determined predicted touch location  1410  based on that trajectory. In such an example, when finger  1405  touches touch screen  1400  at capacitance profile  1404 , the touch sensing system can select user interface element  1432 , because predicted touch location  1410  can coincide with user interface element  1432 . As another example, if the touch sensing system has determined predicted touch location  1412  based on trajectory  1407 , when finger  1405  touches touch screen  1400  at capacitance profile  1404 , the touch sensing system can select user interface element  1434 , because predicted touch location  1412  can coincide with user interface element  1434 . As such, the relationship between the predicted touch location and user interface elements can be used to determine which user interface element should be selected in response to a touch detected on the touch screen. 
     In some examples, determination of the predicted touch location on the touch screen can be based on not only the trajectory with which a finger or object is approaching the touch screen, but also what is displayed on the touch screen.  FIG. 15  illustrates an exemplary touch screen  1500  in which predicted touch location  1510  is determined based on at least user interface elements  1530  displayed by the touch screen according to examples of the disclosure. Touch screen  1500  can display user interface elements  1530 , including user interface elements  1532  and  1534 . Predicted touch location  1510  can be determined by the touch sensing system of the disclosure, as previously described. However, predicted touch location  1510  can be adjusted to become predicted touch location  1510 ′ based on one or more characteristics of user interface elements  1530 ,  1532  and/or  1534 . For example, if user interface element  1532  is a user interface element that is most likely to be selected on the touch screen, predicted touch location  1510  that is in between user interface elements  1532  and  1534  can be modified to move towards user interface element  1532 , as represented by predicted touch location  1510 ′, based on the theory that a user is more likely to intend to touch a user interface element that is more likely to be selected. For example, user interface elements  1530 ,  1532  and  1534  can be icons on a home screen of a mobile device, and user interface element  1532  can be an icon that a user selects most frequently. Because icon  1532  can be most likely to be selected by the user, the touch sensing system can weight predicted touch location  1510  towards icon  1532  (as updated predicted touch location  1510 ′). As another example, icons or user interface elements towards the center of touch screen  1500  can be considered to be more likely to be selected than icons or user interface elements towards the edges of the touch screen (and thus predicted touch location  1510  can be weighted towards icons in the center of the touch screen). Similarly, larger icons or user interface elements can be considered to be more likely to be selected than icons or user interface elements that are smaller (and thus predicted touch location  1510  can be weighted towards larger icons). Finally, icons or user interface elements that are within a predetermined distance of the finger&#39;s predicted trajectory or predicted touch location  1510 , or within a predetermined degree range of the finger&#39;s predicted trajectory&#39;s orientation, can be considered to be more likely to be selected than other icons or user interface elements (and thus the predicted touch location can be weighted towards such icons). 
     As another example, user interface elements  1530 ,  1532  and  1534  can be keys on an on-screen keyboard, and user interface element  1532  can be a key that is most likely to be selected next (or, more likely to be selected than key  1534  to the right of predicted touch location  1510 ). Key  1532  can be determined to be most likely to be selected next based on, for example, the characters already entered by the user via the keyboard, and key  1532  can correspond to a character that is most likely to follow the already-entered characters (e.g., the characters “ca” can have been already-entered, and key  1532  can correspond to the key “t” to spell “cat”, while key  1534  can correspond to the key “y”, which can be less likely to be entered). In such a scenario, the touch sensing system can weight predicted touch location  1510  towards key  1532  (as updated predicted touch location  1510 ′). 
     For the above examples, and other scenarios in which the likelihood of selection of different user interface elements can be different, updated predicted touch location  1510 ′ can be used in any one or more of the manners described previously to analyze touch activity on touch screen  1500 . 
       FIG. 16  illustrates exemplary flowchart  1600  for determining a touch location of an object at a touch sensor panel according to examples of the disclosure. At step  1602 , when the object is a first distance from the touch sensor panel, a predicted touch location associated with the object on the touch sensor panel can be determined based on at least a trajectory of the object towards the touch sensor panel. This determination can be in any of the manners described above with reference to  FIGS. 5-15 . 
     At step  1604 , when the object is a second distance from the touch sensor panel, less than the first distance, an identified touch location associated with the object on the touch sensor panel can be determined based on at least the predicted touch location. This determination can be in any of the manners described above with reference to  FIGS. 5-15 . 
     Thus, the examples of the disclosure provide various ways for tracking and predicting the trajectories and/or touch locations of objects approaching a touch screen, resulting in increased touch detection accuracy on the touch screen. 
     Therefore, according to the above, some examples of the disclosure are directed to a touch controller comprising: sense circuitry configured to sense an object at a touch sensor panel; and a touch processor capable of: when the object is a first distance from the touch sensor panel, determining a predicted touch location associated with the object on the touch sensor panel based on at least a trajectory of the object towards the touch sensor panel; and when the object is a second distance from the touch sensor panel, less than the first distance, determining an identified touch location associated with the object on the touch sensor panel based on at least the predicted touch location. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the object is the second distance from the touch sensor panel when the object is touching a surface of the touch sensor panel. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the touch processor is further capable of determining a centroid of the object, and the predicted touch location of the object is different from the centroid of the object. Additionally or alternatively to one or more of the examples disclosed above, in some examples, determining the identified touch location associated with the object comprises designating the predicted touch location as the identified touch location. Additionally or alternatively to one or more of the examples disclosed above, in some examples, determining the identified touch location associated with the object comprises determining the identified touch location based on the predicted touch location and the centroid of the object. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the touch processor is further capable of: when the object is a third distance from the touch sensor panel, between the first distance and the second distance, updating the predicted touch location based on at least an updated trajectory of the object towards the touch sensor panel. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the touch processor is further capable of determining that the object is a first threshold distance from the touch sensor panel, wherein the first distance is less than or equal to the first threshold distance, and determining the predicted touch location associated with the object on the touch sensor panel is in response to determining that the object is the first threshold distance from the touch sensor panel. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the touch processor is further capable of determining that the object is a second threshold distance, less than the first threshold distance, from the touch sensor panel, wherein the second distance is less than or equal to the second threshold distance, and determining the identified touch location associated with the object on the touch sensor panel is in response to determining that the object is the second threshold distance from the touch sensor panel. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the touch processor is further capable of: after determining the identified touch location associated with the object, determining that the object is touching a surface of the touch sensor panel; and in response to determining that the object is touching the surface of the touch sensor panel, identifying an input associated with the object based on the identified touch location. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the touch controller is coupled to a display, and determining the identified touch location comprises: in accordance with a determination that the trajectory of the object towards the touch sensor panel is a first trajectory, selecting a first user interface element displayed by the display in response to determining that the object is the second distance from the touch sensor panel; and in accordance with a determination that the trajectory of the object towards the touch sensor panel is a second trajectory, different from the first trajectory, selecting a second user interface element, different from the first user interface element, displayed by the display in response to determining that the object is the second distance from the touch sensor panel. Additionally or alternatively to one or more of the examples disclosed above, in some examples, determining the identified touch location further comprises: in accordance with the determination that the trajectory of the object towards the touch sensor panel is the first trajectory, identifying the object as a first finger based on at least the trajectory of the object towards the touch sensor panel; and in accordance with the determination that the trajectory of the object towards the touch sensor panel is the second trajectory, identifying the object as a second finger, different from the first finger, based on at least the trajectory of the object towards the touch sensor panel. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the touch controller is coupled to a display, and determining the identified touch location further comprises determining the identified touch location based on at least one or more user interface elements displayed by the display. Additionally or alternatively to one or more of the examples disclosed above, in some examples, determining the identified touch location further comprises adjusting the predicted touch location based on respective likelihoods of selection of the one or more user interface elements. 
     Some examples of the disclosure are directed to a non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a processor cause the processor to perform a method comprising: sensing an object at a touch sensor panel; when the object is a first distance from the touch sensor panel, determining a predicted touch location associated with the object on the touch sensor panel based on at least a trajectory of the object towards the touch sensor panel; and when the object is a second distance from the touch sensor panel, less than the first distance, determining an identified touch location associated with the object on the touch sensor panel based on at least the predicted touch location. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the method further comprises: determining a centroid of the object, wherein the predicted touch location of the object is different from the centroid of the object. Additionally or alternatively to one or more of the examples disclosed above, in some examples, determining the identified touch location associated with the object comprises designating the predicted touch location as the identified touch location. Additionally or alternatively to one or more of the examples disclosed above, in some examples, determining the identified touch location associated with the object comprises determining the identified touch location based on the predicted touch location and the centroid of the object. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the method further comprises: when the object is a third distance from the touch sensor panel, between the first distance and the second distance, updating the predicted touch location based on at least an updated trajectory of the object towards the touch sensor panel. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the method further comprises: determining that the object is a first threshold distance from the touch sensor panel, wherein the first distance is less than or equal to the first threshold distance, wherein determining the predicted touch location associated with the object on the touch sensor panel is in response to determining that the object is the first threshold distance from the touch sensor panel. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the method further comprises: determining that the object is a second threshold distance, less than the first threshold distance, from the touch sensor panel, wherein the second distance is less than or equal to the second threshold distance, wherein determining the identified touch location associated with the object on the touch sensor panel is in response to determining that the object is the second threshold distance from the touch sensor panel. Additionally or alternatively to one or more of the examples disclosed above, in some examples, determining the identified touch location comprises: in accordance with a determination that the trajectory of the object towards the touch sensor panel is a first trajectory, selecting a first user interface element displayed by a display in response to determining that the object is the second distance from the touch sensor panel; and in accordance with a determination that the trajectory of the object towards the touch sensor panel is a second trajectory, different from the first trajectory, selecting a second user interface element, different from the first user interface element, displayed by the display in response to determining that the object is the second distance from the touch sensor panel. Additionally or alternatively to one or more of the examples disclosed above, in some examples, determining the identified touch location further comprises: in accordance with the determination that the trajectory of the object towards the touch sensor panel is the first trajectory, identifying the object as a first finger based on at least the trajectory of the object towards the touch sensor panel; and in accordance with the determination that the trajectory of the object towards the touch sensor panel is the second trajectory, identifying the object as a second finger, different from the first finger, based on at least the trajectory of the object towards the touch sensor panel. Additionally or alternatively to one or more of the examples disclosed above, in some examples, determining the identified touch location further comprises determining the identified touch location based on at least one or more user interface elements displayed by the display. Additionally or alternatively to one or more of the examples disclosed above, in some examples, determining the identified touch location further comprises adjusting the predicted touch location based on respective likelihoods of selection of the one or more user interface elements. 
     Some examples of the disclosure are directed to a method comprising: sensing an object at a touch sensor panel; when the object is a first distance from the touch sensor panel, determining a predicted touch location associated with the object on the touch sensor panel based on at least a trajectory of the object towards the touch sensor panel; and when the object is a second distance from the touch sensor panel, less than the first distance, determining an identified touch location associated with the object on the touch sensor panel based on at least the predicted touch location. 
     Although examples of this disclosure have been fully described with reference to the accompanying drawings, it is to be noted that various changes and modifications will become apparent to those skilled in the art. Such changes and modifications are to be understood as being included within the scope of examples of this disclosure as defined by the appended claims.

Metadata:
Filing Date: 20160609
Publication Date: 20200218
Grant Date: 20200218
Priority Date: 20150609
Inventors: KEELER, KEVIN M.
MENZEL, BRIAN C.
HILARIO, ALVIN J.
MARSDEN, Randal
Assignee: APPLE INC
CPC Classifications: [{"code": "G06F3/04886", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06F3/0416", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F2203/04101", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F3/044", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/0418", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06F3/044", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F2203/04101", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F2203/04101", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F3/044", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/0418", "inventive": true, "first": true, "tree": "[]"}]
Family ID: 69528240