头图

视频会议在人们的日常生活中使用愈发频繁,尤其是在新冠肺炎疫情的影响下视频会议市场急剧增长,由此引发了思科网讯视频技术的不断更新。本次分享,我们邀请到了思科协作技术事业部的首席工程师Thomas Davies先生,他向我们分享了AV1的发展历程,开发AV1时所受到的挑战,以及AV2的发展前景及其在实时通信中的作用。

文 / Thomas Davies

整理 / LiveVideoStack

大家好,我是Thomas Davies。我是思科协作技术事业部的首席工程师,今天我想和大家谈谈AV1、思科Webex与下一代视频会议。

我今天的演讲涉及几个内容,首先,我想谈谈最近由新冠肺炎引起的视频会议应用的迅猛发展。视频会议应用的普遍性应该已经有一段时间了,但新冠肺炎创造了一个转折点,改变了实时通信的格局。然后,我想谈谈历史背景,即开放媒体联盟和实时通信的历史。我们是如何取得AV1今天的发展的,当我们开发AV1时,我们考虑了怎样的实时通信因素。然后我想谈谈我们在思科Webex上的AV1编解码器,以及我们正在为我们的推广做什么工作。最后,我想谈谈AV2在实时通信中的作用。我们还能在这一领域进行更多的创造吗?

#1.视频会议的发展

首先是视频会议的迅猛发展。

我觉得我们这一年过得很不平凡,大家应该都有同感。从会议的角度来看,这为我们开启了新的篇章。从去年2月份开始,我们平台上的会议急剧增长,大家可以看到一直到2月底,然后到3月我们的流量有了巨大增长——10倍、20倍、30倍的增长,每月会议参会者超过5亿,每月会议超过250亿分钟。另一个有趣的因素是,我们开始召开更多的团队会议,更多的教育会议等等,所以会议的规模增加了33%。因此,我们的用例发生了一些变化。流量大幅增加,这显然对我们产生了影响,因为我们要相应的提供支持。但这也向我们强调了扩展的必要性。我们从客户那里得到的反馈是,我们需要把技术提升到一个新的水平。人们现在知道这项技术确实有效,但我们需要继续前进,不断提升工具和技术,来改善人们的体验。现在在某些情况下,我们增加了人工智能和用于背景噪声抑制或实时进行语音到文本的转录和翻译的新技术,但在提升用户体验质量方面,我们无法绕过基本的视频和音频。这意味着我们要检查我们的视频处理线,但也意味着要有新的编解码器,在编解码器方面我们已经使用了H264很长一段时间了。

不过关于最近的疫情经验,我们要问的一个问题是“这是新常态吗?”。从某种意义上说,显然不是,因为新冠肺炎很有可能是一生仅有一次的经历。但即使在新冠肺炎之前,远程工作也在相当稳定的增长,在过去的十年里增长了30%左右。我们所看到的是,人们越来越多地使用视频应用程序和视频通话,而他们以前可能使用的是语音。但当疫情爆发时,许多公司开始审视其团队的工作方式,并考虑疫情结束后会发生什么。74%的美国首席财务官预测,新冠肺炎结束后他们将保持大量的的远程工作,这个预言是否正确我们拭目以待,但我认为许多公司将从根本上改变他们的工作方式。视频会议市场预计将以每年11%的速度增长,也就是说在未来7年内增长一倍以上。但免费使用也会越来越多。在许多情况下,视频正在取代音频,人们经常打视频通话,因为设备配置了视频通话应用程序,这改变了人们与这些设备的互动方式和使用设备的方式。新冠肺炎不会持续下去,但我认为它会对技术造成持续影响,在未来很长一段时间内改变人们的工作方式。

#2.AOM与实时通信

我们之前已经看到过这些情况。在开放媒体联盟成立之初,也出现了视频会议的某种转折点,特别是使用视频会议,基于软件的平台增加了,这需要技术能力的提升。我们之前也想用其他的解决方案来推进,而开放媒体联盟给了我们一个机会,来推动编解码器的发展。

思科是开放媒体联盟的创始成员之一。我们已经感觉到,现有的标准并不能很好地服务于开放媒体,授权费用是一个障碍,特别是对于H265来说,我们已经开发了H265解决方案,但是授权模型并不适合。我们在可能拥有数百万的用户的软件平台上使用。与此同时,我们需要下一代视频编解码器,因为H264已经使用将近20年了,我们针对RTC开发了“Thor编解码器”。这实际上说明了我们对平衡复杂性和压缩性能非常谨慎。Thor被整合到第一个基于VP9的AV1测试模型中。从一开始我们就对新标准的实时通信重点工作感兴趣,以理解每个工具对我们用例的影响。

但这到底意味着什么?我们应该确定新视频编解码器在实时通信中的三种主要要求,首先与其他用例相比它的复杂性较低。而且我们特别希望,用软件在商品化PC平台上实现,这并不是因为我们不使用硬件,而正是因为我们使用硬件,但是我们需要花几年时间来开放硬件,然后又需要花几年时间来开发配置了好的编码器的好硬件。第二个因素是对网络的弹性,我们需要符合标准的工具,来检测修复错误并帮助从错误中恢复。第三个因素我们认为可能是更有争议的因素,是我们想要限制标准的配置的数量,至少从工具的角度来说是这样,因为新的配置就像新的编解码器,我们必须与之交互操作,因此我们宁愿使用新的编解码器,而不是使用多个编解码器,必须与多个编解码器交互操作,我们已经看到由于这个原因,H264高配置档的普及率相对有限,由于H264和H265的配置档不同,可扩展性也受到了限制。

在复杂性方面,与其他一些用例相比,我们以一些低的质量上的代价来获得更快的运行速度,上面的红色圆圈,就是我们想要编解码器运作的地方,我们要快,我们需要有限的复杂性,这意味着我们不能仅仅是平均速度快,我们不能仅仅以平均每秒30帧的速度编码,我们需要时时达到这些帧的时间要求。我们的目标之一,我认为这是设计良好的编解码器标准的一个特性,是即使在类似的复杂性下也能实现真正的增益,这需要更快的操作点,如果你现在在视频点播场景中,也许你会转移到更高的复杂性。可能是更高的、多的复杂性,以实现这些增益,比如在视频点播中,你也许能够忍受5倍或10倍的复杂性,降低40%的码率,但是由于我们在软件中必须用一个标准替换以前的标准。我们可以用来增加复杂性的包络有限。因此我们需要实现真正的增益,即使复杂性相似,我们可以容忍复杂性的适度增加,但增加不能非常大。

AV1在很大程度上满足了这种需求,首先AV1工具可以为我们提供任何新标准所需要的巨大增益,比如屏幕内容工具和强大的环路滤波,但同时我们所使用的任何一种能够进行良好视频编码的核心工具,也保持了适度的复杂性。这些环路滤波有一定的复杂性,我们有多符号,算术编码比其他标准的类似技术的复杂性更低,我们有非常简单的插值滤波,我们有含有快速的分解转化。在网络弹性方面,通过帧编号我们可以检测错误,因此我们可以看到,我们是否与参考帧不同步,通过这种弹性模式,即使之前的帧丢失了,我们可以解析帧,我们也可以修复那些丢失的帧,因为我们可以找到像运动矢量之类的东西,即使我们没有参考帧,我们也可以利用这些信息进行插入,我们也有可扩展性作为标准。这也与第3点有关,即只有一个主要配置,有基于色度采样的配置文件,如4:4:4等等,但主要配置里有所有的工具,包括可扩展性,如果你想要构建一个编码器,这是非常有用的,因为它给你提供了一个完整的工具包来进行探索。并且有些人们确定标准时,认为简单的工具有时候有可能实际上并不是最好的选择,好在你在实现时,可以不被这样的决定限制。

#3.思科Webex的AV1开发

在AV1开发期间,我们也在开发我们自己的编码器,它是针对思科Webex的,即针对标准的。以软件形式呈现在个人电脑硬件上。

