Low-latency touch feedback

Embodiments of the present invention generally provide a touch screen controller coupled to a touch sensor, a display, and a central processing unit. The touch screen controller is configured to detect first touch input received by the touch sensor and change a visual characteristic of the display upon detecting the first touch input. Detecting the first touch input and changing the visual characteristic are performed while the central processing unit is in a sleep state.

BACKGROUND OF THE INVENTION

Field of the Invention

Embodiments of the present invention generally relate to a system, device, and method for providing low-latency touch feedback with an input device.

Description of the Related Art

Display devices are widely used in a variety of electronic systems to provide visual information to a user. For example, display devices may be used to provide a visual interface to an electronic system, such as a desktop computer. Advancements in display technologies have enabled display devices to be incorporated into an increasing number of mobile applications, such as laptop computers, tablet computers, and mobile phones. In such applications, display devices may be implemented in conjunction with an input device, such as a touch sensor.

In conventional electronic systems, user input received by a touch sensor must be transmitted to a central processing unit (CPU) and processed by the CPU before the display can be updated to reflect the user input. As such, the CPU must be in an operating state in order to receive user input and provide display feedback. For example, for a user to unlock a mobile device, such as a mobile phone, the CPU first must be transitioned from a sleep state to an operating state. Once in an operating state, the CPU then processes input received by the touch sensor to determine whether the input matches an unlock gesture. If the input does not match an unlock gesture, the CPU may then return to the sleep state.

However, constantly transitioning the CPU from a sleep state to an operating state to determine whether input matches an unlock code or unlock gesture may decrease battery life. Additionally, requiring the CPU to receive and process all input received by an input device in order to provide display feedback is inefficient and may noticeably increase latency associated with user input.

Therefore, there is a need in the art for a more efficient way of providing feedback with a display device.

SUMMARY OF THE INVENTION

Embodiments of the present invention generally provide a touch screen controller coupled to a touch sensor, a display, and a central processing unit. The touch screen controller is configured to detect first touch input received by the touch sensor and change a visual characteristic of the display upon detecting the first touch input. Detecting the first touch input and changing the visual characteristic are performed while the central processing unit is in a sleep state.

Embodiments of the present invention may further provide a method for input sensing with a touch screen controller. The method includes detecting first touch input received by a touch sensor and changing a visual characteristic of a display upon detecting the first touch input. Detecting the first touch input and changing the visual characteristic are performed while a central processing unit is in a sleep state.

Embodiments of the present invention may further provide a touch screen controller for a touch screen device having a touch sensor and a display. The touch screen controller includes a sensor module and a display driver module. The sensor module is coupled to a central processing unit and the touch sensor and configured to detect first touch input received by the touch sensor. The display driver module is coupled to the display and configured to change a visual characteristic of the display when the sensor module detects the first touch input. Detecting the first touch input and changing the visual characteristic are performed while the central processing unit is in a sleep state.

DETAILED DESCRIPTION

Various embodiments of the present invention generally provide a technique for generating low-latency feedback with an input device. An electronic controller (e.g., a touch screen controller) in the input device detects touch input received by a touch sensor. In response, the electronic controller may change a visual characteristic of a display associated with the input device independently of a central processing unit (CPU) associated with the input device. In one example, in response to detecting touch input, the electronic controller may change a visual characteristic of the display without waking the CPU from a sleep state. Advantageously, detecting and responding to touch input independently of the CPU may decrease latency associated with user input and/or reduce the frequency with which the CPU is woken from a sleep state in order to decrease energy consumption, which in battery operated devices, will advantageously extend battery life.

In the embodiment depicted inFIG. 1, the input device100is shown as a proximity sensor device (also often referred to as a “touch screen” or a “touch sensor”) configured to sense input provided by one or more input objects140in a sensing region120. Example input objects140include fingers and styli, as shown inFIG. 1.

The input device100may utilize any combination of sensor components and sensing technologies to detect user input in the sensing region120. The input device100comprises one or more sensing elements for detecting user input. Some implementations are configured to provide images that span one, two, three, or higher dimensional spaces. Some implementations are configured to provide projections of input along particular axes or planes. Cursors, menus, lists, and items may be displayed as part of a graphical user interface and may be scaled, positioned, selected scrolled, or moved.

In some resistive implementations of the input device100, a flexible and conductive first layer is separated by one or more spacer elements from a conductive second layer. During operation, one or more voltage gradients are created across the layers. Pressing the flexible first layer may deflect it sufficiently to create electrical contact between the layers, resulting in voltage outputs reflective of the point(s) of contact between the layers. These voltage outputs may be used to determine positional information.

Some capacitive implementations utilize arrays or other regular or irregular patterns of capacitive sensing elements150, such as sensor electrodes, to create electric fields. In some capacitive implementations, separate sensing elements150may be ohmically shorted together to form larger sensor electrodes. Some capacitive implementations utilize resistive sheets (e.g., may comprise a resistive material such as ITO or the like), which may be uniformly resistive.

Some capacitive implementations utilize “mutual capacitance” (or “transcapacitance”) sensing methods based on changes in the capacitive coupling between sensor electrodes. In various embodiments, an input object near the sensor electrodes alters the electric field between the sensor electrodes, changing the measured capacitive coupling. In one implementation, a transcapacitive sensing method operates by detecting the capacitive coupling between one or more transmitter sensor electrodes (also “transmitter electrodes” or “transmitters”) and one or more receiver sensor electrodes (also “receiver electrodes” or “receivers”). Transmitter sensor electrodes may be modulated relative to a reference voltage (e.g., system ground) to transmit transmitter signals. Receiver sensor electrodes may be held substantially constant relative to the reference voltage to facilitate receipt of resulting signals. A resulting signal may comprise effect(s) corresponding to one or more transmitter signals and/or to one or more sources of environmental interference (e.g., other electromagnetic signals). Sensor electrodes may be dedicated transmitters or receivers, or sensor electrodes may be configured to both transmit and receive. Alternatively, the receiver electrodes may be modulated relative to ground.

In some touch screen embodiments, transmitter electrodes comprise one or more common electrodes (e.g., “V-com electrode”) used in updating the display of the display screen. These common electrodes may be disposed on an appropriate display screen substrate. For example, the common electrodes may be disposed on the TFT glass in some display screens (e.g., in-plane switching (IPS) or plane-to-line switching (PLS)), on the bottom of the color filter glass of some display screens (e.g., patterned vertical alignment (PVA) or multi-domain vertical alignment (MVA)), configured to drive an organic light emitting diode OLED display, etc. In such embodiments, the common electrode can also be referred to as a “combination electrode,” since it performs multiple functions. In various embodiments, two or more transmitter electrodes may share one or more common electrode. In addition, other display elements, such as source drivers, gate select lines, storage capacitors, and the like, may be used to perform capacitive sensing.

InFIG. 1, a processing system110is shown as part of the input device100. The processing system110is configured to operate the hardware of the input device100to detect input in the sensing region120. The sensing region120includes an array of sensing elements150. The processing system110comprises parts of, or all of, one or more integrated circuits (ICs) and/or other circuitry components. For example, a processing system for a mutual capacitance sensor device may comprise transmitter circuitry configured to transmit signals with transmitter sensor electrodes and/or receiver circuitry configured to receive signals with receiver sensor electrodes. In some embodiments, the processing system110also comprises electronically-readable instructions, such as firmware code, software code, and the like. In some embodiments, components of the processing system110are located together, such as near sensing element(s) of the input device100. In other embodiments, components of processing system110are physically separate with one or more components close to sensing element(s) of input device100and one or more components elsewhere. For example, the input device100may be a peripheral coupled to a desktop computer, and the processing system110may include software configured to run on a central processing unit of the desktop computer and one or more ICs (perhaps with associated firmware) separate from the central processing unit. As another example, the input device100may be physically integrated in a phone, and the processing system110may comprise circuits and firmware that are part of a main processor of the phone. In some embodiments, the processing system110is dedicated to implementing the input device100. In other embodiments, the processing system110also performs other functions, such as operating display screens, driving haptic actuators, etc.

In some embodiments, the processing system110responds to user input (or lack of user input) in the sensing region120directly by causing one or more actions. Example actions include changing operation modes, as well as GUI actions such as cursor movement, selection, menu navigation, and other functions. In some embodiments, the processing system110provides information about the input (or lack of input) to some part of the electronic system (e.g., to a central processing unit of the electronic system that is separate from the processing system110). In some embodiments, some part of the electronic system processes information received from the processing system110to act on user input, such as to facilitate a full range of actions, including mode changing actions and GUI actions.

