CN1161705C - 无边框、无时钟二维条形码及印刷和读取该条形码的方法 - Google Patents

无边框、无时钟二维条形码及印刷和读取该条形码的方法 Download PDF

Info

Publication number
CN1161705C
CN1161705C CNB991068963A CN99106896A CN1161705C CN 1161705 C CN1161705 C CN 1161705C CN B991068963 A CNB991068963 A CN B991068963A CN 99106896 A CN99106896 A CN 99106896A CN 1161705 C CN1161705 C CN 1161705C
Authority
CN
China
Prior art keywords
bitmap
data
pixel
randomization
digitizing
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.)
Expired - Fee Related
Application number
CNB991068963A
Other languages
English (en)
Other versions
CN1245944A (zh
Inventor
周绛婴
・P.・罗普莱斯蒂
丹尼尔·P.·罗普莱斯蒂
・托金斯
安德鲁·托金斯
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1245944A publication Critical patent/CN1245944A/zh
Application granted granted Critical
Publication of CN1161705C publication Critical patent/CN1161705C/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/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
    • 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/06018Record 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 one-dimensional coding
    • G06K19/06028Record 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 one-dimensional coding using bar codes
    • 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

Abstract

本发明的具有最好表示随机化编码数据位的位图中的编码数字信息的二维条形码被印刷到印刷介质上。最好,把纠错码加入数字信息中,以确保解码过程精确地再现数字信息。在一个实施例中,位图还包括各个角落中的“锚”位,在解码过程中,锚位用作偏斜估计及解偏斜过程的要素之一。在第二实施例中,不需要“锚”位。以这样的方式把编码数字信息映射为两维条形码,使得由特定行和/或列的损坏(例如传真印刷的条形码引起的行损坏)导致的错误降至最小。

Description

无边框、无时钟二维条形码及印刷和读取该条形码的方法
本发明涉及二维条形码,更具体地说涉及耐用的无时钟二维条形码符号体系,及对在该条形码符号体系中格式化的信息编码,在印刷介质上印刷条形码符号体系,并对该信息解码的方法。
与有朝一日我们将生活在“无纸社会”中的常见预言相反,纸张及其它印刷介质作为廉价、高效并且方便的信息传播工具,正扮演着日益重要的角色。不过从计算机的观点来看,纸张的主要缺点在于目前它仅用作输出。虽然纸张可能是展示供人们使用的信息的最佳介质,但是数据一旦被印刷之后,计算机即使能够可靠地还原数据,也将是非常困难的。光学字符识别(OCR)试图在相对简单的领域,例如在使用标准字体的文本中解决这一问题,不过到目前为止取得的成功有限。尽管精确度能达到99%,给人以深刻的印象,但是具有3000字符的页面平均仍会产生30个OCR错误,因此需要昂贵、耗时的人工后处理。
另一种方法是使用可直接包含在纸张(或其它印刷介质,例如缩微胶片)上的计算机可读的条形码。不论是否依赖于纸面上的实际字符文本,这种条形码一旦被编码,即可由计算机用于还原对读者来说显然但是计算机难识别的信息(例如印刷文本),页面产生内含的但是读者实质不可见的信息(例如电子数据表公式),或者其它需要的信息。
数字数据被直接记录在纸张上的计算机可读条形码已为人们所知,并已用于提供利用简单的数字编码及扫描技术被赋予一组固定值的文献标识或产品标识。过去采用的文献标识或产品标识系统包括已广泛应用于多种场合的条形码标识器及扫描器。就纸型文献来说,已使用纸张上的特殊标记或图案向相关设备提供信息,例如Hikawa在美国专利No.5051779中说明的用于图象处理的作业控制表。类似地,Johnson等的美国专利No.5060980在预打印表格的表面上印刷包含有编码信息的识别标记。Johnson等的系统在表格的纸型副本的字段内提供用户输入的手写信息,随后扫描该表格向电存储在计算机中的复制表格的字段内提供插入内容。Bloomberg等的美国专利No.5091966中说明了另一种系统,该专利说明了符号形代码的解码,其代码是纸张上的数字编码数据。可用计算机读出验证码,从而便于文献的计算机处理,例如识别、检索及传输这样的文献。
除了上面说明的各种形状的条形码之外,本领域已知的还有具有代表在印刷介质上被数字编码的信息的多行“数据线”,称为“数据条”的二维条形码。每个数据线行由一系列分别代表二进制“0”和“1”的黑色象素和白色象素组成。各行中位的排列次序确定了其中存储的数字数据。全体数据线行中存储的数据确定包含在二维条形码中的数据。一般,用户使同时读取各数据线行中的信息的手持式扫描仪沿条形码的长度方向垂直通过条形码,以便阅读所有的数据线行。
Brass等的美国专利No.4692603、4754127及4782221中公开了纸介质情况下利用具有多行数据线的数据条二维条形码的现有技术系统的例子。在该系统中,二维条形码由用于对纸张上的计算机程序和数据进行编码的数据线行组成,并利用手持式扫描仪对其扫描。除了对计算机程序和数据编码之外,这些数据线还包含有跟踪及同步位,下面称为“时钟位”。直接在各个数据线行内使用大量的时钟位显著减少了各行内可存储的数字数据的数量。此外,如果具有时钟位的数据线行受到损坏(如果条形码是由传真系统光复制或传输的,则可经常出现这种情况),时钟位将丢失,从而使得即使可能对条形码中的编码信息进行解码,解码也将是非常困难的。
Knowles的美国专利No.5083214说明了也需要在编码数据中嵌入时钟位的二维条形码系统。但是Knowles的‘214专利使用数据条形码的首行来提供扫描同步,而不是利用同步及时钟位对每行及每列数据编码。此外,最左侧的八列位包括用于确定读取各行中包含的数据位的时钟的时钟位。由于Knowles的‘214专利中说明的二维条形码的第一行和最左侧的八列完全用于同步及计时,因此相应地降低了条形码的总数据容量。此外,如果条形码的第一行或者最左侧的几列受到损坏,则时钟信息将丢失,如同其它现有技术系统的情况一样,使得即使可能读出各数据行中的编码数据,也将是非常困难的。
Sant′Anselmo等的美国专利No.4924078说明了一种二维条形码系统,定向和/或计时单元边框被包含在条形码本体中。对于读取条形码之前不知道准确位置、符号大小及数据密度的所有情况来说,Sant′Anselmo‘078专利需要该边框,边框必须平滑,并且至少位于数据区的两侧。另外,当某些信息(例如每边的单元数)事先未知时,也需要计时单元。同样,由于在条形码内包括了定向和/或计时单元边框,因此相应地降低了条形码的总数据容量。此外,由于有关条形码解码的关键信息从定向边框中抽取,因此如果Sant′Anselmo‘078专利的实施例(该实施例中,只在数据区的两边存在边框)的一行或一列受到损坏,也将使得即使能够读取条形码中的编码数据,也将是非常困难的。
在共同未决专利申请“无时钟二维条形码及印刷和读取该条形码的方法”(申请号No.08/569280,申请日1995年12月8日)(“‘280申请”)中,说明了在其四边的至少一边上具有边框的无时钟二维条形码,边框放置在条形码的区域之外,该申请作为参考包含在此。该二维条形码被称为“PanaMark”。如图1A中所示,PanaMark 10印刷在印刷页面11的右下角,不过该位置是完全随意的。在图1A所示的实施例中,印刷页面11的剩余部分由印刷文本12占据。但是,本领域的技术人员知道可用任意类型的计算机生成的印刷材料,例如电子数据表格或图象代替印刷文本12。图1B中描述的PanaMark 10包括位于PanaMark四边的边框13。虽然如‘280申请中充分说明的一样,只需在PanaMark的四边中的一边有边框13即可,但是为了美观,通常在四边上都包含有边框。
于是本发明的目的是提供一种代表数字编码数据的无时钟二维条形码。
本发明的另一目的是提供一种代表数字编码数据的无边框、无时钟二维条形码。
本发明的另一目的是提供一种印刷在印刷介质上的无边框、无时钟二维条形码,该条形码坚固,足以经受对该介质的损坏。
本发明的另一目的是提供一种不需要任何用于校准的内部控制块,代表数字编码数据的无边框、无时钟二维条形码。
本发明的又一目的是对无边框、无时钟二维条形码中格式化的数据编码,以便印刷在印刷介质上。
本发明的另一目的是提供一种对以印刷在印刷介质上的无边框、无时钟二维条形码的形式数字编码的信息进行解码的方法。
根据下面的详细说明,本发明的其它各种目的、优点及特征将是显而易见的,新特征将在附加的权利要求中详细指出。
这些或其它目的由在具有选定象素行及列长度的随机数据位的位图格式化表示中具有编码数字信息的二维数据条形码实现,该条形码周围没有边框。
在本发明的一个实施例中,二维数据条形码具有编码数字信息,该编码信息以具有选定象素行和列长度的位图的格式表示随机化的数据位,“黑色”数据象素占据四角,并且条形码四周没有边框。在本发明的另一实施例中,不要求“黑色”数据象素占据条形码的每一角。
本发明的另一方面说明了对信息进行编码,以便在纸张之类的印刷介质上印刷的方法。信息首先被转变为具有代表数据位的二进制字符序列的数据流。随后对该数据流进行随机化处理,以产生数目近似相等的“0”和“1”字符。之后,随机化数据流被格式化为具有多行多列的二维位图,并印刷在印刷介质上。
在本发明的另一方面中,信息被转变为具有表示数据位的二进制字符的数据流。映射该数据流,以产生布置在四角空缺的具有多行多列的二维位图中的数字数据位。四个角位置被设置为表示“黑色”数据象素的逻辑字符。
本发明的另一方面涉及一种映射代表要编码的信息的数据流,以产生布置在具有多行多列的二维位图中的数字数据位,使得给定块的每个数据位和同一块中的其它各个数据位分隔至少一行或一列的方法,该方法确保位图能够经受行和列损坏。
本发明的又一方面提供了一种使二维条形码中的编码信息充分随机化的方法。编码过程中的随机化处理可使用若干备选密钥,以便如果第一密钥不能产生足够的随机化程度,可使用第二密钥。继续试验更多的密钥,直到随机化程度达到预定水平为止。在解码过程中,由于使用不正确的密钥将产生更多的错误,因此使用纠错码来选择最合适的解随机处理密钥。
在本发明的二维条形码的所有实施例中,最好对印刷在印刷介质上的编码信息进行随机化处理,以便防止连续象素串的颜色相同,如果不进行随机化处理,则可能发生这种情况。
在本发明的另一实施例,对以代表编码数据位的多行多列数据象素的二维位图的形式印刷在印刷介质上的信息进行解码。除了位图之外,印刷介质还含有其它信息。扫描其上印刷有位图的印刷介质,在印刷介质内查找位图的位置。相对于扫描的印刷介质的原点确定位图的偏斜角,如果偏斜角过大,对位图进行解偏斜。一旦位图被正确地校直之后,修剪位图,并从数据象素读出二进制数据,以产生对应于编码数据位和角位(如果存在的话)的二维数字阵列。
在本发明这方面的又一实施例中,提供了一种确保从解偏斜、修剪后的位图中正确读出数据的方法,其中通过沿四个备选方向读取数据产生四种备选数据流,随后使用纠错码选择错误最少的数据流用于输出。
结合附图将更好地理解通过例子给出的,不把本发明限于所举例子的下述详细说明,其中:
图1A示意地表示了印刷在印刷文本页面上的‘280申请的二维条形码,图1B表示了‘280申请的二维条形码的例子。
图2表示了根据本发明的二维条形码的例子。
图3是表示根据本发明在印刷介质上对信息编码及解码的步骤的流程图。
图4表示了二维条形码的不好的数据位布局的例子。
图5A和5B表示了二维条形码的良好的数据位布局的例子。
图6表示了根据本发明的二维条形码的最佳数据位布局的例子。
图7A表示了随机化处理结果“差”的随机化二维条形码的例子,图7B表示了随机化处理结果“好”的随机化二维条形码的例子。
图8A是说明如何读取根据本发明的二维条形码的一个实施例的流程图,图8B是说明如何读取根据本发明的二维条形码的另一个实施例的流程图。
图9A和9B图解说明了根据本发明如何在印刷页面内查找二维条形码的位置。
图10A和10B图解说明了根据本发明一个方面如何计算二维条形码的偏斜。
图11说明了直线的参数表示法。
图12A和12B分别图解说明了平面内的一点的表示法及平面内两点的表示法。
图13A和13B表示了在本发明的理想二维条形码和偏斜二维条形码中边缘象素的校准。
图14A和143图解说明了PanaMark片断的四个棱边,及在根据本发明一个方面的基于霍夫变换的偏斜检测法中用于检测边缘象素的两个掩模。
图15A表示了偏斜的二维条形码,图15B表示了根据本发明,通过利用霍夫变换在图15A的二维条形码内检测到的边缘。
图16图解说明了用于根据本发明的二维条形码的简单解偏斜方法。
图17表示了对根据本发明的二维条形码施加偏斜校正的两种方式。
图18-18D图解说明了从根据本发明的二维条形码中读出数据的四种备选方向。
如同Lopresti等的均名为“可证明的光学字符识别″的美国专利No.5625721和5703972,及名为“用于增强对印刷文件的光学字符识别的方法和装置″的共同未决申请(申请号No.08/138467,申请日1993年10月15日)中充分说明的一样,当初始生成文献时,或者当随后计算机处理该文献时,关于文献的内容、版式、产生及检索的信息可由计算机进行编码,上述专利文献在此作为参考文献。随后编码文献信息可由在文献的印刷版本的封面上产生的数据条形码提供,该数据条形码在此也称为“PanaMark”。目前可达到的先进的编码及印刷分辨能力可在一平方英寸的面积上容纳最高达30000比特的信息。于是如上面参考的申请文献中所述,理论上可对整个文献内容进行编码,唯一的限制在于用于PanaMark的文献表面的面积大小。条形码扫描仪能够和光学页面扫描仪一起或者完全脱离光学页面扫描仪扫描PanaMark,并把信息提供给装备有适当的识别及解码软件的相关系统。随后,扫描系统可利用解码后的信息产生新版本的文献,或者增强扫描文献的识别、再现及错误校正。对PanaMark解码并不要求条形扫描仪及扫描系统知道PanaMark的印刷分辨率,只要扫描仪的扫描分辨率至少和PanaMark的印刷分辨率一样细微即可,以便能够扫描PanaMark的代表逻辑位的每个单个1×1象素或更大的象素。
以PanaMark形式编码的信息可用于增强已用于产生纸类文献的软件工具。例如字处理软件、电子数据表、面向对象的图形软件及诸如话音记录及照相成象之类的多媒体应用软件。
图1的PanaMark 10中使用的边框13不是‘280申请中公开的发明的关键特征,因为不论是否存在边框,该发明中描述的大多数主要过程都将工作。但是在‘280申请中,偏斜估计和解偏斜步骤使用了边框10。
图2图解说明了新的PanaMark符号体系的例子。PanaMark 20包含二维栅格中的一组编码数据位。通常,各个编码数据位以黑色或白色象素矩阵23的形式被印刷。代表一个数据位的象素矩阵最好是正方形矩阵,并且可以小到1×1方阵,大到6×6方阵,或者更大。也可使用非正方形矩阵。在PanaMark20的符号体系中不必要或者不要求时钟或边框。在最佳实施例中,PanaMark 20是20×20阵列数据位,不过阵列的大小是灵活可变的,对阵列大小的唯一要求是读取过程知道编码阵列的大小。在一些应用中,最好包含有邻近PanaMark 20的文本标记22,尽管文本标记不是必须的,并且对于编码过程或者解码过程都是无关紧要的。
下面说明两个不同的实施例。在第一实施例中,4个角位21总是黑色的,并且是后面参考图10更详细讨论的模板匹配偏斜估计法所必需的。第一实施例中的4个角位21被称为“锚”位。第一实施例中的其它数据位受到伪随机处理,并且可保存需求的信息和错误校正位。当偏斜较小,并且PanaMark 20不受到损坏时,第一实施例的符号体系提供良好的偏斜估计。但是,锚位21布置在角上,使得它们易于受到损坏。这样,在第二实施例中,不需要任何锚位21,PanaMark 20只是N×M阵列的数据位,最好N=M=20。在第二实施例中,所有的数据位都受到伪随机化处理,并可保存需要的信息和错误校正位的任意组合。
图3图解说明了编码/解码过程中涉及的步骤。除了这里说明的步骤之外,其它所有步骤都在‘280申请中作为更为详细的说明。在编码过程中,首先在步骤30处理呈一维线性位流形式的输入数据,加入标准的基于块的纠错码(“ECC”),在步骤31对输入数据进行随机化处理,在步骤32中,输入数据从一维位流映射为二维形式,即PanaMark,最后在步骤33印刷该PanaMark。解码过程按照相反的顺序重复这些步骤,在步骤34读取印刷的PanaMark,在步骤35将其从二维形式映射为一维形式,并在步骤36对其进行解随机处理,最后在步骤37应用ECC,以产生“原始”线性位流。作为这里提供的新的PanaMark符合体系的一部分,还提供了进行随机化处理、映射、读取及应用ECC的改进方法。
当然,任何ECC可以这样的方式实现,即允许校正一定数目的位错误。虽然通常这样的错误是不可避免的,但是能够选择把数据映射到二维平面的方法,使某些类型的错误对PanaMark的可读性的整体影响降到最小。这样地映射位,使得对PanaMark的系统损坏不大可能在每个块或代码字中产生一个以上的位错误,而ECC能够对每个块或代码字中一个位错误进行校正。
图4中所示的把位从单个块40中以行或列主顺序依次放置在条形码41中的方法不好。当扫描图象时,常常见到沿着特定的象素行或列的相关损坏,如行42中所示。在平板扫描仪和传真机的情况下,CCD传感器阵列在页面下移动,或者拖动页面通过固定的传感器的物理运动将导致行损坏。物理运动上的任何不规则性都将导致扫描在图象的某些行内产生变形。注意行42中产生了7个位错误,从而行42完全损失。另一方面,当某些CCD传感器损坏时,将产生列损坏,从而导致产生沿着页面长度方向的黑条。
如图5A和5B所示,一种较好的方法是把连续的位从单个块中沿着对角线放置在条形码45中。这种情况下,每个块中只有一位会受到对相关行46或相关列47的损坏的影响。由于ECC能够对每个块中一个位错误进行校正,这意味着能够成功地对所有的块进行解码。通过映射块,把损坏均匀地分散在这些块上,从而改善了符号体系的整体性能。
由于前面说明的噪声效应可能跨越行或列边界,因此更为理想的是把来自单个块的位放置在不相邻的行和列中。只要基本块大小小于标记大小的一半,这就是可能完成的。这是由图6中说明的映射过程实现的。图6中图解说明的条形码50表示了在各个位间隔至少一行或一列的情况下,如何把块0 51映射到逻辑PanaMark 50的主对角线上。从而,即使损坏相邻的两行或两列,也能正确地对所有的块解码。尽管图6描述了具有4个锚位52的逻辑PanaMark 50,不过应认识到如参考图10A和10B说明的一样,只有当使用模板匹配偏斜角检测法时,锚位52才是必需的。
为了去除显含的时钟边框,‘280申请中描述的读取过程需要足够的边缘转变来合成隐含的时钟。其缺陷是PanaMark内的大面积全白或全黑象素将导致边缘数目的减少。实际上,由于基础数据中的规则模式的缘故可能会出现这种区域,除非采取步骤加以防止。例如,以标准的8位ASCII表示的英文文本在高阶位位置上总是“0”。图7A和7B分别给出了“差的”PanaMark 60和“好的”PanaMark 61的例子。PanaMark 60和61都是和可选的文本标记一起表示出来的。注意PanaMark 60完全有效-它对和PanaMark 61相同数目的位进行了编码。不过不可能利用‘280申请中提供的技术可靠地读取PanaMark 60。
可通过对输入位流进行随机化处理来防止产生这样的情况。这意味着解码时必须对位流进行解随机处理。由于总是已知如何消除其效果,因此这种过程实际上应被称为“伪随机化”。一种简单、众所周知的实现随机化处理的方法是利用预定的随机产生的密钥逐位对输入位流进行“异”(“XOR”)操作。其作用是打破输入流中的任何规则模式,产生“0”和“1”的大致均匀分布。当在PanaMark中编码时,“0”和“1”分别对应于白色位和黑色位。这样,产生“好的”PanaMark61,它具有足够的用于读取数据位所必需的隐式时钟的边缘。随机化步骤还使标记具有无特征的灰色外观,和易于识别出的图形相比,用户可能会觉得不易分散注意。
在解码过程中,利用完全相同的密钥,借助异操作对输出位流进行解随机处理。因此,关键在于编码过程和解码过程使用相同的密钥。偶尔随机化后的位流可能发生退化,以致含有如图7A的“差的”PanaMark 60中所示的较大的白色或黑色区域。为了避免这种情况,编码过程可从少量的可能密钥中随意选择密钥。选择由输出位流的质量(即随机性)决定。即使解码过程事先不知道编码过程使用的哪个密钥,尝试每个密钥,并利用ECC处理的输出确认结果也是件简单的事情,即,正确的密钥将是根据ECC处理产生最少错误的那个密钥。
图8A和8B是图解说明本发明提供的条形码符号体系的读取方法的流程图。图8A说明的方法用于不存在边框或锚位的PanaMark的实施例,而图8B说明的方法用于包括锚位,但是没有边框的PanaMark的实施例。由于不涉及图象处理,印刷由一组在‘280申请中充分说明的简单的辅助例行过程处理。
在图8A中,第一步骤70在印刷页面上查找不具有边框或锚位的PanaMark的位置。大多数情况下,假定围绕PanaMark的区域是相对无噪声的;通常该PanaMark被放置在页面的一个未使用角落中(例如图1A中所示)。正如参考图9A和9B详细说明的一样,定位步骤70首先计算扫描页面中的黑色象素数目的垂直及水平直方图。由于扫描的PanaMark被随机化,从而具有近似均匀的黑色或白色象素分布,因此和文献上PanaMark所处区域中通常存在的黑色象素相比,PanaMark具有更多数目的黑色象素。顺序检查每个直方图,对于垂直直方图进行逐行检查,对于水平直方图进行逐列检查,直到达到第一预定水平为止。接下来,该过程“稍微后退”直到达到第二较低预定水平为止。该点被选定为第一边界。随后,从首先找到第一预定水平的地点向前移动,检查直方图查找低于第一预定水平的点。接下来类似于上面说明的“后退”过程,过程“稍微前移”,直到达到第二预定水平为止。该点被选作为PanaMark的第二边界。通过对水平及垂直直方图执行这一过程,选定限定PanaMark的方框。“稍微后退”及“稍微前移”步骤确保不会切去四角,尤其是在偏斜的PanaMark情况下不会切去四角。
在图8A的步骤71中,利用“霍夫变换”法估算PanaMark的偏斜。下文将参考图11~13更详细地描述该方法。在该方法中,首先查找每行逻辑数据象素的水平边缘。通过利用霍夫变换,找到与水平边缘平行的线条的图象(如果PanaMark偏斜,则该线条不是完全水平的),计算该线条和完全水平的线条之间的角度,给出偏斜角。
在步骤72估计偏斜角。如果偏斜角φ小于某一预定的门限值α,则不需要进行解偏斜处理,接下来执行修剪步骤75。如果偏斜角φ大于预定的角度α,则接下来执行三角法解偏斜步骤74。正如参考图17更详细说明的一样,一旦知道偏斜角,就可能根据偏斜图象,数学计算解偏斜图象的位置。
一旦完成解偏斜(如果有的话),在步骤75,围绕现在由完全水平和垂直的边缘定向的PanaMark修剪紧束边界框。以非常类似于定位步骤70的方式执行修剪步骤,不过容差更为严格。最后在步骤76位被读出,产生N×M位阵列(在最佳实施例中为20×20位)。‘280申请中及下面参考图18对读取步骤76进行了更为详细的说明。
在图8B中,第一步骤70以和上面说明的,并参考图9A和图9B更详细说明的相同方式在印刷页面上确定具有锚位,但是没有边框的PanaMark的位置。正如前面参考图8A提到的一样,假定围绕PanaMark的区域是相对无噪声的。
在步骤71中,估计PanaMark的偏斜。这里说明估计偏斜的两种备选方法。第一种方法是只对小角度偏斜有效的“模板匹配”法(由于该方法要求要解码的PanaMark在每个角上都要具有锚位,因此图8A中没有使用该方法),参考图10A和10B更详细地说明了这一方法。通常通过使两个模板紧密地对准PanaMark的两个相邻角,例如左上角及左下角来执行该方法。每个模板形成一个直角,并且最好具有一行内侧黑色位及两行外侧白色位。每个模板逐位移向相应的角落,直到找到可能的最接近匹配为止,使内侧的一行黑色位对准相应的角落。尽管PanaMark可能偏斜,当每个模板匹配相应角落时,每个模板保持垂直及水平对准状态。在对每个角都找到最接近的匹配之后,如果PanaMark偏斜,则每个模板的黑色角位将不再垂直对准。从第一模板的角位延伸出的垂直线(如果选择左上角及右上角,则为水平线)和从第一模板的角位延伸到第二模板的角位的直线之间夹角代表偏斜角,并可利用简单的三角法计算该角度。
在第二种方法中,使用“霍夫变换”来计算偏斜角。前面参考图8A概括说明的,下面将参考图11~13更详细说明的这种方法适用于较大范围的偏斜角(并且不要求PanaMark具有锚位)。选择模板匹配法是要校正的偏斜量和分配的处理时间之间的折衷方案,因为霍夫变换法需要更多的处理时间。如果预计偏斜角大于利用模板匹配法所能检测的偏斜角,则应使用霍夫变换法。如果非常重视处理时间,并且预计偏斜角较小,则应使用模板匹配法。步骤72中估价偏斜角。如果偏斜角φ低于某一预定门限值α,则不需要解偏斜,接下来执行修剪步骤75。如果偏斜角φ大于预定角度β,则接下来执行参考图8A概括说明,并将参考图17更详细说明的三角法解偏斜步骤74。如果偏斜角φ介于预定角度α和β之间,则接下来执行简单的解偏斜步骤73。该简单解偏斜方法使用剪切旋转技术。在该方法中,假定一个角位,例如左上角角位处于正确的位置。根据偏斜角,顺序检查每一行以确定要移动(例如从右向左移动)的象素的数目。同样顺序检查每一列以确定要移动(例如从上向下移动)的象素的数目。接下来,按照指示在各行中移动象素,最后按照指示在各列中移动象素。
如同参考图8所述的一样,一旦完成解偏斜(如果有的话),在步骤75围绕PanaMark修剪紧束边界框,在步骤76位被读出,产生N×M位阵列(在最佳实施例中为20×20位)。
在该方法的各个步骤中,能够检查是否已检测到有效的PanaMark。例如,预计PanaMark会落在某一尺寸范围内,就其织构而言遵从特定的性质(黑色和白色近似为50/50)。在图8A和8B中,对于定位步骤70、修剪步骤75及读取步骤76表示了错误检查。在后面的阶段中,在读取步骤76之后,ECC也可用于确认有效性。如果在任何点都没有找到预期的特征,则存在两种选择:(1)倒转,尝试不同的途径,或者(2)放弃进一步处理。注意关键在于缺省步骤要非常快速。只有当需要特殊处理时,才应许可更多的时间读取PanaMark。这就是为什么在图8B中存在两种执行解偏斜步骤的备选方法,只有当必需时才使用三角法解偏斜步骤74,通常使用简单的解偏斜步骤73,和更复杂的三角法解偏斜步骤74相比,简单的解偏斜步骤73操作更快。但是如图8A所示,对于没有锚位的PanaMark,只能使用更为复杂的方法估计偏斜角。
图9图解说明了执行定位步骤70所要求的两步。定位步骤79的目的是确定认为位于输入图象上某处的PanaMark,例如图1A中所示的位于文献11右下角的PanaMark 10的边界框。通常,除了可选的文本标记之外,PanaMark是存在于页面上该特定位置中的唯一物体。在PanaMark嵌在图象的内容中,或者输入图象中存在其它较大的组件的情况下,必须使用基于形态运算及统计分析的更为复杂的方法。不过实际情况中这种情况很少存在。在该方法中,必须预先考虑到将存在少量的“斑点”噪声,及整个图象可能发生偏斜。
图9中图解说明的定位方法基于y轴和x轴投影。参考图9A,首先确定PanaMark 90的垂直范围(即上下边界)。为此,合计在其上印刷PanaMark 90的输入图象的每一行中的黑色象素的数目,产生y轴投影104。在y轴投影上从上到下进行处理。在所示的实施例中,文本标记位于PanaMark的下方,不过本领域的技术人员知道如果存在文本标记,它可位于PanaMark 90四边的任一边上。设定最小门限值100,以便忽略少量的伪噪声。当找到满足最小门限值100的行(由点91所示)时,稍微降低门限值,通过在直方图中向回移动直到满足降低的门限值为止(点92),找到上边界102。在PanaMark偏斜及门限值过于严格的情况下,降低门限值100可防止切去PanaMark的四角。接下来,继续向下进行处理,如尖头93所示,直到直方图104低于最小门限值100时为止。此时,和前面一样使门限值降低相同的数值,以便在点94确定下边界103,不过这里处理是继续向下进行,而不是向回移动。
确定了正确的垂直范围(有效地除去文本标记)之后,执行类似的操作确定PanaMark 90的水平范围(即左右边界)。跨越当前有效行对每列总计黑色象素的数目,以产生X轴投影直方图101。从左到右进行处理。在点95,当满足最小门限值100时,处理停止。随后稍微降低门限值,通过沿直方图101向回移动直到在点96降低的门限值被满足时为止,选定左边界105。随后从找到最小门限值100的点95开始继续进行处理,寻找低于门限值100的水平。一旦在点97找到这样的水平,再把门限值降低设定的量值,通过继续从左向右移动,直到找到降低的门限值为止,在点98确定右边界106。当然,也可颠倒确定PanaMark的纵向边界和水平边界的次序。
在完成定位步骤之后,假定已精确确定PanaMark的边界框,这可以多种方式,例如ECC方法进行确认。
在页面内找出PanaMark的位置之后,必须估计PanaMark的偏斜角(如果有的话)。由于随后的处理步骤(即读取)依赖于PanaMark几乎完全平直,因此要求估计偏斜角。即使用户在把页面放置在扫描仪上时非常小心,仍然会产生少量的偏斜。一旦已知偏斜量,就可应用解偏斜步骤,适当地校直PanaMark。这里提供了两种如参考图8的方框71说明的估计偏斜角的方法。较简单的一种方法是模板匹配偏斜估计法,它要求PanaMark包含有锚位。和霍夫变换法相比,模板匹配偏斜估计法所需的处理时间较少,不过霍夫变换法可用于计算没有锚位的PanaMark的偏斜角。
图10图解说明了模板匹配偏斜估计法(图8B的步骤71),该方法适用于小偏斜角,例如当用户相当小心地把包含有PanaMark 110(具有四个锚位)的页面放置在扫描仪的玻璃上,或者当使用具有自动送纸器的扫描仪扫描包含有PanaMark 110的页面时遇到的情况。正如前面结合图8B的步骤71提及的一样,太大以致不能用模板匹配法确定的偏斜角可利用下面结合图11~12说明的霍夫变换法来计算。
参见图10A和10B,分别为PanaMark 110的西北角(NW)及西南角(SW)确定模板111、112。每个模板111、112最好包括一行黑色象素117及两行白色象素113。如图10的左图所示,逐位移动每个模板111、112,使其穿过PanaMark 110的适当子区域,以确定角位置。这一过程由表示模板111向西北角移动的箭头118,及表示模板112向西南角移动的箭头119指示。在移动的各个点,按照本领域公知的方法计算2-D汉明距离(即模板和图象不匹配的象素位置的数目),并且前后调整各个模板111、112,直到对于每个角落,汉明距离减至最小时为止。
一旦模板111、112处于它们的最佳拟合位置,如图10B中所示,以本领域中公知的方式确定模板111、112中的角象素115、116之间的角度114,从而得到PanaMark 110的偏斜角φ的估计值。
注意虽然PanaMark 110中的锚位可能偏斜,但是模板111、112并不偏斜(即模板是预先确定的,而偏斜角事先未知)。为此,模板匹配法只适用于小偏斜角。和PanaMark 110整个范围内的偏斜相比,单个位上的偏斜相对较小。因此,只要图象中的锚位不被显著变形(即偏斜角φ不太大),则模板111、112将在其预期位置中很好地匹配。
霍夫变换也可用于对模板匹配法不能处理的偏斜角水平及对不具有锚位的PanaMark确定偏斜角。霍夫变换是图象分析及计算机视频中使用的最古老、最耐用的方法。霍夫变换是在数字图象中检测诸如直线、圆之类几何特征的方法。霍夫变换是把一个形状的一组点映射为该形状的一组较少的参数特征的参数变换法。例如,如图11中所示,直线120上的点可借助其参数方程式:
ρ=xcos(θ)+ysin(θ)
映射为一对参数(ρ,θ),其中ρ,121为直线到坐标原点的垂直距离,θ,122是直线的垂线和x轴之间的夹角。
直线的所有点和参数对(ρ,θ)之间的上述对应性认为直线的(ρ,θ)已知。但是如图12A中所示,平面上的任意一点(x,y)127可位于如直线123a~123d所示的无穷多的直线上。换句话说,点(x,y)可被映象为无穷多的参数对(ρ,θ)。集合Fx,y={(ρ,θ)|0≤θ<180°,ρ=xcons(θ)+ysin(θ)}代表所有通过点(x,y)127的直线。
另一方面,如图12B所示,对任意两点(x0,y0)128及(x1,y1)129,只存在一条通过这两点的直线124。于是,存在一对为集合Fx0,y0及集合Fx1,y1所共有的参数(ρ*,θ*),使得:
Fx0.y0∩Fx1.y1={(ρ*,θ*)}
其次如果平面中的许多点(x1,y1)构成参数(ρ*,θ*)的直线,则该参数将是所有相应集合Fxi,yi的元素。换句话说,给定平面上的一组点,通过对于所有点计算参数在集合Fxi,yi中出现的频率,霍夫变换可用于检测给定参数的直线是否存在。
实际上,基于霍夫变换的直线检测算法需要代表量化参数空间(ρ,θ)的2-D累加器阵列。为了检测直线,该方法检测图象中的每个前景象素(x,y),并计算集合Fx,y中的所有量化值(ρ,θ)。累加器阵列中的结果(ρ,θ)条目递增。
在处理完所有象素之后,搜索累加器阵列,查找高值峰。这些峰值指示图象中可能的直线的参数。最高峰值表示图象中的“主”直线的参数。
如图13A中所示,当全扫描时,对应于PanaMark 130中同一行的逻辑位的PanaMark 130的边缘象素存在于同一扫描线132上。如图13B中所示,当PanaMark 131偏斜时,这些边缘象素近似地对准偏斜方向,从而边缘象素构成直线,例如相对于PanaMark 131的取向的平行扫描线133及垂直扫描线134。这样,呆使用霍夫变换法来识别这些直线,例如扫描线133及134,随后减小PanaMark 131的偏斜角。
霍夫变换偏斜检测法的第一步是识别PanaMark内的边缘象素。PanaMark内的黑色和白色图形具有四个侧边(这里称为“棱边”)。图14A表示了黑色图形140的四个定向于两个垂直方向的棱边,即水平棱边141和垂直棱边142。对偏斜估计来说,只在一个方向上,例如只在水平棱边141上检测边缘象素就已足够。
如图14B中所示,把两个棱边掩模143、146贴到PanaMark图案上,以识别水平边缘象素。尽管一个棱边掩模就足以完成偏斜估计,在这里公开的最佳实施例中还是使用了两个棱边掩模,以便使识别过程稳定。其垂直位置上的黑色及白色图形匹配任一掩模的任意黑色象素位置被认为是边缘象素。掩模145、146的宽度最好被设定为扫描图象中PanaMark逻辑位的象素数目的一半。
图15A表示了偏斜角为10°的扫描PanaMark 150,图15B表示了在PanaMark 150中检测到的水平边缘象素151。识别出边缘象素151之后,应用霍夫变换法检测边缘图象152中的“主”直线。随后以边缘图象152中主直线的偏斜的形式计算PanaMark 150的偏斜。
在利用上面说明的任一种方法估计偏斜角之后,有必要进行校正性解偏步骤。和读取PanaMark中涉及的其它步骤一样,可以多种不同方式完成校正解偏步骤。
如图16中所示,“剪切旋转”法可用于对偏斜量相对较小的PanaMark进行解偏斜。这是对真实的二维三角旋转的一维近似,二维三角旋转所需的计算时间较长。对于通常预计的小偏斜角情况来说,剪切旋转解偏斜能够产生很好的效果。如果检测到较大的偏斜角,则必须使用参考图17说明的更复杂,从而也更费时的处理方法。执行总计滑动PanaMark的适当行和列的两个单独的一维步骤:水平剪切步骤,随后是垂直剪切步骤。
剪切旋转法首先假定PanaMark最左侧上部的象素163位于正确的位置上。根据先前确定的偏斜估计值,从上向下仪依次各行需要移动的补偿象素的数目。同样,再次假定最左侧上部的象素位于正确的位置上,依次计算各列要移动的补偿象素的数目。随后如图16A和16B中描述的一样,通过首先移动各行,随后移动各列完成旋转。注意图16A和16B把计算移位的独立步骤和实际的旋转结合在一起。如水平剪切步骤中所示的第一步是从上向下计算图象160的各行要移动的补偿象素的数目。如图16A中图象160的左侧所示,最上面的4行不需要移动,接下来的2行需要移动一个象素,而最下面的2行则需要移动两个象素。如垂直剪切步骤中所示的下一步是从左向右计算原始图象160的各列要移动的补偿象素的数目。如图16B的图象161的下方所示,最左边的2列不需要移动,接下来的2列需要移动一个象素,而最右边的两列需要移动两个象素。接下来通过移动下面4行象素,对图象160进行水平剪切处理。最后通过按照计算量移动右侧的4列象素执行垂直剪切处理,得到图16C中所示的最终结果。实际的PanaMark只是6×6位阵列,PanaMark 162中所示的外侧白色区域将在图8中描述的,并将在下面说明的修剪步骤75中被除去。
图16中的例子用于图解说明上述两个剪切操作,但是位图的低分辨率及较大程度的偏斜将在输出图象中导致实际不会发生的失实变形量。
如图17中所示,为了实现图8中描述的三角解偏斜步骤74,可利用众所周知的方程式:
x′=xcosθ-ysinθ    (1)
y′=xsinθ+ycosθ    (2)
把二维图象171和其偏斜(或旋转)的对应图象170之间的关系描述为座标的仿射变换,其中(x,y)和(x′,y′)分别为原始图象171及偏斜图象170中的象素座标,θ为偏斜角。
从而,一旦已知θ,则可借助逆变换:
x=x′cosθ+y′sinθ    (3)
y=-y′sinθ+y′cosθ   (4)
从偏斜图象170还原原始图象171。
一种实现偏斜校正的简单途径是利用逆变换(方程式(3)和(4))计算图象170中各个黑色象素(x′,y′)的解偏斜图象171座标(x,y),图17中由虚线173所示。随后把各个象素(x,y)的颜色设定为象素(x′,y′)的颜色。
另一方面可以相反的方式完成该操作:利用方程式(1)和(2)计算目标图象中各个象素(x,y)在输入图象中的位置(x′,y′),图17中由虚线172所示。随后从计算得到的位置把象素颜色复制到(x,y)。
从数学的观点看,这两种方法是等效的。但是对于数字图象,这两种方法并不相同。两种方法都具有缺点。由于数值的上舍入,第一种方法可能会在解偏斜图象中产生小孔,而第二种方法可能导致边缘错位。虽然两种方法都可得到满意的结果,不过第二种方法效果更好。
在对PanaMark解偏斜之后,参考图9计算的围绕PanaMark的边界框可能过于“宽松”,即边界框中存在的象素多于抽取数据位所必需的象素。例如,如图16A~16C所示,如果原始位图的大小为8×7象素,而最终的解偏斜位图的大小为6×6象素,则必须丢弃两列象素及一行象素。从而由于不必再担心切去PanaMark的四角,因此利用稍微紧密的门限值,执行另一组非常类似于参考图9说明的初始定位步骤的操作。
此时,扫描的PanaMark已被定位、解偏斜及紧密地修剪。下一步是读出数据位,数据位把PanaMark从每个位表示为黑色或白色象素集合的图象域变换为逻辑值的位阵列,在最佳实施例中为20×20位阵列。注意由于PanaMark符号体系无时钟,因此不存在预定的基准模式来帮助确定读取过程的方向。但是,PanaMark的逻辑大小事先先知,例如在最佳实施例中为每边20位的正方形。此外,由于在编码过程中使PanaMark中的位伪随机化,因此任意特定象素行或象素列表现出黑-白及白-黑转变在逻辑行及列边缘附近的较高分布,及在中心附近的较低分布。在‘280申请中对读取过程作了充分说明。一旦借助‘280申请中描述的方法确定了水平及垂直中心线,就可通过记录各水平和垂直中心线交点处的象素值(例如设定每个“白色”象素值=“0”,每个“黑色”象素值=“1”)从PanaMark中读出位。
如图18所示,基本的时钟过程开始于PanaMark 184的NW(左上)角,并按照从左到右,从上到下的方式读出数据。不过如图18C~18D中所示,也可从其它三个角(SW、NE、SE)中的任一个开始应用相同的范例。理论上根据这四种备选时钟的输出应是相同的。但是由于扫描偏差及四舍五入误差,实际上结果是不相同的。不过根据来自ECC步骤的反馈,可以选择使用沿着图18A~18D中描述的四种备选方向产生的四种不同读取中的最佳读取。换句话说,如果在从左到右,从上到下时序中,ECC报告检测到两个错误,而在其它时序中ECC都报告检测到15个错误,则应使用第一组结果,放弃其它结果。从而能够降低总的错误率。
虽然已经关于最佳实施例及其各个方面详细表示并说明了本发明,但是在不脱离本发明精神和范围的情况下,本领域普通技术人员能够做出各种变化和修改。附加的权利要求应理解为包括这里说明的实施例,前面提及的可供选择的方案及所有等效方案。

Claims (22)

1.一种对信息编码,以便在印刷介质上印刷的方法,它包括下述步骤:
把所述信息转变为具有代表数据位的“0”和“1”字符序列的数据流;
对所述数据流进行随机化处理,产生具有“0”和“1”字符序列的随机化数据流;
把随机化数据流格式化为只包括随机化数据流位和至少一个角中的锚位的具有多行和多列的二维位图;及
把格式化位图印刷到所述印刷介质上。
2.按照权利要求1所述的方法,其特征在于所述格式化步骤包括向所述二维位图的每个角中加入一个锚位。
3.按照权利要求1所述的方法,其特征在于所述格式化步骤包括映射随机化数据流,使得在所述二维位图中,所述数据流的每个块中的每个数据位和同一块中的所有其它数据位间隔至少一行和一列的步骤。
4.按照权利要求1所述的方法,其特征在于所述随机化步骤包括用备选指定密钥反复对所述数据流进行随机化处理,直到随机化数据流中“0”和“1”字符的分布基本均匀为止的步骤。
5.按照权利要求1所述的方法,其特征在于还包括压缩所述信息的步骤。
6.按照权利要求1所述的方法,其特征在于还包括向所述数据流中加入纠错码数据位的步骤。
7.按照权利要求1所述的方法,其特征在于还包括复制所述数据流,以产生用于编码时改善可靠性的冗余数据的步骤。
8.一种对信息编码,以便在印刷介质上印刷的方法,它包括下述步骤:
把所述信息转变为具有表示数据位的“0”和“1”字符序列的数据流;
对所述数据流进行随机化处理,产生具有“0”和“1”字符序列的随机化数据流;
把随机化数据流映射为具有多行和多列的数字二维位图,使得所述数据流中每个块内的每个数据位和同一块中的所有其它数据位间隔至少一行和一列;
格式化所述数字二维位图,产生基于象素的具有数据象素的二维位图;及
把格式化位图印刷到所述印刷介质上。
9.按照权利要求8所述的方法,其特征在于所述随机化步骤包括用备选指定密钥反复对所述数据流进行随机化处理,直到随机化数据流中“0”和“1”字符的分布基本均匀为止的步骤。
10.按照权利要求8所述的方法,其特征在于还包括压缩所述信息的步骤。
11.按照权利要求8所述的方法,其特征在于还包括向所述数据流中加入纠错码数据位的步骤。
12.按照权利要求8所述的方法,其特征在于还包括复制所述数据流,以产生用于编码时改善可靠性的冗余数据的步骤。
13.一种对以表示编码数据位的多行多列数据象素的位图形式印刷在印刷介质上的随机化信息进行解码的方法,每个所述数据象素为第一种颜色或第二种颜色,所述印刷介质上还具有其它印刷信息,该方法包括下述步骤:
扫描所述印刷介质以数字化所述位图及所述其它信息;
把所述位图及所述其它信息格式化为基于象素的灰度表现;
根据所述灰度表现设定门限强度水平,使得高于所述门限值的象素对应于所述第一颜色,低于所述门限值的象素对应于所述第二种颜色;
通过确定扫描的印刷介质的各行、各列中第一颜色象素的数目,并分别顺序把各行、各列中的第一象素的数目预定门限值进行比较,确定行边界和列边界;
确定所述数字化位图的偏斜角;
对所述数字化位图解偏斜,以使所述偏斜角基本上降到0;
修剪所述数字化位图;
以预定模式从所述数字化位图中读出二进制数据,以产生数字数据的一维阵列;
对数字数据的所述一维阵列进行解随机化处理;及
对数字数据的解随机化一维阵列纠错,产生编码信息的基本无错的数字表示。
14.一种对以表示编码数据位的多行多列数据象素的位图形式印刷在印刷介质上的随机化信息进行解码的方法,每个所述数据象素为第一种颜色或第二种颜色,该方法包括下述步骤:
扫描所述印刷介质以数字化所述位图;
把所述位图格式化为基于象素的灰度表现;
根据所述灰度表现设定门限强度水平,使得高于所述门限值的象素对应于所述第一颜色,低于所述门限值的象素对应于所述第二种颜色;
借助模板匹配法或者霍夫变换法确定所述数字化位图的偏斜角;
对所述数字化位图解偏斜,以使所述偏斜角基本上降至0;
修剪所述数字化位图;
以预定模式从所述数字化位图中读出二进制数据,以产生数字数据的一维阵列;
对数字数据的所述一维阵列进行解随机化处理;及
对数字数据的解随机化一维阵列纠错以产生编码信息的基本无错的数字表示。
15.一种对以表示编码数据位的多行多列数据象素的位图形式印刷在印刷介质上的随机化信息进行解码的方法,每个所述数据象素为第一种颜色或第二种颜色,该方法包括下述步骤:
扫描所述印刷介质以数字化所述位图;
把所述位图格式化为基于象素的灰度表现;
根据所述灰度表现设定门限强度水平,使得高于所述门限值的象素对应于所述第一颜色,低于所述门限值的象素对应于所述第二种颜色;
确定所述数字化位图的偏斜角;
借助剪切旋转法或者三角法对所述数字化位图解偏斜,以使所述偏斜角基本上降至0;
修剪所述数字化位图;
以预定模式从所述数字化位图中读出二进制数据,以产生数字数据的一维阵列;
对数字数据的所述一维阵列进行解随机化处理;及
对数字数据的解随机化一维阵列纠错以产生编码信息的基本无错的数字表示。
16.一种对以表示编码数据位的多行多列数据象素的位图形式印刷在印刷介质上的随机化信息进行解码的方法,每个所述数据象素为第一种颜色或者为第二种颜色,该方法包括下述步骤:
扫描所述印刷介质以数字化所述位图;
把所述位图格式化为基于象素的灰度表现;
根据所述灰度表现设定门限强度水平,使得高于所述门限值的象素对应于所述第一颜色,低于所述门限值的象素对应于所述第二种颜色;
确定所述数字化位图的偏斜角;
对所述数字化位图解偏斜,以使所述偏斜角基本上降至0;
修剪所述数字化位图;
沿着四个备选方向以预定模式从所述数字化位图中读出二进制数据,以产生数字数据的四种备选一维阵列;
对数字数据的所述四种一维阵列进行解随机化处理;及
对数字数据的所述四种解随机化一维阵列纠错,并选择错误量最少的数字数据一维阵列用于解码信息输出。
17.一种对以表示编码数据位的多行多列数据象素的位图形式印刷在印刷介质上的随机化信息进行解码的方法,每个所述数据象素为第一种颜色或者为第二种颜色,该方法包括下述步骤:
扫描所述印刷介质以数字化所述位图;
把所述位图格式化为基于象素的灰度表现;
根据所述灰度表现设定门限强度水平,使得高于所述门限值的象素对应于所述第一颜色,低于所述门限值的象素对应于所述第二种颜色;
确定所述数字化位图的偏斜角;
对所述数字化位图解偏斜,以使所述偏斜角基本上降至0;
修剪所述数字化位图;
以预定模式从所述数字化位图中读出二进制数据,以产生数字数据的一维阵列;
利用备选指定密钥对所述数字数据一维阵列进行解随机化处理及纠错,直到确定的错误低于预定水平为止。
18.按照权利要求13、15、16或17所述的方法,其特征在于所述偏斜角确定步骤使用模板匹配法或者霍夫变换法。
19.按照权利要求13、14、16或17所述的方法,其特征在于所述解偏斜步骤使用剪切旋转法或者三角法。
20.按照权利要求13、14或15所述的方法,其特征在于所述读取步骤沿着产生四种备选数字数据一维阵列的四个备选方向的每个方向读取所述二进制数据,所述纠错步骤选择错误量最少的数字数据一维阵列用于输出。
21.按照权利要求13、14或15所述的方法,其特征在于所述解随机处理步骤利用备选指定密钥反复对所述数字数据一维阵列进行解随机处理,直到所述纠错步骤检测到的错误低到预定门限值为止。
22.按照权利要求13、14、15、16或17所述的方法,其特征在于所述读取步骤包括下述步骤:
确定所述位图各个相应行和列中的水平边缘及垂直边缘的数目;
根据水平边缘计数中的局部最小值确定行中心线;
根据垂直边缘计数中的局部最小值确定列中心线;及
以预定模式读出各个行中心线和列中心线交点处的二进制数据,产生所述数字化位图的一维数字表示。
CNB991068963A 1998-06-01 1999-05-31 无边框、无时钟二维条形码及印刷和读取该条形码的方法 Expired - Fee Related CN1161705C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US088189 1987-08-21
US09/088,189 US6201901B1 (en) 1998-06-01 1998-06-01 Border-less clock free two-dimensional barcode and method for printing and reading the same
US088,189 1998-06-01

Publications (2)

Publication Number Publication Date
CN1245944A CN1245944A (zh) 2000-03-01
CN1161705C true CN1161705C (zh) 2004-08-11

Family

ID=22209897

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB991068963A Expired - Fee Related CN1161705C (zh) 1998-06-01 1999-05-31 无边框、无时钟二维条形码及印刷和读取该条形码的方法

Country Status (7)

Country Link
US (3) US6201901B1 (zh)
EP (1) EP0962883B1 (zh)
JP (1) JP2000132651A (zh)
CN (1) CN1161705C (zh)
CA (1) CA2271523A1 (zh)
DE (1) DE69929572T2 (zh)
HK (1) HK1024550A1 (zh)

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7028899B2 (en) * 1999-06-07 2006-04-18 Metrologic Instruments, Inc. Method of speckle-noise pattern reduction and apparatus therefore based on reducing the temporal-coherence of the planar laser illumination beam before it illuminates the target object by applying temporal phase modulation techniques during the transmission of the plib towards the target
ATE334452T1 (de) * 1998-11-06 2006-08-15 Datalogic Spa Verfahren zur korrektur der verzerrung beim abtasten eines optischen codes
JP3458737B2 (ja) * 1998-11-27 2003-10-20 株式会社デンソー 2次元コードの読取方法及び記録媒体
US6565003B1 (en) 1998-12-16 2003-05-20 Matsushita Electric Industrial Co., Ltd. Method for locating and reading a two-dimensional barcode
GB2388230B (en) * 1998-12-16 2003-12-17 Matsushita Electric Ind Co Ltd A method for locating and reading a two-dimensional barcode
US6082619A (en) * 1998-12-16 2000-07-04 Matsushita Electric Industrial Co., Ltd. Method for locating and reading a two-dimensional barcode
JP2000341501A (ja) * 1999-03-23 2000-12-08 Minolta Co Ltd 画像処理装置および画像処理方法、ならびに画像処理プログラムを記録した記録媒体
US7406214B2 (en) 1999-05-19 2008-07-29 Digimarc Corporation Methods and devices employing optical sensors and/or steganography
US6825945B1 (en) 1999-05-25 2004-11-30 Silverbrook Research Pty Ltd Method and system for delivery of a brochure
US6674919B1 (en) * 1999-09-21 2004-01-06 Matsushita Electric Industrial Co., Ltd. Method for determining the skew angle of a two-dimensional barcode
US8391851B2 (en) 1999-11-03 2013-03-05 Digimarc Corporation Gestural techniques with wireless mobile phone devices
US6880755B2 (en) * 1999-12-06 2005-04-19 Xerox Coporation Method and apparatus for display of spatially registered information using embedded data
US6935562B2 (en) 1999-12-06 2005-08-30 Xerox Corporation Operations on images having glyph carpets
US6678425B1 (en) * 1999-12-06 2004-01-13 Xerox Corporation Method and apparatus for decoding angular orientation of lattice codes
US6708064B2 (en) * 2000-02-24 2004-03-16 Ali R. Rezai Modulation of the brain to affect psychiatric disorders
US20060082557A1 (en) * 2000-04-05 2006-04-20 Anoto Ip Lic Hb Combined detection of position-coding pattern and bar codes
US6751352B1 (en) * 2000-05-25 2004-06-15 Hewlett-Packard Development Company, L.P. Method and apparatus for generating and decoding a visually significant barcode
US7107453B2 (en) * 2000-05-25 2006-09-12 Hewlett-Packard Development Company, L.P. Authenticatable graphical bar codes
US20020016750A1 (en) * 2000-06-20 2002-02-07 Olivier Attia System and method for scan-based input, storage and retrieval of information over an interactive communication network
US6456798B1 (en) * 2000-08-09 2002-09-24 Eastman Kodak Company Barcode and data storage arrangement on a photographic element
JP3766586B2 (ja) * 2000-10-02 2006-04-12 株式会社日立製作所 光学エンジン、映像表示装置及び色切替方法
US6938017B2 (en) * 2000-12-01 2005-08-30 Hewlett-Packard Development Company, L.P. Scalable, fraud resistant graphical payment indicia
US7075676B2 (en) * 2000-12-19 2006-07-11 Sharp Laboratories Of America, Inc. Method for attaching file as a barcode to the printout
US7411593B2 (en) * 2001-03-28 2008-08-12 International Business Machines Corporation Image rotation with substantially no aliasing error
US6814289B2 (en) * 2001-05-30 2004-11-09 Sandia Corporation Self-registering spread-spectrum barcode method
US6722567B2 (en) * 2001-06-07 2004-04-20 Hewlett-Packard Development Company, L.P. Generating and decoding graphical bar codes
US6895116B2 (en) * 2001-06-07 2005-05-17 Hewlett-Packard Development Company, L.P. Automatically extracting graphical bar codes
US20030072639A1 (en) * 2001-10-17 2003-04-17 Applied Materials, Inc. Substrate support
US6631012B2 (en) * 2001-12-11 2003-10-07 Pitney Bowes Inc. Apparatus and method for printing two-dimensional barcode and articles incorporating such barcode
US7228428B2 (en) * 2001-12-14 2007-06-05 Xerox Corporation Method and apparatus for embedding encrypted images of signatures and other data on checks
ATE408202T1 (de) * 2002-02-04 2008-09-15 Baumer Optronic Gmbh Redundanter zweidimensionaler code und decodierverfahren
US7085432B2 (en) * 2002-06-10 2006-08-01 Lockheed Martin Corporation Edge detection using Hough transformation
US7236979B2 (en) * 2002-06-26 2007-06-26 Microsoft Corporation Menu-less system and method for interactively manipulating and reformatting data entered in a tabular format in a data processing application
CN100433038C (zh) * 2002-07-08 2008-11-12 威泰克公司 用于读取具有编码信息的符号的方法
CN1396538A (zh) 2002-08-07 2003-02-12 深圳矽感科技有限公司 文字图表等一般载体上的信息电子化的方法及其系统
CN106648146B (zh) * 2002-09-26 2021-02-02 吉田健治 点图形、使用点图形的信息重放及输入输出方法
US7305131B2 (en) * 2002-10-01 2007-12-04 Hewlett-Packard Development Company, L.P. Extracting graphical bar codes from an input image
US7270266B2 (en) * 2003-04-07 2007-09-18 Silverbrook Research Pty Ltd Card for facilitating user interaction
CN1217291C (zh) * 2003-04-23 2005-08-31 上海龙贝信息科技有限公司 全方位信息同步二维条形码系统及识读方法
CN1458619A (zh) * 2003-05-30 2003-11-26 上海龙贝信息科技有限公司 双向可读二维条形码系统及其识读方法
US7156311B2 (en) * 2003-07-16 2007-01-02 Scanbuy, Inc. System and method for decoding and analyzing barcodes using a mobile device
JP3635374B1 (ja) * 2003-11-14 2005-04-06 有限会社Sires デジタル情報坦体
US7387250B2 (en) * 2003-12-04 2008-06-17 Scanbuy, Inc. System and method for on the spot purchasing by scanning barcodes from screens with a mobile device
CN100383818C (zh) * 2004-03-12 2008-04-23 上海龙贝信息科技有限公司 编码区域长宽比例连续可变的二维条形码系统
US7296747B2 (en) * 2004-04-20 2007-11-20 Michael Rohs Visual code system for camera-equipped mobile devices and applications thereof
US20050246196A1 (en) * 2004-04-28 2005-11-03 Didier Frantz Real-time behavior monitoring system
US8215556B2 (en) * 2004-06-28 2012-07-10 Konica Minolta Laboratory U.S.A., Inc. Color barcode producing, reading and/or reproducing method and apparatus
US8843978B2 (en) * 2004-06-29 2014-09-23 Time Warner Cable Enterprises Llc Method and apparatus for network bandwidth allocation
US7309015B2 (en) * 2004-07-14 2007-12-18 Scanbuy, Inc. Mobile device gateway providing access to instant information
US7533817B2 (en) * 2004-08-09 2009-05-19 Konica Minolta Systems Laboratory, Inc. Color barcode producing method and apparatus, color barcode reading method and apparatus and color barcode reproducing method and apparatus
US20060043189A1 (en) * 2004-08-31 2006-03-02 Sachin Agrawal Method and apparatus for determining the vertices of a character in a two-dimensional barcode symbol
US7267272B2 (en) * 2004-09-28 2007-09-11 Markem Corporation Variable stride bit blitting
TWI276986B (en) 2004-11-19 2007-03-21 Au Optronics Corp Handwriting input apparatus
US20060119898A1 (en) * 2004-12-07 2006-06-08 Lexmark International, Inc. Methods for providing encoded visual borders on a scannable document
US20060157574A1 (en) * 2004-12-21 2006-07-20 Canon Kabushiki Kaisha Printed data storage and retrieval
US7437120B2 (en) * 2005-01-31 2008-10-14 Xerox Corporation Optical sensor for monitoring motion of a blank sheet
US7567565B2 (en) * 2005-02-01 2009-07-28 Time Warner Cable Inc. Method and apparatus for network bandwidth conservation
US7523855B2 (en) * 2005-03-28 2009-04-28 Konica Minolta Systems Laboratory, Inc. Systems and methods for preserving and maintaining document integrity
US7669769B2 (en) * 2005-03-28 2010-03-02 Konica Minolta Systems Laboratory, Inc. Systems and methods for preserving and maintaining document integrity
ITMI20050824A1 (it) * 2005-05-06 2006-11-07 Secure Edge S R L Codice grafico bidimensionale ad alta densita' e sistema di codifica e sistema di decodifica basati su tale codice
WO2006136205A1 (en) * 2005-06-21 2006-12-28 E + E Holding Bv Method and apparatus for printing barcodes
CN100369059C (zh) * 2006-01-18 2008-02-13 冯文伦 一种矩阵式二维条码及其编码解码方法
US8016187B2 (en) * 2006-02-21 2011-09-13 Scanbury, Inc. Mobile payment system using barcode capture
US8150163B2 (en) * 2006-04-12 2012-04-03 Scanbuy, Inc. System and method for recovering image detail from multiple image frames in real-time
US7689004B2 (en) * 2006-09-12 2010-03-30 Seiko Epson Corporation Method and apparatus for evaluating the quality of document images
US7766241B2 (en) * 2006-09-29 2010-08-03 Konica Minolta Systems Laboratory, Inc. Barcode for two-way verification of a document
US7628330B2 (en) * 2006-09-29 2009-12-08 Konica Minolta Systems Laboratory, Inc. Barcode and decreased-resolution reproduction of a document image
US8172144B2 (en) * 2007-05-14 2012-05-08 Konica Minolta Business Technologies, Inc. Media storing code detecting program, code detecting method, and image forming apparatus
GB2451436B (en) * 2007-07-27 2012-09-19 Hewlett Packard Development Co An encoder and decoder and methods of encoding and decoding sequence information
US8249391B2 (en) * 2007-08-24 2012-08-21 Ancestry.com Operations, Inc. User interface method for skew correction
JP5002497B2 (ja) * 2008-03-11 2012-08-15 株式会社Pfu 画像処理装置、画像処理方法および画像処理プログラム
JP2010028309A (ja) * 2008-07-16 2010-02-04 Canon Inc 装置、方法、プログラムおよび記憶媒体
US9547799B2 (en) * 2008-07-17 2017-01-17 Sharp Laboratories Of America, Inc. Methods and systems for content-boundary detection
US8370759B2 (en) 2008-09-29 2013-02-05 Ancestry.com Operations Inc Visualizing, creating and editing blending modes methods and systems
WO2011001439A2 (en) * 2009-07-02 2011-01-06 Hewlett-Packard Development Company, L.P. Skew detection
US8531401B2 (en) 2009-08-13 2013-09-10 Hewlett-Packard Development Company, L.P. Computer accessory device
US20110066504A1 (en) * 2009-09-17 2011-03-17 Ehud Chatow System for providing promotion information
US8873864B2 (en) * 2009-12-16 2014-10-28 Sharp Laboratories Of America, Inc. Methods and systems for automatic content-boundary detection
US9104934B2 (en) 2010-03-31 2015-08-11 Hand Held Products, Inc. Document decoding system and method for improved decoding performance of indicia reading terminal
US9298964B2 (en) 2010-03-31 2016-03-29 Hand Held Products, Inc. Imaging terminal, imaging sensor to determine document orientation based on bar code orientation and methods for operating the same
JP2011227543A (ja) * 2010-04-15 2011-11-10 Panasonic Corp 帳票処理装置及び帳票処理方法及び記録媒体
US8413903B1 (en) * 2011-04-27 2013-04-09 A9.Com, Inc. Decoding barcodes
CN104518800B (zh) * 2013-09-26 2018-05-08 北大方正集团有限公司 电子监管码的数据压缩方法及装置
CN103530669A (zh) * 2013-11-08 2014-01-22 成都博格科技有限公司 一种数据信息的二维码编码方法
US9324000B2 (en) * 2014-07-25 2016-04-26 Ca, Inc. Identifying objects in an image using coded reference identifiers
WO2016032524A1 (en) * 2014-08-29 2016-03-03 Hewlett-Packard Development Company, Lp Image processing
US10504230B1 (en) 2014-12-19 2019-12-10 Amazon Technologies, Inc. Machine vision calibration system with marker
CN105187686B (zh) * 2015-09-07 2018-11-09 华东师范大学 一种基于cis扫描的图像采集、识别及阅读方法与系统
JP2018055496A (ja) * 2016-09-29 2018-04-05 日本電産サンキョー株式会社 媒体認識装置および媒体認識方法
KR101893520B1 (ko) * 2016-12-19 2018-08-30 한국전자통신연구원 2차원 바코드 생성 장치, 2차원 바코드 정보 추출 장치 및 2차원 바코드 생성 방법
CN110569946B (zh) * 2019-09-05 2022-06-10 福州三龙喷码科技有限公司 一种适用于喷码机的qr码生成方法
DE102020107207A1 (de) 2020-03-17 2021-09-23 Krones Aktiengesellschaft Etikettensatz, Vorrichtung und Verfahren zur Erkennung von Varianten von Etiketten

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5073954A (en) 1989-02-28 1991-12-17 Electrocom Automation, Inc. Bar code location and recognition processing system
US5153928A (en) 1989-06-09 1992-10-06 Casio Computer Co., Ltd. Method and apparatus for recording/reproducing mesh pattern data
US5065437A (en) 1989-12-08 1991-11-12 Xerox Corporation Identification and segmentation of finely textured and solid regions of binary images
US5091966A (en) 1990-07-31 1992-02-25 Xerox Corporation Adaptive scaling for decoding spatially periodic self-clocking glyph shape codes
CA2077969C (en) * 1991-11-19 1997-03-04 Daniel P. Huttenlocher Method of deriving wordshapes for subsequent comparison
US5487115A (en) 1992-05-14 1996-01-23 United Parcel Service Method and apparatus for determining the fine angular orientation of bar code symbols in two-dimensional CCD images
US5337362A (en) 1993-04-15 1994-08-09 Ricoh Corporation Method and apparatus for placing data onto plain paper
US5862260A (en) * 1993-11-18 1999-01-19 Digimarc Corporation Methods for surveying dissemination of proprietary empirical data
USD377501S (en) 1994-01-14 1997-01-21 Computer Based Controls, Inc. Font of machine readable patterns
JP2938338B2 (ja) * 1994-03-14 1999-08-23 株式会社デンソー 二次元コード
US6006993A (en) * 1994-08-17 1999-12-28 Metrologic Instruments, Inc. Holographic laser scanning system for carrying out laser beam scanning operations with improved scan angle multiplication efficiency and carrying out light collection operations with improved light collection efficiency
US5517587A (en) * 1994-09-23 1996-05-14 International Business Machines Corporation Positioning method and apparatus for line scanned images
US5737442A (en) * 1995-10-20 1998-04-07 Bcl Computers Processor based method for extracting tables from printed documents
US5862270A (en) 1995-12-08 1999-01-19 Matsushita Electric Industrial Co., Ltd. Clock free two-dimensional barcode and method for printing and reading the same
US5974199A (en) * 1997-03-31 1999-10-26 Eastman Kodak Company Method for scanning and detecting multiple photographs and removing edge artifacts
US6014464A (en) * 1997-10-21 2000-01-11 Kurzweil Educational Systems, Inc. Compression/ decompression algorithm for image documents having text graphical and color content

Also Published As

Publication number Publication date
HK1024550A1 (en) 2000-10-13
JP2000132651A (ja) 2000-05-12
DE69929572T2 (de) 2006-08-10
EP0962883B1 (en) 2006-01-25
CA2271523A1 (en) 1999-12-01
EP0962883A2 (en) 1999-12-08
DE69929572D1 (de) 2006-04-13
US6201901B1 (en) 2001-03-13
US20010007116A1 (en) 2001-07-05
US20010005867A1 (en) 2001-06-28
CN1245944A (zh) 2000-03-01
US6418244B2 (en) 2002-07-09
EP0962883A3 (en) 2002-05-22

Similar Documents

Publication Publication Date Title
CN1161705C (zh) 无边框、无时钟二维条形码及印刷和读取该条形码的方法
US5862270A (en) Clock free two-dimensional barcode and method for printing and reading the same
US6082619A (en) Method for locating and reading a two-dimensional barcode
US6565003B1 (en) Method for locating and reading a two-dimensional barcode
US8152070B2 (en) Two-dimensional symbol and method for reading same
US20110052094A1 (en) Skew Correction for Scanned Japanese/English Document Images
US8275168B2 (en) Orientation free watermarking message decoding from document scans
Daraee et al. Watermarking in binary document images using fractal codes
JPH0766429B2 (ja) セルフクロッキング記号形状コードを使用した記録方法
AU2007254619B2 (en) Barcode removal
CN1326165A (zh) 用于产生和解码视觉明显的条形码的方法和装置
CN1215430C (zh) 在照片上实现容错数据存储的方法和设备
CN1708769A (zh) 可能控制纠错码的等级的具有高级解码特性的二维码、和用于编码和解码该二维码的方法
CN1294519C (zh) 二维条码的编码和解码方法
WO2010031110A1 (en) Data storage device and encoding/decoding methods
US6839450B2 (en) Detecting halftone modulations embedded in an image
US20070246542A1 (en) Document element repair
CN100498834C (zh) 一种数字水印嵌入与提取方法及装置
US8544741B2 (en) Data block offset encoding method for coordinates
KITAZAWA et al. An improvement of a single-dot method for an information-hiding method by applying an error-correcting code

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