剖析 MPEG-2 视频编码器

与之对应,解码也可分成三部分,解复用. 拆包和视频解码及音频解码。
MPEG-2视频ES结构可分为6层:
<1>视频序列层。定义整个视频序列的结构,是节目的随机进入点。
<2>图像组层(GOP)。支持图象解码过程中的随机存取功能,GOP是
视频编辑的随机进入点。
<3>图像层。包含一幅图象(帧)的所有编码信息,是编码处理的单
位。
<4>象条层。在反DCT变换时提供同步的功能。
<5>宏块层。宏块是运动补偿处理的单位。由亮度块和色度块组成,
包含P帧 B帧的运动矢量。
<6> 象块层。象块层是DCT变换的单位,提供DCT系数。
3. MPEG-2的编码方式
MPEG-2有三种编码方式:帧内压缩编码方式, 见图3;帧间压缩编码方式,见图4;帧内及帧间压缩编码方式, 见图5。
压缩就是将视频信号中冗余减少的过程, 首先必须识别每个视频场和帧中的冗余,这主要包括空间与时间上的冗余。去除视频信号空间冗余可通过DCT变换来完成,DCT变换是一个无信号损失的双向数学过程。它将空间分布的变化程度转变成重现空间分布所需的频率带宽。变换所得到的系数值既可以代表不断增加的更高的垂直和水平空间频率,也可以代表不同的水平和垂直空间频率组合。视频信号经过DCT变换后,较高的空间频率系数会变得非常细小,而据人眼的视觉特性,较高的空间频率系数可以少量的比特来表示,或者完全去掉而不影响图像质量。在实际应用时为保持信号的可逆性和无损性,常常采用更多的比特来表示DCT系数。去除视频信号时间冗余,可使用有运动补偿的帧间预测来完成。对于活动图像多数情况下只是其中的很少一部分图像在运动,即使有大范围的活动部分,前后帧尽管有很大区别,但移动物体本身大多数情况下是相同的。因此只需要找到图像中某一部分运动了多少就可以在前一帧找到相应图像的内容,这个查找过程称为运动估值,其表达方式是运动矢量;而把前一帧相应的运动部分补过来,得到其剩余的不同部分的过程称为运动补偿。就这样,采用运动补偿可以有效地去除视频信号在时间方向的重复信息,达到压缩的目的。
为了达到减少数据的目的,MPEG-2将4:2:2转换成4:2:0,并且通过量化,将代表每一个系数的比特数目减少