AV1中的ARF和Overlay Frame

前文中我简单介绍了AV1视频编码标准里的参考帧,今天就接着继续来谈谈其中的ARF和对应的Overlay Frame。

ARF是Alternative Reference Frame的缩写,在VPx系列(VP8,VP9,AV1)编码标准中均有支持ARF,它被用于其他帧的帧间预测参考帧,其本身也会像正常的帧一样去编码压缩,但是不会在解码端显示

那把它作为参考帧,有什么特殊之处呢?

主要是ARF帧往往是对原始帧们进行时域滤波处理,以降低原始帧里的噪声而得到的帧,用它作为参考帧可以提高视频编码的性能。

此外,如果熟悉H.264或H.265视频编码标准的话,知道预测编码的压缩性能很大程度上依靠对“B”帧的编码。但是,VPx系列的视频编码格式里却没有那种“B”帧(bipredictive inter-frames)定义。

不过他们可以借助ARF实现类似的目的,例如将“future” frames做为ARF帧,这样在编码后续帧时,既可以用previous帧作为参考帧,也可以用future帧作为参考帧,解码器还无需像H26x标准那样去做帧重排序(即不用增加这块解码复杂度)。也就是说,ARF帧可以作为后向参考帧。

下面是SVT-AV1代码中判断是否为后向参考帧的宏(函数):

图片

我们说回AV1视频编码标准的ARF,实际上在AV1标准文本里对ARF的定义可以说是“极其简单”的,如下图:

图片

在介绍AV1里面技术的论文《A Technical Overview of AV1》中,有关ARF如下:

图片

也即是说ARF名字里的Alternative指的是要不要显示它,此外,ARF帧也会被放到解码帧buffer,而它自己通常又不显示,那就要对解码和显示过程产生”不一样”的影响,如下图所示:

图片

上图是含有ARF的AV1编码结构,这里的GOP大小4,灰色框表示的是需要显示的帧,ARF不需要显示用白色表示。

从上图可以看出,每一帧在显示之前需要完成解码,且ARF帧的解码顺序很靠前。这是因为通常ARF帧是时域滤波处理得到的,而时域滤波处理一般只对低layer的帧进行,这也意味着,在一个GOP里面并不是谁都可以成为ARF帧。

ARF帧不显示它的画面,但是作为送给编码器编码的一帧YUV来说,虽然它被”象征性”选择为ARF,可它的内容不能被”丢了”。

一个正常的视频编码器(甭管支持什么编码标准),把它看成黑盒的话,你的输出码流里面必须保证要有我输入的每一帧画面的内容吧,并且是播放端可以显示的。这时就需要用Overlay Frame来和ARF配合,这个Overlay它会以(相同帧号的)ARF作为参考帧进行预测编码得到压缩码流,当在解码端解码以后,可以显示它的画面,而且它自身不会被用来作参考帧

以一个5层预测结构的AV1编码举个例子:

图片

上图这里编号(也是显示顺序)为16的帧可以作为ARF帧,它会被编号为8的帧作为后向参考,显然编号16的帧实际的编码/解码顺序要先于编号为8的帧才行。下图是order_hint等于16的这帧语法信息:

图片

在Elecard的AV1码流分析软件中,可以通过Obu分析结果的颜色来区分是否为不显示的帧,如下图所示:

图片

对于前面所提到的Overlay Frame,下面我再举个例子让大家直观感受一下。

我在编码这段AV1码流时设置的编码帧数是240帧,但实际可看到是356帧,如下图,这里多出来的116帧(下图柱状图为灰色的帧)就是对应的no show的ARF帧,而柱状图是蓝色的帧则是会显示画面的帧,它里面就包括了ARF对应的Overlay 。

图片

在Elecard分析软件里,柱状图的高度对应这一帧码流的大小,上图中,我们可以看到no show的帧要比show帧大很多。例如显示顺序为16的帧,它的ARF大小是46665字节。

图片

​而它所对应的Overlay帧仅有5个字节。图片

所以,虽然ARF技术使得AV1编码器实际编码的帧数要比外部预设帧数多,但ARF他们所对应的用于显示的Overlay帧实际码流大小通常比较小,从而整段AV1码流的大小也就不会超出期望的编码帧数很多了。

最后,需要注意的是,我们是可以对关键帧进行时域滤波处理的,但是,它是没有ARF和Overlay帧的,毕竟如果一个关键帧竟然可以不显示,这难道不是一件很奇怪的事吗。

参考资料

1.https://www.livevideostack.cn/news/senior-staff-engineer-libvpx-vp9-google/

2.https://av1.fandom.com/wiki/Alternate_reference_frames

3.An Analysis of VP8, a new video codec for the web

4.https://forum.doom9.org/showthread.php?t=170515

如果你对AV1视频编码感兴趣,可以加下面的我微信,拉你进群。

图片

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论