光学指示装置点击判断方法

文档序号:6599733阅读:273来源:国知局
专利名称:光学指示装置点击判断方法
光学指示装置点击判断方法
技术领域
本发明有关一种光学指示装置,特别是指应用于光学指示装 置上的利用光学的方 式实现点击判断的方法。
背景技术
现有的光学指示装置或光学导航装置(如光电鼠标或光电轨迹球等)的点击功能 的实现大多是通过机构的方式,即在该光学指示装置上单独设置一按键(如光电鼠标的左 右键等),使用者按压该按键从而实现点击的功能,但此种结构因体积较大而无法整合在便 携式电子装置(如手机、音乐播放器等)上,或者虽可整合在此类装置上,但由于结构复杂, 不利于进一步降低该类装置的尺寸。对此,业界也提出一种利用手指实现光学导航(即控 制屏幕光标移动)的装置,但此种结构只是针对光标移动的控制,对于点击功能的实现还 是需借助于其他按键,也不利于缩小使用此光学导航装置的电子装置的体积。当然,业界也 针对此种结构提出了利用光学的方式实现点击的功能,如美国专利7,313,255号所示,但 其只是简单地通过该光学指示装置的光敏检测阵列(或图像感应器)所采集的手指的图像 特征判断使用者手指的抬起与按下,并通过设置一时间阀值判断按下的次数,但此种方案 过于理想,且对使用者手指的抬起与按下状态的判断不够准确,没有对使用者手指的抬起 与按下状态的过程进行判断,在实际使用中,使用者可能有思考或犹豫的时间,在抬起的过 程中可能又有按下的动作,或按下的过程中又有抬起的动作,上述的方法并不能解决此问 题,因此会造成误判断,从而影响人机交互的有效性。

