Adaptive power saving mode for touch controller

By regression analysis and filter transformation of the current scan frame data set of the touch screen, adaptively manage the transition between the idle mode and the active mode, the problems of power consumption management and noise interference in the prior art are solved, and more efficient power saving and touch detection accuracy are achieved.

CN120066229APending Publication Date: 2025-05-30STMICROELECTRONICS INT NV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411690021.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-11-28
Filing Date
2024-11-25
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

The prior art has problems of inefficiency and noise interference in transition between idle and active modes and power consumption management in each mode.

Method used

Adaptive power saving mode is adopted to regression analysis of the current scan frame data set of the touch screen, a set of coefficients is generated, and based on these coefficients compared with the set threshold, filter transformation is applied to determine whether touch analysis, frame drop or touch delay processing is performed.

Benefits of technology

It effectively reduces the power consumption of the touch screen interface in idle mode and active mode, reduces error transitions due to noise, and improves the accuracy and user experience of touch detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120066229A_ABST
    Figure CN120066229A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to an adaptive power saving mode for a touch controller. According to one embodiment, a method for operating a touch screen in an active mode is provided. A regression analysis is performed on inputs from respective rows of the sensor matrix at time k, the regression analysis generating a set of coefficients. An output matrix is generated by applying a filter transform based on a comparison between the set of coefficients and a first threshold. A touch analysis is performed based on the output matrix. A frame loss analysis is performed to determine whether the current frame is skipped for the touch analysis based on a comparison of the set of coefficients to a second threshold. A touch delay analysis is performed to determine whether to change a result of a first number of subsequent frames for the touch analysis based on a comparison of the set of coefficients to a third threshold.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to signal processing, and in particular embodiments, to an adaptive power saving mode for a touch controller. Background Art

[0002] Touchscreens are commonly used as interface mechanisms for electronic devices such as tablet computers, smartphones, and computers. A touchscreen combines a display for providing output with a touch panel for capturing input. A common type of touchscreen is a capacitive touchscreen. Capacitive touchscreens utilize the electrical properties of the human body and an array of capacitive sensors to detect the location and time of a user touching the screen. Devices equipped with capacitive touchscreens typically include a sensing grid for capacitive input, which is positioned beneath a display panel made of a layer of glass or other transparent material. The sensing grid is typically arranged in a matrix of rows and columns.

[0003] When a user touches (e.g., using a finger, a stylus, etc.) a capacitive touchscreen, the user's finger or hand acts as a conductor, for example, and a small charge is drawn to the point of contact, which results in a change in capacitance. A controller coupled to the array of capacitive inputs detects the change in capacitance by identifying, for example, a change in current or voltage at the point of contact. The controller determines the location of the touch and performs an appropriate action. For example, if the touch is a swipe or a tap, the controller may signal the operating system to open an application or pause a video.

[0004] Typically, a touchscreen operates in three different modes: off, idle, and active. In the off mode, the touchscreen is completely deactivated. Both the display screen and the touch function are non-operational, which means the device is not in use and is saving maximum power. In the idle mode, although the screen display may be active, the touchscreen function is non-operational. This means the user can see the display, but interacting with it via touch does not generate any response. In this state, the device is in a power saving mode, saving energy by restricting the functionality of the touchscreen interface. The active mode is the case where both the screen display and the touchscreen function are fully operational. In this state, the user can interact with the device using touch input, and the device responds accordingly. This is the operating mode that allows full interaction but also consumes the most power due to the active functions.

[0005] The system can dynamically manage the transition between an idle mode and an active mode based on user interaction with the screen. If a touch is detected or a noise signal is interpreted as a touch, the system immediately switches from the idle mode to the active mode to allow user interaction. Conversely, if touch interaction is missing for a specified number of frames, the system reverts from the active mode to the idle mode to save power. This transition between modes ensures optimal power management while maintaining user-friendly responsiveness when needed. There is a desire to improve the transition between the idle mode and the active mode and further improve the power consumption in each mode for systems, methods, devices, and circuits. Summary of the Invention

[0006] The technical advantages are generally achieved by embodiments of the present disclosure, which describe an adaptive power saving mode for a touch controller.

[0007] A first aspect relates to a method for operating a touch screen in an active mode. The method includes: performing a regression analysis on each subset of a dataset of a current scan frame for the touch screen, each subset of the dataset corresponding to an input from a respective row of a matrix of sensors at time k, the regression analysis generating a set of coefficients; applying a filter transform to each subset of the dataset based on a comparison between the set of coefficients and a first threshold to generate an output matrix; determining whether to perform a touch analysis by a user on the touch screen based on the output matrix; determining dropped frames, where determining dropped frames corresponds to determining whether to skip the current frame for touch analysis based on a comparison between the set of coefficients and a second threshold; and determining touch latency, where determining touch latency corresponds to determining whether to change the results of a first number of subsequent frames for touch analysis based on a comparison between the set of coefficients and a third threshold.

[0008] A second aspect relates to a device. The device includes: a grid sensor including a matrix of sensors arranged in a grid; a non-transitory memory storage device including instructions; and a processor communicatively coupled to the non-transitory memory storage device and the grid sensor, where the instructions, when executed by the processor, cause the processor to: perform a regression analysis on each subset of a dataset of a current scan frame for the touch screen, each subset of the dataset corresponding to an input from a respective row of a matrix of sensors at time k, the regression analysis generating a set of coefficients; apply a filter transform to each subset of the dataset based on a comparison between the set of coefficients and a first threshold to generate an output matrix; determine whether to perform a touch analysis by a user on the touch screen based on the output matrix; determine dropped frames, where determining dropped frames corresponds to determining whether to skip the current frame for touch analysis based on a comparison between the set of coefficients and a second threshold; and determine touch latency, where determining touch latency corresponds to determining whether to change the results of a first number of subsequent frames for touch analysis based on a comparison between the set of coefficients and a third threshold.

[0009] A third aspect relates to a non-transitory computer-readable medium storing computer instructions for operating a touch screen in an active mode. When the computer instructions are executed by a processor, the processor is caused to: perform a regression analysis on each subset of a data set of a current scan frame for the touch screen, each subset of the data set corresponding to an input of a respective row of a matrix from a sensor at time k, the regression analysis generating a set of coefficients; apply a filter transformation to each subset of the data set based on a comparison between the set of coefficients and a first threshold to generate an output matrix; determine whether to perform touch analysis by a user on the touch screen based on the output matrix; determine a dropped frame, the determination of the dropped frame corresponding to determining whether to skip the current frame for touch analysis based on a comparison between the set of coefficients and a second threshold; and determine a touch delay, the determination of the touch delay corresponding to determining whether to change results of a first number of subsequent frames for touch analysis based on a comparison between the set of coefficients and a third threshold.

[0010] Embodiments may be implemented in hardware, software, or any combination thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] To more fully understand the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which:

[0012] Figure 1 is a block diagram of an embodiment device;

[0013] Figure 2 is a flowchart of an embodiment method for analyzing input data;

[0014] Figure 3 is a representation of an embodiment raw data frame matrix captured from an array of sensors at time k;

[0015] Figure 4 is a flowchart of an embodiment method for processing raw data from an array of sensors;

[0016] Figure 5 is a flowchart of an embodiment method for a conventional method for transitioning between an idle mode and an active mode;

[0017] Figure 6 is a flowchart of an embodiment method for operating a touch screen in an idle mode and determining when to transition to an active mode;

[0018] Figure 7 is a flowchart of an embodiment method for operating a touch screen in an active mode and determining when to transition to an idle mode;

[0019] Figure 8is a flowchart of an exemplary method for adaptive touch reporting latency handling; and

[0020] Figure 9 is a flowchart of an exemplary method for adaptive frame dropping handling. DETAILED DESCRIPTION

[0021] The present disclosure provides many applicable inventive concepts that can be embodied in various specific contexts. The specific embodiments merely illustrate specific configurations and do not limit the scope of the claimed embodiments. Unless otherwise stated, features from different embodiments can be combined to form other embodiments. Various embodiments are illustrated in the drawings, where the same components and elements are identified by the same reference numerals, and repeated descriptions are omitted for brevity.

[0022] Changes or modifications described in one embodiment can also apply to other embodiments. Additionally, various changes, substitutions, and variations can be made herein without departing from the spirit and scope of the present disclosure as defined by the appended claims.

[0023] Although the inventive aspects are mainly described in the context of a capacitive touchscreen, it should also be understood that these inventive aspects can also apply to the processing of other types of sensor inputs. Specifically, aspects of the present disclosure can similarly apply to any grid-type sensor used in, for example, image recognition or object detection.

[0024] Generally, a grid-type sensor is a type of sensor arranged in a matrix or grid pattern. The grid pattern allows the sensor to sense a larger range of inputs over a larger input area. Additionally, the specific technologies applicable to the embodiments of the present disclosure are not limited to capacitive sensors. For example, grid-type sensors based on optical, acoustic, or electromagnetic principles can also advantageously implement the disclosed embodiments.

[0025] Embodiments of the present disclosure provide an adaptive power saving mode that reduces the power consumption of the touchscreen interface in both the idle mode and the active mode. In an embodiment, machine learning and regression analysis are utilized in touchscreen applications to improve the transition between the idle mode and the active mode and to save power within the device 100 in each mode. In an embodiment, false transitions from the idle mode to the active mode caused by noise are greatly reduced. In the extremely rare cases where the disclosed transition from the idle mode to the active mode is caused by false touch detections in the idle mode, the device 100 monitors the raw data for several subsequent frames after transitioning from the idle mode to the active mode and returns to the idle mode after continuously detecting no touch events. Additionally, during the active mode, the scan rate is dynamically adjusted.

[0026] Adaptive anti-noise in touch detection is a technique for enhancing the performance and accuracy of a touchscreen interface. This technique differentiates true touch inputs from environmental noise or accidental touches, ensuring that the touchscreen accurately responds to user interactions. Aspects of the present disclosure provide solutions that can improve anti-noise in touch detection. These and other details will be discussed in more detail below.

[0027] Figure 1 A block diagram of an example device 100 is illustrated. Device 100 includes a touch controller 102, a touchscreen 104, a memory 112, a processor 110, and a power system 120, which may or may not be arranged as shown. In an embodiment, touch controller 102 and processor 110 may be implemented as a single processing unit. Device 100 may include additional components not depicted, such as long-term storage devices (e.g., non-volatile memory, etc.), additional input and output interfaces, speakers, etc. In an embodiment, device 100 is a smartphone, a smartwatch, a wearable device, a tablet computer, a laptop computer, or any other device including a grid-type sensor (such as a device with a touchscreen (e.g., a smart thermostat, a refrigerator, an automotive infotainment console, etc.)).

