Method and locating device for locating a pointing device

A locating device is for locating a pointing device. The pointing device is configured to capture a plurality of images, to measure an angular rate of the pointing device, and to generate and output current coordinate data associated with an orientation of the pointing device when at least one of the images contains infrared light from a light source module. The locating device is configured to receive the current coordinate data and the angular rate from the pointing device, to generate a cursor signal based on one of the current coordinate data and the angular rate, and to transmit the cursor signal to a computing device, which is configured to move a cursor on a display unit, according to the cursor signal.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority of Taiwanese Application No. 102115588, filed on May 1, 2013.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to a locating device, more particularly to a locating device and a method configured to locate a pointing device operated in a three-dimensional space.

2. Description of the Related Art

A conventional pointing device (e.g., a mouse) is designed to operate on a two-dimensional surface. Recently, a three-dimensional (3D) pointing device has been developed. A 3D mouse, for example, is for controlling a cursor displayed on a screen, where a movement of the cursor is controlled by the movement of the 3D mouse within a space. The 3D mouse includes a gyroscope and an accelerator, and is capable of continuously detecting a self-motion (e.g., orientation and/or direction of the movement). A control signal is then derived by accumulating the detected self-motion, and is used for controlling the movement of the cursor. One disadvantage of such a configuration is that the accuracy is limited, and a difference between the movement of the 3D mouse and the movement of the cursor may increase with time. For example, consider a user who starts using the 3D mouse at an origin point (e.g., one that corresponds to a central point on the display unit). After a series of movement/orientations, when he/she returns the 3D mouse back to the origin point, the cursor may not be returned to the central point as desired.

One example of a 3D pointing device that may overcome the abovementioned drawback is the Wii remote (disclosed in, for example, U.S. Pat. No. 8,308,563) for the Wii console. The Wii remote includes an image pickup section, and is to be used with an optical sensor bar including a pair of spaced-apart Infrared (IR) light sources. The optical sensor bar is disposed near a display unit (e.g., a television screen) coupled to the console. When a user directs the Wii remote toward the display unit, the console is configured to control the display unit to display a cursor thereon.

The image pickup section is configured to capture a plurality of images. When one of the images contains IR light from the two IR light sources, an image processing circuit is operable to identify two bright spots in the one of the images that has higher brightness (i.e., corresponding respectively to the IR light sources), and to generate a cursor signal containing coordinate data associated with the bright spots in the one of the images. The cursor signal is then transmitted back to the console, which in turn controls the location of the cursor on the display unit based on the cursor signal.

The Wii remote may achieve higher accuracy given that the IR light sources, which serve as reference points, are fixed at same locations during operation. In such cases, whenever the Wii remote is at a certain point, the images generated by the image pickup section always have the bright spots fixed at same locations, regardless of the movements/orientations involved.

However, the Wii remote is limited to move within a certain space where light from both the IR light sources can be detected by the image pickup section. For example, when the Wii remote is swayed out of such certain space, the cursor is then rendered uncontrollable. Additionally, the image pickup section is only able to capture images with a relatively low resolution (e.g., a 480 p resolution). When it is desired to use the Wii remote on a screen supporting a higher resolution (e.g., 1080 p), the sensitivity of the cursor movement is somewhat capped.

SUMMARY OF THE INVENTION

Therefore, the object of the present invention is to provide a locating device that is for use with a conventional 3D pointing device and that is able to alleviate at least one of the drawbacks described above.

Accordingly, a locating device of the present invention is configured to operatively communicate with a pointing device and a computing device for locating the pointing device. The pointing device includes an image pickup section for capturing a plurality of images, and a gyroscope for measuring an angular rate of the pointing device. The pointing device is operable to generate and output current coordinate data associated with an orientation of the pointing device when at least one of the images contains infrared light from a light source module. The computing device is configured to display a cursor on a display unit. The locating device comprises a wireless communication module and a data processor.

The wireless communication module is configured to receive the current coordinate data and the angular rate from the pointing device.

The data processor is coupled to the wireless communication module, and is configured to: generate a cursor signal based on one of the current coordinate data and the angular rate; and transmit the cursor signal to the computing device so as to enable the computing device to move the cursor according to the cursor signal.

The data processor is configured to generate the cursor signal based on the current coordinate data when the current coordinate data is received, and based on the angular rate when the current coordinate data is not received.

Another object of the present invention is to provide a method to be implemented by the locating device for locating the pointing device.

Accordingly, a method of the present invention is to be implemented using a locating device and a computing device for locating the pointing device. The pointing device includes an image pickup section for capturing a plurality of images, and a gyroscope for measuring an angular rate of the pointing device. The pointing device is operable to generate and output current coordinate data associated with an orientation of the pointing device when at least one of the images contains infrared light from a light source module. The computing device is configured to display a cursor on a display unit. The method comprises:

(A) receiving, by a wireless communication module of the locating device, the current coordinate data and the angular rate from the pointing device;

(B) generating, by a data processor of the locating device, a cursor signal based on one of the current coordinate data and the angular rate; and

(C) transmitting, by the data processor, the cursor signal to the computing device so as to enable the computing device to move the cursor according to the cursor signal.

In step (B), the data processor is configured to generate the cursor signal based on the current coordinate data when the current coordinate data is received, and based on the angular rate when the current coordinate data is not received.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

As shown inFIG. 1, according to the preferred embodiment of this invention, a locating device3is configured to operatively communicate with a pointing device1and a computing device2, in order to locate the pointing device1.

The pointing device1includes an image pickup section11, a gyroscope12, a first transmission module13, and a controller14coupled to the image pickup section11, the gyroscope12, and the first transmission module13.

In this embodiment, the pointing device1is embodied as a Wii remote controller available from Nintendo Co., Ltd. with an expansion device (e.g., Wii MotionPlus available from Nintendo Co., Ltd) attached thereto. The gyroscope12is incorporated in the Wii MotionPlus so as to allow more accurate movement detection.

The computing device2is embodied as an electronic device such as a television provided with a Wii console, a personal computer (PC), a laptop computer, etc., and includes a display unit21. The computing device2is configured to display a cursor22(e.g., a mouse cursor) on the display unit21.

The locating device3is able to control the computing device2to move the cursor22based on data received from the pointing device1, so as to allow a user of the pointing device1to interact with the computing device2by controlling (e.g., moving and/or clicking) the cursor22using the pointing device1. In this embodiment, the locating device3is embodied as a sensor bar used in the Wii system, and may be disposed above or below the display unit21in operation.

As shown inFIG. 2, the locating device3includes a housing (not depicted in the drawings), and a plurality of components contained in the housing that include, but are not limited to, a circuit board31, alight source module32disposed on the circuit board31, a second transmission module33, a data processor34, and a storage unit35.

In this embodiment, the light source module32includes a pair of spaced-apart light source units321, each of which has three infrared (IR) light-emitting diodes (LEDs) configured to emit infrared (IR) light. However, in other embodiments, different numbers of light source units321(e.g., one) and/or different number of the IR LEDs in each of the light source units321may be employed, as long as IR light from the light source units321can be detected by the image pickup section11within an operation distance.

The operation of the pointing device1, along with the interactions among the locating device3, the pointing device1and the computing device2, will now be described with reference toFIGS. 3A and 3B.

Referring toFIG. 3A, in step S11, the image pickup section11is operable to capture a plurality of images successively. In step S12, the image pickup section11determines whether each of the images captured in step S11includes IR light. When it is determined that one of the images contains IR light, the image pickup section11is operable to generate and output current coordinate data associated with an orientation of the pointing device1in step S13.

For example, in this embodiment, the image pickup section11includes an IR filter for allowing only IR light to pass therethrough, an image pickup element for capturing the images, and a calculation unit for processing the images captured by the image pickup element.

