【mpeg】MPEG-2与MPEG-1和H.261、H.264标准技术(工具集)区别分析

Date: 2018.10.30


1、参考

H.261标准下载:https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.261-198811-S!!PDF-E&type=items
或者 https://www.ic.tu-berlin.de/fileadmin/fg121/Source-Coding_WS12/selected-readings/14_T-REC-H.261-199303-I__PDF-E.pdf
H.261相关资料:http://www.ics.agh.edu.pl/dydaktyka/mm/lato0405_inf_d/laboratoria/Kompresja/Kodeki/h261.pdf
https://blog.csdn.net/u010837188/article/details/38554549

2、MPEG-1 VS. H.261 VS. MPEG-2 vs. H.264
  • 视频源分辨率
    H.261只支持CIF和QCIF两种分辨率,MPEG-1支持SIF(352x240 for NTSC,352x288 for PAL)格式和CPS(Constrained Parameter Set)中的其他分辨率;MPEG-2标准支持更高的分辨率,比如D1,720P等。

  • 色度格式
    MPEG-1和H261只支持4:2:0色度格式,MPEG-2支持4:2:0,4:2:2和4:4:4三种色度格式。

  • 逐行或隔行编码方式
    MPEG-1和H.261标准只支持逐行编码,MPEG-2标准支持逐行编码和隔行编码。

  • 编码图像类型
    H.261中只有I帧和P帧;
    MPEG-1中在H.261的I帧和P帧的基础上引入了B帧和D帧;
    MPEG-2中的帧类型主要有I帧、P帧和B帧。

  • 编码码率
    H.261:40kbps~ 2Mbps
    MPEG-1: 最高大约1.5Mbps
    MPEG-2:3Mbps~100Mbps

  • 码流分层结构
    H.261中的码流分层结构比较简单,主要包括Picture,GOB(Group of blocks),MB(Macroblock)和block;
    MPEG-1和MPEG-2码流结构相似,不同于H.261中的GOB,引入了Slice的结构。

  • 量化
    H.261量化针对所有宏块采用相同的量化矩阵;
    MPEG-1和MPEG-2量化针对帧内编码和帧间编码采用了不同的量化表(量化矩阵)。

  • 运动矢量
    MPEG-2支持半像素精度的运动矢量,其中半像素值可以通过双线性插值获得。
    H.261中运动矢量的最大范围是+/-15像素,而MPEG-2支持半像素精度运动矢量范围为[-512, 511.5];整像素精度运动矢量范围为[-1024, 1023]。
    MPEG-2码流支持随机访问,通过每个时间编码的GOP的GOP层实现。

  • 宏块匹配像素精度

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

  • 参考帧

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

  • 滤波器

    插值滤波器不同,在MPEG4里面是简单的线性插值,而H264里面是5抽头的滤波器;

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

    H264有环内deblocking工具。

  • I帧的编码

    MPEG2没有INTRA预测,但是有DC系数的预测;

    MPEG4没有INTRA预测,支持DC预测,并且支持两个AC参数的预测;

    H264支持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,并且头部的语法相对比较简单,很少使用变长码;

    H264提供基于上下文的CAVLC和CABAC。

  • 码流结构

    MPEG2/MPEG4都是分层结构

    H264则是提供NAL单层结构,提供参数集合SPS,PPS,RPS的形式。

  • 量化参数的区别

    MPEG-2和MPEG-4提供31个量化参数(量化模式:常量化,系统默认量化矩阵,自定义量化矩阵);
    H264提供51个量化参数(量化模式:常量化,量化矩阵,自定义有否还不确定)。


THE END!

原文地址:https://www.cnblogs.com/SoaringLee/p/10532308.html