用于对滑鼠的伪动作进行最小化的方法以及相关滑鼠与流程

文档序号:11153910阅读:229来源:国知局
用于对滑鼠的伪动作进行最小化的方法以及相关滑鼠与制造工艺

本发明涉及一种光学滑鼠传感器,尤其是,涉及一种适用于光学滑鼠并且可消除光学滑鼠的伪动作(spurious motion)的方法和系统。



背景技术:

光学滑鼠是计算机系统中常见的构件,其工作原理是利用影像相关性(correlation)来控制显示器上游标移动。详细来说,光学滑鼠会对一表面撷取影像,并且将所撷取到的连续多个影像进行比较来决定游标的位移程度。

假设一第一影像是一参考影像(后续说明中以R表示),以其一第二影像是一比较影像(后续说明中以C表示),影像相关性处理程序会对C以相对于R的方式进行位移,并且透过一相关性矩阵来计算R和C的重叠区域之间的乘积的总和。详细来说,相关性矩阵是藉由将C以围绕着固定于一预测位置上的R的方式进行位移,来计算R与C之间的位移。请参见图1,图1是上述参考影像、比较影像以及相关性矩阵的示意图。如图1所示的相关性矩阵是一3×3矩阵,其中单元5是位于中央,且相关性矩阵是设置于参考影像R的中央。如图2所示,单元5是藉由将C完全地覆盖R,并且将每一重叠的画素作累加而计算出来。如图3所示,单元2是藉由将C向上位移1个画素,并且将每一重叠的画素作累加而计算出来。如图4所示,单元9是藉由将C分别向下以及向右位移1个画素,并且将每一重叠的画素作累加而计算出来。

一旦所有的单元都已计算完毕,矩阵中的一最大单元(亦即具有最大累加值的单元)会被判定为具有相关性峰值(correlation peak),并且会被用来产生滑鼠游标的位移。在图2~4所示的范例中,如果滑鼠是静止不动,单元5将会具有相关性峰值,(因为此时C和R是相同的,故最大的累加值会出现在相关性矩阵的中央)。如果滑鼠被直接移动到右侧,则单元6将会具有相关性峰值。承上,滑鼠游标的移动即根据相关性峰值的偏移来计算。

对于一般的计算机应用而言,3×3矩阵通常就已足够。但在游戏应用(gaming application)上,滑鼠被移动的速度通常远比进行文书处理时更剧烈,当滑鼠的实际动作超出3×3的范围时(亦即对滑鼠的操作已超过了游标所能显示的范围,此亦可称为「溜冰动作」(skating motion)),通常会导致滑鼠的伪动作(spurious motion)。也就是说,真正的相关性峰值并非出现在3×3矩阵中的最大单元。



技术实现要素:

因此,本发明的一目的在于提供一种方法以及系统,以于进行游戏时,使得滑鼠的游标能精确地反应出使用者对于滑鼠的操作。

本发明的一实施例提供了一种用于对滑鼠的伪动作进行最小化的方法,其包含:判断滑鼠是否进入一特定模式;以及当判断滑鼠进入特定模式时,藉由多次使用一标准尺寸相关性矩阵(standard size correlation matrix)来产生多个标准尺寸相关性矩阵,以利用些标准尺寸相关性矩阵来产生一大型相关性矩阵(large correlation matrix)。当一区域被连续选取作为一最佳区域达到一特定次数时,区域是被用来产生滑鼠的动作;特定模式可为一溜冰模式(skating mode),滑鼠于溜冰模式下会在一大型区域(large area)上进行高速移动;溜冰模式可自动地被一使用者或滑鼠所设定,或是溜冰模式可于确认滑鼠所撷取到的前一画面显示滑鼠处于被举起的状态时以及滑鼠所撷取到的当前画面显示滑鼠处于非举起的状态时被执行。

除了以上方法,本发明也提供了一种滑鼠,其包含有一处理电路,其中处理电路可执行演算法来对滑鼠的伪动作进行最小化。演算法执行以下步骤:判断滑鼠是否进入一特定模式;以及当判断滑鼠进入特定模式时,藉由多次使用一标准尺寸相关性矩阵来产生多个标准尺寸相关性矩阵,以利用些标准尺寸相关性矩阵来产生一大型相关性矩阵。其中,当一区域被连续选取作为一最佳区域达到一特定次数时,区域是被用来产生滑鼠的动作;特定模式可为一溜冰模式,滑鼠于溜冰模式下会在一大型区域上进行高速移动;溜冰模式可自动地被一使用者或滑鼠所设定,或是溜冰模式可于确认滑鼠所撷取到的前一画面显示滑鼠处于被举起的状态时以及滑鼠所撷取到的当前画面显示滑鼠处于非举起的状态时被执行。

