基于矢量量化编码的数据压缩算法的研究与实现
[09-11 23:01:55] 来源:http://www.88dzw.com 单片机学习 阅读:8195次
文章摘要:2.1.2 数据压缩技术的分类数据压缩的研究已有几十年的历史,其间,人们提出了各种各样的压缩算法。在分类上,也存在几种不同的方法,有人按编码失真程度或者说按压缩过程的可逆性将数据压缩编码分为两种类型:无失真压缩编码 (Noiseless Coding)与有失真压缩编码 (Noise Coding);有人按编码基建模的不同将数据压缩分成模型基编码和波形基编码;又有人将它分为第一代压缩编码和第二代压缩编码;还可按压缩技术所使用的方法进行分类,可分为预测编码(Predictive Coding)、变换编码(Transform Coding)和统计编码(Statistical Coding)三大类。目
基于矢量量化编码的数据压缩算法的研究与实现,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com2.1.2 数据压缩技术的分类
数据压缩的研究已有几十年的历史,其间,人们提出了各种各样的压缩算法。在分类上,也存在几种不同的方法,有人按编码失真程度或者说按压缩过程的可逆性将数据压缩编码分为两种类型:无失真压缩编码 (Noiseless Coding)与有失真压缩编码 (Noise Coding);有人按编码基建模的不同将数据压缩分成模型基编码和波形基编码;又有人将它分为第一代压缩编码和第二代压缩编码;还可按压缩技术所使用的方法进行分类,可分为预测编码(Predictive Coding)、变换编码(Transform Coding)和统计编码(Statistical Coding)三大类。目前,较为认可的是第一种分类方法【6】。
1.无失真压缩
无失真压缩也可称之为冗余度压缩(Redundancy Compression),在数字图象压缩中,有3种基本的数据冗余:编码冗余、像素间冗余以及心理视觉冗余。而无失真压缩就是利用数据的统计冗余进行压缩,除去或尽量除去数据中重复和冗余部分,而不丢失其中的任何信息,可完全恢复原始数据而不引入任何失真,但压缩率受到数据统计冗余度的理论限制,一般为2:1到5: 1这类方法广泛用于文本数据、程序和特殊应用场合的图像数据(如医学图像等)的压缩.由于压缩比的限制,仅使用无损压缩方法不可能解决图像和数字视频的存储和传输问题。
常用的无失真压缩技术有:哈夫曼编码,算术编码,游程编码,LZ编码等。
1)行程长度编码(RLE)
行程长度编码(run-length encoding)是压缩一个文件最简单的方法之一。它的做法就是把一系列的重复值(例如图象像素的灰度值)用一个单独的值再加上一个计数值来取代。比如有这样一个字母序列aabbbccccccccdddddd它的行程长度编码就是2a3b8c6d。这种方法实现起来很容易,而且对于具有长重复值的串的压缩编码很有效。例如对于有大面积的连续阴影或者颜色相同的图象,使用这种方法压缩效果很好。很多位图文件格式都用行程长度编码,例如TIFF,PCX,GEM等。
2)LZW编码
这是三个发明人名字的缩写(Lempel,Ziv,Welch),其原理是将每一个字节的值都要与下一个字节的值配成一个字符对,并为每个字符对设定一个代码。当同样的一个字符对再度出现时,就用代号代替这一字符对,然后再以这个代号与下个字符配对。LZW编码原理的一个重要特征是,代码不仅仅能取代一串同值的数据,也能够代替一串不同值的数据。在图像数据中若有某些不同值的数据经常重复出现,也能找到一个代号来取代这些数据串。在此方面,LZW压缩原理是优于RLE的。
3)霍夫曼编码
霍夫曼编码(Huffman encoding)是通过用不固定长度的编码代替原始数据来实现的。霍夫曼编码最初是为了对文本文件进行压缩而建立的,迄今已经有很多变体。它的基本思路是出现频率越高的值,其对应的编码长度越短,反之出现频率越低的值,其对应的编码长度越长。
2.有失真压缩
有失真压缩也可称为嫡压缩(Entropy Compression),这是一种不可逆压缩。他利用了人类视觉对图像中的某些频率成分不敏感的特性,在压缩过程中会损失掉一部分信息,这样,其原始数据不能由压缩数据完全恢复出来。他是以丢失部分信息为代价而获得较高的压缩率。当然,为了确保恢复后的数据能基本保持原数据的特征,这种失真应该限制在某个规定的范围之内。无失真压缩主要有两大类型:特征抽取和量化方法,特征抽取的典型例子如指纹、汉字的模式识别,一旦抽取出足以有效表征与区分不同模式的特征参数,便可用它取代原始的图像数据,这一类方法一般是用于特定的环境。量化则是更为通用的熵压缩技术,除了直接对无记忆信源的单个样本做所谓的零记忆量化外,还可以对有记忆信源的多个相关样本映射到不同的空间,去除了原始数据中相关性后再做量化处理,由此又引出了预测编码和变换编码。
1)矢量量化编码
矢量量化编码利用相邻图象数据间的高度相关性,将输入图象数据序列分组,每一组m个数据构成一个m维矢量,一起进行编码,即一次量化多个点。根据仙农率失真理论,对于无记忆信源,矢量量化编码总是优于标量量化编码。
2)预测及内插编码
一般在图象中局部区域的象素是高度相关的,因此可以用先前的象素的有关灰度知识来对当前象素的灰度进行预计,这就是预测。而所谓内插就是根据先前的和后来的象素的灰度知识来推断当前象素的灰度情况。如果预测和内插是正确的,则不必对每一个象素的灰度都进行压缩,而是把预测值与实际象素值之间的差值经过熵编码后发送到接收端。在接收端通过预测值加差值信号来重建原象素。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] 下一页
Tag:单片机学习,单片机开发,单片机原理,单片机教程,单片机学习
《基于矢量量化编码的数据压缩算法的研究与实现》相关文章
- › 基于矢量量化编码的数据压缩算法的研究与实现
- 在百度中搜索相关文章:基于矢量量化编码的数据压缩算法的研究与实现
- 在谷歌中搜索相关文章:基于矢量量化编码的数据压缩算法的研究与实现
- 在soso中搜索相关文章:基于矢量量化编码的数据压缩算法的研究与实现
- 在搜狗中搜索相关文章:基于矢量量化编码的数据压缩算法的研究与实现
分类导航
最新更新