US Patent 7079116

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

US007079116B2

(12) United States Patent (10) Patent No.: US 7,079,116 B2


Park et al. (45) Date of Patent: Jul.18, 2006
(54) METHOD OF PROCESSING DATA OF 6, 128, 108 A * 10/2000 Teo ............................ 358/540
OPTICAL MOUSE 6,568,777 B1 * 5/2003 Anderson et al. .............. 347/9
2002/0070277 A1* 6/2002 Hannigan .............. 235/462.45
(75) Inventors: Keun-Woo Park, Seoul (KR): 2002/0175921 A1 * 1 1/2002 Xu et al. .................... 34.5/589
Jong-Sik Jeong, Seoul (KR); 2004/0066372 Al * 4/2004 Park et al. .................. 345/163
Kyoung-Joong Min, Yongin-si (KR): 2004/009 1165 Al * 5/2004 Park et al. .................. 382/260
Kang-ju Kim, Jeollanam-do (KR); 2004/010.0444 A1* 5/2004 Park et al. ..... ... 345,166
Byoung Won Hwang, Seoul (KR): 2005/0190144 A1* 9/2005 Kong ......................... 345,156
Won-Tae Choi, Suwon-si (KR) FOREIGN PATENT DOCUMENTS
(73) Assignee: Samsung Electro-Mechanics Co., Ltd., KR 1020000062 130 10/2000
Kyunggi-Do (KR)
(*) Notice: Subject to any disclaimer, the term of this * cited by examiner
patent is extended or adjusted under 35
U.S.C. 154(b) by 393 days. Primary Examiner Bipin Shallwala
(21) Appl. No.: 10/414,689 Assistant Examiner Vincentg E. Kovalick
(74) Attorney, Agent, or Firm Gottlieb Rackman &
Reisman P.C.
(22) Filed: Apr. 16, 2003
(65) Prior Publication Data (57) ABSTRACT
US 2004/0100444 A1 May 27, 2004
Disclosed herein is a method of processing data of an optical
(30) Foreign Application Priority Data mouse. The method includes the steps of calculating a
Nov. 22, 2002 (KR) ...................... 10-2002-0073213 motion vector of the optical mouse through processing of
digitally converted image pixel data in an Image Signal
(51) Int. Cl. Processor (ISP) by sequentially overlapping a reference
G09G 5/08 (2006.01) image of an n-1 thframe to a present image of an nth frame
(52) U.S. Cl. ...................... 345/163; 34.5/156; 34.5/157; and determining a moving direction of the optical mouse
345/166; 178/18.01178/18.09 using approximately equal parts in the reference and present
images; and transmitting the calculated motion vector to a
(58) Field of Classification Search ................ 345/156, personal computer through an interface; wherein the ISP
345/157, 158, 163, 166,851, 857, 858; 178/18.01, includes an X axis navigation engine for processing data on
178/18.09: 358/1.5, 1, 12, 1.12 a reference image for the motion of an X axis direction
See application file for complete search history. among the processed image pixel data and a Y axis navi
(56) References Cited gation engine for processing data on a reference image for
the motion of a Y axis direction among the processed image
U.S. PATENT DOCUMENTS pixel data.
4,631,400 A * 12/1986 Tanner et al. ............... 250/221
5,598, 187 A * 1/1997 Ide et al. .................... 345/158 13 Claims, 7 Drawing Sheets

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

with reference image on-th Y fame while


n- Frame
Y Reference
WY
U.S. Patent Jul.18, 2006 Sheet 1 of 7 US 7,079,116 B2

Fig. 1
PRIOR ART

02
S|30u/nd

ôOleu
U.S. Patent Jul.18, 2006 Sheet 2 of 7 US 7,079,116 B2

reference image of n-th fame


detection of motion for
X of Y axis direction

present i? nage of nth frame

reference image of nth frame


U.S. Patent Jul.18, 2006 Sheet 3 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
--
- - - - - - -- - - - - ---

reference image of n-th x frame reference image of n-1 thy frame

