AAC采用MDCT进行时频变换。
在编码端,以block为单位取出N个sample,乘以合适的window function后再进行MDCT.N通常为2048,256.
每个输入到MDCT的sample block与前一个block有50%的overlap。
假设有3个1024的frame(A,B,C),那第一个进行MDCT的input sample block为(A,B),第二个进行MDCT的input sample block为(B,C).两个input sample block overlap的部分为frame B,即50%的overlap.
关于input sample block在spec中描述如下:
MDCT计算出频谱系数X(i,k)公式如下:
不同的window sequence, N的取值如下:
对于long_sequence,overlap后的2048个sample进行MDCT,输出为1024个频谱系数。
window可以选择KBD或者sine:
在进行MDCT时,可能会遇得到window switch的情况,
原文:http://www.cnblogs.com/fellow1988/p/7594458.html