DOI QR코드

DOI QR Code

Design and Analysis of 3D Scalable Video Codec

3차원 스케일러블 비디오 코덱 설계 및 성능 분석

  • 이재영 (세종대학교 정보통신공학과) ;
  • 김재곤 (한국항공대학교 항공전자공학부) ;
  • 한종기 (세종대학교 정보통신공학과)
  • Received : 2016.01.13
  • Accepted : 2016.02.15
  • Published : 2016.03.30

Abstract

In this paper, we design and implement a 3D scalable video codec by combining the Scalable HEVC (SHVC) and the 3D-HEVC which are the extended standards of High Efficiency Video Coding (HEVC). The proposed 3D scalable video codec supports the view and spatial scalabilities which are the properties of 3D-HEVC and SHVC, respectively. In the proposed 3D scalable codec, the high-level syntaxes are designed to support the multiple scalabilities. In the computer simulation section, we confirmed the conformance of the proposed codec and analyzed the performance of the proposed codec.

본 논문에서는 High Efficiency Video Coding(HEVC)의 확장 표준인 Scalable HEVC(SHVC)와 3D-HEVC을 통합하여 구성되는 3차원 스케일러블 비디오 코덱을 제안한다. 제안하는 3차원 스케일러블 비디오 코덱은 다시점 영상을 부호화함과 동시에 공간해상도 스케일러빌리티 기능을 지원할 수 있도록 설계하였다. 이를 위해서, 다양 종류의 스케일러빌리티를 지원할 수 있는 High Level Syntax를 사용하였고, DPB 및 참조영상 리스트 구성 방법에 대한 알고리즘을 제안하였다. 본 논문의 컴퓨터 시뮬레이션 장에서는 제안하는 3차원 스케일러블 코덱의 정합성을 확인하였고, 또한, 제안 코덱의 부호화 성능을 분석하였다.

Keywords

Ⅰ. 서 론

디지털 멀티미디어 기술과 동영상 코딩 기술은 지난 20년간 급속한 발전을 이루었다. 현재 실감 미디어 시대의 도래로 고해상도 영상 압축을 위한 표준인 High Efficiency Video Coding (HEVC)[1][2]을 ITU-T와 MPEG이 구성한 Joint Collaborative Team on Video Coding (JCT- VC)에서 지난 2013년 1월에 표준화하였다. 이러한 동영상 압축 기술의 발전을 통해 사용자가 고화질, 고해상도의 동영상 서비스를 이용할 수 있지만, 한편 앞으로는 방송/통신의 융합 및 유/무선의 융합 등을 통한 다양한 전송 환경 속에 여러 종류의 영상 서비스를 효과적으로 지원할 수 있는 방법이 필요하게 되었다. 이러한 영상 서비스를 지원할 수 있는 영상압축 방법으로는 MV(multi-view)-HEVC[3], 3D-HEVC[4][5], Scalable HEVC (SHVC)[6] 등이 있다. 이 코덱들 중에서 MV-HEVC와 SHVC는 HEVC에서 사용되는 coding tool들을 그대로 사용하면서 HLS(high level syntax)만 추가하여 표준화되었다. MV-HEVC는 여러 시점에서 촬영된 비디오 신호를 HEVC에서 사용된 coding tool들을 이용하여 부호화하는 비디오 코덱으로써 다른 시점의 픽쳐들을 참조 영상으로 사용할 수 있는 점이 HEVC 대비 차이점이다. SHVC에서는 다양한 scalability를 지원하는 비디오 신호들을 부호화하는 비디오 코덱으로써, 다른 scalability 특성을 가지는 비디오 신호들을 참조 영상으로 사용하는 특성이 있다. 이 MV-HEVC와 SHVC는 HEVC의 coding tools을 그대로 사용하는 특성을 가지있는 반면, 3D-HEVC에서는 depth map 정보를 부호화하기 위한 coding tool들과 3D (3차원) video 신호를 부호화하기 위한 추가의 coding tool들이 채택되었다. 3D-HEVC는 다시점 영상과 각 시점의 깊이 영상을 압축 할 수 있는 기술로써, 3D 비디오 영상 서비스에 적합하며, SHVC는 동일한 화면을 다양한 품질의 영상으로 압축할 수 있는 기술로써, 사용자의 멀티미디어 단말기 또는 네트워크 상황에 따라 적응적으로 변경될 수 있는 2D 비디오 영상 서비스에 적합하다.

앞서 언급했듯이 앞으로는 여러 가지 종류의 통신기술들이 융합된 환경에서 더욱 다양한 영상 서비스를 지원할 수 있는 방법이 필요하다. 하지만 이러한 영상 서비스를 위해 새로운 영상 압축 기술을 개발하는 것은 디지털 멀티미디어 장치가 각 서비스 종류마다 다른 종류의 코덱을 사용해야하기 때문에 디지털 멀티미디어 장치의 비용이 증가되는 문제가 있다. 이러한 문제를 해결하기 위해 기존의 연구[7]에서는 실감형 다시점 스케일러블 비디오 코덱인 RMSVC(Realistic Multi-view Scalable Video Coding)를 제안하였다. RMSVC는 다양한 통신환경 및 다양한 종류의 단말을 통합적으로 지원하기 위해 H.264/AVC[8] 기반의 스케일러블 비디오 코딩 방법인 SVC[9]와 다시점 비디오 코딩 방법인 MVC[10]를 사용하였다. 이 연구[7]에서 제안되는 인코더는 SVC와 MVC가 결합된 형태의 구조를 가지고 있고, 이 RMSVC 인코더로 부호화된 비트스트림이 수신단에 도착하면, 수신 단말의 특성을 고려하여 비트스트림의 특정 부분을 extracting한 후, 각 단말마다 고유하게 사용되는 디코더를 사용하여 신호를 복호한다. 즉, 이 기존 연구에서 인코더는 통합된 형태이지만, 디코더는 여전히 단말마다 다른 종류의 차별화된 기술이 사용된다. 이 RMSVC를 이용할 경우, 하나의 단말에서 2가지 종류 이상의 영상 서비스를 지원하려면 그에 맞는 2가지 이상의 영상 복호기를 단말기에서 지원해야한다. 이는 여러 종류의 복호기를 사용해야 하는 경우, 단말기의 비용이 증가하는 문제가 발생한다. 이 문제를 해결하기 위해 본 논문에서는 하나의 통합 부호화기에서 생성된 비트스트림을 하나의 통합된 복호화기로 복호할 수 있는 코덱 구조를 제안한다. 구체적으로 본 논문에서는 3D-HEVC 코덱에 스케일러블 코덱 SHVC를 융합시켜 만든 새로운 3D 스케일러블 코덱을 제안한다. 본 논문에서는 depth map을 부호화하는 기능까지 포함하는 3D-HEVC 코덱에 SHVC의 spatial scalability 기능을 추가시킨 새로운 비디오 코덱을 제안한다.

