为什么从解码的 MP3 编码的 FLAC 比 MP3 大?

Rya*_*son 13 audio compression mp3 flac

比标题更准确,假设我有一个 320 kbps 的 MP3 文件。如果我解压缩它,那么从逻辑上讲,除了每秒音频中大约 320 KB 之外的所有数据都应该是冗余数据,可以被压缩掉。那么,当我将解压缩文件编码为 FLAC 或任何其他无损编解码器时,为什么它会大得多?

在相关说明中,理论上是否可以从解压缩的 wav 无损恢复源 mp3 音频?(我知道 mp3 本身是有损的。我在问是否可以重新编码而不会造成任何进一步的损失。)

编辑:让我澄清相关问题及其背后的基本原理。假设我有一个从 MP3 文件解压缩的 wav(并且假设我由于某种原因没有 mp3 本身)。如果我不想再损失任何质量,我可以使用 FLAC 或任何其他无损编码器对其重新编码,并获得更大的文件以保持相同的质量。或者,我可以再次将其重新编码为 mp3 并获得与原始大小相同的大小,但会丢失更多数据。显然,这两种情况都不是理想的。我可以拥有原始大小或原始质量,但不能同时拥有(我指的是原始 mp3 的质量,而不是原始无损源的质量)。我的问题是:我们可以同时获得吗?理论上是否可以从有损解压数据中恢复有损压缩数据,而不会丢失更多?

如果可能的话,我可以想象一个无损压缩算法,用 FLAC 压缩音频。然后它还会扫描音频以查找先前有损压缩的任何迹象,如果检测到,则将其无损地重新压缩为原始有损文件。然后它保留较小的文件。

end*_*ith 31

FLAC 比相同数据的 MP3 大的原因是因为它们的编码不同。:) MP3 只是对感知信息进行编码,而 FLAC 以更紧凑的格式存储每一点数据。

  • 将 WAV 转换为 FLAC 就像将 BMP 转换为 PNG。
    • 相同的精确像素,但像 ZIP 文件一样无损地压缩成更小的尺寸。
  • 将 WAV 转换为 MP3 就像将 BMP 转换为 JPEG。

类似地,MP3 只存储产生涟漪的指令,当这些涟漪加在一起时,听起来有点像原始的。但真实信号和生成信号(误差信号)之间的差异包含随机噪声伪影,如JPEG 锯齿。当您将其存储为 FLAC 等完美主义格式时,它需要存储所有这些锯齿,而随机噪声更难以无损压缩,因此会增加文件的大小。(真正的随机噪声是不可压缩的。当您无损压缩文件时,您正在消除多余的重复模式,使其看起来更像随机噪声。)

我敢打赌,如果您将 JPEG 转换为 PNG,您会看到与将 MP3 转换为 FLAC 时所看到的相同的大小增加,因为完美主义者的无损编解码器需要记住原始 bmp 中没有的每一个小锯齿和伪像。

这个类比并不完美,因为音频更像是照片而不是艺术线条图,但它有助于理解这个想法:

原始 BMP 大小:29 kB

PNG 格式的蓝点

PNG 尺寸:629 B

带有锯齿的 JPEG 格式的蓝点

JPEG 大小:1.7 kB

带有锯齿的蓝点重新编码为 PNG

从 JPEG 创建的 PNG:6.2 kB

  • 但是当然一旦文件转换为JPG,数据就会丢失,并且无法通过转换为PNG来恢复。如果 FLAC/PNG 中有更多数据,那么大部分数据都是虚构的。 (3认同)