什么是 LCEVC 编解码器?LCEVC 编解码器架构及应用

LCEVC 编解码器(MPEG-5 第 2 部分)或“低复杂性增强视频编码”是 MPEG 引入的三种新编解码器之一(其他是通用视频编码 (VVC) 和基本视频编码 (EVC)),目的是通过使用基本比特流和增强比特流,提高了现有编解码器的压缩效率,几乎没有增加编码复杂性。

在 日内瓦 ITU媒体未来研讨会上的 精彩演讲中, V-Nova的首席执行官兼联合创始人 Guido Meardi 详细介绍了 LCEVC 编解码器。而且,他将 LCEVC(MPEG-5 第 2 部分)称为“改进其他编解码器的编解码器”——这实际上是对的!对于那些不知道的人,V-Nova 通过他们在 Perseus 编解码器上的研究和工作在推动 LCEVC 标准方面发挥了重要作用。

在这篇文章中,让我们来看看

  • LCEVC编解码器标准化背后的“原因”和“内容”
  • 编码器和解码器是如何工作的
  • 理论复杂性考虑
  • LCEVC编解码器的可能应用

什么是 LCEVC 编解码器(MPEG-5 第 2 部分)?

LCEVC 编解码器(低复杂度增强视频编码)旨在以  低复杂度开销成为“改进其他编解码器的编解码器” 。LCEVC 编解码器的输出是现有视频编解码器(如 AVC、HEVC、VP9、AV1 等)生成的“基本比特流”与可有条件地用于提高视频质量的增强层的组合。

如果解码器/终端设备支持 LCEVC,则增强层被解码,否则,基本编解码器单独用于解码比特流并将视频呈现给用户。这确保了向后兼容性并鼓励推出 LCEVC 编解码器,而不必担心破坏最终用户的体验。

下图很好地体现了这个概念(摘自 Guido Meardi 在日内瓦的演讲)。

lcevc ffmpeg v-新星
Guido Meardi 在日内瓦的演讲中的架构图

在 LCEVC 编解码器系列的下几篇文章中,让我们学习如何使用 FFmpeg 生成 LCEVC 比特流,并深入了解 LCEVC 中使用的过滤器的详细信息。

事不宜迟,让我们开始吧,好吗?

LCEVC 编解码器的关键要求

LCEVC 项目的关键要求 由 MPEG 指定 ,这里是一个摘要 –

  • 当增强第 n 代 MPEG 编解码器(例如,AVC)时,聚合流的压缩效率明显高于全分辨率使用的第 n 代 MPEG 编解码器,并尽可能接近(n +1)-th generation MPEG codec (eg, HEVC) used at full resolution, at bandwidths and operating conditions relevant mass market distribution;
  • 聚合全分辨率视频(即基础加增强)的编码和解码复杂度应分别与基础编码器或解码器在全分辨率下单独使用时的复杂性相当。

简单来说,LCEVC 编解码器的目标是——

  • 例如,当基本编解码器是 AVC 时,使用 LCEVC(基本层和增强层)的压缩效率应该高于仅使用 AVC 对全分辨率视频进行编码(否则,新编解码器的意义何在,对吧?)
  • 例如,当基本编解码器是 AVC 时,LCEVC 编解码器的复杂性(编码和解码)应该与基本编解码器编码全分辨率视频的复杂性相当。换句话说,LCEVC 不应该显着增加编码器/解码器的复杂性以获得压缩增益——如果它增加了,那么它的复杂性就不会很低,现在是吗?

此外,  MPEG 文件 还谈到了“关键实施和非技术要求”,它们是:-

  • 视频流应该在没有特定固件或操作系统支持的情况下被能够解码基本编解码器的所有设备解码,具有与在硬件中全分辨率解码的基本解码器基本相同的资源利用(例如,处理能力、电池消耗等);
  • 所有网络浏览器都应该能够在没有插件和/或浏览器升级的情况下解码高分辨率视频,例如通过 HTML5 javascript;
  • 附加数据流应与现有生态系统兼容,例如广告插入、元数据管理、CDN、DRM/CA 和网络协议,如 DASH、HLS、MMT 和 SS;
  • 编码视频流的整体处理能力要求应与单独使用全分辨率时的基本编解码器相媲美。

