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. 注解配置springMVC

    在随笔“springMVC项目配置文件”的基础上,进行优化,使用注解配置,控制器类得以简化: 一.注解配置springMVC 1.在HelloController类中,去除实现的Controller接 ...

  2. JDBC连接数据库的7个步骤

    1.JDBC所需的四个参数username.password.url.driverClass 2.加载JDBC驱动程序 3.创建数据库连接connection对象conn 4.创建preparedSt ...

  3. python3练习100题——056

    题目:画图,学用circle画圆形. 可以用turtle.circle画图. import turtle turtle.setup(0.6,0.6) turtle.pensize(3) turtle. ...

  4. 【巨杉数据库SequoiaDB】巨杉Tech | 巨杉数据库数据高性能数据导入迁移实践

    SequoiaDB 一款自研金融级分布式数据库产品,支持标准SQL和分布式事务功能.支持复杂索引查询,兼容 MySQL.PGSQL.SparkSQL等SQL访问方式.SequoiaDB 在分布式存储功 ...

  5. javaWeb快速入门+——初体验-HelloWorld

    文章转载自 https://www.cnblogs.com/1906859953Lucas/p/10821840.html 练习成品下载 https://www.lanzous.com/i9fljkj ...

  6. SpringData JPA快速入门和基本的CRUD操作以及Specifications条件查询

    SpringData JPA概述: SpringData JPA 是 Spring 基于 ORM 框架.JPA 规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据库的访问和操作 ...

  7. pandas 读取excel时,遇到数字变为科学计数法了, 怎么破?? 别慌 这样来处理

    # 指定字段以string 方式读取 df = pd.read_excel("./test.xlsx", converters={"id": str})

  8. 解决git速度太慢的问题,亲测有效

    在家用的是电信网,每次git大型项目总是失败,甚是苦恼,解决了好几次都失败了,终忍受不了,下定决心干掉它. git clone特别慢是因为github.global.ssl.fastly.net域名被 ...

  9. c++ char*和wchar*互相转换(转)

    原文地址: 1.c++ char*和wchar*互相转换 2.C++ WINDOWS下 wchar_t *和char * 相互转化总结篇

  10. 逆战:微信小程序(一)

    简介 小程序是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下即可打开应用.也体现了"用完即走"的理念,用户不用关心是否安 ...