CN107844729A - 用于在不同位置执行不同解码算法的方法和装置 - Google Patents

用于在不同位置执行不同解码算法的方法和装置 Download PDF

Info

Publication number
CN107844729A
CN107844729A CN201711062857.6A CN201711062857A CN107844729A CN 107844729 A CN107844729 A CN 107844729A CN 201711062857 A CN201711062857 A CN 201711062857A CN 107844729 A CN107844729 A CN 107844729A
Authority
CN
China
Prior art keywords
decoding algorithm
image
decoding
candidate key
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201711062857.6A
Other languages
English (en)
Inventor
J·内格罗
叶芗芸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cognex Corp
Original Assignee
Cognex Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cognex Corp filed Critical Cognex Corp
Publication of CN107844729A publication Critical patent/CN107844729A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10712Fixed beam scanning
    • G06K7/10722Photodetector array or CCD scanning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10881Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices constructional details of hand-held scanners
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1447Methods for optical code recognition including a method step for retrieval of the optical code extracting optical codes from image or text carrying said optical code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/224Character recognition characterised by the type of writing of printed characters having additional code marks or containing code marks

Abstract

公开一种用于在不同位置执行不同解码算法的方法和装置。一种用于使用包括二维视场(FOV)的图像传感器对设置在物体上的代码进行解码的方法和装置,该方法包括提供被编程以执行以下步骤的处理器的步骤:获取FOV的图像并对所获取图像中的候选码应用不同的解码算法以尝试解码候选码,其中应用于每个候选的解码算法与候选码在FOV中的位置相关。

Description

