引言
- Web 应用和移动Web 并不是网络应用领域中唯一令人振奋的发展。对许多人来说,音频和视频才是网络的圣杯。虽然至少从20 世纪70 年代开始就有了通过Internet 发送音频和视频的想法,但大约自2000 开始实时音频( real-time audio )和实时视频( real-time video )流量才有了真正极度的增长。实时流量与Web 流量有很大的不同,它必须以预先设定的速率播放才有用。毕竟,观看一个忽停忽动的慢动作视频不是大多数人的乐趣。相反, Web 可以有短暂的中断,而且页面加载可以花费更多或更少的时间,在一定限度内这不是一个主要的问题。
- 由于有足够的带宽来承载音频和视频,那么设计音视频流和视频会议应用的关键问题就是网络的延迟。音频和视频需要实时演示,这意味着它们必须以预定速率播放出来才有用。长延迟意味着应该互动的呼叫不再能互动得起来。这个问题是很清楚的,如果你曾经用过卫星电话就应该有所体会,当延迟达到半秒钟时相当的令人分散注意力。在网络上播放音乐或电影,绝对的延迟并不要紧,因为它仅仅影响到媒体何时开始播放。但延迟的变化一一称为抖动,仍然非常重要。抖动必须被播放器掩盖,否则播放出来的音频令人难以理解,播放出来的视频则会看上去很生涩或呆滞。
- 在本节中,我们将讨论如何处理延迟问题的某些策略,以及用来设置音频和视频会话的协议。在介绍完数字音频和视频后,我们的介绍将分成三种情况,分别采用了不同的设计。第一,也是最简单的情况是如何处理存储的流媒体,就像观看YouTube 上的视频一样。接下来的一种情况难度适中,就是如何处理流媒体直播。流媒体直播有两个例子,分别是Internet 广播和IPTV,其中广播电台和电视台通过Internet 给许多用户进行直播。最后,也是最困难的情况是如何处理Skype,或者更普遍的交互式音频和视频会议呼叫。
- 顺便说一句,多媒体( multimedia )这个术语经常出现在Internet 的上下文中,它意味着视频和音频。从字面上看,多媒体是两个或两个以上的媒体。按照这个定义,这本书就是一个多媒体范例,因为它包含了文字和图形(数字)。然而,这可能不是你心目中的多媒体,因此我们使用“多媒体”一词意味着两个或两个以上的连续媒体( continuous media),也就是说,媒体必须以某种良好定义的时间间隔播放。两个媒体通常指有音频的视频,也就是说,有声音的移动图像。许多人把单纯的音频称为多媒体,比如Internet 电话或Internet广播,这显然不是很恰当。其实,所有这些情况下应该使用的一个更好术语是流媒体( streaming media)。尽管如此,我们跟随大流,把实时音频也当作多媒体来考虑。
1、数字音频
- 音频(声音)波是一种一维声(压力〉波。当声波进入耳朵时,鼓膜发生振动,从而引起内耳的微细感骨与之一起振动,并向大脑发送神经脉冲。听者感觉到的这些脉冲就是声音。类似的方式是当声波碰击麦克风时,麦克风产生一个电信号,该电信号将声音振幅表示为时间的函数。
- 令人惊讶的是人耳对于持续时间仅仅几毫秒的声音变化也异常的敏感。相反地,眼睛却察觉不到持续时间为几毫秒的光度变化。这种观察的结果是多媒体播放中仅仅几毫秒的抖动对于可感觉到的声音质量的影响,要远远大于对可感觉到的图像质量的影响。数字音频是声波的数字表示,这种表示能重现音频。通过模数转换器( ADC, Analog Digital Converter )可以将音频波转换成数字形式。ADC 以电压作为输入,生成一个二进制数作为输出。在图a中,我们看到一个正弦波的例子。为了用数字方式来表示该信号,我们可以每隔∆T 秒对它采样一次,如图(b)中的坚条状所示。如果一个声波不是纯正弦波,而是若干正弦波的线性叠加,并且其中最高的频率成分为f,根据尼奎斯特定理,以2f 的频率对该信号采样足够了。更高的采样频率没有意义,因为更高采样获得的更高频率这里无法检测出来。
- 相反的过程是获取数字值并且产生一个模拟电压。这个过程由数模转换器(DAC,Digital-to-Analog Converter )来完成。然后,扬声器将模拟电压转换成声波发送出去,因此人们就能听到声音了。数字采样永远不可能做到精确。图2(c)中的样值只允许9 个值,从-1.00~+ 1.00,步长为0.250 一个8 位的采样允许有256 个不同的值。二个16 位的采样可以有65 536 个不同的值。由于每个采样值的位数有限而引入的误差称为量化噪声(quantization noise )。如果量化噪声太大,人耳就能觉察得出来。
- 使用声音采样技术的两个众所周知例子是电话和音频压缩光盘( CD, compact disc )。电话系统使用的脉冲编码调制,以每秒8000 次的频率采样,并用8 位表示采样值。为了最小化感觉到的失真,量化尺度是非线性的:而且限定在每秒只有8000 采样,任何高于4 kHz的频率都将被丢弃。在北美和日本,采用了μ-1 规则编码技术;在欧洲和国际上则广泛采用A-1 规则编码技术。每种编码技术的数据率都是64 000 bps 。
- 音频CD 是数字化的,其采样率为每秒44100 次,这足以捕获高达22 050 Hz 的频率。每个样值都用16 位表示,并且在振幅范围内量化尺度是线性的。但是请注意, 16 位样值只有65 536 个不同的值,甚至人耳可识别的动态声音范围大约为100 万。因此,纵使CD 质量的音频远远好于电话质量的音频,但如果每个样值仅使用16 位,因而引入了一定的量化噪声(尽管CD 并没有覆盖整个动态范围一一CD 不应该会刺伤或刺痛人耳)。一些狂热的音乐发烧友还是喜欢33-RPM的LP 唱片比CD 更多一些,因为唱片没有截取22kHz 的尼奎斯特频率,而且没有量化噪声(但必须非常小心放置,否则会有划痕)。在每秒44100 个来样并且每个样值16 位的情况下,无压缩的CD 质量音频单声道需要705.6 kbps 的带宽,立体声则需要1.411 Mbps 的带宽。
音频压缩
- 为了减少带宽需求和传输时间,音频往往被进行了压缩处理,即使音频数据率比视频数据传输速率要低得多。所有的压缩系统需要两