Filtering method and device, display device, electronic device and storage medium
By using filter window technology in the display device to perform polynomial fitting processing on sensor data, the problems of large computational complexity and poor timeliness in the existing technology are solved, and an efficient noise filtering effect is achieved.
Patent Information
- Application Number
- CN202210998940.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-19
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2042-08-19
AI Technical Summary
Existing filtering technologies in display devices are computationally intensive, resource-intensive, and have poor timeliness. They are unable to filter all data in the sensor array simultaneously, resulting in noise interference and reduced filtering effectiveness.
The filter window technology is adopted to achieve simultaneous filtering of the sensor data by determining the size and type of the filter window and performing polynomial fitting processing on the sensor data according to the moving direction of the filter window.
It improves the timeliness of filtering processing, reduces the amount of calculation, reduces the computing load, and improves the noise filtering effect.
Smart Images

Figure CN115407896B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of display devices, and in particular to a filtering method and apparatus, a display device, an electronic device, and a storage medium. Background Art
[0002] In related technologies, a display device may include a sensor array for obtaining the user's touch data on the display device. However, the touch data collected by the sensors in the sensor array often contain environmental noise, which may affect the subsequent calculation of touch screen events. Therefore, after obtaining the data collected by the sensor, the data needs to be filtered to eliminate the noise. Among the related filtering technologies, known solutions include median filtering, mean filtering, etc. However, these filtering methods have a large amount of calculation and high requirements on computing power. For display devices, the resource load is large. In addition, the timeliness is poor. For example, since it is impossible to filter all the data in the sensor array at the same time, the data in the sensor array is divided into multiple groups for filtering. However, when filtering the data of some groups, the data in other groups has changed and introduced new noise. Summary of the Invention
[0003] In view of this, the present disclosure proposes a filtering method and apparatus, a display device, an electronic device, and a storage medium.
[0004] According to one aspect of the present disclosure, a filtering method is provided, comprising: determining the size and type of a filtering window for filtering a sensor data array acquired by a sensor array, wherein the sensor array comprises a plurality of touch sensors of a screen, the touch sensors being used to acquire sensor data in the sensor data array, and the types of the filtering window comprising a row filtering window and a column filtering window; filtering the sensor data within the filtering window at an initial position according to the size of the filtering window to obtain filtered data within the filtering window at the initial position, wherein the initial position is the initial position of the filtering window in the sensor data array; moving the filtering window from the initial position in the sensor data array according to the type of the filtering window to obtain filtered data within the filtering window after each movement; obtaining a filtered sensor data array based on the filtered data within the filtering window at the initial position and the filtered data within the filtering window after each movement.
[0005] In one possible implementation, determining the type of filter window for filtering the sensor data array acquired by the sensor array includes: when the moving direction of the filter window is along the row direction, the type of the filter window is a column filter window; or when the moving direction of the filter window is along the column direction, the type of the filter window is a row filter window.
[0006] In one possible implementation, the sensor data within the filter window at the initial position is filtered according to the size of the filter window to obtain the filtered data within the filter window at the initial position, including: performing polynomial fitting processing based on the sensor data within the filter window and index information of the sensor data to obtain polynomial coefficients, wherein the index information of the sensor data is determined based on the size of the filter window, the sensor data within the filter window constitutes a data sequence, and the index information is the index of the sensor data in the data sequence; and obtaining the filtered data within the filter window based on the polynomial coefficients and the index information of the sensor data.
[0007] In a possible implementation, the size of the filtering window is an odd number, the amount of sensor data within the filtering window is equal to the size of the filtering window, and the index information includes two or more mutually opposite serial numbers and 0.
[0008] In one possible implementation, polynomial fitting processing is performed based on the sensor data within the filtering window and the index information of the sensor data to obtain polynomial coefficients, including: obtaining an index matrix based on the index information and the degree of the polynomial; and obtaining the polynomial coefficients based on the index matrix and the sensor data within the filtering window.
[0009] In a possible implementation, obtaining the filtered data within the filtering window according to the polynomial coefficients and the index information of the sensor data includes: obtaining the filtered data within the filtering window according to the index matrix and the polynomial coefficients.
[0010] In a possible implementation, determining the size of a filter window for filtering the sensor data array acquired by the sensor array includes: determining the size of the filter window according to the number of rows or columns scanned in a single scan of the screen.
[0011] According to another aspect of the present disclosure, a filtering device is provided, comprising: a filtering window determination module, configured to determine the size and type of a filtering window for filtering a sensor data array acquired by a sensor array, wherein the sensor array comprises a plurality of touch sensors of a screen, the touch sensors being configured to acquire sensor data in the sensor data array, and the types of the filtering window comprising a row filtering window and a column filtering window; a filtering module, configured to filter the sensor data within the filtering window at an initial position according to the size of the filtering window, and obtain filtered data within the filtering window at the initial position, wherein the initial position is the initial position of the filtering window in the sensor data array; a moving module, configured to move the filtering window from the initial position in the sensor data array according to the type of the filtering window, and obtain filtered data within the filtering window after each movement; and an obtaining module, configured to obtain a filtered sensor data array based on the filtered data within the filtering window at the initial position and the filtered data within the filtering window after each movement.
[0012] In a possible implementation, the filter window determination module is further used to: when the moving direction of the filter window is moving along the row direction, the type of the filter window is a column filter window; or when the moving direction of the filter window is moving along the column direction, the type of the filter window is a row filter window.
[0013] In one possible implementation, the filtering module is further used to: perform polynomial fitting processing based on the sensor data within the filtering window and the index information of the sensor data to obtain polynomial coefficients, wherein the index information of the sensor data is determined based on the size of the filtering window, the sensor data within the filtering window constitutes a data sequence, and the index information is the index of the sensor data in the data sequence; obtain the filtered data within the filtering window based on the polynomial coefficients and the index information of the sensor data.
[0014] In a possible implementation, the size of the filtering window is an odd number, the amount of sensor data within the filtering window is equal to the size of the filtering window, and the index information includes two or more mutually opposite serial numbers and 0.
[0015] In a possible implementation, the filtering module is further configured to: obtain an index matrix according to the index information and the degree of the polynomial; and obtain polynomial coefficients according to the index matrix and the sensor data within the filtering window.
[0016] In a possible implementation, the filtering module is further configured to obtain filtered data within the filtering window according to the index matrix and the polynomial coefficients.
[0017] In a possible implementation, the filter window determination module is further configured to determine the size of the filter window according to the number of rows or columns scanned in a single scan of the screen.
[0018] According to another aspect of the present disclosure, a display device is provided, including a plurality of display units and a processor, wherein the display units include a sensor array, and the processor is configured to implement the above method by executing instructions.
[0019] In one possible implementation, the display unit includes a display panel, and the display panel includes at least one of a liquid crystal display panel, a micro light-emitting diode display panel, a light-emitting diode display panel, a mini light-emitting diode display panel, a quantum dot light-emitting diode display panel, an organic light-emitting diode display panel, a cathode ray tube display panel, a digital light processing display panel, a field emission display panel, a plasma display panel, an electrophoretic display panel, an electrowetting display panel, and a small-pitch display panel.
[0020] According to another aspect of the present disclosure, an electronic device is provided, comprising the above display device.
[0021] According to another aspect of the present disclosure, a non-volatile computer-readable storage medium is provided, on which computer program instructions are stored, wherein the computer program instructions implement the above method when executed by a processor.
[0022] According to another aspect of the present disclosure, a computer program product is provided, including a computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code runs in a processor of an electronic device, the processor in the electronic device executes the above method.
[0023] According to another aspect of the present disclosure, a driver chip is provided, wherein the driver chip is configured to execute the filtering method.
[0024] According to the filtering method of the embodiment of the present invention, the filtering data within the filtering window can be determined based on the filtering window size, and the filtering window can be moved based on the type of the filtering window. The sensor data within the filtering window can be filtered simultaneously during the movement, thereby improving the timeliness of the filtering processing, reducing the amount of calculation, reducing the computing power load, and improving the filtering effect on noise.
[0025] Further features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate exemplary embodiments, features, and aspects of the disclosure and, together with the description, serve to explain the principles of the disclosure.
[0027] Figure 1 A flow chart showing a filtering method according to an embodiment of the present disclosure is shown;
[0028] Figure 2A and Figure 2B A schematic diagram illustrating a filtering window according to an embodiment of the present disclosure is shown;
[0029] Figure 3A 、 Figure 3B 、 Figure 3C and Figure 3D A schematic diagram illustrating an application of a filtering method according to an embodiment of the present disclosure is shown;
[0030] Figure 4 A block diagram of a filtering device according to an embodiment of the present disclosure is shown;
[0031] Figure 5 A block diagram of an electronic device according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0032] Various exemplary embodiments, features, and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. The same reference numerals in the accompanying drawings represent elements with the same or similar functions. Although various aspects of the embodiments are shown in the accompanying drawings, the drawings are not necessarily drawn to scale unless otherwise indicated.
[0033] In the description of the present disclosure, it should be understood that the terms "length", "width", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside", etc., indicating the orientation or position relationship, are based on the orientation or position relationship shown in the accompanying drawings, and are only for the convenience of describing the present disclosure and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation on the present disclosure.
[0034] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of the technical features being referred to. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. Throughout the present disclosure, "plurality" means two or more, unless otherwise specifically defined.
[0035] In this disclosure, unless otherwise expressly specified or limited, terms such as "mounted," "connected," "connect," and "fixed" should be understood broadly. For example, they may refer to fixed connections, detachable connections, or integration; mechanical connections or electrical connections; direct connections or indirect connections through an intermediate medium; and internal connections between two components or interactions between two components. Those skilled in the art will understand the specific meanings of these terms in this disclosure based on specific circumstances.
[0036] The term "and / or" herein simply describes an association relationship between associated objects, indicating that three relationships can exist. For example, "A and / or B" can represent the existence of three situations: A alone, A and B simultaneously, and B alone. Furthermore, the term "at least one" herein refers to any combination of at least two of any one or more of a plurality of items. For example, "at least one of A, B, and C" can represent any one or more elements selected from the set consisting of A, B, and C.
[0037] Figure 1 FIG. 1 is a flow chart showing a filtering method according to an embodiment of the present disclosure. Figure 1 As shown, the filtering method includes:
[0038] In step S11, the size and type of the filter window for filtering the sensor data array acquired by the sensor array are determined, wherein the sensor array includes a plurality of touch sensors of the screen, the touch sensors are used to acquire sensor data in the sensor data array, and the types of the filter window include a row filter window and a column filter window.
[0039] Among them, the column filtering window may include multiple sensor data in the column direction of the sensor data array, and the row filtering window may include multiple sensor data in the row direction of the sensor data array. The number of sensor data included in the filtering window corresponds to the size of the filtering window.
[0040] In step S12, the sensor data within the filter window at the initial position is filtered according to the size of the filter window to obtain filtered data within the filter window at the initial position, wherein the initial position is the initial position of the filter window in the sensor data array;
[0041] In step S13, according to the type of the filter window, the filter window is moved from the initial position in the sensor data array to obtain filtered data within the filter window after each movement;
[0042] In step S14, a filtered sensor data array is obtained based on the filtered data in the filtering window at the initial position and the filtered data in the filtering window after each movement.
[0043] According to the filtering method of the embodiment of the present invention, the filtering data within the filtering window can be determined based on the filtering window size, and the filtering window can be moved based on the type of the filtering window. The sensor data within the filtering window can be filtered simultaneously during the movement, thereby improving the timeliness of the filtering processing, reducing the amount of calculation, reducing the computing power load, and improving the filtering effect on noise.
[0044] In one possible implementation, a display device such as a screen (e.g., a touch screen) may include a sensor array. The sensor array may include multiple touch sensors that can be used to detect a user's touch signal on the screen (e.g., pressure applied to a certain position on the screen, induced charge, etc.), thereby determining the touch position. The sensor array may be distributed under the screen to detect the user's touch signal at various positions on the screen. The sensor array may be refreshed at a set frequency (i.e., the sensor re-collects new data), so that the sensor data array obtained at the set frequency does not need to be refreshed all at once when refreshing. Instead, the sensor data array may be grouped by rows or columns, and each group of sensor data may be refreshed in sequence. The sensor data in the sensor data array corresponds to the touch sensors in the sensor array, i.e., each sensor data is obtained by a touch sensor.
[0045] In one possible implementation, the sensor data may carry environmental noise, such as high-frequency noise. Therefore, to improve the accuracy of touch signal detection, the sensor data can be filtered. However, methods such as median filtering and mean filtering in related technologies have poor timeliness and high computational complexity.
[0046] Specifically, the sensor array can be filtered at a set frequency. Due to hardware performance limitations, data collected by all sensors in the sensor array is typically not filtered as a whole. Instead, the sensor array is divided into multiple groups by row or column, and each group of sensors is filtered separately. For example, a sensor array may include 1280×720 touch sensors. These groups can be grouped by row, for example, into 10 groups, each containing 1280×72 sensors, or by column, for example, into 10 groups, each containing 128×720 sensors. Furthermore, each group can be filtered sequentially. However, although the set frequency can be set to a high value, meaning that the time interval between filtering of each group is very short, there is still a time interval. That is, when filtering a group, the data of each sensor in the group must be filtered. This results in the filtering of each data point being performed sequentially rather than simultaneously, resulting in lower filtering efficiency within the group and longer waiting times for filtering between groups, which reduces the timeliness of the filtering process. Specifically, while filtering data from a particular sensor within a group, other touch sensors within the group may have already received new sensor data, introducing new noise. Alternatively, while filtering data from a particular group, touch sensors from other groups may have already received new sensor data, introducing new noise. This new noise renders filtering based on the previous sensor data ineffective or reduces its effectiveness. Furthermore, because filtering in related art requires filtering data from each sensor data point in sequence, it places a heavy load on the hardware's processing resources and results in low efficiency.
[0047] In one possible implementation, to overcome the aforementioned issues, a filtering window can be set and the data within the filtering window can be filtered simultaneously. Furthermore, the type of filtering window can correspond to the direction of its movement, which in turn can correspond to the aforementioned grouping of the sensor array. This can improve the timeliness of the filtering process and reduce the load on processing resources.
[0048] In a possible implementation, the size and type of the filtering window may be determined in step S11.
[0049] In one possible implementation, as described above, the type of the filter window may correspond to the moving direction of the filter window, and the moving direction of the filter window may correspond to the above-mentioned grouping method of the sensor array. Therefore, step S11 may include: when the moving direction of the filter window is moving along the row direction, the type of the filter window is a column filter window; or when the moving direction of the filter window is moving along the column direction, the type of the filter window is a row filter window.
[0050] Figure 2A and Figure 2BFIG. 1 is a schematic diagram showing a filter window according to an embodiment of the present disclosure. Figure 2A As shown, Figure 2A The grid array in represents a group in the sensor data array, and the sensor data array is grouped by row, so the number of columns in the sensor data array is the same as Figure 2A The same set of sensor data in the Figure 2A The number of rows of a set of sensor data in the sensor data array can also include multiple Figure 2A The group shown. In the case where the grouping method is grouping by row, the type of the filter window can be set to a column filter window, and the column filter window includes multiple sensor data in the column direction of the sensor data array, and the movement direction of the filter window is along the row direction. That is, the column filter window can move in the direction of the row to traverse all the sensor data in the group, that is, each time it moves, it can traverse multiple sensor data in the column where the column filter window is located. Furthermore, when performing filtering processing, all data in the column filter window can be filtered at the same time, thereby improving the timeliness of the filtering processing within the filter window, and then improving the timeliness of the filtering processing within the group, and reducing the waiting time of the filtering processing between groups, thereby improving the timeliness of the filtering processing between groups.
[0051] In one possible implementation, Figure 2B As shown, Figure 2B The grid array in represents a group in the sensor data array, and the sensor data array is grouped by column, so the number of rows in the sensor data array is the same as Figure 2B The same set of sensor data in Figure 2A The sensor data array may also include multiple columns such as Figure 2B The group shown. In the case where the grouping method is grouping by column, the type of the filter window can be set to a row filter window, and the row filter window includes multiple sensor data in the row direction of the sensor data array, and the moving direction of the filter window is along the column direction. That is, the row filter window can move in the direction of the column and traverse all the sensor data in the group, that is, each time it moves, it can traverse multiple sensor data in the row where the row filter window is located. Furthermore, when performing filtering processing, all data in the row filter window can be filtered at the same time, thereby improving the timeliness of the filtering processing within the filtering window, and then improving the timeliness of the filtering processing within the group, and reducing the waiting time of the filtering processing between groups, thereby improving the timeliness of the filtering processing between groups.
[0052] In a possible implementation, in addition to determining the type of the filter window, the size of the filter window may also be determined. Step S11 may include determining the size of the filter window according to the number of rows or columns of the screen that can be refreshed at a single time.
[0053] In an example, as described above, the sensor array can be divided into multiple groups according to rows or columns, and filtering can be performed on each group of sensors separately. When filtering each group, the sensor data within the group can be scanned, thereby updating the sensor data within the group to the filtered data. If the sensor array is grouped according to rows, the sensor data of each row within the group can be scanned, thereby updating the scanned sensor data to the filtered data. If the sensor array is grouped according to columns, the sensor data of each column within the group can be scanned, thereby updating the scanned sensor data to the filtered data.
[0054] In this example, according to the above-described scanning method, the size of the filter window can be determined based on the number of rows or columns of a screen scanned in a single scan. For example, if the sensor array is grouped by rows, the number of rows scanned in a single scan is the number of rows of sensor data within the group, that is, each row is scanned. In this case, the size of the filter window (e.g., the column filter window) can be determined as the number of rows of sensor data within the group, which is also the number of rows scanned in a single scan. Therefore, when the filter window moves once (scans forward one unit), all the data in a column is scanned, that is, all the data in a column is filtered and updated as the filtered data. After the scan is completed, all the sensor data in the group is traversed. Similarly, when the sensor array is grouped by columns, the number of columns scanned in a single scan is the number of columns of sensor data in the group, that is, each column is scanned. In this case, the size of the filter window (e.g., the row filter window) can be determined as the number of columns of sensor data in the group, which is also the number of columns scanned in a single scan. Therefore, when the filter window moves once (scans forward one unit), all the data in a row is scanned, that is, all the data in a row is filtered and updated to the filtered data. After the scan is completed, all the sensor data in the group can be traversed. Of course, the size of the filter window can also be larger or smaller than the number of rows or columns scanned in a single scan, and this disclosure does not impose any restrictions on this.
[0055] In this example, the number of rows or columns scanned in a single scan can also be equal to the number of rows or columns refreshed in a single refresh of the sensor array. That is, the number of rows or columns when refreshing the sensor data array is grouped by row or column. This disclosure does not impose any restrictions on this.
[0056] In one possible implementation, after determining the size and type of the filter window, it may occur that the sensor data does not fill the filter window at the initial position or the end position of the sensor data array. For example, the number of rows in the sensor data array is not an integer multiple of the number of rows in each group, or the number of columns in the sensor data array is not an integer multiple of the number of columns in each group. For another example, when setting the initial position of the filter window, the center position of the filter window is used as a reference rather than the first position, so that the center position of the filter window is set at the first data in the sensor data array. For example, if the size of the column filter window is 5, when setting the initial position of the column filter window, the center position of the column filter window (i.e., the third position) is used as a reference, and the third position of the filter window is set at the position of the first data in the sensor data array, resulting in vacancies in the first two positions of the column filter window. In the above case, the missing data in the filter window can be supplemented, for example, by supplementing the missing position with data such as 0, 1, or a random number. The present disclosure does not limit the specific value of the supplemented data. Alternatively, the filter window can be moved. For example, the filter window based on the third position can be moved to the filter window based on the first position, so that the filter window includes the first to fifth data in a column of the sensor data array, thereby filling the filter window. Alternatively, when data gaps occur in the filter window, the size of the filter window can be reduced. For example, a filter window size of 5 can be reduced to 3, thereby filling the filter window with data. This disclosure does not limit the method for handling data gaps in the filter window.
[0057] In one possible implementation, in step S12, after the size and type of the filter window are determined as described above, the sensor data within the filter window may be filtered. That is, all of the sensor data within the filter window may be updated to filtered data. Since all of the sensor data within the filter window may be updated to filtered data simultaneously during the filtering process, rather than being processed sequentially, the timeliness of the filtering process may be improved.
[0058] In one possible implementation, step S12 may include: performing polynomial fitting processing based on the sensor data within the filtering window and the index information of the sensor data to obtain polynomial coefficients, wherein the index information of the sensor data is determined based on the size of the filtering window, the sensor data within the filtering window constitutes a data sequence, and the index information is the index of the sensor data in the data sequence; obtaining the filtered data within the filtering window based on the polynomial coefficients and the index information of the sensor data.
[0059] In one possible implementation, the index information is the index of the sensor data in the filter window, rather than the index of the sensor data in the sensor data array. For example, the sensor data in the filter window can constitute a data sequence. For example, if the size of the filter window is 5 (5 is the number of rows or columns), the index of the sensor data can be 1-5, representing the 1st to 5th rows or the 1st to 5th columns, that is, the index of the sensor data in the data sequence, rather than the index of the sensor data in the original sensor data array. In the example, the size of the filter window is an odd number, the number of sensor data in the filter window is equal to the size of the filter window, and the index information includes two or more serial numbers that are opposite to each other and 0. That is, the filter window can be positioned with the center as the reference, and the index of the data located at the center of the filter window is 0. In the data sequence, the index of the data located before the data is a negative number, and the index of the data located after the data is a positive number. For example, if the size of the filter window is 5, the index of the sensor data can be -2, -1, 0, 1, 2. The present disclosure does not limit the size of the filter window and the specific form of the index information. By using the index information of the sensor data within the filter window to determine the polynomial coefficients, the independent variables of the polynomial can be fixed data. That is, no matter how the filter window moves, the index information of the sensor data within the filter window is a fixed value determined according to the size of the filter window, so that the independent variables in the polynomial are fixed values, thereby reducing the amount of calculation when calculating the polynomial coefficients and reducing the computing resource load.
[0060] In one possible implementation, polynomial fitting processing is performed based on the sensor data within the filtering window and the index information of the sensor data to obtain polynomial coefficients, including: obtaining an index matrix based on the index information and the degree of the polynomial; and obtaining the polynomial coefficients based on the index matrix and the sensor data within the filtering window.
[0061] In one possible implementation, the sensor data and index information within the filter window may be subjected to polynomial fitting. In this example, the fitting may be performed according to the following formula (1):
[0062] y=a0+a1x+a2x 2 +…+a k-1 x k-1 (1)
[0063] Where x is the index information of the sensor data, y is the sensor data, and k is the degree of the polynomial. Based on formula (1) and the sensor data and its index information, multiple polynomial coefficients a0, a1…a k-1For example, taking the sensor data in the filter window with a size of 5 and index information of -2, -1, 0, 1, 2 as an example, the first sensor data in the filter window can be substituted into y, and its index information -2 can be substituted into x to obtain a polynomial coefficient a0, a1…a k-1 By analogy, the first sensor data in the filter window can be substituted into y, and its index information -1 can be substituted into x to obtain a polynomial coefficient a0, a1…a k-1 The relationship between ... can obtain 5 polynomial coefficients a0, a1...a k-1 The values of the polynomial coefficients can be determined by various fitting methods, such as the least squares method, etc. The present disclosure does not limit the fitting method.
[0064] In this example, since the index information is a fixed value, for example, in the above five relational expressions, the index information is -2, -1, 0, 1, and 2. Therefore, the above multiple relational expressions can be expressed as the following formula (2):
[0065] Y=XA+E (2)
[0066] Among them, Y is the vector composed of sensor data, A is the vector of polynomial coefficients, E is the residual vector, X is the index matrix. In this example, The index information may be represented as -m, -m+1...0...m-1, m+1. In this case, the size of the filtering window is 2m+1 (an odd number).
[0067] In one possible implementation, the above index matrix includes two parameters m and k, where m can be determined by the size of the filtering window and k can be determined by the coefficients of the polynomial. Therefore, when both m and k are fixed values, the index matrix is a fixed matrix.
[0068] In one possible implementation, the least squares solution of the polynomial coefficients may be determined by the least squares method. In an example, the polynomial coefficients may be determined according to the following formula (3):
[0069] A=(X T ·X) -1 ·X T ·Y (3)
[0070] In a possible implementation, the polynomial coefficients a0, a1…a are obtained by the least square method. k-1Therefore, based on the polynomial coefficients, the filter data corresponding to each index information can be solved. In the example, each index information and the polynomial coefficients can be substituted into formula (1) to obtain the filter data corresponding to each index information. That is, the sensor data y is filtered. The filtered data within the filtering window is obtained according to the polynomial coefficients and the index information of the sensor data, including: obtaining the filtered data within the filtering window according to the index matrix and the polynomial coefficients. In this example, the filtered data within the filtering window can be determined according to the following formula (4):
[0071]
[0072] That is, the filter data corresponding to each index information is solved by matrix multiplication, where: in, are the filter data corresponding to the index information -m…0…m respectively. Formula (4) is essentially the same as the method of substituting polynomials, but using formula (4) for matrix multiplication can solve multiple filter data at the same time, improving the efficiency and timeliness of the filtering process.
[0073] In one possible implementation, the above solves the filtered data within the filter window at the initial position. In step S13, the filter window can be moved, and after each movement, the filtered data corresponding to the sensor data within the moved filter window is solved, that is, the sensor data within the moved filter window is filtered to obtain the filtered data within the moved filter window. The filtering method is the same as the filtering method for the sensor data within the filter window at the initial position, and will not be repeated here. The moving method is as described above. When the window type is a column filter window, the moving direction of the filter window is along the row direction; when the window type is a row filter window, the moving direction of the filter window is along the column direction. After multiple movements, the filter window can traverse all sensor data in the sensor array, that is, filter all sensor data.
[0074] In one possible implementation, in step S14, after filtering all sensor data, filtered data after filtering all sensor data can be obtained, namely, filtered data within the filtering window at the initial position and filtered data within the filtering window after each shift. After filtering all sensor data, a filtered sensor array can be obtained.
[0075] According to the filtering method of the embodiment of the present disclosure, the index information of the sensor data within the filter window can be determined based on the filter window size, and the polynomial coefficients can be solved based on the index information, thereby obtaining the filtered data through polynomial filtering. Multiple filtered data within the filter window can be obtained simultaneously, thereby improving computational efficiency. Furthermore, the filter window can be moved based on the type of filter window, and the sensor data within the filter window can be filtered simultaneously during the movement process, thereby obtaining the filtered data in a more efficient manner, improving the timeliness of the filtering process, reducing the amount of computation, lowering the computing load, and improving the filtering effect on noise.
[0076] Figure 3A 、 Figure 3B 、 Figure 3C and Figure 3D FIG. 4 shows an application diagram of a filtering method according to an embodiment of the present disclosure. Figure 3A The figure shows sensor data from a 32×18 sensor data array. This sensor data is unfiltered and may contain noise signals. For example, a user's touch signal can be detected in the area from row 17, column 11 to row 22, column 17. That is, the sensor data in this area is significantly larger than the sensor data in other areas. The sensor data in each area may carry noise signals, which may affect the detection of touch signals.
[0077] In one possible implementation, Figure 3C As shown, Figure 3C Each broken line can represent Figure 3A A column of data in , the column number is indicated on the broken line, Figure 3C The vertical axis is the value of the sensor data. Figure 3C The horizontal axis is the number of rows. Figure 3C As shown, although it can be clearly detected that the sensor data in the area of row 17, column 11 - row 22, column 17 is larger, an abnormal increase of the sensor signal may be detected in other areas due to the noise signal. For example, an abnormal increase of the sensor signal is detected in the area of row 8, column 1 - row 7, column 14, or an abnormal increase of the sensor signal is detected in the areas of row 15, column 9 and row 30, column 8. These abnormal increases may be caused by noise signals and may affect the detection of touch signals.
[0078] In one possible implementation, Figure 3B As shown, Figure 3AThe sensor data in the sensor data array in the filter are filtered. For example, the sensor data can be divided into two groups according to columns, each group includes 32 rows and 9 columns of data, the filtering window can be set to a row filtering window, and the size of the row filtering window can be set to 9, that is, all 9 data in a row in each group can be filtered each time. For example, the filtered data is solved according to formula (4), and all sensor data in the group are traversed during the movement to perform filtering processing to obtain a filtered sensor data array.
[0079] In one possible implementation, Figure 3D As shown in the figure, after filtering, the sensor data in the area from row 17, column 11 to row 22, column 17 is still large, indicating that a touch signal has been detected. However, in the area from row 8, column 1 to row 7, column 14, as well as in the areas from row 15, column 9, and row 30, column 8, the broken lines are relatively flat, filtering out the abnormally large noise signals in the sensor signals, reducing their impact on touch signal detection.
[0080] In one possible implementation, the filtering method can be used in scenarios where touch screen sensor signals are filtered, thereby filtering the sensor data with high timeliness and efficiency while consuming less computing resources, thereby improving the accuracy of touch signal detection. The present disclosure does not limit the application areas of the filtering method; for example, the filtering method can also be used in fields where touch sensor signals are filtered in other fields, or in fields where other types of data arrays are filtered, without limitation in the present disclosure.
[0081] Figure 4 A block diagram of a filtering device according to an embodiment of the present disclosure is shown as follows: Figure 4 As shown, the device includes: a filter window determination module 11, used to determine the size and type of the filter window for filtering the sensor data array acquired by the sensor array, wherein the sensor array includes multiple touch sensors of the screen, the touch sensors are used to acquire sensor data in the sensor data array, and the types of the filter window include row filter windows and column filter windows; a filtering module 12, used to filter the sensor data in the filter window at an initial position according to the size of the filter window, and obtain filtered data in the filter window at the initial position, wherein the initial position is the initial position of the filter window in the sensor data array; a moving module 13, used to move the filter window from the initial position in the sensor data array according to the type of the filter window, and obtain filtered data in the filter window after each movement; and an obtaining module 14, used to obtain a filtered sensor data array based on the filtered data in the filter window at the initial position and the filtered data in the filter window after each movement.
[0082] In a possible implementation, the filter window determination module is further used to: when the moving direction of the filter window is moving along the row direction, the type of the filter window is a column filter window; or when the moving direction of the filter window is moving along the column direction, the type of the filter window is a row filter window.
[0083] In one possible implementation, the filtering module is further used to: perform polynomial fitting processing based on the sensor data within the filtering window and the index information of the sensor data to obtain polynomial coefficients, wherein the index information of the sensor data is determined based on the size of the filtering window, the sensor data within the filtering window constitutes a data sequence, and the index information is the index of the sensor data in the data sequence; obtain the filtered data within the filtering window based on the polynomial coefficients and the index information of the sensor data.
[0084] In a possible implementation, the size of the filtering window is an odd number, the amount of sensor data within the filtering window is equal to the size of the filtering window, and the index information includes two or more mutually opposite serial numbers and 0.
[0085] In a possible implementation, the filtering module is further configured to: obtain an index matrix according to the index information and the degree of the polynomial; and obtain polynomial coefficients according to the index matrix and the sensor data within the filtering window.
[0086] In a possible implementation, the filtering module is further configured to obtain filtered data within the filtering window according to the index matrix and the polynomial coefficients.
[0087] In a possible implementation, the filter window determination module is further configured to determine the size of the filter window according to the number of rows or columns scanned in a single scan of the screen.
[0088] The present disclosure also provides a display device, including a plurality of display units and a processor, wherein the display units include a sensor array, and the processor is configured to implement the filtering method by executing instructions.
[0089] In one possible implementation, the display unit includes a display panel, and the display panel includes at least one of a liquid crystal display panel, a micro light-emitting diode display panel, a light-emitting diode display panel, a mini light-emitting diode display panel, a quantum dot light-emitting diode display panel, an organic light-emitting diode display panel, a cathode ray tube display panel, a digital light processing display panel, a field emission display panel, a plasma display panel, an electrophoretic display panel, an electrowetting display panel, and a small-pitch display panel.
[0090] The present disclosure also provides an electronic device including the above-mentioned display device. For example, the electronic device in this embodiment includes, but is not limited to, a desktop computer, a television, a mobile device with a large screen such as a mobile phone, a tablet computer, and other common electronic devices that require multiple chips to be cascaded to achieve driving.
[0091] Exemplarily, the electronic device may also be user equipment (UE), mobile device, user terminal, terminal, handheld device, computing device or vehicle-mounted device, etc. Exemplarily, some examples of terminals include: display, smart phone or portable device, mobile phone, tablet computer, laptop computer, PDA, mobile Internet device (MID), wearable device, virtual reality (VR) device, augmented reality (AR) device, wireless terminal in industrial control (Industrial Control), wireless terminal in self-driving, wireless terminal in remote medical surgery, wireless terminal in smart grid (Smart Grid), wireless terminal in transportation safety (Transportation Safety), wireless terminal in smart city (Smart City), wireless terminal in smart home (Smart Home), wireless terminal in Internet of Vehicles, etc. For example, the server may be a local server or a cloud server.
[0092] Figure 5 FIG1 shows a block diagram of an electronic device 1900 according to an embodiment of the present disclosure. For example, the electronic device 1900 can be provided as a server or a terminal device. Figure 5The electronic device 1900 includes a processing component 1922, which further includes one or more processors, and a memory resource represented by a memory 1932 for storing instructions executable by the processing component 1922, such as an application. The application stored in the memory 1932 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 1922 is configured to execute the instructions to perform the above-described method.
[0093] The electronic device 1900 may further include a power supply component 1926 configured to perform power management of the electronic device 1900, a wired or wireless network interface 1950 configured to connect the electronic device 1900 to a network, and an input / output (I / O) interface 1958. The electronic device 1900 may operate based on an operating system stored in the memory 1932, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, or the like.
[0094] In an exemplary embodiment, a non-volatile computer-readable storage medium is also provided, such as a memory 1932 including computer program instructions that can be executed by the processing component 1922 of the electronic device 1900 to perform the above method.
[0095] The present disclosure also provides a driver chip, which is used to execute the filtering method.
[0096] The above description is merely an exemplary embodiment of the present invention and is not intended to limit the scope of protection of the present invention. The scope of protection of the present invention is determined by the appended claims.
[0097] The word “exemplary” is used exclusively herein to mean “serving as an example, example, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.
[0098] It should be noted that, in this document, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or apparatus comprising the element.
[0099] The flow charts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the systems, methods and computer program products according to multiple embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and the part of the module, program segment or instruction contains one or more executable instructions for realizing the prescribed logical function. In some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented by a dedicated hardware-based system that performs the prescribed function or action, or can be implemented by a combination of dedicated hardware and computer instructions.
[0100] While various embodiments of the present disclosure have been described above, the above descriptions are illustrative, non-exhaustive, and not intended to be limiting of the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, their practical applications, or improvements to existing technologies, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A filtering method, characterized in that: include: determining a size and type of a filter window for filtering a sensor data array acquired by a sensor array, wherein the sensor array includes a plurality of touch sensors of a screen, the touch sensors being used to acquire sensor data in the sensor data array, and the types of the filter window including a row filter window and a column filter window; performing filtering processing on the sensor data within the filtering window at an initial position according to the size of the filtering window to obtain filtered data within the filtering window at the initial position, wherein the initial position is an initial position of the filtering window in the sensor data array; According to the type of the filter window, the filter window is moved from the initial position in the sensor data array to obtain filtered data within the filter window after each movement; Obtaining a filtered sensor data array based on the filtered data in the filtering window at the initial position and the filtered data in the filtering window after each movement; The filtering process is performed on the sensor data within the filter window at the initial position according to the size of the filter window to obtain the filtered data within the filter window at the initial position, including: Performing polynomial fitting processing based on the sensor data within the filtering window and index information of the sensor data to obtain polynomial coefficients, wherein the index information of the sensor data is determined based on the size of the filtering window, the sensor data within the filtering window constitutes a data sequence, and the index information is the index of the sensor data in the data sequence; Obtaining filtered data within the filtering window according to the polynomial coefficients and index information of the sensor data; The step of performing polynomial fitting processing based on the sensor data within the filter window and the index information of the sensor data to obtain polynomial coefficients includes: Obtaining an index matrix according to the index information and the degree of the polynomial; Obtaining the polynomial coefficients according to the index matrix and the sensor data within the filter window; The step of obtaining filtered data within the filtering window according to the polynomial coefficients and the index information of the sensor data includes: The filtered data within the filtering window is obtained according to the index matrix and the polynomial coefficients.
2. The method according to claim 1, characterized in that The determining of the type of the filter window for filtering the sensor data array acquired by the sensor array includes: In the case where the moving direction of the filter window is along the row direction, the type of the filter window is a column filter window; or In the case that the moving direction of the filter window is along the column direction, the type of the filter window is a row filter window.
3. The method according to claim 1, characterized in that The size of the filtering window is an odd number, the amount of sensor data within the filtering window is equal to the size of the filtering window, and the index information includes two or more sequence numbers that are opposite to each other and 0.
4. The method according to claim 1, wherein The determining of the size of a filter window for filtering the sensor data array acquired by the sensor array includes: The size of the filtering window is determined according to the number of rows or columns scanned in a single scan of the screen.
5. A filtering device, characterized in that: include: a filtering window determination module, configured to determine a size and type of a filtering window for filtering a sensor data array acquired by a sensor array, wherein the sensor array includes a plurality of touch sensors of a screen, the touch sensors being configured to acquire sensor data in the sensor data array, and the types of filtering windows including row filtering windows and column filtering windows; a filtering module, configured to filter the sensor data within the filtering window at an initial position according to a size of the filtering window to obtain filtered data within the filtering window at the initial position, wherein the initial position is an initial position of the filtering window in the sensor data array; a moving module, configured to move the filter window from the initial position in the sensor data array according to the type of the filter window, and obtain filtered data within the filter window after each movement; an acquisition module, configured to obtain a filtered sensor data array based on the filtered data in the filter window at the initial position and the filtered data in the filter window after each movement; The filtering module is further configured to: perform polynomial fitting processing based on the sensor data within the filtering window and index information of the sensor data to obtain polynomial coefficients, wherein the index information of the sensor data is determined based on the size of the filtering window, the sensor data within the filtering window constitutes a data sequence, and the index information is the index of the sensor data in the data sequence; obtain filtered data within the filtering window based on the polynomial coefficients and the index information of the sensor data; The filtering module is further configured to: obtain an index matrix according to the index information and the degree of the polynomial; and obtain polynomial coefficients according to the index matrix and the sensor data within the filtering window; The filtering module is further configured to obtain filtering data within the filtering window according to the index matrix and the polynomial coefficients.
6. A display device, characterized in that: The device comprises a plurality of display units and a processor, wherein the display unit comprises a sensor array, and the processor is configured to implement the method according to any one of claims 1 to 4 by executing instructions.
7. The display device according to claim 6, wherein: The display unit includes a display panel, and the display panel includes at least one of a liquid crystal display panel, a micro light-emitting diode display panel, a light-emitting diode display panel, a mini light-emitting diode display panel, a quantum dot light-emitting diode display panel, an organic light-emitting diode display panel, a cathode ray tube display panel, a digital light processing display panel, a field emission display panel, a plasma display panel, an electrophoretic display panel, an electrowetting display panel and a small-pitch display panel.
8. An electronic device comprising the display device according to claim 6 or 7.
9. A driver chip, characterized in that: The driver chip is used to execute the filtering method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Capacitive touch control trajectory noise signal smoothing filtering method
CN106407956A
FIR filter coefficient calculation for beam forming filters
CN107223345A