Data processing method and electronic equipment

By processing the capacitance data of the touch panel and multiplexing the reference point information, the problems of high power consumption and load of the touch function module in the prior art are solved, and the effect of extending the standby time of the equipment and improving the system fluency is achieved.

CN120029478AActive Publication Date: 2025-05-23HONOR DEVICE CO LTD
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
CN202311498134.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-10
Publication Date
2025-05-23
Estimated Expiration
2043-11-10

AI Technical Summary

Technical Problem

The prior art is difficult to effectively reduce the power consumption and load of touch function modules in electronic devices, resulting in a shortened device standby time and reduced system fluency.

Method used

By obtaining the capacitance data of the touch panel, the difference value data is processed to generate touch point information, and the reference point information is multiplexed when the difference value is less than the threshold, reducing unnecessary CPU occupancy time and calculation load.

Benefits of technology

This achieves reducing the CPU occupancy time and load of the touch process, thereby extending the standby time of electronic devices and improving system fluency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120029478A_ABST
    Figure CN120029478A_ABST
Patent Text Reader

Abstract

The invention provides a data processing method and electronic equipment. The method comprises the following steps: acquiring first capacitance data; obtaining first difference data corresponding to the first capacitance data based on the first capacitance data; according to the first difference value data, generating first touch point reporting information corresponding to the first capacitance data; storing the first difference value data as first reference difference value data, and storing the first touch point reporting information as first reference touch point reporting information; acquiring second capacitance data; processing the second capacitance data to obtain second difference data corresponding to the second capacitance data; determining a difference value between the second difference value data and the first reference difference value data, and recording the difference value as a first difference value; and if the first difference value is smaller than the first threshold value, using the first reference touch point reporting information as second touch point reporting information corresponding to the second capacitance data. In this way, the CPU time occupied by the touch process can be shortened, and therefore the load and power consumption of the touch process are reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of terminal equipment, and in particular to a data processing method and electronic equipment. Background Art

[0002] At present, touch is the main input method for human-computer interaction in consumer electronic devices. As end users have higher and higher requirements for the standby time and system fluency of smart electronic devices, the demand for power consumption and load reduction in various business modules has become stronger.

[0003] Touch is a function that is used very frequently in such electronic devices, and has a significant impact on the overall power consumption and load of the electronic devices. Therefore, reducing the power consumption and load of the touch function module is of great significance for extending the standby time of the electronic devices. Summary of the invention

[0004] In order to solve the above technical problems, the present application provides a data processing method and an electronic device, which reduces the load and power consumption of the touch process by reducing the CPU occupancy time of the touch process.

[0005] In the first aspect, the present application provides a data processing method, which is applied to an electronic device. The method includes: obtaining first capacitance data generated by a touch panel in an electronic device in response to a user's touch; processing the first capacitance data to obtain first difference data corresponding to the first capacitance data; generating first touch reporting information corresponding to the first capacitance data according to the first difference data; saving the first difference data as the first reference difference data, and saving the first touch reporting information as the first reference touch reporting information; obtaining second capacitance data generated by the touch panel in response to the user's touch; processing the second capacitance data to obtain second difference data corresponding to the second capacitance data; determining the difference between the second difference data and the first reference difference data, recorded as the first difference value; if the first difference value is less than the first threshold value, using the first reference touch reporting information as the second touch reporting information corresponding to the second capacitance data. In this way, the CPU time occupied by the touch process can be reduced, thereby reducing the load and power consumption of the touch process.

[0006] According to the first aspect, it also includes: performing a first processing on the second difference data to obtain a first time information and a first frame number information, the first processing is a processing related to time and frame number in the touch point reporting algorithm, and the touch point reporting algorithm is used to generate touch point reporting information according to the difference data corresponding to the capacitance data; updating the time information in the touch point reporting algorithm according to the first time information, and updating the frame number information in the touch point reporting algorithm according to the first frame number information, and the touch point reporting algorithm is used to generate touch point reporting information corresponding to the capacitance data according to the difference data corresponding to the capacitance data.

[0007] According to the first aspect, it also includes: obtaining third capacitance data generated by the touch panel in response to the user's touch; processing the third capacitance data to obtain third difference data corresponding to the third capacitance data; determining the difference value between the third difference data and the first reference difference data, recorded as the second difference value; if the second difference value is less than the first threshold, using the first reference touch point reporting information as the third touch point reporting information corresponding to the third capacitance data.

[0008] According to the first aspect, it also includes: performing a first processing on the third difference data to obtain second time information and second frame number information, the first processing is a processing related to time and frame number in the touch point reporting algorithm, and the touch point reporting algorithm is used to generate touch point reporting information according to the difference data corresponding to the capacitance data; updating the time information in the touch point reporting algorithm according to the second time information, and updating the frame number information in the touch point reporting algorithm according to the second frame number information.

[0009] According to the first aspect, it also includes: obtaining fourth capacitance data generated by the touch panel in response to the user's touch; processing the fourth capacitance data to obtain fourth difference data corresponding to the fourth capacitance data; determining the difference value between the fourth difference data and the first reference difference data, recorded as the third difference value; if the third difference value is greater than or equal to the first threshold, generating fourth touch point reporting information corresponding to the fourth capacitance data according to the fourth difference data.

[0010] According to the first aspect, after generating the fourth touch point reporting information corresponding to the fourth capacitance data, it also includes: saving the fourth difference data as the second reference difference data, and saving the fourth touch point reporting information as the second reference touch point reporting information.

[0011] According to the first aspect, before saving the fourth difference data as the second reference difference data and saving the fourth touch point reporting information as the second reference touch point reporting information, the method further includes: deleting the first reference difference data and the first reference touch point reporting information.

[0012] According to the first aspect, it also includes: obtaining fifth capacitance data generated by the touch panel in response to the user's touch; processing the fifth capacitance data to obtain fifth difference data corresponding to the fifth capacitance data; determining the difference value between the fifth difference data and the second reference difference data, recorded as the third difference value; if the third difference value is less than the first threshold, using the second reference touch point reporting information as the fifth touch point reporting information corresponding to the fifth capacitance data.

[0013] According to the first aspect, the difference value between the difference data and the difference reference data is determined in the following manner: the matrix where the difference data is located is recorded as the first matrix, and the matrix where the difference reference data is located is recorded as the second matrix; the difference value of the data in the two elements with the same position in the first matrix and the second matrix is ​​obtained; the maximum value among all the differences is found, recorded as the maximum difference, and it is determined that the difference value between the difference data and the difference reference data is equal to the maximum difference; the relationship between the difference value and the first threshold is determined in the following manner: the first threshold is determined to be a preset difference threshold; if the maximum difference is less than the difference threshold, it is determined that the difference value is less than the first threshold; or, if the maximum value is greater than or equal to the difference threshold, it is determined that the difference value is greater than or equal to the first threshold.

[0014] According to the first aspect, the difference value between the difference data and the difference reference data is determined in the following manner: the matrix where the difference data is located is recorded as the first matrix, and the matrix where the difference reference data is located is recorded as the second matrix; the difference value of the data in the same position of the first matrix and the second matrix is ​​obtained; the number of differences greater than the target value in all differences is counted, recorded as the first number, and it is determined that the difference value between the difference data and the difference reference data is equal to the first number; the relationship between the difference value and the first threshold is determined in the following manner: the first threshold is determined to be a preset second number; if the first number is less than the second number, it is determined that the difference value is less than the first threshold; or, if the first number is greater than or equal to the second number, it is determined that the difference value is greater than or equal to the first threshold.