For example, in some embodiments, the processing system110operates the sensing element(s) of the input device100to produce electrical signals indicative of input (or lack of input) in the sensing region120. The processing system110may perform any appropriate amount of processing on the electrical signals in producing the information provided to the electronic system. For example, the processing system110may digitize analog electrical signals obtained from the sensor electrodes. As another example, the processing system110may perform filtering or other signal conditioning. As yet another example, the processing system110may subtract or otherwise account for a baseline, such that the information reflects a difference between the electrical signals and the baseline. In further examples, the processing system110may determine positional information, recognize inputs as commands, recognize handwriting, and the like.

FIG. 2is a partial schematic plan view of the input device100ofFIG. 1in accordance with embodiments of the invention. The input device100includes an array of sensing elements150and processing system110. The array of sensing elements150includes a plurality of transmitter electrodes210(e.g.,210-1,210-2,210-3, etc.) and a plurality of receiver electrodes220(e.g.,220-1,220-2,220-3, etc.). Each transmitter electrode210may comprise one or more common electrodes. Additionally, in various embodiments, each receiver electrode220may comprise one or more common electrodes. In other embodiments, the array of sensing elements150includes a two-dimensional array of electrodes configured to sense self capacitance or absolute capacitance, as described above. The two-dimensional array of electrodes may be disposed on a single layer of the input device100, for example, in order to reduce the thickness of the input device100. The processing system110is coupled to the array of sensing elements150, for example, through one or more routing traces.

Although a single processing system110is illustrated inFIG. 2, the input device100may include any appropriate number of processing system110ICs. As shown inFIG. 2, the processing system110may include a driver module240, a sensor module250, an optional memory260, and/or a synchronization mechanism (not shown inFIG. 2).

The sensor module250is coupled to the plurality of receiver electrodes220and configured to receive resulting signals from the receiver electrodes220indicative of input (or lack of input) in the sensing region120and/or of environmental interference. The sensor module250may also be configured to determine the presence of an input object and/or pass the resulting signals to the optional memory260for storage.

The driver module240, which includes driver circuitry, may be configured for updating images on the display of the display device160. For example, the driver circuitry may be configured to apply one or more pixel voltages to the display pixel electrodes through pixel source drivers to change a visual characteristic of the display. The driver circuitry may also be configured to apply one or more common drive voltages to the common electrodes to update the display screen. In addition, the processing system110may be configured to operate the common electrodes as transmitter electrodes for input sensing by driving transmitter signals onto the common electrodes.

While the processing system illustrated inFIG. 2includes one IC, the processing system may be implemented with more ICs to control the various components in the input device. For example, the functions of the processing system110may be implemented in more than one integrated circuit that can control the display module elements (e.g., common electrodes) and drive transmitter signals and/or receive resulting signals received from the array of sensing elements150. In embodiments where there is more than one processing system110IC, communications between separate processing system110ICs may be achieved through a synchronization mechanism, which sequences the signals provided to the common electrodes. Alternatively the synchronization mechanism may be internal to any one of the ICs.

Transmitter electrodes210and receiver electrodes220are ohmically isolated from each other by one or more insulators which separate the transmitter electrodes210from the receiver electrodes220and prevent them from electrically shorting to each other. The electrically insulative material separates the transmitter electrodes210and the receiver electrodes220at cross-over areas at which the electrodes intersect. In one such configuration, the transmitter electrodes210and/or receiver electrodes220are formed with jumpers connecting different portions of the same electrode. In other configurations, the transmitter electrodes210and the receiver electrodes220are separated by one or more layers of electrically insulative material or by one or more substrates, as described in further detail below. In still other configurations, the transmitter electrodes210and the receiver electrodes220are optionally disposed on a single layer of the input device100.

The areas of localized capacitive coupling between transmitter electrodes210and receiver electrodes220may be termed “capacitive pixels.” The capacitive coupling between the transmitter electrodes210and receiver electrodes220changes with the proximity and motion of input objects in the sensing region120associated with the transmitter electrodes210and the receiver electrodes220.

In some embodiments, the sensor pattern is “scanned” to determine these capacitive couplings. That is, the transmitter electrodes are driven to transmit transmitter signals. Transmitters may be operated such that one transmitter electrode transmits at one time, or multiple transmitter electrodes transmit at the same time. Where multiple transmitter electrodes transmit simultaneously, these multiple transmitter electrodes may transmit the same transmitter signal and effectively produce an effectively larger transmitter electrode, or these multiple transmitter electrodes may transmit different transmitter signals. For example, multiple transmitter electrodes may transmit different transmitter signals according to one or more coding schemes that enable their combined effects on the resulting signals of receiver electrodes to be independently determined.