본 논문의 구성은 다음과 같다. Ⅱ장에서는 기존 코덱에 대해 설명하고, Ⅲ장에서 제안하는 코덱의 설계 및 구현 방법을 제안한다. 그리고 Ⅳ장에서 실험결과를 보이고 분석하며, 마지막 Ⅴ장에서 결론을 도출한다.

 

Ⅱ. 기존 표준 코덱 분석

1. High Efficiency Video Coding

고해상도 영상에 대한 필요성이 기존의 Full-HD 뿐만 아니라 4K, 8K로 확대되고 있으며, 초당 30장의 화면 재생률은 초당 60장까지 요구되고 이렇게 되면 4K, 8K영상들의 데이터양이 방대하기 때문에 기존의 표준인 H.264/AVC보다 압축 성능을 획기적으로 높인 차세대 영상 압축표준을 개발해야 한다는 필요성이 2000년대 중반 이후로 끊임없이 제기되었다. 이러한 요구에 따라 ITU-T의 Video Coding Expert Group(VCEG)과 ISO/IEC의 Moving Picture Expert Group (MPEG)은 Joint Collaborative Team on Video Coding(JCT-VC)를 만들어 지난 2013년 1월 HEVC 코덱을 표준화를 완료하였다.

MPEG-2를 비롯하여 MPEG-4, H.263, H.264/AVC등의 기존 비디오 코덱들에서는 하나의 픽처(Picture)를 16x16 크기 블록 단위인 MB(Macro Bloc)으로 분할하여 부호화 하였으나, HEVC에서는 부호화 기본단위인 CU (Coding Unit)을 사용한다. CU는 SPS(Sequence Parameter Set)에 저장된 파라미터 값이 지정하는 최대와 최소 CU 크기까지 분할될 수 있다. HEVC에 CU는 항상 정사각형 형태를 가지면서 최대와 최소 CU 크기를 각각 64x64와 8x8로 설정하여 부호화 및 복호화를 수행한다. 분할 여부는 인코더에 따라서 적응적으로 다양한 CU 쿼더트리를 구성 할 수 있다. 예측 부호화의 기본단위는 PU(Prediction Unit)로 정의되며, 하나의 CU는 다수개의 PU로 분할되어 예측된다. PU는 물체 경계를 효과적으로 표현하기 위해서 정사각형 형태로 제한되지 않는다. 각 CU는 하나 이상의 PU를 포함 할 수 있다.

예측 방법은 크게 화면 내(Intra) 예측과 화면 간(Inter) 예측으로 분류 할 수 있다. HEVC는 부호화 효율을 향상시키기 위하여 그림 1과 같이 다양한 기술들을 사용한다.

그림 1.HEVC의 부호화기 구조 Fig 1. The structure of HEVC encoder

인트라 예측에서는 최대 34가지 방향성을 고려한 인트라 예측과 평탄한 영역을 효율적으로 부호화하기 위한 Planar 예측이 사용되고 있으며, 인터 예측에서는 Merge 모드 및 AMVP(Advanced Motion Vector Prediction) 등의 기술들이 사용된다. 또한, 변환 부호화의 효율을 극대화하기 위하여 정수화된 DCT (Discrete Cosine Transform) 및 경우에 따라 DST (Discrete Sine Transform)을 사용한다. 그 밖에 복원 영상의 화질 향상을 위하여 SAO(Sample Adaptive Offset)등의 기술들도 사용된다.

2. 3D-HEVC

최근 3D TV, 3D 시네마 등 3D 멀티미디어 분야에 대한 소비자들의 관심과 요구가 높아지고 있다. 3D 비디오는 기존의 2D 비디오에 깊이 정보를 추가하여 입체감을 더한 것이다. 2000년대 말부터 3D 영화가 큰 성공을 거두면서 다양한 분야에서 3D 영상에 관련된 제품들이 출시되고 있다. 하지만 3D 영상의 특성상 다시점 영상과 깊이 영상이 필요하게 되어 시점 수에 비례하여 데이터양이 증가하기 때문에 이를 줄이고자 효율적인 압축 기술이 연구되고 있다. 이러한 요구에 따라, 3D 비디오 압축 표준을 개발하기 위해 MPEG과 VCEG은 JCT-3V(Joint Collaborative Team on 3D Video Extension Development) 그룹을 만들어 HEVC 기반의 3D 비디오 부호화 코덱인 3D-HEVC를 표준화를 진행하였고, 2015년 2월에 표준화가 완료되었다. 다음 그림 2는 3D-HEVC의 부호화 및 예측 구조를 나타낸다. 각 시점마다 texture와 depth영상이 시점마다 존재 하는 예측 구조이다.

