首页> 中国专利> 支持窄域和宽域模式照明和图像捕捉的手持式基于成像的条形码符号阅读器

支持窄域和宽域模式照明和图像捕捉的手持式基于成像的条形码符号阅读器

摘要

一种手持式基于数字成像的条形码符号读取装置,包括:基于IR的物体存在和范围检测子系统;有窄域和宽域图像捕捉操作模式的多模式域类型图像形成和检测子系统;有窄域和宽域照明操作模式的多模式基于LED的照明子系统;自动曝光测量和照明控制子系统;图像捕捉和缓存子系统;多模式图像处理条形码符号读取子系统;输入/输出子系统;可手动激活的触发开关;系统模式配置参数表;与上述每个子系统结合的系统控制子系统。该条形码读取装置可在许多可编程的系统操作模式下被配置和操作用来以高速方式通过使用先进的捕捉的图像上的图像处理模式自动读取1D和2D的条形码符号。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-10-05

    授权

    授权

  • 2010-01-13

    发明专利申请公开说明书更正 号:40 卷:25 页码:扉页 更正项目:优先权(第21项) 误:[31]10/901,709 正:[31]10/902,709 申请日:20041115

    发明专利申请公开说明书更正

  • 2010-01-13

    发明专利公报更正 号:40 卷:25 页码:759 更正项目:优先权(第21项) 误:[31]10/901,709 正:[31]10/902,709 申请日:20041115

    发明专利公报更正

  • 2009-12-02

    实质审查的生效

    实质审查的生效

  • 2009-10-07

    公开

    公开

说明书

本申请是2004年11月15日提交的、申请号为200480040399.0、名称为“支持窄域和宽域模式照明和图像捕捉的手持式基于成像的条形码符号阅读器”的申请的分案申请。

技术领域

本发明涉及手持式、便携域类型数字条形码阅读器,具有阅读一维(1D)和二维(2D)条形码符号以及其它图形编码智能形式的数字图像处理的多种模式。

背景技术

自动识别产业的状态可以从以下几个方面理解:(i)在该产业中发展并被采用的条形码符号的不同种类;(ii)被发展并且用来阅读在不同用户环境下的这些条形码符号的设备种类。

通常,有三类主要的条形码符号,即:一维(1D)条形码符号,如UPC/EAN,码39等;行排式1维条形码符号,如码49、PDF417等;二维(2D)数据矩阵符号。

一维光学条形码阅读器在本领域中非常著名。此类阅读器的例子包括计量仪器有限公司生产的Metrologic系列激光扫描器的阅读器。这种阅读器包括处理电路,能阅读广泛应用于超市的一维(1D)线性条形码符号,如UPC/EAN码,码39等。这种一维线性符号的特征在于数据以条宽和空宽沿着单轴编码,因此假设符号沿着这个轴以足够高的分辨率成像,那么这种符号可以从沿着这个轴的单次扫描中读出。

为了允许在单条形码符号中编码大量的数据,许多的行排式1D条形码符号被开发,包括:如在美国专利号4,794,239(Allais)中所描述的码49;和在美国专利号5,340,786(Pavlidis,等人)中所描述的PDF417。行排式符号将编码数据分割成多行,每行包括各自的1D条形码模式,其中所有或者大多数必须被扫描和解码,然后链接在一起形成一个完整的信息。扫描仅在一维仍然需要相对较高的分辨率,但是需要多线扫描来读出整个符号。

条形码符号的第三类,被称为2D矩阵符号,提供无方向扫描以及比1D符号更大的数据密度和容量。在2D矩阵码中,数据在一个规则多边矩阵内被编码为暗或亮数据单元,伴有图形搜寻器,定向及查询结构。当扫描2D矩阵码时,数据单元的水平和垂直关系用大约相同的分辨率记录。

为了避免不得不使用不同种类的光学阅读器来读出这些不同种类的条形码符号,就需要有一种可以可互换地且自动地读出这些种类中任一种,包括它们各种子类的符号的光学阅读器。尤其地,需要一种可读出所有上述三种类型的条形码符号的,无需人为干涉的即自动的光学阅读器。这是时机,要求阅读器能仅基于从符号本身读取的信息自动地辨识和解码条形码符号。拥有这种能力的阅读器被称为“自动辨识”或有“自动辨识”能力。

如果自动辨识阅读器仅可以读出1D条形码符号(包括它们各种子类),就可被认为有1D自动辨识能力。类似地,如果它仅可以读出2D条形码符号,可被认为有2D自动辨识能力。如果它可互换地读出1D和2D条形码符号,可被认为有1D/2D自动辨识能力。然而,阅读器常常被认为有1D/2D自动辨识能力,即使它不能辨识和解码行排式1D条形码符号。

能自动辨识1D的光学阅读器在本领域中非常著名。这种阅读器的一个早期例子是由计量仪器有限公司制造的Metrologic’s激光扫描器。

能自动辨识1D/2D并且基于使用异步移动1D图像传感器的光学阅读器,尤其是手持式光学阅读器,在专利号5,288,985和5,354,977的美国专利中进行了描述,其申请据此引为参考。这种类型的手持式阅读器的其它例子,基于静态2D图像传感器的使用,描述在专利号为6,250,551、5,932,862、5,932,741、5,942,741、5,929,418、5,914,476、5,831,254、5,825,006、5,784,102的美国专利中,这些申请据此引为参考。

光学阅读器,无论是静止的或是移动类型的,通常以固定的扫描率操作,这意味着阅读器被设计为在一个给定的时间内完成某一固定的扫描次数。对1D阅读器来说这个扫描率的值通常在30和200扫描/秒之间。在这种阅读器中,连续扫描的结果被按照它们发生的顺序解码。

基于成像的条形码符号阅读器有优于基于激光扫描的条形码符号阅读器的大量优点,即:它们更适于读取行排式2D符号,如PDF417符号;更适于读取矩阵式2D符号,如数据矩阵符号;更适于读取条形码,不管它们的方向;有更低的制作成本;有在其它应用中使用的潜力,涉及或不涉及条形码扫描,如OCR、安全系统等。

先有技术的基于成像的条形码符号阅读器具有大量另外的缺点。

大多数先有技术的手持光学读取装置能通过从条形码编程菜单读条形码或通过在专利号为5,929,418的美国专利中所教导的本地主机处理器的使用被重编程。然而,在配置到终端用户应用环境之前,这些装置在业内外通常被限制在已经设计好的模式下操作,。因此,这种先有技术的基于成像的条形码阅读系统的静态配置特征限制了它们的性能。

具有完整的照明子系统的先有技术的基于成像的条形码符号阅读器也支持相对较短范围的光学景深。这限制了这种系统读大或高密度条形码标签的能力。

先有技术的基于成像的条形码符号阅读器通常需要单独的设备来产生可见瞄准光束,来帮助用户将摄像机的视场瞄准到特定目标物体的条形码标签。

先有技术的基于成像的条形码符号阅读器通常需要获取条形码符号图像数据的多个帧,以及用来同步解码过程和这种阅读器中图像捕捉过程的特殊设备,正如在转让给Welch Allyn有限公司的美国专利号为5,932,862和5,942,741中所需要的阅读器。

先有技术的基于成像的条形码符号阅读器通常在图像捕捉操作中需要大的LED阵列来照亮可能存在条形码符号的视野,这时常浪费大量电力,这些电力在便携式或移动式基于成像的阅读器中是很重要的。

先有技术的基于成像的条形码符号阅读器通常需要处理捕捉图像的整个像素数据集,来发现并且解码其中存在的条形码符号。另一方面,某些先有技术成像系统使用传统的CMOS图像传感器中固有的可编程的(像素)视窗特征来捕捉部分图像帧以减少像素数据集处理并且享有图像处理速度和成像系统性能的改进。

很多先有技术的基于成像的条形码符号阅读器也需要使用解码算法,通过发现和分析其中存在的2D条形码符号的代码字来寻找捕捉的图像内条形码单元的方向。

某些先有技术的基于成像的条形码符号阅读器通常需要使用手动触发器来启动图像捕捉和它的处理周期。

先有技术的基于成像的条形码符号阅读器通常需要单独的光源,产生可见瞄准光束和产生用来照亮条形码阅读器视野的可见照明光束。

先有技术的基于成像的条形码符号阅读器通常应用在单独的图像捕捉和处理周期内,和单独的解码存在于捕捉的图像内的条形码符号的解码方法。

某些先有技术的基于成像的条形码符号阅读器需要与图像检测阵列集成的曝光控制电路,来测量在其已选择部分上的曝光级别。

另外,很多基于成像的阅读器也需要捕捉的图像的处理部分来检测其图像亮度和确定在系统图像检测部分的反射光级别,其后,控制基于LED光源来达到需要的在图像检测器的图像曝光级别。

先有技术使用集成照明机制的基于成像条形码符号阅读器通过控制图像传感设备暴露在从成像物体反射的光的时间来控制图像亮度和对比度。虽然这种方法已经为基于CCD条形码扫描仪所证明,但是,对于需要更复杂模板机制的基于CMOS图像传感设备并不适用,导致复杂度增加,可靠性减少并且最终导致更昂贵的条形码扫描系统。

先有技术基于成像条形码符号阅读器通常需要使用标签和条形码菜单来管理,其解码算法用在任何一种通过从条形码菜单读取条形码符号来编程的具体系统操作模式内。

最后,由于先有技术基于成像条形码符号阅读器在机械、电学、光学和软件设计方面的局限性,这种先有技术阅读器通常(i)不能使用户使用简单的基于激光扫描的条形码符号阅读器读高密度1D条形码和2D符号,如PDF417和数据矩阵,并且(ii)不能用在OCR和OCV、安全应用等。

因此,本领域迫切需要一种使用避免先有技术方法和装置缺点的图像捕捉和处理技术的读取条形码符号的改进方法和装置。

发明内容

因此,本发明的主要目的是提供一种新颖的方法和装置,使用基于图像捕捉和处理的系统和设备能读取1D和2D条形码符号,避免了现有技术的方法和装置的缺点。

本发明的另一个目的是提供一种新颖的手持式基于数字成像的条形码符号阅读器,通过使用达到最新技术发展水平的成像技术和传统激光扫描条形码符号阅读器达到的速度和可靠性,能够自动阅读1D和2D条形码符号。

本发明的另一个目的是提供一种新颖的手持式的基于数字成像的条形码符号阅读器,能够阅读行排式2D符号,如PDF417和数据矩阵。

本发明的另一个目的是提供一种新颖的手持式的基于数字成像的条形码符号阅读器,能够阅读条形码,而不依赖于条形码相对于阅读器的方向。

本发明的另一个目的是提供一种新颖的手持式的基于数字成像的条形码符号阅读器,利用可用于其它应用中的结构,这些应用可能涉及或不涉及条形码扫描,如OCR、OCV、安全系统等。

本发明的另一个目的是提供一种新颖的手持式的基于数字成像条形码符号阅读器,能和“飞点(flying-spot)”类激光扫描仪一样简单、高效地读高密度条形码。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,能以终端用户使用传统激光扫描条形码符号阅读器一样方便的方式读1D和2D条形码符号。

本发明的另一个目的是提供一种具有多模式条形码符号读取子系统的手持式基于成像的条形码符号阅读器,其能根据对捕捉的图像执行的实时处理操作动态重新配置。

本发明的另一个目的是提供一种手持式基于成像条形码符号阅读器,具有集成的基于LED的多模式照明子系统,用来产生可见窄域照明光束来瞄准到目标物体并且在系统的窄域图像捕捉模式下照亮与之对准的1D条形码符号,之后在系统的宽域图像捕捉模式下照亮目标物体上任意方向的1D或2D条形码符号。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,使用集成多模式照明子系统,其产生可见窄域照明光束用来瞄准到目标物体,然后照亮与之对准的1D条形码符号,捕捉其图像,之后产生宽域照明光束用来照亮物体上的1D或2D条形码符号并且捕捉其图像以及对其进行处理来读取存其中的条形码。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,在条形码符号成像操作中,使用自动的物体存在和范围检测来控制近场和远场广域照明光束的生成。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,采用了使用全局曝光控制技术的CMOS类型图像传感阵列。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,使用具有在其手持式外壳内集成的带通光学滤光器子系统的CMOS类型图像传感阵列,只允许来自多模式照明子系统的窄带照明以曝光CMOS图像传感阵列。

本发明的另一个目的是提供一种手持式基于成像的自动辨识1D/2D条形码符号阅读器,使用基于多模式图像处理的条形码符号读取子系统,在条形码阅读操作中响应实时图像分析进行动态重配置。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,使用连续工作自动曝光测量和照明控制子系统。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,使用多模式的基于LED的照明子系统。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,具有1D/2D自动辨识能力。

本发明的另一个目的是提供一种方法,该方法在既有窄域又有宽域图像捕捉操作模式的基于成像的条形码符号阅读器中,执行自动辨识1D/2D条形码符号。

本发明的另一个目的是提供一种设备的方法,在基于成像的条形码符号阅读器内处理捕捉的图像,以读取(即识别)其内图形表示的条形码符号。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,采用对捕捉的物体的2D图像螺旋扫描特征提取分析,从其中心索引。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,采用以外向方式对捕捉的具有1D条形码符号的物体的窄域图像应用的简单图像处理操作。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,采用具有远场和近场照明阵列的集成的基于LED的多模式照明子系统,该阵列易受控于控制信号,该控制信号是由在系统操作的第一模式期间基于IR的物体存在和范围检测子系统和在系统操作的第二模式期间的系统控制子系统产生的。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读系统,采用由易受控于控制激活信号的自动曝光测量和照明控制子系统驱动的集成的基于LED的多模式照明子系统,该控制激活信号在物体照明和图像捕捉操作中,由CMOS图像传感阵列和基于IR物的体存在和范围检测子系统产生。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,使用CMOS图像传感阵列,该阵列激活LED照明驱动电路来使目标物体暴露在窄调谐的基于LED的照明中,当在所述CMOS图像传感阵列中所有像素行处在结合的状态时,独立于该条形码阅读器和目标物体间的相对运动来捕捉高质量图像。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读系统,其中窄带照明在它的CMOS图像传感阵列上的曝光时间通过使用控制信号控制基于LED照明阵列的照明时间来管理,该控制信号在通过带通光学滤光器子系统控制其上的窄带照明中,由自动曝光测量和照明控制子系统以及CMOS图像传感阵列产生。

本发明的另一个目的是提供一种手持式基于成像的条形码符号读取系统,采用通过控制照明子系统照亮目标物体的时间来控制图像亮度和对比度的机制,因此,避免为其内采用的基于CMOS图像传感阵列提供复杂模板机制的需要。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,使用多模式图像处理条形码符号读取子系统,其在单条形码符号阅读周期内自动转换其阅读模式,并且在各个阅读模式中应用大量不同的条形码符号解码算法。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,其中多模式图像处理符号读取子系统具有操作第一多阅读(如:全扫描/特定ROI)模式,用于高速方式下的适应性处理和解码一个捕捉的高分辨率图像,适用于适应的学习技术。

本发明的另一个目的是提供这样一种手持式基于成像的条形码符号阅读器,其带有具有第一多阅读(如:全扫描/特定ROI)操作模式的多模式图像处理条形码符号读取子系统,其中如果在全扫描操作模式下,与PDF417条形码符号相关联的编码段在捕捉的(窄或宽)区域图像的ROI内被检测到,但是其处理并不成功,于是多模式图像处理符号读取子系统将自动地(i)进入其上述的特定ROI工作模式,然后(ii)在全扫描操作模式下,在由特征向量分析获得的ROI坐标确定的ROI上,立即开始处理捕捉的图像。

本发明的另一个目的是提供这样一种手持式基于成像的条形码符号阅读器,其带有具有第一多阅读(如:全扫描/特定ROI)操作模式的多模式图像处理条形码符号读取子系统,其提供全扫描操作模式从而开始并随时快速阅读出现在捕捉图像中的1D条形码符号和各种2D条形码符号,并且只要PDF417符号被检测到(通过其编码段),本发明的多模式条形码符号读取子系统就能自动转换(不工作的)到其特定ROI操作模式从而以特定ROI来立即处理高分辨率图像数据(在该特定ROI上条形码符号出现具有的高可能性)。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,其中它的多模式图像处理符号读取子系统具有第二多阅读(如:无探测器/特定ROI)操作模式,用于在高速方式下适应性处理捕捉的高分辨率图像,适用于适应性学习技术

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,其中多模式图像处理符号读取子系统有第二多阅读(如:无探测器/特定ROI)操作模式,并且其中如果在无探测器操作模式期间,与PDF417条形码符号相关联的编码段在捕捉的宽域图像内被检测到,但是其解码处理并不成功,那么多模式图像处理符号读取子系统将自动地(i)进入其上述特定ROI操作模式,然后(ii)以y坐标确定的ROI来立即开始处理捕捉的宽域图像,这对应无探测器操作模式期间处理的宽域图像。

本发明的另一个目的是提供这样一种手持式基于成像的条形码符号阅读器,其中它的多模式图像处理符号读取子系统具有第二多阅读(如:无探测器/特定ROI)操作模式,并且其中无探测器模式能快速读出随时出现在条形码符号阅读器中的1D条形码符号,并且只要遇到2D(如:PDF417)符号,条形码符号阅读器能自动将它的阅读方法转换到特定ROI模式并且使用从在无探测器模式期间处理的窄(或宽)域图像中收集的特征,以便在捕捉的宽域图像帧中立刻处理特定的ROI,其上条形码符号出现具有高可能性,并且在高目标的方式下执行。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,其中多模式图像处理条形码读取子系统具有第三多阅读(如:无探测器/全扫描/特定ROI)操作模式,用于在高速方式下适应性处理捕捉的高分辨率图像,适用于适应性学习技术。

本发明的另一个目的是提供这样一种手持式基于成像的条形码符号阅读器,其中多模式图像处理符号读取子系统具有第三多阅读(如:无探测器/全扫描/特定ROI)操作模式,并且其中如果在无探测器操作模式下,与PDF417条形码符号相关联的编码段在被捕捉的窄域图像内被检测到,但是其处理并不成功,那么图像形成和检测子系统(i)自动捕捉宽域图像,当多模式图像处理符号读取子系统(ii)自动进入其上述的全扫描操作模式,然后(iii)在若干平行的空间分离的(如:50像素)虚拟扫描线上,从无探测器操作模式期间处理的窄域图像中检测到的编码段的x和/或y坐标确定的起始像素和起始角度开始,立刻开始处理捕捉的宽域图像,;并且,如果全扫描模式没有成功读出ROI内的条形码符号,那么多模式图像处理符号读取子系统(i)自动进入其上述的特定ROI操作模式,然后(ii)以与在全扫描操作模式期间处理的宽域图像中检测到的编码段相对应的x,y坐标所确定的ROI来立即开始处理被捕捉的宽域图像。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,其中多模式图像处理符号读取子系统具有第三多阅读(如:无探测器/全扫描/特定ROI)操作模式,并且其中无探测器模式能很快的得到1D条形码符号,无论何时它们出现在条形码符号阅读器中,并且只要遇到2D符号,条形码符号阅读器能自动将它的读取方法转换到全扫描模式,在处理过的图像数据上收集特征,如果这种读取方法不成功,那么条形码阅读器能自动将其读取方法转换到特定ROI模式并且使用在全扫描模式中收集的特征来立刻处理在捕捉的宽域图像帧中的特定ROI,其上条形码符号出现具有高可能性,并且在高目标的方式下执行。

本发明的一个另目的是提供一种手持式基于成像的条形码符号阅读器,其具有集成多模式照明子系统,该子系统支持比传统基于成像的条形码符号阅读器大的光学景深。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,其对于13.5mil条形码符号具有约为0mm到200mm(面对8″)的景深(DOF),其中分辨率作为物距的函数而变化,它能解码某处的5mil编码,它的光学能解决某处的4mil编码,且它有一个45°的视场。

本发明的另一个目的是提供一种具有多模式基于图像处理条形码符号读取子系统的基于成像的条形码符号阅读器,其使用一套特征并建立一个特征向量来确定可能含有条形码的兴趣区。

本发明的另一个目的是提供一种具有多模式基于图像处理条形码符号读取子系统的基于成像的条形码符号阅读器,它使用多样的、适应性的门限来确定和标识兴趣区(ROIs)。

本发明的另一个目的是提供一种具有多模式基于图像处理条形码符号读取子系统的基于成像的条形码符号阅读器,其利用一些图像处理方法来确定分级配置中的条形码方向。

本发明的另一个目的是提供一种具有多模式基于图像处理条形码符号读取子系统的基于成像的条形码符号阅读器,其使用一些不同的扫描数据过滤技术以产生条空计数。

本发明的另一个目的是提供一种具有多模式基于图像处理条形码符号读取子系统的基于成像的条形码符号阅读器,其使用条形码和空拼接改正透视和投影变换,并对已损坏的标签进行解码。

本发明的另一个目的是提供一种具有多模式基于图像处理条形码符号读取子系统的基于成像的条形码符号阅读器,当一幅图像被逐渐得到时,其使用图像数据的增量处理。

本发明的另一个目的是提供一种具有多模式基于图像处理条形码符号读取子系统的基于成像的条形码符号阅读器,其使用低层直方图分析来确定捕捉的图像中的亮点。

本发明的另一个目的是提供一种具有多模式基于图像处理条形码符号读取子系统的基于成像的条形码符号阅读器,其全方向地检测所有1D符号和PDF417。

本发明的另一个目的是提供一种具有多模式基于图像处理条形码符号读取子系统的基于成像的条形码符号阅读器,其全方向地解码UPC/EAN,1205,C128,C39,C93,CBR。

本发明的另一个目的是提供一种具有多模式基于图像处理条形码符号读取子系统的基于成像的条形码符号阅读器,其使用低发生率的“错误报告”。

本发明的另一个目的是提供一种具有多模式基于图像处理条形码符号读取子系统的基于成像条形码符号阅读器,其对在快照操作模式下存储在存储器中的图像起作用。

本发明的另一个目的是提供一种具有多模式基于图像处理条形码符号读取子系统的基于成像的条形码符号阅读器,其对在增量操作模式下逐渐获得的图像起作用。

本发明的另一个目的是提供一种有多模式基于图像处理条形码符号读取子系统的基于成像条形码符号阅读器,其在捕捉的具有高分辨率的大小为32768×32768像素的图片上操作。

本发明的另一个目的是提供一种手持式基于成像条形码符号阅读器,使用简单,制作费用低廉,需要元件少,具有尽可能小的版型,不使用移动元件(即:没有动态聚焦,没有摄像机移动),使用所有的球面和普通镜。

本发明的另一个目的是提供一种低成本、高分辨率基于成像的条形码符号阅读器,用于全方面阅读规则的一维条形码和二维条形码,如PDF417符号。

本发明的另一个目的是提供这样一种基于成像的条形码符号阅读器,其旨在于在需要2D条形码阅读来确认时间或其它的便利店、加油站、便捷超市和酒水商店中销售物品时使用。

本发明的另一个目的是提供一种改进的基于成像的条形码符号阅读装置,用来集成不同种类信息捕捉和处理系统,如与基站有无线接口的条形码驱动便携式数据终端(PDT),反转自动贩卖机,零售条形码驱动亭等。

本发明的另一个目的是提供一种使用CMOS图像传感阵列在基于成像的条形码符号阅读器中控制全局曝光的新颖的方法和设备。

本发明的另一个目的是提供一种手持式基于成像的条形码读取系统,其应用一种新颖的在照明和成像操作中能够自动减少由镜面反射引起的检测的数字图像中的噪音的照明方法。

本发明的另一个目的是提供一种新颖的用于生产一种复合的DOF图,其完全从理论上刻画了使用在基于成像的条形码符号阅读器中图像构成光学的景深(DOF)的系统及其方法。

本发明的另一个目的是提供一种手持式数字基于成像的条形码符号阅读器,支持照明和图像捕捉的窄域和宽域模式。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,有多模式条形码符号图像处理器,其动态可重置以回应捕捉的图像上实施的实时图像处理操作。

本发明的另一个目的是提供一种手持式半自动基于成像的条形码读取系统,其中当多模式图像形成和检测(IFD)子系统捕捉其中的对准的1D条形码符号的窄域图像时,基于LED的照明子系统自动在照明的窄域场内照亮目标物体;当手动通过触发开关转换到宽域照明和图像捕捉模式时,在多模式IFD子系统捕捉到其上任意方向的1D或2D码符号的宽域图像时,基于LED的照明子系统在照明的宽域场内照亮目的物体。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,使用多模式照明子系统,其在瞄准目标物体时进行窄域照明,在窄域图像捕捉模式下照亮对准的1D条形码符号,在宽域图像捕捉模式下用宽域照明照亮任意方向的1D和2D条形码符号。

本发明的另一个目的是提供一种手持式基于成像的条形码符号的阅读器,其在条形码符号成像操作中使用自动物体存在和范围检测来控制近场和远场宽域照明。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,使用全局曝光技术的CMOS类型图像传感器。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,使用带有集成在其手持式外壳内的带通滤光器子系统的CMOS类型图像传感阵列。

本发明的另一个目的是提供一种手持式基于成像的自动辨识1D/2D条形码符号阅读器,使用多模式图像处理条形码符号读取子系统,该子系统有多种根据实施图像分析自动调整的操作模式。

本发明的另一个目的是提供一种手持式多模式基于成像的条形码符号阅读器,使用自动照明和曝光控制子系统,该子系统自动控制基于LED的多模式照明子系统的操作以便被检测到的物体可以被充分的照亮,并且在照明和成像操作中,通过多模式图像形成和检测子系统检测和形成被检测到物体的高质量数字图像。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,使用三模式基于LED照明子系统。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,使用带有组合的图像处理体系结构的多模式基于图像处理的条形码读取子系统。

本发明的另一个目的是提供一种在有窄域和宽域图像捕捉操作模式的半自动手持式基于成像的条形码符号阅读器中对1D/2D条形码符号执行自动辨识的方法。

本发明的另一个目的是提供一种在半自动手持式基于成像的条形码符号阅读器内处理物体捕捉的数字图像,以便读取其中图形形式表现的1D和/或2D条形码符号的装置及方法。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,从参考物体中心对其捕捉的数字图像进行螺旋扫描特征提取分析。

本发明的另一个目的是提供一种自动的手持式基于成像的条形码符号阅读器,有基于图像处理的条形码读取子系统,该子系统应用以带有1D条形码符号的物体的捕捉的窄域数字图像中心为参考点向外方式进行简单解码图像处理操作。

本发明的另一个目的是提供一种基于数字成像的条形码符号读取系统,使用有远场和近场LED照明阵列的基于LED多模式照明子系统,该阵列由自动曝光测量和照明控制子系统驱动,响应性地控制由自动物体存在和范围检测子系统产生的激活信号。

本发明的另一个目的是提供一种基于数字成像的条形码符号阅读器,使用由自动曝光测量和控制子系统驱动的基于LED的照明子系统,响应性地控制由域类型图像传感阵列和自动物体存在检测子系统在物体照明和图像捕捉操作中产生的激活信号。

本发明的另一个目的是提供一种手持式基于成像的条形码符号阅读器,使用自动曝光测量和照明控制子系统,该子系统控制LED照明驱动电路仅当在CMOS图像传感阵列的几乎所有像素的列处于集成状态时将自动检测到的物体暴露在窄带基于LED照明场内,从而捕捉高质量数字图像,而不依赖于该条形码符号阅读器和物体间的相对运动。

本发明的另一个目的是提供一种基于数字成像的条形码符号读取系统,其中CMOS图像传感阵列暴露在来自基于LED的照明阵列的窄带照明的持续时间通过控制该基于LED的照明阵列产生的窄带照明的时间来管理,响应控制由CMOS图像传感阵列和在该系统外的自动物体存在检测子系统产生的激活信号。

本发明的另一个目的是提供一种具有一个子系统的手持式基于数字成像的条形码符号读取系统,该子系统自动处理捕捉的数字图像,沿着一组由若干像素偏移距离分隔开的平行的虚拟扫描线,其中该像素偏移距离与含有条形码符号的捕捉的数字图像中的兴趣区(roi)的最大像素高度成比例。

本发明的另一个目的是提供一种使用多模式图像处理符号读取子系统的基于数字成像的条形码符号读取系统,该子系统在单条形码符号读取周期中转换其读取模式,并且在各读取模式中,自动应用不同的基于图像处理的条形码符号读取方法。

本发明的另一个目的是提供一种用于确定在基于成像的条形码符号阅读器中解码分辨率的更低限制的方法和设备。

本发明的另一个目的是提供一种手持式基于数字成像的条形码符号读取系统,使用一种智能照亮物体的方法,以便于产生其数字图像,该图像完全摆脱在照明和成像操作中照明脱离该物体的镜面类型反射引起的噪音。

本发明的另一个目的是提供一种在多层组合的软件平台上实现的手持式的半自动的基于数字成像的条形码符号读取系统。

本发明的另一目的是提供一种基于数字成像的条形码符号驱动便携式数据终端系统。

本发明的另一目的是提供一种手持式基于数字成像的条形码符号读取系统,其中在每个成像周期,当其几乎所有的像素行完全处于集成状态并有一个共同的集成时间时,一个像素数据的单帧被CMOS域类型图像传感阵列自动检测到,然后像素数据被从该CMOS域类型图像传感阵列传送到FIFO缓冲器,并接着被绘制到存储器为随后的图像处理。

本发明的另一个目的是提供一种在具有带有视场的图像传感阵列的手持式成像器中和基于LED照明子系统中自动照明控制的方法,其中该方法使用基于软件的图像照明计量程序,该程序涉及分析捕捉图像的空间密度。

本发明的另一个目的是提供一种手持式的基于数字成像的条形码符号阅读装置,其包含自动曝光测量和照明控制子系统以及基于软件照明计量程序,来改进照明控制。

本发明的另一个目的是提供一种手持式基于数字图像处理的条形码符号读取系统,使用图像裁切域(ICZ)帧和成像后捕捉裁切过程。

本发明上述和其他目的将通过下文及所附的权利要求变得更清晰易懂。

附图说明

结合下述附图的简要说明来阅读下述实施例的具体说明以完全理解如何实现本发明的目的。

图1A是本发明的手持式基于数字成像的条形码符号阅读装置的第一实施例后立体视图;

图1B是本发明的手持式基于数字成像的条形码符号读取装置的第一实施例主立体视图;

图1C是本发明的手持式基于数字成像的条形码符号读取装置第一实施例的提高的左视图;

图1D是本发明的手持式数字基于成像的条形码符号读取装置第一实施例的提高的右视图;

图1E是本发明的手持式基于数字成像的条形码符号读取装置第一实施例的提高的后视图;

图1F是本发明的手持式基于数字成像的条形码符号读取装置第一实施例的提高的主视图,示出了与其照明子系统和图像捕捉子系统联合的组成;

图1G是本发明的手持式基于数字成像的条形码符号读取装置第一实施例的提高的仰视图;

图1H是本发明的手持式基于数字成像的条形码符号读取装置第一实施例的顶后视图;

图1I是本发明的手持式基于数字成像的条形码符号读取装置第一实施例的第一立体分解图;

图1J是本发明的手持式基于数字成像的条形码符号读取装置第一实施例的第二立体分解图;

图1K是本发明的手持式基于数字成像的条形码符号读取装置第一实施例的第三立体分解图;

