CN100367165C - 确定光鼠标相对运动的方法和装置 - Google Patents

确定光鼠标相对运动的方法和装置 Download PDF

Info

Publication number
CN100367165C
CN100367165C CNB021506361A CN02150636A CN100367165C CN 100367165 C CN100367165 C CN 100367165C CN B021506361 A CNB021506361 A CN B021506361A CN 02150636 A CN02150636 A CN 02150636A CN 100367165 C CN100367165 C CN 100367165C
Authority
CN
China
Prior art keywords
image
motion vector
correlation value
compression
directional correlation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB021506361A
Other languages
English (en)
Other versions
CN1417749A (zh
Inventor
X·罗
Original Assignee
Omnivision Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omnivision Technologies Inc filed Critical Omnivision Technologies Inc
Publication of CN1417749A publication Critical patent/CN1417749A/zh
Application granted granted Critical
Publication of CN100367165C publication Critical patent/CN100367165C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching

Abstract

本发明揭示了一种确定两个图像之间的运动向量的方法。光鼠标相继获取两个图像。这种方法包括首先对于在第一图像与第二图像之间的多个方向的位移计算方向相关值。选择最小的方向相关值,与门限值进行比较。如果计算得的最小的方向相关值小于门限,就确定与这个最小的方向相关值关联的运动向量。然而,如果最小的方向相关值不小于门限,就对第一和第二图像压缩后再进行计算。这种压缩一直继续到确定合格的运动向量。

Description

确定光鼠标相对运动的方法和装置
技术领域
本发明与光鼠标有关,具体地说,涉及用降低的计算要求确定光鼠标的快速运动的方法。
背景技术
有着各种类型的指点器用作输入装置,使用户可以操纵计算机的光标。在笔记本计算机中,通常用电容触摸屏来操纵光标。对于台式计算机来说,大多数都是用计算机鼠标作为指点器。鼠标用来对个人计算机或工作站的显示屏幕进行光标操作。光标操作包括诸如将光标从显示屏幕的一个区域快速移动到另一个区域或选择显示屏幕上的对象之类的操作。
在现有技术的“滚球”鼠标中,用户通过在一个诸如鼠标垫之类的表面上移动鼠标来控制光标,使得光标在显示屏幕上与鼠标的运动成比例地在一个方向上移动一段距离。然而,滚球鼠标有着与许多其他具有机械零件的器件共同的缺点。也就是说,机械零件会随时间磨损、变脏或损坏,如果这样,就不再能精确地操纵光标了。
近来,业已开发了一些采用图像传感器的“光”鼠标。例如,美国专利No.6,281,882揭示了一种光鼠标,这种光鼠标可以产生平行光束对放置鼠标的表面进行照射。图像传感器的传感器阵列部分随着鼠标在一个表面上的移动接收表面的反射图像。然后,将相继反射图像的改变确定为鼠标的运动,于是就可以将它解释为所需的光标移动。
′882专利提供了有关光鼠标技术的极好的素材,详细说明了光鼠标的物理构成、探照光的产生、截获反射光形成图像帧的光学透镜系统和确定运动的方法。本发明与根据图像帧确定“运动向量”的方法有关。在这里所用的所谓“运动向量”描述了鼠标运动的幅度和方向。运动向量在提供给所关联的计算设备时可以用来操纵光标。
′882专利参考了先前的一些详细说明可以确定运动向量的各种方法的有关专利,包括美国专利No.5,578,813、美国专利No.5,644,139和美国专利No.5,786,804。总的来说,通过对相继图像帧的相互比较来确定鼠标的相对运动。传感器阵列产生由各个像素形成的表面二维图像。在′139专利所揭示的方法中,首先将第一帧存储起来。再截获和存储随后的第二帧。将第二帧与第一帧进行比较,确定运动向量。具体地说,对于后续帧的在每个紧邻像素的方向上的每个可能位移确定一个相关值。对于二维阵列来说,这相当于需要进行8个相关计算。此外,还要执行考虑后续图像没有位移的相关计算。因此,相对第一帧要执行总共9个相关计算。产生最大相关性的位移就给出了运动向量。这种技术的更详细的情况可以参见′139专利。
然而,由于用在每个方向位移单个像素执行相关计算,因此限制了光鼠标可以移动(同时仍然提供可用的信号)的最高速度。具体地说,在相继截获的图像之间光鼠标不能移动一个以上的像素,否则就会明显地增大相关计算量。因此,如果在相继图像之间光鼠标移动一个至两个像素,就必须执行25个相关计算。如果在相继图像之间光鼠标移动二至三个像素,就必须执行49个相关计算。
发明内容
为了克服上述已有技术存在的不足,本申请提出了确定光鼠标相对运动的方法和装置。
根据本发明的第一方面,提供了一种确定在两个图像之间的运动向量的方法,所述方法包括下列步骤:
(a)截获一个第一图像和一个第二图像;
(b)对于在所述第一图像与所述第二图像之间的多个方向的位移计算相应的方向相关值;
(c)从所述方向相关值中确定最小的方向相关值;
(d)确定所计算的最小的方向相关值是否小于一个预定门限值;以及
(i)如果是这样的话,确定与所述最小方向相关值关联的运动向量,以及
(ii)如果不是这样的话,将所述第一图像和所述第二图像压缩成使所述第一图像和第二图像具有较小的规模,再重复(b)至
(d),直到确定所述运动向量。
根据本发明的第二方面,提供了一种输出具有幅度和方向的运动向量的光鼠标,所述运动向量表示光鼠标的相对运动,所述光鼠标包括:
一个截获一个第一图像和一个第二图像的传感器阵列;
存储所述第一图像和所述第二图像的存储器;以及
一个信号处理器,用来:
(a)对于在所述第一图像与所述第二图像之间的多个方向的位移计算相应的方向相关值;
(b)从所述方向相关值中确定最小的方向相关值;
(c)确定所计算的最小的方向相关值是否小于一个预定门限值;以及
(i)如果是这样的话,确定与所述最小方向相关值关联的运动向量,以及
(ii)如果不是这样的话,将所述第一图像和所述第二图像压缩成使所述第一图像和第二图像具有较小的规模,再重复(a)至
(c),直到确定所述运动向量。
根据本发明的第三方面,提供了一种输出具有幅度和方向的运动向量的集成电路,所述运动向量表示光鼠标的相对运动,所述集成电路包括:
一个在一个衬底上形成的用来截获一个第一图像和一个第二图像的传感器阵列;
在所述衬底上形成的用来存储所述第一图像和所述第二图像的存储器;以及
一个在所述衬底上形成的信号处理器,用来:
(a)对于在所述第一图像与所述第二图像之间的多个方向的位移计算相应的方向相关值;
(b)从所述方向相关值中确定最小的方向相关值;
(c)确定所计算的最小的方向相关值是否小于一个预定门限值;以及
(i)如果是这样的话,确定与所述最小方向相关值关联的运动向量,以及
(ii)如果不是这样的话,将所述第一图像和所述第二图像压缩成使所述第一图像和第二图像具有较小的规模,再重复(a)至(c),直到确定所述运动向量。
附图说明
在这些附图中,相同的标注数字所标的是本发明的这些非限制和非穷举性的实施例的各个示意图中相同的部分,其中:
图1为现有技术的采用指点器的个人计算机的示意图;
图2为适合与图1的光鼠标配合使用的集成电路的示意图;
图3为由一些配置成二维阵列的独立像素组成的传感器阵列的示意图;
图4为图3传感器阵列按照块规模为2×2组合后的示意图。
具体实施方式
在以下说明中,提供了许多具体细节,诸如各个系统部件的标识之类,以便对本发明的实施例有全面的理解。然而,熟悉该技术领域的人员可以看到,本发明可以在没有这些具体细节中的一个或多个细节或者用其他方法、部件、材料等的情况下实现。在其他一些例子中,没有示出或详细说明众所周知的结构、材料或操作,以免反而使本发明的各个实施例的特征模糊不请。
在本说明中,所谓本发明的“一个实施例”是指结合这个实施例所揭示的具体特色、结构或特征包括在本发明的至少一个实施例内。因此,在本说明中各处出现的“在一个实施例中”不一定都是指同一个实施例。此外,这些具体特色、结构或特征可以用任何适当方式在一个或多个实施例中组合在一起。
图1和有关说明旨在对可以实现本发明的适当计算环境进行简短的总体说明。虽然没有必要,但至少部分地将在由个人计算机或其他计算装置执行的诸如程序模块之类的计算机可执行指令的一般环境中对本发明进行说明。概括地说,程序模块包括执行具体任务或实现具体抽象数据类型的例行程序、对象、部件、数据结构等。此外,熟悉该技术领域的人员可以理解,本发明可以用于其他计算机系统配置,包括手持设备、多处理器系统、基于微处理器的或可编程用户电子设备、网络PC、微型计算机、主计算机等。
参见图1,本发明的典型环境包括呈现为传统的个人计算机101形式的通用计算设备,它包括处理单元103、系统存储器105和将包括系统存储器105在内的各个系统部件连接到处理单元103上的系统总线107。系统总线107可以是包括存储器总线或存储控制器、外围总线和使用任何总线体系结构的局部总线几种类型总线结构中任何一种总线结构。系统存储器105可以包括只读存储器(ROM)、闪速存储器或随机存取存储器(RAM)。含有有助于诸如在启动期间之类的在个人计算机101内一些部件之间传送信息的基本例行程序的基本输入输出109(BIOS)存储在存储器105内。
此外,个人计算机101还包括盘驱动器111,诸如软盘驱动器或CD盘驱动器。盘驱动器111接至系统总线107。盘驱动器111和关联的计算机可读媒体提供了计算机可读指令、数据结构、程序模块和个人计算机101的其他数据的非易失存储。
虽然在这里所说明的典型环境用了盘驱动器111,但熟悉该技术领域的人员应该理解,在这典型操作环境内也可以使用其他类型的可以存储计算机可接入的数据的计算机可读媒体,诸如盒式磁带、闪速存储卡、数字视盘之类。
在存储器105内可以存储许多程序模块,包括操作系统、一个或多个应用程序、其他程序模块和程序数据。用户可以通过诸如键盘113和光鼠标115之类的输入装置将命令和信息输入个人计算机101。这些和其他一些输入装置通常通过接到系统总线107上的串行端口接口与处理单元103连接。监视器117或其他类型的显示设备通过诸如显示卡之类的接口也接到系统总线107上。
个人计算机101可以在一个网络环境内进行操作,与一个或多个远程计算机逻辑连接。远程计算机可以是另一个个人计算机、服务器、路由器、网络PC、对等设备或其他网络节点,通常包括上面对个人计算机101所说明的许多或者所有部件。这样的联网环境在广泛用于办公室、企业的计算机内部网和互联网中是随处可见的。
光鼠标115可以基本上与在′882专利或者美国专利No.6,256,016或美国专利No.6,172,354中所揭示的类似。确实,本发明的方法和装置(用一个集成电路实现时)可以并入在上述专利中所看到的结构。与现有技术相比,本发明的独特之处是确定运动向量的方法。在′139专利中,运动向量是通过将后一帧在各个方向位移、对上一帧图像内每个像素计算相关性再用最高相关性确定方向来确定的,然而,正如下面将看到的那样,本发明通过一些块匹配步骤进行。
再来看图2,按照本发明形成的集成电路207包括传感器阵列301、信号处理器303、输入输出(I/O)305、存储器309和总线307。I/O 305通过电缆209与计算机101连接。最好,这些器件都在单个硅衬底上形成,用标准的CMOS工艺集成在单个芯片上。
传感器阵列301例如可以是实质上类似于由本发明的受让方(OmniVision Technologies,Inc.of Sunnyvale,CA)制造的图像传感器的传感器阵列部分,如型号OV7630、OV7920、OV7930、OV9620、OV9630、OV6910或OV7640。然而,本发明的传感器阵列301通常具有比以上型号低得多的分辩率。因此,传感器阵列301可以只包括几百个或上千个像素而不是几十万个像素。例如,传感器阵列301可以是一个20×20的阵列。
因此,传感器阵列301包括配置成一个二维阵列的多个独立像素。在工作中,在将光鼠标指向任何任意图像时,由一个透镜系统将图像聚焦到传感器阵列301上,使得传感器阵列301可以得到原始图像数据。
信号处理器303通过总线307接收到原始图象数据后,开始进行信号处理。信号处理器303能执行一组实现光鼠标操作所需的预编程指令(这些预编程指令可以是存储在存储器309内的)。作为可应用的,信号处理器303的方案可以从许多提供嵌入式微处理器或DSP内核的公司得到。
在所例示的这个实施例的情况下,信号处理器303被编程成可以获取原始图像数据和将它存储在存储器309内。具体地说,在工作中,信号处理器303将第一图像存入存储器309。随后的第二图像也存入存储器309。随着接收到后来的图像,将这些图像以先进先出(FIFO)方式存储在存储器309内。存储器309应该大到足以存储至少两个相继的图像。在一个实施例中,传感器阵列可以以每秒1500帧的速度进行工作,当然速度慢一些或再快一些也是可以的。因此,两个相继的图像在时间上相隔0.67毫秒。
收集到两个相继的图像后,就可以由信号处理器(在存储器309的配合下)实现本发明的方法,确定这两个图像之间的运动向量。
因此,用可以是一个微处理器或数字信号处理器(DSP)的信号处理器303根据传感器阵列301截获的相继图像来计算光鼠标115的运动。一旦计算出运动情况,信号处理器303就将X和Y运动坐标(称为运动向量)提供给I/O 305,再由I/O 305通过电缆209将这坐标提供给计算机101。这信息于是通过I/O 305提供给计算机101。计算机101因此能用这信息操纵监视器117上的光标。这样,本发明的光鼠标115就可以用来控制光标。
再来看图3,其中示出了一个12×12的原始图像401的例子。这个原始图像401的每个像素都有一个关联的信号幅度。图中例示了原始图像401一部分的像素的信号幅度。
如上所述,本发明采用了块平均匹配方法,从而大大减少了处理器303计算运动向量的计算量。这种块匹配方法使用可调的块规模。假设原始图像数据的规模为M(水平)×N(垂直)。在图3所示的原始图像的情况下,M=12,N=12。
对于第一帧的情况,原始图像数据可以在数学上表示为Fs(x,y),其中:S为表示块规模的整数,x从1改变到M(1T x TM),而y从1改变到N(1T y TN)。
类似,对于第二帧的情况,原始图像数据可以在数学上表示为Cs(x,y),其中:S为表示块规模的整数,x从1改变到M(1T x TM),而y从1改变到N(1T y T N)。
正如下面将详细说明的那样,按照本发明,块规模S从1开始(向为N或M的极限)递增1,直到发现一个成功的匹配。
如果块规模S增加到2,所得到的数据阵列的规模就为M/2×N/2。对于第一帧来说,原始图像数据可以在数学上表示为F2(x,y),其中:x从1改变到M/2(1T x T M/2),而y从1改变到N/2(1T y T N/2)。类似,对于第二帧来说,原始图像数据可以在数学上表示为C2(x,y),其中x从1改变到M/2(1T x T M/2),而y从1改变到N/2(1T y T N/2)。
于是,对图3的原始图像的每个2×2的块进行平均,形成一个规模较小的6×6的像素矩阵。图4示出了这样一个经平均的像素矩阵,其中块规模为2×2。这个矩阵的一些元用从图3得出的数据填入。
如果块规模S增加到4,所得到的数据阵列规模就为M/4×N/4。对于第一帧来说,原始图像数据可以在数学上表示为F4(x,y),其中:x从1改变到M/4(1T x T M/4),而y从1改变到N/4(1T y T N/4)。类似,对于第二帧来说,原始图像数据可以在数学上表示为C4(x,y),其中x从1改变到M/4(1T x T M/4),而y从1改变到N/4(1T y N/4)。
通常,本发明的方法有助于确定鼠标的快速运动而不需要大量计算,对于运动大于一个像素距离的情况尤其有用。特别是,用块规模S为1执行运动向量计算。
在一个实施例中,通过对于每个可能方向的位移执行两个相继帧的像素数据之间的相关计算来确定运动向量。通常,有9个可能方向位移:左、右、上、下、上右、上左、下右、下左和没有位移。在一个实施例中,相关计算基于两个所比较的帧内相应像素的信号幅度的简单相减。然后,对于每个方向的位移得出各对像素的信号幅度差之和。因此,对于每组两个相继帧,要进行9个相关计算。
下面将以本发明的一个实施例为例具体说明怎样执行称为帧差和“FDS”的相关计算。概括地说,如下面的伪码所示,对于9个方向中每个方向(表示为S(d),其中d在0-8之间)得出一个相关计算(标为“和(Sum)”)。这个和是在第一帧F与第二帧C内像素之间的差的绝对值之和。然而,对被减的像素在各个方向上作了位移(或者Sum(4)的完全不位移)。
在计算出所有的和后,确定哪个和是最小的。然后,对这个最小的和(MinimumSum)用一个门限值加以检验。这个最小和,或者说最小的相关计算值,提供了运动方向(运动向量)。
此外,按照本发明,只有在MinimumSum小于门限值时才将这个运动向量确定为有效,予以输出。如果MinimumSum不小于门限值,就认为导致得出这个运动向量的相关计算已经失败。此时,如下面详细示出的那样,通过对S×S数据块进行平均压缩原始图像数据,形成一个如图4所示的经压缩的矩阵。对这个经压缩的矩阵执行同样的相关计算。这个过程一直继续到MinimumSum低于门限。注意,对于像素不多的情况应该降低门限值,予以补偿。作为一个例子,对于2×2数据块平均,门限值可以除以4。
/*Nine-direction absolute magnitude frame difference sumand get the minimum FDS(9个方向绝对值帧差和以及获取最小的FDS)*/FDS()
(
initial Sum(n)
for(x=2;x<M;x++)
(for(y=2;y<N;y++)
    {Sum(0)=Sum(0)+|C(x,y)-F(x-1,y-1)|;//移至上左
     Sum(1)=Sum(1)+|C(x,y)-F(x,y-1)|;//上移
     Sum(2)=Sum(2)+|C(x,y)-F(x+1,y-1)|;//移至上右
     Sum(3)=Sum(3)+|C(x,y)-F(x-1,y)|;//左移
     Sum(4)=Sum(4)+|C(x,y)-F(x,y)|;//不移
     Sum(5)=Sum(5)+|C(x,y)-F(x+1,y)|;//右移
     Sum(6)=Sum(6)+|C(x,y)-F(x-1,y+1));//移至下左
     Sum(7)=Sum(7)+|C(x,y)-F(x,y+1)|;//下移
     Sum(8)=Sum(8)+|C(x,y)-F(x+1,y+1)|;//移至下右
    }
}
(I,Minimum)=getMinimunSum(Sum);//获取最小和以及移动指数
If Miniumnsum<Threshold
      return(i);//i为0-8,表示移动向量
else
    return(failed);
}
因此,如果按块规模S相关计算得到一个无效的结果,就递增块规模S(用各种可能的递增策略中的一种),直到得到一个有效的相关计算。一旦认同了这个可接受的相关计算值,就可以确定运动向量,运动向量的幅度取决于得到可接受的相关计算值的块规模S。
下面是实现上面所说明的一般方法的伪码。注意,FDS为相关计算值。
GetcurrentFrame(C1);
if FDS(C1,F1,M,N)=failed then
     if FDS(C2,F2,W2,N/2)=failed then
        if FDS(C4,F4,M/4,N/4)=failed then
        Else
            Report movement vector-4//以4x的速度移动
         Update F1=C1
