Control of coordinate input apparatus based on light distribution and moving amounts of sensor units

The sensor unit of each of a first bar housing unit and second bar housing unit is moved. The moving amount is measured and stored. The distribution of a light amount received by the light receiving unit of the sensor unit of each of the first bar housing unit and second bar housing unit is detected, and whether the moving amount is appropriate is determined based on the detection result. A calculation value used when the coordinates of the pointed position in the coordinate input effective region are calculated based on variations of the light amount distribution is corrected by using the moving amount stored when it is determined that the moving amount is appropriate.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a coordinate input apparatus which optically detects a coordinate position input to a coordinate input surface by a pointer such as a finger in order to input or select information. Particularly, the present invention relates to a detachable portable coordinate input apparatus.

2. Description of the Related Art

There is a coordinate input apparatus used to control a connected computer and write a character, figure, and the like by inputting coordinates to a coordinate input surface by pointing with a pointer (for example, a special-purpose input pen or finger).

As such coordinate input apparatuses, various types of touch panels have conventionally been proposed and commercialized. The coordinate input apparatuses are widely used because a terminal such as a personal computer can be easily operated on the screen without using a special tool or the like.

Coordinate input methods range from a method using a resistive film to a method using an ultrasonic wave. A method using light is disclosed in, for example, U.S. Pat. No. 4,507,557. In U.S. Pat. No. 4,507,557, a retroreflecting sheet is arranged outside a coordinate input region. The angle between a shielding member such as a finger which cuts off light in the coordinate input region, and a light receiving unit is detected by using an illumination unit configured to emit light and the light receiving unit configured to receive light, which are arranged at the corner of the coordinate input region. In U.S. Pat. No. 4,507,557, the position pointed by the shielding member is determined based on the detection result.

As apparatuses having similar arrangements, for example, Japanese Patent Laid-Open Nos. 2000-105671 and 2001-142642 disclose coordinate input apparatuses in which a retroreflecting member is arranged around a coordinate input region, and the coordinates of a portion (light shielding portion) where retroreflected light is cut off are detected.

Of these apparatuses, for example, the apparatus in Japanese Patent Laid-Open No. 2000-105671 detects the angle of a light shielding portion with respect to the light receiving unit by detecting, by waveform processing calculation such as differentiation, the peak of the light shielding portion by a shielding member that is received by the light receiving unit, and calculates the coordinates of the shielding member based on the detection result. Japanese Patent Laid-Open No. 2001-142642 discloses an arrangement in which one end and the other end of a light shielding portion are detected by comparison with a specific level pattern, and the center between their coordinates is detected.

A method of detecting a light shielding position and calculating its coordinates, as in U.S. Pat. No. 4,507,557 and Japanese Patent Laid-Open Nos. 2000-105671 and 2001-142642, will be called a light shielding method.

It is conceivable to configure the above-described coordinate input apparatus to be freely attachable to and detachable from a plate surface such as a whiteboard. The detachable apparatus arrangement enables the user to bring the apparatus into a place where he wants to use the system when he wants to use it, attach the apparatus to a whiteboard or the like, and use it.

At this time, however, the apparatus is attached in various ways depending on the user. The building components of the apparatus, such as a sensor, are not always attached at high precision, unlike assembly in a factory.

As an example of the detachable apparatus arrangement, sensor units are arranged at the two ends of each of bar-like housing units, and a retroreflecting member is arranged on the side surface of each housing unit. The bar-like housing units are arranged on facing sides of a rectangular coordinate input effective region so that the retroreflecting members arranged on the housing units face each other straightly. The user attaches the portable bar-like housing units on the left and right, or top and bottom of the almost rectangular coordinate input region. The user can use a wall surface or whiteboard he wants as the coordinate input surface. The display surface of a display apparatus is made to almost coincide with the coordinate input effective region. The display surface can therefore be used as an interactive display capable of display control by a touch operation or the like.

With this arrangement, the user can set the coordinate input effective region to an arbitrary size. In addition to the advantage of portability by detachment, the system can cope with various projected image sizes of a front projector depending on the user.

To calculate the coordinates of a touch position at high accuracy in this system, the positions of four sensor units at the respective ends of the paired bar-like housing units need to be grasped accurately. To accurately grasp the position of a given sensor unit, the two sensor units of the facing bar-like housing unit need to be positioned within the view angle of the light receiving unit of the given sensor unit. That is, the bar-like housing units need to be arranged so that the light receiving unit of the given sensor unit can detect pieces of angle information of the two sensor units in the facing bar-like housing unit.

However, the installation state may not satisfy the above condition if the positions of the bar-like housing units shift or are not parallel depending on installation of the bar-like housing units by the user. To avoid this, fine work instructions may be issued in installation by the user, but such specifications hinder easy setup and greatly impair user friendliness.

SUMMARY OF THE INVENTION

The present invention provides a detachable coordinate input apparatus which includes bar-like housing units and implements easy setup by the user and high-accuracy coordinate calculation.

To achieve the above object, a coordinate input apparatus according to the present invention comprises the following arrangement.