图2A1是图1A到图1L所示的手持式基于数字成像的条形码符号读取装置的系统设计的结构示意图,其中示出的系统设计包括(1)多模式域类型图像形成和检测(即照相机)子系统,具有产生在要被成像的物体上的视场(FOV)的图像形成(照相机)光学装置,和CMOS等域类型图像传感阵列,该图像传感阵列用来检测在照明操作过程中物体反射的成像光,在要么以(i)窄域图像捕捉模式,其中在图像传感阵列上,像素的一些中心行被激活,或以(ii)宽域图像捕捉模式,其中图像传感阵列的所有行都被激活;(2)多模式基于LED的照明子系统,用于分别在窄域和宽域图像捕捉模式下,在图像形成和检测子系统的视场内产生窄带照明的窄和宽域场,因此只有从多模式照明子系统传输,并从被照亮的物体反射,从在手持式外壳中实现的窄带传输类型光学滤光器(即,使用设置在光传输光圈的红色波长高通反射窗口滤波器元件和在图像传感器之前的低通滤波器)穿过的光才被图像传感器检测到,并且周围光线的所有其它部分基本被排斥;(3)基于IR的物体存在和范围检测子系统,用于在图像形成和检测子系统的视场内产生基于IR的物体检测场;(4)自动曝光测量和照明控制子系统,用于控制基于LED的多模式照明子系统的操作;(5)图像捕捉和缓存子系统,用于捕捉和缓存由图像形成和检测子系统检测到的2-D图像;(6)多模式基于图像处理的条形码读取子系统,用于处理由图像捕捉和缓存子系统捕捉和缓存的图像,并且读出表示的1D和2D条形码符号;以及(7)输入/输出子系统,用于将处理的图像数据等输出到外部主系统或其它信息接收或响应设备,其中各个所述的子系统部件都在附近集成;(8)系统控制子系统,如图所示;

图2A2是使用图2B中的三层计算平台实现的多模式基于图像处理的条形码符号阅读系统,;

图2B的是图1A到2A2所示的手持式基于数字成像的条形码符号读取装置的系统执行的示意图,其中所示的系统执行包含(1)带有实现电子功能组件的照明板33,该电子功能由多模式基于LED的照明子系统以及自动曝光测量和照明控制子系统执行;(2)CMOS照相机板,带有高分辨率(1280×10248-bit 6微米像素大小)CMOS图像传感器阵列,运行在25Mhz主时钟,7帧/秒,1280×1024分辨率,随机存取兴趣区(ROI)窗口容量,实现由多模式域类型图像形成和检测子系统执行的电子功能。(3)CPU板(即计算平台),包括:(i)Intel Sabinal 32-bit微处理器PXA210,在200Mhz1.0核心电压,16bit 100Mhz外部总线速度运行,(ii)可扩展的(如8+兆字节)Intel J3异步16-bit闪存,(iii)100MHz SDRAM的16兆字节,(iv)Xilinx Spartan II FPGA FIFO 39,以50Mhz时钟频率和60MB/Sec数据速率运行,被配置以控制照相机计时和驱动图像获得过程,(v)多媒体卡座,实现该系统的其它子系统,(vi)电压管理模块,为系统总线可调MCU,和(vii)一对UART(一个用于IRDA端口,一个用于JTAG端口),(4)接口板,用于实现由I/O子系统执行的功能,和(5)基于IR的物体存在和范围检测电路,用于实现基于IR的物体存在和范围检测子系统;

图3A是在窄和宽域图像捕捉操作模式下,在多模式图像形成和检测子系统的视场中窄带照明的近、远、窄和宽域场之间的空间关系的示意图;

图3B是本发明的手持式基于数字成像的条形码符号读取装置第一实施例的部分去除立体图,示出了基于LED的多模式照明子系统通过它的窄带传输类型滤光镜系统来传输可见的窄带照明,并且用这样的窄带照明来照亮物体;也示出了图像形成光学装置,包括在图像传感阵列前的低通滤镜,用于收集和聚焦从被照亮的物体反射的光线,以便只用照明的窄带中包含的光线的光学部分就可以使物体的图像被形成和检测到,同时周围光线的所有其它部分在图像传感阵列的图像检测之前被充分排斥掉;

图3C是本发明的手持式基于数字成像的条形码符号读取装置第一实施例中使用的光学部件的几何设计,其中红色波长反射高通透镜部件位于在该装置的图像形成透镜部件之前的成像窗口,同时低通滤镜被安置在图像传感器之前,在图形形成部件之间,以便在照明的窄带中只使用光学部件来在图像传感阵列上来成像物体,同时排斥周围光线的所有其它部件;

图3D是本发明的手持式基于数字成像的条形码符号读取装置第一实施例中使用的图像形成光学子系统的示意图,其中所有的三个透镜都被制作的尽可能的小(最大直径12mm),都具有球形表面,都由普通玻璃制成,如:LAK2(-LaK9),ZF10(=SF8),LAF2(-LaF3);

图3E是本发明的手持式基于数字成像的条形码符号读取装置第一实施例的图像形成光学子系统中使用的透镜支撑部件的示意图,示出了支撑透镜部件的两片管状结构,以及支撑图像传感阵列的基底结构,其中部件被配置以便管状结构在基底结构内滑动以便于聚焦部件;

图3F1是在多模式照明子系统中使用的的LED的物理位置侧视的第一示意图,与图像形成透镜部件相比,其中使用的图像传感阵列(如:摩托罗拉MCM20027或国家半导体LM9638 CMOS 2-D图像传感阵列,具有1280×1024的像素分辨率(1/2”格式),6微米像素大小,13.5Mhz时钟速率,随机存取兴趣区窗口容量);

图3F2是本发明的基于数字成像的条形码读取装置的多模式照明子系统中使用的LED的物理设计轴向角度示出的第二示意图,与图像形成透镜部件相比,并且其中应用了图像传感阵列;

图3G是一描述了确定在本发明的条形码读取系统中应用的图像形成光学部件的景深(DOF)的步骤的流程图;

图4A是在基于数字成像的条形码读取装置的图像形成光学设计中使用的景深图的图示,其中图像形成透镜分辨率特征相对于图像传感阵列的像素限制绘制;

图4B是阐明了本发明的基于数字成像的条形码读取装置的图像形成光学装置的性能的曲线图,相对于图像形成光学装置的MTF值来测绘物体距离(厘米);

图4C是阐明了本发明的基于数字成像的条形码读取装置的图像形成光学装置的景深的图示以毫米测量,并示出了能被在其景深特定范围测量的最窄条形码元素尺寸;

图4D示出了测绘图像形成光学装置分辨率的景深图,只说明子系统的光学性能;

图4E图示了如何读出一确定mil大小代码的景深,只考虑图像形成和检测子系统的图像形成光学装置的光学性能;

图4F3示出了在和固定焦距的阅读器的光学性能曲线(因为它们起物距功能)一样的轴上测绘的1.4和1.6像素采样限制;

图4G图示出如何确定图像形成和检测子系统的合成景深曲线,对于1.6像素的情况,同时考虑光学性能和采样限制;

图4H图示出如何读出一确定mil大小的编码的景深,对于1.6像素的情况,同时考虑光学性能和采样限制;

图4I1到图4I3一起示出了用ZPL(Zemax编程语言)写的且能产生合成景深图的示例性计算机程序;

图5A1的图示指明窄域照明、近场宽域照明和远场宽域照明的范围,它们由本发明的手持式基于数字成像的条形码读取装置中应用的基于LED的多模式照明子系统产生;

图5A2的图表指明每个照明模式的几何性质和特征,这些模式被本发明的手持式基于数字成像的条形码读取装置中应用的基于LED的多模式照明子系统所支持;

图5B的图示阐明了与本发明的基于数字成像的条形码读取装置中应用的窄域照明阵列和近场、远场宽域照明阵列相结合的LED光源的物理排列,其中在基于数字成像的条形码读取装置的第一实施例中远场宽域照明阵列中的LED被安置在球面透镜之后,窄域照明阵列中的LED被安置在柱面透镜之后,近场宽域照明阵列中的LED没有透镜;

图5C1的图示示出了LED的朗伯发射率(Lambertian emittance)和波长特征,用来实现本发明的多模式照明子系统中的窄域照明阵列;

图5C2的图示示出了LED的朗伯发射率和极角特征,用来实现在本发明的多模式照明子系统中的窄域照明阵列;

图5C3是用在本发明的基于数字成像的条形码读取装置的窄域(线性)照明阵列中的LED之前的柱面透镜的图示,其中该柱面透镜的第一表面被垂直弯曲来产生窄域(即线性)照明图样,该柱面透镜的第二表面被水平弯曲来控制窄域照明图样的高度以产生窄域(即线性)照明场;

图5C4是一对LED和两个柱面透镜设计的图示,用来实现用本发明的基于数字成像的条形码读取装置中应用的窄域(线性)照明阵列;

图5C5是窄域(线性)照明场的一组六个照明剖面,由示范性实施例的基于数字成像的条形码读取装置中应用的窄域(线性)照明阵列产生,沿着远离基于数字成像的条形码读取装置的成像窗口(即工作距离)的场的30,40,50,80,120和220毫米取出,表明了窄域照明场的空间亮度在大约80毫米的地方开始变得基本相同;

图5D1的图示示出了LED的朗伯发射率和波长特征,用来实现本发明的基于数字成像的条形码读取装置中应用的宽域照明阵列;

图5D2的图示示出了LED的朗伯发射率和极角特征,用来实现本发明的基于数字成像的条形码读取装置中应用的远场和近场宽域照明阵列;

图5D3是在本发明的远场宽域照明阵列中的LED之前的平凸透镜的图示;

图5D4是LED的设计和平凸透镜的图示,用来实现本发明的基于数字成像的条形码读取装置中应用的远和窄宽域照明阵列,其中从那里产生的照明光束通过在其中应用的近场(和远场)宽域照明阵列中的LED前呈角度放置透镜被瞄准;

图5D5是近场远域照明场的一组六个照明剖面,由示范性实施例的基于数字成像的条形码读取装置中应用的近场宽域照明阵列产生,沿着远离基于数字成像的条形码读取装置的成像窗口(即工作距离)的场的10,20,30,40,60和100毫米取出,表明了近场宽域照明场的空间亮度在大约40毫米的地方开始变得基本相同;

图5D6是远场宽域照明场的一组三个照明剖面,由示范性实施例的基于数字成像的条形码读取装置中应用的远场宽域照明阵列产生,在沿着远离基于数字成像的条形码读取装置的成像窗口(即工作距离)的场的100,150和220毫米取出,表明了远场宽域照明场的空间亮度在大约100毫米的地方开始变得基本相同;

图5D7是一个表阐明了计算远场宽域照明场中心的像素强度值的优选方法,该照明场从本发明的基于数字成像的条形码读取装置中应用的多模式照明子系统产生,示出了一个重要的信号强度(大于80DN);

图6A1的图示示出了基于数字成像的条形码读取装置的手持式外壳中集成的红色波长反射(高通)成像窗口,以及其中在其CMOS图像传感阵列之前放置的低通滤光镜,合作形成基本上只传输非常窄的可见照明波长(如:620-700微毫米)带宽的窄带滤光子系统,,该可见照明从基于数字成像的条形码读取装置中应用的多模式照明子系统产生,并且排斥掉所有在这个窄的光带之外的以任何方式产生(即周围的光源)的其它光波长;

图6A2是与低通滤光元件结合的传输特征(能量和波长)的图示,该低通滤光元件在基于数字成像的条形码读取装置的手持式外壳内放置在红色波长反射高通成像窗口之后但在其CMOS图像传感阵列之前,示出了620纳米以下的光波长可被传输而大于620纳米的波长被基本阻隔(如吸收或反射);

图6A3是与本发明的基于数字成像的条形码读取装置的手持式外壳内集成的红色波长反射高通成像窗口相结合的传输特征(能量和波长)的图示,示出了高于700纳米的光波长可被传输而低于700纳米的波长被基本阻隔(如吸收或反射);

图6A4是本发明的手持式基于成像的条形码符号读取装置中集成的基于窄光谱的滤光子系统传输特征的图示,相对于产生于本发明的示范性实施例的多模式照明子系统的LED照射的光谱特征测绘的;

图7A的图示示出了与自动曝光测量和照明控制子系统相结合的球状/抛物线光反射/收集镜和的光电二极管的几何设计,在示范性实施例中的手持式基于数字成像的条形码符号读取装置中排列,其中通过球面光收集镜入射光从系统视场中心的一选择部分被收集,然后聚焦在用于检测反射照明强度的光电二极管上并接着由自动曝光测量和照明控制子系统进行处理,以便于控制在本发明的基于数字成像的条形码读取装置中应用的基于LED的多模式照明子系统所产生的照明;

图7B是本发明的手持式基于数字成像的条形码符号读取装置中应用的自动曝光测量和照明控制子系统的示意图,其中照明从系统视场中心被收集并且自动检测以便于产生一个以合适的强度来驱动多模式照明子系统的窄域照明阵列和远场、窄场宽域照明阵列的控制信号,以便CMOS图像传感阵列处理被充分照亮的物体的数字图像;

图7C1和图7C2是用于实现本发明的手持式基于数字成像的条形码符号读取装置中应用的图7B的自动曝光测量和照明控制子系统的混合模拟/数字线路的示意图;

图7D的示意图示出了,根据本发明的原则,使用在示范性实施例的基于数字成像的条形码读取装置中的CMOS图像传感阵列一旦被系统控制子系统激活(或直接由触发开关触发),并当图像传感阵列中所有行都处于集成操作状态时,自动激活自动曝光测量和照明控制子系统,该子系统相应地自动激活LED照明驱动电路来自动驱动与多模式照明子系统以一种精确的方式相结合的合适的LED照明阵列,并且当它所有行的像素处于集成状态时,整个带有精确调谐的基于LED的照明的CMOS图像检测阵列完全暴露,因此有一个共同的集成时间,从而不依赖条形码阅读器和物体之间相对运动来获取高质量图像;

图7E1和7E2一起构成一个流程图,描述了实现本发明示范性实施例的基于数字成像的条形码读取装置的全局曝光控制方法中的步骤;

图8是本发明的手持式基于数字成像的条形码符号读取装置中应用的基于IR的自动物体存在和范围检测子系统的示意性的结构图,其中第一范围指示控制信号根据多模式照明子系统的近场区域内的物体检测而产生,而且其中第二范围指示控制信号根据多模式照明子系统的远场区域内的物体检测而产生;

图9是本发明的手持式基于数字成像的条形码符号读取装置的图示,示出了其CMOS图像传感阵列通过一个FIFO(通过FPGA方式实现)和一个系统总线与其微处理器可操作地相连,并且其SDRAM也通过系统总线可操作地与微处理器相连,使得被成像阵列捕捉的像素数据在微处理器的直接存储器存取(DMA)模块的控制下,映射到SDRAM;

图10的图示示出了在该装置内执行的每个图像捕捉周期内由本发明的手持基于数字成像的条形码符号读取装置中的CMOS成像阵列捕捉的像素数据字节是如何映射到其SDRAM的可设定地址的存储器存储位置的;

图11的图示示出了与本发明的手持式基于数字成像的条形码符号读取装置的三层软件体系结构相结合的软件模块,即:软件体系结构中应用层的主任务模块、CodeGate任务模块、窄域照明任务模块、Metroset任务模块、应用事件管理者模块、用户命令表模块和命令处理者模块;软件体系结构中系统核心(SCORE)层的任务管理者模块、事件分配者模块、输入/输出管理者模块、用户命令管理者模块、计时器子系统模块、输入/输出子系统模块和存储器控制子系统模块;软件体系结构中Linux操作系统(OS)层的Linux Kernal模块、Linux文件系统模块和设备驱动程序模块。

图12A是提供发信号和传递事件到应用事件管理者的事件分配者软件模块的图示,包括新任务的开始,停止正在运行的任务,作一些事情,或任何事情都不作以及忽略此事件;

图12B是在本发明的手持式基于数字成像的条形码符号读取装置中能发生并且被分配的系统定义事件的示例表,即:SCORE_EVENT_POWER_UP,其表明系统开始的完成并且不包括任何参数;SCORE_EVENT_TIMEOUT,其表明逻辑计时器的休息时间并包括参数“计时器id的指针”;SCORE_EVENT_UNEXPECTED_INPUT,其表明意外输入的数据可被得到并包括参数“连接id的指针”;SCORE_EVENT_TRIG_ON,其表明用户拉动触发开关,并不包括任何参数;SCORE_EVENT_TRIG_OFF,其表明用户释放触发开关,并不包括任何参数;SCORE_EVENT_OBJECT_DETECT_ON,其表明物体被放置在条形码阅读器下,并不包括任何参数;SCORE_EVENT_OBJECT_DETECT_OFF,其表明物体被从条形码阅读器的视场内移走,并不包括任何参数;SCORE_EVENT_EXIT_TASK,其表明任务执行结束,包括指针UTID;SCORE_EVENT_ABORT_TASK,其表明任务在执行时被中断;

图12C是提供执行和停止应用特定任务(即线程)方式的任务管理者软件模块的图示;

图12D是输入/输出管理者软件模块(即输入/输出子系统)的图示,其运行在后台并且监视外部设备和用户连接的动作,而且将正确的事件发信号到检测此类行为的应用层;

图12E1和图12E2组成输入/输出子系统软件模块的图示,其提供一种创建和删除输入/输出连接,并且与外部系统和设备通信的方式;

图12F1和图12F2组成提供一种创建、删除和利用逻辑计时器的方式的计时器子系统的图示;

图12G1和图12G2为具有向设备提供管理线程级动态存储器的接口的存储器控制子系统的图示,,与标准动态存储器功能完全兼容,以及一种用于缓存收集的数据的方式;

图12H是用户命令管理者的图示,其提供一种输入用户命令、执行处理该命令的应用模块的标准方法;

图12I是设备驱动程序软件模块的图示,其包括触发开关驱动程序,用于建立与基于数字成像的条形码读取装置上应用的基于硬件的手动触发开关连接的软件;图像获得驱动程序,用于实现在基于数字成像的条形码读取装置上的图像获得功能;以及IR驱动程序,用于实现在基于成像的条形码符号读取装置上的物体检测功能;

图13A是一个示意性流程图,示出了当用户将条形码阅读器指向条形码符号时,IR设备驱动器是如何在场内检测到物体,然后唤醒系统核心层的输入/输出管理者软件模块的;

图13B是一个示意性流程图,示出了当检测一个物体时,输入/输出管理者是如何将SCORE_OBJECT_DETECT_ON事件传递到事件分配软件模块的;

图13C是一个示意性流程图,示出了为响应检测一个物体,事件分配者软件模块是如何将SCORE_OBJECT_DETECT_ON事件传递到应用层的;

图13D是一个示意性流程图,示出了在应用层接收到SCORE_OBJECT_DETECT_ON事件时,应用事件管理者是如何执行一个处理例行程序的事件,其激活与多模式照明子系统相结合的窄域照明阵列;并且执行图13E中描述的CodeGate任务(在通过其中设备已被编程的系统模式获得时),或图13M中描述的窄域照明任务(在通过其中设备已被编程的系统模式获得时);

图13E是一个示意性流程图,示出了当CodeGate任务在应用层被(激活和)执行时进行的是何种操作该操作如何被实施;

图13F是一个示意性流程图,示出了当Code任务正在执行且用户拉动条形码阅读器上的触发开关时,触发设备驱动程序是如何唤醒在系统核心层的输入/输出管理者的;

图13G是一个示意性流程图,示出了为响应唤醒,输入/输出管理者是如何将SCORE_TRIGGER_ON事件发送到事件分配者的;

图13H是一个示意性流程图,示出了事件分配者是如何将SCORE_TRIGGER_ON事件传递到应用层的应用事件管理者的;

图13I1和图13I2一起提出了示意性流程图,示出了应用事件管理者如何通过在系统核心层的任务管理者内调用处理例行程序来响应SCORE_TRIGGER_ON事件,其中系统核心层使与多模式照明子系统联合的窄域照明阵列无效,取消CodeGate任务或窄域照明任务(取决于设备的程序设置在哪个系统模式),并且执行主任务;

图13J是一个示意性流程图,示出了当主任务在应用层被(激活和)执行时,何种操作被实施;

图13K是一个示意性流程图,示出了当在主任务中调用的数据输出过程在应用层的输入/输出子系统软件模式内被执行时,何种操作被实施;

图13L是一个示意性流程图,示出了解码符号特征数据在系统LinuxOS层内被从输入/输出子系统发送到设备驱动器;

图13M是一个示意性流程图,示出了当窄域照明任务在应用层被(激活和)执行时,何种操作被实施;

图13N1到图13N3,一起组成了一个流程图,描述了一种生成宽域照明的新颖方法,其用在主任务程序中以便于用宽域照明场以充分减弱本发明的基于数字成像的条形码读取装置内CMOS图像传感阵列的镜面反射的方式来照亮物体;

图14是列出了由本发明的手持式基于数字成像的条形码符号读取装置中应用的多模式条形码符号读取子系统模式所支持的多种条形码符号的表格;

图15是列出了多模式条形码符号读取子系统模式能被编程操作的四种主要模式的表格,这四种主要模式即:自动模式,其中多模式条形码符号读取子系统被配置来自动处理数字图像数据的被捕捉的帧,以便于以一种递增方式搜寻其中表现的一个或多个条形码,并且继续搜寻直到整个图像都被处理;手动模式,其中多模式条形码符号读取子系统被配置来从中心或用户可能瞄准的条形码阅读器的图像的扫描点开始自动处理数字图像数据的被捕捉的帧,以便于搜寻(即查找)其中表现的一个或多个的条形码符号,通过以螺旋方式通过提取的图像特征数据的帧或块进行搜寻和标记,并且处理相应的原始数字图像数据直到图像数据的捕捉帧中一个条形码符号被识别/读取;特定ROI模式,其中多模式条形码符号读取子系统被配置用于自动处理数字图像数据的被捕捉的帧中的特定“兴趣区”(ROI),以便于搜寻其中表现的一个或多个条形码符号,以响应明确了在多模式图像形成和检测系统视场内的条形码位置的坐标数据;无探测器模式,其中多模式条形码符号读取子系统被配置来自动处理数字图像数据的被捕捉的窄域(线性)帧,无需特征提取和自动和手动模式下使用的标记操作,以便于读取其中表现的一个或多个条形码符号;全扫描模式,其中多模式条形码符号读取子系统被配置来沿着任何一条或多条预定的虚扫描线方向自动处理数字图像数据的被捕捉的帧,而无需特征提取和在自动和手动模式下使用的标记操作,以便于读取其中表现的一个或多个条形码符号;

图16是一个示意性流程图,示出了建立和清除名为“多模式基于图像处理的条形码符号读取子系统”的软件子应用的步骤,从下列的某一处调用:(i)图13E中描述的命名为“在捕捉的窄域图像中读取条形码”的块上的CodeGate任务软件模块,或(ii)图13J中描述的命名为“在捕捉的宽域图像中读取条形码”的块上的主任务软件模块;

图17A是本发明的多模式条形码符号读取子系统在自动操作模式中执行的解码过程的步骤摘要,其中(1)处理过程的第一个阶段包括通过处理高分辨率图像数据的被捕捉帧的低分辨率图像搜寻(即寻找)兴趣区(ROIs),将低分辨率图像分成N×N块,并使用基于空间导数的图像处理技术,为每个块生成一个特征向量;(2)处理过程的第二个阶段包括通过检查高调制的区域的特征向量标识ROI,计算条形码方向并且将条形码的四个角标记为ROI;以及(3)处理过程的第三个阶段包括通过来回移动条形码和更新特征向量来读取在ROI内出现的任何条形码符号,检查过滤图像的零相交,产生条空图样,以及使用传统的解码算法来对条空图样进行解码;

图17B是多模式条形码符号读取子系统在其自动操作模式中实施的图像处理方法中包括的步骤的示意性流程图;

图18A的图示表明了在自动操作模式下配置的多模式条形码符号读取子系统内处理过程的第一发现阶段中,来自原高分辨率图像的包装标签的低分辨率图像的产生;

图18B的图示表明了在多模式条形码符号读取子系统处于其自动操作模式期间内处理过程的第一发现阶段期间,包装标签低分辨率图像的分离,特征向量的计算也如此,和这些对平行线的特征向量的分析;

图18C的图示示出了在多模式条形码符号读取子系统处理过程的第二标识阶段期间,在低分辨率图像数据的每个块中对特征向量的计算可包括梯度向量的使用、边缘密度测量、平行边缘向量的数目、边缘的质心、强度变化和低分辨率图像中捕捉的强度柱状图;

图18D是在多模式条形码符号读取子系统处于其自动操作模式期间内处理过程的第二标识阶段期间,寻找高边缘密度、大量平行边缘向量和大量强度变化的特征向量的检查的图示;

图18E和18F是操作在其自动模式下的多模式条形码符号读取子系统处理过程的第二标识阶段期间的计算条形码方向的图示,其中每个特征向量块,条形码以不同角度被来回移动(即切片),这些切片基于“最小均方差”被相互匹配,正确的方向被确定为与通过捕捉图像中条形码符号的每个切片的匹配均方差相匹配的角度;

图18F是操作在其自动模式下的多模式条形码符号读取子系统处理过程的第二标识阶段期间计算条形码方向的图示;

图18G是操作在其自动模式下的多模式条形码符号读取子系统处理过程的第二标识阶段期间,标识被检测到的条形码符号的四个角的图示,其中这个标识操作在包的全高分辨率图像上执行,条形码在开始于块中心的某一个方向来回移动,使用强度变量检测调制范围,条形码四个角的x、y坐标(像素)从1和2开始检测并且与条形码方向垂直移动,并且通过检测的在高分辨率内的条形码符号的四个角来定义ROI;

图18H是操作在其自动模式下的多模式条形码符号读取子系统处理过程的第三阶段期间,升级特征向量的图示,其中特征向量Fv的柱状图成分在来回移动条形码符号时被更新,黑白传输的估计被计算,并且条形码符号的窄和宽成分的估计被计算;

图18I是操作在其自动模式下的多模式条形码符号读取子系统处理过程的第三阶段期间,搜寻零相交的图示,其中高分辨率条形码图像在垂直于条形码方向的方向上被中间过滤,第二导数零相交定义边缘相交,零相交数据仅仅被用来检测边缘转换,黑/自传递估计被用来设置捕捉的图像中表示的条形码符号的条和空的灰度的上限和下限;

图18J是操作在其自动模式下的多模式条形码符号读取子系统处理过程的第三处理期间,创建条空图样的图示,其中边缘转换被模拟为一个斜坡函数,边缘转换被假设为1像素宽,边缘转换位置被确定在子像素级别,以及使用边缘转换数据来收集条和空的数量;

图18K是操作在其自动模式下的多模式条形码符号读取子系统处理过程的第三阶段期间,解码条空图样的图示,其中条和空数据有边界构成,并且使用存在的激光扫描条形码解码算法来解码条和空数据;

图19A是本发明的多模式条形码符号读取子系统在自动操作模式中执行的解码过程的步骤摘要,其中(1)处理过程的第一个阶段包括通过处理高分辨率图像数据的被捕捉帧的低分辨率图像搜寻(即寻找)兴趣区(ROIs),将低分辨率图像分成N×N块,并使用基于空间导数的图像处理技术,为中间块生成一个特征向量;(2)处理过程的第二个阶段包括通过检查高调制的区域的特征向量标识ROI和返回到第一阶段为围绕中间块的其他块来创建特征向量(以螺旋的方式),计算条形码方向并且将条形码的四个角标记为ROI;以及(3)处理过程的第三个阶段包括通过来回移动条形码和更新特征向量来读取在ROI内出现的任何条形码符号,检查过滤图像的零相交,产生条空图样,以及使用传统的解码算法来对条空图样进行解码;

图19B是多模式条形码符号读取子系统在其手动操作模式中实施的图像处理方法中包括的步骤的示意性流程图;

图20A是多模式条形码符号读取子系统在其无探测器操作模式中执行的图像处理方法中包括的步骤的摘要,其中解码器模块不使用条形码元素查找或标识技术(即查找模块和标识模块),并且从其中间开始直接处理捕捉的高分辨率图像的窄域部分,检查被过滤图像的零相交,产生条空图样,然后使用传统的解码算法来解码条空图样;

图20B是多模式条形码符号读取子系统在其无探测器操作模式中实施的图像处理方法中包括的步骤的示意性流程图;

图21A是多模式条形码符号读取子系统在全扫描操作模式中执行的图像处理方法的步骤的摘要,其中解码器模块不使用条形码元素查找或标识技术(即查找模块和标识模块),假设成像的条形码符号以1∶1的纵横比放置在捕捉的宽域高分辨率图像的中间,沿着一组平行的空间分隔的(如50像素)虚拟扫描线直接处理高分辨率图像,沿着虚拟扫描线检查零相交,产生条空图样,然后解码条空图样,可以沿着与先前处理的虚拟扫描线取向于不同角度的(如0,30,60,90,120或150度)不同组平行的空间分隔的虚拟扫描线,来重处理高分辨率图像;

图21B是多模式条形码符号读取子系统在其全扫描操作模式中实施的图像处理方法中包括的步骤的示意性流程图;

图22A是本发明的多模式条形码符号读取子系统在其“特定ROI”操作模式中执行的基于图像处理的条形码读取方法中包括的步骤的摘要,被设计用来与全扫描操作模式结合,其中(1)处理过程的第一阶段包括接收在全扫描操作模式下(在解码失败之后)获得的兴趣区(ROI)坐标(x1,x2),将捕捉的低分辨率图像(来自全扫描模式)重分成N×N块,使用基于空间导数的图像处理技术,为特定ROI兴趣区块生成一个特征向量;(2)处理过程的第二阶段包括通过检查高调制的区域的特征向量来标识额外的ROI,返回第一阶段为围绕中间块的其它块来生成特征向量(以螺旋方式),计算条形码方向并且将条形码的四个角标识为ROI;(3)处理过程的第三阶段包括通过来回移动条形码和更新特征向量来读取在ROI内出现的任何条形码符号,检查过滤图像的零相交,产生条空图样,使用传统的解码算法来解码条空图样;

图22B是本发明的多模式条形码符号读取子系统在其特定ROI操作模式中实施的图像处理方法中包括的步骤的示意性流程图;

图23是对处于其第一多读取(全扫描/特定ROI)操作模式下的多模式条形码符号读取子系统操作的详述;

图24是对处于其第二多读取(无探测器/特定ROI)操作模式下的多模式条形码符号读取子系统操作的详述;

图25是对处于其第三多读取(无探测器/全扫描/特定ROI)操作模式下的多模式条形码符号读取子系统操作的详述;

图26A、图26B一起提供了一个列出了在本发明的手持式基于数字成像的条形码符号读取装置中初始的条形码读取操作可编程模式的表格,即:

系统操作编程模式No.1-手动触发单试图1D单读取模式,使用多模式的条形码读取子系统的无探测器模式;

系统操作编程模式No.2-手动触发多试图1D单读取模式,使用多模式的条形码读取子系统的无探测器模式;

系统操作编程模式No.3-手动触发单试图1D/2D单读取模式,使用多模式的条形码读取子系统的无探测器模式和自动或手动模式;

系统操作编程模式No.4-手动触发多试图1D/2D单读取模式,使用多模式的条形码读取子系统的无探测器模式和自动或手动模式;

系统操作编程模式No.5-手动触发多试图1D/2D多读取模式,使用多模式的条形码读取子系统的无探测器模式和自动或手动模式;

系统操作编程模式No.6-自动触发单试图1D单读取模式,使用多模式的条形码读取子系统的无探测器模式;

系统操作编程模式No.7-自动触发多试图1D单读取模式,使用多模式的条形码读取子系统的无探测器模式;

系统操作编程模式No.8-自动触发多试图1D/2D单读取模式,使用多模式的条形码读取子系统的无探测器模式和手动和/或自动模式;

