CN113381768B - 一种哈夫曼校正编码方法、系统及相关组件 - Google Patents
一种哈夫曼校正编码方法、系统及相关组件 Download PDFInfo
- Publication number
- CN113381768B CN113381768B CN202110916338.1A CN202110916338A CN113381768B CN 113381768 B CN113381768 B CN 113381768B CN 202110916338 A CN202110916338 A CN 202110916338A CN 113381768 B CN113381768 B CN 113381768B
- Authority
- CN
- China
- Prior art keywords
- huffman
- data block
- code table
- target data
- huffman tree
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000000694 effects Effects 0.000 abstract description 7
- 238000007906 compression Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 238000013144 data compression Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 1
- 238000012669 compression test Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4031—Fixed length to variable length coding
- H03M7/4037—Prefix coding
- H03M7/4043—Adaptive prefix coding
- H03M7/405—Tree adaptation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6572—Implementations using a tree structure, e.g. implementations in which the complexity is reduced by a tree structure from O(n) to O (log(n))
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3068—Precoding preceding compression, e.g. Burrows-Wheeler transformation
- H03M7/3079—Context modeling
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4031—Fixed length to variable length coding
- H03M7/4037—Prefix coding
- H03M7/4043—Adaptive prefix coding
- H03M7/4056—Coding table selection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请公开了一种哈夫曼校正编码方法、系统及相关组件,该方法包括:获取目标文件中的目标数据块;利用目标数据块构建哈夫曼树;判断哈夫曼树的深度是否超出预设值;若否,则利用哈夫曼树生成第一码表并对目标数据块进行编码;若是,则利用备用码表对目标数据块进行编码;备用码表为目标文件中已编码数据块的码表。本申请在哈夫曼树的深度超过预设值时选择目标文件中已编码数据块的码表进行编码,由于同一目标文件中不同数据块的符号与概率存在相似性,此时已编码数据块的哈夫曼树的深度没有超出预设值并将顺利生成码表进行编码,利用备用码表即可对目标数据块完成可靠的编码,这一过程同样能达到校正超长码的效果,且效率明显提高。
Description
技术领域
本发明涉及数据压缩领域,特别涉及一种哈夫曼校正编码方法、系统及相关组件。
背景技术
随着信息科学领域数据爆发式的增长,服务器对如何存储海量数据有较大压力,数据压缩成为减轻服务器存储负担、降低存储成本的有效手段。常见的数据压缩标准,如Gzip、zip、zlib等,会将数据块压缩封装为一种deflate格式的数据,deflate是一种无损数据压缩算法,其中采用LZ77算法查找数据中的重复数据,采用哈夫曼编码对重复数据进行表征和编码。
由于哈夫曼编码时经过排序生成的哈夫曼树可能存在过深、编码出现超长码的情况,在超过deflate协议规定的最大深度时,必须对超过最大深度的哈夫曼树进行校正。目前常用的超长码校正方法基于软件算法,需要遍历搜索二叉树,在其中找到超长节点的位置和超长节点的嫁接点。这种方法能够得到保证最优压缩率的哈夫曼树,但是遍历搜索耗时极高,特殊情况下不能并行遍历,极端情形下,校正哈夫曼树的时间消耗可能会数倍于构建哈夫曼树的时间消耗。
因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种快速高效的哈夫曼校正编码方法、系统及相关组件。其具体方案如下:
一种哈夫曼校正编码方法,包括:
获取目标文件中的目标数据块;
利用所述目标数据块构建哈夫曼树;
判断所述哈夫曼树的深度是否超出预设值;
若否,则利用所述哈夫曼树生成第一码表并对所述目标数据块进行编码;
若是,则利用备用码表对所述目标数据块进行编码;
所述备用码表为所述目标文件中已编码数据块的码表。
优选的,所述哈夫曼校正编码方法还包括:
若所述哈夫曼树的深度未超出所述预设值,则将所述第一码表的数值更新到所述备用码表。
优选的,所述利用所述目标数据块构建哈夫曼树的过程,包括:
对所述目标数据块进行频率分布统计,得到频率分布结果;
根据所述频率分布结果构建哈夫曼树。
优选的,所述预设值为15。
优选的,所述已编码数据块具体为所述目标文件中与所述目标数据块相邻的已编码数据块。
优选的,所述哈夫曼校正编码方法通过硬件电路实现。
相应的,本申请还公开了一种哈夫曼校正编码系统,包括:
获取模块,用于获取目标文件中的目标数据块;
构建模块,用于利用所述目标数据块构建哈夫曼树;
判断模块,用于判断所述哈夫曼树的深度是否超出预设值;
编码模块,用于在所述哈夫曼树的深度未超出所述预设值时利用所述哈夫曼树生成第一码表并对所述目标数据块进行编码,还用于在所述哈夫曼树的深度超出所述预设值时利用备用码表对所述目标数据块进行编码;
所述备用码表为所述目标文件中已编码数据块的码表。
相应的,本申请还公开了一种哈夫曼校正编码装置,包括:
存储器,用于存储哈夫曼编码程序;
处理器,用于执行所述哈夫曼编码程序时实现如上文任一项所述哈夫曼校正编码方法的步骤。
优选的,所述处理器为硬件电路。
相应的,本申请还公开了一种可读存储介质,所述可读存储介质上存储有哈夫曼编码程序,所述哈夫曼编码程序被处理器执行时实现如上文任一项所述哈夫曼校正编码方法的步骤。
本申请公开了一种哈夫曼校正编码方法,包括:获取目标文件中的目标数据块;利用所述目标数据块构建哈夫曼树;判断所述哈夫曼树的深度是否超出预设值;若否,则利用所述哈夫曼树生成第一码表并对所述目标数据块进行编码;若是,则利用备用码表对所述目标数据块进行编码;所述备用码表为所述目标文件中已编码数据块的码表。本申请在哈夫曼树的深度超过预设值时选择目标文件中已编码数据块的码表进行编码,由于同一目标文件中不同数据块的符号与概率存在相似性,此时已编码数据块的哈夫曼树的深度没有超出预设值并将顺利生成码表进行编码,利用备用码表即可对目标数据块完成可靠的编码,这一过程中没有对当前目标数据块构建的哈夫曼树进行遍历,同样能达到校正超长码的效果,且效率明显提高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例中一种哈夫曼校正编码方法的步骤流程图;
图2为本发明实施例中数据块之间哈夫曼表相似性数据分布曲线图;
图3为本发明实施例中一种哈夫曼编码校正系统的结构分布图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前常用的超长码校正方法基于软件算法,需要遍历搜索二叉树,在其中找到超长节点的位置和超长节点的嫁接点。这种方法能够得到保证最优压缩率的哈夫曼树,但是遍历搜索耗时极高,特殊情况下不能并行遍历,极端情形下,校正哈夫曼树的时间消耗可能会数倍于构建哈夫曼树的时间消耗。
本申请在哈夫曼树的深度超过预设值时选择目标文件中已编码数据块的码表进行编码,由于同一目标文件中不同数据块的符号与概率存在相似性,此时已编码数据块的哈夫曼树的深度没有超出预设值并将顺利生成码表进行编码,利用备用码表即可对目标数据块完成可靠的编码,同样能达到校正超长码的效果,且效率明显提高。
本发明实施例公开了一种哈夫曼校正编码方法,参见图1所示,包括:
S1:获取目标文件中的目标数据块;
可以理解的是,对任何文件进行压缩时,首先将目标文件分割为若干数据块,然后对每个数据块进行deflate编码,deflate编码的过程包括利用lz77算法模块查找数据块中的重复数据,然后利用哈夫曼编码模块对重复数据进行表征和编码,本实施例正是哈夫曼编码模块的表征和编码部分的校正优化,此处目标数据块为哈夫曼编码模块的输入内容。
S2:利用目标数据块构建哈夫曼树;
具体的,步骤S2包括:
对目标数据块进行频率分布统计,得到频率分布结果;
根据频率分布结果构建哈夫曼树。
S3:判断哈夫曼树的深度是否超出预设值;
可以理解的是,由于本实施例基于deflate协议编码,deflate协议要求哈夫曼树的深度不超过15,因此此处预设值为15。
S4:若否,则利用哈夫曼树生成第一码表并对目标数据块进行编码;
S5:若是,则利用备用码表对目标数据块进行编码;
备用码表为目标文件中已编码数据块的码表。
进一步的,已编码数据块具体为目标文件中与目标数据块相邻的已编码数据块。
可以理解的是,同一目标文件中数据块之间存在相关性,数据块越近,其相关性越强。通过收集统计相关数据,可对同一文件中数据块的哈夫曼数据进行分析,以相似性最常用的评价参数峰值信噪比(Peak Signal to Noise Ratio,PSNR)作为评价参数,PSNR值越高,相似性越大,通常PSNR大于35,数据块接近一致,PSNR大于25,数据块高度一致,PSNR小于20,数据块高度较低,具体的计算公式如下:
其中n为样本的值的比特数,这里可取4,MSE为均方差,计算公式如下:
图2为某一目标文件的数据块之间的哈夫曼码表相似性数据分布曲线,横坐标为不同组数据块的序号,纵轴为每组数据块的PSNR值,图中实线为literal tree类型的哈夫曼树的PSNR,取值大致在30上下,虚线为distance tree类型的哈夫曼树的PSNR,取值在25左右,因此可以认为同一目标文件中的数据块之间的哈夫曼码表具有很高的相似性,在目标数据块的哈夫曼树深度超过预设值时,可利用已编码数据块的码表作为备用码表,对目标数据块进行编码。
为了验证本实施例的有效性,现对两个数据压缩测试集cantrbry和silesia内的文件进行压缩测试,下表1为背景技术中软件算法和本实施例两种算法的测试结果:
表1 测试结果对比
表中,第一列file_name与第二列src_size分别为测试集内文件名及其文件大小,第三列soft_ratio为使用背景技术中软件算法压缩文件得到的压缩比,第四列ratio(context)为本实施例中方法压缩文件得到的压缩比,第五列delta_ratio为软件算法与本实施例的差别,最后一行mean是以上总体数据的均值。从第五列的数据可以看出,本实施例的方案与软件软法在压缩比上差异很小,平均差值只有0.0094,因此本实施例的压缩效果是较为理想的。同时本实施例中哈夫曼校正编码方法可选择硬件电路实现,硬件电路利用本实施例进行编码的效率要远高于使用原软件算法的效率。
进一步的,若哈夫曼树的深度未超出预设值,本实施例中哈夫曼校正编码方法还包括:
S6:将第一码表的数值更新到备用码表。
可以理解的是,当前哈夫曼树的深度未超过预设值时,其对应的第一码表作为目标文件中其他数据块的编码参考,因此将当前第一码表更新到备用码表中,之后新的目标数据块解码可将该备用码表作为参考。
本申请实施例公开了一种哈夫曼校正编码方法,包括:获取目标文件中的目标数据块;利用所述目标数据块构建哈夫曼树;判断所述哈夫曼树的深度是否超出预设值;若否,则利用所述哈夫曼树生成第一码表并对所述目标数据块进行编码;若是,则利用备用码表对所述目标数据块进行编码;所述备用码表为所述目标文件中已编码数据块的码表。本申请在哈夫曼树的深度超过预设值时选择目标文件中已编码数据块的码表进行编码,由于同一目标文件中不同数据块的符号与概率存在相似性,此时已编码数据块的哈夫曼树的深度没有超出预设值并将顺利生成码表进行编码,利用备用码表即可对目标数据块完成可靠的编码,这一过程中没有对当前目标数据块构建的哈夫曼树进行遍历,同样能达到校正超长码的效果,且效率明显提高。
相应的,本申请实施例还公开了一种哈夫曼校正编码系统,参见图3所示,包括:
获取模块1,用于获取目标文件中的目标数据块;
构建模块2,用于利用所述目标数据块构建哈夫曼树;
判断模块3,用于判断所述哈夫曼树的深度是否超出预设值;
编码模块4,用于在所述哈夫曼树的深度未超出所述预设值时利用所述哈夫曼树生成第一码表并对所述目标数据块进行编码,还用于在所述哈夫曼树的深度超出所述预设值时利用备用码表对所述目标数据块进行编码;
所述备用码表为所述目标文件中已编码数据块的码表。
本申请实施例在哈夫曼树的深度超过预设值时选择目标文件中已编码数据块的码表进行编码,由于同一目标文件中不同数据块的符号与概率存在相似性,此时已编码数据块的哈夫曼树的深度没有超出预设值并将顺利生成码表进行编码,利用备用码表即可对目标数据块完成可靠的编码,这一过程中没有对当前目标数据块构建的哈夫曼树进行遍历,同样能达到校正超长码的效果,且效率明显提高。
在一些具体的实施例中,所述哈夫曼校正编码系统还包括:
更新模块5,用于若所述哈夫曼树的深度未超出预设值,则将所述第一码表的数值更新到所述备用码表。
在一些具体的实施例中,所述构建模块具体用于:
对所述目标数据块进行频率分布统计,得到频率分布结果;
根据所述频率分布结果构建哈夫曼树。
在一些具体的实施例中,所述预设值为15。
在一些具体的实施例中,所述已编码数据块具体为所述目标文件中与所述目标数据块相邻的已编码数据块。
相应的,本申请实施例还公开了一种哈夫曼校正编码装置,包括:
存储器,用于存储哈夫曼编码程序;
处理器,用于执行所述哈夫曼编码程序时实现如上文任一项实施例所述哈夫曼校正编码方法的步骤。
在一些具体的实施例中,所述处理器为硬件电路。
相应的,本申请还公开了一种可读存储介质,所述可读存储介质上存储有哈夫曼编码程序,所述哈夫曼编码程序被处理器执行时实现如上文任一项实施例所述哈夫曼校正编码方法的步骤。
其中,本实施例中有关哈夫曼校正编码方法的具体细节,可以参照上文实施例中的相关描述,此处不再赘述。
其中,本实施例中哈夫曼校正编码装置和可读存储介质具有与上文实施例中哈夫曼校正编码方法相同的技术效果,此处不再赘述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种哈夫曼校正编码方法、系统及相关组件进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种哈夫曼校正编码方法,其特征在于,包括:
获取目标文件中的目标数据块;
利用所述目标数据块构建哈夫曼树;
判断所述哈夫曼树的深度是否超出预设值;
若否,则利用所述哈夫曼树生成第一码表并对所述目标数据块进行编码;
若是,则利用备用码表对所述目标数据块进行编码;
所述备用码表为所述目标文件中已编码数据块的码表。
2.根据权利要求1所述哈夫曼校正编码方法,其特征在于,还包括:
若所述哈夫曼树的深度未超出所述预设值,则将所述第一码表的数值更新到所述备用码表。
3.根据权利要求1所述哈夫曼校正编码方法,其特征在于,所述利用所述目标数据块构建哈夫曼树的过程,包括:
对所述目标数据块进行频率分布统计,得到频率分布结果;
根据所述频率分布结果构建哈夫曼树。
4.根据权利要求1所述哈夫曼校正编码方法,其特征在于,所述预设值为15。
5.根据权利要求1所述哈夫曼校正编码方法,其特征在于,所述已编码数据块具体为所述目标文件中与所述目标数据块相邻的已编码数据块。
6.根据权利要求1至5任一项所述哈夫曼校正编码方法,其特征在于,所述哈夫曼校正编码方法通过硬件电路实现。
7.一种哈夫曼校正编码系统,其特征在于,包括:
获取模块,用于获取目标文件中的目标数据块;
构建模块,用于利用所述目标数据块构建哈夫曼树;
判断模块,用于判断所述哈夫曼树的深度是否超出预设值;
编码模块,用于在所述哈夫曼树的深度未超出所述预设值时利用所述哈夫曼树生成第一码表并对所述目标数据块进行编码,还用于在所述哈夫曼树的深度超出所述预设值时利用备用码表对所述目标数据块进行编码;
所述备用码表为所述目标文件中已编码数据块的码表。
8.一种哈夫曼校正编码装置,其特征在于,包括:
存储器,用于存储哈夫曼编码程序;
处理器,用于执行所述哈夫曼编码程序时实现如权利要求1至6任一项所述哈夫曼校正编码方法的步骤。
9.根据权利要求8所述哈夫曼校正编码装置,其特征在于,所述处理器为硬件电路。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有哈夫曼编码程序,所述哈夫曼编码程序被处理器执行时实现如权利要求1至6任一项所述哈夫曼校正编码方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110916338.1A CN113381768B (zh) | 2021-08-11 | 2021-08-11 | 一种哈夫曼校正编码方法、系统及相关组件 |
US18/277,984 US11881873B1 (en) | 2021-08-11 | 2021-12-30 | Huffman correction encoding method and system, and relevant components |
PCT/CN2021/142856 WO2023015831A1 (zh) | 2021-08-11 | 2021-12-30 | 一种哈夫曼校正编码方法、系统及相关组件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110916338.1A CN113381768B (zh) | 2021-08-11 | 2021-08-11 | 一种哈夫曼校正编码方法、系统及相关组件 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113381768A CN113381768A (zh) | 2021-09-10 |
CN113381768B true CN113381768B (zh) | 2021-11-09 |
Family
ID=77576691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110916338.1A Active CN113381768B (zh) | 2021-08-11 | 2021-08-11 | 一种哈夫曼校正编码方法、系统及相关组件 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11881873B1 (zh) |
CN (1) | CN113381768B (zh) |
WO (1) | WO2023015831A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113381768B (zh) | 2021-08-11 | 2021-11-09 | 苏州浪潮智能科技有限公司 | 一种哈夫曼校正编码方法、系统及相关组件 |
CN113676187A (zh) * | 2021-08-11 | 2021-11-19 | 山东云海国创云计算装备产业创新中心有限公司 | 一种哈夫曼修正编码方法、系统及相关组件 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1143861A (zh) * | 1995-08-03 | 1997-02-26 | Ntt移动通信网株式会社 | 变长编码数据发送装置 |
US20150229326A1 (en) * | 2013-10-21 | 2015-08-13 | International Business Machines Corporation | Boosting decompression in the presence of reoccurring huffman trees |
CN111510156A (zh) * | 2020-06-03 | 2020-08-07 | 合肥师范学院 | 一种基于分段的哈夫曼动态压缩及解压大文件的方法 |
US10756758B1 (en) * | 2019-08-30 | 2020-08-25 | International Business Machines Corporation | Length-limited huffman encoding |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3415481B2 (ja) * | 1999-05-27 | 2003-06-09 | Necエレクトロニクス株式会社 | 可変長符号の復号装置 |
US6771824B1 (en) * | 1999-12-28 | 2004-08-03 | Lucent Technologies Inc. | Adaptive variable length decoding method |
US8593308B1 (en) * | 2012-05-31 | 2013-11-26 | International Business Machines Corporation | Method of accelerating dynamic Huffman decompaction within the inflate algorithm |
US9337862B2 (en) * | 2014-06-09 | 2016-05-10 | Tidal Systems, Inc. | VLSI efficient Huffman encoding apparatus and method |
US10135463B1 (en) * | 2017-09-29 | 2018-11-20 | Intel Corporation | Method and apparatus for accelerating canonical huffman encoding |
US10694217B2 (en) * | 2018-09-21 | 2020-06-23 | Intel Corporation | Efficient length limiting of compression codes |
US11075647B2 (en) * | 2019-02-27 | 2021-07-27 | Movidius Limited | Methods and apparatus to compress data |
CN111093081B (zh) * | 2019-12-20 | 2022-05-31 | 合肥埃科光电科技股份有限公司 | 一种图像无损压缩方法及系统 |
CN113381768B (zh) * | 2021-08-11 | 2021-11-09 | 苏州浪潮智能科技有限公司 | 一种哈夫曼校正编码方法、系统及相关组件 |
CN113676187A (zh) * | 2021-08-11 | 2021-11-19 | 山东云海国创云计算装备产业创新中心有限公司 | 一种哈夫曼修正编码方法、系统及相关组件 |
CN113708772A (zh) * | 2021-08-11 | 2021-11-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种哈夫曼编码方法、系统、装置及可读存储介质 |
-
2021
- 2021-08-11 CN CN202110916338.1A patent/CN113381768B/zh active Active
- 2021-12-30 US US18/277,984 patent/US11881873B1/en active Active
- 2021-12-30 WO PCT/CN2021/142856 patent/WO2023015831A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1143861A (zh) * | 1995-08-03 | 1997-02-26 | Ntt移动通信网株式会社 | 变长编码数据发送装置 |
US20150229326A1 (en) * | 2013-10-21 | 2015-08-13 | International Business Machines Corporation | Boosting decompression in the presence of reoccurring huffman trees |
US10756758B1 (en) * | 2019-08-30 | 2020-08-25 | International Business Machines Corporation | Length-limited huffman encoding |
CN111510156A (zh) * | 2020-06-03 | 2020-08-07 | 合肥师范学院 | 一种基于分段的哈夫曼动态压缩及解压大文件的方法 |
Non-Patent Citations (3)
Title |
---|
An optimal text compression algorithm based on frequent pattern;C. Oswald等;《Journal of Ambient Intelligence and Humanized computing》;20170715;第803-822页 * |
一种基于缓冲窗口的双哈夫曼压缩算法;乔雨等;《物联网技术》;20210219;第90-94页 * |
利用少数相关位的SoC测试数据压缩方法;欧阳一鸣等;《电子测量与仪器学报》;20130131;第27卷(第1期);第76-82 * |
Also Published As
Publication number | Publication date |
---|---|
US11881873B1 (en) | 2024-01-23 |
CN113381768A (zh) | 2021-09-10 |
WO2023015831A1 (zh) | 2023-02-16 |
US20240039561A1 (en) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11044495B1 (en) | Systems and methods for variable length codeword based data encoding and decoding using dynamic memory allocation | |
US10979071B2 (en) | Systems and methods for variable length codeword based, hybrid data encoding and decoding using dynamic memory allocation | |
CN113381768B (zh) | 一种哈夫曼校正编码方法、系统及相关组件 | |
US5510785A (en) | Method of coding a digital signal, method of generating a coding table, coding apparatus and coding method | |
KR100750165B1 (ko) | 압축률 향상을 위해 개선된 컨텍스트 모델 선택을 사용하는cabac 부호화 방법 및 장치, 그리고 cabac복호화 방법 및 장치 | |
US5999111A (en) | Variable length encoding/decoding apparatus using re-association of symbol-codeword for variable length code table | |
KR101049699B1 (ko) | 데이터의 압축방법 | |
KR101118089B1 (ko) | 가변장 복호화 장치 및 방법 | |
CN107370560A (zh) | 一种极化码的编码和速率匹配方法、装置及设备 | |
CN113676187A (zh) | 一种哈夫曼修正编码方法、系统及相关组件 | |
IL294187A (en) | Methods and systems for information compression | |
US5594435A (en) | Permutation-based data compression | |
Atallah et al. | Pattern matching image compression: Algorithmic and empirical results | |
US6778109B1 (en) | Method for efficient data encoding and decoding | |
CN106357275B (zh) | 一种哈夫曼压缩方法及装置 | |
US6055273A (en) | Data encoding and decoding method and device of a multiple-valued information source | |
CN112398484A (zh) | 一种编码方法及相关设备 | |
CN113708772A (zh) | 一种哈夫曼编码方法、系统、装置及可读存储介质 | |
KR101023536B1 (ko) | 데이터 무손실 압축 방법 | |
CN108880559B (zh) | 数据压缩方法、数据解压缩方法、压缩设备及解压缩设备 | |
Djusdek et al. | Adaptive image compression using adaptive Huffman and LZW | |
CN111711511A (zh) | 频域数据有损压缩方法 | |
CN114095035A (zh) | 一种依托云字典基于字节的无损压缩方法 | |
CN114429200A (zh) | 规范化哈夫曼编解码方法及神经网络计算芯片 | |
Kozhemiakina et al. | Means and results of efficiency analysis for data compression methods applied to typical multimedia data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |