宏块匹配像素精度

  • MPEG2中,运动估计的精度是1/2的像素,通过线性插值实现(可能有简单修正);
  • H.264和MPEG4 都可以支持1/4像素的精度;

参考帧的数量

  • MPEG2,MPEG4的P帧只能有一帧参考帧,B帧可以有两帧参考帧;
  • H.264可以最多有15帧参考帧,一般情况下选择3-5帧作为参考帧;

滤波器的结构

  • 插值滤波器
    • MPEG4里面是简单的线性插值;
    • H.264里面是5抽头的滤波器;
  • deblocking
    • MPEG2没有环内deblocking工具;
    • MPEG4有deblocking工具,但是属于postprocessing;
    • H.264有环内deblocking工具;

I帧的编码

  • MPEG2没有INTRA预测,但是有DC参数预测;
  • MPEG4没有INTRA预测,支持DC预测,并且支持两个AC参数的预测;
  • H.264支持INTRA预测,4*4共有9种模式;

匹配宏块大小的区别

  • MPEG2最小匹配块尺寸为8*8;
  • MPEG4同样也为8*8;
  • H.264最小可以到4*4尺寸;

DCT变换的不同

  • MPEG系列为8*8的DCT变换,逆变换时会出现漂移现象;
  • H.264为整数4*4的DCT变换,而且直流系数经过HADMARD变换之后做的DCT变换,整数DCT变换可以防止逆变换时出现漂移现象;

量化之后的编码

  • MPEG2/MPEG4则都是基于huffman,并且头部的语法相对比较简单,很少使用变长码;
  • H.264提供基于上下文的CAVLC和CABAC;

编码之后的结构

  • MPEG2/MPEG4都是分层结构;
  • H.264则是提供NAL单层结构,提供参数集合的形式;

量化参数的区别

  • MPEG4提供31个量化参数(量化模式:常量化,系统默认量化矩阵,自定义量化矩阵);
  • H.264提供51个量化参数(量化模式:常量化,量化矩阵,自定义有否还不确定);