乐趣区

关于云原生:保障实时音视频服务体验华为云原生媒体网络有7大秘籍

摘要: 如何保障实时音视频服务体验的实际?咱们为什么须要一张媒体网络?咱们如何改善实时音视频体验方面的实际?

本文分享自华为云社区《解密华为云原生媒体网络如何保障实时音视频服务质量》,原文作者:音视频大管家。

大家好,我是来自华为云的黄挺,目前负责华为云视频架构设计的相干工作。明天我会给大家分享华为云原生媒体网络是如何保障实时音视频服务体验的实际。

我会从以上几个局部进行分享,首先,解释一下咱们为什么须要一张媒体网络;其次,会介绍一下华为云原生媒体网络的整体架构设计,最初,会分享咱们在如何改善实时音视频体验方面的实际。

01 为什么须要一张媒体网络

1.1 内容表白视频化,各个行业都有视频散发的需要

为什么咱们须要一张媒体网络呢?我次要总结了三大起因。第一个起因,咱们看到内容表白视频化是目前一个很显著的趋势,有很多行业都对视频散发有十分旺盛的需要。举一个我亲身经历的小例子,在今年过年的时候,我的家人想把手上带了多年的戒指取下来,因为戴的工夫比拟久了,手指变粗了不少,取不下来。最开始咱们第一反馈是去商场找营业员帮忙取下来,起初我抱着试一试的心态,在抖音上搜寻“取戒指”三个字。在搜寻后果中找到了一个非常简单的方法,视频工夫不长,照着做很快就把戒指取下来了,而且对戒指没有侵害,手指也不痛。大家感兴趣能够去搜寻看看。这其实就是常识内容表白视频化的一个体现,这个趋势在很多畛域都曾经呈现了,除了短视频,比方当初的电商直播,在线教育,云游戏等行业也都呈现了内容表白视频化发展趋势。

1.2 新媒体表达形式呈现,对音视频技术要求越来越高

第二个起因,咱们看到将来会呈现很多新的媒体表达形式。比方 VR 和最近比拟炽热的自在视角,这些新的表达形式的呈现,都会给用户带来更加沉迷式的体验。但它对音视频技术的要求是全方位的晋升,次要包含带宽、时延、渲染复杂度等等。能够看到右边这张图,以 VR 为例,如果带上 VR 头盔去观看视频,要做到极致的视网膜体验,须要的码率十分大,通过简略的测算大略须要达到 2Gbps 的码率。而且影响 VR 体验的因素相较于立体视频也变得更多了:刷新率、视场角、分辨率、MTP 低时延、姿势跟踪、眼动跟踪等等。

1.3 互联网对用户没有承诺服务质量

咱们个别会从需要侧和供应侧两个维度来进行剖析一个产品。后面两个算是需要侧的剖析,接下来咱们看一下供应侧的剖析。实时音视频服务一个十分重要的供应侧就是互联网的基础设施。咱们都晓得互联网对用户的服务质量基本上是没有承诺的。怎么了解呢?首先,建设互联网的老本十分低廉,比方,须要在海底拉光缆,这个铺设老本是十分低廉的,这里包含人力的,物力的,另外一部分是无线频谱的老本,比方 3G、4G、5G 的频谱。所以互联网的建设肯定是须要思考共享,共享就须要应用复用和替换技术。怎么了解替换呢?看下上面这个简略的示意图。假如咱们要建 4 个网络节点 A、B、C、D;如果没有替换,两两互联须要 6 根线。然而如果应用了替换,则只须要 4 根线就能够了。所以从老本思考,须要替换的技术;咱们晓得替换个别有两类技术,一类是 Circuit switching,另一类是 Packet switching,Circuit switching 的特点是容量预留,然而资源存在节约,因为一旦预留,就算没有数据传输,带宽资源也是被占用。而 Packet switching 技术则是链路资源共享的,所以能够做到更低成本的替换。而过后互联网设计思考到老本的因素,抉择了 Packet switching 这个技术进行演进;因为抉择了 Packet switching,再加上 best effort 尽力而为的转发模式,所以带来了一系列丢包、反复报文、时延、乱序等问题。所以咱们总结,丢包、反复、时延、乱序是这一代互联网的固有属性。

