语音与音频编码.docx

上传人:b****5 文档编号:14641963 上传时间:2023-06-25 格式:DOCX 页数:10 大小:41.91KB
下载 相关 举报
语音与音频编码.docx_第1页
第1页 / 共10页
语音与音频编码.docx_第2页
第2页 / 共10页
语音与音频编码.docx_第3页
第3页 / 共10页
语音与音频编码.docx_第4页
第4页 / 共10页
语音与音频编码.docx_第5页
第5页 / 共10页
语音与音频编码.docx_第6页
第6页 / 共10页
语音与音频编码.docx_第7页
第7页 / 共10页
语音与音频编码.docx_第8页
第8页 / 共10页
语音与音频编码.docx_第9页
第9页 / 共10页
语音与音频编码.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

语音与音频编码.docx

《语音与音频编码.docx》由会员分享,可在线阅读,更多相关《语音与音频编码.docx(10页珍藏版)》请在冰点文库上搜索。

语音与音频编码.docx

语音与音频编码

《语音与音频编码》课程论文

 

题目:

MP3编码原理与实现

 

院(系)信息科学与工程学院

班级

学号

姓名

指导老师

目录

MP3编码原理与实现1

1、摘要3

2、MP3简介3

2.1MP3音频格式3

2.2MP3压缩编码原理4

3、人体听觉心理学模型5

3.1最小听觉门槛判定5

3.2人耳的遮蔽效应5

3.3人耳的空间响应5

4、VBR技术6

5、编码器工作原理6

5.1滤波器段6

5.2人体听觉心理模型7

5.3量化与编码8

6、总结与心得9

7、参考文献10

1、摘要:

在目前的信息社会,需要应用和传输大量的语音信息,这些信息中存在着大量的冗余,如果不去除掉这些冗余,在其传输和存储的过程中,将会占用大量的资源,因此,语音压缩技术受到了人们的普遍关注。

在此基础上,对MP3编码器的基本原理和基本结构进行了研究,并对其中几个关键模块包括心理声学模型,VBR技术等进行了分析,结果表明MP3要具有良好的编码质量,需要对其算法进行改进和优化。

关键词:

MP3编码器、音频、算法

2、MP3简介

MP3是今天一种常见的音乐格式,但恐怕除了工作要求之外,有兴趣对此进行研究的人恐怕不多。

所以,当我打算写MP3编码方面的论文时,在找资料时也颇费了一番周折,同时也觉得很有趣。

MP3是MPEG-1AudioLayer3的简称,是当今比较流行的一种数字音频编码和有损压缩格式(有Layer3,也必然有Layer1和Layer2,也就是MP1和MP2,但不在本文讨论范围之内)。

MP3技术的应该可以用来大幅度的降低音频文件存储所需要的空间。

它丢掉脉冲编码调制(PCM)音频数据中对人类听觉不重要得数据,从而达到了较高的压缩比(高达12:

1-10:

1)。

简单地说,MP3在编码时先对音频文件进行频谱分析,然后用过滤器滤掉噪音电平,接着通过量化的方式将剩下的每一位打散排列,最后形成有较高压缩比的MP3文件,并使压缩后的文件在回放时也能够达到比较接近原音源的效果。

MP3的音频质量取决于它的Bitrate和Samplingfrequency,以及编码器质量。

MP3的典型速度介于每秒128到320kb之间。

采样频率也有44.1,48和32kHz三种频率,比较常见的是采用CD采样频率——44.1kHz。

常用的编码器是LAME,它完全遵循LGPL的MP3编码器,有着良好的速度和音质。

 

2.1MP3音频格式

MP3(MPEGAudioLayerⅢ)音频格式诞生于20世纪80年代,是伴随着MPEG-1而开发的。

在MPEG-1标准中,音频压缩标准按复杂性和压缩质量分为三个独立层次:

(1)MPEGAudioLayerⅠ,它最为简单,码流为每通道384kb/s,主要用于数字卡座(DigitalCompactCassette,DCC)。

(2)MPEGAudioLayerⅡ,它具有中等复杂度,码流为每通道192kb/s,主要用于数字音频广播、数字演播室和VCD等方面数字音频的制作、交流、存储和传送。

(3)MPEGAudioLayerⅢ,它最为复杂,是综合了MPEGAudioLayerⅡ和ASPEC优点的一种混合压缩技术,其音频质量最好,主要用于MP3音频压缩,码流为每通道64kb/s。