That is, a coordinate input apparatus in which a first bar housing unit and a second bar housing unit each including at least two sensor units each formed from a light projecting unit and a light receiving unit, and a retroreflecting member are arranged on two facing sides of a coordinate input effective region to make the retroreflecting members face each other, and which detects a pointed position in the coordinate input effective region, comprising: a moving unit configured to move the sensor unit of each of the first bar housing unit and second bar housing unit; a moving amount measurement unit configured to measure and store a moving amount by the moving unit; a moving amount determination unit configured to detect a distribution of a light amount received by the light receiving unit of the sensor unit of each of the first bar housing unit and second bar housing unit, and determine, based on a detection result, whether the moving amount by the moving unit is appropriate; and a correction unit configured to correct a calculation value used when coordinates of the pointed position in the coordinate input effective region are calculated based on variations of the light amount distribution by using the moving amount stored in the moving amount measurement unit when the moving amount determination unit determines that the moving amount by the moving unit is appropriate.

As described above, the present invention implements easy setup by the user and high-accuracy coordinate calculation in a detachable coordinate input apparatus including bar-like housing units.

DESCRIPTION OF THE EMBODIMENTS

Embodiments of the present invention will now be described in detail with reference to the accompanying drawings. Note that arrangements set forth in the following embodiments are merely examples, and the present invention is not limited to illustrated arrangements.

First Embodiment

The schematic arrangement of a coordinate input apparatus according to the first embodiment will be described with reference toFIG. 1.

InFIG. 1, bar-like housing units (to be simply referred to as bar housing units hereinafter)1L and1R include at least two sensor units2-L1and2-L2, and two sensor units2-R1and2-R2, respectively.

The bar housing units1L and1R (to be generically referred to as bar housing units1) are arranged on two facing sides of a rectangular coordinate input effective region5, as shown inFIG. 1. If a display apparatus is a front projector, the display region is set within the coordinate input effective region5and on the same plane, and an image is projected to, for example, a flat whiteboard6. Needless to say, the display region is not limited to the whiteboard6and may be a wall surface or the like.

Retroreflecting members4L and4R (to be generically referred to as retroreflecting members4) are mounted on the side surfaces of the bar housing unit1L (first bar housing unit) and bar housing unit1R (second bar housing unit). Each of the retroreflecting members4L and4R is configured to retroreflect an infrared ray projected by the sensor unit of the bar housing unit1L or1R arranged on a facing side.

The bar housing unit1L incorporates the sensor units2-L1and2-L2, and the bar housing unit1R incorporates the sensor units2-R1and2-R2. An arithmetic control circuit3L incorporated in the bar housing unit1L controls the sensor units2-L1and2-L2, performs arithmetic processing for their output results, and controls an arithmetic control circuit3R of the bar housing unit1R. The arithmetic control circuit3R of the bar housing unit1R controls the sensor units2-R1and2-R2, performs arithmetic processing for their output results, and transmits the results to the arithmetic control circuit3L of the bar housing unit1L. The arithmetic control circuit3L of the bar housing unit1L processes output results from the four sensor units2-L1,2-L2,2-R1, and2-R2, calculates the touch position, and outputs the result to an external device such as a personal computer.

InFIG. 1, the arithmetic control circuit3L of the bar housing unit1L and the arithmetic control circuit3R of the bar housing unit1R are connected by a code (that is, wired), but the present invention is not limited to this. For example, the arithmetic control circuits3L and3R may have a wireless communication function and transmit/receive data by using the communication function (wireless connection).

In the following description, the horizontal direction is the X-axis (positive on the right side in the drawing), and the vertical direction is the Y-axis (positive on the down side).

FIGS. 2A to 2Care views showing the detailed arrangement of the sensor units2-L1,2-L2,2R1, and2-R2(to be generically referred to as sensor units2).FIG. 2Ais a sectional view taken along a line A-A inFIG. 1, andFIGS. 2B and 2Care front views when viewed from a direction indicated by an arrow inFIG. 2A.

InFIG. 2A, the sensor unit2is housed in the bar housing unit1and formed from a light projection unit30and light receiving unit40. The distance between the light projection unit30and the light receiving unit40is L_pd, and the retroreflecting member4is interposed between them as shown inFIG. 2A. A light transparent member45is a protection member for preventing entrance of a foreign substance such as dust into the bar housing unit1.

InFIG. 2B, the light projection unit30includes an infrared LED31serving as a light emitting unit, a projection lens32, and an adhesion layer33for fixing them. The projection lens32is configured to change light from the infrared LED31into a beam almost parallel to the whiteboard6serving as the coordinate input surface. The light projection unit30emits a fan-like beam having a vertex at the position of a point O (the barycentric position of the sensor unit2) in a light projection range of g to h so as to illuminate the entire region of the retroreflecting member4of the bar housing unit1arranged on a facing side. At this time, the optical axis of the light projection unit30is set in the direction f.

InFIG. 2C, the light receiving unit40detects light which has been projected by the light projection unit30and retroreflected by the retroreflecting member4mounted on the bar housing unit1arranged on a facing side. Reference numeral41denotes a line CCD serving as a photoelectric converter;42, a light receiving lens;43, a field stop; and44, an infrared pass filter. The infrared pass filter44may be omitted by giving the infrared pass filter function to a protection member45.

The optical axis of the light receiving unit40is set in the direction f. The field range is a range of g to h, and the position of the point O serves as an optical center position. As shown inFIG. 2C, the light receiving unit40is an optical system asymmetric to the optical axis. The light projection unit30and light receiving unit40are arranged to overlap each other, as shown inFIG. 2A, so that the positions of the points O, the directions g, and the directions h substantially coincide with each other. Since the light receiving unit40condenses light to a pixel of the line CCD41in accordance with the direction of incident light, the pixel number of the line CCD41represents angle information of incident light.

