1.1秒钟1.5G流量
这是一篇硬核“视频压缩”基础科普文。
我们每天都会通过电脑、手机、电视去看很多视频,但是有没有产生过这样一个疑问,我们为什么能够看到这些视频呢,背后是什么技术在做支撑呢?
也许很多小伙伴会有这样一个回答,肯定就是无线或者有线网络啊,因为手机有网才能看视频,但这只回答对了一半,当然,没有网络手机没有办法观看视频。
我们首先来做这样一个计算,比如我们打开一个爱奇艺视频,选择超清格式(1080p)播放,超清视频的分辨率格式为1920x1080,如果有计算机基础的小伙伴可以看这个计算过程,没有的可以直接看最后的计算结果。
计算过程:分辨率格式为1920x1080说明视频的每一帧图像的每一行有1920个像素,每一列有1080个像素,那整帧图像对应的像素个数就是1920x1080个,一个像素由RGB三个通道颜色组成,倘若每一个通道颜色由8bit来表示,假设视频帧率为30fps(即1秒显示的视频图像的个数,实际上很多视频高于这个数值)。
那最后我们可以计算得到播放1s视频的数据量:1920x1080x3x8x30=1.49x10的九次方 比特,换算下来就是超过1423M,我们知道我们手机的数据流量1G=1024M,也就是说,看超清格式的视频,一秒钟就将近1.4个G的数据流量没有了,假设视频为一个半小时,那就是1423x90x60=7684200M,换算下来就是7504G左右。
所以通过上述的计算我们就可以知道,如果我们看一个原始未经过压缩的视频,那看完一个超清1080p时长超过一个半小时的视频,我们需要花掉的流量超过了7504G,这个数据量对于现在任何人来说,估计都是不够用的。
还有我们现在使用的4G网络,其网速速率最高在100Mbps到150Mbps,也就是说手机网速再快,其每秒能够下载的数据量也就在100M到150M之间,对应一个每秒有1.5G数据量的视频来说,这是肯定不够用的,想像一下如果你打开一个视频播放软件,选择播放超清视频,一个视频就能消耗你几千个G的流量,同时视频缓冲还需要等上几分钟,这对于我们来说,肯定是无法接受的。
但这个时候你可能会有另外一个疑问,那就是我们平时即使用手机看视频,我们手机消耗的流量很少啊,即使在一些播放软件上看一个半小时的超高清电影,我们所花费的流量也就一两个G左右,这又是怎么实现的呢?
2.非流式传输技术和流式传输技术
在回答这个疑问之前,我要讲到两个专业名词——非流式传输技术和流式传输技术。
什么是非流式传输?我们肯定有过这样的经历,比如我们用迅雷或者其他下载器下载视频到电脑或者手机上,在未下载完成之前,这个视频是没有办法正常打开播放的,只有等视频完整的下载到本地,视频才能正常播放,这就是非流式传输技术的应用。
这种技术主要针对的是用户在离线浏览的一种传输技术,早期由于互联网带宽的限制,大部分采用的是这种传输技术。
而流失传输技术则是另外一种我们平时更常用到的一种技术,我们用手机或者电脑在看抖音、爱奇艺等等需要手机上网才可以观看的视频时,我们会发现视频并不是等我们全部都缓冲或者下载到本地之后才能播放,而是我们可以在边缓冲边播放。
有时候我们在播放的时候会出现卡顿,这就是由于网络质量不好导致缓冲速度比播放速度要慢的结果。我们平时在抖音、微视频等等播放平台上看视频不需要等视频完全缓冲完毕才能观看,这里采用的技术就是流式传输技术。
当然我们要知道的是流式传输技术不是一个独立的技术,它是对多种支持实现这种观影体验的技术的一个总称。这些技术涉及网络、计算机、数学以及物理等等,在这些技术当中,对视频压缩的音视频编解码技术是其中非常关键的一个技术。
回到刚刚的一个疑问,之前我们计算过,没有经过压缩的超清视频每秒的数据量就有1.5G,但是我们在播放软件上观看一个时长一个半小时的电影需要的流量也就一两个G左右。
这就是音视频编解码技术对原始视频进行了压缩。
3.音频编解码和视频编解码
音视频编解码技术分为两部分:音频编解码和视频编解码。我们观看视频其实包含两部分,声音和图像。音频编解码和视频编解码对应的就是分别对声音和视频进行压缩。
可是很多人会有这样一个疑问,为什么要对视频进行压缩,压缩之后我看到的画面不久失真了吗,我看到的视频和未压缩的视频内容还是一样的吗?对于这个疑问,我们先来看两组图片:
第一组:
原始图像
压缩图像,压缩比为20:1
第二组:
原始图像
压缩图像,压缩比为20:1
压缩图像相比原始图像,尺寸缩小了20倍,但是我们通过仔细观察可以发现,压缩前后的图像质量似乎没有太大的变化,但是图片尺寸却小了很多,那这是为什么呢?答案就是一张未经压缩过的图像存在很多冗余的信息,这些冗余我们可以分为以下几种:(这里我会准备重新再写一篇文章来叙述这个原理)
(1)空间冗余:图像中很多连续的区域,其像素的颜色是相同的,这就产生了空间冗余。
(2)结构冗余:图像中很多物体的纹理结构是相同的,比如砖墙、纹路。这就产生了结构冗余。
(3)知识冗余:图像中图案与某些知识有很大的相关性,例如人脸有固定的结构,脸颊的中间是鼻子,眼睛上方是眉毛。等等这些规律性的结构可以由先验知识和背景知识得到。我们只需要构造图案的基本模型,只存储少量的特征参数,剩余数据就是知识冗余的构成。
而根据我们人眼视觉的关系,即使我们将这部分冗余的信息去除,我们人眼也看不出太大的变化。这就为我们视频压缩提供了可能性。视频压缩技术就基于这个理论,对原始视频进行压缩,使得视频大小在我们可接受的范围,同时又不会影响人的视觉体验。
,