这里大家能够思考一个问题,为什么互联网在最开始设计的时候,并没有思考在网络层解决这个问题。或者换一个更大的问题,如果明天从新设计互联网,咱们会怎么做?会不会尝试让互联网去解决这些问题。第二个思考的问题就是,在大家的日常利用开发过程中是怎么解决丢包、反复、时延、乱序的问题。

1.4 对咱们的启发

通过后面的剖析带给咱们一些启发,首先咱们认为须要构建一张媒体网络,通过这张网络来补救供应侧和需要侧之间的鸿沟,供应侧就是互联网的基础设施,需要侧就是飞速发展的音视频业务。第二点:通过这张网络来满足不同行业对音视频散发的旺盛需要。第三点,通过这张网络来应答将来呈现的新技术的挑战。

02 华为云原生媒体网络架构介绍

后面解释了为什么咱们须要一张媒体网络。接下来我会介绍一下华为云原生媒体网络架构。

2.1 华为云原生媒体网络

大家能够认为华为云原生媒体网络是云原生视频服务的一个技术底座,基于这张云原生的媒体网络会构建下面一系列从生产到解决到散发到播放的云原生视频服务,比方 CDN、直播、RTC 等等,通过这些云原生的视频服务来撑持下面千行百业的客户。咱们这张云原生媒体网络次要包含 7 大特点:扁平化、Mesh 化、智能化、低时延、灵活性、多样性和端边云协同。

2.2 广覆盖:反对多种接入形式,实现寰球互联互通

接下来我会介绍一下华为云原生媒体网络,三个比拟重要的架构设计指标。因为咱们的服务对象遍布寰球,所以首先就要是一张寰球部署的网络。这张网络次要解决三大问题:第一就是须要反对多种接入形式,其次是节点的互联互通;第三是要思考一个高可用设计冗余笼罩。

首先,因为咱们是一个 paas 类服务,所以客户很多,来自不同的行业,以云会议为例,很多客户对云会议的安全性和品质要求十分高,所以他心愿可能从他的企业园区通过专线来接入这张网络。但有的客户,心愿他的用户可能随时随地的接入这张网络来散发业务,比方一些互联网客户,这个时候就须要反对互联网的接入形式。另外,因为咱们大量业务的流量在边缘终结所以国内咱们次要通过电信、联通、挪动复线接入,节俭服务带宽老本;国内通过三线机房或者 BGP 资源,解决跨运营商网络资源替换的问题;在海内,咱们会优先选择网络资源比拟丰盛的 IXP 节点接入;通过华为云根底网络设施或者优质的互联网资源实现跨国的互联。另外咱们在部署布局的时候就要思考高可用设计,高可用设计常见的伎俩是减少冗余,咱们在布局的时候思考了站点冗余和带宽冗余。咱们会保障笼罩区域用户至多有 3 个站点能够提供对应品质要求的服务。另外,咱们在做资源布局的时候,会依照业务须要的带宽的 2 倍以上进行布局,应答局部突发。

2.3 全行业:满足娱乐、通信、行业视频等不同业务要求

因为咱们是一个 Paas 类服务,咱们不能因为满足了一类客户的需要,就影响其余客户的个性,而且要尽量疾速的满足不同客户的需要。这对技术提出了 3 个方面的要求:首先因为须要满足不同行业的不同业务需要,所以业务利用开发的敏捷性就十分重要,咱们须要让新性能能疾速上线到寰球任意边缘节点,同时为了升高新个性上线的危险,咱们须要反对新个性在不同 edge 的灰度上线。咱们把这种开发方式叫做 Living on the edge。

第二个技术要求,也是咱们十分重要的设计准则——Edge Services 是独立自治的。Edge Services 就是咱们围绕着媒体网络的网络节点,部署的一系列微服务,咱们统称为 Edge Services。每个 Edge Services 都必须是独立自治的,因为咱们是一张分布式的媒体网络,必定不心愿某一个节点故障(比方网络故障),就会对咱们造成全网业务的影响。所以每个 Edge Services 必须是独立。什么是自治呢?当边缘和控制中心网络呈现一些临时的故障,那我的架构上肯定要保障 Edge Services 外部可能自治,也就是说它本地的服务还是能够提供的。咱们能够看到右边简略列了四个微服务,其中部分调度就是为了缩小对全局调度的依赖,当边缘和控制中心网络呈现一些临时的故障,边缘仍旧能够提供服务。另外,咱们在 Edge Services 外部的架构次要采纳微服务进行划分。它的外围目标是帮忙咱们可能疾速灵便的上线一些个性,例如咱们在 edge service 外部有协定适配的微服务,这样当咱们须要反对新的终端,适配一些协定的时候,能够疾速上线一个新协定的适配微服务,这样能够疾速上线,而且不会影响曾经上线的终端的反对。