我们展示了世界上第一个 AV1高清实时视频编码。我们为摄像头视频设计了720p,为屏幕内容设计了1080p。2019年夏天我们在纽约展示了这项技术。从那以后我们的编码器速度提高了60%左右,我们一直在努力为AV1提供端到端解决方案所需的所有集成和系统支持。

那么我们的关注是什么呢?我们需要在分享的视频内容和摄像头的输入之间进行选择,我们决定使用共享内容。因为这确实代表了一些我们需要编码的最具挑战性的视频,有些事情可能非常简单,就像这个幻灯片,但尽管如此,人们越来越多的共享各种东西,我们共享图表、幻灯片、YouTube视频。或者可能在浏览器中播放的混合视频,这是计算机设计应用之外的东西。因此也对保真度提出了很多要求,一些色彩非常丰富的材料可能帧率很低,但分辨率非常高,还有一些高速运动场景,我们有一个自适应系统来处理这类运动和内容。

我们需要把AV1整合进去,在我们的第一阶段,我们推出了AV1覆盖高速运动共享模式,高速运动视频是难度最大的视频,因为它本质上可以是任何内容。我们在2月份的产品中推出了该模式,我们的下一个阶段将涵盖高分辨率模式和自动适应,我们的目标是在今年上半年完成该阶段。未来的阶段将包括摄像头输入视频和转码,现在从会议中与H264参会者的交互操作来看,转码是相关的。目前我们正在运行向后兼容模式,这样的话如果一个AV1参会者和一个只有H264的参会者开会,那么他们就会向后兼容到H264,但是显然这样效率很低,因此我们希望在这种情况下进行一些特别的转码,这并不一定就意味着我们会一直沿用这种做法,因为这可能不是最有效的做法,但是它将增加使用范围,并为最多的参会者带来最大的好处。

我们在编码器开发的过程中遇到了哪些挑战?我认为最大的挑战是达到AV1对CPU的影响,与H264比起来非常小,这并不意味没有影响, 也不意味着我们不使用更多的CPU,更不意味着我们不能在有更多可用CPU的情况下使用更多的CPU,但这确实意味着我们在某些情况下的确需要最少的CPU,并仍然实现增益,从编码器优化角度来看,这是非常具有挑战性,第二件事更像是一个关于解决方案的问题,即如何平衡质量和码率。我认为有一件事在一定程度上改变了人们对新冠肺炎的关注。那就是我们确实需要提供更高的质量,而码率并不总是最重要的事情。但这通常是两者之间的某种权衡,如果你想得到更高的质量。即使码率会下降到非常低的水平,那么你可以使用AV1,正如我在前面提到的,我们必须在交互操作场景中支持向后兼容的行为,更通俗的说我们面临一个多维度问题。即基于我们所使用的任何设备的CPU能力。调整编码器复杂性设置,分辨率和码率。所以我们可以通过改变编码器的设置,来降低或增加复杂性,这样做会有或多或少的损失,或者我们可以改变我们编码的分辨率,或者我们可以改变我们编码的码率,这两种方式都可以改变复杂性。这里涉及不同的权衡,我们需要开发一个好的引擎来进行决策。

当我们继续推进,我们开始提供更多的混合会议,就像我之前提到过的,如何将多流会议和多个编码器结合起来是一个问题,如果你发送多层不同质量,那么新的编解码器应该位于其中的哪个位置呢?你可以采用很低的码率,即最低层,真正确保他可以行得通,或者你可以以最高质量为目标,确保甚至会有更好的质量。另外在解码方面有一个问题,你可能有多个解码器运行不同的编解码器标准,那么你如何在CPU包络中集成和管理它们,所以这些都是提供解决方案时相当困难的技术挑战。

#4.AV2与RTC

还有 AV2和下一代编解码器呢?我们认为实时通信的发展方向是什么?