After the images are captured, the calculation unit spots the IR light on the images, and outputs a set of coordinates for each of the images containing the IR light as the current coordinate data.

In the case where the IR light is spotted on more than one location on the image, the set of coordinates may indicate a geometric center of the IR lights in the image. In cases where the IR light is spotted on exactly one location of the image, the set of coordinates may indicate the one location of the image.

In other embodiments where different numbers of light source units321are employed, other calculating algorithms may be used for outputting the current coordinate data that appropriately represents the location of the pointing device1relative to the light source module32.

Using this configuration, when the pointing device1is moved relative to the light source module32, the image pickup section11may direct to a different direction (e.g., upward, downward, left, right, etc.), resulting in an immediately captured image with the IR light spotted in a different location thereof. This in turn causes the calculation unit to output a set of coordinates different from the previous one.

In step S14, the gyroscope12is configured to measure the angular rate of the pointing device1continuously.

Referring toFIG. 3B, in step S21, the second transmission module33establishes a communication link with the first transmission module13. In this embodiment, the first transmission module13and the second transmission module33may exchange data using the Bluetooth standard.

In step S22, the second transmission module33requests the current coordinate data and the angular rate from the pointing device1. Upon receipt of the request, the controller14transmits related data to the second transmission module33via the first transmission module13. The data received by the second transmission module33may then be stored in the storage unit35for subsequent processing.

The data processor34is operable to load an application program in the storage unit35for processing the data received by the second transmission module33. After processing the data, the data processor34generates a cursor signal and transmits the same to the computing device2. The cursor signal is associated with the movement of the pointing device1(i.e., how the cursor22should be moved accordingly), and the computing device2controls movement of the cursor on the display unit21according to the cursor signal.

It should be noted that the current coordinate data may not always be available. For example, when the images captured by the image pickup section11do not contain the IR light from the light source module32(e.g., the light source module32being temporarily blocked and/or the pointing device1moving out of range), the current coordinate data cannot be outputted. On the other hand, the angular rate of the pointing device1is available at all times.

In this embodiment, in step S23, the data processor34first determines whether the current coordinate data is received by the second transmission module33. When it is determined that no current coordinate data is received, the flow proceeds to step S24, in which the data processor34generates the cursor signal based on the angular rate and outputs the same to the computing device2.

On the other hand, when it is determined that the current coordinate data is received, the flow proceeds to step S25.

Specifically, in step S25, the data processor34determines whether an immediately-preceding generation of the cursor signal was based on prior coordinate data associated with the pointing device1.

When such a determination is affirmative, the flow proceeds to step S26, where the data processor34currently generates the cursor signal based on a difference between the prior coordinate data and the current coordinate data.

When the determination made in step S25is not affirmative, the flow proceeds to step S27. It is noted that in the cases where the locating device3is just activated to receive data (i.e., no immediately-preceding generation of the cursor signal exists), the flow also proceeds to step S27.

In step S27, the data processor34transmits a calibration instruction to cause the computing device2to calibrate the cursor22with a reference point (e.g., a “zero point” having a set of coordinates (0, 0) is assigned) on the display unit21. Afterward, in step S28, the data processor34currently generates and transmits the cursor signal to the computing device2. The currently generated cursor signal is based on a difference between the current coordinate data and the reference point.

It is noted that a driver used by the computing device2for coordinating the pointing device1and the cursor22only employs the difference between the current and prior coordinate data (i.e., a “relative displacement”) for controlling movement of the cursor22, while other peripherals, such as a graphics tablet, further employs the difference between the current coordinate data and the fixed reference point (i.e., an “absolute displacement”) for controlling movement of the cursor22.

In this embodiment, as long as the IR light from the light source module32is detected by the image pickup section11, the flow ends up performing step S26for generating the cursor signal. However, in the case where the image pickup section11does not detect the IR light from the light source module32(e.g., the light source module32being blocked), the flow first proceeds to step S24for controlling the cursor22using the angular rate of the pointing device1, and then, when the image pickup section11detects the IR light from the light source module32, proceeds to steps S27and S28for calibration before proceeding to step S26the next time. In the case that no immediately-preceding generation of the cursor signal exists, the flow first proceeds to steps S27and S28for calibration before proceeding to step S26.

