微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 用DSP实现MPEG音频层III压缩的加速方法

用DSP实现MPEG音频层III压缩的加速方法

时间:09-29 来源:互联网 点击:

1 概述

数字音频压缩技术给人们提供了一种更为有效的音频存储、传输方法。音频压缩的技术有很多种,它们的复杂度、音频压缩质量、以及压缩比都有很大的差别。如:μ-law音频压缩算法,其特点是简单,但压缩比很低,但音质一般。根据CCITT G.711建议,采用自然对数的量化过程,在输入幅度比较小的时候能够提供比较大精度的量化,而对于出现概率比较小的大幅度信号,量化噪声相对而言则较大。这种量化方式使得8 bit的数字量化信号在量化噪声效果上等同于14 bit的线性量化。而ADPCM压缩编码则充分利用了相邻的抽样值幅度变化比较小的特点,编码输出结果是当前抽样值与预测值的差值。虽然ADPCM编码的保真度较高,但其压缩比却比较小,只能够达到4/1的压缩比。改进的ADPCM编码方法有IMA (Interactive Multimedia Association)提出的改进算法,CCITT的G.721,G.723建议等[1]。

MPEG(Motion Picture Expert Group)音频压缩标准提供了一种高保真度,高压缩比的压缩算法。在ISO11172-3标准中,描述了具有不同复杂度和性能的子带音频编码方案,以适应各种高音质数字音频的应用。根据编码计算复杂度及编码效率的不同,分为层I,层II和层III三种标准。

MPEG音频标准最初来源于被分为四种类型的算法草案,它们是音频频域感觉熵编码ASPEC(Audio Spectral Perceptual Entropy Coding),掩蔽模式通用子带集成编码与多路复用MUSICAM(Masking-pattern Universal Sub-band Integrated Coding and Multiplexing),子带ADPCM SB/ADPCM(Sub-Band Adaptive Difference PCM)。经过一系列的客观和主观音质测试,考虑到不同比特率下的音质,对传输比特错误的敏感性,编码/解码复杂度,以及编解码延时等因素,在大约100 kbit/s低码率下,ASPEC和MUSICAM表现出最好的音质效果。在低码率(64 kbit/s)时,ASPEC表现出更为出色的音质,而MUSICAM则在编码解码的复杂度和延时上略胜一筹。根据ASPEC的若干算法,对 MUSICAM进行改进,加大了计算复杂度,但获得了更好的压缩比及音质,这就是ISO11172-3音频层III的标准。

层I是最简单的一种算法。如Philips公司的数字盒式录音机DCC(DIGItal Compact Cassette)便是利用层I的压缩算法,其应用的比特率为192 kbit/s每通道。

层II具有中等的编码复杂度,适用比特率大约为128 kbit/s每通道。广泛应用于数字音频广播DAB(Digital Audio BroADCasting)的音频编码及视频CD中。

层III是最复杂的编码算法,但是在相同的比特率下,它所提供的音质也是最好的。典型的比特率为64 kbit/s,最适合于ISDN上的音频传输。

1998年4月22日,APT(Audio Processing Technique)公司利用Apt-X100系统,通过ISDN线路,成功地转播了北京—东京—上海的“国际地球日”大型广播音乐会。但是,这次转播占用了3条(即6个B)的ISDN线路,以保证22 kHz频响的立体声传送,这是由于Apt-X100系统采用的是SB/ADPCM音频压缩方法[2]。然而,如果使用MPEG层III音频压缩方法,只需要一条ISDN线路,就可以实现22 kHz频响的立体声传送。由于MPEG层III音频压缩编码复杂度太高,运算量太大,难以用一般的DSP(Digital Signal Processor)单片实现,所以在目前的音响设备中很少使用这一算法。为了能用较低的成本实现MPEG层III这一高效音频压缩算法,我们对这一算法进行了全面分析,提出了适用于DSP实现的编码加速方案。

2 MPEG音频层III压缩编码流程及特点

MPEG音频层III压缩编码流程如图1所示,相对于层Ⅰ和层Ⅱ而言,其特点在于:

图1 MPEG音频层Ⅲ编码流程图(单声道模型)

(1)利用独立于信号频率及声压级的耳蜗扩散函数(Cochlea spreading function)—Modified Rounded 类扩散函数,计算人耳听觉的掩蔽门限。

(2)增加了MDCT模块,以提高频率分辨率。

(3)通过控制环,对非均匀量化率进行迭代分配,以保持相对恒定的信噪比。并且,采用不定长熵编码—Huffman编码,对量化后的各子带信号可以获得更好的数据压缩比。

将层III编码算法流程分成:(1)时频映射,(2)心理声学模型,(3)量化编码等三大功能块。时频映射中,是多相混合滤波器组(Polyphase/MDCT Hybrid Filter Bank)的计算,这是较规范的计算,其运算量是可计算的。而且有各种快速算法,以降低运算复杂度。心理声学模型的计算,主要运算量集中在1 024点和256点的FFT。不过,这是比较标准的计算过程,无论用哪种FFT都可以精确估计其运算复杂度。而量化编码是通过迭代循环来完成,其循环控制变量是不确定的,再加上Huffman码表的查找

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top