自适应数据读取器和操作方法

文档序号:6362241阅读:184来源:国知局
专利名称:自适应数据读取器和操作方法
技术领域
背景技术
光学代码,例如条形码和其他机器可读标记,在多种应用中的多种位置出现。存在各种这样的光学代码,包括ID (—维)或线性条形码(例如UPC码),包括堆叠线性条形码的2D (二维)码(例如Η)Ρ_417码)和矩阵码(例如Datamatrix码、QR码或Maxicode)。商业已开始向消费者发送光学代码的电子版本,这些消费者在便携电子装置例如移动电话、个人数字助理、掌上电脑、平板计算机、膝上计算机,或具有电子显示器例如液晶显示器(LCD)的其他合适装置上显示这样的光学代码。例如,航空公司乘客可以在便携电子装置上为航空公司职工显示光学代码,从而使用数据读取器读取为乘客机票的检验。在另一示例中,在商店中的消费者可以在便携电子装置上为出纳员显示光学代码,以使用数据读取器读取从而兑换礼券。光学代码也被包括在具有高反射的或相对高反射的表面的其他物品上,例如但不限于身份(ID)卡、铝罐和在塑料包装中的物体。

发明内容
公开了用于改善光学代码(或其他图案例如指纹或脸部特征)的读取的方法和系统,无论光学代码是在高反射的还是在其他的表面上存在。公开某些实施例针对具有更大处理或解码能力,以便读取在高反射的或相对高反射的表面上(或后面)出现的光学代码的数据读取器和操作方法。根据一个系统/方法实施例,系统资源根据数据读取器操作模式分配。在另一实施例中,解码方法根据数据读取器操作模式改变。在一个示例方法中,捕获带有光学代码的物品的一个或多于一个图像,并且分析已捕获图像从而确定该物品是否具有高反射的或相对高反射的表面。基于这样的确定,在一些实施例中,包括解码设置的操作参数由系统自动调整从而处理并解码光学代码。操作参数可以包括以下中的一个或多于一个:专用于ID码解码的时间量和专用于2D码解码的时间量,ID码和2D码解码执行的顺序,解码操作的终止,重启图像捕获和解码操作,图像预处理,以及用于照明光学代码的照明强度。通过参考附图以及实施例的以下详细描述,额外方面和优点是清楚的。