MP3编码虽不适用于实时传送,但能在低编码速率下提供较高的音质,所以成为网上音乐的宠儿。

2.2MP3压缩编码原理

音频压缩由编码和解码两个部分组成。

把波形文件里的数字音频数据转换为高度压缩的形式(称为比特流)即为编码;要解码则把比特流重建为波形文件。

在MPEG-1的音频压缩中,采样频率可为32kHz、44.1kHz和48kHz,可支持单声道(Monophonic)、双单声道(DualMonophonic)、立体声模式(StereoMode)、联合立体声(JointStereo)等。

常见的MP3大多采用联合立体声模式。

音频压缩可以分为无损(lossless)压缩和有损压缩。

无损压缩就是尽量降低音频数据的冗余度,以减小其体积。

音频信号经过编码和解码之后,必须要和原来的信号一致。

无损压缩的压缩率是比较有限的;有损压缩就是用尽一切手段,包括无损压缩用到的方法,丢掉一切能丢掉的数据,以减小体积。

而音频压缩后解码听起来起码是要跟原来差不多的,有损压缩的压缩比能大幅提高,MP3就是属于有损压缩,压缩比是12:

1(128kbps)。

实验表明,人类能听到的声音频率范围(音频)是20Hz~20kHz,但人耳对整个音频频段声音的反应不是平直的,2~5kHz是人耳最灵敏的频段。

依其特性将整个音频频段分成多个临界频带,因为人类听觉系统是依据频率来分辨声音能量的,任何频率的细小声音都会因掩蔽效应而被临界频带内音量较高的声音所覆盖。

MP3对其不作量化处理,从而去掉那些人类听觉系统所无法察觉的声音,达到压缩的目的。

 

MP3文件是由帧(frame)构成的,帧是MP3文件最小的组成单位。

什么是帧?

还记得最初的动画是怎么做的吗?

不同的连续画面切换以达到动态效果,每幅画面就是一个“帧”,不同的是MP3里面的帧记录的是音频数据而不是图形数据。

MP3的帧速度大概是30帧/秒。

每个帧又由帧头和帧数据组成,帧头记录着该帧的基本信息,包括位率索引和采样率索引(这对理解ABR和VBR编码方式很重要)。

帧数据,顾名思义就是记录着主体音频数据。

  上面说的都是MP3编码的基础,但事实上,早期的编码器都非常不完善,压缩算法近于粗暴,音质很不理想。

MP3的音质达到现在的水平有两次飞跃:

人体听觉心理学模型(PerceptualModel)的导入和VBR技术的应用。

  

3、人体听觉心理学模型

下面将简要介绍一下几个重要原理:

 3.1最小听觉门槛判定(Theminimalauditionthreshold)

  人耳的听力范围是20Hz-20kHz的频率范围,但是人耳对不同的频率声音的灵敏度是不同的,不同频率的声音要达到能被人耳听到的水平所需要的强度是不一样。

那么通过计算,可以把音乐文件中存在但不能被人耳听到的声音去掉。

通过这原理,我们还可以建立模型,把大部分数据空间分配到人耳最灵敏的2kHz到5kHz范围,其余频率分配比较少的空间;

 3.2人耳的遮蔽效应(TheMaskingeffect)

  蔽效应表现在强信号会遮蔽邻近频率的弱信号。

用生活经验来说,在安静的房间中,一根针掉到地上都能听见,可到了大街上,就算手机音量调到最大,来电时也未必能听见,而手机的声音确确实实是存在的,原因就是被周围更大的声音遮蔽了。

有了对遮蔽效应的研究成果,编码器就能根据已建立的数学模型,计算强信号对附近弱信号的遮蔽,把能引起人们注意的声音才保留。

  人耳还有前遮蔽效应和后遮蔽效应:

因为人需要一定的时间来处理声音信号,在强信号之前或之后的弱信号,会被遮蔽掉。

前遮蔽效应的时间约只有2-5ms,而后遮蔽的时间比较长,大约有100ms。

利用这,我们能减小强信号之前和之后的分辨率;

 3.3人耳的空间响应:

人耳对某些高频的声音的空间感很差,辨别不了声源的方向。

联合立体声(JointStereo)应运而生:

