欢迎来到天天文库
浏览记录
ID:6032217
大小:98.00 KB
页数:12页
时间:2017-12-31
《mpeg1 layer 3 原理介绍》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MPEG1Layer3原理介绍原作者:龙帅(loppp138@hotmail.com)此文章为便携式多媒体技术中心提供,未经站长授权,严禁转载,但欢迎链接到此地址。1、Mp3的文件结构Mp3的文件结构如下图所示:mp3文件结构Mp3码流是图中绿色的部分并不包括ID3信息,但现在的Mp3文件格式通常都包含ID3信息,用以记录Mp3的各种信息。于是在对Mp3文件解码时,还需要对ID3信息进行解复用。Mp3的编码器的数据流和控制流如下图所示:mp3编码数据流和控制流2、混合多相滤波器(HybridPolyphaseFilterBank)混合多相滤波器(也称为合成多相滤波器,上图简化称为滤波器组)的作
2、用是将输入的时域PCM码流转化为分为若干子带的频域值。mp3编码的输入和输出信号是什么?mpeglayer3编码的输入信号是PCM码流,输出是Mp3码流为什么要将PCM时域值转化为频域值?这是因为这样可以去除时域值的相关性。为什么时域值会有相关性?这里的相关性是指邻近的时域采样点具有相似的振幅。因为自然世界中同一个音源的声音绝大多数都是连续变化的,这样就使得最终合成的声音的采样值在很大程度上都是具有相关性的。即使在较大的时间尺度上不是,将它划分成非常小的时间区间后,前一个时间区间和后一个时间区间都是具有相似的振幅的(即导数存在,不为无穷大)。为什么要去除时域值的相关性?这是因为这样更利于提高一
3、组采样值的编码效率。想像一下一个正弦波信号y(t)=Asin(wt+phi)的n个采样点,如果对它每个时域值进行编码,则需记录下n个采样点的振幅值,但如果用频频进行编码,则只用记录下w、A和phi即可,这就像是找到了一组数据的规律一样,用最小的代价记录下了这n个振幅值。如果这并不是一个标准的正弦波,则可以想像,对n个采样点的记录可以分为两个部分:(1)记录下规律的部分(2)记录下剩下的不规律的部分。无论如何只要有(1)的步骤存在,其编码效率必然大于时域编码。混合多相滤波器组是由多相滤波器组(Polyphasefilterbank)和MDCT滤波器组合而成的。其中多相滤波器组是所有MPEG1音频
4、都会用到的滤波器组。多相滤波器组工作原理图多相滤波器组多相滤波器组通过一组带通滤波器(FIR滤波器)将输入的1152个采样值在频域上划分成32个相等的子带,每个子带有36个采样值。注意这并非是无损转化,即使不通过量化,这种转化也将带来音质的损失,只是在特殊的设计下音质的损失非常小,几乎难以察觉。MDCT(ModifiedDiscreteCosineTransform改进的离散余弦变换)滤波器改进的离散余弦变换滤波器工作原理图MDCT滤波器对多相滤波器组造成的滤波缺陷作出补偿,和多相滤波器一同构成混合滤波器,混合滤波器可以针对信号特性进行较好的匹配(比如依赖于信号特性的长短块转换)。MDCT滤波
5、器将32个子带中每一个子带的的信号在频域上进一步划分,长块进行18点(18个频域采样点)的MDCT变换,短块进行6点(6个频域采样点)的MDCT变换。长块长块是指对18个采样点进行一次MDCT变换的一组采样值,相对于只对6个采样值进行变换的短块来说,采样点组成的“块”似乎更“长”故命名为长块。在相同的频域范围内,由于长块的采样值更多,所以会有更高的“频域分辨率”(这里可以想像同一屏幕下640*480的分辨率大于320*240的分辨率)。而相对的,由于是对18个点进行运动平均(runningaverage)(请参阅FIR滤波器特性)的原因,在时间上变化的处理就不如短块(只有6个点)来得及时,准确
6、,所以会有更低的“时域分辨率”。(想象一头大象不可能像一只老鼠那样在变速跑动)每一个子带的18个频域采样值组成的长块被MDCT滤波器转化成为18个频域系数,总共得到32*18=576个频域系数(也要频率线)。每个系数代表了在48kHz采样率下的41.67Hz的带宽。相邻的转换窗(采样器指定的采样点个数,参看信号处理中窗的概念)会有50%的重叠,所以窗的长度为36个采样点。短块短块有更高的时域分辨率,即对短时间变化较大的声音能有更精确的拟合能力。每个子带被转化为6个频域参数,总共得到32*6=192个频域系数(也叫频率线),每个系数代表了48kHz采样率下的125Hz的带宽。同上,相邻的转换窗(
7、参看信号处理中窗的概念)会有50%的重叠,所以窗的长度为12个采样点。到底是用长块还是用短块?长短块的转换依赖于心理声学模型。长短块和混合块都是必需的吗?不,完全可能在一帧数据(1152个采样点)中完全是长块或完全是短块或是完全是混合块。MDCT是否也会造成声音信号的丢失?MDCT滤波器的变换是无损(声音内容不会丢失)的。为什么要进行混迭还原(AliasReduction)?一旦经过MDCT变换,
此文档下载收益归作者所有