质量可伸缩编码技术通常可分为三种类型,即粗粒度质量可伸缩(Coarsegrain Quality Scalability,CGS)、中等粒度质量可伸缩(Medium-grain Quality Scalability,MGS)及精细粒度质量可伸缩(Fine-grain Quality Scalability,FGS)[10]。尽管FGS 可以使质量增强层的数据流在任意字节处进行截断和抽取,提供了非常精细的可伸缩性能,但由于其编码复杂度极高,严重影响了视频流的实时性能,使FGS 在实际中很少被使用。因此,目前的SVC编码标准中只提供了CGS 和MGS。其中,CGS 可视为基本层与增强层具有相同分辨率的空间可伸缩的一种特殊形式。SVC编码器通过调整量化参数来获得质量可伸缩,故其相应的输出视频数据流中的码率点也是固定的,灵活性不高。MGS 能够将一个宏块对应的变换系数分布至多个切片中,以实现更小粒度的质量可伸缩。与CGS 相比,MGS 具有更灵活的码率自适应性,使增强层中的任意NALU可被丢弃; 并且MGS 能以访问单元(Access Unit,AU)为单位进行切换,增加了可提取的码率点个数,使之更适应网络服务质量不稳定的无线网络中的视频传输服务。
此外,为解决当编码端和解码端在预测过程中使用了不同质量的参考图像时,其预测值可能会失去同步的问题,SVC编码器在解决漂移问题时引入了关键帧。关键帧的质量基本层只能选择质量基本层中的帧作为参考,从而将关键帧作为同步的参考点,使漂移的扩散范围仅局限于同一GOP,有效地避免了误差的累积和扩散。同时,SVC编码器选择质量最高的帧作为关键帧的增强层与非关键帧的基本层和增强层的参考帧,在保证编码质量的同时也有效提高了编码效率。对应的预测结构如图2-6 所示,图中有阴影线的部分表示关键帧。(www.xing528.com)
图2-6 采用关键帧的预测结构图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。