【音视频原理】视频帧的 I P B 帧概念 ② ( B 帧 - 双向内插帧 | 画面组 Group of Pictures 概念 | 各类型帧解码错误影响 | 画面组编解码顺序 | 常用视频压缩算 )

这篇具有很好参考价值的文章主要介绍了【音视频原理】视频帧的 I P B 帧概念 ② ( B 帧 - 双向内插帧 | 画面组 Group of Pictures 概念 | 各类型帧解码错误影响 | 画面组编解码顺序 | 常用视频压缩算 )。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。





一、B 帧 - 双向内插帧



1、B 帧简介


B 帧 全称 " 双向内插帧 ( Bi-directional Predicted Frames ) " , 采用 双向预测编码方式 , 也就是 B 帧 记录的是 本帧 B 帧 前后 I 帧 或 P 帧 的差别 ;

注意 : B 帧 需要依赖于其前的最近的一个 I 帧 或者 P 帧 及其后的最近的一个 P 帧 进行解码 , B 帧 不能 依赖与 B 帧 ;

  • B 帧 依赖的 前一帧 可以是 I 帧 或者 P 帧 ;
  • B 帧 依赖的 后一帧 肯定是 P 帧 , 不可能 是 I 帧 ;

要解码B帧 , 不仅要取得之前的缓存画面 , 还要解码之后的画面 , 通过 前后画面帧 与 本帧 共 3 帧的 数据叠加 取得最终的画面 ;

B 帧 压缩率高 , B 帧 的 压缩 与 解码 对计算机的性能要求较高 ;


2、B 帧解码案例


B 帧解码时 , 需要参考 前后 两帧 数据 ;

下面的 三帧 数据进行解码时 ,

首先 , 解码 I 帧关键帧 ,

然后 , 解码 P 帧 , 根据 I 帧 解码 P 帧 ,

最后 , 解码 B 帧 , 根据 I 帧 和 P 帧 解码 B 帧 ;

【音视频原理】视频帧的 I P B 帧概念 ② ( B 帧 - 双向内插帧 | 画面组 Group of Pictures 概念 | 各类型帧解码错误影响 | 画面组编解码顺序 | 常用视频压缩算 ),音视频原理,音视频,I帧,B帧,P帧,画面组,GOP,编解码算法





二、画面组 Group of Pictures 概念



1、画面组 Group of Pictures 概念


画面组 ( Group of Pictures ) 由 I 帧 / P 帧 / B 帧 组成 ;

  • I 帧是 " 内部编码帧 ( Intra Coded Frames ) " , 可以作为随机访问的参考点 , 并且可以被视为一个完整的图像 ;
    • 画面组 的 第一帧 , 必须是 I 帧 ;
    • 一个画面组中 , 只有一个 I 帧 ;
  • P 帧是 " 前向预测帧 ( Predicted Frames ) " , 记录的是 相对于前一帧 的变化 ;
  • B 帧是 " 双向内插帧 ( Bi-directional Predicted Frames ) " , 记录的是 相对于前后帧 的差别 ;

画面组 ( GOP , Group of Pictures ) 的 长度P 帧 / B 帧的数量 等参数 , 对视频压缩效率和图像质量有着重要影响。


画面组 ( GOP , Group of Pictures ) 长度越长 , P 帧 和 B 帧 的数量越多 ,

  • 视频压缩效率越高 ;
  • 图像质量越差 ;

在实际应用中需要 根据具体需求 和 场景 来选择合适的 GOP 参数 , 以达到最佳的 压缩效果 和 图像质量 ;


2、各类型帧解码错误影响


B 帧 不是参考帧 , 解码错误 不会扩散到其它帧 , 只会影响自己所在的一个帧 ;

I 帧 一旦解码错误 , 会影响到整个 画面组 的 显示 ;

P 帧 解码错误 , 会影响到 后续 P 帧 , 或者依赖该 P 帧 之前 或 之后 的 B 帧 的 画面显示 ;





三、画面组 Group of Pictures 编解码顺序



1、画面组相关的几个次序说明


画面组相关的几个次序说明 : 在下图中有几个相关的顺序 ;
【音视频原理】视频帧的 I P B 帧概念 ② ( B 帧 - 双向内插帧 | 画面组 Group of Pictures 概念 | 各类型帧解码错误影响 | 画面组编解码顺序 | 常用视频压缩算 ),音视频原理,音视频,I帧,B帧,P帧,画面组,GOP,编解码算法

  • 解码顺序 : 先解码 I 帧 关键帧 , 再解码 P 帧 , 最后解码 B 帧 ;
  • 显示顺序 : 就是帧正常排列的顺序 ;
  • DTS : Decoding Time Stamp , 解码时间戳 , 告知播放器该在何时解码这一帧的数据 , 该时间戳是 AVPacket 结构体中的一个成员 , 表示这个压缩包应该何时被解码 ;
  • PTS : Presentation Time Stamp , 显示时间戳 , 告诉播放器该在何时显示这一帧的数据 , 该数据决定帧在播放过程中实际显示时间的关键因素 ;