从某种意义上说,自AV1问世以来,我们的要求一直没有改变,我们来看看这些质量和速度的权衡曲线。在操作时你可能想要与操作AV1时相同,或略高的复杂性,但仍然可以实现实际增益,我们对AV2的其中一个测试目标是,我们可以证明我们将实现这些增益,现在这将非常困难,因为没人会为AV2标准,开发一个完整的实时编码器。你可以在着手和尝试了解的过程中,处理这类事情,但你不会在每个点,都有一个完全优化的解决方案。但是AV2是独一无二的,它有一个软件实现工作组,有望给我们一些关于实现问题的见解,也许达不到实时通信的速度,但肯定比编码器所能提供的最大压缩速度更快。在视频点播方面,我还是认为相对于以前的编解码器,现在的编解码器可能不能支持复杂性比较大幅度的增加。在理想情况下,它们会寻求复杂性并适度的增加,也许超过了我们对实时通信所能容忍的水平,也许5到10倍是一个合理的目标。但仍然可能比以前的标准低很多。如果那些曲线没有重叠,那么我觉得我们已经做得很好了,但是我们如何确保这些曲线不重叠,并且在速度和质量范围内都能实现增益呢?(因为对我们来说正如这条曲线所示,如果我们可以降低复杂性,那么我们就可以把预算有效的应用到质量曲线上,如果你将蓝色曲线向右或向上移动,那么你就有更多的空间,以同样的速度提高质量,或以同样的质量提高速度。)

我想我们需要记住一些原则。第一个原则是,新的软件编码器不能依赖更大的CPU,这似乎有点出乎意料,因为我们预期下一代编解码器符合摩尔定律,这在某种程度上是正确的,但是人们持有计算机的时间越来越长,单个核的性能没有像过去一样提高,尽管核的数量一直在增加。但我们也要记住,我们设备上的其他程序也在使用CPU。使用网讯这样的应用程序所面临的一个挑战是,我们要与正在运行并使用大量计算能力的其他程序共享CPU我们必须适应这一情况,同时不能给其它应用程序造成问题,我认为我们需要非常谨慎的考虑有多少CPU可用。并且与此同时我们想要实现巨大的增益,在理想情况下码率再降低50%。为了在这些普通计算机上,以低复杂性实现AV2软件编码,我认为我们需要所谓的“可扩展复杂性”,我们希望能够找到通过标准的路径,以及通过仍然简单的编码器的路径。在理想情况下甚至比以前的标准更简单,这意味着AV1的一般核心工具,应该随着时间的推移保持或降低其复杂性。这是一件困难的事情,因为这些工具的改进方式,可能让我们很难预测它们将如何在真正的编码器中优化,但代价是非常大的,因为所有工具的复杂性降低,意味着在实时通信速度下的实际质量提高。

现在你正在加强这些模式,你在整个过程中增加了选择的数量,所以参考实现的速度减慢了,这显然是不好的,这对任何编码器来说都是不好的。但这也不是完全的灾难,因为智能编码器可以避免一部分这类复杂性,你无法避免工具复杂性的增加,这是你无法避免的或者不想避免的,因为它们非常有用,这也就意味着预分析和机器学习之类的东西,对编码器管理这种复杂性来说将变得越来越重要,如果我们要推广所有这些模式,由于我们没有时间预测所有模式。那我们必须做一些省时省力的事情,因此越来越多的人将投入到研究,完整搜索算法的最少运算。

#总结

总之,开放媒体联盟生态系统,帮助我们在视频会议技术上迈出了下一步,它帮助我们超越了古老的H264视频编解码器,我们现在正在实时发布AV1,并且其复杂性类似于H264 AVC。但是我们实现了显著的增益,我认为这表明AV1是一个设计良好的标准,它并不完美,但它的核心对于实时通信应用程序非常有用,这也是我们对AV2的期望,如果我们有同样好的设计原则,并且我们配备了智能编码器设计,那么AV2将能够实现进一步的增益,最后,我想说非常感谢大家,欢迎大家提问。

谢谢大家!


LiveVideoStack
257 声望80 粉丝