SILK里面用了Delay Decision算法提高MOS分,让Noise Quant更准确。我起初认为Dither在每个DD里都会更新,这个Dither虽然会传递给解码器,但是很难保持解码和编码内自建的解码器同步,所以,编码器的RD公式计算的也就没有意义。我打印了编码器的里的SKP_Silk_noise_shape_quantizer_del_dec的xq,和解码函数的对应pxq,竟然一样(注意有个一DD,所以打印位置要注意)。就是说,这个Dither传递在编码器内的解码部分和解码器中产生的反量化输出是一致的。这里我还要确认为什么。。。要研究一下。因为有DD的引入,使得分析变得复杂起来。
其次,在SKP_Silk_noise_shape_quantizer_del_dec里,虽然加Dither和去Dither的运算是相互逆的,但是这里输出结果完全不同,可以详细计算下,运算互逆,但是本身运算结果不互逆。当然这也是Dither的意义。平衡噪声作用。
SILK里面的Dither后量化,量化后的结果会对LTP值state值产生影响,也会对下一个Long term Noise Shaping和Short term Noise Shaping系数产生影响,达到NS的目的。