没有合适的资源?快使用搜索试试~ 我知道了~
AAC解码算法原理详解(附代码)
1星 需积分: 47 48 下载量 170 浏览量
2013-01-30
16:06:43
上传
评论 8
收藏 317KB DOC 举报
温馨提示
试读
20页
AAC解码算法原理详解(附代码),并用 代码实现了,可运行
资源推荐
资源详情
资源评论
解码算法原理详解
原作者:龙帅
此文章为便携式多媒体技术中心提供,未经站长授权,严禁转载,但欢迎链接到此地
址。
本文详细介绍了符合
!"#$%&进行压缩的的 音频的解码算
法。
、程序系统结构
下面是 解码流程图:
解码流程图
在主控模块开始运行后,主控模块将 比特流的一部分放入输入缓冲区,
通过查找同步字得到一帧的起始,找到后,根据 所述的语法
开始进行 !"无噪解码,无噪解码实际上就是哈夫曼解码,
通过反量化#$!%、联合立体声(&!'),知觉噪声替换
(())瞬时噪声整形(*),反离散余弦变换(+*),频段复制
(,-)这几个模块之后,得出左右声道的 (+ 码流,再由主控模块将其放入
输出缓冲区输出到声音播放设备。
'主控模块
主控模块的主要任务是操作输入输出缓冲区,调用其它各模块协同工作。其
中,输入输出缓冲区均由 ( 控制模块提供接口。输出缓冲区中将存放的数据
为解码出来的 (+ 数据,代表了声音的振幅。它由一块固定长度的缓冲区构
成,通过调用 ( 控制模块的接口函数,得到头指针,在完成输出缓冲区的填
充后,调用中断处理输出至 . 接口所连接的音频 芯片(立体声音频
和 ''/ 耳机放大器)输出模拟声音。
'同步及元素解码
同步及元素解码模块主要用于找出格式信息,并进行头信息解码,以及对元素
信息进行解码。这些解码的结果用于后续的无噪解码和尺度因子解码模块。
的音频文件格式有以下两种:
0:$ !'!"0'音频数据交换格式。这种格式的特
征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的
解码,即它的解码必须在明确定义的开始处进行。故这种格式常用在磁盘文件
中。
*:$ *'!''音频数据传输流。这种格式的特征
是它是一个有同步字的比特流,解码可以在这个流中任何位置开始。它的特征
类似于 数据流格式。
的 0 格式见下图:
(')* 的组织结构
的 * 的一般格式见下图:
')+ 的组织结构
图中表示出了 * 一帧的简明结构,其两边的空白矩形表示一帧前后的数
据。
0 和 * 的 ' 是不同的。它们分别如下所示:
(')* 的头信息
')+ 的固定头信息
)+ 的可变头信息
(',帧同步
帧同步目的在于找出帧头在比特流中的位置, 规定,* 格式
的帧头为 . 比特的“1
'头信息解码
* 的头信息为两部分组成,其一为固定头信息,紧接着是可变头信息。固
定头信息中的数据每一帧都相同,而可变头信息则在帧与帧之间可变。
'元素信息解码
在 中,原始数据块的组成可能有六种不同的元素。它们分别是
2!"!!! 单通道元素。单通道元素基本上只由一个
组成。一个原始数据块最可能由 3 个 组成。
(2!!('!双通道元素,由两个可能共享边信息的 和
一些联合立体声编码信息组成。一个原始数据块最多可能由 3 个 组成。
2$!"!!!藕合通道元素。代表一个块的多通道联合
立体声信息或者多语种程序的对话信息。
402450'#$!6!低频元素。包含了一个加强低采样频率的通
道。
2'!数据流元素,包含了一些并不属于音频的附加
信息。
(2('"'!7"!程序配置元素。包含了声道的配置信息。它
可能出现在 0头部信息中。
0420!填充元素。包含了一些扩展信息。如 ,-,动态范围控制信
息等。
'处理流程
判断文件格式,确定为 0 或 *
. 若为 0,解 0 头信息,跳至第 3 步。
剩余19页未读,继续阅读
资源评论
- 我是新手F12018-01-12假的,没有代码,是些没用的东西,随便从百度复制过来的
su350380433
- 粉丝: 2
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功