新闻中心

EEPW首页 > EDA/PCB > 设计应用 > LZW改进压缩算法的FPGA实现

LZW改进压缩算法的FPGA实现

作者:时间:2011-03-25来源:网络收藏

0 引言
随着大规模集成电路的发展,在电子设备监控系统中,需要采集与处理的数据量也在急剧增加,从而数据压缩技术得到广泛应用。然而很多压缩、解压方案都是基于软件实现,其致命的弱点就是过多地消耗宝贵的CPU资源,速度慢。基于实现的压缩器因其速度快、处理能力强而获得人们的重视。现代的发展使得只用专用硬件的方式来实现压缩、解压成为可能,可以解决上述软件实现方式所存在的缺点。但在通用数据的压缩领域,基于的硬件压缩、解压方案还不多见,所以研究基于FPGA硬件实现的数据压缩技术具有很高的应用价值。
当前数据压缩技术分为有损压缩和无损压缩,算术编码、游程编码、霍夫曼和压缩是传统的数据压缩方法,属于无损数据压缩;而基于小波变换的数据压缩和基于神经网络的编码方式是近年来新发展起来的现代数据压缩方法,属于有损数据压缩。本研究主要探讨一种基于算法的数据无损压缩硬件实现。

1 算法及其改进算法
LZW在压缩的过程中自适应建立一个字典,以后的数据同字典中的数据相匹配,匹配上则输出字典的索引。由于表示字典的索引所用的比特数远小于字符的比特数,从而达到压缩的效果。这个生成的字典不需要随着压缩的数据一同传输,而是能够根据压缩的数据在解压时重新动态生成一模一样的字典。
LZW编码原理如图1所示,在进行压缩时首先把字典中的前256(0~255)项初始为全部的256个8位字符,分别为十进制数0~255。当输入第一个字符时,总是在字典中可以找到,直到新的字符X不在字典词条中时,便将字符串IX加入到字典的第256项,以此类推。以字符串流5,6,7,8,9,5,5,6,6,7,8,9,5,…为例,表1给出了字典存储的物理结构和压缩过程中字典项的读写示意。压缩后编码输出为5,6,7,8,9,5,256,257,259,…。

本文引用地址:http://www.eepw.com.cn/article/191282.htm


上一页 1 2 下一页

关键词: FPGA LZW 压缩算法

评论


相关推荐

技术专区

关闭