1. Field of the Invention
The invention relates to a method and system for immediately determining incorrect pixel values of a captured image and, more particularly, to a method and system for immediately determining incorrect pixel values of a captured image on an optical mouse.
2. Description of Related Art
A typical optical mouse has an image sensor. The image sensor consists of a plurality of image sensing elements. Two sequential images sensed by the image sensor are applied for detecting a motion distance of the mouse. Typically, the detection uses a portion of the first image as a search block, thereby computing a correlation of the search block and a same-size block located on the second image at a different location than the one. Accordingly, a smallest absolute value is found as the motion distance.
However, for typical algorithms used in an optical mouse, since patterns or contaminants on a mouse pad can cause a captured image to have incorrect pixel values, the incorrect pixel values may cause an estimated error as performing a motion vector estimation, and the estimated error can be accumulated to thus affect the accuracy on the motion vector estimation. Therefore, it is desirable for the above optical mouse to be improved, so as to mitigate and/or obviate the aforementioned problems.
The object of the invention is to provide a method and system for immediately determining incorrect pixel values of a captured image, which can increase the accuracy on the motion vector estimation.
According to a feature of the invention, there is provided a method for immediately determining incorrect pixel values of a captured image on an optical mouse, which determines a quality of an image in a video stream captured by the optical mouse and accordingly finds a motion distance for the optical mouse. The method includes a reference image capturing step, a sample image capturing step, a match value computing step, a smooth coefficient computing step, a locally minimum number computing step, and an image quality determining step. The reference image capturing step captures an image as a reference image from the video stream. The sample image capturing step captures an image after the reference image for use as a sample image. The match value computing step computes a set of match values for possible motion vectors of the sample image with respect to the reference image. The smooth coefficient computing step applies a filtering operation to compute a respective smooth coefficient for each match value. The locally minimum number computing step computes a locally minimum number in the set of match values according to a first rule. The image quality determining step determines if the locally minimum number is smaller than a threshold; if yes, the sample image is a qualified image and next a global minimum in the set of match values is found as a motion vector of the sample image.
According to another feature of the invention, there is provided a system for immediately determining incorrect pixel values of a captured image on an optical mouse, which determines a quality of an image in a video stream captured by the optical mouse and accordingly finds a motion distance for the optical mouse. The system includes a light source, a pixel array, an analog to digital converter (ADC) and a controller. The light source illuminates a sampling plane. The pixel array consists of plural image sensing elements to capture images from the sampling plane, thereby forming the video stream. The ADC is coupled to the pixel array for converting the video stream into digital signals. The controller is coupled between the light source and the ADC for controlling their timing, such that the controller captures an image as a reference image from the video stream, captures an image after the reference image for use as a sample image, computes a set of match values for possible motion vectors of the sample image with respect to the reference image, applies a filtering operation to compute a respective smooth coefficient for each match value, computes a locally minimum number in the set of match values according to a first rule, and determines if the locally minimum number is smaller than a threshold; if yes, the sample image is a qualified image and thus a global minimum in the set of match values is found as a motion vector of the sample image.
Other objects, advantages, and novel features of the invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings.
The light source 210 illuminates a sampling plane. Preferably, the light source 210 is a light-emitting diode (LED). The pixel array 220 consists of plural image sensing elements to capture images from the sampling plane, thereby forming the video stream. The ADC 230 is connected to the pixel array 220 for converting the video stream into digital signals. The controller 240 is coupled between the light source 210 and the ADC 230 for controlling their timing for illumination and conversion respectively.
As shown in
Step S315 computes a set of match values for possible motion vectors of the reference image. In this embodiment, similar to
Steps S320 to S335 compute smooth coefficients for the set of match values C[i][j] and find a locally minimum number in the set of match values C[i][j] according to a first rule. Step S320 determines if all smooth coefficients are computed completely; if yes, step S340 is executed; otherwise, step 325 is executed.
Step S325 applies a filtering operation to compute a respective smooth coefficient S[i][j] for each match value C[i][j]. The filtering operation is a high pass filtering, which performs inner product of each match value C[i][j] plus its neighbors and a high pass matrix to thus obtain a respective smooth coefficient S[i][j]. The high pass matrix can be a 3×3 matrix as [0 1 0;1 n 1;0 1 0], where n is a constant smaller than zero, in this case, n=−4.
Step S330 determines if the smooth coefficient S[i][j] is greater than a corrected match value C40 [i][j]. If the smooth coefficient S[i][j] is greater than a corrected match value C′[i][j], it indicates that the match value C[i][j] is a local minimum, so step S335 is executed to add a locally minimum number by 1 (variable nLocal
Step S340 is an image quality determining step, which determines if the locally minimum number (variable nLocal
In step S340, if the locally minimum number (variable nLocal
Step S355 selects the motion vector generated in step S350 or S375 as the motion vector of the sample image for output.
Step S360 determines if the motion vector output is over a boundary of the reference image. If the motion vector output is over a boundary of the reference image, it indicates that the reference image (the first image 130) cannot be the reference image, so a reference image changing step (step S380) is executed to use a current sample image as a current reference image. If the motion vector output is not over a boundary of the reference image, it indicates that the reference image (the first image 130) can be the reference image, so step S310 is executed.
In step S365, if the number of non-qualified sample images (nbad
For typical algorithms used in an optical mouse, patterns or contaminants on a mouse pad can cause a captured image to have incorrect pixel values which may further affect the accuracy on the motion vector estimation. As shown in
Although the present invention has been explained in relation to its preferred embodiment, it is to be understood that many other possible modifications and variations can be made without departing from the spirit and scope of the invention as hereinafter claimed.
Number | Date | Country | Kind |
---|---|---|---|
093116843 | Jun 2004 | TW | national |