[0015] According to the first aspect, it also includes: reporting the touch point reporting information corresponding to the capacitance data to the input system in the electronic device through the touch driver.

[0016] According to the first aspect, it also includes: generating first state information of each state in the touch point reporting algorithm according to the first difference data, and the touch point reporting algorithm is used to generate touch point reporting information according to the difference data corresponding to the capacitance data; after obtaining the second capacitance data generated by the touch panel in response to the user's touch, it also includes: if the first difference value is less than the first threshold value, setting each state in the touch point reporting algorithm according to the first state information.

[0017] According to the first aspect, the electronic device is a mobile phone, a tablet, a personal computer PC, a wearable device, a car control panel or an electric vehicle control panel.

[0018] In a second aspect, the present application provides an electronic device, comprising: a memory and a processor, wherein the memory is coupled to the processor; the memory stores program instructions, and when the program instructions are executed by the processor, the electronic device executes any one of the data processing methods of the first aspect.

[0019] In a third aspect, the present application provides a computer-readable storage medium, comprising a computer program, which, when executed on an electronic device, enables the electronic device to execute any one of the data processing methods of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 is a schematic structural diagram of an illustrative electronic device 100;

[0021] Figure 2A 1 is a software structure block diagram of an electronic device 100 according to an embodiment of the present application;

[0022] Figure 2B The following is an example diagram of an application scenario of the data processing method in this embodiment;

[0023] Figure 3 The overall interactive logic diagram of the THP scheme in this embodiment is exemplarily shown;

[0024] Figure 4 A schematic diagram of a touch algorithm processing flow of a touch algorithm service module in the THP solution of this embodiment is exemplified;

[0025] Figure 5 An exemplary flowchart of the data processing method in this embodiment is shown as an example;

[0026] Figure 6 Schematic diagram of another touch algorithm processing flow of the touch algorithm service module in the THP solution of this embodiment;

[0027] Figure 7 Another example flow chart of the data processing method in this embodiment is shown as an example;

[0028] Figure 8 Another example flow chart of the data processing method in this embodiment is shown as an example;

[0029] Fig. 9 Another example flow chart of the data processing method in this embodiment is shown as an example;

[0030] Fig.10 An example diagram of the touch reporting points and reference difference data corresponding to each frame of data during the process of the touch algorithm service module processing the 1st frame of data to the 10th frame of data;

[0031] Fig.11 For example, Figure 4 The scheme shown is Figure 6 A schematic diagram comparing the CPU time occupied by the touch process in the illustrated schemes. DETAILED DESCRIPTION

[0032] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0033] The term "and / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.

[0034] The terms "first" and "second" in the description and claims of the embodiments of the present application are used to distinguish different objects rather than to describe a specific order of objects. For example, a first target object and a second target object are used to distinguish different target objects rather than to describe a specific order of target objects.

[0035] This embodiment provides a data processing method, which can be applied to electronic devices such as mobile phones, tablets, and computers. Of course, it is not limited to these electronic devices.

[0036] In this embodiment, the structure of the electronic device can be as follows Figure 1 shown.

[0037] Figure 1 FIG. 1 is a schematic diagram of the structure of an electronic device 100 exemplarily shown. It should be understood that Figure 1 The illustrated electronic device 100 is merely one example of an electronic device, and the electronic device 100 may have more or fewer components than those shown in the figure, may combine two or more components, or may have a different configuration of components. Figure 1 The various components shown in the EMBODIMENTS 2000 may be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application specific integrated circuits.

[0038] See also Figure 1 The electronic device 100 may include: a processor 110, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, an indicator 192, a camera 193, etc.

[0039] Among them, the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0040] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0041] The controller may be the nerve center and command center of the electronic device 100. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.

[0042] A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory.

[0043] In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0044] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple groups of I2C buses. The processor 110 may be coupled to the touch sensor 180K, the charger, the flash, the camera 193, etc. through different I2C bus interfaces. For example: the processor 110 may be coupled to the touch sensor 180K through the I2C interface, so that the processor 110 communicates with the touch sensor 180K through the I2C bus interface, thereby realizing the touch function of the electronic device 100.

[0045] Among them, the touch sensor 180K is also called a "touch panel". The touch sensor 180K can be set on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, also called a "touch screen". The touch sensor 180K is used to detect touch operations acting on or near it. The touch sensor can pass the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 194. In other embodiments, the touch sensor 180K can also be set on the surface of the electronic device 100, which is different from the position of the display screen 194.

[0046] The internal memory 121 can be used to store computer executable program codes, which include instructions. The processor 110 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created during the use of the electronic device 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.

[0047] Of course, in addition to the above components, the electronic device 100 may also include other hardware components, which are not listed here one by one.

[0048] The software system of the electronic device 100 may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present application takes the Android system of the layered architecture as an example to exemplify the software structure of the electronic device 100.

[0049] Figure 2A 1 is a block diagram of the software structure of the electronic device 100 according to an embodiment of the present application.

[0050] The layered architecture of the electronic device 100 divides the software into several layers, each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system may include an application layer, an application framework layer, a system library, and a kernel layer.

[0051] The application layer can include a series of application packages.

[0052] like Figure 2A As shown, the application package may include camera, gallery, map, WLAN, music, short message, call, navigation, Bluetooth, video and other applications. Of course, these applications are only exemplary. In other embodiments, the application layer may include Figure 2A Applications not shown in the figure may also not include Figure 2A One or more applications shown in .

[0053] like Figure 2A As shown, the application framework layer may include a window manager, a resource manager, a view system, a phone manager, a content provider, a notification manager, an input system, and the like.

[0054] The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.

[0055] The view system includes visual controls, such as controls for displaying text, controls for displaying images, etc. The view system can be used to build applications. A display interface can be composed of one or more views. For example, a display interface including a text notification icon can include a view for displaying text and a view for displaying images.

[0056] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.

[0057] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.

[0058] The phone manager is used to provide communication functions of the electronic device 100, such as management of call status (including connecting, hanging up, etc.).

[0059] The notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as notifications of applications running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message is displayed in the status bar, a prompt sound is emitted, an electronic device vibrates, an indicator light flashes, etc.

[0060] Among them, the input system is used to receive the touch points reported by the touch algorithm service module in the system library.

[0061] Android Runtime includes core libraries and virtual machines. Android runtime is responsible for scheduling and management of the Android system.

[0062] The core library consists of two parts: one part is the function that needs to be called by the Java language, and the other part is the Android core library.

[0063] The application layer and the application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.

[0064] The system library may include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), touch algorithm service module, etc.

[0065] The surface manager is used to manage the display subsystem and provide the fusion of 2D and 3D layers for multiple applications.

[0066] The media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files, etc. The media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.

[0067] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.

[0068] A 2D graphics engine is a drawing engine for 2D (two-dimensional) drawing.

[0069] Among them, the touch algorithm service module can be used to execute the data processing method of the embodiment of the present application, obtain the touch point reporting, and upload the touch point reporting to the input system in the application framework layer.

[0070] The kernel layer is the layer between hardware and software.

[0071] like Figure 2A As shown, the kernel layer may include display driver, Wi-Fi driver, audio driver, touch driver, Bluetooth driver, etc.

