具有纠错功能的字符编码方法、字符解码方法及其产品的制作方法
【技术领域】
[0001] 本发明涉及一种具有纠错功能的字符编码方法、字符解码方法,同时还涉及采用 上述字符编码方法的产品。
【背景技术】
[0002] 随着计算机技术的发展,计算机的处理速度得到大幅提升,计算机视觉识别技术 (简称为OCR)也得到快速发展。这些技术广泛应用于各种自动化生产线,大幅提高生产效 率,降低人工成本。
[0003] 目前很多企业出于内部管理和窜货管理等需求,在产品上设置有特定的字符编 码。为了确保这些字符编码的有效性,企业通常需要在产品出厂前使用OCR技术来读取这 些字符编码。
[0004] 虽然目前的OCR技术已经比较成熟,准确率能达到90%以上。打印效果较好的, 识别率更能达到98%以上。但是OCR技术本身存在误读的可能,并且在OCR识别之后无法 判别是否误读。例如,当把字符编码中的数字8识读为字母B时,识别系统无法区分是否读 错。对于现有的仅包含数据字符的字符编码,由于OCR技术误读的存在,使得上述应用系统 存在瑕疵,对一些精度要求很高的系统,甚至根本不可能使用这样的字符编码作为标记进 行生产。
【发明内容】
[0005] 本发明所要解决的首要技术问题在于提供一种具有纠错功能的字符编码方法。
[0006] 本发明所要解决的另一技术问题在于提供一种具有纠错功能的字符解码方法。
[0007] 本发明所要解决的又一技术问题在于提供一种采用上述字符编码方法的产品。
[0008] 为了实现上述发明目的,本发明采用下述技术方案:
[0009] -种具有纠错功能的字符编码方法,其中字符编码由数据字符和纠错字符组成, 包括如下步骤:
[0010] (1)根据字符编码表生成一组数据字符;
[0011] (2)根据预先设置的纠错率,使用纠错算法生成与所述数据字符对应的纠错字 符;
[0012] (3)由数据字符和对应的纠错字符组成具有纠错功能的字符编码。
[0013] 其中较优地,在所述步骤(1)中所使用的字符编码表,包括多个数字和多个字母, 并且,不同的数字和不同的字母代表不同的数值。
[0014] 其中较优地,所述字符编码表中不包括形状与任一数字形状接近的字母。
[0015] 其中较优地,在所述步骤(2)中,所使用的纠错算法为ReedSolomon算法。
[0016] 其中较优地,所述数据字符的长度为N,所需纠错的字符个数为T,则字符编码的 长度为N+2T,2T为纠错字符的个数;所述字符编码所对应的纠错率为IV(N+2T)。
[0017] 其中较优地,所述字符编码由数字和/或字母组成。
[0018] -种具有纠错功能的字符解码方法,其中字符编码由数据字符和纠错字符组成, 包括如下步骤:
[0019] (1)获取字符编码的图像,并识别出每个字符所对应的数字或字母;
[0020] (2)依据纠错率和纠错算法,将识别出的整组字符划分为数据字符和纠错字符;
[0021] (3)使用对应的纠错算法对所述字符编码进行纠错处理;如果纠错成功,则删除 纠错字符后输出数据字符;如果纠错失败,则剔除整组数据字符编码。
[0022] 其中较优地,在所述步骤(2)和所述步骤(3)中使用的纠错算法为ReedSolomon 算法。
[0023] 其中较优地,在所述步骤(2)中,根据纠错率I7(N+2T)和所述字符编码的长度 (N+2T)计算出数据字符的长度N和纠错字符的长度2T,然后进行划分;其中,T为所需纠错 的字符个数。
[0024] 一种设置有字符编码的产品,所述字符编码由数据字符和纠错字符组成,并通过 上述编码方法获得。
[0025] 其中较优地,所述产品是瓶盖,所述字符编码设置在所述瓶盖的顶面,设置在不同 瓶盖上的所述字符编码不同。
[0026] 其中较优地,在所述瓶盖的里面设置有二维码,每个瓶盖上设置的二维码不同,所 述二维码与所述字符编码在数据库中关联。
[0027] 本发明所提供的字符编码方法和字符解码方法,用于对具有纠错功能的字符编码 进行编码和解码。这种具有纠错功能的字符编码由数据字符和其所对应的纠错字符组成。 使用这种字符编码对产品进行标记,可以有效解决现有技术中仅包括数据字符的字符编码 容易误读的问题。通过纠错算法对字符编码进行纠错处理,可判断字符编码的识别是否存 在错误,并纠正错误字符个数少于或等于纠错率所对应的纠错字符个数的字符编码;而对 于纠错失败的字符编码,虽然由于错误字符个数超过纠错率所对应的纠错字符个数,字符 编码中的错误字符不能被完全纠正,但是也能通过纠错算法判别此字符编码的识别存在错 误,从而保证100%被剔除。因此,使用这种字符编码,可以保证只有正确识别的数据字符才 能存入系统,识别不正确的数据字符100%被剔除处理,系统中不存在误读数据。
【附图说明】
[0028] 图1是本发明所提供的字符编码的一个示例;
[0029] 图2是本发明所提供的字符编码的编码过程流程图;
[0030] 图3是本发明所提供的字符编码的解码过程流程图;
[0031] 图4是一种设置有字符编码的瓶盖的正视结构不意图;
[0032] 图5是图4所示瓶盖的后视结构示意图。
【具体实施方式】
[0033] 下面结合附图和具体实施例对本发明的技术内容进行进一步的详细说明。
[0034] 本发明所提供的字符编码方法和字符解码方法,用于对具有纠错功能的字符编码 进行编码和解码。如图1所示,这种具有纠错功能的字符编码由数据字符和其所对应的纠 错字符组成。在解码过程中,通过对整个字符编码进行纠错处理,可以判断字符编码的纠错 是否成功,从而保证只有正确解码的数据字符才能进入数据库中,而纠错失败的数据(即 识别错误并且不能纠错的数据)被100%剔除。
[0035] 下面,首先对本发明所提供的字符编码的编码原理进行介绍。本发明的编码原 理如下:具有纠错功能的字符编码由数据字符和纠错字符两部分组成。假设使用Reed Solomon算法进行纠错处理,数据字符的个数为N,所需要纠错的字符个数为T,则字符编码 的长度为N+2T,2T为纠错字符的个数,其所对应的纠错率为I7(N+2T)。例如,在如图1所 示的字符编码中,假设8个数据字符中能纠正2个错误字符,则实际的字符编码的长度是 8+2X2 = 12,也就是说一个12位的字符编码,其有效数据字符的长度是8,纠错字符的长 度是4,能纠错的字符个数是2,纠错率为2/12 = 16%。由于OCR的识别率能达到90%,加 上16%的纠错率,则系统基本能保证96%的正确识别率。而最重要的是,当使用这种具有 纠错功能的字符编码时,可以100%发现误读。同理,当使用其他长度的数据字符和纠错字 符组成字符编码时,虽然纠错率和正确识别率不同,但同样可以100%发现误读。
[0036] 纠错字符是使用纠错算法对数据字符处理后获得的数据。根据实际的需要可以调 整需要纠错的字符个数,如调整为可纠错1个字符或3个字符,则纠错字符的长度也相应调 整为2或6。
[0037] 本发明中可以采用任意一种纠错算法作为本字符编
码的纠错算法。例如使用常用 的ReedSolomon算法进行错误检查和纠错。关于Reed-Solomon算法的具体介绍,可以参 阅周专、王锐撰写的论文《Reed-Solomon编解码原理与FPGA实现》(刊载于《航空电子技 术》2009年第2期),在此就不具体赘述了。当然,根据需要也可以选择其他纠错算法。
[0038] 本发明所提供的具有纠错功能的字符编码可以由纯字母或纯数字组成,也可以由 数字和字母组合而成。字符编码的长度根据需要可以自由定义,一般是8个以上。
[0039] 下面以表一所示的字符编码表为例,对本发明所提供的字符编码方法和字符解码 方法进行介绍。
[0040] 表一所示的字符编码表由10个数字和22个大写字母组成,共包括32个字符,每 个字符对应一个5位的二进制数。当字符编码包括12个字符时,其所对应的二进制编码长 度为60位。为了减少解码过程中的误读,在表一所示的字符编码表中,不使用与易读错数 字8、1、0形状近似的字母B、I、0、Q。当去除上述四个字母后,32个字符的形状区别较大, OCR设备容易识别,减少出错率。
[0041]
[0042] 表一字符编码表
[0043] 使用上述字符编码表生成具有8个字符的数据字符时,实际的数据最大值是32° =1099511627776,如果数据长度不够可以把字符加长到9、10等,更长的数据长度意味着 纠错率的降低,例如,数据长度为16,纠错数据为4,则其纠错率为2/20 = 10%。
[0044] 表一是一个对应于32个值的字符编码表,实际使用中,根据需要也可以选用仅由 数字、仅有字母或者由部分数字和部分字母组成的对应于多个值的其他字符编码表。例如 可以使用常见的16进制数值进行编码。
[0045] 如图2所示,本发明提供的具有纠错功能的字符编码方法,包括如下步骤:⑴设 定纠错字符生成装置的纠错率;即设定可纠错的字符个数,如设定纠错1个字符;(2)根据 字符编码表生成一组数据字符;字符编码表可根据需要任意选用(3)根据设置的纠错率, 纠错字符生成装置使用纠错算法生成与数据字符对应的纠错字符;当使用ReedSolomon 算法进行处理,生成的纠错字符的个数是设置纠错字符个数的2倍;(4)由步骤(2)生成的 数据字符和步骤(3)生成的纠错字符组成具有纠错功能的字符编码。然后可以将字符编码 设置在产品上,用于对产品进行标记,字符编码可以分一行或多行设置在产品上。
[0046] 当在步骤(1)中设置的纠错率为1个字符时,使用ReedSolomon算法进行纠错, 假设数据字符的长度为N,则纠错率为1AN+2X1)。此时在解码过程中,如果存在一个字符 读错,则能被纠正过来,如果存在2个字符读错,则只能判断此数据字符存在错误,不能被 纠正。在纠错个数一定的情况下,数据字符的个数越多,纠错率越低。
[0047] 以图1所示的字符编码为例,假设利用表一所示的字符编码表生成数据字符 ACDE1234 ;设置需要纠错的字符个数为2 ;使用纠错字符生成装置利用纠错算法生成与数 据字符对应的4个纠错字符,例如EGH2(此为示例,实际的纠错值需要根据具体的纠错 算法获得);将数据字符和纠错字符组合在一起,即可形成具有纠错功能的字符编码,如 ACDE1234EGH2。
[0048] 如图3所示,本发明所提供的具有纠错功能的字符解码方法,用于对上述编码方 法生成的字符编码进行解码;包括如下步骤:(1)获取字符编码的图像,并识别出每个字符 所对应的数字或字母;(2)依据纠错率和纠错算法,将识别出的整组字符划分为数据字符 和纠错字符;(3)纠错解码装置使用对应的纠错算法对字符编码进行纠错处理;如果纠错 成功,则输出数据字符;如果纠错失败,则剔除整组数据字符编码。
[0049] 具体来说,在步骤(1)中,可以利用OCR设备读取具有纠错功能的字符编码;使 用OCR设备进行读取,识别率可达90%以上。在步骤(2)中,如果在编码过程中使用Reed Solomon算法进行处理,则可以首先根据纠错率I7(N+2T)和字符编码的长度(N+2T)计算出 数据字符的长度N和纠错字符的长度2T,然后进行字符划分;其中,T为所需纠错的字符个 数。当使用其他纠错算法时,同样可以首先根据纠错算法、纠错率和字符编码的长度计算出 数据字符的长度和纠错字符的长度,然后进行字符划分。
[0050] 在上述步骤(3)中使用的纠错解码装置是输入字符编码后能判别错误和纠正错 误的装置,当错误字符的个数少于或等于设定的纠错字符个数时,读错的字符可以被纠正, 纠错成功;否则只能发现识别错误而无法纠正错误字符,纠错失败。在步骤(3)中,纠错解 码装置所用的纠错算法应与生成字符编码所用的纠错算法一致。
[0051] 由于本发明所提供的字符编码普遍设置在产品上使用,因此,在步骤(3)中,剔除 整组数据字符编码的过程,也可以理解为剔除设置有该数据字符编码的产品的过程。在这 种情况下,在步骤(3)中使用的剔除装置是指剔除不合格产品的装置。当然,在数据库中也 不保存该纠错失败的数据字符。
[0052] 此外,在步骤(3)中,在纠错解码装置使用对应的纠错算法对字符编码进行纠错 的过程中,还可以包括使用字符编码表将字符数据和纠错数据换算成对应数值的过程;然 后进行纠错运算。
[0053] 需要说明的是,上述的纠错字符生成装置、纠错解码装置和剔除设置等可以由FPGA或固件实现,也可以由运行在通用微处理器中的专用软件程序实现。其具体的实现方 式是本领域普通技术人员都能掌握的常规技术手段,在此就不具体说明了。
[0054] 下面以图4和图5所示的瓶盖为例,对设置有具有纠错功能的字符编码的产品进 行介绍。同时以该瓶盖为例,对生产该瓶盖的生产系统进行介绍。
[0055] 为了防止窜货,现在许多产品上都设置有包含数据字符的字符编码,在企业生产 产品时,通过喷码机、激光机等设备把具有防窜货功能的字符编码设置在产品上。然后,在 产品出厂前,使用OCR技术识别并将识别的字符编码存入数据库中,供后续的信息查询。由 于OCR技术的局限性,OCR设备读取字符编码时,可能存在字符不能读取和误读的情况。其 中,当字符不能读取即不能识别时,可以直接对产品做剔除处理;但是,对于误读则无法判 另IJ,例如当把B误读为8时,OCR技术无法判别误读是否发生。而且,在销售过程中,也容易 出现误读的情况;现有技术中,对于误读通常的方法是把读取的数据与数据库做比较,但是 由于数据量大、查询速度慢等原因,实际应用中很难操作。
[0056] 为此,本发明提供了这种设置有上述字符编码的产品,其中,字符编码由数据字符 和其所对应的纠错字符组成。如上述编码方法所述,当输入数据字符后,纠错字符生成装置 根据纠错率和纠错算法生成纠错字符。然后由数据字符和纠错字符组成字符编码,并将之 设置在产品上。不同的产品上设置的字符编码的对应值不同,可作为产品编码使用,用于在 生产和销售过程中进行窜货查询。
[0057] 此外,随着智能手机的普及,二维码识别软件成为手机的必备软件,大量的手机应 用含有二维码识别功能。企业为了吸引用户消费产品,在很多产品上设置有积分抽奖二维 码,为了防止用户在购买前扫描二维码,积分抽奖二维码通常隐藏在产品包装里,只有购买 后通过破坏包装才能获得二维码。因此,在数据库中
需要将字符编码与二维码关联,从而厂 商可以通过读取设置在产品上的字符编码,判断对应的二维码的去向。通过在后台数据库 中对参加活动的二维码的属性等进行设置,可以保证产品营销活动的正常进行。
[0058] 上述这种设置有具有纠错功能的字符编码和二维码的产品及生产系统,尤其适合 在各种瓶盖如皇冠盖等使用。在出厂前,通过视觉识别设备对设置在瓶盖上的二维码和字 符编码进行识别并将两者关联存储于后台数据库中,可以保证瓶盖的正常销售。
[0059] 具体来说,如图4和图5所示的皇冠盖,包括盖体11。在盖体11的里侧向下依次 设置有二维码14、胶层和食用密封胶垫15。食用密封胶垫15设置于二维码14和胶层的表 面。食用密封胶垫15采用食用硅胶材质,通过设置食用密封胶垫15可以使二维码14与瓶 内液体隔绝,避免液体溶解并破坏二维码14,同时避免二维码14对瓶内液体造成污染。
[0060] 在盖体11的顶侧向上依次设置有底油层和面油层。其中,通过激光雕刻等工艺去 除面油层的部分面积后,露出的可视的底油层形成字符编码13。通过改变激光雕刻的路径, 可以形成对应于不同数值的字符编码13。字符编码13由数据字符和纠错字符组成,字符编 码13由上述编码方法获得。字符编码13可以由字母和/或数字组成,长度较短,便于生产 过程中识别,识别速度较快。字符编码13可分一行或多行排列。为了不影响产品外观,底 油层可采用荧光油墨或透明油墨。此外,在底油层和面油层之间还可以设置印刷图案。
[0061] 对于上述瓶盖,二维码14和字符编码13被识别后在后台相关联,具有唯一对应关 系,从而构成瓶盖的两个标识码。其中,设置在不同瓶盖上的二维码互不相同,设置在不同 瓶盖上的字符编码也互不相同,两个标识码分别成为瓶盖的身份标识。二维码14可用于消 费者破坏包装之后参加积分、抽奖等活动使用。将二维码信息层14设置在盖体1里侧(即 内表面),可以防止参加活动的二维码在销售过程中被损坏或被仿冒。设置在盖体顶侧的字 符编码13可以用于在生产和销售过程中防窜货使用。
[0062] 由于使用这种具有纠错功能的字符编码对产品进行标记。在识别过程中,如果对 设置在产品上的字符编码纠错成功,则将该产品的字符数据存入数据库,并将之与设置在 产品背面的二维码关联存储。如果对设置在产品上的字符编码纠错不成功,则判断上述字 符编码识别错误,从而剔除与之对应的产品,并删除数据库中的相关数据,从而可以保证进 入销售环节的产品上的字符编码100%可识别。而在销售过程中,生产厂商或经销商通过识 别瓶盖外侧的字符编码可以获知产品的去向,进行防窜货查询;并且,通过识别瓶盖外侧的 字符编码还可以确定瓶盖里侧的二维码,从而通过调整二维码的中奖范围,可以保证营销 活动的正常进行。而通过在每个瓶盖内侧设置不同的二维码,使得每瓶饮料或啤酒具有唯 一的身份,消费者可通过获取二维码参与厂商的活动。
[0063] 综上所述,本发明提供的字符编码方法和字符解码方法,用于对具有纠错功能的 字符编码进行编码和解码。当在产品上设置这种具有纠错功能的字符编码,可以通过纠 错算法判断字符编码的识别是否存在错误,可以保证只有纠错成功的数据字符才能存入系 统,纠错失败的数据字符100%被剔除处理,从而保证数据系统中不存在误读数据,并避免 销售过程中发生数据误读的情况。
[0064] 上面对本发明所提供的具有纠错功能的字符编码方法、字符解码方法及其产品进 行了详细的说明。对本领域的一般技术人员而言,在不背离本发明实质精神的前提下对它 所做的任何显而易见的改动,都应属于本发明的保护范围。
【主权项】
1. 一种具有纠错功能的字符编码方法,其特征在于包括如下步骤: (1) 根据字符编码表生成一组数据字符; (2) 根据预先设置的纠错率,使用纠错算法生成与所述数据字符对应的纠错字符; (3) 由数据字符和对应的纠错字符组成具有纠错功能的字符编码。2. 如权利要求1所述的字符编码方法,其特征在于: 在所述步骤(1)中所使用的字符编码表,包括多个数字和多个字母,并且,不同的数字 和不同的字母分别代表不同的数值。3. 如权利要求2所述的字符编码方法,其特征在于: 所述字符编码表中不包括形状与任一数字形状接近的字母。4. 如权利要求1所述的字符编码方法,其特征在于: 在所述步骤(2)中,所使用的纠错算法为ReedSolomon算法。5. 如权利要求4所述的字符编码方法,其特征在于: 所述数据字符的长度为N,所需纠错的字符个数为T,则字符编码的长度为N+2T,2T为 纠错字符的个数;所述字符编码所对应的纠错率为IV(N+2T)。6. 如权利要求1所述的字符编码方法,其特征在于: 所述字符编码由数字和/或字母组成。7. -种具有纠错功能的字符解码方法,其特征在于包括如下步骤: (1) 获取字符编码的图像,并识别出每个字符所对应的数字或字母; (2) 依据纠错算法和纠错率,将识别出的整组字符划分为数据字符和纠错字符; (3) 使用对应的纠错算法对所述字符编码进行纠错处理;如果纠错成功,则删除纠错 字符后输出数据字符;如果纠错失败,则剔除整组数据字符编码。8. 如权利要求7所述的字符解码方法,其特征在于: 在所述步骤(2)和所述步骤(3)中使用的纠错算法为ReedSolomon算法。9. 如权利要求8所述的字符解码方法,其特征在于: 在所述步骤(2)中,根据纠错率IV(N+2T)和所述字符编码的长度(N+2T)计算出数据 字符的长度N和纠错字符的长度2T,然后进行划分;其中,T为所需纠错的字符个数。10. 如权利要求7所述的字符解码方法,其特征在于: 在步骤(3)中,使用纠错算法对所述字符编码进行纠错处理的过程中,还包括使用字 符编码表将数据字符和纠错字符换算成对应数值的过程;其中,所述字符编码表包括多个 数字和多个字母,并且,不同的数字和不同的字母代表不同的数值。11. 如权利要求10所述的字符解码方法,其特征在于: 所述字符编码表中不包括形状与任一数字形状接近的字母。12. -种设置有字符编码的产品,其特征在于:所述字符编码由数据字符和纠错字符 组成,并通过权利要求1至6中任意一项所述的字符编码方法获得。13. 如权利要求12所述的产品,其特征在于: 所述产品是瓶盖,所述字符编码设置在所述瓶盖的顶面,设置在不同瓶盖上的所述字 符编码不同。14. 如权利要求13所述的产品,其特征在于: 在所述瓶盖的里面设置有二维码,每个瓶盖上设置的二维码不同;所述二维码与所述 字符编码在数据库中进行关联。
【专利摘要】本发明提供了一种具有纠错功能的字符编码方法和字符解码方法,同时还提供了采用上述字符编码方法的产品。这种具有纠错功能的字符编码由数据字符和其所对应的纠错字符组成。使用这种字符编码对产品进行标记,可以有效解决现有技术中仅包括数据字符的编码数据容易误读的问题。通过纠错算法判断字符编码的识别是否存在错误,可以保证只有纠错成功的数据字符才能存入系统,纠错失败的数据字符100%被剔除处理,从而保证数据系统中不存在误读数据。
【IPC分类】G06K9/72
【公开号】CN104899612
【申请号】CN201510363185
【发明人】吴林, 崔征
【申请人】信码互通(北京)科技有限公司
【公开日】2015年9月9日
【申请日】2015年6月26日