共计 6228 个字符,预计需要花费 16 分钟才能阅读完成。
导读:2021 年 10 月 21 日,「QCon 寰球软件开发大会」在上海举办,网易智企技术 VP 陈功作为出品人发动了「AI 时代下的交融通信技术」专场,邀请到多位技术专家与大家一起分享相干技术话题。
咱们会针对四个演讲专题逐个进行介绍与分享,本期是咱们的第二期,视频通信关键技术摸索及实际。
嘉宾介绍: 韩庆瑞,网易云信音视频实验室,高级技术专家。
前言
无论在娱乐社交、线上学习,还是近程银行等生存场景中,视频都已成为最重要的互动形式之一,用户对于视频成果也提出越来越高的要求。延时低,弱网反抗能力强,视频画质清晰等也让企业面临很高的技术挑战。
作为交融通信云服务专家,网易云信的业务笼罩了次要的视频场景,包含低延时的实时音视频场景,容许局部延时的直播场景和不强调延时的点播场景,本文介绍了网易云信视频在各个场景下的关键技术和利用尝试。
网易云信视频技术部署
下图为网易云信整个交融通信的主网图。右边和左边是端侧的设施,能够接入任何设施,手机、pad、PC、web 等。核心这部分是服务器,其中有编译的转发服务器还有 MCU 服务器,如果牵涉到肯定时延会转推到互动直播的服务器。云信的视频技术在 RTC 场景下次要部署在端侧,如果是是直播点播的业务,云信次要提供直播转推部署的视频转码服务。
RTC 场景的视频技术
上面介绍网易云信在 RTC 场景上面的视频技术,次要分为三点。
新一代的音视频 SDK 架构
下图是网易云信的音视频 SDK 架构图。去年年底,网易云信公布了新一代的音视频 SDK——G2。在这个 SDK 架构外面分为五层,其中媒体引擎层是外围所在地,次要分为三个视频引擎,视频、音频和流传引擎。
网易云信视频引擎架构和利用场景
下图是云信的一个视频引擎的架构。次要分为五大模块,视频前解决、视频编码、视频 QoE、视频解码、视频后处理。从采集端输出,云信反对的业务次要是分为两种,一种是从摄像头采集的实在的画面,另一种是从屏幕分享采集的画面。采集的画面会先送入视频前解决,云信业务散布在寰球,有各种设施,有一些低端设施也有一些入门级的设施,因为摄像头的起因导致采集的画面变差,为了晋升和复原这样的画质,视频前解决实现了画质解决后进入编码压缩,会传送给网络。
因为各种网络的影响,咱们会有一个视频 QoE 模块,保障云信用户都有一个完满的视频体验。通过网络传输到了对端之后进行解码,做一个后处理。后处理次要为了加重或者晋升因为网络压缩传输带来的画质的损失。
下图是视频引擎的利用场景,云信的视频场景分为 4 种,一种是实时通信利用场景,一种是低延时的利用场景,还有视频会议相干的,互动直播类的场景以及互动教学类低延时的直播场景。
视频引擎的关键技术
视频前解决
视频前解决次要是为了晋升实时视频端到端的视频成果。网易云信全球化的业务中,各种各样的设施都会接入,咱们须要这样的视频前解决来晋升画质。
- 视频 AI 加强
这种技术是比拟古老的技术,很多年前就开始钻研了。随着 AI 技术和深度学习的提高,视频加强技术有了极大的晋升。然而深度学习或者是 AI,运算量太大,云信的业务遍布寰球,各种设施都会接入,尤其是挪动端,像印度市场,东南亚市场中入门级设施比拟多。
这些挪动端对功耗和性能都十分敏感,略微大一点的运算量,功耗和电量就会掉得很快,这导致呈现了大模型,一个比拟好的深度学习模型就很难在这些场景着落地。如果采纳一些小模型,成果又不能失去保障。
咱们的业务是通信业务,须要传到对端去。单纯加强兴许成果好,但传到对端成果不肯定好。通过解码后的图像,尽管有加强成果,但它的块效应比没有加强的更重大,在本端体现可能比拟好,然而高频重量变多,后果导致了压缩率过高,损失过大。
云信通过两个办法来解决以上问题。一是训练易过拟合,另一个是加强后主观可能变差。
首先有一个场景辨认模块,能够辨认出一些文字区域的内容、静止场景和游戏场景,针对每种不同的场景会有不同的模型。比如说游戏场景是一种模型,文字场景是一种模型,兴许是同样的模型然而可能参数不一样,这样能够保障运算能力足够,同时成果也不错。
咱们的模型是采纳的是小模型。后面提到模型不能太小,太小了表达能力不好,因而咱们的模型是一种“轻量级模型”,参数量是 1 -2K,实际上达不到这种小模型成果,因为业界的很多小模型参数不到 1K,可能只有几百,它的网络水平是三到四层。因为咱们有自研的高效的推理框架 NENN。它和开源的推理框架相比,对小模型做了独有的优化,保障小模型的速度比其余开源框架速度快得多。
- 视频降噪
因为有的设施或者摄像头在暗场景下噪声比拟多,须要高频噪声打消掉不必要的 bit。如果进行降噪,有利于编码,有利于传输,有利于进步主观品质。
在 RTC 场景中降噪是一样的,挪动端业务居多,很多地区是入门级的设施,对性能功耗十分敏感,简单功耗无奈应用的,速度快的算法,成果又不好。如果采纳不适合的降噪可能不仅把噪声抹除掉了,也可能把有用的高频重量缩小,这样对整个视频品质会带来不好的影响。
网易云信在关注这个问题时,咱们是从人眼主观的感觉来思考的。从人眼主观来说,人眼观看是有区别的,一些场景下人眼的分辨率很高,分辨出很多高频系数。另一些场景中,人眼分辨率很低,分辨率会急剧下降。
网易云信采纳了人眼敏感性分析方法,可能提取出像素级图像中的人眼敏感区域,咱们宁愿将降噪的系数升高,宁愿放过一些噪声,也不违心就义掉高频系数。即便放掉了,人眼也感觉不进去,咱们也有一个非常简单但十分高效的噪声预计算法,这样的两种办法产生了一个权重值,因而视频速度会很快,而且成果也不错。
视频编解码
云信的视频编码反对支流编码器,包含利用最宽泛的 264 和 265,还有基于对 RTC 的深刻理解,开发了自研的编码器,叫 NE264CC。
云信编码器的速度十分快,咱们的品质能够晋升 50%,跟 265 相比,咱们编码速度能够快 60 倍。下图是咱们自研的 NE264,这是一个十分优良的协定,在行业界存在了 20 年,经久不衰,它也是目前笼罩最多的一种实时通信协议。云信在 264 根底下面研发了 NE264 编码器,有疾速模式决策、高效亚像素搜寻、自适应参考帧、CBR 码控。
从下图中能够看到和 openh264、X264 的编码器以及 iphone 的编码器相比,在编码速度和编码品质方面云信都是当先的。同时可能会疏忽的码率波动性,对于 RTC 来说,视频品质和速度是一方面,还有一个很重要的方面就是码率的波动性。对于 RTC 严格的低延时场景来说,码率一稳定就会带来画面抖动,分辨率升高,在这外面 NE264 的码率波动性也是最小的。
下图是与 X264-ultrafast 的比拟,这是最快的一种模式,咱们的速度比它升高了 25% 左右,然而咱们的压缩率比它晋升了靠近 50%,如果同样的品质,X264 用一兆带宽,咱们只须要 500,这是根本图像的优化。
针对屏幕共享的压缩优化,业界有很多十分好的计划,比如说 H265+SCC、AV1、H264+SCC,这些都是一些十分好的想法。
网易云信在思考这个问题时,咱们认为对于 RTC 场景来说,264 是应用最宽泛的协定,作为一种轻量级的协定,开销十分小。264 这种协定对老本来说是最小的。
另一方面,即便咱们不扭转协定,不减少工具,仅仅对编码器进行优化,屏幕共享这种内容自身对于编码端有很多能够开掘的空间,咱们基于 264 的协定,通过深挖屏幕共享的改良,来晋升成果。上面是咱们的成绩一些成绩,加与不加屏幕共享编码算法,在屏幕共享场景下,咱们的压缩率晋升了 36.72%,同时咱们速度只慢了 3%-4%。能够看到咱们的压缩率比 openh264 晋升了 41%,速度根本不变。
再来看一下自研的 NE265,目前也在继续一直的迭代中。NE265 的特点是高效架构可实现的设计。对于计算复杂性的一些算法都进行了十分精密的 3D 优化。理解编码器的都晓得 veryslow 那一档,咱们速度比它快 64 倍,这还不是最快的档位,最快的要比它快 200 倍以上。
264 和 265 也进行了比拟,咱们和 faster 这个档位进行了比拟,265 次要的毛病是速度慢。能够看到和 X264 faster 这个档位比快了近 30%,同时压缩率均匀晋升 34.78%。这些测试序列用了官网规范测试序列以及云信 RTC 业务相干的测试序列和社交娱乐的测试序列。
基于对 RTC 和音视频通信的深刻理解,咱们创造了 NEVC,多尺度的视频压缩技术。相比 NE265,速度根本不变,然而压缩率晋升了,左边的纹理晋升得比较清楚,右边的纹理基本上含糊掉了。咱们讲完了视频编码之后,码就应该被压缩了,应该送到网络去了。网络对 RTC 来说是最简单的,尤其是在全球化的业务中,有各种不同的网络存在。如何保障在多网络、简单的网络环境上面,视频品质还能最佳,咱们有一个视频 QoE 的模块来撑持。视频 QoE 模块将从视频的晦涩度、清晰度、品质安稳度、时延和性能功耗五个方面来进行保障。
视频 QoE
- 视频品质管制模块
视频品质管制从视频的晦涩度、清晰度和品质安稳度三个维度来解读。通过采集、前解决、编码再发送,最初传给了网络,这里的网络可能有各种不同的网络存在,比方有些带宽很低的网络,有些有继续丢包的网络,或一些比拟抖动的网络。
每种不同的网络不可能用一种分辨率、一种帧率、一种码率来传输,这可能产生不同的很差的成果。咱们这里视频品质管制模块叫 VQC,它会首先接管从网络 QoS 评估进去的一个网络带宽或网络无效带宽,依据这个带宽调配适合的视频分辨率、视频帧率,设置编码器,达到最合适的视频品质,同时图像在各种不同的网络中,有的是噪声比拟大的网络,有的是暗场景的网络,对于 VQC 的模块会进行采集信息,会决定关上或者敞开哪些视频算法开关,或者调整视频参数,加强或降噪,还有编码的一些算法。
- 设施管制模块
云信的业务遍布寰球,有各种不同的网络存在,比方亚非拉地区、印度以及东南亚的极其不好的网络,当然也包含欧美的,国内的网络是比拟好的。另外一点是终端平台的品种泛滥,有高端手机,有低端手机有 PC 和平板,云信的设施管制模块依据不同的网络特点依据不同区域来设置视频的算法,同时依据设施的平台品种来设置咱们的算法。
比方对一些差的设施用低分辨率,低帧率;对比拟好的设施会用高帧率,用先进的算法。
在理论过程中因为网络不是变化无穷的,还有设施的状态、GPU 的占用率等影响因素,设施管制模块通过实时监测的数据来实时对算法进行调整,达到最优。
视频解码
QoE 讲完之后,码流传到了接收端进行视频解码。云信视频解码的特点是十分高效且简直反对所有的视频格式,互联互通是没有问题的。
视频后处理
视频后处理通过视频屏幕内容优化和视频超分优化,复原和改善视频画质。云信的视频超分,网络参数量是 2K-4K,网络层数小于 8,咱们有自研的 AI 推理引擎,进行独有的优化,速度十分快,同时咱们会减速,对于超分的成果有针对的数据集解决,利用苹果或者变焦的手机,对不同焦段的数据进行采集,进行实在的数据训练,同时也会用一些数据的预处理和加强来确定成果,次要劣势还是高效和疾速。
下图的表中,前三个是传统的解决耗时,这是咱们自研的超分,这是一个比拟驰名的轻量级的网络,从解决耗时来看,云信 AI 的耗时比以 AI 驰名的轻量级网络快了 30 多倍;从成果来看,云信 AI 超分的视频品质远远超过了非 AI 的成果,和经典的成果相差极其渺小,基本上看不出差异。
其次是桌面共享优化,对于桌面屏幕共享不止有 264 的编码做了后处理,针对文字场景的优化,对于深度学习来说,屏幕共享最大的难点是它的分辨率个别是很大的,云信有高精度的文字辨认性能,对解读出的文字进行加强,同时咱们自研的推理框架 NENN 也会放弃这种速度,这就是文字加强成果。
直播点播业务视频技术
直播点播的架构
后面介绍了编译服务器,基本上是 RTC 低延时的线路,如果直播就走直播点播的短推服务器,能够通过 CTO 下达。
直播点播的链路是从客户端通过推流到边缘媒体服务器再转推到直播转码再转到 CDN。
这个链路有两个问题,一个是设施上传时,它的画质存在损失,是压缩过的,有可能摄像头采集自身就有问题,也会带来损失。第二个是转码之后,通过 CDN 散发时,转码十分高。
为了解决以上两个问题,云信提出了智码超清技术。首先利用深度学习视频修复技术对转码前的视频进行修复或加强,再基于人眼感知的编码技术在视频主观品质不降落状况下节俭码率。
图像首先通过视频修复模块,对视频进行了修复或加强或丑化,再进行感知编码,感知编码会剖析视频内容,前置一个视频剖析模块。
智码超清技术架构
视频修复技术
视频修复在业界是一种比拟难的技术,因为进化模型多种多样,视频进化有十分多的起因,比方因为摄像头噪声的影响,压缩上的损失,摄像头自身不好造成的过曝欠曝,也有可能是对焦没对好等。
云信用了一种画质评估算法,通过深刻学习算法,得出这个视频的进化模型是什么。针对不同的进化模型用不同的复原办法。如果是噪声,咱们会用视频降噪的办法;如果是含糊,会用去模糊的办法;如果纹理不好,会用纹理加强的办法,还有画面改正等。通过评估再进行修复,可能丑化或者晋升视频的主观成果。
视频感知编码技术
修复之后,就会进行编码。云信的感知编码采纳了 JND 这种技术,用人眼最小可察觉的误差来度量人眼对图像中不同区域失真的敏感性。
JND 是一种提出比拟多的技术。从下图能够看出,主观的失真是间断的曲线,人眼是一个阶梯状,有冗余的中央能够优化,节俭码率,同时主观降落。
JND 是一种比拟传统的办法,但传统 JND 编码是一种以图像低层特色为主的办法,比方纹理、边缘、亮度、色彩。
云信 JND 和其余不同的是退出了视频内容分析。比方上图中,咱们会进行视频剖析,剖析出这个图像的前景、人脸、文字等信息,针对不同的信息再独自结构出 JND,来达到节俭码流的目标,通过这样的流程会输入前景、文字、人脸,每种个性都有 JND 的共识,得出 JND 的系数进行编码。
下图是智码超清的测试后果,蓝色代表的是云信,其余色彩是业界友商的。右边是人眼主观的得分,因而越高越好,而压缩后文件大小显然是越低越好。
网易云信娱乐社交行业线视频技术
这是网易云信的重点投入和产出。
美颜技术
云信的美颜技术,提供了磨皮、美白、大眼等 26 种性能,50 款以上的滤镜,年龄、性别、眼帘辨认跟踪,反对 2D、3D 贴纸,这些业界都有,但咱们的特点是可能在美颜品质下高效的处理速度,这是咱们外围的竞争劣势。
对 720P 的视频进行美颜、磨皮、美白、瘦脸等的开销,在骁龙处理器下面,云信的根底美颜能够达到 30,对于咱们的海内市场,尤其是在印度、东南亚这样的市场,在入门级机型遍布的状况下,这是十分有竞争力的,整个视频体验是齐全不一样的。
背景宰割技术
云信背景宰割技术,采纳了大量的数据集。咱们精度比拟高,iou 达到 0.93,鲁棒性比拟好,推理速度比拟快,小于 10 毫秒。下图是咱们的精度和业界的友商比照,精度越高越好。
落地实际
技术讲完了,能够具体看看网易云信的落地实际。网易云信的视频引擎,曾经服务了寰球 10000+ 以上的用户。
既接入了 SDK 也接入了视频引擎的用户,比方 LOOK 直播,网易云音乐在线 KTV,网易会议,还有网易外部的 POPO 等,其中还包含一些第三方基于会议组件的厂商。
网易新闻的直播点播利用,有云音乐大型演唱会都是应用了网易云信的直播点播性能,比方去年十分驰名的破纪录人数的演唱会,也是用了云信的视频引擎,后续咱们也会继续的在技术畛域深耕上来,为大家带来更多更好的产品。