zoukankan      html  css  js  c++  java
  • 音频编码技术介绍

    http://hi.baidu.com/ihsauqaxblbdmwq/item/ffcdf4567fe22d16db163573


    自然界中的声音非常复杂,波形极其复杂,通常我们采用的是脉冲代码调制编码,即PCM编码。PCM通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字编码。
    1-1 什么是采样率和采样大小(位/bit)
         声音其实是一种能量波,因此也有频率和振幅的特征,频率对应于时间轴线,振幅对应于电平轴线。波是无限光滑的,弦线可以看成由无数点组成,由于存储空间是相对有限的,数字编码过程中,必须对弦线的点进行采样。采样的过程就是抽取某点的频率值,很显然,在一秒中内抽取的点越多,获取得频率信息更丰富,为了复原波形,一次振动中,必须有2个点的采样,人耳能够感觉到的最高频率为20kHz,因此要满足人耳的听觉要求,则需要至少每秒进行40k次采样,用40kHz表达,这个40kHz就是采样率。我们常见的CD,采样率为44.1kHz。光有频率信息是不够的,我们还必须获得该频率的能量值并量化,用于表示信号强度。量化电平数为2的整数次幂,我们常见的CD位16bit的采样大小,即2的16次方。采样大小相对采样率更难理解,因为要显得抽象点,举个简单例子:假设对一个波进行8次采样,采样点分别对应的能量值分别为A1-A8,但我们只使用2bit的采样大小,结果我们只能保留A1-A8中4个点的值而舍弃另外4个。如果我们进行3bit的采样大小,则刚好记录下8个点的所有信息。采样率和采样大小的值越大,记录的波形更接近原始信号。
    1-2 有损和无损
         根据采样率和采样大小可以得知,相对自然界的信号,音频编码最多只能做到无限接近,至少目前的技术只能这样了,相对自然界的信号,任何数字音频编码方案都是有损的,因为无法完全还原。在计算机应用中,能够达到最高保真水平的就是PCM编码,被广泛用于素材保存及音乐欣赏,CD、DVD以及我们常见的WAV文件中均有应用。因此,PCM约定俗成了无损编码,因为PCM代表了数字音频中最佳的保真水准,并不意味着PCM就能够确保信号绝对保真,PCM也只能做到最大程度的无限接近。我们而习惯性的把MP3列入有损音频编码范畴,是相对PCM编码的。强调编码的相对性的有损和无损,是为了告诉大家,要做到真正的无损是困难的,就像用数字去表达圆周率,不管精度多高,也只是无限接近,而不是真正等于圆周率的值。
    1-3 为什么要使用音频压缩技术
        要算一个PCM音频流的码率是一件很轻松的事情,采样率值×采样大小值×声道数 bps。一个采样率为44.1KHz,采样大小为16bit,双声道的PCM编码的WAV文件,它的数据速率则为 44.1K×16×2 =1411.2 Kbps。我们常说128K的MP3,对应的WAV的参数,就是这个1411.2 Kbps,这个参数也被称为数据带宽,它和ADSL中的带宽是一个概念。将码率除以8,就可以得到这个WAV的数据速率,即176.4KB/s。这表示存储一秒钟采样率为44.1KHz,采样大小为16bit,双声道的PCM编码的音频信号,需要176.4KB的空间,1分钟则约为10.34M,这对大部分用户是不可接受的,尤其是喜欢在电脑上听音乐的朋友,要降低磁盘占用,只有2种方法,降低采样指标或者压缩。降低指标是不可取的,因此专家们研发了各种压缩方案。由于用途和针对的目标市场不一样,各种音频压缩编码所达到的音质和压缩比都不一样,在后面的文章中我们都会一一提到。有一点是可以肯定的,他们都压缩过。
    1-4 频率与采样率的关系
          采样率表示了每秒对原始信号采样的次数,我们常见到的音频文件采样率多为44.1KHz,这意味着什么呢?假设我们有2段正弦波信号,分别为20Hz和20KHz,长度均为一秒钟,以对应我们能听到的最低频和最高频,分别对这两段信号进行40KHz的采样,我们可以得到一个什么样的结果呢?结果是:20Hz的信号每次振动被采样了40K/20=2000次,而20K的信号每次振动只有2次采样。显然,在相同的采样率下,记录低频的信息远比高频的详细。这也是为什么有些音响发烧友指责CD有数码声不够真实的原因,CD的44.1KHz采样也无法保证高频信号被较好记录。要较好的记录高频信号,看来需要更高的采样率,于是有些朋友在捕捉CD音轨的时候使用48KHz的采样率,这是不可取的!这其实对音质没有任何好处,对抓轨软件来说,保持和CD提供的44.1KHz一样的采样率才是最佳音质的保证之一,而不是去提高它。较高的采样率只有相对模拟信号的时候才有用,如果被采样的信号是数字的,请不要去尝试提高采样率。
    1-5 流特征
         随着网络的发展,人们对在线收听音乐提出了要求,因此也要求音频文件能够一边读一边播放,而不需要把这个文件全部读出后然后回放,这样就可以做到不用下载就可以实现收听了。也可以做到一边编码一边播放,正是这种特征,可以实现在线的直播,架设自己的数字广播电台成为了现实
    2-1 PCM编码
        PCM 脉冲编码调制是Pulse Code Modulation的缩写。前面的文字我们提到了PCM大致的工作流程,我们不需要关心PCM最终编码采用的是什么计算方式,我们只需要知道PCM编码的音频流的优点和缺点就可以了。PCM编码的最大的优点就是音质好,最大的缺点就是体积大。我们常见的Audio CD就采用了PCM编码,一张光盘的容量只能容纳72分钟的音乐信息。
    2-2 WAVE
        这是一种古老的音频文件格式,由微软开发。WAV是一种文件格式,符合 PIFF Resource Interchange File Format规范。所有的WAV都有一个文件头,这个文件头音频流的编码参数。WAV对音频流的编码没有硬性规定,除了PCM之外,还有几乎所有支持ACM规范的编码都可以为WAV的音频流进行编码。很多朋友没有这个概念,我们拿AVI做个示范,因为AVI和WAV在文件结构上是非常相似的,不过AVI多了一个视频流而已。我们接触到的AVI有很多种,因此我们经常需要安装一些Decode才能观看一些AVI,我们接触到比较多的DivX就是一种视频编码,AVI可以采用DivX编码来压缩视频流,当然也可以使用其他的编码压缩。同样,WAV也可以使用多种音频编码来压缩其音频流,不过我们常见的都是音频流被PCM编码处理的WAV,但这不表示WAV只能使用PCM编码,MP3编码同样也可以运用在WAV中,和AVI一样,只要安装好了相应的Decode,就可以欣赏这些WAV了。
    在Windows平台下,基于PCM编码的WAV是被支持得最好的音频格式,所有音频软件都能完美支持,由于本身可以达到较高的音质的要求,因此,WAV也是音乐编辑创作的首选格式,适合保存音乐素材。因此,基于PCM编码的WAV被作为了一种中介的格式,常常使用在其他编码的相互转换之中,例如MP3转换成WMA。
    2-3 MP3编码
         MP3作为目前最为普及的音频压缩格式,为大家所大量接受,各种与MP3相关的软件产品层出不穷,而且更多的硬件产品也开始支持MP3,我们能够买到的VCD/DVD播放机都很多都能够支持MP3,还有更多的便携的MP3播放器等等,虽然几大音乐商极其反感这种开放的格式,但也无法阻止这种音频压缩的格式的生存与流传。MP3发展已经有10个年头了,他是MPEG(MPEG:Moving Picture EXPerts Group) Audio Layer-3的简称,是MPEG1的衍生编码方案,1993年由德国Fraunhofer IIS研究院和汤姆生公司合作发展成功。MP3可以做到12:1的惊人压缩比并保持基本可听的音质,在当年硬盘天价的日子里,MP3迅速被用户接受,随着网络的普及,MP3被数以亿计的用户接受。MP3编码技术的发布之初其实是非常不完善的,由于缺乏对声音和人耳听觉的研究,早期的mp3编码器几乎全是以粗暴方式来编码,音质破坏严重。随着新技术的不断导入,mp3编码技术一次一次的被改良,其中有2次重大技术上的改进。
    VBR:MP3格式的文件有一个有意思的特征,就是可以边读边放,这也符合流媒体的最基本特征。也就是说播放器可以不用预读文件的全部内容就可以播放,读到哪里播放到哪里,即使是文件有部分损坏。虽然mp3可以有文件头,但对于mp3格式的文件却不是很重要,正因为这种特性,决定了MP3文件的每一段每一帧都可以单独的平均数据速率,而无需特别的解码方案。于是出现了一种叫VBR(Variable bitrate,动态数据速率)的技术,可以让MP3文件的每一段甚至每一帧都可以有单独的bitrate,这样做的好处就是在保证音质的前提下最大程度的限制了文件的大小。这种技术的优越性是显而易见的,但要运用确实是一件难事,因为这要求编码器知道如何为每一段分配bitrate,这对没有波形分析的编码器而言,这种技术如同虚设。正是如此,VBR技术并没有一出现就显得光彩夺目。
    专家们通过长期的声学研究,发现人耳存在遮蔽效应。声音信号实际是一种能量波,在空气或其他媒介中传播,人耳对声音能量的多少即响度或声压最直接的反应就是听到这个声音的大小,我们称它为响度,表示响度这种能量的单位为分贝(dB)。即使是同样响度的声音,人们也会因为它们频率不同而感觉到声音大小不同。人耳最容易听到的就是4000Hz的频率,不管频率是否增高或降低,即使是响度在相同的情况下,大家都会觉得声音在变小。但响度降到一定程度时,人耳就听不到了,每一个频率都有着不同的值。
          可以看到这条曲线基本成一个V字型,当频率超过15000Hz时,人耳的会感觉到声音很小,很多听觉不是很好的人,根本就听不到20000Hz的频率,不管响度有多大。当人耳同时听到两个不同频率、不同响度的声音时,响度较小的那个也会被忽略,例如:在白天我们很难听到电脑中散热风扇的声音,晚上却成了噪声源,根据这种原理,编码器可以过滤掉很多听不到的声音,以简化信息复杂度,增加压缩比,而不明显的降低音质。这种遮蔽被称为同时遮蔽效应。但声音A被声音B遮蔽,如果A处于B为中心的遮蔽范围内,遮蔽会更明显,这个范围叫临界带宽。每一种频率的临界带宽都不一样,频率越高的临界带宽越宽。
         频率(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
      根据这种效应,专家们设计出人耳听觉心理模型,这个模型被导入到mp3编码中后,导致了一场翻天覆地的音质革命,mp3编码技术一直背负着音质差的恶名,但这个恶名现在已经逐渐被洗脱。到了此时,一直被埋没的VBR技术光彩四射,配合心理模型的运用便现实出强大的诱惑力与杀伤力。
    长期来,很多人对MP3印象不好,更多人认为WMA的最佳音质要好过MP3,这种说法是不正确的,在中高码率下,编码得当的MP3要比WMA优秀很多,可以非常接近CD音质,在不太好的硬件设备支持下,没有多少人可以区分两者的差异,这不是神话故事,尽管你以前盲听就可以很轻松区分MP3和CD,但现在你难保证你可以分辨正确。因为MP3是优秀的编码,以前被埋没了。
    2-4 OGG编码
    网络上出现了一种叫Ogg Vorbis的音频编码,号称MP3杀手!Ogg Vorbis究竟什么来头呢?OGG是一个庞大的多媒体开发计划的项目名称,将涉及视频音频等方面的编码开发。整个OGG项目计划的目的就是向任何人提供完全免费多媒体编码方案!OGG的信念就是:OPEN!FREE!Vorbis这个词汇是特里·普拉特柴特的幻想小说《Small Gods》中的一个"花花公子"人物名。这个词汇成为了OGG项目中音频编码的正式命名。目前Vorbis已经开发成功,并且开发出了编码器。
    Ogg Vorbis是高质量的音频编码方案,官方数据显示:Ogg Vorbis可以在相对较低的数据速率下实现比MP3更好的音质!Ogg Vorbis这种编码也远比90年代开发成功的MP3先进,她可以支持多声道,这意味着什么?这意味着Ogg Vorbis在SACD、DTSCD、DVD AUDIO抓轨软件(目前这种软件还没有)的支持下,可以对所有的声道进行编码,而不是MP3只能编码2个声道。多声道音乐的兴起,给音乐欣赏带来了革命性的变化,尤其在欣赏交响时,会带来更多临场感。这场革命性的变化是MP3无法适应的。
    和MP3一样,Ogg Vorbis是一种灵活开放的音频编码,能够在编码方案已经固定下来后还能对音质进行明显的调节和新算法的改良。因此,它的声音质量将会越来越好,和MP3相似,Ogg Vorbis更像一个音频编码框架,可以不断导入新技术逐步完善。和MP3一样,OGG也支持VBR。
    2-5 MPC 编码
    MPC是又是另外一个令人刮目相看的实力派选手,它的普及过程非常低调,也没有什么复杂的背景故事,她的出现目的就只有一个,更小的体积更好的音质!MPC以前被称作MP+,很显然,可以看出她针对的竞争对手是谁。但是,只要用过这种编码的人都会有个深刻的印象,就是她出众的音质。
    2-6 mp3PRO 编码
    2001年6月14日,美国汤姆森多媒体公司(Thomson Multimedia SA)与佛朗赫弗协会(Fraunhofer Institute)于6月14日发布了一种新的音乐格式版本,名称为mp3PRO,这是一种基于mp3编码技术的改良方案,从官方公布的特征看来确实相当吸引人。从各方面的资料显示,mp3PRO并不是一种全新的格式,完全是基于传统mp3编码技术的一种改良,本身最大的技术亮点就在于SBR(Spectral Band Replication 频段复制),这是一种新的音频编码增强算法。它提供了改善低位率情况下音频和语音编码的性能的可能。这种方法可在指定的位率下增加音频的带宽或改善编码效率。SBR最大的优势就是在低数据速率下实现非常高效的编码,与传统的编码技术不同的是,SBR更像是一种后处理技术,因此解码器的算法的优劣直接影响到音质的好坏。高频实际上是由解码器(播放器)产生的,SBR编码的数据更像是一种产生高频的命令集,或者称为指导性的信号源,这有点駇idi的工作方式。我们可以看到,mp3PRO其实是一种mp3信号流和SBR信号流的混合数据流编码。有关资料显示,SBR技术可以改善低数据流量下的高频音质,改善程度约为30%,我们不管这个30%是如何得来的,但可以事先预知这种改善可以让64kbps的mp3达到128kbps的mp3的音质水平(注:在相同的编码条件下,数据速率的提升和音质的提升不是成正比的,至少人耳听觉上是这样的),这和官方声称的64kbps的mp3PRO可以媲美128kbps的mp3的宣传基本是吻合的。
    2-7 WMA
    WMA就是Windows Media Audio编码后的文件格式,由微软开发,WMA针对的不是单机市场,是网络!竞争对手就是网络媒体市场中著名的Real Networks。微软声称,在只有64kbps的码率情况下,WMA可以达到接近CD的音质。和以往的编码不同,WMA支持防复制功能,她支持通过Windows Media Rights Manager 加入保护,可以限制播放时间和播放次数甚至于播放的机器等等。WMA支持流技术,即一边读一边播放,因此WMA可以很轻松的实现在线广播,由于是微软的杰作,因此,微软在Windows中加入了对WMA的支持,WMA有着优秀的技术特征,在微软的大力推广下,这种格式被越来越多的人所接受。
    2-8 RA
    RA就是RealAudio格式,这是各位网虫接触得非常多的一种格式,大部分音乐网站的在线试听都是采用了RealAudio,这种格式完全针对的就是网络上的媒体市场,支持非常丰富的功能。最大的闪烁点就是这种格式可以根据听众的带宽来控制自己的码率,在保证流畅的前提下尽可能提高音质。RA可以支持多种音频编码,包括ATRAC3。和WMA一样,RA不但都支持边读边放,也同样支持使用特殊协议来隐匿文件的真实网络地址,从而实现只在线播放而不提供下载的欣赏方式。这对唱片公司和唱片销售公司很重要,在各方的大力推广下,RA和WMA是目前互联网上,用于在线试听最多的音频媒体格式。
    2-9 APE
    APE是Monkey's Audio提供的一种无损压缩格式。Monkey's Audio提供了Winamp的插件支持,因此这就意味着压缩后的文件不再是单纯的压缩格式,而是和MP3一样可以播放的音频文件格式。这种格式的压缩比远低于其他格式,但能够做到真正无损,因此获得了不少发烧用户的青睐。在现有不少无损压缩方案种,APE是一种有着突出性能的格式,令人满意的压缩比以及飞快的压缩速度,成为了不少朋友私下交流发烧音乐的唯一选择。
    主流音频格式的特点及其适应性
    各种各样的音频编码都有其技术特征及不同场合的适用性,我们大致讲解一下如何去灵活应用这些音频编码。
    4-1 PCM编码的WAV
    前面就提到过,PCM编码的WAV文件是音质最好的格式,Windows平台下,所有音频软件都能够提供对她的支持。Windows提供的WinAPI中有不少函数可以直接播放wav,因此,在开发多媒体软件时,往往大量采用wav,用作事件声效和背景音乐。PCM编码的wav可以达到相同采样率和采样大小条件下的最好音质,因此,也被大量用于音频编辑、非线性编辑等领域。
    特点:音质非常好,被大量软件所支持。
    适用于:多媒体开发、保存音乐和音效素材。
    4-2 MP3
    MP3具有不错的压缩比,使用LAME编码的中高码率的mp3,听感上已经非常接近源WAV文件。使用合适的参数,LAME编码的MP3很适合于音乐欣赏。由于MP3推出年代已久,加之还算不错的音质及压缩比,不少游戏也使用mp3做事件音效和背景音乐。几乎所有著名的音频编辑软件也提供了对MP3的支持,可以将mp3象wav一样使用,但由于mp3编码是有损的,因此多次编辑后,音质会急剧下降,mp3并不适合保存素材,但作为作品的demo确实相当优秀的。mp3长远的历史和不错的音质,使之成为应用最广的有损编码之一,网络上可以找到大量的mp3资源,mp3player日渐成为一种时尚。不少VCDPlayer、DVDPlayer甚至手机都可以播放mp3,mp3是被支持的最好的编码之一。MP3也并非完美,在较低码率下表现不好。MP3也具有流媒体的基本特征,可以做到在线播放。
    特点:音质好,压缩比比较高,被大量软件和硬件支持,应用广泛。
    适用于:适合用于比较高要求的音乐欣赏。
    4-3 OGG
    Ogg是一种非常有潜力的编码,在各种码率下都有比较惊人的表现,尤其中低码率下。Ogg除了音质好之外,她还是一个完全免费的编码,这对ogg被更多支持打好了基础。Ogg有着非常出色的算法,可以用更小的码率达到更好的音质,128kbps的Ogg比192kbps甚至更高码率的mp3还要出色。Ogg的高音具有一定的金属味道,因此在编码一些高频要求很高的乐器独奏时,Ogg的这个缺陷会暴露出来。OGG具有流媒体的基本特征,但现在还没有媒体服务软件支持,因此基于ogg的数字广播还无法实现。Ogg目前的被支持的情况还不够好,无论是软件的还是硬件的,都无法和mp3相提并论。
    特点:可以用比mp3更小的码率实现比mp3更好的音质,高中低码率下均具有良好的表现。
    适用于:用更小的存储空间获得更好的音质(相对MP3)
    4-4 MPC
    和OGG一样,MPC的竞争对手也是mp3,在中高码率下,MPC可以做到比竞争对手更好音质,在中等码率下,MPC的表现不逊色于Ogg,在高码率下,MPC的表现更是独孤求败,MPC的音质优势主要表现在高频部分,MPC的高频要比MP3细腻不少,也没有Ogg那种金属味道,是目前最适合用于音乐欣赏的有损编码。由于都是新生的编码,和Ogg际遇相似,也缺乏广泛的软件和硬件支持。MPC有不错的编码效率,编码时间要比OGG和LAME短不少。
    特点:中高码率下,具有有损编码中最佳的音质表现,高码率下,高频表现极佳
    适用于:在节省大量空间的前提下获得最佳音质的音乐欣赏。
    4-6 WMA
    微软开发的WMA同样也是不少朋友所喜爱的,在低码率下,有着好过mp3很多的音质表现,WMA的出现,立刻淘汰了曾经风靡一时的VQF编码。有微软背景的WMA获得了很好的软件及硬件支持,Windows Media Player就能够播放WMA,也能够收听基于WMA编码技术的数字电台。因为播放器几乎存在于每一台PC上,越来越多的音乐网站都乐意使用WMA作为在线试听的首选了。除了支持环境好之外,WMA在64-128kbps码率下也具有相当出色的表现,虽然不少要求较高的朋友并不够满意,但更多要求不高的朋友接受了这种编码,WMA很快的普及开了。
    特点:低码率下的音质表现难有对手
    适用于:数字电台架设、在线试听、低要求下的音乐欣赏
    4-7 mp3PRO
    作为mp3的改良版本的mp3PRO表现出了相当不错的素质,高音丰满,虽然mp3PRO是通过SBR技术在播放过程中插入的,但实际听感相当不错,虽然显得有点单薄,但在64kbps的世界里已经没有对手了,甚至超过了128kbps的mp3,但很遗憾的是,mp3PRO的低频表现也象mp3一样的破,所幸的是,SBR的高频插值可以或多或少的掩盖掉这个缺陷,因此mp3PRO的低频弱势反而不如WMA那么明显。大家可以在使用RCA mp3PRO Audio Player的PRO开关来切换PRO模式和普通模式时深深的感觉到。整体而言,64kbps的mp3PRO达到了128kbps的mp3的音质水平,在高频部分还略有胜出。
    特点:低码率下的音质之王
    适用于:低要求下的音乐欣赏
    4-8 APE
    一种新兴的无损音频编码,可以提供50-70%的压缩比,虽然比起有损编码来太不值得一提了,但对于追求完美注意的朋友简直是天大的福音。APE可以做到真正的无损,而不是听起来无损,压缩比也要比类似的无损格式要好。
    特点:音质非常好。
    适用于:最高品质的音乐欣赏及收藏
    MPEG提供三种音频压缩编码的等级,分别为I,II和III级(Level I、Level II、Level III)。I级最简单,其目标是压缩后每声道位数据率为192Kb/s。II级比I级精度高一些,压缩后每声道位数据率为128Kb/s。III级增加了不定长编码、霍夫曼编码等一些先进的算法,可获得非常低的数据率和较高的保真度,压缩后每声道的位数据率为64Kb/s。如果要获得每声道64Kb/s的数据率,采用III级编码比采样II级编码的保真度好;要获得每声道128Kb/s的数据率,采用III级和II级编码的效果类似,但III级和II级都比I级的效果好。每声道128Kb/s的数据率或双声道256Kb/s的数据率可以提供优质的保真度,因此采用II级压缩编码对高保真、立体声音频足矣。

  • 相关阅读:
    Mysql大文本类型
    js-原生Js汉语拼音首字母匹配城市名
    js-原生Js汉语拼音首字母匹配城市名
    Java学习从基础,中级,高级框架,所有模块整理
    python数组和字符串互相转换
    Spring,SpringMVC,MyBatis,SSM配置文件比较
    Spring,SpringMVC,MyBatis,SSM配置文件比较
    Spring,SpringMVC,MyBatis,SSM配置文件比较
    GPUImage学习总结
    图像处理技术汇总
  • 原文地址:https://www.cnblogs.com/agiletiger/p/4888235.html
Copyright © 2011-2022 走看看