有损压缩与无损压缩:转换文件时究竟发生了什么
你以前肯定听过这些术语——可能是在保存JPEG、导出音频或压缩视频时。有损。无损。这些词听起来不言自明,但大多数解释止步于此,让实际机制成了谜。
本文填补这个空白。你将了解每种压缩类型在机械层面做了什么,为什么这对你每天使用的真实文件很重要,以及如何根据是归档、发布还是编辑来做出正确选择。
一段话说清核心区别
无损压缩重新组织数据使其占用更少空间——但原始内容的每一个比特都能被精确恢复。有损压缩通过永久丢弃人类感知系统不太可能注意到的数据来实现更小的文件体积。一旦这些数据消失,就无法恢复。取舍始终如一:有损给你更小的文件,无损给你相同的重建结果。
无损压缩如何工作
将无损压缩想象成一种聪明的速记。与其写十遍"AAAAAAAAAA",不如写"10×A"。信息内容相同;表示形式更短。解压时,将速记展开回原始内容。
真实的无损算法更复杂,但原理相同。它们寻找并利用统计冗余——重复的模式、相似值的长序列、可以从前文预测的序列。常见技术包括:
- 游程编码——压缩重复的相同值(对图像中的纯色区域很有用)。
- Huffman编码——为更频繁的符号分配更短的比特码,为罕见符号分配更长的码。
- LZ77/LZ78(Deflate)——在数据中任意位置查找重复序列,并用反向引用替换后续出现。
这些技术都不会丢弃任何内容。用Deflate压缩的PNG、FLAC音频文件或ZIP归档,都可以解压产生与原始文件逐位相同的副本。
有损压缩如何工作
有损算法采用不同的方式:利用人类感知的限制,丢弃大多数人永远不会察觉缺失的数据。
关键认识是:你的视觉系统和听觉系统对所有事物的敏感度并不相同。你的眼睛检测亮度变化比检测颜色变化强得多。你的耳朵对1–4 kHz频率(语音)远比对极高或极低频率敏感。有损编解码器会积极利用这些限制。
DCT和JPEG——图像案例
JPEG压缩首先将图像分成8×8像素的块。每个块经过离散余弦变换(DCT),将块的像素值转换为一组频率分量——本质上是该块中精细细节与宽广渐变各占多少。
然后量化步骤丢弃高频分量。丢弃量由质量设置控制。在JPEG质量85下,量化很温和——你失去了眼睛察觉不到的微妙细粒纹理。在质量40下,量化很激进——块状伪影变得可见。
JPEG在质量85下相对于原始未压缩图像,通常实现约10:1的压缩比。
心理声学模型和MP3
MP3使用心理声学模型来决定丢弃哪些音频数据。它分析每个短音频片段并识别:
- 在较响的邻近频率之上太安静而无法被听到的频率(遮蔽效应)。
- 人耳最不敏感的极高和极低频率。
- 响亮瞬态期间的精细细节,此时耳朵的时间分辨率暂时降低。
在320 kbps下,对大多数听众而言,结果在感知上与CD音频相同。
逐格式分析
图像
JPEG——有损
JPEG是照片的主导格式。基于DCT的编解码器专为摄影内容设计——平滑渐变、复杂纹理——丢弃的高频数据确实难以察觉。
JPEG不适合线条艺术、文字和截图。硬边缘和纯色会产生可见的"振铃"伪影。
质量85下的典型压缩比:10:1。
PNG——无损
PNG在原始像素数据上使用Deflate压缩。不丢弃任何内容。解压后的PNG在像素层面完美还原。
PNG压缩照片的效果远不如JPEG——照片作为PNG可能是JPEG质量85下同一照片的3倍大。但对于截图、图表以及任何包含文字或锐利边缘的内容,PNG是正确选择。
WebP——两种模式
WebP明确支持有损和无损模式。在有损模式下,通常比同等视觉质量的JPEG小25–35%。两种模式都支持Alpha透明度。
音频
WAV / AIFF——未压缩
WAV和AIFF存储原始PCM音频。没有压缩。一分钟CD质量(44.1 kHz、16位)立体声音频占用约10 MB。
FLAC——无损
FLAC对PCM音频应用无损压缩,通常实现**40–60%**的缩减。它是高质量音频收藏的标准归档格式。
MP3——有损
MP3使用上述心理声学模型。在320 kbps下,文件约为每分钟1 MB——相比未压缩减少了10倍。
AAC是更现代的有损格式,在约MP3码率的70–80%下实现相当的质量。Apple Music和大多数流媒体平台使用AAC。
视频
H.264(AVC)——有损
H.264是应用最广泛的视频编解码器。它结合了帧内基于DCT的空间压缩和帧间时间压缩——只编码与前一帧相比发生变化的内容。
以典型流媒体码率(4–8 Mbps)压缩的两小时1080p影片约为4–8 GB。
H.265(HEVC)和AV1在相同视觉质量下比H.264提高30–50%。
无损视频编解码器
无损视频是存在的——Apple ProRes 4444、FFV1和Ut Video用于专业编辑流程。这些格式用于制作,而非分发。
文档
PDF流压缩对文本和矢量数据应用Deflate(无损)。PDF中的嵌入图像可能是JPEG(有损)。
当你压缩PDF时,主要手段是:以更低JPEG质量重新压缩嵌入图像、对超出需要的高分辨率图像进行降采样,以及删除嵌入元数据。文档的文字和结构永远不会降质。
代际损失问题
这是大多数人无意中发现的实际后果。
当你打开JPEG、编辑并再次保存为JPEG时,你已经对一个本已有损的文件进行了重新压缩。量化步骤在已经量化过的数据上再次运行。五六次重新保存后,退化变得清晰可见。
正确的工作流程始终是:
- 对任何将反复编辑的内容保留无损(或未压缩)原件。
- 只在最终导出步骤应用有损压缩。
- 除非你接受累积质量损失,否则永远不要将有损文件重新保存为有损格式。
格式对比表
何时使用有损 vs. 无损
使用无损时:
- 归档可能需要日后编辑的原始文件。
- 内容包含文字、线条艺术或锐利的几何边缘。
- 处于制作工作流程的中间阶段(编辑音频、视频或图像)。
- 质量不可商量——医学影像、法律文件、母带录音。
使用有损时:
- 通过网络或移动端向最终用户交付内容。
- 文件大小有硬性限制,内容是摄影或影视性质的。
- 受众将在典型屏幕亮度和聆听条件下观看内容。
付诸实践
如果需要压缩图像,照片从质量80–85开始,图形使用无损模式。
对于视频,如果需要压缩视频,从可获得的最高质量源文件开始处理,一次性导出到目标格式,而不是反复重新编码压缩文件。
有关图像压缩方面的深入分析,请参阅图像压缩指南。