Touch device and touch positioning method
By projecting the inductive data into one-dimensional data and determining the projection peak point, the problems of touch positioning time and difficulty in obtaining contours in the prior art are solved, and the effect of quickly and accurately positioning the touch area and simple acquisition of contours is achieved.
Patent Information
- Application Number
- CN202111622942.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-28
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2041-12-28
AI Technical Summary
The touch positioning method of existing touch screens requires searching for sensing points one by one, which takes a long time and is difficult to obtain clear outlines of the touch area.
By projecting the induction data into one-dimensional projection data, the projection peak point is determined, and the actual peak induction point is determined according to the correspondence between the projection area and the induction data group, thereby quickly positioning the touch area.
It realizes rapid and accurate positioning of the touch area, reduces scanning time, and can simply obtain the outline of the touch area, improving positioning accuracy.
Smart Images

Figure CN114327161B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of touch display technology, and in particular to a touch device and a touch positioning method. Background Art
[0002] With the development of science and technology, touch screens have been widely used in more and more electronic devices, and users can perform various operations on the devices through the touch screens.
[0003] Most of the existing touch screens are capacitive touch screens. The way for a capacitive touch device to determine whether a sensing point is touched is to detect the sensing amount of the sensing point, where the sensing amount is the capacitance change, and can be represented by the voltage change before and after the sensing point is touched. When the capacitive touch screen is pressed, a positive sensing peak will appear on the X-axis scanning line and the Y-axis scanning line where the touched point is located after the scanning lines in the X-axis and Y-axis directions are powered on, and the place where the sensing peak appears is the pressed position. In a touch screen system, after obtaining the sensing (Diff) data within a frame time, it is necessary to quickly obtain the peak area of the pressing to locate the touch area.
[0004] In the prior art, to determine the peak area of the press, the touch device needs to search all the sensing points (sensors) on the touch screen one by one by row and column and find the position where the sensing is greater than a predetermined threshold and greater than the adjacent sensing points. This is time-consuming, the search features are relatively simple, the contour information is difficult to obtain, and the digital circuit hardware is difficult. Summary of the invention
[0005] In view of the above problems, an object of the present invention is to provide a touch control device and a touch control positioning method, so as to quickly and accurately locate the peak area.
[0006] According to one aspect of the present invention, a touch positioning method is provided, comprising: obtaining a sensing data group, the sensing data group comprising a plurality of sensing data arranged in an array; projecting the maximum sensing data of each column in the sensing data group onto a first coordinate axis to form a first direction projection area; projecting the maximum sensing data of each row in the sensing data group onto a second coordinate axis to form a second direction projection area; respectively obtaining projection peak points of the first direction projection area and the second direction projection area; determining an actual peak sensing point according to the corresponding relationship between the projection peak points of the first direction projection area and the second direction projection area and the sensing data group; and determining a touch track according to each of the peak sensing points.
[0007] Optionally, the peak sensing area where each peak sensing point is located is determined according to the projection peak points of the first direction projection area and the second direction projection area.
[0008] Optionally, the step of respectively obtaining the projection peak points of the first direction projection area and the second direction projection area includes: traversing the first direction projection area and the second direction projection area respectively, and determining the projection point whose sensing data is greater than a set threshold and greater than the sensing data adjacent to it as the projection peak point.
[0009] Optionally, the step of determining the actual peak sensing point according to the corresponding relationship between the projection peak points of the first-direction projection area and the second-direction projection area and the sensing data group includes: determining a row of sensing data corresponding to at least one first peak sensing point of the first-direction projection area in the sensing data group as a first candidate channel; determining a column of sensing data corresponding to at least one second peak sensing point of the second-direction projection area in the sensing data group as a second candidate channel; obtaining at least one sensing point at the intersection of the first candidate channel and the second candidate channel in the sensing data group; and determining a sensing point whose sensing data is greater than a set threshold among the at least one sensing point at the intersection as the actual peak sensing point.
[0010] Optionally, the step of determining the peak sensing area at the location of each peak sensing point based on the projection peak points of the first-direction projection area and the second-direction projection area includes: respectively obtaining the number of sensing points of each peak sensing point that is greater than a set threshold before and after the projection peak point of the first-direction projection area as the row width; respectively obtaining the number of sensing points of each peak sensing point that is greater than a set threshold before and after the projection peak point of the second-direction projection area as the column width; taking each peak sensing point as the center and determining the first peak area based on the sensing data corresponding to the row width and column width of each peak sensing point in the sensing quantity data group; and optimizing the edge of the first peak area to determine the peak sensing area at the location of each peak sensing point.
[0011] Optionally, the step of optimizing the edge of the first peak area to determine the peak sensing area where each peak sensing point is located includes: comparing the sensing data of a boundary on the first peak area with a set threshold value; if the sensing data on the boundary are all smaller than the set threshold value, moving the boundary in a direction close to the peak sensing point until at least one sensing data greater than the set threshold value appears in the boundary; repeating the above comparison until all four boundaries of the first peak area are adjusted; and setting the area determined by the four boundaries after adjustment as the final peak sensing area.
[0012] Optionally, the step of optimizing the edge of the first peak area to determine the peak area where each peak sensing point is located includes: comparing the sensing data of a boundary on the first peak area with a set threshold value, and if the sensing data on the boundary are all greater than the set threshold value, moving the boundary in a direction away from the peak sensing point until at least one sensing data in the boundary is less than the set threshold value; repeating the above comparison until all four boundaries of the first peak area are adjusted; and setting the area determined by the four boundaries after adjustment as the final peak sensing area.
[0013] According to another aspect of the present invention, a touch device is provided, comprising: an acquisition module, used to acquire a sensing data group, wherein the sensing data group comprises a plurality of sensing data arranged in an array; a projection module, used to project the maximum sensing data of each column in the sensing data group onto a first coordinate axis to form a first-direction projection area; and project the maximum sensing data of each row in the sensing data group onto a second coordinate axis to form a second-direction projection area; a calculation module, used to respectively acquire projection peak points of the first-direction projection area and the second-direction projection area; a positioning module, used to determine an actual peak sensing point according to the corresponding relationship between the projection peak points of the first-direction projection area and the second-direction projection area and the sensing data group; and determine a touch track according to each of the peak sensing points.
[0014] Optionally, the positioning module is further used to determine the peak region area where each peak sensing point is located according to the projection peak points of the first direction projection area and the second direction projection area.
[0015] Optionally, the calculation module is configured to: traverse the first direction projection area and the second direction projection area respectively, and determine the projection point whose sensing data is greater than a set threshold and greater than the sensing data adjacent to it as the projection peak point.
[0016] Optionally, the positioning module is configured to: determine a row of sensing data corresponding to at least one first peak sensing point in the first direction projection area in the sensing data group as a first alternative channel; determine a column of sensing data corresponding to at least one second peak sensing point in the second direction projection area in the sensing data group as a second alternative channel; obtain at least one sensing point at the intersection of the first alternative channel and the second alternative channel in the sensing data group; and determine a sensing point whose sensing data is greater than a set threshold among the at least one sensing point at the intersection as the actual peak sensing point.
[0017] Optionally, the positioning module is further configured to respectively obtain the number of sensing points of each peak sensing point greater than a set threshold before and after the projection peak point of the first direction projection area as the row width; respectively obtain the number of sensing points of each peak sensing point greater than a set threshold before and after the projection peak point of the second direction projection area as the column width; take each peak sensing point as the center, and determine the first peak area according to the sensing data corresponding to the row width and column width of each peak sensing point in the sensing quantity data group; and optimize the edge of the first peak area to determine the peak sensing area where each peak sensing point is located.
[0018] Optionally, the positioning module is further configured to perform the following operations to optimize the edge of the first peak area: compare the sensing data of a boundary on the first peak area with a set threshold value; if the sensing data on the boundary are all smaller than the set threshold value, move the boundary in a direction close to the peak sensing point until at least one sensing data in the boundary is larger than the set threshold value; repeat the above comparison until all four boundaries of the first peak area are adjusted; and set the area determined by the four boundaries after the adjustment as the final peak sensing area.
[0019] Optionally, the positioning module is further configured to perform the following operations to optimize the edge of the first peak area: compare the sensing data of a boundary on the first peak area with a set threshold value; if the sensing data on the boundary are all greater than the set threshold value, move the boundary in a direction away from the peak sensing point until at least one sensing data in the boundary is less than the set threshold value; repeat the above comparison until all four boundaries of the first peak area are adjusted; and set the area determined by the four boundaries after the adjustment as the final peak sensing area.
[0020] According to another aspect of the present invention, a touch device is provided, comprising: a touch screen and a controller connected to each other, wherein the touch screen is used to receive a touch action; and the controller is used to execute the touch positioning method as described above based on the touch action.
[0021] According to another aspect of the present invention, a computer-readable storage medium is provided, which is used to store computer instructions, and when the computer instructions are executed, the touch positioning method as described above is implemented.
[0022] The touch positioning method and touch device provided by the present invention, after acquiring a sensing data group within one frame time, project the two-dimensional sensing data into one-dimensional projection data, determine the projection peak point, and then determine the actual peak sensing point according to the projection correspondence between the first direction projection area and the second direction projection area and the sensing data group. The scanning time is short and the touch area can be quickly positioned.
[0023] In a preferred embodiment, the row width and column width of each peak sensing point are determined according to the number of peak points before and after the projection peak points in the first direction projection area and the second direction projection area that are greater than a predetermined threshold, thereby determining the first peak area at the location of each peak sensing point, and then optimizing the edge of the first peak area to determine the peak sensing area, i.e., the touch area, so that the contour of the touch area can be easily obtained and the positioning of the touch area can be accurate. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] The above and other objects, features and advantages of the present invention will become more apparent through the following description of the embodiments of the present invention with reference to the accompanying drawings, in which:
[0025] Figure 1 A schematic diagram of a touch control device in the prior art is shown.
[0026] Figure 2 A flow chart of a touch positioning method according to an embodiment of the present invention is shown.
[0027] Figure 3 One of the schematic diagrams of the touch positioning method according to an embodiment of the present invention is shown.
[0028] Figure 4 A second schematic diagram of a touch positioning method according to an embodiment of the present invention is shown.
[0029] Figure 5 A third schematic diagram of a touch positioning method according to an embodiment of the present invention is shown.
[0030] Figure 6 A fourth schematic diagram of a touch positioning method according to an embodiment of the present invention is shown.
[0031] Figure 7 A touch control device according to an embodiment of the present invention is shown. DETAILED DESCRIPTION
[0032] Various embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. In each of the accompanying drawings, the same elements or modules are represented by the same or similar reference numerals. For the sake of clarity, the various parts in the accompanying drawings are not drawn to scale.
[0033] It should be understood that in the following description, a "circuit" may include a single or multiple combined hardware circuits, programmable circuits, state machine circuits, and / or elements capable of storing instructions executed by programmable circuits. When an element or circuit is said to be "connected to" another element or an element or circuit is said to be "connected between" two nodes, it may be directly coupled or connected to another element or there may be an intermediate element, and the connection between the elements may be physical, logical, or a combination thereof. Conversely, when an element is said to be "directly coupled to" or "directly connected to" another element, it means that there is no intermediate element between the two.
[0034] At the same time, certain words are used in this patent specification and claims to refer to specific components. It should be understood by those skilled in the art that hardware manufacturers may use different terms to refer to the same component. This patent specification and claims do not use differences in names as a way to distinguish components, but rather use differences in components' functions as the criteria for distinction.
[0035] In addition, it should be noted that, in this article, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or equipment including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or equipment. In the absence of more restrictions, the elements defined by the statement "comprise one..." do not exclude the existence of other identical elements in the process, method, article or equipment including the elements.
[0036] Figure 1 FIG. 1 shows a schematic diagram of a touch control device according to the prior art. Figure 1 The touch control device includes a touch control sensing unit, which includes a plurality of first sensing lines 11, a plurality of second sensing lines 12, a front-end circuit 13, and a touch sensor 14. The plurality of first sensing lines 11 and the plurality of second sensing lines 12 are insulated from each other and cross each other to form a plurality of sensing points 15. The plurality of first sensing lines 11 are parallel to each other and extend in a first direction (such as the X direction), and the plurality of second sensing lines 12 are parallel to each other and extend in a second direction (such as the Y direction). The plurality of first sensing lines 11 are electrically connected to the front-end circuit 13, and the front-end circuit 13 is electrically connected to the touch sensor 14.
[0037] When the touch screen is pressed, the sensing capacitance corresponding to the touched sensing point 15 will change, and the front-end circuit 13 can obtain the sensing data of the touched sensing point 15. The touch sensor 14 obtains the sensing data of each sensing point 15 in a specific scanning order, and finds out multiple sensing points whose sensing data is greater than a predetermined threshold. Then, the touch sensor 14 scans the entire screen in a specific scanning order and compares the sensing data of the sensing point 15 whose sensing data is greater than the predetermined threshold with the sensing data of multiple adjacent sensing points 15 to determine the peak sensing.
[0038] In order to better understand the present invention, the present invention is described in detail below through a set of sensing data. Figure 3 -Attached Figure 6 The same set of sensing data is used, which is the sensing data within one frame time, with a total of 32 rows and 18 columns.
[0039] Figure 2 A flow chart of a touch positioning method according to an embodiment of the present invention is shown; Figure 3 A schematic diagram of a touch positioning method according to an embodiment of the present invention is shown; Figure 4 A second schematic diagram of a touch positioning method according to an embodiment of the present invention is shown; Figure 5 A third schematic diagram of a touch positioning method according to an embodiment of the present invention is shown; Figure 6 A fourth schematic diagram of a touch positioning method according to an embodiment of the present invention is shown.
[0040] The touch positioning method provided by the present invention comprises:
[0041] S1: Acquire a sensing data set, where the sensing data set includes a plurality of sensing data arranged in an array;
[0042] S2: Projecting the maximum sensing data of each row in the sensing data group onto the first coordinate axis to form a first direction projection area 20; projecting the maximum sensing data of each column in the sensing data group onto the second coordinate axis to form a second direction projection area 30;
[0043] S3: respectively obtaining the projection peak points of the first direction projection area 20 and the second direction projection area 30;
[0044] S4: determining an actual peak sensing point according to the corresponding relationship between the projection peak points of the first direction projection area 20 and the second direction projection area 30 and the sensing data group; and determining a touch track according to each peak sensing point.
[0045] Further, step S2: projecting the maximum sensing data of each column in the sensing data group onto the first coordinate axis to form a first direction projection area 20; projecting the maximum sensing data of each row in the sensing data group onto the second coordinate axis to form a second direction projection area 30, wherein the projection can be realized by a pure software program, and the specific procedure is as follows:
[0046]
[0047]
[0048] In the above program, int16 is the width of the data, XN is the projection in the X-axis direction, YN is the projection in the Y-axis direction, Diff is the sensing value, Diff
[32]
[18] is a frame of sensing value data 32 rows * 18 columns, memcpy is memory copy, for(int i=0;i<32;i++) is to search by row, YN[i]=Diff[i][0] is the initial value of the Y-axis projection, for(int j=0;j<18;j++){if(Diff[i][j]>YN[i]){YN[i]=Diff[i][j] is 18 times to complete one row of projection, if(Diff[i][j]>XN[j]){′XN[j]=Diff[i][j];} is to complete one row of projection on the X-axis.
[0049] Further, step S2: projecting the maximum sensing data of each column in the sensing data group onto the first coordinate axis to form a first direction projection area 20; projecting the maximum sensing data of each row in the sensing data group onto the second coordinate axis to form a second direction projection area 30, wherein the projection can be realized by an ALU accelerator in conjunction with a software program, and the specific formula is as follows:
[0050] XN=(x 1 x 2 …x N-1 x N )
[0051] B=(Diff[m][0] Diff[m][1]...Diff[m][N-2] Diff[m][N-1])
[0052] XN=((max(x 1 ,Diff[m][0]) max(x 2 ,Diff[m][1])...max(x N-1 ,Diff[m][N-2])max(x N , Diff[m][N-1])))
[0053] YN=(y1 y 2 …y M-1 y M )
[0054] B=(Diff[0][n] Diff[1][n]…Diff[M-2][n] Diff[M-1][n])
[0055] YN=((max(y 1 ,Diff[0][n]) max(y 2 ,Diff[1][n])...max(y N-1 ,Diff[M-2][n])max(y N , Diff[M-2][n])))
[0056] ALU is, for example, a computing accelerator module of an IC, and is a combinational logic circuit that can implement multiple sets of arithmetic operations and logic operations. In the above formula, XN is the projection in the X-axis direction, YN is the projection in the Y-axis direction, M is the maximum number of rows for full-screen sensing, N is the maximum number of columns for full-screen sensing, N is a positive integer, XN' / YN' is the maximum value of the column / row sensing data calculated by the ALU micro-operator, and B is the set of sensing quantities. After M+N times of ALU operations, the projection in the X-axis direction and the projection in the Y-axis direction can be obtained, forming the following: Figure 3-Figure 6 The first direction projection area 20 and the second direction projection area 30 are shown.
[0057] Furthermore, step S3: the step of respectively obtaining the projection peak points of the first direction projection area 20 and the second direction projection area 30 includes:
[0058] The first direction projection area 20 and the second direction projection area 30 are traversed respectively, and a projection point whose sensing data is greater than a set threshold (the set threshold in this embodiment is 150 as an example) and greater than the sensing data adjacent thereto is determined as a projection peak point. Figure 3-Figure 6 The point where the data is circled by the dotted ellipse is the projection peak point on the first direction projection area 20 and the second direction projection area 30 , and the projection peak point can be obtained by the ALU algorithm.
[0059] Further, step S4: the step of determining the actual peak sensing point according to the corresponding relationship between the projection peak points of the first direction projection area 20 and the second direction projection area 30 and the sensing data group includes: determining a row of sensing data corresponding to at least one first peak sensing point of the first direction projection area 20 in the sensing data group as a first alternative channel; determining a column of sensing data corresponding to at least one second peak sensing point of the second direction projection area 30 in the sensing data group as a second alternative channel; obtaining at least one sensing point at the intersection of the first alternative channel and the second alternative channel in the sensing data group; and determining a sensing point whose sensing data in at least one sensing point at the intersection is greater than a set threshold as an actual peak sensing point.
[0060] Reference Figure 5 , the row where the sensing data 737, 767, 800, 879, 807 at the first peak sensing point of the first direction projection area 20 is located is the first candidate channel, and the column where the sensing data 807, 767, 879, 800 at the second peak sensing point of the second direction projection area 30 is located is the second candidate channel. The first candidate channel where the sensing data 737 is located intersects with the second candidate channel to obtain intersection points R(1,1), G(1,2), G(1,3), G(1,4), and then the intersection point R(1,1) is determined. The relationship between G(1,2), G(1,3), G(1,1) and the predetermined threshold value can be determined in any manner and can be determined by a software program or an ALU algorithm. If only the sensing data at the intersection R(1,1) is greater than the predetermined threshold value, then the intersection R(1,1) is the actual peak sensing point, and if the sensing data at the intersections G(1,2), G(1,3), G(1,1) are less than the predetermined threshold value, then G(1,2), G(1,3), G(1,4) are the ghost points described in the art and need to be filtered out. Figure 5 For clarity of display, only some intersections are shown. In the actual judgment process, it is necessary to obtain the intersections of all first candidate channels and second candidate channels, compare the sensing data on all intersections with a predetermined threshold, and then filter out the points where the sensing data is less than the predetermined threshold.
[0061] The touch positioning method provided by the embodiment of the present invention projects the two-dimensional sensing data into one-dimensional projection data after acquiring the sensing data within one frame time, and after determining the projection peak point, determines the actual peak sensing point according to the projection correspondence between the first direction projection area 20 and the second direction projection area 30 and the sensing data group. The scanning time is short and the touch area can be quickly positioned.
[0062] The touch positioning method provided by the present invention can also determine the peak sensing area where each peak sensing point is located according to the projection peak points of the first direction projection area 20 and the second direction projection area 30 .
[0063] Further, the step of determining the peak sensing area where each peak sensing point is located according to the projection peak points of the first direction projection area 20 and the second direction projection area 30 includes: obtaining the number of sensing points of each peak sensing point that is greater than the set threshold before and after the projection peak point of the first direction projection area 20 as the row width; obtaining the number of sensing points of each peak sensing point that is greater than the set threshold before and after the projection peak point of the second direction projection area as the column width; taking each peak sensing point as the center, and determining the first peak area according to the sensing data corresponding to the row width and column width of each peak sensing point in the sensing quantity data group; and optimizing the edge of the first peak area to determine the peak sensing area where each peak sensing point is located. Among them, the area where the projection peak point and the sensing points before and after it that are greater than the set threshold are located is the projection peak area.
[0064] Reference Figure 5 , taking the sensing data 807 at the actual peak sensing point as an example, its projection peak area in the first direction projection area 20 is YP5, there is a data 379 greater than the predetermined threshold before the projection peak 807, and there is a data 499 greater than the predetermined threshold after it, and its projection area in the second direction projection area is XP1, there are two data 169 and 567 greater than the predetermined threshold before it, and there are two data 790 and 346 greater than the predetermined threshold after it, so it can be determined that the row width of the peak sensing point is 1 before and 1 after it, and the column width is 2 before and 2 after it. YP1-YP4 is the projection peak area of the first projection area 20, and XP2-XP4 is the projection peak area of the second projection area 30. However, if the sensing data before and after the projection peak is other projection peaks, it will be automatically cut off and no longer calculated. Then, the actual peak sensing point where the sensing data 807 is located is taken as the center, and the first peak area of the peak sensing point where the sensing data 807 is located is determined according to the sensing data corresponding to the row width and column width of the peak sensing point in the sensing data group. The specific corresponding relationship is that the sensing data 807 is taken as the center, and the overlapping area of the row where the sensing data 807 is located and the previous row and the next row and the column where the sensing data 807 is located and the previous two columns and the next two columns are determined as the first peak area of the peak sensing point, that is, Figure 6 Similarly, the first peak areas GP1-GP4 of other peak sensing points can be determined. It can be seen from the figure that because there may be more than two peak points in the same column or row in the sensing data group, shadow coverage occurs during projection, causing deviations in the row width or column width, so the first peak area obtained will be inaccurate, so it is necessary to optimize its edges to obtain the actual peak sensing area.
[0065] Further, the step of optimizing the edge of the first peak region to determine the peak sensing region where each peak sensing point is located includes: comparing the sensing data of a boundary on the first peak region with a set threshold value, if the sensing data on the boundary are all less than the set threshold value, then moving the boundary in a direction close to the peak sensing point until at least one sensing data greater than the set threshold value appears in the boundary, then the boundary where the sensing data is located is the boundary in this direction; repeating the above comparison until all four boundaries of the first peak region are adjusted; and setting the region determined by the four boundaries after adjustment as the final peak sensing region. Comparing the sensing data of a boundary on the first peak region with a set threshold value, if the sensing data on the boundary are all greater than the set threshold value, then moving the boundary in a direction away from the peak sensing point until at least one sensing data less than the set threshold value appears in the boundary, then the boundary of the previous position where the sensing data is located is the boundary in this direction; repeating the above comparison until all four boundaries of the first peak region are adjusted; and setting the region determined by the four boundaries after adjustment as the final peak sensing region.
[0066] Reference Figure 6 , the first peak areas GP1, GP5, and GP3 all need to optimize the edges. The boundaries of GP1 and GP5 with arrows need to be searched in the direction close to the peak sensing point, that is, in the direction indicated by the arrow, until at least one sensing data greater than the set threshold appears in the boundary, and the boundary at its location is determined as the true boundary of GP1 and GP5; the boundary of GP3 with an arrow needs to be moved away from the peak sensing point, that is, in the direction indicated by the arrow, until at least one sensing data less than the set threshold appears in the boundary, and the boundary of the previous position of its location is determined as the true boundary of GP3.
[0067] The touch positioning method provided by the embodiment of the present invention determines the row width and column width of each peak sensing point according to the number of peak points before and after the projection peak points of the first direction projection area 20 and the second direction projection area 30 that are greater than a predetermined threshold, thereby determining the first peak area where each peak sensing point is located, and then optimizing the edge of the first peak area to determine the peak sensing area, that is, the touch area, so that the contour of the touch area is easy to obtain and the positioning of the touch area is accurate.
[0068] The present invention also provides a touch control device. Figure 7 A touch control device according to an embodiment of the present invention is shown, comprising:
[0069] An acquisition module, used for acquiring a sensing data group, wherein the sensing data group includes a plurality of sensing data arranged in an array;
[0070] A projection module is used to project the maximum sensing data of each row in the sensing data group onto the first coordinate axis to form a first direction projection area 20; and project the maximum sensing data of each column in the sensing data group onto the second coordinate axis to form a second direction projection area 30;
[0071] A calculation module, used to obtain the projection peak points of the first direction projection area 20 and the second direction projection area 30 respectively;
[0072] The positioning module determines the actual peak sensing point according to the corresponding relationship between the projection peak points of the first direction projection area 20 and the second direction projection area 30 and the sensing data group; and determines the touch track according to each peak sensing point.
[0073] Furthermore, the projection module can realize projection through pure software program, ALU accelerator and software. The specific program or formula is shown in the above touch positioning method, which will not be described in detail here.
[0074] Further, the calculation module is configured to traverse the first direction projection area 20 and the second direction projection area 30 respectively, and determine the projection point whose sensing data is greater than a set threshold (the set threshold in this embodiment is 150 as an example) and greater than the sensing data adjacent to it as the projection peak point. The above calculation can be completed using, for example, an ALU algorithm, and the algorithm program can be placed in a computer-readable storage medium.
[0075] Further, the positioning module is configured as follows: the step of determining the actual peak sensing point according to the corresponding relationship between the projection peak points of the first direction projection area 20 and the second direction projection area 30 and the sensing data group includes: determining a row of sensing data corresponding to at least one first peak sensing point of the first direction projection area 20 in the sensing data group as a first candidate channel; determining a column of sensing data corresponding to at least one second peak sensing point of the second direction projection area 30 in the sensing data group as a second candidate channel; obtaining at least one sensing point at the intersection of the first candidate channel and the second candidate channel in the sensing data group; and determining a sensing point whose sensing data in at least one sensing point at the intersection is greater than a set threshold as an actual peak sensing point, and filtering out a sensing point whose sensing data in at least one sensing point at the intersection is less than the set threshold.
[0076] In the touch device provided by the embodiment of the present invention, after the projection module obtains the sensing data within one frame time, it projects the two-dimensional sensing data into one-dimensional projection data. After the calculation module determines the projection peak point, the positioning module determines the actual peak sensing point according to the projection correspondence between the first direction projection area 20 and the second direction projection area 30 and the sensing data group. The scanning time is short and the touch area can be quickly located.
[0077] In the touch control device provided by the present invention, the positioning module can also determine the peak sensing area where each peak sensing point is located according to the projection peak points of the first direction projection area 20 and the second direction projection area 30 .
[0078] Furthermore, the positioning module is also configured to: respectively obtain the number of sensing points of each peak sensing point that is greater than the set threshold before and after the projection peak point of the projection area 20 in the first direction as the row width; respectively obtain the number of sensing points of each peak sensing point that is greater than the set threshold before and after the projection peak point of the projection area in the second direction as the column width; take each peak sensing point as the center, and determine the first peak area according to the sensing data corresponding to the row width and column width of each peak sensing point in the sensing quantity data group; and optimize the edge of the first peak area to determine the peak sensing area where each peak sensing point is located. Among them, the area where the projection peak point and the sensing points before and after it that are greater than the set threshold are located is the projection peak area.
[0079] Further, the positioning module is also configured to perform the following operations to optimize the edge of the first peak area: compare the sensing data of a boundary on the first peak area with the set threshold value, if the sensing data on the boundary are all less than the set threshold value, move the boundary in the direction close to the peak sensing point until at least one sensing data greater than the set threshold value appears in the boundary, then the boundary where the sensing data is located is the boundary in this direction; repeat the above comparison until the four boundaries of the first peak area are all adjusted; and set the area determined by the four boundaries after adjustment as the final peak sensing area. Compare the sensing data of a boundary on the first peak area with the set threshold value, if the sensing data on the boundary are all greater than the set threshold value, move the boundary in the direction away from the peak sensing point until at least one sensing data less than the set threshold value appears in the boundary, then the boundary of the previous position where the sensing data is located is the boundary in this direction; repeat the above comparison until the four boundaries of the first peak area are all adjusted; and set the area determined by the four boundaries after adjustment as the final peak sensing area.
[0080] In the touch device provided by the embodiment of the present invention, the positioning module determines the row width and column width of each peak sensing point according to the number of peak points before and after the projection peak points of the first direction projection area 20 and the second direction projection area 30 that are greater than a predetermined threshold, thereby determining the first peak area where each peak sensing point is located, and then optimizing the edge of the first peak area to determine the peak sensing area, that is, the touch area, so that the contour of the touch area is easy to obtain and the positioning of the touch area is accurate.
[0081] An embodiment of the present invention further provides a touch control device, comprising: a touch screen and a controller connected to each other, wherein the touch screen is used to receive a touch control action; and the controller is used to execute the touch control positioning method of the embodiment based on the touch control action.
[0082] The touch device provided by the embodiment of the present invention executes the touch positioning method of the embodiment through a controller, projects the two-dimensional sensing data into one-dimensional projection data, and after determining the projection peak point, determines the actual peak sensing point according to the projection correspondence between the first direction projection area 20 and the second direction projection area 30 and the sensing data group. The scanning time is short and the touch area can be quickly located.
[0083] An embodiment of the present invention further provides a computer-readable storage medium, which stores computer instructions. When the computer instructions are executed, the touch positioning method of the embodiment is implemented.
[0084] Specifically, the readable storage medium includes: a USB flash drive, a mobile hard disk, a read-only memory, and other media that can store program codes.
[0085] The computer-readable storage medium provided by the embodiment of the present invention implements the application program of the embodiment when the computing instruction is executed, and can quickly and accurately locate the touch area.
[0086] It should be noted that it will be understood by those skilled in the art that the words "during", "when" and "when..." used in this article in connection with the operation of the circuit are not strict terms indicating an action that occurs immediately when the start-up action begins, but that there may be some small but reasonable delay or delays between it and the reaction action initiated by the start-up action, such as various transmission delays, etc. The words "approximately" or "substantially" used in this article mean that the element value has a parameter that is expected to be close to the declared value or position. However, as is well known in the art, there are always slight deviations that make it difficult for the value or position to be strictly the declared value. It has been properly determined in the art that a deviation of at least ten percent (10%) (for semiconductor doping concentrations, at least twenty percent (20%)) is a reasonable deviation from the accurate ideal target described. When used in conjunction with a signal state, the actual voltage value or logic state (e.g., "1" or "0") of the signal depends on whether positive logic or negative logic is used.
[0087] The multiple steps in the method described herein, unless otherwise specified, are merely examples and are not intended to strictly limit the order of the steps. A person skilled in the art may change the order of the multiple steps according to actual process conditions. The number of components in the product described herein, unless otherwise specified, is merely an example and is not intended to strictly limit the numerical value of the number. A person skilled in the art may change the numerical value of the number according to actual product requirements.
[0088] According to the embodiments of the present invention, as described above, these embodiments do not describe all the details in detail, nor do they limit the invention to specific embodiments. Obviously, many modifications and changes can be made based on the above description. This specification selects and specifically describes these embodiments in order to better explain the principles and practical applications of the present invention, so that those skilled in the art can make good use of the present invention and the modified use based on the present invention. The scope of protection of the present invention shall be based on the scope defined by the claims of the present invention and their equivalents.
Claims
1. A touch positioning method, comprising: Acquire a sensing data group, wherein the sensing data group includes a plurality of sensing data arranged in an array; Projecting the maximum sensing data of each column in the sensing data group onto the first coordinate axis to form a first direction projection area; Projecting the maximum sensing data of each row in the sensing data group onto a second coordinate axis to form a second direction projection area; Respectively obtain the projection peak points of the first direction projection area and the second direction projection area; Determine an actual peak sensing point according to the corresponding relationship between the projection peak points of the first direction projection area and the second direction projection area and the sensing data group; as well as Determine the touch track according to each of the peak sensing points, The step of determining the actual peak sensing point according to the corresponding relationship between the projection peak points of the first direction projection area and the second direction projection area and the sensing data group comprises: In the sensing data group, a row of sensing data corresponding to at least one first peak sensing point in the projection area in the first direction is respectively determined as a first candidate channel; In the sensing data group, a column of sensing data corresponding to at least one second peak sensing point in the second direction projection area is respectively determined as a second candidate channel; Obtaining at least one sensing point at the intersection of the first candidate channel and the second candidate channel in the sensing data group; and A sensing point whose sensing data among at least one sensing point at the intersection position is greater than a set threshold is determined as the actual peak sensing point.
2. The touch positioning method according to claim 1, wherein: Also includes: The peak sensing area where each peak sensing point is located is determined according to the projection peak points of the first direction projection area and the second direction projection area.
3. According to the touch positioning method of claim 1, the step of respectively obtaining the projection peak points of the first direction projection area and the second direction projection area comprises: The first direction projection area and the second direction projection area are traversed respectively, and a projection point whose sensing data is greater than a set threshold and greater than the sensing data adjacent thereto is determined as the projection peak point.
4. The touch positioning method according to claim 2, wherein the step of determining the peak sensing area where each peak sensing point is located according to the projection peak points of the first direction projection area and the second direction projection area comprises: Respectively obtain the number of sensing points of each peak sensing point that is greater than a set threshold before and after the projection peak point of the projection area in the first direction as the line width; Respectively obtain the number of sensing points of each peak sensing point that is greater than a set threshold before and after the projection peak point of the projection area in the second direction as the column width; Taking each peak sensing point as the center, and determining a first peak area according to sensing data corresponding to the row width and column width of each peak sensing point in the sensing quantity data group; as well as The first peak area edge is optimized to determine the peak sensing area where each peak sensing point is located.
5. The touch positioning method according to claim 4, wherein the step of optimizing the edge of the first peak area to determine the peak sensing area where each peak sensing point is located comprises: Compare the sensing data of a boundary on the first peak area with a set threshold value, If all the sensing data on the boundary are smaller than the set threshold, the boundary is moved in a direction close to the peak sensing point until at least one sensing data in the boundary is larger than the set threshold; Repeat the above comparison until all four boundaries of the first peak area are adjusted; And the area determined by the four boundaries after adjustment is set as the final peak sensing area.
6. The touch positioning method according to claim 4, wherein the step of optimizing the edge of the first peak area to determine the peak area where each peak sensing point is located comprises: Compare the sensing data of a boundary on the first peak area with a set threshold value, and if the sensing data on the boundary are all greater than the set threshold value, move the boundary in a direction away from the peak sensing point until at least one sensing data in the boundary is less than the set threshold value; Repeat the above comparison until all four boundaries of the first peak area are adjusted; And the area determined by the four boundaries after adjustment is set as the final peak sensing area.
7. A touch device, comprising: An acquisition module, used for acquiring a sensing data group, wherein the sensing data group includes a plurality of sensing data arranged in an array; A projection module, used for projecting the maximum sensing data of each column in the sensing data group onto a first coordinate axis to form a first direction projection area; Projecting the maximum sensing data of each row in the sensing data group onto a second coordinate axis to form a second direction projection area; A calculation module, used to respectively obtain the projection peak points of the first direction projection area and the second direction projection area; a positioning module, configured to determine an actual peak sensing point according to a corresponding relationship between the projection peak points of the first direction projection area and the second direction projection area and the sensing data group; and Determine the touch track according to each of the peak sensing points, Wherein, the positioning module is configured as follows: In the sensing data group, a row of sensing data corresponding to at least one first peak sensing point in the projection area in the first direction is respectively determined as a first candidate channel; In the sensing data group, a column of sensing data corresponding to at least one second peak sensing point in the second direction projection area is respectively determined as a second candidate channel; Obtaining at least one sensing point at the intersection of the first candidate channel and the second candidate channel in the sensing data group; and A sensing point whose sensing data among at least one sensing point at the intersection position is greater than a set threshold is determined as the actual peak sensing point.
8. The touch control device according to claim 7, wherein: The positioning module is further used to determine the peak sensing area where each peak sensing point is located according to the projection peak points of the first direction projection area and the second direction projection area.
9. The touch control device according to claim 7, wherein the calculation module is configured as follows: The first direction projection area and the second direction projection area are traversed respectively, and a projection point whose sensing data is greater than a set threshold and greater than the sensing data adjacent thereto is determined as the projection peak point.
10. The touch control device according to claim 7, wherein the positioning module is further configured to: Respectively obtain the number of sensing points of each peak sensing point that is greater than a set threshold before and after the projection peak point of the projection area in the first direction as the line width; Respectively obtain the number of sensing points of each peak sensing point that is greater than a set threshold before and after the projection peak point of the projection area in the second direction as the column width; Taking each peak sensing point as the center, and determining a first peak area according to sensing data corresponding to the row width and column width of each peak sensing point in the sensing quantity data group; and The first peak area edge is optimized to determine the peak sensing area where each peak sensing point is located.
11. The touch control device according to claim 10, wherein the positioning module is further configured to perform the following operations to optimize the edge of the first peak area: Compare the sensing data of a boundary on the first peak area with a set threshold value, If all the sensing data on the boundary are smaller than the set threshold, the boundary is moved in a direction close to the peak sensing point until at least one sensing data in the boundary is larger than the set threshold; The above comparison is repeated until the four boundaries of the first peak area are all adjusted; and the area determined by the four boundaries after the adjustment is set as the final peak sensing area.
12. The touch control device according to claim 10, wherein the positioning module is further configured to perform the following operations to optimize the edge of the first peak area: Compare the sensing data of a boundary on the first peak area with a set threshold value, If all the sensing data on the boundary are greater than the set threshold, the boundary is moved in a direction away from the peak sensing point until at least one sensing data in the boundary is less than the set threshold; Repeat the above comparison until all four boundaries of the first peak area are adjusted; And the area determined by the four boundaries after adjustment is set as the final peak sensing area.
13. A touch device, comprising: Interconnected touch screen and controller, where The touch screen is used to receive touch actions; The controller is used to execute the touch positioning method according to any one of claims 1 to 6 based on the touch action.
14. A computer-readable storage medium, used for storing computer instructions, which, when executed, implement the touch positioning method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Method For Determining Coordinates Of Touches
US20130154993A1
Touch sensitive displays
US20150130750A1