[0072] For the functions of the touch driver, please refer to the following Figure 4 and Figure 6 Description.

[0073] Understandably, Figure 2A The layers in the software structure shown and the components included in each layer do not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer layers than shown, and each layer may include more or fewer components, which is not limited in the present application.

[0074] The data processing method of this embodiment is intended to optimize the load of the touch process on the AP (main chip) side of the touch THP solution. When the signal is stable, the reporting point and various algorithm status information of the previous frame are reused to the greatest extent, thereby reducing the CPU (Central Processing Unit) occupancy time of the touch process and achieving the purpose of reducing load and power consumption.

[0075] The state referred to by the multiplexed state information may be, for example, a moving state, an up state, a down state, and the like.

[0076] Herein, the touch point reporting information may include the following information of the point reporting: the length of the major axis, the length of the minor axis, the direction, the pressure value, the center of gravity position, etc.

[0077] Electronic devices that use touch as the main input method for human-computer interaction may include a main chip AP and a touch chip (TP IC). The main chip and the touch chip are independent of each other and data communication can be performed between the two through an interface.

[0078] Figure 2B FIG. 2 is an example diagram showing an application scenario of the data processing method in this embodiment. Figure 2B As shown, when a user is using a mobile phone, for example, in a game application in the mobile phone, the user touches the mobile phone screen. The touch panel of the mobile phone responds to the user's touch operation and generates a capacitance signal. The touch chip collects the capacitance signal. Based on the capacitance data corresponding to these capacitance signals, this embodiment can generate touch point information.

[0079] Figure 3 FIG. 1 is a schematic diagram of the overall interaction logic of the THP solution in this embodiment. Figure 3 In this embodiment, the modules involved in the THP solution include the following on the main chip side: input system (located in the application framework layer), touch algorithm service (also called TP Daemon, located in the system library) module, touch driver (TP Driver, located in the kernel layer) module, and on the touch chip side: touch chip (TP IC) and touch panel (Touch Panel).

[0080] The overall interaction logic of the THP solution is as follows:

[0081] The touch chip (TP IC) drives the touch panel (Touch Panel) to scan and collect raw capacitance data (the raw capacitance data is represented by RawData). The AP-side driver - the touch driver (TP Driver) reads the data through the SPI (Serial Peripheral Interface) interface and passes the data to the touch algorithm service (TP Daemon) module for algorithm calculation. The touch algorithm service module finally generates touch point information, and then passes the touch point information to the input system of the application framework layer Framework layer through the touch driver TP Driver.

[0082] Figure 4 FIG. 1 is a schematic diagram of a touch algorithm processing flow of the touch algorithm service module in the THP solution of this embodiment. Figure 4 In this embodiment, the processing flow of the touch algorithm service module includes the following steps:

[0083] Step (1): the touch algorithm service module TP Daemon obtains a frame of raw capacitance value data, which is recorded as FrameData.

[0084] Each frame of raw capacitance value data FrameData can be represented by a two-dimensional matrix, each element in the two-dimensional matrix corresponds to the position of a capacitance value sampling point on the touch panel, and the element value filled in the element represents the capacitance value collected at the sampling point corresponding to the element.

[0085] Step (2), the touch algorithm service module TP Daemon calls the algorithm library to process the FrameData.

[0086] The algorithm library here can be regarded as a collection of algorithms for processing FrameData.

[0087] Step (3), the algorithm library performs digital signal filtering on FrameData.

[0088] By filtering, the influence of interference signals on FrameData can be reduced, thereby improving the accuracy of touch point detection.

[0089] In step (4), the algorithm library performs a Diff value (i.e., difference) operation on the filtered FrameData to obtain the Diff value (i.e., difference) data corresponding to the filtered FrameData.

[0090] Here, the Diff value operation means: subtracting each capacitance value in FrameData from the capacitance value at the same position in the reference capacitance value data. The reference capacitance value data may be capacitance value data of each sampling point on the touch panel collected when the touch panel is not touched, or may be represented by a matrix, referred to as a reference capacitance value data matrix. The reference capacitance value data is pre-stored in the electronic device.

[0091] For example, suppose the matrix corresponding to FrameData is A, and the matrix corresponding to the reference capacitance data is B. The element value of the first row and first column in matrix A is a11, the element value of the first row and first column is a12, ...; the element value of the second row and first column is a21, the element value of the second row and second column is a22, ...; the element value of the third row and first column is a31, the element value of the third row and second column is a32, ...; and so on.

[0092] The element value of the first row and first column in matrix B is b11, the element value of the first row and first column is b12, ...; the element value of the second row and first column is b21, the element value of the second row and second column is b22, ...; the element value of the third row and first column is b31, the element value of the third row and second column is b32, ...; and so on.

[0093] The result of the algorithm library's Diff value operation on matrix A is also a matrix C, in which the element value of the first row and first column is c11, the element value of the first row and first column is c12, ...; the element value of the second row and first column is c21, the element value of the second row and second column is c22, ...; the element value of the third row and first column is c31, the element value of the third row and second column is c32, ...; and so on.

[0094] The element value cij (i, j are natural numbers) of each element in the matrix C is equal to the difference between the element aij in the i-th row and j-th column of the matrix A and the element bij in the i-th row and j-th column of the matrix B. For example, c11 is equal to the difference between a11 and b11, and c12 is equal to the difference between a12 and b12.

[0095] The calculation result matrix C of the Diff value can also be called a Diff value signal image. The calculation result matrix C of the Diff value can also be called a diff value data matrix (ie, a difference data matrix).

[0096] Step (5), perform a peak search on the signal Diff value signal image.

[0097] The signal peak value Peak in the Diff value signal image refers to each maximum value in the Diff value signal image.

[0098] Step (6), traverse the touch area TouchZone.

[0099] By traversing the touch area, the touch area is framed and selected. The detailed traversal process can be found in the description of the related art, which will not be repeated here.

[0100] Step (7), determine the touch mode.

[0101] The touch mode TouchMode may include, for example: finger touch, glove touch, palm touch, etc.

[0102] …

[0103] Step (n), generating touch point reporting information.

[0104] The touch point information generated in this step is used to indicate the location where the touch occurs.