The sensor unit2is configured to be rotatable about the point O serving as the central axis because of the following reason. A rotation mechanism51, and a moving amount measurement unit52such as an encoder for measuring the rotation amount (moving amount) are arranged for the sensor unit. The rotation mechanism51may be rotated by a manual operation by an operator or an automatic operation by a driving mechanism such as a motor. When the rotation mechanism51is rotated by the manual operation, a message indicative of this is notified to stop the manual operation by the operator based on the determination result of a moving amount determination unit53which determines whether the rotation amount is appropriate. When the rotation mechanism51is rotated by an automatic operation by the driving mechanism such as a motor, the rotation operation stops at a position corresponding to an appropriate rotation amount. The moving amount measurement unit52stores an amount of rotation from a reference state, and the information is used for angle information correction.

Note that the effect of arranging the rotation mechanism51, moving amount measurement unit52, and moving amount determination unit53, and the like will be described later. The outline of the coordinate input apparatus will be explained continuously.

FIG. 3Ais a block diagram showing the arithmetic control circuit3. The arithmetic control circuit3L of the bar housing unit1L and the arithmetic control circuit3R of the bar housing unit1R in the first embodiment have the same circuit arrangement except for an external interface specification, and perform control of the corresponding connected sensor units2and calculation.FIG. 3Aparticularly shows the arrangement of the arithmetic control circuit3L of the bar housing unit1L.

A CPU61formed from a one-chip microcomputer or the like outputs CCD control signals for the line CCDs41of the sensor units2-L1and2-L2, and performs output control of the shutter timings and data of the line CCDs41, and the like. CCD clocks are transmitted from a clock generator CLK62to the sensor units2-L1and2-L2, and also input to the CPU61in order to perform various control operations in synchronism with the line CCDs41. Note that the CPU61supplies LED driving signals for driving the infrared LEDs31of the sensor units2-L1and2-L2.

An A/D converter63receives detection signals from the line CCDs41of the sensor units2-L1and2-L2, and converts them into digital values under the control of the CPU61. A memory64stores the converted digital values to use them for angle calculation. A geometric touch position is calculated from the calculated angle information, and output to an information processing apparatus such as an external PC via an interface68(for example, a USB interface).

As described above, the arithmetic control circuit3of each bar housing unit1controls the two sensor units2. If the arithmetic control circuit3L of the bar housing unit1L serves as the main function, the CPU61transmits a control signal to the arithmetic control circuit3R of the bar housing unit1R via a serial communication unit67to synchronize the circuits. Then, the CPU61acquires necessary data from the arithmetic control circuit3R.

The operation between the arithmetic control circuits3L and3R is executed by master-slave control. In the first embodiment, the arithmetic control circuit3L serves as the master, and the arithmetic control circuit3R serves as the slave. Note that each arithmetic control circuit can become either the master or slave, and a switching unit such as a DIP switch (not shown) can switch the arithmetic control circuit between the master and the slave by inputting a switching signal to the CPU port.

To acquire data from the sensor units2-R1and2-R2of the bar housing unit1R arranged on a facing side, the arithmetic control circuit3L of the bar housing unit1L serving as the master transmits a control signal to the arithmetic control circuit3R serving as the slave via the serial communication unit67. Angle information obtained by the sensor units2-R1and2-R2is calculated and transmitted to the arithmetic control circuit3L serving as the master via the serial communication unit67.

In the first embodiment, the interface68is mounted on the arithmetic control circuit3L serving as the master. An infrared light receiving unit66is a pointer when a special-purpose pen (not shown) for emitting an infrared ray is used. A sub-CPU65decodes a signal from the special-purpose pen. The special-purpose pen includes a switch which detects pressing of the input surface by the pen tip, and various switches arranged on the side of the pen housing. The operation state of the special-purpose pen can be detected by transmitting the states of these switches and pen identification information from an infrared light emitting unit arranged in the special-purpose pen.

FIG. 3Bis a timing chart showing control signals output from the CPU61of the arithmetic control circuit3L serving as the master to operate the sensor unit2, and the operation of the sensor unit2.

Reference numerals71,72, and73denote control signals for controlling the line CCD41. The interval of the SH signal71determines the shutter open time of the line CCD41. The ICGL signal72is a gate signal to the sensor units2-L1and2-L2of the bar housing unit1L, and is a signal for transferring charges in the photoelectric converter of the line CCD41to a readout unit.

A CCDL signal74is a signal representing the shutter open time of the line CCDs41of the sensor units2-L1and2-L2. The ICGR signal73is a gate signal to the sensor units2-R1and2-R2of the facing bar housing unit1R, and is transmitted to the arithmetic control circuit3R of the bar housing unit1R via the serial communication unit67. Then, the arithmetic control circuit3R generates a signal for transferring charges in the photoelectric converter of the line CCD41to the readout unit. A CCDR signal75is a signal representing the shutter open time of the line CCDs41of the sensor units2-R1and2-R2.

An LEDL signal76and LEDR signal77are driving signals for the infrared LEDs31of the sensor units2. To turn on the infrared LEDs31of the sensor units2-L1and2-L2of the bar housing unit1L in the first cycle of the SH signal71, the LEDL signal76is supplied to the infrared LEDs31via LED driving circuits (not shown).

