ac3算法的开发

news/2025/1/13 11:56:40/

这段时间需要重新开发ac3的算法。公司原来的算法结构太烂了,维护太麻烦,

boss痛下决心将一些算法重新开发一遍(原来的算法是买来的)。

了解了一下ac3的开发文档,搞清了ac3的基本架构,目前的版本先支持

bsid=7,8,9,10的情况。eac3在ac3定点化完成后继续开发。

目前总算将ac3的定点化完成了,特此总结一下。

ac3的解码流程如下:

 bitstream parsing -> 指数与尾数解码->和差解码(仅支持acomd==2) ->dynamic range -> IMDCT ->windowing->overlap processing ->down mixing ->output pcm

ac3的一帧包含有6个blocks,以及一个header。header中包含ac3的类型,采样率信息,帧长,输入通道数等。

每个block中输入通道的数目是都是相同的。

1)ac3的频域的系数采用的是指数尾数编码方式,不同于dra等的采用huffman编码的方式。每个通道的第一个指数

是基础指数,后续的尾数都是加上前一个指数来组成当前的真实指数。这样可以提高编码的效率。指数表示的该频域

系数最高位的零的个数,解码就是将尾数根据指数右移特定的尾数来获取。被coupling的高频部分以及lfe通道都是

独立的来计算指数的,不与正常通道进行指数累加。

2)ac3采用了对于高频部分进行coupling的方式来提高编码效率,将某个block中的n个通道中高频部分只根据一个

通道进行编码。被coupling的通道的高频部分就不需要进行再解码了。

3)dynamic range 是ac3提供的用来控制输出音频信号的幅度的作用,以适应不同场合的使用满足不同听众的需求。

4)ac3采用了256点IMDCT与512点IMDCT相结合的方式,对于需要更精确的频谱处理的时候就采用256点,反之

采用512点的。两者的切换在码流中都有特定bit来规定。

5)down mixing就是根据需要将多声道的合并成特定的声道进行输出。目前我们暂时只支持6->2, 2->2的方式。

 

定点化比较的简单,audio的算法的定点相对于speech来说一向比较的简单。我规定的Q格式一直不变就可以满足

公司对于conformance的需求了。

由于快速算法中, 根据文档,它的IMDCT的核心部分是IFFT的处理, 因为我们公司有通用的FFT模块,为了方便就采用

FFT来实现IFFT的方式来替换, 这样也便于以后模块的通用和优化. 在fft之前将虚数部分取反, fft处理后,将出来的数据

虚数部分再取反就与IFFT的处理等价了.

转载于:https://www.cnblogs.com/wzgpeter/archive/2010/10/27/1863053.html


http://www.ppmy.cn/news/622176.html

相关文章

ACS配置

February 17 AC安装&配置手册 第二部分 ACS配置 第二部分ACS配置 2.1 通用配置 ACS已经安装在服务器上,ACS的IP地址为11.156.198.200。安装完后会在桌面产生一个ACS管理页面。 点击即可登录进ACS进行管理操作。如:配置管理员帐号&#xff…

KC32C 7.1声道DTS/杜比数码AC3/TRUE HD音频解码板

采用多核双精度浮点数(64位)DSP计算处理器,所有音频处理都是双精度64位。 支持最高192K杜比数码AC3、TRUE HD、DTS、DTS HD、AAC等5.1(I2S数字输出7.1)声道解码。 三路SPDIF数码输入,可根据需要设计为光纤或同轴输入。…

H3C配置ACL

H3C配置ACL 1. ACL简介 随着网络规模的扩大和流量的增加,对网络安全的控制和对带宽的分配成为网络管理的重要内容。 通过对数据包进行过滤,可以有效防止非法用户对网络的访问,同时也可以控制流量,节约网络 资源。ACL&#xff08…

leecode-下一排列

题目 题目 分析 妈呀,其实我直接调用函数,一行代码就通过了hhh,不过这种取巧的方式不可取,还是得老老实实的写。 首先需要明白什么叫下一排列? 比如输入: 1 5 8 4 7 6 5 3 1 答案就是: 1 5 …

标准ACL,扩展ACL

标准ACL,扩展ACL ACL概述 名为访问控制列表,对数据包进行过滤,工作在三层,在接口上启用。 ACL类型有三大类,基于编号ACL,基于名称ACL,基于时间ACL,这里只讲常用的编号ACL 基于编号…

FFMPEG中Doby-AC3 的处理流程

Dolby-AC3是需要Licence的,但是FFMPEG却有解码源代码,并且可以解码成功,不知道是不是这个license只限制在产品中征收版税,而不限制开源或者以研发为目的的使用。 FFMPEG中Dolby解码框架解读: 解码接口有三个&#xf…

MX Player 1.8.6第三方解码器,支持AC3、DTS

MX播放器是一款android端很好用的视频播放器但是官方版本不支持AC3音频,DTS等格式。 需要使用外部解码包。 最新版MX Player 1.8.6解码包。 XDA搬运:http://forum.xda-developers.com/apps/mx-player/mx-player-custom-codec-dts-support-t2156254 &…

H3C acl配置举例

1 简介 本文档介绍了ACL(Access Control List,访问控制列表)的配置举例。 2 配置前提 本文档中的配置均是在实验室环境下进行的配置和验证,配置前设备的所有参数均采用出厂时的缺省配置。如果您已经对设备进行了配置&#xf…