[0028] In an embodiment, during normal operation, touch controller 102 controls the operation of touchscreen 104. For example, in some embodiments, touch controller 102 receives raw input data from touchscreen 104 to determine, for example, the location and type of a touch. Touch controller 102 may include an analog-to-digital converter (ADC), not shown, to convert analog signals from touchscreen 104 into digital signals for further processing by touch controller 102. In an embodiment, the ADC may be external to touch controller 102. Touch controller 102 can be any component or collection of components suitable for performing calculations or other processing-related tasks. In an embodiment, touch controller 102 is arranged on a system-on-chip (SoC). In an embodiment, touch controller 102 can be implemented in any manner known in the art.

[0029] Memory 112 can be any component or collection of components suitable for storing programming or instructions executed by touch controller 102. In one embodiment, memory 112 includes a non-transitory computer-readable medium. In some embodiments, memory 112 is part of processor 110. In some embodiments, memory 112 is external to processor 110, such as inside touch controller 102. Other implementations are possible. In some embodiments, memory 112 may also be used to store other types of data for device 100.

[0030] In an embodiment, the touch screen 104 allows a user to interact with and communicate with the device 100. In an embodiment, the touch screen 104 includes a display 106 and a sensor array 108 (also referred to as a grid, touch grid, touch cell, or sensing element). The display 106 is configured to display images. In an embodiment, a panel driver (not shown) may be coupled to the display 106 and the processor 110. The panel driver may be used to drive the display 106. The display 106 may be implemented in any manner known in the art.

[0031] The sensor array 108 includes a plurality of sensors 114 arranged in rows and columns. The sensors 114 and the sensor array 108 may be implemented in any manner known in the art. In an embodiment, the touch screen 104 is a capacitive touch screen.

[0032] The processor 110 is configured to operate the device 100. In an embodiment, the processor 110 is implemented as a general-purpose or custom controller or processor coupled to a memory 112 and is configured to execute instructions from the memory 112 or another memory of the device 100. In an embodiment, the processor 110 may be coupled to a second memory of the device 100, and the second memory stores instructions that the processor 110 will execute. In some embodiments, the touch controller 102 is implemented as part of the processor 110. In an embodiment, the processor 110 is the main processing unit, and the touch controller 102 is the slave processing unit.

[0033] The power system 120 provides a power source for the operation and portability of the device 100. The power system 120 may be a power management integrated circuit (PMIC). The power system 120 may include a controller, a battery, a charging circuit, an interface, and other components for allowing inductive charging by transferring power from a charging plate or a base station to the device 100. The power system 120 may be any component or collection of components that manages and controls the distribution, conversion, and regulation of power in the device 100. In various embodiments, the power system 120 is configured to regulate the supply voltage to various components of the device 100 and control the charging, discharging, and operation monitoring of the battery.

[0034] Figure 2 A flowchart of an exemplary method 200 for analyzing input data is illustrated, where the method 200 may be implemented in the device 100. Generally, the raw data from the sensor array 108 is transformed (i.e., preprocessed) into data usable by the touch controller 102 to determine and interpret the user's interaction(s) with the device 100. The data transformation may include a combination of hardware and software algorithms.

[0035] At step 202, the touch controller 102 samples input data from the touch screen 104. Sampling includes capturing as much information as possible related to interactions with the sensor 114 at a high frequency.

[0036] At step 204, the sampled data is processed to reduce noise, to reduce noise in the input data and improve accuracy such as of a touch location. Generally, noise reduction is a core step in the preprocessing of input data from the sensor array 108 as it helps improve accuracy of touch detection for example and improve the user experience. Noise reduction generally includes filtering, signal averaging, adaptive filtering, adaptive touch reporting latency, adaptive frame dropping, etc. Additionally, noise reduction can help improve system efficiency by keeping the device 100 in an idle mode, rather than transitioning the device 100 to an active mode, in response to a noise signal being characterized as a touch event without noise reduction.

[0037] Filtering generally involves passing the input data through a filter to remove high-frequency, low-frequency or both types of components from the signal, smooth the input data, and improve touch detection accuracy. Generally, signal averaging involves collecting multiple samples of the input data and averaging them together to reduce the impact of noise on the final result. Although signal averaging can reduce random noise, it generally cannot effectively remove periodic noise.

[0038] Adaptive filtering, adaptive touch reporting latency, and adaptive frame dropping generally involve using algorithms and computational resources to identify and remove complex or variable noise by adapting to the input data.

[0039] Generally, the sensing of the touch screen 104 and the driving of the display 106 are not time-synchronized. A user can touch the touch screen 104 and the display 106 can be driven simultaneously, or a user can touch the touch screen 104 while the display is not being driven. Thus, sometimes, the raw input data from the sensor array 108 can include noise from the display 106 driving solution. In embodiments where the touch screen 104 and the display 106 operate at different frequencies or time domains, the impact of noise from the display 106 driving solution can be minimal; however, the associated noise may still be included in the raw input data.

[0040] Another type of noise that may be included in the original input data is noise color (e.g., gray, zebra stripes with one on - off, zebra stripes with two on - off, etc.). Yet another type of noise that may be included in the original input data is noise from, for example, a charging circuit or a wireless charger. In an embodiment, the associated noise in the frequency domain can be dense and strong. In an embodiment, the associated noise can be more significant than the noise from the drive solution. Embodiments of the present disclosure remove or significantly reduce the noise in the original input data before analyzing, for example, touch detection (step 206) and touch tracking (step 208). By doing so, device 100 operates more efficiently in both the active mode and the idle mode. Additionally, due to the improved touch detection, device 100 will stay in the idle mode and consume less power.

[0041] At step 206, touch controller 102 processes the filtered data for touch detection to detect, for example, the presence of a touch and estimate the position of the touch on the screen. Various algorithms can be used to find the best match by, for example, comparing the input data with a predefined set of touch patterns or templates.

[0042] At step 208, touch controller 102 processes the filtered data for touch tracking such that the position and the movement over time can be tracked to determine the type of touch, such as a click, a pinch, a swipe, etc. The information is used, for example, by processor 110 to initiate an appropriate response from device 100.

[0043] Figure 3 Illustrated is a representation of an embodiment of the original data frame matrix 300 captured from sensor array 108 at time k. The original data frame matrix 300 is shown as an array having 13 columns and 8 rows. However, it should be noted that the number of columns and rows is non - restrictive, and similarly, more or fewer numbers are considered.

[0044] The sample data points of the original data frame matrix 300 are represented as FRD[i, j, k], where i is the row number, j is the column number, and k is the sampling moment. For example, the sample data point collected from sensor 114 located at column 5 and row 6 at moment k is represented as FRD[6, 5, k]. As another example, the sample data point collected from sensor 114 located at column 4 and row 2 at moment k + 1 is represented as FRD[2, 4, k + 1].

[0045] In an embodiment, a machine - learning filtering technique is provided that reduces the processing time and power consumption of touch controller 102 while maintaining the filtering performance of the noise in the frame data set (e.g., the data corresponding to sensor array 108 at time k).

[0046] Machine learning filtering techniques are methods for selecting a subset of data from a larger dataset for use in machine learning algorithms. The goal of filtering is to improve the performance of the algorithm by reducing the amount of noise or irrelevant data in the dataset. There are several different filtering techniques that can be used for this purpose, such as feature selection and instance selection. These techniques can be applied before or during training to help the algorithm learn more effectively from the data. Machine learning filtering techniques can be embodied in the firmware of the touch controller 102, or stored as instructions in the memory 112 and executable by the touch controller 102.

[0047] In an embodiment, machine learning filtering techniques are applied during the regression analysis of a linear model to extract the coefficients of the corresponding rows of the sampled data of a polynomial regression model in real time.

[0048] Machine learning involves the use of computer algorithms that have the ability to autonomously improve through experience and the exploitation of data. Algorithms in machine learning build models to make predictions or determinations using sample data (referred to as training data) without explicit programming to perform such tasks. In an embodiment, the threshold for training for analysis is completed offline based on machine learning.

[0049] In an embodiment, a method for constructing a regression analysis model based on sampled data is proposed. In an embodiment, the regression analysis model is used to determine the properties of the sampled data using a high-dimensional polynomial regression model.

[0050] Generally, regression analysis is a statistical method used to study the relationship between a dependent variable and one or more independent variables. There are mainly two different conceptual purposes in regression analysis. First, it is widely used for prediction and forecasting, and in this context, it has a large overlap with the field of machine learning. Second, in some cases, regression analysis can be used to infer the causal relationship between independent variables and the dependent variable.

[0051] In an embodiment, the relationship between no-touch, touch, and noise is predicted and estimated by analyzing the properties of the sampled data. In an embodiment, an adaptive frame filtering technique is disclosed for selecting a specific filtering technique that is most suitable for the data based on prediction and analysis. This is in sharp contrast to conventional frame filtering process solutions that use the same filtering technique or model for all data points across different frames.

[0052] Figure 4FIG. illustrates a flow chart of an example method 400 for processing raw data from a sensor array 108, such as raw data from a capacitive touch screen, based on an adaptive frame filtering technique. In an example, method 400 is implemented in a touch controller 102 or a processor 110. In an example, the adaptive frame filtering technique is implemented in an idle mode. In such an example, the adaptive frame filtering technique is implemented on raw data inputs collected using self-capacitance sensing. In an example, the adaptive frame filtering technique is implemented in an active mode. In such an example, the adaptive frame filtering technique is implemented on raw data inputs collected using mutual-capacitance sensing and self-capacitance sensing.

[0053] At step 402, during the sampling phase of step 202, raw input data is sampled by touch controller 102 from touch screen 104. The raw input data includes a time component, which is identified herein as time instant k. For example, the raw input data from sensor array 108 at a first time instant can be represented as FRD k . Similarly, at a second time instant after the first time instant, the raw input data from sensor array 108 can be represented as FRD k+1 .

[0054] At step 404, a differential filtering calculation is applied to the raw input data. The differential filtering calculation includes subtracting the raw input data at a particular time instant from a baseline measurement value. In an example, the baseline measurement value corresponds to an average of raw input data measurements or samples of sensor array 108 at different time instants and when the user is not interacting with touch screen 104.

[0055] In one example, based on M measurements (i.e., time instants) sampled from sensor array 108, the baseline measurement value is calculated using , where M is a positive integer.

[0056] In an example, each raw input data is in the form of a matrix. In such an example, the baseline measurement value is in the form of a matrix. Accordingly, each row and each column of the raw input data from each sensor 114 is subtracted from the corresponding row and column of the baseline measurement value to provide the differentially filtered input data (D k ).

[0057] In an example, the baseline measurement value is a single value applied to the raw input data collected from all sensors 114. In an example, the baseline measurement value is a single value for each column or each row of sensor array 108.

