关于云计算:将渲染计算搬到云端开启低成本强交互沉浸式体验

49次阅读

共计 4609 个字符,预计需要花费 12 分钟才能阅读完成。

云渲染能够解放本地计算需要,这意味着生产力的大幅晋升。

云渲染的基本原理是将 3D 渲染利用部署到云端,接管本地的控制指令发送到云端,云端启动游戏引擎并进行画面渲染,编码成视频流传输到本地。

不难看出,云渲染技术的外围在于将 计算搬到云端 ,对渲染出的画面进行 流化的传输。而过程中渲染画面的抓取、编码、传输、显示等流程被称为串流。

串流是云渲染业务用户体验的外围,串流延时、画质、卡顿等都会间接影响到用户体验。

云渲染串流技术框架次要分为两局部:云端串流引擎 串流客户端

云端串流引擎:在云端 GPU 上,响应客户端发送过去的控制指令,启动渲染利用并进行串流视频的解决与发送。引擎往下适配各种 OS 和硬件,往上对接调度和业务零碎。

串流客户端:串流客户端相似一个播放器,进行串流视频的接管和编码,同时发送控制指令来操作云端渲染引擎。云端串流引擎和串流客户端通常是一对一的。

基于云渲染串流技术可能大幅度弱化本地 GPU 渲染利用压力,将简单资源处理过程迁徙至云端进行,本地计算需要进化为一个播放器。

01 云渲染串流的三大技术挑战

云渲染的外围技术指标与挑战次要有以下三方面:延时 画质与晦涩度 老本(包含 GPU 计算成本和传输带宽老本)。

首先,延时是云渲染串流技术体验的根底,超低延时的需要则带来了微小的技术挑战。云渲染串流过程中的延时次要分为两方面:

端到端的延时:音视频通话 250ms 以下延时曾经难度很大,对于云渲染串流技术而言,想要将端到端延时管制在 100ms 内更是难上加难。

Motion to Photo 的延时:比方在 VR 云游戏场景下,应用头盔进行头部转动动作时,画面上的延时称作 Motion to Photo 的延时,为保障用户体验须要将该延时管制在 20ms 以内。

对于 画质和晦涩度 来说,云渲染须要输入视频流,画质与晦涩度作为用户直观的体验,其技术带来的挑战次要在以下三方面:

1. 面临简单网络环境与不稳固的带宽,是否保障画面清晰度与晦涩度;

2. 画质、码率、计算成本三角关系的均衡;

3. 技术先进性和兼容性的均衡,如:更先进的编码技术 H265 尽管可能晋升画质,但其解码性能和兼容性如何保障?

在老本方面,目前来看,云游戏、云渲染正在蓬勃发展,但离实现商业化盈利依然路途遥远。首先,云渲染 GPU 资源存在 一对一独占资源 的特点,单用户耗费的计算资源较高。其次,云游戏存在显著的 业务顶峰 ,通常集中在晚间,其余闲时资源如何利用成为了一大问题。最初,如前文提到,云渲染对 画质和帧率 有较高要求,如何在保障用户体验的同时升高每个渲染过程的资源耗费。

02 多维度优化云渲染策略

延时优化

下图对全链路延时进行拆解,其中如指令传输、音视频流控 &QoS 等环节的延时稳定较小,优化工作次要针对 传输、编解码 的延时进行。

传输延时优化

因为云渲染服务与理间隔来缩小延时,基于高笼罩的 ENS 边缘节点集群进行就近解决与传输,通过调度将工作下发至离用户最近的 GPU 节点进行解决与串流工作。

其次能够通过 传输协定上的优化 来缩小延时。取代传统的 RTMP、HLS 协定,转向采纳 RTC 协定进行传输,同时针对云渲染的场景特点来制订 QoS 策略,如带宽预计、拥塞管制等来实现优化成果。

编 / 解码延时优化

影响编码延时的次要因素是 帧级的线程缓存、lookahead 缓存、B 帧。优化编解码延时的外围思路是“进一帧,编一帧,出一帧”,不进行任何缓存,用 slice thread 代替 frame threads,敞开 lookahead 与敞开 B 帧(在 HEVC 规范下,可采纳 GPB 编码方式,将一般 B 帧用低延时 B 帧进行代替,既能晋升画质又能升高延时)。

画质与晦涩度优化

画质与晦涩度出现的关系如同跷跷板,为了保障用户体验往往须要在两者之间进行均衡。

