视频处理平台的核心功能是视频转码,而转码压缩的过程势必会造成视频质量的损失。腾讯音视频实验室技术专家高孟平在LiveVideoStackCon 线上交流分享中根据腾讯丽影平台的开发实践经验,详细介绍了如何利用深度学习在提升视频转码压缩效率的同时提供更高的人眼视觉质量。在LiveVideoStackCon 2019上海 音视频技术大会中,高孟平博士还将介绍无参考质量评估在视频增强的进展与应用。
文 / 高孟平
整理 / LiveVideoStack
直播回放
https://www2.tutormeetplus.com/v2/render/playback?mode=playback&token=0febd6ef28094bb0b9d7859a2e6c4f68
大家好,我是来自腾讯音视频实验室的高孟平。接下来我将围绕深度学习在视频分析与处理方面的实践,为大家分享我在腾讯音视频实验室开发腾讯丽影这一视频处理平台时收获到的经验教训,希望能够为大家带来帮助。
视频处理平台的核心功能是视频转码,大家理解的视频转码可能是用于缩小文件体积。实际上随着体积的缩小,视频的品质也会越来越差,转码造成的质量损失似乎难以避免。腾讯丽影是一个以人眼视觉为标准的视频处理平台,致力于实现通过转码缩小视频文件体积的同时提升画面的主观视觉质量。依据传统的编解码思路,从信号处理的角度出发,通过衡量转码前后的视频画面相似程度来判断转码质量,其局限性在于只能用于判断经过转码处理后视频画面的劣化程度,而无法准确判断其主观视觉质量因为适当视频修复增强所带来的提升。
上图展示的是某短视频App的视频片段, 以及经过丽影平台再转码后所得到的画面,可以看到丽影平台处理后的视频文件体积相较于某App缩小一半以上,同时人眼视觉质量更加出色。这里的第一个关键点在于如何衡量人眼视觉质量高低并将人眼视觉特性用于优化视频处理平台的转码过程,使经过转码处理的视频所呈现的画面更加符合人眼观看习惯;第二个关键点则是有哪些成熟的工具可以帮助在视频处理与人眼视觉之间建立联系。我将借本次分享为大家介绍腾讯丽影如何利用深度学习的方法实现将人眼喜好精准定位至我们的视频处理系统,以实现缩小视频文件体积的同时提升画面主观视觉质量的压缩与转码处理。
1. 问题描述
上图展示了我们对于此命题的解构:图中的绿色圆形代表带宽资源,其面积越大代表带宽资源越充裕;白色代表人眼所能感知的信息总量,面积越大代表人眼可从视频画面中接收越多信息,同时也意味着视频的主观视觉质量越高。我们将现实环境中肉眼直接看到的被采集画面作为主观视觉质量最好的基准Golden Oracle也就是图中左侧虚线绿色圆形,如果以使用手机采集为例,经过采集设备的第一次捕捉、转制与压缩过程,视频所保留的可供人眼捕捉到的画面信息为图中黑实线绿色圆形内的白色三角区域(Src);随后视频数据上传云端转码后再分发,其势必会造成画质的进一步折损,我们将经过传输后视频所保留的可供人眼捕捉到的画面信息表示为图右侧黑实线绿色圆形内的白色正方形区域(Enc)。
从H.264到H.265甚至到VVC也就是大家熟悉的H.266,压缩算法的升级本质上是在带宽限制相同的基础上进一步提升人眼所能从画面中获取到的信息总量,也就是在控制绿色圆形面积不变的情况下尽可能增大白色区域面积,将白色正方形“升级”为白色五边形乃至白色六边形,最后变成一个完全覆盖绿色区域的白色圆形。
如果我们将采集到的视频通过有限的带宽资源上传至云端并使用更出色的编码器处理视频数据,虽然云端更好的计算资源可以保留比前一种方案更多的视觉信息,但此方案在编码速度上容易受到网络环境的制约,如何改善此系统才能实现图中Src正方形对Enc三角形在主观视觉质量上的超越?
我们可以通过提升手机硬件水平,使用光学性能更好的镜头组件,算法更佳出色的ISP来保留画面的更多细节;将数据传输至云端后使用经过优化的编码器即可有效改善相同带宽人眼所能感知到的视觉信息量。
借助上述方案我们可以将绿色圆形中的白色区域由之前的正方形扩展至五边形甚至六边形,但即便如此我们也没有很好的办法解决网络传输过程中数据损失,尤其是视频上传时由于带宽资源的限制我们必须对视频进行压缩方可上传,而在一些情况下也许即将上传的视频文件本身就经过一次甚至多次相似的压缩,这就需要我们通过一些方法还原修复此视频源文件,增强其画质之后再传输至云端,从而使视频在云端能够保留更多可供人眼感知的信息。
以一个从网页端获取的,已被用户端编码器处理过的视频作为源文件,借助深度学习技术,“丽影”平台如何从已被编解码压缩过程破坏的源视频文件中还原出更多的人眼视觉信息?如何经过云端处理实现在同样的视频带宽限制条件之下视频呈现更多的视觉细节?这也是我们本次分享需要着重探讨的内容。
视频画面中总是包含许多纷繁复杂的视觉元素,而使用深度学习技术是为了提升人眼主观视觉质量,让观众观看画面时感觉画面“漂亮”。这里需要一个用以表示画面呈现的第一时间人眼最为关注视觉重点区域的高级人眼视觉语义信号,以上图为例,人眼看到上图画面的第一时间会把视觉重点落在人脸也就是红色框表示区域,而画面其它区域例如绿色框表示区域则为非视觉重点区域。我们对画面进行修复处理以及编码时应当特别关注视觉重点区域。
我们获取到的几乎99%的视频都因转码压缩而受到不同程度的破坏,这就是为什么我们需要对视频画面进行修复。通过在视觉重点区域使用更多的码率,我们可以保留更多画面信息已提升用户观看视频的主观体验。
针对非视觉重点区域的画面修复,丽影平台的主要思路是去除部分人眼不关注的纹理细节。以上图为例,左侧为原画而右侧为经过丽影平台处理后的画面,可以看到右侧画面相对于经过压缩而失真的左侧画面在画质上有了显著提升,模特衣服上的文字边缘锐度更高细节更加丰富。之前我们提到,由于存在带宽限制,对视频画面进行全局视觉质量增强显然是不现实的,因此我们需要在处理前明确画面中哪些区域是视觉重点并把优化资源分配在这些视觉重点区域,修复视频画面的同时保留视觉重点区域细节;而像非视觉重点区域,例如右侧画面中衣服上的一些纹理细节则会被抹去,仅保留供人眼关注的一些结构性信息,这种适当的质量损失可以提高带宽资源利用效率。当视频开始播放,观众的视觉重点会落在画面中人物的眼睛附近区域,从图中我们可以看到右侧画面中人物的眼睛更亮,细节边缘更加锐利;与此同时右侧画面中衣服表面纹理信息的部分缺失几乎无法被观众察觉,这就是为什么借助人眼视觉感知规律,丽影平台可实现在减小视频体积的同时提升画面主观视觉质量。
通过上述介绍想必大家对丽影平台的优化思路有了大致理解,那么人眼视觉规律究竟是什么?有哪些商用编码器已经在使用人眼视觉技术?深度学习在过去几年的发展为我们提供了更多更好的高级语义信息,我们也在尝试将这些高级语义信息商用化以满足降低视频压缩体积提升主观视觉质量的需求。
2. 感知视频压缩
2.1 感知算法发展
视频的编码与压缩过程本身就是基于人眼视觉技术,将人眼无法感知的一些高频信号去除,从而在维持画面质量基本不变的条件下降低视频文件体积。
除了无法感知一些低频与高频信号,人眼还存在“遮盖效应”。如H264、H265或者其它商用开源编码器都会考虑到遮盖效应,其中包括纹理遮盖与运动遮盖。简单来说就是当视频画面中的元素处于剧烈运动状态,例如镜头高速运动时画面会出现运动模糊,此时我们适当降低码率,所造成的画面质量减损也是人眼无法感知出来的。需要强调的是,这种运动遮盖效应基于非常复杂的纹理区域,通过人眼感知原理减少不被视觉系统关注的区域的码率以降低数据量可明显减少传输链路与服务器端的数据传输与运算压力。
同样,也有评估视频压缩的标准如衡量信号损失的PSNR。需要注意的是,不同人眼在不同环境下感知到的信号量减少是不同的,这就使得SSIM应运而生,而包括接下来的VMAF实际上都是通过算法尽可能多贴近人的感官系统,将重点识别人类感官对于视觉元素结构化破坏所带来的主观感受,并提高敏感对象的权重。
2.2 感知算法升级
有哪些基于人眼感知原理的深度学习应用可以帮助我们提升画面质量呢?除了之前提到的评估压缩质量之外,还有上图展示的High Level Masking。所有视频都存在屏宽的限制,视频内容生产者需要在有限画面中尽可能向观众呈现最关键内容,而带宽资源受限更是无法被忽视的问题。这就需要深度学习针对人眼重点关注区域进行识别:如上图展示的摩托车片段,观众的视觉重点无疑会落在运动当中的摩托车上,那么深度学习的作用就是学习画面中人眼重点关注元素的自身特性以实现对人眼关注区的精准识别,并将相关信息传输至编码器从而让编码器具有编码权重分配的依据,从而能够将更多的编码资源科学投入人眼最为关注的画面区域以提升人眼主观视觉体验。不同的视频其视觉重点区域也会不同,对深度学习的训练因而至关重要。
2.3 显著性检测
具体来说,首先我们搭建了一个34层的ResNet模型,并让其学习如何为画面标注人眼视觉重点区域;每次训练让机器观看一段视频,并告知机器那些区域是人眼重点关注的。标记视觉重点区域的方法有使用眼动仪器测量或人工标注,其中前者使用更为高效。随着深度学习在画面质量领域运用愈发广泛,包括自适应编码等人眼视觉技术也得到了长足的发展。
2.4 最佳码率确定
上图展示了用户观看视频的满意度与码率之间的关系,横坐标代表码率,纵坐标代表用户满意度。其中虚线圆圈标记的位置就是最佳码率点,低于此码率就会造成用户满意度的急速下滑,高于此点则会造成带宽资源的浪费。每一个进行视频编码研究工作的开发者都希望尽可能高效地使用有限的带宽资源,关键在于编码器如何基于人眼视觉实现对用户观看视频满意度也就是最佳码率点的判断;除了上述命题,带宽限制也是不得不面对的问题,如果码率被限制在图中左边蓝色虚线(2Mb/s)范围之内该如何妥善解决?常见的处理方法是借助信号处理的思路,使用滤波器或者降噪器抹去对人眼感知来说无关痛痒的噪声从而降低信号总量以在带宽受限的条件下实现良好画面质量。
3. 基于视觉感知技术的媒体处理平台——丽影
3.1 机器学习与人眼感知
目前腾讯丽影平台已经有多个基于机器学习的服务与功能上线运行,接下来我将逐一介绍这些已投入商用的技术。
机器学习是视频编码贴近人眼视觉的最佳捷径,通过人工标注,机器学习可以记录并模拟人类喜好从而还原视觉重点区域,那么衡量画面中一部分元素是否为视觉重点区域的标准是什么?
3.2 理解,处理,压缩,评估
这里我们使用一种无参考的质量衡量标准并将视觉处理系统分为以下四大板块:理解、处理、编码、评估。其中基于深度学习技术的部分我们用红色字体重点标示,观察上图大家不难发现其中的理解、处理与评估大量使用了深度学习技术。
深度学习在人眼关注区识别与场景检测方面的应用已经十分成熟,例如在一般的短视频应用中,深度学习可以根据画面中元素的不同划分视频场景为卡通、游戏、人类、室内外、运动、新闻节目等。这些基于场景识别得到的视频分类数据可以为编码器提供更加准确的编码参照,例如分别在动态环境下编码器使用针对动态特别优化的编码参数。
“精彩视频”功能是基于时间或地理维度系统整理用户的优秀作品并集中呈现,深度学习需要检测、分析并判断视频当中的哪些片段是用户较为满意的,并借助视频剪辑,封面制作,捕捉gif等保留保留着一部分精彩画面供用户预览,深度学习在此方面的运用可以说已经炉火纯青。
我们在将深度学习用于视频处理上同样下了很大精力,去压缩失真的主要思路就是让深度学习模型分析失真前与失真后的视频,学习如何恢复由压缩造成的画面减损。由于每年的视频压缩与质量提升算法都在更新,对于深度学习的训练也时刻与时俱进。
尽管深度学习的应用前景十分广阔,但图中仍有一些传统技术是深度学习无法替代的,这也是我们在未来继续探索的方向。
视频系统如果仅包含编解码处理那么我们就可以使用端到端的全参考视频质量评价方法PSNR或SSIM来衡量人眼对编解码处理结果视频的主观感受,前提是视频系统里面不能带有任何的和画面修复与画质增强相关的处理流程。我们需要的是一套无参考视频质量评价,举例来说就是通过让深度学习识别分析调整单一参数(如锐度)时人眼对画面的主观感受变化,使得模型学习并掌握无参考视频质量评价的能力。
3.3 Artifact Reduction
上图展示的两个画面,左侧为原画经过压缩后的画面而右侧为经过去压缩失真算法处理后得到的画面。仔细观察可以看到左侧画面在天花板处存在由压缩造成的环状纹理,我们将其称为banding artifact。而经过去压缩失真算法的处理得到的右侧画面,banding artifact 得到了明显改善。一般来说,如果我们获取到被破坏的视频源后不使用去压缩失真算法处理,画面中的线条、纹理等细节会被明显破坏。
使用Artifact Reduction模型可以实现在保留画面大部分细节的同时抹除一部分块效应。但Artifact Reduction在一些情况下会将文理细节区错认为压缩失真并将这些我们并不希望去除的文理细节抹去。
3.4 Non-Reference Quality Metric
Non-Reference Quality Metric则是基于一个定义锐度、清晰度等指标为最优值的高质量参考标准产生一系列训练集,通过训练让深度学习明白无论指标相对于参考标准提升还是降低都是对视觉质量的单调破坏;同时将人工标记纳入训练集以表现人对于不同画质增强强度的主观喜好,从而帮助我们微调整个模型。
3.5 Percetual Technologies-Picture Restoration
上图展示了超分辨率对画质的影响,原始图片经过超分辨率处理可以实现放大以后依旧保持画面的清晰与锐利,这也是丽影平台希望借助测技术实现的。
4. 成就与挑战
上面介绍的这些丽影平台的技术不仅仅停留在理论层面,实际上其中许多都已经上线测试或商用化,那么这些技术商用化之后为我们带来了哪些实实在在的收益呢?
从直观感受上来说,经过丽影平台的处理,我们可以将一个118.3MB的源视频压缩至18.5MB,同时还可以实现压缩之后视频画面的主观视觉感受要优于源视频,例如在天空、水波纹等细节上都有了显著提升。
从客观数据上来说,丽影平台可节省30%带宽资源,同时有70%的用户认为观看经由丽影平台压缩的视频画面,主观视觉质量更加出色。
尽管丽影平台可为画面带来明显改善,但摆在我们面前的挑战仍十分严峻。首先需要关注的就是无参考质量评价这一评判视频增强处理结果优劣的重要标准。全参考的画质评测实现起来并不困难,但如果将评测算法延伸到应用更广泛的无参考模型则还有许多困难。除此之外,深度学习技术的运用也存在几个问题,首先就是一帧一帧的视频画面处理会造成时域上的不连续与处理速度上的限制;另外一旦深度学习模型确定就很难在压缩失真的强度上进行调整,我们需要将深度学习与传统技术有机融合并做到压缩失真的强度可控;接下来我们希望在手机端实现超分辨率、精彩视频等功能。这种将功能集成在客户端的方案远比云端更加实用,关键的是节省了数据上传下载的带宽资源占用;最后,降低各式深度学习算法的复杂度也是一项关键挑战。
点击【阅读原文】或扫描图中二维码了解更多LiveVideoStackCon 2019 上海 音视频技术大会 日程信息。