前言

自从苹果公司在iPhone 4引入了视网膜屏幕的概念以来,手机的分辨率自此开始突飞猛进。当前,1920x1080甚至更高的分辨率已经成为了标配。不过当我们谈到视频实时通话的时候,无奈受制于上行带宽,有相当一部分用户还是只能发送码率在250kbps以下的小分辨率视频码流,这就白白浪费了用户的高清手机屏幕。要怎么样才能不增加上行码率的情况下,让用户在接收端可以看到更高清的实时视频呢?

超分辨率(Super-Resolution)是近几年迅速发展起来的一项图像放大技术,即通过硬件或软件方法提高原有图像的分辨率,通过一幅或者多幅低分辨率的图像来得到一幅高分辨率的图像过程就是超分辨率重建。那是否可将超分辨率技术用在实时视频,在低码率甚至超低码率可以看到提升一档分辨率的实时视频?

传统的超分辨率是基于图像的纹理判断纹理的方向,并在此基础上做增强。而近一年,利用机器学习来做超分辨率越来越成为一种趋势。基于机器学习的神经网络结构,可以更好地学习低分辨率和高分辨率图像之间残差的特征,并且修复失真,还原到更高一档的分辨率。基于机器学习的超分辨率技术,像SRCNN、SRResNet、VDSR等网络模型,在超分辨率效果上体现出了不可比拟的优势。

腾讯音视频实验室和优图实验室X-lab的戴宇榮老师的团队联合开发的基于神经网络的实时视频超分辨率技术,在极小的神经网络模型大小的条件下,在手机实时视频通话上实现了基于机器学习的超分辨率技术,起到了主观上提升一档分辨率的效果。此技术即将应用在手机QQ 7.3.5的iOS版本上的视频通话。

背景

不少同学可能已经知道,在图片上做基于神经网络的超分辨率已经有不少,比如优图实验室X-lab的超分辨率技术已经在QQ空间相册的点击看大图场景落地。然而将超分辨率技术用在实时视频,音视频实验室在手Q上双人实时视频通话应该是公司内的第一个产品。因为和图片的超分辨率不同,实时视频的超分辨率对性能和效果有更苛刻的要求,在很小的性能预算下达到主观提高一档分辨率的效果,确实对研发人员提出了更高的要求。下面先来看下图片超分辨率和视频超分辨率的区别。

也正是因为视频前后帧存在着一定的相似度,视频超分辨率可以利用视频前后帧的相关性,借助其统计特性,进一步提高超分辨率的效果。尤其是在超过两倍放大的场景,基于前后帧相关性的视频超分多帧模型体现出了明显超过传统放大算法的效果。

整体方案

多帧视频超分模型固然是有不可比拟的优势,现阶段的绝大部分手机性能还不能胜任视频多帧超分模型的计算量。为了让更多的手机用上视频超分这样的黑科技,我们经过反复实验和权衡,不断优化性能和效果,最终决定先使用实时视频逐帧超分辨率的方案落地。下面是我们的超分的方案的流程图。

我们将编解码前后的视频作为输入神经网络训练,使网络学习到恢复编解码+缩放带来的两种失真特性,清晰边缘的同时不会放大编码带来的失真。同时,我们优化机器学习网络结构和前馈库的性能,做到了手机上实时逐帧超分辨放大。值得一提的是我们还创新性地在超分辨率后做了经典的增强算法。究其原因,超分辨率算法消除了锯齿效应后,再做简单增强算法,可以使得边缘更清晰,细节更丰富。综上优化,主观上有提升一档分辨率的效果。

下图是经过编解码的H.265视频码流解码后经过双立方放大和超分放大的对比截图,点击放大可看到细节:

我们的网络模型和别的模型在性能和效果比较情况如下:

性能优化

基于神经网络的超分辨率技术要用在实时视频通话,其中最大的难点就是运算量太大。优化性能是涉及到各个层面的系统工程。除了优化神经网络结构,我们还将前馈网络库全部在iPhone的GPU上实现,下面是我们在各个层面所做的性能优化:

通过这些优化,横向比较逐帧超分当中近期最优秀的VDSR模型,在放大后的质量对齐的情况下,我们速度比VDSR快了10倍以上。下面是最终上线版本的性能数据:

原始分辨率 目标分辨率 ip6s(ms) ip7(ms) ip8(ms)
320x240 640x480 36 35 33

效果

下图是手Q7.3.5版本开关超分辨率的性能数据对比。在帧率和码率一致、时延几乎不增加情况下,用专用清晰度测试工具测试的清晰度数据有了明显提升。

下面这个视频是超分辨率合入手Q 7.3.5视频通话的效果,点击可看到细节:

视频内容

展望

音视频实验室的实时视频超分技术,是首次将大计算量的神经网络用在手机客户端实时视频这样性能预算吃紧的场景的一次大胆尝试,目前来看取得了不错的效果。视频超分辨率除了可以提高视频质量,还可在保持相同视频质量的前提下节省上行、下行带宽。视频超分项目接下来的工作重点主要在下面两方面:

  • 实时视频的多帧超分模型还在继续优化中,目前已经取得不错的进展,同等性能消耗下将进一步提升视频超分效果,第一版预计将在下一个手Q版本上线;
  • 在神经网络前馈库性能上继续优化,并且覆盖更多平台;

综上,我们将持续优化实时视频超分辨率技术,相信这样的黑科技也一定会为更多场景更大的赋能。

文章来源于腾讯云开发者社区,点击查看原文