The present invention relates generally to signal processing, and more particularly to a signal processing method for use with an optical navigation system to determine motion of an optical sensor relative to a surface.
Signal processing methods are used in a wide range of applications including, for example, measuring an output from a photo-detector of an array in an optical navigation system. Optical navigation systems, such as an optical computer mouse, trackball or touch pad, are well known for inputting data into and interfacing with personal computers and workstations. Such devices allow rapid relocation of a cursor on a monitor, and are useful in many text, database and graphical programs. A user controls the cursor, for example, by moving the mouse over a surface to move the cursor in a direction and over distance proportional to the movement of the mouse. Alternatively, movement of the hand over a stationary device may be used for the same purpose.
The dominant technology used today for optical mice relies on a light source illuminating a surface, a two-dimensional (2D) array of photosensitive elements to capture the resultant images, and a signal processor that correlates successive images to detect and quantify the motion of the mouse. The image can be produced in a number of ways including illuminating the surface at or near grazing incidence to produce and image shadows due to roughness of the surface, illumination with a coherent light source to produce a speckle image of the surface, or the use of a pattern printed onto the surface itself. Regardless of the imaging method used to produce a trackable image, a processor captures the image and does a series of correlations between successive images to determine the most likely motion between frames. A similar method can be used with a linear sensor to track one dimension (1D) motion. In either case, the correlation used to track the motion of the image requires a great deal of processing and results in an unsatisfactory power consumption that limits the usefulness of the technique in power sensitive applications, such as wireless mice.
An alternative method to correlation uses an array of photosensitive elements or detectors, such as photodiodes, in which the output of the individual elements in the array are combined or wired together in a repeating pattern spanning two or more detectors to track motion along one axis or in one dimension. Generally, the detectors are wired in groups to detect of motion through movement of a light-dark pattern known as speckle. Speckle is the complex interference pattern generated by scattering of coherent light off of an optically rough surface and detected by a photosensitive element, such as a photodiode, with a finite angular field-of-view or numerical aperture. The image mapped to or captured on the comb-array may be magnified or de-magnified to achieve matching and so that the distribution of spatial frequencies in the image is roughly centered around the spatial frequencies of the array. Through use of signal processing, it is possible to track the movement of this image as it moves back and forth across the comb-array and from that tracking derive the motion of the surface relative to the array.
Although a significant improvement over prior art, these speckle-based devices have not been wholly satisfactory for a number of reasons. In particular, optical navigation systems using the above comb-array have not demonstrated the accuracy demanded in state-of-the-art pointing devices today, which generally must have a path error of less than about 1%. Furthermore, the above approach involves processing signals from multiple signal processing paths, and suffers from relatively complex signal processing requirements increasing power consumption of the device or system.
Accordingly, there is a need for a signal processor or signal processing circuit and method that is capable of tracking motion from an optical sensor in one or more directions or dimensions with an acceptable path error in any direction (i.e. on-axis as well as off-axis directions). It is desirable that the circuit and method achieve this end without increasing the complexity and power consumption of the signal processor or the optical navigation system in which it is used. It is still further desirable that the method reduces the power consumption of the system, thereby making it more suitable for power sensitive applications such as wireless mice.
The present invention provides a solution to this and other problems, and offers further advantages over conventional signal processing methods.
These and various other features and advantages of the present invention will be apparent upon reading of the following detailed description in conjunction with the accompanying drawings and the appended claims provided below, where:
The present invention is directed generally to signal processing, and more particularly, to a signal processing method for use with an optical navigation system for determining motion of an optical sensor including a periodic photo-diode array relative to a surface using a velocity predictor.
Optical navigation systems can include, for example, an optical computer mouse, trackballs and the like, and are well known for inputting data into and interfacing with personal computers and workstations. For purposes of clarity, many of the details of optical navigation systems in general and optical sensors for optical navigation systems in particular that are widely known and are not relevant to the present invention have been omitted from the following description. Optical navigation systems and optical sensors are described, for example, in co-pending, commonly assigned U.S. patent application Ser. No. 11/129,967, entitled, “Optical Positioning Device Having Shaped Illumination,” filed on May 16, 2005 by Clinton B. Carlisle et al., and incorporated herein by reference in its entirety.
In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be evident, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures, and techniques are not shown in detail or are shown in block diagram form in order to avoid unnecessarily obscuring an understanding of this description.
Reference in the description to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “one embodiment” in various places in the specification do not necessarily all refer to the same embodiment. The term “to couple” as used herein may include both to directly connect and to indirectly connect through one or more intervening components.
Introduction to Speckle-Based Optical Sensors
Operating principles of speckle-based optical sensors will now be described with reference to
Referring to
In contrast, referring to
Speckle is expected to come in all sizes up to the spatial frequency set by the effective aperture of the optics, conventionally defined in term of its numerical aperture NA=sin θ as shown
where λ is the wavelength of the coherent light, NA is the numerical aperture of the photosensitive element, and θ is the angle of incidence.
It is interesting to note that the spatial frequency spectral density of the speckle intensity, which by Wiener-Khintchine theorem, is simply the Fourier transform of the intensity auto-correlation. The finest possible speckle, amin=λ/2NA, is set by the unlikely case where the main contribution comes from the extreme rays 212 of
Note that the numerical aperture may be different for spatial frequencies in the image along one dimension (say “x”) than along the orthogonal dimension (“y”). This could be caused, for instance, by an optical aperture which is longer in one dimension than another (for example, an ellipse instead of a circle), or by anamorphic lenses. In these cases the speckle pattern 204 will also be anisotropic, and the average speckle size will be different in the two dimensions.
One advantage of a laser speckle-based optical sensor is that it can operate with illumination light that arrives at near-normal incidence angles. Sensors that employ imaging optics and incoherent light arriving at grazing incident angles to a rough surface also can be employed for transverse displacement sensing. But, since the grazing incidence angle of the illumination is desired to create appropriately large bright-dark shadows of the surface terrain in the image, the system is inherently optically inefficient, as a significant fraction of the light is reflected off in a specular manner away from the sensor and thus contributes nothing to the image formed. In contrast, a speckle-based sensor can make efficient use of a larger fraction of the illumination light from the laser source, thereby enabling the development of an optically efficient displacement sensor.
Optical Navigation Systems
A functional block diagram of one embodiment of an optical navigation system for which the optical sensor and signal processing method of the present invention is particularly useful is shown in
Generally, the signal processing method of the present invention is applicable to both speckle and non-speckle based optical sensors having either multiple 1D arrays or 2D arrays. The 2D array may be either a periodic, 2D comb-array, which includes a number of regularly spaced photosensitive elements having 1D or 2D periodicity, a quasi-periodic 2D array (such as one having Penrose tiling), or a non-periodic 2D array, which has a regular pattern but doesn't include periodicities.
A linear or 1D comb-array is an array having multiple photosensitive elements that are connected in a periodic manner, so the array acts as a fixed template that interrogates one spatial frequency component of the signal. An embodiment of one such 1D comb-array is shown in
Referring to
In a preferred embodiment the optical sensor includes the detectors or photosensitive elements are arrayed in two dimensions (2D), as shown in
Although the detector or photosensitive elements shown in
Signal Processing
A signal processing method according to the present invention will now be described in detail with reference to
The image captured on the 2D comb detector array of
where φx is the phase angle value in the x direction, and CC, CS, SC, and SS are the four quasi-sinusoidal output signals from the array shown in
For a 2D motion, the phase angle value in a y direction, φy, can be computed similarly using equation 3.0 shown below.
The velocity of the movement of the sensor relative to the surface can now be determined by tracking the phase angle changes over time, that is from frame to frame using the following equation:
The phase angle changes Δφx and Δφy represent the movement of an image across the detector in 2D. For the 2D comb array shown in
Optionally, at each sample frame radius values Rx and Ry are computed as well as phase angle values φx and φy using the following equations:
Rx=√{square root over ((CC−SS)2+(CS+SC)2)}{square root over ((CC−SS)2+(CS+SC)2)} (5.0)
Ry=√{square root over ((CC+SS)2+(CS−SC)2)}{square root over ((CC+SS)2+(CS−SC)2)} (6.0)
Rx and Ry indicate the contrast of the detected quasi-sinusoidal signals, and can be used as weighting factors in average velocity calculations and/or as an indication of quality of the received signal.
Due to the mathematical nature of the inverse tangent function (i.e., tan(φ)=tan(φ+2πN)), where N is a whole number greater than or equal to 1, the computed phase angles φx and φy are always wrapped within the range of [−π, +π]. Thus, to compute the correct 2D displacements between two successive frames, the phase angle changes Δφx and Δφy need to be unwrapped to account for any additional full 2π rotations that may have occurred between the two sample frames (see graphs 602, 604 and 606 of
It will be appreciated that additional information is needed to unwrap these phase angle values. One possible approach to unwrapping the phase angles is to reference the phase angle values from the previous sample frame, and assuming that the phase angle changes between two successive frames are always within the range of [−π, +π]. This approach, however, will limit the maximum detectable speed of the motion to the Nyquist limit (i.e., the highest frequency signal that can be detected at a given sampling rate). For example, for a 2D comb detector array having a period or M value of 4, a 20 μm detector pitch, 2× magnification and operating at a 10 kHz sampling rate, the maximum detectable speed is given by the following equation:
where Pitch is the detector cell pitch and (1/Δt) is the sampling rate. Thus, for the detector described above Vmax using this approach is 20 cm/second. This approach has some severe limitations that lead to significant error under normal operating conditions of an optical navigation system, such as an optical mouse.
Phase Unwrapping Using Velocity Predictor
A signal processing method according to the present invention that will unwrap phase angle values calculated from the inverse tangent function, more accurately without imposing limitations on maximum detectable speed of motion, will now be described. For development of the method in the following description it is assumed the ith frame currently being sampled, and Δφx, i and Δφy, i represent the phase angle changes (wrapped) between the current and previous frames, calculated from the inverse tangent function. Thus:
Letting ΔΦx,i and ΔΦy,i be the corrected (unwrapped) phase angle changes between the current and previous frames, the average phase changes along the X and Y axes between two successive frames (i.e., the average velocities), <ΔΦx>i and <ΔΦy>i can be computed using the ΔΦx,(i-j) and ΔΦy,(i-j) values from the past K frames.
The average velocity values computed from the above equations are referred to hereinafter as “Velocity Predictors.” These velocity predictors can be used to unwrap phase angle values, and changes in phase angles calculated from the inverse tangent function. The method or process begins with calculating the number of full 2π rotations needed to unwrap the phase angles assuming that the phase angle changes between the current and previous frames would be within the range of [(<ΔΦx>i−π), (<ΔΦx>i+π)] or [(<ΔΦy>i−π), (<ΔΦy>i+π)]. The number (N) of full 2π rotations is calculated using the following equations:
where Δφx,i and Δφy,i are the uncorrected or wrapped phase angle changes, <ΔΦx>i and <ΔΦy>i are the velocity predictors, and the INTEGER function returns the largest integer value that is not greater than the function's argument. The unwrapped or corrected phase angle changes can then be computed as follows:
ΔΦx,i=Δφx,i−2π×Nx,i (14.0)
ΔΦy,i=Δφy,i−2π×Ny,i (15.0)
It will be appreciated that this method of unwrapping phase angle values for detecting motion does not impose limitations on maximum detectable speed of motion, but it does impose limitations on maximum detectable acceleration (or deceleration). For example, using a 2D comb detector array having the values or characteristics given above in connection with equation 7.0, i.e., a period or M value of 4, a 20 μm detector pitch, 2× magnification and operating at a 10 kHz sampling rate, the maximum detectable acceleration (Amax) can be calculated from the following equation:
where Pitch is the detector cell pitch and (1/Δt) is the sampling rate. Thus, for the detector described above the Amax is about 2000 m/s2 or 200* G. When the acceleration exceeds Amax, for any difference in the predicted velocity and the true velocity that is greater than π, the predictor can no longer discriminate between acceleration and deceleration. However, the typical motion that is detectable by most optical navigation systems, such as optical mice, is not likely to exceed such a large, 200* G, acceleration or deceleration.
A flowchart of a method for detecting motion of an optical sensor relative to a surface, including a step of unwrapping phase angle values according to an embodiment of the present invention, is shown
Improvements on Velocity Predictor Estimation
It will be appreciated that selection of the number of frames to average over (i.e., the K value) is critical in obtaining an accurate estimation of the velocity predictors. A larger K value will yield a better estimation at slow speed of motion where the noise in the phase measurement is significant, while a smaller K value may estimate velocity more accurately with very fast motion or in the presence of higher accelerations. Thus, it is important to choose a K value that can cover a wide range of speeds fairly accurately. It has been found that setting the K value around 64 frames provides a reasonably good prediction on speed of the motion over a wide range of velocities from about 0.1 inch/second to over 20 inch/second.
In another embodiment, the sampling rate can be dynamically adjusted or adapt ed based on an estimated or past speed of the motion to further improve this velocity predictor estimation. That is, the sampling rate can be reduced (i.e., increase Δt) when the estimated motion is slow and the sampling rate can be increased (i.e., decrease Δt) when the detected motion speeds up.
In yet another embodiment, the velocity predictor estimation is improved by computing the radius-weighted average velocities from the past K frames, since the radius values, Rx,i and Ry,i, are very good indicators of the detected signal contrast and hence the quality of the associated phase measurement. In this embodiment, the velocity predictor values may be calculated as follows:
where Rx,i and Ry,i are computed using equations 5.0 and 6.0 given above.
In summary, the advantages of the signal averaging circuit and method of the present invention over previous or conventional circuits and methods include improved accuracy of a phase angle unwrapping algorithm employed in quasi-sinusoidal signal processing, and hence the performance of the motion tracking by a comb-detector array without imposing additional limitations on the detectable speed of the motion. The method also enables fairly accurate detection of very high-speed motion (i.e., greater than 20 inch/second) with limited data sampling rate (i.e., less than 40 kHz). This last advantage is particularly desirable in applications, such as wireless optical mice, where the sampling rate is limited due to certain power consumption budget.
The advantages of the signal averaging circuit and method of the present invention over previous or conventional circuits and methods will now be described in detail with reference to
Results of Prototype Testing
The foregoing description of specific embodiments and examples of the invention have been presented for the purpose of illustration and description, and although the invention has been described and illustrated by certain of the preceding examples, it is not to be construed as being limited thereby. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and many modifications, improvements and variations within the scope of the invention are possible in light of the above teaching. It is intended that the scope of the invention encompass the generic area as herein disclosed, and by the claims appended hereto and their equivalents.
Number | Name | Date | Kind |
---|---|---|---|
3922093 | Dandliker et al. | Nov 1975 | A |
4225240 | Balasubramanian | Sep 1980 | A |
4546347 | Kirsch | Oct 1985 | A |
4799055 | Nestler et al. | Jan 1989 | A |
5288993 | Bidiville et al. | Feb 1994 | A |
5473344 | Bacon et al. | Dec 1995 | A |
5578813 | Allen et al. | Nov 1996 | A |
5644139 | Allen et al. | Jul 1997 | A |
5703356 | Bidlville et al. | Dec 1997 | A |
5729008 | Blalock et al. | Mar 1998 | A |
5729009 | Dandliker et al. | Mar 1998 | A |
5786804 | Gordon | Jul 1998 | A |
5825044 | Allen et al. | Oct 1998 | A |
5854482 | Bidlville et al. | Dec 1998 | A |
5907152 | Dandliker et al. | May 1999 | A |
5963197 | Bacon et al. | Oct 1999 | A |
5994710 | Knee et al. | Nov 1999 | A |
6031218 | Piot et al. | Feb 2000 | A |
6037643 | Knee | Mar 2000 | A |
6057540 | Gordon et al. | May 2000 | A |
6097371 | Siddiqui et al. | Aug 2000 | A |
6151015 | Badyal et al. | Nov 2000 | A |
6172354 | Adan et al. | Jan 2001 | B1 |
6225617 | Dandliker et al. | May 2001 | B1 |
6233368 | Badyal et al. | May 2001 | B1 |
6281881 | Siddiqui et al. | Aug 2001 | B1 |
6281882 | Gordon et al. | Aug 2001 | B1 |
6326950 | Liu | Dec 2001 | B1 |
6330057 | Lederer et al. | Dec 2001 | B1 |
6351257 | Liu | Feb 2002 | B1 |
6396479 | Gordon | May 2002 | B2 |
6421045 | Venkat et al. | Jul 2002 | B1 |
6424407 | Kinrot et al. | Jul 2002 | B1 |
6433780 | Gordon et al. | Aug 2002 | B1 |
6452683 | Kinrot et al. | Sep 2002 | B1 |
6455840 | Oliver et al. | Sep 2002 | B1 |
6462330 | Venkat et al. | Oct 2002 | B1 |
6476970 | Smith | Nov 2002 | B1 |
6529184 | Julienne | Mar 2003 | B1 |
6585158 | Norskog | Jul 2003 | B2 |
6603111 | Dietz et al. | Aug 2003 | B2 |
6621483 | Wallace et al. | Sep 2003 | B2 |
6657184 | Anderson et al. | Dec 2003 | B2 |
6664948 | Crane et al. | Dec 2003 | B2 |
6674475 | Anderson | Jan 2004 | B1 |
6677929 | Gordon et al. | Jan 2004 | B2 |
6703599 | Casebolt et al. | Mar 2004 | B1 |
6737636 | Dietz et al. | May 2004 | B2 |
6774351 | Black | Aug 2004 | B2 |
6774915 | Rensberger | Aug 2004 | B2 |
6795056 | Norskog et al. | Sep 2004 | B2 |
6809723 | Davis | Oct 2004 | B2 |
6819314 | Black | Nov 2004 | B2 |
6823077 | Dietz et al. | Nov 2004 | B2 |
20070055461 | Buckner | Mar 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20070165207 A1 | Jul 2007 | US |