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:

原文地址:https://www.cnblogs.com/fellow1988/p/8836842.html