一种序列号编码、解码方法、装置及电子设备转让专利

申请号 : CN202011292944.2

文献号 : CN112118017B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王凤宇饶丰陈利兵公骁

申请人 : 北京一起教育科技有限责任公司

摘要 :

本发明提供了一种序列号编码、解码方法、装置及电子设备,其中,该方法包括:获得待编码的序列号;按照预设的纠错编码算法对所述待编码的序列号进行编码,得到纠错编码后的序列号;针对所述纠错编码后的序列号中的每一位号码,在已生成的字符表中查找到对应于该号码的字符并替换该号码;其中,所述字符表中包括N个不同的字符,每个字符均唯一的对应于所述纠错编码后的序列号应用的进位制中的一个数码;在完成针对所述纠错编码后的序列号中每一位号码的替换后,得到被编码为字符序列的序列号。通过本发明实施例提供的序列号编码、解码方法、装置及电子设备,可以提高序列号的识别准确性。

权利要求 :

1.一种序列号编码方法,其特征在于,包括:

获得待编码的序列号,所述待编码的序列号用于标识答题卡所应用的页面布局;

按照预设的纠错编码算法对所述待编码的序列号进行编码,得到纠错编码后的序列号;

针对所述纠错编码后的序列号中的每一位号码,在已生成的字符表中查找到对应于该号码的字符并替换该号码;其中,所述字符表中包括N个不同的字符,每个字符均唯一的对应于所述纠错编码后的序列号应用的进位制中的一个数码,N个不同字符间的总体相似度低于所述纠错编码后的序列号应用的进位制中各数码间的总体相似度;

在完成针对所述纠错编码后的序列号中每一位号码的替换后,得到被编码为字符序列的序列号,所述被编码为字符序列的序列号用于替代所述待编码的序列号以标识所述答题卡所应用的页面布局。

2.根据权利要求1所述的方法,其特征在于,所述字符表通过以下方式生成:根据所述纠错编码后的序列号所应用的进位制的基数,确定出所述字符表所需的字符数量N;

计算预设的候选字符集合中每两个字符之间的相似度,依据计算得到的相似度在所述候选字符集合中选择出所述字符数量N个目标字符;其中,选择出的N个目标字符中每两个目标字符间的相似度均小于已确定的相似度阈值。

3.一种序列号解码方法,其特征在于,包括:

从待识别的目标图像中识别出字符序列,所述字符序列由待确定的序列号经编码后得到;

针对所述字符序列中的每一位字符,在已生成的数码表中查找到对应于该字符的数码并替换该字符;其中,所述数码表包括所述序列号所应用的进位制中的每个数码,每个数码均唯一的对应于一个字符,各数码对应的各字符间的总体相似度低于各数码间的总体相似度;

在完成针对所述字符序列中每一位字符的替换后,得到数码序列,按照预设的纠错解码算法对所述数码序列进行解码,得到被编码为所述数码序列之前的所述序列号。

4.根据权利要求3所述的方法,其特征在于,所述目标图像中包括定位标识区域,所述定位标识区域用于标识所述字符序列在所述目标图像中所处的目标区域;

所述从待识别的目标图像中识别出字符序列,包括:

在所述目标图像中识别出所述定位标识区域;

基于所述定位标识区域确定出所述字符序列所处的所述目标区域,按照预设的文本识别算法对所述目标区域进行识别,得到所述字符序列。

5.根据权利要求4所述的方法,其特征在于,所述按照预设的文本识别算法对所述目标区域进行识别,得到所述字符序列,包括:基于所述目标图像的原始图像方向,按照预设的文本识别算法对所述目标区域进行识别,得到第一字符序列和所述第一字符序列对应的第一置信度;以及按照预设的旋转角度旋转所述目标图像,按照预设的文本识别算法对旋转后的所述目标图像中的所述目标区域进行识别,得到第二字符序列和所述第二字符序列对应的第二置信度;

比较所述第一置信度和所述第二置信度,将较大置信度所对应的字符序列确定为识别到的所述字符序列。

6.根据权利要求4所述的方法,其特征在于,所述在目标图像中识别出所述定位标识区域,包括:对所述目标图像进行二值化处理,得到二值化后的目标图像;

针对所述二值化后的目标图像中的每一连通区域,若该连通区域的几何数据与已有的所述定位标识区域的几何数据相匹配,则将该连通区域确定为所述定位标识区域。

7.根据权利要求5所述的方法,其特征在于,所述基于定位标识区域确定出所述字符序列所处的所述目标区域,包括:若在所述目标图像中识别出两个所述定位标识区域,则根据每一所述定位标识区域确定出所述目标区域的两个区域顶点;

将确定出的四个区域顶点连接为一四边形区域,并将所述四边形区域确定为所述目标区域。

8.一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1或2中所述的序列号编码方法中的步骤。

9.一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求3至7中任一项所述的序列号解码方法中的步骤。

说明书 :

一种序列号编码、解码方法、装置及电子设备

技术领域

[0001] 本发明涉及编解码技术领域,具体而言,涉及一种序列号编码、解码方法、装置、电子设备及计算机可读存储介质。

背景技术

[0002] 目前,大多答题卡上均印刷有序列号(简称为ACID)。答题卡识别系统可以通过对印刷在答题卡上的序列号进行识别,进而获知答题卡的相关描述信息,例如答题卡的页面布局、答题卡上所需进行文本识别的识别区域等信息,进而便于后续执行各种针对答题卡的识别任务。
[0003] 但在,上述的序列号在目前多被编码为二维码,而若将序列号编码为二维码,则会由于二维码识别过程本身易受到纸张质量、二维码打印精度的影响,使得序列号的识别成功率长期维持在90-95%。

发明内容

