实时远程医学影像产品对图像传输的失真、卡顿、延时的要求尤为严苛。在LiveVideoStackCon2019深圳大会上,华大智造音视频技术专家 黄翠萍详细了介绍如何在现有网络保障实时远程医学影像的服务质量及在网络方面所做的优化。
文 / 黄翠萍
整理 / LiveVideoStack
1
产品介绍
华大影像团队成立的意义:通过集成机器人技术、实时远程控制技术及超声影像技术,解决偏远地区、基层医疗机构缺少超声医生、以及现有医生超负荷工作的现状;打破传统超声诊疗方式的局限,克服时空的障碍,改善医疗资源分布不均衡的现状;使全民平等的享受优质的医疗服务。
2
面临挑战
在远程医疗视频方面的挑战主要有三方面:失真、卡顿、延时。
失真:医生最关注远程超声视频能否保证医生诊断准确,0误诊
卡顿:超声影像为动态实时,出现卡顿,会导致医生需要反复确认,降低检查效率
延时:医生通过操作远程机械臂进行超声检查,手法对应超声视频同步要求高
为了应对挑战,首要任务是分析产品产生失真、卡顿、延时的原因是什么?
失真主要由以下三个模块产生:
发送端:数据采集、前处理、视频编码压缩产生失真;
网络侧:丢包导致信息丢失及发送端为了缓解网络拥塞主动降码率产生失真;
接收端:视频数据不全解码残帧产生失真。
卡顿主要由三部分产生,人眼最高捕获帧率为30帧每秒,当帧间间隔分布不均、渲染帧率过低,人会感知卡顿。
发送端:如果发送端发送的帧率偏低,例如通讯软件的帧率一般在15帧每秒,帧率的流畅性不符合医学要求;
网络端:弱网延时过大、或视频帧丢失,会产生冥想卡顿;
接收端:如果帧率为30帧每秒的帧率可以稳定的情况下,不会感觉明显卡顿,但是如果帧率不稳定,忽高忽低情况下,用户就会感知卡顿,会降低用户体验。
根据ITU-T G.114国际标准规定,端到端的延时控制在200毫秒以内时,则用户体验良好,整体感知不到明显延时,对于我们产品的延时主要有两大类:固有延时和网络延时。
系统固有延时:仅仅指端的采集、视频编解码的延时;
网络延时:不仅仅指网络传输的延时,会增加抗网络丢包和抖动的手段,例如NACK、FEC本身引入的缓存所导致的延时,可以归类为网络延时。
根据通讯行业标准规定,网络质量分为良好、较差、恶劣三个等级,实际在互联网应用中发现,大多数网络并不满足如图所示行业标准规定。一般网络环路延时大概在70、80毫秒左右,丢包在8%左右,因此如果想要提供良好的远程服务,控制系统的固有延时和网络延时需要在200毫秒以内。
通过分析总结出4个模块内容可进行优化:
降低系统固有失真优化
降低系统固有延时优化
视频播放帧率平滑优化
网络抗丢包和抖动优化
3
应对措施
对于医生面对产品所产生的顾虑:是否会导致误诊?
使用体模方式把关超声视频质量,针对扫描不同的脏器器官购买了不同的体模,进行0失真验证;再增加psnr+ssim+vamf方式把关视频质量,以保证在任何情况下,在发送端发送0失真数据,完善把关方法后,就可以分析发送端到接收端中所有可优化的点,进而采取相应优化措施。结合网络质量动态优化编码算法,在高码率的情况下保证速度优先,低码率情况下保证质量优先,中等码率情况下均衡二者的关系。对于接收端,使用私有协议对视频报文、帧、帧间参考关系进行完整性判断,其中首先对RTP报文的完整性进行判断,如若不完整则使用HARQ进行重传修复,如若单帧不完整则采取丢帧操作等对应的操作,以保证接收端接受的信息无异常并且高质量及完整。
网络RTT延时大多在80毫秒左右,同时要考虑RTT对NACK的影响等,留给系统的固有延时非常有限。因此进行端到端分析引入延时的点有:
采集设备选型:视频采集帧率60fps。在医学实际应用中,很多情况要求采集帧率高,例如心脏科等。
数据传输优化:减少采集数据转换。视频采集可用MGP或YUV格式,针对不同情况,选用对视频传输最有利的格式。
编解码器优化:禁止编码B帧。
渲染性能优化:openGL渲染。
系统性能优化:热点函数优化、亲核设计。
经过优化的超声系统的固有延时控制在40-50毫秒左右。
如若没有经过任何缓存,直接播放情况下视频播放时间由:采集时间、编码延时、解码延时、渲染延时共同决定,对于以上几种延时情况较为稳定,而网络传输延时是影响视频能否平稳播放的主要因素,因此系统就需要根据网络延时情况配置合理的缓存时间,同时,接收端使用滤波算法,综合考虑传输大帧引起的延时、网络噪声引起的延时以及帧间间隔,计算合理的视频播放时间,平滑渲染帧率,以保证视频平稳播放。
冗余协议局限性及优化
常用的抗网络丢包方法有冗余、重传和SVC编码,但这三种方法各有优缺点。例如RFC 2198冗余协议的性价比低;XOR_FEC协议性价比略高,但恢复能力有限;RS_FEC冗余算法的恢复能力强,但合适的冗余度配置度较难。
常规算法:当前丢包率、丢包率加权平均值(恢复能力差)、窗口期最大丢包率(带宽利用率低)。
远程超声冗余度配置方法:卡尔曼+窗口期最大丢包率加权平均值,同时使用多帧FEC冗余机制和深度优化参数,根据视频帧率、RTT环路延时,动态调整FEC冗余帧数,以保证视频传输实时性。
重传协议局限性及优化
ACK重传:TCP常用,收到报文则进行ACK响应,其缺点是带宽利用率低,效率差
NACK重传:音视频领域常用,带宽利用率明显提升,其缺点是受RTT延时影响严重。在环路延时较大时,会引入系统延时高。
针对RTT延时对NACK的影响较严重的问题,针对不同情况提出三种应对策略:
RTT延时在50ms以下,适合使用ONLY NACK保护机制。即使用RTT/2作为是否进行丢包缓冲延时的判别标志;使用重传次数的RTT倍的时长作为是否进行多次重传延时的判别标志。
RTT延时在50-100ms之间,适合使用HARQ,以FEC数据恢复为主,NACK辅助。
RTT延时在100ms以上,则不适合使用NACK保护机制,否则用户延时感知明显。
时间可适编码局限性及优化
SVC时间可适性编码:通过改变帧间参考关系,降低丢一帧导致整个GOP都不可用的概率,但是增加了时间冗余度信息,导致编码后的码率上升。对于超声影像,帧间幅度的改变较小,但每增加一层Temporal Layer,实测码率会上浮10%。
低延时、低丢包网络下,仅使用NACK抗丢包保护。
高延时、高丢包网络下,仅使用SVC抗丢包保护。
其他情况,使用SVC+HARQ抗丢包保护,策略是,在SVC不同TL层,使用不同的FEC、NACK保护力度,重点保护TL0层,尽力保护其余层。
智能选路
由于NAT原因,很多网络不能丢P2P,需要租用服务器,但是网络中跨运营商之间易产生大量丢包,例如从移动切换到电信网络,丢包至少10%,因此需要租用多台BGP网络服务器。
对于多台BGP网络服务器的路径选择问题,使用心跳机制(目前所使用的方式)或使用RTX重传报文、FEC冗余报文实时探测网络RTT、丢包率等网络QOS,根据反馈,综合考虑负载均衡等因素,动态调整网络传输路径。
4
成果展示
如图是项目应用情况,经过若干优化工作后,目前远程超声项目可以在RTT延时100毫秒以内,网络丢包30%以内,实现0失真、0卡顿、低延时传输。
5
未来展望
华大智造是为了解决就医难而成立,未来有以下几方面的展望:
远程计移动超声诊断:借助5G网络,进一步将远程计移动超声覆盖更多有需要的地方;
医学影像云服务:综合5G+AI+云技术,为医生和患者提供更快捷、更准确的诊断体验。
通过不断技术更新,进而实现智慧医院整体方案和智慧医疗平台。
相关链接
Akamai Martin Horčička:最新网络优化技术及编程语言分析
Facebook:对比COPA 与CUBIC,BBR v1在拥塞控制及视频质量的表现
实时视频传输中的BBR拥塞控制
LiveVideoStackCon 2020
上海/北京/旧金山 讲师招募
2020年LiveVideoStackCon将持续迭代,LiveVideoStackCon将分别在上海(6月13-14日),北京(9月11-12日)和旧金山(11月)举行。欢迎将你的技术实践、踩坑与填坑经历、技术与商业创业的思考分享出来,独乐不如众乐。请将个人资料和话题信息邮件到 [email protected] 或点击【阅读原文】了解成为LiveVideoStackCon讲师的权益与义务,我们会在48小时内回复。