【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个量化参数(量化模式:常量化,量化矩阵,自定义有否还不确定)。