Modifying sensor and display characteristics in response to touch events

EP4751156A1Pending Publication Date: 2026-06-03QUALCOMM INC

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
QUALCOMM INC
Filing Date
2023-07-25
Publication Date
2026-06-03

AI Technical Summary

Technical Problem

Existing digital processing systems face challenges in accurately detecting touch events, particularly with quick or continuous touches, due to the application of spread spectrum clocking (SSC) techniques, which can degrade touch response accuracy and result in low frame rates.

Method used

The method involves synchronizing the sampling rate of a touch sensor with a serial interface clock, applying a spread spectrum operation to the output frequency, detecting multiple touch events, and in response, synchronizing the touch sensor from the serial interface clock to a reference clock with a higher frequency, temporarily halting SSC and boosting frames per second (FPS).

Benefits of technology

This approach improves touch response accuracy and display performance by enhancing frame rates during touch events while reducing electromagnetic interference (EMI) in the absence of touch data, thus optimizing power and performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023109053_30012025_PF_FP_ABST
    Figure CN2023109053_30012025_PF_FP_ABST
Patent Text Reader

Abstract

This disclosure provides methods, devices, and systems for displaying digital data in response to stylus pen or other touch inputs. Associated processes may include synchronizing a sampling rate of a touch sensor to a serial interface clock. A spread spectrum operation may be applied to an output frequency of the serial interface clock. Other associated processes may include detecting a plurality of touch events at the touch sensor, and in response to detecting the plurality of touch events, synchronizing the touch sensor from the serial interface clock to a reference clock.
Need to check novelty before this filing date? Find Prior Art

Description

MODIFYING SENSOR AND DISPLAY CHARACTERISTICS IN RESPONSE TO TOUCH EVENTSTECHNICAL FIELD

[0001] The present disclosure relates generally to digital processing systems, and more particularly, to one or more techniques associated with digital display and graphics processing.

[0002] DESCRIPTION OF THE RELATED TECHNOLOGY

[0003] Computing devices often use a graphics processing unit (GPU) to accelerate the rendering of graphical data for display. Such computing devices may include, for example, computer workstations, smartphones, embedded systems, personal computers, tablet computers, and video game consoles. Although some previously deployed devices and systems can provide acceptable results, improved devices and systems would be desirable.SUMMARY

[0004] The systems, methods, and devices of this disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.

[0005] One innovative aspect of the subject matter described in this disclosure may be implemented as a method of displaying digital display, the method including synchronizing a sampling rate of a touch sensor to a serial interface clock, applying a spread spectrum operation to an output frequency of the serial interface clock, detecting a plurality of touch events at the touch sensor, and in response to detecting the plurality of touch events, synchronizing the touch sensor from the serial interface clock to a reference clock.

[0006] In some aspects, the method may further include synchronizing the touch sensor from the reference clock back to the serial interface clock responsive to an absence of the plurality of touch events. Another aspect may include reinstituting the spread spectrum operation responsive to an absence of the plurality of touch events. Another or the same implementation may reduce frames per second (FPS) to a level associated with a low power state responsive to the absence of the plurality of touch  events. Where so configured, the reference clock may have a higher output frequency than the serial interface clock.

[0007] In other aspects, the method may include temporarily halting the spread spectrum technique in response to detecting the plurality of touch events and initiating a boost in frames per second FPS at the digital display. Still other aspects may include positioning the serial interface clock between a host and a display module. Implementations of the method may include resynchronizing the touch sensor includes synchronizing an internal clock of the sensor to the reference clock. Another or the same implementation may include applying the spread spectrum technique to the frequency of the serial interface clock further comprises applying spread spectrum clocking (SSC) .

[0008] Other aspects may include detecting the plurality of touch events further includes detecting a number of touch events within a predetermined time period that exceeds a threshold. Another or the same implementation may include detecting the plurality of touch events further includes detecting a plurality of coordinated touch events comprising user contact known to be associated with an intentional action.

[0009] Another innovative aspect of the subject matter described in this disclosure may be implemented in an apparatus that includes a touch sensor circuit to sense user physical contact comprising a touch event, and a display panel circuit to render graphical data for display, a memory, and a processor system communicatively coupled with the memory, the display panel circuit, and the touch sensor circuit, the processing system configured to: synchronize a sampling rate of a touch sensor to a serial interface clock, apply a spread spectrum operation to an output frequency of the serial interface clock, detect a plurality of touch events at the touch sensor, and in response to detecting the plurality of touch events, synchronize the touch sensor from the serial interface clock to a reference clock.

[0010] In some aspects, the processor system is further configured to resynchronize the touch sensor from the reference clock back to the serial interface clock responsive to an absence of the plurality of touch events. In another or the same implementation, the processor system is further configured to reinstitute the spread spectrum operation responsive to the absence of the plurality of touch events. The processor system may further be configured to reduce a frames per second FPS to a level associated with a low power state responsive to the absence of the plurality of touch events.

[0011] In another aspect, the processor system is further configured to configure the reference clock to have a higher output frequency than the serial interface clock. The processor system may further be configured to temporarily halt the spread spectrum technique in response to detecting the plurality of touch events. Where desired, the processor system is further configured to initiate a boost in FPS at the digital display in response to detecting the plurality of touch events.

[0012] In a particular implementation, the serial interface clock is positioned between a host and a display module. The touch sensor may be synchronized to an internal clock of the sensor to the reference clock. Where desired, the spread spectrum technique includes SSC.

[0013] According to a particular implementation, detecting the plurality of touch events further includes detecting a number of touch events within a predetermined time period that exceeds a threshold. In another or the same implementation, detecting the plurality of touch events further includes detecting a plurality of coordinated touch events comprising user contact known to be associated with an intentional action.

[0014] According to a particular aspect, the graphics processing device may include a means for a means for synchronizing a sampling rate of a touch sensor to a serial interface clock, wherein the touch sensor is associated with a digital display, a means for applying a spread spectrum operation to an output frequency of the serial interface clock, a means for detecting a plurality of touch events at the touch sensor, and in response to detecting the plurality of touch events, a means for synchronizing the touch sensor from the serial interface clock to a reference clock.

