数据压缩是对数据进行编码、重组或修改以减小其大小的过程。数据经过压缩,重新编码信息,用于存储信息的位数会减少。这样一来,变小的文件在网络传输时会缩短时间,也占用更少的存储空间。
因此,数据压缩主要解决两个问题:
1、数据存储容量成本
存储和处理更多数据需要部署额外的数据中心,这会导致数据存储成本增加。
2、数据维护和扩展
部署额外的数据需要为其配置和维护分配额外的资源。
常见数据类型及相应的数据压缩算法
目前数据压缩算法主要用于处理以下四种数据类型:
1、音频
对于音频压缩,算法被实现为音频编解码器。可以压缩和解压缩音频文件的程序。根据原始文件格式,可以选择使用有损或无损算法的编解码器。例如,MP3是最普遍的有损编解码器,而FLAC是无损编解码器。
2、图像
可以压缩数字存储的图像以减小原始图像的大小,从而节省存储空间并减少通过网络传输图像所需的时间。与音频文件类似,图像可以使用有损或无损算法进行压缩。最流行的有损算法是JPEG,广泛使用的无损算法是GIF和PNG。
3、视频
视频压缩是图像压缩和音频压缩的组合。由于未压缩视频所需的高数据速率,大多数视频文件都使用有损压缩进行压缩。最流行的有损视频压缩形式是MPEG。
4、文本
文本数据通常使用无损算法进行压缩,该算法在文本中找到重复序列并用更短的表示替换它们。一种常用的无损文本压缩格式是GZIP。
有损压缩和无损压缩
有损算法通常用于压缩图像和音频。这些算法允许在选择性损失质量的情况下实现高压缩比。但是,根据定义,有损压缩后不可能完全恢复原始数据。
无损算法以允许从压缩文件中完全恢复原始数据的方式减少数据大小。这些算法主要用于通信系统和数据存档器。一些无损算法也用于压缩音频和图形信息。