我正在执行ITU-TG.711标准,我决定从G.191中的参考代码开始。
在A定律压缩上进行一些测试,使我对算法的正确性产生怀疑。
根据G.711,输入范围0-63应位于第一段,步长为2。G.191中的示例代码将此范围映射为:
当将输出与表中的值进行比较时,不仅得到1段偏移,而且范围也减半,因此压缩FF对应于统一的2047。
我应该如何进行才能有一个G.711兼容的编解码器?
发布于 2013-12-18 16:57:45
该守则与标准相符。
首先要注意的是,标准假定13位输入(但总是量化lsb),代码假定16位,并立即丢弃除12个msbs之外的所有msbs。所以从12位的角度来看,G.711表1a的意思是:
唯一剩下的不一致之处是,在代码中,第一段显然被分成了两部分。这并不是真的;请注意,分段与指数并不相同;分段1包含指数000和001。代码只处理指数。
https://stackoverflow.com/questions/20663423
复制相似问题