The invention discloses a coding device based on Hoffman encoding, which includes a Hoffman encoding module for Hoffman encoding the input sequence with the first specified length as the encoding unit, and a complementary module for obtaining a Hoffman encoding sequence consisting of encoding values from the Hoffman encoding module, with the second specified length as the boundary, if the last encoding value is input. If it cannot be put into an independent sequence of W length, it will be put into the next independent sequence of the second specified length, and the remaining length of the current independent sequence will be filled with a bit-holder that does not affect the decoding result, and the final output will be a sequence of independent sequences with multiple lengths connected sequentially to the second specified length. The invention also discloses a corresponding encoding device based on Hoffman coding, a compression and decompression system and a convolution neural network, which do not need to search the boundary and greatly improve the decoding efficiency.
【技术实现步骤摘要】
基于霍夫曼编码的编码装置、译码装置及系统
技术介绍
霍夫曼(Huffman)编码是一种无损的熵编码,广泛应用于数字音视频等信息压缩。霍夫曼编码是对输入序列按概率进行分类,较高概率用较少的bit来编码,较低概率则用较多bit编码。在译码时,需要一个编码映射表格,将每个编码值在表格中进行搜索,以还原成原来的数据序列。这样一种编码方式在数据序列中有较多冗余时,能获得较好的压缩比。以二值霍夫曼编码为例,假定存储序列存在较多相同值,我们可以利用霍夫曼编码原则对将数据分为两类:一类是常数值MFV(mostfrequentlyvalue),一般是对存储矩阵进行搜索,找到最经常出现的值,这类值会映射为编码值“0”,仅仅占用1bit;另一类是非MFV值,该类值会映射在其加一个前导的“1”,作为其分类标志。当然也有使用相反编码逻辑的情况,这只是使用习惯的区别。将输入序列每16bit为一编码单位为例子,假定0x1010是最常出现的值,它映射为bit0,那么下面的序列映射关系是:0x1010----1’b00x4567----{1’h1,16’h4567}0x1010----1’b00x1234----{1’h1,16’h1234}0x1010----1’b00x1010----1’b0霍夫曼译码的实现则与此过程相反,对于每一个长度为W的输入序列,需要从第一个bit进行搜索,将其与编码映射表进行匹配,获得第一个输出;同时更新输入序列W,将已经译码完的bit丢弃,进行新的字搜索。由此可见,由于是一种变长度编码,霍夫曼编码的译码通常情况下是串行的,前后的译码值存在依赖,下一个字的搜索起点取 ...
【技术保护点】
1.一种基于霍夫曼编码的编码装置,包括了霍夫曼编码模块,用于对输入序列以第一指定长度为编码单元进行霍夫曼编码;其特征在于,还包括补长模块,用于从霍夫曼编码模块获取由编码值组成的霍夫曼编码序列,并以第二指定长度作为边界,如果最后一个编码值输入无法被放入到第二指定长度的独立序列以内,就将该编码值放到下一个第二指定长度的独立序列内,而在当前独立序列内剩余的长度全部补入不影响译码结果的占位码,最终输出由多个长度为第二指定长度的独立序列顺次连接而成的编码序列。
【技术特征摘要】
1.一种基于霍夫曼编码的编码装置,包括了霍夫曼编码模块,用于对输入序列以第一指定长度为编码单元进行霍夫曼编码;其特征在于,还包括补长模块,用于从霍夫曼编码模块获取由编码值组成的霍夫曼编码序列,并以第二指定长度作为边界,如果最后一个编码值输入无法被放入到第二指定长度的独立序列以内,就将该编码值放到下一个第二指定长度的独立序列内,而在当前独立序列内剩余的长度全部补入不影响译码结果的占位码,最终输出由多个长度为第二指定长度的独立序列顺次连接而成的编码序列。2.根据权利要求1所述的基于霍夫曼编码的编码装置,其特征在于,所述霍夫曼编码模块采用二值霍夫曼编码对输入序列进行编码。3.根据权利要求2所述的基于霍夫曼编码的编码装置,其特征在于,所述占位码的码值为表示非常数值的前导码值。4.一种基于霍夫曼编码的译码装置,包括多个并行的译码器,其特征在于,还包括输入单元,用于将输入的编码序列以第二指定长度划分为多个独立序列,并将每个独立序列并行的输入到所述译码器中;所述译码器用于根据权利要求1-3中任一所述的编码装置中的所述霍夫曼编码模块所采用的编码规则对一个长度为第二指定长度的序列进行霍夫曼译码。5.根据权利要求4所述的基于霍夫曼编码的译码装置,其特征在于,所述译码器包括多个级联的单...
【专利技术属性】
技术研发人员:江正忠,
申请(专利权)人:重庆物奇科技有限公司,上海物麒科技有限公司,
类型:发明
国别省市:重庆,50
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。