CN103986476B - 一种用于二维图形码的级联纠错编码方法和装置 - Google Patents

一种用于二维图形码的级联纠错编码方法和装置 Download PDF

Info

Publication number
CN103986476B
CN103986476B CN201410215991.5A CN201410215991A CN103986476B CN 103986476 B CN103986476 B CN 103986476B CN 201410215991 A CN201410215991 A CN 201410215991A CN 103986476 B CN103986476 B CN 103986476B
Authority
CN
China
Prior art keywords
code
yards
coding
bar code
numeric 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
Application number
CN201410215991.5A
Other languages
English (en)
Other versions
CN103986476A (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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201410215991.5A priority Critical patent/CN103986476B/zh
Publication of CN103986476A publication Critical patent/CN103986476A/zh
Application granted granted Critical
Publication of CN103986476B publication Critical patent/CN103986476B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明公开了一种用于二维图形码的级联纠错编码方法,包括:分块步骤,对二维图形码的数据码字信息进行分块,获得多个数据码字块;RS码编码步骤,对所述多个数据码字块中的每一个数据码字块进行RS码编码;数据码字块重组步骤,将经过RS码编码后的多个数据码字块按照原有顺序进行重组,形成一个码字阵列;HoVer码编码步骤,对该码字阵列进行HoVer码编码。本发明不受通信纠错码对二维图形码符号数据规模的限制,利用本发明可提高二维图形码的抗污损和抗畸变能力,且编译码速度快。

Description

一种用于二维图形码的级联纠错编码方法和装置
技术领域
本发明涉及数字信息技术领域,具体涉及一种用于二维图形码的级联纠错编码方法和装置。
背景技术
随着移动互联网技术的快速发展,随时随地的进行信息的识别和传输成为信息化时代的新要求,二维图形码技术应运而生,并在移动互联网领域中占据了主导地位,成为当今学术研究的热点。
当前,随着二维图形码应用的不断深入,对二维图形码技术的要求更加严格。以QR二维图形码(Quick Response Code,以下简称“QR码”)为例,QR码是目前使用率最高的二维图形码,在很多方面具有明显优势,QR码表示汉字的效率高,表示的信息更广泛,是360度的全方位识别技术,被广泛应用于各种商业领域。在技术上,一方面,要求QR码可以表示多国文字、图像、图形等各种信息,并且这种要求同时表示的有效信息的种类还在不断增加;另一方面,要求QR码具有较高的纠错技术,保证数据的可靠性,能够纠正污损、折叠等随机错误,恢复出正确的原始数据信息。在纠错算法方面,在二维图形码中目前使用最多且性能相对较好的纠错算法是基于以RS(Reed-Solomon)码为代表的通信差错控制码,QR码一般采用RS码纠错编码技术。RS码是一种扩展的非二进制BCH码,在伽罗华域中运算,主要用于矢量信息的编码,在发送信息前经过编码器计算数据信息的纠错信息,把纠错信息作为冗余信息添加到数据信息之后,利用冗余信息进行数据信息的纠错识别。
采用RS码对二维图形码编码纠错存在以下缺陷:1、RS码纠错机制适合处理矢量信息,在处理以点阵为单位的整块编码信息时效率低,从布局上不适用于二维图形码的纠错。2、RS纠错机制适用于编码粒度相对较小的数据,在编码大粒度数据是效率很低。如果二维图形码中存储的有效信息较多,符号数据规模很大,使用RS编码会出现较大的时间延迟,且编码效率很低,纠错能力弱。3、二维图形码中的数据出错与通信领域的信息出错很不一样,二维图形码的数据污损大多整块出现,离散出现的情况很少。RS码适用于通信领域,但不适合二维图形码数据的整块(整行和整列)纠错,纠错时抗污损和抗畸变能力差。4、RS码适用于7bit以下的信息的编码,当二维图形码中的有效字符较大时,用RS纠错几乎无法进行编码。当二维图形码中存储有音频或视频文件时,RS编码完全不适用于此类情形的纠错。RS码纠错机制对二维图形码的符号数据规模形成了制约,导致二维图形码技术无法充分发展和普及。
现有的纠错方法已无法满足二维图形码的发展,如何尽量提高二维图形码的容错识读能力,使其具有更好的抗污损和抗畸变能力,而且适用于有效信息量较大的符号数据规模,是领域内关注的核心问题。
发明内容
有鉴于此,本发明提出一种用于二维图形码的级联纠错编码方法和装置,级联纠错以RS码作为纠错内码、HoVer码作为纠错外码,适用于有效信息量较大的符号数据规模,纠错能力强。
本发明提供一种用于二维图形码的级联纠错编码方法,包括:分块步骤,对二维图形码的数据码字信息进行分块,获得多个数据码字块;RS码编码步骤,对所述多个数据码字块中的每一个数据码字块进行RS码编码;数据码字块重组步骤,将经过RS码编码后的多个数据码字块按照原有顺序进行重组,形成一个码字阵列;HoVer码编码步骤,对该码字阵列进行HoVer码编码。
优选地,所述二维图形码的数据码字信息大于4字节。
优选地,所述二维图形码的数据码字信息大于8字节。
优选地,所述二维图形码的数据码字信息大于16字节。
优选地,在RS码编码步骤中,编码产生的冗余数据码字块的大小占编码后的数据码字块的20-30%。
本发明还一种用于二维图形码的级联纠错编码装置,包括:分块模块,用于对二维图形码的数据码字信息进行分块,获得多个数据码字块;RS码编码模块,用于对所述多个数据码字块中的每一个数据码字块进行RS码编码;数据码字块重组模块,用于将经过RS码编码后的多个数据码字块按照原有顺序进行重组,形成一个码字阵列;HoVer码编码模块,用于对该码字阵列进行HoVer码编码。
本发明的有益效果:本发明针对有效信息储存量较大的二维图形码,以RS码作为纠错内码、以HoVer码用作纠错外码,融合了RS码和HoVer码的优点,弥补了各自的缺点,只要数据分块充分细致,几乎可以纠正二维图形码的所有随机错误,具有很强的抗污损和抗畸变能力,可极大地提高二维图形码的纠错能力,并且在编译码速度和时间复杂度上具有明显优势,本发明重新定义了RS的码字布局,解除了RS等通信纠错码对二维图形码符号数据规模上的桎梏,在允许储存较多有效信息的同时,纠错等级较高,实现了有效信息与纠错等级的平衡,适用于工业上大型数据的批量应用,有利于二维图形码如QR码技术的充分发展和普及。
附图说明
图1是RS码编码原理示意图。
图2是本发明实施例的级联纠错编码方法流程图。
图3-6是本发明实施例的级联纠错编码过程示意图。
图7是本发明实施例的级联纠错编码装置结构框图。
图8是本发明实施例的级联纠错编码与RS纠错编码的纠错能力对比图。
图9是本发明实施例的级联纠错编码与RS纠错编码的编码效率对比图。
具体实施方式
以下结合附图以及具体实施例,对本发明的技术方案进行详细描述。
首先介绍RS码的纠错编码原理,RS码适合矢量信息的编码纠错,经RS编码后会在矢量信息后面生成冗余检验位,参考图1,假设原始信息(有效信息)为k位,经过RS编码后的信息为n位,那么校验信息为t=n-k位,当RS码对矢量信息纠错时,有t个校验位说明可以纠正t个错误,即纠错能力与t有关,t越大纠错能力越强;同时,如果有效信息的位数k越小,有效信息与冗余信息的比例就越小,则纠错代价越高。为了得到较高的纠错率,通常设定有效信息位k大于校验信息位t。需要说明,如果t=k,说明需要用多出一倍的冗余检验信息进行纠错,纠错意义不大。
k值 t值(t=n-k) n值 最高纠错率
4 3 7 42.8%
5 4 9 44.4%
6 5 11 45.4%
7 6 13 46.1%
8 7 15 46.6%
9 8 17 47%
11 10 21 47.6%
12 11 23 47.8%
13 12 25 48%
14 13 27 48.1%
表1
表1是RS码中的有效信息位k、校验信息位t、RS编码后信息位n取不同值时,RS码的最高纠错率列表。从表1可看出,RS码达到最高纠错率时,t=k-1,纠错率介于40%-49%。但在实际处理中,最高纠错率下有效信息的存储量通常很少,纠错率取30%-40%是较为常见的情况。
不同于上述单一的RS码纠错机制,本发明采用一种级联纠错机制,对二维图形码进行级联纠错编码。该级联纠错机制将二维图形码的数据码字信息做分块处理,并以RS码作为纠错内码,以阵列纠删码HoVer码作为纠错外码,可突破RS等通信纠错码对二维图形码的符号数据规模的制约。
具体来看,图2为本发明实施例的用于二维图形码的级联纠错编码方法处理流程图,图3-6为级联纠错编码过程示意图,本实施例以QR码为例,处理过程包括:
S101,将QR码的数据码字信息分块,获得多个数据码字块;
S102,对每一个数据码字块的码字序列进行RS编码;
S103,将经过RS码编码的多个数据码字块重组,形成QR码的码字阵列;
S104,对该码字阵列进行HoVer码编码。
参照图3,S101对QR码的数据码字信息做分块处理,得到若干数据码字块,分块后数据码字块的多少根据原始有效信息的规模决定,在本发明的实施例中,为便于进行后续的HoVer阵列编码,将数据码字信息分为n*n块,各数据码字块大小应在7bit或以下。
参照图4,S102对得到的多个数据码字块做RS编码,图4示出了对其中一个数据码字块编码的情形,经RS码编码后的数据码字块20包含原始数据码字块10和RS码产生的冗余数据码字块30。优选地,冗余数据码字块30的大小大约占编码后数据码字块20的20-30%。
参照图5,S103将经过RS码编码的各个数据码字块20,20’,20’’等重组,按照每个字块原来的顺序组合,形成一个码字序列40,码字序列40为原QR码经RS编码后的码字阵列。
以上各步的处理是将RS码作为级联纠错机制中的纠错内码,并改进了RS码的码字布局。通常QR码的污损和畸变都是随机发生的,具有不可预测性。为了应对QR码中的整列损毁、整列折叠、随机破洞和部分污损等随机发生的错误,本发明的实施例对RS码的码字布局进行修改,对原始QR码的数据码字信息做分块,对分块后的数据码字块进行RS编码,这种码字布局方式将大粒度的数据变为小粒度数据,当QR码出现随机错误时,相当于对RS编码的小粒度数据码字段进行纠错,纠错效率高。因此,对于QR码中存储的有效信息量非常大的情况,经过数据码字信息分块处理均可成为适宜RS码编码规模的数据码字段,不仅增强了QR码的抗污损抗畸变能力,还使QR码摆脱了RS码本身对符号数据规模的限制。
参照图6,S104对码字阵列40进行HoVer编码。HoVer码用作级联纠错机制中的纠错外码,经HoVer码编码后的码字阵列50包含码字阵列40和HoVer码产生的冗余数据信息60、60’。
关于HoVer码,其是一类纠错能力较高的二维阵列码,HoVer码和WEAVER码都是阵列纠删码,两者共同点在于都是非MDS码(Maximum Distance Separable Code,最大距离可分码),编译码算法简单,纠错能力高。WEAVER码的码字单元存放在一个2*n的二进制阵列中(第一行存放信息元,第二行存放校验元),在一个WEAVER(n,k,t)码中,一个信息元由t个校验元所校验,一个校验元由k个信息元所校验。在WEAVER码之后提出的HoVer码打破了传统的阵列纠删码为非水平码即垂直码的模式,HoVer码综合两种编码构造方式,其校验元既分布在阵列的后几行中,也分布在阵列的后几列中(如图6中的冗余数据信息60、60’)。HoVer码的使用使得二维图形码纠错不再受通信编码体质的限制。
图7为本发明实施例的用于二维图形码的级联纠错编码装置的结构示意图,包括:
分块模块1001,用于对二维图形码的数据码字信息进行分块,获得多个数据码字块;
RS码编码模块1002,用于对所述多个数据码字块中的每一个数据码字块进行RS码编码;
数据码字块重组模块1003,用于将经过RS码编码后的多个数据码字块按照原有顺序进行重组,形成一个码字阵列;
HoVer码编码模块1004,用于对该码字阵列进行HoVer码编码。
本发明的级联纠错机制融合RS码和HoVer码的优点,对于集中的大片污损、破洞以及离散的小规模损毁,均具有较强的纠错能力。以下对本发明的级联纠错编码机制的纠错能力进行分析。
图8示出了本发明一个实施例中针对QR码的随机污损,分别以RS码和级联纠错码进行纠错的纠错能力对比分析图,表2为对应的数据,可以看出,采用级联纠错编码能正确恢复出原始数据的概率较大,纠错等级较高,而采用RS码编码能正确恢复出原始数据的概率较小,纠错等级较低。实验数据表明,本发明的级联纠错算法的纠错能力大约是RS纠错的2-3倍。
污损比例(%) 可恢复概率(RS) 可恢复概率(级联纠错)
10 98.67 99.99
15 93.41 99.24
20 90.01 98.98
25 78.62 96.56
30 69.21 95.12
35 51.23 93.41
40 35.13 85.31
45 26.41 76.89
表2
图9示出了级联纠错机制与RS码纠错机制的编译码效率对比图,表3为对应的数据。可以看出,当数据粒度较小时,RS码的编码效率略高于级联编码的编码效率,当数据粒度较大时,级联编码的编码效率占有绝对优势。这是因为,级联编码采用两级编码方式,粒度较小时,RS码的编码效率已经很高,而级联编码中的新型RS码字布局对于RS编码效率的提高是有限的,加之在数据粒度较小时,后续HoVer码编码所消耗的时间不可忽略,因此当数据粒度较小时,RS码的编码效率略高于级联编码的编码效率。但是,当数据粒度较大时,如数据大小大于4Byte(字节)或8Byte,尤其是数据大小大于16Byte时,RS码编码没有任何优势,效率很低。而级联编码方式可将大粒度的数据分段为小粒度的数据进行RS编码,极大地提高了RS码编码效率,缩短了RS码编码时间,而HoVer码只进行异或运算,时间复杂度低,因此当数据粒度较大、储存有效信息较多的情况下,级联纠错编码具有很高的编码效率,适于大型数据的工业应用。
数据大小(Byte) RS编码所用时间(10-5) 级联编码所用时间(10-5)
1 15 12
4 31 34
8 54 41
16 117 69
64 683 145
表3
以上,结合具体实施例对本发明的技术方案进行了详细介绍,所描述的具体实施例用于帮助理解本发明的思想。本领域技术人员在本发明具体实施例的基础上做出的推导和变型也属于本发明保护范围之内。

Claims (10)

1.一种用于二维图形码的级联纠错编码方法,其特征在于,包括:
分块步骤,对二维图形码的数据码字信息进行分块,获得多个数据码字块;
RS码编码步骤,对所述多个数据码字块中的每一个数据码字块进行RS码编码;
数据码字块重组步骤,将经过RS码编码后的多个数据码字块按照原有顺序进行重组,形成一个码字阵列;
HoVer码编码步骤,采用HoVer码编码对该码字阵列分别进行水平方向编码和竖直方向编码。
2.如权利要求1所述的用于二维图形码的级联纠错编码方法,其特征在于,所述二维图形码的数据码字信息大于4字节。
3.如权利要求1所述的用于二维图形码的级联纠错编码方法,其特征在于,所述二维图形码的数据码字信息大于8字节。
4.如权利要求1所述的用于二维图形码的级联纠错编码方法,其特征在于,所述二维图形码的数据码字信息大于16字节。
5.如权利要求1所述的用于二维图形码的级联纠错编码方法,其特征在于,在所述RS码编码步骤中,编码产生的冗余数据码字块的大小占编码后的数据码字块的20-30%。
6.一种用于二维图形码的级联纠错编码装置,其特征在于,包括:
分块模块,用于对二维图形码的数据码字信息进行分块,获得多个数据码字块;
RS码编码模块,用于对所述多个数据码字块中的每一个数据码字块进行RS码编码;
数据码字块重组模块,用于将经过RS码编码后的多个数据码字块按照原有顺序进行重组,形成一个码字阵列;
HoVer码编码模块,采用HoVer码编码对该码字阵列分别进行水平方向编码和竖直方向编码。
7.如权利要求6所述的用于二维图形码的级联纠错编码装置,其特征在于,所述二维图形码的数据码字信息大于4字节。
8.如权利要求6所述的用于二维图形码的级联纠错编码装置,其特征在于,所述二维图形码的数据码字信息大于8字节。
9.如权利要求6所述的用于二维图形码的级联纠错编码装置,其特征在于,所述二维图形码的数据码字信息大于16字节。
10.如权利要求6所述的用于二维图形码的级联纠错编码装置,其特征在于,所述RS码编码模块产生的冗余数据码字块的大小占编码后的数据码字块的20-30%。
CN201410215991.5A 2014-05-21 2014-05-21 一种用于二维图形码的级联纠错编码方法和装置 Active CN103986476B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410215991.5A CN103986476B (zh) 2014-05-21 2014-05-21 一种用于二维图形码的级联纠错编码方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410215991.5A CN103986476B (zh) 2014-05-21 2014-05-21 一种用于二维图形码的级联纠错编码方法和装置

Publications (2)

Publication Number Publication Date
CN103986476A CN103986476A (zh) 2014-08-13
CN103986476B true CN103986476B (zh) 2017-05-31

Family

ID=51278314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410215991.5A Active CN103986476B (zh) 2014-05-21 2014-05-21 一种用于二维图形码的级联纠错编码方法和装置

Country Status (1)

Country Link
CN (1) CN103986476B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899612A (zh) * 2015-06-26 2015-09-09 信码互通(北京)科技有限公司 具有纠错功能的字符编码方法、字符解码方法及其产品
CN107295344B (zh) * 2017-05-12 2021-01-26 赵毅 一种视频中嵌入图形码的方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014070171A1 (en) * 2012-10-31 2014-05-08 Hewlett-Packard Development Company, L.P. Combined block-symbol error correction

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516389B2 (en) * 2004-11-04 2009-04-07 Agere Systems Inc. Concatenated iterative and algebraic coding
CN101933235B (zh) * 2007-05-16 2014-12-17 汤姆森特许公司 编码和解码信号的装置和方法
CN100570573C (zh) * 2008-05-22 2009-12-16 清华大学 大规模磁盘阵列存储系统的磁盘容错方法
US8250427B2 (en) * 2008-06-18 2012-08-21 Hewlett-Packard Development Company Selecting erasure codes for a fault tolerant system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014070171A1 (en) * 2012-10-31 2014-05-08 Hewlett-Packard Development Company, L.P. Combined block-symbol error correction

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
二维条码QR Code编码原理及实现;黄吉兰;《电脑知识与技术》;20130430;正文第2905页第1.2.1节、第2907页第1行-2908页第25行 *

Also Published As

Publication number Publication date
CN103986476A (zh) 2014-08-13

Similar Documents

Publication Publication Date Title
US20180167088A1 (en) Error-Correcting Code Method and System with Hybrid Block Product Codes
US9787329B2 (en) Efficient coding with single-error correction and double-error detection capabilities
Cai et al. A construction of maximally recoverable codes with order-optimal field size
CN108132854B (zh) 一种可同时恢复数据元素及冗余元素的纠删码解码方法
CN102915768A (zh) 基于edac模块的三模冗余对存储器的容错装置及其方法
CN106776129A (zh) 一种基于最小存储再生码的多节点数据文件的修复方法
CN106874140B (zh) 数据存储方法及装置
CN106330203A (zh) 一种ldpc的解码方法
CN110837436B (zh) 有限域上纠删码轻量化自动解码方法、智能终端模块
CN103412799A (zh) 数据恢复方法、数据恢复设备和分布式存储系统
CN111078460A (zh) 一种快速纠删码计算方法
CN106845593A (zh) 一种矩形固定点阵信息编解码方法
CN103746774A (zh) 一种高效数据读取的容错编码方法
CN105162552A (zh) 一种q-LDPC-LT级联喷泉码方案的Ka频段深空通信方法及系统
US20220329263A1 (en) DYNAMICALLY VARIABLE ERROR CORRECTING CODE (ECC) SYSTEM WITH HYBRID RATELESS REED-SOLOMON ECCs
CN103986476B (zh) 一种用于二维图形码的级联纠错编码方法和装置
US20220255558A1 (en) Data error correction method, apparatus, device, and readable storage medium
CN101252413A (zh) 去除喷泉码生成矩阵中长度为4的小环的方法及其应用
CN112181707B (zh) 分布式存储数据恢复调度方法、系统、设备及存储介质
WO2017041232A1 (zh) 一种二进制循环码的编解码框架
CN107665152A (zh) 一类纠删码的译码方法
CN104320147B (zh) 一种系统不等差错保护的Raptor码方法
CN102742164A (zh) 一种译码方法和译码装置
CN101882972A (zh) 一种Raptor码的解码方法
CN109245775B (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
GR01 Patent grant
GR01 Patent grant