带有编码数据的记录体的制作方法

文档序号:6407060阅读:308来源:国知局
专利名称:带有编码数据的记录体的制作方法
技术领域
本发明一般性地涉及包含机器可读的数据与图象两者的表示的记录体,而更具体地涉及诸如驾驶证、签证、票证或持券人债券等记录体,其中的图象(诸如照片等)是以类似于涉及该图象或记录体的数据的方式涂覆或表示的。
当前,有许多记录体兼含诸如照片等图象及诸如文本等数据。护照、签证及驾驶证包含所有者的照片及关于这些记录体的使用的数据。一本护照上记有旅行者身份的信息。一张签证上记有关于持证人的访问目的的信息。一张驾驶证记有关于持有者的驾驶限制的信息。
其它记录体也有诸如画面等图象及不同种类的数据。例如,某些债券可有象乔治·华盛顿那样的特殊人物的照片以及有关该债券的数据。其它记录体,诸如股票等,也有类似的图象与数据。
当前,在这些记录体上的数据与图象是分开的。未曾有过以改进记录体的质量的方式将数据与图象互相关连在一起的技巧。这种改进能用于减少伪造,而伪造是使用照片作为身份证明的记录体及使用特殊画面的记录体的普遍问题。
在将图象与数据结合过程中,将数据编码成离开适当的解码机器便难于理解其信息也是有利的。这将进一步遏止伪造。
同时还存在着充分的理由要求将数据编码成能够将大量的信息记录在记录体上的一种格式。例如,对于用照片作为身份证明的那些记录体,记录体上的信息可包含关于该记录体的持有者的进一步的辨认信息,诸如眼睛的颜色、发色、身高、体重等。这时,如果将一张新的照片插在正当的照片上面,这些信息将与该新照片不符而伪造将被识破。
使得伪造更为困难的另一种方法是将编码信息放置在画面上。如果这样做了,对画面的任何替换或涂改同时消除或改变了某些辨认信息。
然而,这样做存在着一些问题。覆盖在上面的信息有可能使得照片失真或模糊不清,从而难于使用照片来进行辨认。此外,照片的亮区与暗区可使信息失真,使信息难于读取。
对于具有画面图象的记录体,问题不在于辨认而在于防止多次偿还。在这些情况中,如果记录体上的数据包含有关记录体的状态的信息而使多次偿还能被测出,则伪造便可识破。为使多次偿还更加困难,将信息进行编码并使用画面作为一种后备安全描施是有利的。当前,这一点尚未做到。
因此,本发明的目的之一为提供一种带有图形图象连同验证或鉴别该记录体的编码信息的记录体。
本发明的另一目的为提供这种信息而基本上还使图形图象失真。
本发明的又一目的为提供一种带有图形与编码信息的记录体,使得能够容易地识破放置在记录体上的信息中的任何改动。
本发明的另一个目的为以将编码信息结合在图象中的方式在记录体上提供图形图象编码信息。
本发明的其它目的与优点一部分将在下面的说明中提出而一部分则是从说明中显而易见的,或者可以通过实践本发明而理解。本发明的优点可通过所附权利要求书中所具体指明的手段与组合得到实现与完成。
为达到这些目的并根据这里所体现与概括地描述的发明意图,根据本发明的一个记录体包含一个图象部分,该部分包含一个图形图象,以及一个信息部分,该部分包含以一种机器可读的格式编码的数据。该格式至少包括相邻的两行码字,每一个码字至少表示一种标记模式。
更具体地,记录体的信息部分可覆盖图形图象而并不使之模糊,并且该机器可读格式是能够纠错的,并且即使在图形图象使这些数据失真的情况下也能够容许复原这些信息。
另外,这些码字可包含在信息部分中的多个信息字,及图象部分中的多个图象字,每一码字包含一种标记图形,而所有图象字的标记图形表示该图形图象。
包含在说明书中并构成说明书的一个部分的附图示出了本发明的实施例,并且与总体说明一起解释本发明的原理。


