个人免费网站注册,滕州网站优化,网站建设任职,做网站公司名字应该用图片吗在H.266/VVC发布后#xff0c;基于传统编码框架提升压缩率越来越难#xff0c;随着深度学习的发展#xff0c;研究人员开始尝试将神经网络引入编码器。为此#xff0c;JVET工作组在2020年成立AHG11小组来专门进行基于神经网络的视频编码的研究。 为了方便研究#xff0c;工…在H.266/VVC发布后基于传统编码框架提升压缩率越来越难随着深度学习的发展研究人员开始尝试将神经网络引入编码器。为此JVET工作组在2020年成立AHG11小组来专门进行基于神经网络的视频编码的研究。 为了方便研究工作组基于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的上下文XX通过前处理过程得到然后作为NN模型的输入模型输出经过后处理得到wxh的预测块。其中Y的参考像素X由Y的上方和左侧的重建像素构成。NN模型的输出还包括grpIdx1、grpIdx2和repIdx其中grpIdx和LFNST的参数选择有关。repIdx对应传统的67个帧内预测模式和MPM构建相关。
NN-Based Intra Prediction中的模型都是全连接神经网络不包含卷积层。
If min(h,w)≤8 hw256:n_an_lmin(h,w)
otherwise:if h8:n_ah⁄2otherwise:n_ahif w8:n_lw⁄2otherwise:n_lwIf h≤8, e_h4. Otherwise, e_h0.
If w≤8, e_w4. Otherwise, e_w0.
前处理和后处理
在上面的流程中上下文X经过前处理后再输入NN模型前处理过程可分为4步 当前块Y的上下文X可分为2个部分可参考部分和不可参考部分如Fig.2可参考部分减去其对应的均值u。 上下文X内的像素乘以b是bitdepth在VVC中是10。 所有不可参考像素置零。 上面得到的结果展平为一维向量长度为 对于NN模型的输出的后处理过程和前处理过程相反将一维向量reshape为wxh尺寸像素除以p可参考部分像素加上均值u然后clip到正常像素范围整个过程可以描述如下 注意上述前处理和后处理过程是浮点精度。对于signed-integers的NN模型对于int16Qin7对于int32Qin23。
MPM列表构建
使用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模式。 NN-Based Intra Prediction模式的传输
亮度对于不在表1中的尺寸不允许使用NN模式对于表1中的尺寸的块设置标志位nnFlagYnnFlagY1表示使用NN模式nnFlagY0表示使用传统的intra模式。如Fig.3所示。
色度在VVC中色度intra模式编码中若色度模式和亮度模式相同则采用DM模式否则需要编码色度模式。如果色度对应的亮度块使用NN模式且色度块满足表1的尺寸则DM模式表示NN模式否则DM模式表示PLANAR模式。如果亮度块不是NN模式且色度块满足表1尺寸则需要编码标志位nnFlagCnnFlagC1表示使用NN模式nnFlagC0表示不使用NN模式。
注意如果使用NN模式但是当前块的上下文超出图像边界如则当前块使用PLANAR模式。 训练
模型的训练需要进行4轮迭代训练 cycle0使用VTM-11.0作为anchor生成训练需要的块Y和对应的上下文X组成数据对YX。将7个模型参数随机初始化然后在这些数据上训练。 cycle1VTM-11.0_nnvc使用cycle0的参数再次生成训练数据7个模式使用cycle0的结果初始化参数然后再训练。 cycle2VTM-11.0_nnvc使用cycle1的参数再次生成训练数据7个模式使用cycle1的结果初始化参数然后再训练。然后使用相同的训练数据恢复这7个神经网络的训练这一次对它们的权重引入了稀疏性约束 cycle3VTM-11.0_nnvc使用cycle2的参数再次生成训练数据7个模式使用cycle2的结果初始化参数然后在这7个神经网络中分别对计算grpIdx1和grpIdx2的部分进行训练 NNVC的代码中包含了这些训练代码。
推理
推理采用SADL框架SADL是工作组开发的框架用c写成它没有额外的依赖可以直接集成进VTM中调用模型进行推理。 SADL既可以进行浮点推理也可以进行定点推理下面是NNVC中的训练好的模型可以看到每个尺寸既有float版本也有int16版本。