随着5G的落地和消费终端的不断升级,消费环节对视频画质的要求也越来越高,为了给消费者带来更清晰、更逼真和更具沉浸感的观感体验,对云端视频处理技术也提出了更高的要求。本次分享,华为云媒体处理服务研发负责人查勇 结合华为云在超高清视频转码领域的实践经验,详细介绍了云上使用AI技术提升视频视听体验的关键技术,以及如何助力行业实现音视频体验升级。
文 | 査勇
整理 | LiveVideoStack
公开课——査勇
大家晚上好,非常荣幸参加LiveVideoStack线上公开课。首先自我介绍下,我是查勇,来自华为云,是媒体处理服务的研发负责人。近10年我一直是在从事视频编解码产品的开发和架构设计工作,我本人是非常热爱媒体处理相关技术的研究的。
参与此次公开课分享的目的主要有两方面,一方面是想通过本次分享,为大家介绍华为云媒体处理服务在视频AI转码领域的一些技术实践;另一方面是想与更多专家交流,互相学习,以促进下一代视频转码技术的快速发展,助力行业实现音视频体验升级。
本次分享的主题包括三个部分:首先介绍超高清视频行业发展趋势,以及这些趋势为云转码带来的机遇和挑战;其次从技术层面分析一下,在超高清视频时代,通过云转码提升音视频体验的一些关键技术点;最后从华为云媒体处理服务自身的实践出发,详细介绍一下华为云如何使用AI转码技术来打造视频的超高清体验,希望能给大家带来一些收获和启发。
01/超高清视频行业发展的趋势
在大视频时代,随着5G、AI以及云技术的发展,超高清视频行业迎来了一个高速发展期。我们可以看到,在生产端,4K/8K超高清制播平台正在加快建设中,超高清电视的制播模式也在不断创新,当前超高清内容的生产能力得到了极大提升。在消费端,随着芯片技术的发展,4K/8K电视和沉浸式终端的逐渐普及,消费端体验超高清内容的媒介也在不断丰富。
在传输环节,5G高带宽、低时延的特点,使得超高清内容更容易获取,互动性场景的体验也越来越好。在处理环节,借助云端的强大算力和AI技术,我们可以实现超高清内容的极致压缩和画质增强,在提升播放体验的同时,可以极大地降低分发和制作的成本。另外借助边缘云计算的技术和能力也可以进一步地降低超高清视频的制作和分发成本。
在应用场景上,我们可以看到超高清视频也逐步地在向直播、VR、多视角、自由视角等领域发展,应用范围正在逐步扩展。
总的来说,超高清视频行业的基础设施正在逐步完善,应用场景也在逐步走向成熟。
大家都知道一个产业的快速发展,是和生态建设的成熟度息息相关的。下面我们一起看一下超高清视频产业在标准生态建设以及政策方面的情况。
首先在组织层面,中国已经成立了超高清产业联盟。在标准方面,超高清视频产业发展的白皮书和与之关联的软硬件诸多协议也都相继出台,这些都进一步促进了超高清视频产业的健康有序发展。在政策方面,14省市发布了超高清视频产业发展的行动计划,为超高清产业消费体验升级,行业创新提供指导意见。
在生态和政策的双重驱动下,当前多地已经启动了超高清项目实验基地,如成都的超高清基地、青岛高清视频基地、广州花果山基地以及马栏山内容基地等,超高清产业实现进一步向纵深发展。
根据权威机构预测,2022年中国超高清视频产业总值将达到4万亿元,超高清用户总数也将达到2亿。我们可以看到,当前4K/8K电视已经成为电视机厂商的旗舰标配,消费者对视频画质的关注度也越来越高,HDR、高帧率、宽色域、高色深,这些指标都成为终端性能的一个新卖点。
另外随着芯片技术的发展,沉浸式终端的种类也越来越多,消费者越来越追求高逼真、更加接近现实的视频体验,我们正面临一个视频消费体验升级的时代。
超高清行业的高速发展以及消费体验的升级,为云端视频处理也带来了更多的机会点:一是当前超高清内容的供给跟不上硬件发展的速度,为了让市场上非超高清视频内容带来超高清的体验,我们可以使用云端视频处理的技术来解决;二是视频在采集、制作和压缩环节都会引入噪声或者失真,我们可以借助云端视频处理的能力来降低引入专业设备和人工处理的成本。
但很多时候机遇与挑战是并存的,通过云端视频处理来提升音视频体验,也面临着几方面的挑战:一方面,市场上存量的视频内容,例如老旧影片和电视剧,局限于当时的采集设备和制作技术,画质是参差不齐的,涉及画质修复的种类和场景非常多;另一方面,影响视频体验的客观指标非常多,例如低分辨率、噪声、模糊、低帧率、色彩灰暗、暗亮斑等等,当前无法使用单一技术来完成所有场景的体验提升,这对技术的积累要求非常高。
02/云转码打造视频超高清体验的关键技术点
那么云端视频处理需要具备哪些关键技术点来提升视频的画质呢?要具备超高清视频的体验,从一些低质量视频的表现出发我们可以总结出影响体验的一些关键特征,比如低分辨率、噪声、模糊、划痕、闪烁、低帧率、色彩灰暗等等。对应的我们在云端转码的系统,就可以针对这些低质视频的特征,使用相应的技术来改善低质视频的画质,主要技术包括超分、降噪、修复、插帧、SDR2HDR。
2.1 超分算法
首先来看一下超分,也叫空间分辨率增强。超分本质上是指在单位空间内生成更多的像素,增大像素的密度,来增强图像细节,提高视频的清晰度。
在深度学习网络应用于超分之前,提升分辨率大多使用传统的插值算法。如比较常用的双线性插值,双三次插值,lanczos插值等算法,我们在转码系统中经常会用到这些算法做下采样。如上图(左)是一个双三次插值的示例,该算法利用的是待采样点周围16个点的灰度值做三次差值,再通过选取适当的插值基函数来拟合数据。
从算法的描述上我们能看出,传统的插值算法一般是要预定义一个插值基函数,也叫映射函数,考虑到计算量,我们的映射函数一般不会太复杂,因此传统算法在这种场景的泛化能力是比较差的。另外因为大多是帧内插值,我们插入的值与前后帧是无时间关联性的,与邻近像素点空间关联性也相对较少,因此效果一般不会太好。
当前要追求超分的效果,大家越来越倾向于选择基于深度学习的超分算法。如图(右)是一个简单的超分网络 — SRCNN,大家都很熟悉这个网络模型。随着SRCNN的出现,我们真正地进入到了深度学习的超分时代,基本上每年都有一些新的研究方向出现,超分神经网络也变得越来越强大。相比于传统的超分算法,基于神经网络的超分映射函数是多层非线性且可以学习的,插入的值在时间和空间维度能够关联更多的周边像素,细节上的体现更加精确,在超高清领域应用也越来越广泛。
2.2 视频插帧
除了空间分辨率会影响画质,时间分辨率也就是帧率对人的主观体验影响也很大。我们知道现在终端设备更新换代的速度很快,支持的分辨率从480p、720p到1080p,再到现在的4K和8K。同样的,终端支持的帧率也从25fps到60fps再到120fps甚至更高,高刷新率现在也是终端的一个重要卖点。
除了依赖采集的硬件来提高帧率,目前使用软件的方法也逐步得到应用。大家都体验过, 在一些剧烈的运动场景下,低帧率会带来明显的卡顿感,影响人的视觉感受。视频插帧算法,就是在原始的视频帧之间合成不存在的帧来提高画面的流畅度,简单来说就是提高帧率。基于插帧算法的研究非常多,例如传统的基于光流的插帧算法。
传统算法有什么缺点呢,现实画面中存在一些大的物体快速运动或者遮挡的场景,基于传统的光流插帧难以解决这种场景带来的问题,因此插帧的质量在这些场景无法得到改善。想要提升效果的话,我们就回归到了基于AI的思路上面。
目前AI插帧的思路方法一般都是预训练生成光流估计模型,算法实现上首先输入两帧,计算帧间的光流和提取特征金字塔,然后把warpping之后的图、特征金字塔和原始图像一起送入图像合成网络,生成插帧之后的图像。目前这个方向上相关的论文也非常多,大家感兴趣的可以去研究一下。
2.3 视频降噪技术
接下来我们看一下视频降噪技术,大家应该都体验过视频中的噪声,我们经常看的一些老片中的雪花噪声和闪烁噪声是很明显的,给人带来的画质体验是非常差的。我们知道在视频采集到送显的一个完整的周期内,涉及到的各个阶段都会引入不同种类的噪声,最终都会反馈到消费环节的播放体验中。正因为噪声引入的来源是多样且广泛的,所以视频降噪是非常必要的。
通过降噪技术,我们可以在保持原始信息完整性的同时,又能够去除无用的一些信息。当前各种图像降噪算法非常多,比如基于空域像素特征去噪和变换域去噪的传统降噪算法。传统的降噪算法在降噪的同时往往会丢失图像的一些细节或者边缘信息,而且一般来说我们需要设置降噪参数,效果受参数的影响也比较大,因此在通用场景上难以广泛应用。
另一个快速发展的方向是基于神经网络的自适应降噪算法,算法可以根据输入图像噪声的级别,自适应地调节降噪的强度,图像的细节或边缘信息损失也会相对较小,能够最大程度的保留原始信息。
基于神经网络的自适应降噪算法,同样也有自身的缺点。比如由于训练的素材有限,场景无法全覆盖,一些场景会超出网络的学习能力,当然这也是采用深度学习算法遇到的普遍问题。因为噪声来源的场景会更广泛,所以对算法的考验也更大。
2.4 视频修复技术
视频修复分为狭义的修复和广义的修复,狭义的修复是指针对视频中存在的一些问题,比如划痕、暗亮斑、闪烁等问题的针对性修复。广义的修复是在修复视频瑕疵的同时,对原视频做一些增强。广义的修复应用范围会更广一些,主要应用在老旧影片、老旧电视剧、一些低质的UGC视频等。
在AI智能修复老片技术出现以前,经典老片修复通常是由人工逐帧修复的,效率低,许多大片修复的时间以年为单位。如果使用AI的智能修复技术框架,就可以基于海量的样本去训练和自动学习,可以大幅的提升老片修复的质量和效率。人工无法做到的修复效果,借助当前的AI技术都可以轻松完成。
尽管目前可以使用AI技术修复老片,但修复经典老片仍然不是一件容易的事情,最大的难度是在保留老片的艺术风格和美感的同时还要处理不同的问题和瑕疵。
2.5 SDR2HDR
另外一个关键技术点,我们看一下近几年发展较快的一项技术,SDR 2HDR 。HDR由于其相比SDR具有更高的亮度范围、更广的色彩范围和更深的位深而被大家所熟知,对应带来的是视频具有更丰富的细节,更宽广的色域和更自然的色彩过渡。我们可以看到上图中SDR和HDR的对比,在亮度、色彩饱和度以及对比度上,能明显地感受到HDR的图片带来的视觉效果更好一些。另外,当前HDR领域也出现了不同的标准,从图表中可以看到这些标准在不同维度的差异。
03/华为云在视频AI转码领域的技术实践
下面我们一起来看一下,在超高清视频时代,华为云是如何使用AI技术来提升视频画质并改善播放体验的。
针对视频体验提升,华为云推出了智享超清技术,它是一套完整的视频增强和修复的解决方案,主要的技术包括我们上文提到的超分、倍帧,SDR2HDR、HDRVivid、2D转3D以及画质修复等。华为云智享超清技术是完全基于华为自研AI算法,采用多任务AI增强方式,通过智能修复和智能增强技术来打造视频的超高清体验,能够更好地服务直播、点播和互动文娱等场景。
3.1 华为云智享超清技术总体架构
上图是华为云智享超清技术的总体架构:基于AI Deep Learning的一个多任务画质增强。前面讲到单一任务是很难解决画质的所有问题的,我们综合分析后采用了图中的pipeline架构,每一个增强模块相当于一个算法插件,可以自由组合,使用起来也相对灵活。在处理之前我们会做一些基本的预分析,比如说噪声强度分析、画面亮度分析、ROI区域检测等等,这些分析结果会用于指导后续模块的智能化处理。
从图中可以看出,画质增强的整体解决方案主要包括:基础层的修复,时域、空域的清晰度增强,亮度和颜色增强,3D增强等。在实际的处理中也可以做一些选择性的修复,选择性修复主要包括去划痕、去亮斑、去闪烁等。在算法设计上我们会更强调自适应能力,也就是在面对不同场景的画质损失时,视频增强技术在盲修复时要有很强的泛化能力。
在实际应用过程中,这些模块并不都是顺序处理的,因为这样时间花费很大,为了提高效率,我们也会将多个视频增强的任务进行联合优化处理。
3.2 面向混合失真的AI画质修复
众所周知,真实的视频源会包含多种混合失真,比如说噪声、压缩失真、模糊等等,并且这些失真程度会差异很大。如果仅考虑分辨率因素,假设我们对一个视频进行超分,超分之后可能反而会引起瑕疵的放大,难以带来显著的视觉效果改善。
华为云智享超清技术通过构建多任务的混合失真修复网络,来实现更优的主观效果。我们使用了很多的步骤来模拟失真的视频,通过多种途径构建生成更多用于画质修复的样本,比如加上高斯噪声,随机加上一些运动模糊,加上一些彩色噪声,降采样来降低分辨率,压缩时使用很高的压缩率来产生压缩噪声等。构建了这样的一种数据集之后,我们通过混合失真的多任务视频增强算法,自适应地去估计各种失真,这样就可以增强算法对不同质量视频的泛化能力。
当然这里也会面临许多挑战,比如在失真估计模块中如何估计噪声强度,因为不同图像的噪声不同,同一图像的不同区域噪声也不同。我们提出了AI自适应的降噪算法,对图片不同区域主观视觉的噪声差异进行评估。首先会对噪声明显区域进行精准的定位,然后综合考虑时域和空域的噪声强度差异,进行不同区域的噪声强度估计。
还有一个很大的挑战就是噪声的模拟,上面提到的方法模拟出的噪声与真实噪声还是有差异的。我们使用了AI网络例如CycleGAN来模拟真实的噪声,这样训练后我们就可以在画面自然度和清晰度等维度实现一个更优的主观效果。
3.3 基于语义特征的视频超分
我们再来看一下华为基于语义特征的视频超分技术。对于画质的空间分辨率增强,我们提出了基于语义特征的视频超分,即先根据语义对图像进行分割,然后分区域进行处理,最后再对增强后的结果进行融合。例如针对大部分电影、电视剧中人眼关注较强的一些区域,像字幕、人脸、纹理等,基于人眼主观的特点,使用单独的算法模块对这些关注区域进行重点处理,确保人眼关注区域可以达到比较好的增强效果,从多个局部最优解获得全局最优解。
这种基于语义特征的视频超分,一般可以获得比盲超分更好的增强效果,因为它们具有较强的先验,比如字幕增强,字幕和每个字大概是什么样子是确定的;人脸增强,人脸都包含眼睛、嘴、鼻子、耳朵。我们可以收集很多字幕、纹理的数据库,有了这种先验,增强的效果会得到很大的提升。
3.4 基于耦合光流网络的视频插帧
大家应该都有过这种体验,普通20fps或者30fps的视频在手机上看很流畅,一旦放到大屏上,运动被放大,卡顿就会比较明显,所以我们需要对时域进行增强,提高视频的帧率。
针对视频插帧的任务,华为云提出了一种耦合光流网络模型,这种光流网络模型可以准确地估计出前后两帧之间的光流,在一些困难的场景,比如说小物体快速运动、遮挡等场景,光流估计都比较准确。如图是一个例子,左边是目前比较先进的视频插帧算法RIFE估计的光流,右边是华为云自研算法估计的光流。大家可以不关注这些颜色代表的含义,仅从形状上来看,可以看出右边的光流模型估计出的光流会更细腻一些,细节会更丰富一些。
3.5 基于场景自适应的SDR2HDR技术
大家都清楚从SDR到HDR转换的时候会面临许多挑战,比如亮场景和暗场景,我们要使用不同的方案来实现场景的自适应,实现最佳的亮度动态扩展;再比如说SDR中的绿色在转换成HDR时,有时会出现绿色失真的问题;人脸的颜色可能因为背景色导致转换后偏红,这种情况需要做到色彩扩展的场景自适应,在扩展色彩时控制色偏;再比如有些噪声或者失真,在转换成HDR时被放大了,或者更容易被感知到了,这种情况下,我们就应该控制亮度提升导致的噪声和失真。
华为云SDR2HDR的方案是基于AI技术来实现场景自适应的转换,举个例子:对于一个待处理的原视频,首先会进行一个场景识别,分类出比如人脸、风景等类别,进行场景分类后,就可以实现自适应场景的亮度扩展和自适应场景的色彩扩展,对转制过程中各场景的Tone Mapping算法进行优化,来抑制8比特扩展到10比特后出现的失真。
在实际应用时,我们会对大量转换后的视频进行主观评测,会针对不同场景转换后视频出现的一些问题做针对性调优,这样做之后,算法当前在影视剧和电视剧场景都有非常好的效果。
3.6 基于CUVA HDR标准的场景自适应SDR2HDR技术
上面我们提到的华为云SDR2HDR技术转换的是HDR10,前面的介绍中也列举了HDR技术的不同标准。华为公司作为主要贡献方深度参与了CUVA HDR技术标准的制定。HDR10采用的是静态的色调映射,会有显示设备兼容性的问题,比如原场景的亮度是1000nit,大于显示屏500nit的最大亮度值,使用静态的映射曲线映射后,视频在500nit显示屏上显示时就容易出现过曝的问题,很多细节就消失了。
华为云当前基于CUVA HDR标准的 SDR2HDR技术采用的是动态元数据方案,会适应不同的亮度屏幕来达到最佳的显示效果,能够确保同一内容在不同亮度屏上实现最优的体验,避免产生色彩变暗、过曝等问题。我们前面提到的场景自适应技术同样也适用在CUVA HDR转换中,这种多技术结合的方案,能够带来更好的设备兼容性和场景适应性。
04/总结
以上就是华为云媒体处理服务打造视频超高清体验的几个关键技术。影响视频体验的指标是很多的,但提升体验的方向是基本明确的,虽然这里面有很多的困难和技术层面的挑战,但相信我们技术人能够直面挑战,用技术上的创新给用户带来极致的体验。超高清视频的时代已然到来,要打造极致的体验,云上技术创新只是其中重要的一环,唯有端管云协同服务、协同创新,才能给消费者带来更真实的视频感官享受。
本次分享全部内容到此结束,谢谢大家。
Q&A
Q:HDRVivid标准的优势和前景在哪里?
HDR Vivid标准,是在现有HDR基础上,通过增加动态元数据,为不同亮度显示终端提供更加准确的动态范围映射方式,可以最大限度地还原HDR内容原有艺术效果。因为采用的是动态元数据的方案,就可以有效解决SDR转换成HDR后,在不同终端上显示可能带来的一些问题,比如暗场景产生色彩过暗,亮场景产生过曝的问题。HDR Vivid标准的呈现效果明显优于国际主流的静态元数据HDR方案,在亮度适配和终端兼容性方面表现尤为出色。作为中国超高清视频产业联盟(CUVA)发布的中国首个高动态范围视频标准,提供了端到端媒体系统标准,并且采取了友好的知识产权政策,更容易推广和产业化部署。
Q:在视频增强和修复这块,有没有遇到一些比较有挑战的点,具体是怎么解决的?
采用AI的技术遇到的问题和挑战有时候会比传统的算法更多,在视频增强和修复这块,最大的难题是如何做到场景自适应。今天我们讲解中提到最多的也是场景自适应的技术,我们讲神经网络的泛化能力,要做到全场景覆盖是很难的。受限于训练数据总有一些场景效果是不满足的,依赖我们对特殊场景做针对性的优化。
Q:视频插帧,1080p分辨率视频,速度怎么样?
华为云的视频插帧算法也在不断地做性能优化,目前视频插帧结合超分已经在1080p分辨率视频实现商用,端到端性能还是可以满足客户诉求的。针对这些AI增强算法我们使用了GPU加速,对于不同的算法我们也会通过调整或者简化模型结构来降低算法复杂度。
Q:华为云官网哪个服务开放了智享超清能力,可以试用吗?
华为云媒体处理服务官网有智享超清能力的介绍和效果示例的,大家可以上我们的官网去看一下。智享超清只是我们云转码其中的一个子能力,我们华为云媒体处理服务对外开放了丰富的媒体处理能力,比如标准转码、高清低码、截图、水印、加密等等。
Q:基于光流的插帧算法目前咱们有哪些应用吗?实际效果如何?
基于光流的插帧算法,目前我们已经应用到超高清转制场景了,华为云媒体处理服务的智享超清特性里面就包含了基于AI的插帧能力,对于30fps及以内的普通帧率高清影片,可以生成60fps甚至120fps的高帧率视频,让普通影片在大屏上也能流畅播放。大家手机上如果有华为视频APP,可以观看AiMax专区的影片,在大屏上播放效果特别好。
Q:请问下,FFmpeg本身也有一些视频修复算法,华为云使用了FFmpeg的AI修复算法吗?
FFmpeg基于AI框架的能力,比如超分、去雨等,给了我们基于FFmpeg的框架如何去集成深度学习算法的一个指导,主要是一个技术牵引,这些FFmpeg开放出来的示例距离商用还是有一定的GAP的。我们有专业的AI算法团队,可以在技术上做持续的积累。
Q:AR视频源比如高清4K、8K,对这些高分辨率素材处理有什么加速建议吗?
针对4K、8K的超高清片源,首先在编解码上使用CPU已经有了一定的性能瓶颈,我们会使用硬件编码卡来做加速;其次在AI增强上,我们会使用GPU来加速,但不是所有的算法都使用GPU,其中一部分也使用了 CPU的能力,比如说噪声强度检测、亮度检测等模块,因为其本身对性能消耗是不大的,我们就可以基于CPU去处理。对于算法是基于CPU还是GPU处理,可以根据算法的复杂度来决定。
Q:华为云的转码耗时比现状是多少,在转多格式的情况下,怎么提升耗时比呢?
目前我们转码分为标准转码和高清低码,在标准转码和高清低码上都是支持一入多出的。
在做长视频转码的时候,我们会做并行转码,先对长视频进行切片,然后进行分布式并行转码,最后做转码后分片的合并。华为云转码提供的是倍速转码模式,在长视频场景下这种切转合的模式都能提供很高的转码效率。
Q:字幕增强更多是构造字幕数据集吗?模型上有没有针对文字进行特殊的设计?
字幕数据集达到一定的覆盖即可,也不是越多效果就会越好。我们会利用华为已经获得版权的一些电视剧和电影中的实际字幕文本来做训练集。因为字幕中的文字本身具有一定的先验,而且文字结构信息强,我们在模型上会针对文字结构和loss函数进行针对性的设计。
扫描图中二维码了解大会更多信息