博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EAC3 Transient Pre-Noise Processing
阅读量:5788 次
发布时间:2019-06-18

本文共 1725 字,大约阅读时间需要 5 分钟。

Transient pre-noise processing用于减少pre-noise的长度,pre-noise产生于low bitrate 编码存在transient matiral的场景。

当使用transient pre-noise processing时,使用位于transient matiral之前的PCM来覆盖transient pre-noise的部分,从而减少pre-noise带来的不好的听觉体验。

 

为减少decoder的复杂度,在encoder会检测transient的位置,做time scale synthesis analysis,并将信息压到bitstream.

Transproce 标识在当前frame中的任意fbw channel是否存在transient pre-noise time scaling synthesis processing information.

如果transproce为1,每个fbw channel的chintransproc[ch]都会设置为1,每个fbw channel的transprocloc[ch](transient 位置),transproclen[ch](time scale length)都可以从bitstream中读出来。

如果一个frame存在transient,那么transprocloc[ch]标识transient相对于当前frame第一个sample的位置。为减少传送transient location所需的data rate, transprocloc是4 samples为单位,表示transient的位置为当前frame的第4*transprocloc[ch]个sample.

transproclen[ch]表示的是time scale length,以sample为单位,假设transient存在于第4个block(做MDCT transform时使用的block),那么transproclen是3个block的前沿之前的长度。

PN表示pre-noise的长度,pre-noise位于第3个block的前沿和transient location之间。

 

下图描述了transient pre-noise process的过程:

 

 

图中Synthesis buffer长度为2*TC1 + PN , TC1为256 samples.synthesis buffer的第一个sample的位置为transient location前的(2*TC+2*PN)个sample

使用synthesis buffer中的数据与位于transient location之前transprolen[ch]+PN+TC1的decode出来的原始数据做cross fade. 然后synthesis buffer中的数据overwrite transient location之前的数据,包括transient pre-noise. overwrite在transient location 前TC2(TC2=128 samples) sample结束,然后和原始数据再做cross fade.

伪代码如下:

win_fade_out1 = TC1 sample length cross-fade out window (unity to zero in value)

win_fade_in1 = TC1 sample length cross-fade in window (zero to unity in value)
win_fade_out2 = TC2 sample length cross-fade out window (unity to zero in value)
win_fade_in2 = TC2 sample length cross-fade in window (zero to unity in value)

 

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

你可能感兴趣的文章
hive学习2(Navicat连接hive)
查看>>
getResourceAsStream的3种路径配置
查看>>
switch语句小练习
查看>>
组合逻辑电路
查看>>
POP-一个点击带有放大还原的动画效果
查看>>
9款极具创意的HTML5/CSS3进度条动画
查看>>
uboot在s3c2440上的移植(1)
查看>>
安装webpack
查看>>
Python 抓取网页乱码问题 以及EXCEL乱码
查看>>
https连接加载http资源
查看>>
个人阅读作业2
查看>>
UE4材质是什么样的机制
查看>>
InfluxDB Cli中查询结果中time格式显示设置
查看>>
【Android】16.5 Android内置的系统服务
查看>>
Codeforces 994 C - Two Squares
查看>>
ruby 批量下载王者荣耀皮肤
查看>>
jq设置样式属性
查看>>
JavaScript学习——判断数据类型总结(转)
查看>>
tp中url地址大小写问题
查看>>
linux 下 php 安装 libevent
查看>>