回顾
上面一个小结已经提到,编解码解决的问题就是原始视频图像过大的问题,那么究竟如何才能降低视频存储大小呢?是否有可行的方案呢?
相关性
首先我们必须了解的就是相关性,一段视频文件,有很多的相关性,或者叫做冗余性,有效的去处这些相关性,我们就可以降低视频存储的大小。
怎么理解冗余呢?我们可以看一个简单的例子:
(1) x + y = 2
(2) x + 2y = 3
(3) 2x + 2y = 4
(4) 2x + 4y = 6
这里有四个方程式,但这四个方程式是有冗余的,因为把第一个式子两边都乘以2,就是第三个式子;把第二个式子乘以2,就是第四个式子。因此第一个式子和第三个式子是等价的,第二个式子和第四个式子也是等价的。
因此上面的方程组,实际上就等价于
(1) x + y = 2
(2) x + 2y = 3
第一组方程式的长度为4,现在的方程组的长度为2,虽然方程组的长度减少了一半,但是有效信息却一点都没有减少。我们可以认为第二组方程式,就是去除了第一组方程式的冗余。
那么对于视频而言,一般都有哪些相关性呢?时间相关性,空间相关性和统计相关性。因此视频编码的核心就是去除时间冗余,空间冗余和统计冗余。
时间冗余
什么是时间冗余呢?我们以24fps为例,也就是1s会产生24帧,也就是说,每帧之间的间隔,仅仅为40ms,在这么短的时间内,通常情况下,变化是非常非常小的,因此大部分的内容,实际上都是冗余。
下面是我在ppt中介绍的一个例子
帧间预测.png
我们肉眼很难看出,上一帧和当前帧的差别,这两帧几乎是完全相同。我们可以想象,如果去除这些冗余,图像大小会一下子就降下来了,比如,我只传递当前帧和上一帧的插值,那么数据量一定会小很多!
这就是帧间预测的基本思路。
小结
我们可以从时间冗余,空间冗余,统计冗余入手降低视频的大小。
从时间冗余入手降低视频大小的方法,叫做帧间预测。
网友评论