[AV1] Reference Frame

帧间预测算法里另一个重要的概念就是参考帧了

Reference Frame

在实际的软件实现中,一般编码器会维护两个Reference Frame list,分别为 RefFrame[0]和RefFrame[1],当仅只有一个参考帧时,RefFrame[1]会被置空,也就是赋值为 -1

RefFrame[0]Name of ref_frame
0INTRA_FRAME
1LAST_FRAME
2LAST2_FRAME
3LAST3_FRAME
4GOLDEN_FRAME
5BWDREF_FRAME
6ALTREF2_FRAME
7ALTREF_FRAME
RefFrame[1]Name of ref_frame
-1NONE
0INTRA_FRAME
1LAST_FRAME
2LAST2_FRAME
3LAST3_FRAME
4GOLDEN_FRAME
5BWDREF_FRAME
6ALTREF2_FRAME
7ALTREF_FRAME

根据上面提到的概念,帧间预测的时候是分为single reference和compound reference的,顾名思义,single reference就是只参考一个参考帧,compound reference指复合两个参考帧得出最终参考。
在这里插入图片描述

这里注意点,compound prediction是参考两帧,但并不意味着这两帧一前一后,因为compound prediction的参考帧也分同向参考于双向参考

下图就是AV1中帧的参考结构,如上面所列出来的,帧间一共有7帧可作为参考帧,其含义大致可以如下理解

参照帧名含义
LAST_FRAME以前帧中最近的参考帧
LAST2_FRAME以前帧中第二近的参考帧
LAST3_FRAME以前帧中第三近的参考帧
GOLDEN_FRAME以前帧中较远的帧,Golden一般为I帧
BWDREF_FRAME未来帧最近的,该帧不做时域滤波
ALTREF2_FRAME未来帧中第二近的
ALTREF_FRAME未来帧中最远的帧

在这里插入图片描述

Single Reference 和 Compound Reference

single reference意味着仅从一帧获取运动向量,而compound reference是从不同的两帧获取运动向量,然后取其平均而得到最后的运动向量的。


版权声明:本文为starperfection原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。