Journal of Broadcast Engineering
[ Regular Paper ]
JOURNAL OF BROADCAST ENGINEERING - Vol. 29, No. 1, pp.28-41
ISSN: 1226-7953 (Print) 2287-9137 (Online)
Print publication date 31 Jan 2024
Received 08 Nov 2023 Revised 30 Nov 2023 Accepted 30 Nov 2023
DOI: https://doi.org/10.5909/JBE.2024.29.1.28

MPEG-5 Essential Video Coding 오픈소스 코덱 XEVE, XEVD 성능 평가

최기호a),
a)경희대학교 전자공학과/전자정보융합공학과
Performance Evaluation of Open Source Codec XEVE, XEVD for MPEG-5 Essential Video Coding
Kiho Choia),
a)Department of Electronics Engineering and Department of Electronics and Information Convergence Engineering, Kyung Hee University

Correspondence to: 최기호(Kiho Choi) E-mail: aikiho@khu.ac.kr Tel: +82-31-201-2566

Copyright © 2024 Korean Institute of Broadcast and Media Engineers. All rights reserved.
“This is an Open-Access article distributed under the terms of the Creative Commons BY-NC-ND (http://creativecommons.org/licenses/by-nc-nd/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited and not altered.”

초록

최근 세계적으로 동영상의 활용도가 크게 증가하고 있다. 새로운 서비스를 제공하기 위한 동영상 기반 애플리케이션 등장과 함께 동영상 응용 분야가 빠르게 진화하고 있으며, 이러한 응용 분야의 특징은 고해상도 및 고품질 영상을 활용하여 소비자의 경험을 더욱 풍부하게 만든다는 것이다. 동영상 활용도의 증가는 인터넷 트래픽에서 동영상이 차지하는 비중을 더욱 가중화 하는 결과를 만들고 있고, 증가된 영상 트래픽을 제어하기 위하여 동영상 압축 기술의 중요성이 부각되고 있다. 본 논문은 영상 데이터를 효율적으로 압축하기 위해서 등장한 최신 코덱 표준 중 하나인 MPEG-5 part1 Essential Video Coding (EVC) 표준의 오픈소스 코덱인 XEVE, XEVD의 압축 성능과 복잡도를 평가하고 실험 결과를 통해 새로운 통찰력을 제시하고자 한다. 구체적으로 실험을 통해 확인된 XEVE, XEVD 압축 성능은 제공하는 모드에 따라서 다양하게 나타나지만 표준화 과정에서 제시된 성능과 유사하여 시제품을 위한 성능 검증을 위한 활용도는 높은 것으로 판단된다. XEVE, XEVD의 복잡도 성능은 상용화 관점에서 바로 제품에 적용하기에는 인코더 복잡도 부분에서 개선이 필요할 것으로 확인되었다.

Abstract

The use of video has recently expanded dramatically over the world. Video applications are fast expanding as a result of the introduction of video-based applications to deliver new services. These applications are distinguished by the use of high-resolution and high-quality images to enhance the user experience. This growth in video usage has resulted in an increase in the proportion of video traffic in internet traffic. The significance of efficient video compression technologies in controlling increased video traffic is being emphasized. The purpose of this paper is to assess the compression performance and complexity of XEVE, XEVD, an open-source codec based on the MPEG-5 part 1 Essential Video Coding (EVC) standard, one of the most recent codec standards to emerge. The coding performance confirmed through the experiment was confirmed to have achieved good compression performance compared to the previous generation standard codec as the results of standardization; thus, it is considered to be highly utilized to verify the performance for the prototype. However, from a commercial point of view, it was confirmed that improvement in complexity is necessary to apply it directly to the product.

Keywords:

Video Coding, Essential Video Coding, EVC, XEVE, XEVD

Ⅰ. 서 론

최근 전세계적으로 비디오 애플리케이션의 발전이 눈부시다. 특별히 고퀄리티의 경험을 원하는 소비자의 요구로 인하여 디바이스의 해당도가 크게 증가하였고, 자연스러운 움직임을 지원하기 위한 시간당 프레임 재생 수 또한 크게 증가하였다. 이에 따라 비디오 영상 컨텐츠의 용량 또한 크게 증가하게 되었다. 예를 들어, 곧 대중화될 것으로 예상이 되는 4K급의 영상의 경우 일반적인 비트 전송률은 약 20Mbps으로, 이는 현재 설치된 네트워크에서 실시간으로 처리하기에는 부담이 되는 수치로 여겨진다. 이와 같은 고용량을 사용하는 영상 증가의 트랜드는 2D 비디오에 한정되지 않고, 더 많은 데이터 용량이 필요한 3D 비디오, Volume metric 입체영상, 360도 영상, VR/AR 영상에도 나타나고 있는 실정이다[1].

Cisco에서 발간된 리포트에 따르면 현재 인터넷을 통해 발생하는 전체 트래픽 중 비디오와 관련된 트래픽은 약 80%인 것으로 조사 및 예측되고 있다[2]. 해당 수치는 인터넷 모든 트래픽 중에서 비디오와 관련된 데이터의 양인 것을 고려하여 보았을 때, 전세계의 망에서 전송되는 대부분의 데이터가 비디오와 직접 또는 간접적으로 연관되어 있다고 말할 수 있을 것이며, 이는 최근 소모되는 컨텐츠의 특성을 고려하여 보았을 때 그 수치가 더욱 증가할 것으로 예측된다[3].

전통적으로 비디오 압축 기술은 표준을 통해서 발전하여 왔다. ISO/IEC Moving Picture Experts Group (MPEG)와 ITU-T Video Coding Experts Group (VCEG)등 비디오 표준 단체들은 증가하는 비디오 데이터 트래픽을 처리하고 더 높은 해상도, 더 높은 품질, 더 높은 프레임률과 같은 소비자들의 끊임없는 요구를 만족시키기 위해 오랫동안 비디오 코딩 표준을 공동 개발해 오고 있다. MPEG-2/H.262[4], Advance Video Coding (AVC)/H.264[5], High Efficiency Video Coding (HEVC)/H.265[6] 표준이 두 표준기관에서 공동으로 만든 대표적인 비디오 표준 코덱 기술이다. 해당 코덱들은 시장에 성공적으로 정착되어 영상 데이터를 효율적으로 압축하여 전송하는데 크게 이바지하고 있다.

최근 두 표준 기관에서는 HEVC/H.265 표준 완료 이후 새로운 비디오 코딩 표준인 Versatile Video Coding (VVC)/H.266[7]와 MPEG-5 Essential Video Coding (EVC)[8] 표준을 완료하였다. 두 표준 모두 2018년도에 시작하여 2020년도에 완성되었고, 최근 시장에 적용되기 위해서 준비하고 있다. 두 표준 코덱 개발시 지향하는 부분이 달라 VVC/H.266는 MPEG와 VCEG이 공동으로 개발한 반면, EVC는 MPEG에서만의 개발하여 표준으로 완성되었다.

한편, 동일한 시기에 표준 기구 외적으로 새로운 코덱이 등장하였다. 2015년 비표준 단체인 Alliance for Open Media (AOM)가 설립되어 HEVC/H.265의 코딩 효율성을 능가하는 개방형 코덱 표준 개발을 시작하였고, AOM은 2018년 3월 AOM미디어 비디오 코덱 1.0 (i.e., AV1) 표준을 완성하였다[9]. 현재 AV1 코덱은 칩으로 구현되어 여러 디바이스에 탑재되고 있으며, 소비자에게 사용될 날이 멀지 않은 것으로 여겨진다.

본 논문에서는 최근에 완료된 표준 및 비표준 코덱 기술 중 EVC 표준 기술의 성능을 EVC 오픈소스 코덱을 통해서 심층적으로 분석하고자 한다. 본 논문의 남은 구성은 다음과 같다. 본론에서 EVC에 대한 기술적 소개와 함께 EVC 오픈소스의 구성을 제시하고, EVC 오픈소스를 활용하여 압축 성능 및 복잡도 성능을 평가할 예정이다. 결론에서 본 실험을 통해 얻은 인사이트를 소개하고 논문을 마무리할 예정이다.


Ⅱ. 본론

1. EVC 표준 소개

EVC는 MPEG에서 2020년에 제정한 표준 코덱이다. 우월한 성능과 함께 상업화에 유리하도록 비즈니스적 관점을 고려하여 만들어진 비디오 코딩 표준으로, Baseline 프로파일과 Main 프로파일을 중심으로 개발되었다. 더 높은 압축 성능에 대한 니즈는 지속적으로 존재하지만, 역사적으로 살펴보았을 때 코딩 효율성만이 성공적으로 시장에 정착할 수 있는 필요 충분 요소는 아니었다. 시장에 채택되는 비디오 코딩 기술은 기존 및 새롭게 등장하는 실제 사용 사례의 요구를 해결해야 하며, 기술적 관점과 비즈니스 관점 모두에서 채택이 용이해야 하는 조건이 항상 존재하였다. 특별히 비즈니스적 관점에서 시장에 적용하기 유리한 코덱을 제정하기 위해서는 완성 표준이 저로열티를 보장할 수 있어야 하고, 해당 비즈니스적 조건은 기술을 제정하는 단계에서부터 충분한 고민과 함께 검토가 이루어져야 할 필요성이 있다고 여겨졌다[10]. 이러한 산업계의 기술 및 비즈니스 요구사항을 달성하기 위해, EVC 표준은 로열티 친화적인 Baseline 프로파일과 소수의 개선된 코딩 도구를 포함하는 Main 프로파일이 개발되었다. 그림 1은 EVC 코덱의 구조도와 함께 프로파일에 따라 기술을 나타낸다.

Fig. 1.

Block diagram for EVC

2. EVC Baseline 프로파일

EVC Baseline 프로파일은 비즈니스적 과점에서 로열티 친화적인 기술을 채택하였으며, 해당 기술들은 모두 20년 전에 개발된 개별적 기술을 근거로 하여 Baseline 프로파일에 적용되었다. 블록 구조도의 경우 64x64블록의 기반으로 쿼드트리 분할을 지원하는 구조를 기본으로 한다. 코딩 유닛의 최대 블록 크기는 64x64이고 최소 크기는 4x4이다. 코딩 유닛 블록을 기본으로 하여 화면내 예측이 수행되는데, 화면내 예측의 경우 5개의 방향성이 지원되는 예측 모드를 가지고 있다. Baseline 프로파일에서 지원하는 해당 화면내 예측은 정밀한 방향성 예측은 불가능하나 주류를 이루는 화면내의 방향성에 대한 예측이 가능하여 화면내에서 방향성을 가진 정보의 중복성을 줄일 수 있다. 화면간 예측의 경우 코딩 유닛 블록을 기본으로 하여 모션 예측, 모션 보상을 지원한다. 정밀한 모션 예측을 위해서 다중 레퍼런스를 참조할 수 있도록 지원하며, 모션 벡터의 경우 주변 블록에서 이용할 수 있는 정보를 기반으로 한 후보군을 생성하고, 후보군을 중심으로 모션 벡터를 찾고 모션 정보를 코딩한다. 모션 벡터를 위한 후보군 생성시 적응적으로 구성하지는 않으며, 주변 블록의 정해진 위치에 따라 인덱스가 고정적으로 정해지는 방식을 취한다. 예측 과정을 통해 생성된 잔차 값은 DCT를 통해 주파수 값으로 변환되며, 변환된 계수 값은 양자화 과정을 통해 인코딩 대상이 되는 양자화된 계수 값으로 만들어진다. 이때 DCT 변환은 예측 블록과 동일한 사이즈를 가지며, 양자화의 경우 0에서 51의 양자화 파라미터 값을 가지는 양자화 과정이 적용되다. 양자화된 계수 값은 지그재그 스캔을 통해 일렬화 된 후 기초적인 런-레벨 코딩 방식으로 이진화 되고, 해당 이진화 값은 JPEG Annex D[11]에 기술된 엔트로피 코딩 엔진으로 비트스트림화 된다. 한편, Baseline 프로파일의 경우 객관적, 주관적 화질 향상을 위해서 초기버전의 디블록킹 필터가 적용되었다. 해당 방식은 H.263 Annex J[12]에 적용된 방식과 동일하다.

EVC Baseline 프로파일의 경우 동일 화질 기준으로 현재 인터넷에서 가장 많이 활용되는 AVC/H.264와 비교하여 객관적 평가에서 약 30%, 주관적 평가에서 약 40%의 비트 절감이 이루어졌음이 리포트 되었다[13].

3. EVC Main 프로파일

EVC Main 프로파일은 높은 압축 성능을 보장하기 위해서 Baseline 프로파일에서 최신 기술을 더한 구성을 하고 있다. 먼저 블륵 구조도는 다양한 모양의 코딩 유닛이 구성 가능하도록 이분할 및 삼분할 기반의 분할 기법을 가진다. 코딩 유닛의 최대 블록 크기는 128x128에서 시작하여 최소 크기는 4x4에 이르기까지, 정사각형의 모양에 구애받지 않는 설정이 가능하다. 또한, 나눠진 코딩 유닛의 코딩 순서도 좌에서 우로 수행되는 raster 스캔 방식에서 벗어나 우에서 좌로 수행되는 적응적 스캔 방식도 지원한다.

예측 방식은 화면내 예측의 경우 33개의 방향성이 지원되는 화면내 예측 방식을 수행하여 정밀한 예측이 가능하며, 화면간 예측의 경우 코딩 유닛 기반의 모션 예측, 모션 보상을 기본적으로 지원하고, 더불어 화면간 예측 성능을 강화하기 위해서 4개의 강력한 화면간 예측 툴이 지원된다.

첫번째 화면간 예측 툴은 적응적 모션 벡터 해상도 기술 (i.e., AMVR)로 모션 벡터 정보 전송시 소모되는 시그널링 오버헤드를 줄이기 위해, 1/4-pel에서 4-pel까지의 다중 모션 벡터 해상도를 적응적으로 표현하여 오버헤드를 감소시킨다. 인코더는 비트레이트-왜곡 최적화 (i.e., RDO)에 기반으로 하여 표하는 해상도를 선택하고, 선택된 해상도 인덱스는 MVD 정보가 시그널링될 때 각 CU 별로 디코더에 시그널링된다.

두번째는 머지 기반 모션 차분 값 코딩 기술 (i.e., MMVD)로 MMVD는 단순화된 시그널링을 갖는 새로운 모션 벡터 표현 방법을 제공한다. HEVC/H.265의 스킵 및 머지 모드들과 유사하게, MMVD는 이웃 모션 정보로부터 후보 리스트를 만들지만, MMVD는 이웃 모션들에 제한되지 않는 더 확장된 모션들을 커버할 수 있다. 보다 정밀한 후보들을 구성하기 위해, 시작점, 모션 크기 및 모션 방향이 활용된다. MMVD의 사용은 많은 모션 차분 값을 위한 시그널링 정보를 제거할 수 있어 최소의 비용으로 최대의 정보를 디코더에 전송할 수 있는 기술이다.

세번째 화면간 예측 기술은 어파인 예측 기술 (i.e., Affine)이다. Main 프로파일의 어파인 예측은 4개 및 6개의 파라미터 모델을 활용하는 모션 모드를 제공한다. 현재 코딩 유닛 대한 어파인 모션 필드는 좌측 상단 및 우측 상단 코너에 위치한 2개의 제어 포인트의 모션 벡터 또는 좌측 상단, 우측 상단 및 좌측 하단 코너에 위치한 3개의 제어 포인트의 모션 벡터에 의해 기술된다. 4개 및 6개의 파라미터 모델 모드에서, 현재 코딩 유닛에 대한 제어 포인트 모션 벡터는 비트스트림을 통해 디코더로 시그널링된다. 어파인 머지 모드에 대한 현재 코딩 유닛의 제어 포인트 모션 벡터는 이웃하는 코딩 유닛의 모션 정보에 기초하여 도출된다. 적용 유무를 나타내기 위해서 현재 코딩 유닛의 폭 및 높이가 모두 8보다 크거나 같으면, 비트스트림에서 코딩 유닛 단위로 플래그가 시그널링되어 디코더에 전달된다.

마지막으로 디코더측 모션 벡터 정제 기술 (i.e., DMVR)이다. DMVR 방법은 쌍방향 매칭 프로세스에 의해 추가로 정제되는 양방향 예측의 두 모션 벡터와 함께 동작한다. 양방향 예측 모드에서 정제된 모션 벡터는 과거 참조 픽처 리스트(i.e., L0) 및 미래 참조 픽처 리스트(i.e., L1) 내의 초기 MV 주위에서 검색된다. DMVR 검색은 정수 샘플의 모션 벡터 오프셋 검색 및 분수 샘플의 모션 벡터 정제로 구성된다. 정수 샘플 모션 벡터 검색은 L0 리스트 및 L1 리스트 내의 두 후보 참조 블록 사이의 왜곡을 계산한다. 초기 MV 주위의 각 MV 후보에 기초한 참조 블록 사이의 sum of absolute difference (SAD)가 계산된다. SAD가 가장 낮은 모션 후보가 정제된 모션 벡터가 되어 방향 예측 신호를 생성하는 데 사용된다.

변환 과정에서는 기본적인 DCT 변환과 더불어 화면내 및 화변간 예측에서 생성된 잔차에 대하여 적응적으로 DST-VII 및 DCT-VIII를 적용하는 기술 (i.e., ATS)이 사용되었다. 인트라 코딩된 블록에 대하여, ATS가 적용되었는지 아닌지를 디코더에 시그널링하기 위하여 플래그가 사용된다. 기본적으로 인코더는 코딩 유닛 단위로 RDO 프로세스에 기초하여 ATS의 사용을 결정한다. 인코더가 코딩 유닛에서 ATS의 사용을 선택하면, 수평 방향과 수직 방향에 대하여, 어떤 타입이 사용되는지를 나타내기 위하여 2개의 플래그가 디코더에 더 시그널링된다. 화면간 예측 코딩 유닛에 대하여 서브블록에 기반한 변환이 수행되고, 전체 잔차 블록 또는 부분 잔차 블록에 대한 변환수행 여부의 플래그가 시그널링된다.

EVC Main 프로파일에서는 객관적 및 주관적 성능 성향을 위해서 디블록킹필터 이외에 두개의 고성능 툴이 지원된다. 먼저는 적응 루프 필터 (i.e., ALF)이다. 해당 기술은 코딩 아티팩트를 억제하고, 디코딩된 및 참조 픽처의 시각적 및 객관적 품질을 향상하기 위해서 디코딩된 샘플을 ALF로 필터링한다. ALF의 파라미터는 슬라이스 또는 타일 코딩 유닛으로부터 참조될 수 있는 Adaptation Parameter Set (APS)라고 하는 독립적인 NAL 유닛으로 시그널링된다. 루마 필터링의 경우 두 가지 유형의 다이아몬드 필터 패턴(5x5 및 7x7)이 정의되고, 크로마 샘플의 경우 5x5 패턴만이 사용된다. 각 ALF 필터 구조는 최대 25개의 상이한 루마 필터로 구성될 수 있고, 활용된 루마 필터는 각 4x4 블록에 대한 분류 프로세스를 통해 선택된다.

두번째의 고성능 필터링 툴은 하다마드 변환 도메인 필터 (i.e., HTDF)이다. 디블록킹 필터 및 ALF 외에 잔여 계수의 양자화에 의해 야기되는 링잉 아티팩트를 감소시키는 것을 목표로 EVC Main 프로파일에 도입되었다. HTDF는 양자화 파라미터가 17보다 클 때 루마 복원 블록에 적용된다. 동작은 2x2 하다마드 변환을 기반으로 3x3 저영역 패스를 수행하는 스무딩 필터의 결과를 도출한다. 필터 파라미터는 변환 블록 크기 및 양자화 파라이터를 포함하여 코딩된 정보로부터 명시적으로 얻을 수 있다.

EVC Main 프로파일의 경우 동일 화질 기준으로 현재 4K급 이상의 영상을 위해서 활용되는 HEVC/H.265와 비교하여 객관적 평가에서 약 26%, 주관적 평가에서 약 40%의 비트 절감이 이루어졌음이 리포트 되었다[13].

4. EVC open source 코덱 소개

EVC 표준을 보다 광범위하고 쉽게 미디어 산업에 채택하기 위해 2021년 6월 오픈소스 비디오 인코더(i.e., XEVE)[14] 및 디코더(i.e., XEVD)[15] 프로젝트가 시작되었다. 오픈 소스 코드 개발의 목적은 시장에서 EVC 표준을 쉽게 검증하고 직접적으로 사용할 수 있도록 접근성을 높이는 것이다. 예를 들어 제공하고자 하는 목표는 고성능의 오픈 소스 인코더 XEVE는 추가 개발 없이 바로 Over-the-top (OTT) 서비스에 배포될 수 있을 정도의 코드 최적화를 진행하여 실시간으로 고품질의 비디오 콘텐츠를 인코딩을 가능하게 하는 것이다. 오픈 소스 디코더인 XEVD의 경우도 동일한 목적으로 OTT 서비스의 비디오 스트림을 재생하기 위해 스마트폰과 같은 임베디드 장치에 직접 배포될 수 있도록 개발의 목표를 두고 있다. XEVE, XEVD의 경우 표준 코덱 스펙에 따라 개발되었기에 표준과 호환성이 있어 EVC Baseline, Main 프로파일의 성능을 검증하고, 기술 개발 및 제품에 탑재하기 위한 테스트 베드로 사용하기 가정 접합한 플랫품으로 간주된다. 본 논문에서는 해당 EVC open source 코덱인 XEVE, XEVD를 활용하여 현재 EVC open source 코덱의 성능과 복잡도를 평가하고자 한다.

5. EVC open source 실험 환경

구체적으로 EVC 오픈소스의 성능을 측정하여 분석할 부분은 XEVE/XEVD의 preset에 따른 성능 및 복잡의 변화를 분석하고, 각 preset 셋팅에 따른 비주얼 퀄리티를 확인하고자 한다. XEVE/XEVD의 경우 각 프로파일을 인코딩할 수 있도록 명령어 파라미터를 설정해 두었고, 압축 성능과 복잡도를 고려하여 4가지 preset 옵션을 미리 마련해 두었다. 해당 옵션은 모두 Random Access 시나리오에서 동작하도록 설정되어 있으며, 압축률과 복잡도를 고려하여 최적의 화질을 생성하기 위한 placebo 모드에서부터 최소의 인코딩 시간을 제공하는 fast 모드까지 마련되어 있다.

EVC 오픈소스의 성능을 측정하기 위해서 JVET에서 실험을 위해 사용하는 테스트 시퀀스를 활용하였다. 표 1에 기입된 것과 같이 416×240에서 3840×2160 해상도 범위의 22개 비디오 시퀀스 세트를 활용하여 XEVE, XEVD의 성능을 확인해보도록 하였다. 실험을 위한 모드는 XEVE/XEVD에서 제공하는 4가지 preset 모드를 통해 테스트를 진행하였다. 실험에서 사용한 구체적으로 명령어는 표 2, 3를 통해서 확인할 수 있다.

Information on test sequences

Command line for Baseline profile test

Command line for Main profile test

6. XEVE/XEVD Baseline 프로파일 객관적 실험 결과

그림 2는 XEVE/XEVD Baseline 프로파일을 preset에 따라 실험하였을 경우에 대한 비트레이트와 PSNR 값을 나타낸다. 해당 그림은 Class 별로 평균 값의 비트레이트와 PSNR 값의 수치를 그래프로 제시하였다. 그림 2에서 나타난 것처럼 fast, medium, slow, placebo 모드의 순서대로 인코딩시 필요로 하는 비트양이 적었고, 그와 반대로 fast, medium, slow, placebo의 순서대로 PSNR 값이 높은 것으로 나타났다. 해당 결과는 시퀀스의 해상도에 상관없이 비슷한 경향을 나타내었으며, 특별히 fast에서 medium 모드로 변경시 그리고 slow에서 placebo 모드로 변경시 비트레이트가 많이 줄어드는 것이 확인되었다. 이와 반대로 medium에서 slow모드로 변경시 PSNR수치가 상대적으로 크게 증가하는 것으로 확인되었다.

Fig. 2.

Performance of Bitrate and PSNR for XEVE/XEVD Baseline profile

그림 3은 XEVE Baseline 프로파일을 preset에 따라 실험하였을 경우에 대한 인코딩 속도를 나타낸다. 해당 그림은 Class 별로 평균적인 1초당 생성되는 프레임수인 Frame per second (fps)를 그래프로 제시하였다. 그림 3에서 나타난 것처럼 fast, medium, slow, placebo 모드의 순서대로 인코딩시 필요로 시간이 적게 들었다. 특별히 placebo의 결과는 다른 세개의 모드에 비해서 훨씬 느린 것으로 나타났는데, 이를 통해 placebo모드는 다른 모드에 비해서 인코딩 시간 복잡도 개선이 필요한 것으로 나타났다. 더불어 시퀀스의 해상도에 상관없이 상용화 인코딩을 지원하기 위해서는 복잡도 개선이 필요할 것으로 예상된다. 1 core, 1 thread 환경에서 실험한 부분을 감안 하더라도 추가적인 인코더 복잡도 개선이 이루어질 경우에 상업적으로 사용할 수 있을 것으로 판단된다.

Fig. 3.

Encoding speed of XEVE Baseline profile

그림 4는 XEVE Baseline 프로파일을 preset에 따라 실험하였을 경우에 대한 디코딩 속도를 나타낸다. 해당 그림은 Class 별로 평균적인 1초당 생성되는 프레임수인 fps를 그래프로 제시하였다. 그림 4에서 나타난 것처럼 모드에 상관없이 Class 별로 비슷한 디코딩 속도가 나타났다. XEVD의 경우 복잡도 개선을 위해서 preset에 상관없이 공통적으로 적용되는 코드최적화 부분에서 이루어졌고, 알고리즘 최적화 부분은 추가적으로 이루어지지 않아 모드에 상관없이 비슷한 fps가 나타난 것으로 사료된다. 실험 결과를 살펴보면 현재 코드에서 ClassC, D, E는 실시간으로 디코딩이 가능한 것으로 확인되며, 1 core, 1 thread 환경에서 실험한 것을 고려하여 보았을 때, 다수의 core 및 thread를 사용할 경우 ClassB 또한 실시간으로 디코딩이 가능할 것으로 판단된다. 다만, ClassA1, A2의 경우 다수의 core 및 thread를 사용하더라도 실시간 디코딩에는 무리가 될 것으로 판단되며, 해당 부분에서 속도 개선이 이루어져야 할 것으로 판단된다.

Fig. 4.

Decoding speed of XEVD Baseline profile

7. XEVE/XEVD Main 프로파일 객관적 실험 결과

그림 5는 XEVE/XEVD Main 프로파일을 preset에 따라 실험하였을 경우에 대한 비트레이트와 PSNR 값을 나타낸다. 해당 그림은 Baseline 프로파일과 동일하게 Class 별로 평균 값의 비트레이트와 PSNR 값의 수치를 그래프로 제시하였다. 결과는 fast, medium, slow, placebo 모드의 순서대로 인코딩시 필요로 하는 비트양이 적었고, 그와 반대로fast, medium, slow, placebo의 순서대로 PSNR 값이 높은 것으로 나타났다. 해당 결과는 시퀀스의 해상도에 상관없이 비슷한 경향을 나타내었으며, 특별히 fast에서 medium 모드로 변경시 비트레이트가 많이 줄어드는 것이 확인되었다. 이외에는 대부분 줄어드는 비트레이트의 양과 증가하는 PSNR에 선형적으로 나타났다.

Fig. 5.

Performance of Bitrate and PSNR for XEVE/XEVD Main profile

그림 6은 XEVE Main 프로파일을 preset에 따라 실험하였을 경우에 대한 인코딩 속도를 나타낸다. 해당 그림은 Baseline 프로파일과 동일하게 Class 별로 fps를 그래프로 제시하였다. 그림 3에서 나타난 것처럼 fast, medium, slow, placebo 모드의 순서대로 인코딩시 필요로 시간이 적게 들었다. 특별히 fast 모드가 다른 모드에 비해서 3~7배 가까이 빠른 것으로 나타났으며, 다른 3개의 모드는 비슷한 정도의 인코딩 속도를 나타내었다. 4개 모드 모두 공통적으로 Baseline 프로파일에 비하여 fps가 훨씬 느린 것으로 나타났는데, 이는 코딩 성능을 향상하기 위해서 채택한 고성능 툴과 구조의 변경에서 오는 인코딩 속도 저하로 판단된다. Main 프로파일의 경우 아직 상용화의 수준에서 적용하기에는 힘든 수준의 인코딩 속도를 나타내며, 추가적인 인코더 복잡도 개선이 이루어질 경우에 상업적 사용에 관한 고려가 이루어질 수 있을 것으로 판단된다.

Fig. 6.

Encoding speed of XEVE Main profile

그림 7은 Main 프로파일의 디코딩 속도를 나타낸다. 결과는 Baseline 프로파일의 디코딩 속도 결과와 유사하게 Class 별로 비슷한 디코딩 속도가 나타났다. 이는 Baseline 프로파일 결과 분석과 동일하게 공통적으로 적용되는 코드최적화 부분에서 이루어졌고, 알고리즘 최적화 부분은 추가적으로 이루어지지 않아 모드에 상관없이 비슷한 fps가 나타난 것으로 사료된다. 실험 결과를 살펴보면 현재 코드에서 ClassC, D, E는 실시간으로 디코딩이 가능한 것으로 확인되며, 다수의 core 및 thread를 사용할 경우 ClassB 또한 실시간으로 디코딩이 가능할 것으로 판단된다. ClassA1, A2의 경우 Baseline 프로파일의 결과 분석과 동일하게 다수의 core 및 thread를 사용하더라도 실시간 디코딩에는 무리가 될 것으로 판단되며, 해당 부분에서 속도 개선이 이루어져야 할 것으로 판단된다.

Fig. 7.

Decoding speed of XEVD Main profile

8. XEVE/XEVD Baseline 프로파일 주관적 실험 결과

XEVE/XEVD Baseline 프로파일의 인/디코딩 결과를 주관적으로 확인하기 위하여 유사 비트레이트에서 복원된 화질을 비교하는 실험을 진행하였다. 실험 결과를 살펴보면 객관적 화질 결과와 유사하게 대부분 영상에서 fast, medium, slow, placebo의 순서로 주관적 화질이 좋아짐이 확인되었다. 예시로 그림 8은 Baseline 프로파일을 preset에 따라 인/디코딩한 BaseketballDrill 401프레임의 화질을 나타낸다. 그림의 결과처럼 fast 모드에서는 코딩 아티팩트, 링잉 아티팩트등이 드러나는 열화된 화질을 나타났으나, placebo 모드에서는 더 적은 비트레이트에서 코딩이 되었음에도 아트팩트가 누그러진 선명한 사선패턴 모양을 확인할 수 있다.

Fig. 8.

Decoded image of XEVE/XEVD Baseline profile at BaseketballDrill with #401 frame: (a) Original image, (b) fast mode (887kbps), (c) medium mode (864kbps), (d) slow mode (862kbps), (e) placebo mode (810kbps)

9. XEVE/XEVD Main 프로파일 주관적 실험 결과

XEVE/XEVD Main 프로파일의 인/디코딩 결과를 주관적으로 확인하기 위하여 유사 비트레이트에서 복원된 화질을 비교하는 실험을 진행하였다. Baseline 프로파일과 유사하게 fast, medium, slow, placebo의 순서로 주관적 화질이 좋아짐이 확인되었다. 그림 9는 Main 프로파일을 preset에 따라 인/디코딩한 BaseketballDrive 영상의 349프레임 화질의 비교 결과를 나타낸다. 그림의 결과처럼 fast 모드에서는 코딩 아티팩트, 링잉 아티팩트등이 나타나서 벽에 있던 선의 모양이 흐릿하나 placebo 모드에서는 선명한 선 모양을 확인할 수 있다.

Fig. 9.

Decoded image of XEVE/XEVD Main profile at BaseketballDrive with #349 frame: (a) Original image (b) fast mode (2,325kbps), (c) medium mode (2201kbps), (d) slow mode (2162kbps), (e) placebo mode (2135kbps)

10. 토의

앞서 XEVE/XEVD의 성능을 객관적 실험 평가와 주관적 실험 평가를 통해 살펴보았다. EVC Main 프로파일의 경우 HEVC/H.265의 차기 표준으로 간주할 수 있다는 점에서 VVC/H.266과 경쟁 관계에 있을 수 있다. 표준에서 발간된 성능 검증 리포트에 따르면 EVC Main 프로파일은 HEVC/H.265에 비하여 객관적 성능 평가에서 약 26%, 주관적 성능 평가에서 약 39%의 압축률이 향상되었음이 확인되었고[13][16], VVC/H.266의 경우 HEVC/H.265과 비교하여 객관적 성능 평가에서 약 36%, 주관적 성능 평가에서 최대 49% 압축률이 향상되었음이 확인되었다[17][18]. 알고리즘 성능 비교에서 EVC Main 프로파일은 VVC/H.266의 압축 성능과 견줄만한 수치가 나타남이 확인되나, 상용화를 준비하는 오픈소스에서 두 코덱의 차이가 있음이 확인된다. 특히 VVC/H.266 오픈소스 코덱인 VVenC/VVdeC[19][20]의 인코딩 성능을 살펴보면, 4K 영상을 대상으로 최대 9.31fps가 나타남이 보고되었는데[21][22], 해당 수치는 XEVE Main 프로파일의 0.001fps에 비하여 크게 높은 수치로 간주된다. 해당 fps수치는 멀티코어를 사용한 VVenC/VVdeC와 싱글코어를 사용한 XEVE/XEVD의 비교를 감안하더라도, 속도 측면에서 XEVE/XEVD는 아직 최적화가 많이 필요함이 확인된다. 압축 성능에서 EVC는 경쟁력 있는 성능이 리포트 되었던 만큼, 만약 오픈소스 XEVE/XEVD의 속도가 개선된다면 EVC 표준의 시장 채택에 큰 도움이 될 것이라 사료된다.


III. 결 론

본 논문에서는 EVC 표준 기술을 소개하고, EVC 오픈소스 코덱인 XEVE/XEVD의 압축 성능 및 복잡도를 분석해 보았다. EVC 코덱의 경우 비즈니스적 요구사항과 성능적 요구사항을 반영하기 위해서 Baseline 프로파일 및 Main 프로파일을 하나의 코덱으로 개발하였으며, 성능은 이전 세대 표준 코덱에 비하여 훌륭한 압축 성능이 달성되었음이 MPEG 표준평가를 통하여서 확인되었다. 21년부터 보다 쉽게 검증하고 광범위하게 사용할 수 있도록 오픈소스 코덱인 XEVE/XEVD의 프로젝트가 시작되었다. 실험을 통해 확인한 부분은 XEVE/XEVD는 성능 검증을 위한 활용도는 높은 것으로 판단되나, 상용화 관점에서 바로 제품에 적용하기에는 복잡도 부분에서 개선이 필요할 것으로 확인되었다. 시장의 요구로 시작된 EVC 표준이 오픈소스 코덱 XEVE/XEVD 프로젝트와 함께 시장에 널리 쓰이게 될지 지속적으로 확인해 볼 필요가 있을 것으로 사료된다.

Acknowledgments

This work was supported by Institute of Information & communications Technology Planning & Evaluation (IITP) grant funded by the Korea government(MSIT) (RS-2023-00220204, Development of Standard Technologies on next-generation media compression for transmission and storage of Metaverse contents) and the National Research Foundation of Korea(NRF) grant funded by the Korean government(MSIT) (NRF-2021R1F1A1060816).

References

  • Augmented Reality and Virtual Reality Market with COVID-19 Impact Analysis by Offering (Hardware & Software), Device Type (HMD, HUD, Gesture Tracking), Application (Enterprise, Consumer, Commercial, Healthcare), and Geography - Global Forecast to 2025, https://www.marketsandmarkets.com/Market-Reports/augmented-reality-virtual-reality-market-1185.html, , (accessed Oct. 10, 2023).
  • Cisco Visual Networking Index: Forecast and Methodology, 2016–2021, http://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/complete-white-paper-c11-481360.html, , (accessed Oct. 10, 2023).
  • Netflix, YouTube cut bandwidth use in Europe with Covid-19 crisis; Asia, US stand firm, https://mlexmarketinsight.com/news-hub/editors-picks/area-of-expertise/technology-media-telecoms/netflix-youtube-cut-bandwidth-use-in-europe-with-covid-19-crisis-asia-us-stand-firm, , (accessed Oct. 10, 2023).
  • Generic Coding of Moving Pictures and Associated Audio Information—Part 2: Video, ISO/IEC 13818-2 MPEG-2 and ITU-T Recommendation H.262, 1994.
  • Advanced Video Coding (AVC), ITU-T Recommendation H.264 and ISO/IEC 14496-10, May 2003.
  • High Efficient Video Coding (HEVC), ITU-T Recommendation H.265 and ISO/IEC 23008-2, Apr. 2013.
  • Versatile Video Coding (VVC), ITU-T Recommendation H.266 and ISO/IEC 23090-3, Jul. 2020.
  • ISO/IEC 23094-1:2020 Information technology — General video coding — Part 1: Essential video coding, Oct. 2020.
  • The Alliance for Open Media Kickstarts Video Innovation Era with AV1 Release, https://aomedia.org/press%20releases/the-alliance-for-open-media-kickstarts-video-innovation-era-with-av1-release, , (accessed Oct. 10, 2023).
  • K. Choi, J. Park, J. Samuelson, K. Gag, M. Aitken, M. Lee, “Industry request for a Licensing-friendly Video Codec”, ISO/IEC JCT 1/SC 29/WG 11 m43796, July 2018.
  • Information technology-digital compression and coding of continuous-tone still images-requirements and guidelines. International Telecommunication Union. CCITT recommendation, 81, p.09.
  • G. Bjontegaard, “Response to call for proposals for H.26L”, ITU-T SG16 Doc.Q15-F-11, Q15-F-11, Nov. 1998.
  • MPEG, Report on Essential Video Coding compression performance verification testing for SDR Content, ISO/IEC JTC 1/SC 29/WG 04 N0047, Jan. 2021
  • EVC encoder (XEVE), https://github.com/mpeg5/xeve, , (accessed Oct. 10, 2023).
  • EVC decoder (XEVD), https://github.com/mpeg5/xevd, , (accessed Oct. 10, 2023).
  • K. Choi, J. Chen, D. Rusanovskyy, K.Choi, and Euee S. Jang, “An Overview of the MPEG-5 Essential Video Coding Standard”, IEEE Signal Processing Magazine, Vol.37, No.3, pp.160-167, May 2020. [https://doi.org/10.1109/MSP.2020.2971765]
  • F. Bossen, X. Li, and K. Suehring, “AHG report: Test model software development (AHG3)”, JVET-T0003, Oct. 2020.
  • M. Wien and V. Baroncini, “VVC Verification Test Report for Ultra High Definition (UHD) Standard Dynamic Range (SDR) Video Content”, JVET-T2020, Oct. 2020.
  • VVC/H.266 encoder (VVenC), https://github.com/fraunhoferhhi/vvenc, , (accessed Nov. 29, 2023).
  • VVC/H.266 decoder (VVdeC), https://github.com/fraunhoferhhi/vvdec, , (accessed Nov. 29, 2023).
  • A. Wieckowski, J. Brandenburg, T. Hinz, C. Bartnik, V. George, G. Hege, C. Helmrich, A. Henkel, C. Lehmann, C. Stoffers, I. Zupancic, B. Bross, and D. Marpe, “VVENC: AN OPEN AND OPTIMIZED VVC ENCODER IMPLEMENTATION”, 2021 IEEE International Conference on Multimedia & Expo Workshops (ICMEW), July 2021. [https://doi.org/10.1109/ICMEW53276.2021.9455944]
  • VVenC Benchmark, https://openbenchmarking.org/test/pts/vvenc, , (accessed Nov. 29, 2023).
최 기 호

- 2004년 3월 ~ 2008년 2월 : 한양대학교 미디어통신공학과 학사

- 2008년 3월 ~ 2012년 8월 : 한양대학교 전자컴퓨터통신공학과 박사

- 2012년 9월 ~ 2014년 2월 : 한양대학교 부설 연구소 Post Doc.

- 2014년 3월 ~ 2021년 2월 : 삼성전자 삼성리서치 책임연구원

- 2021년 3월 ~ 2023년 2월 : 가천대학교 AI·소프트웨어학부 조교수

- 2023년 3월 ~ 현재 : 경희대학교 전자공학과 조교수

- ORCID : https://orcid.org/0000-0002-2869-0440

- 주관심분야 : 이미지/비디오 코딩, 멀티미디어 압축, AI 기반 멀티미디어 요소 기술, 멀티미디어 국제 표준

Fig. 1.

Fig. 1.
Block diagram for EVC

Fig. 2.

Fig. 2.
Performance of Bitrate and PSNR for XEVE/XEVD Baseline profile

Fig. 3.

Fig. 3.
Encoding speed of XEVE Baseline profile

Fig. 4.

Fig. 4.
Decoding speed of XEVD Baseline profile

Fig. 5.

Fig. 5.
Performance of Bitrate and PSNR for XEVE/XEVD Main profile

Fig. 6.

Fig. 6.
Encoding speed of XEVE Main profile

Fig. 7.

Fig. 7.
Decoding speed of XEVD Main profile

Fig. 8.

Fig. 8.
Decoded image of XEVE/XEVD Baseline profile at BaseketballDrill with #401 frame: (a) Original image, (b) fast mode (887kbps), (c) medium mode (864kbps), (d) slow mode (862kbps), (e) placebo mode (810kbps)

Fig. 9.

Fig. 9.
Decoded image of XEVE/XEVD Main profile at BaseketballDrive with #349 frame: (a) Original image (b) fast mode (2,325kbps), (c) medium mode (2201kbps), (d) slow mode (2162kbps), (e) placebo mode (2135kbps)

Table 1.

Information on test sequences

Sequence Class
A1 (3840 × 2160) Tango2, FoodMarket4, Campfire
A2 (3840 × 2160) CatRobot, DaylightRoad2, ParkRunning3
B (1920 × 1080) MarketPlace, RitualDance, Cactus, BasketballDrive, BQTerrace
C (832 × 480) RaceHorses, BQMall, PartyScene, BasketballDrill
D (416 × 240) RaceHorses, BQSquare, BlowingBubbles, BasketballPass
E (1280 × 720) FourPeople, Johnny, KristenAndSara

Table 2.

Command line for Baseline profile test

XEVE Command Line xeveb_app -i sequence.yuv -w width -h height -z frame_rate -d depth --codec-bit-depth 10 -o sequence.evc --preset preset --profile baseline
XEVD Command Line xevdb_app -i sequence.evc -o sequence_recon.yuv –output-bit-depth 10

Table 3.

Command line for Main profile test

XEVE Command Line xeveb_app -i sequence.yuv -w width -h height -z frame_rate -d depth --codec-bit-depth 10 -o sequence.evc --preset preset --profile main
XEVD Command Line xevdb_app -i sequence.evc -o sequence_recon.yuv –output-bit-depth 10