附图说明

图1为一光学滑鼠所产生的一参考影像、一比较影像以及一相关性矩阵的示意图。

图2为计算图1所示的相关性矩阵的一第一单元的示意图。

图3为计算图1所示的相关性矩阵的一第二单元的示意图。

图4为计算图1所示的相关性矩阵的一第三单元的示意图。

图5为根据本发明的一实施例的大型相关性矩阵的示意图。

图6为根据本发明的一实施例的方法的流程图。

图7为根据本发明的一实施例的光学滑鼠的示意图。

附图标号说明:

400~418 步骤

500 光学滑鼠

512、514 输入键

515 滚轮

526、528 电池

560 天线

530 处理电路

551 2.4GHz无线传送器

553 感测器

545 升压转换器

535 构件

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

本发明的目的在于提供一种相关性矩阵,以精确地计算出光学滑鼠正在经历溜冰动作(skating motion)时的相关性峰值的所在位置。详细来说,本发明解决先前技术中存在的问题的手段是判断滑鼠是否处于溜冰模式(skating mode),并且据以产生一大型相关性矩阵,其中大型相关性矩阵具有比标准3×3相关性矩阵更大的尺寸。较大的尺寸意味着,即使滑鼠在高速移动下,影像之间的相关性也可正确地匹配。

本发明后续的实施例中将以15×27的矩阵来作举例说明。请注意,此矩阵大小仅为说明之目的,并非对于本发明范畴的限制,实作上,本发明亦可采用其它大小的矩阵。在操作上,高速水平(x方向)的动作更可能发生得比高速垂直(y方向)的动作更频繁,因此尽可能选用宽长比较大的矩阵会有更好的效果。以下的方法可以透过一光学滑鼠来执行,例如图7中所示的光学滑鼠,但本发明不以此为限。

如图5中的15×27的矩阵所示,矩阵被划分成多个用英文字母A~E表示的行(column),亦可视为多个区域。请注意,C只有对应单一子行(sub-column),而A、B、D以及E皆对应于两个子行。在产生了此大型矩阵之后,区域A~E中的一区域会被选取作为最佳区域,亦即此区域包含有相关性峰值(correlation peak)。此最佳区域可连续检测多次,以便准确地判定滑鼠的动作。在图6所示的例子中,滑鼠会对同一区域作连续检测,并且在连续20次皆有检测到峰值的情况下,才选取区域作为最佳区域。然而以上所列举之次数仅是本发明的一范例,而不作为限制之用。

大小为15×27的相关性矩阵是透过先将原来的3×3矩阵设置于原点(即中央),然后重复地使用3×3矩阵来完全覆盖一较大的区域而产生。每个重复使用的3×3矩阵与前一个3×3矩阵之间相差3个画素的距离,以使每个3×3矩阵的相关性表面(correlation surface)彼此紧靠。在图5的15×27矩阵中,每个区块表示一3×3相关性矩阵,而括号内的数字是相对于原点(即(0,0))的位移量。此外,虽然本发明采用3×3矩阵来作为15×27矩阵的基本单位,但实作上亦可重复使用一2×2矩阵来产生大型相关性矩阵。举例来说,若采用2×2矩阵来产生大型相关性矩阵,则图5所示的相关性矩阵会被变成大小为10×18的矩阵,而括号中的位移量将皆是2的倍数,使得第C行从上到下依序为:(-4,0)、(-2,0)、(0,0)、(2,0)以及(4,0)。大型相关性矩阵的上限值是根据滑鼠所放置的区域大小来决定,而大型相关性矩阵的下限值则是根据滑鼠移动的速度来决定。

由于大型相关性矩阵(例如15×27矩阵)只需要透过重复地多次利用相同的计算资源(例如3×3矩阵)即可实现,故不需要额外的设置新的系统。在图5的范例中,相同的计算资源一共重复利用了45次,基于这些资源有可能消耗大量的功率,本发明可进一步限制只有在溜冰模式下才会触发上述方法的执行。判断是否进入溜冰模式的其中一种方法是观测滑鼠是否有落下的动作发生,例如当滑鼠从一举起位置(lifted position)降落至一表面时,即可视为有落下的动作,这在玩计算机游戏时是很常见的。

