CN1087433A - 用于从扫描过的线段再现完整代码的扫描装置 - Google Patents

用于从扫描过的线段再现完整代码的扫描装置 Download PDF

Info

Publication number
CN1087433A
CN1087433A CN93114094.3A CN93114094A CN1087433A CN 1087433 A CN1087433 A CN 1087433A CN 93114094 A CN93114094 A CN 93114094A CN 1087433 A CN1087433 A CN 1087433A
Authority
CN
China
Prior art keywords
code
scanning
data
machine readable
identification data
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.)
Granted
Application number
CN93114094.3A
Other languages
English (en)
Other versions
CN1036162C (zh
Inventor
詹姆斯·R·沃尔德伦
拉里·A·诺德斯特龙
丹尼尔·A·肯尼
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.)
LazerData Corp
Original Assignee
LazerData 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 LazerData Corp filed Critical LazerData Corp
Publication of CN1087433A publication Critical patent/CN1087433A/zh
Application granted granted Critical
Publication of CN1036162C publication Critical patent/CN1036162C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/10861Methods 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 sensing of data fields affixed to objects or articles, e.g. coded labels
    • 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
    • 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/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1491Methods for optical code recognition the method including quality enhancement steps the method including a reconstruction step, e.g. stitching two pieces of bar code together to derive the full bar code

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Mechanical Optical Scanning Systems (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Image Processing (AREA)
  • Vehicle Body Suspensions (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Inspection Of Paper Currency And Valuable Securities (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Image Analysis (AREA)
  • Character Discrimination (AREA)
  • Character Input (AREA)

Abstract

用于读取在一个物品上的机器可读取的代码的 装置,该代码具有多个代码单元。该装置包括一个扫 描装置,一个信号处理装置和一个数据处理装置。该 扫描装置连续地扫描该代码并且对于该代码的每个 连续的扫描输出一个代表至少该代码一部分的信 号。该信号处理装置处理由扫描装置输出的每个信 号并且还提供信号识别数据,该识别数据包括对于该 代码的每次连续扫描的、与每个信号相关的一个宽度 和位置数据。该数据处理装置从由信号处理装置提 供的代码的每次连续扫描的信号识别数据中再现该 代码。

Description

本发明涉及用于扫描条形码的装置,更具体地说涉及通过综合已扫描过的代码段来再现一个完整的代码的全向扫描装置。
条形码可用于多种辨别一个物品或一组物品的用途。条形码通常是一种黑色条和白色间隔的组合,这种黑色条和白色间隔的组合代表特有的识别代码,并且可以采用许多种方式(例如标签)将条形码附加到物品上。一个条形码的读取和解码可用于产生有关该物品的附加的信息,例如该物品的描述及其价格。条形码还用于编目控制、加工零件控制和雇员辨认。如果不能正确地读取条形码,通常需要人工干预,例如人工输入数据(例如由条形码代表的识别号码)。然而人工干预会产生由于人的失误所造成的问题,以及造成迟缓和增加费用。
条形码扫描器是用于读取附加到一个物品上的条形码以便可以检索出所需要的信息的装置。在一个超级商场的情况下,这种信息的例子是与商品相关的价格。通过探测从条形码反射的光并且测定条(通常是暗的或黑的区域)和间隔(通常是亮的或白的区域)之间的光对比度来读取该条形码。在大多数扫描器中,采用一束横移过或横扫过条形码的相干光(例如一束激光)来照明条形码。通常采用一个带有多个反射面的旋转轮使相干光扫过条形码。
图1表示了一个典型的全向高架的扫描器10,该全向的高架的扫描器10用于探测一个附加在沿方向20在一个传送带14上运动的包装物品12上的条形码22。该扫描器10以相干光的模式16照亮上面有条形码22的包装物品的顶表面。由此,该扫描器10可以读取一个以任何方向接近该扫描器10的条形码22。在此例子中,可以读取条形码22,这样可以对包装物品12进行分类并且把它沿不同的路径18a-C传送。
对于一种扫描技术,是通过用一束相干光横扫过整个条形码来读取该条形码的。在实际应用中采用横过或扫过整个条形码的冗余扫描或来保证正确地读取该条形码,然而不能再现该条形码。进行这种冗余扫描是针对有可能存在的局部宽度的不准确(例如在条中的局部的空隙)。这种方法最适于读取已被预先定位因而使得条形码沿扫描的相干光的扫描方向延伸的条形码。这种条形码的取向被称为“尖桩栅栏”或“梯形”取向。
然而,不是总有可能相对于扫描装置的扫描线控制条形码的取向。有两种方法能使这种传统的方法可用来扫描一个相对于相干光扫描方向成一个角度的条形码。可以用多束相干光以相对于条形码表面成许多角度来扫描该条形码。然而这种方法需要大量昂贵的仪器设备来实现。另外,条形码可以制作成非常高使得实际上扫描线可“看见”整个的条形码。这种方法显著地增加了条形码(例如条形码标签)的尺寸。
另一种读取条形码的技术(该条形码与相干光扫描线成一个角度)。涉及到从条形码的片断再现整个条形码。这种技术是基于这个原理,即当条形码在相干光扫描线之下移动并穿过该相干光扫描线时,该扫描器最终可以看见整个条形码。然而,该扫描器一次只是扫描条形码的一部分或一个片断,而不是扫描条形码的每一个片断。在条形码已经通过扫描线之后,通过重新连接没有扫描过的片断再现整个条形码。
在再现一个条形码时,由于冗余度损失,就增加了误读条形码的风险。冗余度是同一条形码单元(例如相同的条)的重复性的度量,用以保证提供正确的单元宽度以便解码。对于任何给定的扫描,由于印刷问题(例如空隙或污渍)、扫描过程中的错误、和/或条形码(例如条形码标签)的磨损及撕破,都有可能输出不正确的宽度。
由于对于再现技术来说不可能反复扫描整个条形码,通过采用来自代码片断的重叠区域的宽度数据,可能获得单个条和间隔水平的余度。当正确地对准片段时,在重叠的区域可以得到冗余的信息来精确校正条和间隔的宽度信息。因而对于再现技术来说,冗余度取决于正确的片断对齐。
一种现有技术涉及靠定位和匹配一个条和间隔图案来对齐片断,条和间隔图案包括条和间隔宽度,该条和间隔图案对于片断是共用的。这个特别的技术在以后称作“图案匹配”。用图案匹配技术的片断对不齐的一个共同原因是在一个条形码中存在条单元的重复图案。由于重复的图案,在片断中有许多区域彼此是共用的。因此,尽管可以使片段的条和间隔图案匹配,但有可能没有正确地对齐片段,这是因为为了对齐片段采用了不正确的条和间隔图案的缘故。
由于许多其它原因也可发生对不齐。对于条形码的人可读取的印刷信息可以在一端或两端产生错误的条。在条形码标签上的印刷错误以及磨损和撕坏可以造成一个特定的条在一次扫描中显得比在另一次扫描中小得多或大得多。
如果要求精确的图案匹配的话,只有很少的条形码能成功地再现,并且读取速率很低。由于图案在大多数时间没有精确的匹配,通常确定一个任意限制,使得如果至少一些设定的组条和间隔匹配的话则认为这些片断对齐了。然而,如果这个限制设定得太松,尽管匹配的数目会上升并且读取速率将会提高,误读的数目也将上升。实际应用中,通过使用固定长度的条形码和检查和,可以滤出大多数误读。
因此,确定用于解码的精确的条和间隔的宽度取决于准确对齐条形码片断的重叠区域。然而,在已有技术中适当对齐重叠区域取决于匹配片断的图案。这种方法假定,条和间隔具有正确的宽度。总之,靠采用已知的用于图案匹配的方法再现条形码平衡了为解码而对精确的条和间隔宽度的需要以及对合理的读取速率的需要。
在美国专利4,289,957、4,488,678、4,717,818、4,973,829、5,028,772和5,124,538是中公开了再现条形码的扫描装置和与此相关的方法。上述专利间的区别在于综合片断来再现一个完整的条形码以便解码的特别的方式的不同。
在美国专利4,289,957和4,717,818中,条形码包含代表条形码端部和中间的标记。扫描装置基于在被扫描的段中存在有或者出现该标记来再现完整的条形码。在美国专利4,289,957中,没有在两个标记之间的片断部分(例如端部和中间)被忽略,而综合了在两个标记之间的片段部分。
在美国专利4,488,678中,以两种方法中的一种从条形码片断间的重叠部分中除去多余的或重复的数据。如果一个条形码有几条,则在分隔条外面的数据被删去。如果该条形码没有分隔条,把由综合的数据指示的条的数目与扫描过的特定条形码的已知的条的数目进行比较。如果对于综合数据的条的数目比已知的值大,则从任一个重叠的区域中除去多余的或重复的数据。
在美国专利4,973,829、5,028,772和5,124,538中,通过相对移动两个片断的存储的数据直到有一个图案与该数据匹配(即,条/间隔图案匹配)为止来再现一个完整的条形码。然后基于共用性的这一点来综合来自片断的数据。这些专利之间的区别是宽度数据相对移动的方式,所需要的匹配的数量和类型,和怎样再现该数据。
在美国专利4,973,829中,采用一种重叠技术综合来自多通道的数据。在此方法中,每次把在主存储器中的数据移动一个地址直到主存储器数据完全与来自多通道之一的存储在细目存储器中的数据符号为止。然后把来自细目存储器中的数据重叠在主存储器中从重合点处开始的数据上。
在美国专利5,028、772中,扫描一个条形码产生两个不完整的条形码段,其中一个片断提供该代码的开始、另一个片断提供该代码的结尾,这两个片断提供一个重叠的中间部分。通过相对移动代码片断的重叠区域来综合这两个条形码片断直到产生一个对齐的或者图案匹配的中间部分为止。实质上,该装置沿着事先获得的数据滑动一个片断直到一个条和间隔的图案匹配为止。
美国专利5,124,538(772的继续申请)描述了一个方法,借助于该方法可以综合多个扫描过的片断以便再现整个条形码。在此技术中,虽然取的是与条和间隔宽度有关的数据,但是还累积了关于某些数据事件的位置相对于人每次扫描的开始点的数据。记录第一片段的一个有效中间部分的转换(例如白到黑)位置的计数并且计算一个范围(+/-)。然后,分析第二片断来看看是否有至少该片断的一部分落进第一片断的有效中间区域的计算的范围之内。如果它没有在该有效范围内,分析来自下一个扫描的片断。
如果第二片断的确落入计算的范围内,即一片段的有效的中间区域,则第二片段被移到在计算的范围内的每个可能的位置。在每个可能位置的每个片段的宽度数据之间进行图案比较。最好;通过组合以后用于图案比较目的的邻近的条和间隔来产生一个条/间隔对。如果图案匹配,则会辨别出或邻近代码片段的一个对齐的中间部分。
因此,本发明的一个目的是提供一个避免了在图案匹配对准技术中固有的不确定性的扫描装置。
本发明的另一个目的是提供一个比已有技术更有效且更快的扫描装置。
本发明的再一个目的是提供一个扫描装置,该扫描装置可以对齐已扫描过的代码段,使得每个扫描过的条单元的冗余信息可以被用来决定条和间隔宽度以便解码。
本发明的又一个目的是提供一个扫描装置,该扫描装置能够通过计算在扫描之间的一个选定条的位置的变化而从扫描过的代码段中再现一个完整的条形码。
本发明的另一个目的是提供一个扫描装置,该扫描装置利用选定的条的位置信息可以对齐重叠的扫描过的代码段。
本发明的进一个目的是提供一个扫描装置,该扫描装置有许多用途,包括为了数据收集和/或分类的目的辨认沿高速传送带移动的包装物品。
本发明涉及一种用于读取在一个物品上的机器可读取的代码的装置和方法,该代码有多个代码单元。该装置包括一个扫描装置,一个信号处理装置和一个数据处理装置。该扫描装置连续地扫描该代码并且对于该代码的每个连续扫描输出一个代表至少该代码一部分的信号。该信号处理装置处理由扫描装置输出的每个信号,并且进一步提供信号识别数据,该识别数据包括对于该代码的每次连续扫描的、与每个信号相关的宽度和位置。
该数据处理装置从由信号处理装置提供的、对于代码的每次连续扫描的信号识别数据中再现该代码。数据处理装置包括一个位置对齐装置,该位置对齐装置既可以为一个连续的扫描确定一个被选择的代码单元的位置,也可以把选择的代码单元与从一个以前的扫描中的相应单元位置对齐。
在一个优选实施例中,该数据处理装置还包括综合和累加数据装置。数据处理装置的位置对齐装置还包括第一和第二位置计算装置和偏移平均装置。第一位置计算装置计算一个在第一扫描中的一个选择的代码单元的位置与在第二扫描中的选择的代码单元之间的位置差别,以便提供一个可用于第三扫描中的计算的偏移。
当已经至少对条形码扫描三次时,第二位置计算装置计算一个在一个从综合及累加装置中选择的代码单元的位置和从该代码的一部分的一个连续扫描中选择的代码单元的位置之间的位置差别。偏移平均装置对事先计算的偏移与由第二位置计算装置计算的位置差别求平均值,以便提供一个用于相继的扫描的精确计算的偏移。
位置对齐装置还包括用于确定在第三次和相继的扫描中选定的代码单元的期望位置的装置和用于在第三次和相继的扫描中定位一个代码单元的装置,该代码单元与选定的代码单元的期望位置最接近。通过采用已计算的偏移来确定期望的位置,该已计算的偏移是来自第三次扫描的第一位置计算装置或者来自所有其它相继扫描的偏移平均装置,最好,所选定的条形码单元是一个至少在两次扫描中见到的条。
数据处理装置可包括:用于把在综合及累加装置中的信号识别数据和一个相继扫描的信号识别数据位置对齐的装置;用于识别在对齐的信号识别数据之间的宽度失配的装置;和用于保持已经被识别为具有宽度失配的信号识别数据的装置。基于在综合及累加装置中选定的代码单元和与在相继扫描中与选定的代码单元的位置最接近一致的代码单元的位置,对齐信号识别数据。另外,综合及累加装置与失配识别装置配合动作以便不会综合及累加失配的信号识别数据。
通过失配消除装置来寻址失配,该失配消除装置通过比较来自信号识别数据的三次扫描的宽度数据来消除失配。比较信号识别数据的第一与第三扫描、第二与第三扫描以便确定哪两次扫描有一致的数据。设置一个指示装置以便可以在综合具有一致的宽度数据的扫描的信号识别数据,不必考虑与不一致数据相关的数据。
另外,数据处理装置包括用于识别一个第一区(信号识别数据将在此累加)和一个第二区(这样的数据将不在此累加)的识别装置,用第一和第二比较装置比较信号识别装置来确定是否该数据分别与第一或第二区重叠。第二区可以是一个包含将不被解码的机器可读取代码的区域。
扫描装置可以包括至少一个或者多个光源和探测装置。光源和探测装置用于一个预先确定的光分布图案照亮一个机器可读取代码,并且连续地探测从该代码反射的光,而且可以包括有一个相干光源。该扫描装置可以包括有一个光导向装置,该光导向装置可导向来自相干光源的光以便产生光的预先确定的分布图案。
图1是如已有技术中所示的一个高架全向扫描器的立视图;
图2是在一个高架的传送带扫描应用中的本发明的扫描器的立视图;
图3是一个可用于本发明一个实施例中的光源和传感器装置的相互联系部件的示意透视图;
图4是一个可用于本发明一个实施例中的数据处理和信号处理装置的示意方框图;
图5表示用于本发明信号处理器的一个实施例中的数据格式;
图6是一个表示连续横扫过一个条形码的平面图;以及
图7(a)-7(g)是对本发明的微处理器的操作的指令序例的流程图。
在图2中表示了说明本发明的扫描装置100。该扫描装置的一个用途是对在传送带104上沿106方向移动的箱子102上面的条形码进行扫描。该扫描装置100包括一个光学装置108和一个电子装置110。该光学装置108用相干光照亮移动的箱子102、检测从条形码上反射的光并且把代表反射的光的输出信号沿线112提供给电子装置110。最好,采用熟知的已有技术对所提供的输出信号进行数字化处理。
在图2中还表示了本发明光学装置的另一个实施例,它包括一个附加的光学装置108,以便扫描移动的箱子102的侧面。该光学装置可以围绕移动物品的行程路径设置以便最佳地探测一个附加到该物品的任意一个暴露的表面上的条形码。
该电子装置110处理光学装置输出信号并且输出一个代表在每个扫描过的条形码中的编码信息的信号。最好为每个光学装置108提供一个电子装置110。
如图3所示,一个光学装置108包括一个相干光源和检测装置120和一个旋转的反光多面体122。该反光多面体122最好具有八个反光侧面或反光面并且由一个无刷直流电机(未示出)旋转。电机的转速决定照亮条形码的入射的相干光128的扫描速度。
对于全向扫描应用来说,光学装置108最好包括两个或更多的光源和检测装置120。通过在光学装置108中适当设置相干光源和检测装置120,可用多面体122来扫描来自每个光源和检测装置120的光。光源和检测装置120的数目取决于所需要的条单元的分辨率和所采用的扫描模式。例如,如果采用4个光源和检测组件120,光学装置可以扫描15密耳及更大的条。而带二个光源和检测装置的光学装置则可以扫描20密耳和更大的条。
光源和检测组件120包括一个相干光源124,例如一个发射670nm光的激光二极管。用一个透镜组件126聚焦来自光源124的光,使的入射光128被聚焦到一个预定的焦面上。以此方式,在这个平面上或下的某个距离最佳地照亮了一个具有预先规定的宽度的条。条被最佳照亮的距离或焦距通常被称为一个扫描装置的场深度。用反射镜130穿过一个在折回镜134中央的孔132把从透镜组件126中出来的光反射到旋转的多面体122上。为了清晰起见,入射光128用实线代表,折回光142(即由条形码反射的光)用虚线代表。
来自反射镜的入射光128由旋转多面体122的一个反射侧面反射并且被再导向分光镜136,该分光镜有两个反射面138a、b。面138a、b形成一个对着多面体122的钝角。多面体122的旋转使相干光横扫过在面138a、b之间的分光镜136的尖端,使得从分光镜把光反射向左或者右面。根据从分光镜136反射的光的方向,通过准直反射镜140中的一个把来自分光镜136的反射光再反射。根据分光镜136反射的光的方向,可以在条形码上产生一个或者多个“X”形扫描图案的分支。
折回光142代表由扫描的入射光128照明的条形码的暗或亮的区域。借助于分光镜136、准直反射镜140和旋转多面体122反射来自条形码的折回光142,该折回光142通过分光镜136传输到折回反射镜134。然后通过折回反射镜134把折回光142反射到一个第二透镜组件144,该透镜组件144把折回光142聚焦到一个探测器146上。该探测器146可以是一个光电二极管,然而该探测器146可以是能探测光强并提供一个代表该光强信号的输出信号的任何装置。从探测器146中的输出由一个前置放大器(未示出)放大并且由一个数字化板(未示出)数字化,然后通过线112(图4中所示)传输到电子装置110以便处理和解码。
如图4所示,该电子装置110有两个部分;一个数据微处理器150和一个光学信号处理器152。信号处理器152接收来自光学装置探测器146的反射的光信号(见图3)并且处理该光信号,使得可以把代表亮和暗的数据提供给数据微处理器150。接收到该数据时,数据微处理器150接受该数据并且处理该数据(下面将进一步解释)以便再现扫描过的条形码。一旦已经再现了条形码,微处理器150解码该条形码并且把解码了的信息输出给一个控制器板(未示出)。
信号处理器152包括一个可编程序的阵列逻辑电路(PAL)154、一个转换计数器156、一个位置计数器158、一个系统时钟160、一个扫描计数器162、一个位置时钟164、和二个先进/先出(FIFO)缓冲存储器166a、b。通过线122(图3)把光学装置输出信号提供给PAL154和转换计数器156。
把位置时钟164和一个来自多面体驱动电机123的编码脉冲提供给位置计数器158。基于这些输入,位置计数器把在扫描中在每个条和间隔上的位置数据输出给FIFO缓冲存储器166b中的一个。位置计数器还向FIFO缓冲存储器166b输出一个标识位,该标识位表示在其它的与来自该位置计数器的数据相关联的缓训存储器166a中所包含的数据是一个条还是一个间隔(即一个黑的或白的标识位)。
PAL154向扫描计数器162提供一个输出信号。扫描计数器162输出一个信号以便复位位置计数器158,这样可以累加来自另一次扫描的新数据。可以采用返回脉冲使扫描计数与扫描图案的开始端同步进行。
转换计数器156采用来自系统时钟的160和PAL154的输入向其它FIFO缓冲存储器166a输出每个所见到的条和间隔宽度数据。PAL154,向转换计数器156提供一个输出信号来使转换计数器156归零以便使该转换计数器156能累积新的数据。
FIFO缓冲存储器166a、b存储相应的宽度和位置数据时,直到这些数据可以被送到微处理器152中以便进一步计算和处理为止。当微处理器150需要另一批数据时,命令PAL154把来自FIFO缓冲存储器166a、b的数据传输到该微处理器。在本发明中,把该数据直接从FIFO缓冲存储器166a、b中传输到微处理器存储器168中。在任何时候,FIFO缓冲存储器中的信息量都取决于微处理器152的处理速度和由光学装置108读取的条形码的数据。
上面所提供的关于信号处理器152的描述是为了说明的目的,还有其它在已有技术中熟知的技术和设备可以用来向微处理器输出一个代表条形码的亮和暗区域的信号以及这些亮和暗区域各自的位置。
图5表示出从信号处理器向数据微处理器的数据输出172。在第一区域174中,头15个字段中的二进制数码反映条或间隔(即宽度数据)的计数。在第二区域176中,在第16个字段中的二进制数码表示在头15个字段中的数据是关于一个条的还是关于一个间隔的。在第三区域178中,剩余的字段包括代表从扫描开始的条或间隔的位置的二进制数码。
如图6所示,当一个条形码190与扫描线成一个角度在一个扫描器下移动时,该条将被多个相干光束192扫描。每束光192将和该条形码的不同区域相交,其中每个区域代表一段条形码。从图6中可以看到,条形码段的扫描部分重叠。除了和不同的区域相交以外,相干光束192还在不同点和相同的条形码单元相交。一个条形码的实际扫描数取决于条在扫描器下的移动速度和该条形码的高度194。
可以合情合理地推测,尤其是对于传送带应用的情形,当每个条形码190在扫描器下通过时,该条形码相对于扫描器的扫描线保持一个固定的角度,并且条形码速度可有效地保持下变。如果条形码保持一个固定的角度和一个恒定的速度,数据似乎是沿扫描线以一个恒的速度移动。因此,相干光的不同扫描与一个条形码单元相交的点相隔距离相等。
本发明的再现方法是利用移动的恒定速率来重叠处于正确取向的代码段。是前沿还是后沿取决于扫描方向。每个边沿来自扫描器的至少头2个相干光扫描相交。通过采用探测到的边沿对齐来自头2个扫描的代码段。然后,选择出一个条并且决定在头2个扫描之间沿扫描线方向该条似乎移动距离。用这个距离信息来计算一个位置偏移以便排齐头2个扫描和后来的代码段。这个计算得到的偏移可以用来自后面的扫描的位置信息进一步改善。
通过比较位置对准代码段来看是否存在条和间隔的宽度值的不一致,可以识别出在头2个扫描之间的数据宽度失配。可以通过把来自第3次扫描的数据和来自头2次扫描的数据进行比较来消除这些失配。如果有2个好的数据宽度,可把第3个数据宽度当作不合格数据忽略掉。一旦已经完全组合好条形码宽度数据,该条形码就被规范化成4个可能的宽度并且被解码,仿佛该条形码是用传统方法(即整个地扫描)扫描过似的。
这个方法的优点包括充分利用所有冗余的条和间隔信息。这个步骤避免了图案匹配技术固有的不确定性,并且它主动地消除了人可读取的信息。如上所述,再现的方法需要条和间隔冗余信息来保证正确地决定条和间隔宽度以便解码。人可读取的信息(如印刷的字母和数字)是不能正确排齐的线性的实体,并且将存在不能消除的失配。就这点而论,本发明的累加的条形码数据自动地排除了人可读取的信息。
本发明的方法不需要检查和,或者说解码的条形码的固定长度检查。以此方式,条形码可以被较快地解码,并且根本不依赖于是否事先知道哪个条形码将被扫描。另外,本发明的扫描装置可以可靠地读取比以前使用的条形码更小(即具有更小的高宽比)的条形码。
图7(a)-7(g)所示的是数据微处理器150(图4)进行以下操作的操作序列的流程图:位置排齐代码段(用于再现),消除宽度失配,综合扫描数据,并且在条形码已被完全再现后对该条形码解码。当阅读下面内容应认识到,条形码两端中的任一个可以首先被扫描装置的扫描相干光看到。
通过描述操作序列可以最好地解释流程图。尽管这种情况是一个单个条形码一次被读取和解码,但本发明的扫描装置可以一次扫描和读取多个条形码。该扫描装置还可以在给一个条形码解码的同时为另一个条形码累积数据。
过程开始时(步骤200),将计数和其它参数初始化(步骤202)。在启动并参数初始化(步骤200,202)之后,扫描装置处于连续操作状态。因而,尽管这个过程当属于单个的条形码时可以“结束”,但该装置及其操作可以自动连续进行(即,流程图没有终点)。
在初始化(步骤202)之后,评估从一个单个光扫描累积的原始数据以便决定是否可以得到一个扫描或下一个扫描(步骤204)。评估原始数据直到探测到一个前沿或结束沿,或者达到一个扫描的原始数据流结束为止。如果没有探测到一个边沿(NO),为了后面的原始数据流重复步骤204。
如果探测到了一个边沿(YES),(步骤204),则然后评估该原始数据来看是否存在在扫描开始时或在上一个被确认的代码段结束时开始的可能的条形码,(步骤206)。首先,评估原始数据来看在原始数据流中是否找到了条和间隔。如果找到了条和间隔,然后通过判定是否有多于6个转换(即条到间隔的转换)来接着检测原始数据流看看是否有足够的数据。还要评估该数据流来判定该数据流是否开始于且终止于一个条以便保证该代码段有效(即,代码段不含无关的信息)。如果没有条和间隔或少于6个转换就不会找到代码段。下面将找到的段称为现行的代码段,除非针对特别的扫描。
如果发现了一个代码段(YES),(步骤208),然后对它进行评估来看看该代码段位置是否重叠进入一个确认无关区域(步骤210)。如果没有发现一个代码段(NO),(步骤208),则该过程通过有效区的表格(2)开始循环(步骤260)。当同时读取多个条形码时,寻找到的代码段就是与一个已知的有效区相关的那个代码段。有效区是那些在一个扫描线下通过的含有使用者想要解码的条形码物品区域。无关区是指含有使用者不想解码的条形码的那些区域。
通过把现行代码段的开始和结束位置与无关的已知区域进行比较(见步骤246、248),可以接着评估现行的代码段在无关区的重叠(步骤210)。如果发现现行的代码段或其一部分与一个无关区重叠,就找到了一个匹配对象,并且流程返回到步骤206,来进一步识别可能的条形码段。
如果现行的代码段没有与无关区重叠(NO),(步骤210),然后评估该代码段看看它是否与一个已建立的有效区重叠(步骤212)。这是通过比较该代码段开始及结束位置和已知的有效区而做到的。如果发现现行代码段的数据的位置完全或者部分地位于一个有效区时,则该代码段与有效区重叠,并且找到了一个匹配对象。
如果没有找到有效区重叠匹配对象(NO),(步骤212),则修改有效区结构(即,有效数据存储文件),(步骤214)。在此步骤中,有效区结构(包括相关有地址指针)通过使来自现行代码段的信息进行修改以便识别一个新的或扩展的有效区。一旦修改了有效区结构或文件,流程返回到步骤206,以便识别其它可能的条形码片断。
如果找到了一个有效区重叠匹配对象(YES),(步骤212),则评估现行代码段来判定它是否是第二代码段(步骤216)。如果现行代码段是第二代码段(YES),则对齐第一和第二代码段的前沿或后沿(步骤238)。如果现行代码段不是第二代码段(NO),则评估代码段的扫描方向看看它是不是相反(步骤218)。
通过试图对齐第一和第一代码段的前沿或后沿可以检测边沿的存在(步骤238)。如果边沿没有对齐,就认为边沿没有被检验出。如果不能检验出边沿的存在(NO),(步骤204),则流程返回到步骤206以便识别可能的条形码段。
如果找到了边沿(YES),(步骤240),则再检查代码段数据以判定一个有效的开始代码是否紧接着一个前边沿,或者一个有效的终止代码是否紧接着一个结束的边沿(步骤244)。如果没有找到一个有效的开始或者终止代码紧接着一个边沿(NO),则流程返回到步骤206以便识别可能的条形码段。
如果找到了一个有效的开始或终止代码(YES),(步骤244),则可以判定该代码是否是使用者在解码中感兴趣的符号中的一个(步骤244)。有时会在一个物品的暴露的表面上附加多个条形码标签。因而这就要求条形码扫描器自动排除附加条形码使得不用浪费金钱和时间去累积不需要的信息。
如果该条形码符号是使用者所不感兴趣的多个符号中的一个(NO),(步骤246),则该区从有效区中除去,并列入或加入到无关区表格中(步骤248)。以此方式,当评估出一个现行代码在一个无关区中重叠时,在该流程开始阶段就将自动消除包括不需要的条形码未来的扫描(步骤210)。
如果该条形码符号是使用者所感兴趣的类型中的一种的话(YES),(步骤246),则再检查第一和第二扫描的数据,以判定扫描方向是不是相反了(步骤250)。由于一个条形码可以以任何角度接近扫描线且由于在一个单个物品上可以有多个可读取的条形码,则条形码的取向很可能使得一个条形码的后沿先被扫描,而另一个条形码的前沿先被扫描。将第一和第二代码段先和对齐的前沿比较,然后和对齐的后沿比较。通过判定比较向前或向后哪种具有最小的失配来确定扫描的方向(即,向前或反向)。如果扫描方向是反向的(YES),则第一和第二代码段的数据是反向的(步骤252)。这就指令第一和第二数据进行将来的评估和处理。有效区结构中还要保存该扫描方向,用于识别有效区将来扫描的扫描方向(见下面讨论的步骤218)。
在数据颠倒后(步骤252),或者如果扫描方向没有反(NO),(步骤250),则识别出在对齐的第一和第二代码段之间的失配并存储在一个失配阵列中(步骤254)。比较对齐的代码段的每个条和间隔,以识别具有不一致宽度(即,宽度失配)的条和间隔。识别出失配的条和间隔并且把来自第一和第二代码段的相关的数据存储在一个失配阵列中。识别出失配的条单元使得不累积与其相关的数据直到消除了失配。同时进行检查以判定一个条已经在多少扫描中被看到。将每个条所看到的扫描数目存储在有效数据结构中(即,每个条阵列的扫描数)。这个信息以后可用于对齐的目的。
计算在第一次扫描中的第二条的位置和第二次扫描中的第二条的位置之间的位置的差别(步骤256)。计算出的差别可用来确定在将来的扫描中一个条的定位位置(后面将解释)并且可用来计算任何其它的用于扫描对齐的偏移值。
把每个现行代码段的数据保存在一个扫描缓冲存储器中,直到该数据被拷贝进有效缓冲存储器以便累加条形码为止,在计算完位置差别之后,把好的第二扫描的宽度数据加在有效缓冲存储器中(步骤258)。在此方面,加到有效缓冲存储器的意思是综合重叠的条和间隔的宽度数据来产生一个平均宽度值,并且附加在有效缓冲存储器中没发现数据。在计算了该差别(步骤256)和向有效缓冲存储器中附加了计数信息(步骤258)之后,流程返回到步骤206以便识别可能的条形码段。
通过返回到步骤206,可以进行下面接着的数据扫描。然而,由于接着的扫描是对现行代码段的有效区的第三次或更高次的扫描,当到达步骤212时,如前面所述,流程将进行到步骤218。
如前面所述(见步骤250),在一个已知有效区中的代码段的扫描方向被保持以便将来使用。因而,对于一个已知有效区域的第三个和接下来的代码段来说,是通过参考保留的信息来确定扫描的方向的。因而,在得到一个第三或接下来的代码段来的代码段之后(即,完成步骤206-216),再检查有效数据结构以便确定扫描方向(步骤218)。如果扫描方向反向了(YES),则颠倒或倒转现行代码段的宽度数据以便进一步评估和处理(步骤220)。
在颠倒完数据之后(步骤220),或者如果本代码段的方向没有反向(NO),(步骤218),从有效缓冲存储器中选出一个对齐的条并且加上先前计算出来的位置偏移(步骤222)。通过搜寻有效缓冲存储器,即从该缓冲存储器的端部开始,直到找到一个至少在二个扫描中看到的条(而不是一个间隔)时为止,可以选出一个对齐的条。由于没有把失配的数据加进该有效缓冲存储器,则就知道所选择的条是该条形码的一个有效的条。从对齐的条的位置减去先前计算的位置偏移。
当现行代码段是第三次扫描的数据时,事先计算的位置偏移是在步骤256中计算出来的差。在此之后,在下面描述的步骤230中确定先前计算的位置偏移。
由于假定条形码相对于扫描器的扫描线保持一个固定的角度并且以一个恒定的速度通过扫描器,因此先前计算的位置偏移代表沿着扫描线从在有效缓冲存储器中条的位置到在现行代码段中条的位置的期望的位置偏移。结果,综合该位置偏移和对齐的条位置将产生在下一个扫描中期望的对齐的条的位置。
对于对齐的条的期望位置扫描现行代码段(步骤224)。在该步骤中,搜索现行代码段,搜索是从该数据的前端开始的,以便找到与在步骤222中的计算所确定的条的期望位置最接近一致的条的位置。在识别出在现行代码段中的条之后,可以决定在现行代码段中该条的位置与计算的位置之间的差别。
在对齐的条的附近设置一个窗口以便比较有效缓冲存储器和现行代码的宽度数据以便核实现行码段与有效缓冲存储器的位置对齐状况(步骤226)。在该窗口的前边缘开始,比较5个转换(条/间隔)。把有效缓冲存储器中的条和间隔的宽度值与现行代码段的对应条和间隔的宽度值进行比较以便判定宽度值是否一致。如果判定的所辨别的不一致的数目比一个预先规定的值小,则在有效缓冲存储器和现行代码段之间的位置的对齐状况就可被认为是可以接受的(即,核实了的)。如果判定出一个不可接受的不一致的数目(NO),对齐就没有被核实(NO),并且流程返回到步骤206来识别可能的条形码段。
如果核实了对齐(YES),(步骤228),然后计算出平均位置偏移值(步骤230)。通过确定在现行代码段中的和有效缓冲存储器中的对齐的条之间的位置的改变,可能确定平均位置偏移值。求出这个差别和先前计算的位置偏移的平均值以产生一个现行的位置改变或位置偏移。然后,以与在步骤220中使用先前计算的位置偏移的类似的方式,使用这个现行的位置偏移来进行随后的扫描。
当采用第三代码段的数据时,通过使用新数据取代不良数据可以解决在第一和第二代码段之间的数据匹配(步骤232)。确切地说,比较与不匹配的条和间隔相关的第一与第三代码段的宽度数据以及第二与第三代码段的宽度数据以便识别哪个代码段对(例如,第一和第三代码段)具有一致的数据。然后用这个数据对来决定来自第一和第二代码段的哪个数据必须被略去(即,用代码段对淘汰不良数据)。对每个识别过的失配都进行这样的评估。
再检查有效缓冲存储器和现行数据段以确定是否有任何失配(步骤234)。比较新的和有效的数据来看看是否有似乎不一致的条或间隔的宽度值。在再检查完该数据之后,辨别任何新的失配并且将其存储在失配阵列中以便将来消除。
通过以下的步骤综合新的数据和有效信息,这些步骤是相对于有效数据改变新数据的位置直到位置对齐为止,消除以前的失配,探测并排除新的失配,和把新数据添加到有效数据的开始端或终止端(步骤236)。首先,核实扫描的对齐。根据新的对齐状态重新计算位置偏移并且结合可得到的条的位置数据采用该位置偏移来消除任何先前的失配。
在更新有效数据文件以便反映正确信息之后,流程返回到步骤206以便识别可能的条形码段。重复在步骤206和步骤236之间的流程直到一个条形码在相干光的扫描线下出来为止。这就是说,重复这个流程一直到在一个已知的有效区中找不到一个代码段为止(步骤208)。尽管最少需要3个扫描以消除失配(步骤232),但在条形码从扫描线下面出来之前最好有4个扫描。
当在一个已知的有效区中没有找到一个现行代码段时(步骤208)循环通过有效区的表格以便执行一组或多个操作(即,步骤260-272)。还要循环通过被忽略的区域的表格以便执行另一组或多个操作(即,步骤274-278)。这两者的目的都是决定一个有效区或者被忽略的区域是否已经从扫描线下流出,以便对再现的条形码进行解码;和/或修正有效数据结构以除去不需要的数据。在这两组操作都完成之后,流程返回到步骤204以便决定是否可以得到另一个数据的扫描。
循环通过有效区(步骤260)来确定是否已经形成了一个完整的条形码(步骤262),以便使得如果已经形成了一个完整的代码则规范化该数据,(步骤264),对该条形码解码并且输出已解码的信息(步骤266、268),并且在代码段已经解码之后从有效数据结构中清除数据(步骤270-272)。为了对该信息解码,对累积的宽度数据进行处理以便把数据规范化成1、2、3、及4宽度的条和间隔,这是一个工业标准的通常作法,(步骤264)。
在循环通过有效区之后,还要循环通过被忽略的区域来确定一个被忽略的区域是否已经在扫描线下面通过(步骤276),并且如果是的话则从该数据结构中清除与此被忽略的区域相关的数据(步骤278)。
尽管已经用特定的术语描述了本发明的一个优选的实施例,但这样的描述仅用作说明的目的,并且应该理解,在不脱离下面权利要求的构思或范围的前提下对本发明可作出修改和改变。

Claims (42)

1、一个用于读取在一个物品上的机器可读取的代码的装置,该代码具有多个代码单元,该装置包括:
扫描装置,该扫描装置用于连续地扫描该代码并且对于该代码的每一个连续扫描输出一个代表至少该代码一部分的信号。
信号处理装置,该信号处理装置用于处理由所说扫描装置输出的每个信号,所说的信号处理装置进一步提供信号识别数据,该信号识别数据包括对于该代码的每次连续扫描的与每个信号相关的一个宽度和位置数据;和
数据处理装置,该数据处理装置对于由所说信号处理装置提供的代码的每次连续的扫描,从所说的信号识别数据中再现该代码,所说的数据处理装置包括位置对齐装置,该位置对齐装置即可以为一个连续的扫描确定一个选择的代码单元的位置,也可以把选择的代码单元与从一个以前的扫描中的相应单元位置对齐。
2、根据权利要求1的用于读取机器可读取的代码的装置,其特征在于:所说的数据处理装置还包括用于综合和累加所说的信号识别数据的装置。
3、根据权利要求2的用于读取机器可读取代码的装置,其特征在于:所说的位置对齐装置还包括一个第一位置计算装置,该第一位置计算装置计算一个在在第一扫描中从所说的综合及累加装置中选择的一个代码单元的位置与在第二扫描中的选择的代码单元之间的位置差别,以便提供一个可用于第三扫描中的计算的位置偏移。
4、根据权利要求3的用于读取机器可读取代码的装置,其特征在于:所说的位置对齐装置还包括一个期望的定位装置,通过加上来自所说的第一位置计算装置的计算的位置偏移,该定位装置可用于确定对于第三次扫描的选定的代码单元的期望位置。
5、根据权利要求4的用于读取机器可读取代码的装置,其特征在于:至少有三次条形码的扫描并且所说的位置对齐装置还包括:
一个第二位置计算装置,该第二位置计算装置用于计算一个在来自所说的综合及累加装置中的一个选定的代码单元的位置和来自代码的一部分的一个相继扫描中的所说的选定的代码单元的位置之间的位置差别;和
位置偏移平均装置,该位置偏移平均装置用于对所说的以前的扫描的计算的位置偏移和由所说的第二位置计算装置计算的位置差别求平均值,以便提供一个用于相继的扫描的精确的计算的位置偏移。
6、根据权利要求5的用于读取机器可读取代码的装置,其特征在于:所说的位置对齐装置还包括一个期望的定位装置,该期望的定位装置可以用于通过应用来自所说的位置偏移平均装置的精确的计算的偏移,确定一个相继的扫描的所选定的代码单元的期望位置。
7、根据权利要求6的用于读取机器可读取代码的装置,其特征在于:所说的位置对齐装置还包括用于在一个扫描中定位一个代码单元的装置,该代码单元与在所说扫描中选定的代码单元的期望位置最接近一致。
8、根据权利要求7的用于读取机器可读取代码的装置,其特征在于:所说的数据处理装置还包括用于确定被在一个代码单元中见到的扫描数目的装置。
9、根据权利要求8的用于读取机器可读取代码的装置,其特征在于:来自所说的综合及累加装置的、由所说的位置对齐装置所选定的代码单元是一个至少在两次扫描中见到的代码单元。
10、根据权利要求7的用于读取机器可读取代码的装置,其特征在于:所说的数据处理装置还包括:
位置对齐装置,该位置对齐装置,根据在所说的综合及累加装置中选定的代码单元的位置和与在相继扫描中选定的代码单元的位置最接近一致的代码单元的位置,对齐在所说综合及累加装置中的所说的信号识别数据和一个相继扫描的信号识别数据;
识别宽度失配装置,该识别宽度失配装置用来识别在对齐的信号识别数据之间的宽度失配,其中所说的综合及累加装置与所说的失配识别装置配合动作使得失配的信号识别数据不被综合及累加;和
保留所说信号识别数据的装置,该装置用于保留来自所说信号处理装置的、被识别为宽度失配的所说信号识别数据。
11、根据权利要求10的用于读取机器可读取代码的装置,其特征在于:所说的数据处理装置还包括用于消除识别到的宽度失配的装置,所说的宽度失配是由所说的失配识别装置通过比较来自信号识别数据中三个扫描的宽度数据而识别出来的。
12、根据权利要求11的用于读取机器可读取代码的装置,其特征在于:所说的失配消除装置比较在第一次扫描中的对应的代码单元的宽度数据和来自第三次扫描的宽度数据,以便确定对应的宽度是否一致,并且比较在第二次和第三次扫描中的对应的代码单元的宽度数据,以便确定对应的宽度是否一致。
13、根据权利要求12的用于读取机器可读取代码的装置,其特征在于:所说的失配消除装置还包括用于指示的装置,用于指示在综合及累加装置中综合具有一致宽度的扫描的信号识别数据,并且由略去其它扫描的信号识别数据。
14、根据权利要求11的用于读取机器可读取代码的装置,其特征在于:所说的数据处理装置还包括:
扫描导向装置,该扫描导向装置用于确定一个扫描的方向;和
数据反向装置,该数据反向装置响应于所说的扫描导向装置用于反向一个条形码的每次扫描中的每个代码单元的信号识别数据,使得可以把条形码的所有扫描的信号识别数据保持在一个预先确定的方向。
15、根据权利要求14的用于读取机器可读取代码的装置,其特征在于:所说的数据处理装置还包括:
用于识别一个第一区域的装置,该第一区域要累加信号识别数据;和
用于识别一个第二区域的装置,该第二区域不累加信号识别数据。
16、根据权利要求15的用于读取机器可读取代码的装置,其特征在于:所说的数据处理装置还包括一个用于比较来自所说信号处理装置的每个扫描的信号识别数据的第一装置,以便确定该信号识别数据是否与所说的第一区域重叠。
17、根据权利要求15的用于读取机器可读取代码的装置,其特征在于:所说的数据处理装置还包括一个用于比较来自所说信号处理装置的每个扫描的信号识别数据的第二装置,以便确定该信号识别数据是否与所说的第二区域重叠。
18、根据权利要求17的用于读取机器可读取代码的装置,其特征在于:所说的用于识别一个第二区域的装置识别含有将不被解码的机器可读取代码的区域。
19、根据权利要求18的用于读取具有多个代码单元的机器可读取代码的装置,其特征在于:代码单元包括多个间距,这些间距含有或者窄或者宽间距的条和间隔,并且其中所说的数据处理装置还包括:
测量装置,该测量装置测量来自所说的综合及累加装置的所说信号识别数据的间隔宽度,并且用于把间隔宽度规范化成1、2、3和4宽度的条和间隔以便提供一个再现的条形码;和
用于解码再现的条形码的装置以提供编码的信息。
20、根据权利要求1的用于读取机器可读取代码的装置,其特征在于:所说的扫描装置还包括至少一个光源和探测装置,用来以一个预定的光分布图案连续照亮一个条形码,并且连续探测从该条形码反射的光。
21、根据权利要求1的用于读取机器可读取代码的装置,其特征在于:所说的扫描装置还包括多个光源和探测装置,用来以一个预定的光分布图案连续照亮一个条形码并且连续探测从该条形码反射的光。
22、根据权利要求20的用于读取机器可读取代码的装置,其特征在于:所说的光源和探测装置还包括一个相干光源。
23、根据权利要求228的用于读取机器可读取代码的装置,其特征在于:所说的扫描装置还包括一个光导向装置,用来导向来自所说的相干光源的光以产生预先确定的光分布图案。
24、一种用来读取在一个物体上的、具有多个代码单元的、机器可读取代码的方法,该方法包括以下步骤:
连续扫描该代码以便为代码的每个相继扫描提供一个至少代表该代码一部分的信号;
连续处理每个代表至少该代码一部分的信号,以便为该代码的每次相继扫描提供信号识别数据,该信号识别数据包括与每个所说信号相关的宽度和位置数据;和
从该代码的每个相继扫描的所说的信号识别数据中再现该代码,所说的再现包括以下步骤,即确定一个相继扫描的一个选定的代码单元的位置和把所说的选定的代码单元位置与来自一个以前扫描的对应代码单元的位置对齐。
25、根据权利要求24的用于读取机器可读取代码的方法,该方法还包括综合及累加所说信号识别数据的步骤。
26、根据权利要求25的用于读取机器可读取代码的方法,其特征在于:所说的确定和位置对齐的步骤还包括首先计算一个位置差别的步骤,该位置差别是在来自所说的综合及累加步骤的一个代码的一个第一扫描中的一个选定的代码单元的位置和在该代码的一个第二扫描中的该选定的代码单元的位置之间的差别。
27、根据权利要求26的用于读取机器可读取代码的方法,其特征在于:所说的测定和对齐步骤还包括:通过应用来自所说的一个位置差别的首次计算步骤而计算出的位置偏移,确定第三次扫描的选定的代码单元的期望位置的步骤。
28、根据权利要求27的用于读取机器可读取代码的方法,其特征在于:对于条形码至少扫描三次,并且其中所说的测定和对齐一个选定的代码单元的位置的步骤还包括以下步骤:
接着计算一个在来自所说的综合及累加装置中的一个选定的代码单元的位置和来自一个对该代码的一部分的相继扫描中的所说的选定的代码单元的位置之间的位置差别;和
对所说的以前扫描的计算的位置偏移和来自所说的对一个位置差别的接着的计算而得到的位置差别求平均值,以便提供一个精确的计算的位置偏移用于相继的扫描。
29、根据权利要求28的用于读取机器可读取代码的方法,其特征在于:所说的测定和对齐步骤还包括下面这个步骤,即通过采用从所说平均步骤精确计算的位置偏移,确定一个连续扫描的选定的代码单元的期望位置。
30、根据权利要求29的用于读取机器可读取代码的方法,其特征在于:所说的确定和对齐步骤还包括下面这个步骤,即找出在一个扫描中的、与在所说扫描中选定的代码单元的期望位置最接近一致的一个代码单元。
31、根据权利要求30的用于读取机器可读取代码的方法,其特征在于:所说的再现步骤还包括确定一个代码单元所见的扫描的数目的步骤。
32、根据权利要求31的用于读取机器可读取代码的方法,其特征在于:所说的测定及位置对齐步骤还包括以下步骤,即从所说的综合及累加装置中选出一个在至少两个扫描中见到过的代码单元。
33、根据权利要求30的用于读取机器可读取代码的方法,其特征在于:所说的再现步骤还包括以下步骤:
位置对齐步骤,根据在所说的综合及累加装置中选定的代码单元的位置和在相继扫描中与选定的代码单元的位置最为接近的代码单元,该位置对齐步骤把在所说的综合及累加装置中的信号识别数据和一个相继扫描的信号识别数据对齐;
识别在对齐的信号识别数据之间的代码单元宽度的失配其中所说的综合及累加装置与所说的识别失配配合动作,使得失配的信号识别数据不被综合及累加;和
从所说的识别失配中保留已被识别为具有宽度失配的所说的信号识别数据。
34、根据权利要求33的用于读取机器可读取代码的方法,其特征在于:所说的再现步骤还包括:通过比较来自信号识别数据的三次扫描的宽度数据,消除来自所说的识别失配装置的被识别到的宽度失配。
35、根据权利要求34的用于读取机器可读取代码的方法,其特征在于:所说的消除失配步骤还比较在第一次扫描的代码单元的宽度数据和来自第三次扫描的宽度数据,以便确定对应的宽度是否一致,并且比较在第二和第三次扫描中对应的代码单元的宽度数据,以便确定对应宽度是否一致。
36、根据权利要求35的用于读取机器可读取代码的方法,其特征在于:所说的消除失配步骤还包括以下指示步骤,即指示在综合及累加装置中综合对于扫描的具有一致宽度的信号识别数据以及略去其它扫描的信号识别数据。
37、根据权利要求34的用于读取机器可读取代码的方法,其特征在于:所说的再现步骤还包括以下步骤:
确定一个扫描的方向;和
根据所说确定的扫描方向、在一个条形码的每次扫描中,反向每个代码单元的信号识别数据,以便使得可以把该条形码的所有扫描的信号识别数据保持在一个预先确定的方向。
38、根据权利要求37的用于读取机器可读取代码的方法,其特征在于:所说的再现步骤还包括以下步骤:
识别用于累加信号识别数据的第一区;和识别不累加信号识别数据的第二区。
39、根据权利要求38的用于读取机器可读取代码的方法,其特征在于:所说的再现步骤还包括以下步骤,即比较第一区和来自所说的信号处理步骤的每个扫描的信号识别数据,以决定信号识别数据是否与所说的第一区重叠。
40、根据权利要求39的用于读取机器可读取代码的方法,其特征在于:所说的再现步骤还包括以下步骤,即比较第二区和来自所说的信号处理步骤的每个扫描的信号识别数据,以便确定信号识别数据是否与所说的第二区重叠。
41、根据权利要求40的用于读取机器可读取代码的方法,其特征在于:所说的识别第二区的步骤还要识别包含将不解码的机器可读取代码的区域。
42、根据权利要求41的用于读取具有多个代码单元机器可读取的代码的方法,其特征在于代码单元包括多个间距,这些间距包含具有或者窄或者宽的条和间隔,并且所说的再现步骤还包括以下步骤:
测量来自所说的综合及累加装置的所说识别数据的间距-宽度;
将来自所说测量步骤的间距宽度规范为1、2、3和4宽的条和间隔,以便提供一个再现的条形码;和
解码再现的条形码以便提供编码的信息。
CN93114094A 1992-09-14 1993-09-14 用于从扫描过的线段再现完整代码的扫描装置 Expired - Fee Related CN1036162C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/944,506 US5296691A (en) 1992-09-14 1992-09-14 Scanning device for reconstructing a complete code from scanned segments
US07/944,506 1992-09-14

Publications (2)

Publication Number Publication Date
CN1087433A true CN1087433A (zh) 1994-06-01
CN1036162C CN1036162C (zh) 1997-10-15

Family

ID=25481538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN93114094A Expired - Fee Related CN1036162C (zh) 1992-09-14 1993-09-14 用于从扫描过的线段再现完整代码的扫描装置

Country Status (10)

Country Link
US (2) US5296691A (zh)
EP (1) EP0613575B1 (zh)
JP (1) JPH07504530A (zh)
CN (1) CN1036162C (zh)
AT (1) ATE194430T1 (zh)
AU (1) AU672241B2 (zh)
CA (1) CA2123513A1 (zh)
DE (1) DE69328961T2 (zh)
NZ (1) NZ256537A (zh)
WO (1) WO1994007213A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100365643C (zh) * 2004-11-20 2008-01-30 三星电子株式会社 读取条形码的方法和装置
CN101093547B (zh) * 2007-05-18 2010-06-09 上海邮政科学研究院 基于高度参数的条码和数字协同识别物品的方法
CN106778719A (zh) * 2016-11-11 2017-05-31 广州弥特智能科技有限公司 一种提高在线连续采集条码解码成功率的方法
CN111931526A (zh) * 2020-09-29 2020-11-13 天津开发区精诺瀚海数据科技有限公司 一种面向黑灯智能工厂的声学条形码的检测装置

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5979768A (en) * 1988-01-14 1999-11-09 Intermec I.P. Corp. Enhanced bar code resolution through relative movement of sensor and object
US5124538B1 (en) * 1988-08-26 1995-01-31 Accu Sort Systems Inc Scanner
US6688523B1 (en) 1988-08-31 2004-02-10 Intermec Ip Corp. System for reading optical indicia
US5495097A (en) * 1993-09-14 1996-02-27 Symbol Technologies, Inc. Plurality of scan units with scan stitching
US5422470A (en) * 1992-08-31 1995-06-06 Olympus Optical Co., Ltd. Symbol information reading apparatus
US5384451A (en) * 1993-01-29 1995-01-24 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code symbols using composite signals
US5446271A (en) * 1993-08-06 1995-08-29 Spectra-Physics Scanning Systems, Inc. Omnidirectional scanning method and apparatus
AU681421B2 (en) * 1993-09-14 1997-08-28 Symbol Technologies, Inc. Bar code scan stitching
US5457308A (en) * 1993-09-14 1995-10-10 Symbol Technologies, Inc. Bar code scan stitching
US5438188A (en) * 1994-04-01 1995-08-01 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code images using information from previous scan lines
GB2291524B (en) * 1994-07-21 1997-01-29 Fujitsu Ltd Reading bar codes
GB2301468B (en) * 1994-07-21 1997-01-29 Fujitsu Ltd Reading bar codes
US5637849A (en) * 1995-05-31 1997-06-10 Metanetics Corporation Maxicode data extraction using spatial domain features
US5773807A (en) * 1995-07-28 1998-06-30 Symbol Technologies, Inc. Arrangement for and method of minimizing reading errors in bar code symbol readers
JP3470738B2 (ja) * 1995-09-14 2003-11-25 富士通株式会社 バーコード読取装置及びバーコード読取方法
DE19537368A1 (de) * 1995-10-06 1997-04-10 Sick Ag Verfahren und Vorrichtung zum Lesen eines Strichcodes
US5777310A (en) * 1995-11-06 1998-07-07 Intermec Corporation Problem reduction with low level information integration in bar code decoding
JPH09161001A (ja) * 1995-12-05 1997-06-20 Fujitsu Ltd バーコード読取装置
US5764798A (en) * 1996-03-18 1998-06-09 Intermec Corporation Prioritized searching methods for finding a coded symbol in a digitized image
US5686716A (en) * 1996-05-13 1997-11-11 Psc, Inc. Bar code void and spot discrimination
JP2760351B2 (ja) * 1996-11-01 1998-05-28 日本電気株式会社 バーコード読取装置
US5979761A (en) * 1996-11-18 1999-11-09 Accu-Sort Systems, Inc. Bar code laser scanner having a plurality of adjustable mirrors
EP0851375B1 (en) * 1996-12-30 2003-05-02 DATALOGIC S.p.A. Method of reading an object-applied bar code
DE19711873C2 (de) * 1997-03-21 2003-03-06 Sick Ag Verfahren und Vorrichtung zum Lesen eines Strichcodes
DE19716886C2 (de) * 1997-04-22 2001-02-01 Sick Ag Verfahren und Vorrichtung zum Lesen eines Strichcodes
DE19734031A1 (de) * 1997-08-06 1999-02-11 Sick Ag Verfahren und Vorrichtung zum Lesen eines aus einer vorgegebenen Anzahl von Codeelementen bestehenden Strichcodes
US5984186A (en) * 1997-10-29 1999-11-16 Psc Inc. CCD-base bar code scanner
DE69810898T2 (de) 1998-05-20 2003-11-13 Datalogic Spa Verfahren zur Wiederherstellung aufeinanderfolgender Abtastungen eines Strichcodes
JP3560477B2 (ja) * 1998-08-24 2004-09-02 富士通株式会社 バーコード読取装置及びバーコード読取方法
DE19840455A1 (de) * 1998-09-04 2000-03-09 Sick Ag Verfahren zum Betreiben eines Strichcodelesers
US6267293B1 (en) * 1999-02-22 2001-07-31 Cimatrix Bar code scanning system and method
EP1096416B2 (en) * 1999-10-26 2017-11-22 Datalogic IP TECH S.r.l. Method for reconstructing a bar code through consecutive scans
US6296187B1 (en) 1999-11-12 2001-10-02 Psc Inc. CCD-based bar code scanner
US6189792B1 (en) * 1999-12-14 2001-02-20 Ncr Corporation System and methods for exemplar based bar code error detection and correction
US7100832B2 (en) * 2000-04-18 2006-09-05 Metrologic Instruments, Inc. Bioptical laser scanning system providing 360° of omnidirectional bar code symbol scanning coverage at point of sale station
US20030132291A1 (en) * 2002-01-11 2003-07-17 Metrologic Instruments, Inc. Point of sale (POS) station having bar code reading system with integrated internet-enabled customer-kiosk terminal
SE522970C2 (sv) * 2000-05-05 2004-03-23 Ericsson Telefon Ab L M Förfarande, system, streckkodläsare och datorprogramprodukt för att länka en streckkod till en webbsida
JP2002042053A (ja) * 2000-07-21 2002-02-08 Fujitsu Ltd バーコードスキャナ
US8682077B1 (en) 2000-11-28 2014-03-25 Hand Held Products, Inc. Method for omnidirectional processing of 2D images including recognizable characters
US7296748B2 (en) 2002-01-11 2007-11-20 Metrologic Instruments, Inc. Bioptical laser scanning system providing 360° of omnidirectional bar code symbol scanning coverage at point of sale station
JP3876783B2 (ja) * 2002-07-19 2007-02-07 株式会社デンソーウェーブ 情報コード読取方法
MXPA06001164A (es) * 2003-09-23 2006-08-31 Secure Symbology Inc Metodo para mejorar la seguridad y aumentar la capacidad para almacenamiento de informacion.
US7108187B2 (en) * 2003-11-10 2006-09-19 Ncr Corporation Method of reading a plurality of bar codes during a scanning motion
US20060031044A1 (en) * 2004-08-04 2006-02-09 Bran Ferren Identification of interior design features
US7664563B2 (en) 2007-09-14 2010-02-16 Searete Llc System for making custom prototypes
US7806339B2 (en) * 2004-03-16 2010-10-05 The Invention Science Fund I, Llc Embedded identifiers
US10215562B2 (en) * 2004-07-16 2019-02-26 Invention Science Find I, LLC Personalized prototyping
US20060025878A1 (en) * 2004-07-30 2006-02-02 Bran Ferren Interior design using rapid prototyping
US20060012081A1 (en) * 2004-07-16 2006-01-19 Bran Ferren Custom prototyping
US7451933B2 (en) * 2005-04-19 2008-11-18 Intermec Ip Corp. Optoelectronic device, process and article for acquiring machine-readable symbols, such as bar codes
EP1975849B1 (en) * 2007-03-27 2011-04-27 Casio Computer Co., Ltd. Bar-code reading apparatus and computer-readable medium
GB2449213B (en) 2007-05-18 2011-06-29 Kraft Foods R & D Inc Improvements in or relating to beverage preparation machines and beverage cartridges
US8622304B2 (en) * 2009-01-26 2014-01-07 Symbol Technologies, Inc. Imaging reader and method with combined image data and system data
US8523076B2 (en) 2012-01-10 2013-09-03 Metrologic Instruments, Inc. Omnidirectional laser scanning bar code symbol reader generating a laser scanning pattern with a highly non-uniform scan density with respect to line orientation
US9684810B2 (en) * 2013-03-15 2017-06-20 D2L Corporation System and method for partite optically readable code
EP3271747B1 (en) * 2015-03-17 2022-05-25 Cornell University Depth field imaging apparatus, methods, and applications
US9495571B1 (en) 2015-09-30 2016-11-15 Datalogic Automation, Inc. Two-dimensional representation of linear barcode derived from laser barcode scanner scanline data
CN106056024B (zh) * 2016-07-11 2019-07-16 深圳市兴通物联科技有限公司 光路结构及其扫码读码方法
US10083334B2 (en) * 2016-12-06 2018-09-25 Datalogic Ip Tech S.R.L. Barcode reconstruction utilizing a sequence alignment matrix
US10204284B2 (en) * 2016-12-06 2019-02-12 Datalogic Ip Tech S.R.L. Object recognition utilizing feature alignment

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3701097A (en) * 1971-01-20 1972-10-24 Identicon Corp Decoding bar patterns
US3979577A (en) * 1973-12-05 1976-09-07 Data General Corporation Code recognition record medium and technique
US3916158A (en) * 1974-01-21 1975-10-28 Pitney Bowes Inc Optical scanner and method for producing a scanning pattern
US3909787A (en) * 1974-07-01 1975-09-30 Ibm Candidate selection processor
US3995166A (en) * 1975-04-16 1976-11-30 Coherent Radiation Optical scan pattern generator for code reading systems
US4056710A (en) * 1976-04-16 1977-11-01 Coherent Radiation System for decoding bar code
US4093865A (en) * 1977-04-29 1978-06-06 National Semiconductor Corporation Code symbol scanner using a double X bar pattern
US4092632A (en) * 1977-05-02 1978-05-30 Xerox Corporation Crossover arrangement for multiple scanning arrays
FR2423829A1 (fr) * 1978-04-19 1979-11-16 Telemecanique Electrique Procede et dispositif de lecture d'un support d'une information codee selon un code a barres, applicables lorsque la direction des barres par rapport a celle du faisceau de lecture peut varier
US4409469A (en) * 1980-01-21 1983-10-11 Sharp Kabushiki Kaisha Optical bar code reader
US4329574A (en) * 1980-06-25 1982-05-11 International Business Machines Corp. Bar code candidate select circuit
US4308455A (en) * 1980-06-26 1981-12-29 E. I. Du Pont De Nemours And Company Method for decoding bar-coded labels
JPS57204977A (en) * 1981-06-11 1982-12-15 Nippon Denso Co Ltd Method and device for bar code read
US4717818A (en) * 1986-06-26 1988-01-05 International Business Machines Corporation Bar code label identification circuit
US4745484A (en) * 1986-07-30 1988-05-17 Drexler Technology Corporation Method and apparatus for stepped imaging in reading data
CA1310417C (en) * 1987-09-28 1992-11-17 Hideki Okamura Combining bar code read data
US5124538B1 (en) * 1988-08-26 1995-01-31 Accu Sort Systems Inc Scanner
US5028772A (en) * 1988-08-26 1991-07-02 Accu-Sort Systems, Inc. Scanner to combine partial fragments of a complete code
US5015833A (en) * 1988-10-31 1991-05-14 Symbol Technologies, Inc. Scan board module for laser scanners
JPH02141889A (ja) * 1988-11-22 1990-05-31 Eastman Kodatsuku Japan Kk バーコード読取方法
KR100230984B1 (ko) * 1996-07-24 1999-11-15 김광호 반도체장치의 비피에스지에 포함된 불순물 측정시 이용되는 계측설비 설정값 보정용 기준 샘플 제조 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100365643C (zh) * 2004-11-20 2008-01-30 三星电子株式会社 读取条形码的方法和装置
CN101093547B (zh) * 2007-05-18 2010-06-09 上海邮政科学研究院 基于高度参数的条码和数字协同识别物品的方法
CN106778719A (zh) * 2016-11-11 2017-05-31 广州弥特智能科技有限公司 一种提高在线连续采集条码解码成功率的方法
CN111931526A (zh) * 2020-09-29 2020-11-13 天津开发区精诺瀚海数据科技有限公司 一种面向黑灯智能工厂的声学条形码的检测装置
CN111931526B (zh) * 2020-09-29 2021-01-22 天津开发区精诺瀚海数据科技有限公司 一种面向黑灯智能工厂的声学条形码的检测装置

Also Published As

Publication number Publication date
EP0613575B1 (en) 2000-07-05
CA2123513A1 (en) 1994-03-31
WO1994007213A1 (en) 1994-03-31
AU5128893A (en) 1994-04-12
AU672241B2 (en) 1996-09-26
NZ256537A (en) 1996-02-27
JPH07504530A (ja) 1995-05-18
US5387787A (en) 1995-02-07
ATE194430T1 (de) 2000-07-15
CN1036162C (zh) 1997-10-15
US5296691A (en) 1994-03-22
DE69328961T2 (de) 2001-02-22
EP0613575A4 (en) 1998-05-13
EP0613575A1 (en) 1994-09-07
DE69328961D1 (de) 2000-08-10

Similar Documents

Publication Publication Date Title
CN1036162C (zh) 用于从扫描过的线段再现完整代码的扫描装置
CN1219273C (zh) 用于读取邮政编码的成像引擎和技术
JP2000507727A (ja) 高速画像捕捉システムおよび方法
US4074114A (en) Bar code and method and apparatus for interpreting the same
US6490376B1 (en) Skew processing of raster scan images
US7248754B2 (en) Apparatus and method for determining whether machine readable information on an item matches the item
CN101351754B (zh) 移动设备跟踪
EP0414466B1 (en) Method and apparatus for machine reading of retroreflective vehicle identification articles
US20040246473A1 (en) Coded-light dual-view profile scanning apparatus
US6173893B1 (en) Fast finding algorithm for two-dimensional symbologies
JPH05509394A (ja) 実時間三次元感知装置
US6499581B2 (en) Coin discriminating apparatus
CN103443802A (zh) 自动化光学代码读取系统中的异常检测和处理
KR100242731B1 (ko) 바코드 판독 방법 및 장치
CN110414650B (zh) 一种基于反光编码标签的信息获取方法和系统
CN86108879A (zh) 模具识别
US6616044B1 (en) Methods and apparatus for obtaining imaging information in bar code scanners
CN87105788A (zh) 一种代码读出器
CN1015755B (zh) 扫描文件速度检测器
JP2001229339A (ja) バーコード読み取り装置
US6796503B1 (en) Methods and apparatus for dynamic adjustment of bar code reader parameters
JPH07334606A (ja) 光学式符号読取り装置
JP2001291051A (ja) 二次元バーコードの読み取り方法及び装置、情報記録媒体
JPH07325879A (ja) 光学式符号読取装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee