1.overview

如果使用channel coupling, encoder端计算所有channel的transform coefficients的平均值,将平均值压缩到coupling channel.每一个coupled channel具有一组唯一的coupling coordinator用来还原出其原始的高频部分的envelop.

channel coupling只在某个频率以上进行,这个频率称为coupling frequecy,在bitstream中用cplbegf标识。

2.subband structure

transform coefficient #37 ~#252被group成18个subband,每个subband中有12个transform coefficients.

cplbegf是第一个进行coupling的subband的index,即从第几个subband开始进行coupling。小于cplbegf标识的频段,所有的channel是独立编码。

channel coupling的截止频率用cplendf(最后一个进行coupling的subband)标识。

coupling band structure使用数组cplbndstrc[sbnd]标识,cplbndstr[]数组中的每一个元素标识该subband是否组合到前面一个coupling band.

cplbndstr[sbnd]为1,表示当前subband和前一个subband组合到一个coupling band.

因此coupling band有多个coulping subband组成。

subband的个数为ncplsubbnd:

ncplsubnd = 3 + cplendf – cplbegf

coupling band的个数为:

ncplbnd = (ncplsubnd – (cplbndstrc[1] + ... + cplbndstrc[ncplsubnd – 1]))

3.coupling coordinate

每一个coupling coordinate由一个4 bit exponent和一个4bit mantissa组成。

cplcoexp[ch][bnd]表示coupled channel "ch"的第“bnd”个coupling band的coupling coordinate的exponent.bnd的范围是0~ncplbnds

cplcomant[ch][bnd]表示coupled channel "ch"的第“bnd”个coupling band的coupling coordinate的mantissa.

使用的2 bit的mstrcplco(master coupling coordinater)可以增加coupling coordinate 的dynamic range. mstrcplco作用于该ch的所有的coupling coordinates.

每个coupled channeld (ch)的coupling band(bnd)的 coupling coordinate(cplco)的计算如下:

通过使用cplbandstrc数组,作用于每个coupling band的coupling coordinate 转化成作用于subband.

coupling channel的mantissa(cplmant)乘以coupling coordinate还原出coupled channel的mantissa:

AC3 channel coupling的更多相关文章

  1. EAC3 enhanced channel coupling

    Enhanced channel coupling是一种spatial coding 技术,在传统的channel coupling的基础上添加了phase compensation, de-corr ...

  2. AC3 overview

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

  3. AC3 bit allocation

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

  4. ffmpeg最全的命令参数

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

  5. ffmpeg full help

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

  6. EAC3 spectral extension原理

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

  7. 转载:AAC编解码概述

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

  8. [原创]桓泽学音频编解码(13):AC3 位分配模块算法分析

    [原创]桓泽学音频编解码(1):MPEG1 MP3 系统算法分析 [原创]桓泽学音频编解码(2):AC3/Dolby Digital 系统算法分析 [原创]桓泽学音频编解码(3):AAC 系统算法分析 ...

  9. AC3 encoder flow

    AC3 encoder flow 如下: 1.input PCM PCM在进入encoder前会使用high pass filter来移除信号的DC部分来达到更有效的编码. 2.Transient d ...

随机推荐

  1. 0010 基于DRF框架开发(03 模型序列化器)

    序列化器:是指从数据库提取数据,转化前端所需要的数据格式并返回到前端. 反序列化器:是指把前端传回的数据,转换成数据库需要的格式,存入数据库. DRF提供了两种序列化器: 模型序列化器:是指和模型关联 ...

  2. QS Network ZOJ - 1586 板子题

    #include<iostream> #include<algorithm> using namespace std; ; struct edge{ int a,b; doub ...

  3. ALSA Lib-简单的播放例子

    参考:https://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2pcm_8c-example.html #include <stdio.h&g ...

  4. 【算法】用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

    public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer&g ...

  5. 变量 Variables

    是为了存储(store)程序(program)运算过程中的一些信息(informations),为了方便日后调用.操作和更改 变量名应该简明,见名识意,让读者和我们自己能更清晰的了解 如果我们把变量看 ...

  6. Python instagram 爬虫项目

    直接介绍一下具体的步骤以及注意点: instagram 爬虫注意点 instagram 的首页数据是 服务端渲染的,所以首页出现的 11 或 12 条数据是以 html 中的一个 json 结构存在的 ...

  7. 批量获取mysql数据库实例指定参数的值

    需求:需要对比所有mysql数据库实例上面的指定参数配置情况,同时需要需要能看到如ip,端口,master or slave,毕竟主和从参数不一样还是有可能的. 说明:必须要有个数据库存储所有是数据库 ...

  8. Python基础概念

    一.Python中执行代码的方式 直接在编译器中交互执行: 在编译器中通过Python和文件的路径执行: 在linux系统中可以./test.py(需要代码第一行增加# !/usr/bin/env p ...

  9. UVa 12050 - Palindrome Numbers (回文数)

    A palindrome is a word, number, or phrase that reads the same forwards as backwards. For example, th ...

  10. 题解 AT4170 【[ABC103A] Task Scheduling Problem】

    翻译 有 \(3\) 个正整数 \(a\).\(b\).\(c\),请你输出这 \(3\) 个数中的最大值 \(-\) 最小值的差. 分析 求最大值 \(-\) 最小值的差,我们自然可以使用 for ...