第三个技术要求是 Overlay 网络须要可能灵便的定义它的路由。举个例子,例如华为云会议,它须要反对大量高规格的政府级会议,而这个对安全性和品质要求就十分高,咱们须要让进入咱们媒体网络的这张会议的所有报文都走咱们华为云的骨干网,防止应用互联网资源传输。还有一些客户对价格比拟敏感,对于这类客户咱们就会尽量应用性价比较高的网络资源来转发他的报文。这就须要有一个可编程的 overlay 网络实现灵便的网络路由和转发。

2.4 全流程:提供媒体生产、解决、散发、播放全流程服务

第三个比拟重要的设计指标是,咱们的架构须要可能提供端到端的,从生产到解决到散发到播放的全流程服务。咱们把客户次要分为两类,一类是云原生,很多互联网客户,在诞生之初,就是在云上的,所以能够很不便的应用咱们的云上服务。然而有些客户,须要从传统的线下转型到线上,为了服务于这样的客户,咱们的生产和解决零碎是基于华为对立的 Huawei Cloud Stack 对立技术栈,反对在线上线下灵便、疾速部署,同时咱们还提供了不便的 SDK,它可能跨终端、低功耗的来帮忙客户笼罩更多的终端。最初一个技术要求是整个实时媒体解决流水线是可能做到灵便编排,动静治理的。举个例子,咱们去年和斗鱼联结翻新的我的项目,帮忙斗鱼把在端侧的特效算法上移到了 Edge services。这样间接给斗鱼带来了三个益处,第一个益处是开发工作质变少了,原来的特效算法须要适配不同的终端,不同的芯片。第二个益处是特效算法的迭代速度变快了,只须要把特效算法在 Edge services 更新部署,客户就可能体验到。第三益处是笼罩的终端机型变多了,因为传统在端侧去开发的特效,其实有很多低端机是没法体验到的,如果把它放在咱们的 Edge services 上,就能够疾速去满足很多低端机型的要求。

2.5 架构分层设计:适应互联网的特色

最初分享一下咱们一个十分重要的的架构分层的设计思维。咱们借鉴了计算机网络零碎的设计思维。能够设想一下,如果没有当初这套计算机网络分层零碎,咱们的利用开发是怎么的体验。可能我须要去 list 整个网络拓扑的节点,须要去寻找最优的门路,把我的音讯从 a 发到目的地 b,在这个过程中还要去解决各种网络的异样,比方丢包、重传、乱序等等,这显然是对利用开发十分不敌对的。

计算机网络零碎设计就是解决这些问题。首先就是 layering 分层的思维,底层有链路层,屏蔽不同链路传输技术的差异性,比方咱们反对 5G 之后下层的利用是不必批改的。在往上就是网络层,它次要有 2 大性能,转发和路由,所以不须要每个利用本人去定义转发门路。在往上是 End to End layer。这是对下面传输层、表白层。应用层的一个统称。而分层的目标就是模块化,升高耦合度,每一层聚焦解决每一层的问题。

而咱们云原生媒体网络架构分层也是借鉴了这个思维,咱们在网络层进行加强设计,改善报文转发的时延和达到率。咱们通过在 End to End layer 的自研实时传输协定来让下层的实时音视频利用开发更加简略。这样咱们的利用开发就能够更加聚焦业务逻辑。同时咱们形象出媒体解决模块,这样音视频相干的编解码技术,前后解决技术,就能够独立演进,疾速翻新。

2.6 架构分层设计 -Network Layer

在介绍咱们在网络层和 End to End layer 的一些要害设计之前,首先来看一下网络层有什么问题。互联网在设计之初有一个十分重要的品质属性,就是互联互通的高可用性,咱们晓得互联网是由上万个 ISP 组成的,任何一个 ISP 故障,网络还是能够失常的通信。其中 BGP 协定就是一个十分重要的设计,他次要思考了联通性,然而并没有去做一些服务质量的感知。咱们能够看到右边这个图,用户 A 要发一个音讯给用户 B,跨运营商,它很有可能会通过互联网穿梭很多个不同的 ISP,这就会带来很多问题,比方会减轻丢包重传,而且这些关键问题很多是非技术因素,比方很多运营商针对某一个网络的网络策略不肯定是品质最优,它可能是老本最优,比方有一些冷土豆或热土豆的路由策略。

