【ECM技术】ECM(Enhanced Compression Model)帧间技术总结

3 篇文章 1 订阅
2 篇文章 0 订阅

1、LIC技术 (Local illumimation compensation)

主要思想:认为当前块和参考块之间存在局部照明变化,引入线性函数a * p[x]+b来补偿变化。p[x]为x处MV所指向的参考帧当中的像素值。a,b通过参考块和当前块模板推导。LIC应用于16 * 16的处理单元时,推导使用当前CU中左上角16 * 16的单元,并且用于CU内其他部分。
标志位:AMVP模式下需要LIC flag标识是否开启,并且该标志位没有时域继承性
限制条件:
亮度块大小小于32则无法使用
对于非子块和affine模式,参数推导基于当前CU相关的模板块样本,而不是左上角16 * 16块相关的模板块样本
参考块的模板样本是由MV经过MC得到的,并且不需要近似到整像素精度
仅用于帧间单向预测,只应用于regular merge,regular inter,mmvd和affine模式,ciip和ibc模式下不可使用
亮度、色度分量均使用

2、 Non-adjacent spatial candidate

主要思想:在构建merge候选列表的时候,TMVP后面加入非相邻的空余merge候选,如图中6-20
在这里插入图片描述

3、TM (Template matching)

解码端推导MV
主要思想:以当前块的上方/左边作为模版,在参考帧中搜索(搜索范围[-8,8])找到与模板最接近的块,以此修正MV。
搜索步长基于AMVR确定。
在merge模式下,TM可以与双边匹配BM级联

4、Multi-pass decoder-side motion vector refinement

解码端进行

主要思想:多次对MV进行细化,并且将细化的MV保存下来用于后续预测的时域和空域MV。

  • 第一轮细化
    针对整个CU,使用BM。执行局部搜索获得整精度精度的intDeltaMV,基于L0和L1中最小双边匹配误差,在初始MV周围进行细化。以3 * 3的块为单位进行搜索,分别在水平和垂直方向上搜索,搜索范围分别为[-sHor,sHor]和[-sVer,sVer],其中sHor和sVer最大值为8,最终得到MV0_pass1和MV1_pass1。
    双边匹配误差计算为 bilCost = mvDistanceCost + sadCost。当CU面积大于64,则用MRSAD代价函数来消除参考块间代价的DC效应。若bilCost在中心点最小,则搜索终止,否则以当前最小代价的点作为3 * 3模版的中心点继续搜索,直至到达搜索边缘。
  • 第二轮细化
    针对16 * 16的子块,使用BM。执行全搜索获得整像素精度的intDeltaMV,基于L0和L1中最小双边匹配误差,在MV0_pass1和MV1_pass1周围进行细化。分别在水平和垂直方向上搜索,搜索范围分别为[-sHor,sHor]和[-sVer,sVer],其中sHor和sVer最大值为8,最终得到MV0_pass2和MV1_pass2。
    双边匹配误差计算为 bilCost = satdCost * costFactor,satdCost为两个参考子块的satd。costFactor由搜索点和起始MV的距离决定,下图,每个区域都有一个costFactor。每个菱形区域按搜索区域中心开始的顺序处理,每个区域中,搜索点按栅格顺序扫描,从左上角一直到右下角。当当前搜索区域中最小bilCost小于Th(W*H),那么终止搜索,否则继续搜下一个区域,直到搜索完全部点。
  • 第三轮细化
    针对8*8的子块,使用BDOF得到修正值Vx,Vy,将推导出的bioMv(Vx,Vy)四舍五入到1/16精读,并且范围在-32~32,得到MV0_pass3和MV1_pass3。
  • 总结
    在这里插入图片描述

5、OBMC

主要思想:CU上边界和左边界的像素用相邻块的运动信息进行加权。子块OBMC同理
目的:减小方块效应。
OBMC禁用情况

  • sps层禁用OBMC
  • 当前CU是帧内或者IBC模式
  • 当前CU使用了LIC
  • 当前亮度块面积小于等于32

子块OBMC使用条件

  • Affine AMVP模式
  • Affine Merge模式和SbTMVP模式
  • 基于子块的BM

6、Sample-based BDOF

主要思想:将CU分成8 * 8子块,每个子块根据两个参考子块之间的SAD与阈值的关系决定是否进行BDOF。若开启BDOF,则在每个子块内,针对每个样本都有一个5 * 5的滑动窗口,根据滑动窗口推导出Vx和Vy。推导出的修正值用于调整每个窗口的中心样本。

7、Interpolation

思想:原用的8抽头滤波器由12抽头滤波器所替代。插值滤波器由sinc函数导出。

8、MHP(Multi-hypothesis prediction)——JVET-M0425

主要思想:除了原有的双向预测,额外添加了多个预测器。总的预测信号为各个预测器的累加和。
限制条件:帧间AMVP模式,MHP只在双向预测中BCW不为等权重时使用

9、ARMC-TM(Adaptive reordering of merge candidates with template matching)

主要思想:对候选进行重新排序。在候选列表建立好之后,将被分为多个子组,每组大小为5(regular merge/TM)/3(affine merge)。每个子组内根据模式匹配的代价(当前块的模版样本和他们的参考样本的SAD)排序。对于最后一个子组的候选不进行重排序。
应用的模式:regular merge、TM merge(在细化过程之前重排序)、affine merge
对于SbTMVP模式,当前CU的子块大小为Wsub*Hsub,则子块的模板大小为Wsub * 1或1 * Hsub

10、GPM-MMVD

主要思想:在GPM候选确定后,进一步细化。该MVD由9种精度(1/4、1/2、1、2、3、4、6、8、16)和8个方向。若pic_fpel_mmvd_enabled_flag为1,MVD需要左移两位。

11、GPM-TM

主要思想:使用TM优化每个分区的运动信息。根据不同的划分,确定使用的模板,如表所示。通过最小化当前模板和参考图片中模板的差异从而优化运动信息。

在这里插入图片描述

GPM列表构建:

  1. 交叉选用List0和List1中的MV,此时List0中的MV优先级更高。同时通过与自适应阈值(与当前CU大小有关)比较,删除冗余项
  2. 交叉选用List1和List0中的MV,此时List1中的MV优先级更高。同时通过与自适应阈值(与当前CU大小有关)比较,删除冗余项
  3. 零MV

注意:GPM-MMVD和GPM-TM都应用于同一个模式中。只有在两个分区的GPM-MMVD都为false,才可以开启GPM-TM。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值