当前位置: 首页 > 专利查询>云南大学专利>正文

基于FPGA的IMA-ADPCM编解码IP核的设计实现制造技术

技术编号:7898261 阅读:381 留言:0更新日期:2012-10-23 04:24
本发明专利技术从IMA-ADPCM的基本原理入手,分模块逐步剖析各部分功能,利用Verilog硬件描述语言编程设计实现了一个基于FPGA的可灵活配置的IMA-ADPCM编解码IP核。通过仿真测试和不同芯片的实际验证,确保此编解码器正确性和稳定性。整个系统Verilog编程部分是在QuartusII8.0平台完成,仿真是在专业仿真软件ModelSim6.1g上完成的,仿真完后分别在Altera公司的硬件平台DE2和DE0开发板上进行验证。本发明专利技术充分利用了FPGA的灵活性和可配置性,仿真和硬件验证表明,此IMA-ADPCM编解码IP核具有硬件结构简单、资源消耗低、可靠性高、灵活性强、速度快、性价比突出的显著特征,具有良好的应用前景。

【技术实现步骤摘要】

本专利技术从IMA-ADPCM的基本原理入手,分模块逐步剖析各部分功能,利用Verilog硬件描述语言编程设计实现了一个基于FPGA的可灵活配置的IMA-ADPCM编解码IP核。通过仿真测试和不同芯片的实际验证,确保此编解码器正确性和稳定性。整个系统Verilog编程部分是在Quartus 118. 0平台完成,仿真是 在专业仿真软件ModelSim 6. Ig上完成的,仿真完后分别在Altera公司的硬件平台DE2和DEO开发板上进行验证。本专利技术充分利用了 FPGA的灵活性和可配置性,仿真和硬件验证表明,此IMA-ADPCM编解码IP核具有硬件结构简单、资源消耗低、可靠性高、灵活性强、速度快、性价比突出的显著特征,具有良好的应用前景。
技术介绍
IMA-ADPCM算法是互动多媒体协会(IMA)在自适应差分脉冲编码调制(ADPCM)算法基础上发展的设计用于娱乐多媒体应用的一种算法,它属于自适应差分脉冲编码调制(ADPCM)算法的一种,具有编解码速度快,结构简单(不严格要求任何乘法或浮点操作)等特点。同时该算法不局限于语音信号频率范围,能处理任何采样率输入的信号,因而能压缩高质量的音频信号。著名的WestWood在它的许多游戏,如沙丘II、命令与征服、红色警戒等中保存声音的数据文件(AUD格式)大多使用IMA- ADPCM压缩。另外,该压缩方式在手机铃声和MP3中的WAV录音中得到了很好的应用。现场可编程门阵列(FPGA)融合了 DSP和ASIC的优点,并具有可配置性强、速度快、密度高、功耗低的特点。本文针对IMA-ADPCM算法的自身特点,利用FPGA的优势,设计和实现了 IMA-ADPCM编解码器,充分利用了 FPGA上面的资源,以达到目前对IMA-ADPCM编解码的实时性、高速度以及稳定性的要求。
技术实现思路
IMA-ADPCM算法是一种针对16bits(或8bits或者更高)声音波形数据的一种有损压缩算法,它将声音流中每次采样的16bit数据以4bit存储,所以压缩比1:4.而且压缩/解压缩算法非常简单,所以是一种低空间消耗,高质量高效率声音获得的好途径。保存声音的数据文件后缀名为.AUD的大多用ADPCM压缩。其压缩原理为利用样本间的相关性,根据前面出现的脉冲编码调制(PCM)抽样值对下一个抽样进行预测,然后对输入采样值与预测值间的差分信号进行编码,因为差分信号比原始语音信号的动态范围和平均能量都小,相对来说可以用较少的位数进行表示。由于采用了自适应技术,其量化噪声将大大减少。由于上述原理可知,IMA-ADPCM算法是在PCM的基础上进行操作的,因此我们需阐述下PCM相关知识在计算机应用中,能够达到最高保真水平的就是PCM编码,被广泛用于素材保存及音乐欣赏,CD、DVD以及我们常见的WAV文件中均有应用。PCM中的声音数据没有被压缩,如果是单声道的文件,采样数据按时间的先后顺序依次存入。(它的基本组织单位是BYTE(8bit)或W0RD(16bit))如果是双声道的文件,采样数据按时间先后顺序交叉地存入。在现实生活中的很多方面,直接把原始声音文件进行存储和传播是很不经济和方便的,不仅浪费大量的存储空间,在互联网上传播由于数据量大而变得异常麻烦。因此,我们非常有必要对其进行压缩存储。这也是我们致力研究IMA-ADPCM编解码IP核的最主要原因。IMA-ADPCM是压缩格式,它是从PCM的16位(或者8位或者更高)采样压缩成4位的。对于单声道的IMA-ADPCM来说,它是将PCM的数据按时间次序依次压缩并写入文件中的,每个BYTE中含两个采样,低四位对 应第一个采样,高四位对应第二个采样。而对于双声道的IMA-ADPCM来说,它的存储相对就麻烦一些了,它是将PCM的左声道的前8个采样依次压缩并写入到一个32位的存储字中,紧接着是右声道的前8个采样。依次循环,当采样数不足8时(到数据尾端),应该把多出来的采样用0填充。特别注意在IMA-ADPCM进行编码时,并不是依次把所有的数据进行压缩保存,而是分段进行的,这样有一个十分重要的好处那就是在只需要文件中的某一段信息时,可以在解码时可以只解所需数据所在的段就行了,没有必要再从文件开始起一个一个地解码。这对于处理大文件将有相当的优势。同时,这样也可以保证声音效果。整个IMA-ADPCM编解IP核包括两个独立的模块,分别是编码模块和解码模块。下面将分别详述这两个模块 (I) IMA-ADPCM编码模块 编码时,首先将16位的二进制PCM采样值和上一预测采样值进行相减,再将这个差值量化编码输出4位IMA-ADPCM值。4位IMA-ADPCM值分为三路,一路直接进行输出,一路送到本地量化步长调整模块用以对下一个差值量化步长进行调整以及还原量化前的差值信号,另一路送往逆量化模块,用来与上一预测值相加重建信号。在4位IMA-ADPCM被发送的同时,重建信号经预测滤波器模块对下一抽样值进行预测估计计算。在明白了编码步骤后,我们用Verilog语言对其Quartus II 8. 0平台下进行编程,这个编码模块在输入PCM编码和上一预测采样值之间实现了自适应量化器、预测器、量化差值。(2) IMA-ADPCM 解码模块 解码过程其实是编码的逆过程,先根据当前输入的IMA-ADPCM值以及当前量化步长计算出差值信号,然后将差值信号与上一次预测值进行相加就的到了 16位的PCM编码输出。同样,用Verilog语言对其Quartus II 8. 0平台下进行编程实现。(3) IMA-ADPCM编解码IP核的系统实现 在分别实现了编解码模块后,在Quartus II编程环境中,建立一个顶层模块,把前面建立的编解码模块集成进来,并加上相关的控制信号以及输入输出引脚,生成一个完整的IP核。至此,在FPGA上搭建一个IMA-ADPCM编解码IP核已经完成。本专利技术充分利用了 FPGA的灵活性和可配置性,仿真和硬件验证表明,此IMA-ADPCM编解码IP核具有硬件结构简单、资源消耗低、可靠性高、灵活性强、速度快、性价比突出的显著特征,具有良好的应用前景。附图说明下面结合附图和实施例对本专利技术进一步说明。附图的顺序如下 图I上半部分是16位单声道PCM存储结构下半部分是16位双声道PCM存储结构 图2单声道IMA-ADPCM编解码示意图 图3双声道IMA-ADPCM编解码示意图 图4 IMA-ADPCM编解码整体结构图 图5 IMA-ADPCM编码框图 图6 FPGA实现的编码模块 图7 IMA-ADPCM解码框图 图8 FPGA实现的解码模块图 图9整体结构的顶层模块图 图10仿真结果图 图I是单声道和双声道PCM采用信号存储结构,图2和3分别指示了单双声道语音信 号进行IMA-ADPCM编解码存储和执行顺序。对于单声道的IMA-ADPCM来说,它是将PCM的数据按时间次序依次压缩并写入文件中的,每个BYTE中含两个采样,低四位对应第一个采样,高四位对应第二个采样。而对于双声道的IMA-ADPCM来说,它的存储相对就麻烦一些了,它是将PCM的左声道的前8个采样依次压缩并写入到一个32位的存储字中,紧接着是右声道的前8个采样。依次循环,当采样数不足8时本文档来自技高网
...

【技术保护点】
一种基于FPGA的IMA?ADPCM编解码IP核的设计实现,以IMA?ADPCM算法为基础,用Verilog硬件描述语言在Quartus?II开发平台上进行编程实现,以ALTERA公司的DE2和DE0为硬件平台,设计了一个基于FPGA的可灵活配置的IMA?ADPCM编解码IP核,其基本特征为:在FPGA平台上开发实现了包括输入控制模块,编码模块,解码模块和输出控制模块共四个模块,再加上相关的外围电路能对16位采样PCM码和4位IMA?ADPCM码在100MHz的频率下进行稳定的处理。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨军王小军赵嘎舒平平张伟平董寅陈成张凯杜琛
申请(专利权)人:云南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1