本文为媒矿工厂编译的技术文章
原标题:Comprehensive Guide to LCEVC (MPEG-5 Part 2) - Low Complexity Enhancement Video Coding
原作者:Krishna Rao Vijayanagar
原文链接:https://ottverse.com/lcevc-mpeg5-part2-low-complexity-enhancement-video-coding-guide/
翻译整理:刘孝勇
LCEVC(MPEG-5 Part 2)和VVC(Versatile Video Coding)、EVC(EssentialVideo Coding)是MPEG最新提出的三种编码器,LCEVC全称是“Low Complexity Enhancement VideoCoding”,旨在使用基本码流和增强码流提高现有编码器的压缩效率,同时几乎不增加编码复杂度。
在日内瓦举办的ITU未来媒体研讨会上,V-Nova公司的 CEO和联合创始人Guido Meardi对LCEVC编码器做了详细的介绍[1],他称LCEVC是“一种改进其他编码器的编码器”。V-Nova公司研发的Perseus编码器推动了LCEVC标准的制定,更多信息请点击这里(https://www.v-nova.com/v-nova-video-compression-technology/)。
本文主要分为四部分:
什么是LCEVC编码器?
LCEVC编码器是一种具有低复杂度开销的“改进其他编码器的编码器”,输出是基本码流和增强层的组合,基本码流由现有的编码器(例如AVC、HEVC、VP9、AV1等)产生,有条件地使用增强层可以提高视频质量。
如果解码器/终端设备支持LCEVC,那么增强层会被解码,否则只使用基本解码器解码码流并把视频渲染给用户,这可以确保LCEVC的向后兼容性,不会影响到终端用户的体验,从而提高了LCEVC编码器的实用性。
概念图如下图所示:
图1 LCEVC架构图
LCEVC的关键要求
MPEG规定了LCEVC项目的关键要求[2],可以总结为以下几个目标:
更简单地说,LCEVC编码器的目标是:
此外,MPEG文档[3]也讨论了关键实现方案和非技术性要求:
最后,LCEVC编码器的目标可以总结为:
LCEVC编解码器的架构
发表在ITU期刊上的文献[4]给出了LCEVC编码器的结构框图(图2),下面介绍编码器的内部工作原理。
图2 LCEVC编码器框图
上述框图清楚地描述了LCEVC编码器的编码过程:
1. 下采样:
全分辨率图像通过两个下采样模块产生两个下采样的图像(在第一级和第二级下采样的输出处分别有一个)。
2. 使用基本编码器压缩:
基本编码器获取第二级下采样器的输出,使用可选的“基本编码器”(AVC、HEVC、VP9、AV1等)压缩。
3. 上采样和L1层级压缩:
4. 准备L2级的输入:
L1级的编码输出被重建,然后经过上采样产生原始分辨率的重建图像(因为现在已经进行了两次上采样)。
5. L2层级压缩:
在L2层级,已经有了原始图像和重建图像(来源于基本层的基本图像)
计算这两个图像的差值,然后压缩差值图像产生L2系数层
可根据需要执行时域预测,产生的预测系数可以被压缩并传输到终端设备
6. 编码稀疏填充的图像:
这是一个巨大的技术挑战,因为离散余弦变换(DCT)利用的是像素之间的空间相关性,LCEVC编码器通过引入小的变换核(2x2和4x4)来避免压缩大量的信息。
7. 增强层系数的熵编码:
考虑到初始信息非常稀疏以及小型2x2和4x4变换核的使用,LCEVC中使用了游程编码器(RLE,Run Length Encoder)和前缀编码器(Prefix Coding Encoder),RLE是一种非常简单的熵编码方法,过去已成功地用作CAVLC(H.264/AVC)的基础。
8. 时域预测:
在原始的全分辨率图像和重建的全分辨率图像之间执行,产生第二层的增强系数和编码的预测向量。
注意:大型变换核不适合用来压缩稀疏信息,例如对于一个大部分被填充为黑色像素、随机分布了20个白色像素的32x32宏块(2%的白色像素),应用32x32 DCT变换后,白色像素将在变换和量化过程中丢失,这可能适用于正常的图像压缩,但是在压缩“差值”图像的时候,保留稀疏区域是非常重要的。
LCEVC解码器的结构框图[4]如图3所示,因为解码过程与编码过程相反,这里不再赘述。
图3 LCEVC解码器框图
图4[1]直观地展示了LCEVC解码器的工作过程,包括以下几个步骤:
需要注意的重要一点是,基本解码器的输出需要经过两个上采样阶段才可以得到全分辨率图像,当设备不支持解码LCEVC增强层时,可以直接渲染基本解码器的输出,因此很好地维持了LCEVC的向后兼容性。
图4 LCEVC解码过程
LCEVC编解码器的复杂度
理解了LCEVC编解码器的工作原理,接下来继续介绍编码器的复杂度,很明显:
在任意传统的视频编码器(例如AVC或HEVC)中,编码复杂度随分辨率的降低而降低(其他参数不变),也就是说,压缩1080p比270p需要做更多的工作,因此LCEVC处于优势地位。
然而也出现了另一个问题:增强阶段的编码复杂度如何呢?
从理论分析和实验测试来看,增强阶段对编码复杂度的贡献较小,主要原因之一是增强阶段的处理过程都很简单。
从编码器的结构框图中可以看到,增强层没有帧间预测过程,即没有P、B图像或分级预测,众所周知,现代编码器像AVC、HEVC、AV1的编码复杂度的90%(或者更多)都来自帧间预测。
增强层的压缩与独立图像的压缩非常的相似(类似于JPEG压缩),即使不使用像块级并行化之类的先进技术也可以大幅降低编码复杂度。
LCEVC编解码器的应用
LCEVC有三个巨大的优势(除了其他优势之外):
LCEVC在体育节目广播领域具有很高的应用价值,Guido Meardi在SVGEurope(https://www.svgeurope.org/blog/headlines/lcevc-explainer-why-the-enhancement-codec-could-be-a-value-add-for-sports-broadcasters-in-uncertain-times/)的一次采访中说过:借助LCEVC可以在不影响视频质量的情况下减少传送的数据量,简化对大量并发流量的有效管理—可以解决用户群体聚集性观看电视转播体育节目的问题。
在写这篇文章的时候(2020年7月20日),体育节目转播正在受到诸多因素的影响:
这些限制让体育节目广播变得重要起来,那些本来要到体育馆现场观看比赛的“人群”现在会通过互联网/智能电视收看比赛,他们期望获得更好的传输质量,LCEVC可以在其中发挥巨大的作用,主要表现为降低端到端延迟、提高编码效率并减少带宽需求、提高视频质量等。
LCEVC在教育领域也有广泛的应用前景,在线教育逐渐走向成熟(可惜是由于COVID-19),这必然会给已经很紧张的家庭宽带连接带来更多的负担,LCEVC的贡献在于减少带宽的消耗,除了分层的视频编码方法以外,由于大部分的在线学习视频是典型的“头肩像”视频或者图形,所以它们更容易被LCEVC中的现代视频编码器压缩。
结语
参考文献:
[1]https://www.itu.int/en/ITU-T/Workshops-and-Seminars/20191008/Documents/Guido_Meardi_Presentation.pdf
[2]https://mpeg.chiariglione.org/standards/exploration/low-complexity-video-coding-enhancements/requirements-low-complexity-video
[3]https://mpeg.chiariglione.org/standards/exploration/low-complexity-video-coding-enhancements/requirements-low-complexity-video
[4]https://www.itu.int/dms_pub/itu-s/opb/journal/S-JOURNAL-ICTS.V3I1-2020-12-PDF-E.pdf
[5]https://ottverse.com/lcevc-mpeg5-part2-low-complexity-enhancement-video-coding-guide/