瘦身

我们是怎样看到网络视频的

2019-11-09 17:01:35来源:励志吧0次阅读

我们是怎样看到网络视频的

我们是怎样看到网络视频的

我们常常在网络上面看电影,追剧,视频聊天。那末网络视频的工作原理是什么?网络视频涉及到的问题比较多,最关键的是“压缩”与“解压缩”技术。有紧缩就一定有解压缩,压缩会涉及到紧缩算法,解压缩会涉及到解压缩算法。一般是在发送方紧缩,在接受方解压缩。

既然是“压缩”,那么首先要搞清楚“紧缩甚么”,压缩的对象是什么,紧缩的肯定是“冗余信息”。关于冗余信息,冗余是图形图像紧缩的对象。

冗余包括空间冗余,包括时间冗余,包括信息熵冗余几个类型。分别梳理如下。

(1)空间冗余

空间冗余的定义:空间冗余是静态图象中存在的最主要的数据冗余。比如,一幅图象中有较大的背景区域,在这个区域中所有的点的光强,点的色采,以及点的光饱和度都是非常类似的。这种空间的连贯性可以定义为空间冗余。

对空间冗余定义的理解:空间冗余是一种最基础的冗余,针对于静态的图象,针对于静态的画面,对静态图像里面的冗余信息进行压缩。视频的基础单位是“帧”,每个“帧”可以理解为一个“画面”,这个就是静态冗余紧缩。有压缩则一定有解压缩。发送端紧缩,接受端解压缩。

(二)时间冗余

时间冗余的定义:时间冗余是视频序列中常常包括的冗余(注意是视频序列),序列图像中相领幀往往包括相同的或类似的背景和运动物体,只不过运动物体所在的空间位置稍有不同。这类相邻幀间数据的高度相关性定义为时间冗余。这个是非常普遍的“冗余”,也是紧缩的重点所在。

时间冗余定义的理解:时间冗余,主要是针对动态的图像,动态图象相领幀之间有很多类似性,这就造就了冗余,而动态压缩就是是针对这类时间冗余的。

(三)信息熵冗余

信息熵冗余的定义:信息熵冗余也称为编码冗余,为表示图像数据的一个像素点(这个像素点是图象数据的最基本单位)。只要按照信息熵的大小分配相应的比特数便可。对实际图像数据的每个像素,在图像获取时很难得到它的信息熵,一般对每一个像素采取相同的比特表示。这样必然存在冗余。这种冗余称为信息熵冗余。

信息熵定义的理解:这个编码冗余实际上与图象没有什么关系,是完全针对编码本事的一个冗余,编码本事会存在一些列冗余的现象,例如数字的重复。这个需要一个冗余紧缩的过程。

为了能够去除上述三种冗余(空间冗余,时间冗余,编码冗余),视频编码器(视频编码器在视频设备内,比如宝利通的装备)包括了很多编码算法,这些编码算法在视频编码器中被有效的组合在一起。使得全部编码器具有较高的编码效率。目前主流的视频编码器采取的视频技术包括:预测,变换,量化,扫描,和熵编码。这些都是紧缩技术,而压缩技术的对象就是冗余的信息。对整个编码的流程做一下梳理。

(一)预测:预测包括帧内预测,包括帧间预测。帧内预测针对静态图象,帧间预测针对动态运动补偿,也就是“空间冗余”。帧间预测又可以细分为:前向预测,后向预测,双向预测。帧内预测比较简单,帧间预测相对复杂。

(2)变换:变换是把空域信号变成频域信号。最典型的变换是离散余弦变换,固然还有傅里叶变换,K_L变换 。变换是最核心的一个环节,变换以后可以进一步压缩。如果没有完成变换,是不可能进一步“量化”的。

(三)量化:量化的目的是连续信号离散化,离散信号数字化。数字化以后才可以进行“扫描”。

(四)扫描:最典型的Z字扫描,把二维数组变成1维数组。然后按照几率排序。把非零的放在前面,把零和接近零的放后面。z字扫描的图谱是关键。

(5)编码:变长编码,算术编码,行程编码。这个层面实际上和图像没有关系了,是一种针对“码”的紧缩。

总结:每一步都是为了紧缩,用这一步的思路压缩。压缩算法是最关键的,几乎视频编码紧缩,音频编码紧缩,构造了视频和音频的基础。

有“紧缩算法”,就会有“解压缩算法”。在发送端“紧缩”,在接受端“解压缩”。比如视频会议,我们看到的图像都是“解压缩”的结果。比如“网络视频”,我们下载的App里面都有解压缩功能。为什么我们看电视剧时常常会遇到需要“缓冲”的时候,这个缓冲时间其实包括“解压缩”的进程。

压缩算法和解压缩算法是一枚硬币的两面。在发送端压缩,目的是为了节约网络资源,提高传播的效力。在接受端解压缩,目的是为了看到高清画面。为什么1080p的视频,消耗资源多,甚至有的要“付费”,根据就是由于需要更加高级的“紧缩算法”。

国产西地那非有那些

伟哥的功效

伟哥货到付款

分享到:
  • 友情链接
  • 合作伙伴