编码制造技术

技术编号:39745016 阅读:9 留言:0更新日期:2023-12-17 23:44
本申请提供一种编码

【技术实现步骤摘要】
编码、解码方法、装置、设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种编码

解码方法

装置

设备及存储介质


技术介绍

[0002]随着计算机技术的迅速发展,通过编码能够把人类能看懂的各种信息转换成计算机能够识别的二进制形式,以便计算机自动执行某些操作

编码的方式可以有很多种,
ASCII
码是一种比较常见的等长编码方式,由于任何字符的编码长度都相等,可能导致等长编码的编码结果太长,占用过多资源,因而,出现了一种可变长的编码方法

[0003]哈夫曼编码
(Huffman Coding)
是可变字长编码
(variable

length coding

VLC)
的一种,其可以根据给定信息中各字符出现的频次,动态生成最优的编码

但是,在哈夫曼解码时,由于字符变长的特性,必须从前往后顺序解码,存在解码效率低的问题


技术实现思路

[0004]本申请提供一种编码

解码方法

装置

设备及存储介质,用以解决现有哈夫曼解码过程必须从前往后顺序解码,存在的解码效率低的问题

[0005]第一方面,本申请提供一种编码方法,包括:
[0006]获取待编码字符串,所述待编码字符串包括至少一个待编码字符;
[0007]确定各所述待编码字符的二进制编码,所述二进制编码至少包括分隔符;
[0008]根据所有所述待编码字符的二进制编码,得到所述待编码字符串的二进制编码结果

[0009]第二方面,本申请提供一种解码方法,包括:
[0010]获取待解码字符串,所述待解码字符串包括多个二进制符号;
[0011]确定所述多个二进制符号中的各分隔符;
[0012]根据各所述分隔符,对所述待解码字符串进行解码,得到所述待解码字符串对应的各原始字符

[0013]第三方面,本申请提供一种编码装置,包括:
[0014]获取模块,用于获取待编码字符串,所述待编码字符串包括至少一个待编码字符;
[0015]处理模块,用于确定各所述待编码字符的二进制编码,所述二进制编码至少包括分隔符;
[0016]所述处理模块,还用于根据所有所述待编码字符的二进制编码,得到所述待编码字符串的二进制编码结果

[0017]第四方面,本申请提供一种解码装置,包括:
[0018]获取模块,用于获取待解码字符串,所述待解码字符串包括多个二进制符号;
[0019]确定模块,用于确定所述多个二进制符号中的各分隔符;
[0020]解码模块,用于根据各所述分隔符,对所述待解码字符串进行解码,得到所述待解
码字符串对应的各原始字符

[0021]第五方面,本申请提供一种电子设备,包括:处理器

存储器及存储在所述存储器上并可在处理器上运行的计算机程序指令,所述处理器执行所述计算机程序指令时实现如上述第一方面所述的编码方法,或者,所述处理器执行所述计算机程序指令时实现如上述第二方面所述的解码方法

[0022]第六方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令被处理器执行时用于实现如上述第一方面所述的编码方法,或者,所述计算机指令被处理器执行时用于实现如上述第二方面所述的解码方法

[0023]第七方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的编码方法,所述计算机程序被处理器执行时实现上述第二方面所述的解码方法

[0024]本申请提供的编码

解码方法

装置

设备及存储介质,在编码过程中,获取待编码字符串,确定待编码字符中各待编码字符的二进制编码,且该二进制编码至少包括分隔符,根据所有待编码字符的二进制编码,得到待编码字符串的二进制编码;相应的,在解码过程中,通过获取待解码字符串,确定待解码字符串中多个二进制符号中的各分隔符,根据各分隔符,对待解码字符串进行解码,得到待解码字符串对应的各原始字符

该技术方案中,由于各二进制编码包括分隔符,因而,在解码过程中,可以迅速找出各二进制编码的边界,从而实现并行解码,提高了解码效率,从而节省了芯片的面积和功耗,缩短了解码数据传输延迟,大幅提升了芯片的性能

附图说明
[0025]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理

[0026]图
1A
是本申请实施例提供的编码

解码方法的一种应用场景示意图;
[0027]图
1B
是本申请实施例提供的编码

