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)

EAC3 Transient Pre-Noise Processing的更多相关文章

  1. [翻译] GONMarkupParser

    GONMarkupParser https://github.com/nicolasgoutaland/GONMarkupParser NSString *inputText = @"Sim ...

  2. Video processing systems and methods

    BACKGROUND The present invention relates to video processing systems. Advances in imaging technology ...

  3. Image Processing and Analysis_8_Edge Detection:Theory of Edge Detection ——1980

    此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有 ...

  4. 【Duke-Image】Week_3 Spatial processing

    Chapter_3 Intensity Transsformations and Spatial Filtering 灰度变换与空间滤波 Intensity transformation functi ...

  5. Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: Multiple representations of the same entity解决方法

    1.错误信息 Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUs ...

  6. 【论文:麦克风阵列增强】An Algorithm For Linearly Constrained Adaptive Array Processing

    作者:桂. 时间:2017-06-03  15:06:37 链接:http://www.cnblogs.com/xingshansi/p/6937635.html 原文链接:http://pan.ba ...

  7. org.springframework.web.util.NestedServletException : Handler processing failed; nested exception is java.lang.StackOverflowError

    1 ,错误原因,循环冗余检查      result.setNearUsers(userList);            Page page = new Page();            pag ...

  8. Processing 编程学习指南 (丹尼尔·希夫曼 著)

    https://processing.org/reference/ 第1章 像素 (已看) 第2章 Processing (已看) 第3章 交互 (已看) 第4章 变量 (已看) 第5章 条件语句 ( ...

  9. FlinkCEP - Complex event processing for Flink

    https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/libs/cep.html 首先目的是匹配pattern sequenc ...

随机推荐

  1. idea中如何配置git以及在idea中初始化git,并push到码云

    一.给idea配置git 打开IDEA,按照路径  Fie-->Settings --> Tools -->Terminal 找到后设置右边的Shell path(自己安装的Git路 ...

  2. nodeJS菜鸟教程笔记

    http模块 var http = require('http'); // 引入http模块 var url = require('url'); // 引入url模块 var querystring ...

  3. 关闭 APIPA

    遇到的问题:我在网卡2上设置了静态ip,可是出现了一个奇怪的ip地址169.254.*.*,如下图. 解决方法:关闭APIPA功能 按照下述的做法,自己在win7企业版上尝试了下,有效.不再出现169 ...

  4. brew 安装 yarn 时候失败

    1.mac 安装 brew install yarn 报错 Error: Failure while executing; `git config --local --replace-all home ...

  5. day03_2spring3

    SSH整合(续) 一.spring整合hibernate:有hibernate.cfg.xml 前提:导入jar包,在前面已经介绍了jar包的整合,我们只需要将整合的所有jar包导进去即可. 1.创建 ...

  6. P1164 小A点菜【dp】

    P1164 小A点菜 提交 43.03k 通过 24.37k 时间限制 1.00s 内存限制 125.00MB 题目提供者洛谷 难度普及- 历史分数100 提交记录 查看题解 标签 洛谷原创   查看 ...

  7. [USACO09JAN]Total Flow【网络流】

    Farmer John always wants his cows to have enough water and thus has made a map of the N (1 <= N & ...

  8. 《深入理解java虚拟机》读书笔记六——第七章

    第七章 虚拟机类加载机制 1.类加载的时机 虚拟机的类加载机制: 虚拟机把描述类的数据从class文件中加载到内存,并对数据进行校验.转换解析和初始化,最终形成了可以被虚拟机直接使用的Java类型,这 ...

  9. Wannafly Camp 2020 Day 6N. 合并!

    #include <bits/stdc++.h> using namespace std; int n,a[2005]; int main() { long long ans=0; cin ...

  10. PHP实现微信公众号授权获取用户信息

    class WxAuthModel extends BaseModel { var $appId = APPID; var $appSecret = APPSECRET; /*微信x小程序,获取微信o ...