目录
为什么要消除冗余
颜色、亮度和眼睛
帧类型
时间冗余(帧间预测)
查看运动向量
空间冗余(帧内预测)
查看帧内预测
编码冗余
视觉冗余
为什么要消除冗余
首先来计算一下一个一小时的视频大小。 假设分辨率为720p,帧率为30fps,则内存为1280x720x24x30x3600,共占用278GB。
仅仅使用无损数据压缩算法——如 DEFLATE(被PKZIP, Gzip, 和 PNG 使用)——也无法充分减少视频所需的带宽,我们需要找到其它压缩视频的方法。
为此,我们可以
利用视觉特性:和区分颜色相比,我们区分亮度要更加敏锐。
时间上的重复:一段视频包含很多只有一点小小改变的图像。
图像内的重复:每一帧也包含很多颜色相同或相似的区域。
颜色、亮度和眼睛
我们的眼睛对亮度比对颜色更敏感,你可以看看下面的图片自己测试。
如果你看不出左图的方块 A 和方块 B 的颜色是相同的,那么好,是我们的大脑玩了一个小把戏,这让我们更多的去注意光与暗,而不是颜色。右边这里有一个使用同样颜色的连接器,那么我们(的大脑)就能轻易分辨出事实,它们是同样的颜色。
眼睛的工作原理在这不多做解释,给出一个结论——相比颜色,我们有更好的能力去区分黑暗和光亮
一旦我们知道我们对亮度(图像中的亮度)更敏感,我们就可以利用它。