机器学习在视频编解码中的探索(二)

阅读数:22 2019 年 11 月 30 日 22:46

机器学习在视频编解码中的探索(二)

2 ML to Coding Performance

AV1 是一个实例,它采用了神经网络、机器学习的概念,使得 encoder 进一步提速。使得用神经网代替经验决策。

那么,神经网是不是可以帮助我们对视频压缩做压缩性能提升?下面,我举三个例子,分享一下我们从哪些方面可以把神经网和深度学习用在编码性能提升上。

第一个,是从超分的概念来分享。大家都知道,压缩造成了信息丢失。信息丢失以后我们希望在解码端或者编码端的 inloop 过程中,重建丢失的信息。如果我们可以做到,就可以达到编码性能的进一步提升。因为压缩是一体两制,或在一定码率下提升画质,或在一定画质下节省码率。如果可以在一定的码率下重建失去的信息,就可以进一步提升画质,之后可以进一步节省码率,通过画质提升将降码率后失真图像的质量还原到原来码率的画质水平。

AV1 中采用了更多的工具,从而使其可以比已有编码标准,比如 HEVC 有进一步的提高。其中一个工具称作 restoration,里面提供两个滤波器,一个是 Wiener filter,一个是 Self-guided projected filters,仅这一个工具的 BDRate 性能提升在 1 - 1.5% 之间。

如上方右图所示,它是一个 restoration 的描述。那么它是如何把信息恢复出来的呢?我们可以想象,任何一个像素点是多维空间的一点,那么一个小时的视频一定有 n 个图像帧,每个帧里有 m 个像素点。如果把每个点都想象成一维的话,任何一个视频实际上是高维空间中的一点。做这种想象以后,上方图右侧的 Xs 就是原始的视频,经过压缩,就得到了高维空间中的另一点,如果这两点重合,就是 lossless coding 的过程。这两点在高维空间中距离越远,失真度就越大。重建的过程就是力图将压缩后的 X 那一点带回来与原来的点越来越近的过程。

AV1 中有一个 guided filter 的概念,通过这个 filter 可以从解压以后的 X,恢复成 X1、X2 两点,也就是得到两个滤波器的结果。做完后发现,这两点离原来那点还是差得非常远。那么 AV1 进一步通过 X1、X2 建立一个平面,把原有的视频所对应的点,在现在这个平面上做投影。可以看到投影以后所得点就离原点近了很多,这就是一个重建的过程。

最终 AV1 只要求在码流中传递两个参数 α 和 β,需要高精度传输过去,在解码端用同样的 restoration 就可以恢复出比较高质量的图像。从这点可以看出,这一个工具就可以达到 BDRate 的 1% 以上的提升,我们可以用学习的概念得到更好的图像复原,所以很自然而然就想到超分方法的运用。

现在,超分辨率在机器学习中已经得到广泛应用。压缩以后的图像,通过学习可以重建出一个更高质量的图像,利用这个图像可以在我们现有的编码结构中加以运用,从而达到更好的 coding performance。

这是我们和杭师大的丁丹丹老师合写的一篇论文,主要探索重建图像。可以在四方面加以应用:第一,插值滤波;第二,In loop filter;第三,可以通过利用多个参考帧,重现出一个更清晰的参考帧;第四,Out loop post-processing filter。

这些都是从学习的角度,利用已知的参考帧重建出更高清晰更高质量的参考帧。或者是利用插值滤波,因为插值的获取也等价于重建出一些原有的信息。从我们训练集数据中得到的信息,存储到神经网络结构以及其相应的参数中,再加上已有的视频数据得到重建的信息,利用重建信息帮助我们提升编码的性能。

上图是进一步的一个例子,包括前向帧和后向帧在时空上进行的联合重建。

最后重建的结果是一个超分辨率图像。同样的码率,在解码端可以运用该技术使得视频质量得到进一步提升。视频在用多帧分辨率做重建的过程中,由于每帧的视频中有一个运动矢量的概念,所以这篇论文最主要的贡献,是在原有方法的基础上做了一个像素对齐,这是视频相对于图像在处理上比较特别的地方。

徐迈老师的另外一个工作,也是利用学习恢复在编码过程中失去的信息,不过不是提高分辨率,而是提高图像的质量,去除编码后图像的 artifacts。

我们在编码解码过程中会发现,每一帧的质量有波动,任何一个图像帧由于 QP 的不同,每帧质量会不同,有些帧的质量比较好,比如我们通常说的 Key frame,这篇论文中把这样的帧叫做 PQF。

如果我们可以把 PQF 的帧识别出来,用学习的办法把质量比较差的帧的质量弥补、提升,这样不仅可以提高原本质量差的帧的质量,更可以优化序列中各帧的质量到更高的水平。

视频帧与帧间的质量保持平稳是比较关键的。举一个例子,做针灸的时候要扎很多针,如果每一针的力度相差不多,患者会觉得 ok。如果突然一针的力度很大,人就会记住那一针的感觉。而人眼观看视频也是一样的。

首先第一个工作就是识别视频中哪些帧质量比较高,因为此时解码端的原视频是不可得的。这个工作主要利用类似无参考图像质量评价(no reference image quality assessment)的方法来进行。在没有原视频的基础上,有一项研究是无参考质量评估,这篇论文借鉴于那个领域的工作。

评论

发布