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. mysql 数据库中存在重复记录,删除保留其中一条

    DELETE FROM people WHERE peopleName IN ( SELECT peopleName FROM people GROUP BY peopleName HAVING ) ...

  2. Pandas 中对列 groupby 后进行 sum() 与 count() 区别及 agg() 的使用方法

    groupby[根据哪一列][ 对于那一列].进行计算 代码演示: direction:房子朝向 view_num:看房人数 floor:楼层 计算: A 看房人数最多的朝向 df.groupby([ ...

  3. 问题 E: Problem B

    #include <cstdio> #include <cstring> #include <algorithm> #include <vector> ...

  4. mysql 视图、触发器、事务、存储过程、函数

    一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...

  5. numpy学习(一)

    (一)基础学习 学习渠道:阿里天池AI学习——Numpy基础(传送门) (二)练习篇 练习渠道:Numpy基础100题(Part 1) 1. Import the numpy package unde ...

  6. docker 的基本命令

    查看命令 docker images 查看镜像 docker ps 查看正在运行的容器 docker ps -a 查看所有的容器 docker inspect container-name 记录着 D ...

  7. for循环与闭包

    Es5 function box(){ var arr = []; ;i<;i++){ arr[i] = (function(num){ //自我执行,并传参(将匿名函数形成一个表达式)(传递一 ...

  8. python面试的100题(18)

    函数 52.python常见的列表推导式? 列表推导式书写形式: [表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件] 参考地址:https://www.cnb ...

  9. SQL语法(UNION,JOIN)

    SQL语法 union, union all UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 注意,UNION 内部的每个SELECT语句必须拥有相同数量的列.列也必须拥有相似的数 ...

  10. dijkstra算法为什么不能处理带有负边权的图

      1 2 3 1 0 8 9 2 10 0 10 3 10 -2 0 先看样例再解释,看邻接矩阵会发现, 如果用dijkstra算1-2的最短路因为贪心思想所以得到的结果是8,但明显可以看到1-3- ...