CN103544516B - 二维码的编、解码方法及二维码编码器、解码器 - Google Patents

二维码的编、解码方法及二维码编码器、解码器 Download PDF

Info

Publication number
CN103544516B
CN103544516B CN201210241774.4A CN201210241774A CN103544516B CN 103544516 B CN103544516 B CN 103544516B CN 201210241774 A CN201210241774 A CN 201210241774A CN 103544516 B CN103544516 B CN 103544516B
Authority
CN
China
Prior art keywords
code
data module
primary key
inline
sequence
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.)
Active
Application number
CN201210241774.4A
Other languages
English (en)
Other versions
CN103544516A (zh
Inventor
徐朝
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.)
China Mobile Communications Group Co Ltd
Original Assignee
China Mobile Communications Group 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 China Mobile Communications Group Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201210241774.4A priority Critical patent/CN103544516B/zh
Publication of CN103544516A publication Critical patent/CN103544516A/zh
Application granted granted Critical
Publication of CN103544516B publication Critical patent/CN103544516B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种二维码的编码方法及二维码编码器,用以解决采用现有技术提供的二维码编码方法导致解码得到主码信息准确率较低的问题。通过将主码信息和内嵌码信息编码为同一个二维码,从而避免了主码和内嵌码的相互干扰,使得后续对二维码解码得到的主码信息的准确率大大提高。本发明还公开了一种二维码的解码方法及二维码解码器。

Description

