我认为我之前关于AAC和MP3量化的的想法稍微复杂了一点。
以AAC的量化为例
AAC和MP3的量化器与反量化器的基本公式是
基本公式1 : Q(x) = Q1(x) + MAGIC_NUMBER.
MAGIC_NUMBER定参数提取,得到Q1(x)后看他和y轴的焦点就可以得到MAGIC_NUMBER
基本公式2 :Q1(x) = Q2(x)^(3/4);
这里的(3/4)是人为设定目的是让Q2的量化步长降低,降低1.1db
基本公式3 :Q2(x) = x*(2^(arg1));
这一步骤实际就是一个基本的均匀量化。是量化步长为2^(arg1)的均匀量化。
深入分析一下,
我们把Q(x) = x/C. 叫做以常量C为步长的均匀量化。比如我们做量化时,x = x/128.或是x = x/3.
当C == 2^cexp时,我们可以用cexp表示定义量化步长。选取以2为底是因为,我们的技术系统是2进制的。用其它的表示有点浪费。可以通过对2的修正达到改变量化步长的目的。当然也和信号的统计特性有关。
故我们可以知道基本公式3里的arg1就是我刚刚说的cexp。
基本公式4:arg1 = -0.25*(scalefactor - common_scalefactor).
这里乘以0.25还是表示要降低量化步长。scalefactor 是每个自带的因子, common_scalefactor是对scalefactor归零化处理。是降低scalefactor幅值的方法。
综述:AAC和MP3的量化器只是对Q2(x) = x*(2^(arg1))的反复修正。没有太高深的技巧。