图3 UGC短视频,剪辑软件输出视频
码率20M,分辨率1920x1080
画面存在明显编码块效应和模糊
图4 主播解说,OBS推流
码率6M,分辨率1920x1080
画面存在大量编码压缩导致的边缘锯齿/毛刺,以及模糊
从需求持续时间来看,由于传输带宽的限制,在整个视频生成流程中,视频编码压缩是一个无法避免的处理操作,而有压缩就不可避免引入画质损伤,因此,面向编码压缩损失的画质提升会是一种持续性的需求。
04
面向编码压缩损失的画质增强技术
从学术的角度来看,解决生产链路引入的画质损失,主要研究的技术包括:去压缩失真以及超分辨率重建。去压缩失真主要解决编码压缩导致的块效应,例如边缘毛刺和细节丢失/模糊问题;超分辨率重建可以消除处理链路中可能引入的空间分辨率降采样,并提升画面整体锐度和清晰度。
学术界对图像超分辨率重建技术的研究已经持续了几十年。早期的方法大多基于空域/时域重构技术,后来发展到基于样例的学习方法,比较有代表性的方案有:(1)基于图像自相似性的方法;(2)基于领域嵌入的方法;(3)基于字典学习/稀疏表示的方法;(4)基于随机森林等。但直到基于卷积神经网络(CNN)的超分辨率技术兴起,才让该项技术在处理效果和性能方面达到可商用的水平,从而在工业界得到广泛关注和应用。
第一个将基于CNN的图像/视频超分辨率技术进行产品化落地尝试的当属一家叫Magic Pony的创业公司。该公司在CVPR 2016上做了一个当时非常炫酷的demo - Real-Time Image and Video Super-Resolution on Mobile, Desktop and in the Browser [1, 3]。
第一次将基于CNN的视频超分辨率技术移植到了移动平台(三星手机和iPad),可以对游戏直播画面进行实时的超分辨率增强处理,显著提升源流的画质。该项技术很快引起了Twitter的关注,并在很短的时间内就完成了对该公司的收购 [2]。
而后,随着第一届NTIRE超分辨率比赛 - NTIRE 2017 Challenge on Single Image Super-Resolution [4]的举办,越来越多的公司开始关注基于CNN的图像超分辨率技术,从那之后,这方面的落地应用也如雨后春笋般地涌现。
l 常规CNN去压缩失真处理:这个面部有点假
虽然基于CNN的图像超分辨率技术可取得远超过往技术的处理效果,但其产品化过程还是存在不少问题。一个典型的问题是:基于MSE/SSIM损失函数训练得到CNN超分辨率模型(也即常规CNN超分辨率模型),重建生成的图像往往会缺少高频细节信息,从而显得过平滑,主观感受不佳。
下面三个例子为一个典型的常规CNN超分辨率模型达到的处理效果:
常规CNN超分辨率模型对编码压缩造成的块效应、边缘锯齿、毛刺等artifacts有比较好的平滑作用,从而使得整个画面看起来更加干净,但画面缺少细节和质感,主要体现在面部区域,有比较明显磨皮效应。因此,在对画面细节有要求的业务场景,例如PGC内容生产,用户通常会抱怨:面部磨皮太明显,有点假。