[0105] After the touch point is generated, the touch algorithm service module sends the touch point information to the touch driver (such as Figure 3 The touch driving module then uploads the touch point reporting information to the input system so that the input system performs corresponding processing according to the touch point reporting information.

[0106] As can be seen from the above, in this embodiment, after the touch algorithm service module receives the original capacitance value data, it will first filter and perform Diff value calculation processing on the original capacitance value data, and then search for the signal peak (Peak) in the generated Diff value signal image, and then perform a series of algorithm processing such as touch area selection and touch mode determination through the signal around the Peak position, and finally generate touch point information.

[0107] In this embodiment, the touch algorithm processing flow will perform a complete set of algorithm full process operations on the original capacitance value data reported by the touch chip for each frame (for the complete set of algorithm full process, please refer to Figure 4 ), which occupies more CPU time of the main chip, so the load of the touch process is higher.

[0108] In order to reduce the CPU time occupied by the touch algorithm processing flow of the main chip and reduce the load of the touch process, the present application proposes the following embodiments.

[0109] Figure 5 FIG. 1 is a flowchart of a data processing method in this embodiment. The data processing method in this embodiment can be Figure 2A , Figure 3 The touch algorithm service module in the main chip (the touch algorithm service module executes the data processing method by occupying the resources of the CPU in the main chip) executes. When the touch algorithm service module runs the data processing method in this embodiment, the occupation time of the CPU in the main chip can be reduced and the load can be reduced. Among them, the data processing method in this embodiment executed by the touch algorithm service module belongs to the touch process.

[0110] like Figure 5 As shown, in this embodiment, the process of the data processing method may include the following steps:

[0111] S501, obtaining first capacitance data generated by a touch panel in an electronic device in response to a touch control by a user.

[0112] Here, the user's touch may be, for example, touching with a finger, touching with a glove, or touching with a palm, etc.

[0113] It should be noted that the first capacitance data in this embodiment may be the first frame of original capacitance value data received by the touch algorithm service module.

[0114] like Figure 3As shown, the touch chip uploads the collected original capacitance value data of the touch panel to the touch algorithm service module through the touch driver. In this way, the touch algorithm service module receives the original capacitance value data.

[0115] S502: Process the first capacitance data to obtain first difference data corresponding to the first capacitance data.

[0116] In this step, first difference data corresponding to the first capacitance data is obtained based on the first capacitance data.

[0117] Please refer to the above for the process of obtaining the first difference data. Figure 4 The description of step (4) in the description will not be repeated here.

[0118] In this embodiment, the process of obtaining the difference data corresponding to any capacitance data can be found in the above description. Figure 4 The description of step (4) in the description will not be repeated here.

[0119] S503, generating first touch point reporting information corresponding to the first capacitance data according to the first difference data; saving the first difference data as first reference difference data, and saving the first touch point reporting information as first reference touch point reporting information.

[0120] It should be noted that in this embodiment, "first", "second", etc. are added before the benchmark difference data in order to distinguish the changes in the benchmark difference data. In the application, the benchmark difference data has only one frame. When updated with new benchmark difference data, the old benchmark difference data is deleted and the new benchmark difference data is saved.

[0121] S504, obtaining second capacitance data generated by the touch panel in response to the user's touch.

[0122] The second capacitance data is acquired by the touch algorithm service module after acquiring the first capacitance data. That is, the time when the touch algorithm service module acquires the second capacitance data is later than the time when the touch algorithm service module acquires the first capacitance data.

[0123] S505: Process the second capacitance data to obtain second difference data corresponding to the second capacitance data.

[0124] In this step, second difference data corresponding to the second capacitance data is obtained based on the second capacitance data.

[0125] S506: Determine a difference value between the second difference data and the first reference difference data, and record it as a first difference value.

[0126] S507: If the first difference value is less than the first threshold, use the first reference touch point reporting information as the second touch point reporting information corresponding to the second capacitance data.

[0127] According to this step, when the difference value between the second difference data corresponding to the second capacitance data and the first benchmark difference data is less than the first threshold value, the touch point reporting information corresponding to the obtained first benchmark difference data (i.e., the first benchmark touch point reporting information) is directly used as the second touch point reporting information corresponding to the second capacitance data, and there is no need to perform a series of algorithm processing such as peak value search, touch area selection, touch mode determination, etc. on the second difference data, thereby reducing the processing steps, thereby reducing the time that the touch process occupies the main chip CPU, and reducing the load and power consumption of the touch process.

[0128] After step S507, the following steps may also be included:

[0129] Performing a first processing on the second difference data to obtain first time information and first frame number information, wherein the first processing is a processing related to time and frame number in a touch point reporting generation algorithm, and the touch point reporting generation algorithm is used to generate touch point reporting information according to the difference data corresponding to the capacitance data;

[0130] The time information in the touch point reporting algorithm is updated according to the first time information, and the frame number information in the touch point reporting algorithm is updated according to the first frame number information. The touch point reporting algorithm is used to generate touch point reporting information corresponding to the capacitance data according to the difference data corresponding to the capacitance data.

[0131] In this way, by updating the time information and the frame number information, the processing of the data frame after the second capacitance data can be carried out smoothly.

[0132] Among them, in this paper, the touch reporting point generation algorithm can be Figure 4 The second set of algorithms in (with the subsequent Figure 6 The first process can be Figure 4 The processing of the algorithms related to time and frame number in the second algorithm set in . That is, Figure 4 The second algorithm set in the embodiment is divided into two parts, the first part is the algorithm related to time and frame number, and the second part is the algorithm unrelated to time and frame number. The algorithm used in the first processing is the algorithm in the first part, which is very small compared to the entire second algorithm set. Therefore, the CPU time of the main chip required to execute the first processing is also very small.

[0133] For example, Figure 4 The algorithm for accumulating the number of frames in the second algorithm set belongs to the first processing.

[0134] Figure 5In the embodiment shown, the touch algorithm service module does not need to execute Figure 4 The algorithms in the second algorithm set except the algorithms related to time and frame number reduce the time occupied by the main chip CPU and reduce the load and power consumption.

[0135] Figure 6 FIG. 1 is a schematic diagram of another touch algorithm processing flow of the touch algorithm service module in the THP solution of this embodiment. Figure 6 In this embodiment, the processing flow of the touch algorithm service module includes the following steps:

[0136] Step (1): the touch algorithm service module TP Daemon obtains a frame of raw capacitance value data, which is recorded as FrameData.

[0137] This step and Figure 4 Step (1) in the illustrated embodiment is the same and will not be repeated here.

[0138] Step (2), the touch algorithm service module TP Daemon calls the algorithm library to process the FrameData.

[0139] This step and Figure 4 Step (2) in the illustrated embodiment is the same and will not be described again here.

[0140] Step (3), the algorithm library performs digital signal filtering on FrameData.

[0141] This step and Figure 4 Step (3) in the illustrated embodiment is the same and will not be described again here.

[0142] In step (4), the algorithm library performs a Diff value operation on the filtered FrameData to obtain the Diff value data corresponding to the filtered FrameData.

[0143] This step and Figure 4 Step (4) in the illustrated embodiment is the same and will not be described again here.

[0144] Step (5), perform a Diff signal stability test. If the Diff signal is confirmed to be stable after the test, execute the subsequent step (6). Otherwise, if the Diff signal is confirmed to be unstable after the test, execute the subsequent step (7).

[0145] Among them, whether the Diff signal is stable depends on the current difference data ( Figure 6The difference value between the first and second difference values ​​obtained in step (4) of the present invention and the reference difference value data is obtained. For details on how to obtain the difference value, please refer to the following content. If the difference value is small (for example, less than the first threshold), the Diff signal is considered stable; otherwise, if the difference value is large (for example, greater than or equal to the first threshold), the Diff signal is considered unstable.

[0146] Step (6), confirm that the touch point reporting information of this frame FrameData is the same as the touch point reporting information corresponding to the current benchmark difference data, use the touch point reporting information corresponding to the current benchmark difference data as the touch point reporting information of this frame FrameData, process the code of the algorithm part related to time and frame number, and return to step (1).

[0147] In this step, the touch point reporting information corresponding to the current reference difference data is used as the touch point reporting information of this frame FrameData, and there is no need to execute Figure 6 The algorithms in the second algorithm set (except the algorithms related to time or frame number) are used. In this article, the touch point reporting information corresponding to the reference difference data is referred to as the reference touch point reporting information.

[0148] Thus, the processing of the original capacitance value data FrameData of this frame ends here, and there is no need to execute the subsequent step (8) and the steps after step (8). After returning to step (1), the next frame of original capacitance value data FrameData is received and processed.

[0149] Step (7), update the current benchmark difference data.

[0150] In this step, the current reference difference data is updated to the Diff value data corresponding to the original capacitance value data FrameData of this frame (ie, the Diff value calculation result of step (4) in this embodiment).

[0151] Step (8), perform a peak search on the Diff value signal image.

[0152] For this step, please refer to the previous Figure 4 Step (5) in the illustrated embodiment will not be described in detail here.

[0153] Step (9), traverse the touch area TouchZone.

[0154] For this step, please refer to the previous Figure 4 Step (6) in the illustrated embodiment will not be described in detail here.

[0155] Step (10), determine the touch mode.

[0156] For this step, please refer to the previous Figure 4 Step (7) in the illustrated embodiment will not be described in detail here.

[0157] …

[0158] (n+3) Generate touch reporting point.

[0159] For this step, please refer to the previous Figure 4 Step (n) in the illustrated embodiment will not be described in detail here.

[0160] Figure 6 The first set of algorithms in Figure 4 The first set of algorithms is the same as in Figure 6 The second set of algorithms in Figure 4 The second algorithm set is the same as in .

[0161] It can be seen that in this embodiment Figure 4 Based on the process shown in the figure, Diff signal stability detection is added (performed by DiffSignalStablility detection module (hereinafter referred to as DSS module)). Figure 6 As shown, when the DSS module detects that the Diff value in the Diff value data corresponding to the original capacitance value data FrameData of this frame is basically consistent with the Diff value in the Diff Baseline (referring to the current baseline difference data), the reporting point information corresponding to the current baseline difference data is reused to the greatest extent. In addition, for subsequent algorithms that need to rely on time or frame number, such as anti-false touch, some algorithm content processing is required to ensure that this part of the algorithm state machine can be updated in real time.

[0162] Fig.11 For example, Figure 4 The scheme shown is Figure 6 A schematic diagram showing the comparison of the CPU time occupied by the touch process in the scheme shown. Fig.11 visible, Figure 6 The scheme shown is relative to Figure 4 The solution shown in the figure significantly reduces the CPU time occupied. Figure 6 The scheme shown reduces the load and power consumption of the touch process.

[0163] When the DSS module determines that the Diff value in the Diff value data corresponding to the original capacitance value data FrameData of this frame is significantly different from the Diff value in the Diff Baseline, the Diff Baseline is updated to the Diff value data corresponding to the original capacitance value data FrameData of this frame, and the execution is completed at the same time. Figure 6 The entire process of the second algorithm set in .

[0164] Here, an example is given to illustrate the way of comparing the Diff value in the Diff value data corresponding to the original capacitance value data FrameData of this frame with the Diff value in DiffBaseline. Of course, it is not limited to the examples listed below.

[0165] In an example, the Diff value in the Diff value data corresponding to the original capacitance value data FrameData of the current frame (hereinafter referred to as the current Diff value data) is compared with the Diff value in the Diff Baseline in the following manner:

[0166] Calculate the difference between each Diff value in the current Diff value data and the Diff value at the same position in the Diff Baseline, and record it as the Diff difference;

[0167] Find the maximum value among all Diff differences, that is, the maximum Diff difference;

[0168] It is determined whether the maximum Diff difference is less than a first value (the first value may be referred to as a Diff difference threshold).

[0169] If the maximum Diff difference is less than the first value, it is determined that the Diff value in the Diff value data corresponding to the original capacitance value data FrameData of the current frame is substantially consistent with the Diff value in the Diff Baseline (or the Diff signal is stable).

[0170] If the maximum Diff difference is greater than or equal to the first value, it is determined that the Diff value in the Diff value data corresponding to the original capacitance value data FrameData of the current frame is significantly different from the Diff value in the Diff Baseline (or the Diff signal is unstable).

[0171] In another example, the Diff value in the Diff value data corresponding to the original capacitance value data FrameData of the present frame (hereinafter referred to as the present Diff value data) is compared with the Diff value in the Diff Baseline in the following manner:

[0172] Calculate the difference between each Diff value in the current Diff value data and the Diff value at the same position in the Diff Baseline, and record it as the Diff difference;

[0173] Find out the number of Diff difference values ​​greater than a second value (the second value may be less than the first value used as the Diff difference threshold in the above example) among all Diff difference values, and record it as a first number;

[0174] It is determined whether the first quantity is less than a preset quantity threshold.

[0175] If the first number is less than the preset number threshold, it is determined that the Diff value in the Diff value data corresponding to the original capacitance value data FrameData of the current frame is substantially consistent with the Diff value in the Diff Baseline (or the Diff signal is stable).

[0176] If the first number is greater than or equal to the preset number threshold, it is determined that the Diff value in the Diff value data corresponding to the original capacitance value data FrameData of the current frame is significantly different from the Diff value in the Diff Baseline (or the Diff signal is unstable).

[0177] Of course, in practical applications, the above two methods can also be used at the same time. In this case, only when the maximum Diff difference is less than the first value and the first number is less than the preset number threshold, it is determined that the Diff value in the Diff value data corresponding to the original capacitance value data FrameData of the current frame is basically consistent with the Diff value in the Diff Baseline. Otherwise, if the maximum Diff difference is greater than or equal to the first value, or the first number is greater than or equal to the preset number threshold, it is determined that the Diff value in the Diff value data corresponding to the original capacitance value data FrameData of the current frame is greatly different from the Diff value in the Diff Baseline.

[0178] catch Figure 5 The embodiment shown. Figure 7 FIG. 1 is another example flow chart of the data processing method in this embodiment. The data processing method in this embodiment can be Figure 2A , Figure 3 The touch algorithm service module in the main chip (the touch algorithm service module executes the data processing method by occupying the resources of the CPU in the main chip) is executed.

[0179] like Figure 7 As shown, in this embodiment, the process of the data processing method may include the following steps:

[0180] S701, obtaining third capacitance data generated by the touch panel in response to a touch of a user.

[0181] The time when the touch algorithm service module obtains the third capacitance data is later than the time when the touch algorithm service module obtains the third capacitance data. Figure 5 The time of the first capacitance data in the illustrated embodiment.

[0182] S702: Process the third capacitance data to obtain third difference data corresponding to the third capacitance data.

[0183] In this step, third difference data corresponding to the third capacitance data is obtained based on the third capacitance data.

[0184] S703: Determine a difference value between the third difference data and the first reference difference data, and record it as a second difference value.

[0185] S704: If the second difference value is less than the first threshold, use the first reference touch point reporting information as the third touch point reporting information corresponding to the third capacitance data.

[0186] Figure 7 In the embodiment shown, since the difference between the third difference data and the first reference difference data (ie, the second difference value) is less than the first threshold, the touch algorithm service module does not need to execute Figure 6 All algorithms in the second algorithm set except the algorithms related to time or frame number.

[0187] After step S704, the following steps may also be included:

[0188] Performing a first processing on the third difference data to obtain second time information and second frame number information, wherein the first processing is a processing related to time and frame number in a touch point reporting algorithm, and the touch point reporting algorithm is used to generate touch point reporting information according to the difference data corresponding to the capacitance data;

[0189] The time information in the touch point reporting algorithm is updated according to the second time information, and the frame number information in the touch point reporting algorithm is updated according to the second frame number information.

[0190] In this way, by updating the time information and the frame number information, the processing of the data frames after the third capacitance data can be smoothly performed.

[0191] catch Figure 7 The embodiment shown. Figure 8 FIG. 1 is another example flow chart of the data processing method in this embodiment. The data processing method in this embodiment can be Figure 2A , Figure 3 The touch algorithm service module in the main chip (the touch algorithm service module executes the data processing method by occupying the resources of the CPU in the main chip) is executed.

[0192] like Figure 8 As shown, in this embodiment, the process of the data processing method may include the following steps:

[0193] S801, obtaining fourth capacitance data generated by the touch panel in response to a touch of a user.

[0194] The time at which the touch algorithm service module obtains the fourth capacitance data is later than the time at which the touch algorithm service module obtains the fourth capacitance data. Figure 7 The time of the third capacitance data in the illustrated embodiment.

[0195] S802: Process the fourth capacitance data to obtain fourth difference data corresponding to the fourth capacitance data.

[0196] Fourth difference data corresponding to the fourth capacitance data is obtained based on the fourth capacitance data.

[0197] S803: Determine a difference value between the fourth difference data and the first reference difference data, and record it as a third difference value.

[0198] S804: If the third difference value is greater than or equal to the first threshold, generate fourth touch point reporting information corresponding to the fourth capacitance data according to the fourth difference data.

[0199] S805, saving the fourth difference data as the second reference difference data, and saving the fourth touch point reporting information as the second reference touch point reporting information.

[0200] Before step S805, the method may further include: deleting the first reference difference data and the first reference touch point reporting information.

[0201] Figure 8 In the embodiment shown, since the difference between the fourth difference data and the first reference difference data (ie, the third difference value) is greater than or equal to the first threshold, the touch algorithm service module not only needs to execute Figure 6 Each algorithm in the first algorithm set needs to be executed Figure 6 In addition, the current reference difference data and reference touch point reporting information need to be updated for use in subsequent processing.

[0202] catch Figure 8 The embodiment shown. Fig. 9 FIG. 1 is another example flow chart of the data processing method in this embodiment. The data processing method in this embodiment can be Figure 2A , Figure 3 The touch algorithm service module in the main chip (the touch algorithm service module executes the data processing method by occupying the resources of the CPU in the main chip) is executed.

[0203] like Fig. 9 As shown, in this embodiment, the process of the data processing method may include the following steps.

[0204] S901, obtaining fifth capacitance data generated by the touch panel in response to a touch of a user.

[0205] The time at which the touch algorithm service module obtains the fifth capacitance data is later than the time at which the touch algorithm service module obtains the fifth capacitance data. Figure 8 The time of the fourth capacitance data in the illustrated embodiment.

[0206] S902: Process the fifth capacitance data to obtain fifth difference data corresponding to the fifth capacitance data.

[0207] Fifth difference data corresponding to the fifth capacitance data is obtained based on the fifth capacitance data.

[0208] S903, determining a difference value between the fifth difference data and the second reference difference data, and recording it as a third difference value.

[0209] S904: If the third difference value is less than the first threshold, use the second reference touch point reporting information as the fifth touch point reporting information corresponding to the fifth capacitance data.

[0210] After step S904, the following may also be included:

[0211] Performing a first processing on the fifth difference data to obtain third time information and third frame number information, wherein the first processing is a processing related to time and frame number in a touch point reporting algorithm, and the touch point reporting algorithm is used to generate touch point reporting information according to the difference data corresponding to the capacitance data;

[0212] The time information in the touch point reporting algorithm is updated according to the third time information, and the frame number information in the touch point reporting algorithm is updated according to the third frame number information.

[0213] In this way, by updating the time information and the frame number information, the processing of the data frames after the fifth capacitance data can be smoothly performed. Fig. 9 In the embodiment shown, the touch algorithm service module does not need to execute Figure 6 The second algorithm set includes algorithms other than those related to time or frame number, thereby reducing the time occupied by the main chip CPU and reducing load and power consumption.

[0214] catch Figure 5 The embodiment shown may also include:

[0215] Generate first state information of each state in a touch point reporting generation algorithm according to the first difference data, the touch point reporting generation algorithm being used to generate touch point reporting information according to the difference data corresponding to the capacitance data;

[0216] After acquiring the second capacitance data generated by the touch panel in response to the user's touch, the method further includes: if the first difference value is less than the first threshold, setting each state in the touch point reporting algorithm according to the first state information.

[0217] In this way, when the difference value is less than the first threshold, the status information of each state in the touch point reporting algorithm can remain unchanged, thereby reducing the processing of the algorithm for generating the status information of each state in the touch point reporting algorithm and saving the main chip CPU time.

[0218] Among them, the algorithm for generating the state information of each state in the touch reporting point generation algorithm also belongs to Figure 6 (or Figure 4 ) is an algorithm from the second algorithm set in .

[0219] In the above embodiments, after the touch algorithm service module obtains the touch point reporting information, it can report the touch point reporting information to the input system in the electronic device through the touch driver.

[0220] The data processing method of this embodiment is further described below through some examples.

[0221] Assume that the touch algorithm service module receives the 1st frame data, the 2nd frame data, the 3rd frame data, ..., the 10th frame data in chronological order, and the 1st frame data to the 10th frame data are all the original capacitance value data of the touch panel. The touch algorithm service module processes the 1st frame data to the 10th frame data as follows:

[0222] Get the first frame data, process the first frame data, and obtain the diff value data 1 corresponding to the first frame data; based on the preset touch point reporting algorithm, generate the touch point reporting 1 corresponding to the first frame data; set the current benchmark difference data to diff value data 1, the benchmark touch point reporting to touch point reporting 1, and save the benchmark difference data and the benchmark touch point reporting.

[0223] The second frame data is obtained, and the second frame data is processed to obtain the diff value data 2 corresponding to the second frame data; the difference value 2 between the diff value data 2 and the diff value data 1 is determined according to the diff value data 2 and the diff value data 1 as the current reference difference data, and if the difference value 2 is less than the preset threshold, the touch reporting point 2 corresponding to the second frame data is determined to be equal to the current reference touch reporting point, that is, the touch reporting point 1. And, based on the diff value data 2, a first processing is performed to obtain time information 2 and frame number information 2, and the first processing is a processing related to time or frame number; the time information in the touch reporting point generation algorithm is updated according to the time information 2, and the frame number information in the touch reporting point generation algorithm is updated according to the frame number information 2.

[0224] The third frame data is obtained, and the third frame data is processed to obtain the diff value data 3 corresponding to the third frame data; the difference value 3 between the diff value data 3 and the diff value data 1 as the current reference difference data is determined, and if the difference value 3 is also less than the preset threshold, the touch reporting point 3 corresponding to the third frame data is determined to be equal to the current reference touch reporting point, that is, touch reporting point 1. And, based on the diff value data 3, a first processing is performed to obtain time information 3 and frame number information 3, and the first processing is a processing related to time or frame number; the time information in the touch reporting point generation algorithm is updated according to the time information 3, and the frame number information in the touch reporting point generation algorithm is updated according to the frame number information 3.

[0225] Acquire data frame 4, process data frame 4, and obtain diff value data 4 corresponding to data frame 4; determine the difference value 4 between diff value data 4 and diff value data 1 according to diff value data 4 and diff value data 1 as the current benchmark difference data; if difference value 4 is greater than or equal to a preset threshold, generate touch point reporting 4 corresponding to data frame 4 based on a preset touch point reporting algorithm; update the current benchmark difference data to diff value data 4, and update the benchmark touch point reporting to touch point reporting 4.

[0226] Acquire data frame 5, process data frame 5, obtain diff value data 5 corresponding to data frame 5; determine difference value 5 between diff value data 5 and diff value data 4 according to diff value data 5 and diff value data 4 as current reference difference data; if difference value 5 is less than a preset threshold, determine that touch reporting point 5 corresponding to data frame 5 is equal to current reference touch reporting point, i.e., touch reporting point 4. Also, perform first processing based on diff value data 5 to obtain time information 5 and frame number information 5, the first processing is processing related to time or frame number; update time information in touch reporting point generation algorithm according to time information 5, and update frame number information in touch reporting point generation algorithm according to frame number information 5.

[0227] Acquire data frame 6, process data frame 6, and obtain diff value data 6 corresponding to data frame 6; determine the difference value 6 between diff value data 6 and diff value data 4 according to diff value data 6 and diff value data 4 as the current reference difference data; if the difference value 6 is also less than the preset threshold, determine that the touch reporting point 6 corresponding to data frame 6 is also equal to the current reference touch reporting point, that is, touch reporting point 4. And, perform a first processing based on diff value data 6 to obtain time information 6 and frame number information 6, the first processing is a processing related to time or frame number; update the time information in the touch reporting point generation algorithm according to the time information 6, and update the frame number information in the touch reporting point generation algorithm according to the frame number information 6.

[0228] Acquire data frame 7, process data frame 7, obtain diff value data 7 corresponding to data frame 7; determine difference value 7 between diff value data 7 and diff value data 4 according to diff value data 7 and diff value data 4 as current reference difference data; if difference value 7 is also less than a preset threshold, determine that touch reporting point 7 corresponding to data frame 7 is also equal to the current reference touch reporting point, i.e., touch reporting point 4. Also, perform first processing based on diff value data 7 to obtain time information 7 and frame number information 7, the first processing is processing related to time or frame number; update time information in touch reporting point generation algorithm according to time information 7, and update frame number information in touch reporting point generation algorithm according to frame number information 7.

[0229] Acquire data frame 8, process data frame 8, obtain diff value data 8 corresponding to data frame 8; determine difference value 8 between diff value data 8 and diff value data 4 according to diff value data 8 and diff value data 4 as current reference difference data; if difference value 8 is also less than a preset threshold, determine that touch reporting point 8 corresponding to data frame 8 is also equal to current reference touch reporting point, i.e., touch reporting point 4. Also, perform first processing based on diff value data 8 to obtain time information 8 and frame number information 8, the first processing is processing related to time or frame number; update time information in touch reporting point generation algorithm according to time information 8, and update frame number information in touch reporting point generation algorithm according to frame number information 8.

[0230] Receive data frame 9, process data frame 9, and obtain diff value data 9 corresponding to data frame 9; determine the difference value 9 between diff value data 9 and diff value data 4 according to diff value data 9 and diff value data 4 as the current benchmark difference data; if difference value 9 is greater than or equal to a preset threshold, generate touch point reporting 9 corresponding to data frame 9 based on a preset touch point reporting algorithm; update the current benchmark difference data to diff value data 9, and update the benchmark touch reporting point to touch reporting point 9.

[0231] Receive the 10th frame data, process the 10th frame data, and obtain the diff value data 10 corresponding to the 10th frame data; determine the difference value 10 between the diff value data 10 and the diff value data 9 according to the diff value data 10 and the diff value data 9 as the current reference difference data, and if the difference value 10 is less than the preset threshold, determine that the touch reporting point 10 corresponding to the 10th frame data is equal to the current reference touch reporting point, that is, the touch reporting point 9. And, perform a first processing based on the diff value data 10 to obtain time information 10 and frame number information 10, the first processing is a processing related to time or frame number; update the time information in the touch reporting point generation algorithm according to the time information 10, and update the frame number information in the touch reporting point generation algorithm according to the frame number information 10.

[0232] Fig.10 This is an example diagram of the touch reporting points and benchmark difference data corresponding to each frame of data during the process of the touch algorithm service module processing the 1st frame of data to the 10th frame of data.

[0233] It can be seen that for the 1st frame data to the 10th frame data, the touch point information reported by the touch algorithm service module (to the input system) is: touch point 1, touch point 1, touch point 1, touch point 4, touch point 4, touch point 4, touch point 4, touch point 4, touch point 9, touch point 9. As the number of data frames processed by the touch algorithm service module increases, more algorithm processing processes are saved, thereby reducing more main chip CPU occupancy time and reducing load and power consumption.

[0234] Furthermore, the data processing method of this embodiment can accurately identify the cumulative changes of the difference data corresponding to the capacitance data generated by touch, thereby making the obtained touch point reporting information more accurate. Fig.10 In the illustrated embodiment, the difference in difference data between the 5th, 6th, 7th, and 8th frame data and the 4th frame data is not large, but the difference in difference data between the 9th frame data and the 4th frame data is large enough, so the baseline difference data is updated to make the subsequently obtained touch point reporting more accurate.

[0235] An embodiment of the present application also provides an electronic device, which includes a memory and a processor, wherein the memory is coupled to the processor, and the memory stores program instructions. When the program instructions are executed by the processor, the electronic device performs the data processing method performed by the aforementioned electronic device.

[0236] It is understandable that, in order to realize the above functions, the electronic device includes hardware and / or software modules corresponding to the execution of each function. In combination with the algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application in combination with the embodiments, but such implementation should not be considered to be beyond the scope of the present application.

[0237] This embodiment also provides a computer storage medium, in which computer instructions are stored. When the computer instructions are executed on an electronic device, the electronic device executes the above-mentioned related method steps to implement the data processing method in the above-mentioned embodiment.

[0238] This embodiment also provides a computer program product. When the computer program product runs on a computer, it enables the computer to execute the above-mentioned related steps to implement the data processing method in the above-mentioned embodiment.

[0239] In addition, an embodiment of the present application also provides a device, which can specifically be a chip, component or module, and the device may include a connected processor and memory; wherein the memory is used to store computer execution instructions, and when the device is running, the processor can execute the computer execution instructions stored in the memory so that the chip executes the data processing method in the above-mentioned method embodiments.

[0240] Among them, the electronic device, computer storage medium, computer program product or chip provided in this embodiment is used to execute the corresponding method provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding method provided above and will not be repeated here.

[0241] Through the description of the above implementation methods, technical personnel in the relevant field can understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0242] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of modules or units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0243] The units described as separate components may or may not be physically separated, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0244] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0245] Any content of each embodiment of the present application, as well as any content of the same embodiment, can be freely combined. Any combination of the above content is within the scope of the present application.