[0015] In some aspects, the graphics processing device may include a means for resynchronizing the touch sensor from the reference clock back to the serial interface clock responsive to an absence of the plurality of touch events. In the same or alternative implementations, the graphics processing device may include a means for reinstituting the spread spectrum operation responsive to an absence of the plurality of touch events. In some aspects, the graphics processing device may include a means for reducing FPS to a level associated with a low power state responsive to the absence of the plurality of touch events.

[0016] Another innovative aspect of the subject matter described in this disclosure may be implemented in a non-transitive computer-readable medium storing computer executable code for graphics processing, the computer executable code being configured  to synchronize a sampling rate of a touch sensor to a serial interface clock, apply a spread spectrum technique to an output frequency of the serial interface clock, detect a plurality of touch events at the touch sensor, and in response to the plurality of touch events, synchronize the touch sensor from the serial interface clock to a reference clock.

[0017] In a particular aspect, the computer executable code is further configured to resynchronize the touch sensor from the reference clock back to the serial interface clock responsive to an absence of the plurality of touch events.BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Details of one or more implementations of the subject matter described in this disclosure are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings and the claims. Note that the relative dimensions of the following figures may not be drawn to scale.

[0019] Figure 1 is a block diagram that illustrates an example system in accordance with one or more techniques of this disclosure.

[0020] Figure 2 is a block diagram of a system that includes a processing unit, a display processor, a touch panel, and a display client.

[0021] Figure 3 is a block diagram of an embodiment of a digital signal processor (DSP) graphics display system that includes hardware and software modules for halting spread spectrum techniques and resynchronizing a touch sensor to a new reference clock in response to touch events.

[0022] Figure 4 is a block diagram of an illustrative apparatus that includes a touch sensor circuit and a display panel circuit to render graphical data for display, as well as a memory, and a processing system, the display panel circuit, a serial interface, and the touch sensor circuit.

[0023] Figure 5 is a graph that plots a frame rate (e.g., measured in FPS) supplied to a display module versus touch event timing information when touch event data in the presence of a spread spectrum processing application.

[0024] Figure 6 is a graph that plots a frame rate (e.g., measured in FPS) supplied to a display screen versus touch event timing information according to a particular implementation.

[0025] Figure 7 is an illustrative implementation of a method of display processing.

[0026] Figure 8 is flow diagram of another illustrative implementation of a method of display processing.

[0027] Like reference numbers and designations in the various drawings indicate like elements.DETAILED DESCRIPTION

[0028] The following description is directed to certain implementations for the purposes of describing innovative aspects of this disclosure. However, a person having ordinary skill in the art will readily recognize that the teachings herein may be applied in a multitude of different ways.

[0029] A touch sensor of a handheld computing device conventionally samples touch event data according to a clock signal from a serial interface positioned between a host and a display module. For instance, a touch sensor of a smartphone may register touches from a finger or a stylus pen. Spread spectrum clocking (SSC) techniques are often applied to the serial interface to reduce electromagnetic (EMI) affecting a radio frequency antenna. SSC can alter the frequency at the serial interface and degrade touch response accuracy, particularly with quick or continuous touches, as with a stylus pen. Additionally, the degraded touch response accuracy may result in the display panel of the computing device operating using a relatively low frame rate conserve processing power at the time of the use touches. For instance, an idling frame rate may be under one hertz, or one frame per second (FPS) . The frame rate is ideally boosted to meet display panel frame requirements when video content is updated to avoid glitches.

[0030] An implementation temporarily halts SSC and resynchronizes the touch sensor to a new stable reference clock in response to two of more touches within a time interval. The newly introduced stable reference clock may have a higher frequency, and the system may boost the frames per second (FPS) . When the sensed touch events subsequently fall below a threshold, the SSC is reinitiated, and the touch sensor resynchronizes with the original serial interface clock. The FPS is also reduced back to a level associated with a low power state. For instance, the FPS may be reduced to an idle state.

[0031] Aspects of the subject matter described in this disclosure may be implemented to realize potential advantages. For example, an implementation may provide a hybrid approach that suspends SSC techniques for improved touch response  and display accuracy in the presence of stylus and other touches, but that also applies SSC techniques to the serial interface to reduce EMI in the absence of the touch data. Additionally, touch event information may be processed more accurately so that a higher frame rate is made available to the display client. By making the higher frame rate available, the viewing experience of the user is not marred by pausing and glitches associated with convention boost delays. An implementation facilitates fast motion touch scenario accuracy and optimizes power and performance while avoiding EMI. Enabled scenarios may particularly accommodate stylus pen touch events (e.g., with folded computing pads) .

[0032] Figure 1 is a block diagram that illustrates a system 100 configured to implement one or more techniques of this disclosure. The system 100 may include one or more components or circuits for performing various functions described herein. In some examples, the one or more components of the system 100 may be modules of a system on a chip (SOC) . The system 100 may include one or more components configured to perform one or more techniques of this disclosure. In the example shown, the system 100 may include a processing unit 102 and a system memory 116. In the particular example of Figure 1, the system 100 includes a number of optional components: a communication interface 104, a transceiver 106, a receiver 108, and a transmitter 120, as well as a display processor 110 and a display client 112.

[0033] Reference to the display client 112 may refer to one or more displays. For example, the display client 112 may include a single display or multiple displays. The display client 112 may include a first display and a second display. In other examples, the results of the graphics processing may not be displayed on the device, e.g., the first and second displays may not receive any frames for presentment thereon. Instead, the frames or graphics processing results may be transferred to another device. In some aspects, this transference may be referred to as split-rendering.

[0034] The processing unit 102 may include an internal memory 114 and may be configured to perform graphics processing, such as are associated with a graphics processing pipeline 122. In some examples, the display processor 110 of the system 100 may perform one or more display processing techniques on one or more frames generated by the processing unit 102 before presentation by the display client 112.

