CN103986476A - 一种用于二维图形码的级联纠错编码方法和装置 - Google Patents
一种用于二维图形码的级联纠错编码方法和装置 Download PDFInfo
- Publication number
- CN103986476A CN103986476A CN201410215991.5A CN201410215991A CN103986476A CN 103986476 A CN103986476 A CN 103986476A CN 201410215991 A CN201410215991 A CN 201410215991A CN 103986476 A CN103986476 A CN 103986476A
- Authority
- CN
- China
- Prior art keywords
- code
- coding
- data
- scheme shape
- cascade
- 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.)
- Granted
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码(MaximumDistance 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%。
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 true CN103986476A (zh) | 2014-08-13 |
CN103986476B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899612A (zh) * | 2015-06-26 | 2015-09-09 | 信码互通(北京)科技有限公司 | 具有纠错功能的字符编码方法、字符解码方法及其产品 |
CN107295344A (zh) * | 2017-05-12 | 2017-10-24 | 杨铮 | 一种视频中嵌入图形码的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770639A (zh) * | 2004-11-04 | 2006-05-10 | 艾格瑞系统有限公司 | 级联的迭代和代数编码 |
CN101339524A (zh) * | 2008-05-22 | 2009-01-07 | 清华大学 | 大规模磁盘阵列存储系统的磁盘容错方法 |
CN101682337A (zh) * | 2007-05-16 | 2010-03-24 | 汤姆森特许公司 | 编码和解码信号的装置和方法 |
US20100083069A1 (en) * | 2008-06-18 | 2010-04-01 | John Johnson Wylie | Selecting Erasure Codes For A Fault Tolerant System |
WO2014070171A1 (en) * | 2012-10-31 | 2014-05-08 | Hewlett-Packard Development Company, L.P. | Combined block-symbol error correction |
-
2014
- 2014-05-21 CN CN201410215991.5A patent/CN103986476B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770639A (zh) * | 2004-11-04 | 2006-05-10 | 艾格瑞系统有限公司 | 级联的迭代和代数编码 |
CN101682337A (zh) * | 2007-05-16 | 2010-03-24 | 汤姆森特许公司 | 编码和解码信号的装置和方法 |
CN101339524A (zh) * | 2008-05-22 | 2009-01-07 | 清华大学 | 大规模磁盘阵列存储系统的磁盘容错方法 |
US20100083069A1 (en) * | 2008-06-18 | 2010-04-01 | John Johnson Wylie | Selecting Erasure Codes For A Fault Tolerant System |
WO2014070171A1 (en) * | 2012-10-31 | 2014-05-08 | Hewlett-Packard Development Company, L.P. | Combined block-symbol error correction |
Non-Patent Citations (2)
Title |
---|
JAMES LEE HAFNER: "HoVer Erasure Codes For Disk Arrays", 《INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN"06)》 * |
黄吉兰: "二维条码QR Code编码原理及实现", 《电脑知识与技术》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899612A (zh) * | 2015-06-26 | 2015-09-09 | 信码互通(北京)科技有限公司 | 具有纠错功能的字符编码方法、字符解码方法及其产品 |
WO2016206446A1 (zh) * | 2015-06-26 | 2016-12-29 | 信码互通(北京)科技有限公司 | 具有纠错功能的字符编码方法、字符解码方法及其产品 |
CN107295344A (zh) * | 2017-05-12 | 2017-10-24 | 杨铮 | 一种视频中嵌入图形码的方法及装置 |
CN107295344B (zh) * | 2017-05-12 | 2021-01-26 | 赵毅 | 一种视频中嵌入图形码的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103986476B (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180167088A1 (en) | Error-Correcting Code Method and System with Hybrid Block Product Codes | |
TWI557747B (zh) | 記憶體控制模組與方法以及錯誤更正碼編/解碼電路與方法 | |
CN108111256B (zh) | 级联编译方法、装置、存储介质及其计算机设备 | |
CN102164026A (zh) | 基于深空通信环境下的喷泉码编译方法 | |
CN104115126A (zh) | 使用代数码的多阶段ecc编码 | |
CN106874140B (zh) | 数据存储方法及装置 | |
CN110837436B (zh) | 有限域上纠删码轻量化自动解码方法、智能终端模块 | |
CN113391946B (zh) | 一种分布式存储中的纠删码的编解码方法 | |
CN111858169A (zh) | 一种数据恢复方法、系统及相关组件 | |
CN103312458A (zh) | 混合编码方法 | |
CN101252413A (zh) | 去除喷泉码生成矩阵中长度为4的小环的方法及其应用 | |
CN103986476A (zh) | 一种用于二维图形码的级联纠错编码方法和装置 | |
EP2989720A1 (en) | Method and apparatus of ldpc encoder in 10gbase-t system | |
WO2021088403A1 (zh) | 一种数据纠错方法、装置、设备及可读存储介质 | |
CN102725964A (zh) | 一种编码方法、译码方法及编码装置、译码装置 | |
WO2017041232A1 (zh) | 一种二进制循环码的编解码框架 | |
US20180189140A1 (en) | Enhanced error correcting mechanism to provide recovery from multiple arbitrary partition failure | |
CN107665152A (zh) | 一类纠删码的译码方法 | |
CN105099614B (zh) | Ldpc码字的交织映射方法及解交织解映射方法 | |
CN101882972B (zh) | 一种Raptor码的解码方法 | |
CN102801432A (zh) | 一种多进制ldpc的串行fht-bp译码方法及装置 | |
CN109245775B (zh) | 一种译码器及其实现译码的方法 | |
US3634821A (en) | Error correcting system | |
EP4224720A1 (en) | Decoding method and apparatus | |
CN103475379A (zh) | 一种ldpc编码方法 |
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 |