在视频压缩编码中,会将每一帧编码成I帧、P帧或者B帧.

I帧

I帧又称帧内编码帧,是一种自带全部信息的独立帧,无需参考其他图像便可独立进行解码,即全部为帧内编码。可以简单理解为一张静态画面。视频序列中的第一个帧始终都是I帧,因为它是关键帧。如果传输过程中I真丢失,画面最直接的影响就是会卡顿,因为后面的帧都无法正确解码,只能等待下一个GOP。

IDR帧

即时解码刷新,其实就是I帧,不过他是第一个I帧,或者是强制I帧,它的作用就是立即刷新,使错误不至于传播,从IDR开始,重新算一个新的序列开始编码。IDR会导致DPB(参考序列表)清空,而I帧不会,IDR帧一定是I帧,但是I帧不一定。一个图像序列中可以有很多I帧,一个I帧后的图像可以引用I帧之间的图像做运动参考,但是对于IDR帧来说,IDR帧后的图像不能引用IDR之前的帧内容,因为从IDR帧相当于重新开始。

P帧

P帧又称帧间预测编码帧,需要参考前面的I帧才能进行编码。表示的是当前帧画面与前一帧(前一帧可能是I帧也可能是P帧)的差别。解码时需要用之前缓存的画面叠加上本帧定义的差别(采用了预测编码),生成最终画面。与I帧相比,P帧通常占用更少的数据位,但不足是,由于P帧对前面的P和I参考帧有着复杂的依耐性,因此对传输错误非常敏感,所以如果P帧丢失,画面会出现马赛克现象,因为前向参考帧错误,补齐的并不是真正运动变化后的数据。

B帧

B帧又称双向预测编码帧,也就是B帧记录的是本帧与前后帧的差别。也就是说要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。B帧压缩率高,但是对解码性能要求较高。如果图像中没有B帧,解码顺序和显示顺序相同;如果视频中含有B帧,解码顺序和现实序列不同,解码输出显示前需要进行图像重排列。目前接触到一般都是 I + P。

PTS:Presentation Time Stamp。PTS主要用于度量解码后的视频帧什么时候被显示出来

DTS:Decode Time Stamp。DTS主要是标识读入内存中的bit流在什么时候开始送入解码器中进行解码

例如:

编码器输入为:

1 2 3 4 5 6 7

I B B P B B P

解码顺序(DTS也是这个顺序):

1I 4P 2B 3B 7P 5B 6B

显示顺序(PTS也是这个顺序):

1I 2B 3B 4P 5B 6B 7P

【视频】编码基础知识之I帧、P帧、B帧相关推荐

  1. 音视频开发(24)---H.264视频编码基本知识

    H.264视频编码基本知识 一.视频编码技术的发展历程 视频编码技术基本是由iso/iec制定的mpeg-x和itu-t制定的h.26x两大系列视频编码国际标准的推出.从h.261视频编码建议,到 h ...

  2. 视频格式基础知识 让你了解MKV MP4 H 265 码率\码流 多码流等等

    转载请标明出处:http://blog.csdn.net/xx326664162/article/details/51784440   文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一 ...

  3. 理解HLS流及数字视频的基础知识

    HLS (HTTP Live Streaming) HLS是一种基于HTTP的流媒体协议. HLS的工作原理 HLS的工作原理是将流分解为一系列小数据包. 在流会话开始时,HLS下载一个扩展名为M3U ...

  4. 音视频知多少(1)声音与视频的基础知识

    前言 最近新加入的公司在嵌入式音视频方面算是全国领先水平,因而在完成自己本职的工作的时候有必要在这一方面做一系列的提升,以跟上其他同事的世界,不光光只支持BSP的能力,在我看来也是需要将视频流作为自己 ...

  5. 音频编码和视频编码基础

    音频编码和视频编码基础 1 音频数字化 1.1 PCM 1.2 音频编码方式 2 视频数字化 2.1 RGB/YUV 2.2 视频编码方式 2.3 编码中的重要概念 1 音频数字化 1.1 PCM 音 ...

  6. ffmpeg调整缩放裁剪视频的基础知识(转)

    源网址:ffmpeg调整缩放裁剪视频的基础知识 - yongfengnice - 博客园 1. resize and scale video 调整视频的大小和尺寸 1-1.调整视频大小(resize) ...

  7. 计算机字符编码基础知识

    计算机字符编码基础知识 由于计算机只能识别0和1,所以字符(文字.符号)需要编码,图像.音频.视频等也需要编码.本文主要介绍字符编码,特别是与机内码相关的内容. 字符的处理涉及到下列三类编码: 输入码 ...

  8. 视频测试基础知识--视频算法DMOS和PPSNR--视频参考与无参考测试介绍

    视频测试基础知识--视频算法DMOS--视频参考与无参考测试介绍 测试则从传统的静态.单帧像分析,转换为动态测试.图像质量分析. 虽然单帧像分析可提供信号定时.色深.线条同步化,以及更多有用信息,但压 ...

  9. CAN总线基础知识(4)——CAN的错误帧

    CAN总线基础知识(4) 什么是错误帧? 用于接收到单元向具有相同ID的发送的单元请求数据的帧. 尽管CAN-bus是可靠性很高的总线,但依然可能出现错误;CAN-bus的错误类型共有5种. 当出现5 ...

  10. 计算机ucs汉字编码,字符编码基础知识 - Unicode,UCS,GBK,GB2312,UTF-8

    字符编码基础知识- Unicode,UCS,GBK,GB2312,UTF-8 最近遇到一个Unicode和UTF-8关系比较的问题,之前在处理中文显示时也遇到过类似的问题,于是花时间学习了一下,在此做 ...

最新文章

  1. RedLock: 看完这篇文章后请不要有任何疑惑了
  2. @Transactional事务的使用和注意事项及其属性
  3. Pytorch搭建SSD目标检测平台
  4. BugkuCTF-Misc:白哥的鸽子
  5. 稀疏矩阵加法运算_1.2 震惊! 某大二本科生写的矩阵乘法吊打Mathematica-线性代数库BLAS-矩阵 (上)...
  6. 计算机专业office,2011 级计算机专业 Office 办公软件期末考试.doc
  7. 【Qt】Qt5.12编译MySQl5.7驱动(亲自测试成功)
  8. EOJ_1020_铁路调度
  9. 【软件架构】三层架构
  10. 《真还传》剧终:6亿欠款还完了?罗永浩被执行信息清零,最新回应来了
  11. 你的Android应用完全不需要那么多的权限
  12. shell脚本编写笔记
  13. 采用加速度传感器的角度测量仪系统硬件电路设计_温度传感器电路
  14. 寻仙服务器要维护多久,新寻仙正式服5.0.6.1更新公告
  15. 近十年量化交易领域最重要的十本参考书推荐!重要!
  16. vscode vue es6语法配置检测
  17. Pr 入门教程 如何使用超级键效果?
  18. e3服务器性能怎么样,Inte至强 E3-1230 V3性能怎么样?跟 i7 相比呢?
  19. lisp 角平分线_证明冯奥贝尔定理的3种方法
  20. Edge浏览器访问特殊网站端口(如10080)出现ERR_UNSAFE_PORT解决办法

热门文章

  1. 中关村银行与第四范式达成战略合作,携手开创供应链“AI+金融”新纪元
  2. 简单三步教你利用VMProtect轻松保护你的代码
  3. Flash AS3.0 actionscript全屏播放代码
  4. 学习《中观》五个问题解答
  5. oracle rac实例停止,用srvctl 命令停止RAC 数据库某个实例
  6. 求两组整数集的“或”集
  7. 使用委托实现信用卡用定时还款功能
  8. Understanding Diffusion Models
  9. Pytorch复现RepVGG模型,实现花分类
  10. 【转】编译EDEM2018+Fluent19.0耦合接口