答应你们的葫芦娃大作来了
这是“葫芦娃说”系列的第2篇
还记得,手捧“HULU INVENTS”的Deliang吗?在快来,见大佬了中露脸的他,这次直接送上干货一篇。
有关各主流编解码器的优势、不足、选择方法… 听听Deliang怎么说:
“
时光飞逝,转眼间已经来到了2018年。在过去的几年中,整个音视频行业随着互联网的大潮迅速发展,已经使得全球的用户得以通过视频的这种高密度信息载体与整个世界有机连接在了一起。
然而让整个业界多少有些没有预料到的是,在线音视频行业存在与发展的重要基石——视频编解码标准的“权力交接”直到今日仍扑朔迷离。2018年已经是H.264发布的第15个年头,H.264的官方继任者HEVC也已经在不知不觉中正式发布5年了。然而, 虽然目前整个工业界对于下一代音视频编解码标准带来的压缩效率的提升需求非常迫切,但是究竟哪一个标准、哪一款编解码器才是继承H.264 天下的真龙天子,目前仍是未知数。
H.264:一统江湖
H.264 / AVC是迄今为止业界最为成功的音视频编解码标准。在过去的十数年间,H.264标准出现在了各种视频应用的场景中。在编码器端,基于H.264标准的开源编解码器x264几乎成为了各大小流媒体服务公司的标配;在解码器端,H.264的解码支持涵盖了各类专用与通用设备,例如桌面浏览器、各类手机、计算机、摄像摄影设备、游戏主机、智能电视、各类盒子等等。
统一的编码标准使得参与整个视频行业各个环节的公司可以各司其职,分别关心自己专注的业务与模块。只要保证自己的产品能够符合H.264标准,就可以在视频的行业中畅行无阻,而无需担心与上下游直接的衔接和配合出现问题。这种统一的局面使得整个业界避免了大量的重复开发和调试,在客观上显著提升了整个视频行业的发展速度。
H.264之所以能够获得空前的成功,最重要的原因是其技术先进,压缩效率比上一代编解码标准显著提高。另一方面,H.264相对开明的专利授权机制和费率也是一大助力。尤其是H.264对于在线视频制作和传输端免费,大幅提升了H.264在互联网上的采用率。
HEVC:负重的继任者
H.264官方的继任者是由ITU-T和MPEG联合提出和发布的H.265 / HEVC。作为与H.264同根同源的下一代标准,HEVC从立项起,其目标就是有朝一日替代H.264。为了达到这一目的, ITU-T和MPEG在标准制定初期就建立了联合工作组,集结了全世界最优秀的视频专家进行了刻苦攻关。在此基础之上,工作组还在制定HEVC的过程中汲取了H.264标准在工业化和实践中的经验教训:HEVC标准充分考虑了解码器端的复杂度和硬件实现的复杂度,使得整个标准的实现成本得到了合理控制。
可以说,HEVC在技术上是一代集大成的编解码标准。然而,正如历代伟大君王的子嗣一样,HEVC从诞生起也承担了额外的压力。一方面为了达到尽量高的性能,在编码工具的选择上,HEVC 以性能和速度为主要衡量标准,采纳了各路技术。另一方面,H.264的巨大成功也让业界各公司意识到了音视频编码标准的重要性和重大潜力,因此希望通过参与标准化工作获得较高的经济回报。这些因素综合造成了目前HEVC 专利授权上的复杂局面,而潜在的高昂专利费用是目前HEVC全面应用的最大阻碍。
时至今日,HEVC凭借着先发优势、过硬的技术性能和在学界、标准化组织中深刻的影响力,仍然是工业界下一代视频编解码标准的有力竞争者。 然而其进一步的工业化目前受到了专利授权费用的显著影响,未来仍不明朗。
VP9:不可忽视的诸侯
早在H.264的时代,VP系列标准就是市场上一个勤奋的追赶者。在被Google收购、开源并发展数年后,VP系列的最新标准VP9已经成长为HEVC的一个不可忽视的竞争对手。VP9完全开源免费的政策是其重要的优势,在浏览器和安卓系统中的良好解码支持也为其应用打下了良好的基础。目前Google旗下的Youtube全面使用了VP9作为视频编解码标准,Netflix也在移动端部分使用了VP9。 VP9虽然声名不显,但是凭借Google的影响力,在OTT市场的占有率上并没有落后于HEVC。
VP9存在的问题主要在于人气不够高,没有丰富、高效的编码器选择和广泛的解码器支持,这都使得其广泛应用的前景蒙上阴影。此外,VP9的性能也并没有受到业界的广泛认可,业界对于其压缩效率是否能够达到与HEVC相当的水平仍然持保留态度。随着Google将工作的重心逐渐转移到AV1上,在下一代编解码标准的竞争中,VP9扮演的更像是一个保底方案的角色。然而如果HEVC的专利费用问题持续发酵,AV1又迟迟不能广泛部署,则VP9仍有希望上演以下克上的翻盘好戏。
AV1:新贵的挑战
针对HEVC的专利问题,Google为首的多家公司成立了AOM(Alliance of Open Media,http://aomedia.org/)组织,专门研发相关的替代技术。AOM的目标是研发一套替代HEVC的免费开放视频编解码标准,这一标准被命名为AV1 (AOMedia Video 1)。AV1是基于Google的VP10开发的,并且融合了Xiph's/Mozilla的Daala 和Cisco的 Thor编码器 / 标准的相关技术。
目前AOM组织的会员已经包括了浏览器相关主要厂商如Google,Mozilla和Microsoft;内容提供商如Google / Youtube, Netflix, Amazon 和hulu;硬件厂商如Intel,AMD,ARM和Nvidia。这一阵容已经基本涵盖了在线视频的整个产业链,可见AV1虽然起步较晚,但是整个工业界的布局也已基本成熟。近日Apple的加盟更是给AV1又注入一股强劲的力量。AV1代表的是朝气蓬勃的互联网行业,这个行业有充沛的资金和人才,并且具有更为开放和包容的心态,敢于提出免费、自由的新标准。AV1的横空出世必将会对整个视频标准化行业带来有力的冲击。
然而AV1也并非完美。一方面,AOM组织相比于ITU-T和MPEG还很年轻,对于标准化工作的协调组织上还有一定的差距,这一定程度上会影响整个标准制定的进度;另一方面,为了达到开源免费的目的,AV1在技术的选择上有所限制,从而影响最终性能;最后,AV1相比于HEVC起步较晚,在硬件解码、对于各种视频封装的支持、学界相应的优化研究等方面在一段时间内会相对落后。因此,AV1虽然具有较光明的前景,但是如要彻底击败HEVC也颇有难度。
其他选择
目前除了HEVC和AV1,业界还有其他一些视频编解码标准可能在将来成为业界主流。例如ITU和MPEG在HEVC基础之上提出的H.266 / FVC(Future Video Coding),国内自有知识产权的 AVS2、AVS3等。不论是哪一种标准,想要在将来的业界达到广泛的采纳,必须要在压缩效率、授权费用和结构、软硬件解码支持覆盖率、各类新特性的支持情况、可用编解码器的成熟度等方面达到较好的综合表现。
编码标准的抉择
在下一视频编码标准之争风起云涌,赢家尚未成为定局之际,在线视频的新功能和不断增长的用户对于高清流畅视频的需求不断增长的今天,如何在各种标准和编码器之间进行选择成为了各个流媒体服务提供商关心的重要问题。选择正确的技术方案对于控制成本、提高系统稳定性、保证用户体验等方面都有重要作用,值得深入调研。在考察各标准时,主要需要考量的方面有如下几个方面:
解码器的支持情况
解码器的支持情况是选择视频编码标准时首先需要考察的。视频解码器结构复杂,开发周期长,对性能要求高。较为成熟的解码器支持可大幅度降低OTT在线视频公司研发成本并缩短服务上线周期。选择一款解码器覆盖广泛,解码器支持成熟的视频编码标准是业内公司的共识。
在下一代视频编码标准中,HEVC由于起步较早并且有较多公司的支持,因此目前在硬件解码器的支持方面相对较好。近两年推出的大部分多媒体设备均内置了HEVC的硬件解码器。在2017年,Apple设备也加入了HEVC解码支持的阵营,至此HEVC已经完成了客厅设备、机顶盒与移动设备端的全面覆盖。VP9的硬件解码支持相对于HEVC较少,但也已经覆盖了相当数量的安卓设备与机顶盒。AV1由于标准尚未定稿,因此硬件解码的广泛推广尚需时日。
在浏览器端的解码支持情况则大不相同。HEVC在桌面浏览器端的支持非常有限,目前只有Safari 和Edge浏览器支持HEVC解码。VP9解码则已经在除IE和Safari之外所有的主流浏览器上得到了支持。AV1标准虽未定稿,但目前从加入AOM组织的公司阵容看来,AV1将来在浏览器上的支持前景是值得期待的。
编码器的成熟度
编码器的质量和效率很大程度上决定了视频编码的效率。拥有丰富而强大的编码器阵容会使得相关标准的生产部署速度和线上压缩效率等得到极大的保证,因此在选取编码标准时,市面上编码器的成熟度和多样性也是重要的考量因素。
编码器从实现架构上讲可以分为硬件编码器和软件编码器,从商业模型上说可以分为开源编码器,商用编码器和私有编码器。在下一代编码标准中,HEVC目前在编码器的选择上是最为丰富的,例如开源的软件编码器如x265;多种商用的软件解码器;Intel、Nvidia等公司推出的硬件编码器等。HEVC较为完善和规范的文档也为各个厂商依据标准进行私有编码器的开发打下了良好基础。VP9在编码器的支持方面相对较差。匮乏的文档阻碍了编码器的开发,目前市面上常见的VP9编码器仅有开源软件编码器libvpx和少数几款商用编码器。AV1标准计划在发布的同时提供一款参考编码器,与HEVC、H.264以及其他很多标准参考软件不同的是,AV1的参考编码器致力于商业应用,因此其表现目前也受到了业界的广泛关注。除此之外,一些编码器厂商也已经紧锣密鼓地开始了AV1编码器的研发工作,相信不久的将来市面上也会出现多种AV1编码器供各个厂商选择。
新特性的支持
在视频行业日新月异的今天,新特性的支持情况也需要在编码标准选择时予以考虑。各个标准由于推出时间和来源不同,在新特性和整个视频传输标准链上的支持程度也各不相同。在选取视频编码标准时应当充分考虑潜在的新特性支持情况,从而避免重复和浪费的投资。
一些典型的新特性包括HDR视频、360度及 VR视频等。以HDR为例,目前业界的主流HDR格式都是以HEVC编码为基础的。因此若近期有HDR特性支持的需求,则HEVC的编码能力是不可缺少的。
公司与业务需求
在视频编码标准的选择中,归根结底最为重要的因素是公司情况和业务需求。只有充分考虑公司和业务的需求,才能够在编码标准上做出正确的选择。
首先需要考虑的是目前是否需要升级到下一代视频编码标准。当前H.264在各个方面都非常成熟,如果对于压缩效率和新特性的支持要求不高,则可以选择继续使用当前的H.264体系。在各个新标准的解码支持覆盖全平台之前,各公司仍然需要使用H.264来服务不支持下一代编码的平台,因此对于视频编码计算和视频存储而言,采用新一代标准在一定时间内都会带来额外的成本。新标准带来的好处是带宽的节省、新特性(如4K、HDR)的支持和播放流畅度以及用户体验的提升。各家公司应当根据自身的具体情况进行分析做出选择,而不是盲目跟进新标准、新技术。
其次需要考虑的需要支持的平台类型。各标准在不同的设备上支持情况不同,因此在标准的选取时应当有一个全局和有前瞻性的考虑。例如,若公司业务重心在浏览器网页端并且不开发自有解码器,则应当更多考虑VP系列或AV1标准;若公司主打移动设备,则HEVC目前已经成为了一个相对成熟的选择。除客户端类型外,在考查平台类型时还应考虑业务形态。例如当业务需要在端上做实时编码时,则应当优先考虑拥有较为成熟硬件编码器的标准。
在平台类型考察的基础之上,还应当对公司针对编解码上下游的控制和对编解码器开发的投入有充分理解。对编解码上下游控制比较充分、对编解码器开发投入较多的公司可以在编码标准的选择中有更大的空间和自主性;规模较小的公司则应当在标准选择中更为审慎,尽量选取编解码均较为成熟的标准。
最后,考虑到目前HEVC纷争的专利权问题,在选择视频编码标准时也需要对潜在的法务风险进行评估。在下一代视频编码标准中,目前HEVC的专利权问题首当其冲,使用HEVC意味着承担相应的风险和授权费用。VP9和AV1在这一方面具有很强的优势,其免费开放的特性有Google这样的巨头保证,这为市场解决了很多后顾之忧。
视频编码器的对比与选取
在选定视频标准的基础之上,下一个需要解决的问题是选取视频编码器。视频编码器的对比本身是一个相当复杂的问题,想要做出非常客观、公正而全面的编码器对比是非常具有挑战的一件事。X264的作者之一Dark Shikari当年就曾经撰写过一篇博客来阐释公平公正的编码器对比的难点和常见的误区。
对于在线视频公司来讲,在编码器对比中,需要考虑如下的几个维度:
评价指标
在编码器对比与评测中首先需要考虑的是使用何种评价标准。在视频编码中,评价指标主要包括码率指标和质量指标两类。其中码率指标比较简单明了,直接使用实际编码码率即可;而质量指标则要复杂的多。
传统上视频质量使用PSNR为代表的客观指标来衡量,然而近年来的大量研究均已表明了这类指标与人眼主观感受之间的匹配度不足,在一些特定场景下甚至出现与主观质量冲突的情况。因此目前业内已经越来越少单独使用客观指标进行编码器评测了。
与客观指标相对应的是运用主观评测来对比编码器。主观评测中会将视频用不同的编码器进行编码并请求真人对视频质量进行打分。主观评测的准确性高,主要的问题是门槛高,成本高。如果希望使用主观评测的方式进行编码器对比,则应当做好软硬件支持、技术支持和人力与时间资源。
近年来,学界和业界推出了一系列基于主观质量的客观视频质量评价标准。运用这些标准能够实现在不进行主观质量评测的情况下达到与主观评测类似性能的目的。目前这类算法的问题是业界缺乏公认的较好质量的指标,因此在公开的大规模测试中很少使用这类指标,主要还是依赖与大规模客观指标+小规模主观实验的模式。
对于在线流媒体公司来说,需要根据自己的实际情况和需求选择合适的指标作为质量评价标准。其中基于主观质量的客观评价指标的选取是一大重点,值得花费较多的精力与资源。
编码速度要求
在视频编码中,编码速度会对编码效率产生本质的影响。同一标准的同一编码器在不同的速度下性能能够相差20%以上,不同编码器在不同的速度下的性能差别则会更加明显。实时编码器和标准参考软件之间对比性能毫无意义,因为他们的应用场景完全不同。
在编码器选择中,在线流媒体公司应当根据自己业务的特点来对编码速度提出合理的要求。例如对于直播类业务,实时甚至超实时编码器是必须的;对于点播类业务,编码速度则可根据业务具体形态的不同有较大的差异。在编码器对比中应当将各个备选编码器都调整配置为在选定要求的编码速度范围内工作,并在此基础上进行性能对比。
常用码率范围
在编码速度基础之上,还应当考虑常用码率范围。不同于标准制定阶段,对于流媒体服务提供商而言,对于每一个分辨率常用的码率范围一般不会很大。对不同的市场和应用场景,同一码率上最高和最低的传输码率可相差一倍甚至两倍以上,这种巨大的差异会使得各个编码器的性能对比发生本质的区别。例如某些优化和快速算法做的较好的编码器在低码率端表现优异,而标准特性支持较全面的编码器则可能在高码率端表现出较好的性能。
在线流媒体公司应当深入分析应用场景,总结常用码率范围并在此范围中进行各编码器性能的对比和选择。
视频内容特点
视频内容特性是影响视频编码效率的另一大因素。不同的编码器在不同内容上的表现也会不同。例如有些编码器针对噪声较重的场景有特别的优化,则对于用户上传内容较多的公司来说具有额外的价值;而主打二次元内容的公司则应当考虑对动画类内容优化较为充分的编码器。选取一款通用的全局最优编码器往往是困难并且无必要的,建议各家公司总结并使用具有自身特点的视频内容对编码器进行评测和选择。
线性的支持
特性的支持也是编码器选择的重要考量因素。例如是否支持10bit编码,是否支持CBR编码的码率控制模式,是否拥有丰富易用的各种参数,是否易于与各种平台集成,是否支持二次开发等。仅仅拥有优秀的编码效率可以使得一款编码器被称之为优秀,却很难使其被称之为成功。流媒体公司应当根据自己的业务需求和对未来的展望选取具备充分特性支持的编码器来服务用户。
灵活的架构:明智的方案
目前整个视频编码标准尚处在混战的阶段,最终谁胜谁负尚难以判断,编码器的选择更是云山雾罩,各种评比层出不穷结果却并不收敛,选定某一标准并且选定一款可供长期使用的编码器难度颇高。另一方面用户的迫切需求和带宽的压力使得业界众公司都需要在近期就开展下一代视频编码标准的部署,因此持续观望并不可靠。
在这种形势下,设计并实现一套较为灵活的视频编码架构不失为一种明智的选择。这类灵活的架构要求能够一方面实现多种编码标准和编码器的共存与灵活替换,另一方面能实现全站视频在一定时间内的重编码与上线。这类灵活的编码架构能够使得公司具有较高的灵活度,并且根据业界的发展与标准的竞争状态实时调整编码标准和编码器的选择策略。在H.264大一统的时代中这类架构并无太大必要,但这恐怕是业界为暂时没有一个统一标准而必须付出的代价。
结语
这是最好的时代,这是最坏的时代。今天视频编码这一历史悠久而又拥有持久活力的技术方向又将迎来一个全新的战国时代。技术的发展和用户需求之间的碰撞必将迸发出激烈的火花并且带来整个行业的变革。作为这一切的见证者和参与者,我们毫无疑问是幸运的。在接下来的几年中,到底是HEVC稳住阵脚,还是AV1后来居上,抑或是其他的标准横空出世,让我们拭目以待。
”
有关作者
傅德良
Hulu高级研发经理
为千万用户和百万高质量优选视频内容服务的视频编解码与传输领域老司机
你可以点此回顾同系列第1篇:
当我们在谈论Hulu的工作体验时,他说…
抱走二维码
葫芦娃大作不定期更新
本文链接:https://my.lmcjl.com/post/6337.html
4 评论