Method and apparatus for inputting coordinates

Abstract: A coordinates input apparatus for detecting coordinate values of an arbitrary point by indicating the arbitrary point on a vibration transmission plate by a vibration input pen for generating a vibration, comprises: a plurality of sensors, arranged at predetermined positions in the vibration transmission plate, for detecting the vibration generated by the indication by the vibration input pen, for converting the vibration into electric signals, and for outputting; a measuring circuit to measure delay times from a time point when the arbitrary point has been indicated by the vibration input pen until time points when the electric signals are detected; an obtaining circuit to obtain origin correction data from a plurality of points on the vibration transmission plate; a memory to store the origin correction data; and a processor for reading out the origin correction data from the memory, for correcting the coordinate values on the basis of the delay times measured by the measuring circuit and the origin correction data, and for calculating the coordinate values. The processor has a selector to select the origin correction data of the optimum point so as to execute the optimum coordinate value correction from the origin correction data obtained from the plurality of points and stored in the memory.

Description: The invention relates to a coordinate input apparatus and, more particularly, to a coordinate input apparatus for correcting an accuracy by using, for instance, a propagation delay time of a surface acoustic wave. Hitherto, the following method has been used as a method of correcting an origin of a coordinate input apparatus using a surface acoustic wave. For instance, when sensors S 0 to S 3 are arranged on a vibration transmission plate as shown in Fig. 6, origin correction coefficients (n n ), distances (d n ) from a point P (x, y) to the zero point, an x coordinate value (x) of the point P, and a y coordinate value (y) of the point P are respectively obtained by the following equations (1) to (4) on the assumption that known group delay times and phase delay times from an origin (point O in Fig. 6) to the sensors are set to tgz n and tpz n (n = 0 to 3) and group delay times and phase delay times from an arbitrary point P (x, y) on the vibration transmission plate to the sensors are respectively set to tg n and tp n (n = 0 to 3). n n = [(v g (tg n -tgz n ) - v p (tp n -tpz n ))/λ + 1/N] dn = n n · λ + v p (tp n -tpz n ) x = (d 0 2 -d 1 2 )/2X + d 0 /Dz 0 - d 1 /Dz 1 y = (d 2 2 -d 3 2 )/2Y + d 2 /Dz 2 - d 3 /Dz 3 where, v g : group velocity v p : phase velocity λ: wavelength of vibration wave X: distance between the sensors S 0 and S 1 Y: distance between the sensors S 2 and S 3 Dz n : distance between the sensor and the zero point N≠0: correction term to form an integer [ ]: to form an integer by omitting the figures below a decimal point That is, an origin correction is performed by considering group delay time and phase delay time which are measured by each sensor. In the conventional method, however, as will be also obviously understood from the equation (1), when the position of the point P whose coordinate values are detected is far from the point O, a difference between the delay time from the point O to the sensor and the delay time from the point P to the sensor increases, so that the value of n n - [n n ] also increases in association with such an increase in delay time difference. In addition, since the value of n n is rounded to an integer, for instance, when N in the equation (1) assumes 2 and the value of n n is rounded to the nearest whole number, the value of n n - [n n ] discontinuously changes by only ±1 at the points where the position of the point P whose coordinate values are detected is fairly far from the point O as shown in Fig. 7, that is, at points a and b. Because of the above reason, when a constant of the velocity or the like changes due to a change in component elements of the apparatus such as a variation in thickness of the vibration transmission plate or the like or a change in external environment such as a temperature change or the like, there is a case where the value of [n] is erroneously calculated by ±1 and the accuracy is deteriorated at positions near the points a and b. Further, in the conventional apparatus, only one origin correction coefficient (n n ) is provided for each of the sensors, so that the above deterioration of the accuracy cannot be compensated. For instance, as a deviation amount of the group velocity from the phase velocity is large, the points a and b approach the point O and points such as to cause the deterioration of the accuracy appear within a range of the vibration transmission plate. Even when such a deviation amount is small, in the case where the size of the apparatus enlarges (in the case where the size of the vibration transmission plate is large), even if the points a and b are sufficiently away from the point 0, they can exist in the vibration transmission plate. Consequently, there is a possibility such that such an accuracy deterioration occurs. As another factor to deteriorate the accuracy, further, there can be mentioned an offset deviation of a whole region as shown in, e.g., Fig. 8 which occurs by a change in delay amount on the circuit or propagating path or by a change in delay amount due to the inclination of the pen or the like. In Fig. 8, the offset deviation occurs on the + side, an allowance of the accuracy correction on the + side decreases, and a possibility such that the accuracy deterioration occurs for a fluctuation from the outside is high. There is also a case where such an offset fluctuates during the operation of the apparatus. The offset cannot be eliminated by the ordinary O point correction. Document EP-A-0 333 219 discloses a coordinate input apparatus comprising a vibration pen, a vibration transmission plate and a plurality of vibration detecting means. Furthermore, calculating means for calculating vibration transmission times from a point designated by said vibration pen to said vibration detecting means, and calculating coordinate values of the designated point are provided. Additionally, calculating means are provided which perform calculations of vibration transmission times for a first point as a reference point. The reference point is different from the designated "working" point which is to be determined as a second point. Further, information relating to the first point is stored in a memory different from a memory employed for storing information relating to the designated second point. In detail, the object of this prior art coordinate input apparatus is to correct a vibration transmission time measurement error and coordinate value variations caused by environmental variation. Furthermore, from document GB-A-2 042 726, an input tablet for inputting graphic coordinates by tracing graphic elements with an input pen is known, wherein the graphics element coordinates with respect to the input tablet coordinate system are recorded. On a specific position within the tablet, the input pen emits ultrasonic waves, which propagate through the transmissive part of the tablet and which are detected by a plurality of sensors being arranged on the tablet. On the basis of the sensor information, wave transmission times and input point coordinates are calculated. The wave transmission speed is continuously detected from the known distances between respective wave sensors. Further, an initial calibration of the coordinate determination procedure is proposed by using an accurate grid of known mesh points projected on the surface of the input tablet, of which a sufficient number must be sensed with the input pen and stored as a lookup table for corrections to be made to subsequent input position calculations. However, a correction of the determined coordinate values by taking into account circuit delay times and phase offset is not performed. It is an object of the invention to provide a coordinate input apparatus which operates in a manner such that information to correct an origin is obtained at a plurality of points on a vibration transmission plate and coordinate values are corrected on the basis of those information, thereby calculating the coordinate values, as well as a coordinate input method accomplishing the above object. Another object of the invention is to provide a coordinate input apparatus which operates in a manner such that information to correct an origin is obtained a plurality of number of times at each of a plurality of points on a vibration transmission plate and coordinate values are corrected on the basis of those information, thereby calculating the coordinate values. Still another object of the invention is to provide a coordinate input apparatus which can correct an origin more accurately. According to the present invention there is provided a coordinate input apparatus comprising: a vibration transmission plate; a coordinate indicating device for generating a vibration; a plurality of detecting means arranged at predetermined positions in the vibration transmission plate for detecting the vibration which is generated by the coordinate indicating device, for converting the vibration into electric signals; and measuring means for measuring delay times from a time point when the vibration is input to said vibration transmission plate by the coordinate indicating device until time points when the vibration is detected and converted into electric signals by said plurality of detecting means; characterized by further comprising obtaining means for obtaining origin correction data from a plurality of points on the vibration transmission plate, said origin correction data comprising the propagation delay times for each of said plurality of points and the phase errors as a function of distance from each of said plurality of points; memory means for storing the origin correction data; and calculating means for reading out the origin correction data from the memory means, for correcting the coordinate values of an input position of said coordinate indicating device on the basis of the delay times measured by the measuring means and the origin correction data read out from said memory means, and for calculating coordinate values; wherein said calculating means has selecting means for selecting the propagation delay times of one of said plurality of points which has the smaller absolute phase error at said input position so as to execute optimum coordinate value correction from the origin correction data derived from said plurality of points and stored in the memory means. Furthermore, in accordance with the present invention there is provided a coordinate input method comprising: step 1 of detecting a vibration transmitted to a vibration transmission plate by a coordinate indicating device for generating a vibration and of converting said vibration into electric signals by a plurality of detecting means; and step 2 of measuring delay times from a time point when the vibration is input to said vibration transmission plate by the coordinate indicating device in said step 1 until time points when the vibration is detected and converted into electric signals by said plurality of detecting means; characterized by further comprising step 3 of obtaining origin correction data from a plurality of points on the vibration transmission plate by obtaining means, said origin correction data comprising the propagation delay times for each of said plurality of points and the phase error as a function of distance from each of said plurality of points; step 4 of storing the origin correction data derived in said step 3 into a memory means; and step 5 of reading out the origin correction data stored in said memory means in said step 4, of correcting the coordinate values of the input position of said coordinate indicating device in said step 1 on the basis of the delay times measured in said step 2 and the origin correction data read out from said memory means, and of calculating coordinate values by calculating means; wherein said step 5 includes a step of selecting by a selecting means incorporated in said calculating means the propagation delay times of one of said plurality of points which has the smaller absolute phase error at said input position so as to execute optimum coordinate value correction from the origin correction data derived from said plurality of points and stored in said memory means in step 4. Further advantageous features of the present invention are incorporated in the subclaims. The above and other objects, features and advantages of the present invention will become apparent from the following detailed description of preferred embodiments when taken in conjunction with the accompanying drawings, of which: Fig. 1 is a block diagram showing a construction of a coordinate input apparatus as a typical embodiment of the invention; Fig. 2 is a block diagram showing a construction of a wave detector; Figs. 3A and 3B are principle diagrams for correction of an origin; Fig. 4 is a flowchart showing an origin correction processing procedure; Fig. 5 is a flowchart showing another origin correction processing procedure; Fig. 6 is a diagram showing an arrangement of sensors according to a conventional apparatus; Fig. 7 is a principle diagram for origin correction according to the conventional apparatus; and Fig. 8 is a diagram showing an offset deviation in the conventional apparatus. A preferred embodiment of the invention will be described in detail hereinbelow with reference to the drawings. Fig. 1 is a block diagram showing a construction of a coordinates input apparatus as a typical embodiment of the invention. In Fig. 1, the coordinate input apparatus comprises: a vibration pen 10 to pick up coordinates; a vibrator driver 15 for allowing the vibration pen 10 to generate a vibration; a processor 20 for controlling the vibrator driver 15 and for executing a processing to calculate the coordinates from a phase delay time (T p ) and a group delay time (T g ) which are obtained; a wave detector 25 to detect the phase delay time and group delay time from a surface acoustic wave; a vibration transmission plate 30 to transmit a vibration wave; a vibration absorbing material 35; and sensors 41 to 44 to detect the vibration wave. The processor 20 has therein an ROM 80 to store a processing program to calculate the coordinates and an RAM 85 to store various data such as phase delay time (T p ) and group delay time (T g ) and the like. Fig. 2 is a block diagram showing a construction of the wave detector 25. In Fig. 2, the surface acoustic waves detected and generated from the sensors 41 to 44 are processed. The group delay time (T g ) is supplied from a T g detector 65 to the processor 20. The phase delay time (T p ) is supplied from a T p detector 75 to the processor 20. The origin correction processing in the coordinates input apparatus having the above construction will now be described with reference to principle diagrams for the origin correction shown in Figs. 3A and 3B and a flowchart shown in Fig. 4. To simplify the explanation, the case where an attention is paid to one sensor S and the phase velocity V p changes will now be considered. First, in step S10, a group delay time (tgz 0 ) and a phase delay time (tpz 0 ) at the O point are obtained and those values are stored into the RAM 85 in the processor 20. On the basis of those values, n - [n] is calculated by using the equation (1) with respect to a line connecting the sensor S and the O point as shown in Fig. 3A, so that the result as shown by a solid line 101 shown in Fig. 3B is obtained. In the case of calculating the coordinate values according to the above solid line, there is a discontinuity of n - [n] at the point (a point) which is away from the O point by a distance zd, so that an error can occur. In the next step S15, correction data of a group delay time (tgz a ) and a phase delay time (tpz a ) at the a point are obtained and those values are stored into the RAM 85. By calculating n - [n] on the basis of those values by using the equation (1) in a manner similar to step S10, the result of a broken line 102 shown in Fig. 3B is derived. When comparing the above two results, at the point (a point) where the result of the calculation (solid line 101) of n - [n] based on tgz 0 and tpz 0 causes a discontinuity, the result of the calculation (broken line 102) of n - [n] based on the group delay time (tgz a ) and phase delay time (tpz a ) doesn't cause an error (integer error). This means that by calculating n on the basis of tgz a and tpz a at a position near the a point and by adding the distance zd which has already been known when d n is calculated by the equation (2) as a sum or difference, the correct coordinate position can be calculated. In step S20, coordinates are input by the vibration pen 10. Thereafter, the coordinate values are calculated. There are considered several methods of deciding which values of tgz 0 and tpz 0 or tgz a and tpz a are used to calculate. In the embodiment, in step S25, the value of n 0 - [n 0 ] (= N 0 ) at the input point by the vibration pen 10 is calculated. Subsequently, in step S30, the value of n a - [n a ](= N a ) at the input point by the vibration pen 10 is calculated. In step S35, the values of |N 0 | and |N a | are compared. The value which is close to 0 is selected. When the value of |N 0 | is closer to 0 than the value of |N a | as a result of the comparison in step S35, the processing routine advances to step S40 and the coordinates are calculated by using the correction data (tgz 0 , tpz 0 ) at the O point. On the other hand, when |N a | is closer to 0, step S45 follows and the coordinates are calculated by using the correction data (tgz a , tpz a ) at the a point. After completion of the above processings, the processing routine advances to step S50 and the coordinate values are generated from the processor 20. In step S55, a check is made to see if the detection of the coordinates is continued or not. When the detection is continued, the processing routine is returned to step S20. When the detection is stopped, the processing routine is finished. There has been described the procedure to detect the coordinate values while correcting the origin by using the method whereby the values (N 0 and N a ) of n - [n] are calculated by using the correction data at the O point and the a point and either one of the value which is closer to 0 is selected. However, the origin correction and the detection of the coordinate values can be also performed by a method whereby the coordinates are calculated by using both of the correction data at the O and a points and the values of the correction point (O point or a point in this case) which is closer to the calculated coordinate values are selected. As further another method, a correction point different from the a point, for instance, the b point as shown in Fig. 3A is further added and the coordinates can be also calculated by using the a point on the side near the sensor S and by using the b point on the side away from the sensor S. By using a plurality of correction points without limiting to only one point, the discontinuous point of n - [n] which cannot be avoided in the case where a plurality of n - [n] curves are used and only one correction point is used is avoided, so that the accuracy deterioration can be prevented. The positions of the correction points such as a and b points can be set to arbitrary positions within a fluctuation width of each constant or the like of the apparatus. The discontinuous point of n - [n] is eliminated by using a plurality of correction points and the accuracy deterioration is prevented in the above embodiment. Further, by using the values calculated by using the data at those points and by executing the calculations to correct those values, the accuracy can be further improved. Referring now to Fig. 3B, the value of N 0 - N a is constant in a region between the O and a points. That is, N 0 - N a = const is satisfied. However, since the discontinuity occurs in the value of N 0 at the a point by only -1, when a point is located on the sensor S side than the a point in Fig. 3A, a bias value is added to N 0 , so that N 0 is calculated as N 0 + 1. When the value of the equation (5) is deviated from a predetermined value, N 0 can be corrected as mentioned above. That is, in the above case, N 0 - N a = const + 1 When a discontinuity exists in the value of N 0 at a point in the direction opposite to the a point with respect to the O point as a center, a correction of N 0 = N 0 - 1 is executed. Although the embodiment has been described above by paying an attention to the value of n, a distance error similar to n can also occur in the calculation of d. In the above case as well, the distance error can be reduced by providing a plurality of correction points as mentioned above. In the above description, the error is reduced by selecting the optimum one of a plurality of correction points. The error can be also reduced, however, by executing the correction by using a mean value or the like of the data derived from a plurality of correction points. The above correction can be also obviously omitted so long as a possible error doesn't cause any practical problem. In the embodiment, a consideration has been made with respect to only one sensor S for simplicity of explanation. When there are a plurality of sensors, however, similar processings are executed with respect to each sensor in processing steps S10, S15, S25, S30, S40, and S45. In the above, first embodiment, the correction data have simultaneously been obtained at different points (O point and a point). The case where a plurality of correction data are obtained at the same point under different conditions and the correction is performed will now be explained with reference to a flowchart of Fig. 5. The coordinate input apparatus used in the first embodiment is used. Therefore, the same parts and components as those in the apparatus of the first embodiment are designated by the same reference numerals and their descriptions are omitted unless otherwise specified. In the flowchart of Fig. 5, further, the same processing steps as those in Fig. 4 of the first embodiment are designated by the same step numbers and their descriptions are omitted here. An offset deviation as shown in Fig. 8 generally occurs by a change in angle when the vibration pen is come into contact with the vibration transmission plate, delay time of the circuit, or offset amount of the propagation delay time. To correct the offset amount, the values of tgz 0 and tpz 0 under the ordinary conditions at the O point are calculated and stored, and the correction data (tgz off , tpz off ) under the conditions (hereinafter, referred to as offset conditions) including an offset occurring due to changes in angle, temperature, and the like in step S115 are derived and stored into the RAM 85. The following calculation processings are executed on the basis of the values derived as mentioned above. In step S130, the value of n off - [n off ] (= N off ) is obtained by using the correction data under the offset conditions at the O point. When the value of the result obtained as mentioned above is compared with the value of n 0 - [n 0 ] (= N 0 ) which is obtained by using the values of tgz 0 and tpz 0 , the value of N 0 is close to 0 and the value of N off is away from 0 so long as the conditions of the apparatus upon inputting of the coordinates are close to the conditions when tgz 0 and tpz 0 are obtained. Because of the above reasons, in step S135, |N 0 | and |N off | are compared. When the value of |N 0 | is close to 0, step S40 follows. When the value of |N off | is close to 0, step S145 follows. In step S145, the coordinates are calculated by using the correction data under the offset conditions at the O point. As mentioned above, the coordinates are calculated by selectively using either the correction data obtained under the ordinary conditions at the O point or the correction data under the offset conditions. Thus, the accuracy deterioration occurring due to, particularly, the offset deviation can be prevented. By calculating the coordinates by using the mean value of tgz 0 and tpz 0 and the mean value of tgz off and tpz off , the processing to select the correction data which is necessary every input of the coordinates can be eliminated, so that the calculating speed can be further improved. A second embodiment is formed by combining the plurality of correction data for the same point with the first embodiment so as to provide a plurality of correction data for each of a plurality of points. Hence, the correction can be more effectively executed in correspondence to the offset deviation, changes in component elements of the apparatus, change in external environment, or the like. In the embodiment, consideration has been made with respect to only one sensor S for simplicity of explanation. However, when a plurality of sensors exist, similar processes are executed with respect to each sensor in the processing steps S10, S115, S125, S130, S140, and S145. Therefore, according to the foregoing embodiments, the optimum correction data is selected on the basis of a plurality of origin correction data derived at a plurality of points and the coordinates calculation and the correction calculation are performed. Thus, the accuracy deterioration due to a variation in component elements and a fluctuation of external factors can be prevented. The origin correction can be more precisely executed.