系统操作编程模式No.9-自动触发多试图1D/2D多读取模式,使用多模式的条形码读取子系统的无探测器模式和手动和/或自动模式;

系统操作编程模式No.10-自动触发多试图1D/2D单读取模式,使用多模式的条形码读取子系统的手动、自动或全扫描模式;

系统操作编程模式No.11-半自动触发单试图1D/2D单读取模式,使用多模式的条形码读取子系统的无探测器模式和自动或手动模式;

系统操作编程模式No.12-半自动触发多试图1D/2D单读取模式,使用多模式的条形码读取子系统的无探测器模式和自动或手动模式;

系统操作编程模式No.13-半自动触发多试图1D/2D多读取模式,使用多模式的条形码读取子系统的无探测器模式和自动或手动模式;

系统操作编程模式No.14-半自动触发多试图1D/2D多读取模式,使用多模式的条形码读取子系统的无探测器模式和全扫描模式;

系统操作编程模式No.15-连续自动触发多试图1D/2D多读取模式,使用多模式的条形码读取子系统的自动、手动和/或全扫描模式;

系统操作编程模式No.16-基于成像的条形码阅读器操作的诊断模式;和

系统操作编程模式No.17-基于成像的条形码阅读器操作的现场录像模式;

图27A的图示详细说明了照明的四种模式,其产生于在本发明的基于数字成像的条形码符号读取器的第二实施例中使用的多模式照明子系统,其支持在多模式图像形成和检测子系统的窄域图像捕捉模式中产生的窄域照明的近和远场;

图27B的图示详细说明了在近场和远场窄域照明阵列中应用的柱状波束成形光学装置如何能被容易地制作成产生近和远窄域照明场,其有几何特征使得(i)在系统视场的远场区域中,扩长的条形码符号的简单读取;和(ii)优选地在系统操作的“半自动触发”编程模式中,在视场的近场区域内有高度控制的条形码菜单的简单读取成为可能;

图28的图示表明了与近和远场窄域和宽域照明阵列结合的LED和光聚焦透镜的物理排列,其中照明阵列使用在本发明的第二实施例的基于数字成像的条形码符号读取装置中;

图29A是本发明的便携式POS基于数字成像的条形码符号读取装置的第二实施例的第一个立体图,示出了比第一实施例多样的手持式外壳,并且被配置来使用在其自动/显示操作模式,支持最初的宽域图像捕捉;

图29B是本发明的便携式POS基于数字成像的条形码符号读取装置的第二实施例的第二立体图,示出了在其自动/显示操作模式下配置和操作,支持最初的宽域图像捕捉;

图29C是本发明的便携式基于数字成像条形码读取装置的第二实施例的第三立体图,示出了在其手持操作模式下配置和操作,支持窄和宽域模式的图像捕捉;

图30是本发明的基于数字成像的条形码符号读取装置的第三实施例的立体图,以能被稳定地集成到各种信息收集和处理系统的多模式图像捕捉和处理引擎的形式实现,包括无线便携式数据终端(PDT),反转自动贩卖机、零售产品信息亭等;

图31是嵌入到本发明的基于成像的条形码符号读取引擎的无线条形码驱动便携式数据终端的图示,所示为在手持模式下被配置和操作;

图32是图31所示的在手持模式下被配置和操作的无线条形码驱动便携式数据终端的立体图,其中嵌入其中的基于成像的条形码符号读取引擎被用来读取包装上的条形码符号,并且代表所读取的条形码的符号特征数据通过RF使能的2路数据通信链的方式,被自动传递给其具有托架(cradle-providing)的基站;

图33是图31和图32所示的在自动(hands-free)模式下被配置和操作的无线条形码驱动便携式数据终端的侧视图,其中基于成像的条形码符号读取引擎在一个宽域图像捕捉操作模式下被配置,适于在销售站点(POS)环境下的图表类型(presentation-type)的条形码读取;

图34的结构图示出了图31、32和33的无线手持式的条形码驱动便携式数据终端系统的,与设计模块结合的各种子系统块,示出了与可能的主系统和/或网络的接口;

图35的结构图代表了根据本发明另一实施例的手持式基于数字成像的条形码符号读取装置的系统设计,其中系统设计类似于图2A1所示,除了自动曝光测量和照明控制子系统被适用于测量在CMOS图像传感阵列中心部分之上的曝光量,和与在多模式基于图像处理的条形码符号读取子系统中实现的基于软件的照明计量程序合作来控制基于LED的多模式照明子系统的操作,,包括对捕捉的数字图像就未接收的空间强度分配进行实时分析;

图35A是在图35中所示的系统的图示,非常详细地示出了由自动曝光测量和照明控制子系统确定的电流照明持续时间是如何由照明持续时间自动制服的,该照明持续时间由一在基于图像处理的条形码符号读取子系统内实施的软件执行、基于图像处理的照明计量程序来计算,并用于控制在系统捕捉的下一个图像帧中产生的照明,根据本发明的加强的自动照明控制配置;

图36的流程图阐明了实施图35A所示的加强自动照明控制配置中包括的步骤;

图37是使用图像裁切区域(ICZ)目标/标示图样的手持式基于图像处理的条形码符号阅读器的立体图,和自动图像后捕捉裁切方法来抽取ICZ,在其中成像的目标物体已经在照明和成像操作期间被包含;

图38是图37所示的手持式基于图像处理的条形码符号阅读器的示意性系统图,示出了在系统控制子系统的控制下使用图像裁切区域(ICZ)照明目标/标示源;

图39的流程图提出了在图37和图38中所示的条形码符号阅读器中嵌入的本发明的图像裁切区域目标/标示和图像后捕捉裁切过程的执行中所包括的步骤;

图40A到图40E图形示意图用来描述在本发明的基于成像的条形码阅读器中使用调制传递函数(MTF)来设计图像形成(即摄像)光学装置的方法。

具体实施方式

参考附图中的图示,本发明的手持式基于成像的条形码符号读取系统的各种实施例将会被详细解释,其中类似的元素将会用类似的参考数字标明。

本发明的手持式基于数字成像的条形码读取装置的第一实施例

图1A到1K详细描述了本发明第一实施例的手持式基于数字成像的条形码符号读取装置1,在该示范性实施例中,其包括手持式外壳2,该手持式外壳2具有一个把手部分2A和一个头部部分2B,该头部部分2B具有一个光传输窗口3,其有一个在图6A2中描述的光传输特征的高通(红色波长反射)光滤镜元件4A。之后会详细描述,高通光滤镜元件4A与图6A1中描述的内置的低通光滤镜元件4B合作,其与高通光滤镜元件4A合作。这些高和低通光滤镜元件4A和4B合作提供窄带光滤镜系统4,其与外壳的头部部分集成并且只允许窄带照明(如:633毫微米)在成像操作期间离开和进入外壳。

如图1I,1J和1K所示,实施例中手持式外壳2包括:左和右半外壳把手2A1和2A2;足状结构2A3,安置在半把手2A1和2A2之间;触发开关结构2C,咬合在其中并且置于分隔在外壳每半边的光圈2D1和2D2的轴承内;光传输窗口面板5,当半把手2A1和2A2被拉到一起时形成一个凹口,通过该光传输窗口面板5光传输窗口3在其中被形成和支撑,其支持系统提供的所有LED照明阵列;光具座6,支持电光成分并且可操作的连接到一个放置在半外壳把手内的正交放置的PC板7;顶部外壳部分2B1,用来连接外壳半把手2A1和2A2,并且将外壳的头部部分包入其中;光管透镜元件8,放置在一列发光二极管(LEDs)9之上并且光管结构10放置在手持式外壳头部部分的尾端内;和前方缓冲器结构2E,当提供一定级别的震荡保护时支撑顶部外壳部分2B1、左右半把手2A1和2A2以及其间的光传输窗口面板5。

本发明的如图27到图33所示的其它实施例中,手持式外壳的组成因素可能会不同。在目前的其它应用中,外壳甚至可以不是手持式的,而可能设计成在桌面和柜台面上的静止结构,或者应用在商业和工业中。

本发明的手持式基于数字成像的条形码读取装置系统设计模式的示意性结构功能图

如图2A1所示的系统设计模式,该示范性实施例的手持式基于数字成像的条形码读取装置1包括:基于IR的物体存在和范围检测子系统12;多模式域类型图像形成和检测(即摄像)子系统13,其具有图像捕捉的窄域模式、图像捕捉的近场宽域模式和图像捕捉的远场宽域模式;多模式基于LED的照明子系统14,其具有照明的窄域模式、照明的近场宽域模式和照明的远场宽域模式;自动曝光测量和照明控制子系统15;图像捕捉和缓存子系统16;多模式图像处理条形码符号读取子系统17,其具有五种基于图像处理的条形码读取的模式,在图2A2表明并且上文有详细描述;输入/输出子系统18;手动触发开关2C,用于将用户发起的控制激活信号发送到装置;系统模式配置参数表70;以及系统控制子系统18,其与上述的各子系统集成。

基于IR的物体存在和范围检测子系统12的主要功能是在多模式图像形成和检测子系统13的视场内自动产生一基于IR的物体检测场20,在物体检测场(20A,20B)的预定区域内检测物体的存在,并且产生控制激活信号A1,该信号被传送给系统控制子系统19用于表明何时何地一个物体在系统的物体检测场内被检测到。

在第一示范性实施例中,多模式图像形成和检测(即摄像)子系统13有图像形成(摄像)光学装置21,其用于产生在将要成像的物体上的视场(FOV)和用于检测在照明和图像获得/捕捉操作中从物体反射的成像光的CMOS域图像传感阵列22。

在第一示范性实施例中,多模式基于LED的照明子系统14的主要功能是产生窄域照明场24、近场宽域照明场25和远场宽域照明场25,上述每个场都有窄的光带宽并且分别在窄域和宽域成像模式下,限制在多模式图像形成和检测子系统13的视场内。这样的设计是来保证只有传输自多模式照明子系统14的光和从照亮的物体反射的光最终从窄带传输类型滤光镜子系统4中完全传输,通过以下来实现(1)高通(即红色波长反射)滤光镜元件4A,放置在光传输光圈3上面板5之前;(2)低通滤光镜元件4B,放置在图像传感阵列22之前或者面板5后的任意地方,如图3C所示。图6A4提出窄带传输光谱滤光镜子系统4的综合传输特征结果,其相对在多模式照明子系统14中应用的LED阵列中射出的光谱特征来测绘。

窄带集成滤光镜子系统4的主要功能是保证CMOS图像传感阵列22只接收通过与多模式照明子系统14联合的LED驱动电路30驱动的三组基于LED的照明阵列27,28和29传输的窄带可见照明,然而,由光收集光学装置收集的其它周围光的所有部分都完全在图形传感阵列22被排斥,因此提供改进的SNR,改进系统的性能。

自动曝光测量和照明控制子系统15的主要功能是两部分:(1)实时测量由系统光学装置在其图形传感阵列22收集的光子能量(即光)的光强度[焦耳/厘米],产生表明良好图像形成和检测所需的曝光量的自动曝光控制信号;(2)与由系统控制子系统19提供的照明阵列选择控制信号相结合,在多模式照明子系统中自动地驱动和控制选择的LED阵列27,28和/或29的输出功率,以便系统视场内的物体最佳地暴露到基于LED的照明,并且最佳图像在图像传感阵列22被形成和检测。

图像捕捉和缓存子系统16的主要功能是(1)通过系统的图像形成光学装置21来检测聚焦在2D图像传感阵列22上的全部2-D图像;(2)为捕捉到的图像帧的被选择的兴趣区或整个被选择图像,产生数字像素数据31的帧;然后(3)缓冲每个图像被捕捉时图像数据的帧。值得注意的是在示范性实施例中,一个单2D图像帧(31)在每个图像捕捉和处理周期或在处理周期的某个特定阶段被捕捉,以便于消除与图像帧重写、图像捕捉和解码过程同步相结合的问题,可参考在此一起作为参考文献的Welch Allyn的专利号为5,932,862和5,942,741的美国专利。

多模式基于成像的条形码符号读取子系统17的主要功能是在系统操作的窄域和宽域照明模式下,处理由图像捕捉和缓冲子系统16捕捉和缓存的图像。这种图像处理操作包括图14到图25所示的基于图像的条形码解码方法,在后文中会详细描述。

输入/输出子系统18的主要功能是支持标准的和/或所拥有的与外部主系统和设备的通信接口,通过这种接口方式将经处理的图像数据等输出到外部主系统或设备。这种接口和完成类似功能技术的例子在整个作为参考文献的专利号为6,619,549的美国专利中给出。

系统控制子系统19的主要功能是向所示的每个集成的子系统成分提供一些预定的控制度或管理信号服务。这个子系统可通过一编程微处理器的完成,在示范性实施例中,可由图2B所示的计算平台支持的三层软件体系结构完成,如图11A到图13L所示的,并且在后文中给予详细描述。

与手持式外壳集成的手动触发开关2C的主要功能是使得用户在手动压下触发开关2C时能够产生一个控制激活信号,并且将该控制激活信号提供给系统控制子系统19,以用在执行其复杂系统和子系统控制操作中,后文中会给予详细描述。

系统模式配置参数表70的主要功能是为图26A到图26C所示的可编程操作模式表中特定的每个可得到的可编程的系统操作模式存储(在非易失性/持久的存储器中)一组配置参数,在其复杂的操作中可根据要求由系统控制子系统19进行读取和使用。

每个子系统的详细结构和功能将会在下文详细描述。

本发明的手持式基于数字成像的条形码读取装置的系统执行模式的示意图

图2B示出了图1A到图1L所示的手持式基于数字成像的条形码符号读取装置1的系统执行的示意图。如该系统执行所示,条形码符号读取装置使用大量硬件元素实现,包括:照明板33,带有基于LED多模式照明子系统14和自动曝光测量和照明控制子系统15执行的实现电功能的元件;CMOS摄像板34,带有高分辨率(1280×10248-bit 6微米像素大小)CMOS图像传感阵列22,在25Mhz主时钟,7帧/秒1280*1024分辨率,随机存取兴趣区(ROI)窗口容量上运行,实现由多模式图像形成和检测子系统13执行的电功能;CPU主板35(即计算平台)包括(i)Intel Sabinal 32-Bit微处理器PXA21036,以16bit 100Mhz外部总线速度运行在200mHz 1.0核心电压上,(ii)可扩容(如:8+兆字节)Inter J3异步16-bit闪存37,(iii)16兆字节100MHz SDRAM 38,(iv)Xilinx Spartan II FPGA FIFO 39,运行在50Mhz时钟频率和60MB/Sec数据速率下,被配置用来控制摄像计时和驱动图像捕捉过程,(v)多媒体卡套接字40,用于实现系统的其它子系统,(vi)电源管理模块41,用在I2C总线可调MCU,和(vii)一对UART42A和42B(一个用在IRDA端口,另一个用在JTAG端口);接口主板43,用于实现由I/O子系统18执行的功能;基于IR的物体存在和范围检测电路44,用于实现子系统12。

在示范性实施例中,条形码阅读器支持的图像形成光学装置21提供到物体的标称焦距103mm,大约距条形码阅读器边缘70mm的视场。在到物体大约10mm的标称焦距,视场(FOV)的最小值是62mm。光学参数的初步测试如图4B所示(图4B的距离从安置在条形码符号阅读器内距边缘大约80mm的图像传感阵列22的位置给出)。如图4C所示,图像形成光学装置的景深大约从每窄模块分辨率5mils的条形码的69mm到每窄模块分辨率13mils的条形码的181mm变化。

多模式照明子系统14被设计用来利用充足照明来覆盖条形码符号阅读器的光学视场(FOV)来生成位于距成像窗口短距离和长距离的条形码的高对比度图像。照明子系统也提供窄域(薄高度)瞄准光束24,其有两重目的:(a)向用户表明阅读器的光视场在何处;和(b)允许快速扫描图像的一些线,并且如果条形码正确排列,试图极快速的解码。如果条形码没有排列好来进行解码线性照明的图像,那么整个视场被宽域照明场25或26照明,并且整个视场的图像通过图像捕捉和缓存子系统16获得,由多模式条形码读取子系统17处理,来保证读取其中显示的条形码符号,而不管其方向。

使用在条形码符号阅读器内的接口主板43为条形码符号阅读器提供硬件通信接口来与外界通信。在系统中实现的接口基本包括RS232、键盘楔,和/或USB,或者一些上述物品的结合,以及其它可能的特定应用所需要或要求的物品。

域类型图像形成和检测(即摄像)子系统在由窄和宽域窄带照明场分别支持的,其窄域(线性)和宽域成像模式下的详细说明

如图3B到图3E所示,多模式图像形成和检测(IFD)子系统13有一个窄域图像捕捉模式(即只有一些在图像传感阵列中心周围的像素中心行被激活)和一个宽域图像捕捉操作模式(即在该处图像传感阵列中的所有像素都被激活)。在图像形成和检测子系统13中的CMOS图像传感阵列22有图像形成光学装置21,其提供给图像传感阵列在被照亮和成像的物体上的视场(FOV)23。如所示该视场由集成在条形码阅读器内的多模式照明子系统14照亮。

多模式照明子系统14包括三种不同的基于LED的照明阵列27,28和29,它们位于光传输窗口面板5上,排列在光传输窗口4A周围。每个照明阵列被设计用来在不同操作模式下照亮条形码阅读器视场的不同部位。在多模式照明子系统14的窄域(线性)照明模式下,23表明的视场的中心窄-宽部分由窄域照明阵列27照亮,如图3A所示。在多模式照明子系统14的近场宽域照明模式下,视场的近场宽域部分被近场宽域照明阵列28照亮,如图3A所示,该多模式照明子系统14被激活以响应在视场的近场部分内检测物体的IR物体存在和范围检测子系统12。在多模式照明子系统14的远场宽域照明模式下,视场的远场宽域部分被远场宽域照明阵列29照亮,如图3A所示,该多模式照明子系统14的远场宽域照明模式被激活以响应在视场的远场部分检测物体的IR物体存在和范围检测子系统12。在图3A中,显示了这些图像形成和检测子系统13的窄带照明和视场的远和近场部分之间的空间关系。

在图3B中,示出了多模式基于LED的照明子系统14通过其窄带传输类型的滤光镜子系统4传输可见窄域照明,其在图3C中示出并且集成在手持式基于数字成像的条形码符号读取装置内。来自多模式照明子系统14的窄带照明利用图像形成和检测子系统13的图像形成光学装置的视场照亮物体,从那里反射和发散的光线被通过高通和低通滤光镜4A和4B传输,最终聚焦到图像传感阵列22来形成其上的聚焦的被检测的图像,同时周围光线的其它部分都在到达图像传感阵列22的图像检测之前被完全排斥。值得注意的是在该示范性实施例中,红色波长反射高通滤光镜元件4A被放置在图像形光学装置21之前的装置的成像窗口上,而低通滤光镜元件4B被放置在图像传感阵列22之前,图像形成光学装置21的聚焦透镜元件之间。这形成了集成在条形码阅读器内来保证视场内的物体在图像传感阵列22上被成像,仅使用从子系统14产生的照明窄带内的光谱分量,同时排斥在这个窄范围(如15nm)外的周围光线的基本所有其它部分的窄带滤光镜子系统4。

如图3D所示,在手持式基于成像的条形码读取装置内应用的图像形成和检测子系统14包括三个透镜21A、21B和21C,每个都做的尽可能小(最大直径为12mm),有球面,由普通玻璃制成,如LAK2(-LaK9),ZF10(=SF8),LAF2(-LaF 3)。如图3E所示,这些透镜共同结合在透镜支撑部件45内,并且形成一个沿着条形码阅读器的CMOS图像传感阵列22的光轴排列的图像形成子系统。

如图3E所示,透镜支撑部件45包括:支撑透镜部件21A、21B和21C的管状结构45A1、45A2;支撑图像传感阵列22的基底结构45B;其中该部件被配置以便管状结构45A在基底结构45B内滑动以在生产时聚焦固定聚焦的透镜部件。

在图3F1和3F2中,透镜支撑部件45和图像传感阵列22沿着系统中心轴定义的光路径放置。在该示范性实施例中,图像传感阵列22有,如1280×1024像素分辨率(1/2”格式)、6微米像素大小,有随机存取兴趣区(ROI)窗口容量。可以理解很多其它种类的图像传感装置(如CCD)能被用来实现本发明所公开的原理,而不背离本发明的范围和宗旨。

使用调制传递函数(MTF)在本发明的基于成像的条形码阅读器内的设计图像形成(即摄像)光学装置的方法

在图像形成和检测子系统13内的图像形成(即摄像)光学装置的功能是尽可能准确地形成和投射在图像传感阵列22上形成的物体的图像。实际上,在无信息损失的情况下得到绝对完美的物体图像复制是不可能的,因为图像的质量被各种效果限制。这些效果包括:(i)衍射,甚至是在最好的透镜上也总是存在;(ii)色差,如果存在只能被最小化,不能被消除;(iii)到物体的距离变化,尤其如果透镜不能动态调整其焦距等等。在花费时间和钱财来生产透镜部件之前,需要确定的是本发明的条形码符号阅读器的一个给定透镜的设计能够执行得足够好以满足应用的需要。因此其对以下很有帮助:(i)建立一个或多个设计标准来量化透镜性能,和(ii)围绕这些标准来优化设计直到达到需要的性能。

优选的设计系统中的图像形成光学装置的标准是调制传递函数或MTF。MTF提供一个物体或图像中存在的对比测量。性质上,对比可以被认为是物体或图像上亮和暗域之间的差异。物体或图像上两个域的“亮度”差异越大,对比越大,如下列图形所阐明,对比从左到右增加,如图40A所示。考虑到图像,是从图像传感器给定的数据,定量处理是可能的。在普通的8bit规模下,完全黑色的像素被赋值为0,完全饱和白的像素被赋值为255。因此,如图40B所示的图像可能也由其像素值表现,如图40C所示。如果这是目标物体的表现,那么结果图像将会不同。即,由于以上描述的各种效果,对比将不能准确的保存。换句话说,物体特征的间隔越近,那么物体图像的对比的复制就会越差。因此,物体图像可能会出现一些如在图40D中出现的图形复制和一些如在图40E中所示的图形复制值。

需要一个数学表达式来量化出现在物体或图像中对比的数量,以便其通过光学装置成像后的变化可以被估定。一个有用的对比测量可以被定义为物体中被给定范围的调制M,如下所示:

图像或物体中的对比越大,M的值就越大,最大值为1。另一方面,在物体或图像中没有对比(即在被讨论的物体的范围内没有可区别的特征)生成0调制。为确定图像形成光学装置如何完好的保存图像内目标物体的调制,只需要形成图像调制对物体调制的比率,即MTF:

图像中物体对比的完美复制(实际上不可能)导致MTF为1。图像中物体对比完全丢失时,MTF为0。

MTF在光学设计上是个有用的概念,因为它同时计算降低图像质量的任何效果的影响,通常称为不清晰性。如前所述,这些效果包括衍射、色差(球状、彩色的、彗差、象散、场曲)和物体距离到标称值的偏差。然而,出于全面性的原因,应该提及MTF不是图像质量的一种单一的完美或全包围的测量。一个潜在缺点是检查MTF只同时揭示了所有效果的完全影响,不能区别由一个或另一个缺点引起的不清晰性。如果有必要确定是哪个效果降低了MTF,以及每个降低到什么程度,那么就必须使用其它方法和检查其它的标准。另外,有潜在消极图像特征,如失真,其完全不能由MTF显示。如果光学设计者不够仔细,那么一个带有接近于衍射极限的MTF的图像,其尽可能好的获得,可能获得较差的失真以至于将来不能使用。

根据本发明的设计方法,在计算一个给定的光学设计的MTF之后,需要一个额外的标准来说明哪种MTF对正被讨论的应用是足够好的。对于条形码解码应用,一个有用的经验方法是为了使解码软件在基于成像的条形码符号阅读器中稳定的工作,需要0.3MTF或更好的。在本发明的基于成像的条形码符号阅读器上应用的设计策略,作为物体距离的函数,是确定编码元素的尺寸(毫米),结果图像的MTF在该编码元素的大小上降落到0.3。换句话说,在每个物体距离,光学设计者应该确定什么是编码元素的最小尺寸(毫米),对于该最小尺寸能很好的成像以至于由本发明的多模式图像处理条形码读取子系统17读取。在示范性实施例中使用的图像形成光学装置设计的一个阶段,如图41所示,相对物体距离来测绘最小的编码元素尺寸。给定了这样一个图,光学设计队需要确定结果条形码阅读器性能是否满足了将来应用的要求。为帮助做出决定,下述的先进光学设计方法和工具可以使用并获得很好的结果。

在本发明的基于成像的条形码阅读器中应用的图像形成光学装置DOF理论特征方法

参考图4D到图4I 3,现在描述一种新颖的软件激活设计工具和方法。

通常,软件激活光学设计工具提供一种新颖的方法和手段给完全的理论特征、图形察看和说明图像形成光学装置的合成DOF(如:在本发明的基于成像的条形码符号阅读器中应用的21),以及其它基于成像的光学阅读器,同时说明光学性能和图像传感器限制,覆盖所有的理想物体距离和所有理想编码mil尺寸。

给定一个图像形成光学装置21设计的透镜元件的排列,本发明的光学设计方法包括使用一个基于软件的光学设计工具,如图4I1到图4I3所示,根据本发明来生成一个合成DOF图表。此光学设计工具所需要的功能将在下面描述。如图4I1到图4I3中所描述,示范性实施例中的基于软件的光学设计工具(即计算机程序)使用光学建模软件开发,根据下面详述的本发明的原则用ZPL(Zemax编程语言)编程。

本发明光学设计工具需要的第一个功能是其必须能够计算从图像形成光学装置21产生的图像的调制传递函数(MTF),作为物体距离的函数而被绘制。通常工业的经验方法是0.3MTF是条形码解码可接受的最小值。因此,这种基于软件的光学设计工具作为物体距离的函数,必须能够确定物体空间频率,,在该空间频率上图像的MTF下降到0.3。

本发明光学设计工具需要的第二个功能是其必须能够转变物体空间频率到编码mil尺寸,并且这个数据应该相对于物体距离被绘制。一个结果图显示在图4D中,其中点线曲线显示图像形成光学装置的光学性能,在一个给定物体距离根据能被解码的最小mil尺寸编码。图4E说明如何从这个图读取DOF,通过寻找正在讨论的mil尺寸与光学性能曲线的交叉点。

然而,图像形成光学装置的光学性能并不是确定基于成像的条形码符号阅读器读取有给定宽度的条形码符号元素的条形码符号惟一的因素。基于图像处理的条形码符号解码软件需要传感器像素“视场”的某一最小值来投射到每个最小宽度编码元素,在图像形成光学装置的视场之内。通常工业的经验方法是对于可接受解码的每窄元素需要1.6像素。根据本发明,这个规则被扩展到每窄元素1.4到1.6像素的范围,而且被认为限制条形码阅读器1的最终性能的抽样理论强加的限制,不管其图像形成光学装置21的个体性能。

因此,本发明的光学设计工具需要的第三个功能是其必须能够作为物体距离的函数来计算单传感像素视场的大小,,当通过图像形成光学装置21投影而且进入物体空间(即说明图像形成光学装置21的光学放大)时。这些线性函数,依照1.4和1.6像素规则,被优选地绘制在与光学性能曲线相同的轴上,如图4F所示。

在描述了本发明的光学设计工具的主要功能,以及如何产生如图4F所示的基于成像的条形码符号阅读器的合成DOF图后,现在参照图4G来描述如何在1.6像素规模下确定准确的合成DOF曲线,说明光学性能和采样限制。其它系统信息,如透镜焦距、透镜焦距比数等也可以显示在图4G的合成DOF图中,如在标题块中。

如图4G所示,方法涉及到下列光学性能曲线直到其横断采样极限线。然后,采样极限线被跟踪直到其重新横断光学性能曲线,在该点上光学性能曲线是被再一次跟踪。因此,选择的采样极限线表现了系统解码分辨率的最低限制。参照图4H,显示了一个从图4G的合成图中读取DOF的简单技术。

优选地,本发明的光学设计工具具有一个简单图形用户界面(GUI),其可以是有用的、支持弹出窗口来使得用户简单敲入数字到程序中。另外,该光学设计工具将优选完成各种方法来允许用户在程序运行时指明某些需要的数字,反对改变程序文件中的数字。

另一个稍差一点的实现本发明的光学设计方法的可选择方式是,例如,通过检查MTF数据和存储结果到Excel来手动建立合成DOF图。然而,这种方法需要大量劳动并且不能提供在活动中可评估的增加,和图4I1到图4I 3所示的软件激活光学设计工具一样的作用。

在本发明的手持式基于成像的条形码读取系统中应用的多模式基于LED照明子系统的详细说明

在示范性实施例中,基于LED的多模式照明子系统14包括:窄域照明阵列27;近场宽域照明阵列28和远场宽域照明阵列29。这三种由子系统14的三种照明阵列产生的窄带照明的域在图5A1中详细描述。之后会参照图27和图28详细描述,窄域照明阵列27能被作为两个独立可操作的阵列实现,即:一个近场窄域照明阵列和一个远场窄域照明阵列,当目标物体分别在自动基于IR的物体存在和范围检测子系统12的宽域成像操作模式下的近场和远场被检测到时被激活。然而,为达到照明的目的,本发明的第一示范性实施例只使用了一个单场窄域(线性)照明阵列,该阵列被设计来充分照亮系统的全部工作范围,如图5A1所示。

如图5B、5C3和5C4所示,窄域(线性)照明阵列27包括两对分别具有柱面透镜27B1和27B2的LED光源27A1和27A2,并位于光传输窗口面板5的左和右部分。在图像形成和检测子系统13的窄域图像捕捉模式下,窄域(线性)照明阵列27在系统视场内产生窄光带宽的窄域照明场24。在示范性实施例中,窄域照明场24在远场的高度小于10mm,产生充分线性或很平坦的照明域的表面。

近场宽域照明阵列28包括两组(平顶的)LED光源28A1-28A6和28A7-28A13,没有任何透镜放置在光传输窗口面板5的顶部和底部,如图5B所示。在图像形成和检测子系统13的近场宽域图像捕捉模式下,近场宽域照明阵列28在系统视场内产生窄光带宽的近场宽域照明场25。

如图5B、5D3和5D4所示,远场宽域照明阵列29包括两组分别具有球面(即平凸的)透镜29B1-29B6和29B7-29B13的LED光源29A1-29A6和29A7-29A13,并位于光传输窗口面板5的顶部和底部。在图像形成和检测子系统13的远场宽域图像捕捉模式下,远场宽域照明阵列29在系统视场内产生窄光带宽的远场宽域照明光束。

多模式照明子系统中应用的窄域(线性)照明阵列

如图5A1所示,窄域(线性)照明域24在系统的工作范围内从大约30mm延伸到大约200mm,覆盖了系统的近场和远场。近场宽域照明场25在系统的工作范围内从大约0mm延伸到大约100mm。远场宽域照明场26在系统的工作范围内从大约100mm延伸到大约200mm。图5A2所示的表说明了本发明的多模式基于LED的照明子系统14所支持的每个照明模式的几何特性和特征。

