如何选择视频处理关键技术并实现其最优组合?

本文由腾讯高级工程师李凯在LiveVideoStack线上分享中的演讲内容整理而成,在分享中,李凯详细介绍了如何分析、理解各项技术的边界条件,熟悉其适用场景,以实现多个视频增强技术点的组合最优化,取得最大收益。

文 / 李凯 整理 / LiveVideoStack 直播回放:

https://www2.tutormeetplus.com/v2/render/playback?mode=playback&token=ceca8d3282e74448ac486580a1b81ba4

大家好,我是李凯。在本次分享中我将与大家一起探索视频增强技术的边界,如何实现1+1+1>3的增强效果。

作为我较为擅长的领域,视频增强处理技术首先需要明确客户的需求所在也就是希望解决什么问题,这个问题是特定场景问题还是基于直播、点播、会议、视频聊天、转码、修复老旧视频或照片等一系列通用场景的普适性问题;同时我们还需要探索该选择什么样的技术解决这些问题,以及怎样的技术组合能够最优解决问题。

1. 基本分析

聚焦到应用场景问题之上,由于视频质量繁杂,业务需求广泛且存在硬件约束,如何精准高效识别视频增强的适用场景从而最大发挥其效能成为摆在我们面前的一项挑战;而技术本身也存在技术门槛、单点技术突破、多

技术点组合难以发挥最优解等问题,寻找到最有效的视频增强组合算法至关重要。

结合实际业务场景,其中有质量优异的超清视频,同样也有具备大噪点、抖动、低光照、低分辨率等缺陷的低质量视频。超清视频需要被有效压缩来减小体积以便于其在有限的网络带宽中传输与在用户设备中存储,同时视频压缩带来的质量减损也应被控制在可接受范围内;而低质量视频则需要在增强技术的辅助下进一步提升画质与观感以确保用户体验不会大打折扣——例如在尽可能多地保留大噪点或低光照视频画面细节的同时降低视频的噪声信号,或者准确判断抖动视频与小分辨率视频的改善策略并着手优化视频观看体验;除此之外,技术的效用也应当被尽可能实现。我们主要从以下两个方面思考技术选型:选择什么技术与如何组合技术。我不会在本次分享中与大家探讨某一个技术的作用或效果,而是探讨如何搭建技术架构确定技术组合以实现对每一项技术的最大化利用。也许其中的一些技术并非高深莫测,但多种技术恰到好处地组合可以达到事半功倍的效果。

我们期待通过基于上述技术构建一套完整的通用技术框架来实现对于视频或图片增强技术的灵活运用,尤其是在现有的视频或图片增强技术过于庞杂的背景之下。我们已知的有包括滤波,时域、单帧、空域降噪,色彩增强与UV增强、去抖动、过滤反射等在内的一系列相关技术点,如何根据业务类型与应用场景选择合适的技术组合来实现效益最大化成为摆在每一个企业面前的棘手问题,例如视频前处理服务于编码及主观感受,而视频后处理则仅服务于人的主观感受。关注点不同,技术选型的策略也有所不同。

期待达成什么样的目标对我们来说至关重要,例如我们需要实现处理后的视频清澈、干净从而适合编码高效压缩的目标。在产业界我们倾向于以产业标杆作为目标,而在学术界我们则是探索技术的边界,也就是尽可能实现技术的最优解与最大效用,并努力解决尽可能多的问题与覆盖更多的场景。

这就需要我们深入理解技术与应用场景,并且技尽其才。具体来说就是在技术边界限制下努力,让技术发挥最大的价值也就是寻找技术的边界;除此之外,每项技术都有其适用范围,我们更需要明确最适合某项技术的场景也就是在边界中寻找最优解;除了以上两点,基于对每项技术的深刻理解找寻其价值最大化的前提同样至关重要。

从解决实际问题出发,我们可以得出上图展示的视频增强处理流程。由于视频源处的视频质量参差不齐,视频源质量分析在这里就变得尤为重要。如果没有视频源分析得出视频有哪些地方亟需技术的改善,我们就无法获得技术选型的依据;视频源分析之后的关键步骤是求解最优技术路径也就是选择关键技术及最优组合,具体来说就是选取合适的关键技术解决目前视频所出现的问题;这里的选择不仅仅是一个技术,更多则是多个技术的排列组合,而多项技术的最优组合一定是经过大量实践探索证明最有效的解决方案;确定最优技术路径之后,我们便可以着手进行视频增强处理。

2. 视频源分析

首先我们具体探讨视频源分析。以高清低码场景为例,我们的目标是转码后的视频具有更加出色的质量与更小的文件体积。在处理实际客户需求时我们发现,让服务器具备根据不同客户上传的视频质量与内容对文件分类的能力十分必要,客户上传的文件可能是高清的美剧也可能是质量堪忧的小视频,尤其是其中的一些视频经过两次甚至多次转码、缩放等处理,其本身已不适合被转码,这就需要我们在开始正式的转码处理之前对视频质量有个大致的了解与分类。基于深度学习技术,那些由于多次编码而出现脏块效应等问题或者由于特殊拍摄场景而出现逆光照、抖动等问题的视频会被我们区分并单独归类。这里的分类并非精准分析,而是基于一定契合程度进行的文件分流。用于不同解决方案和其背后的关键技术也不尽相同。上图展示的流程基于图左下角展示的论文,针对画面的自身特点如低照度、噪声等添加相应的网络层从而实现对视频质量的有效预测。这里需要注意的是,所添加的神经网络一定是轻量级的,因为过于冗长的数据处理会对后续画面的预测造成影响;同时由于缩放会直接影响画面质量,对于那些分辨率较高的视频我们需要在预测视频质量之前对其进行裁剪处理而非缩放。

3. 选择关键技术及最优组合

