ICME2021:基于VVC的角度加权预测
Posted Dillon2015
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ICME2021:基于VVC的角度加权预测相关的知识,希望对你有一定的参考价值。
本文来自ICME2021论文《Angular Weighted Prediction for Next-Generation Video Coding Standard》
加权预测是视频编码的重要技术,但是传统的固定权重无法满足两个物体斜边的处理。现存的方法计算逐像素的权重需要大量计算,它要为每个像素计算它到分界线的距离。本文利用角度预测生产每个像素的权重,复用了帧内预测的逻辑来简化计算。
在视频编码中帧间预测时通常会有矩形块划分,但是当两个物体的边界不是水平或垂直方向时则需要多个矩形划分才能将斜边划到不同部分。为了解决这个问题,最近的编码标准提出了非矩形划分。AV1提出了复合楔形预测(compound wedge prediction ,CWP)。利用预定义的3个表生成CWP块的掩膜,如Fig.1对不同尺寸块生产16种掩膜。
2019年,VVC提出了三角划分模式(triangular partition mode ,TPM),每个块使用对角线或副对角线作为划分边界,每个像素计算其到划分边界的距离来得到它的权重。
后来VVC又提出了几何划分模式(geometric partition mode ,GPM)来替代TPM,GPM对每个块有64种划分边界,这对于计算像素级权重复杂度非常高。如Fig.2所示,GPM也需要计算像素到划分边界的距离来得到它的权重,计算方法如下:
本文提出角度加权预测(angular weighted prediction ,AWP)来处理这种非矩形物体的帧间预测。它包括两部分,AWP权重的生成和AWP预测块的生成。
AWP权重生成
AWP权重生成过程中用到了角度预测,首先计算出有效的参考权重位置的数量,然后将有效的权重位置填充合适的权重,最后当前块的每个像素位置从参考权重位置获得权值。
有效的参考权重位置的数量
和帧内预测中的角度模式类似,AWP的参考权值需要通过角度参数和块尺寸计算。
如Fig.3所示,有效的参考权值位置数量可以按下面方式计算:
L是有效的参考权值位置的数量,w和h分别是块的宽和高,m是角度参数,k是角度的斜率。
如Fig.4所示,AWP共有8种角度。每种角度定义如表1。
其中X、Y分别表示水平和垂直角度。在这两种情况下,X和Y应该足够大从而消除其他方向对公式(4)的影响。
AWP参考权值的精度是半像素,所以公式(4)需要修改,
为了限制有效参考权值位置的最大数量,对于前4个角度使用左边一列而不是上面一行来作为参考权值位置。当对这些角度计算有效参考权值位置的数量时使用公式(7)代替公式(6),
参考权值的生成
当有效参考权值位置的数量确定之后,就需要为每个参考位置生成参考权值。
如Fig.6所示,AWP对每个角度有7组参考权值集,均匀分布在所有有效的参考权重位置。所以AWP一共有56种模式(8x7=56),比GPM少8种。图6中红色方块中的不同颜色代表0到8间的不同值。7组参考权值集可以通过公式(8)计算得到,
Rw[x]表示有效参考位置x处的权值,d是AWP参考权值参数,可由L计算得到。
set_idx表示当前块选择的参考权值集。
像素级权值生成
如Fig.5所示,参考权值生成后,块内每个像素位置处的权值可通过AWP角度模式获得,
可以看见,在计算像素的权值时不需要计算该像素到分界线的距离。
当角度等于2和6时公式(10)可以简化,
AWP预测块生成
为了和传统的B帧加权预测保持一致,每个块生成两个单向MV。为了获得两个单向MV需要基于1个时域块和6个空域块构建MV列表。
MV候选项生成
构建MV列表用到了1个时域块和6个空域块,如Fig.7所示。相邻块MV加入MV列表的顺序为T、A、B、C、D、E、F。
如果相邻块是双向预测,则其MV需要剪切处理来获得单向MV候选项。双向预测的哪个MV要加入MV列表取决于块索引的奇偶性,其中T的索引是0,A的索引是1,依次类推。如果块索引是偶数则双向预测中list0中的MV会加入候选项,否则list1中的MV加入候选项。通过这种方式块索引的奇偶性和相邻块绑定在一起,这样所有相邻块的MV就可以并行处理无论其是单向MV还是双向MV。
MV候选项剪枝
剪枝过程是为AWP模式获得更高效的单向MV列表。和传统的检查候选项的参考列表和参考帧索引不同,本文检查的是参考帧的POC。这样即使两个候选MV的参考列表不同也可能被视为相同的候选项,这样可以避免候选项潜在的冗余,尤其是对LDB配置。
为了减小剪枝的复杂度,如表2所示,对两个参考列表的每个参考帧只计算一次POC,并构建一个lookup table,在检查候选MV时只需通过其参考列表和参考索引来查表获得POC。
MV候选项修正
在构建完单向MV候选列表之后,需要从中选择两个MV用于AWP模式。选中的MV需要通过增加MVD的方式进一步修正,修正方法类似于VVC或AVS3中的MMVD。MVD由步长和方向决定,一共定义了5个步长(1/4像素,1/2像素,1像素,2像素,4像素)和4个方向(上、下、左、右),下式用来生成MVD,
其中offset就是5个预定义的步长。
最终预测块生成
通过选择的两个候选MV按下式生成预测块,
其中Fp(i,j)是(i,j)处最终的预测值,M(i,j)是第一个MV指向的预测值,N(i,j)是第二个MV指向的预测值。Bd是位深。
实验结果
测试条件
测试序列包括3类:4k、1080p和720p,都来自于AVS3。具体配置如下:
-
anchor是HPM9.0不开启AWP模式。
-
实验使用4个QP{27,32,38,45}计算BD-rate。
-
实验采用RA配置和LDB配置。
实验分析
表3是AWP的编码性能结果,在RA和LDB配置下BD-rate增益分别为0.9%和2.0%,编码时间增加13%。可以发现720p的增益超过其他类别,且LDB配置的增益超过RA。表4是不加MV修正的实验结果。
Fig.8是AWP和GPM的比较,可以看见HPM9.0中的不带MV修正的AWP性能已经超过了VTM10.0的GPM,加上MV修正后性能更高。其中vidyo3序列的增益最大,达到4.6%,如Fig.9所示。
感兴趣的请关注微信公众号Video Coding
以上是关于ICME2021:基于VVC的角度加权预测的主要内容,如果未能解决你的问题,请参考以下文章
VCIP2021:基于神经网络的双向预测blending过程
VCIP2021:基于神经网络的双向预测blending过程