首页> 中国专利> 生成二维条码的方法、生成二维条码的装置、读取二维条码的方法、读取二维条码的装置、二维条码及程序

生成二维条码的方法、生成二维条码的装置、读取二维条码的方法、读取二维条码的装置、二维条码及程序

摘要

生成二维条码的方法,包括:获得包括第一数据码字和错误纠正码字的数据块,该第一数据码字具有第一信息,该错误纠正码字能够检测和纠正所述第一数据码字的错误;获得用第二数据码字替换所述数据块的一部分的替换数据块,该第二数据码字具有第二信息;以及根据所述替换数据块生成二维条码。读取二维条码的方法,包括:读取二维条码;从替换数据块中的预定位置提取第二数据码字;从提取的所述第二数据码字获得所述第二信息;根据所述替换数据块获得所述第一数据码字;以及从获得的所述第一数据码字获得所述第一信息。

著录项

  • 公开/公告号CN105706118A

    专利类型发明专利

  • 公开/公告日2016-06-22

    原文格式PDF

  • 申请/专利权人 凸版TDK标签株式会社;

    申请/专利号CN201480058953.1

  • 发明设计人 西崎传生;

    申请日2014-10-09

  • 分类号G06K19/06(20060101);G06K1/12(20060101);G06K7/14(20060101);

  • 代理机构44224 广州华进联合专利商标代理有限公司;

  • 代理人黎艳;王程

  • 地址 日本东京

  • 入库时间 2023-12-18 15:41:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-10-27

    未缴年费专利权终止 IPC(主分类):G06K19/06 专利号:ZL2014800589531 申请日:20141009 授权公告日:20190104

    专利权的终止

  • 2019-10-11

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06K19/06 变更前: 变更后: 申请日:20141009

    专利权人的姓名或者名称、地址的变更

  • 2019-01-04

    授权

    授权

  • 2016-07-20

    实质审查的生效 IPC(主分类):G06K19/06 申请日:20141009

    实质审查的生效

  • 2016-06-22

    公开

    公开

说明书

技术领域

本发明涉及秘密信息隐藏在二维条码中的技术,该二维条码使用图形表示信息。

背景技术

作为读取图形代码和恢复包含在代码中的信息的二维条码技术,存在例如,日本工业标准(JIS)X0510:2004“二维符号-QR码”。此外,开发了将秘密信息(其为不要显示的信息)隐藏在这样的二维条码中的技术。将秘密信息隐藏在这样的具有标准外观的二维条码中的技术有助于开发处理密码密钥信息或个人信息所需的行业应用。

[专利文献1]公开了在由黑白图案组成的加密矩阵二维条码中,用于解码的密钥由多个变形单元格所表示,这些变形单元格具有不同于标准单元格的形状和密度的技术。

[专利文献2]公开了加密的二维条码的解密密钥代码图案按以下配置重叠的技术,其中,在生成的二维条码图案上的数据代码字区域和纠正代码字区域中的至少任何一个区域上覆写密钥代码图案。

[专利文献3]公开了按以下方式生成代码图形的技术。如果编码为表示数据的代码字的数据代码字的总数小于生成二维条码的代码字的预定总数,那么在前面的代码字区域旁边放置终止符。此外,放置秘密数据代码取代应当放置在终止符旁边的一部分填充码。

引文列表

[专利文献]

[专利文献1]公开号为2006-4378的未经审查的日本专利申请;

[专利文献2]公开号为2009-93443的未经审查的日本专利申请;

[专利文献3]公开号为2009-9547的未经审查的日本专利申请;

[非专利文献1]日本工业标准X0510:2004。

发明内容

技术问题

对于[专利文献1]和[专利文献2]的技术,在代码图案图形上生成表示要隐藏的信息的解密密钥信息的“变形单元格”或“黑白图案”,该“变形单元格”或“黑白图案”不同于那些原始的代码。并且,在预定区域或图形上的位置执行替换操作(换句话说,覆写)。

在前述的技术中,用于解码二维条码的密钥信息没有被加密。相应地,在应用同样的密码密钥的代码生成系统中,在相同的位置展现同样的“图案”。因此,存在图形代码的仔细观察提出对隐藏信息图案的质疑的可能性。这同样适用于前述“变形单元格”的情况。

由于密钥图案覆写在图形图案上,即使前述密钥“图案”放置在代码图形上的多个位置处,也在图形图案上预先确定替换位置。相应地,可以通过重叠要应用同样的密钥信息的二维条码的多个样本找到“固定部分”。

在前述技术中,编码过程需要生成用于覆写的图案图形的特殊过程。这样的过程是复杂的并且有碍加速操作。

[专利文献3]公开了一种按以下方式生成代码图形的技术。如果编码为表示数据的代码字的数据代码字的总数小于生成二维条码的代码字的预定总数,那么在前面的代码字区域旁边放置终止符。此外,放置秘密数据代码取代应当放置在终止符旁边的一部分填充码

对于这样的技术,与应当定义为填充代码的代码图案不同的数据代码被放置在填充代码的区域中。相应地,前述代码被标准通用解码器认为是非标准代码,该解码器符合基于标准的代码格式,该标准定义了如[非专利文献1]中的填充代码的代码图案。在这种情况下,由于在不要显示的数据区域中也存在非标准数据代码,因此存在无法预料的标准通用解码器的行为的可能性。

在一些情况下,如果隐藏的信息量等于或大于要显示的信息量,相比具有要显示的信息量的条码的尺寸,二维条码具有过大的尺寸,该要显示的信息量应当在标准解码过程中获得。这将使得用户不信任二维码,并且将提出对隐藏信息的质疑。

由于这些原因,已经要求新的二维条码,除了被显露的信息以外,其还能够隐藏被隐藏的信息。并且,要求适当读取这种新的二维条码的被隐藏的信息。

本发明的一个方面提供了除了被显露的信息以外还能够隐藏被隐藏的信息的二维条码。本发明的另一方面是从这种新的二维条码中适当读取被隐藏的信息。

问题的解决方案

为了实现上述优势,根据本发明的一种生存二维条码的方法包括:获得包括第一数据码字和错误纠正码字的数据块,该第一数据码字具有第一信息,该错误纠正码字能够检测和纠正所述第一数据码字的错误;获得用第二数据码字替换所述数据块的一部分的替换数据块,该第二数据码字具有第二信息;根据所述替换数据块生成二维条码。

对于如上所述生成的二维条码,虽然第一数据码字的一部分和错误纠正码字的一部分用第二数据码字替换,但是可以使用纠正码字纠正和恢复第一数据。可以从替换数据块中提取第二数据码字,该替换数据块未经错误纠正并且通过直接读取二维条码获得。根据提取的第二数据码字,可以获取第二信息。在这种情况下,如果第二信息包含被隐藏的信息,可以提供除了被显露的信息以外还能够隐藏该被隐藏的信息的二维条码。

在根据本发明的这样一种生成二维条码的方法中,所述替换数据块包括报头数据码字,并且该报头数据码字包含所述第二数据码字在所述替换数据块中的放置信息是可取的。

对于如上所述生成的二维条码,可以根据所述报头数据码字适当定位所述第二数据码字的位置。

在根据本发明的这样一种生成二维条码的方法中,所述第二数据码字和所述报头数据码字的总数不大于能够用所述错误纠正码字纠正的字数是可取的。

对于如上所述生成的二维条码,可以根据所述错误纠正码字适当纠正所述第二数据码字和所述报头数据码字。这使得可靠获得第一数据码字成为可能。

在根据本发明的这样一种生成二维条码的方法中,根据所述第二数据码字的放置信息间断地放置所述第二数据码字是可取的。

对于如上所述生成的二维条码,间断地放置所述第二数据码字可以增加该第二数据码字的隐藏能力。此外,所述放置信息使得适当识别所述第二数据码字的位置成为可能。

在根据本发明的这样一种生成二维码字的方法中,所述报头数据码字和所述第二数据码字中的至少任何一个包含纠错码字是可取的。

对于如上所述生成的二维条码,如果所述报头数据码字包含所述纠错码字,那么即使当该报头数据码字存在错误时,也可以适当纠正该报头数据码字。此外,如果所述第二数据码字包含所述纠错码字时,即使当该第二数据码字存在错误时,也可以适当纠正该第二数据码字。

在根据本发明的这样一种生成二维条码的方法中,可接受的是,在所述替换数据块中,所述第二数据码字的一部分用所述报头数据码字替换,所述第二数据码字包含能够检测和纠正该第二数据码字的错误的错误纠正码字。

对于如上所述生成的二维条码,可以根据所述报头数据码字识别所述第二数据码字的位置,并且可以通过所述错误纠正码纠正所述第二数据码字的一部分,该第二数据码字的这部分用所述报头数据码字替换。这使得从所述第二数据码字中适当获得第二信息成为可能。

在根据本发明的这样一种生成二维条码的方法中,所述第一数据码字的一部分可能包含所述报头数据码字,所述报头数据码字可能包含所述第二数据码字在所述替换数据块中的放置信息。

对于如上所述生成的二维条码,可以根据包含在所述替换数据块中的所述错误纠正码字获得所述第一数据码字。根据包含在所述第一数据码字中的所述报头数据码字,可以识别所述第二数据码字在所述替换数据块中的位置。这使得适当提取所述第二数据码字成为可能,并且使得从所述第二数据码字中提取所述第二信息成为可能。因此,可以进一步提高隐藏能力。

在根据本发明的这样一种生成二维条码的方法中,所述第一数据码字的一部分可能包含报头位置数据码字,该报头位置数据码字可能包含所述报头数据码字在所述替换数据块中的放置信息。

对于如上所述生成的二维码字,可以根据包含在所述替换数据块中的所述误差纠正码字获得所述第一数据码字。并且,根据包含在所述第一数据码字中的所述报头位置数据码字,可以识别所述报头数据码字在所述替换数据块中的位置。此外,可以从识别的所述报头数据码字的位置提取所述报头数据码字,并且可以根据所述报头数据码字识别所述第二数据码字的位置。最后,可以根据所述第二数据码字提取所述第二信息。因此,可以进一步提高隐藏能力。

此外,可以接受的是,用预定掩蔽图案掩蔽所述二维条码。并且,可以接受的是,获得所述替换数据块包括:根据掩蔽图案参考识别在所述数据块中的替换位置;并且在所述替换位置,用所述第二数据码字替换所述数据块的一部分。

对于这种方法,识别应用于所述二维条码的掩蔽图案的掩蔽图案参考用于识别在所述数据块中用所述第二数据码字替换的字的位置。由于存在多种类型的掩蔽图案,所述掩蔽图案参考可以具有多个值。因此,取决于应用的掩蔽图案,可以改变已经用所述第二数据码字替换的位置。这使得第三方难以识别所述第二数据码字的位置,并且因此可以进一步地难以提取包含在所述第二数据码字中的所述第二信息。

可以接受的是,所述二维条码用预定掩蔽图案掩蔽。并且,可以接受的是,获得所述替换数据块包括:根据掩蔽图案参考在所述数据块中定位替换位置,所述掩蔽图像参考识别所述预定掩蔽图案;在所述替换位置用所述报头数据码字替换所述数据块的一部分;在由所述报头数据码字指定的位置用所述第二数据码字替换所述数据块的一部分。

对于这样一种方法,识别应用于所述二维条码的掩蔽图案的所述掩蔽图案参考用于定位用所述报头数据码字替换的所述数据块的位置。由于存在多种类型的掩蔽图案,所述掩蔽图案参考可以具有多个值。因此,取决于应用的掩蔽图案,可以改变用所述报头数据码字替换的数据块的位置。这使得第三方难以定位所述报头数据码字的位置。由于所述报头数据码字定位所述第二数据码字的位置,因此,可以进一步地难以提取所述第二数据码字。