大多数 编解码标准中 ( 如 : H.264 ) , 编码顺序 和 显示顺序 可能并不一致 , 特别是当存在B帧时 ;

此时 DTS 和 PTS 就显得尤为重要 , 这两个时间戳 能够确保音视频数据的正确同步和顺序播放 ;


2、画面组解码次序详细解析


【音视频原理】视频帧的 I P B 帧概念 ② ( B 帧 - 双向内插帧 | 画面组 Group of Pictures 概念 | 各类型帧解码错误影响 | 画面组编解码顺序 | 常用视频压缩算 ),音视频原理,音视频,I帧,B帧,P帧,画面组,GOP,编解码算法

每个 GOP 画面组 都是以 I 帧开始 , 先把 I 帧 解码出来 ;


I 帧 意味着 重新开始 :

  • 丢弃数据 : 只要 I 帧 解码出来 , 就可以将前面的 GOP 画面组 抛开 , 丢弃 ; 之前 上一个 画面组 GOP 解码出来的 数据 , 保存的中间数据 , 差异数据 , 关键帧数据 , 可以全部丢弃了 ;
  • 新关键帧 : 之后的 数据 都以 这个 I 帧 为基础进行解码 ,
  • 错误终止 : 如果前面的 画面组 有解码错误 , 那么从这个 I 帧 开始 , 就不会出错了 ;

画面组 的 第一帧 I 帧 , 解码出来之后 , 就可以把 依赖于 该 I 帧的 前向预测帧 P 帧 , 解码出来 , 这是 第二个 需要解码的帧 ;

【音视频原理】视频帧的 I P B 帧概念 ② ( B 帧 - 双向内插帧 | 画面组 Group of Pictures 概念 | 各类型帧解码错误影响 | 画面组编解码顺序 | 常用视频压缩算 ),音视频原理,音视频,I帧,B帧,P帧,画面组,GOP,编解码算法


在 I 帧 和 P 帧 中间的 两个 B 帧 , 都依赖于 前面的 I 帧 和 后面的 P 帧 ;

  • 第二个 B 帧 , 记录的数据是与 第一个 I 帧 和 第四个 P 帧 的 差异数据 ;
  • 第三个 B 帧 , 记录的数据是与 第一个 I 帧 和 第四个 P 帧 的 差异数据 ;

两个 B 帧的 前后次序 , 就是 前后次序决定的 ;

如果 解码次序打乱 , 也可以按照 显示时间戳 进行 正确的播放 ;

【音视频原理】视频帧的 I P B 帧概念 ② ( B 帧 - 双向内插帧 | 画面组 Group of Pictures 概念 | 各类型帧解码错误影响 | 画面组编解码顺序 | 常用视频压缩算 ),音视频原理,音视频,I帧,B帧,P帧,画面组,GOP,编解码算法





四、常用视频压缩算法 ( 仅做参考 )



1、MPEG 阵营算法


MPEG 阵营算法 : Moving Picture Experts Group , 制定音视频压缩标准的国际组织 ;

  • MPEG-1 算法 : 针对 1.5 Mbps 以下数据传输率的数字存储媒体运动图像及其伴音编码的国际标准 , 应用广泛 , 如 : VCD ;
  • MPEG-2 算法 : 提供接近广播级质量的视频输出 , 常用于 DVD / 数字有线电视 领域 ;
  • MPEG-4 算法 : 流媒体 高质量视频 算法 , 以对象的压缩方式 提高了压缩效率 , 同时提供了更好的交互性和灵活性 ;
  • H264 算法 : 又称为 " AVC 算法 " , 高度压缩数字视频编解码器标准 , 以先进的压缩技术使得在同等图像质量的条件下 , 压缩后的数据量比以前的标准 ; 广泛应用于 网络流媒体 / 视频通话 / 高清电视广播等领域 ;
  • H265 算法 : 又称为 " HEVC 算法 " , 提供更高的压缩效率 , 更高分辨率的视频 , 如 4K / 8K ; 可以在维持相同视频质量的同时 , 将视频文件的压缩效率提高一倍 , 这意味着视频文件将减少一半 ;

2、中国阵营算法


中国阵营算法 :

  • AVS 算法 : 中国具有自主知识产权的音视频编码技术标准 , 制定数字音视频的压缩、解压缩、处理和表示等共性技术标准 , 为数字音视频设备与系统提供高效经济的编解码技术 ;

3、Google 阵营算法


Google 阵营算法 :文章来源地址https://www.toymoban.com/news/detail-824833.html

  • VP8 算法 : Google 开发的开源视频压缩格式 , 是 WebM 项目的一部分 , 提供高质量的实时视频压缩 , 同时保持较低的解码复杂性 ;
  • VP9 算法 : 提供了更高的压缩效率 , 也是 WebM 的一部分 , 用于 网络视频流 和 WebRTC 等应用 ;

到了这里,关于【音视频原理】视频帧的 I P B 帧概念 ② ( B 帧 - 双向内插帧 | 画面组 Group of Pictures 概念 | 各类型帧解码错误影响 | 画面组编解码顺序 | 常用视频压缩算 )的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【音视频原理】图像相关概念 ③ ( RGB 色彩简介 | RGB 排列 | YUV 色彩简介 | YUV 编码好处 )

    RGB 是 计算机 中的 颜色编码方法 , 红 ( R ) / 绿 ( G ) / 蓝 ( B ) 三个颜色通道 可以设置不同的值 , 每个 通道 的 颜色值都可以取值 0 ~ 255 , 这样 三个通道 叠加 , 可以表示出 25 6 3 = 16777216 256 ^3 = 16777216 25 6 3 = 16777216 种颜色值 ; 红 ( R ) / 绿 ( G ) / 蓝 ( B ) 三个颜色通道 都取值 255

    2024年01月20日
    浏览(50)
  • 【音视频】国标双向对讲方案

    目录 国标语音对讲-正统方案 特殊方案:私有协议等 结合zlm的使用  语音广播流程  实时点播  参考资料 a)  实时音视频点播  b) 语音广播功能   参考资料中的“大华及其它” 描述的最为清晰 。     语音对讲的的整体流程为: 先拉流播放设备的视频; 使用WebRTC推送语音流

    2024年02月13日
    浏览(31)
  • 【音视频】国际双向对讲方案

    目录 国标语音对讲-正统方案 特殊方案:私有协议等 结合zlm的使用  语音广播流程  实时点播  参考资料 a)  实时音视频点播  b) 语音广播功能   参考资料中的“大华及其它” 描述的最为清晰 。     语音对讲的的整体流程为: 先拉流播放设备的视频; 使用WebRTC推送语音流

    2023年04月24日
    浏览(25)
  • JavaScript音视频,使用JavaScript如何在浏览器录制电脑摄像头画面为MP4视频文件并下载视频文件到本地

    本章介绍使用JavaScript如何在浏览器录制电脑摄像头画面为MP4视频文件并下载视频文件到本地。 1、使用navigator.mediaDevices.getUserMedia获取摄像头画面 2、将获取到的摄像头画面渲染到canvas画板上 3、将canvas转换为blob对象 4、通过document.createElement(‘a’)调用 href 方法获取此链接并触

    2024年02月02日
    浏览(52)
  • 【音视频原理】图像相关概念 ⑥ ( YUV 与 RGB 之间的转换 | YUV444 颜色编码格式 转为 RGB 格式 | RGB 颜色编码格式 转为 YUV444 格式 )

    YUV 与 RGB 颜色格式之间进行转换时 , 涉及一系列的数学运算 ; YUV 颜色编码格式 转为 RGB 格式 的 转换公式 取决于 于 YUV 的具体子采样格式 : YUV444 YUV422 YUV420 YUV444 格式 转为 RGB 格式 的 转换公式如下 : R = Y + 1.13983 * (V - 128) G = Y - 0.39465 * (U - 128) - 0.58060 * (V - 128) B = Y + 2.03211 * (U

    2024年01月24日
    浏览(43)
  • 音视频基础概念(6)——视频基础

    网上冲浪时,我们会接触到网络流媒体和本地视频文件。常见的视频文件格式有MP4、MKV、AVI等。在流媒体网站上看见视频常用的协议有HTTP、RTSP、RTMP、HLS等。视频技术较为复杂,包括视频封装、视频编解码、视频播放和视频转码等内容。 当下市场常见的视频APP很多,其中10

    2024年02月04日
    浏览(94)
  • 音视频基本概念

    充分利用cpu资源的工具  多线程管理问题 资源 有限多个人去抢 有序进行 读写锁 读写分离 自旋锁 等待资源释放(例如) 可重入锁 SDL锁 互斥锁 SDL_CreateMutex/SDL_DestroyMutex SDL_LockMutex/SDL_UnlockMutex 信号量 SDL_CreateCond/SDL_DestroyCond SDL_CondWait/SDL_CondSignal pts:Presentation timestamp  展示音

    2024年01月22日
    浏览(38)
  • 音视频中的基本概念

    操作系统中的文件名都有后缀,即扩展名,例如1.doc,2.jpg,3.avi等。设置扩展名的目的是让系统中的应用程序来识别并关联这些文件,让相应的文件由相应的应用程序打开。常见的文件格式如1.avi,2.mpg,3.mp4这些都叫做视频的文件格式,可由电脑上安装的视频播放器关联和打

    2024年02月17日
    浏览(38)
  • 音视频、网络带宽等常用概念详解

            AAC帧大小为1024个sample: 指AAC编码一般以1024个采样为一个音频帧 。         采样率48khz :指1秒(即1000毫秒) 采集 4 8 0 0 0 次 。         计算1秒有多少帧 :48000 / 1024 = 46.875 = a(用a表示计算结果,多少帧) 。         计算每帧持续时长 :     

    2024年04月16日
    浏览(34)
  • 音视频基础概念(5)——音频基础说明

    现实生活中,音频(Audio)主要用在两大场景中,包括语音(Voice)和音乐(Music)。语音主要用于沟通,如打电话等。目前由于语音识别技术的发展,人机语音交互也是语音的一个应用方向,很多大厂推出智能音箱、语音助手等。音乐主要用于欣赏和陶冶情操,如播放音乐。

    2023年04月08日
    浏览(85)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包