图1A是带有覆盖一张照片的一个二维条码的驾驶证的图;
图1B是一张既有数据字又有图象字的持券人债券的一个部分的图;
图1C是经过修改以反映一次偿还后的图1B中的持券人债券的图;
图1D是图1B中的持券人债券的一个部分的放大图;
图2是展示PDF417中的一个码字的一个实例的图;
图3是展示一个PDF417符号的总体结构的图;
图4是列出PDF417中一个给定的安全级上的纠错码字的数目的表;
图5是用于印刷与读取包含一个图象的码的一个系统的框图;
图5A是用于读取、修正与重印一个记录体或一个标签的一个系统的框图;
图6是图5中的系统的一个编码装置的透视图;
图7是图5中的系统的一个识别装置的透视图;
图8是一台数据录入设备与阅读器的透视图,其中可输入一个键来加密或解密数据;
图9是用于解码一个二维条码符号时低级解码器所执行的步骤的流程图;
图10是用于确定正在扫描的符号的尺寸与安全级时低级解码器所执行的步骤的流程图;
图11是用于在一条数据扫描线中搜索一个起始或一个终止图形时低级解码器所执行的步骤的流程图;
图12是展示一个码字的“t序列”所使用的各种宽度大小的图;
图13是用于将一条数据扫描线解码成码字值与它们的群集号的一个矢量时低级解码器所执行的步骤的流程图;
图14A、14B与14C是示出一个码字矢量的例子的图;
图15是用于从扫描线数据中解码一个独立的码字值及其群集号时低级解码器所执行的步骤的流程图;以及图16A与16B一起是为了使用码字矢量更新码字点阵该低级解码器所执行的步骤的流程图。
现在详细参照本发明当前的较佳实施例,它们的实例示出在附图中。
图1A示出本发明的一个实施例,其中编码信息是覆盖在一个图形图象上的。图1A中包含一个记录体16的图,图中所示的为一张驾驶证,但完全可能是带有一个包含一个图象的区域的一张护照、签证或其它任何记录体。记录体16包含一个图形图象17,如果是一张驾驶证的话,这将是该驾驶证的持有人的照片。
在图象17上面覆盖的是包含编码信息的一个二维图形18。图形18中的信息最好是下面描述的PDF417二维条码。PDF417码的优点是可纠错的,它能够复原被照片或其它图象变形了的信息。
图形18最好是以非常浅颜色的颜料印刷的,这种颜料不会明显地使图形图象变形,另一种方法是,图形18可以用一种对紫外线敏感但对可见光则是事实上透明的颜料来编码。在上述两种情况中,图形18都要求以不使图象模糊和变形的方式放置在图形图象17上。
图形18中的信息的精确内容对于本发明而言不是关键性的但最好是与记录体16相关的。例如,这些信息可与该记录体的持有人相关。如果记录体16是一张驾驶证,其中的信息可指明该驾驶证的持有人不带视力校正镜时不允许开车。如果记录体16是一本护照,该信息可指出该护照的持有人已经访问过某些国家。
信息也可以是涉及记录体本身的。例如,签证上的码可指明该签证是在某一日期期满的旅行签证。
将编码信息覆盖在照片上的优点是,这样一种配置使得要改变照片上的信息而不被识破十分困难。任何对信息的改动将反映出对照片的改动,而改变照片将导致信息的改变。
作为本发明的优点的另一个例子,码可以是关于照片本身的。例如,编码信息可包含持有人的眼睛颜色、发色、性别以及身高与体重的数据。另外,数据可以是一种“面纹”(“facepriint”),其中编码了面貌中的某些关系来辨认持有人。
这样一种记录体可防止欺骗性身份证明,包括在用作身份证明的记录体上更换照片。如果这样做了,这一更换可能不被识破。如果在照片上放置了描述照片中的形象的编码信息,则这种欺骗行为将大为难于实行。
记录体16上也可具有附加的人可读的数据20,诸如某些文字或一个印章。最好,人可读数据不使图形18变形或模糊。
记录体16不一定是小件的,诸如驾驶证或护照。记录体16也可以是带有一个图形图象的大型文件,本发明的原理同样可用于获得这些优点。
这种记录体只是示例性的,其意图并不是用来限制本发明的容许范围。反之,具有一般知识的人显然可以理解这一创造性概念可怎样在大量的应用中实现。
图形图象与编码数据也可以另一种方式相互关联。图1B示出了一个记录体316的一个部分,它示出为一张持券人债券,但也可以是其它东西,诸如一张股票。在图1B中,记录体316包含一个信息部分318,其中包含一个编码数据的图形,以及一个图形图象部分317,其中有一个特殊画面。图形318中的信息最好包含多个信息字,诸如下面要讨论的PDF417码中的码字。
信息部分318可包含辨认记录体316的持有人的编码数据,或者可包含有关记录体316的其它数据,诸如一个唯一性的身份证码及它在某一年度日期的值。信息部分318也可包含有关偿还的数据。在本实施例中,每次偿还持券人债券或者作出其它一些使用时,对区域318中的信息字及图象部分317作细微的改动。得出一张图1C中所示的新的记录体316’,它具有与记录体316的对应区域略为不同的一个信息部分318’与一个图象部分317’。以这一方式使用债券或其它记录体的优点是可以防止伪造。适当的设备可识破为多次偿还而复制记录体316的企图。
企图,在偿还记录体316时可使用这种债券的一种阅读器,而与该阅读器联接的一台中央计算机将记录这一偿还以防止同一持券人债券的重复偿还。
图1B中的图象部分317最好由具有形成理想的明暗度的黑白相间的区域的若干图象字组成。由这些图象字产生的明暗度将呈现为该记录体上的画面。在图1B中,图象部分317中的画面是乔治·华盛顿,而它最好由若干图象字表示。在偿还持券人债券316时对图象部分317所作的改动必须是如此地细微以至几乎不可能检测出图象部分317与317’之间的差别。
图1D极为详细地示出记录体316或316’的一个部分320,以说明实现本发明的一个实施例的一种方法。部分320表示一个矩形,它包含图象部分317或317’的左上角,及信息部分318或318’中的周围区域。该记录体有若干行321、322、323、324、325、326、327与328。行321与322只包含信息字。行323、324、325、326、327与328包含一序列信息字后面跟着一序列图象字。如上所述,图象字的明暗度表示图象的明暗度,而信息字则包含编码数据。
每行在其一端或两端最好具有一个字段,指明交错的信息字与图象字序列的长度。信息字序列的长度可用这些字的数目表示。数据字序列的长度可用绝对长度表示。这些字段的目的是为读取这些行的设备识别信息字,使这些设备不去解码图象字。这一点也可用设置在各信息字序列的起始点与终点处的起始与终止符号来达到。
行中的字段还可包含其它信息,诸如行号,以协助在记录体316中识别所想要的位置。这一点在偿还后修改记录体时是特别重要的。
PDF417码在讨论用于编码与解码机器可读的图形格式(诸如二维条码PDF417)的码的方向与装置以前,对二维条码符号本身的结构有所了解是重要的。
每一个PDF417符号由叠置的条形编码的信息行组成。符号中的每一行包含一个起始图形、若干称作“码字”的符号字符及一个终止图形。一个码字是编码一个表示某些数字、字母或其它符号或与它们相关联的值的基本单位。每行中的码字集体地构成数据列。PDF417符号中行数与数据列数都是可变的。符号至少必须有三行但可多达九十行。同样,在每一行中的码字或数据列的数目可从三变化至三十。
每一个PDF417码字由17个模块或单元构成。每一个码字有四个条与四个间隔。独立的条或间隔的宽度可在一至六个模块之间变化,但每一个码字的组合总量永远是17个模块。这样,每一个码字可由一个8位序列定义,它表示码字中四组相同的条与间隔宽度。这称作该码字的“X序列”并可用序列X0,X1,…X7表示。例如,对于一个“51111125”的X序列,第一个元素是五个模块宽,跟着五个一个模块宽的元素,一个两个模块宽的元素及最后一个五个模块宽的元素。这一实例展示在图2中。
可能的码字的集合进一步划分成三个互斥的子集,称作“群集”。在PDF417符号中,每一行只用三个群集之一来编码数据,并且每一个群集顺序地每三行重复一次。因为任何两个相邻的行使用不同的群集,解码器在同一条扫描线中能够识别来自不同的行的码字。
一个码字的群集号可用下列公式从其X序列中判定群集号=(X0-X2+X4-X6)mod9这里“mod9”是用9除后的余数。参见图2中的码字,其群集号的计算如下群集号=(5-1+1-2)mod9=3为了消除出错概率,PDF417只使用三个群集,虽然在数学上可能有九个。这样,每一行只使用三个群集0、3或6中之一来编码数据,同一群集顺序地每三行重复一次。例如,行0码字使用群集0,行1使用群集3,而行2使用群集6,等等。一般,群集号可以用下式从行号中确定群集号=((行号)mod3)×3在PDF417中定义了929个码字值。这些值为0至928。每一个群集用不同的条-间隔模式提供达929个可利用的值,从而一个群集不会与另一群集混淆。
图3是展示一个PDF417符号的整体结构的方框图。该符号的每一行包含一个起始图形、一个左端行标志码字Li、数字码字di或错误检测/纠正码字Ci、一个右端行标志码字Ri以及一个终止图形。一行中最少有三个码字,其中包含左端行标志码字、至少一个数据码字以及右端行标志码字。下面要进一步讨论的右端与左端行标志码字协助对符号的结构进行同步。
起始与终止图形识别答中的每一行的开始与结束位置。PDF417使用单一的起始与终止图形。起始图形或每一行的左侧具有单一的模式,即X序列,“81111113”。终止图形或每一行的右侧具有单一的X序列“711311121”。
每一个符号包含一个码字(行0中的第一个数据码字)用于指明该符号中的码字的总数,以及至少两个错误检测码字C0与C1。这两个错误检测码字一起构成一个两个码字长的检验和。
一个PDF417符号也能编码具有错误纠正能力的数据。错误纠正能力的级别(称作“安全级”)是由用户选择的,其范围为从0至8。这意味着比如在级6上,总数为126个码字可以丢失或者受到破坏而整个符号仍能被读出与解码。图5为一张表,示出PDF417符号的安全级与错误纠正码字Ci的数目之间的关系。
除了纠正丢失或受到破坏的数据(称作“抹掉”)之外,PDF417还能从码字的错误解码中复原。由于需要两个码字来从一个错误解码中复原,一个用于检测错误另一个用于纠正错误,一个给定的安全级只能支持半数错误解码,它们可以是未解码的码字。
当PDF417格式的信息覆盖一个图形图象时,这一错误纠正特性尤其有用。因它如上所说明的,编码信息不得将图象弄模糊或使之失真,用于信息的颜料必须是浅色的。这导致了图形图象会使部分编码信息失真的可能性。如果出现了这种现象,可用PDF417二维条码纠正错误。
一个PDF417符号中的行标志码字包含若干关键部分行号、行数、数据列数及安全级。然而,并不是每一个行标志包含所有的部分。这些信息是分布在若干行中的,而这一模式每三行重复一次。在行标志码字中编码这些信息的模式如下所示行0L0(行号、行数)R0(行号、列数)行1L1(行号、安全级)R1(行号、行数)行2L2(行号、列数)R2(行号、安全级)行3L3(行号、行数)R3(行号、列数)等等。
换言之,第一个行0的左端行标志码字L0包含行号(0)及在该符号中的总行数。行0的右端行标志码字R0包含行号(0)及在符号中的数据列的数目,等等。
将数据编码成一个PDF417符号是一个典型的两步过程。首先将数据转换成表示该数据的0至928的码字值。这称作“高级编码”。然后将这些值用特定的条-间隔图形实际地表示,这称作“低级编码”。
编码/解码系统编码器与解码器在美国专利申请07/851,493号中更全面地进行讨论,在这里引用它作为参考。现在参见附图中图5至7,图5为用于表示与识别机器可读的图形图象格式的数据或记录体的系统10的方框图。系统10包括一个总体上用参照数字12指示的编码装置,以及一个总体上用参照数字14指示的识别装置。编码装置12产生一个记录体16(见图1A),例如一张带有一张照片的驾驶证、签证或护照。覆盖在照片上面的是以一个二维图形18编码的数据。记录体16也可包含人可读的数据20,例如文字。记录体16上的二维图形18由识别装置14识别以生成表示编码在图形18中的数据的输出信号。
用输入装置22将要编码进记录体16上的二维图形18中的数据输入到编码装置12中。输入装置22输入的数据可包含要编码进二维图形18中的数据以及以人可读格式呈现在记录体16上的数据。这些数据甚至还可包含照片或图象。处理装置24将这一数据集编码成一个二维图形18并生成用于控制将这些记号传送到记录体16上的传送驱动信号。传送装置26响应该传送驱动信号将二维图形18的图象传送到记录体16上。传送装置26最好包含一台打印机,该打印机传送浅色颜料或者紫外线敏感的颜料,如上面所说明的。
如果也要将人可读的数据传送到记录体16上,则处理装置24生成用于控制将人可读的数据传送到记录体16上的第二组传送信号。一部分或者所有编码的数据以及人可读的数据可以从处理装置24的一个存储器或其它计算机文件中传送而不用装置22输入。
识别装置14包括将记录体16上的图象转换成表示该图形记号的电信号的转换装置28。解码装置30将这些电信号解码成解码器输出信号,这些信号在图中用32指示,并且是表示编码在图形18中的数据的。
图6是编码装置12的一个实施例的透视图。图6的实施例是用于示例目的的,并不意味限制本发明的范围。在这一实施例中,图5中的输入装置22以一个键盘32的形式示出,用于输入字母数字型与图形数据到编装置12中。输入装置22可取键盘以外的其它形式,诸如用于直接从文件上扫描输入到编码装置12中的数据的光学扫描装置。
再参见图6,图5的处理装置24是以一台处理器与显示单元34的形式示出的。键盘32输入的数据被传输到处理器与显示单元34供存储与处理。除了输入数据,键盘32还用于输入控制命令以启动处理器单元34的操作。
键盘32输入的数据最好显示在显示屏36上,并在输入一条适当的控制命令时存储的存储器中。要编码进图形18的数据存储在处理器34的一个第一存储器中,而如果有要以人可读的格式传送的数据的话,则将它们存储在一个第二存储器中。另一种方法是将两种数据存储在一个单一存储器的独立部分中。从键盘32输入适当的控制命令时,处理器单元34将第一存储器中的数据编码成一个二维图形18并生成表示存储在第一存储器中的数据的第一传送驱动信号,处理器单元34也生成表示存储在第二存储器中的数据的第二传送驱动信号。
图6中所示的处理器单元34是联接到一台打印机38的。打印机38是图5的传送装置26的一种形式。打印机38响应第一传送驱动信号在记录体16上传送该二维图形18的一个图象,并响应第二传送驱动信号以人可读的格式在记录体16上印刷第二组数据。
现在参见图7,识别装置14包括一个读卡机40,该读卡机包括图5的转换装置28与解码装置30。使用与所采用的特定数据编码技术相对应的适当转换装置是本发明所关注的问题。
转换装置28可以是一个条码阅读器,诸如317,433与317,533号美国专利申请中所公开的那些,现将它们结合在这里作为参考,这种阅读器能读出打印机38所用的颜料。上述专利申请中所公开的阅读器为设计成读取一种光学编码的二维条码并将从该记号反射的光转换成表示该图形记号的电信号的开放系统设备。
解码装置30将电信号解码成表示编码在记录体16中的数据的输出信号。解码器输出信号从识别单元40输出到各种输出装置42。图7描绘了输出装置的两个实例,一个是显示单元44而另一个是打印机46。显示单元44可以是任何合适的显示器,例如液晶显示或阴级射线管。打印机46可以是任何印刷设备,例如点阵打印机、激光打印机等。
该系统最大限度地利用可获得的空间于加密数据。编码数据的密度是这样的,对于一个二维条码符号,在一个大约5英寸×1/2英寸的空间中可编码至少约1600个字符。除了紧致以外,该系统在信息传输中还提供高度安全性。
虽然在图5-7中所示的编码装置12与识别装置14是分离的设备,它们也可以是在同一设备中的。这一点在读取与修改一个记录体316(图1B)时尤其有用。在这些情况中用一个单一的单元来达到两种目的将是有益的。
图5A示出用于图1B中的记录体316的一个系统10’的方框图。系统10’包括对应于图5-7中所示的系统10的那些部件。具体地说,系统10’包括一个转换装置28’,它将来自记录体316的编码数据转换成电信号,以及一个解码装置30’,它解码这些信号。然后,处理装置24’读取这些已解码的信号并根据某些准则令传送装置26’印刷适当的输出信号将记录体316(图1B)修改成记录体316’(图1C)。
可以用多种方法确定这些细微的变化。例如,如果记录体316是股票或者持券人债券,则处理装置24’可以是一台记录偿还的大型计算机或计算机网络。处理装置24’也可在解释信息或印刷信息的同时使用输入装置22’接收数据。
处理装置24’最好还包括对准装置25’,用于在记录体316上定位选择的区域以读取一个印刷品。对准装置24’解释标识行与这些行中的特定的字的字段。虽然对准装置25’是作为处理装置24’的一部分示出的,它也可以是在转换装置28’或传送装置26’中的一台微处理器。
数据也可以使用一种键控加密算法编码,它们只能用一个加密键来访问。如图8所示,数据输入装置47包含该键控算法,并在键入键49时,数据将以一种独特的配置编码成一个二维图形模式。这一独特的配置只能由一台具有该独特算法的阅读器48读取,并且只有在键入键49到该阅读器时才能读取。这样,使用键控加密实施例便可提供高度的安全性。
本发明的另一个特性是使记录体316’上的图象为一个“数字签名”,它是作为加密形式的PDF417条码嵌入的。这时,建立二维数字信号的打印机将使用一种键控加密算法,这种算法只能用一个加密键来访问。在使用具有键控算法的一个键盘或其它输入装置并在键入该键时,在键盘上作为明文输入的数据将以一种独特的解码配置编码成二维图形模式。该独特的模式或码配置只能由一台具有该算法的阅读器读取,并且只有在该阅读器上键入相同的键时才能读取。这对需要这种安全性的应用提供了高度的安全性。
一个低级解码器可在与主计算机分离的一台微型计算机上运行的一个计算机程序中实施。低级解码器最好通过一个诸如RS-232这样的标准接口与一台主计算机相联,这一接口将经过解码后的码字值传输到主计算机。另一种方法是全部在硬件中实现低级解码器,或者在硬件与软件的组合中实现,它是物理上位于扫描器自身中的或者是位于主计算机中的。
来自低级解码器的码字值矩阵是由一台高级解码器解码成可用数据的,高级解码器可作为在主计算机上运行的一个独立的计算机程序实现。例如,PDF417具有三种预定的模式及九种保留模式。预定的模式为Binary(二进制)、EXC(交换)及Numeric(数字)。在Binary模式中,每一个码字能编码1.2字节。在EXC模式中,字母数字数据可以双倍密度编码(即,每一码字两个字符),而在Numeric模式中,数值数据几乎可以三倍密度压缩。因此,主计算机112中的高级解码器将进一步根据模式解码来自低级解码器114的码字值(0-928)以获得符号中所体现的实际数据。然后,来自高级解码器的经过解码的数据便可被也是在主计算机112上运行的一个用户用应程序所使用。
图9为示出将一个二维条码符号(例如PDF417)解码成码字值的矩阵的低级解码器的操作序列的流程图。序列中的各步骤是由存储在处理器34中并由该处理器执行的一个软件计算机程序实施的。
在图9中的第一步骤150中,低级解码器初始化扫描器接口并启动对符号的扫描。在这一步骤中执行的实际功能将取决于扫描器的类型并包含各种依赖于扫描器的例程来初始化该扫描器接口并启动扫描。
在步骤152中,低级解码器试图确定正在扫描的符号的尺寸与安全级。具体地说,这一步骤从左端与右端行标志码字中确定该符号的行数、数据列数与安全级。这些尺寸用于初始化解码该符号的一个二维码字矩阵及其它相关参数。矩阵中的每一个位置包含一个码字值与一个相关的置信权值,它们是初始设置为零或空值的。如果该符号的尺寸与安全级无法确定,则中止扫描。这一步骤将在下面结合图10更详细地加以讨论。
在图9中继续下去,步骤154是一个控制循环中的第一步,在这一循环中逐行扫描该二维条码符号中的行并将码字值填入码字矩阵中。控制循环中的每一个步骤重复进行直到剩留在矩阵中的不能成功地解码的码字的数目小到足以使矩阵的其余部分能够使用该符号的内在纠错能力加以确定为止。这样,在步骤154中,如果未能成功地解码的码字的数目少于该码字根据安全级(见图4)的纠错能力,则使用错误纠正码字尝试对该矩阵进行纠正。如果这种纠错尝试是成功的,则在步骤156退出该控制循环并在步骤158中终止扫描。否则,如果纠错尝试失败,则执行后面的步骤160-164试图解码其它码字来填入矩阵中。
首先,步骤160在从存储器的缓冲区得到的一条数据扫描线中搜索一个起始或终止图形。如果找到了一个起始或终止图形,则在步骤162中,该低级解码器试图从该扫描线中解码尽可能多的码字。具体地说,该数据扫描线被剖析为单个的码字,然后将这些码字的值与群集号放置在一个准备好加入到码字矩阵中的码字矢量中。下面将分别结合图11与13对步骤160与162进行更详细的讨论。
对步骤162中所产生的码字矢量进行分析,然后在步骤164中用于更新该码字矩阵。具体地,步骤164根据其最接近的相邻码字是否也已解码赋于每一码字值一个置信数值。根据左端或右端行标志码字与该码字的对应群号还赋于每一码字值一个行号。如果扫描线越过了一个行边界,码字的群集号可用于为每一单个码字确定其正确的行号。例如,如果一条解码后的扫描线具有一个行号为2的左端标志,而后随的码字的群集号为6、0、0、3,则将这些码字对应地放置在下列位置上(行2、列1);(行3、列2);(行3,列3);及(行4、列4)。以这一方法,一条单一的数据扫描线中可包含来自一行以上的码字,随后可将它们装入码字矩阵中的适当位置中。这一步骤将在下面结合图16A与16B更详细的地讨论。
图10是上面图9的步骤152中所涉及的确定一个符号的尺寸与安全级的步骤序列的更详细的流程图。在图10的第一步骤170中,该低级解码器在来自存储器的缓冲器中得到的一条数据扫描线中搜索一个起始或终止图形。这一步骤与图9中的步骤160相同并将在下面结合图11进行更详细的讨论。
然后步骤172解码紧邻前一步骤中所找到的起始或终止图形的第一个码字。如图3所示,这一码字将是包含行号及行数、数据列数、符号的安全级三者之一的一个左端或者右端行标志码字两者之一。如果一个起始及一个终止图形都找到了,则对左端与右端行标志都进行解码。解码一个单个码字的步骤序列在下面结合图15进一步讨论。
在图10中继续往下,在步骤174中,从前一步骤172所确定的码字值与群集号中抽取行标志中所编码的特定尺寸或安全级。例如,对于一个群集号为0的左端得标志码字,则从码字值中抽取行数。
赋于每一尺寸与安全级的置信权值是初始设置为0的。步骤176-184以下述方法更新在前一步骤中所抽取的尺寸或安全级的当前值及置信权值。首先,将特定的参数(比如行数)与从前面的解码中所获得的行数的当前值进行比较。如果行数的当前值与新解码的值相同,如在步骤176所判定的,则在步骤178中增加赋于行数的置信权值。然而,如果当前值与新解码的值不同,则在步骤180中减小其置信权值。如在步骤182中所判定的,如果赋于该特定参数的置信权值减小到零以下,则在步骤184中用新解码的值替代该当前值并赋于该参数一个新的最小权值。
步骤186判定所有三个参数,即行数、数据列数与安全级,是否都超过了一个预定的阈值。如果是这样,则在步骤188中根据行数与列数的当前值初始化该二维码字矩阵。可纠正的错误的数目也可按照图4中的表从安全级的当前值中确定。然而,如果在步骤186中并非所有三个置信权值都超过阈值,则程序控制返回到步骤170开始在一条新的扫描线中搜索起始与终止图形。重复步骤170-184直到所有三上参数都已经从高置信度成功地完成解码为止。
图11为更详细地示出的上面图9的步骤160中及图10的步骤170中所涉及的在一条数据扫描线中搜索一个起始或终止图形的步骤序列的流程图。简单地说,搜索从在存储器的缓冲区中得到的一条数据扫描线的第一个位置开始并在顺序的位置上重复进行直到找到一个匹配图形或者超过了该扫描线的长度为止。在找到一个匹配图形时,在紧靠在该图形后面或前面的一个位置上设置一个下标用于解码该邻接的码字。
如图11所示,第一步骤200将指向扫描线中的数据元素的位置的下标设置为“1”,指示该扫描线的第一个数据元素或整数值。这一下标用于标识该扫描线中的每一个八个元素序列中的第一个元素用于与起始与终止图形进行比较。
步骤202是从左至右在该扫描线中搜索一个起始或终止图形的一个选代循环的第一个步骤。在这一步骤中,如果当前下标小于扫描线的长度,则执行剩下的步骤并继续搜索。然而,一旦该下标超过了扫描线的长度,则退出循环并返回一个说明搜索失败及没有找到一个起始或终止图形的指示信号。
低级解码器不是用码字的X序列而是用“边到相似边”(“edge to similar edge”)测量来解码符号以补偿在印刷该符号时发生的颜料扩散。这样,在步骤204中,通过将从下标所指定的位置上开始的各对相继的整数值相加来从该扫描线得到一个原始的“t序列”。具体地,对应于图12中所示的七种宽度大小于t1、t2、…t7的原始的t序列是通过将表示条与间隔的宽度的相继的整数值x0、x1、…x7逐对相加而计算出的,计算方法如下t1=x0+x1t2=x1+x2t3=x2+x3等等。
在步骤204中还通过对八个整数值求和x0+x1+…x7来计算整个码字的宽度W。
例如,对于图12中的码字,表示条与间隔的宽度的来自扫描线的整数值序列可能是43、19、21、19、22、18、103、96。原始t序列t1、t2…t7将为62、40、40、41、40、121、199,而宽度W将为341。
在图11步骤206中,将在步骤204得到的原始t序列正则化并四舍五成整数值。具体地说,首先将码字的宽度W除以每一码字的单元的总数建立该码字的“模块”或“单元”的值。在一个PDF417符号中,每一码字为17个单元,所以将宽度W除以17以得到该码字的单元。这样,对于图12中的实例,其单元将是(341/17)=20.0。然后,将原始t序列的每一个值除以该单元并四舍五八至一个整数以正则化该t序列。图12中的码字的正则化t序列为3,2,2,2,2,6,10。
然后,在步骤208中将正则化的t序列与码的起始与终止图形的t序列进行比较。如果扫描器是从左到右及从右到左两个方向上都进行扫描的,则t序列必须在正反两个方向上与起始与终止图形进行比较。
如果在步骤210中得到匹配,则在步骤218中将下标设置到扫描线中紧随该模式(若它是一个起始图形)后面的一个位置上,或者紧接在该图形(若它是一个终止图形)前面的一个位置上。如果当前的t序列与起始或终止图形两者都不匹配,则将不标加一并重复步骤202至210直到找到一个匹配或者超过了扫描线将下标设置到扫描线中紧随该模式(若它是一个起始图形)后面的一个位置上,或者紧接在该图形(若它是一个终止图形)前面的一个位置上。如果当前的t序列与起始或终止图形两者都不匹配,则将下标加一并重复步骤202至210直到找到一个匹配或者超过了扫描线的长度为止。
图13为更详细地示出上面图9的步骤162中所涉及的将一条数据扫描线解码成码字的矢量及它们的群集的步骤序列的流程图。在从扫描线解码单个码字的值及群集号时,低级解码器从起始或终止图形开始解码并尽可能多地解码码字。对于那些无法解码的码字,则将码字矢量中的码字值设置为“BAD”(“坏”)。
在完成了图13中所示的步骤序列时,码字矢量中将包含与成功地解码的码字的适当的列相对应的位置中的一些码字值与群集号。图14A示出一个码字矢量的例子,其中,十列中八列上码字是成功地到得解码的。列1与10中的码字值分别对应于行2中的左端行标志码字(L2)及行1中的右端行标志码字(R1)。列5与7中的码字无法解码,因而在码字矢量的这些位置中用符号“BAD”指明。
返回到图13的第一步骤220,将可能解码的码字数的上限(“cwlimit”)设置为等于该码字矩阵中的列数。如果这一数目的码字成功地解码了,则当前扫描行的解码过程显然已经完成了。
如果该扫描器是在从左到右及从右到左两个方向上扫描的,则步骤222判定扫描的方向。如在步骤222中判定这次特定的扫描是从左到右的,则在步骤224中设定第一个码字的列号为“1”,并设定每次解码下一个码字时要增加的量(“incr”)为“+1”。如果扫描是从右到左的,则在步骤226中将扫描线中第一个码字的列号设定为该码字矩阵的最后一列,而增量值则设定为“-1”。
步骤228是一个控制循环的第一个步骤,在该循环中从数据扫描线中解码单个码字的值及其群集号。在步骤228中,对码字限值进行检测看它是否仍大于零。如果不是,则该扫描线中所有的码字都已解码并退出该循环。
否则,步骤230从扫描线中取出下一个码字值及其群集号。这一步骤将在下面结合图15更详细地讨论。
如在步骤232中判定在前一步骤中解码的码字是一个合法的码字,则在步骤234中将该码字值及其群集号保存在码字矢量中对应于该码字的列的位置上。这样放置在码字矢量中的码字值已经准备好可以加入码字矩阵中了。
如果在步骤230中解码的码字是不合法的,则在步骤236中将码字矢量中对应于当前列的码字值设置为“BAD”以指明这一码字不是成功地解码的。一个“BAD”码字最有可能出现在扫描线在该码字的中间越过两行之间的界线时。
最后,在步骤238中,根据扫描的方向将当前列号加一或者减一,并将码字限值减一。重复执行步骤228-236直到该扫描线中的所有码字都已解码为止。
图15为示出对应于图13中的步骤230及图10中的步骤172的步骤序列的流程图,其中,对从扫描线中解码单个的码字值与群集号作出尝试。在第一步骤240中,从该扫描线中取出一个原始t序列与宽度W。同样的步骤已经结合图11的步骤204讨论过了。
在步骤242中,将假定为下一个码字的八个元素的宽度W与前面解码过的码字的宽度进行比较。如果当前宽度W不在加减一个规定的差值(delta)的范围内,则在当前的码字中可能存在着一个裂开(少计算若干组两个元素)或者一个合并(多计算若干组两个元素)错误。这一码字便不再解码,而在步骤244中将其值与群集号两者都设置为BAD指明该码字无法解码。
然后在步骤246中,通过寻找具有落在以前一个码字的宽度为依据的期望宽度的一个给定容差范围内的对应宽度W的一个t序列来试图重新同步下一个码字的边界。如果当前宽度W明显地大于该期望宽度而指明一个可能的合并错误,则将最后两个整数值从t序列中去掉直到它落入正常的限值中为止。类似地,如果当前宽度W明显地小于该期望宽度而指明一个可能的裂开错误,则将扫描线中的下两个整数值加入到该t序列中直到它落入正常的限值以内为止。
如果在步骤242中判字当前宽度W在期望宽度的一定容差范围内,则尝试对该码字进行解码。在步骤248中,对该原始t序列进行正则化,如上面结合图11中步骤206所描述的。然后,在步骤250中,从正则化后的t序列中确定其群集号。群集号可根据下式从t序列(与上面描述的x序列不同)中确定群集号=(T1-T2+T5-T6)mod 9。
对于PDF417中的码字,合法的群集号为0、3与6。如果在步骤252判定该群集号不是0、3或6,则该码字是不合法的。从而,在步骤254中将群集号与值设置为“BAD”指明该码字无法解码。
否则,在步骤256中,利用正则化的t序列及其群集号在一张查找表中寻找对应的码字值。如果没有找到该t序列的对应码字值,则将该码字值设置为“BAD”指明无法解码该t序列。
最后,在步骤258中将“上一宽度”值更新为该码字的当前宽度W(供解码该扫描线的下一个码字值应用。
图16A与16B一起构成为了用码字矢量更新码字矩阵而低级解码器所执行的步骤序列的流程图。这两张图更详细地说明上面讨论过的图9中的步骤164。
图16A的第一步骤260检验码字矢量中的第一个与最后一个值是否其中之一是一个合法的行标志。如果码字矢量中第一与最后的值都不是合法的行标志,则在步骤262中程序退出该例程并不再试图用该码字矢量去更新码字矩阵。
然而,如果存在一个合法的行标志,则在步骤264中赋于该码字矢量中的每一个码字值一个置信权值。具体地说,赋于每一个码字的置信权值取决于它最邻近的码字与它们的群集号是否也已解码。例如,如图14B所示,列1、2、3、9与10中的码字值被赋于高置信权值(“H”),因为它们的紧邻也是成功地解码的并且具有相同的群集号。列4与8的码值被赋于中等置信权值(“M”),因为它们的紧邻之一是成功地解码的并且具有相同的群集号,但另一个相邻的码字值为“BAD”。列3中的码字值被赋于一个非常低的置信权值(“L”),因为它的邻接码字中没有一个是成功地解码的。从而,码字矢量中i列上的码字值的置信权值实质上是列i-1、i与i+1上的码字的群集号的一个函数。这一函数可用一张查找表来实现,该表的索引是从这三个码字的群集号中计算得的。
在步骤266中,根据行标志码字与群集号赋于码字矢量中各码字值一个行号。如图14C中的实例所示,左端行标志码字指明行号为2与群集号为6。列2-4中的码字值的群集号也是6。因此,行号2被赋于该码字矢量的前四列中的码字值。
同样在图14C的实例中,列6与8-10的群集号都是3,并且右端行标志码字指明行号为1。因此,可以认为扫描线跨越行2与行1之间的界线而列6与8-10中的码字值应赋于行1。
一旦将置信权值与行号赋给了码字矢量中的每一个码字,便逐个码字地更新该码字矩阵。在步骤268中,码字矢量与码字矩阵的列号C都是初始设置为“1”的。步骤270是一个选代循环的第一步骤,该循环逐步通过该码字矢量中的码字并使用它们来更新码字矩阵中的对应码字及与它们相关联的置信权值,当列号C超了步骤270中的列号时,码字矢量中的所有码字都已经处理过而该例程结束。
对该码字矢量中的每一个码字,步骤272将码字矩阵的行与R设置为在步骤268中赋值给码字矢量位置C上的码字的行号。从而,对于码字矢量中的每一个码字值,有一个在码字矩阵中位置[R,C]上的对应值。
在图16B中继续下去,步骤274判定码字矩阵中位置[R,C]上的当前码字值是否与该码字矢量中列C上的对应码字值相同。如果这两个值相同,则在步骤276中在赋给矩阵位置[R,C]中的码字值的置信权值上增加码字矢量中的对应码字值的置信权值。否则,在步骤278中从矩阵中的码字值的置信权值中减去矢量中的码字值的置信权值。
如果在步骤278中减小了置信权值,则在步骤280中检测该置信权值是否减小到了零以下。如果该置信权值小于零,则在步骤282中用码字矢量中的新码字值来替代码字和矩阵中对应位置上的当前码字值。在步骤289中还将赋给矩阵中的码字值的置信权值改变成一个正值。
最后,在步骤286中将列号C增加1以处理该码字矢量中的下一个码字值,并且程序控制返回到步骤270去对该矢量中的所有列重复执行步骤272至286。
简单地回顾一下图9中的步骤154,每次以码字值的新矢量填入码字矩阵并更新了置信权值以后,便尝试利用该符号的嵌入的纠错能力来填充矩阵的其余部分。尚未成功地解码的码字的数目与位置可以通过将赋给矩阵中的各码字值的置信权值与一个预定的阈值进行比较来确定。具有阈值以下的置信权值的那些码字值被认为是尚未解码的。如果尚未解码的码字的数目小于由其安全级所确定的该符号的纠错能力,则尝试纠正该矩阵。
对于熟悉本技术的人员,显然可以在本解码方法及装置中作出各种修改与变更而不脱离本发明的范围与精神。从对这里公开的说明书的研究及在本发明的实践中,本发明的其它实施例对于熟悉本技术的人员而言是显而易见的。本说明书及实施例仅仅是示例性的,而本发明的实际范围与精神是用以下的权利要求书指明的。
权利要求
1.一种记录体,包括一个图形部分,包含一个图形图象;以及一个信息部分,包含以具有至少两个相邻接的码字行的一种机器可读的格式编码的数据,每一个所述码字至少表示一个标记图形。
2.权利要求1的记录体,其中该信息部分覆盖该图形图象但不使它模糊,并且其中该机器可读格式是可纠错的并且即使由于该图形图象而失真仍然能够复原该信息。
3.权利要求1的记录体,其中该码字包含该信息部分中的多个信息字,以及其中该图形部分包含多个图象字,各图象字包含一个标记图形,使得该图象部分中的所有码字的记号图形表示该图形图象。
4.权利要求2或3的记录体,其中该信息部分中的数据是以一种二维条码编码的。
5.权利要求4的记录体,其中该信息部分中的数据是以PDF417格式编码的。
6.权利要求2的记录体,其中该图形图象是一张照片。
7.权利要求6的记录体,其中该照片是该记录体的所有者的一张身份证明照片。
8.权利要求7的记录体,其中该记录体是一张驾驶证。
9.权利要求7的记录体,其中该记录体是一本护照。
10.权利要求6的记录体,其中该记录体是一张签证。
11.权利要求6的记录体,其中该信息部分中的数据描述该照片的一些部分。
12.权利要求3的记录体,其中该记录体是一张持券人债券。
13.权利要求3的记录体,其中该记录体是一张股票。
14.权利要求3的记录体,其中该信息字与图象字是组织成在该至少两个相邻行中的交错的序列的。
15.权利要求14的记录体,其中每一行包含一个指明信息字与图象字的交错序列的长度的字段。
16.权利要求15的记录体,其中每一行包含一个标识该行的字段。
17.用于带有一个图象的一个记录体的一种打印机系统,该打印机系统包括输入装置,用于接收待放置在该记录体上的数据;编码装置,联接于该输入装置,用于以一种可纠错的、机器可读的格式编码该接收的数据;以及输出装置,联接于该编码装置,用于在该图象上印刷该编码数据而不使该图象模糊。
18.权利要求17的打印机系统,其中该编码装置包括用于以一种二维条码格式编码该接收数据的装置。
19.权利要求18的打印机系统,其中该用于以一种二维条码格式编码该接收数据的装置包括用于以PDF417格式编码该接收数据的装置。
20.权利要求17的打印机系统,还包括用于将该图象放置在该记录体上的装置。
21.权利要求20的打印机系统,其中该图象是一张照片,以及其中该用于将该图象放置在该记录体上的装置包括用于将该照片放置在该记录体上的装置。
22.一种打印机系统,用于在一个信息部分中包含数据及在一个图象部分中包含一个图形图象的一种记录体,该打印机系统包括输入装置,用于接收要在该记录体的该信息部分的选择的区域中以及该记录体的该图形部分的选择的区域中印刷的信息;对准装置,用于定位该记录体的该信息部分以及该图形部分的选择的区域;以及输出装置,联接于该对准装置以及该输入装置,用于将该接收的信息放置在该记录的该信息部分以及该图形部分的该选择的区域中。
23.权利要求22的打印机系统,其中该记录体具有带该信息字与图象字的交错序列的行,并且每行具有包含标识该行的一个第一字段;以及其中该对准装置包括用于读取各行的该第一字段以定位该选择的区域的装置。
24.权利要求23的打印机系统,其中各行还包括一个含有该对应行中的信息字与图象字的交错序列的长度的第二字段,以及其中该对准装置包括用于读取一个选择的行中的该第二字段以定位该选择的区域的装置。
25.一种阅读器系统,用于具有包含以一种可纠错格式编码的数据的一个信息部分及一个图形图象的一种记录体,该阅读器系统包括阅读装置,用于从该信息部分中抽取该数据;纠正装置,联接于该阅读装置,用于在该数据上执行纠错以纠正该抽取的数据中的任何错误;以及输出装置,联接于该纠正装置,用于输出纠错后的该抽取的数据。
26.权利要求25的阅读器系统,其中该阅读装置包括扫描装置,用于定位该信息区域,以及解码装置,联接于该扫描装置,用于解码该信息区域的编码信息。
27.一种阅读器系统,用于在一个信息部分中包含数据及在一个图象部分中包含一个图形图象的一种记录体,该信息部分包含多个信息字以及该图象部分包含多个图象字,该信息字与数据字是在行中组织成交错的序列的,各行包含一个指示该交错的序列的长度的一个字段,该阅读器系统包括用于读取该字段以确定信息字与图象字的该交错的序列的长度的装置;用于只读取该行中的信息字的装置;以及用于解码该读取的信息字的装置。
全文摘要
一种记录体包含一个图形图象与一个信息区域,它们是互相关联的以防止非法使用该记录体。信息区域可覆盖图形图象并包含以一种可纠错的、机器可读的格式编码的信息,即使由于下衬的图形图象而失真,该信息也能被复原。该记录体也可以类似于信息区域中的字的格式的字表示该图象,当发生有关该记录体的操作时,该信息与图形字都是可以改变的。
文档编号G06K17/00GK1087191SQ9310575
公开日1994年5月25日 申请日期1993年5月19日 优先权日1992年6月1日
发明者王·P·延君, 杰罗姆·斯沃茨, 丹尼尔·R·麦格林 申请人:欧林巴斯光学工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1