都好!最终,LCEVC 编解码器的目标是

  • 在几乎不增加编码复杂性的情况下提高任何其他编解码器的压缩效率。
  • 向后兼容,以便遗留设备和软件可以解码来自基本编解码器的比特流,如果它们不支持 LCEVC 编解码器的增强层。

有了这种理解,现在让我们深入了解 LCEVC 编解码器的编码器和解码器的架构细节。

LCEVC(MPEG-5 第 2 部分)编解码器的架构

编码器

要了解 LCEVC 编码器的内部工作原理,让我们看一下ITU 期刊上发表的一篇论文中的框图 :

lcevc ffmpeg v-新星
LCEVC 编码器框图(关于 LCEVC 的 ITU 期刊论文 [参考文献中的链接])

上面的框图非常清楚地展示了 LCEVC 编解码器的编码过程,下面是它的工作原理——

  1. 下采样: 有两个下采样器块接收全分辨率图像作为输入并产生两个下采样图像(分别在第一和第二阶段下采样的输出处各一个)。
  2. 使用基本编解码器压缩:基本编码器获取第二阶段下采样器的输出,并使用“基本编解码器”对其进行压缩,该编解码器可以是您选择的任何内容(AVC、HEVC、AV1、VP9 等)。
  3. 在 L1 级上采样和压缩
    1. 接下来,基础图像(下采样两次)被上采样一次。
    2. 使用上采样图像和第一级下采样器的输出计算差异图像。
    3. 差异图像经过变换、量化和熵编码,最终输出作为“L1-Coefficient Layer”传输。
  4. 为 L2 阶段准备输入:重建 L1 阶段的编码输出,然后对其进行上采样以生成原始分辨率的重建图像(因为它现在已经被上采样两次)。
  5. L2 级压缩
    1. 在级别 L2,您有 (1) 原始图像和 (2) 重建图像(从基础层开始它的生命)。
    2. 计算这两个图像的差异,然后压缩以生成 L2 系数层。
    3. 可选地,可以执行时间预测并且可以压缩所得预测系数并将其传输到终端设备。
  6. 编码稀疏图像:这是一项巨大的技术挑战,因为离散余弦变换 (DCT) 旨在利用像素之间的空间相关性。LCEVC 编解码器通过引入小的变换内核(2×2 和 4×4)来解决这个问题,以避免尝试压缩大块信息。
  7. Enhancement Layer Coefficients 的熵编码:考虑到信息一开始就非常稀疏,并且使用了 2×2 和 4×4 的小内核,LCEVC 的作者决定使用游程编码器 (RLE) 和前缀编码编码器。游程编码器是一种非常简单的熵编码方法,过去已成功用作 CAVLC (H.264/AVC) 的基础。
  8.  原始全分辨率图像和重建的全分辨率图像之间的时间预测。这导致第 2 层增强系数和编码的预测向量。

注意: 使用大的变换内核来压缩稀疏信息是一个坏主意,例如,如果您将 32×32 DCT 应用于 32×32 宏块,该宏块主要填充黑色像素,随机分布 20 个白色像素(2% 白色)并且您决定对其使用 DCT,可以肯定的是,那些白色像素会在 DCT 和量化过程中丢失。这对于普通图像压缩可能没问题,但是,当您尝试压缩“差异”图像时,保留稀疏区域非常重要。

解码器

这是  来自 ITU 期刊出版物的 LCEVC 编解码器解码器的框图。我们不会深入研究它的细节,因为解码器的作用与编码器的作用相反,框图很好地解释了这个过程。

lcevc ffmpeg v-新星
LCEVC 解码器框图(关于 LCEVC 的 ITU 期刊论文 [参考文献中的链接])

相反,让我们看一下下图,它显示了 LCEVC 解码过程。它提供了对 LCEVC 解码器工作原理的直观理解。

lcevc mpeg5 第 2 部分
LCEVC 工作原理的绝佳视觉展示

这是正在发生的事情 –

  • 解码器获取一个小图像作为其初始输入并对其进行上采样以生成“初步中间图片”
  • 然后,将第一个增强子层添加到初始中间图片以生成组合中间图片。所以,现在,我们已经完成了第一阶段的解码。
  • “组合中间图片”被上采样以产生“初步输出图片”——现在这个图像是全分辨率的。
  • 最后,将第二个增强子层添加到初步输出图片以生成组合输出图片。可选地,如果增强层中存在任何时间预测,则将其组合以产生最终输出图片。

