无损压缩&&有损压缩
压缩的分类
- 无损压缩:使用压缩后的数据进行重构,重构后的数据与原来的数据完全相同。
- 有损压缩:使用压缩后的数据进行重构,重构后的数据与原来的数据有所不同,但不会使人对原始数据资料表达的信息造成误解。
区别:压缩时是否有信息丢失
信源编码的主要目的
压缩信息,提高信息的有效性,减少存储,处理和传输信息的成本
冗余的种类
空间,结构,时间,知识,视觉冗余。
为什么需要有损压缩,有哪些常用算法
当图像直方图相对平坦的时候,对图像数据采取无损压缩技术,压缩率很低。在多媒体应用中需要提高压缩率,故采用有损压缩方法。
算法:变换编码(DCT,K-L变换,小波编码,词典编码)
熵编码的理论依据
信息熵。
熵: 对一个系统无序性的测量,熵越大,系统越无序。
熵编码:从数据流中识别出经常出现的符号作为压缩流中的候选短码字。
图像的直方图
霍夫曼编码(是一种可变长编码)
应用:传真机,JPEG,MPEG
- 初始化,根据符号概率的大小按由大到小排序
- 把概率最小的两个符号组成一个新符号,新符号的概率为两个符号的概率之和。
- 重复第二步,知道形成一个符号为止,其最后概率为1
- 从编码树的根开始回溯到原始符号,并将每一个下分支赋值为1,上分支为0。
优点:唯一前缀性,最优性。
缺点:错误传播。很难随意查找或调用压缩文件中的内容,然后再译码。
构造出的码不唯一,对不同的信源编码效率不同。
LZW基本原理(理解编解码过程)
第二类词典编码
从输入的数据中创建一个“短语词典”。编码数据过程中当遇到已经在词典中出现的短语时,编码器就输出这个词典中的短语的“索引号”,而不是短语本身。
LZW:
在开始时字典不能是空的,它必须包含么能在字符流中出现的所有单个字符,LZW不断将越来越长的重复条目插入字典中,然后将字符串的编码而不是字符串本身发送出去。
LZW编码器和解码器会在接受数据时动态地创建字典,编码器和解码器也会产生相同的字典。
文本长度很长时才能体现该算法的优越性。
特点:
- 如果待压缩的数据没有任何可重复的结构,那么使用字典条目中的新编码的可能性很小,这会导致数据膨胀而不是压缩。需要建立两种状态,以达到检测到数据膨胀时,压缩停止。
- 字典大小的限制。条目过大,失去自适应能力。
量化的算法原理
对于有损算法,量化是压缩的核心。
分类:标量量化器(均匀&&非均匀) 矢量量化器(输入和输出值是矢量)
- 均匀量化
- 判定边界:输入值域划分为等距的区间端点
- 步长:区间的长度
-
输出:每个区间对应的输出值,取区间的中点值。
其余省略,待补
- 矢量量化
矢量量化优于标量量化。是将标量量化扩展到多个维度。能够有效利用矢量各个分量之间的相互关联性质来消除数据中的冗余度。
变换编码的原理
绝大部分图像信号在空间域像素之间的相关性是很大的,经过正交变换后,其能量主要集中在低频部分。而且经过正交变换后的变换系数之间的相关性大大降低。
变换编码: 不是直接对空间域图像信号编码,而是首先将空间域图像信号映射变换到另一个正交矢量空间,产生一批变换系数,然后对这些变换系数进行编码处理。
性能:取决于图像大小,正交变换类型,样本选择,量化器设计。
分块大小越大,去相关性越大,效率越低。
DCT基本原理,变换系数,基本图像的含义
作用:将原信号分解成DC和AC分量
在图像压缩编码中被广泛应用
具有多种快速算法。
F(0,0)表示像素块的直流分量,其他交流系数分别表示不同空间频率的相位和幅度。
基本图像:
- 当64个系数中只有一个系数为1,其余全部为0时,相应的64个像素值所组成的基本图像。
- 任何一个像块都可以表示成64个基本图像不同比例的组合。
DCT有很强的信息集中能力,能将最多的信息放到最小的系数上去。