Non-contact input device

JP7651803B2Active Publication Date: 2025-03-27ALPS ALPINE CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2021138377
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-08-26
Publication Date
2025-03-27
Estimated Expiration
2041-08-26

AI Technical Summary

Benefits of technology

【0007】 非接触操作の有無と操作の位置を判定可能な非接触入力装置を提供することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007651803000004
    Figure 0007651803000004
  • Figure 0007651803000005
    Figure 0007651803000005
  • Figure 0007651803000006
    Figure 0007651803000006
Patent Text Reader

Abstract

To provide a non-contact input device capable of determining the presence / absence of a non-contact operation and the position of the operation.SOLUTION: A non-contact input device is provided, comprising: multiple sensor electrodes for sensing capacitance corresponding to how close a hand performing contactless input operation on an operating panel of an operating unit is to the operating surface; and a determination unit configured to compute acutance levels of the hand at multiple positions that are different in plan views based on capacitance sensed by the multiple sensor electrodes to determine the position of the input operation based on the acutance levels.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a non-contact input device. [Background technology]

[0002] Conventionally, there has been a touchpad input device equipped with a control unit having a palm rejection function that detects a change in an electrical variable caused by an object approaching an operation surface and determines whether a contact area of ​​the object calculated by the detection is caused by a fingertip or a palm. The determination of whether an operation is performed by a fingertip or a palm is made based on the area of ​​the contact area (for example, see Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2015-141425 A Summary of the Invention [Problem to be solved by the invention]

[0004] Conventional touch pad input devices are designed to be touched by hand on the operation surface, but there are cases where a user wishes to perform an operation input in a non-contact manner, without touching the operation surface with his / her hand.

[0005] It is therefore an object of the present invention to provide a non-contact input device capable of determining the presence or absence of a non-contact operation and the position of the operation. [Means for solving the problem]

[0006] A non-contact input device according to an embodiment of the present invention includes a plurality of sensor electrodes that detect a capacitance corresponding to a state in which a hand, which performs a non-contact operation input to an operation surface of an operation unit, is in proximity to the operation surface, and a determination unit that calculates the sharpness of the hand at a plurality of different positions in a planar view based on the capacitance detected by the plurality of sensor electrodes, and determines the position of the operation input based on the plurality of sharpnesses. Effect of the Invention

[0007] It is possible to provide a non-contact input device capable of determining the presence or absence of a non-contact operation and the position of the operation. [Brief description of the drawings]

[0008] [Figure 1] 1 is a diagram illustrating an example of a configuration of an electronic device 100 including a non-contact input device according to an embodiment. [Diagram 2] 1 is a diagram illustrating an example of a configuration of an electronic device 100 including a non-contact input device according to an embodiment. [Diagram 3] 1 is a diagram illustrating an example of a configuration of an electronic device 100 including a non-contact input device according to an embodiment. [Figure 4] 1 is a diagram illustrating an example of a configuration of a non-contact input device 100A according to an embodiment. [Diagram 5] 13 is a diagram showing an example of the distribution of difference values ​​ΔAD and their reciprocals with respect to the relationship between a hand H and an electrode surface of the electrostatic sensor 120. FIG. [Figure 6] FIG. 13 is a diagram showing an example of the distribution of reciprocals in the length and width directions of a hand H. [Figure 7] 1 is a diagram illustrating exemplary quadratic coefficients of a quadratic curve fitting to a fingertip FT and a palm P. FIG. [Figure 8] FIG. 13 is a flowchart showing a process for determining the position of a fingertip FT. [Figure 9] FIG. 13 is a flowchart showing a process for determining the position of a fingertip FT. [Figure 10] FIG. 13 is a flowchart showing a process for determining the position of a fingertip FT. [Figure 11] FIG. 13 is a flowchart showing a process for determining the position of a fingertip FT. [Figure 12] FIG. 13 is a flowchart showing a process for determining the position of a fingertip FT. [Figure 13] FIG. 13 is a flowchart showing a process for determining the position of a fingertip FT. [Figure 14]13 is a diagram showing the distribution of difference values ​​ΔAD, the distribution of the inverses, and column j that gives the minimum value Minimum(i) of the inverses represented by Column(i). FIG. [Figure 15] 13 is a diagram showing targets for which sharpness is calculated, the minimum value Minimum(i), the results of sharpness calculation, the maximum sharpness, and coordinates. FIG. [Figure 16] FIG. 13 is a flowchart showing a process of calculating sharpness that is performed based on a subroutine “sub sharpness calculation” according to a first modified example. [Figure 17] FIG. 13 is a diagram showing the relationship between xy coordinates and a fingertip FT. [Figure 18] FIG. 13 is a flowchart showing a process of calculating sharpness that is performed based on a subroutine “sub sharpness calculation” according to a second modified example. [Figure 19] FIG. 13 is a flowchart showing a process of calculating sharpness that is performed based on a subroutine “sub sharpness calculation” according to a third modified example. [Figure 20] FIG. 13 is a flowchart showing a process for calculating sharpness performed based on a subroutine “sub fingertip identification” according to a fourth modified example. [Figure 21] FIG. 13 is a flowchart showing a process for determining the position of a fingertip FT according to a fifth modified example. [Figure 22] FIG. 13 is a flowchart showing a process for determining the position of a fingertip FT according to a fifth modified example. [Diagram 23] FIG. 13 is a flowchart showing a process for determining the position of a fingertip FT according to a fifth modified example. [Figure 24] FIG. 13 shows the ranks of difference values ​​ΔAD obtained from sensor electrodes 121 arranged in 5 rows and 6 columns, the absolute value of the variance of BigX(i), and the absolute value of the covariance of BigX(i) and BigY(i). [Diagram 25] 21 is a diagram showing a determination result in the process of identifying a fingertip according to the fourth modified example shown in FIG. 20. FIG. [Figure 26] FIG. 13 is a flowchart showing a process for determining the position of a fingertip FT according to a sixth modified example. [Figure 27]FIG. 13 is a flowchart showing a process for determining the position of a fingertip FT according to a sixth modified example. [Figure 28] FIG. 13 is a flowchart showing a process for determining the position of a fingertip FT according to a sixth modified example. [Figure 29] FIG. 13 is a flowchart showing a process for determining the position of a fingertip FT according to a sixth modified example. [Diagram 30] FIG. 13 is a flowchart showing a process of calculating sharpness that is performed based on a subroutine “sub sharpness calculation” according to a seventh modified example. [Diagram 31] FIG. 13 is a flowchart showing a process of calculating sharpness that is performed based on a subroutine “sub sharpness calculation” according to an eighth modified example. [Diagram 32] FIG. 13 is a flowchart showing a process of calculating sharpness that is performed based on a subroutine “sub sharpness calculation” according to a ninth modified example. [Diagram 33] 2 is a diagram showing a specific configuration of the electrostatic sensor 120 of the non-contact input device 100A. FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, an embodiment to which the non-contact input device of the present invention is applied will be described.

[0010] <Embodiment> Fig. 1, Fig. 2, and Fig. 3 are diagrams showing an example of the configuration of an electronic device 100 including a non-contact input device of an embodiment. Fig. 4 is a diagram showing an example of the configuration of a non-contact input device 100A of an embodiment. Fig. 2 and Fig. 3 show a hand H of a user of the electronic device 100. More specifically, fingertips FT and a palm P of the hand H are shown. The fingertip FT is an index finger as an example, but may be a finger other than the index finger.

[0011] In the following, an XYZ coordinate system is defined and described. The direction parallel to the X axis (X direction), the direction parallel to the Y axis (Y direction), and the direction parallel to the Z axis (Z direction) are mutually perpendicular. In the following, the -Z direction is described as the direction approaching the electrostatic sensor 120, and the +Z direction is described as the direction away from the electrostatic sensor 120. In addition, a planar view refers to an XY plane view. In the following, the length, width, thickness, etc. of each part may be exaggerated to make the configuration easier to understand.

[0012] The electronic device 100 includes a housing 101, a display device 110, an electrostatic sensor 120, and a control device 130. Although the control device 130 (see FIG. 4) is omitted in FIGS. 1 to 3, the control device 130 is provided, for example, below the display device 110 and the electrostatic sensor 120 inside the housing 101. The non-contact input device 100A includes the electrostatic sensor 120 and the control device 130, as shown in FIG. 4.

[0013] The housing 101 is a case made of resin, metal, or the like that houses the display device 110, the electrostatic sensor 120, and the control device 130. The display device 110 is disposed below the transparent electrostatic sensor 120, for example, and is visible through an operation surface 105, which is the upper surface of a transparent panel or the like provided in an opening at the top of the housing 101.

[0014] The electronic device 100 can be operated with the fingertip FT and palm P approaching the operation surface 105 of the electronic device 100 in a non-contact manner, without touching the operation surface 105 with the fingertip FT and palm P. As an example, Fig. 2 and Fig. 3 show a state in which an operation input is made to the operation unit 111 with the fingertip FT located at a distance D (see Fig. 2) from the operation surface 105. The electronic device 100 detects the position of the fingertip FT that is not in contact with the operation surface 105, and accepts the non-contact operation input. The non-contact operation input means operating the electronic device 100 with the fingertip FT without touching the operation surface 105 with the fingertip FT.

[0015] The electronic device 100 may be, for example, a tablet-type input device that is placed in a store or facility and used by an unspecified number of users, or an input unit of an ATM (Automatic Teller Machine). The electronic device 100 may also be a tablet computer, a smartphone, a game machine, or the like that is used by an individual.

[0016] The display device 110 is, for example, a liquid crystal display, an organic EL (Electroluminescence) display, etc. The display device 110 displays an image of the operation unit 111 using a GUI (Graphic User Interface). The operation unit 111 is, for example, arranged in a matrix in a planar view.

[0017] 1 to 3 show, as an example, 30 operation units 111 arranged in 5 rows and 6 columns. The 30 operation units 111 are marked with (1,1) to (5,6) in (row, column) format. Of the 30 operation units 111 arranged in a matrix, five rows extend in the X direction and are arranged parallel to the Y direction. Six columns extend in the Y direction and are arranged in parallel to the X direction. Note that electronic device 100 may have a form that does not include display device 110 and includes operation units displayed by printing or the like on operation surface 105.

[0018] The electrostatic sensor 120 is arranged on the display device 110, and has a total of 30 sensor electrodes 121, six arranged in the X direction and five arranged in the Y direction, as shown in FIG. 4. The 30 sensor electrodes 121 are connected to the control device 130 via 30 wirings 122. Although FIG. 4 shows one wiring 122, the 30 sensor electrodes 121 are actually connected to the control device 130 independently via the 30 wirings 122. As an example of such an electrostatic sensor 120, a transparent conductive film such as ITO (Indium Tin Oxide) is formed on the surface of transparent glass, and the sensor electrodes 121 and wirings 122 are patterned. The electrostatic capacitance of the electrostatic sensor 120 is input to the control device 130.

[0019] As an example, a configuration is shown here in which the 30 sensor electrodes 121 are arranged so as to overlap with the 30 operation units 111, respectively. The row and column relationship for the 30 sensor electrodes 121 is the same as that for the operation units 111. Therefore, the 30 sensor electrodes 121 are arranged in 5 rows and 6 columns, and are represented by (1,1) to (5,6) in (row, column) in the same way as the 30 operation units 111. The positions of the 30 sensor electrodes 121 are represented by row numbers and column numbers.

[0020] In the following, row is i, column is j, and the position of each sensor electrode 121 is indicated as (i, j). Here, as an example, row i is 1 to 5, and column j is 1 to 6. As an example, the sensor electrode 121 in the first row is located at the end on the +Y direction side, and the sensor electrode 121 in the fifth row is located at the end on the -Y direction side. The sensor electrode 121 in the first column is located at the end on the -X direction side, and the sensor electrode 121 in the sixth column is located at the end on the +X direction side.

[0021] Additionally, the row adjacent to row i on the -Y side is row i+1, which is the row below. Additionally, the row adjacent to row i on the +Y side is row i-1, which is the row above. Additionally, the column number j of the column furthest on the -X side is 1 (j=1), and as an example, the column number j of the column furthest on the +X side is the largest column number. In this example, the largest column number j is 6.

[0022] In the following, when there is no need to distinguish between sensor electrodes 121(i,j), they will simply be referred to as sensor electrodes 121. In addition, although a form in which sensor electrodes 121 and operation units 111 correspond one-to-one will be described here, one operation unit 111 may correspond to multiple sensor electrodes 121.

[0023] The control device 130 is realized by a computer including a central processing unit (CPU), a random access memory (RAM), a read only memory (ROM), an input / output interface, an internal bus, and the like.

[0024] The control device 130 has a main control unit 131, an AD (Analog to Digital) conversion unit 132, a counter 133, a determination unit 134, an operation control unit 135, a display control unit 136, and a memory 137. The main control unit 131, the AD conversion unit 132, the counter 133, the determination unit 134, the operation control unit 135, and the display control unit 136 are functional blocks showing the functions of the programs executed by the control device 130. The memory 137 is a functional representation of the memory of the control device 130.

[0025] The main control unit 131 is a processing unit that controls the processing of the control device 130, and executes processes other than those executed by the AD conversion unit 132, the counter 133, the determination unit 134, the operation control unit 135, and the display control unit 136. For example, the main control unit 131 scans 30 sensor electrodes 121.

[0026] The AD conversion unit 132 converts the output of the electrostatic sensor 120 into a digital value. The output of the AD conversion unit 132 is a detection value of the capacitance between each sensor electrode 121 of the electrostatic sensor 120 and a surrounding conductor. The counter 133 counts and outputs a difference value of the output of the AD conversion unit 132 with respect to a reference value. The difference value is a count value of the change in the output with respect to the reference value. Hereinafter, it is referred to as a difference value ΔAD. The output of the AD conversion unit 132 is the capacitance between each sensor electrode 121 and the surrounding conductor. The reference value is the capacitance between each sensor electrode 121 and the surrounding conductor when there is no finger around each sensor electrode 121. The difference value ΔAD is the capacitance between each sensor electrode 121 and a finger.

[0027] Since the difference value ΔAD is obtained for each sensor electrode 121, 30 difference values ​​ΔAD are obtained from the output of the electrostatic sensor 120. The difference value obtained from the capacitance of the sensor electrode 121(i,j) is indicated as the difference value ΔAD(i,j). The AD conversion unit 132 converts the capacitance of the sensor electrode 121(i,j) into a digital value, and the counter 133 counts the change in the output of the AD conversion unit 132 relative to a reference value, and outputs the difference values ​​ΔAD(i,j) for the 30 sensor electrodes 121(i,j). Note that when the difference values ​​ΔAD(i,j) are not particularly distinguished, they are simply referred to as the difference values ​​ΔAD.

[0028] The determination unit 134 determines the position of the fingertip FT, the position of the palm P, and a position where the fingertip FT and the palm P are not present based on the difference value ΔAD output from the counter 133. In the electronic device 100 and the non-contact input device 100A, the determination unit 134 determines the position of the tip of the fingertip FT as the position of the operation input performed by the user. The determination method executed by the determination unit 134 will be described later using a flowchart.

[0029] The operation control unit 135 controls the operation of the electronic device 100 based on the position of the operation input determined by the determination unit 134. The display control unit 136 controls the display of the display device 110 based on the position of the operation input determined by the determination unit 134. The memory 137 stores programs, data, etc. used when the main control unit 131, the determination unit 134, the operation control unit 135, and the display control unit 136 execute processes. The memory 137 also stores data indicating the number of rows and the number of columns of the sensor electrodes 121.

[0030] 5 is a diagram showing an example of the distribution of the difference value ΔAD and the reciprocal with respect to the relationship between the hand H and the electrode surface of the electrostatic sensor 120. The electrode surface is the surface of the 30 sensor electrodes 121. The reciprocal is the reciprocal of the difference value ΔAD.

[0031] When comparing the difference value ΔAD between the case where the fingertip FT and palm P are close to the electrode surface as shown in the left side of FIG. 5 and the case where the fingertip FT and palm P are slightly farther from the electrode surface as shown in the right side of FIG. 5, the difference value ΔAD is larger when the fingertip FT and palm P are close to the electrode surface as shown in the left side than when they are slightly farther away as shown in the right side. The difference value ΔAD is the change in capacitance detected by the electrostatic sensor 120 due to the hand, and ΔAD is a value inversely proportional to the distance between the electrode surface and the fingertip FT and palm P. Also, since it is inversely proportional to the distance, even if the pose of the hand H is the same, if the distance between the electrode surface and the fingertip FT and palm P is different, the waveform representing the distribution of the difference value ΔAD will be different. In FIG. 5, the index finger tip FT is posed extended on both the left and right sides.

[0032] In contrast, the waveform representing the reciprocal distribution is less affected by the difference in distance between the electrode surface and the fingertip FT and palm P than the waveform representing the distribution of the difference value ΔAD, and a relatively similar waveform is obtained. This is because the reciprocal of the difference value ΔAD is a function of the distance between the electrode surface and the fingertip FT and palm P.

[0033] 6 is a diagram showing an example of the distribution of reciprocals in the length and width directions of a hand H. The length direction of the hand H is the direction from the wrist through the palm P to the fingertips FT. The width direction of the hand H is the direction perpendicular to the length direction of the hand H in a plan view, and is the direction toward the thumb and little finger.

[0034] In Figure 6, the distribution on the left side of hand H (A) shows the reciprocal distribution in the length direction, the distribution on the upper half of the right side of hand H (B) shows the reciprocal distribution in the width direction at the position of fingertip FT, and the distribution on the lower half of the right side of hand H (C) shows the reciprocal distribution in the width direction at the position of palm P.

[0035] In the distribution of the reciprocal in the length direction of the hand H in distribution (A), the distribution of the reciprocal curves gently in the section where the hand H is present, but as indicated by the arrow FT, the reciprocal changes significantly at the boundary between the part where the fingertip FT is present and the part beyond the fingertip FT where the hand H is not present. Therefore, if the position where the reciprocal changes significantly is identified, it is possible to determine the position of the fingertip FT in the length direction based on the distribution of the reciprocal.

[0036] In addition, in the widthwise distribution of the reciprocal at the position of the fingertip FT in distribution (B), the reciprocal becomes smaller in a V-shape only in the section where the fingertip FT is located. Therefore, if the position where the reciprocal changes in a V-shape is identified, it is possible to determine the position of the fingertip FT in the widthwise direction based on the distribution of the reciprocal. A quadratic curve can be fitted to the curve where the reciprocal changes in a V-shape.

[0037] Furthermore, in the widthwise distribution of the reciprocal at the position of the palm P in distribution (C), the reciprocal is smaller in the section where the palm P is located than at both ends where the palm P is not located, and takes small values ​​over a wider section in the width direction than the fingertip FT. Therefore, by identifying a position that takes small values ​​over a wider section in the width direction than the fingertip FT, it is possible to determine the position of the palm P in the width direction based on the distribution of the reciprocal. It is possible to fit a quadratic curve or circle that is gentler than the fingertip FT to a curve according to the shape of the palm P. It is thought that there will be a large difference in the quadratic coefficient between the quadratic curve fitting to the fingertip FT and the quadratic curve fitting to the palm P.

[0038] Fig. 7 is a diagram for explaining exemplary quadratic coefficients of a quadratic curve fitting to a fingertip FT and a palm P. A hand H with an index finger sticking out is shown from the front in the upper part of Fig. 7. A quadratic curve 10FT shown by a dashed line is fitted to the fingertip FT, and a quadratic curve 10P shown by a solid line is fitted to the palm P.

[0039] The quadratic curves 10FT and 10P are expressed as z=ax as shown in the lower half of FIG. 2The quadratic curves 10FT and 10P are obtained by setting the quadratic coefficient a in the above to 1 (a=1) and 8 (a=8), respectively. In this way, by setting the quadratic coefficient a to an appropriate value, it is possible to obtain quadratic curves 10FT and 10P that fit the fingertip FT and palm P. The quadratic curves 10FT and 10P can be obtained by curve fitting.

[0040] In addition, since the fingertip FT and the palm P have significantly different widths, the quadratic coefficient a of the quadratic curve fitted by curve fitting also differs significantly. As an example, as shown in FIG. 7, the quadratic coefficient a of the quadratic curve fitted to the fingertip FT is 8, and the quadratic coefficient a of the quadratic curve fitted to the palm P is 1. Therefore, if the distribution of the reciprocal of the difference value ΔAD is obtained and the quadratic coefficient a of the quadratic curve fitted by curve fitting is obtained, it is possible to distinguish between the fingertip FT and the palm P. If the position of the fingertip FT can be obtained, non-contact operation input can be realized.

[0041] The larger the quadratic coefficient a of the quadratic curve obtained by performing curve fitting on the distribution of the reciprocal of the difference value ΔAD, the sharper the V-shape of the quadratic curve becomes. Here, the quadratic coefficient a is calculated as the sharpness of the quadratic curve, and the position of the fingertip FT is identified based on the sharpness. The sharpness is the degree to which the V-shape of the quadratic curve is sharp.

[0042] Next, a method of determining the position of the fingertip FT will be described with reference to the flowcharts of Fig. 8 to Fig. 13. Fig. 8 to Fig. 13 are diagrams showing flowcharts illustrating processing for determining the position of the fingertip FT. This processing is executed by the determination unit 134. Fig. 8 shows a main flow, and Figs. 9 to 13 show subroutine processing flows of steps S3 to S7 in Fig. 8, respectively. Note that, here, as an example, as shown in Fig. 3, a rule is assumed that an operation input is performed by holding a hand H over the electronic device 100 above the operation surface 105 from an end side extending in the X direction on the -Y direction side of the electronic device 100 toward the +Y direction side.

[0043] When the process starts, the determination unit 134 reads the number of rows and the number of columns of the sensor electrodes 121 from the memory 137 (step S1). AllRows represents the number of rows of the sensor electrodes 121, and AllColumns represents the number of columns of the sensor electrodes 121. As an example, AllRows is 5 rows and AllColumns is 6 columns.

[0044] Next, the determination unit 134 acquires difference values ​​ΔAD(1,1) to ΔAD(All Rows, All Columns) for all the sensor electrodes 121 (step S2). By the process of step S2, 30 difference values ​​ΔAD(1,1) to ΔAD(All Rows, All Columns) for the 30 sensor electrodes 121 are acquired, for example.

[0045] Next, the determination unit 134 calls a subroutine "sub inverse conversion" and converts all the difference values ​​ΔAD(1,1) to ΔAD(AllRows, AllColumns) into inverse numbers (step S3).

[0046] Next, the determination unit 134 calls the subroutine "sub minimum value determination", determines the minimum value of the reciprocals in all rows, and performs processing to obtain the column showing the minimum value of the reciprocals (step S4).

[0047] Next, the determination unit 134 calls the subroutine "subexclusion row identification" and performs a process of identifying an exclusion row (step S5). An exclusion row is a row in which the hand H does not exist, and the process narrows down the rows to those in which the hand does exist by identifying and excluding rows in which the hand does not exist.

[0048] Next, the determination unit 134 calls the subroutine "sub sharpness calculation" and performs a process of calculating the sharpness of the row where the hand is present (step S6).

[0049] Next, the determination unit 134 calls the subroutine "sub fingertip identification" and performs processing to identify the row of the fingertip FT based on the sharpness calculated for all rows where the hand exists in step S6 (step S7).

[0050] Finally, the determination unit 134 outputs coordinates indicating the position of the tip of the fingertip FT based on the row of the fingertip identified in step S7 (step S8). Here, row indicates the row number where the fingertip FT is located. Also, column(i) indicates the column number whose inverse is the smallest in row i, so column(row) indicates the column number whose inverse is the smallest in row row.

[0051] Next, the reciprocal conversion process performed based on the subroutine "sub reciprocal conversion" in step S3 of FIG. 8 will be described with reference to FIG.

[0052] The determination unit 134 performs a loop process of calculating the inverse of the difference value ΔAD(i,j) for all columns j included in all rows i while selecting rows i one by one from i=1 to AllRows (steps S11 to S15). i=1, AllRows, 1 means that the calculation of the inverse is performed while selecting rows i=1 to AllRows one by one.

[0053] The determination unit 134 performs a loop process of calculating the inverse of the difference value ΔAD(i,j) of all columns while selecting columns j one by one from j=1 to AllColumns for the selected row i (steps S12 to S14). j=1, AllColumns, 1 means that the calculation of the inverse is performed column by column from i=1 to AllColumns.

[0054] The determination unit 134 selects columns j in order for the selected row i and calculates the reciprocal Reciprocal(i,j) of the difference value ΔAD(i,j) (step S13). The determination unit 134 stores the calculation result in step S13 in the memory 137 as array data having row number i and column number j as elements. The reciprocal Reciprocal(i,j) of the difference value ΔAD(i,j) is calculated by Reciprocal(i,j)=1 / ΔAD(i,j).

[0055] The determination unit 134 performs the loop process of steps S12 to S14 until it has calculated the reciprocals of the difference values ​​ΔAD(i,j) of all columns j for the selected row i (step S14). The determination unit 134 repeatedly performs the process of steps S12 to S14 for the selected row i to calculate the reciprocals of the difference values ​​ΔAD(i,j) of all columns j in the selected row i.

[0056] The determination unit 134 performs the loop process of steps S11 to S15 until it has calculated the reciprocals of the difference values ​​ΔAD(i,j) for all columns j included in all rows i. The determination unit 134 repeatedly performs the process of steps S11 to S15 to select all rows one by one and calculate the reciprocals of the difference values ​​ΔAD for all columns included in each row.

[0057] Next, the process of determining the minimum value of the reciprocals in all rows, which is performed based on the subroutine "sub minimum value determination" in step S4 of FIG. 8, will be described with reference to FIG.

[0058] The determination unit 134 performs a loop process (steps S21 to S28) in which the determination unit 134 selects rows i one by one from i=1 to AllRows, and identifies the minimum value of the reciprocals of all columns j included in all rows i and the sensor electrode 121(i,j) that provides the minimum value. i=1,AllRows,1 means that the determination of the sensor electrode 121(i,j) is performed by selecting rows i=1 to AllRows one by one.

[0059] The determination unit 134 sets the initial value of the minimum value of the reciprocal in the selected row i, Minimum(i), to the proximity determination threshold (step S22). By repeating the processes from step S23 to step S27, the minimum value of the reciprocal in the selected row i, Minimum(i), becomes the minimum value of the reciprocal found for all columns j included in the selected row i. The proximity determination threshold is a threshold for determining whether the fingertip FT is in proximity to the operation surface 105 to perform an operation input. If the reciprocal Reciprocal(i,j) of the difference value ΔAD(i,j) in row i is equal to or less than the proximity threshold in all columns j, the proximity threshold is substituted for the minimum value of the reciprocal in row i, Minimum(i). The row i to which the proximity threshold is substituted is identified as an excluded row, as described later. The initial value of the minimum value of the reciprocal, Minimum(i), may be set to a value equal to or more than the proximity determination threshold. For example, due to restrictions of the program language, the maximum value that can be substituted for the minimum value, Minimum(i), may be set. In this case, the minimum value of the reciprocals in row i is always assigned to Minimum(i).

[0060] The determination unit 134 performs a loop process to identify the minimum value of the reciprocals of all columns j in the selected row i and the sensor electrode 121(i,j) that provides the minimum value (steps S23 to S27). j=1, AllColumns, 1 means that the determination of the minimum value and the sensor electrode 121(i,j) is performed for each column from the number of columns j=1 to AllColumns.

[0061] The determination unit 134 determines whether the reciprocal Reciprocal(i,j) is smaller than the minimum value Minimum(i) (step S24).

[0062] When the determination unit 134 determines that the reciprocal Reciprocal(i,j) is smaller than the minimum value Minimum(i) (S24: Yes), it replaces the minimum value Minimum(i) with the reciprocal Reciprocal(i,j) (step S25). This is to update the minimum value Minimum(i) in the i-th row. The determination unit 134 stores the minimum value Minimum(i) updated in step S25 in the memory 137 as array data with the row number i as an element.

[0063] The determination unit 134 substitutes j into the column Column(i) that gives the minimum value Minimum(i) in the i-th row (step S26). That is, Column(i) = j. Column(i) represents the column number where the reciprocal is the smallest in the i-th row. For example, if the 3rd column is the smallest in the 2nd row, then Reciprocal(2,3) < Minimum(2) holds. Further, Reciprocal(2,4) < Minimum(2), Reciprocal(2,5) < Minimum(2), and Reciprocal(2,6) < Minimum(2) do not hold. Therefore, Column(2) = 3. The determination unit 134 stores the value obtained in step S26 in the memory 137.

[0064] The determination unit 134 performs the loop processing of steps S23 to S27 to identify the minimum value of the reciprocal and the sensor electrode 121(i,j) that gives that minimum value for the selected row i.

[0065] The determination unit 134 performs the loop processing of steps S21 to 28 until the minimum value of the reciprocal and the sensor electrode 121(i,j) that gives that minimum value are identified for all rows. As a result, the minimum value of the reciprocal and the sensor electrode 121(i,j) that gives that minimum value are identified for all rows.

[0066] Next, with reference to FIG. 11, the process of identifying the excluded rows performed based on the subroutine "sub excluded row identification" in step S5 of FIG. 8 will be described.

[0067] The determination unit 134 performs a loop process (steps S31 to S34) in which, for all rows i from i=1 to AllRows-1, if the minimum value of the reciprocals in row i is equal to or greater than twice the minimum value of the reciprocals in row i+1, which is one row below, the row i is excluded.

[0068] Here, row i+1, which is one row below, is the row adjacent to row i in the -Y direction. i=1,AllRows-1,1 means that the rows to be excluded are identified by selecting rows one by one from row number i=1 to AllRows-1. The reason for repeating the process up to row number AllRows-1 is that there is no row one row below row AllRows.

[0069] In the process of identifying the excluded rows, row i is excluded if the minimum value of the reciprocal in row i is more than twice the minimum value of the reciprocal in row i+1 one row below, in order to prevent the space near the fingertip FT from being mistakenly recognized as a finger. Even if there is no finger in a position facing the sensor electrode 121(i,j), if there is a finger near the sensor electrode 121(i,j), the capacitance becomes large. For this reason, the space may be mistakenly recognized as a finger by only comparing the reciprocal of the capacitance with the threshold value. If there is no finger facing the sensor electrode 121 and there is a finger near the sensor electrode 121, the capacitance value of the sensor electrode 121(i,j) and the capacitance value of the adjacent sensor electrode 121(i+1,j) are significantly different. The minimum value of the reciprocal is small for the row overlapping with the tip of the fingertip FT, and the minimum value of the reciprocal is large for the row one row above the row overlapping with the tip of the fingertip FT because the row does not overlap with the tip of the fingertip FT. The minimum value of the reciprocal is significantly different between such a row overlapping with the tip of the fingertip FT and the row one row above. As an example, we consider the position where the minimum reciprocal value is more than twice as large as the position one row above the tip of the fingertip FT, and exclude row i if the minimum reciprocal value in row i is more than twice as large as the minimum reciprocal value in row i+1 one row below. In this case, row i+1 overlaps with the tip of the fingertip FT, but row i does not overlap with the tip of the fingertip FT, so it will be excluded.

[0070] The determination unit 134 determines whether the minimum value of the reciprocals in the selected row i, Minimum(i), is equal to or greater than twice the minimum value of the reciprocals in the row i+1, which is one row below (Step S32).

[0071] If the determination unit 134 determines that the minimum value Minimum(i) is equal to or greater than twice the minimum value Minimum(i+1) (S32: Yes), it assigns "exclude" to Except1(i) (step S33A). The row i for which "exclude" is assigned to Except1(i) is a row that is not subject to calculation of sharpness, which will be described later. The determination unit 134 stores Except1(i) in memory 137 as array data having row number i as an element.

[0072] On the other hand, if the determination unit 134 determines that the minimum value Minimum(i) is not twice or more the minimum value Minimum(i+1) (S32: No), it assigns "target" to Except1(i) (step S33B). The row i in which "target" is assigned to Except1(i) is a row that can be a target for calculating the sharpness, which will be described later. The determination unit 134 stores Except1(i) in memory 137 as array data with row number i as an element.

[0073] The determination unit 134 performs the loop process of steps S31 to S34 until the process of storing row i as an excluded row if the minimum value of the reciprocal in row i is equal to or greater than twice the minimum value of the reciprocal in row i+1, which is one row below, is completed for all rows i.

[0074] Next, the determination unit 134 sets the bottom row, AllRows, as the target row (step S35). That is, Except1(AllRows)="target". Since there is no row one row below the bottom row, AllRows, is set as the target here.

[0075] Next, the determination unit 134 performs a loop process for all rows i from i=2 to AllRows to exclude row i if the minimum value of the reciprocal in row i is equal to or greater than twice the minimum value of the reciprocal in row i-1, which is one row above (steps S36 to S39).

[0076] Here, row i-1 above is the row adjacent to row i in the +Y direction. i=2,AllRows,1 means that the rows to be excluded are identified by selecting rows one by one from row number i=2 to AllRows. Row number i=1 is excluded because there is no row above the top row.

[0077] In the process of identifying the excluded rows, row i is excluded if the minimum value of the reciprocal in row i is more than twice the minimum value of the reciprocal in row i-1, which is one row above, in order to prevent the space close to the fingertip FT from being mistakenly recognized as a finger. Row i is excluded if it is more than twice the minimum value because if fingertip FT exists in both row i and row i-1, which is one row above, the minimum value of the reciprocal in row i will not be more than twice the minimum value of the reciprocal in row i-1, which is also consistent with the loop process of steps S31 to S34.

[0078] The determination unit 134 determines whether the minimum value of the reciprocals in the selected row i, Minimum(i), is equal to or greater than twice the minimum value of the reciprocals in the row i-1, which is one row above (Step S37).

[0079] If the determination unit 134 determines that the minimum value Minimum(i) is greater than or equal to twice the minimum value Minimum(i-1) (S37: Yes), it assigns "exclude" to Except2(i) (step S38A). The row i for which "exclude" is assigned to Except2(i) is a row that is not subject to the calculation of sharpness, which will be described later. The determination unit 134 stores Except2(i) in memory 137 as array data with row number i as an element.

[0080] On the other hand, if the determination unit 134 determines that the minimum value Minimum(i) is not twice or more the minimum value Minimum(i-1) (S37: No), it assigns "target" to Except2(i) (step S38B). The row i to which Except2(i)="target" is assigned is a row that can be a target for calculation of sharpness, which will be described later. The determination unit 134 stores Except2(i) in memory 137 as array data having row number i as an element.

[0081] The determination unit 134 performs the loop process of steps S36 to S39 until the process of storing row i as an excluded row if the minimum value of the reciprocal in row i is equal to or greater than twice the minimum value of the reciprocal in row i-1 immediately above row i is completed for all rows i.

[0082] Next, the determination unit 134 sets the top row, i=1, as the target row (step S40). That is, Except2(1)="target". Since there is no row immediately above the top row, the top row is set as the target here.

[0083] Next, the determination unit 134 performs a loop process for all rows i from i=1 to AllRows, excluding row i if the minimum value of the reciprocals in row i is equal to or greater than the proximity determination threshold (steps S41 to S44).

[0084] i=1,AllRows,1 means that the rows to be excluded are selected one by one from row number i=1 to AllRows. Also, row i is excluded if the minimum value of the reciprocal in row i is equal to or greater than the proximity determination threshold in order to determine whether the fingertip FT is present in row i.

[0085] The determination unit 134 determines whether or not the minimum value of the reciprocals in the selected row i, Minimum(i), is equal to or greater than the proximity determination threshold (Step S42).

[0086] When the determination unit 134 determines that the minimum value Minimum(i) is equal to or greater than the proximity determination threshold (S42: Yes), it assigns "exclude" to Except3(i) (step S43A). If it is less than the proximity determination threshold, there is no conductor near the sensor electrode 121(i,j). The row i in which "exclude" is assigned to Except3(i) is a row that is not subject to the calculation of the sharpness described later. The determination unit 134 stores Except3(i) in the memory 137 as array data with row number i as an element. In this embodiment, if the minimum value of the reciprocal in row i is equal to or greater than the proximity threshold, Minimum(i)=the proximity determination threshold is set. Therefore, for the row i in which the minimum value of the reciprocal is equal to or greater than the proximity threshold, "exclude" is assigned to Except3(i).

[0087] On the other hand, if the determination unit 134 determines that the difference is not greater than or equal to the proximity determination threshold (S42: No), it assigns "target" to Except3(i) (step S43B). The row i in which "target" is assigned to Except3(i) is a row that can be a target for calculation of sharpness, which will be described later. The determination unit 134 stores Except3(i) in memory 137 as array data with row number i as an element.

[0088] The determination unit 134 performs the loop process of steps S41 to S44 until the process of excluding row i if the minimum value of the reciprocals in row i is equal to or greater than the proximity determination threshold is completed for all rows i.

[0089] Next, the determination unit 134 performs a loop process of determining rows to be excluded while selecting rows one by one from i=1 to AllRows (steps S45 to S48). i=1, AllRows, 1 means that rows to be selected to determine rows to be excluded are selected one by one from i=1 to AllRows.

[0090] The determination unit 134 determines whether or not Except1(i)="target", Except2(i)="target", and Except3(i)="target" for the selected row i (step S46).

[0091] If the determination in step S46 is Yes, determination unit 134 assigns "target" to Except(i) (step S47A). Row i in which "target" is assigned to Except(i) is the row that is the target of the calculation of sharpness, which will be described later. Row i in which "target" is assigned to Except(i) contains sensor electrode 121(i,j) that faces the hand. Determination unit 134 stores Except(i) in memory 137 as array data having row number i as an element. After completing the process of step S47A, determination unit 134 proceeds to step S48.

[0092] On the other hand, if at least one of Except1(i), Except2(i), and Except3(i) is "except", the determination unit 134 determines No in step S46. If the determination is No in step S46, the determination unit 134 assigns "except" to Except(i) (step S47B). The row i in which "except" is assigned to Except(i) is a row that is not subject to the calculation of sharpness, which will be described later. The row i in which "except" is assigned to Except(i) does not have a sensor electrode 121(i,j) facing the hand. In other words, the sensor electrode 121(i,j) of the row i in which "except" is assigned to Except(i) faces space. The determination unit 134 stores Except(i) in memory 137 as array data having row number i as an element.

[0093] The determination unit 134 performs the loop process of steps S45 to S48 until the process of determining the row to be excluded is completed for all rows i. In this manner, the row i to be excluded is determined from among all rows i.

[0094] Next, a process of calculating the sharpness performed based on the subroutine "sub sharpness calculation" of step S6 in Fig. 8 will be described with reference to Fig. 12. Fig. 12 is a diagram showing a flowchart illustrating the process of calculating the sharpness performed based on the subroutine "sub sharpness calculation".

[0095] The determination unit 134 performs a loop process of calculating the sharpness while selecting rows one by one from i=1 to AllRows (steps S51 to S57). i=1, AllRows, 1 means that the calculation of the sharpness is performed while selecting rows one by one from the row number i=1 to AllRows.

[0096] The determination unit 134 determines whether or not Except(i)="target" for the selected row i (step S52). If it is not a target, the sharpness is not calculated.

[0097] If the determination unit 134 determines that Except(i)="Target" (S52: Yes), it determines whether the column Column(i) that gives the minimum value Minimum(i) in the i-th row is the first column (step S53). That is, it determines whether Column(i)=1 for the i-th row. This is to determine whether the minimum value Minimum(i) in the i-th row is obtained in the first column (the column at the end on the -X direction side).

[0098] If the determination unit 134 determines that Column(i) is not 1 (S53: No), it determines whether Column(i)=AllColumns (step S54). That is, it determines whether Column(i)=AllColumns for the i-th row. This is to determine whether the minimum value Minimum(i) for the i-th row is obtained in the end column on the +X direction side represented by AllColumns.

[0099] If the determination unit 134 determines that Column(i)=AllColumns is not satisfied (S54: No), it assigns Column(i) to j (step S55A). That is, if Column(i) indicates a position other than an end, it assigns Column(i) to j. Column(i) represents the column that indicates the minimum value Minimum(i) in the i-th row (see step S26).

[0100] The determination unit 134 calculates the sharpness Apex(i) (step S56). The sharpness Apex(i) is calculated according to the following formula. Apex(i)=Reciprocal(i,j-1)-2Reciprocal(i,j)+Reciprocal(i,j+1)

[0101] When the determination unit 134 determines in step S52 that Except(i) is not "target" (S52: No), it sets the sharpness Apex(i) to zero (step S52A). That is, the sharpness Apex(i)=0. Since the row is not a target for the calculation of the sharpness, the sharpness Apex(i) is set to zero. As described later, the sharpness Apex(i) is used when identifying the row where the fingertip is located. By setting a specific value (zero) to the sharpness Apex(i) of the row that is not a target for the calculation of the sharpness, the row that is a target for the calculation of the sharpness and the row that is not a target for the calculation of the sharpness can be processed in the same procedure. As described later, in this embodiment, when the sharpness is calculated, a positive value is calculated. As described later, the row with the largest sharpness is determined to be the row where the fingertip is located. Therefore, setting the sharpness Apex(i) to zero is equivalent to setting the i-th row as not being a fingertip. After completing the process of step S52A, the determination unit 134 proceeds to step S57.

[0102] Furthermore, when the determination unit 134 determines in step S53 that Column(i)=1 (S53: Yes), it sets j=2 (step S53A). Because the column Column(i) that gives the minimum value Minimum(i) in the i-th row is the end column (first column) on the -X direction side, the center column j of the three columns used to calculate the sharpness is set as the second column, and the sharpness is calculated using the three reciprocals of the first to third columns. After completing the process of step S53A, the determination unit 134 proceeds to step S56 to calculate the sharpness.

[0103] Furthermore, when the determination unit 134 determines in step S54 that Column(i)=AllColumns (S54: Yes), it sets j=AllColumns-1 (step S55B). Because the column Column(i) that gives the minimum value Minimum(i) in the i-th row is the end column on the +X direction side (the sixth column represented by AllColumns), the center column j of the three columns used to calculate the sharpness is set to AllColumns-1 (the fifth column), and the sharpness is calculated using the three reciprocals of the fourth to sixth columns. After completing the process of step S55B, the determination unit 134 proceeds to step S56 to calculate the sharpness.

[0104] The determination unit 134 performs the loop process of steps S51 to S57 until the calculation of the sharpness is completed for all rows i.

[0105] Next, the process of identifying the position of the fingertip FT, which is performed based on the subroutine "sub fingertip identification" of step S7 in Fig. 8, will be described with reference to Fig. 13. The position of the fingertip FT is identified as the position of column j represented by Column(i) in row i including the maximum sharpness MaxApex representing the maximum value of the sharpness. Column(i) represents the column with the smallest reciprocal calculated for each row (see step S26).

[0106] The determination unit 134 sets the initial value of the maximum sharpness MaxApex to zero (step S61).

[0107] The determination unit 134 performs a loop process of identifying the position of the fingertip FT while selecting rows one by one from i=1 to AllRows (steps S62 to S66). i=1, AllRows, 1 means that the position of the fingertip FT is identified while selecting rows one by one from i=1 to AllRows.

[0108] The determination unit 134 determines whether the sharpness Apex(i) of the selected row i is greater than the maximum sharpness MaxApex (step S63). By repeating the process of step S63, the maximum sharpness MaxApex is updated, and the row i that finally gives the maximum sharpness MaxApex is identified.

[0109] If the determination unit 134 determines that the sharpness Apex(i) is greater than the maximum sharpness MaxApex (S63: Yes), it updates the maximum sharpness MaxApex to the sharpness Apex(i) (step S64).

[0110] The determination unit 134 assigns the row i of the sharpness Apex(i) that gives the maximum sharpness MaxApex to the variable row (step S65).

[0111] The determination unit 134 performs the loop process of steps S61 to S66 for all rows i, and assigns the row number indicating the maximum sharpness to row.

[0112] When the loop process of steps S61 to S66 is completed, the process of S8 of the main loop in Fig. 8 described above is performed. As described above, the row number where the tip of the finger is located is assigned to row. Also, the column number whose reciprocal is the smallest in each row is assigned to Column(i). Therefore, (row, Column(Row)) is output as the coordinate of the tip of the finger (step S8).

[0113] Next, a specific example of the process from obtaining the difference value ΔAD to identifying the position of the fingertip FT will be described with reference to Fig. 14 and Fig. 15. Fig. 14 is a diagram showing the distribution of the difference value ΔAD, the distribution of the reciprocal, and the column j that gives the minimum value Minimum(i) of the reciprocal represented by Column(i).

[0114] 14(A) is a diagram showing the distribution of difference values ​​ΔAD obtained from the 5-row, 6-column sensor electrodes 121. Assume that the operation input is performed on the sensor electrode 121(2,3) in the 2nd row, 3rd column, as shown in FIGS.

[0115] FIG. 14(B) shows the value obtained by multiplying the reciprocal of the difference value ΔAD shown in FIG. 14(A) by 1000. FIG. 14(C) shows the relationship between the minimum value Minimum(i) in each row of the value obtained by multiplying the reciprocal of ΔAD by 1000 and the column number Column(i) of the electrode showing the minimum value Minimum(i). However, in the first row, the proximity determination threshold value 5 is substituted for the minimum value Minimum(1). In the first row, all values ​​obtained by multiplying the reciprocal of the difference value ΔAD by 1000 exceed the proximity determination threshold value 5, so the proximity determination threshold value (5) set as the initial value of the minimum value Minimum(1) is substituted as the minimum value. In addition, the value is not determined for the column Column(i) of the minimum value in the first row, and is indicated as "-" in FIG. 14(C). In addition, if the column Column(i) of the minimum value is not determined, the previous calculation result is maintained. In any case, the minimum value Minimum(1) is not subject to the peakiness calculation because the proximity determination threshold (5) is set. Whatever the value of Column(i) of the i-th row that is not subject to the peakiness calculation, it does not affect the processing result. Note that if the initial value of the minimum value Minimum(i) is set to the maximum value that can be substituted for the minimum value Minimum(i), the actual minimum value is always substituted for the minimum value Minimum(i). In this case, too, since it is not subject to the peakiness calculation, the subsequent processing is the same.

[0116] Fig. 15 is a diagram showing the target for calculating sharpness, the minimum value Minimum(i), the result of the sharpness calculation, and the maximum sharpness and coordinates. Fig. 15(A) is a diagram showing whether the target is a candidate for calculating sharpness as a fingertip position based on a comparison between the magnitude of the minimum value Minimum(i) and the minimum values ​​Minimum(i-1) and Minimum(i+1) of adjacent rows. The first row is not a target (target is FALSE) because "equal to or less than the proximity threshold" does not hold (FALSE).

[0117] Fig. 15(B) shows the minimum value Minimum(i) in each row and the reciprocal of the difference value ΔAD between the left and right of the minimum value Minimum(i) multiplied by 1000. Since the first row is not subject to the sharpness calculation, "-" is entered in Fig. 15(B).

[0118] 15C shows the results of the sharpness calculation for each row. Here, as an example, the quadratic coefficient of a quadratic function is used for the sharpness. The row that is not the target of the sharpness calculation (the first row) is set to 0.

[0119] FIG. 15(D) shows the maximum sharpness and the coordinates indicating the maximum sharpness. Here, as an example, the quadratic coefficient of a quadratic function is used for the sharpness. Since the maximum value in FIG. 15(C) is 0.73, the maximum quadratic coefficient is 0.73. Since the maximum quadratic coefficient (0.73) is written in the second row of FIG. 15(C), the row of the maximum quadratic coefficient is the second row. The column (2) of the minimum value in the second row is the third column according to FIG. 14(C). Therefore, the third column of the second row is the position of the fingertip.

[0120] As described above, the position of the fingertip FT can be specified. Therefore, it is possible to provide a non-contact input device 100A capable of accurately determining the position of the fingertip FT located away from the sensor electrode 121. In other words, it is possible to provide a non-contact input device 100A capable of determining the presence or absence of a non-contact operation and the position of the operation.

[0121] <Process for calculating sharpness according to the first modified example> Fig. 16 is a diagram showing a flowchart showing the process of calculating sharpness performed based on the subroutine "sub sharpness calculation" according to the first modified example. The process shown in Fig. 16 differs from the process of step S56 shown in Fig. 12 in the process of step S56. Here, the difference from the process shown in Fig. 12 will be described.

[0122] 16, the determination unit 134 calculates the curvature of a circle passing through the following three points as the sharpness Apex(i) (step S56). The three points are represented as (j-1, Reciprocal(i, j-1)), (j, Reciprocal(i, j)), and (j+1, Reciprocal(i, j+1)).

[0123] Here, in the xz coordinate system with column j as the x-axis and reciprocal Reciprocal as the z-axis, j-1, j, and j+1 are x1, x2, and x3, and Reciprocal(i,j-1), Reciprocal(i,j), and Reciprocal(i,j+1) are z1, z2, and z3. This state is shown in Figure 17. Figure 17 is a diagram showing the relationship between the xz coordinate system and the fingertip FT.

[0124] The coordinates (xp, zp) of the center of the circle that passes through the three points are expressed by the following equations (1) and (2).

[0125]

number

[0126]

number

[0127] In addition, using the coordinates (xp, zp) of the center of the circle that passes through the three points, the radius r of the circle can be calculated using the following equation (3).

[0128]

number

[0129] The determination unit 134 obtains the sharpness Apex(i) as a curvature (the reciprocal of the radius, 1 / r). That is, the sharpness Apex(i)=1 / r.

[0130] <Process for calculating sharpness according to the second modified example> Fig. 18 is a diagram showing a flowchart showing the process of calculating sharpness performed based on the subroutine "sub sharpness calculation" according to the second modified example. The process shown in Fig. 18 differs from the process of step S56 shown in Fig. 12 in the process of step S56. Here, the difference from the process shown in Fig. 12 will be described.

[0131] In the process shown in FIG. 18, the determination unit 134 uses five adjacent points in the i-th row to find a quadratic curve that approximates the five points by curve fitting using the least squares method, and calculates the quadratic coefficient of the curve as the sharpness Apex(i) (step S56).

[0132] The five adjacent points in row i are (j-2,Reciprocal(i,j-2)), (j-1,Reciprocal(i,j-1)), (j,Reciprocal(i,j)), (j+1,Reciprocal(i,j+1)), and (j+2,Reciprocal(i,j+2)).

[0133] <Process for calculating sharpness according to the third modified example> Fig. 19 is a diagram showing a flowchart showing the process of calculating sharpness performed based on the subroutine "sub sharpness calculation" according to the third modified example. The process shown in Fig. 19 differs from the process of step S56 shown in Fig. 12 in the process of step S56. Here, the difference from the process shown in Fig. 12 will be described.

[0134] In the process shown in FIG. 19, the determination unit 134 uses five adjacent points in the i-th row to find a circumference that approximates the five points by curve fitting using the least squares method, and calculates the curvature of the curve as the sharpness Apex(i) (step S56).

[0135] The five adjacent points in row i are (j-2,Reciprocal(i,j-2)), (j-1,Reciprocal(i,j-1)), (j,Reciprocal(i,j)), (j+1,Reciprocal(i,j+1)), and (j+2,Reciprocal(i,j+2)).

[0136] <Fingertip Identification Process According to Fourth Modification> 20 is a diagram showing a flowchart showing a process of identifying a fingertip performed based on the subroutine "sub fingertip identification" according to Modification Example 4. The process shown in FIG. 20 can be executed instead of the flow shown in FIG.

[0137] The determination unit 134 performs a loop process of determining whether the row is a finger, a palm P, or a space while selecting rows one by one from i=1 to AllRows (steps S71 to S74). i=1, AllRows, 1 means that the determination of a finger, a palm P, or a space is performed while selecting rows one by one from row number i=1 to AllRows.

[0138] The determination unit 134 determines whether the sharpness Apex(i) calculated in step S6 is equal to or greater than the palm threshold (step S72). The palm threshold is a value that distinguishes whether the sharpness Apex(i) is that of a finger or that of the palm P, and is the minimum value for the fingertip FT.

[0139] If the determination unit 134 determines that the sharpness Apex(i) is equal to or greater than the palm determination value (S71: YES), it determines that Palm(i) is a finger (step S73A).

[0140] When the determination unit 134 determines in step S72 that the sharpness Apex(i) is not equal to or greater than the palm determination value (S71: NO), it checks whether the sharpness Apex(i) is a positive value (step S72A) in order to determine whether the palm P is present or whether there is no palm P and there is space.

[0141] If the determination unit 134 determines that the sharpness Apex(i) is a positive value (S72A: YES), it determines that Palm(i) is a palm (step S73B).

[0142] On the other hand, if the determination unit 134 determines in step S72A that the sharpness Apex(i) is not a positive value (S72A: NO), it determines that Palm(i) is a space (step S73C). In step S52A of FIG. 12, in the case of a space, 0 is input to Apex(i).

[0143] The determination unit 134 performs the loop process of steps S71 to S74 for all rows i, and thereby assigns the row number indicating the palm P to Palm(i).

[0144] The determination unit 134 performs a loop process of determining fingers sticking out from the lower palm P while selecting rows one by one from i=AllRows-1 to the first row (steps S75 to S77). i=AllRows-1,1,-1 means that the determination of fingers sticking out from the lower palm P is performed while selecting rows one by one from row number i=AllRows-1 to the first row. Note that fingers sticking out from the lower palm P refer to palm P being positioned on the -Y direction side and fingers sticking out in the +Y direction.

[0145] The determination unit 134 determines whether Palm(i) is a finger and Palm(i+1) is the palm P (step S76). This is the process of determining whether a finger is in the i-th row and the palm P is in the i+1-th row on the -X direction side.

[0146] If the determination unit 134 determines that Palm(i) is a finger and Palm(i+1) is palm P (S76: YES), the flow proceeds to step S78. On the other hand, if there is no row i in which Palm(i) is a finger and Palm(i+1) satisfies palm P, the determination unit 134 ends the loop process (S75 to S77) of "determining fingers sticking out from the lower palm" and proceeds to step S83.

[0147] The determination unit 134 determines whether the finger is sticking out from the lower palm P by performing the loop process of steps S75 to S77 for all rows i.

[0148] The determination unit 134 performs a loop process of "determine fingertip" to determine the row i where the fingertip FT is located while selecting rows i one by one from i=AllRows-1 to the second row (steps S78 to S80). i=AllRows-1,2,-1 means that the determination of the fingers sticking out from the lower palm P is performed while selecting rows i=AllRows-1 to the second row one by one.

[0149] The determination unit 134 determines whether Palm(i) is a finger and Palm(i-1) is a space (step S79). This is the process of determining whether there is a finger on the i-th row and there is a space on the i-1th row on the +X direction side.

[0150] If the determination unit 134 determines that Palm(i) is a finger and Palm(i-1) is a space (S79: YES), the flow proceeds to step S82. On the other hand, if there is no row i in which Palm(i) is a finger and Palm(i-1) fills the space, the determination unit 134 ends the "fingertip determination" loop process (S78 to S80) and proceeds to step S81.

[0151] In step S81, the determination unit 134 assigns 1 to i (step S81). When the finger extending from the palm P reaches the end of the electrostatic sensor 120, the fingertip FT is deemed to be at the end of the electrostatic sensor 120. In other words, when there is no space on the +X direction side, the fingertip FT is deemed to be located on the first line. After completing the process of step S81, the determination unit 134 causes the flow to proceed to step S82.

[0152] In step S82 following step S81, the determination unit 134 assigns the i-th row determined in step S81 to the variable row (step S82). That is, row=1. The fingertip FT is positioned in the first row.

[0153] When the determination unit 134 finishes the process of step S82, it ends the process of identifying the position of the fingertip in the subroutine "sub fingertip identification" shown in FIG. 20 (END), and performs the process of the main loop S8 described above.

[0154] Also, in step S79, if the determination unit 134 determines that Palm(i) is a finger and Palm(i-1) is a space (S79: YES), the process proceeds to step S82. In this case, the i-th row in which Palm(i) is a finger and Palm(i-1) is a space (S79: YES) is substituted for the variable row (step S82). The fingertip FT is located in the i-th row in which it is determined in step S79 that Palm(i) is a finger and Palm(i-1) is a space (S79: YES).

[0155] When the determination unit 134 finishes the process of step S82, it ends the process of calculating the sharpness of the subroutine "sub fingertip identification" shown in FIG. 20 (END).

[0156] In step S83, the determination unit 134 performs a loop process of determining fingers sticking out from the upper palm P while selecting rows one by one from i=2 to AllRows (steps S83 to S85). i=2, AllRows, 1 means that the determination of fingers sticking out from the upper palm P is performed while selecting rows one by one from i=2 to AllRows. Note that fingers sticking out from the upper palm P refer to palm P being positioned on the +Y side and fingers sticking out in the -Y direction.

[0157] The determination unit 134 determines whether Palm(i) is a finger and Palm(i-1) is the palm P (step S84). This is the process of determining whether a finger is in the i-th row and the palm P is in the i-1-th row on the +X direction side.

[0158] If the determination unit 134 determines that Palm(i) is a finger and Palm(i-1) is palm P (S84: YES), the flow proceeds to step S86. On the other hand, if there is no row i in which Palm(i) is a finger and Palm(i-1) is palm P, the determination unit 134 ends the loop process of "determining fingers sticking out from the upper palm" (steps S83 to S85) and proceeds to step S90. If palm P is outside the electrostatic sensor 120, the flow proceeds to step S90.

[0159] The determination unit 134 determines whether the finger is sticking out from the upper palm P by performing the loop process of steps S83 to S85 for all rows i.

[0160] The determination unit 134 performs a loop process of "determine fingertip" to determine the row i where the fingertip FT is located while selecting row i one by one from i=2 to AllRows (steps S86 to S89). i=2, AllRows, 1 means that the determination of the fingers sticking out from the lower palm P is performed while selecting row i=2 to AllRows one by one.

[0161] The determination unit 134 determines whether Palm(i) is a finger and Palm(i+1) is a space (step S87). This is the process of determining whether there is a finger on the i-th row and there is a space on the i+1-th row on the -X direction side.

[0162] In step S87, if the determination unit 134 determines that Palm(i) is a finger and Palm(i+1) is a space (S87: YES), the flow proceeds to step S82. In this case, the determination unit 134 assigns the i-th row where Palm(i) is a finger and Palm(i+1) is a space (S87: YES) to the variable row (step S82). The fingertip FT is located in the i-th row where it is determined in step S87 that Palm(i) is a finger and Palm(i+1) is a space (S87: YES).

[0163] On the other hand, if Palm(i) is a finger and there is no row i in which Palm(i+1) fills the space, the determination unit 134 ends the "fingertip determination" loop process and causes the flow to proceed to step S89.

[0164] The determination unit 134 assigns Allrows to i (step S89). When the fingers extending from the palm P reach the end of the electrostatic sensor 120, it is considered that the fingertip FT is located at the end of the electrostatic sensor 120. In other words, when there is no space on the -X direction side, it is considered that the fingertip FT is located in Allrows of the row at the end of the electrostatic sensor 120.

[0165] When the palm P is outside the electrostatic sensor 120, the determination unit 134 sets the initial value of the maximum sharpness MaxApex to zero (step S90).

[0166] The determination unit 134 performs a loop process of "fingertip position identification" while selecting rows one by one from i=1 to AllRows (steps S91 to S95). i=1, AllRows, 1 means that the position of the fingertip FT is identified while selecting rows one by one from i=1 to AllRows.

[0167] The determination unit 134 determines whether the sharpness Apex(i) of the selected row i is greater than the maximum sharpness MaxApex (step S92). By repeating the processes of steps S91 to S95, the maximum sharpness MaxApex is updated, and the row i that finally gives the maximum sharpness MaxApex is identified.

[0168] If the determination unit 134 determines that the sharpness Apex(i) is greater than the maximum sharpness MaxApex (S93: Yes), it updates the maximum sharpness MaxApex to the sharpness Apex(i) (step S93).

[0169] The determination unit 134 assigns the row i of the sharpness Apex(i) that gives the maximum sharpness MaxApex to the variable row (step S94).

[0170] The determination unit 134 performs the loop process of steps S91 to S95 for all rows i, and assigns the row number indicating the maximum sharpness to row (step S95).

[0171] When the determination unit 134 ends the loop process of steps S91 to S95, it performs the process of S8 in the main loop described above.

[0172] <Processing for determining the position of fingertip FT according to the fifth modified example> Next, a method of determining the position of the fingertip FT according to the fifth modified example will be described with reference to the flowcharts of FIGS. 21 to 23. FIGS. 21 to 23 are diagrams showing a flowchart representing a process of determining the position of the fingertip FT according to the fifth modified example. This process is executed by the determination unit 134. FIG. 21 shows a main flow, and FIGS. 22 and 23 show the flow of the subroutine process of steps S103 and S109 in FIG. 21, respectively. In addition, for the subroutine process of steps S104 to S108 in FIG. 21, "sub inverse number conversion", "sub minimum value determination", "sub exclusion row identification", "sub sharpness calculation", and "sub fingertip identification" in FIGS. 9 to 13 are used, and the description will be omitted here. Note that, here, as an example, the description will be given assuming that an operation input can be performed by holding a hand H over the electronic device 100 toward the operation surface 105 from all directions of the -Y direction side, +Y direction side, -X direction side, and +X direction side of the electronic device 100 shown in FIG. 3.

[0173] When the process starts, the determination unit 134 reads the number of rows and the number of columns of the sensor electrodes 121 from the memory 137 (step S101). TemporalAllRows represents the number of rows of the sensor electrodes 121, and TemporalAllColumns represents the number of columns of the sensor electrodes 121. As an example, TemporalAllRows is 5 rows and TemporalAllColumns is 6 columns.

[0174] Next, the determination unit 134 obtains difference values ​​ΔAD(1,1) to ΔAD(AllRows,AllColumns) for all the sensor electrodes 121 and inputs them to TemporalCapa(1,1) to TemporalCapa(AllRows,AllColumns) (step S102). By the process of step S102, 30 difference values ​​TemporalCapa(1,1) to TemporalCapa(AllRows,AllColumns) for the 30 sensor electrodes 121 are obtained, for example.

[0175] Next, the determination unit 134 calls the subroutine "sub vertical / horizontal conversion", and if vertical / horizontal conversion is required, it swaps row i and column j and inputs TemporalCapa(i,j) to Capacitance(j,i). If vertical / horizontal conversion is not required, the determination unit 134 inputs TemporalCapa(i,j) to Capacitance (step S103).

[0176] Next, the determination unit 134 calls a subroutine "sub inverse conversion" and converts all the difference values ​​ΔAD(1,1) to ΔAD(AllRows, AllColumns) into inverse numbers (step S104).

[0177] Next, the determination unit 134 calls the subroutine "sub minimum value determination", determines the minimum value of the reciprocals in all rows, and performs processing to obtain the column showing the minimum value of the reciprocals (step S105).

[0178] Next, the determination unit 134 calls a subroutine "subexclusion row identification" and performs a process of identifying an exclusion row (step S106). An exclusion row is a row in which the hand H does not exist, and the process narrows down the rows in which the hand does exist by identifying and excluding the rows in which the hand does not exist.

[0179] Next, the determination unit 134 calls the subroutine "sub sharpness calculation" and performs a process of calculating the sharpness for the row where the hand is present (step S107).

[0180] Next, the determination unit 134 calls the subroutine “sub: identifying the row of the fingertip” and performs processing to identify the row of the fingertip FT based on the sharpness calculated for all rows where the hand is present in step S107 (step S108).

[0181] Next, the determination unit 134 calls the subroutine "sub vertical / horizontal return" and performs vertical / horizontal return processing (step S109).

[0182] Finally, the determination unit 134 outputs coordinates indicating the position of the tip of the fingertip FT (step S110). Here, row indicates the row number where the fingertip FT is located. Also, column(i) indicates the column number whose inverse is the smallest in the i-th row, so column(row) indicates the column number whose inverse is the smallest in the row.

[0183] Next, the vertical / horizontal conversion process performed based on the subroutine "sub vertical / horizontal conversion" in step S103 of FIG. 21 will be described with reference to FIG.

[0184] The determination unit 134 selects, from among TemporalCapa(1,1) to TemporalCapa(AllRows,AllColumns) obtained in the process of step S102, BigX(1)=X coordinate of the sensor electrode 121 with the largest capacitance value, BigY(1)=Y coordinate of the sensor electrode 121 with the largest capacitance value, BigX(2)=X coordinate of the sensor electrode 121 with the second largest capacitance value, BigY(2)=Y coordinate of the sensor electrode 121 with the second largest capacitance value, BigX( BigX(3)=X coordinate of the sensor electrode 121 with the third largest capacitance value, BigY(3)=Y coordinate of the sensor electrode 121 with the third largest capacitance value, BigX(4)=X coordinate of the sensor electrode 121 with the fourth largest capacitance value, BigY(4)=Y coordinate of the sensor electrode 121 with the fourth largest capacitance value, BigX(5)=X coordinate of the sensor electrode 121 with the fifth largest capacitance value, and BigY(5)=Y coordinate of the sensor electrode 121 with the fifth largest capacitance value are obtained (step S111). Note that the X coordinate is the row i number of the sensor electrode 121, and the Y coordinate is the column j number.

[0185] The determination unit 134 calculates the absolute value of the covariance between BigX(i) and BigY(i) and the absolute value of the variance of BigX(i) from (BigX(1), BigY(1)), (BigX(2), BigY(2)), (BigX(3), BigY(3)), (BigX(4), BigY(4)), and (BigX(5), BigY(5)) (step S112).

[0186] The determination unit 134 determines whether the "absolute value of the covariance of BigX(i) and BigY(i)" is less than or equal to the "absolute value of the variance of BigX(i)" (step S113).

[0187] If the "absolute value of the covariance of BigX(i) and BigY(i)" is equal to or smaller than the "absolute value of the variance of BigX(i)" (S113: Yes), the determination unit 134 substitutes TemporalAllColumns for AllRows and substitutes TemporalAllRows for AllColumns in order to swap rows and columns (step S114A). That is, AllRows=TemporalAllColumns and AllColumns=TemporalAllRows.

[0188] The determination unit 134 performs a loop process of selecting rows one by one from i=1 to AllRows and replacing all rows i (steps S115A to S119A). i=1, AllRows, 1 means that the process of replacing rows i is performed by selecting rows one by one from the row number i=1 to AllRows.

[0189] The determination unit 134 performs a loop process of selecting columns j one by one from j=1 to AllColumns and replacing all columns j (steps S116A to S118A). j=1, AllColumns, 1 means that the process of replacing columns j is performed by selecting columns one by one from the number of columns j=1 to AllColumns.

[0190] The determination unit 134 substitutes TemporalCapa(i,j) for the capacitance Capacitance(j,i) at the position (j,i) (step S117A), thereby converting columns and rows.

[0191] The determination unit 134 performs the loop process of steps S116A to S118A until all columns j are replaced (step S118A).

[0192] The determination unit 134 performs the loop process of steps S115A to S119A until all rows i are swapped. This ends the process of the subroutine "sub vertical / horizontal conversion" (END).

[0193] In step S113, if the "absolute value of the covariance of BigX(i) and BigY(i)" is greater than the "absolute value of the variance of BigX(i)" (S113: No), the determination unit 134 assigns TemporalAllRows to AllRows and TemporalAllColumns to AllColumns (step S114B). That is, AllRows=TemporalAllRows and AllColumns=TemporalAllColumns.

[0194] The determination unit 134 performs a loop process of copying the difference values ​​ΔAD of all rows i while selecting rows i one by one from i=1 to AllRows (steps S115B to S119B). i=1, AllRows, 1 means that the copying process is performed while selecting rows one by one from the row number i=1 to AllRows.

[0195] The determination unit 134 performs a loop process of copying the difference values ​​ΔAD of all columns j while selecting columns j one by one from j=1 to AllColumns (steps S116B to S118B). j=1, AllColumns, 1 means that the copying process is performed while selecting columns one by one from the number of columns j=1 to AllColumns.

[0196] The determination unit 134 substitutes TemporalCapa(i,j) for the capacitance (i,j) at the position (i,j) (step S117B). In this case, the columns and rows are not converted.

[0197] The determination unit 134 performs the loop process of steps S116B to S118B until all columns j are copied.

[0198] The determination unit 134 performs the loop process of steps S115B to S119B until all rows i are copied. This ends the process of the subroutine "sub vertical / horizontal conversion" (END).

[0199] Next, the process performed based on the subroutine "sub vertical / horizontal return" in step S109 of FIG. 21 will be described with reference to FIG.

[0200] The determination unit 134 determines whether the "absolute value of the covariance of BigX(i) and BigY(i)" is less than or equal to the "absolute value of the variance of BigX(i)" (step S121). This is to determine whether to perform vertical and horizontal restoration. The branching condition in step S121 is the same as in step S113. When the vertical and horizontal are swapped and a series of processes are performed, the position of the fingertip is correctly output by swapping the vertical and horizontal of the output coordinates.

[0201] When the judgment unit 134 judges that the "absolute value of the covariance of BigX(i) and BigY(i)" is less than or equal to the "absolute value of the variance of BigX(i)" (S121: Yes), it swaps the value of the variable row with the value of the variable column(Row). For this purpose, it saves the value of the variable row in the variable j, then assigns column(Row) to the variable row, and assigns the value of the variable j to the variable column(Row) (step S122). When the judgment unit 134 finishes the process of step S122, it ends the process of the subroutine "sub vertical / horizontal return" (END).

[0202] If the judgment unit 134 judges in step S121 that the “absolute value of the covariance of BigX(i) and BigY(i)” is greater than the “absolute value of the variance of BigX(i)” (S121: No), it ends the processing of the subroutine “sub vertical / horizontal return” (END).

[0203] Next, a specific example from obtaining the difference value ΔAD to identifying the position of the fingertip FT will be described with reference to Fig. 24 and Fig. 25. It is assumed that the operation input is performed on the sensor electrodes 121 (2,3) of 2 rows and 3 columns as shown in Fig. 2 and Fig. 3. It is also assumed here that the same result as the difference value ΔAD shown in Fig. 14(A) is obtained in the process of "sub inverse conversion" in step S104, and the sharpness in Fig. 15(C) is obtained in the "sub sharpness calculation" in step S107.

[0204] Fig. 24 is a diagram showing the ranking of the difference values ​​ΔAD obtained from the sensor electrodes 121 arranged in 5 rows and 6 columns, the absolute value of the variance of BigX(i), and the absolute value of the covariance of BigX(i) and BigY(i). Fig. 24(A) shows the ranking of the difference values ​​ΔAD obtained from the sensor electrodes 121 arranged in 5 rows and 6 columns. Of the 30 difference values ​​ΔAD, the sensor electrode 121(3,2) with the largest value is ranked 1st, and the sensor electrode 121(6,1) with the smallest value is ranked 30th.

[0205] Fig. 24(B) shows the X coordinate (row i) and Y coordinate (column j) of the first to fifth sensor electrodes 121 among the difference values ​​ΔAD shown in Fig. 24(A). The first to fifth sensor electrodes 121 are the sensor electrodes 121 with the first to fifth largest capacitance values.

[0206] 24C shows the "absolute value of the variance of BigX(i)" (0.16) calculated from the X coordinate of the sensor electrode 121 having the first to fifth largest capacitance values, and the "absolute value of the covariance of BigX(i) and BigY(i) calculated from the X coordinate and the Y coordinate" (0.24). "The absolute value of the covariance of BigX(i) and BigY(i) calculated from the X coordinate and the Y coordinate" (0.24) ≦ "the absolute value of the variance of BigX(i)" (0.16)" does not hold. Therefore, in this example, the vertical and horizontal directions are not swapped.

[0207] Fig. 25 is a diagram showing the determination results in the process of identifying fingertips according to the fourth modified example shown in Fig. 20. Fig. 25(A) shows the determination results of "space, 'finger', and "palm" in the process of identifying fingertips shown in Fig. 20 based on the sharpness in Fig. 15(C). As shown from top to bottom in Fig. 15(C), when the sharpness is 0.00, 0.73, 0.41, 0.34, and 0.03, it is determined to be "space, 'finger', 'finger', 'finger', and 'palm'.

[0208] FIG. 25(B) shows the judgment result of the loop process to determine which fingers are sticking out from the lower palm P, and the five judgment results in FIG. 25(A) are combined two by two in order from the top, and judged as FALSE or TRUE. Here, the judgment is made from the top. The top one in FIG. 25(B) is FALSE because it is ``space,'' ``finger,'' the second one from the top is FALSE because it is ``finger,'' ``finger,'' the third one from the top is FALSE because it is ``finger,'' ``finger,'' and the fourth one from the top (bottom) is TRUE because it is ``finger,'' ``palm.'' Since a TRUE exists, it is judged that a finger is sticking out from the lower palm P to the upper side.

[0209] FIG. 25(C) shows the judgment result of the loop process to judge whether or not the fingertip FT is in the i-th row. Since it is judged that a finger is sticking out from the lower palm P, the judgment is made from the lower side here. From the judgment result of FIG. 25(A), as shown in FIG. 25(C), the fourth from the top (bottom) is FALSE because the i-th row is a "finger" and the i-1-th row is a "finger", the third from the top is FALSE because the i-th row is a "finger" and the i-1-th row is also a "finger", the second from the top is TRUE because the i-th row is a "finger" and the i-1-th row is a "space", and the top row is not judged because the i-1-th row does not exist, and is indicated by "-". The fingertip FT is present in the second row from the top that is TRUE.

[0210] Fig. 25(D) shows the result of identifying the position of the fingertip. The column (2) with the smallest value in the second row is the third column according to Fig. 14(C). Therefore, the third column of the second row is the position of the fingertip.

[0211] As described above, the position of the fingertip FT can be identified. Therefore, it is possible to provide a non-contact input device 100A that can accurately determine the position of the fingertip FT that is located away from the sensor electrode 121.

[0212] <Process for determining the position of fingertip FT according to the sixth modified example> Next, a method of determining the position of the fingertip FT according to the sixth modified example will be described with reference to the flowcharts of Figs. 26 to 29. Figs. 26 to 29 are diagrams showing a flowchart representing a process of determining the position of the fingertip FT according to the sixth modified example. This process is executed by the determination unit 134. Fig. 26 shows a main flow, and Figs. 27 to 29 show the flow of subroutine processes of steps S134 to S136 in Fig. 26, respectively. In addition, for the subroutine processes of steps S133, S137, and S138 in Fig. 26, Figs. 22, 13, and 23 "sub-vertical and horizontal conversion", "sub-fingertip row identification", and "sub-vertical and horizontal return" are used, and description thereof will be omitted here. Note that, here, as an example, description will be given assuming that operation input can be performed by holding a hand H over the electronic device 100 toward the operation surface 105 from all directions of the -Y direction side, +Y direction side, -X direction side, and +X direction side of the electronic device 100 shown in Fig. 3.

[0213] When the process starts, the determination unit 134 reads the number of rows and the number of columns of the sensor electrodes 121 from the memory 137 (step S131). TemporalAllRows represents the number of rows of the sensor electrodes 121, and TemporalAllColumns represents the number of columns of the sensor electrodes 121. As an example, TemporalAllRows is 5 rows and TemporalAllColumns is 6 columns.

[0214] Next, the determination unit 134 obtains difference values ​​ΔAD(1,1) to ΔAD(AllRows,AllColumns) for all the sensor electrodes 121 and inputs them to TemporalCapa(1,1) to TemporalCapa(AllRows,AllColumns) (step S132). By the process of step S102, 30 difference values ​​TemporalCapa(1,1) to TemporalCapa(AllRows,AllColumns) for the 30 sensor electrodes 121 are obtained, for example.

[0215] Next, the determination unit 134 calls the subroutine "sub-vertical / horizontal conversion" (see FIG. 22). The subroutine "sub-vertical / horizontal conversion" (see FIG. 22) has already been described in another example, so description thereof will be omitted.

[0216] Next, the determination unit 134 calls the subroutine "sub maximum value determination" (see FIG. 27) and determines the maximum value of Capacitance(i,j) of each row (step S134).

[0217] Next, the determination unit 134 calls the subroutine "subExcluded Row Identification" (see FIG. 28) and performs processing to identify excluded rows (step S135). An excluded row is a row in which the hand H does not exist, and is a processing to narrow down the rows in which the hand does exist by identifying and excluding the rows in which the hand does not exist.

[0218] Next, the determination unit 134 calls the subroutine "sub sharpness calculation" (see FIG. 29), and performs processing to calculate the sharpness for the row in which the hand is present (step S136).

[0219] Next, the determination unit 134 calls the subroutine “sub fingertip identification” (see FIG. 13), and performs processing to identify the row of the fingertip FT based on the sharpness calculated for all rows where the hand exists in step S136 (step S137).

[0220] Next, the determination unit 134 calls the subroutine "sub vertical / horizontal return" (see FIG. 23) and performs vertical / horizontal return processing (step S138).

[0221] Finally, the determination unit 134 outputs coordinates indicating the position of the tip of the fingertip FT (step S139). Here, row indicates the row number where the fingertip FT is located. Also, column(i) indicates the column number with the maximum capacitance value in row i, so column(Row) indicates the column number with the maximum capacitance value in row row.

[0222] Next, the maximum value determination process performed based on the subroutine "sub maximum value determination" of step S134 in FIG. 26 will be described with reference to FIG.

[0223] The determination unit 134 starts a loop process of identifying the maximum capacitance value and its electrode for each row i while selecting rows i one by one from i=1 to AllRows (steps S141 to S148). i=1,AllRows,1 means that the process of identifying the maximum capacitance value and its electrode is performed while selecting rows i=1 to AllRows one by one.

[0224] The determination unit 134 sets the initial value of the maximum capacitance value Maximum(i) of the row i to 0 (step S142). That is, Maximum(i)=0.

[0225] The determination unit 134 starts a loop process of identifying the maximum capacitance value and its electrode in the i-th row while selecting columns j one by one from j=1 to AllColumns (steps S143 to S147). j=1,AllColumns,1 means that the process of identifying the maximum value and its electrode is performed while selecting columns one by one from j=1 to AllColumns.

[0226] The determination unit 134 determines whether the capacitance value Capacitance(i) is greater than the maximum value Maximum(i) (step S144).

[0227] When the determination unit 134 determines that the capacitance value Capacitance(i) is greater than the maximum value Maximum(i) (S144: Yes), it replaces the maximum value Maximum(i) with the capacitance value Capacitance(i,j) (step S145). This is to update the maximum value Maximum(i) in the i-th row. The determination unit 134 stores the maximum value Maximum(i) in the i-th row updated in step S145 in the memory 137.

[0228] The determination unit 134 assigns j to the column Column(i) that gives the maximum value Maximum(i) in the i-th row (step S146). That is, Column(i)=j. Column(i) represents the column number in the i-th row where the capacitance value is maximum. The determination unit 134 stores the value found in step S146 in the memory 137.

[0229] The determination unit 134 performs the loop process of steps S143 to S147 to identify, for the selected row i, the maximum capacitance value and the sensor electrode 121(i,j) that provides this maximum capacitance value.

[0230] The determination unit 134 performs the loop process of steps S141 to S148 until the maximum capacitance value in all rows and the sensor electrode 121(i,j) that provides that maximum value are identified. This allows the maximum capacitance value in all rows and the sensor electrode 121(i,j) that provides that maximum value to be identified.

[0231] Next, the process of identifying an excluded row that is performed based on the subroutine "subexclusion row identification" in step S135 of FIG. 26 will be described with reference to FIG.

[0232] The judgment unit 134 performs a loop process for all rows i from i=1 to AllRows-1 in which, if the maximum capacitance value in row i is less than 1 / 2 the maximum capacitance value in row i+1 one row below, row i is excluded (steps S151 to S154).

[0233] Here, row i+1, which is one row below, is the row adjacent to row i in the -Y direction. i=1,AllRows-1,1 means that the rows to be excluded are identified by selecting rows one by one from row number i=1 to AllRows-1. The reason for repeating the process up to row number AllRows-1 is that there is no row one row below row AllRows.

[0234] In the process of identifying the rows to be excluded, row i is excluded if the maximum capacitance value in row i is less than 1 / 2 of the maximum capacitance value in row i+1, which is one row below, in order to find the tip of the fingertip FT. The row that overlaps with the tip of the fingertip FT has a large maximum capacitance value, and the row one row above the row that overlaps with the tip of the fingertip FT does not overlap with the tip of the fingertip FT, so the maximum capacitance value is smaller. The maximum capacitance value of such a row that overlaps with the tip of the fingertip FT is significantly different from the row one row above. Here, as an example, the position where the maximum capacitance value is less than 1 / 2 is regarded as the position one row above the tip of the fingertip FT, and row i is excluded if the maximum capacitance value in row i is less than 1 / 2 of the maximum capacitance value in row i+1, which is one row below. In this case, row i+1 overlaps with the tip of the fingertip FT, and row i does not overlap with the tip of the fingertip FT, so it is excluded.

[0235] The determination unit 134 determines whether the maximum capacitance value Maximum(i) in the selected row i is less than 1 / 2 the maximum capacitance value Maximum(i+1) in the row i+1 one row below (step S152).

[0236] If the determination unit 134 determines that the ratio is less than 1 / 2 (S152: Yes), it assigns "except" to Except1(i) (step S153A). The row i for which "except" is assigned to Except1(i) is a row that is not subject to calculation of sharpness, which will be described later. The determination unit 134 stores Except1(i) in memory 137 as array data having row number i as an element.

[0237] On the other hand, if the determination unit 134 determines that the difference is not less than 1 / 2 (S152: No), it assigns "target" to Except1(i) (step S153B). The row i in which "target" is assigned to Except1(i) is a row that can be a target for calculating the sharpness, which will be described later. The determination unit 134 stores Except1(i) in the memory 137 as array data having row number i as an element.

[0238] The determination unit 134 performs the loop process of steps S151 to S154 for all rows i until the process of excluding row i if the maximum capacitance value in row i is less than 1 / 2 the maximum capacitance value in row i+1, which is the row below, is completed.

[0239] Next, the determination unit 134 sets the bottom row, AllRows, as the target row (step S155). That is, Except1(AllRows)="target". Since there is no row below the bottom row, AllRows, is set as the target here.

[0240] Next, the judgment unit 134 performs a loop process for all rows i from i=2 to AllRows, excluding row i if the maximum capacitance value in row i is less than 1 / 2 the maximum capacitance value in row i-1 one row above (steps S156 to S159).

[0241] Here, row i-1 above is the row adjacent to row i in the +Y direction. i=2,AllRows,1 means that the rows to be excluded are identified by selecting rows one by one from row number i=2 to AllRows. Row number i=1 is excluded because there is no row above the top row.

[0242] In the process of identifying the excluded row, row i is excluded if the maximum capacitance value in row i is less than 1 / 2 of the maximum capacitance value in row i-1, which is one row above, in order to prevent the space close to the fingertip FT from being mistakenly recognized as a finger. Row i is excluded if it is less than 1 / 2 because if fingertip FT exists in both row i and row i-1, which is one row above, the maximum capacitance value in row i will not be less than 1 / 2 of the maximum capacitance value in row i-1, which is also consistent with the loop process of steps S151 to S154.

[0243] The determination unit 134 determines whether the maximum capacitance value Maximum(i) in the selected row i is less than half the maximum capacitance value Maximum(i-1) in the row i-1 immediately above (step S157).

[0244] If the determination unit 134 determines that it is less than 1 / 2 (S157: Yes), it determines that the row i is an excluded row (Except2(i)="except") (step S158A). The row i determined to be Except2(i)="except" is a row that is not subject to the calculation of sharpness, which will be described later. The determination unit 134 stores the determination result in step S158A in the memory 137 as data having the row number i as an element.

[0245] On the other hand, if the determination unit 134 determines that the difference is not less than 1 / 2 (S157: No), it assigns "target" to Except2(i) (step S158B). The row i in which "target" is assigned to Except2(i) is a row that can be a target for calculating the sharpness, which will be described later. The determination unit 134 stores the result of the determination in step S158B in the memory 137 as array data in which Except2(i) has row number i as an element.

[0246] The determination unit 134 performs the loop process of steps S156 to S159 for all rows i until the process of excluding row i if the maximum capacitance value in row i is less than half the maximum capacitance value in row i-1 immediately above row i is completed.

[0247] Next, the determination unit 134 sets the top row, i=1, as the target row (step S160). That is, "target" is substituted for Except2(1). Since there is no row immediately above the top row, the top row is set as the target here.

[0248] Next, the determination unit 134 starts a loop process for excluding row i from i=1 to AllRows if the maximum capacitance value in row i is less than the proximity determination threshold (steps S161 to S164).

[0249] i=1,AllRows,1 means that the rows to be excluded are selected one by one from row number i=1 to AllRows. Also, row i is excluded if the maximum capacitance value in row i is less than the proximity determination threshold in order to determine whether a fingertip FT is present in row i.

[0250] The determination unit 134 determines whether the maximum value Maximum(i) of the capacitance value in the selected row i is less than the proximity determination threshold (step S162).

[0251] When the determination unit 134 determines that the maximum capacitance value Maximum(i) is less than the proximity determination threshold (S162: Yes), it assigns "except" to Except3(i) (step S163A). The row i for which "except" is assigned to Except3(i) is a row that is not subject to calculation of sharpness, which will be described later. The determination unit 134 stores Except3(i) in the memory 137 as array data having row number i as an element.

[0252] On the other hand, if the determination unit 134 determines that the maximum capacitance value Maximum(i) is not less than the proximity determination threshold (S162: No), it assigns "target" to Except3(i) (step S163B). The row i in which "target" is assigned to Except3(i) is a row that can be a target for calculation of sharpness, which will be described later. The determination unit 134 stores Except3(i) in the memory 137 as array data with row number i as an array element.

[0253] The determination unit 134 performs the loop process of steps S161 to S164 for all rows i until the process of excluding the row i if the maximum capacitance value in the row i is less than the proximity determination threshold is completed.

[0254] Next, the determination unit 134 performs a loop process of determining rows to be excluded while selecting rows one by one from i=1 to AllRows (steps S165 to S168). i=1, AllRows, 1 means that rows to be selected to determine rows to be excluded are selected one by one from i=1 to AllRows.

[0255] The determination unit 134 determines whether or not Except1(i)="target", Except2(i)="target", and Except3(i)="target" for the selected row i (step S166).

[0256] If the determination result in step S166 is Yes, the determination unit 134 assigns "target" to Except(i) (step S167A). The row i to which Except(i)="target" is assigned is the row that is the target of the calculation of sharpness, which will be described later. The determination unit 134 stores Except(i) in the memory 137 as array data having row number i as an element.

[0257] On the other hand, if at least one of Except1(i), Except2(i), and Except3(i) is "except", the determination unit 134 determines No in step S166. If the determination in step S166 is No, "except" is substituted for Except(i) (step S167B). A row i in which "except" is substituted for Except(i) is a row that is not subject to the calculation of sharpness, which will be described later. The determination unit 134 stores Except(i) in memory 137 as array data having row number i as an element.

[0258] The determination unit 134 performs the loop process of steps S165 to S168 until the process of determining the row to be excluded is completed for all rows i. In this manner, the row i to be excluded is determined from among all rows i.

[0259] Next, a process of calculating sharpness performed based on the subroutine "sub sharpness calculation" of step S136 in Fig. 26 will be described with reference to Fig. 29. Fig. 29 is a diagram showing a flowchart illustrating the process of calculating sharpness performed based on the subroutine "sub sharpness calculation".

[0260] The determination unit 134 performs a loop process of calculating the sharpness while selecting rows one by one from i=1 to AllRows (steps S171 to S177). i=1, AllRows, 1 means that the calculation of the sharpness is performed while selecting rows one by one from row number i=1 to AllRows.

[0261] The determination unit 134 determines whether or not Except(i)="target" for the selected row i (step S172). This is because if it is not a target, the sharpness is not calculated.

[0262] If the determination unit 134 determines that Except(i)="target" (S172: Yes), it determines whether the column Column(i) that gives the maximum value Maximum(i) in the i-th row is the first column (step S173). That is, it determines whether Column(i)=1 for the i-th row. This is to determine whether the maximum value Maximum(i) in the i-th row is obtained in the first column (the column at the end on the -X direction side).

[0263] If the determination unit 134 determines that Column(i) is not 1 (S173: No), it determines whether Column(i)=AllColumns (step S174). That is, it determines whether Column(i)=AllColumns for the i-th row. This is to determine whether the maximum value Maximum(i) for the i-th row is obtained in the end column on the +X direction side represented by AllColumns.

[0264] If the determination unit 134 determines that Column(i)=AllColumns is not satisfied (S174: No), it assigns Column(i) to j (step S175A). That is, if Column(i) indicates a value other than an end, it assigns Column(i) to j. Column(i) represents the column that indicates the maximum value Maximum(i) in the i-th row (see step S26).

[0265] The determination unit 134 calculates the sharpness Apex(i) (step S176). The sharpness Apex(i) can be obtained according to the following formula: After the determination unit 134 calculates the sharpness Apex(i), the process proceeds to step S177. Apex(i)=-Capacitance(i,j-1)+2Capacitance(i,j)+Capacitance(i,j+1)

[0266] When the determination unit 134 determines in step S172 that Except(i) is not "target" (S172: No), it sets the sharpness Apex(i) to zero (step S172A). That is, 0 is substituted for the sharpness Apex(i). Since the row is not a target for the calculation of the sharpness, the sharpness Apex(i) is set to zero. As described later, the sharpness Apex(i) is used when identifying the row where the fingertip is located. By setting a specific value (zero) to the sharpness Apex(i) of the row that is not a target for the calculation of the sharpness, the row that is a target for the calculation of the sharpness and the row that is not a target for the calculation of the sharpness can be processed in the same procedure. As described later, in this embodiment, when the sharpness is calculated, a positive value is calculated. As described later, the row with the largest sharpness is determined to be the row where the fingertip is located. Therefore, setting the sharpness Apex(i) to zero is equivalent to setting the i-th row as not being a fingertip.

[0267] Furthermore, when the determination unit 134 determines in step S173 that Column(i)=1 (S173: Yes), it sets j=2 (step S173A). This is because the column Column(i) that gives the maximum value Maximum(i) in the i-th row is the end column (first column) on the -X direction side, so the center column j of the three columns used to calculate the sharpness is set as the second column, and the sharpness is calculated using the three reciprocals of the first to third columns. After completing the process of step S173A, the determination unit 134 proceeds to step S176 to calculate the sharpness.

[0268] Furthermore, when the determination unit 134 determines in step S174 that Column(i)=AllColumns (S174: Yes), it sets j=AllColumns-1 (step S175B). This is because the column Column(i) that gives the maximum value Maximum(i) in the i-th row is the end column on the +X direction side (the sixth column represented by AllColumns), so the center column j of the three columns used to calculate the sharpness is set to AllColumns-1 (the fifth column), and the sharpness is calculated using the three reciprocals of the fourth to sixth columns. After completing the process of step S175B, the determination unit 134 proceeds to step S176 to calculate the sharpness.

[0269] The determination unit 134 performs the loop process of steps S171 to S177 until the calculation of the sharpness is completed for all rows i.

[0270] <Process for calculating sharpness according to the seventh modified example> Fig. 30 is a diagram showing a flowchart showing the process of calculating sharpness performed based on the subroutine "sub sharpness calculation" according to the seventh modified example. The process shown in Fig. 30 differs from the process of step S176 shown in Fig. 29 in the process of step S176. Here, the difference from the process shown in Fig. 29 will be described.

[0271] 30, the determination unit 134 calculates the curvature of a circle passing through the following three points as the sharpness Apex(i) (step S176). The three points are represented as (j-1,Capacitance(i,j-1)), (j,Capacitance(i,j)), and (j+1,Capacitance(i,j+1)).

[0272] In the xy coordinate system, where the x-axis is column j and the y-axis is capacitance, j-1, j, and j+1 are x1, x2, and x3, respectively, and Capacitance(i,j-1), Capacitance(i,j), and Capacitance(i,j+1) are y1, y2, and y3. This is the same as Figure 17, where the y-axis is the reciprocal, but the y-axis is the capacitance. Illustration is omitted here.

[0273] The determination unit 134 similarly obtains the radius r of the circle that passes through the three points, and inputs the curvature (the reciprocal of the radius, 1 / r) to the sharpness Apex(i). That is, the sharpness Apex(i)=1 / r.

[0274] <Process for calculating sharpness according to the eighth modified example> Fig. 31 is a diagram showing a flowchart showing the process of calculating sharpness performed based on the subroutine "sub sharpness calculation" according to the eighth modified example. In the process shown in Fig. 31, the process of step S176 is different from the process of step S176 shown in Fig. 29. Here, the difference from the process shown in Fig. 29 will be described.

[0275] In the process shown in FIG. 31, the determination unit 134 uses five adjacent points in the i-th row to find a quadratic curve that approximates the five points by curve fitting using the least squares method, and calculates the quadratic coefficient of the curve as the sharpness Apex(i) (step S176).

[0276] The five adjacent points in row i are (j-2, Capacitance(i, j-2)), (j-1, Capacitance(i, j-1)), (j, Capacitance(i, j)), (j+1, Capacitance(i, j+1)), and (j+2, Capacitance(i, j+2)). After calculating the sharpness Apex(i), the determination unit 134 proceeds to step S177.

[0277] <Process for calculating sharpness according to the ninth modified example> Fig. 32 is a diagram showing a flowchart showing the process of calculating sharpness performed based on the subroutine "sub sharpness calculation" according to the ninth modified example. In the process shown in Fig. 32, the process of step S176 is different from the process of step S176 shown in Fig. 29. Here, the difference from the process shown in Fig. 29 will be described.

[0278] In the process shown in FIG. 32, the determination unit 134 uses five adjacent points in the i-th row to perform curve fitting by the least squares method to find a circumference that approximates the five points, and calculates the curvature of the circumference as the sharpness Apex(i) (step S176).

[0279] The five adjacent points in row i are (j-2, Capacitance(i, j-2)), (j-1, Capacitance(i, j-1)), (j, Capacitance(i, j)), (j+1, Capacitance(i, j+1)), and (j+2, Capacitance(i, j+2)). After calculating the sharpness Apex(i), the determination unit 134 proceeds to step S177.

[0280] <Configuration of the electrostatic sensor 120> FIG. 33 is a diagram showing a specific configuration of the electrostatic sensor 120 of the non-contact input device 100A.

[0281] The electrostatic sensor 120 is disposed on the display device 110, and has a plurality of sensor electrodes 121X extending in the X direction and a plurality of sensor electrodes 121Y extending in the Y direction, as shown in FIG. 33. The sensor electrodes 121X and 121Y are connected to the control device 130 via wirings 122X and 122Y, respectively. As an example of such an electrostatic sensor 120, a transparent conductive film such as ITO (Indium Tin Oxide) is formed on the surface of transparent glass, and the sensor electrodes 121X and 121Y and wirings 122X and 122Y are patterned. The electrostatic capacitance of the electrostatic sensor 120 is input to the control device 130.

[0282] 33 shows 12 sensor electrodes 121X and 20 sensor electrodes 121Y as an example. The row and column relationship for the 12 sensor electrodes 121X and 20 sensor electrodes 121Y is the same as that of the operation unit 111. Therefore, 12 rows of sensor electrodes 121X and 20 columns of sensor electrodes 121Y are arranged. Note that the number of rows of sensor electrodes 121X and the number of columns of sensor electrodes 121Y are just an example.

[0283] The 12 rows of sensor electrodes 121X are scanned row by row, and the 20 columns of sensor electrodes 121Y are scanned column by column, and the AD conversion unit 132 converts the capacitances at 240 intersections between the 12 rows of sensor electrodes 121X and the 20 columns of sensor electrodes 121Y into digital values, and the counter 133 counts the change in the output of the AD conversion unit 132 and outputs the difference values ​​ΔAD at the 240 intersections. In the following, the coordinates of the intersections are represented as (i, j). Here, row i is 1 to 12, and column j is 1 to 20.

[0284] The above describes a non-contact input device according to an exemplary embodiment of the present invention. However, the present invention is not limited to the specifically disclosed embodiment, and various modifications and variations are possible without departing from the scope of the claims. [Explanation of symbols]

[0285] 100 Electronic equipment 100A non-contact input device 105 Operation surface 110 Display device 120 Electrostatic Sensor 121, 121X, 121Y Sensor electrodes 122, 122X, 122Y wiring 130 Control device 131 Main control unit 132 AD conversion section 133 Counter 134 Judgment section 135 Motion control section 136 Display control unit 137 Memory

Claims

1. a plurality of sensor electrodes for detecting capacitance in accordance with a proximity state of a hand, which performs a non-contact operation input to an operation surface of an operation unit, to the operation surface; a determination unit that calculates sharpness at a plurality of different positions in a planar view based on the electrostatic capacitances detected by the plurality of sensor electrodes, and determines a position of the operation input based on the plurality of sharpnesses; Including, The plurality of sensor electrodes are arranged in a grid pattern, the determination unit calculates the sharpness by curve fitting based on an inverse of a capacitance on a straight line aligned in an arrangement direction of the plurality of sensor electrodes; The determination unit also calculates the sharpness on a plurality of other straight lines parallel to the straight line.

2. The non-contact input device of claim 1, wherein the determination unit calculates the sharpness by performing curve fitting based on the reciprocals of the capacitances of 2n+1 sensor electrodes, including the sensor electrode for which the reciprocal of the capacitance on a straight line along the arrangement direction of the multiple sensor electrodes is the smallest value.

3. the determination unit compares the minimum values ​​of the reciprocals of the capacitances on the adjacent straight lines; 3. The non-contact input device according to claim 2, wherein a position corresponding to a reciprocal of a capacitance that is greater than a predetermined multiple of the reciprocal of the capacitance on the adjacent straight lines is regarded as a space.

4. The determination unit compares a minimum value of the reciprocals of the capacitances with a proximity determination threshold; The non-contact input device according to claim 3 , wherein a position corresponding to an inverse of a capacitance greater than the proximity determination threshold is regarded as the space.

5. When the sensor electrode having the smallest reciprocal of the capacitance on a straight line along the arrangement direction of the plurality of sensor electrodes is n or more away from an end of the plurality of sensor electrodes, the determination unit calculates the sharpness by performing curve fitting based on the reciprocals of capacitances of the sensor electrode having a minimum reciprocal of capacitance on a straight line along an arrangement direction of the plurality of sensor electrodes and n sensor electrodes on each side of the sensor electrode, When the sensor electrode in which the reciprocal of the capacitance on a straight line along the arrangement direction of the plurality of sensor electrodes is the smallest value is not located n or more away from the end of the plurality of sensor electrodes, 5. The non-contact input device according to claim 2, wherein the determination unit calculates the sharpness by curve fitting based on the inverse of the capacitance of 2n+1 of the sensor electrodes from the end on a straight line along the arrangement direction of the plurality of sensor electrodes.

6. A plurality of sensor electrodes for detecting capacitance according to a proximity state of a hand that performs a non-contact operation input to an operation surface of an operation unit; a determination unit that calculates sharpness at a plurality of different positions in a planar view based on the electrostatic capacitances detected by the plurality of sensor electrodes, and determines a position of the operation input based on the plurality of sharpnesses; Including, The plurality of sensor electrodes are arranged in a grid pattern, the determination unit calculates the sharpness by curve fitting based on a capacitance on a straight line along an arrangement direction of the plurality of sensor electrodes; The determination unit also calculates the sharpness on a plurality of other straight lines parallel to the straight line.

7. A non-contact input device as described in Claim 6, wherein the determination unit calculates the sharpness by performing curve fitting based on the capacitance of 2n+1 sensor electrodes, including the sensor electrode whose capacitance on a straight line along the arrangement direction of the multiple sensor electrodes is maximum.

8. The determination unit compares maximum values ​​of capacitances on adjacent straight lines, 8. The non-contact input device according to claim 7, wherein a position corresponding to a capacitance smaller than a predetermined multiple of the capacitance on the adjacent straight line is regarded as a space.

9. The determination unit compares the maximum value of each capacitance with a proximity determination threshold, The non-contact input device according to claim 8 , wherein a position corresponding to a capacitance smaller than the proximity determination threshold is regarded as a space.

10. When the sensor electrode having the maximum capacitance on a straight line along the arrangement direction of the plurality of sensor electrodes is located n or more away from an end of the plurality of sensor electrodes, the determination unit calculates the sharpness by curve fitting based on capacitances of the sensor electrode having a maximum capacitance on a straight line along an arrangement direction of the plurality of sensor electrodes and n sensor electrodes on each side of the sensor electrode, When the sensor electrode on which the capacitance on a straight line along the arrangement direction of the plurality of sensor electrodes is maximized is not located n or more away from the end, 10. The non-contact input device according to claim 7, wherein the determination unit calculates the sharpness by curve fitting based on the capacitance of 2n+1 of the sensor electrodes from the end on a straight line along the arrangement direction of the plurality of sensor electrodes.

11. 11. The non-contact input device according to claim 1, wherein the determination section performs the curve fitting by fitting to a quadratic function, and calculates a quadratic coefficient of the quadratic function as the sharpness.

12. The non-contact input device according to claim 1 , wherein the determination unit performs the curve fitting by fitting to a circle, and calculates a curvature of the circle as the sharpness.

13. 13. The non-contact input device according to claim 1, wherein the number of the sensor electrodes used by the determination unit to calculate the sharpness is three.

14. the number of the sensor electrodes used by the determination unit to calculate the sharpness is five or more; 13. The non-contact input device according to claim 1, wherein the determining unit calculates the sharpness by performing the curve fitting using a least squares method.

15. 11. A non-contact input device according to claim 2, wherein the 2n+1 adjacent sensor electrodes are arranged on a straight line along the arrangement direction of the plurality of sensor electrodes so that the length of the adjacent sensor electrodes is within a range of 10 mm or more and 100 mm or less.

16. The non-contact input device according to claim 1 , wherein the determination unit determines a position corresponding to a maximum sharpness among the plurality of sharpnesses as the position of the operation input.

17. The non-contact input device according to claim 1 , wherein the determination unit determines, from among the plurality of sharpness indices, a position corresponding to a sharpness equal to or greater than a threshold representing a sharpness of a finger, as the position of the finger.

18. The determination unit determines, among the plurality of sharpness indices, a position corresponding to a sharpness less than a threshold representing a sharpness of a finger as a palm position; The non-contact input device according to claim 17 , wherein the determination unit determines a position of a tip of the finger on an opposite side to the position of the palm as the position of the operation input.

19. The non-contact input device is provided so as to overlap the display device, 19. The non-contact input device according to claim 1, wherein the determination unit calculates the sharpness on a straight line along a lateral direction of the display device.

20. the determination unit determines, as a finger direction, a straight line that is obtained by approximating positions of a predetermined number of sensor electrodes, among the plurality of sensor electrodes, whose capacitance is larger than the other sensor electrodes, by a least squares method; 19. The non-contact input device according to claim 1, wherein the determination unit determines the direction for calculating the sharpness so that an angle between the direction used for calculating the sharpness and the finger direction becomes large.

21. 21. The non-contact input device according to claim 1, wherein the plurality of sensor electrodes are rectangular electrodes arranged side by side.

22. The non-contact input device has a plurality of wirings that are orthogonal to each other, 21. The non-contact input device according to claim 1, wherein each of the sensor electrodes is formed by an intersection of the wiring.

Citation Information

Patent Citations

  • Input device

    JP2002082765A

  • User interface device with touch panel, method and program for controlling user interface

    JP2010244132A

  • Fingertip touch determination device and fingertip touch determination method

    JP2012164060A

  • Display device

    JP2013190850A

  • Capacitance type input device

    JP2015049771A