端云上的“音视频 +”:与 AI 擦出了怎样的火花?
数字经济席卷各个行业,编解码、RTC 等音视频技术和云渲染技术在短视频、游戏、数字孪生、VR/AR 等新型领域得到广泛应用。以泛娱乐社交类短视频应用为例,几乎所有功能都离不开音视频、云渲染技术。
围绕这一内容,主题为“云无界、端无边”的 2022 OGeek 技术峰会特别设置“端云一体化,视听新体验”主题专场,并于 2022 年 10 月 29 日在 InfoQ 视频号进行直播。
值得一提的是,“OGeek Day”是由 OPPO 数智工程事业部主办的行业技术沙龙品牌,旨在为技术爱好者搭建一个技术交流和分享的开放平台。沙龙主要围绕“科技为人、以善天下”的品牌使命,聚焦于为智能终端提供安全高效的数据、算力、算法、云服务方面的前沿技术,打造技术互动的行业生态,探索技术在行业应用的实践、突破及未来发展方向。
而在本次的“端云一体化,视听新体验”主题专场中,OPPO 实时音视频架构师李雪松、声网视频算法工程师郑林儒、OPPO 实时音视频架构师董华三位技术大牛带来了许多干货分享,围绕 RTC、云渲染及音视频 + 技术在应用场景下的实践与开发者们展开了讨论。
谈到实时音视频技术,一定离不开 ORTC 这个主题。近年来,AI 技术的发展为 ORTC 带来了新的活力与可能性。在本次 OGeek 大会中,OPPO 实时音频架构师李雪松就“AI 与 ORTC 之间的关系与融合”展开了讨论。他讲到:
“ORTC 是一个实时音视频平台,是负责实时音视频传输的管道。ORTC 的三大核心要素分别是音频、视频和网络传输。对于这三大要素,AI 都可以参与进来起到能力提升的效果。”
首先,聊到了音频。音视频通话过程中经常会遇到背景说话、键盘音、环境音,而 AI 基于大量的语调分析,结合视频场景,可以运用深度学习技术将人声与噪音分离,能够有效抑制环境中的各种噪音。深度学习还可以把啸叫噪声与纯净语音混合作为训练样本,最终训练出“啸叫模型”,利用这种模型来进一步抑制整个传输过程中的啸叫。在回声消除阶段,还可以应用一些 AI 的网络模型,如长短记忆模型、卷积神经网络模型来建模,利用波形重构和质量评估,最终有效地消除回声。
其次,又聊到了视频。视频前处理主要包括磨皮、美白、暗光增强甚至人脸贴纸等特效。磨皮的主要方法包括高反差保留算法、保边滤波算法,处理过程就是把原始的视频帧进行保边滤波,再进行高斯模糊运算,结合皮肤区域检测进行图像融合叠加,最终对图像进行锐化,输出美颜后的视频帧,从而达到美颜的效果。这些前处理算法已经很成熟了,效率较高,性能功耗要求较低,所以大部分应用在端侧。
再者,聊到了“视频和网络传输”。内容感知编码是 AI 技术对视频的另一大增强技术。它主要基于人眼的感知特征,通过 AI 进行实时目标跟踪的变化来预测最终的编解码参数,最终对人眼感兴趣的区域进行低压缩编码,对于非感兴趣的区域做高压缩编码,从而在节约带宽的同时又不牺牲编码图像质量。使用该技术后,视频码率可以减少 90% 以上,效果非常明显。另一种名为“中心平凹视频编码”的技术也是应用了人眼的感知特征,在中心视力区域范围内关注的内容作为优先编码,周边的区域提升压缩率,这种技术在 3D、VR 场景应用比较广泛。
AI 在视频中的另一大中应用是背景建模。其原理是在聚焦区域抠图,在聚焦区域外模糊处理,实现背景虚化效果。通过背景内容的提取,可以让背景内容在整个传输过程中固定为长期参考帧,修复花屏及卡顿现象。
AI 在 ORTC 中还可以应用到视频增强上。视频出现过暗、过曝甚至是色彩黯淡现象时,基于卷积神经网络、深度神经网络以及循环神经网络等深度学习技术,能够从分辨率、帧率的纬度对视频进行修复、增强和重建,从而在视频的亮度和对比度、饱和度方面取得增强效果。
AI 视频超分是应用广泛的技术。所谓视频超分就是将模糊、分辨率较低的图像经过 AI 运算变成高分辨率清晰图像的过程。AI 对低分辨率视频通过特征提取、特征融合以及重建采样,恢复并补充丢失的信息,最终重建成高分辨率图像、视频。
另外,李雪松在演讲过程中还做了国内外技术对比。谷歌最近推出了 WaveNetEQ 项目,是一个改进版的 PLC 系统,主要用于语音合成。网络传输中不可避免有丢包,音频丢包也需要丢包补偿算法来恢复,这里的补偿算法就是 PLC,而 WaveNetEQ 就是利用自回归网络和调节网络来恢复丢包恢复,提升音频质量。
国内则出现了一些基于神经网络的自适应及拥塞控制的开源算法。网络传输过程中不可避免会由于网络抖动、拥塞造成网络不平滑。基于这种问题业界提出了一些网络的拥塞控制策略及自适应传输算法,能够很好地控制网络丢包、拥塞,实现更平滑的发送。
AI 可以帮助 ORTC 解决很多问题,反过来 ORTC 也可以赋能 AI,让 AI 更好地落地。在实践中,AI 端侧算力有着很大的瓶颈和局限,面临很多的挑战。为了让 AI 更好地发挥作用,赋能工业生产,ORTC 就可以成为很好的解决通道。ORTC 以其低延时、高保真的特性,让端侧算法很好地在云端大展身手。
李雪松介绍到 OPPO 最近提出的一种云端 AI 处理架构,就是 ORTC 服务于 AI 的一个解决方案—— AIFilter。AIFilter 可以对原始音频流、视频流进行云端 AI 处理,输出智能流,方便用户分析以及应用。OPPO 充分利用了分布式集群和 GPU 并行处理能力,为客户提供低延时、高并发的优秀 AI 解决方案。
据李雪松介绍,与 ORTC 结合之后,AI 自然语言处理、语音分析处理等技术可以轻松落地,云端远程实时语音转录、同步翻译以及实时变声对话机器人陆续落地实践。ORTC 结合 AI 的面部识别、心率检测、面部表情分析,可以在云端远程对客户进行身份认证及活体检测。AI 引入的微表情分析、情感分析能力,结合动作捕捉、情绪面部特征捕捉,可以在云端形成 3D 数字人,构造元宇宙的诸多应用场景。
李雪松表示,公司正在探索的另一个热门领域是远程医疗。以远程问诊为例,医生可以借助一个普通的单目摄像头对病人进行远程实时心率测量,或借助用户的远程听诊器进行远程诊听,同时借助 ORTC 平台及 IoT 监控设备进行医生和病人的双向实时互动。
总体而言,ORTC 与 AI 技术相互促进,相互发展,能够给各行各业提供很好的解决方案。
QoE,亦即体验质量,是实时通信中衡量视频传输质量的主要指标。在本专场中,声网视频算法工程师郑林儒为开发者介绍了通过 QoE 网络建模方法评估视频质量的方案。
在实时视频通信中,影响体验的主要因素分为媒体质量和互动体验。其中影响音视频质量的主要是视频质量、音频质量以及两者交互的音画同步率。影响音视频质量的指标有画质、音质、流畅度等,而互动体验主要是有延时影响。总体来说,不同场景中不同因素的影响权重有所区别,比如课堂就比直播更注重延时的影响。
一个端到端的 QoE 指标可以提供相对于 PSIMR、SSR 等参数更贴合人类主观印象的画质指标,基于这个指标可以让编码器选择最优的编码参数,在不影响用户感知画面的情况下节省码率,也可以作为 ABR 算法的参考指标。为此,声网开发了一套 QoE 端到端评估体系。
声网首先建立一个画质主观评估数据库,通过内部视频软件收集数据进行处理。之后通过打分软件,按照 ITU 推荐的标准进行主观评估,得到每个视频的 MOS。对于每个视频序列至少有 20 位评估人员参与打分,以保证数据清洗后的有效人数。数据清洗分两种方案,一是通过计算每个样本的 95% 执行区间,选择执行区间小于一定阈值的视频作为打分一致性最高的视频,筛选掉了对这些视频打分偏差较大的参与者。二是计算每个人与整体的打分相关性,排除相关性较低的参与者。
声网通过设置锚点发现不同的设备 PPI 对画质评估影响较大,像素密度较高的屏幕给出的分数也相对较高。为避免长时间单调标注过程中产生疲劳而导致数据失真,每个批次尽量差异化视频内容,并在画质层面最大化覆盖评分区间,每个评估人员每次打分的时长不会超过 30 分钟。
为了在视频失真类型以及视频特征上最大化多样性,声网考虑了画面失真和时域失真两个维度。画面失真可能因为视频采集时聚焦不准导致模糊,也可能因为背光或光照不均匀出现过暗或过曝。时域相关的失真一般表现为画面剧烈抖动及视频帧率变化。(从下图)可以看到,用于打分的每个批次的视频都有着多样化的视频特征。
根据前人研究和声网的实验发现,同一个视频序列在手机上播放时,半屏播放相对于全屏播放有 MOS 偏移,大多数情况下半屏播放评估的 MOS 会高于全屏 MOS,这说明了视频缩放的影响。随着屏幕尺寸的提升,不同分辨率视频 MOS 均有下降,分辨率越小 MOS 下降越快。视频帧率提升时观众主观体验会提升,但大部分视频在帧率上升到一定程度后,对 MOS 的提升就非常有限,而部分视频则提升较大。这与视频的画面有很大关系,比如运动比较剧烈时,就需要更高的帧率支持。
图:QoE- 视频画质客观评估框架
获得数据后就可以开始建模。目前深度学习的主流方法有端到端与非端到端两种。由于视频分辨率与帧数不同,所以要采样到统一大小进行端到端训练;对非端到端方法,要首先通过一个易训练的网络提取图像特征,对于视频特征进行回归训练拟合 MOS。
影响视频画质的不仅是空域特征,时域失真也有影响。一段视频出现画质下降,主观体验也会立即下降。当这段视频画质提升时,观看者由于对画质下降留有印象,所以实际体验不会随着画质提高而立即提高,而是缓慢提升,这就是滞后效应。对其进行建模时,对画质下降现象可以取 TI 时刻的前 n 秒的客观画质的指标最小值作为这个时刻的 MOS,缓慢提升需要对 TI 时刻后 n 秒中客观指标比较高的一个值赋低的权重,对后 n 秒的指标进行升序排列,用高斯分布加权,最终每个时刻的平均作为最后的 MOS 预测结果。
此外,行内人都知道,深度学习算法落地的一大问题是运算量与性能的均衡。为了在减少模型参数和运算量的同时保持甚至提高性能,业内的一些小模型设计给声网提供了思路。于是,经过学习和改进优化,声网总结出了模型的四个设计原则:
相同的输入输出,通道数可以最小化内存访问代价 MAC;
过多的分组卷积会增加 MAC;
每个分支上的碎片化操作会降低并行度;
Channel Shuffle 的元素级操作运算量虽然比较低,但是也会带来 MAC。
基于上述原则,声网的模型版本做了相应的优化,最终在准确率、运算量和最重要的推理速度上达到了较好的平衡。通过上述模型加速方法,声网设计了 AGORA-VQA 画质评估工具。评测显示,该模型与业内大模型表现基本一致,但参数量和运算量远远低于大模型。
目前这一 QoE 指标体系还在内部打磨中,后续会开放给开发者和用户。声网未来还要进一步完善端到端指标,包括增加适配场景,增加流畅度、延迟和音频 MOS 等,并更好地平衡模型在不同分辨率下的运算量。
在音视频应用场景中,传统上基于端侧的视频渲染技术在遇到 AR 虚拟人、多镜头合成等场景时容易出现算力瓶颈,降低用户体验。为此,云渲染技术应运而生。OPPO 在探索 AR 应用的过程中,发现云渲染技术可以很好地解决此类场景中遇到的问题,可以为未来的元宇宙等领域打下基础。在“端云一体化,视听新体验”专场的最后,OPPO 高级后端工程师董华的分享主要聚焦 OPPO 在云渲染技术方面的探索与实践。他讲到:
OPPO 的第一代云渲染技术基于英伟达推出的 Cloud XR 云渲染架构。它的基本架构是基于 GPU 的虚拟化,在云端渲染内容并串流到各个终端。相对于终端渲染模式,它可以提供更高的画质,对终端要求较低。但这一架构的网络抗抖动和低延时策略相对有限,所以弱网情况下流畅度不佳。ORTC 赋能云渲染,实现低延时的音视频流和信令交互,进一步提升 QOE(网络体验质量)。
图:云渲染 +ORTC(第二代)
OPPO 的第二代方案是将第一代 GPU 虚拟化技术和 ORTC 进行整合衍生而成的,其服务端和云端渲染基于 OPPO 的全球混合云服务,其网络则基于 ORTC 实现低延时、抗抖动传输。终端侧基于 RTK 进行流控制。第二代方案的应用场景主要有 VR、云游戏、3D 软件设计等。
第三代方案打造了云异步渲染能力,从而降低 VR 设备的云渲染延迟。视频编码部分也从 GPU 转移到了编码板卡以节约 GPU 资源,提升质量和效率。OPPO 还在第三代方案中尝试在云端结合 AI 创作个性化内容并提供增强效果,例如场景物体识别等。
在云渲染平台研发过程中,主要使用的关键技术包括:基于混合云的云部署、边缘计算、精准调度、ORTC 延时优化、5G、AI 超分等。以下为具体解析:
云部署能力基于 GPU 虚拟化技术,辅以容器弹性伸缩能力,从而充分利用服务端资源,结合虚拟引擎生产高质量内容。
边缘计算方面需要进行链路分析。链路分析分为几个方面:首先是云端,涉及逻辑计算、内容的渲染、编码和数据发送,产生小于 30 毫秒的延迟。第二是网络,涉及网络链路、边缘计算节点分布、调度。下面的解码端会产生缓冲或抖动导致的延迟。为降低网络延迟,OPPO 基于自有混合云覆盖全国大部分区域的网络节点,经过精准调度实现用户到云渲染节点的最优链路。OPPO 还使用 5G 网络切片,针对不同场景搭载不同业务,避免多场景的相互影响,显著优化网络延迟。
OPPO 还对 ORTC 的抗弱网和低延迟技术做了优化,避免产生卡顿、马赛克等问题。编码层面,OPPO 引入视觉感知编码、分层编码等技术提升编码效率,降低网络压力。
图:端云异步渲染 OPPO 实现了端云异步渲染技术,在云端进行基础渲染,本地基于 VR 设备的动作和云端下发的当前帧进行帧预测插帧,从而显著降低延迟,增强 VR 设备的体验。
目前 OPPO 的云渲染平台已经在数字虚拟主播、云游戏等场景中得到了应用,未来还将开拓直播、互动云游戏、数字孪生、云电脑等场景。OPPO 也希望能与业界共同探索云渲染技术,加快云渲染的落地部署进程。
在 Web 2.0 时代迎来爆发的音视频技术,如今正在借云计算与 AI 的东风焕发新的光彩。本专场的嘉宾共同传达了一个讯息,那就是音视频技术将在未来为用户带来更加缤纷的体验,创造更多精彩无限的应用场景。行业正在向着这一方向持续努力,通过一系列技术创新为音视频领域注入更多活力。
OPPO 实时音频架构师李雪松:关于技术突破,基于 DCCRN 模型,通过反卷积、反傅里叶变换及帧缓冲机制,构建语音降噪流式处理方案,并对模型在前端处理、频域子带划分、后处理等多个方面进行优化,改进后的算法在有效降噪的同时对音质的保留更好。关于下一步演进方向,优化模型提升其环境自适应的能力;融合视频图像 AI 处理辅助语音降噪,提升噪音识别的准确率。
OPPO 高级后端工程师董华:云渲染的云服务器都是基于云端容器化进行服务的搭建和部署,基于动态扩容实现根据业务量需求进行弹性伸缩,CPU、内存、硬盘是根据不同的业务需求进行容器化分配,GPU 进行切片实现 GPU 虚拟化,企业带宽分配则是根据业务本身流量分配的规律进行成本估算,来决策按流量计费 / 按带宽计费 / 共享带宽包。
OPPO 高级后端工程师董华:云手机目前是基于 ARM 虚拟化技术(或者其他架构虚拟化)实现云端容器化管理,提供云端安卓移动应用运行平台,实现云端渲染,控制指令和音视频流通过 RTC 低延迟传输实现数据交互和音视频串流,端测可以通过电脑、平板、手机等无束缚终端进行音视频串流数据的解码和渲染以及控制指令的实现。
你也「在看」吗? 👇
微信扫码关注该文公众号作者