码迷,mamicode.com
首页 > 其他好文 > 详细

AC3 bit allocation

时间:2018-04-12 23:26:02      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:AC   迭代   encode   采样   signal   mantis   mask   orm   2.0   

1.bit allocation overview

bit allocation通过分析audio 信号的频谱envelop,使用masking effect来确定使用多少bit来表示频率系数的mantissa.

bit allocation包含人耳的parameter model 来预估noise level thresold, 人耳的parameter model将audible和inaudible的频谱部分分开。

hearing model的parameter在encoder端基于信号的特征进行调整。例如,masking curve可以简单的以两个线段表示,每个线段有自己的斜率和y轴相交的点。encoder从几个合适的线段中不断的迭代选择最佳的线段来表示masking curve,这样的线段可以作为parameter压在bitstream中。

noise level threshold的预估是基于50个nonuniform bandwidth计算,不同的caiyanglv采样率具有不同的band structure.

mantissa的bit数是通过计算PSD与预估noise level threshold的差值,进行查表得到。

2. bit allocation 

1) initialize.

计算起始和截止频率。

技术分享图片

通过码流中的parameter,查表确定描述sdecay, fdecay,sgain,dbknee,floor的值,这些值可以描述masking curve的相关信息。masking curve可以简化成两个线段,fast decay和slow decay部分,slow gain表示的是PSD的peak到fast decay相交点的差值。

技术分享图片

fbw channel:

技术分享图片

coupling channel:

技术分享图片

lfe channel:

技术分享图片

2).计算PSD:

将decode出来的exponent map成13 bit的PSD,每个频率点都计算一个PSD,所以计算出来的PSD是细粒度的.

技术分享图片

exponent的范围为0~24,PSD的范围为0~3272.0表示lowest level signal, 3272表示highest level signal.

 3)PSD integration:

将256个频率点分为50个band,对每个band内的PSD 进行integration.

band structure如下,bandtab表示当前band中第一个mantissa(or频率系数)的index,bandsz表示当前band中有多少个mantissa。

技术分享图片

每个mantissa可以map到对应的band中,masktab描述了这种map关系。

技术分享图片

PSD integration采用log-addition的在每个band内进行,log-additon的结果是先计算两个参数的差值,然后用差值查表latab得到:

技术分享图片

技术分享图片

 

AC3 bit allocation

标签:AC   迭代   encode   采样   signal   mantis   mask   orm   2.0   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!