一、时域SVC
在视频编码中,有三种帧类型:
I帧:只能进行帧内预测,可以独立解码;
P帧:单假设参考帧,也就是通常说的前向预测帧,只能使用它之前的帧进行预测;
B帧:双假设参考帧, 一般为双向预测帧。
由于B帧会带来不可避免的延迟,因此在实时通信中通常只使用I帧和P帧这两种帧类型。
I帧只使用了本帧的信息进行预测,也就是说I帧的解码不依赖于其他帧,因此可以独立解码,但I帧的编码效率偏低,数据量较大。
P帧使用了帧间预测方法,可以参考之前的一些解码帧信息,能达到较高的压缩效率(帧大小比I帧小很多),但是解码时必须依赖于其他帧。
在实际的应用场景中,为了提升压缩效率,往往会使用IPPP的帧结构,即I帧之后编码N个P帧。但当网络情况不好时(如抖动,丢包,限速等),这种帧结构就会造成长时间的卡顿。
如下图所示,第0帧为I帧,后续7个帧均为P帧,且每个P帧只有一个参考帧(为其前一帧)。当网络发生丢包时,第3帧丢失,由于第4帧参考第3帧进行压缩,因此不能正确解码,5~7帧则类似。
这种情况下,即使丢包只造成个别帧的丢失,但由于接收端很多帧不能正确解码,会造成长时间的卡顿,只能通过申请I帧的机制进行恢复。
IPPP帧结构参考关系
为了解决这
...查看全文