图6是根据本发明的一实施例的流程图,请注意,假若可获得实质上相同的结果,则这些步骤并不一定要完全遵照图6所示的执行次序来执行,亦即可插入其他步骤,详细说明如下:

步骤400:开始;

步骤402:是否有新的影像画面?若是,则执行步骤404;若否,则重复步骤402;

步骤404:溜冰模式是否被致能(SKEN=1)?若是,则执行步骤406;若否,则执行步骤414;

步骤406:基于一参考影像(R)以及一比较影像(C)来产生大型相关性矩阵;

步骤408:根据是否包含相关性峰值,来从区域A~E中选取出最佳区域;

步骤410:是否连续20个画面中的最佳区域皆为同一区域?若是,则执行步骤412;若否,返回步骤402;

步骤412:依据最佳区域中的相关性峰值来计算出滑鼠游标的动作;接着返回步骤402;

步骤414:前一画面是一举起画面以及当前画面是一非举起画面?若是,则执行步骤416;若否,则执行步骤418;

步骤416:SKEN=1;接着执行步骤406;

步骤418:使用标准的3×3相关性矩阵来判断滑鼠的动作;接着返回步骤402。

溜冰模式(SKEN=1)可由使用者或系统设置,以使滑鼠可自动产生大型相关性矩阵。为了进一步节省资源,系统也可以限制溜冰模式只有在侦测到滑鼠降落时才会被动态地致能,如同步骤414所述。由于光学滑鼠可侦测出其自身与一表面之间的距离,故光学滑鼠可藉此判断其自身是否处于一举起位置(即未接触表面)或一非举起位置(有接触表面)。当判断出前一画面(frame)是于滑鼠处于举起位置时被撷取,以及当前画面是于滑鼠处于非举起位置时被撷取时,滑鼠可进入溜冰模式,即SKEN=1,其中前一画面是当前画面的前一个画面。

图7是根据本发明一实施例的光学滑鼠500的示意图,其可用以实现上述方法。光学滑鼠500包含设置于基体(body)上的基底(base)的一光学感测器(未绘示于图中)。光学滑鼠500的顶部包含输入键512、514以及滚轮515。光学滑鼠500是由电池526、528来供电,此外,光学滑鼠还包含天线560,天线560和电池526、528是耦接于处理电路530。处理电路530包含一2.4GHz无线传送器(wireless transceiver)551、一感测器553、升压转换器(boost convertor)545以及构件535,其中构件535包含一滚轮、发光二极体(light emitting diode,LED)以及一或多个输入按键。处理电路530可透过多次产生一标准尺寸的(standard size)相关性矩阵(例如上述3×3矩阵),来产生一大型相关性矩阵(例如上述15×27矩阵)。处理电路530还可透过判断光学滑鼠500所撷取的前一画面是否显示光学滑鼠500处于举起模式以及光学滑鼠500所撷取的一当前画面是否显示光学滑鼠500处于非举起模式,来决定是否进入溜冰模式,其中前一画面是当前画面的前一个画面。此外,处理电路530可执行一演算法来将大型相关性矩阵分为多个区域,并且选取包含有相关性峰值的区域作为一最佳区域。本领域技术人员在阅读了以上段落之后当可据以实施光学滑鼠500中处理电路530的相关操作。

上述实施例是为了使本发明能被清楚地理解,本领域通常知识者当可了解本发明的概念并不局限于这些实施例的范畴。本发明所提出的方法的目的在于判断滑鼠的操作是否属于符合游戏动作的一溜冰模式,而一种判断方法是透过自动设定来判断,或是根据光学滑鼠所撷取的前一画面是否显示该光学滑鼠处于一举起模式以及该光学滑鼠所撷取的当前画面是否显示该光学滑鼠处于一非举起模式,来判断是否有进入溜冰模式。一旦进入溜冰模式,滑鼠会重复地多次利用一标准尺寸相关性矩阵来产生一大型相关性矩阵,其中大型相关性矩阵是被划分成多个区域。当该些区域中一特定区域被决定为一最佳区域时(亦即此区域包含有相关性峰值),该特定区域会被用来精确地产生滑鼠于计算机显示器上的动作。

以上所述仅为本发明之较佳实施例,凡依本发明申请专利范围所做之均等变化与修饰,皆应属本发明之涵盖范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1