BIGO从2015年创立至今一直聚焦在全球范围提供音视频服务,短短五年时间已稳定进入全球App收入排行榜前十。旗下全球视频直播社区Bigo live,短视频内容创做平台Likee,音视频通信imo服务于全球150个国家的4亿多用户,已造成了涵盖「实时多人语音/视频+直播+点播」全面完善的音视频产品矩阵。算法
BIGO能在全球音视频业务领域高歌猛进,与在音视频技术领域多年的深厚积累是密不可分的。回顾过去十年,YY一直都是国内互联网业界音视频技术的开拓者与领军者。2008年YY语音的巨大成功,2010年开创音视频直播,2017年YY Live赢得移动音视频直播的千播大战,再到2018年孵化的游戏直播“虎牙”在纽交所上市,到2020年海外直播BigoLive持续进入全球App收入排行榜前十,Likee成为全球用户规模第二的短视频平台,都离不开音视频技术强大的支撑。BIGO音视频技术从创立初就站在YY行业领先的音视频技术的基础之上,针对全球复杂多样的终端分布与网络环境,通过多年三大超大规模核心业务在真实场景下的千锤百炼,进一步沉淀出了针对全球当地环境极致优化的BIGO音视频技术总体解决方案。
BIGO全球音视频技术总体解决方案的核心能力包括:数据库
a)超大服务规模:单月服务的音视频时长超过100,000,000,000分钟,在全球范围内首屈一指缓存
b )支持海量用户同时在线:提供千万人同时在线的实时视频互动服务服务器
C )优质服务能力:在全球复杂网络环境下提供QoE/QoS行业领先的优质音视频服务网络
d)高性价比:相同服务条件下,平均成本仅为业界通用水平的50%框架
接下来将从「音视频编解码」,「音视频传输介绍」和「音视频基础设施」三个角度深刻剖析BIGO音视频的十年技术积累。ide
首先音视频编解码技术对于得到清晰、流畅的互动体验很是关键。编解码算法经过去除音视频内容的时域、空域、感知域等冗余,在低带宽的情形下使视频也能达到较高的清晰度,可是编解码算法在实用时,也面临着一些挑战:一、如何用有限的计算资源,及时处理千万级别视频的编码;二、视频内容千差万别,如何适应不一样的内容,以发挥编码算法的最大效用。函数
Bigo经过自研编码器、自适应编码、自适应降噪等技术,有效应对了上述挑战,提高了相关产品的音视频基础体验。在此,重点介绍自研编码器与自适应编码技术。工具
在全球复杂的网络环境下,用户对视频画质提高的需求日益增长,如何以更低的码率更快的速度提供更高的画质,这对编码器技术提出了挑战,x265编码器是业界公认的优秀HEVC开源编码器,相对于上一代编码器x264,其在同等编码速度及画质条件下可以节约40+%的码率,所以被大量音视频业界公司集成,以大幅改善视频基础体验。做为一种视频基础技术,BIGO技术认为x265的编码性能并未发挥HEVC标准的压缩极致,所以,咱们自主研发了Bigo265编码器。 如下是Bigo265在不一样类型测试序列上的编码表现,与x265的veryslow档相比,在5倍加速的状况下,平都可以节省15%的码率,达到业界领先水平。
咱们在Bigo Likee测试集上对比了Bigo265 与其它标准编码器的压缩性能,以下表所示,平均状况下,Bigo265能够节省37%的码率,同时加速1.6倍。
除此以外,咱们在MSU编码器大赛的测试条件下对Bigo265进行了评估,以下图所示,能够看出Bigo265 已经达到了近年MSU编码器大赛的top级别。性能
这里的测试集共三类,包含了不一样的分辨率和内容复杂度,覆盖多种视频场景;其中Likee是业务侧的相关视频,JCTVC是HM官方测试集,MSU是莫斯科大学提供的复杂混合的测试集,以上可见,Bigo265在各种测试视频上的编码效果均具备较大优点。下图是测试序列的时间和空间复杂度:
1) Bigo265技术介绍
Bigo265在H265内核的基础上,基本上支持了HEVC标准所有的编码工具。另外它添加了数十种高效的快速算法,在很小画质损失的条件下极大提升了编码速度。码率控制方面,支持包括ABR,CBR,VFR, 多PASS,CRF等在内的多种码率控制方法。预处理部分也作了大量的优化,能够根据视频内容自适应来提升编码效率。下面简要介绍一下高性价比快速算法技术及自适应码率控制技术。
高性价比快速算法技术,为了适应不一样业务对于速度及质量的不一样要求,Bigo265提供了八个编码档位,每一个档位快速算法性价比保持一致,以下图速度质量曲线所示,与x265相比,Bigo265速度质量曲线近似是一条直线,且斜率远低于x265,所以Bigo265在面对不一样业务需求时,能够提供更加平滑的速度及质量,而且在相同速度下,若是编码速度要求越快,Bigo265相比x265的优点就越大。
自适应码率控制技术,Bigo265能够根据视频场景特征、内容复杂度、帧类型自适应进行码率控制,同时经过AQ/CUTREE技术针对块级权重调整QP,除此以外,还提供了ROI接口,能够根据用户的ROI区域自适应调节QP,以达到码率稳定的目的。
2) 与业务侧结合
Bigo265已经在Likee和BigoLive的业务上进行了部署,在节约20+%的带宽同时得到了更优质的用户观看体验。 目前编码器能够配置多个速度和画质级别,并针对不一样的应用场景进行了优化,适用于直播、点播、零延迟、云游戏等多种业务下的编码;另外还提供了丰富的接口,业务部门能够很方便的进行调整和适配,以知足本身的需求。Bigo的编解码团队除了专一于Bigo265编码效率和速度的改进以外, 同时也开始进行AV一、VVC、AVS3等新一代标准编码器的研发。
传统转码服务采用固定的编码参数进行转码,没法根据视频内容的复杂度自适应地选择最佳编码参数,形成简单视频的码率浪费和复杂视频的质量不足。BigoCAE致力于自动识别视频内容的复杂度从而选择合理的编码策略,达到质量和码率的最佳平衡,全局上节约码率,平衡画质。
BigoCAE在现有业务中,目标vmaf分 [-2,+2] 范围内的编码预测准确度能够达到93%+。在涵盖多个分辨率、帧率的3000个测试集上,质量方差明显变好,减小了低质case,平均码率节省40%+。
BigoCAE内容自适应转码策略立足于咱们的自研Bigo265编码器,集成了内容分析(迁移学习,编码特征分析等)、AI编码参数预测、细粒度的码率控制(帧级码控、ROI码控)等技术,达到质量平稳,码率节省的目的。
其中内容分析,采用了编码特征与迁移学习特征。其中编码特征采用原始码流与pass1快速编码的信息,以下图所示:
迁移学习采用经典的图像分类网络,使用已训练好的用于cv应用的图像分类网络,提取其分类以前的fc层做为AI编码预测的输入特征。
为了加快预测速度,知足业务实时需求,AI编码预测采用一个简单的浅层神经网络,以下图所示:
码控层面,对ROI区域的内容作了自适应调整,如面部区域是你们比较感兴趣的焦点,对此区域咱们作了编码加强,总体码率不变的状况下,使ROI区域比其余区域更清晰一些。
BigoCAE随着业务的进化而不断进化,咱们会不断引入新的特征、新的网络、新的码控算法改善BigoCAE算法的内容自适应效果。
构建工业级「高可用」,「高通用」,「高质量保障」的音视频传输技术对于音视频产品很是关键,并且不一样业务场景,对于传输技术的优化侧重点有很大差异:
另外不一样国家、地区网络特性差别很大;跨国家、跨洲的路由和链路质量及收费方式也有很大差异。不一样网络类型有各自的行为模式和管道特征,须要适配不一样的传输控制策略。
最后,不一样地区用户的网络接入类型和方式差异巨大,用户对于网络流量费用的偏好也不尽相同。
所以,在制定传输策略过程当中,须要对业务场景的侧重点、不一样国家、地区网络特性以及用户对于体验质量和网络付费偏好等多维度状况进行综合考量和优化设计。
面对上述音视频传输关键挑战,BIGO音视频传输技术从设计之初到实际落地,通过持续不断的演进,构建了完整的传输技术基础体系,包含如下4个关键技术方向:
这四个关键技术在整个音视频解决方案中,占据了重要的位置,下面咱们一一介绍。
若是将互联网想象成为公路系统,每一条互联网路径就像一条公路。当过多的数据进入网络,就会像公路系统中因为某些节点的运输能力不足产生堵塞。这种数据堵塞咱们一般称为链路拥塞。