在云渲染场景下,编码须要与网络进行联动,通过实现网络自适应传输与编码来优化晦涩度:

带宽预计:依据网络状况动静调整编码器码率等参数;

拥塞管制:采纳 BBR 或是 GCC 进行拥塞管制,如被动丢帧。BBR 策略收敛更快,通常更适宜云游戏场景;

丢包重传:如前文所述云渲染采取就近传输方式,能够依据这个特点实现疾速重传策略;

抗 I 帧风暴:因为 I 帧占用带宽较大,在 I 帧过多的状况下对于清晰度与晦涩度造成较大影响;

管制 I 帧数量和大小

视频帧的类型分为 I 帧、P 帧、B 帧,其中 I 帧大小远大于 P 帧与 B 帧,I 帧密集容易引起卡顿,Intra refresh 策略可能无效解决此类问题。

通过将 I 帧拆分为多个 I slice 并按程序平铺到间断的帧中,无效管制 I 帧的梳理。呈现丢帧后可顺次排序组合复原出残缺的一帧。

VBR+VBV 码率控制策略

CBR 码控策略能够使得码率安稳,保障晦涩度。但思考到云游戏场景画面静止激烈,因而固定码率会造成局部帧画质较差的问题。须要在画质与晦涩度间获得均衡,举荐采纳 VBR 算法 +VBV 参数的形式管制码率稳定,使得码率可能在肯定范畴内实现“安稳”地稳定。

云端协同的 CodeC 抉择

在以后环境下,手机终端大多曾经反对 H265 解码,云端 GPU 也大多反对 H265 编码。如果云和端都反对 H265 解码,通过云与端的协商,在云端优先进行 H265 编码,可能在等同清晰度下使码率升高 20%~40%。

CPU+GPU 混合的窄带高清编码

独自应用 CPU 编码老本高、提早大;独自应用 GPU 编码灵活性差、画质差。可交融 CPU 与 GPU 编码能力,采纳 GPU 为主、CPU 为辅的 混合编码策略

阿里云窄带高清编码技术,通过视频加强解决和编码的联结优化,可能在码率雷同时显著晋升画质。或者使码率在升高 30%~60% 的状况下,视频画质依然持平甚至有所晋升。

但云渲染场景与一般的视频特点差异较大,且通常须要采纳硬件编码。须要思考如何在低延时、场景疾速切换、静止激烈的状况下优化 GPU 编码的画质与晦涩度。后文将联合三星堆云渲染场景,介绍阿里云在云游戏场景的 窄带高清 成果。

老本优化

解决根底体验问题后,老本问题成为云渲染、云游戏商业化面临的最为突出的挑战。

云渲染老本次要能够分为三条线:单任务理论 GPU 资源耗费,单机资源利用率,总资源池利用率。老本优化策略须要围绕如图所示的三条线开展。而在理论场景中云渲染老本优化还存在以下四方面的问题:

1. 单过程资源耗费大

2.CPU<-> GPU 内存拷贝效率低

3. 单机资源利用率低

4. 业务并发工夫集中

从以上四个角度登程,接下来将具体介绍如何实现 云渲染老本优化

单任务资源耗费优化

GPU 硬编码:GPU 渲染单元与编解码单元独立,在渲染的同时能够利用 GPU 进行编码工作,无效升高 CPU 耗费;

CPU<-> GPU memory zero copy:因为 CPU 与 GPU 的排列形式,解决图像帧的格局、内存的 layout 存在差别,因而须要构建全 GPU 解决的 pipeline,缩小 CPU 在过程中的参与度,可显著晋升性能,升高延时;

CUDA 减速:图像缩放 / 色彩空间转换等可用 CUDA 减速;

单机资源利用率 - 虚拟化与多开

当升高了单过程资源耗费后,通过采纳虚拟化与多开技术可能无效进步单机资源利用率,一张卡上同时运行多个渲染过程。实际上,GPU 的虚拟化技术为云游戏、云渲染的大规模商业化落地奠定了根底。

集群资源利用率 - 业务混跑

理论状况下,仅通过上诉两种办法仍然难以解决老本问题。实现业务混跑,进步集群资源利用率,是云游戏、云渲染技术真正实现普惠的要害。其外围在于利用不同的视频解决顶峰期间,对 GPU 集群进行分时复用。如在白天时段利用 GPU 集群实现离线 AI 解决工作,早晨 6~8 时进行直播转码解决工作,在 9~11 时进行云渲染、云游戏利用解决工作。基于业务的多样性,充分利用总 GPU 资源池,无效升高云渲染老本。所以视频云业务的多样性也是降低成本的重要劣势。

