背景
谈到视频,画质是必要因素,这个领域中都要想方涉法提高视频画质。
随着相关技术的进步以及网速的大规模升级,超清/高清视频已经成为了我们观看内容的标配,但是事实上,网络上还是存在很多低质的视频/图片资源。大部分可以归结为3点原因:
1.用户自己上传的低质视频/图片。由于用户没有专业知识,很可能在拍摄和制作视频时引入噪点,模糊,压缩块效应,色彩灰暗等问题。
2.年代久远的电影电视剧。从录像带转为数字化会有噪点,划痕等问题。而以前的VCD,DVD的分辨率又非常低。
3.省流/流畅模式。用户很可能因为网络条件受限,主动选择低码流的视频,在画质上做出妥协。
综上,这些低质视频的表现是多种多样的,包括低分辨率,背景噪声,压缩噪声,色彩灰暗,划痕等等。而ZoomAI的提出就是要利用AI技术提升这些视频的品质。

什么是ZoomAI
ZoomAI是一套完整的视频增强解决方案,将AI技术作用于图片和视频,达到画质增强的效果。
ZoomAI内部由多个模块组成,每个模块负责一种或者几种画质增强的方向,比如超分辨率,去除噪声,锐化,色彩增强等等。每个模块都是由一个或者多个深度学习模型组成。
由于每一个子模块相互之间没有依赖,所以在使用ZoomAI时,我们可以针对不同的场景自由组合所需的模块。比如下图中,如果模块1是去噪模块,模快2是色彩增强模块,那么我们就对原始的低质视频进行“去噪+色彩增强”这两个操作。

ZoomAI的主要模块介绍
超分辨率模块:
为了训练一个超分辨率的深度学习模型,经典做法是让模型输出的大图与真实的高分辨图的每一个对应像素值接近,也就是采用L2范数作为训练误差。
但是L2 Loss 的主要问题是生成的图像会比较模糊。我们则采用2个方案来解决L2模糊的问题:
1. 在训练图中加入一定量的模糊操作
2.加入梯度Loss,要求生成图的梯度要与真实图的梯度尽可能一致
经过上述两个方法改良之后,我们最终训练得到的超分辨率模块可以明显生成更清晰的高分辨率图片。
(双线性插值)


我们的方法


除此之外,针对移动端实时计算的场景,我们设计了另一种单层模型,并开发了移动端的SDK。该SDK核心代码利用OpenGL编写,可以充分利用移动端的GPU性能,并且具有跨平台特性,可以方便的集成进入iOS和安卓App中。在苹果和安卓的中高端机型中,均能实时超分到1080P。
去噪和锐化模块:
视频中的噪声包括拍摄时的底噪,胶片数字化引入的噪声以及视频压缩带来的块效应等。
一般来说,去噪类似于一个低通滤波器,会导致边缘模糊,为了克服这一点,我们在一个网络中同时训练去噪和锐化,在去噪的同时保持边缘甚至突出边缘。
更多去噪效果图: 原图 + 增强图




色彩增强模块:

色彩增强的目的就是解决图片或者视频过暗,过曝,以及色彩灰暗的问题。一般有2大类方法:一个是黑盒模式,即通过端到端网络,直接利用原图生成增强图。另一类是白盒模式,即网络只得到图像处理的参数,比如曝光度,对比度,饱和度等离散数值,再根据这些参数对原图进行处理,得到增强图。
相对于白盒模式,黑盒模式训练更加直接简单,但是色块中容易出现异常值,且在视频处理中容易出现相邻帧突变的情况。而白盒模式会使得整体色彩更加连续。我们使用了很多训练技巧,最终得到一个色彩表现不错的白盒模型。
事实上,由于输入图片的种类和内容是包罗万象,我们会对鲜艳图片,人脸特写图片,卡通图训练不同的模型。所以我们还为了这个色彩增强模块训练了多种图片分类模型。同时为了切分视频场景,对每一个场景应用同样的增强参数,我们还设计了场景分割算法。

效果显示:先是原图,然后是增强图




去划痕模块:
在老旧胶片电影中,经常看到一些划痕或者横纹抖动。
我们将利用帧间信息来识别划痕。一般划痕只出现在某一帧中,这样加上前后帧的信息,就能识别划痕,并补全应有的像素。

修复效果如下:




ZoomAI的应用场景

以下是ZoomAI已经落地或者正在合作的应用场景。

1.老旧视频修复:老旧电影电视剧的手工修复需要大量的时间和经费。一部电影至少需要10人20个工作日。而利用ZoomAI进行自动修复可以大幅减少这些成本。针对老旧视频,我们在ZoomAI中依次进行“去划痕“,“去噪+锐化”,“色彩增强”, “超分辨率”这四个模块,就可以取得明显的效果。
2.动画片增强:我们采用“色彩增强”+“超分辨率”使线上动画片更加高清,并且色彩鲜艳。
3.短视频封面图增强:对于短视频的封面图,进行“去噪+锐化”和“色彩增强”。封面图效果如下: (先原图,再增强图)





4.漫画/动漫/轻小说封面图增强




以上便是ZoomAI在爱奇艺的现状,我们的使命就是提升爱奇艺所有视频/图像资源的质量,让每一位用户都能在爱奇艺“悦享品质”。
写在最后
考虑到未来的场景,我们有几个研究方向。
1.设计更多的适合移动端的轻量级算法模块
2.对字幕,人脸,虚化背景等局部画面进行针对性的处理
3. 研发黑白资源的自动上色系统