CN101645140B - 二维码生成方法、解码方法及装置 - Google Patents
二维码生成方法、解码方法及装置 Download PDFInfo
- Publication number
- CN101645140B CN101645140B CN200810142344.0A CN200810142344A CN101645140B CN 101645140 B CN101645140 B CN 101645140B CN 200810142344 A CN200810142344 A CN 200810142344A CN 101645140 B CN101645140 B CN 101645140B
- Authority
- CN
- China
- Prior art keywords
- quick response
- upper layer
- response code
- splicing
- data
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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/06009—Record 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/06037—Record 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
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Cash Registers Or Receiving Machines (AREA)
Abstract
本发明实施例公开了二维码生成方法、解码方法及装置,涉及二维码技术,要解决的技术问题是延展二维码所能够支持的上层应用范围,突破二维码容量的瓶颈。二维码生成方法主要包括:获得上层应用数据;对所述上层应用数据进行上层信息编码,生成上层信息编码,该上层信息编码包括:拼接符区域和信息数据区域;将上层信息编码进行二维码编码,生成二维码。本发明实施例通过二维码上层信息编码中的拼接符区域,扩展了二维码所能够支持的上层应用数据容量。
Description
技术领域
本发明涉及计算机技术及信息技术,尤其涉及二维码技术。
背景技术
现代高新技术的发展,迫切要求用条码在有限的几何空间内表示更多的信息,从而满足千变万化的信息的需要。二维条码正是为了解决一维条码无法解决的问题而诞生的,二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。二维条码/二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息。因为它具有高密度、大容量等特点,所以可以用它表示数据文件(包括汉字文件)、图片等。二维条码是各种证件及卡片等大容量、高可靠信息存储、携带并自动识读的最理想的方法。
在目前几十种二维要码中,常用的码制有:PDF417二维条码,Datamatrix二维条码,Maxicode二维条码,QR Code,Code49,Code 16K,Code one,等,除了这些常见的二维条码之外,还有Vericode条码、CP条码、Codablock F条码、田字码、Ultracode条码,Aztec条码。
手机扫描二维码技术简单的说是通过手机拍照功能对二维码进行扫描,快速获取到二维条码中存储的信息,进行上网、发送短信、拨号、资料交换、自动文字输入等,手机二维码目前已经被各大手机厂商使用开发。
手机二维码是二维码的一种,手机二维码不但可以印刷在报纸、杂志、广告、图书、包装以及个人名片上,用户还可以通过手机扫描二维码,或输入二维码下面的号码即可实现快速手机上网功能,并随时随地下载图文、了解企业产品信息等。
现有技术中的二维码容量有限。
发明内容
本发明实施例要解决的技术问题是提供二维码生成方法及装置,延展二维码所能够支持的上层应用范围,突破二维码容量的瓶颈。
本发明实施例提供一种二唯码生成方法,包括:
获得上层应用数据;
对所述上层应用数据进行上层信息编码,生成上层信息编码,该上层信息编码包括:拼接符区域和信息数据区域;
将上层信息编码进行二维码编码,生成二维码。
本发明实施例还提供一种二维码解码方法,包括:
获得二维码,
将二维码解码为二维码上层信息编码,该二维码上层信息编码包括拼接符区域和信息数据区域;
解出上层应用数据,提供给二维码上层应用。
本发明实施例还提供一种编码装置,包括:
获得单元,用于获得上层应用数据;
上层信息编码单元,用于对所述上层应用数据进行上层信息编码,生成上层信息编码,该上层信息编码包括:拼接符区域和信息数据区域;
二维码编码单元,用于将上层信息编码进行二维码编码,生成二维码。
本发明实施例还提供一种解码装置,包括:
获得单元,用于获得二维码;
上层信息解码单元,用于将二维码解码为二维码上层信息编码,,该上层信息编码包括:拼接符区域和信息数据区域;
应用数据提供单元,用于从所述二维码上层信息编码中解出上层应用数据,提供给二维码上层应用。
本发明实施例通过二维码上层信息编码中的拼接符区域,扩展了二维码所能够支持的上层应用数据容量。
附图说明
图1是本发明实施例1提供的一种二维码生成方法的方法流程图;
图2是本发明实施例1提供的一种二维码解码方法的方法流程图;
图3是本发明实施例1提供的一种二维码编码装置的示意图;
图4是本发明实施例1提供的一种二维码解码装置的示意图;
图5是本发明实施例2提供的一种二维码生成方法的方法流程图;
图6是本发明实施例2提供的一种二维码解码方法的方法流程图;
图7是本发明实施例2提供的一种二维码编码装置的示意图;
图8是本发明实施例2提供的一种二维码解码装置的示意图;
图9是本发明实施例3提供的一种二维码生成方法的方法流程图;
图10是本发明实施例3提供的一种二维码解码方法的方法流程图;
图11是本发明实施例3提供的一种二维码编码装置的示意图;
图12是本发明实施例3提供的一种二维码解码装置的示意图;
具体实施方式
实施例1
本发明实施例1提供一种二维码生成方法,如图1所示,所述方法包括:
101、获得来自上层应用的数据;
102、判断数据大小是否超过所对应的一个二维码容量,“否”则转“103”,“是”则转“104”;
如果生成的二维码种类(DM、QR code等)是确定的,对于某种确定种类二维码,其单个二维码总容量确定,二维码总容量-拼接符区长度-现有二维码信息编码中所必须添加的头的长度(运营商标识、版本信息、应用标识符等)=所对应二维码容量
103、将上层应用数据进行二维码上层信息编码,将“拼接条数标识”置为“1”,“组二维码标识”使用填充符填充或置为某个值、“拼接次序”使用填充符填充或置为1,在信息数据区域中填入上层应用数据,生成二维码上层信息编码,转“106”;
二维码上层信息编码所示,包括拼接符区域和信息数据区域,所述拼接符区域包括:
组二维码标识:用于标识需要拼接的一组二维码,同一组(用于拼接的)二维码,分配一个同样的组二维码标识。例如,0~65535中的某一个数。
拼接条数标识:上层应用数据被分成的二维码拼接条数,例如,使用8位二进制数来标识条数,0~255共256个数,除去全零不用,可以标识255个二维码;
拼接次序:在拼接条数不为零时,拼接次序有效。拼接次序标识该条二维码在应用拼接中所处的次序。例如,使用8位二进制数来标识次序,0~255共256个数,除去全零不用,可以标识255个二维码.
信息数据区域包括:基本标识区域和标识符区域,所述基本标识区域包括运营商标识和版本号,所述标识符区域包括应用标识符和属性。
每个独立应用由运营商标识和版本信息开始,接着是应用标识符,应用标识符代表该应用的类型。
后面是若干和应用有关的属性,每个独立应用至少包含一个属性。
属性由属性标识符和属性参数组成,属性标识符代表该属性的类型,属性参数包含实际的内容,每个属性参数可取多个值。
104、拆分数据、排序;每个二维码所能携带的上层信息编码容量=拼接区域大小加信息数据区域大小,即,对于所编码生成的一组二维码而言,其中每个二维码满足:信息数据区域大小=每个二维码所能携带的上层信息编码容量-拼接区域大小。所以,拆分数据时,以信息数据区域大小为基准对上层应用数据一次进行分片,每个分片依次序分配序号;
105、将各数据分段进行上层信息编码;将“拼接条数标识”置为分片数目,“拼接次序”=“序号”,将该组中的“组二维码标识”置为某个相同的数,在各自的信息数据区域中填入数据分片(最后一个分片中,元数据小于信息数据区域大小的,可使用填充位填充)。
二维码上层信息编码如图3所示,包括拼接符区域和信息数据区域,所述拼接符区域包括:
组二维码标识:用于标识需要拼接的一组二维码,同一组(用于拼接的)二维码,分配一个同样的组二维码标识。例如,0~65535中的某一个数。
拼接条数标识:上层应用数据被分成的二维码拼接条数,例如,使用8位二进制数来标识条数,0~255共256个数,除去全零不用,可以标识255个二维码;
拼接次序:在拼接条数不为零时,拼接次序有效。拼接次序标识该条二维码在应用拼接中所处的次序。例如,使用8位二进制数来标识次序,0~255共256个数,除去全零不用,可以标识255个二维码.
106、各上层信息编码经二维码编码后生成一组或一个二维码。
本发明实施例1还提供一种二维码解码方法,如图2所示,包括:
200、准备获得二维码;
201、获得输入(如使用手机上的摄像头拍摄)的二维码;
202、将二维码解码为二维码上层信息编码;
二维码上层信息编码包括拼接符区域和信息数据区域,所述拼接符区域包括:
组二维码标识:用于标识需要拼接的一组二维码,同一组(用于拼接的)二维码,分配一个同样的组二维码标识。例如,0~65535中的某一个数。
拼接条数标识:上层应用数据被分成的二维码拼接条数,例如,使用8位二进制数来标识条数,0~255共256个数,除去全零不用,可以标识255个二维码;
拼接次序:在拼接条数不为零时,拼接次序有效。拼接次序标识该条二维码在应用拼接中所处的次序。例如,使用8位二进制数来标识次序,0~255共256个数,除去全零不用,可以标识255个二维码。
信息数据区域可以使用现有上层信息编码方式构成。
203、判断:二维码上层信息编码中“拼接条数”的大小,“=1”则“204”;“>1”则转“205”;
204、解出上层应用数据,提供给二维码上层应用,退出;
205、判断:是否已获得含有相同“组二维码标识”的二维码,“是”则“206”;“否”则转“209”;
206、判断:是否已获得含有“拼接次序”中序号也相同的二维码,“是”则“207”;“否”则“208”;
207、抛弃该重复输入,并提示“输入重复,请输入不同的二维码”,转“200”;
208、比较:预存的具有该相同“组二维码标识”的二维码条数加1、“拼接条数”的大小,“<”则转“209”,“=”则转“210”;
209、存储该条二维码,提示“请继续输入该组的不同二维码”,转“200”;
210、将该组二维码中的信息数据按照序号拼接起来,转“204”。
本发明实施例1还提供一种编码装置301,如图3所示,包括:
获得单元302,用于获得上层应用数据;
上层信息编码单元304,用于对所述上层应用数据进行上层信息编码,生成上层信息编码,该上层信息编码包括:拼接符区域和信息数据区域;
二维码编码单元305,用于将上层信息编码进行二维码编码,生成二维码。
所述装置还可以包括:
判断单元303,用于判断应用数据大小是否超过一个所述上层应用数据对应的二维码容量,若是则由数据拆分单元306进行数据拆分,若否则由上层信息编码单元304直接对应用数据进行上层信息编码;
数据拆分单元306,用于在所述判断单元303判断应用数据大小超过一个所述上层应用数据对应的二维码容量的情况下,对所述应用数据进行拆分成数据分段并排序并提供给上层信息编码单元304进行上层信息编码。
本发明实施例1还提供一种解码装置401,如图4所示,包括:
获得单元402,用于获得二维码;
二维码解码单元403,用于将二维码解码为二维码上层信息编码,,该上层信息编码包括:拼接符区域和信息数据区域;
应用数据提供单元409,用于从所述二维码上层信息编码中解出上层应用数据,提供给二维码上层应用。
所述装置401还可以包括:
拼接条数判断单元404,用于判断所述获得单元402获得的二维码的拼接条数的大小,若等于则将所述二维码上层信息编码提供给应用数据提供单元409处理;
组二维码标识判断单元405,用于所述拼接条数判断单元404判断拼接条数大于1的情况下,判断是否已获得含有相同组二维码标识的二维码;
拼接次序判断单元406,用于在所述组二维码标识判断单元405判断获得含有相同组二维码标识的二维码的情况下,判断是否已获得含有拼接次序中序号也相同的二维码。
比较判断单元407,用于在所述拼接次序判断单元406判断未接受含有相同拼接次序的二维码的情况下,比较预存的具有该相同组二维码标识的二维码条数加1后和拼接条数的大小。
拼接单元408,用于在所述比较判断单元407判断为等于的情况下,将该组二维码中的信息数据按照序号拼接起来,并提供给所述应用数据提供单元409处理。
实施例2
本发明实施例2提供一种二维码生成方法,如图5所示,包括:
501、获得来自上层应用的数据;
502、判断数据大小是否超过一个所对应的二维码的容量,“否”则转“503”,“是”则转“504”;
二维码总容量-拼接符区长度-现有二维码信息编码中所必须添加的头的长度(运营商标识、版本信息、应用标识符等)=所对应二维码(应用数据)容量同样适用,不过,在该计算式中,拼接符区进一步确定为拼接标识,即拼接符区的长度在计算时为拼接标识的长度(1bit)。
503、进行二维码的编码方式2:“拼接标识”=“0”,信息数据区域中编入上层应用数据,转“506”;
所述编码方式2是指生成包括拼接符区域的二维码上层信息编码,包括:
拼接标识:用于标识该二维码是否需要拼接。此时,使用“0”标识不需要拼接;
在二维码上层信息编码,由拼接符区域和信息数据区域组成:拼接符区可以具体由拼接标识组成,信息数据区域可以使用现有上层信息编码方式构成。4、拆分数据、排序;每个二维码所能携带的上层信息编码容量=拼接区域大小加信息数据区域大小,即,对于所编码生成的一组二维码而言,其中每个二维码满足:信息数据区域大小=每个二维码所能携带的上层信息编码容量-拼接区域大小。所以,拆分数据时,以信息数据区域大小为基准对上层应用数据一次进行分片,每个分片依次序分配序号;
505、将各数据分段进行上层信息编码方式1:将“拼接标识”=“1”,将“拼接条数标识”置为分片数目,“拼接次序”=“序号”,将该组中的“组二维码标识”置为某个相同的数,在各自的信息数据区域中填入数据分片(最后一个分片中,元数据小于信息数据区域大小的,可使用填充位填充);
所述编码方式1是指生成包括拼接符区域的二维码上层信息编码,所述拼接符区域包括:
拼接标识:用于标识该二维码是否需要拼接。此时,使用“1”标识需要拼接;
组二维码标识:用于标识需要拼接的一组二维码,同一组(用于拼接的)二维码,分配一个同样的组二维码标识。例如,0~65535中的某一个数。
拼接条数标识:上层应用数据被分成的二维码拼接条数,例如,使用8位二进制数来标识条数,0~255共256个数,除去全零不用,可以标识255个二维码;
拼接次序:在拼接条数不为零时,拼接次序有效。拼接次序标识该条二维码在应用拼接中所处的次序。例如,使用8位二进制数来标识次序,0~255共256个数,除去全零不用,可以标识255个二维码。
二维码上层信息编码,由拼接符区域和信息数据区域组成:拼接符区可以具体由拼接标识、组二维码标识、拼接条数和拼接次序组成,信息数据区域可以使用现有上层信息编码方式构成。
506、各上层信息编码经二维码编码生成一个或一组二维码。
本发明实施例2还提供一种二维码解码方法,如图6所示,所述方法包括:600、准备获得二维码;
601、获得输入(如使用手机上的摄像头拍摄)的二维码;
602、将二维码解码为二维码上层信息编码;
二维码上层信息编码包括拼接符区域和信息数据区域,所述拼接符区域包括:
拼接标识:用于标识该二维码是否需要拼接。使用“1”标识需要拼接,使用“0”标识不需要拼接;
组二维码标识:用于标识需要拼接的一组二维码,同一组(用于拼接的)二维码,分配一个同样的组二维码标识。例如,0~65535中的某一个数。
拼接条数标识:上层应用数据被分成的二维码拼接条数,例如,使用8位二进制数来标识条数,0~255共256个数,除去全零不用,可以标识255个二维码;
拼接次序:在拼接条数不为零时,拼接次序有效。拼接次序标识该条二维码在应用拼接中所处的次序。例如,使用8位二进制数来标识次序,0~255共256个数,除去全零不用,可以标识255个二维码。
信息数据区域可以使用现有上层信息编码方式构成。
603、判断若拼接标识为1,则“604”;若拼接标识为0,则转“610”;
604、判断:是否已获得含有相同“组二维码标识”的二维码,“是”则“605”;“否”则转“608”;
605、判断:是否已获得含有“拼接次序”中序号也相同的二维码,“是”则“606”;“否”则“607”;
606、抛弃该重复输入,并提示“输入重复,请输入不同的二维码”,转“600”;
607、比较:预存的具有该相同“组二维码标识”的二维码条数加1、“拼接条数”的大小,“<”则转“608”,“=”则转“609”;
608、提示“请继续输入该组的不同二维码”,转“600”;
609、将该组二维码中的信息数据按照序号拼接起来;
610、解出上层应用数据,提供给二维码上层应用,退出;
本发明实施例2还提供一种编码装置701,如图7所示,包括:
获得单元702,用于获得上层应用数据;
上层信息编码单元704,用于对所述上层应用数据进行上层信息编码,生成上层信息编码,该上层信息编码包括:拼接符区域和信息数据区域;
二维码编码单元705,用于将上层信息编码进行二维码编码,生成二维码。
所述装置701还可以包括:
判断单元703,用于判断应用数据大小是否超过一个所述上层应用数据对应的二维码容量,若是则由数据拆分单元706进行数据拆分,若否则由上层信息编码单元704直接对应用数据进行上层信息编码;
数据拆分单元706,用于在所述判断单元703判断应用数据大小超过一个所述上层应用数据对应的二维码容量的情况下,对所述应用数据进行拆分成数据分段并排序并提供给上层信息编码单元704进行上层信息编码。
所述上层信息编码单元可以包括:
编码单元一707,用于在所述判断单元703判断应用数据大小未超过一个所述上层应用数据对应的二维码容量的情况下,对所述对应用数据直接进行上层信息编码,所述对应用数据直接进行上层信息编码是将拼接条数标识置为1,“组二维码标识”使用填充符填充或置为某个值、“拼接次序”使用填充符填充或置为1,在信息数据区域中填入上层应用数据,生成二维码上层信息编码;
编码单元二708,用于在所述判断单元703判断应用数据大小超过一个所述上层应用数据对应的二维码容量的情况下,对所述数据分段进行上层信息编码,所述对数据分段进行上层信息编码是将拼接条数标识置为分片数目,拼接次序置为序号,将组二维码标识置为某个相同的数,在各自的信息数据区域中填入数据分片。
本发明实施例2还提供一种解码装置801,如图8所示,包括:
获得单元802,用于获得二维码;
上层信息解码单元803,用于将二维码解码为二维码上层信息编码,,该上层信息编码包括:拼接符区域和信息数据区域;
应用数据提供单元810,用于从所述二维码上层信息编码中解出上层应用数据,提供给二维码上层应用。
所述装置801还可以包括:
拼接条数判断单元805,用于判断所述获得单元获得的二维码的拼接条数的大小,若等于则将所述二维码上层信息编码提供给应用数据提供单元处理;
组二维码标识判断单元806,用于所述拼接条数判断单元805判断拼接条数大于1的情况下,判断是否已获得含有相同组二维码标识的二维码;
拼接次序判断单元807,用于在所述组二维码标识判断单元806判断获得含有相同组二维码标识的二维码的情况下,判断是否已获得含有拼接次序中序号也相同的二维码。
比较判断单元808,用于在所述拼接次序判断单元807判断未接受含有相同拼接次序的二维码的情况下,比较预存的具有该相同组二维码标识的二维码条数加1后和拼接条数的大小。
拼接单元809,用于在所述比较判断单元808判断为等于的情况下,将该组二维码中的信息数据按照序号拼接起来,并提供给所述应用数据提供单元处理。
所述装置801还可以包括:
拼接标识单元804,用于判断拼接标识的大小,在判断拼接标识为1的情况下,将二维码上层信息编码提供给拼接条数判断单元805,在判断拼接标识为0的情况下,将二维码上层信息编码提供给应用数据提供单元810处理。
实施例3
本发明实施例3提供一种二维码生成方法,如图9所示,所述方法包括:
901、获得来自上层应用的数据;
902、判断数据大小是否超过一个二维码的容量,“否”则转“903”,“是”则转“904”;
如果生成的二维码种类(DM、QR code等)是确定的,对于某种确定种类二维码,其单个二维码总容量确定,二维码总容量-拼接符区长度-现有二维码信息编码中所必须添加的头的长度(运营商标识、版本信息、应用标识符等)=所对应二维码容量。
903、将上层应用数据进行二维码上层信息编码:将“后续条数标识”置为“0”,“组二维码标识”、“拼接次序”使用填充符填充,在信息数据区域中填入上层应用数据,生成二维码上层信息编码,转“906”;
二维码上层信息编码包括拼接符区域和信息数据区域,所述拼接符区域包括:
组二维码标识:用于标识需要拼接的一组二维码,同一组(用于拼接的)二维码,分配一个同样的组二维码标识。例如,0~65535中的某一个数。
拼接次序:在拼接条数不为零时,拼接次序有效。拼接次序标识该条二维码在应用拼接中所处的次序。例如,使用8位二进制数来标识次序,0~255共256个数,除去全零不用,可以标识255个二维码。
后续条数标识:上层应用数据被分成的二维码拼接条数减去条信息的拼接次序(即:后续条数=总条数—该条次序),例如,使用8位二进制数来标识条数,0~255共256个数,除去全零不用,可以标识255个二维码。假设上层应用数据被分成共10条二维码,该条次序为4,那么后续条数为6。
信息数据区域可以使用现有上层信息编码方式构成。
904、拆分数据、排序;每个二维码所能携带的上层信息编码容量=拼接区域大小加信息数据区域大小,即,对于所编码生成的一组二维码而言,其中每个二维码满足:信息数据区域大小=每个二维码所能携带的上层信息编码容量-拼接区域大小。所以,拆分数据时,以信息数据区域大小为基准对上层应用数据一次进行分片,每个分片依次序分配序号;
905、将各数据分段进行上层信息编码;
二维码上层信息编码包括拼接符区域和信息数据区域,所述拼接符区域包括:
组二维码标识:用于标识需要拼接的一组二维码,同一组(用于拼接的)二维码,分配一个同样的组二维码标识。例如,0~65535中的某一个数。
拼接次序:在拼接条数不为零时,拼接次序有效。拼接次序标识该条二维码在应用拼接中所处的次序。例如,使用8位二进制数来标识次序,0~255共256个数,除去全零不用,可以标识255个二维码。
后续条数标识:上层应用数据被分成的二维码拼接条数减去条信息的拼接次序(即:后续条数=总条数—该条次序),例如,使用8位二进制数来标识条数,0~255共256个数,除去全零不用,可以标识255个二维码。假设上层应用数据被分成共10条二维码,该条次序为4,那么后续条数为6。
信息数据区域可以使用现有上层信息编码方式构成。
具体可以是:“拼接次序”=“序号”,根据“后续条数=总条数—该条拼接次序”得出后续条数,将该组中的“组二维码标识”置为某个相同的数,在各自的信息数据区域中填入数据分片(最后一个分片中,元数据小于信息数据区域大小的,可使用填充位填充);
906、各上层信息编码经二维码编码生成一组或一个二维码。
本发明实施例3还提供一种二维码解码方法,如图10所示,所述方法包括:
1000、准备获得二维码;
1001、获得输入(如使用手机上的摄像头拍摄)的二维码;
1002、将二维码解码为二维码上层信息编码;
二维码上层信息编码包括拼接符区域和信息数据区域,所述拼接符区域包括:
组二维码标识:用于标识需要拼接的一组二维码,同一组(用于拼接的)二维码,分配一个同样的组二维码标识。例如,0~65535中的某一个数。
拼接次序:在拼接条数不为零时,拼接次序有效。拼接次序标识该条二维码在应用拼接中所处的次序。例如,使用8位二进制数来标识次序,0~255共256个数,除去全零不用,可以标识255个二维码。
后续条数标识:上层应用数据被分成的二维码拼接条数减去条信息的拼接次序(即:后续条数=总条数—该条次序),例如,使用8位二进制数来标识条数,0~255共256个数,除去全零不用,可以标识255个二维码。假设上层应用数据被分成共10条二维码,该条次序为4,那么后续条数为6。
信息数据区域可以使用现有上层信息编码方式构成。
1003、通过“拼接序号”加“后续条数”算出“总条数”判断:“总条数”的大小,“=1”则“1004”;“>1”则转“1005”;
1004、解出上层应用数据,提供给二维码上层应用,退出;
1005、判断:是否已获得含有相同“组二维码标识”的二维码,“是”则“1006”;“否”则转“1009”;
1006、判断:是否已获得含有“拼接次序”中序号也相同的二维码,“是”则“1007”;“否”则“1008”;
1007、抛弃该重复输入,并提示“输入重复,请输入不同的二维码”,转“1000”;
1008、比较:预存的具有该相同“组二维码标识”的二维码条数加1、“总条数”的大小,“<”则转“1009”,“=”则转“1110”;
1009、提示“请继续输入该组的不同二维码”,转“1000”;
1010、将该组二维码中的信息数据按照序号拼接起来,转“1004”。
本发明实施例3还提供一种编码装置1101,如图11所示,包括:
获得单元1102,用于获得上层应用数据;
上层信息编码单元1104,用于对所述上层应用数据进行上层信息编码,生成上层信息编码,该上层信息编码包括:拼接符区域和信息数据区域;
二维码编码单元1105,用于将上层信息编码进行二维码编码,生成二维码。
所述装置1101还可以包括:
判断单元1103,用于判断应用数据大小是否超过一个所述上层应用数据对应的二维码容量,若是则由数据拆分单元1106进行数据拆分,若否则由上层信息编码单元1104直接对应用数据进行上层信息编码;
数据拆分单元1106,用于在所述判断单元1103判断应用数据大小超过一个所述上层应用数据对应的二维码容量的情况下,对所述应用数据进行拆分成数据分段并排序并提供给上层信息编码单元1104进行上层信息编码。
所述上层信息编码单元1104可以包括:
编码单元一1107,用于在所述判断单元1103判断应用数据大小未超过一个所述上层应用数据对应的二维码容量的情况下,将后续条数标识置为0,组二维码标识、拼接次序使用填充符填充,在信息数据区域中填入上层应用数据,生成二维码上层信息编码;
编码单元二1108,用于在所述判断单元1103判断应用数据大小超过一个所述上层应用数据对应的二维码容量的情况下,对所述数据分段进行上层信息编码,所述对数据分段进行上层信息编码是将拼接次序置为序号,根据“后续条数=总条数—该条拼接次序”得出后续条数,将组二维码标识置为某个相同的数,在各自的信息数据区域中填入数据分片。
所述编码单元一1107还可以用于在所述判断单元1103判断应用数据大小未超过一个所述上层应用数据对应的二维码容量的情况下将拼接标识置为0;所述编码单元二还可以用于在所述判断单元判断应用数据大小超过一个所述上层应用数据对应的二维码容量的情况下将拼接标识置为1。
本发明实施例3还提供一种解码装置1201,如图12所示,包括:
获得单元1202,用于获得二维码;
上层信息解码单元1203,用于将二维码解码为二维码上层信息编码,,该上层信息编码包括:拼接符区域和信息数据区域;
应用数据提供单元1210,用于从所述二维码上层信息编码中解出上层应用数据,提供给二维码上层应用。
所述装置1201还可以包括:
拼接条数判断单元1205,用于判断所述获得单元1202获得的二维码的拼接条数的大小,若等于则将所述二维码上层信息编码提供给应用数据提供单元处理;
组二维码标识判断单元1206,用于所述拼接条数判断单元1205判断拼接条数大于1的情况下,判断是否已获得含有相同组二维码标识的二维码;
拼接次序判断单元1207,用于在所述组二维码标识判断单元1206判断获得含有相同组二维码标识的二维码的情况下,判断是否已获得含有拼接次序中序号也相同的二维码。
比较判断单元1208,用于在所述拼接次序判断单元1207判断未接受含有相同拼接次序的二维码的情况下,比较预存的具有该相同组二维码标识的二维码条数加1后和拼接条数的大小。
拼接单元1209,用于在所述比较判断单元1208判断为等于的情况下,将该组二维码中的信息数据按照序号拼接起来,并提供给所述应用数据提供单元处理。
所述装置1201还可以包括:
拼接条数计算单元1204,用于将后续条数与拼接序号相加得出拼接总条数,并提供给拼接条数判断单元1205。
上述实施例所涉及的举例,如“拼接标识”=0|1;组二维码标识分配0~65535中的某一个数;拼接条数标识使用8位二进制数来标识次序,0~255共256个数;拼接次序使用8位二进制数来标识次序,0~255共256个数等,都只是一种举例说明,实际实现时应不受此限制,发明中的方案同样适用。
Claims (22)
1.一种二维码生成方法,包括:
获得上层应用数据;
判断应用数据大小是否超过一个所述上层应用数据对应的二维码容量;如果是,则将数据拆分成数据分段并排序,对数据分段进行上层信息编码;若否,对所述应用数据直接进行上层信息编码;
生成上层信息编码,该上层信息编码包括:拼接符区域和信息数据区域,所述拼接符区域包括拼接条数标识、组二维码标识和拼接次序,所述组二维码标识用于标识需要拼接的一组二维码,同一组需要拼接的二维码分配一个同样的组二维码标识;
将上层信息编码进行二维码编码,生成二维码。
2.如权利要求1所述的方法,其特征在于,所述将数据拆分成数据分段并排序包括:拆分数据时,以信息数据区域大小为基准对上层应用数据一次进行分片,每个分片依次序分配序号;
所述对数据分段进行上层信息编码包括:将拼接条数标识置为分片数目,拼接次序置为序号,将组二维码标识置为某个相同的数,在各自的信息数据区域中填入数据分片。
3.如权利要求1所述的方法,其特征在于,所述对应用数据直接进行上层信息编码包括:将拼接条数标识置为1,在信息数据区域中填入上层应用数据,生成二维码上层信息编码。
4.如权利要求1所述的方法,其特征在于,所述拼接符区域还包括:拼接标识。
5.如权利要求4所述的方法,其特征在于,所述对数据分段进行上层信息编码包括:将拼接标识置为1,将拼接条数标识置为分片数目,拼接次序置为序号,将组二维码标识置为某个相同的数,在各自的信息数据区域中填入数据分片。
6.如权利要求4所述的方法,其特征在于,所述对所述应用数据直接进行上层信息编码包括:将所述拼接标识置为0,信息数据区域中编入上层应用数据。
7.如权利要求1所述的方法,其特征在于,所述拼接符区域还包括后续条数标识。
8.如权利要求7所述的方法,其特征在于,所述将数据拆分成数据分段并排序包括:拆分数据时以信息数据区域大小为基准对上层应用数据一次进行分片,每个分片依次序分配序号;
所述对数据分段进行上层信息编码包括:将拼接次序置为序号,计算后续条数,将组二维码标识置为相同的数,在各自的信息数据区域中填入数据分片。
9.如权利要求7所述的方法,其特征在于,所述对所述应用数据直接进行上层信息编码包括:将后续条数标识置为0,在信息数据区域中填入待编码数据。
10.一种二维码解码方法,包括:
获得二维码,
将二维码解码为二维码上层信息编码,该二维码上层信息编码包括拼接符区域和信息数据区域,所述拼接符区域包括拼接条数标识、组二维码标识和拼接次序,所述组二维码标识用于标识需要拼接的一组二维码,同一组需要拼接的二维码分配一个同样的组二维码标识;
解出上层应用数据,提供给二维码上层应用。
11.如权利要求10所述的方法,其特征在于,所述解出上层应用数据,提供给二维码上层应用包括:
判断所述拼接条数的大小,若拼接条数是1则解出上层应用数据,提供给二维码上层应用,若大于1则判断是否已获得含有相同组二维码标识的二维码 上层信息编码,若是则判断是否已获得含有拼接次序中序号也相同的二维码上层信息编码;若否则比较预存的具有该相同组二维码标识的二维码上层信息编码条数加1后和拼接条数的大小,若等于则将该组二维码上层信息编码中的信息数据按照序号拼接起来,解出上层应用数据,提供给二维码上层应用。
12.如权利要求10所述的方法,其特征在于,所述拼接符区域还包括拼接标识。
13.如权利要求12所述的方法,其特征在于,所述解出上层应用数据,提供给二维码上层应用包括:判断拼接标识的大小,若为0则解出上层应用数据,提供给二维码上层应用,若为1则判断是否已获得含有相同组二维码标识的二维码上层信息编码,若是则判断是否已获得含有拼接次序中序号也相同的二维码上层信息编码;若否则比较预存的具有该相同组二维码标识的二维码上层信息编码条数加1后和拼接条数的大小,若等于将该组二维码上层信息编码中的信息数据按照序号拼接起来;解出上层应用数据,提供给二维码上层应用。
14.如权利要求10所述的方法,其特征在于,所述拼接符区域还包括后续条数标识。
15.如权利要求14所述的方法,其特征在于,所述解出上层应用数据,提供给二维码上层应用包括:将后续条数与拼接序号相加得出拼接总条数;判断拼接总条数的大小,若等于1则解出上层应用数据,提供给二维码上层应用,若大于1则判断是否已获得含有相同组二维码标识的二维码上层信息编码,若是则判断是否已获得含有拼接次序中序号也相同的二维码上层信息编码;若否则比较预存的具有该相同组二维码标识的二维码上层信息编码条数加1后与拼接条数的大小,若等于则将该组二维码上层信息编码中的信息数据按照序号拼接起来,解出上层应用数据,提供给二维码上层应用。
16.一种编码装置,包括:
获得单元,用于获得上层应用数据;
上层信息编码单元,用于对所述上层应用数据进行上层信息编码,生成上层信息编码,该上层信息编码包括:拼接符区域和信息数据区域,所述拼接符区域包括拼接条数标识、组二维码标识和拼接次序,所述组二维码标识用于标识需要拼接的一组二维码,同一组需要拼接的二维码分配一个同样的组二维码标识;
二维码编码单元,用于将上层信息编码进行二维码编码,生成二维码;
还包括:
判断单元,用于判断应用数据大小是否超过一个所述上层应用数据对应的二维码容量,若是则由数据拆分单元进行数据拆分,若否则由上层信息编码单元直接对应用数据进行上层信息编码;
数据拆分单元,用于在所述判断单元判断应用数据大小超过一个所述上层应用数据对应的二维码容量的情况下,对所述应用数据进行拆分成数据分段并排序并提供给上层信息编码单元进行上层信息编码。
17.如权利要求16所述的装置,其特征在于,所述上层信息编码单元包括:
编码单元一,用于在所述判断单元判断应用数据大小未超过一个所述上层应用数据对应的二维码容量的情况下,对所述对应用数据直接进行上层信息编码,所述对应用数据直接进行上层信息编码是将拼接条数标识置为1,在信息数据区域中填入上层应用数据,生成二维码上层信息编码;
编码单元二,用于在所述判断单元判断应用数据大小超过一个所述上层应用数据对应的二维码容量的情况下,对所述数据分段进行上层信息编码,所述对数据分段进行上层信息编码是将拼接条数标识置为分片数目,拼接次序置为序号,将组二维码标识置为某个相同的数,在各自的信息数据区域中填入数据分片。
18.如权利要求17所述的装置,其特征在于,
所述编码单元一还用于在所述判断单元判断应用数据大小未超过一个所述上层应用数据对应的二维码容量的情况下将拼接标识置为0;
所述编码单元二还用于在所述判断单元判断应用数据大小超过一个所述上层应用数据对应的二维码容量的情况下将拼接标识置为1。
19.一种解码装置,包括:
获得单元,用于获得二维码;
上层信息解码单元,用于将二维码解码为二维码上层信息编码,该上层信息编码包括:拼接符区域和信息数据区域,所述拼接符区域包括拼接条数标识、组二维码标识和拼接次序,所述组二维码标识用于标识需要拼接的一组二维码,同一组需要拼接的二维码分配一个同样的组二维码标识;
应用数据提供单元,用于从所述二维码上层信息编码中解出上层应用数据,提供给二维码上层应用。
20.如权利要求19所述的装置,其特征在于,还包括:
拼接条数判断单元,用于判断所述上层信息解码单元获得的二维码上层信息编码的拼接条数的大小,若等于1则将所述二维码上层信息编码提供给应用数据提供单元处理;
组二维码标识判断单元,用于所述拼接条数判断单元判断拼接条数大于1的情况下,判断是否已获得含有相同组二维码标识的二维码上层信息编码;
拼接次序判断单元,用于在所述组二维码标识判断单元判断获得含有相同组二维码标识的二维码上层信息编码的情况下,判断是否已获得含有拼接次序中序号也相同的二维码上层信息编码;
比较判断单元,用于在所述拼接次序判断单元判断未接受含有相同拼接次序的二维码上层信息编码的情况下,比较预存的具有该相同组二维码标识的二维码上层信息编码条数加1后和拼接条数的大小;
拼接单元,用于在所述比较判断单元判断为等于的情况下,将该组二维码上 层信息编码中的信息数据按照序号拼接起来,并提供给所述应用数据提供单元处理。
21.如权利要求20所述的装置,其特征在于,还包括:
拼接标识单元,用于判断拼接标识的大小,在判断拼接标识为1的情况下,将二维码上层信息编码提供给拼接条数判断单元,在判断拼接标识为0的情况下,将二维码上层信息编码提供给应用数据提供单元处理。
22.如权利要求20所述的装置,其特征在于,还包括:
拼接条数计算单元,用于将后续条数与拼接序号相加得出拼接总条数,并提供给拼接条数判断单元。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810142344.0A CN101645140B (zh) | 2008-08-06 | 2008-08-06 | 二维码生成方法、解码方法及装置 |
PCT/CN2009/073050 WO2010015184A1 (zh) | 2008-08-06 | 2009-08-03 | 二维码生成方法、解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810142344.0A CN101645140B (zh) | 2008-08-06 | 2008-08-06 | 二维码生成方法、解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101645140A CN101645140A (zh) | 2010-02-10 |
CN101645140B true CN101645140B (zh) | 2016-10-05 |
Family
ID=41657020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810142344.0A Active CN101645140B (zh) | 2008-08-06 | 2008-08-06 | 二维码生成方法、解码方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101645140B (zh) |
WO (1) | WO2010015184A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073977A (zh) * | 2010-12-13 | 2011-05-25 | 中国联合网络通信集团有限公司 | 数字签名的生成和验证方法、设备及系统 |
CN102129585B (zh) * | 2011-03-03 | 2013-03-27 | 天地融科技股份有限公司 | 一种信息传输方法及系统、条形码显示及读取装置 |
US8740081B2 (en) * | 2011-11-03 | 2014-06-03 | Cognex Corporation | Method and apparatus for ordering code candidates in image for decoding attempts |
CN102799915B (zh) * | 2012-07-16 | 2015-10-28 | 北京怡和嘉业医疗科技有限公司 | 信息传输方法和信息传输装置 |
CN103198343A (zh) * | 2013-02-01 | 2013-07-10 | 陈绳旭 | 物联网二维码的编码方法及其应用系统 |
CN104035737A (zh) * | 2013-03-04 | 2014-09-10 | 联想(北京)有限公司 | 一种信息处理的方法及一种电子设备 |
CN103440516B (zh) * | 2013-08-26 | 2016-08-24 | 佛山市南海兴发印务实业有限公司 | 二维码标签及其生成方法和装置 |
CN104424498B (zh) * | 2013-09-10 | 2019-03-15 | 北京意锐新创科技有限公司 | 一种高速变换二维码编码的方法及装置 |
CN103646121B (zh) * | 2013-12-27 | 2016-03-16 | 税友软件集团股份有限公司 | 一种标识码及使用方法和装置 |
CN103753999A (zh) * | 2014-01-21 | 2014-04-30 | 左仁合 | 一种具有二维码网络入口的纸质书籍 |
CN105577376A (zh) * | 2014-10-13 | 2016-05-11 | 航天信息股份有限公司 | 二维码的编解码和认证方法和装置 |
CN104463296B (zh) * | 2014-11-10 | 2018-04-10 | 吴涛军 | 一种二维码结构化信息的生成、获取及处理方法和系统 |
CN106874979B (zh) * | 2015-12-14 | 2020-04-07 | 阿里巴巴集团控股有限公司 | 一种条形码处理、显示、读取方法和装置 |
CN106937359B (zh) * | 2015-12-29 | 2021-07-06 | 西安中兴新软件有限责任公司 | 一种信息处理方法、服务器和热点装置 |
CN108280500A (zh) * | 2017-01-06 | 2018-07-13 | 百度在线网络技术(北京)有限公司 | 二维码的编码方法、解码方法、相关装置及设备 |
CN108229627A (zh) * | 2017-12-25 | 2018-06-29 | 刘世洪 | 农产品质量安全全程溯源时空混合编码及编码方法 |
CN108280502B (zh) * | 2018-01-18 | 2020-10-27 | 福建工程学院 | 一种qr码容量提升方法及终端 |
CN112307794A (zh) * | 2020-11-25 | 2021-02-02 | 杭州视洞科技有限公司 | 一种摄像头通过扫描多张二维码传输数据方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004295523A (ja) * | 2003-03-27 | 2004-10-21 | Brother Ind Ltd | バーコード画像生成装置及びプログラム |
CN1801188A (zh) * | 2006-01-18 | 2006-07-12 | 冯文伦 | 一种矩阵式二维条码及其编码解码方法 |
CN1920858A (zh) * | 2005-08-26 | 2007-02-28 | 毛山 | 基于二维条码传输信息的方法及其编码装置、解码装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003233788A (ja) * | 2002-02-13 | 2003-08-22 | Nec Infrontia Corp | 図形コードシステム |
CN100377173C (zh) * | 2006-03-17 | 2008-03-26 | 北京紫光捷通科技有限公司 | 一种基于十六进制编码的构建二维码的方法 |
CN100504912C (zh) * | 2006-07-07 | 2009-06-24 | 中国物品编码中心 | 二维条码符号的生成方法 |
-
2008
- 2008-08-06 CN CN200810142344.0A patent/CN101645140B/zh active Active
-
2009
- 2009-08-03 WO PCT/CN2009/073050 patent/WO2010015184A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004295523A (ja) * | 2003-03-27 | 2004-10-21 | Brother Ind Ltd | バーコード画像生成装置及びプログラム |
CN1920858A (zh) * | 2005-08-26 | 2007-02-28 | 毛山 | 基于二维条码传输信息的方法及其编码装置、解码装置 |
CN1801188A (zh) * | 2006-01-18 | 2006-07-12 | 冯文伦 | 一种矩阵式二维条码及其编码解码方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2010015184A1 (zh) | 2010-02-11 |
CN101645140A (zh) | 2010-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101645140B (zh) | 二维码生成方法、解码方法及装置 | |
CN101639899B (zh) | 二维码编码方法、解码方法及装置、终端 | |
CN102129585B (zh) | 一种信息传输方法及系统、条形码显示及读取装置 | |
CN104657698B (zh) | 一种可承载多幅黑白二维码的彩色二维码编解码方法 | |
CN102855514A (zh) | 基于二维码防伪识别方法及系统 | |
CN101339599A (zh) | 一种获取二维码的方法和终端 | |
CN102930192A (zh) | 安全信息生成和获取方法、及相关装置 | |
CN112446207A (zh) | 标题生成方法、装置、电子设备及存储介质 | |
CN103530669A (zh) | 一种数据信息的二维码编码方法 | |
CN101859397A (zh) | 二维阵列码 | |
CN103997406B (zh) | 基于二维码的身份认证方法和装置 | |
CN108319724A (zh) | 一种带公式文件的网页发布方法及装置 | |
CN101859398B (zh) | 二维阵列码 | |
CN107944525A (zh) | 一种基于数据分割的扩大二维码容量的方法及系统 | |
CN102542340A (zh) | 业务单据批号编码方法和装置 | |
CN102103627B (zh) | 在移动终端上识别二维码的方法和装置 | |
CN104091189A (zh) | 微窗彩色二维码的编码和解码方法 | |
CN108256610A (zh) | 一种文字环绕二维码的生成系统和生成方法 | |
CN112069850B (zh) | 基于二维码的服务提供方法、装置、设备及存储介质 | |
CN105247481A (zh) | 网页输出选择 | |
CN106156019A (zh) | 生成标识符的方法和装置 | |
CN102479072B (zh) | 一种多表头报表的生成方法、装置及终端 | |
CN109685186A (zh) | 基于二维空码的大规模内容定制方法 | |
CN114511854A (zh) | 一种合同规范性的审核方法、装置、设备和介质 | |
CN106874979B (zh) | 一种条形码处理、显示、读取方法和装置 |
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 |