detection of motion for detection of motion for


X axis direction Y axis direction

present image of nth frane

reference image ointh fame


U.S. Patent Jul.18, 2006 Sheet S of 7 US 7,079,116 B2

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

and Y axis directions. 65


In order to accomplish the above object, the present of the optical mouse is calculated by the sum of the vectors
-e -e -e -e, -e
invention provides a method of processing data of an optical X and Y, that is, Z =X+Y.
US 7,079,116 B2
5 6
An advantage of the present invention is that it obtains the frame to the fifth frame because the optical mouse moves
precise value of the two-dimensional motion vector of the one pixel or less in the Y axis direction. Next, the value of
optical mouse moving along a slanting line, a circle, or the the VY is represented as 1 in the sixth frame because the
like. Accordingly, a motion similar to the actual motion of optical mouse moves one pixel in the Y axis direction.
the optical mouse can be found. 5 Additionally, the reference image of the n-1 th frame is
The concept of the division of a navigation engine can be updated to the reference image of the nth frame. The
extended to dimensions other than one dimension, for above-described processes are applied to the eleventh frame.
example, two dimensions or three dimensions. In short, the value of the VX, which is the sum of vectors
Further, the preferred embodiment of the present inven accumulated in the X axis direction, is 2 by the calculation
tion can become apparent through the description of a case 10 of 0+1+0+1+0, and the value of the VY, which is the sum of
where the algorithm using two channels is applied. In this the vectors accumulated in the Y axis direction, is 1 by the
case, the channel is defined as a dimension, so one channel calculation of 0+0+0+0+1. Accordingly, the accumulated
represents one direction, such as an X axis direction or Y sums of the vectors VX and VY can be represented as the
axis direction (the one dimension), and two channels rep XY coordinates (2, 1), and the actual amounts of the motions
resents two directions, such as the X and Y axis directions 15 in the X and Y axis directions are represented as the XY
(the two dimensions). coordinates (2.5, 1) in the sixth frame. The detection error of
FIG. 6 is a view illustrating the optimal division of the amount of the motion in the X axis is 0.5 by the
navigation engines using two channels in accordance with calculation of 2.5-2 and the detection error of 0.5 is detected
the present invention, which shows a case where a two in the next frame, that is, a seventh frame. In the case where
channel algorithm is applied. the motion of the optical mouse occurs in the eleventh
In the case of applying the two-channel algorithm, if the frame, the actual amounts of the motions in the X and Y axis
optical mouse moves 0.5 pixel in the X axis direction and 0.2 directions, are 5 and 2, respectively, and detected amounts of
pixel in the Y axis direction in every frame, for example, at the motions in the X and Y axis directions, are also 5 and 2,
an interval of 588 us, respectively, the motion of one pixel respectively. That is, the motion in the X axis direction can
or less cannot be detected, as in the one-channel algorithm. 25 be detected, and the motion in the Y axis direction cannot be
In this case, there is described the motion of the optical precisely detected.
mouse ranging from a first frame to a sixth frame with Next, there is described the two-channel algorithm for the
reference to FIG. 6, as an example. X and Y axis directions with reference to FIG. 7.
Referring to the motion of the optical mouse with respect 30
FIG. 7 is a flowchart of the algorithm for processing
to time in a present nth frame, if the amounts of motions in image data of two channels using optimally divided navi
the X and Y axis directions are 0 and 0 in the first frame (588 gation engines.
us*1), respectively, the amounts of the motions in the X and Image data digitally converted from analog data detected
Y axis directions are 0.5 and 0.2 in the second frame (588 in an image pixel array is input at step S11. The input image
us*2), respectively, the amounts of the motions in the X and 35 data is stored in the present buffer of an nth frame as the
Y axis directions are 1 and 0.4 in the third frame (588 us3), present image of the nth frame at step S12. Additionally,
respectively, the amounts of the motions in the X and Y axis some images are extracted from the present buffer of the nth
directions are 1.5 and 0.6 in the fourth frame (588 us4), frame and the extracted images are stored in the reference
respectively, the amounts of the motions in the X and Y axis buffer of the nth frame at step S13.
directions are 2 and 0.8 in the fifth frame (588 us5), 40 Thereafter, the stored present image of the nth frame is
respectively, and the amounts of the motions in the X and Y compared to the reference image of an n-1 th X frame,
axis directions are 2.5 and 1 in the sixth frame (588 usé), which is an n-1 th frame of the X axis direction, and the
respectively. As in the above-described method, the actual reference image of an n-1 th Y frame, which is an n-1 th
amounts of the motions in the X and Y axis directions are 5 frame of the Y axis direction, at step S14. Thereafter VX.
and 2, respectively, if the motion of the optical mouse occurs 45 which is the vector of the X axis direction, is calculated
in an eleventh frame. using approximately equal parts obtained by comparing the
In this case, the value of VX, that is, the vector x. which present image of the nth frame and the reference image of
is the sum of Vectors accumulated in the X axis direction is the n-1 thXframe, and VY, which is the vector of the Yaxis
direction, is calculated using approximately equal parts by
represented as 0 in the first and second frames. The reason 50 comparing the present image of the nth frame and the
is that the motion of one pixel or less in the X axis direction reference image of the n-1 th Y frame at step S15.
cannot be detected in either of the first and second frames.
Next, the value of the VX is represented as 1 in the third If the value of the calculated VX is not “0”, the reference
frame because the optical mouse moves one pixel in the X image of the n-1 th X frame is updated to the reference
axis direction. Additionally, the amount of the motion in the image of the nth frame, while if the value of the calculated
X axis direction is determined as a certain value, not but 0, 55 VX is “0”, the reference image of the n-1 th X frame is
so the reference image of an n-1 th frame is updated to the maintained; while if the value of the calculated VY is not
reference image of the nth frame. Accordingly, if the motion “0”, the reference image of the n-1 th Y frame is updated to
of the optical mouse occurs in an eleventh frame, the value the reference image of the nth frame, while if the value of
of the VX is represented as 5 because the motion in the X the calculated VY is “0”, the reference image of the n-1 th
axis direction is only detected. 60 Y frame is maintained at step S16. Thereafter, a motion
vector is obtained by adding the calculated vectors VX and
Meanwhile, the value of VY, that is, the vector y which VY at step S17.
is the Sum of vectors accumulated in the Y axis direction, is It is preferable that the number of the reference image of
represented as 0 in the first and second frames. The reason the n-1 th frame is N (N=1-3), and the number of present
is that motion of one pixel or less in the Y axis direction 65 and reference images of the nth frame is each one. N=1
cannot be detected in either of the first and second frames. means one dimension. N=2 means two dimensions. N=3
Next, the value of the VY is represented as 0 in the third means three dimensions.
US 7,079,116 B2
7 8
As described above, in the present invention, the motion comparing the stored present image of the nth frame with
vector is obtained by adding the vectors VX and VY the reference image of the n-1 th frame of the X axis
calculated by independent navigation engines of the X and direction and the reference image of the n-1 th frame
Y axis directions instead of one navigation engine using one of the Y axis direction;
channel, so the natural two-dimensional motion of the calculating VX, which is a vector of the X axis direction,
optical mouse can be represented. using approximately equal parts in the present image of
As described above, the present invention, provides a the nth frame and the reference image of the n-1 th
method of processing image data of an optical mouse, in frame of the X axis direction by comparing the present
which image data output from the image pixel array of an and reference images, and calculating VY, which is a
integrated circuit for the optical mouse is converted into 10 vector of the Y axis direction, using approximately
digital image data, and the motion vector is calculated by equal parts in the present image of the nth frame and the
adding VX and VY obtained by the application of a navi reference image of the n-1 th frame of the Y axis
gation algorithm in each of the X and Y axis directions so as direction by comparing the present and reference
to obtain the change of the location of the image data by images; and
providing the converted digital image data to the navigation 15 calculating the motion vector by adding the calculated
algorithm, thereby improving the detection of the two vectors VX and VY.
dimensional motion of the optical mouse. 5. The method according to claim 4, wherein if a value of
Although the preferred embodiments of the present inven the calculated VX is not “0”, the reference image of the n-1
tion have been disclosed for illustrative purposes, those th frame of the X axis direction is updated to the reference
skilled in the art will appreciate that various modifications, image of the nth frame, while if the value of the calculated
additions and Substitutions are possible, without departing VX is “0”, the reference image of the n-1 thframe of the X
from the scope and spirit of the invention as disclosed in the axis direction is maintained; while if a value of the calcu
accompanying claims. lated VY is not “0”, the reference image of the n-1 thframe
25
of the Y axis direction is updated to the reference image of
the nth frame, while if the value of the calculated VY is “0”,
What is claimed is: the reference image of the n-1 th frame of the Y axis
1. A method of processing data of an optical mouse, direction is maintained.
comprising: calculating a motion vector of the optical mouse 6. A method of processing digitally converted image pixel
through processing of digitally converted image pixel data in 30
data of an Image Signal Processor (ISP) included in an
an Image Signal Processor (ISP) by sequentially overlapping optical mouse, comprising:
a reference image of an n-1 th frame to a present image of calculating vectors VX and VY using X axis and Y axis
an nth frame and determining the most approximately equal navigation engines for processing motions in X and Y
parts in the reference and present images as a moving axis directions, respectively; and
direction of the optical mouse; and 35 calculating a motion vector of the optical mouse by
transmitting the calculated motion vector to a personal adding the calculated vectors VX and VY.
computer through an interface; 7. The method according to claim 6, wherein the step of
wherein the ISP includes an X axis navigation engine for calculating the vector VX comprises;
processing data on a reference image for the motion of storing the digitally converted image pixel data in a
an X axis direction among the processed image pixel 40 present buffer of an nth frame as a present image of an
data and a Y axis navigation engine for processing data nth frame;
on a reference image for the motion of a Y axis extracting some images from the present buffer of the nth
direction among the processed image pixel data, and frame and storing the extracted images in a reference
the X and Y axis navigation engines each store the buffer of the nth frame;
reference image of the n-1 thframe, the present image 45 comparing the present image of the nth frame with a
of the nth frame, and a reference image of the nth reference image of an n-1 th frame of the X axis
frame. direction; and
2. The method according to claim 1, wherein the motion calculating VX, which is a vector of the X axis direction,
-e
vector Z of the optical mouse is determined by adding the using approximately equal parts in the present and
50 reference images by comparing the present and refer
-e
motion represented as X calculated by the X axis navigation ence images.
-e
engine to the motion represented as Y calculated by the Y 8. The method according to claim 6, wherein the step of
-e -e, -e calculating the vector VY comprises:
axis navigation engine, that is, Z =X+Y. storing the digitally converted image pixel data in a
55
3. The method according to claim 1, wherein a number of present buffer of an nth frame as a present image of an
the reference image of the n-1 th frame is N (N=1-3), and nth frame;
a number of present and reference images of the nth frame extracting some images from the present buffer of the nth
is each one. frame and storing the extracted images in a reference
4. The method according to claim 1, wherein the step of 60 buffer of the nth frame;
calculating a motion vector comprises the steps of: comparing the present image of the nth frame with a
storing the digitally converted image pixel data in a reference image of an n-1 th frame of the Y axis
present buffer of the nth frame as the present image of direction; and
the nth frame; calculating VY, which is a vector of the Y axis direction,
extracting some images from the present buffer of the nth 65 using approximately equal parts in the present and
frame and storing the extracted images in a reference reference images by comparing the present and refer
buffer of the nth frame; ence images.
US 7,079,116 B2
10
9. A method of processing data of an optical mouse, X axis direction and the reference image of the n-1
comprising: th frame of the Y axis direction;
analyzing optical data in an Image Signal Processor (ISP) (3) calculating VX, which is a vector of the X axis
wherein the ISP includes an X axis navigation engine direction, using approximately equal parts in the
for processing data on a reference image for the motion present image of the nth frame and the reference
of an X axis direction among the processed image pixel image of the n-1 thframe of the X axis direction by
data and a Y axis navigation engine for processing data comparing the present and reference images, and
on a reference image for the motion of a Y axis calculating VY, which is a vector of the Y axis
direction among the processed image pixel data, and direction, using approximately equal parts in the
the X and Y axis navigation engines each store the 10
present image of the nth frame and the reference
reference image of the n-1 thframe, the present image image of the n-1 thframe of the Y axis direction by
of the nth frame, and a reference image of the nth comparing the present and reference images; and
frame; (4) calculating the motion vector by adding the calcu
calculating a vector VX in the X-axis direction using
approximately equal parts in the present image of the 15 lated vectors VX and VY:
nth frame and the reference image of the n-1 thframe wherein if a value of the calculated VX is not "O,the
of the X axis direction by comparing the present and reference image of the n-1 th frame of the X axis
reference images; direction is updated to the reference image of the nth
calculating a vector VY in the Y axis direction, using frame, while if the value of the calculated VX is "O,the
approximately equal parts in the present image of the reference image of the n-1 th frame of the X axis
nth frame and the reference image of the n-1 thframe direction is maintained; while if a value of the calcu
of the Y axis direction by comparing the present and lated VY is not “0”, the reference image of the n-1 th
reference images; frame of the Y axis direction is updated to the reference
calculating a motion vector by adding the calculated image of the nth frame, while if the value of the
vectors VX and VY, wherein if a value of the calculated 25 calculated VY is “0”, the reference image of the n-1 th
VX is not “0”, the reference image of the n-1 thframe frame of the Y axis direction is maintained.
of the X axis direction is updated to the reference image 12. The method according to claim 11, wherein the step of
of the nth frame; calculating the vector VX comprises;
wherein if the value of the calculated VX is “0”, the storing the digitally converted image pixel data in a
reference image of the n-1 th frame of the X axis 30 present buffer of an nth frame as a present image of an
direction is maintained; nth frame;
wherein if a value of the calculated VY is not “0”, the extracting some images from the present buffer of the nth
reference image of the n-1 th frame of the Y axis frame and storing the extracted images in a reference
direction is updated to the reference image of the nth buffer of the nth frame;
frame; 35
comparing the present image of the nth frame with a
wherein if the value of the calculated VY is “0”, the
reference image of the n-1 th frame of the Y axis reference image of an n-1 th frame of the X axis
direction is maintained; and direction; and
transmitting the calculated motion vector to a personal calculating VX, which is a vector of the X axis direction,
computer through an interface. 40 using approximately equal parts in the present and
10. The method according to claim 9, wherein a number reference images by comparing the present and refer
of the reference image of the n-1 thframe is N (N=1-3), and ence images.
a number of present and reference images of the nth frame 13. The method according to claim 11, wherein the step of
is one. calculating the vector VY comprises:
11. A method of processing digitally converted image 45 storing the digitally converted image pixel data in a
pixel data of an Image Signal Processor (ISP) included in an present buffer of an nth frame as a present image of an
optical mouse, comprising: nth frame;
a. calculating vectors VX and VY using X axis and Y axis extracting some images from the present buffer of the nth
navigation engines for processing motions in X and Y frame and storing the extracted images in a reference
axis directions, respectively; and 50
buffer of the nth frame;
b. calculating a motion vector of the optical mouse by the comparing the present image of the nth frame with a
steps of
(1) storing the digitally converted image pixel data in a reference image of an n-1 th frame of the Y axis
present buffer of the nth frame as the present image direction; and
of the nth frame; 55 calculating VY, which is a vector of the Y axis direction,
(2) extracting some images from the present buffer of using approximately equal parts in the present and
the nth frame and storing the extracted images in a reference images by comparing the present and refer
reference buffer of the nth frame; ence images.
(3) comparing the stored present image of the nth frame
with the reference image of the n-1 thframe of the

You might also like