Research - DCVC-DC
[DCVC-DC Research Report]
DCVC-DC는 Microsoft 사의 딥러닝 기반 비디오 코덱입니다.
실험적인 코덱으로 논문명은 Neural Video Compression with Diverse Context[2]입니다.
사실 Neural Video Compression (NVC)은 2017년부터 계속해서 연구되어 온 분야입니다. 뉴럴 네트워크 혹은 딥러닝을 기반으로 하는 비디오 코덱은 기존 방식의 코덱(논문 상에서는 traditional codec이라고 표현합니다.)에 비해 복잡도가 낮지만 압축률이 떨어집니다.
따라서 DCVC는 딥러닝 코덱의 장점인 복잡도를 유지하면서 압축률을 높이는 것을 목표로 합니다. DCVC는 TM, HEM 등 여러 시도를 한 끝에 DCVC-DC에서 RNN 형식의 overall framework를 선보였습니다. 이 DCVC-DC를 프레임워크를 따라 가면서 분석해봅시다.
1. Overall Framework
위의 그림은 논문 상에서 표현한 overall framework입니다. 해당 프레임워크를 보면 딱 RNN 구조가 떠오릅니다.
먼저, 각 프레임 $ x_t $ 가 입력되면 $ f_{motion} $ 모듈을 통해 모션 벡터를 찾게 됩니다. 이 때 해당 모듈에서는 Optical Flow Network[1]를 통해 optical flow를 예측하고 해당 벡터 $ v_t $를 인코딩, 디코딩하여 그림에서 보이는 $ \hat{v}_t $를 생성하게 됩니다.
그 다음 모션 벡터 $ \hat{v}_t $와 이전 프레임인 $ F_{t-1} $을 이용하여 영상의 정보인 $ C_t $를 생성합니다. 해당 과정을 수행하는 모듈이 $ f_{Tcontext} $입니다. 여기서 만들어진 $ C_t $와 원본 프레임인 $ x_t $를 이용하여 $ f_{frame} $ 모듈에서 encoding과 decoding을 진행하고 $ \hat{x}_t $와 $ F_t $를 생성하게 됩니다.
2. Context 생성
영상의 정보를 포함하는 Context는 이전 프레임을 부, 복호화하여 생성한 $ \hat{x}_{t-1} $과 $ F_{t-1} $을 합쳐 $ v_t $와 warping 합니다. 다만 해당 논문에서는 모션 벡터 $ v_t $를 하나만 사용하기 때문에 motion alignment한 정보가 robust하지 않다는 한계점이 존재합니다.
그 다음 Offset Prediction을 통해 residual offset인 $ d_t $와 modulation mask $ m_t $를 생성합니다. 이 때, $ d_t $와 모션 벡터 $ v_t $를 합쳐 최종 오프셋인 $ o_t $를 생성하게 됩니다. 그 다음 $ o_t $와 $ m_t $를 곱하고 Reorder를 통해 각 그룹들을 섞어주고 cross group fusion을 통해 최종적인 Context인 $ C_t $를 생성하게 됩니다.
3. frame 부, 복호화
이제 생성된 $ C_t $와 원본 프레임인 $ x_t $를 이용하여 프레임을 인코딩하고 디코딩하게 됩니다. 그 결과로 $ \hat{x}_t $와 $ F_t $를 생성하게 됩니다. 여기서 $ F_t $는 다음 프레임으로 전파하게 되고 $ \hat{x}_t $는 학습에 사용하게 됩니다.
위의 그림은 $ f_{frame} $의 쿼드트리 기반 채널 분할 및 엔트로피 코딩을 나타낸 그림입니다. $ \hat{y}_t $를 4개의 피처맵(feature map)으로 나누어서 각각을 4단계를 거쳐서 그룹 간 정보를 섞어버립니다. 이를 통해서 다시 채널들을 합쳤을 때 평균적으로 높은 복원률을 보이게 됩니다.
Reference
[1] Eirikur Agustsson, David Minnen, Nick Johnston, Johannes Balle, Sung Jin Hwang, and George Toderici. Scale-space flow for end-to-end optimized video compression. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 8503–8512, 2020. 1, 2, 6
[2] Li, Jiahao, Bin Li, and Yan Lu. "Neural video compression with diverse contexts." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023.