CN107644245A - 三值二维码生成方法、解码方法及装置 - Google Patents
三值二维码生成方法、解码方法及装置 Download PDFInfo
- Publication number
- CN107644245A CN107644245A CN201710856289.0A CN201710856289A CN107644245A CN 107644245 A CN107644245 A CN 107644245A CN 201710856289 A CN201710856289 A CN 201710856289A CN 107644245 A CN107644245 A CN 107644245A
- Authority
- CN
- China
- Prior art keywords
- character string
- data message
- quick response
- code
- character
- 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.)
- Pending
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供一种三值二维码生成方法、解码方法及装置,该生成方法包括:根据第一数据信息和第二数据信息的长度以及预定的纠错级别确定第一数据信息对应的第一二维码的版本,并生成第一数据信息的第一纠错码;对第一数据信息和第一纠错码进行二进制序列化,得到第一字符串;根据第一字符串和该纠错级别确定第二数据信息对应的第二二维码的版本,并生成第二数据信息的第二纠错码;对第二数据信息和第二纠错码进行二进制序列化,得到第二字符串;根据预置编码方法将第二字符串叠加至第一字符串上,得到第三字符串;根据第三字符串生成三值二维码。本发明实现了通过简单快捷的编解码方法即可扩充二维码数据容量。
Description
技术领域
本申请涉及二维码技术领域,具体涉及一种三值二维码生成方法、解码方法及装置。
背景技术
二维码,是近几年来非常流行的一种编码方式,通过某种特定的几何图形按一定规律在平面(二维方向)上分布黑白相间的图形来记录数据符号信息;在代码编制上利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值等信息,通过图象输入设备或光电扫描设备自动识读以实现信息的自动处理,是一种“0/1”二值的二维码。它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点,可以把图片、声音、文字、签字、指纹等可以数字化的信息进行编码,用条码表示出来;可以表示多种语言文字;可表示图像数据,使用目前市场上的二维码扫描器进行扫描即可识别读取。
为了能够有更好的纠错能力,减少因放大、缩小、少量损坏或污点的情况下仍能被正确读识,当前方案在二维码的格式信息、版本信息和数据信息等部分中添加了纠错码,虽然在一定程序上解决了纠错的问题,但却导致了另外一个问题,即在二维码本身有限的总容量中,纠错码会占用一定的字节数;同时受二维码扫描设备分辨率的影响,及二维码原图大小与显示设备之间的关系所限,所制作的二维码版本不可能特别高。因此,无法在确保纠错、兼容等特性的前提下简单通过不断加大二维码版本等方式来扩充其容量。
针对上述二维码容量不足的问题,目前有一些通过复杂的多进制编码和图像处理来解决该问题的解决方案,但这些方案通常都存在编码解码过程复杂繁琐、消耗较多系统资源、解码响应较慢等问题。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种通过简单快捷的编解码方法扩充二维码数据容量的三值二维码生成方法、解码方法及装置。
第一方面,本发明提供一种三值二维码生成方法,包括:
根据第一数据信息和第二数据信息的长度以及预定的纠错级别确定第一数据信息对应的第一二维码的版本,并生成第一数据信息的第一纠错码;
对第一数据信息和第一纠错码进行二进制序列化,得到第一字符串;
根据第一字符串和该纠错级别确定第二数据信息对应的第二二维码的版本,并生成第二数据信息的第二纠错码;
对第二数据信息和第二纠错码进行二进制序列化,得到第二字符串;
根据预置编码方法将第二字符串叠加至第一字符串上,得到第三字符串;
根据第三字符串生成三值二维码。
第二方面,本发明提供一种三值二维码生成装置,包括第一配置单元、第一序列化单元、第二配置单元、第二序列化单元、叠加单元和生成单元。
第一配置单元配置用于根据第一数据信息和第二数据信息的长度以及预定的纠错级别确定第一数据信息对应的第一二维码的版本,并生成第一数据信息的第一纠错码;
第一序列化单元配置用于对第一数据信息和第一纠错码进行二进制序列化,得到第一字符串;
第二配置单元配置用于根据第一字符串和该纠错级别确定第二数据信息对应的第二二维码的版本,并生成第二数据信息的第二纠错码;
第二序列化单元配置用于对第二数据信息和第二纠错码进行二进制序列化,得到第二字符串;
叠加单元配置用于根据预置编码方法将第二字符串叠加至第一字符串上,得到第三字符串;
生成单元配置用于根据第三字符串生成三值二维码。
第三方面,本发明提供一种三值二维码解码方法,包括:
获取二维码图像;
对该二维码图像进行三进制序列化,得到第三字符串;
根据预置解码方法从第三字符串中解码获得第二字符串和第一字符串;
分别对第一字符串和第二字符串进行解码,得到第一数据信息和第二数据信息。
第四方面,本发明提供一种三值二维码解码装置,包括图像获取单元、第三序列化单元、第一解码单元和第二解码单元。
图像获取单元配置用于获取二维码图像;
第三序列化单元配置用于对该二维码图像进行三进制序列化,得到第三字符串;
第一解码单元配置用于根据预置解码方法从第三字符串中解码获得第二字符串和第一字符串;
第二解码单元配置用于分别对第一字符串和第二字符串进行解码,得到第一数据信息和第二数据信息。
第五方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的方法。
第六方面,本发明还提供一种存储有计算机程序的计算机可读存储介质,该计算机程序使计算机执行根据本发明各实施例提供的方法。
本发明诸多实施例提供的三值二维码生成方法、解码方法及装置通过将两份数据信息分别转换得到的二进制字符串叠加成三进制字符串,从而生成三值二维码,并对扫描三值二维码得到的三进制字符串进行简单解码获得两个二进制字符串,再通过常规解码还原两份数据信息,实现了通过简单快捷的编解码方法即可扩充二维码数据容量;
本发明一些实施例提供的三值二维码生成方法、解码方法及装置进一步通过设置标识图案,以及将第三色配置为灰色,使得生成的三值二维码可以有效兼容常规的二值二维码,即便未配置本发明提供的解码方法,也可以通过常规解码方式解码获得作为显式数据的第一数据信息,而无法获得作为隐式数据的第二数据信息。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种三值二维码生成方法的流程图。
图2为图1所示方法的一种优选实施方式中步骤S11的流程图。
图3为图1所示方法的一种优选实施方式的流程图。
图4为图1所示方法的一种优选实施方式中步骤S16的流程图。
图5为通过图4所示方法生成的一例三值二维码的示意图。
图6为本发明一实施例提供的一种三值二维码生成装置的结构示意图。
图7为图6所示装置的一种优选实施方式的结构示意图。
图8为图6所示装置的一种优选实施方式的结构示意图。
图9为本发明一实施例提供的一种三值二维码解码方法的流程图。
图10为图9所示方法的一种优选实施方式的流程图。
图11为本发明一实施例提供的一种三值二维码解码装置的结构示意图。
图12为图11所示装置的一种优选实施方式的结构示意图。
图13为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种三值二维码生成方法的流程图。
如图1所示,在本实施例中,本发明提供的三值二维码生成方法包括:
S11:根据第一数据信息和第二数据信息的长度以及预定的纠错级别确定第一数据信息对应的第一二维码的版本,并生成第一数据信息的第一纠错码。
具体地,在一些实施例中,无需考虑将两项数据信息分别确定为显式数据(可以通过常规的二维码解码方法对三值二维码进行解码获得)和隐式数据(隐藏数据,无法通过常规的二维码解码方法解码获得)时,将数据长度更长的一项数据信息确定为第一数据信息,将数据长度更短的一项数据信息确定为第二数据信息。
在另一些实施例中,需要区分显式数据和隐式数据,则不考虑两项数据信息的长短,将需要作为显式数据的数据信息确定为第一数据信息,将需要作为隐式数据的数据信息确定为第二数据信息。
在上述两类实施例中,确定第一数据信息和第二数据信息后,再根据第一数据信息的长度len1和第二数据信息的长度len2以及预先指定的纠错级别确定第一数据信息对应的第一二维码的版本,并生成第一数据信息的第一纠错码。
在步骤S11中,若采用本领域在常规的二维码生成过程中所采用的直接根据数据信息的长度确定其对应的二维码版本的技术手段来确定第一二维码的版本,会导致在后续的编码中只能对长度较短的第二数据信息编码成功,而对于长度较长的第二数据信息就会编码失败,需要返回步骤S11重新向上调整第一二维码的版本,导致编码过程繁琐;而本发明采用的综合第二数据信息的长度来确定第一数据信息对应的第一二维码的版本和纠错码的技术手段,可以有效避免该问题,提升和保障编码的成功率和效率。
图2为图1所示方法的一种优选实施方式中步骤S11的流程图。如图2所示,在一优选实施例中,步骤S11包括:
S111:判断第一数据信息的长度是否大于第二数据信息的两倍长度(len1>2len2?):
是,则执行步骤S112:根据第一数据信息的长度len1和预定的纠错级别确定第一二维码的版本,并生成第一数据信息的第一纠错码;
否,则执行步骤S113:根据第二数据信息的两倍长度2len2和预定的纠错级别确定第一二维码的版本,并生成第一数据信息的第一纠错码。
具体地,在本实施例中,将第二数据信息的两倍长度2len2配置为判断阈值,经过发明人的实践探索证明,该判断阈值在采用本发明下文将要介绍的编码方法时,可以在有效保障成功进行编码的同时,避免设置过高的第一二维码的版本而导致浪费二维码数据容纳空间或二维码分辨率过高影响扫描成功率。在更多实施例中,也可以将判断阈值配置为与第二数据信息的两倍长度2len2大小较为接近的不同阈值,或在采用不同编码方法时配置相对应的不同判断阈值,可实现相同的技术效果。
S12:对第一数据信息和第一纠错码进行二进制序列化,得到第一字符串。
具体地,步骤S12中的二进制序列化可采用本领域常用的任意一种编码方法,具体过程与本领域根据数据信息生成二值二维码时转换为0/1编码的过程相同,此处不再赘述。
S13:根据第一字符串和该纠错级别确定第二数据信息对应的第二二维码的版本,并生成第二数据信息的第二纠错码。
具体地,为了实现较为简单的编码和解码,在本实施例中采用将第二数据信息转换得到的第二字符串叠加至第一字符串的字符1上的编码方法;同时为了充分进行扩容,在本实施例中采用根据第一字符串中所有字符1的数量和预先指定的纠错级别来确定第二数据信息对应的第二二维码的版本,并生成第二数据信息的第二纠错码。其中,第一二维码和第二二维码所预配置的纠错级别是相同的。
图3为图1所示方法的一种优选实施方式的流程图。如图3所示,在一优选实施例中,步骤S13包括:
S131:根据第一字符串中字符1的数量确定第二二维码的最大可用长度;
S132:根据第二二维码的最大可用长度、第二数据信息的长度以及预定的纠错级别确定第二二维码的版本;
S133:根据第二二维码的版本和该纠错级别生成第二数据信息的第二纠错码。
在另一些实施例中,为了在保持编解码简单的同时,进一步对编码方法进行加密,可以采用设置自定义的编码方法选择第一字符串中的部分字符1和预定的纠错级别来确定第二数据信息对应的第二二维码的版本并生成第二数据信息的第二纠错码的方法,例如根据自定义的函数选择第一字符串中4/5的字符1,等。在这些实施例中,需要相对应地调整步骤S11中配置的判断阈值,同时在下文将要介绍的解码方法中需要配置相对应的补充在该编码过程中被筛选过滤的字符1的解码方法,例如补充未被选择的1/5的字符1。
S14:对第二数据信息和第二纠错码进行二进制序列化,得到第二字符串。
具体地,在本实施例中,步骤S14中采用与步骤S12相同的编码方法来进行二进制序列化。在更多实施例中,也可以将步骤S12和步骤S14配置为采用两种不同的编码方法分别进行二进制序列化。
S15:根据预置编码方法将第二字符串叠加至第一字符串上,得到第三字符串。
具体地,如上文所述,本发明主要采用将第二字符串叠加至第一字符串的字符1上的方法。在本实施例中,为保障编解码的简易性,将第二字符串按序依次叠加至第一字符串的字符1上,得到由字符0/1/2组成的三进制的第三字符串。
同样如图3所示,在一优选实施例中,步骤S15包括:
S151:将第二字符串的各字符分别叠加至第一字符串的各字符1上。
在更多实施例中,当需要进一步保障编解码的安全性时,可以采用自定义的编码方法进行乱序叠加或筛选性叠加等不同的叠加方法,只要在解码方法中配置对应的解码方法,即可实现相同的技术效果。
另需要说明以下两点:由于步骤S16中的目标是根据三进制字符串生成三值二维码,因此步骤S15中通常不采用对同一位字符进行多次叠加的叠加方法;
当因为步骤S11中的判断阈值配置不当,导致步骤S15中第一字符串的各字符1不足以叠加第二字符串的所有字符时,需要重新调整第一二维码的版本。
S16:根据第三字符串生成三值二维码。
具体地,为第三字符串的三进制配置三种颜色,即可生成三值二维码。在本实施例中,将字符0配置为白色,将字符1配置为黑色,将字符2配置为灰色。在更多实施例中,可根据实际需求为各字符配置不同的颜色。
更进一步地,在未配置本发明提供的解码方法或解码装置时,通过常规的二维码解码方法可以从三值二维码的图像中获得第一字符串,从而解码获得作为显式数据的第一数据信息,而无法获得作为隐式数据的第二数据信息。
图4为图1所示方法的一种优选实施方式中步骤S16的流程图。如图4所示,在一优选实施例中,步骤S16包括:
S161:将第三字符串的三种进制分别配置为三种颜色;
S162:根据第三字符串生成定位图形中包括标识图案的三值二维码。
具体地,该标识图案用于标识该二维码是三值二维码。图5为通过图4所示方法生成的一例三值二维码的示意图。如图5所示,在本实施例中,该标识图案为定位图形的中心点,颜色为灰色。在更多实施例中,还可将该标识图案配置为任意形状、包含黑白色之外第三色的任意颜色组合的图案,均可实现相同的技术效果。
上述各实施例通过将两份数据信息分别转换得到的二进制字符串叠加成三进制字符串,从而生成三值二维码,并对扫描三值二维码得到的三进制字符串进行简单解码获得两个二进制字符串,再通过常规解码还原两份数据信息,实现了通过简单快捷的编解码方法即可扩充二维码数据容量;
并进一步通过设置标识图案,以及将第三色配置为灰色,使得生成的三值二维码可以有效兼容常规的二值二维码,即便未配置本发明提供的解码方法,也可以通过常规解码方式解码获得作为显式数据的第一数据信息,而无法获得作为隐式数据的第二数据信息。
图6为本发明一实施例提供的一种三值二维码生成装置的结构示意图。图6所示的装置可对应执行图1-2所示的方法。
如图6所示,在本实施例中,本发明提供一种三值二维码生成装置,包括第一配置单元11、第一序列化单元12、第二配置单元13、第二序列化单元14、叠加单元15和生成单元16。
第一配置单元11配置用于根据第一数据信息和第二数据信息的长度以及预定的纠错级别确定第一数据信息对应的第一二维码的版本,并生成第一数据信息的第一纠错码;
第一序列化单元12配置用于对第一数据信息和第一纠错码进行二进制序列化,得到第一字符串;
第二配置单元13配置用于根据第一字符串和该纠错级别确定第二数据信息对应的第二二维码的版本,并生成第二数据信息的第二纠错码;
第二序列化单元14配置用于对第二数据信息和第二纠错码进行二进制序列化,得到第二字符串;
叠加单元15配置用于根据预置编码方法将第二字符串叠加至第一字符串上,得到第三字符串;
生成单元16配置用于根据第三字符串生成三值二维码。
该装置的具体编码方法参见图1和图2所示的方法,此处不再赘述。
在一优选实施例中,第一配置单元11进一步配置用于判断第一数据信息的长度是否大于第二数据信息的两倍长度:
是,则根据第一数据信息的长度和预定的纠错级别确定第一二维码的版本,并生成第一数据信息的第一纠错码;
否,则根据第二数据信息的两倍长度和预定的纠错级别确定第一二维码的版本,并生成第一数据信息的第一纠错码。
图7为图6所示装置的一种优选实施方式的结构示意图。图7所示的装置可对应执行图3所示的方法。
如图7所示,在一优选实施例中,第二配置单元13包括长度确定子单元131和参数配置子单元132。
长度确定子单元131配置用于根据第一字符串中字符1的数量确定第二二维码的最大可用长度;
参数配置子单元132配置用于根据第二二维码的最大可用长度、第二数据信息的长度以及预定的纠错级别确定第二二维码的版本,以及,并生成第二数据信息的第二纠错码。
在一优选实施例中,叠加单元15进一步配置用于将第二字符串的各字符分别叠加至第一字符串的各字符1上。
图8为图6所示装置的一种优选实施方式的结构示意图。图8所示的装置可对应执行图4所示的方法。
如图8所示,在一优选实施例中,生成单元16包括颜色配置子单元161和绘制子单元162。
颜色配置子单元161配置用于将第三字符串的三种进制分别配置为三种颜色;
绘制子单元162配置用于根据第三字符串生成定位图形中包括标识图案的三值二维码。其中,该标识图案用于标识该二维码是三值二维码。
图9为本发明一实施例提供的一种三值二维码解码方法的流程图。图9所示的方法可对图1所示方法或图6所示装置生成的三值二维码进行解码。
如图9所示,在本实施例中,本发明提供一种三值二维码解码方法,包括:
S21:获取二维码图像;
S23:对该二维码图像进行三进制序列化,得到第三字符串;
S24:根据预置解码方法从第三字符串中解码获得第二字符串和第一字符串;
S25:分别对第一字符串和第二字符串进行解码,得到第一数据信息和第二数据信息。
具体地,在步骤S21中,通常以扫描三值二维码的方式获取三色的二维码图像,也可以通过其它本领域常见的识别图片中的二维码图像等不同方式进行二维码图像的获取;在步骤S23中,对三色的二维码图像进行三进制序列化,得到包括字符0/1/2的第三字符串;在步骤S24中,根据预置的与图1所示编码方法对应的解码方法对第三字符串进行解码,获得二进制的第一字符串和第二字符串;最后在步骤S25中分别对第一字符串和第二字符串进行常规的二维码解码,分别得到第一数据信息和第二数据信息。
在步骤S24的解码方法中,由于在编码方法中只在第一字符串的字符1上进行叠加。
因此,在一些实施例中,编码方法中第二字符串对第一字符串的所有字符1进行叠加,则可以通过过滤第三字符串的字符0获取到第二字符串的各叠加位;
在另一些实施例中,编码方法中第二字符串对第一字符串的字符1进行筛选叠加或乱序叠加,则可以在过滤第三字符串的字符0之后通过同样的筛选或乱序逻辑获取到第二字符串的各叠加位。
获取到各叠加位后,进行减1操作,即可得到第二字符串,并根据第三字符串和第二字符串解码出第一字符串。
图10为图9所示方法的一种优选实施方式的流程图。图10所示的方法可以兼容对常规二维码进行解码。
如图10所示,在一优选实施例中,上述解码方法进一步包括:
S22:识别该二维码图像的定位图形是否包括三值二维码的标识图案:若不包括,则对该二维码图像进行常规解码。
图11为本发明一实施例提供的一种三值二维码解码装置的结构示意图。图11所示的解码装置可对应执行图8所示的解码方法。
如图11所示,在本实施例中,本发明提供一种三值二维码解码装置,包括图像获取单元21、第三序列化单元23、第一解码单元24和第二解码单元25。
图像获取单元21配置用于获取二维码图像;
第三序列化单元23配置用于对该二维码图像进行三进制序列化,得到第三字符串;
第一解码单元24配置用于根据预置解码方法从第三字符串中解码获得第二字符串和第一字符串;
第二解码单元25配置用于分别对第一字符串和第二字符串进行解码,得到第一数据信息和第二数据信息。
该解码装置的解码原理参见图9所示的方法,此处不再赘述。
在一优选实施例中,第一解码单元24包括第二字符串生成子单元和第一字符串生成子单元。
第二字符串生成子单元配置用于过滤第三字符串中的字符0,并对剩余字符进行减一操作,得到第二字符串;
第一字符串生成子单元配置用于将第三字符串的各非0字符分别减去第二字符串中的对应字符,得到第一字符串。
图12为图11所示装置的一种优选实施方式的结构示意图。图12所示的解码装置可对应执行图10所示的方法。
如图12所示,在一优选实施例中,上述三值二维码解码装置还包括识别单元22和第三解码单元26。
识别单元22配置用于识别该二维码图像的定位图形是否包括三值二维码的标识图案;
第三解码单元26配置用于在识别结果为不包括时对该二维码图像进行常规解码。
图13为本发明一实施例提供的一种设备的结构示意图。
如图13所示,作为另一方面,本申请还提供了一种设备1300,包括一个或多个中央处理单元(CPU)1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从存储部分1308加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。在RAM1303中,还存储有设备1300操作所需的各种程序和数据。CPU1301、ROM1302以及RAM1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
以下部件连接至I/O接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
特别地,根据本公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行该方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请任一实施例提供的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (20)
1.一种三值二维码生成方法,其特征在于,包括:
根据第一数据信息和第二数据信息的长度以及预定的纠错级别确定所述第一数据信息对应的第一二维码的版本,并生成第一数据信息的第一纠错码;
对所述第一数据信息和所述第一纠错码进行二进制序列化,得到第一字符串;
根据所述第一字符串和所述纠错级别确定所述第二数据信息对应的第二二维码的版本,并生成第二数据信息的第二纠错码;
对所述第二数据信息和所述第二纠错码进行二进制序列化,得到第二字符串;
根据预置编码方法将所述第二字符串叠加至所述第一字符串上,得到第三字符串;
根据所述第三字符串生成三值二维码。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一字符串和所述纠错级别确定所述第二数据信息对应的第二二维码的版本,并生成第二数据信息的第二纠错码包括:
根据所述第一字符串中字符1的数量确定第二二维码的最大可用长度;
根据第二二维码的最大可用长度、第二数据信息的长度和所述纠错级别确定第二二维码的版本;
根据所述第二二维码的版本和所述纠错级别生成所述第二数据信息的第二纠错码。
3.根据权利要求2所述的方法,其特征在于,所述根据预置编码方法将所述第二字符串叠加至所述第一字符串上,得到第三字符串包括:
将所述第二字符串的各字符分别叠加至所述第一字符串的各字符1上。
4.根据权利要求1所述的方法,其特征在于,所述根据第一数据信息和第二数据信息的长度以及预定的纠错级别确定所述第一数据信息对应的第一二维码的版本,并生成第一数据信息的第一纠错码包括:
判断第一数据信息的长度是否大于第二数据信息的两倍长度:
是,则根据第一数据信息的长度和预定的纠错级别确定第一二维码的版本,并生成第一数据信息的第一纠错码;
否,则根据第二数据信息的两倍长度和预定的纠错级别确定第一二维码的版本,并生成第一数据信息的第一纠错码。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第三字符串生成三值二维码包括:
将第三字符串的三种进制分别配置为三种颜色;
根据第三字符串生成定位图形中包括标识图案的三值二维码;
其中,所述标识图案用于标识该二维码是三值二维码。
6.根据权利要求5所述的方法,其特征在于,将字符0置为白色、字符1置为黑色、字符2置为灰色,所述标识图案为定位图形的灰色中心点。
7.一种三值二维码生成装置,其特征在于,包括:
第一配置单元,配置用于根据第一数据信息和第二数据信息的长度以及预定的纠错级别确定所述第一数据信息对应的第一二维码的版本,并生成第一数据信息的第一纠错码;
第一序列化单元,配置用于对所述第一数据信息和所述第一纠错码进行二进制序列化,得到第一字符串;
第二配置单元,配置用于根据所述第一字符串和所述纠错级别确定所述第二数据信息对应的第二二维码的版本,并生成第二数据信息的第二纠错码;
第二序列化单元,配置用于对所述第二数据信息和所述第二纠错码进行二进制序列化,得到第二字符串;
叠加单元,配置用于根据预置编码方法将所述第二字符串叠加至所述第一字符串上,得到第三字符串;
生成单元,配置用于根据所述第三字符串生成三值二维码。
8.根据权利要求7所述的装置,其特征在于,所述第二配置单元包括:
长度确定子单元,配置用于根据所述第一字符串中字符1的数量确定第二二维码的最大可用长度;
参数配置子单元,配置用于根据第二二维码的最大可用长度、第二数据信息的长度和所述纠错级别确定第二二维码的版本,以及,根据所述第二二维码的版本和所述纠错级别生成所述第二数据信息的第二纠错码。
9.根据权利要求8所述的装置,其特征在于,所述叠加单元进一步配置用于将所述第二字符串的各字符分别叠加至所述第一字符串的各字符1上。
10.根据权利要求7所述的装置,其特征在于,所述第一配置单元进一步配置用于判断第一数据信息的长度是否大于第二数据信息的两倍长度:
是,则根据第一数据信息的长度和预定的纠错级别确定第一二维码的版本,并生成第一数据信息的第一纠错码;
否,则根据第二数据信息的两倍长度和预定的纠错级别确定第一二维码的版本,并生成第一数据信息的第一纠错码。
11.根据权利要求7所述的装置,其特征在于,所述生成单元包括:
颜色配置子单元,配置用于将第三字符串的三种进制分别配置为三种颜色;
绘制子单元,配置用于根据第三字符串生成定位图形中包括标识图案的三值二维码;
其中,所述标识图案用于标识该二维码是三值二维码。
12.根据权利要求11所述的装置,其特征在于,所述颜色配置子单元进一步配置用于将字符0置为白色、字符1置为黑色、字符2置为灰色;
所述绘制子单元进一步用于将所述定位图形的中心点绘制为灰色作为标识图案。
13.一种三值二维码解码方法,其特征在于,包括:
获取二维码图像;
对所述二维码图像进行三进制序列化,得到第三字符串;
根据预置解码方法从所述第三字符串中解码获得第二字符串和第一字符串;
分别对所述第一字符串和所述第二字符串进行解码,得到第一数据信息和第二数据信息。
14.根据权利要求13所述的方法,其特征在于,所述根据预置解码方法从所述第三字符串中解码获得第二字符串和第一字符串包括:
过滤所述第三字符串中的字符0,并对剩余字符进行减一操作,得到第二字符串;
将所述第三字符串的各非0字符分别减去所述第二字符串中的对应字符,得到第一字符串。
15.根据权利要求13所述的方法,其特征在于,还包括:
识别所述二维码图像的定位图形是否包括三值二维码的标识图案:若不包括,则对所述二维码图像进行常规解码。
16.一种三值二维码解码装置,其特征在于,包括:
图像获取单元,配置用于获取二维码图像;
第三序列化单元,配置用于对所述二维码图像进行三进制序列化,得到第三字符串;
第一解码单元,配置用于根据预置解码方法从所述第三字符串中解码获得第二字符串和第一字符串;
第二解码单元,配置用于分别对所述第一字符串和所述第二字符串进行解码,得到第一数据信息和第二数据信息。
17.根据权利要求16所述的装置,其特征在于,所述第一解码单元包括:
第二字符串生成子单元,配置用于过滤所述第三字符串中的字符0,并对剩余字符进行减一操作,得到第二字符串;
第一字符串生成子单元,配置用于将所述第三字符串的各非0字符分别减去所述第二字符串中的对应字符,得到第一字符串。
18.根据权利要求16所述的装置,其特征在于,还包括:
识别单元,配置用于识别所述二维码图像的定位图形是否包括三值二维码的标识图案;
第三解码单元,配置用于在识别结果为不包括时对所述二维码图像进行常规解码。
19.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-6或13-15中任一项所述的方法。
20.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-6或13-15中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710856289.0A CN107644245A (zh) | 2017-09-21 | 2017-09-21 | 三值二维码生成方法、解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710856289.0A CN107644245A (zh) | 2017-09-21 | 2017-09-21 | 三值二维码生成方法、解码方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107644245A true CN107644245A (zh) | 2018-01-30 |
Family
ID=61113884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710856289.0A Pending CN107644245A (zh) | 2017-09-21 | 2017-09-21 | 三值二维码生成方法、解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107644245A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109902528A (zh) * | 2019-02-28 | 2019-06-18 | 尤尼泰克(嘉兴)信息技术有限公司 | 一种二维码的编解码方法 |
CN110704629A (zh) * | 2018-07-09 | 2020-01-17 | 北京京东尚科信息技术有限公司 | 一种确定字符集的方法和装置 |
CN113610203A (zh) * | 2021-06-28 | 2021-11-05 | 清华大学 | 快速响应矩阵码的位流编码方法及装置 |
CN114154605A (zh) * | 2021-11-30 | 2022-03-08 | 三维码(厦门)网络科技有限公司 | 一种加密三维码生成及识别方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090028448A1 (en) * | 2007-07-27 | 2009-01-29 | Hewlett-Packard Development Company, L.P. | Method of Generating a Sequence of Display Frames For Display on a Display Device |
CN104091189A (zh) * | 2014-05-07 | 2014-10-08 | 范京龙 | 微窗彩色二维码的编码和解码方法 |
CN104715275A (zh) * | 2015-04-02 | 2015-06-17 | 矽照光电(厦门)有限公司 | 一种灰色二维码的生成方法与生成装置 |
CN105976005A (zh) * | 2016-04-26 | 2016-09-28 | 鸿博股份有限公司 | 二维码加密方法、二维码生成设备和二维码扫描设备 |
CN106101662A (zh) * | 2016-08-18 | 2016-11-09 | 青岛晟铭网络科技有限公司 | 一种利用条码传输数据的系统和方法 |
CN106156820A (zh) * | 2015-03-25 | 2016-11-23 | 北大方正集团有限公司 | 二维码生成方法及装置 |
-
2017
- 2017-09-21 CN CN201710856289.0A patent/CN107644245A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090028448A1 (en) * | 2007-07-27 | 2009-01-29 | Hewlett-Packard Development Company, L.P. | Method of Generating a Sequence of Display Frames For Display on a Display Device |
CN104091189A (zh) * | 2014-05-07 | 2014-10-08 | 范京龙 | 微窗彩色二维码的编码和解码方法 |
CN106156820A (zh) * | 2015-03-25 | 2016-11-23 | 北大方正集团有限公司 | 二维码生成方法及装置 |
CN104715275A (zh) * | 2015-04-02 | 2015-06-17 | 矽照光电(厦门)有限公司 | 一种灰色二维码的生成方法与生成装置 |
CN105976005A (zh) * | 2016-04-26 | 2016-09-28 | 鸿博股份有限公司 | 二维码加密方法、二维码生成设备和二维码扫描设备 |
CN106101662A (zh) * | 2016-08-18 | 2016-11-09 | 青岛晟铭网络科技有限公司 | 一种利用条码传输数据的系统和方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704629A (zh) * | 2018-07-09 | 2020-01-17 | 北京京东尚科信息技术有限公司 | 一种确定字符集的方法和装置 |
CN109902528A (zh) * | 2019-02-28 | 2019-06-18 | 尤尼泰克(嘉兴)信息技术有限公司 | 一种二维码的编解码方法 |
CN109902528B (zh) * | 2019-02-28 | 2023-10-20 | 尤尼泰克(嘉兴)信息技术有限公司 | 一种二维码的编解码方法 |
CN113610203A (zh) * | 2021-06-28 | 2021-11-05 | 清华大学 | 快速响应矩阵码的位流编码方法及装置 |
CN113610203B (zh) * | 2021-06-28 | 2024-04-19 | 清华大学 | 快速响应矩阵码的位流编码方法及装置 |
CN114154605A (zh) * | 2021-11-30 | 2022-03-08 | 三维码(厦门)网络科技有限公司 | 一种加密三维码生成及识别方法及系统 |
CN114154605B (zh) * | 2021-11-30 | 2023-04-14 | 三维码(厦门)网络科技有限公司 | 一种加密三维码生成及识别方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9665817B2 (en) | Techniques for generating customized two-dimensional barcodes | |
CN109933756A (zh) | 基于ocr的图像转档方法、装置、设备及可读存储介质 | |
CN107644245A (zh) | 三值二维码生成方法、解码方法及装置 | |
US9177238B2 (en) | Techniques for generating customized two-dimensional barcodes | |
US20130153662A1 (en) | Barcode Photo-image Processing System | |
JP4557866B2 (ja) | 混合コード、及び、混合コードの生成方法と装置、記録媒体 | |
CN105447546B (zh) | 可嵌入大比例图形的二维码及其编码和解码方法和设备 | |
JP4515999B2 (ja) | 混合コードのデコーディング方法及びその装置、記録媒体 | |
JP4054339B2 (ja) | 情報埋込コード、情報埋込コードの生成方法、および情報埋込コードの生成装置 | |
JP4694613B2 (ja) | 原稿方向判定装置、原稿方向判定方法、プログラムおよびその記録媒体 | |
EP2948900B1 (en) | Modifying data-bearing images | |
CN101088100A (zh) | 混合码,产生混合码的方法和装置,以及对混合码进行解码的方法和装置 | |
CN106156820B (zh) | 二维码生成方法及装置 | |
US20130026240A1 (en) | Two-dimensional code, code generation system, program, and printed medium | |
CN110942074A (zh) | 字符切分识别方法、装置、电子设备、存储介质 | |
JP2019133303A (ja) | 情報処理装置、情報処理プログラム及び情報処理方法 | |
CN115660933B (zh) | 一种水印信息的识别方法、装置及设备 | |
TW201616852A (zh) | 半色調資料隱寫編碼系統及半色調資料隱寫解碼系統 | |
CN108319578B (zh) | 一种用于数据记录的介质的生成方法 | |
US8593697B2 (en) | Document processing | |
US7596270B2 (en) | Method of shuffling text in an Asian document image | |
CN111738901A (zh) | 存储介质以及图像处理装置 | |
US10936837B1 (en) | 2D barcode overlays | |
CN109358930A (zh) | 基于Linux系统智能识别二维码的方法、电子设备 | |
US8587837B2 (en) | Image processing apparatus embedding additional information in document data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180130 |