CN113708772A - 一种哈夫曼编码方法、系统、装置及可读存储介质 - Google Patents
一种哈夫曼编码方法、系统、装置及可读存储介质 Download PDFInfo
- Publication number
- CN113708772A CN113708772A CN202110919366.9A CN202110919366A CN113708772A CN 113708772 A CN113708772 A CN 113708772A CN 202110919366 A CN202110919366 A CN 202110919366A CN 113708772 A CN113708772 A CN 113708772A
- Authority
- CN
- China
- Prior art keywords
- frequency distribution
- distribution result
- data block
- huffman
- module
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012545 processing Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 9
- 238000007906 compression Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 238000013144 data compression Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 241001362551 Samba Species 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请公开了一种哈夫曼编码方法、系统、装置及可读存储介质,该方法包括:获取目标文件中的目标数据块;对目标数据块进行频率分布统计,得到第一频率分布结果;利用第一频率分布结果和目标文件中的预设数据块的频率分布结果,得到第二频率分布结果;利用第一频率分布结果构建第一哈夫曼树;判断第一哈夫曼树的深度是否超出预设值;若否,则利用第一哈夫曼树对目标数据块编码;若是,利用第二频率分布结果构建第二哈夫曼树,并利用第二哈夫曼树对目标数据块编码。本申请在第一哈夫曼树深度超出预设值时,选择生成第二频率分布结果进行后续表征和编码,这一过程中没有对第一哈夫曼树进行遍历,同样达到了矫正超长码的效果,且效率明显提升。
Description
技术领域
本发明涉及数据压缩领域,特别涉及一种哈夫曼编码方法、系统、装置及可读存储介质。
背景技术
随着信息科学领域数据爆发式的增长,服务器对如何存储海量数据有较大压力,数据压缩成为减轻服务器存储负担、降低存储成本的有效手段。常见的数据压缩标准,如Gzip、zip、zlib等,会将数据块压缩封装为一种deflate格式的数据,deflate是一种无损数据压缩算法,其中采用LZ77算法查找数据中的重复数据,采用哈夫曼编码对重复数据进行表征和编码。
由于哈夫曼编码时经过排序生成的哈夫曼树可能存在过深、编码出现超长码的情况,在超过deflate协议规定的最大深度时,必须对超过最大深度的哈夫曼树进行校正。目前常用的超长码校正方法基于软件算法,需要遍历搜索二叉树,在其中找到超长节点的位置和超长节点的嫁接点。这种方法能够得到保证最优压缩率的哈夫曼树,但是遍历搜索耗时极高,特殊情况下不能并行遍历,极端情形下,校正哈夫曼树的时间消耗可能会数倍于构建哈夫曼树的时间消耗。
因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种快速校正的哈夫曼编码方法、系统、装置及可读存储介质。其具体方案如下:
一种哈夫曼编码方法,包括:
获取目标文件中的目标数据块;
对所述目标数据块进行频率分布统计,得到第一频率分布结果;
利用所述第一频率分布结果和所述目标文件中的预设数据块的频率分布结果,得到第二频率分布结果;
利用所述第一频率分布结果构建第一哈夫曼树;
判断所述第一哈夫曼树的深度是否超出预设值;
若否,则利用所述第一哈夫曼树对所述目标数据块编码;
若是,利用所述第二频率分布结果构建第二哈夫曼树,并利用所述第二哈夫曼树对所述目标数据块编码。
优选的,所述利用所述第一频率分布结果和所述目标文件中的预设数据块的频率分布结果,得到第二频率分布结果的过程,具体包括:
对所述第一频率分布结果和所述目标文件中的预设数据块的频率分布结果进行加权处理,得到第二频率分布结果。
优选的,所述对所述第一频率分布结果和所述目标文件中的预设数据块的频率分布结果进行加权处理,得到第二频率分布结果的过程,具体包括:
根据所述第一频率分布结果的第一权重和所述预设数据块的频率分布结果的第二权重,对所述第一频率分布结果和所述目标文件中的预设数据块的频率分布结果进行加权处理,得到第二频率分布结果;
其中所述第一权重大于所述第二权重。
优选的,所述预设数据块为所述目标文件中非所述目标数据块的一个或多个数据块。
优选的,所述预设数据块具体为所述目标文件中已完成编码的数据块。
优选的,所述哈夫曼编码方法通过硬件电路实现。
相应的,本申请还公开了一种哈夫曼编码系统,包括:数据获取模块,频率获取模块,频率更新模块,构建模块,判断模块和编码模块,其中:
所述数据获取模块用于获取目标文件中的目标数据块;
所述频率统计模块用于对所述目标数据块进行频率分布统计,得到第一频率分布结果;
所述频率更新模块用于利用所述第一频率分布结果和所述目标文件中的预设数据块的频率分布结果,得到第二频率分布结果;
所述构建模块用于利用所述第一频率分布结果构建第一哈夫曼树;
所述判断模块用于判断所述第一哈夫曼树的深度是否超出预设值;若否,则触发所述编码模块利用所述第一哈夫曼树对所述目标数据块编码;若是,则触发所述构建模块利用所述第二频率分布结果构建第二哈夫曼树,并触发所述编码模块利用所述第二哈夫曼树对所述目标数据块编码。
相应的,本申请还公开了一种哈夫曼编码装置,包括:
存储器,用于存储哈夫曼编码程序;
处理器,用于执行所述哈夫曼编码程序时实现如上文任一项所述哈夫曼编码方法的步骤。
优选的,所述处理器为硬件电路。
相应的,本申请还公开了一种可读存储介质,所述可读存储介质上存储有哈夫曼编码程序,所述哈夫曼编码程序被处理器执行时实现如上文任一项所述哈夫曼编码方法的步骤。
本申请公开了一种哈夫曼编码方法,包括:获取目标文件中的目标数据块;对所述目标数据块进行频率分布统计,得到第一频率分布结果;利用所述第一频率分布结果和所述目标文件中的预设数据块的频率分布结果,得到第二频率分布结果;利用所述第一频率分布结果构建第一哈夫曼树;判断所述第一哈夫曼树的深度是否超出预设值;若否,则利用所述第一哈夫曼树对所述目标数据块编码;若是,利用所述第二频率分布结果构建第二哈夫曼树,并利用所述第二哈夫曼树对所述目标数据块编码。根据同一目标文件中不同数据库的符号与概率存在相似性,本申请在仅使用目标数据块的第一哈夫曼树深度超出预设值时,选择结合目标文件中其他数据块生成第二频率分布结果进行后续表征和编码,这一过程中没有对第一哈夫曼树进行遍历,同样达到了矫正超长码的效果,且效率明显提升。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例中一种哈夫曼编码方法的步骤流程图;
图2为本发明实施例中数据块之间哈夫曼表相似性数据分布曲线图;
图3为本发明实施例中一种哈夫曼编码系统的结构分布图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前常用的超长码校正方法基于软件算法,需要遍历搜索二叉树,在其中找到超长节点的位置和超长节点的嫁接点。这种方法能够得到保证最优压缩率的哈夫曼树,但是遍历搜索耗时极高,特殊情况下不能并行遍历,极端情形下,校正哈夫曼树的时间消耗可能会数倍于构建哈夫曼树的时间消耗。
根据同一目标文件中不同数据库的符号与概率存在相似性,本申请在仅使用目标数据块的第一哈夫曼树深度超出预设值时,选择结合目标文件中其他数据块生成第二频率分布结果进行后续表征和编码,同样达到了矫正超长码的效果,且效率明显提升。
本发明实施例公开了一种哈夫曼编码方法,参见图1所示,包括:
S1:获取目标文件中的目标数据块;
S2:对目标数据块进行频率分布统计,得到第一频率分布结果;
S3:利用第一频率分布结果和目标文件中的预设数据块的频率分布结果,得到第二频率分布结果;
S4:利用第一频率分布结果构建第一哈夫曼树;
S5:判断第一哈夫曼树的深度是否超出预设值;
S6:若否,则利用第一哈夫曼树对目标数据块编码;
S7:若是,利用第二频率分布结果构建第二哈夫曼树,并利用第二哈夫曼树对目标数据块编码。
可以理解的是,对任何文件进行压缩时,首先将目标文件分割为若干数据块,然后对每个数据块进行deflate编码,deflate编码的过程包括利用lz77算法模块查找数据块中的重复数据,然后利用哈夫曼编码模块对重复数据进行表征和编码,本实施例正是哈夫曼编码模块的表征和编码部分的校正优化,此处目标数据块为哈夫曼编码模块的输入内容。
具体的,哈夫曼编码模块的常规表征和编码包括对数据块进行频率分布统计得到频率分布结果、利用该频率分布结果构建哈夫曼树、利用哈夫曼树对数据块进行编码,由于哈夫曼树存在深度超出预设值的可能,一旦哈夫曼树的深度超出预设值,对应哈夫曼编码也会超长,因此需要对哈夫曼树进行校正。本实施例考虑到同一文件中数据块存在相关性,因此利用同一文件中的预设数据块重新确定新的频率分布结果也即第二频率分布结果并进行后续编码操作,在不需要遍历原哈夫曼树的情况下获取一个深度更小的哈夫曼树。
可以理解的是,同一文件中数据块之间存在相关性,数据块越近,其相关性越强。通过收集统计相关数据,可对同一文件中数据块的哈夫曼数据进行分析,以相似性最常用的评价参数峰值信噪比(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左右,因此可以认为同一目标文件中的数据块之间的哈夫曼码表具有很高的相似性,因此可考虑使用目标文件中的其他数据块的频率分布结果来调整目标数据块需要的哈夫曼树。
可以理解的是,步骤S3是为步骤S7做准备,因此S3只要在步骤S7之前执行完成即可,甚至如果步骤S5的判断结果指向步骤S6,也可省略步骤S3的动作,具体由操作人员根据实际情况进行设计即可。
进一步的,步骤S3利用第一频率分布结果和目标文件中的预设数据块的频率分布结果,得到第二频率分布结果的过程,具体包括:
对第一频率分布结果和目标文件中的预设数据块的频率分布结果进行加权处理,得到第二频率分布结果。
进一步的,步骤S3对第一频率分布结果和目标文件中的预设数据块的频率分布结果进行加权处理,得到第二频率分布结果的过程,具体包括:
根据第一频率分布结果的第一权重和预设数据块的频率分布结果的第二权重,对第一频率分布结果和目标文件中的预设数据块的频率分布结果进行加权处理,得到第二频率分布结果;
其中第一权重大于第二权重。
其中,预设数据块为目标文件中非目标数据块的一个或多个数据块。
可以理解的是,为了提高编码的可靠性,选择的预设数据块具体为目标文件中已完成编码的数据块,由于该数据块已完成编码,其对应的哈夫曼树、频率分布结果均满足deflate协议要求,具有更高的参考意义。
进一步的,相比软件算法,本实施例中计算场景较少,且具有固定的处理逻辑,因此可选择硬件电路来实现本实施例中哈夫曼编码方法,达到快速高效的编码效果。
为了验证本实施例的有效性,现对两个数据压缩测试集cantrbry和silesia内的文件进行压缩测试,下表1为背景技术中软件算法和本实施例两种算法的测试结果:
表1测试结果对比
file-name | src_size | soft_ratio | ratio(context) | delta_ratio |
asyoulik_txt | 125179 | 2.0704 | 2.0674 | 0.0030 |
bible_txt | 4047392 | 2.5092 | 2.4768 | 0.0324 |
kennedy_xls | 1029744 | 3.5184 | 3.5161 | 0.0023 |
plrabn12_txt | 481861 | 1.9911 | 1.9878 | 0.0033 |
ptt5 | 513216 | 6.5209 | 6.5196 | 0.0013 |
world192_txt | 2473400 | 2.0305 | 2.0268 | 0.0037 |
dickens | 10192446 | 2.0682 | 2.0647 | 0.0035 |
mozilla | 51220480 | 2.1495 | 2.1359 | 0.0136 |
mr | 9970564 | 2.4542 | 2.4385 | 0.0157 |
office | 6152192 | 1.6271 | 1.6165 | 0.0106 |
osdb | 10085684 | 1.4700 | 1.4689 | 0.0011 |
reymont | 6627202 | 2.4264 | 2.4169 | 0.0095 |
samba | 21606400 | 2.8845 | 2.8727 | 0.0118 |
sao | 7251944 | 1.2107 | 1.2012 | 0.0095 |
xml | 5345280 | 4.2371 | 4.2322 | 0.0049 |
webster | 41458703 | 2.5382 | 2.5346 | 0.0036 |
x-ray | 8474240 | 1.2630 | 1.2575 | 0.0055 |
Mean | 2.5276 | 2.5128.52217 | 0.0094 0.0059 |
表中,第一列file_name与第二列src_size分别为测试集内文件名及其文件大小,第三列soft_ratio为使用背景技术中软件算法压缩文件得到的压缩比,第四列ratio(context)为本实施例中方法压缩文件得到的压缩比,第五列delta_ratio为软件算法与本实施例的差别,最后一行mean是以上总体数据的均值。从第五列的数据可以看出,本实施例的方案与软件软法在压缩比上差异很小,平均差值只有0.0059,因此本实施例的压缩效果是较为理想的。同时本实施例中哈夫曼校正编码方法可选择通过硬件电路实现,硬件电路利用本实施例进行编码的效率要远高于使用原软件算法的效率。
可以理解的是,第二哈夫曼树通常不会出现深度超过预设值的情况,如果该第二哈夫曼树也超过了预设值,则可以选用另外的预设数据块确定新的第二频率分布结果并构建新的第二哈夫曼树,或选择目标文件中已编码的某数据块的备用码表对目标数据块进行编码,也能够实现较为理想的编码效果。此时,如果目标数据块顺利编码,可将其对应的码表更新到备用码表的存储RAM中,以供之后的数据块需要时参考。
本申请实施例公开了一种哈夫曼校正编码方法,包括:获取目标文件中的目标数据块;利用所述目标数据块构建哈夫曼树;判断所述哈夫曼树的深度是否超出预设值;若否,则利用所述哈夫曼树生成第一码表并对所述目标数据块进行编码;若是,则利用备用码表对所述目标数据块进行编码;所述备用码表为所述目标文件中已编码数据块的码表。本申请在哈夫曼树的深度超过预设值时选择目标文件中已编码数据块的码表进行编码,由于同一目标文件中不同数据块的符号与概率存在相似性,此时已编码数据块的哈夫曼树的深度没有超出预设值并将顺利生成码表进行编码,利用备用码表即可对目标数据块完成可靠的编码,这一过程中没有对当前目标数据块构建的哈夫曼树进行遍历,同样能达到校正超长码的效果,且效率明显提高。
相应的,本申请实施例还公开了一种哈夫曼编码系统,参见图3所示,包括:数据获取模块1,频率获取模块2,频率更新模块3,构建模块4,判断模块5和编码模块6,其中:
所述数据获取模块1用于获取目标文件中的目标数据块;
所述频率统计模块2用于对所述目标数据块进行频率分布统计,得到第一频率分布结果;
所述频率更新模块3用于利用所述第一频率分布结果和所述目标文件中的预设数据块的频率分布结果,得到第二频率分布结果;
所述构建模块4用于利用所述第一频率分布结果构建第一哈夫曼树;
所述判断模块5用于判断所述第一哈夫曼树的深度是否超出预设值;若否,则触发所述编码模块6利用所述第一哈夫曼树对所述目标数据块编码;若是,则触发所述构建模块4利用所述第二频率分布结果构建第二哈夫曼树,并触发所述编码模块6利用所述第二哈夫曼树对所述目标数据块编码。
本申请实施例在哈夫曼树的深度超过预设值时选择目标文件中已编码数据块的码表进行编码,由于同一目标文件中不同数据块的符号与概率存在相似性,此时已编码数据块的哈夫曼树的深度没有超出预设值并将顺利生成码表进行编码,利用备用码表即可对目标数据块完成可靠的编码,这一过程中没有对当前目标数据块构建的哈夫曼树进行遍历,同样能达到校正超长码的效果,且效率明显提高。
在一些具体的实施例中,频率更新模块3具体用于:
对所述第一频率分布结果和所述目标文件中的预设数据块的频率分布结果进行加权处理,得到第二频率分布结果。
在一些具体的实施例中,频率更新模块3具体用于:
根据所述第一频率分布结果的第一权重和所述预设数据块的频率分布结果的第二权重,对所述第一频率分布结果和所述目标文件中的预设数据块的频率分布结果进行加权处理,得到第二频率分布结果;
其中所述第一权重大于所述第二权重。
在一些具体的实施例中,所述预设数据块为所述目标文件中非所述目标数据块的一个或多个数据块。
在一些具体的实施例中,所述预设数据块具体为所述目标文件中已完成编码的数据块。
相应的,本申请实施例还公开了一种哈夫曼编码装置,包括:
存储器,用于存储哈夫曼编码程序;
处理器,用于执行所述哈夫曼编码程序时实现如上文任一项实施例所述哈夫曼编码方法的步骤。
在一些具体的实施例中,所述处理器为硬件电路。
相应的,本申请实施例还公开了一种可读存储介质,所述可读存储介质上存储有哈夫曼编码程序,所述哈夫曼编码程序被处理器执行时实现如上文任一项实施例所述哈夫曼编码方法的步骤。
其中,本实施例中有关哈夫曼编码方法的具体内容可以参照上文实施例中的相关描述,此处不再赘述。
其中,本实施例中哈夫曼编码装置和可读存储介质均具有与上文实施例中哈夫曼编码方法相同的技术效果,此处不再赘述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种哈夫曼编码方法、系统、装置及可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种哈夫曼编码方法,其特征在于,包括:
获取目标文件中的目标数据块;
对所述目标数据块进行频率分布统计,得到第一频率分布结果;
利用所述第一频率分布结果和所述目标文件中的预设数据块的频率分布结果,得到第二频率分布结果;
利用所述第一频率分布结果构建第一哈夫曼树;
判断所述第一哈夫曼树的深度是否超出预设值;
若否,则利用所述第一哈夫曼树对所述目标数据块编码;
若是,利用所述第二频率分布结果构建第二哈夫曼树,并利用所述第二哈夫曼树对所述目标数据块编码。
2.根据权利要求1所述哈夫曼编码方法,其特征在于,所述利用所述第一频率分布结果和所述目标文件中的预设数据块的频率分布结果,得到第二频率分布结果的过程,具体包括:
对所述第一频率分布结果和所述目标文件中的预设数据块的频率分布结果进行加权处理,得到第二频率分布结果。
3.根据权利要求2所述哈夫曼编码方法,其特征在于,所述对所述第一频率分布结果和所述目标文件中的预设数据块的频率分布结果进行加权处理,得到第二频率分布结果的过程,具体包括:
根据所述第一频率分布结果的第一权重和所述预设数据块的频率分布结果的第二权重,对所述第一频率分布结果和所述目标文件中的预设数据块的频率分布结果进行加权处理,得到第二频率分布结果;
其中所述第一权重大于所述第二权重。
4.根据权利要求1至3任一项所述哈夫曼编码方法,其特征在于,所述预设数据块为所述目标文件中非所述目标数据块的一个或多个数据块。
5.根据权利要求4所述哈夫曼编码方法,其特征在于,所述预设数据块具体为所述目标文件中已完成编码的数据块。
6.根据权利要求5所述哈夫曼编码方法,其特征在于,所述哈夫曼编码方法通过硬件电路实现。
7.一种哈夫曼编码系统,其特征在于,包括:数据获取模块,频率获取模块,频率更新模块,构建模块,判断模块和编码模块,其中:
所述数据获取模块用于获取目标文件中的目标数据块;
所述频率统计模块用于对所述目标数据块进行频率分布统计,得到第一频率分布结果;
所述频率更新模块用于利用所述第一频率分布结果和所述目标文件中的预设数据块的频率分布结果,得到第二频率分布结果;
所述构建模块用于利用所述第一频率分布结果构建第一哈夫曼树;
所述判断模块用于判断所述第一哈夫曼树的深度是否超出预设值;若否,则触发所述编码模块利用所述第一哈夫曼树对所述目标数据块编码;若是,则触发所述构建模块利用所述第二频率分布结果构建第二哈夫曼树,并触发所述编码模块利用所述第二哈夫曼树对所述目标数据块编码。
8.一种哈夫曼编码装置,其特征在于,包括:
存储器,用于存储哈夫曼编码程序;
处理器,用于执行所述哈夫曼编码程序时实现如权利要求1至6任一项所述哈夫曼编码方法的步骤。
9.根据权利要求8所述哈夫曼编码装置,其特征在于,所述处理器为硬件电路。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有哈夫曼编码程序,所述哈夫曼编码程序被处理器执行时实现如权利要求1至6任一项所述哈夫曼编码方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110919366.9A CN113708772A (zh) | 2021-08-11 | 2021-08-11 | 一种哈夫曼编码方法、系统、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110919366.9A CN113708772A (zh) | 2021-08-11 | 2021-08-11 | 一种哈夫曼编码方法、系统、装置及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113708772A true CN113708772A (zh) | 2021-11-26 |
Family
ID=78652271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110919366.9A Pending CN113708772A (zh) | 2021-08-11 | 2021-08-11 | 一种哈夫曼编码方法、系统、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113708772A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023015831A1 (zh) * | 2021-08-11 | 2023-02-16 | 苏州浪潮智能科技有限公司 | 一种哈夫曼校正编码方法、系统及相关组件 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130135123A1 (en) * | 2011-11-24 | 2013-05-30 | International Business Machines Corporation | Compression algorithm incorporating automatic generation of a bank of predefined huffman dictionaries |
US20150227565A1 (en) * | 2014-02-11 | 2015-08-13 | International Business Machines Corporation | Efficient caching of huffman dictionaries |
KR20160102593A (ko) * | 2015-02-21 | 2016-08-31 | 김정훈 | 분포데이터의 블럭화를 이용한 허프만 부호화의 효율화 방법 및 그 장치 |
US9584156B1 (en) * | 2015-11-17 | 2017-02-28 | International Business Mahcines Corporation | Creating a dynamic Huffman table |
CN108259911A (zh) * | 2018-03-29 | 2018-07-06 | 苏州佳智彩光电科技有限公司 | 一种OLED屏Demura数据无损压缩、解压缩方法 |
CN110008192A (zh) * | 2019-04-12 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种数据文件压缩方法、装置、设备及可读存储介质 |
-
2021
- 2021-08-11 CN CN202110919366.9A patent/CN113708772A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130135123A1 (en) * | 2011-11-24 | 2013-05-30 | International Business Machines Corporation | Compression algorithm incorporating automatic generation of a bank of predefined huffman dictionaries |
US20150227565A1 (en) * | 2014-02-11 | 2015-08-13 | International Business Machines Corporation | Efficient caching of huffman dictionaries |
KR20160102593A (ko) * | 2015-02-21 | 2016-08-31 | 김정훈 | 분포데이터의 블럭화를 이용한 허프만 부호화의 효율화 방법 및 그 장치 |
US9584156B1 (en) * | 2015-11-17 | 2017-02-28 | International Business Mahcines Corporation | Creating a dynamic Huffman table |
CN108259911A (zh) * | 2018-03-29 | 2018-07-06 | 苏州佳智彩光电科技有限公司 | 一种OLED屏Demura数据无损压缩、解压缩方法 |
CN110008192A (zh) * | 2019-04-12 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种数据文件压缩方法、装置、设备及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
DANIEL YUNGE: "Dynamic Alternation of Huffman Codebooks for Sensor Data Compression", 《IEEE EMBEDDED SYSTEMS LETTERS ( VOLUME: 9, ISSUE: 3, SEPTEMBER 2017)》, 31 December 2017 (2017-12-31), pages 81 - 84 * |
鄢涛: "基于哈夫曼编码的多线程无损压缩库的设计与实现", 《成都大学学报(自然科学版)》, 31 December 2019 (2019-12-31), pages 287 - 290 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023015831A1 (zh) * | 2021-08-11 | 2023-02-16 | 苏州浪潮智能科技有限公司 | 一种哈夫曼校正编码方法、系统及相关组件 |
US11881873B1 (en) | 2021-08-11 | 2024-01-23 | Inspur Suzhou Intelligent Technology Co., Ltd. | Huffman correction encoding method and system, and relevant components |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10491240B1 (en) | Systems and methods for variable length codeword based, hybrid data encoding and decoding using dynamic memory allocation | |
US6392567B2 (en) | Apparatus for repeatedly compressing a data string and a method thereof | |
CN113381768B (zh) | 一种哈夫曼校正编码方法、系统及相关组件 | |
CN109716658B (zh) | 一种基于相似性的重复数据删除方法和系统 | |
IL294187A (en) | Methods and systems for information compression | |
Bhattacharjee et al. | Comparison study of lossless data compression algorithms for text data | |
WO2012033498A1 (en) | Systems and methods for data compression | |
Atallah et al. | Pattern matching image compression: Algorithmic and empirical results | |
CN113676187A (zh) | 一种哈夫曼修正编码方法、系统及相关组件 | |
US6778109B1 (en) | Method for efficient data encoding and decoding | |
CN113708772A (zh) | 一种哈夫曼编码方法、系统、装置及可读存储介质 | |
WO1997033254A1 (en) | System and method for the fractal encoding of datastreams | |
US11277148B2 (en) | Double-pass Lempel-Ziv data compression with automatic selection of static encoding trees and prefix dictionaries | |
CN108880559B (zh) | 数据压缩方法、数据解压缩方法、压缩设备及解压缩设备 | |
Djusdek et al. | Adaptive image compression using adaptive Huffman and LZW | |
CN110995396B (zh) | 基于层级结构的用电信息采集系统通信报文的压缩方法 | |
US20230053844A1 (en) | Improved Quality Value Compression Framework in Aligned Sequencing Data Based on Novel Contexts | |
CN114095035A (zh) | 一种依托云字典基于字节的无损压缩方法 | |
CN109547961B (zh) | 一种无线传感网络中大数据量压缩感知编解码方法 | |
CN113487036A (zh) | 机器学习模型的分布式训练方法及装置、电子设备、介质 | |
Kozhemiakina et al. | Means and results of efficiency analysis for data compression methods applied to typical multimedia data | |
CN116627361B (zh) | 一种冗余信息的储存比对管理方法及系统 | |
CN110825927A (zh) | 数据查询方法、装置、电子设备及计算机可读存储介质 | |
CN114337680B (zh) | 一种压缩处理方法、装置、存储介质及电子设备 | |
CN110865299B (zh) | 一种基于前向相容的折叠集分层压缩方法及装置 |
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 |