[0058] In an embodiment, the baseline calculation represents the normal state of the touch screen 104 (i.e., the sensing element, the sensor) without touch. In an embodiment, the sampled measurement values are consecutive sampling instances. In an embodiment, the baseline calculation is a value stored in the memory 112. In an embodiment, the baseline calculation is a measurement performed, for example, at a factory where the device 100 or the touch screen 104 is constructed. In an embodiment, the baseline calculation is a measurement performed at the initial startup of the device 100. In an embodiment, the baseline calculation is a measurement performed before or after a user touches the touch screen 104. In an embodiment, the baseline value is refreshed in response to a change in the environment, for example, detected by one or more sensors of the device 100 (e.g., sensors of the device 100 different from the sensors of the touch screen). In each of these embodiments, the measurement values for calculating the baseline measurement are collected without the user touching or interacting with the device 100 or the touch screen 104.

[0059] Accordingly, at step 404, the raw input data undergoes an initial noise reduction step to remove the effect of constant noise data in the raw input data and generate the differentially filtered input data (D k ). In an embodiment, an additional or alternative noise reduction step for step 404 is applied to the raw input data in any manner known in the art.

[0060] At step 406, once the raw input data has undergone the initial noise reduction step at step 404, the differentially filtered input data (D k ) corresponding to a particular row is analyzed from step 408 to step 418 to determine which particular type of filter transformation (infinite impulse response (IIR) filtering at step 420, first-order filtering at step 422, or second-order filtering at step 424) is to be applied to that particular row.

[0061] At step 408, for a corresponding row of the sensor array 108, flatness detection analysis is performed on the differentially filtered input data (D k ). The flatness detection analysis calculates a flatness detection matrix (FD[i,j,k]) having values equal to the difference between the absolute value of each element of the differentially filtered input data (D k ) for a particular row and a flatness threshold: D[i,j,k] = abs(D[i,j,k]) - flatness_threshold, where FD[i,j,k] is the flatness detection matrix, D[i,j,k] is the differentially filtered input data, and flatness_threshold is the flatness threshold.

[0062] In an embodiment, flatness_threshold has a single value. In an embodiment, flatness_threshold is a matrix. In an embodiment, flatness_threshold is determined by collecting the average value of the maximum absolute value of the differentially filtered input data (D k ) over a number of moments (frames) corresponding to no-touch and known noise effects, such as testing on a pure black, pure white, or two types of image screens.

[0063] In response to any element in the elements of the flatness detection matrix (FD[i,j,k]) being greater than zero (i.e., the absolute value of the differentially filtered input data for a specific row is greater than the flatness threshold), the whole of the corresponding row is marked as invalid (i.e., the corresponding row does not have flatness), and the method continues at step 410.

[0064] However, if all elements of the flatness detection matrix (FD[i,j,k]) are less than zero (i.e., the absolute value of the differentially filtered input data for a specific row is less than the flatness threshold), then the whole of the corresponding row is marked as valid (i.e., the corresponding row has flatness), and the method continues at step 420, which will be described in further detail below.

[0065] The determination of valid flatness at step 408 means that there is no touch and noise effect at the sensors of the analyzed row. Marking the corresponding row as valid indicates that there is no interaction with any sensor on the analyzed row; thus, the data is less affected by noise. On the contrary, marking the corresponding row as invalid indicates that there has been some interaction with at least one sensor on the analyzed row; thus, the data is affected by touch or noise.

[0066] In response to making a valid flatness determination at step 408, no regression analysis or sampling of the data is required. It should be noted that other algorithms and comparisons for determining valid or invalid determinations are also considered.

[0067] In response to an invalid flatness determination at step 408, at steps 410 and 412, an updated data set (data sampling matrix DS) for the analyzed row is generated by selectively discarding cells of the differentially filtered input data (D k ) such that the regression analysis at steps 414, 422, and 424 has a smaller error in the sum of squared residuals.

[0068] Using the data sampling matrix DS instead of the differentially filtered input data (D k ) improves the problem of overfitting corresponding to the error of the sum of squared residuals (RSS) at steps 414, 422, and 424, Where N is the number of columns. In statistics, the estimation error is a measure of the difference between the data and the estimation model, and a smaller sum of squared residuals value indicates that the model fits the data well. Using the data sampling matrix thus helps to reduce the sum of squared residuals value, thereby improving the accuracy of the results of the model's coefficients and the accuracy of fitting the model to the data.

[0069] Initially, at step 410, the slope value analysis is performed in response to determining an invalid detection at step 408. The slope value analysis calculates the absolute value of the difference between each consecutive sample of the differentially filtered input data (D k ) for the corresponding row. The slope value calculation can be represented by the following equation: SLP[i,j,k] = abs(D[i,j,k] - D[i,j-1,k]), where SLP[i,j,k] is the slope value calculation at time k for the sensor located at column i and row j; where D[i,j,k] is the differentially filtered input data at time k for the sensor located at column i and row j; and where D[i,j-1,k] is the differentially filtered input data at time k for the sensor (adjacent sensor) located at column i and row j-1.

[0070] It will be understood that in an embodiment, the slope value calculation for the first cell of the corresponding row is not calculated because the first sensor has no other adjacent sensors other than the second adjacent sensor.

[0071] In addition, at step 410, once the slope values are calculated, the slope values calculated for each cell of the corresponding row are compared with a high-sensitivity response threshold to make a slope validity determination. A valid state indicates interaction (e.g., touch or noise effect) with a particular sensor of the row being analyzed, while an invalid state indicates no interaction with a particular sensor (e.g., no touch).

[0072] In an embodiment, a proper slug touch at multiple sensors is used to determine the high-sensitivity response threshold. In an embodiment, the slug touch is a four-millimeter slug touch. In an embodiment, the slug touch is at the center of four sensor regions.

[0073] At step 412, the data sampling matrix DS is generated based on the slope verification detection result at step 410. The data sampling matrix DS represents the result of the validity check for the corresponding sensors in the respective rows (i.e., D[i,j,k] or "1"). The data sampling matrix represents the comparison result between the slope value and the high-sensitivity response threshold, which can be expressed as DS[i,j,k] = (SLP[i,j,k] < high-sensitivity response threshold)? D[i,j,k] : 1. Therefore, the value of the data sampling matrix DS[i,j,k] is represented by "1" where SLP[i,j,k] has a value greater than the high-sensitivity response threshold at time k, at the corresponding column i and row j; otherwise, the value of DS[i,j,k] is equal to the value of D[i,j,k].

[0074] For example, if the value of SLP[5,2,k] is greater than the high-sensitivity response threshold, the value of DS[5,2,k] is "1"; otherwise, the value of DS[5,2,k] is equal to "D[5,2,k]".

[0075] The data sampling matrix DS is a 1×j (number of columns) matrix based on the slope verification detection result at step 410. The value of the cell of the data sampling matrix DS is subsequently updated by extending the value "1" to the adjacent positions (i.e., DS[i,j - 1,k] and DS[i,j + 1,k]), where the original DS[i,j,k] value is equal to "1".

[0076] At step 414, a regression analysis based on, for example, a cubic polynomial regression model is applied to the sampling matrix DS updated from step 412. The third-order polynomial regression model is of the form y j = β 0 + β 1 x j + β 2 x j 2 + β 3 x j 3 where the time series x = {1, 2,..., n} is the independent variable of the regression model and is assumed to have n data samples. The vector of the polynomial regression coefficients estimated using linear least squares estimation (i.e., the unknown parameters of the regression model) is:[[]]END]] The vector of the third-order polynomial regression coefficients is:[[]]END]] where corresponds to the data sampling matrix updated from step 412 for the respective rows.[[]]END]]

[0077] Note that other types of algorithms (such as a K - th order polynomial regression model) can be applied at step 414 to the sampled matrix DS updated from 412. The K - th order polynomial regression model is of the form, where the time series x = {1, 2,..., n} is the independent variable of the regression model and is assumed to have n data samples. The vector of polynomial regression coefficients estimated using linear least - squares estimation (i.e., the unknown parameters of the regression model) is: The vector of K - th order polynomial regression coefficients is:

[0078] where the data sampling matrix updated from step 412 corresponding to the respective row.

[0079] Thus, although the embodiments of the present disclosure are described according to a third - order polynomial, note that, for example, higher - order polynomial coefficients can be similarly selected to achieve better performance. Generally, higher - order polynomial models can provide a better fit for a data set because the associated estimation error value decreases as the polynomial order increases. The decrease in the error value improves the noise reduction effect. However, as the order of the polynomial increases, the associated computational time and analytical complexity also increase. It is therefore advantageous to select a balance between the order of the polynomial and the process speed.

[0080] The estimation result (regression analysis) of the data sampling matrix updated from step 412 for the respective row is the coefficient (i.e., parameter) β 0 、β 1 、β 2 and β 3 at time k for the respective row. In an embodiment, the coefficients β 3 and β 1 are used to determine the appropriate type of filter transformation to be applied to the respective row of the data sampling (DS) matrix being analyzed. In an embodiment, the absolute values of the coefficients β 3 and β 1 are used to determine the appropriate type of filter transformation to be applied to the respective row of the data sampling (DS) matrix being analyzed. Using the absolute values of the coefficients in an embodiment can provide better predictive detection for noise cancellation.

[0081] In an embodiment, the threshold is determined according to the machine - learning concept of regression analysis, which is used for predictive analysis to label different thresholds for touch, no - touch, or noise conditions. Thus, the threshold is calculated offline, while the coefficients at time k for the respective row are calculated in real - time. In an embodiment, the machine - learning concept can be used to determine the threshold in the presence of noise and can be adapted to various noise conditions and models.

[0082] In an embodiment, in order to determine the one to be associated with the coefficient β3 and β 1 for comparison with the absolute value of β, different noise models are used to determine for the coefficient β 3 and β 1 the range of values of the absolute value. For the coefficient β 3 and β 1 the range of values of the absolute value is then used for the training data to determine a first threshold, a second threshold, and a third threshold. As further disclosed below, the first threshold, the second threshold, and the third threshold are subsequently compared with the coefficients to determine the type of filter transformation.

[0083] In an embodiment, an infinite impulse response (IIR) filter transformation, a first-order filter transformation, or a second-order filter transformation is applied to the corresponding rows of the data sampling (DS) matrix to generate an output matrix O for the corresponding rows based on the comparison between the absolute values of the coefficients β 3 and β 1 and the thresholds generated using machine learning. k .

[0084] In an embodiment, determining the range of values of the absolute value for the coefficients β 3 and β 1 and training the data for determining the first threshold, the second threshold, and the third threshold are performed during the manufacturing engineering / design phase, and the values are stored in the memory 112. In an embodiment, the values are updated by, for example, downloading the values from the cloud, a website, a server, etc.

