I帧、P帧和B帧的特点

来源:互联网 发布:linux kill进程 编辑:程序博客网 时间:2024/05/16 15:19
 

B帧参考模式

 

1同时参考前后的帧,记录 (前面帧的 pixel 值 后面帧的 pixel )/2 的差值,也就是和 「前后画面的平均」的差值。所以记录的差值个数和 帧一样,只有一个,没有增加。

2因为帧位于前后画面的中间,以「前后画面的平均」,也就是「前后画面的中间值」来作为预测数值(预测 帧的 pixel 数值为多少?如果有误差,再记录差值),这样这个预测数值会比单独使用前一个画面来预测,更接近目前真正的 帧的数值,可想而知,如此所需要记录的差值就会很小甚至可以根本不用记录,所以便可以省下很多的 bits,提高压缩率。

3B帧对画质的影响也是有的,因为 帧这种参考前后画面的特性,等于有内插的效果,所以可以减少噪讯。

4)由于B帧不是参考帧,所以B帧的误差一般不会扩散,这和P帧不一样。

 


 

注:下面的内容转自:http://blog.chinaunix.net/u3/111072/showart_2165954.html

I帧、P帧和B帧的特点

I:帧内编码帧
I帧特点:
1.它是一个全帧压缩编码帧。它将全帧图像信息进行JPEG压缩编码及传输;
2.解码时仅用I帧的数据就可重构完整图像;
3.I帧描述了图像背景和运动主体的详情;
4.I帧不需要参考其他画面而生成;
5.I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量);
6.I帧是帧组GOP的基础帧(第一帧),在一组中只有一个I;
7.I帧不需要考虑运动矢量;
8.I帧所占数据的信息量比较大。

P:前向预测编码帧。
P帧的预测与重构:P帧是以I帧为参考帧,I帧中找出P某点的预测值和运动矢量,取预测差值和运动矢量一起传送。在接收端根据运动矢量从I帧中找出P某点的预测值并与差值相加以得到P某点样值,从而可得到完整的P帧。
P帧特点:
1.P帧是I帧后面相隔1~2帧的编码帧;
2.P帧采用运动补偿的方法传送它与前面的IP帧的差值及运动矢量(预测误差);
3.解码时必须将I帧中的预测值与预测误差求和后才能重构完整的P帧图像;
4.P帧属于前向预测的帧间编码。它只参考前面最靠近它的I帧或P;
5.P帧可以是其后面P帧的参考帧,也可以是其前后的B帧的参考帧;
6.由于P帧是参考帧,它可能造成解码错误的扩散;
7.由于是差值传送,P帧的压缩比较高。

B:双向预测内插编码帧。
B帧的预测与重构
B帧以前面的IP帧和后面的P帧为参考帧,“找出”B某点的预测值和两个运动矢量,并取预测差值和运动矢量传送。接收端根据运动矢量在两个参考帧中找出(算出)”预测值并与差值求和,得到B某点样值,从而可得到完整的B帧。
B帧特点
1.B帧是由前面的IP帧和后面的P帧来进行预测的;
2.B帧传送的是它与前面的IP帧和后面的P帧之间的预测误差及运动矢量;
3.B帧是双向预测编码帧;
4.B帧压缩比最高,因为它只反映丙参考帧间运动主体的变化情况,预测比较准确;
5.B帧不是参考帧,不会造成解码错误的扩散。

:IBP各帧是根据压缩算法的需要,是人为定义的,它们都是实实在在的物理帧,至于图像中的哪一帧是I,是随机的,一但确定了I,以后的各帧就严格按规定顺序排列。

原创粉丝点击