本文为媒矿工厂翻译的技术文章
原标题:The Streaming Codec Landscape in 2021
原作者:Jan Ozer
原文链接:https://www.wowza.com/blog/streaming-codec-landscape-2021
翻译整理:冯冬辉
本文作者Jan Ozer是现场直播和点播制作的H.264、H.265和VP9编码的领先专家。
无论从哪个角度来看,2020年对于视频编解码器或驱动流媒体视频的压缩技术来说都是忙碌的一年。今年,移动图片专家组(MPEG)推出了两个基于标准的编解码器(另一个即将推出),开放媒体联盟的AV1编解码器首次获得硬件支持,HEVC/H.265也在继续部署。在本文中,我将提供流媒体编解码器的最新状态,讨论新的MPEG编解码器,确定将控制其采用的因素,并对2021年及以后的情况进行一些预测。
在开始之前,我们先澄清一些术语。每个编解码器都是由一个规范定义的--比如HEVC/H.265和AV1。然而,多个编解码器开发商创建了该编解码器的版本,通常具有独立的名称--例如x264是AVC/H.264的实现,x265是H.265/HEVC的实现。同样,目前至少有五个版本的AV1编解码器,分别来自开放媒体联盟(AOM)、Cisco、Intel/Netflix和Visionular等厂商。
正如你所预料的那样,不同供应商的不同实现具有不同的性能特点。例如,思科正在为Webex——其视频会议系统——调整其AV1编解码器,并声称其实现 "在与AVC/H.264相似的CPU占用范围内运行"。正如你在下面看到的那样,我对其他四种AV1编解码器的测试显示,编码VOD的CPU占用率是x264的15-30倍。在一般讨论一个编解码器时,使用通用名称是合适的。当讨论实际的编解码器性能时,参考具体版本本身更合适。
此外,AVC/H.264和HEVC/H.265有两个名称,因为每个编解码器都是由MPEG和国际电信联盟(ITU)标准化的。Versatile Video Coding,或VVC,也是H.266,原因相同。在这篇文章中,我将使用ITU指定(AVC,HEVC,VVC),因为大多数人更熟悉这些术语。只要记住AVC和H.264是一样的就可以了。
视频消费有三个主要市场:浏览器、手机和OTT /智能电视。在所有这些市场中,AVC是目前占主导地位的编解码器,而HEVC主要由针对客厅观众的优质内容的制作者部署,通常使用高动态范围(HDR)。AVC和HEVC都是由MPEG/ITU推出的,它们都是收取版权费的。
VP9和AV1是开源的编解码器。VP9由谷歌发布,AV1由开放媒体联盟发布。虽然这两个组织都宣称自己的编解码器是免版税的,但一个名为Sisvel的专利池管理员推出了这两个编解码器的专利池,让这一说法受到了质疑。从使用情况来看,VP9和AV1主要被金字塔顶端的公司——如Netflix、YouTube、Facebook和亚马逊——使用,但其他公司相对较少。
图1. YouTube在许多高容量视频上使用VP9编解码器。
一般来说,随着带宽成本的不断下降,大多数Netflix/Amazon/YouTube级别以下的制作商只有在需要服务于智能电视等新市场时才会采用新的编解码器。他们似乎并不是因为潜在的带宽节省而采用新的编解码器。为什么会这样呢?因为部署新的编解码器会增加编码成本、研发成本和存储成本,同时使传输基础设施的缓存效率降低。此外——至少在VP9的情况下——似乎当AV1推出时,许多一直在考虑VP9的制作者决定改用AV1。
让我们看看2020年前编解码器的基本性能特征,如表1所示。请注意,AVC、HEVC和AV1的质量和性能数据是从本文中提取的;而本文显示libvpx-vp9(谷歌在FFmpeg中的VP9编解码器)在质量上略微落后于HEVC,但编码时间大致相似。
为了解释质量线,HEVC显示的35%效率意味着本研究中的x265编解码器以大约35%的低数据率产生了与x264相同的质量。同样,性能最好的AV1编解码器(Visionular公司的Aurora1)以大约50%的数据率产生了与x264相同的质量。
表1. 2020年以前编码器的相对性能和质量。
Codec | x264 | x265 | libvpx-vp9 | AV1 |
---|---|---|---|---|
Source | MPEG | MPEG | Alliance for Open Media | |
Quality compared to x264 (VMAF) | N/A | ~35% | ~30% | ~50% |
Encoding requirements compared to x264 | N/A | 2–15x | 2–15x | 15–30x |
请注意,编码要求的范围差别如此之大,有两个原因。对于x264,是因为我们使用两种预设进行测试——Slow和Veryslow。在第一篇参考文章中,用x265使用Slow预设进行编码,在45秒内就交付了我们的测试文件,这大约是x264 AVC编解码器的两倍。但使用Veryslow预设进行编码则需要5分钟左右,是x264的15倍(Veryslow预设的质量结果见表1)。AV1的结果之所以相差这么多,是因为我们在那篇文章中测试了四种AV1编解码器。最快的(同样是来自Visionular的Aurora1)产生测试文件的时间约为5分钟,最慢的约为11.5分钟。显示的质量是Aurora1的。
为了便于观察,编码时间通常直接转化为编码成本,这也是为什么大多数云编码器对HEVC的编码收费是AVC的2-4倍,对AV1的收费是AVC的30-40倍。在直播环境中,编码时间会推高直播编码阶梯转码的机器成本。例如,在最近的一个咨询项目中,我们的测试机器可以制作六个完整的x264编码梯度,但只有一个带有x265和libvpx-vp9的编码梯度。同时,当我尝试制作同样的梯度时,开放媒体联盟的AV1编解码器aomenc只能每秒推送一两帧,这让人怀疑AV1用于现场转码,甚至WebRTC的短期可行性。
除了制作方面,我们还会基于目标平台而选择编解码器(表2)。虽然在质量方面效率最低,但AVC在每个目标平台上都能播放,所以你可以一次编码,到处分发。HEVC不能在Chrome和Firefox中播放,这使它失去了用于一般基于浏览器的播放的资格,但它被iOS和Android以及智能电视和最新的一批OTT设备几乎普遍支持。
表2. 目标平台的编码器可用性。
Codec | AVC | HEVC | VP9 | AV1 |
---|---|---|---|---|
Browser support | Universal | Safari, Edge | Chrome, Edge, Firefox | Chrome, Firefox, Edge |
Mobile support | iOS/Android | iOS/Android | iOS/Android | Android |
OTT / Smart TV | Universal | Universal in smart TVs, recent OTT devices | Universal in smart TVs, recent OTT devices | In some OTT devices and some TVs starting in 2020 |
VP9被Chrome、Edge和Firefox支持——iOS只支持应用程序——但不支持Safari。AV1可以在与VP9相同的浏览器和最新的Android设备上播放。第一款支持AV1的智能电视在2020年推出。当我在2021年1月写这篇文章时,Roku支持AV1,但不支持Apple TV,亚马逊Fire Stick上也没有。要想在客厅里提供足够数量的支持AV1的设备,肯定还需要一段时间。
综合这些数据,我预计更多的AV1会被采用,用于基于浏览器的流媒体,取代AVC和VP9,以及通过应用进行移动播放。但在未来12-24个月内,客厅将继续使用AVC和HEVC。HEVC不会在基于浏览器的流媒体中取得重大进展,除非并且直到谷歌和Mozilla在各自的浏览器中支持它。
对于直播制作者来说,AVC和HEVC的定位要比VP9和AV1好很多。VP9对于现场制作来说从来没有真正流行过,所以编码和转码的硬件选择很少。人们期待AV1能够积累更多的硬件支持,但目前来看,AV1对于基于软件的转码来说,似乎过于复杂。
在过去的一年里,推出了两种MPEG编解码器——VVC和低复杂度增强型视频编码(LCEVC),并继续发展Essential Video Coding(EVC)。你可以在这里阅读更多关于VVC的技术背景。我在这里为《流媒体杂志》评论了弗劳恩霍夫的VVC编码器和解码器,分别称为VVenC和VVdeC。如表2所示,事实证明VVenC在质量上比x265效率高39%,但编码时间长10倍,解码时慢3.7倍。
关于版税,为VVC贡献的知识产权来自很多方面,VVC将收取版税,尽管我们可能要到2021年中期或更晚才能知道版税政策是怎样的。
表3. MPEG新编解码器的基准。
Codec | VVC | LCEVC | EVC | |
---|---|---|---|---|
Finalized | July 2020 | October 2020 | Baseline Pending | Main Pending |
Quality | 39% x265 | 45% x264 | 31% AVC | 27% HEVC |
Encoding complexity | 10x x265 | -2.6x x264 | 1.4x AVC | 4.5x HEVC |
Decoding complexity | 3.7x x265 | 1x x264 | 1.16x AVC | 1.54x HEVC |
LCEVC是一种混合技术,它使用现有的编解码器(如AVC或VP9)来制作一个低分辨率的基础层——例如,在640×360分辨率下制作一个1080p文件。然后,LCEVC在基础层之上增加一个增强层,将分辨率提升到全目标,并增加质量。基础层可以在任何支持基础层编解码器的系统上播放,因此,使用AVC基层编码的LCEVC文件应该在任何可以播放AVC的系统上以基础层分辨率播放,即使没有LCEVC解码器。在系统中添加一个LCEVC解码器,您就可以获得完整的分辨率和质量。
图2. LCEVC文件中的基础层和增强层。采用自V-Nova,Introducing MPEG-5 Part 2 LEVC,2019年8月10日。
V-Nova是拥有LCEVC背后大部分知识产权的公司,我帮助在一份报告中对当前性能进行了基准测试,你可以在这里阅读。总的来说,一个具有640×360基础x264层和增强层的LCEVC文件将分辨率提升到1920×1080,在1080p下以45%的比特率提供与x264相同的质量。LCEVC编码时间比x264快约2.6倍,解码CPU需求也差不多。V-Nova预计,这一优势将在其他基层编解码器上得到保留,因此以HEVC为基层的LCEVC将比仅以HEVC为基层的LCEVC效率更高,但这需要在每个编解码器的基础上进行验证。LCEVC将收取版权费,这一点我将在下面讨论。
Essential Video Coding有两个配置文件,但都没有最终确定。Baseline profile使用旧的编码技术,不再受专利保护,它应该是免版税的。Main profile是由四家公司的技术构建的,它将承担专利费。您可以在表2中看到两个配置文件的性能数据。
正如我前面提到的,当一个编解码器可以在您关心的平台上播放时,它就会变得相关。影响可用性的因素有几个。
首先是技术方面。如果编解码器需要CPU/GPU中可用的硬件解码,才能流畅播放或不消耗太多电池,这通常是一个从编解码器推出之日起两年的过程——CPU、GPU和SoC需要一年的时间来整合新的编解码器,而基于这些芯片的设备则需要一年的时间。VVC和EVC似乎都属于这一类,这意味着最早可能在2022年年中出现第一批采用VVC硬件的消费类设备。假设EVC在2021年初定型,在最好的情况下,支持EVC的设备可能在2023年初出现。
由于LCEVC的编码和解码非常轻量级,因此LCEVC不需要专用硬件来播放。这使得V-Nova可以通过软件库或Javascript在浏览器、移动设备、OTT设备和智能电视中实现LCEVC播放,不需要制造商提供任何服务。
可能进一步拖延VVC和EVC的是与这些技术相关的版税政策的发布。一些芯片厂商可能会拒绝开始添加对这些编解码器的支持,直到他们了解商业模式和成本结构,这是在许多公司已经开始部署HEVC之后推出的涉及三个专利池的混乱的HEVC版税政策的残留。
VVC知识产权拥有者正致力于在2021年的某个时候敲定专利费结构,这只会将两年的周期推迟几个月。但在我们知道拟议的专利费数字之前,我们无法评估VVC的商业可行性。关于EVC,为EVC贡献知识产权的公司已经承诺在编解码器最终确定后的两年内公布其版税政策,这意味着最晚在2023年。
LCEVC也将收取版权费,但V-Nova计划向发行内容的公司收取,而不是向提供编码和解码的公司收取。相比之下,其他大多数IP拥有者对编码/解码进行收费,这就给每一部支持的手机、平板电脑、电视甚至浏览器增加了版权费。V-Nova的理由是,向内容公司收费,就是向那些真正从降低带宽成本中获益的公司收费。这种模式应该会让内容公司更容易扩大兼容的LCEVC播放器的安装量,因为他们可以在不支付额外版税的情况下,用他们的应用或浏览器代码发布播放器。
除了版税政策之外,编解码器是否在浏览器或移动操作系统中原生可用也会决定它的使用。虽然谷歌在Android系统中支持AVC和HEVC,但它曾经威胁要从Chrome浏览器中删除AVC,而且它在全球最流行的浏览器中仍然不支持HEVC,这也是AV1相对于HEVC的关键竞争优势之一。除非Chrome浏览器支持HEVC,否则Chrome浏览器似乎不太可能支持VVC、EVC,甚至LCEVC——谷歌可能不会在Android中支持它们。
苹果在2017年6月跳上了HEVC的行列,但在2018年加入了开放媒体联盟(AOM)。它仍然不支持Safari浏览器中的VP9或AV1,而且无法预测它是否会接受这三种新的MPEG编解码器。在OTT /智能电视中,VVC和EVC将首先必须说服芯片厂商支持他们的技术,然后是消费者产品厂商。这两个集团都包括非常著名的AOMedia成员,他们可能不愿意支持新的MPEG技术。例如,AOMedia的芯片厂商包括Intel、AMD和NVIDIA。消费产品厂商包括苹果(AppleTV)、谷歌(Chromecast、Android TV)、亚马逊(Fire)和微软(Xbox),以及三星(手机、平板电脑、智能电视)。虽然HEVC通过这些公司的设备得到了很好的应用,但这些决定大多是在AV1上市之前做出的。这些公司对基于MPEG的新编解码器的修正能力如何还有待观察。
表4. MPEG新编解码器的版权及平台支持。
Codec | VVC | LCEVC | EVC | |
---|---|---|---|---|
Finalized | July 2020 | October 2020 | Baseline Pending | Main Pending |
Royalty status known | ~ July 2021 | December 2020 | Unknown | Unknown |
Chrome support | Unlikely | 2020 via V-Nova software | Unlikely | Unlikely |
Mobile support | Not assured, but the soonest in 2023 | 2020 via V-Nova software | Not assured, but 2023 (best case) | Not assured, but 2023 (best case) |
OTT / Smart TV | Not assured, but the soonest in 2023 | Some 2020 via V-Nova software; native support not assured | Not assured, but 2023 (best case) | Not assured, but 2023 (best case) |
从表4来看,唯一可能在2021年产生影响的新编解码器是LCEVC。对于VVC和EVC,由于版权费和技术采用方面的未知数实在太多,无法评估其潜力,而播放所需的两年硬件开发周期,使得短期内没有必要得出任何结论。
采用一种新的编解码器有三个原因:一是为了在一个新的市场竞争,比如HDR智能电视,二是为了节省带宽,三是为了提高观众的体验质量。如果你的目标是客厅的优质HDR内容,HEVC是首选编解码器,至少在未来1-2年内都会如此。如果你追求的是节省带宽或提高QoE,HEVC是移动和客厅的最佳选择,而AV1正在迅速取代基于浏览器的VP9播放。
在三种新的MPEG编解码器中,LCEVC是唯一能在2021-2022年产生影响的编解码器,LCEVC可行性的最佳指标将是金字塔顶端的出版商的部署。VVC和EVC何时变得相关的最佳短期衡量标准是它们各自的IP所有者何时宣布版税政策,以及这些政策的完整性和凝聚力。忽略夸张的质量比较;如果经济效益不好,这些编解码器不会得到广泛采用。