码迷,mamicode.com
首页 > 其他好文 > 详细

图解 I帧,B帧以及P帧

时间:2018-11-10 20:06:32      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:组成   type   dia   参考   www.   图片大小   完整   jpeg   ora   

I?frame (Intra-coded picture): 即完整的一张图片
P?frame (Predicted picture): 与前面一张图片的区别的区域
B?frame (Bidirectional predicted picture):与前面以及后面的图片的区别区域
 
众所周知,视频一般是由多张图片进行组成的。
 
I帧
现在有一段影片如下:
技术分享图片
该影片总共是20张图片组成的,每一张完整的图片我们都可以叫做I帧。假如每张JPEG的图片大小为100KB,那么传输两张图片即为100 * 20 = 2000KB
要知道这个还不到几秒的影片就2M了,要是几个小时的那还得了,所以就有了影片压缩的算法
 
P帧
通过观察,我们可以看出,实际上每一帧之间其实只有一部分细微的差别而已,如下图提取了6帧
技术分享图片
 
当传输完第一帧以后,第二帧其实我们只需要传输一部分,然后由另外一端进行图片算法来进行组合
 
技术分享图片
用这种方式,在传输第二帧的时候,还不到原来的1/10,只需要传输第一帧的100KB,后续的都是按照这种方式传输部分,这种只传输部分的图片,就是P帧了。最后整个影片的大小即为100KB + 10KB * 19 = 290 KB,比原来缩小了很多
 
B帧:
B帧其实就是与前后两张图片的区别。如果理解了P帧和I帧,这个就很好理解了。
B帧比P帧更小,更节省空间
 
假设现在有三张图片,如下图:
技术分享图片
在经过编码后,会变成如下:
技术分享图片
 
参考资料:
 

图解 I帧,B帧以及P帧

标签:组成   type   dia   参考   www.   图片大小   完整   jpeg   ora   

原文地址:https://www.cnblogs.com/linyilong3/p/9940210.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!