21 压缩(Compression)

136 阅读3分钟

21. 压缩-Compression_哔哩哔哩_bilibili

1. 简介

在第 21 集中,视频主要介绍了数据压缩技术,包括无损压缩和有损压缩,以及它们在计算机科学中的应用。视频首先介绍了文件如何编码和存储数据,然后深入解释了几种常见的压缩算法及其实际应用。

2. 文件与数据存储基础

视频从文件及其格式开始,提到文件是以特定形式编码和存储在计算机上的数据包,常见的文件包括文本、音频和图像文件。虽然这些文件格式简单,但不够高效,尤其在存储和传输大量数据时。因此,压缩技术出现了。

3. 无损压缩

3.1 游程编码 (Run-Length Encoding)

无损压缩方法的一个简单例子是游程编码(Run-Length Encoding),这种方式通过减少重复信息来压缩数据。以一个 4x4 像素的吃豆人图像为例,游程编码可以将连续的相同颜色像素简洁表示,大大减少了存储大小。

3.2 霍夫曼编码 (Huffman Coding)

另一种常见的无损压缩方法是霍夫曼编码(Huffman Coding),它通过构建霍夫曼树来生成高效的编码字典,将数据块替换为更紧凑的表示形式。以一幅图像为例,利用霍夫曼树可以显著减少图像数据的存储空间,同时保证解压后数据与原始数据完全一致。

4. 有损压缩

4.1 感知编码 (Perceptual Coding)

有损压缩方法则通过丢弃人类听觉或视觉无法察觉的信息,达到压缩数据的目的。以音频压缩为例,压缩算法可根据人类对不同频率敏感度的不同,选择性地降低某些频段的精度。MP3 格式就是利用这种感知编码,能将音频文件压缩到原来的 1/10。

4.2 图像与视频压缩

在图像压缩方面,JPEG 格式通过删减细微的空间频率数据来实现图像的压缩。以一张狗的图片为例,JPEG 压缩会分割图像为 8x8 的小块,然后丢弃大量高频信息,从而大幅减小文件大小。
视频压缩则可以利用每帧之间的相似性,仅存储变化的部分(时间冗余),如 MPEG-4 标准,可以让视频比未压缩文件小 20 到 200 倍。更高级的算法还会在帧之间应用简单的移动、旋转等效果来进一步压缩数据。

5. 总结

  • 压缩技术分为无损压缩和有损压缩。
  • 无损压缩保存所有原始数据,如游程编码和霍夫曼编码。
  • 有损压缩通过丢弃人类难以察觉的信息来减小文件大小,如 MP3 和 JPEG 格式。
  • 了解压缩技术有助于高效管理和传输各种数据文件。