在AV1中的帧间预测中,最重要的概念之一就是帧间预测块的YMode了。
YMode
我们知道,在AV1中,帧间预测有若干的参考帧,那么我们到底去哪一帧获取到运动向量(Motion Vector)呢,这个就靠YMode来指定了。标准中,YMode有以下的指定值。
YMode | Name of YMode | 含义 |
---|---|---|
14 | NEARESTMV | 使用RefStackMv[0] 作为Motion Vector |
15 | NEARMV | 使用RefStackMv[RefMvIdx]作为Motion Vector |
16 | GLOBALMV | 使用GlobalMvs[0]作为Motion Vector |
17 | NEWMV | 使用RefStackMv[RefMvIdx] diffMv[0]作为Motion Vector,另外diffMv需要传送到decoder,所以会产生额外的比特 |
另外就是在帧间预测的时候,如果采用的是compound prediction的话,那么YMode
YMode | Name of YMode | refList 0 | refList 1 |
---|---|---|---|
18 | NEAREST_NEARESTMV | NEAREST | NEAREST |
19 | NEAR_NEARMV | NEAR | NEAR |
20 | NEAREST_NEWMV | NEAREST | NEW |
21 | NEW_NEARESTMV | NEW | NEAREST |
22 | NEAR_NEWMV | NEAR | NEW |
23 | NEW_NEARMV | NEW | NEAR |
24 | GLOBAL_GLOBALMV | GLOBAL | GLOBAL |
25 | NEW_NEWMV | NEW | NEW |