[0035] The illustrative display processor 110 of Figure 1 may be configured to perform display processing. For example, the display processor 110 may be configured  to perform one or more display processing techniques on one or more frames generated by the processing unit 102. The display client 112 may be configured to display or otherwise present frames processed by the display processor 110. In some examples, the display client 112 may include one or more of: a liquid crystal display (LCD) , a plasma display, an organic light emitting diode (OLED) display, a projection display device, an augmented reality display device, a virtual reality display device, a head-mounted display, or any other type of display device.

[0036] Memory external to the processing unit 102, such as system memory 116, may be accessible to the processing unit 102. In another or the same example, the processing unit 102 may be configured to read from and / or write to external memory, such as the system memory 116. The processing unit 102 may be communicatively coupled to the system memory 116 over a bus. In some examples, the processing unit 102 and the system memory 116 may be communicatively coupled to each other over the bus or a different connection.

[0037] It should be appreciated that in some examples, the system 100 may include a content encoder / decoder configured to receive graphical and / or display content from any source, such as the system memory 116 and / or the communication interface 104. The system memory 116 may be configured to store received encoded or decoded graphical content. In some examples, the content encoder / decoder may be configured to receive encoded or decoded graphical content (e.g., from the system memory 116 and / or the communication interface 104) in the form of encoded pixel data. In some examples, the content encoder / decoder may be configured to encode or decode various types of graphical content.

[0038] The internal memory 114 or the system memory 116 may include one or more volatile or non-volatile memories or storage devices. In some examples, internal memory 114 or the system memory 116 may include random-access memory (RAM) , static random-access memory (SRAM) , dynamic random-access memory (DRAM) , erasable programmable read-only memory (EPROM) , electrically erasable programmable read-only memory (EEPROM) , flash memory, a magnetic data media, an optical storage media, or any other type of memory.

[0039] The internal memory 114 or the system memory 116 may be a non-transitory storage medium according to some examples. The term “non-transitory” may indicate that the storage medium is not embodied in a carrier wave or a propagated signal. However, the term “non-transitory” should not be interpreted to mean that internal memory 114 or the system memory 116 is non-movable or that its contents are static. As one example, the system memory 116 may be removed from the system 100 and moved to another device. As another example, the system memory 116 may not be removable from the system 100.

[0040] The processing unit 102 may be a central processing unit (CPU) , a graphics processing unit (GPU) , a general-purpose GPU (GPGPU) , or any other processing unit that is configured to perform graphics processing. In some examples, the processing unit 102 may be integrated into a motherboard of the system 100. In some examples, the processing unit 102 may be present on a graphics card that is installed in a port in a motherboard of the system 100. In another example, the processing unit 102 may be incorporated within a peripheral device configured to interoperate with the system 100.

[0041] The processing unit 102 may include a processing system, such as one or more microprocessors, GPUs, application specific integrated circuits (ASICs) , field programmable gate arrays (FPGAs) , arithmetic logic units (ALUs) , digital signal processors (DSPs) , discrete logic, software, hardware, firmware, other equivalent integrated or discrete logic circuitry, or any combinations thereof. If associated techniques are implemented partially in software, the processing unit 102 may store instructions for the software in a suitable, non-transitory computer-readable storage medium, e.g., internal memory 114, and may execute the instructions in hardware using the processing system to perform the techniques of this disclosure. Any of the foregoing, including hardware, software, a combination of hardware and software, etc., may be considered to be a processing system.

[0042] In the implementation of Figure 1, the system 100 includes a communication interface 104. The communication interface 104 may include a receiver 108 and a transmitter 120. The receiver 108 may be configured to perform receiving functions described herein with respect to the system 100. Additionally, the receiver 108 may be configured to receive information, e.g., eye or head position information, rendering commands, or location information, from another device.

[0043] The transmitter 120 may be configured to perform any transmitting function described herein with respect to the system 100. For example, the transmitter 120 may be configured to transmit information to another device, which may include a request for content. The receiver 108 and the transmitter 120 may be combined into a  transceiver 106. In such examples, the transceiver 106 may be configured to perform receiving and / or transmitting functions described herein with respect to the system 100.

[0044] In some examples, the graphical content from the processing unit 102 for display via the display client 112 is not static and may be changing. Accordingly, the display processor 110 may periodically refresh the graphical content displayed via the display client 112. For example, the display processor 110 may periodically retrieve graphical content from the system memory 116. The graphical content may have been updated at the system memory 116 by the execution of an application (and / or the processing unit 102) that outputs the graphical content to the system memory 116.

[0045] The rate at which the display processor 110 refreshes the graphical content displayed via the display client 112 may be referred to as the frames per second (FPS) rate, or the “display refresh rate. ” Examples of the display refresh rate include 30fps, 60fps, 90fps, 102fps, 240fps, etc.

[0046] There may be various factors that affect the display refresh rate. For example, if the processing unit 102 is executing a video game application, then the processing unit 102 (and / or the GPU) may be generating graphical content (e.g., a computer-generated animation) at a relatively high rate. For smooth playback of the animations, the display processor 110 may attempt to refresh the graphical content displayed via the display client 112 at a relatively high display refresh rate (e.g., 90fps) .

[0047] In some examples, if the display refresh rate is too slow, then the graphical content displayed may appear laggy or jumpy (also referred to as “jank” ) . For example, if the display refresh rate is slower than the change in frames of the animation, then the animation may appear laggy or jumpy. It should be appreciated that in some examples, the display refresh rate of the display client may be relatively slow because the display client is operating in an idle state. For example, the display client may switch to an idle state to conserve power (e.g., while there is no user interaction) .

[0048] In some examples, an application that generated the graphical content that a display processor is accessing may be configured to determine a display refresh rate. In a particular instance, a display hardware abstraction layer (HAL) application may be configured to determine the display refresh rate. The display HAL application may include an application that enables applications that generate graphical content to communicate with a display driver. As disclosed herein, there may conventionally be a delay associated with the application or the display HAL application determining that  there was a touch event, determining that the display refresh rate is to be changed, and then instructing the display drive to change the display refresh rate.