[0246] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium, including several instructions to enable a device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to perform all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.

[0247] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

[0248] The steps of the method or algorithm described in conjunction with the disclosure of the embodiments of the present application can be implemented in a hardware manner, or can be implemented by a processor executing a software instruction. The software instruction can be composed of corresponding software modules, and the software module can be stored in a random access memory (Random Access Memory, RAM), a flash memory, a read-only memory (Read Only Memory, ROM), an erasable programmable read-only memory (Erasable Programmable ROM, EPROM), an electrically erasable programmable read-only memory (Electrically EPROM, EEPROM), a register, a hard disk, a mobile hard disk, a read-only compact disk (CD-ROM) or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor so that the processor can read information from the storage medium and can write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an ASIC.

[0249] Those skilled in the art should be aware that in one or more of the above examples, the functions described in the embodiments of the present application can be implemented with hardware, software, firmware, or any combination thereof. When implemented using software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein the communication media include any media that facilitates the transmission of a computer program from one place to another. The storage medium can be any available medium that a general or special-purpose computer can access.

[0250] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

Claims

1. A data processing method, It is characterized in that Applied to electronic equipment, the method comprises: Acquiring first capacitance data generated by a touch panel in the electronic device in response to a user's touch; Processing the first capacitance data to obtain first difference data corresponding to the first capacitance data; Generate first touch point reporting information corresponding to the first capacitance data according to the first difference data; save the first difference data as first reference difference data, and save the first touch point reporting information as first reference touch point reporting information; Acquiring second capacitance data generated by the touch panel in response to a touch of a user; Processing the second capacitance data to obtain second difference data corresponding to the second capacitance data; Determine a difference value between the second difference data and the first reference difference data, recorded as a first difference value; If the first difference value is smaller than a first threshold value, the first reference touch point reporting information is used as the second touch point reporting information corresponding to the second capacitance data.

