前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[AV1] Super-Resolution

[AV1] Super-Resolution

作者头像
轻舞飞扬SR
发布2021-03-13 15:26:39
9220
发布2021-03-13 15:26:39
举报
文章被收录于专栏:Visual CodexVisual Codex

AV1中的Frame Super-resolution

AV1中有一种新型的编码工具,允许编码器在编码一帧的时候,将其进行水平方向进行“压缩”,换一句话说,就是缩小水平方向的分辨率,然后将“水平缩小”了的码流传输到解码器端,解码器通过向上取样或者超分的技术还原出原始的水平分辨率,从而达到压缩码流的效果。

AV1 Super resolution

初步一看,这种分辨率压缩的手法其实并不是新鲜的,我们在做运动预测的时候,也采用过相同的技术,比如Hierarchical Search的这类分辨率分层级搜索,而且对于AV1来说,本身也是支持跨分辨率的运动补偿的,所以这一次把跨分辨率的技术运用到了环内滤波区域了。基于AV1的motion compensation 支持跨分辨率预测,AV1提供一个syntax,名为use_superres,指明是否采用环内超分模式,既然是对每一帧可以单独设置,那么就很大几率是存在在frame header的syntax里,大家可以在Spec的5.9.8节找到。

下面放一张引入了super resolution的流程图。

在这里插入图片描述
在这里插入图片描述

上图中,所有的块分为三类,浅蓝色,深蓝色,深绿色三种,第一步是Superres downscale过程,这个就是把帧从原始分辨率下取样到更小的分辨率帧。(所以这里画成了一个向下的斜坡形)

这里有一点需要注意:下取样并不是标准,也就是说,Spec中并没有规定下取样需要遵循什么样的流程,所以这个可以归类于non-normative issue

浅蓝色的部分是属于编/解码的常规部分,然后把“小”分辨率的帧传输到解码器进行解码,在编码端的环内滤波或者是解码过程中,做完Deblocking 和 CDEF后,下一步就是需要恢复原分辨率了,而这一步属于标准规范的部分,恢复分辨率的帧再进行最后一步Loop restoration,来弥补之前下采样丢失的部分高频信息。

AV1仅支持水平方向(horizontal)的下采样。(在标准制定的初期,是支持水平和垂直的二维下采样的,但是考虑到在对硬件的支持,跨行buffer访问以及编码复杂度,最后的标准并没有采纳垂直的下采样)

Scaled Prediction in AV1

在我们了解环内超分之前,需要知道AV1中的跨分辨率预测是怎么做的。

在这里插入图片描述
在这里插入图片描述

如上图,这副图相比上一幅图看起来简单,同时也是跨分辨率预测的关键,一帧经过resize后,编码器对其进行编码,然后这一帧reconstructed后,就可以作为后续帧的参考帧。

注意这里的用词,不是downscale,是resize,那就意味着不仅仅可以是缩小,也可以是放大。

那么后续帧在选择参考帧时,这些参考帧可能与当前帧并不是同一分辨率的,所以如果想正常进行帧间预测的话,那么把参考帧的分辨率变换到与当前帧的分辨率相同的这么一个步骤(工具)就不可缺少了。这里可能大家会想起前面我们说过,帧间算法的运动补偿内插算法正好做了这么个步骤,所以我们就直接从这里获取结果即可。

Linear Upscaling

AV1中的upscaler采用16分之1线性8抽头滤波器完成插值操作,在做upscale的时候,坐标对其是非常重要的一点,下面看一个图

在这里插入图片描述
在这里插入图片描述

在这张图中,假设B是帧的宽度,P0, P1…这些是低分辨率帧一行上的点,Q0, Q1,…这些是高分辨率帧一行上的点,可以看出来,低分辨率帧一行上的像素点的个数要少于高分辨率帧一行的像素点,所以低分辨率帧对高分辨帧的像素mapping就非常的重要。

再看一张图

在这里插入图片描述
在这里插入图片描述

这张图来自另一篇论文,描述了像素点的mapping关系,根据上面两张图,我们来计算mapping关系,假设低分辨率的一行的像素个数为D,那每一个像素的宽度即为B/D,假设高分辨率的一行的像素个数为W,那每一个像素的宽度为B/W,当我们设低分辨率帧的起始坐标为0时,则高分辨率的起始像素mapping过去后的坐标为(D-W)/2W,接下来的Qm的offset即为 (D-W)/2W + m*(D/W)

实际实现时,offset有被细分为1/16384个像素,比原本的1/16大了2的10次方倍,但是mapping到1/16384个像素后,最后也要被round到1/16这个层级来,最后再采用8抽头FIR滤波插值。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-03-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • AV1中的Frame Super-resolution
    • AV1 Super resolution
    • Scaled Prediction in AV1
    • Linear Upscaling
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档