然而,需要注意的重要一点是, 基本编解码器的输出通过两个上采样阶段发送,以生成全分辨率图像。在没有 LCEVC 增强层支持的情况下,设备可以直接呈现基本编解码器的输出,这对于保持向后兼容性很重要。

LCEVC 编解码器的复杂性

充分了解 LCEVC 编解码器的工作原理后,让我们继续了解编码的复杂性。换句话说,需要多少努力才能从 LCEVC 编解码器中挤出压缩增益。

一开始,有几件事对我来说是显而易见的。

  • LCEVC 编解码器的复杂性与用于基础层的编码器的复杂性相关 (即,AVC、HEVC、AV1 或即将推出的编解码器,如 VVC 等)。
  • LCEVC 编解码器的复杂性与基础层的分辨率有关,因此与下采样步长的选择有关。 为什么?让我们举个例子来获得更好的画面。如果全分辨率视频为 1920x1080p,并且有两个下采样阶段(水平和垂直各下采样 2 倍),则基础层为 480x270p。现在,比较两种编码方案
    1. 使用 AVC 作为其基本编解码器的 LCEVC 编解码器;输入 = 1080p;base-layer = 270p(这是 AVC 编码器作用的图像大小)
    2. 输入 = 1080p 的独立 AVC

在任何常规视频编解码器(例如,AVC 或 HEVC)中, 编码复杂度随着分辨率的降低而降低(其他参数不变)。换句话说,与 270p 相比,您需要做更多的工作来压缩 1080p。所以,LCEVC 拔得头筹!

但是确实出现了一个问题。

增强阶段的编码复杂度如何?

根据我的理解和测试,它们对编码复杂性的贡献不大,主要原因之一是这些阶段的简单性。

如果您查看编码器框图,您会发现在增强层没有时间预测,即没有 P、B 图片或分层预测。众所周知,时间预测占现代编码器(如 AVC、HEVC、AV1)编码复杂度的近 90%(或更多)。

增强层压缩与压缩独立图像非常相似(就像 JPEG 所做的那样), 即使在评估块级并行性等高级技术之前,这也可以大大降低编码复杂性

LCEVC在体育转播中的应用

但是,如果我们谈论一个非常高价值的行业,那么 LCEVC 可以大放异彩的体育广播。Guido Meardi 在接受 SVGEurope采访时说,

借助 LCEVC,可以在不影响质量的情况下减少传输的数据量,从而简化对大量并发流量的有效管理——这一需求因封锁而更加尖锐,防止人们聚集在一起观看电视转播的体育赛事。

我完全同意。原因是多种因素的独特融合(在撰写本文时,即 2020 年 7 月 20 日),这些因素是 –

  • 世界正在 COVID-19 大流行中挣扎
  • 目前还看不到疫苗,有报道称,疫苗的大规模生产和管理可能会持续到 2021 年。
  • 可以肯定的是,由于担心社区传播 COVID-19,没有政府会允许体育场在不久的将来挤满 30-40,000 人。
  • 但是,我相信政府会对运动队破例,并允许他们在生物安全的泡沫中闭门比赛(即,球员在比赛前后一周内不允许探望家人)比赛,只有少数官员和地面工作人员被允许进入体育场等)。

这些限制将把体育广播带到前沿和中心。

原本打算在体育场观看比赛的“人群”现在将通过他们的联网/智能电视收看比赛,他们除了期待最好质量的传输外别无所求。

这就是 LCEVC 可以通过减少玻璃间延迟、提高编码效率、降低带宽要求和提高视频质量而大显身手的地方。

LCEVC在电子学习和在线教育中的应用

除此之外, 我可以看到 LCEVC 在教育领域得到了很多使用。 在线教育终于成熟了(不幸的是,由于 COVID-19),它肯定会给已经紧张的家庭带宽连接增加额外的负担。这是 LCEVC 可以通过减少带宽消耗做出贡献的地方。除了分层视频编码方法之外,大多数电子学习视频都是典型的“头肩”视频或图形,现代视频编解码器可以很容易地对其进行压缩。

参考资料:

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论