国内最全IT社区平台 联系我们 | 收藏本站
阿里云优惠2流量王
您当前位置:首页 > 互联网 > 十年磨一剑-BIGO全球音视频技术解决方案

十年磨一剑-BIGO全球音视频技术解决方案

来源:程序员人生   发布时间:2020-08-18 10:17:18 阅读次数:352次

BIGO从2014年创立至今一直聚焦在全球范围提供音视频服务,短短五年时间已稳定进入全球App收入排行榜前十。旗下全球视频直播社区Bigo live,短视频内容创作平台Likee,音视频通讯imo服务于全球150个国家的4亿多用户,已形成了涵盖「实时多人语音/视频+直播+点播」全面完善的音视频产品矩阵。

BIGO能在全球音视频业务领域高歌猛进,与在音视频技术领域多年的深厚积累是密不可分的。回顾过去十年,YY一直都是国内互联网业界音视频技术的开拓者与领军者。2008年YY语音的巨大成功,2010年开创音视频直播,2017年YY Live赢得移动音视频直播的千播大战,再到2018年孵化的游戏直播“虎牙”在纽交所上市,到2020年海外直播BigoLive持续进入全球App收入排行榜前十,Likee成为全球用户规模第二的短视频平台,都离不开音视频技术强大的支撑。BIGO音视频技术从创立初就站在YY行业领先的音视频技术的基础之上,针对全球复杂多样的终端分布与网络环境,经过多年三大超大规模核心业务在真实场景下的千锤百炼,进一步沉淀出了针对全球当地环境极致优化的BIGO音视频技术整体解决方案。

图片1.png

BIGO全球音视频技术整体解决方案的核心能力包括:

a) 超大服务规模:单月服务的音视频时长超过100,000,000,000分钟,在全球范围内数一数二

b) 支持海量用户同时在线:提供千万人同时在线的实时视频互动服务

c) 优质服务能力:在全球复杂网络环境下提供QoE/QoS行业领先的优质音视频服务

d) 高性价比:相同服务条件下,平均成本仅为业界通用水平的50%

接下来将从「音视频编解码」,「音视频传输介绍」和「音视频基础设施」三个角度深入剖析BIGO音视频的十年技术积累。

BIGO音视频编解码技术

首先音视频编解码技术对于获得清晰、流畅的互动体验非常关键。编解码算法通过去除音视频内容的时域、空域、感知域等冗余,在低带宽的情形下使视频也能达到较高的清晰度,但是编解码算法在实用时,也面临着一些挑战:1、如何用有限的计算资源,及时处理千万级别视频的编码;2、视频内容千差万别,如何适应不同的内容,以发挥编码算法的最大效用。

Bigo通过自研编码器、自适应编码、自适应降噪等技术,有效应对了上述挑战,提升了相关产品的音视频基础体验。在此,重点介绍自研编码器与自适应编码技术。

1. 自研编码器技术

在全球复杂的网络环境下,用户对视频画质提升的需求日益增加,如何以更低的码率更快的速度提供更高的画质,这对编码器技术提出了挑战,x265编码器是业界公认的优秀HEVC开源编码器,相对于上一代编码器x264,其在同等编码速度及画质条件下能够节约40+%的码率,因此被大量音视频业界公司集成,以大幅改善视频基础体验。作为一种视频基础技术,BIGO技术认为x265的编码性能并未发挥HEVC标准的压缩极致,因此,我们自主研发了Bigo265编码器。 以下是Bigo265在不同类型测试序列上的编码表现,与x265的veryslow档相比,在5倍加速的情况下,平均可以节省15%的码率,达到业界领先水平。

图片2.png

我们在Bigo Likee测试集上对比了Bigo265 与其它标准编码器的压缩性能,如下表所示,平均情况下,Bigo265可以节省37%的码率,同时加速1.6倍。

图片3.png

除此之外,我们在MSU编码器大赛的测试条件下对Bigo265进行了评估,如下图所示,可以看出Bigo265 已经达到了近年MSU编码器大赛的top级别。

图片4.png

这里的测试集共三类,包含了不同的分辨率和内容复杂度,覆盖多种视频场景;其中Likee是业务侧的相关视频,JCTVC是HM官方测试集,MSU是莫斯科大学提供的复杂混合的测试集,以上可见,Bigo265在各类测试视频上的编码效果均具有较大优势。下图是测试序列的时间和空间复杂度:

图片5.png

1) Bigo265技术介绍

图片6.png

Bigo265在H265内核的基础上,基本上支持了HEVC标准全部的编码工具。另外它添加了数十种高效的快速算法,在很小画质损失的条件下极大提高了编码速度。码率控制方面,支持包括ABR,CBR,VFR, 多PASS,CRF等在内的多种码率控制方法。预处理部分也做了大量的优化,可以根据视频内容自适应来提高编码效率。下面简要介绍一下高性价比快速算法技术及自适应码率控制技术。

高性价比快速算法技术,为了适应不同业务对于速度及质量的不同要求,Bigo265提供了八个编码档位,每个档位快速算法性价比保持一致,如下图速度质量曲线所示,与x265相比,Bigo265速度质量曲线近似是一条直线,且斜率远低于x265,因此Bigo265在面对不同业务需求时,可以提供更加平滑的速度及质量,并且在相同速度下,如果编码速度要求越快,Bigo265相比x265的优势就越大。

图片7.png

自适应码率控制技术,Bigo265可以根据视频场景特征、内容复杂度、帧类型自适应进行码率控制,同时通过AQ/CUTREE技术针对块级权重调整QP,除此之外,还提供了ROI接口,可以根据用户的ROI区域自适应调节QP,以达到码率稳定的目的。

图片8.png

2) 与业务侧结合

Bigo265已经在Likee和BigoLive的业务上进行了部署,在节约20+%的带宽同时获得了更优质的用户观看体验。 目前编码器可以配置多个速度和画质级别,并针对不同的应用场景进行了优化,适用于直播、点播、零延迟、云游戏等多种业务下的编码;另外还提供了丰富的接口,业务部门可以很方便的进行调整和适配,以满足自己的需求。Bigo的编解码团队除了专注于Bigo265编码效率和速度的改进之外, 同时也开始进行AV1、VVC、AVS3等新一代标准编码器的研发。

2. 自适应编码技术(BigoCAE)

传统转码服务采用固定的编码参数进行转码,无法根据视频内容的复杂度自适应地选择最佳编码参数,造成简单视频的码率浪费和复杂视频的质量不足。BigoCAE致力于自动识别视频内容的复杂度从而选择合理的编码策略,达到质量和码率的最佳平衡,全局上节约码率,平衡画质。

BigoCAE在现有业务中,目标vmaf分 [-2,+2] 范围内的编码预测准确度可以达到93%+。在涵盖多个分辨率、帧率的3000个测试集上,质量方差明显变好,减少了低质case,平均码率节省40%+。

图片9.png

BigoCAE内容自适应转码策略立足于我们的自研Bigo265编码器,集成了内容分析(迁移学习,编码特征分析等)、AI编码参数预测、细粒度的码率控制(帧级码控、ROI码控)等技术,达到质量平稳,码率节省的目的。

图片10.png

其中内容分析,采用了编码特征与迁移学习特征。其中编码特征采用原始码流与pass1快速编码的信息,如下图所示:

图片11.png


迁移学习采用经典的图像分类网络,使用已训练好的用于cv应用的图像分类网络,提取其分类之前的fc层作为AI编码预测的输入特征。

为了加快预测速度,满足业务实时需求,AI编码预测采用一个简单的浅层神经网络,如下图所示:迁移学习采用经典的图像分类网络,使用已训练好的用于cv应用的图像分类网络,提取其分类之前的fc层作为AI编码预测的输入特征。

图片12.png

码控层面,对ROI区域的内容做了自适应调整,如面部区域是大家比较感兴趣的焦点,对此区域我们做了编码增强,整体码率不变的情况下,使ROI区域比其他区域更清晰一些。

BigoCAE随着业务的进化而不断进化,我们会不断引入新的特征、新的网络、新的码控算法改善BigoCAE算法的内容自适应效果。

BIGO音视频传输技术

构建工业级「高可用」,「高通用」,「高质量保障」的音视频传输技术对于音视频产品非常关键,而且不同业务场景,对于传输技术的优化侧重点有很大差别:

图片13.png

另外不同国家、地区网络特性差异很大;跨国家、跨洲的路由和链路质量及收费方式也有很大差别。不同网络类型有各自的行为模式和管道特征,需要适配不同的传输控制策略。

图片14.png

最后,不同地区用户的网络接入类型和方式差别巨大,用户对于网络流量费用的偏好也不尽相同。

因此,在制定传输策略过程中,需要对业务场景的侧重点、不同国家、地区网络特性以及用户对于体验质量和网络付费偏好等多维度情况进行综合考量和优化设计。

面对上述音视频传输关键挑战,BIGO音视频传输技术从设计之初到实际落地,经过持续不断的演进,构建了完整的传输技术基础体系,包含以下4个关键技术方向:

图片15.png

这四个关键技术在整个音视频解决方案中,占据了重要的位置,下面我们一一介绍。

图片16.png

1. 网络传输拥塞控制技术

如果将互联网想象成为公路系统,每一条互联网路径就像一条公路。当过多的数据进入网络,就会像公路系统中由于某些节点的运输能力不足产生堵塞。这种数据堵塞我们通常称为链路拥塞。

图片17.png

拥塞控制研究已经历经30余年,涌现了众多拥塞控制算法,一些有代表性的算法如图所示。

图片18.png

1.1 BTP拥塞控制系统

在BigoLive直播系统,针对直播的卡顿、清晰度敏感,延时相对不敏感的特点,BIGO技术积累了一套完整的拥塞控制方案——BTP拥塞控制系统,在线上达到了平均零卡顿率超过94%,720p占比超30%,平均延时低于2s,在业界位于顶尖水平。

图片19.png

BTP拥塞控制系统是一个分场景控制系统,它的主算法是TFRC。TFRC基于速率发送,过程平稳,更适合流媒体传输,但是它具有随机丢包下吞吐率低,以及小带宽场景下延时高等不足之处。

随机丢包下吞吐率低:以丢包为拥塞信号的拥塞算法,当遇到无线网络Wifi/2G/3G/4G时,会因为无线信道本身可能的信道衰落、信号干扰特性产生一些随机丢包,这种丢包会使得这一类算法误判拥塞,导致吞吐率变低。为解决随机丢包场景的问题,我们前置了一个随机丢包过滤器,它能够在混合了各种不同的随机丢包分布下的限速网络下(如10%服从高斯分布的随机丢包+800kbps限速),准确过滤出随机丢包,保留拥塞丢包作为拥塞控制信号。

小带宽场景延时高:对于600kbps以下的小带宽网络,它的典型特点是路由buffer队列长,当检测到丢包拥塞时,buffer里堆积的数据等待时间可以高达10s以上,严重影响直播体验。为此,我们引入辅助算法slops,它是一种基于延时的拥塞控制算法,能够准确推断延时类型和网络状态从而实施相应得拥塞控制输出。

在上述多个算法的共同作用下,BTP拥塞控制系统在实验室仿真环境的验证下:具有超过40%的随机丢包抗性,带宽低至300kbps依然可用,网络抖动1200ms仍然工作正常。

图片20.png

图片21.png

1.2 大数据驱动算法优化系统

传统的CC算法优化流程是“问题驱动”模式,属于被动优化,存在诸多局限:部分问题非关键/瓶颈问题、优化后对整体大盘性能改善微弱,日志欠缺导致问题重现耗时、复现难度大。

图片22.png

BIGO技术研发了大数据驱动的CC算法优化系统。它基于线上用户真实网络数据,通过trace特征分类分析,便于发现关键问题,完整/快速进行算法迭代评估。如上图所示,构建全面的网络特征数据库和搭建系统仿真平台是大数据驱动的CC算法优化系统的两个关键步骤:

构建网络特征数据库:不失一般性,我们通过 {带宽,时延,丢包率,缓存} 来表征一条端到端的网络链路的特征。针对每个关键参数,我们设计了独立的trace采集方案,以提高采集的准确性,同时确保对用户体验影响尽可能小。

 十年磨一剑-BIGO全球音视频技术解决方案

构建系统仿真平台:以Pantheon + mahimahi平台为依托,我们扩展丰富了网络trace的输入类型、完善CC算法性能分析工具,形成一套完整的系统仿真及分析平台。

 十年磨一剑-BIGO全球音视频技术解决方案

线上闭合验证:我们以某国家为切入点,开展对该国用户网络trace的数据分析,以及与不同拥塞控制算法的仿真对比,结果如下2图,吞吐率和时延的综合收益排名在各个对比CC算法中排名靠前。

图片25.png

同时,在线上进行ab实验后,获得吞吐率+0.74%,卡顿率-0.38%的技术指标收益,与线下评估一致。基于大数据驱动算法优化系统,我们上线了数项优化项,取得了显著的收益。

图片26.png

2. 弱网对抗技术

用户接入网络形态复杂(特别是无线信道本身存在明显的信道衰落、信号干扰特性)、承载的业务多样,传输过程中会经历网络条件的大幅突变、恶化。从网络传输能力指标上来表征,即可用带宽低、端到端时延大、丢包率高,极大的影响用户的传输性能,现有技术可能无法保证最低质量的QoS要求。

图片27.png

借助于网络trace采集系统,我们对BIGO全球用户网络特征进行了不同维度的分析。以某地区用户网络为例,从带宽指标来看,平均带宽低于500kbps的占比约1%;从丢包率指标来看,总体平均丢包率7.2%,连接丢包率高于20%的占比约10%,随机丢包类型占比约66%;从时延指标来看,平均RTT高于380ms的连接占比约30%。因此,弱网对抗技术从方法上主要可以分成抗丢包技术和抗抖动技术。

2.1 抗丢包技术

众所周知的两种抗丢包技术是主动重传请求(ARQ)和前向纠错(FEC)。ARQ和FEC分别有各自得优缺点:ARQ能最大化带宽利用率,但需要引入额外延时,而FEC通过增加信息冗余(牺牲带宽利用率)得方式避免增加额外延时。

图片28.png

针对ARQ与FEC两种抗丢包方法的特点,我们采用了扬长避短的策略,尽可能发挥各自的优势,这就是HARQ(Hybric ARQ)。整体思路是,HARQ在RTT较小的网络中,主要采用ARQ,减少冗余流量;在RTT较大的场景中,主要使用FEC,降低恢复延时。

图片29.png

我们通过在不同场景下HARQ和ARQ+FEC各自处理的效果对比,可以看到,限速场景HARQ恢复率提升明显;另外引入流量指标降低明显,HARQ统一决策有效降低流量代价。

图片30.png

我们通过音频传输质量MOS的评价方式,测试HARQ技术的实际抗丢包效果。根据对比结果,抗丢包模块明显提升了MOS,丢包率40%以下MOS分均能保持在4分以上,音质平稳度较高,有效地提升用户体验。

图片35.png

FEC技术前沿探索:在音视频传输中,Reed-Solomon(RS)作为常见地编码方式将视频的若干帧组合成为一个FEC编码块进行编码——在相同冗余度下较长的FEC编码块可以容忍更多的丢包,但是以视频播放延时为代价。BIGO技术提出新的解决思路(RE-RS),使用滑动窗口扫过视频连续若干帧,窗口每扩张或移动一帧相应生成一组冗余包,在常见网络丢包分布下RE-RS可以及时有效地恢复数据。

图片32.png

我们通过控制随机丢包的丢包率实验来检验RE-RS编码方式的效果,如下表所示,在不同的丢包率配置实验中,RE-RS能获得比RS更高的恢复率。

图片33.png

2.2 抗抖动技术

为了适应多变的网络和用户场景需求,我们设计了BigoJitter,其主体包括语音包缓冲区,网络抖动估算器,播放延时估算器,播放决策器,解码器,变速器,解码数据缓冲区等模块,核心算法在于网络抖动程度估算,播放延时估算以及播放策略制定,BigoJitter使用历史抖动范围和自回归算法来估算播放延时,从而可以快速适应网络的抖动变化。

图片34.png

我们再次以音频传输质量MOS的评估方式,下图所示,BigoJitter在各种弱网条件下的抗性都表现得很出色。

图片35.png

3. 自适应码率播放控制技术

为了应对全球各区域用户巨大的带宽能力差异,Bigo自研了实时按需转码和自适应码率控制的功能。如图中示例,根据观众端观看码率的汇总情况,在云端按需转码和分发,达到节省转码计算资源和网络传输资源的目标。

图片36.png

3.1 直播/视频点播自适应码率控制

在直播和视频点播场景中,我们研发落地了基于MPC模型预测的自适应码率算法,它通过分析用户特征和偏好、预测下载带宽信息和缓存长度变化状态,将选择分辨率/码率问题建模成一个求解动态最优化问题,优化的目标就是用户的观看体验指标QoE(Quality of Experience)。

图片37.png

从框架图中可以看出,如何准确有效预测QoE是影响整个自适应码率算法效果得最关键因素。因此,BIGO技术经过不断努力,自研和落地了基于User Engagement的QoE预测模型。

3.2 基于User Engagement的QoE预测模型

我们提出将播放技术指标同用户参与度相结合的观看体验指标QoE,从而进一步缩小QoE模型与用户实际主观体验的差距。

特征选取:和传统的QoE公式不同,除传输技术指标外,我们还使用了包括用户地理位置信息、手机软硬件属性、用户-视频互动等多方面的原始特征,通过特征工程生成的有显著意义的新特征,以及特征交叉生成的新特征。然后根据相关性和特征重要性,逐轮筛选生成新的特征子集。下图展示了若干主要特征和目标用户参与度的皮尔逊相关系数(PCC,左图),以及在提升树模型中的特征重要性(以增益衡量,右图)。

 十年磨一剑-BIGO全球音视频技术解决方案

参数调整:在选定的特征集上,我们采用贝叶斯优化、K折交叉验证搜索提升树模型的最优超参数。贝叶斯优化假设被优化函数为黑盒函数且来自高斯过程,每轮通过优化采集函数 a(x) 确定下一组尝试的超参数 xnext = arg maxx a(x),其中 a(x) 为改善期望,

a(x) = s(x) (b(x) F(b(x)) + N(b(x)))

其中 N(x), F(x) 为标准高斯分布的密度和累积分布函数, m(x), s(x) 为高斯过程根据现有观测值均值、方差的估计, b(x) = (f(xbest) - m(x)) / s(x) 为当前最优参数。

超参数优化一般会选取较为激进的参数生成复杂的树模型,带来额外的部署成本。因而我们综合考虑模型的拟合精度、模型大小和调用时间,生成帕累托前沿(Pareto frontier)的一系列模型,并根据实际上线需要部署。下图展示了一个帕累托有效的压缩模型的前3棵提升树结构。

 十年磨一剑-BIGO全球音视频技术解决方案

模型应用和收益:我们利用QoE拟合模型对Bigo Likee短视频清晰度选档算法进行优化,在提升用户观看满意度的同时节省了Bigo服务器的带宽消耗。

图片40.png

4. 接入路由策略优化技术

Bigo用户覆盖全球上百个国家和地区,不同国家和地区的用户的网络条件和网络质量的差异性很大,依托Bigo全球几十个数据中心和Bigo强大的AI技术、大数据分析能力的支持,我们实现了完整的"实时智能路由调度":

a) 从海量的历史传输数据中提取多维传输质量指标,结合不同形态产品对QoS、QoE的不同需求,将多维传输质量指标映射为质量得分,最终生成一个细化到运营商的基准路由表;

b) 通过统计不同时间粒度的网络质量的变化,不断更新及动态调整基准路由表;

c) 实时监控传输路径质量,对于突发的网络拥塞和网络故障及时动态切换中间转发节点,降低网络问题对传输质量的影响。

图片41.png

通过“实时智能路由调度“,我们为媒体数据传输尤其是跨国、洲际数据传输提供了稳定的高质量路径。

BIGO全球网络基础设施建设

从BIGO技术多年大规模业务沉淀的技术经验来看,高质量的音视频技术服务能力离不开基础设施的深度定制,BIGO选择全自建了全球的网络基础设施,提供给业务端到端的turnkey技术解决方案能力。

结合音视频业务业务场景来看,组建一个优质的全球RTN网络面临的挑战可以拆成两个部分:(1)如何保证海量用户到各个机房的接入质量;(2)如何保证分布全球的各个DC之间的通信质量。下面分别介绍BIGO在这两块的建设情况。

1. 用户接入网质量优化

不论是主播还是观众端,用户接入都是影响服务质量最重要的环节,也面临最复杂多样的网络环境。BIGO在全球各大洲和重点国家选择运营商资源最丰富的城市来构建BIGO的Internet接入的节点, 通过BIGO互联网交换平台(BIGO Internet eXchange,简称BIX)来管理。主要从以下三个方面来优化。

图片42.png

BIX = Bigo Internet eXchange,IPT = IP Transit Provider,IX = Internet eXchange

Peer = BGP Private Peer

(a)贴近用户,连通世界。 在最接近用户的城市,自建优质BGP出口网络,与大量本地ISP对等互联,对接方式包括IPT、IX、Peer等。目前与全球运营商建立Peer数量已达到170+,与2W多家ISP开展深度技术合作。

(b)DC到用户,智能路由。 实时分析机房到用户的网络质量,包括丢包、抖动、RTT、连接成功率等关键指标,同时根据Internet路由变化,实时绘制出口可用路径。通过智能调度控制器,确保到用户网络拥有最佳路由。

(c)用户到DC,动态优选。 实时分析用户访问不同机房的质量,结合机房负载、用户质量等指标,动态调整机房分配策略,确保每个地区每个运营商的用户接入综合得分最优机房, 提升用户体验。

2. DC之间的通信质量优化,提供99.99%优质传输率

图片43.png

(a)同城互联,高速可靠。 在欧洲,美洲,东南亚,印度等欧洲自建多张城域网,通过波分复用技术深度利用物理光纤资源,为同城数据中心互联提供超大带宽与高可靠DC间通信网络。

(b)全球物理专线互通,智能调度。 在全球数据中心间,以及各地区到各大洲的数据中心,通过海缆自建一张全球骨干网,连通全球各大城域网;并且通过SDN控制器实现拥塞控制,流量调度,故障自愈,实现全球数据中心稳定高速互联。为保证质量,海缆一般都会在物理上冗余,比如同时使用两条不同的海缆。

(c)虚拟光纤,公网专线。即使海缆做了物理上的冗余,但在流量突发、海缆维护、业务爆炸式增长、新节点快速上线等场景,还是有风险导致上层业务不可用。BIGO自研“公网专线”(BVTS)系统,解耦网络对物理专线的依赖,并加入抗丢包、TCP压缩、加密等技术。实现专线极速开通,业务快速上线,提升骨干网络可靠性。

(d)除了底层链路的质量保证,在上应用层也增加一层优化:多维分析,构建智能路由。 自研全球DC间IP到IP的(点到点)智能选路系统,根据实时网络状态、网络路径负载、可用带宽、成本等因素综合自动决策,并且可以根据不同的业务需求来选择最佳传输路径,比如音视频服务要求是低延迟,可接受少量丢包;而信令业务对丢包敏感度高,但可以接收稍高延迟。

经过多年的积累和发展,目前BIGO在亚洲, 欧洲, 美洲等全球各地建了近百个IDC,出口容量达到40T,与2W多家ISP开展深度的技术合作,覆盖全球150个国家和地区。为全球DC间提供99.99%优质传输率。

图片44.png

总结

本文从音视频编解码、音视频传输、基础设施建设的三个主要视角介绍了BIGO音视频技术解决方案十年的技术沉淀。技术无止境,BIGO技术还持续在音视频技术进行技术研究以保持在行业中的领先性,譬如网络质量智能定位能力,精细化的网络类型切分与场景化算法优化能力,用户主观体验的理解和评估,基于AI的编解码算法,HDR10和4K技术优化,新一代编解码标准等等。

站在2020年的时间点上,BIGO已经做到了从欧洲到亚洲,从美洲到非洲,把最好的视听服务传递到世界的每一个角落,传递给每一个热爱生活的人。在这个过程中,音视频核心技术能力和BIGO业务增长多年来相互成就,通过在真实市场大规模应用的千锤百炼,最终锻造成坚如磐石的BIGO音视频技术解决方案。

稿件来源来自于BIGO技术自媒体。


生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生