The receiver sensor electrodes may be operated singly or multiply to acquire resulting signals. The resulting signals may be used to determine measurements of the capacitive couplings at the capacitive pixels.

A set of measurements from the capacitive pixels form a “capacitive image” (also “capacitive frame”) representative of the capacitive couplings at the pixels. Multiple capacitive images may be acquired over multiple time periods, and differences between them used to derive information about input in the sensing region. For example, successive capacitive images acquired over successive periods of time can be used to track the motion(s) of one or more input objects entering, exiting, and within the sensing region.

In general, the processing system110transmits signals indicative of touch input to a central processing unit (CPU) that is separate from the processing system110. The CPU may be part of a system on chip (SOC), which may include an integrated graphics processing unit (GPU), or the CPU may be a standalone IC. After receiving touch input from the processing system110, the CPU transmits updated display data to the processing system110. The processing system110receives the updated display data and applies one or more updated pixel voltages to the display pixel electrodes to update the display. Consequently, if touch input is detected by the processing system110when the CPU is in a low-power state, such as a sleep state, the processing system110typically must wake the CPU to enable the CPU to process the touch input and generate updated display data. However, under certain circumstances, the processing system110may be configured to receive and process user input independently of the CPU, as described below with respect toFIGS. 3-5B.

Low-Latency Touch Feedback

In various embodiments, the processing system110is configured to detect that touch input was received by the input device100and, in response, change a visual characteristic of the display device160without waking the CPU. For example, the processing system110may detect the presence of an input object140in the sensing region120and, in response, modify one or more pixel values in order to provide low-latency visual feedback to a user. In other embodiments, low-latency visual feedback may be provided to the user when the CPU is in an operating state and/or an intermediate power state. Exemplary techniques for providing low-latency visual feedback are described below.

FIG. 3is a flow diagram of a method300for performing input sensing with the processing system110ofFIG. 1in accordance with embodiments of the invention. Although the method300is described in conjunction withFIGS. 1 and 2, persons skilled in the art will understand that any system configured to perform the method, in any appropriate order, falls within the scope of the present invention.

The method300begins at step310, where the processing system110determines whether first touch input has been received by the input device100. When the processing system110determines that touch input received by the input device100includes or matches touch criteria associated with the first touch input, the processing system110provides feedback by modifying a visual characteristic of the display device160at step320. If the first touch input is not received by the input device100, then processing system110continues monitoring for touch input. In one embodiment, touch criteria associated with the first touch input may include any input received from an input object140by the input device100. In other embodiments, touch criteria may correspond to one or more specified touch location(s), pressure(s), duration(s), surface area(s), and the like. Additionally, touch criteria may correspond to the proximity of an input object140to a surface of the input device100.

In various embodiments, the processing system110may monitor for touch input while the CPU of the input device100is in a sleep state. For example, the CPU may be configured to enter a sleep state when the input device100is locked. While the CPU is in the sleep state, the processing system110monitors for first touch input and, upon detecting the first touch input, modifies a visual characteristic of the display device160, such as displaying a stored image. In some embodiments, the visual characteristic of the display device160may be modified without waking the CPU from the sleep state. For example, the first touch input may be received from a user that is attempting to unlock the input device100and/or wake the CPU from the sleep state. In response to receiving the first touch input, the processing system may display a lock screen to enable the user to unlock the input device100and/or wake the CPU from the sleep state.

Next, at step330, after determining that first touch input was received by the input device100, the processing system may optionally determine whether a second touch input that is contiguous in time with the first touch input has been received by the input device100. Second touch input may be considered to be contiguous in time with the first touch input if the second input is received by the input device100prior to the expiration of a threshold duration of time after step310. The threshold duration of time may be any predefined duration of time. In one embodiment, the threshold duration of time is selected to enable a user to both view the visual characteristic changed by the processing system110in response to the first touch input (e.g., the display of a lock screen) and also input second touch input, such as an unlock gesture. For example, a threshold duration of time of about 5 to about 10 seconds may provide the user with enough time to both view the visual characteristic and input the second touch input.

At step340, if touch input received by the input device100includes or matches touch criteria associated with the second touch input, then the processing system110may further determine whether the touch input includes an unlock gesture, such as an unlock pattern and/or unlock code. If the touch input includes an unlock gesture, then the processing system110may wake the CPU from the sleep state and/or cause the input device100to be unlocked. If second touch input is not received by the input device100within the threshold duration of time, then the processing system110may return to monitoring the input device100to detect first touch input at step310.

