前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >结合神经网络的帧内预测及变换核选择

结合神经网络的帧内预测及变换核选择

作者头像
用户1324186
发布2021-09-17 16:49:00
1.4K0
发布2021-09-17 16:49:00
举报
文章被收录于专栏:媒矿工厂媒矿工厂

来源:PCS 2021 Bristol 主讲人:Thierry Dumas 内容整理:赵研 本文来自 PCS 2021 SS1 的第五场演讲,主要介绍了如何在 VVC 中使用 NN-based 的方法进行帧内预测和变换核选择。

目录

  • 1. 介绍
  • 2. NN-based 变换核选择
  • 3. NN-based LFNST 变换核选择
    • 3.1 流程
    • 3.2 网络训练
  • 4. VVC 中的码流表示
  • 5. 实验
    • 5.1 实验参数设定
    • 5.2 NN-based LFNST 变换核选择的 RD 性能
    • 5.3 与 SOTA 的比较

11. 介绍

在具有多种变换核的混合视频编码框架中,变换核在码流中的表示方法有两种:显式表示(explicit signaling)和隐式表示(implicit signaling)。显式表示是将残差块采用的变换核索引显式在码流中传输,而隐式表示则是根据一些规范法则推导得到对应的变换核索引,而不需要将其写在码流中。随着编码标准的演进,隐式表示得到了越来越多的应用。

HEVC 中采用隐式表示的场景较少(e.g.对帧内预测的 4×4 亮度残差块隐式地采用 DST7-DST7 变换),而在 VVC 中,隐式表示被更多场合所使用,例如低频不可分离变换 LFNST 变换集索引(其解码端流程如下图所示)、ISP 亮度块的 MTS 索引等。

图1:隐式表示举例 —— LFNST 变换集索引在解码端是如何获得的

如果编码器中加入了新的帧内预测模式,那么变换核的隐式表示就需要添加新的映射关系(mapping)。以 VVC 中的 MIP (Matrix-based Intra Prediction) 模式为例,在原有的 VVC codec 中引入 MIP 模式后,需要设置两对映射关系表: 1)普通帧内角度预测模式索引映射;2)MIP 模式索引映射。

然而,对于 NN-based 的帧内预测模式而言,构建一个固定的映射关系是几乎不可能的。这主要是两方面原因造成的:

  • 一方面,NN-based 的预测模式需要依赖相邻重建块的特征,即要先得到相邻的重建块,再将它们的特征作为神经网络的输入值,输出的是当前块的预测信息;
  • 另一方面,NN-based 的帧内预测是非线性的(神经网络自身的非线性导致),因此输入和输出不一定是一对一的关系。

针对上述问题,Dumas 的建议是用网络学习一种映射关系:根据帧内预测网络的中间特征来推测当前块要选用的变换核。

22. NN-based 变换核选择

图2:使用神经网络进行帧内预测和变换核选择

如上图所示,当前块

Y

的尺寸为

w*h

,其参考的相邻重建块(左侧

2*h

范围,上边

2*w

范围)统称为

X

,对

X

进行预处理后输入到神经网络

f

中,经过多层非线性变换后块

Y

的预测信息,经后处理后即为输出块

Y

的预测值(

\hat Y

);另一方面,该网络引入了另一个分支对当前块

Y

的变换核进行预测:将其视作一个多分类任务,以网络

f

的中间特征为输入值,输出向量(

U

)为采用各个变换核的概率,选取概率最大的那个(

argmax

)作为预测值。

33. NN-based LFNST 变换核选择

3.1 流程

使用 NN-based 的方法进行 LFNST 变换核选择需要两步:

  • step 1 ( “unified indexing for LFNST index selection”):首先使用一个简单的机器学习框架,将当前块选用的宽角度帧内预测模式作为输入,网络可以映射输出两方面信息:1)对应的 LFNST 变换集索引;2)主变换系数是否需要转置。而这两部分信息的组合可以用一个新的索引统一表示:
trPairIdx

。具体的映射关系如下表所示。

表1:unified indexing for LFNST index selection

  • step 2 (“allowing different signallings for values
lfnstIdx ∈ \{1,2\}

”):在 LFNST 中定义了 4 个参数集(如上表所示),每个参数集有两个不可分离变换矩阵,因此每个 CU 还要使用

lfnstIdx ∈ \{1,2\}

来标识使用了哪个变换矩阵。而对于不同的变换矩阵,可以采用不同的隐式表示。具体来说,如果将步骤 1 中的映射网络记为

f

,那么需要为

lfnstIdx == 1

lfnstIdx == 2

分别采用两个

f

网络,得到的输出向量分别称为

U_1

U_2

,通过

