作者 | XHF
导读
基于人眼视觉个性登程的感知编码优化技术,成为互联网短视频、OTT 等 UGC 场景的重点优化伎俩,能够在升高视频码率的同时,晋升视频的观看体验。
明天次要有 4 个方面的内容。首先给大家介绍一下感知编码的技术背景;第二块是核心技术;第三块是给大家介绍一些利用的落地实际;最初给大家简略介绍一下编码的整个趋势。
全文 8207 字,预计浏览工夫 20 分钟。
01 智能感知编码技术背景
当初是一个大视频的时代,视频的流量也在持续增长,4G 通信催生了短视频行业的暴发。直到明天,还是没有进行的状态。5G 通信技术曾经被广泛应用,它的高带宽、低提早带来了更超高清的视频体验。
从头至尾,用户的视频体验跟老本节俭之间是一对矛盾。视频流量持续增长就会带来更高的带宽费用,咱们如何在体验不升高的状况下节俭带宽老本达到双赢状态,是咱们作为技术人继续致力的指标。
咱们怎么去压缩带宽呢?
首先要有一个好的编码器,编码的规范也是通过了几十年的演进,曾经有很多代的 CODEC,每一代的新的 CODEC 都是在上一代的根底上做很多的编码优化,研发出有竞争力的自研的编码器。
因为编码标准只是规定了视频的码流信息,咱们能够退出更多新的工具、新的算法,去在等同品质下达到更优的压缩效率,这个也是做算法同学们继续工作的指标。
目前的状况是 HEVC 或者 H.265 曾经在互联网 UGC 场景上占到了散发的 90% 以上。很多厂家也都在看下一代到底是 AV1,还是 H.266,行业内也有很多探讨。 那么咱们在基于编解码规范的优化之外,还有没有更多优化伎俩呢?这答案是必定的。
基于 AI 辅助的人眼感知编码是一个很重要的优化方向。它能够给咱们带来更多的带宽节俭,业界也提出了窄带高清、高清低码等等。 百度智能云「智感超清」技术中的「感知编码器」,实质上都是用了感知编码的优化技术。 明天咱们就对这个技术,联合实际,再进行一些新的解读。
咱们先看一下整个感知优化的基本原理。
视频压缩算法最基本的指标还是要达成人眼更好的感知品质。从人眼视觉零碎来看,传统的一些压缩算法,比方在 PGC 场景应用的压缩算法,他们个别利用 PSNR 作为品质评估指标,次要是考查压缩后的视频和原视频相比,在像素级别是不是足够像,足够靠近。咱们能够利用更靠近人眼的一些新的视频品质评估指标,比方 SSIM 或者最新的 VMAF,甚至是更好的基于人工智能的无参考视频品质评估办法。
更好的视频品质评估算法也是咱们继续谋求的指标。咱们从人眼个性登程能够归纳几个视觉的模型,比方视觉敏感度,人眼到底是对纹理更更敏感,还是对平坦区域的品质更敏感。另外,人眼有 JND 的个性,就是恰可察觉失帧的个性,可能人眼到了肯定水平才会失帧更敏感。同时,咱们有视觉注意力机制,即人眼对部分更感兴趣,那么就能够利用这些人眼的特色去做更多的优化。
总结下来,感知编码优化包含以下内容:
- 首先,对内容进行感知,对图像画质进行加强解决;
- 而后,在画质加强的根底上,进行码率调配的优化,比方基于 ROI 区域的辨认,进行码率更优的调配;
- 最初,联合外围编码器的优化,通过这些技术的综合使用,最终达到进一步节俭码率的指标。
在指标上,咱们不仅仅要压缩带宽,同时要晋升用户体验。用户体验的晋升反过来也能够转化成码率的节俭。
感知优化是一个双刃键,更具体来讲就是通过前解决去转化成码率节俭的时候,用好了就是码率节俭,用不好可能会带来负向的问题,所以咱们也始终在强调这是一个综合技术能力的晋升。
接下来,咱们就看一下具体怎么去做。近年来,百度智能云的智能视频云团队始终在继续的建设的「智感超清」的技术品牌,感知编码器或者感知优化技术是整个「智感超清」技术品牌中十分重要的一部分。
方才提到了这几局部内容,包含内容感知编码、感知解决,还包含外围编码器的优化。明天的内容也次要是围绕上面的几个核心技术来开展。
基于「智感超清」的技术,百度智能云的视频云团队为 ToB 客户打造了一系列的解决方案。
咱们将算法转化成理论的产品,包含私有云、私有化、一体机的模式,通过一些硬件平台的减速,可能从视频的生产到播放,端到端地让算法为客户的业务赋能。
下图是咱们整个产品计划的一个基础架构。
下图就是咱们整个的产品状态。
作为云产品的输入,咱们无奈像 C 端业务一样,能够用技术去深度耦合地赋能业务。咱们须要对技术做更多层次的产品形象,把技术转化成标准化的产品,以产品的模式让更多的 B 端用户可能去用。
除了方才提到的私有云、私有化、一体机之外,咱们也反对感知编码的 SDK 输入。
GEEK TALK
02 智能感知编码核心技术
介绍完一些根本的产品能力,咱们就看一下整个智能感知编码的核心技术。
一开始咱们就提到了编码器,一款好的编码器是一个工作的根底。
近两三年,咱们继续投入 BD265 的外围编码器的研发。那么,在编码标准上如何去构建一个具备竞争力的编码器呢?
咱们能够从这两方面去做:
- 一方面是正向技术驱动,比方在编码标准的根底上,通过一些正向的编码工具或者算法,晋升编码器的压缩能力,比方更好的码率管制形式、码率调配是一个很重要的优化点,前面也会讲如何让码率调配到更正当的中央。咱们陆续也退出了很多代码规范里不涵盖的算法,比方金字塔 B 帧、GPB,还有前解决相干的一些算法,这个是面向正向品质优化的。
同时在工程优化方面次要是指编码效率的优化,也就是说在编码品质无损的条件下尽量晋升它的编码速度,尤其是目前编码器也反对了 ARM 平台的专项优化,包含挪动端和服务端,同时也反对各种各样的疾速算法。这些都是一些正向驱动技术,同时研发到肯定水平,咱们也通过场景反馈驱动。比方咱们的利用驱动在直播通信场景上做了很多专项的优化。
- 另一个方面是场景反馈驱动的优化。比方在点播场景上,面对降本增效继续的压力,咱们在极致压缩场景上也做了很多优化。比方,在整个压缩算法上针对主观做了很多优化。右上角的这幅图大家能够看到,咱们是整个继续迭代的过程,从 1.0 版本开始,始终继续到 5.0 版本。咱们的压缩率比开源的 X265,包含 PSNR/SSIM 或 VMAF 在内的客观性指标上可能达到 40% 以上的码率节俭。所以咱们将编码器作为根底,能够发展更多的感知优化工作。
始终在讲感知,那么咱们能感知的是什么呢?就是内容个性。
视频品质跟哪些个性有关系。所谓感官上“人”的主观品质,大家就认为码率高了,品质会好,分辨率高了,品质也会好,帧率高可能更播放更平滑和顺畅。而后就是跟 CODEC 相干,不同 CODEC,不同压缩率。然而还有一个很重要的,就是内容个性。因为每一个不同的内容都有本人的 RD(码率 - 失真)曲线,每一条曲线是跟内容个性非亲非故的。
那么咱们如何针对每一个视频内容,甚至说视频的每一帧给出一个更优的码率调配呢?或者说给一个最优的码率配置?
更具体来讲,咱们如何在业务上给出一个视频的最优码率和分辨率组合。因为当初业务上都是有 ABR(码率自适应)的计划,到底怎么给出最优的组合,就须要对内容个性进行深度剖析。
因为实质上内容自适应编码还是码率管制问题,这就须要依据内容个性,找到视频品质、视频内容与视频码率、分辨率之间的关系。那怎么去找,还是有些难度,最笨的办法就是遍历一遍,然而这样显然达不到业务的时效性要求。
人工智能为咱们提供了对内容进行剖析和了解的伎俩,并在此基础上实现疾速、最优的参数编码的预测。
这个是咱们 2019 年做的一个工作,也有相干的论文发表,发表在 PCS2019 的会议上。
咱们构建了一个基于 AI 的模型。首先,咱们在视频场景这边输出一个视频,之后对视频进行分片,每一个场景的分片通过视频参数的预测模型进行分段预测。
咱们是如何评估的呢?首先是咱们始终在讲的视频复杂度,视频复杂度包含工夫的复杂度,也包含空间的复杂度。那就能够提取工夫的一些特色和空间的一些特色,同时基于预训练的大规模的 CNN 网络,提取一些特色。而后利用 TSN 的网络把这些特色做一些交融,交融在一起之后过一个预测模型,就能够失去更优的编码参数。
咱们的劣势是基于线上的视频构建了百万视频场景级别的训练集,依据不同的分辨率去做更多的训练。这个模型曾经在线上跑了 3 年多,成果也是十分的稳固。
咱们在这个根底上做了更多的迭代,包含依据不同分辨率更精细化地进行数据标注,同时当初的算法也反对整个工程化,ToB 输入也能够用到这个模型反对,通过 FFmpeg filter 的模式进行编码参数的预测。
然而它有一个有余的中央,就是它当初是一个点播场景的利用,因为一开始设计的时候,咱们就是设计在一个转码的工程里边,前面也会做一些改良。
在这个需要根底上,咱们前面也研发了 CQE 技术,它是恒定品质的编码来进行码率管制,同时更加轻量级的办法。
原理上能够利用编码器里边的一些曾经预剖析的特色,而后设计一个模型,最初给出编码的参数决策。如果在点播场景下,品质有问题的话,能够利用重编去解决。当然咱们当初重点也反对直播场景的 CQE 技术,简直是做到零提早。
讲完了对内容个性的感知,给出一个最优的编码参数之后,咱们在码率管制上还能够做更多的事件。
首先,大家始终在做的就是基于 ROI 的编码。所谓 ROI 就是人眼感兴趣的区域。方才提到,人眼有注意力机制,人眼在看一幅图像或者看视频的时候有更敏感的区域。最近注意力机制十分风行,这就是大模型的基本原理,Transformer 即 Attention Is All You Need。
整个视频输出之后,人眼最感兴趣的区域,首先是人体,而后是人脸,还有一个是字幕,字幕也十分敏感。咱们检测到感兴趣区域之后,就能够对这些 ROI 的区域进行预处理。解决的话能够做一些边缘增强锐化,平坦区域能够做更多的解决。
咱们在 UGC 场景上提供了一个空间,因为输出的视频品质可能是参差不齐的,有品质好的,有品质差的,那么在算法上也须要有针对性地做更多解决,输出视频的品质是什么样的层级,做什么样的算法咱们会有更多的解决。
方才讲到了前解决,还有一个是码率调配。如果只做前解决也是不够的,码率调配的环节也须要做更多的考量。因为做了前解决之后,视频的内容个性产生了变动,所以这个中央的码率调配策略,须要特定算法去做更优的调整。
当然咱们也有更疾速的检测形式,能够达到 1 ms 的检测速度,这也十分重要。
那么咱们就看一下成果,能够看到,右边的视频是 1080P 的原视频,8.9 Mbps 的码率。左边的是 720P,通过 ROI 解决和编码的视频,码率是 514 Kbps。
通过这 2 个视频的比照,能够看到通过百度智能云的 ROI 感知优化技术,它的视频品质是正向晋升的,同时它的码率压缩了 18 倍之多。这个就体现了整个 ROI 感知编码的劣势。
咱们再看一下 ROI 的编码和区域视频。
人脸是整个短视频产品上十分重要和常见的感兴趣的区域,因为人就是天天看人脸,你在路上会遇到不拘一格的人,咱们看短视频次要也是常常看人脸。因为人眼通过长期的训练,对人脸的品质十分敏感。人脸区域上略微有点噪声或者略微有点马赛克等等,很快就会被看进去。
所以说在做前解决的时候,不能比拟抽象的去做,还是要依据人脸的区域个性做不一样的解决。同时人眼对肤色特地敏感,到底是偏红、偏绿还是偏黄十分敏感。而且人眼对不同人种也十分敏感。
所以在策略上必定要更多地出现细节。在极致压缩的场景上,要尽量管制伪影和块效应,这个是咱们在主观优化上要继续解决的问题。那么咱们在这里也用了很多算法去做专项解决。从跟竞品的比拟成果能够看到,咱们的 BD 感知编码器在人脸区域上有更多的细节出现,不像友商有糊的感觉。
这个是跟竞品比拟的成果,左边能够看到更多的细节。
讲了人眼体验之后,咱们再看一下色调。
色调加强也是主观优化很重要的一个方面。比拟重量级的话能够用 AI 的形式去做,比拟轻量级的话能够用一些传统形式去做。
咱们能够看到在色调方面,右边是 606Kbps 码率没有通过色调加强的压缩视频,左边是 485Kbps 码率的通过色调加强的压缩视频。能够看到在通过一些色调的解决算法之后,码率能够达到 20% 的节俭,然而主观成果有显著的晋升。
然而这样也会有问题,就是色调加强也是一把双刃剑,如果用不好,就会容易犯错误。这个也是咱们针对人脸专项优化的一些教训。
咱们方才讲到短视频场景的人脸解决,其实还有很多更难的 case,这些在整个广播电视场景上或者其余一些 OTT 场景上也是很常见的。那么如何去应酬这些更难的 case 呢?
咱们能够把人脸专门抠出来,让人脸化作专用的人脸超分模型,把它分区域进行解决。
咱们采纳基于生成反抗神经网络(GAN)的模型,次要优化还是在工程化的落地方面和数据处理方面、在损失函数的设计方面做了专项的人脸超分的工程化,损失函数就包含一些反抗的损失,ROI 的损失还有身份的损失。让超分之后的人脸跟原始的人脸看起来像同一个人。
同时,咱们在数据上做了大量的优化工作。做完之后咱们通过人脸分区交融的算法让人脸的超分成果和视频超分成果可能很好地交融在一起。
咱们能够看一下成果。
这些是线上的一些理论客户的 case。能够看到在通过人脸专项的优化模型之后,画面的清晰度失去了极大水平的复原,这也是基于生成模型的思路去做了更多的复原,在人眼的视觉品质上很天然,同时又更清晰。这个是做专项人脸优化要达到的一个指标。
这个是教育场景的一个 case,通过解决后能够看到,这个老师的清晰度,还有后边的字幕都有比拟显著的晋升。
其实还有很多场景上,除了人脸还有一些其余的感兴趣的区域,比方图像里边没有人脸,可能右边有一只狗,狗也是一个很重要的感兴趣区域。所以显著性能够了解成感兴趣区域的扩大。
其实这里的基本思路相似,也做了一些有特色的优化。同时咱们在做显著性检测时,不仅仅把区域扩大到非人体,也包含一些前景对象。重点对人脸区域进行了爱护,也就是说既有人脸,也有非人脸、非人体。咱们依据显著性的优先级进行了偏重解决和码率调配的优化,这样达到最终的指标。
显著性检测的技术也是基于更经典的 U 型网络即 U2-NET,在这个根底上做了很大量的工程优化的工作包含模型的裁剪,整个新增了人脸的分支和其余效率上的优化。
咱们目前在 CPU 上能够达到很快的检测的速度,差不多可能代替一个独自的人脸检测模型,这个也是咱们优化的一个指标。
这个视频它的背景有山有河流。因为山上有很多树,这种属于很耗码率,然而人眼可能不怎么敏感的中央。同时人眼会重点关注小女孩的衣服和小女孩的脸部是不是够清晰。
左上角是一个非显著性的压缩视频,右上角是显著性的压缩视频,左下角是 20M 的原视频,右下角是显著性区域的展现。所以通过显著性的优化能够在感知品质上达到更好的成果。
咱们方才把感知优化的核心技术点给大家过了一遍。
一开始提到,其实整个感知优化技术手段并不是拿过去放到编码器里边去,它就能很好的工作,这个是不事实的。咱们须要做的事件就是要把所有的工具、办法跟最根底的 BD265 编码器进行深度交融,包含前置剖析、检测。
而后在码率调配上与 CAE 技术联合。通过加强管制影响前面的调配,咱们也做了码率均衡的策略,保障做了前解决之后的码率可能在管制在范畴之内,还有包含 ROI 整个码率调配的优化。同时,能够把人工智能的 AI 重量级优化技术,包含人脸超分技术,作为一个可选项。
依据对原视频品质的评估,能够有选择地利用基于 AI 的解决,包含加强 HDR 等等。这样的话,总结起来就叫感知编码技术的综合使用,只有这样感知编码技术才可能达到线上可用的指标。
GEEK TALK
03 技术落地实际
在百度公司外部,百度 FEED 流视频也是一个很大的体量,所以能够先分享一下整个,包含画质、评测,还有上线的根本流程。
首先是外围算法的研发,包含客观性的压缩算法、感知优化算法的研发,以及主观优化的一些算法的评估指标。在主观评估自测过关之后,进行编码器的效率测试、稳定性测试。
在工程上的话,首先要跑一批视频,让 PM 同学或者经营同学去做主观 GSB 的数据评估。GSB(Good、Same、Bad)就是领有主观评估的平台,比如说 G 就是 A 比 B 好,S 就是 B 和 A 一样好,或者 B 就是 bad,就是 A 比 B 差。这样的话就会造成一些打分,有了这些打分之后就决定 GSB 是不是过关,能不能达到上线的规范和要求。
咱们还要做线上的试验。通过百度公司的 AB 试验平台做大量的试验。方才讲到的主观评估,百度外部有一套名叫「灵镜」,反对多终端的主观评估平台,能够基于人眼的评估进行打分。那么,到了 AB 试验环节的话,就会有更多数据驱动的数据,包含能不能带来理论的带宽节俭。那么在用户指标(UBS)上,包含散发、时长、用户播放的体验和起播、卡顿、loading 率等等,都须要通过很严格的指标性考核能力达到最终能不能达成下限的指标,就是说这下面的几关都要过。
最初是一个全量的过程,要通过倒退试验再验证一下这个后果是不是合乎预期,即整个带宽是不是合乎预期,其余指标有没有好转。这个是整个的上线流程。
有了这项流程之后,咱们从去年到往年继续地给线上产生一些收益。
首先,咱们通过外围编码器的算法优化,在客观性指标能够达到 35% 到 40% 的码率节俭。
而后咱们通过内容自适应的编码又能达到 40%-50% 的节俭。通过与感知编码技术的深度交融,最终的感知编码器可能带来 50% 到 60% 的码率节俭。 通过感知编码优化技术,用户指标数据(UBS)有显著晋升,总分发、总时长和最终的业务指标是有显著的正向晋升。
这个就是回馈到一开始给大家讲的如何在不升高用户体验,甚至晋升用户体验的同时,又进一步节俭带宽。也就是说,咱们通过感知编码技术的优化达成了最终想要的指标。
GEEK TALK
04 智能编解码技术趋势
最初还有一点工夫,我给大家简略介绍一下智能编解码的技术趋势。
前面的资料次要是还是援用一些论文趋势。首先是基于深度学习的编码方向的一个 Review 的文章
我为什么要参考这个呢?因为它在经典的编解码框架根底之上为各个模块都引入了 AI 工具的探讨。那这些模块能不能用 AI 进行辅助的编码赋能呢?其实在下一代编码过程中,比如说 AV1 或者 H.266 会越来越多地用到 AI 辅助模块化的辅助编码工具去进行减速或更优的裁决。当然,一开始的 CAE 技术也是用了 AI 的辅助码率控制,还包含其余方面,如通过端到端进行 AI 的前置解决,就是从开环走向闭环,这是咱们下一步要去做的工作。
下一个分享是视频品质评估,这也是十分重要的一个课题。
为什么叫课题呢?因为这个 topic 是大家继续都在做,然而没有最好,只有更好。大家最近都在做 YouTube 分享工作,是基于 AI 的利用多个个性,包含内容、distortion(压缩的损失),还包含压缩自身用多个网络进行特色交融的形式来回归,这样的话能够达到更好的人眼用户体验,这号称也是达到 SOTA 的后果。
为什么讲这个的话呢?因为咱们整个感知编码都是围绕品质。那什么是感知品质?如何更优地评估?这个也是客观性指标,解决不了的问题。所以咱们就须要通过建设与业务相结合的品质评估模型去推动技术进一步倒退,甚至包含 CAE 的技术,还包含主观解决的策略,都能够用这种更优的主观品质模型去辅助,达到更优的成果。
最初我简略分享几点十分肤浅的思考,还是跟感知编码相干,感知编码会越来越多地应用 AI 伎俩。
这边是几点总结:
- AI 是根底,它须要紧密结合利用的需要,构建综合的研发能力。意思是说仅仅有单点的能力是不够的,须要把综合能力都串起来,进行综合使用。
- AI 是一个工具,它须要紧密结合客户的需要。解决行业的痛点问题是指它是一个工具,到底要解决什么样的问题,就须要用什么样的工具。
- AI 辅助编码将会在下一代编码中产生更多的收益,因为下一代编码的工具越来越简单,能够通过 AI 做更多的减速。
- AI 视频解决的方向须要继续打磨,分场景、分步骤解决问题、解决成果和效率问题。这个也是咱们多年来在 ToB 场景上,尤其是 AI 的解决场景落地过程中进行的一些总结。AI 当初并不完满,然而咱们还是在个别场景上,通过细分场景去继续地打磨,为解决客户的理论问题,达到生产成果和效率的要求。
- AI 在视频生产解决和编码过程中的利用依然有广大的倒退空间。这句话是有点泛,然而大家都晓得,当初尤其是大模型,像 ChatGPT、文心一言等这些都将在视频生产处理过程中产生一些促成的作用。
以上是我的分享。
——END——
举荐浏览:
增强型语言模型——走向通用智能的路线?
基于公共信箱的全量音讯实现
百度 APP iOS 端包体积 50M 优化实际 (二) 图片优化
浅论分布式训练中的 recompute 机制
分析多利熊业务如何基于分布式架构实际稳定性建设
百度工程师的软件品质与测试随笔 [](http://mp.weixin.qq.com/s?__biz=Mzg5MjU0NTI5OQ==&mid=22475598…)