所述二维条码是QR码,并且所述掩蔽图案参考包含在所述QR码的格式信息中是可取的。

根据JIS,QR码的格式信息不会被标准掩蔽图案(预定掩蔽图案)掩蔽。相应地,当读取QR码时,可以适当读取包含在所述格式信息中的所述掩蔽图案参考。使用由所述掩蔽图案参考识别的预定掩蔽图案可以移除掩蔽。在移除掩蔽后获得的替换数据码字中,使用所述掩蔽图案参考使得适当定位所述第二数据码字的位置或所述报头数据码字的位置成为可能。

在根据本发明的这样一种生成二维条码的方法中,获得替换数据块可能包括:根据所述错误纠正码字识别在所述数据块中的替换位置;并且在所述替换位置,用所述第二数据码字替换所述数据块的一部分。

所述错误纠正码字是根据所述第一数据码字获得的。相应地,不同的第一数据码字导致不同的错误纠正码字。也就是说,当根据所述错误纠正码字识别所述替换位置时,如果第一数据码字是不同的,那么替换位置也是不同的。这使得第三方难以识别所述第二数据码字的位置,并且因此可以进一步地难以提取包含在所述第二数据码字中的第二信息。

在根据本发明的这样一种生成二维条码的方法中,获得所述替换数据块可能包括:根据所述错误纠正码字识别在所述数据块中的替换位置;在识别的替换位置,用所述报头数据码字替换所述数据块的一部分;以及在由所述报头数据码字指定的位置用所述第二数据码字替换所述数据块的一部分。

所述错误纠正码字是根据所述第一数据码字获得的。相应地,不同的第一数据码字导致不同的错误纠正码字。也就是说,当根据所述错误纠正码字识别所述替换位置时,如果第一数据码字是不同的,那么替换位置也是不同的。这使得第三方难以识别所述报头数据码字的位置。由于所述报头数据码字识别所述第二数据码字的位置,可以进一步地难以提取所述第二数据码字。

在根据本发明的这样一种生成二维条码的方法中,所述错误纠正码字是Reed-Solomon码是可取的。

对于如上所述生成的二维条码,由于使用了具有强大的纠错能力的Reed-Solomon码,可以适当获得所述第一数据码字。

在根据本发明的这样一种生成二维条码的方法中,该方法还包括输出生成的二维条码是可取的。

对于这种生成二维条码的方法,可以通过打印等方式输出该生成的二维条码,通过合适的解码器可以读取该生成的二维条码。

为了实现上述优势,本发明的二维条码是根据替换数据块生成的,在该替换数据块中,数据块的一部分用第二数据码字代替,该数据块包括第一数据码字和错误纠正码字,该第一数据码字具有第一信息,该错误纠正码字能够检测和纠正该第一数据码字的错误,该第二数据码字具有第二信息。

对于如上所述生成的二维条码,虽然第一数据码字的一部分和错误纠正码字的一部分用第二数据码字替换,但是可以使用纠正码字纠正和恢复第一数据。可以从替换数据块中提取第二数据码字,该替换数据块未经错误纠正并且通过直接读取二维条码获得。根据提取的第二数据码字,可以获取第二信息。在这种情况下,如果第二信息包含被隐藏的信息,可以提供除了被显露的信息以外还能够隐藏该被隐藏的信息的二维条码。

为了实现上述优势,生成根据本发明的二维条码的装置根据替换数据块生成二维条码,在该替换数据块中,数据块的一部分用第二数据码字代替,该数据块包括第一数据码字和错误纠正码字,该第一数据码字具有第一信息,该错误纠正码字能够检测和纠正该第一数据码字的错误,该第二数据码字具有第二信息。

对于如上所述生成的二维条码,虽然第一数据码字的一部分和错误纠正码字的一部分用第二数据码字替换,但是可以使用纠正码字纠正和恢复第一数据。可以从替换数据块中提取第二数据码字,该替换数据块未经错误纠正并且通过直接读取二维条码获得。根据提取的第二数据码字,可以获取第二信息。在这种情况下,如果第二信息包含被隐藏的信息,可以提供除了被显露的信息以外还能够隐藏该被隐藏的信息的二维条码。

为了实现上述优势,根据本发明的程序使得计算机执行以下过程:获得包括第一数据码字和错误纠正码字的数据块,该第一码字具有第一信息,该错误纠正码字能够检测和纠正所述第一数据码字的错误;获得用第二数据码字替换所述数据块的一部分的替换数据块,该第二数据码字具有第二信息;根据所述替换数据块生成二维条码。

对于如上所述的二维条码,虽然第一数据码字的一部分和错误纠正码字的一部分用第二数据码字替换,但是可以使用纠正码字纠正和恢复第一数据。可以从替换数据块中提取第二数据码字,该替换数据块未经错误纠正并且通过直接读取二维条码获得。根据提取的第二数据码字,可以获取第二信息。在这种情况下,如果第二信息包含被隐藏的信息,可以提供除了被显露的信息以外还能够隐藏该被隐藏的信息的二维条码。

为了实现上述优势,根据本发明的读取二维条码的方法是可取的,其包括:读取二维条码,该二维条码是根据替换数据块生成的,该替换数据块是通过用第二数据码字替换数据块的一部分获得的,该数据块包括第一数据码字和错误纠正码字,该第一数据码字具有第一信息,该第二数据码字具有第二信息,该错误纠正码字能够检测和纠正所述第一数据码字的错误;从所述替换数据块的预定位置提取所述第二数据码字;从提取的所述第二数据码字获得所述第二信息;根据所述替换数据块获得所述第一数据码字;以及从获得的所述第一数据码字获得所述第一信息。

对于这样一种读取二维条码的方法,虽然第一数据码字的一部分和错误纠正码字的一部分用第二数据码字替换,但是可以使用纠正码字纠正和恢复第一数据。可以从替换数据块中提取第二数据码字,该替换数据块未经错误纠正并且通过直接读取二维条码获得。根据提取的第二数据码字,可以获取第二信息。在这种情况下,如果第二信息包含被隐藏的信息,可以适当读取被隐藏的信息。

在根据本发明的这样一种读取二维条码的方法中,所述替换数据块包括报头数据码字,并且根据所述报头数据码字识别所述预定位置是可取的。

对于这样一种读取二维条码的方法,可以根据所述报头数据码字适当定位所述第二数据码字的位置。

在根据本发明的这样一种读取二维条码的方法中,所述第二数据码字和所述报头数据码字的总数不大于能够用所述错误纠正码字纠正的字数是可取的。

对于这样一种读取二维条码的方法,可以根据所述错误纠正码字适当纠正所述第二数据码字和所述报头数据码字。这使得可靠获得第一数据码字成为可能。

在根据本发明的这样一种读取二维条码的方法中,所述报头数据码字包含所述第二数据码字的放置信息,并且根据所述放置信息间断地放置所述第二数据码字是可取的。

对于这样一种读取二维条码的方法,间断地放置所述第二数据码字可以提高第二数据码字的隐藏能力。此外,所述放置信息使得适当识别所述第二数据码字的位置成为可能。

在根据本发明的这样一种读取二维条码的方法中,所述报头数据码字和所述第二数据码字中的至少任何一个包含纠错码字是可取的。

对于这样一种读取二维条码的方法,如果所述报头数据码字包含所述纠错码字,那么即使当该报头数据码字存在错误时,也可以适当纠正该报头数据码字。此外,如果所述第二数据码字包含所述纠错码字时,即使当该第二数据码字存在错误时,也可以适当纠正该第二数据码字。

在根据本发明的这样一种读取二维条码的方法中,在所述替换数据块中,所述第二数据码字的一部分用所述报头数据码字替换,所述第二数据码字包含能够检测和纠正该第二数据码字的错误的错误纠正码字,获得所述第二信息包括:根据所述报头数据码字识别所述预定位置,从识别的所述预定位置获得所述第二数据码字,所述第二数据码字的一部分用所述报头数据码字替换;根据包含在所述第二数据码字中的所述错误纠正码字纠正所述第二数据;从纠正的所述第二数据码字中获得所述第二信息。

对于这样一种读取二维条码的方法,可以根据所述报头数据码字识别所述第二数据码字的位置,并且可以通过所述错误纠正码纠正所述第二数据码字的一部分,该第二数据码字的这部分用所述报头数据码字替换。这使得从所述第二数据码字中适当获得第二信息成为可能。

在根据本发明的这样一种读取二维条码的方法中,所述第一数据码字的一部分包含所述报头数据码字,获得所述第二信息包括:通过纠正所述替换数据块的错误,获得所述报头数据码字;通过根据获得的所述报头数据码字识别所述第二数据码字的位置,获得所述第二数据码字,所述第二数据码字的位置在所述替换数据块中;以及从获得的所述第二数据码字中获得所述第二信息。

对于这样一种读取二维条码的方法,可以根据包含在所述替换数据块中的所述错误纠正码字获得所述第一数据码字。并且,根据包含在所述第一数据码字中的所述报头数据码字,可以识别所述第二数据码字在所述替换数据块中的位置。这使得适当提取所述第二数据码字成为可能,并且使得从所述第二数据码字中提取所述第二信息成为可能。因此,可以进一步提高隐藏能力。

在根据本发明的这样一种读取二维条码的方法中,所述第一数据码字的一部分可能包含报头位置数据码字,该报头位置数据码字识别所述报头数据码字的位置。并且,获得所述第二信息可能包括:通过纠正所述替换数据块的错误获得所述报头位置数据码字,所述报头位置数据码字包含在所述第一数据码字中;通过根据提取的所述报头位置数据码字识别所述报头数据码字的位置获得所述报头数据码字;通过根据获得的所述报头数据码字识别所述第二数据的位置获得所述第二数据码字,所述第二数据码字的位置在所述替换数据块中;以及从获得的所述第二数据码字中获得所述第二信息。

对于这样一种读取二维条码的方法,可以根据包含在所述替换数据块中的所述误差纠正码字获得所述第一数据码字。并且,根据包含在所述第一数据码字中的所述报头位置数据码字,可以识别所述报头数据码字在所述替换数据块中的位置。此外,可以从识别的所述报头数据码字的位置提取所述报头数据码字,并且可以根据所述报头数据码字识别所述第二数据码字的位置。最后,可以根据所述第二数据码字提取所述第二信息。因此,可以进一步提高隐藏能力。

在根据本发明的这样一种读取二维条码的方法中,可能用预定掩蔽图案掩蔽所述二维条码。此外,读取所述二维条码可能包括读取掩蔽图案参考,该掩蔽图案参考识别应用于所述二维条码的预定掩蔽图案。并且,从所述替换数据块中的所述预定位置提取所述第二数据码字可能包括:根据所述掩蔽图案参考在所述替换数据块中识别替换位置;以及从识别的所述替换数据块中的所述替换位置提取所述第二数据码字。

对于这样一种方法,识别应用于所述二维条码的掩蔽图案的掩蔽图案参考用于识别用所述第二数据码字替换的字的位置。由于存在多种类型的掩蔽图案,所述掩蔽图案参考可以具有多个值。因此,取决于应用的掩蔽图案,可以改变已经用所述第二数据码字替换的位置。这使得第三方难以识别所述第二数据码字的位置,并且因此可以进一步地难以提取包含在所述第二数据码字中的所述第二信息。

