Video application 검증용 X-bitstream 및 생성기 개발 1/ 년 06 월 School of EE, Seoul National University 대표 학생정우석 과제 책임자채수익 교수
연구 성과 요약 (’10.07~’15. 06) 1. 참여 기간 : ~ 현재 2. 전략산학 장학생 현황 : 0 명 - 박사과정 1 명 2015 년 5 월 입사 3. 대표 연구 주제 : - H.264 test bitstream 생성 및 생성기 개발 - MPEG-4 test bitstream 생성 및 생성기 개발 - HEVC test bitstream 생성 및 생성기 개발 5 년간 전략산학 연구 성과 결산 2/12
3/12 대표 논문 Review 논문 제목 : - Efficient Test Bitstream Generation with an N-way Covering Algorithm for Configurations of High-level Syntax Elements in Video Decoders 논문 내용 : - 제한된 길이에서 효율적인 bitstream 을 만들기 위해 high-level syntax element 에 대해 n-way coverage 개 념을 도입. - Low-level syntax element 에 대해 constrained- ramdom 방법으로 SE values 발생 - 발생시킨 bitstream 의 coverage hole 을 분석하여 coverage hole 을 채우기 위한 bitstream 추가 생성
3/12 대표 논문 Review 선정 이유 : - 연구 과제에서 진행한 세 가지 표준의 bitstream set 을 구성함에 있어서 보다 길이가 짧고 높은 coverage 를 달성하기 위한 기본적인 방법 제시 저널 정보 : - 저널명 : IEEE TRANSACTIONS ON CONSUMER ELECTORNICS - Impact Factor : 1.157
4/12 1 차년도 연구 내용 H.264 X-bitstream set 생성 -Test bitstream 39 개 ( 총 개의 macroblock 으로 구성 ) 를 생성 -Conformance bitstream 은 총 15,264,429 MB 으로 구성 -H.264 4:2:0 format 에 대하여 145 개의 SE 에 대해 평균 coverage : 97.9%, 모든 syntax element 를 발생 표 1. Conformance bitstream set 과 생성한 test bitstream set 과의 coverage 비교 H conformance bitstream set 생성한 test bitstream set 비교 SPS ( 총 78 개중 51 개 SE 만 포함 ) 52.9 %99.1 % % PPS ( 총 28 개중 23 개 SE 만 포함 ) 63.0 %98.9 % % slice ( 총 50 개중 40 개 SE 만 포함 ) 74.7 %93.6 % % macroblock ( 총 25 개 모두 포함 ) 91.1 %100 %+ 8.9 % average ( 총 181 개중 subsampling 한 36 개 SE 제 외한 145 개 SE 만 포함 ) 70.4%97.9 % % number of macroblocks (ea) 약 1.52 x x 10 4 약 1/625
6/12 2 차년도 연구 내용 MPEG-4 X-bitstream set 생성기 개발 및 bitstream set 생성 -MPEG-4 standard 를 만족하는 다양한 테스트용 X-bitstream set 을 구성하기 위한 생성기 tool 개발 -MPEG-4 X-bitstream set 생성기를 사용하여 61 개의 검증용 bitstream 생성 test bitstream set SE Coverage (%) 생성 test bitstream setMPEG-4 X-bitstream 생성기를 이용해 생성한 test bitstream set 90.2 FFmpeg FFmpeg 의 가능한 configuration 들에 대해서 생성한 10 개 test bitstream 47.5 표 2. 생성한 test bitstream set 와 FFmpeg 으로 생성한 test bitstream set 의 평균 syntax element coverage 비교 H.264 X-bitstream set 개선 - 검증용 Error bitstream 생성 : 현업 부서에서 개발한 H.264 decoder IP 의 error concealment feature 검증을 위해 의도적으로 syntax element 값의 range 혹은 constraint 를 위배하는 bitstream 생성 H.264 X-bitstream 생성기 user interface 개선 및 전달, 파견 교육 - 현업 부서에서 H.264 디코더 개발시 상황에 따라 손쉽게 원하는 테스트용 bitstream 을 생성할 수 있 도록 하기 위해 user interface 를 개선 및 전달 - 삼성전자에 방문하여 개발한 X-bitstream 생성기 사용법과 활용에 대한 사용자 교육 실시 ( )
7/12 3 차년도 연구 내용 HEVC X-bitstream 생성기 개발 - 표준화 과정이 진행 중인 차세대 비디오 압축 표준 HEVC 의 X-bitstream 생성기 개발 -X-bitstream 생성의 자동화를 위해 사용자 명령어를 위한 user interface 개발 및 script 입력을 통한 HEVC X-bitstream set 생성 자동화 HEVC X-bitstream set 생성 및 보강 -HEVC test bitstream set 구성 - 상반기에 반영되지 않았던 syntax element 보강 Set Coverage 상반기 bitstream set 하반기 bitstream set VPS 42.45% 90.65% SPS 32.13% 75.26% PPS 25.20% 82.48% Slice header 21.26% 71.27% CU 91.90% 94.10% PU 94.32% 96.80% TU 85.01% 91.20% Average 56.10% 85.97% 표 3. HEVC X-bitstream SE coverage
8/12 4 차년도 연구 내용 HEVC FDIS compatible HM-13.0 과 호환되도록 tool upgrade - 표준화 과정을 마치면서 HEVC FDIS 와 호환되는 HM-13.0( release) 과 X-bitstream 생성기 및 coverage 측정 tool 간의 compatibility 확인 -VPS, SPS, VUI, HRD syntax table 의 변경된 SE 들에 맞추어 test bitstream 생성기와 coverage 측정 tool 수정 VUI, HRD 의 syntax element 를 cover 하도록 X-bitstream 생성기 개선 -VUI, HRD 의 syntax element 를 cover 하기 위해 생성기를 개선 -VUI syntax element set 의 coverage 는 91.45%, HRD syntax element set 의 coverage 는 91.32% 달성 HEVC X-bitstream SE coverage 개선 Set Coverage bitstream set (2013/7/26 전달 ) bitstream set (2014/2/28 전달 ) bitstream set (2014/5/16 전달 ) VPS 90.65% 91.16% SPS(VUI 포함 ) 65.26% 87.10%87.65% PPS 81.21% 95.73%96.30% Slice header 61.27% 80.63%90.10% CU 94.10% 94.20%94.42% PU 96.80% 96.91%96.10% TU 91.20% 92.16%98.24% Average 82.93%91.05%93.42% 표 4. 4 차년도에서 개선된 HEVC X-bitstream SE coverage
9/12 5 차년도 상반기 연구 내용 HEVC X-bitstream SE coverage 개선 -4 차년도 전달한 bitstream 의 coverage hole 을 분석하여 hole 을 채우기 위한 bitstream 추가 생성 HEVC 디코더의 구조 테스트를 위한 coverage 적용 -GOP 구조의 bitstream set 생성 환경 구축 -HM 에서 제공하는 configuration 으로 생성되는 GOP 구조는 한정적임 - 다양한 GOP 구조를 반영하기 위해 아래 요소의 조합에 따라 12 개의 bitstream set 구성 -Temporal layer : exist temporal layer, no exist temporal layer -IPB pattern : randomaccess, lowdelay -RAP period : periodic IDR, periodic CRA, non-periodic RAP -RPS 결정 구조의 다양화 -HM 에서 제공하는 configuration 으로 생성되는 RPS 결정 구조는 한정적임 - 다양한 RPS 구조를 생성하기 위해 HM 과 다른 시나리오를 작성하고, 해당 시나리오를 바탕으로 bitstream 생성 -Random-access 구조를 따르는 시나리오 6 개, lowdelay 구조를 따르는 시나리오 3 개에 대한 bitstream 구성
10/12 5 차년도 하반기 연구 내용 - 상반기에 전달한 25 개의 bitstream 중 3 개의 bitstream 에서 error 확인 - 해당 error 는 bitstream 을 test 하는 HM version 의 불일치 문제임을 확인하였으며, 삼성에서 사용하는 HM version 으로 동작 가능하도록 bitstream 을 다시 생성하여 전달 RPS 구조 coverage 를 채우기 위한 추가 set 생성 -Randomaccess configuration 에서 보다 다양한 GOP size 를 반영하기 위한 4 개의 bitstream set 생성 - 기존 8 GOP size 에서 16, 32 GOP size 로 확장한 구조 상반기 전달한 bitstream error fix - 상반기에 전달한 bitstream set 는 HRD, VUI 에 대해서 100% coverage 를 달성하지 못함 -HRD, VUI 와 일부 high syntax element 의 coverage 를 100% 달성하기 위한 16 개의 bitstream set 추가 생성 및 전달 HRD, VUI 의 coverage 를 높이기 위한 set 전달
11/12 5 차년도 하반기 연구 내용 -SE coverage 는 높더라도 path coverage 는 낮을 수 있다 ( 예 : Slice Header 의 SE coverage=90% 이상, path coverage 는 20% 미만 ) - 주요 SE table 에 대해서 가능한 path 들의 coverage 를 측정 - 가능한 path 의 수가 너무 많은 경우, path 를 몇 개의 group 으로 분할하여 coverage 를 측정 -Coverage hole 을 줄이기 위해 dependency 가 있는 상위 레벨의 parameter set 을 미리 생 성하고, 이를 조합하여 높은 path coverage 를 얻는다. (30%~40% 이상을 목표로 함 ) -Group 으로 분할한 SE table 에서는 group 간의 조합에 따른 coverage 도 측정 해본다. Path coverage 측정 및 개선 그림 1. Path 조합의 예 (SliceHeader 의 non-Intra group) Slice Header Group#PathsCoverage non-IDR798.9% LF&QPoffset3240.6% non-Intra2416.6% etc % 표 5. Path coverage 의 예 (SliceHeader)
요약 5 년간 주요 연구 성과 - H.264 test bitsteam set 생성 * 총 39 개의 bitstream 생성 및 전달 * H.264 4:2:0 format 에 대하여 145 개의 syntax element 에 대해 97.9% coverage 달성, 모든 syntax element 발생 * 현업 부서에서 사용이 쉽도록 user interface 개선 및 파견 교육 - MPEG-4 test bitsteam set 생성 * MPEG-4 bitstream set 생성기 개발 및 61 개의 bitstream 생성 * FFmpeg 의 가능한 configuration 들에 대해 생성한 bitstream set 의 coverage(47.5%) 에 비해 약 두 배에 가까운 coverage(90.2%) 달성 - HEVC test bitsteam set 생성 * 차세대 비디오 압축 표준 HEVC 의 표준화 과정에 맞춰 test 가능한 bitstream set 의 지속적인 생성 및 전달 * 상반기 25 개의 bitstream set, 하반기 17 개의 bitstream set 추가 생성 및 전달 - 현업 부서로부터 전달받은 hole report 를 바탕으로 hole 를 제거하기 위한 bitstream set 를 추가 구성 중 ( 진행 중 ) * 다양한 coverage 개념 도입 - 디코더 구조 coverage : GOP 구조 coverage, RPS 구조 coverage 개선 - Path coverage 개선 12/12