专利名称:亚像素范围内的绝对跟踪的制作方法
技术领域:
本发明涉及亚像素(sub-Pixel)范围内的绝对跟踪。
背景技术:
光学导航装置一般使用图像相关技术以确定光学导航装置相对于被成像的基准 点的移动。图像序列中的每个图像内的特征被彼此相关,以便于确定装置相对于所成像 (例如,表面或者场景)的移动方向。在传统的相关技术中,存在可以用于确定导航跟踪技术的效果的三个参数。这些 参数为速度、分辨率和精确度。相关处理的速度主要决定于需要被处理的导航阵列的尺寸。 导航阵列是一组需要被处理并与基准图像的像素比较的图像元(即,像素)。基准图像的像 素被称为基础阵列。分辨率指的是图像的可以被辨别的细节的量。图像的分辨率由像素密 度或每个像素的尺寸以及用于为给定面积成像的像素数目所决定。通常,相关处理的速度 随着分辨率的增加而减小。相关技术的精确度由所使用的相关算法的类型决定。通常,更 精确的相关算法会减小相关处理的速度。在传统的相关技术中,基准指的是两个图案是如何相关的。通常,存在两种基准 相对基准和绝对基准。相对基准指的是确定从一个图像到下一个连续图像的独立运动。对 于每个新的图像,基准图像被更新,使得新的图像与作为基准图像的紧接的前一个图像比 较。绝对基准指的是确定每个图像相对于固定图像的运动。所以每个新的图像与相同的基 准图像比较,而不每次更新基准图像。再基准(re-referencing)是传统相关技术中的误差的一个来源。再基准指的是 当导航阵列接近边界条件时,获得新的基准图像或者基础阵列。为了保持每个新的图像与 基准图像之间的某种相关,当装置预料到导航阵列将要为之前的基础阵列之外的表面或场 景成像时,将新的基础阵列选作基准图像。这种新的基础阵列的选择被称作再基准。但是, 每次发生再基准,都使得误差可能积累并且使得计算出的运动稍微不正确。随着发生更多 的再基准,积累的误差可能超过可接受的限度。一些传统的相关技术使用亚像素近似,以人工地增加分辨率,并因此增加修正处 理的精确度。亚像素近似通常指的是对在量级上小于一个像素的移动进行近似。亚像素近 似被用在诸如受益于相对高的移动灵敏度的印刷装置的应用中。但是,亚像素近似技术可 能增加相关处理中的误差量。3点峰值(3PP)近似是一种类型的亚像素近似,其用在应用中来增加移动灵敏度 以确定几分之一个像素尺度的位移运动。在依靠相对基准的应用中,因为没有使用积累的 运动数据和相应积累的误差,所以3PP近似可以是精确并且有用的。但是,因为积累的误差 按照3PP近似的以非线性方式扭曲近似值的趋势而迅速地超过可接受的限制,所以3PP近 似不适合于绝对基准。
发明内容
本申请描述了设备的实施例。在一个实施例中,设备为光学导航装置。光学导航装 置包括图像传感器和跟踪引擎。图像传感器包括像素阵列,以产生多个跟踪图像。跟踪图像 对应于在像素阵列处的入射光。跟踪引擎根据至少两个跟踪图像的比较来确定跟踪表面的亚 像素位移值。跟踪引擎包括亚像素近似引擎和线性近似引擎。亚像素近似引擎依照非线性 亚像素分布、根据亚像素近似来产生中间亚像素位移值。线性近似引擎从中间亚像素位移值 产生最终亚像素位移值。在一个实施例中,线性近似引擎根据补偿分布产生最终亚像素位移 值,以补偿由亚像素近似引擎使用的非线性亚像素分布。也描述了本设备的其他实施例。本申请也描述了方法的实施例。在一个实施例中,该方法为一种用于以光学导航 装置进行亚像素跟踪的方法。在一个实施例中,该方法包括根据在图像探测器处探测到的 光来产生跟踪表面的多个图像。该方法也包括比较至少两个图像来确定跟踪表面的亚像素 位移值。在一个实施例中,确定跟踪表面的亚像素位移值包括按照非线性亚像素分布、根据 亚像素近似来对中间亚像素位移值进行近似。确定亚像素位移值还包括按照补偿分布来从 中间亚像素位移值产生最终亚像素位移值,以补偿非线性亚像素分布。也描述了本方法的 其他实施例。本申请也描述了计算机程序产品的实施例。在一个实施例中,计算机程序产品包 括计算机可读存储介质,其存储可以由数字处理器执行的机器可读指令的程序,以执行操 作来促进亚像素范围内的绝对跟踪。这些操作包括比较跟踪表面的两个图像的操作。这些 操作也包括对跟踪表面的两个图像之间的相关的中间亚像素位移值进行近似的一个或多 个操作。该中间亚像素位移值根据非线性亚像素分布。这些操作也包括按照补偿分布来从 中间亚像素位移值产生最终亚像素位移值,以补偿非线性亚像素分布的一个或多个操作。 中间亚像素分布和补偿分布的结合产生基本线性的分布。也描述了计算机程序产品的其他 实施例。从以下仅作为本发明的原理的示例而示出的详细描述,并结合附图,本发明的实 施例的其他方面和优点将会变得清楚。
图1描绘了光学导航系统的一个实施例的示意图。图2描绘了图1的光学导航装置的跟踪引擎的一个实施例的示意性框图。图3图示了导航表面的两个图像之间的相关的一个实施例的图。图4A图示了根据3点峰值近似技术的亚像素近似的数据集的一个实施例的直方 图。图4B图示了在中间亚像素近似的舍入和重分布以按照基本线性分布来实现亚像 素近似之后,亚像素近似的数据集的一个实施例的直方图。图5图示了用于使用光学导航装置的亚像素跟踪的方法的一个实施例的框图。图6图示了光学导航装置的另一个实施例的示意性框图,该光学导航装置包括两 个传感器以跟踪旋转。图7图示了具有用于跟踪打印介质的运动的光学导航装置的打印机的一个实施 例的示意性框图。
图8图示了具有用于跟踪全球定位环境内的目标的运动的光学导航装置的全球 定位系统的一个实施例的示意性框图。 在本说明书中,类似的附图标记可以被用于识别类似的元件。
具体实施例方式虽然描述了许多实施例,但是所描述的实施例的至少一部分涉及能够在亚像素范 围中进行绝对跟踪的光学导航装置。该光学导航装置的实施例减小了由于非线性亚像素近 似而引起的跟踪误差。具体地,光学导航装置可以减小由传统的系统中的再基准而引起的 积累的误差。光学导航装置的实施例也增加光学导航系统的精确度。图1图示了光学导航系统100的一个实施例的简图。图示的光学导航系统100包 括相对于导航表面104的光学导航装置102。通常,光学导航装置102照明导航表面104的 一部分,以产生在导航表面104处的被照明的部分或特征的图像。更具体地,光学导航装置 120相对于导航表面104移动,或者反过来,导航表面104相对于光学导航装置120移动; 并产生代表光学导航装置102相对于导航表面104的移动的一个或多个导航信号。因此, 导航表面104也可以被称作导航表面。此外,因为导航表面104用于跟踪光学导航装置102 的运动,导航表面102也被称作跟踪表面。在另一个实施例中,光学导航装置102用于跟踪导航表面104的运动。更具体地, 光学导航装置102可以处在相对于移动的目标(未示出)的导航表面104固定的位置。例 如,光学导航装置102可以跟踪在打印机装置中的纸或其他打印介质的移动(参照图6和 以下的附图)。因此,光学导航装置102的实施例能够跟踪光学导航装置102自身与导航表 面104之间的相对运动,而无论光学导航装置102或导航表面104是否受到运动。为了方 便,将涉及的光学导航装置102的移动理解为包括光学导航装置102与导航表面104之间 的所有的相对运动(包括导航表面104的运动)。为了照明导航表面104,光学导航装置102发出至少部分地由导航表面104反射的 光束。光学导航装置102探测经反射的光束并且处理经反射的光束以产生导航信号。在下 文中更详细地描述导航信号如何被产生的示例。导航表面104可以为任何类型的表面,并且可以包括一种或多种类型的材料成 分。典型的导航表面104的示例包括木头、石头、塑料层压板以及织物或其他有纹理的导航 垫(例如,鼠标垫)。导航表面104的其他示例包括纸和其它打印介质。导航表面104的其 他示例包括各种类型的地板和地面。导航表面104的其他示例包括轮胎或车辆的其他运动 部件,它们可以表示车辆的速度、方向或其他运动。其他的实施例可以包括其他类型的导航 表面和/或目标。光学导航装置102与导航表面104之间的距离可以根据光学导航装置102的应用 而决定。在表面导航应用中,光学导航装置102可以较为靠近导航表面104。例如,光学导 航装置102的壳体可以与导航表面104直接、实体地接触。可选择地,连接到光学导航装置 102的外壳的支座结构(未示出)可以与导航表面104直接、实体地接触。在其它实施例 中,光学导航装置102可以在导航表面104的几厘米或几英寸内,而不与导航表面104直接 地、实体地接触。相反,在自由空间导航应用中,光学导航装置102可以较为远离导航表面 104。例如,光学导航装置102可以在表面光学导航范围的外部工作。
图示的光学导航装置102包括光源106和微控制器110。在一个实施例中,光源 106为发光二极管(LED)。在另一个实施例中,光源106为激光器。例如,光源106可以为 垂直腔表面发射激光器(VCSEL)。可选择地,光源106可以为其他类型的激光器或其他光 源。图示的光学导航电路108包括图像获取系统(1AS)120、数字信号处理器 (DSP) 122、驱动器124和跟踪引擎125。在一个实施例中,光学导航电路108的驱动器124 控制光源106的工作(例如,使用驱动器信号),以产生朝向导航表面104发射的光束。如 上所述,经反射的光束或者其一部分之后由光学获取系统120接收。图示的图像获取系统120包括图像传感器126和模拟-数字转换器(ADC)130。图 像传感器126包括由独立的光传感器或光探测器组成的像素阵列128。每个光传感器被称 为图像元(像素)。作为示例,图像传感器126可以包括构造为对从照明表面104反射的光 进行探测的、由16\16、30\30、50\50或128\96作6々)个独立光探测器组成的阵列。在 一个实施例中,导航传感器126产生对应于在像素阵列128处的反射光的光强度的多个电 信号。每个电信号对应于像素阵列128的一个图像元(或像素)。从导航表面104反射的 光束的至少一部分入射到像素阵列128上。在一个实施例中,光学元件114促进在像素阵 列128处的微观表面图像的分辨率。可选择地,光学元件114促进在自由空间导航环境中 更远的目标的分辨率。图像传感器126的像素阵列128以取决于传感器的帧(frame)的形式捕获图像信 息。图像信息的帧包括对于像素阵列128中的每个独立光传感器同时捕获的一组值。由像 素阵列128获取的图像帧包括表示导航表面104上的特征的数据。图像帧获取的速率和跟 踪分辨率可以是可编程的。在实施例中,图像帧获取速率可达2300帧每秒,并具有800个 测量点/英寸(CPI)。虽然提供了帧获取速率和分辨率的一些示例,但是可以预料到不同的 帧获取速率和分辨率。连接到数字信号处理器122的跟踪引擎125比较来自像素阵列128的连续图像 帧,以确定这些帧之间图像特征的运动。具体地,跟踪引擎通过对由像素阵列128所产生 的连续图像帧中存在的公共特征进行相关来确定运动。图像帧之间的运动由例如X和Y 方向中的运动向量(例如,ΔΧ和Ay)的形式表示。运动向量之后用于确定光学鼠标相 对于导航表面的运动。在题目为《NAVIGATION TECHNIQUE FOR DETECT INGMOVEMENT OF NAVIGATION SENS ORS RELATIVE TO AN OBJECT》的美国专利 5,644,139 以及题目为《METHOD OF CORRELATINGIMMEDIATELY ACQUIRED AND PREVIOUSLY STORED FEATUREINFORMATION FOR MOTION SENSING))的美国专利6,222,174中提供了对该导航传感器运动跟踪技术的示例的 详细描述,通过引用将它们都结合在这里。虽然在用户输入装置的背景中提供了许多这些 示例,但是类似的概念、结构和功能性可以被实施在更复杂的光学导航和跟踪装置中。模拟-数字转换器(ADC) 130将从导航传感器126的像素阵列128接收的多个电 信号从模拟信号转换为数字信号(例如,8-bit数字值)。模拟-数字转换器130之后将数 字信号传输到数字信号处理器122。在数字信号处理器122接收来自图像获取系统120的模拟-数字转换器130的数 字形式的电信号之后,数字信号处理器122可以使用数字信号来执行额外的处理。在一些 实施例中,通过存取存储在存储器装置(参见图2)上的信息,数字信号处理器122执行特定的功能。通常,存储器以各种形式存储指令、代码、程序、函数、算法和其他数据,来为数字 信号处理器122提供功能。存储器的一个示例示出在图2的跟踪引擎125内,在下文中对 跟踪引擎125进行描述。数字信号处理器122之后将一个或多个信号传输给微控制器110。从光学导航电 路108的数字信号处理器122传递给微控制器110的信号类型的示例包括基于ΔΧ和Ay 的相对位移值的通道积分信号。这些信号或者其他信号可以表示光学导航装置102相对于 导航表面104的运动,或者反之表示导航表面104相对于光学导航装置102的运动。可选择地,积分信号或其他信号可以表示光学导航装置102相对于自由空间导航 环境中的远的物体或表面的运动。数字信号处理器122的其他实施例可以将其他类型的信 号传递给微控制器110。在一个实施例中,微控制器110执行各种功能,包括将数据传递给 主计算机系统或从主计算机系统接收数据(未示出)。图2描绘了图1的光学导航装置102的跟踪引擎125的一个实施例的示意性框图。 通常,跟踪引擎125根据至少两个跟踪图像的比较来确定导航表面104的亚像素位移值。图 示的跟踪引擎125包括图像比较器131、亚像素近似引擎132、线性近似引擎133和存储器 装置134。亚像素近似引擎132包括3点峰值近似引擎135和非线性亚像素分布136。线 性近似引擎133包括舍入近似引擎137、直方图再分布引擎133以及补偿分布139。存储器 装置134包括补偿数据140。跟踪引擎125的其他实施例包括更少或更多组件,以执行更少 或更多功能。在一个实施例中,图像比较器131将两个或多个图像彼此比较,以确定图像之间 的相对运动。具体地,图像比较器131识别每个图像中的像素序列并根据每个图像中识别 出的像素序列的位置来确定图像之间的相对像素运动。用于识别像素序列和比较图像的各 种方法是公知的,并且因此在这里不进行更详细的描述。在一个实施例中,亚像素近似引擎132根据亚像素近似来产生中间亚像素位移 值。亚像素对依靠非线性亚像素分布进行近似,这意味着亚像素近似趋向于在整个亚像素 范围上不均勻地进行亚像素运动近似。例如,执行特定亚像素近似技术的3点峰值近似引 擎趋向于将亚像素运动更朝向亚像素范围的远端进行近似。所以,如果亚像素范围从-0. 5 像素跨越到+0. 5像素(在每个方向上一半像素),那么3点峰值近似引擎将更多的运动朝 向-0. 5和+0. 5的极端进行近似,并且将更少的运动近似到-0. 1到+0. 1的范围附近。图 4Α图示了根据三点峰值近似技术的亚像素近似的数据集的一个实施例的直方图150。在一 个实施例中,亚像素近似引擎132存储类似于图4Α的数据集的非线性亚像素分布136。亚 像素近似引擎132的一些实施例可以使用3点峰值近似引擎135以执行3点峰值近似算法 或其它类型的非线性亚像素近似算法,而其他的实施例可以使用非线性亚像素分布136以 执行亚像素近似。线性近似引擎133使用由亚像素近似引擎132产生的中间亚像素位移值,并根据 中间亚像素位移值产生最终亚像素位移值。具体地,舍入近似引擎137将中间像素位移值 舍入为具有具体数目个有效数字的经舍入的亚像素位移值。之后,直方图再分布引擎138 将经舍入的亚像素位移值分配给几个直方图单元条中的一个。直方图单元条具有单元条 值,该单元条值补偿由亚像素近似引擎132所使用的非线性亚像素分布136。图4Β图示了 在对中间亚像素近似进行舍入和再分布以实现依据基本线性分布的亚像素近似之后的亚用于非线件分布 的单元条值
像素近似的数据集的一个实施例的直方图152。其实,直方图再分布引擎138将单元条值从非线性亚像素分布重新分布为对应于 基本线性亚像素分布的新的单元条值。表1示出了亚像素近似如何可以从非线性亚像素分 布被重新分配给新的单元条值以产生基本线性的亚像素分布的一个实施例。表1亚像素分布值单元条编号123456789
-0. 50 彡 -0. 45 ^ -0. 40 ^ -0. 35 彡 -0. 30 彡 -0. 25 彡 -0. 20 彡 -0. 15 彡 -0. 10 彡
χ < -0. 45 χ < -0. 40 χ < -0. 35 χ < -0. 30 χ < -0. 25 χ < -0. 20 χ < -0. 15 χ < -0. 10 χ < -0. 05 10
11 12
13
14
15
16
17
18
19
20
-0. 05 彡 χ < 0. 0 0. 0 ^ χ < 0. 05 0. 05 ^ χ < 0. 10 0. 10 ^ χ < 0. 15 0. 15 彡 χ < 0. 20 0. 20 ^ χ < 0. 25 0. 25 ^ χ < 0. 30 0. 30 ^ χ < 0. 35 0. 35 彡 χ < 0. 40 0. 40 彡 χ < 0. 45
用于线件分布 的单元条值 -0. 50 彡 χ < -0. 47 -0. 47 彡 χ < -0. 44 -0. 44 彡 χ < -0. 41 -0. 41 彡 χ < -0. 37 -0. 37 彡 χ < -0. 32 -0. 32 彡 χ < -0. 27 -0. 27 彡 χ < -0. 21 -0. 21 彡 χ < -0. 15 -0. 15 彡 χ < -0. 08 -0. 08 彡 χ < 0. 0 0. 0 ^ χ < 0. 07 0. 07 ^ χ < 0. 14 0. 14 ^ χ < 0. 20 0. 20 ^ χ < 0. 26 0. 26 ^ χ < 0. 31 0. 31 ^ χ < 0. 36 0. 36 ^ χ < 0. 40 0. 40 ^ χ < 0. 44 0. 44 ^ χ < 0. 47 0. 47 ^ χ < 0. 50
更少的近似被分配给外侧的单元条,
0. 45 ^ χ < 0. 50 从表1中图示的示例重分布数目可以理解, 更多的近似被分配给内侧单元条。例如,与分配约0. 0到约0. 05之间的亚像素近似值相 比,所有的在0. 0到0. 07之间的亚像素近似值都被分配给单元条11。因此,直方图再分布 引擎138将更多亚像素近似值分配给单元条11。同样,与分配约0. 45到0. 50之间的亚像 素近似值相比,只有在0. 47到0. 50之间的亚像素值被分配给单元条20。因此,直方图再分 布引擎138将更少的亚像素近似值分配给单元条20。这种分布有助于在亚像素近似的整 个范围上对近似进行均衡,使得作为结果的亚像素近似更线性地分布。以此方式,舍入和再 分布补偿了非线性亚像素分布,该非线性亚像素分布由亚像素近似引擎132使用或由其产 生。这导致对应于基本线性近似分布的最终亚像素位移值。在一些实施例中,线性近似引 擎133存储特定的补偿分布数据集,补偿分布数据集用在对由亚像素近似引擎132所产生 的近似值进行舍入和再分布的处理中。 此外,跟踪引擎125的存储器装置134可以存储补偿数据,诸如非线性亚像素分布136和/或补偿分布139。在一些实施例中,存储器装置也可以存储一个或多个算法,例如, 来执行用于图像补偿、3峰值点近似、舍入以及直方图重分布的功能。应该注意,舍入近似引擎137和直方图再分布引擎138的功能的至少一部分可以 根据在光学导航装置102的工作之前获得的数据。更具体地,舍入近似引擎137和直方图 再分布引擎138可以使用在构造或校准步骤中获得的数据。图3图示了导航表面104的两个图像之间相关的一个实施例的图示。图示的相关 图示了基础窗口 141、第一导航窗口位置142a、第二导航窗口位置142b、导航窗口位移144、 再基准距离146以及再基准阈值147。作为参考,基础窗口 141对应于每次图像传感器126获得导航表面104的图像的 时候被成像的像素值。在一些实施例中,基础窗口 141对应于128X96像素的像素阵列。基 础窗口 141的其他实施例可以具有其他像素阵列尺寸。导航窗口对应于来自基础窗口的基准图像的一组像素。虽然一些实施例可以使用 其他尺寸的导航窗口,但是作为一个示例,包括相应的像素的导航窗口的尺寸为50 X 50。在 一些实施例中,导航窗口小于像素阵列的面积的约25%,但导航窗口可以比像素阵列的面 积的约25%更大或更小。此外,导航窗口可以布置为矩形之外的形状。根据每次图像传感 器126获得新的基础窗口 141时定位的相应的像素,导航窗口可以从一个基础窗口图像移 动位置到下一个基础窗口图像。第一导航窗口位置142a指的是对应于特定像素值的基础窗口 141的一部分。第 二导航窗口位置142b对应于在随后的基础窗口图像内的相同的或类似的像素值。通过比 较包括第一导航窗口的基础窗口图像发现第二导航窗口位置142b。比较第一和第二导航窗 口位置142a和142b的位置,以计算导航窗口位移144。导航窗口位移144描述了光学导航 装置102与导航表面104之间的相对运动。在一些实施例中,导航窗口位移144包括X和Y 分量,以描述第二导航窗口位置142b相对于第一导航窗口位置142a的位置的改变的幅度 和方向。在一些实施例中,再基准距离146用于确定围绕基础窗口 141的边缘的再基准阈 值147。只要导航窗口像素值或在导航窗口内被成像的表面特征在基础窗口 141的再基准 阈值147内,则光学导航装置102继续使用相同的导航窗口。换言之,光学导航装置102继 续跟踪在导航窗口图像内的表面特征的运动,直到这些特征超出再基准阈值147并且与基 础窗口 141的边缘的距离处于再基准距离146内。光学导航装置102可以在现在的基础窗 口 141内识别新的导航窗口,以对导航窗口进行再基准。其他的实施例可以根据其它参数 进行再基准。图4A图示了根据3点峰值近似技术的亚像素近似的数据集的一个实施例的直方 图150。图示的直方图150包括约300000个样本数据点,其图示了 3点峰值近似技术趋向 于以非线性方式分配亚像素近似值。具体地,随着亚像素近似的值朝向直方图150左右两 侧极端的-0. 5到0. 5的值倾斜,数据表现出非线性趋势。图4B图示了在对中间亚像素近似进行舍入和再分配以实现依据基本线性分布的 亚像素近似之后,亚像素近似的数据集的一个实施例的直方图152。在图示的实施例中,直 方图152图示了在将与图4A的直方图150相同的数据经过舍入近似引擎137和直方图再 分布引擎138调整之后的数据。因为在直方图150上的较小的像素位移数据点被校正为线性的而不是朝向外部的-0. 5和+0. 5值倾斜,所以经调整的数据中的线性趋势减小了导航 窗口之间的每个位移测量中的误差。应该注意,虽然直方图152图示了 20个独立的单元条,但是可以调整沿着水平轴 分隔的单元条的数目,以确定亚像素近似的分辨率。例如,使用20单元条分隔产生精确到 约5%的像素尺寸的分辨率。因此,每个亚像素位移测量可以更精确。正因为与传统系统相比减小了每个位移 测量中的误差,所以也减小了在再基准阶段中存储的数据误差。因此,减小了在多次再基准 阶段中积累的误差。这种在多个再基准循环中积累的误差的减小也降低了光学导航装置 102对导航窗口进行再基准的速率。减小这些以及类似的误差促进了光学导航装置102的 精确度的总体改善。图5图示了使用光学导航装置(诸如图1的光学导航装置102)进行亚像素跟踪 的方法的一个实施例的框图。虽然结合图1的光学导航装置102描述了方法160,但是可以 以其他类型的光学导航输入装置实施方法160的实施例。在图示的方法160中,在框162处,图像传感器126根据在图像传感器126处探测 的光产生跟踪表面104的多个图像。在框164处,图像比较器131比较至少两个图像,以确 定跟踪表面104的亚像素位移值。根据在框164处的图像比较,在框166处,亚像素近似引 擎132基于根据非线性亚像素分布的亚像素近似来近似中间亚像素位移值。在一个实施例 中,亚像素近似引擎132使用3点峰值近似引擎135以产生中间亚像素位移值。在框168处,线性近似引擎133从中间位移值产生最终亚像素位移值。如前面所解 释的,线性近似引擎133根据补偿分布产生最终亚像素位移值,以补偿非线性亚像素分布。 在一个实施例中,线性近似引擎133使用舍入近似引擎137以及直方图再分布引擎138,以 产生最终亚像素位移值。之后,图示的方法160结束。虽然这里以具体顺序示出并描述了( 一种或多种)方法的操作,但是每个方法的 这些操作的顺序可以改变,使得特定操作可以以相反的顺序执行或者使得特定操作可以至 少部分地与其他操作一同执行。在另一个实施例中,可以以间歇的和/或交替的方式来实 施各个操作的指令或子操作。图6图示了光学导航装置170的另一个实施例的示意性框图,其包括两个图像传 感器126以跟踪旋转。虽然图1的光学导航装置102的实施例能够跟踪导航表面104的二 维运动,但是图1的光学导航装置102可能不能跟踪导航表面104的旋转。但是,通过将两 个图像传感器126包括在图6的同一光学导航装置170中,光学导航装置170除了二维跟 踪之外还可以执行旋转跟踪。其他的实施例可以包括多于两个图像传感器126和/或执行 另外的线性或旋转运动的跟踪。图7图示了具有用于跟踪打印介质174的运动的光学导航装置102的打印机172 的一个实施例的示意性框图。随着打印介质174(例如,纸)移动通过光学导航装置102的 图像传感器126,跟踪引擎(参照图1)在打印操作中可以精确地跟踪打印介质174的亚像 素位移。图8图示了全球定位系统(GPS) 176的一个实施例的示意性框图,其具有用于跟踪 全球定位环境中的目标178的运动的光学导航装置102。在一些实施例中,光学导航装置 102可以用于提供GPS信息,或者可选择地,当GPS信号不可用时跟踪运动参数。换言之,在GPS的功能失效时,光学导航装置102可以跟踪移动参数,以跟踪人员、车辆或其它运动 目标的速度、方向、位置或其他运动参数。光学导航装置102可以使用表面导航(即,近场 导航)或场景导航(远场导航),以跟踪目标178的相对位置,由此确定全球定位环境内的 光学导航装置102的相对运动。例如,光学导航装置102可以通过对地面进行成像来跟踪 汽车相对于地面的运动。在另一个示例中,光学导航装置102可以在轮胎旋转时为轮胎成 像。地面或轮胎的运动可以被进行相关,以指示车辆行进的速度或方向。在另一个示例中, 飞机内的光学导航装置102可以为地面成像并判断飞机的方向、速度或其他运动参数。这 种参数可以与GPS信号一同使用或代替其使用。在上述描述中,提供了各种实施例的具体细节。但是,可以在没有这些具体细节的 状态下执行一些实施例。在其他情况下,为了简短和清楚,仅以能够实现本发明的各种实施 例的细节描述了特定的方法、步骤、组件、结构和/或功能。本发明的实施例可以采用含有硬件和软件要素的实施例的形式。在一个实施例 中,本发明至少部分地实施为软件,包括但不限于固件、驻留软件、微码等。此外,本发明的实施例可以采用计算机程序产品的形式,其能够从计算机可使用 或计算机可读的介质提供由计算机或任何指令执行系统使用或与其结合使用的程序编码。 为了本说明的目的,计算机可用或计算机可读介质可以为任何设备,可以容纳、储存、通信、 传播或传送由指令执行系统、设备或装置使用或与其结合使用的程序。计算机可用或计算机可读介质可以为电的、磁的、光学的、电磁的、红外线的或半 导体系统(或设备或装置)或传播介质。计算机可读介质的示例包括半导体或固态存储器、 磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘以及光盘。 光盘的当前示例包括具有只读光盘存储器(CD-ROM)、可以读/写的光盘(CD-R/W)以及数字 视频光盘(DVD)。应该注意,用于本方法的操作的至少一部分可以使用存储在计算机可使用的存储 介质上以由计算机执行的软件指令来执行。例如,计算机程序产品的实施例包括计算机可 使用的存储介质,以存储计算机可读程序,其中当计算机可读程序在计算机上执行时,其使 得计算机执行操作以促进亚像素范围内的绝对跟踪。该操作可以包括比较跟踪表面的两个 图像的操作。该操作也可以包括对跟踪表面的两个图像之间的相关的中间亚像素位移值进 行近似的操作,其中,中间亚像素位移值根据非线性亚像素分布。该操作也包括根据用于对 非线性分布进行补偿的补偿分布来从中间亚像素位移值产生最终亚像素位移值的操作,其 中中间亚像素分布和补偿分布的结合产生基本线性分布。其他实施例可以执行其他的操 作。虽然已经描述并图示了本发明的特定实施例,本发明不限于描述并图示的具体的 形式或组件的布置。本发明的范围由权利要求及其等价权利要求所限定。
1权利要求
一种光学导航装置,包括图像传感器,其包括像素阵列以产生与像素阵列处的入射光对应的多个跟踪图像;以及跟踪引擎,其连接到所述图像传感器,所述跟踪引擎构造为根据至少两个所述跟踪图像的比较来确定跟踪表面的亚像素位移值,其中,所述跟踪引擎包括亚像素近似引擎,以根据亚像素近似、按照非线性亚像素分布来产生中间亚像素位移值;以及线性近似引擎,以从所述中间亚像素位移值来产生最终亚像素位移值。
2.根据权利要求1所述的光学导航装置,其中,所述线性近似引擎还构造为按照补偿 分布来产生所述最终亚像素位移值,以补偿由所述亚像素近似引擎所使用的所述非线性亚 像素分布。
3.根据权利要求2所述的光学导航装置,其中,所述亚像素近似引擎包括3点峰值近似 引擎,以产生所述中间亚像素位移值。
4.根据权利要求3所述的光学导航装置,其中,所述线性近似引擎包括舍入近似引擎,其将所述中间亚像素位移值舍入为具有特定数目个有效数字的经舍入 的亚像素位移值;以及直方图再分布引擎,其连接到所述舍入近似引擎,所述直方图再分布引擎构造为将所 述经舍入的亚像素位移值分配到多个直方图单元条中的一个,其中,所述多个直方图单元 条具有对由所述亚像素近似引擎所使用的所述非线性亚像素分布进行补偿的单元条值。
5.根据权利要求4所述的光学导航装置,还包括存储器装置,以存储在所述光学导航 装置的跟踪操作之前的构造阶段中获得的补偿数据,其中,所述舍入近似引擎和所述直方 图再分布引擎构造为使用所述补偿数据。
6.根据权利要求1所述的光学导航装置,其中,所述跟踪引擎还构造为使用所述最终 亚像素位移值来执行绝对基准。
7.根据权利要求6所述的光学导航装置,其中,所述跟踪引擎进一步构造为执行所述 绝对基准用于二维导航。
8.根据权利要求6所述的光学导航装置,还包括第二图像传感器,其连接到所述跟踪 引擎,其中所述跟踪引擎还构造为从所述第二图像传感器接收额外的跟踪图像并且执行所 述绝对基准用于多维导航,其中,所述多维中的至少一者包括旋转维度。
9.根据权利要求1所述的光学导航装置,其中,所述像素阵列包括布置成行和列的第 一数目的像素,其中所述跟踪引擎还构造为以包括第二数目的像素值的导航阵列为基准,其中,所述导航阵列中的像素值的所述第二数目少于所述像素阵列中的像素的所述第一数目。
10.根据权利要求9所述的光学导航装置,其中,所述跟踪引擎还构造为响应于判定 所述导航阵列离所述像素阵列的边缘处于阈值数目的像素内,将所述导航窗口再基准到新 的基础窗口。
11.根据权利要求9所述的光学导航装置,其中,所述导航阵列小于所述像素阵列的面 积的约25%。
12.根据权利要求1所述的光学导航装置,其中,所述光学导航装置集成在用于打印应用的监视器中,其中,所述跟踪引擎还构造为在打印操作过程中精确地跟踪打印介质的亚 像素位移。
13.根据权利要求1所述的光学导航装置,其中,所述光学导航装置集成在用于全球定 位系统的监视器中,其中,所述跟踪引擎还构造为精确地跟踪在所述全球定位系统的视野 内的目标的亚像素位移。
14.一种用于以光学导航装置进行亚像素跟踪的方法,所述方法包括 根据在图像传感器处探测到的光来产生跟踪表面的多个图像;并且比较至少两个所述图像来确定所述跟踪表面的亚像素位移值,其中,确定所述跟踪表 面的所述亚像素位移值的步骤包括按照非线性亚像素分布、根据亚像素近似来对中间亚像素位移值进行近似;以及 按照补偿分布来从所述中间亚像素位移值产生最终亚像素位移值,以补偿所述非线性 亚像素分布。
15.根据权利要求14所述的方法,其中,所述对中间亚像素位移值进行近似包括根据3 点峰值近似来产生所述中间亚像素位移值。
16.根据权利要求14所述的方法,其中,按照所述补偿分布来产生所述最终亚像素位 移值包括将所述中间亚像素位移值舍入为具有特定数目个有效数字的经舍入的亚像素位移值;以及将所述经舍入的亚像素位移值分配到多个直方图单元条中的一个,其中所述多个直方 图单元条具有补偿所述非线性亚像素近似的单元条值。
17.根据权利要求14所述的方法,还包括使用所述最终亚像素位移值来执行绝对基准;以及响应于判定所述导航阵列离所述像素阵列的边缘处于阈值数目的像素内,来将导航 窗口再基准到新的基础窗口,其中所述新的基础窗口包括具有第一数目的像素值的像素阵 列,所述导航窗口包括所述新的基础窗口中的所述第一数目的像素值的子集。
18.一种计算机可读存储介质,其存储可由数字处理器执行的机器可读指令的程序,以 执行操作来促进亚像素范围内的绝对跟踪,所述操作包括比较跟踪表面的两个图像;对所述跟踪表面的两个图像之间的相关的中间亚像素位移值进行近似,其中所述中间 亚像素位移值根据非线性亚像素分布;并且按照补偿分布来从所述中间亚像素位移值产生最终亚像素位移值,以补偿非线性亚像 素分布,其中所述中间亚像素分布和所述补偿分布的结合产生基本上线性的分布。
19.根据权利要求18所述的计算机可读存储介质,其中,对所述亚像素位移值进行近 似的操作包括根据3点峰值近似来产生所述中间亚像素位移值的操作。
20.根据权利要求18所述的计算机可读存储介质,其中,产生所述最终亚像素位移值 的操作包括以下操作将所述中间亚像素位移值舍入为具有特定数目个有效数字的经舍入的亚像素位移值;以及将所述经舍入的亚像素位移值分配到多个直方图单元条中的一个,其中所述多个直方图单元条具有补偿所述非线性亚像素近似的单元条值。
全文摘要
本发明涉及亚像素范围内的绝对跟踪。一种用于在亚像素范围内进行绝对跟踪的光学导航装置包括图像传感器和跟踪引擎。图像传感器包括像素阵列,以产生多个跟踪图像。跟踪图像对应于在像素阵列处的入射光。跟踪引擎根据至少两个跟踪图像的比较来确定跟踪表面的亚像素位移值。跟踪引擎包括亚像素近似引擎和线性近似引擎。亚像素近似引擎依照非线性亚像素分布、根据亚像素近似来产生中间亚像素位移值。线性近似引擎从中间亚像素位移值产生最终亚像素位移值。
文档编号G01C21/00GK101900557SQ201010003019
公开日2010年12月1日 申请日期2010年1月6日 优先权日2009年1月6日
发明者林珲滕, 谭惠梦 申请人:安华高科技Ecbu Ip(新加坡)私人有限公司