本节主要目的是介绍图像压缩的一些基本概念,主要包括图像压缩的基本概念、PCM编码、无损压缩、有损压缩、压缩标准。来源于东北大学 魏颖教授的数字图像课程笔记。
图像压缩的基本概念
- 数据冗余:表示图像需要大量的数据,例如 512×512×8bit×3色的电视图像,用56k波特在电话线上传输,单幅图像传输需要2分钟左右,这通常是不能接受的。但图像数据是高度相关的, 或者说存在冗余(Redundancy)信息,去掉这些冗余信息后可以有效压缩图像, 同时又不会损害图像的有效信息。
- 数字图像本身的特征带来数据压缩的可能性
1)空域冗余:也称为空间冗余或几何冗余,是一种与像素间相关性直接联系的数据冗余。 2)时域冗余又称时间冗余。视频序列每秒有25-30帧图像,连续播放,相邻帧之间的时间间隔很小;同时实际生活中的运动物体具有运动一致性,使得视频序列图像之间有很强的相关性。
- 应用环境允许图像有一定程度失真
a . 接收端图像设备分辨率较低,则可降低图像分辨率。 b . 用户所关心的图像区域有限,可对其余部分图像采用空间和灰级上的粗化。 c . 根据人的视觉特性对不敏感区进行降分辨率编码(视觉冗余)。
- 频域冗余 将空域的图像变换到频域中,使得大量的信息能用较少的数据来表示,从而达到压缩的目的。
- 信息熵冗余 图像中像素灰度出现的不均匀性,造成图像信息熵冗余。即用同样长度比特表示每一个灰度,则必然存在冗余。若将出现概率大的灰度级用长度较短的码表示,将出现概率小的灰度级用长度较长的码表示,有可能使编码总长度下降
- 保真度标准:
- 客观保真度标准:用数学形式表述图像压缩过程对图像信息的损失。
将信息损失的多少,表示为原始输入图像与压缩后又解压缩输出的图像的函数,这个函数就被称为客观保真度标准。一般表示为:
是输入图像,
是压缩后解压缩的图像,
是误差函数。
- 主观保真度标准:
通过视觉比较两个图像,给出一个定性的评价,如很差、差、勉强可以、过得去、好、极好六个等级,这种评价被称为主观保真度标准。
源数据编码与解码的模型:映射器 :减少像素冗余,如使用RLE编码。或进行图像变换。量化器:减少视觉心理冗余,仅用于有损压缩。符号编码器:减少编码冗余,如使用哈夫曼编码。 图像编码方法有许多,但从技术角度来看,可以分作两大类:-无损压缩:是一种经编、解码后图像不会 产生失真的编码方法,可重建图像,但压缩比不大;-有损压缩:解码时无法完全恢复原始图像,压缩比大但有信息损失。 传统的图像编码方法有脉码调制、量化算法、空间和时间亚取样编码、熵编码、预测编码、变换编码、矢量量化和子带编码等。 新型编码技术包括第二代图像编码方法、分形编码、基于模型编码和小波编码等。 图像编码是从不同角度消除图像数据中的冗余,减少表示图像所需的比特数,或平均比特数,实现数据压缩。
- 信息量和熵:
图像熵:
平均码字长度:
- 编码效率和冗余度:
编码效率:
冗余度:
等长码和变长码: 等长码: 在编码的过程中,采用位数相同的码字对消息或图像灰度进行编码。常见的等长码有自然二进制码、ASCII码、格雷码和折叠二进制码。在消息等概率出现时,等长码是最佳的,此外在短距离传输时也用这种等长码。- 自然二进制码是一种权重码,可以直接进行大小比较和算术运算,也可直接转换成模拟信号。- 格雷码不是权重码,它的相邻两个量化电平所用码字只有一位变化,不会因进位产生尖峰干扰 。 变长码: 变长码即非等长码,由不同的码长的码字构成。在编码输入出现非等概率时,变长码可得到较高的编码效率,设平均码长达到或接近编码的下限 。
PCM编码
- PCM -脉冲编码调制:
图像信号的PCM编码系统由低通滤波器、取样电路、量化器、编码器组成。
- 低通滤波器的作用:
- 满足取样定理的带限要求。
- 对噪声有一定的抑制作用。
- 取样与量化
- 取样是空间上的离散化。
- 量化器是信号幅度上的离散化。
- 编码器:把多值的数字信号变成二进制的数字信号,以便于后续处理。
- 低通滤波:对量化噪声有一定的抑制作用。在接收端得到重建的图像信号。
图像量化值直接采用PCM编码,这样得到的图像数据量将十分巨大,采用简单的PCM编码技术用于图像信息的存储与传输是不经济的,所以要对它进行数据压缩。基本框图如下
无损压缩
- 哈夫曼编码算法 哈夫曼编码是以信源概率分布为基础的, 但一般无法事先知道信源的概率分布,通常采用对大量数据进行统计后得到的近似分布来代替, 这样会导致实际应用时哈夫曼编码无法达到最佳性能。通过利用根据输入数据序列自适应地匹配信源概率分布的方法,可以较好地改进哈夫曼编码的性能。哈夫曼编码的一般算法如下:
- 首先统计信源中各符号出现的概率, 按符号出现的概率从大到小排序。
- 把最小的两个概率相加合并成新的概率, 与剩余的概率组成新的概率集合。
- 对新的概率集合重新排序, 再次把其中最小的两个概率相加, 组成新的概率集合。如此重复进行, 直到最后两个概率的和为1。
- 分配码字。码字分配从最后一步开始反向进行,对两个概率一个赋予0、一个赋予1。如此反向进行到开始的概率排列。在此过程中,若概率不变仍用原码字。若概率分裂为两个,其码字前几位仍用原来的,码字的最后一位码字一个赋予0、一个赋予1。
由例可见,哈夫曼编码的编码效率是相当高的,其冗余度只有2.2%。如果采用等长编码,由于有8种灰度级,则每种灰度级别至少需要3比特来表示,对于例子中的图像而言,其编码的平均码长为3,编码效率为85%。 对不同概率分布的信源,哈夫曼编码的编码效率有所差别。当信源概率为均匀分布时, 其编码效果明显降低。也就是说,在信源概率接近于均匀分布时,一般不使用哈夫曼编码。
- 行程编码:
为了达到较好的压缩效果,一般不单独采用行程编码, 而是和其他编码方法结合使用。 例如, 在JPEG中, 就综合使用了行程编码、DCT、量化编码以及哈夫曼编码, 先对图像作分块处理, 再对这些分块图像进行离散余弦变换(DCT), 对变换后的频域数据进行量化并作Z字形扫描,接着对扫描结果作行程编码, 对行程编码后的结果再作哈夫曼编码。
- 无损预测编码:
有损压缩
- 有损压缩是: • 通过牺牲图像的准确率来达到加大压缩率的目的 • 如果我们容忍解压缩后的结果中有一定的误差,那么压缩率可 以显著提高
- 有损压缩方法的压缩比: • 在图像压缩比大于30:1时,仍然能够重构图像 • 在图像压缩比为10:1到20:1时,重构图像与原图几乎没有差别 • 无损压缩的压缩比很少有能超过3:1的
- 这两种压缩方法的根本差别在于有没有量化模块
量化器基本思想:
- 减少数据量的最简单的办法是将图像量化成较少的灰度级,通过减少图像的灰度级来实现图像的压缩
- 这种量化是不可逆的,因而解码时图像有损失
- 量化器的定义:
有损预测编码-DM有损预测编码:
变换编码:
- 变换编码的基本思想:
(1)用一个可逆的、线性的变换(如傅立叶变换),把图像映射到变换系数集合。 (2)然后对该系数集合进行量化和编码。 (3)对于大多数自然图像,重要系数的数量是比较少的,因而可以用量化(或完全抛弃),且仅以较小的图像失真为代价。
变换编码的基本思想:举例
图像变换编码中主要解决的问题如下:1.选择变换方法。2.确定子块图像的大小。3.变换系数的编码。 思想:正变换得到的系数矩阵中,数值较大的方差总是集中在少数系数中。通常,大幅度系数集中在低频率区,而且图像相关性明显下降,对较少的系统可分配少的比特数或不传送。故正交变换本身只是把分布在变换域中的信息变得集中起来,为合理少分配给某些数据比特数提供了可能。 块状效应:块状效应是指当压缩比提高到一定程度后,在相邻图像块的边界处,会出现可见的不连续性,这会使观察者有非常不舒服的感觉。
变换压缩方法主要研究的问题:
压缩标准
- JPEG基本系统编码:
- JPEG编码实例:
下面结合一个实例来讲述JPEG基本系统的编码过程。设有一图像亮度数据块如图4所示,对其进行离散余弦变换后, 用图1所示的亮度量化表对系数矩阵量化后的结果如图5所示。对量化结果按图3所示的顺序进行Z形扫描, 并对扫描结果的DC及AC系数进行编码的结果见表4。由于数据较多,为简便起见, 这里只对几个系数的编码加以说明。
JPEG编码过程请参考博文:https://felixzhang00.github.io/2016/12/24/2016-12-24- jpeg%E7%BC%96%E7%A0%81%E5%AD%A6%E4%B9%A0%E7%AC%94%E8% AE%B0/
我的微信公众号名称:深度学习与先进智能决策 微信公众号ID:MultiAgent1024 公众号介绍:主要研究分享深度学习、机器博弈、强化学习等相关内容!期待您的关注,欢迎一起学习交流进步!