Enhanced channel coupling是一种spatial coding 技术,在传统的channel coupling的基础上添加了phase compensation, de-correlation mechanism, variable time constants, and

more compact amplitude representation.这些技术可以减少encoder coupling带来的artifacts.

Enhance channel coupling可以在更低的频率进行coulping而不会明显增加coupling artifacts.在更低的频率进行coupling可以增加coder efficiency.

1.Encoder Enhanced Coupling Process

Encoder enhanced coupling process的block diagram如下:

Enhanced coupling以512 sample为一个block, 50%的overlap,计算MDCT 和MDST来进行angle adjustment.

MDCT作为real-number part, MDST作为imaginary-number part,组合成complex-valued pair。通过使用omplex-valued pair使得在downmix前的phase rotations更加精确。

audio analyzer block的transient detector用来检测transient并transmit transient flag到decoder, decoder通过transient flag选择decorrelator type。

通过分析complex-value pair,将 transform coefficient转换成magnitude/angle.

对一个frame内所有block的transform coefficients的energy进行smoothing和summing后得到subband的整体amplitude. 使用这个amplitude normalize composite sum的每个subband 的amplitude,得到amplitude scale factor.

每个transform coefficients pair的angle用来计算一个inter-channel angle. 每个transform coefficient的angle 减去refrence channel(通常为L ch)对应的angle得到即为inter-channel angle.

对每个subband内的inter-channel angle进行smoothing(low-pass filter)和amplitude-weighted average。averaged inter-channel angles用来对transform coefficients做phase compensate.

为了避免相位抵消,对每个angle的inverse value进行phase rotator。phase rotator是对每个subband的MDCT-MDST 与合适的phase-rotation factor进行complex multiplication。

每个channel经过phase compensate后的transform coefficients相加得到 raw complex-valued mono composite signal. mono composite signal 的每个subband的amplitude经过normalize后,mono composite signal的power和所有input channel的power的和相等。

normalized complex-valued composite signal 送回每个channel的audio analyzer,计算出基于subband的amplitue scale factor.

decorrelation value是一个frame内所有subband的inter-channel angle的normalized standard deviation.

最后,encoder drop MDST coefficient,只transmit MDCT coefficient.

2.Decoder Enhanced Coupling Process

Decoder进行enhanced coupling的block diagram如下:

-

首先由MDCT coefficients得到MDCT-MDST pair.通过IMDCT得到PCM,对PCM再进行MDST得到MDST coefficients.

对每个subband的MDCT-MDST pair进行amplitude scaling后进行angle rotate.

encoder传送的side info 中的 subband angle 进行dequantized 后加上random phase(通过decorrelation angle value和transient flag产生)得到angle scale value.

如果不存在transient,那么每个MDCT-MDST pair使用一个单独的random decorrelating angle value, 但是这些单独的angle value是在时间上连续的function. decorrelating angle value使用decorelation scale factor进行scale.

如果存在transient,每个block选择一个新的subband wide phase-offset value后使用decorrelation scale factor进行scale.

EAC3 enhanced channel coupling的更多相关文章

  1. AC3 channel coupling

    1.overview 如果使用channel coupling, encoder端计算所有channel的transform coefficients的平均值,将平均值压缩到coupling chan ...

  2. EAC3 spectral extension原理

    1.Spectral extension简介 Spectral extension是通过低频的transform coefficients合成高频transform coefficients的过程. ...

  3. ffmpeg最全的命令参数

    Hyper fast Audio and Video encoderusage: ffmpeg [options] [[infile options] -i infile]... {[outfile ...

  4. ffmpeg full help

    Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile ...

  5. AC3 bit allocation

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

  6. AC3 overview

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

  7. 转载:AAC编解码概述

    转自:http://www.cnblogs.com/gaozehua/archive/2012/05/03/2479960.html 编码概述 其整体AAC 编解码系统,如图所示,其编码流程概述如下: ...

  8. EAC3 channel & program extension

    EAC3 bit stream syntax允许在single bitstream中存在time-multiplexed substreams. 在EAC3的signle bitstream中,允许s ...

  9. Semantic Segmentation on Remotely Sensed Images Using an Enhanced Global Convolutional Network with Channel Attention and Domain Specific Transfer Learning

    创新点: 1.在GCN(global convolutional network)基础上,把他的backbone替换成更多层的,使其适应中分辨率影像,resnet50,101,152 2.利用 cha ...

随机推荐

  1. Navicat 安装+连接

    Navicat安装包: 链接:https://pan.baidu.com/s/1bvKagRJ0w_7LH0t4597ycA 提取码:yftv 如MySQL 8.0+ 安装成功后,教程见本博 可用Na ...

  2. Windows Server多用户同时远程登录

    因为工作需要,需要使用windwos作为一个远程登录跳板机,管理员对登录windwos机器再windwos的基础上连接别的机器,普通用户也可以连接windwos机器再连接别的机器,关于管理员普通用户连 ...

  3. gulp常用插件之browser-sync使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 browser-sync这是一个可以在多端(pc.移动.平板)实时监测文件修改,自动刷新浏览器的工具.其实这并不是转给gulp使用的,在其它构建工 ...

  4. 静态区间第k小 - 整体二分

    蒟蒻终于学会整体二分啦! 思路 实现 丑陋无比的代码 #include <bits/stdc++.h> using namespace std; const int N = 200005; ...

  5. springBoot 2.1.5 pom 文件 unknown 错误

    插件不兼容 pom文件添加 <properties>    <maven-jar-plugin.version>2.6</maven-jar-plugin.version ...

  6. oracle 处理Session不够用

    1.执行语句 scope=spfile; scope=spfile; 2.查看现在的链接数 select count(*) from v$process --当前正在使用的 select value ...

  7. C++——标准模板库

    1.泛型程序设计:将程序尽可能写的通用,将算法从特定的数据结构中抽象出来,成为通用的:C++模板为泛型程序设计奠定了关键的基础:STL是泛型程序设计的一个范例:容器container.迭代器itera ...

  8. 理解 Oracle 多租户体系中(12c,18c,19c)Revoke 回收权限作用域范围

    本篇探讨以下几个问题:你可提前猜测下面6个场景语句中,哪几个回收可以成功执行? 1. 在CDB级别中对用户进行权限回收,不带 container 子句的效果: 2. 在CDB级别中对用户进行权限回收, ...

  9. pandas模块详解

    Pandas模块 1.什么是pandas pandas是基于numpy构建的,用来做数据分析的 2.pandas能干什么 具备对其功能的数据结构DataFrame,Series 集成时间序列功能 提供 ...

  10. AcWing 1010. 拦截导弹

    //贪心加dp #include<iostream> using namespace std ; ; int n; int q[N]; int f[N]; int g[N];//存每个序列 ...