python html5 bootstrap 视频教程

德云社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1571|回复: 0

什么是多媒体 流媒体音视频中的 I帧 P帧 B帧

[复制链接]

185

主题

204

帖子

1175

积分

工程师

Rank: 5Rank: 5

金钱
759
金币
15
威望
0
贡献
0
发表于 2022-1-20 19:56:23 | 显示全部楼层 |阅读模式
AI人工智能 语音助理 人工翻译 教程
什么是多媒体 流媒体音视频中的 I帧 P帧 B帧

I 帧

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


智能编辑重构 批处理式 "数字 Python IDE" 集成开发环境 (集成高效 Cython PyInstaller 批处理小程序)

http://dt.digitser.cn/zh-CN/ide/idepy/index.html


IDR

IDR 是 Instantaneous Decoding Refresh 的缩写,中文译为即时解码刷新。

I 帧和 IDR 帧都使用帧内预测。它们是同一种东西,在编码和解码中为了方便,要将首个 I 帧和其它 I 帧区别开,所以才把第一个首 I 帧叫 IDR,这样方便控制编码和解码流程。

IDR 帧的作用是立刻刷新,使错误不致传播,从 IDR 帧开始,重新算一个新的序列开始编码。而 I 帧不具有随机访问能力,这个功能由 IDR 承担。

IDR 会导致 DPB (Decoded Picture Buffer 参考帧列表) 被清空,而 I 帧不会。

IDR 图像一定是 I 图像,但 I 图像不一定是 IDR 图像。一个序列中可以有很多的 I 图像,I 图像之后的图像可以引用 I 图像之间的图像做运动参考。

对于 IDR 帧,其后的所有帧都不能引用任何 IDR 帧之前的帧内容,与此相反,对于普通 I 帧,其后的 B 帧和 P 帧可以引用位于普通 I 帧之前的 I 帧。

从随机存取的视频流中,播放器永远可以从一个 IDR 帧播放,因为在它之后没有任何帧引用之前的帧。但是,在没有 IDR 帧的视频中不能从任意点开始播放,因为后面的帧总是会引用前面的帧。

P帧

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 帧某点的预测值和两个运动矢量,并取预测差值和运动矢量传送。接收端根据运动矢量在两个参考帧中查找 B 帧。

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



扫一扫关注 德云社区 微信公众号

版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载。
AI人工智能 语音助理 人工翻译 教程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|Sitemap|小黑屋|德云社区 |网站地图  

GMT+8, 2024-3-28 18:59 , Processed in 0.049889 second(s), 27 queries .

工业和信息化部: 粤ICP备14079481号-2

技术支持 乐数软件     版权所有 © 2014-2021 德云社区    

快速回复 返回顶部 返回列表