MPEG中的三种图像类型(I帧、P帧、B帧)及码流组成

简介我们已经提到,MPEG是基于DCT、运动补偿和Huffman编码算法的,由此,MPEG在压缩中使用了帧内压缩和帧间压缩两种方式。为了在编码中实现最大的压缩比,MPEG使用三种类型的图像,即I帧,P帧和B帧。 I帧(Intra-Frame)是帧内压缩,不使用运动补偿,提供中等的压缩比。由于I帧不依赖于其他帧,所以是随机存取的入点,同时是解码中的基准帧。 P帧(Predicated-Frame)根据前面的I帧或P帧进行预测,使用运动补偿算法进行压缩,因而压缩比要比I帧高,数据量平均达到I帧的 1/
我们已经提到,MPEG是基于DCT、运动补偿和Huffman编码算法的,由此,MPEG在压缩中使用了帧内压缩和帧间压缩两种方式。为了在编码中实现最大的压缩比,MPEG使用三种类型的图像,即I帧,P帧和B帧。

I帧(Intra-Frame)是帧内压缩,不使用运动补偿,提供中等的压缩比。由于I帧不依赖于其他帧,所以是随机存取的入点,同时是解码中的基准帧。

P帧(Predicated-Frame)根据前面的I帧或P帧进行预测,使用运动补偿算法进行压缩,因而压缩比要比I帧高,数据量平均达到I帧的 1/3左右。P帧是对前后的B帧和后继的P帧进行解码的基准帧。P帧本身是有误差的,如果P帧的前一个基准帧也是P帧,就会造成误差传播。

B帧(Bidirectinal-Frame)是基于内插重建的帧,它基于前后的两个I、P帧或P、P帧,它使用双向预测,数据量平均可以达到I帧的 1/9左右。B帧本身不作为基准,因此可以在提供更高的压缩比的情况下不传播误差。 需要指出的是,尽管我们使用帧(Frame)这个词,但是MPEG2本身没有规定进行数字图像压缩时必须使用帧作为单位,对于隔行的视频图像,可以使用场 (Field)作为单位。

一个GOP由一串IBP帧组成,起始为I帧。GOP的长度是一个I帧到下一个I 帧的间隔 ,一般用N表示,图1中的N=9。这个长度是可变的,长GOP可以提供高的压缩比,但是会造成随机存取的延迟(必须等到下一个I帧)和误差的积累(P帧的误差传播)。 一般是一秒内有两个I帧,用来作为随机存取的入口。

图1 GOP中的图像序列

在MPEG2中也没有规定GOP的结构,帧重复方式可以是IP,IB,IBP,IBBP,甚至全部是I帧。基准帧的重复频率用M表示,图1中的M=3。不同的帧重复频率提供不同的输出码率,同时影响存取延迟。
本文转自:https://blog.csdn.net/muojie/article/details/6077890