发明内容本发明的目的在于提供一种应用于光学指示装置,通过光学的方式能有效判断使 用点击动作的方法,以解决现有技术不能准确判断使用者操作的缺陷。为实现上述目的,实施本发明的光学指示装置点击判断方法包括如下步骤步骤一初始化相关控制参数,包括设置按下阈值、抬起计数器、按下计数器、预按 下计数器、预按下信号标志及抬起后预按下计数器,并将抬起计数器、按下计数器、预按下 计数器、预按下信号标志及抬起后预按下计数器清零;步骤二 以设定的St印帧数的图像做为一步长进行整体处理,其中计算出每一步 长中每帧的图像的最大像素值与最小像素值的差值,并对此大于一设定的按下阈值的差值 进行加总,同时利用按下计数器统计每一步长中图像的最大像素值与最小像素值的差值大 于按下阈值的图像数量,根据按下计数器的值更新预按下计数器的值,之后再根据预按下 计数器的值更新预按下信号标志;步骤三依据前后步大于按下阈值的差值加总后的平均值的关系计算抬起计数器 与抬起后预按下计数器的值;步骤四依据预按下信号标志和按下计数器的值判断按下或抬起状态,根据抬起 计数器的值判断按下状态时异常抬起情况,依抬起后预按下计数器的值判断是否清除抬起状态。依据上述主要特征,步骤一中还包括设置步长计数器、图像像素值差值阈值加法器、异常抬起计数器及按下信号标志,并在步骤一中将这些控制参数的初始值均设为零。依据上述主要特征,步骤二具体包括以下步骤设置一循环变量K,并令K= 1(步骤S101);利用光敏检测器阵列获取外部物体的一帧图像(步骤S102);计算此帧图像最大像素值与最小像素值的差值DIFPIX(步骤S103)判断K是否小于step+Ι (步骤104);如是,则判断此帧图像的DIFPIX是否大于等于预先设定的一按下阈值(步骤 S105);如此帧图像的DIFPIX大于等于按下阈值,则按下计数器加1,同时图像像素值差 值阈值加法器加上此DIFPIX (S106);之后循环变量K自增1(步骤S107);判断K是否等于st印+1,如否则转入步骤S102。依据上述主要特征,步骤二中如果此帧图像的DIFPIX小于预先设定的一按下阈 值,则进入步骤S107。依据上述主要特征,步骤二中如果K大于等于St印+1,则步长计数器加1。依据上述主要特征,步骤三具体包括如下步骤判断步长计数器是否等于1 (步骤S200);如是,则计算此步长的图像像素值差值阈值加法器的平均值,并令当前步长的图 像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值相 同(步骤S201);如步长计数器不等于1,则计算当前步长的图像像素值差值阈值加法器的平均值 (步骤 S202);在上述二步骤后,判断当前步长的图像像素值差值阈值加法器的平均值是否大于 前一步长的图像像素值差值阈值加法器的平均值(步骤S203);如是,更新前一步长的图像像素值差值阈值加法器的平均值,即将令前一步长的 图像像素值差值阈值加法器的平均值等于当前步长的图像像素值差值阈值加法器的平均 值(步骤S204);判断抬起计数器是否大于一预设的第二门限值(步骤S205);如否则将抬起后预 按下计数器清零(步骤S208);之后将图像像素值差值阈值加法器清零(步骤S213);如是, 则判断当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈 值加法器的平均值之差是否大于像素平均值差值阈值(步骤S206),如否则将图像像素值 差值阈值加法器清零(步骤S213);如是,则抬起后预按下计数器加1(步骤S207),之后将 图像像素值差值阈值加法器清零(步骤S213)。依据上述主要特征,步骤三还包括如下步骤如果当前步长的图像像素值差值阈值加法器的平均值小于等于前一步长的图像 像素值差值阈值加法器的平均值,则判断当前步长的图像像素值差值阈值加法器的平均值 是否不等于零(步骤S209);
如否,则将抬起计数器清零,并令当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值相同(步骤S212),之后将图像像素 值差值阈值加法器清零(步骤S213);如是,则判断前一步长的图像像素值差值阈值加法器的平均值与当前步长的图像 像素值差值阈值加法器的平均值之差是否大于像素平均值差值阈值(步骤S210),如否则 将图像像素值差值阈值加法器清零(步骤S213);如是则令抬起计数器加1,并令当前步长的图像像素值差值阈值加法器的平均值 与前一步长的图像像素值差值阈值加法器的平均值相同(步骤S211),之后将图像像素值 差值阈值加法器清零(步骤S213)。依据上述主要特征,步骤四具体包括如下步骤判断预按下信号标志是否为1 (步骤S300);如否则将异常抬起计数器清零(步骤S301),之后判断按下计数器是否等于 step (步骤 S307);如预按下信号标志为1,则判断按下计数器的值是否等于步长step (步骤S302); 如是,令按下信号标志设为1,并将异常抬起计数器清零(步骤S303),之后判断按下计数器 是否等于st印(步骤S307);如按下计数器不等于步长step,则判断按下计数器是否大于零(步骤S304);如 是,则令异常抬起加数器加1(步骤S306);如否,将预按下计数器清零(步骤S305);之后均 判断按下计数器是否等于step (步骤S307);判断按下计数器是否等于st印(步骤S307);如是,则预按下计数器加1 (步骤S308);之后判断预按下计数器是否大于等于 2(步骤 S311);如否则判断异常抬起计数器是否大于等于预先设置的第三门限值(步骤S309); 如否则判断预按下计数器是否大于等于2 (步骤S311);如是则预按下计数器清零(步骤 S310);判断预按下计数器是否大于等于2 (步骤S311);判断预按下计数器是否大于等于2 (步骤S311);如是,则令预按下信号标志为1 (步骤S312),之后将按下计数器清零(步骤 S314);如否,则令预按下信号标志及按下信号标志为零(步骤S313);之后将按下计数器 清零(步骤S314)。依据上述主要特征,该方法在步骤四之后还包括如下步骤判断抬起计数器是否大于等于预先设置的抬起阈值(步骤S112),如否则判断抬 起后预按下计数器是否大于等于一预先设置的第一门限值(步骤S114);如是,则预按下计数器清零(步骤Sl 13);之后判断抬起后预按下计数器是否大于等于一预先设置的第一门限值(步骤 Sl 14),如否则初始化循环变量K,进入下一步长的处理;如是则抬起计数器清零(步骤S115),之后也初始化循环变量K,进入下一步长的处理。依据上述主要特征,上述的第一、第二与第三门限值相同。
与现有技术相比较,本发明通过对使用者在操作过程中的异常状况进行记录并进行判断,从而避免误判的发生,从而更能准确反映使用者的操作状况,从而更利于人机有效互动。

图1为实施本发明的主流程图。图2为图1所示主流程图的一子流程图。图3为图1所示主流程图的另一子流程图。图4依图1的流程对各种状态的简化的判断流程图。
具体实施方式实施本发明的光学指示装置点击判断方法应用于诸如光学手指导航装置上,该光 学手指导航装置通常应用于手机等便携式电子装置上,以替换目前所使用的方向键、摇杆、 触控板及轨迹球等结构,以控制此便携式电子装置显示屏幕上的光标的移动,以实现移动 页面或选择菜单等功能。在具体实现时,其通常采用光学的方式实现对光标移动的控制及 点击的动作。该光学指示装置通常包括一光敏检测器阵列(或光学图像传感器)、一数据 处理单元及相应的光学透镜等,在使用进,该光敏检测器阵列通常该光学透镜配合而以一 定的速率连续采集多帧使用者手指的图像,之后数据处理单元根据所采集的图像的相关性 确定手指移动的距离,从而控制使用此光学指示装置的电子装置(如手机等便携式电子装 置)显示屏幕上光标的移动,此与现有的光学鼠标的工作原理相同。对于点击的动作,则是 通过对图像特征的分析而判断使用者手指是接近还是远离此光学指示装置,对于具体的工 作原理可参考美国专利7,313,255所示,以下只针对本发明对现有技术的改进之处做详细 说明。实施本发明的光学指示装置点击判断方法主要包括如下步骤步骤一初始化相关控制参数,包括设置按下阈值、抬起计数器、按下计数器、预按 下计数器、预按下信号标志及抬起后预按下计数器,并将抬起计数器、按下计数器、预按下 计数器、预按下信号标志及抬起后预按下计数器清零;步骤二 以设定的St印帧数的图像做为一步长进行整体处理,其中计算出每一步 长中每帧的图像的最大像素值与最小像素值的差值,并对此大于一设定的按下阈值的差值 进行加总,同时利用按下计数器统计每一步长中图像的最大像素值与最小像素值的差值大 于按下阈值的图像数量,根据按下计数器的值更新预按下计数器的值,之后再根据预按下 计数器的值更新预按下信号标志;步骤三依据前后步大于按下阈值的差值加总后的平均值的关系计算抬起计数器 与抬起后预按下计数器的值;步骤四依据预按下信号标志和按下计数器的值判断按下或抬起状态,根据抬起 计数器的值判断按下状态时异常抬起情况,依抬起后预按下计数器的值判断是否清除抬起 状态。对于具体的过程,以下将结合图1至图3对以上的流程进行详细说明,其中图1为 实施本发明的光学指示装置点击判断方法的主流程图,该方法包括如下步骤
初始化相关控制参数,即步骤S100,其中主要为步长计数器、图像像素值差值阈值 加法器、抬起计数器、抬起后预按下计数器、按下计数器、预按下计数器、异常抬起计数器、 预按下信号标志及按下信号标志,在初始化步骤中,将这些控制参数的初始值均设为零。在 具体实施时,这些控制参数均可设置在该光学指示装置的数据处理单元的寄存器中,此种 实现方式在现有数字控制技术中多有应用,此处也不再详细说明。初始化循环变量K,即令K = 1,即步骤SlOl ;利用光敏检测器阵列获取外部物体(如使用者手指)的一帧图像,即步骤S102 ;计算此帧图像最大像素值与最小像素值的差值(为便于描述,以下均以DIFPIX代 替),即步骤S103 ;判断K是否小于st印+1,即步骤104 ;在具体实施时是以st印帧图像为一个整体 进行处理,可将此整体做为帧处理步长,在具体实施时step可以设置为8,即以8帧图像为 一步长进行处理;如是,则判断此帧图像的DIFPIX是否大于等于预先设定的一按下阈值,即步骤 S105,在实际实施时此按下阈值可设为30,即此帧图像中最大像素值与最小像素值的差值 大于或等于30,如否则转入步骤S107 ;对于此通过手指操作的光学指示装置,由手指按下 和抬离此光学指示装置工作面的过程可知,在手指移向并接触此光学指示装置的过程中, 即手指按下的过程中,所采集的图像逐渐清晰,而图像的DIFPIX逐渐增大,直至手指完全 按下,则DIFPIX将趋于一渐进的稳定的较大值;而当手指抬离该光学指示装置的工作面的 过程中,图像逐渐模糊,DIFPIX逐渐减小,当抬离到一定的高度时,DIFPIX将趋于一渐进稳 定的较小值。由此,通过设定一按下阈值,当DIFPIX小于此按下阈值时,则认为手指已完全 抬离该光学指示装置的工作面;当差值大于等于按下阈值时,则认为手指有按下的趋势,由 于手指在按下或抬起的过程中DIFPIX是逐渐增大或减小的,故需要判断确定手指按下或 拿开的准确时间,以下的步骤便是为实现此目的。如此帧图像的DIFPIX大于等于按下阈值,则按下计数器加1,同时图像像素值差 值阈值加法器加上此DIFPIX,步骤S106,即图像像素值差值阈值加法器只加总所有DIFPIX 大于等于预先设定的按下阈值的对应图像的DIFPIX ;之后循环变量K自增1,步骤S107 ;判断K是否等于st印+1,如是则转入步骤S109,如否则转入步骤S102 ;通过上述 的步骤SlOl至S108,则可确保取得St印帧(即一个步长)图像的所有DIFPIX ;在判断K大于等于N+1时,则进入步骤S109,即令步长计数器加1 ;之后进入判断抬起计数器与抬起后预按下计数器的流程,即步骤S110,具体内容 可参图2所示,容后详述;之后进行判断按下抬起流程,即步骤S111,具体内容可参图3所示,容后详述;之后判断抬起计数器是否大于等于预先设置的抬起阈值(在实际实施时此抬起 阈值可设为7),即步骤Sl 12,如否则转入步骤Sl 14 ;如是,则预按下计数器清零,即步骤S113,表示在按下状态下经过抬起阈值数量的step的前一步长的图像像素值差值阈值加法器的平均值与当前步长的图像像素值差值阈 值加法器的平均值的差值均大于等于某一设定的像素平均值差值阈值后的紧接的下一个 step使按下信号标志为零,强制抬起;
之后判断抬起后预按下计数器是否大于等于一预先设置的第一门限值,即步骤 S114,如否则转入步骤SlOl ;如是则抬起计数器清零,即步骤S115,即在抬起状态下,连续有第一门限值数量的 step的当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈 值加法器的平均值的差值均大于等于某一设定的像素平均值差值阈值时令抬起计数器为 零,抑制在抬起状态后如果出现按下状态由于抬起计数器一直大于等于抬起阈值而判定为 抬起状态的误判;之后转入步骤SlOl。请参阅图2所示,为图1所示主流程图的一子流程图,即为判断抬起计数器与抬起 后预按下计数器的流程,即步骤SllO的具体过程,该过程主要包括如下步骤判断步长计数器是否等于1,步骤S200 ;如是,则计算此步长的图像像素值差值阈值加法器的平均值,并令当前步长的图 像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值相 同,即步骤S201 ;如步长计数器不等于1,则计算当前步长的图像像素值差值阈值加法器的平均值, 即步骤S202 ;在上述二步骤后,判断当前步长的图像像素值差值阈值加法器的平均值是否大于 前一步长的图像像素值差值阈值加法器的平均值,即步骤S203 ;如是,更新前一步长的图像像素值差值阈值加法器的平均值,即将令前一步长的 图像像素值差值阈值加法器的平均值等于当前步长的图像像素值差值阈值加法器的平均 值,即步骤S204,即在手指有按下的趋势的过程中,不断更新前一步长的图像像素值差值阈 值加法器的平均值,使其达到一个最大值;判断抬起计数器是否大于一预设的第二门限值,即步骤S205,如否则将抬起后预 按下计数器清零,步骤S208,即在按下状态下需要将出现的短暂抬离后预按下趋势清掉,之 后进入步骤S213,即将将图像像素值差值阈值加法器清零;如是,则判断当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像 像素值差值阈值加法器的平均值之差是否大于像素平均值差值阈值,即步骤S206,如否则 进入步骤S213 ;如是,则抬起后预按下计数器加1,步骤S207,此表明在手指抬离的过程中出现按 下的趋势,则记录这种趋势;将图像像素值差值阈值加法器清零,步骤S213 ;如果当前步长的图像像素值差值阈值加法器的平均值小于等于前一步长的图像 像素值差值阈值加法器的平均值,则判断当前步长的图像像素值差值阈值加法器的平均值 是否不等于零,步骤S209 ;如否,即表明当前步长的图像像素值差值阈值加法器的平均值等于零,即在抬离 过程中出现步长中每帧图像的DIFPIX都小于按下阈值(因图像像素值差值阈值加法器只 是加总所有DIFPIX大于等于预先设定的按下阈值的对应图像的DIFPIX,如步长中所有图 像的DIFPIX均小于按下阈值,即图像像素值差值阈值加法器没有增加,还是为零),即表明 手指已完全抬离此光学指示装置的工作面,此时需将抬起计数器清零,并令当前步长的图 像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值相同,步骤S212,之后进入步骤S213 ;如是,则判断前一步长的图像像素值差值阈值加法器的平均值与当前步长的图像 像素值差值阈值加法器的平均值之差是否大于像素平均值差值阈值,步骤S210,如否则进 入步骤S213 ;如是则令抬起计数器加1,即在手指按下状态出现抬离趋势,则需记录下该趋势,并令当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值 加法器的平均值相同,步骤S211,之后进入步骤S213,即将图像像素值差值阈值加法器清零。请参阅图3所示,为图1所示主流程图的另一子流程图,为判断按下抬起流程,即 步骤Slll的具体过程,此过程包括如下步骤判断预按下信号标志是否为1,步骤S300 ;如否则将异常抬起计数器清零,即步骤S301,即表示在抬起状态下将异常抬起计 数器清零;之后进入步骤S307 ;如预按下信号标志为1,则判断按下计数器的值是否等于步长step,即步骤S302 ; 如是,则表明此步长的step帧图像的DIFPIX均大于等于按下阈值,则令按下信号标志设为 1,即步骤S303,即在预按下信号标志为1的情况下,步长的step帧的DIFPIX均大于按下阈 值则判断为按下状态,此时需将异常抬起计数器清零,之后进入步骤S307 ;如按下计数器不等于步长step,则判断按下计数器是否大于零,即步骤S304 ;如 是,则表明按下计数器小于step (因在一个步长的判断中,按下计数器最大值为st印,最小 值得为零,而也可能为零与st印之间的一个值),即st印帧中至少有一帧图像的DIFPIX小 于按下阈值,则需令异常抬起加数器加1,即步骤S306,即记录在有预按下信号标志的情况 下出现抬起趋势的异常状态;如否,则表明按下计数器为零,即表示step帧(即一步)中每 帧图像的DIFPIX均小于按下阈值,即将预按下计数器清零,即步骤S305 ;即表示在有按下 信号标志的情况下出现step帧中每帧图像的DIFPIX均小于按下阈值时则强制抬起,之后 均进入步骤S307 ;判断按下计数器是否等于st印,即步骤S307 ;如是,则预按下计数器加1,即步骤S308 ;之后进入步骤S311 ;如否则判断异常抬起计数器是否大于等于预先设置的第三门限值,步骤S309 ; 如否则转入步骤S311 ;如是则预按下计数器清零,步骤S310,表明在有预按下信号标志的 情况下,连续第三门限值数量的step帧都出现抬起趋势时则强制抬起;之后也转入步骤 S311 ;判断预按下计数器是否大于等于2,步骤S311 ;如是,则令预按下信号标志为1,步骤S312,表明如果连续有2个或以上st印帧中 每帧图像的DIFPIX均大于等于按下阈值时便令预按下信号标志为1,之后转入步骤S314 ;如否,则令预按下信号标志及按下信号标志为零,即步骤S313,表示没有按下趋势 则视为抬离状态;之后转入步骤S314,即将按下计数器清零。在具体实施时,上述中的第一、第二与第三门限值及其他阈值也可设定在数据处 理单元的寄存器中,并且第一、第二与第三门限值可相同,例如均可设定为3。以下结合附图对此光学指示装置在点击过程中出现的情况进行说明。
当使用该光学指示装置的电子装置启动后,设使用者并未将手指按下时,依次通 过步骤 SlOl 至 S109、S200、S201、S203、S209、S212、S213、S300、S301、S307、S309、S311、 S313、S314、S112、S114、之后再进入SlOl进入下一次循环,在S313中,按下信号标志还是 保持为零,因此可判断出为抬起状态。之后,使用者手指按下,则对按下过程进行判断,其中假设在此步长中部分图像的 DIFPIX大于按下阈值,如此将依次通过步骤SlOl至S109、S200、S202、S203、S204、S205、 S208、S213、S300、S301、S307、S309、S311、S313、S314、S112、S114,之后再进入 SlOl 进入下 一次循环,其中在S313中,按下信号标志还是保持为零,因此认为是抬起状态。
假设使用者手指进一步接近该光学指示装置,在所采集的一个步长的图像的 DIFPIX均大于按下阈值,如此将经过依次通过步骤SlOl至S109、S200、S202、S203、S204、 S205、S208、S213、S300、S301、S307、S308、S311、S313、S314、S112、S114、之后再进入 SlOl 进入下一次循环,其中在S313中,按下信号标志还是保持为零,因此还认为是抬起状态,但 在S308中,预按下计数器为1。之后再经过一次上述的流程(即所采集的一个步长的图像的DIFPIX均大于按下 阈值),令预按下计数器为2,而随后的下一个步长的处理则依次经过步骤SlOl至S109、 S200、S202、S203、S204、S205、S208、S213、S300、S301、S307、S308、S311、S312、S314、S112、 S114,之后再进入SlOl进入下一次循环,其中在S312中,预按下信号标志为1,即判断出有 预按下的趋势,但此时按下信号标志还是保持为零,因此还认为是抬起状态。而在随后的一 个步长的处理则经过步骤 SlOl 至 S109、S200、S202、S203、S204、S208、S213、S300、S302、 S303、S307、S308、S311、S312、S314、S112、S114,之后再进入 SlOl 进入下一次循环,在步骤 S303中,按下信号标志为1,则确认为按下状态。对于因使用者在按下过程或按下状态时有异常抬起动作的判断,假设在此步长中 部分图像的DIFPIX小于按下阈值,则是依次通过步骤SlOl至S109、S200、S202、S203、S209、 S210、S211、S213、S300、S302、S304、S306、S307、S309、S311、S312、S314、S112、S114,之后 再进入SlOl进入下一次循环,在步骤S303中,按下信号标志为1,还是认为在按下状态。之 后随着使用者手指远离该光学指示装置,所采集的步长的图像的DIFPIX均小于按下阈值, 则依次通过步骤 SlOl 至 S109、S200、S202、S203、S209、S212、S213、S300、S302、S304、S305、 S307、S309、S311、S313、S314、S112、S114,之后再进入 SlOl 进入下一次循环,在步骤 S212 中抬起计数器清零,在步骤S305中将预按下计数器清零,即强制抬起。对于使用者抬起过程中,此时需尽快地判断出抬起,即在所取步长的所有图像的 DIFPIX均大于按下阈值时尽快能判断出,则是依次通过步骤SlOl至S109、S200、S202、 S203、S209、S210、S211、S213、S300、S302、S303、S307、S308、S311、S312、S314、S112、S113、 S114,之后再进入SlOl进入下一次循环,其中在步骤S113中,预按下计数器为无零,则判断 是抬起过程,之后再经过步骤 SlOl 至 S109、S200、S202、S203、S209、S210、S211、S213、S300、 5302、5303、5307、5308、5311、5313、5314、5112、5113、5114,之后再进入 SlOl 进入下一次循 环,其中在步骤S113中,预按下计数器为无零,则判断是抬起过程,而之后的再一次循环则 依次经过 SlOl 至 S109、S200、S202、S203、S209、S210、S211、S213、S300、S301、S307、S308、 S311、S313、S314、S112、S113、S114,之后再进入SlOl进入下一次循环,其中在最后一步长 的判断中,预按下信号标志为零,同时按下信号标志也为零,如此可确认处于抬起状态。
对于使用者在抬起过程中有异常按下的判断,则是依次经过步骤SlOl至S109、 S200、S202、S203、S204、S205、S206、S207、S213、S300、S301、S307、S308、S311、S313、S314、 S112、S113、S114,之后再进入SlOl进入下一次循环,之后进行二次同样的循环,在第4个 步长中,则是依次经过如下的步骤SlOl至S109、S200、S202、S203、S204、S205、S206、S207、 S213、S300、S301、S307、S308、S311、S313、S314、S112、S113、S114、S115,之后再进入 SlOl 进 入下一次循环,在第5个步长中,则是依次经过如下的步骤SlOl至S109、S200、S202、S203、 S204、S205、S208、S213、S300、S301、S307、S308、S311、S313、S314、S112、S114,之后再进入 SlOl进入下一次循环,即在此过程中,在步骤S208中将抬起后预按下计数器清零,重新进 入按下过程的判断。 请参阅图4所示,为依图1的流程对各种状态的简化的判断流程图,包括如下的步 骤(在以下的步骤中,对于图像的取得等均可参考对图1至图3的说明,因此不再详细说 明)连续取得多个步长的图像,判断是否至少有3个(此为第一限值,具体可以设定) 步长的所有图像的DIFPIX均在按下阈值之上,并且当步长的图像像素值差值阈值加法器 的平均值大于前一步长的图像像素值差值阈值加法器的平均值,即步骤S400,如否则认为 是抬起状态,即步骤S401 ;如是,则认为是按下状态,即步骤S402 ;在按下状态时,判断后续取得的图像中是否有3个(此为第二限值,具体可以设 定)步长中每个步长中均有部分图像的DIFPIX在按下阈值之下,即步骤S403,如是则为异 常抬起,即步骤S404 ;在按下状态时,判断后续取得的图像中是否有7个(此为第三限值,具体可以设 定)步长的当前图像像素值差值阈值加法器的平均值小于前一步长的图像像素值差值阈 值加法器的平均值,即步骤S405,如否则持续判断,如是则为抬起状态,即步骤S406 ;在抬起状态时,判断后续取得的图像中是否有3个(此为第四限值,具体可以设 定)步长的当前图像像素值差值阈值加法器的平均值小于前一步长的图像像素值差值阈 值加法器的平均值,即步骤S407,如否则持续判断,如是则为抬起后异常按下,则清除抬起 状态,即步骤S408,之后返回步骤S400继续判断。
权利要求
一种光学指示装置点击判断方法,包括如下步骤步骤一初始化相关控制参数,包括设置按下阈值、抬起计数器、按下计数器、预按下计数器、预按下信号标志及抬起后预按下计数器,并将抬起计数器、按下计数器、预按下计数器、预按下信号标志及抬起后预按下计数器清零;步骤二以设定的step帧数的图像做为一步长进行整体处理,其中计算出每一步长中每帧的图像的最大像素值与最小像素值的差值,并对此大于一设定的按下阈值的差值进行加总,同时利用按下计数器统计每一步长中图像的最大像素值与最小像素值的差值大于按下阈值的图像数量,根据按下计数器的值更新预按下计数器的值,之后再根据预按下计数器的值更新预按下信号标志;步骤三依据前后步大于按下阈值的差值加总后的平均值的关系计算抬起计数器与抬起后预按下计数器的值;步骤四依据预按下信号标志和按下计数器的值判断按下或抬起状态,根据抬起计数器的值判断按下状态时异常抬起情况,依抬起后预按下计数器的值判断是否清除抬起状态。
2.如权利要求1所述的光学指示装置点击判断方法,其特征在于步骤一中还包括设 置步长计数器、图像像素值差值阈值加法器、异常抬起计数器及按下信号标志,并在步骤一 中将这些控制参数的初始值均设为零。
3.如权利要求2所述的光学指示装置点击判断方法,其特征在于步骤二具体包括以 下步骤设置一循环变量K,并令K = 1 (步骤S101); 利用光敏检测器阵列获取外部物体的一帧图像(步骤S102); 计算此帧图像最大像素值与最小像素值的差值DIFPIX (步骤S103) 判断K是否小于step+Ι (步骤104);如是,则判断此帧图像的DIFPIX是否大于等于预先设定的一按下阈值(步骤S105); 如此帧图像的DIFPIX大于等于按下阈值,则按下计数器加1,同时图像像素值差值阈 值加法器加上此DIFPIX (S106);之后循环变量K自增1 (步骤S107);判断K是否等于st印+1,如否则转入步骤S102。
4.如权利要求3所述的光学指示装置点击判断方法,其特征在于步骤二中如果此帧 图像的DIFPIX小于预先设定的一按下阈值,则进入步骤S107。
5.如权利要求4所述的光学指示装置点击判断方法,其特征在于步骤二中如果K大 于等于st印+1,则步长计数器加1。
6.如权利要求5所述的光学指示装置点击判断方法,其特征在于步骤三具体包括如 下步骤判断步长计数器是否等于1 (步骤S200);如是,则计算此步长的图像像素值差值阈值加法器的平均值,并令当前步长的图像 像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值相同 (步骤 S201);如步长计数器不等于1,则计算当前步长的图像像素值差值阈值加法器的平均值(步骤 S202);在上述二步骤后,判断当前步长的图像像素值差值阈值加法器的平均值是否大于前一 步长的图像像素值差值阈值加法器的平均值(步骤S203);如是,更新前一步长的图像像素值差值阈值加法器的平均值,即将令前一步长的图 像像素值差值阈值加法器的平均值等于当前步长的图像像素值差值阈值加法器的平均值 (步骤 S204);判断抬起计数器是否大于一预设的第二门限值(步骤S205);如否则将抬起后预按下 计数器清零(步骤S208);之后将图像像素值差值阈值加法器清零(步骤S213);如是,则判 断当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加 法器的平均值之差是否大于像素平均值差值阈值(步骤S206),如否则将图像像素值差值 阈值加法器清零(步骤S213);如是,则抬起后预按下计数器加1(步骤S207),之后将图像 像素值差值阈值加法器清零(步骤S213)。
7.如权利要求6所述的光学指示装置点击判断方法,其特征在于步骤三还包括如下 步骤如果当前步长的图像像素值差值阈值加法器的平均值小于等于前一步长的图像像素 值差值阈值加法器的平均值,则判断当前步长的图像像素值差值阈值加法器的平均值是否 不等于零(步骤S209);如否,则将抬起计数器清零,并令当前步长的图像像素值差值阈值加法器的平均值与 前一步长的图像像素值差值阈值加法器的平均值相同(步骤S212),之后将图像像素值差 值阈值加法器清零(步骤S213);如是,则判断前一步长的图像像素值差值阈值加法器的平均值与当前步长的图像像素 值差值阈值加法器的平均值之差是否大于像素平均值差值阈值(步骤S210),如否则将图 像像素值差值阈值加法器清零(步骤S213);如是则令抬起计数器加1,并令当前步长的图像像素值差值阈值加法器的平均值与前 一步长的图像像素值差值阈值加法器的平均值相同(步骤S211),之后将图像像素值差值 阈值加法器清零(步骤S213)。
8.如权利要求7所述的光学指示装置点击判断方法,其特征在于步骤四具体包括如 下步骤判断预按下信号标志是否为1 (步骤S300);如否则将异常抬起计数器清零(步骤S301),之后判断按下计数器是否等于step (步骤 S307);如预按下信号标志为1,则判断按下计数器的值是否等于步长st印(步骤S302);如是, 令按下信号标志设为1,并将异常抬起计数器清零(步骤S303),之后判断按下计数器是否 等于st印(步骤S307);如按下计数器不等于步长step,则判断按下计数器是否大于零(步骤S304);如是,则 令异常抬起加数器加1 (步骤S306);如否,将预按下计数器清零(步骤S305);之后均判断 按下计数器是否等于st印(步骤S307);判断按下计数器是否等于step (步骤S307);如是,则预按下计数器加1 (步骤S308);之后判断预按下计数器是否大于等于2 (步骤S311);如否则判断异常抬起计数器是否大于等于预先设置的第三门限值(步骤S309);如否 则判断预按下计数器是否大于等于2(步骤S311);如是则预按下计数器清零(步骤S310); 判断预按下计数器是否大于等于2 (步骤S311); 判断预按下计数器是否大于等于2 (步骤S311);如是,则令预按下信号标志为1(步骤S312),之后将按下计数器清零(步骤S314); 如否,则令预按下信号标志及按下信号标志为零(步骤S313);之后将按下计数器清零 (步骤 S314)。
9.如权利要求8所述的光学指示装置点击判断方法,其特征在于该方法在步骤四之 后还包括如下步骤判断抬起计数器是否大于等于预先设置的抬起阈值(步骤S112),如否则判断抬起后 预按下计数器是否大于等于一预先设置的第一门限值(步骤S114); 如是,则预按下计数器清零(步骤S113);之后判断抬起后预按下计数器是否大于等于一预先设置的第一门限值(步骤Sl 14), 如否则初始化循环变量K,进入下一步长的处理;如是则抬起计数器清零(步骤Sl 15),之后也初始化循环变量K,进入下一步长的处理。
10.如权利要求9所述的光学指示装置点击判断方法,其特征在于上述的第一、第二 与第三门限值相同。
11. 一种光学指示装置点击判断方法,其特征在于该方法包括如下步骤利用光学指示装置的光敏检测器阵列连续取得多个步长的图像,其中每个步长是包括 预定数量的图像帧数,判断是否至少有第一限值的步长的所有图像的DIFPIX均在按下阈 值之上,并且当步长的图像像素值差值阈值加法器的平均值大于前一步长的图像像素值差 值阈值加法器的平均值(步骤S400),如否则认为是抬起状态(步骤S401); 如是,则认为是按下状态(步骤S402);在按下状态时,判断后续取得的图像中是否有第二限值的步长中每个步长中均有部分 图像的DIFPIX在按下阈值之下(步骤S403),如是则为异常抬起(步骤S404);在按下状态时,判断后续取得的图像中是否有第三限值的步长的当前图像像素值差 值阈值加法器的平均值均小于前一步长的图像像素值差值阈值加法器的平均值(步骤 S405),如否则持续判断,如是则为抬起状态(步骤S406);在抬起状态时,判断后续取得的图像中是否有第四限值的步长的当前图像像素值差值 阈值加法器的平均值小于前一步长的图像像素值差值阈值加法器的平均值(步骤S407), 如否则持续判断,如是则为抬起后异常按下,则清除抬起状态(步骤S408)。
全文摘要
本发明揭示一种光学指示装置点击判断方法,通过光学的方式判断点击事件,该方法通过对设定数量的帧数的图像做为一步长进行整体处理,其中计算出每一步长中每帧的图像的最大像素值与最小像素值的差值,并对此大于一设定的按下阈值的差值进行加总,同时利用按下计数器统计每一步长中图像的最大像素值与最小像素值的差值大于按下阈值的图像数量;之后依据前后步的大于一设定按下阈值的差值加总后的平均值的关系计算抬起计数器与抬起后预按下计数器的值;其后依据按下计数器的值与步长所包含图像的帧数判断按下或抬起状态,从而更能准确反映使用者的操作状况,从而更利于人机有效互动。
文档编号G06F3/033GK101807125SQ20101013204
公开日2010年8月18日 申请日期2010年3月25日 优先权日2010年3月25日
发明者刘建, 刘红, 邵菊花 申请人:埃派克森微电子(上海)有限公司;埃派克森微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1