2. The method according to claim 1, It is characterized in that Also includes: Performing a first processing on the second difference data to obtain first time information and first frame number information, wherein the first processing is a processing related to time and frame number in a touch point reporting algorithm, and the touch point reporting algorithm is used to generate touch point reporting information according to the difference data corresponding to the capacitance data; The time information in the touch point reporting algorithm is updated according to the first time information, and the frame number information in the touch point reporting algorithm is updated according to the first frame number information. The touch point reporting algorithm is used to generate touch point reporting information corresponding to the capacitance data according to the difference data corresponding to the capacitance data.

3. The method according to claim 1 or 2, It is characterized in that Also includes: Acquiring third capacitance data generated by the touch panel in response to a touch of a user; Processing the third capacitance data to obtain third difference data corresponding to the third capacitance data; Determine a difference value between the third difference data and the first reference difference data, and record it as a second difference value; If the second difference value is smaller than the first threshold value, the first reference touch point reporting information is used as the third touch point reporting information corresponding to the third capacitance data.

4. The method according to claim 3, It is characterized in that Also includes: Performing a first processing on the third difference data to obtain second time information and second frame number information, wherein the first processing is a processing related to time and frame number in a touch point reporting algorithm, and the touch point reporting algorithm is used to generate touch point reporting information according to the difference data corresponding to the capacitance data; The time information in the touch point reporting algorithm is updated according to the second time information, and the frame number information in the touch point reporting algorithm is updated according to the second frame number information.

