视频编码基础–帧的类型

本文详细介绍了视频编码中的三种基本帧类型:I帧、P帧和B帧,并解释了它们的特点及作用。I帧作为关键帧,独立进行编码;P帧通过与其前一帧的差异进行压缩;B帧则利用前后帧进行双向预测压缩。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:http://wuyuans.com/2012/01/video_encode_frame/

自从上次编译x264之后一直在看x264的技术手册,专业名词太多了。没办法,从头学起吧,先从最基本的学起–帧的类型。

我们都知道视频是由图片构成的,就像早期的胶片电影一样,一幅幅图片连续播放就形成了视频,在视频中我们管这些图片叫帧。在x264中有三种基本的帧类型:I帧、P帧和B帧。

1.I帧:

I帧(I frame),又称为内部画面(intra picture),I帧通常是每个GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象。在MPEG编码的过程中,部分视频帧序列压缩成为I帧;部分压缩成P帧;还有部分压缩成B帧。I帧法是帧内压缩法,也称为“关键帧”压缩法。————百度百科

也就是说I帧其实是图片编码的,类似于JPEG编码,可以理解为电影中的胶片。而且I帧的生成是没有参考前后帧的,他只是作为参考点而存在,其他类型的帧都是以他为原型经过适当编码而来的。

2.P帧:

P帧由在它前面的P帧或者I帧预测而来,它比较与它前面的P帧或者I帧之间的相同信息或数据,也即考虑运动的特性进行帧间压缩。P帧法是根据本帧与相邻的前一帧(I帧或P帧)的不同点来压缩本帧数据。采取P帧和I帧联合压缩的方法可达到更高的压缩且无明显的压缩痕迹。

P帧是由前面的帧预测而来的,打个比方,I帧就是父母,P帧相当于孩子,孩子还可以再生孩子,一切的起源肯定是父母,也就是I帧。

3.B帧:

B帧法是双向预测的帧间压缩算法。当把一帧压缩成B帧时,它根据相邻的前一帧、本帧以及后一帧数据的不同点来压缩本帧,也即仅记录本帧与前后帧的差值。只有采用B帧压缩才能达到200:1的高压缩。一般地,I帧压缩效率最低,P帧较高,B帧最高。

一般视频的帧率为23,有的甚至到了30,也就是说一秒钟有23帧的画面,除非那部电影的场面相当动作,不然帧与帧之间的差别会相当小。相比较P帧的前向预测,B帧的前后双向预测所计算出来的值会更小,所以他的体积比P帧小很多,压缩率也最高。

最后来个总结,I帧是关键帧,是类似于图片形式的存在;P帧是前向预测帧,由前面的帧预测而来;B帧是前后向预测帧,由前一帧和后一帧预测而来。在视频编码中这三种帧都是很重要的,只有把这三种帧合理分配好才能很好的编码视频。如果I帧太多,视频清晰度会相当不错,但体积会比较大;太少也不行,I帧是参考帧,其他两种帧都是间接或直接参考I帧而来的,参考太少的话画面很容易走样,变得模糊。

就这些了,x264是一个庞大的系统,慢慢学吧。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值