算法|AI 修复老视频的“魔爪”,终于伸向了动画片( 四 )


“智能超分”能力可以提升清晰度和分辨率 , 基于深度学习方法 , 根据已有的图像、视频信息重构出缺失的细节 , 也会使用前后帧信息 , 并对其进行时域建模 , 恢复出额外的细节 。
在《葫芦兄弟》中 , 算法对前景的葫芦娃剪纸区域提升清晰度 , 对背景的水墨画区域保持朦胧感 。 这种对内容的自适应处理 , 根据不同区域分片处理 , 很好地保持了原有画风 。

“瑕疵消除”主要是指消除胶片存放、转录过程中带来的各种噪点、闪烁等缺陷 , 以及大小不一的胶片划痕 。 如果仅仅用算法 , 带来的一个问题是容易误处理 , 比如将漫天雪花识别为噪点 , 结果把“下雪天”变成了“晴天” 。
对于较小的雪花颗粒噪声 , 火山方案使用传统信号处理算法进行处理 , 对于较大的坏点和划痕 , 则使用机器学习算法进行识别和修补 。 有些场景可能是艺术效果 , 所以会比较困难 , 这时则需要先由人工标注判断 , 再用算法修复 , 达到效率和效果同时最优 。

“锯齿修复”是其中一个最值得一提的独创算法 , 特别适用于电视动画 。 在《哪吒传奇》(2003)的“哪吒出世”场景修复过程中 , 技术团队发现部分画面里有明显的线条锯齿 。 由于这一问题只在部分场景中出现 , 很难定位 , 但是不解决的话会严重影响观感 , 也会影响其他算法的效果 。
经过多次尝试和实验 , 技术团队发现《哪吒》中的锯齿效应是数字化扫描不精准 , 采样做的不好而出现的 。 这实际上是电视动画特有的问题 。
与早年电影胶片转录像带在电视播出不同 , 21 世纪初的电视动画已经可以使用 Flash、Harmony、Retas 等电脑软件 , 用数位板逐帧绘制 , 实现创作过程的“无纸化” 。 不过 , 最终成片需要输出到电视播出通用的 Betacam 磁带上 , 这也决定了画面最终的分辨率 。
据火山引擎专家介绍 , 大部分业界的锯齿修复都是针对低分辨率“向上采样”做处理 , 而老片中的锯齿 , 很多是原本很清楚的源文件“向下采样”保存为播出格式时出现的 , 对于已经产生的频谱混淆 , 业界算法大多都没法处理 。
因此 , 火山引擎针对性地设计了一套优化算法 , 让锯齿问题得到了很大的改善 。

此外 , 算法也可以做自动调色 , 对视频从色彩、对比度、细节及画面层次等多个维度进行自适应处理 , 提高源视频的质量和转码后视频质量 。
社长在自己测试西瓜视频开放的“老片修复”功能时 , 也注意到上文所提到的一部分技术细节都被应用到了全自动的算法中 , 可以在我们自己的片源里体现出来 。
以下 , 就让我们通过一组转换前后的对比截图 , 来感受火山引擎这套高清修复算法的能力以及其实际效果 。


上图是 B 站用户上传的《黑猫警长》1080p 影片拷贝(ID:BV1XL41137AG) , 下图是《黑猫警长》在西瓜视频的高清修复版 。 点开两张图片并放大后 , 可以显而易见的看到 , 西瓜的修复版 , 其左侧线条及右侧文字边缘异常锐利清晰 , 勾线有近似矢量的清晰度 , 此外也去除了杂色(虽然在原版拷贝里已经处理得不错了) 。

(对比图左侧为原版 , 右侧为西瓜修复版 , 下同)
4K修复动画片的根本意义在于更好地向观众呈现创作者当年原本的意图 。 实际上 , 有些因为电视屏幕尺寸因素 , 本来出稿就相当模糊的中远景 , 会在4K分辨率下不得不呈现出一些细节 , 这甚至已经需要二次创作 。
片方提供的原版拷贝已经可以做到很不错的清晰度 , 这是4K能还原到近似矢量效果的前提 。 但在电脑屏幕上显示效果正常并不意味着假设到光线不好的电视、或者影院重放会完全一致 。