5. The method according to claim 4, It is characterized in that Also includes: Acquiring fourth capacitance data generated by the touch panel in response to a touch of a user; Processing the fourth capacitance data to obtain fourth difference data corresponding to the fourth capacitance data; Determine a difference value between the fourth difference data and the first reference difference data, and record it as a third difference value; If the third difference value is greater than or equal to the first threshold value, fourth touch point reporting information corresponding to the fourth capacitance data is generated according to the fourth difference data.

6. The method according to claim 5, It is characterized in that After generating the fourth touch point reporting information corresponding to the fourth capacitance data, the method further includes: The fourth difference data is saved as the second reference difference data, and the fourth touch point reporting information is saved as the second reference touch point reporting information.

7. The method according to claim 6, It is characterized in that Before saving the fourth difference data as the second reference difference data and saving the fourth touch point reporting information as the second reference touch point reporting information, the method further includes: The first reference difference data and the first reference touch point reporting information are deleted.

8. The method according to claim 6, It is characterized in that Also includes: Acquiring fifth capacitance data generated by the touch panel in response to a touch of a user; Processing the fifth capacitance data to obtain fifth difference data corresponding to the fifth capacitance data; Determine a difference value between the fifth difference data and the second reference difference data, recorded as a third difference value; If the third difference value is smaller than the first threshold value, the second reference touch point reporting information is used as the fifth touch point reporting information corresponding to the fifth capacitance data.

