H.266 JEM7.0 帧间预测之八(双向光流BIO)

双向光流 Bi-directional Optical flow (BIO)

BIO是采样点级别的运动优化,在双向预测的块运动补偿中使用。不需要传输信号。

Ik表示块运动补偿后参考k(0,1)的亮度值,Ik对k求偏导,对y求偏导分别表示Ik梯度的水平和垂直内容。假设光流是有效的,运动矢量场(vx,vy)通过下式可得:

将此公式与艾尔米特插值结合,得到每个样本的运动轨迹,其结果是一个唯一的三阶多项式,其匹配函数值Ik和两个偏导数。多项式的值在t=0时即为BIO预测:

此处,表示到参考帧的距离,根据Ref0和Ref1的POC计算得到:

如果两个预测来自同一个时间方向,标志不同。此时,BIO只适用于预测来自不同时间点的情况,即二者不相等的情况,两个参考区域都有非零运动,且块的MV和时间距离成正比:

H.266 JEM7.0 帧间预测之八(双向光流BIO)_第1张图片

运动矢量场(vx,vy)通过最小化点A、B(运动轨迹与参考帧平面的交点)的差值得到。模型只用局部泰勒展开式的第一个线性项:

 

上式的所有值取决于样本位置(i',j'),目前被省略。假设运动包括在局部包围区域,在以当前预测点(i,j)为中心的(2M+1)x(2M+1)窗口欧米伽下最小化上述差值,M=2。

对于优化问题,JEM采用一个简化的操作,使用一种简化的方法,首先在垂直方向上,然后在水平方向上最小化。导致:

其中:

H.266 JEM7.0 帧间预测之八(双向光流BIO)_第2张图片

为了避免被0或者一个很小的数除,引入正则化参数r以及m:

此时d表示视频样本的比特深度。

此过程在函数:

TComPrediction::xWeightedAverage()

为了保持BIO与常规双预测运动补偿有相同的内存访问,所有预测和梯度值,Ik,对x求偏导,对y求偏导,只在当前块位置内计算。在s1-s6公式中,位于预测块边界上的预测点为中心的(2M+1)x(2M+1)的正方形窗口,需要访问块外的位置,如下左图。JEM中,块外三者的值被设为等于块内最邻近可获取的值。可理解为填充操作,如右下图所示。

H.266 JEM7.0 帧间预测之八(双向光流BIO)_第3张图片                 H.266 JEM7.0 帧间预测之八(双向光流BIO)_第4张图片

  a) access positions outside of the block;        b) padding isused in order to avoid extra memory access and calculation

采用BIO,每个样本的运动场可以被细化。为了降低计算复杂度,JEM中使用基于块的BIO。运动优化基于4x4的块计算。在基于块的BIO下,一个4x4块所有采样的s1-6的值求和,总和sn值被用来获取4x4块的BIO的运动矢量偏移量。基于块的BIO使用下述推导:

H.266 JEM7.0 帧间预测之八(双向光流BIO)_第5张图片

bk表示属于预测快第k个4x4块的样本集合。sn被 ( (sn,bk) >> 4 )代替,用来得到相关运动矢量的偏移。

在一些情况下,BIO的MV组可能由于噪音或不规则运动而不可靠。所以,在BIO中,MV组的数量被门限thBIO限制。门限的值是基于当前图片的参考图片是否都来自一个方向确定的。如果当前图像的所有参考图像均来自同一个方向,门限为12*pow(2.0,14-d),否则为12*pow(2.0,13-d)。

BIO的梯度与HEVC运动补偿操作过程一致的(2D可分离FIR)运动补偿插值同时计算。2D可分离FIR的输入是与MC和根据块运动矢量的分像素部分得到的分像素位置(fracX, fracY)相同的参考帧样本。水平梯度(对x的偏导)情况下,首先使用BIOfilterS ,根据去尺度偏移 d−8的分像素位置fracY 垂直插值,随后水平方向使用与去尺度偏移 18-d的分像素位置相对应的梯度滤波BIOfilterG。在垂直梯度的情况下,首先采用BIOfilterG 梯度滤波器,根据去尺度偏移 d−8的分像素位置fracY 垂直插值,随后采用BIOfilterS 在水平方向上进行位移,与去尺度偏移 18-d的分像素位置fracX相对应。梯度计算的BIOfilterG 和信号位移BIOfilterF 插值滤波器的长度比较短(6抽头),为了保持合理的复杂度。下表表示了BIO块MV在不同分像素位置梯度计算过程中的滤波器。

BIO滤波相关函数为xPredInterBlk()下的:

TComPrediction::xGradFilterX()
TComPrediction::xGradFilterY()

H.266 JEM7.0 帧间预测之八(双向光流BIO)_第6张图片

下表表示用于BIO中的预测信号生成的内插滤波器。

H.266 JEM7.0 帧间预测之八(双向光流BIO)_第7张图片

JEM中,BIO应用于所有双向预测块中两个预测来自不同参考图像的情况。若当前CU的LIC可用,则BIO不可用。

JEM中,块的OMBC操作在普通MC之后。为了降低计算复杂度,BIO在OBMC过程中不采用。这意味着BIO只在用自己MV的块的MC过程中使用,并且在OBMC过程中使用相邻块的MV时,不应用于MC过程。

你可能感兴趣的:(JEM,Inter)