그림 2.3D-HEVC의 부호화 및 예측 구조 Fig 2. The encoding and prediction structure of 3D-HEVC

3. Scalable HEVC

멀티미디어 압축 기술과 네트워크 기술이 발달함에 따라 소비자들은 고화질의 멀티미디어 콘텐츠를 무선 환경에서도 끊김 없이 제공 받기를 원하고 있다. 또한, 스마트폰과 스마트패드와 같은 다양한 멀티미디어 장치가 일상생활에서 보편적으로 사용되면서 디바이스 간에 끊김 없는 미디어의 연동을 가능케 하는 스트리밍 서비스가 제공되고 있다. 이러한 시장의 흐름에 발맞춰 JCT-VC는 차세대 동영상 압축 표준 기술인 HEVC (High Efficiency Video Coding)를 바탕으로 공간적 (Spatial), 시간적 (Temporal) 스케일러빌리티 (Scalability)를 제공하는 확장 표준인 SHVC (Scalable HEVC)를 2014년 10월 표준화 완료하였다.

그림 3은 Scalable HEVC 서비스의 예이다. SHVC를 이용하면 단말기의 파워나 디스플레이의 특성, 네트워크 대역폭 등 소비자의 환경에 맞추어 비트스트림으로부터 일부의 비트스트림만을 추출하여 해당 단말기에 대해 효과적으로 비트스트림을 전송할 수 있다.

그림 3.SHVC의 서비스 예 Fig 3. The use-case of SHVC

4. 기존 코덱들의 한계

표준화가 완료된 HEVC 비디오 코덱 기술과 HEVC에 기반을 둔 3D-HEVC와 SHVC 코덱 기술은 초고화질 및 초고해상도 영상에 대응하기 위한 비디오 코덱 기술이다. 이 기술들은 차세대 방송 서비스인 UHDTV 방송, 스마트 TV 방송, 3D TV 방송, 모바일 방송, 비디오 스트리밍, IP 카메라를 이용한 디지털 감시분야, 그리고 디지털 시네마 및 의료영상 등의 다양한 분야에서 광범위하게 사용될 것으로 예상된다. 하지만 이렇게 다양한 활용을 위해서는 하나의 코덱이 아닌 각각 기능과 목적에 맞는 코덱 기술을 개별적으로 사용해야 하는 한계가 있다.

이를 해결하기 위해 본 논문에서는 그림 4와 같이 3D-HEVC에 spatial scalability를 추가한 3차원 스케일러블 비디오 코텍의 구조를 제안한다. 제안하는 3차원 스케일러블 비디오 코덱의 구조로 부호화 하는 경우, simulcast와 똑같은 영상을 복호화 할 뿐만 아니라 네트워크 상황이나 단말기의 특성이나 소비자들의 요구에 맞춘 적응적인 서비스를 제공할 수 있다. 또한, 단말기 단에서 하나의 복호기만으로 여로 종류의 영상 서비스를 지원할 수 있으므로 단말기의 비용을 절감할 수 있다.

그림 4.3차원 스케일러블 비디오 코텍의 서비스 예 Fig 4. The use-case of the 3D scalable video codec

 

Ⅲ. 3차원 스케일러블 비디오 코덱 제안

1. 제안하는 코덱 구조

본 절에서는 3D-HEVC와 SHVC의 특성을 결합한 3차원 스케일러블 비디오 코덱 구조를 제안한다. HEVC가 개발되기 이전의 코덱들(예를 들면, H.264)에서는 spatial scalability를 지원하는 복호기와 view scalability를 지원하는 복호기 사이에 서로 호환성이 지원되지 않았다. 그 이유는 이들 코덱들이 서로 다른 high level syntax(HLS)를 사용함으로써 두 가지 이상의 scalability들을 동시에 지원하기에는 기술적인 어려움이 많았기 때문이다. 하지만 HEVC 확장 표준인 SHVC와 3D-HEVC에서는 같은 방식의 HLS를 사용하기 때문에, 본 논문에서 제안하는 3차원 스케일러블 비디오 코덱은 일관성 있고 확장적인 개념으로 설계될 수 있다.

3D-HEVC에서는 Depth map이 텍스쳐 정보와 구분되기 때문에 Depth 정보를 독립적인 하나의 layer로 정의되어있다. 그러므로 MPEG Requirements문서[11]에 언급된 것처럼 3D-HEVC와 SHVC(Scalable HEVC)의 Scalability가 조합된 확장된 형태의 새로운 코덱을 개발하는 것이 가능하다고 알려져 있다.

본 논문에서 제안되는 통합 비디오 코덱은 HEVC 확장 표준에서 사용되는 하이레벨 신택스를 확장하여 여러 가지 종류의 Scalability들을 지원할 수 있도록 설계하였다. 즉, Spatial scalability와 View scalability의 다양한 조합을 부호화할 수 있게 설계하였다.

같은 시점의 영상은 공간적 스케일러빌리티 특성을 이용하여 여러 종류의 해상도 영상으로 복호화될 수 있도록 부호화가 가능하다. 그리고 다른 시점의 영상과는 시점간 예측 기술을 이용하여 압축 효율을 높일 수 있었다. 즉, 제안되는 코덱은 해상도간 예측 뿐만 아니라 시점간 예측 기술을 사용하여 비디오 신호를 부호화할 수 있다. 이는 현재 해상도의 영상으로부터 다른 시점에 있는 다른 해상도의 영상을 참조 할 수 있다는 의미이다. 이러한 특징으로 인해, 전체적인 부호화 효율을 높일 수 있지만, 높은 복잡도와 큰 크기의 DPB를 요구하게 된다. 그림 5는 제안하는 코덱의 개념적인 구조를 나타낸다.

그림 5.3D 스케일러블 코덱의 개념 구조 Fig. 5. The structure of scalable video codec based on 3D-HEVC

