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

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

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

2. bit allocation

1) initialize.

计算起始和截止频率。

通过码流中的parameter,查表确定描述sdecay, fdecay,sgain,dbknee,floor的值,这些值可以描述prototype 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得到:

4) 计算exciting function

利用encode选择的prototype masking curve(从bitstream中解码出来)和integrated PSD计算exicting fuction,计算的结果是integrated PSD 减去fgain or sgain.

计算过程如下:

其中sdecay表示prototye masking curve的slow decay线段每个band衰减的值,通过bitstream中的信息查表获得.

当前band的PSD的幅值减去slow decay线段与当前PSD的交点的幅值即为sgain。因此sgain和sdecay就可以描述slow decay线段。

5)计算masking curve.

根据exciting function和人耳听觉threshold计算masking (noise level threshold) curve,即取exciting function和人耳听觉threshold的较大值作为noise level threshold.

6)计算bit allocation

masking curve首先根据snroffset做调整后,用细粒度的PSD减去masking curver的差值左移5 bit的结果查找baptab得到bap。

在一个frame内的所有channel的mantissa的bit allocation受限于encoder端,在encoder基于csnroffset,fsnroffset通过不断迭代产生合适的结果以保证在decoder接收到的bit allocation 满足固定的bitrate.

bap是一个数组,包含一系列4bit的pointer,标识每个mantissa的bit数。

转载于:https://www.cnblogs.com/fellow1988/p/8810959.html

AC3 bit allocation相关推荐

  1. AC3 encoder flow

    AC3 encoder flow 如下: 1.input PCM PCM在进入encoder前会使用high pass filter来移除信号的DC部分来达到更有效的编码. 2.Transient d ...

  2. AC3 overview

    1.AC3 encode overview AC3 encoder的框图如下: AC3在频域采用粗量化(coarsely quantizing)来获取较高的压缩率. 1).输入PCM 经过MDCT变换 ...

  3. 潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(三)

    潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(三) 目录 潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(三) 主题演 ...

  4. 潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(二)

    潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(二) 目录 潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(二) LDA ...

  5. 潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(一)

    潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(一) 目录 潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(一) LDA ...

  6. SAP RETAIL 初阶之WA52 Allocation Rule List

    SAP RETAIL 初阶之WA52 Allocation Rule List 在SAP零售系统中,分配规则的维护使用WA21/WA22等事务代码. 对于系统上已经存在的历史分配规则数据,WA52事务 ...

  7. SAP RETAIL WA01创建分配表报错- No allocation rule allowed for allocation strategies or variants-

    SAP RETAIL WA01创建分配表报错- No allocation rule allowed for allocation strategies or variants- 1,执行事务代码WA ...

  8. SAP RETAIL 根据Allocation Rule去创建分配表

    SAP RETAIL 根据Allocation Rule去创建分配表 1,执行事务代码WA21创建好了如下的allocation rule 1. 三个门店采购同一个商品时候的数量分配比例关系是5:2: ...

  9. Linux page allocation failure 的问题处理 - zone_reclaim_mode

    标签 PostgreSQL , Linux , page allocation failure , 内存 背景 Linux内核分配失败,现象: 内存使用一定量后,HANG. dmesg中可能会有类似这 ...

最新文章

  1. 98后常春藤学霸林之秋,一作拿下CVPR最佳论文提名,首次挑战图片翻转不变性假设...
  2. 《OpenGL ES应用开发实践指南:Android卷》—— 2.2 不要从头开始
  3. 关于web服务器TIME_WAIT值高的问答
  4. 【每周CV论文推荐】 初学深度学习人脸属性分析必读的文章
  5. js数组中的引用类型
  6. 安卓 sqlite数据存入mysql_在Android上简单导出和导入SQLite数据库
  7. [bzoj 2726] 任务安排 (斜率优化 线性dp)
  8. 【华为敏捷/DevOps实践】2. Wiki凭什么持续得到开发人员和团队的喜爱
  9. Linux操作系统的权限代码分析【转】
  10. 机械自动化算不算计算机相关专业,机械设计制造及其自动化专业属于什么类别...
  11. 活动目录的灾难恢复操作指导之一
  12. asp.net执行js出现“已终止操作”的解决方法
  13. 关于c语言的诞生正确的是,C语言既然是这样诞生的,大家都不敢相信
  14. Python 技术篇-pyHook键盘鼠标监听事件,监测鼠标键盘按键实例演示
  15. SG90舵机的电路连接和驱动(树莓派)
  16. window xp共享文件夹
  17. 运放放大倍数计算公式_运算放大器基本电路大全(转)
  18. 计算机上u盘打不开,u盘在电脑上打不开怎么解决
  19. 免费不限流的内网穿透,外网共享内网文件
  20. 微电子新手入门之 Origin画图

热门文章

  1. 资源 | 机器学习、NLP、Python和Math最好的150余个教程(建议收藏)
  2. 为什么数据库连接池不采用 IO 多路复用?
  3. ELK 处理 Spring Boot 日志,妙!
  4. 小姐姐都能看懂的Happens-before规则,你还愣住了?
  5. 使用List中的remove方法遇到的坑,不信你没有踩过!
  6. 用Transformer实现OCR字符识别!
  7. 强烈推荐!最好用的《机器学习实用指南》第二版终于来了,代码已开源!
  8. 达观杯_构建模型(三)lightGBM
  9. 中科院自动化所17篇CVPR 2022 论文新作速览!
  10. 【武书连】2021 中国一流大学名单(30 所)和中国大学综合实力 700 强出炉!