matlab数字图像处理(八)图像压缩

图像压缩

数据的冗余

  • 空间冗余:视频图像通常与它周围的某些像素在亮度和色度上相同或非常接近,存在一定的相关性。这些相关性的光成像结果在数字化图像中就表现为数据的空间冗余。
  • 时间冗余:在运动图像中,相邻两帧图像之间有较大的相关性。
  • 信息熵冗余:信息熵冗余又称编码冗余(信息熵是指一组数据所携带的信息量)。如果一个图像的灰度级编码使用了多于实际需要的编码符号,就称该图像包含了编码冗余。
  • 结构冗余:由图像存在的纹理或图元(分块子图像)的相似结构而产生的冗余。
  • 知识冗余:一些图像理解问题与某些先验知识有相当大的相关性。例如:人脸的图像有固定的结构,嘴的上方是鼻子,鼻子的 上方是眼睛,鼻子位于正脸图像的中线上。这类规律性的 结构可以由先验知识和背景知识得到,这类冗余称为知识 冗余。知识冗余是模型编码的基础。
  • 视觉冗余:人类视觉系统对亮度变化敏感,而对色度变化相对不敏感。在高亮区,人眼对亮度变化敏感度下降,致使对内部细节相对不敏感,而对整体轮廓敏感。因此,人类视觉系统并不是对图像的任何变化都能感知出来,表现为视觉冗余。

信息论的几个基本术语:决策量、信息量、熵。

  • 决策量:在有限数目的互斥事件集合中,决策量是事件数的对数值
  • 信息量:有确定概率事件的信息的定量度量。
  • 熵:按照香农(Shannon)的理论,在有限的互斥和联合穷举事件的集合中,熵 为事件的信息量的平均值,也称事件的平均信息量(mean information content)。在香农的源编码理论中,熵的大小表示非冗余的、不可压缩的 信息量。因此,熵可理解为数据压缩的理论极限。

数据的冗余量:决策量-熵

统计编码
对出现概率较大的符号取较短的码长,对出现概率较小的符号取较长的码长。因此,统计编码通常采用变长码编码,以实现平均码长短、编码效率高、对冗余度彻底压缩的目的。理想状况下,可以使平均码长等于信源的熵。又称熵编码、最佳信源编码。

香农-范诺编码
matlab数字图像处理(八)图像压缩_第1张图片
霍夫曼编码
matlab数字图像处理(八)图像压缩_第2张图片

算术编码:算术编码不是将单个信源符号映射成一个码字, 而是把整个消息表示为实数线上的0到1之间的一个区间, 区间长度等于该序列的概率,再在该区间内选择一个代表 性的小数,转化为二进制作为实际的编码输出。消息序列 中的每个元素都用来缩短这个区间。消息序列中元素越多, 所得到的区间就越小,当区间变小时,就需要更多的数位 来表示这个区间。采用算术编码每个符号的平均编码长度可以为小数。实质上是为整个输入字符流分配一个“码字”,因此它的编码效率可接近于熵。

RLE编码
RLE编码又叫行程编码(RLE-Run Length Encoding)

JPEG图像压缩与编码
JPEG标准的正规名称是:连续色调静止图像的数字压 缩和编码(Digital Compression and Coding of Continuous-tone Still Images)
matlab数字图像处理(八)图像压缩_第3张图片
量化量化是对经过FDCT变换后的频率系数进行量化,其目的是 在图像品质能够接受的情况下,忽略不重要的信息。量化是图像质量下降的最主要原因。

量化后的系数要重新编排,目的是为了增加连续的“0”系数的个数, 就是“0”的行程(游程)长度,方法是按照Z字形的式样编排,如下图所 示。这样就把一个8 * 8的矩阵变成一个1* 64的矢量,频率较低的系数放在 矢量的顶部。
经过FDCT和量化两个环节后,较高空间频率(对应较大的u和v)的 系数很小,大部分为零,因此,按之字型的顺序调整系数可以使为零的高 空间频率系数能够连在一起,以利于行程编码(Run-length coding)。

统计编码可分成两步进行:

  • 把DC码和AC行程码转换为中间符号序列
  • 给这些符号赋以变长码字

你可能感兴趣的:(matlab,数字图像处理)