[0004] 基于此,本发明实施例提供一种序列号编码、解码方法、装置、电子设备及计算机可读存储介质,解决传统技术中识别率低的问题。
[0005] 第一方面,本发明实施例提供了一种序列号编码方法,包括:
[0006] 获得待编码的序列号;
[0007] 按照预设的纠错编码算法对所述待编码的序列号进行编码,得到纠错编码后的序列号;
[0008] 针对所述纠错编码后的序列号中的每一位号码,在已生成的字符表中查找到对应于该号码的字符并替换该号码;其中,所述字符表中包括N个不同且相似度低的字符,每个字符均唯一的对应于所述纠错编码后的序列号应用的进位制中的一个数码;
[0009] 在完成针对所述纠错编码后的序列号中每一位号码的替换后,得到被编码为字符序列的序列号。
[0010] 第二方面,本发明实施例提供了一种序列号解码方法,包括:
[0011] 从待识别的目标图像中识别出字符序列,所述字符序列由待确定的序列号经编码后得到;
[0012] 针对所述字符序列中的每一位字符,在已生成的数码表中查找到对应于该字符的数码并替换该字符;其中,所述数码表包括所述序列号所应用的进位制中的每个数码,每个数码均唯一的对应于一个字符;
[0013] 在完成针对所述字符序列中每一位字符的替换后,得到数码序列,按照预设的纠错解码算法对所述数码序列进行解码,得到被编码为所述数码序列之前的所述序列号。
[0014] 第三方面,本发明实施例提供了一种序列号编码装置,包括:
[0015] 获得单元,用于获得待编码的序列号。
[0016] 纠错编码单元,用于按照预设的纠错编码算法对所述待编码的序列号进行编码,得到纠错编码后的序列号。
[0017] 字符替换单元,用于针对所述纠错编码后的序列号中的每一位号码,在已生成的字符表中查找到对应于该号码的字符并替换该号码;其中,所述字符表中包括N个不同且相似度低的字符,每个字符均唯一的对应于所述纠错编码后的序列号应用的进位制中的一个数码;在完成针对所述纠错编码后的序列号中每一位号码的替换后,得到被编码为字符序列的序列号。
[0018] 第四方面,本发明实施例提供了一种序列号解码装置,包括:
[0019] 识别单元,用于从待识别的目标图像中识别出字符序列,所述字符序列由待确定的序列号经编码后得到;
[0020] 数码替换单元,用于针对所述字符序列中的每一位字符,在已生成的数码表中查找到对应于该字符的数码并替换该字符;其中,所述数码表包括所述序列号所应用的进位制中的每一个数码,每个数码均唯一的对应于一个字符;
[0021] 纠错解码单元,用于在完成针对所述字符序列中每一字符的替换后,得到数码序列,按照预设的纠错解码算法对所述数码序列进行解码,得到被编码为所述数码序列之前的所述序列号。
[0022] 第五方面,本发明实施例提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,其特征在于,所述计算机程序被所述处理器执行时实现如上述的序列号编码方法中的步骤。
[0023] 第六方面,本发明实施例提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,其特征在于,所述计算机程序被所述处理器执行时实现如上述的序列号解码方法中的步骤。
[0024] 本发明实施例提供的序列号编码、解码方法、装置、电子设备及计算机可读存储介质,不再将序列号编码为二维码,而是先利用纠错编码算法对序列号进行纠错编码,之后再利用字符间总体相似度较低的字符表逐一对纠错编码后的序列号进行替换,进而得到被编码为字符序列的序列号。这样,在采用计算机视觉技术识别上述被编码为字符序列的序列号的过程中,一方面由于各字符间的相似度较低,减少了发生误识别的概率;而另一方面,即使在识别字符序列的过程中发生了误识别,也可在完成字符至数码的替换后,通过纠错解码算法纠正错误的识别结果以得到正确的序列号,进而提高了序列号的识别准确性。

附图说明

[0025] 为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
[0026] 图1示出了本发明实施例所提供的一种序列号编码方法的流程图;
[0027] 图2示出了本发明实施例所提供的字符表生成流程图;
[0028] 图3示出了本发明实施例所提供的一种答题卡的示意图;
[0029] 图4示出了本发明实施例所提供的一种序列号解码方法的流程图;
[0030] 图5示出了本发明实施例所提供的S201的实现流程图;
[0031] 图6示出了本发明实施例所提供的S301的实现流程图;
[0032] 图7示出了本发明实施例所提供的S302的实现流程图;
[0033] 图8示出了本发明实施例所提供的S302的另一种实现流程图;
[0034] 图9示出了本发明实施例所提供的序列号编码装置的结构示意图;
[0035] 图10示出了本发明实施例所提供的序列号解码装置的结构示意图;
[0036] 图11示出了本发明实施例所提供的电子设备的结构示意图。

具体实施方式