To turn on the infrared LEDs31of the sensor units2-R1and2-R2of the bar housing unit1R arranged on a facing side in the next cycle of the SH signal71, the LEDR signal77is transmitted to the arithmetic control circuit3R via the serial communication unit67. Then, the arithmetic control circuit3R generates a signal to be supplied to the LED driving circuits.

After the end of driving the infrared LED31and opening the shutter of the line CCD41, a signal from the line CCD41is read out from the sensor unit2, and angle information is calculated by a method to be described later. The arithmetic result of the arithmetic control circuit3R serving as the slave is transmitted to the arithmetic control circuit3L serving as the master.

By the above-described operation, the sensor units2-L1and2-L2of the bar housing unit1L and the sensor units2-R1and2-R2of the facing bar housing unit1R operate at different timings. With this arrangement, only retroreflected light of light emitted by the sensor unit itself can be detected without detecting infrared light of the sensor unit arranged on a facing side.

Assume that the optical axis of the light receiving unit40of the sensor unit2-L1exists in the direction f, and the range (measurable range) of the field of view is defined by the direction f to the direction g, as shown inFIG. 4A. The retroreflecting member4R arranged on the facing bar housing unit1R falls within the field range of the sensor unit2-L1over the entire length of the retroreflecting member4R. Light in directions in the range of j to k in which the retroreflecting member4R is actually mounted is retroreflected and detected by the light receiving unit40. This relationship is assumed to be established for all the sensor units2.

A signal output from the sensor unit2of the bar housing unit1will be explained with reference toFIGS. 5A to 5F. InFIGS. 5A to 5F, the abscissa represents the pixel number of the sensor unit serving as the photoelectric converter, and the ordinate represents the voltage value of a light amount detected by the pixel.FIG. 5Ashows an output from the light receiving unit40when the light projection unit30of the sensor unit2does not emit light.FIG. 5Bshows an output from the light receiving unit40when the light projection unit30of the sensor unit2emits light. InFIG. 5B, a level A is the maximum level of a detected light amount, and a level B is a level at which no light is detected (received). A range of pixel numbers Ng to Nh is a field range detectable by the light receiving unit40, and symbols g and h correspond to symbols indicating directions inFIGS. 4A to 4D. Since the light receiving unit40according to the first embodiment employs a centered optical system, the intermediate pixel number Nf among the pixel numbers Ng to Nh corresponds to the optical axis direction.

An infrared ray emitted by the sensor unit2is retroreflected by the retroreflecting member4arranged on a facing side, and detected by the sensor unit2itself. The direction of the pixel number Nj at which an optical output starts to be obtained is the direction j inFIG. 4A. Similarly, the direction of the pixel number Nf is the direction k inFIG. 4A. The light amount at the pixel number Nj up to the pixel number Nk changes depending on the size and aspect ratio of the display screen, a corresponding arrangement state (especially the distance between the two bar housing units1) and stretching/contraction state of the bar housing units1, and the like.

To obtain an optimum light amount level, the coordinate input apparatus according to the first embodiment controls the SH signal to adjust the shutter open time of the line CCD41and the exposure time of the infrared LED31. The time can be set to be short if a light amount obtained from the sensor unit2is large, and long if it is small. Further, a current to be supplied to the infrared LED31may be adjusted depending on a detected light amount level. The coordinate input apparatus is configured to obtain an optimum light amount by monitoring an output signal in this manner. This adjustment may be performed, as needed, when the level varies. Alternatively, when the bar housing unit1is set and holds the state, a predetermined stable signal should be obtained, so the light amount may be adjusted at the time of power-on upon completion of installation.

Referring back toFIGS. 5A to 5F, when the user touches the input surface of the coordinate input effective region5and cuts off the optical path, no light amount can be detected at, for example, the pixel number Nc, as shown inFIG. 5C. In the first embodiment, a direction in which the input surface has been touched, that is, an angle is calculated using signals inFIGS. 5A to 5C.

First, reference data is acquired upon activation of the system, upon reset of the system, or automatically. Although data processing of one sensor unit2will be explained below, the remaining sensor units also perform the same processing.

Upon power-on, while the operator does not perform a touch operation and the illumination by the light projection unit30is OFF, the A/D converter63A/D-converts an output from the line CCD41, and the memory64stores the value as Base_Data[N]. This data contains variations of the bias of the line CCD41and is data around the level B inFIG. 5A. [N] is the CCD pixel number of the line CCD41, and a pixel number corresponding to an effective input range is used.

Similarly, a light amount distribution in a state in which the operator does not perform a touch operation and the light projection unit30projects light is acquired and stored. This data is data indicated by a solid line inFIG. 5B, and is stored as Ref_Data[N] in the memory64. The stored two types of data are managed as initial data.

After that, sampling starts. If no touch operation is performed, the data shown inFIG. 5Bis obtained. If a touch operation is performed, data shown inFIG. 5Cin which a shadow C has been detected in accordance with the touch position is detected. The sample data obtained in the presence of illumination by the light projection unit30is defined as Norm_Data[N].