在多模式基于LED的照明子系统14中应用的窄域照明阵列27被光学设计用来照亮基于成像的条形码符号阅读器视场(FOV)中心的狭长区域,被从视场的左边界测量到其右边界,如图5A1所示。后文将会详细描述,窄域照明场24被多模式基于LED的照明子系统14自动产生以响应自动基于IR的物体存在和范围检测子系统12的物体检测场内对物体的检测。通常,基于IR的物体存在和范围检测子系统12的物体检测场和图像形成和检测子系统13的视场是扩及同空间的,并且物体检测场在空间上和视场交迭,沿着基于成像的条形码符号阅读器的整个工作距离。根据物体检测产生的窄域照明场24具有双重的目的:其提供给操作者一个可见的关于条形码符号阅读器光学视场位置的指示,因此作为一个视场瞄准工具;在其图像获得模式下,窄域照明光束被用来照亮物体在其中的视场的狭窄区域,一个物体的窄2-D图像能被快速捕捉(通过图像传感阵列22中一小部分像素行),缓存和处理以便读取任何可能在其中显示的线性条形码符号。

图5C1示出了在多模式照明子系统14中的用来实现窄域照明阵列27的LED的朗伯发射率和波长特征。图5C2示出了同一LED的朗伯发射率和极角特征。图5C3示出了在本发明的照明子系统中的窄域(线性)照明阵列中的LED(633nm InGaAlP)之前使用的柱面透镜。如所示,柱面透镜的第一表面被垂直弯曲来产生一个窄域(线性)照明模式,柱面透镜的第二表面被水平弯曲来控制线性照明模式的高度来产生一个窄域照明模式。图5C4示出了一对LED和用来实现本发明的照明子系统的窄域照明阵列的柱面透镜的表面。在该示范性实施例中,每个LED在典型条件下产生大约总共11.7mW的输出功率。图5C5为示范性实施例中的窄域照明阵列产生的窄域照明场的一组六个照明剖面,沿着远离本发明的条形码阅读器的成像窗口(即工作距离)的场的30,40,50,80,120和220毫米取出,表明了域-域照明场的空间亮度在大约80毫米的地方开始变得基本相同。如所示,窄域照明光束可以在光传输/成像窗口40mm处开始。

在多模式照明子系统中应用的近场宽域照明阵列

在基于LED的多模式照明子系统14中应用的近场宽域照明阵列28被设计来照亮基于成像的条形码符号阅读器视场(FOV)的近场部分的宽域,如图5A1所定义的。如在下文将会详细描述的,近场宽域照明场28由基于LED的多模式照明子系统14自动生成,响应:(1)在系统近场内由基于IR的物体存在和范围检测子系统12检测到的任何物体;(2)一个或多个下列事件,包括,如(i)图像处理器未能在窄域照明模式下成功地解码处理线性条形码符号;(ii)编码元素的检测,如与2-D条形码符号联合的控制字;和/或(iii)表明物体在聚焦状态下被捕捉到的图像中像素数据的检测。

通常,基于IR的物体存在和范围检测子系统12的物体检测场以及图像形成和检测子系统13的视场是扩及同空间的,并且物体检测场从空间上和视场交迭,沿着基于成像的条形码符号阅读器的整个工作距离。响应一个或多个上述描述事件产生的近场宽域照明场23,照亮了覆盖基于成像的条形码符号阅读器视场(FOV)近场部分的宽域,如图5A所定义的,物体存在其中,并且物体2-D图像能被快速捕捉到(通过图像传感阵列22的所有像素行),缓存和解码处理来读取其中可能显示的任何1D或2-D条形码符号,以任意方向,实质上是任意条形码符号。在物体照明和图像捕捉操作中的近场宽域照明场强度由与近场宽域照明阵列28联合的LED如何被多模式照明子系统14电驱动所确定。LED被驱动的程度由自动曝光量和控制子系统15测量的靠近图像形成平面的反射光的强度所确定。如果自动曝光测量和照明控制子系统15的图像检测器的反射光强度弱的话,表明展示低光反射特征的物体和更激烈的照明量将需要由LED生产来确保在图像传感阵列22上足够的曝光量,那么自动曝光测量和照明控制子系统15将更激烈地驱动LED(即在更高的操作电流)。

图5D1示出了用来在本发明中的照明子系统中实现宽域照明阵列的LED的朗伯发射率和波长特征。图5D2示出了用来在多模式照明子系统14中实现近场宽域照明阵列的LED的朗伯发射率和极角特征。图5D4是用来实现多模式照明子系统14的窄宽域照明阵列的LED的几何设计,其中从那里产生的照明光束通过转动多模式照明子系统14的近场宽域照明阵列内的LED之前的透镜的角度来瞄准。图5D5是由示范性实施例的近场宽域照明阵列产生的近场远域照明场的一组六个照明剖面,沿着远离基于数字成像的条形码阅读器的成像窗口(即工作距离)的场的10,20,30,40,60和100毫米取出,这些图表明了近场宽域照明场的空间亮度在大约40毫米的地方开始变得基本相同(即中心∶边缘=2∶1至多)。

在多模式照明子系统内应用的远场宽域照明阵列

在基于LED的多模式照明子系统14中应用的远场宽域照明阵列26被设计来照亮覆盖基于成像的条形码符号阅读器视场(FOV)的远场部分的宽域,如图5A1所定义的。如在下文将会详细描述的,远场宽域照明场26由基于LED的多模式照明子系统14自动生成,响应:(1)在系统近场内由基于IR的物体存在和范围检测子系统12检测到的任何物体;(2)一个或多个下列事件,包括,如(i)图像处理器未能在窄域照明模式下成功地解码处理线性条形码符号;(ii)编码元素的检测,如与2-D条形码符号联合的控制字;和/或(iii)表明物体在聚焦状态下被捕捉到的图像中像素数据的检测。通常,基于IR的物体存在和范围检测子系统12的物体检测场以及图像检测和形成子系统13的视场23是扩及同空间的,并且物体检测场20从空间上和视场23交迭,沿着基于成像的条形码符号阅读器的整个工作距离。响应一个或多个上述描述事件产生的远场宽域照明场26,照亮了覆盖基于成像的条形码符号阅读器视场(FOV)远场部分的宽域,如图5A所定义的,物体存在其中,并且物体2-D图像能被快速捕捉到(通过图像传感阵列22的所有像素行),缓存和处理来读取其中可能显示的任何1D或2-D条形码符号,以任意方向,实质上是任意条形码符号。在物体照明和图像捕捉操作中的远场宽域照明场强度由与远场宽域照明阵列29联合的LED如何被多模式照明子系统14电驱动(即根据结电流测量)所确定。LED被驱动的程度由自动曝光量和照明控制子系统15测量的靠近图像形成平面的反射光的强度所确定。如果自动曝光测量和照明控制子系统15的图像检测器的反射光强度弱的话,表明展示低光反射特征的物体和更激烈的照明量将需要由LED生产来确保在图像传感阵列22上足够的曝光量,那么自动曝光测量和照明控制子系统15将更激烈地驱动LED(即在更高的操作电流)。

在近和远场宽域照明操作模式下,自动曝光测量和照明控制子系统(即模式)15测量和控制持续时间,该持续时间是多模式照明子系统14在图像捕捉/获得过程中将图像传感阵列22曝光到窄带照明(如:633纳米,约15nm带宽),并当这种计算持续时间已满时自动停止这种照明的产生。根据本发明的原则,整个全局曝光控制过程保证每个获得的图像具有良好的对比并且没有饱和,一致和可靠的条形码读取是两个的必要条件。

图5D1示出了用来在多模式照明子系统14中实现远场宽域照明阵列29的LED的朗伯发射率和波长特征。图5D2示出了用来实现同样的LED的朗伯发射率和极角特征。图5D3示出了在多模式照明子系统14的远场宽域照明阵列中的LED之前使用的平凸的透镜。图5D4示出了LED的几何设计和用来实现照明子系统的远宽域照明阵列29的平凸透镜,其中从那里产生的照明光束通过转动多模式照明子系统14的远场宽域照明阵列内的LED之前的透镜的角度来瞄准。图5D6是示范性实施例的远场宽域照明阵列产生的远场宽域照明场的一组三个照明剖面,在沿着远离基于成像的条形码符号阅读器1的成像窗口(即工作距离)的场的100,150和220毫米取出,表明了远场宽域照明场的空间亮度在大约100毫米的地方开始变得基本相同。图5D7是一个表阐明了计算远场宽域照明场中心的像素强度值的优选方法,该照明场多模式照明子系统14产生,示出了一个重要的信号强度(在远中心域大于80DN)。

在本发明图像的手持式外壳内集成的窄带滤光镜子系统的详细说明

如图6A1所示,本发明的条形码阅读器的手持式外壳已经在其外壳内集成了窄带滤光子系统4,用于几乎只传输从窄带多模式照明子系统14产生的波长很窄(例如:620-700纳米)的可见照明,并阻挡所有其它虽然产生但不在上述窄光波段范围的光波长(也就是周围的光源)。如所示,窄带滤光子系统4包括:红色波长反射(高通)成像窗口滤光器4A,其集成在形成于手持式外壳的前表面的光发射孔3内;和位于CMOS图像传感阵列22之前的低通滤光器4B。这些滤光器4A和4B共同形成用于上述用途的窄带滤光子系统4。如图6A2所示,与低通滤光器元件4B联合的光传输特性(能量对波长)显示光波长小于620nm的光波被传输通过,而光波长大于620nm的光波几乎都被阻挡(例如被吸收或反射)。如图6A3所示,与高通成像窗口滤光器4A联合的的光传输特性(能量对波长)显示光波长大于700nm的光波被传输通过,因此给使用者带来红色感官,而光波长小于700nm的光波被滤光器4A充分地阻挡(例如被吸收或反射)。

系统工作时,光谱带通滤光子系统4极大地降低了在图像捕捉操作中照射到CMOS图像传感阵列22的周围光的影响。本发明的滤光器的优点在于,系统中的光学快门机构被免除。实际上,滤光器能阻挡85%以上的额外的周围光,并且在典型的环境下,LED照明亮度明显地高于CMOS图像传感阵列22上的周围光。因此,几乎大部分的传统的CMOS成像系统需要光学快门,而本发明的基于成像的条形码读取系统通过使用由自动曝光测量和照明控制子系统15和CMOS图像传感阵列22产生的控制信号简单地控制基于LED的照明阵列27,28和29的照明时间从而有效地管理照射到CMOS图像传感阵列22的窄带照明的曝光时间,上述的照明是由上述的带通滤光子系统4控制的。结果是系统设计简单,没有活动部件,并且降低了生产成本。

所示的带通滤光子系统4包括高通滤光元件4A和低通滤光元件4B,它们由光元件沿着系统光程在空间上相互分开,子系统4可以被实施为一个集成的多层滤光结构,其可以安装于图像形成和检测(IFD)模块13的前部、或安装于其图像传感阵列22之前,而不使用高通窗口滤光器4A,或用于当建立吸引人的红色保护窗时,安装于基于成像的条形码符号阅读器内用于模糊视线。优选地,红色窗口滤光器4A具有几乎平坦的表面特征以避免在成像操作期间的穿过其的光的聚焦或散焦。

本发明的自动曝光测量和照明控制子系统的说明

自动曝光测量和照明控制子系统15的主要功能是通过(i)测量CMOS图像传感阵列22的图像平面的曝光和(ii)控制多模式照明子系统14使用从激活的LED照明阵列产生的窄带照明光照明目标物体的持续时间来控制获得的图像的亮度和对比度。因此,自动曝光测量和照明控制子系统15免除了需要用于基于CMOS的图像检测阵列22的复杂的光学快门机构。这个新颖的机构保证了本发明的基于成像的条形码符号阅读器产生具有足够亮度和对比度的非饱和图像从而保证了终端使用者所需要的快速和可靠的基于成像的条形码的解码。

当物体被照明时,窄带基于LED的光被目标物体反射(所述目标物体被手持式条形码阅读器瞄准)并且被CMOS图像传感阵列22积聚。特别地,物体照明过程必须被在最佳持续时间内完成以便获得的图像画面具有良好的对比度并且不饱和。对于一致的和可靠的条形码解码操作和性能这种情况是需要的。自动曝光测量和照明控制子系统15测量从目标物体反射的光量,计算CMOS图像传感阵列22应被曝露于与多模式照明子系统14结合的被活跃-驱动的基于LED的照明阵列下的最大时间,然后当计算的时间期满时自动使照明阵列失活(即失效)。

如图7A所示的说明实施例,自动曝光测量和照明控制子系统15包括:安装在手持式外壳头部内的抛物线光收集镜55,其用于收集从系统视场的中心部分反射的窄带基于LED的光,然后所述光被传输通过消除宽带光谱的干扰的窄带滤光子系统4;安装于光收集镜55的焦点的光检测设备(例如光二极管)56,用于检测过滤后聚焦于光收集镜55的窄带光信号;和用于处理由光二极管56产生的可表示在CMOS的图像传感阵列22的焦平面内检测到的曝光级强度的电信号的电子电路。在曝光量测量操作中,附带的窄带基于LED的照明由球面光收集镜55从系统的视场中心被收集,并且由窄带滤光子系统4在强度检测用聚焦光二极管56被聚焦前窄带滤光。光二极管56将检测的光信号转换为电信号,该电信号的振幅直接与收集的光信号强度对应。

如图7B所示,系统控制子系统19产生一个照明阵列选择控制信号,该信号决定哪个LED照明阵列(也就是窄域照明阵列27或远场和窄场宽域照明阵列28或29)在系统工作时的任何情况下将由自动曝光测量和照明控制子系统15中的LED阵列驱动电路64被选择驱动。如所示,电子电路57处理来自光二极管56的电信号并产生用于选择的LED照明阵列的自动曝光控制信号。其间,所述的自动曝光控制信号和来自系统控制子系统19的照明阵列选择控制信号被提供给LED阵列驱动电路64,该驱动电路用于选择和驱动一个或多个LED照明阵列以产生适当强度级和适当持续时间的可见照明,使CMOS的图像传感阵列22可以自动检测到被照明物体的具有充分对比度和亮度的数字高分辨率图像,因此获得本发明这里公开的整体曝光控制的目的。如图7B和7C所示,照明阵列选择控制信号由系统控制子系统19产生,响应(i)从系统模式配置参数表70读取的系统模式配置参数,如图2A1所示,其用于将来系统工作的编程模式,和(ii)检测自动基于IR的物体存在和范围检测子系统12的输出。

特别地,在说明的实施例中,基于LED的照明阵列有三种可能的形式:27、28和29,它们可以由系统控制子系统19选择激活,并且照明阵列28和29的上和/或下LED子阵列可以在子阵列乘子阵列的基底上被选择激活或失活,出于各种目的,包括在宽域图像捕捉模式操作时降低自动光谱反射噪音。

这些照明阵列中的每个可以根据由电子信号处理电路57产生的自动曝光控制信号被驱动为不同状态,其通常为可以被用于产生光检测器56检测到的物体距离、物体表面反射性和周围光条件的函数,并被信号处理电路57测量。信号处理电路57的工作原理在将下文详细说明。

如图7B所示,由抛物线光聚焦镜55产生的经窄带滤光光信号被聚焦于光检测器D156上,该光检测器产生了振幅与检测的光信号强度一致的模拟电信号。这个模拟电信号被提供给信号处理电路57用于处理的不同阶段。处理的第一步包括将模拟电信号从基于电流的信号转换为基于电压的信号,该转换是将所述模拟电信号通过由晶体管Q1(58)的一半实现的恒定电流源缓存器电路获得的。然后这个转换后的电压信号被晶体管Q1(58)的另一半缓存并被作为第一输入提供给求和点59。如图7C所示,CMOS图像传感阵列22产生,即输出,数字电子旋转快门(ERS)脉冲信号60,其中ERS脉冲信号60的持续时间设定为系统允许的最大曝光时间。ERS脉冲信号60通过晶体管Q261被缓存并形成求和点59的另一边。晶体管Q1和Q2的输出形成求和点59的输入。电容器C5被连接到求和点59的输出并提供足够降低信号处理电路57的任何电压过冲的最小积分时间。电容器C5的输出信号被进一步由比较器U1 62处理。在所述的实施例中,比较器参考电压信号被设定为1.7伏。这个参考电压信号设定了曝光测量电路57的最小阈值级。比较器62的输出信号被逆变器U363逆变以提供正逻辑脉冲信号,该信号作为自动曝光控制信号被提供给图7C所示的LED阵列驱动电路64的输入。

如以下将详细说明的,如图7C所示的LED阵列驱动电路64自动地驱动激活的LED照明阵列,并且LED阵列驱动电路64的工作取决于多模式照明子系统14被设置为何种操作模式。而在任何时间被设置为多模式照明子系统14中的何种操作模式通常取决于(i)物体存在和范围检测子系统12的工作状态和(ii)使用从图2A1所示的表70读取的系统模式配置参数对整个基于成像的条形码符号读取系统设置的可编程的操作模式。

如图7C所示,LED阵列驱动电路64包括模拟和数字电路,其接收两种输入信号:(i)来自信号处理电路57的自动曝光控制信号;和(ii)照明阵列选择控制信号。LED阵列驱动电路64产生,即输出,数字脉冲宽度调制(PCM)驱动信号提供给窄域照明阵列27、近场宽域照明阵列28中应用的上和/或下LED子阵列、和/或远场宽域照明阵列29中应用的上和/或下LED子阵列中的一种。取决于基于成像的条形码符号阅读器被设置为何种系统操作模式,在物体照明和成像操作期间,LED阵列驱动电路64将驱动一个或多个上述LED照明阵列。如以下将详细说明的,当CMOS图像传感阵列22中所有的像素行处于积分状态时(并且因此有共同的积分时间),这样的LED照明阵列被LED阵列驱动电路64按照一定强度自动驱动并用于通过自动曝光测量和照明控制子系统15进行持续时间计算(用模拟方式),这样捕捉的数字图像具有良好对比度和亮度、不依靠周围环境的光强和目标物体相对基于成像的条形码符号阅读器的运动。

本发明的使用CMOS图像传感阵列完成的整体曝光控制方法

在说明的实施例中,CMOS图像传感阵列22工作于它的单帧快门模式(也就是非连续帧快门模式),如图7D所示,并且使用能保证CMOS图像传感阵列22的所有像素行具有共同的积分时间的新颖的曝光控制方法,因此甚至当物体在高速运动状态时也可以捕捉高质量图像。本发明的这种新颖的曝光控制方法被称为“整体曝光控制方法”,并且图7E1和图7E2的流程图清楚和详细地说明了此方法如何在说明实施例的基于成像的条形码符号阅读器中实现。整体曝光控制方法现说明如下。

如图7E1的方框A所示,整体曝光控制方法的步骤A包括为由自动曝光测量和照明控制子系统、多模式照明子系统和系统控制子系统组成的基于成像的条形码符号读取系统中选择单帧快门操作模式用于CMOS图像检测阵列,并且图像形成光学装置提供将CMOS图像传感阵列的视场作为将被成像的物体的显示空间区域。

如图7E1的方框B所示,整体曝光控制方法的步骤B包括使用自动曝光测量和照明控制子系统连续地采集来自视场部分的照明,检测采集的照明亮度,并产生与检测的亮度一致的电模拟信号用于处理。

如图7E1的方框C所示,整体曝光控制方法的步骤C包括激活(例如用系统控制子系统19或直接用触发开关2C)CMOS图像传感阵列使它的像素行开始产生电负荷的光子积分以响应通过系统的图像形成光学装置在CMOS图像传感阵列上形成图像。

如图7E1的方框D所示,整体曝光控制方法的步骤D包括CMOS图像传感阵列22自动地(i)当图像传感阵列的所有像素行工作于积分状态时,产生旋转快门(ERS)数字脉冲信号,并将此ERS脉冲信号提供给自动曝光测量和照明控制子系统15以激活其中的曝光量测量和照明控制功能/操作。

如图7E2的方框E所示,整体曝光控制方法的步骤E包括,当子系统15的曝光量测量和照明控制功能被激活后,(i)处理其中连续产生的电模拟信号,(ii)测量在视场23的中心部分的曝光级(由图7A所示的光收集光学装置55决定),和(iii)从控制多模式照明子系统14中至少一个基于LED的照明阵列(27,28和/或29)中产生用于产生照明的可视场的自动曝光控制信号,其中所述的基于LED的照明阵列是由系统控制子系统19产生的照明阵列选择控制信号所选择的。

最后,如图7E2的方框F所示,整体曝光控制方法的步骤F包括使用(i)自动曝光控制信号和(ii)照明阵列选择控制信号,驱动被选择的基于LED的照明阵列和照明被设置为任何图像捕捉模式的CMOS图像传感阵列22的视场,更准确地,所述的照明是当CMOS图像传感阵列的所有像素行处于积分状态时,如图7D所示,从而保证CMOS图像传感阵列的所有像素行具有共同的积分时间。通过保证了CMOS图像传感阵列22的所有像素行具有共同的积分时间,能够有效地获得本发明的基于成像的条形码符号阅读器的高速“整体曝光控制”,并且因此,高质量的图像被捕捉而不依赖于条形码符号阅读器和目标物体之间的相对运动。

本发明的手持式基于数字成像的条形码读取装置中应用的基于IR的自动物体存在和范围检测子系统的说明

如图8A所示,基于I R波长的自动物体存在和范围检测模块12以安装于图1J所示的光具座6的前部分的紧凑光学模块76的形式实现。

如图8所示,说明实施例的物体存在和范围检测模块12包括若干分元件,即:光具座77,其具有支撑用于实现子系统12的光学或光电元件的超小台面;安装于光具座77上的至少一个IR激光二极管78,其用于产生低功率IR激光束79;安装于光具座上的IR光束成形光学装置80,其用于成形IR激光束(例如成为笔形束的几何形状)并将其指向安装于光具座77上的由IR光收集/聚焦光学装置81的视场(FOV)定义的物体检测场20的中心部分;安装于光具座77上的调幅(AM)电路82,其用于在频率为f0(例如75Mhz),光学功率为7.5毫瓦处调制IR激光二极管产生的IR激光束的幅度;安装于IR光收集/聚焦光学装置81的焦点的光学检测器(例如雪崩型IR光检测器)83,其用于接收物体检测场内的物体反射的IR光信号并将接收的光信号84转换为电信号85;安装于光具座77上的放大器和滤波电路86,其用于分离f0信号元素和将其放大;安装于光具座上的限制放大器87,其用于保持稳定的信号级;安装于光具座77上的鉴相器88,其用于混合来自AM电路82的参考信号分量f0和接收的反射自包装上的信号分量f0并产生等于与参考和反射的f0信号的相位差的余弦成比例的DC电压的结果信号;安装于光具座77上的放大电路89,其用于放大相位差信号;安装于光具座77上的接收信号强度指示器(RSSI)90,其用于产生与从目标物体反射的信号的LOG成比例的电压,该电压可以被用于提供额外的信息;用于阻挡来自微弱信号的信息的反射比级阈值模拟复用器91;和安装于光具座77上的12比特A/D转换器92,其用于将来自RSSI电路90的DC电压信号转换为基于时间的范围数据元素{Rn,i}的序列,取nT个时间离散点,其中每个范围数据元素{Rn,i}提供一个距离的测量,该距离是涉及的物体从(i)IR激光二极管78至(ii)在物体检测场20内的物体表面的一个点的距离;和以下说明的范围分析电路93。

一般而言,范围分析电路93的功能是分析来自A/D转换器90的数字范围数据并产生两个控制激活信号,也就是:(i)控制激活信号A1A的“物体存在检测”类型用于简单地表示在物体检测场中一个物体是否存在,而不管多模式照明子系统14可能设置为何种操作模式;和(ii)控制激活信号A1B的“近场/远场”范围表示类型表示了被检测物体的位置是在物体检测场的预先定义的近场还是远场部分,所述近场/远场部分对应于多模式图像形成和检测子系统13的视场的近场和远场部分。

基于IR的物体存在和范围检测子系统12可以用各种类型的模拟和数字电路设计实现。可选地,这个子系统可以全部地参考美国专利号6,637,659说明的各种范围检测技术并结合这里的说明而实现。

在说明的实施例中,自动的物体存在和范围检测子系统12工作如下。在需要自动的物体存在和/或范围检测的系统操作模式下,物体存在和范围检测子系统12将在系统启动时被激活并在系统工作的所有时间内工作,通常连续向系统控制子系统19提供有关的基于成像的符号阅读器的物体检测场20中的远和近部分的物体状态的信息。一般而言,这个子系统检测存在和范围两种基本状态,并因此具有两种基本的操作状态。在它的第一个工作状态下,基于IR的自动物体存在和范围检测子系统12自动地检测在视场20的近场区域的物体,并且相应地产生一个第一控制激活信号,该信号被提供给系统控制子系统19以表示这个第一个事件的发生。在它的第二个工作状态下,基于IR的自动物体存在和范围检测子系统12自动地检测在视场20的近场地区的物体,并且相应地产生一个第二控制激活信号,该信号被提供给系统控制子系统19以表示这个第二个事件的发生。如这个专利通篇所详细说明的,这些控制激活信号被系统控制子系统19在系统控制过程的特殊阶段使用,例如决定(i)是否激活近场和/或远场LED照明阵列中的一个,和(ii)这些LED照明阵列需要多强的驱动才能保证曝光于CMOS图像检测阵列22的图像质量。

在微处理器的直接存储器存取(DMA)模块控制下将图像阵列捕捉的像素数据映射到SDRAM中的说明

如图9所示,被用于基于数字成像的条形码符号读取装置中应用的CMOS图像传感阵列22可操作地与它的微处理器36通过FIFO39(由FPGA方式实现)和如图2B所示的系统总线连接。如所示,SDRAM38通过系统总线方式也可操作地与它的微处理器36连接,从而保证了在微处理器36的直接存储器存取(DMA)模块控制下将CMOS图像传感阵列22捕捉的像素数据映射到SDRAM38中。

参考图10,现在详细说明如何在由本发明的手持式基于成像的条形码读取装置内完成的每个图像捕捉周期期间将CMOS图像传感阵列22捕捉的像素数据的字节自动地映射(也就是捕捉和存储)到它的SDRAM的可设定地址的内存存储地点中。

在所说明的实施例的实现中,CMOS图像传感阵列22通过并行数据连接发送8位灰度级数据字节至使用自己内部的SRAM来实现FIFO的FPGA39。FIFO39临时存储像素数据并且微处理器36启动DMA用于从FIFO(被映射到地址OXOCOOOOOO,芯片选择3)至SDRAM38的转发。一般而言,现代的微处理器具有内部DMA模块,并且对于优选的微处理器设计,DMA模块包含32字节缓存器。不用耗费任何CPU周期,DMA模块可以被编程为从FIFO39中读取数据,将读取的数据字节存储于DMA的缓存器中,随后将数据写到SDRAM38中。可选地,包含在FPGA39的DMA模块可以直接将FIFO数据写入SDRAM38。这些通过发送总线请求信号给微处理器36来完成,因此微处理器36释放总线控制给FPGA 39,FPGA39随后接管总线并将数据写入SDRAM38中。

以下,将简短说明从CMOS图像传感阵列22输出的像素数据被存储于SDRAM38的何处,以及微处理器(也就是完成解码算法)36如何访问这些存储的像素数据字节。图10表示了SDRAM38的内存空间。一个1.3MB的保留的内存空间被用于存储CMOS图像传感阵列22的输出。这个内存空间是1∶1映射来自CMOS图像传感阵列22的像素数据。每个字节代表图像传感阵列22的一个像素。内存空间是来自图像传感阵列22像素数据的镜像。因此,当解码程序(36)访问内存时,就好像访问的是图像传感阵列22的原像素图像。因为条形码阅读器的操作模式保证了微处理器36总是访问最新数据,所以不需要时间码来跟踪数据,并且像素数据集是最近一次曝光的真实表现。为防止数据损坏,即当新数据到来时旧数据还在被处理中,一旦整个帧的像素数据被写入内存,被保留的空间通过禁止进一步的DMA访问而受到保护。直到微处理器36完成它的内存检查或发生超时,DMA模块被重新激活。

在图像获取操作中,图像像素被顺序地从图像传感阵列22读出。虽然有人可能选择对一些CMOS图像传感器按行或按列读取,为不失去通用性,最好逐行读取数据。像素图像数据集在SDRAM38被顺序地安排,开始于地址OXAOEC0000。随机访问SDRAM38的任何像素是件很直接的事:在y1/4行x列的像素的位于地址(OXAOEC0000+yx1280+x)。

因为每个图像帧都有一个从图像传感阵列22输出的帧开始信号,这个信号可以被用于启动在地址OXAOEC0000的DMA程序,并且其它帧的地址会连续累加。但是从地址OXAOEC0000开始读取每帧图像是为了避免任何数据差错。但是明显地,如果微处理器36编程CMOS图像传感阵列22具有ROI窗口,那么起始地址将被修改为(OXAOEC0000+1280X R1),其中R1是ROI左上角的行数。

本发明的手持式基于数字成像的条形码读取装置的三层软件结构的说明

如图11所示,本发明的手持式基于数字成像的条形码符号读取装置1具有三层软件结构,其包括以下软件模块:(1)主任务模块、CodeGate任务模块、Metroset任务模块、应用事件管理模块、用户命令表模块和命令处理器模块,它们每个都位于软件结构的应用层;(2)任务管理器模块、事件分配器模块、输入/输出管理器模块、用户命令管理器模块、计时器子系统模块、输入/输出子系统模块和存储器控制子系统模块,它们每个都位于软件结构的系统核心(SCORE)层;和(3)LinuxKernal模块、Linux文件系统模块、设备驱动程序模块,它们每个都位于软件结构的Linux操作系统(OS)层。

虽然基于成像的条形码符号阅读器的操作系统层是基于Linux操作系统,但是可以理解其它操作系统也可以被使用(例如Microsoft Windows,Max OXS,Unix等),并且主应用软件层和操作系统层最好设计为相互独立,因此,可以使应用软件层具有被移植到其它平台的可能性。此外,本发明的系统设计原则通过可扩展的使用共同的软件结构向其它未来产品提供了系统可扩展性,该原则使这样的产品设计简单、减少了开发时间和保证了它们的活力。

在说明的实施例中,以上特点是通过完成一个运行于被称为SCORE的系统核心软件层上的事件驱动的多任务的、潜在的多用户的应用层而获得的。SCORE层与产品应用软件稳定地连接,因此,所述应用软件运行于应用级或系统层。SCORE层向应用提供整套服务,因此用这种方式,应用不需要了解操作系统下面的细节,虽然所有的操作系统APIs当然对应用总是可用的。SCORE软件层向产品应用提供实时的、事件驱动的、OS独立的结构的操作。事件驱动结构的完成是通过产生检测事件(通常,但不是必需,当发生硬件中断时)的方法并向应用发出事件通知以实现实时方式的处理。事件检测和通知是由SCORE软件层提供的。SCORE层还向产品应用提供可以同时运行启动和取消软件任务的手段,因此,本发明的软件系统性质是多任务的。

本发明的基于成像的条形码阅读器中应用的系统软件结构的SCORE层的软件模块的说明

SCORE层向应用层提供很多服务。

任务管理器提供在产品应用运行期间任何时间执行和取消特殊应用任务(线程)的手段。

事件分配器提供用于发信号和递送所有类型的内部和外部的同步的和异步的事件的手段。

当与应用同步或异步的事件发生时,事件分配器发送它们至应用事件管理器,该管理器按照应用基于当前状态提出的要求处理事件。例如,基于特殊事件和应用的当前状态,应用事件管理器可以决定开始一个新任务、或停止目前正在运行的任务、或做其它事、或不做任何事和完全忽略事件。

输入/输出管理器提供监控输入/输出设备的活动和当这种活动被检测到时发送有关的事件至应用的手段。

输入/输出管理器软件模块在后台运行并且监控外部设备和用户连接的活动,并当这种活动被检测到时发送有关的事件至应用层。输入/输出管理器是高优先级的线程,它和应用并行运行并对从硬件设备异步地传来的输入/输出信号作出响应,例如串行口、用户触发开关2C、条形码阅读器、网络连接等。基于这些信号和来自应用的任意的输入/输出要求(或缺乏),产生了适当的系统事件,它们如上面的说明通过事件分配器被尽快地递送至应用事件管理器。

