EAC3 Spectral Extension Process
1.overview
当使用Spectral extension时,channel中的高频部分的transform coefficients由低频部分合成。
transform coefficients合成包括:copy低频部分的transform coefficients insert到高频部分,作为高频部分的transform coefficients. inserted transform coefficients与pseudo-random noise做blending, scaling blended transform coefficients,使得blended transform coefficients match原始信号的spectral evelop, scale factor在encoder端基于spectral extension band计算,并传送到decoder.
spxbegf和spxendf标识spectral extension的起始和结束频率。
2.Sub-Band Structure
transform coefficients #25到#228 组合成17个subband,每个subband包含12个transform coefficients.

spx_begin_subbnd通过spxbegf得到,标识第一个spctral extension subband的index.
spx_end_subbnd通过spxendf得到,标识最后一个spctral extension subband的index.
几个连续的spectral extension subband可以组合成一个spectral extenssion bands,每个spectral extension band产生一个spectral extension coordinate.
spectral extension bands的个数和size由spectral extension band structure array(spxbndstrc[])决定。
如果spxbndstr[bnd]为0表示当前subband是一个新的spectral extension band的开始。
如果spxbndstr[bnd]为1表示当前subband是属于前一个spectral extension band。

3. Spectral extension coordinate
当使用spectral extension(chinspx[ch] == 1)时,spectral extension coordinate存在于每个channel的每个spectral extension band中。
spxcoe[ch] ==0,则当前channel 的spectral coordinates不包含在bitstream中,复用前面的spectral coordiantes.
spectral coordinate以浮点形式表示,包含4bit的spxcoexp[ch][bnd]和2bit的spxcomant[ch][bnd]。
spectral coordinate的mantissa是无符号的。当exponent 等于15时,mantissa的范围为0.5~1,当exponent小于15时,mantissa的MSB总是1所以不传送只传送接下来的2bit。
spectral coordinate的计算方法如下:

4.High Frequency Transform Coefficient Synthesis
1) Transform Coefficient Translation
Transform coefficient translation 主要是copy 低频的transform coefficients并insert作为高频的transform coefficients.
spxstrtf是一个table中的index,用来决定被copy的第一个transform coefficients.
spx_begin_subbnd通过spxbegf得到,是一个table的index,用来决定insert的第一个transform coefficients.
spx_end_subbnd通过spxendf得到,是一个table的index,用来决定insert的最后一个transform coefficients.
tranform coefficient translation基于band进行,copy动作从copyindex处的transform coefficients,到copyindex+ bandsize– 1处的transform coefficients结束.
insert动作从insertindex处的transform coefficients,到insertindex+ bandsize– 1处的transform coefficients结束.
在每个band做copy之前,copyindex+ bandsize– 1与copyendmant比较,如果大于等于copyendmant,那么将copyindex reset成copyendmant,并将wrapflag[bnd]设置为1.

2)Transform Coefficient Noise Blending
translated transform coefficients需要与pseudo-random noise做blending使得audio signal 听起来更自然。
2.1)Blending Factor Calculation
首先需要计算pseudo-random noise与translated transform coefficients的blending factor.每个band的blending factor是基于spxblend和该band的mid-point frequecy进行计算。
某一个block存在新的spectral extension coordinates,那么当前block也存在spxblend参数,其他block可能会复用spectral extension coordinates.
blending factor计算如下:

2.2)Banded RMS Energy Calculation
下一步计算translated coefficients的RMS energy. RMS energy用来在blending前scale pesudo-random noise sample。
RMS energy计算方法如下:


2.3)Transform Coefficient Band Border Filtering
当spectral extension attenuation 在某个channel enabled时,notch filter作用于base band和extension region的边界周围。
notch filter在extension region的第一个bin处是对称的,总共cover 5个bin。filter的前3个attenuation values 通过spxattencod[ch]作为index查找table得到,后面2个attenuation values由于对称并不存在于table中。
notch filter也作用于在transorm coefficient translation时某个band处发生了wrap,即wrapflag[band]等于1时。
notch filter在transform coefficient translation和计算banded RMS energy之后,在noise scaling和transform coefficients blending之前。


2.4)Noise Scaling and Transform Coefficient Blending Calculation
为了更合适的进行pesudo-random noise和translated transform coefficients的blending.每个band的noise需要进行scale来match 每个band中translated transform coefficients的RMS energy.
noise scaling和translated transform coefficients blending过程如下:

2.5)Blended Transform Coefficient Scaling
最后一步是将blended transform coefficients用spectral extension coordinates进行scale来形成最终的高频transform coefficients.

EAC3 Spectral Extension Process的更多相关文章
- EAC3 spectral extension原理
1.Spectral extension简介 Spectral extension是通过低频的transform coefficients合成高频transform coefficients的过程. ...
- 用于PHP的Gearman Worker管理工具GearmanManager
项目地址:https://github.com/brianlmoon/GearmanManager PHP环境要求 PHP 5.5.9 POSIX extension Process Control ...
- Python爬取CSDN博客文章
0 url :http://blog.csdn.net/youyou1543724847/article/details/52818339Redis一点基础的东西目录 1.基础底层数据结构 2.win ...
- suffix tree
文章出处:http://www.cnblogs.com/snowberg/archive/2011/10/21/2468588.html 3 What is a Suffix Tree Suf ...
- puppeteer(五)chrome启动参数列表API
List of Chromium Command Line Switches https://peter.sh/experiments/chromium-command-line-switches/ ...
- CEF 支持的命令行参数
参考:https://peter.sh/experiments/chromium-command-line-switches/ List of Chromium Command Line Switch ...
- Capabilities & ChromeOptions
https://sites.google.com/a/chromium.org/chromedriver/capabilities http://stackoverflow.com/questions ...
- List of Chromium Command Line Switches(命令行开关集)——官方指定命令行更新网址
转自:http://peter.sh/experiments/chromium-command-line-switches/ There are lots of command lines which ...
- 谷歌扩展程序--------------Message
转载:https://developer.chrome.com/extensions/messaging#external-webpage Message Passing Since content ...
随机推荐
- tsocks代理git wget
使用clash时, 命令行的wget和git操作可能没有被代理 安装tsocks: apt-get install tsocks 修改配置文件: vi /etc/tsocks.conf 找到: ser ...
- vue自学入门-4(vue slot)
vue自学入门-1(Windows下搭建vue环境) vue自学入门-2(vue创建项目) vue自学入门-3(vue第一个例子) vue自学入门-4(vue slot) vue自学入门-5(vuex ...
- Python3标准库:enum枚举
1. enum枚举 枚举是一组符号名称(枚举成员)的集合,枚举成员应该是唯一的.不可变的.在枚举中,可以对成员进行恒等比较,并且枚举本身是可迭代的. 1.1 创建枚举 可以使用class语法派生Enu ...
- jQuery---基本的选择器
基本选择器 名称 用法 描述 ID选择器 $(“#id”); 获取指定ID的元素 类选择器 $(“.class”); 获取同一类class的元素 标签选择器 $(“div”); 获取同一类标签的所有元 ...
- redis中获取没有设置ttl过期时间的key
需求:redis作为一个内存型的数据库,我们需要对过期key保持关注,从info keyspace中可以看出有多少key没有设置过期时间,那么到底是哪些呢? 说明:关于redis ttl 的返回值,请 ...
- mysql中获取本月第一天、本月最后一天、上月第一天、上月最后一天等等
转自: https://blog.csdn.net/min996358312/article/details/61420462 1.当函数使用时,即interval(),为比较函数,如:interva ...
- 占位 DL
占位 DL include: DL404
- Linux系统搭建Java环境【JDK、Tomcat、MySQL】一篇就够
前言:所有项目在完成开发后都会部署上线的,一般都是用Linux系统作为服务器的,很少使用Windows Server(大多数项目的开发都是在Windows桌面系统完成的),一般有专门负责上线的人员 ...
- 题解 CF1064A 【Make a triangle!】
题目传送门 反正数学方法我是不会 那只能模拟了一只连模拟题解都看不懂的哀怨 我的思路大体如下 1.定义3个变量a,b,c并输入 int a,b,c; cin>>a>>b> ...
- OSI协议
物理层: 网线连接在客户端计算机上,其实是连接在了计算机的一个叫做网卡的设备上,网卡是专门负责与外界通信的.网线一般是双绞线或者光缆,也可以使用无线电波,中间经过交换机,路由器,防火墙等等一堆设备统称 ...