一种哈夫曼解码系统、方法、设备及存储介质技术方案

技术编号:29968100 阅读:30 留言:0更新日期:2021-09-08 09:40
本申请公开了一种哈夫曼解码系统、方法、设备及存储介质。本申请提供的系统包括:输入控制模块、比较器组阵列、内容寻址存储器和解码引擎计算模块,基于这些模块在确定需要解码的一个待解码数据帧后,能够并行确定该待解码数据帧中的每个数据段的码长和偏移量,然后根据每个数据段的码长和偏移量确定每个数据段对应的码字信息;根据每个数据段的码长和偏移量、每个数据段对应的码字信息、以及传递数据,从而可以将待解码数据帧中的所有有效码字一起进行解码。相比于对逐个码字进行解码,提高了解码效率。相应地,本申请提供的一种哈夫曼解码方法、设备及存储介质,也同样具有上述技术效果。术效果。术效果。

【技术实现步骤摘要】
一种哈夫曼解码系统、方法、设备及存储介质


[0001]本申请涉及计算机
,特别涉及一种哈夫曼解码系统、方法、设备及存储介质。

技术介绍

[0002]当今社会,随着5G,物联网,云计算,大数据,人工智能等技术的飞速发展,高速而又安全的数据存储服务面临着新的挑战。在这些技术当中,云计算技术相当于人的大脑,提供着大量的数据存储以及高效的数据计算方式,同时也让计算资源和存储资源更加集中。随着海量的数据呈指数级增长,对现有的存储设备带来前所未有的巨大压力。因此,高效安全的数据压缩技术成为降低存储成本,节省存储资源的有效方法。
[0003]哈夫曼编码是数据压缩中常用的一种编码算法。该算法根据待压缩文本中数据出现的频率来对数据进行可变长度的编码。出现频次最大的文本使用最短的编码,出现频次最小的文本使用最长的编码,以此达到最大化的数据压缩率。
[0004]哈夫曼解码时通过码流和恢复得到的码表进行解码,由上面的编码过程可以知道,哈夫曼编码是一种可变长度的编码,所以某一个待解码码字的长度在解码前是未知的,因此在当前待解码码字没有完成解码之前,本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种哈夫曼解码系统,其特征在于,包括:输入控制模块,用于将任意位宽的待解码数据帧与下一帧拼接,得到传递数据,并将所述传递数据发送至比较器组阵列和解码引擎计算模块;所述比较器组阵列,用于按照压缩最大码长划分所述待解码数据帧,得到多个数据段,并行确定每个数据段的码长和偏移量;内容寻址存储器,用于根据每个数据段的码长和偏移量确定每个数据段对应的码字信息;所述解码引擎计算模块,用于根据每个数据段的码长和偏移量、每个数据段对应的码字信息、以及所述传递数据,并行解码所述待解码数据帧中的所有有效码字。2.根据权利要求1所述的系统,其特征在于,所述比较器组阵列包括P个比较器组,P为所述待解码数据帧的位宽与所述压缩最大码长M之和,任一个比较器组包括M个比较器,M个比较器的位宽分别为1、2、3

M。3.根据权利要求2所述的系统,其特征在于,所述比较器组阵列具体用于:将多个数据段同时输入多个比较器组,以并行确定每个数据段的码长和偏移量。4.根据权利要求1所述的系统,其特征在于,所述内容寻址存储器具体用于:针对任一个数据段,将该数据段的码长和偏移量,并行与内容寻址存储器的各个存储单元中的码字信息进行对比,以确定与该数据段的码长和偏移量均匹配的码字信息。5.根据权利要求1所述的系统,其特征在于,所述解码引擎计算模块包括:状态机,用于控制L向量、P向量以及R向量的计算状态;计算单元,用于基于每个数据段的码长和偏移量构建得到L0向量,并基于所述L0向量计算多个L向量,任一个L向量的计算公式包括:L
m
[n].len=L
m
‑1[n].len+L
m
‑1[L
m
‑1[n].len+n].lenL
m
[n].vld=L
m
‑1[n].vld&L
m
‑1[L
m
‑1[n].len+n].vld&L
m
[n].len<MAX其中,L
m
[n].len表示当前正在计算的向量L
m
的第n个位置的长度值,L
m
‑1[n].len表示前一个向量L
m
‑1的第n个位置的长度值,L
m
‑1[L
m
‑1[n].len+n].len表示前一个向量L
m
‑1的第n个位置所指向的下一个有效位置的长度值;L
m
[n].vld表示当前正在计算的向量L
m
的第n个位置的长度是否有效,L
m
‑1[n].vld表示前一个向量L
m
‑1的第n个位置的长度是否有效,L
m
‑1[L
m
‑1[n].len+n].vld表示前一个向量L
m
‑1的第n个位置所指向的下一个有效位置的长度是否有效,MAX为所述待解码数据帧的位宽与所述压缩最大码长之和;基于多个L向量计算P向量;所述P向量用于记录所有数据段中的有效码字的位置;基于所述P向量,每个数据段对应的码字信息、以及所述传递数据计算R向量;所述R向量用于记录有效码字的位置、每个数据段对应的码字信息、extra_bit信息、所述待解码数据帧中的最后一个有效码字的下一个码字位置;基于所述R向量确定所述待解码数据帧中的所有有效码字的解码结果。6.一种哈夫曼解码方法,其特征在于,应用于如权利要求1至5任一项所述的系统,包括:利用输入控制模块获取任意位宽的待解码数据帧后,将任意位宽的待解码数据帧与下一帧拼接,得到传递数据,并将所述传递数据发送至比较器组阵列和解码引擎计算模块;利用所述比较器组阵列按照压缩最大码长划分所述待解码数据帧,得到多个数据段,
并行确定每个数据段的码长和偏移量;利用内容寻址存储器根据每个数据段的码长和偏移量确定每个数据段对应的码字信息;利用所述解码引擎计算模块根据每个数据段的码长和偏移量、每个数据段对应的码字信息、以及所述传递数据,并行解码所述待解码数据帧中的所有有效码字...

【专利技术属性】
技术研发人员:马恒苏建龙吴艳
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

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

1