Adaptive Convolutional Neural Network Loop Filter (ACNNLF)
Adaptive Convolutional Neural Network Loop Filter (ACNNLF)
Adaptive Convolutional Neural Network Loop Filter (ACNNLF)
Predictor
In-loop filters
• ACNNLF as final stage of frame reconstruction in decoding process
• Simplified 2-layer CNN
• On-line training
• Multiple filters 2
Simple 2 Layer CNN
• 2 layer CNN
• Layer 1: 1x1 with ReLu
• Layer 2: 3x3, no ReLu
• Channels: M=16
• 3 sets of ACNNLFs with total 3,282 parameters Chroma
• 692 (672w+20b) parameters for each luma filter
• 402 (384w+18b) parameters for each chroma filter
Online Training (RA) – Data Collection
• The training data comes directly from the video sequence for compression
• The training is done for each random access segment (RAS) using 8 frames of video data
• 1st frame of RAS and the previous 7 frames (in encoding sequence order) in previous RAS are used
• Both the luma and chroma data of the original and re-constructed frames (before ACNNLF processing)
are collected
• Each frame is partitioned into small image blocks of size 32x32 for training
• Can be applied to other types of video sequences
4
Training Procedure for Multiple CNNs
6
Experiment Setup - Training
Information in Training
Stage
Basic
Settings:
learning rate: 0.0055
optimizer: ADAM
Mandatory batch size: 128
epoch: 148*
loss function: L1
training GPU: GTX 1080 Ti
training time: 15 minutes*
framework: TensorFlow
Total
Total FC Frame-
Conv. Param. Num GFLOPs Mem.P(MB) Mem.T(MB)
Layers work
Layers
8
Experimental Results – RA sequences
Random Access Main 10
Y U V EncT* DecT*
Class E
9
Conclusion
• ACNNLF as final stage of frame reconstruction in decoding process
• Simplified 2-layer CNN – minimum deep neural network
• Fast on-line training – 15min/RAS
• Multiple filters – best of 3 for each CTU
• Lower decoding complexity
10