[Compression] MLIC: Multi-Reference Entropy Model for Learned Image Compression 리뷰

es.Seong·2024년 10월 9일
0

Image Compression

목록 보기
14/14
post-thumbnail

논문 제목
MLIC: Multi-Reference Entropy Model for Learned Image Compression (ACM MM 2023)
URL: https://arxiv.org/abs/2211.07273
인용수 : 36회 (24.10.09 기준) - MLIC++와 동일

이전에 정리했던 MLIC++의 이전 버전이 MLIC이다. 해당 논문에서는 MLIC와 MLIC+ 두 모델을 제안한 논문이고, MLIC++에서는 선형복잡도에 대한 설명이나 ablation study가 주를 이뤘다면, 이 논문은 MLIC라는 구조를 왜 제안했는지에 초점을 맞췄다고 생각하면 될 것 같다.

요약

  1. 엔트로피 모델은 잠재표현의 분포를 추정하여 압축효율 향상에 중요한 역할을 한다. 하지만 대부분 엔트로피 모델은 1차원에서 상관관계를 캡처하고, channel-wise, local spatial, and global spatial correlation은 포함하지 않는다.
  2. MEM(Multi-Reference Entropy Model)와 MEM+은 잠재표현을 여러 슬라이스로 나누고, 현재 슬라이를 디코딩할 때 이전에 디코딩된 슬라이스의 context를 사용하여 현재 슬라이스의 global correlation를 예측. -> 이를 위해 두 가지 checkerboard context capturing techniques을 제시함.

MEM & MEM+

  • 기존의 Context Model의 경우 Spatial & Channel-wise 기반의 Autoregressive 모델과 Checkerboard Context Module이 주로 사용되었다.
  • 두 컨텍스트 모델은 local correlation과 병렬처리가 중점이기 때문에 global correlation은 캡처가 어렵다는 단점이 있다.
  • 하지만 제안 컨텍스트 모델은 local spatial, global spatial, and channel dimensions에 대해 correlation 캡처가 가능하여 보다 정확한 예측이 가능하다.

모델 구조

  • 전반적인 아키텍쳐는 MLIC++와 유사한 구조를 가지나, 인코더 디코더의 Residual Block이 심플하다는 특징이 있다.

위 이미지는 모델에대한 notation과 하이퍼파라미터 셋팅이 정리한 표이다.
MLIC와 MLIC++의 주요 차이를 보면 M의 채널 수가 가장 직관적으로 보인다.
여기서 M은 슬라이스의 개수를 결정하는 중요한 파라미터이다.

MLIC는 M=192, 각 슬라이스의 채널이 32이므로 총 6개의 슬라이스로 나눠졌고, MLIC+는 M=320, 각 슬라이스의 채널이 32이므로 총 10개의 슬라이스로 나눠져있음을 의미한다.

Enhanced Checkerboard Context Module

  1. 체커보드 컨텍스트 모델은 병렬 디코딩이 가능하나, 디코딩된 심볼 절반만 사용하여서 성능 저하가 발생함.
  2. 기존 연구에서 local context module은 1개의 컨볼루션 층만 사용하였으나, 본 연구에서는 glc,stkg_{lc,stk} 모듈에 J개의 컨볼루션 레이어를 스택으로 쌓아서 비선형성과 깊이를 증가시킴.


논문에서는 K=5를 사용함.

Checkerboard Attention Context Module, Shifted Window-based Checkerboard의 경우 MLIC++ 게시물에 정리되어서 생략.

Global Spatial Context Module

  • 각 슬라이스마다 global-spatial contexts를 독립적으로 캡처.
  • 슬라이스 내에서 anchor와 non-anchor 그리고 이전 슬라이스와의 global correlation를 계산.

Intra-Slice Global Context Module

  1. codec consistency 때문에 디코딩 중에는 현재 심볼과 다른 심볼들 간의 global correlation을 알 수 없음
  2. 디코딩 시 이전에 디코딩된 슬라이스는 현재 슬라이스의 global correlation를 추정하는데 도움을 준다.

모듈 구조를 보면 이전 슬라이스의 anchor, non-anchor와 현재 슬라이스의 anchor를 통해 global correlation를 추정한다.

Inter-Slice Global Context Module


(모델 구조의 쿼리가 i -> i-1로 수정되어야할 것 같음)

  1. Intra-Slice Global Context Module을 확장하여 Inter-Slice Global Context Module로 확장함.
  2. 현재 슬라이스의 non-anchor와 이전 슬라이스의 상관관계를 구해야하며, anchor값을 non-anchor의 근사값으로 사용.
  3. 복잡성을 줄이기 위해 인접한 슬라이스 간의 global correlation만 계산.

Result


RD-Curve에서 MLIC와 MLIC+가 2022년 SOTA였던 ELIC를 제치고 좋은 지표를 보였다.

VTM-17.0(VVC)를 기준으로 동일 정량지표 대비 MLIC, MLIC+는 약 8%, 11% 더 bit-rate를 압축할 수 있다고 한다.

Encoding & Decoding Latency

MLIC의 경우 ELIC보다 인코딩 & 디코딩 시간을 줄였으나, MLIC+의 경우 잠재표현의 채널 수가 192에서 320으로 늘어남에 따라 연산량이 증가하여 인코딩 & 디코딩 시간이 증가한 것을 확인할 수 있다.


참고
MLIC++ 정리

profile
Graduate student at Pusan National University, majoring in Artificial Intelligence

0개의 댓글