-
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 熵编码 帧编码 片组数目(帧编码) 初始量化参数 区块滤波系数
- SPS 参数序列集(帧内参数,约束gop的参数)
-
帧内压缩理论:
- 1.相邻像素差别不大,有宏块预测的基础
- 2.人眼对亮度的敏感超过色度
- 3.yuv分开存储,利于压缩
-
宏块预测有9种模式
-
残差值 = 原始图像 - 预测出的图像
压缩时,预测图象压缩+残差值压缩(补偿残差);主要用在帧内压缩
运动补偿:在解码时将残差值的影响考虑在内 -
运动估计:根据宏块匹配的手段找到运动矢量的过程称运动估计
-
宏块查找:目的是找到宏块的运动轨迹(运动矢量)
-
宏块查找算法:
三步搜索 二位对数搜索 四步搜索 钻石搜索 -
压缩编码的主要手段是:运动矢量+补偿压缩(残差值补偿),图像还原的原理也是依据这两点
-
花屏,马赛克原因:GOP中丢帧(主要丢失的是P,B帧,运动矢量,残差值也丢失)
-
花屏的兄弟-卡顿:当GOP丢帧时,就丢弃掉GOP内所有帧,直到下一个GOP的IDR帧到来;这种情况的刷新周期就取决于IDR帧间隔(I帧间隔)
卡顿和花屏不能兼得,互斥关系
LC视频编码
最新推荐文章于 2023-05-06 15:29:41 发布