自适应光学图像读取器的制作方法

文档序号:6655586阅读:219来源:国知局
专利名称:自适应光学图像读取器的制作方法
技术领域
本发明的实施例涉及光学图像读取器装置及方法,并且更具体地,涉及一种提供改进了的功能性和对对象环境的自适应性的光学图像读取器装置及方法。
背景技术
光学读取器趋于以下三类中的一类条码读取器、激光扫描引擎光学读取器以及基于图像传感器的光学读取器。
条码读取器通常包括一个光源以及容纳在笔形机壳中的一个光电探测器。用户以条码读取器扫过可解码的符号(例如,条码),产生代表该条码的间隔条样式的信号。
基于激光扫描引擎的光学读取器包括产生激光束的激光二极管组件、用于将激光束扫过可解码符号的可动反射器,并且产生与该可解码符号相应的信号。基于图像传感器的光学读取器包括多元件图像传感器,比如CID、CCD和CMOS图像传感器;以及用于将图像聚焦到该图像传感器上的成像光学件。在基于图像传感器的光学传感器的操作中,可解码符号的图像被聚焦在图像传感器上,并产生与该图像相应的信号。
相对于基于激光扫描引擎的条码读取器,基于图像传感器的光学读取器更耐久并提供了另外的特征。已整合到基于图像传感器的光学读取器的另外的功能是画面获取功能。已经开发出既能够获取画面又能对所捕获的图像数据中呈现的可解码符号进行解码的光学读取器。
数据形式(条码格式)从一维线性码到二维矩阵符号体系的演变,促进了一种伴生的需求,即对以更高的准确度、并且在相比以前更严格的环境条件下(如,低光强等级、更长的读取距离等)、在更短的时间中读取并解码更大量的数据的需求。这些挑战还要求设备使用容易且快捷,这可以通过读取器系统及方法的自动的自适应来部分地解决。作为一个示例,有关的读取器涉及与本申请共同让于的公开申请US 2004/0004128,通过引用将其全文结合在此直至法律和法规所允许的最大范围,该申请涉及1D/2D自动识别和读取器可重编程性(reprogramability)。
光学解码的光学读取器在对图像数据进行诸如条码符号学解码或者OCR解码的解码处理之前,将图像数据数字化。所公知地,用于将特定的图像数据集数字化的最佳的数字化算法取决于该图像数据的特征。举例来说,对于将在第一成像条件下的或者相应于第一符号类型的图像数据数字化有用的数字化方法,可能对于将在第二组成像条件下捕捉的或者相应于第二符号类型的图像数据数字化是无用的。
现有技术的技术人员认识到用于特定的图像数据集的最佳数字化方法可以根据该图像数据的特征而变化这样的事实,现有技术的技术人员的手段是对图像数据集使用多个数字化算法处理。例如,美国专利No.6082621描述了一种用于产生的“1”值和“0”值像素值的序列的模拟数字化器,其中模拟信号经过多个格雷(gray)-至-二进制转换阈值。如果对利用第一二进制转换阈值数字化的图像数据的解码失败,则利用第二二进制转换阈值将该图像数据再次数字化,并将其再次解码。如果解码再度失败,则利用第三二进制转换阈值将该图像数据再次数字化,如此进行。在使用反复解码尝试逼近方法的数字化方法中,首先尝试对于将最常遇到的图像特征数字化有用的数字化方法,而最后尝试最不常遇到的图像特征。
通过对罕见的图像特征数字化对图像数据进行解码,是将该图像数据在某一方法成功之前使用多个数字化方法和解码尝试。此外,如果图像数据集的符号表示是一种不能被解码的类型,仍然进行数次将该符号表示数字化并解码的尝试。因此,可以认识到,上述手段可能是极其花费时间的,并易于反复失败。
事实是大多数的读取器是设计来以固定的视场工作,或者换句话说,在固定的并且通常是有限的范围的读取器与码之间的距离上工作,由这样的事实说明了一个示例。如果在设计的读取范围外尝试条码读取,那么无论系统部件或者读取器算法都将不足以提供成功的首次读取尝试,从而最终导致商业上的不经济。除读取距离外,图像读取器还可以整合数字化器的算法,该算法对于不同条件如条码对比度、色彩对比度、由于运动引起的模糊、码生长(bar growth)(与着墨有关的问题)等来优化读取器,使得产生应用或者环境专用的图像读取器。因此,存在对进一步提升光学图像读取器操作的自适应性的需求。

发明内容
根据在此描述并要求保护的本发明的实施例,提供了一种光学图像读取系统(包括扫描和解码部件)和方法,本领域普通技术人员将认识到的,其适用于条码读取器、条码扫描引擎、便携数据终端(PDT)以及其他设备形态要素,其适用于多种对象环境和/或输入条件,并且通过它们得到改进的数据获取时间和数据获取准确度。在一个方面,该读取器将自动地适应不同读取条件或环境。
本发明的一个实施例涉及一种利用图像读取器获得可接受图像的过程。如在此所使用的,术语“可接受图像”是指满足成像装置控制算法所采用的信号对比度、亮度或其他图像特性的阈值标准的图像数据(即,1D或2D符号体系、文本、图像或其他标记);该图像数据是落在由该算法所提出的目标图像的配置容差要求中的一种。在一个方面,该过程包括利用适当的图像读取器获取初始图像(像素数据),该读取器以给定的帧速率工作,并基于信号电平分析计算新的帧速率。在一个方面,新的帧速率就是最大帧速率。在此贯穿始终使用的术语“最大帧速率”是指支持计算的或其他的期望的曝光时间/信号增益值的图像传感器的最高工作帧速率,并且这使得获取可接受图像。根据一个方面,该方法涉及动态地调整帧速率从而实现最大帧速率的步骤。然后对该可接受图像由系统进行解码或否则进行另外处理可接受图像。
本发明的另一实施例涉及一种图像读取器/解码器所采用的算法。设计该算法以评估所获取的图像的特定图像特性,以及确定图像传感器是否在以最快帧速率工作。然后这一确定的结果可以成为计算支持新的帧速率的新的曝光时间和增益值的基础,该新的帧速率在某一方面来说是用于获得可接受图像的成像器的最大工作帧速率。
本发明的另一实施例涉及一种包括工作连接到计算机的图像传感器的数字图像读取系统,该计算机能够动态地改变图像传感器的帧速率以获取可接受图像。在多个方面中,该图像读取器能够读取/解码/显示1D或2D符号体系和/或合成图像。
本发明的另一实施例涉及一种包括具有多个数字化器的图像读取部件的数字图像读取系统,在一个方面,采用多个数字化器的图像读取器能够在不同图像读取参数的多种参数范围上工作,这些参数可以超出操作人员的控制变化并不利地影响图像获取。多个数字化器共同地使得读取器在比单个数字化器所允许的更大或者更强的条件范围上工作。在多个方面中,所述数字化器是采取已知数字信号处理算法的基于硬件的数字化器,或者替换地,是基于软件的数字化器。在多个方面,将所述多个数字化器配置成并行运行,或者替换地,顺序运行,或者时间与预定的滞后时间交迭地运行,使得多个数字化尝试所需的总的处理时间等于,或者快于单个数字化器图像读取器或者对图像参数接连使用多个数字化算法的读取器所需的处理时间。
所有上述的设备和过程的实施例可以利用具有固态图像传感器的手持的数据形式(条码或其他符号体系)读取设备来进行。
从优选实施例以及相关附图的详细说明中,所实现的本发明的这些和其他细节、优点和益处将变得显而易见。