[0049] As described herein, a device, such as the system 100, may refer to any device, apparatus, or system configured to perform one or more techniques described herein. For example, a device may be a server, a base station, user equipment, a client device, a station, an access point, a computer, e.g., a personal computer, a desktop computer, a laptop computer, a tablet computer, a computer workstation, or a mainframe computer, an end product, an apparatus, a phone, a smart phone, a server, a video game platform or console, a handheld device, e.g., a portable video game device or a personal digital assistant (PDA) , a wearable computing device, e.g., a smart watch, an augmented reality device, or a virtual reality device, a non-wearable device, a display or display device, a television, a television set-top box, an intermediate network device, a digital media player, a video streaming device, a content streaming device, an in-car computer, any mobile device, any device configured to generate graphical content, or any device configured to perform one or more techniques described herein. Processes herein may be described as performed by a particular component (e.g., a GPU) , but, in further embodiments, may be performed using other components (e.g., a CPU) , consistent with disclosed embodiments.

[0050] Figure 2 is a block diagram of a system 200 that includes a processing unit 202, a display processor 204, a touch panel 206, and a display client 208. In one example, Figure 2 illustrates in greater detail the example processing unit 102 and the example display processor 110 of Figure 1, as well as the example display client 112 of Figure 1.

[0051] In the illustrated example of Figure 2, the processing unit 202 includes a user space 210 and a kernel space 212. The example kernel space 212 of Figure 2 includes a display driver 240. The example display processor 204 includes a display control block 216 and a display interface 218. The example display client 208 includes a display controller 220, a buffer 222, and a display 224.

[0052] The illustrative system 200 also includes a touch panel 206 that comprises a touch controller 230 and one or more sensor (s) 232. Although shown separately in Figure 2, it should be appreciated that in some examples, the touch panel 206 may be incorporated as a part of the display client 208. In the illustrated example of Figure 2,  the sensor (s) 232 may be configured to sense interactions between the user and the touch panel 206 (e.g., via the display client 208) .

[0053] As the user interacts with the display client 208, the sensor (s) 232 output signals to the touch controller 230 that indicate which sensor (s) were activated, how long a sensor was activated, and a pressure associated with the sensor activation, among other measurements. The example touch controller 230 may use the sensor output signals to determine that the user interacted with the touch panel 206 / display client 208. The touch controller 230 may then output a signal indicating the touch event. In an example, the touch controller 230 signals the touch event via a connection 234 comprising general-purpose input / output (GPIO) pin. For example, a GPIO pin may be configured to transmit, via a GPIO signal, the touch event signal from the touch controller 230 to the display driver 240.

[0054] In the illustrated example of Figure 2, the processing unit 202 includes the user space 210 and the kernel space 212. The user space 210 (sometimes referred to as an “application space” ) may include software application (s) and / or application framework (s) . For example, software application (s) may include operating systems, media applications, graphical applications, office suite applications, etc. Application framework (s) may include frameworks that may be used with one or more software applications, such as libraries, services (e.g., display services, input services, etc. ) , application program interfaces (APIs) , etc.

[0055] In the illustrated example of Figure 2, the kernel space 212 includes the display driver 240. The display driver 240 may be configured to control the display processor 204. For example, the display driver 240 may determine one or more user input events based on user interactions with the touch panel 206. In some examples, the display driver 240 may cause the display processor 204 to change FPS rates based on, for instance, the touch event signal.

[0056] As shown in Figure 2, the display processor 204 includes a display control block 216 and a display interface 218. The display processor 204 may be configured to operate functions of the display client 208 based on the display driver 240. For example, the display control block 216 may be configured to receive instructions from the display driver 240 to change the FPS rate of the display client 208. In some examples, the display control block 216 may additionally or alternatively perform post-processing of image data provided by the processing unit 202.

[0057] The display interface 218 may be configured to cause the display client 208 to display image frames and to display the image frames at a particular rate (e.g., a specified FPS rate) . The display interface 218 may output image data to the display client 208 according to an interface protocol, such as, for example, the MIPI DSI (Mobile Industry Processor Interface, Display Serial Interface) .

[0058] In the illustrated example of Figure 2, the display client 208 includes the display controller 220, the buffer 222, and the display 224. The display controller 220 may receive image data from the display interface 218 and store the received image data in the buffer 222. In some examples, the display controller 220 may output the image data stored in the buffer 222 to the display 224. Thus, the buffer 222 may represent a local memory to the display client 208. In some examples, the display controller 220 may output the image data received from the display interface 218 to the display 224.

[0059] In an example operation, the touch panel 206 detects a touch event via the sensor (s) 232, and the touch controller 230 generates a touch event signal based on the detected touch event. The touch controller 230 may then output the touch event signal. In an example, the touch controller 230 outputs the touch event signal via a connection 234 comprising GPIO pin.

[0060] In the illustrated example, the touch event signal is provided directly from the touch controller 230 to the display driver 240. The display driver 240 may then determine to change the FPS rate of the display client 208 without having to wait for the touch event signal to pass through different drivers, user spaces, and / or services (e.g., an application and / or a display HAL application) .

[0061] The display control block 216 may be configured to output image frames to the display client 208 based on the display refresh rate. The display driver 240 may output refresh rate information indicating the new display refresh rate (and / or a change in the display refresh rate) . The display control block 216 may receive the refresh rate information and cause the display interface 218 to output image frames to the display client 208 based on the refresh rate information (e.g., based on a new display refresh rate and / or a change in the display refresh rate) .

[0062] As disclosed herein, the display client 208 may be configured in accordance with MIPI DSI standards. The MIPI DSI standard supports a video mode and a command mode. In examples where the display client 208 is operating in video mode, the display processor 204 may continuously refresh the graphical content of the display  client 208. For example, the entire graphical content may be refreshed per refresh cycle (e.g., line-by-line) . In examples where the display client 208 is operating in command mode, the display processor 204 may write the graphical content of a frame to the buffer 222. In some such examples, the display processor 204 may not continuously refresh the graphical content of the display client 208. Instead, the display processor 204 may use a vertical synchronization (Vsync) pulse to coordinate rendering and consuming of graphical content at the buffer 222. For example, when a Vsync pulse is generated, the display processor 204 may output new graphical content to the buffer 222. Thus, the generating of the Vsync pulse may indicate when current graphical content at the buffer 222 has been rendered.

