数据压缩是减少文件大小,同时保留相同或可比较的数据近似值的过程。这是通过消除不必要的数据或重新格式化数据以提高效率来实现的。
压缩数据时,可以使用丢失或无损方法。丢失方法永久擦除数据,而无损保留所有原始数据。您使用的类型取决于您需要的文件的保真度高。
在本文中,您将发现六种不同类型的无损数据压缩算法,以及四种基于深度学习的图像和视频压缩算法。
6 无损数据压缩算法
无损压缩算法通常用于存档或其他高保真度目的。这些算法使您能够减小文件大小,同时确保文件在需要时可以完全还原到其原始状态。
当您需要执行无损压缩时,您可以选择多种算法。以下是六个常用的。
1. LZ77
LZ77 于 1977 年发布,是许多其他无损压缩算法的基础。它使用”滑动窗口”方法。在此方法中,LZ77 管理使用三重表示的字典:
偏移 — 短语开头和文件开头之间的距离。
运行长度 – 构成短语的字符数。
偏离字符 — 指示新短语的标记。这包括短语等于原始短语和哪些字符不同的指示。
在分析文件时,将动态更新字典以反映压缩的数据内容和大小。例如,包含字符串”abbadabba”的文件被压缩到字典条目”abb(0,1,’d’)(0,3,’a’)”。您可以在下面看到此过程的细目。
位置
象征
输出
0
a
a
1
B
B
2
B
B
3
a
(0,1,’d’)
4
D
5