EAC3 spectral extension原理
1.Spectral extension简介
Spectral extension是通过低频的transform coefficients合成高频transform coefficients的过程。
spectral extension的实现与channel coupling类似,但是由于只需要transmit一些用于合成高频transform coefficients的metadat,因此比coupling更能减少datarate。
而且spectral extension能用于mono signal,而coupling至少需要2个channel.
spectral extension的核心部分是band structure, spectral extension band接近于critical band. spectral extension基于band来计算energy ratio和band border.
原始信号的频谱如下图:

信号的频谱分为两个部分:baseband region和extension region. extension region基于band structure分为多个band,对于每一个band计算一个energy ratio.对于整个extension region,通过measure extension region的noise-like character得到一个noise blending parameter.计算出这些parameter后,原始信号的extension region的transform coefficient被discard.
接下来进行translation,其过程如下图:

translation将baseband region的transform coefficient copy到extension region.
baseband region中被copy的部分称为copy region.通常copy region会比extension region小,因此会将copy region进行多次copy来fill extension region,这种过程称为wrapping,在Figure 8中copy region被wrap了两次。wrap会导致translation过程中边界处频谱的不连续。由于每个band对应一个scale factor,如果wrapping发生在一个band内,scale factor并不能减少这种不连续。如果wrapping只发生在band border,紧邻的两个bandd的scale factor可以减少不连续。因此translation确保wrapping发生在band之间。
简单的从baseband region copy到extension region不能产生natural sound signal.因为大部分signal在随着频率增大会更像noise.因此translated transform coefficients需要和noise spectrum根据noise-blending function 进行blend.
由于大部分signal在高频部分更像noise ,因此noise-blending function在高频权重更大。noise-blending function是线性的,其slope依赖于原始信号的bandwidth,其intercept依赖于noise blending parameter.
产生的noise spectrum的band energy和translated band相同,noise spectrum乘以noise-blending function得到的信号如下:

translated spectrum和inverse noise-blending function相乘的结果如下:

乘以了 noise-blending function后的translatged spectrum和noise spectrum进行blending如下图,注意每个blended band的energy和figure 8中的translated band的energy相等。

blending后的translated spectrum使用energy ratio进行scale后的spectrum与原始信号的banded envelop match:

2. Encoder Operation
Encoder分析extension region计算出noise-blending parameter,决定band structure,并simulates decoder translation来计算出energy ratio.

在encoder分析extension region的spectral envelop的两个条件:时间上angle precession的变化和magnitute 的变化。如果angle or magnitute变化不连续,原始信号的spectrum更像noise,所以在translation后会blending更多noise,否则则blending较少noise.在bitstream中, noise-blending parameter quantize为5 bit。
banding structure的一个band包含多个subband,每个subband包含12个transform coefficient. default banding structure接近于auditory critical band.
接下来计算energy ratio:
首先计算extension region的banded energy:

在encoder端,simulate translation过程,计算synthesized extension region的banded energy.

计算energy ratio:

3.Decoder Operation
Decoder基于baseband transform coefficients和encoder 传送的metadata合成高频部分的transform coefficients.
Spectral extension decoding 过程如下:

在decoder首先进行translation,将baseband copy region的transform coefficients copy到extension region。
接下来generate noise spectrum来与translated transform coefficients进行blending. noise spectrum 使用zero-mean, unity-variance pseudo-random noise generator来产生。
每个band的noise-blending factors由noise-blending parameter 得到:

通过noise-blending factors计算mixing coefficients.

接下来将translated transform coefficients 和noise spectrum 进行blending:

与noise spectrum blending后的transform coefficients乘以energy ratio得到高频部分的transform coefficients:

EAC3 spectral extension原理的更多相关文章
- EAC3 Spectral Extension Process
1.overview 当使用Spectral extension时,channel中的高频部分的transform coefficients由低频部分合成. transform coefficient ...
- Category VS Extension 原理详解
(一)Category 1.什么是Category? category是Objective-C 2.0之后添加的语言特性,别人口中的分类.类别其实都是指的category.category的主要作用是 ...
- iOS中Category和Extension 原理详解
(一)Category .什么是Category? category是Objective-C .0之后添加的语言特性,别人口中的分类.类别其实都是指的category.category的主要作用是为已 ...
- Jerry的Fiori原创文章合集
我曾经于2014年10月到2016年5月工作于SAP CRM Fiori应用的开发团队, 我所在的团队负责下列这8个Fiori应用的维护和持续开发: My Opportunities My Tasks ...
- 谱聚类(spectral clustering)原理总结
谱聚类(spectral clustering)是广泛使用的聚类算法,比起传统的K-Means算法,谱聚类对数据分布的适应性更强,聚类效果也很优秀,同时聚类的计算量也小很多,更加难能可贵的是实现起来也 ...
- 谱聚类(Spectral Clustring)原理
谱聚类(spectral clustering)是广泛使用的聚类算法,比起传统的K-Means算法,谱聚类对数据分布的适应性更强,聚类效果也很优秀,同时聚类的计算量也小很多,更加难能可贵的是实现起来也 ...
- EAC3 channel & program extension
EAC3 bit stream syntax允许在single bitstream中存在time-multiplexed substreams. 在EAC3的signle bitstream中,允许s ...
- 线性判别分析LDA原理总结
在主成分分析(PCA)原理总结中,我们对降维算法PCA做了总结.这里我们就对另外一种经典的降维方法线性判别分析(Linear Discriminant Analysis, 以下简称LDA)做一个总结. ...
- Java ClassLoader 原理详细分析(转)
转载自:http://www.codeceo.com/article/java-classloader.html 一.什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管 ...
随机推荐
- IDEA 找不到包或者找不到符号的一些解决办法
有时使用IDE导入项目后,启动时会发生找不到包或者找不到符号的情况,下面有一些处理方法 1.右键项目Maven→Reimport 2.IDEA窗口左上角File→Invalidate and Rest ...
- vue.js父组件引入子组件,父组件向子组件传值
先看看目录结构app.vue为父组件,components里面的文件为子组件 下面这张图是父组件app.vue中的内容 下面这张图是子组件student.vue中的内容 这样父组件中的sdt数据就传入 ...
- 题解 AT3717 【[ABC081A] Placing Marbles】
题目传送门. 分析 我们可以把字符串中所有数加起来输出,那么到底怎么把一个字符变成一个数字呢.我们只需要减去字符\(0\)就可以了. 详细步骤 定义字符串\(s\)并将其输入. string s; c ...
- 题解 AT1812 【テレビ】
题目大意 高桥君有一个宽\(w\),高\(h\)的电视机. 判定\(w:h\)是\(4:3\)还是\(16:9\). 分析 我们可以理解成把一个比\(w:h\)化为最简整数比,也就是将\(w:h\)化 ...
- SYZOJP186 你猜猜是不是DP 二分+hash解法
SYZOJP186 你猜猜是不是DP题解 题目传送门 现在给两个仅包含小写字母的字符串a,b ,求a 与b的最长公共连续子串的长度. 对于20%的数据,a,b长度 ∈ [1, 200] 对于50%的数 ...
- source insight增加tab标签页的方法之sihook
1.效果如下 2.方法见如下博客 http://www.cnblogs.com/Red_angelX/archive/2013/01/23/2873603.html
- 在linux中安装nginx
linux系统安装在vmware中,首先在主机中利用shell工具与虚拟机连接 1.在linux中查看虚拟机的ip地址 在终端输入 ifconfig 红框里面就是ip地址 2.在主机中打开shell工 ...
- 菜得一P!
什么时候才能改变粗心大意的坏毛病!太吃亏了...
- 记录 shell学习过程(10 ) shell 对文件的操作
0.sed 常用内部命令 a 在匹配后面添加 i 在匹配前面添加 p 打印 d 删除 s 查找替换 c 更改 y 转换 N D P 下面用a来演示 1.sed 'a 追加内容' 文件 # sed 'a ...
- web 项目添加 x86 的dll 引用,模块 DLL c:\WINDOWS\system32\inetsrv\aspnetcore.dll 未能加载。
最近的项目要添加一个 x86 编译的dll, 首先添加引用,编译,报错: 首先判断是 项目中不能添加 x86 的引用,所以把所有的项目都按照 x86 的方式编译一遍,同时对应IIS 的应用池,也修改为 ...