endif
     else
        Report movement vector-2//以2x的速度移动
        Update F1=C1
     endif
else
        Report movement vector-1//以1x的速度移动
        Update F1=C1;
endif
业已发现上述方法对于鼠标的快速运动是有益的。需执行的计算量少于任何已知的现有技术的计算量。
虽然在这里以有限的实施例为背景对本发明进行说明,但本发明可以根据本发明的精神实质用许多方式实现。因此,所例示和说明的实施例就各种情况来说都是例示性的而不是限制性的。例如,在上述说明中,相关计算是简单的在像素的信号幅度之间的差的绝对值。在其他实施例中,相关计算可以是相继的帧之间的差别的许多数学度量中的任何一种度量。此外,虽然通过对像素取平均对像素数据块进行压缩,但是也可以用其他数学方法将原始图像数据压缩成经压缩的版本。
因此,虽然本发明是以在光鼠标中的应用为例进行说明的,但是本发明可以用于许多不同的应用,包括但并不局限于计算机视觉。本发明的专利保护范围由所附权利要求书而不是由上述说明给定,所有在与权利要求书给出的意义相当的范围内的改变都应视为属于本发明的专利保护范围。

Claims (17)

1.一种确定在两个图像之间的运动向量的方法,所述方法包括下列步骤:
(a)截获一个第一图像和一个第二图像;
(b)对于在所述第一图像与所述第二图像之间的多个方向的位移计算相应的方向相关值;
(c)从所述方向相关值中确定最小的方向相关值;
(d)确定所计算的最小的方向相关值是否小于一个预定门限值;以及
(i)如果是这样的话,确定与所述最小方向相关值关联的运动向量,以及
(ii)如果不是这样的话,将所述第一图像和所述第二图像压缩成使所述第一图像和第二图像具有较小的规模,再重复(b)至(d),直到确定所述运动向量。
2.权利要求1的方法,其中所述第一图像和第二图像是由一个并入光鼠标的图像传感器截获的。
3.权利要求1的方法,其中所述第二图像是在所述第一图像截获后截获的。
4.权利要求1的方法,其中所述压缩通过将一个规模为S×S的像素块平均成一个压缩图像的单个像素来实现的。
5.权利要求4的方法,其中所述S是一个整数,随着执行进一步的压缩而递增。
6.权利要求1的方法,其中所述方向相关值为所述第一图像与第二图像的相应像素之间的差的绝对值之和。
7.权利要求4的方法,其中所述运动向量具有一个方向和一个幅度,所述运动向量的幅度与对所述第一图像和所述第二图像执行的压缩的程度成正比。
8.权利要求7的方法,其中所述幅度取决于S。
9.权利要求1的方法,其中所述截获一个第一图像和一个第二图像包括截获一个第一M×N规模图像和一个第二M×N规模图像,其中每一个图像包括M×N数据值,M和N大于2。
10.权利要求9的方法,其中压缩所述第一图像和所述第二图像包括:将所述第一图像和所述第二图像压缩成(M/S)×(N/S)规模图像,(M/S)×(N/S)规模图像包括(M/S)×(N/S)数据值,其中S是大于1的整数,以及其中压缩图像的每一个数据点的值是压缩数据点替代的原始图像的S×S数据值的平均值,从而使所述第一图像和第二图像具有较小的规模;用增加的S重复(b)至(d),直到确定所述运动向量,其中,M和N是S的偶倍数。
11.一种输出具有幅度和方向的运动向量的集成电路,所述运动向量表示光鼠标的相对运动,所述集成电路包括:
一个在一个衬底上形成的用来截获一个第一图像和一个第二图像的传感器阵列;
在所述衬底上形成的用来存储所述第一图像和所述第二图像的存储器;以及
一个在所述衬底上形成的信号处理器,用来:
(a)对于在所述第一图像与所述第二图像之间的多个方向的位移计算相应的方向相关值;
(b)从所述方向相关值中确定最小的方向相关值;
(c)确定所计算的最小的方向相关值是否小于一个预定门限值;以及
(i)如果是这样的话,确定与所述最小方向相关值关联的运动向量,以及
(ii)如果不是这样的话,将所述第一图像和所述第二图像压缩成使所述第一图像和第二图像具有较小的规模,再重复(a)至(c),直到确定所述运动向量。
12.权利要求11的集成电路,其中所述压缩是通过将一个规模为S×S的像素块平均成一个压缩图像的单个像素来实现的。
13.权利要求12的集成电路,其中所述S是一个整数,随着执行进一步的压缩而递增。
14.权利要求11的集成电路,其中所述方向相关值为所述第一图像与第二图像的相应像素之间的差的绝对值之和。
15.权利要求13的集成电路,其中所述运动向量的幅度与对所述第一图像和所述第二图像执行的压缩的程度成正比。
16.权利要求15的集成电路,其中所述幅度取决于S。
17.权利要求11的集成电路,其中压缩所述第一图像和所述第二图像包括压缩所述第一图像和所述第二图像使所述第一图像和第二图像具有较小的规模,其中通过如下所述实现所述的压缩:
将所述图像分成多个像素块,每一个像素块具有规模S×S,S是大于1的整数,
求所述多个像素块的每一个像素块的平均值为一个压缩的像素;以及
由从所述多个像素块的每一个像素块获得的所述一个压缩的像素的集合形成压缩的图像,其中,所述第一图像和所述第二图像包括数量为S的偶倍数的多个像素,
用增加的S重复(b)至(d),直到确定所述运动向量。
CNB021506361A 2001-11-06 2002-11-06 确定光鼠标相对运动的方法和装置 Expired - Fee Related CN100367165C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/011593 2001-11-06
US10/011,593 US7042439B2 (en) 2001-11-06 2001-11-06 Method and apparatus for determining relative movement in an optical mouse

