关于MEPG4的I帧,P帧,B帧的理解

I帧:帧内编码帧,I帧图像采用帧内编码方式,即只利用单帧图像内的空间相关性,不利用时间相关性,视频接收初始化时必须使用I帧作为基准图像。

P帧:采用从最近的前一个I帧或P帧进行运动估计所得出的编码图像,有效的去除了时间冗余。P帧内也可以包含帧内编码的部分, 即P帧中的每一个宏块可以选择帧间编码(使用运动估计)也可以选择帧内编码(即不用考虑运动估计,和I帧一样),一旦发生参考帧与当前帧的变化较大,编码器将对当前宏块直接编码,不再使用运动补偿。相关的宏块头信息会指明当前的编码方式。
注:P帧是从前一个帧进行运动估计所得出的编码图像,即残差宏块,编码器在对残差宏块编码以后, 还要重新对其解码,产生P帧的残差宏块解码P'对应的宏块,也就是将该宏块还原成未进行运动补偿的宏块(当然会与原始宏块有误差),并存起来作为下一个P1帧的参考宏块。 这种操作叫做“建立重构帧”。那么编码器在编码的同时为什么还要解码呢即建立重构帧???因为解码器解码的时候,比如解码当前P帧的下一帧P1,那么解码P1的时候就要用当前帧作为参考帧去还原解码P1,因为这时候P1的参考帧是解码器解码出来的帧P',P'帧肯定与最初编码时的P帧之间有误差(量化等操作的缘故)。因为P1的参考帧P'跟原始的P帧间有误差,那么编码的时候就不能用P帧做参考帧,要用P'做参考帧,所以在编码以后,再重新解码出P'作为下一帧P1的参考帧。 这样就保证了编码器和解码器使用相同的参考帧。

B帧:双向预测编码图像,B帧在编码时同时利用前面的和后面的图像作为参考帧进行运动估计。

在实际过程中可以根据应用需求,灵活安排上述3种类型的帧。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值