20世纪70年代开始,人们就有了通过互联网传输音频和视频的想法,但直到2000年后,数字音频和数字视频才真正开始大规模增长。
之前文章写过网页加载流程,而数字音视频与普通的网页加载有着显著的区别。
网页加载在一定程度上允许更长的加载时间(3 秒内),即使加载过程中卡顿一下,用户体验也不会太差。而音视频必须以定量的速率连续播放,且不能出现中断,否则会严重影响用户体验,所以,大多数人不会接受观看卡顿的视频。
首先,计算机的强大性能与麦克风、摄像头设备的普及率,能够轻松处理音视频数据的输入和输出。
其次,互联网带宽的大规模扩张,极大提升了网络的速度。
之前普遍使用电话呼叫,它相对占用较少的带宽,但电话服务费用较高。
通过利用现有带宽在互联网上传输语音数据,可以有效降低电话账单。
例如,微信等通讯应用允许用户通过其互联网连接进行免费语音通话,利用 IP 网络设备承载语音数据,这种服务方式被称为「IP语音」或「Internet电话」。
音频波是一维声波,当它进入耳朵时,鼓膜开始振动,引发微小骨头的震动,这些振动向大脑发送神经脉冲,最终被听者感知为「声音」。
类似地,当声波碰触麦克风时,麦克风会产生一个电信号,该信号以时间为函数来表示声音的振幅。
通过模数转换器(ADC, Analog Digital Vonverter),声音被转换为数字形式,ADC 接收电压作为输入并输出二进制数值。
相反的过程是通过数模转换器(DAC, Digital-toAnalog Converter)将数字值转换为模拟电压,扬声器将模拟电压转换为声波,使人们能够听到声音。
为了减少带宽需求和传输时间,音频通常会经过压缩处理,尽管音频数据的传输速率通常比视频数据低得多。
压缩通常由两种算法组成:一种用于在发送端压缩数据,另一种用于在接收端解压数据,它们分别被称为编码(encoding)算法和解码(decoding)算法。
在许多应用程序中,多媒体文件只需进行一次编码,但可能会被解码多次,例如 YouTube 上的视频播放,存储在服务器上只需要一次编码,但是会被解码几百万次、几千万次。
这种编解码不一致被称为「不对称性」,这也意味着编码算法通常较慢且需要昂贵的硬件支持,而解码算法通常需要快速且简单的实现。
因此,许多实用的压缩系统会以缓慢、复杂的编码算法为代价,用来实现快速、简单的解码算法。
而对于直播的音频和视频,如 IP 语音呼叫,缓慢的编码让人无法接受,编码必须能够实时动态执行。相比于存储在磁盘上的音频或视频,实时多媒体使用不同的算法,通常会适度减少压缩程度。
人类眼睛有一个特点,就是当一幅图像出现在视网膜上时,它会停留几秒钟才会慢慢消失。如果一系列图像以每秒50幅的速度出现,人眼就不会察觉到这些图像之间的间隔,所以视频系统正是利用了这一特性来制造连续的动画效果。
即使是标准质量的视频,每帧有 640×480 像素,每个像素有 24 位颜色信息,播放速率为 30帧/秒,这样的视频也需要超过 2Mbps 的带宽,这个数字远远超过了家庭用户的网络带宽,而且这还只是单一视频流。
一个视频实际上是由一系列图像和声音组成的,压缩视频的方法之一就是对每一帧图像进行连续编码。
联合图像专家组(JPEG,Joint Photographic Experts Group)标准用来压缩连续色调的静止图像, 它能够达到 20:1 的压缩效率,JPEG 算法基本上是对称的,这意味着解码和编码所需的时间相同。
运动图像专家组(MPEG,Motion Picture Experts Group)标准,能够同时压缩音频和视频。
由于音频和视频编码是独立进行的,因此如何在接收端同步这两个流就成了一个问题。
解决方案是使用一个时钟,在当前时间的时间戳被输出到两个编码器上。这些时间戳随后被包含在编码后的输出流中,并传输到接收端。接收端的播放器可以利用这些时间戳来同步音频流和视频流。
在压缩、传输和解压缩数据过程中,所有用户都期望获得与原始数据准确相符的数据。
对于多媒体而言,经过编码和解码后的信号源可能与原始信号略有不同,但通常是可以接受的,只要听起来或看起来与原始数据相似即可。
当解码输出的信号与原始输入的信号不完全相同时,我们称该系统存在「损耗」。
例如,网易云音乐会员可以享受「无损音频」,腾讯视频会员可以享受「无损视频」。
数字音频和数字视频的处理在互联网传输中起着重要作用。
压缩技术的发展使得音视频数据能够以更高效的方式传输,同时满足用户对流畅体验的需求。然而,压缩算法的选择和实现仍然需要平衡带宽需求、解码速度和数据质量。
内容优化:ChatGPT
图片来源:Pixabay
内容来源:《计算机网络》
原创文章,作者:小道研究,如若转载,请注明出处:https://www.sudun.com/ask/34534.html