By using these data (Base_Data[N] and Ref_Data[N] stored in the memory64), the presence/absence of an input from the pointer and the presence/absence of a light shielding portion (light shielding range) are determined. First, to specify a light shielding portion, the absolute amount of a change of data is calculated in each pixel and compared with a preset threshold Vtha:
Norm_Data0[N]=Norm_Data[N]−Ref_Data[N](1)
where Norm_Data0[N] is the absolute change amount in each pixel. By comparison with the threshold, a determination error caused by noise or the like is prevented, and a reliable change of a predetermined amount is detected. If data exceeding the threshold is generated in, for example, a predetermined number or more of successive pixels, it is determined that a touch operation has been performed. Since this processing only calculates a difference and compares it, the calculation can be performed within a short time and the presence/absence of an input can be determined quickly.

Then, for higher-accuracy detection, the change ratio of pixel data is calculated, and an input point is determined using equation (2):
Norm_DataR[N]=Norm_Data0[N]/(Base_Data[N]−Ref_Data[N])  (2)

For this pixel data (light amount distribution), a separately set threshold Vthr is applied. Then, the angle is calculated by obtaining, as a pixel corresponding to the input from the pointer, the center between pixel numbers at the leading edge and trailing edge of a light amount variation region corresponding to the light shielding portion in the light amount distribution, which pixel numbers correspond to points crossing the threshold Vthr.

FIG. 5Dexemplifies a detection result after the end of calculating the change ratio. In detection using the threshold Vthr, assume that the leading edge of the light shielding portion reaches a level Ls in the Ns-th pixel and exceeds the threshold Vthr. Further, assume that the data level reaches a level Lt in the Nt-th pixel and becomes lower than the threshold Vthr.

At this time, the pixel number Np of the line CCD41that should be output may be calculated as the center value between pixel numbers at the leading and trailing edges, in accordance with equation (3):
Np=Ns+(Nt−Ns)/2  (3)
In this case, the pixel interval of the line CCD41serves as the resolution of the output pixel number.

For higher-resolution detection, a virtual pixel number at which the data level crosses the threshold Vthr is calculated using the data level of each pixel and that of an immediately preceding adjacent pixel.

Letting Ls be the level of the pixel Ns, Ls−1 be that of the pixel Ns−1, Lt be that of the pixel Nt, and Lt−1 be that of the pixel Nt−1, virtual pixel numbers Nsv and Ntv can be calculated as
Nsv=Ns−1+(Vthr−Ls−1)/(Ls−Ls−1)  (4)
Ntv=Nt−1+(Vthr−Lt−1)/(Lt−Lt−1)  (5)

According to these calculation equations, virtual pixel numbers corresponding to output levels, that is, pixel numbers finer than those of the line CCD41can be acquired. A virtual center pixel Npv between the virtual pixel numbers Nsv and Ntv is determined by equation (6):
Npv=Nsv+(Ntv−Nsv)/2  (6)

In this fashion, higher-resolution detection can be implemented by calculating virtual pixel numbers crossing the threshold Vthr of the predetermined level from the pixel number of a pixel of a data level crossing the threshold Vthr, an adjacent pixel number, and their data levels.

To calculate the actual coordinate value of the pointer from the thus-obtained center pixel number, the center pixel number needs to be converted into angle information.

In actual coordinate calculation to be described later, it is more convenient to calculate not an angle itself but a tangent value at this angle. Note that a pixel number is converted into tan θ by looking up a table or using a transformation. When a high-order polynomial is used as the transformation, the accuracy can be ensured. However, it suffices to determine the order and the like in consideration of the calculation ability, accuracy, and the like.

The use of a fifth-order polynomial will be exemplified. When the fifth-order polynomial is used, six coefficients are necessary, and these coefficient data are stored in a memory such as a nonvolatile memory in shipment or the like. Letting L5, L4, L3, L2, L1, and L0be the coefficients of the fifth-order polynomial, tan θ can be expressed by
tan θ=((((L5*Npr+L4)*Npr+L3)*Npr+L2)*Npr+L1)*Npr+L0  (7)
By executing the same calculation for the respective sensor units, respective angle data can be determined. Although tan θ is calculated in the above example, angle data itself may be calculated and then tan θ may be calculated.

FIGS. 6A to 6Fare views showing a positional relationship with screen coordinates. The field range of the sensor unit2-L1of the bar housing unit1L is a range of the direction j to the direction k, and the sign of the angle is set as shown inFIG. 6A. The angle reference of the sensor unit2-L1is defined as the X-axis direction, and its direction is defined as an angle of 0°. Similarly, the field range of the sensor unit2-L2is a range of the direction k to the direction j, and the sign of the angle is set as shown inFIG. 6A. The angle reference of the sensor unit2-L2is defined as the X-axis direction, and its direction is defined as an angle of 0°. A line segment connecting the center of the optical axis of the sensor unit2-L1and that of the optical axis of the sensor unit2-L2is defined as the Y-axis. Then, the angle reference of each sensor unit serves as the normal direction of the line segment. Also, the distance between the center of the optical axis of the sensor unit2-L1and that of the optical axis of the sensor unit2-L2is defined as dh and has a preset value.

Assume that a touch operation is performed at the position of a point P.

An angle calculated by the sensor unit2-L1is θL1, and an angle calculated by the sensor unit2-L2is θL2. The coordinates of the touch position P can be geometrically calculated using these two pieces of angle information and the distance dh:
x=dh·tan(π/2−θL2)·tan(π/2−θL1)/(tan(π/2−θL2)+tan(π/2−θL1))  (8)
y=dh·tan(π/2−θL2)/(tan(π/2−θL2)+tan(π/2−θL1))  (9)

Even if an output from one sensor unit is θL1=0 or θL2=0, the touch position can be geometrically easily calculated based on angle information output from the other sensor unit.