03 云渲染实际案例一键开启三星堆奇幻之旅

CCTV《三星堆奇幻之旅》 采纳了阿里云的大规模即时云渲染技术,将大型沉迷式体验须要的图形算力、存储需要放在云端,观众看到和交互的画面都是由云端即时渲染计算出来,从而让观众解脱本地硬件限度,仅通过一个 H5 页面,便可低成本地享受高质量的沉迷式体验。作为高热度、高并发的云渲染利用,该实际案例反对 5K 的并发,准备万路弹性,最终登上微博热搜 TOP 3,播种了 3300 万播放量。

这样热度和规模的流动,要保障每个用户的高体验,对技术上的要求和挑战都是微小的,阿里云构建了多个维度的技术体系来晋升用户体验。

阿里云视频云的GRTN(Global Realtime Transport Network)低延时网实现边缘传输,无效升高传输方面的延时。GRTN 是阿里云各个音视频通信业务方合力打造的传输网,反对 HTML5 的信令接入。GRTN 采纳层级网和对等网相结合的混合网络架构,媒体传输链路更短,全链路采纳延时更低的基于 UDP 的 RTC 协定,并利用深度定制的动静路由、传输管制、边缘计算、双向实时信令网等机制。视频云云考古机制是基于 GRTN 设计,可接入视频云直播、点播和 RTC 等业务,便于寰球实时传输,实现业务扩大。

RMS 云渲染引擎也为三星堆我的项目体验施展了十分重要的作用。RMS 负责渲染视频的采集、解决、编码和传输。RMS 的解决性能和延时、编码画质、QOS 的传输体验都间接影响三星堆我的项目的用户体验。

游戏 / 渲染引擎输入的图像帧个别都是显存中,如果采纳 CPU 软编或者 ASIC 异构编码的形式,会存在拷贝提早。因而 RMS 采纳 GPU 硬件解决为主、CPU 解决为辅的形式,达到视频帧 zero-copy 的极致提早体验,在满足画质、晦涩度需要的前提下,充沛升高性能耗费和计算成本。

同时,RMS 在 QOS 策略上也做了大量的优化。本次云考古面向的是全国各地的观众,为应答复杂多变的网络环境,咱们在 RTC 网络的传输 Qos 保障的根底上,对 Jitter Buffer/NetEQ/ 带宽预计 / 牢靠传输(丢包重传、乱序重组),以及 Qos 模块和编码模块的配合上做了专门的调整,包含智能策略组合、智能码控、丢帧逻辑和 FIR 解决等方面。同时,在 QOS 的码率调配上,咱们也做了大量优化,能够在保障抗弱网能力的同时,将无限的带宽更多地调配到编码器的码率上,晋升视频清晰度。

在视频编码算法方面,咱们利用 云渲染场景深度优化的窄带高清技术 来晋升清晰度。通过云端 GPU 与客户端 CPU 的联动,进行内容自适应的纹理和色调加强解决,无效晋升了视频画质,且算法的性能和老本都大幅升高,对全链路延时和客户端功耗的减少都达到能够疏忽的水平。而图像处理算法与编码算法的有机联合优化,可在保障画质的同时,显著升高了视频码率大小和码率稳定。

最终的成果出现如上图所示,左侧仅仅采纳 GPU 进行编码,色调绝对黯淡、文字绝对含糊,画面饱和度、对比度绝对较差;右侧通过咱们的 GPU+CPU 联结优化的窄带高清解决,在码率升高 35% 的状况下,VMAF 进步 10%,主观的画面纹理细节和色调成果也有晋升。

面向未来,云渲染串流技术倒退方向曾经清晰,一方面通过与 AR、VR、XR 进行联合,打造 沉迷式的云渲染体验。而其中要害的 20ms 以下的 Motion to Photo 延时,则是突出的技术挑战,能够思考采纳异步渲染的形式进行延时优化。

另一方面通过与虚构社交、音视频通话与直播进行联合,向 交互式、综合式 的利用方向倒退。云渲染串流与 AI 算法、直播技术、RTC 音视频通话技术的联合,是将来技术的演进方向。咱们的 RMS 云渲染引擎反对多种 AI 特效、直播旁路直播与 RTC 云合流,为将来云渲染的技术综合性要求打下了根底。

正文完
 0