二维码的编、解码方法及二维码编码器、解码器
技术领域
本发明涉及终端及数据业务领域,尤其涉及二维码的编、解码方法及二维码编码器、解码器。
背景技术
二维码作为新一代图形码技术,因其快速便捷的读取方式、丰富的字符支持以及远高于条形码的容量而迅速得以普及和应用。
目前国际上比较典型的二维码编码标准如表1所示,其中在中国国内使用最多的是快速响应(QR,Quick Response)码。
表1:
QR码示意图如图1所示,从直观上看其是一个由根据字符信息组织成的许多小模块排列而成的方形印刷图案。该方形区域也称QR码的数据区域,由数据模块图像(即图中所示数据区域中的黑色或白色小方块)排列而成。数据区域的右上角、左上角以及左下角均有数据模块图像排列成的用于定位数据区域的定位图像。构成定位图像的数据模块图像也可以称为定位模块图像,对应于定位模块图像的数据模块也可以称为定位数据模块。根据数据区域的容量大小,QR码有如图2所示的不同版本,包括最小版本1(包含21×21个数据模块图像)到最大版本40(包含177×177个数据模块图像)共40个版本。版本越大,相应的QR码的数据容量越大,其印刷尺寸也越大。
QR码为二进制信息码,即任一数据模块图像仅使用两个不同灰度级别中的一个来表示。例如深色的数据模块图像用“1”(或255)这一灰度级别来表示,而浅色的数据模块图像则用“0”这一灰度级别来表示。
二维码本身属于图像信息,其依赖于扫描设备进行读取。在二维码的扫描过程中,印刷品上的污渍、划痕以及背景图像的像素这些干扰因素会导致扫描到的二维码与原始二维码不一致,即产生误码。为了消除干扰因素造成的误码,二维码编解码方案通常都包含纠错码编解码环节。以将信源信息编码为QR码为例,可以使用李德-所罗门等纠错算法(Reed-Solomon error correction)对信源信息进行纠错码编码,然后再根据纠错码编码得到的可纠错字节序列绘制QR码。通过纠错码编码这一环节,最终绘制的QR码为具备纠错能力的QR码。相应地,在解码阶段,QR码解码器利用李德-所罗门纠错算法,将噪声(即各种干扰因素所导致的误码)从对QR码进行解码后得到的可纠错字节序列中剔除,从而恢复最初的信源信息。
纠错码编码的原理依靠在信源信息中加入冗余信息来使二维码具备纠错能力,二维码中加入的冗余信息数量越多,其纠错能力越强。以二维码中加入的冗余信息数量为划分依据,可以将二维码的纠错能力划分为4个纠错级别,不同纠错级别与相应的纠错能力的对应关系如表2所示。其中,纠错级别由低至高分别为L级、M级、Q级、H级。
表2:
纠错级别 纠错能力(最大修复能力)
L级 大约7%的图像损失
M级 大约15%的图像损失
Q级 大约25%的图像损失
H级 大约30%的图像损失
L级的纠错能力能够实现在QR码损毁7%以内的情况下保证信源信息从QR码中被正确解码读出。H级的纠错能力能够实现在QR码损毁30%以内的情况下保证信源信息从QR码中正确解码读出。随着纠错级别的增加,QR码内对应于冗余信息的数据模块图像所占比例也相应增加。因此对于同一版本的QR码而言,纠错级别越高,QR码内承载冗余信息的数据模块图像也越多,从而实际能够承载的信源信息越少。
纠错级别的选择可以由QR码的使用者决定。比如H级的QR码多用在容易造成污损和划痕的工业制造(例如汽车零件制造)领域,L级的QR码多用在印刷品或电子产品(例如杂志、票据、电子器件等)中。在损毁风险较低的情况下,使用L级的QR码能够在确保信源信息准确传达的基础上尽可能多的承载信源信息。
二维码目前已经广泛的用于生产生活的各个领域,例如以二维码作为商品信息、名片信息、火车票、电影票以及各种证件等。二维码的广泛应用方便了各种信息的发布与读取,但是同时带来了如下的一些问题:
二维码是简单的图像信息,未经加密处理的二维码可以直接被二维码扫描设备读取。这种情况下,二维码内承载的信息如同公开的明文一样,不适合用于承载需要保密的信息。
针对该问题,有方案提出使用精细的印刷粒度来实现在二维码内加入内嵌信息,具体实现方式为:首先按照现有技术提供的方式将信源信息(这里的信源信息也可称为主码信息)编码为二维码(基于主码信息编码得到的二维码称主码),并将内嵌信息编码为二维码(基于内嵌信息编码得到的二维码称内嵌码);然后使用不同于主码所采用的灰度级别的其他灰度级别,来表示内嵌码;最后照主码数据模块图像大于内嵌码数据模块图像的印刷方式,将内嵌码数据模块图像印刷在主码数据模块图像上。在后续解码时,首先扫描同时印刷有主码、内嵌码的图像,并从该图像中扫描出内嵌码;然后根据内嵌码,从扫描到的同时印刷有主码、内嵌码的图像中解析出主码,进而对其进行解码从而得到主码信息。这种方案的局限性在于:
从同时印刷有主码、内嵌码的图像中扫描内嵌码时,由于主码相当于是作为内嵌码的背景图案进行印刷的,因此扫描到的内嵌码不可避免地会受到主码的干扰,从而导致内嵌码的扫描误码率(即扫描有误的内嵌码的数据模块图像个数与扫描到的内嵌码的数据模块图像总个数之比)较大,这也就间接使得解码出的主码信息准确率不高。
发明内容
本发明实施例提供一种二维码的编码方法及二维码编码器,用以解决采用现有技术提供的二维码编码方法导致解码得到主码信息准确率较低的问题。
本发明实施例还提供一种二维码的解码方法及二维码解码器,用以解码采用本发明实施例提供的二维码的编码方案编码得到的二维码。
本发明实施例采用以下技术方案:
一种二维码的编码方法,包括:对主码源字节序列进行纠错码编码,并对内嵌码源字节序列进行编码;将对主码源字节序列进行纠错码编码得到的可纠错主码字节序列转换为主码数据模块集合,将对内嵌码源字节序列进行编码得到的内嵌码字节序列转换为内嵌码数据模块集合;合并内嵌码数据模块集合和主码数据模块集合,得到混合码数据模块集合;根据所述混合码数据模块集合生成相应的二维码。
一种基于上述二维码编码方法的二维码解码方法,包括:通过对二维码的扫描,获得对应于二维码的数据模块集合;将获得的数据模块集合转换为可纠错字节序列;利用纠错算法从可纠错字节序列中解析出主码源字节序列。
一种二维码编码器,包括:编码单元,用于对主码源字节序列进行纠错码编码,并对内嵌码源字节序列进行编码;序列转换单元,用于将编码单元对主码源字节序列进行纠错码编码得到的可纠错主码字节序列转换为主码数据模块集合,将编码单元对内嵌码源字节序列进行编码得到的内嵌码字节序列转换为内嵌码数据模块集合;混合码数据模块集合生成单元,用于合并序列转换单元转换得到的内嵌码数据模块集合和主码数据模块集合,得到混合码数据模块集合;二维码生成单元,用于根据混合码数据模块集合生成单元得到的混合码数据模块集合,生成相应的二维码。
一种基于上述二维码编码器的二维码解码器,包括:扫描单元,用于通过对二维码的扫描,获得对应于二维码的数据模块集合;数据模块转换单元,用于将扫描单元获得的数据模块集合转换为可纠错字节序列;解析单元,用于利用纠错算法,从数据模块转换单元得到的可纠错字节序列中解析出主码源字节序列。
本发明实施例的有益效果如下:
本发明实施例通过将内嵌码信息与主码信息编码为一个二维码,从而避免了主码的数据模块图像与内嵌码的数据模块图像的相互干扰,使得后续在对此二维码进行解码时,能够从中解析出准确的主码信息。与现有技术提供的二维码编码方法相比,采用本发明实施例提供的方案大大提高了解码得到主码信息的准确率。
附图说明
图1为QR码示意图;
图2为QR码的不同版本示意图;
图3为本发明实施例提供的一种采用本发明实施例提供的编码方法生成QR码的过程二维码的编码方法的具体流程示意图;
图4为本发明实施例提供的一种二维码的解码方法的具体流程示意图;
图5a为现有技术中的二维码编码器示意图;
图5b为在实际应用中采用本发明实施例提供的编码方法生成QR码的流程示意图;
图6a为现有技术中的二维码解码器示意图;
图6b为在实际应用中采用本发明实施例提供的解码方法解码QR码的流程示意图;
图7为本发明实施例提供的一种二维码编码器的具体结构示意图;
图8为本发明实施例提供的一种二维码解码器的具体结构示意图。
具体实施方式
为了解决采用现有技术解码出的主码信息准确率较低的问题,本发明实施例利用了二维码纠错机制的冗余性,设计了一种可以像普通二维码一样使用的带有内嵌码信息的二维码,同时设计了一种二维码的扫描设备,能够同时实现主码和内嵌码的扫描和解码。与现有技术相比,由于内嵌码信息与主码信息被编码为一个二维码,主码的数据模块图像与内嵌码的数据模块图像互不干扰,因此在对该二维码解码时,能够解析出较为准确的主码信息。
以下结合附图,详细说明本发明实施例提供的方案。
本发明实施例首先提供一种如图3所示的二维码的编码方法,该方法的具体流程包括下述步骤:
步骤31,确定对主码源字节序列进行纠错码编码所依据的第一编码版本信息、纠错能力信息;
步骤32,确定对内嵌码源字节序列进行编码时所依据的第二编码版本信息;
其中,第一、第二编码版本信息和纠错能力信息一般可以满足:按照第一编码版本信息、纠错能力信息,对主码源字节序列纠错码编码后,得到的可纠错字节的个数不小于按照第二编码版本信息对内嵌码源字节序列编码得到的内嵌码字节序列包含的字节个数。第一、第二编码版本信息可以相同,也可以不同。
本发明实施例中,可以预先指定一个内嵌码源字节序列作为待嵌入不同主码中的内嵌信息,该内嵌码源字节序列可以包含指定个数的字节。针对不同的待加入内嵌信息的主码源字节序列,为了保证对主码源字节序列纠错码编码后,得到的可纠错字节的个数不小于对内嵌码源字节序列编码得到的内嵌码字节序列包含的字节个数,被编码的内嵌码源字节序列可以是从该指定的内嵌码源字节序列中选取的一些而并非全部的内嵌码源字节。
本发明实施例中,若考虑到内嵌码信息为可用信息,则也可以针对内嵌码源字节序列确定一个纠错能力信息,以实现根据第二编码版本信息和确定的该纠错能力信息对内嵌码源字节序列进行编码后,能够得到可纠错的内嵌码字节序列。
此外,若考虑到二维码污损可能导致在二维码解码过程中产生噪声,则第一、第二编码版本信息和纠错能力信息具体可以满足:使得按照第一编码版本信息、纠错能力信息,对主码源字节序列纠错码编码后,得到的可纠错字节的个数不小于按照第二编码版本信息对内嵌码源字节序列编码得到的内嵌码字节序列包含的字节个数和预测的噪声字节的个数之和。这样,就可以保证主码的纠错能力能够满足对内嵌码字节序列和噪声字节进行纠错。
步骤33,按照确定的第一编码版本信息、纠错能力信息,对主码源字节序列进行纠错码编码;
由于步骤33的实现方式可采用现有技术中的任何可实现的纠错码编码方式,因此不再赘述。
步骤34,按照确定的第二编码版本信息对内嵌码源字节序列进行编码;
若针对内嵌码源字节序列确定了纠错能力信息,则步骤34具体可以为:按照确定的第二编码版本信息和针对内嵌码源字节序列确定的纠错能力信息,对内嵌码源字节序列进行编码。
步骤35,将对主码源字节序列进行纠错码编码得到的可纠错主码字节序列转换为主码数据模块集合;
步骤36,将对内嵌码源字节序列进行编码得到的内嵌码字节序列转换为内嵌码数据模块集合;
步骤37,合并内嵌码数据模块集合和主码数据模块集合;
为了便于描述,本发明实施例中将通过上述运算而得到的数据模块集合称为混合码数据模块集合。
本发明实施例中,用于合并内嵌码数据模块集合和主码数据模块集合的方法可以但不限于是模二加运算方式,或是其他的可以实现合并内嵌码数据模块集合和主码数据模块集合的方法。关于模二加运算方式,后文将用一个具体的实施例对其进行详细说明,在此处不再赘述。
针对步骤37,一种具体的实现方式如下:
首先,确定序号偏移量,该序号偏移量满足:增加该序号偏移量后的所有内嵌码数据模块的序号,都包含于主码数据模块的序号构成的序号集合中;
然后,执行所有内嵌码数据模块的序号分别增加该序号偏移量的操作,得到偏移后的序号,并从主码数据模块的序号构成的序号集合中,确定与偏移后的序号相同的序号;
最后,基于确定的序号,执行:对同一序号分别对应的主码数据模块的值和内嵌码数据模块的值执行模二加操作。
步骤38,根据执行步骤37后得到的混合码数据模块集合,生成相应的二维码。
具体地,生成相应的二维码的含义可以包括但不限于:生成一个数字化的二维码,或印刷一个实体的二维码。在生成一个数字化的二维码后,可以根据实际需要,将其发送给用于印刷二维码的设备,或者是发送给其他需求该二维码的设备等。
采用本发明实施例提供的上述方法,由于可以将主码信息和内嵌码信息编码为一个二维码,从而与现有技术相比,可以避免主码的数据模块图像与内嵌码的数据模块图像的相互干扰,使得后续解码得到的主码信息的准确率大大提高。
对应于上述二维码的编码方法,本发明实施例还提供一种二维码的解码方法,以实现对采用本发明实施例提供的编码方法生成的二维码的解码。该方法的实现流程图如图4所示,包括下述步骤:
步骤41,通过对二维码的扫描,获得对应于二维码的数据模块集合;
步骤42,将获得的数据模块集合转换为可纠错字节序列;
步骤43,利用纠错算法从可纠错字节序列中解析出主码源字节序列。
由前文可知:对主码源字节序列纠错码编码后,得到的可纠错字节的个数不小于对内嵌码源字节序列编码得到的内嵌码字节序列包含的字节个数。因此,通过步骤43,可以实现从可纠错字节序列中解析出完整的主码源字节序列。
步骤44,将解析出的主码源字节序列转换为数据模块集合;
步骤45,按照将主码源字节序列纠错编码为可纠错主码字节序列时所依据的编码版本信息和纠错能力信息(如前文所述的第一编码版本信息、纠错能力信息),对转换得到的数据模块集合进行纠错码编码,得到可纠错主码数据模块集合;
步骤46,合并对应于二维码的数据模块集合和可纠错主码数据模块集合,得到内嵌码数据模块集合;
比如,可以但不限于采用模二加运算方式来实现上述合并。
步骤47,将得到的内嵌码数据模块集合转换为内嵌码源字节序列。
若考虑到二维码污损可能导致在二维码解码过程中产生噪声,则步骤47的具体实现可以采用如下方式:
首先,从得到的内嵌码数据模块集合中,确定定位数据模块;然后,删除得到的内嵌码数据模块集合中位于定位数据模块构成的方形区域之外的数据模块;最后,将删除位于定位数据模块构成的方形区域之外的数据模块后的内嵌码数据模块集合,转换为内嵌码源字节序列。
通过上述处理,可以实现从得到的内嵌码数据模块集合中去除一部分噪声,从而保证转换得到的内嵌码源字节序列的准确性。
本发明实施例所提供的上述解码方法中,若只需要从二维码中解析出主码源字节序列,而不考虑从二维码中解析出内嵌码源字节序列,则也可以不执行步骤44~47。
以下以QR码为例,对本发明实施例提供的上述二维码编、解码方法分别进行详细说明。
为示意清晰,以下各示意图内仅列出二维码编、解码过程中与本发明相关的关键环节,在不影响专业人员使用本发明的情况下,略去其他细节内容。
实施例1:编码过程
为直观展现本发明实施例提供的二维码编码方法在技术上的改进,以下先对现有技术的二维码编码流程做简单介绍。
现有技术中,二维码编码主要依靠二维码编码器实现。二维码编码器包括纠错码编码模块、B/M转换模块和图像生成模块。如图5a所示,纠错码编码模块用于对输入字节序列进行纠错码编码,即在信源信息中加入冗余信息后对其进行编码,生成可纠错字节序列,其中,冗余信息被编码为该可纠错字节序列中包含的可纠错字节;B/M转换模块用于将纠错码编码模块生成的可纠错字节序列(Bytes)转换为数据模块集合(Modules);图像生成模块用于根据B/M转换模块转换得到的数据模块集合,绘制二维码的数据模块图像从而生成二维码。
对于QR码而言,纠错码编码可以采用李德-所罗门纠错算法进行纠错码编码,数据模块集合就是由有两种取值(一般为0、1)的数据模块组成的矩阵。
本发明实施例提供的方法相当于是在如图5a所示的现有技术的二维码编码器前端增加了一个内嵌信息输入接口,使得二维码编码器可以支持两个信源(分别为主码信源和内嵌码信源)输入。其中从主码信源输入到二维码编码器的信息为主码信息,由于其格式为字节序列,因此主码信息也称主码源字节序列,该序列用于生成二维码中的主码;从内嵌码信源输入到二维码编码器的信息为内嵌码信息,由于其格式也为字节序列,因此内嵌码信息也称内嵌码源字节序列,该序列用于生成二维码中的内嵌码。
以下具体介绍本发明实施例是通过怎样的流程实现以内嵌码数据模块图像的形式,将内嵌码隐藏在主码数据模块图像中,而不是如现有技术将内嵌码印刷在主码上。
具体地,采用本发明实施例提供的编码方法生成QR码的过程如图5b所示,包括下述步骤:
步骤51,纠错码编码模块对内嵌码源字节序列进行纠错码编码,生成可纠错内嵌码字节序列(其中包含可纠错字节),然后由B/M转换模块执行对生成的内嵌码字节序列的B/M转换,得到内嵌码数据模块集合;
本发明实施例中,也可以对内嵌码源字节序列进行非纠错码编码,即可以不要求内嵌码具备纠错能力。
步骤52,纠错码编码模块对主码源字节序列进行纠错码编码,生成可纠错主码字节序列(其中包括可纠错字节),然后由B/M转换模块执行对生成的主码字节序列的B/M转换,得到主码数据模块集合;
本发明实施例中,在对主码源字节序列进行纠错码编码时,相应的纠错级别可以是预先确定的,如可以由用户预先确定并输入到二维码解码器中。
而对于主码的编码版本而言,其可以是由用户预先确定并输入二维解码器的,也可以是由二维解码器根据执行步骤51后得到的内嵌码数据模块集合的规模确定的。针对后一种情况,可以在图5a所示的二维码编码器基础上新增一个参数选择模块,用于根据内嵌码数据模块集合的规模选择主码的编码版本。
具体地,假设内嵌码源字节序列为32字节的字符串,且欲将该内嵌码字节序列编码为第二版QR码(规格为25×25),那么针对该内嵌码字节序列的纠错码编码并进行B/M转换后,会得到由512个内嵌码数据模块组成的内嵌码数据模块集合即一个25×25的矩阵。假设预先确定主码的纠错级别为Q级(其纠错能力能够实现在QR码损毁25%的情况下保证信源信息从QR码中被正确解码读出),那么,根据该内嵌码数据模块集合的规模和预先确定的该纠错级别,可以确定需要将主码源字节序列编码为第八版QR码(规格为49×49)。这样就可以保证主码的纠错能力可以达到最多对49×49×25%(大约600)个数据模块进行纠错。即主码的纠错能力满足:保证主码数据模块集合中包含的可纠错数据模块的最大个数(大约600)不小于内嵌码数据模块的个数(512)。
需要说明的是,考虑到二维码可能发生污损的情况,在主码的纠错能力满足上述条件的前提下,还可以进一步要求主码数据模块集合中包含的可纠错数据模块的最大个数不小于内嵌码数据模块的个数与噪声数据模块的个数之和,其中,这里所述的噪声数据模块一般是由于二维码污损等原因造成的二维码的灰度改变、图像缺失所导致的,噪声数据模块的个数可以是根据二维码的污损情况而预测的。
本发明实施例中,主码的QR码版本和纠错级别也可以都是预先由用户确定并输入二维码编码器的。而内嵌码的QR码版本则可以是由二维解码器根据生成的主码数据模块集合的规模,按照预定的内嵌码的QR码版本确定规则确定的。该规则具体为:保证按照确定的QR码版本生成的内嵌码数据模块的个数不大于主码数据模块集合中包含的可纠错数据模块的最大个数。此情况下,可以先执行步骤52,再执行步骤51。
本发明实施例中,主码的QR码版本和纠错级别、内嵌码的QR版本还可以都由用户预先确定并输入二维码编码器。此情况下,无需在二维码编码器中新增参数选择模块。并且,上述步骤51、52可同步执行。需要说明的是,用户确定的主码的QR码版本和纠错级别、内嵌码的QR版本应满足:保证主码数据模块集合中包含的可纠错数据模块的最大个数不小于内嵌码数据模块的个数。
步骤53,二维码编码器基于生成的内嵌码数据模块集合和主码数据模块集合,以模二加的方式,合并内嵌码数据模块集合与主码数据模块集合,得到混合码数据模块集合;
为了实现步骤53,本发明实施例中可以在图5a所示的二维码编码器基础上新增一个模二加执行模块,该模块的具体功能如下:
首先,确定一个序号偏移量,该序号偏移量的确定规则为:增加该序号偏移量后的所有内嵌码数据模块的序号,都包含于主码数据模块的序号构成的序号集合中。例如,针对内嵌码数据模块集合和主码数据模块集合均为一维序列集合的情况,该序号偏移量可以为一个非负的整数,并保证所有内嵌码数据模块的序号增加这个正整数后,都能在主码数据模块的序号构成的序号集合中找到一个相同的序号;针对内嵌码数据模块集合和主码数据模块集合均为二维矩阵集合的情况,该序号偏移量可以为一对负整数(x,y),并保证所有内嵌码数据模块的序号(a,b)在增加该序号偏移量后,能够在主码数据模块的序号构成的序号集合中找到同样为(a+x,y+b)的序号。
然后,基于确定的序号偏移量,将内嵌码数据模块的数值与相对应的主码数据模块的数值进行模二加,生成混合码数据模块集合。其中,内嵌码数据模块与主码数据模块相对应的含义是:增加上述序号偏移量后的该内嵌码数据模块的序号与该主码数据模块的序号相同。
本发明实施例中,所述“模二加”相当于是异或算法或反异或算法。具体地,异或算法的原理为:假设数据模块(包括内嵌码数据模块和主码数据模块)的数值为H(对应于深色的数据模块图像)或L(对应于浅色的数据模块图像),那么可以按照下式[1]执行内嵌码数据模块的数值与相对应的主码数据模块的数值的相加操作:
H+H=L
L+L=L [1]
H+L=H
而反异或算法的原理为:基于上述假设,按照下式[2]执行内嵌码数据模块的数值与相对应的主码数据模块的数值的相加操作:
H+H=H
L+L=H [2]
H+L=L
一般地,参与模二加的主码数据模块的值的个数与内嵌码数据模块集合包含的内嵌码数据模块的个数相同。
步骤54,二维码编码器中的图像生成模块根据生成的混合码数据模块集合,绘制相应的二维码,二维码的编码过程结束。
具体地,图像生成模块可以根据预先设置的数据模块的值与灰度值的对应关系,确定混合码数据模块集合中的各个数据模块所分别对应的灰度值;然后,再按照确定的灰度值,绘制相应的数据模块图像。由于此步骤与现有技术中的根据数据模块集合绘制二维码的过程类似,因此不再详细描述。
通过执行上述步骤51~54,本发明实施例提供的二维码编码方法能够实现将主码和内嵌码编码到一个二维码中,从而在后续印刷时,不用分两次印刷过程来分别印刷两个二维码,且无需将内嵌码印刷在主码上,而只需要印刷一个二维码即可。采用该方式,由于内嵌码和主码不可能发生相互遮挡,因此后续在对其进行解码时,也不会产生由于内嵌码受到主码干扰而间接导致解析出的主码信息准确率不高的问题。
实施例2:解码过程
为了直观地展现本发明实施例提供的二维码解码方法在技术上的改进,以下先对现有技术的二维码解码流程做简单介绍。
现有技术中,二维码解码主要依靠二维码解码器实现。如图6a所示,二维码解码器主要包括图像扫描模块、M/B转换模块和纠错码解码模块。其中,图像扫描模块用于通过扫描二维码的方式,实现根据二维码解析出相应的数据模块集合;M/B转换模块用于执行将图像扫描模块解析出的数据模块集合(Modules)转换为可纠错字节序列(Bytes);纠错码解码模块用于对M/B转换模块转换得到的可纠错字节序列进行纠错码解码,得到源字节序列。
本发明实施例提供的方法相当于是在如图6a所示的标准的二维码解码过程中增加了一个内嵌码的解码过程。具体地,采用本发明实施例提供的解码方法对采用本发明实施例提供的编码方法生成的QR码进行解码的过程如图6b所示,包括下述步骤:
步骤61,二维码解码器中的图像扫描模块通过对二维码的扫描,获得对应于二维码的数据模块集合;
对于QR码而言,图像扫描模块完成的工作就是根据二维码中的数据模块图像的灰度级别、不同灰度级别与数值的预定对应关系,确定相应的数据模块矩阵(集合)。该数据模块矩阵中的元素就是与灰度级别一一对应的数值(一般为0、1)。
图像扫描模块得到的数据模块集合中还可能包含噪声数据模块,这里的噪声一般是指二维码的污损等原因造成的,比如二维码上的污渍可能会对数据模块图像染色,这就改变了数据模块图像的灰度级别,从而对其扫描时就会产生噪声而得到错误的数据模块即噪声数据模块。
步骤62,M/B转换模块对图像扫描模块获得的数据模块集合进行M/B转换,生成可纠错字节序列;
若数据模块集合中还包含有噪声,则生成的该可纠错字节序列中也会包含有噪声。
步骤63,纠错码解码模块利用纠错算法对M/B转换模块得到的可纠错字节序列进行纠错码解码,从可纠错字节序列中解析出源主码字节序列;
若可纠错字节序列中包含有噪声,则可在此处一并去除。
由前文可知,在二维码编码过程中,在不考虑噪声的前提下,主码的纠错能力满足:保证主码数据模块集合中包含的可纠错数据模块的最大个数不小于内嵌码数据模块的个数。在该条件下,纠错码解码模块利用纠错算法就能够实现:将源主码字节序列完全从M/B转换模块得到的可纠错字节序列中解析出。本步骤61可以采用现有技术中利用纠错算法实现从可纠错字节序列中解析出源主码字节序列的方式,因此在此不再赘述。
本发明实施例中,若考虑可纠错字节序列中包含有噪声的情况,则二维码编码过程中所要求的主码的纠错能力应满足:主码数据模块集合中包含的可纠错数据模块的最大个数不小于内嵌码数据模块的个数与噪声数据模块的个数之和。在该条件下,纠错码解码模块利用纠错算法就能够实现:将源主码字节序列完全从M/B转换模块得到的可纠错字节序列中解析出。
通过执行上述步骤61~63,就可以实现从二维码中解析出源主码字节序列。进一步地,若还需要从二维码中解析出源内嵌码字节序列,则可以继续执行下述步骤。
步骤64,B/M转换模块执行将纠错码解码模块解析出的源主码字节序列转换为主码数据模块集合;
步骤65,纠错码编码模块对通过执行步骤64得到的主码数据模块集合进行纠错码编码,得到可纠错主码数据模块集合;
本发明实施例中,主码的纠错能力信息可以作为主码源字节序列的一部分内容而编码到二维码中,图像扫描模块通过对二维码的扫描与解析,就能够获得主码的纠错能力信息并提供给纠错码解码模块。类似地,主码的版本信息也可以通过上述方式获得;或者,主码的版本信息也可以通过对二维码对应的数据模块的个数进行统计,并参照数据模块的个数与主码的版本信息的对应关系而得到。
在步骤65中,对主码数据模块集合进行纠错码编码所依据的版本信息和纠错能力信息可以是采用上述方式,即通过图像扫描模块对二维码的扫描与解析而获取到,并提供给纠错码编码模块的。通过对二维码的扫描与解析获取主码的版本信息和纠错能力信息的过程为本领域的常用技术手段,不再赘述。
步骤66,二维码解码器执行对纠错码编码模块得到的可纠错主码数据模块集合与图像扫描模块得到的数据模块集合的模二加操作,从而得到内嵌码数据模块;
若图像扫描模块得到的数据模块集合中还包含噪声数据模块,则通过执行上述模二加操作后,得到的结果为:内嵌码数据模块和噪声数据模块。
本发明实施例中,可以在二维码解码器中新增一个模二加执行模块,并通过该模块来实现步骤66。
步骤67,考虑到通过执行步骤66得到的数据模块集合中可能存在噪声数据模块的情况,若需要去除噪声数据模块,则可以进一步确定内嵌码数据模块中包含的定位数据模块,并根据该些定位数据模块确定非内嵌码数据模块集合。该非内嵌码数据模块集合即通过执行步骤66得到的数据模块集合中位于定位数据模块构成的方形区域之外的数据模块。通过从执行步骤66得到的数据模块集合中删除确定出的上述数据模块,就可以达到去除部分噪声数据模块的目的。
在执行本步骤时,如果无法找到定位数据模块,则说明输入二维码解码器的二维码中并不包含内嵌码,从而不再执行后续步骤。
步骤68,M/B转换模块对通过执行步骤67得到的数据模块集合进行M/B转换,生成内嵌码字节序列。若该数据模块集合中带有噪声,则生成的该内嵌码字节序列为带噪声的内嵌码字节序列;
步骤69,纠错码解码模块对通过执行步骤68得到的内嵌码字节序列进行纠错码解码,从而恢复出内嵌码源字节序列。
由于采用本发明实施例提供二维码编码方法,可以实现将主码源字节序列和内嵌码源字节序列编码为一个二维码(该二维码中包含主码和内嵌码),因此采用上述流程对该二维码进行解码时,不会因为内嵌码和主码的相互干扰而影响到解析出的主码源字节序列的准确性。上述解码过程也证明,与现有技术提供的技术方案相比,本发明实施例提供的编码方案大大提高了解析出的主码源字节序列的准确性。
以下进一步简单说明本发明实施例提供的编、解码方法在实际应用中的其他一些实施例:
实施例3:
需要对内嵌码进行加密时,可以先对内嵌码源字节序列执行加密操作,得到加密内嵌码源字节序列,然后再针对加密内嵌码源字节序列和主码源字节序列执行如实施例1的步骤,这样就实现了对内嵌码的加密。
实施例4:
编码过程中,可以分别对主码信息、内嵌码信息采用不同的纠错算法,或对可纠错主码字节序列、可纠错内嵌码字节序列分别采用不同的B/M转换方式,或对主码、内嵌码分别采用不同的印刷排版方式进行排版印刷。
实施例5:
可以以经二维码发放者私钥加密的主码信息摘要作为内嵌码信息。从而经实施例1所描述的方法实现二维码编码后,该二维码具备主码信息内容验证以及二维码发放者身份鉴定的能力。
实施例6:
在上述实施例2中,通过执行步骤61~69,可以实现从二维码中分别解析得到主码源字节序列和内嵌码源字节序列。然而,在一些特定的应用场景下,也可以只解析出主码源字节而无需进一步解析出内嵌码源字节。
比如,当主码信息为与业务内容相关的信息(例如票据内容)、内嵌码信息为与业务使用者(如票据使用者)相关的信息(如票据使用者的身份证号码信息或姓名信息)时,为方便用户管理二维码票据,在对二维码进行解码时可以仅解析出主码信息(票据信息);而为便于票据提供方管理票据使用者信息,则对二维码进行解码时,可以同时解析出票据信息和与票据使用者相关的信息(身份证号码信息或姓名信息)。
由上述实施例,还可以总结出采用本发明实施例提供的方法可以达到的其他一些技术效果:
内嵌码的存在不会干扰主码的解析,在合理设置主码版本和纠错级别的情况下,主码的抗干扰能力可以保证;
内嵌码可以使用与主码同一级别的印刷尺寸,不需要更高精度的印刷设备和扫描设备来处理内嵌码。
内嵌码可以单独使用编、解码方案,内嵌码的编、解码不会受到主码编、解码方案的影响。
对应于本发明实施例提供的二维码编码方法,本发明实施例还提供一种二维码编码器,该编码器包括如图7所示的功能单元。各单元的具体功能如下:
编码单元71,用于对主码源字节序列进行纠错码编码,并对内嵌码源字节序列进行编码;
序列转换单元72,用于将编码单元71对主码源字节序列进行纠错码编码得到的可纠错主码字节序列转换为主码数据模块集合,将编码单元对内嵌码源字节序列进行编码得到的内嵌码字节序列转换为内嵌码数据模块集合;
混合码数据模块集合生成单元73,用于合并序列转换单元73转换得到的内嵌码数据模块集合和主码数据模块集合,得到相应的混合码数据模块集合;
二维码生成单元74,用于根据混合码数据模块集合生成单元73得到的混合码数据模块集合,生成相应的二维码。
可选的,上述混合码数据模块集合生成单元73可以进一步划分为以下功能子单元,包括:
偏移量确定子单元,用于确定序号偏移量,其中,该序号偏移量满足:增加该序号偏移量后的所有内嵌码数据模块的序号,都包含于主码数据模块的序号构成的序号集合中;
序号偏移执行子单元,用于执行所有内嵌码数据模块的序号分别增加偏移量确定子单元确定的序号偏移量的操作,得到偏移后的序号;
序号确定子单元,用于从主码数据模块的序号构成的序号集合中,确定与执行子单元得到的偏移后的序号相同的序号;
模二加执行子单元,用于基于序号确定子单元确定的序号,执行:对同一序号分别对应的主码数据模块的值和内嵌码数据模块的值执行模二加操作。
采用上述二维码编码器进行二维码的编码,可以实现将主码源字节序列和内嵌码源字节序列编码为一个二维码,因此后续在对该二维码进行解码时,不会因为内嵌码和主码的相互干扰而影响到解析出的主码源字节序列的准确性。
对应于本发明实施例提供的二维码解码方法,本发明实施例还提供一种基于上述二维码编码器的二维码解码器,该解码器包括如图8所示的功能单元。各单元的具体功能如下:
扫描单元81,用于通过对二维码的扫描,获得对应于二维码的数据模块集合;
数据模块转换单元82,用于将扫描单元81获得的数据模块集合转换为可纠错字节序列;
解析单元83,用于利用纠错算法,从数据模块转换单元82得到的可纠错字节序列中解析出主码源字节序列。
可选的,为了实现从二维码中解析出内嵌码源字节序列,该二维码解码器还可以进一步包括如图8所示的下述功能单元:
主码源字节序列转换单元84,用于将解析单元83解析出的主码源字节序列转换为数据模块集合;
可纠错主码数据模块编码单元85,用于按照第一编码版本信息、针对主码而确定的纠错能力信息,将主码源字节序列转换单元84转换得到的数据模块集合进行纠错码编码,得到可纠错主码数据模块集合;
合并单元86,用于合并对应于二维码的数据模块集合和可纠错主码数据模块编码单元85转换得到的主码数据模块集合,得到内嵌码数据模块集合;
内嵌码数据模块转换单元87,用于将合并单元86得到的内嵌码数据模块集合转换为内嵌码源字节序列。
为了去除内嵌码数据模块中的噪声数据模块,本发明实施例中还可以对内嵌码数据模块转换单元87的结构进行进一步的划分,将其划分为以下功能子单元:
定位数据模块确定子单元,用于从得到的内嵌码数据模块集合中,确定定位数据模块;
删除子单元,用于删除得到的内嵌码数据模块集合中位于定位数据模块确定子单元确定的定位数据模块构成的方形区域之外的数据模块;
转换子单元,用于将被删除子单元删除了位于定位数据模块构成的方形区域之外的数据模块后的内嵌码数据模块集合,转换为内嵌码源字节序列。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、内嵌式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种二维码的编码方法,其特征在于,包括:
对主码源字节序列进行纠错码编码,并对内嵌码源字节序列进行编码;
将对主码源字节序列进行纠错码编码得到的可纠错主码字节序列转换为主码数据模块集合,将对内嵌码源字节序列进行编码得到的内嵌码字节序列转换为内嵌码数据模块集合;
合并内嵌码数据模块集合和主码数据模块集合,得到混合码数据模块集合;
根据所述混合码数据模块集合生成相应的二维码;
其中,合并内嵌码数据模块集合和主码数据模块集合,具体包括:确定序号偏移量,其中,所述序号偏移量满足:增加该序号偏移量后的所有内嵌码数据模块的序号,都包含于主码数据模块的序号构成的序号集合中;执行所有内嵌码数据模块的序号分别增加所述序号偏移量的操作,得到偏移后的序号;从所述序号集合中,确定与所述偏移后的序号相同的序号;并基于确定的序号,执行:对同一序号分别对应的主码数据模块的值和内嵌码数据模块的值执行模二加操作。
2.如权利要求1所述的方法,其特征在于,对主码源字节序列纠错码编码得到的可纠错字节的个数不小于对内嵌码源字节序列编码得到的内嵌码字节序列包含的字节个数和预测的噪声字节的个数之和。
3.一种基于如权利要求1所述的二维码编码方法的二维码解码方法,其特征在于,包括:
通过对二维码的扫描,获得对应于二维码的数据模块集合;
将获得的数据模块集合转换为可纠错字节序列;
利用纠错算法从可纠错字节序列中解析出主码源字节序列。
4.如权利要求3所述的方法,其特征在于,还包括:
将解析出的源主码字节序列转换为数据模块集合;
按照将主码源字节序列纠错编码为可纠错主码字节序列时所依据的编码版本信息和纠错能力信息,对转换得到的数据模块集合进行纠错码编码,得到可纠错主码数据模块集合;并
合并所述对应于二维码的数据模块集合和所述可纠错主码数据模块集合,得到内嵌码数据模块集合;
将得到的内嵌码数据模块集合转换为内嵌码源字节序列。
5.如权利要求4所述的方法,其特征在于,将得到的内嵌码数据模块集合转换为内嵌码源字节序列,具体包括:
从得到的内嵌码数据模块集合中,确定定位数据模块;
删除得到的内嵌码数据模块集合中位于定位数据模块构成的方形区域之外的数据模块;以及
将删除位于定位数据模块构成的方形区域之外的数据模块后的内嵌码数据模块集合,转换为内嵌码源字节序列。
6.一种二维码编码器,其特征在于,包括:
编码单元,用于对主码源字节序列进行纠错码编码,并对内嵌码源字节序列进行编码;
序列转换单元,用于将编码单元对主码源字节序列进行纠错码编码得到的可纠错主码字节序列转换为主码数据模块集合,将编码单元对内嵌码源字节序列进行编码得到的内嵌码字节序列转换为内嵌码数据模块集合;
混合码数据模块集合生成单元,用于合并序列转换单元转换得到的内嵌码数据模块集合和主码数据模块集合,得到混合码数据模块集合;
二维码生成单元,用于根据混合码数据模块集合生成单元得到的混合码数据模块集合,生成相应的二维码;
其中所述混合码数据模块集合生成单元具体包括:偏移量确定子单元,用于确定序号偏移量,其中,所述序号偏移量满足:增加该序号偏移量后的所有内嵌码数据模块的序号,都包含于主码数据模块的序号构成的序号集合中;序号偏移执行子单元,用于执行所有内嵌码数据模块的序号分别增加偏移量确定子单元确定的序号偏移量的操作,得到偏移后的序号;序号确定子单元,用于从所述序号集合中,确定与执行子单元得到的偏移后的序号相同的序号;模二加执行子单元,用于基于序号确定子单元确定的序号,执行:对同一序号分别对应的主码数据模块的值和内嵌码数据模块的值执行模二加操作。
7.如权利要求6所述的编码器,其特征在于,对主码源字节序列纠错码编码得到的可纠错字节的个数不小于对内嵌码源字节序列编码得到的内嵌码字节序列包含的字节个数和预测的噪声字节的个数之和。
8.一种基于如权利要求6任一所述的二维码编码器的二维码解码器,其特征在于,包括:
扫描单元,用于通过对二维码的扫描,获得对应于二维码的数据模块集合;
数据模块转换单元,用于将扫描单元获得的数据模块集合转换为可纠错字节序列;
解析单元,用于利用纠错算法,从数据模块转换单元得到的可纠错字节序列中解析出主码源字节序列。
9.如权利要求8所述的解码器,其特征在于,还包括:
主码源字节序列转换单元,用于将解析单元解析出的主码源字节序列转换为数据模块集合;
可纠错主码数据模块编码单元,用于按照将主码源字节序列纠错编码为可纠错主码字节序列时所依据的编码版本信息和纠错能力信息,对主码源字节序列转换单元转换得到的数据模块集合进行纠错码编码,得到可纠错主码数据模块集合;
合并单元,用于合并所述对应于二维码的数据模块集合和可纠错主码数据模块编码单元编码得到的主码数据模块集合,得到内嵌码数据模块集合;
内嵌码数据模块转换单元,用于将合并单元得到的内嵌码数据模块集合转换为内嵌码源字节序列。
10.如权利要求9所述的解码器,其特征在于,所述内嵌码数据模块转换单元具体包括:
定位数据模块确定子单元,用于从得到的内嵌码数据模块集合中,确定定位数据模块;
删除子单元,用于删除得到的内嵌码数据模块集合中位于定位数据模块确定子单元确定的定位数据模块构成的方形区域之外的数据模块;
转换子单元,用于将被删除子单元删除了位于定位数据模块构成的方形区域之外的数据模块后的内嵌码数据模块集合,转换为内嵌码源字节序列。
CN201210241774.4A 2012-07-12 2012-07-12 二维码的编、解码方法及二维码编码器、解码器 Active CN103544516B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210241774.4A CN103544516B (zh) 2012-07-12 2012-07-12 二维码的编、解码方法及二维码编码器、解码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210241774.4A CN103544516B (zh) 2012-07-12 2012-07-12 二维码的编、解码方法及二维码编码器、解码器

Publications (2)

Publication Number Publication Date
CN103544516A CN103544516A (zh) 2014-01-29
CN103544516B true CN103544516B (zh) 2016-09-07

Family

ID=49967950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210241774.4A Active CN103544516B (zh) 2012-07-12 2012-07-12 二维码的编、解码方法及二维码编码器、解码器

Country Status (1)

Country Link
CN (1) CN103544516B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4137988A1 (en) 2014-11-18 2023-02-22 Cognex Corporation System and methods for decoding two-dimensional matrix symbols
CN104657768B (zh) * 2015-03-20 2017-11-03 华中科技大学 一种彩色三维码生成器及彩色三维码识读方法
CN106845593A (zh) * 2017-01-16 2017-06-13 武汉大学 一种矩形固定点阵信息编解码方法
CN108510000B (zh) * 2018-03-30 2021-06-15 北京工商大学 复杂场景下行人细粒度属性的检测与识别方法
CN112861033B (zh) * 2021-02-04 2022-04-01 北京三快在线科技有限公司 一种执行业务的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1452117A (zh) * 2003-05-22 2003-10-29 深圳矽感科技有限公司 二维条码的编码和解码方法
CN1670763A (zh) * 2004-03-15 2005-09-21 深圳矽感科技有限公司 一种二维条码及其编解码方法
CN1708769A (zh) * 2002-10-31 2005-12-14 圣像实验室有限公司 可能控制纠错码的等级的具有高级解码特性的二维码、和用于编码和解码该二维码的方法
CN102034127A (zh) * 2009-09-28 2011-04-27 上海易悠通信息科技有限公司 新型大容量二维条码与系统及其编解码方法和应用
CN102147873A (zh) * 2011-03-21 2011-08-10 上海彩码信息科技有限公司 彩码的生成方法及系统、彩码的解析方法及系统
CN102270294A (zh) * 2011-08-12 2011-12-07 华南农业大学 一种条形码和二维码混合编码、解码方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1708769A (zh) * 2002-10-31 2005-12-14 圣像实验室有限公司 可能控制纠错码的等级的具有高级解码特性的二维码、和用于编码和解码该二维码的方法
CN1452117A (zh) * 2003-05-22 2003-10-29 深圳矽感科技有限公司 二维条码的编码和解码方法
CN1670763A (zh) * 2004-03-15 2005-09-21 深圳矽感科技有限公司 一种二维条码及其编解码方法
CN102034127A (zh) * 2009-09-28 2011-04-27 上海易悠通信息科技有限公司 新型大容量二维条码与系统及其编解码方法和应用
CN102147873A (zh) * 2011-03-21 2011-08-10 上海彩码信息科技有限公司 彩码的生成方法及系统、彩码的解析方法及系统
CN102270294A (zh) * 2011-08-12 2011-12-07 华南农业大学 一种条形码和二维码混合编码、解码方法及装置

Also Published As

Publication number Publication date
CN103544516A (zh) 2014-01-29

Similar Documents

Publication Publication Date Title
CN103544516B (zh) 二维码的编、解码方法及二维码编码器、解码器
US11042791B2 (en) Method and apparatus for generating and reading composite two-dimensional code
CN104376356A (zh) 一种带有加密功能的二维码生成方法
CN102129585B (zh) 一种信息传输方法及系统、条形码显示及读取装置
JP5057560B2 (ja) プログラム、情報記憶媒体、2次元コード、印刷物、2次元コード画像、2次元コード画像の表示制御方法、2次元コード生成システム
JP2007241327A (ja) プログラム、情報記憶媒体、2次元コード生成システム、画像生成システム及び2次元コード
DE60127165T2 (de) Unterschrift-Kodierungsverfahren
CN105447546A (zh) 可嵌入大比例图形的二维码及其编码和解码方法和设备
CN101086761A (zh) 高效信息点阵图形及其生成和解码方法
CN106599964A (zh) 一种二维码生成、验证方法及装置
CN106874819B (zh) 可由手机识别的稀疏点阵码控制方法
CN106530368A (zh) 一种素数域多门限渐进秘密图像分存及重构方法
CN105373823B (zh) 动态二维码的生成、读取方法及其装置
JP2007241328A (ja) プログラム、情報記憶媒体、2次元コード生成システム、画像生成システム及び印刷物
CN105894071A (zh) 二维码混合生成方法
CN110276428A (zh) 一种四维码编码及解码方法
CN110517051A (zh) 一种二维码产生方法、解码方法、二维码及可读存储介质
CN111242259B (zh) 一种智能防伪码的编码和解码方法及系统
CN103997406A (zh) 基于二维码的身份认证方法和装置
CN105894072A (zh) 二维码混合生成系统
CN102982046B (zh) 一种网页数据压缩存储方法和系统
WO2005043454A1 (ja) 2次元コード送信方法、システム、及び携帯端末
CN109977715A (zh) 基于轮廓识别的二维码识别方法及二维码
CN103136559B (zh) 可变条码的光栅化方法和装置
KR101235618B1 (ko) 이미지를 포함하는 2차원 코드 생성 방법 및 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant