目前, 超分算法已成功投入线上点播业务,并已支持了大量视频的高分辨率视频流生产。未来,我们将持续在覆盖范围、主观效果和部署灵活度等方面进行算法的迭代更新,以在直播、点播、应用端等多个场景为视频画质提供更大的增益。
1 前言
为了给用户提供更清晰的画质体验,B站自研的超分辨率算法已经在站内广泛应用,支持了如《赛马娘》、《流浪地球2》、《权力的游戏》、英雄联盟S赛赛事直播等知名番剧、电影电视剧以及重要游戏赛事直播的 4K 视频流生产。
2 超分算法的应用背景
2.1 不同分辨率视频的画质差异
随着终端显示技术的快速发展,4K 规格的终端显示设备已经逐渐开始普及,用户对于 4K 清晰度视频的观看需求也呈现出不断增长的趋势。然而,由于制作年代久远、拍摄设备受限等原因,流媒体平台上大量视频片源还是以 1080P、720P 的规格存在,无法满足用户在高规格显示设备上观看 4K 清晰度视频的需求。
那么,1080P 视频和 4K 视频的画面质量差距有多大呢?可以参考图1中的视频画面对比,由于 1080P 视频画面里没有足够多的有效像素去描述草地的纹理、圆柱的线条,因此其呈现的草地纹理细节远没有 4K 视频画面中丰富,圆柱线条也远没有 4K 视频画面中流畅。
为了满足不断增长的 4K 清晰度视频的观看需求,可以将低分辨率视频增强提升为高分辨率视频,所使用的技术称为超分辨率( Super Resolution )。
图1. 1080P 视频和 4K 视频的画面质量对比
2.2 传统插值超分算法的局限
各类超分辨率算法中,在实际应用层面覆盖范围最广的是传统插值超分算法。传统插值超分算法(最近邻差值、双线性插值、双三次插值等等)的原理是利用原始画面中的部分像素作为原始信息并根据某些规则对新像素的像素值进行预测。传统插值超分算法解决的问题是可以将原始视频的分辨率高效地上采样到任意规格,以适应各种高规格显示设备的实际播放尺寸。
但是,传统插值超分算法缺乏足够的非线性拟合能力来复现复杂的图像特征,无法真正还原缺失的纹理细节。如图2所示,1080P 原始视频画面中缺失的草地细节在经过传统插值超分算法处理后并未被恢复。因此,其主要作用仅限于调整视频播放的尺寸,并不能改善原始视频的画面质量。
2.3 深度学习超分算法的应用价值
由于插值超分算法在提升分辨率的同时并不能真正还原缺失的纹理细节,因此如果想要在高分辨率屏幕上获得更优质的观看体验,就需要一种在提升分辨率的同时又能拟合复杂纹理细节的超分算法,基于深度学习的超分算法在这方面展现了出色的效果。如图3所示,低分辨率图像块在经过插值超分算法处理后线条边缘仍存在一定程度的伪影,且整体观感较为模糊。对比之下,经过深度学习超分算法处理后的高分辨率图像块显然减少了线条附近的伪影,线条边缘更加连续。
图3. 插值算法与超分算法的处理结果对比
2.4 超分算法的难点及基于深度学习的解决方案
超分辨率算法的原理如图4所示,低分辨率像素块在像素域扩充后得到高分辨率像素块,高分辨率像素块中存在诸多未知像素值的像素,而超分辨率算法的作用就是预测出合理的像素值以提升高分辨率像素块的画面质量。从原理上看,超分算法的难点在于这是一个不适定问题,其潜在的解空间可能很大,