网易云信智码超清转码技术实践

7,030 阅读11分钟

智码超清背景介绍

随着 5G、AI 技术发展,视频行业迎来一个高速的增长期,视频在网络带宽的占 2019 年为 43%,预计到 2025 年占比将高达 76%,仍然保持着高速的增长,其中有大部分是超高清的视频,据某权威机构预测,2022 年超高清的视频规模有望达到 4 万亿人民币,相比于 2019 年的 1.2 万亿人民币翻了 3 倍之多,可见超高清市场的规模有很大的空间。

我们目前处于逼近真实,基本达到真实的阶段。从分辨率来讲我们从标清、高清慢慢往超高清的方向发展,从动态范围、色域和视角范围来看,从标准动态范围到高动态范围,还有窄色域、窄视角到宽色域、宽视角的方向发展,未来肯定会朝着超越真实的视觉通信互动媒体方向发展,其中会涌现更多的视频技术, 包括更高的分辨率,还有多视角、多自由度,还有超低时延、实时互动、实时渲染、数字孪生等技术。

1.png

我们大家理解的高清视频是指 720P 和 1080P 的分辨率的视频,超清指的更大的分辨率,比如说 2K、4K、5K、8K,随着分辨率尺寸越来越大,网络带宽传输的成本也越来越高,因此需要有一套低成本高质量的压缩视频的算法。基于以上背景网易云信开发了智码超清的自研算法,不仅能够给视频带来极致的压缩,而且能够带来画质的增强。

横向对比来看,提供智码超清业务的厂商有很多。下图左边是国内厂商,包括大家熟悉的阿里云、腾讯云、百度云等。下图右边是国外厂商,包括亚马逊、 YouTube、NETFLIX 等,可见智码超清业务是非常重要,且非常基础的工具。

2.png

智码超清转码的关键技术

下图是视频转码在整个直播、点播数据流的位置和作用,这个图是直播、点播领域常见的流媒体推流和拉流的数据流的过程,可以看出从刚开始的视频源到转码服务器转码,转码后又经过打包和加密发送到不同的服务器上。最后如果客户端有请求,我们会从就近的服务器拉流到客户端来播放显示。我们的转码处在比较靠前的位置,转码后的码流如果越小,后面的网络传输的一系列成本将大大降低,而且码流的质量直接影响在客户端播放时的主观体验,所以这里的转码要做到智码超清。

3.png

智码超清转码的关键技术点分三块。第一块是视频前处理,第二块是视频编码,第三块是视频后处理。

5.png

视频前处理

视频前处理包括内容分析与画质提升两部分。

其中内容分析包括两个方面:

  • 第一是场景识别 通过场景识别,区分出不同的场景,包括游戏、动画片、动作片、视频会议等。针对不同的场景,我们会更精细的选择不同的前处理策略和编码工具,这样前处理和编码可以做到场景自适应。
  • 第二是ROI检测: 这里指基于深度学习的ROI区域检测,我们把检测出来的ROI区域传给前处理模块和编码模块。在前处理和编码模块内部对ROI区域的画质做重点的增强修复。

画质提升包括视频增强、色彩增强、视频降噪三部分。

  • 视频增强和色彩增强,是基于深度学习的方法对原始视频做增强,从主观上对画质会有明显提升。
  • 视频降噪,是在噪声评估之后对有噪声的视频做降噪处理,不仅能够带来画质的提升,而且对视频编码的压缩率也有很大的帮助,所以视频降噪是非常有用的前处理工具。

视频编码

智能编码方面: 包括感知编码、ROI 编码,还有精准的帧级和行级码控。

编码内核方面: 有自研的 NE264、NE265,还有支持私有协议的 NEVC。

视频后处理

主要是做画质提升,这里包括视频超分、视频增强。

智码超清转码的技术解析

智码超清的技术解析之超分技术

超分这里具体指的是超分辨率,是从低分辨率到高分辨率。超分算法一般是部署在端侧,所以要做到又快又好,因此我们自研了一套基于轻量级网络的实时超分算法。

这里自研的轻量级网络我们称为云信 RFDECB 网络结构,下图详细描述了网易云信的 RFDECB 网络结构,左边是这个网络结构的主干图,可以看到是由不同级的 ECB 模块和卷积模块构成,通过提取不同级的残差特征和 ECB 输出重参数化的结构可以更好提取图像特征,最后通过融合得到高分辨率的图像。右边对 ECB 模块的具体结构,我们采用拉普拉斯算子和索贝尔算子来提取图像的边缘特征,这样可以更好的得到超分的效果。

6.png

另外,在训练结束之后我们会把 ECB 模块中的多分支的网络结构通过展开、合并,最后变成一个非常简单的卷积,这样在推理过程和工程化实现中会有比较大的效率提升。

我们自研的超分算法参加了今年的 CVPR2022 年的超分比赛,在综合性能赛道我们超越了包括来自字节、阿里、B站、华为、南京大学、清华大学等选手,获得了综合性能赛道的冠军,在业界做到最好的水平。

7.png

下图左边是我们超分技术的效果展示,左边是没有做超分,右边是有我们的超分算法。可以看到左边的地球仪和文字是比较模糊的,经过超分算法之后地球仪和文字部分会清楚很多,这是我们超分算法带来的画质增强。