[0063] An implementation of the system 300 of Figure 3 may be configured to temporarily halt SSC and resynchronize the touch sensor to a new stable reference clock in response to two of more touches within a time interval. The newly introduced stable reference clock may have a higher frequency, and the system may boost the FPS. When the sensed touch events subsequently fall below a threshold, the SSC is reinitiated, and the touch sensor resynchronizes with the original serial interface clock. The FPS may also be reduced back to a level associated with a low power state. For instance, the FPS may be reduced to an idle state. To this end, the system 300 includes a touch sensor circuit 304, a host circuit 308, a panel display circuit 306, and a serial interface circuit 360.

[0064] The touch sensor circuit 304 may be configured to detect a user touching a display screen or other such tactile sensor surface. The touch sensor circuit 304 may communicate raw sensor data to the host circuit 308. More particularly, the touch sensor circuit 304 may send the raw touch data 326 via the hardware and software stacks of the processing stages of the graphics processing pipeline 327 of the host circuit 308.

[0065] The host circuit 308 may include a processor 340 and a memory 342. The memory 342 may include spread spectrum techniques 344, such as spread spectrum algorithms, adaptive frequency hopping (AFH) , or frequency-hopping spread spectrum (FHSS) , among others.

[0066] Turning to other components of the illustrative system 300, the sensors 318 of the touch sensor circuit 304 may receive touch event data 320 that has been input by user. For instance, the touch event data 320 may correspond to a user input generated by touching the screen of their mobile phone. The touch sensor circuit 304 also includes a  processor 322 and a memory 324. The memory 324 of an implementation includes raw touch data 326. Also depicted in the memory 324 is the notifying signal 328 communicated to the panel display circuit 306 to initiate a boost to a higher frame rate.

[0067] The panel display circuit 306 includes a display screen 301. The panel display circuit 306 may also include a processor 350 and a memory 352. The memory 352 of the panel display circuit 306 includes a first frame rate 316 and a second frame rate 314. The memory 352 also includes switching code 354. As discussed herein, the touch sensor circuit 304 of the system 300 may be in communication with the panel display circuit 306.

[0068] The touch sensor circuit 304 may additionally be in communication with the host circuit 308. More particularly, the touch sensor circuit 304 may provide touch data information to the host circuit 308 over a channel 310. The touch data information may comprise at least one of raw data and pre-preprocessed data. The touch data may correspond to touch event inputs 320 to the touch sensor circuit 304. Examples of touch data may include a user finger swiping a smartphone screen or using a stylus pen on a computing tablet. Other examples of touch data may include unintentional contact, or false events. Such false events may occur when a handheld device is accidentally bumped while in the pocket of a user, among other scenarios involving unintended physical contact.

[0069] The host circuit 308 may perform raw data processing that includes unfiltered touch inputs. The host circuit 308 may send filtered touch event data to an operating system of the panel display circuit 306 over channel 358, 359. The panel display circuit 306 may perform system tasks for a handheld device that relate to input / output (I / O) , memory, processing, resource management, and security processes. The host circuit 308 may control, among other presentation operations, the frame rate. That is, the host circuit 308 may allocate the FPS to the display panel circuit 306 to boost the frame rate out of idle and into a higher frame rate.

[0070] Figure 4 is a block diagram of an illustrative apparatus 400 that includes a touch sensor circuit 402 to sense user physical contact comprising a touch event 410, and a panel display circuit 404 to render graphical data for display. The apparatus 400 may also include a memory 406 and a processing system 408 communicatively coupled to the memory 406, the panel display circuit 404, and the touch sensor circuit 402.

[0071] The processing system 408 may be configured to receive an indication of a touch event 410 at the touch sensor circuit 402. The processing system 408 may further be configured to synchronize a sampling rate of a touch sensor of a digital display to a serial interface clock 422. The processing system 408 may apply a spread spectrum clock 426 to an output frequency of the serial interface clock. The processing system 408 may detect the plurality of touch events 410 at the touch sensor circuit 402. In response to the plurality of touch events 410, the processing system 408 may resynchronize the touch sensor circuit 402 from the serial interface clock 422 to a reference clock 420.

[0072] The processing system 408 may additionally change a frame rate 414 at the panel display circuit 404 from a first frame rate 416 to a second frame rate 418 (shown in dashed outline) in response to the indication.

[0073] As with other implementations described herein, the processing resources of the processing system 408 may comprise one more processors. In the case of the latter, the processing system 408 may include hardware and / or virtual processing resources distributed throughout the various hardware and software components of the system that may act in concert or alone under certain circumstances. Similarly, the memory 406 may comprise one or more hardware and / or virtual data storage resources. The memory 406 may be distributed throughout various hardware and software components of the system. In a particular implementation, the processing system 408 may be collocated with the memory such that the memory 406 may be termed processor memory. In any case, one skilled in the fields of computing architectures will recognize various different physical and virtual configurations of the memory 406 and processing system 408 that may be implemented in a manner consistent with the systems and methods disclosed herein.

[0074] Figure 5 is a graph 500 that plots a frame rate (e.g., measured in FPS) supplied to a display module versus touch event timing information. Turning more particularly to the graph 500, a display panel circuit of the system may be operating in an idle state at time T0. At time T1, a host processing unit may receive a signal indicating a touch event while SSC techniques are being applied. For example, the touch panel 206 of Figure 2 may communicate the touch data via connection 234 to the display driver 240 of the host processing unit 202. The SSC techniques may introduce inaccuracies that delay identification of stylus pen or other touch events. As illustrated  in the plotted data 506, the frame rate remains steady (e.g., at an idle state) for a period between the touch event at time T1 and time T2, when the host processing unit reacts to the touch events. Only after the touch events have been acknowledged by the host processing unit will the display processor, such as the display processor 204 of Figure 2, increase the frame rate at time T2. The increased FPS enable the display client to comfortably display presentation data.

