可逆压缩和非可逆压缩

可逆压缩和非可逆压缩,最后,让我们来看一下图像文件的数据形式。图像文件的使用目的通常是把图像数据输出到显示器、打印机等设备上。Windows的标准图像数据形式为BMP,是完全未压缩的。由于显示器及打印机输出的bit(点)是可以直接映射(mapping)的,因此便有了BMP=bitmap这一名称。

除BMP格式以外,还有其他各种格式的图像数据形式。比如JPEG格式、TIFF格式、GIF格式等。与BMP格式不同的是,这些图像数据都会用一些技法来对数据进行压缩。

图像文件还可以使用与前文介绍的RLE算法、哈夫曼算法不同的其他压缩算法。这是因为,多数情况下,并不要求压缩后的图像文件必须还原到与压缩前同等的质量。与之相比,程序的EXE文件以及每个字符、数值都有具体含义的文本文件则必须要还原到和压缩前同样的内容。而对于图像文件来说,即使有时无法还原到压缩前那样鲜明的图像状态,但只要肉眼看不出什么区别,有一些模糊也勉强可以接受。这里,我们把能还原到压缩前状态的压缩称为可逆压缩,无法还原到压缩前状态的压缩称为非可逆压缩,这一点希望大家记住(图6-6)。

可逆压缩和非可逆压缩
图6-6 图像文件的压缩有可逆压缩和不可逆压缩两种

图6-7中列出了各种格式的图像文件。其中,原始的图像文件是BMP格式。通过此图可以看出,JPEG格式和GIF格式的图像文件有一些模糊。这是因为JPEG格式的文件是非可逆压缩,因此还原后的图像信息有一部分是模糊的。而GIF格式的文件虽然是可逆压缩,但因为有色数不能超过256色的限制,所以还原后颜色信息会有一些缺失,进而导致了图像模糊。TIFF格式的图像文件虽然不模糊,但却比原始的BMP格式的文件还要大,这是为什么呢?我们知道,TIFF格式的文件中带有各种标签信息,是可以选择压缩格式的,而这里选择的是与BMP同样的无压缩方式。但由于与原始的图像数据相比,TIFF格式的文件中附加了标签信息,所以结果就比BMP格式的文件更大了。

可逆压缩和非可逆压缩
图6-7 各种形式的图像文件的画质对比

压缩算法的种类大概有一二十种。之所以会存在如此多的压缩算法,是因为压缩比率、压缩需要的处理时间(程序的复杂程度)以及各种文件的需求等是不一样的。因此,至今学界都不能提出一个万能的压缩算法。而这也为各位读者提供了一个展露才能的机会。大家不妨尝试一下,自己原创一个压缩算法。不过有一点需要注意,文本文件不能进行非可逆压缩。至于原因,想必大家也都清楚了吧。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!