这一期来聊一聊H.264/AVC的帧内预测。
目录
帧内预测
帧内预测?
预测?
总感觉这个词有股神奇的力量
为什么要预测?
帧内预测呢
它又有什么样的作用呢?
为什么要预测——因为一般来说,对于一幅自然图像,相邻的像素之间的亮度和色度值经常是比较接近的,也就是颜色是渐进变化的,不会一下子突变成完全不一样的颜色。预测是为了减少数据量,提高压缩率。
帧内预测——相对于帧间预测而言,就是利用视频空间域的相关性,使用同一帧图像内邻近已编码像素预测当前的像素,以达到有效去除视频时域冗余的目的。
举个例子:
F | G | H | |
E | B | C | |
D | A | X | |
X为待预测像素,B~H为已知像素,由于自然图像的连续性,那么X就可以根据B~H推导出预测值,显然距离越近的权重越大。
假设X预测得到的像素值为201,实际的原始像素为202,那么在编码的时候只需要传递差值即可,此例中就是(202 - 201)= 1。编码1只需要一个比特,而不预测的话,则需传输8个比特。从而达到压缩的目的。
了解了预测的原理,我们来看一下H.264的帧内预测算法。