首页 / 具有高安全性的大容量复合彩色二维码的生成和解码方法、装置及相关设备

具有高安全性的大容量复合彩色二维码的生成和解码方法、装置及相关设备实质审查 发明

技术领域

[0001] 本申请涉及二维码的技术领域,尤其涉及一种具有高安全性的大容量复合彩色二维码的生成和解码方法、装置及相关设备。

相关背景技术

[0002] 二维码因其存储容量高、读取方便被广泛应用于各个领域,但在大数据时代和假冒泛滥的时代背景下,仍难以满足多样的实际需求。一方面,对于一些微小型产品无法提供足够的空间容纳二维码,而二维码过大则会影响产品整体美观效果;另一方面,由于大数据的发展,二维码容易被假冒制作。因此信息容量和防伪成为二维码领域目前急需解决的相关问题。
[0003] 而在现阶段,有一些现有方案通过多路复用技术将多个普通黑白二维码复合成为一体,生成的彩色二维码在可见光和光学滤波器下可以实现明码和暗码的有效识别,在一定程度上,需要加密的信息以暗码形式隐藏,实现了防伪性能,且容量提高2~3倍,但是该类二维码需要光学滤波产品才能获取暗码;有一些现有方案则是通过自定义的彩色编码技术对原始信息进行编码调制,生成多色半色调点阵二维码,提高了二维码的编码密度,但是该类技术并没有做到对于二维码所含信息安全性隐藏;还有一些现有方案是将彩色图片和黑白二维码通过合成法融合得到一个美观的彩色二维码,或根据色块映射采用替换法生成彩色二维码,但是该类技术仅仅是为彩色二维码提供了美观意义上的防伪标签,并没有解决容量的瓶颈问题。

具体实施方式

