AC3 channel coupling

2024-01-24 03:10
文章标签 channel ac3 coupling

本文主要是介绍AC3 channel coupling,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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:

 

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

这篇关于AC3 channel coupling的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/638381

相关文章

Go Channel的实现

channel作为goroutine间通信和同步的重要途径,是Go runtime层实现CSP并发模型重要的成员。在不理解底层实现时,经常在使用中对channe相关语法的表现感到疑惑,尤其是select case的行为。因此在了解channel的应用前先看一眼channel的实现。 Channel内存布局 channel是go的内置类型,它可以被存储到变量中,可以作为函数的参数或返回值,它在r

【go 通道】go语言通道channel

通过使用通道,在多个goroutine发送和接受共享的数据,达到数据同步的目的。 通道,他有点像在两个routine之间架设的管道,一个goroutine可以往这个管道里塞数据,另外一个可以从这个管道里取数据,有点类似于我们说的队列。 声明一个通道很简单,我们使用chan关键字即可,除此之外,还要指定通道中发送和接收数据的类型,这样我们才能知道,要发送什么类型的数据给通道,也知道从这个通道里可

Java - NIO之Channel(FileChannel)

一、关于Channel     Java NIO的通道(Channel)类似流,但又有些不同:         既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。         通道可以异步地读写。         通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。       Java NIO中最重要的通道的实现:

DDR的Controller、Channel、Chip、Rank、Bank、Row、Column、Sided、Dimm

目录 概览 1.概览             先从半导体生产开始,生产出来还没切割的叫晶圆(wafer)。切割出来还没封装的叫裸die(bare die)。封装好的叫颗粒(component)。做成内存条后叫模组(module)。下文我们也会按这样的称呼去区分。 2.Controller(内存控制器)         一开始内存控制器在主板上有独立的芯片;在英特尔微处理器

【TOJ】2248 Channel Design 最小树形图——朱刘算法

传送门:【TOJ】2248 Channel Design 题目大意:大概意思是需要从水库(编号始终为1)引水到所有的农场(编号2~n),通过m条水管引水直接或间接的得到水(即有边(1,2),(2,3),则说明3能间接的得到水),其中水管是单向的,且每条水管的铺设都需要一定的费用,问要从水库引水到所有的农场的最少花费。如果无解输出impossible。 题目分析:最小树形图模板题。

【读论文】MUTUAL-CHANNEL LOSS

论文题目:《The Devil is in the Channels: Mutual-Channel Loss for Fine-Grained Image Classification》 链接:https://arxiv.org/abs/2002.04264 来源:IEEE TIP2020 细粒度分类的主要思想是找出各个子类间的可区分特征,因此文章指出要尽早在通道上进行钻研,而不是从合并

极简的go语言channel入门

写在文章开头 很久没写go语言相关的文章了,近期准备整理整理go语言channel相关的知识点,而本文将通过几个示例快速带读者了解channel的基本概念,希望对你有帮助。 Hi,我是 sharkChili ,是个不断在硬核技术上作死的 java coder ,是 CSDN的博客专家 ,也是开源项目 Java Guide 的维护者之一,熟悉 Java 也会一点 Go ,偶尔也会在 C源码

GO语言学习——(1) channel入门

(一)简介    Go语言所提倡的一句话是:应该以通信作为手段来共享内存,这句话最直接的体现就是channel,它也是Go语言预定义的数据类型之一。    channel提供了一种机制,它既可以同步两个并发执行的函数,又可以额昂两个函数通过相互传递特定类型的值来通信。 (二)channel的基本概念    在go语言中,chnnel既指通道类型,也指代可以传递某种类型的值的通道。通道即某一

golang学习笔记——channel使用场景

在Golang中,Channel是一种非常重要的并发编程原语,它提供了一种安全、高效地在Goroutine之间进行通信的机制。Channel的使用场景非常广泛,以下是一些主要的使用场景: 1. 消息传递 基本的数据传输:Channel可以用于在不同的Goroutine之间传递数据。一个Goroutine可以将数据发送到Channel,而另一个Goroutine可以从Channel接收数据。这种

微知-如何查看linux网口的收包队列/channel个数?ethtool -l eth0

文章目录 查看修改说明 查看 ethtool -l eth0 比如mellanox网卡是63个channel 修改 ethtool -L eth0 combined 16 修改为16 说明 channel是eth收包的循环缓冲队列的个数 表示有多少个循环缓冲队列。每个队列里面存储N个包,N就是它的深度。 网卡收到包后dma到该ringbuf,然后内核的ksoftd