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