CN113965207A - 一种基于deflate霍夫曼编码的动态码表生成装置和方法 - Google Patents
一种基于deflate霍夫曼编码的动态码表生成装置和方法 Download PDFInfo
- Publication number
- CN113965207A CN113965207A CN202111551901.6A CN202111551901A CN113965207A CN 113965207 A CN113965207 A CN 113965207A CN 202111551901 A CN202111551901 A CN 202111551901A CN 113965207 A CN113965207 A CN 113965207A
- Authority
- CN
- China
- Prior art keywords
- code
- code length
- data
- length
- circuit
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000007906 compression Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction 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
本发明提供了一种基于deflate霍夫曼编码的动态码表生成装置和方法,装置包括:码长统计电路,码长统计电路配置为计算待编码数据中各个码子的码长数量;最小编码电路,最小编码电路配置为接收码长统计电路的数据,并基于待编码数据中各个码子的码长数量计算各个码长对应的最小编码;码表生成电路,码表生成电路配置为接收最小编码电路的数据,并基于待编码数据中各个码长对应的最小编码生成动态码表,并将动态码表存储到寄存器中。通过使用本发明的方案,能够大幅减少了动态码表生成的时间,能够增加装置的通用性,能够增加装置的灵活性。
Description
技术领域
本发明涉及计算机领域,并且更具体地涉及一种基于deflate霍夫曼编码的动态码表生成装置和方法。
背景技术
随着时代的发展,人们使用和获取数据信息不再单纯的来自于书本,杂志,报刊等。同时伴随着移动互联,5G,社交网络,物联网,大数据,人工智能(AI),云计算,安全监控等技术的成熟与发展,使得各种数据正迅速的膨胀并变大,呈爆炸性增长的趋势。5G正在加速普及,越来越多的设备和便捷的联网条件给存储市场带来了前所未有的机会。随着数据量的急剧增长,不断对数据存储系统提出挑战。在所有这些技术当中,云计算技术相当于人的大脑,提供着大容量的数据存储以及高效的计算方式,计算资源和存储资源也更加集中。但是同时使得产生的海量的数据指数级增长,对现有的存储设备带来了巨大的压力。如何能够高效的传输和存储海量数据,同时对CPU不造成过大负荷影响的问题成为关键。因此,高效安全的数据压缩技术成为降低存储成本,节省存储资源有效方法。同时如果将压缩和解压缩任务交给专用硬件电路处理,会大幅减少CPU的负荷,并且在提升存储性能方面非常可观。
Deflate是一种无损压缩标准,是由LZ77编码和霍夫曼编码组合的编码形式。Deflate中使用的霍夫曼编码就是“范式霍夫曼编码”,范式霍夫曼编码最早由Schwartz提出,它是霍夫曼编码的一个子集。其中心思想是使用某些强制的约定,仅通过很少的数据便能重构出霍夫曼编码树的结构。
霍夫曼编码是对数据经过 LZ77 压缩后的二次压缩,又进一步提高了压缩率,它是通过统计字符出现次数,对数据处理的可变长编码,利用字符出现的次数构造霍夫曼二叉树,从树的叶子节点到根节点进行编码,出现的越多的字符让短一些的码替换,同时出现次数少的字符被长一些的码替换掉,可以实现数据的总体大小减小,达到压缩的目的。
Deflate格式的霍夫曼编码分为静态霍夫曼编码和动态霍夫曼编码,动态霍夫曼编码的关键就是根据不同的数据块通过霍夫曼编码算法实时产生对应的动态编码码表。然而动态码表的生成约占整个压缩性能的百分之八十,因此,动态码表的高效实现对整个压缩性能影响至关重要。其中,霍夫曼编码动态码表的生成分为码字长度生成(CL)和码表(code table)生成。然而,传统的码表生成过程占用了约一半的霍夫曼编码动态码表生成时间。
发明内容
有鉴于此,本发明实施例的目的在于提出一种基于deflate霍夫曼编码的动态码表生成装置和方法,通过使用本发明的技术方案,能够大幅减少了动态码表生成的时间,能够增加装置的通用性,能够增加装置的灵活性。
基于上述目的,本发明的实施例的一个方面提供了一种基于deflate霍夫曼编码的动态码表生成装置,包括:
码长统计电路,码长统计电路配置为计算待编码数据中各个码子的码长数量;
最小编码电路,最小编码电路配置为接收码长统计电路的数据,并基于待编码数据中各个码子的码长数量计算各个码长对应的最小编码;
码表生成电路,码表生成电路配置为接收最小编码电路的数据,并基于待编码数据中各个码长对应的最小编码生成动态码表,并将动态码表存储到寄存器中。
根据本发明的一个实施例,还包括:
控制电路,控制电路分别连接到码长统计电路、最小编码电路和码表生成电路,控制电路配置为接收码长统计电路的完成信号后向最小编码电路发送使能信号,接收最小编码电路的完成信号后向码表生成电路发送使能信号。
根据本发明的一个实施例,码长统计电路包括:
比较器,比较器配置为将每个比较器设定为固定且不同的码长值作为比较基准值,分别将待编码数据中literal(待压缩文本字符)和length(重复出现的文本字符长度)对应的计算区间中的码长输入到码长值对应的比较器中,各个比较器分别并行对相同并有效的码长使用标记信号进行标记;
统计单元,统计单元包括加法器,加法器配置为将标记相同的每个码长出现的个数进行相加以得到各个码子的码长数量。
根据本发明的一个实施例,最小编码电路包括:
数据输入单元,每个数据输入单元配置为输入每个码长对应的码长数量;
相加单元,每个相加单元的第一输入端连接到每个数据输入单元;
触发器,每个触发器的数据输入信号连接到同级相加单元的输出端,数据输出信号连接到下一级相加单元的第二输入端并输出每个码长的最小编号。
根据本发明的一个实施例,码表生成电路包括:
比较器,比较器配置为将每个比较器设定为固定且不同的码长值作为比较基准值,分别将待编码数据中literal和length对应的计算区间中的码长输入到码长值对应的比较器中;
计数器,计数器配置为输入端连接到比较器的输出端以统计每个比较器对应的码长值出现的次数;
相加单元,相加单元的第一输入端输入码长的最小编码,第二输入端连接到计数器的输出端,输出端输出每个码长的码表。
根据本发明的一个实施例,码长的区间范围为1-15。
根据本发明的一个实施例,待编码数据中literal和length对应的计算区间为0-285。
本发明的实施例的另一个方面,还提供了一种基于deflate霍夫曼编码的动态码表生成的方法,方法包括:
计算待编码数据中各个码子的码长数量;
基于待编码数据中各个码子的码长数量计算各个码长对应的最小编码;
基于待编码数据中各个码长对应的最小编码生成动态码表,并将动态码表存储到寄存器中。
根据本发明的一个实施例,计算待编码数据中各个码子的码长数量包括:
获取待编码的Literal值对应的Huffman码字长度和Length值对应的码字长度的统计表;
基于获取到的统计表统计每个码子长度在统计表中出现的次数。
根据本发明的一个实施例,码长的区间范围为1-15。
本发明具有以下有益技术效果:本发明实施例提供的基于deflate霍夫曼编码的动态码表生成装置,通过设置码长统计电路,码长统计电路配置为计算待编码数据中各个码子的码长数量;最小编码电路,最小编码电路配置为接收码长统计电路的数据,并基于待编码数据中各个码子的码长数量计算各个码长对应的最小编码;码表生成电路,码表生成电路配置为接收最小编码电路的数据,并基于待编码数据中各个码长对应的最小编码生成动态码表,并将动态码表存储到寄存器中的技术方案,能够大幅减少了动态码表生成的时间,能够增加装置的通用性,能够增加装置的灵活性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明一个实施例的基于deflate霍夫曼编码的动态码表生成装置的示意图;
图2为根据本发明一个实施例的码长统计电路的示意图;
图3为根据本发明一个实施例的统计单元硬件电路的示意图;
图4为根据本发明一个实施例的最小编码电路的示意图;
图5为根据本发明一个实施例的码表生成电路的示意图;
图6为根据本发明一个实施例的基于deflate霍夫曼编码的动态码表生成方法的示意流程图。
具体实施方式
以下描述了本公开的实施例。然而,应该理解,所公开的实施例仅仅是示例,并且其他实施例可以采取各种替代形式。附图不一定按比例绘制;某些功能可能被夸大或最小化以显示特定部件的细节。因此,本文公开的具体结构和功能细节不应被解释为限制性的,而仅仅是作为用于教导本领域技术人员以各种方式使用本发明的代表性基础。如本领域普通技术人员将理解的,参考任何一个附图所示出和描述的各种特征可以与一个或多个其他附图中所示的特征组合以产生没有明确示出或描述的实施例。所示特征的组合为典型应用提供了代表性实施例。然而,与本公开的教导相一致的特征的各种组合和修改对于某些特定应用或实施方式可能是期望的。
基于上述目的,本发明的实施例的第一个方面,提出了一种基于deflate霍夫曼编码的动态码表生成装置的一个实施例。图1示出的是该装置的示意图。
如图1中所示,该装置可以包括:
码长统计电路,码长统计电路配置为计算待编码数据中各个码子的码长数量;
最小编码电路,最小编码电路配置为接收码长统计电路的数据,并基于待编码数据中各个码子的码长数量计算各个码长对应的最小编码;
码表生成电路,码表生成电路配置为接收最小编码电路的数据,并基于待编码数据中各个码长对应的最小编码生成动态码表,并将动态码表存储到寄存器中。
该装置完全使用硬件电路设计,关键电路结构采用并行流水设计,大幅减少了动态码表生时间。同时此装置可以根据应用系统的频率,可配置选择加法电路级数,增加了该装置通用性。此装置由控制电路、码长统计电路、最小编码电路和码表生成电路组成。此装置的整个计算流程受控制电路控制,最小编码电路需要等待码长统计电路完成计算后开始工作。同样,码表生成电路需要等待最小编码电路计算完成后工作。等待码表生成电路计算完成后,将动态的码表锁存在寄存器中,同时此装置输出完成标志。Literal和length码字的动态码表硬件装置和distance(重复出现的文本字符和第一次出现的文本字符之间的距离)码字的动态码表硬件装置完全相同,可相互复用,通过传参实现。
通过本发明的技术方案,能够大幅减少了动态码表生成的时间,能够增加装置的通用性,能够增加装置的灵活性。
在本发明的一个优选实施例中,还包括:
控制电路,控制电路分别连接到码长统计电路、最小编码电路和码表生成电路,控制电路配置为接收码长统计电路的完成信号后向最小编码电路发送使能信号,接收最小编码电路的完成信号后向码表生成电路发送使能信号。
控制电路包括CL_NUMBER单元、SMALL_CODE单元和CODE_TABLE单元。CL_NUMBER单元控制码长统计电路进行各相同码长的数量统计,可支持对literal和length码字对应的区间码[0,285]和distance码字对应的区间码[0,29]和游成编码的游程头[0,18]的码长进行相同码长的数量统计,SMALL_CODE单元控制最小编码电路计算每个码长的最小编码值,CODE_TABLE单元控制码表生成电路计算literal和length码字对应的区间码[0,285]的码表和distance码字对应的区间码[0,29]的码表。
在本发明的一个优选实施例中,码长统计电路包括:
比较器,比较器配置为将每个比较器设定为固定且不同的码长值作为比较基准值,分别将待编码数据中literal和length对应的计算区间中的码长输入到码长值对应的比较器中,各个比较器分别并行对相同并有效的码长使用标记信号进行标记;
统计单元,统计单元包括加法器,加法器配置为将标记相同的每个码长出现的个数进行相加以得到各个码子的码长数量。如图2所示,码长统计电路主要计算literal、length码字和distance码字的各码长数量,此电路采用并行流水结构,加速了码长统计速度,最快两个时钟周期即可输出统计结果。对literal、length的286个码字区间(码字区间范围0~285)的码长进行判断,分别并行对相同并有效的码长(码长范围1-15)使用标记信号对其标记。如2图中所示,设置了0-14共15个比较器,每个比较器对应一个码长范围,建立数组flag[0][i]- flag[14][i],数组中的前一个数字为码长范围,后一个数字为码子区间的值,即0-285的值,数组分别为码长1到码长15的标志信号。这个过程使用并行电路,一个时钟周期即可完成。接下来统计单元根据各码长的标志信号,根据不同的码长并行对其进行统计,得到不同码长的数量。
如图3所示,统计单元实现了286个标志信号的有效个数统计,根据配置信号可以选择使用1级加法电路、3级加法电路或4级加法电路。可根据系统频率,配置采用不同级数并行加法电路的硬件设计方式,计算出每个码长286个标志信号的数量,统计出每个码长的数量。
在本发明的一个优选实施例中,最小编码电路包括:
数据输入单元,每个数据输入单元配置为输入每个码长对应的码长数量;
相加单元,每个相加单元的第一输入端连接到每个数据输入单元;
触发器,每个触发器的数据输入信号连接到同级相加单元的输出端,数据输出信号连接到下一级相加单元的第二输入端并输出每个码长的最小编号。最小编码电路采用流水方式计算码长为1到15最小编码值,由于每个码字长度的最小编码值受前一个码字长度影响,所以此电路需要15个时钟周期可以计算出每个码长的最小编码值。如图4所示,码长为1的最小编码固定为0,因此电路开始先计算码长为2的最小编码,该电路中设置了15级的计算电路,对应15个码长,相加单元的第一个输入端输入上一个码长的数量,第二输入端输入上一个码长的最小编码,两者组合即为下一个码长的最小编码,这个过程需要一个时钟周期,每个时钟周期依次计算出每个码长的最小编码并存储起来。
在本发明的一个优选实施例中,码表生成电路包括:
比较器,比较器配置为将每个比较器设定为固定且不同的码长值作为比较基准值,分别将待编码数据中literal和length对应的计算区间中的码长输入到码长值对应的比较器中;
计数器,计数器配置为输入端连接到比较器的输出端以统计每个比较器对应的码长值出现的次数;
相加单元,相加单元的第一输入端输入码长的最小编码,第二输入端连接到计数器的输出端,输出端输出每个码长的码表。当获得码长1到15的最小编码后,通过码表生成电路,即可生成Literal、length码字和Distance码字的动态码表。图5所示为码表生成电路,从码字0开始,每个时钟周期判断其对应的码长,同时对应码长为1到15的码长计数器进行加一计数,表示相应的码长是第几次出现。最后用该码长的最小编码和计数器值相加,得到对应的码字编码值。下一个时钟周期依次按照此方法计算码字1到码字285的编码值,最终得到Literal、length码字和Distance码字的动态码表。
在本发明的一个优选实施例中,码长的区间范围为1-15。
在本发明的一个优选实施例中,待编码数据中literal和length对应的计算区间为0-285。
通过本发明的技术方案,能够大幅减少了动态码表生成的时间,能够增加装置的通用性,能够增加装置的灵活性。
基于上述目的,本发明的实施例的第二个方面,提出了一种基于deflate霍夫曼编码的动态码表生成的方法,如图6所示,方法包括:
S1计算待编码数据中各个码子的码长数量;
S2基于待编码数据中各个码子的码长数量计算各个码长对应的最小编码;
S3基于待编码数据中各个码长对应的最小编码生成动态码表,并将动态码表存储到寄存器中。
在本发明的一个优选实施例中,计算待编码数据中各个码子的码长数量包括:
获取待编码的Literal值对应的Huffman码字长度和Length值对应的码字长度的统计表;
基于获取到的统计表统计每个码子长度在统计表中出现的次数。
在本发明的一个优选实施例中,码长的区间范围为1-15。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
上述实施例,特别是任何“优选”实施例是实现的可能示例,并且仅为了清楚地理解本发明的原理而提出。可以在不脱离本文所描述的技术的精神和原理的情况下对上述实施例进行许多变化和修改。所有修改旨在被包括在本公开的范围内并且由所附权利要求保护。
Claims (10)
1.一种基于deflate霍夫曼编码的动态码表生成装置,其特征在于,包括:
码长统计电路,所述码长统计电路配置为计算待编码数据中各个码子的码长数量;
最小编码电路,所述最小编码电路配置为接收所述码长统计电路的数据,并基于待编码数据中各个码子的码长数量计算各个码长对应的最小编码;
码表生成电路,所述码表生成电路配置为接收所述最小编码电路的数据,并基于待编码数据中各个码长对应的最小编码生成动态码表,并将所述动态码表存储到寄存器中。
2.根据权利要求1所述的装置,其特征在于,还包括:
控制电路,所述控制电路分别连接到所述码长统计电路、所述最小编码电路和所述码表生成电路,所述控制电路配置为接收所述码长统计电路的完成信号后向所述最小编码电路发送使能信号,接收所述最小编码电路的完成信号后向所述码表生成电路发送使能信号。
3.根据权利要求1所述的装置,其特征在于,所述码长统计电路包括:
比较器,所述比较器配置为将每个比较器设定为固定且不同的码长值作为比较基准值,分别将待编码数据中literal和length对应的计算区间中的码长输入到码长值对应的比较器中,各个比较器分别并行对相同并有效的码长使用标记信号进行标记;
统计单元,所述统计单元包括加法器,所述加法器配置为将标记相同的每个码长出现的个数进行相加以得到各个码子的码长数量。
4.根据权利要求1所述的装置,其特征在于,所述最小编码电路包括:
数据输入单元,每个所述数据输入单元配置为输入每个码长对应的码长数量;
相加单元,每个所述相加单元的第一输入端连接到每个所述数据输入单元;
触发器,每个所述触发器的数据输入信号连接到同级所述相加单元的输出端,数据输出信号连接到下一级所述相加单元的第二输入端并输出每个码长的最小编号。
5.根据权利要求1所述的装置,其特征在于,码表生成电路包括:
比较器,所述比较器配置为将每个比较器设定为固定且不同的码长值作为比较基准值,分别将待编码数据中literal和length对应的计算区间中的码长输入到码长值对应的比较器中;
计数器,所述计数器配置为输入端连接到所述比较器的输出端以统计每个比较器对应的码长值出现的次数;
相加单元,所述相加单元的第一输入端输入码长的最小编码,第二输入端连接到所述计数器的输出端,输出端输出每个码长的码表。
6.根据权利要求1所述的装置,其特征在于,码长的区间范围为1-15。
7.根据权利要求3所述的装置,其特征在于,待编码数据中literal和length对应的计算区间为0-285。
8.一种基于deflate霍夫曼编码的动态码表生成的方法,其特征在于,所述方法包括:
计算待编码数据中各个码子的码长数量;
基于待编码数据中各个码子的码长数量计算各个码长对应的最小编码;
基于待编码数据中各个码长对应的最小编码生成动态码表,并将所述动态码表存储到寄存器中。
9.根据权利要求8所述的方法,其特征在于,计算待编码数据中各个码子的码长数量包括:
获取待编码的Literal值对应的Huffman码字长度和Length值对应的码字长度的统计表;
基于获取到的统计表统计每个码子长度在所述统计表中出现的次数。
10.根据权利要求8所述的方法,其特征在于,码长的区间范围为1-15。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111551901.6A CN113965207B (zh) | 2021-12-17 | 2021-12-17 | 一种基于deflate霍夫曼编码的动态码表生成装置和方法 |
PCT/CN2022/095386 WO2023109019A1 (zh) | 2021-12-17 | 2022-05-26 | 一种基于deflate霍夫曼编码的动态码表生成装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111551901.6A CN113965207B (zh) | 2021-12-17 | 2021-12-17 | 一种基于deflate霍夫曼编码的动态码表生成装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113965207A true CN113965207A (zh) | 2022-01-21 |
CN113965207B CN113965207B (zh) | 2022-03-15 |
Family
ID=79473239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111551901.6A Active CN113965207B (zh) | 2021-12-17 | 2021-12-17 | 一种基于deflate霍夫曼编码的动态码表生成装置和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113965207B (zh) |
WO (1) | WO2023109019A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114401013A (zh) * | 2022-03-25 | 2022-04-26 | 苏州浪潮智能科技有限公司 | 一种适用于deflate格式的Huffman压缩编码字符频率统计装置 |
WO2023109019A1 (zh) * | 2021-12-17 | 2023-06-22 | 苏州浪潮智能科技有限公司 | 一种基于deflate霍夫曼编码的动态码表生成装置和方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5528628A (en) * | 1994-11-26 | 1996-06-18 | Samsung Electronics Co., Ltd. | Apparatus for variable-length coding and variable-length-decoding using a plurality of Huffman coding tables |
CN101022552A (zh) * | 2007-03-13 | 2007-08-22 | 北京中星微电子有限公司 | 一种实现霍夫曼译码的方法和装置 |
US20130148745A1 (en) * | 2011-12-07 | 2013-06-13 | International Business Machines Corporation | High Bandwidth Decompression of Variable Length Encoded Data Streams |
US20150281311A1 (en) * | 2014-03-28 | 2015-10-01 | Comtech Ef Data Corp. | System and Method for Dynamic Huffman Decoding |
US20150358031A1 (en) * | 2014-06-09 | 2015-12-10 | Tidal Systems | Vlsi efficient huffman encoding apparatus and method |
US20160336960A1 (en) * | 2015-05-11 | 2016-11-17 | Via Alliance Semiconductor Co., Ltd. | Hardware data compressor that directly huffman encodes output tokens from lz77 engine |
US9509336B1 (en) * | 2015-05-11 | 2016-11-29 | Via Alliance Semiconductor Co., Ltd. | Hardware data compressor that pre-huffman encodes to decide whether to huffman encode a matched string or a back pointer thereto |
US9584156B1 (en) * | 2015-11-17 | 2017-02-28 | International Business Mahcines Corporation | Creating a dynamic Huffman table |
US10693493B1 (en) * | 2019-02-14 | 2020-06-23 | International Business Machines Corporation | Reducing latch count to save hardware area for dynamic Huffman table generation |
CN111884660A (zh) * | 2020-07-13 | 2020-11-03 | 山东云海国创云计算装备产业创新中心有限公司 | 一种哈夫曼编码设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102545910B (zh) * | 2010-12-30 | 2015-10-28 | 无锡华润矽科微电子有限公司 | 一种jpeg霍夫曼解码电路及其解码方法 |
CN104283568B (zh) * | 2013-07-12 | 2017-05-17 | 中国科学院声学研究所 | 一种基于部分霍夫曼树的数据压缩编码方法 |
CN109889205B (zh) * | 2019-04-03 | 2023-08-15 | 嘉楠明芯(北京)科技有限公司 | 编码方法及系统、解码方法及系统、编解码方法及系统 |
CN113965207B (zh) * | 2021-12-17 | 2022-03-15 | 苏州浪潮智能科技有限公司 | 一种基于deflate霍夫曼编码的动态码表生成装置和方法 |
-
2021
- 2021-12-17 CN CN202111551901.6A patent/CN113965207B/zh active Active
-
2022
- 2022-05-26 WO PCT/CN2022/095386 patent/WO2023109019A1/zh unknown
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5528628A (en) * | 1994-11-26 | 1996-06-18 | Samsung Electronics Co., Ltd. | Apparatus for variable-length coding and variable-length-decoding using a plurality of Huffman coding tables |
CN101022552A (zh) * | 2007-03-13 | 2007-08-22 | 北京中星微电子有限公司 | 一种实现霍夫曼译码的方法和装置 |
US20130148745A1 (en) * | 2011-12-07 | 2013-06-13 | International Business Machines Corporation | High Bandwidth Decompression of Variable Length Encoded Data Streams |
US20150281311A1 (en) * | 2014-03-28 | 2015-10-01 | Comtech Ef Data Corp. | System and Method for Dynamic Huffman Decoding |
US20150358031A1 (en) * | 2014-06-09 | 2015-12-10 | Tidal Systems | Vlsi efficient huffman encoding apparatus and method |
US20160336960A1 (en) * | 2015-05-11 | 2016-11-17 | Via Alliance Semiconductor Co., Ltd. | Hardware data compressor that directly huffman encodes output tokens from lz77 engine |
US9509336B1 (en) * | 2015-05-11 | 2016-11-29 | Via Alliance Semiconductor Co., Ltd. | Hardware data compressor that pre-huffman encodes to decide whether to huffman encode a matched string or a back pointer thereto |
US9584156B1 (en) * | 2015-11-17 | 2017-02-28 | International Business Mahcines Corporation | Creating a dynamic Huffman table |
US10693493B1 (en) * | 2019-02-14 | 2020-06-23 | International Business Machines Corporation | Reducing latch count to save hardware area for dynamic Huffman table generation |
CN113366765A (zh) * | 2019-02-14 | 2021-09-07 | 国际商业机器公司 | 减少锁存器计数以节省用于动态霍夫曼表生成的硬件面积 |
CN111884660A (zh) * | 2020-07-13 | 2020-11-03 | 山东云海国创云计算装备产业创新中心有限公司 | 一种哈夫曼编码设备 |
Non-Patent Citations (4)
Title |
---|
S. SATPATHY: "34.4Mbps 1.56Tbps/W DEFLATE Decompression Accelerator Featuring Block-Adaptive Huffman Decoder in 14nm Tri-Gate CMOS for IoT Platforms", 《ESSCIRC 2018 - IEEE 44TH EUROPEAN SOLID STATE CIRCUITS CONFERENCE (ESSCIRC)》 * |
孙圣: "基于 FPGA 的 Deflate 算法核心模块设计", 《软件导刊》 * |
李文清等: "基于数据分析的DEFLATE算法特征研究", 《信息工程大学学报》 * |
王刚等: "ZIP文件压缩编码分析", 《微计算机信息》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023109019A1 (zh) * | 2021-12-17 | 2023-06-22 | 苏州浪潮智能科技有限公司 | 一种基于deflate霍夫曼编码的动态码表生成装置和方法 |
CN114401013A (zh) * | 2022-03-25 | 2022-04-26 | 苏州浪潮智能科技有限公司 | 一种适用于deflate格式的Huffman压缩编码字符频率统计装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2023109019A1 (zh) | 2023-06-22 |
CN113965207B (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113965207B (zh) | 一种基于deflate霍夫曼编码的动态码表生成装置和方法 | |
CN106560010B (zh) | Vlsi高效霍夫曼编码设备和方法 | |
US9223765B1 (en) | Encoding and decoding data using context model grouping | |
CN116506073B (zh) | 一种工业计算机平台数据快速传输方法及系统 | |
CN101534124B (zh) | 一种用于短小自然语言的压缩算法 | |
US20230403026A1 (en) | Sorting network-based dynamic huffman encoding method, apparatus and device | |
CN110518917A (zh) | 基于Huffman编码的LZW数据压缩方法及系统 | |
CN111884660A (zh) | 一种哈夫曼编码设备 | |
CN115695564B (zh) | 一种物联网数据的高效传输方法 | |
CN113630125A (zh) | 数据压缩、编码解压缩方法、装置、电子设备及存储介质 | |
WO2001063772A1 (en) | Method and apparatus for optimized lossless compression using a plurality of coders | |
CN117896442B (zh) | 一种基于物联网的综合能源数据管理系统 | |
CN116827354B (zh) | 一种文件数据分布式存储管理系统 | |
Sari et al. | The implementation of timestamp, bitmap and rake algorithm on data compression and data transmission from iot to cloud | |
CN116208667B (zh) | 一种可变长高压缩的比特报文编解码方法 | |
CN102891730A (zh) | 基于bcd码卫星短报文的编码方法和装置 | |
Ginzburg et al. | Short Message Compression Scheme for Wireless Sensor Networks | |
CN114337682A (zh) | 一种Huffman编码压缩装置 | |
CN102841356A (zh) | 用于北斗发送通用航空器经纬位置数据的多模型压缩方法 | |
CN114025024A (zh) | 一种数据传输方法及装置 | |
EP2883326A1 (en) | Short string compression | |
Ambadekar et al. | Advanced data compression using J-bit Algorithm | |
CN113346913A (zh) | 使用减量的出现次数的数据压缩 | |
CN114401013B (zh) | 一种适用于deflate格式的Huffman压缩编码字符频率统计装置 | |
CN106559085A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |