I帧:

帧内编码帧是一种自带全部信息的独立帧,无需参考其它图像便可独立进行解码,视频序列中的第一个帧始终都是I帧。

IDR帧(Instantaneous Decoding Refresh -- 即时解码刷新

I和IDR帧都是使用帧内预测的。它们都是同一个东西而已,在编码和解码中为了方便,要首个I帧和其他I帧区别开,所以才把第一个首个I帧叫IDR,这样就方便控制编码和解码流程。 IDR帧的作用是立刻刷新,使错误不致传播,从IDR帧开始,重新算一个新的序列开始编码。而I帧不具有随机访问的能力,这个功能是由IDR承担。 IDR会导致DPB(DecodedPictureBuffer 参考帧列表——这是关键所在)清空,而I不会。IDR图像一定是I图像,但I图像不一定是IDR图像。一个序列中可以有很多的I图像,I图像之后的图像可以引用I图像之间的图像做运动参考。一个序列中可以有很多的I图像,I图像之后的图象可以引用I图像之间的图像做运动参考。

对于IDR帧来说,在IDR帧之后的所有帧都不能引用任何IDR帧之前的帧的内容,与此相反,对于普通的I-帧来说,位于其之后的B-和P-帧可以引用位于普通I-帧之前的I-帧。从随机存取的视频流中,播放器永远可以从一个IDR帧播放,因为在它之后没有任何帧引用之前的帧。但是,不能在一个没有IDR帧的视频中从任意点开始播放,因为后面的帧总是会引用前面的帧 。

收到 IDR 帧时,解码器另外需要做的工作就是:把所有的 PPS 和 SPS 参数进行更新。

对IDR帧的处理(与I帧的处理相同):

(1) 进行帧内预测,决定所采用的帧内预测模式。

(2) 像素值减去预测值,得到残差。

(3) 对残差进行变换和量化。

(4) 变长编码和算术编码。

(5) 重构图像并滤波,得到的图像作为其它帧的参考帧。

多参考帧情况下,  举个例子 :有如下帧序列: IPPPP I P PPP ……。按照 3 个参考帧编码。

因为“按照 3 个参考帧编码”,所以参考帧队列长度为 3 。

遇到绿色的 I 时,并不清空参考帧队列,把这个 I 帧加入参考帧队列(当然 I 编码时不用参考帧。)。再检测到红色的 P 帧时,用到的就是 PPI 三帧做参考了。

P帧:前向预测编码帧

在针对连续动态图像编码时,将连续若干幅图像分成P,B,I三种类型,P帧由在它前面的P帧或者I帧预测而来,它比较与它前面的P帧或者I帧之间的相同信息或数据,也即考虑运动的特性进行帧间压缩。P帧法是根据本帧与相邻的前一帧(I帧或P帧)的不同点来压缩本帧数据。采取P帧和I帧联合压缩的方法可达到更高的压缩且无明显的压缩痕迹。

P帧的预测与重构:P帧是以I帧为参考帧,在I帧中找出P帧“某点”预测值和运动矢量,取预测差值和运动矢量一起传送。在接收端根据运动矢量从I帧中找出P帧“某点”的预测值并与差值相加以得到P帧某点样值,从而可得到完整的P帧。

有的视频序列比较简单,就没有B帧,

B帧:双向预测内插编码帧

B帧的预测与重构

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

B帧是以前面的I或P帧和后面的P帧为参考帧,找出B帧“某点”的预测值和两个运动矢量,并取预测差值和运动矢量传送。接收端根据运动矢量在两个参考帧中。
--------------------- 
原文:https://blog.csdn.net/sphone89/article/details/8086071

HEVC: I帧、P帧及B帧相关推荐

  1. HEVC算法和体系结构:预测编码之帧内预测

    预测编码之帧内预测(Intra-Picture Prediction) 预测编码(Prediction Coding)是视频编码的核心技术之一,指利用已编码的一个或几个样本值,根据某种模型或方法,对当 ...

  2. H.266/VVC帧间预测技术学习:帧间和帧内联合预测(Combined inter and intra prediction, CIIP)

    在HEVC中一个CU在预测时要么使用帧内预测要么使用帧间预测,二者只能取其一.而VVC中提出的CIIP技术,是将帧间预测信号与帧内预测信号相结合. 在VVC中,当CU以Merge模式编码时,且CU包含 ...

  3. 【计算机网络】数据链路层 : 选择重传协议 SR ( 帧分类 | “发送方“ 确认帧、超时事件 | “接受方“ 接收帧机制 | 滑动窗口长度 | 计算示例 )★

    文章目录 一. 选择重传协议 ( SR ) 引入 二. 选择重传协议 ( SR ) 帧分类 三. 发送方 事件 ( 确认帧.超时事件 ) 四. 接收方 事件 ( 接收帧 ) 五. 滑动窗口长度 五. ...

  4. pyrealsense2 frame_metadata_value类(帧的元数据)(帧的元数据指可能针对每个单独的帧公开的一组只读属性)

    文章目录 from frame_metadata_value.py 问题 from frame_metadata_value.py # encoding: utf-8 # module pyreals ...

  5. 平滑动画 每秒60帧 -- 16ms内绘完一帧

    大多数Android显示系统是以每秒钟60帧的频率工作的(专业点说,叫60Hz).为获得更平滑的动画,就必须具有每秒钟处理60帧的能力--意味着每帧只能花费16毫秒的时间.如果这个过程超过16毫秒,动 ...

  6. ffmpeg如何在结尾添加帧_一种“视频帧对齐”的测试方案实践

    点击蓝字?关注[测试先锋],不再迷路!一起成为互联网测试精英,前瞻测试技术-导语全参考清晰度测算的时候,输入两个视频帧序列,但是视频帧序列没有对齐,怎么知道丢了哪帧?又怎么知道补回哪一帧?今天介绍一种 ...

  7. html帧内容,html将内容从一个帧移动到另一个帧

    所以我把一个本地运行的网页放在一起,目前有2个框架 - 一个是导航栏,另一个是内容,用导航栏中的链接定义.这是在Internet Explorer 8中运行的,不幸的是必须保持这种状态. 从长远来看, ...

  8. 为什么游戏帧数要到 60 帧每秒才流畅,而电影帧数只有24FPS?

    首先要说的是电影就是24FPS也不如60FPS的流畅,对比就可以看出来,但是24FPS不会让人觉得卡,甚至12FPS都不会让人觉得卡,而24FPS的游戏能让人很明显的感受到卡,12FPS就是幻灯片了, ...

  9. Android性能优化 _ 大图做帧动画卡?优化帧动画之 SurfaceView滑动窗口式帧复用

    (ps:粗斜体表示引导方案逐步进化的关键点) SurfaceView逐帧解析 & 帧复用 简单回顾下上一篇的内容:原生帧动画在播放前解析所有帧,对内存压力大.SurfaceView可以精细地控 ...

  10. 【H.264/AVC视频编解码技术详解】二十三、帧间预测编码(1):帧间预测编码的基本原理

    <H.264/AVC视频编解码技术详解>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战工程的形式对H.264的标准进行 ...

最新文章

  1. 信息检索技术——布尔检索
  2. 【Tools】Bandicam安装和卸载
  3. python list map成员排序_python – 同时对多个列表进行排序
  4. linux识别新加存储盘,Linux下新加磁盘
  5. 论文中地层岩性和岩组描述总结
  6. 如何让apache支持3gp下载
  7. 我的Spring MVC第一个应用
  8. 函数和常用模块【day06】:模块特殊变量(十四)
  9. hdfs 数据迁移_对象存储BOS发布全新工具,加速自建HDFS到云端的访问速度
  10. Python2笨方法学习Python--习题二:注释和井号
  11. 计算机网络实验:IP协议层分析
  12. ai钢笔工具怎么描线_AI描图工具及钢笔工具的使用技巧
  13. python获取word页数_使用Python的word文档的页数(Number of pages of a word document with Python)...
  14. 帮你学会webpack
  15. 顶级域名后缀列表(转)
  16. 用计算机画画内容,用计算机画画的教案
  17. 半导体器件 - 特殊二极管
  18. 《大家的日语1》语法整理1~48课
  19. ETC1/DXT1 compressed textures are not supported when publishing to iPhone
  20. 【计算机毕业设计】006基于SpringBoot的网上订餐系统

热门文章

  1. 惠普HP compaq康柏系列 CQ40笔记本电脑拆机除尘
  2. Dynamics CRM调用选择用户弹窗
  3. STM32F103_study48_The punctual atoms(STM32 Serial communication experiment )
  4. Liunx教程超详细(完整)
  5. SCI-HUB最新文献网站
  6. 去除百度搜索列表中广告的方法-电脑端
  7. SpringBoot安全管理 ——模块4:Spring Boot 整合 Shiro
  8. 【网单服务端】卡丁车深海之城单机游戏服务端+使用说明
  9. TextView中动态显示某些值
  10. 关于手机无法弹出谷歌通知栏验证的问题