二维码生成方法及装置与流程

文档序号:11831737阅读:420来源:国知局
二维码生成方法及装置与流程

本发明涉及二维码技术领域,尤其涉及一种二维码生成方法及装置。



背景技术:

所谓二维码,是将数据信息通过黑白相间的几何图形按照一定规律排列在平面上。在整个代码编制中利用了计算机学的二进制比特流思路,用一定的几何图形与二进制代码相匹配来完成对数据信息的表达功能,然后利用外围的光电检测设备完成对图形信息的自动识别和处理功能。由于二维码每种码制有其特定的字符集、每个字符占有一定的宽度、具有一定的校验功能、对不同行的信息自动识别以及处理图形旋转变化等,因此,可以使用二维码来代替条形码,以记载更复杂的数据,例如图片、网络链接等等。

目前,快速响应码(Quick-Response,简称QR code)二维码是一种比较流行的二维码,快速响应码是一种包括黑白方格的二维矩阵码。每个方格被称为模块(Module,也称为码元)。快速响应码具有数据段。数据被转换成比特流(Bit stream),然后以8比特部分(称为码字(codeword))的形式存储于数据段中。通常在快速响应码中,一个模块表示一个比特。彩色的二维码也主要以艺术视角去考虑视觉美观问题,比如如何给二维码上色。真正从二维码的数据存储优化去考虑的并不很多。有一种态度是:二维码只是一个入口,它的大容量没有发展前景。其实不然,如果一个小小的二维码存储空间大了,它的应用领域也会相应扩大。

常见的二维码是黑白两色的,这样的好处自然是能够提高识别准确度。QR图的大小被定义为版本,版本号从1到40,即21×21模块(版本1)-177×177模块(版本40),每一版本比前一版本每边增加 4个模块。以图1所示的版本1(21×21)的二维码为例说明,其中5区域用来保存被编码的数据以及纠错信息码,在第一版本中只有217(21×21-8*9*3-8)个存储数据的空间,而其中有用的数据是217-1个数据结尾标志=216,即216bit。216bit/8=27Byte在版本一的QR码中只能够存储27Byte的数据,而且要是有校验容错在版本一的QR码中能够存储的数据就更少了。

鉴于此,如何对二维码存储空间进行扩展成为当前需要解决的技术问题。



技术实现要素:

针对现有技术中的缺陷,本发明提供一种二维码生成方法及装置,能够对现有的二维码存储空间进行扩展,在同种版本规格下的二维码中存储更多的数据信息。

第一方面,本发明提供一种二维码生成方法,包括:

确定待生成的二维码中存储的数据信息;

根据所述数据信息,确定待生成的二维码的模板、纠错等级和灰度分级的级别,确定每一级灰度对应的二进制码,所述纠错等级为纠错码字占总码字的比例;

根据所述数据信息和纠错等级,生成第一码字流,所述第一码字流包括:数据码字流和所述数据码字流之后的纠错码字,所述数据码字流是通过将所述数据信息进行转换而得到的;

将所述第一码字流中的码字按顺序分别添加到所述模板中的数据部分和纠错信息码部分,并根据所述每一级灰度对应的二进制码,生成存储所述数据信息的灰度二维码。

可选地,所述根据待生成的二维码中存储的数据信息,确定待生成的二维码的模板,包括:

根据所述数据信息,确定待生成的二维码的版本信息;

根据所述版本信息,获取所述版本信息对应的二维码模板。

可选地,所述根据所述数据信息和纠错等级,生成第一码字流,所述第一码字流包括:数据码字流和所述数据码字流之后的纠错码字,所述数据码字流是通过将所述数据信息进行转换而得到的,包括:

将所述数据信息转换为数据码字流;

根据所述数据码字流及纠错等级,生成纠错码字;

将生成的纠错码字添加到数据码字流之后得到第一码字流。

可选地,所述将所述数据信息转换为数据码字流,包括:

将所述数据信息按照预设编码规则转换为比特流;

将所述比特流转换为数据码字流。

可选地,所述预设编码规则为快速响应QR码。

可选地,在所述数据信息大于216比特且小于等于1728比特时,所述灰度级别为256级。

第二方面,本发明提供一种二维码生成装置,包括:

第一确定模块,用于确定待生成的二维码中存储的数据信息;

