抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

声网首席科学家钟声:如何解决 RTE 高质量传输挑战?

2021 年 1 月 02 日

声网首席科学家钟声:如何解决 RTE 高质量传输挑战?

3G 到 4G 时代,带宽增大,短视频兴起,实时互动技术蓬勃发展, 5G 时代,大量基于带宽的应用如海浪般涌入市场,VR、AR、360° 实时互动等为大众带来了极致般的体验,但这背后离不开「RTE 实时互动技术」的支持,许多实时互动行业的先行者们已经逐渐受益,关于实时互动技术有哪些机遇与挑战?又有哪些不错的探索与尝试呢?


2020 年 11 月 21 日,在 GTLC 全球技术领导力峰会上海站,声网 Agora 首席科学家钟声,从 5G 的加速发展入手,深入分享了 RTE 实时互动技术的挑战与解决方案,以下为演讲整理内容,Enjoy~


钟声,声网 Agora 首席科学家,北京大学数学系学士和博士,曾任海信芯片总经理、博通资深主任科学家、华亚微电子技术副总裁。拥有 100 余项技术发明专利。曾是 IEEE 成员,共发表了 30 余篇论文。


很高兴能有机会与大家交流,听完嘉宾关于 5G 的分享,收获颇丰,我今天的分享内容也与 5G 相关,我们都知道,“实时互动”是疫情时期以及后疫情时期的发展趋势。从二月份开始,远程工作、线上教育、游戏、社交娱乐突然变得极其火热。后疫情时期,5G 的建设速度会极大地加快。


5G 加速发展 RTE 场景走向多样化



5G 加速发展大概有以下几个原因:


  1. 视频流量的激增;

  2. 地缘政治的因素。中美之间的竞争、大国之间的竞争,使 5G 建设得以加速,成为制高点;

  3. 实时互动驱动的服务会出现很多新型的体验。



我们举例说明一下,视频将会朝向高清、超高清的方向发展,VR、AR、360 转播也会陆续增多,除此之外还有很多新的连接会出现,诸如 RTE + Smart Car,可以使得出行工具成为移动办公和娱乐的场所;RTE + Smart Home,可以让我们与冰箱互动;RTE + Smart City,可以让我们与智慧城市的连接更为广泛。今年 8 月份,美国硅谷发生了好几起火灾,如果可以配备有监控的摄像头进行实时的互动,就可以更早地发现火情,减轻火灾损失。


除去体验与互动连接之外,基于实时互动技术的新应用也会出现。例如,RTE + Health、RTE + Finance 、RTE + Social Care 以及 RTE + Legal 等等。就 RTE + Legal 来说,目前在美国,很多法务人员可以通过远程进行取证,合理合法。RTE + Sports 方面,利用实时互动,使得不同地方,爱好运动的伙伴,可以一起骑自行车,跑步,健身等等。


刚刚有涉及到健康领域,现在着重谈一下这方面的情况。今年八月初,有一篇文章介绍了美国的疫情之后,关于医疗健康方面的发展趋势。首先是政策方面的变化。保险公司、政府等机构均开始了线上化办公,其中涉及健康咨询与诊断等。比如政府的 Medicare,已经新增 135 种基于远程互动的线上服务。新冠疫情之前,每周只有 13000 人远程线上咨询与问诊,7 月份左右,每周新增 170 万人左右,将近 130 倍的增长幅度,截止 7 月底有 1000 万人使用到了实时远程服务。


其次,在私营计划里,50% 的保险已经把最新的技术纳入到基本的保险中,已经有超过一千万人参加了这个计划。这篇文章预测疫情结束以后,这种线上办公趋势不会停止。


RTE 实时互动的挑战与解决方案



就在四月份疫情期间,带宽需求突然增加,对 RTE 技术提出了很大的挑战,美国硅谷多次出现视频拥堵情况,上图是 4 月 17 日的家庭网络拥堵情况,平均丢包率超过 30% 左右,最高丢包率竟达 82%。


除去视频带宽的挑战之外,无线信号容易受干扰的特性也为实时互动的体验带来了比较大的挑战。**对于远程诊断来说,能够实时互动非常关键,对于社交与娱乐来说,又何尝不是这样呢?现在是体验为王的经济时代,延时、清晰度、卡顿等等现象,都直接关系到用户的观看时长以及用户留存等。



另外网络也越来越碎片化,5G 网路会带来了一些新的问题。比如 5G 用户身处 5G 网络没有覆盖的地方怎么办?4G 用户和 5G 用户之间的交流怎么办?5G 用户总是试图传送一些更高清、更高分辨率的视频,但是 4G、3G 用户不是这样,我们如何平滑切换?由于地缘政治的原因(美国政府限制中国电信、中国移动在美国的运营等),跨洋之间数据的交换如何处理?等等。


解决这些问题有以下关键的几点:



