当车辆遇到紧急情况或自动驾驶无法识别的极端情况,车辆会进行识别并作出减速、刹停等相关反应,并由远程安全员进行接管。一般在远程接管时,会进行低速行驶(5-30km/h),待远程驾驶车辆脱困后再切换到正常速度行驶。而在远程接管过程中,保证远程画面的实时性与稳定性至关重要。其中,画面时延决定了远程安全员做出反应的速度,画面信息从现场传送到远程操控的屏幕上,需要经历摄像头采集、编码、网络传输、解码、渲染等环节,耗时越长,就会产生远程画面和一线车况的“时差”,后果不堪设想。此外,在公开路段的公网条件下,网络挑战大,一旦出现网络不稳定的情况,也会导致画面卡顿,影响安全员操作。
腾讯云5G远程操控解决方案基于经过20多年技术积累,以及腾讯会议、微信视频号等国民级产品的打磨的腾讯云实时音视频技术,并从实时性和稳定性等方面进行了优化升级, 落地Robotaxi商业化场景,在保障200ms端到端画面延时同时, 针对开放道路行驶中出现的单网信号盲区和弱带宽等情况,实现150ms视频卡顿率<0.1%,99%分位视频延迟<200ms, 并做到全程视频无明显肉眼感知卡顿,让远程安全员实时稳定掌握车辆一线情况,助力自动驾驶商业化加速落地。
为了达到这样的视频延迟和稳定性指标,其背后面临的技术挑战是非常大的。相比传统音视频通话,Robotaxi远程接管场景虽然也是1v1,但其视频路数往往会有6-8路,每路分辨率也基本在720P或1080P甚至更高。这样规模的像素量,无疑会增加整体处理延迟以及对网络带宽的要求。而需求却是要在这种情况下,进一步降低延迟,并在带宽更弱的网络条件下保障视频的稳定性。面对这样的矛盾,我们除了针对硬件性能进行了极限优化外,为了突破理论瓶颈,还引入了分辨率、多网等新的优化自由度。下面是一些具体分享。
全链路优化,打造极致低延迟
在实时性方面,针对相机采集、编码、链路传输、接收解码以及渲染等环节,进行全链路优化,相比基于CPU处理的RTC链路将画面延迟降低约100ms。
采集 图像变化 编码加速
图像变换和视频编码等处理,基于硬件芯片加速,往往可以缩短处理延迟,但是不同处理步骤中,芯片内存和CPU内存之间的转换又可能会造成一定耗时。为了实现最低的延迟处理,基于业界最常用的nvidia自动驾驶芯片平台,腾讯云音视频远控方案进行了完整的发送链路加速优化,使得处理过程中数据完全基于芯片内存进行,而不经过CPU内存。
相机数据采集阶段,放弃了最常用的MMAP采集,而是选用了DMA方式进行采集,减少了1次CPU拷贝,通过句柄将相机数据直接拷贝到芯片物理内存中。
在图像变换和视频编码阶段,复用了编码器的输入队列作为处理缓冲,采用循环使用的方式,进行图像变换和视频编码的处理,同时避免阻塞等待。
在编码输出时,通过MMAP的方式,将编码器输出的编码数据导出到CPU内存中,至此实现了这编码前的阶段数据不回落CPU内存,降低了处理延迟和CPU占用率。
发送和接收缓存优化
音视频发送和接收时,通常会引入缓存,来保证音视频传输的流畅性。比如发送阶段pacing处理和接收阶段的jitterbuffer。腾讯云音视频远控方案中,为了降低延迟,对缓存进行了优化。首先是pacing的处理,放弃了应用层的pacing,而转向利用发送端的网络模组中的缓存来平稳发送。在JitterBuffer的处理,引入动态的buffer调整算法,并强调了通过更快的网络估计和更平稳的自适应来保证传输流畅性,将帧间隔波动稳定在15ms以内。
解码 渲染 超分加速
类似于发送段,在接收端解码到渲染链路中,腾讯云音视频远控方案中也引入了全GPU内存的处理方式,让数据不经过CPU内存,尽量减少延迟。同时在图像格式变换、超分上采样等过程中,引入了one-stage的渲染管线处理方式,以进一步降低了图像格式变换和超分处理带来的延迟。
多视频流联合调度 实时超分
保障低带宽下视频QoS
稳定性方面,由于公开道路环境复杂,网络波动较大,易出现覆盖盲区,远控视频质量无法有效保障,是阻碍远程驾驶落地运营的一大痛点。腾讯云实时音视频在音视频码率自适应、HARQ丢包抵抗等传统抗弱网技术基础上,新引入多视频流qos优先级调度 动态实时超分等多项技术,在极低带宽的弱网环境下,也能通过分辨率和优先级调整,保障主要视频流的画质和稳定传输。
多流联合带宽估计
这里将每个视频流的接收间隔和丢包独立进行反馈,并在发送端进行联合带宽估计。由于每个视频流数据发送时在时间和大小上具有独立性,相比将所有视频流的包合并进行反馈,每个视频流独立反馈并联合估计可以更快地响应网络变化,并且能估计出更多的带宽。
码率 分辨率联合调节
由于硬件编码器本身的实现,对给定分辨率的视频进行编码时,码率上往往存在一个范围约束。当设置码率低于这个范围时,编码实际码率可能会不受设置码率影响或画质出现剧烈下降。为了让编码器能够更准确地响应设置码率,且避免画质的的异常下降,给出了动态分辨率和码率联合调节的策略。根据编码输出QP范围的变化,对编码的分辨率进行调整。
发送优先级调度
引入基于比例公平的发送优先级调度策略,提升主要路视频流的传输优先级,利于主要路视频流抢占到更多带宽。同时引入背压机制,当次要路视频流数据发送受到对应队列数据积压导致的背压时,会进一步降低次要路视频流的码率。
实时超分算法
为了降低动态分辨率引入的带来的分辨率下降对画质的影响,引入了发端降采样 收端超分的联合优化方案。考虑到延迟的重要性,通过硬件加速来实现降采样,并利用shader渲染来实现超分,可以做到<5ms的延迟增加。降采样和超分算法,以PSNR为目标进行调教,在2X倍数下与原图PSNR>32dB, 1.5X倍数下与原图PSNR>35dB。
多网络路径传输,实现“0”卡顿
开放道路行驶,网络往往会遇到弱覆盖区域,无法有效保障视频的传输。为了提升开放道路上视频的连续稳定性,需要引入多网络路径传输技术,可以让多个视频流在多个运营商网络上同时传输,并在发生弱网时及时切换,保障视频传输的稳定性。
传统的网络链路切换,一方面需要较长的检测时间,增加了切换的时长;另一方面切换时,可能会产生较大的网络波动引起视频卡顿。同时在双弱网场景下,很容易出现反复切换或切换失败导致视频卡住的情况。为了降低切换时的视频卡顿,提升双弱网情况下的传输效率,使用联合传输的方式,对多网的主副通道进行了前向纠错联合编码,通过调整前向纠错的冗余率以及打孔率平滑多网切换过程,实现接近0卡顿网络切换,并可应对双弱网场景,实现通过两个网络联合传输。
如果您想要进一步了解或使用腾讯云相关能力,欢迎扫描下方二维码添加音视频小姐姐微信,我们将安排产研同学专门跟进您的需求。
腾讯云音视频在音视频领域已有超过21年的技术积累,持续支持国内90%的音视频客户实现云上创新,独家具备腾讯云RT-ONE™全球网络,在此基础上,构建了业界最完整的 PaaS 产品家族,并通过腾讯云视立方 RT-Cube™ 提供All in One 的终端SDK,助力客户一键获取众多腾讯云音视频能力。腾讯云音视频为全真互联时代,提供坚实的数字化助力。