用于在不同位置执行不同解码算法的方法和装置
本申请是申请日为2012年11月02日、中国国家阶段申请号为201210595763.6、题为“用于在不同位置执行不同解码算法的方法和装置”的发明专利申请的分案申请。
技术领域
本发明涉及代码读取器,更特别地,涉及试图优化解码过程以在所获得的图像中加快候选码的分析的代码读取器。
背景技术
多年来,对使用光学代码的产品的自动识别已广泛实现于工业操作以及许多其它应用中。光学代码是由具有不同光反射或发射的元素所组成并根据预定义规则聚集而成的图案。光学代码中的元素可以是线性条码中的条形或空白,或者可以是二维矩阵码中的开/关图案。条码或符号可打印在产品包装的标签上,或通过直接部件标记而直接印在产品本身上。条码或符号中编码的信息可利用固定安装的装置或便携式手持设备中的光学读取器来解码。当在手持读取器设备的情况下,设备用户将设备朝向代码,通常借助于该设备产生的出现在要成像的物体表面的光目标图案,并且该设备自动获取包括代码的图像,或者用户激活该设备以获取图像。
至少某些读取器设备包括能够生成视场二维图像的相机。例如,现有的多种系统利用二维CCD图像传感器,其获取图像并生成提供至处理器的图像数据。该处理器被编程以检查图像数据、标识候选码(例如候选条码或符号)以及尝试对候选码进行解码。至少某些读取器设备被编程以连续快速地获取FOV图像并尝试对所获得图像中的任何候选码尽可能快地解码。为了进行解码,处理器运行一个或多个解码算法。
当获取代码的图像时,图像质量依赖于若干因素,包括传感器相对于设置代码的表面之间的角度、设置代码的表面的材料和纹理、代码标记质量或标记后的损坏、周围和设备光照特性、与设置代码表面的距离、光学模糊、相机分辨率等。图像质量影响着处理器运行特定算法来解码代码的能力。例如,在多种情况下简单解码算法不能将图像中的代码成功解码,除非图像采集周围的环境相当理想。
为补偿不完美的图像采集,已经开发了相对较复杂的解码算法。例如,已开发某些解码算法,其至少部分地补偿了不完美的光照、设置代码的弯曲表面、不完美的传感器与设置代码的表面的夹角等。
尽管复杂的解码算法起到了补偿缺陷图像的作用,但一大缺点在于,复杂的算法通常需要更多的处理能力和相当数量的时间来执行。下文中,除非另外指出,相对复杂的算法或一般而言需要相对长时间来执行的算法将被称为“昂贵的”或“较昂贵的”算法,而相对简单的算法或一般而言需要相对短时间完成的算法将被称为“廉价的”或“较廉价的”算法。
尽管较昂贵的算法在某些应用中不会成为问题,但在图像被连续快速获取的应用中,需要相对长时间来完成的昂贵算法会产生远超出读取器处理器性能的计算需求。更特别地,在某些情况下,图像传感器能够快速地获取并提供图像,以使读取器设备的处理器在接收下一图像之前,无法在图像中的所有候选码上执行昂贵算法。
当处理器跟不上对快速图像系列中所有候选码执行昂贵算法所需要的计算需求时,一个解决方案可以是先行分析下一图像中的候选,直到读取器设备已尝试解码当前图像中的所有候选码。因此,举例而言,在尝试解码第一图像中所有候选码的所需时段期间第二至第四图像被获取,当第五图像被获取且第五图像中的候选码被检查时第二至第四图像将被丢弃。虽然这一解决方案保证了该昂贵算法应用于当前或第一图像的所有候选码,但该解决方案在第一图像中的候选码被处理时简单地忽略了第二至第四图像中的候选码,而不管后续图像中的候选可能更适合被解码的事实。在这种情况下,成功地成像并解码代码所需的总时间将被延长,其中设备无法成功解码第一图像中的任何候选,这将给设备用户带来困扰的延迟。
发明内容
与本发明某些实施例的至少一方面相一致,已经认识到具有不同相对开销(即需要不同时间量来完成)的解码算法可用于分析所获取的图像,来加快总体解码过程,以使处理器能够尝试至少标识图像中候选码的子集的全部并利用至少某一算法来解码该子集中的全部候选。更特别地,可以有利地由图像中的位置确定将哪种算法应用在图像的部分来标识候选以及将哪种算法应用于图像中的特定候选码。
例如,在设备用户使用期间手动地移动读取器设备以将读取器的视场(FOV)对准待读取代码的手持读取器设备的情况下,多数用户持续不断地移动读取器设备以将该代码与FOV更好地对准,并将该读取器相对于设置代码的表面更好地定位,直到该设备指示该代码已被成功解码(例如发射光、发出声音、在通信信道上返回数据等)。因而,在手动对准过程开始和包括代码的第一图像被获取时,该代码可能位于FOV外边界附近,而相机可能相对于设置有代码的表面形成夹角。通过手动调整以及在后续成像期间,代码将更加对准于FOV的中心部分而相机与表面的夹角将更为合适。在这种情况下,至少某些实施例中,可行的是将FOV划分为中心关注区(ROI)和外围ROI,尝试标识中心ROI中的候选码并利用较昂贵的算法对中心ROI中的候选码进行解码,同时尝试标识外围ROI中的候选码并利用较廉价的算法对外围ROI中的候选码进行解码。这样,在FOV不完美地对准代码时获取的第一图像中,代码可位于外围ROI中,此时只有较廉价的算法用于标识候选码并对代码进行解码。在中心ROI包括代码的后续图像中,较昂贵的算法可用于标识候选码并解码该候选码。
在本文许多情况下,较廉价的算法将成功解码第一或早期图像中的候选码,该设备将指示成功解码,并且该过程完成。在其它情况下,当第一或早期图像被检查时,算法不能成功解码代码。然而,在后续图像中,与代码相关的候选码将反映更优选的FOV与代码的对准,因而昂贵算法能够相对较快地完成,且平均而言,总体解码过程被缩短。
在其它情况下FOV可划分为三个或更多个ROI,不同的解码算法可应用于三个或更多个ROI的每一个中的候选。
尽管ROI可基于使用读取器设备的假定方式被预先指定,但在其它实施例中ROI仍可实时地进行实质性改变,以反映设备被使用的方式。例如在某些情况下,“昂贵的ROI”表示处理器尝试定位并利用较昂贵的解码算法来解码候选的ROI,并且可被分配至先前代码最后被成功解码的FOV区域。因此,最近被解码的代码位于FOV的左侧附近时,昂贵的ROI可移动至该位置,其中FOV的余部可包括较廉价的ROI。
在某些实施例中,ROI可实时地进行实质性改变,以基于设备能够多快完成图像的全部所需候选解码尝试来改变其相对大小。例如,如果在处理器以相似方式从相机接收下一图像之前的至少一阈值时段以前或以内,处理器对一个或一系列图像完成全部解码尝试,则中心昂贵ROI的大小可增加,如果处理器无法在所需时段内尝试对全部图像候选解码,则昂贵的ROI的大小可减小。通过增加中心昂贵ROI的大小,在中心ROI会出现更多的候选码,用于后续图像中的解码尝试,从而增加完成图像全部解码尝试所需要的时间。
在某些实施例中,候选码的位置可通过其它方式来使用,以确定将哪些算法应用于哪种代码。例如,可能对于特定的昂贵算法,已知处理器始终能够在接收下一图像之前尝试对三个候选进行解码。此时,该处理器可被编程以选择三个位置最中心的候选码用于利用昂贵算法进行解码尝试,并可尝试利用较廉价的算法解码所有其它候选。
在其它实施例中,读取器设备处理器可被编程以从图像中的关注点开始,以下列次序对候选码排序,即距离该关注点最近的候选为第一且距离该点较远的候选列在其后,并尝试以该次序来解码候选码直到某个下一图像事件发生。此处,下一图像事件可以是接收到的来自相机的下一图像。在其它情况下,下一图像事件可由计时器的超时来触发,其超出应在接收下一图像之前期满的时段。其它下一图像事件是可预期的。
与本发明某些实施例的另一方面相一致,读取器设备处理器可被编程以将第一相对廉价的代码算法应用于一系列图像中的候选码,并且如果该设备处理器未能成功解码任一图像中的代码,可以将该图像存储至存储器。其后,该处理器可被编程以在一组图像被存储之后,再次访问图像中的一个或子集或全部并将较昂贵的解码算法应用于一个或多个图像中的全部候选码或其子集,以尝试解码候选。在至少某些情况下,当一个或多个图像被再次访问时,较昂贵的算法以与上述任一种教导相一致的方式来应用,例如,通过将昂贵的算法应用于一个或多个图像中小于FOV的ROI,通过将昂贵的算法仅应用于该图像或每个图像中最接近关注点的候选的子集(如3个),等等。在某些情况下,当处理器再次访问一个以上的图像时,处理器可首先开始处理最近存储的图像并朝更早存储的图像进行回向处理,因为在至少某些应用(如手持应用)中FOV与代码的对准或定位在后续图像中会更好。也可构想处理存储图像的其它顺序。
在其它实施例中,当处理器未能成功解码图像中的候选码时,在对图像进行存储用于后续处理之前,处理器可将解码成功因子分配至该图像,其可由该处理器用来标识处理器应利用昂贵算法来分析的所存储图像的子集。
在其它实施例中,处理器可被编程以尝试利用廉价算法来解码全部候选码,并当全部尝试失败时,基于任一上述示例所表示的位置,尝试仅解码该候选的子集。在该可选项中,处理器可被编程以将解码成功因子至少分配至基于较廉价解码尝试而具有利用昂贵算法被成功解码的最大可能性的候选码的子集(如3-5个),然后可将该昂贵算法应用于该候选子集。
此外,在至少某些实施例中,当处理器再次访问其之前尝试利用较廉价算法解码的候选码时,该处理器可使用应用较廉价算法时所生成的信息,以加快完成较昂贵算法的过程。例如,当处理器能够利用较廉价算法来分析四分之三的代码时,该信息可能被用于加快后续算法。
某些实施例包括一种用于使用包括二维视场(FOV)的图像传感器对设置在物体上的代码进行解码的方法,该方法包括提供被编程以执行以下步骤的处理器的步骤:获取FOV的图像;标识图像中至少第一和第二关注区(ROI),其中第一ROI不同于第二ROI;尝试利用第一解码算法解码第一ROI中的候选码并尝试利用不同于第一解码算法的第二解码算法解码第二ROI中的候选码。
在某些情况下,该第一解码算法在计算上比第二解码算法复杂。在某些情况下,第一解码算法比第二解码算法需要更多的时间量来完成。在某些情况下,第一ROI包括FOV的中心部分。在某些情况下,第二ROI包括FOV中围绕第一ROI的部分。在某些情况下,该第一解码算法包括该第二解码算法以及附加解码算法。在某些情况下,该第一ROI包括对应于先前图像中成功解码的位置的ROI。
在某些情况下,该方法进一步包括以下步骤:标识图像中不同于第一和第二ROI的至少第三ROI,以及尝试利用不同于第一和第二解码算法的第三解码算法对该第三ROI中的候选码进行解码。在某些实施例中,该方法进一步包括从个人接收指示第一ROI或最佳位置的指示的步骤。在某些情况下,该第一ROI包括FOV中的位置和相对于该位置的距离。在某些情况下,该位置由图像中沿单个轴向的位置组成。在某些情况下,图像传感器组成便携式代码读取设备的一部分。在某些情况下,图像传感器组成手持代码读取设备的一部分。
在某些实施例中,传感器以重复方式获取图像且其中该第一ROI的大小至少部分地与尝试解码先前获取图像的第一ROI中的候选码所需时间相关地来确定。在某些情况下,传感器以重复方式获取图像且其中第二解码算法至少部分地与尝试解码先前获取图像中的候选码所需时间相关地来选择。在某些情况下,该第一和第二ROI在获取图像之前被预先指定。
某些实施例包括一种用于使用包括二维视场(FOV)的图像传感器对设置在物体上的代码进行解码的方法,该方法包括提供被编程以执行以下步骤的处理器的步骤:获取FOV图像并将不同的解码算法应用于候选码,以尝试解码该候选码,其中应用于每个候选的解码算法与候选码在FOV中的位置相关。
在某些情况下,该第一解码算法应用于第一关注区(ROI)中的候选码而不同于第一解码算法的第二解码算法应用于不同于第一ROI的第二ROI中的候选码。在某些情况下,第一ROI包括传感器FOV的中心部分而第二ROI包括FOV中围绕第一ROI的部分。在某些情况下,该传感器组成手持设备的一部分。在某些情况下,用于确定哪些解码算法应用于哪些候选码的函数发生改变,以最优化解码过程。
在某些情况下,该解码算法包括至少第一相对复杂的解码算法和第二相对简单的解码算法,且其中该函数发生改变以修改采用第一和第二解码算法的候选码的比率。在某些情况下,该比率与尝试利用第一和第二解码算法解码FOV中的候选码所需时间相关地改变。
其它实施例包括一种用于使用包括二维视场(FOV)的图像传感器对设置在物体上的代码进行解码的方法,该方法包括提供被编程以执行以下步骤的处理器的步骤:(i)获取FOV图像,(ii)尝试利用第一解码算法对图像中的候选码进行解码,(iii)在尝试解码候选码失败时,将图像保存在存储器中,(iv)重复步骤(i)至(iii)直到阈值数量的解码候选码尝试失败和候选码被成功解码中之一,在阈值数量的解码候选码尝试失败时,访问保存在存储器中的图像并尝试利用不同于第一解码算法的第二解码算法至少对存储于存储器中的图像的子集中的候选码进行解码。
其它实施例包括一种用于读取设置于物体上的代码的装置,该装置包括具有二维视场(FOV)的图像传感器,可链接至该传感器以从其获取图像数据的处理器,该处理器被编程以执行以下步骤:获取FOV的图像;标识图像中至少第一和第二关注区(ROI),其中第一ROI不同于第二ROI;尝试利用第一解码算法解码第一ROI中的候选码;以及尝试利用不同于第一解码算法的第二解码算法解码第二ROI中的候选码。
在某些情况下,该第一解码算法在计算上比第二解码算法复杂。在某些情况下,第一解码算法比第二解码算法需要更多的时间量来完成。在某些情况下,第一ROI包括FOV的中心部分。
另一实施例包括一种用于使用包括二维视场(FOV)的图像传感器对设置在物体上的代码进行解码的装置,该装置包括具有二维视场(FOV)的图像传感器,可链接至该图像传感器的处理器,该处理器被编程以执行以下步骤:获取FOV图像并将不同的解码算法应用于候选码,以尝试解码候选码,其中应用于每个候选的解码算法与候选码在FOV中的位置相关。
在某些情况下,该第一解码算法应用于第一关注区(ROI)中的候选码而不同于第一解码算法的第二解码算法应用于不同于第一ROI的第二ROI中的候选码。
其它实施例包括一种用于使用包括二维视场(FOV)的图像传感器对设置在物体上的代码进行解码的装置,该装置包括具有二维视场(FOV)的图像传感器,可链接至该图像传感器的处理器,该处理器被编程以执行以下步骤:(i)从传感器获取对应于FOV图像的图像数据,(ii)尝试利用第一解码算法对图像中的候选码进行解码,(iii)在尝试解码该候选码失败时,将图像保存在存储器中,(iv)重复步骤(i)至(iii)直到阈值数量的解码候选码尝试失败和候选码被成功解码中之一,在阈值数量的解码候选码尝试失败时,访问保存在存储器中的图像数据并尝试利用不同于第一解码算法的第二解码算法至少对存储于存储器中的图像的子集中的候选码进行解码。
为实现前述和相关目标,本发明包含了下文全面描述的特征。下文的描述和附图详细提出了本发明的某些说明性方面。然而,这些方面表示应用本发明的原理的各种方式,但只是其中少数几个。本发明的其它方面、优点和新颖性将在随后的发明详细描述中结合附图考虑时变得显而易见。
附图说明
图1是示出手持代码读取器的示意图,其具有与本发明至少某些方面相一致的特性;
图2是示出图1所示包含在手持设备中的内部组件的示意图;
图3是示例性视场、视场中的示例性关注区以及视场中示例性候选码的视图;
图4与图3相似,但示出了相对于视场和关注区在不同相对位置的候选码;
图5是示出一种方法的流程图,由此图2所示的处理器对视场中不同关注区的候选码执行不同的解码算法;
图6是与图3相似的示意图,但示出了不同的关注区图案;
图7与图3相似,但示出了另一关注区的图案;
图8与图3相似,但示出了另一关注区的图案;
图9与图3相似,但示出了视场内的关注点以及候选码;
图10与图9相似,但示出了视场内的关注线;
图11是可替代图5所示过程的一部分的子过程,由此视场内的关注区图案被改变以优化解码过程;
图12是可由图2所示处理器执行的过程,用于优化解码过程;
图13是可由图2所示处理器执行的另一过程,用于优化解码过程;
图14是可由图2所示处理器所执行的过程,由此一系列连续图像在利用简单解码算法解码候选码的尝试中首先被检查,之后该系列图像在利用相对较复杂的解码算法解码候选的尝试中被重新检查;以及
图15是示出可替代图14所示过程一部分的子过程的流程图,由此成功因子被分配至图像并随后用于标识在后续解码过程中使用的图像子集或图像次序。
尽管本发明允许多种修改和可替代的形式,但其特定实施例已通过附图中示例示出并在此详细描述。然而应当理解,本文对特定实施例的描述并非意图将本发明限制于所公开的特殊形式,相反,本发明意在包含落在如所附权利要求所定义的本发明精神和范围的所有修改、等同和替换。
具体实施方式
现将本发明的各方面结合附图来描述,其中类似的附图标记在多个视图中对应于相似的元素。然而应当理解,附图和下文相关的详细描述并非意图将所请求保护的主题限制于所公开的具体形式。相反,本发明意在包含落在要求保护主题的精神和范围的所有修改、等同和替换。
本文所用“组件”、“系统”等术语意指计算机相关实体,诸如硬件、软硬件结合、软件、或执行中的软件。例如,组件可以是但不限于运行在处理器上的进程、处理器、对象、可执行文件、执行线程、程序、和/或计算机。以说明的方式,运行在计算机上的应用以及计算机两者均可为组件。一个或多个组件可驻留于进程和/或执行线程中,并且组件可被定位于一台计算机和/或分布于两个或多个计算机或处理器之间。
“示例性”一词本文用于表示作为一个示例、实例或说明。本文描述为“示例性”的任何方面或设计并不一定被解释为优选的或优于其它方面或设计。
此外,所公开的主题可实现为利用标准编程和/或工程技术来生产软件、固件、硬件或其任意组合以控制计算机或基于处理器的设备来实现本文详述的方面的系统、方法、装置或制品。术语“制品”(或可替换地是“计算机程序产品”)在本文中意图用于涵盖从任意计算机可读设备、载体或介质中可存取的计算机程序。例如,计算机可读介质可包括但不限于,磁存储设备(如硬盘、软盘、磁带)、光盘(如压缩盘(CD)、数字通用盘(DVD)…)、智能卡、以及闪存设备(如卡、棒)。此外应当理解,可采用载波来承载计算机可读电子数据,诸如用于发送和接收电子邮件或接入网络(例如互联网或局域网(LAN))的那些数据。当然,本领域技术人员将会理解,对这种配置可进行多种修改而不偏离所要求保护主题的范围和精神。
现参见附图,其中类似的附图标记在多个视图中对应于相似的元素,更特别地,参见图1和图2,本发明将在示例性手持符号或代码读取器10的环境下描述,读取器10包括具有抓握部分102的外壳101、主体/圆筒部分104以及触发器111、CCD或其它类型的相机/传感器105、光学器件/透镜106、处理器108、计时器109、一个或多个指示器LED 132、用于照射读取器视场的LED(未示出)、扬声器/音频组件134、电池53、存储器52以及光源/子组件54。处理器108、计时器109、电池53、光学器件106、存储器52和光源54中的每一个均安装于外壳101中或以其它方式由其支撑。处理器108链接至计时器109、电池53、存储器52、光学器件106、相机/传感器105、光源54、指示器LED 132、照明LED和输出134中的每一个。处理器108运行存储于存储器52的程序以执行创造性过程。
除非另外指出,本发明将在所图示的手持读取器设备10的环境下描述,并假设处理器108被编程以检查所获取图像中的候选码,并尝试解码该候选码,直到候选中的任一个被成功解码。当候选被成功解码时,处理器108使LED 132和/或输出134生成信号,以向设备用户指示解码成功。然而,应当理解,本文至少某些方面和实施例适用于固定使用的读取器设备或处理器被编程以查找和解码任一图像或图像集合中的一个以上代码的情况。
仍参见图1和2,光学器件106将视场(FOV)107聚焦在读取器10中的CCD或其它类型的传感器设备105上,由此生成包含位于FOV 107中的事物的高分辨率图像的数据。视场107沿FOV轴109居中。因此,当FOV 107朝向设置于事物130的表面128上的代码112且读取器10被激活以生成图像时,包括代码112的图像被获取。相机105生成快速的连续图像系列。尽管连续图像之间的时间短暂,但该时间基于代码读取领域技术人员熟知的若干因素而改变。
现参见图3,示出示例性FOV 107。在所示FOV 107中,有三个候选码112a、112b和112c,其中只有候选码112b对应于实际矩阵码。因此候选码112a和112c仅表示图像伪像,其在图像初始分析时具有与伪像是要解码的实际矩阵码相一致的某些特征。
仍参见图3,在本发明至少某些实施例中,FOV 107可划分为分离的关注区(ROI),其中不同的解码算法由处理器108(仍见图2)使用,以尝试解码不同ROI中的候选码。例如在图3中,示例性ROI 150包括FOV 107的圆形中心部分。在这种情况下,第一ROI 150外部的FOV 107的余部可被认为是第二ROI 212。在这一实施例中,可以构想,将第一解码算法用于尝试解码第一ROI 150中的任何候选码,而将第二解码算法用于解码第二ROI 210中存在的任何候选码。因此在图3中,第一解码算法可用于解码候选码112a,而第二解码算法可用于尝试解码候选码112c。
在至少某些实施例中,用于尝试解码部分处于第一ROI 150且部分处于第二ROI210中的候选码112b的解码算法可依赖于候选码112b存在于ROI 150中的百分比。例如,当候选112b的50%以上存在于ROI 150中时,第一解码算法可用于尝试解码候选112b。在其它实施例中,如果诸如112b之类的候选的任何部分存在于ROI 150中,则第一解码算法可用于尝试解码候选112b。
在上述示例中,在至少某些实施例中,用于尝试解码处于或关联于第一ROI 150的候选码的第一解码算法可以是相对更稳健或复杂的算法,即比第二解码算法相对更加计算密集,因此需要比第二解码算法更多的时间量来完成。基于所需时间,本文的第一解码算法被称为比廉价的第二解码算法更昂贵。因此,举例而言,第一解码算法平均可能需要第二解码算法完成所需时段的三倍或更多倍的时段。
以上结合图3描述的其中第一ROI 150包括视场107中心部分的示例在如图1示出的手持读取器设备10的环境中尤其有利,其中设备用户借助于来自设备10的瞄准照明而在附近移动设备10,以尝试将FOV 107对准要被成像和解码的代码。因而,已经意识到尝试将FOV对准待成像代码的手持设备用户通常在附近移动设备,以增进FOV和代码的对准,直到代码被成像且成功解码。因而,虽然待成像代码在首次获取图像时最初存在于第二ROI210,但在短时间内待解码的代码典型地位于FOV 107的第一ROI 150中。例如,仍参见图3,待解码的实际代码112b最初位于所示的外围ROI 210。图4示出了类似于图3的图像,但其后的短时间内手持设备(仍见图1)由用户移动以将FOV107更好地对准候选112b,以使候选112b存在于ROI 150中。
现参见图5,示出了可由图2中的处理器108执行并与图3和4描述的示例一致的示例性过程170。在框171中,关注区被定义并存储于图2所示的存储器52中。仍参见图3,被定义并存储的示例性ROI在所示出的示例中包括ROI 150和210。接下来在框172中,图2中的相机传感器105获取视场107的图像并将图像提供至处理器108。接收该图像后,在框174中处理器108标识图像中的候选码。仍然在图3中,待标识的示例性候选包括候选112a、112b和112c。在框176中,处理器108标识图像中的ROI 150和210。
继续,图5中的框178,处理器108尝试利用第一较昂贵或复杂的解码算法解码第一ROI 150中的候选码。仍参见图3,在框178中处理器108仅尝试利用昂贵算法解码候选码112a,因为其它候选码112b和112c位于ROI 150之外。在框180中,处理器108尝试利用第二或较廉价的解码算法解码存在于第二ROI 210中(例如在第一ROI 150以外的视场部分之中)的候选码。因此,在框180中处理器108尝试利用第二较廉价的解码算法来解码候选码112b和候选码112c。在框180之后,控制返回至框172,其中相机105获取视场107的下一图像并将该图像提供至处理器108。
图5所示过程重复进行,直到候选码中任一个被成功解码。因此,举例而言,如果候选码112b利用第二较廉价算法成功解码,则处理器108通过LED132照射和/或经音频输出134(仍见图2)生成声音来指示代码已被成功解码,而该图像获取和候选解码过程暂停。在图3和4所示的示例中,最终,该第二解码算法成功解码候选112b,或者候选112b出现于第一ROI 150中且第一较昂贵的算法由处理器108执行以解码该候选。虽然图5示出了第一解码算法首先执行,但在其它实施例中也可首先对第二ROI中的候选执行第二解码算法,然后对第一ROI中的候选执行第一算法。在另外的实施例中,该第一和第二算法可并行开始或至少部分地并行地执行,而非串行执行。
尽管图3示出了圆形的中心第一ROI 150,但应当理解,FOV 107可分为多个其它ROI图案。例如在图3示出的至少某些实施例中,第二ROI 210可分为第二和第三ROI 212和210,相应地,第二ROI 212包括视场107中围绕第一ROI 150的部分,而第三ROI 210包括视场107中围绕第二ROI 212的部分。这里可以构想,处理器108可被编程以通过类似于上述方式对出现于第一、第二和第三ROI 150、212和210的候选码分别执行不同的第一、第二和第三解码算法。
作为另一示例,参见图6,示出了FOV 107分为第一和第二ROI 220和222,相应地,第一ROI 220包括穿过视场107的中心水平带,而第二ROI 222包括在带220上方和下方的视场107余部。图6所示的实施例在读取器设备被安装用于传输线上固定操作的情况下尤其有效,其中已知用代码标记的物体将典型地位于传输线上,因而代码通常出现于带ROI 220中。
参见图7,示意性地示出了又一ROI图案,其中第一ROI 221包括ROV107的矩形区域,而FOV 107的余部形成了第二ROI 223。图7所示的ROI定义在以下情况下尤其有效,其中组件(例如参见图7的219)沿传输线移动穿过FOV107并且相机105由物体位置传感器触发以获取用于解码的图像,以及其中已知当触发产生时,出现在示例性物体上的代码典型地位于第一ROI 221中。
图8示意性地示出了又一ROI图案或定义,其中第一ROI 241包括FOV107的中心部分周围向一侧张开的空间,而第二ROI 242包括FOV 107的余部。这一ROI图案也可在固定读取器设备的环境下有效,其中传输线移动物体从右到左穿过视场107,如图8所示,以使对于每个候选,首先尝试较廉价的算法随后是较昂贵的算法,且其中该ROI反映出,在特定应用中代码可典型地出现于FOV 107中心水平带中。
在某些实施例中,可以构想,ROI还可由距FOV 107内一个或多个点的距离来定义。为实现该目的,现参见图9,示例性中心点或FOV 107内的关注中心点由数字240标识。这里每个候选码112a、112b和112c位于视场107的被获取图像中,与点240的距离各不相同。第一ROI可由点240和距离点240的径向值R1来定义,以使距离点240的距离为R1的任何候选均处于第一ROI中,因此利用第一较昂贵的解码算法来解码,而该空间之外的候选位于第二ROI中并利用第二解码算法来解码。
在又一实施例中,可以构想,基于获取下一图像的已知或估计时间,处理器108可被编程以尝试利用第一、相对昂贵的解码算法仅解码特定数量的候选码,其中候选可基于其位置来选择,更特别地,基于视场内的点(例如参见图9的240)与每个候选之间的距离来选择。例如,处理器108可被编程以尝试利用第一解码算法仅解码距图9中点240最近的三个候选码,并尝试利用第二解码算法解码视场107中的任何其它候选码。
参见图10,作为基于到点的距离标识候选码位置的替换,位置可基于到线250的距离。此时,处理器108首先解码最接近线250的候选,再向外处理其它候选。除点和线外,也可构想其它几何形状用于作为候选位置的参考。
再次参见图3,虽然上述参照图3描述的示例以及上述其它示例需要仅对处于完全独立于第一ROI的第二ROI中的候选码执行第二解码算法,但在至少某些实施例中,第二ROI可包括整个FOV,以对视场107中的每个候选码执行第二、较廉价的解码算法。因此,例如在图3中,在至少某些实施例中,最初对候选码112a、112b和112c中的每一个执行第二解码算法。如果第二解码算法成功解码代码,处理器108可指示解码成功并停止该过程。然而,在第二解码算法未能成功解码代码时,第一解码算法会用于第一ROI中的任何候选码。在另外的实施例中,第一解码算法实际上可包括第二解码算法,以对图像中的所有候选有效地执行第二解码算法。
在另外的实施例中,可基本实时地选择ROI,以反映读取器设备用户如何使用该设备。例如,昂贵的ROI可选择为在先前解码过程期间最近有代码被成功解码的FOV区域,或者当前昂贵的ROI可以与在先前解码期间最近成功解码代码的位置相关地改变。例如,再次参见图3,如果候选利用廉价的解码算法在FOV 107左边界附近被常规地解码,这可能证明手持设备用户在与代码对准时常规地从左侧移动该设备。此时可以将昂贵的ROI从图3所示的中心ROI150改变至图8所示的ROI 241,这是有效的。
此外,在至少某些实施例中,可以构想,ROI可以动态调整,以与读取器操作相关地优化解码过程。例如,在至少某些情况下,图像获取周围的环境可能会产生可利用复杂或昂贵的第一解码算法相对迅速地解码的较佳图像,以使第一ROI(例如参见图3的150)的大小能够增加,同时在相机105产生下一图像之前仍尝试利用第一解码算法解码第一ROI中的全部候选。
现参见图11,示出了可代替图5所示过程的一部分的子过程190,其中第一ROI的大小被调整以优化解码过程。为实现该目的,在图5的框176中ROI被标识之后,控制转向图11的框198,其中处理器108尝试利用第二解码算法来解码第二ROI中的候选码。在框200中,处理器108尝试利用第一相对昂贵的解码算法解码第一ROI中的候选码。在框202中,处理器108判定该处理器是否已经尝试利用第一解码算法解码第一ROI中的所有候选码。当存在附加的候选码时,控制转向框204,处理器108确定相机105是否已经提供下一图像。在相机105还未提供下一图像时,控制转向框200,重复上述过程。
仍参见图11,在框204中,已从照相机105获取当下一图像时,控制转向框207,其中第一ROI的大小被减小,之后控制返回图5的框174。仍参见框202,当处理器108判定该处理器已经尝试利用第一解码算法解码第一ROI中所有候选码时,控制转向框203。在判断框203,处理器判定是否已从相机105接收下一图像。在未从相机105接收下一图像时,控制转向框206,处理器108增加第一ROI的大小,之后控制转向图5的框174。在框203中,如果处理器108确定下一图像已被获取,则控制简单地转向图5的框174而不调整第一ROI的大小。
尽管未示出,但在某些情况下,如果处理器108在框203判定下一图像未被获取,则处理器108可在获取下一图像之前确定最小时间,仅在该最小时间大于某一阈值的情况下增加第一ROI的大小。此外,在至少某些情况下,处理器108可被编程以在框206中增加第一ROI的大小之前,对一系列图像要求在框203中的否定值的连续系列(如5个、10个等)。
在至少某些实施例中,可以构想,处理器108仅可执行第一相对慢速和昂贵的解码算法,但该处理器仅对视场中的候选码子集执行该解码算法,其中该子集基于视场中的位置。例如,仍参见图9,处理器108可被编程以按照依赖于候选码距FOV 107中心点240的距离的次序对候选码进行解码,其中该处理器在下一图像已被获取之后停止解码候选,并使用下一图像重新开始。因此,例如在图9中,处理器108开始于尝试解码最接近点240的候选112a。接下来,如果时间允许,处理器108会尝试利用第一解码算法解码第二最接近的候选码,候选112b,如果时间允许,随后尝试利用第一解码算法解码候选112c,以此类推。
参见图12,示出了可由处理器108执行以按照依赖于候选码与中心点相对位置的次序对候选码进行解码的过程300。在框302中,视场的图像被获取。在框204中,图像中的候选码被标识。在框310中,处理器108尝试利用第一相对昂贵的解码算法解码所获取图像中的候选码,从关注点(例如图9所示的中心点240)开始并从此点向外进行。在框312中,处理器108确定下一图像是否被获取。如果相机105在312已提供下一图像,则控制返回框304,过程继续。在框312中,如果下一图像未被获取,控制转向框314,其中处理器108判定该处理器是否已尝试解码视场中的每个候选码。当处理器108未尝试解码视场中的至少一个候选码时,控制返回框310,如图所示,过程继续。如果在框314中处理器已尝试利用第一解码算法解码所有候选码,则控制返回框302,其中处理器108等待接收来自相机105的下一图像。
在至少某些实施例中,可以构想,相机105以基本上规则的间隔(例如,在已知的时段范围内)提供图像,以使图像之间的时段大体上是已知的。在这种情况下,处理器108可被编程以利用计时器109为连续图像之间的时段计时,并在计时时段内尝试解码尽可能多的候选码,其中被解码的候选子集仍基于视场中的位置。举例而言,再参见图9,例如处理器108可被编程以按照以下次序解码候选码,即处理器首先尝试最接近中心点240的候选,随后是次最接近点240的候选,以此类推,直到耗尽成像计时时段。一旦耗尽计时时段,处理器108会实质上丢弃其尚未尝试解码的候选码,而开始尝试解码后续图像中的候选。
参见图13,示出了过程320,由此处理器108利用成像超时计时器来控制解码过程。在框322中,处理器108从相机105获取视场的图像。在框324中,处理器108启动计时器109(仍见图2)。在框326中,处理器108标识图像中的候选码。在框328中,处理器108尝试利用第一相对昂贵和缓慢的解码算法来解码图像中的候选码,从关注点开始(例如参见图9的点240)并向外进行。
在框330中,处理器108判定成像超时时段或阈值时段是否流逝。在超时时段未流逝的情况下,控制返回框328,处理器继续尝试解码候选码,从关注点开始向外进行。在框330中,一旦超时时段流逝,控制返回框322,处理器108从相机105获取下一图像。
根据与本发明至少某些实施例相一致的另一方面,在至少某些情况下,处理器108可被编程以首先尝试利用简单而相对快速的解码算法来解码所获取图像中的候选码,并且在图像之一中的代码未被成功解码的情况下存储连续图像用于后续处理。因此,举例而言,处理器108可被编程以获取视场的第一图像,尝试利用简单而快速的解码算法来解码第一图像中的候选码,并当未成功解码图像中的代码时,存储该图像用于可能的后续处理。接下来,处理器108可被编程以获取视场的第二图像,对该第二图像的候选码执行简单和快速的解码算法,并且如果第二图像中的至少一个代码未被成功解码,则存储第二图像用于可能的后续分析。在至少一个实施例中,该过程可对五个连续图像持续进行,其中如果每个图像中的至少一个代码未被成功解码,则被存储。在该五个图像被存储之后,处理器108可被编程以至少再次访问所存储图像的子集,并尝试利用相对较昂贵的解码算法解码该图像子集中的候选码。
现参见图14,示出过程350,其中处理器108利用第一解码算法处理所接收的图像,然后当解码尝试不成功时利用第二解码算法处理这些图像。在框352中,处理器108将表示所存储图像数量的计数器F设置为零。在框354中,处理器108获取视场的图像。在框356,处理器108标识图像中的候选码。在框358中,处理器108尝试利用简单或相对廉价的解码算法来解码图像中的候选码。
在框360中,其中候选码未被成功解码,控制转向框368中,其中图像以永久方式(即以允许图像以后被访问用于可能的附加处理的方式)存储。在框370,图像计数器F加1。在框372,图像计数器与阈值(例如5)相比较。当图像计数器值F不等于该阈值时,控制返回框354,其中另一图像被获取且该过程继续。当图像计数器值F等于阈值时,控制从判断框372转向处理框374。在框374中,所存储的图像被访问。在框376中,处理器108尝试利用需要额外时间的相对复杂解码算法来解码所访问图像中的候选码。在框376之后,控制转向框378。
仍参见图14,在框378中,处理器108判定是否有任一图像中的代码已被成功解码。在代码未被成功解码时,控制转向框366,所有图像从存储器中清空,然后控制返回框352,图像计数器F重置为零。在框378中,在至少一个代码被成功解码时,控制转向框380,处理器108通过LED 132和/或音频输出134指示解码成功。在框380之后,控制转向框366,图像从存储器中清空,然后控制返回框352,图像计数器F重置为零。
仍参见图14,在框360中,当处理器108判定代码被成功解码时,控制转向框362,处理器108通过LED 132和/或音频输出134指示解码成功。在框362之后,控制转向框366,图像从存储器中清空,然后控制返回框352,图像计数器F重置为零。
在至少某些实施例中,可以构想,当简单解码算法被使用以尝试解码图像中的候选并且解码尝试均未成功时,可见解码成功因子分配给该图像或者分配给图像中的独立候选码,指示关于该图像的一个或多个解码尝试的成功程度。然后,在对应于若干图像的解码尝试不成功之后,当图像被再次访问以尝试利用较复杂或昂贵的解码算法来解码时,处理器108可被编程以尝试仅解码具有高成功因子的候选码或图像中的候选,或者利用昂贵解码算法检查图像或候选所采用的次序可以与成功因子相关。为实现该目的,如图15所示,示出了可代替图14所示过程的一部分的子过程400。仍参见图14,在框360中,当对图像中的候选码的解码尝试均未成功时,控制可转向图15的框402,其中处理器108标识并存储用于图像的解码成功因子或用于图像中每个候选子集的独立成功因子。在框404中,处理器108以永久方式存储图像,并且在框406中,处理器108将图像计数器F加1。
继续框408,处理器108判定图像计数器值F是否等于阈值。当图像计数器值F不等于阈值时,控制返回图14的框354。
仍参见图15,在框408中,当图像计数器F等于阈值时,控制转向框410,其中处理器108访问所存储图像中具有最佳解码成功因子的一个或多个,或访问图像中具有最佳解码成功因子的候选码。在框412中,处理器108尝试利用较复杂的解码算法来解码具有最佳解码成功因子的候选码或解码在被访问图像中的候选码。在框412之后,控制返回图14的框378。
在另外的实施例中,当图像被再次访问时,图像之一或图像子集中的候选码可利用昂贵的算法基于图像中的位置来处理。例如在某些情况下,处理器108可仅处理昂贵ROI中的候选或距离点、线或某些其它几何形状的阈值距离以内的候选,或可利用昂贵算法仅处理最接近几何形状的特定数量的候选码。
在至少某些情况下,当对不同的关注区执行不同解码算法时,不同的关注区可以是不重叠的完全分离区域,或可以至少部分重叠。
以上所公开的特殊实施例仅仅是说明性的,而本发明能够以不同但等同的方式来修改或实现,这对受益于本文教导的本领域技术人员是显而易见的。此外,在如下文权利要求所描述之外,没有对本文所示的结构或设计细节的任何限制。因此,显然以上所公开的特殊实施例可被改变或修改,并且所有这种变化均认为落在本发明的范围和精神之内。因而本文所寻求的保护在下文权利要求中阐述。
如上所述,在至少某些实施例中,术语“解码”用于指代如下过程:在候选码被标识之后从其中提取显著特征,然后通过数学地解释该特征来逻辑解码所提取的特征,以提取所编码数据,其中候选码由某些其它过程标识。在其它实施例中利用具有不同相对开销的算法来标识图像中的候选码是可行的,其中被选择以标识候选码的算法基于位置或图像ROI。例如,仍参见图3,在某些实施例中相对昂贵的算法可用于定位候选码、提取特征或在中心ROI 150中逻辑解码中的每一个,而较廉价的算法可用于执行外围区域210中的相同功能。因此,可以通过在解码算法中包括标识候选码的步骤以使依赖位置的不同开销算法应用于整个候选标识、提取和逻辑解码过程,来修改上述每个实施例。
此外,在解码算法包括候选标识过程的至少某些情况下,候选标识过程可具有不同的相对开销,而解码算法的其它部分是相同或基本类似的。例如,仍参见图3,与外围ROI210相比,解码过程的候选标识部分对于中心ROI 150可相对昂贵,而算法的提取和逻辑解码部分是一致的。
因而本发明涵盖落在如所附权利要求所定义的本发明精神和范围的所有修改、等同和替换。
为公布本发明的范围,提出所附权利要求。

Claims (20)

1.一种用于使用包括二维视场(FOV)的图像传感器对设置在物体上的代码进行解码的方法,所述方法包括以下步骤:
提供被编程以执行以下步骤的处理器:
(i)获取FOV的图像;
(ii)尝试利用第一解码算法对图像中的候选码进行解码;
(iii)在尝试解码候选码失败的情况下,将图像保存至存储器中;
(iv)重复步骤(i)至(iii)直到阈值数量的解码候选码尝试失败以及候选码被成功解码中之一;
在阈值数量的解码候选码尝试失败时,访问保存在存储器中的图像并尝试利用不同于第一解码算法的第二解码算法至少对存储于存储器中的图像的子集中的候选码进行解码。
2.如权利要求1所述的方法,其特征在于,第二解码算法在计算上比第一解码算法复杂。
3.如权利要求1所述的方法,其特征在于,第二解码算法包括第一解码算法以及附加解码算法。
4.如权利要求1所述的方法,其特征在于,第二解码算法比第一解码算法需要更多的时间量来完成。
5.如权利要求1所述的方法,其特征在于,第二解码算法至少部分地与阈值数量的尝试相关地来选择。
6.如权利要求1所述的方法,其特征在于,图像传感器形成便携式代码读取设备的一部分。
7.如权利要求1所述的方法,其特征在于,图像传感器形成手持代码读取设备的一部分。
8.如权利要求1所述的方法,其特征在于,在尝试利用第二解码算法至少对存储于存储器中的图像的子集中的候选码进行解码失败时,访问保存在存储器中的图像并尝试利用不同于第一解码算法和第二解码算法的第三解码算法至少对存储于存储器中的图像的子集中的候选码进行解码。
9.如权利要求8所述的方法,其特征在于,第三解码算法在计算上比第一解码算法或第二解码算法复杂或比第一解码算法或第二解码算法需要更多的时间量来完成。
10.如权利要求8所述的方法,其特征在于,第三解码算法包括下列:
第一解码算法、第二解码算法、或第一和第二解码算法;以及
第二附加解码算法。
11.一种用于使用包括二维视场(FOV)的图像传感器对设置在物体上的代码进行解码的装置,所述装置包括:
包括二维视场(FOV)的图像传感器;
可链接至图像传感器的处理器,处理器被编程以执行以下步骤:
(i)从传感器获取对应于FOV的图像的图像数据;
(ii)尝试利用第一解码算法对图像中的候选码进行解码;
(iii)在尝试解码候选码失败的情况下,将图像数据保存至存储器中;
(iv)重复步骤(i)至(iii)直到阈值数量的解码候选码尝试失败以及候选码被成功解码中之一;
在阈值数量的解码候选码尝试失败时,访问保存在存储器中的图像数据并尝试利用不同于第一解码算法的第二解码算法至少对存储于存储器中的图像数据的子集中的候选码进行解码。
12.如权利要求11所述的装置,其特征在于,第二解码算法在计算上比第一解码算法复杂。
13.如权利要求11所述的装置,其特征在于,第二解码算法包括第一解码算法以及附加解码算法。
14.如权利要求11所述的装置,其特征在于,第二解码算法比第一解码算法需要更多的时间量来完成。
15.如权利要求11所述的装置,其特征在于,第二解码算法至少部分地与阈值数量的尝试相关地来选择。
16.如权利要求11所述的装置,其特征在于,图像传感器形成便携式代码读取设备的一部分。
17.如权利要求11所述的装置,其特征在于,图像传感器形成手持代码读取设备的一部分。
18.如权利要求11所述的装置,其特征在于,在尝试利用第二解码算法至少对存储于存储器中的图像的子集中的候选码进行解码失败时,访问保存在存储器中的图像并尝试利用不同于第一解码算法和第二解码算法的第三解码算法至少对存储于存储器中的图像的子集中的候选码进行解码。
19.如权利要求18所述的装置,其特征在于,第三解码算法在计算上比第一解码算法或第二解码算法复杂或比第一解码算法或第二解码算法需要更多的时间量来完成。
20.如权利要求18所述的装置,其特征在于,第三解码算法包括下列:
第一解码算法、第二解码算法、或第一和第二解码算法;以及
第二附加解码算法。
CN201711062857.6A 2011-11-03 2012-11-02 用于在不同位置执行不同解码算法的方法和装置 Pending CN107844729A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/288,098 US9367725B2 (en) 2011-11-03 2011-11-03 Method and apparatus for performing different decoding algorithms in different locations
US13/288,098 2011-11-03
CN201210595763.6A CN103150535B (zh) 2011-11-03 2012-11-02 用于在不同位置执行不同解码算法的方法和装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201210595763.6A Division CN103150535B (zh) 2011-11-03 2012-11-02 用于在不同位置执行不同解码算法的方法和装置