用户命令管理器提供用于管理用户命令、和使用应用提供的用户命令表、和基于用户输入的数据执行适当的用户命令处理程序的手段。

输入/输出子系统软件模块提供用于新建和删除输入/输出连接和与外部系统和设备通信的手段。

计时器子系统提供新建、删除和使用所有类型的逻辑计时器的手段。

存储器控制子系统向设备提供用于管理多级动态存储器的接口,该接口完全与标准的动态存储器管理功能兼容,同时提供用于缓存收集的数据的手段。存储器控制子系统提供线程级管理动态存储器的手段。存储器控制子系统的接口完全与标准C存储器管理功能兼容。系统软件结构被设计为可以向潜在的多用户提供设备的连接,这可能需要在操作设备时具有不同级的授权。

用户命令管理器提供用户命令输入的标准方式,并执行负责处理该用户命令的应用模块。用户命令表中说明的每个用户命令是由用户命令管理器根据用户输入被启动处理的任务,但是上述处理只有当某个用户的权力与命令的安全级一致时才能进行。

事件分配器软件模块提供发信号和递送事件至应用事件管理器的手段,包括开始一个新任务、停止目前正在运行的任务、或做或不做一些事和只是忽略该事件。

图12B提供了系统定义事件的举例列表,这些事件可以在本发明的手持式基于数字成像的条形码符号读取装置中发生和被发送,也就是:SCORE_EVENT_POWER_UP表示系统启动完成,不包括任何参数;_SCORE_EVENT_TIMEOUT表示逻辑计时器超时,并包括参数“计时器id的指针”;SCORE_EVENT_UNEXPECTED_INPUT其表示意外输入的数据可被得到并包括参数“连接id的指针”;SCORE_EVENT_TRIG_ON表示使用者拉动了触发器并不包括任何参数;SCORE_EVENT_TRIG_OFF表示使用者释放了触发器并不包括任何参数;SCORE_EVENT_OBJECT_DETECT_ON表示物体被放置在条形码阅读器下并不包括任何参数;SCORE_EVENT_OBJECT_DETECT_OFF表示物体从条形码阅读器的视场内移走并不包括任何参数;SCORE_EVENT_EXIT_TASK表示任务执行结束并包括指针UTID;和SCORE_EVENT_ABORT_TASK表示任务在执行时被中断。

本发明的基于成像的条形码符号阅读器向使用者提供了命令行接口(CLI),它可以通过标准通信线工作,例如RS232,条形码阅读器中可用。CLI主要用于诊断用途,但也可以用于除和编程功能外的配置用途。使用CLI发送命令给条形码阅读器时,使用者必须先键入特殊字符而进入用户命令管理器,该字符实际可以是多个和同时按键的组合,例如Ctrl和S。任何标准和广泛可用的软件通信工具,例如Window HyperTerminal,可以被用于与条形码阅读器通信。条形码阅读器通过发送提示,例如“MTLG>”通知使用者它准备好接受命令。使用者现在可以键入任何有效的应用命令。要退出用户命令管理器和使扫描器返回正常操作,使用者必须输入另外的特殊字符,该字符实际可以是多个和同时按键的组合,例如Ctrl和R。

有效的应用命令的例子可以是“Save Image”命令,该命令用于从条形码阅读器的存储器上传图像至主PC。这个命令有以下CLI形式:

Save[filename[compr]]

其中

(1)save是命令名。

(2)filename是将存的图像的文件名。如果省略,默认文件名为“image.bmp”。

(3)compr是压缩号,从0至10。如果省略,默认压缩号为0,意思是没有压缩。压缩号越大,图像压缩比例越高,图像传送越快,但图像变形也越严重。

在本发明的基于成像的条形码符号阅读器可以有很多命令。所有的命令都在一个被包括在产品应用软件层的单独的表中说明(图11所示的用户命令表)。对于每个有效命令,表中相关的记录包括命令名、命令的简短说明、命令类型和执行命令的函数的地址。

当使用者输入命令时,用户命令管理器在表中寻找命令。如果找到了,它执行对应的函数,该函数的地址在输入命令的记录中。当从函数返回后,用户命令管理器向使用者发送提示显示命令已经完成并且用户命令管理器准备好接收新的命令。

本发明的基于成像的条形码符号阅读器的系统软件结构的应用层的软件模块的说明

系统中应用的图像处理软件通过定位和识别在包含像素数据的捕捉的图像的帧中的条形码执行条形码读取功能。图像处理软件的模式设计提供一组丰富的图像处理函数,它们可以被用于未来的与条形码符号阅读器有关或无关的应用,例如:光学字符识别(OCR)和校验(OCV);直接读取和校验各种表面上的标记符号;面部识别和其它生物统计鉴定等。

CodeGate任务,在无限循环中,执行以下任务。它照明一个在视场(FOV)中心的“薄的”窄的水平区域并获得该区域的数字图像。然后它尝试读取捕捉的图像数据帧中表示的条形码符号,利用本发明随后会详细说明的图像处理条形码符号读取子系统17支持的图像处理软件工具。如果条形码符号读取成功,则子系统17将解码数据保存于特殊的解码数据缓存器中。否则,它清除解码数据缓存器。然后,它继续循环。CodeGate任务永远不会自行退出。当对其它事件发生反应时它可以被其它模块取消。例如,当使用者拉动触发开关2C时,事件TRIGGER_ON被发送到应用。应用软件负责处理这个事件,检查CodeGate任务是否正在运行,如果是,它取消这个任务,然后开始主任务。当CodeGate任务遇到OBJECT_DETECT_OFF事件时也可以被取消,当使用者移动条形码阅读器离开物体,或当使用者移动物体离开条形码阅读器时,事件都被发送。当本发明的照明和成像平台执行“半自动触发(semi-automatic-triggered)”系统的被编程的操作(图26A系统操作模式Nos.11-14)时,CodeGate任务程序被激活(用主任务)。

图13M所示的窄域照明任务是一个简单的程序,当本发明的照明和成像平台执行“手动触发(manually-triggered)”系统的被编程的操作(图26A系统操作模式Nos.1-5)时,该程序被激活(用主任务)。然而,这个程序永远不能与CodeGate任务同时被激活。如图13D所示的事件流程图,CodeGate任务或窄域照明任务中的一个被主任务程序激活以完成这里描述的各种系统操作。

取决于基于成像的条形码符号阅读器的被配置的系统模式,主任务通常完成不同任务,但在图13J的限制内。例如,当基于成像的条形码符号阅读器被配置为将在以后详细说明的系统操作第12(也就是半自动触发多试图1D/2D单读取模式(Semi-Automatic-triggered Multiple-Attempt1D/2D Single-Read Mode))的可编程模式,主任务先检查解码数据缓存器是否包含被CodeGate任务解码的数据。如果是,它立即执行数据输出程序发送数据至使用者并退出。否则,主任务以循环方式做以下事:它照明视场的整个区域并获得该区域的全帧图像。它试图读取捕获的图像的条形码符号。如果它成功读取了条形码符号,那么它立即执行数据输出程序发送数据至使用者并退出。否则,它继续循环。明显地,当成功读取后而执行数据输出程序之前,主任务分析解码数据用于“阅读器编程”命令或一系列命令。如果必要,它执行MetroSelect函数。当对其它事件反应时,主任务可以被系统的其它模块取消。例如,本发明的条形码阅读器可以使用标准的Metrologic配置方法被重新配置,例如和MetroSelect函数在主任务期间被执行。

MetroSet函数由特殊的MetroSet任务执行。当Focus RS232软件驱动器在它的通信线上检测到特殊的空信号,它发送METROSET_ON事件至应用。负责处理这个事件的应用软件启动MetroSet任务。一旦MetroSet任务完成,扫描器返回它的正常操作。