In the first embodiment, the sensor unit includes the rotation mechanism. Hence, angle information calculated by the sensor unit needs to be corrected by the amount of rotation by the sensor unit. The angle information calculated in accordance with equation (7) is corrected by an angle stored in the moving amount measurement unit52. The touch position is then calculated using equations (8) and (9).

The touch position can be calculated only when the touch position P exists in a hatched range inFIG. 6Bout of the field ranges of the sensor units2-L1and2-L2. If the touch position falls outside this range, the touch position in the entire coordinate input effective region5can be detected by changing a combination of sensor units used for calculation, as shown inFIGS. 6C, 6D, and 6E. Hence, sensor units necessary for coordinate calculation are selected based on the presence/absence of a light shielding direction detected by each sensor unit2and the light shielding direction, and then the touch position is calculated. The parameters in equations (8) and (9) are changed in accordance with a combination of the selected sensor units2, and coordinate transformation is performed.

When the touch position P exists near a sensor unit selection boundary region, as shown inFIG. 6F, it can be calculated by a combination of sensor units in the state ofFIG. 6B or 6C. As a detailed arrangement, for example, the field range of the sensor unit2-L2and that of the sensor unit2-R1are set to overlap each other in the diagonal direction of the coordinate input effective region5. When the user touches the overlapping region, the coordinates can be calculated by a plurality of sensor unit combinations. In this case, the average of coordinate values calculated by a combination of sensor units may be output as determined coordinates.

The coordinate input apparatus according to the first embodiment is described on the assumption that the retroreflecting members of the bar housing units arranged at positions where the retroreflecting members face the corresponding sensor units exist in the field ranges of the sensor units over the entire lengths of the retroreflecting members. However, the first embodiment assumes that the user uses the two bar housing units1by attaching them to display surfaces of various display sizes. Depending on the way of attaching the bar housing units by the user, the retroreflecting members may be attached outside the field range. The first embodiment has described the retroreflecting members configured to have satisfactory field angles. However, if the field of view cannot be satisfactorily ensured for an optical reason, cost reason, or the like, this poses a serious problem.

FIG. 5Eshows an output from the sensor unit when part of the retroreflecting member4of the bar housing unit arranged at a position where the retroreflecting member4faces the corresponding sensor unit falls outside the field range of the sensor unit. At the pixel number Ng corresponding to the field limit, the output signal level rises abruptly. In other words, in a state in which an output signal is suddenly obtained at the field limit (pixel number Ng or Nk), the sensor unit may not receive all light retroreflected by the retroreflecting member4arranged at a facing position. This indicates the presence of a region a where retroreflected light cannot be detected inFIG. 5E. In contrast, if outputs at the two field limits (pixel numbers Ng and Nk) are at about the level B and an optical output is obtained in the field range, it can be considered that the sensor unit has received all light retroreflected by the retroreflecting member4arranged at a facing position (seeFIG. 5B).

In the first embodiment, the rotation mechanism51, moving amount measurement unit52, and moving amount determination unit53are arranged, as described above. First, the moving amount determination unit53determines whether each sensor unit has received all light retroreflected by the retroreflecting member4arranged at a facing position. If the sensor unit does not receive all retroreflected light, the moving amount determination unit53determines that the rotation amount of the rotation mechanism51is improper. Assume that, when retroreflected light may not be received at the field limit pixel number Ng, as shown inFIG. 5E, the problem will be solved by instructing the rotation mechanism51to rotate clockwise. In this case, when retroreflected light may not be received at the field limit pixel number Nk, the rotation mechanism51is instructed to rotate counterclockwise. Clockwise or counterclockwise rotation can be determined in accordance with an output signal to automatically rotate the rotation mechanism51. A rotation amount after the rotation is stored and updated as a new rotation amount (moving amount) in the moving amount measurement unit52.

Note that the rotation mechanism51is configured to rotate the sensor unit2about the reference point O (reference origin) of angle measurement serving as the center axis. The distance dh between the sensor units does not change upon rotation. If the moving amount determination unit53determines that the sensor unit has received all light retroreflected by the retroreflecting member4as a result of rotation, the rotation operation stops and the moving amount measurement unit52measures the rotation amount. The above-described angle calculation value is corrected by the rotation amount, and then coordinate position calculation processing is performed.

By executing this processing, the light receiving unit40of each sensor unit2can receive all light retroreflected by the facing retroreflecting member4, and a touch position (pointed position) in the coordinate input effective region5can be detected.

An arrangement to calculate a higher-accuracy touch position will be explained. As described with reference toFIG. 4A, the optical axis of the light receiving unit40is the direction f, and the field range is a range of the direction g to the direction h. Assuming that the field range is arranged to be symmetrical about the optical axis f (∠gof=∠hof), the angle detection performance is generally high in the optical axis direction. That is, as the direction moves apart from the optical axis direction, the influence of the lens distortion characteristic becomes large in the peripheral direction, and the angle calculation performance becomes poor.

InFIG. 4A, all light retroreflected by the retroreflecting member4of the bar housing unit1arranged at a position where the retroreflecting member4faces the sensor unit2can be received, as described above. To achieve high-accuracy position detection in this state, the sensor unit2is rotated to establish ∠jof′=∠kof′, as shown inFIG. 4C. In this arrangement, light retroreflected by the retroreflecting member4can be received at a position of the light receiving unit40closer to the optical axis.

