文件压缩是如何进行的?原理是什么?

我们的日常工作和压缩文件息息相关,在网上下载的文件包经常是ZIP、RAR等压缩文件格式不说,我们日常使用的视频、图片、音频大多都是压缩文件格式。文件压缩技术是互联网运行的基础之一,它使得文件分享变得更加可行,降低了传输耗时。然而,你知道文件压缩是如何进行的吗?

压缩并不是什么神奇的技术,但也称得上奇思妙想的发明所得。下面,我们将介绍两种主要的压缩方式——有损压缩和无损压缩——的工作原理。

请注意,本篇文章将会尽可能简明地介绍工作原理,而不会使用复杂的数学公式等。如果你想更深入了解,可以从Wiki开始。

无损压缩

无所压缩的核心原理是祛除冗余。好吧,我们来简单地解释一下,比如下面的积木是原始文件:

lossless before - operation, chosen - 文件压缩是如何进行的?原理是什么?

它从上到下,由2个红色砖块、5个黄色砖块和3个蓝色砖块组成。而同样颜色的砖块我们可以看作相同的信息。那么,我只需要这样表示就可以:

lossless after - operation, chosen - 文件压缩是如何进行的?原理是什么?

每种颜色只保留1个砖块,然后在上面写上相应的数字。这样,积木占据的体积更小,我只需要额外存储3个数字,就可以用这3个砖块代表上面的所有砖块。

同样道理,在电脑存储文件的时候,主要的工作方式就是将重复的信息提取出来,然后有下面的字串:

bbbbbbccc

我们可以存储为:

b6c3

当然这只是举例子,具体的存储算法要更加复杂,并应用很多数学方法。但总归,无损压缩的方式就是尽可能提取原始数据重复的部分,并统一地进行表示。这种方式没有数据损失,也就是为什么被命名为无损压缩。

类似WinZip这样的程序采用的就是无损压缩技术,当你把文件压缩然后再解压,里面的数据不会有任何变化。而对于图像,PNG就是典型的无损压缩格式,原理也是相同的,即提取图像中相同的重复信息。

有损压缩

很多时候,使用无损压缩对文件体积的节约是很有限的。但幸运的是我们还有有损压缩技术。所谓的有损压缩,意味着可以抹除一部分信息,从而让文件更小。这并不像听起来那样不合理,事实上我们日常处理的许多文件都采用了有损压缩的技术。

举例来说,最常见的音乐格式MP3,实际用的就是有损压缩,但是你能听出它抹除了原声里的哪些信息吗?通常来说是不能的,被压缩算法抹除的部分,对于人耳并不能分辨,但对文件体积的缩小是非常有效的。但这种有损压缩如果应用过度,同样也会损害音质。

有损压缩技术被大量应用于媒体文件,比如图片、视频和音频,对于这类文件保留所有信息往往是不必要的,压缩结果在可接受的范围内即可。当然对于文字类文件是不存在有损压缩的,否则你看到的这篇文章可能就是无法阅读的了。

比如我们常见的JPEG格式就是有损压缩,我们在网络上看到的图片基本都是JEPG,是因为在这种使用环境下图片的质量并不需要非常非常高,而JPEG可以在适当减少质量的情况下减小文件体积。但有损压缩文件的缺点就是重新存储的时候可能被重复压缩,下面就是JPEG文件被进行3次重存储的效果:

compression jpg - operation, chosen - 文件压缩是如何进行的?原理是什么?

由于参数设置较大,图片质量的降低非常直观。因此有损压缩尽管可以降低文件体积,但具体的使用还要视情况而定。

你需要记住的是,有损压缩真的会损失部分数据,如果你丢失了源文件,就意味着这些丢失的数据再也无法找回。

How Does File Compression Work?

微信打赏支付宝打赏

感谢您的支持!

文章来源:卡米雷特的小站www.kamilet.cn)转载请注明出处。

卡米雷特

视觉控&技术控,不断学习中!

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。