在根据本发明的这种读取二维条码的方法中,所述二维条码可能用预定掩蔽图案掩蔽。此外,读取所述二维条码可能包括读取掩蔽图案参考,所述掩蔽图案参考识别应用于所述二维条码的所述预定掩蔽图案。并且,从所述替换数据块中的预定位置提取所述第二数据码字可能包括:根据所述掩蔽图案参考识别在所述替换数据块中的替换位置;从识别的所述替换数据块中的所述替换位置提取所述报头数据码字;以及从由提取的所述替换数据块的所述报头数据码字识别的位置提取所述第二数据码字。

对于这样一种方法,识别应用于所述二维条码的掩蔽图案的所述掩蔽图案参考用于定位用所述报头数据码字替换的所述数据块的位置。由于存在多种类型的掩蔽图案,所述掩蔽图案参考可以具有多个值。因此,取决于应用的掩蔽图案,可以改变用所述报头数据码字替换的数据块的位置。这使得第三方难以定位所述报头数据码字的位置。由于所述报头数据码字定位所述第二数据码字的位置,因此,可以进一步地难以提取所述第二数据码字。

在根据本发明的这样一种读取二维条码的方法中,所述二维条码是QR码,所述掩蔽图案参考包含在所述QR码的格式信息中是可取的。

根据JIS,QR码的格式信息不会被标准掩蔽图案(预定掩蔽图案)掩蔽。相应地,当读取QR码时,可以适当读取包含在所述格式信息中的所述掩蔽图案参考。使用由所述掩蔽图案参考识别的预定掩蔽图案可以移除掩蔽。在移除掩蔽后获得的替换数据码字中,使用所述掩蔽图案参考使得适当定位所述第二数据码字的位置或所述报头数据码字的位置成为可能。

在根据本发明的这样一种读取二维条码的方法中,从所述替换数据块中的所述预定位置提取所述第二数据码字可能包括:根据所述错误纠正码字识别所述替换数据块中的替换位置,并且从所述替换数据块中的所述替换位置提取所述第二数据码字。

所述错误纠正码字是根据所述第一数据码字获得的。相应地,不同的第一数据码字导致不同的错误纠正码字。也就是说,当根据所述错误纠正码字识别所述替换位置时,如果第一数据码字是不同的,那么替换位置也是不同的。这使得第三方难以识别所述第二数据码字的位置,并且因此可以进一步地难以提取包含在所述第二数据码字中的第二信息。

在根据本发明的这样一种读取二维条码的方法中,从所述替换数据块中的预定位置提取所述第二数据码字可能包括:根据所述错误纠正码字识别在所述替换数据块中的替换位置;从识别的所述替换数据块中的所述替换位置提取所述报头数据码字;以及从由所述替换数据块中的所述报头数据码字指定的位置提取所述第二数据码字。

所述错误纠正码字是根据所述第一数据码字获得的。相应地,不同的第一数据码字导致不同的错误纠正码字。也就是说,当根据所述错误纠正码字识别所述替换位置时,如果第一数据码字是不同的,那么替换位置也是不同的。这使得第三方难以识别所述报头数据码字的位置。由于所述报头数据码字识别所述第二数据码字的位置,可以进一步地难以提取所述第二数据码字。

在根据本发明的这样一种读取二维条码的方法中,可取的是,根据所述替换数据块获得所述第一数据码字包括使用错误纠正码字纠正所述替换数据块的错误,所述错误码字包含在所述替换数据块中。

对于这样一种读取二维条码的方法,由于使用所述错误纠正码字,可以适当获得所述第二数据码字。

在根据本发明的这样一种读取二维条码的方法中,所述错误纠正码字是Reed-Solomon码是可取的。

对于这样一种读取二维条码的方法,由于使用了具有强大的纠错能力的Reed-Solomon码,可以适当获得所述第一数据码字。

在根据本发明的这样一种读取二维条码的方法中,该方法还包括输出所述第一信息和所述第二信息中的至少任何一种是可取的。

对于这样一种读取二维条码的方法,可以获得解码的所述第一信息或解码的所述第二信息。

为了实现上述优势,可取的是,根据本发明的读取二维条码的方法包括:读取二维条码,该二维条码是根据替换数据块生成的,该替换数据块通过用第二数据码字替换数据块的一部分获得,该数据块包括第一数据码字和错误纠正码字,该第一数据码字具有第一信息,该第二数据码字具有第二信息,该错误纠正码字能够检测和纠正该第一数据码字的错误;根据所述替换数据块获得所述数据块;根据所述数据块和所述替换数据块获得所述第二数据码字;以及从获得的所述第二数据码字获得所述第二信息。

对于这样一种读取二维条码的方法,虽然第一数据码字的一部分和错误纠正码字的一部分用第二数据码字替换,但是可以使用纠正码字纠正和恢复所述第一数据。在另一方面,可以通过进行比较并通过获得替换数据块的纠正前的数据和纠正之后的数据之间的差异得到所述第二数据码字。根据获得的所述第二数据码字,可以获取所述第二信息。在这种情况下,如果所述第二信息包含被隐藏的信息,可以适当读取被隐藏的信息。

在根据本发明的读取二维条码的方法中,可取的是,根据所述数据块和所述替换数据块获得所述第二数据包括从所述替换数据块中提取一部分,该部分不是所述数据块和所述替换数据块之间相同的部分。

对于这样一种读取二维条码的方法,在所述数据块和所述替换数据块之间进行比较,不同的部分可以因此指定为所述第二数据码字。

在根据本发明的这样一种读取二维码字的方法中,可取的是,根据所述替换数据块获得所述数据块包括使用所述错误纠正码字纠正所述替换数据块的错误,所述错误纠正码字包含在所述替换数据块中。

对于这样一种读取二维条码的方法,可以使用所述错误纠正码字纠正所述替换数据块的错误,并且可以因此恢复所述未替换数据块。

在根据本发明的这样一种读取二维条码的方法中,可取的是,该方法还包括根据获得的所述数据块和所述替换数据块从所述第一数据码字中获得所述第一信息。

对于这样一种读取二维条码的方法,如果所述第一信息是被显露的信息,可以适当获取被显露的信息和被隐藏的信息。

为了实现上述优势,根据本发明的读取二维条码的装置是可取的,其包括:读取部分,其读取二维条码,该二维条码是根据替换数据块生成的,该替换数据块是通过用第二数据码字替换数据块的一部分获得的,该数据块包括第一数据码字和错误纠正码字,该第一数据码字具有第一信息,该第二数据码字具有第二信息,该错误纠正码字能够检测和纠正所述第一数据码字的错误;以及控制部分,其从所述替换数据块中的预定位置提取所述第二数据码字,从提取的所述第二数据码字获得第二信息,根据所述替换数据块获得所述第一数据码字,并且从获得的所述第一数据码字中获得所述第一信息。

对于这样一种读取二维条码的装置,虽然第一数据码字的一部分和错误纠正码字的一部分用第二数据码字替换,但是可以使用纠正码字纠正和恢复第一数据。可以从替换数据块中提取第二数据码字,该替换数据块未经错误纠正并且通过直接读取二维条码获得。根据提取的第二数据码字,可以获取第二信息。在这种情况下,所述第二信息可以包含被隐藏的信息。这使得适当读取被隐藏的信息成为可能。

为了实现上述优势,根据本发明的程序是可取的,其使得计算机执行以下过程:读取二维条码,该二维条码是根据替换数据块生成的,该替换数据块是通过用第二数据码字替换数据块的一部分获得的,该数据块包括第一数据码字和错误纠正码字,该第一数据码字具有第一信息,该第二数据码字具有第二信息,该错误纠正码字能够检测和纠正所述第一数据码字的错误;从所述替换数据块中的预定位置提取所述第二数据码字;从提取的所述第二数据码字获得第二信息;根据所述替换数据块获得所述第一数据码字;以及,从获得的所述第一数据码字中获得所述第一信息。

对于这样一种程序,虽然第一数据码字的一部分和错误纠正码字的一部分用第二数据码字替换,但是可以使用纠正码字纠正和恢复第一数据。可以从替换数据块中提取第二数据码字,该替换数据块未经错误纠正并且通过直接读取二维条码获得。根据提取的第二数据码字,可以获取第二信息。在这种情况下,所述第二信息可以包含被隐藏的信息。这使得适当读取被隐藏的信息成为可能。

发明的有益效果

对于按前述方式配置的二维条码,虽然第一数据码字的一部分和错误纠正码字的一部分用第二数据码字替换,但是可以使用纠正码字纠正和恢复第一数据。可以从替换数据块中提取第二数据码字,该替换数据块未经错误纠正并且通过直接读取二维条码获得。根据提取的第二数据码字,可以获取第二信息。在这种情况下,如果所述第二信息包含被隐藏的信息,那么可以提供除了被显露的信息以外还能够隐藏被隐藏的信息的二维条码。

对于读取二维条码的前述方法,虽然第一数据码字的一部分和错误纠正码字的一部分用第二数据码字替换,但是可以使用纠正码字纠正和恢复第一数据。可以从替换数据块中提取第二数据码字,该替换数据块未经错误纠正并且通过直接读取二维条码获得。根据提取的第二数据码字,可以获取第二信息。在这种情况下,所述第二信息可以包含被隐藏的信息。这使得适当读取被隐藏的信息成为可能。

附图说明

图1为QR码符号1的示意图;

图2为根据第一实施例的增强的编码器10的方框图;

图3为根据第一实施例的RS块的示意图;

图4为根据第一实施例的生成QR码符号的方法的流程图;

图5为RS块的示意图;

图6为隐藏信息字的示意图;

图7为在根据第一实施例的过程中如何替换RS块的一部分的第一示意图;

图8为增强的解码器20的方框图;

图9为根据第一实施例的读取QR码符号的方法的流程图;

图10为提取隐藏信息字的方法的示意图;

图11为提取原始数据的方法的示意图;

图12为在根据第一实施例的过程中如何替换RS块的一部分的第二示意图;

图13为在根据第一实施例的过程中如何替换RS块的一部分的第三示意图;

图14为根据第二实施例的RS块的概念图;

图15为根据第二实施例的报头和隐藏信息字的示意图;

图16为在根据第二实施例的过程中如何替换RS块的一部分的第一示意图;

图17为在根据第二实施例的过程中如何替换RS块的一部分的第二示意图;

图18为在根据第二实施例的过程中如何替换RS块的一部分的第三示意图;

图19为在根据第三实施例的过程中如何替换RS块的一部分的示意图;

图20为在根据第四实施例的过程中如何替换RS块的一部分的示意图;

图21为在根据第五实施例的过程中如何替换RS块的一部分的示意图;

图22为在根据第六实施例的过程中如何替换RS块的一部分的第一示意图;

图23为在根据第六实施例的过程中如何替换RS块的一部分的第二示意图;

图24为在根据第六实施例的过程中如何替换RS块的一部分的第三示意图;

图25为有数据丢失的RS块的示意图;

图26为如何恢复始端丢失的RS块的示意图;

图27为如何恢复末端丢失的RS块的示意图;

图28为如何恢复两端丢失的RS块的示意图;

图29为根据第七实施例的生成QR码符号的方法的流程图;

图30为在根据第七实施例的过程中如何替换RS块的一部分的示意图;

图31为根据第七实施例的读取QR码符号的方法的流程图;

图32为在根据第八实施例的过程中如何替换RS块的一部分的示意图;

图33为在根据第九实施例的过程中如何替换RS块的一部分的第一示意图;

图34为在根据第九实施例的过程中如何替换RS块的一部分的第二示意图。

具体实施方式

第一实施例

以下将描述根据第一实施例的二维条码。作为二维条码的一个例子,以下将描述QR码。然而,二维条码可能是Datamatrix、MaxiCode、VeriCode、Karuracode、CPcode等等。

