1、为什么要进行图像压缩
众所周知,当今人类社会具有三大支柱,即物质、能量、信息。当下已由物质过渡到信息,从农业现代化到工业现代化,再到当今的信息化时代。信息具有通用性、抽象性、无限性。其通用性表现在信息的无所不在和无时不在特点上;抽象性表现在信息不是一个具体的物理物质,没有重量,没有长度;而无限性表现在物质的不可分性,也可以理解为通信网络发展的不可预测,以及电话线模式的不断发展,带来通信信息的扩展以及通信模式的不断更新,变化。
随着信息技术的发展,图像信息被广泛应用于多媒体通信和计算机系统中,不仅使社会环境更加绚丽多彩,同时给信息化时代的用户提供一种更加直观、确定的获取信息资源的一种便利方法。但是图像信息庞大的数据量,不经压缩处理,不仅会超出计算机的存储和处理能力,同时在现有通信信道的带宽下,无法既在保证图像质量的情况下,又进行大量多媒体信息快速和实时的传输,造成网络负载加剧,计算机处理能力降低,从而影响用户交互心情。
因此,为了更好的、有效的存储、处理以及传输这些图像数据信息,必须进行Image Compression。
2、什么是图像压缩
目前常用的图像文件格式有十几种,其中JPEG格式由于占用空间小,图像质量高,而为用户广泛采用。JPEG即联合图像专家组(Joint Photographic Experts Group),隶属于ISO国际标准化组织,主要负责定制静态数字图像的编码方法,即所谓的JPEG算子。她适用于各种不同类型、不同分辨率的彩色和黑白二值静止图像。现阶段,JPEG专家小组开发出2种压缩算法,2种熵编码方法以及4种编码模式,如下:
压缩算法:
(1)有损的离散余弦变化DCT(Discrete Cosine Transform);
(2)无损的预测压缩技术;
熵编码方法:
(1)Huffman编码;
(2)算术编码;
编码模式:
(1)基于DCT的顺序模式:编码、解码通过一次扫描完成;
(2)基于DCT的渐进模式:编码、解码需要多次扫描完成,扫描效果由粗到精,逐级递增;
(3)无损模式:基于DPCM,保证解码后完全精确恢复到原图像采样值;
(4)层次模式:图像在多个空间分辨率中进行编码,可根据需要只对低分辨率数据解码,放弃高分辨率信息;
实际生活中采用以上红色标注的压缩方法。这是JPEG的基本压缩系统。其中压缩过程一共分为以下9个步骤:颜色空间转换、采样、分块、离散余弦变换(DCT)、(Zigzag Z字形扫描排序)、量化、DC系数的DCPM编码、AC系数的游程长度编码、熵编码、压缩。
3、JPEG压缩过程详解
(1)颜色空间转换
颜色通常可以使用三种不同的属性对之进行描述,三个独立变量综合作用,就构成了空间坐标,这就是颜色空间。而颜色可以从不同的角度,用三个一组的不同属性加以描述,这就构成了不同的颜色空间。描述的颜色对象是客观的,不同的颜色空间只是从不同的角度去刻画衡量同一个颜色对象。所以,颜色空间的出现大多是面向具体的应用和行业的。
颜色空间(也叫彩色模型、彩色系统、色彩空间)的概念其实质是一种用途,是一种针对不同应用而采用某接受的方式对彩色加以说明的彩色模型(这里可接受我们可以理解为上面所说的三种不同属性的变量)。
市场上大概推出了上百种颜色空间,常见的有:
RGB 用于扫描仪和显示设备、计算机系统(将颜色的亮度、色度、饱和度融为一体)[red,green,blue]
CMY 用于打印机、印刷出版业[cyan,magenta,yellow]
HSV/HSI/HSB/HSL 广泛用于图像处理和计算机视觉
[hue,saturation,value/intensity/brightness/luminance(or lightness)色度,饱和度,亮度]
YUV/YCbCr 用于视频和电视,JEPG采用的是YCbCr颜色空间,但同时大多数计算机系统采用的是RGB颜色空间。
采用YUV颜色空间的重要性是它的亮度信号Y和色度信号U、V是分离的(Y表示亮度,U(Cb)、V(Cr)表示色度,有时候分别又说表示色度和饱和度)。如果只有Y信号分量而没有U、V分量,那么这样表示的图就是黑白灰度图。彩色电视采用YUV空间正是为了用亮度信号Y解决彩色电视机与黑白电视机的兼容问题,使黑白电视机也能接收彩色信号。
电视信号在发射时,转换成YUV形式,接受时再还原成RGB三基色信号,由显像管显示(RGB->YUV->编码发送------YUV->RGB->显示)
这里主要利用了HVS(Human Visual System)对亮度比色度更敏感的特点,而计算机系统没有人眼这样的识别功能,所以主要使用RGB三基色原理(世界中任一颜色都可以使用RGB以不同的权重联合起来表示)。
因此,针对图像压缩,CV等需要将RGB颜色空间的图像转换为YUV彩色模型的图像,方便后续的图像处理(如压缩,增强,恢复等)。
RGB->YUV:
Y = 0.299R+0.587G+0.114B
Cb = -0.1687R-0.3313G+0.5B+128
Cr = 0.5R=