(图26A系统操作模式Nos.6-10)可以在本发明的照明和成像平台通过修改以下软件系统而被容易地执行:(1)自动读取任务程序被加进系统程序库(其中自动读取任务可以是无限循环程序,其中CodeGate任务和主任务的主要操作是被一起排序先执行自动窄域照明和图像捕捉和处理,然后执行自动宽域照明和图像捕捉和处理,并在无限循环中重复宽域操作,直到物体在一个特殊预先设定的时间段不再被检测到;并且(2)修改图13D所示的在Object_Detect_On事件处理程序中的查询方框“CodeGate任务或窄域照明任务被激活了吗?”,进一步问是否“自动读取任务程序被激活”,并且在“是”控制路线上,提供一个启动“自动读取任务”的方框,然后使控制返回。

本发明的基于成像的条形码符号阅读器中应用的系统软件结构的应用层内的操作系统层软件模块

包括触发器驱动器的设备驱动软件模块提供用于建立软件与安装在基于成像的设备上的基于硬件的手动激活的触发开关2C,基于成像的设备上用于执行图像获取功能的图像获取驱动器,和基于成像的设备上用于执行物体检测功能的IR驱动器的连接的手段。

如图12I所示,设备驱动软件模块包括:触发器驱动器,其用于建立软件与安装在本发明的基于成像的条形码符号阅读器中的基于硬件的手动激活的触发开关2C的连接;图像获取驱动器,其用于实现基于成像的条形码符号阅读器中的图像获取功能;IR驱动器,其用于实现基于成像的条形码符号阅读器中的物体检测功能。

本发明的手持式基于数字成像的条形码读取装置的三层软件结构支持的基本系统操作

图13A至图13L所示为被本发明的基于成像的条形码读取装置的三层软件结构支持的基本系统操作的说明。明显地,这些基本操作代表了本发明的系统结构的功能模块(或结构模块),使用这里公开的图像获取和处理平台,它们可以被进行各种组合来执行大量的图23列出的,下面将详细说明的,系统操作的可编程模式。为了说明目的,以及避免引起对本发明的困惑,这些基本系统操作将在以下参照系统操作第12的可编程模式:使用多模式条形码读取子系统17的No_Finder模式和手动或自动模式的半自动触发多试图1D/2D单读取(Semi-Automatic-triggeredMultiple-Attempt 1D/2D Single-Read)模式进行说明。

图13A表示当使用者将条形码阅读器指向物体上的条形码符号时系统的系统核心层执行的基本操作。这些操作包括由IR设备驱动器激活场内物体的自动检测,和唤醒输入/输出管理器软件模块。如图13B所示,输入/输出管理器发送SCORE_OBJECT_DETECT_ON事件至事件分配器软件模块响应检测到物体的事件。然后如图13C所示,事件分配器软件模块递送SCORE_OBJECT_DETECT_ON事件至应用层。

在应用层收到SCORE_OBJECT_DETECT_ON事件后,应用事件管理器执行事件处理程序(如图13D所示),其激活窄域(线性)照明阵列27(也就是在窄域照明和图像捕捉模式期间),然后取决于是否演示模式已经被选择和系统设置期间是否CodeGate任务或窄域照明模式被激活,这个事件处理程序执行图13J所示的主任务、图13E所示的CodeGate任务、或图13M所示的窄域照明任务中的一个。如图13D的流程图所示,系统事件处理程序先判断是否演示模式已经被选择(也就是被激活),然后事件处理程序判断CodeGate任务或窄域照明程序是否被激活(用主任务)。如果CodeGate任务被激活,应用层启动CodeGate任务。如果窄域照明任务被激活,应用层启动窄域照明任务,如所示。

如图13E所示,应用层通过先激活多模式图像形成和检测子系统13中的窄域图像捕捉模式来执行代码门任务(也就是通过激活CMOS传感阵列22的一些中间像素行),然后获取/捕捉位于条形码阅读器的视场中心的窄图像。CodeGate任务使用被选择的可编程的系统操作模式第12激活无探测器模块在捕捉的窄域图像上执行图像处理操作。如果图像处理方法的结果是条形码符号读取成功,则CodeGate任务将被解码的符号字符数据保存于CodeGate数据缓存器中;而如果不成功,任务清除CodeGate数据缓存器,然后返回任务主方框重新进行图像获取。

如图13F所示,当CodeGate任务正在执行时,使用者拉动了条形码阅读器上的触发开关2C,OS层的触发开关驱动器自动唤醒系统核心层的输入/输出管理器。如图13G所示,输入/输出管理器发送SCORE_TRIGGER_ON事件至也在系统核心层的事件分配器以响应被触发开关驱动器的唤醒。如图13H所示,事件分配器递送SCORE_TRIGGER_ON事件至应用层的应用事件管理器。如图13I1和图13I2所示,应用事件管理器通过启动在系统核心层的任务管理器中的处理程序(事件触发器)对SCORE_TRIGGER_ON事件进行响应。

如图13I 1和图13I 2中的流程图所示,程序判断演示模式(也就是可编程的系统操作模式的第10)是否已经被激活,如果是,程序退出。如果程序判断演示模式(也就是可编程的系统操作模式的第10)未被激活,它再判断CodeGate任务是否在运行,如果在运行,它先取消CodeGate任务,然后使与多模式照明子系统14结合的窄域照明阵列27失活,继而执行主任务。可是如果程序判断CodeGate任务未在运行,它判断窄域照明任务是否在运行,如果未运行,那么主任务被启动。可是,如果窄域照明任务在运行,那么程序增强窄域照明光束至全功率并在系统视场中心获取窄域图像,然后试图读取捕捉的窄域图像的条形码。如果读取成功,则将解码(符号字符)数据保存在解码数据缓存器中,窄域照明任务被取消,窄域照明光束被停止,程序启动主任务,如所示。如果读取不成功,程序清除解码数据缓存器,窄域照明任务被取消,窄域照明光束被停止,程序启动主任务,如所示。

如图13M所示,窄域任务程序是无限循环程序,它只是以递归方式保持窄域照明光束被产生和指向系统的视场的中心(例如通常只需要在运行CodeGate任务期间产生的全功率窄域照明光束的一般或更少的功率)。

如图13J所示,应用层执行的主任务中的第一步是判断CodeGate数据目前是否可用(也就是存储在解码数据缓存器中),如果这些数据可用,主任务直接执行图13K所示的数据输出程序。可是,如果主任务判断没有数据可用,它启动读取超时计时器,然后在读取超时计时器允许的时间内获取被检测物体的宽域图像。明显地,这个宽域图像获取过程包括执行以下操作,即:(i)首先激活多模式照明子系统14中的宽域照明模式和CMOS图像形成和检测模块中的宽域捕捉模式;(ii)判断物体是否位于视场的近场或远场部分(通过基于IR的物体存在和范围检测子系统12进行物体范围测量);和(iii)然后通过使用近场照明阵列28或远场照明阵列29之一(或在特殊程序情况下两者都用)激活近或远场宽域照明阵列以照明在视场近或远场之一的部分的物体,用由自动曝光测量和照明控制子系统15决定的亮度和持续时间;并且(iv)按照前面说明的本发明的整体曝光控制方法检测成像于CMOS图像传感阵列22的图像的空间的光强。然后主任务用手动、特定ROI或自动操作模式对捕捉的图像执行图像处理操作(虽然可以理解,本发明的其它的基于图像处理的读取方法,例如自动的或全扫描(还有其它合适的这里未公开的解码算法/程序),可以被使用,但其取决于终端用户选择本发明的基于成像的条形码符号阅读器的哪个系统操作可编程模式。明显地,如图13J所示的实施例中,每个图像获取/处理帧的持续时间是由所示的开始读取超时计时器和停止读取超时计时器块设定的,并且在系统操作可编程模式的第12中,主任务将支持重复(也就是多次)试图读取单个条形码符号只要触发开关2C被操作员手动压下而单个条形码还未被读取。当成功地读取一个(单个)条形码符号后,主任务将执行数据输出程序。明显地,在其它系统操作的可编程模式中,其激活了试图读取单个条形码符号,主任务将按照能支持这种系统行为被修改。在这种情况下,一个主任务的替换名字(例如主任务2)被执行以便在运行时间内激活需要的系统行为。

还应指出的是在这个结合点,在主任务期间可以激活和使用多种不同类型的符号读取方法,并根据CodeGate任务期间处理的窄域图像,和/或主任务期间获取/处理其中一幅图像帧或运行周期期间预处理捕捉的宽域图像而获得的计算结果应用特别的读取方法。这里的基本点是基于图像处理的条形码读取方法的选择和应用优选是通过有选择地激活在多模式基于图像处理的条形码符号读取子系统17中可用的不同模式而进行,响应从捕捉的图像结构中了解表现的图形智能的信息,并且这种动态应按照通常在先进的图像处理系统中使用的动态适应学习的原则进行,语音理解系统也一样。这个通用方法与现有技术的基于成像的条形码符号阅读器明显不同,它们采用的条形码读取方法是由用户从基于静态定义模式的预先选定的方法中选择,并不能响应从实时捕捉的图像中发现的检测情况。

如图13K所示,主任务中调用的数据输出程序执行的第一步包括判断由主任务产生的符号字符数据是否是用于条形码阅读器的编程。如果数据不是用于条形码阅读器的编程,则数据输出程序按照条形码阅读器系统的配置发出数据,然后对操作人员产生有关的视觉和音频指示,然后退出程序。如果数据是用于条形码符号阅读器的编程,则数据输出程序设定适当的条形码阅读器设置(文件)结构的元素并将条形码阅读器配置参数保存在非变化RAM(例如NOVRAM)。数据输出程序重新配置条形码符号阅读器,然后对操作人员产生有关的视觉和音频指示,然后退出程序。如图13L所示,解码数据被从系统核心层的输入/输出模块发送至系统的Linux OS层的设备驱动器中。

主任务系统控制程序期间的宽域照明控制方法使得用宽域照明照明物体在某种意义上充分降低了条形码符号阅读器的CMOS图像传感阵列的镜面类型反射

参考图13N1至图13N3,按照本发明的没有镜面反射的照明物体方法将被详细说明。这个控制程序可以在主任务程序中获取宽域图像的步骤期间被调用,如图13J所示。

如图13N1的步骤A所示,照明控制方法的第一步包括使用自动曝光测量和照明控制子系统15测量在条形码符号读取系统中开始每次照明和成像周期之前的CMOS图像传感阵列22曝露的周围光级。

如步骤B所示,照明控制方法包括使用自动的基于IR的物体存在和范围检测子系统12测量物体在系统的视场(FOV)的近或远场部分的存在和范围。

如步骤C所示,照明控制方法包括使用检测的范围和测量的曝光级来驱动与近场宽域照明阵列28或远场宽域照明阵列29中的一个结合的上和下LED照明子阵列。

如步骤D所示,照明控制方法包括使用步骤C中产生的照明场来捕捉在CMOS图像传感阵列22上的宽域图像。

如步骤E所示,照明控制方法包括迅速处理步骤D中捕捉的宽域图像以检测在被捕捉的宽域图像中的高空间亮度级的发生,其反映出镜面反射条件。

如步骤F所示,照明控制方法包括判断是否在处理后的宽域图像中检测到镜面反射条件,如果有则只驱动与近场或远场宽域照明阵列之一结合的上LED照明子阵列。如果在处理后的宽域图像是没有检测到镜面反射条件,则检测的范围和测量的曝光级被用于驱动与近场或远场宽域照明阵列之一结合的上和下LED照明子阵列。

如步骤G所示,照明控制方法包括使用步骤F产生的照明场捕捉CMOS图像传感阵列22上的宽域图像。

如步骤H所示,照明控制方法包括迅速处理步骤G中捕捉的宽域图像以检测在被捕捉的宽域图像中的高空间亮度级的发生,其反映出镜面反射条件。

如步骤I所示,照明控制方法包括判断是否在处理后的宽域图像中检测到镜面反射条件,如果有则驱动与近场或远场宽域照明阵列之一结合的其它LED照明子阵列。如果在处理后的宽域图像中没有检测到镜面反射条件,则检测的范围和测量的曝光级被用于驱动与近场宽域照明阵列28或远场宽域照明阵列29之一结合的相同的LED照明子阵列(同步骤C)。

如步骤J所示,照明控制方法包括使用步骤I产生的照明场捕捉在CMOS图像传感阵列上的宽域图像。

如步骤K所示,照明控制方法包括使用迅速处理步骤J中捕捉的宽域图像以检测在被捕捉的宽域图像中的高空间强度级的缺失,确认以前检测的镜面反射条件的消除。

如步骤L所示,照明控制方法包括判断是否在步骤K中处理的宽域图像中检测不到镜面反射条件,如果没有则使用为多模式图像处理条形码读取子系统17选择的模式处理宽域图像。如果在处理的宽域图像中还能检测到镜面反射条件,那么控制程序返回步骤A重复步骤A到K,如以上所述。

本发明的手持式基于数字成像的条形码读取装置中应用的由多模式条形码符号读取子系统支持的符号和模式说明

图14列出了本发明的手持式基于数字成像的条形码符号读取装置中应用的由多模式条形码符号读取子系统17支持的各种条形码符号。如所示,这些条形码符号包括:Code 128;Code 39;I2of5;Code 93;Codabar;UPC/EAN;Telepen;UK-Plessey;Trioptic;Matrix2of5;Ariline2of5;Straight2of5;MSI-Plessey;Code11和PDF417。

本发明的多模式条形码符号读取子系统的各种操作模式的说明

如图15所示,本说明的实施例中的多模式基于图像处理的条形码符号读取子系统17支持五种主要的操作模式,即:自动操作模式;手动操作模式;特定ROI操作模式;无探测器操作模式;和全扫描操作模式。这里将详细说明,这些操作模式的不同组合可以被用于本发明的基于图像处理的条形码读取过程的生命周期。

图16是示范性的流程图表示了在设置和清除名为“多模式基于图像处理的条形码符号读取子系统17”的软件子应用中包括的步骤,从下列的某一处调用(i)图13E中描述的命名为“在捕捉的窄域图像中读取条形码”的块上的CodeGate任务软件模块(ii)图13J中描述的命名为“在捕捉的宽域图像中读取条形码”的块上的主任务软件模块。

多模式条形码符号读取子系统的自动模式

在这个自动操作模式中,多模式条形码符号读取子系统17被配置为在完成缓存之前自动开始处理捕捉的数字图像数据帧,搜索一个或更多以递增方式表现的条形码,并继续搜索直至整个图像被处理。

当事先没有图像表现的位置、或方位、或条形码数量的信息可用时,这种基于成像的处理使条形码定位和读取成为可能。在这个操作模式中,多模式条形码符号读取子系统17开始从左上角处理图像并继续直到达到右下角,读取任何遇到的潜在的条形码。

多模式条形码符号读取子系统的手动模式

在手动操作模式中,多模式条形码符号读取子系统17被配置为自动地处理捕捉的数字图像数据帧,从使用者可能用条形码阅读器对准的图像的中心或点开始,搜索(也就是找到)至少一个出现的条形码符号。与自动模式不同,这是通过螺旋状方式搜索提取的图像特征数据的帧或块而完成的,然后标出提取的图像特征数据的帧或块并对相应的原数字图像数据进行图像处理直到在捕捉的图像数据帧中识别到/读取到条形码符号。

当事先知道图像中可以出现的最多数量的条形码及当主要的条形码的部分具有高概率的靠近图像中心的空间位置时,这种模式的图像处理使条形码定位和读取成为可能。多模式条形码符号读取子系统17从中心开始处理图像,并沿着矩形条逐步从中心继续直到整个图像都被处理或设定的最大数量的条形码已被读取。

多模式条形码符号读取子系统的特定ROI模式

在特定ROI操作模式中,多模式条形码符号读取子系统17被配置为自动地处理捕捉的数字图像数据帧,从被捕捉的图像的兴趣区(ROI)开始,该区域由在多模式条形码符号读取子系统17中的前个操作模式获得的坐标指定。与手动模式不同,这是通过分析接收到的特定ROI坐标来完成的,该坐标来自以前的无探测器操作模式、自动操作模式、或全扫描操作模式之一,然后立即开始处理图像特征数据,并且对相应的原数字图像数据进行处理直到在捕捉的图像数据帧中识别到/读取到条形码符号。这样,典型地,特定ROI模式被用于与多模式条形码符号读取子系统17的其它模式联合。

当事先知道图像中可以出现的最多数量的条形码及当主要的条形码的部分具有高概率的空间位置靠近图像中指定的ROI时,这种模式的图像处理使条形码定位和读取成为可能。多模式条形码符号读取子系统从这些最初指定的图像坐标开始处理图像,并逐步从特定ROI区域以螺旋状的方式继续直到整个图像都被处理或设定的最大数量的条形码已被读取。

多模式条形码符号读取子系统的无探测器模式

在无探测器操作模式中,多模式条形码符号读取子系统17被配置为自动地处理捕捉的数字图像数据窄域(线性)帧,不使用在自动、手动和特定ROI模式使用的特征提取和标记,只读取其中出现的一个或多个条形码符号。

当事先知道图像至多包含一个(一维)条形码符号,该符号的部分具有空间位置靠近图像中心的高可能性并且已知条形码将在相对于水平轴零度方向时,这个模式使条形码读取成为可能。明显地,这是当条形码阅读器被用于手持操作模式的典型情况,其中条形码符号阅读器被手动指向将被读取的条形码符号。在这个模式中,多模式条形码符号读取子系统17从图像中心开始,跳过所有的条形码定位步骤,并过滤相对水平轴零(0)度和180度的图像。使用通过上述过滤步骤产生的“条和空数”数据,它读取潜在的条形码符号。

多模式条形码符号读取子系统的全扫描模式

在全扫描操作模式中,多模式条形码符号读取子系统17被配置为沿着任意一个或多个预先确定的虚拟扫描线方向自动地处理捕捉的数字图像数据帧,而无在自动、手动和特定ROI模式中使用的特征提取和标记,读取在处理的图像中出现的单个条形码符号。

当事先知道图像至多包含一个(一维)条形码符号,该符号的部分具有在空间位置靠近图像中心但是可能是任何方向的高可能性时,这个模式使条形码读取成为可能。多模式条形码符号读取子系统17从图像中心开始,跳过所有的条形码定位步骤,并在不同的起始像素位置和不同扫描角度过滤图像。使用通过上述过滤步骤产生的条和空数数据,全扫描模式读取潜在的条形码符号。

本发明的多模式条形码符号读取子系统在其自动操作模式期间工作的说明

如图17A所示,由多模式条形码符号读取子系统在它的自动操作模式期间执行的图像处理方法,包括以下主要操作步骤,即:(1)处理的第一阶段包括通过处理捕捉的高分辨率图像数据的帧的低分辨率图像来搜索(即发现)兴趣区,将低分辨率图像分成N×N块,使用基于空间导数的图像处理技术对每块生成一特征向量(Fv),通过检查高调制区域的特征向量来标记ROI;(2)处理的第二阶段包括计算条形码方向,和将条形码的四个角标记为ROI;(3)处理的第三阶段包括通过遍历条形码图像数据读取ROI内的任何条形码符号,更新特征向量,检查过滤图像数据的零相交,建立条空图样以及使用传统的解码算法来对条空间图样进行解码。

如以下将要说明的,这三个在自动操作模式下图像处理步骤中包括的阶段可以被再分为四个主要处理块(也就是模块),即:跟踪器模块100、发现器模块101、标记器模块102和解码器模块103,它们如图2A2所示并在以下详细说明。当多模式条形码符号读取子系统17的自动模式被调用时,这四个处理块(也就是模块)被执行,顺序地,和可选递增地,以便整个图像的矩形子区域经调用可以被处理。

多模式条形码符号读取子系统在其自动操作模式期间基于成像的处理的第一阶段

在自动操作模式期间,多模式条形码符号读取子系统的处理的第一阶段包括:(i)如图18A所示,通过处理捕捉的高分辨率图像数据的帧的低分辨率图像来搜索(也就是发现)兴趣区(ROIs);(ii)如图18B所示,将包装标签上的低分辨率图像分成N×N块;(iii)如图18C所示,使用从低分辨率图像捕捉的梯度向量、边缘密度测量、平行边缘向量数、边缘的质心、亮度方差和亮度柱状图为每个低分辨率图像数据的块产生特征向量(Fv);(iv)如图18D所示,通过高调制、高边缘密度、大量平行边缘向量和大的亮度方差(使用基于空间导数的图像处理技术)的检测来检查用于平行线的区域的特征向量;并且(v)标记ROI。一般而言,这个阶段的处理在所有的全数字图像数据帧的所有线被缓存在存储器之前开始,并且典型地在读取过程可以开始前,只需要将一个给定(第一)特征块的行数缓存于存储器。

跟踪器模块的详细说明

如图17B方框A、B、C、C1和XX所示,跟踪器模块100最先启动时重新设置发现器模块101、标记器模块102和解码器模块103的子元件至它们的初始状态(如方框A);它重新设置特征向量Fv(在方框D)和兴趣区(ROI)数。所有后面的执行设定三个方框中的每个的最大处理行数为图像的当前的y元。跟踪器模块启动了可选择的返回函数(Pause Checker)以帮助多模式条形码符号读取子系统17的异常中断或暂停或者在出错时改变参数。

发现器模块的的详细说明

如图17B方框D至Y所示,发现器模块101(处理模块)将图像再分成N×N块,每个块都有相关的特征向量阵列(Fv)元素。一个Fv元素包含能识别在图像块中平行线出现的强可能性的一组数字。如方框D至Y所示,发现器模块101在较低的空间分辨率时处理图像;它处理每个被选择的行中的每个第n行和每个第n个像素,从而对原始图像每隔n采样执行计算。对每个被选择的行计算:

Iy=nΣx=1NxI(x,y)Nx---(1)

其中I(x,y)等于像素位置(x,y)的灰度值

Nx等于补充的(子)图像的x元

如果Iy超过可编程的“背景阈值”,图像行y被定义为前景行并进一步被发现器模块处理。如果一个像素的灰度值在某一阈值以下则该像素被定义为背景像素。发现器模块从前景行的最左边像素开始向右遍历,在方框G中,发现第一像素其强度(灰度值)超过可编程的背景阈值,标记该像素为线的左边界(xl)。在方框H中,发现器模块从前景行的最右边像素开始向左遍历,使用同样的方法确定右边界(xr)。在方框I中,对前景行y发现器模块在方框I中计算:

I1(x,y)=|I(x+1,y)-I(x-1,y)|+|I(x,y+1)-I(x,y-1)|,其中xl≤x≤xr...........(2)

如果I1(x,y)超过方框J中的阈值,发现器模块将像素(x,y)标记为边缘元素或边缘。

为了找到对应于边界(x,y)的边缘向量的方向和大小,发现器模块在方框K中计算:

I0(x,y)=w10I(x-1,y-1)+w20I(x,y-1)+w30I(x+1,y-1)+w40I(x-1,y)+w50I(x,y)+w60I(x+1,y)+w70I(x-1,y+1)+w80I(x,y+1)+w90I(x+1,y+1)---(3)

I45(x,y)=w145I(x-1,y-1)+w245I(x,y-1)+w345I(x+1,y-1)+w445I(x-1,y)+w545I(x,y)+w645I(x+1,y)+w745I(x-1,y+1)+w845I(x,y+1)+w945I(x+1,y+1)---(4)

I90(x,y)=w190I(x-1,y-1)+w290I(x,y-1)+w390I(x+1,y-1)+w490I(x-1,y)+w590I(x,y)+w690I(x+1,y)+w790I(x-1,y+1)+w890I(x,y+1)+w990I(x+1,y+1)---(5)

I135(x,y)=w1135I(x-1,y-1)+w2135I(x,y-1)+w3135I(x+1,y-1)+w4135I(x-1,y)+w5135I(x,y)+w6135I(x+1,y)+w7135I(x-1,y+1)+w8135I(x,y+1)+w9135I(x+1,y+1)---(6)

其中系数wi0,wi45,wi90,wi135由算子给出:

w0=-101-202-101w45=-2-10-101012w90=-1-2-1000121w135=0-1-210-1210

在方框M中,发现器模块更新边缘元素(x,y)所属的Fv块:

边缘强度:Ifvi=Σj=1nIij---(7)

其中I′ij=边缘元素j的边缘强度,和

n=在Fv块i的边缘元素数目

边缘方向:Afvi(z)=Σj=1nAj,其中

Aj=1,j=k,k[0,3]0---(8)

Iz1Iz2Iz3Iz4,zi=45*(k+i-1)

边缘的质心:xfvi=Σj=1nxjn,yfvi=Σj=1nyjn---(9)

其中(xj,yj)是边缘元素的坐标

累积的柱状图:Hfvi(z)=Σj=1nHj,其中

Hj=1,I(x,y)z0---(10)

在方框N,发现器模块仔细检查当前图像部分的所有行并用上面提到的特征填充Fv阵列。在方框O至U,发现器模块检查所有被处理的行。

在方框V,发现器模块接着检查每个在Fv块中出现几率极大的平行行的Fv阵列元素。在方框W,当边缘元素数超过阈值、至少一个边缘元素方向阵列超过阈值时,引起注意的Fv被宣布为兴趣区(ROI)的部分,并且

m-n>C,其中

Hfvi(m)>αN,Hfvi>(1-α)N,

C=对比度-阈值....................................(11)

α∈(0,1)

N等于对应于特征向量阵列Fv的图像块中的总像素数

明显地,在方框C、E和T中,发现器模块启动暂停选取回调函数使扫描应用进行控制。

多模式条形码符号读取子系统在其自动操作模式期间的基于成像的处理的第二阶段

在自动操作模式期间,多模式条形码符号读取子系统17处理的第二个阶段包括:(ii)通过分析平行线的特征向量计算条形码方向,和(ii)根据x,y坐标将条形码的四角标记为ROI。

图18E和图18F说明了多模式条形码符号读取子系统17在其自动操作模式期间内的处理的第二标记阶段,计算条形码方向,其中在每个特征向量块中,表示条形码的扫描线数据被从不同角度来回移动(即切片),切片基于“最小均方差”彼此进行匹配,并且正确的方向被确定为通过条形码的每片都匹配最小均方差的那个角度。

图18G说明了在多模式条形码符号读取子系统17自动操作模式期间处理的第二标记阶段中,标记检测的条形码符号的四角。在这个处理阶段,这样的标记操作是在包的整个的高分辨率图像上完成的,条形码被从块的中心向任何一个方向被来回移动,调制范围通过亮度方差被检测,条形码四角的x,y坐标(像素)通过从1和2开始向与条形码方向垂直的方向移动而被检测到,这样就通过检测到的在高分辨率图像的条形码符号的四角最终定义ROI。

标记器模块的详细说明

在图2A2所示的多模式条形码符号读取子系统17中,标记器模块在图17B的方框Z至方框KK表示,它从发现器模块接到和检查每个ROI以判断ROI的完全的范围。发现器模块检查ROI质心的位置并将其与存储器中累积的图像的行数比较。

yroii+L>Ny---(12)

其中等于ROIi的质心的y坐标

L等于多模式条形码符号读取子系统中显示的任何条形码的最大长度(像素)

Ny等于累积的图像的y元

如果不等式(12)成立,那么标记器模块延迟计算这个ROI直到图像y元使不等式不成立。当标记器模块继续处理ROI,它首先判断可能是条形码的一部分的平行线的方向,通过以下计算:

θ=(225-tan-1(I135I45))mod(180),I0I45,I0I45,I0I135

θ=(tan-1(I90I0))mod(180),I45I0,I45I90,I45I135

θ=(45+tan-1(I135I45))mod(180),I90I45,I90I0,I90I135

θ=(180-tan-1(I90I0))mod(180),I135I0,I135I90,I135I45---(13)

xj+1yj+1=xjyj-cosβsinβ---(14)

xjyj=xjyj-ni-sinβcosβ---(15)

产生最小E(β)的角度θ,是被假定与平行线角度的实际方向大致接近。

计算平行线的正确方向后,标记器模块通过逐个沿着线方向和180度方向来回移动(即扫描)图像从而计算在ROI附近的平行线的最窄和最宽的宽度(例如使用N×N像素的光点窗口,(例如其中1<N<10)。应当注意所有角度测量相对于水平轴都是顺时针的。等式(14)以β=θ,θ+180指定遍历等式。计算线宽度的详细方法将在解码器模块部分说明。

标记器模块用最窄和最宽元素的宽度来确定对任何条形码符号允许的与最小无噪音区近似的像素数。然后它又用等式(14)遍历图像和计算:

mi=Σj=ii+nI(xj,yj)n

vi=Σj=ii+n||I(xj,yj)-mi||n-1...(16)

IVi=vimi2

其中mi等于从像素i开始的n个像素的平均值

vi等于从像素I开始的n个像素的方差

如果IVi比阈值小,那么标记器模块假定平行线组以像素i结束(类似θ+180方向)。从像素i开始用(15)和N×N(例如其中1<N<10)像素的光点窗口遍历图像,并执行与(16)相似的计算决定可能的条形码的近似的四角范围。上述方法的图示可以在名为“步骤6:标记ROI:标记条形码四角”的图中找到。

然后标记器模块用当前的ROI标识符标记所有的包围可能的条形码的四角范围的Fv块;如果已经存在一个或多个有不同标识符的ROI,那么标记器挑选完全包围其它ROI的ROI。旧的ROI只有当它们没有被当前的ROI完全包围时才被保留。

标记器模块也经常启动暂停选择器以使条形码读取应用(运行中)接管控制。

多模式条形码符号读取子系统在其自动操作模式期间内基于成像的处理的第三阶段

处理的第三个阶段包括通过来回移动条形码读取ROI内显示的任何条形码和更新特征向量,检查过滤的图像的零相交,创建条空图样,以及对条空图样进行解码。

图18H所示为操作在其自动模式下的多模式条形码符号读取子系统处理的第三个阶段期间,升级特征向量。在这个处理阶段,特征向量Fv的柱状图成分在来回移动条形码符号时被更新(使用N×N像素的光点窗口(例如其中1<N<10),黑白过渡的估计被计算,并且条形码的窄和宽元素的估计也被计算。

图18I说明在其操作的自动模式下的多模式条形码符号读取子系统处理的第三阶段期间,搜寻零相交。在该处理阶段,高分辨率条形码图像在垂直于条形码方向的方向上被中间过滤,第二导数零相交定义边缘相交,零相交数据仅仅被用来检测边缘转换,黑/白过渡估计被用来设置条和空的灰度的上限和下限,如图形说明。

图18J是说明在其操作的自动模式下的多模式条形码符号读取子系统处理的第三个阶段期间,创建条空图样。在该处理阶段中,边缘转换被模拟为一个斜坡函数,边缘转换被假设为1像素宽,边缘转换位置被确定在子像素级,并且使用边缘转换数据来收集条和空的数量;

图18K是说明操作在其自动模式下的多模式条形码符号读取子系统处理的第三阶段期间,生成解码条空图样。在该操作模式中,条和空数据有边界构成,并且使用存在的激光扫描条形码解码算法来解码条和空数据。

解码器模块的详细说明

如图17B的方框LL至AAA所示,解码器模块从标记器模块接收和检查每个以前由标记器模块定义的ROI。对每个ROI,解码器模块使用四边范围坐标{x,y}计算可能的条形码较长(较高)端(接近可能的安静区)。解码模块计算可能扫描线的最大数为:

T=Dn---(17)

其中D等于较长端的长度,n等于每条扫描线的像素偏移量。

明显地,参数n(也就是每条扫描线的像素偏移量)表示解码器模块沿它的有效扫描方向(平行于以前的有效扫描方向)移动多远和在每个图像处理周期处理图像。由于任何捕捉的图像将被一定程度的噪音破坏(并当条形码不能被解码时当然更大级),解码器模块需要在扫描数据线上执行它的下个处理周期,该扫描数据线位于离以前的导致解码不成功的扫描数据线尽可能远,但同时,解码器模块应该使用很多条形码符号提供的固有的噪声免疫特征。这样,按照本发明,如大多数现有技术系统,每条扫描线的像素偏移量变量n不是任意选择的,而是通过仔细地(i)决定在考虑中的ROI的最大像素高度(长度),和(ii)将这个ROI的最大像素高度分为许多与ROI的最大像素高度成比例的像素偏移距离来确定的。在优选实施例中,ROI可以被分成的扫描线的数量或序列用于后面的图像处理周期,因此定义每条扫描线的像素偏移量,通过公式说明:f(m,n)=(2m-1)/2n-1,其中n=1,2....N并且1<m<2n-1。

解码器模块利用方程(14)遍历潜在的条形码,并计算一阶和二阶导数的近似值:

Ii=Σj=-11w1I(xj-1,yj-1)+w2I(xj,yj-1)+w3I(xj+1,yj-1)+w4I(xj-1,yj)+w5I(xj,yj)+w6I(xj+1,yj)+w7I(xj-1,yj+1)+w8I(xj,yj+1)+w9I(xj+1,yj+1)---(18)

I″i=I′i+1-I′i-1

其中

wi=0.7760.000-0.7761.0000.000-1.0000.7760.000-0.776.........0<θ22

wi=1.0000.7760.0000.7760.000-0.7760.000-0.776-1.000.........0<θ68

wi=0.7761.0000.7760.0000.0000.000-0.776-1.000-0.776.........0<θ113

wi=0.0000.7761.000-0.7760.0000.776-1.000-0.7760.000.........0<θ158

wi=-0.7760.0000.776-1.0000.0001.000-0.7760.0000.776.........158<θ<180---(19)

并且(xj,yj)与方程(15)有关。

解码器模块检查I″i的零相交,并且如果

I″i·I″i+1<0,并且

I″i+1>0,并且...............(20)

I′i<-T

其中T=最小导数量值阀值,于是解码器模块推断出“空至条转换”出现。

如果:

I″i·I″i+1<0,并且

I″i+1<0,并且..........................................(21)

I′i>T

那么,解码器模块推断出“条至空转换”出现。

解码器模块在相邻条/空转换的像素位置感受到区别,并将其增加到条-空/空-条转换(使用I″i)的内插的中点,以确定潜在条形码的各个元素的宽度。该方法与标记模块使用的计算最窄和最宽的平行线宽度的方法相同。

计算出各条扫描线的“条空计数-码线m”数据后,解码器模块调用基于成像的条形码符号阅读器内支持的不同的(能够分离的)符号-解码器,如图18K所示。每个符号解码器,无论一维或某种二维符号(类似PDF417),在试图解码潜在的条形码符号之前检测条和空正确数目以及正确的开始/停止图样。

如果解码器模块使用当前的“扫描线数据”解码,则其跳过所有其他的扫描线。如果解码器模块检测到堆栈符号,则其继续收集更多的扫描线的数据。如果解码失败,则解码器模块渐进地调整扫描线角度(条形码-方向角度),并重复该过程。在收集扫描线数据的过程中,解码器模块还使来自一条扫描线的条和空数据与相邻扫描线的条和空数据相互关联,以便读取损坏的或者显示差的条形码。对于由解码器模块解码的每一条形码,回调函数被调用以保存解码的结果。解码器模块频繁地调用暂停检测器回调函数以使扫描应用得以控制。

在其自动模式中,多模式条形码符号读取装置子系统17对整个图像以及随意地用于进一步可获得的图像重复整个过程。

本发明的多模式条形码符号读取装置子系统在其操作的手动模式期间操作的说明

图19A表明多模式条形码符号读取子系统在其操作的手动模式中执行的过程中所包含的步骤。在该操作的手动模式下,处理的第一个阶段包括通过处理被捕捉高分辨率图像数据的帧的低分辨率图像搜寻并找到兴趣区(ROIs),将低分辨率图像分成N×N块,并使用基于空间导数的图像处理技术为中间块生成一个特征向量。接着处理的第二个阶段包括通过检查高调制的区域的特征向量标识ROI和返回到第一阶段为围绕中间块的其他块来创建特征向量(以螺旋的方式),计算条形码方向并且将条形码的四个角标记为ROI;以及(3)处理的第三个阶段包括通过来回移动条形码和更新特征向量来读取在ROI内出现的任何条形码符号,检查过滤图像的零相交,产生条空图样,以及对条空图样进行解码。

与自动模式相似,在操作的手动模式的图像处理的这三个(3)阶段能够被再次分成四个主要的处理块(即模块),也就是:跟踪器模块、发现器模块、标记器模块和解码器模块,这些已经在前面作了详细地描述。当多模式条形码符号读取子系统17的手动模式被调用时,这四个处理块(即模块)被相继和随意增加地执行,以便每次调用时整个图像的矩形子区域能够被处理。

图19B表明在多模式条形码符号读取装置子系统17在其操作的手动模式期间执行的解码过程中的包括的步骤。如块A所示,应用层中的主任务或CodeGate任务调用跟踪器模块去找到所捕捉图像数据的中心块的中心坐标,对其而言中心特征向量将是关联的。该图像数据的中心块将与沿着由基于成像的条形码符号阅读器捕捉的图像帧的中心部分形成的图像像素相关联。该步骤包括跟踪器模块将发现器模块、标记器模块和解码器模块子元件重新设置为他们初始的状态;其重新设置特征向量阵列和多个兴趣区(ROI)。虽然在图19B的流程图中没有显示,但是跟踪器模块在控制流程内的各个位置调用可选择的回调函数(暂停功能)以推动中断或暂停多模式条形码符号读取装置子系统17或改变不工作的参数。

如图19B中的块B所示,发现器模块被调用并将图像再分成N×N块,每个块都有相关的特征向量(Fv)阵列元素。一个Fv元素包含能识别在图像块中平行线出现的强可能性的一组数字。如上述所描述的,发现器模块以较低的空间分辨率处理图像;它处理每个被选择的行中的每个第n行和每个第n个像素,从而对原始图像每隔n采样执行计算。对每个被选择的行计算。对于块C,子系统17确定是否找到了ROI(限制全部条形码符号),并且如果找到了,则调用标记器模块。那么对于块E,子系统17确定ROI是否已由标记器模块标记,如果标记了,则调用解码器模块并处理ROI。如果在处于块G的ROI内条形码符号被读取,则对于块H,子系统17确定是否解码循环的实际数目等于所需的解码循环的数目。如果相等,则子系统17的操作的手动模式停止,流程返回到应用层。

如果对于图19B中的块C,子系统17确定没有找到ROI,那么子系统进入块I。如果子系统确定没有检查所有的特征向量,那么子系统沿着通过图像像素数据集的螺旋路径的轨迹进入到块J,该块J推动中心特征向量的下一个特征向量柜的分析。接着,对于块B,子系统再次调用发现器模块以对其上的下一个特征向量进行操作。

如果对于块G,子系统确定解码器模块没有成功的解码ROI中的条形码符号,则其向前到块I并确定是否没有检查所有的特征向量。

子系统17在由图19B的流程图指定的操作模式中操作,直到在ROI内读取到单个的条形码符号。发现器模块的每个例子包括对另外像素数据块的分析(对应于另一特征向量)以努力找到包含可在块C中找到并可在块G中成功地解码的条形码符号的ROI。像素数据块的顺序分析关于中心起始点遵循图19B的块A确定的螺旋图样。明显地,在操作的手动模式期间,子系统利用描述的与上述操作的自动模式有关的图像处理技术。

相对于操作的自动模式来说,操作的手动模式的主要优点在于:当使用者将条形码阅读器指向将要读取的条形码符号时,在操作的手动模式下条形码符号阅读器更可能获取图像并处理包含条形码符号的ROI内的像素数据,与自动模式比较,手动模式是非常快的方式,特别是所述手动模式实质扫描和处理整个捕捉的图像,其从所捕捉图像数据的大多数块的左上部开始,并确保手持条形码读取应用的快速响应时间。

本发明的多模式条形码符号读取子系统在其操作的无探测器模式期间操作的说明

图20A表明由多模式条形码符号读取子系统17在其操作的无探测器模式期间执行的图像处理中实质包括的图像处理的单独的阶段,不象操作的自动、手动和特定ROI模式。在该无探测器模式期间,子系统17不使用跟踪器模式、发现器模式或标记器模式,相反地仅仅调用解码器模块以(i)直接处理由条形码阅读器捕捉的窄域高分辨率图像,每次扫描数据的一条线,并从其中心开始,(ii)检查过滤图像的零相交,(iii)从其中创建条空图样,然后(iv)使用传统的解码算法解码条空图样。如果读取过程不成功,则子系统17从计算的假设为ROI的恒定最大高度的像素偏移量n开始遍历所捕捉窄域图像内的扫描数据的另一条线,所述高度认为是所捕捉窄域图像的像素高度。

图20B表明多模式条形码符号读取子系统17在其操作的无探测器模式期间执行的图像处理方法中包括的步骤。如图20B中的块A所示,子系统17首先找到(即计算出)捕捉的窄域图像中的中心像素。然后对于块B,子系统17调用解码器模块并使用计算的中心像素配置该解码器模块。在该解码器模块内,子块B1至B8如图20A所示被执行。如块B1所示,解码器模块从计算的中心点开始水平且向西扫描图像(使用所述N×N像素的光点窗口(例如其中1<N<10处)),然后处理扫描的图像数据以确定是否找到了条形码符号中的第一个边界。明显地,这种虚拟的扫描过程根据光点窗口的精确盘旋结构和图像缓冲器中的像素数据实现。如果在块B2中发现了第一边界,那么再次从计算的中心点开始,处于块B3的解码器模块水平和向东扫描图像(使用所述N×N像素的光点窗口(例如1<N<10处),然后在块B4中处理扫描的图像数据以确定是否找到了条形码符号中的第二边界。如果在块B4找到了第二边界,则解码器模块在块B5中处理捕捉的图像。如果在块B6中解码器模块成功地读取了图像数据的扫描线内的条形码符号,则子系统终止解码器模块并停止操作的无探测器模式。

如果在图20A中的块B2中,解码器模块没有找到条形码符号的第一边界,则其进入块B7并确定其是否尝试了所捕捉的窄域图像内的所有可能的扫描线。如果解码器模块已经尝试处理了通过窄域图像的所有可能的扫描线,则其进入停止块并终止操作的无探测器模式。如果解码器模块没有尝试处理通过捕捉的窄域图像的所有扫描线,则其进入块B8,在块B8中其前移至捕捉的窄域图像中的扫描数据的下一条线条(即通过偏移像素数量n),然后返回到块B1,在这里沿着新的扫描线重新开始扫描和处理(使用所述N×N像素的光点窗口(例如1<N<10处)。

如果在块B4,没有找到第二条形码边界,则解码器模块进入块B7并确定是否尝试了通过捕捉的图像的所有扫描线。如果全部尝试了,则子系统17终止解码器模块并退出其操作的无探测器模式。如果在这个处理阶段没有尝试所有的扫描线,则解码器模块进入块B8并前移至如上文中所描述的用于处理的扫描数据的下一条线条。

如果在图20A的块B6中,解码器模块没有在正被处理的扫描数据的当前线内读取条形码,则其进入块B7,在此处其确定是否已经尝试了扫描数据的所有线。如果扫描数据的所有线条没有被全部尝试,则在块B8中解码器模块前移至捕捉的窄域图像中的扫描数据的下一条线(即通过偏移像素数量n),然后返回到块B1,在该块B1沿着新的扫描线重新开始扫描和处理(使用所述N×N像素的光点窗口(例如1<N<10处)。如果在块B7中,解码器模块确定已经尝试了扫描数据的所有线,则解码器模块停止并终止其处理。对于由解码器模块解码的每个条形码,调用回调函数以保存解码的结果。解码器模块频繁地调用暂停检测器回调函数以使读取应用的条形码符号得以控制。

本发明的的多模式条形码符号读取子系统在其操作的全扫描模式期间操作的说明

图21A表明由多模式条形码符号读取子系统在其操作的全扫描模式期间执行的图像处理方法实际包括图像处理的单一的阶段,不象操作的自动、手动和特定ROI模式。在这个全扫描模式期间,解码器模块不使用跟踪器模块、发现器模块或标记器模块,相反地直接处理由条形码阅读器捕捉的窄域高分辨率图像,沿着多个虚拟扫描线的空部分(例如50个像素)遍历由子系统17捕捉的图像数据的整个二维画面。在操作的全扫描模式期间,解码器模块假定成像的条形码符号以大约1∶1的纵横比(例如1”高×1”宽)存在于捕捉的宽阔区域高分辨率图像的中心。基于这些假设,子系统17以第一个预定的角度方向(例如0、30、60、90、120或150度)开始,然后:(i)沿着一组平行空部分(例如50个像素)虚拟扫描线线条(使用所述N×N像素的光点窗口(例如1<N<10处))直接处理高分辨率图像;(ii)沿着这些虚拟扫描线检查零相交;(iii)创建条空图样;然后(iv)解码处理条和空图样。如果沿着所选择角度方向处理的图像没有读取条形码符号,则子系统17沿着与先前处理的那组虚拟扫描线角度不同的方向(例如0、30、60、90、120或150度)的不同组的平行空部分虚拟扫描线自动地重新处理高分辨率图像。这种处理循环一直持续直到在处理的图像内读取到单个的条形码符号为止。

图21B表明多模式条形码符号读取子系统17在其操作的全扫描模式期间执行的图像处理方法中包括的步骤。如图21B中的块A所示,子系统17首先找到(即计算出)捕捉的窄域图像中的起始像素和扫描角。然后对于区块B,子系统17调用解码器模块并使用计算的(i)起始像素和(ii)起始扫描角来配置该解码器模块。在该解码器模块内,子块B1至B8如图21B所示被执行。如块B1所示,解码器模块从计算的起始点和起始角开始使用所述N×N像素的光点窗口(例如其中1<N<10处)以起始角度向西北方向扫描图像,然后在块B2中处理扫描的图像数据以确定是否找到了条形码符号中的第一个边界。明显地,这种虚拟的扫描过程根据光点窗口的精确盘旋结构和图像缓冲器中的像素数据实现。如果在块B2中发现了第一边界,那么再次从计算的起始点和起始角开始,处于块B3的解码器模块使用所述N×N像素的光点窗口(例如1<N<10处)以起始角向西南方向扫描,然后在块B4中处理扫描的图像数据以确定是否找到了条形码符号中的第二边界。如果在块B4找到了第二边界,则解码器模块调用在块B5中描述的解码器模块并在块B5中解码处理扫描的图像。如果在块B6中解码器模块成功地读取了图像数据的扫描线内的条形码符号,则子系统终止解码器模块并停止操作的全扫描模式。

如果在图21A中的块B2中,解码器模块没有找到条形码符号的第一边界,则其进入块B7并确定其是否尝试了所捕捉的窄域图像内结合起始像素和起始角的所有可能的扫描线。如果在块B7中解码器模块已经尝试处理了通过窄域图像以起始像素和角结合的所有可能的扫描线,则其进入“停止”块并终止解码器操作的全扫描模式。如果解码器模块没有尝试处理通过捕捉的窄域图像以所有像素和角方向的所有扫描线,则其进入块B8,在块B8中其前移至捕捉的窄域图像中的扫描数据的下一条线条(即通过偏移像素数量n),然后返回到块B1,在这里沿着新的扫描线重新开始扫描和处理(使用所述N×N像素的光点窗口(例如1<N<10处)。

如果在块B4,没有找到第二条形码边界,则解码器模块进入块B7并确定是否尝试了通过捕捉的图像的以所有可能起始像素和角度的所有扫描线。如果全部尝试了,则解码器模块终止其处理并退出操作的全扫描模式。如果在这个处理阶段没有尝试所有以所有起始像素和角度结合的扫描线,则解码器模块进入块B8并前移至用于扫描数据图像处理的下一起始像素和角度,并返回到上述的块B1。

如果在图21A的块G中,解码器模块没有在正被处理的扫描数据的平行线的当前组内解码条形码,则其进入到块I,在该块I其前移至下一组平行扫描线(处于起始像素和角度的不同组),然后返回到块B,在该块B沿着新的一组平行扫描线重新开始扫描和处理(使用所述N×N像素的光点窗口(例如1<N<10处))。对于由解码器模块解码的每一条形码,都调用回调函数以保存解码的结果。解码器模块呼叫频繁地调用暂停检测器回调函数以使读取应用的条形码符号得以控制。

本发明的多模式条形码符号读取子系统在其操作的特定ROI模式期间操作的说明

图22A表明多模式条形码符号读取子系统在其操作的特定ROI模式期间执行的图像处理方法中包括的步骤。特别地,操作的特定ROI模式与操作的手动模式相似,除了其用于自动处理先前在操作的不同模式例如,操作的无探测器模式或操作的全扫描模式时所捕捉图像的处理期间确定的特定“兴趣区”(ROI)。

如在图22A中所反映的,在这种操作的特定ROI模式期间,处理的第一阶段包括接收在其他操作模式(例如全扫描模式、自动扫描模式或无探测器模式-在出现读取失败后)期间获得的兴趣区(ROI)座标{x,y},然后再将捕捉的低分辨率图像(自全扫描模式)分成N×N块,并使用从全扫描、自动或无探测器模块输入的、且在全扫描、自动或无探测器模块期间收集的特征,用具体例证说明用于特定ROI块的特征向量(可能利用基于图像处理技术的附加的空间导数)。处理的第二阶段包括通过检查高调制(关于原始指定的ROI)的区域的特征向量来标识额外的ROI,返回第一阶段为围绕中间块的其它块来生成特征向量(以螺旋方式),计算条形码方向并且将待解码处理的ROI内包含的条形码的四个角进行标识。处理的第三阶段通过遍历与条形码有关的像素数据和更新特征向量来读取表示在ROI内的任何条形码符号,检查过滤图像的零相交、产生条空图样,使用传统的条形码解码算法解码条空图样。

图22B表明多模式条形码符号读取子系统在其操作的特定ROI模式期间执行的图像处理方法中包含的步骤。如在块A所示,与全扫描和无探测器模式有关的解码器模块接收将用具体例证说明的初始特征向量的特定ROI(至少一部分条形码符号可能存在于其中)的{x,y}座标。然后在块B,发现器模式被调用,并且在块C,发现器模块确定是否找到了ROI(包含完全的条形码符号)。如果发现器模块确定找到了包含ROI的条形码,则发现器模块调用标记器模块,于是在块E,标记器模块确定是否包含ROI的条形码由标记器模块标记。如果是,则调用解码器模块并处理与ROI有关的高分辨率像素数据。如果在块G中ROI内的条形码符号被读取,则在块H,解码器模块确定是否解码的实际数目等于解码循环所需的数目(即由最终用户设置)。如果相等,则操作的手动模式停止,且流程返回到应用层。

如果在图22B中的块C,发现器模块确定没有找到ROI(包含完全的条形码),则发现器模块进入块I。如果发现器模式确定没有检查所有的特征向量,那么发现器模式沿着通过图像像素数据集的螺旋状路径的轨迹进入到块J,该块J推动向距离该特定ROI的特征向量最近的下一特征向量分析。接着,在块B,发现器模块再次调用其自身以对下一个特征向量进行操作。

如果在块G,解码器模块没有成功地读取ROI中的条形码符号,则其进入到块I并确定是否所有的特征向量都没有检查。如果是,则解码器模块终止操作的特定ROI模式。典型地,子系统17在这种操作模式中持续直到,例如,单个的条形码符号被在标记为包含完全条形码符号的ROI内读取为止。发现器模块的每个实例都包括另一个块的像素数据(对应于另一个特征向量)的分析,以努力找到包含完全条形码符号的ROI,其可在块C中找到并在块G中成功的读取。像素数据块的顺序分析关于中心起始点遵循图22B的块A确定的螺旋图样。特别地,在操作的手动模式期间,子系统利用描述的与上述操作的自动模式有关的图像处理技术。

本发明的多模式条形码符号读取子系统在其第一个多读取(全扫描/特定ROI)模式期间操作的说明

图23描述了当多模式条形码符号读取子系统17被驱动至其操作的第一个多读取模式时(例如全扫描/特定ROI)的操作。在此第一个多读取操作模式中,使用此处讲解的自适应的学习技术,子系统17自适应地处理和以高速方式读取捕捉的高分辨率图像。

例如,如图23所示,假定多模式图像处理符号解码子系统被配置为在其第一个多读取操作模式中(全扫描/特定ROI)操作。在这种情况下,如果在全扫描的操作模式期间,则与PDF417条形码符号有关的编码段在捕捉的(窄或宽)区域图像的ROI内被检测到,但是其处理是不成功的,那么多模式条形码符号读取子系统17将自动地(i)进入其上述所描述的特定ROI操作模式,然后(ii)在全扫描操作模式下,在由特征向量分析获得的ROI坐标确定的ROI上,立即开始处理捕捉的图像。在说明实施例中,子系统17中的模式的转换出现在单个的条形码符号读取周期内,并且包括使用基于图像处理的条形码读取的至少两种不同的模式(即方法)来处理捕捉图像,其中,潜在地多个不同的条形码符号解码算法典型地应用于每个解码周期。

相对于操作的手动模式,操作的多读取(全扫描/特定ROI)模式的一个潜在优点在于多读取模式提供操作的全扫描模式,以初始快速地读取1D条形码符号,以及随时出现在捕捉图像中的2D条形码符号,并且无论什么时候只要PDF417符号被检测到,多模式条形码符号读取子系统17就能够自动地转换(不工作on-the-fly)至其操作的特定ROI模式,以便在该特定ROI(此处具有出现条形码符号的高可能性)立即处理高分辨率图像数据。

本发明的多模式条形码符号读取子系统在其第二个多读取(无探测器/特定ROI)操作模式期间操作的说明

图24表明多模式条形码符号读取子系统17,当其被驱动至其第二个多读取(全扫描/特定ROI)操作模式时,以便通过应用自适应的学习技术,自适应地处理和以高速方式读取捕捉的高分辨率图像。

例如,如图24所示,当处理由系统捕捉的宽域图像时,假定多模式条形码符号读取子系统17被配置为在其第二个多读取操作模式中(无探测器/特定ROI)操作。在这种情况下,如果在无探测器操作模式期间,则与PDF417条形码符号有关的编码段在捕捉的宽域图像内被检测到,但是其处理是不成功的,那么子系统17将自动地(i)进入其上述所描述的特定ROI操作模式,然后(ii)立即开始处理与在无探测器操作模式期间处理的宽域图像相对应的y坐标确定的ROI处捕捉的宽域图像。在说明实施例中,图像处理条形码符号读取子系统17中的模式的转换出现在单个的条形码符号读取周期内,并且包括使用基于图像处理的条形码读取(即无探测器模式和特定ROI)的至少两种不同的模式(即方法)来处理单个的捕捉图像,其中,潜在地多个不同的条形码符号解码算法典型地应用于每个解码周期。

作为选择地,当处理由系统捕捉的窄域图像和随后的宽域图像时,假设子系统17被配置为在其“多读取模式”下操作。在这种情况下,如果在无探测器操作模式期间,则与PDF417条形码符号有关的编码段在捕捉的窄域图像内被检测到,但是其处理是不成功的,那么子系统17将自动地(i)进入其上述所描述的特定ROI操作模式,因为宽域图像由系统自动地捕捉,然后(ii)立即开始处理与在无探测器操作模式期间处理的窄域图像相对应的y坐标确定的ROI处捕捉的宽域图像。在说明实施例中,图像处理条形码符号读取子系统17中的模式的转换出现在单个的条形码符号读取周期内,并且包括使用基于图像处理的条形码读取(即无探测器模式和特定ROI)的至少两种不同的模式(即方法)来处理两个的捕捉图像,对于其中每一个,潜在地多个不同的条形码符号解码算法典型地应用于每个解码周期。

相对于手动操作模式,不考虑其实现方法,“无探测器/特定ROI”多模式操作的一个潜在优点在于,无探测器模式能够快速地读取随时出现于条形码符号阅读器中的1D条形码符号,以及无论何时遇到2D(例如PDF417)符号,条形码符号阅读器能够自动地将其读取方法转换至特定ROI模式,使用从在无探测器模式期间处理的窄(或宽)域图像收集的特征,以便立即处理捕捉的宽域图像帧中的特定ROI,此处具有条形码符号出现的高可能性,并且以高目标方式去处理。

本发明的多模式条形码符号读取子系统在其第三个多读取(无探测器/全扫描/特定ROI)操作模式期间操作的说明

图25表明当其被驱动至其第三个多读取(无探测器/全扫描/特定ROI)操作模式时,以便通过应用自适应的学习技术,自适应地处理和读取在高速方式下捕捉的高分辨率图像的多模式条形码符号读取子系统17。

例如,如图25所示,当处理由系统捕捉的宽域图像时,假设子系统17被配置为在其“多读取模式”下操作。在这种情况下,如果在无探测器操作模式期间,则与PDF417条形码符号有关的编码段在捕捉的窄域图像内被检测到,但是其解码处理是不成功的,那么图像形成和检测子系统(i)自动地捕捉宽域图像,而子系统17(ii)自动进入其上述所描述的全扫描操作模式,然后(iii)立即开始对多个平行的空间间隔(例如50个像素)虚拟扫描线处捕捉的宽域图像进行处理,开始于由在无探测器操作模式期间处理的窄域图像中确定的编码段的x和/或y座标指定起始像素和起始角度。接着,如果全扫描模式没有成功读取ROI内的条形码符号,则子系统17(ii)自动进入其上述所描述的特定ROI操作模式,然后(iii)立即开始对在与在操作的全向模式期间处理的宽域图像中检测到的编码段相对应的x,y坐标确定的ROI的捕捉的宽域图像进行处理。在说明实施例中,子系统17中的模式的转换出现在单个的条形码符号读取周期内,并且包括使用基于图像处理的条形码读取(例如无探测器模式、全扫描模式和特定ROI模式)的至少两种不同的模式(即方法)来处理两个的捕捉图像帧,其中,潜在地多个不同的条形码符号解码算法典型地应用于每个解码周期。

相对于手动操作模式,不考虑其实现方法,“无探测器/全扫描/特定ROI”多读取模式操作的一个潜在优点在于,无探测器模式能够快速地获取随时出现于条形码符号阅读器中的1D条形码符号,以及无论何时遇到2D符号,条形码符号阅读器能够自动地将其读取方法转换至全扫描模式,在处理的图像数据上收集特征,并且如果这种解码方法是不成功的,则条形码阅读器能够自动地将其读取方式转换至特定ROI模式,且使用在全扫描模式期间收集的特征以立即处理捕捉图像帧中的特定ROI,此处具有出现条形码符号的高可能性,并且以高目标方式去处理。

本发明的手持式基于数字成像的条形码读取装置内的条形码读取操作的程序模式

如图26所示,本发明的基于成像的条形码符号阅读器具有至少17个可编程的系统操作模式,即:系统操作编程模式No.1-手动触发单试图1D单读取模式,使用多模式的条形码读取子系统的无探测器模式;系统操作编程模式No.2-手动触发多试图1D单读取模式,使用多模式的条形码读取子系统的无探测器模式;系统操作编程模式No.3-手动触发单试图1D/2D单读取模式,使用多模式的条形码读取子系统的无探测器模式和自动或手动模式;系统操作编程模式No.4-手动触发多试图1D/2D单读取模式,使用多模式的条形码读取子系统的无探测器模式和自动或手动模式;系统操作编程模式No.5-手动触发多试图1D/2D多读取模式,使用多模式的条形码读取子系统的无探测器模式和自动或手动模式;系统操作编程模式No.6-自动触发单试图1D单读取模式,使用多模式的条形码读取子系统的无探测器模式;系统操作编程模式No.7-自动触发多试图1D单读取模式,使用多模式的条形码读取子系统的无探测器模式;系统操作编程模式No.8-自动触发多试图1D/2D单读取模式,使用多模式的条形码读取子系统的无探测器模式和手动和/或自动模式;系统操作编程模式No.9-自动触发多试图1D/2D多读取模式,使用多模式的条形码读取子系统的无探测器模式和手动和/或自动模式;系统操作编程模式No.10-自动触发多试图1D/2D单读取模式,使用多模式的条形码读取子系统的手动、自动或全扫描模式;系统操作编程模式No.11-半自动触发单试图1D/2D单读取模式,使用多模式的条形码读取子系统的无探测器模式和自动或手动模式;系统操作编程模式No.12-半自动触发多试图1D/2D单读取模式,使用多模式的条形码读取子系统的无探测器模式和自动或手动模式;系统操作编程模式No.13-半自动触发多试图1D/2D多读取模式,使用多模式的条形码读取子系统的无探测器模式和自动或手动模式;系统操作编程模式No.14-半自动触发多试图1D/2D多读取模式,使用多模式的条形码读取子系统的无探测器模式和全扫描模式;系统操作编程模式No.15-连续自动触发多试图1D/2D多读取模式,使用多模式的条形码读取子系统的自动、手动或全扫描模式;系统操作编程模式No.16-基于成像的条形码阅读器操作的诊断模式;和系统操作编程模式No.17-基于成像的条形码阅读器操作的现场录像模式。

优选地,这些系统操作模式可通过读取一系列来自程序化菜单的条形码符号而被程序化,该程序化菜单例如,美国专利号6,565,005中描述的由计量仪器有限公司研发的、并以名称单线条构造程序化方法(Single Line Configurat ion Programming Method)上市的条形码扫描仪程序化技术。

这些程序化的系统操作模式将在下文详细描述。作为选择,图形用户界面(GUI)可用于检查和改变使用PC的条形码符号阅读器中的结构参数。可选择地,命令行接口(CLI)也可用于检查和改变条形码符号阅读器中的结构参数。

这些条形码阅读器操作的程序化模式的每一种都将参照系统的其他构成部分详细说明,所述系统的其他部分配置在一起实现与本发明的原理一致的功能。

基于成像的条形码阅读器启动操作的综述

当条形码阅读器引导时,其FPGA以12.5/50/25兆赫兹时钟固件自动地程序化,并且所有所需装置的驱动程序也自动安装。操作系统的注册也自动完成于用户“根(root)”,并且用户被自动地指向于根目录(/root/directory)。对于使用自动物体检测的几乎所有的程序化的系统操作模式,IR物体检测软件驱动器被自动安装。同样,对于使用窄域照明模式的所有程序化的系统操作模式,窄域照明软件驱动器被自动安装,以致脉冲宽度调制器(PWM)被用于驱动窄域基于LED的照明阵列27。为了启动条形码阅读器操作,操作系统首先调用临时目录(/tmp/directory)(“cd/tmp”),然后位于根目录的聚焦应用程序被运行,因为根目录位于快闪只读存储器(Flash ROM)中,故为了保存捕捉的图像,临时目录应该是转变至主机中的存储图像的当前目录,该临时目录位于随机存储器(RAM)中。

在手动触发操作模式下本发明的手持式图像处理的条形码符号阅读器的操作

如图26A中的No.1至No.5所示,本发明的手持式图像处理条形码符号阅读器可被程序化,以便操作于许多不同系统操作的“手动触发”模式中的任何一种。然而,在操作的各个手动触发模式期间,图像处理条形码符号阅读器依照手动触发操作的广义方法控制和调整其子系统构成部分。

特别地,在基于IR的物体检测场内的物体的自动检测之上,基于IR的物体存在检测子系统自动地发生物体检测事件,并且响应于此,多模式的基于LED的照明子系统自动地在所述的图像形成和检测子系统的视场内产生窄带照明的窄域场。

于是,基于通过用户按下手动激活触发器而发生触发事件,下列的操作均自动执行:

(i)在所述的多模式图像形成和检测子系统的窄域图像捕捉模式期间,图像捕捉和缓存子系统使用视场内的窄带照明的窄域场自动地捕捉和缓冲物体的窄域数字图像;和

(ii)图像处理条形码符号读取子系统自动地处理所述1D数字图像,尝试处理窄域数字图像,以尽可能读取在其中表示的1D条形码符号,并且当在其中成功地解码1D条形码符号时,自动地产生其中表示的符号字符数据。

然后,当所述的多模式图像处理条形码符号读取子系统没有成功地读取窄域数字图像中表示的1D条形码符号时,下列的操作均自动执行:

(i)多模式的基于LED的照明子系统在多模式图像形成和检测子系统的视场内自动产生一窄带照明的宽域场,

(ii)在图像捕捉和缓存子系统的宽域图像捕捉期间,图像捕捉和缓存子系统捕捉和缓冲宽域数字图像,以及

(iii)图像处理条形码符号读取子系统处理宽域数字图像,以尽可能的读取表示在其中的1D或2D条形码符号,并且当成功地解码其中的1D或2D条形码符号时,自动地产生其中表示的符号字符数据。

系统操作编程模式No.1-使用多模式的条形码读取子系统的无探测器模式的手动触发单试图1D单读取模式

系统操作编程模式No.1包括如下的系统配置:使基于IR的物体存在和范围检测子系统12失效;使手动触发激活、多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13中的窄域图像捕捉模式和多模式条形码读取子系统17的无探测器模式的使用生效。

在这种系统操作模式期间,当用户拉动触发开关2C时,系统激活多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码符号读取子系统17的无探测器模式。接着,条形码阅读器照亮使用窄域照明来照明目标物体,捕捉目标物体的窄域图像以及启动多模式条形码符号读取子系统17的无探测器模式。然后使用无探测器模式处理捕捉的图像。如果程序化图像处理的单个循环导致1D条形码符号的成功读取,则结果的符号字符数据被送到输入/输出子系统18以由主系统使用。如果程序化图像处理的单个循环没有导致1D条形码符号的读取成功,则循环终止,所有的子系统被失活,并且条形码阅读器返回到其模式的休眠操作,等待触发系统使其进入激活操作的下一个事件(例如手动拉动触发开关2C)。

系统操作编程模式No.2-使用多模式的条形码读取子系统的无探测器模式的手动触发多试图1D单读取模式

系统操作编程模式No.2包括如下的系统配置:使基于IR的物体存在和范围检测子系统12失效;使手动触发激活、多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13中的窄域图像捕捉模式和多模式条形码符号读取子系统17的无探测器模式的使用生效。

在这种系统操作模式期间,当用户拉动触发开关2C时,系统激活多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码读取子系统17的无探测器模式。接着,条形码阅读器照亮使用窄域照明来照明目标物体,捕捉目标物体的窄域图像以及启动多模式条形码读取子系统17的无探测器模式。然后使用无探测器模式处理捕捉的窄域图像。如果程序化图像处理的单个循环导致1D条形码符号的成功读取,则结果的符号字符数据被送到输入/输出子系统18以由主系统使用。如果程序化图像处理的循环没有产生成功的读取,则只要拉动触发开关2C,系统自动地使相继的照明/捕捉/处理的循环生效,然后直到系统读取目标物体的捕捉图像内的条形码符号为止;从那以后,或者当用户释放触发开关2C时,条形码符号阅读器返回到其休眠操作模式,等待触发系统使其进入激活操作的下一个事件。在说明实施例中,默认的解码超时设置为500微妙,这个时间可简单地通过编程改变。这种默认的解码超时设置确保了当用户拉动触发开关2C时,基于成像的条形码符号阅读器每隔500微妙(至多)重新尝试读取,直到其读取成功或触发开关2C被手动释放为止。

系统操作编程模式No.3-使用多模式的条形码符号读取子系统的无探测器模式和自动、手动或特定ROI模式的手动触发单试图1D/2D单读取模式。

系统操作编程模式No.3包括如下的系统配置:使基于IR的物体存在和范围检测子系统12失效;使手动触发激活、多模式照明子系统14内的窄域和宽域照明模式、图像形成和检测子系统13中的窄域和宽域图像捕捉模式和多模式条形码读取子系统17的无探测器模式和手动、特定ROI和/或自动模式的使用生效。

在这种可编程系统操作模式期间,条形码阅读器处于空闲状态(处于其休眠模式),直到用户朝着具有条形码标签的物体对准条形码阅读器,然后拉动触发器开关2C为止。当该事件发生时,系统激活多模式照明子系统14内的窄域照明模式(即驱动窄域照明阵列27)、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码读取子系统17的无探测器模式。接着,条形码阅读器使用窄域照明照亮目标物体,捕捉目标物体的窄域图像以及启动多模式条形码读取子系统17的无探测器模式。然后使用无探测器模式处理捕捉的窄域图像。如果程序化图像处理的单个循环的结果是1D条形码符号的成功读取,则作为结果的符号字符数据被送到输入/输出子系统18由主系统使用。如果程序化图像处理的循环没有产生成功的读取,则系统使多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式、多模式条形码读取子系统17的无探测器模式不起作用,然后激活多模式照明子系统14内的宽域照明模式、图像形成和检测子系统13的宽域图像捕捉模式和多模式条形码读取子系统17的手动、特定ROI和/或自动模式。接着条形码阅读器使用近场和远场宽域照明来照亮目标物体、捕捉目标物体的宽域图像以及启动多模式条形码符号读取子系统17的手动、特定ROI和自动模式。然后使用手动、特定ROI和自动模式处理捕捉的宽域图像。如果程序化图像处理的单个循环的结果是1D或2D条形码符号的成功读取,则作为结果的符号字符数据被送到输入/输出子系统18由主系统使用。如果这种程序化图像处理的循环没有产生成功的读取,则子系统19使所有子系统不起作用并返回到休眠模式,等待促使所述子系统进入使其激活的操作模式的事件。

系统操作编程模式No.4-使用多模式的条形码符号读取子系统的无探测器模式和自动、手动或特定ROI模式的手动触发多试图1D/2D单读取模式系统操作编程模式No.4包括如下的系统配置:使基于IR的物体检测子系统12失效;使手动触发激活、多模式照明子系统14内的窄域和宽域照明模式、图像形成和检测子系统13中的窄域和宽域图像捕捉模式和多模式条形码读取子系统17的无探测器模式和手动、特定ROI和/或自动模式的使用生效。在这种系统操作的编程模式期间,当用户拉动触发开关2C时,系统激活多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码读取子系统17的无探测器模式。接着,条形码阅读器照亮使用窄域照明来照明目标物体,捕捉目标物体的窄域图像以及启动多模式条形码读取子系统17的无探测器模式。然后使用无探测器模式处理捕捉的窄域图像。如果程序化图像处理的单个循环导致1D条形码符号的成功读取,则结果的符号字符数据被送到输入/输出子系统18以由主系统使用。如果程序化图像处理的循环没有产生成功的读取,则系统使多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式、多模式条形码读取子系统17的无探测器模式不起作用,然后激活多模式照明子系统14内的宽域照明模式、图像形成和检测子系统13的宽域图像捕捉模式和多模式条形码读取子系统17的手动和/或自动模式。接着条形码阅读器使用近场和远场宽域照明来照亮目标物体、捕捉目标物体的宽域图像以及启动多模式条形码符号读取子系统17的手动(或自动)模式。然后使用条形码符号读取的手动模式处理捕捉的宽域图像。如果程序化图像处理的单个循环的结果是1D或2D条形码符号的成功读取,则作为结果的符号字符数据被送到输入/输出子系统18由主系统使用。如果这种程序化图像处理的循环没有产生成功单1D或2D条形码符号的读取,则只要触发开关2C拉动,子系统19系统就自动地使相继的照明/捕捉/处理的循环生效,直到系统读取目标物体的捕捉图像内的条形码符号为止;从那以后,或者当用户释放触发开关2C时,条形码符号阅读器返回到其休眠操作模式,并等待触发系统使其进入激活操作的下一个事件。在说明实施例中,默认的解码超时设置为500微妙,这个时间可简单地通过编程改变。这种默认的解码超时设置确保了当用户拉动触发开关2C时,基于成像的条形码符号阅读器每隔500微妙(至多)重新尝试读取,直到其读取成功或触发开关2C被手动释放为止。

系统操作编程模式No.5-使用多模式的条形码符号读取子系统的无探测器模式和自动、手动或特定ROI模式的手动触发多试图1D/2D多读取模式

系统操作编程模式No.5包括如下的系统配置:使基于IR的物体存在和范围检测子系统12失效;使手动触发激活、多模式照明子系统14内的窄域和宽域照明模式、图像形成和检测子系统13中的窄域和宽域图像捕捉模式和多模式条形码读取子系统17的无探测器模式和手动、特定ROI和/或自动模式的使用生效。

在这种系统操作的编程模式期间,当用户拉动触发开关2C时,系统激活多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码读取子系统的无探测器模式。接着,条形码阅读器使用窄域照明来照明目标物体,捕捉目标物体的窄域图像以及启动多模式条形码读取子系统的无探测器模式。然后使用无探测器模式处理捕捉的窄域图像。如果程序化处理的单个循环导致1D条形码符号的成功解码,则作为结果的符号字符数据被送到输入/输出子系统以由主系统使用。如果程序化解码图像处理的循环没有产生成功的读取,则系统使多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式、多模式条形码读取子系统17的无探测器模式不起作用,然后激活多模式照明子系统内的宽域照明模式、图像形成和检测子系统13的宽域图像捕捉模式和多模式条形码读取子系统17的手动和/或自动模式。接着条形码阅读器使用近场和远场宽域照明来照亮目标物体、捕捉目标物体的宽域图像以及启动多模式条形码符号读取子系统17的手动(特定ROI和/或自动)模式。然后使用读取的手动模式处理捕捉的宽域图像。如果程序化处理的单个循环的结果是1D或2D条形码符号的成功读取,则作为结果的符号字符数据被送到输入/输出子系统18由主系统使用。如果这种程序化图像处理的循环没有产生对一个或多个1D或2D条形码符号的成功读取,则只要触发开关拉动,系统就自动地使相继的宽域照明/宽域图像捕捉/图像处理的循环生效,直到系统读取目标物体的捕捉图像内的一个或多个1D和/或2D条形码符号为止;从那以后,或者当用户释放触发开关2C时,条形码符号阅读器返回到其休眠操作模式,并等待触发系统使其进入激活操作的下一个事件。在说明实施例中,默认的解码超时设置为500ms,这个时间可简单地通过编程改变。这种默认的解码超时设置确保了当用户拉动触发开关2C时,基于成像的条形码符号阅读器每隔500ms(至多)重新尝试读取,直到其读取成功或触发开关2C被手动释放为止。

系统操作编程模式No.6-使用多模式条形码符号读取子系统的无探测器模式的自动触发单试图1D单读取模式

系统操作编程模式No.6包括如下的系统配置:使手动触发激活的使用不起作用;并且使基于IR的物体存在和范围检测子系统12、仅在多模式照明子系统14内的窄域照明模式、仅在图像形成和检测子系统13中的窄域图像捕捉模式和多模式条形码符号读取子系统17的无探测器模式生效。

这种系统操作编程模式期间,条形码阅读器处于空闲状态,直到用户将该阅读器指向具有条形码标签的物体为止。一旦物体处于条形码阅读器的视场内,并且物体被自动地检测到,条形码阅读器“苏醒(wakes up)”,并且系统激活多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码读取子系统17的无探测器模式。这致使系统去照亮在条形码阅读器的视场(FOV)的中部的目标物体的“窄(narrow)”水平域,向用户指明条形码阅读器瞄准的区域在哪里,这样,使用户能够定位和对准目标条形码上的窄域照明光束。然后,系统捕捉/获取窄域图像,并使用配置在无探测器操作模式下的条形码符号读取子系统17处理所捕捉/获取的窄域图像。如果这种程序化解码处理的单个循环导致1D条形码符号的成功读取,则作为结果的符号字符数据被送到输入/输出子系统18由主系统使用。如果这种程序化图像处理的循环没有产生成功的读取,则系统使所有子系统不起作用,致使条形码阅读器返回到休眠操作模式,等待触发系统使其进入激活操作的下一个事件。

系统操作编程模式No.7-使用多模式条形码符号读取子系统的无探测器模式的自动触发多试图1D单读取模式

系统操作编程模式No.7包括如下的系统配置:使手动触发激活的使用不起作用;并且使基于IR的物体存在和范围检测子系统12、多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13中的窄域图像捕捉模式和多模式条形码符号读取子系统17的无探测器模式生效。

这种系统操作编程模式期间,条形码阅读器处于空闲状态,直到用户将该条形码阅读器指向具有条形码标签的物体为止。一旦物体处于条形码阅读器的视场内,并且物体被自动地检测到,条形码阅读器“苏醒”并且系统激活多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码符号读取子系统17的无探测器模式。这致使系统照亮在条形码阅读器的视场(FOV)的中部的目标物体的“窄”水平域,向用户指明条形码阅读器瞄准区域在哪里,这样,能够使用户定位和对准目标条形码上的窄域照明光束。然后,系统捕捉/获取窄域图像,并使用其无探测器模式处理所捕捉/获取的窄域图像。如果这种程序化解码处理的单个循环导致1D条形码符号的成功读取,则作为结果的符号字符数据被送到输入/输出子系统18以由主系统使用。如果这种程序化图像处理没有产生成功的解码,那么只要拉动触发开关2C,系统就能够自动地使窄域照明/窄域图像捕捉/处理的相继的循环生效,直到系统读取目标物体的捕捉图像内的单个的1D条形码符号为止;从那以后,或者当用户释放触发开关2C时,条形码读取装置返回到其休眠操作模式,等待触发系统使其进入激活操作的下一个事件。在图示实施例中,默认的解码超时设置为500ms,这个时间可简单地通过编程改变。这种默认的超时设置确保了当用户拉动触发器开关时,基于成像的条形码符号阅读器每隔500ms(至多)将重新尝试读取,直到其读取成功或触发开关2C被手动释放为止。

系统操作编程模式No.8-使用多模式条形码符号读取子系统的无探测器模式和手动、特定ROI和/或自动模式的自动触发多试图1D/2D单读取模式

系统操作编程模式No.8包括如下的系统配置:在系统操作的所有阶段期间使手动触发激活的使用不起作用;并能够使基于IR的物体存在和范围检测子系统12、多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13中的窄域图像捕捉模式和多模式条形码符号读取子系统17的无探测器模式和手动、特定ROI和/或自动模式生效。

在这种系统操作编程模式期间,条形码阅读器处于空闲状态,直到用户将阅读器指向具有条形码标签的物体为止。一旦物体处于扫描仪的视场内,并且物体被自动地检测到,条形码阅读器“苏醒”,并且系统激活多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码读取子系统17的无探测器模式。这致使系统去照亮在条形码阅读器的视场(FOV)的中部的目标物体的“窄”水平域,向用户指明条形码阅读器瞄准的区域在哪里,这样,能够使用户定位和对准目标条形码上的窄域照明光束。然后,系统捕捉/获取窄域图像,并使用其无探测器操作模式处理所捕捉/获取的窄域图像。如果这种程序化解码处理的单个循环导致1D条形码符号的成功读取,则作为结果的符号字符数据被送到输入/输出子系统18以由主系统使用。如果这种程序化图像处理的循环没有产生成功的读取,则系统使多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码读取子系统17的无探测器模式不起作用,然后激活多模式照明子系统14内的宽域照明模式、图像形成和检测子系统13的宽域图像捕捉模式和多模式条形码读取子系统17的手动、特定ROI和/或自动模式。于是,条形码符号阅读器使用近场或远场宽域照明(取决于目标物体的检测范围)照亮目标物体、捕捉目标物体的宽域图像以及启动多模式条形码读取子系统17的手动、特定ROI或自动模式。然后使用手动读取模式处理捕捉的宽域图像。如果这种程序化处理的循环导致单个的1D或2D条形码符号的成功读取,则作为结果的符号字符数据被送到输入/输出子系统18以由主系统使用。如果这种程序化图像处理的循环没有产生单个的1D或2D条形码符号的成功读取,则只要检测到目标物体,系统能自动地使宽域照明/宽域图像捕捉/处理的相继的循环生效,直到系统读取目标物体的捕捉图像内的一个或多个1D和/或2D条形码符号为止;从那以后,或者当用户将物体移出条形码阅读器的视场时,条形码阅读器返回到其休眠操作模式,等待触发系统使其进入激活操作的下一个事件。在图示实施例中,默认的解码超时设置为500ms,这个时间可简单地通过编程改变。这种默认的解码超时设置确保了当条形码阅读器检测到物体时,条形码符号阅读器每隔500ms(至多)将重新尝试读取,直到其读取成功或物体从条形码阅读器的视场移出为止。

系统操作编程模式No.9-使用多模式条形码符号读取子系统的无探测器模式和手动、特定ROI和/或自动模式的自动触发多试图1D/2D多读取模式

系统操作编程模式No.9包括如下的系统配置:在系统操作的所有阶段期间使手动触发激活的使用不起作用;并能够使基于IR的物体存在和范围检测子系统12、多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13中的窄域图像捕捉模式和多模式条形码符号读取子系统17的No Finder模式和手动或自动模式生效。

在这种系统操作编程模式期间,条形码阅读器处于空闲状态,直到用户将阅读器指向具有条形码标签的物体为止。一旦物体处于条形码阅读器的视场内,并且物体被自动地检测到,条形码阅读器“苏醒”,并且系统激活多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码读取子系统17的无探测器模式。这致使系统去照亮在条形码阅读器的视场(FOV)的中部的目标物体的“窄”水平域,向用户指明条形码阅读器瞄准的区域在哪里,这样,能够使用户定位和对准目标条形码上的窄域照明光束。然后,系统捕捉/获取窄域图像,并使用其无探测器操作模式处理所捕捉/获取的窄域图像。如果这种程序化处理的单个循环导致1D条形码符号的成功读取,则作为结果的符号字符数据被送到输入/输出子系统18以由主系统使用。如果这种程序化图像处理的循环没有产生成功的读取,则系统使多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码读取子系统17的无探测器模式不起作用,然后激活多模式照明子系统14内的宽域照明模式、图像形成和检测子系统13的宽域图像捕捉模式和多模式条形码读取子系统17的手动和/或自动模式。于是,条形码阅读器使用近场或远场宽域照明(取决于目标物体的检测范围)照亮目标物体、捕捉目标物体的宽域图像以及启动多模式条形码读取子系统17的手动(特定ROI或自动)模式。然后使用手动解码方法处理捕捉的宽域图像。如果这种程序化处理的循环导致单个的1D或2D条形码符号的成功读取,则作为结果的符号字符数据被送到输入/输出子系统18以由主系统使用。如果这种程序化图像处理的循环没有产生单个的1D或2D条形码符号的成功读取,则只要检测到目标物体,系统能自动地使宽域照明/宽域图像捕捉/处理的相继的循环生效,直到系统读取目标物体的捕捉图像内的一个或多个1D和/或2D条形码符号为止;从那以后,或者当用户将物体移出条形码阅读器的视场时,条形码阅读器返回到其休眠操作模式,等待触发系统使其进入激活操作的下一个事件。在图示实施例中,默认的解码超时设置为500ms,这个时间可简单地通过编程改变。这种默认的解码超时设置确保了当条形码阅读器检测到物体时,条形码符号阅读器每隔500ms(至多)将重新尝试读取,直到其读取成功或物体从条形码阅读器的视场移出为止。

系统操作编程模式No.10-使用多模式条形码符号读取子系统的手动、特定ROI、自动或全扫描模式的自动触发多试图1D/2D单读取模式

系统操作编程模式No.10包括如下的系统配置:在系统操作的所有阶段期间使手动触发激活的使用不起作用;并能够使基于IR的物体存在和范围检测子系统12、多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13中的窄域图像捕捉模式和多模式条形码读取子系统17的手动、特定ROI、自动或全扫描模式生效。

在这种系统操作编程模式期间,条形码阅读器处于空闲状态,直到用户使带有条形码符号的物体出现在条形码阅读器的视场内为止,且物体可被自动地检测到,条形码阅读器“苏醒”,并且系统激活多模式照明子系统14内的宽域照明模式、图像形成和检测子系统13的宽域图像捕捉模式和多模式条形码读取子系统17的手动、特定ROI、自动和全扫描模式之一。这致使系统在具有远场和近场的宽域照明(取决于目标物体的检测范围)条形码阅读器的视场(FOV)内的照亮目标物体的宽域,并捕捉/获取宽域图像,接着使用读取的手动、特定ROI、自动或全扫描方法之一处理所捕捉/获取的宽域图像。如果这种程序化处理的单个循环导致1D或2D条形码符号的成功读取(当使用手动、特定ROI和自动方法时),则作为结果的符号字符数据被送到输入/输出子系统以由主系统使用。如果这种程序化图像处理的循环没有产生成功的读取,则只要检测到目标物体,系统能自动地使宽域照明/宽域图像捕捉/处理的相继的循环生效,直到系统读取目标物体的捕捉图像内的单个的1D和/或2D条形码符号为止;从那以后,或者当用户将物体移出条形码阅读器的视场时,条形码阅读器返回到其休眠操作模式,等待将触发系统使其进入激活操作的下一个事件。在图示实施例中,默认的解码超时设置为500ms,这个时间可简单地通过编程改变。这种默认的解码超时设置确保了当物体被条形码阅读器检测时,条形码阅读器将每隔500ms(至多)重新尝试读取,直到其读取成功或者物体从条形码阅读器的视场移出为止。

系统操作编程模式No.11-使用多模式条形码符号读取子系统的无探测器模式和自动、特定ROI或手动模式的半自动触发单试图1D/2D单读取模式

系统操作编程模式No.11包括如下的系统配置:在系统激活操作阶段期间使手动触发激活的使用不起作用;并能够使基于IR的物体存在和范围检测子系统12、多模式照明子系统14内的窄域和宽域照明模式、图像形成和检测子系统13中的窄域和宽域图像捕捉模式和多模式条形码读取子系统17的无探测器模式和手动、特定ROI和/或自动模式生效。

在这种系统操作编程模式期间,条形码阅读器处于空闲状态,直到用户将阅读器指向具有条形码标签的物体为止。一旦物体处于条形码阅读器的视场内,并且物体被自动地检测到,条形码阅读器“苏醒”,并且系统激活多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码读取子系统17的无探测器模式。这致使系统去照亮在条形码阅读器的视场(FOV)的中部的目标物体的“窄”水平域,向用户指明条形码阅读器瞄准的区域在哪里,这样,能够使用户定位和对准目标条形码上的窄域照明光束。然后,系统捕捉/获取窄域图像,并使用其无探测器操作模式处理所捕捉/获取的窄域图像。如果这种程序化图像处理的单个循环导致1D条形码符号的成功读取,则作为结果的符号字符数据被送到输入/输出子系统18以由主系统使用。如果这种程序化图像处理的循环没有产生成功的读取,则系统使多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码读取子系统17的无探测器模式不起作用,然后激活多模式照明子系统14内的宽域照明模式、图像形成和检测子系统13的宽域图像捕捉模式和多模式条形码读取子系统17的手动、特定ROI和/或自动模式。接着,如果用户在窄域照明和图像捕捉期间拉动触发开关2C并持续这样,那么条形码阅读器使用宽域照明(取决于目标物体的检测范围)自动地照亮目标物体、捕捉目标物体的宽域图像以及启动多模式条形码符号读取子系统17的手动、特定ROI或自动模式。接着使用条形码读取的手动、特定ROI或自动模式/方法来处理捕捉的宽域图像。如果这种程序化处理的单循环导致单个的1D或2D条形码符号的成功读取,则作为结果的符号字符数据被送到输入/输出子系统18以由主系统使用。如果这种程序化图像处理的循环没有产生单个的1D或2D条形码符号的成功读取,则子系统19自动使所有子系统失活并使条形码阅读器返回到其休眠操作模式,等待触发系统使其进入激活操作的下一个事件。

系统操作编程模式No.12-使用多模式条形码符号读取子系统的无探测器模式和自动、特定ROI或手动模式的半自动触发多试图1D/2D单读取模式

系统操作编程模式No.12包括如下的系统配置:在系统激活的操作阶段期间使手动触发激活的使用不起作用;并且使基于IR的物体存在和范围检测子系统12、多模式照明子系统14内的窄域和宽域照明模式、图像形成和检测子系统13中的窄域和宽域图像捕捉模式和多模式条形码读取子系统17的无探测器模式和手动、特定ROI和/或自动模式生效。

在这种系统操作编程模式期间,条形码阅读器处于空闲状态,直到用户将阅读器指向具有条形码标签的物体为止。一旦物体处于条形码阅读器的视场内,并且物体被自动地检测到,条形码阅读器“苏醒”,并且系统激活多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码读取子系统17的无探测器模式。这致使系统去照亮在条形码阅读器的视场(FOV)的中部的目标物体的“窄”水平域,向用户指明条形码阅读器瞄准的区域在哪里,这样,能够使用户定位和对准目标条形码上的窄域照明光束。然后,系统捕捉/获取窄域图像,并使用其无探测器操作模式处理所捕捉/获取的窄域图像。如果这种程序化图像处理的单个循环导致1D条形码符号的成功读取,则作为结果的符号字符数据被送到输入/输出子系统18以由主系统使用。如果这种程序化图像处理的循环没有产生成功的读取,则系统使多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码读取子系统17的无探测器模式不起作用,然后激活多模式照明子系统内的宽域照明模式、图像形成和检测子系统13的宽域图像捕捉模式和多模式条形码读取子系统17的手动、特定ROI和/或自动模式。接着,如果用户在窄域照明和图像捕捉期间拉动触发开关2C并持续这样做,那么条形码阅读器使用宽域照明自动地照亮目标物体、捕捉目标物体的宽域图像以及启动多模式条形码读取子系统17的手动、特定ROI或自动模式。接着使用读取的手动模式来处理捕捉的宽域图像。如果这种程序化处理的单循环导致单个的1D或2D条形码符号的成功读取,则作为结果的符号字符数据被送到输入/输出子系统18以由主系统使用。如果这种程序化图像处理的循环致没有产生单个的1D或2D条形码符号的成功解码,那么只要拉动触发开关2C,系统能够自动地使宽域照明/宽域图像捕捉/处理的相继的循环生效,直到系统在目标物体的捕捉图像内读取一个或多个1D和/或2D条形码符号为止;从那以后,或者当用户释放触发开关2C时,条形码阅读器返回到其休眠操作模式,等待触发系统使其进入激活操作的下一个事件。在说明实施例中,默认的解码超时设置为500ms,这个时间可简单地通过编程改变。这种默认的解码超时设置确保了当用户拉动触发开关2C时,基于成像的条形码符号阅读器每隔500ms(至多)将重新尝试读取,直到其读取成功或触发开关2C被手动释放为止。

系统操作编程模式No.12的执行

当聚焦IR模块检测到物体检测场20前方的物体时,其便传递OBJECT_DETECT_ON事件至应用层。负责处理该事件的应用层软件启动CodeGate任务。当用户拉动触发开关2C时,TRIGGER_ON事件被传递至应用。负责处理该事件的应用层软件检查CodeGate任务是否正在运行,如果运行,其便取消该CodeGate任务,然后开始主任务。当用户释放触发开关2C时,TRIGGER_OFF事件被传递至应用。负责处理该事件的应用层软件检查主任务是否正在运行,如果运行,其便取消该主任务。如果物体仍然在物体检测场20内,则应用层软件再次启动CodeGate任务。

当用户将条形码阅读器移动远离物体(或者物体远离条形码阅读器)时,OBJECT_DETECT_OFF事件被传递至应用层。负责处理该事件的应用层软件检查CodeGate任务是否正在运行,如果运行,其便取消该CodeGate任务。在无限循环中,CodeGate任务做下列工作。其激活照亮视场中部的“窄”水平域的窄域照明阵列27,然后图像形成和检测子系统13获取窄域的图像(即COMS图像传感阵列22上的几行像素),接着试图去读取表示在图像中的条形码符号。如果读取成功,其便将解码的数据保存在专门的CodeGate数据缓存器中。否则,其清除CodeGate数据缓存器。然后,其继续所述循环。CodeGate任务不会自行退出;当对其他事件反应时,该CodeGate任务可由聚焦软件的其他模块取消。

当用户拉动触发开关2C时,事件TRIGGER_ON传递至应用层。负责处理该事件的应用层软件检查CodeGate任务是否正在运行,如果运行,其便取消该CodeGate任务,然后开始主任务。CodeGate任务也可以当用户将条形码阅读器移动远离物体,或物体远离条形码读取装置时传递的OBJECT_DETECT_OFF事件而取消。

操作编程模式No.13:使用多模式条形码读取子系统的无探测器模式和自动、特定ROI或手动模式的半自动触发多试图1D/2D多读取模式

系统操作编程模式No.13包括如下的系统配置:在系统激活的操作阶段期间使手动触发激活的使用不起作用;并且使基于IR的物体存在和范围检测子系统12、多模式照明子系统14内的窄域和宽域照明模式、图像形成和检测子系统13中的窄域和宽域图像捕捉模式和多模式条形码读取子系统17的无探测器模式和手动、特定ROI和/或自动模式生效。

在这种系统操作编程模式期间,条形码阅读器处于空闲状态,直到用户将阅读器指向具有条形码标签的物体为止。一旦物体处于条形码阅读器的视场内,并且物体被物体存在和范围检测子系统12自动地检测到,条形码阅读器“苏醒”,并且系统激活多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码读取子系统17的无探测器模式。这致使系统去照亮在条形码阅读器的视场(FOV)的中部的目标物体的“窄”水平域,向用户指明条形码阅读器瞄准的区域在哪里,这样,能够使用户定位和对准目标条形码上的窄域照明光束。然后,系统捕捉/获取窄域图像,并使用其无探测器操作模式处理所捕捉/获取的窄域图像。如果这种程序化图像处理的单个循环导致1D条形码符号的成功读取,则作为结果的符号字符数据被送到输入/输出子系统18以由主系统使用。如果这种程序化图像处理的循环没有产生成功的读取,则系统使多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码读取子系统17的无探测器模式不起作用,然后激活多模式照明子系统14内的宽域照明模式、图像形成和检测子系统13的宽域图像捕捉模式和多模式条形码读取子系统17的手动和/或自动模式。接着,如果用户在窄域照明和图像捕捉期间拉动触发开关2C并持续这样做,那么条形码阅读器使用宽域照明自动地照亮目标物体、捕捉目标物体的宽域图像以及调用多模式条形码读取子系统17的手动、特定ROI和/或自动模式。接着使用读取的手动、特定ROI或自动模式来处理捕捉的宽域图像。如果这种程序化处理的单循环导致一个或多个1D和/或2D条形码符号的成功读取,则作为结果的符号字符数据被送到输入/输出子系统18以由主系统使用。如果这种程序化解码图像处理的循环没有产生一个或多个1D和/或2D条形码符号的成功读取,那么只要拉动触发开关2C,系统能够自动地使宽域照明/宽域图像捕捉/图像处理的相继的循环生效,直到系统在目标物体的捕捉图像内读取一个或多个1D和/或2D条形码符号为止;从那以后,或者当用户释放触发开关2C时,条形码阅读器返回到其休眠操作模式,等待触发系统使其进入激活操作的下一个事件。在说明实施例中,默认的解码超时设置为500ms,这个时间可简单地通过编程改变。这种默认的解码超时设置确保了当用户拉动触发开关2C时,基于成像的条形码符号阅读器每隔500ms(至多)将重新尝试读取,直到其读取成功或触发开关2C被手动释放为止。

操作编程模式No.14:使用多模式条形码符号读取子系统中的无探测器模式和全扫描模式的半自动触发多使徒1D/2D多读取模式

系统操作编程模式No.14包括如下的系统配置:在系统激活的操作阶段期间使手动触发激活的使用不起作用;并且使基于IR的物体存在和范围检测子系统12、多模式照明子系统14内的窄域和宽域照明模式、图像形成和检测子系统13中的窄域和宽域图像捕捉模式和多模式条形码读取子系统17的无探测器模式和全扫描模式生效。

在这种系统操作编程模式期间,条形码阅读器处于空闲状态,直到用户将阅读器指向具有条形码标签的物体为止。一旦物体处于条形码阅读器的视场内,并且物体被物体存在和范围检测子系统12自动地检测到,条形码阅读器“苏醒”,并且系统激活多模式照明子系统14内的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码读取子系统17的无探测器模式。这致使窄域照明阵列27去照亮在条形码阅读器的视场(FOV)的中部的目标物体的“窄”水平域,向用户指明条形码阅读器瞄准的区域在哪里,这样,能够使用户定位和对准目标条形码上的窄域照明光束。然后,子系统13捕捉/获取窄域图像,该捕捉/获取的窄域图像随后被子系统17使用其无探测器模式处理。如果这种程序化图像处理的单个循环导致1D条形码符号的成功读取,则作为结果的符号字符数据被送到输入/输出子系统18以由主系统使用,并且系统随后使所有子系统失活并重新开始其睡眠操作状态。如果这种程序化解码图像处理的循环没有产生成功读取,其依然会产生一个或多个指示图像中表示的符号的编码段(例如PDF 417)。这样,系统使多模式照明子系统14中的窄域照明模式、图像形成和检测子系统13的窄域图像捕捉模式和多模式条形码读取子系统17的无探测器模式不起作用;并且然后,如果用户这时拉动触发开关2C,系统就激活多模式照明子系统14中的宽域照明模式、图像形成和检测子系统的宽域图像捕捉模式以及多模式条形码读取子系统17的全扫描模式,如果指示在可能处于特殊角度的图像内的2D编码格式的编码段被找到。然后,条形码阅读器使用宽域照明自动照明目标物体,捕捉目标物体的宽域图像,并调用多模式条形码读取子系统17的全扫描模式。所捕捉的宽域图像首先通过全扫描模式和第一处理方向(例如,以0度)被处理,并继续以不同角度方向(例如,6度方向/方位)提升读取的全扫描模式直到成功读取单一条形码符号。如果这种程序化解码处理(使用全扫描模式)的单循环导致单一1D和/或2D条形码符号的成功解码,则作为结果的符号字符数据被送到输入/输出子系统18以由主系统使用。如果这种程序化图像处理的循环没有产生单一1D和/或2D条形码符号的成功读取,那么只要拉动触发开关2C,系统能够自动地使宽域照明/宽域图像捕捉/处理的相继的循环生效,直到系统在目标物体的捕捉图像内读取单一1D和/或2D条形码符号为止。从那以后,或者当用户释放触发开关2C时,系统返回到其休眠操作模式,等待触发系统使其进入激活操作的下一个事件。在说明实施例中,默认的解码超时设置为500ms,这个时间可简单地通过编程改变。这种默认的解码超时设置确保了当用户拉动触发开关2C时,基于成像的条形码符号阅读器每隔500ms(至多)将重新尝试读取,直到其读取成功或触发开关2C被手动释放为止。

操作编程模式No.15:使用多模式条形码读取子系统中的自动、手动、特定ROI或全扫描模式的连续自动触发多试图1D/2D多读取模式

系统操作编程模式No.15,典型地用于测试目的,包括如下系统配置:在系统操作的所有阶段期间使手动触发激活的使用不起作用;并能够使基于IR的物体存在和范围检测子系统12、多模式照明子系统14内的宽域照明模式、图像形成和检测子系统13中的宽域图像捕捉模式和多模式条形码读取子系统17的手动、特定ROI、自动或全扫描模式生效。

在该系统操作的编程模式期间,条形码阅读器继续并连续照明具有远场和近场宽域照明的条形码阅读器的视场(FOV)中的目标物体的宽域,并捕捉其宽域图像,然后使用操作的手动、特定ROI、自动或全扫描模式之一对其进行处理。如果这种程序化图像处理的单循环导致1D或2D条形码符号的成功读取(当使用了手动、特定ROI和自动模式时),则作为结果的符号字符数据被送到输入/输出子系统18以由主系统使用(即典型地试验计量系统)。如果这种程序化图像处理的循环没有产生成功读取,那么系统自动地使宽域照明/宽域图像捕捉/处理的相继的循环生效。在说明实施例中,默认的解码超时设置为500ms,这个时间可简单地通过编程改变。这种默认的解码超时设置确保了当物体正由条形码阅读器检测时,条形码符号阅读器每隔500ms(至多)将重新尝试读取,直到其读取成功或物体被移开条形码阅读器的视场为止。

基于成像的条形码阅读器操作的诊断模式:系统操作编程模式No.16

系统操作编程模式No.16是诊断模式。授权用户可发送特殊命令至条形码阅读器,以向条形码阅读器加载命令行接口(CLI)。当条形码阅读器从用户接收这样的请求时,它就发送提示“MTLG>”给用户作为扫描器已就绪接受用户的指令的握手指示。然后用户可以向条形码阅读器输入任何有效命令,并可看到其执行结果。要在诊断模式中通过通信线RS232与阅读器通信,用户可以使用任何标准通信程序,例如WindowsHyperTerminal。该操作模式可以被用于测试/调试新引入的特征或观察/改变条形码阅读器的设置参数。它还可被用于将图像和/或来自阅读器存储器的先前解码的条形码数据的备录下载到主计算机。

基于成像的条形码阅读器操作的现场视频模式:系统操作编程模式No.17

系统操作编程模式No.17可被用于与任何其它支持的成像模式结合。在该模式中,根据子系统17读取的基于图像处理的条形码符号结果(如果该结果可用),条形码阅读器获得的图像被实时传送到主计算机。

本发明的基于数字成像的条形码符号读取装置的第二说明实施例,其中提供了照明的四种不同模式

在上述第一说明实施例中,多模式照明子系统14具有三个主要照明模式:(1)窄域照明模式;(2)近场宽域照明模式;和(3)远场宽域照明模式。

如图27A、图27B和图28所示的本发明的基于数字成像的条形码符号读取装置的第二可选择实施例中,多模式照明子系统14变为具有四个主要照明模式:(1)近场窄域照明模式;(2)远场窄域照明模式;(3)近场宽域照明模式;和(4)远场宽域照明模式。通常,在多模式图像形成和检测子系统13的窄域图像捕捉模式期间,这些操作的近场和远场窄域照明模式被执行,并被近场窄域照明阵列27A和远场窄域照明阵列27B支持,如图28和图2A1所示。在第二说明实施例中,这些照明阵列27A、27B的每一个被通过至少一对LED实现,这些LED每个都具有柱面透镜,分别以适当焦距聚焦结果的窄域(即线性)照明光束到系统视场的近场部分24A和远场部分24B。

使用一对独立的照明阵列在视场的近场和远场部分产生窄域照明场的一个优点是:可以更紧凑地沿着横向尺寸控制相关“窄”或“窄锥形”的窄域照明场。例如,如图27B所示,在条形码菜单读取应用程序过程中,近场窄域照明阵列27A可以被用于产生(覆盖视场的近场部分)沿着横向和纵向尺寸变窄的照明区域24A,以使用户简单地排列具有单一条形码符号的照明区域(光束)而从一种或其它条形码菜单中被读取,因此避免两个或多个条形码符号或简单的错误条形码符号的意外读取。同时,远场窄域照明阵列27B可以被用于产生(覆盖视场的远场部分)沿着横向尺寸足够宽的照明区域24B,以使用户简单地通过简单地向远场部分移动物体而读取在条形码阅读器视场的远场部分中的拉长的条形码符号。

本发明的基于数字成像的条形码符号读取装置的第三说明实施例

可选择地,本发明的基于成像的条形码符号读取装置实质上可以任何形式存在,可以支持在不同应用环境中的条形码符号的读取。本发明的条形码读取装置的一种可选择形式如图29A至图29C所示,其中本发明的便携式基于数字成像的条形码符号读取装置1”以各种立体图被显示,当设置在显示模式(即设置成编程系统模式No.12)时。

本发明的基于数字成像的条形码符号读取装置

如图30所示,本发明的基于数字成像的条形码读取装置1’、1”也可以以容易地被集成到各种信息收集和处理系统的基于数字成像的条形码符号读取装置阅读器100的形式实施。特别地,图30所示的触发开关2C被设计成适应阅读器外壳,并且可以理解该触发开关2C或具有相等功能的设备将典型地与总系统外壳结合,装置被嵌入在其中从而用户可以与其相互作用并驱动它。根据本发明的该装置可以多种形状和尺寸实现,并嵌入各种需要不同图像捕捉和所述处理功能的系统和设备中。

本发明的无线条形码驱动的便携式数据终端(PDT)系统的说明实施

图31、图32和图33示出了根据本发明的无线条形码驱动的便携式数据终端(PDT)系统140,包括:条形码驱动PDT 150,安装在这里所述的本发明的基于数字成像的条形码符号读取装置100中;和具有支架的基站155。

如图31和图32所示,基于数字成像的条形码符号读取装置100可以被用于读取包装上的条形码符号,并且代表所读取的条形码的符号特征数据可以通过启用RF双通道数据通信链接170自动地被传送到具有支架的基站155。同时,坚固数据进入并且PDT150提供显示功能以支持各种基于信息的处理,该处理可使用系统140在零售、工业、教育和其他环境中应用。

如图32所示,无线条形码驱动的便携式数据终端系统140包括:手持式外壳151;图30所示的上述基于数字成像的条形码符号读取装置100,安装在所述手持式外壳151的头部;用户控制台151A;高分辨率彩色LCD显示板152,和安装在用户控制台151A下部的、与手持外壳结合的驱动器,用于以实时方式显示所捕捉的图像、被输入系统的数据和由运行在无线PDT的虚拟机上的终端用户应用程序产生的图形用户界面(多个GUI);以及设置在PDT外壳内的PDT计算子系统180,用于根据被本实施例的无线PDT2B的硬件和软件平台运行的终端用户应用程序需求实行系统控制操作。

如图34的示意图所示,用于无线手持式条形码驱动便携数据终端系统140的设计模型如图31、图32所示,并且其具有支架的基站座155与可能的主系统173和/或网络174连接,包括:与系统总线结合的多个子系统,即:数据传输电路156,用于实行PDT一侧的基于电磁的无线双通道数据通信链接170;程序存储器(例如,DRAM)158;非易失性存储器(例如,SRAM)159;基于数字成像的条形码符号读取装置100,用于光学捕捉窄域和宽域图像并读取在其中识别的条形码符号;手动数据输入设备,例如薄膜转换型键盘160;LCD板152;LCD控制器161;LCD背光亮度控制电路162;以及与系统总线(例如,数据、地址和控制总线)结合的系统处理器163。而且,提供电池电源供给电路164,其用于向各种子系统提供稳压电源,以由实现PDT设备的技术确定的特殊电压。

如图34所示,基站155还包括:多个结合的子系统,即:数据接收器电路165,用于实行基站一侧的基于电磁的无线双通道数据通信链接170;具有通信控制模块的数据传输子系统171;基站控制器172(例如,可编程微控制器),用于控制基站155的操作。如图所示,数据传输子系统171通过现有技术的USB或RS232通信接口、TCP/IP、AppleTalk方式等与主系统173或网络174连接。数据传输和接收电路156和165实施本发明无线PDT应用的无线电磁双通道数字数据通信链接170。

特别地,无线手持式条形码驱动的便携式数据终端系统140,以及POS基于数字成像的条形码符号阅读器1”如图29A至图29C所示,每个都具有两种主要操作模式:(1)操作的手动模式,其中PDT150或POS阅读器1”从其支架被去除,并作为条形码驱动处理终端或简单的条形码符号阅读器;以及(2)操作的自动模式,在该模式中PDT150或POS阅读器1”留在具有支架的基站155中且如在大多数零售点卖机(POS)环境中要求的被用于显示型条形码符号阅读器。

在该手动和自动形式的应用程序中,当PDT被定位于如图33所示基站155中时,本发明的数字成像条形码符号读取装置中应用的触发开关2C可以容易地被更改和通过适当的独立检测机构增大,其被设计成自动设置和调用PDT150和其读取装置100进入显示模式(即操作系统模式No.12)或其它适当的系统模式。然后当PDT150被拾起和从具有支架的基站155中移除时,如图31和32所示,触发开关2C和独立检测机构的排列能够自动配置和调用PDT150和其读取装置100进入适当的系统操作(从图26A和26B所设置的表格中选择)的手动支持模式,以启用操作的手动模式。

相似地,如图29A和29B所示,当阅读器1”停留在工作平台时,POS数字成像条形码符号读取装置1”中应用的触发开关2C可以被容易地更改并通过适当的独立检测机构增大,其被设计成自动设置和调用POS阅读器1”进入显示模式(即操作12的系统模式)或其它适当的系统模式。然后当POS阅读器1”被移除工作平台时,为了在其操作的手动模式中使用,触发开关2C和独立检测机构的排列能够自动配置和调用阅读器1”进入适当的系统操作的手动支持模式,如图29C所示。在该实施例中,该独立检测机构可应用物理触碰开关、或IR物体传感开关,其启动后设备被移除工作平台。这样的机构将在这里公开。

应用自动曝光测量和照明控制子系统以及基于软件的照明测量程序的手持式基于数字成像的条形码符号读取装置

如图1至图34所示的系统中,由曝光过程的LED照明持续时间的精确控制提供自动照明控制,从而捕捉具有良好照明的图像。但是,在某些情况下,可能需要更高的照明控制,对此图35至图36所示方法可能有所帮助。

在图35至图36中,增强的自动照明控制方案被包含在本发明的手持图像处理条形码阅读器中。根据该可选择的照明控制方案,所捕捉图像的照明级是首先(即,最初)由测量图像探测阵列中心部分的实际光照明级决定,然后基于该测量计算适当的照明持续时间级。然后,在使用该最初照明级捕捉图像之后,软件照明测量程序被用于分析所捕捉图像的空间亮度分布并决定是否应该计算用于后来的图像照明和捕捉操作的新照明持续时间,以提供更多良好调谐的图像。如果呈现在所捕捉的数字图像中光/照明级被确定为基于软件的照明测量程序可接收的,那么该程序自动(i)计算由自动曝光测量和照明控制子系统使用的修正的照明持续时间(计数),和(ii)向它提供修正照明持续时间。然后在下一个由系统支持的物体照明和图像捕捉操作期间,自动曝光测量和照明控制子系统使用该修正的照明持续时间来控制被送至视场(FOV)的照明。通过使用该增强的自动照明控制方法,本发明的基于图像处理的条形码阅读器具有该能力的另一特性以实时捕捉具有最佳照明级的良好调谐的图像。

图35显示本发明的手持式基于数字成像的条形码符号读取装置,其中基于软件的照明测量程序被用于帮助自动曝光测量和照明控制子系统控制基于LED多模式照明子系统的操作。图35A更详细地显示该增强的自动照明控制方法,即当前照明持续时间(由自动曝光测量和照明控制子系统确定)是如何自动地被基于图像处理的条形码符号读取子系统中的通过软件实现且基于图像处理的照明测量程序计算的照明持续时间所覆盖。在系统捕捉下一个图像帧的过程中,结合本发明的增强的自动照明控制方案,该覆盖的照明持续时间被自动曝光测量和照明控制子系统使用,以控制产生且传送到CMOS图像检测阵列的LED照明数量。

图36为实施图35A所示增强的自动照明控制方案/方法的第四步骤的流程图。如图36的方块所示,该方法的第一步骤包括使用自动曝光测量和照明控制子系统来自动地(i)测量在CMOS图像传感阵列视场中的特定部分(例如,中间)的照明级,以及(ii)确定在所捕捉图像中达到期望空间亮度所需要的照明持续时间(即,时间计数)。

如图36的方块B所示,自动曝光测量和照明控制子系统使用该计算的/确定的照明持续时间来驱动基于LED的照明子系统并捕捉图像形成和检测子系统的视场中的物体的数字图像。

如图36的方块C所示,在当前或下一个图像捕捉循环过程中,图像处理条形码读取子系统(例如,图像处理器)实时分析和测量所捕捉图像的空间亮度分布,并确定当捕捉下一个或连续的图像数据帧时是否需要或期望修正的照明持续时间。

如图36的方块D所示,在自动曝光测量和照明控制子系统中,先前决定的照明持续时间(被用于所捕捉和所分析的图像)被自动地由上述方块C确定的修正的照明持续时间(计数)覆盖。

如图36的方块E所示,自动曝光测量和照明控制子系统然后使用修正的照明持续时间(由基于软件的照明测量程序计算)来驱动基于LED的照明子系统并捕捉在系统视场中被照明的物体的下一个数字图像。

如图36所示,方块C至方块E所示步骤可以递归方式、每个图像捕捉循环而被重复多次,以最终产生具有带有优良图像对比度的最优化的空间亮度级的数字图像。

使用图像裁切区域(ICZ)取景图样的手持式基于图像处理的条形码符号阅读器,以及自动后图像捕捉裁切方法

上述手持图像处理条形码符号阅读器使用在系统窄域视场的附近向用户提供可视方式的窄域照明光束。但是,当在其操作的宽域图像捕捉模式中操作系统时,其被期望在特定应用程序中以提供系统宽域视场的可视方式。当现有技术中多种技术提供该瞄准目标/标记功能,一种新颖的方法将参照图37至图39被描述如下。

图37显示使用图像裁切区域(ICZ)取景图样的手持基于图像处理条形码符号阅读器以及自动后图像捕捉裁切方法,以提取ICZ,在其中被成像的目标物体能在物体照明和成像操作过程中被可视地包围。如图38所示,该手持基于图像处理条形码符号阅读器与上述设计相似,除了包括在系统控制子系统下操作的一个或多个图像裁切区域(ICZ)照明取景源。优选地,这些ICZ取景源使用指示ICZ角的四个相关亮度LED,在后图像捕捉操作过程中其被裁切。可选择地,ICZ取景源可以是VLD,产生通过光衍射元素(例如,量传送全息图)传送可视激光器二极管,以产生表示ICZ角的四个光束,或呈现在所捕捉图像中的亮线。通过这样的角点或边界线(由此形成)创建的ICZ取景可以使用边缘追踪运算法则被定位,然后ROI的角从所追踪的边界线可以被识别。

参照图39,将说明本发明的ICZ取景和后图像捕捉裁切过程。

如图39的方块A所示,该方法的第一步包括在宽域照明和图像捕捉操作期间,在系统视场中投影ICZ取景图样。

如图39的方块B所示,该方法的第二步包括用户可视地排列要在ICZ取景图样(但其可被认识)中被成像的物体。

如图39的方块C所示,该方法的第三步包括图像形成和检测子系统以及图像捕捉和缓存子系统形成并捕捉系统整个视场中的宽域图像,其包含(即,空间包围)要被成像的图像的ICZ取景图样。

如图39的方块D所示,该方法的第四步包括使用在图像处理条形码读取子系统中实现的自动基于软件的图像裁切算法,以自动地从这些包含在方块B中捕捉的整个宽域图像取景的象素中裁切ICZ定义的空间边界内的像素。由于事实上图像失真可能存在于所捕捉的ICZ取景图样的图像中,该裁切成矩形的图像可能部分包含ICZ取景图样本身和一些可能落入ICZ取景图样外部的周边像素。

如图39的方块E所示,该方法的第五步包括图像处理条形码读取子系统自动地解码处理ICZ中所裁切的图像显示的像素图像,从而读取图形表示的1D或2D条形码符号。

如图39的方块F所示,该方法的第六步包括图像处理条形码读取子系统输出(至主系统)与所解码的条形码符号对应的符号特征数据。

特别地,在现有技术的视场锁定目标的方法中,用户捕捉与他要捕捉的图像相一致的图像。这种情况与低成本一拍得照相机相似,其中反光镜的视场和照相机透镜只充分地互相一致。在使用上述ICZ取景和后处理像素裁切方法的计划方案中,用户捕捉确实取自ICZ图像取景图样的图像。此系统和现有技术的视场方法相比的优点可类比于相对于一拍得照相机的SLR照相机的优点,即:准确、可靠。

使用ICZ取景和后处理像素裁切法的另外一个优点是ICZ取景图样(无论如何实现的)不一定要和图像形成和检测子系统的系统视场重合。ICZ取景图样也不用必须有平行的光学轴。这种方法的最基本要求仅是,沿着系统工作距离,ICZ取景图样落入图像形成和检测子系统的视场内。

然而,可以设计ICZ取景图样和系统的光轴角度,以便当ICZ取景图样没有完全落在相机的视场内时(即,ICZ取景图样,没有落入完整的需求图像),这向用户暗示捕捉和裁切的图像超出图像系统的聚焦深度。因此,映像器会提供一个可视的或者音频反馈给用户,以便该用户可以重新调整图像获取处理在一个更加合理的距离。

容易想到的一些改变

在本发明的可选择实施例中,在多模式照明子系统14中使用的照明阵列27,28,29可使用非LED的固态灯源实现,比如,可视激光二极管,其详情见WIPO公开号:WO 02/43195A2,公开日:2002年5月30,转让给计量仪器有限公司(metrologic instruments,Inc.,);在这里引用完整的作为参考。然而,当在本发明的基于成像的条形码符号阅读器中使用基于VLD的照明技术时,在物体照明和成像操作中使用一致的照明源时,必须十分注意消除或者尽量的减少在图像检测阵列22产生的斑点噪声。WIPO公开号:WO 02/43195 A2,提供了使用基于VLD的照明阵列时在图像形成和检测期间消除或尽量减少斑点噪声的不同的方法和设备。

当CMOS图像传感阵列技术被描述用于本发明的优选实施例中,可以理解,在可选择实施例中,CCD型图像传感阵列技术以及其它图像检测技术可被使用。

以上详细地描述条形码阅读器的设计,其可以容易地适用于工业或商业定位条形码阅读器/映像器,具有通常使用于工业的接口,例如以太网TCP/IP。通过向系统提供以太网TCP/IP端口,就能激活多个有用的特征,例如多用户通过互联网访问该条形码读取系统;对网络中来自单一用户应用程序的多条形码读取系统的控制;在实时视频操作中这样的条形码读取系统的充分使用;这样的条形码读取系统的网络服务,即控制系统或来自互联网浏览器的网络;等等。

尽管本发明的说明实施例被结合多种包括1D和2D条形码结构的条形码符号读取应用程序被描述,可以理解,本发明可以被用于读取(即,识别)任何机器可读的标记或数据表或智能图形编码形式,包括但不限于条形码符号结构:文字数字的识别串、手写体和现有技术中的或在将来被发展的不同的数据形式。以下,术语“码符号”可以被认为包括所有这样具有结构和其它图形编码的智能形式的信息。

而且,本发明的基于成像的条形码符号阅读器也可以被用于捕捉和处理多种图形图像,包括相片和印在驾驶执照、许可证、信用卡、借记卡等上的标记,以不同用户的应用。

可以理解,使用在说明实施例中的条形码符号读取系统的图像捕捉和处理技术可以多种形式进行修改,对于本领域的技术人员能够容易地理解所公开的新技术效果。因此所示实施例的所有这些更改和变化都落在本发明所附的权利要求主张的范围和宗旨内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号