除非另有说明,以下说明符合日本工业标准X0510:2004“二维符号——QR码”(以下简称为“JIS”)。符合JIS的编码器称为标准编码器,符合JIS的解码器称为标准解码器。可以处理根据第一实施例的隐藏信息的编码器称为增强的编码器,并且这样的解码器称为增强的解码器。以下将区分这些装置。

在以下说明中,“码字”是八位长。但是,取决于系统,“码字”的位长可能是不同的,如16位、1位等。

图1为QR码符号1的示意图。该QR码1具有从版本1到版本40范围的变化的尺寸,在本例子中将描述版本“2”的QR码的功能。

QR码1具有功能图案和编码区域。该功能图案是定位QR码符号的位置和识别该QR码符号的特征所需的图案;该定位和识别是帮助解码QR码的模块所必需的。编码区域是写入必要信息的区域。

功能图案包括定位图案FP、分隔符SP、时序图案TP、对准图案AP和空白区QZ。

定位图案FP分别位于QR码符号的至少三个角。在读取的时候,识别三个定位图案FP,使得QR码符号的方位和位置可以被精确指定。

每个分隔符SP均为一个模块宽度的明亮模块,并且均位于每个定位图案FP周围。这使得将定位图案FP与QR码符号的其他部分分离称为可能。

模块M是构成QR码符号1的单元格。原则上,一个位相当于一个模块。

时序图案TP均为明暗模块逐一交替地排成一行的图案。采用该时序图案TP,可以识别QR码符号1的模块的数量。因此,可以识别QR码的版本。

对准图案Ap是位于根据QR码的版本定义的位置的图案。在大的模块的情况下,对准图案AP有助于定位QR码符号1的位置。

空白区域QZ是至少4个模块宽度的明亮模块区域,并且位于QR码的周围。

编码区域包括数据、错误纠正码字、格式信息FI和版本信息VI。在本例子中,数据是实际数据,错误纠正码字是用于纠正由数据的错读造成的错误的码字。格式信息FI包含关于应用于QR符号1的错误纠正等级的信息,和关于用于QR码符号1的掩蔽图案的信息。格式信息FI是解码编码区域所需的编码图案。版本信息VI具有QR码的版本信息。

图2为根据第一实施例的增强的编码器10的方框图。该增强的编码器10是将要显示的信息和隐藏信息转换为QR码符号1的装置。增强的编码器10包括控制部分11、显示装置13、打印装置14和输入装置15。

控制部分11包括操作部分11a和存储部分11b。操作部分11a由中央处理单元等等组成,并且起到执行程序和执行各种操作的作用。存储部分11b存储执行程序必须的数据。具体地,存储部分11b存储用于执行(后面要描述的)生成QR码的方法的程序。

显示装置13具有在输出数据等的时候必须的显示功能。显示装置13通过显示生成的QR码符号1进行输出。并且,打印装置14还通过打印生成的QR码符号1进行输出。输入装置15用于输入数据,还用于操作增强的编码器10。

可以通过向计算机、移动电话或智能电话等通用装置安装程序实现增强的编码器10的配置,该程序用于执行(后面要描述的)生成QR码的方法。

图3为根据第一实施例的RS块的示意图。首先,将参照图3简单描述根据第一实施例的QR码的数据格式。图3展示了Reed-Solomon(RS)块,其充当用于错误纠正的单元。每个QR码符号1包含一个或多个RS块。单个RS块是用于错误纠正的单元。

在这里所述的实施例中,由于采用了使用Reed-Solomon(RS)码的错误纠正,“RS块”描述为用于检测和纠正错误的操作的单元块的例子。

RS块包含由要显示的原始数据、终止符和填充码字组成的数据码字(对应于第一数据码字)。RS块还包含Reed-Solomon(RS)码,其用作纠正码字(对应于纠正码字)。原始数据是当读取QR码符号时可以由标准解码器解码的一条信息。终止符是表示原始数据的结束的代码。填充码字是当原始数据的码字的总数没有到达QR码符号1的容量时用于填充码字的空缺位置的临时码字。RS码是为了RS块的错误纠正目的而增加的代码,其是错误纠正单元。

QR码的错误纠正等级可以从以下四个等级中选择:“等级L”、“等级M”、“等级Q”和“等级H”。在“等级L”中,这种类型的错误纠正允许纠正高达7%的全部码字。在“等级M”中,这种类型的错误纠正允许纠正高达15%的全部码字。在“等级Q”中,这种类型的错误纠正允许纠正高达25%的全部码字。在“等级H”中,这种类型的错误纠正允许纠正高达30%的全部码字。在第一实施例中,隐藏信息隐藏在例如使用“等级H”的QR码中,该QR码具有最高的错误纠正能力。应当注意到的是,可能根据要隐藏的隐藏信息字的数量改变错误纠正等级。

以下将描述根据第一实施例将信息隐藏在QR码中的过程。图3展示了隐藏信息字(对应于第二数据码字)。在第一实施例中,RS块的部分用隐藏信息字替换(以下这里的“替换”也称为“覆写”)。即使如果RS块的一部分被替换,标准解码器使用RS码也可以纠正已经被替换的原始数据部分。并且,可以提取和显示纠正的原始数据部分。另一方面,由于隐藏信息字是用RS码纠正的信息,并且被丢弃,该隐藏信息字将不会被标准解码器显示。

在另一方面,根据第一实施例的增强的解码器20从替换的RS块中提取隐藏信息,如下所述。此后,使用RS码进行纠正,并且提取原始数据部分。根据前述过程,信息隐藏在QR码符号1中。

接着,将描述根据第一实施例的生成QR码的具体方法。

图4为根据第一实施例生成QR码符号的方法的流程图。图5为RS块的示意图。图6为隐藏信息字的示意图。在以下说明中,除非另有说明,将数据编码为QR码符号的过程符合采用JIS的过程。虽然通用QR码符号1由多个RS块组成,为了便于说明,在本例子中将只对一个RS块进行描述。由于以下说明是为了简化说明而给出的例子,在一些情况下,码字集的长度不同于实际QR码符号的长度。

第一实施例假设存储部分11b存储:表明(后面要描述的)开始用隐藏信息字替换的开始位置的“偏移信息”;以及隐藏信息字的“长度(字数)信息”。

首先,检索嵌入在QR码符号1中的原始数据和隐藏信息字(S102)。在本例子中,原始数据的码字为““TOKYO<cr>MINATO<cr>JPN””(图5),隐藏信息字为“00090012345678”(图6)。可能通过输入装置14检索原始数据和隐藏信息字,可能使用预先存储在存储部分11b中的信息。

接着,根据原始数据和隐藏信息字确定QR码符号的版本(S104)。根据它的版本,确定在QR码符号1中的码字的总数。码字的总数为纠正码字的数量和数据码字的数量之和;数据码字的数量包括原始数据的码字的数量。并且,根据QR码符号1的版本,确定包括数据码字和纠正码字的RS块的尺寸和数量。为每个RS块进行错误纠正。

例如,如果错误纠正为“等级H”,版本为“4”,码字的总数确定为“100”。还可以确定QR码符号1包括四个RS块。每个RS块的数据码字的数量为“9”,每个RS块的纠正码字的数量为“16”。

数据码字的数量“9”和纠正码字的数量“16”之和为“25”。由于存在类似的四个RS块,版本“4”的QR码符号总共具有100个码字:25×4=100。

在这种情况下,每个RS块的错误可纠正字的数量为“8”。这意味着能够纠正总共“9”个数据码字中的“8”个数据码字。由于存在四个RS块,QR码符号具有总共32个字的纠正能量:4×8=32。可以纠正100个字中的32个字,这意味着QR码符号具有总共32%的纠正能力。

执行用隐藏信息字替换使得在每个RS块中的替换字不会超过在RS块中的错误可纠正字的数量。在前述情况中,每个RS块可以替换“8”个码字,允许替换总共“32”个码字(也称为“可替换的字的总数”)。

根据前述计算,选择具有最小尺寸的QR码符号1的版本,其中,隐藏信息字的数量不超过可替换字的总数,并且,原始数据的码字的数量不超过数据码字的数量。

接着,根据原始数据的码字生成RS块(S106)。为了生成RS块,原始数据的码字被划分为多个块。为每个块生成错误纠正码字,并在相应的码字旁增加生成的错误纠正码字。接着,生成RS块。生成错误纠正码字的过程符合JIS。

图5展示了原始数据、终止符和纠正码字的例子。在本例子中,明文信息体现为原始数据的码字。对于终止符,可以采用,例如,“0000”的位序列。增加已经根据包括原始数据的码字生成的RS码生成RS块。

用隐藏信息在替换如上所述生成的RS块的一部分。

图7为在根据第一实施例的过程中如何替换RS块的一部分的第一示意图。图7展示了前述RS块和隐藏信息字。在该第一实施例中,如图7所示,根据前述隐藏信息字的长度信息和偏移信息,从RS块的初始位置用隐藏信息字替换RS块。

如果如上所述用隐藏信息字替换RS块的一部分,那么原数据的一部分将丢失。然而,由于可以对每个RS块进行纠正,因此标准解码器使用RS码纠正已经被替换的原始数据部分。并且,可以适当提取和显示原始数据部分。

用隐藏信息字替换的部分被处理为认为是错误的并且被丢弃的信息,该错误由于QR码符号1的污染引起。因此,标准解码器不能显示隐藏信息字。在另一方面,增强的解码器20从替换的RS块中提取隐藏信息字,如下所述。此后,使用RS码进行纠正,并提取原始数据部分。接着,显示提取的隐藏信息字和提取的原始数据部分。

接着,根据替换的RS块生成QR符号1(S110)。对于根据RS块生成QR码的过程,可以采用类似于符合JIS生成QR码的过程的过程。这使得生成QR码符号1成为可能。

虽然为了说明的目的,在前述例子中原始数据是明文数据,然而原始数据自身的数据码字可能是交错的或加密的。可能通过向已经被交错的原始数据或已经被加密的原始数据增加纠正码字生成未替换的RS块。可能对原始数据的每个位而不是对原始数据的每个码字执行上述交错和加密。

此外,隐藏信息字可能被交错或加密。为了错误检测或错误纠正的目的,可能对隐藏信息编码(例如,编码到RS码)。

接着,将描述如上所述生成的QR码符号的解码过程。

图8为增强的解码器20的方框图。该增强的解码器20是读取QR码符号的装置,并且展开要显示并包含在QR码符号1中的隐藏信息字和信息。该增强的解码器20包括控制部分21、成像装置22、显示装置23、打印装置24和输入装置25。

控制部分21包括操作部分21a和存储部分21b。操作部分21a由中央处理单元等组成,并且起到执行程序和执行各种操作的作用。存储部分21b存储执行程序所必须的数据。具体地,存储部分21b存储(后面要描述的)执行读取QR码的方法的程序。

成像装置22是用于成像QR码符号1的装置,如CCD相机等。

显示装置23具有在输入数据等的时候所必须的显示功能。显示装置23通过显示从QR码展开的信息进行输出。打印装置24通过打印这样的展开的信息进行输出。输入装置2用于输入数据并且还用于操作增强的解码器20。

可以通过向计算机、移动电话或智能电话等具有成像装置22的通用装置安装程序实现增强的解码器20的配置,该程序用于执行(后面要描述的)读取QR码的方法。也可以通过结合上述增强的编码器10和增强的译码器20实现该配置。

图9为根据第一实施例的读取QR码符号的方法的流程图。在以下描述中,除非另有说明,读取QR码符号1的过程是符合采用JIS的过程。

