首先区分两个概念:位图与矢量图。
位图,又称光栅图像,指的是图像由点阵组成,就是最小单位由像素构成的图,只有点的信息,所以也叫做点阵图、像素图。常见的格式有:JPG、PNG、GIF等。
矢量图是根据几何特性来绘制图形,使用直线和曲线来描述图形,这些图形的元素是一些点、线、矩形、多边形、圆和弧线等等,它们都是通过数学公式计算得到的,特点是放大后图像不会失真,与分辨率无关,这也是矢量图与位图最大的区别。常见的格式有:CAD、Flash等。
下面介绍常见的图像压缩算法。
数据压缩的任务是在不影响或少影响图像质量的前提下,尽量设法减少图像数据中的数据量,这样对于存储和传输有很大好处。压缩的主要任务是设法去掉各种冗余的信息。我们可以把数据压缩理解为一个编码的过程,即将原始数据进行编码压缩。对应的逆过程是数据解压缩。对于数据压缩的衡量有:压缩比,也就是压缩前后数据量的比;图像质量,还原出来的图像质量比原始图像有多大的失真,可以用信噪比来评价;实现难度:即实现压缩及还原算法的难易程度。
图像的压缩编码可分为两类:一类压缩是可逆的,即从压缩后的数据可以完全恢复原来的图像,信息没有损失,称为无损压缩编码,如GIF、PNG采用的都是无损编码;第二类是不可逆的,即从压缩后的数据无法完全恢复原来的图像,信息有一定损失,称为有损压缩编码。
霍夫曼编码。无损编码的一种,是一种基于统计特性的编码方法。霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码,反之出现机率低的则使用较长的编码,这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。
行程长度编码。常用的无损压缩算法,将一扫描行中颜色值相同的相邻像素用两个字节来表示, 第一个字节是一个计数值, 用于指定像素重复的次数;第二个字节是具体像素的值。举个例子。
“aaaabbbbcccc”-&”4a4b4c”
这种方法能够比较好地保存图像的质量,但是缺点显而易见,相对有损压缩来说这种方法的压缩率比较低。
LZW压缩。无损压缩。通过建立一个字符串表,用较短的代码来表示较长的字符串来实现压缩。的基本原理:提取原始文本文件数据中的不同字符,基于这些字符创建一个编译表,然后用编译表中的字符的索引来替代原始文本文件数据中的相应字符,减少原始数据大小。看起来和调色板图象的实现原理差不多,但是应该注意到的是,我们这里的编译表不是事先创建好的,而是根据原始文件数据动态创建的,解码时还要从已编码的数据中还原出原来的编译表。下面是一个例子。
原始数据ABCCAABCDDAACCDB。只包括4个字符,可以用一个2bit的数表示0-A,1-B,2-C,3-D,从最直观的角度看,原始字符串存在重复字符,用4表示AB,5表示CC,则压缩后的数据为45A4
预测编码。有损压缩。根据离散信号之间存在着一定关联性的特点,利用前面一个或多个信号预测下一个信号进行,然后对实际值和预测值的差(预测误差)进行编码,这就是差分编码(DPCM)。如果预测比较准确,误差就会很小。在同等精度要求的条件下,就可以用比较少的比特进行编码,达到压缩数据的目的。
JPEG算法。JPEG是Joint Photographic Exports Group的英文缩写,中文称之为联合图像专家小组。该小组隶属于ISO国际标准化组织,主要负责定制静态数字图像的编码方法,即所谓的JPEG算法。JPEG专家组开发了两种基本的压缩算法、两种熵编码方法、四种编码模式。
JPEG 2000是基于小波变换的图像压缩标准,由Joint Photographic Experts Group组织创建和维护。JPEG 2000通常被认为是未来取代JPEG(基于离散余弦变换)的下一代图像压缩标准。JPEG 2000文件的副档名通常为。jp2,MIME类型是image/jp2。JPEG 2000的压缩比更高,而且不会产生原先的基于离散馀弦变换的JPEG标准产生的块状模糊瑕疵。JPEG2000同时支持有损压缩和无损压缩。另外,JPEG2000也支持更复杂的渐进式显示和下载。
下面看一下常见的图片格式。
Jpeg图片格式。也称jpg,以24位颜色存储单个光栅图像。是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤。尤其是使用过高的压缩比例,将使 最终解压缩后恢复的图像质量明显降低,如果追求高品质图像,不宜采用过高压缩比例。但是JPEG压缩技术十分先进,它用有损压缩方式去除冗余的图像数据, 在获得极高的压缩率的同时能展现十分丰富生动的图像,换句话说,就是可以用最少的磁盘空间得到较好的图像品质。而且 JPEG是一种很灵活的格式,具有调节图像质量的功能,允许用不同的压缩比例对文件进行压缩,支持多种压缩级别,压缩比率通常在10:1到40:1之间。
Gif图片格式。原义是“图像互换格式”,是CompuServe公司在 1987年开发的图像文件格式。GIF文件的数据,是一种基于LZW算法的连续色调的无损压缩格式。其压缩率一般在50%左右,它不属于任何应用程序。目 前几乎所有相关软件都支持它,公共领域有大量的软件在使用GIF图像文件。 GIF图像文件的数据是经过压缩的,而且是采用了可变长度等压缩算法。所以GIF的图像深度从lbit到8bit,也即GIF最多支持256 种色彩的图像。GIF格式的另一个特点是其在一个GIF文件中可以存多幅彩色图像,如果把存于一个文件中的多幅图像数据逐幅读出并显示到屏幕上,就可构成 一种最简单的动画。
PNG图片格式。便携式网络图形(Portable Network Graphics,PNG)是一种无损压缩的位图图形格式,支持索引、灰度、RGB三种颜色方案以及Alpha通道等特性,采用LZ77派生出来的无损压缩算法。
WebP图片格式。是一种同时提供了有损压缩与无损压缩的图片文件格式,派生自图像编码格式VP8。WebP是Google新推出的影像技术,它可让网页图档有效进行压缩,同时又不影响图片格式兼容与实际清晰度,进而让整体网页下载速度加快。这种格式的主要优势在于高效率,也就是在保证质量相同的情况下,比其它图片格式占用空间更小,更便于传输和存储,应该很快就能在网络上广泛流传开来。下面的两个例子可以很直观的看到差距。