9. The method according to any one of claims 1, 3, 5 or 8, It is characterized in that The difference between the difference data and the difference reference data is determined as follows: The matrix where the difference data is located is recorded as the first matrix, and the matrix where the difference reference data is located is recorded as the second matrix; Obtaining a difference between data in two elements at the same position in the first matrix and the second matrix; Find out the maximum value among all the differences, record it as the maximum difference, and determine that the difference between the difference data and the difference reference data is equal to the maximum difference; The relationship between the difference value and the first threshold is determined in the following manner: Determining the first threshold as a preset difference threshold; If the maximum difference is less than the difference threshold, it is determined that the difference is less than the first threshold; or if the maximum value is greater than or equal to the difference threshold, it is determined that the difference is greater than or equal to the first threshold.

10. The method according to any one of claims 1, 3, 5 or 8, It is characterized in that The difference between the difference data and the difference reference data is determined as follows: The matrix where the difference data is located is recorded as the first matrix, and the matrix where the difference reference data is located is recorded as the second matrix; Obtaining a difference between data in two elements at the same position in the first matrix and the second matrix; Counting the number of difference values ​​greater than the target value among all the difference values, recording the number as a first number, and determining that the difference value between the difference value data and the difference value reference data is equal to the first number; The relationship between the difference value and the first threshold is determined in the following manner: Determining the first threshold as a preset second number; If the first number is smaller than the second number, it is determined that the difference value is smaller than the first threshold; or if the first number is greater than or equal to the second number, it is determined that the difference value is greater than or equal to the first threshold.

11. The method according to any one of claims 1 to 8, It is characterized in that Also includes: The touch point reporting information corresponding to the capacitance data is reported to the input system in the electronic device through the touch driver.

12. The method according to claim 1, It is characterized in that Also includes: Generate first state information of each state in a touch point reporting generation algorithm according to the first difference data, wherein the touch point reporting generation algorithm is used to generate touch point reporting information according to the difference data corresponding to the capacitance data; After acquiring the second capacitance data generated by the touch panel in response to the user's touch, the method further includes: if the first difference value is less than the first threshold, setting each state in the touch point reporting algorithm according to the first state information.

13. The method according to claim 1, It is characterized in that The electronic device is a mobile phone, a tablet, a personal computer PC, a wearable device, a car control panel or an electric vehicle control panel.

14. An electronic device, It is characterized in that include: a memory and a processor, the memory being coupled to the processor; The memory stores program instructions, and when the program instructions are executed by the processor, the electronic device executes the data processing method according to any one of claims 1 to 13.

15. A computer-readable storage medium comprising a computer program, It is characterized in that When the computer program is executed on an electronic device, the electronic device is enabled to execute the data processing method according to any one of claims 1 to 13.

Citation Information

Patent Citations

  • Linear processing method and system of coordinates of touched point at marginal area of touch screen

    CN101706699A

  • Scanning method for projected capacitive touch panels

    CN101840293A

  • Method for scanning projective capacitive touch panel

    CN101840294A

  • Embedded self-capacitance touch display device and embedded self-capacitance touch display device water detection method

    CN107045401A

  • Touch screen calibration method and device, storage medium and terminal

    CN107463289A