H.264预测编码之帧内预测

预测编码是视频压缩中最基本的编码工具,常见的预测编码为帧间预测和帧内预测。

视频编码中,主要的冗余信息是时间冗余,其次是空间冗余,视频编码通过帧间预测消除时间冗余,通过帧内预测消除空间冗余。接下来说说帧内预测。

帧内预测的具体方法分两种,一维预测和二维预测。

一维预测是利用同行相邻像素点的相关性进行预测,一般下一个像素点值总和它前一个像素值比较接近,这样我们就可以将前一个像素值作为当前像素点的预测值。

二维预测除了利用本行的相邻像素点进行预测外,还使用前一行的像素点进行预测。通过给不同行的像素值赋予相应的加权值,最后获得预测值。


说完预测方法之后,接下来是针对具体的预测实现。

1、4x4亮度块预测模式

图一是获取到的亮度宏块及要进行预测的4x4亮度块。


                                                               图二

图二-a是利用像素A~Q对a~p像素进行4x4帧内预测。

图二-b是预测方向,一个九个。

预测模式一共有九种:

0、Vertical。

1、horizontal。

2、DC。

3、diagonal down-left。

4、diagonal down-right。

5、vertical-right。

6、horizontal-down。

7、veritical-left。

8、horizontal-up。

九种预测模式如下图:

H.264预测编码之帧内预测_第1张图片

图三

九种预测模式对应的效果图如下图:


图四

从效果图可看出最佳预测模式为模式7(vertical-left)。


2、16x16亮度块预测模式

16x16预测模式是4x4亮度预测模式的一种替代方法,预测模式共有四种。

模式0(垂直):从块上部采样推出(H)。

模式1(水平):从块左侧采样推出(V)。

模式2(直流):从块上部和左侧的采样的均值推出(H+V)。

模式3(平面):   对块上部和左侧的采样H和V使用一个线性“平面”函数。

四种模式方向图如下:

H.264预测编码之帧内预测_第2张图片


获取到的16x16亮度宏块如下图:

H.264预测编码之帧内预测_第3张图片

图六

四种预测模式对应的效果图如下:

H.264预测编码之帧内预测_第4张图片

图七

从效果图可知,效果最好的是模式3(plane)平面模式。


3、8x8色度块预测模式

一个宏块的每个8x8色度分量从之前已编码重构的上部和(或)左侧的色度采样中预测。色度块的四种预测模式和16x16亮度块预测模式非常相似,除模式号不同:直流(模式0)、横向(模式1)、垂直(模式2)和平面(模式3)。相同的预测模式在色度块中也始终适用。


最后对帧内预测技术进行总结:

a、H.264帧内预测提供了4x4和16x16两种方式,使预测更加灵活准确,其中4x4块用于图像细节部分的预测,可以提高预测精度;16x16块用于预测平坦的图像区域,能够在保证帧内预测精度的同时降低运算复杂度和码率。

b、H.264充分考虑了帧内像素的统计分布规律,详细设定了多种方向的预测模式,能够更好地匹配图像像素分布的真是情况,减少预测误差。对于不同类型的图像,这种帧内预测方法能够有效低逼进真实值,保证较高的预测精度。




你可能感兴趣的:(视频,编码,h.264,帧内预测,视频编解码)