精通网络视频核心开发技术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1.2 常见数字音频、视频文件格式

1.常见音频文件格式

现实应用中常见的数字音频文件格式有如下几种。

(1)WAV

WAV是Microsoft Windows本身提供的音频格式,由于Windows本身的影响力,这个格式已经成为了事实上的通用音频格式。不客气地说,它实际上是Apple电脑AIFF格式的克隆。通常使用WAV格式都是用来保存一些没有压缩的音频,但实际上WAV格式的设计是非常灵活(非常复杂)的。该格式本身与任何媒体数据都不冲突,换句话说,只要有软件支持,甚至可以在WAV文件里面存放图像。之所以能这样,是因为WAV文件里面存放的每一块数据都有自己独立的标识,通过这些标识可以告诉用户究竟这是什么数据。在Windows平台上通过ACM(Audio Compression Manager)结构及相应的驱动程序(在这里通常称为CODEC,编码/解码器),可以在WAV文件中存放超过20种的压缩格式,比如ADPCM、GSM、CCITT G.711、G.723等,当然也包括MP3格式。

虽然WAV文件可以存放压缩音频甚至MP3,但由于它本身的结构注定了它的用途是存放音频数据并用做进一步的处理,而不是像MP3那样用于聆听。目前所有的音频播放软件和编辑软件都支持这一格式,并将该格式作为默认文件保存格式之一。这些软件包括Sound Forge、Cool Edit Pro、WaveLab等。由于WAV的支持实在是太广泛了,可以说,即使Windows退出历史舞台,WAV格式也不会消亡。

(2)MP3

第二个要提到的就是改变了世界的MP3了,这个比喻相信大家都会同意。MP3是Fraunhofer-IIS研究所(http://www.iis.fhg.de/)的研究成果,是第一个实用的有损音频压缩编码。在MP3出现之前,一般的音频编码即使以有损方式进行压缩,能达到4:1的压缩比例已经非常不错了。但是,MP3可以实现12:1的压缩比例,这使得MP3迅速地流行起来。MP3之所以能够达到如此高的压缩比例同时又能保持相当不错的音质,是因为利用了知觉音频编码技术,也就是利用了人耳的特性,削减音乐中人耳听不到的成分,同时尝试尽可能地维持原来的声音质量。

衡量MP3文件的压缩比例通常使用比特率来表示。这个术语的英文是bit per second(bps),表示每1秒钟的音频可以用多少个二进制比特来表示。通常比特率越高,压缩文件就越大,但音乐中获得保留的成分就越多,音质就越好。由于比特率与文件大小音质的关系,所以后来又出现了VBR(Variant Bitrate,可变比特率)方式编码的MP3,这种编码方式的特点是可以根据编码的内容动态地选择合适的比特率,因此编码的结果是在保证了音质的同时又照顾了文件的大小,结果大受欢迎。其实MP3的编码标准本来就支持这种压缩方式,但是第一个将此功能实现的反而是一个第三方工具:曾经非常有名的Xing Technology公司(http://www.xingtech.com,当年很多电脑上看VCD听MP3就靠这个公司的Xing Player)推出的Xing Encoder。

因为MP3是世界上第一个有损压缩的编码方案,所以几乎所有的播放软件都支持它,否则就根本没有生命力。在制作方面,也曾经产生了许多第三方的编码工具。不过随着后来Fraunhofer-IIS宣布对编码器征收版税之后很多都消失了。目前属于开放源代码并且免费的编码器是LAME(Lame Ain't MP3 Encoder,http://lame.sourceforge.net)。这个工具是公认的压缩音质最好的MP3压缩工具。另外,几乎所有的音频编辑工具都支持打开和保存MP3文件。最近,Fraunhofer-IIS对之前不收取版权费的MP3解码器也征收了版权费。应该说,到了现在,MP3确实显现出疲态了。许多新一代的编码技术都已经能在相同的比特率下提供比MP3优越得多的音质。特别是音乐发烧友对MP3的音质更是嗤之以鼻。不过由于MP3的影响力实在是太大了,支持MP3的软件多如牛毛,更别提众多支持MP3的硬件播放器,如MPMAN,DiscMan,CD/VCD/DVD机等。一句话,它依然是世界上最流行的音频压缩技术,所以要它真正退出舞台相信还需要一段时间。

(3)MP3PRO

为了使MP3能在未来仍然保持生命力,Fraunhofer-IIS研究所连同Coding Technologies公司(http://www.codingtechnologies.com)还有法国的Thomson multimedia公司(http://www.thomson.net)共同推出了MP3PRO。这种格式与之前的MP3相比最大的特点是,能在低达64Kbps的比特率下仍然能提供近似CD的音质(MP3是128K)。该技术称为SBR(Spectral Band Replication),它在原来MP3技术的基础上,专门针对原来MP3技术中损失了的音频细节,进行独立编码处理并捆绑在原来的MP3数据上,在播放的时候通过再合成而达到良好的音质效果。

MP3PRO格式与MP3是兼容的,所以它的文件类型也是MP3。MP3PRO播放器可以支持播放MP3PRO或者MP3编码的文件;普通的MP3播放器也可以支持播放MP3PRO编码的文件,但只能播放出MP3的音质。虽然MP3PRO是一种优秀的技术,由于技术专利费用的问题及其他技术提供商比如Microsoft的竞争,MP3PRO并没有得到广泛的流行。大家可以从Coding Technologies的网站上下载Demo播放/压缩工具和Winamp的播放插件。目前也有许多专业音频编辑软件比如Cool Edit Pro 2.0支持MP3PRO格式,但播放器除了刚才说的和Music Match Juke Box,基本没有了。最关键的是由于Microsoft的媒体播放机不支持,使得MP3PRO失去了流行的机会。Coding Technologies又推出了最新的MPEG-4 aacPlus V2,通过将SBR技术应用在AAC(Advanced Audio Codec)技术中而获得更卓越的音质。Coding Technologies并表示SBR将会成为MPEG-4的核心技术,但缺乏支持的技术到底能走多远,谁也说不清楚。

(4)Windows Media

在意识到网络流媒体之于互联网的重要性之后,Microsoft公司立刻推出了Windows Media与Real Media相抗衡,同时开始对其他音频压缩技术说不:一律不提供直接支持。到了Windows XP版本还把原来提供的MP3压缩功能都拿掉了。

Windows Media(http://www.microsoft.com/windows/windowsmedia)也是一种网络流媒体技术,本质上与Real Media是相同的。但Real Media是有限开放的技术,比如RTSP(Real Time Stream Protocol,实时流协议)这样的网络传输协议,是提交到网络工作组RFC网络协议集的其中一个(编号RFC2326)。而Windows Media则没有公开任何技术细节,据称是为了更好地进行版权保护,因此要完全封闭,还创造出一种名为MMS(Multi-Media Stream,多媒体流)的传输协议。所有这些事情综合起来可以看出Microsoft意图一统江湖的目的。

(5)MIDI

MIDI技术本来不是为了计算机发明的。该技术最初应用在电子乐器上,用来记录乐手的弹奏,以便以后重播。随着在计算机中引入了支持MIDI合成的声音卡之后,MIDI才正式地成为了一种音频格式。有很多人都误以为MIDI是用来记谱的,这是错误的。MIDI的内容除了乐谱之外还记录了每个音符的弹奏方法,所以有些MIDI文件播放起来不好听,而某些则有良好的效果。MIDI本身也有两个版本,即General MIDI和General MIDI 2。在MIDI上还衍生了许多第三方的非标准技术,比如非常著名的X-MIDI(或者叫XG),这是由日本YAMAHA公司(http://www.yamaha.com)发明的,在原有MIDI具有128种乐器的基础上扩充到了512种,并增加了更多的演奏控制,配合YAMAHA自己的波表播放软件或支持X-MIDI的硬件,可以还原出非常动听和接近真实乐器效果的音乐。另外,为了弥补MIDI中通过声音合成得到的乐器声音始终比不上真实乐器声音这一缺点,由General MIDI Association(MIDI规范的国际组织,http://www.midi.org)推出的DLS(Downloadable Sound)技术通过给MIDI文件附带上真实乐器的录音(采样)而使MIDI文件能营造出更接近真实乐器效果的声音,但是该技术的主要问题是带上乐器采样之后的MIDI文件实在是太大了,通常情况下都有4兆字节以上(这样的大小用户当然是去找MP3了),影响了该技术的普及。

(6)CD Audio

音乐CD,扩展名为CDA(唱片采用的格式),又叫“红皮书”格式,记录的是波形流,绝对的纯正、HIFI。但缺点是无法编辑,文件长度太大。

(7)MP4

MP4采用的是美国电话电报公司(AT&T)所研发的,以“知觉编码”为关键技术的a2b音乐压缩技术,由美国网络技术公司(GMO)及RIAA联合公布的一种新的音乐格式。MP4在文件中采用了保护版权的编码技术,只有特定的用户才可以播放,有效地保证了音乐版权的合法性。另外MP4的压缩比达到了1:15,体积较MP3更小,但音质却没有下降。但是由于只有特定的用户才能播放这种文件,因此其流传与MP3相比差距甚远。

(8)QuickTime

QuickTime是苹果公司于1991年推出的一种数字流媒体,它面向视频编辑、Web网站创建和媒体技术平台。QuickTime支持几乎所有主流的个人计算平台,可以通过互联网提供实时的数字化信息流、工作流与文件回放功能。现有版本为QuickTime 1.0、2.0、3.0、4.0和5.0,在5.0版本中还融合了支持最高A/V播放质量的播放器等多项新技术。

(9)MD

索尼公司的MD(MiniDisc)大家都很熟悉了。MD之所以能在一张小小的盘中存储60~80分钟采用44.1kHz采样的立体声音乐,就是因为使用了ATRAC算法(自适应声学转换编码)压缩音源。这是一套基于心理声学原理的音响译码系统,它可以把CD唱片的音频压缩到原来数据量的大约1/5而声音质量没有明显的损失。ATRAC利用人耳听觉的心理声学特性(频谱掩蔽特性和时间掩蔽特性),以及人耳对信号幅度、频率、时间的有限分辨能力,编码时将人耳感觉不到的成分不编码,不传送,这样就可以相应减少某些数据量的存储,从而既保证音质又达到缩小体积的目的。

(10)AAC

AAC是高级音频编码的缩写,是由Fraunhofer IIS-A、杜比和AT&T共同开发的一种音频格式,它是MPEG-2规范的一部分。AAC所采用的运算法则与MP3的运算法则有所不同,AAC通过结合其他的功能来提高编码效率。AAC的音频算法在压缩能力上远远超过了以前的一些压缩算法(比如MP3等)。它还同时支持多达48个音轨、15个低频音轨、多种采样率和比特率、多种语言的兼容能力、更高的解码效率。总之,AAC可以在比MP3文件缩小30%的前提下提供更好的音质。

2.常见的视频文件格式

实际应用中常见的视频文件格式有如下几种。

(1)AVI

较早的AVI是Microsoft开发的。其含义是Audio Video Interactive,就是把视频和音频编码混合在一起存储。AVI也是最长寿的格式,已存在十余年了,虽然发布过改版(V2.0于1996年发布),但已显老态。AVI格式上限制比较多,只能有一个视频轨道和一个音频轨道(现在有非标准插件可加入最多两个音频轨道),还可以有一些附加轨道,如文字等。AVI格式不提供任何控制功能。

(2)WMV

WMV(Windows Media Video)是Microsoft公司开发的一组数位视频编解码格式的统称,ASF(Advanced Systems Format)是其封装格式。ASF封装的WMV档具有“数位版权保护”功能。

(3)MPEG

MPEG(Moving Picture Experts Group)是国际标准组织(ISO)认可的媒体封装形式,受到大部分机器的支持。其存储方式多样,可以适应不同的应用环境。MPEG-4档的档容器格式在Layer 1(mux)、14(mpg)、15(avc)等中规定。MPEG的控制功能非常丰富,可以有多个视频(即角度)、音轨、字幕(位图字幕)等。MPEG的一个简化版本3GP还广泛地用于准3G手机上。

(4)Matroska

Matroska是一种新的多媒体封装格式,这个封装格式可把多种不同编码的视频和16条或以上不同格式的音频,以及语言不同的字幕封装到一个Matroska Media档内。它也是其中一种开放源代码的多媒体封装格式。Matroska同时还可以提供非常好的交互功能,而且比MPEG更方便、更强大。

(5)Real Video或Real Media(RM)

Real Video或Real Media(RM)由RealNetworks开发的一种档容器,通常只能容纳Real Video和Real Audio编码的媒体。该档带有一定的交互功能,允许编写脚本以控制播放。RM(尤其是可变比特率的RMVB格式)体积很小,非常受网络下载者的欢迎。

(6)QuickTime Movie

QuickTime Movie是由苹果公司开发的容器,由于苹果电脑在专业图形领域的统治地位,QuickTime格式基本上成为了电影制作行业的通用格式。1998年2月11日,国际标准组织(ISO)认可QuickTime档案格式作为MPEG-4标准的基础。QT可存储的内容相当丰富,除了视频、音频以外还可支援图片、文字(文本字幕)等。

(7)3GP

是一种3G流媒体的视频编码格式,主要是为了配合3G网络的高传输速度而开发的,也是目前手机中最为常见的一种视频格式。目前,市场上一些安装了Realplay播放器的智能手机可直接播放后缀为RM的文件,这样一来,在智能手机中欣赏一些RM格式的短片自然不是什么难事。然而,大部分手机并不支持RM格式的短片,若要在这些手机上实现短片播放则必须采用一种名为3GP的视频格式。目前有许多具备摄像功能的手机,拍出来的短片文件其实都是以3GP为后缀的。

(8)ASF

ASF是Advanced Streaming format的缩写,由字面(高级流格式)意思就可看出这个格式的用处。其实,ASF就是MICROSOFT为了和现在的Real Player竞争而发展出来的,一种可以直接在网上观看视频节目的文件压缩格式。由于它使用了MPEG4的压缩算法,所以压缩率和图像的质量都很不错。因为ASF是以一个可以在网上即时观赏的视频“流”格式存在的,所以它的图像质量比VCD差一点,并不奇怪,但比同是视频“流”格式的RAM格式要好。如果不考虑在网上传播,需选最好的质量来压缩文件的话,其生成的视频文件比VCD(MPEG1)好也不奇怪,但这样就失去了ASF本来的发展初衷,还不如直接用N AVI或者DIVX。但Microsoft的“子弟”就有它特有的优势,最明显的是各类软件对它的支持就无人能敌。

(9)FLV

FLV是FLASH VIDEO格式的简称,随着FlashMX的推出,Macromedia公司开发了属于自己的流媒体视频格式——FLV格式。FLV流媒体格式是一种新的视频格式,由于它形成的文件极小,加载速度也极快,使得网络观看视频文件成为可能。FLV视频格式的出现有效地解决了视频文件导入Flash后,使导出的SWF格式文件体积庞大、不能在网络上很好地使用等缺点,它是在Sorenson公司的压缩算法的基础上开发出来的。

(10)RMVB

RMVB是由RM视频格式升级而延伸出的新型视频格式。RMVB视频格式的先进之处在于打破了原先RM格式使用的平均压缩采样的方式,在保证平均压缩比的基础上更加合理地利用比特率资源。也就是说,对于静止和动作场面少的画面场景,采用较低的编码速率,从而留出更多的带宽空间,这些带宽会在出现快速运动的画面场景时被利用掉。这样就在保证了静止画面质量的前提下,大幅地提高了运动图像的画面质量,从而在图像质量和文件大小之间达到了平衡。