AC3 channel coupling

Posted fellow_jing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AC3 channel coupling相关的知识,希望对你有一定的参考价值。

1.overview

如果使用channel coupling, encoder端计算所有channel的transform coefficients的平均值,将平均值压缩到coupling channel.每一个coupled channel具有一组唯一的coupling coordinator用来还原出其原始的高频部分的envelop.

 channel coupling只在某个频率以上进行,这个频率称为coupling frequecy,在bitstream中用cplbegf标识。

2.subband structure

transform coefficient #37 ~#252被group成18个subband,每个subband中有12个transform coefficients.

cplbegf是第一个进行coupling的subband的index,即从第几个subband开始进行coupling。小于cplbegf标识的频段,所有的channel是独立编码。

channel coupling的截止频率用cplendf(最后一个进行coupling的subband)标识。

coupling band structure使用数组cplbndstrc[sbnd]标识,cplbndstr[]数组中的每一个元素标识该subband是否组合到前面一个coupling band.

cplbndstr[sbnd]为1,表示当前subband和前一个subband组合到一个coupling band.

因此coupling band有多个coulping subband组成。

subband的个数为ncplsubbnd:

ncplsubnd = 3 + cplendf – cplbegf 

coupling band的个数为:

ncplbnd = (ncplsubnd – (cplbndstrc[1] + ... + cplbndstrc[ncplsubnd – 1])) 

3.coupling coordinate

每一个coupling coordinate由一个4 bit exponent和一个4bit mantissa组成。

cplcoexp[ch][bnd]表示coupled channel "ch"的第“bnd”个coupling band的coupling coordinate的exponent.bnd的范围是0~ncplbnds

cplcomant[ch][bnd]表示coupled channel "ch"的第“bnd”个coupling band的coupling coordinate的mantissa.

使用的2 bit的mstrcplco(master coupling coordinater)可以增加coupling coordinate 的dynamic range. mstrcplco作用于该ch的所有的coupling coordinates.

每个coupled channeld (ch)的coupling band(bnd)的 coupling coordinate(cplco)的计算如下:

通过使用cplbandstrc数组,作用于每个coupling band的coupling coordinate 转化成作用于subband.

coupling channel的mantissa(cplmant)乘以coupling coordinate还原出coupled channel的mantissa:

 

以上是关于AC3 channel coupling的主要内容,如果未能解决你的问题,请参考以下文章

AC3 音频不适用于带有 Perian 的 Mountain Lion

规范化 AC3 文件 [关闭]

AC3 bit allocation

AC3 mantissa quantization and decoding

如何解决错误0x80071AC3:请运行chkdsk并重试

怎样才能让windows media player能播放H264编码的AVI文件(音频是AC3)