[0037] 为了本发明实施例的描述清楚简洁,首先给出相关概念或技术的简要介绍:
[0038] 所属技术领域的技术人员应当知道,本发明实施例可以实现为序列号编码、解码方法、装置、电子设备及计算机可读存储介质。因此,本发明实施例可以具体实现为以下形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、硬件和软件结合的形式。此外,在一些实施例中,本发明实施例还可以实现为在一个或多个计算机可读存储介质中的计算机程序产品的形式,该计算机可读存储介质中包含计算机程序代码。
[0039] 上述计算机可读存储介质可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质包括:电、磁、光、电磁、红外或半导体的系统、装置或器件,或者以上任意的组合。计算机可读存储介质更具体的例子包括:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存(Flash Memory)、光纤、光盘只读存储器(CD-ROM)、光存储器件、磁存储器件或以上任意组合。在本发明实施例中,计算机可读存储介质可以是任意包含或存储程序的有形介质,该程序可以被指令执行系统、装置、器件使用或与其结合使用。
[0040] 上述计算机可读存储介质包含的计算机程序代码可以用任意适当的介质传输,包括:无线、电线、光缆、射频(Radio Frequency,RF)或者以上任意合适的组合。
[0041] 可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,例如:Java、Smalltalk、C++,还包括常规的过程式程序设计语言,例如:C语言或类似的程序设计语言。计算机程序代码可以完全的在用户计算机上执行、部分的在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行以及完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括:局域网(LAN)或广域网(WAN),可以连接到用户计算机,也可以连接到外部计算机。
[0042] 下面将参照本发明实施例的序列号编码、解码方法、装置、电子设备及计算机可读存储介质的流程图和/或方框图描述本发明实施例。
[0043] 应当理解,流程图和/或方框图的每个方框以及流程图和/或方框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机可读程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或方框图中的方框规定的功能/操作的装置。
[0044] 也可以将这些计算机可读程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储介质中。这样,存储在计算机可读存储介质中的指令就产生出一个包括实现流程图和/或方框图中的方框规定的功能/操作的指令装置产品。
[0045] 也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程数据处理装置上执行的指令能够提供实现流程图和/或方框图中的方框规定的功能/操作的过程。
[0046] 在对本发明做进一步的详细描述之前,这里先对本发明所涉及的有关技术术语进行解释:
[0047] 进位制:进位制是一种记数方式,故亦称进位记数法/位值计数法,可以用有限的数字符号表示所有的数值。其中,可使用数字符号的数目称为基数(en:radix),基数为n,即可称n进位制,简称n进制。
[0048] 数码:进位制在表示各个数值所使用的有限个数字符号称之为数码,n进位制则对应n个数码。例如,十进制可使用的数字符号为0至9,该0至9便称之为十进制的数码。
[0049] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明做进一步详细的说明。
[0050] 图1示出了本发明实施例所提供的一种序列号编码方法的流程图。如图1所示,该方法包括:
[0051] S101,获得待编码的序列号。
[0052] 作为一个示例,本发明实施例中的待编码的序列号可以是文档、商品、票据等物品的标识。例如,当上述待编码的序列号被用于印刷至票据上时,该待编码的序列号便是用于唯一标识该票据身份的流水号。又例如,当上述待编码的序列号被用于印刷至答题卡等文档上时,该待编码的序列号则可以是用于标识该答题卡所应用页面布局的布局信息标识。至于本发明实施例中的待编码的序列号在实际应用中的具体作用,则可根据实际情况设
置,本发明对此不作限定。
[0053] 在本发明实施例中,待编码的序列号可根据实际情况有多种实现方式,下面举例了两种不同的实现方式:
[0054] 在一种可能的实现方式中,上述待编码的序列号可以是由纯数字构成、且采用任意进位制的数字序列。即,在本实现方式中,并不对待编码的序列号所采用的进位制进行限制,本序列号编码方法可以对采用任意进位制的待编码的序列号进行编码。
[0055] 在另一种可能的实现方式中,上述待编码的序列号可以是由纯数字组成、但采用某一指定进位制的数字序列。即,在本实现方式中,对能够执行本序列号编码方法的待编码的序列号所采用的进位制进行了限制。可以理解的是,在实际场景下,序列号所应用的进位制是多样的。为使采用其他进位制(即,不同于前述指定进位制的进位制)的序列号(记为初始序列号),也能够满足本实现方式下对于待编码的序列号所应用的进位制的要求,S101可以通过以下步骤实现进位制的转换:若检查出初始序列号所采用的进位制不同于指定进位制,则将该初始序列号所采用的进位制转换为指定进位制,以获得待编码的序列号。
[0056] 这里,举一个简单的例子以说明上述的进位制转换过程。假设本实现方式下所限制的进位制为16位,若此时获得了十进制的初始序列号46253,则在本实现方式下,需要将该十进制的初始序列号46253转换为16进制的序列号b4ad,进而获得待编码的序列号b4ad。
[0057] 以上对两种不同的序列号实现方式进行了详细说明。
[0058] 需要说明的是,上述指定进位制的基数可根据实际情况进行选择,本发明并不对上述指定进位制的基数做出限定。
[0059] 还需要说明的是,上述待编码的序列号可以采用多种表示方式。作为其中一种表示方式,该待编码的序列号可以被表示为数值形式。而作为另一种表示方式,该待编码的序列号可以被表示为数组形式。当然,这里仅是举例描述了两种表示形式,在具体实施时,可根据实际情况选择适当的表示形式表示该待编码的序列号。
[0060] S102,按照预设的纠错编码算法对待编码的序列号进行编码,得到纠错编码后的序列号。
[0061] 在S102中,之所以采用纠错编码算法对待编码的序列号进行编码,是因为经纠错编码算法编码后的序列号,即使在后续采用计算机视觉技术识别该序列号的过程中发生了误识别(将纠错编码后的序列号中的某一位或某几位号码错误的识别为其他号码、字符或符号),也可以利用对应于该纠错编码算法的纠错解码算法纠正该误识别。可见,采用纠错编码算法对待编码的序列号进行编码,可以降低后续识别过程中发生误识别所对识别结果的影响。
[0062] 可选的,上述的纠错编码算法可以采用前向纠错编码算法,例如RS编码算法。这里,以表示形式为数组形式、所应用进位制为16进制的待编码的序列号[2,0,0,12,57]为例,若对该待编码的序列号进行RS编码,则可得到纠错编码后的序列号[2, 0, 0, 12, 57, A8, 4B, CE, F5, FD, 70, CF, 6A, 91, D9, 29, D6]。
[0063] 需要说明的是,上述的纠错编码算法除举例说明的RS编码算法之外,还可以根据实际情况采用其他的纠错编码算法,本发明对此不作限定。
[0064] 还需要说明的是,上述的纠错编码算法并不会在编码过程中,对待编码的序列号所应用的进位制进行更改。即,经纠错编码算法编码后的序列号与待编码的序列号所应用的进位制是相同的。
[0065] S103,针对纠错编码后的序列号中的每一位号码,在已生成的字符表中查找到对应于该号码的字符并替换该号码;其中,字符表中包括N个不同且相似度低的字符,每个字符均唯一的对应纠错编码后的序列号应用的进位制中的一个数码。
[0066] 在执行S103之前,可以根据纠错编码后的序列号,或者,待编码的序列号所应用的进位制生成一个字符表,该字符表中的N个字符中每一字符均唯一的对应于前述进位制中的一个数码。这里举一个简单的例子,假设待编码的序列号应用的进位制为16进制,其16个数码分别为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。那么,所生成的字符表中的16个字符可以是H、J、K、#、4、M、S、T、V、X、A、B、C、D、Y、Z。其中,H对应0,J对应1,K对应2,Z对应F,其他以此类推。具体对应关系可参见下表:
[0067] 表1
[0068]H-0 4-4 V-8 C-12
J-1 M-5 X-9 D-13
K-2 S-6 A-10 Y-14
#-3 T-7 B-11 Z-15
[0069] 以上述表1中左上角的单元格为例,其中记录有“H-0”。这里的“H”代表字符表中的一个字符,“0”代表待编码的序列号应用的进位制中的一个数码,而“-”则表示对应关系。其他单元格与该单元格相类似,在此不再赘述。
[0070] 至于上述的字符表如何生成,下文会列举具体的实现方式进行详细说明,这里暂不赘述。
[0071] 作为一个示例,在已生成的字符表中查找到对应于该号码的字符并替换该号码可以包括:将该号码作为关键字,在已生成的字符表中查找到对应于该关键字的字符,利用查找到的字符替换该号码。
[0072] 这里,仍以前述纠错编码后的序列号 [2, 0, 0, 12, 57, A8, 4B, CE, F5, FD, 70, CF, 6A, 91, D9, 29, D6],已生成的包含字符H、J、K、#、4、M、S、T、V、X、A、B、C、D、Y、Z的字符表为例。那么,若利用该字符表对上述纠错编码后的序列号进行字符替换,则经替换后得到的字符序列便是HKHHHHJKMTAV4BCYZMZDTHCZSAXJDXKXDS。
[0073] 需要说明的是,由于上述纠错编码后的序列号中存在如2和0这样的一位数字。为了使2和0与其余数字一样均是两位,因此在进行字符替换时,利用0对2和0进行了补位。即,将2补位为02,将0补位为00。因此,上述的2在经补位后再进行字符替换,便会被替换为HK、上述的0在经补位后再进行字符替换,便会被替换为HH。当然,此处的补位操作并非是执行步骤中所必须,不进行补位也不影响本发明实施例的实施。
[0074] S104,在完成针对纠错编码后的序列号中每一位号码的替换后,得到被编码为字符序列的序列号。
[0075] 由S104可以看出,对于被编码为字符序列的序列号而言,一方面由于各字符间的相似度较低,减少了采用计算机视觉技术识别该序列号的过程中发生误识别的概率;而另一方面,即使在识别字符序列的过程中发生了误识别,也可通过纠错解码算法纠正错误的识别结果,以得到正确的序列号,进而提高了序列号的识别准确性。
[0076] 至此,完成图1所示流程。
[0077] 本发明实施例提供的序列号编码方法,不再将序列号编码为二维码,而是先利用纠错编码算法对序列号进行编码,之后再利用字符间总体相似度较低的字符表逐一对纠错编码后的序列号进行替换,进而得到被编码为字符序列的序列号。这样,在采用计算机视觉技术识别上述被编码为字符序列的序列号的过程中,一方面由于各字符间的相似度较低,减少了发生误识别的概率;而另一方面,即使在识别字符序列的过程中发生了误识别,也可在完成字符至数码的替换后,通过纠错解码算法纠正错误的识别结果以得到正确的序列号,进而提高了序列号的识别准确性。
[0078] 下面对上述S103中的字符表如何生成进行描述。
[0079] 参见图2,图2示出了本发明实施例所提供的字符表生成流程图,该流程可以包括:
[0080] S1031,根据纠错编码后的序列号所应用的进位制的基数,确定出字符表所需的字符数量N。
[0081] 作为一个示例,S1031可以将纠错编码后的序列号,或者,待编码的序列号所应用进位制的基数直接确定为字符表所需的字符数量。举一个简单的例子,假设纠错编码后的序列号所应用进位制的基数为16,那么字符表所需的字符数量也为16。这样,可以方便的使每一个字符都唯一的对应于一个数码。
[0082] S1032,计算预设的候选字符集合中每两个字符之间的相似度,依据计算得到的相似度选择出字符数量N个目标字符;其中,选择出的N个目标字符中每两个目标字符间的相似度均小于已确定的相似度阈值。
[0083] 在本发明实施例中,预设的候选字符集合可以通过人工手动的进行设置。这里举例一种候选字符集合的设置方式:将10个数字0至9,以及,26个英文字母a至z总共36个字符选择为预设的候选字符集合。当然,除上述列举的设置方式外,还可以根据实际情况来选择容纳至预设的候选字符集合中的字符,本申请对此不作具体限定。
[0084] 在计算预设的候选字符集合(例如上述手动选择出的候选字符集合)中每两个字符之间的相似度时,可以采用本领域技术人员所熟知的相似度计算算法,例如,余弦相似度算法、欧式距离算法等。由于此处对于字符间相似度的计算方式并非本发明的主要改进,因此不再详述。
[0085] 在本发明实施例中,当计算得到每两个字符间的相似度之后,可以通过多种实现方式选择出N个目标字符。下面举例描述其中两种实现方式。
[0086] 作为其中一种实现方式,可以从计算得到的各相似度中选择出小于已确定的相似度阈值的所有相似度。之后,将选择出的各相似度按由小至大的顺序排序,得到相似度序列。基于该相似度序列,在预设的候选字符集合中,选择相似度序列中前N/2个相似度所对应的N个候选字符。
[0087] 如果上述选择出的N个候选字符中不存在重复的候选字符,则直接地将这N个候选字符确定为上述字符表中的N个目标字符,以生成上述的字符表。
[0088] 如果上述的N个候选字符中存在重复的候选字符,则删除导致重复的一个或多个候选字符,并继续在预设的候选字符集合中,选择上述相似度序列中未被选择的且最小相似度对应的候选字符。之后,进一步判断选择出的所有候选字符中是否存在重复字符,以及,不重复的字符数量是否等于N,直至选择出N个不重复的候选字符,将这N个候选字符确定为目标字符,即可生成上述的字符表。
[0089] 作为另一种实现方式,可以从所有的相似度中选择出小于已确定的相似度阈值的所有相似度。之后,从选择出的相似度所对应的所有候选字符中随机的选择出N个候选字符作为目标字符,以生成上述的字符表。
[0090] 作为再一种实现方式,若计算得到的所有的相似度中小于已确定的相似度阈值的相似度数量小于N/2,那么则可以在所有的相似度中选择出小于已确定的相似度阈值的所有M个相似度,并选择出T个大于已确定的相似度阈值的相似度,M与T之和等于N/2。若M个相似度和T个相似度对应的N个候选字符中不存在重复字符,且M个相似度和T个相似度的总体相似度小于已确定的相似度阈值,那么则可以将这M个相似度和T个相似度对应的N个候选字符确定为目标字符,以生成字符表。
[0091] 可选的,上述计算总体相似度的计算方式可以是:对待计算的所有相似度求均值、方差、或者、标准差,所得到的结果便可作为总体相似度。
[0092] 以上对三种选择出N个目标字符的实现方式进行了说明。至于上述已确定的相似度阈值如何确定,本发明实施例提供了多种实现方式,下面分别描述。
[0093] 作为其中一种实现方式,可以人为的根据经验确定。
[0094] 而作为另一种实现方式,则可以包括以下步骤:
[0095] 步骤a,计算纠错编码后的序列号所应用进位制的各数码中每两个数码间的相似度;
[0096] 步骤b,对步骤a中得到的所有相似度进行设定计算,得到纠错编码后的序列号所应用进位制的各数码间的总体相似度。
[0097] 可选的,上述的设定计算可以是:对得到的所有相似度求均值、方差、或者、标准差。
[0098] 步骤c,基于上述步骤b中确定出的总体相似度确定出相似度阈值。
[0099] 在步骤c 中,可选择一个低于步骤b中确定出的总体相似度、且为正数的数值作为相似度阈值。具体的,可以预先设定一个相似度调整值,例如5%,将步骤b中确定出的总体相似度减去该相似度调整值即可得到相似度阈值。当然,这里仅是举例说明了一种具体的实现方式,在实际实施时,还可根据实际情况确定出相似度阈值,仅需保证相似度阈值低于步骤b中确定出的总体相似度、且为正数即可。
[0100] 以上对上述S103中的字符表如何生成进行了描述。
[0101] 一旦得到了被编码为字符序列的序列号,则可将该序列号应用至需要通过该序列号进行标识的文档、商品或票据中。下面以将序列号应用至答题卡为例,示例性的对序列号的一种应用过程进行描述,该应用过程可包括以下步骤:
[0102] 步骤d,将序列号添加至答题卡的目标区域。
[0103] 本步骤d中的目标区域可以预先人为的设定。结合图3所示答题卡来说,该目标区域可以是答题卡的左侧,和/或,右侧空白区域的中心位置附近。即,图3中所示出的第一目标区域和第二目标区域。
[0104] 步骤e,在目标区域的两端设置定位标识区域,该定位标识区域用于标识该目标区域。
[0105] 本步骤e中的定位标识区域可以预先人为的设定。结合图3所示答题卡来说,该定位标识区域为正方形。当然,定位标识区域的具体形状可根据实际情况设定,本申请对此不作限定。
[0106] 以上对如何将序列号应用至答题卡进行了说明。
[0107] 在本发明实施例中,除上述所描述的序列号编码方法外,本发明实施例还提供了一种序列号解码方法。如图4所示,本发明实施例所提供的序列号解码方法可以包括以下步骤:
[0108] S201,从待识别的目标图像中识别出字符序列,字符序列由待确定的序列号经编码后得到。
[0109] 在本发明实施例中,目标图像是包含有字符序列的图像,该目标图像可以经由拍照设备对印刷有该字符序列的纸质文档进行拍摄后获得。需要说明的是,上述的纸质文档可以是答题卡、票据等,本发明对此不作限定。
[0110] 至于如何从待识别的目标图像中识别出字符序列,下文会结合图5所示流程详细描述,这里暂不赘述。
[0111] 此外,字符序列如何由序列号经编码后得到,在先已进行了详细描述,具体可参见前述对S101至S104的描述,这里不再赘述。
[0112] S202,针对字符序列中的每一位字符,在已生成的数码表中查找到对应于该字符的数码并替换该字符;其中,数码表包括序列号所应用的进位制中的每一个数码,每个数码均唯一的对应于一个字符。
[0113] 在S202中,数码表中包括有序列号所应用的进位制中的每一个数码,且每个数码均唯一的对应于一个字符。这里的对应关系可以在前述对序列号的编码过程中形成。可以理解的是,若将数码与字符间的对应关系记录至同一个表格中,则数码表与前述的字符表便是相同的一个表。在这种情况下,不同的名字仅是用于区分解码过程和编码过程。
[0114] 由于S202与前述S102为相对应的步骤,因此,对于字符表中字符与数码表中数码的对应关系则不再赘述。
[0115] 这里以举例的方式对S202的具体实现过程进行描述,假设已生成的数码表包括0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,其与各字符的对应关系如下表所示:
[0116] 表2
[0117] H-0 4-4 V-8 C-12J-1 M-5 X-9 D-13
K-2 S-6 A-10 Y-14
#-3 T-7 B-11 Z-15
[0118] 以上述表2中左上角的单元格为例,其中记录有“H-0”。这里的“H”代表字符表中的一个字符,“0”代表待编码的序列号应用的进位制中的一个数码,而“-”则表示对应关系。其他单元格与该单元格相类似,在此不再赘述。
[0119] 那么,若识别出的字符序列为HKHHHHJKMTAV4BCYZMZDTHCZSAXJDXKXDS为例,那么经替换后所得到的序列号为[2, 0, 0, 12, 57, A8, 4B, CE, F5, FD, 70, CF, 6A, 91, D9, 29, D6]。需要说明的是,此处的替换操作已经对用于补位的0进行了删除。至于有关补位操作的具体内容,在先已进行了描述,在此不再赘述。
[0120] S203,在完成针对字符序列中每一位字符的替换后,得到数码序列,按照预设的纠错解码算法对数码序列进行解码,得到被编码为数码序列之前的序列号。
[0121] 在S203中,纠错解码算法是与序列号被编码为字符序列的过程中所使用的纠错编码算法相对应的算法。因此,采用纠错解码算法对替换后的字符序列(即,数码序列)进行解码,则可得到被编码为数码序列之前的序列号。
[0122] 这里,仍以前述经替换后所得到的序列号[2, 0, 0, 12, 57, A8, 4B, CE, F5, FD, 70, CF, 6A, 91, D9, 29, D6]为例,若采用RS解码算法对该序列号进行解码,则可得到序列号[2,0,0,12,57]。
[0123] 至此,完成图4所示流程。
[0124] 下面对上述S201中如何从待识别的目标图像中识别出字符序列进行描述。
[0125] 参见图5,图5示出了本发明实施例所提供的S201的实现流程图,该流程可以包括:
[0126] S301,在目标图像中识别出定位标识区域。
[0127] 本发明实施例中,在目标图像中识别出定位标识区域有多种实现方式。下文会结合图6所示流程详细描述,这里暂不赘述。
[0128] S302,基于定位标识区域确定出字符序列所处的目标区域,按照预设的文本识别算法对目标区域进行识别,得到字符序列。
[0129] 本发明实施例中,基于定位标识区域确定出字符序列所处的目标区域有多种实现方式。下文会结合图7所示流程详细描述,这里暂不赘述。
[0130] 此外,本发明实施例中,按照预设的文本识别算法对目标区域进行识别也有多种实现方式。作为其中一种实现方式,可以直接地按照预设的文本识别算法对目标区域进行识别。即,不对目标图像的图像方向进行改变的前提下,直接地进行识别。但这样可能会由于图像所处方向与文本识别算法所需的图像方向不一致,导致识别准确性较差。为此,本发明实施例还提出了另外一种实现方式,下文会结合图8所示流程进行描述,这里暂不赘述。
[0131] 需要说明的是,上述预设的文本识别算法可以是OCR识别算法。当然,也可以采用其他文本识别算法对目标区域进行识别,例如CRNN(Convolutional Recurrent Neural Network,卷积递归神经网络)等,本发明对此不作具体限定。
[0132] 以上对S201中如何在目标图像中识别出目标纸质文档上的字符序列进行了描述。
[0133] 下面对上述S301中如何在目标图像中识别出定位标识区域进行描述。
[0134] 参见图6,图6示出了本发明实施例所提供的S301的实现流程图,该流程可以包括:
[0135] S401,对目标图像进行二值化处理,得到二值化后的目标图像。
[0136] 对目标图像进行二值化处理的过程可参照本领域技术人员所熟知的方式实现,在此不再详述。
[0137] S402,针对二值化后的目标图像中的每一连通区域,若该连通区域的几何数据与已有的定位标识区域的几何数据相匹配,则将该连通区域确定为定位标识区域。
[0138] 对于二值化后的目标图像,在该图像中会产生多个连通区域,这多个连通区域中也包含有定位标识区域。因此,可针对每一连通区域,统计该连通区域的几何数据并与已有的定位标识区域的几何数据进行比较,以确定出定位标识区域。
[0139] 需要说明的是,定位标识区域的几何数据可以是定位标识区域的长宽比、各边长度等,具体可根据定位标识区域的实际形状决定,本申请对此不作限定。
[0140] 若确定出连通区域的几何数据与已有的定位标识区域的几何数据相匹配,则可将该连通区域确定为定位标识区域。
[0141] 以上对S301中如何在目标图像中识别出定位标识区域进行了描述。
[0142] 下面对上述S302中如何按照预设的文本识别算法对目标区域进行识别进行描述。
[0143] 参见图7,图7示出了本发明实施例所提供的S302的实现流程图,该流程可以包括:
[0144] S501,基于目标图像的原始图像方向,按照预设的文本识别算法对目标区域进行识别,得到第一字符序列和第一字符序列对应的第一置信度。
[0145] 在S501中,是在不更改目标图像的图像方向的前提下,直接地按照预设的文本识别算法对目标区域进行识别,得到第一字符序列和第一字符序列对应的第一置信度。这里,第一置信度用于表示识别到的第一字符序列与实际目标图像中所显示的字符序列间的符合程度。
[0146] S502,按照预设旋转角度旋转目标图像,按照预设的文本识别算法对旋转后的目标图像中的目标区域进行识别,得到第二字符序列和第二字符序列对应的第二置信度。
[0147] S502与前述S501不同,需要先按照预设旋转角度旋转目标图像,之后再识别得到第二字符序列和第二字符序列对应的第二置信度。
[0148] 需要说明的是,上述的预设旋转角度可以根据实际情况设置,例如设置为180度、90度等,本申请对此不作限定。
[0149] S503,比较第一置信度和第二置信度,将较大置信度所对应的字符序列确定为识别到的字符序列。
[0150] 由上述S501和S502可以看出,S501和S502中一定会有一次识别过程是基于文本识别算法所需的图像方向,或者,更接近于文本识别算法所需的图像方向所进行的识别。又由于更接近文本识别算法所需的图像方进行的识别相较于基于更远离文本识别算法所需图像方所进行的识别,其识别结果的置信度较高。因此,通过比较比较第一置信度和第二置信度,并选择较大置信度所对应的字符序列确定为识别到的字符序列,即可得到更为准确的识别结果。
[0151] 以上对上述S302中如何按照预设的文本识别算法对目标区域进行识别进行了描述。
[0152] 下面对上述S302中如何基于定位标识区域确定出字符序列所处的目标区域进行描述。
[0153] 参见图8,图8示出了本发明实施例所提供的S302的另一种实现流程图,该流程可以包括:
[0154] S601,若在目标图像中识别出两个定位标识区域,则根据每一定位标识区域确定出所述目标区域的两个区域顶点。
[0155] 作为一个示例,每一个目标区域会在其两端分别设置一个定位标识区域。即,一个字符序列位于一个目标区域,一个目标区域对应于两个定位标识区域。基于此,若识别出两个定位标识区域,则意味着没有发生定位标识区域的识别遗漏,则可基于这两个定位标识区域确定出目标区域的区域顶点。
[0156] 可选的,在确定区域顶点之前,可以人为的预先设定两个定位标识区域上距离较近的若干个顶点作为区域顶点。相应的,在确定区域顶点的过程中,则可以直接地将预先设定的顶点确定为区域顶点。结合图3所示来说,可以预先将定位标识区域A上靠近序列号一侧的两个顶点设定为区域顶点、定位标识区域B上靠近序列号一侧的两个顶点设定为区域顶点,进而在确定时将上述各顶点相应的确定为区域顶点。
[0157] S602,将确定出的四个区域顶点连接为一四边形区域,并将四边形区域确定为目标区域。
[0158] 在确定出区域顶点后,则可以连接各个区域顶点,以利用连线形成封闭的四边形区域。值得说明的是,S602中的连线并不是在每两个区域顶点之间都进行连接,而是将各个区域顶点看作是最终所围成的封闭四边形区域的各边交点,以使得各区域顶点之间的连线并不相交、且能够形成封闭的区域。
[0159] 以上对S302中如何基于定位标识区域确定出字符序列所处的目标区域进行了描述。
[0160] 上文详细描述了本发明实施例提供的序列号编码方法以及序列号解码方法,上述方法也可以通过相应的装置实现,下面将分别详细描述本发明实施例提供的序列号编码装置以及序列号解码装置。
[0161] 图9示出了本发明实施例所提供的一种序列号编码装置的结构示意图。如图9所示,该序列号编码装置包括:
[0162] 获得单元,用于获得待编码的序列号。
[0163] 纠错编码单元,用于按照预设的纠错编码算法对待编码的序列号进行编码,得到纠错编码后的序列号。
[0164] 字符替换单元,用于针对纠错编码后的序列号中的每一位号码,在已生成的字符表中查找到对应于该号码的字符并替换该号码;其中,字符表中包括N个不同的字符,每个字符均唯一的对应于纠错编码后的序列号应用的进位制中的一个数码;在完成针对纠错编码后的序列号中每一位号码的替换后,得到被编码为字符序列的序列号。
[0165] 在一种可能的实现方式下,字符表中包括的N个不同字符间的总体相似度低于纠错编码后的序列号应用的进位制中各数码间的总体相似度。
[0166] 在一种可能的实现方式下,字符表通过以下方式生成:根据纠错编码后的序列号所应用的进位制的基数,确定出字符表所需的字符数量N;计算预设的候选字符集合中每两个字符之间的相似度,依据计算得到的相似度在候选字符集合中选择出字符数量N个目标字符;其中,选择出的N个目标字符中每两个目标字符间的相似度均小于已确定的相似度阈值。
[0167] 以上对图9所示序列号编码装置进行了描述。
[0168] 下面对序列号解码装置进行详细描述:
[0169] 图10示出了本发明实施例所提供的一种序列号解码装置的结构示意图。如图10所示,该序列号解码装置包括:
[0170] 识别单元,用于从待识别的目标图像中识别出字符序列,字符序列由待确定的序列号经编码后得到;
[0171] 数码替换单元,用于针对字符序列中的每一位字符,在已生成的数码表中查找到对应于该字符的数码并替换该字符;其中,数码表包括序列号所应用的进位制中的每个数码,每个数码均唯一的对应于一个字符;
[0172] 纠错解码单元,用于在完成针对字符序列中每一位字符的替换后,得到数码序列,按照预设的纠错解码算法对数码序列进行解码,得到被编码为数码序列之前的序列号。
[0173] 在一种可能的实现方式下,目标图像中包括定位标识区域,定位标识区域用于标识字符序列在目标图像中所处的目标区域;识别单元从待识别的目标图像中识别出字符序列,包括:在目标图像中识别出定位标识区域;基于定位标识区域确定出字符序列所处的目标区域,按照预设的文本识别算法对目标区域进行识别,得到字符序列。
[0174] 在一种可能的实现方式下,识别单元按照预设的文本识别算法对目标区域进行识别,包括:基于目标图像的原始图像方向,按照预设的文本识别算法对目标区域进行识别,得到第一字符序列和第一字符序列对应的第一置信度;以及按照预设旋转角度旋转目标图像,按照预设的文本识别算法对旋转后的目标图像中的目标区域进行识别,得到第二字符序列和第二字符序列对应的第二置信度;比较第一置信度和第二置信度,将较大置信度所对应的字符序列确定为识别到的字符序列。
[0175] 在一种可能的实现方式下,识别单元在目标图像中识别出定位标识区域,包括:对目标图像进行二值化处理,得到二值化后的目标图像;针对所述二值化后的目标图像中的每一连通区域,若该连通区域的几何数据与已有的所述定位标识区域的几何数据相匹配,则将该连通区域确定为所述定位标识区域。
[0176] 在一种可能的实现方式下,识别单元基于定位标识区域确定出字符序列所处的目标区域,包括:若在所述目标图像中识别出两个所述定位标识区域,则根据每一定位标识区域确定出所述目标区域的两个区域顶点;将确定出的四个区域顶点连接为一四边形区域,并将所述四边形区域确定为所述目标区域。
[0177] 以上对图10所示序列号解码装置进行了描述。
[0178] 此外,本发明实施例还提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该收发器、该存储器和处理器分别通过总线相连,计算机程序被处理器执行时实现上述序列号编码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0179] 具体的,参见图11所示,本发明实施例还提供了一种电子设备,该电子设备包括总线71、处理器72、收发器73、总线接口74、存储器75和用户接口76。
[0180] 在本发明实施例中,该电子设备还包括:存储在存储器75上并可在处理器72上运行的计算机程序,计算机程序被处理器72执行时实现上述序列号编码方法的步骤。
[0181] 收发器73,用于在处理器72的控制下接收和发送数据。
[0182] 在图11中,总线架构(用总线71来代表),总线71可以包括任意数量互联的总线和桥,总线71将包括由处理器72代表的一个或多个处理器与存储器75代表的存储器的各种电路连接在一起。
[0183] 总线71表示若干类型的总线结构中的任何一种总线结构中的一个或多个,包括存储器总线以及存储器控制器、外围总线、加速图形端口(Accelerate Graphical Port,AGP)、处理器或使用各种总线体系结构中的任意总线结构的局域总线。作为示例而非限制,这样的体系结构包括:工业标准体系结构(Industry Standard Architecture,ISA)总线、微通道体系结构(Micro Channel Architecture,MCA)总线、扩展ISA(Enhanced ISA,EISA)总线、视频电子标准协会(Video Electronics Standards Association,VESA)、外围部件互连(Peripheral Component Interconnect,PCI)总线。
[0184] 处理器72可以是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中硬件的集成逻辑电路或软件形式的指令完成。上述的处理器包括:通用处理器、中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)、可编程逻辑阵列(Programmable Logic Array,PLA)、微控制单元
(Microcontroller Unit,MCU)或其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件组件。可以实现或执行本发明实施例中公开的各方法、步骤及逻辑框图。例如,处理器可以是单核处理器或多核处理器,处理器可以集成于单颗芯片或位于多颗不同的芯片。
[0185] 处理器72可以是微处理器或任何常规的处理器。结合本发明实施例所公开的序列号编码方法步骤可以直接由硬件译码处理器执行完成,或者由译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(Random Access Memory,RAM)、闪存(Flash  Memory)、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、寄存器等本领域公知的可读存储介质中。可读存储介质位于存储器中,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0186] 总线71还可以将,例如外围设备、稳压器或功率管理电路等各种其他电路连接在一起,总线接口74在总线71和收发器73之间提供接口,这些都是本领域所公知的。因此,本发明实施例不再对其进行进一步描述。
[0187] 收发器73可以是一个元件,也可以是多个元件,例如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发器73从其他设备接收外部数据,收发器73用于将处理器72处理后的数据发送给其他设备。取决于计算机系统的性质,还可以提供用户接口76,例如:触摸屏、物理键盘、显示器、鼠标、扬声器、麦克风、轨迹球、操纵杆、触控笔。
[0188] 应理解,在本发明实施例中,存储器75可进一步包括相对于处理器72远程设置的存储器,这些远程设置的存储器可以通过网络连接至服务器。上述网络的一个或多个部分可以是自组织网络(ad hoc network)、内联网(intranet)、外联网(extranet)、虚拟专用网(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、互联网(Internet)、公共交换电话网(PSTN)、普通老式电话业务网(POTS)、蜂窝电话网、无线网络、无线保真(Wi-Fi)网络以及两个或更多个上述网络的组合。例如,蜂窝电话网和无线网络可以是全球移动通信(GSM)系统、码分多址(CDMA)系统、全球微波互联接入(WiMAX)系统、通用分组无线业务(GPRS)系统、宽带码分多址(WCDMA)系统、长期演进(LTE)系统、LTE频分双工(FDD)系统、LTE时分双工(TDD)系统、先进长期演进(LTE-A)系统、通用移动通信(UMTS)系统、增强移动宽带(Enhance Mobile Broadband,eMBB)系统、海量机器类通信(massive Machine Type of Communication,mMTC)系统、超可靠低时延通信(Ultra Reliable Low Latency Communications,uRLLC)系统等。
[0189] 应理解,本发明实施例中的存储器75可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器包括:只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存(Flash Memory)。
[0190] 易失性存储器包括:随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如:静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本发明实施例描述的电子设备的存储器75包括但不限于上述和任意其他适合类型的存储器。
[0191] 在本发明实施例中,存储器75存储了操作系统751和应用程序752的如下元素:可执行模块、数据结构,或者其子集,或者其扩展集。
[0192] 具体而言,操作系统751包含各种系统程序,例如:框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序752包含各种应用程序,例如:媒体播放器(Media Player)、浏览器(Browser),用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序752中。应用程序752包括:小程序、对象、组件、逻辑、数据结构以及其他执行特定任务或实现特定抽象数据类型的计算机系统可执行指令。
[0193] 此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述序列号编码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0194] 计算机可读存储介质包括:永久性和非永久性、可移动和非可移动媒体,是可以保留和存储供指令执行设备所使用指令的有形设备。计算机可读存储介质包括:电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备以及上述任意合适的组合。计算机可读存储介质包括:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带存储、磁带磁盘存储或其他磁性存储设备、记忆棒、机械编码装置(例如在其上记录有指令的凹槽中的穿孔卡或凸起结构)或任何其他非传输介质、可用于存储可以被计算设备访问的信息。按照本发明实施例中的界定,计算机可读存储介质不包括暂时信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如穿过光纤电缆的光脉冲)或通过导线传输的电信号。
[0195] 此外,本发明实施例还提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该收发器、该存储器和处理器分别通过总线相连,计算机程序被处理器执行时实现上述序列号解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0196] 此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述序列号解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0197] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0198] 本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或二者的结合来实现,为了清楚说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机程序指令。计算机程序指令包括:汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言,例如:Smalltalk、C++以及过程式编程语言,例如:C语言或类似的编程语言。
[0199] 在计算机上加载和执行计算机程序指令时,全部或部分的产生按照本发明实施例的流程或功能,计算机可以是通过计算机、专用计算机、计算机网络或其他可编辑装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如:计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、双绞线、光纤、数字用户线路(digital subscriber line,DSL))或无线(例如:红外、无线、微波)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如:软盘、磁盘、磁带)、光介质(例如:光盘)或半导体介质(例如:固态硬盘(Solid State Drive,SSD))等。这些功能究竟以硬件还是软件来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
[0200] 所属技术领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述本发明方法实施例中的对应过程,在此不再赘述。
[0201] 在本发明所提供的几个实施例中,应该理解到,所披露的装置、电子设备和方法,可以通过其他的方式实现。例如,以上描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的、机械的或其他的形式连接。
[0202] 作为分离部件说明的单元可以是或也可以不是物理上分开的,作为单元显示的部件可以是或也可以不是物理单元,既可以位于一个位置,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或全部单元来解决本发明实施例方案要解决的问题。
[0203] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0204] 集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术作出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(包括:个人计算机、服务器、数据中心或其他网络设备)执行本发明各个实施例方法的全部或部分步骤。而上述存储介质包括如前述所列举的各种可以存储程序代码的介质。
[0205] 以上,仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例披露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。