FIG. 5Fshows an output signal in this arrangement. The optical axis direction corresponds to the pixel number Nf, and the field range is a range of the pixel numbers Ng to Nh. As described above, when the optical system of the light receiving unit40is a centered optical system, the number of pixels of the pixel numbers Ng to Nf is almost equal to that of pixels of the pixel numbers Nf to Nh. Thus, the pixel number of a middle point position between the pixel number Nj in the direction j and the pixel number Nk in the direction k becomes almost equal to the pixel number Nf representing the optical axis direction. The moving amount determination unit53detects this state and stops the rotation operation. In addition, the moving amount measurement unit52measures the moving rotation amount, corrects the angle calculation value based on the measurement value, and performs coordinate position calculation processing. In this manner, higher-accuracy position detection can be implemented by automatically adjusting the rotation amount of the sensor unit2.

The coordinate input apparatus according to the first embodiment is used by installing the bar housing units by the user. The installation state of the bar housing units changes in every installation even on the same whiteboard, and the coordinate input apparatus may be used in the state ofFIG. 4C. In the installation state ofFIG. 4C, the distance between the bar housing units1L and1R is shorter than that inFIG. 4B. Hence, the optical axis direction f′ needs to be properly adjusted to establish ∠jof′=∠kof′. This adjustment is performed upon completion of installing the bar housing units1, and can be executed as initial setting immediately after the coordinate input apparatus is turned on. A separately arranged switch or the like may be used to shift to this adjustment operation, as needed.

Although the rotation mechanism51for automatically adjusting the rotation amount, the moving amount measurement unit52, and the moving amount determination unit53have been described, the present invention is not limited to this. As described above, the moving amount determination unit53can determine whether the state is optimum, and also determine a direction in which the sensor unit should be rotated to optimize the state. It is also possible to notify the user of the determination result of the moving amount determination unit53by using a notification unit such as an indicator, and rotate the sensor unit2by a manual operation by the user.

FIGS. 7A and 7Bshow a detailed embodiment in this case.FIG. 7Ais a front view, andFIG. 7Bis a sectional view. InFIGS. 7A and 7B, reference numerals91aand91bdenote rotating shafts for rotating the sensor unit2; and92, a lever for performing a rotation operation by the user. An indicator to the operator is formed from, for example, an LED93indicating clockwise rotation, an LED95indicating counterclockwise rotation, and an LED94for notifying that the rotation amount is optimum. When the LED94is turned on, the rotation amount is optimum and the operation by the user is completed.

The distance between the sensor units2(for example, the distance between the sensor units2-L1and2-L2) in the bar housing unit1does not change regardless of the rotation operation of the sensor unit2, and the distance dh is constant. However, to calculate touch positions in the regions ofFIGS. 6C and 6E, the distance between the bar housing units1L and1R needs to be derived. This is because the distance between the bar housing units1L and1R has a value determined by installation by the user.

FIG. 4Dis a view for explaining a method of calculating the distance. The overall length of the bar housing unit1is Rh, the overall length of the retroreflecting member4of the bar housing unit1is also equal to Rh, and the two bar housing units have the same shape. First, the angle ∠jO1k of view of the facing retroreflecting member observed by the sensor unit2-L1in the bar housing unit1L, and the angle ∠mO2n of view of the facing retroreflecting member4observed by the sensor unit2-L2are measured. Since the distance dh is known, the intersection point between the directions j and m and the intersection point between the directions k and n can be geometrically easily calculated. The distance between these intersection points should be equal to the overall length Rh of the bar housing unit1. It can also be verified whether the positions of the derived intersection points are correct. That is, the arrangement state of the bar housing units, in other words, the geometrical arrangement of the four sensor units can be derived. As a result, touch positions even in the regions ofFIGS. 6C and 6Ecan be calculated.

FIG. 8Ais a flowchart showing initial setting processing after power-on.

First, to form the rectangular coordinate input effective region5including the entire display region serving as a projected image, when the operator attaches the bar housing units1to the whiteboard6, the arithmetic control circuit3performs initial setting upon power-on (step S101).

Then, the arithmetic control circuit3performs various initial settings regarding the coordinate input apparatus such as port setting of the CPU61and timer setting. In addition, the arithmetic control circuit3also initializes the line CCD41to, for example, remove unwanted charges remaining in the photoelectric converter (step S102). The arithmetic control circuit3optimizes a light amount to be detected by the line CCD41. As described above, the size of the display region changes depending on the size of the whiteboard on which the display region is displayed. Even in this case, the user appropriately sets the distance between the bar housing units1by stretching or contracting the bar housing units1. Since the intensity of detected light (output signal of the line CCD41) changes depending on the state of attachment, the output signal (output waveform) of the light receiving unit upon illumination by the light projection unit30is detected first.

Then, the arithmetic control circuit3determines whether the detection signal (waveform) level is optimum (step S104). If the arithmetic control circuit3determines that the waveform level is improper (NO in step S104), it adjusts the shutter open time of the line CCD, the exposure time of the infrared LED, or the driving current of the infrared LED (step S105), and detects the output signal of the line CCD again (step S103). This operation is repeated, and if the arithmetic control circuit3determines that the waveform level is optimum (YES in step S104), it determines whether the rotation amount of the sensor unit falls within a predetermined range (step S106). Determination of whether the rotation amount of the sensor unit falls within a predetermined range has been described above with reference toFIGS. 4A to 4D or 5Ato5F. If the arithmetic control circuit3determines that the rotation amount of the sensor unit falls outside the predetermined range (NO in step S106), it rotates the sensor unit so that its rotation amount falls within the predetermined range (step S107). The arithmetic control circuit3then checks the detection signal waveform after the rotation (steps S103and S104).

If the arithmetic control circuit3determines that the rotation amount of the sensor unit falls within the predetermined range (YES in step S106), the arithmetic control circuit3calculates geometrical positional information of each sensor unit, as described with reference toFIG. 4D(step S108). The arithmetic control circuit3stores, in the moving amount measurement unit52, a rotation amount measured by the moving amount measurement unit52as an angle correction value for coordinate calculation (step S109). The arithmetic control circuit3acquires a signal Base_Data[N] (seeFIG. 5A) in the absence of illumination, and stores it in the memory64(step S110). Then, the arithmetic control circuit3acquires a signal Ref_Data[N] (seeFIG. 5B) in the presence of illumination, and stores it in the memory64(step S111).

To simplify the description, the operation of only one sensor unit2has been explained. However, this initial setting is performed for all sensor units to be used (four sensor units in the first embodiment).

FIG. 8Bis a flowchart showing a normal sampling operation after initial setting processing.

The arithmetic control circuit3executes the initial setting processing inFIG. 8A(step S101). Then, the retroreflecting member4mounted on the facing bar housing unit1retroreflects infrared light projected by the sensor unit2, and the arithmetic control circuit3detects a signal obtained when the light receiving unit40of the arithmetic control circuit3itself has detected the light (step S201). The data at this time is Norm_data[N]. If a touch operation is performed and cuts off the optical path, no optical signal can be detected near the pixel number Nc, as shown inFIG. 5C.

The arithmetic control circuit3determines whether any sensor unit2has generated such a light shielding portion, that is, the presence/absence of an input (step S202). If the arithmetic control circuit3determines that there is no input (NO in step S202), the process returns again to step S201to repeat sampling. If the arithmetic control circuit3determines that there is an input (YES in step S202), it selects sensor units which have generated light shielding portions in the output signal (step S203). By using the selected sensor units, the arithmetic control circuit3calculates the directions (angles) in which the light shielding portions have been generated (step S204). The arithmetic control circuit3corrects angles by the rotation angle stored in the moving amount measurement unit52(step S205). Based on the corrected angles, the arithmetic control circuit3calculates the coordinates of the touch position in the digitizer coordinate system (step S206). Accordingly, the calculated touch position coordinates can be transformed into coordinates in the screen coordinate system by using transformation parameters, and the coordinate values can be output (transmitted) to an external device such as a personal computer.

As described above, according to the first embodiment, the field range of the sensor unit can be appropriately adjusted by arranging the rotation mechanism for the sensor unit. An arbitrary plane can be used as a coordinate input plane. Even if the installation by the user is rough, a touch position can be detected at high accuracy. The installation time can be greatly shortened, and the coordinate input apparatus can be used quickly.

Second Embodiment

The second embodiment will be explained with reference toFIGS. 9A and 9B. The first embodiment has described an arrangement in which the sensor units2are rotated to set all the facing retroreflecting members4so as to fall within the field ranges of the light receiving units40. The second embodiment will explain an arrangement in which bar housing units1are stretched/contracted to set all facing retroreflecting members4so as to fall within the field ranges of light receiving units40.

FIGS. 9A and 9Bshow the schematic arrangement of a bar housing unit1L. Although attention is paid to the bar housing unit1L inFIGS. 9A and 9B, a bar housing unit1R also has the same arrangement.

The bar housing unit1L is formed from an upper housing case81and lower housing case82. Reference numeral83denotes an outer pipe; and84, an inner pipe. The inner shape of the outer pipe83and the outer shape of the inner pipe84almost fit with each other. The outer pipe83is fixed to the upper housing case81, and the inner pipe84is fixed to the lower housing case82. When the bar housing unit1L is stretched/contracted by the upper housing case81and lower housing case82, the outer pipe83and inner pipe84slide while maintaining the fitting relationship (seeFIG. 9B). In this manner, the bar housing units1L and1R in the second embodiment include the sliding mechanism of moving the positions of sensor units incorporated in the bar housing unit in the longitudinal direction.

In the second embodiment, these pipes are made of a metal to obtain the stretching/contraction direction and mechanical strength of the bar housing unit1L in the stretching/contraction operation. One end of the metal pipe is drawn and flattened. At this portion, the pipe is mechanically coupled to the housing, and a sensor unit2is mounted.

Note that stretching/contraction may be performed by using a driving mechanism such as a motor or by a manual operation by the user. In the second embodiment, the moving amount measurement unit52in the first embodiment is used as a moving amount measurement unit for measuring the stretching/contraction amount of the bar housing unit and storing the moving amount. Based on the processes described with reference toFIGS. 4A to 4D and 5A to 5Fin the first embodiment, a moving amount determination unit53determines whether all the facing retroreflecting members4fall within the field ranges of the respective sensor units2.

As described above, according to the second embodiment, the same effects as those in the first embodiment can be obtained by arranging the mechanism for stretching/contracting the bar housing unit1.

This application claims the benefit of Japanese Patent Application No. 2012-173281, filed Aug. 3, 2012, which is hereby incorporated by reference herein in its entirety.