图1是示例数据读取器的等距前视图。图1A是示例数据读取器的框图。图2A、2B、2C和2D是每个都带有光学代码的物品的视图。图3是根据一个实施例的操作数据读取器捕获、处理和解码光学代码的方法的流程图。图4是根据一个实施例的操作数据读取器捕获、处理和解码光学代码的方法的流程图并包括基于操作模式预处理已捕获图像。
图5是由图像装置捕获的示例示图,该示图示出具有呈现光学代码的显示器的移动电话。图5A是表现与图5的示图对应的图像数据的示例直方图。图6是由图像装置捕获的另一示例示图,该示图示出具有呈现光学代码的显示器的移动电话。图6A是表现与图6的示图对应的图像数据的示例直方图。图7是根据一个实施例的操作数据读取器捕获、处理和解码光学代码的方法的流程图并包括终止解码尝试。
具体实施例方式描述的特征、结构、特性和方法可以在一个或多于一个实施例中以任何合适方式组合。鉴于本文的公开,本领域技术人员认识到多种实施例可以在不带有一个或多于一个具体细节的情况下,或结合方法、部件、材料等的情况下被施例。在其他实例中,众所周知的结构、材料和操作未被示出或未被详细描述,从而避免模糊本发明的其他方面。为方便,可以在此参考光学代码描述方法和系统,然而,可以理解在此描述的方法适用于任何主机计算机与任何类型的光学可读代码,例如但不限于在上面描述的代码、生物信息例如指纹、视网膜图案、血管图案或脸部特征,以及其他合适代码。因此,数据读取器可以包括采用激光扫描、成像或其他合适技术的装置。通过描述的或其他的实施例展现的特征和优点包括通过基于确定光学代码是否由反射表面带有来为数据读取器自动修订操作参数、解码参数或其他合适调整以减少处理时间、增加处理吞吐量和提高解码准确度中的一个或多于一个。本发明人已认识到在高反射的或相对高反射的表面上或下(后面)存在的光学代码通常难以使用数据读取器解码。例如,通用数据读取器普遍使用人工照明来照明带有光学代码的物体,从而创造具有足够对比度的光学代码的图像以便解码该光学代码。带有光学代码的高反射的或相对高反射的表面普遍反射大量这样的人工照明,导致饱和的或局部饱和的图像,因为该图像的全部或部分呈现浅色或白色,所以该图像没有用于将光学代码解码的足够对比度。本发明人已认识到处理或解码2D码通常需要比处理或解码ID光学码长的处理时间。因此,根据一个示例,如果数据读取器确定光学代码由非反射表面带有,那么解码参数可以经配置或设置为花费比尝试解码2D码多的处理(即解码)时间尝试解码ID码。如果数据读取器确定光学代码由反射表面带有,那么解码参数可以被配置为花费比尝试解码2D码少的时间尝试解码ID码。另外,本发明人已认识到带有光学代码的某些高反射的或相对高反射的表面普遍带有2D码,而ID码更可能在非反射表面上出现。例如,非反射盒的侧面可以更可能带有ID码,而2D码更可能在反射表面例如电子显示屏幕的上或下面出现。因此,公开可以捕获由表面带有的光学代码的图像的数据读取器。数据读取器可以分析图像从而确定光学代码是由反射表面还是由非反射表面带有。然后数据读取器可以基于光学代码是由反射表面还是由非反射表面带有,调整其操作或解码参数。在一个实施例中,数据读取器可以使用正常操作模式,即包括为非反射表面最优化的操作参数的模式,捕获由反射表面带有的光学代码的图像。数据读取器可以开始处理光学代码从而将其解码,并且同时分析已捕获图像从而确定光学代码是由反射表面或由非反射表面带有。基于确定光学代码由反射表面带有并且使用正常操作参数捕获该图像,数据读取器可以确定解码尝试不可能成功并且终止当前解码尝试。通过将数据读取器操作参数调整到反射模式设置并捕获新图像,数据读取器可以避免在不成功的解码尝试上花费额外时间,并因此与在调整数据读取器操作参数并为捕获新图像用于解码之前完成第一解码尝试相比减少了解码光学代码需要的时间量。在一些实施例中,数据读取器可以通过确定光学代码是否由具有主动光源即具有背光的LCD带有,或由普通反射表面即没有主动光源的光亮表面带有,从而调整操作参数。例如,在数据读取器上的照明源可以暂时停用,降低强度、移位或相对表面重定向,以便检测该表面是否从背光发光。通过确定主动光源的存在,操作参数可以调整到主动光源模式(也称为蜂窝电话模式),该模式被最优化从而获得主动光源表面,例如显示光学代码的蜂窝电话,的图像。例如,在蜂窝电话模式中,当成像器从背光接收光以便获得减少源自显示器表面和照明源的镜面反射的LCD的图像时,数据读取器可以停用LED照明源。图1是根据第一实施例的数据读取器10的图示。图1A是数据读取器10的电子器件的框图。根据一个实施例,数据读取器10包括处理器15,该处理器15被编程以分析图像景象从而确定改变数据读取器10的一个或多于一个操作参数是否有利。这样的图像分析可以为由成像器20捕获的每个帧执行,或可替换地可以间歇执行,例如图像分析可以基于周期执行。存储器21,例如闪存存储器、随机存取存储器或其他合适存储器,与处理器15通信从而存储数据、软件、固件或其他数据。在一些实施例中,存储器21可以与处理器15整合,即作为缓存存储器。数据读取器10图解为适合读取光学代码、符号或其他物品的扫描器。数据读取器10包括窗口部分13附装到的外壳12,它们组合以便保护可操作电子装置免受外部环境影响。数据读取器10可以作为自支撑在水平面上或固定/安装到墙壁或其他表面的演示扫描器操作。数据读取器是在外壳12上自支撑的(即独立的)或可以安装在支架(未示出)上,使其在操作的免提模式(演示型)中可用。数据读取器10也可以绕外壳12钩住并在手持或便携模式中操作。在安装、免提或手持模式中的任何一个中,数据读取可以由触发器14(在图1A中示意示出)的致动而被激活,由检测在窗口 13的前面扫描体积内的物品存在的处理器15自动激活,或在数据读取器10主动扫描时根据连续捕获和解码模式激活,或由其他合适处理激活。数据读取器10包括在该实施例中由在窗口 13后面的线路中排列的发光二极管(LED)构成的照明源22。根据一些实施例,照明源22照明向数据读取器10呈现的物品上的光学代码。在物品,例如电子显示屏幕30、饮料罐36、谷物盒39、ID卡40 (分别是图2A、2B、2C和2D)或其他合适物品上的光学代码,例如光学代码31、37、38或41,可以通过将带有该光学代码的物品呈现在窗口 13前面的数据读取体积内而被读取。在一些实施例中,照明源22包含一个或多于一个LED的阵列,例如红外或可见光谱LED,但可以可替换地包含另一合适光源,例如灯泡或激光二极管。照明源22可以联接到处理器15或成像器20或由该处理器15或成像器20控制,或可以远距安装和供电。提供电源电路29以便向LED供能。
成像器20包含互补型金属氧化物半导体(CMOS)成像器。CMOS成像器具有包括目标物品在其内存在以便成像的读取体积的视场。CMOS成像器可以包含具有全局快门的有源像素成像成传感器,例如由法国Saint-EgrSve Cedex的e2v销售的EV76C560BB型CMOS传感器,或可以在滚动基础上操作。在一些实施例中,电荷耦合器件(CCD)或其他合适成像器可以使用。透镜或其他镜片(未示出)可以用来将源自光学代码的光聚焦到像素传感器的成像器20阵列上。成像器20单独或与逻辑部件例如复杂可编程逻辑器件(CPLD)或现场可编程门阵列(FPGA)—起联接到处理器15,该处理器15除其他功能之外经编程控制数据读取器10的图像处理参数、解码参数或该两者,如在下文详细讨论。处理器15可以包含任何合适的数字处理器,例如低功率DSP核心或ARM核心处理器。在一些实施例中,处理器15包含由美国加利福尼亚州圣何塞的Atmel销售的ARM9处理器AT91SAM9G20,或由美国德克萨斯州达拉斯的德州仪器销售的OMAP处理器,或由美国德克萨斯州奥斯丁的飞思卡尔半导体公司销售的1.MXl系列处理器(例如MC9328MX1处理器)。可替换地,多个处理器或子处理器,或其他类型的处理器电子器件例如比较器或其他具体功能电路可以单独或组合使用。为了本描述,术语处理器意味着包括这些组合中的任何。处理器15也经编程调整操作参数从而将数据读取器10设置到希望的操作模式,例如正常模式或反射模式。例如,当数据读取器10检测到高反射的或相对高反射的表面时其设置到反射模式,并且否则设置到正常模式。在示例实施例中,数据读取器10检测高反射的或相对高反射的表面,并且使用在美国专利申请N0.13/204,627中描述的系统/方法中的一个或多于一个来为数据读取器10调整操作参数,该申请的全部内容包括在此作为参考,并且相关方面在下文描述的。其他合适系统和方法可以用于例如使用光电传感器或使用成像器作为光电传感器,检测高反射的或相对高反射的表面并调整操作参数。如在美国专利申请N0.13/204,627中描述的,像素传感器(例如在上面提到的e2v成像器中)的阵列通过输出表示在单独像素传感器吸收的光强度值的信号,产生视场的图像。对于8位值传感器,强度值范围是从O到255,其中O代表没有光或黑体状况(最小强度),并且255代表饱和状况(最大强度)。在这些状况之间是灰度值的色度。例如,成像器捕获包括范围从O到255的灰度的8位图像数据,其中O对应于黑暗像素(即没有接收光或几乎没有接收光的像素),并且255对应于饱和像素(即,接收如此多的光以使像素记录图像的白色部分的像素,即使在由这样的像素成像的物品对应部分可以实际上不是白色而是高反射时)。对于10位值成像器,像素值范围从O到1024。成像器也输出多少像素具有特别像素值范围的直方图。在其他实施例中,可以通过使用图像的像素的全部或部分为不输出直方图数据的成像器计算直方图。当尝试读取由反射表面、LED或其他显示屏幕显示的条形码时,由于表面的反射性质,因此趋向于存在具有饱和值或高强度值的大量像素,而同时因为相同原因存在具有非常低的强度值的大量像素。通过取得输出的直方图,可以确定示出某些巨大阈值数目的光亮像素(即饱和的或近饱和的)和相对大阈值数目的黑暗像素(即低强度的像素)的图像捕获从而表示反射表面,例如LCD屏幕。系统可以具有预设的这些阈值,或这些阈值可以是由用户或由技术人员选择的可编程值,他们基于特别设施照明状况或正在读取的LCD屏幕的类型来选择这些值。在超过阈值的情况下,处理器15可以随后切换到反射模式,或在一些实施例中切换到LCD屏幕读取模式。以下是通过其可以检测反射表面的示例。示例一状况1:具有大于给定/选择的8位高强度值(示例强度值等于200或更高)的某个数目的像素,例如100个像素(或图像的0.7%);以及状况2:巨大百分比(例如70%)的像素低于低8位强度值(示例强度值等于50或更低)。尽管这些值用于具有0-255的范围的8位值成像器,但其他范围是可能的。如果上面的状况I和2都满足(B卩,光亮像素百分比和黑暗像素百分比都高于指定的阈值百分比范围),那么认为已读取反射表面。描述检测反射表面的该方法的另一方式是通过分析其关联图像直方图,从而确定该直方图是否是双峰态的,即展现两个峰值或多于两个峰值。用于分析直方图的一个示例方式包括使用或建立低阈值和高阈值。低阈值对应于代表黑暗或相对黑暗像素(低灰度到相对低灰度)的范围的数值,并且高阈值对应于代表饱和或相对饱和像素(高灰度到相对高灰度)的范围的数值。在8位成像器的一个实施例中,低阈值可以仅包括在灰度上记录O的像素,并且高阈值可以仅包括在灰度上记录255的像素。可替换地,低阈值可以包括在灰度上在黑暗端范围中的像素,例如O到10、O到20、O到30、O到40、O到50、O到60或其他合适范围,并且高阈值可以包括在灰度上在明亮端范围中的像素,例如200到255、210到255、220到255、230到255、240到255或其他合适范围。处理器15确定第一预定百分比的像素是否落入低阈值内,并确定第二预定百分比的像素是否落入高阈值内。例如,处理器15获得或计算第一数目的像素,其中每个像素都具有在低阈值中的灰度值,例如O到75。处理器15也获得或计算第二数目的像素,其中每个象素都具有在高阈值中的灰度值,例如235到255。处理器15接下来确定第一数目的像素是否大于第一预定百分比的像素,并且确定第二数目的像素是否大于第二预定百分比的像素。在一个实施例中,对于具有360,960个像素(752X480像素网格)的成像器,O到75的低阈值的第一预定百分比的像素是成像器的像素总数的40%,并且230到255的高阈值的第二预定百分比的像素是成像器的像素总数的8%。其他合适百分比可以用于相同的低和高阈值。可替换地,其他合适百分比或相同百分比可以用于其他合适低和高阈值并用于具有相同或不同的像素总数的成像器。上面的反射表面检测描述可以用来检测普通反射(即光亮的)表面,以及具有主动光源(例如背光LCD)的反射表面。另外,非背光的普通反射表面仅仅反射光,并因此与发光的主动光源比较显得较不明亮。因此,由于背光和反射光的组合,主动光源通常向成像器20呈现为相对饱和(即明亮)的。因此,在一些实施例中,主动光源可以被检测并与普通反射表面区分,所以数据读取器10操作参数可以被调整。例如,当检测到反射表面时,可以调整(例如,关闭、降低强度、移远或被重定向为不从该表面反射)照明源20,从而确定是否存在产生光的背光,该光导致表面的图像超过预定亮度或强度阈值。因此,在停用照明源20之后,超过预定阈值的直方图值可以用来确定反射表面是主动光源。另一方面,在停用照明源20之后,如果反射表面显得充分黑暗并且不超过阈值,那么反而认为该表面是光亮表面并且不是主动光源。基于该确定,可以然后调整操作参数从而进入、终止或以其他方式改变数据读取器操作模式,这可以包括调整照明源20的强度(例如,在已检测LCD的情况下将该照明源20移位或停用)。如在上面关于反射表面检测描述的,用于检测主动光源的阈值可以被预定或动态配置。根据一个实施例,可以如关于以下方程描述使用灰度阈值检测主动光源:Pbp/G>=T 方程 I在方程I中,Pbp代表与图像的最亮像素的预定百分位数对应的亮度或强度值而代表动态可调整以使已观察像素亮度值基本维持在预定范围(例如零到255)内的增益值;并且T代表用于检测主动光源的阈值。例如,在有约130万个像素的一个实施例中,Pbp可以对应于最亮的2%的像素(2,600个像素),这些像素在照明源20停用时具有超过例如(255中的)150的8位值的亮度值。假设G具的值为一并且T具有(250中的)128的8位值,那么在上面的方程I导致150)128,并因此表示反射表面是主动光源,例如IXD。Pbp、G和T的值可以取决于特定数据读取器实施和环境光状况。例如,在上面的方程I可以与Magellan 3300HSi水平成像器或Magellan 3200VSi垂直成像器一起使用或包括在这些成像器中,这些成像器都可从美国俄勒R州尤金的数据逻辑扫描公司获得,在此情况下Pbp具有在与百分之一到十的最亮像素对应的范围中的亮度值,G在一到八的范围中,并且T在(255中的)64到128的范围中。图3是用于操作数据读取器10从而捕获、处理并解码光学代码的方法的流程图,其中基于数据读取器10的操作模式实时做出对数据读取器10操作的修改。在一些实施例中,调整数据读取器的操作包括调整解码设置到反射或正常解码设置,这可以包括(单独地或在任何组合中)调整以下中的一个或多于一个:(I) ID和2D解码时间,(2) ID和2D解码顺序,(3)使原图像数据通过低通滤波器,(4)建立信号下限,或(5)建立信号上限。在此描述的系统和方法在变化的环境状况例如变化的照明状况下提供相对高的解码性能。在步骤300,在一个实施例中,数据读取器10由处理器15响应于在读取体积内检测物品例如电子装置32来激活。在另一实施例中,数据读取器10由任选触发器14激活。在步骤305,数据读取器10捕获带有光学代码例如光学代码31的物品的第一组图像。第一组图像可以仅包括一个图像,但在其他实施例中也可以包括两个、三个、四个、五个或更多图像。为容易参考,在下面将一组图像称为图像。可替换地,数据读取器10可以连续开启,即连续操作或扫描。在一个实施例中,根据在读取体积内检测到物体并为一个或多于一个图像帧确定该物体在读取体积内相对静止,数据读取器10被激活。确定物体是否在读取体积内相对静止可以用各种方式实现。例如,可以获得两个图像的逐像素灰度差从而为该两个图像创造绝对灰度差。这样的绝对差与可以是约15%到20%或其他合适值的可配置阈值比较,从而确定物体是否从一个图像移动到下个图像。如果差低于可配置阈值,那么处理器15确定物体相对静止。在一个实施例中,数据读取器10使用一组操作参数,该组操作参数用来捕获先前物品的最新图像作为一组初始操作参数。在其他实施例中,数据读取器10可以使用一组预定操作参数作为一组初始操作参数。在其他实施例中,数据读取器10可以使用一组预定操作参数作为一组初始操作参数,基于图像景象分析按需调整操作参数,并且在没有检测到物体在读取体积中存在时,或在超时为一个或多于一个图像帧发生之后,返回到使用该组预定操作参数。例如,一组预定操作参数可以由制造商设置并存储在与处理器15通信的存储器21中。
物品,例如电子装置32的显示屏30的第一图像,在步骤310分析。数据读取器10使用处理器15,从而例如使用在美国专利申请N0.13/204,627中描述的系统/方法,确定操作参数是否应设置到反射模式或设置到正常模式,如在上文讨论。如果在步骤310处理器15将数据读取器10设置到反射模式,那么在步骤315处理器15将解码设置自动调整到反射解码设置。本发明人已认识到许多反射表面,例如移动电话或其他合适电子装置的屏幕,普遍带有2D光学代码。因此,通过当数据读取器10在反射模式中的时候向解码2D码分配更多时间/资源,该数据读取器10可以更有效、更快或更有效且更快操作。另外,在反射模式中捕获的图像可以具有相对良好的对比度、清晰度或该两者,这容许处理器12相对容易或迅速解码在这样的图像中存在的任何ID码,因此需要用于解码ID码的较少时间/资源。解码尝试通常在一组时间段,例如33毫秒或其他合适时间段,运行。时间段可以是固定的、由用户可编程设置的,或由外部(例如感测的)因素设置可变的。在实施例中,对于正常解码设置,处理器15分配解码时间段的大部分给使用设计用于ID码解码的算法的解码ID码尝试。解码时间段的剩余小部分被分配给使用设计用于2D码解码的算法的解码2D码的尝试。在一些实施例中,正常解码设置包括约20毫秒的ID解码时间继之以约13毫秒的2D解码时间,约23毫秒的ID解码时间继之以约10毫秒的2D解码时间,或其他合适的时间分配。在实施例中,对于反射解码设置,处理器15分配解码时段的小部分给使用设计用于ID码解码的算法的解码ID码的尝试。解码时段的剩余大部分被分配给使用设计用于2D码解码的算法的解码2D码的尝试。在一些实施例中,正常解码设置包括约6毫秒的ID解码时间继之以约27毫秒的2D解码时间,约8毫秒的ID解码时间继之以约25毫秒的2D解码时间,或其他合适的时间分配。在一些实施例中,其中执行ID和2D解码的顺序可以转换,例如反射解码设置可以首先尝试解码2D光学代码。在步骤320处理器15尝试使用反射解码设置解码含有光学代码的图像。解码尝试的结果在步骤325检查,并且如果成功,那么处理在步骤335结束。否则,新图像在步骤330捕获并且随后解码尝试在步骤320做出。步骤320、325和330的处理可以重复,直到成功解码或直到预定数目的迭代已完成,例如十次图像捕获和解码尝试,或直到预定量的时间已过去。如果在步骤310处理器15将数据读取器10设置到正常模式,那么在步骤340处理器15将解码设置自动调整到正常解码设置。在步骤345处理器15尝试使用正常解码设置解码含有光学代码的图像。解码尝试的结果在步骤350检查,并且如果成功,那么处理在步骤335结束。否则,新图像在步骤330捕获并且随后的解码尝试在步骤345做出。步骤345,350和330的处理可以重复,直到成功解码或直到预定数目的迭代已完成,例如十次图像捕获和解码尝试,或直到预定量的时间已过去。在其他实施例中,如果在步骤325或步骤350确定在解码尝试不成功,那么通过代替地继续返回到步骤305,步骤330可被消除。如在上文描述,主动光表面可以与普通反射表面区分。因此,在另一实施例中,处理器15可以确定反射表面是否为普通反射表面或主动光源。普通反射解码设置可以如在上文描述的步骤315中那样建立,并且代替在步骤340的正常模式,处理器15可以将解码设置自动调整到主动光表面解码设置,即蜂窝电话模式。图4是用于操作数据读取器10捕获、处理和解码光学代码的另一方法的流程图,其包括基于操作模式预处理已捕获图像,例如数据读取器10是在正常还是在反射模式。本发明人已认识到使用正常模式从反射表面捕获的图像可以包括光学代码的图像,该图像包括模糊区域、相对低对比度的区域、镜面反射区域,或阻碍解码光学代码的其他特性。本发明人也已认识到使用反射模式从反射表面捕获的图像可以包括光学代码的图像,该图像包括相对清晰的区域、具有相对良好对比度的区域,以及示出电子显示器的显示元件之间的缝隙,例如在LCD屏幕的液晶之间的缝隙,或在由马萨诸塞州剑桥市的E Ink公司制造的显示器的电子墨水微胶囊之间缝隙的区域。在一些实施例中,图像预处理在图像数据发送到解码器以便解码包括在图像中的光学代码之前发生。在步骤400,数据读取器10由处理器15在读取体积内检测物品,例如电子装置32,来激活,或由触发器14的激活来激活。在其他实施例中,数据读取器10可以连续开启,即连续操作或扫描。在步骤405,数据读取器10捕获带有光学代码,例如光学代码31,的物品的第一图像。物品例如电子装置32的显示屏30的第一图像在步骤410分析。数据读取器10使用处理器15,从而例如使用在上文关于美国专利申请N0.13/204,627描述的系统/方法,确定数据读取器10是应设置到反射模式还是设置到正常模式。如果在步骤410处理器15将数据读取器10设置到反射模式,那么在步骤420处理器15自动执行反射图像预处理进程。在实施例中,反射图像预处理包括发送已捕获图像通过低通滤波器,例如高斯滤波器、中值滤波器或其他合适滤波器,从而形成两个邻近像素的平均值。这样的反射图像预处理将已捕获图像的清晰度或对比度充分降低从而模糊、混合或隐藏在电子显示器的元件之间的缝隙,或以其他方式更改已捕获图像从而促进解码光学代码。在另一实施例中,反射图像预处理可以包括建立信号下限或图像基底阈值。例如,对于8位值成像器,每个像素的灰度强度值范围是从O到255,其中O代表无照明或黑体状况(最小强度),并且255代表饱和状况(最大强度)。如果原图像发送到解码器,那么解码器分析每个像素从而确定其灰度值(0-255)。从电子显示器505捕获的光学代码500的示例原图像在图5中图解。因为在通常成像器中的大量像素,所以如果图像处理花费比解码时期更长的时间,那么解码器可以定位相对高数目的边缘(例如在图5A的直方图中图解)和超时。然而,当数据读取器10在反射模式中的时候,从移动电话或具有电子显示器的其他合适装置捕获的图像通常具有相对良好的对比度,这容许使用信号下限、直方图平衡或该两者从而减小解码器必须处理的数据的量。在一个实施例中,建立阈值40,意味着对于具有40或更低的值的每个原图像像素,例如通过在将像素值发送到解码器之前向每个像素应用灰度查询表,像素值设置到O。其他合适下限值或阈值可以使用,例如45,并且用于调整或修改像素值的其他合适技术可以使用,只要已修改图像为解码光学代码保持足够对比度和清晰度。信号下限或图像基底阈值已应用的光学代码500的示例图像在图6中说明。这样的阈值可以降低总图像亮度,但维持足够的图像对比度、清晰度或该两者。已修改图像包括足够的对比度和清晰度从而导致具有将由解码器处理的较少数据的可解码图像,因此减小解码器超时的可能性。如在图6A中示出的直方图中说明,这样的图像可以具有相对较少的边缘并需要较少的解码时间。在其他实施例中,反射图像预处理可以包括建立信号上限。例如,250的上限可以建立,意味着对于具有250或更高的值的每个原图像像素,像素值在发送到解码器之前被设置到250。其他合适上限值可以使用,例如245,只要已修改图像为解码光学代码保持足够对比度和清晰度。在步骤425处理器15尝试解码预处理的图像。确定在步骤430做出从而确定是否成功解码光学代码。如果做出成功解码,那么处理在步骤435结束。否则,后续图像在步骤405被捕获。步骤405、410、420、425和430的处理可以重复,直到做出成功解码或直到预定数目的迭代已完成,例如十次图像捕获和解码尝试,或直到预定量的时间已过去。如果在步骤410处理器15将数据读取器10设置到正常模式,那么在步骤415处理器15自动执行正常图像预处理进程。在实施例中,正常图像预处理包括发送已捕获图像通过高通滤波器,例如索贝尔滤波器、梯度滤波器或其他合适滤波器。这样的正常图像预处理锐化已捕获图像的特征例如光学代码的边缘、改善对比度,或该两者,或提供其他希望特性从而促进解码光学代码。在步骤425处理器15尝试解码预处理的图像。确定在步骤430做出从而确定是否成功解码光学代码。如果做出成功解码,那么处理在步骤435结束。否则,后续图像在步骤405被捕获。步骤405、410、420、425和430的处理可以重复,直到做出成功解码或直到预定数目的迭代已完成,例如十次图像捕获和解码尝试,或直到预定量的时间已过去。如在上文描述,主动光表面可以从普通反射表面区分。因此,在另一实施例中,处理器15可以如在上文描述的步骤410中那样确定反射表面是否为普通反射表面,但代替在步骤415执行正常模式预处理,主动光源预处理可以执行。主动光源预处理基本相似于在上文讨论的反射图像预处理,但可以包括滤波器设置、阈值或为电子显示器最优化的其他设置。图7是用于操作数据读取器10捕获、处理和解码光学代码的另一方法的流程图,其包括例如基于操作模式从正常模式到反射模式的改变来终止解码尝试。本发明人已认识到在正常模式中捕获的移动电话显示器或其他合适电子装置显示器的图像可以包括2D光学代码的图像。然而,使用正常解码设置开始解码这样的图像的数据读取器10可以不能解码这样的2D码。例如,因为解码时间的大部分分配到解码ID码,并且剩余时间不足以用于相对更复杂的2D算法解码2D码,所以解码尝试可以超时。或者图像可以不足够清晰或没有将被解码的足够对比度。代替完成解码操作,一些实施例在处理器15确定数据读取器10应从正常模式改变成反射模式时,可以终止在正常模式中捕获的图像的解码尝试。因此,通过终止不可能解码光学代码的解码尝试,可以提高解码速度。也可以通过在捕获随后图像之前相对迅速调整数据读取器10的操作模式和解码设置从而提高解码光学代码的可能性,提高解码速度。在步骤700,数据读取器10由处理器15在读取体积内检测物品,例如电子装置32,来激活,或由任选触发器14的激活来激活。在步骤705,数据读取器10捕获带有光学代码,例如光学代码31,的物品的图像。可替换地,数据读取器10可以连续开启,即连续操作或扫描。在步骤710处理器15开始解码尝试。当解码尝试运行时,在步骤715处理器15也使用在上文关于美国专利申请N0.13/204,627描述的系统/方法中的一个或多于一个,或其他合适系统或方法,确定数据读取器10是否应设置到反射模式。如果例如基于如在上文关于美国专利申请N0.13/204,627描述的已捕获图像的分析或其他合适系统或方法,数据读取器10应设置到反射模式,那么在步骤730处理器15检查从而确定解码设置是否设置到反射解码设置。如果解码设置不设置到反射解码设置,那么在步骤740处理器15认为使用正常模式捕获到当前已捕获图像并且终止解码尝试。在步骤740,处理器15调整成像器设置从而适应捕获反射表面的图像,例如在上文关于美国专利申请N0.13/204, 627描述或其他合适方法。在步骤745解码设置被设置到反射解码设置,例如参考图3在上文描述。在步骤705捕获随后图像,并且在步骤710开始随后图像的解码尝试。在步骤715处理器15再次确定数据读取器10应在反射模式中,并且在步骤730确定解码设置建立为反射解码设置。处理进展到步骤750,其中处理器15确定已捕获图像是否足以解码。例如,处理器15使用在上文关于美国专利申请N0.13/204,627描述的系统或方法或其他合适系统或方法,确定已捕获图像是否充分清晰、具有足够对比度,或该两者。如果处理器15确定图像不足以解码,那么在步骤735解码尝试终止,并且处理经如在上文描述的步骤740、745、705、710,715,730 和 750 继续。如果处理器15确定图像足以解码,那么在步骤755解码尝试完成。处理器15确定成功解码是否在步骤760做出,并且如果如此,那么在步骤765处理结束。否则,处理经如在上文描述的步骤 705、710、715、730、750、755 和 760 继续。步骤 705、710、715、730、750、755和760的处理可以重复,直到做出成功解码或直到预定数目的迭代已完成,例如十次图像捕获和解码尝试,或直到预定量的时间已过去。如果在步骤715处理器15确定数据读取器10应设置到正常模式,那么在步骤720处理器15检查从而确定解码设置是否设置到正常解码设置。如果解码设置不设置到正常解码设置,那么在步骤725处理器15设置解码设置到正常解码设置,并且在步骤755解码尝试完成。处理经在基本如在上文描述的步骤760和765继续,或经基本如在上文描述的步骤 760、705、710、715、720、725 和 755 继续。尽管在图7中示出的示例与基于解码设置的改变终止解码尝试有关,但在另一实施例中,基于确定反射表面是普通反射表面而不是主动光源(或反之亦然),处理器15可以终止解码。即,蜂窝电话模式解码尝试可以终止,并且数据读取器10切换到标准反射模式。尽管某些系统和方法已示出并描述,但对于本领域技术人员明显的是,在不背离在此阐述的概念的情况下,修改、替换和变化是可能的。例如,预处理步骤,例如关于图4说明并描述的预处理步骤,可以添加到处理步骤,例如关于图3或7说明并描述的处理步骤。例如,关于图7,相似于步骤415和420的步骤可以包括在步骤705和710之间,并且相似于步骤415和420的步骤的实施可以基于数据读取器,例如数据读取器10,的当前操作模式或其他合适参数。因此,本发明旨在包括全部合适修改、替换和变化。因此,本发明的保护范围应仅由权利要求确定。
权利要求
1.一种用于数据读取的方法,包含的步骤有: 通过数据读取器捕获带有光学代码的物品的第一组图像; 分析所述第一组图像从而确定所述光学代码是否由反射表面带有; 基于所述光学代码是否由反射表面带有,建立解码设置;以及 使用所述解码设置解码在所述第一组图像中出现的所述光学代码。
2.根据权利要求1所述的方法,其中捕获的步骤包括通过所述数据读取器捕获包括显示所述光学代码的电子显 示器表面的所述物品的所述第一组图像。
3.根据前述权利要求中的任意一项所述的方法,其中建立所述解码设置包括: 配置所述解码设置,从而如果确定所述光学代码不由反射表面带有,那么使用大部分的解码时间用于解码ID光学代码和小部分的所述解码时间用于解码2D光学代码;或配置所述解码设置,从而如果确定所述光学代码由反射表面带有,那么使用小部分的解码时间用于解码ID光学代码和大部分的所述解码时间用于解码2D光学代码;或 配置所述解码设置,从而如果确定所述光学代码不由反射表面带有,那么在尝试解码2D光学代码之前首先尝试解码ID光学代码;或 配置所述解码设置,从而如果确定所述光学代码由反射表面带有,那么在尝试解码ID光学代码之前首先尝试解码2D光学代码。
4.根据前述权利要求中的任意一项所述的方法,进一步包含: 基于所述光学代码是否由反射表面带有,预处理所述第一组图像。
5.根据权利要求4所述的方法,其中预处理所述第一组图像的步骤包括: 如果确定所述光学代码不由反射表面带有,那么使来自所述第一组图像的图像数据通过高通滤波器;或 如果确定所述光学代码由反射表面带有,那么使来自所述第一组图像的图像数据通过低通滤波器。
6.根据权利要求4或5所述的方法,其中预处理所述第一组图像的步骤包括: 如果确定所述光学代码由反射表面带有,那么将像素值与预定阈值比较;以及 对于等于或小于所述预定阈值的像素值,将所述像素值设置到预定值。
7.根据权利要求4或5所述的方法,其中预处理所述第一组图像的步骤包括: 如果确定所述光学代码由反射表面带有,那么将像素值与预定阈值比较;以及 对于等于或大于所述预定阈值的像素值,将所述像素值设置到预定值。
8.一种用于数据读取的方法,包含的步骤有: 通过数据读取器捕获带有光学代码的物品的第一组图像; 解码在所述第一组图像中的所述光学代码; 分析所述第一组图像从而确定所述光学代码是否由反射表面带有; 如果确定所述光学代码由反射表面带有并且使用正常操作模式捕获所述第一组图像,那么终止在所述第一组图像中的所述光学代码的解码; 自动调整所述数据读取器从而使用所述反射操作模式; 通过所述数据读取器捕获带有所述光学代码的所述物品的第二组图像;以及 解码在所述第二组图像中的所述光学代码。
9.根据前述权利要求中的任意一项所述的方法,进一步包含:确定所述第一组图像是否具有用于光学代码解码的足够质量;以及如果确定所述第一组图像没有用于光学代码解码的足够质量,那么终止在所述第一组图像中的所述光学代码的解码。
10.根据权利要求8所述的方法,进一步包含: 确定所述第二组图像是否具有用于光学代码解码的足够质量; 如果确定所述第二组图像没有用于光学代码解码的足够质量,那么终止在所述第二组图像中的所述光学代码的解码; 通过所述数据读取器捕获带有所述光学代码的所述物品的第三组图像;以及 解码在所述第三组图像中的所述光学代码。
11.一种用于在其上承载指令的计算机可读介质,所述指令包含: 用于通过数据读取器捕获带有光学代码的物品的第一组图像的指令; 用于分析所述第一组图像从而确定所述光学代码是否由反射表面带有的指令; 用于基于所述光学代码是否由反射表面带有而建立解码设置的指令;以及 用于使用所述解码设置解码在所述第一组图像中出现的所述光学代码的指令。
12.一种用于数据读取的系统,包含: 成像器,其经配置捕获带有光学代码的物品的图像; 照明源,其经配置照明所述物品;以及 控制器,其经配置操作所述成像器和所述照明源,其中所述控制器经编程: 启动带有所述光学代码的所述物品的第一组图像的捕获; 分析所述第一组图像从而确定所述光学代码是否由反射表面带有; 基于所述光学代码是否由反射表面带有,建立解码设置;以及 使用所述解码设置解码在所述第一组图像中出现的所述光学代码。
13.根据权利要求12所述的用于数据读取的系统,其中所述控制器经进一步编程: 配置所述解码设置,从而如果所述光学代码不由反射表面带有,那么使用大部分解码时间用于解码ID光学代码和小部分的所述解码时间用于解码2D光学代码;或 配置所述解码设置,从而如果所述光学代码由反射表面带有,那么使用小部分的解码时间用于解码ID光学代码和大部分的所述解码时间用于解码2D光学代码;或 配置所述解码设置,从而如果所述光学代码不由反射表面带有,那么在尝试解码2D光学代码之前尝试解码ID光学代码;或 配置所述解码设置,从而如果所述光学代码由反射表面带有,那么在尝试解码ID光学代码之前尝试解码2D光学代码。
14.根据权利要求12或13所述的用于数据读取的系统,其中所述控制器经进一步编程: 基于所述光学代码是否由反射表面带有,预处理所述第一组图像。
15.根据权利要求12、13或14所述的用于数据读取的系统,其中所述控制器经进一步编程: 如果所述光学代码不由反射表面带有,那么使来自所述第一组图像的图像数据通过高通滤波器;以及 如果所述光学代码由反射表面带有,那么使来自所述第一组图像的图像数据通过低通滤波器。
16.根据权利要求12、13、14或15所述的用于数据读取的系统,其中所述控制器经进一步编程: 将像素值与第一预定阈值和第二预定阈值比较; 对于等于或小于所述第一预定阈值的像素值,将所述像素值修改成第一预定值;以及 对于等于或大于所述第二预定阈值的像素值,将所述像素值修改成第二预定值。
17.根据权利要求12、13、14、15或16所述的用于数据读取的系统,其中所述控制器经进一步编程: 响应于确定所述光学代码由反射表面带有以及使用正常操作模式捕获所述第一组图像,终止解码操作。
18.根据权利要求12、13、14、15、16或17所述的用于数据读取的系统,其中所述控制器经进一步编程: 响应于确定所述光学代码不由反射表面带有并且使用反射操作模式捕获所述第一组图像,终止解码操作。
全文摘要
本发明公开了一种用于数据读取的方法和系统,其中捕获带有光学代码的物品的一个或多于一个图像,并且分析捕获图像从而确定该物品是否具有反射表面。基于这样的确定,系统的操作参数,例如专用于1D码解码的时间量和专用于2D码解码的时间量,1D码和2D码解码执行的顺序,解码操作的终止,重启图像捕获和解码操作,以及图像预处理中的一个或多于一个,可以被系统自动调整,从而解码光学代码。
文档编号G06K9/18GK103201752SQ201180054011
公开日2013年7月10日 申请日期2011年11月10日 优先权日2010年11月10日
发明者W·高, A·J·盖尔斯 申请人:数据逻辑Adc公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1