2. 공간적 스케일러빌리티를 지원하는 보간 필터

제안하는 코덱은 Spatial scalability를 지원하여야한다. 하지만 기존 3D-HEVC 코덱은 이 기술이 구현되어 있지 않으므로 공간적 스케일러빌리티 기능을 제안하기 위해서는 새롭게 Up-sampling 기술을 구현하여야 한다. 이를 해결하기 위해 본 논문에서는 Discrete Cosine Transform based Interpolation Filter (DCT-IF) 기술을 사용하였다. 원래 DCT-IF는 HEVC 코덱에서 움직임 벡터를 1/2 및 1/4 해상도로 찾기 위해 사용되는 기술로써, 본 논문에서는 이 DCT-IF 기술을 공간적 스케일러빌리티 기능을 지원하기 위한 해상도 변환 기술로 사용한다. 이 기술을 사용하면 기존의 up scaler 기술들보다 고화질의 해상도 변환 영상을 얻을 수 있다. 표 1과 표 2는 각각 Luma 화소값들과 Chroma 확소값들을 up scaling 시키기 위한 필터 계수들을 나타낸다. 제안하는 코덱에서는 이 필터 계수들을 이용하여 Base Layer의 영상을 up scaling 시킨 후, 그 확대된 영상을 참조 영상으로 사용한다.

표 1.밝기 신호의 해상도를 증가시키기 위한 필터 계수 Table 1. Filter coefficients to up-scale luma data by using DCT-IF

표 2.색차 신호의 해상도를 증가시키기 위한 필터 계수 Table 2. Filter coefficients to up-scale chroma data by using DCT-IF

3. 영상 layer들 간의 의존성

제안하는 코덱에서 다른 시점 및 다른 해상도의 영상들 간의 부호화 의존성을 표시하면 그림 6과 같다. 기존 3D-HEVC 코덱에서 부호화 의존성(회색선)이 시점 간에 존재하였다면, 제안하는 코덱에서는 해상도간 의존성(붉은선)이 추가되어 부호화 효율을 향상 시키고 활용 가능한 단말기 범위를 확장시킬 수 있다.

그림 6 .제안되는 코덱에서 비디오 신호들간의 참조 의존성 Fig. 6. Dependency between layers in the proposed codec

4. 참조 영상 세트 표현을 위한 리스트 구성

본 논문에서 제안되어 새롭게 설계된 코덱은 기존의 3D-HEVC 또는 SHVC에서 사용된 참조영상 리스트 구성과 다른 새로운 방법의 참조영상 리스트 구성 기법이 필요하다. 새롭게 참조영상 리스트를 구성하기에 앞서 기존의 3D-HEVC에서 사용되는 참조영상 리스트 구성 방법을 설명하면 그림 7과 같다. 이 그림에서 3D-HEVC의 Dependent view에 있는 영상 신호를 부호화하기 위해, 다른 이웃뷰에 있는 영상들을 참조영상으로 사용하게 되는 것을 설명하고 있다. list0는 부호화가 완료된 과거 픽처들로 구성되는 리스트이다. 이 리스트에는 먼저 과거 픽쳐들을 채우고, 그다음 Inter-view 참조 픽쳐들을 채우게 된다. 그 후 마지막으로 미래 픽쳐들을 채워 정해진 크기만큼 리스트를 구성한다. list1은 부호화가 완료된 미래 픽쳐들로 구성되는 리스트이다. 이 리스트에는 먼저 미래 픽쳐들을 채우고, 그 다음 과거 픽쳐들을 채우게 된다. 그 후 마지막으로 Inter-view 참조 픽쳐들을 채워 정해진 크기만큼 리스트를 구성한다. 하지만 두 리스트 모두 inter-view 참조 픽쳐들을 채우기 전에 리스트 구성이 완료 된다면, 리스트를 수정하여 꼭 마지막에 inter-view 참조 픽쳐를 사용하게 구성한다.

그림 7.3D-HEVC에서 사용되는 참조영상 리스트 구성 방법 Fig. 7. List construction scheme for the dependent views in 3D-HEVC

본 논문에서 관심을 갖는 SHVC에서는 HEVC에서 사용되는 방법과 같은 기술을 이용하여 참조영상 리스트를 구성한다. 이를 그림 8에서 설명하고 있다. 이 그림에서 설명하듯이, list0에는 먼저 같은 해상도를 가지고 있는 과거 영상들을 채워서 구성하고, 그 다음에 작은 해상도를 갖는 참조 영상들을 up-scaled 한 후, 이를 채워 넣는다. 마지막으로 같은 해상도를 가지면서 미래에 디스플레이 되는 참조 영상을 채워 넣음으로써 list0를 구성을 완성한다. 그리고 list1을 구성하는 과정에서는 같은 해상도를 갖는 미래의 참조 영상과 과거의 참조영상들을 차례로 채워서 리스트를 구성하고, 마지막으로 낮은 해상도를 갖는 참조 영상들을 up-scaled한 후, 이를 채워 넣음으로써 list1 구성을 완성한다.

그림 8.SHVC에서 사용되는 참조영상 리스트 구성 방법 Fig. 8. List construction scheme for the dependent views in SHVC

본 논문에서는 기존의 3D-HEVC의 기술과 SHVC의 기술이 결합되어 사용되기 때문에, 본 논문에서 제안하는 코덱에서 사용되는 참조영상 리스트 구성은 3D-HEVC의 참조영상 구성 기술과 SHVC에서 사용되는 참조영상 기술을 결합해서 사용해야 한다. 이를 그림 9에서 설명하고 있다. 그림 9에서 현재 부호화되는 영상은 layer3에 포함된다. 이때, list0를 구성하는 과정은 다음과 같다. 제일 먼저 같은 layer에 포함되는 layer3의 과거 영상들을 채워 넣고, 그 다음에 다른 뷰의 참조 영상들을 채원 넣는다. 그 다음엔 같은 뷰의 작은 해상도 영상을 채워 넣고, 그리고 나서 같은 뷰이면서 같은 해상도를 갖는 영상 중에 미래에 디스플레이되는 영상들을 채워 넣는다. 제안되는 코덱에서 사용되는 참조영상 리스트 list1의 구성은 다음과 같다. 가장 먼저는 같은 뷰에 소속되어 있으면서 같은 해상도를 갖는 미래 참조 영상을 채워 넣고, 또 같은 layer의 과거 영상을 채워 넣는다. 그 다음에는 다른 뷰의 같은 해상도 영상을 채워 넣고, 마지막으로 같은 뷰이면서 다른 해상도를 갖는 참조 영상들을 채워 넣음으로써 list1 구성을 완성한다.

그림 9.제안하는 코덱에서 사용되는 참조영상 리스트 구성 방법 Fig. 9. List construction scheme for the dependent layers in the proposed codec

5. 제안하는 코덱의 구현 및 동작

본 논문에서 제안된 코덱은 입력 신호는 Base view와 Dependent view마다 텍스쳐 영상과 깊이 영상으로 구성되어 있으며, 텍스쳐 영상과 깊이 영상은 해상도에 따라 Base layer와 Enhancement layer로 구분되어 입력된다. 예를 들어, 2개의 뷰에 대해 3D 스케일러빌리티를 지원하고 각 뷰당 2 가지 해상도에 대해 공간적 스케일러빌리티를 지원하는 경우, 총 8개의 입력 영상이 존재하게 된다.

제안하는 코덱의 부호화 순서는 그림 10과 같이 먼저 Base view의 Base layer를 먼저 코딩하고, 그 다음 Base view의 Enhancement layer를 코딩한다. 그리고 Dependent view의 Base layer를 코딩하고, 그 다음 Dependent view의 Enhancement layer를 코딩한다. 즉, 먼저 Base view의 존재하는 입력 영상을 작은 해상도부터 코딩한 후, Dependent view의 존재하는 입력영상을 작은 해상도부터 코딩하는 순서이다. 또한 각 Layer의 번호는 코딩 순서에 따라 할당한다.

그림 10.제안하는 코덱의 코딩 순서 Fig 10. The coding order of the proposed codec

제안하는 코덱은 하나의 layer가 한 종류 이상의 스케일러빌리티를 지원할 수 있어야 한다. 제안하는 코덱에서는 Dependent view의 Enhancement layer에 해당하는 텍스쳐 영상과 깊이 영상은 시점간 스케일러빌리티 뿐만아니라 공간적 스케일러빌리티를 지원해야한다. 그러므로 High-level syntax의 값을 제안하는 코덱의 구조에 맞게 설정해야한다. 표 3은 3D-HEVC의 High-level syntax 중 Video parameter set(VPS)의 Extension syntax이다[12].

표 3.확장 비디오 파라미터 셋 Table 3. Video Parameter Set Extension Syntax

표 3의 scalability_mask_flag는 적용되는 스케일러빌리티의 종류를 나타내는 신택스로써, HEVC 확장 표준들은 총 16가지 종류의 스케일러빌리티를 지원할 수 있다. 지원할 수 있는 스케일러빌리티는 아래 표 4와 같다. 표 4와 같이 scalability mask index가 ‘0’인 경우, 깊이 영상을 코딩할 수 있으며 scalability_mask_flag[0]가 ‘1’인 경우, 각 layer 마다 텍스쳐 영상인지 깊이 영상인지 구분하는 플래그를 시그널링해야한다. scalability mask index가 ‘1’인 경우에는 다시점 영상을 코딩할 수 있으며 scalability_mask_flag[1]이 ‘1’인 경우, 각 layer 마다 어떤 뷰인지 구분할 수 있는 View Order Index를 시그널링해야 한다. 또한 scalability mask index가 ‘2’인 경우에는 여러 해상도 및 품질의 영상을 코딩할 수 있으며 scalability_mask_flag[2]가 ‘1’인 경우, 각 layer 마다 어떤 해상도인지 구분할 수 있는 DependancyID를 시그널링해야 한다. 따라서, 제안하는 코덱의 경우, scalability_mask_flag[0~2]를 모두 ‘1’로 설정해야 하며, 제안하는 코덱에서 하나의 레이어가 최대 3가지 종류의 스케일러빌리티를 지원할 수 있다.

표 4.스케일러빌리티 인덱스와 종류의 매핑 Table 4. Scalability index and mapping with scalability

예를 들어 그림 10의 Layer 7은 총 3개의 스케일러빌리티를 지원해야 한다. 먼저 layer 7은 깊이 영상이므로 DepthLayerFlag는 ‘1’으로 설정되어 현재 layer가 깊이 영상임을 나타낸다. 그리고 layer 7은 dependent view의 영상이므로 ViewOrderIdx는 ‘1’으로 설정되어야 한다. 단, Base view의 ViewOrderIdx는 항상 ‘0’이다. 또한 layer 7은 Enhancement layer의 영상이므로 DependencyId는 ‘1’으로 설정되어야 한다. 단, Base layer의 DependencyId는 항상 ‘0’이다.

제안하는 코덱은 코딩 레벨의 기술을 추가하거나 변경하지 않고 3D 비디오 코딩과 스케일러블 비디오 코딩을 통합한 부호화 구조를 지원할 수 있다. 따라서, 제안하는 코덱은 다중 스케일러블 비디오 코딩을 위해 새로운 코덱을 개발할 필요없이 기존의 비디오 코딩 표준위에 쉽게 구현할 수 있다.

 

Ⅳ. 실험 결과

본 장에서는 앞서 Ⅲ장에서 제안한 3D 스케일러블 코덱이 올바로 구현되었는지를 확인하는 실험 결과들과 그 코덱의 부호화 효율을 분석하는 실험 결과를 제시한다. 본 논문에서 3D 스케일러블 비디오 코덱을 제작하기 위해서, 3D-HEVC의 참조 소프트웨어인 HTM8.0[13][14]에 spatial scalability 기능을 추가하여 구현하였다. 본 장의 실험들에서 사용된 비디오 시퀀스들의 종류를 표 5에 정리하였다. 본 장에서 코덱들의 성능 검증은 아래 절들에서 다양한 방법으로 수행되었으며, 부호화 효율을 측정하기 위해 BD-Rate[15]를 사용하였다.

표 5.실험에서 사용한 시퀀스의 종류 Table 5. Test Sequences

1. 구현된 3D scalable video codec의 정확성 확인

본 논문의 Ⅲ장에서 제안한 3D 스케일러블 코덱이 올바로 구현되었는지를 확인하기 위해서, 저자들이 구현한 제안 코덱에서 Spatial scalability 기능을 off 시킨 후, 기존의 3D-HEVC 코덱과 성능을 비교하였다. 그림 11은 이러한 무결성 실험을 위해, 제안하는 코덱의 dependency를 setting하는 방법을 설명하고, 또 이렇게 setting된 제안 코덱과 비교되는 기존 코덱의 setting을 도식적으로 설명하고 있다. 그림 11과 같이 제안하는 코덱에 Spatial scalability를 off 시키면 이 제안하는 코덱은 기존의 3D-HEVC 코덱과 동일한 부호화 과정을 수행하게 된다. 그러므로 제안하는 코덱이 정확히 구현되었다면, 이렇게 세팅된 두 코덱들의 PSNR 결과는 일치해야 한다. 이 실험 결과를 표 6에 보이고 있다. 이 표에서, 구현의 정확도 측정 실험은 Kendo와 PoznanStreet으로 실험하였다. 이 실험 결과에서 확인할 수 있듯이, 비교하려는 두 코덱들은 동일한 PSNR 값들을 발생시킨다. 이 결과들로 저자들이 구현한 코덱의 무결성을 확인할 수 있었다.

그림 11.제안하는 코덱의 정확한 구현을 판단하기 위한 부호화 Dependency 설정 Fig. 11. Dependency setting to check the integrity of the proposed 3D scalable video codec

표 6.그림 11의 설정을 사용한 두 코덱들의 성능 비교 (QP 35) Table 6. PSNR comparisons between two codecs conFigd by Fig. 11

2. 제안하는 3D scalable video codec의 부호화 효율 (Enhancement layer에 대해)

본 논문의 Ⅲ장에서 제안하는 코덱은 기존의 3D-HEVC 코덱에 추가로 spatial scalability 기능을 지원하는 코덱으로써, 기존의 3D-HEVC 코덱에 enhancement layer가 추가되어 spatial scalability를 지원하게 된다. 그러므로 그림 6과 같은 Layer간에 Dependency가 발생하게 된다. 이런 상관성으로 인해, enhancement layer에서 부호화되는 큰 해상도의 영상을 기존 3D-HEVC를 이용하여 부호화한 결과와 이 큰 해상도 영상을 제안하는 코덱을 이용하여 부호화한 결과 사이에는 큰 차이가 발생하게 된다. 본 절에서는 이러한 측면에서 성능 차이가 얼마나 발생하는지를 분석하기 위한 실험 결과를 제시한다. 그림 12는 이런 실험에서 비교하는 데이터들을 도식적으로 표현하고 있다. 그림 12의 1에서는 enhancement layer의 텍스처 데이터에 대한 성능만을 비교할 때, 구체적으로 어느 부분의 데이터들을 비교하는지에 대해 그림으로 표시하였다. 그림 12의 2에서는 enhancement layer의 텍스처와 깊이영상 정보에 대한 실험 결과를 고려할 때, 어떤 데이터들의 부호화 결과를 평가하는지에 대해 그림으로 설명하고 있다.

그림 12.Enhancement Layer만을 고려한 실험 결과 비교 방법 Fig. 12. Test configuration to evaluate the codec performances for the data of the enhancement layer

또한 다양한 환경에서 실험을 실시하기 위해서는 각 layer 별로 QP를 세팅하는 방법에 있어, 다양한 방법을 고려해야한다. 어떤 실험에서는 모든 layer에서 같은 QP를 사용할 수 도 있고, 또 다른 실험에서는 layer 별로 차별적인 QP를 사용하여 실험할 수도 있다. 그림 13에서 왼쪽 그림에서는 모든 layer 정보들이 같은 QP 값을 사용하여 부호화되는 환경을 설명하고 있고, 오른쪽 그림에서는 layer 별로 차별적인 QP를 사용하는 환경을 설명하고 있다. 이 그림에서 QP를 세팅하는 방법은 JCT-3V에서 setting하는 방법을 따라서 설정하였다.

그림 13.실험에서 사용한 QP 세팅들의 예 Fig. 13. Examples of QP setting

이러한 실험 조건들을 이용한 코덱들간의 성능 비교를 표 7과 표 8에서 나타내고 있다. 표 7은 enhancement layer의 텍스처 정보만을 고려한 실험 결과로써 모든 layer에서 동일 QP를 사용한 실험과 차별적인 QP 값을 사용한 실험 정보를 제시하고 있다. 표 7의 결과에서 알 수 있듯이, 제안하는 코덱은 기존 3D-HEVC 코덱 대비 평균 15%과 34.9%의 성능향상을 각 실험 조건에 대해서 나타내고 있다. 이 실험 결과에서 layer 마다 차별적인 QP값을 설정하는 환경에서 더 큰 성능 개선을 보이고 있는데, 이는 기존의 3D-HEVC과 달리, 제안하는 코덱에서는 spatial scalability가 존재하기 때문에, base layer를 낮은 QP로 부호화하고, enhancement layer를 큰 QP로 부호화함으로써, 높은 화질의 base layer 영상들을 참조영상으로 사용할 수 있었고, 이를 통해 부호화 효율을 높일 수 있었다.

표 7.Enhancement Layer의 텍스처만을 고려한 3D-HEVC와 제안하는 코덱의 실험 결과 Table 7. Performance comparison between conventional 3D-HEVC and the proposed 3D scalable video codec for the texture data of the enhancement layer

표 8.Enhancement Layer의 텍스처와 depth 정보 모두를 고려한 3D-HEVC와 제안하는 코덱의 실험 결과 Table 8. Performance comparison between conventional 3D-HEVC and the proposed 3D scalable video codec for the texture data and the depth information of the enhancement layer

표 8은 enhancement layer의 텍스처 정보와 깊이 영상 정보를 부호화할 때 발생하는 비트율과 각 정보의 화질들을 함께 고려하여 평가한 실험 결과들로써, 제안하는 코덱은 기존 3D-HEVC 코덱 대비, 모든 Layer가 동일 QP일 경우 평균 13.5%의 성능 향상이 있었으며, layer에 따라 다른 QP값을 사용할 경우 평균 25.3%의 성능 향상이 있었다.

제안하는 코덱은 기존 3D-HEVC와 다르게 spatial scalability가 추가되어 base layer의 정보들을 up-scaling시켜 참조영상으로 사용하게 된다. 이때, up-scaling 과정에서 DCT-IF가 사용되는데, 이 필터는 텍스처 정보 스케일링에는 우수한 성능을 제공하지만, depth 정보를 확대할 때는 텍스쳐 정보에 적용할 때보다 그 성능 향상률이 적은 편이다. 따라서, 표 8 에서 보이는 성능 향상율은 표 7에서 나타내는 성능 향상율 보다 작은 경향을 나타내고 있다.

3. 제안하는 3D scalable video codec의 부호화 효율 (모든 layer에 대해)

실제 영상 통신 시스템에서는 enhancement layer를 전송하고 복호화하기 위해서는 base layer의 정보가 같이 부호화되고 복호화 되어야 한다. 그러므로 그림 12와 표 7, 표 8에서 보이는 실험 결과 외에 enhancement layer와 base layer의 모든 데이터를 부호화할 때, 발생하는 비트율과 화질을 모두 고려하여 성능을 분석할 필요가 있다. 그림 14는 이런 실험에서 비교하는 데이터들을 도식적으로 표현하고 있다. 그림 14의 1에서는 enhancement layer와 base layer의 텍스처 데이터에 대한 성능만을 비교할 때, 구체적으로 어느 부분의 데이터들을 비교하는 지에 대해 그림으로 표시하였다. 그림 14의 2에서는 enhancement layer와 base layer의 텍스처 정보와 깊이영상 정보에 대한 실험 결과를 고려할 때, 어떤 데이터들의 부호화 결과를 평가하는 지에 대해 그림으로 설명하고 있다.

그림 14.Enhancement Layer와 Base Layer를 둘다 고려한 실험 결과 비교 방법 Fig. 14. Test configuration to evaluate the codec performances for the data of the enhancement layer and base layer

이러한 실험 조건들을 이용한 코덱들간의 성능 비교를 표 9과 표 10에서 나타내고 있다. 표 9은 enhancement layer와 base layer의 텍스처 정보만을 고려한 실험 결과로써 모든 layer에서 동일 QP를 사용한 실험과 차별적인 QP 값을 사용한 실험 정보를 제시하고 있다. 표 9의 결과에서 알 수 있듯이, 제안하는 코덱은 기존 3D-HEVC 코덱 대비 평균 6%과 15.7%의 성능향상을 각 실험 조건에 대해서 나타내고 있다. 이 실험 결과에서 layer 마다 차별적인 QP값을 설정하는 환경에서 더 큰 성능 개선을 보이고 있는데, 이는 앞의 실험 결과 분석에서 설명한 이유와 같다.

표 9.Enhancement Layer와 Base Layer의 텍스처만을 고려한 3D-HEVC와 제안하는 코덱의 실험 결과 Table 9. Performance comparison between conventional 3D-HEVC and the proposed 3D scalable video codec for the texture data of the enhancement layer and base layer

표 10.Enhancement Layer와 Base Layer의 텍스처와 depth 정보 모두를 고려한 3D-HEVC와 제안하는 코덱의 실험 결과 Table 10. Performance comparison between conventional 3D-HEVC and the proposed 3D scalable video codec for the texture data and the depth information of the enhancement layer and base layer

이 실험에서 base layer의 경우 기존 3D-HEVC 코덱으로 부호화한 결과와 제안하는 코덱으로 부호화한 결과가 같기때문에, 성능 비교 시 동일한 PSNR에 똑같은 양의 비트만 추가되는 결과인 것을 알 수 있다. 이로 인해, 표 9의 성능 개선도가 표 7의 성능 개선도보다 감소하는 경향을 보인다.

표 10는 enhancement layer와 base layer의 텍스처 정보와 깊이 영상 정보를 부호화할 때 발생하는 비트율과 각 정보의 화질들을 함께 고려하여 평가한 실험 결과들로써, 제안하는 코덱은 기존 3D-HEVC 코덱 대비, 모든 Layer가 동일 QP일 경우 평균 5.9%의 성능 향상이 있었으며, layer에 따라 다른 QP값을 사용할 경우 평균 8.6%의 성능 향상이 있었다. 표 10에서 나타내는 성능 향상률이 표 11에서 나타내는 성능 향상률보다 작은 이유는 앞서 표 7와 표 8의 성능을 분석할 때, 제시한 이유와 같다.

표 113D-HEVC와 제안하는 코덱의 복잡도 계산 Table 11 Complexity comparison between codecs

4. 코덱 복잡도 분석

표 11은 기존 3D-HEVC 코덱 대비 제안하는 코덱의 복잡도를 계산한 것이다. 제안하는 코덱의 인코더에서는 기존의 3D-HEVC에서 고려하지 않았던, spatial scalability 기능을 사용하기 때문에, 추가로 참조하는 영상의 종류가 많아졌다. 하지만 기존 3D-HEVC에서 부호화 속도가 느린 I 프레임이 제안하는 코덱의 인코더에서는 부호화 속도가 빠른 P 프레임으로 부호화되기 때문에 부호화 속도의 변화가 거의 없었다.

하지만 제안하는 코덱의 디코더에서는 spatial scalability 기능을 지원하기 위해, up-sampling 필터를 추가적으로 사용해야하기 때문에, 제안하는 코덱의 복호화 속도가 30%정도 느려진 것을 확인할 수 있었다

 

Ⅵ. Conclusions

본 논문에서는 HEVC기반의 3D-HEVC에 스케일러블 부호화를 위한 코덱을 설계 및 구현하였다. 이를 위해 통합코덱에 적합한 DPB 관리가 가능하도록 Layer단위의 Reference set을 설정하는 방법과 scalability dimension을 늘리는 방법, 그리고 Up-sampling filter를 제안하였다. 본 논문에서 제안하는 코덱의 검증은 HEVC simulcast, 3D-HEVC simulcast와 비교를 하였다. 실험을 통하여 제안하는 3D 스케일러블 코덱이 기존 기술들과 비교하여 평균적으로 34.9% ~ 5.9% 성능 향상을 얻을 수 있었다.

References

  1. High Efficiency Video Coding, Rec. ITU-T H.265 and ISO/IEC 23008-2, Jan. 2013.
  2. G. J. Sullivan, J. Ohm, W.-J. Han, and T. Wiegand, “Overview of the high efficiency video coding (HEVC) standard,” IEEE Trans. Circuits Syst. Video Technol., vol. 22, no. 12, pp. 1649–1668, Dec. 2012. https://doi.org/10.1109/TCSVT.2012.2221191
  3. G. Tech, K. Wegner, Y. Chen, and M. M. Hannuksela, MV-HEVC Draft Text 9, 9th Meeting Joint Collaborative Team on 3D Video Coding Extension Development (JCT-3V), document JCT3V-I1002, Sapporo, Japan, July. 2014.
  4. G. Tech, Y. Chen, K. Muller, J.-R Ohm, A, Vetro, and Y. Wang "Overview of the Multiview and 3D Extensions of High Efficiency Video Coding", IEEE Journal on CSVT, Vol. 26, no. 1, pp. 35-49, Jan. 2016.
  5. J. M. Boyce, Y. Ye, J.Chen, A. K. Ramasubramonian, "Overview of SHVC: Scalable Extensions of the High Efficiency Video Coding Standard", IEEE Journal on CSVT, Vol. 26, no. 1, pp. 20-34, Jan. 2016.
  6. G. J. Sullivan, J. M. Boyce, Y. Chen, J.-R. Ohm, C. A. Segall, and A. Vetro, "Standardized Extensions of High Efficiency Video Coding", IEEE Journal on Selected Topics in Signal Processing, Vol. 7, no. 6, pp. 1001-1016, Dec. 2013. https://doi.org/10.1109/JSTSP.2013.2283657
  7. M. W. Park and G. H. Park, “Design and Implementation of a Realistic Multi-View Scalable Video Coding Scheme,” JOURNAL OF BROADCAST ENGINEERING, Vol. 14, no. 6, pp. 703-720, Nov. 2009. https://doi.org/10.5909/JBE.2009.14.6.703
  8. "Advanced Video Coding for Generic Audiovisual Services," ITU-T Recommendation H.264 and ISO/IEC 14496-10 (MPEG-4 Part 10 AVC), Version 1: March 2003, Version 2: May 2004, Version 3: March 2005, Version 4: September 2005, Version 5 and Version 6: June 2006, Version 7: April 2007, Version 8: July 2007.
  9. A. Vetro, P. Pandit, H. Kimata, A. Smolic, Y. Wang, "Joint Draft 7.0 on Multiview Video Coding," Joint Video Team (JVT) of ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6, JVT-AA209, Switzerland, April 2008.
  10. T. Wiegand, G. Sullivan, J. Reichel, H. Schwarz, M. Wien, "Joint Video ITU-T Rec. H.264 | ISO/IEC 14496-10 / Amd.3 Scalable Video Coding," Joint Video Team (JVT) of ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6, JVT-X201, Switzerland, June-July 2007.
  11. A. Luthra, J.-R. Ohm, J. Ostermann, Requirements of the scalable enhancement of HEVC, 100th Meeting MPEG, document N12784, Geneva, Switzerland, May. 2012.
  12. High Efficiency Video Coding, Rec. ITU-T H.265(V2) and ISO/IEC 23008-2, Oct. 2014.
  13. https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-8.0/
  14. G. Tech, H. Liu, Y. W. Chen, 3D-HEVC Software Draft 3, 13th Meeting Joint Collaborative Team on 3D Video Coding Extension Development (JCT-3V), document JCT3V-M1012, Geneva, Switzerland, Oct. 2015.
  15. G. Bjontegaard, Calculation of Average PSNR Differences Between RDCurves, document VCEG-M33, ITU-T Q.6/SG16 VCEG, Apr. 2001.

Cited by

  1. Robust and Blind Watermarking for DIBR Using a Depth Variation Map vol.21, pp.6, 2016, https://doi.org/10.5909/JBE.2016.21.6.845