【原】音视频基础知识(二)

1.H264基本概念

1.1 I帧:关键帧,采用帧内压缩技术

如:动画每秒钟25帧以上,第1帧即为这里的I帧

1.2 P帧:向前参考帧,压缩时只参考前一个帧;属于帧间压缩技术

如:第2帧参考第1帧

1.3 B帧:双向参考帧,压缩时既参考前一帧,也参考后一帧;属于帧间压缩技术

如:第2帧参考第1帧和第3帧(缺点:实时互动直播参考后一帧时占用时间)

1.4 GOF:一组帧(一个I帧到下一个I帧之间的内容,一组帧内的变化是很小的)

在一组帧之前首先会收到SPS和PPS

1.5 SPS(Sequence Parameter Set)

I帧,序列参数集,存放帧数、参考帧数目、解码图像尺寸、帧场编码模式选择标识等

1.6 PPS(Picture Parameter Set)

I帧,图像参数集,存放熵编码模式选择标识、片组数目、初始量化参数和去方块滤波系数调整标识等

2.视频花屏/卡顿原因

2.1 如果GOP分组中的P帧丢失会造成解码端的图像发生错误

2.2 为了避免花屏问题的发生,一般如果发生P帧或者I帧丢失,就不显示本GOP内的所有帧,直到下一个I帧来后重新刷新图像

总结:花屏是因为丢失了数据,卡顿时因为怕花屏主动扔掉了GOF

3.视频编码器

3.1 x264/x265

3.2 openH264(支持svc,即视频分层传输--根据网络情况发送小中大视频)

3.3 vp8/vp9

4.H264压缩技术

4.1 帧内预测压缩,解决的事空域数据冗余问题

空域数据:图片里的数据(宽高亮度等肉眼不易发现的数据)

4.1 帧间预测压缩,解决的是时域数据冗余问题

时域数据:摄像头补获很多数据,短时间内的去除掉重复数据

4.3 DCT 整数离散余弦变换,将空间上的相关性变为频域上无关的数据然后进行量化

4.4 CABAC压缩,无损压缩

5.H264结构图

一幅h264压缩后的视频帧由多个片组成,每个片由多个宏块组成,每个宏块由多个字块组成。

6.H264编码分层

 6.1 NAL层:视频数据网络抽象层

作用:h264最终在网络上传输,以太网上传输的最大字节是1500,一个h264的帧>1500字节,所以需要进行拆包;就是将一个帧拆成多个包进行传输(拆包/解包均在NAL层处理)

6.2 VCL层:对视屏数据编码层

作用:对视频的原始数据进行压缩

7.码流基本概念

码流是指视频文件在单位时间内使用的数据流量,也叫码率,是视频编码中画面质量控制中最重要的部分。同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越高。

7.1 SODB:原始数据比特流,长度不一定是8的倍数,它是由VCL层产生的 

7.2 RBSP:算法是在SODB最后一位补1,不按字节对齐则补0

7.3 EBSP:需要两个连续的0*00就增加一个0*03

7.4 NALU:NAL Header(1B)+EBSP

猜你喜欢

转载自www.cnblogs.com/HYanqing/p/11481419.html