在某些频率上采用“单声道”(事实上并非真正意义上的单声道),以减小流量。

 4、VBR技术

  正如上面所说,MP3是由帧构成的,MP3能象动画那样读到哪放到哪,播放器不必预读整个文件的内容,即使部分数据损坏也不会对播放效果有太大影响(实际上这就是流媒体所具有的特性)。

而每个帧的帧头里都包含这该帧的码率(bitrate,单位是kbps)等信息,所以,我们可以对每一段音乐甚至每一个帧定义独立的码率,这就是VBR(Variablebitrate,动态码率)技术。

  与VBR向对应的是CBR(Constantbitrate)。

一支交响曲,合奏大动态部分的数据量显然大于引子部分,如果用128kbps的CBR编码方式来编码,在引子部分可能有多余的数据流量,而在合奏部分却又不够,VBR就是解决这个问题的。

把在不影响音质的情况下,对流量需求小的部分分配较小的码率,把冗余字节缓存起来留给有需要的部分,在短时间内提供更高的码率,以保证音乐的质量。

所以说,VBR的作用是更合理的分配流量,在不增大文件体积的条件下提高声音的质量。

  不过VBR在应用初期带给过MP3随生听不少麻烦。

因为早期大多数MP3播放器都是针对CBR设计的,其根据文件大小来获得时长的算法对VBR失效了,因为VBRMP3的bitrate可能每时每刻都在变化。

不过现在这个问题基本上不用担心了,市场上的播放器基本上都解决这问题了。

  除了上面说的两方面,MP3编码还有很重要的一招:

Huffman编码(Huffman是个科学家的名字),Huffman编码广泛应用于无损压缩领域,比如我们常用的WINZIP,WINRAR等压缩软件就是以此为基础的(只能说是基础,因为这些用到的编码方法不只是Huffman编码)。

Huffman编码用途就是降低数据的冗余度,可节省大约20%的空间。

用WINZIP来再压缩MP3文件每什么效果就因为MP3编码的时候已经应用到采用Huffman编码。

  5、编码器工作原理

  5.1滤波器段(filterbank)

  数字音频信号以脉冲的形式送进编码器,首先会经过一滤波器段(filterbank),它由两个串联的滤波器段组成:

一个多相分析滤波器段和一个MDCT(ModifiedDiscreteCosineTransform,经改良的离散余弦转换),前者也应用到layer-1和layer-2中,后者是MP3独有的。

  输入的音频信号在20Hz-20kHz的频率范围内,通过第一个滤波器段后,把信号按频率分成32个小频带,称为子带(Subband)。

20000Hz/32=625Hz,那么每个子带的宽度就是625Hz。

人耳对不同频段的灵敏度是不同的,编码器可对不同的子带进行不同的量化分层。

  不过等宽的子带并没有准确反映人耳的听觉特性,这样进行等宽划分并没有考虑到不同信号的临界宽度,也就是该信号的影响范围,以及不同信号的相互影响,所以这样会产生大量的信号重叠。

MDCT转换就是为了解决这问题,它能对子带进行细分,清楚重叠部分,得到更高的频谱解析度。

 5.2人体听觉心理学模型(PerceptualModel)

  上面已经谈到过人体听觉心理学模型,心理学模型可以说是感受编码的重中之中,它决定着编码器的编码质量(后面谈到的LAME就拥有着大量优秀的人体精神听觉模型和数学模型)。

下面将深入分析两个重要原理:

最小听觉门槛判定和遮蔽效应。

  ◆最小听觉门槛判定

  声音其实是传播在介质中的能量波,人耳对声音能量强弱的直接感受就是听到音量的大小,也就是响度,单位是分贝(dB)。

下面是人耳可听最小响度曲线:

  0dB是听觉灵敏度的极限,而120dB是痛苦灵敏度的极限。

人耳在2000Hz到5000Hz范围内的灵敏度最高,两端就迅速下降。

所以人耳对中频的灵敏度远高于高低频。

  ◆遮蔽效应

  不同频率的声音有不同的遮蔽宽度,这叫临界宽度。

可以想象,弱信号越接近强信号的中心,遮蔽效应会越严重。

临界宽度跟声音频率成正比。

下面是临界宽度列表:

频率(Hz)

临界带宽(Hz)

频率(Hz)

临界带宽(Hz)

50

80

1850

280

150

100

2150

320

350

100

2500

380

450

110

3400

550

570

120

4000

700

700

140

