Professional Documents
Culture Documents
US Patent 7079116
US Patent 7079116
US Patent 7079116
in Frame time) 1 Frame (588US: 1) 2 Frame(588 us+2) 3 Frame 588US-3) 4 Frame (588 use 4) 5 Frame(588.st 5) 6 Fame(588 us 5)
amount of (0, 0) (0.5, 0.2) (1, 0.4) (15, 0.6) (2,0.8) (25, 1)
notion(X, Y)
n Frane
Present
n-1 Frame
X Reefence
WX
Fig. 1
PRIOR ART
02
S|30u/nd
ôOleu
U.S. Patent Jul.18, 2006 Sheet 2 of 7 US 7,079,116 B2
Fig.
PRIOR ART
u
—
||
-
J
Buje
U.S. Patent Jul.18, 2006 Sheet 4 of 7 US 7,079,116 B2
Fig. 4
Overlap
--
- - - - - - -- - - - - ---
Fig. 5
U.S. Patent Jul.18, 2006 Sheet 6 of 7 US 7,079,116 B2
Fig. 6
U.S. Patent US 7,079,116 B2
US 7,079,116 B2
1. 2
METHOD OF PROCESSING DATA OF motion vector of the optical mouse because the image sensor
OPTICAL MOUSE has a physical size. If the reference image of the n-1 th
frame is updated to the reference image of the nth frame in
BACKGROUND OF THE INVENTION every frame, the motion of the optical mouse cannot be
detected when the optical mouse is slowly moved by one
1. Field of the Invention pixel or less. To solve this problem, if the reference image
The present invention relates generally to a method of of the n-1 thframe is updated only when motion is detected
processing image data of an optical mouse, and more instead of updating the reference image of the n-1 th frame
particularly, to a method of processing image data of an in every frame, the detection errors can be minimized and
optical mouse, which is capable of improving the detection 10 the motion of the optical mouse can be detected for the case
of the two-dimensional motion of an optical mouse. where the optical mouse is slowly moved by one pixel or
2. Description of the Prior Art less.
FIG. 1 is a block diagram showing the processing of FIG. 3 is a view illustrating the optimal division of a
image data of a general optical mouse. As shown in FIG. 1, conventional navigation engine using one channel, which
the data process block of the general optical mouse includes 15 shows a case where a one-channel algorithm is applied. In
an analog process unit 10 that reads the image of a Surface the case of applying the one-channel algorithm, if the optical
under the optical mouse in analog data and converts the mouse moves 0.5 pixel in the X axis direction and 0.2 pixel
analog data into digital data, and a digital process unit 20 in the Y axis direction in every frame, for example, at an
that calculates and outputs a motion vector with respect to interval of 588 us, respectively, the motion of one pixel or
time using the digital data. less cannot be detected.
The analog process unit 10 includes an image pixel array In this case, there is described the motion of the optical
12 that generates an analog image according to the amount mouse ranging from a first frame to a sixth frame with
and intensity of light reflected by a surface under the optical reference to FIG. 3, as an example.
mouse, and an Analog-to-Digital Converter (ADC) 14 that Referring to the motion of the optical mouse with respect
converts the analog data of the image pixel array 12 into the 25 to time in a present nth frame, if the amounts of motions in
digital data. the X and Y axis directions are 0 and 0 in the first frame (588
Additionally, the digital process unit 20 includes an Image us*1), respectively, the amounts of the motions in the X and
Signal Processor (ISP) 22 that calculates a motion vector by Y axis directions are 0.5 and 0.2 in the second frame (588
processing the digital data, and a Personal Computer (PC) us*2), respectively, the amounts of the motions in the X and
interface 24 that receives data output from the image signal 30 Yaxis directions are 1 and 0.4 in the third frame (588 us3),
processor 22 and transmits data to the image signal proces respectively, the amounts of the motions in the X and Y axis
sor 22 through data communication. directions are 1.5 and 0.6 in the fourth frame (588 us4),
There is described an algorithm for processing image data respectively, the amounts of the motions in the X and Y axis
of an optical mouse to calculate the motion vector of the directions are 2 and 0.8 in the fifth frame (588 us5),
optical mouse through the image signal processor 22 with 35 respectively, and the amounts of the motions in the X and Y
reference to FIG. 2. FIG. 2 is a schematic view illustrating axis directions are 2.5 and 1 in the sixth frame (588 usé),
a conventional method of processing image data of an respectively. As in the above-described method, if the
optical mouse. motion of the optical mouse occurs in an eleventh frame, the
To implement the algorithm, at least three memory spaces actual amounts of the motions in the X and Y axis directions
are needed to store pixel data. The memory spaces store the 40 are 5 and 2, respectively, but the detected amounts of the
reference image of an n-1 th frame for an X axis and a Y motions in the X and Y axis directions are 5 and 0.
axis, the present image of an nth frame for the X axis and the respectively.
Y axis, and the reference image of the nth frame for the X In this case, VX and VY, which are the sum of vectors
axis and the Y axis. accumulated in the X axis direction and the sum of vectors
First, the reference image of the n-1 th frame is selec 45 accumulated in the Y axis direction, respectively, are rep
tively extracted from the total image of the n-1 thframe in resented as the XY coordinates (0, 0) in the second frame in
order to find the motion of the optical mouse in the nth the case where the optical mouse moves 0.5 pixel in the X
frame. The present image of the nth frame is the total image axis direction and 0.2 pixel in the Y axis direction, compared
of the nth frame. Last, the reference image of the nth frame to the motion of the first frame. The reason is that the motion
is selectively extracted from the present image of the nth 50 of one pixel or less cannot be detected when the second
frame and become a reference image to find the motion of frame is compared to the reference image of the n-1 th
the optical mouse in an n+1 th frame. frame, for example, the first frame. Next, the VX and VY are
As described above, the moving direction of the motion represented as XY coordinates (1,0) in the third frame in the
vector is determined using most approximately equal parts case where the optical mouse moves 0.5 pixels in the X axis
of the reference image of the n-1 th frame and the present 55 direction and 0.2 pixel in the Y axis direction, compared to
image of the nth frame while the reference image of the n-1 the motion of the second frame. 0.5 pixel is accumulated in
th frame is sequentially overlapped with the present image the X axis direction in each of the second and third frames
of the nth frame. The reference and present images should from the reference image of the n-1 th frame, and the
ideally coincide with each other by 100%, but the reference amount of the motion in the X axis direction therefore
and present images does not actually coincide with each 60 becomes 1; while 0.2 pixel is accumulated in the Y axis
other by 100% due to the noise of the images and so on in direction in each of the second and third frames from the
terms of characteristics of an image sensor. reference image of the n-1 th frame, and the amount of
The motion of the optical mouse is found through motion in the Y axis direction therefore becomes 0.4.
repeated performance of the above-described process. Accordingly, motion of one pixel or less cannot be detected,
There are matters to be considered in the repeated per 65 so the value of VY becomes 0. Thereafter, the reference
formance of the process. For one, detection errors of one image of the n-1 th frame is updated to the third frame
pixel or less always exist in the algorithm for calculating the because the value of the VX is changed from 0 to 1.
US 7,079,116 B2
3 4
Accordingly, the motion in only the X axis direction can mouse, including calculating a motion vector of the optical
be detected when the motion of the optical mouse occurs in mouse through processing of digitally converted image pixel
the eleventh frame, so the values of the VX and the VY are data in an ISP by sequentially overlapping a reference image
5 and 0, respectively. However, the motion in the Y axis of an n-1 th frame to a present image of an nth frame and
direction cannot be detected in the case where the optical determining a moving direction of the optical mouse using
mouse moves 0.2 pixel in the Y axis direction in every most approximately equal parts in the reference and present
frame, so the value of the VY becomes 0 although the optical images; and transmitting the calculated motion vector to a
mouse actually moves 2 pixels in the Y axis direction. personal computer through an interface; wherein the ISP
In short, the XY coordinates of VX and VY, which are the includes an X axis navigation engine for processing data on
Sum of vectors accumulated in the X axis direction and the 10 a reference image for the motion of an X axis direction
Sum of vectors accumulated in the Y axis direction, respec among the processed image pixel data and a Y axis navi
tively, are represented as (2, 0) by the calculation of (0, gation engine for processing data on a reference image for
O)+(1, 0)+(0, 0)+(1, 0)+(0, 0). Accordingly, although the the motion of a Y axis direction among the processed image
actual amounts of the motions in the X and Y axis directions pixel data, and the X and Y axis navigation engines each
are 2.5 and 1 in the sixth frame, respectively, the value of the 15 store the reference image of the n-1 th frame, the present
VY is not detected as '1'. The detection error of the amount image of the nth frame, and a reference image of the nth
of the motion in the X axis is 0.5 by the calculation of 2.5-2 frame.
and the detection error of 0.5 is detected in the next frame,
that is, a seventh frame. In the case where the motion of the BRIEF DESCRIPTION OF THE DRAWINGS
optical mouse occurs in the eleventh frame, the actual
amounts of the motions in the X and Y axis directions, are The above and other objects, features and other advan
5 and 2, respectively however, the detected amounts of the tages of the present invention will be more clearly under
motions in the X and Y axis directions, are 5 and 0. stood from the following detailed description taken in con
respectively. That is, the motion in the X axis direction can junction with the accompanying drawings, in which:
be detected, and the motion in the Yaxis direction cannot be 25 FIG. 1 is a block diagram showing the processing of
precisely detected. image data of a general optical mouse;
In the application of the conventional method of process FIG. 2 is a schematic view illustrating a conventional
ing image data of the optical mouse, the two-dimensional method of processing image data of an optical mouse;
motion of an optical mouse should be corrected. FIG. 3 is a view illustrating the optimal division of a
That is, if the two-dimensional motion is calculated using 30 conventional navigation engine using one channel;
a single navigation engine, for example, an algorithm for FIG. 4 illustrates the operation of an algorithm for pro
processing image data, the detection errors of the motion are cessing image data in an optical mouse in accordance with
increased according to conditions under which a reference the present invention;
image is updated. For example, if the condition is set to a FIG. 5 illustrates the sum of vectors obtained by X and Y
case where the motion in the X axis direction or the motion 35 axis navigation engines;
in the Y axis direction is detected, the motion in the Y axis FIG. 6 is a view illustrating the optimal division of
direction is not detected when the motion in the X axis navigation engines using two channels in accordance with
direction is greater than one pixel and the motion in the Y the present invention; and
axis direction is equal to or less than one pixel. For another FIG. 7 is a flowchart of the algorithm for processing
case, if the condition is set to a case where the motion in the 40
image data of two channels using optimally divided navi
X axis direction and the motion in the Y axis direction are gation engines.
detected, the reference image is not updated until the motion
in the X axis direction and the motion in the Yaxis direction DESCRIPTION OF THE PREFERRED
are detected at the same time, so the detection errors of the EMBODIMENTS
motion are increased. 45
Accordingly, if the two-dimensional motion of the optical Reference now should be made to the drawings, in which
mouse is calculated using the single navigation engine for the same reference numerals are used throughout the differ
processing image data of the conventional optical mouse, ent drawings to designate the same or similar components.
the detection of the small motion of one pixel or less of the Hereinafter, there is described a preferred embodiment of
optical mouse in one direction, for example, the X axis 50
the present invention with reference to the accompanying
direction or Y axis direction, is actually improved, but the drawings.
detection of the motion of the optical mouse in the other FIG. 4 illustrates the operation of an algorithm for pro
direction can be deteriorated. cessing image data in an optical mouse in accordance with
SUMMARY OF THE INVENTION 55
the present invention.
In the present invention, two navigation engines for
Accordingly, the present invention has been made keep detecting motions in X and Y axis directions, respectively,
ing in mind the above problems occurring in the prior art, are provided to minimize the detection errors of the two
and an object of the present invention is to provide a method dimensional motion of the optical mouse. FIG. 5 illustrates
of processing image data of an optical mouse, in which 60
the sum of vectors obtained by X and Y axis navigation
navigation engines are individually used to detect motions in engines. Referring to FIG. 5, a motion calculated in an X
-e
X and Y axis directions, respectively, not but using a single axis navigation engine is represented by a vector X, a
navigation engine to detect two-dimensional motion, motion calculated in a Y axis navigation engine is repre
thereby improving the detection of the optical mouse in X -e
sented by a vector Y, the two-dimensional motion vector Z
-e