解码方法的另一种应用场景示意图;
[0028]图2是本申请提供的编码方法实施例一的流程示意图;
[0029]图3是本申请提供的编码方法实施例二的流程示意图;
[0030]图4是本申请提供的解码方法实施例一的流程示意图;
[0031]图5是本申请提供的解码方法实施例二的流程示意图;
[0032]图6是本申请提供的解码方法实施例三的流程示意图;
[0033]图7为本申请提供的编码装置实施例的结构示意图;
[0034]图8为本申请提供的解码装置实施例的结构示意图;
[0035]图9为本申请实施例提供的电子设备的结构示意图

[0036]通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述

这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念

具体实施方式
[0037]这里将详细地对示例性实施例进行说明,其示例表示在附图中

下面的描述涉及
附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素

以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式

相反,它们仅是与如所附权利要求书中所详述的

本申请的一些方面相一致的装置和方法的例子

[0038]随着互联网

物联网的飞速发展,数据文件规模越来越大

为节省存储成本,可以对数据进行压缩

大量的数据压缩占用较高的处理器资源,不仅降低了处理器性能,而且提升了处理器功耗,增加了能源成本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种编码方法,其特征在于,包括:获取待编码字符串,所述待编码字符串包括至少一个待编码字符;确定各所述待编码字符的二进制编码,所述二进制编码至少包括分隔符;根据所有所述待编码字符的二进制编码,得到所述待编码字符串的二进制编码结果
。2.
根据权利要求1所述的方法,其特征在于,所述确定各所述待编码字符的二进制编码,包括:确定各所述待编码字符在所述待编码字符串中的出现频次;根据所述出现频次确定所述待编码字符的二进制编码,其中,出现频次高的所述待编码字符的二进制编码的长度小于出现频次低的所述待编码字符的二进制编码的长度
。3.
根据权利要求2所述的方法,其特征在于,所述根据所述出现频次确定所述待编码字符的二进制编码,包括:按照各所述待编码字符在所述待编码字符串中出现频次由高到底的顺序,确定各所述待编码字符的频次序号,所述频次序号为由1开始顺序标识的正整数;根据所述频次序号和所述分隔符,确定所述待编码字符的二进制编码
。4.
根据权利要求3所述的方法,其特征在于,所述待编码字符串包括根据所述频次序号和预置阈值划分的第一字符集和第二字符集,所述第一字符集中的第一待编码字符的频次序号小于或等于所述预置阈值,所述第二字符集中的第二待编码字符的频次序号大于所述预置阈值;针对所述第一字符集,所述分隔符包括取值相反的二进制的第一前缀符和结尾符,所述第一前缀符的位数等于所述频次序号的取值减1;针对所述第二字符集,所述分隔符包括取值相反的二进制的第二前缀符和结尾符,所述第二前缀符的位数比位数最多的所述第一前缀符的位数至少多1位
。5.
根据权利要求4所述的方法,其特征在于,所述第二待编码字符的二进制编码还包括根据所对应频次序号的二进制数确定的中间符
。6.
根据权利要求5所述的方法,其特征在于,若所述第二待编码字符对应频次序号减1的二进制位数小于或等于所述预置阈值,则所述中间符的位数等于所述预置阈值加1;若所述第二待编码字符对应频次序号减1的二进制位数大于所述预置阈值,则所述中间符的位数等于所述第二待编码字符对应频次序号减1的二进制位数
。7.
根据权利要求4至6任一项所述的方法,其特征在于,所述结尾符为一位的
1。8.
一种解码方法,其特征在于,包括:获取待解码字符串,所述待解码字符串包括多个二进制符号;确定所述多个二进制符号中的各分隔符;根据各所述分隔符,对所述待解码字符串进行解码,得到所述待解码字符串对应的各原始字符
。9.
根据权利要求8所述的方法,其特征在于,所述分隔符至少包括结尾符;所述确定所述多个二进制符号中的各分隔符,包括:确定所述多个二进制符号中的所有候选符号,所述候选符号和所述结尾符的二进制符
号相同;确定所述所有候选符号中的各结尾符;根据各所述结尾符,确定所述多个二进制符号中的各分隔符
。10.
根据权利要求9所述的方法,其特征在于,所述确定所述所有候选符号中的各结尾符,包括:确定所述待解码字符串在编码过程中使用的最大前缀位数
N
,所述
N
为正整数;针对所述所有候选符号中的任意一个候选符号,根据所述
N、
以及所述候选符号之前的组合序列,分别判断所述候选符号是否为结尾符,直至确定出所述所有候选符号中的各结尾符
。11.
根据权利要求
10
所述的方法,其特征在于,所述根据所述
N、
以及所述候选符号之前的组合序列,分别判断所述候选符号是否为结尾符,包括:判断所述候选符号的前
2*(N

i)
个字符中是否存在第一组合序列,所述第一组合序列包括取值相反的二进制的结尾符和
(N

i)
个1位的前缀符;若是,则在所述
(N

i)
等于0时,确定所述候选符号不是结尾符;若否,则确定所述候选符号为结尾符;其中,所述
i
依次取
0、1、
……
,直至判断得到所述候选符号为所述结尾符或者不是所述结尾符,所述
i
为整数,
0≤i≤N。12.
根据权利要求9所述的方法,其特征在于,所述确定所述所有候选符号中的各结尾符,包括:确定所述待解码字符串在编码过程中使用的最大前缀位数
N
,所述
N
为正整数;在所述多个二进制符号中,按照前缀位数由多到少的顺序,依次执行第
(i+1)
次判断过程,直到确定出所有候选符号中的各结尾符,所述
i
依次取
0、1、
……
,所述
i
为整数,
0≤i≤N
;其中,所述第
(i+1)
次判断过程包括:判断各候选符号之前的
2*(N

i)
个字符中是否存在第一组合序列,所述第一组合序列包括取值相反的二进制的结尾符和
(N

i)
个1位的前缀符;将之前的
2*(N

i)
个字符中未存在所述第一组合序列的候选符合确定为结尾符;对于之前的
2*(N

i)
个字符中存在所述第一组合序列的各候选符合,则
i

i+1
,并继续执行第
(i+1)
次判断过程
。13.
根据权利要求9所述的方法,其特征在于,所述根据各所述结尾符,确定所述多个二进制符号中的各分隔符,包括:确定各所述结尾符之间的各二进制部分;根据各所述二进制部分的位数和预置阈值,确定各所述二进制部分对应的各频次序号,所述频次序号为由1开始顺序标识的正整数;根据各所述频次序号和各所述结尾符,确定所述多个二进制符号中的各分隔符
。14.
根据权利要求
13
所述的方法,其特征在于,若所述二进制部分的位数小于或等于所述预置阈值,则所述频次序号等于所述二进制部分的位数加1,所述分隔符包括取值相反的二进制的第一前缀符和所述结尾符,所述第一前缀符为所述二进制部分;
若所述二进制部分的位数大于所述预置阈值,则所述频次序号等于所述二进制部分对应的十进制数加1,所述分隔符包括取值相反的二进制的第二前缀符和所述结尾符,所述第二前缀符的位数比位数最多的所述第一前缀符的位数至少多1位
。15.
根据权利要求8至
14
任一项所述的方法,其特征在于,所述根据各所述分隔符,对所述待解码字符串进行解码,得到所述待解码字符串对应的各原始字符,包括:根据各所述分隔符,确定所述待解码字符串包括的各二进制编码;根据各所述二进制编码和预置阈值,确定各所述二进制编码对应的各频次序号;根据预置映射关系和各频次序号,确定所述待解码字符串对应的各原始字符,所述映射关系用于表示频次序号和原始字符的对应关系
。16.
根据权利要求9至
14
任一项所述的方法,其特征在于,所述结尾符为一位的
1。17.
一种编码装置,其特征在于,包括:获取模块,用于获取待编码字符串,所述待编码字符串包括至少一个待编码字符;处理模块,用于确定各所述待编码字符的二进制编码,所述二进制编码至少包括分隔符;所述处理模块,还用于根据所有所述待编码字符的二进制编码,得到所述待编码字符串的二进制编码结果
。18.
根据权利要求
17
所述的装置,其特征在于,所述处理模块,具体用于:确定各所述待编码字符在所述待编码字符串中的出现频次;根据所述出现频次确定所述待编码字符的二进制编码,其中,出现频次高的所述待编码字符的二进...

【专利技术属性】
技术研发人员:请求不公布姓名请求不公布姓名
申请(专利权)人:寒武纪昆山信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1