Referring toFIG. 4, in an exemplary operation of steps S27and S28, a reference point211is located on an upper left corner of the display unit21. Assume that the cursor22is first located on the point212, and a user picks up the pointing device1that was dropped on the floor, and intends to move the cursor22to the point213. The operation starts at step S27, in which the data processor34transmits the calibration instruction. In the example ofFIG. 4, the calibration instruction causes the cursor22to move a large distance (i.e., a distance much longer than the width of the display unit21) along a horizontal axis to the left, and a large distance (i.e., a distance much longer than the height of the display unit21) upwardly along a vertical axis. Such a calibration instruction causes the cursor22to move to the upper-left corner. Afterward, in step S28, the cursor signal moves the cursor22to the intended point213.

It is noted that, in other examples, the reference point may be located at an arbitrary location of the display unit21. Referring toFIG. 5, in another exemplary operation of steps S27and S28, the reference point is located at the point215of the display unit21. In this example, in step S27, the calibration instruction causes the cursor22to first move to the point211(in a manner similar to that as described with reference toFIG. 4) and then move to the point215.

Referring toFIGS. 1,4and5, it is noted that, when the cursor signal is generated based on the current coordinate data, the movement of the cursor is restricted to be within a region214of the display unit21(shown in dotted lines inFIGS. 4 and 5), having a resolution conforming with that of the images captured by the image pickup section11. In other words, each pixel on the images corresponds to a pixel constituting the region214. Since the images have a resolution smaller than that of the display unit21, it is known that the region214only takes up a part of the display unit21. Limiting the region214in which the cursor is allowed to move may increase the accuracy and sensitivity of the movement of the cursor22. Regardless of the movements between an initial time point and an end time point, as long as the pointing device1does not have a net displacement (i.e., at the end time point, the pointing device1is returned to the position of the initial time point), the cursor22will accurately return to a position of the initial time point as well.

For example, when the pointing device1is first at a first state (e.g., at a starting point and pointing directly at the display21), the cursor22is at point213of the display unit21. Next, the pointing device1experiences a series of movements (which may include, for example, a 10-cm movement to the right and a 30-degree clockwise rotation with respect to the first state), and changes to a second state. In this example, regardless of the series of the movement in the second state, when the pointing device1is returned to the first state, the cursor accordingly returns to the point213.

It can be seen that, using the current coordinate data for locating the pointing device1can achieve a higher accuracy than using the angular rate. Therefore, in the embodiments, whenever the current coordinate data is received, the data processor34may automatically perform a re-calibration for the pointing device1. This configuration may be advantageous over the conventional 3D mouse that, when a re-calibration is desired, requires the user to press and hold a specific button on the 3D mouse and manually move the 3D mouse to an instructed location before releasing the button.

The operation of step S24will now be described. In this embodiment, the angular rate obtained by the gyroscope12includes a Y-rate of the pointing device1around the yaw axis and a P-rate of the pointing device1around the pitch axis. Specifically, the Y-rate is used for obtaining an equivalent displacement of the pointing device1along the horizontal axis, and the P-rate is used for obtaining an equivalent displacement of the pointing device1along the vertical axis. The gyroscope12may also obtain an R-rate of the pointing device1around the roll axis. Since the procedure for obtaining the equivalent displacement from the angular rate may be readily appreciated by those skilled in the art, details thereof are omitted herein for the sake of brevity.

To sum up, the locating device3of the present invention employs not only the current coordinate data, but also the angular rate associated with the pointing device1for controlling the computing device2to move the cursor22, such that the cursor22can be controlled even though the image pickup section11is temporarily unable to detect the IR light from the light source module32. Embodiments of the present invention also enable automatic re-calibration between the pointing device1and the cursor22when the current coordinate data is received by the locating device3.