LC视频编码

  • NALU 以 0000 0001划分开

  • yuv420p一个pix占用字节数1.5Byte
    rgb 8bit位深,3通道(不含透明度),一个pix占用3Bytes

  • h264编码(pix:640*480 yuv420p fps=15 500kbps)常见压缩比1%
    常见电影_fps>=60; 视频直播_fps>=15

  • 码率经验值.参考https://docs,agora.io/cn

  • b帧多的缺点,占用cpu;解码耗时;不宜直播
    实时:i+p;转码:大量b帧,为减小存储

  • IDR帧,特殊的I帧,解码立即刷新帧,由于每个GOP间明显的差别

    • 特点:解码端遇到IDR会将缓存清空,重新解码
    • 每个GOP中第一帧就是IDR
  • h264默认编码(不是编码顺序,可以看作gop中帧顺序)
    IBBBPBBBPBBBI
    B帧间无相互关系,B帧参考始终是之前的I和之后的P帧

  • SPS PPS 在每个IDR帧前都会成对出现这两种帧(参数术语)

    • SPS 参数序列集(帧内参数,约束gop的参数)
      SPS_ID 帧数 参考帧数量(可参考一帧,亦可参考多帧) 解码图像尺寸 编码模式
    • PPS 图像参数集(约束GOP中每帧的参数)
      ID 熵编码 帧编码 片组数目(帧编码) 初始量化参数 区块滤波系数
  • 帧内压缩理论:

    • 1.相邻像素差别不大,有宏块预测的基础
    • 2.人眼对亮度的敏感超过色度
    • 3.yuv分开存储,利于压缩
  • 宏块预测有9种模式

  • 残差值 = 原始图像 - 预测出的图像
    压缩时,预测图象压缩+残差值压缩(补偿残差);主要用在帧内压缩
    运动补偿:在解码时将残差值的影响考虑在内

  • 运动估计:根据宏块匹配的手段找到运动矢量的过程称运动估计

  • 宏块查找:目的是找到宏块的运动轨迹(运动矢量)

  • 宏块查找算法:
    三步搜索 二位对数搜索 四步搜索 钻石搜索

  • 压缩编码的主要手段是:运动矢量+补偿压缩(残差值补偿),图像还原的原理也是依据这两点

  • 花屏,马赛克原因:GOP中丢帧(主要丢失的是P,B帧,运动矢量,残差值也丢失)

  • 花屏的兄弟-卡顿:当GOP丢帧时,就丢弃掉GOP内所有帧,直到下一个GOP的IDR帧到来;这种情况的刷新周期就取决于IDR帧间隔(I帧间隔)
    卡顿和花屏不能兼得,互斥关系

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值