[转]I,P,B帧和PTS,DTS的关系
基本概念
I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象。I帧可以看成是一个图像经过压缩后的产物。
P frame: 前向预测编码帧 又称predictive-frame,通过充分将低于图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像,也叫预测帧;
B frame: 双向预测内插编码帧 又称bi-directional interpolated prediction frame,既考虑与源图像序列前面已编码帧,也顾及源图像序列后面已编码帧之间的时间冗余信息来压缩传输数据量的编码图像,也叫双向预测帧;
PTS:Presentation Time Stamp。PTS主要用于度量解码后的视频帧什么时候被显示出来
DTS:Decode Time Stamp。DTS主要是标识读入内存中的bit流在什么时候开始送入解码器中进行解码。
在没有B帧存在的情况下DTS的顺序和PTS的顺序应该是一样的。
IPB帧的不同
I frame:自身可以通过视频解压算法解压成一张单独的完整的图片。
P frame:需要参考其前面的一个I frame 或者B frame来生成一张完整的图片。
B frame:则要参考其前一个I或者P帧及其后面的一个P帧来生成一张完整的图片。
两个I frame之间形成一个GOP,在x264中同时可以通过参数来设定bf的大小,即:I 和p或者两个P之间B的数量。
通过上述基本可以说明如果有B frame 存在的情况下一个GOP的最后一个frame一定是P.
DTS和PTS的不同:
DTS主要用于视频的解码,在解码阶段使用.PTS主要用于视频的同步和输出.在display的时候使用.在没有B frame的情况下.DTS和PTS的输出顺序是一样的.
例子
下面给出一个GOP为15的例子,其解码的参照frame及其解码的顺序都在里面:
如上图:I frame 的解码不依赖于任何的其它的帧.而p frame的解码则依赖于其前面的I frame或者P frame.B frame的解码则依赖于其前的最近的一个I frame或者P frame 及其后的最近的一个P frame.
原文链接
[转]I,P,B帧和PTS,DTS的关系相关推荐
- GOP(Group of pictrues) I帧 B帧 P帧 MPEG PTS DTS 码率 帧率
资料 I.P.B帧区别 图像I.B.P帧介绍 视频编解码基本概念之 GOP I帧 帧内编码帧 又称 intra picture ,I 帧通常是每个 GOP( MPEG 所使用的一种视频压缩技术)的第一 ...
- (转)I,P,B帧和PTS,DTS的关系
基本概念: I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象. ...
- x264中I,P,B帧和PTS,DTS的关系
基本概念: I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象. ...
- I,P,B帧和PTS,DTS的关系 转载
基本概念: I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象. ...
- I帧、P帧、B帧、GOP、IDR 和PTS, DTS之间的关系
I帧.P帧.B帧.GOP.IDR 和PTS, DTS之间的关系 一.视频传输原理 视频是利用人眼视觉暂留的原理,通过播放一系列的图片,使人眼产生运动的感觉.单纯传输视频画面,视频量非常大,对现有的网络 ...
- 音视频基础: I帧 P帧 B帧 GOP DIR PTS DTS 帧率 码率的介绍
目录标题 基本概念 帧的介绍 I帧:帧内编码帧 P帧:前向预测编码帧 B帧:双向预测内插编码帧 IPB帧的区别 DTS和PTS GOP(序列)和IDR I帧和IDR帧的异同 帧率(FPS)和码率(BP ...
- 只有i帧的pts,dts,如何求取中间的b帧和p帧的长度和解码时间
只有i帧的pts,dts,如何求取中间的b帧和p帧的长度和解码时间? 如果是consant frame rate,(LastPTS-FirstPTS)/Frame count, 应该就知道每个fram ...
- 用FFMPEG SDK进行视频转码压缩时解决音视频不同步问题的方法(转) PTS DTS
用FFMPEG SDK进行视频转码压缩的时候,转码成功后去看视频的内容,发现音视频是不同步的.这个的确是一个恼火的事情.我在用FFMPEG SDK做h264格式的FLV文件编码Filter的时候就碰到 ...
- ffmpeg pts dts
*Function:掌握ffmpeg中时间戳的知识点.并根据实际的时间来生成ffmpeg内部不同时间基的时间戳*知识点1:av_q2d(AVRational a)函数av_q2d(AVRational ...
最新文章
- Python爬虫之破解百度翻译--requests案例详解(一)
- C++ Primer 5th笔记(chap 14 重载运算和类型转换)函数匹配与重载运算符
- 【温故知新】CSS学习笔记(三大特性)
- 让IDA Pro输出能让gcc编译器直接编译的.s汇编文件
- java中redis原理_Redis字符串键的底层原理
- python多态_Python基础入门18节-第十六节 面向对象如何理解多态
- (06)FPGA工程师能力
- Google Native Client介紹
- Ubuntu 推荐 Mysql 可视化管理工具
- 编写一个程序,给出汉字“你” “我” “他”在Unicode表中的位置
- html+css改字体,css怎么改字体样式?
- 双向晶闸管,调压电路,开关电路,楼梯灯电路,光控路灯,无电弧接触器电路
- Eclipse 官方简体中文语言包下载地址及安装方法
- bp神经网络 损失函数,bp神经网络参数优化
- 手动查毒删除病毒文件图
- 【小5聊】移动开发性能优化解决卡顿眩晕问题提高用户体验
- 《火焰纹章风花雪月》能力属性和战斗计算公式研究
- 青龙面板哔哩哔哩抽奖白嫖
- 杭州(含嘉兴,绍兴,金华,湖州,义乌)Uber优步司机奖励政策(1月25日~1月31日)...
- Day212.OAuth2、微信二维码登入注册功能、用户登录信息前后端供、讲师列表前后端 -谷粒学院
热门文章
- 列表-列表的排序和反转
- linux 搜索文件名中非,Linux服务器中非 root 用户安装(多版本) CUDA 和 cuDNN
- 计算机语言import,python中import指的是什么意思
- 【Homework】说出 == 和 equals 的区别
- 坦克大战java_清华毕业大佬用一个坦克大战项目讲完了23种设计模式
- 静态内存、动态内存与堆栈
- activiti 工作流 动态 设置 指定 节点任务人、责任人、组 的实现方式
- 3种纯CSS实现中间镂空的12色彩虹渐变圆环方法
- 用VIPER构建iOS应用
- storm 动态设置并发度