Skip to content

关于数字信号的基础,可以参考这篇文章。 《数字音频技术》第三章数字音频录音

基于心理声学模型

主要用到的工具有: 滤波器组(filter bank) 蓝牙中的 SBC 就是采用了这个工具,将输入的 PCM 序列转换到频域,然后再进行自适应量化编码,达到压缩的目的。

改进的离散余弦变换(Modified Discrete Cosine Transform,缩写 MDCT) MP3 AAC OGG Vorbis

ADPCM

PCM(Pulse Code Modulation),脉冲编码调制是一种将模拟信号转换成数字信号的技术。目前在音频模拟信号处理中,将模拟信号数字量化之后就是 PCM 数据了。现在我们讨论的有损无损压缩方式都是基于 PCM 数据来进行的。

DPCM(Differential Pulse Code Modulation),差分脉冲编码调制。由于用 PCM 来编码的音频信息都是比较连续的,大多数情况下不会突然很高或者突然很低,两点之间差值也不会太大,因此这个差值只需要很少的几位(比如 4 bits)就可以表示。这样,我们只需要知道前一个点的值,以及它与下一个点的差值,就可以计算得到下一个点了。这个差值就是所谓的 Differential ,这样就将 PCM 数据转成 DPCM 数据,数据量会比 PCM 数据小很多。

ADPCM (Adaptive Differential Pulse Code Modulation),自适应差分脉冲编码调。音频信号虽然是比较连续性的,但是还是会出现有些差值比较小,有些差值比较大的情况。如果差值比较大有可能用 4bits表示不了,如果增大表示差值的位数(例如 8bits\16bits)是可以解决这个问题,但是会导致编码数据量变大,这样和 PCM 又没什么区别了,而且这种差值比较大的只是少数,大部分还是差值比较小的。 为了解决这个问题,科学家们就想出了 ADPCM,定义一个因子,用差值除以因子的值来表示两点之差,如果两点之间差值比较大,则因子也比较大。通过因子引入,可以使得 DPCM 编码自动适应差值比较大的数据。

SB-ADPCM(Subband ADPCM),子带自适应差分脉冲编码调制。SB-ADPCM 是在 ADPCM 的基础上整合了子带划分的处理,先将信号分解成多个不同频率的子带,然后再在子带的基础上进行 ADPCM 的编码,来实现更进一步的压缩。

apt-X https://en.wikipedia.org/wiki/Adaptive_differential_pulse-code_modulation

https://blog.csdn.net/houxiaoni01/article/details/104702570

3、LPC Opus