用于瞄准光学代码扫描设备的系统和方法

文档序号:6657023阅读:216来源:国知局
专利名称:用于瞄准光学代码扫描设备的系统和方法
技术领域
本发明涉及光学代码读取器。特别是,本发明涉及一种使光学代码扫描设备瞄准选中的光学代码的系统和方法。
背景技术
迄今为止已开发的光学代码扫描器系统都用于读取光学代码,比如标签上或物件表面上出现的条形码符号。这种符号本身是一种编码的标记图案,例如它包括一系列具有各种宽度的线条,这些线条彼此分开以限定各种宽度的间隔,此处线条和间隔具有不同的反光特征。扫描系统中的扫描设备以电光形式将图形标记转换成电信号,这些电信号被解码成用于描述物件或其特征的字母数字字符。这种字符通常以数字形式来表示,并且被用作数据处理系统的输入,可应用于销售点处理、存货控制等。
光学代码扫描设备以固定和便携的安装方式用于各种环境,比如在商店里用于收银服务,在生产场所用于作业流程和存量控制,以及在运输车辆中用于跟踪包裹处理。扫描设备可以用于迅速输入数据,例如,通过对许多条形码的印刷列表中的目标条形码进行扫描。在一些应用中,光学代码扫描设备连接到便携式数据处理设备或数据收集和传输设备。通常,光学代码扫描设备是一种包括手持传感器的手持式扫描设备,它手动地瞄准目标代码。
通常,单个扫描设备是包括其它扫描设备、计算机、电缆、数据终端等在内的更大的系统中的一个元件。这种系统常常基于扫描引擎的机械和光学规格(有时被称为“形状因子”)来设计和构建。一种这样的形状因子是SymbolTechnologies公司所设计的SE1200形状因子。
一种类型的光学代码扫描设备是阵列光学成像器扫描设备,它包括由一维或二维光电池或光传感器阵列构成的图像传感器,比如区域电荷耦合器件(CCD)。该成像器扫描设备给目标成像,这包括检测成像目标所反射的光线并产生与该检测相对应的多个电信号,这些电信号对应于像素信息的二维阵列,用于描述扫描设备的视场。然后,处理这些电信号并将它们提供给解码电路以便于解码。该成像器传感器包括相关电路,用于生成并处理电信号。另外,可以提供透镜组件,以便对入射到图像传感器上的光线进行聚焦。
当多个光学代码处于扫描设备的视场(FOV)内时,扫描设备通常确定哪一个光学代码是最容易捕获和/或读取的,并首先对该光学代码进行解码。用户并不控制哪一个光学代码是系统应该试图解码的,相应地,在扫描所期望的光学代码时可能会有困难。
扫描设备常常配有瞄准组件,它产生可视的瞄准图案,比如“十字瞄准线”图案,用户可以将该图案瞄准到待成像的目标物体上,以使扫描设备瞄准目标图像。在可以买到的成像设备中,瞄准图案的中心常常因机械或制造方面的不一致性而与扫描设备的视场中心不一致,这包括在瞄准组件的光源与用于将光线聚焦到图像传感器上的光学系统的焦点之间的位移。用户可以使用瞄准图案来扫描与多个光学代码一起呈现的所期望的代码,比如它们都在具有一列或多列光学代码的页面上。用户可以试着对准瞄准图案的中心以使其与所期望的代码一致或接近,然后比如通过扣动板机来启动扫描操作。
当启动扫描操作时,扫描设备暂时地停止产生瞄准图案,使得瞄准图案不被包括到正在获取的图像中,以便不妨碍正在被成像的目标。瞄准图案在所获取的图像中的实际位置不必定处于所获取的图像的中心。事实上,瞄准图案的实际位置是未知的。所期望的光学代码不必定是离所获取的图像的中心最接近的所获取的光学代码。相应地,没有可靠的方式来确定在处于扫描设备视场内的多个光学代码中究竟哪一个光学代码是所期望的光学代码。
相应地,需要一种系统和方法,来使光学代码扫描设备瞄准扫描设备视场内多个光学代码中所期望的光学代码,以便对该所期望的光学代码进行解码。