第一实施例假设解码器20的储存部分21b存储隐藏信息字的“长度(字数)信息”,以及表明开始用隐藏信息替换的开始位置的“偏移信息”。

首先,读取QR码符号(S202)。接着,根据读取的QR码符号1展开多个RS块(S204)。关于多个RS块的展开,可以采用符合JIS的任何方式。因此,例如,获取如图7所示的替换的RS块。

接着,从获取的替换的RS块中提取原始数据的码字和隐藏信息码字(S206)。

图10为提取隐藏信息码字的方法的示意图。图10展示了替换RS块和隐藏信息字。

如上所述,可以根据JIS通过读取和展开QR码符号获取替换的RS块。解码器20根据同时存储在存储部分21b中的隐藏信息字的偏移信息和长度信息,识别隐藏信息字在替换的RS块中的位置。从识别的位置提取隐藏信息。

图11为提取原始数据的方法的示意图。解码器20通过执行替换的RS块的错误纠正获取未替换的RS块。解码器20提取位于未替换RS块的初始端到终止符的信息,提取的数据将作为原始数据处理。

接着,输出获得的原始数据的码字和隐藏信息字。可能输出到显示装置23或打印机等打印装置24。

如上所述,如果原始数据的数据码字自身是交错的,那么数据码字按照一定程序存储从而处于它的原始顺序。如果原始数据的数据码字被加密,那么按照特定的解码方法解码原始数据。

接着,作为对照例子,将描述在标准解码器读取根据第一实施例的QR码符号1的情况下的输出结果。当标准解码器读取QR码符号1时,根据替换的RS块的RS码进行整个RS块的纠正。通过标准解码器,纠正原始数据,并且显示纠正的原始数据。不像前述增强的解码器20,标准解码器没有从替换的RS块提取隐藏信息字的功能。因此,标准解码器可能只提取原始数据,并且不会提取隐藏信息字。

此外,作为对照例子,将描述在通过增强的解码器20读取通用QR码符号的情况下的输出结果。当增强的解码器20读取通用QR码符号时,可以由此获取RS块。从通用QR码符号获取的RS块不包括隐藏信息字。然而,在获取RS块的适合,增强的解码器20不会判断读取的符号1是否是根据第一实施例的QR码符号或是通用QR码符号。

相应地,在根据第一实施例的过程中,增强的解码器20从RS块的隐藏信息字所处的位置提取作为隐藏信息字的数据码字。根据RS块的RS码,随后对整个RS块进行纠正。因此,通过增强的解码器20,纠正原始数据部分,并且显示纠正的原始数据。

对已经被作为隐藏信息字读取的码字是否为隐藏信息字的判断如下。如果纠正之前的RS块和纠正之后的RS块之间的差别的比率超过预定值,那么可以判断已经被读取的码字是隐藏信息字(即,可以判断该QR码符号是根据第一实施例的QR码符号)。如果差别的比率没有超过预定值,那么可以判断这些码字不是隐藏信息字(即,可以判断该QR码是通用QR码符号),并且可能不显示隐藏信息字。这是因为如果用隐藏信息字进行替换,那么未替换的RS块和替换的RS块之间的差别通常超过预定值。

作为另一对照例子,将考虑以下情况:在生成通用QR码符号之后,只在对应特定隐藏信息的部分生成图形图案,并且覆写该图形图案。在这种情况下,在生成二维图案之后,生成特定的图形图案。相应地,需要生成这样的特定的图形图案的不同的系统。此外,在生成QR码符号之后,需要用于覆写的图形图案的生成过程。从处理速度的角度来讲,由于执行多个图形图案生成的过程,上述过程是不可取的。

不像对照例子,在第一实施例中,在增强的编码器10以数据码字等级生成未替换的数据块之后,增强的编码器10立即生成替换的数据块。这个过程是在单个系统的存储器(存储部分11b)上执行。根据前述替换的数据块,只执行一次生成QR码符号的最后过程(S110)。由于如上所述在数据码字等级执行必要的过程,相比以图形图像生成等级执行必要的过程的前述情况,可以更有效地、以更高的速度执行生成QR码符号1的最后过程。

图12是在根据第一实施例中如何替换RS块的一部分的第二示意图。在前述过程中,用隐藏字从RS块的初始字顺序地替换该RS块。然而,考虑到Reed-Solomon码的纠正能量,在RS块中的任何位置均可能用隐藏信息字替换。

在这种情况下,可以预先确定开始用隐藏信息字替换的RS块的位置(从初始字到该位置有多少个字)。例如,如图12所示,可能从替换开始位置用13个隐藏信息字替换RS块,该替换开始位置是从初始字开始的第七个字。在这种情况下,增强的编码器10的存储部分11b和增强的解码器20的存储部分21b存储隐藏信息字从被替换的RS块中的第七个字的位置开始的偏移信息,该位置已经被预先确定。此外,这些存储部分存储隐藏信息字的长度为13个字的长度信息。在这种情况下,由于隐藏信息字的数量小于可以用RS码纠正的字的数量,纠正使得适当获取未替换的RS块成为可能。可以从未替换的RS块提取原始数据。

在这种情况下,已经用于替换RS块的隐藏信息字的末端可能通过向隐藏信息字的结尾字增加特定分隔符来限定。

图13为在根据第一实施例的过程中如何替换RS块的一部分的第三示意图。在本例子中,RS块的部分用划分为多个部分的隐藏信息字替换。

在这种情况下,可以预先确定RS块要用多个部分的隐藏信息字替换的多个位置。例如,如图13所示,以下替换是可接受的。从作为从初始字开始的第三个字的替换开始位置用三个隐藏信息字替换RS块。并且,从作为从初始字开始的第八个字的替换开始位置用两个隐藏信息字替换该RS块。并且,从作为从初始字开始的第十一个字的替换开始位置用一个隐藏信息字替换该RS块。并且,从作为从初始字开始的第十六个字的替换开始位置用四个隐藏信息字替换该RS块。并且,从作为从初始字开始的第二十二个字的替换开始位置用三个隐藏信息字替换该RS块。

在这种情况下,增强的编码器10的存储部分11b和增强的解码器20的存储部分21b存储作为偏移信息和长度信息的前述信息。相应地,增强的解码器20可以从预先识别的相应部分提取隐藏信息字的每个部分。此外,在这种情况下,由于隐藏信息字的数量小于可以用RS码纠正的字的数量,纠正允许未替换的RS块被适当获取。可以从未替换的RS块中提取原始数据。

第二实施例

在前述第一实施例中,隐藏信息字的偏移信息和长度信息的位置信息预先存储在增强的编码器10的存储部分11b和增强的解码器20的存储部分21b中(以下将该位置信息称为放置信息)。在第二实施例中,放置信息存储在报头数据码字(Headerdatacodewords)(如图所示的“报头”)中。此外,在该第二实施例中,报头数据码字包含在替换的RS块中。

图14为根据第二实施例的RS块的概念示意图。从图14与根据前述第一实施例的图3的比较可知,在第二实施例中,增强的编码器10用报头数据码字和隐藏信息字替换未替换的RS块的一部分,并且生成替换的RS块。

在第二实施例中,用报头数据码字的替换和隐藏信息字的替换都执行为使得替换的字的数量不超过在RS块中错误可纠正的数量。也就是说,报头数据码字和隐藏信息字的总数不超过在RS块中错误可纠正的字的数量。

如上所述,如图14所示的报头数据码字包含隐藏信息字的放置信息。相应地,关于报头数据码字,可以定位隐藏信息字的开始位置和该隐藏信息字的长度(字数)。报头数据码字的位置是预先确定的。此外,报头数据码字可以包含关于隐藏信息字的格式的信息。关于隐藏信息字的格式的信息包含以下类型的信息:隐藏信息字被加密的情况下使用的密码密钥的信息;以及隐藏信息字是交错的情况下执行的排序的信息。如果出于错误检测或错误纠正的目的对隐藏信息字进行编码,那么还可以包含错误检测或错误纠正的过程的信息。

图15为根据第二实施例的报头数据码字和隐藏信息字的示意图。图15展示了报头数据码字和隐藏信息码字,并且还展示了隐藏信息字包含纠错码字。

图16为在根据第二实施例的过程中如何替换RS码的一部分的第一示意图。图16展示了RS块,隐藏信息字和报头数据码字。在本例子中,如图16所示,通过增强的编码器10从RS块的初始字开始用隐藏信息字替换该RS块。RS块的末端部分用报头数据码字替换。该报头数据码字包含隐藏信息字的放置信息(在这种情况下,为隐藏信息字的开始为RS块的初始字(零偏移)的信息,以及长度为11个字的信息)。

如上所述,如果用隐藏信息字替换RS块的一部分,原始数据的一部分和纠正码字的一部分将丢失。然而,可以对每个RS块进行纠正。相应地,使用RS码,标准解码器可以纠正已经被替换的原始数据部分。并且,标准解码器可以适当提取和显示原始数据部分。用隐藏信息字替换的部分被处理为认为是错误的并且被丢弃的信息,该错误是由QR码符号1的污染等造成的错误。因此,标准解码器不能显示隐藏信息字。

在另一方面,增强的解码器20从替换的RS块中提取隐藏信息字。并且,增强的解码器20从报头数据码字中获取定位隐藏信息字的位置的放置信息。根据该放置信息,提取隐藏信息字。由于向隐藏信息字增加了纠错码字,可以使用该纠错码字纠正被污染的隐藏信息字。

如果隐藏信息字是交错的,那么根据包含在报头数据码字中的交错过程的信息,该隐藏信息字可以按它原始顺序存储。此外,如果原始数据是交错的,那么根据包含在报头数据码字中的交错过程的信息,该原始数据可以按它原始顺序存储。如果隐藏信息字是加密的,那么可以根据包含在报头数据码字中的密码密钥等解码隐藏信息。如上所述,如果出于错误检测或错误纠正的目的对隐藏信息进行编码(例如,编码到RS码),可以根据包含在报头数据码字中的信息指定纠正错误的过程。

在如上所述提取隐藏信息字之后,增强的解码器20纠正替换的RS块,并获得未替换的RS块。接着,提取包含在未替换的RS块中的原始数据部分。并且,显示已经被提取的隐藏信息字和原始数据部分。

图17是在根据第二实施例的过程中如何替换RS块的部分的第二示意图。在图16所示的过程中,用从RS块的初始字隐藏信息字顺序地替换该RS块。然而,如图17所示,可能从不是初始字的任意位置用隐藏信息字替换RS块。

在图17所示的情况下,在报头数据码字中的偏移信息包含从RS块的第九个字用隐藏信息字替换该RS块。此外,在报头数据码字中的长度信息包含该隐藏信息字的长度为11个字。这使得通过将报头数据码字视为在第一实施例中,提取隐藏信息字成为可能。

这还可以应用于RS块用如前述图13所示的分开的隐藏信息字替换的情况。

图18为在根据第二实施例的过程中的如何替换RS块的部分的第三示意图。在本例子中,可以预先确定报头数据码字的开始位置为RS块的第十三字,并且可以预先确定报头数据码字的长度为两个字。如果RS块用如上所述的分开的隐藏信息字替换,那么该报头数据码字包含多条隐藏信息字的放置信息。这使得适当提取与报头数据码字有关的隐藏信息称为可能。

在前述说明中,预先确定报头数据的部分。然而,可能通过定界符指明报头数据的位置,该定界符分别在报头数据码字的两侧置于该报头数据码字相邻处。

关于读取的QR码符号是否是通用QR码符号或者是根据第二实施例的QR码符合,可以根据提取的隐藏信息字是否包括报头数据字进行判断。也就是说,由于根据第二实施例的QR码符号包含报头数据码字,增强的解码器20可以显示隐藏信息字。在另一方面,由于通用QR码符号不包含报头数据码字,增强的解码器20可以只显示要显示的信息,而不显示隐藏信息字。

