필수 비디오 코딩 (MPEG-5 EVC): 비즈니스 친화적인 차세대 비디오 표준
스트리밍 플랫폼, 디지털 방송사 및 모바일 네트워크가 고해상도 콘텐츠 전송(4K, 8K 및 HDR)을 확대함에 따라 비디오 압축 효율성은 전투의 절반에 불과합니다. 라이선스 불확실성과 복잡한 특허 로열티는 역사적으로 미디어 산업 전반에 코덱 채택을 방해해 왔습니다. 이 병목 현상을 해결하기 위해 움직이는 영상 전문가 그룹(MPEG)은 Essential Video Coding (EVC), 공식 명칭 **ISO/IEC 23094-1 (MPEG-5 Part 1)**을 개발했습니다.
2020년에 완성된 MPEG-5 EVC는 투명하고 예측 가능한 라이선스 모델로 설계된 간소화되고 고성능의 비디오 압축 프레임워크를 제공하여 현대 비즈니스 및 기술 요구 사항을 충족합니다.
1. MPEG-5 필수 비디오 코딩 (EVC)이란?
Essential Video Coding (EVC)은 MPEG가 현대 미디어 스트리밍, 방송 및 Over-The-Top (OTT) 플랫폼을 위해 만든 고급 비디오 압축 표준입니다. 이전 세대 표준의 복잡한 특허 환경이 배포를 어렵게 만든 것과 달리, EVC는 두 개의 명확히 정의된 운영 프로파일을 중심으로 설계되었습니다:
- Baseline Profile: 완전히 로열티가 없는 계층으로, 20년 이상 된 기술이나 취소할 수 없는 로열티 프리 선언으로 기여된 기술만을 엄격히 사용하여 구축되었습니다.
- Main Profile: HEVC (H.265) 효율에 맞추거나 능가하도록 설계된 선택된 고급 압축 도구들을 포함하는 고성능 계층이며, 각 독점 도구는 라이선스 문제가 발생할 경우 개별적으로 활성화하거나 비활성화할 수 있습니다.
EVC는 높은 계산 처리량, 뛰어난 대역폭 압축, 그리고 지적 재산권 투명성의 균형을 깔끔하게 제공합니다.
2. MPEG-5 EVC의 주요 특징
| 특징 | 사양 / 상세 |
|---|---|
| 표준화 기관 | ISO/IEC JTC 1/SC 29/WG 11 (MPEG) |
| 표준 참조 | ISO/IEC 23094-1 (MPEG-5 Part 1) |
| 주요 기여자 | Samsung, Huawei, Qualcomm |
| 압축 대상 | HEVC (H.265)를 능가하거나 동등하게 하며 메인 프로파일에서 ~25–30% 더 높은 효율성을 제공합니다 |
| 라이선스 구조 | 이중 프로파일 모델: 로열티 프리 (베이스라인) & 로열티 부과 (메인) |
| 주요 코덱 구현 | XEVE (인코더) & XEVD (디코더) |
| 지원 파일 확장자 | .evc, 원시 비트스트림, 그리고 .mp4 / .mkv 컨테이너 바인딩 |
| 해상도 지원 | SD까지 8K UHD ($7680 \times 4320$) 및 그 이상 |
핵심 전략적 장점:
- IP 위험 완화: 투명한 라이선스 풀을 통해 스트리밍 업체가 갑작스러운 로열티 소송 없이 차세대 압축을 배포할 수 있습니다.
- 모듈식 도구 전환: 메인 프로파일의 고급 인코딩 도구를 개별적으로 전환해도 전체 비트스트림 호환성을 손상시키지 않습니다.
- 하드웨어 및 소프트웨어 친화적: 데스크톱/모바일 CPU에서 빠른 멀티스레드 소프트웨어 실행과 간단한 ASIC 구현을 위해 처음부터 설계되었습니다.
3. EVC의 심층 기술 특징
EVC의 아키텍처는 두 프로파일 모두에 걸친 최신 알고리즘 혁신을 통해 기존 블록 기반 하이브리드 비디오 코딩 파이프라인을 최적화합니다:
A. 2단계 프로파일 아키텍처
- Baseline 프로파일: H.264/AVC와 동등한 압축 효율을 제공하며(구형 AVC 기준 대비 약 30% 비트레이트 절감으로 동일한 시각 품질 제공) 엄격한 로열티 프리 상태를 유지합니다.
- Main 프로파일: 최대 26개의 고급 코딩 도구를 추가하여 압축 효율을 향상시켜 동일한 주관적 품질에서 HEVC (H.265)를 약 25%~30% 능가하거나 동등하게 만듭니다.
B. 유연한 블록 분할 (이진 및 삼진 트리)
- Coding Tree Unit (CTU) 구조를 사용하여 **$64 \times 64$**까지의 큰 블록 크기를 지원하고, 확장 프레임워크에서는 $128 \times 128$까지 지원합니다.
- 경직된 Quad-Tree 분할을 유연한 Binary-Tree (BT) 및 Ternary-Tree (TT) 파티셔닝으로 대체하여 인코더가 실제 움직임 벡터와 불규칙한 이미지 윤곽을 따라 블록을 슬라이스할 수 있게 합니다.
C. 고급 내부 예측 모드
- 전통적인 인트라 예측을 확장하여 다양한 방향 각도와 평면 모드를 제공합니다.
- 메인 프로파일에서 Advanced Intra Prediction (AIP) 및 인트라 서브 블록 파티셔닝을 활용하여 복잡한 전경 패턴과 섬세한 배경 그라디언트를 블록 아티팩트 없이 모델링합니다.
D. 향상된 인터 예측 및 움직임 정제
- Affine Motion Compensation: 줌, 원근 왜곡, 회전 움직임과 같은 복잡한 모션 역학을 효율적으로 예측합니다.
- Merge Mode with MVD (MMVD): 표준 모션 병합 후보와 작은 모션 벡터 차이를 결합하여 초고효율 모션 신호를 제공합니다.
- Adaptive Motion Vector Resolution (AMVR): 비디오 복잡도에 따라 인코더가 퀘터-펠, 풀-펠, 4-펠 해상도 사이에서 동적으로 모션 정밀도를 전환할 수 있게 합니다.
E. 루프 내 후처리 필터
- Deblocking Filter (DBF): 블록 가장자리의 경계 불연속성을 제거합니다.
- Advanced In-Loop Filter (ALF) & Hadamard Transform Domain Filter (HTDF): 메인 프로파일은 고급 루프 필터를 제공하여 고주파 텍스처 디테일을 복원하고 저비트레이트에서 압축 노이즈를 억제합니다.
4. EVC 파일 생성 및 인코딩 방법
EVC 비디오 스트림은 공식 오픈소스 XEVE (eXtra-fast Essential Video Encoder) 라이브러리 또는 libxeve가 설정된 최신 FFmpeg 빌드를 사용하여 생성됩니다.
방법 1: 독립형 XEVE CLI 인코더 사용
- XEVE 저장소를 복제하고 컴파일합니다:
git clone https://github.com/mpeg5/xeve.git
cd xeve && mkdir build && cd build
cmake .. && make
- 원시 YUV 비디오를 EVC 비트스트림으로 인코딩합니다:
# Baseline Profile (Royalty-Free)
./xeve_app -i input_1080p.yuv -w 1920 -h 1080 -z 60 -p baseline -o output_baseline.evc
# Main Profile (High Compression)
./xeve_app -i input_1080p.yuv -w 1920 -h 1080 -z 60 -p main --preset medium -q 28 -o output_main.evc
방법 2: FFmpeg (libxeve)를 사용한 EVC 인코딩
현대 FFmpeg 버전(--enable-libxeve로 컴파일)에서는 MP4, MKV 또는 ProRes 소스에서 직접 원스텝 인코딩이 가능합니다:
ffmpeg -i input_video.mp4 -c:v libxeve -xeve-params "profile=main:preset=medium:qp=28" -c:a aac output_evc.mp4
5. EVC 비디오 파일 열기 및 재생 방법
EVC가 최신 아키텍처를 위해 설계되었기 때문에, 소프트웨어 디코더와 미디어 재생 스위트에서 디코딩을 지원합니다:
1. 공식 XEVD (초고속 필수 비디오 디코더) 사용
공식 MPEG 오픈소스 디코더는 원시 .evc 스트림을 다시 압축되지 않은 비디오로 디코딩합니다:
git clone https://github.com/mpeg5/xevd.git
cd xevd && mkdir build && cd build && cmake .. && make
./xevd_app -i output_main.evc -o decoded.yuv
2. FFmpeg / FFplay 로 디코딩 및 재생
FFmpeg 환경이 --enable-libxevd로 빌드된 경우, EVC 비디오 스트림을 직접 디코딩하거나 미리볼 수 있습니다:
# Playback using FFplay
ffplay -vcodec libxevd output_main.evc
# Transcode EVC to standard H.264/MP4 for wide viewing
ffmpeg -c:v libxevd -i output_main.evc -c:v libx264 -c:a copy output_preview.mp4
3. 통합 비디오 플레이어
EVC 스트림을 표준 .mp4 또는 .mkv 파일로 멀티플렉싱한 경우, 맞춤형 MPV 빌드나 업데이트된 LAV Filters를 포함한 미디어 플레이어에서 libxevd를 지원하여 재생할 수 있습니다.
EVC vs. HEVC vs. VVC vs. AV1 비교
| 코덱 | 표준화 기구 | 로열티 모델 | 압축 vs. AVC (H.264) | 핵심 강점 |
|---|---|---|---|---|
| EVC (베이스라인) | ISO/IEC MPEG | 100% 로열티 프리 | ~30% 더 나은 | IP/라이선스 노출 없음 |
| EVC (메인) | ISO/IEC MPEG | 투명한 로열티 풀 | ~60% 더 나은 | 전환 가능한 도구, 고속 |
| HEVC (H.265) | ITU-T / ISO/IEC | 복잡한 다중 풀 라이선스 | ~50% 더 나음 | 광범위한 하드웨어 지원 |
| AV1 | AOMedia | 로열티 프리 | ~50-55% 더 좋음 | 대규모 웹 생태계 지원 |
| VVC (H.266) | ITU-T / ISO/IEC | 로열티 부과 | ~70-75% 더 좋음 | 8K/VR을 위한 궁극적인 효율성 |
자주 묻는 질문 (FAQ)
**Q1: MPEG-5 EVC 개발의 주요 목적은 무엇인가요? A1: EVC는 예측 가능하고 투명한 라이선스와 로열티 프리 베이스라인 프로파일을 제공하는 차세대 비디오 압축을 위해 만들어졌습니다.
**Q2: EVC 베이스라인 프로파일은 메인 프로파일과 어떻게 다릅니까? A2: 베이스라인 프로파일은 오래된 기존 기술을 사용하여 완전히 로열티 프리이며, 메인 프로파일은 최대 압축 효율을 위해 전환 가능한 고급 도구를 추가합니다.
**Q3: EVC 비디오를 인코딩하고 디코딩하는 데 사용되는 오픈소스 도구는 무엇입니까? A3: 인코딩에는 XEVE(eXtra-fast Essential Video Encoder)를 사용하고, 디코딩에는 XEVD(eXtra-fast Essential Video Decoder)를 사용합니다.
**Q4: MPEG-5 EVC를 표준 비디오 컨테이너 포맷에 패키징할 수 있습니까?
A4: 예, EVC 비트스트림은 MP4(.mp4), Matroska(.mkv), MPEG 전송 스트림 등 인기 있는 미디어 컨테이너 포맷에 멀티플렉싱할 수 있습니다.
**Q5: EVC의 압축 효율은 HEVC(H.265)와 비교하면 어떻습니까? A5: 메인 프로파일에서 EVC는 전체 비트레이트를 25%에서 30% 추가로 감소시키면서 HEVC와 동등한 시각 품질을 달성합니다.
결론
MPEG-5 Essential Video Coding (EVC)은 과거에 차세대 코덱 채택을 늦추어 온 상업적 및 운영상의 과제를 해결합니다. 보증된 로열티 프리 베이스라인 계층과 고효율, 모듈식 메인 프로파일을 결합함으로써, EVC는 비디오 스트리밍 서비스, 방송 사업자 및 소프트웨어 개발자에게 기술 성능, 연산 속도, 그리고 지적 재산권 투명성의 이상적인 균형을 제공합니다.