发明内容
根据本发明,提供了一种光学代码扫描设备系统,用于读取至少一个光学代码,该系统包括成像器模块,用于获取一连串的至少一个帧的图像数据,各帧的图像数据包括与成像器模块视场内的成像相对应的像素数据阵列;瞄准组件,它具有至少一个光源,用于产生至少一个光束,从而在视场内形成可见的瞄准图案;以及用于控制瞄准组件的瞄准控制器,它响应于用于指示读取操作开始的启动信号的接收,在至少一个帧的图像数据的获取期间控制瞄准图案的产生。该系统进一步包括光学代码选择器模块,它可在至少一个处理器上执行,用于处理在根据读取操作而生成瞄准图案时所获取的第一帧图像数据的至少一部分,以便确定该瞄准图案所对应的像素数据阵列中的至少一个像素的位置L。光学代码选择器模块进一步处理在未生成瞄准图案时所获取的至少一个帧的图像数据中第二帧图像数据的至少一部分,这包括在所获取的图像数据中选择位于各个位置处的至少一个光学代码,其中在读取操作期间确定的各个位置符合与位置L有关的预定条件。光学代码选择器模块进一步提供选中的至少一个光学代码,以便根据读取操作作进一步的处理。
在本发明的另一个实施例中,提供了一种光学代码扫描器系统,它包括成像器模块;瞄准组件;射程探测器模块,用于确定扫描器系统与至少一个正在成像的光学代码之间的距离;以及视差范围测量模块,用于根据射程探测器模块所确定的距离来确定像素数据阵列中与瞄准图案相对应的至少一个像素的位置。该系统进一步包括光学代码选择器模块,它可在至少一个处理器上执行,用于处理在读取操作期间生成瞄准图案时所获取的一帧图像数据的至少一部分,这包括在所获取的图像数据中选择位于各个位置处的至少一个光学代码,其中在读取操作期间所确定的各个位置符合与位置L有关的预定条件。光学代码选择器模块进一步提供选中的至少一个光学代码,以便根据读取操作作进一步的处理。
在本发明的替换实施例中,提供了一种用于读取至少一个光学代码的方法,它包括如下步骤对视场进行成像,这包括获取一连串的至少一个帧的图像数据,各帧的图像数据包括与成像的视场相对应的像素数据阵列;生成至少一个光束,从而在视场内形成可见的瞄准图案;响应于用于指示读取操作开始的启动信号的接收,在至少一个帧的图像数据的获取期间控制瞄准图案的产生;以及执行读取操作。读取操作的执行包括如下步骤处理在生成瞄准图案时所获取的第一帧图像数据的至少一部分,以便确定像素数据阵列中与瞄准图案相对应的至少一个像素的位置L;以及处理在未生成瞄准图案时所获取的至少一个帧的图像数据中第二帧图像数据的至少一部分。读取操作的执行进一步包括如下步骤选择在所获取的图像数据中获取的、位于各个位置处的至少一个光学代码;其中各个位置符合与所确定的位置L有关的预定条件;以及提供选中的至少一个光学代码,以便根据读取操作作进一步的处理。
在本发明的又一个实施例中,提供了一种用于读取至少一个光学代码的方法,它包括如下步骤用扫描系统对视场进行成像,这包括获取一连串的至少一个帧的图像数据,各帧的图像数据包括与成像的视场相对应的像素数据阵列;生成至少一个光束,从而在视场内形成可见的瞄准图案;确定扫描器系统与至少一个正被成像的光学代码之间的距离;根据所确定的距离,来确定像素数据阵列中与瞄准图案相对应的至少一个像素的位置L;以及处理在读取操作期间生成瞄准图案时所获取的一帧图像数据的至少一部分。该处理包括如下步骤选择在所获取的图像数据中获取的、位于各个位置处的至少一个光学代码,其中读取操作期间所确定的各个位置符合与位置L有关的预定条件;以及提供选中的至少一个光学代码,以便根据读取操作作进一步的处理。


