Abstract:
An optical navigation device and a method thereof, wherein the optical navigation device comprises a pair of linear sensor arrays which are arranged non-parallel to each other for detecting light signal. Furthermore, an algorithm including correlation and vector analysis is processed by a computation unit to determine velocity and displacement according to present and previous light signal data sequences. Hence, the linear sensor arrays adopted to be the approach of navigation device can achieve the goal of reducing the computing data, increasing operation speed effectively and reducing hardware cost because of its fewer optically sensitive elements.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The invention relates to optical navigation device and more particularly to image device and method thereof for using linear image sensor. 
         [0003]    2. Description of the Prior Art 
         [0004]    The optical metrology is generally applied today, especially with the image sensing technology which is adopted to determine the navigation and velocity. The specific applications are including optical mice, hand scanning device, and similar products. 
         [0005]    The general optical navigation device comprises a light source adopted to emit light onto surface, and a detector adopted to receive the light reflected from the surface. The detector is usually a two-dimensional array formed by discrete optically sensitive element. A time series of images of detectable surface feature is acquired when the device moves relative to the surface. Thus, imaging processing is adopted to compare the variations between the presently and previously stored information. Then the displacement and motion direction are detected from the peak position of cross-correlation method between the outputs within the time series. 
         [0006]    However, two-dimensional sensor array costs more than linear sensor array due to using more optically sensitive element. Besides, with the rapid advancement of image processing technology, the effective detector needs to increase the operation speed. Obviously, reducing the optically sensitive element can achieve the goal directly. 
         [0007]    The inventor of the present invention recognizes the above shortage which should be improved and special effort has been made to research this field. The present invention is presented with reasonable design to resolve the problems mentioned above. 
       SUMMARY OF THE INVENTION 
       [0008]    The primary object of the present invention is to provide an optical navigation device and a method thereof, wherein linear sensor arrays are separately adopted to detect a light signal reflected from a surface, and to determine the final vectors of displacement and velocity of the optical navigation device. Hence, the linear sensor arrays are adopted to detect the reflected light signal, and the operation data are fewer than that detected by a two-dimensional sensor so that operation speed for computing the a correlation or a image comparison is effectively increased because linear sensor arrays use fewer optically sensitive elements and reduce hardware costs. 
         [0009]    To achieve the primary objective stated above, an optical navigation device of the present invention comprises a light source which illuminates a surface and the light reflects from the surface, 
         [0010]    a first linear sensor array and a second linear sensor array are adopted to detect the light signal reflected by the surface according to the system timing clock, and a data storage unit is adopted to store the light signal data sequences detected by the first linear sensor array and the light signal detected by the second linear sensor array, and a computation unit is connected with the data storage unit for computing correlation and vectors of displacement and velocity of the optical navigation device. 
         [0011]    To achieve the primary objective stated above, an optical navigation method of the present invention comprises the steps of detecting a light signal by a first linear sensor array, and simultaneously detecting a light signal by a second linear sensor array, wherein the first linear sensor array and the second linear sensor array are arranged non-parallel to each other; storing the first light signal data sequences and the second light signal data sequences; computing a correlation or a image comparison between present and previous light signal data sequences of the first linear sensor array and the second linear sensor array respectively; computing the vectors of displacement and velocity in both the parallel directions of the first linear sensor array and the second linear sensor array; and processing the vectors of displacement and velocity produced from both the parallel directions of the first linear sensor array and the second linear sensor array to determine the final velocity and the displacement of the optical navigation device. 
         [0012]    It is to be understood that both the foregoing general description and the following detailed description are exemplary, and are intended to provide further explanation of the invention as claimed. Other advantages and features of the invention will be apparent from the following description, drawings and claims. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0013]    The above and further advantages of this invention may be better understood by referring to the following description, taken in conjunction with the accompanying drawings, in which: 
           [0014]      FIG. 1  is a function block diagram of an optical navigation device according to the present invention; 
           [0015]      FIG. 1A  is a schematic view of a first preferred embodiment of a pair of linear sensor arrays according to the present invention; 
           [0016]      FIG. 1B  is a schematic view of a second preferred embodiment of a pair of linear sensor arrays according to the present invention; 
           [0017]      FIG. 2  is a flowchart of an optical navigation method according to the present invention; and 
           [0018]      FIG. 3  is a schematic view of motion information detected from a pair of linear sensor arrays according to the present invention. 
       
    
    
       [0019]    The drawings will be described further in connection with the following detailed description of the present invention. 
       DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0020]    Reference is shown as in  FIG. 1 . It is a schematic view of a first preferred embodiment of a pair of linear sensor arrays according to the present invention. An optical navigation device  1  of the present invention comprises a light source  11 , a first linear sensor array  12 , a second linear sensor array  13 , a data storage unit  14 , a computation unit  15  and a sensor control unit  16 . When the light is emitted from the light source  11  and illuminates a surface  9 , a reflected light is reflected by the surface  9  to be a light signal detected by the first linear sensor array  12  and the second linear sensor array  13  according to a system timing clock. The first linear sensor array  12  and the second linear sensor array  13  are arranged non-parallel to each other and both have at least one optically sensitive element. 
         [0021]    Reference is shown as in  FIG. 1A . It is a schematic view of a first preferred embodiment of a pair of linear sensor arrays according to the present invention.  FIG. 1A  shows a bottom view of layout relation between the first linear sensor array  12  and the second linear sensor array  13 . The first linear sensor array  12  and the second linear sensor array  13  are perpendicular to each other, and both are disposed in the optical navigation device  1  for detecting light signals reflected from the surface  9 . Further reference is shown as in  FIG. 1B . It is a schematic view of a second preferred embodiment of a pair of linear sensor arrays according to the present invention.  FIG. 1B  shows that the first linear sensor array  12  and the second linear sensor array  13  are arranged non-parallel to each other, and are disposed in the optical navigation device  1  for detecting light signals reflected from the surface  9 . Both the first linear sensor array and the second linear sensor array have at least one optically sensitive element. 
         [0022]    Further reference is shown as in  FIG. 1 . The first linear sensor array  12  and the second linear sensor array  13  detect light signals reflected from the surface  9  according to the system timing clock. Wherein the system timing clock is provided by the sensor control unit  16 , and the sensor control unit  16  is connected with not only the first linear sensor array  12  and the second linear sensor array  13  but also the data storage unit  14  and the computation unit  15 . 
         [0023]    The above-mentioned light source  11  are some coherent light emitted from the devices such as laser diodes, vertical cavity surface emitting lasers (VCSELs), or resonant cavity light emitting diodes (RCLEDs). The coherent light illuminates the surface  9  and detected by the optical navigation device  1 . The reflected light signal is a speckle image which is detected by the first linear sensor array  12  and the second linear sensor array  13 . The light source  11  includes some incoherent light source such as a light emitting diode (LED) and a lens which are adopted to produce a surface image. 
         [0024]    Reference is shown as in  FIG. 2 , which is a flowchart of an optical navigation method according to the present invention. The optical navigation method comprises the steps including that: a light source  11  emits a light to illuminate a surface  9  and the reflected light is reflected by the surface  9  to be light signals; and the light signals are detected by the first linear sensor array  12  and the second linear sensor array  13  respectively; The first linear sensor array  12  and the second linear sensor array  13  detect light signals reflected from the surface  9  according to the system timing clock provided by the sensor control unit  16  (S 201 ); the data storage unit  14  stores the first light signal data sequence and the second light signal data sequence respectively (S 203 ); the computation unit  15  computes a correlation or an image comparison between present and previous light signal data sequences detected by the first linear sensor array  12  and the second linear sensor array  13  respectively (S 205 ), and processes the vectors of displacement and velocity in both the parallel directions of the first linear sensor array  12  and the second linear sensor array  13  (S 207 ); The above-mentioned algorithm includes a division operation or a differentiation operation. Finally, the vectors of displacement and velocity produced from both the parallel directions of the first linear sensor array  12  and the second linear sensor array  13  are used to determine the final velocity and displacement of the optical navigation device  1  (S 209 ). 
         [0025]    In the step (S 207 ), the correlation between present and previous light signal data sequences is analyzed. In present invention, a first preferred correlation expression (formula 1) or a second preferred correlation expression (formula 2) which are adopted to execute correlation operations, and are shown as follow: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       C 
                       r 
                     
                      
                     
                       ( 
                       
                         xlist 
                         , 
                         ylist 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       
                         ∑ 
                         i 
                       
                        
                       
                         
                           x 
                           i 
                         
                          
                         
                           y 
                           i 
                         
                       
                     
                     
                       
                         
                           
                             ∑ 
                             i 
                           
                            
                           
                             x 
                             i 
                             2 
                           
                         
                       
                        
                       
                         
                           
                             ∑ 
                             i 
                           
                            
                           
                             y 
                             i 
                             2 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     formula 
                      
                     
                         
                     
                      
                     1 
                   
                   ) 
                 
               
             
           
         
       
     
         [0026]    Wherein, the C r  is a correlation parameter, x i  is a previously stored data array and y i  is a presently stored data array 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       C 
                       r 
                     
                      
                     
                       ( 
                       
                         xlist 
                         , 
                         ylist 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       
                         ∑ 
                         i 
                       
                        
                       
                         
                           ( 
                           
                             
                               x 
                               i 
                             
                             - 
                             
                               x 
                               _ 
                             
                           
                           ) 
                         
                          
                         
                           ( 
                           
                             
                               y 
                               i 
                             
                             - 
                             
                               y 
                               _ 
                             
                           
                           ) 
                         
                       
                     
                     
                       
                         
                           
                             ∑ 
                             i 
                           
                            
                           
                             
                               ( 
                               
                                 
                                   x 
                                   i 
                                 
                                 - 
                                 
                                   x 
                                   _ 
                                 
                               
                               ) 
                             
                             2 
                           
                         
                       
                        
                       
                         
                           
                             ∑ 
                             i 
                           
                            
                           
                             
                               ( 
                               
                                 
                                   y 
                                   i 
                                 
                                 - 
                                 
                                   y 
                                   _ 
                                 
                               
                               ) 
                             
                             2 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     formula 
                      
                     
                         
                     
                      
                     2 
                   
                   ) 
                 
               
             
           
         
       
     
         [0027]    Wherein, the C r  is a correlation parameter, x i  is a previously stored data array, and y i  is a presently stored data array,  x  is an average value of the previously stored data array and  y  is an average value of the presently stored data array. 
         [0028]    Reference is shown as in  FIG. 3 . It is a schematic view of motion information detected from a pair of linear sensor arrays according to the present invention. By means of the correlation operation, the vectors of displacement and velocity produced from both the parallel directions of the first linear sensor array  12  and the second linear sensor array  13  are used to determine the velocity and the displacement of the optical navigation device  1 . A position P 1  of the optical navigation device  1  is moved to a position P 2  so that a displacement D 1  and a displacement D 2  can be calculated. And next, the system timing clock of the sensor control unit  16  computes time interval t that the optical navigation device  1  moves from the position P 1  to the position P 2 . And next, a vector of velocity V 1  related to the surface  9  in the parallel direction of the first linear sensor array  12  can be computed according to the displacement D 1  and the time interval t, and a vector of motion velocity V 2  related to the surface  9  in the parallel direction of the second linear sensor array  13  can be computed according to the displacement D 2  and the time interval t. Finally, the vector of motion velocity V 1  and vector of motion velocity V 2  are processed by vector analysis, and hence a vector of velocity V 3  can be obtained. 
         [0029]    By the same way, both of the velocity and displacement of the optical navigation device can be computed in a way that the first linear sensor array  12  and the second linear sensor array  13  are arranged non-parallel to each other (shown in  FIG. 1B ). 
         [0030]    Although the present invention has been described with reference to the preferred embodiment thereof, it will be understood that the invention is not limited to the details thereof. Various substitutions and modifications have been suggested in the foregoing description, and others will occur to those of ordinary skill in the art. Therefore, all such substitutions and modifications are intended to be embraced within the scope of the invention as defined in the appended claims.