[0075] The period between T1 and T2 thus represents the time delays attributable to inaccuracies caused by the SSC techniques. The time delay may result in perceptible content glitches and interruptions that detract from a viewing experience until time T2.

[0076] Similar to the graph 500 depicted in Figure 5, Figure 6 is a graph 600 that plots a frame rate (e.g., measured in FPS) supplied to a display screen versus touch event timing information. Unlike the scenario in Figure 5, Figure 6 shows the timing and associated frame rates for a presentation cycle that involves immediately boosting the frame rate in response to what is accurately determined (e.g., in the absence of applied SSC techniques) by the host device.

[0077] As shown in the plot 604, the system may make a higher frame rate (e.g., measured in FPS) immediately available (e.g., at time T1) to a display panel. Turning more particularly to the plot 600, the x-axis 602 of the graph 600 may plot the touch data 326 of Figure 3 as delivered to the panel display circuit 306 from the touch sensor circuit 304. Thus, Figure 6 shows the timing and associated frame rates for a presentation cycle that involves immediately boosting frame in response to a touch event at T1. The FPS may then be returned to an idle state in response to the touch events ceasing to be detected at T2.

[0078] Figure 7 is an illustrative implementation of a method 700 of display processing. The method 700 may be performed by any of the preceding systems 100, 200, 300, and 400 shown in Figures 1-4. In a particular example, method 700 includes synchronizing at 702 a sampling rate of a touch sensor to a serial interface clock. The touch sensor may be associated with a digital display. For example, the sampling rate 351 of the touch sensor circuit 304 of Figure 3 may be initially synchronized to the serial interface clock 329.

[0079] At 704, the method 700 may include applying a spread spectrum technique to an output frequency of the serial interface clock. For instance, the spread spectrum  technique 344 of Figure 3 may be applied to an output frequency of the serial interface clock 329.

[0080] An implementation of the method 700 may include detecting at 706 a plurality of touch events at the touch sensor. For instance, the touch sensor circuit 304 of Figure 3 may detect multiple touch events 320, such as a stylus pen drawing.

[0081] In response to the plurality of touch events being detected at 706, the touch sensor at 708 may synchronize the touch sensor from the serial interface clock to a reference clock. For example, the touch sensor circuit 304 at 708 may be synchronized from the serial interface clock 329 to the reference clock 341. As shown in Figure 3, the reference clock 341 may be included in the serial interface circuit 360 that is positioned between the host circuit 308 and the panel display circuit 306 to facilitate a seamless transition between the serial interface clock 329 and the reference clock 341.

[0082] Figure 8 is flow diagram of another illustrative implementation of a method 800 of display processing. The method 800 may be performed by any of the preceding systems 100, 200, 300, and 400 shown in Figures 1-4. In a particular example, method 800 includes synchronizing at 802 a sampling rate of a touch sensor to a serial interface clock. The touch sensor may be associated with a digital display. In terms of Figure 3, the sampling rate 351 of the touch sensor circuit 304 may be initially synchronized to the serial interface clock 329.

[0083] At 804, the method 800 may include applying a spread spectrum technique to an output frequency of the serial interface clock. For instance, the spread spectrum technique 344 of Figure 3 may be applied to an output frequency of the serial interface clock 329.

[0084] An implementation of the method 800 may include detecting at 806 a plurality of touch events at the touch sensor. For instance, the touch sensor circuit 304 of Figure 3 may detect multiple touch events 320, such as a stylus pen drawing. In so doing, the touch sensor circuit may detect at 808 a number of touch events within a predetermined time period that exceeds a threshold. Alternatively, the touch sensor circuit may detect at 810 a plurality of coordinated touch events comprising user contact known to be associated with an intentional action.

[0085] The method 800 at 812 may include temporarily halting the spread spectrum technique in response to detecting the plurality of touches. The frame rate at a display panel circuit may be boosted at 814 from a first frame rate to a second frame rate. In one  implementation, the frame rate may be boosted by virtue of the higher frequency of the reference clock. In another or the same example, the frame rate may be boosted by the system, such as the host circuit 308 of Figure 3.

[0086] In response to the plurality of touch events being detected at 806, the touch sensor at 816 may synchronize the touch sensor from the serial interface clock to a reference clock. For example, the touch sensor circuit 304 at 816 may be synchronized from the serial interface clock 329 to the reference clock 341.

