1. Field of the Invention
This invention relates generally to a display-cursor control device such as a computer mouse for graphic user interface (GUI). More particularly, this invention relates to an improved cursor control device implementing new methods for processing data from accelerometer in anticipating real-time cursor control movements for providing different sensitivities during different types of cursor movements for reducing noises and stabling cursor control to enhance a multiple dimensional tilt angle control of a display cursor.
2. Description of the Prior Art
Majority of conventional display cursor-control devices, e.g., computer mouse, is implemented with either optical movement sensing or measurements of ball rolling movement. Such devices are usually limited to operate on a flat surface that requires a certain space for device movement. Furthermore, in order to move the device, operation of such devices may often cause health hazards that includes harm to nerves on the hands, the arms and even more extended parts of the body and may even cause more serious problems. In order to resolve such problems and limitations, a wide variety of different types of cursor control devices have been disclosed and proposed. However, each of these different types of devices still has limitations and difficulties as further described below.
In order to overcome the limitation of the cursor control devices most commonly used, e.g., the computer mouse, acoustic mouse or cursor control systems implemented with RF signals are implemented. Such devices however require special signal receiving devices installed in a computer either on the keyboard or around a monitor. Such systems are therefore more costly and complicate to implement and do not provide useful and practical solution to replace the conventional computer mouse as a cursor control device.
In different patented inventions, the computer mouse is implemented as a glove such that the cursor control system can be operated when the mouse is lift away from a flat surface and there are also no requirements to install signal-receiving devices on the computer. These types of cursor control devices can also be implemented as rings that a user can put on the fingers to control the cursor movements. However, since the operations of these kinds of cursor control devices require totally different movement and coordination between the movement of hands or fingers with the movements of the cursor, these types of cursor control devices have not been well received in the market.
There are also gyroscopic pointing devices that implement the cursor control system with gyro to move the cursors with mouse orientations. However, such mouse tends to be bulky and heavy. Furthermore, The device is more expensive to implement due to the more complicate gyro systems.
Image pointing control devices implemented with accelerometer are also disclosed in Patent WO0190877 where a cursor may be controlled by tilting the control device to different tilt angles. However, movements of cursor by tilting the mouse to different angles is often more difficult to implement with conventional configuration of computer mouse or other image pointing devices. Specifically, tilting operation of an image point device with flat bottom surface generally requires a supporting structure. Support structure is required because the cursor control is less stable when such device is operated in the mid air. It is therefore necessary to provide a support structure for the computer mouse such that cursor can be controlled with required stability. However, requirement of such supporting structure causes additional inconvenience and complications thus limiting practical application of such computer mouse or image pointing devices.
Therefore, a need still exists in the art of cursor control and pointing systems to provide new and easy to use system compatible with current control and point devices with low production costs such that the above discussed difficulties and limitations can be resolved.
One aspect of this invention is to provide a cursor control device that can flexibly operated without requiring the device to move along a flat surface. Specifically, the cursor can be controlled when the control device is lift up in the air and a cursor movement can be controlled by different kinds of movements. For example, in one embodiment, the control device can be tilted to the right-or-left to move the curse to the right or left respectively without having to move the control device horizontally. The control device can be tilted upwardly to move the cursor up or tilted downwardly to move the cursor down again without having to move the control device horizontally. The space saving is achieved since the tilt movements can be carried out without requiring putting the mouse on a flat surface and the cursor control is achieved with ease and convenience of cursor control with just wrist movements.
Another aspect of the present invention is to provide a curser control device or a point device pointing to a display image that has a curved bottom, e.g., an elliptical shape bottom surface. A user of the device can easily control the movement of a cursor or a display image by conveniently tilting the device in all directions with minimum hand and wrist movements. Such device requires very small surface area on a desk or on any surface for supporting the lowest contact area of the curve bottom surface. It is understood that such surface support is optional because the cursor can be moved by tilting the control device that can be performed under the condition that the control device is placed on a surface or lift up from a supporting surface without support.
Another aspect of the invention is to provide an improvement method for processing measurements detected by the acceleration sensor. The improved method that takes into practical considerations of the real movement of the pointing device that either is supported on a tabletop or is moved in the air. The new processing method applies different sensitivities for processing accelerometer measurements along different angular orientations to compensate for the differences in freedom of angular movements along different angular orientations of the wrist in tilting the device when the device is support on a surface. Specifically, the accelerometer has greater sensitivity in measuring tilt angle along a vertical direction in controlling the up and down of the cursor than the sensitivity of right or left tilt movements in controlling the cursor in moving to the right or left side respectively.
Another aspect of the invention is to provide an improvement method for processing measurements detected by the acceleration sensor wherein the method applies different acceleration measurement sensitivities at different movement speed. Specifically, when the cursor is moved at low speed or in the air, the acceleration measurement processing sensitivity is reduced such that the stability of cursor movement is improved to satisfy a user's demand that higher cursor stability is usually expected when the user is moving the cursor or a pointer at a lower speed.
Another aspect of the invention is to provide an improvement method for processing measurements detected by the acceleration sensor wherein the method applies a high measurement sensitivity and high-speed response for measuring a tilt angle relative to latest horizontal level based on a two-dimensional acceleration measurement. Also, the method of cursor control may be implemented by measurement of a three-dimensional movement of the control device such that the cursor control device or image point device can be operated with tilting control movements. Additionally, in order to add to the convenience of control, a mouse pad with curved surface is provided to generate a tilt movement as the user is moving the control device horizontally along different directions.
Briefly, this invention discloses a display cursor control device that includes a low-pass filter for filtering out signals received from an accelerometer having a frequency higher than a cutoff frequency wherein the cutoff frequency is dependent on a speed of a cursor movement controlled by a speed of angular position change of the display cursor control device.
In an exemplary embodiment, this invention further discloses a method for controlling a display cursor. The method includes a step of receiving and processing signals from an accelerometer included in a cursor control device by applying a low-pass filter for filtering out signals received from an accelerometer having a frequency higher than a cutoff frequency and adjusting the cutoff frequency depending on a speed of a cursor movement controlled by a speed of angular position change of the display cursor control device.
These and other objects and advantages of the present invention will no doubt become obvious to those of ordinary skill in the art after having read the following detailed description of the preferred embodiment, which is illustrated in the various drawing figures.
Please refer to
As shown in
In addition to the conventional right and left buttons 115-R, and 115-L and the wheel 118 as that regularly provided in the computer mouse, the mouse of this invention further includes two side buttons 120-1 and 120-2. The button 120-1 is programmed to function as a table-top/mid-air operation-mode button to alternate the operation of the mouse either to operate on the top surface of a table or to operate in the mid-air. The cursor control sensitivity is reduced when the mouse is operated in a mid-air mode. The button 120-1 can be replaced with a weight sensor placed on the bottom surface of the mouse. A weight sensing operation at the bottom surface of the mouse may be employed to alternate the mode of operation between a tabletop operation mode and a mid-air operation mode. The button 120-2 is programmed to function as an active/standby button. When the button 120-2 is pushed to an active mode, the tilt angle of the mouse is applied to control the cursor movement. When the button 120-2 is released (or toggled) to a standby mode, the cursor stays at one location and not moved with the movement of the mouse. The mouse can also provide a dual standby mood to turnoff the mouse when the mouse is idled without movement for a designated period to achieve power savings. It is another option to continuously press down both of the left and right buttons 115-R and 115-L to return the display cursor to the center of the display device.
Instead of a mouse with a curved bottom surface discussed above,
The microprocessor 165 carries out several functions in processing the digital data received from the analog-to-digital converter. In order to control the display cursor of the computer 180, an initialization process is carried out to initialize various parameters. After the initialization process, the microprocessor carries out a major task as a low pass filter to process the digital data according to anticipated conditions. There may be different anticipated conditions as listed below: 1) The mouse stay at a stationary position with no movement at all. 2) The mouse moves slowly. 3) The mouse moves at medium speed. 4) The mouse moves at high speed. The digital filter carried out digital signal process functions in anticipation of these conditions based on the detection of measurements from the accelerometers of the mouse movements such that stable and accurate cursor control can be achieved. The details of these data filtering processes are further described below.
The software program implemented to control the mouse movements can be generally categorized into five major parts. The first part is to carry out the function of setting the initial value of parameters. The second part of the program is implemented to calculate the present angular position. The third part of the program carries out the function of calculating the cursor position displacement according to the angular difference of the current angular position versus that of ten milli-seconds ago. The fourth part of the program deals with the process of slow motion of the mouse. And, the fifth part of the program manages the transfer of the cursor movement data to a computer.
Theoretically, once the measurement data of the accelerometer are available, a calculation using the measurement data can definitely obtain the current angular position of the mouse. However, the angular position of the mouse may not be accurately calculated practically due to the reasons that a user's hand holding the mouse may have vibrating or small but irregular movements. The measurement signals filtered by the low pass filter still have residual noise that can interfere and cause continuous variations of the value of the angular calculations. The values of the present angular position calculations cannot be directly applied to control the cursor movements. Because of the reason that these factors will cause the cursor to continuously move and making small but irregular and uncontrollable changes of position on a display screen corresponding the noise or the small movements of the hand. The uncontrollable small and sudden changes of cursor positions are not usually noticeable when the cursor is controlled to move at a high speed from one point on the display screen to another point with a large distance. This kind of uncontrollable “cursor floating” movements is often noticeable when the cursor is controlled to move at a slow speed. The uncontrollable cursor floating movements are even more annoying when the mouse is maintained at a fixed position without any movement. One method to overcome such problem is to modify some parameters of the filter in order to filter out more high frequency components of the measurement signal from accelerometer. There are several parameters can be modified to achieve this purpose. In order to simplify the description, the reduction of the cut-off frequency of the low pass filter will be used as an example in the following. Indeed, a reduced cut-off frequency can overcome such problem. However, a reduced cut-off frequency introduces another undesirable effect. A reduced cut-off frequency reduces the sensitivity of sensing the mouse movement and causes the cursor to become unresponsive to the mouse movements. A rule of control is implemented in this invention to resolve such difficulties. The rule is to provide greater stability and controllability when the cursor is controlled to move slowly. Conversely, when the cursor is controlled to move at a higher speed or over greater distances, the cursor stability and controllability become less important but the responsiveness of the cursor to the mouse movements become more important. For these reasons, the low pass filter of this invention is implemented with different values of cut-off frequencies according to the speed of cursor movements. Specifically, when the rate of change of angular position is small, the cut-off frequency is reduced. A lower cut-off frequency reduces the high frequency signals and increases the stability and controllability of the cursor. Conversely, when the rate of change of angular position is large for controlling the cursor to move at a high speed, the cut-off frequency is increased to increase the high frequency signals thus provides higher responsiveness of the cursor to the mouse movements. The higher level of signal noise due to the higher cut-off frequency may cause unstable small movements of the cursor, however when a cursor is controlled to move at a higher speed, such small “floating movements” of cursor become a minor concern because the user does not intend the control the cursor to point and maintain at a specific position but to move the cursor from one location to a different location on the display screen.
In an exemplary embodiment of this invention, a simple 100 Hz low pass filter is selected for the accelerometer as a hardware implementation to cutoff signals above a frequency of 100 Hz. In this invention, a special software low pass filter is also implemented where the cutoff frequency is dependent on the speed of mouse movements according to the accelerometer measurement of the rate of change of angular orientations. The software low pass filter executes a program every ten milliseconds (10 ms). By using the measurements of the accelerometer, a determination is first made of the changes of the angular positions of the mouse in this time interval of 10 ms for calculating the speed of mouse movement. A particular situation may occur when the speed of mouse movement is very slow the operation of the mouse may make several intermediate stops. A determination of the mouse movement speed cannot rely only on the angular difference between two time-points from the beginning to end of the 10 ms interval. Instead, an average speed has to be calculated by taking the angular differences between several 10-ms intervals and these consecutive angular position differences are taken into consideration for calculating an average mouse movement speed.
For convenience of implementation, the operations for processing the accelerometer measurements are divided into four categories. These four categories are 1) a stationary category when the mouse stays at one location without movement; 2) the mouse is moving at a slow speed, 3) the mouse is moving at an intermediate speed, and 4) the mouse is moving at a high speed. For each of these categories, different sets of low pass filter parameters are applied.
The calculation process executed by the software filter begins with a computation of the current angular position and compared with the previous angular position at ten milliseconds (10 ms) ago. The amount of angular movement is examined according to the process that if the amount of angular movement is smaller than a threshold value A, the difference is taken as a noise and no movement of the cursor is necessary. If the amount of the movement is greater than threshold A and lower than threshold B, then the angular position movement is multiplied by a value A to generate an amount of cursor movement. If the amount of the angular position difference is greater than threshold B and less than a threshold C, the amount that is greater than threshold B is multiplied by a greater value B to add to the portion multiplied by the value A to generate the cursor movement. The multiplication factor is gradually increased such that a gradually increasing weighting factor is applied when the mouse movement speed gradually increases such that a greater responsiveness of cursor to mouse movement is implemented. The speed-dependent low pass filter and the accumulation process for calculation of cursor movement achieve a similar purpose that the small and irregular hand movement of a mouse operator is applied with a lower sensitivity. The lower responsiveness of the cursor to the small mouse movement increases the cursor stability at slow movement when a user is typically attempting to point and control the cursor at a specific location. The slow cursor movements are provided with higher stability for greater controllability. Conversely, when the mouse is moving at a higher speed that is greater than certain threshold, a higher responsiveness of the cursor to the mouse movement is accomplished by the application of a greater weighting factor when calculating the cursor movement.
The above accumulative method has a limitation due to the fact if an operator is moving the mouse at a very low speed, the mouse may have already tilted a large angle, but since the angular change within every 10 ms is less than the smallest threshold value A, the cursor would still stay unmoved. A slow movement algorithm is implemented to manage these “micro-movement” conditions. In carrying out the micro-movement management program, a current angular position movement is calculated to determine if the angular movement along X-axis is less than the smallest threshold value. When the movement along the X-axis is less than the smallest threshold value, the movement of the cursor is designate as zero. In the meantime, the current angular position is compared with a referenced angular position along an X-axis direction to determine if the difference between the current angular position along the X-axis and that of the reference angular position is greater than a slow movement threshold, than the cursor is controlled to move one-pixel along the X-axis and the reference angular position is redefined to be the current angular position. The above algorithm is also applied to the movement along Y-axis. This method has an advantage because it enables a user to conveniently move the cursor one-pixel at a time by slowly tilting the mouse to precisely control the cursor movement with a slow motion.
According to
Although the present invention has been described in terms of the presently preferred embodiment, it is to be understood that such disclosure is not to be interpreted as limiting. Various alternations and modifications will no doubt become apparent to those skilled in the art after reading the above disclosure. Accordingly, it is intended that the appended claims be interpreted as covering all alternations and modifications as fall within the true spirit and scope of the invention.
This Formal application claims a Priority Date of Oct. 30, 2006 benefited from a Provisional Patent Applications 60/855,718 filed by an Applicant as one of the Inventors of this application. The disclosures made in Patent Application 60/855,718 are hereby incorporated by reference in this application.
Number | Date | Country | |
---|---|---|---|
60855718 | Oct 2006 | US |