目录
一、图像压缩原理
二、数据冗余类型
三、图像编码器和解码器模型
四、客观图像保真度
五、编码定理
六、变长(不等长)编码
6.1、哥伦布编码
6.2、指数哥伦布编码(H.264)
6.3、哈夫曼(Huffman)编码
一、图像压缩原理
图像压缩过程(如下图):首先通过对原始图像的编码以达到减少数据量的目的(压缩过程),对编码结果进行解码,得到解码图像(恢复了图像形式)以使用 。
方式:图像存在冗余数据,通过消除冗余数据,即那些代表了无用的信息(有时也包括相对不重要的信息),或者是重复地表示了其他数据已表示的信息。
二、数据冗余类型
1.像素相关冗余:与像素间相关性直接联系着的数据冗余
2.编码冗余:如果一个图像的灰度级编码,使用了多于实际需要的编码符号,就称该图像包含了编码冗余(例如一张黑白照片只需要两个灰度表示,你却采用了8位的编码格式来表示,即造成冗余)
3.心理视觉冗余:视觉系统并不是对于图像场的任何变化都能感知,去除心理视觉冗余数据能导致定量信息的损失,称为量化 。
三、图像编码器和解码器模型
映射器是通过将输入数据变换以减少像素相关冗余。
量化器通过减少映射器输出的精确度来减少心理视觉冗余。
符号编码器通过将最短的码赋给最频繁出现的量化器输出值以减少编码冗余。
解码器进行符号编码和映射的逆操作(符号解码和反映射)。量化操作是不可反转的。
四、客观图像保真度
最常用的客观保真度准则是均方根误差和均方信噪比
如果用
表示像素点(x,y)在输入图和输出图间误差
那么
两图间总误差为:
均方根误差为:
均方信噪比为:
五、编码定理
这部分其实属于通信和计算机编码的交叉内容,建议参照视频学习。
举个栗子:https://www.bilibili.com/video/av26735580?from=search&seid=189914687611790319
排列有点乱,建议加速跳看。
这部分我的总结要点:
首先要了解自信息、信源熵等概念。
香浓定理:简单的说就是没有比信源更好的无失真编码方式了(熵最大)。当然这里是有条件的,就是零记忆信源。也称为为 Shannon(香农)无失真编码定理。
这部分主要为下面代码打基础。
六、变长(不等长)编码
6.1、哥伦布编码
给定一个非负整数n和一个正整数除数m,记n相对于m的哥伦布码记为
,(1)构建商
的一元码;比如商为2,一元码就是2个1加一个0,即110;商为3,一元码就是3个1加一个0为1110;(2)令
,
, r=
,计算截断的
,(截断的意思就是转化成2进制,保留相应的位)
(3),拼接1和2的结果。
6.2、指数哥伦布编码(H.264)
指数哥伦布编码记为
(1)找到满足下式的整数 i
(2)计算下式的二式表达,并将其截断到最低的k+i比特
(3)拼接(1)和(2)。
哥伦布编码以及指数哥伦布编码适于对相邻像素的差进行编码(小值出现的多,大值少),所以在一般图像处理中应用较少。
6.3、哈夫曼(Huffman)编码
1.将信源符号按出现概率从大到小排成一列,然后把最末两个符号的概率相加,合成一个概率。
2.把这个符号的概率与其余符号的概率按从大到小排列,然后再把最末两个符号的概率加起来,合成一个概率。
3.重复上述做法,直到最后剩下两个概率为止。
4.从最后一步剩下的两个概率开始逐步向前进行编码。每步只需对两个分支各赋予一个二进制码,如对概率大的赋予码元0,对概率小的赋予码元1。