[0085] If the absolute value of the coefficient β 3 is greater than the first threshold, a second-order filter transformation is applied to the corresponding rows of the data sampling (DS) matrix to generate the corresponding output matrix (O k ) which will be described in further detail below at step 424. However, if the absolute value of the coefficient β 3 is less than the first threshold, the absolute value of the coefficient β 1 is used to determine the appropriate type of filter transformation to be applied.

[0086] At step 420, in response to the absolute value of the coefficient β 1 of the third-order polynomial regression being below the second threshold or the effective flatness detection at step 410 determines, then at step 420, an infinite impulse response (IIR) filter transformation is applied to the corresponding rows of the D k matrix: where

[0087] M = 0, a 1 = 0,

[0088] b 0= 1 / div_threshold.

[0089] Assume the simplified IIR filter is y[n] = b 0 x(n) + a 1 y(n - 1), where M = 0, N = 1, a 1 = 0, b 0 = 1 / div_threshold (i.e., y[n] = b 0 x(n)). Depending on the product, the value of div_threshold can be, for example, the values 2, 4, 8, or 16.

[0090] When a valid flatness detection determination is made at step 410, as shown in the above equation, the IIR filter uses the differentially filtered input data (D k ) for the analyzed row at step 420 for filter transformation. However, if the process at step 420 is generated due to the absolute value of the coefficient β 1 of the third-order polynomial regression being lower than the second threshold, the filter transformation at step 420 uses the updated data sampling (DS) matrix (i.e., in the above equation, DS is used to replace D k ) for the analyzed row from step 412.

[0091] Generally, the infinite impulse response filter transformation requires the least processing calculations. Therefore, it would be advantageous to use a low-computation algorithm for data corresponding to, for example, a touchless condition. The corresponding output matrix (O k ) for the corresponding row is generated by the infinite impulse response filter transformation: O[i,j,k] = FFD[i,j,k]. The output matrix indicates the touch intensity of the sensor associated with the corresponding analyzed row.

[0092] At step 422, in response to the absolute value of the coefficient β 1 of the third-order polynomial regression being greater than the second threshold, a first-order filter transformation is applied to the corresponding row of the updated data sampling (DS) matrix from step 412: FFD[i,j,k] = β 0 + β 1 × j.

[0093] In an embodiment, the first-order filter transformation is a first-order polynomial filter. In an embodiment, the first-order filter transformation is a first-order linear line filter.

[0094] The coefficients of the first-order polynomial filter are generated by the data sampling (DS) matrix of the corresponding row. The vector of the first-order polynomial regression coefficients is: where is the data sampling (DS) matrix of the corresponding row from step 412.

[0095] The corresponding output matrix (O k ) for the corresponding row is generated by a first-order filter transformation: O[i,j,k] = D[i,j,k] - FFD[i,j + 1,k].

[0096] At step 424, in response to the absolute value of the coefficient β 1 of the third-order polynomial regression being greater than a third threshold, a second-order filter transformation is applied to the corresponding row of the data sampling (DS) matrix updated from step 412: FFD[i,j,k] = β 0 + β 1 × j + β 2 × j 2 .

[0097] In an embodiment, the second-order filter transformation is a second-order polynomial filter. In an embodiment, the second-order filter transformation is a second-order curve fitting filter. The coefficients of the second-order polynomial filter are generated from the data sampling (DS) matrix of the corresponding row. The vector of the second-order polynomial regression coefficients is: where is the data sampling (DS) matrix of the corresponding row from step 412.

[0098] The corresponding output matrix (O k ) for the corresponding row is generated by the second-order filter transformation: O[i,j,k] = D[i,j,k] - FFD[i,j + 1,k].

[0099] At step 426, once the appropriate filter transformation has been applied to the corresponding row of the D k matrix and the corresponding output matrix O k has been generated for the corresponding row, steps 408 to 426 are repeated for the next row (starting from step 406) until all rows have been analyzed and the complete output matrix O[i,j,k] has been generated.

[0100] Once the complete output matrix O[i,j,k] has been generated, it is used by the touch controller 102 to determine, for example, at time k, the corresponding touch detection as detailed in step 206, the corresponding touch tracking as detailed in step 208, or a combination thereof.

[0101] Note that regardless of the type of filtering applied, the filter transformation is applied spatially. Thus, the only data filtered to generate the output matrix for the particular row being analyzed belongs to the same frame (the same moment).

[0102] Figure 5The flowchart of an example method 500 of a conventional method for transitioning between an idle mode and an active mode in device 100 is illustrated. Generally, when device 100 operates in the idle mode, certain functions such as touchscreen 104 are restricted to save energy while allowing the user to view content such as a video. During this idle mode, although the user can watch the video and see the display, any attempt to interact via touchscreen 104 will be unresponsive since touch processing is inactive. This allows the user to passively consume content, minimizing the risk of unintentional interaction with touchscreen 104, and it helps to extend the battery life of device 100.

[0103] However, device 100 transitions from the idle mode to the active mode in response to the user interacting with touchscreen 104 in a subsequent frame. This means that when the user touches touchscreen 104, touch controller 102 recognizes the interaction and activates the touch interface in, for example, a subsequent frame, enabling the user to interact with device 100 normally. This transition ensures a seamless user experience, allowing the user to interact with device 100 when needed while still benefiting from energy savings in the idle mode.

[0104] At step 502, device 100 operates in the idle mode. In the idle mode, touchscreen 104 can still show an image or video on display 106, but touchscreen features may not be operational. This means that during the display of a frame, even though the user can view the display, any attempt to interact with it using high-sensitivity touch will be unresponsive (for that frame). Under such conditions, device 100 is in a power-saving mode, saving energy by restricting the operation of the touchscreen interface.

[0105] For example, when a user watches a video lecture on a tablet computer with the idle mode enabled, the user can continue to watch the lecture and listen to the audio, but if they attempt to touch the screen by swiping quickly and navigate through the video during that frame, those touches will not be recorded.

[0106] At step 504, touchscreen 104 transitions to the next frame. Generally, touchscreen circuitry uses two sensing methods to detect touch: mutual capacitance sensing and self-capacitance sensing. Mutual capacitance sensing or mutual sensing data refers to touchscreen technology where touch detection is based on the mutual capacitance between a drive (transmitting) electrode and a sense (receiving) electrode. In this system, a grid of electrodes is used, and the capacitance is measured at each grid intersection. When a finger approaches or touches touchscreen 104, it disturbs the electric field between the electrodes, thus changing the mutual capacitance at that point, which is then detected by the system.

[0107] The main advantage of mutual capacitance sensing is its ability to accurately detect and track multiple touch points, allowing for advanced multi-touch capabilities. Due to its high resolution and precision in detecting touch inputs, it is widely used in modern touchscreens, making it suitable for applications that require complex gestures and interactions.

[0108] In contrast, self-capacitance sensing or self-sensing data involves detecting touch based on capacitance changes of a single electrode. In this method, the capacitance is measured between each electrode and ground. When a finger approaches or touches the screen, it acts as a conductive object, changing the self-capacitance of the electrode, and the system identifies the self-capacitance as a touch.

[0109] While self-capacitance sensing is simpler and less costly to implement, it is generally more difficult to accurately detect multiple simultaneous touch points compared to mutual capacitance sensing. However, it performs well in applications where simple touch interactions are sufficient and cost-effectiveness is a priority.

[0110] During the idle mode, to save power, the touchscreen 104 operates only under self-capacitance sensing type of sensing. At step 506, the device 100 determines, based on self-capacitance sensing, whether a touch is detected on the touchscreen 104, or whether noise exceeding a threshold provides a signal with the profile of a touch. In response to the system not detecting a touch or the noise not exceeding the threshold, the device 100 remains in the idle mode for the next frame.

[0111] At step 508, in response to the system detecting a touch or the noise exceeding the threshold, the device 100 transitions from the idle mode to the active mode for the frame.

[0112] At step 510, the device 100 determines, based on mutual capacitance sensing and self-sensing, whether a touch is detected on the touchscreen 104. Once in the active mode where the touchscreen 104 is fully operational and responsive to touch inputs, the device 100 will operate under the mutual capacitance sensing method and the self-sensing method for the next frame.

[0113] At step 512, in response to the device 100 detecting a touch for the frame, the touchscreen 104 correctly processes the touch interaction by the user on the touchscreen 104 for the current scan frame. At step 514, the touchscreen 104 transitions to the next scan frame while remaining in the active mode. Steps 508 and 510 are repeated for the next scan frame.

[0114] At step 516, if no touch event is detected within the threshold period (e.g., no touch event is detected in the active mode for 300 to 500 milliseconds) or after a threshold number of consecutive scan frames, device 100 will return to the idle mode at step 502 to save power and resources and maintain operational efficiency. Generally, device 100 remains in the active mode and multiple frames are analyzed for touch event detection (i.e., step 510 is repeated for multiple frames) until the threshold period or the number of scan frames is exceeded. After the threshold has been exceeded, the device is in the idle mode.

[0115] In an embodiment, the scan rate for the idle mode is less than the scan rate for the active mode. For example, in the idle mode, touch screen 104 has a scan rate of 120 Hz, which results in self-sensing reporting a response every 8.3 ms. In the active mode, touch screen 104 has a scan rate of 240 Hz, which results in self-sensing and mutual capacitance sensing reporting a response every 4.16 ms.

[0116] Figure 6 A flowchart of an exemplary method 600 for operating touch screen 104 in the idle mode and determining when to transition to the active mode is illustrated. At step 602, device 100 initially operates in the idle mode. At step 604, as described herein with respect to Figure 4 the adaptive frame filter processing of method 400 is used to determine which type of filtering is to be used for the raw data for the current frame.

[0117] While device 100 is in the idle mode, the adaptive frame filter processing is implemented on each row (or column) of the current frame. Based on the adaptive frame filter processing, the determined filtering type is applied to the raw data and a modified data set is generated. In an embodiment, the adaptive frame filter processing is applied to the raw data input collected using self-capacitance sensing during the idle mode.

[0118] At step 606, device 100 uses the adaptive frame filter processing to determine whether a touch event has occurred based on the modified data set as a result of the filtering type determined at step 604. In an embodiment, the threshold for determining which type of filtering to apply to the raw data using the adaptive frame filter processing is determined based on machine learning.

[0119] Advantageously, by detecting touch events during the idle mode using method 600, device 100 operates with higher accuracy, which minimizes the false transition from the idle mode to the active mode based on noise.

[0120] At step 608, in response to detecting a touch event based on the modified data set using the adaptive frame filter processing at step 606, the device 100 transitions from the idle mode to the active mode. However, in response to not detecting a touch event based on the modified data set using the adaptive frame filter processing at step 608, the device remains in the idle mode for the next scan frame.

[0121] Figure 7 A flow chart of an embodiment method 700 for operating a touch screen 104 in an active mode and determining when to transition to an idle mode is illustrated. At step 702, the device 100 initially operates in an active mode. In an embodiment, the current scanning frame is a scanning frame that occurs immediately after transitioning from the idle mode to the active mode based on the results from the method 600.

[0122] In an environment with high ambient noise, such as electrical noise or RF (radio frequency) interference from other electronic devices, the touch screen 104 may falsely detect touches or miss real touch inputs. In an embodiment, adaptive frame filtering, adaptive touch report delay, and adaptive frame drop as disclosed herein mitigate these problems by fitting a regression model to the raw data, using machine learning to determine a threshold, and using coefficients for the threshold to filter the noise and ignore touch processing for one or more scanned frames. This allows the touch screen 104 to adapt to different noise levels in real time, distinguish actual touches from noise, and ensure consistent and accurate touch responses.

[0123] In an embodiment, the coefficients of the cubic terms of the determined third-order polynomial (ie, coefficients β 3 ) and the coefficients of the linear terms of the third-order polynomial (i.e., the coefficients β 1 ) provides noise level information for each row or column of the current scan frame. These coefficients are used in steps 704, 706 and 708.

[0124] At step 704, according to the Figure 4 The adaptive frame filter process of the described method 400 is used to determine which type of filtering is used for the raw data of the current frame. While the device 100 is in active mode, the adaptive frame filter process is implemented on each row (or column) of the current frame. For each row or column of the current scan frame, the raw data is fitted into a regression model. The coefficients of the regression model are then used for a threshold value to determine the type of filtering. The determined filtering is then applied to the raw data.

[0125] Advantageously, by using adaptive frame filter processing to determine the type of filtering to be applied to the raw data, device 100 operates with higher accuracy, which minimizes false touch detection based on noise in the active mode. Based on the adaptive frame filter processing, the determined type of filtering is applied to the raw data and a modified data set is generated.

[0126] In an embodiment, the adaptive frame filter processing is implemented on the raw data input collected using only mutual capacitance sensing during only the active mode. In an embodiment, the self-sensing mode is disabled during the active mode unless certain metrics disclosed herein are met. By remaining only in the mutual capacitance sensing mode and analyzing only one set of raw data, device 100 reduces computational and power demand resources while improving the data processing response time. In an embodiment, the threshold for determining which type of filtering to apply to the raw data using the adaptive frame filter processing is determined based on machine learning.

[0127] In an embodiment, for each row or column of the current scan frame, the sum of the weighted absolute values of coefficient β 3 and coefficient β 1 is calculated: (w 0 × abs(β 3 ) + w 1 × abs(β 1 )), where w 0 and w 1 are the weights for coefficient β 3 and coefficient β 1 respectively. In an embodiment, the weights w 0 and w 1 are determined using machine learning. In an embodiment, the weights w 0 and w 1 are predetermined values. In an embodiment, the weights w 0 and w 1 are stored in a memory. In an embodiment, the weights w 0 and w 1 are configurable values.

[0128] In one embodiment, for each row or column of the current scan frame, the sum of the weighted absolute values of coefficient β 3 and coefficient β 1 (w 0 × abs(β 3 ) + w 1 × abs(β 1 )) is compared with a threshold determined using machine learning. In an embodiment, the threshold is determined offline. If the calculated weighted absolute value of coefficient β 3 and the weighted absolute value of coefficient β 1The sum of weighted absolute values β 1 (w 0 × abs(β 3 ) + w 1 × abs(β 1 )) is greater than the threshold for any row or column of the current scan frame, then device 100 enables the self - sensing mode for touch screen 104, and adaptive frame filter processing is implemented on the raw data input collected during the active mode using self - capacitance sensing. Otherwise, device 100 simply remains in the mutual - scan sensing mode. For each row or column, this determination can be mathematically represented as: w 0 × abs(β 3 ) + w 1 × abs(β 1 ) > threshold_1 → Enable SelfSensing.

[0129] Once self - sensing is enabled, if the sum of the weighted absolute values of the calculated coefficient β 3 and the weighted absolute value of the coefficient β 1 (w 0 × abs(β 3 ) + w 1 × abs(β 1 )) is below the threshold for the subsequent scan frame, then device 100 disables the self - sensing mode for touch screen 104. For each row or column of the next frame, this determination can be mathematically represented as: w 0 × abs(β 3 ) + w 1 × abs(β 1 ) < threshold_2 → Disable Self Sensing, and threshold_2 < threshold_1.

[0130] In an embodiment, at step 706, adaptive touch report latency processing is implemented in the active mode to determine whether to change the result of touch detection analysis for a specific number of frames. In the adaptive touch report latency processing, regression analysis is performed on the raw data set, similar to the adaptive frame filter processing. The coefficients of the regression model regarding the raw data are used to be compared with a threshold to determine whether to change the result of touch detection analysis for a specific number of frames. In an embodiment, the threshold for the adaptive touch report latency processing is based on machine learning. The adaptive touch report latency processing is described in more detail with respect to Figure 8 is described in more detail.

[0131] In an embodiment, at step 708, adaptive frame dropping processing is implemented in the active mode to determine whether to skip the touch detection analysis for the current frame. In the adaptive frame dropping processing, a regression analysis is performed on the original data set, similar to the adaptive frame filter processing and the adaptive touch report latency processing. The coefficients of the regression model regarding the original data are used to be compared with a threshold to determine whether to skip the touch detection analysis for the current frame. In an embodiment, the threshold for the adaptive frame dropping processing is based on machine learning. The adaptive frame dropping processing is further described in detail with respect to Figure 9 is further described in detail.

[0132] Steps 706 and 708 are collectively referred to as adaptive noise rejection in the present disclosure herein. Advantageously, when determining a touch event in the active mode, the adaptive frame filter processing at step 704, the adaptive touch report latency processing at step 706, and the adaptive frame dropping processing at step 708 reject false touch detections. This improves the noise immunity of the device 100 when operating in the active mode. In an embodiment, steps 706 and 708 are completed in parallel. In an embodiment, steps 706 and 708 are sequentially completed in any order. Steps 704, 706, and 708 advantageously use machine learning to determine the thresholds for rejecting false touch detections in the active mode.

[0133] At step 710, a check is made to determine whether all rows or columns of the current scanned frame have been analyzed based on steps 704, 706, and 708. If all rows or columns of the current scanned frame have not been analyzed, steps 704 to 708 are repeated until the adaptive frame filter processing, the adaptive touch report latency processing, and the adaptive frame dropping processing are completed on all rows and columns of the current scanned frame.

[0134] Once the entirety of the rows and columns of the current scanned frame has been analyzed, a touch or no-touch event is determined at step 712.

[0135] In response to the following, it is determined that no touch event is detected: (i) the analysis of the modified data set based on the filtering determined using the adaptive frame filter processing at step 704 indicates a touch event (touch or noise on all rows and columns of the touch screen), (ii) the adaptive touch report latency processing at step 706 indicates a change in the result of the touch detection analysis for a specific number of frames, or (iii) the adaptive frame dropping processing at step 708 indicates skipping the touch detection analysis for the current frame.

[0136] Touch event detection is determined in response to the following: (i) analysis of the modified data set based on the filtering determined using the adaptive frame filter processing at step 704 indicates a touch event (touch or noise on the touch screen for all rows and columns), (ii) the adaptive touch report latency processing at step 706 indicates no change to the result of the touch detection analysis for a specific number of frames, and (iii) the adaptive dropped frame processing at step 708 indicates not to skip the touch detection analysis for the current frame.

[0137] In response to the adaptive dropped frame processing at step 708 indicating to skip the touch detection analysis for the current frame, it is determined that no touch event is detected.

[0138] In response to the analysis of the modified data set based on the filtering determined using the adaptive frame filter processing at step 704 indicating no touch event, the results of the adaptive touch report latency processing at step 706 and the adaptive dropped frame processing at step 708 are ignored.

[0139] At step 714, in response to touch event detection, the controller 102 or the processor 110 processes and analyzes the raw data or the modified data set to determine, for example, the type of gesture and interaction by the user on the touch screen 104.

[0140] No touch event detection is determined in response to the following: (i) analysis of the modified data set based on the filtering determined using the adaptive frame filter processing indicates no touch event (no touch or noise on the touch screen for all rows and columns), (ii) the adaptive touch report latency processing indicates to skip the touch detection analysis for a specific number of frames, or (iii) the adaptive dropped frame processing indicates to skip the touch detection analysis for the current frame. In an embodiment, at step 712, in response to determining no touch event at step 704, the results from steps 706 and 708 are ignored.

[0141] At step 716, in response to no touch event detection, the controller 102 or the processor 110 analyzes the raw data and the modified data set to determine the type of gesture and interaction by the user on the touch screen 104.

[0142] At step 718, the adaptive scan rate processing is implemented in an active mode, where the scan rate is updated based on touch event or no touch event detection.

[0143] In response to no touch event being detected within a threshold period or no touch event being detected for a threshold number of consecutive frames, device 100 transitions to an idle mode (i.e., step 602 of method 600). However, if a touch event occurs or no touch event occurs within a period less than the threshold period or before a threshold number of frames, device 100 remains in the active mode and method 700 is repeated for the next frame.

[0144] At an adaptive scan rate, before transitioning to the idle mode, based on touch detection during the active mode, the threshold period, the scan rate, or both are decreased. If device 100 transitions from the idle mode to the active mode and no touch is detected in the active mode within a first threshold period, the device transitions to the idle mode. The first threshold period is decreased compared to the threshold period set in the conventional method 500 (i.e., step 516). In an embodiment, the first threshold period for method 700 is set to one-tenth of the threshold period in the conventional method. Thus, if no touch event is detected within the first threshold period, device 100 transitions to the idle mode faster to reduce the power consumption of device 100.

[0145] If device 100 transitions from the idle mode to the active mode and a touch is detected in the active mode, a second threshold period is set, where if device 100 does not detect a touch event during the second threshold period, device 100 transitions to the idle mode. During the second threshold period, for a first part, the scan rate is set to the same scan rate as during the scan mode, but for a second part, the scan rate is set to a lower scan rate. Thus, if no touch is even detected within the second threshold period, device 100 transitions to the idle mode, but as the scan rate decreases during the second part, the power consumption of device 100 is reduced because the power consumption for a lower scan rate is reduced. Note that if device 100 detects a touch event during the second part, the scan rate returns to the original, higher scan rate.

[0146] In a conventional system, when a device transitions from the idle mode to the active mode, the scan rate does not change before the device transitions back to the idle mode from the active mode. For example, assume the device operates at a scan rate of 240 Hz for a duration of 0.5 seconds (i.e., in the case where no touch event is detected at step 516, the threshold period is equal to 0.5 seconds), then the number of frames is 120 (i.e., 240 × 0.5). If the power consumption for each scan rate is 0.004 mW, the power consumption of the device is equal to 0.48 mW (i.e., 120 × 0.004). Thus, before the threshold period elapses without a touch report, the device consumes 0.48 mW regardless of whether a touch report occurs in the active mode.

[0147] Conversely, the device 100 operating at an adaptive scan rate according to method 700 has a variable scan rate when operating in the active mode based on the touch reports of steps 704, 706, and 708. For example, assuming the device operates at a scan rate of 240 Hz in the active mode, the device 100 (i) transitions from the idle mode to the active mode and, if no touch is detected during the duration of the active mode, directly returns to the idle mode, or (ii) transitions from the idle mode to the active mode, and a touch is detected in the active mode, and then transitions from the active mode to the idle mode after a touch-free event duration.

[0148] In the first scenario (i), the scan rate remains the same as in a conventional device, but before the device transitions to the idle mode, the duration for which the device remains in the active mode is reduced to 0.05 seconds, corresponding to 12 frames (i.e., 240 × 0.05). If the power consumption for each scan rate is 0.004 mW, the device 100 has a power consumption equal to 0.048 mW (i.e., 12 × 0.004), corresponding to a 90% reduction in power consumption (i.e., 0.48 mW versus 0.048 mW).

[0149] In the second scenario (ii), the duration for which the device remains in the active mode (0.5 seconds) is the same as in a conventional device, but the scan rate varies from 240 Hz for the first period (e.g., 0.25 seconds) (corresponding to a frame count of 60 (e.g., 240 × 0.25)) to 180 Hz for the second period (e.g., 0.25 seconds) (corresponding to a frame count of 45 (e.g., 180 × 0.25)). Assuming the power consumption for each scan rate at 240 Hz is 0.004 mW and the power consumption for each scan rate at 180 Hz is 0.002 mW, for a total power consumption of 0.33 mW, the device 100 has a power consumption equal to 0.24 mW (i.e., 60 × 0.004) for the first duration and a power consumption equal to 0.09 mW (i.e., 45 × 0.002) for the second duration, corresponding to a power consumption reduction of greater than 30% (i.e., 0.42 mW versus 0.48 mW).

[0150] Figure 8 The flowchart of an example method 800 for adaptive touch report latency processing is illustrated. In an example, method 800 is implemented as step 706 of method 700. Adaptive touch report latency processing is implemented in the active mode to change the result of touch detection analysis for a specific number of frames. Specifically, a touch report (i.e., indicating a touch event) is reported only after a number of consecutive frames with valid mutual strength are continuously detected. If any of these frames is invalid, the touch report is discarded (i.e., indicating no touch event). In an example, the number of frames is determined using machine learning.

[0151] At step 802, similar to the adaptive frame filter processing step, the raw data for each row or column of the current scan frame is fitted into a regression model. In an embodiment, for each row or column of the current scan frame, the coefficients of the cubic term (i.e., coefficient β 3 ) and the coefficients of the linear term (i.e., coefficient β 1 ) are determined. Based on the coefficient values, two methods for triggering an adaptive touch reporting delay are proposed herein, and these two methods can be implemented separately or in combination.

[0152] At step 804, in the first method, for each row or column of the current scan frame, the absolute value of the coefficient of the cubic term (abs(β 3 )) is calculated. In one embodiment, for each row or column of the current scan frame, the absolute value of the coefficient of the cubic term (abs(β 3 )) is compared with a first threshold determined using machine learning. In an embodiment, the first threshold is determined offline. If the calculated absolute value of the coefficient of the cubic term (abs(β 3 )) is greater than the first threshold for any row or column of the current scan frame, the adaptive touch reporting delay is triggered, indicating that device 100 changes the result of the touch detection analysis for a specific number of frames. For each row or column, this determination can be mathematically represented as: (abs(β 3 )) > first threshold → Trigger Adaptive TouchReporting Delay.

[0153] In a second embodiment, the maximum value (max(abs(β 3 ))) of the absolute values of the coefficients of the cubic term for all rows and columns of the current scan frame is first calculated and then compared with the first threshold. If the calculated maximum value of the absolute value of the coefficient of the cubic term for the current scan frame (max(abs(β 3 ))) is greater than the first threshold, the adaptive touch reporting delay is triggered, indicating that device 100 changes the result of the touch detection analysis for a specific number of frames. This determination can be mathematically represented as: max(abs(β 3 )) > first threshold → Trigger Adaptive TouchReportingDelay.

[0154] At step 806, in the second method, for each row or column of the current scan frame, the sum of the weighted absolute values of coefficient β 3 and the weighted absolute value of coefficient β 1 is calculated (w0 × abs(β 3 ) + w 1 × abs(β 1 ))), where w 0 and w 1 are weights for coefficient β 3 and coefficient β 1 respectively. In an embodiment, weights w 0 and w 1 are determined using machine learning. In an embodiment, weights w 0 and w 1 are predetermined values. In an embodiment, weights w 0 and w 1 are stored in a memory. In an embodiment, weights w 0 and w 1 are configurable values.

[0155] In one embodiment, for each row or column of the current scan frame, the sum of the weighted absolute values of coefficient β 3 and coefficient β 1 (w 0 × abs(β 3 ) + w 1 × abs(β 1 )) is compared with a second threshold determined using machine learning. In an embodiment, the second threshold is determined offline. If the sum of the weighted absolute values of coefficient β 3 and coefficient β 1 (w 0 × abs(β 3 ) + w 1 × abs(β 1 )) for any row or column of the current scan frame is greater than the second threshold, an adaptive touch reporting delay is triggered, indicating that device 100 changes the result of touch detection analysis for a specific number of frames. For each row or column, this determination can be mathematically represented as:

[0156] w 0 × abs(β 3 ) + w 1 × abs(β 1 ) > second threshold →

[0157] Trigger Adaptive TouchReporting Delay.

[0158] In a second embodiment, for all rows and columns of the current scan frame, the sum of the weighted absolute values of coefficient β 3 and coefficient β 1The maximum value of the sum of weighted absolute values (max(w 0 × abs(β 3 )) + w 1 × abs(β 1 ))) is first calculated and then compared with a second threshold. If the calculated weighted absolute value of the coefficient β 3 for the current scan frame and the maximum value of the sum of the weighted absolute values of the coefficient β 1 (max(w 0 × abs(β 3 )) + w 1 × abs(β 1 ))) are greater than the second threshold, the adaptive touch delay is triggered, indicating that device 100 changes the result of touch detection analysis for a specific number of frames. For each row or column, this determination can be mathematically expressed as: max(w 0 × abs(β 3 )) + w 1 × abs(β 1 )) > second threshold → Trigger Adaptive TouchReporting Delay.

[0159] In an embodiment, only mutual sensing data is used for adaptive touch reporting delay, rather than mutual sensing and self-sensing data. In an embodiment, in response to the sum of the weighted absolute value of the coefficient β 3 calculated for the current row or column and the weighted absolute value of the coefficient β 1 (w 0 × abs(β 3 )) + w 1 × abs(β 1 )) exceeding the threshold, self-sensing is enabled. Using only mutual sensing reduces the power consumption of device 100 for touch detection in the active mode. The adaptive touch reporting delay advantageously improves the noise immunity to reject false touch detections from noisy data. In an embodiment, self-sensing is enabled in response to exceeding the threshold and is used in combination with the adaptive touch reporting delay to reject false touch detections in the case of large noise.

[0160] Therefore, the adaptive touch reporting delay reports touch events after continuously detecting multiple frames with a verified mutual sensing intensity. Conversely, if any frame within the multiple frames includes an invalid mutual sensing intensity, no touch event is detected, thereby preventing the system from recording inaccurate or unexpected interactions. This method ensures a higher level of accuracy and reliability of touch reporting by accepting only continuous sequences of valid sensing data and rejecting any sequences interrupted by invalid data.

[0161] Assume that in an example scenario, we have four consecutive frames: the first two frames wrongly suggest a touch event due to noise, and the last two frames correctly show no touch. In a conventional system, the device controller would wrongly detect a touch event for the first two frames, causing the controller to perform touch analysis for each frame and resulting in power consumption. In contrast, for the adaptive touch reporting delay process proposed in method 800, where the number of frames to be skipped in response to triggering the adaptive touch reporting delay is 2, the first two frames are changed to no touch event and switched to the idle mode faster, and the power consumption is reduced accordingly.

[0162] Assume that in a second example scenario, we have four consecutive frames, and all four frames correspond to a user's touch event. In a conventional system, the device controller would detect a touch event for each of the four frames. In contrast, for the adaptive touch reporting delay process proposed in method 800, where the number of frames to be skipped in response to triggering the adaptive touch reporting delay is 2, the first two frames are changed to no touch event, which improves the accuracy of touch compared to the noise scenario. This is because the initial frame is the initial moment of finger contact, which may not have the accuracy of a touch event due to the finger having little contact at that initial frame.

[0163] Figure 9 A flowchart of an example method 900 for adaptive frame dropping processing is illustrated. In an embodiment, method 900 is implemented as step 708 of method 700. The adaptive frame dropping processing is implemented in the active mode to determine whether to skip the touch detection analysis for the current scanned frame.

[0164] At step 902, similar to the adaptive frame filter processing and adaptive touch reporting delay processing steps, the raw data for each row or column of the current scanned frame is fitted into a regression model. In an embodiment, for each row or column of the current scanned frame, the coefficient of the cubic term (i.e., coefficient β 3 ) and the coefficient of the linear term (i.e., coefficient β 1 ) are determined. Based on the coefficient values, two methods for triggering adaptive frame dropping are proposed herein, and these two methods can be implemented separately or in combination.

[0165] At step 904, in the first method, for each row or column of the current scanned frame, the absolute value of the coefficient of the cubic term (abs(β 3 )) is calculated. In one embodiment, for each row or column of the current scanned frame, the absolute value of the coefficient of the cubic term (abs(β 3)) is compared with a first threshold determined using machine learning (different from the first threshold for the adaptive touch reporting latency in method 800). In an embodiment, the first threshold is determined offline. If the absolute value of the calculated coefficient for the cubic term is greater than the first threshold for any row or column of the current scan frame, adaptive frame dropping is triggered, indicating that device 100 skips the touch detection analysis for the current frame. For each row or column, this determination can be mathematically represented as: (abs(β 3 )) > first threshold → Trigger Adaptive Frame Drop.

[0166] In a second embodiment, the maximum value (max(abs(β 3 )))) of the absolute values of the coefficients of the cubic terms for all rows and columns of the current scan frame is first calculated and then compared with the first threshold. If the calculated maximum value (max(abs(β 3 )))) of the absolute values of the coefficients of the cubic terms for the current scan frame is greater than the first threshold, adaptive frame dropping is triggered, indicating that device 100 skips the touch detection analysis for the current frame. This determination can be mathematically represented as: max(abs(β 3 )) > first threshold → Trigger Adaptive Frame Drop.

[0167] At step 906, in a second method, for each row or column of the current scan frame, the sum (w 3 × abs(β 1 ) + w 0 × abs(β 3 )) of the weighted absolute values of the coefficient β 1 and the weighted absolute value of the coefficient β 1 is calculated, where w 0 and w 1 are the weights for the coefficient β 3 and the coefficient β 1 , respectively. In an embodiment, the weights w 0 and w 1 are determined using machine learning. In an embodiment, the weights w 0 and w 1 are predetermined values. In an embodiment, the weights w 0 and w 1 are stored in the memory. In an embodiment, the weights w 0 and w 1 are configurable values. In an embodiment, the weights w 0 and w 1The same weights as those used in the adaptive touch reporting latency of method 800.

[0168] In one embodiment, for each row or column of the current scan frame, the weighted absolute value of coefficient β 3 is summed with the weighted absolute value of coefficient β 1 (w 0 × abs(β 3 ) + w 1 × abs(β 1 ) and compared with a second threshold determined using machine learning (different from the second threshold for the adaptive touch reporting latency in method 800). In an embodiment, the second threshold is determined offline. If the sum of the weighted absolute values of the calculated coefficient β 3 and the weighted absolute value of coefficient β 1 (w 0 × abs(β 3 ) + w 1 × abs(β 1 ) is greater than the second threshold for any row or column of the current scan frame, then adaptive frame dropping is triggered, indicating that device 100 skips the touch detection analysis for the current frame. For each row or column, this determination can be mathematically represented as: w 0 × abs(β 3 ) + w 1 × abs(β 1 ) > second threshold →

[0169] Trigger Adaptive Frame Drop.

[0170] In a second embodiment, for all rows and columns of the current scan frame, the maximum value of the sum of the weighted absolute value of coefficient β 3 and the weighted absolute value of coefficient β 1 (max(w 0 × abs(β 3 ) + w 1 × abs(β 1 ))) is first calculated and then compared with the second threshold. If the calculated maximum value of the sum of the weighted absolute value of coefficient β 3 and the weighted absolute value of coefficient β 1 (max(w 0 × abs(β 3 ) + w 1 × abs(β 1 )) is greater than the second threshold, then adaptive frame dropping is triggered, indicating that device 100 skips the touch detection analysis for the current frame. For each row or column, this determination can be mathematically represented as: max(w0 × abs(β 3 ) + w 1 × abs(β 1 )) > second threshold →

[0171] Trigger Adaptive Frame Drop。

[0172] In an embodiment, only the mutual sensing data is used for adaptive frame dropping, rather than the mutual sensing and self-sensing data. Using only mutual sensing reduces the power consumption of device 100 for touch detection in the active mode. Adaptive frame dropping advantageously improves the noise immunity to reject false touch detections from noisy data.

[0173] Accordingly, the adaptive frame dropping reports a touch event after detecting multiple frames with a verified mutual sensing strength. Conversely, if a frame has an invalid mutual sensing strength, no touch event is detected, thus preventing the system from recording inaccurate or unexpected interactions. The method ensures a higher level of accuracy and reliability in touch reporting by accepting only valid sensing data and rejecting any sequences interrupted by invalid data.

[0174] In an embodiment, the first threshold for adaptive frame dropping in method 900 is greater than the first threshold for adaptive touch reporting latency in method 800. In such an embodiment, adaptive frame dropping is triggered only in the current frame or in frames after the adaptive touch reporting latency is triggered.

[0175] In an embodiment, the second threshold for adaptive frame dropping in method 900 is greater than the second threshold for adaptive touch reporting latency in method 800. In such an embodiment, adaptive frame dropping is triggered only in the current frame or in frames after the adaptive touch reporting latency is triggered.

[0176] In an embodiment, the threshold for enabling self-sensing in method 700 is less than the second threshold for adaptive frame dropping in method 900, but greater than the second threshold for adaptive touch reporting latency in method 800. In such an embodiment, since the threshold for enabling self-sensing is less than the second threshold for adaptive frame dropping, the adaptive frame dropping in method 900 uses the raw data from both mutual sensing and self-sensing for touch reporting.

[0177] Assume that in an example scenario we have four consecutive frames: due to noise, the second frame erroneously suggests a touch event, and the first and the last two frames correctly show no touch. In a conventional system, the device controller would erroneously detect a touch event for the second frame, causing the controller to perform touch analysis on the frames and resulting in power consumption. In contrast, with the adaptive frame dropping process proposed in method 900, the second frame is bypassed, no touch analysis is performed, and power consumption is reduced accordingly.

[0178] Note that all steps outlined in the method flowcharts are not necessarily required and can be optional. Additionally, changes to the step arrangements, removal of one or more steps and path connections, and addition of steps and path connections are similarly considered.

[0179] A first aspect relates to a method for operating a touch screen in an active mode. The method includes: performing a regression analysis on each subset of a dataset of a current scan frame for the touch screen, each subset of the dataset corresponding to an input of a respective row of a matrix from a sensor at time k, the regression analysis generating a set of coefficients; applying a filter transformation to each subset of the dataset based on a comparison between the set of coefficients and a first threshold to generate an output matrix; determining whether to perform touch analysis by a user on the touch screen based on the output matrix; determining frame dropping, determining that frame dropping corresponds to determining whether to skip the current frame for touch analysis based on a comparison between the set of coefficients and a second threshold; and determining touch latency, determining that touch latency corresponds to determining whether to change the results of a first number of subsequent frames for touch analysis based on a comparison between the set of coefficients and a third threshold.

[0180] In a first implementation form of the method according to the first aspect, the first threshold, the second threshold, and the third threshold are determined offline using machine learning.

[0181] In a second implementation form of the method according to the first aspect, or in any previous implementation form according to the first aspect, determining the first threshold, the second threshold, and the third threshold includes determining a range of values for the set of coefficients according to various models associated with the interaction with the sensor matrix.

[0182] In a third implementation form of the method according to the first aspect or any previous implementation form of the first aspect, the sensor matrix is a sensor of a capacitive touch screen, and the method further includes determining touch detection or touch tracking based on the updated output matrix in response to not determining to skip the current frame or change the results of a first number of subsequent frames for touch analysis.

[0183] In a fourth implementation of the method according to the first aspect or any previous implementation of the first aspect, the method includes: after a first duration immediately following a transition from an idle mode to an active mode, transitioning the touch screen from the active mode to the idle mode. The transition is responsive to the absence of a touch event, the absence of dropped frames for consecutive frames during the first duration, the absence of touch latency for consecutive frames during the first duration, or a combination thereof.

[0184] In a fifth implementation of the method according to the first aspect or any previous implementation of the first aspect, the method includes: after a second duration, which is longer than the first duration, transitioning the touch screen from the active mode to the idle mode, the transition being responsive to first detecting a touch event and then failing to detect a touch event. The transition has a duration equal to the second duration and starts immediately after the frame in which the most recent touch event was detected. The transition is also responsive to, during the second duration, the absence of a touch event, the absence of dropped frames for consecutive frames during the first duration, the absence of touch latency for consecutive frames, or a combination thereof.

[0185] In a sixth implementation of the method according to the first aspect or any previous implementation of the first aspect, it further includes setting the touch screen to a first scan rate for a first portion of the second duration and setting the touch screen to a second scan rate for a second portion of the second duration that follows the first portion, the second scan rate being less than the first scan rate.

[0186] A second aspect relates to a device. The device includes: a grid sensor, the grid sensor including a matrix of sensors arranged in a grid; a non-transitory memory storage device, the non-transitory memory storage device including instructions; and a processor, the processor communicating with the non-transitory memory storage device and the grid sensor, wherein the instructions, when executed by the processor, cause the processor: perform a regression analysis on each subset of a data set of a current scan frame for a touch screen, each subset of the data set corresponding to an input from a respective row of the matrix of sensors at time k, the regression analysis generating a set of coefficients; apply a filter transformation to each subset of the data set based on a comparison between the set of coefficients and a first threshold to generate an output matrix; determine whether to perform a touch analysis by a user on the touch screen based on the output matrix; determine dropped frames, the determination of dropped frames corresponding to determining whether to skip the current frame for touch analysis based on a comparison between the set of coefficients and a second threshold; and determine touch latency, the determination of touch latency corresponding to determining whether to change the results of a first number of subsequent frames for touch analysis based on a comparison between the set of coefficients and a third threshold.

[0187] In a first implementation form of the device according to the second aspect thus, the first threshold, the second threshold, and the third threshold are determined offline using machine learning.

[0188] In a second implementation form of the device according to the second aspect thus, or any previous implementation form of the second aspect thus, determining the first threshold, the second threshold, and the third threshold includes determining a range of values for a set of coefficients according to various models associated with the interaction with the matrix of the sensor.

[0189] In a third implementation form of the device according to the second aspect thus, or any previous implementation form of the second aspect thus, the matrix of the sensor is a sensor of a capacitive touch screen. When executed by a processor, the instructions cause the processor to determine touch detection or touch tracking based on the output matrix in response to determining to skip the current frame or change the results of the first number of subsequent frames for touch analysis.

[0190] In a fourth implementation form of the device according to the second aspect thus, or any previous implementation form of the second aspect thus, when executed by a processor, the instructions cause the processor to: after a first duration immediately following the transition from the idle mode to the active mode, transition the touch screen from the active mode to the idle mode. The transition is in response to the absence of a touch event, the absence of dropped frames for consecutive frames during the first duration, the absence of touch latency for consecutive frames during the first duration, or a combination thereof.

[0191] In a fifth implementation form of the device according to the second aspect thus, or any previous implementation form of the second aspect thus, when executed by a processor, the instructions cause the processor to transition the touch screen from the active mode to the idle mode after a second duration, the second duration being longer than the first duration. The transition is in response to first detecting a touch event and then failing to detect a touch event. The transition has a duration equal to the second duration and starts immediately after the frame in which the most recent touch event was detected. The transition is also in response to the absence of a touch event, the absence of dropped frames for consecutive frames during the first duration, the absence of touch latency for consecutive frames, or a combination thereof during the second duration.

[0192] In a fifth implementation form of the device according to the second aspect thus, or any previous implementation form of the second aspect thus, when executed by a processor, the instructions cause the processor to set the touch screen to a first scan rate for a first portion of the second duration and to a second scan rate for a second portion of the second duration after the first portion, the second scan rate being less than the first scan rate.

[0193] A third aspect relates to a non-transitory computer-readable medium storing computer instructions for operating a touch screen in an active mode. When the computer instructions are executed by a processor, the processor: performs a regression analysis on each subset of a data set of a current scan frame for the touch screen, each subset of the data set corresponding to an input of a respective row of a matrix from a sensor at time k, and the regression analysis generates a set of coefficients; applies a filter transformation to each subset of the data set based on a comparison between the set of coefficients and a first threshold to generate an output matrix; determines whether to perform touch analysis by a user on the touch screen based on the output matrix; determines dropped frames, where determining the dropped frames corresponds to determining whether to skip the current frame for touch analysis based on a comparison between the set of coefficients and a second threshold; and determines touch latency, where determining the touch latency corresponds to determining whether to change the results of a first number of subsequent frames for touch analysis based on a comparison between the set of coefficients and a third threshold.

[0194] In a first implementation form of the non-transitory computer-readable medium according to the third aspect as such, the first threshold, the second threshold, and the third threshold are determined offline using machine learning.

[0195] In a second implementation form of the non-transitory computer-readable medium according to the third aspect as such or any previous implementation form of the third aspect as such, determining the first threshold, the second threshold, and the third threshold includes determining a range of values for the set of coefficients according to various models associated with the interaction with the sensor matrix.

[0196] In a third implementation form of the non-transitory computer-readable medium according to the third aspect as such or any previous implementation form of the third aspect as such, the matrix of the sensor is a sensor of a capacitive touch screen. When the instructions are executed by the processor, the processor determines touch detection or touch tracking based on the output matrix in response to not determining to skip the current frame or change the results of a first number of subsequent frames for touch analysis.

[0197] In a fourth implementation form of the non-transitory computer-readable medium according to the third aspect as such or any previous implementation form of the third aspect as such, when the instructions are executed by the processor, the processor changes the touch screen from the active mode to the idle mode after a first duration immediately following the transition from the idle mode to the active mode. The transition is in response to the absence of a touch event, the absence of dropped frames for consecutive frames during the first duration, the absence of touch latency for consecutive frames during the first duration, or a combination thereof.

[0198] In such a fifth implementation of the non-transitory computer-readable medium according to the third aspect or any previous implementation of such third aspect, when the instructions are executed by a processor, the processor is caused to transition the touch screen from an active mode to an idle mode after a second duration that is longer than the first duration. The transition is in response to first detecting a touch event and then failing to detect a touch event. The transition has a duration equal to the second duration and starts immediately after the frame in which the most recent touch event was detected. The transition is also in response to there being no touch event, no dropped frames for consecutive frames during the first duration, no touch latency for consecutive frames, or a combination thereof, during the second duration.

[0199] Although the description has been described in detail, it should be understood that various changes, substitutions, and variations can be made without departing from the spirit and scope of the disclosure as defined by the appended claims. In the different figures, the same elements are designated by the same reference numerals. Additionally, the scope of the disclosure is not limited to the specific embodiments described herein, as those of ordinary skill in the art will readily understand from this disclosure that processes, machines, manufactures, compositions of matter, devices, methods, or steps, presently existing or to be developed later, can perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein. Accordingly, the appended claims are intended to include such processes, machines, manufactures, compositions of matter, devices, methods, or steps within their scope.

[0200] The specification and drawings are thus to be regarded simply as illustrations of the disclosure as defined by the appended claims and are contemplated to cover any and all modifications, variations, combinations, or equivalents falling within the scope of the disclosure.

Claims

1. A method for operating a touch screen in an active mode, the method comprising: performing a regression analysis on each subset of the data set for the current scan frame of the touch screen, each subset of the data set corresponding to an input from a corresponding row of a matrix of sensors at time k, the regression analysis generating a set of coefficients; applying a filter transform to each subset of the data set based on a comparison between the set of coefficients and a first threshold value to generate an output matrix; determining, based on the output matrix, whether to perform touch analysis by a user on the touch screen; determining to drop a frame, the determining to drop a frame corresponding to determining whether to skip the current frame for the touch analysis based on a comparison of the set of coefficients with a second threshold; as well as Determining a touch delay corresponds to determining whether to change a result of a first number of subsequent frames analyzed for the touch based on a comparison of the set of coefficients to a third threshold.

2. The method of claim 1, wherein the first threshold, the second threshold, and the third threshold are determined offline using machine learning.

3. The method of claim 2, wherein determining the first threshold, the second threshold, and the third threshold comprises: Ranges of values ​​for the set of coefficients are determined based on various models associated with interaction with the matrix of sensors.

4. The method according to claim 1, wherein the matrix of sensors is sensors of a capacitive touch screen, the method further comprising: In response to not determining to skip the current frame or to change the result of the first number of the subsequent frames analyzed for the touch, touch detection or touch tracking is determined based on the updated output matrix.

5. The method according to claim 1, further comprising: After a first duration immediately following the transition from the idle mode to the active mode, the touch screen is transitioned from the active mode to the idle mode, the transition being in response to the absence of a touch event, the absence of frame drop for consecutive frames during the first duration, the absence of touch delay for consecutive frames during the first duration, or a combination thereof.

6. The method according to claim 5, further comprising: Transitioning the touch screen from an active mode to an idle mode after a second duration, the second duration being longer than the first duration, the transition being in response to first detecting a touch event and then failing to detect a touch event, the transition having a duration equal to the second duration and starting immediately after a frame in which a most recent touch event was detected, wherein the transition is also in response to, during the second duration, an absence of touch events, an absence of frame drops for consecutive frames during the first duration, an absence of touch delays for consecutive frames, or a combination thereof.

7. The method according to claim 6, further comprising: The touch screen is set to a first scan rate for a first portion of the second duration, and the touch screen is set to a second scan rate for a second portion of the second duration after the first portion, the second scan rate being less than the first scan rate.

8. A device comprising: a grid sensor comprising a matrix of sensors arranged in a grid; a non-transitory memory storage device comprising instructions; and a processor in communication with the non-transitory memory storage device and the grid sensor, wherein the instructions, when executed by the processor, cause the processor to: performing a regression analysis on each subset of the data set for the current scan frame of the touch screen, each subset of the data set corresponding to an input from a corresponding row of the matrix of sensors at time k, the regression analysis generating a set of coefficients, applying a filter transform to each subset of the data set based on a comparison between the set of coefficients and a first threshold value to generate an output matrix, determining whether to perform a touch analysis on the touch screen by a user based on the output matrix, determining to drop a frame, the determining to drop a frame corresponding to determining whether to skip the current frame for the touch analysis based on a comparison of the set of coefficients with a second threshold, and Determining a touch delay corresponds to determining whether to change a result of a first number of subsequent frames analyzed for the touch based on a comparison of the set of coefficients to a third threshold.

9. The apparatus of claim 8, wherein the first threshold, the second threshold, and the third threshold are determined offline using machine learning.

10. The apparatus of claim 9, wherein determining the first threshold, the second threshold, and the third threshold comprises: Ranges of values ​​for the set of coefficients are determined based on various models associated with interaction with the matrix of sensors.

11. A device according to claim 8, wherein the matrix of sensors is a sensor of a capacitive touch screen, and wherein the instructions, when executed by the processor, cause the processor to determine touch detection or touch tracking based on the output matrix in response to not determining to skip the current frame or change the result of the first number of subsequent frames for the touch analysis.

12. The device of claim 8, wherein the instructions, when executed by the processor, cause the processor to transition the touch screen from an active mode to an idle mode after a first duration immediately following the transition from an idle mode to an active mode, the transition being in response to an absence of a touch event, an absence of frame drop for consecutive frames during the first duration, an absence of touch delay for consecutive frames during the first duration, or a combination thereof.

13. The device of claim 12, wherein the instructions, when executed by the processor, cause the processor to transition the touch screen from an active mode to an idle mode after a second duration, the second duration being longer than the first duration, the transition being in response to first detecting a touch event and then failing to detect a touch event, the transition having a duration equal to the second duration and starting immediately after a frame in which a most recent touch event was detected, wherein the transition is also in response to, during the second duration, an absence of touch events, an absence of frame drops for consecutive frames during the first duration, an absence of touch delays for consecutive frames, or a combination thereof.

14. A device according to claim 12, wherein the instructions, when executed by the processor, cause the processor to set the touch screen to a first scanning rate for a first portion of the second duration, and to set the touch screen to a second scanning rate for a second portion of the second duration that follows the first portion, the second scanning rate being less than the first scanning rate.

15. A non-transitory computer readable medium storing computer instructions for operating a touch screen in an active mode, the computer instructions, when executed by a processor, causing the processor to: performing a regression analysis on each subset of the data set for the current scan frame of the touch screen, each subset of the data set corresponding to an input from a corresponding row of a matrix of sensors at time k, the regression analysis generating a set of coefficients; applying a filter transform to each subset of the data set based on a comparison between the set of coefficients and a first threshold value to generate an output matrix; determining, based on the output matrix, whether to perform touch analysis by a user on the touch screen; determining to drop a frame, the determining to drop a frame corresponding to determining whether to skip the current frame for the touch analysis based on a comparison of the set of coefficients with a second threshold; and Determining a touch delay corresponds to determining whether to change a result of a first number of subsequent frames analyzed for the touch based on a comparison of the set of coefficients to a third threshold.

16. The non-transitory computer-readable medium of claim 15, wherein the first threshold, the second threshold, and the third threshold are determined offline using machine learning.

17. The non-transitory computer readable medium of claim 16, wherein determining the first threshold, the second threshold, and the third threshold comprises: Ranges of values ​​for the set of coefficients are determined based on various models associated with interaction with the matrix of sensors.

18. A non-transitory computer-readable medium according to claim 15, wherein the matrix of sensors is sensors of a capacitive touch screen, and wherein the instructions, when executed by the processor, cause the processor to determine touch detection or touch tracking based on the output matrix in response to not determining to skip the current frame or to change the results of the first number of subsequent frames for the touch analysis.

19. The non-transitory computer-readable medium of claim 15, wherein the instructions, when executed by the processor, cause the processor to transition the touch screen from an active mode to an idle mode after a first duration immediately following the transition from an idle mode to an active mode, the transition being in response to an absence of a touch event, an absence of frame drop for consecutive frames during the first duration, an absence of touch delay for consecutive frames during the first duration, or a combination thereof.

20. The non-transitory computer-readable medium of claim 19, wherein the instructions, when executed by the processor, cause the processor to transition the touch screen from an active mode to an idle mode after a second duration, the second duration being longer than the first duration, the transition being in response to first detecting a touch event and then failing to detect a touch event, the transition having a duration equal to the second duration and starting immediately after a frame in which a most recent touch event was detected, wherein the transition is also in response to, during the second duration, an absence of touch events, an absence of frame drops for consecutive frames during the first duration, an absence of touch delays for consecutive frames, or a combination thereof.