[0031] 为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0032] 针对现有技术中存在的一些问题,第一方面,本申请实施例中提供了一种具有高安全性的大容量复合彩色二维码的生成方法,该方法可以由二维码生成装置来执行,也可以由配置在二维码生成装置内部的部件,如芯片、芯片系统等来执行,还可以由具有部分或全部二维码生成装置功能的逻辑模块或软件等来实现。本申请对此不作限定。需要说明的是,本申请实施例中的复合彩色二维码主要由二维码信息生成而成,二维码信息包括用于体现二维码存储内容的原始信息和用于防伪的附加信息。
[0033] 示例性地,该生成方法包括:
[0034] 将原始信息按照QR码的编码规则,生成QR码点阵图;
[0035] 将附加信息进行加密,得到加密信息;
[0036] 将加密信息转换为颜色信息,并根据颜色信息,在QR码点阵图数据区的黑色模块上填充相应颜色;
[0037] 最终生成复合彩色二维码并进行输出。
[0038] 基于上述方案,原始信息由技术成熟的QR码点阵图来传递和体现,附加信息被加密后进行编码,在被赋予颜色信息后附加到QR码点阵图数据区的黑色模块上。在本方案中,无需改变现有黑白二维码的编码规则、只需充分利用其现有的空间,即可低成本地复合生成兼容性较好、数据存储容量被大幅提高、防伪性能较好、识别方便的彩色二维码。
[0039] 在第一方面的某些可能实现的方式中,将附加信息进行加密,得到加密信息,具体包括:
[0040] 对附加信息的编码模式进行识别,在实际应用中,附加信息的编码模式可以为以下模式:数字模式、字母数字模式、8位字节模式、中国汉字模式、混合模式(编码时输入两种或两种以上的字符集)等;
[0041] 将附加信息按照字符的先后排列顺序依序分为N组,其中:前N‑1组的字符数均为M,1≤第N组的字符数≤M,且M>1、N>1,在实际应用中,第N组的字符数优选为M,也就是说,分成的N组中每一组的字符数都是相等的;
[0042] 从第一组中的第一个字符开始,将每一组中的第P个字符依次提取出来、并将提取出来的字符依次排列组合成一行字符串序列、形成第P行字符串,直到第M行字符串形成完毕,最终得到总行数为M的字符串序列,其中:1≤P≤M;
[0043] 从第一行开始,将所有的M行字符串序列以行为单位依次进行首尾相连,最终形成一行不规则的密文字符串;例如:在实际应用中,若输入的附加信息为123456789,则加密时,按照优选原则,该附加信息会依序被分为以下3(N=3)组:123、456、789,每一组的字符数均为3(M=3),将各个字符进行相应提取后重新组合形成如下字符串序列:第1行为147、第2行为258、第3行为369,将上述三行进行收尾相连后最终得到的不规则密文字符串为:147258369。
[0044] 将密文字符串转换成与预先设定的颜色数值表相关的位字符串;
[0045] 将模式指示符、字符计数指示符、终止符加入位字符串中,形成数据位流,在实际应用中,模式指示符、字符计数指示符可位于数据位流之前,终止符可位于数据位流之后;
[0046] 通过RS纠错算法进行纠错,生成纠错码字;
[0047] 将纠错码字进行进制转换,并添加至数据位流中(在实际应用中,可将纠错码字添加至数据位流之后),形成最终的密文数据码字序列。
[0048] 基于上述方案,所采用的加密规则兼具可靠性高、解码方便的优势,使得最终生成的彩色二维码具有极佳的防伪能力。
[0049] 可选地,预先设定的颜色数值表采用四进制数表示;则将密文字符串转换成与预先设定的颜色数值表相关的位字符串,具体包括:
[0050] 将密文字符串按照字符的先后排列顺序依序分为多组,两两为一组;
[0051] 将分组后的每组数据转换为四进制数(例如:99转换为四进制数为1203),若转化后的四进制数小于4位,则在最高位前填充0进行位数补充,最后形成位字符串。
[0052] 在实际应用中,预先设定的颜色数值表也可以采用其他方式进行表示,例如八进制数等,不管采用何种表示方法,颜色数值表中的颜色优选为深色,即具有最大对比度和差异性的颜色,以提高彩色二维码的可识别性,而颜色的选择可根据欧式距离原则来判断,在本申请实施例中,四进制数0、1、2、3可分别对应于红色、绿色、蓝色、黄色,如图1所示。
[0053] 在第一方面的某些可能实现的方式中,将加密信息转换为颜色信息,并根据颜色信息,在QR码点阵图数据区的黑色模块上填充相应颜色,具体包括:
[0054] 将密文数据码字序列与颜色数值表进行一一映射;
[0055] 根据映射结果,对QR码点阵图数据区的黑色模块按照从左往右、从上往下的顺序依次进行颜色填充,填充过程中,若当前黑色模块具有功能图形,则跳过该黑色模块至下一黑色模块;
[0056] 将密文数据码字序列全部在QR码点阵图数据区的黑色模块上转化为对应颜色。
[0057] 基于上述方案,能够在对核心原始信息的编码结果没有丝毫影响的前提下,将附加信息的彩色编码结果与原始信息的黑白编码结果很好地兼容在一起,在保证低成本的同时也进一步提高了整个编译码结果的可靠性。
[0058] 在第一方面的某些可能实现的方式中,将原始信息按照QR码的编码规则,生成QR码点阵图,具体包括:
[0059] 对原始信息进行分析,按照QR码的编码规则将原始信息进行数据编码,形成数据码字;
[0060] 对数据码字进行纠错编码,得到纠错码字;
[0061] 将功能图形、数据码字、纠错码字放入QR码结构中,生成QR码点阵图;
[0062] 为了防止二维码中出现含有大面积空白或黑色模块,导致识别困难,将掩膜模版与生成的QR码点阵图进行异或运算,对异或运算后的结果图形进行计分,选择得分最低的图形作为最终的QR码点阵图。
[0063] 第二方面,本申请实施例中提供了一种由第一方面生成的复合彩色二维码的解码方法,该方法可以由二维码解码装置来执行,也可以由配置在二维码解码装置内部的部件,如芯片、芯片系统等来执行,还可以由具有部分或全部二维码解码装置功能的逻辑模块或软件等来实现。本申请对此不作限定。
[0064] 示例性地,该解码方法包括:
[0065] 对包含原始信息的黑白QR码点阵图进行解码,得到原始信息;
[0066] 对包含附加信息的彩色QR码点阵图进行解码,得到附加信息,具体包括:
[0067] 根据QR码点阵图中位置探测图形的位置信息,确定附加信息的起始位置,从左上方位置探测图形到左下方位置探测图形之间的数据区域开始读取信息,按照从左往右、从上往下的顺序依次遍历读取每个模块,读取过程中,若当前模块具有功能图形,则跳过该模块至下一模块;
[0068] 当读取模块时,先确定当前模块的颜色信息,然后根据颜色数值表反向获取该模块对应的四进制数,再根据加密时的字符排列规则(排列顺序依次为:模式指示符、字符字数指示符、数据位流、终止符、纠错码字),反向依次提取出每个字符,恢复四进制数据位流;
[0069] 对已恢复的四进制数据位流进行分组,每4位一组,重新组合成数据字流,对数据字流进行纠错,获得对应的数据码字序列;
[0070] 根据编码的规则,逆向对获得的数据码字序列进行操作,得到加密后的附加信息,再将加密后的附加信息进行解密,得到附加信息。
[0071] 在第二方面的某些可能实现的方式中,对包含原始信息的黑白QR码点阵图进行解码,得到原始信息,具体包括:
[0072] 图像预处理;
[0073] 建立取样网格;
[0074] 去除掩膜;
[0075] 反向译码;
[0076] 得到原始信息。
[0077] 第三方面,本申请实施例中提供了一种装置,该装置为生成装置,该生成装置包括用于实现前述生成方法的模块,或者,该装置为解码装置,该解码装置包括用于实现前述解码方法的模块。
[0078] 示例性地,如图2所示,该生成装置包括:
[0079] 原始信息编码模块101:用于将原始信息按照QR码的编码规则,生成QR码点阵图;
[0080] 附加信息加密模块102:用于将附加信息进行加密,得到加密信息;
[0081] 色彩填充模块103:用于将加密信息转换为颜色信息,并根据颜色信息,在QR码点阵图数据区的黑色模块上填充相应颜色;
[0082] 复合生成模块104:用于最终生成复合彩色二维码并进行输出。
[0083] 在第三方面的某些可能实现的方式中,如图3所示,附加信息加密模块102包括:
[0084] 模式识别单元1021:用于对附加信息的编码模式进行识别;
[0085] 第一分组单元1022:用于将附加信息按照字符的先后排列顺序依序分为N组,其中:前N‑1组的字符数均为M,1≤第N组的字符数≤M,且M>1、N>1;
[0086] 第一字符串生成单元1023:用于从第一组中的第一个字符开始,将每一组中的第P个字符依次提取出来、并将提取出来的字符依次排列组合成一行字符串序列、形成第P行字符串,直到第M行字符串形成完毕,最终得到总行数为M的字符串序列,其中:1≤P≤M;
[0087] 第二字符串生成单元1024:用于从第一行开始,将所有的M行字符串序列以行为单位依次进行首尾相连,最终形成一行不规则的密文字符串;
[0088] 第三字符串生成单元1025:用于将密文字符串转换成与预先设定的颜色数值表相关的位字符串;
[0089] 指示符加入单元1026:用于将模式指示符、字符计数指示符、终止符加入位字符串中,形成数据位流;
[0090] 第一纠错单元1027:用于通过RS纠错算法进行纠错,生成纠错码字;
[0091] 密文数据生成单元1028:用于将纠错码字进行进制转换,并添加至数据位流中,形成最终的密文数据码字序列。
[0092] 可选地,预先设定的颜色数值表采用四进制数表示,则如图4所示,第三字符串生成单元1025包括:
[0093] 第二分组单元10251:用于将密文字符串按照字符的先后排列顺序依序分为多组,两两为一组;
[0094] 转换单元10252:用于将分组后的每组数据转换为四进制数,最后形成位字符串;
[0095] 补位单元10253:用于若转化后的四进制数小于4位,则在最高位前填充0进行位数补充。
[0096] 在第三方面的某些可能实现的方式中,如图5所示,色彩填充模块103包括:
[0097] 映射单元1031:用于将密文数据码字序列与颜色数值表进行一一映射;
[0098] 填充单元1032:用于根据映射结果,对QR码点阵图数据区的黑色模块按照从左往右、从上往下的顺序依次进行颜色填充,将密文数据码字序列全部在QR码点阵图数据区的黑色模块上转化为对应颜色。
[0099] 第一跳过单元1033:用于填充过程中,若当前黑色模块具有功能图形,则跳过该黑色模块至下一黑色模块;
[0100] 在第三方面的某些可能实现的方式中,如图6所示,原始信息编码模块101包括:
[0101] 数据编码单元1011:用于对原始信息进行分析,按照QR码的编码规则将原始信息进行数据编码,形成数据码字;
[0102] 纠错编码单元1012:用于对数据码字进行纠错编码,得到纠错码字;
[0103] QR码生成单元1013:用于将功能图形、数据码字、纠错码字放入QR码结构中,生成QR码点阵图;
[0104] 掩膜单元1014:用于将掩膜模版与生成的QR码点阵图进行异或运算,对异或运算后的结果图形进行计分,选择得分最低的图形作为最终的QR码点阵图。
[0105] 示例性地,如图7所示,该解码装置包括:
[0106] 原始信息解码模块201:用于对包含原始信息的黑白QR码点阵图进行解码,得到原始信息;
[0107] 附加信息解码模块202:用于对包含附加信息的彩色QR码点阵图进行解码,得到附加信息;
[0108] 附加信息解码模块202具体包括:
[0109] 位置确定单元2021:用于根据QR码点阵图中位置探测图形的位置信息,确定附加信息的起始位置;
[0110] 遍历读取单元2022:用于按照从左往右、从上往下的顺序依次遍历读取每个模块;
[0111] 第二跳过单元2023:用于读取过程中,若当前模块具有功能图形,则跳过该模块至下一模块;
[0112] 第一恢复单元2024:用于当读取模块时,先确定当前模块的颜色信息,然后根据颜色数值表反向获取该模块对应的四进制数,再根据加密时的字符排列规则,反向依次提取出每个字符,恢复四进制数据位流;
[0113] 第二恢复单元2025:用于对已恢复的四进制数据位流进行分组,每4位一组,重新组合成数据字流,对数据字流进行纠错,获得对应的数据码字序列;
[0114] 加密信息获取单元2026:用于根据编码的规则,逆向对获得的数据码字序列进行操作,得到加密后的附加信息;
[0115] 第一解密单元2027:用于将加密后的附加信息进行解密,得到附加信息。
[0116] 在第三方面的某些可能实现的方式中,如图8所示,原始信息解码模块201包括:
[0117] 预处理单元2011:用于进行图像预处理;
[0118] 取样单元2012:用于建立取样网格;
[0119] 掩膜去除单元2013:用于去除掩膜;
[0120] 第二解密单元2014:用于进行反向译码,得到原始信息。
[0121] 第四方面,本申请实施例中提供了一种设备,示例性地,该设备包括:
[0122] 存储器;
[0123] 处理器;以及
[0124] 计算机程序;
[0125] 其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现前述的生成方法,或者,被配置为由所述处理器执行以实现前述的解码方法。
[0126] 第五方面,本申请实施例中提供了一种计算机可读存储介质,示例性地,该可读存储介质上存储有计算机程序;所述计算机程序被处理器执行以实现前述的生成方法,或者,以实现前述的解码方法。
[0127] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。本申请实施例中的方案可以采用各种计算机语言实现,例如,C语言、VHDL语言、Verilog语言、面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
[0128] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
[0129] 尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0130] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页 第1页 第2页 第3页
相关技术
复合生成相关技术
安全性容量相关技术
刘国东发明人的其他相关专利技术