When the processing system110is monitoring for the first touch input and/or second touch input, the processing system110may be in a normal operating state, or the processing system110may be in a low-power state. For example, the processing system110may be configured to enter a low-power state in which the processing system110is configured to detect only whether touch input has been received by the input device100but not the specific location at which the touch input was received.

Changing a visual characteristic of the display device160may include any perceivable change to an image displayed by the display device160. Examples of changing a visual characteristic include displaying a different image on the display device160, such as an image stored in the processing system110(e.g., in memory260) or in an external memory accessible by the processing system100without communicating with the CPU. An image displayed on the display device may include a lock screen, a clock, user information, a user-defined image, and the like. Changing a visual characteristic of the display device160may further include changing one or more color values (e.g., red, green, and/or blue (RGB) color values) associated with an image, changing the brightness of an image, changing the backlight brightness, modifying the size or shape of an image, and/or changing any other parameter associated with a display device integrated circuit (DDI) included in, or separate from, the processing system110. A change made to a visual characteristic of the display device160may affect the entire image displayed on the display device160, or the change may be localized to one or more regions of the display device160. For example, a change in a visual characteristic may be localized to the area(s) at which the touch input was received. In addition, the degree to which the visual characteristic is changed may depend on the duration for which touch input is received, the location at which touch input is received, and/or the pressure with which touch input is applied. For example, the degree to which a color value or brightness of the display device160is changed may depend on the duration and/or pressure associated with the touch input.

In one embodiment, in response to receiving the first touch input, the processing system110may change one or more gamma values associated with the display device160, as shown inFIG. 4, which illustrates normalized transmittance as a function of gray levels using a modified gamma curve415in accordance with embodiments of the invention. For example, in response to receiving first touch input, the processing system110may remap gamma values from an initial gamma curve410to a boosted gamma curve415and/or a decreased gamma curve (not shown). Additionally, the degree to which the gamma curve is increased or decreased may be dependent on the duration, pressure, location, proximity, etc. of the touch input received by the input device100. For example, one or more gamma values may be boosted or decreased as the proximity of an input object140to a surface of the input device100increases and/or decreases.

The first touch input and the second touch input received by the input device100may correspond to one or more specified touch location(s), pressure(s), duration(s), surface area(s), and the like. Additionally, the first touch input may correspond to the proximity of an input object140to a surface of the input device100. In one embodiment, determining that the first touch input and/or second touch input was received by the input device100may include determining that touch input was received for a specified duration of time, at a specified location in the sensing region120, and/or that the touch input was applied with a specified pressure or surface area. For example, the processing system110may determine that the input device100received touch input at a location510, as shown inFIG. 5A, which illustrates the input device100receiving touch input at a specified location in accordance with embodiments of the invention. After determining that touch input was received at location510, the processing system110may further determine whether the touch input was applied for a specified duration, with a specified pressure, and/or with a specified surface area.

In another embodiment, determining that the first touch input and/or second touch input was received by the input device100may include determining that touch input was received at a series of locations in the sensing region120in a specified order or in an unspecified order. For example, the processing system110may determine whether the touch input was received at a sequence of locations in the sensing region120, as shown inFIG. 5B, which illustrates the input device100receiving touch input at one or more specified locations in accordance with embodiments of the invention. For example, the series of locations (e.g., locations520-1through520-10) may correspond to characters, such as letters and/or numbers, displayed as a lock screen530on the display device160, where the sequence in which touch input is received corresponds to a user password. Further, the lock screen530may correspond to an image stored in the processing system110or in a memory external to the processing system110that can be accessed and displayed without communicating with the CPU and/or waking the CPU from the sleep state.

In yet another embodiment, determining that the first touch input and/or second touch input was received by the input device100may include determining that touch input was received along a specified path with specified a starting point and/or ending point. For example, with reference toFIG. 5B, the processing system110may determine that touch input was received along a specified path starting at location520-1and ending at location520-10. In another embodiment, receiving the first touch input and/or second touch input may include determining that an input object140is within a specified proximity of a surface of the input device100. For example, the processing system110may determine that an input object140has been held within a specified proximity of a surface of the input device100for a specified duration of time.

Thus, the embodiments and examples set forth herein were presented in order to best explain the present invention and its particular application and to thereby enable those skilled in the art to make and use the invention. However, those skilled in the art will recognize that the foregoing description and examples have been presented for the purposes of illustration and example only. The description as set forth is not intended to be exhaustive or to limit the invention to the precise form disclosed.