H.264 Intra Prediction

对I宏块编码,不参考其所在的条带之外的任何数据。I宏块可以出现在任何类型的条带中,但是I条带中只能包含I宏块。对I宏块进行编码,只能使用帧内预测方式。对于一个包含亮度或者色度采样点的块,在采样点之间,以及块和临近块的采样点之间,存在着较高的相关性。因此,帧内预测采用临近块的采样点来预测块中的采样点的值。

1、Intra Prediction类型

对于I宏块,根据帧内预测块的尺寸,对亮度分量的预测方式分为三种:16X16、8X8和4X4。而对色度分量,仅有一种预测方式。帧内预测类型如表1所示:

表1 Intra Prediction类型


当4X4、8X8或者16X16的块尺寸的帧内预测被选择,块和用来预测的采样点的关系如图1和图2所示。在预测的过程中,仅仅这些采样点被用到。例如,在图片或条带左边缘的块,在块的左边没有相邻的采样点。在这种情况下,只有部分的预测模式是可用的。

           H.264 Intra Prediction_第1张图片

图1 4X4或8X8预测模式                                                                         图2 16X16预测模式

对于亮度分量,不同块尺寸的预测模式,对下面的两个方面会有不同的影响:预测效率和传输预测模式的成本。

(1)Smaller blocks:比较小的预测块尺寸可以给预测带来更高的精度,这也意味着更小的编码残余,因此在传输残余块的量化转化系数的时候,需要更少的数据。但是,因为预测模式的选择也需要传输给解码器,因此需要更多的数据来编码被选测的预测模式。

(2)Larger blocks:这种模式的选择,对上面两方面的影响正好和Smaller blocks相反,预测精度相对较低,但是,在编码被选择的预测模式时,需要较少的数据。
在编码的时候,编码器会在这两者之间作一个权衡,然后选择一个合适的预测模式。

2、4X4与8X8亮度预测模式

4X4或8X8亮度预测模式如表2和图3所示。

表2 4X4或8X8亮度预测模式描述


H.264 Intra Prediction_第2张图片

图3 4X4或8X8亮度预测模式图解

3、16X16与Chroma预测模式

16X16与Chroma预测模式如表3和图4所示。

表3 16X16与Chroma预测模式描述

H.264 Intra Prediction_第3张图片

H.264 Intra Prediction_第4张图片

图3 16X16与Chroma预测模式图解

4、Intra Prediction模式传输

为每个4X4或者8X8亮度模块选择的帧内预测模式都必须发送给解码器,因此这也将需要大量的额外数据。但是,对于相邻的4X4或8X8块的帧内预测模式,会有很高的想性。例如图5所示的4X4块A、B和E,如果A和B的预测模式为2,那么E的最大可能预测模式也为2。为了很好的利用这个相关性,在传输4X4或8X8预测模式时,使用预测编码。对于块E,编码器和解码器将A和B的较小的一个预测模式定义为E的最大可能预测模式。如果A和B的预测模式都不能获得,则将他们的预测模式设置为2,表明E的预测模式也为2。

H.264 Intra Prediction_第5张图片

图5 BlockA、B和E的位置关系

编码器为每个4X4块发送一个flag:prev_intra4×4_pred_mode,如果该flag的值为1,使用最大可能预测模式,如果为0,编码器将会发送另一个参数rem_intra4×4_pred_mode,用于表明预测模式发生了变化。如果rem_intra4×4_pred_mode的值比当前的最大可能预测模式的值小,则预测模式设置为rem_intra4×4_pred_mode,否则设置为rem_intra4×4_pred_mode+1。用这种方式,rem_intra4×4_pred_mode仅仅有8种可能的值0-7,用来发送9种可能的帧内预测模式0-8。

你可能感兴趣的:(编码,Prediction,h.264)