第二个起因,有可能运营商明天早晨要做一个设施降级,须要运维人员操作一些配置变更,而配置变更过程中有可能呈现人为出错造成链路故障,还有可能就是这些区域有一个热门事件,可能会造成拥塞。

为了解决这个问题,咱们决定对网络层进行加强,这里咱们次要有 2 个技术手段;一个是 underlay,一个是 overlay。

1)首先是 underlay,咱们通过华为云寰球网络基础设施,改善网络的接入和互联品质,一旦进入咱们的 underlay 网络就能够防止和互联网其余流量竞争带宽,既改善了品质,又保障了安全性。

2)其次是 overlay 局部,咱们除了自建骨干网,还会部署一些 overlay 的节点,实现基于不同 Qos 指标优化报文传输门路和高效转发,而不是让报文任意转发。咱们在网络层的设计准则也是十分经典的管制面与数据面拆散的设计思维,简略来说,管制面负责路由,管制整个网络的运行,数据面负责转发。

咱们为了让数据转发可能更加简略,也采纳了网络中十分经典的一个设计思维:源路由算法的思维,外围目标也是为了升高转发设施的复杂度。具体来说,就是当一个报文进入咱们网路的第一转发节点的时候,零碎就会把报文要通过的所有转发节点信息,包含目标节点都封装在报文头中,这样每个转发节点收到报文后,只须要解析报文头,就晓得下一跳要发送到哪里,这样能够大大降低转发设施的复杂度。

另外还有 1 个十分重要的设计准则,就是咱们对网络层不做可靠性承诺要求,尽管咱们不保障可靠性,然而咱们依旧会利用冗余纠错、多路径传输等技术改善报文转发的时延和达到率。这也是咱们为什么把这层叫做网络层的起因,他仍旧关注的是路由和转发。只是做了一些加强。

2.7 架构分层设计 -End to End layer

网络层的加强可能帮忙咱们去实现更低时延的转发以及更高的达到率。再往上是咱们的 End to End layer,这里大家能够先思考一个问题,前文提到互联网有这么多固有属性,丢包,乱序,重传,看上去对开发者十分不敌对。然而互联网的倒退却十分的凋敝,有一代代互联网的利用 email、web、IM、audio、video 各类业务呈现,这又是什么起因?

这里分享下我的思考,十分重要的一点就是协定,在 End to End Layer 呈现了很多重要的协定,大大降低了咱们利用开发者的技术的门槛,比方咱们从 TCP 到 HTTP 到 QUIC 等,每一代的互联网的利用倒退背地都有一个协定的呈现。End to End layer 外围设计指标就是要定义一个好的协定和开发框架,让利用开发变得简略。

怎么做到这一点呢?能够看到右边这个图,两头局部是咱们的自研实时传输协定大抵的性能图,咱们会在它的北向提供一个对立的接口。通过这一套北向接口能够让咱们既可能开发实时音视频业务,又能开发牢靠的音讯类的业务,同时咱们再看一下它的南向,通过协定栈屏蔽了底层应用 UDP 或是 ADNP 协定的差异性,这样利用开发也会变得更加简略。

协定栈设计的目标是为了让利用开发变得简略。所以咱们还形象了两个模块,NQE 和 QOS,通过这两个模块提供回调的办法把网络的信息可能疾速反馈给下层利用,比方编码模块。编码模块就能够疾速的自适应网络的条件,来调整它的编码参数。

另外一个十分重要的设计准则就是高效。因为咱们晓得,后面提到了在将来有很多的端是 IoT 端,IoT 端有一个很大的个性,就是对功耗的要求十分高,咱们心愿在协定栈设计之初就要思考这个问题。所以咱们不心愿轻易的在这一层去减少额定的一些没必要的拷贝,这里遵循的是 ALF 的设计准则,这个准则也是十分经典的。RTP 过后设计的时候也是遵循了这个设计准则。

另外,咱们的协定栈设计也参考了 quic 的设计思维。反对多路复用、网络多路径、华为 LinkTurbo、优先级治理等性能。这里分享一下咱们的一个小教训,就是在开发自在视角和 VR 这类业务,对带宽的要求十分高,这个时候咱们就会开启多路径的性能,能够取得比拟大的体验上的改良。

2.8 华为云原生媒体网络指标架构

最初我对整个媒体网络的指标架构做一个简略的总结。

1)简略来讲就是把简单问题简单化,分而治之,通过分层的设计来让每一层可能互相解耦,疾速演进;

2)每一个 Edge services 都是独立自治的,来进步整个服务的可用性;

3)通过把 Edge services 依照微服务进行划分,可能让到咱们更加灵便的去适应客户的需要,实现依照微服务级别的疾速上线。

03 实时音视频服务质量保障实际

第三局部我会分享一下咱们在实时音视频服务质量保障上的一些实际,这里次要是一些算法设计上的思考,前文次要是架构上的一些思考。

3.1 视频、音频、网络是影响体验的要害零碎因素

如上图所示,咱们做了一个影响体验的相干维度的剖析。从主观指标到主观指标,再到 QoE 的关系做了一个简略的映射图。咱们通过剖析,发现影响实时音视频服务体验品质外围的三个系统性因素是视频,音频和网络,接下来我就别离针对这三局部的算法实际进行介绍。

3.2 视频编码技术

首先咱们来看一下视频编码。咱们把视频编码技术依照设计指标进行了一个简略的分类,第一类,它的设计指标是如何迷信的缩小视频编码的冗余,升高编码失真对人眼主观感触造成影响。因为咱们的实时音视频业务还是次要面向人的,所以有一些十分经典的优化思路,比方:从人登程,剖析人眼的视觉特点,基于这些特点来优化编码算法,图中简略列了几大类和编码相关度比拟高的人眼视觉特点。

还有一种优化思路,就是从源登程,也就是从内容登程,咱们会剖析不同场景内容的特点优化编码算法,比方计算机生成图像的特点有低噪、大平坦区域等等。

第二个设计指标是如何迷信的减少冗余来抵制弱网传输对人员主观感知的影响。这边简略列了几类减少冗余的编码,比方极其的全 I 帧编码、帧内刷新的模式以及长期参考帧和 SVC 编码。在一些空间视频的业务外面,咱们为了改善在空间定位的时延,会应用一些全 I 帧编码联合一些一般编码来应用,缩小空间定位的时延。咱们在云游戏里为了缩小大 I 帧的突发,会采纳帧内刷新的编码方式。在实时音视频服务中,长期参考帧和 SVC 是比拟常见的编码方式。

3.3 PVC 感知编码

上面介绍一下咱们具体的一些编码技术。咱们云视频团队联结华为 2012 地方媒体技术院,从剖析人眼视觉零碎登程,改良了 PVC 感知编码算法。咱们的算法经验了几轮迭代。最新的感知编码 2.0 算法实现了 1Mbps 码率提供了 1080P 30 帧高清画质的体验;算法的次要改良思路是:首先通过预剖析和编码反馈信息,对场景和区域进行辨别,实时通话场景次要的高敏感区域包含:人脸区域和动态区域。针对不同场景和区域,采纳不同的编码参数和码率调配策略,例如非高敏感区域调配较低的码率;2.0 算法在 1.0 的根底上,咱们在码控方面退出了 AI 的技术,相较于之前,固定的码率和分辨率组合,新的办法,咱们基于 AI 的感知码控,获取不同场景下最优的码率和分辨率组合,达到低带宽下更优的主观成果。

3.4 SCC 编码

第二编码技术是 SCC 编码,它次要利用于计算机生成图像的编码,比方在教育或者会议里的屏幕共享场景,咱们的算法相较于 x265 ultrafast 档位,它编码的压缩性能晋升了 65%,在雷同的计算资源的状况下,咱们的编码速度晋升了 50%。针对屏幕共享的场景,咱们也解决了它特有的一些问题。在共享的时候,常常会共享一些图文,比方 word 或者 ppt。这一类绝对是比拟静止的,这个时候编码参数个别会采纳低帧率,尽量保障它画质的编码方式,但很多时候共享图文之后会切换到共享视频。如果不能很好的去感知这一点,咱们观看视频的体验就是不间断的画面,相似于 gif。

为了解决这一问题,咱们采纳了基于视频时空域的复杂度剖析,来自适应视频编码帧率的方法。这样在动态的图文画面下可能有一个高品质的图像,切换到视频共享时,也可能保障流畅性。

咱们解决的第二个问题是从 YUV444 下采样到 YUV420 场景带来的色调度的失真问题,因为咱们晓得很多时候屏幕共享动态的图文,对色调度的要求是比拟高的。然而把它从 YUV444 下采样到 YUV420 的时候,UV 域的信号会呈现很大的衰减,左图是没有应用新算法之前的成果,右图是利用了新算法之后的成果,显著能够看到右图字体会更加清晰,色调度的失真会更加小,这里的外围是应用了低复杂度色调校对的算法。

3.5 自适应长期参考帧编码

后面两个编码技术是降冗余,而自适应长期参考帧编码技术是迷信的晋升冗余。为了更好的了解,咱们先把简单问题简单化,了解一下什么是固定长期参考帧,咱们看到右边下面的图,红色的是 I 帧,绿色是长期参考帧,蓝色是失常的 P 帧。通过这样的一个参考帧的形式,打断了原来失常的 Ipppp 前向参考的依赖关系,这样当它的 P2 或者 P3 失落的时候,前面 P5 的解码是不会受影响的,还是能够持续解码,这就会改善它的流畅性。然而还是有有余的,比方这种绿色的长期参考帧 P5 失落了,因为之后的 P 帧都依赖它,所以都无奈解码。第二个问题就是固定,因为长参考帧的关系,它会带来肯定的冗余,就会导致雷同带宽下的品质会有所降落,所以咱们心愿在网络好的时候,可能尽量让冗余变小一点,来改善画质,所以咱们就提出了自适应长期参考帧的方法。

自适应长期参考帧的外围思路就是两点,第一个是减少反馈机制,在解码端减少一个反馈机制,通知编码端这个长期参考帧我收到了,编码端晓得这个帧收到之后,前面就参考这帧进行编码。第二个是减少一个动静 mark 长期参考帧的机制,也就是我会依据网络的 QOS 状况去动静优化长期参考帧编码的步长,在网络好的时候步长调短一点,网络差的时候调长一点。

然而在减少反馈机制之后会带来一个问题,当在一些网络模型 RTT 比拟长的时候,我的反馈周期会比拟长。而且反馈报文还可能会失落,须要再次反馈,这样就会导致长期参考帧的步长变得十分长,一旦步长变长之后,它的编码品质就会进行降落,甚至会降落到业务无奈承受的境地,在咱们优化算法的时候也思考到这一点,当长期参考帧的步长太长,咱们会强制 P 帧去参考离它最近的长期参考帧,而不会齐全去依附反馈机制。这样做会带来两个比拟好的优化成果,一个是在突发丢包场景下它的画面流畅性变好了,同时它有一个比拟好的网络自适应的能力,可能兼顾流畅性和画质。

3.6 网络传输技术:求互动性与品质的最优解

后面是视频编码技术的一些分享,接下来看一下咱们在网络传输上的实际。咱们对网络传输的定义,外围指标就是要求互动性和品质的最优解。咱们晓得网络传输技术,次要抵制丢包,抵制时延,抵制抖动。常见的技术比方 ARQ、FEC、不对等爱护,还有抖动预计、缓存伸缩等等,除了做到抗抖动抗丢包,还须要有拥塞管制,拥塞管制的外围目标就是让“发送速率”尽可能去迫近“可用速率“,同时尽可能放弃低提早,如果发送速率和网络可用带宽不匹配,会造成丢包、抖动或者带宽利用率低。还有一个十分重要的就是信源信道联动,咱们后面看到的动静长期参考帧就是通过信道的信息动静调整编码参数的一种实现形式,基于这个联动,才可能更好的去改善咱们的体验。

3.7 基于强化学习,晋升带宽预测精度,改良 QoE 体验品质

无论是拥塞管制,还是信源信道联动,在这个过程中带宽预测的算法都是十分重要的。传统的做法是利用人工的教训,通过一些决策树算法,针对不同网络模型下的带宽做一些预测,然而在简单场景下,这种做法的成果不是特地现实,所以咱们心愿通过强化学习的形式来改良这一点。

次要思路是基于接收端反馈的网络 QoS,次要反馈四个信息:接管速率、发送速率、丢包率和时延抖动,基于这些信息,通过强化学习的办法来进步带宽的预测准确率。算法优化后,咱们的高清占比失去了 30% 的晋升,卡顿率降落了 20%。

3.8 音频 3A 技术:改善音频清晰度

最初我会分享一下在音频方面的技术实际。好的 3A 算法对于语音清晰度体验至关重要。咱们把 AI 技术利用到 3A 算法中来改善语音的体验。

首先,咱们把 AI 利用在回声打消上,回声打消是整个 3A 里十分重要的一个步骤。传统算法在稳态的环境下做的回声打消,曾经比拟成熟,个别都解决的比拟好,然而当环境呈现一些变动,比方我拿着手机免提打电话,在家里,从房间走到阳台,这个时候环境呈现了变动,回声打消就会遇到很多挑战,通过 AI 的形式可能比拟好的解决这些问题。特地是针对双讲的场景,咱们新的算法很好的解决了漏回声和丢字的问题。

其次就是降噪,传统的噪声,比方像风扇、空调这种稳态的噪声,相对来说比拟好克制,而咱们基于 AI 的降噪算法不仅能较好的解决安稳噪声,在应答例如键盘、鼠标敲击的声音或者是喝水、咳嗽这种突发的噪声的场景下,咱们也能够疾速的进行噪声克制。

另外一个 3A 中比拟重要的环节就是自动增益,在通话场景下,自动增益次要是通过基于对人声的辨认来进行增益。这个时候,对人声的检测 VAD 是十分重要的,这一块咱们也是通过 AI 的技术来晋升了人声检测的精确度,改善自动增益的成果。

3.9 音频丢包复原技术:升高丢包对音频体验的影响

另一个和视频技术有些差别的是音频的丢包复原的技术,右边这个图也是一个比拟经典的丢包复原的技术地图,它次要分为两类,一类是基于被动的丢包复原,一类是基于被动的丢包复原。

被动丢包复原技术次要包含常见的 FEC、ARQ 等。被动复原次要有三种办法,插值法,插入法还有从新生成法。算法优化思路和视频一样,都是从钻研人登程,视频是钻研人眼到视觉特点,那么音频是钻研人的发声机制,基频的信息肯定水平反映了声带的振动频率状况。而包络的信息,则肯定水平反映了嘴型的状况,基于这两个信息联合 AI 的声码器技术能够做到 100 毫秒左右的音频报文失落的复原程度。咱们晓得一个中文字的发声个别是 150 毫秒到 200 毫秒,传统的 PLC 基于信号的复原形式,个别能够做到 50ms 音频信号的复原,当初咱们基于 AI 的形式是能够做到 100ms 音频信号的复原。

3.10 案例 1:华为畅连,寰球首款全场景音视频通话产品


最初分享两个案例。咱们的产品不仅要服务内部客户,也要对内撑持华为很多其余的产品服务。我始终开玩笑说,反对外部客户其实是更难的,而且比反对外部客户更难的是反对华为的外部客户,他们的要求是十分高的,当初咱们反对了华为手机的畅连服务,畅连是寰球首款全场景(除了反对手机,还会反对华为的大屏、华为的平板、华为的笔记本、手表、手环的通信)的实时音视频通话类产品,咱们帮忙畅连实现了在 1Mbps 码率条件下,提供高品质 1080p30 帧的通话成果。

3.11 案例 2:网络研讨会:会议 + 直播交融体验,开大会更简略

比反对一个华为外部客户更难的是反对两个。咱们反对的第二个外部客户就是华为云会议,华为云会议的网络研讨会的场景也是基于咱们的实时音视频服务开发的,咱们当初能够做到的单场网络研讨会同时反对三千方的观众,其中有一百方是互动的,在往年下半年咱们的云会议产品会做到单场网络研讨会同时反对一万方的观众,五百方互动。

04 总结

最初我对明天分享的内容做一个总结。首先,咱们能够显著的看到视频业务正在驱动整个互联网技术倒退,包含音视频编码 / 传输技术,以及边缘计算和边缘网络等技术。所以咱们须要一个服务或者零碎来补救互联网基础设施(供应侧)和疾速倒退的视频业务(需要侧)之间的鸿沟。

第二点,明天的分享仅仅只是开始,随着实时音视频技术利用场景的减少,数据的驱动,会使得咱们的云原生媒体网络架构和各类算法继续优化。

最初,心愿华为云原生视频服务可能和大家一起,携手走进视频“新时代”。

谢谢大家。

点击关注,第一工夫理解华为云陈腐技术~

退出移动版