2024년 9월 30일
VVC (Versatile Video Coding)
1. H.266 표준, VVC (Versatile Video Coding)의 개요
(1) VVC (Versatile Video Coding)의 개념 및 특징
개념 | HEVC 표준 이후 압축율을 개선하여 CCLM, MMVD, LFNST, SAO, CABAC 등을 적용한 비디오 코덱 표준 기술 |
---|---|
특징 | 전통적인 블록 기반 하이브리드 코덱 구조 채용, HEVC 핵심 기술 확장 및 개선과 함께 여러 새로운 기술 적용 |
(2) 비디오 코덱 표준화 동향
- ISO/IEC, ITU-T의 협력팀인 JVET(Joint Video Experts Team)은 2020년 기존 HEVC보다 2배 이상의 압축 성능을 목표로 한 비디오 코덱 표준으로 VVC를 채택하여 표준화
2. VVC의 부호화/복호화 메커니즘 및 구성요소
(1) VVC의 부호화/복호화 메커니즘
① 원본 영상 신호 입력 시 화면 예측 신호 생성 ② 원본 신호에서 예측 신호를 뺀 차분 신호를 DCT, DST로 주파수 영역 변환 후 양자화 ③ 양자화된 변환 계수를 엔트로피 부호화 기반 압축된 비트스트림 디지털 신호 생성/전송 ④ 수신된 복원 영상은 블록 단위 부호화로 인한 화질 저하 방지를 위해 인루프-필터링 수행 |
(2) VVC의 부호화/복호화 구성요소
구분 | 구성요소 | 역할 |
---|---|---|
영상 분할 구조 | 슬라이스 (Slice) | – 원본 영상을 슬라이스로 분할, 패킷으로 캡슐화 후 전송 – Raster-scan slice, Rectangular slice |
타일 (Tile) | – 영상 내 직사각형 타일 단위로 부/복호화 병렬 처리 가능 – MCTS 기반 타일 간 시공간 독립성 확보 | |
브릭 (Brick) | – 타일을 횡방향 분할/생성, 병렬처리 기본 단위 – 이전 표준(HEVC)에 미존재, VVC 신규 단위 | |
서브픽처 (Subpicture) | – 영상을 직사각형 슬라이스로 구성하여 독립적 부호화 – MCTS보다 유연, 위치/크기 정보는 SPS에서 시그널 | |
부호화 블록 구조 | CU (Coding Unit) | – QT 허용 가능 크기 내 재귀적 분할 또는 BT, TT로 분할 – 최소 4 x 4, 최대 128 x 128 분할 가능 |
CTU (Coding Tree Unit) | – CU 분할 최상위 노드로 CU 최대 크기는 CTU 와 동일 – 최대 128 x 128 크기 분할 허용 |
- 슬라이스, 타일, 브릭, 서브픽처는 다수의 CTU로 구성되며, CTU 마다 재귀적 분할 구조로 CU 생성
- 슬라이스, 타일, 브릭, 서브픽처는 사용자에 의해 크기 및 개수를 결정할 수 있으며, Application 특성에 따라 다양하게 선택 가능
3. VVC의 동작 요소 별 주요 기술
동작 요소 | 주요 기술 | 세부 동작 방식 |
---|---|---|
화면 내 예측 (Intra Prediction) | CCLM | – 휘도 성분과 색차성분의 중복성 이용, 색차성분 예측 |
PDPC | – 예측 값, 픽셀 위치 기반 가중치 합으로 최종 예측값 생성 | |
MRLP | – mrl_idx의 참조 샘플 라인 통해 예측 | |
ISP | – 블록 크기에 따라 2개 또는 4개로 분할, 서브 블록 예측 | |
MIP | – 사전에 트레이닝된 행렬 기반 예측 | |
화면 간 예측 (Inter Prediction) | MMVD | – 복잡도 감소 위해 MERGE 후보 중 처음 2개만 적용 |
DMVR | – 코더 기반의 움직임 벡터(MV) 보정 기술 | |
BDOF | – optical flow 기반 4×4 MV 탐색, CU 내 샘플값 변화 추정 | |
CIIP | – 예측신호 가중합에 의한 화면간/화면내 예측신호 결합 | |
AMVR | – 부호화 비트 절감 위해 MVD 해상도 적응적 선택 | |
변환 및 양자화 (Transform and Quantization) | DST | – 기저 벡터 기반 4 x 4 휘도 잔차 블록 변환 |
DCT | – 기저 벡터 기반 4 x 4 휘도 외 잔차 블록 변환 | |
MTS | – 여러 변환 기저를 선택적으로 사용하여 변환 | |
LFNST | – DCT/DST 기반 주파수 영역으로 변환된 잔차 신호 변환 | |
인루프 필터 (In-Loop Filtering) | DF | – 8 x 8 그리드와 블록 경계 블록킹 열화 현상 개선 |
SAO | – DF 수행 후 원본/복원 영상 에러 최소화 | |
ALF | – 4 x 4 샘플 단위 클래스별 부/복호화 손실 최소화 | |
LMCS | – 전/후처리 HDR 보정 기술을 VVC 코덱 내부 적용 | |
엔트로피 부호화 (Entropy Coding) | CABAC | – 확률 업데이트 시 간단한 수식 기반 테이블 업데이트 – 정확한 심볼 확률 전달 위해 2개의 다른 확률 모델 사용 |
- VVC는 서브픽처 단위 독립적 부호화 및 직사각형 타일 단위 영상을 분할하여 이전 표준인 HEVC 대비 높은 압축률로 효율적 부호화 가능
4. VVC와 이전 표준(HEVC) 비교
비교 항목 | VVC | HEVC |
---|---|---|
표준 번호 | H.266 | H.265 |
분할 | 타일, 슬라이스, 서브픽처 | 타일 또는 슬라이스 |
CTU 크기 | 최대 256 x 256 | 최대 26 x 26 |
CTU 분할 | QT, MMT(Multi-Type Tree) | QT |
CU 형태 | 직사각형(정사각형 포함) | Only 정사각형 |
Motion Vector Coding | AVMP, AFFINE INTER | AMVP |
Motion Compensation | BCW, CIIP | Weighted Bi-Prediction |
- VVC는 UHD, 360도 전방위 몰입형 비디오, HDR(High Dynamic Range) 등 다양한 포맷의 비디오를 효율적으로 압축하는 비디오 코덱 표준이며, 이후 구현 복잡도를 개선한 차세대 비디오 코덱 기술인 ECM(Enhanced Compression Model) 기술 표준화 진행중
[주요 기술 명칭]
- MCTS: Motion Constraint Tile Set
- BT / TT / QT: Binary Tree / Ternary Tree / Quad Tree
- CCLM: Cross-Component Linear Model
- PDPC: Position Dependent intra Prediction Combination
- MRLP: Multi Reference Line intra prediction
- ISP: Intra Sub-Partitioning
- MIP: Matrix based Intra Prediction
- MMVD: Merge with MV Difference
- DMVR: Decoder-side MV Refinement
- BDOF: Bi-Directional Optical Flow
- CIIP: Combined Intra/Inter Prediction
- AMVR: Adaptive MV Resolution
- DST: Discrete Sine Transform
- DCT: Discrete Cosine Transform
- MTS: Multiple Transform Selection
- LFNST: Low-Frequency Non-Separable Transform
- DF: Deblocking Filter
- SAO: Sample Adaptive Offset
- ALF: Adaptive Loop Filter
- LMCS: Luma Mapping with Chroma Scaling
- CABAC: Context-based Adaptive Binary Arithmetic Coding
- BCW: Bi-prediction with CU-level Weight
[참고]
- 한국방송·미디어공학회, 방송과 미디어 제24권 4호 (VVC(Versatile Video Coding) 표준기술)