[0087] The method 800 at 816 may additionally reinstitute the spread spectrum technique that was halted at 812. At 818, the method 800 may reduce the FPS (e.g., boosted at 814 to level associated with a low power, or idle state.

[0088] Implementation examples are described in the following numbered clauses:

[0089] 1. A method of displaying digital data, the method comprising:

[0090] synchronizing a sampling rate of a digital display to a serial interface clock;

[0091] applying a spread spectrum operation to an output frequency of the serial interface clock;

[0092] detecting a plurality of touch events at the touch sensor; and

[0093] in response to the plurality of touch events, synchronizing the touch sensor from the serial interface clock to a reference clock.

[0094] 2. The method of clause 1, further comprising resynchronizing the touch sensor from the reference clock back to the serial interface clock responsive to an absence of the plurality of touch events.

[0095] 3. The method of clauses 1 and 2, further comprising reinstituting the spread spectrum operation responsive to the absence of the plurality of touch events.

[0096] 4. The method of clauses 1-3, further comprising reducing frames per second (FPS) to a level associated with a low power state responsive to an absence of the plurality of touch events.

[0097] 5. The method of clauses 1-4, wherein the reference clock has a higher output frequency than the serial interface clock.

[0098] 6. The method of clauses 1-5, further comprising temporarily halting the spread spectrum operation in response to detecting the plurality of touch events.

[0099] 7. The method of clauses 1-6, further comprising initiating a boost in frames per second (FPS) at the digital display in response to detecting the plurality of touch events.

[0100] 8. The method of clauses 1-7, further comprising positioning the serial interface clock between a host and a display module.

[0101] 9. The method of clauses 1-8, wherein synchronizing the touch sensor from the serial interface clock to a reference clock includes synchronizing an internal clock of the touch sensor to the reference clock.

[0102] 10. The method of clauses 1-10, wherein applying the spread spectrum operation to the output frequency of the serial interface clock further comprises applying spread spectrum clocking (SSC) .

[0103] 11. The method of clauses 1-10, wherein detecting the plurality of touch events further includes detecting a number of touch events within a predetermined time period that exceeds a threshold.

[0104] 12. The method of clauses 1-11, wherein detecting the plurality of touch events further includes detecting a plurality of coordinated touch events comprising user contact known to be associated with an intentional action.

[0105] 13. An apparatus comprising:

[0106] a touch sensor circuit to sense user physical contact comprising a touch event;

[0107] a display panel circuit to render graphical data for display;

[0108] a memory; and

[0109] a processor system communicatively coupled with the memory, the display panel circuit, and the touch sensor circuit, the processing system configured to:

[0110] synchronize a sampling rate of a touch sensor to a serial interface clock;

[0111] apply a spread spectrum operation to an output frequency of the serial interface clock;

[0112] detect a plurality of touch events at the touch sensor; and

[0113] in response to the plurality of touch events, synchronize the touch sensor from the serial interface clock to a reference clock.

[0114] 14. The apparatus of clause 13, wherein the processor system is further configured to resynchronize the touch sensor from the reference clock back to the serial interface clock responsive to an absence of the plurality of touch events.

[0115] 15. The apparatus of clauses 13 or 14, wherein the processor system is further configured to reinstitute the spread spectrum operation responsive to an absence of the plurality of touch events.

[0116] 16. The apparatus of clauses 13-15, wherein the processor system is further configured to reduce a frames per second (FPS) to a level associated with a low power state responsive to the absence of the plurality of touch events.

[0117] 17. The apparatus of clauses 13-16, wherein the reference clock has a higher output frequency than the serial interface clock.

[0118] 18. The apparatus of clauses 13-17, wherein the processor system is further configured to temporarily halt the spread spectrum operation in response to detecting the plurality of touch events.

[0119] 19. The apparatus of clauses 13-18, wherein the processor system is further configured to initiate a boost in frames per second (FPS) at the digital display in response to detecting the plurality of touch events.

[0120] 20. The apparatus of clauses 13-19, wherein serial interface clock is positioned between a host and a display module.

[0121] 21. The apparatus of clauses 13-20, wherein in response to detecting the plurality of touch events, synchronize the touch sensor from the serial interface clock to a reference clock includes in response to detecting the plurality of touch events, synchronize an internal clock of the touch sensor to the reference clock.

[0122] 22. The apparatus of clauses 13-21, wherein the spread spectrum operation includes spread spectrum clocking (SSC) .

[0123] 23. The apparatus of clauses 13-22, wherein detecting the plurality of touch events further includes detecting a number of touch events within a predetermined time period that exceeds a threshold.

[0124] 24. The apparatus of clauses 13-23, wherein detecting the plurality of touch events further includes detecting a plurality of coordinated touch events comprising user contact known to be associated with an intentional action.

[0125] 25. A graphics processing device comprising:

[0126] a means for synchronizing a sampling rate of a touch sensor to a serial interface clock;

[0127] a means for applying a spread spectrum operation to an output frequency of the serial interface clock;

[0128] a means for detecting a plurality of touch events at the touch sensor; and

[0129] in response to the plurality of touch events, a means for synchronizing the touch sensor from the serial interface clock to a reference clock.

[0130] 26. The graphics processing device of clause 25, further comprising a means for resynchronizing the touch sensor from the reference clock back to the serial interface clock responsive to an absence of the plurality of touch events.

[0131] 27. The graphics processing device of clause 25 and 26, further comprising a means for reinstituting the spread spectrum operation responsive to an absence of the plurality of touch events.

[0132] 28. The graphics processing device of clauses 25-27, further comprising a means for reducing frames per second (FPS) to a level associated with a low power state responsive to the absence of the plurality of touch events.

[0133] 29. A computer-readable medium storing computer executable code for graphics processing, the computer executable code being configured to:

[0134] synchronize a sampling rate of a touch sensor to a serial interface clock, wherein the touch sensor is associated with a digital display;

[0135] apply a spread spectrum operation to an output frequency of the serial interface clock;

[0136] detect a plurality of touch events at the touch sensor; and

[0137] in response to the plurality of touch events, synchronize the touch sensor from the serial interface clock to a reference clock.

[0138] 30. The computer-readable medium of clause 29, the computer executable code is further configured to resynchronize the touch sensor from the reference clock back to the serial interface clock responsive to an absence of the plurality of touch events.

[0139] As used herein, a phrase referring to “at least one of” or “one or more of” a list of items refers to any combination of those items, including single members. For example, “at least one of: a, b, or c” is intended to cover the possibilities of: a only, b only, c only, a combination of a and b, a combination of a and c, a combination of b and c, and a combination of a and b and c. As used herein, “based on” is intended to be interpreted in the inclusive sense, unless otherwise explicitly indicated. For example, “based on” may be used interchangeably with “based at least in part on, ” unless otherwise explicitly indicated. Specifically, unless a phrase refers to “based on only ‘a,’ ” or the equivalent in context, whatever it is that is “based on ‘a, ’ ” or “based at least in part on ‘a, ’ ” may be based on “a” alone or based on a combination of “a” and one or more other factors, conditions, or information.

[0140] The various illustrative components, logic, logical blocks, modules, circuits, operations and algorithm processes described in connection with the implementations disclosed herein may be implemented as electronic hardware, firmware, software, or combinations of hardware, firmware or software, including the structures disclosed in this specification and the structural equivalents thereof. The interchangeability of  hardware, firmware and software has been described generally, in terms of functionality, and illustrated in the various illustrative components, blocks, modules, circuits and processes described above. Whether such functionality is implemented in hardware, firmware or software depends upon the particular application and design constraints imposed on the overall system.

[0141] Various modifications to the implementations described in this disclosure may be readily apparent to persons having ordinary skill in the art, and the generic principles defined herein may be applied to other implementations without departing from the spirit or scope of this disclosure. Thus, the claims are not intended to be limited to the implementations shown herein, but are to be accorded the widest scope consistent with this disclosure, the principles and the novel features disclosed herein.

[0142] Additionally, various features that are described in this specification in the context of separate implementations also may be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation also may be implemented in multiple implementations separately or in any suitable sub combination. As such, although features may be described above as acting in particular combinations, and even initially claimed as such, one or more features from a claimed combination may in some cases be excised from the combination, and the claimed combination may be directed to a sub combination or variation of a sub combination.

[0143] Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Further, the drawings may schematically depict one more example processes in the form of a flowchart, or flow diagram. However, other operations that are not depicted may be incorporated in the example processes that are schematically illustrated. For example, one or more additional operations may be performed before, after, simultaneously, or between any of the illustrated operations. In some circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components  and systems may generally be integrated together in a single software product or packaged into multiple software products.

Claims

1.A method of adjusting a characteristic of a digital display, the method comprising:synchronizing a sampling rate of a touch sensor to a serial interface clock;applying a spread spectrum operation to an output frequency of the serial interface clock;detecting a plurality of touch events at the touch sensor; andin response to detecting the plurality of touch events, synchronizing the touch sensor from the serial interface clock to a reference clock.2.The method of claim 1, further comprising resynchronizing the touch sensor from the reference clock back to the serial interface clock responsive to an absence of the plurality of touch events.3.The method of claim 2, further comprising reinstituting the spread spectrum operation responsive to the absence of the plurality of touch events.4.The method of claim 2, further comprising reducing frames per second (FPS) to a level associated with a low power state responsive to the absence of the plurality of touch events.5.The method of claim 1, wherein the reference clock has a higher output frequency than the serial interface clock.6.The method of claim 1, further comprising temporarily halting the spread spectrum operation in response to detecting the plurality of touch events.7.The method of claim 1, further comprising initiating a boost in frames per second (FPS) at the digital display in response to detecting the plurality of touch events.8.The method of claim 1, further comprising positioning the serial interface clock between a host and a display module.9.The method of claim 1, wherein synchronizing the touch sensor from the serial interface clock to a reference clock includes synchronizing an internal clock of the touch sensor to the reference clock.10.The method of claim 1, wherein applying the spread spectrum operation to the output frequency of the serial interface clock further comprises applying spread spectrum clocking (SSC) .11.The method of claim 1, wherein detecting the plurality of touch events further includes detecting a number of touch events within a predetermined time period that exceeds a threshold.12.The method of claim 1, wherein detecting the plurality of touch events further includes detecting a plurality of coordinated touch events known to be executed in sequence to initiate an intentional action.13.An apparatus comprising:a touch sensor circuit to sense user physical contact comprising a touch event;a display panel circuit to render graphical data for display;a memory; anda processor system communicatively coupled with the memory, the display panel circuit, and the touch sensor circuit, the processing system configured to:synchronize a sampling rate of a touch sensor to a serial interface clock;apply a spread spectrum operation to an output frequency of the serial interface clock;detect a plurality of touch events at the touch sensor; andin response to detecting the plurality of touch events, synchronize the touch sensor from the serial interface clock to a reference clock.14.The apparatus of claim 13, wherein the processor system is further configured to resynchronize the touch sensor from the reference clock back to the serial interface clock responsive to an absence of the plurality of touch events.15.The apparatus of claim 14, wherein the processor system is further configured to reinstitute the spread spectrum operation responsive to the absence of the plurality of touch events.16.The apparatus of claim 14, wherein the processor system is further configured to reduce a frames per second (FPS) to a level associated with a low power state responsive to an absence of the plurality of touch events.17.The apparatus of claim 13, wherein the reference clock has a higher output frequency than the serial interface clock.18.The apparatus of claim 13, wherein the processor system is further configured to temporarily halt the spread spectrum operation in response to detecting the plurality of touch events.19.The apparatus of claim 13, wherein the processor system is further configured to initiate a boost in frames per second (FPS) at the digital display in response to detecting the plurality of touch events.20.The apparatus of claim 13, wherein serial interface clock is positioned between a host and a display module.21.The apparatus of claim 13, wherein in response to detecting the plurality of touch events, synchronize the touch sensor from the serial interface clock to a reference clock includes in response to detecting the plurality of touch events, synchronize an internal clock of the touch sensor to the reference clock.22.The apparatus of claim 13, wherein the spread spectrum operation includes spread spectrum clocking (SSC) .23.The apparatus of claim 13, wherein detecting the plurality of touch events further includes detecting a number of touch events within a predetermined time period that exceeds a threshold.24.The apparatus of claim 13, wherein detecting the plurality of touch events further includes detecting a plurality of coordinated touch events comprising user contact known to be associated with an intentional action.25.A graphics processing device comprising:a means for synchronizing a sampling rate of a touch sensor to a serial interface clock;a means for applying a spread spectrum operation to an output frequency of the serial interface clock;a means for detecting a plurality of touch events at the touch sensor; andin response to detecting the plurality of touch events, a means for synchronizing the touch sensor from the serial interface clock to a reference clock.26.The graphics processing device of claim 25, further comprising a means for resynchronizing the touch sensor from the reference clock back to the serial interface clock responsive to an absence of the plurality of touch events.27.The graphics processing device of claim 25, further comprising a means for reinstituting the spread spectrum operation responsive to an absence of the plurality of touch events.28.The graphics processing device of claim 25, further comprising a means for reducing frames per second (FPS) to a level associated with a low power state responsive to an absence of the plurality of touch events.29.A computer-readable medium storing computer executable code for graphics processing, the computer executable code being configured to:synchronize a sampling rate of a touch sensor to a serial interface clock;apply a spread spectrum operation to an output frequency of the serial interface clock;detect a plurality of touch events at the touch sensor; andin response to detecting the plurality of touch events, synchronize the touch sensor from the serial interface clock to a reference clock.30.The computer-readable medium of claim 29, the computer executable code is further configured to resynchronize the touch sensor from the reference clock back to the serial interface clock responsive to an absence of the plurality of touch events.