回顾各种编码的创新和异同-MEPG2, MPEG4, H.264/AVC以及H.265/HEVC比较

1、宏块匹配像素精度: MPEG2中,运动估计的精度是1/2的像素,通过线性插值实现;

                      H.264/AVC和MPEG4 都可以支持1/4像素的精度.

2、参考帧的数量:     MPEG2,MPEG4的P帧只能有一帧参考帧,B帧可以有两帧参考帧 ,H.264/AVC可以最多有15帧参考帧(创新之处),

                      一般情况下选择3-5帧作为参考帧.

3、滤波器的结构:    插值滤波器不同,在MPEG4里面是简单的线性插值,

                     而H.264/AVC里面是5抽头的滤波器(首次提出环路滤波概念);

                     MPEG2没有环内deblocking工具,MPEG4有deblocking工具,但是属于postprocessing;

                     H.264/AVC有环内deblocking工具. 
4、I帧的编码:       MPEG2没有INTRA预测,但是有DC参数预测;MPEG4没有INTRA预测,支持DC预测,

                                     并且支持两个AC参数的预测(这可以理解为早期的帧内预测)。H.264/AVC支持INTRA预测,

                     4*4共有9种模式(这就是H.264的创新之处). 

5、匹配宏块大小的区别:MPEG2最小匹配块尺寸为8*8,MPEG4同样也为8*8,

                       H.264/AVC最小可以到4*4尺寸(创新点,不过复杂度成倍增加)

6、DCT变换的不同:   MPEG系列为8*8的DCT变换,逆变换时会出现漂移现象;

                     H.264/AVC为整数4*4的DCT变换,而且直流系数经过HADMARD变换之后做的DCT变换,

                     整数DCT变换可以防止逆变 换时出现漂移现象.

7、量化之后的编码:  MPEG2/MPEG4则都是基于huffman,并且头部的语法相对比较简单,很少使用变长码; 

                     H.264/AVC提供基于上下文的CAVLC和CABAC(复杂,但是节省码流) 。

8、编码之后的结构:  MPEG2/MPEG4都是分层结构;

                     H.264/AVC则是提供NAL单层结构,提供参数集合的形式

9、量化参数的区别:  MPEG4提供31个量化参数(量化模式:常量化,系统默认量化矩阵,自定义量化矩阵),

                     H.264/AVC提供51个量化参数(量化模式:常量化,量化矩阵,自定义有否还不确定);

其他小的细节也很多.

大家也可以再往下比较, H.265/HEVC的比较呢? 其实博文里面之前已经有过H.264/AVC和H.265/HEVC的大量比较.

你可能感兴趣的:(工具,h.264)