MPEG-2标准因其多层次的图像质量和传输速度、具有可分级性、灵活性和广泛的适应性,已成为DVB、HDTV信源编码的公认标准。近年来,除传输外,在电视中心的采集、制作和播出系统中以及多媒体领域里,也得到了广泛的应用。
MPEG数字视频编码技术,是基于视频序列在空间和时间上的像素之间的相关特性这一原理的。利用帧内离散余弦变换编码技术,发掘同一画面邻近像素之间的空间相关性来实现有效的数据压缩;对于邻近帧中的像素的相关性,则采用帧间运动补偿预测技术来实现数据压缩。通常将这两种技术有机地结合起来,从而实现高效的数据压缩,这是实现MPEG的关键。
为了便于对图像序列的随机访问和编辑,MPEG对视频数据流规定了分层的结构如图1所示,并规定了详细的语法和语义,从顶层开始依次为:第一层是图像序列层,它包含序列头、若干个图像组层的数据以及序列终止符。第二层是图像组,它由定义的一组或多组帧内编码帧(I帧)或非帧内编码帧(P帧或B帧)图像组成。每组包括组头和图像层数据。第三层是图像层本身,由图像头和宏块条层数据组成。第四层是宏块条层,它由条层头和若干个连续的宏块组成。第五层是宏块层,由宏块头加块层数据组成,图像以亮度数据矩阵为基准,分为16×16像素的宏块,作为运动补偿的基本单元宏块分为亮度宏块和色度宏块,色度宏块大小与抽样格式有关。第六层是块层由图像数据和块结束符组成,是进行离散余弦变换的单元。在这六层数据结构相应的序列头、图像组头、图像头、宏块条头、宏块头等头部包含了对MPEG码流进行解码所需的起始码、定时、以及其他相关的参数和信息。

图1 MPEG视频数据流结构
MPEG-2编码算法的基础是混合的DCT/DPCM编码方法与宏块结构、运动补偿的结合,宏块是运动估计和运动补偿的基本单元,宏块分为亮度宏块和两个色度宏块,色度宏块的大小与抽样格式有关,抽样格式为4:2:0,色度宏块大小为8×8,4:4:4格式的色度块大小为16×16,4:2:2格式的色度块大小为8×16,如图2、3、4所示。
|

|

|
|
|
图2 4:2:0宏块结构
|
图3 4:2:2宏块结构 |
|

图3 4:2:4宏块结构
在MPEG-2标准中规定有逐行和隔行两种扫描方式,因此,对宏块有逐行和隔行分块方式,如图5、图6所示。通常隔行扫描时,有快速运动发生时,帧行间的空间相关性下降,场行间的空间相关性增大,可以采用基于场的预测效果较好,相反,在运动非常缓慢时,采用基于帧的预测效果较好。另外,还有基于场预测的双基预测(Dual Prime),通过传送一个基于场的矢量和一个小的差矢量,使得传送运动矢量所需的比特数比一般的基于场预测的方式要少一些,对于压缩数据是有利的。
图5 帧DCT编码中宏块的隔行分块方式
图6 场DCT编码中宏块的逐行分块方式
在MPEG压缩处理中,以当前编码帧的亮度宏块为基本单元使用块匹配法寻找其在邻近参考帧的区域位置,得出两者之间的空间位置的相对偏移量,这个相对偏移量就是通常所指的运动矢量,得出运动矢量这一过程称为运动估计。将找到的匹配像块从当前宏块中减去,得出差值,再对差值进行DCT余弦变换,可变字长编码后,形成编码的图像差值,从而使图像数据得到高效压缩。最后,将运动矢量和编码后的图像差值一起传送给解码端,便于解码端解码,为了减少必须传送的运动矢量,色度信号采用同一宏块中的亮度信号的运动矢量。