Publications (1)

Publication Number Publication Date
CN107844729A true CN107844729A (zh) 2018-03-27

Family

ID=48129050

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201210595763.6A Active CN103150535B (zh) 2011-11-03 2012-11-02 用于在不同位置执行不同解码算法的方法和装置
CN201711062857.6A Pending CN107844729A (zh) 2011-11-03 2012-11-02 用于在不同位置执行不同解码算法的方法和装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201210595763.6A Active CN103150535B (zh) 2011-11-03 2012-11-02 用于在不同位置执行不同解码算法的方法和装置

Country Status (3)

Country Link
US (4) US9367725B2 (zh)
CN (2) CN103150535B (zh)
DE (1) DE102012110375B4 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002952691A0 (en) 2002-11-15 2002-11-28 Sunshine Heart Company Pty Ltd Heart assist device utilising aortic deformation
US9367725B2 (en) 2011-11-03 2016-06-14 Cognex Corporation Method and apparatus for performing different decoding algorithms in different locations
US9324371B2 (en) * 2012-07-02 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for multi-stage decoding processing
US9016581B2 (en) * 2012-07-31 2015-04-28 Jadak, Llc Scenario windowing for expedited decoding of multiple barcodes
US9912930B2 (en) * 2013-03-11 2018-03-06 Sony Corporation Processing video signals based on user focus on a particular portion of a video display
US10275624B2 (en) * 2013-10-29 2019-04-30 Hand Held Products, Inc. Hybrid system and method for reading indicia
CN105654006B (zh) * 2014-11-13 2018-05-29 阿里巴巴集团控股有限公司 一种二维码扫码交互方法和装置
US10534970B2 (en) * 2014-12-24 2020-01-14 Datalogic Ip Tech S.R.L. System and method for reading direct part marking (DPM) codes on objects
USD804482S1 (en) * 2016-03-15 2017-12-05 Symbol Technologies, Llc Data capture device
JP2019135572A (ja) * 2018-02-05 2019-08-15 カシオ計算機株式会社 バーコード読取装置、及びバーコード読取方法、プログラム
US10915719B2 (en) 2019-03-04 2021-02-09 Datalogic IP Tech S.R.L Indicia capture with angled FOV in direct part marking
CN110458163B (zh) * 2019-08-06 2022-04-22 南京地平线机器人技术有限公司 处理图像的多个感兴趣区域数据的装置和方法
US11429804B2 (en) 2020-09-18 2022-08-30 Google Llc Platform for registering and processing visual encodings
US11582422B2 (en) 2021-02-24 2023-02-14 Gn Audio A/S Conference device with multi-videostream capability
US20230102634A1 (en) * 2021-09-29 2023-03-30 Zebra Technologies Corporation Method of creating an optimized/adaptive roi based on detection of barcode location in the fov
CN115034247B (zh) * 2022-08-11 2022-11-08 无锡盈达聚力科技有限公司 光学信息采集器及方法
CN115146664B (zh) * 2022-09-06 2022-12-23 无锡盈达聚力科技有限公司 图像采集方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6000615A (en) * 1996-01-11 1999-12-14 Webscan, Inc. Methods for scanning a succession of bar code symbols
US20050103846A1 (en) * 2003-11-13 2005-05-19 Metrologic Instruments, Inc. Hand-supportable imaging-based bar code symbol reader employing a multi-mode illumination subsystem enabling narrow-area illumination for aiming at a target object and illuminating aligned 1D bar code symbols during the narrow-area image capture mode, and wide-area illumination for illuminating randomly-oriented 1D and 2D bar code symbols during the wide-area image capture mode
US20060091219A1 (en) * 2004-10-29 2006-05-04 Eugene Joseph Methods and apparatus for dynamic signal processing
US7270272B2 (en) * 2003-11-13 2007-09-18 Metrologic Instruments, Inc. Digital image-based bar code symbol reading system employing a multi-mode image-processing symbol reading subsystem
US7270273B2 (en) * 2001-01-22 2007-09-18 Hand Held Products, Inc. Optical reader having partial frame operating mode
WO2008011360A2 (en) * 2006-07-17 2008-01-24 Cognex Technology And Investment Corporation Method and apparatus for multiplexed symbol decoding
US7392951B2 (en) * 2005-05-17 2008-07-01 Intermec Ip Corp. Methods, apparatuses and articles for automatic data collection devices, for example barcode readers, in cluttered environments
US20090001173A1 (en) * 2007-06-28 2009-01-01 Sevier Mitchel P Bar code reading terminal with video capturing mode
CN101999128A (zh) * 2008-02-12 2011-03-30 数据逻辑扫描公司 从多个方位形成物体的多个部分的合成图像的系统和方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4751375A (en) 1986-04-11 1988-06-14 Ampex Corporation Method and apparatus for reading bar code under rapidly changing scanning speed conditions
US4988852A (en) 1988-07-05 1991-01-29 Teknekron Transportation Systems, Inc. Bar code reader
US5592228A (en) 1993-03-04 1997-01-07 Kabushiki Kaisha Toshiba Video encoder using global motion estimation and polygonal patch motion estimation
US7387253B1 (en) * 1996-09-03 2008-06-17 Hand Held Products, Inc. Optical reader system comprising local host processor and optical reader
US20040262394A1 (en) * 1994-03-04 2004-12-30 Andrew Longacre Optical reader having solid-state image sensor
JP3607131B2 (ja) 1999-05-26 2005-01-05 株式会社デンソー 情報コード画像取込装置、光学情報読取装置及び画像取込タイミング設定システム
KR100456628B1 (ko) 2001-12-28 2004-11-10 한국전자통신연구원 물류 정보 자동식별 처리시스템 및 그 방법
US7545949B2 (en) 2004-06-09 2009-06-09 Cognex Technology And Investment Corporation Method for setting parameters of a vision detector using production line information
DE10260201A1 (de) 2002-12-20 2004-07-01 Sick Ag Verfahren und Vorrichtung zur Erfassung von auf einem Fördermittel bewegten Objekten mittels eines optoelektronischen Sensors
US7181066B1 (en) 2002-12-26 2007-02-20 Cognex Technology And Investment Corporation Method for locating bar codes and symbols in an image
US20060027657A1 (en) * 2004-08-04 2006-02-09 Laurens Ninnink Method and apparatus for high resolution decoding of encoded symbols
US7293712B2 (en) * 2004-10-05 2007-11-13 Hand Held Products, Inc. System and method to automatically discriminate between a signature and a dataform
DE502005001232D1 (de) 2004-10-11 2007-09-27 Sick Ag Vorrichtung und Verfahren zur Überwachung von bewegten Objekten
US7281659B2 (en) * 2004-11-03 2007-10-16 Psion Teklogix Systems Inc. Self-optimizing symbology reader
US7646887B2 (en) 2005-01-04 2010-01-12 Evolution Robotics Retail, Inc. Optical flow for object recognition
US20080156619A1 (en) 2006-12-01 2008-07-03 Mehul Patel Range finder
US8172145B2 (en) * 2007-11-20 2012-05-08 Datalogic ADC, Inc. Enhanced virtual scan line processing
US8684269B2 (en) * 2008-12-23 2014-04-01 Ncr Corporation Methods and apparatus for providing a changing field of view in image based bar code scanning
US8459556B2 (en) * 2009-01-09 2013-06-11 Datalogic ADC, Inc. Prioritized virtual scan line processing
US9189670B2 (en) 2009-02-11 2015-11-17 Cognex Corporation System and method for capturing and detecting symbology features and parameters
US8061616B2 (en) * 2009-12-18 2011-11-22 Symbol Technologies, Inc. Aiming sight for a barcode reader
US8453922B2 (en) * 2010-02-09 2013-06-04 Xerox Corporation Method for one-step document categorization and separation using stamped machine recognizable patterns
US9367725B2 (en) 2011-11-03 2016-06-14 Cognex Corporation Method and apparatus for performing different decoding algorithms in different locations

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6000615A (en) * 1996-01-11 1999-12-14 Webscan, Inc. Methods for scanning a succession of bar code symbols
US7270273B2 (en) * 2001-01-22 2007-09-18 Hand Held Products, Inc. Optical reader having partial frame operating mode
US20050103846A1 (en) * 2003-11-13 2005-05-19 Metrologic Instruments, Inc. Hand-supportable imaging-based bar code symbol reader employing a multi-mode illumination subsystem enabling narrow-area illumination for aiming at a target object and illuminating aligned 1D bar code symbols during the narrow-area image capture mode, and wide-area illumination for illuminating randomly-oriented 1D and 2D bar code symbols during the wide-area image capture mode
US7270272B2 (en) * 2003-11-13 2007-09-18 Metrologic Instruments, Inc. Digital image-based bar code symbol reading system employing a multi-mode image-processing symbol reading subsystem
US20060091219A1 (en) * 2004-10-29 2006-05-04 Eugene Joseph Methods and apparatus for dynamic signal processing
US7392951B2 (en) * 2005-05-17 2008-07-01 Intermec Ip Corp. Methods, apparatuses and articles for automatic data collection devices, for example barcode readers, in cluttered environments
WO2008011360A2 (en) * 2006-07-17 2008-01-24 Cognex Technology And Investment Corporation Method and apparatus for multiplexed symbol decoding
US20090001173A1 (en) * 2007-06-28 2009-01-01 Sevier Mitchel P Bar code reading terminal with video capturing mode
CN101999128A (zh) * 2008-02-12 2011-03-30 数据逻辑扫描公司 从多个方位形成物体的多个部分的合成图像的系统和方法

Also Published As

Publication number Publication date
US10970508B2 (en) 2021-04-06
CN103150535A (zh) 2013-06-12
US9367725B2 (en) 2016-06-14
CN103150535B (zh) 2017-12-01
US20130112752A1 (en) 2013-05-09
US20200074131A1 (en) 2020-03-05
DE102012110375A1 (de) 2013-05-08
DE102012110375B4 (de) 2017-04-27
US20160321490A1 (en) 2016-11-03
US10482302B1 (en) 2019-11-19
US9904833B2 (en) 2018-02-27

Similar Documents

Publication Publication Date Title
CN103150535B (zh) 用于在不同位置执行不同解码算法的方法和装置
US10325129B2 (en) Method and apparatus for ordering code candidates in image for decoding attempts
US20090033758A1 (en) Image processing apparatus and program
CN111523438B (zh) 一种活体识别方法、终端设备和电子设备
US10210362B2 (en) Fast vision system
CN1934575A (zh) 射频识别组选择方法
JP2009544105A (ja) 多重シンボルデコーディングのための方法及び装置
CN104969262A (zh) 用于基于感兴趣的区域的图像编码的技术
US9600703B2 (en) Systems and methods for sorting image acquisition settings for pattern stitching and decoding using multiple captured images
CN108875512B (zh) 人脸识别方法、装置、系统、存储介质和电子设备
US11030431B2 (en) Efficiency when reading multiple barcodes on objects
JP6457983B2 (ja) 複数の撮影画像を用いてパターンステッチ及びデコードする為に画像取得設定を分類するシステム及び方法
US9104935B1 (en) Mark reader configured to prioritize images
JP2005018579A (ja) 光学的情報の読取方法および光学的情報読取装置
CN111932281A (zh) 一种防伪检测方法及装置
CN111932282A (zh) 一种防伪检测方法及装置
Wang et al. Using Deep Learning to Improve Detection and Decoding Of Barcodes
CN108712613A (zh) 一种控制图像采集器的方法、装置及相关设备
JP2009212845A5 (zh)
WO2009105514A2 (en) Device and method for locating a barcode using image analysis
CN117036717A (zh) 一种图像降噪模型池的管理方法、系统及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination