CN104980161A - 一种哈夫曼解码方法及装置 - Google Patents

一种哈夫曼解码方法及装置 Download PDF

Info

Publication number
CN104980161A
CN104980161A CN201510155545.4A CN201510155545A CN104980161A CN 104980161 A CN104980161 A CN 104980161A CN 201510155545 A CN201510155545 A CN 201510155545A CN 104980161 A CN104980161 A CN 104980161A
Authority
CN
China
Prior art keywords
code length
code
code word
decoded
length
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
Application number
CN201510155545.4A
Other languages
English (en)
Inventor
冯守强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Tencent Computer Systems Co Ltd
Original Assignee
Shenzhen Tencent Computer Systems Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Tencent Computer Systems Co Ltd filed Critical Shenzhen Tencent Computer Systems Co Ltd
Priority to CN201510155545.4A priority Critical patent/CN104980161A/zh
Publication of CN104980161A publication Critical patent/CN104980161A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种哈夫曼解码的方法,包括:接收待解码码字;将所述待解码码字分别与每个码长对应的码字最小值进行比较;当所述待解码码字小于所述每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长;根据所述有效码长,从码长与解码码字的对应关系中查找所述有效码长对应的解码码字,实现解码。本发明实施例提供的哈夫曼解码的方法,可以结合现场可编程逻辑门阵列FPGA来实现并行码长获取,从而提高了范式huffman解码效率。

Description

一种哈夫曼解码方法及装置
技术领域
本发明涉及编解码技术领域,具体涉及一种哈夫曼解码方法及装置。
背景技术
范式哈夫曼huffman算法码表分为两部分,第一部分存储了1-16码长的码字数量,第二部分存储正确码字的分布式哈希表(Distributed Hash Table,DHT),解码过程利用这两个部分得到完整的哈夫曼huffman树表,从而完成范式huffman解码。
范式huffman编码中长度为li的码字的前j位数值大于长度为lj的码字的数值,其中i>j,根据这个特性很容易能够构造出范式huffman编码的解码算法,即逐位读入码流,根据读入码流的大小判断是否属于当前码段,是则获得编码长度,否则继续读入下一位码字进行比较。由此可以看出由于这种不定长编码方法,必须逐位读入码流,判断有效码流长度后,再进行查表解码,效率低下。
由此可见,现有技术中的哈夫曼解码方案都是采用逐位判断得到有效码长后再进行解码,导致解码效率低下。
发明内容
本发明实施例提供一种哈夫曼解码方法,可以结合现场可编程逻辑门阵列FPGA来实现并行码长获取,从而提高了范式huffman解码效率。本发明实施例还提供了相应的装置。
本发明第一方面提供一种哈夫曼解码的方法,包括:
接收待解码码字;
将所述待解码码字分别与每个码长对应的码字最小值进行比较;
当所述待解码码字小于所述每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长;
根据所述有效码长,从码长与解码码字的对应关系中查找所述有效码长对应的解码码字,实现解码。
本发明第二方面提供一种哈夫曼解码的装置,
接收单元,用于接收待解码码字;
比较单元,用于将所述接收单元接收的所述待解码码字分别与每个码长对应的码字最小值进行比较;
确定单元,用于当所述比较单元比较出所述待解码码字小于所述每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长;
解码单元,用于根据所述确定单元确定的所述有效码长,从码长与解码码字的对应关系中查找所述有效码长对应的解码码字,实现解码。
本发明实施例采用接收待解码码字;将所述待解码码字分别与每个码长对应的码字最小值进行比较;当所述待解码码字小于所述每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长;根据所述有效码长,从码长与解码码字的对应关系中查找所述有效码长对应的解码码字,实现解码。与现有技术中哈夫曼解码都是采用逐位判断得到有效码长后再进行解码,导致解码效率低下相比,本发明实施例提供的哈夫曼解码的方法,可以结合现场可编程逻辑门阵列FPGA来实现并行码长获取,从而提高了范式huffman解码效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是哈夫曼解码的方法的一实施例示意图;
图2是哈夫曼解码的方法的另一实施例示意图;
图3是哈夫曼解码的方法的另一实施例示意图;
图4是哈夫曼解码的装置的一实施例示意图;
图5是哈夫曼解码的装置的另一实施例示意图。
具体实施方式
本发明实施例提供一种哈夫曼解码方法,可以结合现场可编程逻辑门阵列FPGA来实现并行码长获取,从而提高了范式huffman解码效率。本发明实施例还提供了相应的装置。以下分别进行详细说明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,本发明实施例提供的哈夫曼解码的方法的一实施例包括:
101、接收待解码码字。
待解码码字是二进制的码流,本发明实施例中待解码码字可以为16bit码流。
102、将所述待解码码字分别与每个码长对应的码字最小值进行比较。
本发明实施例中,在范式huffman编码中,对于任意两个huffman码字w1、w2,其码长分别为l1、l2,如果l1<l2,那么有I({w1,1[lmax-l1]})<I({w2,0[lmax-l2]}),其中I({w1,1[lmax-l1]})表示w1的二进制序列后跟lmax-l1个1的整数值,I({w2,0[lmax-l2]})表示w2的二进制序列后跟lmax-l2个0的整数值。
利用范式huffman算法的这一特性,对每个长度为len的huffman码段的第一个码字first[len]进行扩展,将其固定成lmax位长的first_min[len],len的长度有16位,分别为0-15,每个len都对应有一个码字最小值first_min[len],可以用表1来展示len与first_min[len]的对应关系,如表1所示:
表1:len与first_min[len]的对应关系表
len first_min[len] len first_min[len]
0 first_min[0] 8 first_min[8]
1 first_min[1] 9 first_min[9]
2 first_min[2] 10 first_min[10]
3 first_min[3] 11 first_min[11]
4 first_min[4] 12 first_min[12]
5 first_min[5] 13 first_min[13]
6 first_min[6] 14 first_min[14]
7 first_min[7] 15 first_min[15]
待解码码字在比较时,可以分别与first_min[0-first_min[15]进行比较,这样并行比较就可以提高比较的效率,从而提高解码的效率。
103、当所述待解码码字小于所述每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长。
本发明实施例中的小于所述每个码长中任意一个码长对应的码字最小值,是指位于该最小值与下一个码长对应的码字最小值之间,例如:待解码码字小于first_min[3],则是指该待解码码字处于first_min[3]和first_min[2]之间,则待解码码字的有效码长为3-1=2。
104、根据所述有效码长,从码长与解码码字的对应关系中查找所述有效码长对应的解码码字,实现解码。
在解码端,可以存储有两张表,一张是码长表,一张是解码码字表,每个码长都会有对应的解码码字,一旦码长确定,就可以找到相应的解码码字实现解码。
本发明实施例采用接收待解码码字;将所述待解码码字分别与每个码长对应的码字最小值进行比较;当所述待解码码字小于所述每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长;根据所述有效码长,从码长与解码码字的对应关系中查找所述有效码长对应的解码码字,实现解码。与现有技术中哈夫曼解码都是采用逐位判断得到有效码长后再进行解码,导致解码效率低下相比,本发明实施例提供的哈夫曼解码的方法,可以结合现场可编程逻辑门阵列FPGA来实现并行码长获取,从而提高了范式huffman解码效率。
可选地,在上述图1对应的实施例的基础上,本发明实施例提供的哈夫曼解码的方法的第一个可选实施例中,所述将所述待解码码字分别与每个码长对应的码字最小值进行比较,可以包括:
通过现场可编程逻辑门阵列FPGA的并行比较器将所述待解码码字分别与每个码长对应的码字最小值进行比较。
本发明实施例中,因FPGA是一种可编程的门阵列硬件逻辑,里面有大量可并行执行的比较器,但是本身的主频较低(一般只有200MHz-300MHz左右),非常适合用于单位任务粒度较轻的并行计算处理中,本发明实施例提供的式huffman解码方案的并行比较方式可以完全发挥出FPGA的硬件特点,大大提高哈夫曼解码的实时性。
当然,本发明实施例提供的方案不限于通过FPGA执行并行计算,还可以是通过中央处理器CPU执行。
可选地,在上述图1对应的实施例或第一个可选实施例的基础上,本发明实施例提供的哈夫曼解码的方法的第二个可选实施例中,所述将所述待解码码字分别与每个码长对应的码字最小值进行比较,可以包括:
将所述待解码码字分别与预置的前N位码长中的每个码长对应的码字最小值进行比较,所述N为大于1的正整数;
所述当所述待解码码字小于所述每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长,包括:
当所述待解码码字小于所述前N位码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长。
本发明实施例中,考虑到huffman编码的特点,出现概率较大的码流采用较少码字位表示,因此短码长的码字出现概率较高,所以在比较时可以先比较前几位,如:前8为,如果命中,则不需要比较后8位,既可以提高计算性能,又可以节省网络资源。如图2所示,先在8位查找表中查找,如果命中,则直接输入有效码长,如果未命中,则再到16位查找表中查找。
可选地,在上述第二个可选实施例的基础上,本发明实施例提供的哈夫曼解码的方法的第三个可选实施例中,所述方法还可以包括:
当所述待解码码字大于前N位码长中的每个码长对应的码字最小值时,将所述待解码码字与除所述前N位码长中剩余的每个码长对应的码字最小值进行比较;
当所述待解码码字小于所述剩余的每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长。
本发明实施例中,当比较前8位没有得到有效码长时,可以继续比较后8位,得到该待解码码字的有效码长,从而提高了解码的可靠性。
可选地,在上述图1对应的实施例或任一可选实施例的基础上,本发明实施例提供的哈夫曼解码的方法的第四个可选实施例中,
所述确定所述待解码码字的有效码长,可以包括:
将比所述任意一个码长小1的码长确定为所述待解码码字的有效码长。
本发明实施例中,任意一个码长为len时,则有效码长为len-1。
为了便于理解,下面结合图3说明本发明实施例中的哈夫曼huffman解码方案再FPGA上实现的过程:
FPGA是现场可编程门阵列,主要由片内块随机存储器(block-RAM)、查找表(Look-Up-Table,LUT)、数字信号处理器(digital signal processing,DSP)等资源组成,里面有大量可并行处理的计算资源,但是由于FPGA芯片本身的设计问题,很难设计出很高主频的硬件逻辑,所以FPGA设计的优化主要是并行化计算上。
根据上文描述的改进后的范式huffman算法,输入码流跟不同长度first_min[len]之间的比较并无关联,可以并行执行,首先针对输入码流的前8位,使用8个8位整形比较器同时跟first_min[0]-first_min[7]进行比较,输出每个比较器的比较结果,输入码流大于等于first_min[len]则输出1,否则输出0,将并行比较结果存入一个8位寄存器中,比较寄存器的值,如果不等于”11111111”,则说明输入码流的有效码长小于8,输出有效码长,开始下一轮比较;如果寄存器结果等于”11111111”,则说明输入码流的有效码长大于8,则再从码流中取出8位,跟前面的8位码字组成16位码字,使用8个16位整形比较器同时跟first_min[8]-first_min[15]进行比较,由于最大码长不会超过16,因此本次比较一定能够输出有效码长,最多在两个时钟周期内便可得到码字的有效码长;再通过有效码长查找当前码字对应的解码码字。
该方案已经应用到腾讯的“JPEG转WEBP硬件加速项目”中,在相同主频的FPGA中,相比传统的范式huffman解码方案性能提升了很多倍,有效提高了解码效率。
参阅图4,本发明实施例提供的哈夫曼解码的装置20的一实施例包括:
接收单元201,用于接收待解码码字;
比较单元202,用于将所述接收单元201接收的所述待解码码字分别与每个码长对应的码字最小值进行比较;
确定单元203,用于当所述比较单元202比较出所述待解码码字小于所述每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长;
解码单元204,用于根据所述确定单元203确定的所述有效码长,从码长与解码码字的对应关系中查找所述有效码长对应的解码码字,实现解码。
本发明实施例中,接收单元201接收待解码码字;比较单元202将所述接收单元201接收的所述待解码码字分别与每个码长对应的码字最小值进行比较;确定单元203当所述比较单元202比较出所述待解码码字小于所述每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长;解码单元204根据所述确定单元203确定的所述有效码长,从码长与解码码字的对应关系中查找所述有效码长对应的解码码字,实现解码。与现有技术中哈夫曼解码都是采用逐位判断得到有效码长后再进行解码,导致解码效率低下相比,本发明实施例提供的哈夫曼解码的装置,可以结合现场可编程逻辑门阵列FPGA来实现并行码长获取,从而提高了范式huffman解码效率。
可选地,在上述图4对应的实施例的基础上,本发明实施例提供的哈夫曼解码的装置20的第一个可选实施例中,所述装置包括现场可编程逻辑门阵列FPGA,所述FPGA包括比较器,
所述比较单元为所述比较器。
本发明实施例中,因FPGA是一种可编程的门阵列硬件逻辑,里面有大量可并行执行的比较器,但是本身的主频较低(一般只有200MHz-300MHz左右),非常适合用于单位任务粒度较轻的并行计算处理中,本发明实施例提供的式huffman解码方案的并行比较方式可以完全发挥出FPGA的硬件特点,大大提高哈夫曼解码的实时性。
可选地,在上述图4对应的实施例或装置20的第一个可选实施例的基础上,本发明实施例提供的哈夫曼解码的装置20的第二个可选实施例中,
所述比较单元202,用于将所述待解码码字分别与预置的前N位码长中的每个码长对应的码字最小值进行比较,所述N为大于1的正整数;
所述确定单元203,用于当所述待解码码字小于所述前N位码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长。
本发明实施例中,考虑到huffman编码的特点,出现概率较大的码流采用较少码字位表示,因此短码长的码字出现概率较高,所以在比较时可以先比较前几位,如:前8为,如果命中,则不需要比较后8位,既可以提高计算性能,又可以节省网络资源。如图2所示,先在8位查找表中查找,如果命中,则直接输入有效码长,如果未命中,则再到16位查找表中查找。
可选地,在上述装置20的第二个可选实施例的基础上,本发明实施例提供的哈夫曼解码的装置20的第三个可选实施例中,
所述比较单元202,还用于当所述待解码码字大于前N位码长中的每个码长对应的码字最小值时,将所述待解码码字与除所述前N位码长中剩余的每个码长对应的码字最小值进行比较;
所述确定单元203,用于当所述待解码码字小于所述剩余的每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长。
本发明实施例中,当比较前8位没有得到有效码长时,可以继续比较后8位,得到该待解码码字的有效码长,从而提高了解码的可靠性。
可选地,在上述任一装置20的实施例的基础上,本发明实施例提供的哈夫曼解码的装置20的第四个可选实施例中,
所述确定单元203,用于将比所述任意一个码长小1的码长确定为所述待解码码字的有效码长。
将比所述任意一个码长小1的码长确定为所述待解码码字的有效码长。
本发明实施例提供的装置20的实施例可以参阅图1至图3中的方法部分的描述进行理解,本处不做过多赘述。
图5是本发明实施例中哈夫曼解码的装置20的结构示意图。哈夫曼解码的装置20可包括输入设备210、输出设备220、处理器230和存储器240。
存储器240可以包括只读存储器和随机存取存储器,并向处理器230提供指令和数据。存储器240的一部分还可以包括非易失性随机存取存储器(NVRAM)。
存储器240存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器230通过调用存储器240存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:
通过输入设备210接收待解码码字;
将所述待解码码字分别与每个码长对应的码字最小值进行比较;
当所述待解码码字小于所述每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长;
根据所述有效码长,从码长与解码码字的对应关系中查找所述有效码长对应的解码码字,实现解码。
与现有技术中哈夫曼解码都是采用逐位判断得到有效码长后再进行解码,导致解码效率低下相比,本发明实施例提供的哈夫曼解码的方法,可以结合现场可编程逻辑门阵列FPGA来实现并行码长获取,从而提高了范式huffman解码效率。
处理器230控制为哈夫曼解码的装置20的操作,处理器230还可以称为CPU(Central Processing Unit,中央处理单元)。存储器240可以包括只读存储器和随机存取存储器,并向处理器230提供指令和数据。存储器240的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,为哈夫曼解码的装置20的各个组件通过总线系统250耦合在一起,其中总线系统250除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统250。
上述本发明实施例揭示的方法可以应用于处理器230中,或者由处理器230实现。处理器230可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器230中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器230可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器240,处理器230读取存储器240中的信息,结合其硬件完成上述方法的步骤。
可选地,所述处理器230用于将所述待解码码字分别与预置的前N位码长中的每个码长对应的码字最小值进行比较,所述N为大于1的正整数;当所述待解码码字小于所述前N位码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长。
可选地,所述处理器230还用于当所述待解码码字大于前N位码长中的每个码长对应的码字最小值时,将所述待解码码字与除所述前N位码长中剩余的每个码长对应的码字最小值进行比较;当所述待解码码字小于所述剩余的每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长。
可选地,所述处理器230用于将比所述任意一个码长小1的码长确定为所述待解码码字的有效码长。
如5所描述的是通过CPU实现的方案,关于采用FPGA实现的方案可以参阅图3部分的描述进行理解,本处不做过多赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的哈夫曼解码的方法以及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种哈夫曼解码的方法,其特征在于,包括:
接收待解码码字;
将所述待解码码字分别与每个码长对应的码字最小值进行比较;
当所述待解码码字小于所述每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长;
根据所述有效码长,从码长与解码码字的对应关系中查找所述有效码长对应的解码码字,实现解码。
2.根据权利要求1所述的方法,其特征在于,所述将所述待解码码字分别与每个码长对应的码字最小值进行比较,包括:
通过现场可编程逻辑门阵列FPGA的并行比较器将所述待解码码字分别与每个码长对应的码字最小值进行比较。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述待解码码字分别与每个码长对应的码字最小值进行比较,包括:
将所述待解码码字分别与预置的前N位码长中的每个码长对应的码字最小值进行比较,所述N为大于1的正整数;
所述当所述待解码码字小于所述每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长,包括:
当所述待解码码字小于所述前N位码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述待解码码字大于前N位码长中的每个码长对应的码字最小值时,将所述待解码码字与除所述前N位码长中剩余的每个码长对应的码字最小值进行比较;
当所述待解码码字小于所述剩余的每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长。
5.根据权利要求1-4任一所述的方法,其特征在于,所述确定所述待解码码字的有效码长,包括:
将比所述任意一个码长小1的码长确定为所述待解码码字的有效码长。
6.一种哈夫曼解码的装置,其特征在于,包括:
接收单元,用于接收待解码码字;
比较单元,用于将所述接收单元接收的所述待解码码字分别与每个码长对应的码字最小值进行比较;
确定单元,用于当所述比较单元比较出所述待解码码字小于所述每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长;
解码单元,用于根据所述确定单元确定的所述有效码长,从码长与解码码字的对应关系中查找所述有效码长对应的解码码字,实现解码。
7.根据权利要求6所述的装置,其特征在于,所述装置包括现场可编程逻辑门阵列FPGA,所述FPGA包括比较器,
所述比较单元为所述比较器。
8.根据权利要求6或7所述的装置,其特征在于,
所述比较单元,用于将所述待解码码字分别与预置的前N位码长中的每个码长对应的码字最小值进行比较,所述N为大于1的正整数;
所述确定单元,用于当所述待解码码字小于所述前N位码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长。
9.根据权利要求8所述的装置,其特征在于,
所述比较单元,还用于当所述待解码码字大于前N位码长中的每个码长对应的码字最小值时,将所述待解码码字与除所述前N位码长中剩余的每个码长对应的码字最小值进行比较;
所述确定单元,用于当所述待解码码字小于所述剩余的每个码长中任意一个码长对应的码字最小值时,确定所述待解码码字的有效码长。
10.根据权利要求6-9任一所述的装置,其特征在于,
所述确定单元,用于将比所述任意一个码长小1的码长确定为所述待解码码字的有效码长。
CN201510155545.4A 2015-04-02 2015-04-02 一种哈夫曼解码方法及装置 Pending CN104980161A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510155545.4A CN104980161A (zh) 2015-04-02 2015-04-02 一种哈夫曼解码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510155545.4A CN104980161A (zh) 2015-04-02 2015-04-02 一种哈夫曼解码方法及装置

Publications (1)

Publication Number Publication Date
CN104980161A true CN104980161A (zh) 2015-10-14

Family

ID=54276317

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510155545.4A Pending CN104980161A (zh) 2015-04-02 2015-04-02 一种哈夫曼解码方法及装置

Country Status (1)

Country Link
CN (1) CN104980161A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106533628A (zh) * 2016-11-30 2017-03-22 郑州云海信息技术有限公司 一种哈夫曼并行解码方法及其装置
CN106559085A (zh) * 2016-11-30 2017-04-05 郑州云海信息技术有限公司 一种范式哈夫曼解码方法及其装置
CN106788451A (zh) * 2016-11-30 2017-05-31 郑州云海信息技术有限公司 一种哈夫曼解码方法及其装置
CN107124615A (zh) * 2017-05-15 2017-09-01 郑州云海信息技术有限公司 一种WebP有损压缩的方法及装置
CN107565974A (zh) * 2017-08-14 2018-01-09 同济大学 一种静态哈夫曼并行全编码实现方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1925332A (zh) * 2005-08-31 2007-03-07 中国科学院微电子研究所 基于关键字的变长解码器及方法
CN101017574A (zh) * 2007-02-16 2007-08-15 上海广电集成电路有限公司 一种适于jpeg码流的哈夫曼解码方法
CN101808248A (zh) * 2009-02-13 2010-08-18 联咏科技股份有限公司 可适应性范式哈夫曼解码器及其方法与图像解码器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1925332A (zh) * 2005-08-31 2007-03-07 中国科学院微电子研究所 基于关键字的变长解码器及方法
CN101017574A (zh) * 2007-02-16 2007-08-15 上海广电集成电路有限公司 一种适于jpeg码流的哈夫曼解码方法
CN101808248A (zh) * 2009-02-13 2010-08-18 联咏科技股份有限公司 可适应性范式哈夫曼解码器及其方法与图像解码器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王永会: "视频解码系统中对输入码流进行译码的方法的研究", 《计算机应用》 *
穆荣,焦继业: "基于JPEG 图像解码的高速Huffman 解码电路", 《现代电子技术》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106533628A (zh) * 2016-11-30 2017-03-22 郑州云海信息技术有限公司 一种哈夫曼并行解码方法及其装置
CN106559085A (zh) * 2016-11-30 2017-04-05 郑州云海信息技术有限公司 一种范式哈夫曼解码方法及其装置
CN106788451A (zh) * 2016-11-30 2017-05-31 郑州云海信息技术有限公司 一种哈夫曼解码方法及其装置
CN106533628B (zh) * 2016-11-30 2019-10-18 郑州云海信息技术有限公司 一种哈夫曼并行解码方法及其装置
CN106788451B (zh) * 2016-11-30 2021-03-09 苏州浪潮智能科技有限公司 一种哈夫曼解码方法及其装置
CN107124615A (zh) * 2017-05-15 2017-09-01 郑州云海信息技术有限公司 一种WebP有损压缩的方法及装置
CN107565974A (zh) * 2017-08-14 2018-01-09 同济大学 一种静态哈夫曼并行全编码实现方法
CN107565974B (zh) * 2017-08-14 2020-06-12 同济大学 一种静态哈夫曼并行全编码实现方法

Similar Documents

Publication Publication Date Title
CN104980161A (zh) 一种哈夫曼解码方法及装置
US8094048B2 (en) Method of decoding syntax element in context-based adaptive binary arithmetic coding decoder and decoding device therefor
US10484009B2 (en) Decoding method and decoder for low-density parity-check code
CN101022552A (zh) 一种实现霍夫曼译码的方法和装置
CN113300715B (zh) 一种数据处理方法、装置、硬件压缩设备以及介质
CN107565974B (zh) 一种静态哈夫曼并行全编码实现方法
CN110413580B (zh) 针对fpga配置码流的压缩方法、系统、装置
KR102213345B1 (ko) 패리티 검사 연접 극 부호의 설계 방법 및 그 장치
KR101030726B1 (ko) 확률적 테이블에 의해 생성된 심볼을 기반으로 호프만 테이블을 적용한 메모리 효율이 개선된 멀티미디어용 호프만 디코딩 방법 및 장치
CN116192154B (zh) 数据压缩及数据解压方法、装置、电子设备、芯片
CN116107800B (zh) 一种校验码生成方法、数据恢复方法、介质、电子设备
US9160399B2 (en) System and apparatus for decoding tree-based messages
US6919827B2 (en) Method and apparatus for effectively decoding Huffman code
US9455742B2 (en) Compression ratio for a compression engine
CN103634015A (zh) 咬尾码的最大似然译码算法
US9697899B1 (en) Parallel deflate decoding method and apparatus
WO2018219031A1 (zh) 一种Polar码处理方法、译码器和终端
CN101656542A (zh) 双二元卷积Turbo码译码方法和装置
US7777653B2 (en) Decoding variable-length code (VLC) bitstream information
CN114337682A (zh) 一种Huffman编码压缩装置
CN102545910B (zh) 一种jpeg霍夫曼解码电路及其解码方法
CN110233627B (zh) 一种基于流水式的硬件压缩的系统及方法
CN109802690B (zh) 译码方法、装置和计算机可读存储介质
US8854235B1 (en) Decompression circuit and associated compression method and decompression method
US7663512B2 (en) Decoder and method for decoding a message using an arbitrary-side growing Huffman tree

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20151014

RJ01 Rejection of invention patent application after publication