第三实施例

图19为在根据第三实施例的过程中如何替换RS块的一部分的示意图。图19展示了未替换的RS块、隐藏信息字、临时替换的RS块、报头数据码字和替换的RS块。

在第三实施例中,增强的编码器10用隐藏信息字替换未替换的RS块的一部分,并且生成临时替换的RS块。隐藏信息字包括纠错码字,其具有足以纠正用报头数据码字替换的字的纠正能力。

接着,增强的编码器10用报头数据码字替换临时替换的RS块的一部分,该临时替换的RS块的这部分为已经用隐藏信息字替换的替换的字的一部分。并且,该增强的编码器10生成替换的RS块。随后,增强的编码器10根据生成的替换的RS块生成QR码符号。

接下来,将描述解码过程。根据第三实施例的增强的解码器20读取如上所述生成的QR码符号,并且展开替换的RS块。接着,该增强的解码器20提取报头数据码字。可能如在第一实施例和第二实施例那样预先确定报头数据码字的位置。此外,可能通过定界符表明报头数据码字的位置,这些定界符分别在报头数据码字的两侧置于该报头数据码字的相邻处。

根据如上所述已经提取的包含在报头数据码字的放置信息,识别隐藏信息字的位置,接着提取隐藏信息字。由于隐藏信息字包含如上所述的纠错码字,基于该纠错码字的纠正允许适当纠正已经用报头数据码字替换的部分。因此,可以适当提取在用报头数据替换之前的隐藏信息字。

这使得获取临时替换的RS块称为可能。接着,解码器20使用纠错码字执行纠正操作,该纠错码字包含在未替换的RS块中。因此,可以适当纠正用隐藏信息替换的部分,然后获取未替换的RS块。接着,增强的解码器20可以从未替换的RS块中提取原始数据。

在第三实施例中,隐藏信息字的数量不超过可以用包含在未替换的RS块中的纠错字纠正的字的数量。在第三实施例中,报头数据码字的数量不超过可以用包含在隐藏信息字中的纠错码字纠正的字的数量。这使得适当提取隐藏信息字和原始数据成为可能。

在第三实施例中,已经用隐藏信息字替换的替换的字的一部分用报头数据码字替换。由于这个原因,报头数据码字与隐藏信息字重叠。相应地,可以减少报头数据码字和隐藏信息字的总长度。这使得增加用于检测和纠正QR码符号的错误的备用能力成为可能。

在第三实施例中,关于读取的QR码是否是通用QR码符号或者是根据第三实施例的QR,码符号。可以根据提取的隐藏信息字是否包含报头数据码字进行判断。也就是说,由于根据第三实施例的QR码符号包含报头数据码字,增强的解码器20可以显示隐藏信息字。在另一方面,由于通用QR码符号不包含报头数据码字,增强的解码器20可以只显示要显示的信息,而不显示隐藏信息字。

第四实施例

图20为在根据第四实施例的过程中如何替换RS块的一部分的示意图。图20展示了未替换RS块、隐藏信息字和替换的RS块。

在第四实施例中,未替换的RS块的原始数据包含报头数据码字。定界符(在图20中均表示为“定界”)在报头数据码字的两侧置于该报头数据码字的相邻处。这些定界符将在原始数据中要显示的信息和报头数据码字分开。

为了生成前述未替换的RS块,在第四实施例中,增强的编码器10生成包括要显示的信息、报头数据码字和定界符的原始数据。报头数据码字包含(后面要描述的)隐藏字的放置信息。增强的编码器10根据由它们(包括填充码字,如果有的话)组成的原始数据生成纠正码字。并且,增强的编码器10生成未替换的RS块。

接着,增强的编码器10用隐藏信息字替换未替换的RS块的一部分。替换位置为对应于包含在报头数据码字中的放置信息的位置。增强的编码器10生成替换的RS块。随后,增强编码器10根据替换的RS码生成QR码符号。

接着,将描述解码过程。根据第四实施例的增强的解码器20读取如上所述生成的QR码符号,并且展开替换的RS块。接着,该增强的编码器20根据包含在未替换的RS块中的纠错码字纠正替换的RS块,从而获取未替换的RS块。未替换的RS块包含被定界符分开的报头数据码字,如上所述。增强的解码器20定位隐藏信息字的位置并且根据放置信息从替换的RS块中提取隐藏信息字,该放置信息包含在报头数据码字中。可能使用包含在隐藏信息字中的纠错码纠正提取的隐藏信息字。

包含隐藏信息字的放置信息的报头数据码字用隐藏信息字替换,如上所述,并且,从而生成替换的RS块。这使得在替换的RS块中难以定位隐藏信息字的位置。这可以使得第三方更难以提取隐藏信息字。

在第四实施例中,关于读取的QR码符号是否是通用QR码符号或者是根据第四实施例的QR码符号,可以根据提取的未替换的RS块是否包含报头数据码字进行判断。也就是说,由于根据第四实施例的未替换的RS块包括报头数据码字,因此增强的解码器20可以显示隐藏信息字。在另一方面,由于通用QR码符号不包括报头数据码字,增强的解码器20可以只显示要显示的信息,而不显示隐藏信息字。

第五实施例

图21为在根据第五实施例的过程中如何替换RS块的一部分的示意图。图21展示了未替换的RS块、隐藏信息字、报头数据码字和替换的RS块。

在第五实施例中,未替换的RS块的原始数据包含报头偏移位置信息字,该报头偏移位置信息字包含报头数据码字的位置信息(在图21中用“<偏移>”表示并且对应于“报头位置数据码字”)。定界符分别在报头平偏移位置信息字的两侧置于该报头平偏移位置信息字的相邻处。这些定界符在原始数据中将要显示的信息和报头平偏移位置信息字分开。

为了生成前述未替换的RS块,在第五实施例中,增强的编码器10生成包括要显示的信息、报头数据码字和定界符的原始数据。增强的编码器10根据由它们(包括填充码字,如果有的话)组成的原始数据生成纠正码字。并且,增强的编码器10生成未替换的RS块。

接着,增强的编码器10用隐藏信息字替换未替换的RS块的一部分。替换位置为对应于隐藏信息字的放置信息的位置,该放置信息包含在报头数据码字中。在这个例子中,隐藏信息字的放置信息包含从RS块的第五个字用隐藏信息字替换,以及隐藏信息字的长度为11个字的信息。并且,增强的编码器10生成临时替换的RS块。

接着,增强的编码器10用报头数据码字替换在临时替换的RS块中个隐藏信息的一部分。替换位置是对应于报头数据码字的位置信息的位置,该位置信息包含在报头偏移位置信息字中。在被例子中,报头偏移位置信息字包括从RS块的第七个字开始执行替换的信息。报头数据码字的长度预先设定为两个字。根据这几条信息,增强的编码器10用报头数据码字替换RS块,并且该增强的编码器10生成替换的RS块。随后,该增强的编码器10根据替换的RS块生成QR码符号。

接着,将描述解码过程。根据第五实施例的增强的解码器20读取如上所述生成的QR码符号,并且展开替换的RS块。接着,增强的解码器20根据包含在RS块中的纠错码字纠正替换的RS块,从而获取未替换的RS块。未替换的RS块包括由定界符分开的报头偏移位置信息字,如上所述。

根据报头偏移位置信息字,增强的解码器20定位报头数据码字在替换的RS块中的位置。增强的解码器20从定位到的在替换的RS块中的位置提取报头数据码字,从而可以获取隐藏信息字的放置信息。

增强的解码器20根据隐藏信息字的放置信息从替换的RS块中提取隐藏信息字。然而,隐藏信息字的一部分用报头数据码字替换。相应地,增强的解码器20根据纠错码字执行纠正,纠错码字包含在隐藏信息字中。随后,可以获取用报头数据码字替换之前的隐藏信息字。这使得适当获取隐藏信息字成为可能。

此外,增强的解码器20获取通过从未替换的RS块的原始数据移除报头偏移位置信息字和定界符获得的信息字。

因此,表明报头数据码字的位置的报头便宜位置信息字包含在原始数据中。此外,报头数据位置信息字用隐藏信息字替换。这些使得隐藏信息字的位置难以定位。相应地,可以让第三方更难以提取隐藏信息字。

如在前述第二实施例中,根据隐藏信息字的放置信息,RS块中的任意位置均可能用隐藏信息字替换,该放置信息包含在报头数据码字中。此外,RS块可能用划分为多个部分的隐藏信息字替换。根据报头数据码字的信息,可以对隐藏信息字进行加密或交错。

虽然报头数据码字的位置是根据“偏移”定位,报头数据码字的位置可能以其他过程定位。

在第五实施例中,如在第二实施例中,关于读取的QR码符号是否是通用QR码符号或者是根据第五实施例的QR码符合,可以根据提取的隐藏信息字是否包括报头数据字进行判断。也就是说,由于根据第五实施例的QR码符号包含报头数据码字,增强的解码器20可以显示隐藏信息字。在另一方面,由于通用QR码符号不包含报头数据码字,增强的解码器20可以只显示要显示的信息,而不显示隐藏信息字。

第六实施例

图22为在根据第六实施例的过程中如何替换RS块的一部分的示意图。图22展示了未替换的RS块、隐藏信息字和替换的RS块。

在第六实施例中,增强的编码器10根据原始数据(包括填充码字,如果有的话)生成纠正码字。并且,增强的编码器10生成未替换的RS块。接着,增强的编码器10用隐藏信息字替换未替换的RS块的一部分。接着,增强的编码器10生成替换的RS块,并且根据替换的RS块生成QR码符号。因此,在第六实施例中,生成QR码符号的方法具有与第一实施例几乎一样的过程。

接着,将描述解码过程。根据第六实施例的增强的解码器20读取如上所述生成的QR码符号,并且展开替换的RS块。增强的解码器20根据包含在RS块中的纠错码字纠正替换的RS块,从而获取未替换的RS块。

增强的解码器20将未替换的RS块与替换的RS块进行比较。接着,增强的解码器20提取替换的RS块的一部分,该部分不同于未替换的RS块。如上所述提取的信息字用作隐藏字。从未替换的RS块中提取原始数据。由于终止符位于原始数据和纠错码字之间的未替换的RS块中,解码器20可以根据终止符将原始数据和纠错码字分开。

这使得提取隐藏信息字和原始数据成为可能。关于根据第六实施例的过程,只在未替换的RS块和替换的RS块之间进行比较就足够提取具有差别的部分。相应地,提供隐藏信息字的放置信息不是有利地必需的。也就是说,如果使用报头数据码字,可以减少报头数据码字的数量。

图23为在根据第六实施例的过程中如何替换RS块的一部分的第二示意图。在本例子中,RS块的部分用划分为多个部分的隐藏信息字替换。

例如,如图23所示,隐藏信息字可以划分为五个部分,RS块的多个部分可以用它们替换。在这种情况下,由于隐藏信息字的数量小于可以用RS码纠正的字的数量,因此可以通过执行纠正适当获取未替换的RS块。在这种情况下,可以通过获得未替换的RS块和替换的RS块之间的差异获取隐藏信息字。并且,可以通过从预先识别的未替换的RS块中的位置提取数据从而获取原始数据。

根据差异提取隐藏信息的前述过程是有效的,特别是,在QR码符号及其RS块不太可能被污染的情况下。例如,在生成QR码符号的图像数据文件然后检索该文件以提取隐藏信息字的情况下,因此QR码符号没有机会暴露在外部,因此将不会污染QR码符号。

前述过程的优势在于,可以识别隐藏信息字而不提供报头数据码字等。这使得用更多隐藏信息字替换RS块成为可能。

如在第一实施例中,对已经被作为隐藏信息字读取的码字是否为隐藏信息字的判断如下。如果纠正之前的RS块和纠正之后的RS块之间的差别的比率超过预定值,那么可以判断已经被读取的码字是隐藏信息字(即,可以判断该QR码符号是根据第六实施例的QR码符号)。如果差别的比率没有超过预定值,那么可以判断这些码字不是隐藏信息字(即,可以判断该QR码是通用QR码符号),并且可能不显示隐藏信息字。这是因为如果用隐藏信息字进行替换,那么未替换的RS块和替换的RS块之间的差别通常超过预定值。

如果根据在前述过程中的差别进行解密,那么存在一个问题在于,未替换的数据块的一部分将不会提取为差别,该部分偶然地等同于已经用隐藏信息字替换的替代的数据块的一部分(但是,这是非常罕见的)。在这种情况下,假设通常替换而不分开包含在报头数据码字中和隐藏信息字中的字。

图24为在根据第六实施例的过程中如何替换RS块的一部分的第三示意图。在本例子中,应用连续放置报头数据码字和隐藏信息字的规则。相应地,即使丢失偶然相同的字,也可以通过采用该偶然相同的字填充丢失的部分从而可以恢复信息。

如果丢失除了位于RS块的两端以外的其他位置的码字,那么用位于相应位置的数据码字填充丢失部分是足够的。然而,如果位于RS块的末端的码字丢失了,那么难以识别丢失是否发生在始端或末端。在这种情况下,如下所述,为端部执行若干恢复,和验证这些恢复。

图25为其中一部分丢失的RS块的示意图。图25展示了以下四种类型的RS块:没有任何丢失的RS块;具有在数据码字的始端的丢失的RS块(以下称为始端丢失RS块);具有在纠正码字的末端的丢失的RS块(以下称为末端丢失RS块);以及具有两端丢失的RS块(以下称为两端丢失RS块)。为了说明的目的,不是在每个单元格中均有码字。在这些图中,用虚线表示丢失的码字。因此,对于在RS块的一端或两端发生丢失的情况下,存在有三种类型。

对于这样的RS块的始端和末端,存在着恢复图案的可能组合。执行全部恢复组合,这些恢复组合的验证如下:(1)对于恢复的RS块是否可以进行纠正处理,以及(2)如果进行纠正处理,纠错的结果是否具有正确块语法。

图26为如何恢复始端丢失RS块的示意图。图26展示了错误地恢复的始端丢失RS块。在始端丢失RS块中,应当恢复RS块的始端。但是,从有丢失的RS块的外观来看,不能判断丢失发生在始端还是在末端。相应地,生成恢复了始端的RS块,并且生成恢复了末端的RS块。这两个已经恢复的RS块将使用纠正码字进行纠正。

由于恢复了始端的RS块是正确的RS块,因此适当进行纠错处理,并且纠正的结果具有正确块语法。

在另一方面,如图26所示,在恢复了末端的RS块中,根据预期的字长度评估纠正码字的位置。结果,将错误的位置识别为纠正码字的位置。纠正是根据在以前述方式错位地认为纠正码字的区域中的码字进行的。相应地,不适当地进行纠正处理。

在本例子中,假设发生一个码字的丢失。但是,如果丢失了多个码字,那么将多个错位位置识别为纠正码字的位置。相应地,不适当地进行纠正处理。

图27为如何恢复终端丢失RS块的示意图。图27展示了错误恢复的终端丢失RS块。在终端丢失RS块中,应当恢复RS块的终端。但是,从有丢失的RS块的外观来看,不能判断丢失发生在始端还是在末端。同样在这种情况下,生成恢复了始端的RS块,并且生成恢复了末端的RS块。这两个已经恢复的RS块将使用纠正码字进行纠正。

由于恢复了终端的RS块是正确的RS块,因此适当进行纠错处理,并且纠正的结果具有正确块语法。

在另一方面,如图27所示,在恢复了始端的RS块中,根据预期的字长度评估纠正码字的位置。结果,将错误的位置识别为纠正码字的位置。纠正是根据在以前述方式错位地认为纠正码字的区域中的码字进行的。相应地,不适当地进行纠正处理。

在本例子中,假设发生一个码字的丢失。但是,如果丢失了多个码字,那么将多个错位位置识别为纠正码字的位置。相应地,不适当地进行纠正处理。

图28为如何恢复两端丢失RS块的示意图。图28展示了错误恢复的两端丢失RS块。在本例子中,假设在每一端均发生了一个码字的丢失。在

相应地,在本例子中,生成以下RS块:在在始端的两个字被恢复的RS块;在末端的两个字被恢复的RS块;和分别位于始端和末端的两个字被恢复的RS块。对于每个恢复的RS块,使用纠正块进行纠正。随后执行的验证方法与恢复始端丢失RS块的情况和恢复末端丢失RS块的情况相同。因此将省略对其的描述。

如上所述,通过恢复所有可能图案并验证该恢复,可以获取已经适当恢复的RS块。

在本例子中,虽然描述了前述三种类型的情况,但是取决于丢失的数据码字的数据,可以改变验证的次数。

例如,如果如上所述丢失一个数据码字,那么存在两种可能情况:在始端的一个码字丢失的情况;和在末端的一个码字丢失的情况。

如果丢失了两个数据码字,存在三种可能情况:在始端的两个码字丢失的情况;在始端的两个码字丢失和在末端的一个码字丢失的情况;以及在末端的两个码字丢失的情况。

如果丢失了三个数据码字,存在四种可能情况:在始端的三个数据码字丢失的情况;在始端的两个码字丢失和在末端的一个码字丢失的情况;在始端的一个码字丢失和在末端的两个码字丢失的情况;在末端的三个数据码字丢失的情况。

根据这个规律,如果在端部总共有N个码字,那么进行(N+1)种类型的验证。作为(N+1)种类型的验证的结果,可以采用已经被适当纠正的RS块。

因此,即使在始端或末端发生丢失的情况下,通过生成并验证与情况相对应的已经恢复的RS块可以适当恢复正确的RS块。纠正已经被错误地恢复的RS块而没有困难的可能性极低。然而,在这种情况下,纠正的块具有的问题在于它不满足预定的格式。相应地,基于此,可以判断块没有被适当恢复。

第七实施例

在第七实施例中,当用隐藏信息字替换未替换的RS块时,从由掩蔽图案参考MPR识别的字数相对应的字的位置进行替换。该掩蔽图案参考MPR是识别符合JIS的掩蔽图案的参考(在本说明书,称为“标准掩蔽图案”)。在第七实施例中,使用掩蔽图案参考MPR定位隐藏信息的替换位置从而这使得第三方更难以提取隐藏信息字。

掩蔽图案参考MPR包含在QR码图案1的格式信息FI中。格式信息FI还包含错误纠正等级。根据JIS,用标准掩蔽图案进行掩蔽只应用于既不是格式信息FI的区域也不是版本信息VI的区域的编码区域的一部分。也就是说,掩蔽图案参考MPR没有被标准掩蔽图案掩蔽。

图29为根据第七实施例的生成QR码图案的方法的流程图。以下将参考该流程图描述根据第七实施例的生成QR码符号的方法。

首先,恢复嵌入在QR码符号1中的原始数据和隐藏信息(S302)。接着,根据该原始数据和隐藏信息字,确定QR码符号的版本(S304)。接着,根据原始数据的码字生成RS块(S306)。在步骤S302到S306中,恢复原始数据和隐藏信息字的过程、确定版本的过程和生成RS块的过程与在第一实施例中的过程相同。因此将省略其描述。

接着,掩蔽图案参考MPR的值重置为“0”(S308)。对于符合JIS的掩蔽图案参考MPR,掩蔽图案参考MPR的值在0到7(从“000”到“111”)的范围内。在本实施例中,掩蔽图案参考MPR的值从0到7变化,重复执行(后面要描述的)步骤S310到步骤S314的过程。由于这个理由,掩蔽图案参考MPR的值重置为“0”。

接着,在掩蔽图案参考MPR所处的位置(替换位置)执行用隐藏信息字的替换(S310)。在本例子中,从与掩蔽图案参考MPR的值相对应的字的位置执行用隐藏信息字的替换,该值从未替换的RS块的初始字开始。例如,如果掩蔽图案参考MPR的值为“0”,从未替换的RS块的初始字用隐藏信息字替换该未替换的RS块。如上所述,掩蔽图案参考MPR的值在从0到7的范围内。相应地,该掩蔽图案参考MPR可以识别8种类型的位置作为隐藏信息字的替换位置。

图30是在根据第七实施例的过程中如何替换RS块的一部分的示意图。图30展示掩蔽图案参考MPR的值为“6”的情况,其中,从第6个字的位置(六个字偏移)用隐藏信息字替换未替换的RS块。

存在用隐藏信息字替换的替换位置为与掩蔽图案参考MPR的值相对应的字的位置的过程,该过程是通过掩蔽图案参考MPR定位替换位置的最简单的过程中的一个。然而,实施例不限于此。可能根据依照掩蔽图案参考MPR预定的位置识别替换位置。

接着,如上所述,应用标准掩蔽图案之前的QR码符号是根据替换的RS块生成的,其中,RS块的一部分被替换(S312)。标准掩蔽图案应用于应用标准掩蔽图案之前的QR码符号,通过掩蔽图案参考MPR识别该标准掩蔽图案(S314)。应用标准掩蔽图案符合JIS,将省略该描述。

接着,判断掩蔽图案参考MPR的值是否为7(S316)。相应地,在掩蔽图案参考MPR的值在0和7之间不同的所有情况下,判断是否已经执行从步骤S310到步骤S314的过程。在步骤S316中,如果掩蔽图案参考MPR的值不是“7”时,那么掩蔽图案参考MPR的值增加(S318)。

在另一方面,在步骤S316中,如果掩蔽图案参考MPR的值为“7”,那么分别对应从0到7的掩蔽图案参考MPR的值已经生成所哟QR码符号。并且,评估这八个QR码图案,确定QR码符号的最优图案(S320)。

关于步骤S320中的QR码符号评估,对其应用JIS的“掩蔽结果评估”,将省略其描述。通过这种评估,可以指定其模块合理地分散的QR码符号。

接着,输出已经在步骤S320中识别的QR码符号(S320)。可能通过显示装置13显示输出的QR码符号,并且可能通过打印装置14进行打印。

相应地,识别应用于QR码符号的标准掩蔽图案的掩蔽图案参考MPR用于定位用隐藏信息字替换的RS块的位置。由于存在8种类型的标准掩蔽图案,掩蔽图案参考MPR的值具有8种类型的数量。取决于所应用的掩蔽图案,因此可以改变隐藏信息字的替换位置。这使得第三方难以定位隐藏信息字的位置,因此可以更难以提取隐藏信息字。

如果使用根据第七实施例的过程,在步骤S320中根据从0到7的掩蔽图案参考MPR的不同值评估所有QR码符号的时候,可以发现隐藏信息放置在最佳位置的QR码符号。相应地,直到步骤S320的评估,在用隐藏信息替换的替换位置不同的QR码符号中不能确定要采用的QR码符号。如上所述,不能预先确定隐藏信息字的替换位置。这使得更难以定位隐藏信息字的位置,并且因此更难以提取隐藏信息字。

在步骤S310中用隐藏信息字替换之前,可以应用标准掩蔽图案。然而,按照QR码符号中的分散模块,在步骤S310中用隐藏信息字替换之后应用标准掩蔽图案是可取的。