第二确定模块,用于根据所述数据信息,确定待生成的二维码的模板、纠错等级和灰度分级的级别,确定每一级灰度对应的二进制码,所述纠错等级为纠错码字占总码字的比例;

第一生成模块,用于根据所述数据信息和纠错等级,生成第一码字流,所述第一码字流包括:数据码字流和所述数据码字流之后的纠错码字,所述数据码字流是通过将所述数据信息进行转换而得到的;

第二生成模块,用于将所述第一码字流中的码字按顺序分别添加到所述模板中的数据部分和纠错信息码部分,并根据所述每一级灰度对应的二进制码,生成存储所述数据信息的灰度二维码。

可选地,所述第二确定模块,包括:

第一确定单元,用于根据所述数据信息,确定待生成的二维码的版本信息、纠错等级和灰度分级的级别,确定每一级灰度对应的二进制码,所述纠错等级为纠错码字占总码字的比例;

获取单元,用于根据所述版本信息,获取所述版本信息对应的二维码模板。

可选地,所述第一生成模块,包括:

转换单元,用于将所述数据信息转换为数据码字流;

第一生成单元,用于根据所述数据码字流及纠错等级,生成纠错码字;

第二生成单元,用于将生成的纠错码字添加到数据码字流之后得到第一码字流。

可选地,所述转换单元,具体用于

将所述数据信息按照预设编码规则转换为比特流;

将所述比特流转换为数据码字流。

由上述技术方案可知,本发明的二维码生成方法及装置,能够对现有的二维码存储空间进行扩展,在同种版本规格下的二维码中存储更多的数据信息。

附图说明

图1为现有技术中版本1的QR二维码的示意图;

图2为本发明一实施例提供的二维码生成方法的流程示意图;

图3为本发明一实施例提供的二维码生成装置的结构示意图;

图4为图3所示实施例提供的二维码生成装置的一种第二确定模块的结构示意图;

图5为图3所示实施例提供的二维码生成装置的一种第一生成模块的结构示意图;

附图标记:

0、空白区;1、位置探测图形;2、位置探测图形分隔符;3、定位图形;4、格式信息;5、数据和纠错信息码。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结 合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他的实施例,都属于本发明保护的范围。

本发明实施例以图1所示的版本1(21×21)的二维码为例说明,

图2示出了本发明一实施例提供的二维码生成方法的流程示意图,如图2所示,本实施例的二维码生成方法如下所述。

201、确定待生成的二维码中存储的数据信息。

202、根据所述数据信息,确定待生成的二维码的模板、纠错等级和灰度分级的级别,确定每一级灰度对应的二进制码,所述纠错等级为纠错码字占总码字的比例。

在具体应用中,在本步骤202中的待生成的二维码的灰度分级的级别可以为16级灰度,或者32级灰度,或者64级灰度,或者128级灰度,或者256级灰度等。

举例来说,在本实施例中可以用8位灰度图像表示256种颜色(即将黑白二维码分为256级灰度)。一个黑色方格的颜色将表示为00000000,即1bit。所以在(21×21)的二维码中,存储空间增大为216Byte,是原来同规格二维码的8倍。

在具体应用中,在所述数据信息大于216比特且小于等于1728比特时,所述灰度级别为256级。

在具体应用中,本步骤202中的“根据待生成的二维码中存储的数据信息,确定待生成的二维码的模板”,可以包括:

根据所述数据信息,确定待生成的二维码的版本信息;

根据所述版本信息,获取所述版本信息对应的二维码模板。

203、根据所述数据信息和纠错等级,生成第一码字流,所述第一码字流包括:数据码字流和所述数据码字流之后的纠错码字,所述 数据码字流是通过将所述数据信息进行转换而得到的。

在具体应用中,本步骤203可以包括图中未示出的步骤203a-203c:

203a、将所述数据信息转换为数据码字流。

在具体应用中,本步骤203a可以包括:

将所述数据信息按照预设编码规则转换为比特流;

将所述比特流转换为数据码字流。

在具体应用中,所述预设编码规则可以优选为快速响应QR码。

203b、根据所述数据码字流及纠错等级,生成纠错码字。

203c、将生成的纠错码字添加到数据码字流之后得到第一码字流。

204、将所述第一码字流中的码字按顺序分别添加到所述模板中的数据部分和纠错信息码部分,并根据所述每一级灰度对应的二进制码,生成存储所述数据信息的灰度二维码。

在具体应用中,本实施例所生成的灰度二维码还可以包括:校正图形。

在具体应用中,本实施例所生成的灰度二维码还可以包括:版本信息。

可理解的是,如图1所示,QR二维码为矩阵式二维码,呈正方形,在3个角落,印有较小,像「回」字的的正方图案(位置探测图形1)。这三个是帮助解码软件定位的图案,使用者不需要对准,无论以任何角度拍摄,内容仍可正确被读取。

应说明的是,在本实施例中,灰度级数越大,存储空间越大。这种方式的基本原理就是利用灰度空间存储更多的数据信息。此外,灰度图像的优势是相对于彩色图像有较好的识别率。但不足之处为:灰度技术越大,识别率越低。这将对二维码扫描识别设备提出更高的要求。

本实施例的二维码生成方法,通过将黑白二维码进行灰度分级变成灰度二维码,能够对现有的二维码存储空间进行扩展,在同种版本 规格下的二维码中存储更多的数据信息。

图3示出了本发明一实施例提供的二维码生成装置的结构示意图,如图3所示,本实施例的二维码生成装置,包括:第一确定模块31、第二确定模块32、第一生成模块33和第二生成模块34;

第一确定模块31,用于确定待生成的二维码中存储的数据信息;

第二确定模块32,用于根据所述数据信息,确定待生成的二维码的模板、纠错等级和灰度分级的级别,确定每一级灰度对应的二进制码,所述纠错等级为纠错码字占总码字的比例;

第一生成模块33,用于根据所述数据信息和纠错等级,生成第一码字流,所述第一码字流包括:数据码字流和所述数据码字流之后的纠错码字,所述数据码字流是通过将所述数据信息进行转换而得到的;

第二生成模块34,用于将所述第一码字流中的码字按顺序分别添加到所述模板中的数据部分和纠错信息码部分,并根据所述每一级灰度对应的二进制码,生成存储所述数据信息的灰度二维码。

在具体应用中,如图4所示,所述第二确定模块32,可以包括:

第一确定单元32a,用于根据所述数据信息,确定待生成的二维码的版本信息、纠错等级和灰度分级的级别,确定每一级灰度对应的二进制码,所述纠错等级为纠错码字占总码字的比例;

获取单元32b,用于根据所述版本信息,获取所述版本信息对应的二维码模板。

在具体应用中,如图5所示,所述第一生成模块33,可以包括:

转换单元33a,用于将所述数据信息转换为数据码字流;

第一生成单元33b,用于根据所述数据码字流及纠错等级,生成纠错码字;

第二生成单元33c,用于将生成的纠错码字添加到数据码字流之后得到第一码字流。

在具体应用中,所述转换单元33a,可以具体用于

将所述数据信息按照预设编码规则转换为比特流;

将所述比特流转换为数据码字流。

其中,所述预设编码规则可以优选为快速响应QR码。

在具体应用中,本实施例的待生成的二维码的灰度分级的级别可以为16级灰度,或者32级灰度,或者64级灰度,或者128级灰度,或者256级灰度等。

举例来说,在本实施例中可以用8位灰度图像表示256种颜色(即将黑白二维码分为256级灰度)。一个黑色方格的颜色将表示为00000000,即1bit。所以在(21×21)的二维码中,存储空间增大为216Byte,是原来同规格二维码的8倍。

在具体应用中,在本实施例中,在所述数据信息大于216比特且小于等于1728比特时,所述灰度级别可以为256级。

在具体应用中,本实施例所生成的灰度二维码还可以包括:校正图形。

在具体应用中,本实施例所生成的灰度二维码还可以包括:版本信息。

应说明的是,在本实施例中,灰度级数越大,存储空间越大。这种方式的基本原理就是利用灰度空间存储更多的数据信息。此外,灰度图像的优势是相对于彩色图像有较好的识别率。但不足之处为:灰度技术越大,识别率越低。这将对二维码扫描识别设备提出更高的要求。

本实施例的二维码生成装置,通过将黑白二维码进行灰度分级变成灰度二维码,能够对现有的二维码存储空间进行扩展,在同种版本规格下的二维码中存储更多的数据信息。

本实施例的二维码生成装置,可以用于执行前述图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1