VVC层级结构中基于神经网络的参考帧生成
Posted Dillon2015
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VVC层级结构中基于神经网络的参考帧生成相关的知识,希望对你有一定的参考价值。
本文来自JVET-X0060 《NN-based Reference Frame Interpolation for VVC Hierarchical Coding Structure》
提案针对VVC的层级结构提出了基于深度神经网络(DNN)的参考帧生产方法。在编码和解码过程中,参考列表中的两个重建帧作为网络输入,输出为新生成的帧。新生成的帧再经过一个滤波网络的处理,然后插入到参考列表最后的位置。该方法Y、U、V节省的码率分别为1.47%/4.19%/3.85%。
介绍
VVC中,重建帧存储在DPB(Decoded Picture Buffer)中,在帧间预测进行运动补偿过程中会从DPB中选择几帧构建参考图像列表(RPL,Reference Picture List)。参考帧的内容会极大的影响帧间预测性能,当参考帧压缩失真越小和当前帧内容越相似时,帧间预测效果越好。提案通过DNN合成更好的参考帧来提升帧间预测性能。
框架
提案算法的框架如Fig.1所示,
提案的算法是针对RA配置,在RA配置的层级结构中,当前帧的参考帧既可以来自前面也可以来自后面。为了给当前帧生成参考帧,网络选择两个离当前帧最近且等距离的参考帧作为输入。
网络生成新参考帧的过程如上式所示,在RA配置中,GOP size=32, 表示网络生成新帧的操作, 表示POC=p的帧, 表示 的重建帧。上式表示网络对于时域层为 的帧 生成新帧 的过程。需要主要的是,只有时域层为{6, 5, 4}的帧需要处理。
上述过程生成的帧和QP map作为一个滤波网络的输入,最终生成新的参考帧。新生成的参考帧同时插入L0和L1,且POC和当前帧相同,运动补偿过程无需修改,且码流中也不需要传输额外信息。
网络结构
Fig.2是生成参考帧的网络结构,该网络基于2D Unet,将2D Unet中的2D卷积操作改为3D卷积操作形成的3D Unet。每个3D卷积是一个五维滤波器 ,其中t=2表示输入帧数,(h,w)表示kernel尺寸, 和 表示输入输出通道数。
Fig.3是滤波网络,由多个ResBlocks 构成,该网络的输入是前面生成的参考帧和QP map。
训练配置:
Network Information in Training Stage | ||
Mandatory | GPU Type | GPU: A100 |
Framework: | PyTorch v1.9 | |
Number of GPUs per Task | 1 | |
Epoch: | 300 | |
Batch size: | 16 | |
Loss function: | L1 | |
Training time: | 7 Days for interpolation net, 4 days for filter net | |
Training data information: | Vimeo | |
Training configurations for generating compressed training data (if different to VTM CTC): | QP = 22, 27, 32, 37, 42 | |
Optional | ||
Number of iterations | ||
Patch size | 256x256 | |
Learning rate: | 1e-4 | |
Optimizer: | ADAM | |
Preprocessing: | ||
Mini-batch selection process: | ||
Other information: | ||
测试配置:
Network Information in Inference Stage | ||
Mandatory | HW environment: | |
GPU Type | CPU only | |
Framework: | PyTorch v1.9 | |
Number of GPUs per Task | 0 | |
Total Parameter Number | -K for interpolation net, 2707K for filter net | |
Parameter Precision (Bits) | 32 | |
Memory Parameter (MB) | 481MB for interpolation net, 10.2MB for filter net | |
Multiplay Accumulate (MAC) /pixel | -K for interpolation net, 704K for Filter net | |
Optional | ||
Total Conv. Layers | ||
Total FC Layers | ||
Total Memory (MB) | ||
Batch size: | ||
Patch size | ||
Changes to network configuration or weights required to generate rate points | ||
Peak Memory Usage (Total) | ||
Peak Memory Usage (per Model) | ||
Border handling | ||
Other information: | ||
实验结果
实验平台为VTM11,配置为RA。表3是同时使用插帧网络和滤波网络的结果,表4是不使用滤波网络的结果。
感兴趣的请关注微信公众号Video Coding
以上是关于VVC层级结构中基于神经网络的参考帧生成的主要内容,如果未能解决你的问题,请参考以下文章