argmanx

函数分别得到

trPairIdx_1

trPairIdx_2

,然后根据

lfnstIdx

的值,来判断选用哪一个

trPairIdx

作为最终的索引值。该步骤流程如下图所示。

图3:

trPairIdx

的计算过程

3.2 网络训练

如前文所述,为了给不同的

lfnstIdx ∈ \{1,2\}

采用不同的隐式表示,需要得到对应的

groundtruth

数据,即 VVC codec 编码得到的真实

trPairIdx

网络训练的损失函数如下图所示,其中

f

w,h

(X_c, θ)

是图 2 中描述的网络,它以经过前处理的相邻重建块

X_c

为输入,可以得到当前块的帧内预测值(

\hat Y_c

)和变换核索引预测信息(

U

),

i_1

代表

lfnstIdx == 1

时,VVC对

X_c

w*h

区域编码的

groundtruth trPairIdx

,而

i_2

代表

lfnstIdx == 2

时,VVC对当前块

Y

进行编码得到的

groundtruth trPairIdx

图4:网络损失函数

44. VVC 中的码流表示

共有两种可行的码流表达方式:

  • "inference" scheme: 使用神经网络得到
trPairIdx

,可以直接确定对应的隐式 LFNST 信息。

  • "prediction" scheme: 引入另一个变量
trExpIdx

,根据它可以预测得到

trPairIdx

,其映射关系如下图所示。

图5:

trExpIdx

trPairIdx

之间的映射关系:解码端解析流程

55. 实验

5.1 实验参数设定

  • NN-based 帧内预测模式:
    • VVC 中仅添加一个 NN-based 帧内预测模式;
    • 共有 8 个神经网络,分别用于不同的块尺寸:
    \{4*4, 8*4, 16*4, 32*4, 8*8, 16*8, 16*16, 32*32\}

    {32*16}

    块的相邻重建内容(

    X_c

    )要先在水平方向进行降采样(

    factor = 2

    )变为

    16*16

    的块后再进行预处理并输入网络,然后对经过后处理的输出值在水平方向水平插值(

    factor = 2

    ),变回原来的尺寸。

    • 对于
    (h,w) ∈ \{(8,4), (16,4), (32,4), (16,8), (32,16)\}

    的块,其相邻重建块(

    X_c

    )需要在预处理前进行转置,并对后处理后的输出结果也进行转置。

  • LFNST index 选择的训练:
    • ILSVRC2012 训练集和 DIV2K 中的 RGB 图像,使用 VTM-8.0 编码,
    QP ∈ {22, 27, 32, 27}

    ;

    • 800000 iteration,
    batchsize = 100

    , ADAM optim,

    learning_rate = 0.0002

    ;

  • 测试配置:
    • JVET CTC, all intra, 只编码第一帧。

5.2 NN-based LFNST 变换核选择的 RD 性能

baseline 有两种模式:"default"和"fully explicit LFNST",分别对标"inference"模式和"prediction"模式:

  • "default": 对于使用 NN-based 帧内预测模式的块,如果
lfnst ∈ \{1,2\}

,则选用对应 LFNST 变换集中的两个变换矩阵之一,不需要进行转置(

trPairIdx

恒为0);

  • "fully explicit LFNST": 去掉所有隐式表示的内容,所有信息均显式写在码流中,采用"prediction scheme",但是不使用神经网络对
trExpIdx

进行预测;

表2:在 VTM-8.0 中添加一个额外的 NN-based mode,带来的平均 BD-rate 增益(以百分比"%"计)

从上图中表格可以看出,相比于"fully explicit LFNST"模式,"prediction"模式可以带来 0.25% 的性能增益,这是由 NN-based LFNST 变换核选择方式带来的。"inference"相比于"default"也有将近 0.6% 的增益。

5.3 与 SOTA 的比较

本文方法与[1]中方法的性能比较如下表所示,可以看到 BD-rate 方面本文的性能要好很多(增益要多 3.5% 左右),与此同时编解码时间也相比SOTA大幅增加。

表3:与 SOTA 对比

[1] Blanch M G, Blasi S, Smeaton A, et al. Chroma intra prediction with attention-based CNN architectures[C]//2020 IEEE International Conference on Image Processing (ICIP). IEEE, 2020: 783-787.

附上演讲视频:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 11. 介绍
  • 22. NN-based 变换核选择
  • 33. NN-based LFNST 变换核选择
    • 3.1 流程
      • 3.2 网络训练
      • 44. VVC 中的码流表示
      • 55. 实验
        • 5.1 实验参数设定
          • 5.2 NN-based LFNST 变换核选择的 RD 性能
            • 5.3 与 SOTA 的比较
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档