首先,最重要的方面是打造敏捷性,当变化出现时候,可以及时做出响应和正确的决策,敏捷性的关键是模块化的系统设计。


其次,在网络条件千变万化的情况下,网络需要有自适应和可伸缩性,才有可能实现比较平滑的转换。


最后,在带宽受到限制的时候,我们收到的信息是有限的,因此具备计算更多信息与知识的智能是很重要的。



在这里,为大家详细讲述一下网络的自适应以及可伸缩性。假设有一个四方会议,其中的三个人都会接收到另外一个人的视频,每位参与者的下行带宽是不同的,比如低档宽带网速是 0.2Mbps、中档的是 1.2Mbps、高档的是 2Mbps,这时候大部分的做法都是以固定的码流发送视频。由于低带宽的人收到高码流会出现卡顿现象,所以他会不停地要求发送端发小一点,直到发送 0.2mbps,他觉得很 OK,但是其余两位高带宽的人收到的视频却不理想。


如何处理这种情况呢?


当下很多人的做法是发多条流,每一条流的带宽分别和接收者的带宽是匹配的,因为本身网络会拥堵,又同时下发了很多条流,综合来说这种方法不经济。


比较理想的办法是「实时探知参会者网络情况,及时了解每位接收者的带宽,并且做可伸缩性的自适应下发」。


这种方式强调的是进行 Scalable coding,并且有足够的颗粒度,使得有更多的机会适应好不同带宽的多观众,并且跟网络的条件进行联合的优化,这样就有机会在云端做一些智能的下发策略,从一条流中找出最适合某个接收者的视频,做智能的决策,目前最新的方案技术上已经支持这样进行。


在理想的网络条件下,很多方案是可行的,但是往往影响体验的是偶尔出现的高丢包情况。例如,对做线上教育的企业来说,上课效果不好,学生的家长不满意,常常会要求退课,企业需要花费较高的成本将家长留下来。这也就是我们提供实时音视频互动服务的价值所在。


针对算法上的阻碍,我们有一些比较创新的东西,「用机器学习的算法来探知带宽的变化,估算网络的拥塞,甚至来识别数据丢包」。



(左边是公开发表的两个算法,右边是强化学习算法做出的结果)


用我们的实战案例为大家做阐述。从图中可以看到,带宽变化模拟效果时高时低,左下角是理想的方波情形。公开的两个算法表现如下:左下角跟踪带宽变化的情况不理想,带宽都快要下降完毕,蓝色曲线才上到一半,但是马上就要下来了。左上角的带宽也不是很好,黄色这条曲线稍好一些,但是波动特别大,即便是左上图基本到了峰值带宽的时候,也会有很大的波动,这个波动意味着你的视频一闪一亮,不是很好的状态。


右边是强化学习算法做出的结果,相对理想很多**。**这样做之后的结果是「各个链路的观看和自适应得到了优化,每一个接收端根据自己的带宽,得到了当时可能最佳的体验;另外在 80% 的丢包率,视频仍然比较流畅」。


当遇到带宽不良,丢包率比较高的情况,只能接受码率降低,分辨率降低的情况吗?今天介绍两个方法:首先我们可以用人工智能的算法,将低帧率变成高帧率,把低分辨率的视频利用 AI 超分辨率算法增加分辨率和细节。


目前,有些技术可以在云端做,不过实时互动可能无法在云端实施,因为如果在云端将音视频清晰度提上去,数据量就会相应地增大,压缩起来较为困难,这样会增加实时互动的延时情况,“实时”也就失去了意义,因此实时互动技术必须要在移动端进行。移动端进行的话需要做到极致小,手机可以几毫秒就满足处理一帧的深度学习算法,整体还是有相当大的挑战,另外要把模型搭建到极致小并且还可以起到作用,需要把基本方法做得比较扎实。



我们在生成对抗网络模型上完成了非常有效的创新。采用了 Lipschitz (这里指“利普希茨连续条件”)连续进行优化,在生成对抗网络上增加了隐空间(隐变量的样本空间),在隐空间之上可以再次进行优化。