参照下文所罗列的附图以及本发明的详细描述,会更好地理解本发明的这些和其它特征、方面和优点图1是根据本发明的光学扫描器系统的框图;图2A是根据本发明进行成像的典型的第一帧图像数据的图,其中获取了瞄准图案;图2B是根据本发明进行成像的典型的第二帧图像数据的图,其中没有获取瞄准图案;图3是根据本发明一实施例的方法的各步骤的流程图,用于处理由成像器扫描设备所瞄准的光学代码;以及图4是根据本发明另一实施例的方法的各步骤的流程图,用于处理由成像器扫描设备所瞄准的光学代码。
具体实施例方式
在图1中,示出了用于读取光学代码的光学代码扫描器系统10,此处光学代码扫描器系统10包括成像器扫描设备12,用于读取光学代码,这包括对光学代码进行成像,此处一次可以对不止一个光学代码进行成像。例如,光学代码可以是条形码、UPC/EAN、一维或多维代码、文本代码等。“读取”或“读取操作”是指使光学代码成像并解码,但是可以进一步被理解成使光学代码成像并处理,比如对所成像的光学代码执行字符识别、传输或进一步处理所成像的光学代码。
扫描设备12包括成像器模块14、致动器组件16、瞄准组件18、瞄准控制器20以及处理器组件22。扫描设备12可以与一个或多个外围设备24相连,比如键盘、显示设备、打印设备、数据存储介质(例如包括应用程序软件和/或数据库的存储器)、至少一个远程处理设备(例如,主处理器)和/或另一个系统或网络。
可以在处理器组件20上执行的是解码器模块30、光学代码选择器模块32、视差范围测量模块34以及射程探测器模块36。光学代码选择器模块从一个或多个已成像的光学代码中选择一个光学代码,并且将选中的光学代码提供给解码器模块30以便对其进行解码和/或作其它进一步的处理。根据光学代码相对于瞄准组件16所产生的瞄准图案的位置,来作出光学代码的选择,这在下文中会进一步描述。可以预想到,扫描设备12可以工作在各种模式中,此处各种模式使用不同的方法来选择待解码或作进一步处理的光学代码,并且这些模式中的一种使用了根据本发明所描述的方法。
可以配置扫描设备12使之成手持式或便携式设备,或者可以配置成静止的设备,比如设置在旋转架中固定的位置。此外,扫描设备12可以合并入一个系统中,所述系统比如局域网、蜂窝网络或广域网、或视频电话系统。另外,扫描设备12还可以合并入另一个设备中,比如PDA或手机。
设置耦合26,用于将扫描设备12连接到外围设备24。耦合26可以包括有线或无线耦合,比如柔性电缆;射频、光和/或蜂窝通信电话交换网络,通过调制解调器或ISDN接口;红外数据接口(IRDA);多触点滑轨;或对接设备。由耦合26传输的数据可以包括压缩数据。
外围设备24最好包括主处理器,它具有至少一个数据处理器,该至少一个数据处理器可以连接到一个或多个外围设备或计算设备,比如视频监控器和/或网络。模拟和/或数字设备可以设置在主处理器和/或扫描设备12中,用于处理正被扫描设备12成像或扫描的目标所反射的光线的检测过程所对应的信号。解码器模块30可以设置在像主处理器这样的外围设备24中和/或扫描设备12中。
成像器模块14不断地获取与成像器模块14的视场(FOV)相对应的图像,并且将相应的图像数据作为一连串的帧提供给处理器组件22。与成像器模块14一起的是光传感器阵列(未示出),它检测扫描设备12的视场(FOV)内的物体所反射的光线,还产生电信号的阵列,用于表示与上述检测相对应的图像。可以提供用于将光线聚焦到光传感器阵列上的光学系统(未示出)。光传感器阵列可以包括CCD或其它相似的设备,比如CMOS、电荷调制器件(CMD)或电荷注入器件(CID)传感器。成像器模块14可以进一步包括像视频电路、信号处理电路等(未示出)电路,用于处理(例如滤波、缓冲、放大、数字化等)电信号以便产生图像数据并且与处理器组件22相连。周期性地输出(同步地或异步地)处理后的电信号作为一帧图像数据,这包括与电信号相对应的像素阵列。相应地,成像器模块14输出一连串的图像数据帧,它们对应于光传感器阵列的连续检测。这一连串的帧被提供给处理器组件22,可以立即处理这些图像数据帧和/或存储以便将来用于处理。
致动器组件16包括致动器,比如板机或开关(硬件或软件),它可以由用户、传感器、主处理器等来启动,用于在启动该致动器时产生启动信号以便开始读取操作。启动信号可以由主处理器来生成并由扫描设备12来接收,比如采用命令的形式。
瞄准组件18包括至少一个光源,比如激光光源和/或非激光光源(例如LED),用于产生至少一个光束,从而形成比如“十字瞄准线”这种瞄准图案,该图案被可见地投影到与扫描设备12的视场相对应的区域。用户可以瞄准扫描设备12(这可能包括使目标光学代码定位),使得瞄准图案与待成像的目标光学代码一致或接近。用户使扫描设备12瞄准目标光学代码,然后,启动致动器组件16以便开始读取操作。例如,用户通过使瞄准图案与目标光学代码一致或接近,来瞄准成像设备。美国专利5,801,371描述了扫描设备的操作,这包括瞄准图案的产生以及用瞄准图案来瞄准扫描设备,该专利整体引用在此作为参考。
瞄准控制器20包括电路和/或软件指令,它们可以在上述至少一个外围设备24的处理器组件22和/或数据处理器上执行,用于控制瞄准组件18的启动,以便在至少一个帧的获取期间响应于启动信号的接收来控制瞄准图案的产生。该电路可以包括数字、逻辑和/或模拟设备。瞄准控制器20可以控制瞄准组件18,使得在用户瞄准目标光学代码且瞄准图案可见时所捕获的一帧图像数据以及在用户瞄准目标光学代码且瞄准图案不可见时所捕获的一帧图像数据都可以获得。下文进一步讨论瞄准控制器20控制瞄准组件18的定时。
处理器组件22可以包括微处理器、现场可编程门阵列(FPGA)和/或其它处理设备,并且可以进一步包括至少一个存储元件,比如闪存设备和/或DRAM存储设备。此外,处理器组件22可以与至少一个外围设备24相连,比如主处理器。处理器组件22或其各个部分还可以设置在成像器模块14的外部,比如在与其上设置有成像器模块14的电路板分开的另一个电路板上,和/或设置在主处理器中。处理器组件22在开始读取操作时接收启动信号,并且在接收到启动信号时接收或检索上述一连串的帧中的各个数据帧,以便对其进行处理。
解码器模块30、光学代码选择器模块32、视差范围测量模块34以及瞄准控制器20和射程探测器模块36的至少部分分别包括一连串的可编程指令,这些指令可以在处理器组件22和/或扫描设备12之外的另一个处理器(比如主处理器)上执行。这一连串的可编程指令可以存储在计算机可读介质上,比如RAM、硬盘驱动器、CD、智能卡、3.5”磁盘等,或者通过传播信号进行传输,以便于处理器组件22来执行,从而执行本文所揭示的各种功能并实现本发明的技术效果。处理器组件22并不限于所描述的软件模块。各种软件模块的功能可以组合成一个模块,或者分布到不同的模块组合中。
解码器模块30接收光学代码或其各个部分,并且对各个代码执行解码操作,并且输出相应的解码后的代码。可以预想,当接收到部分代码时,解码器模块30可以按需要检索该代码的另一部分对其进行解码。解码操作可以包括对条形码或其它类型的符号进行解码,比如包括字母数字字符的文本代码。解码过程可以包括字符识别处理。
在本发明的一个实施例中,光学代码选择器模块32响应于启动信号的接收,处理至少第一和第二帧图像数据的至少一部分。图2A和2B分别示出了典型的第一和第二帧200和202。在成像过程中,用户使瞄准图案204瞄准目标光学代码212。在产生并可以看到瞄准图案204的同时,获取第一帧图像数据200,使得在第一帧图像数据的获取期间捕获了瞄准图案204。在所示的示例中,获取了若干个光学代码210,但光学代码212是用户想要解码的光学代码。
确定第一帧像素阵列中与瞄准图案204相对应的至少一个像素206a(例如,瞄准图案204的中心)的位置L。图中所示点208是与成像设备14的FOV相关联的像素阵列的中心所对应的那个像素。在典型的图像获取过程中,瞄准图案204中心处的像素206a与点208处的像素不一致。在可以买到的扫描设备中,因机械或制造方面的不一致性,比如制造过程变化和机械公差,瞄准图案的中心通常与扫描设备12的FOV中心不一致。
图2B示出了在未生成且看不到瞄准图案时所获取的第二帧图像数据202。当用户瞄准成像设备并扣动板机时,按顺序迅速获取帧200和202,并且帧200最好紧挨在帧202之前获取,但不限于此。对于具有常规速率30帧/秒的图像获取而言,帧200和202的获取可能彼此间隔大约33毫秒。因为当用户瞄准扫描设备12时迅速连续获取帧200和202,所以用于帧200和202的捕获的FOV基本上相同。
在第二帧图像数据202的获取期间,没有捕获瞄准图案204,但是基于第一帧200中像素206a的位置L,便可以确定瞄准图案的位置,尤其是瞄准图案的中心。确定帧202的像素阵列中的像素206b,它在位置L处,即从第一帧200中确定出的像素206a的位置。目标光学代码212选自其它光学代码210,此处光学代码210最接近像素206b。光学代码212被提供给解码器模块30以便对其进行解码。或者,进一步处理在像素206b附近(例如,到像素206b的预定距离之内)找到的光学代码或其各部分,比如对其进行解码。当一部分光学代码位于像素206b附近区域内时,可以处理该部分和/或处理该光学代码的其余部分,例如,这取决于位于附近区域之内的该光学代码的一部分的重要性。
参照图1、2、3,示出了本发明的方法的实施例。扫描设备12处于瞄准状态,产生并可看到瞄准图案,使得用户可以使用瞄准图案来瞄准成像器设备,所以可以使瞄准图案与目标光学代码一致或者接近目标光学代码。扫描设备12的用户使扫描设备12瞄准光学代码,并且启动致动器组件16。因为启动了致动器组件16,所以成像器模块14正在获取一连串的帧。
在步骤302中,处理器组件22在获取帧N的期间内接收启动信号。在步骤304中,在产生瞄准图案的同时获取帧N+1的图像数据,所以在该图像数据中获取了瞄准图案。在步骤306中,用光学代码选择器模块32来处理所获取的帧N+1的图像数据中的至少一部分,以便确定与瞄准图案中心相对应的像素206a的位置L。位置L可以用坐标例如(x,y)来描述。
在步骤307中,停止产生瞄准图案。在步骤308中,在禁止(不产生)瞄准图案的同时获取帧N+2的图像数据,所以在该图像数据中没有获取瞄准图案。在步骤312中,用光学代码选择器模块32来处理帧N+2的图像数据中的至少一部分,以便确定并选择与位置L处的像素206b靠得最近的光学代码212。或者,当在像素206b附近区域内(例如,到像素206b的预定距离之内)找到各个光学代码或其部分时选择这些光学代码。在步骤314中,处理选中的光学代码或其各部分(例如,光学代码212),例如用解码器模块30对其进行解码。在步骤316中,处理后的(例如解码后的)代码被发送到至少一个外围设备24,例如主处理器和/或显示器。
在所示的实施例中,如上所述,步骤302出现在帧N处。较佳地,在帧N+1的获取期间执行步骤304。在帧N+1的获取期间和/或帧N+2的获取期间执行步骤306。在帧N+2的获取期间执行步骤308和312,并且在开始获取帧N+3时执行步骤314。基本上在正获取图像数据的同时,执行步骤306、312和/或314。可以预想,可以并行地执行所述步骤的一种或多种组合。
在另一个实施例中,参照图1、2、4,示出了根据本发明的方法。扫描设备12处于瞄准状态。用户使扫描设备12瞄准目标光学代码,并且启动致动器组件16。在步骤402中,处理器组件22在帧N的获取期间接收启动信号。在步骤404中,从存储介质中检索帧N-1的图像数据的至少一部分,先前获取的图像数据帧都存储在该存储介质中。帧N-1出现在启动致动器组件16之前。因为帧N-1出现在启动致动器组件16之前,所以用户很可能曾瞄准目标光学代码并准备着启动致动器组件16。在帧N-1的获取期间,产生瞄准图案,相应地,在该图像数据中获取了瞄准图案。在步骤406中,用光学代码选择器模块32来处理所获取的帧N-1的图像数据的至少一部分,以便确定与瞄准图案中心相对应的像素206a的位置L。
在步骤407中,停止产生瞄准图案。在步骤408中,在禁止(不产生)瞄准图案的同时获取帧N+1的图像数据,所以在该图像数据中没有获取瞄准图案。在步骤412中,用光学代码选择器模块32来处理帧N+2的图像数据中的至少一部分,以便确定并选择与位置L处的像素206b靠得最近的光学代码212。或者,当在像素206b附近区域内(例如,到像素206b的预定距离之内)找到各个光学代码或其部分时选择这些光学代码。在步骤414中,处理选中的光学代码或其各部分(例如,光学代码212),例如用解码器模块30对其进行解码。在步骤416中,处理后的(例如解码后的)代码被发送到至少一个外围设备24,例如主处理器和/或显示器。
在所示的实施例中,如上所述,步骤402出现在帧N的获取期间,步骤404、406和407是在帧N的获取期间执行的。在帧N+1的获取期间执行步骤408和412,在开始获取帧N+2时执行步骤414。步骤406、412和/或414的执行可以基本上与获取图像数据同时。可以预想,可以并行地执行所述步骤的一种或多种组合。
可以预想,在图3的步骤304、306、308、312以及图4的步骤404、406、408、412中,所获取或处理的图像数据包括与特定的帧相对应的一部分图像数据,可以执行若干次重复操作,以便获取和/或处理与特定的帧相对应的各个连续的图像数据部分并试图确定位置L、目标光学代码212,和/或对选中的目标光学代码212执行解码操作,直到条件满足为止,比如成功地完成正执行的步骤,对特定的帧执行了次数足够多的处理尝试,或者超时条件出现。当获取图像数据时可以根据图像数据的可用性来处理连续的部分,或者可以根据设计选择来挑选图像数据的各部分。在2004年7月29日提交的美国专利申请10/901,623中,描述了在启动致动器之前的一个帧内所获取的图像数据的检索,该专利申请整体引用在此作为参考。
根据图3或4所示的方法,在启动致动器组件16时执行动态校准,以便恰当地确定扫描设备12曾瞄准的光学代码。动态校准克服了比如与制造有关的任何公差或方差所导致的变化。
在本发明的另一个实施例中,存储与瞄准图案中心相关的像素的位置L,用于各个位置L的确定,例如用于各个读取操作。光学代码选择器模块检索至少一个已存储的位置L,并根据检索到的至少一个已存储的位置L的至少一个函数来计算位置CL。较佳地,上述至少一个函数包括计算各个检索到的至少一个已存储的位置L的平均值。
当确定并存储新确定的位置L时,计算并更新计算出的位置CL。存储新确定的位置L和/或更新计算出的位置CL都可以在每次读取操作时执行,或者可以按规则或不规则的间隔来执行。用于存储L和CL数值的存储介质是非易失性的,并且可以与处理组件22包括在一起,或者可以由处理组件22访问到。还可以预想,L和CL的处理和存储都可以由主处理器来执行。
作为确定L的替代,可以使用计算出的位置CL,比如用于在图像获取期间产生瞄准图案的读取操作,但是光学代码选择器模块32确定在处理所获取的图像数据的过程中无法恢复瞄准图案的位置,例如,光学代码选择器模块32在处理所获取的图像数据的同时在充分地查找或处理瞄准图案这方面并不成功。当瞄准图案在图像数据内无法检测到或没有充分地获取时,上述这种情况可能出现。当在明亮的环境光条件下进行读取操作的时候,可能出现瞄准图案不可检测到或没有充分地获取的这种典型情况。
在本发明的另一个实施例中,一旦计算出的位置CL已建立,则计算出的位置CL被用于选择正被瞄准的光学代码。下文进一步描述用于确定计算出的位置CL是否已建立的方法。如果确定计算出的位置CL尚未建立,则必须确定L,比如通过使用图3或图4的方法。
当计算出的位置CL已建立时,响应于启动信号的接收,瞄准控制器20立即停止产生瞄准图案,进而执行读取操作。在禁止瞄准图案的情况下,获取了第一帧图像数据。通过将计算出的位置CL用作瞄准图案的中心来代替确定瞄准图案中心所对应的像素位置,光学代码选择器模块32对图像数据进行处理,并且选择位于各个位置处的光学代码,此处与计算出的位置CL有关的各个位置符合预定的条件。
可以发送选中的数据以便进一步处理(例如解码),或者可以按下文那样验证计算出的位置CL。在禁止瞄准图案的情况下获取图像数据之后,瞄准控制器20启动瞄准图案的产生,并且在产生瞄准图案的情况下获取第二帧图像数据,所以瞄准图案与第二帧图像数据一起获取。第二帧图像数据被光学代码选择器模块32处理,以便确定与瞄准图案的中心相对应的像素的位置L。当新确定的L离计算出的位置CL足够近时,例如CL和L之间的任何差异小于预定的阈值,便没有必要获取完整的第二帧图像数据,因为光学代码的处理(例如解码)是对第一帧数据中的图像数据执行的。另外,处理第二帧的图像数据,以便选择并处理位于各个位置处的光学代码,其中与确定的位置L有关的各位置符合预定的条件。
如上所述,可以在先前的读取操作期间执行关于CL是否确立的判断,比如通过将最近确定的CL或L数值与先前确定的CL或L数值进行比较。如果被比较的数值之间的差异小于预定的阈值,则可以判定为已建立CL。
在本发明的另一个实施例中,提供了视差范围测量模块34,它处理先前确定的L值,这包括跟踪因视差这样的原因而导致的L的变化,此处瞄准图案的位置取决于被成像的目标与扫描器系统10(特别是扫描设备12)之间的距离。确立了可能的L值的范围。可能的L值的范围的外部值对应于操作距离范围的外部值,此处操作距离是扫描系统(特别是扫描设备12,例如它的光传感器阵列)与目标之间的距离,在该距离处可实现成功的读取操作。当已建立操作距离范围的外部值时,可以根据经验来确定和/或通过计算来确定可能的L值的范围的外部值,如下所述。
有各种各样的方式可以建立操作距离的范围的外部值。例如,可以根据经验来建立操作距离的范围的外部值,其中只使用与成功的读取操作相关的操作距离来确定其外部值。此外,对所用的特定模型,可能已知扫描设备12的操作距离的范围的外部值,或者可以基于扫描器系统10(尤其是扫描设备12)的规格和尺寸来计算。
相似的是,可以有各种各样的方式来建立可能的L值的范围的外部值。例如,在正常使用扫描设备12的情况下,可以确定L的历史数值中的最大和最小值。此外,用户可以操作扫描设备12,以测试扫描设备12的外部边界,比如通过扫描那些位于离扫描设备12为最小和最大操作距离处的目标并且存储相应的L数值。L的历史数值可以只包括与成功的读取操作相关而确定的L数值。此外,也可以基于计算来建立可能的L值的范围的外部值,这可能包括使用与扫描器系统(尤其是扫描设备12)的规格和尺寸有关的知识。
在读取操作期间,在没有产生瞄准图案的情况下获取一帧图像数据,所以瞄准图案并未与图像数据一起被捕获。对与可能的L值的范围相关的像素进行定位并确立为与可能的L值的范围相对应的中心像素群。处理与中心像素群离开预先确立的阈值距离之内的位置处的像素的邻近区域,以便找出光学代码。进一步处理在像素邻近区域内找到的光学代码或其部分,比如对其进行解码。当光学代码的一部分位于像素的邻近区域之内时,可以处理该部分和/或可以处理该光学代码的其余部分,这可取决于位于像素邻近区域之内的该光学代码的一部分的重要程度。
在本发明的另一个实施例中,系统10还包射程探测器模块36,它包括电路和/或可执行的指令,用于确定扫描设备12(例如扫描设备12的光传感器阵列)与正被成像的目标之间的距离。用于确定正被成像的目标与扫描设备之间的距离的各种系统和方法都是已知的。例如,在美国专利6,340,114B1以及2003年4月29日提交的共同待批的美国申请10/425,499中描述了这种系统,这两个专利都已转让给Symbol Technologies公司,它们整体引用在此作为参考。
在读取操作期间,在没有产生瞄准图案的情况下获取了一帧图像数据,所以瞄准图案没有与图像数据一起被捕获。通过使用由射程探测器模块36所确定的距离以及扫描设备12的具体尺寸(例如,成像器模块14的几何尺寸),视差范围测量模块34便计算瞄准图案中心的位置L。进一步处理与计算出的位置L相对应的像素附近区域之内(例如,离像素预定距离之内)找到的光学代码或其部分,比如对其进行解码。当光学代码的一部分位于位置L所对应的像素的附近区域之内时,可以处理该部分和/或可以处理该光学代码的其余部分,这可取决于位于该附近区域内的该光学代码的一部分的重要程度。
可以预想,正被成像的目标可能不是光学代码,而可能是在视场中的其它实体附近的非代码式实体。所描述的瞄准技术帮助从其它实体中选择所期望的实体以对其进行进一步处理,这可能是解码以外的处理,比如传输、字符识别、图像处理等。
所描述的本发明的实施例旨在给出解释说明而并非具有限制性,并且不代表本发明的每一个实施例。在不背离法律上认可的书面和等价方案所限定的下列权利要求书阐述的本发明的精神和范围的情况下,各种修改和变化都是可能的。
权利要求
1.一种用于读取至少一个光学代码的光学代码扫描器系统,包括成像器模块,用于获取一连串的至少一个帧的图像数据,各个帧的图像数据包括与所述成像器模块的视场的成像相对应的像素数据阵列;瞄准组件,它具有至少一个光源,用于产生至少一个光束,从而在所述视场内形成可见的瞄准图案;瞄准控制器,用于控制所述瞄准组件,所述瞄准控制器响应于用于指示读取操作开始的启动信号的接收,在至少一个帧的图像数据的获取期间控制着瞄准图案的产生;以及光学代码选择器模块,它可以在至少一个处理器上执行,用于根据读取操作执行对产生瞄准图案时所获取的第一帧图像数据的至少一部分进行处理,以确定像素数据阵列中与瞄准图案相对应的至少一个像素的位置L;处理在未产生瞄准图案时所获取的至少一帧图像数据中的第二帧图像数据的至少一部分,这包括选择在所获取的图像数据中获取的、位于各个位置处的至少一个光学代码,其中所述各个位置符合与所确定的位置L有关的预定条件,并且提供选中的至少一个光学代码以便根据读取操作进行进一步处理。
2.如权利要求1所述的系统,其特征在于,所述第二帧是在所述第一帧之后获取的。
3.如权利要求1所述的系统,其特征在于,所述系统还包括解码器模块,它可以在所述处理器组件上执行,用于执行解码操作以便对所述选中的至少一个光学代码进行解码。
4.如权利要求1所述的系统,其特征在于,针对各至少一个读取操作,存储所确定的位置L;以及所述光学代码选择器模块检索至少一个已存储的位置L,并且根据检索到的至少一个已存储的位置L的至少一个函数来计算位置CL。
5.如权利要求4所述的系统,其特征在于,所述至少一个函数包括对所述至少一个已存储的位置L求平均。
6.如权利要求4所述的系统,其特征在于,针对接下来的读取操作,所述光学代码选择器模块处理在产生瞄准图案时所获取的第一帧图像数据的至少一部分,并且确定在所述第一帧图像数据的至少一部分的处理期间无法恢复瞄准图案的位置;处理在不产生瞄准图案时所获取的第二帧图像数据的至少一部分,这包括选择在所获取的图像数据中获取的、位于各个位置处的至少一个光学代码,其中所述各个位置符合与计算出的位置CL有关的预定条件;以及提供选中的至少一个光学代码,以便根据读取操作进行进一步处理。
7.如权利要求4所述的系统,其特征在于,在接下来的读取操作期间,所述光学代码选择器模块通过使用计算出的位置CL,来处理在不产生瞄准图案时所获取的一帧图像数据,而不处理在产生瞄准图案时所获取的一帧图像数据,这包括选择在所获取的图像数据中获取的、位于各个位置处的至少一个光学代码,其中所述各个位置符合与计算出的位置CL有关的预定条件。
8.如权利要求7所述的系统,其特征在于,在所述接下来的读取操作期间所述光学代码选择器模块确定计算出的位置CL是否已建立好;仅当计算出的位置CL被确定为已建立好时,才用计算出的位置CL来处理所述那一帧图像数据,在这种情况下提供选中的至少一个光学代码,以便根据接下来的读取操作进行进一步处理;以及当计算出的位置CL未被确定为已建立好时,在接下来的读取操作期间,处理在产生瞄准图案时所获取的第一帧图像数据,以确定像素数据阵列中与瞄准图案相对应的至少一个像素的位置L;以及处理在未产生瞄准图案时所获取的第二帧图像数据,这包括选择在所获取的图像数据中获取的、位于各个位置处的至少一个光学代码,其中所述各个位置符合与所确定的位置L有关的预定条件,并且提供选中的至少一个光学代码,以便根据接下来的读取操作进行进一步处理。
9.如权利要求8所述的系统,其特征在于,确定计算出的位置CL是否已建立好包括确定最近计算出的位置CL与先前计算出的位置CL之间的差异是否在预定的阈值水平以下。
10.如权利要求7所述的系统,其特征在于,在所述接下来的读取操作期间,所述瞄准控制器响应于启动信号的接收,立即控制所述瞄准组件停止产生瞄准图案以便获取所述那一帧图像数据。
11.如权利要求7所述的系统,其特征在于,在所述接下来的读取操作期间,在获取所述那一帧图像数据之后所述瞄准控制器控制所述瞄准组件产生瞄准图案以便获取第二帧图像数据;所述光学代码选择器模块处理所述第二帧图像数据的至少一部分,以便确定在像素数据阵列中与所述第二帧图像数据中所获取的瞄准图案相对应的至少一个像素的位置L;所述光学代码选择器模块将针对所述第二帧图像数据而确定的L与计算出的位置CL进行比较,并且如果被比较的数值之间的差异低于阈值,则提供选中的至少一个光学代码以便根据接下来的读取操作进行进一步处理;以及否则,选择在所述第二帧图像数据中获取的、位于各个位置处的至少一个光学代码,其中所述第二帧图像数据的各个位置符合与所确定的位置L有关的预定条件,并且提供选中的至少一个光学代码以便根据接下来的读取操作进行进一步处理。
12.如权利要求1所述的系统,其特征在于所述系统还包括视差范围测量模块,它根据与扫描器系统相关的操作距离值的范围,确定像素数据阵列中与瞄准图案相对应的至少一个像素的位置L的范围;以及针对接下来的读取操作,所述光学代码选择器模块处理在未产生瞄准图案时所获取的一帧图像数据的至少一部分,并且确定在所述接下来的读取操作期间获取的、与所述位置L的范围相对应的图像数据的像素群,这包括选择与所述接下来的读取操作期间所获取的图像数据一起获取的、位于各个位置处的至少一个光学代码,其中所述各个位置符合与所述位置L的范围有关的预定条件,并且提供选中的至少一个光学代码以便根据接下来的读取操作作进一步处理。
13.一种用于读取至少一个光学代码的光学代码扫描器系统,包括成像器模块,用于获取一连串的至少一个帧的图像数据,各个帧的图像数据包括与所述成像器模块的视场的成像相对应的像素数据阵列;瞄准组件,它具有至少一个光源,用于产生至少一个光束,从而在所述视场中形成可见的瞄准图案;射程探测器模块,用于确定所述扫描器系统与待成像的至少一个光学代码之间的距离;视差范围测量模块,它根据所述射程探测器模块所确定的距离,来确定所述像素数据阵列中与瞄准图案相对应的至少一个像素的位置L;以及光学代码选择器模块,它可以在至少一个处理器上执行,用于处理在读取操作期间产生瞄准图案时所获取的一帧图像数据的至少一部分,这包括在所获取的图像数据中选择位于各个位置处的至少一个光学代码,其中在所述读取操作期间所确定的各个位置符合与位置L有关的预定条件,并且提供选中的至少一个光学代码以便根据读取操作进行进一步处理。
14.一种用于读取至少一个光学代码的方法,包括如下步骤对视场进行成像,这包括获取一连串的至少一个帧的图像数据,各个帧的图像数据包括与所述成像的视场相对应的像素数据阵列;产生至少一个光束,从而在所述视场中形成可见的瞄准图案;响应于用于指示读取操作开始的启动信号的接收,在至少一个帧的图像数据的获取期间,控制瞄准图案的产生;以及执行读取操作,这包括如下步骤处理在产生瞄准图案时所获取的第一帧图像数据的至少一部分,以确定所述像素数据阵列中与瞄准图案相对应的至少一个像素的位置L;以及处理在未产生瞄准图案时所获取的所述至少一个帧的图像数据中第二帧图像数据的至少一部分,这包括如下步骤在所获取的图像数据中选择位于各个位置处的、所获取的至少一个光学代码;其中所述各个位置符合与所确定的位置L有关的预定条件;以及提供选中的至少一个光学代码,以便根据读取操作进行进一步处理。
15.如权利要求14所述的方法,还包括如下步骤针对各个至少一个读取操作,存储所确定的位置L;检索至少一个已存储的位置L;以及根据检索到的至少一个已存储的位置L的至少一个函数,来计算位置CL。
16.如权利要求15所述的方法,其特征在于,所述至少一个函数包括对所述至少一个已存储的位置L求平均。
17.如权利要求15所述的方法,还包括如下步骤在接下来的读取操作期间,通过使用计算出的位置CL,来处理在未产生瞄准图案时所获取的一帧图像数据,而不处理在产生瞄准图案时所获取的一帧图像数据,这包括如下步骤在所获取的图像数据中选择位于各个位置处的、所获取的至少一个光学代码,其中所述各个位置符合与计算出的位置CL有关的预定条件。
18.权利要求17所述的方法,还包括如下步骤确定计算出的位置CL是否已建立好;当计算出的位置CL被确定为已建立好时在接下来的读取操作期间,通过使用计算出的位置CL,来处理所述那一帧的图像数据;以及提供选中的至少一个光学代码,以便根据接下来的读取操作进行进一步处理;以及当计算出的位置CL未被确定为已建立好时在接下来的读取操作期间,处理在产生瞄准图案时所获取的第一帧图像数据,这包括如下步骤确定在所述像素数据阵列中与瞄准图案相对应的至少一个像素的位置L;以及处理在未产生瞄准图案时所获取的第二帧图像数据,这包括如下步骤在所获取的图像数据中选择位于各个位置处的、所获取的至少一个光学代码,其中所述各个位置符合与所确定的位置L有关的预定条件;以及提供选中的至少一个光学代码,以便根据接下来的读取操作进行进一步处理。
19.如权利要求15所述的方法,还包括如下步骤针对各个接下来的读取操作,确定位置L;当各个位置L被确定时,存储各个已确定的位置L;以及用最近存储的位置L来更新CL。
20.如权利要求14所述的方法,还包括如下步骤根据与所述成像相关的操作距离值的范围,确定所述像素数据阵列中与瞄准图案相对应的至少一个像素的位置LL的范围;以及在接下来的读取操作期间,处理在未产生瞄准图案时所获取的一帧图像数据的至少一部分,以便确定在接下来的读取操作期间所获取的、与所述位置L的范围相对应的图像数据的像素群,这包括如下步骤在接下来的读取操作期间所获取的图像数据中选择位于各个位置处的至少一个光学代码,其中所述各个位置符合与所述位置L的范围有关的预定条件;以及提供选中的至少一个光学代码,以便根据接下来的读取操作进行进一步处理。
21.一种用于读取至少一个光学代码的方法,包括如下步骤用扫描系统对视场进行成像,这包括获取一连串的至少一个帧的图像数据,各个帧的图像数据包括与所述成像的视场相对应的像素数据阵列;产生至少一个光束,从而在所述视场中形成可见的瞄准图案;确定所述扫描器系统与待成像的至少一个光学代码之间的距离;根据所确定的距离,确定所述像素数据阵列中与瞄准图案相对应的至少一个像素的位置L;以及处理在读取操作期间产生瞄准图案时所获取的一帧图像数据的至少一部分,这包括如下步骤在所获取的图像数据中选择位于各个位置处的、所获取的至少一个光学代码,其中在读取操作期间所确定的各个位置符合与位置L有关的预定条件;以及提供选中的至少一个光学代码,以便根据读取操作进行进一步处理。
全文摘要
提供了一种用于执行读取操作的系统和方法,其中包括获取一连串帧的图像数据;处理在产生瞄准图案(204)时所获取的、包括像素数据阵列在内的第一帧图像数据,以确定该像素数据阵列中与瞄准图案相对应的至少一个像素的位置L(206a);以及处理在未产生瞄准图案(204)时所获取的第二帧图像数据。第二帧图像数据的处理包括如下步骤在第二帧图像数据中选择位于各个位置处的至少一个光学代码;其中各个位置符合与所确定的位置L(206a)有关的预定条件;以及提供选中的至少一个光学代码,以便根据读取操作进行进一步处理。
文档编号G06K7/14GK101061487SQ200580033621
公开日2007年10月24日 申请日期2005年8月22日 优先权日2004年8月31日
发明者M·佩蒂尔, C·W·布洛克, M·特拉伊科弗克, E·哈顿, W·塞柯特 申请人:讯宝科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1