CN104202056B - 一种二维码纠错译码的方法及二维码装置 - Google Patents
一种二维码纠错译码的方法及二维码装置 Download PDFInfo
- Publication number
- CN104202056B CN104202056B CN201410132010.0A CN201410132010A CN104202056B CN 104202056 B CN104202056 B CN 104202056B CN 201410132010 A CN201410132010 A CN 201410132010A CN 104202056 B CN104202056 B CN 104202056B
- Authority
- CN
- China
- Prior art keywords
- code
- quick response
- code word
- error
- response code
- 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
Landscapes
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明公开了一种二维码纠错译码的方法及二维码装置,该方法包括如下步骤:在二维码码字提取完成之后,进行二维码纠错译码流程;当二维码纠错译码流程中判断接收到的码字没有超出二维码纠错的能力时,则进入到准确的二维码译码流程;否则退出译码流程。通过本发明实施例,删除没有意义的填充码字可以减少后面各个步骤的计算量,提高了解码的效率;对纠错码字的初步判断,如果超出本二维码的纠错能力,则退出程序,防止没有意义的工作。
Description
技术领域
本发明涉及二维码技术领域,具体涉及一种二维码纠错译码的方法及二维码装置。
背景技术
二维码(2-dimensional bar code)是将特定的几何图形按照一定的规则在平面上分布的黑白相间的图形,它是一种数据符号的信息。二维码具有很多显著的优点,其编码密度高,信息容量大,编码范围广,纠错能力强,容易制作,而且制作成本低。由于以上的原因,二维码在生活中很多领域得到了广泛的应用,如物流、医疗卫生、交通,生产等等。
图1示出了现有的二维码译码的功能原理图,其包括对原始二维码的提取、图像采集、二维码码字提取,对二维码进行译码,从而达到二维码中的原始信息,在整个二维码译码过程中,其存在着复杂的比较量,图2示出了现有的二维码译码的方法流程图,在二维码的整个解码过程中,存在着伴随因子的计算,以及错误位置多项式系数的计算,错误位置的确定,错误值得计算,由求解出来的错误值和原来错误位置上的值异或运算,即可得到正确的值。这些步骤的计算量都是很大,而且每一步的计算量都是与前一步的计算结果有关。但这些计算过程中,需要对没有任何意义的填充码字也一并进行计算,在译码过程中对这些填充码字的计算,增加了整个二维码的译码计算量,造成了解码的效率低下。
发明内容
本发明提供了一种二维码纠错译码的方法及二维码装置,对译码过程中增加判断条件,减少不必要的译码。
本发明提供了一种二维码纠错译码的方法,包括如下步骤:
在二维码码字提取完成之后,进行二维码纠错译码流程;
当二维码纠错译码流程中判断接收到的码字没有超出二维码纠错的能力时,则进入到准确的二维码译码流程;否则退出译码流程。
所述二维码纠错译码流程包括:
删除二维码码字中的填充码字;
对已经删除了填充码字的二维码码字进行初步判断,判断已经删除了填充码字的二维码码字是否已经超出了本二维码纠错的能力。
所述进入到准确的二维码译码流程包括:
由已经删除了填充码字的二维码码字求伴随因子;
通过伴随因子计算错误位置多项式系数;
由错误位置多项式计算错误位置;
由错误位置计算错误值;
由求解出来的错误值和原来错误位置上的值异或预算达到正确的值。
在由错误位置多项式计算错误位置中还包括:
在求解错误位置时,只对数据码字的位置进行判断,对纠错码字的位置不判断。
相应的,本发明实施例还公开了一种二维码装置,包括:
二维码图像采集模块,用于采集二维码图像;
二维码码字提取模块,用于进行二维码码字提取;
其特征在于,所述二维码装置还包括二维码译码模块,所述二维码译码模块包括:
二维码纠错译码单元,用于在二维码码字提取完成之后,进行二维码纠错译码流程;
二维码信息译码单元,用于当二维码纠错译码流程中判断接收到的码字没有超出二维码纠错的能力时,则进入到准确的二维码译码流程;否则退出译码流程。
所述二维码纠错译码单元包括:
删除子单元,用于删除二维码码字中的填充码字;
判断子单元,用于对已经删除了填充码字的二维码码字进行初步判断,判断已经删除了填充码字的二维码码字是否已经超出了本二维码纠错的能力。
所述二维码信息译码单元包括:
伴随因子子单元,用于由已经删除了填充码字的二维码码字求伴随因子;
位置多项式子单元,用于通过伴随因子计算错误位置多项式系数;
错误位置子单元,用于由错误位置多项式计算错误位置;
错误值子单元,用于由错误位置计算错误值;
异或子单元,用于由求解出来的错误值和原来错误位置上的值异或预算达到正确的值。
所述错误位置子单元还用于在求解错误位置时,只对数据码字的位置进行判断,对纠错码字的位置不判断。
在本发明删除没有意义的填充码字可以减少后面各个步骤的计算量,提高了解码的效率;对纠错码字的初步判断,如果超出本二维码的纠错能力,则退出程序,防止没有意义的工作。另外,在求解错误位置时,只对数据码字的位置进行判断,对纠错码字的位置不判断,因为在解码时,只关注数据码字的正确与否,也能减少计算量。针对二维码的实际情况,对译码过程中增加判断条件,减少不必要的译码,因为每一步计算量的减少,都会减少后面步骤的计算量,另外在解码的关键步骤判断是否超出本二维码纠错的能力,如果超出纠错的能力,则退出程序,因为超出纠错能力后,下面的步骤是没有意义的。二维码的解码步骤包括根据码字多项式求解伴随因子,求解错误位置多项式系数,确定错误位置,求解错误位置。本项目在求解伴随因子之前,首先删除掉一些没有意义的填充码字,并且对码字的错误情况作初步的判断。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是现有技术中的二维码译码的功能原理图;
图2是现有技术中的二维码译码的方法流程图;
图3是本发明实施例中的二维码纠错译码的方法流程图;
图4是本发明实施例中的二维码装置结构示意图;
图5是本发明实施例中的二维码纠错译码单元的结构示意图;
图6是本发明实施例中的二维码信息译码单元的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例中的二维码纠错译码的方法,其主要步骤包括:在二维码码字提取完成之后,进行二维码纠错译码流程;当二维码纠错译码流程中判断接收到的码字没有超出二维码纠错的能力时,则进入到准确的二维码译码流程;否则退出译码流程。
基于以上的说明,本二维码的纠错译码优化算法在一般纠错译码算法的基础上提出以下三点:
(1)去除填充码字
在二维码的编码时,如果信息码字和纠错码字不能填满整个条码的空间,那么条码在编码时会自动增加一些没有实际意义的码字来填满整个条码空间。在读取码字时,首先判断该码字是否是填充码字,如果是,则删除这个填充的 码字,如果不是,则保留该码字。因为伴随因子是根据码字多项式计算,那么这个步骤能较少后面各个步骤的计算量。
(2)对错误个数的初步判断
根据纠错等级可以获得本二维码的纠错能力correct,对接收到已经删除了填充码字的码进行初步判断,如果拒读错误e>纠错能力correct,则说明接收到的码字已经超出了本二维码纠错的能力,无法对此码字进行准确译码,下面的计算是没有意义的了,所以这时应该退出,而不应该进行下面的步骤。
(3)求解错误位置的优化
设a为本原元素,接收的码字个数为n,一般的算法是把(a,a2,…,an)逐个代入到错误位置多项式来判断错误位置。如果将ax代入错误位置多项式为0,则说明x就是码字中错误的位置。但是在实际中,只需要纠正数据码字,纠错码字是否错误不是我们关心的,因此,只需要后k个位置进行检验即可,即把(an-k+1,an-k,…,an)代入错误位置多项式验证即可,这样能减少当前和后面步骤的计算量。
具体的,图3示出了本发明实施例中的二维码纠错译码的方法流程图,包括以下步骤:
S301、删除二维码码字中的填充码字;
在二维码的编码时,如果信息码字和纠错码字不能填满整个条码的空间,那么条码在编码时会自动增加一些没有实际意义的码字来填满整个条码空间。在读取码字时,首先判断该码字是否是填充码字,如果是,则删除这个填充的码字,如果不是,则保留该码字。因为伴随因子是根据码字多项式计算,那么 这个步骤能较少后面各个步骤的计算量。
S302、对已经删除了填充码字的二维码码字进行初步判断;
S303、判断已经删除了填充码字的二维码码字是否已经超出了本二维码纠错的能力,如果未超出则进入到S304,否则转S309;
根据纠错等级可以获得本二维码的纠错能力correct,对接收到已经删除了填充码字的码进行初步判断,如果拒读错误e>纠错能力correct,则说明接收到的码字已经超出了本二维码纠错的能力,无法对此码字进行准确译码,下面的计算是没有意义的了,所以这时应该退出,而不应该进行下面的步骤。
S304、由已经删除了填充码字的二维码码字求伴随因子;
S305、通过伴随因子计算错误位置多项式系数;
S306、由错误位置多项式计算错误位置;
二维码的解码步骤包括根据码字多项式求解伴随因子,求解错误位置多项式系数,确定错误位置,求解错误位置。本项目在求解伴随因子之前,首先删除掉一些没有意义的填充码字,并且对码字的错误情况作初步的判断。删除没有意义的填充码字可以减少后面各个步骤的计算量,提高了解码的效率;对纠错码字的初步判断,如果超出本二维码的纠错能力,则退出程序,防止没有意义的工作。另外,在求解错误位置时,只对数据码字的位置进行判断,对纠错码字的位置不判断,因为在解码时,我们只关系数据码字的正确与否,而且这样也能减少计算量。
S307、由错误位置计算错误值;
S308、由求解出来的错误值和原来错误位置上的值异或预算达到正确的值;
S309、译码结束。
相应的,本发明实施例图4还示出了二维码装置结构示意图,包括有:
二维码图像采集模块,用于采集二维码图像;
二维码码字提取模块,用于进行二维码码字提取;
二维码译码模块,用于对提取的二维码字进行译码处理,该二维码译码模块包括:
二维码纠错译码单元,用于在二维码码字提取完成之后,进行二维码纠错译码流程;
二维码信息译码单元,用于当二维码纠错译码流程中判断接收到的码字没有超出二维码纠错的能力时,则进入到准确的二维码译码流程;否则退出译码流程。
具体的,图5示出了本发明实施例中的二维码纠错译码单元的结构示意图,该二维码纠错译码单元包括:
删除子单元,用于删除二维码码字中的填充码字;
判断子单元,用于对已经删除了填充码字的二维码码字进行初步判断,判断已经删除了填充码字的二维码码字是否已经超出了本二维码纠错的能力。
具体的,图6示出了本发明实施例中的二维码信息译码单元的结构示意图,该二维码信息译码单元包括:
伴随因子子单元,用于由已经删除了填充码字的二维码码字求伴随因子;
位置多项式子单元,用于通过伴随因子计算错误位置多项式系数;
错误位置子单元,用于由错误位置多项式计算错误位置;
错误值子单元,用于由错误位置计算错误值;
异或子单元,用于由求解出来的错误值和原来错误位置上的值异或预算达到正确的值。
需要说明的是,这里的错误位置子单元还用于在求解错误位置时,只对数据码字的位置进行判断,对纠错码字的位置不判断。
综上,在本发明中删除没有意义的填充码字可以减少后面各个步骤的计算量,提高了解码的效率;对纠错码字的初步判断,如果超出本二维码的纠错能力,则退出程序,防止没有意义的工作。另外,在求解错误位置时,只对数据码字的位置进行判断,对纠错码字的位置不判断,因为在解码时,只关注数据码字的正确与否,也能减少计算量。针对二维码的实际情况,对译码过程中增加判断条件,减少不必要的译码,因为每一步计算量的减少,都会减少后面步骤的计算量,另外在解码的关键步骤判断是否超出本二维码纠错的能力,如果超出纠错的能力,则退出程序,因为超出纠错能力后,下面的步骤是没有意义 的。二维码的解码步骤包括根据码字多项式求解伴随因子,求解错误位置多项式系数,确定错误位置,求解错误位置。本项目在求解伴随因子之前,首先删除掉一些没有意义的填充码字,并且对码字的错误情况作初步的判断。。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
以上对本发明实施例所提供的二维码纠错译码的方法及二维码装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (4)
1.一种二维码纠错译码的方法,其特征在于,包括如下步骤:
在二维码码字提取完成之后,进行二维码纠错译码流程;
当二维码纠错译码流程中判断接收到的码字没有超出二维码纠错的能力时,则进入到准确的二维码译码流程;否则退出译码流程;
所述二维码纠错译码流程包括:
删除二维码码字中的填充码字;
对已经删除了填充码字的二维码码字进行初步判断,判断已经删除了填充码字的二维码码字是否已经超出了本二维码纠错的能力;
所述进入到准确的二维码译码流程包括:
由已经删除了填充码字的二维码码字求伴随因子;
通过伴随因子计算错误位置多项式系数;
由错误位置多项式计算错误位置;
由错误位置计算错误值;
由求解出来的错误值和原来错误位置上的值异或运算达到正确的值。
2.如权利要求1所述的二维码纠错译码的方法,其特征在于,在由错误位置多项式计算错误位置中还包括:
在求解错误位置时,只对数据码字的位置进行判断,对纠错码字的位置不判断。
3.一种二维码装置,包括:
二维码图像采集模块,用于采集二维码图像;
二维码码字提取模块,用于进行二维码码字提取;
其特征在于,所述二维码装置还包括二维码译码模块,所述二维码译码模块包括:
二维码纠错译码单元,用于在二维码码字提取完成之后,进行二维码纠错译码流程;
二维码信息译码单元,用于当二维码纠错译码流程中判断接收到的码字没有超出二维码纠错的能力时,则进入到准确的二维码译码流程;否则退出译码流程;
所述二维码纠错译码单元包括:
删除子单元,用于删除二维码码字中的填充码字;
判断子单元,用于对已经删除了填充码字的二维码码字进行初步判断,判断已经删除了填充码字的二维码码字是否已经超出了本二维码纠错的能力;所述二维码信息译码单元包括:
伴随因子子单元,用于由已经删除了填充码字的二维码码字求伴随因子;
位置多项式子单元,用于通过伴随因子计算错误位置多项式系数;
错误位置子单元,用于由错误位置多项式计算错误位置;
错误值子单元,用于由错误位置计算错误值;
异或子单元,用于由求解出来的错误值和原来错误位置上的值异或运算达到正确的值。
4.如权利要求3所述的二维码装置,其特征在于,所述错误位置子单元还用于在求解错误位置时,只对数据码字的位置进行判断,对纠错码字的位置不判断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410132010.0A CN104202056B (zh) | 2014-04-02 | 2014-04-02 | 一种二维码纠错译码的方法及二维码装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410132010.0A CN104202056B (zh) | 2014-04-02 | 2014-04-02 | 一种二维码纠错译码的方法及二维码装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104202056A CN104202056A (zh) | 2014-12-10 |
CN104202056B true CN104202056B (zh) | 2017-10-31 |
Family
ID=52087298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410132010.0A Active CN104202056B (zh) | 2014-04-02 | 2014-04-02 | 一种二维码纠错译码的方法及二维码装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104202056B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708655B (zh) * | 2017-02-16 | 2021-07-16 | 中云信安(深圳)科技有限公司 | 基于二维纠错码的内存加固方法及电路 |
CN109118598A (zh) * | 2018-08-29 | 2019-01-01 | 合肥浮点信息科技有限公司 | 一种具有二维码支付功能的公共交通消费终端设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177281A (zh) * | 2013-04-12 | 2013-06-26 | 江苏圆坤二维码研究院有限公司 | 一种二维码的编码方法 |
CN103595423A (zh) * | 2013-11-14 | 2014-02-19 | 天津大学 | 一种Reed-Solomon码纠错方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100481117C (zh) * | 2004-03-15 | 2009-04-22 | 武汉矽感科技有限公司 | 一种二维条码编解码方法 |
-
2014
- 2014-04-02 CN CN201410132010.0A patent/CN104202056B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177281A (zh) * | 2013-04-12 | 2013-06-26 | 江苏圆坤二维码研究院有限公司 | 一种二维码的编码方法 |
CN103595423A (zh) * | 2013-11-14 | 2014-02-19 | 天津大学 | 一种Reed-Solomon码纠错方法 |
Non-Patent Citations (2)
Title |
---|
尚振宏等,.二维条码中RS纠错译码算法的优化实现.《计算机工程与应用》.2007,第43卷(第25期), * |
徐辉.QR Code二维条码编解码系统的应用研究.《中国优秀硕士学位论文全文数据库 信息科技辑》.2012, * |
Also Published As
Publication number | Publication date |
---|---|
CN104202056A (zh) | 2014-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103544073B (zh) | 读取闪存中区块的数据的方法及相关的记忆装置 | |
CN106533615B (zh) | 译码的方法与电路、存储器控制器、储存装置、控制器 | |
CN102034547A (zh) | 存储器系统以及对存储器系统的控制方法 | |
CN102279776B (zh) | 一种错误检查与纠正能力的测试方法及装置 | |
CN106169308A (zh) | 存储器控制器及其操作方法 | |
CN104115126A (zh) | 使用代数码的多阶段ecc编码 | |
CN101192834A (zh) | 纠错装置和纠错方法 | |
CN106341136A (zh) | Ldpc解码方法及其装置 | |
CN104835535A (zh) | 一种固态盘自适应纠错方法与系统 | |
CN113345521A (zh) | 一种采用大片段dna存储的编码与恢复方法 | |
CN104242957B (zh) | 译码处理方法及译码器 | |
CN104202056B (zh) | 一种二维码纠错译码的方法及二维码装置 | |
CN104424010A (zh) | 一种文本文档乱码检测及修复方法和系统 | |
CN102545914B (zh) | Bch编译码方法及装置 | |
CN113687976B (zh) | 面向dna信息存储的编码和解码方法与装置 | |
CN103997406A (zh) | 基于二维码的身份认证方法和装置 | |
CN105022675B (zh) | 嵌入式微处理器高速缓存4位数据翻转错误的纠正装置与方法 | |
CN102354535A (zh) | 逻辑单元复用系统 | |
CN102568608A (zh) | 一种增强qr码纠错能力的改进方法 | |
CN103944584A (zh) | 一种二维码译码的方法及其装置 | |
KR20160075001A (ko) | 플래시 메모리 시스템 동작 방법 | |
CN102684841B (zh) | 一种编码计算单元及解码数据校验方法 | |
CN108121509B (zh) | 一种提高ssd读操作时raid效率的方法及ssd | |
CN105138412A (zh) | 嵌入式微处理器高速缓存的混合纠错装置与方法 | |
CN105630425B (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 |