论文部分内容阅读
随着视频编码技术、网络基础设施、信息家电以及消费电子的迅速发展,以视频内容为核心的流媒体服务已成为信息产业中极具发展前景的业务之一。然而,不同于面向存储的视频应用,流媒体数据在传输时必须面对如网络异构、带宽波动、传输错误、终端多样性等复杂的环境问题,需要视频编码系统具备在较低的计算复杂度上提供时域、空域和质量域的可伸缩性能力。可伸缩性编码(Scalable Video Coding, SVC)作为处理此类复杂问题的有效工具,具有理论研究意义和实际应用价值,是目前视频编码领域中的研究热点之一。本文以目前最新的基于H.264/AVC扩展的可伸缩性编码标准——JVTSVC为平台,研究了质量可伸缩性编码中的相关问题。论文针对精细颗粒度的可伸缩性编码(Fine Granular Scalability, FGS)和粗糙颗粒度的可伸缩性编码(Coarse Granular Scalability, CGS),分别研究了各种编码框架及其参数优化和码流截取问题以及增强层的差错掩盖问题。首先,本文详细分析了FGS基本框架及其改进框架的特点,针对低延时下的视频应用,提出一种基于关键帧的开环—闭环混合FGS编码框架。框架将序列中的多数帧编码为非关键帧,非关键帧使用单预测环路的开环方式,提高了FGS的编码效率,但也引入了基本层漂移(Drift).为消除漂移,周期性地插入关键帧,关键帧使用双预测环路的闭环方式且仅从前一关键帧进行预测,因此在基本层阻止了漂移。增强层则使用自适应参考(FGS with Adaptive Reference, AR-FGS)技术在提高编码效率的同时保持较好的鲁棒性。实验结果表明本文算法相对JVT SVC中的AR-FGS编码框架在降低了计算复杂度的同时,在大部分码率范围内提高了编码性能。仅在接近基本层码率点的极低码率范围内,编码性能对具有中等或较大运动程度的序列有轻微下降。针对上文提出的FGS混合框架,考虑到关键帧和非关键帧对序列整体质量的贡献不同,提出一种非对称的码流截取算法。算法在同一FGS层内将码率优先分配给对序列整体质量贡献更大的关键帧,对非关键帧则平均分配。实验结果表明,结合非对称的码流截取算法,混合FGS编码框架的性能进一步得到了提高。其次,本文研究了AR-FGS中的漏因子选择问题。考虑到码流截取方式间接影响着漏预测的性能,本文首先分析了JVT SVC测试模型——JSVM中的码流截取方式,提出一种改进的码流截取方式,保证了输出码流在帧级上的平滑。然后提出一种自适应的漏因子选择算法,算法根据当前参考帧基本层数据量与前一个Ⅰ帧的基本层数据量的比值,独立地为每帧选择最优的漏因子,同时根据短期平均基本层数据量与当前参考帧基本层数据量的比值,对所选漏因子进行调节。实验结果表明,本文算法的PSNR(Peak Signal to Noise Ratio)值在大部分码率范围内高于固定漏因子算法。最后,本文研究了质量增强层的差错掩盖问题。在当前帧增强层丢失时,有两种较为常用的差错掩盖方式:使用当前帧基本层对应位置的重建图像,或前一帧增强层在运动补偿中对应位置的重建图像对受损图像进行掩盖。在对这两种掩盖方式的特点和适用环境进行实验分析后,本文提出一种基于失真度估计的自适应增强层差错掩盖算法。算法根据正确接收的基本层重建残差以及基本层与增强层量化参数的差距,分别估计出两种掩盖方式各自的总体失真度,并以4×4块为单位,选择失真度小的方式进行掩盖。实验结果表明,本文提出的自适应掩盖算法与上述两种常用掩盖方式相比,PSNR分别提高了约4.0与0.6 dB。对具有中等运动程度和中等量化差距的序列,效果尤为明显。