拥塞控制研究已经历经30余年,涌现了众多拥塞控制算法,一些有表明性的算法如图所示。
1.1 BTP拥塞控制系统
在BigoLive直播系统,针对直播的卡顿、清晰度敏感,延时相对不敏感的特色,BIGO技术积累了一套完整的拥塞控制方案——BTP拥塞控制系统,在线上达到了平均零卡顿率超过94%,720p占比超30%,平均延时低于2s,在业界位于顶尖水平。
BTP拥塞控制系统是一个分场景控制系统,它的主算法是TFRC。TFRC基于速率发送,过程平稳,更适合流媒体传输,可是它具备随机丢包下吞吐率低,以及小带宽场景下延时高等不足之处。
随机丢包下吞吐率低:以丢包为拥塞信号的拥塞算法,当遇到无线网络Wifi/2G/3G/4G时,会由于无线信道自己可能的信道衰落、信号干扰特性产生一些随机丢包,这种丢包会使得这一类算法误判拥塞,致使吞吐率变低。为解决随机丢包场景的问题,咱们前置了一个随机丢包过滤器,它可以在混合了各类不一样的随机丢包分布下的限速网络下(如10%服从高斯分布的随机丢包+800kbps限速),准确过滤出随机丢包,保留拥塞丢包做为拥塞控制信号。
小带宽场景延时高:对于600kbps如下的小带宽网络,它的典型特色是路由buffer队列长,当检测到丢包拥塞时,buffer里堆积的数据等待时间能够高达10s以上,严重影响直播体验。为此,咱们引入辅助算法slops,它是一种基于延时的拥塞控制算法,可以准确推断延时类型和网络状态从而实施相应得拥塞控制输出。
在上述多个算法的共同做用下,BTP拥塞控制系统在实验室仿真环境的验证下:具备超过40%的随机丢包抗性,带宽低至300kbps依然可用,网络抖动1200ms仍然工做正常。
1.2 大数据驱动算法优化系统
传统的CC算法优化流程是“问题驱动”模式,属于被动优化,存在诸多局限:部分问题非关键/瓶颈问题、优化后对总体大盘性能改善微弱,日志欠缺致使问题重现耗时、复现难度大。
BIGO技术研发了大数据驱动的CC算法优化系统。它基于线上用户真实网络数据,经过trace特征分类分析,便于发现关键问题,完整/快速进行算法迭代评估。如上图所示,构建全面的网络特征数据库和搭建系统仿真平台是大数据驱动的CC算法优化系统的两个关键步骤:
构建网络特征数据库:不失通常性,咱们经过 {带宽,时延,丢包率,缓存} 来表征一条端到端的网络链路的特征。针对每一个关键参数,咱们设计了独立的trace采集方案,以提升采集的准确性,同时确保对用户体验影响尽量小。
构建系统仿真平台:以Pantheon + mahimahi平台为依托,咱们扩展丰富了网络trace的输入类型、完善CC算法性能分析工具,造成一套完整的系统仿真及分析平台。
线上闭合验证:**咱们以某国家为切入点,开展对该国用户网络trace的数据分析,以及与不一样拥塞控制算法的仿真对比,结果以下2图,吞吐率和时延的综合收益排名在各个对比CC算法中排名靠前。
同时,在线上进行ab实验后,得到吞吐率+0.74%,卡顿率-0.38%的技术指标收益,与线下评估一致。基于大数据驱动算法优化系统,咱们上线了数项优化项,取得了显著的收益。
用户接入网络形态复杂(特别是无线信道自己存在明显的信道衰落、信号干扰特性)、承载的业务多样,传输过程当中会经历网络条件的大幅突变、恶化。从网络传输能力指标上来表征,便可用带宽低、端到端时延大、丢包率高,极大的影响用户的传输性能,现有技术可能没法保证最低质量的QoS要求。
借助于网络trace采集系统,咱们对BIGO全球用户网络特征进行了不一样维度的分析。以某地区用户网络为例,从带宽指标来看,平均带宽低于500kbps的占比约1%;从丢包率指标来看,整体平均丢包率7.2%,链接丢包率高于20%的占比约10%,随机丢包类型占比约66%;从时延指标来看,平均RTT高于380ms的链接占比约30%。所以,弱网对抗技术从方法上主要能够分红抗丢包技术和抗抖动技术。
2.1 抗丢包技术
众所周知的两种抗丢包技术是主动重传请求(ARQ)和前向纠错(FEC)。ARQ和FEC分别有各自得优缺点:ARQ能最大化带宽利用率,但须要引入额外延时,而FEC经过增长信息冗余(牺牲带宽利用率)得方式避免增长额外延时。
针对ARQ与FEC两种抗丢包方法的特色,咱们采用了扬长避短的策略,尽量发挥各自的优点,这就是HARQ(Hybric ARQ)。总体思路是,HARQ在RTT较小的网络中,主要采用ARQ,减小冗余流量;在RTT较大的场景中,主要使用FEC,下降恢复延时。
咱们经过在不一样场景下HARQ和ARQ+FEC各自处理的效果对比,能够看到,限速场景HARQ恢复率提高明显;另外引入流量指标下降明显,HARQ统一决策有效下降流量代价。
咱们经过音频传输质量MOS的评价方式,测试HARQ技术的实际抗丢包效果。根据对比结果,抗丢包模块明显提高了MOS,丢包率40%如下MOS分均能保持在4分以上,音质平稳度较高,有效地提高用户体验。
FEC技术前沿探索:在音视频传输中,Reed-Solomon(RS)做为常见地编码方式将视频的若干帧组合成为一个FEC编码块进行编码——在相同冗余度下较长的FEC编码块能够容忍更多的丢包,可是以视频播放延时为代价。BIGO技术提出新的解决思路(RE-RS),使用滑动窗口扫过视频连续若干帧,窗口每扩张或移动一帧相应生成一组冗余包,在常见网络丢包分布下RE-RS能够及时有效地恢复数据。
咱们经过控制随机丢包的丢包率实验来检验RE-RS编码方式的效果,以下表所示,在不一样的丢包率配置实验中,RE-RS能得到比RS更高的恢复率。
2.2 抗抖动技术
为了适应多变的网络和用户场景需求,咱们设计了BigoJitter,其主体包括语音包缓冲区,网络抖动估算器,播放延时估算器,播放决策器,解码器,变速器,解码数据缓冲区等模块,核心算法在于网络抖动程度估算,播放延时估算以及播放策略制定,BigoJitter使用历史抖动范围和自回归算法来估算播放延时,从而能够快速适应网络的抖动变化。
咱们再次以音频传输质量MOS的评估方式,下图所示,BigoJitter在各类弱网条件下的抗性都表现得很出色。
为了应对全球各区域用户巨大的带宽能力差别,Bigo自研了实时按需转码和自适应码率控制的功能。如图中示例,根据观众端观看码率的汇总状况,在云端按需转码和分发,达到节省转码计算资源和网络传输资源的目标。
3.1 直播/视频点播自适应码率控制
在直播和视频点播场景中,咱们研发落地了基于MPC模型预测的自适应码率算法,它经过分析用户特征和偏好、预测下载带宽信息和缓存长度变化状态,将选择分辨率/码率问题建模成一个求解动态最优化问题,优化的目标就是用户的观看体验指标QoE(Quality of Experience)。
从框架图中能够看出,如何准确有效预测QoE是影响整个自适应码率算法效果得最关键因素。所以,BIGO技术通过不断努力,自研和落地了基于User Engagement的QoE预测模型。
3.2 基于User Engagement的QoE预测模型
咱们提出将播放技术指标同用户参与度相结合的观看体验指标QoE,从而进一步缩小QoE模型与用户实际主观体验的差距。
特征选取:**和传统的QoE公式不一样,除传输技术指标外,咱们还使用了包括用户地理位置信息、手机软硬件属性、用户-视频互动等多方面的原始特征,经过特征工程生成的有显著意义的新特征,以及特征交叉生成的新特征。而后根据相关性和特征重要性,逐轮筛选生成新的特征子集。下图展现了若干主要特征和目标用户参与度的皮尔逊相关系数(PCC,左图),以及在提高树模型中的特征重要性(以增益衡量,右图)。
参数调整:在选定的特征集上,咱们采用贝叶斯优化、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棵提高树结构。
模型应用和收益:**咱们利用QoE拟合模型对Bigo Likee短视频清晰度选档算法进行优化,在提高用户观看满意度的同时节省了Bigo服务器的带宽消耗。
Bigo用户覆盖全球上百个国家和地区,不一样国家和地区的用户的网络条件和网络质量的差别性很大,依托Bigo全球几十个数据中心和Bigo强大的AI技术、大数据分析能力的支持,咱们实现了完整的"实时智能路由调度":
a) 从海量的历史传输数据中提取多维传输质量指标,结合不一样形态产品对QoS、QoE的不一样需求,将多维传输质量指标映射为质量得分,最终生成一个细化到运营商的基准路由表;
b) 经过统计不一样时间粒度的网络质量的变化,不断更新及动态调整基准路由表;
c) 实时监控传输路径质量,对于突发的网络拥塞和网络故障及时动态切换中间转发节点,下降网络问题对传输质量的影响。
经过“实时智能路由调度“,咱们为媒体数据传输尤为是跨国、洲际数据传输提供了稳定的高质量路径。
从BIGO技术多年大规模业务沉淀的技术经验来看,高质量的音视频技术服务能力离不开基础设施的深度定制,BIGO选择全自建了全球的网络基础设施,提供给业务端到端的turnkey技术解决方案能力。
结合音视频业务业务场景来看,组建一个优质的全球RTN网络面临的挑战能够拆成两个部分:(1)如何保证海量用户到各个机房的接入质量;(2)如何保证分布全球的各个DC之间的通讯质量。下面分别介绍BIGO在这两块的建设状况。
不管是主播仍是观众端,用户接入都是影响服务质量最重要的环节,也面临最复杂多样的网络环境。BIGO在全球各大洲和重点国家选择运营商资源最丰富的城市来构建BIGO的Internet接入的节点, 经过BIGO互联网交换平台(BIGO Internet eXchange,简称BIX)来管理。主要从如下三个方面来优化。
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,动态优选。 实时分析用户访问不一样机房的质量,结合机房负载、用户质量等指标,动态调整机房分配策略,确保每一个地区每一个运营商的用户接入综合得分最优机房, 提高用户体验。
(a)同城互联,高速可靠。 在欧洲,美洲,东南亚,印度等欧洲自建多张城域网,经过波分复用技术深度利用物理光纤资源,为同城数据中心互联提供超大带宽与高可靠DC间通讯网络。
(b)全球物理专线互通,智能调度。 在全球数据中心间,以及各地区到各大洲的数据中心,经过海缆自建一张全球骨干网,连通全球各大城域网;而且经过SDN控制器实现拥塞控制,流量调度,故障自愈,实现全球数据中心稳定高速互联。为保证质量,海缆通常都会在物理上冗余,好比同时使用两条不一样的海缆。
(c)虚拟光纤,公网专线。即便海缆作了物理上的冗余,但在流量突发、海缆维护、业务爆炸式增加、新节点快速上线等场景,仍是有风险致使上层业务不可用。BIGO自研“公网专线”(BVTS)系统,解耦网络对物理专线的依赖,并加入抗丢包、TCP压缩、加密等技术。实现专线极速开通,业务快速上线,提高骨干网络可靠性。
(d)除了底层链路的质量保证,在上应用层也增长一层优化:多维分析,构建智能路由。 自研全球DC间IP到IP的(点到点)智能选路系统,根据实时网络状态、网络路径负载、可用带宽、成本等因素综合自动决策,而且能够根据不一样的业务需求来选择最佳传输路径,好比音视频服务要求是低延迟,可接受少许丢包;而信令业务对丢包敏感度高,但能够接收稍高延迟。
通过多年的积累和发展,目前BIGO在亚洲, 欧洲, 美洲等全球各地建了近百个IDC,出口容量达到40T,与2W多家ISP开展深度的技术合做,覆盖全球150个国家和地区。为全球DC间提供99.99%优质传输率。
本文从音视频编解码、音视频传输、基础设施建设的三个主要视角介绍了BIGO音视频技术解决方案十年的技术沉淀。技术无止境,BIGO技术还持续在音视频技术进行技术研究以保持在行业中的领先性,譬如网络质量智能定位能力,精细化的网络类型切分与场景化算法优化能力,用户主观体验的理解和评估,基于AI的编解码算法,HDR10和4K技术优化,新一代编解码标准等等。
站在2020年的时间点上,BIGO已经作到了从欧洲到亚洲,从美洲到非洲,把最好的视听服务传递到世界的每个角落,传递给每个热爱生活的人。在这个过程当中,音视频核心技术能力和BIGO业务增加多年来相互成就,经过在真实市场大规模应用的千锤百炼,最终锻形成坚如磐石的BIGO音视频技术解决方案。
稿件来源来自于BIGO技术自媒体。