一种环形码及其设计方法与流程

文档序号:20920597发布日期:2020-05-29 14:05阅读:321来源:国知局
一种环形码及其设计方法与流程
本发明涉及二维码
技术领域
,特别是指一种环形码及其设计方法。
背景技术
:现有技术中的二维码多采用矩形作为外观形状,在矩形限制区域内分别以黑白像素块代表所传递信息的二进制编码。在将编码嵌入图形界面时,以一定顺序在编码矩形区域按照二进制信息放置黑白块,能保证解码过程中,先扫描定位符以确定二维码所在区域,再按照规定的顺序识别黑白像素块以读取二进制数据,最后解码为传递信息。为了保证准确识别二维码信息,需要在设计外观时先确定辅助性功能区域,如确定二维码矩形边框的定位区、矫正图像畸变的对齐区、确定坐标系的时间区等,这也是后续二维码设计中或多或少必须具有的功能区域。此类二维码的缺点在于容易被批量解码,不适用于私密性较高的使用场景,此外嵌入像素块的图形界面美观度不够高,即使加入风格化算法融合图像显示,也仅能减轻像素块的覆盖效应,但仍旧无法达到较为舒适的视觉效果。另一类常见二维码是微信小程序所使用的“菊花码”,将二维码中间作为空闲区域放置图像以传递特定信息和增加美观度,而二进制编码则以射线的形状沿空闲区域发散出去,此类二维码的射线长度、线密集度确定了编码容量,然而距二维码中心不同长度的编码区域编码了相同数据量的信息,导致无法充分利用外圈与内圈理论上最大数据存储量不同的事实,这在某种程度上限制了所需传递内容的长度。同时,在辅助性功能区域的外观上,微信二维码依旧使用了固定的圆形作为定位符与矫正符,这也在某种程度上影响了其美观性。技术实现要素:本发明提出一种环形码及其设计方法,充分利用内外环容量递增的特性存储信息以及使用素材填充美化界面。本发明的技术方案是这样实现的:一种环形码,环形码由内而外依次设有装饰区、矫正定位区、数据编码区,所述装饰区填充有增加界面美观度或传递特定信息的装饰图案,所述矫正定位区包括矫正符、定位符以及从起始定位符开始逆时针填充的辅助信息码。作为本发明的一个优选实施例,所述矫正定位区包括一个矫正符和三个定位符,三个定位符用于确定内环位置与半径,三个定位符与内环圆心的连线互相垂直,定位符构成的弧线的逆时针方向的末端位置为起始定位符的位置。作为本发明的一个优选实施例,所述辅助信息码包括编码模式指示符、传输字符长度、编码总长度n和数据块数k,其中(n,k)用于数据编码区编码纠错,编码总长度n用于计算环形码总环数,通过核对编码模式指示符与传输字符长度计算得到的实际数据块数与数据块数k进行匹配校验。一种环形码设计方法,具体包括以下步骤:s1,根据用户输入参数和传输内容进行编码,包括数据编码和辅助信息编码;s2,确定装饰图案的位置,将其外接圆圆心作为编码中心;s3,根据编码中心、编码半径以及编码方向确定定位符和矫正符的位置,并得到起始定位符的位置,从起始定位符开始逆时针填充环形分布的辅助信息码;s4,将数据码填充在辅助信息编码外部的环形区域内,生成环形码。作为本发明的一个优选实施例,步骤s1中数据编码包括数据位编码和数据位编码纠错,所述数据位编码指的是将传输内容转换为二进制数据,数据位编码纠错通过rs编码计算得到纠错码字并转换为二进制数据。作为本发明的一个优选实施例,步骤s1中用户输入参数包括容错率控制、环半径增量、环存储增量。作为本发明的一个优选实施例,步骤s1中辅助信息编码得到的辅助信息码包括编码模式指示符、传输字符长度、编码总长度n和数据块数k,其中(n,k)用于数据编码区编码纠错,编码总长度n用于计算环形码总环数,通过核对编码模式指示符与传输字符长度计算得到的实际数据块数与数据块数k进行匹配校验。本发明的有益效果在于:充分利用内外环容量递增的特性存储信息以及使用素材填充美化界面。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明一种环形码一个实施例的示意图;图2为本发明一种环形码设计方法一个实施例的流程图;图3为环形码填充流程的实例示意图。图中,1-装饰区;2-矫正定位区;201-矫正符;202-定位符;203-辅助信息码;3-数据编码区。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1和图3所示,本发明提出了一种环形码,环形码由内而外依次设有装饰区1、矫正定位区2、数据编码区3,装饰区1填充有增加界面美观度或传递特定信息的装饰图案,矫正定位区2包括矫正符201、定位符202以及从起始定位符202开始逆时针填充的辅助信息码203。数据编码区3:各环之间具有相同的间隔,各环的数据存储容量的增量相同,均可由用户控制。通过辅助信息区计算得到的总环数以及环间间隔,能够确定编码数据各环所在位置,通过各环存储容量以及环附近的灰度信息,能读取各环存储的二进制编码信息。矫正定位区2包括一个矫正符201和三个定位符202,三个定位符202用于确定内环位置与半径,三个定位符202与内环圆心的连线互相垂直,定位符202构成的弧线的逆时针方向的末端位置为起始定位符202的位置。辅助信息码203包括编码模式指示符、传输字符长度、编码总长度n和数据块数k,其中(n,k)用于数据编码区3编码纠错,编码总长度n用于计算环形码总环数,通过核对编码模式指示符与传输字符长度计算得到的实际数据块数与数据块数k进行匹配校验,能判断当前编码是否出现不可修复的错误,避免编码数据的误读。如图2和图3所示,本发明还提出了一种环形码设计方法,具体包括以下步骤:s1,根据用户输入参数和传输内容进行编码,包括数据编码和辅助信息编码;用户输入参数包括容错率控制、环半径增量、环存储增量,通过提供部分参数接口由用户控制,可生成某种商品或者某个流水线的专用环形码,因而解码方案仅适用于解码由同一组参数生成的环形码,这就使得本发明生成的环形码具有可专属性。数据编码包括数据位编码和数据位编码纠错,数据位编码指的是将传输内容转换为二进制数据,数据位编码纠错通过rs编码计算得到纠错码字并转换为二进制数据。对于纯数字输入或者数字与大写字母的组合信息,按照qrcode编码标准进行二进制转换,而考虑到存储内容的丰富性,本发明规定另外两种输入内容的编码标准:①ascii码:对照ascii码字符表,将对应的十进制数字表示转换为7位二进制;②中文:每个中文字符由两个字节组成,即包含16位二进制。由于后续的解码过程是按字节解码,因此为保证解码过程顺利进行,必须保证传输内容的二进制编码位总长度为8的整数倍,若长度不足,则在末尾进行补零操作,便可得到最终的数据编码。数据位编码的纠错,采用rs编码(reed-solomoncodes)计算编码数据对应的纠错码字以辅助解码过程中的信息矫正。rs编码的纠错特性在于n个码字至多纠正n/2个误读字符,每个码字与字符均为一个字节,即若采用m个码字对n+m个字符(包括n个数据编码字符)进行纠错,容错率为:不难发现当m趋近正无穷时,得到极限情况下容错率为0.5。不同环境下由于对环形码的污染状况不同,如光照和清晰度等,因此对环形码容错率的要求不同,而高容错率通常需要较多的rs纠错码字,会导致环形码需要编码的信息偏大。为解决此问题,本发明为用户提供容错率设置交互接口,设将数据编码的比特位转换成k个字节,用户设置的容错率为l(l<0.5),则纠错码长度为:将通过rs编码计算得到的纠错码字转换为二进制表示,与数据编码拼接,便得到了环形码所需传递的内容。即数据码包含内容有:传输内容二进制编码、补零位、数据位纠错码。步骤s1中辅助信息编码得到的辅助信息码包括编码模式指示符、传输字符长度、编码总长度n和数据块数k,其中(n,k)用于数据编码区编码纠错,编码总长度n用于计算环形码总环数,通过核对编码模式指示符与传输字符长度计算得到的实际数据块数与数据块数k进行匹配校验,能判断当前编码是否出现不可修复的错误,避免编码数据的误读。①编码模式指示符:指示传输内容对应的编码类型,与表格1对应;②传输字符长度:指示传递信息包含的字符串长度;③编码总长度(n):用于rs纠错码矫正,代表数据编码位与纠错位字节总长度;④数据块数(k):代表数据编码位字节总长度。为了便于解码,必须在数据位编码中指示传递信息的字符数目以及编码模式。前者使用6位二进制表示,这就规定了环形码所能传递的信息字符串最大长度为64。对于编码模式,依据可编码内容类型,规定编码模式与模式指示符编码对应表如下:表格1编码模式对照表编码模式模式指示符编码数字00大写字母01ascii码10汉字11上述四种指示码各自所占位数如表2所示,其中指示码数据位(不包含纠错位)共占据3个字节,即24位二进制编码。本发明规定环形码的内环数据存储40位二进制编码代表辅助指示码,因而将剩余的2个编码字节作为矫正字符串,能矫正一位字符错误。最后将三种辅助指示码的二进制数据与相应的纠错码拼接,得到40位二进制指示码。表格2辅助指示码(位数)经过上述步骤便能获取环形码所需携带的编码数据。利用编码总长度n计算环形码环数:设各环数据增量为d,内环规定存储量为44位(40位辅助信息编码字节,3个定位符占位,1个矫正符占位),通过等差数列计算得到前t环的存储总量为:依据上式,n位编码字节长度对应的环数即为使得st-8n大于0时所取得的最小整数,记为w,显然n位数据编码无法恰好将最外环填充完整,这会引起较差的视觉效果,因此需要进行额外的填充操作。考虑到编码过程中可能出现大量的连续空白位置(编码为0),以及外环填充不完整问题,本发明提供一种基于循环掩码的解决方案,步骤如下:①数据码最后填充sw-n位0编码;②制作掩码其中偶数位为1,奇数位为0;③将掩码与填充后的数据码进行异或运算,得到能将各环填充完整的编码数据。综上所述,最终编码包含的内容依次为:编码模式位、字符计数位、rs编码参数(n,k)记录位、内环据纠错位、传递数据位、数据编码位数凑8整数倍的填充位、外环数据纠错位、外环完整性填充位。s2,确定装饰图案的位置,将其外接圆圆心作为编码中心;装饰图案为任意素材,位置为画布上的任意位置。s3,根据编码中心、编码半径以及编码方向确定定位符和矫正符的位置,并得到起始定位符的位置,从起始定位符开始逆时针填充环形分布的辅助信息码;s4,将数据码填充在辅助信息编码外部的环形区域内,生成环形码。本发明的优点在于:(1)通过提供容错率控制、环半径增量、环存储增量的参数接口,达到专属环形码的生成需求。用户可指定编码时的参数数值,以控制环形码的解码细节,从一定程度上可减少不法分子在环形码中嵌入病毒等信息的可能性。(2)环形环形码无固定的编码区域大小,可依据编码字节数自适应控制编码环数,避免了大量冗余数据的存在。以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1