完成视频源分析,接下来我们需要选择可有效提升画面质量的关键技术。在此之前,熟悉每项视频增强技术的边界也就是每项技术的使用前提条件尤为重要。

以锐化为例:由于会放大噪声,锐化不适用于拥有过多噪点和因多次编码而受到脏块效应影响的的视频画面;同时如果视频画面本身清晰度可以满足观看需求那么我们就不选择锐化从而防止画面纯净度受到影响;除此之外,由于其对比度增强的原理,锐化会在让画面清晰的同时让画面中物体出现黑、白边,同样会为视频观看体验带来不利影响。

那么,什么样的视频画面适合使用锐化技术呢?锐化技术适合那些较为清晰,画面噪点与脏块都不明显,距离良好观看体验一步之遥的视频画面。找到了锐化的这一前提条件与锐化的边界之后我们就可以发挥锐化的最大价值:比较清晰的视频无需锐化或仅需简单锐化,而噪点与脏块效应较为明显的视频则需先进行去噪与去脏处理再被合理锐化。在这里我们可以使用经过训练的神经网络判断最佳锐化程度,这也是一个我们正在探索的技术难点。

接下来是超分辨率:基于深度学习的超分辨率具有修复边缘的能力,也就是让画面当中的物体清晰自然地呈现在观众眼前。而超分辨率不适用于具有过多噪点或明显脏块效应以及过于模糊的视频,前者经过超分辨率处理会被进一步放大脏块效应,而后者由于边缘细节不足会造成事倍功半的效果,尤其是那些视频本身比较模糊而片源不足的视频,使用超分辨率处理后得出的画面质量远不如经过双边滤波或双线性差值等传统技术处理得到的画面。

去编码脏效应则需基于视频质量分析实现,也就是通过视频质量分析何种程度下的脏块效应达到去编码脏效应的要求。视频质量分析对于区分高频细节与高频脏,针对不同视频质量的脏块效应决定采取去脏处理的强度起到了至关重要的作用。有些视频画面具有很大的宽高,由此也出现明显的脏块效应。很多单增强技术面对这种大脏块都束手无策,此时我们可采用先缩小去脏再借助超分辨率技术恢复视频分辨率等方案实现去编码脏块的效果。

降噪同样至关重要,使用单帧或时域降噪的时机与强度都是我们进行技术选型之前必须了解的关键。

机器学习可以有效帮助我们选择关键技术,以上图为例:图中左侧原画中包含大量噪点,直接进行高强度锐化就会造成右侧画面般噪点增强的效果并出现黑边等极大影响观看体验的负效应。面对此问题的解决方案是在锐化之前先利用传统滤波、双面滤波、时域降噪等技术去除画面噪声,随后控制锐化强度在合适的范围内,从而极大改善画面质量。

而如果画面如上图这样具有明显的脏块效应,直接进行超分辨率处理就会将脏块问题进一步放大并让脏块更加明显。此时我们的解决方案是借助降噪与锐化处理降低块对画面的影响,而后再进行超分处理。

结束对于关键技术的选择,接下来我们需要关注如何将各种技术有机结合实现对技术的最大化利用。

4. 各技术的最优组合

以上图为例,图中视频画面,其分辨率不高的同时还包含明显的脏块效应。面对这样的画面我们自然而然会想到锐化、降噪、超分辨率、双边滤波、对比度优化等处理,如何组合这些技术呢?首先提升对比度本质上是提升画面明暗对比程度,提升对比度的同时也会让暗处的噪点更加明显;而通过我们之前的介绍,将超分辨率摆在第一个处理环节显然是不合理的。这里我们可以选择先对画面进行降噪处理、随后锐化画面并进行超分辨率处理;结束超分辨率之后再对视频进行降噪与锐化,相对于前面的几种方案,此方案可得到更高质量的视频画面。

要想得到和技术的最优组合,视频质量分析是最为关键的一环。系统会对于某种质量的视频建立数据标签,确定应用与训练需要遵循的原则并得出视频退化的原因从而尽可能在建立数据标签时准确模拟视频质量退化的过程。首先,通过获取尽可能多的超高清视频源,系统可根据应用场景使用H.264压缩视频质量至某一档位并进行前处理操作如缩放、羽化、加噪等从而得到训练所用的大量数据;其次,系统会基于生成的数据对所有前处理技术进行排列组合并获取每种排列组合处理得到的最终视频;计算这些视频的PSNR并将最高者代表的排列组合结果作为技术的最优组合。

上图展示了经由我们的自研的视频增强处理系统处理的视频画面与竞品的对比结果,可以看到我们的产品得到的画面细节还原更加出色,画面纯净度也更高。

即使面对高噪点的低光场景,我们的产品也具有出色的发挥。图二经过传统方法处理的画面虽然还原了大部分细节,但噪点问题也同样明显;而经过由我们改善的方法处理的第三幅图,画面中最亮与最暗部分的细节被完整保留,同时噪点问题也得到极大地改善。这样的视频通过编码处理即可得到我们期待的具有较高主观质量与清澈干净画面观感而文件体积与码率进一步缩小的视频文件,显著降低互联网直播等应用场景的带宽成本,并极大改善用户体验。

5. 总结与启示

进一步探索技术的边界,我们可以针对性保留画面中的关键细节如头发与衣服上的纹理,同时去除观众不愿意看到的细节如脸部的脏块等。尽管我们的单项技术不是业界顶尖,但得益于出色的技术架构设计,我们实现了1+1+1>3的理想效果。通过完善的架构设计以较低投入发挥技术的无限潜能实现超越技术本身的非凡价值,相信会为每一个企业带来帮助与启发。

原文发布于微信公众号 - LiveVideoStack(livevideostack)

原文发表时间:2019-04-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券