CN101515335A - 具有高压缩比汉字编码能力的彩色二维条码及其编码、解码方法 - Google Patents
具有高压缩比汉字编码能力的彩色二维条码及其编码、解码方法 Download PDFInfo
- Publication number
- CN101515335A CN101515335A CNA2009100970651A CN200910097065A CN101515335A CN 101515335 A CN101515335 A CN 101515335A CN A2009100970651 A CNA2009100970651 A CN A2009100970651A CN 200910097065 A CN200910097065 A CN 200910097065A CN 101515335 A CN101515335 A CN 101515335A
- Authority
- CN
- China
- Prior art keywords
- coding
- bar code
- color
- character
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000006835 compression Effects 0.000 title claims abstract description 34
- 238000007906 compression Methods 0.000 title claims abstract description 34
- 238000012937 correction Methods 0.000 claims description 52
- 230000008859 change Effects 0.000 claims description 15
- 230000003287 optical effect Effects 0.000 claims description 15
- 239000003086 colorant Substances 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 239000000203 mixture Substances 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 230000007812 deficiency Effects 0.000 claims description 4
- 230000008676 import Effects 0.000 claims description 4
- 239000007787 solid Substances 0.000 claims description 3
- 230000006870 function Effects 0.000 description 29
- 239000011159 matrix material Substances 0.000 description 13
- 238000013461 design Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 6
- 239000000463 material Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 238000005520 cutting process Methods 0.000 description 4
- 238000004040 coloring Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000009432 framing Methods 0.000 description 3
- 230000001915 proofreading effect Effects 0.000 description 3
- 241001463139 Vitta Species 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 244000025254 Cannabis sativa Species 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000009313 farming Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 101150048619 mdt-31 gene Proteins 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种具有高压缩比汉字编码能力的彩色二维条码,整个条码图像由规则排列的矩形模块组成,整个条码图像包括功能图像和数据区域,所述功能图像为彩色二维条码的四边,其中,左边是由不同光学特征的两种颜色色块交替组成,下边为单一颜色色块组成,上边和右边分别按从左到右、从下到上的顺序由不同光学特征的四色模块交替组成;所述数据区域为正方形的中间部分,所述数据区域是由两条互相垂直的不同光学特征的两种颜色模块交替组成;所述数据区域内的码字排列按照从左到右、从上到下的顺序排列。以及提供了所述彩色二维条码的编码和解码方法。本发明有效提高汉字的压缩比、增高条码的信息密度、增大单位面积的信息容量。
Description
技术领域
本发明涉及一种二维条码及其编码、解码方法。
背景技术
条码技术已经成为当今主要的计算机自动识别技术之一,是信息数据自动识别、输入的一种重要方法和手段,广泛应用到工业、商业、国防、交通运输、金融、医疗卫生、邮电及办公室自动化等各个领域,为管理的科学化和现代化做出了很大贡献。目前,条码分为一维条码和二维条码。一维条码一般只在水平方向表达信息,因此具有信息容量小、只能表示字母和数字、识别率低和抗干扰能力弱等缺点,大大限制了其使用范围。在20世纪90年代发明了二维条码,二维条码除了具有一维条码的优点外,在同样的面积上信息容量是一维条码的近百倍,具有信息容量大、可靠性高、抗干扰能力强等优点,二维条码的出现大大拓宽了条码的应用领域。
随着现代社会爆炸式的信息量增加和条码应用领域的不断拓展,需要条码表示的数据信息量剧增,对条码的信息量提出了更高的要求,希望条码能够在单位面积上传载更多的信息。提高条码信息容量,最简单和直接的方法是可以采用增大条码尺寸或增大条码密度来解决,但是这两种解决方案都有一定的局限性。增大条码尺寸需要条码载体提供更大的印制面积,但是在实际应用的场合中,对条码的尺寸有很强的限制,例如半导体芯片、计算机芯片甚至是印有条码的商品简介都无法提供足够的空间来容纳条码,过大的条码还会影响商品的整体效果。增大条码密度,受到印制设备和识读设备有更高的精度,成本高,而且增大条码密度会明显降低条码的抗干扰能力和增大条码识别的难度,极大限制了条码使用的环境,这两种解决方案都受到限制。
虽然目前国际上现有的二维条码标准有两百多种,比较通用的也有20余种,但是,国内使用的二维条码标准大多源自于国外,并且使用国际条码标准背后隐藏着非常复杂的专利许可权问题。更为重要的是国外的条码标准大多是针对英文字母和数字进行编码,尽管大多二维条码都能表示汉字,但是,缺少专门的汉字编码模式,对汉字的编码大多通过汉字内码的编码方法,这样导致了汉字编码的压缩比极低。当前,信息编码密度较高的Data Matrix条码,编码一个汉字需要用两个字节共16位,即使对汉字压缩比最高的QR码,编码一个汉字也需要13位。对汉字的压缩比不高,导致了在等单位模块大小时,条码的信息密度降低,单位面积的信息容量减少,严重限制了条码的使用范围和应用环境。
发明内容
为了克服已有的二维条码的汉字压缩比较低、条码的信息密度低、单位面积的信息容量较少的不足,本发明提供一种有效提高汉字的压缩比、增高条码的信息密度、增大单位面积的信息容量的具有高压缩比汉字编码能力的彩色二维条码及其编码、解码方法。
本发明解决其技术问题所采用的技术方案是:
一种具有高压缩比汉字编码能力的彩色二维条码,所述彩色二维条码的整个条码图像由规则排列的矩形模块组成,整个条码图像包括功能图像和数据区域,所述功能图像为彩色二维条码的四边,其中,左边是由不同光学特征的两种颜色色块交替组成,下边为单一颜色色块组成,上边和右边分别按从左到右、从下到上的顺序由不同光学特征的四色模块交替组成;所述数据区域为正方形的中间部分,所述数据区域是由两条互相垂直的不同光学特征的两种颜色模块交替组成;
所述数据区域内的码字排列按照从左到右、从上到下的顺序排列。
进一步,所述数据区域为四个、十六个或者三十二个,每个数据区域按照从左到右、从上到下的顺序排列;在功能图像中,当遇到数据区域交界处,又重新按所述不同光学特征的四色模块交替表示。
再进一步,所述的矩形为正方形。
一种具有高压缩比汉字编码能力的彩色二维条码的编码方法,包括:
(1)、将源数据信息流根据数据信息编码规则编码成六进制的数据位流,并计算数据位流长度,将数据位流长度转化为六位六进制数添加到原数据位流前组成新的数据位流,数据位流长度为k;
(2)、根据数据位流长度k,选择数据区域数据位流长度大于数据位流长度k的最小尺寸的条码,对于不足固定的数据长度部分加入填充字符进行补充;
(3)、将形成新的数据位流按4位组合成一个码字,根据Reed-Solomon纠错算法生成纠错码字,将生成的纠错码字添加到数据码字之后形成总的数据码字;
(4)、将总的数据码字按六进制数转化为对应的码字位流,并用对应的颜色模块进行符号表示和添加相应的功能图像,生成最终的条码图像。
进一步,根据数据信息的类型选择不同的编码模式,默认编码模式为汉字库编码模式,进入其他模式需加入模式指示符或标示符;
数据信息的编码模式共分为汉字库编码模式、内码编码模式、单个ASCII编码模式,数字编码模式和连续ASCII编码模式;其中,
汉字库编码模式:将常用汉字按使用频率从高到低的顺序排列,建立汉字编码库,采取使用汉字频率与编码长度成反比的编码规则;汉字使用频率最高的x个汉字和y个常用标点符号,编码时都将码值转化为对应的b位u进制位流表示;将汉字使用频率次高的z个汉字将码值转化为对应的c位u进制位流表示,并在最高位前面添加数字u,用来区分编码数据位流长度为b和c的,其中x,y,z为大于1的正整数,u,b,c为大于1的正整数,u为Ncol-1,且b小于c,且x+y≤ub,且z+x+y≤uc;
汉字内码编码模式:将高字节*162+低字节转化成对应的d位u进制数表示,并在编码前加上对应的模式标示符作为标记,其中u,d为大于1的正整数,u为Ncol-1,且d位u进制数能表示所有内码;在汉字库编码模式中自动进入汉字内码编码模式,模式结束后自动转入汉字库编码模式,其他编码模式要进入内码编码模式,先转入汉字库编码模式;
单个ASCII编码模式:将每个ASCII的ASCII码值转化为对应的u进制数,不足f位在最高位前添加0补足f位,然后在编码位流前加入模式指示符;其中,u,f为大于1的正整数,u为Ncol-1,且要求f位u进制数能表示所有ASCII码值;在汉字库编码模式中自动进入ASCII编码模式,模式结束后自动转入默认的汉字库编码模式,其他编码模式要进入ASCII编码模式,先转入汉字库编码模式;
数字编码模式:将输入的数字按两位分为一组,将每组数据转换为3位五进制数,不足三位在最高位添0补足。如果输入的数据的个数不是2的倍数,最后一个数字转换为对应2位五进制数,不足2位在最高位添0补足;将所有组成五进制数连接起来位流在前面加入对应的开始模式指示符和加入结束模式;
多个连续的ASCII编码规则:将26个大小写字母和3个常用标点符号逗号、句号和空格这55个ASCII码组成连续ASCII编码的字母表,简称集合S;将ASCII码中剩余的不属于集合S的73个ASCII码组成连续ASCII编码的非字母表,简称集合R;如果遇到两个连续字符属于集合S的字符编码,将第一个字符*55+第二个字符,转化成对应的五位五进制数表示,不足五位的在最高位前加0补足五位,移动两个字符继续编码剩余的字符;如果第一个字符属于集合S的字符,但是第二个字符不属于集合S或者为空,将第一个字符用三位五进制数表示,不足三位的最高位前加0补足三位,移动一个字符继续编码剩余的字符;如果在字符编码模式中遇到一个不属于集合S,但是属于集合R的编码,将对应的码值转化为对应的三位五进制数,不足三位的最高位前加0补足三位,并在最高位前加入模式指示符5标识,移动一个字符继续编码剩余的字符;将所有处理后的位流数据按顺序连接起来并在开始处加入模式开始指示符和模式结束指示符505;
对于汉字的编码首选汉字库编码模式,编码汉字属于汉字编码库,则采用汉字库编码模式编码;若编码的汉字不在汉字编码库中,则采用内码编码模式编码;若编码的数据是连续的数字,则采用数字编码模式编码;若编码的数据是多个非连续数字的ASCII字符,则采用连续ASCII编码模式编码;若编码的数据是单个ASCII字符,则采用单个ASCII编码模式编码。
一种具有高压缩比汉字编码能力的彩色二维条码的解码方法,包括:
(1)、在将图像进行预处理,将图像红、绿、蓝三通道分别二值化处理;
(2)、根据条码图像的功能图像在红、绿、蓝色三通道任意一个通道或者结合任意两种颜色通道的特征进行条码区域定位和条码图像的校正;如果条码图像发生偏色现象,能够根据功能图像不同光学特征的交替颜色模块进行偏色校正;
(3)、根据条码图像的功能图像,将整个条码图像的数据图像进行码字分割,将分割的图像信息转化为对应的码字;
(4)、利用Reed-Solomon纠错算法进行检测校正码字错误;
(5)、根据条码规格,删除对应的纠错码字,依照不同的编码模式,将数据码字信息转化为对应数据信息。
本发明的技术构思为:本发明采用理论与实践相结合的研究方法,对现有国际流行的二维条码如PDF417、Data Matrix、QR等以及国内最新推出一些条码标准进行研究分析,在这些条码的编解码技术基础上,然后结合图形图像识别技术,将普通的黑白二色条码扩展为彩色二维条码,由于本文是研究的一种高压缩比汉字能力的彩色二维条码,为方便表述,以下称彩色二维条码,简称彩码。
彩色二维条码设计思想
在彩色二维条码的设计中,将待编码的数据信息编码转化为与颜色数n对应的n进制数表示方式,然后用不同颜色的模块分别表示二进制数中对应的0,1,2,……,n-1,这样每个模块将表示码字数的n进制数的1位。通过对条码颜色数的扩展,将大大增加条码的数据信息容量,假设其他条件不变是,k个模块的条码容量将由原来的2k扩大为nk。
考虑到本发明设计的彩色二维条码的具体应用环境,主要是用于对汉字、英文字母和数字,以及常用的标点符号编码,其中,编码数据量最大的是中文汉字。鉴于当前国内外的条码对中文的编码压缩比都极低,在设计新型彩色二维条码提高中文的压缩比是考虑的重点。改进普通条码的对汉字的编码模式,根据常用汉字字种数与语料覆盖率的变化规律,为汉字建立汉字编码库,将汉字与码字一一对应起来。编码汉字时根据汉字编码库选择对应的编码码值,然后将码值按照编码规则转化为对应的位流,这样可以有效地缩短汉字的编码长度,提高汉字的编码压缩比。
彩色二维条码的主要技术路线
(1)数据信息的编码:为了提高汉字编码的压缩比,我们把最常用的汉字按使用频率的高低建立汉字编码库,让汉字和码值一一对应,汉字编码时选择对应的码值,然后将码值按照编码规则转化为对应的数据位流,这样可以有效地缩短编码长度。对于少量不在汉字编码库的非常用汉字,采用内码的编码方式编码。对于数字和字母的编码,我们可以将多位数字和字母进行联合运算进行编码,将所有的数据信息都编码成六进制数位流。
(2)纠错码的生成技术:分析各种二维条码的纠错码技术,Reed-Solomon(简称RS码)纠错算法是一种比较成熟和有效的纠错技术,被广泛应用到条码技术和通信技术中。彩色二维条码的纠错算法也采用Reed-Solomon纠错算法生成相应的纠错码。
(3)符号表示:学习和借鉴Data Matrix条码的符号表示,分别用黑、白、红、绿、蓝、黄色的模块表示对应的数据信息的数据0、1、2、3、4、5。在条码图像中加入相应用于条码图像的定位和畸变校正的功能图像,功能图像的设计时结合颜色的优势,加入相应的颜色信息。
彩色二维条码颜色值的选取
彩色图像分割的一种最基本的方法是根据RGB彩色模型空间中直接进行图像的分割,该方法简单直接并且效果好。在RGB模型中黑、白、红、绿、蓝、黄、青和品红八种颜色的颜色值相差比较大,相对容易识别,条码设计时颜色的选取可以考虑这八种颜色或者其中的几种颜色。考虑到条码的数据信息对汉字的编码要求。
彩色二维条码的纠错算法,采用Reed-Solomon纠错算法。由于彩色二维条码使用RS码的伽罗华域为GF(m)(m为质数或者为质数的n次方),即多项式阶数不能高于m,因此,当码字流码字个数不超过m的彩色二维条码二维条码,可直接使用的Reed-Solomon算法计算纠错码字,当码字流中码字个数超过时,彩色二维条码可以采用交叉分块的算法。采用交叉分块的算法,主要是考虑到条码图像某部分出现不可识别时,把出错的码字尽量平摊到每块纠错序列,如果出错的部分全部集中在一块纠错序列中,这样有可能引起该块无法正确纠错,从而导致整个条码无法识别。
根据条码规格属性,又已知纠错码码字的个数k,就能建立纠错码生成多项式g(x)表示为:
g(x)=(x-a)(x-a2)(x-a3)...(x-ak) (1)
将新数据位流按每四位组成一个码字,组成原始信息多项式d(x)中的dn-1,dn-2,…,d1,d0,dn-1为第一个数据码字,d0为最后一个数据码字。建立数据码字多项式d(x)
d(x)=d0xk+d1xk+1+d2xk+2+…+dn-1xn+k-1 (2)
根据纠错码计算方式,如式(3):
e(x)=d(x)mod g(x) (3)
可以求得纠错码多项式e(x)
e(x)=ek-1xk-1+ek-2xk-2+...+e1x+e0 (4)
式(4)中,ek-1,ek-2,...e1,e0即为纠错码字,其中ek-1为第一个纠错码字,e0为最后一个纠错码字。
本发明的有益效果主要表现在:有效提高汉字的压缩比、增高条码的信息密度、增大单位面积的信息容量。
附图说明
图1是彩色二维条码四数据区域功能图像。
图2是彩色二维条码十六数据区域功能图像。
图3是彩色二维条码码字的4个位的排序图。
图4是彩色二维条码11×11模块数据排列示意图。
图5是彩色二维条码编码流程示意图。
图6是彩色二维条码编码生成的条码图片。
图7是彩色二维条码的功能图像在红、绿、蓝三通道下的图像,其中图7(1)为红色通道下的功能图像,图7(2)为绿色通道下的功能图像,图7(3)为监色通道下的功能图像。
图8是彩色二维条码图像译码流程图。
图9是数据位流译码成数据信息流程图。
具体实施方式
下面结合附图对本发明作进一步描述。
实施例1
参照图1~图4,一种具有高压缩比汉字编码能力的彩色二维条码,所述彩色二维条码的整个条码图像由规则排列的矩形模块组成,整个条码图像包括功能图像和数据区域,所述功能图像为彩色二维条码的四边,其中,左边是由不同光学特征的两种颜色色块交替组成,下边为单一颜色色块组成,上边和右边分别按从左到右、从下到上的顺序由不同光学特征的四色模块交替组成;所述数据区域为正方形的中间部分,所述数据区域是由两条互相垂直的不同光学特征的两种颜色模块交替组成;所述数据区域内的码字排列按照从左到右、从上到下的顺序排列。
所述数据区域为四个、十六个或者三十二个,每个数据区域按照从左到右、从上到下的顺序排列;在功能图像中,当遇到数据区域交界处,又重新按所述不同光学特征的四色模块交替表示。所述的矩形优选为正方形。
彩色二维条码的数据区都是偶数行和偶数列,尺寸从9模块×9模块到139模块×139模块,详细尺寸结构,请见表1:
表1
本实施例的彩色二维条码的结构图:彩色二维条码的功能图像,左边是黑、绿模块交替组成,下边是一条黑色模块组成,上边和右边是分别按从左到右,从下到上的顺序由黑、红、绿、黄四色模块交替组成,遇到数据区域交界处,又重新按黑、红、绿、黄四色模块交替表示,这样有利于区分不同的数据区域,上边和右边的交点用黑色模块表示。中间分数据区域的直线边是由两条互相垂直的黑、红交替模块组成。见图1。
彩色二维条码用黑、白、红、绿、蓝、黄色的模块分别表示码字对应的六进制数据位流的0、1、2、3、4、5。将4个模块以从左到右、从下到上的顺序构成一个码字,1表示4位六进制的码字的最高位,4表示最低位,见图3。
彩色二维条码的整体图像呈正方形,因为每个码字的图像排列也都是规则的正方形,所以不会存在条码图像在边界及四个角处放置的符号不规则问题,图像排列非常简单。整个条码图像被功能图像划分多数据区域,各个数据区域按照从左到右,从下到上的顺序编号。每个数据区域的码字的排列也按照从左到右,从下到上的顺序排列。在彩色二维条码11×11模块的数据排列见图4,其他模块的数据排列也类似。
彩色二维条码整个条码图像由数据区域和35×35模块的条码尺寸的条码图像见图5,其他条码的图像也类似。
彩色二维条码的颜色:所述的高压缩比彩色二维条码颜色值选取黑、白、红、绿、蓝和黄六种颜色,数据信息编码时对应的数据位流的值分别为0至5。
信息容量:信息存储容量的大小是衡量二维条码性能的一个非常重要的指标。在条码中加入颜色信息能大大提高条码的信息容量,即使不改变其他任何编码规则,在原有的编码机制上引入颜色,就能扩大条码的信息容量。上述设计的彩色二维条码不仅充分利用色彩的优势,并且通过改变数据信息的编码规则,尤其是通过优化对汉字编码的优化,大大提高了条码的信息容量,也就是对汉字的信息容量是Data Matrix条码的信息容量的3倍到4倍。对数字,字母的容量也都较黑白二色的Data Matrix条码有所提高。所述的彩色二维条码对汉字的编码容量取决于编码的具体数据信息,在理想情况下,假设汉字编码长度全部为4位,则该条码汉字的最大编码容量可以达3202个;在通常情况下,汉字的编码容量也能到达2920个;在最坏的情况下,汉字全部为使用频率很低的汉字,都采用内码模式编码,这种情况在实际应用中的可能性几乎零,这时汉字的最大编码容量也能达到1424个,仍然高于同等纠错码字数比例的Data Matrix码、QR码等普通黑白二色条码不少。在同等纠错码码字含量比例情况下,本文设计的彩色二维条码对汉字编码的最大信息容量是Data Matrix、QR的3倍多,甚至4倍,对字母和数字的容量也多达2倍多,与PDF417的编码容量相比编码容量增加更多。本文设计的彩色二维条码与目前世界上应用最广泛的PDF417、Data Matrix和QR的三大普通的黑白二色二维条码信息容量比较见表6:
表6
数据信息压缩比:数据信息的压缩比,也是衡量条码性能的一个非常重要的指标。数据信息压缩比的高低,体现了条码编码效率的高低,是影响条码数据信息密度高低的一个重要因素。所述的彩色二维条码,对汉字拥有高压缩比,表示一个汉字平均只需要4.4位,比普通的黑白二色的Data Matrix、QR条码提高了近3倍。对字母和数字的压缩比也提高了1倍多。所述的彩色二维条码与Data Matrix、QR码的压缩比比较如表7所示:
表7。
实施例2
参照图5、图6和图7,一种具有高压缩比汉字编码能力的彩色二维条码的编码方法,包括:
(1)、将源数据信息流根据数据信息编码规则编码成六进制的数据位流,并计算数据位流长度,将数据位流长度转化为六位六进制数添加到原数据位流前组成新的数据位流,数据位流长度为k;
(2)、根据数据位流长度k,选择数据区域数据位流长度大于数据位流长度k的最小尺寸的条码,对于不足固定的数据长度部分加入填充字符进行补充;
(3)、将形成新的数据位流按4位组合成一个码字,根据Reed-Solomon纠错算法生成纠错码字,将生成的纠错码字添加到数据码字之后形成总的数据码字;
(4)、将总的数据码字按六进制数转化为对应的码字位流,并用对应的颜色模块进行符号表示和添加相应的功能图像,生成最终的条码图像。
本实施例的彩色二维条码的编码流程示意图如图5所示。
数据信息编码:分析输入数据信息,根据数据信息的类型进行分类,然后选择不同的编码模式,让编码后的数据位流长度尽可能短,本条码默认的编码模式为汉字库编码模式。如果需要编码的字符是汉字,并且属于汉字编码库,则采用汉字库编码模式编码;如果编码的汉字不在汉字编码库中,则采用内码编码模式编码;如果编码的数据是连续的数字,采用数字编码模式编码;如果编码的数据是多个非连续数字的ASCII字符,采用连续ASCII编码模式编码;如果编码的数据是单个ASCII字符,采用单个ASCII编码模式编码。
1、汉字库编码模式
汉字是本发明的条码编码的主要数据信息,对汉字的编码也是本条码研究和设计的重点和特色,汉字库编码模式是本条码的默认编码方式。根据汉字语料的覆盖情况,汉字字种数大于2500,语料的覆盖率超过99.2%,覆盖率非常高,并且字种数一旦超过3500后,语料覆盖率随字种数的增长速度非常缓慢。因此,彩色二维条码的编码汉字库的编码范围设计在2500到3500左右最,此时语料的覆盖率和编码性价比较高,对于剩余一些使用频率较低的非常用汉字我们可以采用内码编码模式进行补充编码。经计算采用五色五模块组成一个码字的编码范围满足条件,编码范围为0至3124,语料的覆盖率大约为99.7%,则对应数据位流每位的值分别为0、1、2、3、4。
汉字编码时采取汉字使用频率高的汉字编码长度尽量短,使用频率低的汉字编码稍长这一原则。首先根据汉字的使用频度高低建立汉字编码库。将汉字按照使用频率从高到低排序,汉字使用频率最高的600个汉字对应编码码值为0至599,然后将使用频率最高的25个常用标点符号对应码值600至624,编码时都将码值转化为对应的四位五进制位流表示;汉字使用频率次高的2500个汉字对应码值625至3124,编码时将码值转化为对应的五位五进制位流表示,并在最高位前面添加数字5,用来区分编码数据位流长度四位和五位的,所以编码数据位流长度为四位的编码模式,我们称为四位汉字编码模式,编码码字为五位的编码模式,我们称为六位汉字编码模式,详细的汉字编码库见表2。
例如对汉字“条码”编码,得到“条”和“码”对应码值分别为:188,1329,然后将码值转化为对应的五进制数并添加指示符为:1223,520304,最后编码的数据位流为1223520304。
2、内码编码模式
内码编码模式是对汉字库编码模式的补充,对于少量没有在汉字编码库中的部分低频汉字的编码采用内码编码模式。在计算机中,内码用双字节表示,范围为8140-FEFE,首字节在81-FE之间,尾字节在40-FE之间。内码编码模式的编码规则:将高字节*162+低字节转化成对应的七位五进制数表示。编码范围为20776至65278,对应的五进制数为1131101至4042103,在编码前加上50作为标记,总共编码长度为九位。在汉字库编码模式中自动进入内码编码模式,模式结束后自动转入默认的汉字库编码模式,其他编码模式要进入内码编码模式,须先转入汉字库编码模式。
例如编码汉字“嗓”,内码值:C9A4,码值十进制数表示为:51620,通过内码编码模式编码成数据位流为503122440。
3、单个ASCII的编码模式
ASCII码表中共128个ASCII码,最大的ASCII码值需要用四位五进制数表示。用每个ASCII码的ASCII码值作为编码的码值,编码范围用五进制数表示为0000至1002。具体的编码规则:将每个ASCII的ASCII码值转化为对应的五进制数,不足四位在最高位前添加0补足四位,然后在编码位流前加入模式指示符50,单个ASCII码编码长度为六位。在汉字库编码模式中自动进入ASCII编码模式,模式结束后自动转入默认的汉字库编码模式,其他编码模式要进入ASCII编码模式,先转入汉字库编码模式。
例如对字符A编码,字符A的ASCII值为65,转化为四位五进制数为0230,最后加入指示符后编码的数据位流为500230。
4、数字编码模式
对于连续多位数字的编码,如果采用单个ASCII编码,编码的效率将非常低,于是设计一种专门针对连续多位数字的编码模式。编码规则:将输入的数据每两位分为一组,将每组数据转换为3位五进制数,不足三位在最高位添0补足。如果输入的数据的个数不是2的倍数,最后一个数字转换为对应2位五进制数,不足2位在最高位添0补足。将所有组成五进制数连接起来位流在前面加入模式指示符515,加入结束模式指示符5。例如输入数据:012345678,编码后数据为515001043140232135。表2为汉字编码库编码表:
码值 | 汉字 | 码值 | 汉字 | 码值 | 汉字 | 码值 | 汉字 | 码值 | 汉字 | 码值 | 汉字 | 码值 | 汉字 | 码值 | 汉字 | 码值 | 汉字 |
0 | 的 | 35 | 民 | 70 | 本 | 105 | 之 | 140 | 起 | 175 | 题 | 210 | 导 | 245 | 步 | 280 | 标 |
1 | 一 | 36 | 来 | 71 | 月 | 106 | 员 | 141 | 海 | 176 | 记 | 211 | 组 | 246 | 物 | 281 | 联 |
2 | 国 | 37 | 我 | 72 | 定 | 107 | 而 | 142 | 所 | 177 | 点 | 212 | 东 | 247 | 界 | 282 | 专 |
3 | 在 | 38 | 部 | 73 | 化 | 108 | 务 | 143 | 立 | 178 | 计 | 213 | 路 | 248 | 集 | 283 | 少 |
4 | 人 | 39 | 对 | 74 | 加 | 109 | 利 | 144 | 已 | 179 | 去 | 214 | 活 | 249 | 把 | 284 | 费 |
5 | 了 | 40 | 进 | 75 | 动 | 110 | 电 | 145 | 通 | 180 | 强 | 215 | 广 | 250 | 持 | 285 | 效 |
6 | 有 | 41 | 多 | 76 | 合 | 111 | 文 | 146 | 入 | 181 | 两 | 216 | 意 | 251 | 无 | 286 | 据 |
7 | 中 | 42 | 全 | 77 | 品 | 112 | 事 | 147 | 量 | 182 | 些 | 217 | 比 | 252 | 但 | 287 | 手 |
8 | 是 | 43 | 建 | 78 | 重 | 113 | 可 | 148 | 子 | 183 | 表 | 218 | 投 | 253 | 城 | 288 | 施 |
9 | 年 | 44 | 他 | 79 | 关 | 114 | 种 | 149 | 问 | 184 | 系 | 219 | 决 | 254 | 相 | 289 | 权 |
10 | 和 | 45 | 公 | 80 | 机 | 115 | 总 | 150 | 度 | 185 | 办 | 220 | 交 | 255 | 书 | 290 | 江 |
11 | 大 | 46 | 开 | 81 | 分 | 116 | 改 | 151 | 北 | 186 | 教 | 221 | 统 | 256 | 村 | 291 | 近 |
12 | 业 | 47 | 们 | 82 | 力 | 117 | 三 | 152 | 保 | 187 | 正 | 222 | 党 | 257 | 求 | 292 | 深 |
13 | 不 | 48 | 场 | 83 | 自 | 118 | 各 | 153 | 心 | 188 | 条 | 223 | 南 | 258 | 治 | 293 | 更 |
14 | 为 | 49 | 展 | 84 | 外 | 119 | 好 | 154 | 还 | 189 | 最 | 224 | 安 | 259 | 取 | 294 | 认 |
15 | 发 | 50 | 时 | 85 | 者 | 120 | 金 | 155 | 科 | 190 | 达 | 225 | 此 | 260 | 原 | 295 | 果 |
16 | 会 | 51 | 理 | 86 | 区 | 121 | 第 | 156 | 委 | 191 | 特 | 226 | 领 | 261 | 处 | 296 | 格 |
17 | 工 | 52 | 新 | 87 | 能 | 122 | 司 | 157 | 都 | 192 | 革 | 227 | 结 | 262 | 府 | 297 | 几 |
18 | 经 | 53 | 方 | 88 | 设 | 123 | 其 | 158 | 术 | 193 | 收 | 228 | 营 | 263 | 研 | 298 | 看 |
19 | 上 | 54 | 主 | 89 | 后 | 124 | 从 | 159 | 使 | 194 | 二 | 229 | 项 | 264 | 质 | 299 | 没 |
20 | 地 | 55 | 企 | 90 | 就 | 125 | 平 | 160 | 明 | 195 | 期 | 230 | 情 | 265 | 信 | 300 | 职 |
21 | 市 | 56 | 资 | 91 | 等 | 126 | 代 | 161 | 着 | 196 | 并 | 231 | 解 | 266 | 四 | 301 | 服 |
22 | 要 | 57 | 实 | 92 | 体 | 127 | 当 | 162 | 次 | 197 | 程 | 232 | 议 | 267 | 运 | 302 | 台 |
23 | 个 | 58 | 学 | 93 | 下 | 128 | 天 | 163 | 将 | 198 | 厂 | 233 | 义 | 268 | 县 | 303 | 式 |
24 | 产 | 59 | 报 | 94 | 万 | 129 | 水 | 164 | 增 | 199 | 如 | 234 | 山 | 269 | 军 | 304 | 益 |
25 | 这 | 60 | 制 | 95 | 元 | 130 | 省 | 165 | 基 | 200 | 道 | 235 | 先 | 270 | 件 | 305 | 想 |
26 | 出 | 61 | 政 | 96 | 社 | 131 | 提 | 166 | 名 | 201 | 际 | 236 | 车 | 271 | 育 | 306 | 数 |
27 | 行 | 62 | 济 | 97 | 过 | 132 | 商 | 167 | 向 | 202 | 及 | 237 | 然 | 272 | 局 | 307 | 单 |
28 | 作 | 63 | 用 | 98 | 前 | 133 | 十 | 168 | 门 | 203 | 西 | 238 | 价 | 273 | 干 | 308 | 样 |
29 | 生 | 64 | 同 | 99 | 面 | 134 | 管 | 169 | 应 | 204 | 口 | 239 | 放 | 274 | 队 | 309 | 只 |
30 | 家 | 65 | 于 | 100 | 农 | 135 | 内 | 170 | 里 | 205 | 京 | 240 | 世 | 275 | 团 | 310 | 被 |
31 | 以 | 66 | 法 | 101 | 也 | 136 | 小 | 171 | 美 | 206 | 华 | 241 | 间 | 276 | 又 | 311 | 亿 |
32 | 成 | 67 | 高 | 102 | 得 | 137 | 技 | 172 | 由 | 207 | 任 | 242 | 因 | 277 | 造 | 312 | 老 |
33 | 到 | 68 | 长 | 103 | 与 | 138 | 位 | 173 | 规 | 208 | 调 | 243 | 共 | 278 | 形 | 313 | 受 |
34 | 日 | 69 | 现 | 104 | 说 | 139 | 目 | 174 | 今 | 209 | 性 | 244 | 院 | 279 | 级 | 314 | 优 |
表2
表2
5、连续ASCII编码方式
将26个大小写字母和3个常用标点符号逗号、句号和空格这55个ASCII码组成连续ASCII编码的字母表,简称集合S,分别对应编码的码值0至54,每个ASCII码对应的码值参见表3所示:
ASCII码 | 码值 | ASCII码 | 码值 | ASCII码 | 码值 | ASCII码 | 码值 |
A | 0 | P | 15 | e | 30 | t | 45 |
B | 1 | Q | 16 | f | 31 | u | 46 |
C | 2 | R | 17 | g | 32 | v | 47 |
D | 3 | S | 18 | h | 33 | w | 48 |
E | 4 | T | 19 | i | 34 | x | 49 |
F | 5 | U | 20 | j | 35 | y | 50 |
G | 6 | V | 21 | k | 36 | z | 51 |
H | 7 | W | 22 | l | 37 | , | 52 |
I | 8 | X | 23 | m | 38 | . | 53 |
J | 9 | Y | 24 | n | 39 | (space) | 54 |
K | 10 | Z | 25 | o | 40 | ||
L | 11 | a | 26 | p | 41 | ||
M | 12 | b | 27 | q | 42 | ||
N | 13 | c | 28 | r | 43 |
O | 14 | d | 29 | s | 44 |
表3
将ASCII码中剩余的不属于集合S的73个ASCII码组成连续ASCII编码的非字母表,简称集合R,分别对应编码的码值为0至72,详细的编码码值参见表4:
ASCII码 | 码值 | ASCII码 | 码值 | ASCII码 | 码值 | ASCII码 | 码值 |
NUT | 0 | DC3 | 19 | 、 | 38 | < | 57 |
SOH | 1 | DC4 | 20 | ( | 39 | = | 58 |
STX | 2 | NAK | 21 | ) | 40 | > | 59 |
ETX | 3 | SYN | 22 | * | 41 | ? | 60 |
EOT | 4 | TB | 23 | + | 42 | @ | 61 |
ENQ | 5 | CAN | 24 | - | 43 | [ | 62 |
ACK | 6 | EM | 25 | / | 44 | \ | 63 |
BEL | 7 | SUB | 26 | 0 | 45 | ] | 64 |
BS | 8 | ESC | 27 | 1 | 46 | ^ | 65 |
HT | 9 | FS | 28 | 2 | 47 | — | 66 |
LF | 10 | GS | 29 | 3 | 48 | ′ | 67 |
VT | 11 | RS | 30 | 4 | 49 | { | 68 |
FF | 12 | US | 31 | 5 | 50 | | | 69 |
CR | 13 | ! | 32 | 6 | 51 | } | 70 |
SO | 14 | ” | 33 | 7 | 52 | ~ | 71 |
SI | 15 | # | 34 | 8 | 53 | del | 72 |
DLE | 16 | $ | 35 | 9 | 54 | ||
DCI | 17 | % | 36 | : | 55 | ||
DC2 | 18 | & | 37 | ; | 56 |
表4
多个连续的ASCII编码规则:如果遇到两个连续字符属于集合S的字符编码,将第一个字符*55+第二个字符,转化成对应的五位五进制数表示,不足五位的在最高位前加0补足五位,移动两个字符继续编码剩余的字符;如果第一个字符属于集合S的字符,但是第二个字符不输入集合S或者为空,将第一个字符用三位五进制数表示,不足三位的最高位前加0补足三位,移动一个字符继续编码剩余的字符;如果在字符编码模式中遇到一个不属于集合S,但是属于集合R的编码,将对应的码值转化为对应的三位五进制数,不足三位的最高位前加0补足三位,并在最高位前加入模式指示符5标识,移动一个字符继续编码剩余的字符。将所有处理后的位流数据按顺序连接起来并在开始处加入模式指示符505,加入结束模式指示符505。
例如输入数据:AcXdj9B?H,h.,编码后为5050010320134120520400152200322324434505。
纠错编码的生成:将数据信息编码成:数据位流,并统计数据位流长度,将其转化为对应的六位五进制数表示,不足六位在最高位添0补足,在原数据位流前添加数据位流长度信息组成新的数据位流。根据彩色二维条码的条码规格属性参见表1,选择数据区域数据码字长度的4倍大于新数据位流长度最小尺寸的条码规格,对于不足条码规格中固定的数据长度4倍的部分,随机生成0至5的数据填充。
彩色二维条码的纠错算法,采用Reed-Solomon纠错算法。RS码是基于有限域理论,因此,确定GF(q)中q和本原元a是RS码编码的关键。在GF(q)中q是质数,并且q必须满足两个条件:
(1)q必须大于或等于最大的编码值,最大的编码值是按照数据信息编码规则,将n位长度数据位流组合并按六进制数转化的最大码值,否则GF(q)不能组成一个循环群。
(2)q又必须小于或等于n位六进制数,否则q转化为六进制数将超过n位,将导致码字组合混乱。
经计算,当n=4,根据编码规则最大四位编码位流为5544,则最大的编码码值为1288,最大的四位六进制为1295,存在质数1291满足上述两条件,因此,q取值为1291,经计算GF(1291)的本原元a为2,彩色二维条码每四位结合在一起组成一个码字,把整个数据位流转化为对应的码字流。
彩色二维条码添加纠错码之前,首先是根据彩色二维条码的规格属性表1选定条码尺寸。选定条码尺寸的最优原则是选定大于或者等于数据信息编码个数的最小条码尺寸,如果实际数据信息编码的个数小于表格中规定的数据信息编码个数,不足的码字数按照编码方法提到的在相应位置处添加填充码字填满。
彩色二维条码的纠错码生成算法采用Reed-Solomon纠错码的生成算法。由于彩色二维条码使用RS码的伽罗华域为GF(1291),即多项式阶数不能高于1291,因此,当码字流码字个数不超过1291的彩色二维条码二维条码(尺寸小于77×77),可直接使用的Reed-Solomon算法计算纠错码字,当码字流中码字个数超过时,彩色二维条码就要进行分块。这里采用与Data Matrix交叉分块的方法。首先将数据码字流分成若干不重复的块,每一块都是从数据码字流中等间隔抽取的子序列,间隔数即为分块数。分别计算每一块数据码字子序列对应的纠错码字子序列,在将得到的纠错码字子序列按照与数据码字子序列抽取时一样的顺序连接成完整的纠错码字流,并置于数据码字流之后组成码字流。比如尺寸大小为127×127的彩色二维条码,从表1中可知其数据码字和纠错码字数目分别为2576和1024,其交叉分块数目为4,即应该将数据码字流分成4个子序列分别计算纠错码字子序列。详细的分块方式以及纠错码字产生见表5,假设数据码字流为c1,c2,...,c2576,待产生的纠错码字流为e1,e2,...,e1024。每一个尺寸的条码的交叉分块数可参见表1。采用交叉分块的算法,主要是考虑到条码图像某部分出现不可识别时,把出错的码字尽量平摊到每块纠错序列,如果出错的部分全部集中在一块纠错序列中,这样有可能引起该块无法正确纠错,从而导致整个条码无法识别。
交叉分块 | 数据码字子序列 | 相应的纠错码字子序列 |
1 | c1,c5,c9,...,c2569,c2573 | e1,e5,e9,...,e1017,e1021 |
2 | c2,c6,c10,...,c2570,c2574 | e2,e6,e10,...,e1018,e1022 |
3 | c3,c7,c11,...,c2571,c2575 | e3,e7,e11,...,e1019,e1023 |
4 | c4,c8,c12,...,c2572,c2576 | e4,e8,e12,...,e1020,e1024 |
表5
将数据信息和纠错码信息按位转化为对应的条码信息,图像排列的方式可见条码图像结构。
实施例3
参照图8和图9,一种具有高压缩比汉字编码能力的彩色二维条码的解码方法,包括:
(1)、在将图像进行预处理,将图像红、绿、蓝三通道分别二值化处理;
(2)、根据条码图像的功能图像在红、绿、蓝色三通道任意一个通道或者结合任意两种颜色通道的特征进行条码区域定位和条码图像的校正;如果条码图像发生偏色现象,能够根据功能图像不同光学特征的交替颜色模块进行偏色校正;
(3)、根据条码图像的功能图像,将整个条码图像的数据图像进行码字分割,将分割的图像信息转化为对应的码字;
(4)、利用Reed-Solomon纠错算法进行检测校正码字错误;
(5)、根据条码规格,删除对应的纠错码字,依照不同的编码模式,将数据码字信息转化为对应数据信息。
本实施例的彩色二维条码的解码过程为:
彩色二维条码的解码流程是其生成过程的逆过程,二维条码解码是条码领域研究的一个重点和热门。彩色二维条码的译码流程跟普通的黑白二色二维条码译码的流程大体相同,主要差别在于彩色二维条码增加了颜色信息,在图像定位和校正前,需要先进行通道分离,详细的流程图见图8。
彩色二维条码的译码流程中图像预处理与普通黑白二色二维条码的方法相同,主要是对图像进行二值化处理,与普通黑白二色二维条码的主要区别是RGB三通道分割,然后利用三通道下的三张不同图片的功能图像来实现条码图像定位和校正,在这方面甚至优越于普通的黑白二色二维条码。图1在红、绿、蓝色三通道下的图像分别为图7中三图像。彩色二维条码图像在蓝色通道下,条码的四边都是黑色的实线模块组成,这能有利于简单和快捷地实现整个条码图像地定位;在红色通道下的功能图像,与Data Matrix条码图像的功能图像非常相似,Data Matrix的所有条码图像定位和校正的方法都可以应用于彩色二维条码图像定位和校正;绿色通道下的交替模块的边界也可以利用在码字的分割时确定模块的大小。在三个通道下实现的图像的定位和校正的方法和操作都可以移植到整个彩色二维条码图像中。这样就意味着彩色二维条码图像比普通的黑白二色二维条码拥有更多的功能图像,可以根据译码需要综合利用三个通道下的功能图像。普通黑白二维二维条码的图像定位和校正的算法都可以用在彩色二维条码中。彩色二维条码的码字分割,主要是是涉及到彩色图像的分割,彩色图像的分割研究也逐渐趋于成熟。
彩色二维条码纠错码的译码算法,采用Reed-Solomon译码算法进行译码。通过RS码检测和校正后,根据不同条码规格纠错码字固定,删除纠错码字,将每个码字转化为对应的四位六进制数组成信息位流,如果位数不够在最高位添0补足四位,将所有的码字组成字符序列。根据前六位六进制数表示字符的个数,删除填充符,得到数据位流。根据不同编码模式具有不同的模式指示符,每种模式内的译码方法则是编码方法的逆过程,数据位流译码成数据信息流程图如图9所示。
Claims (6)
1、一种具有高压缩比汉字编码能力的彩色二维条码,其特征在于:所述彩色二维条码的整个条码图像由规则排列的矩形模块组成,整个条码图像包括功能图像和数据区域,所述功能图像为彩色二维条码的四边,其中,左边是由不同光学特征的两种颜色色块交替组成,下边为单一颜色色块组成,上边和右边分别按从左到右、从下到上的顺序由不同光学特征的四色模块交替组成;所述数据区域为正方形的中间部分,所述数据区域是由两条互相垂直的不同光学特征的两种颜色模块交替组成;
所述数据区域内的码字排列按照从左到右、从上到下的顺序排列。
2、如权利要求1所述的具有高压缩比汉字编码能力的彩色二维条码,其特征在于:所述数据区域为四个、十六个或者三十二个,每个数据区域按照从左到右、从上到下的顺序排列;在功能图像中,当遇到数据区域交界处,又重新按所述不同光学特征的四色模块交替表示。
3、如权利要求1或2所述的具有高压缩比汉字编码能力的彩色二维条码,其特征在于:所述的矩形为正方形。
4、一种如权利要求1所述的具有高压缩比汉字编码能力的彩色二维条码的编码方法,其特征在于:所述编码方法包括:
(1)、将源数据信息流根据数据信息编码规则编码成六进制的数据位流,并计算数据位流长度,将数据位流长度转化为六位六进制数添加到原数据位流前组成新的数据位流,数据位流长度为k;
(2)、根据数据位流长度k,选择数据区域数据位流长度大于数据位流长度k的最小尺寸的条码,对于不足固定的数据长度部分加入填充字符进行补充;
(3)、将形成新的数据位流按4位组合成一个码字,根据Reed-Solomon纠错算法生成纠错码字,将生成的纠错码字添加到数据码字之后形成总的数据码字;
(4)、将总的数据码字按六进制数转化为对应的码字位流,并用对应的颜色模块进行符号表示和添加相应的功能图像,生成最终的条码图像。
5、如权利要求4所述的编码方法,其特征在于:根据数据信息的类型选择不同的编码模式,默认编码模式为汉字库编码模式,进入其他模式需加入模式指示符或标示符;
数据信息的编码模式共分为汉字库编码模式、内码编码模式、单个ASCII编码模式,数字编码模式和连续ASCII编码模式;其中,
汉字库编码模式:将常用汉字按使用频率从高到低的顺序排列,建立汉字编码库,采取使用汉字频率与编码长度成反比的编码规则;汉字使用频率最高的x个汉字和y个常用标点符号,编码时都将码值转化为对应的b位u进制位流表示;将汉字使用频率次高的z个汉字将码值转化为对应的c位u进制位流表示,并在最高位前面添加数字u,用来区分编码数据位流长度为b和c的,其中x,y,z为大于1的正整数,u,b,c为大于1的正整数,u为Ncol-1,且b小于c,且x+y≤ub,且z+x+y≤uc;
汉字内码编码模式:将高字节*162+低字节转化成对应的d位u进制数表示,并在编码前加上对应的模式标示符作为标记,其中u,d为大于1的正整数,u为Ncol-1,且d位u进制数能表示所有内码;在汉字库编码模式中自动进入汉字内码编码模式,模式结束后自动转入汉字库编码模式,其他编码模式要进入内码编码模式,先转入汉字库编码模式;
单个ASCII编码模式:将每个ASCII的ASCII码值转化为对应的u进制数,不足f位在最高位前添加0补足f位,然后在编码位流前加入模式指示符;其中,u,f为大于1的正整数,u为Ncol-1,且要求f位u进制数能表示所有ASCII码值;在汉字库编码模式中自动进入ASCII编码模式,模式结束后自动转入默认的汉字库编码模式,其他编码模式要进入ASCII编码模式,先转入汉字库编码模式;
数字编码模式:将输入的数字按两位分为一组,将每组数据转换为3位五进制数,不足三位在最高位添0补足。如果输入的数据的个数不是2的倍数,最后一个数字转换为对应2位五进制数,不足2位在最高位添0补足;将所有组成五进制数连接起来位流在前面加入对应的开始模式指示符和加入结束模式;
多个连续的ASCII编码规则:将26个大小写字母和3个常用标点符号逗号、句号和空格这55个ASCII码组成连续ASCII编码的字母表,简称集合S;将ASCII码中剩余的不属于集合S的73个ASCII码组成连续ASCII编码的非字母表,简称集合R;如果遇到两个连续字符属于集合S的字符编码,将第一个字符*55+第二个字符,转化成对应的五位五进制数表示,不足五位的在最高位前加0补足五位,移动两个字符继续编码剩余的字符;如果第一个字符属于集合S的字符,但是第二个字符不属于集合S或者为空,将第一个字符用三位五进制数表示,不足三位的最高位前加0补足三位,移动一个字符继续编码剩余的字符;如果在字符编码模式中遇到一个不属于集合S,但是属于集合R的编码,将对应的码值转化为对应的三位五进制数,不足三位的最高位前加0补足三位,并在最高位前加入模式指示符5标识,移动一个字符继续编码剩余的字符;将所有处理后的位流数据按顺序连接起来并在开始处加入模式开始指示符和模式结束指示符505;
对于汉字的编码首选汉字库编码模式,编码汉字属于汉字编码库,则采用汉字库编码模式编码;若编码的汉字不在汉字编码库中,则采用内码编码模式编码;若编码的数据是连续的数字,则采用数字编码模式编码;若编码的数据是多个非连续数字的ASCII字符,则采用连续ASCII编码模式编码;若编码的数据是单个ASCII字符,则采用单个ASCII编码模式编码。
6、一种如权利要求1所述的具有高压缩比汉字编码能力的彩色二维条码的解码方法,其特征在于:所述解码方法包括:
(1)、在将图像进行预处理,将图像红、绿、蓝三通道分别二值化处理;
(2)、根据条码图像的功能图像在红、绿、蓝色三通道任意一个通道或者结合任意两种颜色通道的特征进行条码区域定位和条码图像的校正;如果条码图像发生偏色现象,能够根据功能图像不同光学特征的交替颜色模块进行偏色校正;
(3)、根据条码图像的功能图像,将整个条码图像的数据图像进行码字分割,将分割的图像信息转化为对应的码字;
(4)、利用Reed-Solomon纠错算法进行检测校正码字错误;
(5)、根据条码规格,删除对应的纠错码字,依照不同的编码模式,将数据码字信息转化为对应数据信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100970651A CN101515335B (zh) | 2009-03-30 | 2009-03-30 | 具有高压缩比汉字编码能力的彩色二维条码的编码、解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100970651A CN101515335B (zh) | 2009-03-30 | 2009-03-30 | 具有高压缩比汉字编码能力的彩色二维条码的编码、解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101515335A true CN101515335A (zh) | 2009-08-26 |
CN101515335B CN101515335B (zh) | 2011-11-09 |
Family
ID=41039783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100970651A Expired - Fee Related CN101515335B (zh) | 2009-03-30 | 2009-03-30 | 具有高压缩比汉字编码能力的彩色二维条码的编码、解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101515335B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996336A (zh) * | 2010-11-09 | 2011-03-30 | 中国电信股份有限公司 | 二维条码生成、解码方法及其设备 |
CN102591737A (zh) * | 2011-01-13 | 2012-07-18 | 群联电子股份有限公司 | 数据写入与读取方法、存储器控制器与存储器储存装置 |
CN102842084A (zh) * | 2011-03-30 | 2012-12-26 | 赛乐得公司 | 使用不支持的交易标识符类型来促进交易 |
CN102999773A (zh) * | 2012-12-04 | 2013-03-27 | 申可佳 | 一种彩色格点码图及其三维条码编码方法 |
CN103632179A (zh) * | 2012-08-22 | 2014-03-12 | 上海育郡信息科技有限公司 | 三维条码的编码和解码方法及装置 |
US8702011B2 (en) | 2012-08-10 | 2014-04-22 | Industrial Technology Research Institute | Barcode structure and barcode encoding method |
CN104091189A (zh) * | 2014-05-07 | 2014-10-08 | 范京龙 | 微窗彩色二维码的编码和解码方法 |
TWI482096B (zh) * | 2013-01-07 | 2015-04-21 | Dinkle Entpr Co Ltd | 光學資訊記錄方法、光學資訊記錄裝置、光學資訊記錄載體與其讀取裝置 |
CN108664837A (zh) * | 2018-05-11 | 2018-10-16 | 李峰 | 三维码生产集成系统 |
CN109063807A (zh) * | 2018-09-10 | 2018-12-21 | 上海祥羽投资咨询有限公司 | 一种三维码的生成、读取和识别方法 |
CN110188854A (zh) * | 2018-02-23 | 2019-08-30 | 原相科技股份有限公司 | 彩色条码、码判断方法以及码判断系统 |
US10621688B2 (en) | 2015-01-30 | 2020-04-14 | Hewlett-Packard Development Company, L.P. | M-ary cyclic coding |
CN111814790A (zh) * | 2020-07-16 | 2020-10-23 | 上海埃威航空电子有限公司 | 养殖网箱自动识别的二维图像标识方法 |
CN112258375A (zh) * | 2020-10-20 | 2021-01-22 | 北京石油化工学院 | 一种将特定文本信息填充到关联图像边界的方法及系统 |
-
2009
- 2009-03-30 CN CN2009100970651A patent/CN101515335B/zh not_active Expired - Fee Related
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996336B (zh) * | 2010-11-09 | 2013-03-13 | 中国电信股份有限公司 | 二维条码生成、解码方法及其设备 |
CN101996336A (zh) * | 2010-11-09 | 2011-03-30 | 中国电信股份有限公司 | 二维条码生成、解码方法及其设备 |
CN102591737B (zh) * | 2011-01-13 | 2015-04-22 | 群联电子股份有限公司 | 数据写入与读取方法、存储器控制器与存储器储存装置 |
CN102591737A (zh) * | 2011-01-13 | 2012-07-18 | 群联电子股份有限公司 | 数据写入与读取方法、存储器控制器与存储器储存装置 |
CN102842084A (zh) * | 2011-03-30 | 2012-12-26 | 赛乐得公司 | 使用不支持的交易标识符类型来促进交易 |
US8702011B2 (en) | 2012-08-10 | 2014-04-22 | Industrial Technology Research Institute | Barcode structure and barcode encoding method |
CN103632179B (zh) * | 2012-08-22 | 2016-05-04 | 上海育郡信息科技有限公司 | 三维条码的编码和解码方法及装置 |
CN103632179A (zh) * | 2012-08-22 | 2014-03-12 | 上海育郡信息科技有限公司 | 三维条码的编码和解码方法及装置 |
CN102999773B (zh) * | 2012-12-04 | 2013-11-06 | 申可佳 | 一种彩色格点码图及其三维条码编码方法 |
CN102999773A (zh) * | 2012-12-04 | 2013-03-27 | 申可佳 | 一种彩色格点码图及其三维条码编码方法 |
TWI482096B (zh) * | 2013-01-07 | 2015-04-21 | Dinkle Entpr Co Ltd | 光學資訊記錄方法、光學資訊記錄裝置、光學資訊記錄載體與其讀取裝置 |
CN104091189A (zh) * | 2014-05-07 | 2014-10-08 | 范京龙 | 微窗彩色二维码的编码和解码方法 |
US10891704B2 (en) | 2015-01-30 | 2021-01-12 | Hewlett-Packard Development Company, L.P. | M-ary cyclic coding |
US10621688B2 (en) | 2015-01-30 | 2020-04-14 | Hewlett-Packard Development Company, L.P. | M-ary cyclic coding |
CN110188854B (zh) * | 2018-02-23 | 2022-04-26 | 原相科技股份有限公司 | 彩色条码、码判断方法以及码判断系统 |
CN110188854A (zh) * | 2018-02-23 | 2019-08-30 | 原相科技股份有限公司 | 彩色条码、码判断方法以及码判断系统 |
CN108664837A (zh) * | 2018-05-11 | 2018-10-16 | 李峰 | 三维码生产集成系统 |
CN108664837B (zh) * | 2018-05-11 | 2021-05-04 | 李峰 | 三维码生产集成系统 |
CN109063807A (zh) * | 2018-09-10 | 2018-12-21 | 上海祥羽投资咨询有限公司 | 一种三维码的生成、读取和识别方法 |
CN111814790A (zh) * | 2020-07-16 | 2020-10-23 | 上海埃威航空电子有限公司 | 养殖网箱自动识别的二维图像标识方法 |
CN111814790B (zh) * | 2020-07-16 | 2024-03-29 | 上海埃威航空电子有限公司 | 养殖网箱自动识别的二维图像标识方法 |
CN112258375A (zh) * | 2020-10-20 | 2021-01-22 | 北京石油化工学院 | 一种将特定文本信息填充到关联图像边界的方法及系统 |
CN112258375B (zh) * | 2020-10-20 | 2023-09-01 | 北京石油化工学院 | 一种将特定文本信息填充到关联图像边界的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101515335B (zh) | 2011-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101515335A (zh) | 具有高压缩比汉字编码能力的彩色二维条码及其编码、解码方法 | |
CN104143109B (zh) | 一种二维码的编码和解码方法及其印刷物 | |
CN102592160B (zh) | 一种面向短信的字符二维码编码方法和解码方法 | |
CN105574572B (zh) | 一种彩色二维码的生成方法 | |
CN102999773B (zh) | 一种彩色格点码图及其三维条码编码方法 | |
CN104657698B (zh) | 一种可承载多幅黑白二维码的彩色二维码编解码方法 | |
CN104899630A (zh) | 彩色qr码的编/解码方法 | |
CN104376356A (zh) | 一种带有加密功能的二维码生成方法 | |
CN101996336B (zh) | 二维条码生成、解码方法及其设备 | |
CN107563475A (zh) | 一种二维码的编码方法和装置 | |
CN102982724A (zh) | 一种基于织物组织的防伪方法 | |
CN103577861B (zh) | 条形码的结构以及条形码的编码方法 | |
CN101493901A (zh) | 一种二维码数据压缩、解压缩方法及终端 | |
Abas et al. | Increasing data storage of coloured QR code using compress, multiplexing and multilayered technique | |
CN103927572A (zh) | 编码图块及通过编码图块以形成点阵图形的方法与装置 | |
US20240086670A1 (en) | Methods for constructing, generating, and reading dot-matrix code, dot-matrix code generating and reading terminals, and dot-matrix code system | |
CN105046306A (zh) | 一种包含多种生物特征信息的彩色多维码编码方法 | |
CN102279934A (zh) | 二维码的编码方法 | |
CN108734048A (zh) | 基于专有码的多维度二维码生成与译码方法 | |
CN100504912C (zh) | 二维条码符号的生成方法 | |
CN109214488B (zh) | 一种基于图形编码数据进行信息传递的方法及系统 | |
CN111209991A (zh) | 一种环形码及其设计方法 | |
Feng et al. | Design and realization of 2D color barcode with high compression ratio | |
CN106485305A (zh) | 一种彩色二维码的实现方法 | |
CN110569946A (zh) | 一种适用于喷码机的qr码生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111109 Termination date: 20180330 |
|
CF01 | Termination of patent right due to non-payment of annual fee |