【VB开源代码栏目提醒】:网学会员在VB开源代码频道为大家收集整理了“MPEG4+AAC音频解码器的DSP程序优化设计与实现研究 - 毕业设计“提供大家参考,希望对大家有所帮助!
华中科技大学硕士学位论文MPEG-4 AAC音频解码器的DSP程序优化设计与实现研究姓名杨永祥申请学位级别硕士专业模式识别与智能系统指导教师汪国有20040512 II摘 要 计算机和网络技术的发展促进了音视频技术在多媒体网络可视电话监控道路等领域的应用MPEG4 AACAdvance Audio Coding作为MPEG-4标准的高质量音频压缩编解码的核心能够在每通道64kbps下提供高质量音频压缩编解码在压缩音频流中支持多于48个音频通道16个低频有效通道16个多配音多种语言通道和16个数据流因此在许多领域中发挥了重要作用德州仪器TI公司的DM642定点多媒体DSP具有高速时钟高度并行化指令集使得在DSP上实现MPEG4 AAC实时解码器成为了可能 本文首先介绍了MPEG4 AAC解码器的无噪声解码反量化应用比例因子联合立体声解码瞬时噪声整形长时预测和反滤波器组等模块的基本原理详细探讨了针对DM642 评估板硬件的特点阐述了DSP算法设计与实现的优化技术为了能使AAC解码应用到多媒体网络可视电话监控道路和IPTV等领域当中如何提高程序执行效率和运算速度保证实时性成为了本文最关心的问题为此在不影响音质的前提下本文给出了通过优化程序结构和简化模块运算的方法并在DM642上实现了MPEG-4AAC实时解码器 最后本文给出了解码器算法在DM642上的实现结果分析和AAC编解码器的音频质量客观评价的性能指标试验表明解码后的信号与原始信号在主观上基本无差别而且在客观上与MOS分相似较好可以看出AAC解码器具有一定的实用价值 关键词MPEG4 AAC 数字信号处理 实时解码器 反量化 IMDCT IIIAbstract The development of computer and network improves the technique of audio-video applied in the multi-media network visual telephone monitor road etc. MPEG4 AAC Advance Audio Coding as the kernel of MPEG-4 audio standard can encode and decode high quality under 64kbps. It support over 48 audio channels16 low frequency channels 16 multi-dub and multi-language channels and 16 data streams.so it play a key role in many fields.The DM642which is a multimedia DSP posses highly clock highly parallel instruction set these performances make possible of realizing MPEG4 AAC real-time decoder. The algorithms of MPEG4 audio standard are discussed. And the AAC decoder is realized on the DM642. First we introduce the principle of MPEG4 AAC standard and discussed the key decoding modules Then we introduce hardware system of DM642 EVM Third we introduce the correlative optimize technique Last from the objectivity estimate aspect we make analyse the audio quality of the output of AAC decoder. MPEG4 AAC decoder is made of Noiseless decoding inverse quantity apply scale factor union stero decoding temporal noise shaping long term predict inverse filter bank every modules has quite large operations. In order that AAC can be applied to network visual telephone IPTV domain that how to improve efficiency and sunning speed is the key point. Finally we implement the AAC decoder on the DM642 EVM by program optimizing. Finally we give the realized results analyze and technique target of the decoder algorithms on the DM642 including the audio objective evaluation. The Experiments show that there no difference between decoded signal and original subjectively and similar with MOS objectively. The decoder has certain applied value. Key word: MPEG4 AAC Digital Signal Process Real-time decoder Inverse quantization IMDCT I独创性声明 本人声明所呈交的学位论文是我个人在导师的指导下进行的研究工作及取得的研究成果近我所知除文中已标明引用的内容外本论文不包含任何其他人或集体已经发表或撰写过的研究成果对本文的研究做出贡献的个人和集体均已在文中以明确方式标明本人完全意识到本声明的法律结果由本人承担 学位论文作者签名杨永祥 日期2005年5月12日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留使用学位论文的规定即学校有权保留并向国家有关部门或机构送交论文的复印件和电子版允许论文被查阅和借阅本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索可以采用影印缩印或扫描等复制手段保存和汇编本学位论文 保密在______年解密后适用本授权数 本论文属于 不保密 请在以上方框内打 学位论文作者签名杨永祥 指导教师签名汪国有 日期2005年5月12日 日期2005年5月12日 1 绪 言 引 言 随着计算机技术和信号处理理论的不断发展多媒体技术日益深入人们的生活音频技术作为多媒体技术的一个重要方面越来越受到人们的重视已经在许多领域发挥了重要作用例如计算机网络无线通信多媒体计算机系统数学影音系统高清晰度电视HDTV数字音频广播DAB可视电话IPTV等音响设备从最初的单声道双声道到现在多声道立体声导致需要存储的音频数据量大增据计算对于44.1 KHz的CD音质立体声采样记录一分钟的音频大约需要1OMB的存储空间在这种情况下尽管记录媒体出现了大容量存储光盘但相对于内容的增加仍然显得不足这样压缩就变得重要起来所以这些领域面临着减小的信道带宽存储空间有限以及高的性价比的问题因此迫切要求尽量压缩数字音频的存储空间和传输带宽以较低的比特率传输高质量的数字音频 今后音频在网络上的应用更加广泛如何在有限带宽条件下提供良好的音质成为研究的重点针对这一需求国际上出现各种音频压缩方法例如著名的MP3WMARM等算法最近MPEG运动图像专家组织提出了一种新的一代音频压缩标准AAC Advanced Audio Coding它不但提供了比MP3更好的音质而且具有很多MP3尚不具备的特性支持更多的声道变采样率更加适合网络上的使用根据EBU等组织的测试AAC优于现在流行的MP3编码因此现在AAC音频编码标准作为MPEG4的音频部分已经被人们广泛接受 发展概况 1988年ISO/IEC标准化组织成立了运动图像压缩编码组织简称MPEG Moving Picture Expert Group正式名称是ISO/IECJTC1/SC29/WG11主要致力于制定运动图像的压缩编码标准其第三部分就是音频编码压缩标准虽然MPEG标准最初目标是为数字存储媒介DSM进行视频及其伴音的编码但实际上MPEG标准己经成功应用在很多地方包括DABDVB机顶盒以及网络流媒体和便携式音频播放等 MPEG 音频压缩标准在数字音频的发展中占有很重要的地位MPEG 最早的标准为MPEG-1由国际标准化组织在1992年完成并制定成ISO/IEC 11172标准它的音频部分分为三层Layer从layer-1到layer-3提供逐级增进的音频质量当然与此同时复杂度也逐级增高Layer-3提供具有最高的复杂度提供最好的音频质量 2即是被人们广泛所知的MP3MPEG-1设计的最大比特率bitrate为1.5Mbps规格中分别规定了影像压缩与声音压缩VCD 即是使用MPEG-1的规格 随着时间的推移MP3越来越不能满足我们的需要了比如压缩率低音频质量也不是很理想而且只有两个声道于是富朗霍夫学院集成电路Fraunhofer IIS与美国ATT电讯公司Sony杜比实验室和nokia等公司展开合作共同开发出了被誉为21世纪的数据压缩方式的Advanced Audio Coding简称AAC多声道数码音频压缩编解码音频格式以取代MP3 的位置AAC 的算法完成于1997年当时称为MPEG-2 AAC因为当初把它作为MPEG-2标准的延伸但是随着MPEG-4音频标准在2000年成型MPEG-2AAC 也被作为它的编码技术核心同时追加了一些新的编码特性因此又称MPEG-4 AAC1-3 AAC音质接近CD并采用理论分辨率更高的滤波器组采样频率选择性很高达到了很高的压缩率并并可大幅降低传输时间和减少存储空间适合新一代的音频产品使用AAC的主要特点 1提高了压缩率可以以更小的存储空间获得更高的音质 2支持多声道可提供最多48个个全音频声道 3更高的采样频率最高支持96KHz的采样频率 4较好的解码效率解码播放所占的资源更少 AAC是个大家族目前已经制定了如下几种规格以适应不同场合的需要 表1-1 AAC规格一览表 层次 规格 MPEG-2 AAC LC 低复杂度Low Complexity MPEG-2 AAC Main 主要层次 MPEG-2 AAC SSR 可变采样率层次Scalable Sampling Rate MPEG-4 AAC Main 主要层次 MPEG-4 AAC LC 低复杂度 MPEG-4 AAC SSR 可变采样率层次Scalable Sampling Rate MPEG-4 AAC LTP 长时预测层次Long Term Prediction MPEG-4 AAC LD 低延迟Low Delay MPEG-4 AAC HE 高效率High Efficiency 1Main主要层次包含了除增益控制Gain Control之外的全部功能其音质最好 2低复杂度Low Complexity使用比较简单的时域瞬时噪声整形Temporal 3Noise ShapingTNS没有预测Prediction和增益控制Gain Control以此降低复杂度提高了编码效率SSRScalable Sampling Rate和LC大体相似但多了增益控制功能 3MPEG-4 AAC LTPLong Term Prediction长时预测MPEG-4 AAC LDLow Delay低延迟和MPEG4 AAC HEHigh Efficiency都在低码率下进行编码 实际上Main和LC的音质相差并不大但是编码效率却相差明显所以目前使用得最多的是LC 目前已有许多国内外的专家学者对AAC算法进行了不同方面的研究并取得了一定的成果4-12文献4-8主要集中在TIDSP上优化并实现了MPEG2 AAC算法文献9则在ARM7 MCU上实现了mp3/AAC算法文献10-11则在PC上实现了AAC算法的优化工作针对MPEG4 AAC文献12进行了研究并在TIC6416 DSP上实现了AAC的算法 相关音频压缩编解码算法 目前有多种不同的音频压缩算法标准适用于不同应用领域MPEG组织自1988年开始致力于高质量音频压缩编码标准并于1992年制定了数字音频压缩领域的第一个国际化标准2-3 1MPEG-1音频ISO/IEC11172-3 MPEG-1音频是最早的国际化音频压缩编码标准提供了单声道与双声道音频编码 32kHz44.1kHz48kHz有三种采样率所以共分为三个层次每个层次的复杂度压缩比特率和压缩质量有所不同用户可以根据需要进行选择预设的传输码率有三种从32kbps至448kbpsLayer-1Layer-2可以从32kbps至384kbpsLayer-3即MP3可从32kbps至320kbps13 1MPEG1 Layer 1 这是MUSICAM算法的简化版本编码器与解码器的复杂度很低压缩比也很低Layer 1的帧长为8ms 48kHz采样适合于演播室应用对musicam于压缩比要求不高的应用 Layer 1是很适合的 2MPEG1 Layer 2 这一层算法的压缩比高于layer1但编码器复杂度也随之上升Layer 2算法与MUSICAM方案相同但帧长为24ms 48kHz采样不仅采用了更为精确的量化而且去除了子带量化因子的相关性能在较低码率下获得较好的压缩质量Layer 2算法标准在消费和专业音频领域都有广泛的应用例如VCD伴音编码DAB数字音频广播DAW 数字音频工作站等 3MPEG1 Layer 3 4这是MUSICAM与ASPEC的混合算法简称MP3通过使用混合滤波器组提高了频域分辨率使运算更接近人耳的频域分辨率.Layer 3的帧长与Layer 2相同采用非均匀量化和熵编码提高编码增益降低码率在短期内Layer 3还使用比特池技术进行变码率控制促使比特数更有效的分配Layer 3适用于电信通讯例如窄带ISDN卫星链路和卫星DAB系统等另外一个最突出的应用为MP3网络音乐 2MPEG-2音频ISO/IEC13818-3 MPEG-2音频提供了更多声道的音频编码格式最多可达5个声道再加一个重低音声道LFE其码率可达1Mbit/s左右采样率可以是16kHz22.05kHz和24kHz码率可以是32256kbpsLayer-28160kbpsLayer-3 3Dolby AC-2和AC-3 Dolby公司推出了基于变换域感知音频方案的两类算法AC-2适用于低成本的编码器和解码器AC一3的目标则是包括动态压缩多种回放配置扩展用户信息传输等功能的编解码系统 5 数字信号处理器及板 2.1 DM642数字信号处理器 1DM642简介 DM642是C6000系列中基于VelociTI.2VLIW架构的最高性能的定点DSP之一在时钟为600MHZ下可以达到4800MIPSDM642使用一个2级cache结构L1主要是直接映射cacheL1P和数据cacheL1DL2主要是2M位的存储器空间它可以被配置成内存cache程序区和数据区它的内部结构如下图所示14-21 图2-1 DM642内部结构方框图 CPU利用了VLIW指令结构可以在每个时钟周期内完成32位的指令每个32位 6指令的第一位决定了下一指令是否是同一个指令包每个包都是256位的不过每个执行包长度可能不同这种变长的执行包是节约内存的关键也是64x的CPU不同于其它VLIW结构的地方 CPU起重要作用的是两组功能单元每一组包含了4个单元和1个寄存器组一组包含的4个单元是.L1.S1.M1.D1另一组包含的是.L2.S2.M2.D2寄存器组包含了32个32位的寄存器即64个16位的寄存器当然为了支持16位的指令包和32-/40-位的定点数据类型寄存器组支持8位的数据包和64位的数据类型另外两组功能单元分别有自己的数据通道这样加速了数据访问的速度 CPU另外一个重要特征是load/store结构因为所有的指令都是在寄存器之上运行的两组数据寻址单元.D1和.D2负责寄存器组和内存之间的所有数据传输C64x可以在一个指令内完成load/store字节8位半字16位字32位另外由于有了新的数据通道.D单元可以load/store双字的数据而且不需字节对齐地访问 .M功能单元负责所有的乘法操作可以在一个时钟周期做两个1616或者四个88的乘法当然也可以做1632的乘法双向1616的乘法加上加/减操作除了标准乘法.M单元还负责了位计数旋转双向变量移位.S和.L功能单元负责普通的算术逻辑分支指令 图2-2 DM642系统构成方框图 2DM642性能 1高性能 指令周期2-5001.67-600-ns 7 时钟500-600MHZ 40004800MIPS 2VelociTI.2超长指令集内核 18个独立的功能模块6个ALU算术操作2个乘法器MACs可以做4个1616的乘法结果为32位或者88的结果为16位 2不需对齐的LOAD/STORE结构 364个32位的通用寄存器 4所有的指令都是可在条件下起作用 3指令集特征 1字节可选可以是8-/16-/32-/64-位的数据 2可进行位操作 3规一饱和位计数 4L1/L2内存结构 116K字节的L1P程序Cache它是直接映射的 216K字节的L1D程序Cache它是双向的 3256K字节的L2 RAM/Cache 5印第安码支持大小印第安码 664位的扩展内存接口EMIF 1与异步存储器SRAM/EPROM以及同步存储器SBSRAM/ZBT SRAM FIFO无缝连接 2外部存储器的空间可以达到1G字节 364个独立通道的DMA 7以太网MAC 83个配置的视频端口支持多分辨率和视频标准 9VIC支持音频/视频的同步 10支持PCI规范2.2支持主从 11多通道的音频端口McASP 123个32-bit的通用定时器 1316个GPIO 评估板简介 本文采用了北京瑞泰创新科技有限公司提供的DM642开发板ICETEK-DM642-PCI该评估板是一个低功耗独立的开发平台使用户可以对TI 8的DM642DSP进行评测和开发应用该评估板包括完备的板上设备适合各种应用环境 图2-3 DM642评估板示意图 图2-4 DM642评估板实际效果图 ICETEK-DM642-PCI评估板的主要特点包括 ?? 采用 TI 公司的 TMS320DM642 DSP 器件速度600M ?? 标准的PCI总线结构可以作为协处理板应用 ?? 4路标准视频输入PAL/NTSC 制式或S端子 ?? 2路视频输出VGA 制式 1路PAL/NTSC 制式或S端子 ?? 4M64bit 同步动态存贮器 SDRAM存贮多达32帧图像 ?? 8-32M FLASH可以写进大量程序具备自启动功能可作为嵌入式的产品使用 ?? 通过30万门大容量FPGA实现在图形叠加功能 OSDOn Screen Display ?? 标准立体声音频输入/输出speak inline inspeak out采样率最高96k/s ?? 10M/100M 网络接口 ?? 标准 JTAG 设计方便仿真 ?? 8个用户定义显示灯在线显示工作状态 9?? 单5V供电内部设计有多种电源转换模块 ?? 标准的扩展接口适合做各种标准设计 ?? 标准 RS232 串口通讯两路每路最高 115.2k/s 10 主要算法模块分析 引言 MPEG 音频一个显著特点就是采用了感知编码模型即它以人类听觉系统特性的心理声学Psychoacoustic为基础通过感知编码把人类所听不到的声音数据都屏蔽掉以提高数据压缩效率在人耳声学研究中有许多成果现今已大量的音频压缩技术所使用最重要的两类为频域 Frequency Domain与时域 Time Domain 的掩蔽效应频域掩蔽用得较多其原理是当有某一单频音出现时会影响到人耳对于临近频率听觉的灵敏度如图3-1所示当1kHz单频音的音量大于临近频率的音量时临近的频率9801020Hz的声音就会被遮盖住听觉则感受不到这两个频率的声音这种效应就像是雨伞一样会把单频音附近的其它频率给覆盖住称为频率上的掩蔽效应 图3-1 1kHz掩蔽曲线 在1kHz单频音的影响下我们将人耳在各频率所能够听到与不能听到的音量界限用一条曲线描绘成图3-2这条曲线称为掩蔽曲线 Masking Threshold在曲线下方的部分是人耳听不到的当我们在进行音频编码时可以将被掩蔽的这部分丢弃以减少音频编码的数据量 11 图3-2 人耳掩蔽曲线 图3-3 数个掩蔽曲线重叠情形 主要模块算法分析 AAC是一个模块化结构的编解码器AAC解码 1 中的主要功能模块包括比特流多路复用解码Bitstredm Multiplexing无噪声解码Noiseless Decoding反量化Dequantization应用比例因子左右声道解码M/S强度立体声解码Intensity Stereo长时预测Long Term Prediction瞬时噪声整形Temporal Noise Shaping反滤波器组filter bank和增益控制Gain ControlAAC可以根据应用的不同在不同编码质量和复杂性条件下取舍某些模块因此解码部分会根据相关配置信息相应地选择对应模块进行解码AAC主要分为3个档次主要档次Main profile低复杂性档次Low Complexity可分级档次Scaleable Sampling Profile在不同的分档中使用了不同的功能模块其具体如下 表3-1 各个档次模块的选择 模块 Main LC SSR 无噪声解码 逆量化 比例因子 M/S 可选 可选 可选 IS 可选 可选 可选 PNS 可选 可选 可选 预测 × × 长时预测 × × TNS 滤波器级数20 滤波器级数12 滤波器级数12 滤波器组 增益控制 × × AAC主要档次最复杂除了增益控制模块外其余模块都可能用到需要的内存 12容量和运算量也最多但编码的质量也是最好的低复杂性档次是针对那些内存容量和计算速度有限但压缩比要求不是很高的应用与主要档次相比去掉了时域预测模块限制了TNS模块中预测的阶数可分级档次去掉了时域预测和声道耦合模块包括了增益控制模块在解码端可选择提取612182448KHz 采样率带宽信号 当某些模块不被采用时可看成信号不经改变地通过了该模块与前面的MPEG音频编码技术相比AAC新增加了TNS时域预测和增益控制并对滤波器组心理声学模型立体声处理多声道处理哈夫曼编码等都有不同程度的改进码流格式更加灵活采样率更宽可从8KHz到96KHz 音频信号的编码流程时域信号先经增益控制模块只在可分级档次使用把信号分成4个频带对信号的幅度进行增益控制由滤波器组分解成1024条频域谱线同时根据输入的时域信号进行心理声学模型分析计算当前的掩蔽域值另外心理声学模型还输出M/S立体声和强度立体声处理所需的控制信息TNS模块对滤波器输出的部分谱线进行线性预测以残差信号代替原谱线强度立体声模块提取信号高频成分的包络M/S立体声模块以和信号M和差信号S代替左右声道信号量化模块进行比特分配尽量使量化噪声小于掩蔽域值量化后的信号与比例因子进行哈夫曼编码最后进行AAC组码把上述过程逆过来就是解码AAC解码器基本配置框架如下图所示 图3-4 AAC解码示意图 编码文件数据结构 AAC编码文件是以逐帧存放每帧的数据是以adts头audio data transport frame 13开始然后是音频数据最后是结束标志它的基本架构如下图所示 第帧第帧第帧第帧返回到 直到等于标志.