为更好地理解本发明的这些内容和目的,将参阅本发明下面的需参考附图来阅读的详细说明,其中图1说明根据本发明实施例的在一操作环境中使用的读取器;图2a-2i示出根据本发明实施例的各种光学读取器形态要素;图3a-3d示出根据本发明实施例的成像模块的各种视图;图3e和3f示出根据本发明实施例的在选择工作模式中可以采用的图形用户界面;图4a-4e示出光学读取器的框图,其中整合了本发明的实施例;图5示出根据本发明实施例的光学读取器的存储器映射图;图6是根据本发明实施例的电子电路的框图;图7a和7b示出了说明根据本发明实施例的帧速率调节算法的流程图;图8示出根据本发明实施例的电子卷帘式快门(electronic rollingshutter)的时序图;图9a-9d示出说明根据本发明实施例的线性解码模式的可能实施例的各种时序图;图10示出根据本发明实施例的光学读取器网络;
图11a-11e是示出说明根据本发明实施例的各种工作模式的流程图;图11f和11g是与根据本发明实施例捕捉的图像数据的捕捉的帧相应的柱状图;图12示意地示出根据本发明实施例的数字图像读取系统;以及图13示出根据本发明实施例的示例性的多个数字化器的参数范围。
具体实施例方式
图1中示出了根据本发明实施例的光学读取器10。在一个示例性的方面,采用读取器10来对条码1010进行解码,比如包裹1012上的条码。在“画面获取”模式方面,采用读取器10来获取载有条码1010的包裹1020、或者存储容器、或者拖车厢或签名或面部的画面。在自动成像模式方面,读取器10捕捉图像、将该图像分类、并以取决于该图像分类的方式来处理该图像。
图2(a-i)示出了本发明的实施例中可以采用的用于光学读取器的机壳的示例。在图2a中,示出了如提交于2003年1月9日、题目为“Housing For Optical Reader”(光学读取器的机壳)、序列号为10/339275的未决专利申请所述的枪式光学读取器,在此将申请全文引入以作参考。读取器机壳11中整合有成像模块(如图3a-3d所示)。在图2b中,示出了具有集成的键盘13k和显示器13d的枪式读取器10。在图2c、2d和2e中,示出了具有键盘13k和显示器13d的便携数据终端(PDT)式读取器。在图2e中,示出了其中显示器13d包括关联的触摸屏覆层,并且其进一步包括用于输入签名信息的触笔的实施例。在图2f中,示出了具有显示器13d和键盘13k并且其整合有如图3(a-d)所示的成像模块的蜂窝电话。在图2g的实施例中,读取器10包括个人数字助理(PDA)。在图2i的实施例中,读取器10是包括读卡器240的交易终端的形式,如提交于2003年1月9日的、题目为“Transaction Terminal Comprising Imaging Module”(包括成像模块的交易终端)、序列号为10/339444的美国专利申请所述,在此将该申请全文引入以作参考。许多其他的形态要素也都是可能的。例如,在提交于2002年3月7日、题目为“Optical Reader Imaging Module”(光学读取器成像模块)、序列号为10/092789的美国专利申请中,示出了笔式光学读取器,在此将该申请引入以作参考。在提交于1999年11月2日、题目为“Indicia Sensor System For Optical Reader”(光学读取器的标记传感器系统)、序列号为09/432282的美国专利申请中,示出了基于“扫描台”的读取器,在此将该申请引入以作参考。本发明的实施例并不限于这些示例性的形态要素。
参考图3a-3d来说明可以整合到读取器机壳中来形成光学读取器的成像模块50。示例地,成像模块50可以是可从Skaneateles Falls,NY的Hand Held Products,Inc.获得的类型的IT4000型成像模块。可从HandHeld Products,Inc.可获得的IT4000成像模块可以与相关的解码电路一起获得,所述解码电路可以被触发来对所捕捉的图像内的诸如条码标记的可解码标记进行解码。作为选择,成像模块50可以是也是从HandHeld Products,Inc.获得的带有相关解码电路的IT4200型成像模块。如本领域普通技术人员将了解的,也可以获得同时支持整合有基于CCD、CID和CMOS的图像传感器的1D线性读取器和2D读取器的其他成像模块型号和品牌。在示例性的实施例中,成像模块50包括支撑件80,其具有容纳整合在芯片182上的图像传感器32的容纳件81;以及护圈(retainer)部分82,其持有通过透镜镜筒提供的透镜组件40。透镜组件40包括将来自衬底的图像(见图3b)聚焦在图像传感器32上的一个或多个透镜。在实施例中,配置透镜组件40使得模块50具有小于两英尺的固定的最佳聚焦接收距离(如,3英寸、5英寸、7英寸、15英寸)。配置透镜组件40使得模块50具有小于两英尺的最佳聚焦接收距离,允许模块50在近程捕捉高分辨率图像,从中能够容易地对可解码标记进行解码。如提交于2002年9月23日、题目为“Long Range1-D Image Reader”(远距1-D图像传感器)、序列号为10/252484的美国申请所述的,还可以配置模块5,使得模块50具有数英尺的最佳聚焦距离,如5英尺或更高,在此将该申请全文引入以作参考。模块50还可以包括可调节的透镜组件以提供可调节的最佳聚焦接收距离。
参考模块50的进一步的方面,携载图像传感器182的第一电路板14a和瞄准LED 18安装在支撑件80的后端,而携载照明LED 16的前电路板14b安装在支撑件80的前端。携载瞄准和照明光学件的光学板26设置在第二电路板14b前。支撑成像模块50的各种部件的是多个导电支撑端口84。如图3d中所示,支撑件80可以包括辅助模块10内的模块50的安装的集成的安装翼部80W。成像模块50在被安装在读取器机壳11中之前,完整组装成基本如图3a和3b中示出的形态。在提交于2002年3月7日、题目为“Optical Reader Imaging module”(光学读取器成像模块)、序列号为10/092789的美国专利申请中描述了模块50的进一步的方面及其多种变化,在此将该申请全文引入以作参考。
参考图3b,照明LED 16与包括漫射器27的照明光学件一起将照明图案投射在衬底上。在正常工作距离上的照明图案1216基本上与成像模块50的视场对应。瞄准LED 18与瞄准光学元件43、25一起将瞄准图案投射到衬底上。瞄准图案1218辅助关于目标的成像模块的排列。如果移动读取器10使得瞄准图案位于诸如图3b中所示的条码的目标标记1010上,则能强有力地保证目标标记94是在成像模块50的视场内。
图4a-4e示出了说明多种光学读取器的框图。参考图4a,单态光学读取器10a包括读取器处理器组件30和照明系统31。读取器处理器组件30捕捉目标T的组件,对该目标的可解码符号进行解码来产生消息,并将该消息发送到将在此说明的主机处理器组件。
图4a的读取器处理器系统还包括可编程控制电路40s,其包括集成电路微处理器42和专用集成电路(ASIC 44)。也可以通过现场可编程门阵列(FPGA)来提供ASIC 44的功能。处理器42和ASIC 44都是可编程控制器件,其能够根据存储在存储器单元45-1中的存储的程序接收、输出和处理数据,所述存储器单元可以包括诸如读/写随机访问存储器或RAM 46-1以及可擦除只读存储器或EROM 47-1的存储器部件。RAM 46-1典型地包括至少一个易失性存储器器件,但可以包括一个或多个长期非易失存储器器件。处理器42和ASIC 44还都连接到公共总线48-1,通过该总线可以在任一到达连接于此的任何电路的方向接收和发送包括地址数据的程序数据和工作数据。但是,处理器42和ASIC 44在如何制造他们和如何使用他们上彼此是不同的。
更具体地,处理器42优选是通用目的的现成的VLSI集成电路微处理器,其具有对电路系统的整体控制,但是其使用其大多数的时间来根据EROM 47-1中存储的程序数据对可解码数据进行解码,比如RAM 46-1中存储的符号体系或文本字符数据。另一方面,ASIC 44是专用目的的VLSI集成电路,例如可编程逻辑或门阵列,其被编程以将其时间用于执行解码图像数据之外的功能,并从而减轻处理器42执行这些功能的负担。
处理器42和ASIC 44之间工作量的实际划分,很自然地取决于可获得的现成的微处理器的类型、所使用的图像传感器的类型、成像组件33输出图像的速率等。但是,从原理上来说,并不要求在处理器42和44之间进行工作量的任何具体的划分,或者甚至不用进行这样的划分。如图4a所示的处理器架构类型,处理器42和ASIC 44之间工作量典型的划分如下。在一个方面,一旦图像数据已存储在RAM 46-1中,处理器42涉及响应被激活的触发器13t对图像数据进行解码,并响应触发器13t的动作根据光学字符识别(OCR)方案识别所存储的图像数据中呈现的字符。ASIC 44涉及控制图像获取过程、A/D转换过程以及图像数据的存储,包括经DMA通道访问存储器46-1和47-1的功能。ASIC 44还可以执行许多时序和通信操作。例如,ASIC 44可以控制LED 22的照明,图像传感器32和模拟-到-数字(A/D)转换器36-1的时序,通过以接口37-2示出的RS-232、例如以太网的网络、例如USB的串行总线、无线通信链路(或其他)兼容的I/O接口发送数据到组件30外的处理器系统和从该处理器系统接收数据。ASIC 44还可以控制用户可感知的数据经由输出设备的输出,所述输出设备诸如听觉输出设备14a、读取良好LED 14g和/或通过例如显示器14d的液晶显示器而提供的显示监视器。输出、显示和I/O功能的控制也可以通过总线驱动器I/O接口37-3在处理器42和44之间分享,或者通过微处理器串行I/O接口37-1和接口37-2在处理器42和44之间复制。如先前所解释的,工作量的这种划分的具体细节对本发明来说并不具有重大意义。
图4b示出光学读取器的示例性框图,其适于接收控制指令使得读取器的操作程序产生变化。除具有图4a的单态读取器的元件之外,读取器10b还包括用于输入包括指令数据的数据的键盘13k以及用于向操作人员显示文本和/或图形信息的显示器14d。如所示,键盘13k可以连接到总线48-1、ASIC 44或者连接到处理器42。如图4b的特定实施例中所示的,显示器14d可以连接到ASIC 44、到处理器42或者到系统总线48-1。
操作光学读取器10b的操作人员可以以三种不同方式来重新编程读取器10b。在重新编程读取器10-b的一个方法中,操作人员启动键盘13k的控制按钮,该按钮被预先配置成使读取器10b重新编程。在重新编程读取器10b的另一方法中,操作人员启动没有与读取器10b集成的处理器系统的控制,来发送指令以对读取器10b重新编程。根据重新编程读取器10b的另一方法,操作人员移动读取器10b使得“菜单符号”处于图形传感器32的视场中,并然后激活读取器10b的触发器13t来捕捉菜单符号的图像表示。菜单符号是特别设计的条码符号,当其被适当配置的光学读取器读取时,从而导致对读取器编程。在公共转让的美国专利No.5965863中详细说明了利用菜单符号对光学读取器进行重新编程,在此将该专利引入以作参考。由于上述方法的第二和第三个方法并不要求启动键盘13k的读取器控制按钮,但仍然导致对读取器重新编程,故可以看出读取器可以是无键盘的但仍是可重新编程的。
图5中示出了由图3b中所示的光学读取器典型地执行的应用操作程序的典型软件架构,其说明了程序存储器47-1中存储的程序的存储器映射图。应用操作程序60使读取器适于具体的应用。具有图像捕捉功能的光学读取器成像器件的三种主要应用是(1)条码符号体系解码;(2)光学字符识别;以及(3)签名捕捉。在条码符号体系解码应用中,可以初步地分析并然后对与条码符号相应的消息进行解码。在字符识别应用中,读取器10可以定位可解码的OCR字符,然后执行OCR算法来对与该OCR字符相应的消息进行解码。在签名捕捉应用中,读取器10可以捕捉与具有签名的场景(scene)相应的图像,从图像数据中分析出与签名相应的图像数据,并将所捕捉的签名数据发送到另一处理系统。可以看到这些应用的第三个能够由不是配备有解码能力的光学读取器解码器的光学读取器成像器件来执行。当然,许多的其他应用操作程序也是可能的,包括专用的1D解码应用,专用的2D条码解码算法、混合条码解码、OCR解码应用,其根据在所捕捉的图像中呈现的内容操作来对可解码的条码符号或者OCR可解码的文本字符进行解码。
现在参考操作程序60的软件架构的特定方面,程序60包括指令部分62以及参数部分64。进一步地,指令部分62可以包括可选例行程序部分62s。指令部分62的指令控制读取器10的操作的总体流程。指令部分62的某些指令引用来自参数部分64的参数表的参数。指令部分62的指令可以以伪代码来说明,例如“Set illumination to leveldetermined by[value in parameter row x]”(将照明设置到由[参数行x中的值]所确定的水平)。当执行指令部分62的这种指令时,控制电路40可以读取参数行64x的值。指令部分62的指令也可以使得执行依据参数部分64的参数值而选择的可选例行程序。举例来说,如果应用程序是条码解码算法,那么指令部分62的指令可以用伪代码来说明,例如,“Launch Maxicode decoding if Maxicode parameter of parameter row64y is set to‘on’”(如果参数行64y的Maxicode参数被设置为‘on’则启动Maxicode解码)。在执行这样的指令时,控制电路40轮询(poll)参数部分64的行64y的内容,以确定是否执行该指令所调用的例行程序。如果该参数值表明激活该可选例行程序,则控制电路40执行例行程序指令部分62s的适当指令以执行该指令例行程序。
因而,可以看出,上述的软件架构便于简化读取器10的重新编程。可通过改变程序60的参数部分64的参数即可简单地重新编程读取器10,仅简单地通过改变参数部分64的参数而无需改变子例行程序指令部分62s或者指令部分62的任何其他代码。可以通过经由键盘13k输入的适当的用户控制、通过读取配置来使参数部分64变化的菜单符号、或者通过经由除系统40-1之外的处理器系统下载新的参数值或表,来改变部分62的参数值的参数。当然,读取器10b的重新编程也可以通过从除系统40-1之外的处理器系统下载包括部分62和64的整个操作程序来实现。读取器10也可以具有如提交于2003年3月28日、题目为“Customizable Optical Reader”(可定制的光学读取器)的美国申请No.10/402885所述的定制和重新编程功能,在此将该申请引入全文以作参考。
图4c中示出光学读取器的另一典型架构。读取器10c包括处理器系统40s1,以及包括集成主机处理器40hp和相关存储器45-2的主机处理器系统40s2。此处的“主机处理器系统”是指任何处理器系统,其存储传输到控制读取器成像系统33的操作的处理器系统的读取器应用操作程序、或者行使对控制读取器成像系统33操作的处理器系统的监督控制、或者将一个以上的在接收到用户的命令时可立即执行的应用操作程序存储在其相关存储器中的存储器系统。在具有两个诸如处理器42和处理器40hp的处理器的读取器中,处理器42通常专用于处理图像数据以对可解码标记进行解码,而处理器40hp专用于指令处理器42执行解码操作、接收来自触发器13t和键盘13k的数据、协调显示和通过输出设备14d、14g和14a的其他类型的输出、以及控制不同处理器系统间数据的传输。
在图4c中示出的具有专用解码处理器系统40s1和强大的监控的主机处理器系统40s2的架构中,主机处理器系统40s2通常已在其上存储有操作系统,例如,可从Microsoft Inc.获得的DOS WINDOWS或者WINDOWS,或者特别定制用于便携设备的操作系统,如WINDOWSCE。在主机处理器系统40s2包括诸如DOS或WINDOWS CE的操作系统的情况下,控制主机处理器系统40s2操作的操作程序的指令部分和参数部分一般是以高级编程语言编写的,并在存储到存储器47-2中之前通过编译器编译,并因而如图5中所示的程序60所示意的,可以不驻留在连续的地址位置中。然而,具有集成于其上的操作系统的主机处理器系统40s2能够容易地将操作程序编译成用于加载到不具有存储于其上的操作系统的外部处理器系统的形式。
参考读取器10a、10b以及10c的进一步的方面,至少一个I/O接口,如接口37-1、37-2和37-3,便于局部的“有线”数字通信,例如RS-232、以太网、包括通用串行总线(USB)的串行总线或者局部的无线通信技术,包括“蓝牙”通信技术。同时,至少一个诸如接口37-3的I/O接口,便于以包括拨号、ISDN、DSL、蜂窝或其他RF技术、以及线缆的可用远程通信技术之一与远程处理器系统41-1数字通信。远程处理器组件88-1可以是如组件88-2、88-3和88-4、链路88L以及中继器88H所示意的处理器系统的网络88N的一部分,例如连接到网络的个人计算机或主机型计算机(main frame computer),或者仅与读取器10c通信且不是网络的一部分的计算机。系统88-1所隶属的网络88N可以是因特网的一部分。并且,组件88-1可以是该网络的服务器,并可以整合有提供该网络的其余的处理器组件浏览的网页。除与读取器10c通信之外,系统88-1还可以与多个另外的读取器10’和10”通信。读取器10c可以是局域网(LAN)的一部分。读取器10可以通过与系统88-1相关的I/O接口或者通过网络88N的I/O接口,如网桥或路由器,与系统88-1通信。尽管在图4a-4c中读取器10a、10b和10c被表示为分立的元件,但是应当理解,集成技术已使得在一个集成电路芯片上形成许多的电路元件成为可能。例如,利用目前的制造技术,在一小片硅上形成诸如部件42、40、46-1、47-1、37-2和37-1是很普通的。
此外,读取器10的处理器的数目通常对本发明并没有很重要的意思。实际上,如果使得处理器42足够快且足够强大,那么可以去除专用ASIC处理器44。同样地,关于读取器10c,如图4e的读取器10e的架构所示,可以提供单个的快且强大的处理器来执行由处理器40hp、42和44预期完成的所有功能。并且,应当理解,如果读取器10包括多个处理器,那么这些处理器可以经并行数据传送,而不是经串行总线48-1和48-2所示的串行总线来通信。另外,在处理器和存储器之间并不要求一一对应。图4c中示出的处理器42和40hp能够共享同一存储器,如存储器45-1。诸如存储器45-1的单个存储器为诸如处理器42和处理器40hp的多个处理器服务。
参考图4d的实施例,可以看出,不必将光学读取器10的全部电子元件都整合在便携设备机壳11中。读取器10-4的电子元件散布在一个以上的电路板上,这些电路板被整合在分立的设备机壳11和71中。应当理解,电路系统可以散布到另外的机壳中。图4d的实施例中的控制电路40整个被包括在机壳71中,该机壳71不是与便携设备机壳11集成在一起的。机壳71被示作通过个人计算机机壳来提供,但也可能通过其他类型的机壳来提供,比如收银机机壳、交易终端机壳或者诸如机壳11的另一便携设备的机壳。在位于PC机壳71内的EROM 47-1中存储至少一个用于控制成像组件33和用于处理从成像组件33产生的图像信号的操作程序。为便于未集成到便携机壳11的处理器系统处理从成像组件33产生的信号,应当在成像组件33和处理器系统之间建立高速数据通信链路。在图4d的实施例中,可以将I/O接口37-4和37-5以及通信链路39配置成根据USB数据通信协议来操作。图4d中所示的结构降低了读取器10d的便携部件的成本、重量和尺寸要求,所述便携部件在读取器10-4中是被容纳在便携机壳11内的部件。由于图4d的结构使得更少的部件被整合在易于损坏的读取器10-4的便携部分中,该结构增强了由机壳11限定的读取器10-4的便携部分的耐久性。
图4e的读取器通信系统具有与读取器10d一致的物理布局,但是对不同的操作进行了优化。系统67是这样的通信系统,其中读取器处理器系统40s与通过具有PC机壳71、键盘68d、鼠标68以及显示器68d的个人计算机68而提供的非集成在一起的本地主机处理器70s通信。假设链路67L是高速通信链路,则非集成在一起的本地主机处理器系统70s可以被编程来提供与读取器10d的处理器系统40s一致的功能。然而,尽管如待决申请序列号09/385,597(在此将该申请全文引入以作参考)所述的,由于读取器10e包括集成的处理器系统,这种编程通常是不必要的,但是,配置处理器系统40s使得能够通过主机处理器系统(在一个实施例中其是非集成在一起的)远程控制读取器10的特定部件如触发器13t,是有用的。因此,在如图4e中所示的读取器-主机通信系统中,非集成在一起的主机处理器组件68典型地被编程来提供从结合图4a-4d说明的读取器处理器系统中分离的功能。
如美国专利No.5965863中所述的(在此将该专利全文引入以作参考),通常由非集成在一起的本地主机处理器系统70s提供的一个功能来生成用于下载到读取器10中的操作程序。处理器系统70s典型地具有整合于其中的操作系统,例如WINDOWS,这使得操作人员能够利用图形用户界面开发操作程序。可能在如美国专利No.6161760(在此将其引入以作参考)中所述的键盘楔结构中,非集成在一起的本地处理器系统70s还能够被配置来从一个以上的读取器接收消息和/或图像数据。采用处理器处理也是方便的。例如,可以将电子表格(spreadsheet)程序整合在系统70s中,这对于分析来自读取器10e的数据消息是有用的。可以将图像处理应用程序加载到系统70s中,这对于编辑、存储或浏览从读取器10e接收的电子图像是有用的。配置读取器10e来协调通向和来自远程处理器组件88-1的数据通信也是方便的。因此,处理器组件68典型地包括I/O接口74-2,其便于与远程处理器组件,如图4c中所示的组件88-1的数字通信。
在图6中,示出了具有包括集成的帧抓取器(frame grabber)块148的多功能处理器IC芯片180的光学读取器电子电路的框图。图6中示出的电子电路100可以被用于如提交于2001年9月17日、题目为“Optical Reader Having Image Parsing Mode”(具有图像分析模式的光学读取器)的美国序列号09/954081中所示的单个2D成像模块光学读取器的控制,在此将该申请引入以作参考。
在一个示例性的读取器实施例中,电子电路100包括具有CPU141、系统RAM 142和系统ROM 143以及帧抓取器块148的控制电路140。电子电路100进一步包括如图3a-3c的物理形式的视图所示的典型地通过光敏阵列而提供的图像传感器32以及具有照明LED 16和瞄准LED的照明块160。图6的图像传感器32被示出为通过2D光电二极管阵列来提供。如果以1D图像传感器替换图像传感器32,那么瞄准LED 18和照明LED 16可以由一组LED构成。在所示的实施例中,在图像传感器IC芯片182中整合有图像传感器32,该芯片典型地进一步包括图像传感器电子电路块134。图像传感器电子电路块134包括用于控制图像传感器32的控制电路135、用于将从图像传感器32接收的模拟信号转换成数字形式的A/D转换电路136、以及有时也被称作振荡器的集成时钟137。可以理解,在这里引述的被描述为由控制电路140执行的功能也可以由控制电路40(图4a-4e)来执行。
如图6中进一步示出的,在多功能IC芯片180中整合有CPU 141和帧抓取器块148,该IC芯片除包括CPU 141之外,还包括许多其他的集成硬件部件。即,多功能IC芯片180可以包括显示控制块106、若干通用I/O端口116,若干接口块如USB电路块107以及便于RS 232通信的UART块108,便于红外通信(包括根据INFRARED DATAASSOCIATION7(IrDA7)(红外数据协会7,一个规定红外标准的同业协会)颁布的标准的通信)的UART块109,以及脉宽调制(PWM)输出块110。多功能处理器IC芯片180还可以具有其他接口,比如PCMCIA接口111、compact flash接口112以及多媒体接口113。如果读取器10包括显示器13d,那么显示器13d可以经显示接口106与芯片180通信。触发器13t和键盘13k可以经通用I/O接口116与芯片180通信。例如在提交于2002年5月2日、题目为“Optical Reader ComprisingKeyboard”(包括键盘的光学读取器)、序列号为10/137484的美国申请中,示出了具有显示器和键盘的物理形式视图,在此将该申请全文引入以作参考。多功能处理器IC芯片180可以是目前可获得的多功能IC处理器芯片的可获得的类型之一,诸如可从Motorola获得的Dragonball MX1 IC处理器芯片或Dragonball MXL IC处理器芯片、可从Texas Instruments获得的类型的DSC IC芯片、可从TexasInstruments获得的类型的O-Map IC处理器芯片、或者可从Sound VisionInc.获得的多种已知为Clarity SOC’s(如,片上系统)的多功能IC处理器芯片。
在一个实施例中,多功能处理器IC芯片180包括有至少提供由CPU 140、系统RAM 142和系统ROM 143所提供的功能的部件。在某些实施例中,基于微处理器的解码器模块180包括集成电路设备,该设备具有其中集成的微处理器、模拟-数字转换器、数字-模拟转换器、直接存储器访问(DMA)通道、用于与传感器通信的双向通信线路如线路151和152的任何一个或两者,以及用于从传感器接收数据的通道,如将数据送到帧抓取器148的数据线159。基于微处理器的IC芯片180可以包括半导体材料、光学材料以及光子带隙材料。在某些实施例中,该多功能处理器IC芯片180进一步包括适于接收用户输入(例如从键盘13k)的I/O 116,用于闪存设备如“Multimedia”(MMC)、“Smart Media”、“Compact Flash”以及“Memory stick”的接口能力。其他特征可以包括脉宽调制器(PWM)、串行通信通道(如,UART、SPI和USB)、诸如用于LCD的显示驱动器以及控制器、诸如蓝牙以及与802.11(a),(b)和(g)兼容的发射器/接收器的无线通信能力、诸如定时器组(timer bank)的时序控制模块、传感器控制器、音频发生器、音频编码器/解码器(编解码器)、语音合成器以及语音识别硬件和/或软件。
IC芯片180的帧捕捉器取代了帧抓取现场可编程门阵列(FPGA)的功能,该FPGA如提交于2001年9月17日、题目为“Imaging DeviceHaving Indicia-Controlled Image Parsing Mode”(具有标记控制的图像分析模式的成像设备)、序列号为09/954081的公共转让的申请,以及提交于2001年7月13日、题目为“An Optical Reader Having a ColorImager”(具有彩色成像器的光学读取器)、序列号为09/904697的申请中所述,在此将此二申请全文引入以作参考。更具体地,帧抓取器148是特别调整的硬件元件的集合,其被编程来以视频速率或更高的速率来执行从图像传感器芯片182接收数字化的图像数据和将数字化的图像数据写入RAM 142的处理,该RAM 142在所示的实施例中被设于分立的IC芯片上。帧抓取器块148包括被预先配置的硬件元件以便于图像帧捕捉。帧抓取器块148能够由用户来编程,以根据用户的系统设计要求来捕捉图像。用于对帧抓取器块148编程的编程选项包括一些选项,其使得块148能够被定制,以便于帧捕捉,所述帧捕捉根据图像传感器特性,比如图像传感器分辨率、时钟输出额定值(clockoutrating)、以及制造技术(如CCD、CMOS、CID)、维数(1D或2D)、色调(从1到N比特)、色彩(单色或彩色)、生物统计特征(biometricfeature)而变化,所述生物统计特征诸如指纹、视网膜图样、面部特征以及能够提供信息的一维和二维图样,比如混合物质的色谱分析图样和电泳图样,所述物质包括诸如包括DNA的生物学样品。在提交于2003年1月9日、题目为“Decoder Board For An Optical Reader UtilizingA Plurality Of Imaging Formats”(用于采用多种成像格式的光学读取器的解码器板)、序列号为10/339439的美国专利申请中,描述了适合于以随附于其上的传感器而定的方式操作的解码器板,在此将该申请引入以作参考。
现在说明在电路100将图像数据捕捉到RAM 140中时电路100的操作的各个方面。电路100能够执行这样的循环接收图像数据帧,进行内部编程功能,以及在小于或等于一秒的时间周期中对该图像数据帧解码。在一个方面,电路100在小于或等于1/30秒的时间周期中执行该循环。在另一方面,该时间周期可以小于或等于1/270秒。当触发器13t被扳动时,在存储于系统ROM 143的程序的操作下,CPU 141经通信线路151将图像捕捉使能的信号写入到图像传感器芯片182。如同在此所述的其余通信线路,线路151表示一个或多个物理的通信线路。在所示的实施例中,其中图像传感器芯片182是可从IC Media Corp.获得类型。采用芯片180的I2C接口115以便于与芯片182的通信(如果选择其他的图像传感器芯片,那么也可以采用其他接口,如接口116)。在图像捕捉期间可以通过线路151发送其他类型的信号。线路151可以携载诸如时序初始化、增益设置以及曝光设置的信号。
当图像传感器182的控制块135接收图像捕捉使能指令时,控制块135发送多种类型的信号到帧捕捉器148。图像传感器控制块135在捕捉图像数据的帧期间典型地发送多种类型的同步信号到帧捕捉器148。具体地,控制块135可以向帧抓取器块148发送“帧开始信号”,其通知帧抓取器块148芯片182已准备好发送新的图像数据帧;“数据有效窗口”信号,其指示一行图像数据有效的期间;以及“数据获取时钟”信号,其由时钟137所建立,以控制图像数据捕捉操作的时序。在所述实施例中,线路152表示三种物理通信线路,每一都携载一种上述类型的信号。在可供选择的实施例中,由帧抓取器来处理垂直和水平同步信号,以内部地产生数据有效窗口信号。通过在块148的集成的RAM 149内建立缓冲存储器位置以用于通过数据线159从图像传感器芯片182接收的图像数据的临时存储,帧抓取器块148适当地相应各同步信号。在将图像数据帧捕捉到系统142中的期间的任何时间,帧抓取器块148的缓冲器RAM 149可以存储部分(如大约0.1到0.8)或整行的图像数据。
在下文中,将对接收或捕捉满足成像器控制算法采取的信号对比度、亮度或其他图像特性阈值的图像数据帧(例如,1D或2D符号体系、文本、图像或其他标记)的处理,称作获得可接受图像。因此,可接受图像是那种落在该算法提出的目标图像要求的配置容差内的图像。能够影响如何获得可接受图像的因素有很多。例如,在成像环境中的周围光照程度、目标距成像器的距离、目标的对比度特性、以及其他能够影响获得的图像质量的因素。图像读取器中的成像器控制算法的质量可以通过其利用多配置设置以及在获取可接受图像时调节其自身以适应多种成像条件的能力来度量。因此,可以通过在任何给定的扫描环境中成像器控制算法能够多快地配置成像器来获取可接受图像,来进一步测量该算法的质量。
本发明的实施例针对这样的过程,该过程利用涉及单独调节或者结合信号增益和/或曝光时间参数来调节成像器的帧速率的图像读取器来获得可接受图像。在该实施例的一个方面,通过配置成像器自动地调节帧速率,或者可供选择地,通过操作支持硬件来手动调节。在一个方面,该过程针对以成像器的最大帧速率来获得可以接收的图像。在此,最大帧速率被定义为支持用以获得可接受图像的期望的曝光时间和信号增益的最高帧速率。
本领域普通技术人员将理解,数字成像器的帧速率常常是可以配置的。成像器能够以硬件和/或成像芯片的软件所支持的多个帧速率其中之一来运行。例如,Toshiba TCD1304AP一维数字图像读取器能够以快至270fps的帧速率运行,也能够以外部硬件所允许的慢速运行。例如,二维成像器如IC Media 105A能够以快至30fps的帧速率运行,也能够以慢至1fps的帧速率运行。取决于成像器,帧速率实际上能够在每帧几秒到超过1000000fps之间变化。在特定的图像传感器中,可以通过在其自身部分上的配置寄存器来对芯片的帧速率配置来编程。例如,IC Media 105A具有配置寄存器,该寄存器能够被设置成使成像器以30fps、20fps、15fps、10fps、6fps、5fps、4fps、3fps、2fps或1fps的帧速率运行。对选定的帧速率,可以将曝光时间(即,像素被允许获得充电的时间)配置成非常接近单个帧时间本身。因而,20fps的帧速率将产生大约50ms的最大帧时间。
随着光学系统尺寸持续缩减,在特定的环境下,更少的通过系统的光传输,或者给定图像传感器的更低的灵敏度,能使得即使给定的帧持续时间的最长可维持曝光时间也不足以获得充分的图像亮度、对比度和可接受图像的其他特性。因此,在这些情况下,将帧速率调节低至提供更长曝光时间的值,是有利的。但是,仍希望系统运行得尽可能快。
在图7中的流程图11800中,说明了利用图像读取器以最大帧速率获得可接受图像的示例性过程。在块12100中,读取器被设置为增益、曝光时间和帧速率的初始值。在一个方面,下一个出现的读取器的使用将采用以获得最后的可接受图像的邻近先前设置。可供选择地,可以设置帧速率、曝光时间和增益的预定的默认设置。在读取器起动时,在块12110获取图像。在块12120,基于图像特性如信号电平、对比度以及其他特性来评估图像。在块12130,确定成像器是否在以其最快的性能在工作。
如果确定成像器在以其能够的最快帧速率在运行,该过程经12140进行到块12180的进一步确定是否获取的图像需要更多的照明度,并且如果是的话,则确定对于工作帧速率,成像器中的曝光和增益设置是否被设置在最大。如果在步骤12180的确定是该图像不需要更多的照明度(并且可能需要更少),或者是曝光和增益设置没有在最大值,那么,在块12220计算新的曝光和增益设置,其至多是对于工作帧速率的最大值。然后该过程进行到步骤12230,来确定图像是否满足成像器控制算法所要求的标准。如果是,则在块12240,使该图像可用于系统,以用于解码、输出、签名捕捉或其他用途。如果在块12230的确定是否定的,则在块12250,控制电路400将新的曝光和增益设置发送成像器,并在块12110获取另一图像,重复该过程。在此顺便提及,由于潜在可能的设备限制,可以通过控制电路140将成像器配置成从高的曝光设置逐帧到低的曝光设置,但是从低的曝光设置变化到较高的曝光设置的能力可能是受限制的。由于IC Media的硬件限制仅提供了在每一帧期间延长一定量的曝光,因而在一个方面来说,这有利于以较快帧速率延长曝光。如此,在调节帧速率时,仅需要降低曝光设置,这能够逐帧地进行。此外,如果意图采用除帧速率调节之外的可用的所有选项(即,使曝光和增益设置最大化),那么可以将采取帧速率调节作为最后选择。出于多种原因这可能是期望的。例如,当帧速率降低时,成像器运行较慢。作为一般的规则,越快越好。另外,随着曝光时间变长,与运动有关的模糊可能成为一个问题。因而,在一个方面,甚至在成像器的帧速率减慢时,将设置最大允许增益。以此方式,在较低帧速率使曝光时间维持尽可能短的一持续时间。因此,在块12220,对于最快帧速率操作调节曝光和/或增益设置。
从块12180开始,如果控制单元140确定图像确实需要更多的照明度以及曝光和增益设置早已处于最大,那么控制电路将调节减小帧速率以获得较亮的图像。在块12190,控制电路计算将提供期望的照明度水平的新的曝光时间,而将增益留在最大设置,以便采用最短的曝光时间。在块12200,进行计算以确定能够支持该新的曝光时间的最快帧速率。然后,该最快帧速率将称为最大帧速率。一旦在块12200确定了最大帧速率,则在块12210计算新的曝光设置,以将该曝光时间反映在新的、最大帧速率上。然后该过程以上述的顺序进行至步骤12230。
回到在块12130的对以小于成像器的最快帧速率能力的帧速率获取图像的确定,引导到块12150、12160和12170,其分别与块12190、12200和12210一致。也就是说,在块12150,计算将给出期望的图像照明度的曝光时间。在块12160,计算支持这一曝光时间的最快帧速率,并然后在块12170,计算支持该新的曝光时间的曝光设置。在块12170之后,过程进行至判定块12230,并如上所述地继续进行。根据该实施例,在以除成像器的最快帧速率能力之外的帧速率获取图像时,控制电路140提供计算来确保帧速率得以优化。
再次参考判定块12230,实际上该判定是判断所获取的图像是否“足够好”以使其可用于系统的其余部分如用于解码、输出、签名捕捉或其他应用。在某些情况下,成像器控制将具有非常具体的具有较小容差的标准,以用于接收仅落入较窄的变化窗口内的图像。在其他情况下,成像器控制可以不具有任何标准,使得将图像传递给系统而不管质量。在块12250,将该新的、计算的设置通信给设备。就这点而言,根据传感器的类型和结构可能需要不同的考虑。举例来说,在ICMedia 105A照相机中,当进行曝光改变时,其在下一帧生效,并在随后的帧期间捕获的图像中可以看出。因而,如果这些变化在帧N和N+1之间进行,那么这些变化在帧N+1上生效,并在对帧N+2的传送期间可以看出这些变化。然而,改变增益设置会立即影响从成像器输出的数据。对于要应用到单个图像的特定曝光设置和增益设置,如果曝光设置被应用在帧N和N+1之间,那么增益设置可能需要在帧N+1和N+2之间应用,以提供在帧时间N+2期间输出的曝光和增益结果的数据。至于帧速率调节,如果速率是在帧N和N+1之间变化,则从帧N起的曝光设置是无效的,因为在帧N+1期间输出的数据不具有固定的曝光时间。因此,该帧应当被丢弃。
在本发明的一个示例性的方面,数字图像读取器采用IC Media105A 2-D数字图像传感器。这是一种基于CMOS的逐行扫描传感器(progressive scan sensor),其使用电子“卷帘快门”,参考图8示出该快门的操作。不同于基于CCD的成像器中典型采用的“抓拍快门”(snapshot shutter),该“抓拍快门”同时暴露阵列中的所有像素,利用卷帘快门的基于CMOS的传感器在时间触发的基础上来操作。卷帘快门允许相对于在像素或像素要转送出成像器时来获得单个像素的曝光时间(或像素组的曝光时间,比如单个行或选定的行的组的曝光时间)。在IC Media 105A成像器的情况下,在如5002所示的不同的、但交叠的时间周期期间,使每一行2502n的像素曝光。在操作中,例如,如果成像器被设置为Xms的曝光时间,那么每一行都将准确地在该行被产送出设备的时间前Xms开始其曝光周期。示例性的IC Media 105A成像器具有525行,然而仅其中的480行是采集光的有效行,其余的行或者是光屏蔽的或者是简单地填充(padding)。给定行传送出成像器所需的时间量(下文中,称作“行时间”),以及在给定行N的曝光开始时和行N+1的曝光开始时的时间之间的时间延迟量,是F/525,其中F是从一帧中给定点到下一帧中同一点的时间(也称作“帧时间”,其等于以时间为单位的1/(帧速率)),如5004所示。因此,如果该成像器被配置为以30fps的帧速率运行,则帧时间F将是1/30fps,或33.3ms,而这一图像的行时间将是33.3ms/525或63.5μs。如果,例如,该成像器被配置为以12fps的帧速率运行,则帧时间将是1/12fps或者83.3ms,而该图像的行时间将是83.3ms/525或159μs。
在该示例性的实施例中,通过I2C接口将曝光设置通信给IC Media105A传感器,并且以“行时间”为单位来配置曝光设置。在这一设备中,曝光设置可以是在1和524之间的值,表示像素的曝光时间可以为低至帧的1/525,以帧时间的1/25增量,到多至帧的524/525。这一关系确定了为何应当在配置新的曝光设置之前确定新的帧速率的计算。关于算法11800,在块12180评估当前图像的照明度,并通过基于当前的帧速率确定帧数率、建立行时间、并将其乘以用于当前图像的曝光设置,来计算实际曝光时间。利用公知的图像照度和曝光时间的关系,确定将满足期望的图像照度的新的曝光时间。给定这一期望的曝光时间,通过查找最快的帧速率来确定帧速率,其中,例如,如果使用524的曝光设置,将具有大于所期望的曝光时间的曝光时间。在确定该最快帧速率后,计算用于这一帧速率的行时间,并确定能得到曝光时间最接近所期望的曝光时间的曝光设置。例如,如果确定对于适当的照明度需要121ms的曝光时间,则支持所期望的121ms的曝光时间的最快帧速率将是6fps。这是取决于可用于该成像器的最大曝光时间。在采用IC Media 105A成像器的示例性实施例中,帧速率和相应的最大曝光时间如下在30fps,33.27ms;在20fps,49.9ms在15fps,66.25ms;在12fps,83.2ms;在10fps,99.8ms;在6fps,166ms;在5fps,199ms;在4fps,250ms;在3fps,332ms;在2fps,499ms;以及在1fps,998ms。因此,在6fps,行时间为(1/6fps)/525,或317μs。因而,用于获得尽可能接近121ms的曝光时间的期望的曝光设置是,所期望的曝光时间除以行时间,或者是121ms/317μs,即为382的曝光设置(这给出了121.3ms的实际曝光时间)。
进一步参考图6中的电路100的各个方面,电路100包括系统总线150。总线150可以经存储器接口如IC芯片180的EIM接口117与CPU 141通信。系统RAM 142和系统ROM 143也连接到总线150,并经总线150与CPU 141通信。在所示的实施例中,RAM 142和ROM 143又由分立的IC芯片来提供。也可以将系统RAM 142和系统ROM 143整合在处理器芯片180中。
除具有系统RAM 142之外,电子电路100还可以包括一个或多个长期存储设备,有时其也被称作“工作”RAM。电子电路100可以包括如“闪速”存储器设备120。对于这种闪速存储器,数个标准化的格式都是可用的,包括“Multimedia”(MMC)、“Smart Media”、“CompactFlash”以及“Memory stick”。闪速存储器设备以卡式结构方便可用,其能够通过与IC芯片180通信的适当的“插槽”电机械接口,连接到CPU 141。闪速存储器设备在读取器必须将许多的图像数据帧存档时特别有用。电子电路100还可以包括其他类型的长期存储,例如可以接口连接到总线150或者到处理器IC芯片180的适当I/O接口的硬盘驱动器。
在电子电路100的进一步方面,控制电路140被配置来控制照明块160的LED 16、18的“关断”和“导通”。控制电路140优选以与图像数据帧的捕获协调的方式控制照明块160。在至少一部分的帧捕捉周期期间,照明LED 16典型地处于导通。配置电路140使得LED 16、18具有“关断”周期,极大地降低了电路100的功耗。
在电子电路100的进一步方面,电子电路100能够被配置使得IC芯片180的PWM输出接口控制成像模块的照明LED,如模块10-1的照明LED 16或者模块10-2的瞄准/照明LED 18。
在一个实施例中,照明块160与PWM输出接口114通信,并被以这样的方式配置,即,在PWM接口114输出的PWM脉冲的上升沿(leading edge)处LED 16导通,而在PWM接口114输出的PWM脉冲的下降沿处关断。应当将PWM接口114配置成使得,在将与单个行的像素对应的像素值时钟输出之前,图像数据的该行像素被曝光的时间中,产生数个脉冲并经通信线路153i发送。因而,在使一行像素曝光的曝光周期期间,照明LED 16将导通和关断数次。此外,在单个行的像素被曝光的时间期间通过PWM输出114而输出的脉冲的数目应当基本不逐行变化。在IC芯片180的帧抓取器148接收的像素时钟信号可以被利用来产生PWM输出。因此,可以看出,具有帧抓取器块148和PWM输出114的多功能IC芯片180极大地简化了开发用于控制模块10的照明LED 16的PWM信号的任务。
在另一实施例中,配置PWM输出114和照明块160使得PWM输出114控制照明的强度,而不是照明的导通时间/关断时间。在这样的实施例中的照明LED块160可以包括电源电路,其接口连接到PWM输出114使得在PWM输出114处输出的PWM信号改变提供到LED 16的电压或电流。
在电子电路100的进一步方面,可以通过IC芯片180的通用I/O端口116经通信线路153a传输的信号来控制电路100的瞄准LED 18。可以对多功能处理器IC芯片180编程,以使得当帧抓取器块148完成捕捉完整的图像数据帧的过程时使瞄准LED控制信号变为“导通”状态。可以配置帧抓取器块148来在帧抓取器块148完成将完整的图像数据帧捕捉到RAM 142中时产生“获取结束”或“帧结束”信号。当CPU 141接收“获取结束”信号时,CPU 141控制I/O端口116来改变LED控制信号168的状态。控制电路140也可以在产生帧开始信号时改变LED控制信号168的状态。控制电路140可在改变信号168的状态之前延迟执行。控制电路140被编程使得LED控制信号168保留在“导通”状态足够短的持续时间,以便在随后的帧曝光周期期间不起动LED 18。以上述方式配置,在连续的帧曝光周期之间的期间,有选择地驱动使瞄准LED 18脉冲导通。在一个操作模式中,控制电路140在曝光周期期间有选择地使照明LED 16导通,在曝光周期之间的期间使其关断,而相反地在帧曝光周期之间的期间使LED 18导通,在曝光周期期间使其关断。对于用户,给定帧速率,衬底“s”(如图9a中所示)表现为即使在实际仅出现如图9b所示的瞄准图案1218和照明图案1216的一个或另一个的时刻,其上已同时投射有图案1216、1218。
出于节约能量和更均匀照明衬底s的目的,在帧曝光周期期间可以关断瞄准LED 18,然而发明人开发了一种操作模式,其中在帧曝光期间使瞄准LED导通是有利的。
可以配置控制电路140来以“线性解码”操作模式操作,其中将控制电路优化以用于读取1维条码(比如UPC/EAN,Code 39,Code 128,UPC,ITF,LED 1316)。参考图9a说明的包括时间线1400的线性解码操作模式的一个示例,在图9a中与曝光周期EXPN、EXPN+1、EXPN+2反向画出了瞄准LED控制信号1318和照明LED控制信号1616。在参考图9a说明的线性解码模式中,控制电路140在帧曝光周期EXPN、EXPN+1、EXPN+2期间使瞄准LED导通,并在控制电路140根据该线性解码模式在操作的全部时间中保持照明LED关断。因此,如图9a中所示,其中整合了模块50的读取器10的操作人员将观察目标衬底上没有投射照明图案1216的瞄准线1218。出于多种理由,在线性解码模式期间保持照明LED关断是有用的。在线性解码模式期间保持照明LED关断能节约能量。在线性解码模式期间保持照明LED关断还增强了用于对瞄准图案1218的关注。使瞄准LED 18导通增加了图像信号的信号强度,所述图像信号与表示在图案1218所照区域的像素位置对应,并帮助用户将读取器与要读取的符号对准。
可以将控制电路140和模块50配置成使得在线性解码模式中,控制电路140优先处理与瞄准图案1218所照目标衬底区域对应的图像数据。控制电路140能够通过以“部分帧模式”操作来处理与瞄准图案1218对应的区域内的图像数据,所述“部分帧模式”如提交于2001年1月22日、题目为“Optical Reader Having Reduced ParameterDetermination Delay”(具有降低的参数决定延迟的光学读取器)、序列号为09/766922的美国申请,以及提交于2001年1月22日、题目为“Optical Reader Having Partial Frame Operating Mode”(具有部分帧操作模式的光学读取器)、序列号为09/766806的美国申请中所述,在此将此二申请引入以作参考。控制电路140还能够通过捕捉完整的图像数据帧并然后通过读取与预期被瞄准图案1218所照的目标的区域对应的一行像素值开始解码尝试,来优先处理与瞄准图案1218所照区域对应的图像数据。在1D符号体系解码尝试期间读取一行图像数据有时也被有经验的人员称作“发起扫描线”(launching a scan line)。
参考图9b说明线性解码模式的另一实施例。在图9b所示的线性解码模式中,在曝光周期期间,瞄准LED 18与照明LED 16一起导通。在曝光周期期间LED 16和LED 18都导通的图9b的实施例至少由于其提供了捕捉高质量的二维图像是有利的。可以在一维符号体系解码尝试失败的情况下处理高质量的二维图像(如,对于1D解码、2D解码、OCR)。可以理解,可以通过如高速脉冲段1516、1518所示地在曝光周期期间快速导通和关断LED 16和18来表征在此所述的任何周期。
在图9a和图9b的示例中,在曝光周期EXPN、EXPN+1、EXPN+2之间存在延迟。参考图9c来解释在具有交迭的帧曝光周期的读取器中实现的线性解码模式。在使用特定类型的图像传感器,例如CMOS和CID图像传感器时,交迭的帧曝光周期是常见的。在参考图9c的信号-时间图1520、1530描述的实施例中,在曝光周期中瞄准LED 18被脉冲“导通”,而对于读取器以线性解码模式操作的整个时间,照明LED16被保持“关断”。可以配置控制电路140和模块50,使得在与LED18所照区域1218对应的像素行被曝光的时间期间,有选择地使瞄准LED控制信号1318脉冲“导通”。图9c的中的信号时间图1550和1560示出了在“正常”模式中的具有交迭的帧曝光周期的读取器的可能操作。信号时间图1550示出在“正常”模式中的瞄准LED 18的控制。信号-时间图1560示出在“正常”模式中的照明LED 16的控制。在具有交迭的帧曝光周期的读取器的“正常模式”中,在其中控制电路140捕捉图像数据帧的时间期间,照明LED 16可是导通的(实际上,LED16可以如图9b脉冲1516,1516所示地“闪烁”)。然而,控制电路140在以“正常”模式操作的同时,有选择地使LED 18导通和关断。具体地,在以“正常”模式操作的同时,在期望图像传感器32的中间的行被曝光的时间期间,控制电路140可以有选择地关断瞄准LED 18,以使得来自LED 18的光(被投射以限定瞄准图案1218)不影响图像传感器32的中间的行象素所产生的图像信号。因为根据信号-时间图1550,对于帧捕捉周期的主要部分,LED 18是导通的,因而图案1218表现为总是投射给用户。可以理解,与具有交迭的帧曝光周期和逐行帧捕捉的图像传感器结合的单行水平瞄准图案1218(与二维图案相反)的选择,简化了控制瞄准LED 18来投射可视图案1218而不存在来自LED 18的光影响图像传感器32所产生的图像信号的任务。
为便于比较,参考图9d说明根据正常模式操作的控制电路140,其中控制电路140被优化以用于对未知类型(1D或2D)的符号体系进行解码。在参考图9d说明的实施例中,在曝光周期EXPN、EXPN+1、EXPN+2之间有选择地使瞄准LED 18导通的同时,在EXPN、EXPN+1、EXPN+2期间使照明LED 16有选择地导通。如前述所暗示的,可以反复地使照明LED 16和瞄准LED 18脉冲导通和关断。因此,参考图9b,如高速控制脉冲1516所示的,在帧曝光周期EXPN、EXPN+1期间,能够快速地使照明LED 16脉冲导通和关断。类似地,如图9b的时序图401所示的高速控制脉冲1518所示的,可以快速地使瞄准LED 18脉冲导通和关断。
可以通过如图3e中所示的菜单显示图标1701的选择来配置读取器10,使其被驱动成线性解码模式。可以通过使用鼠标、轨迹球、摇杆(joystick)或移动箭头1702的其他指示器“点击”来选择该图标1701。如果显示器13是具有关联的触摸屏覆盖的触摸屏显示器,那么可以通过将压力施加到图标1701来选择图标1701。可以利用其他菜单界面来配置读取器10使其被驱动成线性解码模式。例如,可以将读取器10配置成在选择键盘13k的适当按键时开始以线性解码模式操作。还可以通过读取重编程“菜单符号”将读取器10驱动成线性解码模式,所述“菜单符号”如发布于1999年7月27日、题目为“Optical ReaderHaving Improved Menuing Features”(具有改进的菜单特征的光学读取器)的美国专利5929418所述,在此将该专利引入以作参考。还可以通过输入命令到非集成在一起的主机计算机来远程进行该线性解码模式的选择(例如,如图10中所示的,主机200、1802、1824、1834)。
在线性解码模式的一个实施例中,线性解码模式直到用户手动地选择另一操作模式才停止。在另一实施例中,在选择线性解码操作模式时配置读取器10来以线性解码模式操作,并然后在如果触发信号变为“导通”之后解码尝试失败时,则自动地切换到正常解码操作模式。在另一实施例中,在选择线性解码模式时配置读取器10来以线性解码模式操作,并然后在如果触发信号变为“导通”之后预定的时间没有成功解码符号时,则自动地切换到正常解码操作模式。可以基于帧速率来计算该预定的时间。也就是说,如果在捕捉了Y帧并使之经解码尝试,且解码仍未成功之后,则可以认为该预定时间已流逝。在如提交于1999年11月2日、题目为“Indicia Sensor System For OpticalReader”(光学读取器的标记传感器系统)、序列号为09/432282的美国专利申请所解释的,还可以在感测图像数据中的特征时使触发信号将状态改变为“导通”状态,在此将该申请引入以作参考。如在提交于1999年8月30日、题目为“Optical Reader System Comprising LocalHost Processor And Optical Reader”(包括本地主机处理器和光学读取器的光学读取器系统)、序列号为09/385597的美国专利申请中所解释的,通过来自非集成在一起的处理器系统M的通信使触发信号将状态改变为“导通”状态,在此将该申请引入以作参考。
参考图11a和11b来说明其中控制电路140被配置成以画面获取模式和解码模式操作的本发明的实施例。发明人观察到,在用于画面获取的成像器控制参数与用于解码的成像器控制参数之间作区分可能是所期望的。例如,对于画面获取,获取图像的速度通常不是重要的考虑因素。因而,可以以较少的人造光使用长的曝光时间。对于解码,图像捕捉的速度常常是很关键的。光学读取器的用户要求他们使用的读取器能快捷地对可解码的符号进行解码。因此,通常利用基本的人造光和更短的曝光周期来增强解码。
参考图11a的流程图,在块2202的画面获取模式或在块2204的解码模式之间的模式选择,导致到块2206和2208之间其一的分支,其中控制电路等待触发信号改变到“导通”状态(如前所述,可以手动地、手动远程地或自动地使触发信号切换到“导通”状态)。在块2210,控制电路140加载成像器控制参数。
这里所述的“加载成像器控制参数”步骤可以利用多种已知的编程方法中的任意一种来实现。控制电路140所执行的程序可以具有存储多个参数值的“参数表”,并且在程序执行的特定点,该程序可以调用一个或多个该参数表的参数。成像器控制参数的加载步骤可以通过改变程序的参数表的一个或多个值来实现。还可以通过改变一个或多个程序指针的目的物,或者通过任何其他的已知的用于生成重定向程序流程的命令的编程方法,来实现所述成像器控制参数的加载步骤。
在块2210加载的所述至少一个成像器控制参数可以采取多种形式。所述至少一个成像器控制参数可以是,(例如,曝光周期值、增益控制值、照明水平值(控制到LED 16、18的电流)、帧速率、初始曝光周期值、初始增益值、初始照明水平值(控制到LED 16、18的电流)或者初始帧速率)。在本发明的一个具体示例中,在块2210加载的参数是在画面获取模式期间建立由读取器的瞄准/照明系统所产生的零照明水平的参数(是在读取器操作来切断到LED 16、18的电流时的参数)。在利用LED 16、18“关断”捕捉图像时,可能增强在特定环境下的拍摄质量。
在块2210加载的参数也可以是,如在提交于2001年1月22日、题目为“Optical Reader Having Reduced Parameter Determination Delay”(具有减少的参数确定延迟的光学读取器)、序列号为09/776922的美国质量申请所述的曝光周期推导(development)方法中,用来调节在多个帧时间上的帧捕捉的特性的公式的变量,在此将该申请引入以作参考。为说明可能在块2210加载的公式变量类型的参数的示例,该变量参数可能是用来调节在多个帧时间上的帧捕捉的特性的公式的变量。在具体的示例中,可以基于目标帧白色值(white value)(其可以利用抽样像素白色值数据来计算)、观测的帧白色值、先前帧(帧N-M,M1)的曝光周期和变量之间的关系来计算下一帧(帧N)的曝光周期,其中该变量的值取决于是否选择画面获取模式或解码模式。在块2210加载的成像器控制参数还包括一系列的指令。例如,在块2210控制电路140可以改变程序指针或建立适当的调用或其他合适命令,从而安装特别用于画面获取模式的动态链接库文件(如.dll、.ocx或等效的文件类型)。在块2210,控制电路140可以安装执行用于控制(如,增益或曝光或照明)的第一算法的第一动态链接库(DLL)文件。在块2230(在解码模式中执行),控制电路140可以安装执行用于控制(如,增益、曝光、照明)的第二算法的第二DLL,其中该第二算法包括不同于第一算法的指令集。
在块2214,控制电路140采用在块2210加载的至少一个成像器控制参数来捕捉图像数据帧。例如,如果在块2210加载的该至少一个参数是具体曝光周期的单个参数,在块2214控制电路140采用在块2210加载的该具体曝光周期设置将图像数据帧捕捉到RAM 142中。可以理解,捕捉块2214实际上可以包括捕捉一个或多个图像数据的“参数确定”帧,捕捉所述的“参数确定”帧用于推导意图用于块2220输出的图像数据帧。
再次参考图11a的流程图,控制电路140在块2220输出在块2214捕捉的图像数据帧。在块2220输出图像数据帧可以以各种有用的方式实现。控制电路140可以在显示器13d上显示捕捉的图像,可以将该图像发送到主机200或网络1810(图10),或者可以将该图像发送到打印机以打印。
如果在块2204选择了解码模式,如前所述,控制电路140进行到块2208以等待触发信号改变为“导通”状态。在块2208触发信号改变为“导通”状态时,控制电路140以如同针对块2230所述的加载图像获取成像器控制参数的方式来加载至少一个解码模式成像器控制参数。在块2234,控制电路通过在块2230加载该至少一个成像器控制参数来将图像数据帧捕捉到RAM 142中。如参考捕捉块2214所述的,捕捉块2234实际上包括一系列的帧捕捉步骤,包括捕捉图像数据的“参数确定”帧。在块2238,控制电路140对可解码的符号进行解码。如发布于1999年7月27日、题目为“Optical Reader Having ImprovedMenuing Feature”(具有改进的菜单特征的光学读取器)的美国专利5929418中所解释的,应当理解,所述捕捉和解码步骤2234和2238可以包括一系列的帧捕捉和失败的解码尝试,直到所捕捉的图像数据帧中表示的可解码符号被成功解码,在此将该专利全文引入以作参考。在块2238开始的解码算法可以时条码解码算法。用于各种符号的各方面的解码算法是已知的,并且是公众可以获得的。AIM Inc.,自动识别和数据捕捉技术的协会,出版条码符号体系标准和通知。可以从AIMInc.的网站www.aimglobal.org获得各种条码标准。在块2238解码的符号除是条码之外还可以是,例如,如OCR字符的可解码的字符或指纹。可解码的符号解码的进一步的方面描述于先前引用的美国专利申请09/904647。
在块2242,在块2238上进行解码的解码符号是条码符号的情况下,控制电路140典型地以字符串的形式输出解码出的消息。该解码出的消息的输出可以通过在显示器13d上显示解码出的消息和/或将解码出的消息发送到读取器10外部的设备(例如,主机计算机200或网络1810)来实现。
参考图11d的流程图说明图像捕捉块2214的一个示例,其中在被捕捉以用于输出的帧之前,捕捉至少一个图像数据的“参数确定”帧以用于参数确定。
在块2304,控制电路140采用目前的曝光周期值来捕捉图像数据帧。如果在块2304捕捉的帧是在读取器10被驱动进画面获取模式中后捕捉的第一帧,则该曝光周期值可以是在块2210加载的并且被选择来产生高可视质量的初始曝光周期值(在块2304还可以应用或者替换地应用其他画面获取模式程序输入,如增益或照明水平)。在块2306,控制电路140确定是否要输出最后捕捉的帧。例如,可以设置读取器10使得在处理了先前的帧以用于参数确定之后,输出第二、第三或第N帧。在特定的成像系统的,通过分析捕捉的图像数据而得到的参数直到在捕捉了多个帧之后才可用于输入。在块2310,控制电路140构造概述帧的图像数据的直方图。捕捉的图像数据帧典型地包括多个灰度级像素值。通常,出于生成直方图的目的,从完整的帧中对像素值抽样。替换地,如在提交于2001年1月22日、题目为“Optical ReaderHaving Partial Frame Operating Mode”(具有部分帧操作模式的光学读取器)、序列号为09/766806的待决申请,以及提交于2001年1月22日、题目为“Optical Reader Having Reduced Parameter TerminationDelay”(具有减少的参数终止延迟的光学读取器)、序列号09/766922的申请中所述的,可以捕捉部分的图像数据帧,在此将该二申请引入以作参考。与典型的可视图像(也就是,非典型的可解码符号)的画面对应的直方图可以采用图11f的画面获取模式直方图2502的形式。如果对应于典型的可视显示图像,直方图2502可以基本包括在可能的灰度级值的整个范围上的每一灰度级值(在8比特灰度级中,0-255)的像素的平均数。
在块2316,控制电路140根据画面获取模式直方图评估标准来评估画面获取模式直方图2502。发明人发现,如果控制图像捕捉输入(曝光周期、增益、照明水平)使得图像的中值灰度级值是在大约预定的灰度级值,优选在灰度级中间的灰度级值(例如,从大约55到大约200)的灰度级值),则捕捉的图像具有高的可视观看质量。在图11f的具体示例中,评估直方图2502来确定是否直方图的中值灰度级值是在预定的中间范围灰度级值150之上或之下。换句话说,将直方图2502的中值灰度级值设置为一设定点。为实现该设定点,根据直方图(histogram)评估块2316的评估来控制成像输入。如果所捕捉的图像太暗(如果分布图2502的中值灰度级值小于150),在块2320控制电路140增加曝光周期值。如果捕捉的图像太亮(light),在块2322控制电路140减小曝光周期值以缓和(lighten)随后的图像。在块2320、2322的曝光周期调节步骤可以由另一合适的图像捕捉输入(如,增益控制或照明水平控制)来代替。
在图11e所示的流程图中,说明了解码模式图像捕捉块2334的示例,其具有包括参数确定步骤的多个图像捕捉步骤。图11e的解码模式图像捕捉块2234的步骤2404、2406、2410、2416、2418、2420和2422与参考图11d的流程图所述的步骤2304、2306、2310、2316、2318、2320和2322除以下两点不同外都相同第一,在块2404的第一次执行应用的初始(E0)解码模式曝光周期值(或其他初始成像输入)是不同于在块2304应用的初始(E0)画面获取模式曝光周期值的值。通常,选择使得在画面获取模式中的初始曝光周期比解码模式中的初始曝光周期长。发明人发现,对于高质量的可视显示(其中表示的物体能够由人眼容易地辨识的显示),较亮的图像是优选的,而对于解码,可以采用较暗和较快地捕捉的图像。
关于如图11e中所示的解码模式捕捉块2234和如图11d中所示的画面获取模式图像捕捉块2214的第二区别,涉及直方图评估标准的应用(块2416与块2316作比较)。在解码模式直方图评估块2416中,与在画面获取模式直方图评估块2316相比,应用了不同的直方图评估标准。在图11g上示出了与在白色衬底上的黑色可解码符号的图像相应的直方图2602的表示。直方图2602表示可以被称作双色调(bi-tonal)图像的内容。直方图2602包括如暗峰2610所示的在暗像素范围的大量的灰度级值,以及如亮峰2620所示的在亮像素范围的大量灰度级值。
发明人发现,如果控制图像捕捉输入(曝光时间、增益、照明水平)使得与图像对应的直方图的预定近峰灰度级值在大约一预定的灰度级值,优选在灰度级中间的灰度级值(如,从大约55到大约200的灰度级值),那么能够快速获得所捕捉的图像,并易于解码。在图11e和图11f的具体示例中,评估直方图2602以确定直方图2602的预定的97%峰值灰度级值(3%的灰度级值在其上而97%的灰度级值在其下的灰度级值)是否在预定的中间范围灰度级值150之上或之下。换句话说,将直方图的预定的近峰灰度级值设置为一设定点。为实现该设定点,根据在直方图评估块2416的评估来控制成像输入。如果所捕捉的图像太暗(如果分布图2602的97%的灰度级值小于150),则在块2420控制电路140增加曝光周期值以使图像变亮。如果所捕捉的图像太亮,则在块2422控制电路140降低曝光周期值。在块2420、2422的曝光周期调节步骤可以被另外的合适的图像捕捉输入代替(如,增益控制或照明水平控制)。与峰值相对比,在分布图评估块2416使用近峰值(如97%),可最小化可能引起的不合理的高亮值的影响。现在参考图11b的流程图说明本发明的一可供选择的实施例。在图11b的实施例中,除了控制电路进一步包括如块2200所示的自动成像模式外,控制电路140可以如图11a所述地操作。在如先前引述的提交于2001年7月13日、题目为“Applying A Color Imager To A Hand Held Reader ForIndicia Reading And Image Capture”(将彩色成像器应用到手持读取器以用于标记读取和图像捕捉)、序列号为09/904647的美国专利申请中所述的自动成像模式中,在块2254捕捉图像,并在块2258使之由分类电路分类。在块2258,可以基于该图像是否包括图形符号,比如条码、文本或OCR字符来对图像分类。高能量,(如黑-白变换是出现诸如条码符号的图形符号的良好的指示器)。在图像传感器32是彩色图像传感器的情况下,黑色和白色双色调图像将由处于两种可能值范围之一的绿色像素组成。这些值的一个窄的范围表示图像的白色部分,而值的另一窄的范围表示图像的黑色部分。在图像传感器32是单色图像传感器的情况,黑色和白色双色调图像将由在灰度级的极端的两个范围之一内的像素值组成。在先前引用的提交于2001年7月13日、题目为“Applying A Color Imager To A Hand Held Reader For IndiciaReading And Image Capture”(将彩色成像器应用到手持读取器以用于标记读取和图像捕捉)、序列号为09/904647的美国专利申请中,极详细地说明了图形符号检测的进一步的诸方面。在确定所捕捉的图像的帧是否包括双色调图形符号时,控制电路140可以评估图像数据帧是否包括处于两个截然不同的像素值的范围中的像素值。
在块2262,控制电路140以根据在块2258的图像的分类的方式处理在块2254捕捉的图像。例如,如果在块2258,控制电路140确定所捕捉的图像不包括图形符号,那么控制电路140可以以参考块2220描述的方式不尝试对可解码的符号进行解码而输出图像。如果在块2258控制电路140确定图像实际上其中包括图像符号,则在块2262控制电路140可以尝试对其中可解码的符号进行解码,并输出解码出的消息(如,在显示器上显示该消息或者将其发送到主机200或网络1810)。
如果在块2262,控制电路确定该图像不包括图形符号,控制电路140可以替换地自动跳转到块2210以加载至少一个“画面获取模式”成像器控制参数,并然后如先前所述的自动执行块2214和块2220,以捕捉随后的图像数据帧并将在块2214加以说明的所捕捉的帧输出。如果在块2262,控制电路140确定图像实际上包括图形符号,则控制电路140可以如先前所述的自动跳转到块2230以加载至少一个解码模式成像器控制参数,并然后自动跳转到块2234之后到块2242,以对可解码的符号进行解码(块2238),然后将与该符号对应的解码出的消息输出(块2242)。
如先前参考线性解码模式的选择而说明的,可以通过用户利用可用的菜单界面之一来输入命令,将控制电路驱动成画面获取模式、解码模式或自动成像模式之一。可以(例如利用本地或远程图形用户界面,利用菜单符号,或者通过操纵适当的按键或本地或远程的键盘)来选择画面获取、解码和自动成像模式。参考图3e,可以通过激活图标1702来选择画面获取模式,可以通过激活解码模式图标1701、1703选择解码模式,可以通过激活图标1704选择自动成像模式。此外,如将要说明的,这里还将描述通过激活图标1705或利用另一合适的菜单界面(如,远程GUI、本地或远程键盘、菜单符号)来选择的操作的“拍摄改善”模式。
根据图12中以的块形式示出的另一实施例,数字图像读取系统6000包括图像读取部件10,该部件包含和/或采用多个数字化器(D1…Dn)6004n;以及图像解码部件(未示出)。数字化器的基本目的是准确地确定条和空(或其他对比于特定数据形式的标记的符号体系或码),使得然后可以将该信息发送解码模块以用于解码。如前面所提到的,“以不变应万变”类型的数字化器对于不在该数字化器的工作窗口内的变化的读取条件下可能具有高的失效率。例如,其被配置来在仓储环境中优化操纵的典型的单数字化器的读取器可能对于相对长的读取距离工作良好。但是,同样的数字化器在用于相对短距离如在超市结帐的读取器中则可能产生较差的表现。数字化器还可以对除读取范围以外的参数优化配置;例如,条码对比度、条码色彩对比度、运动引起的模糊以及码生长都是示例性的影响成功的图像捕捉的参数。数字化器将在其上成功操纵的每一参数的范围将由内建到算法中用于具体数字化器的多种约束来确定。
根据本发明的实施例,在图12中示出的读取器10可以,例如,采用三个单独的数字化器D1、D2和D3,如图13所示,其中每一个都被配置来在各自的读取器范围Rn上操作。在该示例中,R1表示相对长的读取距离,R2表示相对中间的读取距离,而R3表示相对短的读取距离。在整合有全部这三种数字化器的读取器系统中,可以成功地捕捉由RT所表示的总的读取距离,其中RT大于读取距离Rn的任意一个。在一个方面,数字化器6004n(D1,D2…Dn)是可由控制电路140执行的软件模块。集成电路180还可以包括以可由控制电路140执行的软件模块形式的解码器C1、C2、…、Cn。
在利用多个数字化器Dn的优点的同时,该多个数字化器到总的系统100的接口是有效对条码符号进行解码中的主要考虑的问题。在一个方面,控制电路140可以根据扫描系统的速度,相互并行地驱动不同的多个数字化器。然后可以通过将一个扫描的数字化器结果加到另一扫描的数字化器结果的末尾,来组合传递到解码器Cn的结果,给出单一结果。在另一方面,控制电路140可以顺序启动该多个数字化器,每一个扫描通过一个数字化器D1发送,并然后尝试将结果解码。如果尝试失败,于是可以通过另一数字化器D2发送该扫描,并进行另一解码尝试,对该多个数字化器Dn皆如此这般进行。在有关线性扫描系统的另一方面,其中该扫描其自身可能是系统最快的部分,控制电路140将每一扫描指向到通过相继的数字化器;也就是说,该设备进行的第一扫描将通过第一数字化器并进行尝试解码该结果,在该解码尝试后,控制电路140将开始新的扫描,并将结果发送到第二数字化器,尝试解码该结果,对于多个数字化器如此这般进行。
下面呈现了数种示例性的用于进行有关使用何种数字化器方法的智能决定的技术,其能够有助于优化解码速度。
示例1表决在线性条码解码中,使用通过在多次扫描中连续解码同一条码来校验条码读取的过程,以消除其中条码没有被正确解释的情况或者含噪信号可能随机生成条码读取的情况。下文中将其称作表决条码。为得到用于该条码本身的正确的数字化方法,系统通过在该系统上运行的不同数字化器循环。然而,一旦一个数字化器已产生似乎有效的条码数据,于是系统将“锁定”该数字化器,并在表决条码的尝试中将其专门地用于随后的数帧扫描,并得到成功的读取。例如,如果特定的数字化器Dx发现被认为是条码数据的内容,于是控制电路140将配置系统来对于随后的N个扫描(其中通常N>1)使用同一数字化器Dx并仅使用该数字化器,以确保利用该数字化器进行相当次数的尝试再次见到同样的数据。如果在表决过程中利用同一数字化器的N次期间看到了相同的条码数据,则控制电路140再次将系统要使用该数字化器的次数刷新为N次。然而,如果或当见到了足够的解码认为表决的符号是成功读取,或者如果使用同一数字化器的次数倒计数至零,则控制电路将使系统重置来通过该多个数字化器循环来得到下一条码。
在一个方面,一旦数字化器已发现条码数据,通过所有的数字化器来运行同样的扫描,以确定是否存在多个数字化器能够从该扫描线中提取出相同的数据。然后进行尝试以对每一个的有效性排序。例如,如果三个数字化器得到了相同的数据(即,正确地解码信号的条码部分),可能可确定这些数字化器的哪些忽略了更多的周围区域,或者换句话说,哪个数字化器在信号中找到了最少次数的变换但仍然能够成功解码该条码。一个替换的方面将涉及系统中每一数字化器各自的强项和弱项排序。在此情况下,其中利用一个以上的数字化器在给定的扫描线中对相同的数据进行解码,可以注意到所有数字化器分别在某一特定属性的排序中上升,而在另一排序中下降,在此情况下的意见将是选择该组中最中庸的一个。
示例2堆叠线性(stacked linear)其中控制电路140能够配置系统使得将给定的数字化器用于随后的N个扫描的另一示例是,堆叠线性条码的情况,比如PDF417。为成功解码,堆叠线性条码内在地要求多个单扫描线。例如,在系统通过多个数字化器循环和查找堆叠线性数据的行的有效解码的情况,将该系统配置成对于随后的N个扫描(再次,通常N>1)专门使用该同一数字化器。如果在利用该同一数字化器的那N次期间对来自堆叠线性码的随后的数据行进行了解码,于是刷新系统来对于另一N次扫描使用该数字化器。然而,如果或者当接收到足够的数据来生成有效解码,或者如果使用给定的数字化器的次数N倒计数到0,而没有见到另一堆叠数据行,则将系统重置通过其他数字化器循环以尝试得到下一条码。
在另一方面,如果得到堆叠线性条码的有效行,过程将利用该正确的扫描通过所有的数字化器循环,来确定对于该行数据哪个数字化器产生了最高的码字产出,并然后配置系统来使用该数字化器。
示例3形成统计判定在一预期的方面,将使用多个数字化器来实质上优化在给定环境中的扫描。例如,在通过这些数字化器循环来将所有的数字化器以其在查找条码数据上的成功率的次序排序(即,在反复使用特定的数字化器来表决时不计次数)期间,在系统内部保持统计记录。然后,对于如何贯穿这些数字化器的次序可以进行智能判定。例如,在这一排序中的第一数字化器将是在查找条码方面在统计上最成功的那个,而第二个则是第二成功的那个,如此这般。在不仅对第一扫描,而且对第三、第五扫描等调用一个数字化器的情况下,也可能一个数字化器恰巧是如每一个其他数字化器的组合成功率的两倍般地成功。假设扫描环境保持相当的一致(即,印刷质量、大小、读取距离等),则最终数字化器的次序将被优化以在此环境下运行。
尽管已参考如附图中所示的优选模式对本发明进行了具体的说明和描述,本领域普通技术人员将理解,其中可以进行细节上各种变化而不脱离如所附权利要求所限定的本发明的精神和范围。
权利要求
1.一种利用图像读取器来获得可接受图像的过程,包括a)以该图像读取器的给定帧速率获取初始图像;b)确定所获取的图像的信号电平是否在可接受范围内,如果否,c)计算新的帧速率;d)以所述新的帧速率获取图像;以及e)解码所述图像。
2.如权利要求1所述的过程,进一步包括以给定的曝光时间和信号增益的至少一个来获取所述初始图像;以及确定新的曝光时间和信号增益中的至少一个。
3.如权利要求1所述的过程,其中所述新的帧速率是比所述初始帧速率快的帧速率或者慢的帧速率。
4.如权利要求1所述的过程,其中所述新的帧速率是最大帧速率。
5.一种以图像读取器的最大帧速率来获得可接受图像的过程,包括a)利用所述图像读取器以给定的帧速率和曝光设置获取初始图像;b)确定所获取的图像的信号电平是否在可接受范围内,如果否,c)计算足以获得可接受图像的曝光时间;d)确定将支持所计算的曝光时间的最高帧速率;e)计算在所述最高帧速率下支持所述曝光时间的新的曝光设置;以及f)解码所述可接受图像。
6.一种由数字图像读取器/解码器使用的算法,包括步骤(i)以初始帧速率参数、增益参数和曝光时间参数来获取图像,(ii)评估所述图像,(iii)确定系统是否以最快帧速率进行操作,如果否,(iv)计算提供期望的图像照明度的新的曝光时间参数,(v)计算将支持所述新的曝光时间的最大帧速率参数,(vi)计算将在所述最大帧速率下支持所述新的曝光时间的新的曝光设置参数,(vii)确定所述图像是否是可接受的,如果是,(viii)输出并解码所述图像,并将(iv-vi)中的所述参数提供到成像器作为新的初始参数,以及(ix)返回到(i)。
7.一种由数字图像读取器/解码器使用的算法,包括步骤(i)获取图像;(ii)评估所述图像,(iii)确定系统是否以最快帧速率进行操作,如果否,(iv)计算提供期望的图像照明度的新的曝光时间参数,(v)计算将支持所述新的曝光时间的最大帧速率参数,(vi)计算将在所述最大帧速率下支持所述新的曝光时间的新的曝光设置参数,(vii)确定所述图像是否是可接受的,如果否,(viii)将(iv-vi)中的所述参数提供到成像器作为新的初始参数,以及(ix)返回到(i)。
8.一种由数字图像读取器/解码器使用的算法,包括步骤(i)获取图像;(ii)评估所述图像,(iii)确定系统是否以最快帧速率进行操作,如果是,(iv)确定所述图像的照明度水平以及所述图像是否是以最大曝光设置和最大增益设置获取的,如果否,(v)计算新的曝光参数和新的增益参数,它们至多是用于初始帧速率的、产生期望的图像照明度的各自最大值,(vi)确定所述图像是否是可接受的,如果否,(vii)将(iv-vi)中的所述参数提供到成像器作为新的初始参数,以及(viii)返回到(i)。
9.一种由数字图像读取器/解码器使用的算法,包括步骤(i)获取图像;(ii)评估所述图像,(iii)确定系统是否以最快帧速率进行操作,如果是,(iv)确定所述图像的照明度水平以及所述图像是否是以最大曝光设置和最大增益设置获取的,如果否,(v)计算新的曝光参数和新的增益参数,它们至多是用于初始帧速率的、产生期望的图像照明度的各自最大值,(vi)确定所述图像是否是可接受的,如果是,(vii)输出并解码所述图像,并将(iv-vi)中的所述参数提供到成像器作为新的初始参数,以及(ix)返回到(i)。
10.一种由数字图像读取器/解码器使用的算法,包括步骤(i)获取图像;(i)评估所述图像,(iii)确定系统是否以最快帧速率进行操作,如果是,(iv)确定所述图像的照明度水平以及所述图像是否是以最大曝光设置和最大增益设置获取的,,如果是,(v)计算将提供期望的图像照明度的新的曝光时间参数,(vi)计算将支持所述新的曝光时间参数的最大帧速率参数,(vii)计算将在最大帧速率下支持所述新的曝光时间的新的曝光设置参数,(viii)确定所述图像是否是可接受的,如果是,(ix)输出并解码所述图像,并将(v-vii)中的所述参数提供到成像器作为新的初始参数,以及(x)返回到(i)。
11.一种由数字图像读取器/解码器使用的算法,包括步骤(i)获取图像;(ii)评估所述图像,(iii)确定系统是否以最快帧速率进行操作,如果是,(iv)确定所述图像的照明度水平以及所述图像是否是以最大曝光设置和最大增益设置获取的,如果是,(v)计算将提供期望的图像照明度的新的曝光时间参数,(vi)计算将支持所述新的曝光时间参数的最大帧速率参数,(vii)计算将在所述最大帧速率下支持所述新的曝光时间的新的曝光设置参数,(viii)确定所述图像是否是可接受的,如果是,(ix)输出并解码所述图像,并将(v-vii)中的所述参数提供到成像器作为新的初始参数,以及(x)返回到(i)
12.一种数字图像读取系统,包括a)图像传感部件,适于以初始帧速率参数、增益参数和曝光时间参数来获取图像,以及b)计算机,连接到所述图像传感部件,其中,所述计算机被编程来调节帧速率使得所述图像传感部件能够以最大帧速率操作来捕捉可接受图像。
13.如权利要求12所述的数字图像读取器系统,包括一维图像传感器。
14.如权利要求12所述的数字图像读取器系统,包括二维图像传感器。
15.如权利要求12所述的数字图像读取器系统,其中所述数字图像读取系统包括手持式读取器设备。
16.如权利要求12所述的数字图像读取器系统,其中所述图像是1D数据形式符号体系。
17.如权利要求12所述的数字图像读取器系统,其中所述图像是2D数据形式符号体系。
18.如权利要求12所述的数字图像读取器系统,其中利用指令将所述计算机编程以(i)获取图像;(ii)评估所述图像,(iii)确定系统是否在以最快帧速率操作,如果否,(iv)计算提供期望的图像照明度的新的曝光时间参数,(v)计算将支持所述新的曝光时间的最大帧速率参数,(vi)计算将在所述最大帧速率下支持所述新的曝光时间的新的曝光设置参数,(vii)确定所述图像是否是可接受的,如果是,(viii)输出并解码所述图像,并将(iv-vi)中的所述参数提供到成像器作为新的初始参数,以及(ix)返回到(i)。
19.如权利要求12所述的数字图像读取器系统,其中利用指令将所述计算机编程以(i)获取图像;(ii)评估所述图像,(iii)确定系统是否以最快帧速率进行操作,如果否,(iv)计算提供期望的图像照明度的新的曝光时间参数,(v)计算将支持所述新的曝光时间的最大帧速率参数,(vi)计算将在所述最大帧速率下支持所述新的曝光时间的新的曝光设置参数,(vii)确定所述图像是否是可接受的,如果否,(viii)将(iv-vi)中的所述参数提供到成像器作为新的初始参数,以及(ix)返回到(i)。
20.如权利要求12所述的数字图像读取器系统,其中利用指令将所述计算机编程以(i)获取图像;(ii)评估所述图像,(iii)确定系统是否以最快帧速率进行操作,如果是,(iv)确定所述图像的照明度水平以及所述图像是否是以最大曝光设置和最大增益设置获取的,如果否,(v)计算新的曝光参数和新的增益参数,它们至多是用于初始帧速率的、产生期望的图像照明度的各自最大值,(vi)确定所述图像是否是可接受的,如果否,(vii)将(iv-vi)中的所述参数提供到成像器作为新的初始参数,以及(viii)返回到(i)。
21.如权利要求12所述的数字图像读取器系统,其中利用指令将所述计算机编程以(i)获取图像;(ii)评估所述图像,(iii)确定系统是否以最快帧速率进行操作,如果是,(iv)确定所述图像的照明度水平以及所述图像是否是以最大曝光设置和最大增益设置获取的,如果否,(v)计算新的曝光参数和新的增益参数,它们至多是用于初始帧速率的、产生期望的图像照明度的各自最大值,(vi)确定所述图像是否是可接受的,如果是,(vii)输出并解码所述图像,并将(iv-vi)中的所述参数提供到成像器作为新的初始参数,以及(viii)返回到(i)。
22.如权利要求12所述的数字图像读取器系统,其中利用指令将所述计算机编程以(i)获取图像;(ii)评估所述图像,(iii)确定系统是否以最快帧速率进行操作,如果是,(iv)确定所述图像的照明度水平以及所述图像是否是以最大曝光设置和最大增益设置获取的,如果是,(v)计算将提供期望的图像照明度的新的曝光时间参数,(vi)计算将支持所述新的曝光时间参数的最大帧速率参数,(vii)计算将在所述最大帧速率下支持所述新的曝光时间的新的曝光设置参数,(viii)确定所述图像是否是可接受的,如果是,(ix)输出并解码所述图像,并将(v-vii)中的所述参数提供到成像器作为新的初始参数,以及(x)返回到(i)。
23.如权利要求12所述的数字图像读取器系统,其中利用指令将所述计算机编程以(i)获取图像;(ii)评估所述图像,(iii)确定系统是否以最快帧速率进行操作,如果是,(iv)确定所述图像的照明度水平以及所述图像是否是以最大曝光设置和最大增益设置获取的,如果是,(v)计算将提供期望的图像照明度的新的曝光时间参数,(vi)计算将支持所述新的曝光时间参数的最大帧速率参数,(vii)计算将在所述最大帧速率下支持所述新的曝光时间的新的曝光设置参数,(viii)确定所述图像是否是可接受的,如果是,(ix)输出并解码所述图像,并将(v-vii)中的所述参数提供到成像器作为新的初始参数,以及(x)返回到(i)
24.如权利要求12所述的数字图像读取器系统,其中所述计算机包括微处理器。
25.如权利要求12所述的数字图像读取器系统,其中所述计算机包括可编程门阵列。
26.如权利要求12所述的数字图像读取器系统,其中所述图像传感部件包括CMOS检测器。
27.如权利要求26所述的数字图像读取器系统,其中所述图像传感部件包括卷帘快门。
28.如权利要求12所述的数字图像读取器系统,其中所述计算机包括曝光控制部件,其在曝光寄存器中控制所述曝光。
29.如权利要求12所述的数字图像读取器系统,其中所述图像传感部件包括固态成像设备。
30.一种数字图像读取系统,包括a)包括数字化器的图像读取部件;以及b)图像解码部件,其中所述图像读取部件包括多个单独的数字化器。
31.如权利要求30所述的数字图像读取系统,其中所述多个数字化器是基于硬件的数字化器。
32.如权利要求30所述的数字图像读取系统,其中所述多个数字化器是基于软件的数字化器。
33.如权利要求30所述的数字图像读取系统,其中所述多个数字化器是基于硬件/软件的混合型数字化器。
34.如权利要求30所述的数字图像读取系统,其中所述多个数字化器的每一个都被配置成在与所述多个数字化器相关的给定参数的各自参数范围内操作,进一步地,其中每一参数范围不同于任何其他参数范围。
35.如权利要求34所述的数字图像读取系统,其中所述给定的参数是读取距离。
36.如权利要求34所述的数字图像读取系统,其中所述给定的参数是符号体系黑/白对比度标记。
37.如权利要求34所述的数字图像读取系统,其中所述给定的参数是符号体系色彩对比度标记。
38.如权利要求34所述的数字图像读取系统,其中所述给定的参数是运动模糊标记。
39.如权利要求34所述的数字图像读取系统,其中所述给定的参数是条码生长标记。
40.如权利要求35所述的数字图像读取系统,包括三个被配置在近距读取范围、中距读取范围和远距读取范围内操作的数字化器。
41.如权利要求34所述的数字图像读取系统,其中所述参数范围的至少两个交迭。
42.如权利要求30所述的数字图像读取系统,其中所述多个数字化器的至少一些被配置成在单个图像捕捉周期期间并行地运行。
43.如权利要求30所述的数字图像读取系统,其中所述多个数字化器的每一个被配置成在单个图像捕捉周期期间顺序运行。
44.如权利要求30所述的数字图像读取系统,其中所述多个数字化器的每一个被配置成在多个各图像捕捉周期期间顺序运行。
45.如权利要求30所述的数字图像读取系统,其中所述图像读取部件是包括固态图像传感器的手持式读取器。
46.一种用于获得可接受图像的过程,包括提供具有集成的多个数字化器的数字图像读取器;利用所述多个数字化器的一个进行图像获取尝试;以及利用所述多个数字化器的不同的一个进行随后的图像获取尝试。
47.如权利要求46所述的过程,其中配置所述多个数字化器以在与所述多个数字化器相关的给定参数的各自参数范围内操作,进一步地,其中每一参数范围不同于任何其他参数范围。
全文摘要
一种包括图像传感器和计算机的数字图像读取系统,该计算机被编程来调节该图像传感器的帧速率以及来得到该图像传感器用于获得可接受图像的最大帧速率。一种调节帧速率的算法评估图像参数,并计算支持该图像传感器的最大帧速率的新的曝光时间、增益值以及曝光设置。一种利用图像读取器获取可接受图像的过程评估图像信号电平,如果信号电平在预定的范围之外则调节帧速率。该过程调节图像传感器来以最大操作帧速率运行。一种数字图像读取系统包括在各种读取环境和各种读取条件下使用的多个单独的数字化器。
文档编号G06K7/14GK1947125SQ200580012349
公开日2007年4月11日 申请日期2005年2月9日 优先权日2004年2月10日
发明者提莫西·迈尔, 小安德鲁·朗加克里, 托马斯·霍利, 约翰·佩蒂内利, 罗伯特·M·赫西 申请人:手持产品公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1