4800

900

840

150

5800

1100

1000

160

7000

1300

1170

190

8500

1800

1370

210

10500

2500

1600

240

13500

3500

  感受编码机制可以分为两个部分:

知觉噪音成型(perceptualnoiseshaping)和知觉边带/变换编码(perceptualsubband/transformcoding)。

编码器通过分析滤波器段(filterbank)分析音频信号的频谱组成并应用听觉心理学模型来估计仅仅可以注意得到的噪音电平。

在后面的量化和编码阶段,编码器会提高强信号附近的噪音电平,也就是减少量化位数,这样就能达到节省流量,压缩数据的目的。

如果所有量化噪音都能控制在屏蔽临界曲线以下,那么处理后人耳就区别不出哪个才是原音。

  5.3量化和编码(QuantizationandCoding)

  当PCM讯号被分成好几个频段并经过一系列的处理后,最后经过MDCT,将波型转换为一连串的系数。

这些系数就由Huffman编码器会选择最合适的Huffman表来做最后的压缩。

Huffman编码一般是双路工作的,但是在某些需要精密编码的情况下,它会进行四路工作。

编码器一般会有很多的Huffman编码表,很多时候为了更好的声音质量和更有效屏蔽量化噪音,编码器甚至能为每一个频段选择最合适的Huffman编码表。

不过编码不是一次就能成功的,要采取TryandError的方式循环进行。

因为编码器一方面要削减量化噪音,让它在人耳遮蔽曲线以下;另一方面要保证bitrate满足要求。

实际上这里就是要确定两个数值:

一个是确定bitrate的步进值(gainvalue),另一个是削减量化噪音的增益因子(ScaleFactor),这两个系数会在正式编码之前确定下来,确定过程由两个嵌套的迭代回路完成:

失真控制回路(DistortionControlLoop)和量化速率控制回路(NonuniformQuantizationRateControlLoop)

 

  ◆内部迭代回路(RateLoop)

  量化以后的数据送进Huffman编码器,当发现比特数大于可用流量时,编码器会返回信息,让RateLoop调整步进值以增大量化步长,从而让数据流量减小。

循环会一直进行,尝试不同的量化步长,直到Huffman编码以后的数据流量足够小。

因为这个回路是用来控制码率的,所以叫做RateLoop。

  ◆外部迭代回路(noisecontrolloop)

  显然,这个回路的作用就是控制量化噪音(quantizationnoise),让其保持在听觉心理学提供的屏蔽临界线(maskingthreshold)以下。

每一个频段都会有一个增益因子,一开始编码器以1.0作为默认因子,如果量化噪音量超过允许的值,那么回路就会调整增益因子,来把量化噪音降下来。

更少的量化噪音意味着流量增大,码率需要提高,所以增益因子每次改变以后,RateLoop都要进行调整,让码率符合要求。

所以两个回路是嵌套工作的,互相协调,中止条件是量化噪音降到屏蔽临界线以下而码率也足够小。

良好的编码器会让两个回路有条不紊的工作,因为一旦处理不好就很容易陷入死循环。

6、总结与心得

从老师布置论文撰写的一开始,我就一直在构思选题,搜索了许多关于“语音与音频编码”的论文,并且也找了图书馆里相关的书籍,但由自身水平有限,想要深刻理解一些前辈们撰写的论文以及相关教材中一些技术实属难事,若还想就此写一写自己的理解更是难上加难。

最终,我选择自己比较感兴趣的MP3的编码原理与实现为课题,写了这篇论文。

我经历了两周多的努力,顺利的完成了此次的论文撰写。

在这个过程中,我学到了不少的知识,经历了很多,也体会到了很多,虽然结果很重要,可是并不能因此就忽略了中间的过程,因为这才是解决问题的关键。

最后,感谢戴老师一学期以来在《语音与音频编码》这门课上深入浅出的讲课,以及平时在班级群里与同学的互动交流与分享,一起探讨,朝着未知领域前进的感觉很好。

 

7、参考文献

[1]张雪英,贾海蓉.语音与音频编码[M].西安:

西安电子科技大学出版社.2011

[2]赵力.语音信号处理[M].北京:

机械工业出版社.2003.

[3]胡航.语音信号处理[M].哈尔滨:

哈尔滨工业大学出版社.2000.

[4]王颖.MP3编码原理概述.新浪博客.2008.9.9.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2