采用这个超分辨率算法之后的结果还是比较理想的,其客观数据指标全面优于“超分计算业界被引用最广的文章”(链接:https://arxiv.org/abs/1809.00219)的超分计算结果。



下面是一些算法优化之后的效果,右下角是大家都希望得到的效果。右上角是超分计算第一名的结果,右上角的细节恢复了很多出来,纹理、走势有些零乱,不是特别理想。中间是我们企业实践的结果,清晰度和纹理有所提升。


这点提升对于企业的某些应用还是比较重要的。例如,当实施教学的时候,老师在黑板上的字迹,如果超分的时候变形,后果很严重,学生们完全认不出来了,也就无法学会,另外比如在一些医学应用上,如果计算结果将一些病人的纹理改变,这是比较致命的事情。


另外 5G 时代的来临,有很多机会与挑战,其中增加现场感和临场感的实时互动相当重要。而自适应和可伸缩性对 VR、360° 全景实时互动直播也很关键。


以 360° 的应用做一个简单的说明,首先在 360° 的情况下,视觉关注的地方比较清晰,周围是比较模糊,中间的比较清晰,意味着可以分为数据可以两部分进行传输。另外一点,我们的视觉焦点是变化的,关注的东西是不同的,所以不能眼睛转向的时候,数据还没到来,就不能看到最清晰的东西,这个体验很受影响,我们需要把视点变化正确地预测出来,把这部分的数据同时提前传,这样数据就更增多了一些。


但是这样做引发新的问题,当网络不顺畅的时候,传送了很多块数据,这几块数据之间很可能出现不匹配的情况,收到的数据并不是接收方需要的,比如其中一块收到了 1、3、5 帧,另外一个收到 2、4、6 帧,很不理想。这种情况下可伸缩和自适应性就显得非常重要。

00:00 / 00:00
    1.0x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.5x
    网页全屏
    全屏
    00:00


    这个 Demo 是支持全景实时互动的,全景是以 4K 的方式表征的,试点区域是 720P,主要展示的是视觉焦点关注的这部分以及我预测的区域。这项 Demo 的应用非常多,比如直播带货、旅游、运动、教学等。


    未来做什么?


    实时互动场景是与 5G、AI 深度结合的场景, 5G、AI 对实时互动可以有很精准、很深度的帮助。AI 有很多可应用领域,诸如声音的美化、降噪、人脸的美颜、风格转换等等。


    另外我们将会致力于把新兴场景的体验优化,像 VR、AR、360° 实时互动等新生事物。谢谢大家!希望有兴趣的同学可以一起来探讨。


    2021 年 1 月 02 日 10:082320

    评论

    发布
    暂无评论
    发现更多内容

    基于大疆无人机SDK二次开发

    sydMobile

    android 无人机

    MyBatis 3 解析mybatis-config.xml配置

    杨家昌

    深度解析 mybatis 初始化 XMLConfigBuilder Configuration

    产品周刊 | 第 13 期(20200503)

    Herbert

    产品 设计 产品经理 产品设计

    零基础、非计算机相关专业的如何转型程序员

    C语言技术网-码农有道

    程序员 转型

    LeetCode 565: Array Nesting

    隔壁小王

    算法

    部署Hexo博客到VPS

    ini

    原创 | 类应该是匀称和均匀的

    编程道与术

    原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (一)什么是单元测试

    编程道与术

    言简意赅,聊聊RPC的123事

    一叶而不知秋

    RPC

    Flutter 中SharedPreferences 的初始化?

    三爻

    flutter android

    DataGrip常用快捷键

    fliter

    终端Terminal:程序员是如何查询天气预报的?

    lmymirror

    GitHub 工具 命令行 terminal 终端工具

    企业招聘的需求决定了C/C++程序员的学习方向

    C语言技术网-码农有道

    C/C++

    快速开发那点事儿 | 选择最合适的轮子,量产跑车

    Java_若依框架教程

    敏捷开发 JAVA开发 RouYI 快速开发

    如何消除写作过程中的痛苦,让写作变成一种享受

    董一凡

    写作

    LeetCode 153. Find Minimum in Rotated Sorted Array

    隔壁小王

    算法

    1分钟理解M2M和IoT概念

    老任物联网杂谈

    物联网 M2M IoT

    中年危机,我们如何面对?

    石云升

    Flink 作为现代数据仓库的统一引擎:Hive 集成生产就绪!

    Apache Flink

    大数据 flink 流计算 实时计算 大数据处理

    Linux初学-01

    Flychen

    我们迫切需要块状时间

    Neco.W

    效率 时间分配 时间管理 工作效率 提升效率

    职场发展的思考

    子不语

    生涯规划 职业规划

    源码分析shared_ptr实现

    helloworld

    c c++ C#

    从草根到百万年薪C/C++程序员的二十年风雨之路

    C语言技术网-码农有道

    c++ 编程语言 C语言

    新人怎么寻求解决问题的方法

    波波

    编程 职场 新人

    游戏夜读 | 有哪几种游戏玩家?

    game1night

    IT培训机构那些不得不说的事儿

    C语言技术网-码农有道

    IT培训机构

    断章取义,不一样的C/C++语言的学习策略

    C语言技术网-码农有道

    C/C++

    从2009到2020,世界编程语言排行榜分析

    C语言技术网-码农有道

    编程语言

    new[]和delete[]为何要配对使用?

    helloworld

    c c++ C#

    MyBatis 3 XML配置

    杨家昌

    mybatis mybatis-config.xml XML配置 配置

    Study Go: From Zero to Hero

    Study Go: From Zero to Hero

    声网首席科学家钟声:如何解决 RTE 高质量传输挑战?-InfoQ