下图右边是我们自研的移动端超分和业界超分端上方案的处理对比,都是在相同的 480P 分辨率下做两倍超分。可以看出,相对于业界方案 1 的 10 毫秒,我们还可以再降低 50%,达到 5 毫秒的速度。所以我们可以部署在更多低性能的移动端,可以给更多的客户带来画质提升的体验。

8.png

下面讲一下编码技术,首先是人眼感知编码技术,下图左边是 JND 的基本原理,JND(Just Noticeable Distortion)最小可察觉的误差,是利用人眼的视觉冗余进一步压缩视频。从这个图中可以看出,编码内部使用的失真码率 RDO 曲线是连续的突曲线,我们人眼感知的其实不是连续的,而是阶梯状的。可以对比看出,如果利用阶梯状的曲线来替换原来的 RDO 曲线,在相同的失真的情况下可以使用更少的码率。

9.png

传统的 JND 算法是以图像的底层特征为主,包括图像的纹理、边缘、亮度、颜色。网易云信自研的 JND 感知编码,除了在传统的 JND 的算法基础上加入了基于深度学习的高层特征分析,能够识别出图像中的文字、人脸、前景之外,还有其他的显著性区域,并对这些不同的特征做了不同的 JND 的公式。我们把不同特征的 JND 的公式应用在编码,这样可以大大降低我们的码率。这一套算法上线落地能够带来平均 15% 以上的码率节省,在有些特殊的场景可以带来更多的码率节省。

第二是前处理和编码的联合优化。这里主要讲的是 ROI 编码,我们基于深度学习的前处理检测出 ROI 区域,如图里面的 ROI 区域是人脸和文字,我们把人脸和文字区域的位置传给后面的编码模块,在编码模块对 ROI 做主观质量的保护,这里不仅是简单的把 ROI 区域的 QP 调小,而且还针对文字部分,我们使用 transform skip 等编码工具来提升文字的主观效果。对非 ROI 区域我们做降码率处理,这样可以整体节省比较多的码率。

10.png

下图是 NE-CODEC 的内核优化。我们自研了有 20 多个创新的编码算法,分布在不同的编码内核的不同模块,包括有 GOP 级的预分析,帧级的预分析,还有预测、转换和量化部分。在 GOP 级的预分析里我们自研了一套自适应的分层B的参考结构,包括 GOP8、GOP16、GOP32。针对 CU TREE 也做了自适应的分层结构。

11.png

在帧级的预分析主要是 JND 和 ROI 的优化,上文已经提到过了。

在预测模块我们也有很多的快速算法,包括多参考帧的快速选择。还有在转换模块,我们对现在的 DCT 模块做深度的加速,还有我们提出了快速的 RDOQ 算法。另外还结合了 JND 做了频域的 JND 的算法。在量化部分我们提出了有一个 SSIM-RDO 的算法,这个算法可以保证在相同的 SSIM 客观指标的情况下可以节省更多的码率。通过这些很多的快速算法不断的迭代优化,最终形成了一套比较稳定的 NE-CODEC 的内核。

上图右边是 NE265 和友商 CODEC 的对比测试,可以看出在 Online 模式,也就是 30fps 档位下,NE265 在 VMAF 指标上优于业界的各大厂商。从这个图中也可以看出相对于开源的 X265,在 VMAF 相同的情况下 NE265 还可以节省 45% 的码率。

在云信 NE265 编码下,视频不仅有主观感受的提升,在相同码率下我们的 VMAF 客观指标也从 89 提到 97 分,所以无论从客观指标还是主观体验都有很大的提升。

智码超清的业务价值

接下来分享的内容是智码超清的业务价值。网易云信的智码超清已经在公司内部的网易传媒、网易云音乐直播、有道视频、网易元气全量上线,以网易传媒为例,下图左边是在网易传媒的应用,每天可以跑 40 万分钟的视频转码,上线后从原来每天的 80G 带宽下降到每天 32G,节省了 60% 以上的带宽。右边是网易云信自己的转码服务器,每天也有超过 10 万分钟的转码时长。

12.png

未来展望

更高清的质量

我们先看更高质量,这里提两点,一点是超清视频的多方位的发展,一种是沉浸式的体验。多方位发展可以参考下图左侧,可以看到视频指标除了分辨率越来越大之外,其他的视频指标也在不断发展,包括色深,从 8bit、10bit 发展到 12bit,色域从窄色域到宽色域,动态范围从窄动态到宽动态。帧率也从 30、60 发展到 120。沉浸式的体验可以参考右侧,我相信随着未来 5G 的普及,比如 AR、VR 的体验会做的越来越好。

13.png

更低带宽

下图来自英伟达的 AI 的视频压缩。左侧可以看到用的常规的 H264 做压缩,每帧的大小大概是 97KB,也就是我们每帧需要 97KB 带宽的网络传输。右侧是通过英伟达的AI视频压缩之后每帧的大小可以降到 0.1KB,这个是相当惊人的。原理是仅仅传输我们左边图上的人脸的关键点。在接收端把人脸关键点重建出来,这样可以在传输过程中大大节省带宽,这是一个比较好的想法。我相信未来 AI 和视频编码的生动结合也是未来比较重要的方向。

14.png