H.264-AVC视频编码原理及实现(三)

三MPEG-2编码

3.1 I帧编码

MPEG-2编码宏块大小为16x16,分解4个8x8Y数据块和2个CrCb数据块。

H.264-AVC视频编码原理及实现(三)_第1张图片

I帧编码后的重构见下节。

3.2 B,P帧编码

B,P帧以16x16宏块大小为单位进行ME,其后操作和I帧相同;对于所有帧都要在量化进行重构,重构后的重构帧作为其后编码帧的参考帧。

H.264-AVC视频编码原理及实现(三)_第2张图片

3.3 P帧MB的运动估计

P帧进行前向预测,参考其编码的I帧或P帧。在对P帧中的MB进行运动估计时,一般会先参考该宏块左方、上方和右上方的宏块的运动矢量,找到最佳的匹配块位置。P帧中MB的最终编码类型,还需要比较帧内编码(Intra)和帧间(Inter)编码的MSE,来确定最终的编码类型。因此在P帧中,一般会有帧内和帧间两种编码类型。

 

同时,在MPEG-2中,增加了1/2像素搜索,这样增加了匹配的准确度。

 H.264-AVC视频编码原理及实现(三)_第3张图片

3.4 B帧的MB的运动估计

B帧的宏块可能存在的编码类型有:I类型,P类型,B类型和Bi类型。

具体的ME过程如下:

H.264-AVC视频编码原理及实现(三)_第4张图片

由上图我们可以看到,在进行B块的运动估计时,需要对forward,Back,Bidir,itnra四种方式进行比较,得到最佳的SAD作为最终的编码类型。

3.5 Skip MB和I_PCM MB

在MPEG-2编码时,有一些MB不需要进行编码,这样的MB称为Skip MB。Skip MB需要满足的基本条件包括:

1 运动矢量为0

2 CBP为0

有些编码器也其它的条件限制,比如在FFMPEG中,Skip MB不可以是非右边和下边的边界点。

 

I_PCM,直接传输图像像素值,不经过任何变换。应用场合包括:

1.       图像本身不规则,编码比不编码使用的比特数还多。

更精确地传输图像

你可能感兴趣的:(H.264-AVC视频编码原理及实现(三))