为了方便研究,工作组基于VTM-11.0开发了参考软件NNVC,包罗了编码器、解码器、练习、推理等相关代码。现在NNVC中集成了的神经网络相关的模块主要是loop filter、帧内猜测、超分辨率等。现在NNVC已经发展到4.0版本,相比于VTM-11.0在RA、low-delay和all-intra设置下{Y,Cb,Cr}的BD-rate分别达到{-11.94%,-21.86%,-22.59%},{-9.18%,-19.76%,-20.92%}和{-10.63%,-21.56%,-23.02%}。本文主要介绍其中的NN-Based Intra Prediction模块。
Framework
NN-Based Intra Prediction共包罗7个模型,分别用于不同尺寸的块{4x4,4x8,4x16,4x32,8x8,8x16,16x16}。
对于wxh的块Y利用NN-Based Intra Prediction模型猜测的过程如Fig.1。起首获取Y的上下文X,X通过前处置处罚过程得到
,然后作为NN模型
的输入,模型输出
,经过后处置处罚得到wxh的猜测块
。其中Y的参考像素X由Y的上方
和左侧
的重建像素构成。NN模型的输出还包括grpIdx1、grpIdx2和repIdx,其中grpIdx和LFNST的参数选择有关。repIdx对应传统的67个帧内猜测模式和MPM构建相关。
NN-Based Intra Prediction中的模型都是全连接神经网络,不包罗卷积层。
利用MPM对intra模式举行猜测可以减少编码intra模式的码率,在VVC中MPM列表包罗6个候选项,来自当前块上方和左侧intra块的模式。在开启NN-Based Intra Prediction后,若当前块接纳传统intra模式,而其相邻块接纳NN-based模式,那如何构建当前块的MPM列表?这里就须要Fig.1中NN模型的输出repIdx,若相邻块接纳NN-based模式则将其输出的repIdx到场当前块的MPM列表。
上下文变更
前面提到NN-Based Intra Prediction共包罗7个模型,分别用于不同尺寸的块{4x4,4x8,4x16,4x32,8x8,8x16,16x16}。但是有的编码块可能不属于这7个尺寸,为了解决整个问题可以对其上下文X举行变更,变更后满足这7个尺寸,可以在垂直方向下采样δ和/或在水平方向下采样γ,还可以举行转置,NN模型处置处罚完后对后处置处罚的结果再举行上采样和转置得到终极猜测结果。表1中是各个尺寸块举行变更的详细参数,例如对于32x8的块在垂直方向举行2倍下采样然后转置得到8x16的块,利用8x16的模型对它处置处罚。对于不在表1中的尺寸的块(h,w)不答应利用NN模式。