- Today
- Total
작심삼일
[content-aware CNN 리뷰] Content-Aware Convolutional Neural Network for In-Loop Filtering in High Efficiency Video Coding (ITIP 2019) 본문
[content-aware CNN 리뷰] Content-Aware Convolutional Neural Network for In-Loop Filtering in High Efficiency Video Coding (ITIP 2019)
yun_s 2021. 6. 30. 09:42My Summary & Opinion
Introduction
Block-based 압축 방식은 JPEG, H.264/AVC, HEVC 등 다양한 이미지/비디오 압축 표준으로 쓰이고 있다.
하지만 block-based prediction과 quantization은 block 경계에서의 불연속성, high frequency detail들의 삭제 등 많은 문제가 있는데, 이 것을 해결하기 위해 in-loop filtering이 쓰이고 있다.
Deep learning이 발전함에 따라 image restoration이나 denoising에 많이 사용되고 있다.
본 논문에서는 multiple CNN model들을 사용한 content-aware in-loop filter를 소개한다.
본 논문의 contribution은 다음과 같다.
* Fully convolutional한 네트워크 구조는 video codec의 reconstruct된 프레임의 화질을 높여준다.
* 각 CTU에 맞는 CNN 모델을 선택하도록 했다.
* Multiple CNN 모델을 학습시키기 위해 반복적으로 학습을 진행했다.
Related Work
In-loop Filtering in Video Coding
DF, SAO, ALF 등이 있다.
CNN for Image Restoration and Compression
CNN 기반의 이미지 복원의 성능이 좋아서 이를 compressed image의 화질을 높이기 위해서 쓰이기 시작했다.
Compressed image의 화질 향상에 좋은 성능을 보였기 때문에 CNN 기반의 video compression에 대한 연구가 진행되기 시작했다.
IFCNN은 training data와 test data를 분리하지 않았기 때문에 일반화되기 어렵다.
우리의 이전 연구인 STResNet은 coding 성능 향상을 위해 in-loop filtering으로 이루어졌다.
Proposed Single CNN Model
Network Depth Analysis
네트워크의 깊이가 깊어질 수록 성능이 좋다는 것은 공공연한 사실이다.
네트워크의 깊이가 in-loop filtering에 미치는 성능을 보기 위해 다양한 깊이로 실험을 진행했다.
네트워크의 구조는 다음과 같이 진행했다.
아래 표와 같은 결과가 나왔기 때문에 깊이는 9로 정했다.
Proposed Connection Units
우리는 세 종류의 connection unit으로 실험을 진행했다.
이 세 connection unit을 만들 때 고려한 요소는 inception structure, small receptive fields($3 times 3$ and $5 times 5$), residue connection이다.
Inception structure는 다양한 kernel size를 사용하는 것이다.
Small receptive fields는 non-linearity를 더 사용하기 위해 썼다.
(a) 구조를 사용한 것의 성능이 제일 좋기 때문에 이 구조를 사용하기로 했다.
Parameter Reduction
위의 종류로 비교해 결정한 구조를 사용하면 파라미터수가 너무 많아진다.
파라미터 수를 줄이기 위해 feature map channel을 $64$에서 $32$로 줄였다.
그 결과 성능의 차이가 크게 나지 않았다.
Content-aware CNN Based In-loop Filtering
From Single Model CNN to Multiple Model CNN
각 CTU마다 in-loop filtering에서의 rate-distortion(R-D)를 계산한다.
위 그림을 보면 화질이 좋아진 부분도 존재하지만, 오히려 좋아지지 않은 부분도 존재한다.
이 문제를 해결하기 위해 여러 CNN 모델을 사용하기로 했다.
각 CTU는 영상 복원이 더 잘되게 하기 위해 최적의 CNN모델을 선택한다.
Discriminative network for Model Selection
어떤 CNN 모델을 사용할 지는 이 discriminative network를 사용해서 정한다.
각 CTU를 input으로 받고, 어떤 CNN 모델을 사용해야할 지 classification을 진행한다.
Multimodel Iterative Training Mechanism
다음과 같은 방식으로 학습을 진행했다.
Syntax Element Design for CTU Control Flag
CTU 단위와 frame 단위의 syntax element control flag를 사용했다.
CTU 단위는, 각 CTU마다 제안하는 in-loop filtering을 진행할 지 여부를 R-D로 계산해 flag로 정한다.
한 frame의 모든 CTU에 대한 flag가 정해진 후 RD를 이용해 frame 단위의 in-loop filtering을 진행할 지 정한다.
Experimental Results
Conclusion
본 논문에서는 HEVC에 적용하는 content-aware CNN을 이용한 in-loop filtering을 소개한다.
여러 CNN 모델을 offline으로 학습시킨 후 adaptive하게 적용한다.
Reference
Jia, Chuanmin, et al. "Content-aware convolutional neural network for in-loop filtering in high efficiency video coding." IEEE Transactions on Image Processing 28.7 (2019): 3343-3356.