在如前述第一实施例中的方式相同的方式中,在步骤S108之后执行用标准掩蔽图案的掩蔽。在这种情况下,应用具有在“0”和“7”之间的掩蔽图案参考MPR的所有标准掩蔽图案。如在根据第七实施例的步骤S320中,将在这些QR码符号中选择最佳的QR码符号。

用标准掩蔽图案掩蔽只应用于既不是格式信息FI的区域也不是版本信息VI的区域的编码区域的一部分。相应地,掩蔽图案参考MPR不受用标准掩蔽图案进行掩蔽的影响。在读取QR码符号的时候,可以通过从格式信息FI中适当读取掩蔽图案参考MPR移除标准掩蔽图案。

接着,将描述根据第七实施例的读取QR码符号的方法。

图31是根据第七实施例的读取QR码符号的方法的流程图。参照该流程图和前述图30,将描述根据第七实施例的读取QR码符号的方法。

首先,读取增强的QR码(S402)。读取增强的QR码的过程与在第一实施例中的过程相同。因此将省略其描述。

接着,读取掩蔽图案参考的值(S404)。该掩蔽图案参考MPR是包含在格式信息FI中的信息,如上所述。在QR码符号1中,格式信息FI没有被标准掩蔽图案掩蔽。这使得在规定在JIS中的过程中适当读取格式信息FI称为可能。可以识别包含在格式信息FI中的掩蔽图案参考MPR。

接着,移除QR码符号的标准掩蔽图案(S406)。可以通过掩蔽图案参考MPR识别应用于QR码符号的标准掩蔽图案。使用识别的标准掩蔽图案,可以移除应用于QR码符号的标准掩蔽图案。

接着,从已经移除标准掩蔽图案的QR码符号中展开多个RS块(在本例子中,为替换的RS块)。该掩蔽图案参考MPR定位隐藏信息在替换的RS块中的位置(S408)。在本例子中,隐藏信息字的开始位置为与从替换的RS块的初始字开始的掩蔽图案参考MPR的值相对应的字的位置。

再次参考图30。例如,如果掩蔽图案参考MPR的值为“6”,隐藏信息字的开始位置为从替换的RS块的起始字开始的第6个字(六个字偏移)的位置,如图30所示。

接着,从识别的隐藏信息字的位置提取隐藏信息(S410)。使用Reed-Solomon码纠正替换的RS块(S412)。通过使用Reed-Solomon码进行纠正,替换的RS块转换为未替换的RS块。可以从未替换的RS块中提取原始数据。

接着,输出已经得到的原始数据和隐藏信息字(S414)。可能通过显示装置13显示输出,并且可能通过打印装置14打印输出。

如上所述,根据掩蔽图案参考MPR定义隐藏信息字的位置。并且,可能使用QR码符号的版本信息定义隐藏信息字的位置。相应地,根据8中类型的掩蔽图案参考MPR和40种类型的版本的组合,可以在总共320种类型的不同方式中确定隐藏信息字的位置。

除了前面的组合以外,还可能组合QR码符号的错误纠正等级的信息。在JIS中,存在四种错误纠正等级:“等级L”、“等级M”、“等级Q”和等级“H”。相应地,根据这四种类型的附加组合,可以在总共1280种类型的不同方式中确定隐藏信息字的位置。

在本例子中,从识别的位置连续地替换隐藏信息字。但是,可能分开地替换隐藏信息字,如前述的图18所示。

第八实施例

图32为在根据第八实施例的过程中如何替换RS块的示意图。在第八实施例中,如在前面的第二实施例中,未替换的RS块的一部分用报头数据码字和隐藏信息字替换,以生成替换的RS块。在这种情况下,在由报头数据码字表示的位置执行隐藏信息字的替换。

在第八实施例中,通过掩蔽图案参考MPR的值识别替换位置与第七实施例相同。以下将参照与在第七实施例中所使用的流程图部分不同的流程图描述根据第八实施例的生成QR码符号的方法。

从步骤S302到步骤S308的过程与在第七实施例中的过程相同。因此省略其描述。在第八实施例中,与第七实施例的不同在于步骤S310中的过程。在第八实施例中,从与从未替换的RS块的初始值开始的掩蔽图案参考MPR的值相对应的字的放置开始位置执行报头数据码字的替换。在由报头数据码字表明的位置,用隐藏信息字替换未替换的RS块的一部分。

图32展示了掩蔽图案参考MPR的值为“2”以及在从未替换的RS块的初始字开始的第2个字(两个字偏移)的位置用报头数据码字替换未替换的RS块的情况。报头数据码字表明从未替换的RS块的初始字开始的第八个字(八个字偏移)的位置为隐藏信息字的替换位置。相应地,从未替换的RS块的初始字开始的第八个字(八个字偏移)的位置开始用隐藏信息替换未替换的RS块。

从步骤S312到步骤S322的过程与在第七实施例中的过程相同,以下省略其描述。

采用报头数据码字的替换位置不与隐藏信息字的替换位置重叠是优选的。这是因为,如果这些位置重叠,那么不可能精确地恢复报头数据码字和隐藏信息字中的至少一个。

接着,改变第七实施例的流程图的一部分,将描述根据第八实施例的读取QR码符号的方法。

从步骤S402到步骤S406的过程与在第七实施例中的过程相同。将省略其描述。在第八实施例中,与第七实施例的不同在于步骤S408和步骤S410。在第八实施例的步骤S408中,根据掩蔽图案参考MPR的值定位报头数据码字的位置,提取报头数据码字。在步骤S410中,使用报头数据码字定位隐藏信息字的位置,提取隐藏信息字。

从步骤S412到步骤S414的过程与在第七实施例中的过程相同,因此省略其描述。

相应地,识别应用于QR码符号的标准掩蔽图案的掩蔽图案参考MPR用于定位用报头数据码字替换的RS块的一部分。由于存在8种类型的标准掩蔽图案,掩蔽图案参考MPR的值具有8种类型的数量、取决于应用的标准掩蔽图案,从而可以改变报头数据码字的替换位置。这使得第三方难以定位报头数据码字的位置,并且可以因此更难以提取隐藏信息字。

使用根据第八实施例的过程,在步骤S320中评估根据从0到7的掩蔽图案参考MPR的不同值生成的所有QR码符号的时候,可以发现隐藏信息放置在最佳位置的QR码符号。相应地,直到步骤S320的评估,在用隐藏信息替换的替换位置不同的QR码符号中不能确定要采用的QR码符号。如上所述,不能预先确定报头数据码字的替换位置。这使得难以定位报头数据码字的位置。由于难以定位报头数据码字的位置,这使得更难以定位隐藏信息字的位置。这导致隐藏信息字难以提取。

第九实施例

在第九实施例中,当用隐藏信息字替换未替换的RS块时,根据纠正码字(RS码)识别进行替换的位置。以下将参照与第一实施例中所使用的流程图部分不同的流程图描述根据第九实施例的生成QR码符号的方法。

从步骤S102到步骤S106的过程与在第一实施例中的过程相同。将省略其描述。在第九实施例中,与第一实施例的不同在于,在步骤S106和步骤S108之间,根据纠正码字识别隐藏信息字的替换位置。

图33为在根据第九实施例的过程中如何替换RS块的一部分的第一示意图。图33展示了未替换的RS块。在第九实施例中,根据在纠正码字中的特定字节的多个位识别隐藏信息字的替换位置。具体而言,在本例子中,提取纠正码字的第三字节,并从该字节提取低4位。由这低4位的值表示隐藏信息字的替换位置。图33展示了低4位的信息为数字“0010”。数字“0010”表示十进制形式中的“2”。但是,在本例子中,由于“0”表示第一位置,“0010”表示从初始字开始的第三位置。接着,根据替换位置执行用隐藏信息字的替换(S108)。

图34为在根据第九实施例的过程中如何替换RS块的一部分的第二示意图。图34展示了从未替换的RS块的初始字开始的第三字节的位置(第三个字的位置)开始用隐藏信息字进行替换。如上所述,根据纠正码字识别隐藏信息字的替换位置,并执行隐藏信息字的替换。

当如上所述执行隐藏信息字的替换时(S108),根据替换的RS块生成QR码(S110)。接着,执行按照标准掩蔽图案的掩蔽。按照标准掩蔽图案的掩蔽符合JIS。

根据数据码字获得纠正码字。相应地,如果数据码字是不同的,纠正码字也是不同的。也就是说,当根据纠正码字识别替换位置时,如果数据码字是不同的,替换位置也是不同的。这使得第三方难以定位隐藏信息字的位置,并且因此难以提取隐藏信息字。

接着,改变第一实施例的流程图的一部分,将描述根据第九实施例的读取QR码符号的方法。

从步骤S202到步骤S204的过程与在第一实施例中的过程相同。因此将省略其描述。在第九实施例中,与第一实施例的不同在于步骤S206的过程。在第九实施例中,根据在纠正码字中的特定字节的位识别隐藏信息字的替换位置。在本例子中,如上所述提取纠正码字的第三字节,并从该字节提取低4位。根据这低4位的值识别隐藏信息字的替换位置。如图34所示,这使得适当识别隐藏信息字的位置并提取隐藏信息字成为可能。

当随函使用纠正码字纠正替换的RS块时,可以适当提取数据码字。

提取的数据的结果输出与在第一实施例中相同(S108),因此省略其描述。

当用隐藏信息字替换未替换的RS块的一部分时,存在用于识别替换位置的纠正码字的字节被替换的可能性。在这种情况下,可能预先使用纠正码字纠正替换的RS块。由于这使得获取未替换的RS块成为可能,可以适当提取用于识别替换位置的纠正码字的字节。

在前面的描述中,使用了纠正码字的第三个字节。当然,可能使用纠正码字中的其他字节。使用低4位可以表示16个位置的图案,并且,通过使用5个或5个以上的位,可以增加可以表示的位置图案的数量。

在上述说明中,纠正码字的使用是为了识别隐藏信息字的替换位置。然而,可能引入第二实施例中的“报头数据码字”的概念,可能通过前述纠正码字识别报头数据码字的位置。根据数据码字获得错误纠正码字。相应地,如果数据码字不同,错误纠正码字也不同。也就是说,当根据错误纠正码字识别替换位置时,如果数据码字不同,替换位置也不同。这使得第三方难以定位报头数据码字。由于报头数据码字定位隐藏信息字的位置,因此更难以提取隐藏信息字。

应用示例

可以通过例如,打印在预订销售服务上要出售的活动或演唱会的门票上,使用前述QR码符号。在这种情况下,“要显示的信息”可以是“活动名称”、“座位信息”、“预订号”和“URL”。在另一方面,隐藏信息可以是“在预订时使用的信息”。可以采用以下信息作为“在预订时使用的信息”:ID信息,如“性别”、“年龄”、“名字”和“许可卡”;或“通行码”。

在前述条件下,将假设只通过使用要显示的信息生成新的QR码的伪造。在这种情况下,QR码符号不包括隐藏信息。隐藏可以确定QR码符号是伪造的。

在复制和使用根据从第一实施例到第七实施例中的任意一个实施例生成的QR码符号的情况下,增强的解码器20读取隐藏信息。接着,根据包含在隐藏信息中的“性别”、“年龄”、“名字”和“许可卡”等ID信息或“通行码”验证门票持有者的身份。这使得防止未授权的使用和欺骗成为可能。

附图标记说明

10增强的编码器,11控制部分,11a操作部分,11b存储部分,13显示装置,14打印装置,15输入装置,20增强的解码器,21控制部分,21a操作部分,21b存储部分,22成像装置,23显示装置,24打印装置,25输入装置。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号