Claims: A coordinate input apparatus comprising: a vibration transmission plate (30); a coordinate indicating device (10) for generating a vibration; a plurality of detecting means (41 to 44) arranged at predetermined positions in the vibration transmission plate (30) for detecting the vibration which is generated by the coordinate indicating device (10), for converting the vibration into electric signals; and measuring means (25; 65, 75) for measuring delay times (T g , T p ) from a time point when the vibration is input to said vibration transmission plate (30) by the coordinate indicating device (10) until time points when the vibration is detected and converted into electric signals by said plurality of detecting means (41 to 44); characterized by further comprising obtaining means (20) for obtaining origin correction data (N a , N o ) from a plurality of points (a, O) on the vibration transmission plate (30), said origin correction data comprising the propagation delay times (tgz o , tpz o , tgz a , tpz a ) for each of said plurality of points and the phase errors (N o , N a ) as a function of distance (d) from each of said plurality of points (a, O); memory means (85) for storing the origin correction data; and calculating means (20) for reading out the origin correction data from the memory means (85), for correcting the coordinate values of an input position of said coordinate indicating device on the basis of the delay times (T g , T p ) measured by the measuring means (25; 65, 75) and the origin correction data read out from said memory means (85), and for calculating coordinate values; wherein said calculating means (20) has selecting means for selecting the propagation delay times of one of said plurality of points (a, O) which has the smaller absolute phase error at said input position so as to execute optimum coordinate value correction from the origin correction data derived from said plurality of points and stored in the memory means (85). An apparatus according to claim 1, characterized in that the calculating means has producing means for combining the origin correction data derived from said plurality of points and stored in the memory means and for producing the optimum origin correction data. An apparatus according to claim 1, characterized in that a plurality of correction data is stored under different conditions for each of the points (O, a). A coordinate input method comprising: step 1 of detecting a vibration transmitted to a vibration transmission plate (30) by a coordinate indicating device (10) for generating a vibration and of converting said vibration into electric signals by a plurality of detecting means (41 to 44); and step 2 of measuring delay times (T g , T p ) from a time point when the vibration is input to said vibration transmission plate by the coordinate indicating device (10) in said step 1 until time points when the vibration is detected and converted into electric signals by said plurality of detecting means (41 to 44); characterized by further comprising step 3 of obtaining origin correction data (N a , N o ) from a plurality of points (a, O) on the vibration transmission plate (30) by obtaining means (20), said origin correction data comprising the propagation delay times (tgz o , tpz o , tgz a , tpz a ) for each of said plurality of points and the phase error (N o , N a ) as a function of distance (d) from each of said plurality of points (a, O); step 4 of storing the origin correction data derived in said step 3 into a memory means (85); and step 5 of reading out the origin correction data stored in said memory means (85) in said step 4, of correcting the coordinate values of the input position of said coordinate indicating device (10) in said step 1 on the basis of the delay times (T g , T p ) measured in said step 2 and the origin correction data read out from said memory means (85), and of calculating coordinate values by calculating means (20); wherein said step 5 includes a step of selecting by a selecting means incorporated in said calculating means (20) the propagation delay times of one of said plurality of points (a, O) which has the smaller absolute phase error at said input position so as to execute optimum coordinate value correction from the origin correction data derived from said plurality of points and stored in said memory means (85) in step 4. A method according to claim 4, characterized in that in step 3 additionally a plurality of correction data is stored under different conditions for each of the points (O, a).

Inventors: KAMONO TAKESHI, KANEKO KIYOSHI, KOBAYASHI KATSUYUKI, TANAKA ATSUSHI, TANIISHI SHINNOSUKE, YANAGISAWA RYOZO, YOSHIMURA YUICHIRO, KAMONO, TAKESHI, KANEKO, KIYOSHI, KOBAYASHI, KATSUYUKI, TANAKA, ATSUSHI, TANIISHI, SHINNOSUKE, YANAGISAWA, RYOZO, YOSHIMURA, YUICHIRO
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1991
Main classification: G06K11
IPC codes: G06K11, G06F3