嵌入式操作教程_数字信号处理_音频编解码:3-6 AAC音频解码实验

一、实验目的

了解AAC音频格式,掌握AAC音频解码的原理,并实现将AAC格式的音频解码为PCM

二、实验原理

音频编解码的主要对象是音乐和语音,音频的编解码格式可分为无压缩的格式、无损压缩格式、有损音乐压缩格式、有损语音压缩格式和合成算法。本实验中使用的AAC格式属于有损音乐压缩格式。音频编解码的目的是减少传输的信息量和减少储存的信息。

音频的编解码的格式分类

无压缩的格式(PCM,WAV...)

无损压缩格式(APE,FLAC,LPAC,WMA_LS...)

有损音乐压缩格式(AAC,AACPlus,AC3,DTS,ATRAC,MP3,WMA,OGG,RA...)

有损语音压缩格式(AMR, GSM, LPC, SPEEX, CELP, G.7XX, ADPCM,...)

合成算法(MIDI,TTS)

AAC高级音频编解码(Advanced Audio Coding)

最初是基于MPEG-2的音频编码技术,目的是取代MP3格式。2000年,MPEG-4标准出台,AAC重新集成了其它技术(PS,SBR),为区别于传统的MPEG-2 AAC,故含有SBR或PS特性的AAC又称为MPEG-4 AAC。

AAC是新一代的音频有损压缩技术,它通过一些附加的编码技术(比如PS,SBR等),衍生出了LC-AAC,HE-AAC,HE-AACv2三种主要的编码。其中LC-AAC就是比较传统的AAC,相对而言,主要用于中高码率(>=80Kbps),HE-AAC(相当于AAC+SBR)主要用于中低码(<=80Kbps),而新近推出的HE-AACv2(相当于AAC+SBR+PS)主要用于低码率(<=48Kbps)。事实上大部分编码器设成<=48Kbps自动启用PS技术,而>48Kbps就不加PS,就相当于普通的HE-AAC。

HE:"High Efficiency"(高效性)。HE-AAC v1(又称AACPlusV1,SBR),用容器的方法实现了AAC(LC)+SBR技术。SBR其实代表的是Spectral Band Replication(频段复制)。

音乐的主要频谱集中在低频段,高频段幅度很小,但很重要,决定了音质。如果对整个频段编码,若是为了保护高频就会造成低频段编码过细以致文件巨大;若是保存了低频的主要成分而失去高频成分就会丧失音质。

SBR把频谱切割开来,低频单独编码保存主要成分,高频单独放大编码保存音质,"统筹兼顾"了,在减少文件大小的情况下还保存了音质,完美的化解这一矛盾。

HEv2:用容器的方法包含了HE-AAC v1和PS技术。PS指"parametric stereo"(参数立体声)。原来的立体声文件文件大小是一个声道的两倍。但是两个声道的声音存在某种相似性,根据香农信息熵编码定理,相关性应该被去掉才能减小文件大小。所以PS技术存储了一个声道的全部信息,然后,花很少的字节用参数描述另一个声道和它不同的地方。

AAC编解码特点

(1)AAC是一种高压缩比的音频压缩算法,但它的压缩比要远超过较老的音频压缩算法,如AC-3、MP3等。并且其质量可以同未压缩的CD音质相媲美。

(2)同其他类似的音频编码算法一样,AAC也是采用了变换编码算法,但AAC使用了分辨率更高的滤波器组,因此它可以达到更高的压缩比。

(3)AAC使用了临时噪声重整、后向自适应线性预测、联合立体声技术和量化哈夫曼编码等最新技术,这些新技术的使用都使压缩比得到进一步的提高。

(4)AAC支持更多种采样率和比特率、支持1个到48个音轨、支持多达15个低频音轨、具有多种语言的兼容能力、还有多达15个内嵌数据流。

(5)AAC支持更宽的声音频率范围,最高可达到96kHz,最低可达8KHz,远宽于MP3的16KHz-48kHz的范围。

(6)不同于MP3及WMA,AAC几乎不损失声音频率中的甚高、甚低频率成分,并且比WMA在频谱结构上更接近于原始音频,因而声音的保真度更好。专业评测中表明,AAC比WMA声音更清晰,而且更接近原音。

(7)AAC采用优化的算法达到了更高的解码效率,解码时只需较少的处理能力。

MPEG-4 AACLC解码器的基本框图

在主控模块开始运行后,主控模块将AAC比特流的一部分放入输入缓冲区,通过查找同步字得到一帧的起始。

找到后,开始进行无噪解码,无噪解码实际上就是哈夫曼解码,它的作用在于进一步减少尺度因子和量化后频谱的冗余,即将尺度因子和量化后的频谱信息进行哈夫曼编码。

通过反量化、

联合立体声、

知觉噪声替换、

瞬时噪声整形、

反离散余弦变换、

频段复制,这几个模块之后,

得出左右声道的PCM码流,再由主控模块将其放入输出缓冲区输出到声音播放设备。

程序流程

程序流程设计中首先要打开/创建输入和输出的文件,接着进行aac解码并将解码后的数据保存到pcm文件,最后关闭文件即可。

三、操作现象

实验设备

本实验所需硬件为实验板、仿真器和电源。

硬件连接

(1)连接仿真器和电脑的USB接口。

(2)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。

软件操作

导入工程,选择Demo文件夹下的对应工程

编译工程,生成可执行文件

将CCS连接实验箱并加载程序

点击运行程序

运行程序后,Console 窗口会打印信息。

大概等待5分钟,编码完成。

可看到工程目录下的song.aac文件解码生成的song.pcm文件。

可播放song.pcm,具体操作步骤如下:

(1)打开软件后,点击"文件->导入->原始数据",

(2)选择工程目录下的song.pcm文件,数据配置如图,

(3)导入数据后,点击绿色剪头即可播放音频数据。

(4)对比后可发现其效果与AAC原文件播放内容一致。

实验结束后,先点击黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验箱的连接,最后实验箱断电即可。

相关推荐
ViiTor_AI7 小时前
从去字幕到 AI 配音:完整视频本地化流程
人工智能·音视频
明德扬11 小时前
多路MIPI摄像头如何同步聚合?一文看懂FPGA视频汇聚方案
fpga开发·音视频
折枝吖13 小时前
音视频开发-PCM 原理与 AI 模块实战
音视频·pcm
HySpark14 小时前
熙瑾·会悟 ASR 实战:Qwen-ASR 漏字导致转写不完整,如何从音频分段到二次校验解决?
音视频·熙瑾会悟
大鹅办公16 小时前
酷狗音乐怎么转换MP3格式?4种方法亲测对比+避坑指南(附FFmpeg命令行教程)
ffmpeg·音视频·音频格式
小妖同学学AI16 小时前
AI视频生成难在提示词?这个Claude插件让Seedance 2.0效率翻倍,附超全示例!
人工智能·开源·github·音视频
梦想的旅途219 小时前
企业微信视频消息:mp4当图片发送失败
音视频·企业微信
阿童木写作19 小时前
跨马翻译:AI图片翻译工具批量处理,跨境电商视频字幕翻译更高效
人工智能·python·音视频
老衲の少女心19 小时前
【AI项目】从零构建 AI 视频生成系统:多模型编排的工程实践
人工智能·音视频
h×31 天前
FPGA视频4分屏项目 - 系统架构详细讲解
fpga开发·音视频