Publications (2)

Publication Number Publication Date
CN1417749A CN1417749A (zh) 2003-05-14
CN100367165C true CN100367165C (zh) 2008-02-06

Family

ID=21751095

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB021506361A Expired - Fee Related CN100367165C (zh) 2001-11-06 2002-11-06 确定光鼠标相对运动的方法和装置

Country Status (6)

Country Link
US (1) US7042439B2 (zh)
EP (1) EP1308879B1 (zh)
CN (1) CN100367165C (zh)
AT (1) ATE355554T1 (zh)
DE (1) DE60218399T2 (zh)
TW (1) TWI261778B (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI234117B (en) * 2003-10-15 2005-06-11 Sunplus Technology Co Ltd Dynamic searching method and device for motion vector of optical mouse
CN1321391C (zh) * 2003-10-22 2007-06-13 凌阳科技股份有限公司 光学鼠标的移动向量动态搜寻方法及装置
TWI230890B (en) * 2003-12-29 2005-04-11 Pixart Imaging Inc Handheld pointing device and method for estimating a displacement
TWI287732B (en) 2004-01-07 2007-10-01 Pixart Imaging Inc Index device and tracking smooth method
CN100430875C (zh) * 2004-01-20 2008-11-05 原相科技股份有限公司 图像导航芯片
CN100369053C (zh) * 2004-06-03 2008-02-13 微驱科技股份有限公司 光学导引移动方向预测方法
CN100359448C (zh) * 2004-06-28 2008-01-02 凌阳科技股份有限公司 即时判断撷取影像像素值异常的方法及系统
US9024880B2 (en) * 2004-08-11 2015-05-05 Pixart Imaging Inc. Interactive system capable of improving image processing
TWI236289B (en) * 2004-08-11 2005-07-11 Pixart Imaging Inc Interactive device capable of improving image processing
US7528824B2 (en) * 2004-09-30 2009-05-05 Microsoft Corporation Keyboard or other input device using ranging for detection of control piece movement
TWI288353B (en) * 2004-12-24 2007-10-11 Lite On Semiconductor Corp Motion detection method
US20060209015A1 (en) * 2005-03-18 2006-09-21 Feldmeier David C Optical navigation system
US20060213997A1 (en) * 2005-03-23 2006-09-28 Microsoft Corporation Method and apparatus for a cursor control device barcode reader
US7268705B2 (en) * 2005-06-17 2007-09-11 Microsoft Corporation Input detection based on speckle-modulated laser self-mixing
US7557795B2 (en) * 2005-06-30 2009-07-07 Microsoft Corporation Input device using laser self-mixing velocimeter
US7283214B2 (en) * 2005-10-14 2007-10-16 Microsoft Corporation Self-mixing laser range sensor
US7543750B2 (en) * 2005-11-08 2009-06-09 Microsoft Corporation Laser velocimetric image scanning
US20070109267A1 (en) * 2005-11-14 2007-05-17 Microsoft Corporation Speckle-based two-dimensional motion tracking
US7505033B2 (en) * 2005-11-14 2009-03-17 Microsoft Corporation Speckle-based two-dimensional motion tracking
TW200725377A (en) * 2005-12-30 2007-07-01 Pixart Imaging Inc Displacement estimation method and device
KR100845321B1 (ko) * 2006-08-18 2008-07-10 주식회사 애트랩 광 네비게이션 장치 및 이 장치의 오프셋 보정 방법.
US8188973B2 (en) * 2007-11-07 2012-05-29 Omnivision Technologies, Inc. Apparatus and method for tracking a light pointer
US8327294B2 (en) * 2008-07-17 2012-12-04 International Business Machines Corporation Method and system to reduce workload and skills required in usage of mouse or other pointing devices
TWI382351B (zh) * 2009-03-20 2013-01-11 Ind Tech Res Inst 具積分影像輸出之影像感測器
TWI423169B (zh) 2010-04-23 2014-01-11 Pixart Imaging Inc 位移偵測裝置及其位移偵測方法
CN103389811B (zh) * 2012-05-11 2016-08-10 原相科技股份有限公司 光学导航装置及其轨迹平滑化方法
TWI505146B (zh) * 2013-01-25 2015-10-21 Pixart Imaging Inc 光學滑鼠裝置以及使用在光學滑鼠裝置的資料壓縮方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0666696A2 (en) * 1994-02-04 1995-08-09 Canon Kabushiki Kaisha Data processing method and data processor
US5557341A (en) * 1991-04-12 1996-09-17 Dv Sweden Ab Iterative method for estimating motion content in video signals using successively reduced block size
US5578813A (en) * 1995-03-02 1996-11-26 Allen; Ross R. Freehand image scanning device which compensates for non-linear movement
US5786804A (en) * 1995-10-06 1998-07-28 Hewlett-Packard Company Method and system for tracking attitude
CN1215286A (zh) * 1997-10-10 1999-04-28 三星电子株式会社 利用梯度模式匹配的运动补偿装置和方法
JP2000267799A (ja) * 1999-03-19 2000-09-29 Mitsubishi Electric Corp 座標位置制御システム、座標位置制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
KR20010045766A (ko) * 1999-11-08 2001-06-05 오길록 상태천이도를 이용하여 제어부를 구현한 움직임 추정 장치
US6256016B1 (en) * 1997-06-05 2001-07-03 Logitech, Inc. Optical detection system, device, and method utilizing optical matching

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5731849A (en) * 1992-03-13 1998-03-24 Canon Kabushiki Kaisha Movement vector detecting apparatus
JP3308617B2 (ja) * 1992-12-28 2002-07-29 キヤノン株式会社 動きベクトル検出装置及びその方法
JPH09129864A (ja) * 1995-10-30 1997-05-16 Canon Inc 半導体装置及びそれを用いた半導体回路、相関演算装置、信号処理システム
US6014181A (en) * 1997-10-13 2000-01-11 Sharp Laboratories Of America, Inc. Adaptive step-size motion estimation based on statistical sum of absolute differences
US6366317B1 (en) * 1998-03-27 2002-04-02 Intel Corporation Motion estimation using intrapixel logic
US6259737B1 (en) * 1998-06-05 2001-07-10 Innomedia Pte Ltd Method and apparatus for fast motion estimation in video coding
JP3709092B2 (ja) * 1999-03-09 2005-10-19 ペンタックス株式会社 画像圧縮装置および画像伸張装置
US7079579B2 (en) * 2000-07-13 2006-07-18 Samsung Electronics Co., Ltd. Block matching processor and method for block matching motion estimation in video compression

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557341A (en) * 1991-04-12 1996-09-17 Dv Sweden Ab Iterative method for estimating motion content in video signals using successively reduced block size
EP0666696A2 (en) * 1994-02-04 1995-08-09 Canon Kabushiki Kaisha Data processing method and data processor
US5578813A (en) * 1995-03-02 1996-11-26 Allen; Ross R. Freehand image scanning device which compensates for non-linear movement
US5786804A (en) * 1995-10-06 1998-07-28 Hewlett-Packard Company Method and system for tracking attitude
US6281882B1 (en) * 1995-10-06 2001-08-28 Agilent Technologies, Inc. Proximity detector for a seeing eye mouse
US6256016B1 (en) * 1997-06-05 2001-07-03 Logitech, Inc. Optical detection system, device, and method utilizing optical matching
CN1215286A (zh) * 1997-10-10 1999-04-28 三星电子株式会社 利用梯度模式匹配的运动补偿装置和方法
JP2000267799A (ja) * 1999-03-19 2000-09-29 Mitsubishi Electric Corp 座標位置制御システム、座標位置制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
KR20010045766A (ko) * 1999-11-08 2001-06-05 오길록 상태천이도를 이용하여 제어부를 구현한 움직임 추정 장치

Also Published As

Publication number Publication date
ATE355554T1 (de) 2006-03-15
EP1308879A1 (en) 2003-05-07
DE60218399D1 (de) 2007-04-12
CN1417749A (zh) 2003-05-14
EP1308879B1 (en) 2007-02-28
US20030085878A1 (en) 2003-05-08
TW200301867A (en) 2003-07-16
TWI261778B (en) 2006-09-11
DE60218399T2 (de) 2007-11-08
US7042439B2 (en) 2006-05-09

Similar Documents

Publication Publication Date Title
CN100367165C (zh) 确定光鼠标相对运动的方法和装置
US10783683B2 (en) Image stitching
US8639024B2 (en) Generation of a disparity result with low latency
EP1788802A1 (en) Image pickup device, image pickup result processing method and integrated circuit
US20210133920A1 (en) Method and apparatus for restoring image
CN100380294C (zh) 采用具有任选双模能力的图像传感器的无源光鼠标
CN106331497A (zh) 一种图像处理方法及终端
CN112216236A (zh) 一种显示面板补偿方法、装置及系统
CN110991627A (zh) 信息处理装置、信息处理方法
US8558793B2 (en) Locus smoothing method and navigation device using the same
EP1080447B1 (en) Image processing inspection apparatus
CN112954212A (zh) 视频生成方法、装置及设备
US20050283307A1 (en) Optical navigation using one-dimensional correlation
CN101739158B (zh) 轨迹平滑化方法及使用所述方法的导航装置
WO2021261463A1 (ja) プログラム、ヘッドマウントディスプレイ及び情報処理装置
KR101204868B1 (ko) 프로젝션 및 가상 입력 겸용의 프로젝터 및 데이터 입력 방법
JP2002157079A (ja) 意向識別方法
EP2571270B1 (en) Method for assisting video compression by using touch screen and monitoring system
JP5988213B2 (ja) 演算処理装置
WO2023182290A1 (ja) 視差情報生成装置、視差情報生成方法、および、視差情報生成プログラム
JP5582572B2 (ja) 画像処理方法、画像処理プログラム、これを記憶したコンピュータ読み取り可能な記憶媒体、及び画像処理装置
CN117314722A (zh) 加速器、存储装置和虚拟现实系统
CN115272718A (zh) 图像处理方法、装置、存储介质及电子设备
JPH11136692A (ja) 補間装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: OmniVision Technologies, Inc.

Address before: American California

Patentee before: Full Vision Technology Co., Ltd.

CP01 Change in the name or title of a patent holder
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080206

Termination date: 20201106

CF01 Termination of patent right due to non-payment of annual fee