CN103870026B - 具有游标旋转能力的光学鼠标、仪器、移动检测器与方法 - Google Patents

具有游标旋转能力的光学鼠标、仪器、移动检测器与方法 Download PDF

Info

Publication number
CN103870026B
CN103870026B CN201310656260.XA CN201310656260A CN103870026B CN 103870026 B CN103870026 B CN 103870026B CN 201310656260 A CN201310656260 A CN 201310656260A CN 103870026 B CN103870026 B CN 103870026B
Authority
CN
China
Prior art keywords
instrument
motion vector
tracked
motion
vector
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.)
Active
Application number
CN201310656260.XA
Other languages
English (en)
Other versions
CN103870026A (zh
Inventor
李文杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CN103870026A publication Critical patent/CN103870026A/zh
Application granted granted Critical
Publication of CN103870026B publication Critical patent/CN103870026B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0304Detection arrangements using opto-electronic means
    • G06F3/0308Detection arrangements using opto-electronic means comprising a plurality of distinctive and separately oriented light emitters or reflectors associated to the pointing device, e.g. remote cursor controller with distinct and separately oriented LEDs at the tip whose radiations are captured by a photo-detector associated to the screen
    • 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
    • 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/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03543Mice or pucks

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供具有游标旋转能力的光学鼠标、仪器、移动检测器与方法。该仪器至少包含有:一个移动装置,被置于与参考表面相对的位置上,在该参考表面上有多个被追踪物体;一个空孔;至少一个光检测器;以及至少一个光源;该仪器利用至少一个光检测器产生一个图像框,该图像框由电子像素图像代表,在该像素图像里有一些被追踪物体的图像;该仪器从图像的变化里产生出被追踪物体的概括笼统的运动向量;该概括笼统的运动向量被解析出平移运动以及旋转运动的部分。本发明的仪器能迅速且准确地将与上述的运动相关的位移运动向量与旋转运动向量传达至电脑的显示屏幕或其他显示器上,借以控制显现在该电脑或该显示器上的游标的移动。

Description

具有游标旋转能力的光学鼠标、仪器、移动检测器与方法
技术领域
本发明涉及一动作导航器(Motion navigation device)有关,可以用于一附带有图形显示器(Graphical display)的电脑或其他电子器材上使用。
背景技术
传统的光学鼠标通常是在一个表面上移动,该表面可以是一个桌子的表面或其它的表面;在操作时,传统的光学鼠标能够计算并且提供给予一个与其连接的电脑所需要的游标移动的向量(Translational motion vector;例如,位移量Δx,Δy;或者基于需要,该向量是某一种速度值),此一移动向量与该鼠标与该表面的相对位置有关。借由这些位移向量,一个电脑或是一个具有图案显示能力的仪器可以移动一个游标,或是移动一个在其它的画面(在本发明里也称之为图像)上显示出来的物体(Objects),甚至改变软件物件(Object)的状态(注意,在英文里,Object具有至少以下两种含意:(1)看得见或摸得到的物体,(2)软件的物件;所谓软件的物件,其意义为一个不一定有固定形体的、由软件的名词(例如:数字、字串,或变数等数据)与软件的动词(例如:函数Functions)所形成的一个组合)。值得注意的是,传统的光学鼠标仅能为电脑提供二维(2D)的平移运动,至于第三维(The third dimension),那是与鼠标本身的旋转运动有关。该第三维运动的功能是能以在屏幕上直接根据鼠标的旋转动作去旋转游标或者物件。传统光学鼠标并无法提供上述第三维的运动的参数给电脑使用,因此现今的电脑或电子器材的画面上所呈现的物件或游标并无法轻易地或直接地根据鼠标的旋转运动来旋转。
当电子工业走到了当今的世代,传统的光学鼠标的上述功能限制,已经不能再满足许多消费者的需求。有越来越多的应用程序在操作时,或是在以图案方式显现物体(该物体通常是软件物件输出的结果)时,需要使用三维的绘图法(3D perspective),对于此类的应用而言,其所呈现出来的物体的运动至少包括平移与旋转两种。举例来说,电脑绘图程序AUTOCADTM是一个被很多工程师与设计人员使用的工具程序,借由AUTOCADTM,工程师可以以三维写实(Three-dimensional realism)的方式来呈现(Render)出机械制图的零件(Mechanical parts drawings)。当AUTOCADTM程序的功能逐渐演进成具有3D绘图能力时,很多管子、阀件,以及用类似的写实绘图法所绘制的机械零件,都将需要在图形显示器(Graphical display)上随着操作员的指示(Instruction)迅速地、准确地旋转。不幸的是,由于传统的光学鼠标只有二维的功能(2D functionality),上述绘图法的改变(Perspective adjustment,例如,改变观察某物体的视角),并无法由传统光学鼠标来直接完成。更有甚者,即使操作员能在某表面上旋转上述的二维鼠标,其旋旋转作所得出的结果也无法有效地在电脑上发挥功能。
在当今电脑视觉工业(Computer vision industry)里,有一主要的目的、功能,是处理图形显示器(Graphical display)里的正在运动中的物体的动作。关于这一功能,相关从业者曾花费相当大的努力去分析视频(Video)或是图形显示器里的物件的动作(Motionanalysis);在这一领域里,一个典型的动作分析(Motion analysis),可以被粗略地分类为2D-2D,2D-3D,以及3D-3D几类。上述这些分类的不同,主要是来自于一种关联性,该关联性与移动检测器(Motion sensing device)与用来呈现欲移动的物件的呈像器材(Renderingdevice,例如,平面显示器(flat panel display))之间的关联性有关。不过值得注意的是,与近年来呈像器材(Rendering device)的长足进步相对比的是,在过去很长的一段时间里,电脑视觉工业只有花极少的努力在改良屏幕上的游标移动上,而改良上述的功能(借由改良游标移动器的功能来改良屏幕上的游标移动的动作),正是本发明的主要目标。
为了要能够清楚地了解到公知技术的缺点,以及将这些缺点与本发明做一比较,我们先从公式(1)开始说明。公式(1)能以解释一物体最基本的两种运动–平移运动与旋转运动。对于一个位于p的物体而言,它的直角座标位置是x,y,而这个地址亦可以表达为经过运动以后,这一物体的最终位置也可由平移与旋转运动决定出来(此时我们用字母M来代表旋转的操作)。
公式(1)里的代表平移位移(Translational displacement),M代表针对p这一点以及相对于x轴与y轴的旋转位移(Rotational displacement),S则代表沿着某一个轴所做的物体放大缩小(例如:x或y轴)。
传统光学鼠标无法提供像θx以及θy这样的参数(这些参数指的是针对某一个转轴旋转的参数),而且还同时满足另一要求—当在导出θx以及θy这样的参数时,其所使用的方法还必须是容易计算,可以被相关的公知技术接纳使用的。更直接明确地说,传统光学鼠标提所能供给电脑的运动向量(Motion Vector),只是平移向量而已(Translational motionvector)。如果我们把传统光学鼠标的局限用公式(1)来解读,上述的局限所要表达的意思是:传统鼠标只能操控d的数据,而不能操控M的数据(M=0)。当某一操作情况要求对一物体作一旋转运动时,M必须用其他方法来导出来。例如,当一个操作员要完完全全地以一个三维(Fully3D)运动的方式来旋转某一个物件时(这一情况可以用旋转一个正在运动中的球体来想象),由于传统的光学鼠标所提供的只是二维(2D)运动向量,此时该二维运动向量就必须持续不断地被电脑拿来重新计算,以便求出该球体在沿着某一路径运动时一组一组的旋转角度θx以及θy。这个计算θx以及θy的过程并非如一般人所想象的那么简单,该方法是先指定一个(通常是程序预定的)转轴,再针对该球体运动轨迹的每一点,运算而得来的。其整个运算过程是以两个连续的步骤完成的:首先,电脑的程序在经过某种指令的指示以后,不再把从传统光学鼠标传送来的运动向量(Motion vector)当作为平移向量(Translationalmotion vector)来使用;通常这一步骤可借由按下鼠标上某一特殊按键来完成。第二个步骤是——鼠标可以根据指示,为该旋转物体指定一旋转轴,有了固定的旋转轴以后,电脑能够根据其所收到的平移向量(Δx,Δy)计算出针对该旋转轴的旋转向量(Rotationvector)。理所当然的,介于该转轴与游标之间的距离,会对旋转角度θx以及θy有重大的影响;即使是针对相同的鼠标位移量(Δx,Δy)而言,选择不同的转轴点(Pivot)仍然会导致不同的θx以及θy。值得注意的是,通常转轴点是不会显示在显示器上的。因此,操作者很容易忽略它们的存在,更有甚者,当程序在持续进行时,转轴点(Pivot)有可能会不断地变换位置。举例来说,当某操作员将鼠标移到一个显示在3D屏幕上的吊车上时,电脑程序所选择的转轴点(Pivot)会自动地随着该鼠标的游标的游移而改变,这将导致吊车臂的旋转动作有所改变。因为当转轴点(Pivot)位置有所改变时,即使是使用相同的二维鼠标游标移动参数,其所求出的旋转运动向量仍然不同。因此,传统光学鼠标的操作者很容易就被持续不断的功能的转变的结果给弄混掉。
另一个有关二维鼠标使用在三维世界时所呈现出来的功能不足的例子,是与角色扮演型的游戏(Role-playing games)有关(此处的角色扮演型游戏泛指所有与动画有关的应用);此种游戏近年来逐渐广受欢迎。我们可以考虑以下的想象的动画游戏,该游戏的某一个连串的画面(Sequences)可能与迪士尼的(或类似的)人物有关。在一个想象的场景(Scenario)里,小飞侠彼得潘(Peter Pan)正在与虎克船长(Captain Hook)战斗。虎克船长比彼得潘高,虎克船长的剑也比彼得潘的匕首长很多。为了对抗虎克船长,彼得潘必须很机灵地、很敏捷地使用他的匕首。当虎克船长的剑刺入时,毫无疑问地,所有的操作者应该都会指示彼得潘挥舞他的匕首,并且用跳跃的方式(Hopping)闪躲虎克船长的剑。而要挥舞该匕首,操作员就必须下达旋转指令(Rotational instruction);如果要跳跃,则该操作员必须提下达平移指令(Translational instruction)。不幸的是,当今电脑游戏并无法轻易地借由操作员操控一只鼠标,使得该电玩程序能以让彼得潘从一个角度到另一个角度地挥舞他的匕首;当然,彼得潘也无法按照一个三维的圆弧(3D arc)的路径,来环绕着虎克船长飞行。上述这些每一个孩子都期待不已的动画的战斗实例与动作,可以说是被传统光学鼠标的缺点而牺牲了。有关于类似这样的动作的局限,事实上是蔓延到所有的电脑辅助绘图艺术作品(Computer aided graphical arts)上的。也就是说,今天几乎所有由电子绘图艺术所产生的人物与动画(例如:Pixar的动画电影),都有动作死板如机器人的问题。它们缺乏那种几乎只有人的手臂、手腕才能产生的精致的动作与姿态。我们现在以图解的数学法,以及一些图案绘示的例子,来阐明公知技术遇到要将鼠标的动作转换成电脑屏幕的动作时,它所面临的缺失。
图1所示为三个被用来当作范例说明的被追踪物(Targeted objects,105,106,107)。它们均坐落于一桌面上,鼠标则在该桌面上游移,并且因此(在图像检测器里)产生了一系列(Successive)的被追踪物的位置(Positions)。为了简单说明起见,我们假设起先的时候,所有的这些被追踪物均坐落于某一圆110的圆周上,该圆具有一圆心108,而该时间为t0。在时间为t0时,上述所有的被追踪物(105,106,107)均同时出现在该图像检测器里。当时间移至下一个时间t1时,上述所有的被追踪物有了位移,但仍然均落在另一个圆上,我们定该圆为111,而且它的圆心为109。事实上,上述这些圆(110,111)应该被称为虚拟圆(Pseudo-circle),因为它们并非一个有形的物体,并且真的像上述的被追踪物一样安置于桌面之上。在本发明里,该(些)虚拟圆是用来作为一个架构,方便我们以代数以及几何的方法来分析被追踪物的运动用的。不过为了便于简化说明,我们从此之后即直呼这些虚拟圆为“圆”;除非遇到了某些特殊情况,需要强调这些圆不具形体时,我们才会有更进一步的说明。此外,在接下来的说明里,我们会把上述的几何分析(Geometrical analysis)再进一步指示为一种拓朴分析(Topological analysis),以便使得本发明说明更具精确性以及较为广泛的使用性。
图1里的画面101((Image frame)在本发明里画面亦可被称之为图像)是由图像检测器(Image sensor)的元件构成的,根据图1所显示的是,该画面是由一群像素(Pixel)以8×10的方式排成的矩形棋盘状所构成的;画面101里的各像素的纵坐标以数字表示,横坐标以英文字母标示。
当时间为t0时,上述该三个物体以黑色圆圈表示,其位置分别以105(t0),106(t0),以及107(t0)标示,而其在画面101里的位置,则分别是座于像素(C,2),(H,4),以及(D,7)。当时间到达t1时,上述该三个物体会移至新的位置,这些新的位置分别以105(t1),106(t1),以及107(t1)标示;此处我们假设上述该三个物体会位于同一个画面里。由于鼠标的移动,使得上述该三个物体,会在图像101里(在本发明里图像又称之为图像)移到新的位置上去,而且其移动量等于是经由一由任意组合比例的平移(T)与旋转运动(R)所完成的;其过程是,先把圆心从108经过平移运动(T)搬到109,如此使圆110变成了圆111,然后再以顺时针(Clockwise)的方向,以圆心109为轴,旋转圆111一定量旋转向量(R)。因此,我们可以把在上述画面里的总位移向量(Total displacement vector)分解成两个向量,亦即平移向量104(此处我们用一个箭头来代表,该箭头起自圆110的圆心108,终至圆111的圆心109),以及旋转向量112(此处我们使用圆110上的一个点105(t0)的切线向量来代表)。
当时间为t0时,物体105(t0),106(t0),以及107(t0)正坐落在圆110上,该圆的圆心被标示为108(在图中以小黑色点表示)。当时间移至t1时,上述该三个物体105(t0),106(t0),以及107(t0)会被移到新的位置上(此时我们假设它们仍然都还在画面101里),不过此时它们已经移到新的圆111的圆周上了,该圆的圆心位置为109(在图中以虚线点连成的小圆表示)。前述的向量104,也一如前所述,其实是一个由108画向109的圆心的平移位移向量。至于向量112,它也是被画成一个箭头,而它所描述的是105(t0)相对于画面的角位移量(Angular displacement)。此处值得注意的是,该向量112与圆110相切(Tangent);此外,针对小角度旋转运动而言,向量112的数值(在图中可以以箭头的长度表示)与圆的旋转运动的角速度(Angular rotation;通常以弧度Radian表示)以及圆的半径大小(Radius)的乘积值(Multiply product)呈正比(Proportional)相关关系。
当我们比较两个圆心108,109的像素地址(Pixel address)时,我们将发现这个“虚拟的物件”(我们称它为虚拟的原因是因为该圆以及其圆心都不会被图像检测器看到)只有从(E,4.5)搬到(F,4.5);相对于该画面,该圆并没有任何沿着Y轴的净运动(NetMotion)。也就是说,该两个圆心108以及109代表的,是该三个坐落于圆周上的被追踪物体(Targeted objects)的群体实体(Group entity),它们一直保持在4.5的水平线上。传统技术如果要做移动检测的话,只会在整个t0到t1的时间里,追踪各个物体(105),(106),以及(107)。传统技术还没有发展出如本发明所陈述的观念,以圆110(或111)这样的群体实体(Group entity)来定义被追踪物体。
当我们分析传统技术时,我们会锁定在三个具有真实形体的物体上,而不会去关注所谓的虚拟圆,我们会把物体105(t0)的净位移分解成一个平移向量(Translationalmotion vector)与一个旋转运动向量(Rotational motion vector),这两个向量将导致以下的动作和与其相关的描述:
(1)首先,物体105(t0)借由向量104,从它原先的像素位置(Pixel location;(C,2))移到一个暂时的位置(Intermediate position),我们将其称呼为“平移后的位置”(Translated position),并且以105(Trans)表示之。
(2)然后,该位于平移后的位置的物体105(Trans),再依循着旋转运动R,也就是向量112,移动到它的最终位置(E,1);该位置被称呼为”旋转后的位置”(Rotated position),它被标示成105(Rot)。
(3)最终物体105(Rot)的像素地址(Pixel address)是(E,1)。我们如果将该最终位置与起先的位置(Initial address)作比较,即可由其像素的坐标值的相减而得出该被追踪物体的净位移量(Net displacement):((E,1)–(C,2))=(2,-1);注意此处我们已经定义了E与C的数位地址的数值。
把上述使用在105上的技术方法,使用到物体106(t0)以及107(t0)上,我们可以得出106(t0)的位移向量是(1,-1),而107(t0)的位移向量是(0,-1)。
假如一个鼠标操作者没有很清楚地了解到旋转运动在上述的鼠标位移过程里所扮演的重要角色,那么存在于105(t0),106(t0)以及107(t0)之间的不同的位移量(亦即(2,1),(1,-1),与(0,-1))就变得相当难以了解了。使用传统技术的鼠标操作者并无法轻易地看出来,甚至体认到旋转运动在这个净运动里所扮演的角色,更别提还要以一个有系统的方法来使用它们了。在这种情况下,还不如就让旋转运动所造成的现象“消失在眼前”来得容易些。因此,公知技术里的鼠标,都是被制造成看起来只会作位移运动的鼠标,而且它们也就是被如此地对待的。为了要把上述的不能用的、不想用的旋转运动所造成的问题给包裹蒙混起来,传统技术会采取以下几个办法:
(A)只从一个很小的圆圈里去挑选几个物体作为被追踪物体(Object ofinterest),如此可使得圆圈110的半径变得很小,进而使得旋转运动向量(Rotationmotion vector)小到可忽略不计(旋转向量的大小与圆圈110的半径有关)。这个做法有一个缺点——当这些被追踪物体被挤在一个很小的空间里时,在鼠标的图像检测器所提取的画面里所看到的这些被追踪物体,很容易就成了彼此连成一体的物件。上述这个问题在遇到被追踪的桌子的表面型态是非常平坦的时候,即变得越趋严重。事实上,以下的现象是很多使用者共同拥有的经验——当一个表面是非常的平坦,或者该表面是一个白色的表面时,传统的光学鼠标变得极为容易故障(原因是画面里有许多光学现象所制造出来的物体的信号点与被追踪物体的信号点连在一起,不可分辨)。
(B)使用非常高的画面提取速率(例如>1000画面/秒),如此可以使存在于两张连续的画面之间的旋转运动向量变得较不易被检测出来(原因是角位移量变得很小)。这个方法的缺点是它将导致该鼠标的能量耗损(Power consumption)急速地上升。
(C)使用均质光源(Coherent light source,如激光(Laser))或者暗场(Darkfield)技术(此技术较与镜头与光圈设计有关),借以用来区别被追踪物与背景之间的差别。这些方法可以说是(A)的辅助方法,原因是均质光能使得传统鼠标在更小的区域里挑选它的被追踪物(亦即圆圈半径102变得更小)。一如众所预期的,激光光源是相当耗费能量的。
因此,任何一个使用者都可以从上所述传统鼠标非得需要使用权变的方法的这个现象,得出一个结论——传统光学鼠标技术并未发展出一个快速而且稳健的办法来求出旋转运动向量,并且进一步善加使用该旋转运动向量。
我们现在为以上的讨论作一个概括的陈述,并且进一步澄清有关鼠标动作的基本原理。从基本物理来讲,电脑鼠标是一个游标(或者其它软件物件)移动控制器。借由测量鼠标本身与一表面上具有可以辨识、追踪的物体之间的相对运动,鼠标提供了移动游标的功能。上述的(鼠标的)动作被传到电脑上,然后再转换成图形显示器的屏幕上某物件的动作。虽然传统的鼠标的动作里通常都含有平移与旋转的成分,传统的鼠标并未发展出真正能实际执行的方法来辨识出,或者是计算出旋转运动的成分。因此,这些自然存在的旋转运动实际上都是被忽略的,当鼠标送出数据给电脑时,其所送的数据一概是平移运动的数据。为了要使这种刻意制造的假像不至于造成游标的移动状态与鼠标真正移动的状态有过大的差距,传统鼠标必须要使用某些特定的方法来操作,以便将两者之间的歧异压至最低,凡是不能与平移运动有彼此对应的效应,全都当成噪声来处理。
当讨论到一个游标移动控制器的定位准确性时,公知技术通常会提到两个参数——SQUAL以及dpi。SQUAL(Surface QUALity)是指一个表面的图像里可被辨识出来作为被追踪物体的像素的数目。至于dpi(Dot per inch),则是指一个表面的图像在一英寸的距离内能被某鼠标解析出来的点数(Resolution)。
SQUAL参数是一个常被鼠标工业引用的参数。它代表一个鼠标所置放的表面的品质(亦即可辨识物件的存在情况有关)。例如,当某鼠标置于一平滑表面,其所得出的SQUAL值就会很低;而如果该鼠标被置于粗糙的表面,则其SQUAL值就会很高。一个SQUAL值比较低的表面(例如:光泽的、平坦的,或白色的表面),它的dpi值也比较低;同理,一个SQUAL高的表面,它的dpi值也会比较高。理所当然的是,从一个dpi较高的表面量测所产生的移动向量(Motion vector),它的能提供给一个游标或是图形化的物件的定位的精确度(Positionalaccuracy),也是比较高的。不过这里有一个问题是传统鼠标工业没有解答的,那就是到底该移动向量与一特定的SQUAL值之间的关联是什么,而该关联又如何进一步影响到导航器的定位准确性?这些都是传统鼠标工业未能回答的。
发明内容
为达到上述目的,本发明公开一组数学计算方法以及数个实施例,这些实施例都是为执行上述的数学方法而设计的。借由上述的方法与仪器(Device),本发明的仪器得以在一个桌面上游移(Navigate),并借由此游移的运动,产生出一相对于该仪器之间(Relative to the device)的相对运动(例如:一向量Displacement vector)。此种相对运动的数值可借由量测一组坐落于桌面的目标追踪物的位置而得出,而且该量测法是可以被广泛使用的(泛用型)。比如说,这些目标追踪物可以是一群或一个多彩的物体;或者是这些物体在桌面上投射的阴影(Shadow)等等,它们的运动向量都可以借由该泛用型的量测方式测量而得出。更进一步说明,本发明所使用的泛用型的量测方式,可以将上述每一次的解算过程里求出的移动向量定义成总和向量(General motion vector),然后再将其分解成平移(Translational)与旋转(Rotational)向量,而且这些向量分别与该总和向量里的线性与非线性部分有关。经由此方法,操作者的动作就可以借由求出该游移(Navigate)于桌面的鼠标的相对运动而求出来。此种相对运动,其实就是借由鼠标游移过桌面时,拍摄桌面上的目标追踪物的相对运动(指的是相对于该鼠标)而求出来的。此一相对运动可以被快速地解析(Decompose)成平移与旋转项,这一解析的结果,即可进一步转化成其它的数值,因此可以用来很敏锐地,很精确地控在屏幕上与该鼠标的运动相对应的图像的运动。
基于以上的说明,我们将可以了解到本发明的导航器的性能优于传统的鼠标,这主要是因为它可以快速而且准确地求出平移(Translational)与旋转(Rotational)运动向量(Motion vector);我们将进一步证明该旋转向量其实是与鼠标位移向量(Displacementvector)里的非线性项有关。有关于这个方面,传统鼠标工业并没有针对此问题发展出来一个有效的方法来辨识出这些(非线性)项目,甚至使用这些项目,或者是去除这些项目。此处值得注意的是,如我们之前所述,公知技术只是去找方法去“忽略掉”这些非线性项的存在。例如,公知技术会设法缩小该圆圈(一个假设的几何物件),或者是减小时间间隔,使得在一固定量测时间里旋转运动的量降得比较低(例如:把每秒拍摄的照片数量设成一秒数千张)。因此,在公知技术里,存在于位移(Displacement)向量里的非线性的项目一般都是要设法去除的;公知技术并未设法善加利用这些非线性的项目。过去的鼠标工业会针对某些应用,直接地限制使用者只能在一定范围内的SQUAL情况下使用鼠标,这等于是鼠标工业向使用者承认,它并无法提供一个有效的方法去区别线性项与非线性项,更遑论要去善加利用该非线性项了。上述这些与传统鼠标的结构功能与计算方法不同之处,正好是本发明的目的。
上述所谓的解析总位移向量的方法(如果情况需求的话,除了该方法外,还可能加上某种解析与其运动关联的向量的方法),可以借由比较一连串的图像而求出;这些图像是在该移动检测器于该桌面上移动时所拍摄而得的。为了方便讨论,这些图像一般都是以像素区块(Pixel block)来表达的;有时候这些像素区块的数据是由一个光电检测器(Optical electronic sensor)取得的,有时候这些像素区块的数据是由数个光电检测器(Optoelectronic sensor)取得的;有些光电检测器只对某种单色光敏感,有些光电检测器可以对多种颜色光敏感。在一连串的画面里(Successive image frame),我们可以借由数值解算法(Metrical)或拓朴法(Topological,或几合法(geometrical))来分析像素的移动(Pixel movement),这些分析法主要是考虑两方面来进行:(1)画面里由实体物体的行动造成像素移动的部分;(2)画面里由光学效应所造成的像素的移动的部分。在本发明里,由上述该实体物体的行动造成像素移动的部分,以及由光学效应所造成的像素的移动的部分所结合起来的位移,被称为是一种概括笼统的移动位移(Lumped motion vector),因为传统鼠标在求算位移时,并无法分辨各成分的来源。在本发明里我们将从上述的概括笼统的移动位移数据里,分别提取出平移位移的部分以及旋转位移的部分。请注意在此后的本发明说明文里,有关拓朴这个名词与几何这个名词经常是交互使用的。一般而言,我们会是在一个几何系统(Geometrical system)里,应用拓朴的分法。我们可以这样说,拓朴的方法是一种不需要靠量测物体之间的距离的分析的方法,它主要是依靠物体之间几何的分析以及形状的关系。
电子图像信号其实是离散分布于光电检测器里的的各个像素里的。这些与图像有关的信号的数值,可以更进一步借由离散傅立叶转换(Discrete FourierTransformation)转换成频率的画面,借由此种在频率画面与相素画面之间所作的转换,不同层次的架构的图像,可以显现在不同频率范围的频谱空间(Frequency space)里;因此,它们就可以被解析出来。本发明也提供一种对一系列的像素区块(Blocks of pixels)比较彼此对称性的方法,此法得以使本发明相当稳定、准确的求出由各像素区块求算出来的移动向量之间的差异。除此之外,由于鼠标的实际移动以及一些光学的现象,可以使在某些情况下鼠标的图像比对的过程产生不一致、甚至冲突的结果,此时本发明可借由图像里的阴影的移动或者阴影的色彩(Coloring of shadows)来决定出移动向量。这些阴影是鼠标所拍摄到的图像里的物体投射于桌面呈现出来的阴影,它们与物体的图像一起组成最终的画面。借由上述的方法,本发明可以从一堆含有噪声以及旋转的信号里区分出来一种信息,该种信息只针对于某些群组的物体的形状,具有高敏感性。最后,为了克服有关于图像辨识的结果有可能具有不确定性的问题,本发明可以适时的使用模糊逻辑(Fuzzy logic)演算法。根据模糊逻辑演算法,本发明所作的决定是根据一种“倾向”,而不是单纯地只是依赖“是”或“不是”的答案来决定的。
为实施以上所述的方法,本发明的移动检测器(Motion sensing device,即传统技术所称的鼠标)会具有发光的功能以及感测光的功能。这些发光的元件可以是由单一光源(即单色光,Monochromatic)制作的,也可以是由多个光源(多色光,Polychromatic)制作的。当使用多个光源时,该(些)发光元件所发射出的光束具有不同的频率(Frequency,因此它们的波长(wavelengths)也不相同)。与此关联的是,此时的光感测元件,也是制作成能对平移(Translational)与旋转(Rotational)运动具有甚高的灵敏度(Sensitivity)。当一个操控上述移动检测器的手指产生了一个动作,即使该动作是一个甚小的平移(Translational)加/或旋转(Rotation)的运动,该整个移动检测器(包含这些光源与光检测器)也将随之与桌面之间产生一个甚小的平移(Translational)加/或旋转(Rotation)的运动。因此,该光感测器里所提取到的物件的图像,也将随之产生与桌面之间的相对位移(位置的改变)。此处所谓的位置的改变,可以再进一步分解成平移与旋转两个部分;而所谓的平移位移的部分,它是指该移动检测器线性运动的部分;所谓的旋转位移的部分,它是指该移动检测器非线性运动的部分。由本发明所公开的分解法所提供出来的(与传统鼠标比较起来)额外的运动信息,可被进一步转换成其他的信息,使得本发明的移动检测器(以及其相关使用方法)能以针对图形显示器里的物件,提供一种新的、(平移与旋转)分别独立的物件操控能力(Manipulating capabilities)。传统的光学鼠标对于上述这种额外的操控能力,过去都是忽略掉的,这使得传统的光学鼠标的使用者只能拥有二维(2D,2-dimensional)的平移移动检测能力。
虽然本发明的移动检测器提供的光学与数学方法具有高敏感性,偶尔检查一下SQUAL值以及dpi值仍然是有相当的好处的。例如,它们可以被用来当参考值,调整该光感测器每秒拍摄图像的张数(Frame rate),或者用来在其所拍摄的图像里,选择一些群组(Cluster),每一群组都是由数量或多或少的物件(Objects,在本发明里此类物件易被称之为被追踪物体)所组成的;而每一群组亦可与某一旋转轴心(Rotational pivot point)保持一个或近或远不同的距离(Greater or lesser distances)。因此,本发明的移动控制器可以满足电子与电脑工业的一个需求—提供一个新式的漫游控制器(Navigationdevice),该漫游控制器的外观的形状可以像一个新式样的鼠标,或者一个具有等同功能的游戏机控制器(Game console)等等;而其所具备的敏感的检测能力,使其能以检测使用者手指的姿势(Gesture),提供给电脑或电子仪器平移与旋转向量。对于未来使用本发明的元件设计者而言,有一点是很重要的,那就是了解到借由量测物体在图像里的像素的位置的改变,来代表物体在一表面上的运动的这种方法,其所得的结果将包含(至少)两种效应的结果;第一种效应是物体本身真实的运动所造成的像素的位置改变,第二种效应是一种由光学效应所造成的假象,它是由上述的(像素)量测方法所天生带来的瑕疵造成的,而其结果同样也可以造成像素的位置的改变。因此,以下我们将简明的介绍上述的物体实体运动,以及上述的光学效应,在造成像素的位移上,所扮演的角色。这样的介绍可以提供给我们一些背景知识,如果我们能了解它,也会有助于澄清上述的效应。
一个鼠标所使用的图像检测器(Image sensor),里面会含有为数众多的像素(Aplurality of pixels)。因此,当该图像检测器完成一整个图像拍摄过程以后(例如:快门(shutter)打开,然后关闭),我们可以指示各个像素的数据为I(x,y,t)。而上述该图像检测器的运动向量(速度)为,它亦可以表示为:
因此,我们会有以下的关系式
我们假设在极短的时间dt里没有改变,那也就是说
I((x+vxdt),(y+vydt),(t+dt))=I(x,y,t) (4)
如果鼠标的照明系统(例如:LED)的照光条件对于x,y,以及t而言,是一种缓和平滑的改变,则元件工程师可以把公式(4)用泰勒数列(Taylor series)展开的方式展开:
上式中的H.O.T.代表高次项(High Order Terms),例如项。
由于被追踪的表面(Targeted surface)的亮度(Brightness)在上述的过程里并无改变,我们就会有以下的关系
如果公式(6)用解析几何(Differential geometry)的型态来表示,它可以写成
上式中的是像素[x,y]的图像变化梯度(Image gradient)。
公式(7)被称作是光流约束方程(Optical flow constraint equation)。如果某工程师欲导出控制游标平移所需要的运动向量 (亦即:速度 (vx,vy)),他有很多方法可用;例如,他可以使用大家熟知的 Horn-Schunck’s method来分析像素画框(Pixel frame)里的像素的速度向量 (Velocity vector)。举例来说,在公知技术里,Horn-Schunck’smethod 就是一个经常用被到的图像处理方法。在本发明之前的段落里,我们有提到一个参数SQUAL,该参数是与被追踪的表面的粗糙度(Roughness of targeted surface)有关的。因此,SQUAL会影响到像素画框(Pixel frame)里的像素的速度(Velocity of pixels)。我们也因此借由以下的公式来定义某一被追踪物的表面与其期待的平滑的表面的情况之间的差异(Deviation)。
值得注意的是,SQUAL不仅与一表面的粗糙度有关,也与它的光学现况有关(例如:一张白色的纸的SQUAL值就会与一张香草颜色的纸的SQUAL值不一样)。因此,我们使用另一个参数ec来表达由于各种光学的现象所造成的“歧异”,其公式如下。
在实际的操作情况里,一个高功能的光学鼠标会希望能够使es以及ec的数值降至最低。因此我们可以用以下的公式来监控它们合并的数值
e=ec+λes (11)
在一个把像素排成格状的图像检测器里,对于其中的任意一个像素P(i,j)而言,与它四面相邻的像素分别是(i-1,j),(i+1,j),(i,j-1),以及(i,j+1)。所以,如果我们是用离散(Discrete)的表达法来表达平坦度数据es,就可以定义一个s(i,j)如下
至于光学现象的项次,它可以以离散的数学格式表达为
我们定E=s(i,j)+c(i,j) (15)
一个性能极高的鼠标会希望上述的E值越低越好(也就是说,它会去找E的最小值),亦即
此处的λ是一个权重因数((Weighting factor)类似意义的权重因数也出现在公式(11)与(12)里)。当我们把上述公式作微分时,就会得到
在上述两式子中的是vx与vy在局部区域的平均值(Local average)。因此,将公式(16)与(17)整理以后,我们可以得到
公式(18)与(19)说明的意思是:运动向量(vx,vy)可以由于受到照光的影响而持续不断地在修正,这是本发明的核心精神。对于一个本发明所公开的游标移动控制器而言,其中某一个像素P(x,y)的运动向量,即是遵照以下两公式来适时地、不断地调整的。
上述两式中的k的意义是由本发明的游标移动控制器所提取到的第kth张图像,k+1的意义是其第k+1th张图像。
公式(20)与(21)告诉我们以下的现象:
1.在一张图像里,一个像素的速度(Pixel velocity)是由两个现象合并以后造成的结果。第一个现象是由相关的物体的本身的运动造成的,第二个现象是光流(Opticalflow)造成的。
2.由于上述第一点所述的像素速度会受到很多因素的影响(例如:物体的运动以及光流等等),一个光学鼠标所量测到的像素速度是一个概括笼统的向量(Lumpedvector),该概括笼统的向量至少同时包含(Comprise)平移(Translational)与旋转(Rotational)两种成分在里面(例如:)。
3.公知技术并无法有效地从里提取出
4.在本发明里,上述的平移与旋转速度可以再被分解成线性(Linear)与非线性项次(Non-linear,例如,高次项(High order terms,H.O.T))。
5.在本发明里,我们定义所谓的高次项(H.O.T.)是与操作者的姿态、行为(Gesture behavior)有关的项。如之前描述所示,传统的技术使用的是以解算数值的方式来处理(例如:求算像素速度)问题的,这种方式遇到像以上数点的描述的情况,当要把一个向量分解成平移与旋转两个项的时候,就变得非常困难。本发明使用拓朴的方法来解决上述的问题。
光学鼠标的运作其实是一种与形状辨识(Pattern recognition)有关的技术,在这种工业里,主要有两种方法可以用来进行数位图像比对之用:解算法(以计算数值为基础的方法,metric)与拓朴法(或者可以广义的称之为几何分析法)。例如,像素区块比对演算法(Block matching algorithm,BMA)就是一个数值解算法,它可以用来评估两个由像素所构成的画面的相对距离(Relative distance),在公知技术里,一般的游标移动控制器就是用BMA这类的方法来比对数位图像的。
与数值解算法(Metric)不同的是,拓朴分析法(或称为几何分析法)并非建立于量测像素在画面里彼此之间的距离上,本发明所使用的拓朴分析法其所要分析的,是为数不只一个的被追踪物的像素群组(Clusters of pixels),它们彼此之间的拓朴关系或几何关系。由于各群组(Cluster)之间的几何关系并非固定一种形式,而且它们内含的像素还可以随鼠标的运动而不断的变化,我们遂将本发明所使用的方法称之为拓朴分析法,而不是将其称之为几何分析法,藉以区别拓朴与几何两者之间的不同。
本发明所使用的方法是整合(Integrate)上述数值解算法与拓朴分析法两种方法的。当本发明(的方法)使用到数值解算法的部分时,它会去找出一些在一连串图像画框(Image frame,在本发明里也称之为图像框)里都有出现的像素,并且量测它们的位置之间的距离。在使用拓朴分析法时,本发明会利用“虚拟圆圈”(Pseudo-circles)来当作分析的基础架构。上述的被追踪物的像素群组(Clusters of pixels),是刚好都落在该(些)虚拟圆圈的圆周上或其附近的。本发明所揭示的拓朴分析方法即是在分析/比较一张张图像画框里,这些坐落在虚拟圆上的群组(Clusterings)之间的拓朴关系;如果还可以执行再进一步的分析,本发明亦可以于初步拓朴分析执行完了以后,持续往下进行。借由整合以上所公开的数值解算方法以及拓朴分析法,本发明得以计算出一张张图像画框里的像素旋转位移,而且该方法计算得出的数值(角位移Angular displacement)可以包含非线性项,其阶数并非固定只有一种,端看本发明的实际需求而定。
对于传统技术的使用者而言,他们所熟悉的方法是使用BMA来解算数值,几何分析法对他们而言,似乎并不是一个直接的分析法。不过,拓朴分析法(属于几何分析法的一类)其实是一个效果相当强大的方法,而且当有旋转运动参与到整个运动里时,它可以弥补数值解算法的不足。本发明整合起来使用数值解算法与拓朴法,使其能够择其优点而用,避其缺点,达成一种平衡(优化的使用条件),这是本发明的一个特征。而这个特征之所以能如此地明显、有效,其实与我们选择上述的这些群组在该虚拟圆的位置有关,当这些群组以对称的方式坐落于该虚拟圆上时,该虚拟圆的圆心在图像里变成是一个不变点(Invariantpoint),这个不变点只会作平移运动,不会旋转。像这样一个以优化(Optimized)的方式来合并使用数值解算法与拓朴法的办法,能使本发明之方法广泛地使用于各种光学式(Optical sensing)的检测器(或方法)上,此时该光学检测器(或方法)就能够感测出一些精细的动作了,例如,这些动作可以是:手指以及手部的(精细的)姿态(Finger and handgestures)。
跟所有的计算法一样,本发明所公开的拓朴分析法具有一个最佳的使用效果范围。拓朴分析法一般不是一个很有效而且很精确的量测平移位移(Translationaldisplacement)的方法。为了应付这个问题,本发明使用像BMA这样的数值分析法来计算出总位移(该总位移被我们定义为是一概括笼统的位移Lumped displacement)。当上述概括笼统的位移被用数值解算法算出来了以后,我们再用拓朴分析法求出旋转位移的数值,甚至还求出包括更高次项的非线性位移的数值。我们使用概括笼统(Lumped)这个名词是为了要显示由上述的方法所计算出来的(数据)资料,它其实是一个把各种不同来源的数据合并起来(Group)的一种概括笼统型数据,对于各种数据,它只是不分异同地处理(合并)它们,既不计较、也不区分它们发生的来源。不过,尽管由BMA方法计算出来的位移数据会同时混有线性与非线性项,它们至终还是可以被分辨出来什么是平移的,什么是旋转的(亦即这两项一直存在,端看元件设计者有无有效且简洁的方法将其分离开来而已)。值得注意的是,BMA并非计算上述的运动位移唯一的方法,还有其它的方法一样可以计算出上述的概括笼统的位移数据。例如,我们可以使用比较器来比较在不同像素区块(Pixel blocks)里的各个像素的信号强度值。
在未来我们将会看到许多应用(或产品)均将得利于本发明所揭露的三维(3D)游标移动控制法或移动检测法。例如美国专利申请号US20130002555公开一种使用指纹(Fingerprint)的图像数据作为移动游标(Cursor)的方法与仪器(Device)。本发明可借由提供旋转运动向量,更进一步提升像这样的仪器的功能。因此,当本发明被使用于一个像US20130002555这样的光学式触控板时,其整个系统即变成一个2D-3D的系统(因为指纹检测器是一个二维2D的仪器,而被操控游移的物件是一个三维3D的物件)。当本发明把数值解算法与拓朴分析法衔接(Bridge)起来以后,其结果是——许多的电子仪器就就可以利用本发明的方法去检测手指/手的姿态(或与其相关精细的运动,例如体感运动)。
本申请提供了一种仪器,用来操控一个物件的位置,或者控制一个电脑或电子系统上的一种功能,该电脑或该电子系统与一显示器连接,该仪器至少包含有:
一个移动装置,该移动装置被置于与一参考表面相对的位置上,该移动装置与该参考表面之间具有一相对速度,在该参考表面上有多个被追踪物体;
一个空孔,该空孔形成在该移动装置之上或之内,该空孔经由一个开口朝向该参考表面;
至少一个光检测器,嵌于该空孔之内;
至少一个光源,嵌于该空孔之内;
该仪器能够利用该至少一个光检测器产生一个图像框,该图像框能够由电子像素图像来代表,该像素图像能够以数字的方式来代表被该至少一个光源照射的该参考表面的一个部分,在该像素图像里有一些该被追踪物体的图像;
该仪器能够形成多个如上所述的像素图像,而且所述像素图像与两种位置有对应的关系,第一种位置为所述被追踪物体相对于该参考表面之间的相对位置,第二种位置为该移动装置与该参考表面之间的相对位置;
该仪器能够比较上述图像框,借由数学解算的方式,以及/或者几何分析的方式,该仪器能够从这些图像的变化里,产生出这些被追踪物体的概括笼统的运动向量;
该概括笼统的运动向量能够被解析出平移运动的部分以及旋转运动的部分。
本申请还提供了一种方法,该方法根据一个漫游于一个参考面的仪器的运动来移动一个电子屏幕上的图像,或者打开或关闭一个由电脑控制的功能的方法,该方法至少包括:
提供一参考表面,该参考表面上有多个被追踪物体;
提供一仪器,该仪器能够改变其仪器本身与该参考表面之间的相对位置,该仪器上有一空孔,该空孔自其上的一个开口朝向该参考表面,该仪器上有至少一个光检测器以及至少一个光源,该光源的波长与该光检测器的灵敏度互相对应,该仪器形成一系列该参考表面一个部分的图像框,在所述图像框里,所述被追踪物体的运动被该仪器所追踪,所述被追踪物体的运动与该仪器相对于该参考表面之间的运动有关;
根据两个图像框决定出所述被追踪物体的一个概括笼统的运动向量;
将上述该概括笼统的运动向量解析成平移运动的部分以及旋转运动的部分;
将所述平移运动的部分与旋转运动的部分传输给该电脑或一个电子系统。
本申请还提供了一种用来做移动检测用的方法,至少包含:
取得第一多个图像,在该第一多个图像里含有第二多个被追踪物;
将该第二多个被追踪物分组成多个群组;
借由分析来自所述多个被追踪物所投射到所述图像里的光线的强度的变化,决定出各个群组的概括笼统的运动向量;
决定出一个被所述被追踪物群组共同使用的线性运动向量;
决定出数个被各个被追踪物群组使用的非线性运动向量;
使用所述线性运动向量以及非线性运动向量的数据,决定出一个电脑、电子系统或其他具有相似功能系统上的某一特定的功能的数值或状态。
本申请还提供了一种用来做移动检测用的仪器,至少包含:
一图像处理系统,该系统能够取得第一多个图像,在该第一多图像里含有第二多个被追踪物;
该图像处理系统能够将该第二多个被追踪物分组成多个群组;
该图像处理系统能够借由分析从该第二多个被追踪物所投射到该第一多个图像里的光线的强度的变化,决定出各个群组的概括笼统的运动向量;
该图像处理系统能还能够决定出一个所述被追踪物群组共同使用的线性运动向量;
该图像处理系统能还能够决定出各个被追踪物群组分别使用的非线性运动向量;
该仪器使用所述线性运动向量以及非线性运动向量的数据,决定出一个电脑、电子系统或其他具有相似功能系统上的某一特定的功能的数值或状态。
本申请提供了一种物件导航器(Object navigation device),该导航器可在一表面上移动,其所计算得出的导航数据可用于电脑或具有类似功能的图形显示器(Graphicaldisplay)上,或与上述仪器相关的使用方法上。借由上述这些仪器或方法,本发明得以完成一些特殊的操作。执行操作时,本发明的物件导航器可以在一个表面上移动(例如,桌子表面),而该导航器内部用来量测该移动动作的机制具有甚高的灵敏度(Sensitivity)与准确度(Accuracy)。持续操作时,控制本发明的物件导航器的操作者能够改变该物件导航器相对于该桌面上的被追踪物之间的相对位置,而上述的这些被追踪物(Targeted objects)是被安排在一个虚拟的圆圈(Pseudo-circle)上。经由上述的方法与仪器所得出的(导航)参数是一个概括笼统的移动运动参数。该概括笼统的移动运动参数(Lumped motion vector)可再借由解算的方法(Metrical method)与拓朴法(Topological method)进一步分解成两个部分,一部分与平移(Translational)有关,另一部分与旋转(Rotational)有关。本发明的物件移动控制器能迅速且准确地将与上述的运动相关的位移运动向量与旋转运动向量传达至电脑的显示屏幕或其他显示器上,借以控制显现在该电脑或该显示器上的游标的移动,或者操控一个三维(3D)的物件。为达到上述的操控目的本发明的物件移动控制器能针对该电脑的显示屏幕,或者是某特定显示器,提供平移(Translational)与旋转(Rotational)运动所需的数据,使其得以移动一游标(Cursor),或者操控一个具有三维(3D)特性的物体。此外,本发明所提供的旋转运动参数,也可以被分别地(Independently)用来引发(Trigger)电脑的某些动作。
简言之,上述的方法可以使得本发明所公开的高灵敏度移动控制器/体感检测器,在未来经由很多种不同可能的途径,发展出极多的应用。即使有一些现在还预想不到的仪器,在未来都有可能会被开发出来,并且使用到本发明所公开的方法,而且有时这些仪器的使用目的并不一定与电脑游标移动的控制有关(例如:动画型的游戏机的控制器,家电器材的控制器等等);尽管如此,上述这些仪器与使用方法,仍然属遵照本发明所公开的仪器或方法的精神而制作的,它们并未超过本发明的范围。
附图说明
图1所显示的是传统技术如何分析三个被追踪物的运动;传统技术假设该(三个被追踪物的)运动所造成的位移只有平移位移(Translational displacement)。当一个运动同时包含平移与旋转两种运动时,传统技术变的很难以了解、掌握整体运动的情况。
图2中的A图所显示的是一个使用本发明所公开的方法的移动检测器(Motiondetection device),该移动检测器使用单一光源,借由其光线该移动检测器在一个图像里显现出坐落于桌面上的多个物体。
图2中的B图所显示的是图2中的A图里所使用的移动检测器,在经过移动以后,其所追踪的多个物体在图像里的所产生的位移(Positional displacement)。
图2中的C图所显示的是图2中的A图里所使用的移动检测器,在执行旋转运动之前,其所追踪的多个物体与图像检测器、光源之间的相对位置。
图2中的D图所显示的是图2中的A图里所使用的移动检测器,在执行旋转运动之后,其所追踪的多个物体与图像检测器、光源之间的相对位置。
图2中的E图所显示的是本发明所追踪的多个物体,它们坐落于一个虚拟圆(“Pseudo”circle)的圆周(Circumference)上。
图3A所显示的是多个由被追踪物所组成的群组(Clusters),这些群组分别以一个点P”,Q”,以及R”来代表,而且这些代表群组的点坐落于一个虚拟圆(“Pseudo”circle)的圆周(Circumference)上,该虚拟圆以“C”来代表。
图3B所显示的是图3A里的由被追踪物所组成的群组(Clusters),在经过旋转以后,其用来代表这些群组的三个点旋转的动作。
图4A所显示的是本发明的一个实施例的仰视图(Underneath view),该实施例使用多个照光光源(Multiple illumination sources)。
图4B所显示的是图4A里所使用的仪器,经过运动以后,所产生的该仪器上的多个照光光源(Multiple illumination sources)与某一个被追踪物之间的相对位置(Relative position)的改变。
图4C所显示的是图4A里所使用的仪器的侧视剖面图(Side cross-sectionalview)。
图4D所显示的是当一道光线照射到桌面上的一的被追踪物的入射角改变时,其在桌面上所产生的阴影的长度,也将有所改变。
图4E所显示为当本发明的仪器使用单一光源时,某被追踪物与该光源之间的相对位置的关系。
图5A所显示为本发明的一个实施例的效果,该实施例所使用的光感测器(Opticalsensor)因为加上了彩色滤光器而使其景深(Depth of field)加长。
图5B所显示为传统的使用单色光图像检测器的元件结构,由于缺乏彩色滤光器,使其景深(Depth of field)变得相较于图5A的景深为短。
图5C所显示为一示范的例子。该例子所显示的是一个本发明所使用的图像检测器的俯视图(Top view)。在该图像检测器的像素的上方,涂敷着多个彩色滤光材料。
图6A所显示是一个示范的例子(第三实施例);在本示范例子里,由于有三个光源,所以一个被追踪的物体可以在桌子表面上,投射出三个阴影。
图6B所显示是一延续图6A的示范的例子(第三实施例)的说明;当一个在图6A里所示的仪器经过了旋转以后,被追踪物体,嵌于其上的照光光源(Illumination source),以及阴影之间的相对位置均将有所改变。
图7所显示是一个示范的(数据、资料)处理流程(Flow),借由从同一个图像检测器(Image sensor)里取得的多个次画面(Sub-image),该流程能以求算出平移与旋转向量(Translational and rotational motion vectors)。
图8所显示为一个在使用本发明的导航器的图形呈像系统(Graphical renderingsystem)时,当其运作时,其界面传输数据的运作情况。
图9所显示为一个被追踪物的二维(2D)与三维(3D)表示法,该被追踪物坐落于一个参考立方体上(Reference cube)。
图10所显示为一示范的图像(一架喷射机),该喷射机是用一个三维(3D)的绘图系统(3D graphical system)呈现出来的,此图显示出本发明的导航仪器(Navigationdevice)能以提供旋转的自由度(Rotational degree of freedom)。
【主要元件附图标记说明】
101 由图像检测器(Image sensor)的元素(像素Pixel)构成的画面
104 虚拟圆110的圆心位移向量(自108的位置移至109的位置)
105(t0) 被追踪物105在时间为t0时候的位置
105(t1) 被追踪物105在时间为t1时候的位置
105(Trans) 被追踪物105位移后的位置
105(Rot) 被追踪物105旋转后的位置(Rotated position)
106(t0) 被追踪物106在时间为t0时候的位置
106(t1) 被追踪物106在时间为t1时候的位置
107(t0) 被追踪物107在时间为t0时候的位置
107(t1) 被追踪物107在时间为t1时候的位置
108 虚拟圆110的圆心109虚拟圆110的圆心
110 时间为t0时,通过被踪物体105,106,以及107的虚拟圆
111 时间为t1时,通过被踪物体105,106,以及107的虚拟圆
112 虚拟圆110的旋转向量
201 图像检测器202光源
203 空孔
204 导航器的躯体
205 导航器上的启动某种功能的元件
206 点P,Q,R坐落的虚拟圆
206’ 点P’,Q’,R’坐落的虚拟圆
210 虚拟圆206移至206’所使用的向量
206” 导航器204旋转时,图像检测器201所看到的点P”,Q”,R”坐落的虚拟圆
214 导航器的下表面
220 桌子表面
P,Q,R 图像检测器201里所看到的三个桌子表面220上的被追踪物
P’,Q’,R’ 经过VT向量运动以后,图像检测器201里所看到的三个位于桌子表面220上的被追踪物
图2中的E图里的P”,Q”,R”坐落于圆206”的圆周上的三个被追踪物
图3A、图3B里的点P”,Q”,R”坐落虚拟圆300的圆周上,代表三个被追踪物的群组的点
图2中的D图以及2中的E图里的θ导航器的躯体的角位移量
r,r’,r” 代表被追踪物体群体的点P”,Q”,R”与虚拟圆心C”之间的距离
300 虚拟圆301由被追踪物301A,B,C,D所形成的群组(Cluster)
302 由被追踪物302A,B,C,D所形成的群组(Cluster)
303 由被追踪物303A,B,C,D所形成的群组(Cluster)
301A,B,C,D 被追踪物(群组301)
302A,B,C,D 被追踪物(群组302)
303A,B,C,D 被追踪物(群组303)
401,405,406 光源(总数量为多个)
402 导航器
403 检测器
404 空孔(Cavity)
407 导航器的辅助控制装置
408 被追踪物体
410 被追踪物408阴影的一种长度
411 被追踪物408阴影的另一种长度
412 桌子的表面
图4D中的α 入射光投射影子的角度
500 微镜片(Micro lens)
501,502,503 像素
504 彩色滤光膜层
505 IC钝化保护层(Passivation layer)
506 IC内的介电层
509 光电检测器(Photodiode)
507,508 IC中间连线架构(Interconnection)
510 半导体电子电路基底(Substrate)
511 光线的行进路径(经过彩色滤光膜层)
512 光线的行进路径(未经过彩色滤光膜层)
513 光源
514 彩色图像检测器的景深(Depth of field)
515 光源(或者一个会将光线投射到图5A的图像检测器上的物体)
516 单色光的图像检测器的景深(Depth of field)
517,518 光线
520,521 光线
519 杂射光(Stray light)
图6A,6B中的N 旋转轴线
607,608,610 光源
602,603,605 阴影
图6A中的α,β,γ 区隔三个光源607,608,610的角度
601 形状为正立方体的物体
604 正立方体601上的一个表面
609 彩色图像检测器
611 空孔
612,613,615 阴影
614 正立方体601的上个表
701 由第一、二、三种彩色光(Hue1,2,and 3)的像素合并组成的主画面(Mainimage)
702 由图7里指示的第一种彩色光(Hue1)的像素所组成的次画面
703 由图7里指示的第二种彩色光(Hue2)的像素所组成的次画面
704 由图7里指示的第三种彩色光(Hue3)的像素所组成的次画面
705,706,707 次画面处理单元
708 色域图(Color gamut)
709 旋转运动向量数据
710 阴影追踪表或阴影结构表
711,712,713 数据流(Data flow)
801,809,810,811 总线(Data bus)
802 模型空间(Model space)
803 世界空间(World space)
804 照相机取景角度下所见的空间(Camera space)
805 世界方阵(World Matrix)
806 视觉方阵(View Matrix)
807 物件投影至照相机的方阵(Camera Matrix,Projection Matrix)
808 显示器空间(亦即观察者所见的空间Camera space)
η,ω,φ 图10里的模型战斗机旋转角度
具体实施方式
本发明公开一种导航器(Navigation device),该导航器上有一个可移动的装置(Motion feature,同时该装置也可作移动检测之用),用来移动(电脑的)游标(Cursor)或显示屏幕(Display screen)上其他类型的由绘图方式产生的物件(Graphicallygenerated objects)。本发明的导航器是与电脑或电子系统相连的,此种“相连”具有信号传输的含义,其真实的意思是该导航器其可以借由传输数据给上述的仪器,使得该电脑或电子系统能以完成显像的功能。本发明的导航器特别适合使用在下一个世代的电脑与其它电子产品上,因为下一世代的电脑与电子产品将会需要对操作员的手指的精细姿态(Gesture)变化有感应的能力(Responsive)。此外,下一世代的电脑与电子产品也需要针对物件的图像同时(Simultaneously)、连续地(Continuously)提供平移(Translations)与旋转(Rotations)的运动功能。
在本发明的实施例里,其所公开的(导航)仪器,其实可以被称为是一种三维(3D)光学鼠标,该三维鼠标可以依照其用来提取图像的方法被进一步分类成单一光源型与多光源型。而该多光源型鼠标又可再进一步被分类成单色光型(Monochromatic)与多色光型(Polychromatic)。
在本发明所公开的实施例里,一些相关的数学方法也一并公开,这些数学方法能够使在显示幕上出现的游标或物件产生三维(3D)的运动。本发明使用上述这些数学方法的目的,是为了要把坐落在一个像是桌子这样的参考平面上,为数众多的被追踪物(Amultiplicity of targeted objects),它们大致一起与(Generally)本发明的导航器之间所产生的相对的运动(Relative motion to the device)解析出来。经过解析以后,上述该相对的运动变成两个部分,一部分是平移的部分(Translational part),另一部分是旋转(Rotational part)的部分。这些数学方法是借由分析由本发明的导航器所提取的一系列的图像来完成的,而且这些图像是以像素区块(Blocks of pixels)来呈现的,因此,经由上述的数学分析方法,我们可以得到该导航器的位移向量(Displacement vectors)以及速度(Velocities)。
图2中的A图所示为使用单一光源的本发明的导航器。图4A所示为使用多个光源的本发明的导航器。我们将从介绍图2中的A图所示的使用单一光源的导航器开始,把它的大致的结构与操作模式作一说明。当我们介绍完了上述两种导航器(图2中的A图与图4A)大致的结构与操作模式以后,就会以更详尽的方式介绍各个实施例里的导航器的架构,以及其操作模式。
现在我们先回去看一下图2中的A图。图2中的A图所示为本发明的导航器的侧视图(Side view),它所呈现的是本发明大致的模样(General form)。在图2中的A图里,有一个被追踪物Targeted object(s)(或不只一个被追踪物)坐落在一个被定名为桌子表面220的参考表面(Reference surface)上,该桌子表面220受到光源202的照射,当该导航器移动时,该导航器移动会追踪该(些)被追踪物。在本发明里,所谓的被追踪物这个名词,其含义至少包括两个;第一个含义是指该被追踪物是一个有形体的(Physical)、被定置于桌子上(Fixed)的物体,第二个含义是指该被追纵是由一些光学现象造成的(Opticalartifacts),像这一类的由光学现像造成的被追踪物至少包括阴影等等,在检测器(Sensor)里,它们是一样可以被检测到的。此外,我们应该注意到要区别被追踪物与虚拟物(Pseudo objects)之间的差别;虚拟物是一种人为(Artificial)创造的几何(Geometrical)或者拓朴(Topological)的形状(Shapes),在本发明里,有形的物体会形成群组(Clusters),然后落在虚拟物上,不过虚拟物(例如虚拟圆)是检测器所看不到的。
在本发明的导航器的躯体204上,有一个下表面214(Lower surface),以及一个空孔203。该空孔203有一个从下表面214打开的开口(Opening),这个开口面对着桌子表面,该开口的轮廓用来界定桌子表面的一个部分作为一种边界范围(Boundary)。当该导航器在运动时,该边界范围即是该检测器所拍摄的图像框(Image frame,在本发明里图像框也称之为图像画框)的最大边界范围(比它小的范围是容许的)。
在本发明的导航器的空孔203的上部,装置了一个光源202以及图像检测器201(Image sensor),该图像检测器201可以借由快门(Shutter)的一开一关(Opening andclosing)的动作(未绘示),提取出上述的图像框(Image frame)。注意,本发明除了可以将光源202以及图像检测器201装置于空孔203的上部之外,其它的部位的装置方法也是容许的。在本发明的导航器上,还有一个启动(或活化)元件(Element)205,该元件能以引发本发明的导航器将数据传输到电脑的显示单位(Computer display unit)上去。在图2中的A图的例子里,该位于本发明的导航器的下表面214的空孔开口(Cavity opening),是面对着三个坐落于桌子表面的用来作示范的被追踪物(Targeted objects)的。为了方便说明起见,我们以点状物P,Q,以及R来表示该三个被追踪物。这些点状物并无任何本质的结构(Intrinsic structure),而且在目前这个特定时间里,它们都还坐落于桌子表面空孔开口范围之内。值得注意的是,在图2中的A图里,上述该P,Q,以及R三个被追踪物是被绘示为坐落在同一个剖面(Cross-section)上,但这只是为了方便说明所作的显示,实际上该三个被追踪物是不太可能落于同一剖面平面上的。
当桌子表面以及坐落于其上的物体P,Q,以及R被光源202照射到时,图像检测器201就可以借由物体P,Q,以及R反射的光,提取出一系列里面含有P,Q,以及R的图像框(Image frame)。图2中的B图所示的是:我们假设在形成一系列图像框时,其每一图像框所需要经历的时间(Elapsed time)都是很短的(亦即从快门开到关的时间),该时间短到一个程度可以使得三个被踪物(的图像)仍然还保留在一个图像框上。
当本发明的导航器204持续不断的运动时,介于被追踪物P以及图像检测器201之间的相对距离(Relative distance)也会随之不断地改变(Changes accordingly)。上述这种情况也发生在被追踪物P,Q,以及R的身上。这(种情况)将导致图2中的B图里的被追踪物体与图像框201里的与这些被追踪物体相关的位置之间产生位移。我们现在参照图2中的B图,该图显示的是两个重叠的图像框(该两个重叠的图像框是把两张连续的图像(在本发明里图像也称之为图像、画面),使用同一个图像边界合并形成的。为了简化说明,该重叠的图像框并未把其上一格一格的像素给呈现出来)。在上述该重叠的图像框里,第一张图像(First image)所显示出来的P,Q,以及R的起先的位置,该三个点(Initial position)是坐落在虚拟圆206的圆周上,该虚拟圆的圆心为C。当P,Q,以及R的位置有所改变时,情况看起来就好像导航器201借由一个向量VT210向左移动一样。如之前所述的,圆206是一个虚拟圆(Pseudo-circle),它是不会被该图像检测器201看到的,本发明是用该虚拟圆来辅助拓朴分析法(Topological analysis),分析上述三个点的运动的。由于导航器201是向左运动,图像里的虚拟圆就看起来是向右运动,且其速度为VT。另一个值得注意的是:图2中的B图里的点P,Q,以及R在圆206的圆周上分布的位置好像是等距的(Equidistance),但这其实并不是一个必要的条件(Necessary condition)。
当该些被追踪物体运动了后,随之产生的是第二个图像框,按照图2中的B图绘示的方式所显示的是,第二个图像框与第一个图像框是以重叠的方式绘示于同一个画框内的(两者之间有位移)。此时同样的三个被追踪物与本发明的导航器之间有了新的相对位置,这三个有了新的相对位置的被追踪物被标示为P’,Q’,以及R’。而且图2中的B图里所显示的,是代表该三个有了新的相对位置的被追踪物的点P’,Q’,以及R’,现在坐落于一个新的(虚拟)圆206’的圆周上,该虚拟圆有一个圆心C’。此刻我们应可以了解到圆206以及点P,Q,以及R已经被圆206’以及点P’,Q’,以及R’取代了。
当我们去量测所提取的图像里的上述各点在各个图像里的位置的变化时,就可以计算出一个运动向量VT210。比如说,我们量测点P与P’之间的位置的不同,Q与Q’之间的位置的不同,以及点R与R’之间的位置的不同时,就可以计算出一个运动向量VT210;该运动向量VT210在图2中的B图里所显示的是一个自左画向右的一个箭头。值得注意的是,此一运动向量可以代表一个相对速度向量(目前正是如此),也可以代表一个位移向量(Displacement vector)。就目前的情况(图2中的B图)来说,该位移向量就是一个连接C到C’的向量。上述此两种向量(运动向量与位移向量)是有固定关系的,他们之间的关系在于一个时间(位移除以时间等于运动速度),这个时间就是拍摄一系列图像时两两图像所经历的时间。值得注意的是,图2中的B图所描述的是一种特意制造的情况(为解说方便用)——该三个被追踪点只有平移运动。在往后的讨论里,有很多情况是移动检测器204的躯体是会旋转的;当移动检测器204有旋转运动时,装置于其上的元件(Components),像是图像检测器201以及光源202等,他们也都会随之旋转。
我们现在看一下图2中的C图与D图。图2中的C图与D图所显示的是本发明的导航器的俯视图(Underside view)。在图2中的C图与D图里所显示的是一个举例说明的例子。如该两图所显示的,从图2中的C图变化到图2中的D图的过程里,导航器204受到一个顺时针(Clockwise)旋转(Rotation)效应的作用,但是没有受到任何平移(Translation)效应的作用。图2中的C图所显示的是一俯视图,此时导航器204尚未旋转,而且导航器204被置于点P,Q,R三个点的上方一个被称为第一位置的地方。
我们现在看一下图2中的D图。图2中的D图所显示的是导航器204作了一个相对于它在图2中的C图里的位置的顺时针旋转运动,该顺时针旋转的角度为θ。上述该旋转角可以借由图2中的D图里的一个法向量(Normal)来表示,该法向量自检测器201延伸出去,并且与空孔203的开口(Opening)的周边(Periphery)部分而且是位于图2中的D图的平面上的部分,相互垂直(Perpendicular)。由于该三个点P,Q,以及R现在已经改变它们与空孔203之间的相对位置(Shifted position),它们在图像(Image)里亦将出现在不同的位置(它们在图像检测器201里将被置于新的位置上)。
现在我们看一下图2中的E图。如图2中的E图所示,点P”,Q”,以及R”是坐落于圆206”的圆周上的。由于本发明的导航器是顺时针旋转(Clockwise)的,上述该三点相对于检测器201会有一个绕着旋转轴心C”逆时针(Counterclockwise)旋转的相对运动,该逆时针旋转运动产生一个切线向量VR(Tangential velocity)。值得注意的是,如果发生在该导航器的运动同时有平移与旋转两种,则上述的旋转向量VR可以加到图2中的B图里的平移向量VT上(该VT也有显示在图2中的E图里)。如图2中的E图所示,当点P”,Q”,与R”正在按照向量VR的方向与大小绕着轴旋转轴心C”旋转时,该三个点也同时有平移的动作,这个平移运动可以用VT来代表,它与整个圆206”的平移向量VT是同一个向量。
根据几何学(Geometry),上述该旋转向量VR的大小与旋转轴心C”到该三个物体所坐落的圆周的距离r成正比。更明确地说,如图2中的E图所显示的,当上述这些被追踪物体(P”,Q”,R”)与C”之间的距离由r改变成r’,或者r”时,该旋转向量(大小改变,方向不变)亦随之改变(例如:自VR改变为VR′,VR″)。从数学的角度来说,公式(22)可以用来描述点P”上的线性速度(Linear velocity)VR与半径r(r是自P”到C”的距离)之间的关系,在这个公式里,角速度dθ/dt是以ω表示的。与此类似的关系也会成立在P”在圆周上的角位移量θ与r之间,此时该角位移量是以径度(Radians)表达的。
VR=rω (22)
在公知技术里,旋转向量通常是不会引起设计者的兴趣的。有关于这一点,不管该旋转向量是用位移的方式还是用速度的方式来表达,其引不起设计者的兴趣的情况都是相同的,而之所以会如此,是因为旋转向量的大小与方向无法很轻易地量测出来。在过去,旋转向量都是被当作”噪声”(Noise)来处理的。简言之,对于传统的光学鼠标而言,旋转运动是不存在的,实际会存在的只是噪声。
为了要达到满足上述这种“假想虚构的”(Fiction)的量测结果的目的,传统的光学鼠标必须设法减少那些事实上有发生的旋转运动的量,以使其可以合理的被当作噪声来看待。因此,传统技术会设法只去追踪离旋转轴心越近越好的物体(r趋近于0),如此鼠标无意中把噪声的数据也纳入平移位移的数据的效应会被压制住。在本发明里,我们将公开从所谓的概括笼统的运动向量(Lumped motion vector)里提取(Extract)出旋转向量的方法,在上述的概括笼统的运动向量里,原来是包含旋转向量与平移向量两种向量的。使用本发明的设计者应注意到本发明使用上述所谓的概括笼统的运动向量这个名词的意义,本发明使用这个名词是为了刻意的表明我们是如此作的:先把所有的数据不分来源与性质的合并到一个团体里(Indiscriminative group),然后我们再把旋转的部分从总和(Total)的数值里提取(Extract)出来。
借由(向量)合成(Superposition)的机制(Vector sum),本发明的图像检测器201里所看到的被追踪点的旋转向量以及平移向量,是合并成一个外显的运动向量(Vapparent)的;更明确地表达,上述这种机制可以用公式(23)来呈现:
Vapparent=VT+VR (23)
此处的Vapparent表示的是(被追踪物的)外显的运动向量。我们在把VT视为一个线性的向量,因为它与被追踪物的平移运动成正比关系。在另一方面,上述的旋转运动向量VR则是被当成是一个非线性项,我们这样作意味着该旋转向量与本发明的导航器的平移向量之间的关系是分别独立的(亦即该旋转向量不是与该平移向量呈线性相关(not linearlydependent))。
在实际操作时,期待会正好找到三个被追踪物(Objects)都准确地落在一个圆的圆周上,而且这三个被追踪物之间彼此保持120度的距离(如图2中的E图所提供的示范例子),这样的期待是不切实际的(Not feasible)。为了解决这个问题,本发明所提供的方法是以一个更能被广泛采用的方式(通用的方式)来追踪三个群组(Clusters)的物体。在本发明所提供的方法里,每一个群组都是由多个物体组成的,而且这些群组是大致落在点P”,Q”,以及R”上。此外,P”,Q”,以及R”与旋转轴心C”之间保持一个固定的距离r(例如:r可以等于距离图像框(image frame)里的旋转轴心约20个像素的距离等等),也因此,围绕在该三个点周围的该三个群组也是与旋转轴心C”之间保持一个固定的距离r。
现今大部分的传统技术(光学鼠标)都是使用互补式金属氧化物半导体(CMOS)图像检测器(Image sensor)的。在传统光学鼠标的CMOS图像检测器里,一般大约都包含着数千个像素,用来追踪物体用;如果要分析旋转的动作的话,这样的解析度(Resolution)似乎太低了。由于本发明是企图要为形成群组的物体提取图像,本发明所需要的解析度(Resolution)必须要高于传统鼠标的解析度。基于今日的半导体制造技术,一个CMOS图像检测器的解析度可以轻易的到达数百万像素的程度。因此,虽然以上的方法还没有被探索过,其技术的要求应不至于造成实施本发明太大的困难。
我们现在看一下图3A与3B,借由这两张图我们可以解释本发明所使用的数学方法是怎样计算出一些由点状物构成的群组的总位移的(Total displacement)。本发明所使用的数学方法是从计算平移位移向量(Translational displacement vector)开始的。因此,图2中的B图里的点状物P”,Q”,以及R”(或者是图2中的A图至E图里的P”,Q”,以及R”)当用于图3A时,会被以广义的方式来解释,它们在图3A里代表的是被追踪物体的群组(Clustersof objects)。在本发明往后的说明文里,当我们提到P”,Q”,或R”时,读者应了解到上述的每一个“点”状物,实际上都是由桌面上的被追踪物所形成的群组,而且这些被追踪物在图像框里一定是清晰可辨的(Resolvable in the image frame)。我们现在看一下图3B,该图里有三个群组,分别代表三群有形的被追踪物(Physical objects),而且该三个群组分别以三个假想点(Fictional points)P”,Q”,以及R”来代表,该三个假想点都同时具有旋转运动向量VR以及平移运动向量VT
从另一方面来讲,图3A里的点C”是一个虚拟点(Pseudo point),不代表任何物体,它只是用来代表上述该三个被追踪物群组的几何中心而已。所谓的点C”的位移向量VT,现在是由图3A中的平移(Translational)向量(或速度)VT来表示的,而该平移向量VT其实是由群组P”,Q”,以及R”的位移向量导出来的,C”也是虚拟圆300的圆心。
本发明使用如下的方法来找出平移位移向量VT。我们现在看一下图3A,在图3A里,我们把被追踪物划分成三个群组,每一个群组都是被某个特定的由虚线绘示的圆圈(Dashed line circle)包围起来,这些虚线圆圈的代表符号,即是先前用来标示点状物的符号;也就是说,上述这些由虚线绘示的小圆圈所代表的群组(Clusters),现在分别被标示为“点”P”,Q”,以及R”。
在P”群组里包含有真实的(非虚拟的)点状被追踪物301A,301B,301C,以及301D。在Q”群组里包含有点状被追踪物302A,302B,302C,以及302D。在R”群组里包含有点状被追踪物303A,303B,303C,以及303D。我们将用这些以点来代表的群组(P”,Q”,R”)来导出平移位移向量。
本发明是借由在一段时间里提取一系列的图像来代表被追踪物群组的运动的。因此,本发明的导航器能以计算出上述该三个群组的几何中心((Local geometrical centerof the respective clusters)例如:301A,B,C,D的几何中心,302A,B,C,D的几何中心,以及303A,B,C,D的几何中心)的运动向量,此处这些几何中心分别被标示为P”,Q”,以及R”。现在我们定群组P”的运动(位移)向量为(ΔxP”,ΔyP”)。同时我们也使用相同的方法,以及与提取P”图像同一个的图像检测器,导出群组Q”的运动向量(ΔxQ”,ΔyQ”)。同样的情况也可以发生在群组R”上(因此我们可以导出(ΔxR”,ΔyR”))。值得注意的是,上述的三个群组的运动向量是这些群组平移运动与旋转运动的结果,因此,其所导出的运动向量是一个概括笼统的”综和”,该“综和”是平移运动向量与旋转运动向量(以向量合成法)综合起来的结果。不过在各个概括笼统的运动向量里(亦即:(ΔxP”,ΔyP”),(ΔxQ”,ΔyQ”),以及(ΔxR”,ΔyR”),属于平移运动的部分(Translational component)都是相等的,而且它们是既在大小(Magnitude)上相等,也在方向(Directionality)上相等。其理由是:在桌面上的各群组里的被追踪物,它们彼此之间并没有相对运动。当我们使用公式(24)与(25)来求上述各外显运动向量(Apparent motion vector,Vapparent)的平均值时,由于上述该三个群组是在虚拟圆上以等角度分离的,而且这个角度在整个运动过程里都是维持不变的,因此,经过求取平均值的过程以后,各外显运动向量内部所含的旋转运动的部分就会因为对称的关系而被消掉。假如发生上述这个平均值与该虚拟圆的圆心的平移运动向量的值不相同的情况,那么该三个以P”,Q”,以及R”表示的群组与圆心之间的位置就会有所迁动,该圆的圆心位置以及该圆的形状即不可能再维持下去。因此,我们做出以下的结论:这些群组必会有一个共用的平移向量的值,而且该平移向量的值必定会等于该虚拟圆的平移向量的值,同时它也等于该旋转轴心C”的平移向量的值。
在公式(24)与(25)里,ΔXT代表的是旋转轴心C”沿X方向的平移向量,ΔYT代表的是旋转轴心C”沿Y方向的平移向量。由公式(24)与(25)我们可以得出以下的结论:不管本发明的导航器的旋转运动是什么样子(大小、方向、有无含高次项等等),其平移向量必定可以从求算所有群组的概括笼统的运动向量的平均值的方法得出来,而且该数值相当的精确。在某些特殊的情形下,我们知道鼠标的旋转运动向量极易受手指的微小运动与姿态的影响。等到我们求出共同的平移向量以后,我们就可以把它从上述的各个概括笼统运动向量里扣除,最后得出的就是像图3B所显示的各个群组的旋转运动向量。
不过在上述的计算过程里,我们必须假设在一系列的图像框里,上述各个群组的几何中心P”,Q”,以及R”不会晃动((Jitter)会有这种晃动是由于各群组之间有相对运动)。为了要压制这种晃动效应,我们可以这么做:
(1)增加每一个群组里的被追踪物的数量;
(2)根据实际观察的结果,调整每一个群组的r值,然后再用适当的权值(Weighting factor)来调整公式(24)与(25)。
使用以上的方法可以使我们导出一个极为准确的平移向量。如果一个工程师仍然希望求出更准确的平移向量的话,则他/她必须体认到旋转向量除了会受公式(22)里的r影响以外,它还会受其它因素的影响。因此我们把公式(23)改写为:
Vapparent=VLinear+VNon-linear (26)
在公式(26)里,Vapparent是各群组(亦即P”,Q”,以及R”)的外显运动向量(它是一个概括笼统的运动向量),VLinear是该外显运动向量里线性的部分,VNon-linear是该外显运动向量里非线性的部分。同样的道理,我们用“线性”(Linear)这个名词来强调某一个运动向量是与平移运动向量成正比的(线性相关Linearly dependent)。从公式(23)到(26),我们对外显运动向量Vapparent的描述有了一些改变,这是因为在实际操作的情况下,还有很多其它的因素能够影响外显运动向量Vapparent(指的是相对于图像检测器,平移与旋转以外的因素)。例如,有很多光学现象(Optical phenomenon)就可以影响到图像框(Image frame)里的像素的运动,当某个从被追踪物发出的光线投射到一个图像框(Image frame)里的像素受到上述的光学现象影响时,我们对该像素的运动所做的“外显的”判断也会受到影响。但我们也不过是用VR来代表旋转运动而已。举个例子讲,我们会从以下将要公开的内容里发现当(本发明的导航器)有旋转运动时,某被追踪物体与由该被追踪物体所投射到桌子表面上形成的阴影之间的相对位置会有所改变。如果一个导航器(或是一个光学鼠标)选择一个阴影作为其欲追踪的物体,并且希望从借由该阴影来作移动检测,则公式(26)必须作如下的修正
Vapparent=VLinear+VNon-linear1+VNon-linear2+……… (27)
此处VNon-linear1代表的是被追踪物体的旋转向量;VNon-linear2代表的是该被追踪物体的阴影因为受到旋转运的影响,所产生的移动(Movement),而之所以会如此,是因为当某(位于本发明的导航器上的)光源旋转时,由其所投射出来的阴影也必将随之旋转。如果一个工程师希望考虑更多的项,那么公式(27)就可以被展开成一个数列(Series)。因此,公式(27)表露了一个重要的事实:公式(27)等号右边的第一个非线性项(Non-linear term)提供给图像检测器检测旋转向量的能力,公式(27)等号右边的第二个非线性项则与阴影的位置,景深(Depth of field)的改变,闪光效应(Scintillation effect)等等由光学现象(Optical artifacts)所造成的结果有关。
在公知技术里,旋转运动向量是一个不希望存在的项,因为它的大小(Magnitude)与方向(Direction)很不容易被量测出来。为了解决此问题,传统技术会设法只去追踪离旋转轴心越近越好的物体(r趋近于0),如此鼠标无意中把噪声的数据也纳入平移位移的数据的效应会被压制住。此处我们要再提醒读者—上述所谓的“噪声”其实根本不是噪声,它只不过是旋转运动的结果罢了。
本发明所公开的方法并不一定需要只是追踪离旋转轴心C”很近的物体;当然了,离旋转轴心C”很近的物体仍然可以用来计算平移向量。
在一个图像框里,一旦整个图像形成了,则其所有内含的东西就都是(相对地)静止的了;一个静止的图像里的物体是没有什么运动的。传统的(导出运动向量)的方法,是根据录影技术的基本原则开发出来的,该方法是从一些(按提取时间先后)排好顺序的静止图像(Sequence of static pictures)里导出运动向量来。在导出该运动向量的时候,传统的方法是从一个不断出现在一系列图像里的被追踪物上计算出它的位移量的(Positionaldisplacement)。因此,一个被追纵物的位移(ΔX,ΔY)会是时间的函数(Function oftime)。请小心注意到一个事实:上述的时间一般指的是一个复合(Composite)的时间,它至少与每秒显示图像框的帧数有关(简称帧率,其单位是祯/秒Frame/sec)也与照相机的快门时间(Camera shutter time)等等有关。因此,在经过形成整体图像的经历时间(Elapsedtime)以后,其所产生的数据(ΔX,ΔY)也会是个复合的数据,而在这个复合的数据里,它所包含的是所有在上述的复合时间里出现的对(ΔX,ΔY)有影响的事件的结果。
一个代表某物体的复合运动向量,或是代表某群组的物体的复合运动向量,该向量是其位移时所经历过的时间(t-t0)的函数。此处所指的t0是快门开启的时间,t是一个较t0晚的时间,(t-t0)代表的是当快门开启以后,物体(或群组)位移(例如:沿着x轴位移,如图3B里的水平轴向所示)所经历的时间。因此,该物体(群组)的外显运动向量可以针对开始提取图像信号的时间t0,用泰勒数列(Taylor series)展开。举例来说,我们现在考虑三个类似图3A所绘示的被追踪物体305,306,以及307(相当于图中的P”,Q”,以及R”),我们可以写出它们的概括笼统的位移如下
同样的,对于ΔY这个沿着Y轴的位移(亦及外显运动的位移量)而言,它的概括笼统的运动向量为:
人类的手,尤其是手指,是可以做出很多姿态(Gestures)的。当一个人的手部运动时,本发明的导航器可以检测到该手部的运动,而且该手部的运动并不一定仅限于平移。有很多因素可以产生公式(28A)到(28F)里等号右边的第二阶(Second order),第三阶(Thirdorder),甚至更高阶的项(Even higher order terms)。这些项一起对手部的精细动作的运动向量构成影响。例如,上述的手部的精细动作可以包括晃动(Jittering),旋转(Rotation),以及笔画的动作(Stroking)等等。传统技术并没有发展出一套明了、完整的知识来利用这些动作。下个世代的物件导航器将可以操控上述与非线性运动相关的信号(例如:操控像素信号的变化),使得凡是使用到该导航器的操作系统、电脑、以及电子系统等等都变得与操作员之间有更好的互动性。
公知技术用来产生动画(Motion pictures)的方法以及其比较一帧画与另一帧画的异同的技术里,其使用的数学方法或电子方法一般与MAD(Mean Absolute Difference,平均绝对值差)或MSE(Mean Square Difference,平均平方差)方法有关。MAD与MSE的计算公式可以以下的方程式来表达:
在公式(29)与(30)里,Ci,j指的是在一个图像框(Image frame)里,像素(i,j)所量测到的数值(例如:强度(intensity),灰阶(grey level))。Ri,j指的是在另一个图像框(Image frame)里,与上述该像素(i,j)相对应,相比较的像素的数值。M与N表示的是该用来作图像比对用的像素区块(Pixel block)的解析度(Resolution)。在计算MAD的公式里,我们所要比较的是像素值的差异的绝对值(Absolute difference);在计算MSE的公式里,我们所要比较的是像素值的差异值的平方值(Squares of the difference)。
传统技术一般都把上述的方法称为像素区块比对演算法(Block matchingalgorithm,BMA),因为这些方法(指的是MAD与MSE)是在两个画面(Frames,在本发明里图像也称之为图像、图像)上比较某图像的外观。值得注意的是,当一个含有C像素(亦即公式(29,30)里的Ci,j)的像素区块与另一个含有R像素(亦即公式(29,30)里的Ri,j)的像素区块很相似时(Identically match),MAD与MSE的数值会趋近于最小值。不过,划分上述这些像素区块的方法却可以有很多种,不同的演算法、不同的区块等等都会导致不同的MAD值与MSE值。由于以上这个缘故,即使一个物体的图像在一系列给定的图像里都是固定不动的(亦即物体在图像里是静止、不会移动的),某些存在于运动向量里的非线性项仍然会因为使用的计算方法(亦即演算法)不同而存在。为了解释这个现象,我们从一个二维的离散方程式f(x,y)的(Two dimensional)傅立叶转换开始解说。f(x,y)其实就是一个图像里的像素值,我们用离散方程式的方式来表达该像素值。
在公式(31)与(32)里,离散方程式f(x,y)是代表一个像f(x0+aΔx,y0+bΔy)这样的方程式的。此处的a=0,1,2,…M-1;b=0,1,2,…N-1;而x0与y0是任意选定的在一个数位化坐标系统里(Digitized coordinates)的初始值(Initial values)。有了上述的定义以后,我们也会发现f(x,y)就是一组坐标里的像素值。我们定义f(x,y)在像素领域(Pixeldomain)取样的步阶增量(increment)是(Δx,Δy),它在频域里(Frequency domain)的步阶增量是(u,v),两者之间有一个固定的关系,我们把该关系用公式(33)与(34)表达出来。
公式(31)与(32)所表示的是一个离散方程式(f(x,y))以及该方程式经过傅立叶转换后的方程式(F(u,v))。当我们要为同时在两祯图像框里出现的一个物体量测其运动向量时,我们必须在该物体所在的两祯像素框(Pixel frames)里比较它的所在位置(Locations)。此时我们可以使用一些已经知道、发展好的方法。例如,我们可以使用形状辨识法(Pattern recognition),斑点追踪法(Speckle tracing),或像素区块比对法(Pixelblock matching)等等来导出运动向量(亦即ΔX,ΔY,此时运动向量的分母Δt可以当作是一个已知的数据)。从另一方面来讲,由于很多光学现象(Optical artifacts)都会影响到像素的外显速度(Apparent velocity),即使是同一个物体在不同的图像框里也会产生略有不同的图像。换句话说,从光学的角度来讲,通常同一个物体在不同的像素框里,看起来也不是百分之一百一样的(指的是其灰阶(Grey level))。在实际操作时,物体的轮廓、亮度,以及其它一些源自物体本身的光学现象都会受到本发明的导航器的旋转运动,照明条件的改变,以及入射光角度等等的影响。因此,就如同公知技术所知道的一样,由于受到上述种种现象的影响,公知技术所计算出来的ΔX,ΔY并不是一个精确的数据;该数据会受很多因素的影响而改变,其结果是——计算出的数据总是有一些错误。如果要追寻这些错误的来源,我们可以用公式(35)以及(36)来表达一个在像素框(Pixel frame)里发生的运动,它是如何影响频率像框的运动的。
公式(35)与(36)所表达的是,当一个物体在像素领域里(Pixel domain,数据以(x,y)表示)作平移运动时(Translated),其相对应的傅立叶域(数据以(u,v)表示)亦会进行与该运动相对应的平移运动(以F(u-u0,v-v0)表示)。此外,在公式(35)与(36)里,我们令M=N,如此我们只需用一个参数N来表达相框的一个边的长度。这样的作法不会影响到整体的结果。
类似的情况也会出现在旋转运动上。为了解释这个现象,我们将把坐标系统换成是极坐标系统(Polar coordinate system)。我们令
x=r cosθ y=r sinθ u=ωcosφ v=ω sinφ (37)
如此,f(x,y)以及F(u,v)就可以变换为f(r,θ)以及F(ω,φ)了。
当我们把公式(37)代入公式(35)以及(36)以后,我们发现
公式(38)的意思是说:当一个方程式(例如某方程式是从一个像素阵列取得数据的方程式)旋转了一个θ0角度以后,该方程式的傅立叶转换也将以同一个θ0的角度来旋转。这个现象提供给本发明的导航器用来提取运动参数的方法的基本原则。借由该原则所发展出来的方法,不管是用甚么演算法所产生的误差都可以被修正、甚至解决掉。
在开始要从图像框里提取出位移向量(Translational motion vector)的时候,我们应该先了解到公知技术是利用光栅扫描(Raster scan)的方式来对被追踪物的像素区块执行移动检测的。这个方法就好像用一个演算法在频域里(Frequency domain)找寻一个有发生过平移位移的物体是一样(与公式(35)以及(36)描述得很像)。更明确地说明,每当要从一系列的像素框(Pixel frames)里搜寻一个物体时,传统技术通常会对存储器里相关的数据区块进行光栅式的扫描(Raster scan)。为了达到这个目的,像素里的图像强度数据必须要先转换成数位数据,然后该数位数据会用矩阵的格式(Array)储存到本发明的导航器里的存储器里(Memory unit)。当两个存储区块(Memory blocks)的数据具备最佳吻合条件的情况时(Best matching),上述的MAD或MSE参数会降低到一个令人满意的程度。
如之前解释过的,上述的过程相当于是在一个图像(Image)里以一个(ΔX,ΔY)运动向量来搬移一个物体。根据公式(35)以及(36),经过了傅立叶转换以后,该物体的新的数据(在频域里的数据)就像是旧的数据被用一个平移向量搬移过了一样。理论上来讲,由于上述的位置变换(在像素领域里平移图块的位置)不会制造其它的误差,两个很吻合的像素区块应该会产生极低的MAD与MSE值。因此,我们了解到使用光栅扫描一个图像框(或是一个与其相关的像素区块)的方式来计算平移位移,可以产生极低的误差(也就是说:MAD或MSE→0)。这也就是为什么传统技术喜欢提供平移运量向量但是不喜欢提供旋转运动向量的基本原因。如果一个移动检测的方式已经被限制成只需要检测平移位移就好了,那我们倒是可以这么说:我们已经找对了被追踪物了,而且这些被追踪物的运动向量已经被决定(量测)出来了。
不过,分析旋转运动并非如此(的简单)。只要数据处理过程里有稍稍一点的疏忽,就可以导致巨大的计算误差。这个现象也可以再度用傅立叶转换的过程来说明。根据公式(37),当一个物体在像素领域里经过旋转了以后,该物体在频域里的相对应的数据也会做同角度的旋转。不幸的是,公知技术所使用的搜寻物体的方法仍然是光栅扫描法(例如:在像素领域里使用BMA)。这就好像在直角坐标系统里呈现一个物体,而该物体只有做旋转运动一样。此时该直角坐标系统与该运动之间的配合度非常的糟糕。因此,使用该直角坐标系统来描述一个旋转运动的会使的整个描述变得非常复杂。我们明了此点以后,就不会惊讶每当被追踪物有旋转运动时,公知的方法(像素区块比对演算法,光栅扫描等等(Blockmatching algorithm,raster scanning in pixel domain,etc.))就无法产生够低的MAD与MSE。基于以上的原因,公知技术会借限制自己只做辨认平移运动,如此一来就使得BMA这类的方法让公知技术自己相信,自己是在追踪、辨认正确的图像了。
一个工程师可以发现使用直角坐标来追踪一个物体的旋转运动,其量测结果的精确度有会有所损失,该损失的程度与rθ有关(r代表的是物体与旋转轴心pivot之间的距离,θ代表的是旋转角度)。从以上的解释我们可以发现,对一个物体上各处都用同一个角度θ旋转的情况而言,因该旋转角度所导致的像素位移量(Pixel displacement)会随着r的值的增加而增加。如果我们用频域来解释,这就表示高频的数据较容易产生误差(指的是计算运动向量的误差)。我们回再看傅立叶数列,就会想见到当我们欲导出平移位移时,由DC(频率为0)项所计算出来的数值是最准确的。至于AC项(频率不为0的项),在公知技术里它的计算误差是随着频率上升而上升的。此处我们所讲的AC项,它是代表被追踪物的式样(Pattern)、形状(Shape)等等(例如:文字的突起的角落(serif of text),物体的边缘(edges),四方型的角落(corners of squares),表面粗糙度(surface roughness)等等)。从另一方面来讲,AC项也与噪声(Noise)有关。所以,使用游标移动控制器的人(Deviceuser)会陷入以下的两难的境界(Dilemma)。当某被追踪物在旋转时,元件工程师会希望使用某些AC项来从形状上辨认该物体,但是该元件工程师也同时希望把与噪声有关的AC项除去。多半的时候,工程师是无从知道哪一个AC项是最适合用来辨识一个旋转的物体,哪一个AC项是噪声的。在这种情况下,单纯的倚赖MAD或MSE去在一系列的图像框里找寻一个旋转中的物体很容易就导致传统技术的计算量遽增,而且当MAD或MSE的值无法收敛(Convergent)下来时,其搜寻的结果也是无法保证(准确到一个令人满意的程度的)。
此时很明显的上述的问题必须要用模糊逻辑(Fuzzy logic)或神经方程式(Neural function)这类的方法来作为解决问题的替代方案。在模糊逻辑里,一个情况的结果是由其发生的倾向来决定的(Propensity to happen),此种特性与机率很相似。本发明提供两个可能的参数作为决定两个像素组(Sets of pixels)是否指的是同一个物体的判断依据,而且该物体在经历上述的判断过程时,它是在旋转的。
公式(39)表达的是把两个在不同的像素区块的物体误当成同一个物体的机率。如果MAD=0,则不论噪声的水平有多高,永远是零。这就是说,本发明的导航器会误把两个不同的物体当成同一个物体的机会是零,原因是因为该导航器不论在任何噪声有无存在,其值大小如何,永远都会找到被追踪物(当MAD=0,两个像素区块就没有什么不同了)。
从另一方面来讲,如果公式(39)里的噪声值非常高,则不论MAD值为何,这一项的值永远甚低,此种情况所显示的是一种极端的情况,被追踪物体此时已无法分辨了。明确地说,当上述情况发生时,在图像框里的被追踪物已经被模糊化掉了,此种模糊化已经严重到一种程度,使得图像框里根本没有剩下什么物体好被误判的了。
在实际的(操作)情况下,传统的光学鼠标的表现是介于上述两种情况之间的。也就是说,传统的光学鼠标的MAD>0,而且其噪声水平(Noise level)也不低。与传统技术类似的情况是,本发明的导航器起初导出来的运动向量也不是甚么完美的参数,就如之前所叙述的一样,该向量带有平移与旋转向量;更有甚者,该参数也带有误差。值得注意的是,上述这个未臻完美的移动向量(Imperfectly described motion vector)只是一个此类技术(移动检测)的一般性的问题(Generic problem),但它却不一定会成为本发明的导航器的问题。
造成本发明的导航器、导航方法与公知技术有上述的区别的原因,是本发明使用了拓朴法(如图4A所描述)与光学的方法(第二实施例)来解决公式(28A)到(28F)里的非线性项所造成的问题。如图3A所示,本发明使用多个群组(Multiple clusters)来检测运动,在该多个群组里,每一个群组之内尚有包含着多个被追踪物(Multiple objects)。由于在一个群组里的被追踪物彼此之间的距离不会拉的很大(Not greatly separated),而也由于在每一个群组里的被追踪物的数量不至于很大,由其所得出的MAD或MSE的数值会被局限在一个小范围内。此外,在本发明里,噪声水平也会受到控制,其控制的方法就是不要把高频的项拿进来计算(例如,我们可以借由把每个群组的实际的r缩的很小来达到目的)。上述这些由本发明所带来的优点,会大大地降低计算MAD与MSE演算法的负担;也因此,它们提高了本发明所揭露的方法的精确度。其最终结果是——本发明的导航器、导航方法能够很容易的被许多不同的应用所接纳。例如,这些应用至少包括各种不同的演算法,各种不同的模糊逻辑功能,不同的图像提取方法,以及不同的游戏控制方法等等。
简言之,本发明因为能够智能地使用(傅立叶转换后的频域里的)DC项与AC项,使其得以解决公知技术所常面对的非线性项的问题(例如:在导出运动向量时,使用几何/拓朴的法则)。由于善用上述的几何方法与光学方法,本发明能够辨识出从低阶到高阶各种不同阶次的非线性项(例如公式(28A)到(28F)的一些项),这将使得本发明的导航器与其使用方法能够辨识出不同类型的运动向量(例如:旋转,阴影的平移等等)。在接下来的实施例的解说里,我们会把各种不同的使用非线性项的方法一一呈现出来,这些方法都是为了针对不同的运动,期望获得一个满意的灵敏度而开发的。此类的做法可使本发明的导航器以及未来的物件导航器能以开发出许多有关图形显示的应用,同时也使得操作者对于上述未来的新的导航器或其他相关器材具备有相当的操控能力(例如:手指的姿态的感知能力(Finger gesture sensing),手腕的姿态的感知能力(Wrist gesture sensing)等等),这些都是现有的技术所无法提供的。
第一实施例
第一实施例所代表的是一个使用单一光源的导航器以及它的使用方法,该导航器能够从一个概括笼统的运动向量里提取出旋转运动向量。像这样的导航器,在图2中的A图至E图里有介绍。其所使用的从概括笼统的运动(向量)里,提取旋转运动(向量)的方法,则在本实施例的内文里有所解释,解释时并且借由图3A与3B里作图形解说。
我们现在看图3A,该图里显示有三个由桌面上被追踪物体所形成的群组,这三个群组分别是:301A,301B,301C,301D;302A,302B,302C,302D;以及303A,303B,303C,303D。为了方便解说起见,该三个群组(里的被追踪物)均以虚线圆圈(Dashed circles)围起来,所以该三个群组可以被视为是复合的点状物(Composite point-objects)。更明确地解释,这些代表群组的点状物是以P”,Q”,以及R”来代表的,在图3A里这些点状物即为该群组的中心。上述这些中心会被视为落在一个虚拟圆300的圆周上,该虚拟圆的圆心是C”。有了以上的安排,图3A里的各个群组的角色就可以由点P”,Q”,以及R”来代表了,这就好像这些虚拟的点(P”,Q”,R”)现在变成像图2中的B图里实体的点(P,Q,R)一样了。
在群组P”里,我们选择了四个被追踪物做移动检测,并且把它们编号为301A,301B,301C,以及301D。同样的,在群组Q”里,我们选择了四个被追踪物做移动检测,并且把它们编号为302A,302B,302C,以及302D。最后,在群组R”里,我们选择了四个被追踪物做移动检测,并且把它们编号为303A,303B,303C,以及303D。至于该三个群组的中心P”,Q”,以及R”,它们是落在同一个想象的圆上面(圆周)。我们把该圆定名为300,该圆300有一个固定的半径304以及圆心C”。在实际操作时,在上述每一个群组里的被追踪物的数目并不一定要都一样。一个简易的经验法则是:(被追踪物)数目越多,计算的结果就越准确。
在上述的各个群组里,我们会希望被追踪物要靠得越近越好。但是对于不同群组之间的被追踪物而言,它们应该要彼此离得越远越好。在本实施例里,该三个群组彼此之间的距离大约是以圆300的120度来划分的。在经历过用本发明的检测器(见图2中的A图里的检测器202)拍摄一系列的图像(Image)的过程以后,本发明的导航器能够计算出各个群组里的所有的被追踪物的运动向量(例如:V301A,V301B,V301C,以及V301D)。然后,如公式(40)所示,我们可以使用一个适当的演算法把群组301(之前以P”代表的群组)里的所有的被追踪物的平均运动向量给计算出来。
此处V301代表的是群组301(之前以P”代表的群组)的运动向量,V301A代表的是被追踪物301A的运动向量,V301B代表的是被追踪物301B的运动向量,V301C代表的是被追踪物301C的运动向量,V301D代表的是被追踪物301D的运动向量。
我们可以使用算术平均法,把剩下的两个群组的运动向量给找出来;它们分别是:
此处V302代表群组302(之前以点Q”代表)的运动向量,V302A代表被追踪物302A的运动向量,V302B代表被追踪物302B的运动向量,V302C代表被追踪物302C的运动向量,以及V302D代表被追踪物302D的运动向量。
相同的道理,V303代表群组303(之前以点R”代表)的运动向量,V303A代表被追踪物303A的运动向量,V303B代表被追踪物303B的运动向量,V303C代表被追踪物303C的运动向量,以及V303D代表被追踪物303D的运动向量。
群组301,302,以及303的几何中心(亦即图3A里的点C”)的平移运动向量(Translational motion vector)是由上述个群组的平均值算出来的:
当我们要导出旋转运动向量时(例如,VR,301等等),我们可以计算各群组的总运动向量与VT之间的差异,因此,我们有
VR,301=V301-VT (44)
VR,302=V302-VT (45)
VR,303=V303-VT (46)
此处VR,301,VR,302,以及VR,303分别代表群组301,302,以及303的旋转运动向量。
请注意本发明的导航器并不一定要把VR,301,VR,302,以及VR,303送到电脑上面去。我们其实可以用它们以及以下的公式(47,48,49)来导出角位移θ(Angular displacement)
或 (47)
或 (48)
元件工程师/操作者可以指定使用公式(47),(48),以及(49)之中的任何一个作为导出本发明的导航器的旋转运动向量之用(亦即角位移)。或者更进一步地,某元件工程师可以一次使用两个或三个上述的公式,以使得本发明的导航器的性能更稳定。
因此,本发明的导航器可以借由以上所公开的方法,把个含有VT以及θ的数据串流(Data Stream)送到一个系统上,使其得以作为物件导航(Object navigation)之用。由于本发明所公开的旋转运动与平移运动是彼此分别独立的,另一种使用的方式,我们还可以用其他的方式来使用参数θ。比如说该参数θ可以被用来作为画面放大(例如:θ>0)或画面缩小(例如:θ<0)等电脑的其它功用,或者是档案的打开予关闭。更进一步地,在某些情况下本发明的导航器传输的是的VR数据(例如VR,301)而不是θ的数据。在这种情况下与其相对应的游标或是任何形式在屏幕上的物件可以根据电脑的某些特定的演算法,作出某种动作。简言之,有许多的应用可以按照新的使用法来使用θ以及VR
本发明仍然还有关于其所公开的导航器与导航方法的应用,我们可以发现当本发明的导航器以创新的方法来把模糊逻辑或神经功能合并起来使用时,也可以增强其导航物件或游标的技术能力。如图2中的E图所阐明的,我们使用来提取出旋转运动向量的方法与我们用来导出平移运动向量的方法并不相同。一般我们用来导出平移运动向量的方法是BMA。当我们要导出旋转运动向量时,此处我们所要使用的方法是一个合并BMA的方法以及模糊逻辑或神经功能的方法。此时公式(47)至(49)可以为我们提供甚好的服务。明确地说,此时由公式(47)至(49)导出的参数θ代表的是一种机率,该机率的意思是某一个特定的位移角度(Angular displacement)发生的机率,而不是一个必然要该物件旋转的角度。因此,当θ很大时,本发明的导航器能够像电脑确认某一个物体在屏幕上旋转的机率很高,或者某一个事件发生的机率甚高;反之亦然。上述的功能使得本发明的导航器与公知技术之间有了根本的不同——本发明的导航器并不仅仅把找出准确的θ值做为其终极目标。本发明的导航器反而更能满足现在与未来的应用,这些应用是根据不同的模糊逻辑或神经功能的(数据处理)结果而开发出来的。
我们也可以根据之前已经陈述过的基本方法,再进一步开发或改良本发明的设计。例如,我们可以指定群组的数目为不是三个。或者,上述这些群组并不一定都落在同一个圆300上(亦即r是可变的)。换一个方法来作,我们可以让这些群组坐落在一个椭圆的轨道上,或任意的回圈上(Arbitrary loop,亦即r≠常量(constant)),如此使得凡是落在一个地点有比较大的r的群组(离旋转轴心的距离比较远的),都会变得对旋转的动作比较敏感;至于离旋转轴心比较近的群组,它们会对旋转的动作较不敏感。以上这些变化都是根据本发明的导航器的同一种设计法则(亦即第一实施例)演化而来的。
本发明仍然还有一些与上述的方法不同的应用方法。例如,本发明的导航器可以把群组辨认的工作交给电脑来做,此时某一些像素区块或者是整个图像框都会传输到电脑上,以方便其作种种不同的应用。有些时候本发明的导航器也会应用到图像前处理技术(Pre-image processing techniques)或后处理技术(Post-image processingtechniques)。本发明所公开的方法可以说是为下世代的电脑/电子系统在其屏幕上控制移动物件的技术开拓了一个新的技术领域。
第二实施例
第二实施例需要参照图4A至4E来了解。如图4E所绘示的,导航器402含有多个光源(401,405,以及406),这些光源被一个空孔404包围起来。图4A上所绘示的虚线长方形方块407是本发明的导航器的辅助控制装置,可以用来启动一个功能或是作类似的工作。在较佳的实施条件下,本发明所含有的这多个光源,它们彼此的光学特性(例如:颜色,或者更明确一点,波长)并不相同。被追踪物体408是被置放于桌面上,并且是在该空孔404的周边以内的区域的地方。这些光源401,405,以及406照耀着被追踪物408,其(自被追踪物408)反射的光线会打在检测器403上,而该检测器403会对上述的这些光源的特性有适当的灵敏度(Appropriately sensitive);举个例子来讲,该检测器是一个对多彩光敏感的检测器(Polychromatic sensor)。
图4C所示的是本发明的导航器的侧视剖面图(Side cross-sectional view),上述该被追踪物408是被置于桌子的表面上412。当本发明的导航器402在该桌子的表面上412上旋转时,该被追踪物408的相对于该三个光源401,405,以及406的位置会改变。
图4B所示为本发明的导航器402在经过旋转以后(原先的位置显示于图4A),从上面往底下看到的(俯视图)物体408与光源401,405,以及406之间的相对位置。例如,我们比较一下图4A与4B,可以观察到光源401与被追踪物体408之间的相对位置已经有所改变。
在图4A里,光源401是三个光源里离物体408最近的一个。但是当导航器402经过旋转运动以后,如图4B所显示,光源401成了三个光源里离被追踪物体408最远的一个。图4D显示出此种相对位置的改变所造成的影响。当物体408与光源405之间的相对位置有发生改变时,从被追踪物体408所投射到桌面的阴影的长度也会在不同的图像(Image)里,呈现出不同的长度。如图4D所显示,入射光投射影子的角度α是由入射光线与被追踪物体的高度所决定的,该阴影的长度可以跟随着上述的被追踪物体与光源之间的关系的改变,变化成黑线410或411,或其它的长度。旋转运动可以导致本发明的导航器对于被追踪物体的照明条件有巨大的改变,这等于是说本发明的导航器所提取的图像框里含有背景噪声(Backgroundnoise)。为了弥补此问题,我们在空孔404(Cavity)的顶部加装了两个光源405与406,使得物体408可以从不同的方向获得照光。这种照光条件的改变所带来的产品性能提升的效果,可以经由比较图4B与4E判断出来。图4E所示是仅使用一个光源401的情况,此时照射在被追踪物体上的照光条件是随着本发明的导航器的旋转移动而作剧烈地变化的。这个现象就如同图4D所描述的一样。图4B所示的是为了防止上述(如图4D)的情况的发生,我们在空孔404(Cavity)里装上多个光源,这(使用多光源照光)是比较理想,比较期望的的情况。
我们如果分析一下这些光源的性能((Performance)例如,颜色、波长范围等等),可以注意到图4B里的多个光源可以有彼此相同或者不同的功能;至于如何去选择这些光谱,这个问题与桌子表面412对各种不同频率的光的频率响应(Frequency response)有关。此外,图像检测器403里的各像素针对不同频率的光的灵敏度(Spectral sensitivity)亦可能有所不同。一般而言,一个好的图像检测器的设计可以消除公式(28A)到(28F)里的不想保留的非线性项。
为了阐明本发明所公开的使用多个光源的方法所带来的特殊效果以及解说方便,我们现在任意指定该三个光源的光为红色,绿色,与蓝色。此外,图像检测器403也是一个彩色(Polychromatic)的图像检测器,该彩色图像检测器上的各像素对不同的光的灵敏度可以借由图5A至5C来解释。我们现在先来看图5A,三个代表(作为解说用)的像素501,502,与503分别是对R(红色Red),G(绿色Green),以及B(蓝色Blue)敏感。其各个像素对各种颜色的光的灵敏度也呈现在图5C里,图5C是把图5A的像素以矩阵的编排格式呈现出来。在公知技术里,有很多方法可以使一个像素只对某一种颜色的光敏感的(例如:使用离子布植技术Ion implantation)。在当今的工业里,最常使用的一种方法,是将一层彩色滤光膜层(Color filter layer)涂布在图像检测器403上。图5A与5B所示是半导体图像检测器(Semiconductor Image Sensor)的剖面的一个部分,图5B所示的是单色光半导体图像检测器,图5A所示的是彩色光(Color sensitive)或多色光(Polychromatic)半导体图像检测器。请注意该两个半导体图像检测器之间的差别是在于该彩色滤光膜层504(Color filterlayer)。如果一个半导体图像检测器缺少这一膜层,它就会变成一个单色光的半导体图像检测器,此时该半导体图像检测器里的每一个像素都对光的强度都有相同的灵敏度。图5A与5B里的其它的膜层基本上都是相同的。因此,它们所使用的项目标号(Numericallabeling)都是相同的。当光线517与518打到像素上时,它们首先遇到的是微镜片500(Micro lens)。在图5A与5B里,我们把微镜片分成501,502,503三个。借由微镜片500(Microlens)的聚焦的作用,光线会被拟聚在光电二极体509(Photodiode)的一个点上。对于那些上面覆盖有彩色滤光膜504的像素而言,该彩色滤光膜504具有了两方面的优点,这两个优点是单色光的像素所没有的:第一,景深(Depth of field)会延长(Extended);第二,覆盖有彩色滤光膜的像素会对于杂散的光较不受影响(Immunity to stray light isincreased)。更明确地说,上述第一个优点与光线的行进路径511有关,这个路径是光线在抵达主动元件层之前,通过集成电路(IC)里的钝化保护层505(Passivation layer),中间连线架构507,508(Interconnection),以及介电层506的路径。如图5B所示,如果没有了彩色滤光膜层,光的行进路程512(Propagation length)是比较短的(与511相比)。因此,为了要看清楚物体515,图5B中的单色光的图像检测器会放置在离物体515距离516的地方。这个距离516相对于514(有覆盖彩色滤光膜的图像检测器)是比较短的。在公知的技术里,拥有较长的景深一直都是深受期待的,为了要看清楚物体515,本发明借由使用彩色滤光膜,达成了上述的目标。
本实施例的第二个优点是杂散光的消除——这个优点与涂布在像素501,502,以及503上的彩色滤光层504(Color filter)的光谱灵敏度(Spectral sensitivity)有关。也就是说,上述这些特性对本发明的导航器抑制噪声(Noise suppression)的能力以及其对物体运动的敏感性有重大影响。如图5A所示,光源513是朝所有的方向发射光线的。为了要判断该现象对图像检测器的影响,我们现在选择示范性的光线517,518,以及519来做评估。当光源513所发出的光的性质(如:波长)与像素501上的彩色滤光膜的波长匹配(Match)时(例如两者讥为红色Red),光线517与518可以无所拦阻地通过该彩色滤光层。然而当杂射光519(非直射到501上的光)打到邻近的像素502时,由于502是被设计成让其它不同的颜色的光通过的(例如:绿色),该杂射光就会被覆盖于像素502上的彩色滤光层吸收掉。因此,一个对彩色光敏感的图像检测器具有天生的较佳的抗杂散光功能,这使得本发明的导航器对于检测公式(28A)至(28F)里的非线性的项,或者是去除这些非线性的项,变得非常有效。
第三实施例
在本实施例里,桌面上的物体投射到桌面的阴影的色调(Color tone例如:CIE1931Color Index或类似的指标)将被用来做为解算出旋转向量之用。值得注意的是,第二实施例与第三实施例在有关于元件的设计的观念上是有所不同的。在第二实施例里,我们希望借由多色光与彩色图像检测器来去移除运动向量里的非线性项。事实上,某些非线性的项是可以用来检测阴影或者物体的某些特殊的动作的,而这种检测的结果最终也还是可以提高本发明的元件的性能的。
如图6A所示,本实施例所使用的元件基本结构(图6A只有显示出空孔结构的部分)与第二实施例(如图4A)所使用的元件基本结构类似。图6A里的空孔611的上方包含有多个彩色光源(例如:607,608,以及610)以及一个彩色图像检测器609。如图6A所示,在本实施例里,三个光源是镶嵌在空孔611的上方的壁面上的,该三个光源彼此以角度α,β,γ区隔开来。在通常的使用环境下,α≈β≈γ,但是这个条件并非一个严格要求的条件。此处的物体601被刻意地显示成正立方体状(Cube),如此可使得它的每一个表面对于形成阴影的作用上所扮演的角色,容易被描述出来。
当本发明的导航器里的空孔611在作旋转运动时,上述这些阴影的颜色(亦即光的波长(Wavelength))会随着该旋转运动,以及照射光元的相对运动而有所改变。图6A与6B为示范的例子。例如,当图6A里的阴影602主要是由光源610构成的时候,我们可以同时观察到阴影602会受到另两个光源607与608的影响。此种阴影内部的光的组成的变化是发生在该导航器旋转时,所有的阴影上的。更明确地说,该变化是发生在所有的运动情况下的。值得注意的是,正立方体601上的表面604原先是正对着光源610的。如图6B所示,在经过相对于轴线N的旋转以后,表面604变成是正对着光源608了。与此同时发生的是阴影612是由光源610照射在表面615所构成的。注意上述的照光条件的改变是在本发明的导航器旋转的过程里逐渐发生的。我们可以想象一下阴影602所需经历过的过程。当阴影602是置于如图6A所述的位置上时,它所受到光源610的照射的量是最少的。现在我们指定光源610为第一光源。当光源610旋转一个小角度时,阴影602会跟着旋转。因此,它会接收到比之前的位置更多的从光源607或608所发射出来的光线。我们定义此一光源为第二光源。与此同时发生的现象是,从第三光源的发出来的光线照射在阴影602上的量会减少(因为阴影602正在远离第三光源)。因此,当本发明的导航器旋转时,我们可以说几乎每个阴影都在改变颜色,而且这种改变是迅速的,具有连续性的。
举例来说,当一个阴影是向着某红色光移动的,它会接受到加量的红光;同理,如果一个阴影逐渐远离某绿色光源时,它会接受到减量的绿光。因此,借由检测各个不同颜色光的强度的微小变化,本发明的移动检测器可以决定出旋转向量。
注意本发明所公开的上述借由量测阴影的彩度来量测旋转向量的技术,可以在不干扰计算平移向量的流程(Process)下进行。大致上来讲,在进行彩度测量时,其整个过程不会牵涉到像素区块比对(Block Matching Process)的流程。因此,平移向量与旋转向量是由分别独立的流程决定出来的。这个现象说明了一个事实,本发明的导航器可以同时提供平移与旋转向量,而且两者彼此不相干扰。
此外,还有一个值得注意的地方是本发明的导航器可以使用模拟信号(Analoguesignal)来控制某些相关的功能或应用。有许多此类的应用是可以借由模糊逻辑的信号(Fuzzy logic signal)用来启动一个事件。而此类的事件可以轻易地借由彩度的分析达成目标。
图7所示为本发明的导航器所提供按照色彩来分割开的(Separated hues)图像数据处理流程图。在图7里,每一个色彩(如图7所显示的702,703,704)可以产生一个属于它自己的颜色(hue)的次画面(Sub-image),而每一个次画面都有它单独的处理单元(在图7里被标示为705,706,以及707的processing unit)。上述这些单元是借由彩度的数据(Huedata)以及从阴影结构710里取得的数据来分别处理各个单色的次画面的。请注意旋转向量是可以借由两个方法来导出来的(其计算过程也是经由两个不同的上述的流程完成的)。例如,我们可以借由比较在一系列的图像里出现的某(些)阴影的色彩来导出旋转向量来。或者,我们可以借由计算平移向量里的高次项(High order terms)来计算出旋转向量,而这些高次项在平常的鼠标的计算平移向量的过程里,是被当作噪声来处理的。
此处请再一次注意,传统的光学鼠标只能计算一个概括笼统的运动向量(Lumpedmotion vector)。而本发明的导航器以及其相关的方法可以把上述概括笼统的运动向量拿来重新计算,并且提取出其内含的非线性项的部分。借由上述的过程,平移向量的部分(Translational part)与旋转向量的部分(Rotational part)可以被清楚地分离开来。
在实际操作上,有关于选择使用以上两种方法的哪一种方法来计算旋转向量这个问题,它的答案是与物体的表面的状况(Surface condition)有关的。例如,如果某一个表面是非常的粗糙,其上面的阴影非常的多,那么根据平移向量去找出旋转向量的方法就会是一个稳健的方法(Robust method)。反过来说,如果一个表面非常的平滑,但是仍然有少数的灰尘颗粒(Particle)落于其上,那么检查该(些)灰尘颗粒的阴影的颜色就会是一个比较容易用来决定旋转向量的方法。
第四实施例
在一个由图5A所示的元件架构、以及图5C所示的像素排列方法(Pixelarrangement)的彩色图像检测器,并且是由图4A所示的多光源照光系统所提取出来的彩色图像里,我们可以把几类对不同颜色有不同灵敏度(Color sensitivity)的像素分成不同的群组(例如:红色(red),绿色(green),蓝色(blue)),然后把它们组合成不同的彩色次画面(例如:红色次画面,绿色次画面,以及蓝色次画面)。但是从另一方面来讲,如图4D所示的,在一个画面里,许多的物体是都可以形成阴影的。如此一来,物体本身以及其阴影一起合起来构成了一个多彩的图像(亦可称为图像)。对人类的眼睛来讲,某些工作(例如:精细的分辨颜色)是极困难的但是对电子元件来讲则是相当的容易。比如说,如果某人要想用人的眼睛去从某一个红色次画面里找到一个阴影,然后再找出来与它对应的另一个蓝色的次画面里的阴影,这是一个极为困难的工作,但是对电子元件来讲,这是相当的容易。
幸运的是,即便上述的这种阴影的彩色值比对的工作只是偶尔要做的,在大部分的情况下,本发明的导航器并不需要针对每一个阴影都这么做。就如第一实施例所描述的一样,本实施例里的导航器,是先从一些相关的次画面里(Sub-image),针对某被追踪物(Targeted object)计算出它的概括笼统的运动向量(Lumped Motion Vector),然后,就如图7所描述的流程一样,该导航器再根据此一数据计算出其它的运动向量。
在第二实施例里(例如:如图4A所示),我们使用了三种次画面,这是因为在该实施例里的图像检测器里(如图4A的403所示;或者,如图5A所示的细部结构),其内部的像素是对三原色光敏感的((Primarycolors)例如:红色,R;绿色,G;蓝色,B);而此时任一个分割出来的次画面,它也是由三原色里的某一个颜色所组成的。当我们把一个画面((Imageframe)在本发明里又称为图像框)根据其相关的彩色的色调(Color tone)来分割成单色的次画面(Single color sub-image)时,我们会得到三个次画面。因此,本发明的导航器得以比较(基于拿一个像素跟另一个像素比的基本方式)已经分割过的画面的旋转向量,这些旋转向量是分别从红色,蓝色,与绿色次画面所取得的。然后,本发明可借由求取红色,蓝色,与绿色次画面的笼统的运动向量的平均值,来去除掉所谓的非线性运动向量(Non-linearmotion vector)。如此,本实施例可以将平移与旋转向量的数值导出来。以上所述为一般通则,在实际的使用情况下,上述的存在于笼统的运动向量里的非线性项可以受到很多光学现象所制造出来的假象(Optical artifacts)的干扰。例如,阴影就可以是一种光学现象所制造出来的物体(也可一说是一种假象),但是阴影绝非上述的非线性项里唯一的一种光学现象所制造出来的假象。有鉴于此,我们需要有方法、有能力去验证一下经由上述方法所求取出来的平移向量的准确性。
对一个使用到如图4A所示的一个使用三个以几何对称法摆置的光源(图4A里的401,405,与406)的运动导航器(Motion navigation device)而言,我们可以使用群论(Group theory)的方法来验证其计算结果的精确度。此时一个代表C3群组对称(Groupsymmetry)的矩阵可以用来验证相关的运动向量的几何关系。更明确地说,针对借由第一或第二实施例所求出的运动向量(Lumped motion vector)导出的平移向量(Translationalmotion vector)而言,如果该导出的数值能以完全去除非线性项,则上述这些移动向量的值应遵从公式(29)至(31)的指示。因此,(理论上)我们永远都可以借由迭代法(Iterationmethod),以及适时实施的数值检验过程,来求出高准确度的平移向量。
相对于平移向量,旋转向量确实也有与上述的(与群论有关)相类似的关系。但是,也一如之前所述的,旋转向量较易受到许多其他因素的影响,而且一旦受到影响,它也较容易表现出来受影响的情况。这些包括照明的影响(Illumination effects),以及表面粗糙度(Surface roughness)的影响等等。由于这些种种的影响,当一个使用者想要使用群论来分析旋转向量时,他/(她)会遇到较多的挑战。不过总体而言,假如噪声不是一个问题的话,上述(50),(51),以及(52)的公式所揭示的关系,确实也适用于旋转向量的。
公式(50),(51),以及(52)所揭示的是从C3对称里导出的一般性的公式。如果在某一个实施例里,我们使用了不只三个光源,或者图像里的被追踪物体的群组数不只三个,或者该三个光源的几何关系并未完完全全地遵照C3方式来摆设,则本发明的使用者应调整公式(50)至(52),以使其能适合某种对称关系(例如Cn)。总之,本实施例提供了一个一般通用的方法,能以用来验证或导出高精确度的平移与旋转向量。而且本实施例所使用的方法系从一个几何的观点来看像素平面,并且是从一个对称性的考量点来分析其所求取的数值的。借由群论,本实施例得以分析其从像素平面(Pixel plane)所求取得的数值,并因此使得本实施例所揭示的技术,获得了公知技艺难以向背的精确度与稳定度。
简言之,原先被公知技术视为噪声的存在于移动向量里的非线性项,现在可以被利用来计算旋转向量了。这些非线性项其实多半是由旋转的动作造成的,也有些是由于表面粗糙度(Surface roughness)等等造成的—它们原来是被公知技术是为噪声的,现在却可以被用来计算旋转向量了。因此,本实施例公开了使用多个光源,甚至多个图像检测器的方法,用来强化本发明的导航器的功能。使用群论(Group theory)到一个物件导航器(例如:一只光学鼠标)上,这是公知技术未曾作过的。
第五实施例
本实施例是要为了验证本发明的导航器可以被使用于一般的相对移动检测,以及一些比游标控制还要更广泛的相关应用上。我们将使用2D以及3D的图形输出流程来说明这个论点。使用到本发明的使用者可以参考这些例子,创造出他们自己的应用,而在这种情况下,该使用精神并未超越过本发明所公开的方法与实施方案的范围。
对于经常使用电脑来作绘画创作的人而言,从一个像是本发明所描述的这样的一个结合导航(Navigation)以及物件动作产生器(Motion generating device)的仪器,其传送给电脑内的中央处理器(CPU,Central processing unit)的基本动作数据,最终还是必须要被图形呈像仪器(Graphical rendering device)里的绘图处理器GPU(Graphicalprocessing unit)取得的。此种传送与取得之间的过程,是有一个特定的形式(Manner)或格式(Form)的,它使得本发明的导航器能以交互对应的方式,去操控上述的图形呈像仪器里所呈现的画面的动作。
我们现在参考一下图8。图8所示为一简化过的模块图(Block diagram),它是用来显示一个电脑上的中央处理器CPU的元件与至少一个GPU之间的工作的划分的,借由该工作的划分与相关数据流程,该电脑可以呈现出几个不同的物件,或者使几个物件产生一些动作。一个完整的系统(CPU+GPU)包含大约四个“空间”(Spaces),这四个空间分别是:模型空间(Model space),世界空间(World space),照相机在特定取景角度下所见的空间(Cameraspace),以及显示器所呈现的空间(Display-device space)。从软件程序码的角度来表达上述各个空间,该四个空间其实就是由四段不同的程序码区块(Block)来代表的,这些程序码区块其实就是一行行的程序,它们是用来达成整个系统操作用的。更明确地讲,这些程序可以被定性归纳成用来操控世界方阵805(World Matrix)的,视觉方阵806(View Matrix)的,以及物件投影至照相机的方阵807(Camera Matrix)的。在模型空间802(Model space)里的数据,大部分都是一些顶点(Vertex)数据,它们是用来描述要被显现的物体用的。所谓用Vertex来描述物体的方法,是指将要被呈像的物体的表面分拆成为数众多的小平面(Facets),每一个小平面都由其上的一个小顶峰来代表。当某些世界方阵(World matrix)或者是视觉方阵(View Matrix)里的数值被更新过了以后,它们的结果就会经由总线801,809,810或者811(Data bus)送至GPU。如此,在世界空间803(World space)里的物件就有了新的位置,这些有了新的位置的的物件就会从照相机取景角度下所见的空间804(Cameraspace)被送到显示器808上。不同的商用图形显示系统,例如像是Microsoft3DTM,NvidiaOpen GLTM等等,它们可能会使用不同的方法来计算其被呈现物体的位置的,不过一般而言,它们的运作的方式是可以由图8表示出来的。
如果我们以Microsoft 3DTM的指令集作为说明范例,我们可以发现在该指令集里主要有三个属于世界方阵(World matrix)的指令,是能以用来更新物体的运动状态的。例如,在该指令集里,我们能发现以下三个指令:
D3DXMatrixTranslation(D3DXMATRIX*pout,FLOAT x,FLOAT y,FLOAT z) (53A);
D3DXMatrixRotationX(D3DXMATRIX*pout,FLOAT angle) (53B);
D3DXMatrixRotationX(D3DXMATRIX*pout,FLOAT angle) (53C);
D3DXMatrixRotationX(D3DXMATRIX*pout,FLOAT angle) (53D);
因此,借由适时提供更新过的x,y,z(字首FLOAT表示该数据为浮点型态数据),或者是适时提供相对于x轴,y轴,与z轴的旋转角度数据,操作者能以平移或旋转一个他所选择的物体。由于传统的鼠标是一个二维(2D)的仪器,传统的鼠标并无法直接提供给方程式(53A)至(53D)所需要的三维(3D)运动向量。为了求出参数z,使用者必须参照图9;图9提供了二维(2D)与二·五维(2.5D)之间的数学关系。此处我们所指的2.5D是指一个游标借由图9上的几何关系,人为(Artificially)创造出一个旋转自由度(Rotational degree offreedom),以使其得以在图9上的三维坐标系统里移动。
我们现在观察图9,可以发现图9上的一个点的三度空间位置是(x,y,z),而它在某相对应的2.5D的坐标系统里的位置是经由公式(54A)与(54B)取得的。
x’=x-zcosθ (54A)
y’=y-zsinθ (54B)
在公知技术里,公式(54A)与(54B)里的角度,经常是一个事先预定好的值。因此,使用者并无能力轻易地去改变z值大小。
图10所示为一个由图8所描述的公知的三维(3D)图形呈像系统(Graphicalrendering system)所产生的模型战斗机。在本范例里,该模型战斗机不但有平移的运动,也有旋转的运动。如之前所讨论的,一个传统的二维鼠标很难以分别独立的方式(彼此不相干扰)去操控一个物体的移动与旋转运动。究其原因,就是因为传统的鼠标只能感知到线性的运动。当本发明所公开的移动检测器被用来作为游标移动控制器(Cursor maneuveringdevice)或用于游标移动控制的方法时,它能够很有效地旋转一个用三维呈像器呈现出来的物件(例如:图10所示的战斗机)。当本发明的游标移动控制器使其被操控物(例如:战斗机)旋转一个角度时(例如ω,η,或者φ),它仍然能够以一个概括笼统的移动向量,有效地控制其移动运动。其结果是,本实施例的使用者会感觉到该喷射战斗机好像是在翱翔在天空里一样,因为当我们是把操作者手部的动作直接拿来给该战斗机作旋转的运动用。
传统的图形输出系统(例如:图8所示的CPU+GPU整合系统)仍然可以自行计算出一些“人工制造的”旋转角度,但是这类的功能多半都相当的笨拙,而且整体(电脑)系统的功能会因为加上了额外的计算负担(Extra calculation load),退化下来。
我们现在回去再参考一下图8,该图中的世界方阵805(World Matrix),视觉方阵806(View Matrix),以及物件投影至照相机的方阵807(Camera Matrix)是可以被设成只接受x,y的。但是有一些软件里会有像公式(54A)与(54B)的流程,如此,该电脑可以借由x’,y’导出z(θ是给定的数)。上述方法的缺点是它会吃掉一些CPU的计算能量(Calculationpower),而且该角度θ并非一个可以直接地借由操作者与仪器之间的互动来适时改变的一个数量。
对于熟悉本领域技术知识的人而言,以上的叙述都是为了阐明本发明而作的;它不是用来限制本发明的使用范围的。有很多针对本发明所作的改良、修正,或者一些关于本发明所使用到的材料,结构以及尺寸的改善等等,只要这些改善是使用于检测运动的功能,产生(物体的)运动的功能,或是导航器的功能,而且这些功能是为了控制与促进一个电脑化的图形输出器里的物件的移动与旋转运动而制作的,则该(具有上述功能的)仪器以及其使用方法仍然属于本发明精神之内,本发明是以其权利要求的范围作为其定义的范围。

Claims (48)

1.一种仪器,用来操控一个物件的位置,或者控制一个电子系统上的一种功能,该电子系统与一显示器连接,该仪器至少包含有:
一个移动装置,该移动装置被置于与一参考表面相对的位置上,该移动装置与该参考表面之间具有一相对速度,在该参考表面上有多个被追踪物体;
一个空孔,该空孔形成在该移动装置之上或之内,该空孔经由一个开口朝向该参考表面的一个部分,在该参考表面的该部分内,包含该些追踪物体;
至少一个光检测器,嵌于该空孔之内;
至少一个光源,嵌于该空孔之内;
该仪器能够利用该至少一个光检测器产生一个图像框,该图像框能够由电子像素图像来代表,该像素图像能够以数字的方式来代表被该至少一个光源照射的该参考表面的一个部分,在该像素图像里有一些该被追踪物体的图像;
在该仪器内,该些被追踪物体系表示成复数个群组,该些群组是被摆置成大致围绕一个虚拟圆的圆周上,该些被追踪物体的运动是由该虚拟圆来代表;
该仪器能够形成多个如上所述的像素图像,而且所述像素图像与两种位置有对应的关系,第一种位置为所述被追踪物体相对于该参考表面之间的相对位置,第二种位置为该移动装置与该参考表面之间的相对位置;
该仪器能够比较上述图像框,借由使用该虚拟圆作为该些被追纵体移动的参考架构,而且使用数学解算的方式,以及/或者几何分析的方式,该仪器能够从这些图像的变化里,产生出这些被追踪物体的概括笼统的运动向量;
该概括笼统的运动向量能够被解析出平移运动的部分以及旋转运动的部分。
2.如权利要求1所述的仪器,其中,所述被追踪物体在经过该仪器挑选以后,形成多个群组,所述群组能够大致均匀地落于所述虚拟圆上,且该各群组分别由一个点状物来代表其圆心,该各群组的圆心的运动是一个概括笼统的运动向量,该概括笼统的运动向量是一个由平移运动向量以及一个旋转运动向量所合并而成的,该仪器能够以加权平均的方式或无加权平均的方式,根据各个群组的概括笼统的运动向量的值,计算出其总平均值,该总平均值被该仪器用来作为一常用项,提供给该电子系统拿来作为平移运动向量使用,当一个群组的概括笼统的运动向量减掉该仪器常用的平移运动向量以后,即产生出一旋转运动向量。
3.权利要求1所述的仪器,其中,当该移动装置与该参考表面之间有相对运动时,该参考表面上的所述多个被追踪物体彼此之间并无相对运动。
4.如权利要求1所述的仪器,其中,该参考表面上的所述多个被追踪物体至少包括由光学现象所制造出来的物体,该由光学现象所制造出来的物体至少包括阴影、闪光以及由该至少一个光检测器所截捕到的多彩光。
5.如权利要求1所述的仪器,其中,该概括笼统的运动向量所包含的平移运动以及旋转运动的部分,该两部分皆与该移动装置与该参考表面之间的相对运动有关,且该平移运动的部分以及旋转运动的部分的向量可以分别独立地控制该显示器上的物件的平移与旋转运动。
6.如权利要求1所述的仪器,其中,该概括笼统的运动向量是借由比较多个图像框而得出的,所述多个图像框以数字的格式来代表施加于该仪器的一种操作,该比较为一种数学解算法,该比较使用图像区块比对演算法,得出平均绝对值差、平均平方差或其它具有相同效果的参数,作为该演算法的结果。
7.如权利要求1所述的仪器,其中,该概括笼统的运动向量与该移动装置的平移运动有线性相关的关系,该概括笼统的运动向量还有一旋转运动的部分,该旋转运动的部分与该移动装置的运动有非线性相关的关系。
8.如权利要求1所述的仪器,其中,该移动装置借由该概括笼统的运动向量所产生的位移的数字数据,在经过傅立叶转换后,能使该仪器在频域里表达出该概括笼统的运动向量。
9.如权利要求1所述的仪器,其中,该参考表面上的一个部分包含有多个由所述被追踪物体所构成的群组,所述群组中的每一个单一的群组都被安置在所述虚拟圆的圆周上,借由几何的方法,该仪器根据所述群组在该圆周上的角位移,计算出旋转运动向量。
10.如权利要求9所述的仪器,其中,所述光源以一个近乎对称的方式被安置于该仪器上,并借由此安置光源的方法决定出一个有旋转对称性的团体,该团体用来决定出该仪器的旋转向量。
11.如权利要求1所述的仪器,其中,所述位于该参考表面上的被追踪物体是一些阴影,当该移动装置移动时,所述阴影也随之移动,所述阴影的移动提供给该仪器作为计算旋转运动向量的信息。
12.如权利要求11所述的仪器,其中,所述阴影由不同波长的光源所构成,所述阴影的移动是借由计算各个阴影里不同波长的光的强度比值而得出的。
13.如权利要求1所述的仪器,其中,该至少一个光检测器为单色光检测器,该至少一个光源为单色光。
14.如权利要求1所述的仪器,其中,该至少一个光检测器为多色光检测器,所述多色光检测器能对不只一个波长的光线敏感,该至少一个光源由多个发出单色光的光源组合而成,至少有一个该发出单色光的光源的波长,落在所述多色光检测器的敏感波长范围之内。
15.如权利要求1所述的仪器,其中,该光检测器上包含有一过滤层,能以改变其对颜色的灵敏度或景深。
16.如权利要求1所述的仪器,其中,该仪器所作的像素的比较,其结果是以模糊逻辑的来解读,比较的结果仅对判断的真伪作出机率性的解读。
17.如权利要求1所述的仪器,其中,该旋转运动的部分产生出一个图形化显示器上的游标的旋转运动。
18.如权利要求1所述的仪器,其中,该旋转运动的部分被用来启动该电子系统的一个功能。
19.如权利要求1所述的仪器,其中,该仪器为一游戏控制器。
20.如权利要求1所述的仪器,其中,该仪器嵌于一智能型电话里。
21.如权利要求1所述的仪器,其中,该电子像素图像为手指指纹的图像。
22.如权利要求1所述的仪器,其中,该仪器为一触摸板,或者该仪器被镶嵌于一光学式触摸板之内。
23.如权利要求1所述的仪器,其中,该光检测器能够检测人的手部、手指、手腕或胳膊的姿态或动作。
24.一种根据一个漫游于一个参考面的仪器的运动来移动一个电子屏幕上的图像,或者打开或关闭一个由电脑控制的功能的方法,该方法至少包括:
提供一参考表面,该参考表面上有多个被追踪物体;
提供一个虚拟圆,该虚拟圆构成一参考架构,某些所述多个被追踪物体被选择出来,形成多数个群组,该些群组大致上沿着该虚拟圆的圆周摆置;
提供一仪器,该仪器能够改变其仪器本身与该参考表面之间的相对位置,该仪器上有一空孔,该空孔自其上的一个开口朝向该参考表面,该仪器上有至少一个光检测器以及至少一个光源,该光源的波长与该光检测器的灵敏度互相对应,该仪器形成一系列该参考表面一个部分的图像框,在所述图像框里,所述被追踪物体的运动被该仪器所追踪,所述被追踪物体的运动与该仪器相对于该参考表面之间的运动有关;
比较所述被追踪物体在两个连续的图像框里的位置,决定两个图像框决定出所述被追踪物体的一个概括笼统的运动向量;
使用所述虚拟圆进行分析,将上述该概括笼统的运动向量解析成平移运动的部分以及旋转运动的部分;
将所述平移运动的部分与旋转运动的部分传输给该电脑或一个电子系统。
25.如权利要求24所述的方法,其中,一与该电脑或该电子系统连接的屏幕,该屏幕上的图像根据该仪器概括笼统的运动向量的平移或旋转的部分,进行平移或旋转的运动。
26.如权利要求24所述的方法,其中,该概括笼统的运动向量的平移或旋转的部分,用来启动或关闭一个电脑的功能,或者打开或关闭一个电子系统上的一个功能。
27.如权利要求24所述的方法,其中,该仪器的运动包括由该仪器操作者的手部、手指的姿势或动作使该仪器产生的运动。
28.如权利要求24所述的方法,其中,该概括笼统的运动向量是根据所述被追踪物体被安排成群组以后,安置于所述虚拟圆的圆周上的位置所解算出来的。
29.如权利要求28所述的方法,其中,该解算法使用图像区块比对演算法。
30.如权利要求28所述的方法,其中,借由一几何分析,该概括笼统的运动向量里的非线性项被提取出来,该非线性项被当作该概括笼统运动向量里的旋转运动的部分,或者高次项的部分。
31.如权利要求24所述的方法,其中,所述被追踪物体包括具有固定形体的物体以及由光学现象所形成的物体,所述由光学现象所形成的物体包括阴影、闪光以及该光检测器所截捕到的多彩色光。
32.如权利要求29所述的方法,其中,所述图像区块比对演算法至少包括平均绝对值差、平均平方差或其它具有类似效能的方法,所述方法以解算法来比较数字化的图像区块。
33.如权利要求24所述的方法,其中,该概括笼统的运动向量的平移运动部分与该仪器的相对运动有线性相关的关系,该概括笼统的运动向量的旋转运动部分与该仪器的相对运动有非线性相关的关系。
34.如权利要求24所述的方法,其中,该参考表面的一部分至少包含有多个由被所述追踪物体所组成的群组,其中每一群组都是被安排放置于所述虚拟圆的圆周上,借由计算所述群组在该圆周上的角位移量,该方法得出旋转运动向量。
35.如权利要求24所述的方法,其中,有一部分的群组离旋转轴心较远,使得该仪器在决定旋转运动向量时,具有较高的灵敏度。
36.如权利要求24所述的方法,其中,一些按照对称的方法摆置的光源决定出一个具有旋转对称性的团体,该团体的代表被用来决定该团体的旋转运动向量。
37.如权利要求24所述的方法,其中,所述被追踪物体在该参考表面上投射出阴影,所述阴影的动作提供该方法作为计算旋转运动向量所需的信息。
38.如权利要求24所述的方法,其中,至少有一个光检测器是单色光检测器,至少有一个光源是单色光光源。
39.如权利要求24所述的方法,其中,至少有一个光检测器是多色光检测器,该多色光检测器对第一种多种光的波长敏感,该方法至少还有一个光源是由第二种多个单色光的光源组成,该第二种多个单色光的光源发出至少一种光线,该光线的波长在该第一种多光的波长范围之内。
40.如权利要求39所述的方法,其中,该多色光检测器至少包含有一膜层,该膜层与该多色光检测器联合起来运作,使得该多色光检测器的景深得以增加。
41.如权利要求24所述的方法,其中,该旋转运动向量使用模糊逻辑来解释,满足该模糊逻辑的条件与否的依据,是一种判断可能为真的机率。
42.如权利要求41所述的方法,其中,该模糊逻辑的解释被用来启动一个电脑的动作,而且该解释与一个在一个范围内的数值有关,而不是一个单一的数值。
43.如权利要求37所述的方法,其中,该阴影的动作是借由模糊逻辑来解释,该模糊逻辑能判断出一个物体的旋转的角度在一个范围之内的机率。
44.如权利要求43所述的方法,其中,当某一个参数的数值在一定范围之内时,而不是一个固定的数值时,该模糊逻辑将该参数解释为启动一个电子系统的活动。
45.如权利要求28所述的方法,其中,该概括笼统的运动向量经过傅立叶转换以后,用来在频域里分析该概括笼统的运动向量。
46.如权利要求24所述的方法,其中,该参考表面是桌子表面。
47.一种用来做移动检测用的方法,至少包含:
取得第一多个图像,在该第一多个图像里含有第二多个被追踪物;
将该第二多个被追踪物分组成多个群组,并且将该些群组置于一个虚拟圆的圆周上;
借由分析来自所述多个被追踪物所投射到所述图像里的光线的强度的变化,决定出各个群组的概括笼统的运动向量;
决定出一个被所述被追踪物群组共同使用的线性运动向量,将该线性运动向量当作是该虚拟圆的圆心的线性运动向量;
决定出数个被各个被追踪物群组使用的非线性运动向量;
使用所述线性运动向量以及非线性运动向量的数据,决定出一个电脑、电子系统或其他具有相似功能系统上的某一特定的功能的数值或状态。
48.一种用来做移动检测用的仪器,至少包含:
一图像处理系统,该系统能够取得第一多个图像,在该第一多图像里含有第二多个被追踪物;
该图像处理系统能够将该第二多个被追踪物分组成多个群组,并且能够将该些群组摆置于一个虚拟圆的圆周上;
该图像处理系统能够借由分析从该第二多个被追踪物所投射到该第一多个图像里的光线的强度的变化,决定出各个群组的概括笼统的运动向量;
通过使用该虚拟圆,该图像处理系统能还能够决定出一个所述被追踪物群组共同使用的线性运动向量;
该图像处理系统能还能够决定出各个被追踪物群组分别使用的非线性运动向量;
该仪器使用所述线性运动向量以及非线性运动向量的数据,决定出一个电脑、电子系统或其他具有相似功能系统上的某一特定的功能的数值或状态。
CN201310656260.XA 2012-12-07 2013-12-06 具有游标旋转能力的光学鼠标、仪器、移动检测器与方法 Active CN103870026B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261734574P 2012-12-07 2012-12-07
US61/734,574 2012-12-07
US14/056,140 2013-10-17
US14/056,140 US9733727B2 (en) 2012-12-07 2013-10-17 Optical mouse with cursor rotating ability

Publications (2)

Publication Number Publication Date
CN103870026A CN103870026A (zh) 2014-06-18
CN103870026B true CN103870026B (zh) 2017-06-23

Family

ID=49920102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310656260.XA Active CN103870026B (zh) 2012-12-07 2013-12-06 具有游标旋转能力的光学鼠标、仪器、移动检测器与方法

Country Status (4)

Country Link
US (1) US9733727B2 (zh)
EP (2) EP3401767B1 (zh)
CN (1) CN103870026B (zh)
TW (1) TWI562022B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201423484A (zh) * 2012-12-14 2014-06-16 Pixart Imaging Inc 動態偵測系統
US11287897B2 (en) * 2012-12-14 2022-03-29 Pixart Imaging Inc. Motion detecting system having multiple sensors
US10254855B2 (en) 2013-06-04 2019-04-09 Wen-Chieh Geoffrey Lee High resolution and high sensitivity three-dimensional (3D) cursor maneuvering device
US9703396B2 (en) 2013-07-12 2017-07-11 Wen-Chieh Geoffrey Lee High resolution and high sensitivity three-dimensional (3D) cursor maneuvering reference plane, and methods of its manufacture
US20160026264A1 (en) * 2014-07-24 2016-01-28 Amchael Visual Technology Corporation Direct three-dimensional pointing using light tracking and relative position detection
US10842577B2 (en) 2015-02-24 2020-11-24 Sri International Hyperdexterous system user interface
TWI628559B (zh) * 2017-03-24 2018-07-01 致伸科技股份有限公司 滑鼠
US20200050342A1 (en) * 2018-08-07 2020-02-13 Wen-Chieh Geoffrey Lee Pervasive 3D Graphical User Interface
US11307730B2 (en) 2018-10-19 2022-04-19 Wen-Chieh Geoffrey Lee Pervasive 3D graphical user interface configured for machine learning
JP7292050B2 (ja) * 2019-02-19 2023-06-16 株式会社ジャパンディスプレイ 検出装置及び認証方法
US11216150B2 (en) 2019-06-28 2022-01-04 Wen-Chieh Geoffrey Lee Pervasive 3D graphical user interface with vector field functionality
CN110414449B (zh) * 2019-07-31 2022-01-11 Oppo广东移动通信有限公司 电子装置
CN110681057B (zh) * 2019-09-17 2021-07-13 天津大学 一种用于实验小鼠的实时追踪照射装置
TWI698758B (zh) * 2019-11-07 2020-07-11 大陸商北京集創北方科技股份有限公司 觸控軌跡平滑化的方法及利用其之觸控系統和電子裝置
CN111753529B (zh) * 2020-06-03 2021-07-27 杭州云嘉云计算有限公司 一种基于拼音相同或相似的中文文本纠错方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2366894Y (zh) * 1998-11-03 2000-03-01 致伸实业股份有限公司 三维游标控制装置
CN1540491A (zh) * 2003-04-25 2004-10-27 微软公司 有角位移检测能力的计算机输入设备
EP1804154A2 (en) * 2005-12-27 2007-07-04 Poston Timothy Computer input device enabling three degrees of freedom and related input and feedback methods

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6392632B1 (en) 1998-12-08 2002-05-21 Windbond Electronics, Corp. Optical mouse having an integrated camera
US7128270B2 (en) * 1999-09-17 2006-10-31 Silverbrook Research Pty Ltd Scanning device for coded data
GB2357335B (en) 1999-12-17 2004-04-07 Nokia Mobile Phones Ltd Fingerprint recognition and pointing device
US7737947B2 (en) * 2003-10-16 2010-06-15 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Tracking motion using an interference pattern
TWI230890B (en) * 2003-12-29 2005-04-11 Pixart Imaging Inc Handheld pointing device and method for estimating a displacement
JP4208200B2 (ja) 2004-09-28 2009-01-14 シャープ株式会社 ポインティングデバイス
US7119323B1 (en) * 2005-03-18 2006-10-10 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Error corrected optical navigation system
US7609249B2 (en) 2005-04-21 2009-10-27 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Position determination utilizing a cordless device
US7796118B2 (en) * 2005-05-24 2010-09-14 Microsoft Corporation Integration of navigation device functionality into handheld devices
US8077147B2 (en) 2005-12-30 2011-12-13 Apple Inc. Mouse with optical sensing surface
US8274479B2 (en) * 2006-10-11 2012-09-25 Apple Inc. Gimballed scroll wheel
WO2008104082A1 (en) 2007-03-01 2008-09-04 Titan Medical Inc. Methods, systems and devices for threedimensional input, and control methods and systems based thereon
JP2009060404A (ja) 2007-08-31 2009-03-19 Denso Corp 映像処理装置
US8625934B2 (en) * 2008-01-28 2014-01-07 Pixart Imaging Inc. Method and apparatus for detecting displacement with sub-pixel accuracy
TW201013456A (en) * 2008-09-24 2010-04-01 Shanghai Microtek Technology Co Ltd Multi-dimensional input apparatus
US8339467B2 (en) * 2010-03-25 2012-12-25 Dacuda Ag Synchronization of navigation and image information for handheld scanner
US8416191B2 (en) * 2009-09-30 2013-04-09 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Large depth of field navigation input devices and methods
US8558903B2 (en) * 2010-03-25 2013-10-15 Apple Inc. Accelerometer / gyro-facilitated video stabilization
US20110304541A1 (en) 2010-06-11 2011-12-15 Navneet Dalal Method and system for detecting gestures
EP2701039A4 (en) * 2011-04-21 2014-11-26 Cheolwoo Kim UNIVERSAL MOTION CONTROL DEVICE IN WHICH A 3D MOVEMENT AND A ROTARY INPUT ARE POSSIBLE
US9720525B2 (en) 2011-06-29 2017-08-01 Wen-Chieh Geoffrey Lee High resolution and high sensitivity optically activated cursor maneuvering device
US9408275B2 (en) * 2011-12-02 2016-08-02 Biological Illumination, Llc System for optimizing light absorbance and associated methods
TWI482054B (zh) 2012-03-15 2015-04-21 Wen Chieh Geoffrey Lee 具有多數個彩色光源的高解析度與高敏感度移動偵測器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2366894Y (zh) * 1998-11-03 2000-03-01 致伸实业股份有限公司 三维游标控制装置
CN1540491A (zh) * 2003-04-25 2004-10-27 微软公司 有角位移检测能力的计算机输入设备
EP1804154A2 (en) * 2005-12-27 2007-07-04 Poston Timothy Computer input device enabling three degrees of freedom and related input and feedback methods

Also Published As

Publication number Publication date
EP2741179B1 (en) 2018-02-21
TW201423499A (zh) 2014-06-16
US20140160021A1 (en) 2014-06-12
TWI562022B (en) 2016-12-11
EP2741179A2 (en) 2014-06-11
EP2741179A3 (en) 2015-04-29
US9733727B2 (en) 2017-08-15
EP3401767B1 (en) 2020-09-23
CN103870026A (zh) 2014-06-18
EP3401767A1 (en) 2018-11-14

Similar Documents

Publication Publication Date Title
CN103870026B (zh) 具有游标旋转能力的光学鼠标、仪器、移动检测器与方法
US10845893B2 (en) High resolution and high sensitivity three-dimensional (3D) cursor maneuvering device
US20240168602A1 (en) Throwable interface for augmented reality and virtual reality environments
TWI827633B (zh) 具有廣泛使用性的三維圖形使用者介面的系統及方法與對應的可讀式媒體
US20200097071A1 (en) Interaction Engine for Creating a Realistic Experience in Virtual Reality/Augmented Reality Environments
JP5592014B2 (ja) 高解像度テクスチャ抽出のためにパターンを投影すること
Schou et al. A Wii remote, a game engine, five sensor bars and a virtual reality theatre
US20100201808A1 (en) Camera based motion sensing system
CN106200985A (zh) 桌面型个人沉浸虚拟现实交互设备
US20180260601A1 (en) Fingertip identification for gesture control
Fender et al. ArticuLev: An integrated self-assembly pipeline for articulated multi-bead levitation primitives
Alhejri et al. Reconstructing real object appearance with virtual materials using mobile augmented reality
Henrysson et al. Using a mobile phone for 6 DOF mesh editing
Hagbi et al. In-place sketching for augmented reality games
Liu et al. A Low-cost Efficient Approach to Synchronize Real-world and Virtual-world Objects in VR via In-built Cameras
Pan et al. Simulating pattern design and layout for group calisthenics and eurhythmics
Bubník et al. Light Chisel: 6DOF pen tracking
Wu et al. MagicPAPER: An Integrated Shadow-Art Hardware Device Enabling Touch Interaction on Paper
Xu et al. The design and implementation of arrow game projection interactive system based on deep learning
Voglhuber Hand simulation for virtual climbing
Yonemoto et al. Projection Mapping of Animation by Object Recognition
Nelson Descendent: Understanding the Digital Production Process From Human Interpretation to Algorithmic Interpolation to AI Inference.
Hta et al. Designing a Real-time Interactive Spatial Augmented Reality Platform
Strazdins et al. Kinect-based systems for maritime operation simulators?
Pinedo Lopez Interaction for creative applications with the Kinect v2 device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant