CN108596001B - 二维码纠错译码方法、装置、电子设备及计算机可读介质 - Google Patents
二维码纠错译码方法、装置、电子设备及计算机可读介质 Download PDFInfo
- Publication number
- CN108596001B CN108596001B CN201710857442.1A CN201710857442A CN108596001B CN 108596001 B CN108596001 B CN 108596001B CN 201710857442 A CN201710857442 A CN 201710857442A CN 108596001 B CN108596001 B CN 108596001B
- Authority
- CN
- China
- Prior art keywords
- information
- polynomial
- interpolation
- code word
- decoding
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
- G06K7/1473—Methods for optical code recognition the method including quality enhancement steps error correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Toxicology (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Error Detection And Correction (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开提供一种二维码纠错译码方法、装置、电子设备及计算机可读介质,属于二维码技术领域。该方法包括:对二维码图像进行预处理得到用于译码的数据码字;根据用于译码的数据码字进行最优参数匹配得到相应的插值重度,并基于插值重度进行插值,构建二元多项式;根据二元多项式得到最优信息多项式,将最优信息多项式作为信息码字;根据信息码字进行数据解码,得到二维码图像对应的原始信息。本公开通过提供一种自定义译码算法流程进行二维码纠错译码,自定义译码算法纠错译码能力强,识别准,且识别信息多,算法性能优良,在二维码出现脱落、污点、穿孔以及局部破损等情况时,可快速还原原始信息。
Description
技术领域
本公开总体涉及二维码技术领域,具体而言,涉及一种二维码纠错译码方法、装置、电子设备及计算机可读介质。
背景技术
二维码具有信息密度高、纠错能力强、保密度高、能够表示各种信息、成本低、互动性强、体验性好等特点,它非常适用于自动识别与数据采集,能够更好地与智能手机等移动终端有机结合。因此,二维码在安全保密、媒体宣传、防伪溯源、设备管理、票务系统、临床医学以及电子支付等领域得到非常广泛地应用,随之,二维码也将成为大数据分析的前提、移动互联网的入口级应用以及“O2O(Online To Offline(在线离线/线上到线下)”商业模式有效运营的关键所在。
根据二维码的编码原理、结构形状的差异,可将二维码分为行排式二维码和矩阵式二维码,其中矩阵式二维码比行排式二维码的信息密度高得多,也是目前应用领域比较广泛的二维码。目前常用的矩阵式二维码中使用的是RS(Reed-solomon)系统码,因此所涉及的译码算法是RS码伴随式译码算法——BM算法。BM算法是限定距离译码算法,纠错译码能力差,使现有二维码译码技术识别能力有限,在出现脱墨、污点等破损情况较大时很难恢复出二维码的原始输入信息。而且BM算法译码性能较差,抗噪声能力差,使现有二维码译码技术识别速度慢,尤其是当二维码出现脱落、污点、穿孔以及局部破损等情况时。
因此,现有技术中的技术方案还存在有待改进之处,需要一种新的二维码纠错译码方法、装置、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供一种二维码纠错译码方法、装置、电子装置及计算机可读介质,能够至少部分地或者全部地解决上述现有技术中存在的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种二维码纠错译码方法,包括:
对二维码图像进行预处理得到用于译码的数据码字;
根据所述用于译码的数据码字进行最优参数匹配得到相应的插值重度,并基于所述插值重度进行插值,构建二元多项式;
根据所述二元多项式得到最优信息多项式,将所述最优信息多项式作为信息码字;
根据所述信息码字进行数据解码,得到所述二维码图像对应的原始信息。
在本公开的一种示例性实施例中,所述对二维码图像进行预处理包括:识别深色模块与浅色模块、格式信息译码、确定版本、消除掩模、恢复数据码字和纠错码字。
在本公开的一种示例性实施例中,所述方法还包括:
基于恢复的数据码字进行信息安全校验,如果校验通过,则得到所述用于译码的数据码字。
在本公开的一种示例性实施例中,所述信息安全校验包括:
根据恢复的数据码字判断格式信息和版本信息是否符合,如果符合,则得到所述数据码字,如果不符合,则继续对所述二维码图像进行预处理,直到恢复的数据码字与格式信息和版本信息符合。
在本公开的一种示例性实施例中,根据所述数据码字进行最优参数匹配包括:
根据所述数据码字中的信息码字权重和纠错码字权重设定初始变量,并通过拟合和迭代更新所述初始变量。
在本公开的一种示例性实施例中,当通过最优参数匹配得到所述插值重度为m时,基于选定的插值重度进行插值包括:
自定义初始插值点,并利用改进的Kotter插值算法结合所述插值重度,基于加权字典反序表通过在每个插值点至少进行m次插值。
在本公开的一种示例性实施例中,根据所述二元多项式得到最优信息多项式包括:
对所述二元多项式进行因式分解得到一元多项式集合;
从所述一元多项式集合中进行筛选,得到所述最优信息多项式。
在本公开的一种示例性实施例中,从所述一元多项式集合中筛选,得到所述最优信息多项式包括:
对所述一元多项式集合中的一元多项式进行重新编码;
将重新编码得到的码字与所述数据码字进行比较,选取汉明距最小的码字对应的一元多项式作为所述最优信息多项式。
根据本公开的另一个方面,还提供一种二维码纠错译码装置,包括:
预处理模块,配置为对二维码图像进行预处理得到用于译码的数据码字;
插值模块,配置为根据所述用于译码的数据码字进行最优参数匹配得到相应的插值重度,并基于所述插值重度进行插值,构建二元多项式;
信息码字生成模块,配置为根据所述二元多项式得到最优信息多项式,将所述最优信息多项式作为信息码字;
解码模块,配置为根据所述信息码字进行数据解码,得到所述二维码图像对应的原始信息。
在本公开的一种示例性实施例中,所述预处理模块包括:
译码子模块,配置为对所述二维码图像进行译码,包括:识别深色模块与浅色模块、格式信息译码、确定版本、消除掩模、恢复数据码字和纠错码字。
在本公开的一种示例性实施例中,所述预处理模块还包括:
校验子模块,配置为基于恢复的数据码字进行信息安全校验,如果校验通过,则得到所述用于译码的数据码字。
在本公开的一种示例性实施例中,所述校验子模块根据恢复得到的数据码字判断格式信息和版本信息是否符合,如果符合,则得到所述数据码字,如果不符合,则返回所述译码子模块继续对所述二维码图像进行预处理,直到恢复得到的数据码字与格式信息和版本信息符合。
在本公开的一种示例性实施例中,还包括:
拟合模块,配置为根据所述数据码字中的信息码字权重和纠错码字权重设定初始变量,并通过拟合和迭代更新所述初始变量。
在本公开的一种示例性实施例中,所述插值模块包括:
选定重度子模块,配置为通过最优参数匹配得到所述插值重度为m;
自定义插值点子模块,配置为自定义初始插值点,并利用改进的Kotter插值算法结合所述插值重度,基于加权字典反序表通过在每个插值点至少进行m次插值。
在本公开的一种示例性实施例中,所述信息码字生成模块包括:
因式分解模块,配置为对所述二元多项式进行因式分解得到一元多项式集合;
筛选模块,配置为从所述一元多项式集合中进行筛选,得到所述最优信息多项式。
在本公开的一种示例性实施例中,所述筛选模块包括:
重新编码子模块,配置为对所述一元多项式集合中的一元多项式进行重新编码;
比较子模块,配置为将重新编码得到的码字与所述数据码字进行比较,选取汉明距最小的码字对应的一元多项式作为所述最优信息多项式。
根据本公开的另一个方面,还提供一种电子设备,包括存储器、处理器及存储在该存储器上并可在该处理器上运行的计算机程序,该程序被该处理器执行时实现以上所述的方法步骤。
根据本公开的另一个方面,还提供一种计算机可读介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现以上所述的方法步骤。
根据本公开某些实施例中提供的二维码纠错译码方法、装置、电子设备及计算机可读介质,通过提供一种自定义译码算法流程进行二维码纠错译码,自定义译码算法纠错译码能力强,识别准,且识别信息多,算法性能优良,在二维码出现脱落、污点、穿孔以及局部破损等情况时,可快速还原原始信息。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。
图1示出本公开一实施例中提供的一种二维码纠错译码方法的流程图。
图2示出本公开一实施例中对二维码图像进行预处理的流程图。
图3示出本公开一实施例中根据数据码字得到信息码字的流程图。
图4示出本公开一实施例中根据信息码字还原二维码原始信息的流程图。
图5示出本公开一实施例中几种其他版本QR码采用本实施例提供的自定义译码纠错算法与当前译码算法纠错能力的对比图。
图6示出本公开另一实施例中提供的一种二维码纠错译码装置的示意图。
图7示出本公开另一实施例中预处理模块的示意图。
图8示出本公开另一实施例中插值模块的示意图。
图9示出本公开另一实施例中信息码字生成模块的示意图。
图10示出本公开再一实施例提供的适于用来实现本申请实施例的电子装置的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。
附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
纠错技术的引入是二维码的主要特点之一,二维码也因其自身携带纠错码,可以通过特定的纠错译码算法在二维码出现脱落、污点、穿孔以及局部破损等情况时,正确地还原原始信息。实际应用中,二维码表示的信息与条码符号很难一同被印刷出来,加上二维码长期暴露于印刷品表面,很容易受到污损和破坏,当在一些环境较为恶劣的条件下使用二维码图片标识时,图片出现污损的可能性很大,二维码的纠错能力越强越好,因此,改进二维码纠错译码的纠错算法,使译码系统具有更强的纠错能力,这对二维码的应用和进一步的推广具有深远的意义。
图1示出本公开一实施例中提供的一种二维码纠错译码方法的流程图,包括以下步骤:
如图1所示,在步骤S11中,对二维码图像进行预处理得到用于译码的数据码字。
如图1所示,在步骤S12中,根据用于译码的数据码字进行最优参数匹配得到相应的插值重度,并基于插值重度进行插值,构建二元多项式。
如图1所示,在步骤S13中,根据二元多项式得到最优信息多项式,将最优信息多项式作为信息码字。
如图1所示,在步骤S14中,根据信息码字进行数据解码,得到二维码图像对应的原始信息。
基于上述步骤,采用全新的自定义译码算法流程进行二维码纠错译码,纠错能力强,可快速还原原始信息。
需要说明的是,上述步骤S13包括因式分解和筛选,即:首先,对二元多项式进行因式分解得到一元多项式集合;其次,从一元多项式集合中进行筛选,得到最优信息多项式。
在本实施例中,图2示出本实施例中对二维码图像进行预处理的流程图,如图2所示,包括以下步骤:
首先,通过客户端各种APP中的二维码识别(如“扫一扫”)读取二维码图像,之后对二维码图像进行译码步骤,包括:识别深色模块与浅色模块、格式信息译码、确定版本、消除掩模、恢复数据码字和纠错码字,上述预处理过程与传统处理方式无差异,需要说明的是,本实施例恢复得到数据码字之后,还基于恢复的数据码字进行信息安全校验。
在本实施例中,信息安全校验具体包括:
根据恢复的数据码字判断格式信息和版本信息是否符合,如果符合(信息安全校验通过),则得到用于译码的数据码字,如果不符合(信息安全校验不通过),则继续对二维码图像进行预处理(即重复读取二维码图像、识别深色模块与浅色模块、格式信息译码、确定版本、消除掩模、恢复数据码字和纠错码字的步骤),直到恢复的数据码字与格式信息和版本信息符合。通过对恢复的数据码字进行信息安全校验,可以提高安全系数,即优化安全性能。
在本实施例中,根据数据码字进行最优参数匹配包括:根据数据码字中的信息码字权重和纠错码字权重设定初始变量,并通过拟合和迭代更新初始变量。
例如,设置初始变量a0为迭代初值,之后采用迭代法进行迭代,如果所给的初始变量离最优解比较近,则迭代求出最优解的概率很高,初始变量还可以根据迭代结果进行调整。这个最优解与后文中通过插值和因式分解等步骤得到的最优信息多项式唯一有关。
需要说明的是,本实施例中通过最优参数匹配得到的初始化变量中包含多个参数,从中选取插值重度,而且初始化变量一般是最小的,如果在后续因式分解后没有得到唯一的最优信息多项式,则对插值加1后再重复插值步骤,直得到唯一的最优信息多项式。
在本实施例中,如果通过最优参数匹配得到的插值重度为m,则基于选定的插值重度进行插值包括:
自定义初始插值点,并利用改进的Kotter插值算法结合插值重度,基于加权字典反序表通过在每个插值点至少进行m次插值,从而构建一个二元多项式Q(x,y)。本实施例中插值可以使用内插算法,本文中所说的插值重度就是指内插重度。
需要说明的是,本实施例中改进的Kotter插值算法包括以下步骤:
步骤1),初始化一组二元多项式,此时迭代次数为0;
步骤2),消去集合内首阶大于C的二元多项式;
步骤3),对集合中的各个二元多项式的Hasse混合偏导数进行计算,判断集合中所有二元多项式的Hasse混合偏导数是否都等于1,如果都等于0,则进行步骤6),如果不是都等于0,则进行步骤4);
步骤4),求取该组集合中各二元多项式中的最小多项式;
步骤5),对该组二元多项式中的最小多项式和其余的二元多项式分别通过不同的公式进行变换修改;
步骤6),选取另一组二元多项式重复步骤1)~步骤5)的过程进行该组最小多项式的求取,每重复一次,迭代次数加1;
步骤7),当迭代次数等于C时停止迭代,此时各二元多项式中的最小多项式组成集合,并对C组二元多项式中的最小多项式进行求解。
需要说明的是,插值和拟合都是函数逼近或者数值逼近的重要组成部分。拟合是指已知某函数的若干离散函数值{f1,f2,…,fn},通过调整该函数中若干待定系数f(λ1,λ2,…,λ3),使得该函数与已知点集的差别(最小二乘意义)最小。插值是指已知某函数的在若干离散点上的函数值或者导数信息,通过求解该函数中待定形式的插值函数以及待定系数,使得该函数在给定离散点上满足约束。拟合是给定空间中的一些点,找到一个已知形式未知参数的连续曲面来最大限度地逼近这些点;而插值是找到一个(或几个分片光滑的)连续曲面来穿过这些点。
在求得插值多项式Q(x,y)以后,通过对二元多项式Q(x,y)采用Roth-Ruckenstein算法进行因式分解后,获得多个形如y-p(x)的因式,其中p(x)为一元多项式,分解可以得到一元多项式集合L。集合L中的每一个多项式p(x)都有可能成为信息多项式m(x),可以通过对L中的每一个候选信息多项式进行最优多项式筛选,即进行重新编码,将编码得到的每个码字序列分别与RS码数据码字R进行对比,选择汉明距最小的码字对应的候选信息多项式作为RS码信息码字。
其中一元多项式集合L为:
L={p(x):(y-p(x))|Q(x,y)且degp(x)<k}。
degp(x)<k表示p(x)的次数小于k,对集合L中所有的一元多项式采用频域编码方式进行重新编码;将重新编码得到的码字与数据码字进行比较,选取汉明距最小的码字对应的一元多项式作为最优信息多项式。
图3示出本实施例步骤S12~S13中根据数据码字得到信息码字的流程图,包括:对数据码字进行最优参数匹配、选定内插重度、参数自定义、改进的Kotter插值算法、Roth-Ruckenstein因式分解以及最优信息多项式筛选,最后得到信息码字。
还需要说明的是,本实施例中的最优信息多项式是唯一的,如果第一次得到的最优信息多项式不唯一,则重新自定义参数,插值重度加一,并基于新的插值重度进行插值,之后重复因式分解以及筛选最优信息多项式,直到得到唯一的最优信息多项式,整个纠错译码过程结束。
图4示出本实施例步骤S14中根据信息码字还原二维码原始信息的流程图,即:
得到信息码字后,进行有限域规则转换,转换成二进制位流,根据所对应的数据模式及其对应的数据变换方法进行数据解码,还原出二维码对应的原始信息。
为了能够更好地对本公开的技术方案进行说明,以下以版本1-H二维码输入的数据为01234567为例进行介绍:
首先,通过步骤S11对版本1-H二维码经过预处理并能够通过信息安全校验得到有限域GF(2)内的数据码字RS(26,9,8),假设预处理后得到的数据码字是
R=(r0,r1,......r25)=(α90,α220,α218,α183,α230,α51,α95,α197,α252,α205,α38,α67,α196,α,
α32,α199,α122,α100,α122,α7,α66,α219,α27,α5,α4)
通过步骤S12~S13,得到信息码字为:
c=(c0,c1,......c25)=(α122,α100,α122,α7,α66,α219,α27,α5,α4)
最后,再通过步骤S14进行有限域规则转换,得到二进制位流为:
00010000 0010000 00001100 10100110 01100001 10000000
11101100 00010001 11101100
基于上述二进制位流再进行数据解码,还原得到原始信息为01234567。
上述是以版本1-H的QR码为例,可以使纠错能力增加12%,图5示出几种其他版本QR码采用本实施例提供的自定义译码纠错算法与当前译码算法纠错能力的对比图。如图5所示,以QR码为例,各个版本符号的各个纠错等级至少提高了4%,H等级提高较多,如QR码版本6-H符号,最多可以提高14%;各个纠错等级至少增加一个纠错数据码字,最多可以增加一倍,如QR码版本1-L符号。
综上所述,通过提供一种自定义译码算法流程进行二维码纠错译码,自定义译码算法纠错译码能力强,识别准,且识别信息多,算法性能优良,在二维码出现脱落、污点、穿孔以及局部破损等情况时,可快速还原原始信息。另外,在得到数据码字之后,先进行信息安全校验,还能提高安全系数。
图6示出本公开另一实施例中提供的一种二维码纠错译码装置的示意图,如图6所示,该二维码纠错译码装置600包括:预处理模块610、插值模块620、信息码字生成模块630和解码模块640。
其中预处理模块610配置为对二维码图像进行预处理得到用于译码的数据码字;插值模块620配置为根据用于译码的数据码字进行最优参数匹配得到相应的插值重度,并基于插值重度进行插值,构建二元多项式;信息码字生成模块630配置为根据二元多项式得到最优信息多项式,将最优信息多项式作为信息码字;解码模块640配置为根据信息码字进行数据解码,得到二维码图像对应的原始信息。
图7示出本实施例中预处理模块的示意图,如图7所示,预处理模块610包括:译码子模块611和校验子模块612,译码子模块611配置为对二维码图像进行译码,包括:识别深色模块与浅色模块、格式信息译码、确定版本、消除掩模、恢复数据码字和纠错码字;校验子模块612配置为基于恢复的数据码字进行信息安全校验,如果校验通过,则得到用于译码的数据码字。
其中校验子模块612的校验过程为:
根据恢复得到的数据码字判断格式信息和版本信息是否符合,如果符合,则得到数据码字,如果不符合,则返回译码子模块继续对二维码图像进行预处理,直到恢复得到的数据码字与格式信息和版本信息符合。
如图6所示,本实施例的二维码纠错译码装置600还包括:拟合模块650,配置为根据数据码字中的信息码字权重和纠错码字权重设定初始变量,并通过拟合和迭代更新初始变量。
图8示出本实施例中插值模块的示意图,如图8所示,插值模块620包括:选定重度子模块621和自定义插值点子模块622,选定重度子模块621配置为通过最优参数匹配得到插值重度为m;自定义插值点子模块622配置为自定义初始插值点,并利用改进的Kotter插值算法结合插值重度,基于加权字典反序表通过在每个插值点至少进行m次插值。
图9示出本实施例中信息码字生成模块的示意图,如图9所示,信息码字生成模块630包括因式分解模块631和筛选模块632,因式分解模块631配置为对二元多项式进行因式分解得到一元多项式集合,筛选模块632配置为从一元多项式集合中进行筛选,得到最优信息多项式。筛选模块632包括:重新编码子模块6321和比较子模块6322,重新编码子模块6321配置为对一元多项式集合中的一元多项式进行重新编码;比较子模块6322配置为将重新编码得到的码字与数据码字进行比较,选取汉明距最小的码字对应的一元多项式作为最优信息多项式。
该装置中各个模块的功能参见上述方法实施例中的相关描述,此处不再赘述。
基于上述,本实施例提供的二维码纠错译码装置能够实现与上述二维码纠错译码方法相同的技术效果,此处不再赘述。
另一方面,本公开还提供了一种电子设备,包括处理器和存储器,存储器存储用于上述处理器控制以下的操作的指令:
对二维码图像进行预处理得到用于译码的数据码字;根据用于译码的数据码字进行最优参数匹配得到相应的插值重度,并基于插值重度进行插值,构建二元多项式;根据二元多项式得到最优信息多项式,将最优信息多项式作为信息码字;根据信息码字进行数据解码,得到二维码图像对应的原始信息。
下面参考图10,其示出了适于用来实现本申请实施例的电子装置的计算机系统1000的结构示意图。图10示出的电子装置仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1007加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有系统1000操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“向所连接的服务端发送图片获取请求的单元”。
另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
对二维码图像进行预处理得到用于译码的数据码字;根据用于译码的数据码字进行最优参数匹配得到相应的插值重度,并基于插值重度进行插值,构建二元多项式;根据二元多项式得到最优信息多项式,将最优信息多项式作为信息码字;根据信息码字进行数据解码,得到二维码图像对应的原始信息。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施方式。
以上具体地示出和描述了本公开的示例性实施方式。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (13)
1.一种二维码纠错译码方法,其特征在于,包括:
对二维码图像进行预处理,其中,所述预处理包括:识别深色模块与浅色模块、格式信息译码、确定版本、消除掩模、恢复数据码字和纠错码字,并基于所述恢复数据码字进行信息安全校验以得到用于译码的数据码字;
根据所述用于译码的数据码字中的信息码权重和纠错码权重设定初始变量,通过拟合和迭代更新初始变量进行最优参数匹配,以得到相应的插值重度,并基于所述插值重度进行插值,构建二元多项式;
根据所述二元多项式得到最优信息多项式,当所述最优信息多项式不唯一时,则将所述插值重度加一之后重新进行插值,直到确定唯一的所述最优信息多项式,将所述唯一的最优信息多项式作为信息码字;
根据所述信息码字进行数据解码,得到所述二维码图像对应的原始信息。
2.根据权利要求1所述的二维码纠错译码方法,其特征在于,所述信息安全校验包括:
根据恢复的数据码字判断格式信息和版本信息是否符合,如果符合,则得到所述用于译码的数据码字,如果不符合,则继续对所述二维码图像进行预处理,直到恢复的数据码字与格式信息和版本信息符合。
3.根据权利要求1所述的二维码纠错译码方法,其特征在于,如果通过最优参数匹配得到所述插值重度为m,则基于选定的插值重度进行插值包括:
自定义初始插值点,并利用改进的Kotter插值算法结合所述插值重度,基于加权字典反序表通过在每个插值点至少进行m次插值。
4.根据权利要求1所述的二维码纠错译码方法,其特征在于,根据所述二元多项式得到最优信息多项式包括:
对所述二元多项式进行因式分解得到一元多项式集合;
从所述一元多项式集合中进行筛选,得到所述最优信息多项式。
5.根据权利要求4所述的二维码纠错译码方法,其特征在于,从所述一元多项式集合中进行筛选,得到所述最优信息多项式包括:
对所述一元多项式集合中的一元多项式进行重新编码;
将重新编码得到的码字与所述数据码字进行比较,选取汉明距最小的码字对应的一元多项式作为所述最优信息多项式。
6.一种二维码纠错译码装置,其特征在于,包括:
预处理模块,所述预处理模块又包括译码子模块和校验子模块;所述译码子模块配置为对二维码图像进行预处理得到用于译码的数据码字其中,所述预处理包括:别深色模块与浅色模块、格式信息译码、确定版本、消除掩模、恢复数据码字和纠错码字;所述校验子模块,配置为基于所述恢复数据码字进行信息安全校验以得到用于译码的数据码字;
插值模块,配置为根据所述用于译码的数据码字中的信息码权重和纠错码权重设定初始变量,通过拟合和迭代更新初始变量进行最优参数匹配,以得到相应的插值重度,并基于所述插值重度进行插值,构建二元多项式;
信息码字生成模块,配置为根据所述二元多项式得到最优信息多项式,当所述最优信息多项式不唯一时,则将所述插值重度加一之后重新进行插值,直到确定唯一的所述最优信息多项式,将所述唯一的最优信息多项式作为信息码字;
解码模块,配置为根据所述信息码字进行数据解码,得到所述二维码图像对应的原始信息。
7.根据权利要求6所述的二维码纠错译码装置,其特征在于,所述校验子模块根据恢复得到的数据码字判断格式信息和版本信息是否符合,如果符合,则得到所述用于译码的数据码字,如果不符合,则返回所述译码子模块继续对所述二维码图像进行预处理,直到恢复得到的数据码字与格式信息和版本信息符合。
8.根据权利要求6所述的二维码纠错译码装置,其特征在于,还包括:
拟合模块,配置为根据所述数据码字中的信息码字权重和纠错码字权重设定初始变量,并通过拟合和迭代更新所述初始变量。
9.根据权利要求6所述的二维码纠错译码装置,其特征在于,所述插值模块包括:
选定重度子模块,配置为通过最优参数匹配得到所述插值重度为m;
自定义插值点子模块,配置为自定义初始插值点,并利用改进的Kotter插值算法结合所述插值重度,基于加权字典反序表通过在每个插值点至少进行m次插值。
10.根据权利要求6所述的二维码纠错译码装置,其特征在于,所述信息码字生成模块包括:
因式分解模块,配置为对所述二元多项式进行因式分解得到一元多项式集合;
筛选模块,配置为从所述一元多项式集合中进行筛选,得到所述最优信息多项式。
11.根据权利要求10所述的二维码纠错译码装置,其特征在于,所述筛选模块包括:
重新编码子模块,配置为对所述一元多项式集合中的一元多项式进行重新编码;
比较子模块,配置为将重新编码得到的码字与所述数据码字进行比较,选取汉明距最小的码字对应的一元多项式作为所述最优信息多项式。
12.一种电子设备,包括存储器、处理器及存储在该存储器上并可在该处理器上运行的计算机程序,其特征在于,该程序被该处理器执行时实现权利要求1-5任一项所述的方法步骤。
13.一种计算机可读介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1-5任一项所述的方法步骤。
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710857442.1A CN108596001B (zh) | 2017-09-21 | 2017-09-21 | 二维码纠错译码方法、装置、电子设备及计算机可读介质 |
KR1020197037017A KR20200058329A (ko) | 2017-09-21 | 2017-12-29 | 2-차원 코드 에러 정정 디코딩 |
JP2019571307A JP2020537363A (ja) | 2017-09-21 | 2017-12-29 | 二次元コード誤り訂正復号化 |
CA3069587A CA3069587C (en) | 2017-09-21 | 2017-12-29 | Two-dimensional code error correction decoding |
EP17925538.5A EP3640851B1 (en) | 2017-09-21 | 2017-12-29 | Two-dimensional code error correction decoding |
CA3225612A CA3225612A1 (en) | 2017-09-21 | 2017-12-29 | A system and method for scanning two-dimensional codes having error correction codewords |
PCT/CN2017/119723 WO2019056644A1 (zh) | 2017-09-21 | 2017-12-29 | 二维码纠错译码 |
TW107121925A TWI669917B (zh) | 2017-09-21 | 2018-06-26 | 二維碼糾錯解碼方法、裝置、電子設備及電腦可讀介質 |
US16/810,378 US11080500B2 (en) | 2017-09-21 | 2020-03-05 | Two-dimensional code error correction decoding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710857442.1A CN108596001B (zh) | 2017-09-21 | 2017-09-21 | 二维码纠错译码方法、装置、电子设备及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108596001A CN108596001A (zh) | 2018-09-28 |
CN108596001B true CN108596001B (zh) | 2021-02-02 |
Family
ID=63632929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710857442.1A Active CN108596001B (zh) | 2017-09-21 | 2017-09-21 | 二维码纠错译码方法、装置、电子设备及计算机可读介质 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11080500B2 (zh) |
EP (1) | EP3640851B1 (zh) |
JP (1) | JP2020537363A (zh) |
KR (1) | KR20200058329A (zh) |
CN (1) | CN108596001B (zh) |
CA (2) | CA3225612A1 (zh) |
TW (1) | TWI669917B (zh) |
WO (1) | WO2019056644A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111209988B (zh) * | 2019-12-27 | 2023-05-09 | 宁波深寻信息科技有限公司 | 一种基于可识别彩色图形的大数据共享系统的管理方法 |
CN112989864B (zh) * | 2021-03-11 | 2024-06-07 | 北京骑胜科技有限公司 | 图形码损坏的识别方法、设备、存储介质、程序产品 |
CN114021595B (zh) * | 2021-09-22 | 2024-08-02 | 厦门华联电子股份有限公司 | 一种二维码识别方法及装置 |
TWI783895B (zh) * | 2022-04-01 | 2022-11-11 | 國立勤益科技大學 | 隨機式rs碼之qr碼驗証系統及方法 |
CN117350317B (zh) * | 2023-12-05 | 2024-03-26 | 北京紫光青藤微系统有限公司 | 用于条码图像的译码方法、装置和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7870469B1 (en) * | 2007-02-12 | 2011-01-11 | Link—A—Media Devices Corporation | Parallel inversionless error and erasure processing |
CN103530590A (zh) * | 2013-10-19 | 2014-01-22 | 高韬 | Dpm二维码识别系统 |
CN103944584A (zh) * | 2014-04-24 | 2014-07-23 | 胡建国 | 一种二维码译码的方法及其装置 |
CN104915699A (zh) * | 2015-05-21 | 2015-09-16 | 中山大学 | 基于改进的gs算法的矩阵式二维码rs译码纠错方法 |
CN105811999A (zh) * | 2016-02-29 | 2016-07-27 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 基于改进的kv算法的矩阵式二维码rs译码纠错方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6126074A (en) * | 1998-01-28 | 2000-10-03 | Symbol Technologies, Inc. | Error correction in macro bar code symbols |
JP2006042089A (ja) * | 2004-07-29 | 2006-02-09 | Sony Corp | 復号装置および方法、並びにプログラム |
CN101908125B (zh) * | 2010-06-01 | 2014-07-02 | 福建新大陆电脑股份有限公司 | Qr码条码解码芯片及其解码方法 |
CN103339641B (zh) * | 2010-12-09 | 2017-02-22 | 得利捷Ip科技有限公司 | 一种用于解码二维光学代码的方法 |
WO2012124123A1 (ja) * | 2011-03-17 | 2012-09-20 | 富士通株式会社 | 画像処理装置、画像処理方法及び画像処理プログラム |
CN102742164B (zh) * | 2012-02-14 | 2014-04-30 | 华为技术有限公司 | 一种译码方法和译码装置 |
CN102819724A (zh) * | 2012-08-02 | 2012-12-12 | 广东正迪科技股份有限公司 | 基于智能手机的二维码标签防伪识别系统及方法 |
CN104517089B (zh) * | 2013-09-29 | 2017-09-26 | 北大方正集团有限公司 | 一种二维码解码系统及其方法 |
MY182907A (en) * | 2013-11-06 | 2021-02-05 | Sicpa Holding Sa | Increasing information size in two-dimensional barcodes |
US9985653B2 (en) * | 2015-04-10 | 2018-05-29 | Samsung Electronics Co., Ltd. | Methods and systems for soft-decision decoding |
JP6035407B1 (ja) * | 2015-11-20 | 2016-11-30 | 株式会社トッパンTdkレーベル | 二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード、二次元コード読み取り方法、二次元コード読み取り装置、及び、二次元コード管理システム |
TWI567655B (zh) * | 2016-02-04 | 2017-01-21 | Calin Technology Co Ltd | Object of two - dimensional code discrimination method |
-
2017
- 2017-09-21 CN CN201710857442.1A patent/CN108596001B/zh active Active
- 2017-12-29 CA CA3225612A patent/CA3225612A1/en active Pending
- 2017-12-29 JP JP2019571307A patent/JP2020537363A/ja not_active Withdrawn
- 2017-12-29 KR KR1020197037017A patent/KR20200058329A/ko not_active Application Discontinuation
- 2017-12-29 WO PCT/CN2017/119723 patent/WO2019056644A1/zh unknown
- 2017-12-29 CA CA3069587A patent/CA3069587C/en active Active
- 2017-12-29 EP EP17925538.5A patent/EP3640851B1/en not_active Not-in-force
-
2018
- 2018-06-26 TW TW107121925A patent/TWI669917B/zh not_active IP Right Cessation
-
2020
- 2020-03-05 US US16/810,378 patent/US11080500B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7870469B1 (en) * | 2007-02-12 | 2011-01-11 | Link—A—Media Devices Corporation | Parallel inversionless error and erasure processing |
CN103530590A (zh) * | 2013-10-19 | 2014-01-22 | 高韬 | Dpm二维码识别系统 |
CN103944584A (zh) * | 2014-04-24 | 2014-07-23 | 胡建国 | 一种二维码译码的方法及其装置 |
CN104915699A (zh) * | 2015-05-21 | 2015-09-16 | 中山大学 | 基于改进的gs算法的矩阵式二维码rs译码纠错方法 |
CN105811999A (zh) * | 2016-02-29 | 2016-07-27 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 基于改进的kv算法的矩阵式二维码rs译码纠错方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20200058329A (ko) | 2020-05-27 |
CA3069587A1 (en) | 2019-03-28 |
US11080500B2 (en) | 2021-08-03 |
EP3640851A1 (en) | 2020-04-22 |
CN108596001A (zh) | 2018-09-28 |
CA3225612A1 (en) | 2019-03-28 |
TWI669917B (zh) | 2019-08-21 |
TW201916602A (zh) | 2019-04-16 |
US20200202096A1 (en) | 2020-06-25 |
CA3069587C (en) | 2024-02-20 |
EP3640851B1 (en) | 2022-06-15 |
WO2019056644A1 (zh) | 2019-03-28 |
JP2020537363A (ja) | 2020-12-17 |
EP3640851A4 (en) | 2020-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108596001B (zh) | 二维码纠错译码方法、装置、电子设备及计算机可读介质 | |
CN110119643B (zh) | 二维码生成方法及装置、二维码识别方法及装置 | |
US11949868B2 (en) | Method and device for selecting context model of quantization coefficient end flag bit | |
Choukroun et al. | Error correction code transformer | |
CN112200194B (zh) | 一种公式识别方法、装置、电子设备及存储介质 | |
JP7356513B2 (ja) | ニューラルネットワークのパラメータを圧縮する方法および装置 | |
CN109684851A (zh) | 软件质量评估方法、装置、设备及计算机存储介质 | |
Choukroun et al. | Denoising diffusion error correction codes | |
Beygi et al. | An efficient algorithm for compression-based compressed sensing | |
Choukroun et al. | A foundation model for error correction codes | |
Ji et al. | Generalised non‐locally centralised image de‐noising using sparse dictionary | |
CN113761845A (zh) | 一种文本生成方法、装置、存储介质及电子设备 | |
CN112804029A (zh) | 基于ldpc码的bats码的传输方法、装置、设备及可读存储介质 | |
CN111950712A (zh) | 模型网络参数处理方法、设备及可读存储介质 | |
CN115934484A (zh) | 基于扩散模型数据增强的异常检测方法、存储介质及设备 | |
Zhu et al. | Deep learning for waveform level receiver design with natural redundancy | |
Xu et al. | A Neural Network Empowered Belief Propagation Algorithm Optimized for Short-Cycles in Tanner Graph | |
CN115828977B (zh) | 工业互联网标签编码方法、装置、介质及电子设备 | |
Zhao et al. | Sphere bound revisited: A new simulation approach to performance evaluation of binary linear codes over AWGN channels | |
CN117725498A (zh) | 数据处理方法、装置、电子设备及介质 | |
Zhou et al. | Bayesian denoising of structured sources and its implications on learning-based denoising | |
Hassan et al. | Electrical & Electronic Engineering| Research Article Performance Of Soft Viterbi Decoder Enhanced With Non-Transmittable Codewords For Storage Media | |
CN118803239A (zh) | 生成式图像语义通信方法、系统、计算机设备及存储介质 | |
KR20230136572A (ko) | 신경망 기반 특징 텐서 압축 방법 및 장치 | |
CN117639796A (zh) | 卷积码交织关系识别方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1256296 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |