一、 视频帧分析
1、MediaInfo 显示视频信息
使用 MediaInfo 软件 打开一个 mp4 文件 , 查看其属性 ;
2、码率 / 帧率 / 分辨率 视频信息
该视频的属性如下 :
- 码率 : 212kb/s , 这是 视频文件 的 视频信息 在 单位时间内的 数据流量 , 码率越大 , 单位时间内采样率越大 , 数据流精度越高 , 视频质量越高 ;
- 视频帧率 : 5fps , 1 秒中有 5 帧的信息 , 帧率越高 , 视频越流畅 ;
- 视频分辨率 : 1364*788 , 该视频 宽度 1364 像素 , 高度 788 像素 , 分辨率越高显示效果越好 , 占用的码率也就越高 ;
二、 I 帧 - 内部编码帧
1、I 帧简介
I 帧 , 完整名称是 " Intra Coded Frames " , " 内部编码帧 " , 指的是 不需要 参考 其它 视频帧 , 就可以 独立进行解码 , 生成 完整图像 ;
- I 帧 编码 采用的是 帧内编码 方式 , 又称为 " 帧内压缩法 “,” 关键帧压缩法 " ;
- I 帧 可以 解码成 完整图像 , 该帧的 信息量 比较大 ;
- I 帧 是 画面组 ( Group of Pictures ) 的 第一帧 , 画面组 内 还有 P 帧 和 B 帧 ;
- I 帧 是 P 帧 和 B 帧 的 参考帧 ;
- I 帧 的 质量 决定了 同组 P 帧 和 B 帧 解码后的 一系列 画面帧 质量 ;
- I 帧 在 图像序列 中 周期性 出现 , 出现的频率 由 编码器 选择 ;
- I 帧 没有 " 运动矢量 " 概念 , 不需要考虑 运动矢量 情况 ;
2、I 帧 - 关键帧压缩法
" 关键帧压缩法 " 是 基于 " 离散余弦变换 ( DCT ) " 实现的 , 与 JPEG 压缩算法类似 ;
通过 进行帧内压缩 , I 帧 可以达到较高的压缩比 , 而不会产生明显的压缩痕迹或模糊现象 ; 如 : 压缩效果达到 6:1 ;
" 关键帧压缩法 " 可以有效地去除 视频的 " 空间冗余信息 " ;
三、 P 帧 - 前向预测帧
1、P 帧简介
P 帧 全称 " 前向预测帧 ( Predicted Frames ) " , 是 视频编码 中的一种 帧类型 ,
- P 帧 采用 前向预测编码方式 ,
- 根据 本帧 ( P 帧 ) 与 相邻的 前一帧 ( I 帧 或 P 帧 ) 的 不同点来压缩本帧数据 , 不能参考 B 帧 ;
- 只记录 不同点 ,
- 这样可以 充分去除 图像序列 中 前面已编码帧 的 时间冗余信息 来压缩传输数据量的编码图像
- P 帧 又被称为 " 预测帧 " ;
P 帧 中的 图像数据并不是完整的 , 而是相对于前面的参考帧的差异数据 ;
在解码时 , 需要将 参考帧的数据 I 帧 与 P 帧 的差异数据进行合并 , 才能还原出完整的图像 ;
2、P 帧解码案例
P 帧 解码 , 需要 依赖于 I 帧 才能完成解码 ;
P 帧 只记录了 与 I 帧 不同的内容 , 也就是 只有 与 I 帧的 差异部分 , 相同的部分没有 ;
解码 P 帧 , 必须 先解码 I 帧 ;
I 帧 解码完成后 , 将 I 帧 与 P 帧 合并 , 才能得到完整的 P 帧 ;
3、P 帧顺序不能颠倒
P 帧 的 压缩效率较高 , 因为它 只 包含了 与参考帧 I 帧 的差异数据 , 而不是完整的 画面帧数据 ;
由于 P 帧 依赖于前面的 I 帧 或 P 帧 , 因此在视频流中 , P帧必须按照正确的顺序进行传输和解码 , 否则会导致图像出现错误 ;文章来源:https://www.toymoban.com/news/detail-829442.html
下图中 , P1 帧 解码 依赖于 I 帧 , P2 帧解码 依赖于 P1 帧 , 但是 如果 P2 帧 与 P1 帧 出现颠倒 , 解码出来的视频信息 , 就会出现部分区域乱码或马赛克 ;
文章来源地址https://www.toymoban.com/news/detail-829442.html
到了这里,关于【音视频原理】视频帧的 I P B 帧概念 ① ( 码率 / 帧率 / 分辨率 视频信息 | I 帧 - 内部编码帧 | I 帧 - 关键帧压缩法 | P 帧 - 前向预测帧 )的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!